Etc. 6

빠른 기능 오픈 vs 견고한 프로덕트 - feat. 일단 출시.. 코드 품질은 집착인가?

최근에 이직을 하고 업무를 하면서 가장 큰 고민이 있다. 코드 리뷰할 때 특히 고민되는 부분이다.개발을 하면서 아래의 선택 중 어떤 것을 선택할 지에 대한 문제이다.우선 기능이 돌아가게만 만들어서 빠르게 오픈하고 점진적으로 개선한다.초기에 프로젝트 설계나 테스트 코드 등에 자원을 할당한다.현재까지의 나의 업무로 보면은 2번을 선택해왔다.철저한 테스트와 코드 아키텍처가 추후 유지보수 작업 공수를 줄이고, 견고하고 유연한 서비스가 회사와 서비스에 대한 이미지나 사용자 경험을 증대시킨다고 생각했기 때문이다.요즘 핫하다는 회사나 일을 잘한다는 팀은 1번을 선호하는 것 같기도 하다. 실제로 충분히 합리적이라고 생각한다.사업 vs 서비스사업 담당자의 추구기능 추가기능 변경할인, 프로모션 등서비스 운영자의 추구리팩토..

Etc./개발 일기 2024.05.19

첫 회사에서의 2년 회고 및 이직

최근 이직을 하게 되어서 나름의 생각 정리와 궁금해하실 분들을 위해 공유하는 목적으로 글을 쓰게 되었다. 2년의 업무를 하며 회사 2년 동안 많은 업무를 했다. 너무 다양한 업무를 해서 어디서부터 적어야 할 지 모르겠다.. (정말 많다.) 그래서 그냥 가장 잘한 것과 가장 못한 것을 기록하기로 했다. 가장 잘한 것 업무나 프로젝트와 해결한 문제 중 소개하고 싶은 것들이 많이 있다. 그렇지만 내가 가장 크게 기여한 부분은 좋은 영향이라고 생각한다. 영향력은 크게 두 가지로 나눌 수 있었다. 1. 문화적 영향력 팀원 분들께서도 내가 기술 블로그를 꾸준히 작성하고, 업무 외 시간에 공부하는 것을 너무 잘 알고 있다. 출근도 1시간 30분 ~ 2시간 정도 일찍 와서 학습했다. 유연 근무제이지만 2년 동안 9-6..

Etc./개발 일기 2024.01.03

Spring 공식 문서 정독 후 몰랐던 것 정리!

최근에 Spring 기술을 정확하게 모른다는 생각이 들었다. 그래서 Spring에 대해 더 자세히 알고 사용하고 싶고 더 깊은 레벨로 문제를 해결하고 싶어서 공식 문서를 정독하기로 했다. 아래는 Spring 공식 문서를 정독하여 얻은 지식을 기록한 것이다. 공유보다는 기록이 목적이라 가독성이 매우 좋지 않다. 새롭게 알게 되었거나 리마인드할 필요가 있는 것 정리 빈은 정적 팩토리 메서드로도 생성할 수 있다. 빈은 2개 이상의 이름을 가질 수 있다. @Bean 애노테이션을 사용할 경우 name 옵션을 ,로 연결하면 된다. 지연 초기화를 사용하면 특수한 경우 성능을 Safe 할 수 있다. (DI도 지연이 가능하다.) final class는 프록시를 생성할 수 없다. (final method가 있어서도 안된다..

Etc./개발 일기 2023.12.02

잘못된 학습 하지않기! (feat. UncheckedException)

자바에서 CheckedException과 UncheckedException의 차이를 아는가? 구글에 CheckedException의 UncheckedException의 차이에 대해서 검색해봤다. 상위 7~8개 정도의 블로그 모두 동일한 표가 있었다. 여기서 의아한 점이 UncheckedException은 예외가 발생 시 트랜잭션이 롤백된다는 것이다. 나는 이 부분이 잘못된 학습의 폐해라고 말하고 싶다. 트랜잭션 UncheckedException이 발생하면 트랜잭션이 롤백된다고 한다. 트랜잭션은 MessageQueue 트랜잭션도 있고 DB 트랜잭션도 있고 다른 의미의 트랜잭션도 있을 수 있다. 그래서 트랜잭션을 롤백한다는 것은 말이 안된다. 데이터베이스 트랜잭션 만약 데이터베이스 트랜잭션이라고 가정했을 때..

Etc./개발 일기 2023.09.15

백기선님 공개 코드 리뷰 받기! with 300명 22/09/17 (Package Structure, Test Code, DDD, ...)

최근에 백기선님이 유튜브에서 공개 코드 리뷰를 시작하셨다. 리뷰 내용을 보고 영감을 얻은 부분이 있었고, 부족한 부분을 알고 싶다는 생각에 용기를 내 신청했다! 코드 리뷰 영상은 아래 링크에서 확인할 수 있다. (백기선 유튜브 - 멤버십 회원 전용 영상) https://www.youtube.com/watch?v=w3QKOHSIZig 내가 리뷰 받을 코드는 초기 상태의 코드라서 설명이 부족해서 미리 양해를 구했다. 백기선님: 아 물론이죠! 아직 완성 안된 프로젝트도 리뷰 가능합니다! 그래서 신청했다. 리뷰 시작 리뷰를 할 때 실시간 접속자는 300분 정도 계셨다! 백기선님: 코드 리뷰를 어디로 중점적으로 보면 좋을까요?! 본인: 음 프로젝트 초기 단계라서 패키지 구조나 테스트 코드 위주로 봐주시면 감사하겠..

Etc./개발 일기 2022.09.26

PyInstaller로 만든 exe를 py로 디컴파일 ! [ python 3.8 ]

디컴파일을 해야할 일이 생겼는데, 구글링으로 찾은 결과는 전부 uncompyle6을 이용해서 pyc에서 소스를 뽑아내고 있었습니다. 저는 그 방법으로는 도저히 해결되지 않아서 관련 이슈를 찾아보다가 아래와 같은 설명문을 발견했습니다. python 3.7 이상 버전에서는 Uncompyle6은 많은 문제가 발생하고, decompile3을 권장한다는 내용이었습니다. 사용법이 크게 다르진 않지만, decompile3을 다루는 포스팅이 거의 없어서 도움이 되고자 올렸습니다. $ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py. $ python get-pip.py. 먼저 pip를 설치해야합니다. 이때 정상적이라면 설치하는 내용이 길게 출력될 것입니다. 만약 그냥 ..