본문 바로가기
반응형

전체글253

'객체지향의 사실과 오해'를 읽고 1년 전... 선배: 객체지향이 뭔지 설명해줄 수 있어? Gray: 클래스로 만들어서 객체를 만들고 ... 객체지향이 무엇인지 모르고 개발을 하고 있었음 객체지향은 무엇일까? 1. 실세계를 모방하는 것이 아닌 새로운 세계를 창조하는 것 많은 책을 보면 객체지향은 실세계를 모방하는 것이라고 말한다. 객체는 현실 객체의 부분적인 특징을 모방하는 것이 아니라 현실 객체가 가지지 못한 추가적인 능력을 보유할 수 있다. 현실에서 트럼프 카드는 스스로 뒤집기, 말하기, 걷기를 할 수 없지만, 객체지향 세계에서는 이 모든 것이 가능하다. 2. 역할과 책임 여러 사람이 동일한 역할을 수행할 수 있다. 각자의 맡은 역할만 수행하면 누가 무엇을 실행했는지는 상관없다. 자동차는 자동차의 역할만 하면 되지 어떤 자동차인지는 .. 2021. 11. 29.
'클린 코드'를 읽고 읽기 전 클린 코드에 대한 생각 내 코드는 과연 어떤가? 좋은 코드란 무엇인가? 이 책을 보면 좋은 코드를 짤 수 있을까? 지키고 싶은 규칙&개념 1. 함수는 한 가지를 해야 한다 안녕하세요 박준형입니다. 한 가지의 기준은 어디까지일까? 많이 사용하는 if-else문, switch문을 사용할 때, 함수는 한 가지 일을 하지 않는다. SRP 위반 OCP 위반 enum type 또는 다형성을 사용해 구현 가능 기존 코드 함수가 값을 변환해주는 일뿐만 아니라 어느 타입인지 확인 한 가지 이상의 일 변경된 코드 EnumType을 사용하여 메소드가 변환하는 일만 할 수 있도록 변경 2. 서술적인 이름을 사용하라 변수명, 메소드명, 클래스명을 정하는 것에 있어서 많은 고민을 하게 된다. 나름대로 생각하고 정하게 됐.. 2021. 11. 27.
Elastic APM 구성하기 Elastic APM은 무료 개방형 애플리케이션 성능 모니터링 프로그램입니다. 애플리케이션이 정확히 어디에서 시간을 사용하는지 파악하여 신속하게 문제를 수정하고 성능을 개선해 나갈 수 있습니다. 저는 제가 현재 진행하고 있는 jagoga 프로젝트에 Elastic APM을 설치해보았습니다. Spring Boot의 웹 서버를 Elasticsearch, Kibana를 이용해서 APM 연결해보겠습니다. 1. docker-compose 구성하기 https://www.elastic.co/kr/downloads/apm#ga-release Elastic 공식 사이트를 보게 되면 친절하게 순서가 나와 있습니다. Elasticsearch, Kibana를 설치하기 위해서 링크를 들어가 보겠습니다. Elasticsearch를.. 2021. 10. 4.
.gitignore가 작동하지 않을 때 해결 방법 1. 문제 상황 commit을 해야하는데 .gitignore가 제대로 작동되지 않아서 애를 먹은 적이 여러 번 있습니다. 분명 .gitignore에 ignore할 디렉터리, 파일을 작성하였는데 changes에 올라와 있는 경우가 있습니다. 2. 해결 방법 git의 캐시가 문제의 원인이기 때문에 git chache를 전부 삭제 후 커밋하면 됩니다. git rm -r --cached . git add . git commit -m "cache removed"위 명령을 입력하였으나 캐시가 지워지지 않고 -f 옵션을 요구하는 경우가 있습니다. 이럴 땐 -f 옵션을 사용하시고 모든 파일을 add 해주시면 됩니다. git rm -r -f --cached . git add .참고 stackoverflow 2021. 10. 3.
Intellij에서 POJO를 JSON으로 변환하기 개발을 할 때, POJO를 JSON으로 변환해야 하는 상황들이 있습니다. 처음에는 POJO를 직접 JSON으로 매핑하는 노가다를 하였으나, 찾아보니 역시 게으른 개발자들이 이를 편하게 만들어주는 플러그인을 개발해두었습니다. 1. 설치 방법 Intellij에서 Preferences -> Plugins -> "POJO to Json" 을 선택합니다. "pojo to json"을 선택하면 2가지가 존재하는데, 둘 다 사용해본 결과 아래 소문자로 되어 있는 것이 좀 더 편하였습니다. 2. 사용 방법 2-1. 변환할 POJO 화면에서 오른쪽 키를 누릅니다. 2-2. "POJO To Json Random Values"를 선택하여 JSON 데이터를 복사합니다. ("POJO To Json" 을 선택하여도 무관합니다. .. 2021. 10. 2.
탈잉 - 월간 코드리뷰 ver_0.1 : 커리어 성장 CODE (2021.10.01) 월간 코드리뷰 ver_0.1 : 커리어 성장 CODE 페이스북을 보던 도중에 페이스북 그룹인 "얼또 - Early 또라이 - 일찍 일어나는 또라이가 세상을 바꾼다" 그룹장이신 박미정님이 발표를 하신다는 글을 보았습니다. 개발 공부를 하면서 세미나 같은 것에 참석해본 적이 없는데, 취업을 하고 개발자로서 성장을 갈망하는 저에게 좋은 주제들이 많이 있어서 탈잉을 통해 신청하게 되었습니다. Session 01 | 성장하는 개발자의 '공유의 기술' (박미정_레이철) 1. 공부 새로운 것 학습하기 < 기존의 것 더 잘 이해하기 공부해서 일정과 품질을 함께 가져가며 업무를 잘해나가는 것 1-1. 그럼 어떻게 할까? 계획된 프로젝트 내에서 공부할 것 찾기 업무 계획을 세울 때, 공부 계획도 함께 수립 .. 2021. 10. 2.
반응형