Javascript 함수(function) 개념, 호출패턴, this, prototype, scopeYoung-Beom RheeJavascript의 함수(Function)의 기본개념과, 호출패턴에 따라 달라지는 this, 상속을 가능하게 해주는 prototype, 다른 언어와 다른 scope에 대해 알아봅니다.
스파르탄스터디 E04 Javascript 객체지향, 함수형 프로그래밍Young-Beom RheeJavascript 객체지향, 함수형 프로그래밍에 대해서 알아봅니다.
prototype을 이용하여 상속을 구현하는 방법, 그리고 Closure와 Function을 이용한 강력한 함수형(Functional) 프로그래밍
Javascript introduction, dynamic data type, operatorYoung-Beom Rhee대상 : Javascript를 언어로 처음 접하는 개발자
범위 : Javascript의 흐름, 문맥(Context)를 모르면 이해할 수 없는 Dynamic typing(동적 데이터 타입), 멘붕을 마음껏 선사할 헷갈리는 연산자
iOS 메모리관리Changwon National University이 자료는 이영록강사님이 2011년 iOS 개발자 포럼에서 발표한 내용을 약간 개선하고 정리한 자료입니다.
iOS의 메모리관리 기법은 retain count라고 하는 독특하면서도 효율적인 방법을 사용하며 최근에 발표된 Xcode에서는 Automatic Reference Counting(ARC) 기법을 통해 release를 사용하에 객체를 소거하는 불편함을 많이 개선하였습니다.
본 자료에서는 이러한 점에 대한 비교적 상세한 설명을 담고 있습니다.
[Main Session] 미래의 Java 미리보기 - 앰버와 발할라 프로젝트를 중심으로Oracle KoreaOpenJDK로 Java 언어 개선 주도권이 넘어간 후 Java의 개선 속도가 몰라보게 빨라지고 있습니다. Java를 언어, 런타임, 표준 API로 나눌 때 프로그래머에게 가장 중요하다고 볼 수 있는 언어 관점에서 Java가 앞으로 어떻게 개선될 지, Java의 미래를 알아보려고 합니다.
골때리는 자바스크립트 발표자료욱진 양Sorry. for koreans only. I'll add english short description. or just visit http://wtfjs.com
아오 썅.
정정사항입니다.
객체 동일비교는 항상 valueOf 결과물로 나온 비교로 하는 데다가,
객체와 배열은 valueOf 해봐야 객체로 나오기 때문에
객체와 배열은 == 하나 === 하나 같은 비용으로 비교합니다.
[1,2,3]==[1,2,3] 은 false가 되므로
[1,,,2]==[1,undefined,undefuned,2] 는 무조건 false로 나옵니다.
iOS 메모리관리Changwon National University이 자료는 이영록강사님이 2011년 iOS 개발자 포럼에서 발표한 내용을 약간 개선하고 정리한 자료입니다.
iOS의 메모리관리 기법은 retain count라고 하는 독특하면서도 효율적인 방법을 사용하며 최근에 발표된 Xcode에서는 Automatic Reference Counting(ARC) 기법을 통해 release를 사용하에 객체를 소거하는 불편함을 많이 개선하였습니다.
본 자료에서는 이러한 점에 대한 비교적 상세한 설명을 담고 있습니다.
[Main Session] 미래의 Java 미리보기 - 앰버와 발할라 프로젝트를 중심으로Oracle KoreaOpenJDK로 Java 언어 개선 주도권이 넘어간 후 Java의 개선 속도가 몰라보게 빨라지고 있습니다. Java를 언어, 런타임, 표준 API로 나눌 때 프로그래머에게 가장 중요하다고 볼 수 있는 언어 관점에서 Java가 앞으로 어떻게 개선될 지, Java의 미래를 알아보려고 합니다.
골때리는 자바스크립트 발표자료욱진 양Sorry. for koreans only. I'll add english short description. or just visit http://wtfjs.com
아오 썅.
정정사항입니다.
객체 동일비교는 항상 valueOf 결과물로 나온 비교로 하는 데다가,
객체와 배열은 valueOf 해봐야 객체로 나오기 때문에
객체와 배열은 == 하나 === 하나 같은 비용으로 비교합니다.
[1,2,3]==[1,2,3] 은 false가 되므로
[1,,,2]==[1,undefined,undefuned,2] 는 무조건 false로 나옵니다.
Node.js 기본Han Jung Hyunnode.js 의 기본이 되는 부분을 정리해놓은 자료 입니다.
시중에 나와있는 서적과 인터넷 자료를 분석 후 기본이 되는 부분만 정리해놓았습니다.
이전 업데이트와 다르게 비동기 모듈, express, heroku 설치, 디버깅 방법이 추가되었습니다.
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기현철 조[NDC17]
Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
https://github.com/ncsoft/Unreal.js
https://github.com/ncsoft/React-UMG
Demo Link -
https://youtu.be/3F0TGGqedkQ
https://youtu.be/kawyH68OB_g
https://youtu.be/EG99YW6P3rg
Firebase for web (웹개발을 위한 파이어베이스) 3 Real-Time Database승빈이네 공작소2016 Google I/O에 소개 된 이후로 많은 개발자들의 관심을 받게 된 파이어베이스에 대해 웹 개발자가 활용할 수 있는 서비스를 실습 중심으로 알아봅니다.
4. 지난 시간에…
• 변수 선언 : let
– 상수는 const (objec는 ref 재할당하지 않는)
– ES6이상 에선 var를 사용하지 않기
• 템플릿 리터럴 : template literal
– 문자열 보간법 : string interpolation
– 함수 전달
5. (FUNCTION) HOISTING
• 끌어올림(hoisting)은 함수에서 사용할 때 문제
// 변수 호이스트
console.log(hoistVariable);
var hoistVariable = "hoist Variable";
// 함수 호이스트
hoistFunc();
function hoistFunc(){
console.log('hoist Function!');
}
6. 지난 시간에…
• 화살표 함수 : arrow function
– 변수 선언과 달리 모든 함수를 화살표 함수로 변경하면 안됨
– lexical this의 특징을 잘 생각해서 사용할 것!
7. 화살표 함수 사용하면 안되는 경우
• 클래스의 메소드에 사용하면 안됨!
var obj = {
i: 10,
b: () => console.log(this.i, this),
c: function() {
console.log( this.i, this)
}
}
obj.b();
obj.c();
8. 화살표 함수 사용하면 안되는 경우
• OOP(객체지향)적으로 개발할 때 생성자로 사용하면 안됨
9. 개발 환경
C O D E R U N N E R 플 러 그 인
E S L I N T 플 러 그 인
20. FUNCTION - REST PARAMETER
• 개수를 알 수 없는 여러 개의 파라미터를 받는 방법
function restParamsFunc(arg1, arg2, ...args){
console.log(arg1);
console.log(arg2);
for(let i=0; i<args.length; i++){
console.log(args[i]);
}
}
restParamsFunc(1,2,3,4,5,6,"칠", "팔");
21. FUNCTION - TAGGED TEMPLATES
• 쓸데가 있을까 싶습니다만...
function taggedTamplateFunc(strings, a, b) {
let x = a;
let y = b;
let str1 = strings[0];
let str2 = strings[1];
console.log( str1 + x + str2 + y );
}
let x = 30;
let y = 28;
taggedTamplateFunc`x=${ x }, y=${ y }`;
22. SPREAD OPERATOR
• 전개 연산자 사용법 : ...(배열/객체명)
– 2개 이상의 함수인자 또는 배열 요소를 확장할 수 있는 표현식(?) 구문
– 배열/객체명은 반복 가능한(iterable) 객체를 반환(대입?)
// iterable에 관해서는 다음주에…
• 함수 인자로 사용
– rest parameter 참고
• 배열 요소 할당에 사용
– (뒷장에서)
23. DESTRUCTURING ASSIGNMENT
• 비구조화 데이터 할당
– 배열의 구조화 할당
const someArray = [1, 2, 3];
let one = someArray[0];
let two = someArray[1];
let three = someArray[2];
console.log(one, two, three);
– 배열의 비구조화 할당
const someArray = [1, 2, 3];
let [one, two, three] = someArray;
console.log(one, two, three);
25. TIPS - VARIABLE SWAP
• 변수의 값을 교차할 때 temp를 선언하지 않아도
let first = 1;
let second = 2;
console.log(first, second);
[first, second] = [second, first];
console.log(first, second);
26. OBJECT DESTRUCTURING
• 배열과는 달리 key가 일치하는 값만 가져옴
const someObject = {
numberProp: 200,
booleanProp: true,
stringProp: "어떤속성"
};
let {numberProp, stringProp} = someObject;
console.log(numberProp, stringProp);
// 다른 이름으로
let {stringProp: str, booleanProp: bool} = someObject;
console.log(str, bool);
27. OBJECT DESTRUCTURING
• 기본값 설정
const someObject = {
numberProp: 200,
booleanProp: true,
stringProp: "어떤속성"
};
let {stringProp, a=10, b=20} = someObject;
console.log(stringProp, a, b);
// 다른 이름으로
let {stringProp: str, a:x=10, b:y=20} = someObject;
console.log(str, x, y);
28. MODULE SYSTEM
• 프로그램의 조각(?)
– 함수(클래스)보다 크면서 라이브러리보다 작은 그 사이 어딘가 속하는 코드 집합
• 하나의 프로그램을 여러 개의 파일로 나눌 때 사용하는 방법
– export
– import
• 그러나 node.js에서는 ES6 모듈 문법이 기본 지원이 아님
34. 기본 사용법
• 설치 : npm install [모듈명]
– install 약자로 i 사용 가능
• 삭제 : npm remove [모듈명]
– 역시 remove 약자로 rm 사용 가능
• 전역 설치
– 옵션 -g 를 사용
– 시스템의 node.js모듈 디렉터리에 설치됨
45. HEROKU
• PaaS 형태의 서비스
– 사용자가 서버를 세팅하거나 관리(유지보수)할 필요 없고
– 프로그램 소스만 전속하면 자동으로 프로그램 서버가 동작
• 무료플랜이 있음
– 30분만 접속자가 없을 시 서버가 sleep
(개발시에는 무리 없을 듯..)
• git 을 사용해 node.js 프로그램 소스를 전송
64. [TIP] HEROKU 사용시
• 전송할 필요 없는 파일 제외
– 모듈들은 업로드 해봐야 package.json 파일 기반으로 다시 설치됨
– .gitignore 파일 생성
– node_modules/ 입력
• package.json 파일이 필요
– 내용 중 build script에 start 스크립트가 필요