본문 바로가기

Dev.

(12)
함수형 프로그래밍 직접 해본 경험 목차 - 시작하면서 - 순수함수 - 고차함수 - 콜벡함수 - 커링 - 함수조합 - RxJS (비동기 처리) - 마무리 시작하면서 함수형 스터디 1기, 2기를 운영하면서 갈고닦은 기법들을 직접 사이드 프로젝트에 접목 시켜 봤습니다. 함수형 프로그래밍을 통해 코드 품질을 향상 시킬 수 있었습니다. 실제 작성한 코드를 바탕으로 하나씩 소개해 볼텐데요. 다양한 개념들이 있지만 아래의 개념들만 이야기 해보겠습니다. - 순수함수 - 고차함수 - 콜벡함수 - 커링 - 함수조합 - RxJS (비동기 처리) 물론 더 많은 매력적인 개념들이 있습니다. - 모나드 - 꼬리재귀 - 메모라이제이션 - 이터러블 & 제너레이터 등등이 있지만, 억지로 모든걸 접목시킬 필요는 없기 때문에, 나머지 개념들은 차차 해보도록 하겠습니다...
함수형 코딩 - 방어적 복사 Vs. Copy On Write 목차 불변성이 지켜지는 안전지대 방어적 복사(=깊은 복사) Copy on Write(=얕은 복사) 방어적 복사 구현 마무리 불별성이 지켜지는 안전지대 안전지대라는 용어는 이 책에서 사용되는 용어입니다. 안전지대란 불변성이 지켜지는 코드 영역을 말합니다. 아래 그림을 보죠. 안전지대는 불변성이 지켜지기 때문에, 안전지대 안에서의 데이터는 신뢰할 수 있습니다. 하지만 - 안전지대 밖의 데이터 - 안전지대 밖에서 오는 데이터 - 안전지대 밖으로 나가는 데이터 들은 불변성이 지켜지지 않은 코드영역을 거치거나 돌아다녔기 때문에, 데이터가 바뀌지 않았음을 보장할 수 없습니다. 그럼 안전지대 밖의 코드영역은 어떤 것들이 있을 까요? - 부수효과가 있는 영역 - 레거시 코드 영역 - 외부 라이브러리의 코드 영역 등등..
함수형 코딩을 읽고 (1~6챕터) '스터디캠프'라는 스터디를 통해 '함수형 코딩'이라는 개발 도서를 읽고 있습니다. 계획을 세우고 매주 내용을 정리해서 개발 블로그를 연재해 가는 것이 목표인데요. 이번에는 1 ~ 6 챕터를 읽고 핵심이라고 생각되는 내용들을 저의 생각을 녹여 정리했습니다. 목차 '함수형 코딩' 독서 스터디 시작 실용적인 측면에서 함수형 프로그래밍 액션에서 계산을 분리해낸다. 계산도 다 같은 계산이 아니다. 계산을 분류하다. 계산을 만들기 위한 'Copy On Write' 기법 계산에 집착하는 이유 마무리 '함수형 코딩' 독서 스터디 시작 개발 학습 스터디를 시작했습니다. '함수형 프로그래밍'을 깊게 학습하기 위해 여러 단계로 학습을 계획했고, 그 첫 번째 학습이 '함수형 코딩' 책을 읽고 개념을 정립하는 것입니다. 스터디..
Playwright, Auth 자동화와 API Mocking 이 글은 'E2E 테스트로 왜 Playwright 선택했는가?'에 이은 4번째 연재물입니다. 이번 연재물부터는 좀 더 실용적인 지식을 전달해 볼까 하는데요. 사실 소개할 기능들은 너무 많은 것 같습니다. 하지만 그중에 가장 중요하다고 생각되는 2가지 기법을 소개하고자 합니다. 목차 시작하기 전에 이 2개는 알고 가자! Authorization 자동화 API Mocking 마무리 연재물 테스트도 종류가 있다.(링크) E2E 테스트 도구(tool)들 분류하기.(링크) E2E 테스트로 왜 Playwirght 선택했는가?(링크) Playwright, Auth 자동화와 API Mocking(링크) Playwright 빌드 자동화 구축(링크) VScode를 활용한 Playwright(링크) 시작하기 전에 이 2개..
테스트도 전략이다 회사에서 E2E를 도입해본 경험이 있습니다. 그 당시 테스트라는 영역이 몇가지 있고 그 중 하나가 E2E라는 개념이 있다고만 알고 있었습니다. 하지만 각 테스트 영역은 Trade Off가 존재하고, 조직의 상황에 맞게 전략적인 선택을 할 수 있다는 걸 알게되었습니다. 이 글을 통해 지식을 공유합니다. 목차 목적과 용도에 맞게 테스트를 적용하자 테스트 유형 예제 코드 트레이드 오프 (Trade Off) 마무리 연재물 테스트도 종류가 있다.(링크) E2E 테스트 도구(tool)들 분류하기.(링크) E2E 테스트로 왜 Playwirght 선택했는가?(링크) Playwright, Auth 자동화와 API Mocking(링크) Playwright 빌드 자동화 구축(링크) VScode를 활용한 Playwright(..
E2E 테스트로 왜 Playwright 선택했는가? 이 글은 'E2E 테스트 도구(tool)들 분류하기'에 이은 3번째 연재물입니다. 앞서 분류했던 Progressive automation과 Test runner 영역에서 각각의 도구를 선택했습니다. 이때 선택의 기준을 세우고 그 기준에 맞게끔 선택을 했는데요. 그 선택 과정을 정리해 본 글입니다. 목차 무엇을 선택했는가? 왜 선택했는가? 성능 다양한 브라우저 지원 병렬처리 멀티 Tab 지원 왜 Cucumber는 선택하지 않았나? 마무리 연재물 테스트도 종류가 있다.(링크) E2E 테스트 도구(tool)들 분류하기.(링크) E2E 테스트로 왜 Playwirght 선택했는가?(링크) Playwright, Auth 자동화와 API Mocking(링크) Playwright 빌드 자동화 구축(링크) VScode를..
E2E 테스트 도구(tool)들 분류하기 이 글은 '테스트도 종류가 있다'라는 글에 이은 3번째 연재물입니다. 회사에서 E2E를 도입하기 전에 '어떤 도구를 사용하느냐?'에 대한 결론을 내려야 했는데요. 그러려면 E2E에 활용할 수 있는 도구를 분류부터 하는 것이 필요했습니다. 이 글은 테스트 도구들이 어떻게 분류될 수 있는지 알아보겠습니다. 목차 종류가 이렇게 많아? Progressive automation framework Test runner Platform testing 마무리 연재물 테스트도 종류가 있다.(링크) E2E 테스트 도구(tool)들 분류하기.(링크) E2E 테스트로 왜 Playwirght 선택했는가?(링크) Playwright, Auth 자동화와 API Mocking(링크) Playwright 빌드 자동화 구축(링크) VS..
내부에 개발자가 필요한 이유, 리팩터링 많은 기업들이 외주개발과 개발자 채용을 고민합니다. 초창기 서비스이고, 개발자 채용이 힘든 경우에는 외주개발이 좋은 선택일 수 있습니다. 하지만 기업 내부에 개발자가 필요한 이유 중에 하나는 '코드 품질 관리를 유지하기 위해서'입니다. 그리고 코드 품질을 언급할 때 리팩터링이라는 개념을 뺄 수 없습니다. 이번 글은 이 '리팩터링'에 대해 개념정리를 해보도록 하겠습니다. ​ 목차 왜 리펙터링이야 리펙터링 하는 이유 언제 리펙터링 하면 될까? 리펙터링 하려면 마무리 ​ 왜 리펙터링이야? 앞선 포스팅에서 코드 품질에 대한 이야기를 나눴습니다. 그 일환 중에 하나가 바로 리팩터링(Refactoring)입니다. 컴퓨터 공학에서 리펙터링은 결과의 변화 없이 구조를 재조정하는 작업을 말합니다. 우리가 개발자와 업무 ..