📝 Learning summary 19

추상화와 추상메서드

내가 이해하고 받아들였던 추상화란 '핵심의 요약'이었다.그래서 추상화를 이해하고 난 뒤 "강의를 정말 잘하는 사람은 추상화를 잘하는 사람이었구나"라는 생각을 하게 되었다.하지만 추상메서드를 보면서 난 또 고민에 빠진다.핵심을 잘 요약해 주는 강의를 보고 나면 이해가 쏙쏙 되는데.. "왜 추상메서드는 봐도 아무런 이해가 안 되는 거지?"추상화는 복잡한 시스템에서 중요한 부분을 강조하고, 불필요한 세부 사항을 숨김으로써, 개발자가 좀 더 쉽게 이해하고 관리할 수 있도록 하는 과정이라 한다. 이는 코드를 더 간결하고, 유지보수하기 쉽고, 재사용 가능하게 만든다. 예를 들어, 자동차를 추상화한다면, 자동차의 엔진, 변속기, 브레이크와 같은 핵심 기능에 초점을 맞추고, 각 부분의 복잡한 내부 메커니즘은 숨긴다.이..

Oracle sqldeveloper 해상도 조정

고해상도 모니터에서 SQL Developer를 열면 폰트가 너무 작게 나올 때 해결하는 방법입니다. 1. sqldeveloper.exe 파일의 '속성' 클릭2. 호환성 탭에서 맨 아래 '높은 DPI 설정 변경' 클릭3. 맨 아래 '높은 DPI 조정 동작을 재정의합니다' 체크, 조정한 사람: '시스템(고급)' 선택4. sql developer 재실행 sqldeveloer 안에서 폰트 조정하면 변경이 안되서 해결책을 기록해둡니다. 4k 모니터나 고해상도 노트북 사용중이시라면 위에 순서대로 설정 잡아주시면 창이 최적화 되어 출력됩니다. Good luck 👍

추상클래스와 객체 배열 생성

추상클래스는 객체를 생성할 수 없다는 조건이 있다. 미완성 설계도니까 인스턴스를 못만드는건 이해하겠지만, 그럼 배열도 객체인데 추상클래스로 어떻게 생성할 수 있는지 궁금해서 찾아보게 되었다. 즉, Java에서는 객체 배열의 생성을 해당 추상클래스의 인스턴스 생성으로 인식하는게 아니라, 추상 클래스 타입의 인스턴스를 저장할 수 있는 참조 변수 묶음을 생성하는 것으로 인식하기 때문에 가능하다. 추가로 추상클래스와 다형성에 대해서 가장 이해하기 쉬운 그림 하나 첨부한다.

인텔리제이, Maven방식으로 Spring 프로젝트 생성하기

IntelliJ에서 Add Framework Support가 안보여서 직접 스프링 프레임워크 설정 잡는법 기록해둔다. 우선 톰캣 경로는 아래처럼 잡아주면 된다. 그리고 WEB-INF 파일 하위에 스프링 형식에 맞게 파일 작성한다. 그 외에 Spring MVC라이브러리 추가가 안되니 pom.xml에 아래와 같은 코드로 의존성 추가해준다. 언급한 추가 코드 내용은 깃허브 참고한다. https://github.com/HaInseong/spring-jungsuk

git remote add

로컬 저장소와 원격 저장소를 연결하는 방법 git remote add origin 깃허브URL : origin이란 이름으로 깃허브 연결 git branch -M main: 로컬 master 브랜치명을 깃허브와 일치시키기 위해 main으로 변경 git push -u origin main: 원격저장소 origin으로 로컬 main브랜치를 push -u 옵션은 처음 푸시할 때 한 번만 사용하면 되는데, 이 옵션과 함께 푸시하면 추후 간단히 git push(git pull)명령으로만 origin의 main 브랜치로 푸시(또는 풀)할 수 있다. 실제 로컬, 원격 저장소 연결 repository 생성할 때 readme 생성 체크 해제하고 생성하면 나오는 깃허브 제공 안내서 복붙이 가장 정확

git reset

a.txt 파일에 A, B, C, D를 각각 한번씩 입력하며 add하고 commit을 네번 반복하여 네번째 버전을 만든다. 이 완성된 네 번째 버전을 가지고 reset --soft, --mixed, --hard를 그림으로 이해하기. # git reset --soft, --mixed, --hard 되돌아갈 커밋 1. git reset --soft head~1 = 세 번째 버전의 내용은 커밋 전의 상태로 돌아가지만 스테이지에는 D를 입력한 파일이 add되어남아있다. 2. git reset --mixed head~1 = soft와 마찬가지로 세 번째 버전의 내용은 커밋전으로 돌아가지만 D를 입력한 수정 내역까지는 남아있다. 스테이지에 추가한 사실까지만 되돌릴뿐. 3. git reset --hard head~1..