반응형

2017/11 14

[Java] Java 9 의 모듈 시스템

Java 9 에서 모듈 시스템이 등장했다. Java 9 에서의 가장 큰 변화이다. 1. 왜 Java 9에서는 모듈 시스템을 도입했는지? 왜 Java 9에서는 모듈 시스템을 도입했는지? Java 8 과 그 이전의 환경에서 자바 기반의 어플리케이션을 개발이나 제공할 때 문제점들이 발생했다고 한다. JDK 가 너무 크다. 이것은 소형 장치로 확장하기 어렵다는 뜻이다. Java 8 에서는 3가지 compact profies(compact1, compact2, compact3) 를 도입했지만, 이러한 문제를 해결하지는 못했다. small device 과 어플리케이션에서 사용하기에 rc.jar 등과 같은 JAR 파일들이 너무 크다. JDK 카 너무 커서, 어플리케이션이나 기기들에서 더 나은 퍼포먼스를 제공할 수 없..

개발/Java 2017.11.26

[Spring] Java and Spring forward 세미나

한국 스프링 사용자 모임(KSUG)이란 곳에서 주최하는 Spring 세미나에 참여 1. Java 9 의 새로운 기능2. HTTP/2 3. JSON-B, JSON-P, JPA 2.24. Spring 5.0 이란 내용으로 세미나를 진행했는데 HTTP/2 세미나는 솔직히 말하자면, 발표하시는 분의 말이 너무 빨라서 조금 힘들었다.. 그리고, JSON 세미나는 너무 스펙만 하시니까 재미가 없었고, 들을만 했던 세미나는 Java 9, Spring 5.0 에 관한 세미나였다. 내가 그마나 제대로 들은 두 가지 세미나 중 재미있었던 세미나는 Java 9 였는데, 세미나 들으면서 조금 정리해보았는데, 앞으로 이런 내용들을 포스팅 할 것 같다. Java 9- 유니코드 7.0 / 8.0 추가- SHA-3 Hash Alog..

개발/Spring 2017.11.26

[JS] 자바스크립트에서 call 과 apply 에서의 this

Underscore.js 의 each() 함수를 분석하다가 optimizeCb() 라는 함수를 each() 함수 안에서 사용하길래 해당 함수를 또 까보니까 apply() 와 call() 이란 함수를 사용하고 있었다. 대충 보니까 비슷한 용도 같은데 달랐다. function plus(val_1, val_2) { return val_1 + val_2; }; function applyTest(val_1, val_2){ // return plus.apply(this, arguments); // 4 return plus.apply(this, [val_1, val_2]); // 4 }; function callTest(val_1, val_2){ // return plus.call(this, arguments); /..

개발/Java Script 2017.11.24

[JS] Visual Studio Code 에서 모듈 설치하기 (Underscore 를 예시로)

Visual Studio Code 에서 Underscore.js 설치하기 npm 사용은 처음이라서 간단한 부분이여도 많이 힘들었다.. 조금 많이 하기 싫었는데 그래도 재밌게 코딩하는 상상하면서 설치했다. 우선 우리는 npm 이라는 것을 사용할 것이다 ## npm? 글을 쓰다보니 npm 이 뭔지 모른다는 것이 생각났다. >> npm 이란 Node Package Modules 의 약자로 Node.js 에서 사용가능한 모듈들을 패키지화시켜 모아놓은 것. 이라고 한다. 그래서 npm 을 통해 일일이 개발하지 않아도 누군가 올려놓은 모듈을 다운로드 받아서 모듈에 대한 기능을 사용할 수 있는 것이다. npm 설치는 알아서 하자. 이 글은 Underscore 모듈을 설치하는데 의의를 둔 글이니까..★ [사진 1: v..

개발/Java Script 2017.11.24

[Web] 대칭키와 공개키 알고리즘

대칭키와 공개키대칭키 알고리즘대칭키는 아주 간단하다.송/수신자가 동일한 키에 의하여 암호화 및 복호화 과정을 의미한다.대칭키의 특징은 다음과 같다.많은 정보기술과 상호 운용이 쉽다.데이터 처리량도 거뜬하다.내부 구조가 간단한 치환과 순열의 조합으로 되어 있어서 적절한 암호 알고리즘을 쉽게 개발할 수 있다.송/수신자가 동일한 키를 공유해야 해서 여러 사람과 정보 교환 시 많은 키를 유지 관리하여야 하는 어려움공개키 알고리즘공개키 알고리즘은 살짝 헷갈릴 수도 있다.비밀키와 공개키라는 두 개의 키를 사용해, 하나는 타인에게 제공되고 나머지 하나는 사용자 자신만이 사용한다. 송신자가 수신자에게 어떤 메세지를 보낼 때, 수신자의 공개키를 이용해 암호화해서 송신하면, 수신자는 자신에게 도착한 암호문을 자신의 비밀키..

개발/Web 2017.11.13

[Spring] Filter 와 Interceptor 의 차이

Spring Filter 와 Interceptor 의 차이Filter or Interceptor 를 사용하는 이유무척 간단한 예시를 Session 과 관련해 들 수 있다.사용자가 로그인 함 (login.do)게시글 작성 페이지로 이동한다 (write.do)게시글 작성을 하면 DB에 해당 게시글을 작성한 사용자의 ID 와 게시글 정보가 insert 된다. 라는 상황이 있을 때 Session 처리를 하지 않을 시 로그인 하지 않은 사용자가 게시글 작성 페이지 (write.do) 로 곧장 이동해 게시글을 올리면 아마 서버는 터질 것이다. 그래서 이런 상황을 없애기 위해 나는 컨트롤러 클래스의 메소드마다 Session 을 검사하는 코드를 추가했는데, 추가하고 보니 총 100개의 메소드에 추가를 했다. 가독성도 ..

개발/Spring 2017.11.13

[Web] Long Polling 정의 및 방식

Long PollingLong Polling 이란?Long Polling 이란 기존의 주기적인 Polling 방식(주기적으로 요청하여 결과를 확인하는 방식) 대신 요청에 대한 응답을 서버 이벤트 발생 시점에 응답하는 방식이다.Long Polling 방식Long Polling 방식은 실시간 메시지 전달이 중요하지만, 서버의 상태 변경이 빈번하게 발생하지는 않는 서비스에 적합하다고 한다.스트리밍처럼 요청에 대한 응답을 완료하지 않는 상태에서 데이터를 계속 내려받는 방식이 아니라, 특정 시간이 지나면 해당 요청/응답 트랜잭션을 완료하고 새로운 요청을 하는 방식으로 구현이 되어있다.스트리밍 방식은 한 번 요청 후 응답을 완료하지 않고 해당 응답 스트림으로 필요할 때마다 데이터를 전송하는 방식이다.즉, 서버에 요..

개발/Web 2017.11.13

[Web] OAuth 정의와 원리

OAuthOAuth 란?기존의 기본인증이었던 아이디와 비밀번호가 보안상 취약했기 때문에 만든 표준화 된 인증방식으로, 웹, 앱 서비스에서 제한적으로 권한을 요청해 사용 할 수 있는 키를 발급해주는 방식이다.OAuth 의 원리먼저, OAuth 에 대해서 이야기하기 위해서는 3가지가 필요하다. User, Client, Resource Server:(Server) 란 개념이 필요하다.Resource Server 는 쉽게 말하면 Facebook, Google 이라고 생각하자.Client 에서는 Resource Server 에 User 에 대한 데이터를 가져와서 User 에게 어떠한 서비스를 제공한다고 하자.그렇다면 Clent 는 Resource Server 에 해당 Service 를 이용하기 위해 등록을 하게 ..

개발/Web 2017.11.13
반응형