IIFE(즉시실행 함수)
·
개발이야기/Javascript
자바스크립트를 사용하면서 꼭 알아두어야 하는 개념중 하나인 IIFE 에 대해서 정리를 하겠습니다. IIFE 란 정의되자마자 실행되는 자바스크립트 함수입니다. IIFE 함수 표현식은 함수 리터럴 () 로 감싼뒤 function을 익명으로 사용합니다. 아래 예제 코드입니다. (function () { console.log('Hello World') })(); // Hello World 이부분을 크롬 브라우저 콘솔이나 js 파일로 작성한뒤 node 로 실행하면 따로 함수를 호출하지 않아도 바로 실행이 됩니다. 여기서 자바스크립트에서 함수 리터럴 (Function Itertor) 은 네가지 요소로 되어 있습니다. function 예약어 (필수) 함수명 (선택) 매개변수 집합 (필수) 함수 스코프 (필수) 여기서..
[CodeSignal- SQL] Group_By - Group Concat 으로 문자열 합치기
·
알고리즘/코드시그널
문제 여러분은 열렬한 여행가이고 너무 많은 나라를 방문해서 사람들이 여러분이 어디에 갔었는지를 물어보면, 여러분은 그들 모두를 기억할 수조차 없어요! 다행히도, 어디를 여행할 때마다 여행 정보를 일기에 적습니다. 이제 일지에 있는 정보를 사용하여 방문한 모든 다양한 국가의 목록을 확인하려고 합니다. 일지는 다음과 같은 열이 있는 테이블 일지로 표시됩니다. id: 여행의 고유 ID; travel_date: 여행이 시작된 날짜; 국가: 당신이 여행한 나라. 이 일지 표를 사용하여 방문한 모든 개별 국가의 세미콜론으로 구분된 목록을 만들고 사전순으로 정렬한 후 단일 국가 열이 있는 테이블에 목록을 넣습니다. 입력 테이블 id travel_date country 1 2008-05-12 Ireland 2 2010..
유틸리티 타입 - Partial
·
개발이야기/Typescript
유틸리티 타입이란 타입에 대한 내용을 변환을 해야할때 도와주는 좋은 타입 문법입니다. 물론 인터페이스,제너릭으로 타입을 변환 할수 있지만 유틸리티 타입 활용하면 더 간결한 코드로 변환을 할수 있습니다. Partial Partial 타입은 타입에 대한 부분 집합을 만족하는 타입을 선안할수가 있습니다. interface Cafe { cafe_num : number; cafe_name : string; } type CafePartialType = Partial; const cafejun: CafePartialType = {}; // 가능 const junseok: CafePartialType = { cafe_num: 12380918}; // 가능 const jun12: CafePartialType = { ca..
[Code Signal-SQL] Group By 관련 문제
·
알고리즘/코드시그널
코드시그널에서 SQL 문제중 Group By 활용 좋은 문제가 있어 정리를 해보려고 합니다. 문제는 아래와 같습니다. 동영상 컬렉션을 확장하려고 하지만 실제로 기본 설정이 없으므로 어디서 시작해야 할지 잘 모르겠습니다. 고민 끝에 자신이 이미 소유하고 있는 영화와 다소 최근에 영화를 찍은 수상 경력이 있는 감독들로부터 더 많은 영화를 찾는 것으로 시작해야 한다고 판단한다. 영화를 처음부터 볼 수 있는 감독들을 찾기 위해 이미 소유하고 있는 모든 영화의 데이터베이스를 만들어 동영상에 저장했습니다.정보 테이블. 이 테이블은 다음과 같은 구조를 가지고 있습니다. title: 영화 제목; director: 이 영화의 감독; year: 영화가 개봉된 연도; oscars: 이 영화가 받은 아카데미 상의 수 SQL ..
타입스크립트 모듈시스템
·
개발이야기/Typescript
모듈화란 쉽게 말해서 다른 파일에 있는 자바스크립트의 기능을 특정 파일에서 사용할 수 있는 것을 의미합니다. 타입스크립트의 모듈 시스템은 자바스크립트에서 ES6+모듈 시스템과 겉의 같다고 볼수가 있습니다. 우선 자바스크립트에서 왜 모듈화가 필요한지에 대해서 보겠습니다. // a.js var total = 100; function getTotal() { return total; } // b.js var total = 200; 기본적으로 자바스크립트의 파일 유효범위가 전역으로 설정이 되기 때문에 위 코드와 같이 각 파일에서의 변수명이 동일하다면 이후 실행되는 변수나 함수등에 대해서 겹쳐쓰게되는 현상이 발생하여 기존 코드가 오작동을 발생할수가 있습니다. 이러한 문제를 해결하기 위해 자바스크립트에서는 네임스페이..
타입 호환 (Type Compatibility) 이란
·
개발이야기/Typescript
타입호환이란 타입스크립트에서 특정 타입이 다른 타입에 잘 맞는지지를 체크하는것을 의미합니다. 타입스크립트 관점에서는 타입이 정의되어 있는 속성의 타입을 가지고 코드가 호환되는지를 확인하는것이 구조적 타이팅이라고 합니다. 아래의 코드로 확인해 보겠습니다. interface Cafejun { name: string; skill : string } class Coffee { name : string; } var cafejun : Cafejun; var coffee : Coffee; cafejun = coffee // Error 출력 coffee = cafejun // 정상 동작 위 코드는 타입스크립트에서 어떻게 인식을 하는지를 보면 속성인 name,skill 으로 이루어진 Cafejun 인터페이스와 name ..
cafe-jun12
cafe-jun12