전체글621 이기는 팀 경험 아래 글은 오늘 팀 내부에 공유한 글입니다. 팀을 떠난 후에도 다시 볼 일이 있을것 같아 블로그에도 남깁니다. 오늘 추천 받은 영상인데, 그간 저희 인프랩 조직 내에서 계속 이야기하던 주제와 맞물려서 공유드립니다. (전) 구글 인사담당자셨던 황성현님의 인터뷰를 보면 다음과 같은 내용이 나옵니다. "엄청난 스트레스를 받는 펀드 매니저들 중 최고 경영층까지 갔던 사람들의 공통된 특징"을 보니 어렸을때부터 12학년 (고3) 까지 팀 스포츠를 했다는 것인데요. 그냥 만년 후보 선수로 벤치를 지키고 있더라도, Being part of a winning team - 이기는 팀의 맴버였던 경험이 있던 사람이 끝까지 살아남을 수 있는 비결이라는 것입니다. 즉, 내가 4번 타자였던게 중요한게 아니라 우리 팀이 1등한게 .. 2023. 11. 23. Qodana 무료로 시작해보기 (2023.11) JetBrains에서 SonarQube와 같은 정적 분석 도구를 출시했다. Qodana JetBrains 에서 출시하는 제품들은 일단 관심을 가지게 된다. IntelliJ, WebStorm, DataGrip 등을 몇년간 계속해서 사용하면서 충분히 만족감을 느꼈고 (불편함이 없진 않았지만), 최근에 출시한 Writerside도 VSCode를 대체한 마크다운 에디터로 잘 사용하고 있다. 그만큼 DX를 가장 신경쓰는 제품을 만드는 회사라는 확신이 있기 때문에 이번 Qodana 역시 기존의 Sonar 제품들을 잘 대체할 수 있을까 하는 기대감에 사용해보게 되었다. 그리고 기존에 잘 사용하던 SonarQube의 대체제를 고민하던 시점이기도 했다. Qodana는 SonarQube에 비해 어떤 장점이 있을까? 눈여겨.. 2023. 11. 23. [리팩토링] 코드 배치와 변수 줄이기 비즈니스 로직 위주로만 생각하고 바로 코드를 작성하다보면 코드가 길어지고, 가독성이 떨어지는 경우가 많다. 특히 가독성이 떨어지면 코드를 리팩토링할때도 이상한 방향으로 할 때가 있다. 이럴때 가독성을 높이기 위해 코드 배치와 변수를 줄이는 방법을 알아보자. 예제 ORM 없이 직접 SQL을 작성하는 환경에서 다음과 같이 코드를 작성했다고 가정하자. export class ProductRepository { async create (createDtos: ProductCreateDto[]) { const promiseList = []; const results: Product[] = []; // 반복문을 수행하면서 DTO를 Entity로 변환하고 SQL Promise를 쌓아둔다. for(const dto of.. 2023. 11. 12. [일기] Mild High Club - Homeage 퇴근 후에 깨끗하게 샤워하고 거실 불을 끄고, 테이블 전등만 켠 채로 적당히 늘어지는 음악도 들으면서 코드 작업이나 글 쓰는 시간을 좋아한다. 오늘은 유달리 날이 되게 추운데 바깥 야경이 또렷하게 보였다. 반짝반짝 빛나는 야경은 왜 이렇게 예쁜걸까. 언젠가 이 집을 떠나는 날이 오더라도, 매일 근사한 감동을 주었던 이 밤들을 잊지 못할것 같다. 오늘은 무슨 노래를 들을까 하면서 유튜브를 찾다가 우연히 배우 알렝 드롱의 리즈시절에 관한 쇼츠를 보게 되었다. 여기서 나온 노래가 너무 마음에 드는 것이다. 적당히 늘어지고, 뭔가 7080 같은 느낌도 들고 말이다. 그래서 좀 더 찾아보니 Mild High Club 의 Homeage 란 노래였다. 노래가 너무 몽환적이라서 무슨 가사일까 궁금했다. Someone .. 2023. 11. 8. 재능 있는 척 하지 않기 프로그래밍을 배우기 시작한 뒤 부터 노력하지 않는 척을 꽤 자주했다. 이를테면 주말에 사이드 프로젝트나 공부를 했어도 회사에서는 웹툰/영화를 봤던 이야기만 하는 것이다. 주변 사람들에게 저 주말에 공부했어요 라던가, 남는 시간에 사이드 프로젝트나 스터디를 했어요 등을 말하기 싫었다. 당시의 나는 개발을 못했기 때문이다. 노력을 해도 그 정도라면 내가 재능이 없다는 것을 의미하는데 그걸 인정하기 싫었다. 노력을 했음에도 못하는 즉, 재능 없는 사람이 될 바에는 차라리 노력을 안해서 못하는 사람이 되는게 낫다고 생각하게 되었다. 그럼 내가 개발 실력이 부족해도 그건 내 재능이 부족한게 아니라 내 노력이 부족한 것이 되니깐. 내가 선택한 이 분야에서 내가 재능이 없다는 것을 인정하기가 참 어려웠다. 그래서 뭘.. 2023. 11. 6. [PostgreSQL] 모든 View 의 접근 기록 테이블에 적재하기 (애플리케이션 변경 없이) View Table을 적극적으로 사용하는 시스템에서 View Table의 의존성을 줄이고자 할때가 있다. 이는 레거시 데이터베이스를 리팩토링 해야하는 경우인데, 보통 너무나 파편화된 데이터베이스 접근을 하나로 통합하고자 할때이다. 보통 ORM을 사용하는 경우에는 이러한 리팩토링이 쉽지만, ORM을 사용하지 않는 경우에는 어떻게 해야할까? 가장 먼저 해야할 것은 View가 계속 사용되고 있는지, 리팩토링에서 누락은 없었는지를 확인할 수 있는 방법을 마련하는 것이다. 특정 테이블의 변경이 있을때마다 어떠한 액션을 넣을 수 있는 가장 흔한 방법은 Trigger 이다. 하지만 아쉽게도 PostgreSQL에서는 View Table의 Select 쿼리에 대한 Trigger가 적용되진 않는다. 그래서 다른 방법을 고.. 2023. 11. 5. 이전 1 ··· 7 8 9 10 11 12 13 ··· 104 다음