인트로 나는 사실 클래스 컴포넌트를 써본 적도 배워본 적도 없다. 그렇지만 백엔드 입장에서 봤을 때 클래스를 사용하면 기존에 많이 나온 패턴들을 통해서 더 정형화된 코드, 정리된 코드를 만들 수 있을 텐데. 굳이 함수형을 쓰는 이유가 있을까? 라는 질문을 받았고 그에 대해서 궁금해서 찾아본 결과를 정리하고자 한다. 클래스 컴포넌트? 난 써본 적도 없다. 어떻게 생겼을까;;; React에 hooks가 생긴 16.8 버전 이후 함수형이 대세를 잡았다고 보여진다. 그렇기 때문에 17버전의 후반기, 지금의 18버전만 봐본 나는 써본 적이 없는... 방식이었다. 자, 본격적으로 들어가기 앞서 Class, Function 컴포넌트의 형태는 어떻게 생겼을까? // 클래스형 import React, { Componen..
전체 글
전공은 건축. 컴터 조아.주로 web.dev 사이트의 pattern 탭에서 breadcrumbs 아티클을 읽어보면서 약간의 참고 자료(MDN), 약간의 GPT, 그리고 구글링을 한 후 나만의 방식으로 정리했다. Breadcrumbs 빵부스러기로 표시한 길.(헨젤과 그레텔에 나온 그거임) 이게 뭐냐면 쿠팡에 들어가보면 카테고리 → 패션의류/잡화 → 여성패션 → 의류 로 소비자는 내가 어느 카테고리 계층에 있는 지 확인할 수 있다. 그리고 ‘난 남성패션만 보고 싶다’라고 한다면 다른 계층인 여성 패션에 있다가도 바로바로 카테고리를 통해서 들어갈 수 있다. 그리고 남성 패션 → 의류로 들어오면 위 캡처처럼 유저는 내가 어디에 있는지 확실하게 알 수 있다. 현재의 위계, 맥락을 알려주고 유저가 원하는 위치로 들어갈 수 있도록 하는 컴포..
"한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다" 아무 말 소마 팀에서 프론트엔드 포지션을 소화하게 되면서, 프론트 관련한 책을 얻고자 이 책을 신청했다. 프론트엔드 개발을 하다보면 HTML, CSS, JS에 대한 공부가 필요하다는 것은 누구나 느끼는 것 같다. (CSS가 지잉짜 어려운 것 같다.) React, Next 같은 메인 툴, CSS를 더 편하게(?) 작성해주는 툴들… 등등 프론트엔드의 세상에서는 많은 라이브러리, 프레임워크가 생기고 사라지는 것을 반복한다. 나는 우리 팀 개발에서 Next.js 13버전을 쓰고 있다. 인터넷강의를 그렇게 적극적으로 찾아보진 않았지만 내가 원하는 버전으로, 내가 원하는 만큼, 여러 다른 라이브러리 스펙까지 맞춰서 가르쳐주는 강의는 참 찾기 어렵다. 그런..
"한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다" 『행동 데이터 분석』 은 빅데이터, 인공지능의 개념이 커진 지금 데이터 분석과 활용이 너무너무 중요하고 어떻게 해야하는 지를 알려주는 책이다. 나나는 최근에 빅데이터와 AI에 대한 학습이 필요하다고 생각하며, 이 책은 그러한 관점에서 굉장히 좋은 책이라고 생각했다. 아쉬운 점은 내가 책을 받아들이기에 너무 아는 것이 적었다는 점인데, 나중에 다시 읽으면서 해결해야할 문제다. 이 책은 금융, 정치 등등 다양한 분야에서 데이터를 제대로 분석하고 활용하는 사람이 승자가 될 것이기에 이를 받쳐줄 행동 데이터 분석에 초점을 맞추고 있다. R과 파이썬을 사용하여 행동 데이터의 분석과 활용 방법을 알려주는데, 이를 통해 난 실제 데이터를 다루고 분석하는 과..
선형 회귀 : 가장 훌륭한 예측선 긋기 x변수에 따라서 y값은 변한다. x변수가 하나라면 단순 선형 회귀 x1,x2,x3 … 처럼 변수가 여러개라면 다중 선형 회귀 선형 회귀는 정확한 직선을 그려내는 과정이다. → 선형 회귀는 최적의 기울기 a와 y절편 b를 구하는 과정이다. 최소 제곱법 (method of least squares) 변수가 하나 뿐(단순 선형 회귀)이라면 최소 제곱법 (method of least squares)이 사용된다. 오차가 가장적은, 주어진 좌표의 특성을 가장 잘 나타내는 직선을 만들 수 있다. 오차 평가 알고리즘 변수가 하나가 아니라 여러 개일 때는 최소 제곱법이 힘들다. 그러니까 임의의 선을 그리고 난 후, 수정하면서 최적의 선을 만들어보자. → 일단 그리고 수정한다면 나중..
트랜스퍼 러닝 특정 태스크를 학습한 모델을 다른 태스크 수행에 재사용하는 기법 기존에는 태스크를 처음부터 학습했었기 때문에, 트랜스퍼 러닝은 학습 속도가 빨라지고 새로운 태스크를 더 잘 수행하는 경향이 생김. 기존 태스크1을 Upstream 태스크라고 부르고 새롭게 할 태스크2를 Downstream 태스크라고 부른다. 업스트림 테스크를 학습하는 과정을 프리트레인(pretrain)이라고 부른다. 업스트림 태스크 다음 단어 맞히기 자연어의 문맥(context)을 모델에 내재화하고 다양한 다운스트림 태스크에 적용해 성능을 향상시켰다. GPT 계열의 경우 다음 단어 맞히기를 태스크로 프리트레인했다. → 예) ‘티끌 모아 00’에서 ‘태산’을 넣을 수 있도록 학습한다. 당연히 ‘태산’이 나올 확률을 높히고 다른 ..
한동안 의도치 않게 자연어에 대해서 알아야만 한다. 모르는 단어가 너무 많다. 하나씩 정리해보고 공부한다. 부스트코스의 무료강의를 많이 참고했다. 나도 멋지게 선형대수, 확률통계 이해해서 확확 이해하고 싶은데, 추상적으로 이해된다. 나중에 내가 잘 되면 수정해야겠다. Word Embedding 이란? 자연어를 단어들의 시퀀스라고 볼때, 특정한 차원상의 특정한 점, 벡터로 표현할 수 있을 것이다. 텍스트 데이터셋을 학습 데이터로 주고 좌표 공간의 차원 수를 미리 정의해서 입력으로 워드 임베딩 알고리즘에 준다면 학습 이후 데이터에서 나타난 각각의 최적의 좌표값, 벡터를 얻어낼 수 있다. 비슷한 의미를 가진 단어가 좌표 공간상에 비슷한 공간(벡터로)에 있게 됨 Kitty는 Cat와 가깝지만 Hamburger와..
"한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다" 개발 처음 배울 때는 코딩만 잘하면 되는 줄 알았다 (그 조차도 못함) 개발자는 은둔하고 소심한 체크남방 남자의 삶일 줄 알았으나 의외로 정말 많은 발표, 문서화를 경험하게 됐다. 개발자끼리는 API 명세서를 포함한 각종 문서를 만들어야했다. 최근엔 소마를 하게 되면서 기획서를 만들고, 발표 준비를 했다. 내 생각을 전달하는 방법이 몹시 중요하다. 무슨 문서든 똑같다. 기획서를 작성하라고 시킴 당하고(?) API 명세서를 만들라고 강요당하면 벙찐다. 피드백을 받을 때 꽤나 많이 들어봤고, 나도 많이 고민하는 것은 우리는 오랫동안 고민하면서 익숙해졌지만 듣는 사람들은 이 내용이 뭘 말하는 지 모른다는 사실이다. 이 책에서는 “지식의 저주”라는 표..
노드를 사용자에게 엄청 많은 지지를 받은 책. Node.js 교과서. 벌써 3판이 나왔다기에 이번 기회에 받아서 읽었다. 2판을 지인 책을 빌려서 읽었었는데. 그때도 두꺼웠지만 더 두꺼워져서 어마어마한 무기처럼 생겼다. 프로젝트를 할 때, JS로 개인적으로 공부할 때 많이 들춰본 책이었다. 3판에 들어와서 추가된 부분은 Node 18버전, 최신 JS 문법과 TS도입 등이 있다. 보통 이정도 두께의 책은 사전이나 개념서같은 느낌이 많이 드는데, 이 책은 특이하게도 스텝바이스텝으로 따라가는 강의 느낌의 책이다. (실제로 인프런에서 강의를 하고 있다!) 그렇기 때문에 될 수 있으면 앞의 부분을 뛰어넘기보다는 천천히 앞으로 나아가는 것이 좋다. 노드는 서버로 주로 통용되고는 있지만 런타임 환경이고, npm을 통..
"한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다" 『전문가를 위한 C』 이 책은 C 프로그래밍 언어의 전문가가 되기 위한 필수적으로 갖고 있으면 좋을 책이다. 학교 수업이나 기타 개인적인 공부로 C언어를 공부했었는데. 정말 아는 것이 하나도 없었다는 것을 알게되는 겸손함을 주는 책이다. 이 책은 프로그래밍 언어 C의 기초부터 심화적인 내용까지 폭넓게 다루며, C 언어의 동작 방식과 이를 이용한 최적화 기법, 메모리 관리, 시스템 프로그래밍 등 C 언어의 전반적인 개념과 응용에 대한 이해를 돕는다. 특이하게도 기본서에 적혀있을 내용이 빠지거나 적은데 900페이지 가까이 되는 책이 나왔다는 것은 놀라운 일이다. 이 책은 C 프로그래밍 경험이 '많이' 있는 전문가들을 대상으로 작성되었기 때문에, 초..