2020년 12월의 퇴사 회고
예전에 같이 일했던 선배 동료분이 나에게 얘기했던 말이 생각난다.
“XX씨, 겨울에 퇴사하면 춥고 배고파. 퇴사는 따뜻한 봄이 올때 하는거야”
그치만 나는 12월에 퇴사를 했다.
(이직을 의한 퇴사라 춥고 배고프진 않을 것 같아 다행이다.)
오늘 퇴사를 했기에 싱숭생숭한 마음을 가진채로 회고?를 작성해 보려한다.
오늘 퇴사한 이곳은 개발조직만 90명 이상 되고, 총 인원은 400명 정도 되는 유니콘 스타트업이다.
괜찮은 회사라고 생각한다.
그렇지만 떠나고 보니 아쉬움이 많이 남는다.
(회사에 대한 아쉬움… 보다는 개인적인 것.)
2년 넘도록 이곳에 있으면서 스스로 많이 성장하지 못했다는 생각이 든다.
어떤 부분에 …
Spring @Configuration 이 붙은 java config 클래스에서 일어나는
마법?!같은 일에 대해 정리해본다.
위 와 같은 코드가 있다.
clientService1() 메소드와 clientService2() 메소드 각각 내부에서
clientDao() 메소드를 호출하고 있다.
음.. 이러면 ? clientDao() 메소드 가 두번 호출되어 ClientDaoImpl 인스턴스가 두개 생성되는 것 아닌가? 라는 의문이 갑자기 든다. 이래도 되나?
걱정할 필요 없다.(심지어 @Configuration 이 지원되는 spring 3.0 부터다.)
스프링 문서에 아래와 같은 내용이 있다.
clientDao()
has been …
“오브젝트 : 코드로 이해하는 객체지향 설계” 을 읽기 시작한다.
[Rovert C. Martin : 클린 소프트웨어]
모든 소프트웨어는 세가지 목적이 있다.
1.실행중에 제대로 동작하는 것.
-모듈의 존재 이유.2.변경을 위해 존재하는 것.
- 요구사항은 변경되기 때문에 간단한 작업으로 변경이 가능해야한다.3.코드를 읽는 사람과 의사소통 하는 것.
-특별한 훈연없이도 쉽게 읽고 이해할 수 있어야 한다.
모든 제어를 theate …
mockito 는 mocking framework 이다
모의 객체(Mock Object)란 주로 객체 지향 프로그래밍으로 개발한 프로그램을 테스트 할 경우 테스트를 수행할 모듈과 연결되는 외부의 다른 서비스나 모듈들을 실제 사용하는 모듈을 사용하지 않고 실제의 모듈을 "흉내"내는 "가짜" 모듈을 작성하여 테스트의 효용성을 높이는데 사용하는 객체이다. 사용자 인터페이스(UI)나 데이터베이스 테스트 등과 같이 자동화된 테스트를 수행하기 어려운 때 널리 사용된다.- 위키백과
잘 설명되어있는 글이 많이 있다.
https://velog.io/@june0313/Mockito-Mock-%EB%A6%AC%EC%8A%A4% …
git 명령어로 원격저장소(origin)의 브랜치 존재여부를 체크하려한다.
적절해보이는 명령어를 찾아보았다.
git ls-remote
NAME
git-ls-remote - List references in a remote repositorySYNOPSIS
git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]
[-q | --quiet] [--exit-code] [--get-url] [--sort=<key>]
[--symref] [<repository> [<refs>…]]
DESCRIPTION
Displays references available in a remote repository along with the associated commit IDs.
원격 저장소에서 참조할수있는 것을 찾는다.
여러 옵션을 이용한 다양한 사용방법이 있는데.
— exit-code 옵션을 주어 브랜치 존재여부를 체크하는 배포스크립트를 작성해보았다.
원래의 다익스트라 알고리즘은 시간복잡도 O(V노드
²)를 가지지만.
최소값을 가지는 노드를 찾는 부분을 우선순위큐로 적용하면
O((E+V)logV) 가 된다.
또한, 피보나치 힙을 사용하는 경우 O(E+VlogV) 가 된다고 한다.
우선순위 큐를 사용하는 다익스트라 알고리즘을 java로 작성하였다.
위키피디아 의사코드기반으로 java 코드를 작성했다.
벨먼-포드 알고리즘은 모든 노드갯수만큼 모든 간선을 체크하기때문에
실행시간은 O(V노드E간선)이다.
간선은 최대 노드갯수만큼 있을 수 있기때문에 E=V² 이기에 O(V³) 이된다.
알아두기 위해 작성.
mybatis Mapper Interface + xml 로 사용하던 중
쿼리에 자동으로 Sql Id 가 주석으로 포함되도록 하는 마이바티스 플러그인을 작성했다.
기록용으로 남겨둔다.
엘디는 사랑입니다.