Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

JavaScript/2011년스터디: Difference between revisions

From ZeroWiki
imported>linflus
No edit summary
imported>pjk41018
No edit summary
Line 301: Line 301:
* http://www.synapsoft.co.kr/11/recruit1.jsp
* http://www.synapsoft.co.kr/11/recruit1.jsp
==== 후기 ====
==== 후기 ====
* 정말로 간만에 javascript 스터디를 시작했습니다ㅠ 전에 하던 json2.js 분석(읽기?)을 하는데 전에 하던것이 기억이 안나서 고생했습니다. javascript의 새로운 과제로는 Dongeon and Dragon!!(가명)이라는 게임을 만들기로 했습니다. javascript외에도 HTML이라던가 CSS등의 것들도 기억이 나질 않아서 지워저 버린 기억을 복구하는 것을 우선시 해야겠습니다. - [[박정근]]
----
----
[[2011년활동지도]], [[스터디분류]]
[[2011년활동지도]], [[스터디분류]]



Revision as of 11:03, 29 March 2011

스터디 소개

  • 2011년 겨울방학동안 JavaScript를 공부하는 모임.
  • 스터디 시간 : 매 주 화요일 3시, 금요일 5시.

페이지 리스트

[[pagelist(^JavaScript/)]]

참가자

  • 김수경, 박정근, 서지혜, 윤종하, 정의정,

목표

진행 방식

  • 금요일은 공부해온 것을 발표하고 그 다음 화요일은 자신이 작성한 코드를 발표한다.
  • 자바스크립트 완벽 가이드의 목차를 참고하여 진행한다.
    • 목차를 보고 매주 적당한 분량으로 챕터를 묶어 그 주 공부할 부분을 정한다.
  • 그 주 공부할 부분은 모두 같이 공부한다.
    • 서로 다른 챕터를 공부하여 발표하면 남이 공부한 부분은 겉핥기 식으로만 알게 되는 경우가 많아서.
  • 발표는 각자 한 챕터씩 맡아 발표한다.
    • 발표할 부분은 금요일에 모여 제비뽑기로 결정한다.
    • 발표할 부분이 정해지면 소개할 샘플코드를 찾는다.

규칙

  • 다른 참가자들이 오지 않을때는 3시 10분까지 기다린다.
    • 그 이후에도 오지 않는 사람은 기다리지 않고 바로 진행한다.
  • 모든 참가자는 잘 모르겠는 것, 궁금한 것, 더 공부하고 싶은 것 등 질문을 3가지 이상 준비한다.
  • 공부한 내용은 3분 이상 발표한다.
  • 발표자를 제외한 사람들은 들은 내용과 샘플 코드에서 가장 인상깊은 점 3가지를 고른다.
  • 매 회 스터디 끝나고 10분간 그날의 스터디를 돌아보는 시간을 갖는다.

진행

1월

출석체크

4일 7일 11일 14일 18일 21일 25일 28일
김수경 O O O O O O O X
박정근 O O O O X X X X
서지혜 O O O O O O O X
윤종하 X(몸살) X(신검) O X O X O O
정의정 O X(공사) 중간에 빠짐

7일

  • 과제 : 1장 ~ 7장 공부해오기
  • 3시 ~ 6시 @ 6피
  • 김수경
    • 의문점
    • var로 생성한 변수는 delete할 수 없다는데 실제 해보니 되었다.
    • for each문을 사용하는 법.
    • 알게된 것
    • 블록 단위의 유효범위가 없다.
    • var a = 1,,3; a.length -> 3, var a = ,,; a.length -> 2; 인 이유
    • 리터럴의 정의
    • 인상깊었던 것
    • var a; -> 지역변수, a; -> 전역변수
    • void 연산자를 사용하면 피연산자의 값에 상관없이 undefined를 반환한다.
    • 다음 코드 실행 시 첫 출력은 undefined이고 다음 출력은 local이다.
var scope = "global";
function f(){
 alert(scope);
 var scope = "local";
 alert(scope);
}
  • 박정근
 *의문점(해결)
    • 레이블의 의미 -> C의 goto와 비슷.
    • try/throw/catch/finally 의 사용 -> finally는 모든 try, catch를 나와서 사용
    • 가비지 컬렉션 -> 모든 인스턴스가 사라진 쓸모없는 '가비지'는 알아서 처리함
 *인상깊었던점
    • 문자나 숫자, ""사이에 들어가 것들을 '리터럴'이라고 부르며 따로 구분한다.
    • new bolleon(false)는 flase와 같지 않고 객체로써 인식!! if(new booleon(false)) 따위로 쓰면 안됨
    • 변수 선언시에 'var a=3'같은 식은 지역변수, 'a=3' 같은식은 전역변수 이다.
  • 서지혜
    • 의문점
    • var로 선언한 변수는 delete가 안된다더니 되는데?!
    • with함수 사용시 발생할 수 있는 오류에 대해 알고싶다...(책에서는 생략함)
    • 알게된 것
    • var a = ,,;에서 a의 길이가 2인 이유(해결! 맨 마지막 콤마의 뒤는 무시됨)
    • 인상깊었던 것
    • 레퍼런스로 함수를 직접 보면서 하니까 한눈에 들어와 좋았다
    • 모르는게 생겼을 때 코드를 직접 타이핑해 결과를 보며 스터디하니 이해가 잘 갔다(굿)
    • 와 세명이서 하는데 3시간 걸렸어!!

  • 돌아보기
    • 오늘 스터디의 좋았던 점
    • 서지혜 - 공부할때는 다 아는 것 같았던 것도 직접 설명해보니 잘 모르고 넘어간 것이 있다는 것을 알게되었다.
    • 김수경 - 대충 보고 넘어갔거나 잘 이해를 못했던 것도 같이 스터디하고 고민해보니 더 명확히 알게되었다.
    • 박정근 - 직접 화면을 띄워 코딩을 하며 진행하니 더 이해하기 좋았다.
    • 다음 스터디에 적용하고 싶은 점
    • 서지혜 - 말로만 설명하는 것보단 코드를 보며 설명하도록 하겠다.
    • 김수경 - 집에서 레퍼런스만 대충 찾아보지 않고 책도 좀 참고하여 공부하겠다.
    • 박정근 - 좀 더 정확한 최신자료를 참고하겠다.

11일

  • 과제 : 7일날 자신이 발표한 부분을 직접 실습할 수 있는 코드 최소 1개 짜오기. 7일 스터디 불참자는 스스로 챕터 선정하여 코드를 짜오면 된다.

14일

  • 과제 : 8장 ~ 12장 공부해오기
  • 5시 ~ 7시 @ 6피
  • 박정근
    • 의문점
    • 클로저의 정의와 사용...ㅠ
    • 알게된 것
    • 최상위레벨의 범위와 함수의 정의
function func(){
	여기가 최상위 레벨
	if(){
		여기는 차상위 레벨
		이곳에서는 함수의 정의가 불가능 하다.
	}
}
    • 인상깊었던 것
    • 자바스크립트에서 함수의 전달인자가 개수의 제한이 없다는 점
    • 함수가 데이터로써 사용될수 있다는점
      • var a = new Array(3);
      • a[0] = function(x) { return x*x; };
      • a[1] = 3;
      • a[2] = a[0](a[1]); //a[2]에는 9가 저장된다.
    • 프로토타입의 정의와 사용 상속부분이 다른 언어와는 다르다.
  • 서지혜
    • 의문점
    • 클로저의 정확한 정의를 알고싶다. 유효범위와 관계있다는 것은 알았음
    • 슈도 클래스란 함수로서 선언되기 때문인가?
    • 알게된 점
    • Argument는 실행중인 함수의 정보를 정의한다 : 함수에 넘기는 파라메터가 유동적임..
    • 중첩된 함수는(내부 함수) 익명 함수이면안됨
    • 자바스크립트는 급조된 기능이 몇몇 있는 것 같음(네임스페이스를 객체로 선언함)
  • 김수경
    • 의문점
    • 알게된 점

18일

  • 과제 : 8장 ~ 12장 코드 짜보기 or 찾아오기
  • 김수경
    • 의문점
    • 네임스페이스 사용 시 org.zeropage.namespace는 되고 org.zeropage.namespace.function1은 안 되는 이유
    • 익명함수를 사용한 Dynamic programming
    • 함수 내부에서 arguments 객체에 함부로 접근할 경우 생길 수 있는 문제점
    • 알게된 점
    • 함수 안에 익명함수 중복으로 쓸 경우 즉시 호출하거나 변수에 넣어 호출 가능하게 만들어야 한다.
  • 서지혜
    • 의문점
    • 네임스페이스 생성시 {}를 해주어야 하는이유
    • 네임스페이스 사용 시 org.zeropage.namespace는 되고 org.zeropage.namespace.function1은 안 되는 이유
    • 자바스크립트에서의 다이나믹 프로그래밍이란 뭐지?
    • 종하가 가져온 코드
Object.prototpye.toString.apply();   // [Object Global]
Object.prototpye.toString.apply(o);   // [Object Array]
    • 알게된 점
    • 존 레식이 클래스를 구현한 코드를 보았다!!
    • 자바스크립트의 상속이 기존 객체지향 언어와 다름을 알게되었다
    • 슈퍼클래스, 서브클래스화를 배웠다

21일

  • 과제 : 13장 ~ 15장 공부해오기

25일

  • 과제 : Toy Program 짜오기
  • 서지혜
    • 이건 토이도 아니다

28일

  • 과제 : 16장 ~ 18장 공부해오기

2월

출석체크

1일 4일 8일 11일 15일 18일 22일 25일
김수경 O 취소 O O X O
서지혜 O 취소 O O X O
박정근 X(아파서) 취소 O O O O
윤종하 X 취소 X X X X

1일

  • CSS, Event, Form Element

4일

  • 설 연휴라 취소

8일

  • 프로젝트 결정
    • 동네 메신저 앱

11일

  • 프로젝트 대신 오픈 소스 코드 분석하기로 결정
    • jQuery, Sizzle, JSON-js 중 고민하다 간단한 JSON-js를 분석하기로 함
    • 분석한 내용은 위키에 정리하고 정모에서 세미나 하기로 함

15일

  • 과제
    • json2.js 소스 끝까지 읽어오기 : 어떤 기능들이 있는지 파악할 것
    • 자율적으로 function 3가지 골라 어떻게 작동하는지 이해할 것

18일

  • 과제
    • json2.js 소스 끝까지 읽어오기 : 어떤 기능들이 있는지 파악할 것
    • 자율적으로 function 3가지 골라 어떻게 작동하는지 이해할 것

22일

25일

3월

출석체크

29일
김수경 O
서지혜 O
박정근 O

29일

후기

  • 정말로 간만에 javascript 스터디를 시작했습니다ㅠ 전에 하던 json2.js 분석(읽기?)을 하는데 전에 하던것이 기억이 안나서 고생했습니다. javascript의 새로운 과제로는 Dongeon and Dragon!!(가명)이라는 게임을 만들기로 했습니다. javascript외에도 HTML이라던가 CSS등의 것들도 기억이 나질 않아서 지워저 버린 기억을 복구하는 것을 우선시 해야겠습니다. - 박정근

2011년활동지도, 스터디분류