전체 글 85

필드, 변수, static, final

왜 필드로 선언해야하는지, 왜 변수로 선언해야하는지 논리적인 이유를 잘 따져서 코드를 작성해야 한다. 또한 if문, try~catch문 등의 블럭 안에서 변수를 선언해야할지, 밖에서 해야할지 등의 이유도 잘 생각해야 한다. 항상 필드나 변수를 선언할 때는 큰 범위가 아닌 작은 범위의 키워드부터 사용하는 습관을 가져야 한다. 필드 : 여러 메소드에서 공유할 일이 있을 때만 필드로 선언하기 변수 : 한 메소드에서만 참조한다면 메소드 변수로 선언하기(메소드가 끝나도 값을 계속 유지해야할 메소드 변수가 있다면?) static : 클래스당 1개가 필요해서 객체들이 공유를 할 때 사용할 키워드 final : 선언을 하고 더이상 값을 변경하면 안될 뿐더러 변경할 기회도 주면 안될 때 사용할 키워드

개발 지식 2020.11.14

Java의 synchronized 키워드에 대한 고찰

메소드의 변수들로 사용해도 될 것들을 생각없이 전부 클래스단 필드로 사용하는 습관이 있었다. 따라서 하나의 객체가 생성되고 필드값들은 공유가 되기에 메소드에서 계속 동기화 문제가 생겼었다. 그래서 해결한 방법이 메소드에 synchronized 키워드를 사용하였는데 이 또한 문제를 문제로 덮어버리는 꼴이 되었다. 왜냐하면 synchronized 키워드를 쓰게 된다면 멀티 요청이 들어오는 환경에서 순차적으로 일을 처리하기에 크기가 큰 요청이 들어오면 다른 요청들은 그 요청이 끝날 때까지 기다리는 등 속도의 문제가 생기기 때문이다. 따라서 synchronized 키워드는 최대한 안쓰는 것이 좋다.

개발 지식 2020.11.14

git reset

git reset은 이전 commit으로 돌아가는 것이고 해당 commit 이후의 이력은 사라지는 명령어이다. . : 현재 버전으로 되돌리기(add 무효화) [커밋번호] : 특정 버전으로 되돌리고 이후 커밋 이력 삭제, 파일 내용은 유지 --hard [커밋번호] : 파일 내용까지 되돌림 --soft [커밋번호] : 파일 내용은 그대로 유지하면서 staging area에 올림(add 상태) -merge ORIG_HEAD : 바로 이전 병합 취소 참고 : https://victorydntmd.tistory.com/79

Git 2020.11.14

git diff

git diff를 사용하면 수정된 라인과 수정한 라인을 비교할 수 있다.(color 옵션 키기) git diff --color-words : 수정된 사항을 라인이 아닌 단어로 볼 수 있다. git diff --word-diff : --color-words와 비슷한 포맷으로 출력되지만 지워지고 추가된 단어를 좀 더 명시적으로 표시해준다. git difftool 설정 git config --global diff.tool vimdiff git config --global difftool.prompt false :qa 모든 창 닫고 vi 종료 참고 https://blog.outsider.ne.kr/1011 git diff 에서 변경된 부분을 더 명확하게 보는 방법 :: Outsider's Dev Story `g..

Git 2020.11.14

docker container 한글 설정

도커에서는 한글 입력이 되지 않는다. locale 명령어로 확인 > locale locale 설정 변경 apt-get update apt-get install locales export LANGUAGE=ko_KR.UTF-8 export LANG=ko_KR.UTF-8 locale-gen ko_KR ko_KR.UTF-8 update-locale LANG=ko_KR.UTF-8 dpkg-reconfigure locales 하지만 도커 프로세스를 나가면 다시 POSIX 설정으로 초기화된다. Dockerfile을 만들어 이미지를 빌드할 때 설정값을 줘야할 것 같다.

Docker 2020.10.24

윈도우 환경에서 도커 사용시 vi 에디터 사용 방법

docker container의 해당 bash 실행시 독자적인 실행환경이니까 vim 등과 같은 명령어를 사용하기 위해서는 또 다운로드를 해주어야 한다. docker exec -it [container_id] bash apt-get update apt-get upgrade apt-get install vim 하지만 윈도우 도커를 사용하기 위해 wsl 또한 사용 중에 있으므로 wsl로 모드를 전환한 뒤 vi 에디터를 바로 사용할 수도있다.

Docker 2020.10.24

명령어 자동화 함수 만들기

1. .bash_profile //해당 파일을 수정해야한다. 2. cd or cd ~ //git bash 홈 디렉토리로 이동을 한다. 3. vi .bash_profile //vi 에디터를 실행한다. 4. 해당 함수들을 작성한다. gitpush() { git add . git commit -m "$*" git push origin develop } alias gp=gitpush gitfast() { git checkout main git pull origin main git checkout develop git merge main } alias gf=gitfast 5. source .bash_profile //시스템 환경변수를 등록한다. 6. gitpush "커밋 메세지" //해당 형식으로 사용이 가능하다.

Git 2020.10.12