<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>스터디캠프</title><description>스터디캠프에서 함께 학습한 내용을 정리해 기록합니다. 시스템 설계, UI 시스템, 함수형 프로그래밍.</description><link>https://www.studycamp.co.kr/</link><language>ko</language><item><title>크롤 버짓으로 다시 읽는 SEO — 웹 크롤러를 설계해보면 보이는 것들</title><link>https://www.studycamp.co.kr/posts/web-crawler-seo/</link><guid isPermaLink="true">https://www.studycamp.co.kr/posts/web-crawler-seo/</guid><description>웹 크롤러를 직접 설계해보면 SEO 체크리스트의 &apos;왜&apos;가 보인다. 크롤 버짓(crawl budget) 모델로 SEO 작업의 우선순위를 다시 세우고, 이 블로그를 만들며 실제로 적용한 결정들을 정리했다.</description><pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate><category>seo</category><category>web-crawler</category><category>crawl-budget</category><category>system-design</category></item><item><title>함수형 프로그래밍 직접 해본 경험</title><link>https://www.studycamp.co.kr/posts/functional-programming-in-practice/</link><guid isPermaLink="true">https://www.studycamp.co.kr/posts/functional-programming-in-practice/</guid><description>순수함수, 고차함수, 콜백함수, 커링, 함수조합, RxJS까지 함수형 프로그래밍 개념을 실제 사이드 프로젝트 코드에 적용한 경험 정리. TypeScript와 Lodash 예제로 각 기법이 코드 재사용성과 가독성을 어떻게 높이는지 보여주고, 적용 시 트레이드오프도 짚는다.</description><pubDate>Fri, 24 Nov 2023 00:00:00 GMT</pubDate><category>functional-programming</category><category>typescript</category><category>rxjs</category><category>currying</category><category>function-composition</category></item><item><title>함수형 프로그래밍 1기 - 첫 함수형 강의 전원 완주</title><link>https://www.studycamp.co.kr/posts/fp-cohort1-course-completion/</link><guid isPermaLink="true">https://www.studycamp.co.kr/posts/fp-cohort1-course-completion/</guid><description>인프런 &apos;함수형 프로그래밍과 JavaScript ES6+&apos; 강의를 스터디캠프 함수형 1기 전원이 완주한 기록. 매주 학습 계획 수립과 발제문 풀이, 경고·강퇴 제도 등 완주할 수밖에 없는 스터디 운영 방식과 참가자 만족도, 2기 개선 방향을 정리했다.</description><pubDate>Thu, 07 Sep 2023 00:00:00 GMT</pubDate><category>functional-programming</category><category>javascript</category><category>study-group</category><category>course-completion</category></item><item><title>함수형 코딩 - 방어적 복사 Vs. Copy On Write</title><link>https://www.studycamp.co.kr/posts/defensive-copy-vs-copy-on-write/</link><guid isPermaLink="true">https://www.studycamp.co.kr/posts/defensive-copy-vs-copy-on-write/</guid><description>불변성이 지켜지는 &apos;안전지대&apos; 개념을 바탕으로, 깊은 복사 기반의 방어적 복사와 얕은 복사 기반의 Copy On Write를 각각 언제 사용하는지 비교한다. 두 기법의 한계와 JavaScript 깊은 복사 직접 구현 예제까지 정리했다.</description><pubDate>Mon, 31 Jul 2023 00:00:00 GMT</pubDate><category>functional-programming</category><category>defensive-copy</category><category>copy-on-write</category><category>immutability</category><category>javascript</category></item><item><title>함수형 프로그래밍 1기&apos;s 성공적인 첫 목표달성</title><link>https://www.studycamp.co.kr/posts/fp-cohort1-first-goal/</link><guid isPermaLink="true">https://www.studycamp.co.kr/posts/fp-cohort1-first-goal/</guid><description>스터디캠프 함수형 프로그래밍 1기가 3주 만에 &apos;쏙쏙 들어오는 함수형 코딩&apos; 완독이라는 첫 목표를 달성한 과정. 칸반보드 작업카드 기반 학습 계획, 매주 블로그 초안 작성, 주 3회 미팅과 코치 피드백 등 목표 달성을 이끈 운영 시스템을 소개한다.</description><pubDate>Sat, 22 Jul 2023 00:00:00 GMT</pubDate><category>functional-programming</category><category>study-group</category><category>book-study</category><category>kanban</category><category>learning-system</category></item><item><title>함수형 코딩을 읽고 (1~6챕터)</title><link>https://www.studycamp.co.kr/posts/grokking-simplicity-ch1-6/</link><guid isPermaLink="true">https://www.studycamp.co.kr/posts/grokking-simplicity-ch1-6/</guid><description>&apos;함수형 코딩&apos; 1~6챕터 정리. 액션·계산·데이터 구분, 액션에서 계산을 분리하는 리팩터링, 계산의 계층 분류, Copy on Write와 구조적 공유까지 JavaScript 예제 코드로 살펴본다.</description><pubDate>Thu, 29 Jun 2023 00:00:00 GMT</pubDate><category>functional-programming</category><category>grokking-simplicity</category><category>javascript</category><category>copy-on-write</category><category>book-review</category></item><item><title>Playwright, Auth 자동화와 API Mocking</title><link>https://www.studycamp.co.kr/posts/playwright-auth-api-mocking/</link><guid isPermaLink="true">https://www.studycamp.co.kr/posts/playwright-auth-api-mocking/</guid><description>Playwright로 E2E 테스트를 구축할 때 꼭 필요한 두 가지 기법을 소개한다. globalSetup과 storageState로 로그인을 한 번만 수행하는 Authorization 자동화, page.route()로 요청을 가로채는 API Mocking을 즐겨찾기 시나리오 예제 코드와 함께 설명한다.</description><pubDate>Tue, 13 Jun 2023 00:00:00 GMT</pubDate><category>playwright</category><category>e2e-testing</category><category>api-mocking</category><category>authentication</category><category>test-automation</category></item><item><title>스터디캠프 오픈</title><link>https://www.studycamp.co.kr/posts/studycamp-launch/</link><guid isPermaLink="true">https://www.studycamp.co.kr/posts/studycamp-launch/</guid><description>6년차 개발자가 기존 스터디의 한계를 보완한 유료 스터디 &apos;스터디캠프&apos;를 만든 이유. 스터디의 장단점을 짚고, 코치가 이끄는 프로젝트 단위 운영 방식과 작은 성공을 쌓아가는 목표 달성 설계를 소개한다.</description><pubDate>Wed, 07 Jun 2023 00:00:00 GMT</pubDate><category>studycamp</category><category>study-group</category><category>self-directed-learning</category><category>developer-growth</category></item><item><title>국비지원을 추천하지 않는 이유</title><link>https://www.studycamp.co.kr/posts/government-funded-bootcamp/</link><guid isPermaLink="true">https://www.studycamp.co.kr/posts/government-funded-bootcamp/</guid><description>국비지원 과정을 두 번 수료한 비전공 출신 개발자의 경험담. 복붙 위주 수업, 획일적인 커리큘럼, SI·SM·솔루션 취업에 치우친 구조라는 세 가지 한계를 짚고, 부트캠프와 스터디+인강 등 대안을 장단점과 함께 비교한다.</description><pubDate>Sun, 28 May 2023 00:00:00 GMT</pubDate><category>government-funded-course</category><category>bootcamp</category><category>career-change</category><category>developer-career</category></item><item><title>기술부채 잡는 품격있는 클린코드</title><link>https://www.studycamp.co.kr/posts/clean-code-tech-debt/</link><guid isPermaLink="true">https://www.studycamp.co.kr/posts/clean-code-tech-debt/</guid><description>품질 낮은 코드가 쌓여 만들어지는 기술부채가 개발 생산성과 기업 경영에 미치는 악순환을 짚고, &apos;클린코드&apos; 도서를 기준으로 좋은 품질의 코드란 무엇인지 정리한 글. 테스트 친화적 코드의 가치와 지속적인 코드 품질 관리의 필요성을 이야기한다.</description><pubDate>Sat, 27 May 2023 00:00:00 GMT</pubDate><category>clean-code</category><category>technical-debt</category><category>code-quality</category><category>software-maintenance</category></item><item><title>E2E 테스트 도구(tool)들 분류하기</title><link>https://www.studycamp.co.kr/posts/e2e-testing-tools/</link><guid isPermaLink="true">https://www.studycamp.co.kr/posts/e2e-testing-tools/</guid><description>E2E 테스트 도구를 자동화 프레임워크, 테스트 러너, 플랫폼 테스트 세 갈래로 분류했다. Selenium·Cypress·Playwright의 동작 방식과 장단점, Cucumber와 Jest·Mocha의 차이, Appium과 Selenium의 용도 구분을 정리했다.</description><pubDate>Sat, 27 May 2023 00:00:00 GMT</pubDate><category>e2e-testing</category><category>playwright</category><category>cypress</category><category>selenium</category><category>test-automation</category></item><item><title>[실전] 프론트 기존 컴포넌트를 개선한 경험 공유</title><link>https://www.studycamp.co.kr/posts/frontend-component-refactoring/</link><guid isPermaLink="true">https://www.studycamp.co.kr/posts/frontend-component-refactoring/</guid><description>복잡하게 얽힌 React 컴포넌트를 실무에서 리팩터링한 경험을 공유한다. forwardRef로 역행하던 데이터 흐름, 역할 분리 부재, 재사용 불가능한 hooks 문제를 진단하고, 컴포넌트 분해와 비즈니스 로직의 hooks 응집, TDD 기반 테스트 코드 구축으로 개선한 과정을 담았다.</description><pubDate>Sat, 27 May 2023 00:00:00 GMT</pubDate><category>react</category><category>refactoring</category><category>custom-hooks</category><category>tdd</category><category>component-design</category></item><item><title>내부에 개발자가 필요한 이유, 리팩터링</title><link>https://www.studycamp.co.kr/posts/refactoring-inhouse-developers/</link><guid isPermaLink="true">https://www.studycamp.co.kr/posts/refactoring-inhouse-developers/</guid><description>리팩터링의 개념과 해야 하는 이유를 마틴 파울러의 책을 바탕으로 정리했다. 3의 법칙 등 리팩터링 시점의 기준, 일정 압박 속에서 실제로 리팩터링을 진행해 본 방법, 그리고 코드 품질 관리를 위해 기업 내부에 개발자가 필요한 이유를 다룬다.</description><pubDate>Sat, 27 May 2023 00:00:00 GMT</pubDate><category>refactoring</category><category>code-quality</category><category>technical-debt</category><category>dev-productivity</category></item><item><title>리팩터링 할려고? 그래.. 테스트코드는 있고?</title><link>https://www.studycamp.co.kr/posts/refactoring-needs-tests/</link><guid isPermaLink="true">https://www.studycamp.co.kr/posts/refactoring-needs-tests/</guid><description>리팩터링이 부담스러운 이유와 테스트 코드가 그 부담을 없애는 원리를 다룬다. 직방 필터 리팩터링 실전 경험과 함께 Given-When-Then 작성 원칙, 테스트 커버리지의 한계, 모킹의 역할까지 마틴 파울러의 리팩터링을 바탕으로 정리했다.</description><pubDate>Sat, 27 May 2023 00:00:00 GMT</pubDate><category>refactoring</category><category>test-code</category><category>tdd</category><category>mocking</category></item><item><title>TDD 는 코드 설계를 위한 도구이다.</title><link>https://www.studycamp.co.kr/posts/tdd-design-tool/</link><guid isPermaLink="true">https://www.studycamp.co.kr/posts/tdd-design-tool/</guid><description>TDD는 테스트 코드 작성이 아니라 좋은 코드 설계를 위한 도구라는 관점을 정리했다. 테스트하기 좋은 코드가 불변성, 단일책임 원칙, 독립성을 갖추게 되는 이유를 설명하고, React 버튼 컴포넌트 예제를 Red-Green-Refactor 사이클로 만들며 컴포넌트 분리와 로직 응집 효과를 보여준다.</description><pubDate>Sat, 27 May 2023 00:00:00 GMT</pubDate><category>tdd</category><category>react</category><category>unit-testing</category><category>jest</category><category>code-design</category></item><item><title>테스트도 전략이다</title><link>https://www.studycamp.co.kr/posts/test-strategy/</link><guid isPermaLink="true">https://www.studycamp.co.kr/posts/test-strategy/</guid><description>E2E·통합·단위·정적 테스트 네 가지 유형을 예제 코드와 함께 비교하고, 테스트 트로피가 보여주는 비용·속도·신뢰도의 트레이드오프를 설명한다. 조직 상황에 따라 어떤 테스트에 집중할지 전략적으로 선택하는 기준을 제안한다.</description><pubDate>Sat, 27 May 2023 00:00:00 GMT</pubDate><category>testing</category><category>test-strategy</category><category>e2e-testing</category><category>unit-testing</category><category>testing-trophy</category></item><item><title>E2E 테스트로 왜 Playwright 선택했는가?</title><link>https://www.studycamp.co.kr/posts/why-playwright/</link><guid isPermaLink="true">https://www.studycamp.co.kr/posts/why-playwright/</guid><description>직방 파트너스웹에 E2E 테스트를 도입하며 Cypress 대신 Playwright를 선택한 과정을 정리했다. 실행 방식 차이에서 오는 성능, 브라우저 지원 범위, 무료 병렬처리, 멀티 탭 지원을 근거로 두 도구를 비교하고, Cucumber를 도입하지 않은 이유와 Cypress의 장점도 함께 다룬다.</description><pubDate>Sat, 27 May 2023 00:00:00 GMT</pubDate><category>playwright</category><category>cypress</category><category>e2e-testing</category><category>test-automation</category></item></channel></rss>