본문 바로가기

전체

(70)
함수형 자바스크립트 3. 반복자(_each)와 내부다형성 _filter와 _map 구현에서의 중복1. for문으로 loop를 도는 부분1for ( var i = 0; i
함수형 자바스크립트 3. 걸러내기, 수집하기 (_filter, _map) 명령형 코드12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849var users = [ { id: 1, name: "ID", age: 36 }, { id: 2, name: "BJ", age: 32 }, { id: 3, name: "JM", age: 32 }, { id: 4, name: "PJ", age: 27 }, { id: 5, name: "HA", age: 25 }, { id: 6, name: "JE", age: 26 }, { id: 7, name: "JI", age: 31 }, { id: 8, name: "MP", age: 23 }]; // 1. 30세 이상인 users를 거른다.var tem..
함수형 자바스크립트 2. 일급함수와 함수형 프로그래밍 일급 함수값으로 다룰 수 있는 함수* 다른 함수에게 인자로 전달할 수 있으며, 자유로운 시점에 평가가 가능한 함수 123456789101112131415var f1 = function(a) { return a * b;} console.log( f1 );var f2 = f1;console.log( f2 ); /* 일급 함수 호출 */function f3(f) { return f();} console.log( f3(function() { return 10; }) );console.log( f3(function() { return 20; }) );cs 함수형 프로그래밍1. 언제 평가해도 상관이 없는 순수 함수를 만든다.이러한 순수 함수는 일급 함수이므로 값으로 사용가능하며, 이리저리 이동이 가능하다.이렇게 만..
함수형 자바스크립트 1. 순수함수와 부수효과 순수함수어느 함수에 대해 같은 입력을 입력했을 때 항상 같은 출력이 나오는 함수cs 1234567891011121314151617181920212223242526/* 순수 함수 *//* 순수 함수는 평가 시점이 중요하지 않다 */function add(a, b) { return a + b;}/* 동일한 인자, 동일한 결과 *//* 부수 효과 없음 *//* 다른 스레드나 화경에서 실행해도 항상 같은 결과를 가져오기 떄문에 안전하다고 할 수 있다 */console.log( add(10, 5) );console.log( add(10, 5) );console.log( add(10, 5) );/* 동일한 인자, 다른 결과 */var c = 10;function add2(a, b) { return a + b + c..
크리스탈 리포트 2016 SP04 : 설치에러 (INS00140 Error) 윈도우 10에서 크리스탈 리포트 30일 평가판을 설치하다가 에러가 발생했다. SAP에서 보내준 키 코드를 카피해서 적었는데도 올바르지 않다고 한다. 이건 무슨 경우지... 1. 설치파일 문제 회사 컴퓨터에 HTTPS 인증관련 문제가 있어서 설치파일을 다운로드 받는 도중에 계속 경고창이 나타났었다. 집에 가서 다운받아서 다시 설치해봤지만 동일한 에러를 내뱉는다. 구글에 windows10 crystal reports 2016 SP4 install error INS00140 라는 키워드로 검색하면 두개 정도의 해결법이 나온다. 2. cryptocme2.dll 문제 (https://archive.sap.com/documents/docs/DOC-35901) 모든 cryptocme2.dll 파일을 찾아서 백업한 뒤..
MVC, MVP, MVVM 패턴 다음주부터 시작되는 프로젝트에서 ext.js 를 사용한다고 한다. UI 컴포넌트들을 클래스 기반으로 사용할 수 있게 해주며 다양한 테마와 환경을 제공해준다. GPL라이센스로 무료 사용가능하고, private하게 사용하려면 라이센스를 구매해야한다. ExtJS는 애플리케이션 아키텍처로 MVVM 패턴을 제공한다. MVC 패턴도 버겁던 나에게 이러한 개량형 패턴은 더욱 생소했다. 추후에 다시 보기위해 내가 이해한 내용만 정리하려고 한다. 1. MVC 패턴(Model-View_Controller) 대학교 시절 JAVA를 공부하고 JSP로 웹을 만들게 되었을 때, 그러니까 객체고 뭐고 아무것도 모르던 시절에 팀프로젝트로 펜션 호스팅 사이트를 개발했었다. 펜션이 제공하는 방의 목록을 표시하는 JSP페이지 1 2 3 ..
헤드퍼스트 디자인 패턴: 15. MVC 패턴 지난 포스팅에선 여러 패턴을 섞어서 강력한 객체지향 디자인을 만드는 컴파운드 패턴에 대해 알아보았다. 이번에는 매우 강력한 컴파운드 패턴 중 하나인 MVC 패턴에 대해 복습한다. MVC 패턴 (1) View- 모델을 표현하는 방법을 제공하는 사용자 인터페이스. 일반적으로 화면에 표시하기 위해 필요한 상태 및 데이터를 모델에서 직접 가져온다. (2) Model- 모든 데이터, 상태 및 어플리케이션 로직이 들어있다. 뷰와 컨트롤러에서 모델의 상태를 조작하거나 가져오기 위한 인터페이스를 제공하고 모델에서 자신의 상태 변화에 대해서 옵저버들에게 알려주긴 하지만 기본적으로 모델은 뷰와 컨트롤러에 별 관심이 없다. (3) Controller- 뷰와 모델 사이에서 위치하며 사용자로부터 입력을 받아서 그것이 모델에게 ..
헤드퍼스트 디자인 패턴: 14. 컴파운드 패턴 지난 포스팅에선 객체에 대한 접근을 제어하는 프록시 패턴에 대해 알아보았다. 이번에는 여러 패턴을 섞어서 강력한 객체지향 디자인을 만드는 컴파운드 패턴에 대해 복습한다. 컴파운드 패턴두 개 이상의 패턴을 결합하여 일반적으로 자주 등장하는 문제들에 대한 해법을 제공한다. 컴파운드 패턴은 딱히 정해진 의미, 단점, 장점이 뚜렷하지 않다.패턴을 잘 활용하기 위해 서로 다른 패턴을 섞어 쓰는 디자인 방법이기 떄문이다. 다만 주의할 점은 패턴 몇 개를 결합해서 쓴다고 해서 무조건 컴파운드 패턴이 되는 것은 아니다.컴파운드 패턴이라고 불릴 수 있으려면 여러 가지 문제를 해결하기 위한 용도로 쓰일 수 있는 일반적인 해결책이어야 한다. 웹에서 벌어지는 다양한 요청과 이에 대응하는 로직을 처리하고 처리 결과를 브라우저로..