본문 바로가기

분류 전체보기545

첫 배포 후기... 서비스 회사에서 처음으로 배포를 했다.. 사실 별것도 아닌 배포이지만 나는 너무 떨렸다.. 내가 수정한 코드로 인해 우리 회사 서비스에, 우리 회사가 모으는 데이터가 바뀌는 것이이다. 라고 혼자만의 부담감을 가지고 있었다.. CI/CD 툴인 젠킨스를 써서 배포를 한다. 그리고 dev/stag/prd 환경이 있다. 그래서 테스트를 해보고 잘 된다 싶으면 이제 서비스단에 적용을 하는 것이다. 이렇게보니 정말 간단하고 부담감이 없어보인다... 하지만 배포를 하면서 가장 많이 든 생각은 후..제발 성공해라...(간절)이였다. 그리고 깨달은게 2가지 있다 "테스트"의 중요성 로컬에서 테스트, staging에서 테스트, pro에서 테스트 정말 무한 테스트 궤도에 빠졌다. 그리고 어랏 분명 로컬에서 테스트 해봣을땐 .. 2022. 3. 22.
[클린코드] 4장. 주석 노마드코더 '클린코드' 북클럽 (노개북) 앞으로 3주간 완독하는게 목표! 과연..! 이 책을 읽고 코드 리팩토링하는 스킬을 UP하면서 나만의 코드 스타일이 생겼으면 좋겠다. 책에서 기억하고 싶은 내용을 써보세요. 프로그래밍 언어 자체가 표현력이 풍부하다면 주석은 거의 필요하지 않다. 결국 코드로 의도를 표현하지 못해서 주석을 사용하는 것이다. 주석은 오래될수록 코드에서 멀어진다. 주석이 언제나 코드를 따라가지 못한다. 그래서 주석이 필요없는 방향으로 에너지를 쏟아라. 부정확한 주석은 아예 없는 주석보다 훨씬 더 나쁘다. 주석은 나쁜코드를 보완하지 못한다. 표현력이 풍부하고 깔끔하며 주석이 거의 없는 코드가 복잡하고 어수선하며 주석이 많이 달린 코드보다 훨씬 좋다. 주석 대신 코드로 의도를 표현하라 좋은주.. 2022. 3. 17.
[클린코드] 3장.함수 :: 함수작성 리팩토링 팁!!! 노마드코더 '클린코드' 북클럽 (노개북) 앞으로 3주간 완독하는게 목표! 과연..! 이 책을 읽고 코드 리팩토링하는 스킬을 UP하면서 나만의 코드 스타일이 생겼으면 좋겠다. 책에서 기억하고 싶은 내용을 써보세요. 어떤 프로그램이든 가장 기본적인 단위가 함수이다. 어떻게 하면 함수를 잘 만드는가? 작게 만들어라! 80년대에는 함수가 한 화면을 넘어가면 안된다고 말했다. 작은 함수가 좋다고 확신한다. 그렇다면 얼마나 짧아야 좋을까? 블록과 들여쓰기, if문/else문/while문에 들어가는 블록은 '한줄'이여야한다. 대부분 여기에서 함수를 호출하도록 작게만들어라. 그러면 바깥을 감싸는 함수가 작아지고, 함수명을 적절히 짓는다면 이해하기도 쉽다. 그래서 함수를 읽고 이해하기 쉬울려면 들여씌기 수준은 1단이나 .. 2022. 3. 8.
[클린코드] 2장. 의미 있는 이름 노마드코더 '클린코드' 북클럽 (노개북) 앞으로 3주간 완독하는게 목표! 과연..! 이 책을 읽고 코드 리팩토링하는 스킬을 UP하면서 나만의 코드 스타일이 생겼으면 좋겠다. 2장에서는 이름을 잘 짓는 간단한 규칙을 소개한다. 개인적으로 네이밍에도 골치아파하는 나에게 큰 도움이 될것 같은 부분이다. 책에서 기억하고 싶은 내용을 써보세요. 의도를 분명하게 밝혀라 의도가 분명한 이름이 정말 중요하다! 주석이 필요하다면 의도를 분명히 드러내지 못했다는 것이다. 변수 혹은 함수나 클래스의 존재이유는? 수행기능은? 사용방법은? 이에 대한 답을 모두 할 수 있는게 이름! 그릇된 정보를 피하라 나름대로 널리 쓰이는 의미가 있는 단어를 함부로 축약하거나 다른의미로 사용해선 안된다. 유사한 개념은 유사한표기법을 사용한다... 2022. 3. 2.
[클린코드] 1장. 깨끗한코드 노마드코더 '클린코드' 북클럽 앞으로 3주간 완독하는게 목표! 과연..! 이 책을 읽고 코드 리팩토링하는 스킬을 UP하면서 나만의 코드 스타일이 생겼으면 좋겠다. 책에서 기억하고 싶은 내용을 써보세요. 코드는 요구사항을 정확히 표현하는 수단 기계가 실행할 정도로 상셍하게 요구사항을 명시하는 작업이 프로그래밍, 이렇게 명시한 결과가 코드다. 회사가 망한 원인은 바로 나쁜 코드 탓이었다. 나쁜 코드를 헤쳐나가는건 엉킨 덩굴과 숨겨진 함정으로 가득한 늪지대를 힘겹게 해쳐나가는것. 급해서?서두르느라? 제대로 짤 시간이 없다고 생각해서 쓰레기 코드를 짠다. 하지만 대충 짠 프로그램이 돌아간다는 사실에 안도감을 느끼며 안돌아가는 것보다 돌아가는 쓰레기가 좋다고 안도한다. 다시 돌아와 나중에 정리하겠다고 다짐하지만 .. 2022. 3. 2.
노마드 개발자 북클럽 신청! 노개북 클린코드(Clean Code) 개발자 필독서로도 유명해서 원래 항상 읽어봐야지~읽어봐야지 했던 책이다. 내일 3월부터 새출발한다는 마음으로 도서관에서 갑자기 책을 빌려왔다. 두둥! 그런데 생각보다 책 두께가 상당했고, 나는 뒷심이 부족하기에 벌써부터 끝까지 못읽을것 같은 느낌이 들었다. 그래서 찾아보다가 마침 유명한 노마드 코더님이 운영하시는 커뮤니티를 발견했고, 거기에서 지금 한창 클린코드 책으로 북클럽을 운영하고 있는걸 발견했다!! 노마드 코더 챌린지 그래서 바로 냅다 챌린지 신청해버림.. >> https://nomadcoders.co/challenges 노개북 클린코드 클린보드 북클럽 안내 보기 >> https://nomadcoders.co/clean-code 언제부터 시작일을 보는지는 모르겠지만, 3주완성이라고 스케쥴이 짜져있.. 2022. 2. 28.
자바와 코를린에서 Annotation(어노테이션) 정리 자바, 코틀린으로 개발을 하다가 @ 표시를 많이 봤는데, 어떤 의미인지 몰라서 정리해보는 글이다. Annotation(어노테이션)이란? 사전적인 의미로 '주석'이라는 뜻으로, 자바와 코틀린에서 사용한다. 자바에서 어노테이션은 코드사이에서 주석처럼 쓰이면서 특별한 기능을 수행하도록 하는 기술이라고 볼 수 있다. 또한 kotiln docs에서는 메타데이터를 코드에 비침추적으로 추가할 수 있는 수단이라고 설명했다. 즉, 프로그램에게 추가적인 정보를 제공해주는 메타데이터라고 볼 수 있다. 어노테이션은 멤버변수, 함수,클래스 등 다양한 곳에 있을 수 있다. 문법체크, 코드자동생성, 기능실행 등 다양한 기능을 가진 어노테이션이 존재할 뿐만 아니라 커스텀 어노테이션도 만들어서 사용할 수 있다. 기본제공 Annotat.. 2022. 2. 10.
[Webflux]💙Mono와 Flux > Reactor > Reactive Streams 이해 이제 진짜 webflux 코드를 보면 낯설은 구문?문법?들이 너무 많다. 그냥 느낌적으로만 이해하고, 정확하게 어떤의미인진 몰라서 mono랑 flux 간단한 튜토리얼처럼 구현해보려고 했다. 그런데 어쩌다 Reactor를 알게 되고, 그 근본인 Reactive Streams까지 올라가버렸다.. 근데 이런 흐름으로 이해하고 공부하는건 좋은거 같다.힘들지만 이런 흐름으로 이해하면 mono와 flux를 더 쉽게 이해할 수 있겟지ㅣ.. Webflux Webflux로 구현한다고 하면, Mono와 Flux를 알아야한다. 대부분의 메소들이 Mono와 Flux로 반환하기 때문이다. 이 Mono와 Flux는 Reactor 라이브러리의 주요객체이다. 그리고 Reactor 라이브러리는 Reactive Streams의 구현체로.. 2022. 2. 8.
[Spring][MVC] RedisTemplate으로 Spring과 Redis와 연동하기 2022.02.06 - Mac M1에서 가능한 Redis GUI Client 프로그램 : Medis2 2022.02.07 - [Redis] 레디스와 캐시 그리고 데이터구조 이번엔 spring에서 redis를 어떻게 연동하는지 알아 볼 것이다. 안그래도 내가 궁금했던 패키지(?)들이다. data.redis.core.ReactiveStringRedisTemplate data.redis.core.RedisOperations data.redis.core.RedisTemplate data.redis.core.SessionCallback 그리고 일단 mvc에서 어떻게 쓰는지 간단하게 보고, 나의 메인은 webflux에서 비동기적으로 Redis를 어떻게 연결하는지 볼 것이다. 2022.02.05 - ⚽️MVC와 We.. 2022. 2. 8.
[Redis] 레디스와 캐시 그리고 데이터구조 이번에 회사에서 프로젝트를 맡으면서 redis를 접할기회가 생겼다. 근데 익숙하지 않은 데이터베이스라서 한번 정리해보려고 한다. 그리고 시작하기 전에 레디스를 살펴볼 gui툴로 medis도 설치했다. 2022.02.06 - Mac M1에서 가능한 Redis GUI Client 프로그램 : Medis2 지금까지 레디스를 단순히 캐쉬용으로 쓰이는 데이터베이스라고만 알고 있었다. 이번기회에 캐쉬용이 어떤건지, 그래서 레디스가 어떤 특징이 있는지 자세히 알아보려고 한다. Cache 나중에 요청할 결과를 미리 저장해둔 후 빠르게 서비스해주는 것 즉, 미리 결과를 저장하고 나중에 요청이 오면 그 요청에 대해서 DB 또는 API를 참조하지 않고 캐시에 접근해서 요청을 처리하는 것. 예를 들어, 캐쉬는 아래와 같은 f.. 2022. 2. 7.