개발13 [리팩터링 2판] JavaScript 리팩터링 도서학습 #4 해당 내용은 위의 책의 내용을 제가 이해한대로 정리해둔 내용입니다. 이번 포스팅에선 Chapter07, Chapter08 의 내용에 대해 다룹니다. Chapter07 캡슐화 Chapter08 기능 이동 7,8장에서 소개하는 주요 리팩터링 기법들을 요약하고 예제와 함께 정리했습니다.Chapter07 캡슐화 1.레코드 캡슐화하기 2.컬렉션 캡슐화하기 3.기본형을 객체로 바꾸기 4.임시 변수를 질의 함수로 바꾸기 5.클래스 추출하기 6.클래스 인라인하기 7.위임 숨김하기 8.중개자 제거하기 9.알고리즘 교체하기 캡슐화의 효과 변경 영향도 최소화: 내부 구현 변경 시 클라이언트 코드 영향 감소 코드 품질 향상: 책임 분리로 응집도 높이고 결합도 낮춤 유지보수 용이성: 명확한 책임 분배로 .. 2025. 4. 24. [리팩터링 2판] JavaScript 리팩터링 도서학습 #3 해당 내용은 위의 책의 내용을 제가 이해한대로 정리해둔 내용입니다.이번 포스팅에선 Chapter06 의 내용에 대해 다룹니다. Chapter06 기본적인 리팩터링 Chapter06 기본적인 리팩터링6장에서 소개하는 주요 리팩터링 기법들을 요약하고 예제와 함께 정리했습니다. 1.함수 추출하기 (Extract Function)2.함수 인라인하기 (Inline Function)3.변수 추출하기 (Extract Variable)4.변수 인라인하기 (Inline Variable)5.함수 선언 변경하기 (Change Function Declaration)6.변수 캡슐화하기 (Encapsulate Variable)7.변수 이름 바꾸기 (Rename Variable)8.매개변수 객체 만들기 (Introduce Par.. 2025. 4. 17. [리팩터링 2판] JavaScript 리팩터링 도서학습 #2 해당 내용은 위의 책의 내용을 제가 이해한대로 정리해둔 내용입니다.이번 포스팅에선 Chapter04 ~ Chapter05 의 내용에 대해 다룹니다. Chapter04 테스트 구축하기Chapter05 리팩터링 카탈로그 보는법 Chapter04 테스트 구축하기 리팩토링의 전제 조건으로 자가 테스트 코드(self-testing code)를 강조합니다. 리팩토링은 프로그램의 겉보기 동작을 보존하면서 내부 구조를 개선하는 작업이기 때문에, 동작이 보존되었는지 확인할 수 있는 견고한 테스트가 필수적입니다. 리팩터링을 제대로 하려면 불가피하게 저지를 실수를 잡아주는 견고한 테스트 스위트(test suite)가 뒷받침 돼야한다.좋은 테스트를 작성하는 일은 개발 효율을 높여 준다. * 개인적으로 본인도 아직은 테스.. 2025. 3. 29. [리팩터링 2판] JavaScript 리팩터링 도서학습 #1 해당 내용은 위의 책의 내용을 제가 이해한대로 정리해둔 내용입니다.이번 포스팅에선 Chapter01 ~ Chapter03 의 내용에 대해 다룹니다. Chapter01 리팩터링: 첫 번째 예시Chapter02 리팩터링 원칙Chapter03 코드에서 나는 악취 Chapter01 리팩터링: 첫 번째 예시 리팩터링의 개념과 과정 참고) 아래의 단계는 예제 코드에서 단계별로 수정하는 과정을 보여주었음. 본인 상황에 맞추어서 단계는 바꿔가면서 진행해도 무방합니다. 단계리팩터링 기법설명효과1테스트 코드 작성리팩터링 전 기존 코드의 동작을 검증하는 테스트 코드 작성기능 손상 없이 안전하게 리팩터링2함수 추출하기긴 함수를 목적별로 작은 함수들로 분리코드 가독성 향상3변수 이름 개선임시 변수와 매개변수의 이름을 명확.. 2025. 3. 23. 모듈 페더레이션(Module Federation) 이해하기 모듈 페더레이션(Module Federation)이란? 모듈 페더레이션은 여러 개의 독립적인 애플리케이션이 런타임에서 서로의 코드를 동적으로 공유하고 실행할 수 있게 해주는 아키텍처→ 레고 블록에 비유해서 필요한 모듈을 조립하여 사용한다고 표현 기존 마이크로프론트엔드 접근 방식들과의 비교특징Module Federation기존 마이크로프론트엔드상호작용Remote 및 Host 간에 런타임 의존성을 동적으로 로드하고, 즉시 호출 및 상태 공유가 가능.상태와 데이터를 공유하려면 명시적 API 또는 전역 이벤트 버스를 사용하는 등 추가적인 설계가 필요함.구성 가능성런타임에 필요한 모듈만 불러오는 방식으로 동적 구성 가능.대부분 정적인 구성이며 빌드 타임에 모든 애플리케이션이 이미 정의됨.독립성모듈 간 적절히 의존.. 2025. 1. 26. 2024년 회고. 끊임없이 달려왔지만, 아직은 채워나가야 할 것이 많은 도전의 해 회고를 처음 작성해 보기도 하고, 1년을 돌이켜보면 너무 아쉬운 내용들만 많아서배우고 느낀 점들 내년엔 아쉽지 않도록 내용들을 간략하게 적어보려고 합니다. 끊임없이 달려온 2024년, 돌이켜보면 이 해는 저에게 깊이 있는 변화의 시작이었습니다. 전문가로서의 성장과 도전, 그리고 개인적인 시련이 공존했던 한 해였죠. 업무적으로는 2개의 애플리케이션과 3개의 웹 서비스를 개발하고 출시하며 양적인 성과를 이뤄냈습니다. 하지만 그 이면에는 건강 문제와 전문성에 대한 고민이 자리하고 있었습니다. 2024년을 관통하는 세 가지 키워드를 꼽자면 '전문성(Professional Growth)', '건강(Health)', 그리고 '몰입(Flow)'입니다. .. 2024. 12. 29. 2&3 주차 WIL Chapter 1-2. 프레임워크 없이 SPA 만들기 Part 2Chapter 1-3. React, Beyond the Basics 1. 문제 (과제, 프로젝트를 진행하면서 부딪혔던 기술적인 문제)Q. 이번 주차를 지나며 겪었던 문제가 무엇이었나요? A. Virtual DOM개념에 대한 이해는 어느 정도 있었지만, 이를 직접 구현해보는 과정에서 어려움을 겪었습니다. 이론적으로는 알고 있었던 Virtual DOM이 실제로 어떻게 렌더링 성능을 개선하는지, 그리고 효율적인 상태 관리를 통해 DOM 업데이트를 최소화하는 것이 중요하다는 것은 알았지만, 이를 직접 코딩으로 풀어내는 것은 예상보다 복잡했습니다. 또한, Vue.js에 익숙한 상태에서 React의 기본적인 사용에 적응하는 데도 어려움이 있었습니다. .. 2024. 10. 16. 1주차 WIL Chapter 1-1. 프레임워크 없이 SPA 만들기 1. 문제 (과제, 프로젝트를 진행하면서 부딪혔던 기술적인 문제) Q. 이번 주차를 지나며 겪었던 문제가 무엇이었나요? A. 이번 주차에 프론트엔드 개발을 공부하면서, 프레임워크 없는 프론트엔드 개발이라는 도서를 읽고 학습했음에도 불구하고, 여전히 모든 것이 처음인 것처럼 느껴졌습니다. 단순히 책을 읽고 이해하는 것만으로는 부족하다는 걸 깨달았고, 작은 예제라도 직접 만들어보면서 제대로 이해하는 과정이 중요하다는 생각을 하게 된 한 주였습니다. 과제를 진행하며 겪었던 주요 문제는 history API에 대한 기본적인 이해가 부족했다는 점과, EventListener를 능숙하게 다루지 못했다는 점입니다... 2024. 9. 28. JS (Promise) 추후 add 2022. 10. 24. 이전 1 2 다음