programing(35)
-
javascript this에 대해..
1. this에 대한 미스터리많은 시간 동안 this 키워드는 자바스크립트 개발자들에게 미스터리의 대상이었다. this는 강력한 기능임에도 불구하고 쉽게 이해하기 힘든 부분이다.Java, PHP와 같은 언어에서 this는 클래스로부터 생성되는 인스턴스 중 현재 객체를 의미한다. 그 이상 그 이하도 아니다. 대부분 클래스 밖에서는 사용될 수 없으며 이러한 접근 방법으로는 혼란이 생기지 않는다.자바스크립트에서 this는 함수의 현재 실행 문맥이다. 자바스크립트에는 4가지의 함수 실행 타입이 있기 때문이다.함수 실행: alert('Hello World!')메소드 실행: console.log('Hello World!')생성자 실행: new RegExp('\d')간접 실행: alert.call(undefined,..
2018.03.19 -
팩토리 패턴 정리
factory pattern은 유명한 디자인 패턴 중 하나이다. 이것 역시 JDK 및 우리가 잘 알고 있는 Spring, Struts 프레임워크에 많이 사용되고 있다.super class와 여러개의 sub class가 있는 상황에서 input이 발생하면 하나의 sub class를 반환해야 할때 factory pattern이 사용된다. factory class는 client class로 부터 인스턴스를 생성하는 책임을 가져온다.슈퍼 클래스factory pattern에서 super class는 interface, abstract class 또는 일반적인 java class가 될 수 있다. 예제에서 super class 로 abstract class를 사용하는데, 테스팅을 위해 toString() method..
2018.03.19 -
싱글톤 패턴 정리
예전 블로그에서도 singleton 에 대한 글을 쓴적이 있다. 그때는 매우 단순하게 적었으나 이번에는 조금 방대할 것이다. 단일 인스턴스를 다양하게 만들 수 있는 방법을 예제로 통해 한번 알아 보도록 하자.singleton 이란?프로그래밍 세계에 OOP 의 개념이 생기면서 객체 자체에 대한 많은 연구와 패턴(pattern)들이 생겨났다. singleton pattern은 인스턴스가 사용될 때에 똑같은 인스턴스를 만들어 내는 것이 아니라, 동일 인스턴스를 사용하게끔 하는 것이 기본 전략이다. 프로그램상에서 동일한 커넥션 객체를 만든다던지, 하나만 사용되야하는 객체를 만들때 매우 유용하다. singleton pattern은 4대 디자인 패턴에 들어갈 정도로 흔히 쓰이는 패턴이다. 물론 core java(j..
2018.03.19 -
spark framwork 간단 세팅
java 에서 spring 이나 struts 같은 통합 프레임워크는 무거운 편이다. java에서 간편하게 spark framwork를 이용하여 웹 프레임워크를 구성해보자. 이클립스 설치는 어려운 것이 아니니 넘어가겠다. 이클립스에 MAVEN 프로젝트를 신규 생성할 것이다. New > Other를 클릭한다. maven을 입력해서 Maven Project를 선택한다. Group Id와 Artifact Id를 입력한다. pom.xml을 열어서 아래의 spark 패키지를 입력한다. com.sparkjava spark-core 2.2 pom.xml에 spark 패키지를 입력했다면 해당 프로젝트에서 마우스 오른쪽을 누른 후 Maven > Download Sources를 클릭해 실제로 패키지를 다운 받는다. src/..
2018.03.19 -
maven에 대해..
Maven은 크게 두가지 기능이 있다. 첫번째 라이브러리 관리 기능이다. Java로 개발을 하다보면 Spring, jdbc, junit, mybatis등 필요한 라이브러리들이 많다. 이걸 .zip형태로 다운받아서 수동으로 라이브러리를 추가 해줘도 된다. 수동으로 하는 방법이 방법이 훨씬 직관적일 수 있으니까. 이를테면 덧셈을 할 때 '1 + 1 = 2'라고 배우기 전에 사과 두개를 그려 놓고 '사과 한개에 사과 한개가 더 있으면 사과 2개이다.' 라고 하면서 배우는 것과 같은 이치이다. 나중에는 내가 덧셈을 배울 때 사과로 배웠는지 산까치로 배웠는지 잊어버리듯이 메이븐의 라이브러리 관리는 우리가 처음에 수동으로 라이브러리를 다운로드 받고 경로를 추가해주던지 복사해 주던지 하면서 외부 라이브러리를 관리 하..
2018.03.19 -
Node.js vs Java 구조적 차이
Node.js Architecture - Single Threaded Event Loop (https://www.journaldev.com/7462/node-js-architecture-single-threaded-event-loop)링크를 참고하여 작성된 글이다. 이번 글은 Node.js의 구조를 다뤄본다. 단순히 Node.js에 대한 글이 아니기에, 도움이 될만한 글이라 생각하기에 읽고 판단하길 바란다. 기본적으로 많은 웹 어플리케이션은 멀티 스레드 기반의 구조를 따른다. 간단하게 예를 들자면, Java에서 동시 요청을 처리 하기 위해 멀티 스레드를 이용한다고 생각하면 된다. 하지만 Node.js를 알고 있다면 싱글 스레드를 기반으로 한다고 들어봤을 것이다. 싱글 스레드라면 동시 요청에 대해 비효율적..
2017.11.30