본문 바로가기

객체지향과 추상화 다시 java 시작 하면서 객체지향이란 무엇인지 부터 시작 했다. 검색과 유투브를 통해 지식을 모아봤는데 내게 와닿는 내용을 찾지 못했고 (그 지식들이 틀리다는 얘기가 아니다. 내가 흡수하지 못했단 뜻이다) 그 중 "추상화"란 단어는 반복적으로 나왔다. 추상화를 생각하니 현대미술을 보는 느낌이 떠올라 객체지향은 정의 할 수 없는 것이란 생각에 반감이 들었고 정확히 무슨 뜻일까 궁금해서 "추상"이란 단어를 검색하고 위키백과와 대산님의글, 한자어를 보고 정확한 의미를 알았다. 한자 : 抽象 (뽑아내다 추, 코끼리 상) 위키백과 : 사물을 정확하게 이해하기 위해서는 사물이 지니고 있는 여러 가지 측면 가운데서 특정한 측면만을 가려내어 포착하는 것이다. 어떤 일면만을 추상하는 것은 다른 측면을 버린다는 것과 같..
문득 보호되어 있는 글입니다.
this 나는 this가 javascript의 encapsulation로 가는 시작점이라고 생각한다. javascript에서 this가 어려운 이유는 javascript는 prototype 타입 언어이며 까다로운 scope 정책 때문이라고 생각한다. 자바 같은 경우는 private 접근지정자로 명확한 scope와 encapsulation을 지원하기 때문에 this 때문에 혼란스러울 일이 없다. public class Clazz { private String foo; private int bar; public String getFoo() { return this.foo; } public int getBar() { retrun this.bar; } } // scope가 너무 명확해 this가 헷갈릴 여지가 없다. t..
cytoscape 지난 해 11월 부터 아이들 어린이집 근처 카페에서 일주일에 2일 정도 front-end 개발 취업 준비와 습득한 내용을 웹서버(aws lightsail)로 구성 했다. http://13.209.116.161:3000 javascript는 서로 개념이 얽혀있어 하나를 이해하지 못하면 연쇄해서 이해를 하기 힘들고 시작점을 어디로 두어야 할지 어려워서 처음엔 중구난방으로 공부했다. 예를들어 this 하나만 이해하려면 window(global), context, call, apply, bind, scope, scope chain, new, method와 연관이 많아 막히는 부분이 많았고 좀 더 깊게 갈 수록 더 많은 점이 궁금했고 (es6 는 덤) 이를 정리하기위해 aws로 웹서버도 구성했고 기술블로그도 시작..
console.log Console.log내가 사용 하는 console.log 개발 스타일에 대해 개선하고자 정리하고자 한다.console.log 는 내가 개발 중인 프로세스의 구조 나 정합성을 확인 하기 위해 사용한다. 빨리 확인 하고 싶은 마음에 내가 실제 사용하는 코드이다.console.log(변수명1); console.log(변수명2); // 연속console.log(this); console.dir(this); // 객체의 구조를 자세히 보고 싶을 때 활용console.log('------------'); // log 를 많이 찍어 구간을 확인 하기 위한 방법없어 보이기도 하고산재되어 지저분해 보이기도 하고 혼동되고어디에서 출력했는지 이해하기 위한 시간이 소요 된다.이런 습관을 고치고 싶어 포맷을 정리 해본다. (내..
Lexical Scope + implicit global Lexical Scope + implicit global Lexical Scope + implicit global 조합된 코드는 Lexical Scope 를 이해하는 과정에서 보는 것보다 Lexical Scope 를 이미 이해한 상황에서 보는 것이 좋다. var x = 1;function foo() { x = 0; bar(); }function bar() { console.log(x); }foo(); bar();앞서 작성했던 글에서 본 lexical scope 에 따르면 아래와 같아야 한다.foo(); // 1 bar(); // 1결과는 아래와 같다.foo(); // 0 bar(); // 0 함수 foo() 안에 선언된 x는 함수 블럭 스코프에 할당(선언도 마찬가지)됐음에도 var 키워드가 없기 때문에 ..
Lexical Scope Lexical Scope lexical scope는 간결하게 정의 하기 힘들다. 하지만 javascript 를 다룰 수 있는 개발자라면 이미 알고 있는 개념이며 단지 이를 말로 설명하기 어려울 뿐이다. 내 생각엔 lexical scope는 javascript 가 선택한 scope 정책에 의한 scope chain 의 일부분일 뿐이다. 이해 하기 어려운 이유 중 하나는 static scope 를 lexical scope 라고도 부르는 이유도 있다. lexical scope 대신 static scope 이라 표현하고 dynamic scope 와 함께 비교 해보자. var x = 1; function foo() { var x = 0; bar(); } function bar() { console.log(x); ..