TS에서 Combining destructuring with parameter properties
March 31, 2020문제 현재 작성하고 있는 entities 의 클래스들은 아래와 같은 형태를 띄고 있다. 여기서, , , 를 private으로 만들고, getter…
Written by Sukjae who lives and works in Seoul building useful things. You should follow him on Github
문제 현재 작성하고 있는 entities 의 클래스들은 아래와 같은 형태를 띄고 있다. 여기서, , , 를 private으로 만들고, getter…
원제 Clean Architecture 제목 클린 아키텍쳐 저자 Robert C. Martin ISBN 978-89-6626-247-2 독서 기간 2020-03-15 독서 량 CH…
원제 Clean Architecture 제목 클린 아키텍쳐 저자 Robert C. Martin ISBN 978-89-6626-247-2 독서 기간 2020-03-12 독서 량 CH1, CH…
Lucid Chart 학습 계기 원래는 keynote나 powerpoint, sketch app 등으로 다이어 그램을 그리곤 했다. 그러다, 이를 더 쉽고 체계적으로 그릴 수 있는 도구들에 대해 알아보게 되었고 lucid chart…
제목 GOTO 2018 • Functional Programming in 40 Minutes • Russ Olsen 요약 FP에 관한 간단한 intro 시청일 2020.03.10 링크 Youtube…
HTML의 여러 엘리먼트를 스타일링 하기 위해 다양한 방법이 존재한다. 엘리먼트 자체가 약속에 의해 스타일을 포함하는 경우가 있고, 브라우저가 임의로 스타일링 하는 경우도 있으며 css 파일로 적용할 수 있다. 아니면 inline style…
css 작업을 하기 위해 와 같은 도구를 사용하곤 한다. 그 이유는 브라우저마다 HTML tag…
우연히 microbrowser란 용어에 대해 알게 되었고, microbrowser에 대해 깊이 알아 보기전 간단한 정리를 진행하였다 microbrowser…
…
요약 build your own x 정신에 따라, 만들지 못한다면 이해하지 못한 것 이라는 가정을 갖고 React 를 만들기 위해 학습합니다. React…
원제 객체지향의 사실과 오해: 역할, 책임, 협력 관점에서 본 객체지향 저자 조영호 ISBN 978-89-98139-76 독서 기간 2019-12-31 ~ 독서 량…
원제 Node.js Design Patter 제목 Node.js 디자인패턴 저자 Mario Casciaro, Luciano Mammino ISBN 9788931459425 독서 기간 2019-11-23 독서 량 1장 시작하기 앞서… Node…
오늘 정말 간단한 것에서 생각의 확장이 이루어진것 같다. 대단한건 아니지만, 나로서는 굉장시 신박하였고, 창의적이였다. 지하철에서 부스트 캠프를 가면서, airbnb에서 typescript를 적용한 사례에 대한 영상을 보고 있었다. Adopting…
발표명 IAM 정책을 잘 알아야 AWS 보안도 쉬워진다. 이것은 꼭 알고 가자! 발표자 신은수 솔루션즈 아키텍트(AWS) 출처 https://youtu.be/iPKaylieTV8 오늘은 AWS의 IAM…
프로젝트를 진행하며 Elasticsearch를 사용해야 할 일이 생겼습니다. 이에 따라 기본적인 사용 방법을 파악하기 위해 공식 문서의 get started 내용을 정리하였습니다. Elastic Stack 과거 ELK…
JS에서 Map도 기본적으로 forEach가 된다. MDN 문서에 따르면, Map에 기본적으로 forEach가 제공된다. 흔히 사용하는 Array.prototype.forEach…
세미나 명 웹 개발자들을 위한 잡다한 웹 지식 세미나 일정 2019-11-06 19:00-21:00 장소 구글 스타트업 캠퍼스 발표자 이동휘 님 주제 구글 검색 엔진 이해하기, 구글 크롤러 봇은 JS…
원제 Agile Software Development with Scrum 제목 스크럼 저자 Ken schwaber, Mike beedle ISBN 9788991268470 독서 기간 2019-11-01 독서 량 1장 -…
원제 Agile Software Development with Scrum 제목 스크럼 저자 Ken schwaber, Mike beedle ISBN 9788991268470 독서 기간 2019-10-31 독서 량…
원제 Extreme Programming Explained 2/E 제목 익스트림 프로그래밍 저자 Kent Beck ISBN 8991268102 독서 기간 2019-10-28 독서 량…
원제 Extreme Programming Explained 2/E 제목 익스트림 프로그래밍 저자 Kent Beck ISBN 8991268102 독서 기간 2019-10-27 독서 량…
원제 Extreme Programming Explained 2/E 제목 익스트림 프로그래밍 저자 Kent Beck ISBN 8991268102 독서 기간 2019-10-26 독서 량 1장 -…
원제 Test Driven Development: by example 제목 테스트 주도 개발 저자 Kent Beck ISBN 9788966261024 독서 기간 2019-09-24, 15:00-16:00 독서 량 5장 -…
원제 Test Driven Development: by example 제목 테스트 주도 개발 저자 Kent Beck ISBN 9788966261024 독서 기간 2019-09-23, 18:00-19:00 독서 량 1장 -…
Kubernetes 삽질기 2 구상중인 k8s + AWS 인프라 구성 v1 햇갈리는 부분 정리 K8s에 쓰일 docker image는 어느 레벨까지 dockerlize가 되어야 할까 드는 생각들은, os위에 node, 그리고 그 위에 Express…
…
왜 성과를 내지 못했을까 한정된 시간속에서 주어진 과제를 수행하기 위해 최선을 다해야 한다. 이번 프로젝트 6~…
Kubernetes 삽질기 1 햇갈리는 부분 정리 약 결함 k8s 는 loosely coupled 되어 있다. 오로지 라벨 만으로 템플릿을 확인하여, 작업된다. Rolling update 새로운 pod 띄우고, 기존 pod…
Socket.IO 삽질기 2 부스트 캠프 프로젝트 중에 채팅 기능을 구현해야 했고, 그 기술로 웹소켓을 선정하였다. 개인적으로 두가지 후보를 고민하였는데, 하나는 AWS의 api gateway에서 제공하는 websocket…
부스트 캠프 프로젝트 중에 채팅 기능을 구현해야 했고, 그 기술로 웹소켓을 선정하였다. 개인적으로 두가지 후보를 고민하였는데, 하나는 AWS의 api gateway에서 제공하는 websocket이고, 다른 하나는 socket.io…
…
…
AWS SAM이란 AWS SAM은 CloudFormation의 확장. 이용을 더 쉽게 해주는 도구이다. SAM 업데이트 시에 데이터 유실 조심 Template 에서 Attribute 를 Update시에 data losses…
…
…
스크럼이 옳바른 선택일까? 스크럼이 정말 좋은 개발론임에는 이견이 없다. 하지만, 모든 개발론이 그러하듯 하나의 절대적인 방법은 없으며, 상황에 따라 적절한 방법을 선택해야 하는것 같다. 우리의 경우에는 7주라는 시간동안…
멤버십 프로젝트를 시작하여 이제 2달간의 멤버십 프로젝트가 시작되었다. 약 7주간의 시간동안…
오늘의 고민들 React에서 useEffect의 실행 흐름 이해하기 다음과 같은 컴포넌트는, 결국 몇번의 “work” 로그를 찍을까? 정답: 3번 그렇다면, 다음은? 정답:…
오늘의 고민들 React에서 hooks가 어떻게 HOC를 대체하는가 React에서는 보통 cross-cutting concerns(공통의 관심사)를 해결하기 위해서 사용되었다. Component…
오늘의 고민들 React의 props를 통하여 동일한 값을 너무 깊게 내려야 한다면? 예를 들어, 상위 컴포넌트에서 자식 컴포넌트로 특정 props…
오늘의 고민들 React에서 어떻게 하나의 변화에 대해, 연쇄적으로 다른 변화를 이르킬 수 있을까 Redux, context 등을 고려하지 않고, 순수하게 React의 사고 방식으로 부모에서 자녀로 props…
오늘의 고민들 모던한 웹 환경에서 사용자 인증과 권한 부여는 어떻게 이루어 질까 위 내용을 살펴보며 중요한 키워드 몇가지가 눈에 띄었다. OAuth2.0 OpenID Connect SAML SSO JWT…
마스터 클래스 DBMS의 ORM을 사용하지 않고 Query…
프로젝트를 완성하지 못한 이유 계획의 부재 지나친 고민 컨디션 저조 빠르게 구현을 해보지 못함(최소한 사용가능한 모습으로 만드는것을 우선시 했어야 함)…
…
오늘의 배움 Express에서 미들웨어를 테스트하는 방법 Node 진영에서 사용할 수 있는 많은 테스트 라이브러리 들이 존재한다. 그중에서 나는 FE와의 통일성을 위하여 Jest…
오늘의 배움 Node & Express를 사용하면서, DB연결에 대한 고민을 하였다. 우리의 경우에는 lowDB를 선택적으로 사용할 수 있었는데, 이에 대한 설정을 하는 부분에서 많이 배웠다. 1. Express…
마스터 클래스 정리 TCP소켓과 웹소켓의 차이, 브라우저에서 왜 필요한지 생각해보자 브라우저 없이 TCP/IP…
프로젝트 회고 오늘로서 1주일차 FE…
…
…
…
절대 지각하지 않는다. 9 to 9 모든 코드에 Test…
…
깃헙 README.md에 사진을 올리면 기본적으로 전체 사이즈로 올라가게 된다. 문제는, width가 화면에 꽉차게 맞춰져서 스마트폰등에서 찍은 세로로 긴 사진을 올리면 보기 싫어지게 된다… 사진을 MD…
개요 Netlify와 같은곳에서 만들지만 살짝 다른 서비스 Netlify는 static site를 Host하는 도구 그러나… 어차피 Netlify CMS를 사용하려 하여도 Authentication을 위해서 서버가 필요하다… github…
정말 단순한 깨달음… 중첩된 객체에서 요소를 바꾸기 위해 filter를 굳이 사용 하지 않아도 되었었다…ㅎ 부스트 캠프 1…
역시 하나를 알려면 제대로 알아야 한다. 막상 Redux에서 Thunk를 활용할 고민을 하니, 어떻게 활용할지 잘 감이 안왔다. 이 Thunk 덕분에 바로 dispatch…
Normalizr는 redux를 만든 Dan씨가 만든 라이브러리이다. Redux와 궁합이 잘 맞고, 복잡한 nested object에 대해 사용이 편리한 객체로 변환을 용이하게 해준다. Motivation Many APIs, public or not…
오늘의 trial & error 오늘 이 부분에 안되서 한참을 고민을 하였다. 물론, 빠르게 구현하려고 docs를 제대로 안 본 나의 쟐못도 있지만, 이 문제를 해결하는데 힘들었다. Lambda…
피어 세션 중 생각 정리 테스트 코드 테스트 코드를 효율적으로 관리하기 위해 Jest 라이브러리를 사용하여 구현하였다. 모든 모듈별로 테스트를 독립적으로 구성하여, 유지보수를 용이하게 하였다. Node의 URL Node의 URL…
…
피어 세션 중 생각 정리 setTimeout 내부 동작 방식 setTimeout의 동작 방식은 JS를 실행하는 엔진의 구현방식에 따라 상이합니다. 웹에서는 web API로 추상화된 기능을 사용할 수 있고, Node…
피어 세션 중 생각 정리 코드 구성에 대한 고민 type array 를 제외한 모든 type은 child:[] 를 갖지 않는다. 이렇게 하는게 조금 더 자연스러운것 같다. array는 child를 갖을 수 있지만, 나머지 자료형은 child…
…
JS에서 를 사용하면, 이하 부분이 하나의 block일거라 가정하고 을 쓰면 항상 이미 정의되어있다는 에러가 나서 왜그런가 찾아보니, 이하 부분이 하나의 block 이더라… 그래서, 별로 변수를 지정하여 사용하려면 다음처럼 뒤에 brackets…
처음 든 생각은 Fragment를 이용하는 방법이였다. 반환값으로 를 제공하면, React스럽게 진행될것이라 예상하였다. 이전에 다른 분이 짜놓으신 코드에서는 상황별로 component가 를 반환하게끔 처리 되어있었는데, 이 부분이 ts-check…
다른 분이 질문하신 내용에 대한 나의 생각을 답변하였다. 그 내용을 기록한다. 질문 : 지난번 세션에서 리액트 컴포넌트에서는 상태를 최대한 배제하는 게 좋다고 하였다. 그렇다면 존의 리액트 전달 방식은 최대한 안쓰는게 좋은가? 그렇다면, state…
TL;DR 요즘 프로젝트를 하며 Github을 통해 fork를 많이 한다. 문제는, 내 생각과는 다르게 원본(upstream repository) 에서의 수정 (ex, master 갱신 등) 이 forked된 나의 repo…
피어 세션 중 생각 정리 전날 구현한 코드에 대해 다시 한번 정리하는 시간을 갖습니다 WEB API 속의 Canvas API 는 HTML속의 DOM 엘리먼트를 뜻합니다. (로서 표현 됩니다.) ](https://developer.mozilla…
피어 세션 중 생각 정리 전날 구현한 코드에 대해 다시 한번 정리하는 시간을 갖습니다 Utils 자주 쓰이는 함수들을 따로 Utils로 분리하여 관리 하였습니다. 를 구현하여 출력되는 log…
…
피어 세션 중 생각 정리 전날 구현한 코드에 대해 다시 한번 정리하는 시간을 갖습니다 Model-Controller 기능 구현을 용이하게 하고, 구조화 하기 위해 Model/Controller/Util/Starte…
피어 세션 중 느낀것 async/await 사용에 대한 고민 JS에서 연산자는 다음과 같은 특징을 갖고 있습니다. await 문은 async함수의 실행을 중단시키고, Promise가 fulfill되거나 reject되기를 기다리고, 다시 async…
오전 시간에 느낀점 오늘은 일찍 와서 책을 보았다. 앞부분만 보고 끝까지 읽지 않았던 자바스크립트 노랑이를 읽었다. 이 책을 이번주 안에 1/4를 읽기로 마음을 먹고, 차근차근 책을 읽으니 좋은 내용이 참 많았다. 3.7.1 매개변수의 이해 ES…
programmers 에서 진행하는 react 스터디를 통해 styled-jsx를 접하게 되었다. 처음에는 개인적으로 문법을 사용하는 방법이 워낙 괴랄하여 거부감이 많이 들었다. 뭔가, 너무 react…
어제 정리한 내용중에 immutable data pattern 이라는 부분이 있다. 여기서 정리 하였듯이, Primitive value를 제외한 모든 것이 mutable 하고, 이로 인한 사이드 이펙트를 방지하기 위해 copy…
피어 세션 중 느낀것 옵저버 패턴의 장점 하나의 이벤트에 대해서 다수의 서로 다른 액션이 가능하다. 이 과정에서, 이벤트를 방생시키는 주체와, 이벤트를 소비하는 대상이 서로 디커플링이 되어 종속을 최소화할 수 있다. immutable value Js…
…
피어 세션 중 느낀것 Immutable vs mutable immutable…
피어 세션 어제 작성한 코드를 돌아보며 두가지 부분에 대한 생각을 추가로 정리하였다. 를 구현 하면서 에 접근 하기위한 3가지 방법 를 다른 변수에 넣기 해주기 arrow function…
…
은 함수(function)에만 기본적으로 내장된다. ?? 함수를 제외한 다른 자료형 (ex, array, object, number, etc…
공부 이유 ReactJS 문서에도 composition over inheritance…
…
챌린지 중 느낀것 주어진 기능을 완성 한 뒤 시간이 많이 남아 재밌는 도전을 해봤다. 단, 코드의 가독성을 일부러 떨어트리는, 예를 들어 그 스스로 적당한 이름이 있을 수 있는 count 변수를 임의의 한글자 x…
피어 세션 중 느낀것 오늘 역시 새로운 용어들을 많이 들었고, 다른 이들의 생각과 고민의 흔적을 들어볼 수 있었다. 그중에 몇가지 기억에 남는 토론을 적는다. thorw & try catch 에러를 핸들링 하기 위해서 try catch…
피어 세션 후기 오늘 처음 피어 세션을 통해 코드리뷰를 했다. 모두 높은 수준의 지식과 긱함을 같고 있어 굉장이 놀라운 경험이엿다. 조원 중 한명은 타입과 디자인에 대해 광적으로(좋은 의미)로 집착을 하였고 또 다른 한명은 기본적인 js…
절대 지각하지 않는다. 9 to 9 모든 코드에 Test를 적용한다. 새로운 것들을 적용해 본다. 커밋 규칙을 준수한다. 매일 배운 내용은 그날 정리한다.
주어진 문제를 해결하며 적용한 라이브러리 Jest - testing library JsDoc - markup language used to annotate JavaScript source code files TypeScript - It is a…
공부 이유 JS를 공부하며 항상 햇갈리는 개념들이 있었다. 나는 JS를 공부한다 해야 하나 NodeJS를 공부한다 해야하나 JS event loop은 도대체 무엇일까 JS는 왜, 어떻게 single thread, non blocking io…
TL;DR 그냥 bash_profile내용을 zshrc 파일에 넣으면 된다 기본 터미널을 Iterm2로 바꾸고, zsh로 바뀌었음에도 bash_profile…
공부 이유 : Composition over Inheritance ReactJS에서 선호되는 방식 중 하나이다. 또한, JS에서도 선호되는 방식이다. React docs 에서 학습을 하다보면, 항상 Composition 과 Inheritance…
공부 이유 : 요즘 functional programming과 reactive programming을 학습하며 다양한 Intro 강의들을 찾아 학습하고 있다. 그 중에서 오랜만에 깔끔하고 잘 만들어진 강의가 있어 정리해 보았다. [Just Enough…
…
공부 이유 : 요즘 functional programming과 reactive programming을 학습하며 다양한 Intro 강의들을 찾아 학습하고 있다. 그 중에서 오랜만에 깔끔하고 잘 만들어진 강의가 있어 정리해 보았다. [Just Enough…
공부 이유 : 요즘 functional programming과 reactive programming을 학습하며 다양한 Intro 강의들을 찾아 학습하고 있다. 그 중에서 오랜만에 깔끔하고 잘 만들어진 강의가 있어 정리해 보았다. [Just Enough…
공부 이유 : React에서 Redux를 사용하여Async한 로직을 관리할때 자주 쓰이는 라이브러리가 redux-thunk, redux-saga, 그리고 어쩌면 redux-observable(RXJS)등 이 있을것이다. redux에서 async…
공부 이유 : 함수형 프로그래밍에는 다양한 아이디어들이 조화를 이루며 나은 개발 방법을 제시한다. 그 중에서 curried functions…
…
공부 이유 : CI/CD를 위해 다양한 서비스들이 사용된다. 가장 많이 보는것은 Chef, 쿠버네티스, AWS CloudFormation, AWS OpsWork…
공부 이유 : 프로그래머스에서 진행하는 온라인 스터디 내용중에 Parcel를 활용한다는 내용이 있었다. 이게 Webpack과 비교하여 어떤 장점으로 사용되나를 찾아보다 네이버에서 적용한 후기를 찾아보게 되었다. React와 Apollo, Parcel…
…
공부 이유 : TDD가 선택이 아닌 필수임을 알게된 이상 Testing에 대한 딥 다이브가 필요하였다. 그러나 UI 컴포넌트에서 어떤 테스팅 기법이 쓰이는지 상상이 안갔다. 그래서 React에서 쓰이는 테스팅 도구인 jest…