본문 바로가기

전체 글47

우당탕탕 우테코 2달 생활기 계단이 아닌 오르막길 우테코가 시작한 지 벌써 두 달이 지났다. 지난주 금요일, Level 1이 끝나며 방학식을 했다. 돌아보면 하루하루를 밀도 있게 잘 살아낸 것 같다. 특히 '나'에 대해 많이 고민했고, 앞으로 어떻게 살아가야 할지 깊이 생각하는 시간이었다. 하루 단위로 고민의 주제가 바뀔 정도로 계속 생각하고 또 생각했다. 나는 몇 달 주기로 이런 고민이 몰려오는 시기가 찾아온다. 프로젝트가 끝나갈 무렵, 동아리가 마무리될 때, 학기가 끝날 때처럼 환경이 변화를 예고할 때마다 어김없이 찾아온다. "이제 뭐 하지?", "다음엔 어떤 선택을 해야 최선일까?" 같은 질문들이 머릿속을 맴돈다. 처음에는 이런 고민들이 무거웠고, 때로는 너무 깊게 빠져 우울해지기도 했다. 그런데 그런 시간을 계단을 오르듯 한.. 2025. 4. 9.
객며든 어느 프론트의 엘레강트 오브젝트 정리 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.