20 POSTS

Page 16

  • #typescript#javascript

    자바스크립트 데코레이터

    ## 데코레이터 ### 0. 설명자 데코레이터에 대해 시작하기 전에, 설명자(Descriptor)에 대해 알아보자. 설명자란, 객체의 프로퍼티가 쓰기가 가능한지, 그리고 열거가 가능한지 여부를 나타낸다. 그리고 설명자를 구현하기 위해서는, [Object.getOwnPropertyDescriptor(obj, propName)](https://develo...

    4분
  • #javascript

    var let const, 그리고 호이스팅

    ## var let const, 그리고 호이스팅 ### var 우리가 모두 아는 `var` 키워드는 아래와 같은 특징을 가지고 있다. 1. 함수레벨 스코프를 가지고 있다. 대부분의 프로그래밍 언어들이 블록 레벨 스코프를 사용하고 있지만, `var`로 선언된 키워드는 함수레벨 스코프를 갖는다. ```javascript var ...

    6분
  • #javascript

    javascript 일반 함수와 화살표 함수의 차이

    ES6에서부터 생긴 `arrow function`은 일반적으로 `()=>{}`의 모양을 하고 있으며, 동작도 비슷해보인다. 하지만 이 두 선언방식은 두가지 분명한 차이를 가지고 있다. 하지만 그전에 this를 알아야 한다.

    3분
  • #javascript

    자바스크립트의 private

    이 글은 [은닉을 향한 자바스크립트의 여정](https://meetup.toast.com/posts/228)을 요약한 글입니다. ## History 자바스크립트에서는 객체에 private 한 속성을 만들 수가 없었다. 그래서 보통 자바스크립트 개발자는 private한 것이다 라는 약속으로 `_` prefix를 붙여서 사용하고는 했었다. ```javas...

    4분
  • #redux#javascript

    리덕스 공부해보기 (3) - 용어

    https://redux.js.org/glossary#state ## 용어 모음 ### State (상태) ```typescript type State = any ``` State (State tree라고 도 불리운다)는 Redux API에서는 보통 스토어에서 관리하고, `getState()`에 의해 반환되는 단일 값을 가리킨다. 관례적으로, 가장...

    10분
  • #javascript#react

    리덕스 공부해보기 (2) - 리덕스의 탄생, 핵심 개념 그리고 3가지 원칙.

    ## 리덕스의 탄생 배경 https://redux.js.org/introduction/motivation **자바스크립트 싱글 페이지 애플리케이션에 대한 요구 사항이 점점 복잡해 짐에 따라서, 우리의 코드는 그 어느 때 보다도 더 많이 상태관리에 대한 필요성을 느끼고 있다.** 여기서 말하는 상태에는 서버 응답, 캐시된 데이터 뿐만아니라 서버에 아직 요...

    9분
  • #redux#react#javascript

    리덕스 공부해보기 (1) - 개요

    ## 리덕스 공부해보기 1 [리덕스 공식문서](https://redux.js.org/introduction/getting-started)를 스스로 대충 번역해본 글입니다. 리덕스는 자바스크립트 앱을 위한 **예측 가능한 상태 관리 컨테이너**다. 리덕스는 일관성 있게 동작하고, 서로 다른 환경 (클라이언트, 서버, 네이티브)에서 실행되며, 테스트하기 ...

    7분
  • #typescript#nodejs

    타입스크립트로 koa 미들웨어 만들기

    koa 미들웨어 만들기

    1분
  • #nodejs#websocket

    Socket.IO 공부하기 (1)

    ## WebSocket 웹은 전형적으로 HTTP 요청에 대한 HTTP 응답을 받고, 이에 따라 브라우저 화면을 새로 만드는 방식이다. 따라서 데이터 통신은 요청과 응답이 한 쌍으로 묶여왔다. 그러나 웹 페이지가 보다 쉽게 상호작용을 하려면, 브라우저와 웹 사이에 이러한 요청 - 응답 방식이 아닌 더 자유로운 양방향 메시지 송수신 기술이 필요하다. 이러한 ...

    4분
  • #python#backend

    [Python] Send ncloud sms message

    네이버 클라우드 플랫폼의 서비스 중 하나인 https://www.ncloud.com/product/applicationService/sens 로 SMS를 발송하는 예제. ncloud서비스를 다 써본건 아니지만, `make_signature`는 전 서비스에 다 똑같이 쓸 수 있을 것 같은 기분이다. ```python import time import req...

    1분
  • #javascript#regex

    Javascript Regex 숫자를 comma와 함께 Formatting 하기

    regex를 활용해서 숫자를 보기좋게 formatting을 해보자.

    2분
  • #nextjs#react#frontend

    NextJS 1. Page & Route

    요즘 리액트를 쓰는 많은 프로젝트에서, SSR을 지원하기 위해 [nextjs](https://nextjs.org/)를 쓰고 있다. 초기 로딩 속도나, SEO 지원 이슈 등 등 때문에 아무래도 SPA는 요즘 트렌드에서 많이 밀린 기분이다. 물론 [razzle](https://github.com/jaredpalmer/razzle) 을 쓰거나 custom ser...

    8분
  • #nextjs#frontend

    NextJS 2. Data Fetching

    [nextjs의 공식 문서](https://nextjs.org/docs/basic-features/data-fetching)를 보고 요약한 내용입니다. ```toc tight: true, from-heading: 1 to-heading: 2 ``` ## 1. getInitialProps Nextjs 9.3 이전에는 `getInitialProps` 밖에...

    13분
  • #javascript

    자바스크립트 커링과 클로져

    ## 커링 [이 글](https://www.sitepoint.com/currying-in-functional-javascript/) 에 잘 정리 되어 있습니다. Currying은 여러 개의 인자를 가진 함수를 호출 할 경우, 파라미터의 수보다 적은 수의 파라미터를 인자로 받으면 누락된 파라미터를 인자로 받는 기법을 말한다. 즉 커링은 함수 하나가 n개...

    2분
  • #javascript#web-performance

    자바스크립트에서 http 요청하기 - fetch에 대한 고찰

    `toc tight: true, from-heading: 2 to-heading: 3 ` ## 1. 서론 자바스크립트에서 http 요청을 하는 것은 이제 비일비재한 일이 되었다. 서버에서 모든 데이터를 가져와서 static 한 html을 만들어서 보여주고 있는 웹페이지는 아마 찾기 어려울 것이다. 맨 처음 웹을 배울 때, jquery의 ajax ...

    6분
  • #react#javascript#web-performance

    React count down에서 배운 event-emitter 와 requestAnimationFrame

    # 리액트에서 카운트 다운을 만들며 배운 것들 리액트에서 카운트 다운을 만든다고 가정해보자. 가장 먼저 생각나는대로, 빠르게 구현한다면 아래와 같은 느낌이 될 것이다. https://codepen.io/yceffort/pen/BayPyNe 하지만 이 코드는 한가지 문제를 가지고 있다. ## setInterval, setTimeout `setInte...

    6분
  • #github#career

    2020년, 매일 github에 contribution 하기

    ## 블로그의 성장 2018년 5월 1일에 블로그를 시작한 이례로 헛소리를 지껄이는 블로그에서, 제법 이사람 저사람 찾아오는 블로그로 성장했다. ![history1](./images/history1.png) ![history2](./images/history2.png) 꾸준한 블로그 뻘 글과 회사에서 일하는 것 덕분에 github contributi...

    2분
  • #security#browser#backend

    Chrome Samesite 쿠키 정책

    # 문제의 시작 지난 주말, 엄청나게 급하게 빠른 속도로 프로젝트를 heroku에 올릴 일이 있었다. DB도 새로만들어야하고, 로그인도 필요한 사이트라 DB는 Heroku의 Clean DB를, 로그인은 [google sign-in for websites](https://developers.google.com/identity/sign-in/web)을 사용하...

    9분
  • #git#devops

    머지된 브랜치를 삭제하는 스크립트

    이미 머지된 브랜치를 로컬에서 삭제하기

    1분
  • #gatsby#frontend

    블로그 개편했습니다. 😎

    주말에 집구석에 혼자 오래있을 일이 있어서, 생각난 김에 블로그를 개편했습니다. 이 전에는 hexo 기반으로 만들어진 블로그를 작업했는데, hexo 생태계가 관리가 잘 안되고 있는 건지 플러그인이나 기능들이 제대로 동작을 안하더군요. wordpress -> ??? -> github pages -> hexo -> gatsby 까지 벌써 개편만 한 다섯번 쯤...

    3분