반응형

개발 330

[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

[JS] Ramda

Ramda js람다 대수란?이론 컴퓨터과학 및 수리논리학에서 함수 정의, 함수 적용, 귀납적 함수를 추상화한 형식 체계이다. - 위키백과람다 대수는 이름을 가질 필요가 없다. (익명함수)두 개 이상의 입력이 있는 함수는 최종적으로 1개의 입력만 받는 람다 대수로 단순화 될 수 있다. (커링)람다의 특징익명보통의 메소드와 달리 이름이 없음함수클래스에 종속되는 메소드와 달리 함수라고 함전달매개변수로 전달이 가능. 또한, 함수를 변수에 저장할 수 있음 (Java 8)간결성Ramda 를 알기 전 간단한 람다 예제 var a = [ "1", "2", "3", "4", "5" ]; var a2 = a.map(function(s){return s.length}); // 람다식 var a3 = a.map(s => s...

개발/Java Script 2017.11.10

[Java] String 객체 생성 차이

StringString 을 생성하는 방법으로 2가지가 존재한다. String str = "hojak"; String str2 = new String("hojak"); System.out.println(str); // hojak System.out.println(str2); // hojak 각각의 생성 방식의 차이는 무엇일까?먼저, 이 두 가지 차이점을 알기 위해서는 메모리 관점에서 보아야 할 것 같다.간단하게 설명하자면 String str = "hojak"; 는 Heap 내의 String constant pool 이란 곳에 저장한다. 또한, 이미 존재하는 문자열이 있을 경우 그 저장된 배열의 인덱스 번호를 가리키게 되어 있다. String str2 = new String("hojak); 은 일반적인 객체..

개발/Java 2017.11.07

[JS] Closer 란?

Closer클로저는 외부함수에 있는 변수에 접근할 수 있는 내부함수를 말함.간단하게 클로저는 이런 것이다~ 라고 할 수 있는 코드는 다음과 같다. function init() { var name = "hojak"; // name 은 init 에 의해 생성된 지역변수 function displayName() { // displayName()은 내부함수이며 클로저이다 alert(name); // 외부함수에서 선언된 변수를 사용한다 } displayName(); } init(); init() 함수를 보면 displayName() 함수에서 init() 함수의 지역변수인 name 을 사용하고 있다. 내부 함수는 외부 함수에 접근할 권한을 가지고 있기 때문에 displayName() 함수는 외부 함수인 init()..

개발/Java Script 2017.11.07

[Java] 자바 Integer Class

5. INTERGER CLASS{ Integer 클래스의 메소드들 : Integer.bitCount(), Integer.decode() , Integer.parseInt() , Integer.toBinaryString() , Integer.reverse() } 1) bitCount(int i) - 주어진 정수에서 비트로 변환하여 그 비트의 총 개수를 구한다. -> 비트가 1일 개수만 전달(반환)한다. 2) decode (String nm) - 문자열을 정수로 디코딩합니다. 10진수, 8진수 또는 16진수 숫자로 표현된 문자열을 입력할 수 있다.doubleValue() - 정수(int)를 double로 변환한다. 3) parseInt(String s) - 숫자형태로 된 문자열을 실제 정수로 변환한다.par..

개발/Java 2017.11.03

[JS] 함수형 프로그래밍 2주차 - RxJS 란

RxJS 란?RxJs 에 대한 정의를 알아가기 전, 알고 넘어가야 할 것들이 있다. Reactive> Programming 이다. 왜냐하면 바로 이 Reactive Programming 으로 만든 라이브러리가 RxJs 이기 때문이다.Reactive Programming그렇다면 Reactive Programming 의 정의란 무엇일까? Reactive Programming 은 비동기 데이터 스트림을 사용한 프로그래밍이다. 해당 스트림을 듣고 이에 따라 대응할 수 있다. Reactive Programming 에서는 기본적으로 모든 것을 Stream 으로 본다고 한다. 즉, 이벤트, ajax 등 모든 데이터의 흐름을 시간순서에 의해 전달되어지는 스트림으로 처리한다는 말이다.위의 내용들은 Reactive Pro..

개발/Java Script 2017.10.30
반응형