Programming(177)
-
[ES6] let과 const
모던 자바스크립트 개발을 위한 ES6 이 포스팅은 인프런의 '모던 자바스크립트 개발을 위한 ES6 강좌'의 수강 내용을 바탕으로 정리한 내용입니다. Scope ES6에서는 변수를 선언하기 위한 키워드 let과 const가 추가됐습니다. 이번에는 이 let과 const가 기존의 var과 어떤 차이를 가지는 지, 그리고 왜 let과 const를 사용해야 하는지에 대한 내용을 정리합니다. var은 function, with, catch 키워드를 사용했을 경우에만 유효한 scope를 생성하게 됩니다. 아래의 코드를 살펴봅시다. var array = [1, 2, 3]; for(var i=0; i
2019.10.12 -
자바스크립트로 알아보는 함수형 프로그래밍 정리노트#4, 함수형으로 전환하기
응용형 함수 함수를 인자로 전달받아서, 원하는 시점에 호출하는 함수를 응용형 함수라고 하며, 응용형 함수를 이용해서 코드를 작성하는 방식을 적응형 프로그래밍이라고 한다. var users = [ {name: a, age: 23}, {name: b, age: 31}, {name: c, age: 24}, {name: d, age: 32}, {name: e, age: 25} ] 위와 같은 배열이 있을 때, 아래와 같은 응용형 함수들을 작성할 수 있다. _filter 배열의 요소 중 특정 조건을 만족하는 요소만 반환하는 함수 _filter를 작성해보자. function _filter(array, predict) { var filteredArray = [], index; for(index=0; index= 30;..
2019.09.22 -
자바스크립트로 알아보는 함수형 프로그래밍 정리노트 #3
이 글은 인프런에서 게재되어있는, 유인동 님의 자바스크립트로 알아보는 함수형 프로그래밍을 수강하면서 정리한 노트입니다. 제가 잘못 이해하거나 정리한 내용이 있다면 댓글로 알려주세요. 확인하는대로 수정하도록 하겠습니다. :) "함수형 프로그래밍은 어플리케이션, 함수의 구성요소, 더 나아가서 언어 자체를 함수처럼 여기도록 만들고, 이러한 함수 개념을 가장 우선순위에 놓는다." by 마이클 포거스, 클로저 프로그래밍의 즐거움. "함수형 사고방식은 문제의 해결 방법을 동사(함수)들로 구성(조합)하는 것" by 마이클 포거스, 클로저 프로그래밍의 즐거움. 데이터(객체) 기준의 코드는 아래와 같다. duck.moveLeft(); duck.moveRight(); dog.moveLeft(); dog.moveRight(..
2019.09.15 -
자바스크립트로 알아보는 함수형 프로그래밍 정리노트 #2
이 글은 인프런에서 게재되어있는, 유인동 님의 자바스크립트로 알아보는 함수형 프로그래밍을 수강하면서 정리한 노트입니다. 제가 잘못 이해하거나 정리한 내용이 있다면 댓글로 알려주세요. 확인하는대로 수정하도록 하겠습니다. :) 일급 객체(First Class) 자바 스크립트에서는 함수가 일급 객체(First Class)이다. 일급 객체는 다음과 같은 특성을 지닌다. 리터럴에 의해 생성된다. 변수나 배열의 요소, 객체의 프로퍼티 등에 할당이 가능하다. 함수의 인자로 전달이 가능하다. 함수의 리턴 값으로 반환이 가능하다. 동적으로 프로퍼티를 생성하거나, 할당하는 게 가능하다. add_maker() 다음의 예제를 살펴보도록 하자. function add_maker(a) { return function(b) { r..
2019.09.15 -
자바스크립트로 알아보는 함수형 프로그래밍 정리노트 #1
이 글은 인프런에서 게재되어있는, 유인동 님의 자바스크립트로 알아보는 함수형 프로그래밍을 수강하면서 정리한 노트입니다. 제가 잘못 이해하거나 정리한 내용이 있다면 댓글로 알려주세요. 확인하는대로 수정하도록 하겠습니다. :) 성공적인 프로그래밍 모든 프로그래밍 패러다임은 성공적인 프로그래밍을 위해 존재한다. 이는 함수형 프로그래밍도 마찬가지이다. 그렇다면 좋은 프로그램이란 무엇일까? 바로 사용성, 성능, 확장성, 기획 변경에 대한 대응력이 좋은 프로그램을 좋은 프로그램이라고 한다. 이러한 좋은 프로그램을 효율적이고 생산적으로 만들어내는 것이 바로 성공적인 프로그래밍이다. 함수형 프로그래밍은 성공적인 프로그래밍을 위해 부수 효과를 미워하고, 조합성을 강조하는 프로그래밍 패러다임이다. 순수 함수를 만든다. 순..
2019.09.15 -
3일에 걸친 리펙토링을 하고나서, 코드를 잘 작성하는 법에 대해 생각해봤다.
NVR/DVR에 저장되어있는 기록을 검색해서, 리스트 형태로 보여주는 UI에 추가기능을 구현해야했다. 전임자는 MFC를 이용해서 윈도우 프로그래밍을 하던 사람으로, 팀 내에 안드로이드 개발자가 관두게 되면서 잠시 땜빵식으로 일을 맡게 됐다고 한다. 안드로이드를 하던 사람은 커녕, 자바를 쓰던 사람도 아니었기 때문에 코드를 열어보기 전까지 어느정도의 각오는 되어 있었다. 하지만 현실은 생각보다 더 처참했다. channel이라는 변수명을 입력하다가 자동완성이 되지 않아서 다시 확인해보니, 해당 클래스 내 전체에서 chennel이라고 오타가 난 변수명을 그대로 사용하고 있는 것(심지어 참조하는 부분도 꽤 있었다.)은 애교. 버튼을 선택했을 때는 #ffffff로, 선택되지 않았을 때 #000000로 변경해주는 ..
2019.09.15