전체 글46 객며든 어느 프론트의 엘레강트 오브젝트 정리 0. 들어가며: 객체지향은 파일을 분류하는 기법이다.우테코에서의 가장 큰 수확은 제이슨의 엘강오 스터디다. 처음엔 망설였다. '에이.. 프론튼데 객체지향까지 알아야해?' 라는 어리석은 판단으로 하마터면 이 기회를 지나칠 뻔 했지만, 원온원을 했던 제이슨이 DM으로 다시 한 번 권유해줬고, 덕분에 용기 내서 들어가게 됐다. 그렇게 시작하게 된 엘강오 스터디.. 뭐가 가장 많이 바뀌었나가장 크게 바뀐건, 객체로 생각하는 법을 배우면서 "유기체"와 "관계" 중심으로 코드를 바라보게 됐다는 점이다. 예전엔 대부분의 코드를 함수 중심으로 작성했다. 함수 하나하나는 나쁘지 않았지만, 그 함수들이 서로 협력하거나 흐름을 만드는 방식에는 체계가 없었고, 전체 코드는 어딘가 자연스럽지 못했다. 객체지향을 공부하면서, .. 2025. 3. 26. 직접 만든 라이브러리를 우테코 미션에 녹여내기 1. function-al의 시작 type safe 함수형 프로그래밍 유틸리티 라이브러리, function-al을 만들기 시작한 지 벌써 한 달이 넘었다.처음부터 뭔가 거창한 목표가 있었던 건 아니다. 그저 출퇴근길이 너무 지루해서, 지하철에서 읽기 시작한 Functional-Light JavaScript 책이 시작이었다.사실 함수형 프로그래밍에 대해서는 거의 무지한 상태였다. 그런데 책에서 소개하는 다양한 use case들을 보면서, 완전히 새로운 세상을 만난 느낌이었다. FP가 설명하는 개념들이 생각보다 너무 자연스럽고 합리적이었고, 무엇보다 코드가 엄청 깔끔해지는게 신기하고 인상적이었다. 책을 읽다 보니 “이거 그냥 읽고 끝내면 금방 다 잊어버리겠는데?”라는 생각이 들었다. FP를 잘 쓰는 개발자가.. 2025. 3. 19. [FP] 아무도 모르는 side effect는 괜찮을까? 목차1. 보이지 않는 Side Effect, 정말 괜찮을까?2. Referential Transparency와 순수 함수3. 숨겨진 Side Effect의 위험성4. 성능 최적화를 위한 Side Effect5. Side Effect를 안전하게 관리하는 방법6. 결론💡 Functional-Light JavaScript Chapter 5: Reducing Side Effects의 일부분을 참고했습니다. 1. 보이지 않는 Side Effect, 정말 괜찮을까?If a tree falls in the forest, but no one is around to hear it, does it still make a sound? 좀 철학적인 질문인데, 한 번 생각해볼만 한 질문인 것 같다. 그리고 이걸 프로그래밍의 .. 2025. 2. 26. [FP] Type Safe Pipe 함수 만들기 목차1. Pipe 함수 소개2. pipe(arg, f1, f2) vs pipe(f1, f2)(arg)3. Typescript 적용4. 마치면서 1. Pipe 함수 소개지난 curry 함수에 이어 이번엔 pipe 함수를 만들어보려고 한다. Pipe 함수는 여러 개의 함수를 왼쪽에서 오른쪽으로 순차적으로 실행하는 함수이다. 데이터 변환의 흐름이 명확하게 표현되어 코드의 동작 흐름을 더 직관적으로 볼 수 있고, 선언적 프로그래밍 스타일을 더 쉽게 적용할 수 있다. 다음 코드를 보자. const add = x => x + 1;const multiply = x => x * 2;const subtract = x => x - 3;const result = subtract(multiply(add(5)));console.. 2025. 2. 19. [FP] Type Safe Curry함수 만들기 0. 들어가며: 함수형 프로그래밍과 Curry요즘 함수형 프로그래밍(FP)을 공부하면서 "Currying"이라는 개념을 마주하게 되었다. 처음에는 단순히 복잡한 함수를 더 단순한 함수로 분해하는 기법으로만 보였는데, 깊이 들여다보니 Currying이 FP의 철학을 가장 잘 표현하는 기법 중 하나라는 생각이 들었다. 📌 FP의 핵심 철학FP는 다음과 같은 핵심 원칙들을 강조한다. - 함수를 일급 객체(First-Class Citizen)로 취급- 불변성(Immutability)- 순수 함수(Pure Function)- 선언형 프로그래밍(Declarative Programming)- 함수 합성(Composition), 모듈화(Modularity)- 높은 수준의 추상화(Abstraction) 이 원칙들은 .. 2025. 2. 1. JPEG 손실 압축 JPEG은 손실 압축 방식으로 압축을 수행한다. 어떤 원리로 압축이 수행되는지 알아보자. 1. Color Space Conversion2. Chrominance Downsampling3. Discrete Cosine Transform4. Quantization5. Run Length and Huffman Encoding 인간의 눈은 완벽하지 않다. JPEG은 인간이 알아차리지 못하는 정보를 지움으로써 압축을 한다. RodsConesBrightness & Low light sensitiveColor sensitive100 million6 million 밝기를 감지하는 Rods가 색깔을 감지하는 Cones보다 훨씬 많다. 그래서 우리 눈은 밝기에 더 민감하다.STEP 1: Color Space Conver.. 2025. 1. 27. 이전 1 2 3 4 ··· 8 다음 more