일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- javascript
- ajax
- VCS
- network
- reactive
- Linux
- cache
- r
- libuv
- Java
- 데이터통신
- Lombok
- AWS
- socket
- reactor
- mongodb
- Elk
- HTTP
- html
- 네트워크
- nodejs
- git
- effective
- github
- spring
- NoSQL
- redis
- mybatis
- Heap
- Static
- Today
- Total
목록2018/06 (8)
빨간색코딩
1. AOP란?Aspect Oriented Programming 의 약자로 관점지향 프로그래밍이라고 부른다. IoC가 낮은 결합도와 관련된 것이라면 AOP 는 높은 응집도와 관련되어 있다.서비스들의 비즈니스 메소드들은 복잡한 코드로 구성되어있는데, 그 중 핵심 로직은 얼마안되고 대부분은 트랜잭션, 로깅 처리, 인증과 관련된 코드들이 있을 수 있다. 이럴 때 비핵심이지만 꼭 필요하고, 공통화할 수 있는 부분을 따로 빼서(횡단 분리) 관리하는 것이다.2. AOP 용어조인포인트(Joinpoint) : 클라이언트가 호출하는 모든 비즈니스 메소드, 조인포인트 중에서 포인트컷되기 때문에 포인트컷의 후보로 생각할 수 있다.포인트컷(Pointcut) : 특정 조건에 의해 필터링된 조인포인트, 수많은 조인포인트 중에 특..
참조문서 : https://wikidocs.net/441. 설치python 2.7.15 설치Windows x86 MSI installer설치를 default로 하면 C:\Python27 에 설치되고, Scripts 까지 생긴다. 하지만 경로를 다르게하면 Scripts 생기지않는데, 이때는 ez_setup.py 를 받아서 실행해주면 pip 가 깔린다.환경변수 설정python: C:\Python27pip : C:\Python27\ScriptsIDE : 기존에 사용하던 IntelliJ에 Python Plugin 을 설치2. pip파이썬 진영의 패키지관리자다.2-1. 명령어pip install 패키지명pip install 패키지명==버전 : 특정 버전 패키지 설치pip search 패키지명pip uninstal..
참조문서 : http://ejs.co/#docs1. ejs 란?ejs는 Embedded JavaScript Template의 약자로 nodejs 진영에서 많이 사용하는 템플릿엔진이다. 문법이 단순하다.2. 기본 문법주석 : JS 코드 : 변수 출력(html escape 처리: >를 $gt로 변환) : 태그내부 공백 제거 : html escape안하고 변수 출력 : ejs 분할3. nodejs와 연동(= 데이터 넘겨주기)3-1. express 없이 연동하기const ejs = require("ejs"); ejs.render(경로, 데이터, 옵션); 3-2. express 에서 연동하기app.js 에서 app.set('view engine', 'ejs');처리하는 라우터에서 아래와 같은 로직이 있으면 된다...
참조문서 : https://www.npmjs.com/package/body-parserpost로 요청된 body를 쉽게 추출할 수 있는 모듈이다. 추출된 결과는 request객체(IncomingMessage 타입)에 body 속성으로 저장된다. API문서보면 다양한 메소드들이 많지만, 여기서는 URL-encoded form body parser만 사용한다.npm install body-parser 로 설치한다.1. http 내장모듈만 쓰는 것과 뭐가 틀린가?http모듈로만 post body를 파싱하려면, req.on('data', function(chunk) { body += chunk; }); 와 같이 이벤트를 등록해야한다. 그다음에 인코딩처리를 해줘야한다.그치만 body-parser를 쓰면 bodyP..
참조문서 : https://www.joinc.co.kr/w/Site/Tip/Rsync1. rsync를 왜쓰는가?Linux 시스템을 사용시에 원격지 서버의 파일을 copy 해야하는 경우가 빈번하게 발생하는데 개발자는 계정 패스워드를 알 지 못하기 때문에 패스워드를 이용하지 않는 방식으로 File copy 가 필요보안 설정을 추가하여 침해사고도 예방 가능장점원격 시스템으로 부터 파일을 효율적으로 복사하거나 동기화 할 수 있다.Link, device, 파일의 소유자와 그룹 권한(permissions)등 파일의 부가정보도 복사할 수 있다.scp보다 빠르다. rsync는 remote-update 프로토콜을 이용해서 차이가 있는 파일만 복사한다. 처음에는 모든 파일과 디렉토리를 복사하겠지만, 다음부터는 차이가 있는..
참조문서 : https://wiki.kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/1. 출력echo : 자동 줄바꿈printf : c언어랑 비슷2. 주석#!/usr/bin/env bash#3. 함수function 을 써도되고 생략해도 된다.함수선언이 호출 뒤에있으면 에러가 발생한다. (command not found)에러가 나도 밑에꺼는 마저 실행되는 듯인자 넘기기 : 함수 인자1 인자2 ...4. 변수변수 할당은 = 앞뒤에 공백이 없어야만 된다. (있으면 command not found 발생)홀따옴표, 쌍따옴표 다 되는 듯선언된 변수는 기본적으로 전역변수이다. 해당 스크립트에서만 유효하다.다른 스크립트(A.sh 내부에서 B.sh 를 호출하는 상황) 에서도 해당 변수를 사용하려면 ..
참조문서 : https://d2.naver.com/helloworld/10963관련 포스팅 : http://sjh836.tistory.com/1211. 들어가며1-1. 스레드의 종류Daemon Thread작업을 돕는 보조적인 역할을 수행하는 쓰레드 (GC 도 여기에 해당)프로세스 종료시 데몬 쓰레드는 강제적으로 자동종료언제든지 종료가 되어도 상관없는 작업 시에 사용 (그래서 주로 데몬쓰레드를 쓴다)Thread t = new Thread(); t.setDaemon(true); 로 설정가능Non-Daemon Thread실제 주 작업을 하는 스레드프로세스 종료시 논데몬 쓰레드가 살아있는 경우 종료 불가능 (가끔 톰캣을 종료했지만 안꺼져서 kill 해야되는 이유)매우 중요한 데이터 처리시에 사용하는 것이 일반적..
1. java에서 가변인자를?jdk 1.5 부터 추가되었다. 비정형 인자라고도 하며, 몇개의 인자가 넘어올지 모를 때 사용하면 좋다. 배열로 간주되며, 메소드가 호출될 때 배열의 길이를 결정한다. 배열타입을 인자로 받기에는 너무 작아서 아쉬울때 주로 쓴다고 한다..ㅋㅋ2. 어떻게 쓰는가메소드명(String ... args) 이런식으로 ... 을 찍으면 된다. 주의할 점은 가장 마지막 인수에 위치해야한다. (The variable argument type String of the method print must be the last parameter)