2023-05-11

  • 프로시저를 사용할 일이 있었다. 주석에 해당 프로시저의 용도나 이런 설명은 잘 되어있어서 대충 감으로 쓸 수는 있을 것 같은데, 제대로 알고 쓰고 싶다. 공부 목록+1
  • 퇴근길에 기 다 빨려서 스터디 하지 말고 쉬고 싶다는 생각이 들었는데, 그냥 했다. 하고 나니까 안 빠지길 잘 한 것 같다. 그래 그냥 이렇게 해야 할 일이 있으면 하고, 쉬어도 될 때 쉬고 그러지 뭐
    몸이 아직 회사 다니는 스케줄에 적응을 못해서 매일 칼퇴하고 오는데도 지친다. 운동 계속하면서 체력 좀 키우자

2023-05-10

  • 어제 좀 헤매던 일을 오늘 다시 해서 끝냈다. DAO 구현체가 대체 어딨나 찾아다녔는데 알고 보니까 XML 방식으로 매핑되어 있는 거였다. 이런 거 너무 오랜만에 봤다.. 어쨌든 데이터가 어디로 들어와서 어디로 흘러가는지 이제 알게 됐다. 앞으로 비슷한 업무를 받게 되면 쿼리 분석하는 게 너무 어렵지만 않은 경우라면 금방금방 해낼 수 있을 것 같다..!

2023-05-09

  • 아키텍처 변경을 위한 AWS POC 회의에 참여했다. 현재 우리 아키텍처에 어떤 문제가 있는지, 그리고 이를 어떤 방법으로 개선이 가능한지에 대한 전문가분들의 의견을 들을 수 있었다. 그동안 이것저것 주워들어놓은 것들이 있어서 회의 내용이 어느 정도 이해가 되긴 했는데, 다음 회의 때 더 많은 것들을 이해할 수 있도록 생소했던 용어나 개념들을 알아놔야겠다.
  • 앞으로 진행될 신규 프로젝트에 대한 설명을 들었다. NestJS로 진행될 예정이라 예전에 과제했던 거 다시 보면서 감을 다시 익혀놔야겠다.
  • 특정 데이터가 보여야 하는데 보이지 않아서 이걸 수정하는 걸 했다. 레거시 프로젝트에 대한 파악이 아직 완벽하게 되지 않아서, 어느 파일의 어느 부분을 수정해야 하는지 알아내기 위해 하나하나 디버깅해보느라 시간이 좀 걸렸다. 지금 다시 보면 데이터가 제대로 조회되지 않고 있다는 뜻이니까 당연히 쿼리 부분을 먼저 봤어야 했는데..라는 생각이 든다. 이런 불필요한 시간 낭비를 좀 줄여봐야겠다.
  • OJT를 통해 우리 도메인에 대한 설명을 들었다. 예전부터 도메인에 대한 충분한 이해를 가지고 있어야 개발도 잘할 수 있다고 생각해왔기 때문에 이런 부분에 대한 교육이 있어서 좋았다. 커머스에서 사용되는 용어들도 딱 들었을 때 뭔지 대충은 알 수 있게 알아두자

2023-05-08

  • 오늘은 새로운 쿼리 짜면서 중복 제거를 위해 DISTINCT를 썼다가 GROUP BY를 사용해도 같은 결과를 낼 수 있지 않을까 싶어서 써봤는데, 문법이 틀렸다는 에러가 계속 나서 다시 되돌렸다. 둘 다 중복 제거에 쓸 수 있는 걸로 알고 있었는데 역시 제대로 알지 못하는 상태에서 쓰려고 하면 무조건 에러가 나더라.. 이것도 공부하자
  • 쿼리 짤 때 처음부터 막 여러 테이블을 조인하려고 하면 너무 헷갈리는데, 이럴 때 큰 문제 작게 쪼개기가 많은 도움이 되는 것 같다.
  • 코드 건드리는 업무들도 이제 하나씩 하고 있다. 무작정 코드부터 보지 말고 주어진 요구사항 먼저 제대로 파악하는 거 명심하기

2023-05-07

  • 저번에 인라인 뷰 때문에 좀 헤맸던 기억이 있어서 RealMySQL SELECT 절의 처리 순서 부분을 읽었다. 각 절의 처리 순서를 잘 알아놔야 복잡한 쿼리를 봐도 당황하지 않을 것 같다.

2023-05-04

  • 팀원분들과 함께 AWS Summit Seoul에 다녀왔다. 오전 세션부터 듣기 시작해서 총 5개의 세션을 들었고, 중간에 부스 구경도 했다. 그동안 EC2, RDS, S3, Cloud Front, Elastic Load Balancing, Lambda 정도만 알고 사용해 봤는데, 이번 컨퍼런스를 통해 AWS가 제공하는 다양한 기술들과 실제 사용 사례, 잘 활용하는 방법에 대해 알게 되었다. 어떤 세션은 들으면서 이런 걸 쓰면 비효율적이라고 생각되는 것들을 개선할 수 있을 것 같은데?라는 생각이 들기도 했다. 세션 내용들을 전부 이해하지는 못했지만, 이것저것 주워들었다는 데에 의의를 뒀다.
    가장 중요한 건 좋다고 들은 기술이나 문화를 무작정 도입하기보다는, 우리 조직의 현재 상황을 우선적으로 파악한 후 적합한 기술을 적절하게 도입하는 것
  • 사람 많은 데에서 너무 오래 있었더니 진이 다 빠졌다.. 그래도 스터디까지 했다! 오늘 진짜 열심히 살았다 이제 푹 쉬자

2023-05-03

  • 어제 환경 세팅 중 발생했던 nginx 관련 에러를 처리했다. DataGrip이랑 터널링 세팅까지 해서 진짜로 환경 세팅을 끝냈다! nginx의 포트 포워딩에 대해 알아놔야겠다.
  • 거의 다 끝난 업무를 이어받아 마무리를 한번 해보라고 할당해 주셔서 쿼리 짜는 걸 해봤다. 초반에는 테이블명이나 컬럼명을 이해하는 데에서부터 막혀버려서 열심히 삽질만 했다. 그러던 중 DataGrip에서 테이블이나 컬럼 위에 커서 갖다 대면 설명이 나온다는 걸 알려주셔서, 그제서야 각 테이블과 컬럼들이 뭘 의미하는지 알 수 있었다. 이후에는 내가 새로운 쿼리를 짜기보다는 주어진 쿼리들이 어떤 데이터를 어떻게 가공해서 쓰고 있는지를 이해해 보려고 했다. 하지만 그동안 JPA로 뚝딱하거나 끽해봤자 테이블 두세 개 정도 조인하는 것밖에 안 해본 내가 100줄이 넘어가는 라인 수와 처음 보는 문법들, 조인에 조인에 조인이 이뤄지는 이 복잡한 쿼리문을 이해하기에는 너무 어려웠고.. 결국 팀원분들께 도움을 요청했다.
    그동안 진짜 sql 겉핥기만 하고 있었다는 생각도 들면서, 한편으로는 이런 경험을 할 수 있다는 점에서 오히려 좋다는 생각이 들었다. sql 공부하자.. 그리고 연휴 동안 오늘 실패한 거 다시 시도해 봐야겠다.
  • 어제 딱히 이유 없이 밤을 새 버렸는데 이제는 회사 다니니까 진짜 컨디션 조절 잘 해야 된다. 잘하자

2023-05-02

  • 저번 주 금요일에 테크 서버 접속 스크립트 설정 중 키파일 관련 작은 에러가 났었는데 에러문이 뭔가 익숙했다. 보니까 내가 예전에 이 에러에 대한 해결 방법을 정리해놨더라. 그래서 만약 새로운 팀원분이 오셨을 때 같은 에러가 발생할 수도 있을 것 같아서, 신규 입사자용 세팅 문서에 해당 부분을 추가했다. 이렇게 다시 볼 일이 생기는 걸 보니 사소한 거라도 다 남겨놔야겠다는 생각이 들었다.
  • 오늘은 환경설정을 마저 끝내고, Jira랑 Confluence를 살펴보면서 업무가 어떻게 이루어지는지 대략적으로 익히는 연습을 했다. 코드보다는 업무 돌아가는 거 먼저 파악하고 사용하는 용어들 이해하기
  • 다른 팀원분께 할당된 업무 하나를 옆에서 보면서 배웠다. 집에 와서 설명해 주셨던 내용을 떠올리면서 문서를 쭉 읽어봤는데, 지금 보니까 또 헷갈리는 게 몇 개 생겼다. 내일 다시 여쭤보자..

2023-04-07

  • 어제 들었던 도커 강의 내용 정리를 다시 보는데, 예전 프로젝트에서 CICD 파일의 deploy 부분에 도커 CLI 명령어들을 하나하나 다 써줬던 것을 docker compose 파일을 실행하는 것으로 바꿀 수 있지 않을까 하는 생각이 들었다. 내일 해봐야지

2023-03-24

  • 오늘 면접 전에 나름대로 질문할 것들을 준비하긴 했는데, 면접을 보고 난 후에 좀 아쉬움이 남은 것 같다. 회사에 대한 정보를 최대한 많이 얻어 갈 수 있도록 질문거리들을 많이 준비하는 게 좋겠다.

2023-03-23

  • EC2 인스턴스 퍼블릭 주소로 접근 불가능하던 것 때문에 윤석님께 도움을 요청했는데, 알고보니 엄청 간단한 문제였다. 8080 포트를 열어주니 바로 해결됐다. 바보같이 80포트 열려있는데 왜 안되지? 이러고 있었던 거였다..이런 실수는 하지 말자..
  • 파이브라인스 스터디 시간에 git log -S 명령어로 특정 내용이 포함돼있는 커밋을 검색할 수 있다는 것을 배웠다. 당장 올리지 않을 코드들을 모아두고 나중에 검색해서 사용하는 식으로 유용하게 써먹을 수 있을 것 같다.

2023-03-22

  • 과제 2개 끝내고 잠깐 숨 좀 돌릴까 했는데, 채용 과제가 또 생겼다. 그래도 자신 없는 코테보다는 과제가 좀 더 재밌어서 할만한 것 같다. 이번 과제는 AWS 서버 구축까지 요구하고 있어서, 서버 구축을 먼저 했다. 예전에 코드숨 프로젝트 배포하면서 써놨던걸 참고해서 했는데, 똑같이 했는데도 EC2 퍼블릭 주소로 접속이 잘 안됐다. 원인을 찾으려고 배포 과정을 처음부터 다시 하기를 몇 번을 반복했지만 결과는 같았다. 자고 일어나서 정신 멀쩡할 때 다시 차근차근 살펴봐야 할 것 같다.

2023-03-17

  • 어제 채용 과제를 하나 받았고, 오늘도 과제를 하나 새로 받았다. 2개가 겹친 상황인데, 계획을 잘 세워서 두 과제 모두 잘 해낼 수 있도록 해야겠다.

2023-03-16

  • 코테.. 항상 혼자 연습하려고 문제 풀 때보다 실전에서 훨씬 못하는 것 같다. 문제 파악이 끝나면 이게 어떤 유형인지 바로 파악이 될 정도로 연습해야 할 것 같다.

2023-03-15

  • 프리온보딩 세션 3 강의를 들었다. 오늘은 레이어드 아키텍처를 개선해 보고 여기서 생길 수 있는 문제점에 대해 배웠다. 최근에 했던 클린 아키텍처 스터디에서 다뤘던 내용들이 나와서 강의에 대한 이해가 좀 더 잘 되었던 것 같다. 오늘 채용 과제를 하나 받았는데, 배운 내용들을 과제에 적용해 봐야겠다.

2023-03-14

  • 공부방에서 카카오 문제 3개를 모의고사처럼 다 같이 풀어봤다. 열심히 시도해 봤지만 3 문제 중 하나도 못 풀었다.. 여기서 더 고민해 봤자 시간 낭비일 것 같아서 택배 배달과 수거하기 문제의 해설을 봤다. 그냥 뭔가 배열 문제인 것 같아서 계속 배열로 푸는 방법만 생각해 봤는데, 해설에서는 스택으로 풀더라. 지금 되돌아보니까 안 풀리고 있는 상황에서 계속 거기에만 매몰되어 환기 시킬 타이밍을 놓친 것 같다. 문제를 집중해서 풀고 있을 때에는 그 타이밍을 캐치하는 게 참 어려운 것 같다. 코테 풀 때 일정 시간 이상 안 풀리면 의식적으로 쉬어주고 새로운 방법을 모색해 보자.
  • SQL 문제도 연습을 좀 해야 할 것 같다..

2023-03-11

  • 프리온보딩 세션 2 강의를 들었다. 오늘은 레이어드 아키텍처에 대해 알아봤는데, 그동안 내가 쓰던 아키텍처 패턴이 레이어드 아키텍처라는 것을 알게 되었다. DB에 의존하는 설계는 OOP를 저해하므로 주의해야 하고, 레이어드 아키텍처 사용 시 컨트롤러에서 레포지토리를 직접 호출하는 등 쉬운 길을 선택하다가 레이어 간 경계가 사라지게 되는 것에 주의하며 사용해야 한다고 하셨다. 그리고 'SOLID와 테스트 적용을 통해 레이어드 아키텍처를 어떻게 개선할 수 있는가'에 대해 다뤄주셨는데, 나도 프로젝트를 할 때 이런 부분에 대해 고민했어서 흥미롭게 들었다. ArchUnit이라는 것도 있다는 것을 잠깐 짚고 넘어가셨는데, 아키텍처를 테스트할 수 있다는 게 신기했다. 한번 써보고 싶다.
  • 프로그래머스 크레인 인형뽑기 게임 문제를 풀었다. 이게 그림도 있고 인형 뽑기 과정을 길게 설명해놔서 언뜻 보기에는 좀 복잡해 보였는데, 필요한 정보만 빼놓고 보니 엄청 간단한 문제였다. 실전에서 문제 길이에 압도된 적이 종종 있는데, 당황하지 말고 필요한 정보만 딱 추려내자.

2023-03-10

  • 3번 이상 시도해봤지만 못풀었었던 키패드 누르기 문제를 풀었다. 오늘도 거리 구하는 식 구하는 데에서 막혀서 다른 사람의 풀이를 참고했다. 풀고 보니 그렇게 헤맬만한 문제는 아니었던 것 같아서, 내 힘으로 풀지 못한게 좀 아쉽다. 나중에 다시 풀어봐야겠다.
  • 어제 트랜잭션 공부하다가 격리 수준에 대해서도 무지하다는 걸 깨달아서, 오늘은 DDIA 책과 Real MySQL 책에서 격리 수준 부분을 읽어봤다.

2023-03-09

  • 프로그래머스 실패율 문제를 풀었다. 작년 6월쯤 공부방에서 다같이 풀었다가 나는 풀지 못한 채 놔뒀던 문제로 기억하는데, 오늘은 2뽀모 내에 풀어냈다. 카카오 문제이긴 해도 1단계니까 좀만 더 빨리 풀었으면 좋았을 것 같다.
  • DDIA 책 7장을 참고하면서 트랜잭션에 대해 다시 정리를 해봤다. 어떤 경우라도 '격리성'이 항상 보장되는 것인지 의문이 생겨서 ChatGPT한테 물어봤고, 답변에서 '격리 수준'이라는 키워드를 얻었다. 저번 SQL 스터디에서도 다뤘던 것 같은데 기억이 가물가물하다. 격리 수준에 대해 다시 공부해야겠다.
  • 파이브 라인스 오브 코드 스터디를 했다. 리팩토링 실습 때 이걸 왜 이렇게 리팩토링하는 것인지 같이 이야기하면서 하니까 혼자 책에 있는 코드를 읽을 때보다 이해가 더 잘 됐다.
    리팩토링할 때 유의할 점은 코드가 깨지지 않게 하는 것. 그래서 조심스럽게 해야 한다.
    if문을 쓸 때 진리표를 그려서 모든 경우의 수를 따져봐야 한다.

2023-03-08

  • 예전에 사놨던 인프런 토프링 강의를 들었다. 스프링 부트를 이해하게 되면 무엇을 할 수 있게 되는지 말씀해 주셨는데, 그중에서 현재 내가 할 수 있는 것은 없었다. 스프링 부트를 쓸 줄은 알아도 이에 대한 이해는 없었던 것이다.
    아무것도 없는 디렉토리에서 groovy 파일로 컨트롤러를 만든 후 해당 파일을 실행시키니까 바로 스프링 부트 앱이 구동되는 게 좀 신기했다. 항상 Spring initializr로 생성된 프로젝트 위에서 개발을 시작했어서, 이렇게 간단하게도 스프링 부트 앱을 만들 수 있다는 것을 알게 됐다.
    그동안 오로지 한 가지 방법으로만 스프링 부트를 사용해왔다는 것을 느꼈고, 이제는 단순히 '기능 구현이 가능하다'에서 그치지 않고 이걸 좀 더 '잘' 사용하고 싶어졌다. 공부하자..
  • 이력서를 업데이트 해봤다. 저번에 신윤용 이사님께 이력서 피드백을 받은 적이 있는데, 이력서가 너무 길다고 말씀해 주셨다. 그래서 주절주절 써놨던 것들을 소제목과 함께 간략하게 정리해 봤다. 이력서는 길수록 좋다고 생각했었는데, 읽는 사람 입장을 생각해 보니 너무 길면 읽기 싫어질 것 같기도 하고.. 잘 모르겠다. 이렇게도 해보고 저렇게도 해보는 수밖에 없는 것 같다.
  • 프리온보딩 강의 시작 전에 시간이 좀 남아서 프로그래머스 1단계 문제를 하나 풀었다. 앞으로는 코테 준비도 좀 전략적으로 해야 할 것 같은데, 남아있는 1단계 문제들 중에서는 카카오 문제들만 골라서 풀고 2~3단계 위주로 좀 풀어야겠다.
  • 프리온보딩 세션 1 강의를 들었다. 도메인, SW 아키텍처에 대해 알아보는 시간이었다. 최근에 했던 채용 과제에서 도메인을 어떻게 나눌지, 각 도메인이 무슨 일을 하게 해야 하는지에 대해 고민했었기에, 강사님께서 도메인의 중요성에 대해 말씀하실 때 크게 공감이 됐다.
    그리고 아키텍처의 종류가 내가 아는 것보다 훨씬 많다는 것을 알게 됐고, 각 아키텍처의 장단점을 파악하고 있으면 나중에 어떤 문제가 주어졌을 때 적절한 선택을 할 수 있을 것 같다는 생각이 들었다. 강사님께서 아키텍처 공부할 때 Layered 아키텍처부터 시작해 보라고 하셔서 Layered 아키텍처에 대해 공부해 봐야겠다.

2023-03-07

  • 지난주 면접 이후 내가 부족한 부분이 무엇인지 정리를 좀 해봤다. 키워드로 뽑아보자면 트랜잭션, 인덱스, git, 맵, 시간 복잡도, GitHub Actions, Java / Javascript / Typescript, Docker, ORM.. 관련 질문들에 대해 나름대로 대답을 하긴 했으나 어느 하나 자신 있게 대답한 것은 없었다. 그리고 무엇보다도 협업 경험에 대한 스토리텔링을 너무 못했다. 부족한 부분들은 다시 공부하고, 협업 경험을 되돌아보며 어떤 사건들이 있었고 어떻게 해결했는지 적어본 후 소리 내어 읽어보는 연습을 해야겠다.
  • 원티드 프리온보딩 백엔드 챌린지 사전 과제를 했다. 사전 과제 후 소프트웨어 아키텍처에 대해 지금 기억나는 게 거의 없다는 걸 깨달았고, 예전 전공 책을 뒤져서 소프트웨어 아키텍처 부분을 다시 훑어봤다. 이렇게 무지한 부분을 발견할 때마다 필요한 공부를 하는 것도 좋은 방법인 것 같다. 처음부터 완벽하게 공부하려고 하지 말자. 조금씩 쌓아가자.
  • 객체지향의 사실과 오해 스터디는 끝난지 오랜데, 블로그에 1장 정리 이후로 멈춰버려서 2장 정리를 추가했다. 정리를 하기 위해 책 내용도 다시 한번 슥 봤는데, 세 번째 읽는 것이다 보니 이제는 딱히 막히는 부분 없이 이해가 잘 되는 것 같았다. 까먹을 때쯤 정리한 내용을 다시 읽으면서 완전히 익혔는지 확인해 봐야지.
  • 운동을 오랫동안 안 하다 보니 평소 기분의 기본값이 점점 낮아지고 있는 것 같아서, 슬슬 러닝을 다시 시작해 보려고 한다. 오늘은 바로 달리기를 시작하지는 않았고, 1시간 반 정도 걷고 왔다. 가장 자존감이 떨어지는 이 시기를 현명하게 이겨낼 수 있으면 좋겠다.