강의
2 posts
Monad란 무엇인가?

📚 Monad란 무엇인가? 이 글은 Monad란 무엇인가?를 시청 후 개인 공부 및 정리용으로 작성한 글입니다. Scala(Scalable Language) 사용자가 언어를 확장하면서도 원래 언어가 지원하는 것처럼 사용 가능 Functional Language 함수가 1급 계층 변수 불변 타입클래스 패턴 매칭 Currying Monad? 수학의 범주론에서 사용되는 구조로 Haskel, Scala에서 이를 프로그래밍에 적용 map()을 단순하게 배열의 원소에 어떤 함수를 적용하고 그 반환값으로 새로운 배열을 만든다고 생각하면 고통이 시작된다. 모나드를 이해하는 데 이렇게 생각하는 건 좋지 못하다! (자바스크립트에서 flatMap()은 먼저 map을 하고 이후에 flat을 해주는 역할) Monad는 어떤 경우에 필요한가? 비동기 연산 처리 => Promise가 사실 Monad의 일종 값이 미래에 존재하거나 값이 null인 경우를 모델링할 때 Monad를 사용한다. Monad의 정의(발…

January 31, 2023
강의
Cypress를 통한 E2E 테스트

📚 하루만에 Cypress로 작성하는 JS E2E 테스트 코드 이 글은 메이커준-하루만에 Cypress로 작성하는 JS E2E 테스트 코드를 수강 후 작성한 글입니다. 강의와 직접적인 관계가 있는 정보는 최대한 배제하였습니다. 간단한 예제를 통해 어떻게 Cypress를 다루는지, 왜 테스트 코드를 작성해야하는지 등에 대해 정리해보겠습니다. E2E Test란? 테스트의 약자로 말그대로 사용자의 중심에서 어플리케이션의 처음부터 끝까지 그 흐름을 테스트하는 소프트웨어 테스트 방법 중 하나입니다. E2E 테스트를 통해 실제 유저 시나리오를 시뮬레이션하고 이를 통해 어플리케이션 구성 요소의 통합 및 데이터의 무결성을 검증할 수 있습니다. Cypress는 뭘까? 개발자는 Cypress를 통해 E2E 테스트를 훨씬 편하게 구현하고 다룰 수 있습니다. 어플리케이션 내에서 유저가 취할 수 있는 다양한 행동 방식과 그 결과값을 테스트 코드로 작성하고 검증함으로써, 테스트에 들어가는 시간을 매우매우…

November 15, 2022
강의