목록분류 전체보기 (364)
잡동사니
안녕하세요. yeTi입니다. 오늘은 1년간 MSA 적용기 에 이어서 MSA 를 하는 이유에 대한 생각을 공유해보고자 합니다. MSA의 시작 저는 2018년 AI플랫폼 이라는 것을 만들기 위한 연구소에 입사를 하게 됐고 이 때부터 제안서에 써져있는 MSA 라는 개념을 적용하기 위해 시작했습니다. MSA 는 어떻게 하는거지? 다짜고짜 MSA 를 하려니 뭐하나 명확한것이 없었습니다. 왜 MSA를 해야되는지부터 단위 서비스의 규모는 어느 정도 여야하는지, 나누는 기준은 무엇인지, 팀의 규모는 어느 정도여야 하는지, 우리 팀의 규모는 3명인데 개발은 어떻게 해야하는지, ... 스스로 정확히 정의를 하지 못하니 대외적으로 명확한 확신에 의한 설명이 불가능 했습니다. MSA 왜 해요? 개발활동의 목적은 저비용(돈, ..
안녕하세요. yeTi입니다. 오늘은 XP 를 읽으면서 느낀 익스트림 의 의미로 회의에 임하는 자세 를 개선한 후기를 공유하고자 합니다. 만족스럽지 못한 회의 이전엔 회의에 참석할 때 개별 자료를 찾아보기 위해서 노트북을 들고 참석했습니다. 간혹 회의에 관련된 자료를 사전에 공유받지 못한 경우 회의 주제를 파악 하다가 회의가 종료되는 경우가 있는데요. 이럴 때는 무의미한 시간을 허비했다는 생각에 기분이 좋지 못한 경우가 있습니다. 익스트림의 가치 문득 눈에 들어온 브런치의 제목이 있었습니다. 나만 잘하면 전체가 나아지는 XP 그리고 이어진 XP의 가치 내가 통제할 수 없는 것은 받아들이고 통제할 수 있는 것으로 익스트림 두 문장을 보고 문득 스스로 익스트림하게 행동하고 있나? 라는 생각이 들었습니다. 뒤이..
안녕하세요. yeTi입니다. 오늘은 설계하는 시각을 바꾸게된 경험을 공유하려고 합니다. 지난 날 지난 시간동안 저에게 설계를 한다는 것은 매우 어려운 일 중 하나였습니다. 폭포수 모델기반 설계 폭포수 모델기반 프로젝트를 진행할 때 UML 을 활용하여 산출물 이라는 것들을 만들곤 했는데요. UML 을 어떻게 활용해야 유의미한 설계가 되는지는 이해하지 못했습니다. 왜냐하면 설계문서 작성 배정을 받은 다음 검토라는 단계가 없이 승인 및 구현에 들어가 피드백을 받을 수 없었습니다. 또한 구현시에 설계의 부족한 부분이 확인되더라도 설계문서의 수정없이 개발 효율만을 생각하며 개발을 하는 환경이었고, 프로젝트 마지막에 산출물 현행화라는 방식으로 설계문서를 현행화하는 시간을 가졌습니다. 설계는 산출물을 위한 것인가 그..
안녕하세요. yeTi입니다. 오늘은 XP 를 읽고 느낀점들을 공유해보려고 합니다. 계기 XP(eXtreme Programming) 를 처음 접한건 2009년 대학생 시절 소프트웨어 공학 강의를 들으며 잠결에 본 XP 라는 구문이었습니다. 이후 안영회 대표님의 브런치 의 XP 넘어서기 연재를 보며 개발과는 연관성이 없는 행동들이 개발을 잘 되게 해준다는 것을 느끼고 회사에 도서 신청을 하여 읽어보게 됐습니다. 아기 발걸음 XP에서 제시하는 작은 실천이 변화의 시작이라는 의미에 아기 발걸음 을 먼저 실행해본 후에 책을 읽게 됐는데요. 처음에 미심쩍었던 소통, 함께 앉기, 나부터 잘하기 와 같은 것들을 해보며, 원활하지 않았던 파트내 정보의 교류가 시간이 지날수록 원활해진다는 것을 체감했습니다. 개발 프로세스..
안녕하세요. yeTi입니다. 오늘은 백기선님의 인프런 강좌 중 하나인 이펙티브 자바 완벽 공략 1부 의 완주 후기를 공유하려고 합니다. 강의 수강 계기 앞서 백기선님의 이팩티브 자바 완주 후기 를 공유 했는데요. 유튜브 버전 강의는 맛보기 버전인데 그 동안 당연하게 사용하던 코드들의 시발점부터 장단점까지 알아가는 과정이 즐거웠어서 정식으로 인프런 강의를 보게 됐습니다. 배운점 객체 생성의 시점을 관리하고 유연하게 할 수 있는 방법 생성자는 다양한 매개변수 타입을 지원하려면 많은 수의 생성자를 만들어 둬야한다는 단점과 본인의 객체 타입만 반환할 수 있다는 제한이 있습니다. 이를 좀더 유연하게 대응하게 하기 위해 static 메소드를 활용하여 객체 생성을 할 수 있는데요. 이를 정적 팩토리 메소드라고 합니다..
안녕하세요. yeTi 입니다. 오늘은 현업에서 사용하고 있는 협업툴을 잘 활용하여 업무를 유기적으로 할 수 있는 방법을 공유하고자 합니다. 기본 약속 업무중에 하는 대부분의 활동은 이슈안에 존재한다. 업무적인 내용은 누구나 볼 수 있어야 하고 참여할 수 있어야 한다. 슬랙 (Slack) 슬랙을 사용해야하는 이유는 주제에 유연한 참여와 가지치기식 논의, 임시 저장, 리마인더 입니다. 기업용 메신저나 카톡을 생각하고 슬랙을 접하면 평범하기 그지없는 그저그런 메신저일 뿐입니다. 하지만 시각을 바꿔서 보면 다른 강점이 존재합니다. 의사결정을 빠르게 진행하고 유연하게 공유할 수 있습니다. 논의 주제에 필요한 누구든 즉시 해당 주제에 참여시킬 수 있고 참고인을 언제든 참조시킬 수 있어 의사결정을 빠르고 넓게 할 수..
안녕하세요. yeTi입니다. 오늘은 막연한 스킬 UP 활동을 구체화 시켜보려고 합니다. 계기 최근에 프로그래머스에서 주관하는 2022 Dev-Matching: 웹 백엔드 개발자(상반기)-2 에 참여했습니다. 처음에는 가벼운 마음으로 시작했는데 막상 결과를 받고보니 부족한 실력에 씁쓸한 마음을 감출 수는 없더군요.ㅜ 사내 개발 커뮤니티를 만들고 싶어 소소한 활동을 시작했는데요. 한달동안 진행한 #1일1콭 챌린지가 실력 향상에는 많은 도움을 주지 못한다는 느낌도 받아서 개선방안을 내야할거 같습니다. 회고 이력 10년차 개발자의 넋두리 좋은 시니어가 되자 좋은 문화를 가진 팀을 만들자 좋은 컨텐츠를 생산하자 10년차 개발자의 커리어 회고 좋은 기업에 꾸준히 지원해보자 목표 설정 구글 입사 하드 스킬 UP, 소..
안녕하세요. yeTi입니다. 오늘은 JPA를 사용하면서 자주 사용하는 Fetch Join 의 특성에 대해 알아보고자 합니다. 공부 계기 공부가 부족한 탓에 엔티티의 @OneToOne 관계 설정 후 fetch join 으로 조인 대상을 필터링 하려는 시도를 했습니다..ㅜ 하지만 원하는 결과가 나오지 않아 원인을 찾기 위해 구글링을 하게 되었고 인프런에 계신 김영한님의 답변들을 보면서 궁금증을 해소하게 됐습니다. JPA 강의도 정주행을 해야하지만 현재 보고 있는 이펙티브 자바 완벽 공략 1부 를 완강 후 보도록 해야겠습니다. 원인 JPA 표준 스펙에는 fetch join 대상에 별칭이 없지만, 하이버네이트는 허용합니다. 즉, fetch join 대상에 별칭을 사용은 할 수 있지만 DB 일관성 문제들이 발생할..
안녕하세요. yeTi입니다. 오늘은 백기선님의 디자인 패턴 강의를 본 후기를 기록하려고 합니다. 수강 계기 디자인 패턴은 주기적으로 공부를 시도하는 영역인대도 불구하고 끝을 보기가 쉽지 않은거 같습니다. 같은 이유로 시도할 때가 되서 본게 아닌가 싶습니다. 싱글톤 패턴 싱글톤 패턴은 프로그램내에 유일한 인스턴스를 가지게하고 싶을 때 사용할 수 있는 패턴입니다. 구현 방법으로 간단하게 syncronozed 키워드를 사용하는 방법과 클래스 로드시점에 인스턴스를 생성하는 eager initialized 방법 인스턴스를 생성하는 시점에 syncronozed 를 활용하는 double checked locking 방법 static 키워드의 단일 인스턴스의 특성을 활용하는 static inner class 방법이 있..
이동욱님의 회고를 보고 깨달음 저는 이동욱님을 2017년에 기억보단 기록을 (tistory.com)로 알게되어 개발자로써 방향성을 잡고 나아가는데 많은 도움을 받고 있습니다. 하지만 근래에 인프런으로 이직을 하시면서 블로그를 통해서 공감을 받을만한게 적어져 방문이 뜸했던 요즘이었는데.. 2021년 CTO 회고 (tistory.com)를 읽고 여러모로 아직 따라가기엔 멀었다는것을 새삼 느끼게 되었습니다. (기술적으로 커뮤니케이션적으로 인성적으로 ...) 개발자의 회고를 보고 깨달음 그 중 빠삐코님의 2021년 회고 (이동욱님의 팀원) 에서 아래 인용문을 읽고 공감이 됐습니다. 향로가 오셨을 당시 나는 프로젝트에 나를 너무 투영시켰다. 보편적인 기술 스택에 대한 설명이 현재 기술 스택에 대한 비난같았고, 새..