전체 글(408)
-
(TIL) 20220812
🏴Facts(한 것) & Findings(배운 것) 오늘 회사에서 있는 프로젝트를 진행하면서 드디어 적절한 탐색 알고리즘을 찾아냈다. 그리고 오늘 오후 쯤부터 구현에 들어가 검색 기능은 거의 완성이 된 상태이다. 100% TDD로 구현하고 있는데, 초기 개발 속도는 조금 느릴지 몰라도 더 객체지향적으로 설계할 수 있고, 문제를 바로바로 해결할 수 있다는 점이 다시 한 번 또 좋았다. TDD라고는 하지만 BDD 스타일로 코딩을 진행하고 있기 때문에 좀 더 직관적인 코드 해석이 가능할 것 같다. 🏴Affirmation(자기선언) 🏴여담 mikekang47 - Overview BE Developer TDD lover. mikekang47 has 48 repositories avail..
2022.08.13 -
(Spring) Transactional 사용법
Transactional. 이 어노테이션을 왜 붙이는 지 모른다면, 트랜잭션에 대한 이해도가 부족한 것일 수 있다. Transaction에 대한 이해가 필요하다면 아래 문서를 참고해보자. (Database) 트랜잭션(ACID)과 무결성 구글에 트랙잭션을 검색하면 가장 많이 나오는 말이 있다. "DB의 상태를 변화시키기 수행하는 단위" 그런데 이것 만으로는 트랜잭션에 관해 전혀 감이 오지 않는다. (나만 그런가?) 나는 이 문장 mirrorofcode.tistory.com 그럼 트랜잭션에 대해서 안다고 가정하고 시작하겠다! @Transactional 스프링에서는 트랜잭션 처리를 간편하게 어노테이션으로 처리할 수 있다. 아래 코드를 보자. @Service @Transactional(readOnly = tru..
2022.08.10 -
(TIL) 20220809/ 함수형 코딩
🏴Facts(한 것) & Findings(배운 것) 함수형 코딩 6~8장을 한번에 읽었다. 6장은 copy-on-write에 대한 내용으로 이루어져 있다. 간단하게 설명하자면 데이터를 쓰기보다는 일기를 해서 처리하자는게 주된 내용이다. 코드로 보면 class Main { private String[] shopping_cart = []; public void add_shopping_cart(String[] items) { for(String s: items) { shopping_cart.add(s); } } } 위 코드를 class Main { private String[] shopping_cart = []; public String[] add_shopping_cart(String[] items)..
2022.08.10 -
(Spring) Why Maven? Why Gradle?
Spring Initializer를 사용하거나, Intellij를 사용하면 처음 Spring Project를 만들 때, 두 가지 빌드 방법을 볼 수 있다. Maven과 Gradle 둘 다 사용해보신 분들도 있을 것이고, 하나만 사용해 보신 분들도 있으리라 생각된다. 이번 글은 둘 중 하나만 사용해보신 분들을 위해서 작성되었다. 🧐What is Maven? Maven은 아파치 재단에서 만들어진 오픈소스 툴로, 프로젝트 매니징 툴이다. Project Obejct Model(POM)을 기반으로 하고 있으며, 프로젝트 빌드, 리포트, 도큐먼트 작업까지 관리할 수 있다. Maven을 사용해보신 분들은 알겠지만, POM.xml을 기반으로 프로젝트를 빌드한다. Maven이 추구하는 목표는 다음과 같다. 빌드 프로세스..
2022.08.07 -
(Git) 유구한 역사를 가진(?) 컨벤셔널 커밋
개발자들이라면 git commit 명령어를 날려보지 않은 사람은 없을 것이다. git commit 명령어를 입력하고나면 나오는 창은 바로 커밋 메시지 입력 창이다. 이때마다 우리는 어떻게 작성해야하는지, Feat이라는 단어는 왜 쓰는 것이며, 어떨 때 fix를 사용하는지 등 뭔가 관습적이지만 출처 불분명한 규칙들로 커밋을 작성하곤 한다.(나만 그런가?) 그래서 도대체 이 커밋 문장은 어떻게 작성하는 것인지, 그 기준은 뭔지에 대해서 찾아보던 중 Conventional Commits 규칙을 알게 되었고, 소개하려 한다. (이미 나 빼고 다 아는 거 같지만) 🧐 Conventional Commits (컨벤셔널 데드리프트 아님, 하지만 같은 컨벤은 맞음) 컨벤셔널 커밋은 일종의 조약, 약속에 가깝다. 컨벤셔널..
2022.07.28 -
(TIL) 20220728/ 함수형 프로그래밍 스터디
🏴Facts(한 것) & Findings(배운 것) 오늘은 코드숨에서 책으로 스터디를 진행했다. 오랜만에 코드숨 스터디에 참여했고, 많은 인원이 참여했다. 이번 책은 특히나 읽으면서 재밌어서 더 좋았다. 얼마전에 클린 아키텍처를 읽으면서 함수형 프로그래밍에 대해서 언급이 있어서 궁금했는데, 이를 생각하면서 읽으니 더 도움이 된 것 같다. 특히 책을 읽으면서 바로 질문을 만들면서 읽으니 더욱 좋았다. 나는 이런 질문들을 만들어 봤다. 함수형 프로그래밍의 정의는 순수 함수 만을 사용하는 것이 정의인데, 실제 함수형 프로그래머는 왜 부수 효과와 순수하지 않은 함수를 사용하는가? 부수 효과는 정해진 함수의 일 외에 일어나는 것을 말하는 것인가? 함수형 프로그래밍의 장점은 무엇인가? 액션과 계산을 구분해..
2022.07.28