블로그
전체 42025. 03. 30.
0
백엔드-Code 발자국 4주차
워밍업 클럽에 참여 시작한게 어제같은데,, 어떻게 한달이 지나갔는지 모르겠다.이번주부터 여러 일정들이 시작되면서 학습을 진행하는데 많은 어려움이 있었지만이동하는 지하철에서, 쉬는 시간에 짬짬이 강의를 수강하고 여러번 반복하면서 많은 배움을 얻을 수 있었다!28일 마지막 중간 점검에서 강의와 관련된 내용들뿐만 아니라 비슷한 상황에서 다른 분들이 고민하는 내용,그에 대한 우빈님의 답변을 통해 깨달은 바가 정말 많았다..이번 워밍업클럽을 참여하면서 제대로된 코드 리뷰를 처음 해봤는데 진짜 개발자는 혼자 성장하기보다 "같이 성장하기"가 너무나 중요하다고 느꼈다. 이번 주 강의를 수강하면서 정리한 내용은더 나은 테스트를 작성하기 위해서는 한문단에는 반드시 하나의 주제를 가지고 작성한다.이때 작성한 내용은 독립성을 보장해야한다.이를 위해 테스트 환경의 독립성을 보장하기 위해 노력한다.또한 한눈에 들어오는 Test fixture를 구성하는 것도 방법이다.@Parameterized Test , @DynamicTest를 활용하는 방법도 있따!그 중에서 Test fixture에 대해 좀 더 알아봤따.Test fixture는 특정 테스트를 일관되게 테스트하기 위해 사용하는 장치이다.테스트를 수행하기 전 필요한 환경이나 상태를 설정하고, 동일하거나 유사한 객체가 사용되는 여러 테스트가 있을 경우실제 값을 검증한다. 이 과정에 더 많은 시간을 할애하는 경우도 생길 수 있으므로, 동일한 Fixture를 여러 테스트가 공유할 수 있도록 설정하여 성능 향상과 비용 절감을 얻는다! 한달의 시간동안 처음 듣는 내용도 많았고, 알고 있었지만 실천하지 않았던 부분도 많았다는 것을 알게 된 아주 값진 시간이었다. 학습한 내용을 바탕으로 꾸준히 한 단계씩 올라가기 위해 노력할 동기부여도 받았다.교육을 해주신 우빈님에게 무한한 감사의 말씀을 이렇게나마 전달할 수 있었으면 좋곘따!!
2025. 03. 23.
0
발자국 3주차
이번주에 일정이 너어무 바빠서 실습은 진행못하고 라디오처럼 강의만 들었다... 이번 주 들었던 내용을 정리하면Persistence layer, Business Layer, Presentation layer로 나누어 Layered 아키텍처를 설계한다.Persistence layer는 data 접근을 담당한다. 이때 비지니스 로직을 가공해서는 안된다. 데이터를 생성, 처리 등 CRUD만 담당해야한다. Business layer는 비즈니스 로직 구현을 담당하는 역할을 한다. Persistence layer와 상호작용을 통해 비지니스 로직을 전개한다. 이때 반드시 트랜잭션을 보장해줘야한다!presentation layer는 외부 세계의 요청을 받는 계층으로, 파라미터에 대한 최소한의 검증을 진행한다.. 이번 주 강의의 내용이 실습 위주였는데 소리로만 들으니까 반도 이해를 못한것 같다. 다음주에 실습도 같이 진행하면서 다시 강의 수강하고 4주차 진행 내용도 빠짐업시 수행해야겠다..
2025. 03. 16.
0
백엔드-코드 발자국 2주차
2주차, 코드 다듬기와 관련된 내용을 학습했다. 수업을 수강하기 전까지는 다른 팀원과 협업을 할 때, 주석을 친절히(?) 달아주어 내가 작업한 내용을 설명해주는 것이 좋은 습관이라고 생각했는데,,주석이 많다는 것이 비즈니스 요구사항을 제대로 반영하지 못한 것일 수 있다는 말에 머리가 띵해졌다.. 사실 속으로는 알고 있었을지도 모르겠다.. 그 방법을 몰랐을뿐! 수업 내용중 메서드와 변수의 나열 순서만으로도 의도와 정보를 전달할 수 있다는 말씀에 큰 깨달음을 얻었다!!여태까지 학습한 내용을 바탕으로 Day-7 미션을 진행햇다. 처음에 코드를 마주했을 때, 수업에서 실습도 해보고 개념으로 배운 내용이 눈에는 보이고 어떻게 리팩토링해야할 지 생각도 들었지만, 막상 이를 수행하는 과정이 마냥 쉽지만은 않았다.특히 좌석 이용권과 사물함 이용권이 구분된다는 도메인 지식을 깨달았지만, 분리하는 과정에서 어려움을 겪었다. 인터페이스를 생성하여 이를 implements 시킬 생각을 못하고 시도하다가,, 여러 문제를 겪고 계에에속 롤백하다가 미션 제출 시기를 놓쳐버렸다.. 관련된 내용을 수업을 통해 다시 시도하고 이해하려고 노력하는 과정이 꽤나 재밌었따. 이후 드디어 Test code와 관련된 강의를 수강했다. 학교를 다니면서 프로젝트를 진행할 때는 비즈니스 로직을 구현하기에 급급했다. 그런데 테스트 코드를 통해 먼저 관련 로직을 설계하는 Test Driven Development의 맛(?)을 느낄 수 있었다.개발 과정에 훨씬 유연하고 유지보수가 쉬우며, 엣지 케이스들을 찾을 수 있다는 것을 깨달았다.중간점검 라이브 세션도 너무 좋았다. 같은 내용을 다른 사람이 짠 코드를 보고 코드 리뷰를 들어본 경험이 처음이었는데 다른 사람들의 생각을 배우고, 선생님의 피드백도 배울 수 있어서 너무 좋았따.3주차에도 Test 강의는 물론 clean code 부분도 까먹지 않기 위해 계속 실습해보고, 강의도 짬짬이 라디오처럼 들으며 체화시켜야겠다!! 완주하기 위해 남은 2주도 열심히 달려야지
2025. 03. 09.
0
백엔드-code 발자국 1주차
이번주에 readable-code 추상부터 SOLID까지 학습했따..처음에 강의를 잘못 봐서 Practical-test-code 강의를 듣다가 진도가 살짝 밀렸지만그래도 Day4 미션까지 해낼 수 있었습니다!! 첫번째 섹션에서 추상과 관련된 내용을 학습했는데코드를 통해 직접 메서드를 작성하고, 그 과정에서 메서드명을 지을땐 어떻게 짓는것이 좋은지메서드의 추상화 레벨을 알맞게 설정하기 위한 고민을 해볼 수 있었습니다. 두번째 섹션에서는 논리, 사고의 흐름을 했는데코드의 복잡도를 높일 수 있는 요소들에 대해 고민하고 코드를 작성한 시점이 아닌 유산을 이어받아 작업하는 시점에서 메서드를 빠르게 이해할 수 있는 방법들을 고민해봤습니다! SOLID를 통해 객체 지향 프로그램의 가장 유명한 패러다임을 학습했습니다.각 원칙을 적용하기 위해 해볼만한 고민들을 알 수 있었고 그 중에서 OCP를 적용하기 위한 과정이 살짝 어지러웠지만 잘 이해하고 습득한거 같다. Day2 미션을 진행하면서 학교에서부터 수없이 들었던 추상과 구체에 대한 개념을 나의 언어로 정의하는 것이 쉽지 않았다.그래서 이 강의를 수강하고, 워밍업 클럽에 참여하길 잘했다고 생각함 Day 4 미션을 통해 수강한 수업의 내용들을 종합적으로 정의해볼 수 있었는데 선생님이 강의중 얘기해주신부정어의 사용, 추상화 레벨을 고려하며 코드를 리팩토링했숨 다음주도 빡세게 달려서 꼭 완주하겠다는 의지를 불태우는 한주의 마무리, 이료일입니다!!!!