회고

상반기 회고

mint* 2024. 9. 3. 16:30
728x90

3월~8월

졸업 후 6개월이 지났다. 생각보다 너무 시간이 빨리 가서 놀랐다.

어느 정도 성장했을까? 도전을 주저한 부분은 어떤 것일까? 생각해 보자.

 

스터디 회고

- 여러 스터디에 참여했다. 

초록 스터디 (nextstep) (5~6월)

계산기 미션

- https://github.com/next-step/java-calculator-unit-playground/pull/6

 

[계산기 - 1, 2단계] 초간단 계산기 구현 및 테스트 작성 by Starlight258 · Pull Request #6 · next-step/java-ca

안녕하세요 진영님! 1단계 초간단 계산기를 IntegerCalculator 클래스에 구현하였습니다. 2단계 초간단 계산기 테스트를 IntegerCalculatorTest 클래스에 구현했습니다. 초간단 계산기인데 미션 목적에 맞

github.com

자동차 경주 미션

- https://github.com/next-step/java-racingcar-simple-playground/pull/28

 

[자동차 경주 - 1, 2, 3단계] 자동차 게임 by Starlight258 · Pull Request #28 · next-step/java-racingcar-simple-play

안녕하세요 진영님 ! 자동차 경주 1,2,3단계 미션을 완료했습니다 😁 궁금한 점 댓글에 작성했습니다! 미션 구현 상황 1단계 : 움직이는 자동차 0-9 사이의 랜덤값에 따라 움직이는 자동차 클래스

github.com

- https://github.com/next-step/java-racingcar-simple-playground/pull/33

 

[자동차 경주 - 4단계] 리팩토링 by Starlight258 · Pull Request #33 · next-step/java-racingcar-simple-playground

안녕하세요 진영님 ! 자동차 경주 4단계 미션을 완료했습니다 😁 궁금한 점 도메인 생성시 입력값 검증 책임: 도메인(Model) vs Controller 입력값에 대한 검증은 controller에서 수행하고, 도메인은 검

github.com

 

로또 미션

- https://github.com/next-step/java-lotto-clean-playground/pull/10

 

[로또 - 1단계] 로또 자동 구매 by Starlight258 · Pull Request #10 · next-step/java-lotto-clean-playground

안녕하세요 진영님 ! 로또 1단계 미션을 완료했습니다 😁 궁금한 점 댓글에 남겼습니다! ✅ 구현된 코드에 대한 설명은 README.md에서 보실 수 있습니다 ! 리뷰 부탁드립니다 !! 감사합니다~ 🙇‍

github.com

 

- https://github.com/next-step/java-lotto-clean-playground/pull/24

 

[로또 미션] 김명지 미션 제출합니다. by Starlight258 · Pull Request #24 · next-step/java-lotto-clean-playground

안녕하세요 진영님 ! 로또 2단계 미션을 완료했습니다 😁 궁금한 점 댓글에 남겼습니다! ✅ 구현된 코드에 대한 설명은 README.md에서 보실 수 있습니다 ! 리뷰 부탁드립니다 !! 감사합니다~ 🙇‍

github.com

- https://github.com/next-step/java-lotto-clean-playground/pull/29

 

[로또 미션] 김명지 미션 제출합니다. by Starlight258 · Pull Request #29 · next-step/java-lotto-clean-playground

안녕하세요 진영님 ! 로또 3단계 미션을 완료했습니다 😁 궁금한 점 댓글에 남겼습니다! ✅ 구현된 코드에 대한 설명은 README.md에서 보실 수 있습니다 ! 리뷰 부탁드립니다 !! 감사합니다~ 🙇‍

github.com

 

미션을 진행하면서 java를 이용해 요구사항을 만족하며 좋은 코드에 대해 생각해 보는 계기가 되었다.

스터디 자료도 좋았고, 감사하게도 현업 개발자분이 리뷰해 주셔서 정말 많은 것을 배웠다. 

미션이 끝나고 나서 세미나도 갔었는데, 열정 있는 분들의 발표를 들을 수 있어서 감사했다.

 

네트워크 스터디 (7월 ~)

- https://github.com/Starlight258/Network-Study

 

GitHub - Starlight258/Network-Study: 컴퓨터 네트워킹 하향식 접근과 강의를 기반으로 네트워크에 대한

컴퓨터 네트워킹 하향식 접근과 강의를 기반으로 네트워크에 대한 개념을 학습하는 스터디. Contribute to Starlight258/Network-Study development by creating an account on GitHub.

github.com

전공책(컴퓨터 네트워킹 하향식 접근)을 기반으로 네트워크를 공부하는 스터디에 참여하고 있다.

내 생각엔 네트워크는 CS 중 가장 역사가 길고 깊이 있는 학문이라고 생각한다.

그래서 CS 책으로는 이해가 안 간 부분이 전공책을 읽으면서 다시 깨닫는 중이다.

정말 잘 쓰인 책이라 한번 정독하면 틀림없이 도움이 될 것이다.

 

effective java 스터디 (7월 ~)

- https://github.com/Starlight258/effective-java

 

GitHub - Starlight258/effective-java: Effective Java 3/E 스터디

Effective Java 3/E 스터디. Contribute to Starlight258/effective-java development by creating an account on GitHub.

github.com

next step 미션을 진행하면서 좋은 코드에 대해 다시금 생각해 보게 되었다.

이전에는 가독성이 좋은 코드가 좋은 코드다라고만 생각했는데, 좋은 코드는 설계와도 맞닿아 있는 부분이 있구나라는 생각을 코드 리뷰를 받으며 깨닫게 되었다.

 

effective java 책은 java에 능통하고 실력 있는 개발자분들이 best practice를 엮어 놓은 책이다.

그래서 읽으면서 java 문법과 달리 java를 어떻게 잘 사용할 수 있을까?라는 고민에 대한 해결책들을 배우고 있다.

책 내용이 어렵지만 시야를 넓힐 수 있으니 보는 것을 추천한다.

(위 레포지토리에 자세한 예시들을 함께 작성해 두었으니 참고해 보셔도 좋을 것 같아요)

 

 

JPA 스터디 (7월 ~)

- https://github.com/Dijkstra-Employ/jpa-study

 

GitHub - Dijkstra-Employ/jpa-study: 자바 ORM 표준 JPA 프로그래밍(김영한) 책 스터디

자바 ORM 표준 JPA 프로그래밍(김영한) 책 스터디. Contribute to Dijkstra-Employ/jpa-study development by creating an account on GitHub.

github.com

개발자라면 끼고 살아야 하는 자바 ORM 표준 JPA 프로그래밍(김영한) 책을 매일 읽고 공유하는 스터디이다.

jpa에 대해 겉핥기식으로 알기도 했고 작년 후반에 인턴 할 때 jpa에 대한 지식이 없어서 고달팠었다. (복합키..)

그래서 스터디원과 함께 책을 읽기 시작했는데, 내가 사용하는 jpa가 정말 적은 부분이었다는 것을 알게 되었다.

지금 2 회독을 하고 있는데, 프로젝트에서 jpa 사용 시 놓친 부분(nullable, optional, querydsl, lock..)을 깨달으면서 스터디를 하기 정말 잘했다는 생각을 매일 하고 있다.

 

데이터베이스 면접 스터디(3~4월)

- https://shout-to-my-mae.tistory.com/421

 

데이터베이스 면접 스터디 회고

기간, 신청 방법 2024 3월 한 달 동안 진행되었다. 스터디는 친구를 통해 알게 되었고 캠퍼스픽의 스터디 공고로 주로 알게 되는 것 같다. 운영체제 / 데이터베이스 / 네트워크 중에서 하나 선택할

shout-to-my-mae.tistory.com

- https://shout-to-my-mae.tistory.com/416

 

[데이터베이스] 정규화 (이상현상, 함수 종속성, 무손실 분해)

이상현상 이상현상 : 테이블에 투플을 삽입할때 부득이하게 NULL 값이 입력되거나, 삭제시 연쇄삭제 현상이 발생하거나, 수정시 데이터의 일관성이 훼손되는 현상을 말한다. 잘못 설계된 테이블

shout-to-my-mae.tistory.com

 

데이터베이스를 매주 공부하며 공부한 내용을 블로그 글로 정리하고, 면접 연습도 할 수 있어서 정말 좋았다.

블로그의 CS/데이터베이스 카테고리에서 볼 수 있다.

 

운영체제 면접 스터디 (8월 ~)

- https://shout-to-my-mae.tistory.com/438

 

[2주차] 프로세스와 스레드

프로세스와 스레드📎 프로세스프로그램에 대해 설명해주세요.저장장치에 저장되어 있는 데이터, 정적인 상태하드디스크 같은 저장장치에 보관되어 있다가 마우스로 더블클릭하면 실행된다. 

shout-to-my-mae.tistory.com

8월에 운영체제 면접 스터디가 열려서 참여 중이다.

면접 연습도 하고 운영체제 공부도 해서 좋지만 가장 좋은 점은 함께 달려가는 사람이 곁에 있다는 것이다.

 

 알고리즘 스터디 (3월~)

- https://github.com/Starlight258/Algorithm-Study

 

GitHub - Starlight258/Algorithm-Study: auto push repository for BOJ and Programmers

auto push repository for BOJ and Programmers. Contribute to Starlight258/Algorithm-Study development by creating an account on GitHub.

github.com

꾸준히 푸는 것을 목표로 하고 있다.

알고리즘을 잘 풀고 싶은데, 생각만큼 잘 되지 않는다. 그래도 꾸준히 풀면 조금씩 나아지겠지라는 생각으로 풀고 있다.

 

취뽀스터디 (3월~)

취뽀스터디는 계속 운영하고 있다.

매일 디스코드에 할 일 올리고, 게더타운에서 모각코도 하고 일지도 작성하고 있다.

스터디 진행하면서 더 나은 방향이 무엇인지 고민하고 있지만 다른 분들에게 부담을 줄 것 같아 시도는 잘 못하고 있다.

다들 외롭지 않게 공부 열심히 해서 원하는 곳에 취업했으면 좋겠다. (나포함 😀)

 

프로젝트

Athens (채팅 기반 토론 서비스)

- https://github.com/Attica-org/athens-backend

 

GitHub - Attica-org/athens-backend: 자유롭게 토론해요 - Athens

자유롭게 토론해요 - Athens. Contribute to Attica-org/athens-backend development by creating an account on GitHub.

github.com

 

취업 스터디에 참여하는 분들 중에서 참여의사가 있는 분들을 모아 프로젝트를 진행하고 있다.

프론트 2명 + 백엔드 3명이고 실제 서비스 론칭을 목표로 달리고 있다.

 

- 기능 구현시 테스트 코드를 함께 작성하여 코드 작성자 기준에서 요구사항을 만족하도록 하였다.

- 코드 리뷰를 통해 잠재적인 버그를 발견하고 코드를 개선하고 있다.

테스트코드 + 코드 리뷰를 생각보다 철저하게 하고 있어서 생각보다 mvp에 오랜 시간이 걸리고 있다.

mvp2가 끝나고 꼭 운영을 해보고 싶다.

 

나의 장점과 단점

공부를 하다 보니 나의 생산성 시스템과 동기, 장점과 단점을 어느 정도 파악할 수 있었다.

생각만 하다 보면 잊어버리니 정리해서 나중에 볼 수 있도록 하자.

 

장점은 누군가가 보기에 단점이라고 생각할 수 있고 그렇게 잘난 사람은 아니니 감안해서 봐주세요..........

 

나의 장점

- 지치지 않고 꾸준히 열심히 한다.

- 사람들과 함께 공부하고 목표를 달성하는 것을 좋아한다.

- 개발에 욕심이 있다.

- 애매하게 이해하는 것을 확실히 이해하기 위해 노력한다.

- 계속해서 성장하고 있다.

 

나의 단점

- 적당히 한다.

  - 샘 알트만은 이렇게 말했다. "대개는 너무 일찍 포기하거나 충분히 밀어붙이지 않아서 잠재력에 도달하지 못하는 것 같아요"

     나는 충분히 밀어붙이지 않아서 노력한 시간 대비 얻는 것이 적다.

- 할 수 있다는 믿음이 부족하다. 

  - 나는 제대로 잘 못할 것 같으면 지레 다른 곳으로 눈을 피한다. 

  - 복사 붙여 넣기 하는 것보다 안 하는 게 낫다고 생각한다.

  - 도전을 적게 해서 성장의 기회를 놓친다.

- 우선순위를 파악하고 기회를 잘 잡지 못한다.

  - 여러 개발자들과 소통하고 최신 동향을 살펴봐야 하는데 내가 당장 해야 할 것에 매몰되어서 기회를 놓치는 경우가 많다.

- 늦게 자고 늦게 일어난다.

  - 미라클 모닝에 성공한 적이 없다. (돈만 많이 냈다)

 

앞으로의 마음 가짐

100도가 되기 위해서는 간절함이 필요하다

- 89도의 온도는 상온보다 끓는 온도와 가깝지만 멀리서 보면 그저 같아 보인다.

  - 스스로 깨면 병아리, 남이 깨면 프라이와 같은 맥락이다.

- 좀 더 밀어붙이고 한 발자국만 더 생각해 보고 고민해 보자. 그 차이가 실력을 만든다.

- 미래에 기대지 말고 현재에서 성장하자. 가능성에 중독되지 말자.

  - 먼저 나를 돌아보자. 스스로를 이기는 사람은 경쟁력이 있다.

- 뭐든 도전해 보자. 나를 검열하지 말자. 완벽한 사람은 없다.

 

기술은 문제를 해결할 도구일 뿐이다.

- 새로운 기술을 도입하는 것은 리스크가 있다. 하지만 그 이상의 이점이 있다면 시도해 보는 것이 맞다.

- 기술을 도입할 때 그 기술을 꿰고 있을 필요는 없다. 콘셉트를 이해하고 도구로서 활용하면 된다. 두려워하지 말자. 🌟

- ci/cd 구축할 때 인프라를 잘 모른다고 구축하지 않는 것이 핑계가 될 수 있을까? 

  - 하고 싶은 일을 하지 않으면서 변명하지 말자.

  - 처음에는 우당탕탕 실수가 있더라도 적용해 보며 기술에 적응하면 된다. 그저 문제를 해결하기 위한 도구일 뿐이다.

  - 도구 설명서만 본다고 도구를 잘 다룰 수 있는 것은 아니다. 백문이 불여일타처럼

- 문제를 발견했을 때 도구를 사용하자. 효과가 있을 때 사용하자. (no silver bullet)

도구에 대한 두려움을 깨려면 사용해 볼 수밖에 없다.
여러 자료를 참고해서 도구를 이용해 문제를 해결하고 효과를 입증하여 정리하자.
개발자는 매번 다른 도구를 마주하게 될 것이다. 변화에 적응하는 것은 선택이 아니라 필수이다.

 

협업에서 균형 잡힌 접근이 필요하다.

- 열정이 항상 팀에게 좋은 결과를 불러온다는 것은 아니라는 것을 깨달았다.

  - 모든 사람이 같은 수준의 열정을 가지고 있지 않다. 능력도 다 다르고 장점도 다 다르다.

  - 팀의 페이스에 맞게 일의 속도를 조절하자. 혼자 하는 일이 아니다.

  - 열정과 강요는 한 끗 차이이다.

- 열정이 팀에 긍정적으로 기여하는 방법

  - 소통하기 : 의견을 경청하고 피드백을 주고받기. 부드럽게 말하기.

  - 팀원의 노력을 인정하기 : 성과가 크던 작던 진전을 인정하고 칭찬하기. 

  - 도움 주기(멘토링) : 팀원에게 어려운 과제가 주어질 때 상대방이 원하는 도움을 주기. 경청하고 발전시키는 것을 도와주기

  - 팀의 요구사항을 파악하여 여러 역할을 수행하기 : 팀을 리딩하거나 지원하거나, 팀의 상황에 따라 역할을 조정하기

팀에게 기대하는 사항이 혹시 나에게 기대하는 사항은 아닌지 돌아보기

 

회고를 마치며

상반기를 돌아보니 6개월 동안 생각보다 많은 것을 했다는 것을 깨달았다.

부족한 점도 있고 칭찬할 점도 있지만 앞으로의 마음가짐을 명심하며 좀 더 나은 개발자와 사람으로서 성장하도록 노력하자.

 

차근차근 도전하기

회고 이후로 하나씩 도전하고 있다.

 

OAuth 소셜 로그인 안전하게 구현하기 (redirect_uri, redis, token)

서론OAuth의 기본 개념 소개OAuth의 핵심은 인증과 인가를 구분하는 것인증 : 사용자가 자신의 신원을 증명하는 것ex) id, pw로 로그인인가: 인증된 사용자에게 특정 리소스에 대한 접근 권한을 부여

shout-to-my-mae.tistory.com

 

 

Redis 도입하기 : CI/CD 파이프라인 수정기 (Blue/Green 무중단 배포)

서론팀 프로젝트에 OAuth 기능을 도입하며 Redis를 추가할 상황이 생겼습니다.⬇️ OAuth 소셜 로그인 안전하게 구현하기 (redirect_uri, redis, token)서론OAuth의 기본 개념 소개OAuth의 핵심은 인증과 인가

shout-to-my-mae.tistory.com

 

728x90