전체 글

가끔 독서도 하고, 가끔 운동도 하고, 가끔 여행을 떠나요. 어제보다 더 나은 사람이 되기위해 노력중입니다.🙂
반응형
독서/2024

[쏙쏙들어오는 함수형 코딩] CHAPTER1 쏙쏙 들어오는 함수형 코딩에 오신 것을 환영합니다 -

해당 글은 쏙쏙 들어오는 함수형 코딩 책 내용을 기반으로 작성된 내용입니다. 💡 이번 장에서 살펴볼 내용 - 함수형 사고가 무엇인지 설명합니다. - 다른 함수형 프로그래밍 책과 어떻게 다른지 알 수 있습니다. - 함수형 프로그래머가 코드를 바라보는 특별한 방법을 알게 됩니다.여러분이 이 책을 계속 볼지 말지 감을 잡을 수 있습니다. 함수형 프로그램을 한마디로 설명하는 것은 어렵습니다. 함수형 프로그래밍은 학계나 산업 현장에서등 넓은 분야에서 쓰이고 있지만 많은 자료가 학계에서 만든 자료라 일반 개발자가 이해하기 어렵고 실용적이지 않습니다. 하지만 이 책은 실무에서 쓸 수 있는 내용을 다룹니다. 함수형 프로그래밍은 무엇인가요? 위키피디아에 정의된 내용을 요약하면 다음과 같습니다: 함수형 프로그래밍 (fun..

독서/2024

[쏙쏙들어오는 함수형 코딩] 들어가기 전 - 요약 정리

해당 글은 쏙쏙 들어오는 함수형 코딩 책 내용을 기반으로 작성된 내용입니다. 옮긴 이 머리말 함수형 프로그래밍 언어인 클로저를 사용하면서 좋았던 점 불변데이터구조를 사용하면서 변경가능한 상태로 인한 버그가 생기지 않아 좋았습니다. 언어에서 제공하는 다양한 함수조합 기능을 사용하기 위해 부수효과가 있는 함수를 분리하자 테스트하기 좋은 코드가 되었습니다. 어떻게 하는 것이 함수형 프로그래밍을 하는 걸까요? 많은 함수형 프로그래밍 자료에서 함수형 프로그래밍은 부수 효과가 없는 순수한 함수로 프로그래밍을 해야 한다고 말합니다. 어떤 자료들은 부수 효과가 전혀 없다고 가정한 상태로 설명하기도 합니다. 하지만 입력도 없고 출력도 없는 소프트웨어는 아무런 의미가 없습니다. 그래서 함수형 프로그래밍을 하려면 부수 효과..

독서/2024

[구글 엔지니어는 이렇게 일한다: 구글러가 전하는 문화, 프로세스, 도구의 모든것] CHAPTER 15 폐기 - 요약 & 발제문

사용 중인 낡은 시스템을 떼어내 새로운 환경으로 이주시키는 작업을 순차적으로 진행하여 궁극적으로는 낡은 시스템을 완전히 걷어내는 과정을 폐기라 합니다. 1. 폐기시키는 이유 ‘코드는 자산이 아니라 부채다’ 라는 기본 전제에서 시작합니다. 코드가 자산이라면 낡은 시스템의 비중을 줄이고 제거할 이유가 어디 있겠습니까? 시스템을 운용하는 데 드는 운영 자원, 그리고 주변 생태계의 진화에 발맞춰 코드베이스를 업데이트하는 노력 등 비용이 계속 투입된다는 사실은 낡아가는 시스템을 계속 운영할지 아니면 슬슬 폐기시킬지를 놓고 손익을 저울질해봐야 함을 뜻합니다. 2. 폐기는 왜 그리 어려운가? 하이럼의 법칙에 의해 시스템은 사용자 수가 늘수록 설계자가 예상하지 못한, 전에 본 적 없는 방식으로 이용될 가능성이 커져서 ..

독서/2024

[구글 엔지니어는 이렇게 일한다: 구글러가 전하는 문화, 프로세스, 도구의 모든것] CHAPTER 14 더 큰 테스트 - 요약 & 발제문

1. 더 큰 테스트란? 더 큰 테스트의 단점 느릴 수 있습니다. 구글에서 대규모 테스트의 기본 타임아웃 값은 15분이나 1시간입니다. 심지어 몇 시간이나 며칠이 걸리는 테스트도 만들어 활용합니다. 밀폐되지 않을 수 있습니다. 대규모 테스트는 다른 테스트나 최종 사용자와 자원 및 트래픽을 공유하기도 합니다 비결정적일 수 있습니다. 예컨대 밀폐되지 않은 대규모 테스트라면 다른 테스트나 사용자 상태에 영향을 받을 수 있어서 완벽히 결정적이라고 보장하기가 거의 불가능합니다. 이런 단점들에도 불구하고 더 큰 테스트를 이용하는 이유는 시스템 ‘전체’가 의도대로 동작한다는 확신을 더해주는 역할을 하기 때문입니다. 1.1 충실성 더 큰 테스트가 존재하는 첫 번째 이유는 바로 충실성을 높이기 위함입니다. 그림 14-1처..

독서/2024

[구글 엔지니어는 이렇게 일한다: 구글러가 전하는 문화, 프로세스, 도구의 모든것] CHAPTER 13 테스트 대역 - 요약 & 발제문

테스트 대역 은 실제 구현 대신 사용 할 수 있는 객체나 함수를 말합니다. 테스트 대역은 실제 구현보다 훨씬 가벼워서 여러 프로세스나 기기를 연동시켜야 할 때 빠르고 안정적인 작은 테스트로 대응할 수 있게 도와줍니다. 1. 테스트 대역이 소프트웨어 개발에 미치는 영향 테스트 대역을 사용하면 절충이 필요한 몇 가지 문제들: 테스트 용이성 테스트 대역을 사용하려면 코드베이스가 테스트하기 쉽도록 설계되어 있어야 합니다. 적용 가능성 테스트 대역을 제대로 활용하면 엔지니어링 속도가 크게 개선되겠지만, 잘못 사용하면 오히려 깨지기 쉽고 복잡한 나쁜 테스트로 전락합니다. 실제로 테스트 대역을 활용하기에 적절하지 않은 경우가 많으니 되도록 실제 구현을 이용하는 것을 권합니다. 충실성 충실성은 테스트 대역이 실제 구현..

기억보단 기록을/Next JS (App Router)

[NextJS 13] Routing - Middleware

미들웨어는 요청이 완료되기 전에 코드를 실행할 수 있게 해줍니다. 그런 다음 들어오는 요청에 따라 응답을 수정할 수 있습니다. 응답을 다시 작성하거나 리다이렉트하거나 요청 또는 응답 헤더를 수정하거나 직접 응답하는 등의 작업을 수행할 수 있습니다. 미들웨어는 캐시된 콘텐츠와 라우트가 일치하기 전에 실행됩니다. 자세한 내용은 '매칭 경로(Matching Paths)'를 참조하십시오. Convention 프로젝트의 루트에 있는 'middleware.ts' (또는 .js) 파일을 사용하여 미들웨어를 정의하세요. 예를 들어, pages 디텍터리 또는 app디렉터리와 동일한 수준이거나 src 내부에 해당되는경우 위치시킬 수 있습니다. Example /* middleware.ts */ import { NextRes..

기억보단 기록을/Next JS (App Router)

[NextJS 13] Routing - Route Handlers & 활용방안

라우터 핸들러를 사용하면 웹 요청 및 응답 API를 사용하여 지정된 경로에 대한 custom request handler를 만들 수 있습니다. 라우트 핸들러는 app 디렉터리 내에서만 사용할 수 있습니다. 이는 pages 디렉터리 내의 API 라우트와 동일한 역할을 담당하기 때문에 API 라우트와 라우트 핸들러를 함께 사용할 필요가 없다는 것을 의미합니다. Convention 라우트 핸들러는 앱 디렉토리 내의 route.js|ts 파일에 정의됩니다. /* app/api/route.ts */ export async function GET(request: Request) {} 라우트 핸들러는 page.js 및 layout.js와 유사하게 앱 디렉터리 내에서 중첩될 수 있습니다. 그러나 page.js와 동일한..

독서/2024

[도메인 주도 개발 시작하기: DDD 핵심 개념 정리부터 구현까지] Chapter 1 - 도메인 모델 시작하기

1.1 도메인이란? 온라인 서점을 이용할 때 검색을 통해 책 정보를 확인하고 목차와 서평을 살펴보며 책을 선택합니다. 장바구니에 담거나 쿠폰을 찾아 싸게 구매하며, 결제는 간편 결제 서비스나 외부 포인트를 이용합니다. 배송 추적 기능을 사용하여 언제 책을 받을 수 있는지 확인합니다. 개발자의 관점에서 온라인 서점 소프트웨어는 상품 조회, 구매, 결제, 배송 추적 등의 기능을 제공해야 하는 도메인으로 분류됩니다. 온라인 서점 도메인은 여러 하위 도메인으로 구성될 수 있습니다. 하위 도메인은 상호 연동되어 완전한 기능을 제공하며, 일부 기능은 외부 업체의 시스템을 활용할 수 있습니다. 예를 들어, 배송 도메인은 외부 배송 업체의 시스템을 사용하고 배송 추적 정보만 연동할 수 있습니다. 결제 시스템도 결제 대..

반응형
_OIL
OIL