일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- UnBuffered channel
- 디자인패턴
- Kubernetes
- Buffered channel
- golang
- 사설 ip
- 티스토리챌린지
- 대규모 시스템 설계
- Intellij
- elasticsearch
- goland
- intellij ide
- AWS
- Infra
- 배포 파이프라인
- 윈도우키보드
- System Design
- apollo router
- gitops
- m4 pro
- go
- 오블완
- 배포 프로세스
- notification system
- Logrus
- 컴포지트패턴
- http 413
- GoF 디자인패턴
- body size
- GoF
- Today
- Total
목록프로그래밍언어 (93)
Fall in IT.
안녕하세요. 오늘은 Node.js에서 세션을 사용하는 방법에 대해 알아보겠습니다. 세션은 쿠키를 기본으로 하여 기능을 확장한 것 입니다. 만약, 쿠키에 사용자에 대한 정보가 모두 저장되어 있다면 보안상 굉장히 위험합니다. 따라서, 접속한 사용자를 식별할 수 있는 값(id와 같은 값)만을 클라이언트에 쿠키로 저장하고 서버에는 해당 식별자에 해당하는 사용자 정보를 데이터베이스 또는 파일, 메모리에 저장하여 사용하는 것이 세션입니다. 따라서, 세션 방식과 쿠키방식의 차이점은 쿠키는 헤더정보에 Set-Cookie의 실제값을 포함시켜 요청하고,세션에서는 set-cookie에 connect.sid 라는 식별자만(고유값)을 포함시켜 요청한다는 것이다. (클라이언트에서 관리하는 정보가 다름) 클라이언트의 컴퓨터에는 중..
안녕하세요. 오늘은 Node.js에서 쿠키 사용하는 방법을 알아보겠습니다. 쿠키는 세션을 사용하기 위한 기반 기술이고, 세션은 인증을 사용하기 위한 기반 기술입니다. 따라서, 쿠키의 개념부터 제대로 잡는게 무엇보다 중요합니다. 쿠키나 세션, 인증에 대한 개념이 없으신 분들은 책 또는 인터넷 자료를 통해 정확히 잡으시길 바랍니다. ^^(사실 저도 잘 모른다는..) 목적쿠키를 사용하여 클라이언트와 서버간의 데이터를 주고 받는것을 확인한다. 요구사항쿠키가 최초에 없을 때는 서버에서 쿠키값으로 1을 보내고, 쿠키가 있을 시 1을 증가시켜 반환한다. (따라서, 클라이언트에서 쿠키를 삭제하기 전까지는 1씩 증가된 값을 가지고 있게 된다.) 구축환경웹프레임워크로는 express를 사용하고, express는 쿠키 기능..
안녕하세요. 오늘은 자바에서 Map객체를 정렬하는 방법에 대하여 알아보겠습니다. Map은 기본적으로 key, value로 구성되어 있습니다. key에 의한 정렬과 value에 의한 정렬 두가지를 알아보도록 하겠습니다. Key에 의한 정렬 TreeMap을 사용한다. - TreeMap 은 중복을 허용하지 않고 Key 값을 기준으로 정렬을 해주는 자료구조 입니다. (HashMap 은 내부 hash 값에 따라 키순서가 정해지므로 특정 규칙없이 출력됩니다.)역 정렬 또한 가능합니다. Sample code //메인메소드에서 구현Map hashMap = new HashMap();hashMap.put(1.1,99);hashMap.put(2.2,70);hashMap.put(13.3,89);hashMap.put(7.7,7..
오늘은 Supervisor란 application에 대해 알아보겠습니다. Supervisor 공식 문서에 아래와 같이 설명되어 있습니다. "A supervisor program for running nodejs programs""A little supervisor script for nodejs. It runs your program, and watches for code changes, so you can have hot-code reloading-ish behavior, without worrying about memory leaks and making sure you clean up all the inter-module references, and without a whole new require ..
반갑습니다. 오늘은 Node.js, Express의 개념에 대해서 간략히 알아보도록 하겠습니다. Node.js의 개념구글의 크롬 V8 자바스크립트 엔진을 기반으로한 비동기 IO 를 지원하는 고성능네트워크 서버이다.프로그래밍 언어로 Javascript를 사용한다.2009년 유럽 JSConf의 라이언 달이 V8을 이용하여 자바스크립트의 강력함과 단순함을 활용한 이벤트 기반의 논블로킹 I/O를 주 컨셉으로 만든 백엔드(Back-end) 자바스크립트기반 서버이다. Node.js 장점매우 빠른 고성능 서버 - 비동기 처리로 인해 퍼포먼스가 증가한다.한가지 언어(Javascript)를 사용하여 개발 할 수 있다. - 서버-클라이언트 모두를 개발할 수 있다. 프론트엔드 개발자들이 직접 서버 개발을 할 수 있다. - ..
안녕하세요. 오늘은 Node.js를 설치해보고, 이를 사용하여 간단한 웹서버를 띄워보도록 하겠습니다. Node.js 설치하기Node.js 홈페이지에 접속하여 자신의 운영체제에 맞는 설치파일을 다운로드 합니다. - https://nodejs.org/en/download/stable/설치 후, terminal(맥일경우) 혹은 cmd를 통해 정상적으로 설치 되었는지 확인 합니다. - ex) node --version 명령어를 통해 확인 할 수 있습니다. Node.js 웹서버 구동하기node 홈페이지에서 상단의 ABOUT 버튼을 누릅니다. "Hello World"를 출력하는 간단한 웹서버 소스를 복사하여, webserver.js파일을 생성합니다. (파일명은 임의로 지정하여도 상관없습니다.) Node.js를 사용..
오늘은 java에서 디렉터리 또는 파일 생성하는 방법에 대해서 알아보겠습니다. java.io.File 클래스 사용. 디렉터리 생성boolean mkdir(); //상위의 디렉터리가 존재하지 않을 경우, 디렉터리 생성 못하고 false를 반환 합니다.boolean mkdirs(); //상위의 디렉터리가 존재하지 않을 경우, 상위 디렉터리까지 모두 생성합니다. sample codeFile file = new File("/opt/test/");file.mkdir(); file.mkdirs(); 파일생성boolean createNewFile(); 같은 이름의 파일이 존재하면 false, 존재하지 않고 파일이 생성되면 true를 반환 합니다. 파일 경로가 존재하지 않을 경우 IOException 발생. No su..
오늘은 static 을 잘 활용하는 방법에 대해서 알아보겠습니다. 자주 사용하고 절대 변하지 않는 변수는 final static 으로 선언합니다. - 템플릿 성격의 객체도 static으로 선언하는 것이 성능 향상에 도움이 됩니다. config 파일 정보도 static으로 관리합니다. - 자바 개발을 할때, 무수히 많은 config 정보들이 있는데 매번 객체를 생성할때 호출 하는 것은 매우 비효율적 입니다. static으로 선언하여 클래스가 로딩될때 한번만 값을 가져오도록 해야합니다. 값이 동시에 변경되는 변수의 경우 static 변수로 사용하면 안됩니다. - 동시에 QuerySample의 query변수를 접근할 경우, 데이터가 꼬이는 현상이 발생할 수 있습니다. public class QuerySampl..
오늘은 StringBuffer와 StringBuilder의 차이점에 대해 아주 간단한 내용만 알아보도록 하겠습니다. String 클래스의 특징 불변하는 클래스이다. 즉, 한번 생성되어지면 변할 수 없다. String 클래스의 메소드 subString(), concat() 등 모두 새로운 객체를 생성하여 만들어진다. StringBuffer 클래스의 특징 변하는 클래스이다. append(), insrt(), delete() 등의 메소드를 통하여 StringBuffer 객체가 가지고 있는 문자열을 변경 할 수 있고, 새로운 객체를 생성하지 않고 기존의 문자열을 변경한다.동기화를 지원한다. 즉, 멀티스레딩 환경에서 동기화가 가능하다. (코드를 보면, 각 메소드 별로 synchronized 키워드가 존재한다.)/..
오늘은 jdk 1.5에서 추가된 enum에 대해 알아보겠습니다. enum의 정의 배열 : 서로 연관된 값들의 집합열거형(enumerated type) : 서로 연관된 상수들의 집합 enum의 특징코드가 단순해진다. 인스턴스 생성과 상속을 방지한다. - enum 객체를 new를 통해 인스턴스를 생성을 막아주고, 생성자의 접근제어자를 private으로 설정 하지 않을 시 컴파일 에러가 발생한다. 의미를 명확히 할 수 있다. - class 대신 enum을 사용함으로써 구현 의도를 명확히 나타낸다. 자바의 enum은 C언어의 열거형보다 더 향상된 개념의 열거형으로 값뿐만 아니라 타입까지 관리하기 때문에 컴파일시 오류를 줄일 수 있다. - 아래의 School.MIDDLE 값과 Level.SILVER 를 비교할 경..