목록분류 전체보기 (58)
히바리 쿄야 와 함께 하는 Developer Cafe
모나드는 순서가 있는 연산을 처리하는데 사용하는 디자인 패턴이다. 모나드는 순수 함수형 프로그래밍 언어에서 부작용을 관리하기 위해 광범위하게 사용되며 복합 체계 언어에서도 복잡도를 제어하기 위해 사용된다. 모나드는 타입으로 감싸 빈 값을 자동으로 전파하거나(Maybe 모나드) 또는 비동기 코드를 단순화(Continuation 모나드) 하는 등의 행동을 추가하는 역할을 한다. 모나드를 고려하고 있다면 코드의 구조가 다음 세가지 조건을 만족해야 한다. 타입 생성자 – 기초 타입을 위한 모나드화된 타입을 생성하는 기능. 예를 들면 기초 타입인 number를 위해 Maybe 타입을 정의하는 것. unit 함수 – 기초 타입의 값을 감싸 모나드에 넣음. Maybe 모나드가 number 타입인 값 2를 감싸면 타입..
NOTE 제네릭 * 컴파일시 타입 안정성을 보장 * 캐스팅 관련 코드 제거 function add(a: T, b: T) { return Num(a) + Num(b); } let a = 3; let b = 4; let result = add(a, b); console.log(result); 가 타입 매개변수 라고 함 T 대신에 다른 문자 사용해도 상관 없다 타입 상속을 이용한 방법 function add(a: T, b: T) { return a + b; } 오버 로딩을 이용한 방법 function add(a: T, b: T) T; function add(a: k, b: k) { return a + b; } (a: 최종타입1, b: 최종타입2, ...) { }
함수형 프로그램은 함수와 선언형 프로그래밍의 함수 조합과 모나드 조합 으로 코드를 설계 하고 구현하는 기법 타입스크립트 제네릭 구문 function g1(a: T): void {} function g2(a: T, b: Q): void {} # Compose compose는 컨베이어 벨트라고 생각하면 된다. 일련의 함수들(=컨베이어 벨트의 기계들)이 나열되어 있고, 데이터(=조립할 대상)이 컨베이어 벨트에 input되는 것이다. 그러면 1번 함수가 input 받아 데이터에 변형을 가한 뒤, 2번 함수에게 전달하고, 2번 함수는 1번 함수의 결과물 데이터를 input 받아 함수 실행 후 output을 3번 함수에게 전달한다. 이렇게 일련의 과정을 거친 후에 최종적으로 원하는 결과물을 리턴시..
타입스크립트 세팅 scoop 설치 윈도우 파워쉘 관리자 모드 에서 명령어 입력 Set-ExecutionPolicy RemoteSigned -scope CurrentUser -> 명령어 실행후 a 입력 $env:SCOOP='C:\Scoop' iex (new-object net.webclient).downloading('https://get.scoop.sh') scoop install aria2 scoop install git vscode 설치 scoop bucket add extras scoop install vscode nodeJs 설치 scoop install nodejs-lts node -v 구글 크롬 브라우저 설치 scoop install googlechrome chrome vscode 터미널 창에..
1) bxSlider 옵션 구분 기본값 데이터타입 기능 mode horizontal horizontal vertical fade 슬라이드 이동 방향 설정 speed 500 숫자 슬라이드 전환 속도 pager true 논리 동그라미(불릿) 버튼 노출 여부 moveSlides 0 숫자 슬라이드 이동시 개수 sliderWidth 0 숫자 슬라이드 너비 slideMargin 0 숫자 슬라이드 사이 여백 maxSlides 1 숫자 슬라이드 최대 노출 개수 minSlides 1 숫자 슬라이드 최소 노출 개수 auto false 논리 자동 슬라이드 여부 autoHover false 논리 슬라이드에 마우스 호버시 애니메이션 정지 여부 controls false 논리 이전/다음 버튼 노출 여부 2) 슬라이드 제어 메..
hide() : 요소 숨김 fadeOut() : 요소가 점점 투명해지면서 사라짐 slideUp() : 요소가 위로 접히며 숨겨짐 show() : 숨겨진 요소 보여줌 fadeIn() : 숨겨진 요소 점점 선명해짐 slideDown() : 숨겨진 요소가 아래로 펼쳐짐 toggle() : hide(), show() 효과 적용 fadeToggle() : fadeIn(), fadeOut() slideToggle() : slideUp(), slideDown() fadeTo() : 지정한 투명도 적용 $("요소 선택").효과 메서드(효과 소요시간, 가속도, 콜백함수); fadeTo() $("요소 선택").효과 메서드(효과 소요시간, 투명도, 콜백함수); animate() 동작효과 적용할때 ..
JQUERY 선택자 ---- DOM Selector ------------ $("선택자1 선택자2") 선택자1의 자손이면서 선택자2와 일치하는 모든 엘리먼트에 적용 $("선택자1 > 선택자2") 선택자1의 바로 아래 자손이면서 선택자2와 일치하는 엘리먼트에 적용 $("선택자1 + 선택자2") 선택자1의 형제 엘리먼트로 바로 다음에 나오는 엘리먼트 선택자2와 일치하는 엘리먼트에 적용 $("선택자1 ~ 선택자2") 선택자1의 형제 엘리먼트중에 선택자2와 일치하는 다음에 나오는 모든 엘리먼트에 적용 $("선택자1:has("선택자2")") 선택자2인 자손을 1개이상 가진 선택자1인 모든 엘리먼트에 적용 $("선택자:first") 선택자과 일치하는 것중 페이지에서 처음으로 일치하는 엘리먼..
자바스크립트 객체 자바스크립트의 기본 타입(data type)은 객체(object)입니다. 객체란 이름(name)과 값(value)으로 구성된 프로퍼티(property)의 정렬되지 않은 집합입니다. 프로퍼티의 값으로 함수가 올 수도 있는데, 이러한 프로퍼티를 메소드(method)라고 합니다. 객체의 프로퍼티 참조 객체이름.프로퍼티이름 또는 객체이름["프로퍼티이름"] var person = { name: "하하", // 이름 프로퍼티를 정의함. birthday: "991231", // 생년월일 프로퍼티를 정의함. pw: "1234567", // 개인 id 프로퍼티를 정의함. fullId: function() { // 생년월일과 개인 id를 합쳐서 주민등록번호를 반환함. return this...
자바스크립트 Array 객체의 메소드 BOM(Browser Object Model) BOM(Browser Object Model)이란 웹브라우저의 창이나 프래임을 추상화해서 프로그래밍적으로 제어할 수 있도록 제공하는 수단이다. 자바스크립트의 내장 객체 window : 브라우저 창이 열릴 때마다 하나씩 만들어짐. 브라우저 창 안의 요소 중에서 최상위에 있다. document: 웹 문서마다 하나씩 있으며 태그를 함나면 만들어짐. HTML 문서의 정보가 담겨 있다. navigator: 현재 사용하는 브라우저의 정보가 들어 있다. history : 현재 창에서 사용자의 방문 기록을 저장한다. location : 현재 페이지의 url 정보가 담겨 있다. screen : 현재 사용하는 화면 정보를 다룬다. ..
NOTE 연산자의 종류 삼항연산자 (조건식) ? true : false 조건문 if (조건식) { // statement1 } else if(조건식) { // statement2 } else { // statement3 } - if 안에 있는 조건식이 참인 경우 해당하는 if문, else if문을 실행 한다. - 조건문(if, else if)에 모두 해당하지 않으면 else에 있는 statement3 이 실행된다. switch ~ case switch ( 변수 ){ case A: // 값 A // 변수 값이 A 일때 실행할 명령문 break; case B: // 변수 값이 B 일때 실행할 명령문 break; case C: // 변수 값이 C 일때 실행할 명령문 break; d..