전체 글 278

Modern Data Binding

데이터 바인딩 그러니까, 보이지 않는 Data를 보이는 View에 할당 시키는 과정 이런 개념은 사용자 인터페이스가 존재하는 모든 곳에서 사용되어지고 있다. 하고싶은 포스팅은 이것들의 기초적인 방법과 개념에 대한 것이다. 단순 참조가장 심플한 방법으로써, View가 계속해서 Data를 참조하고 있는 구조이다.이는 View가 Render가 될 때, 해당 데이터를 직접 표시한다. View - Data Pros데이터 변경되면, 즉시 반영된다.(Auto Refresh)Cons데이터는 무조건 메모리에 있어야 한다. 풀링(데이터 요청)View에서 Data가 필요할 때, Request을 통해서, 데이터를 가져오는 방법 View - Request/Response - Data 요청/응답에 대한 오버헤드는 없다고 가정 P..

dev 2017.03.14

[JAVA] AOP 용어 정리

AOP(Aspect Oriented Programming) 말 그대로 관점 지향 프로그래밍이다. 예로 스프링에서 @Transactional 어노테이션이 AOP로 구현된다.코드가 많은 트랜잭션 처리를 쉽게 할 수 있다는 장점이 AOP를 잘 설명 해주는 것 같다. 기본적인 용어crosscutting concerns(횡단 관심): OOP로 모듈화 시키기 어려운, 특정 처리구문(?) 예로 로깅, 보안, 트랜잭션, 예외처리, 등등advice(어드바이스): 실행할 부가적인 기능(실제 코드)target(타겟): 어드바이스를 적용할 대상 객체joinpoint(조인포인트): 어드바이스를 삽입할 특정 지점pointcut(포인트컷): 조인포인트를 선별하기 위한 정의weaving(위빙): 포인트컷으로 선별된 조인포인트에 어드..

dev/java 2017.03.05

stateless and stateful

무상태 프로토콜(stateless)은 대표적으로 HTTP가 있다.상태 프로토콜(stateful)은 TCP Sock 커스텀 프로토콜 등이다. StatelessPros서버의 수평확장 용이로드밸런싱 용이적은 메모리 사용량연결 지속성이 없음Cons요청 헤더가 큼느리다(DB관련 오버헤드)단방향 통신 StatefulPros요청 헤더가 작음빠르다(메모리에 데이터로 대부분 처리가능)양방향 통신Cons서버의 수평확장이 어려움로드밸런싱이 어려움많은 메모리 사용량(상대적)연결에 지속성이 필요하며, 재접속에 대한 오버헤드가 큼 대략 이런 장단점을 가지고 있다고 볼 수 있다. 구글링을 하면 더 자세한 정보가 있을 것이다. 전통적으로 게임서버는 stateful로, 구현되었으나, 모바일 게임에서는 연결을 유지하는게 어렵기 때문에 ..

dev/etc 2017.03.02

Ajax 크로스 도메인 세션유지

세션(HTTP Session)웹 프로토콜 HTTP는 무상태(stateless)이다.전통적으로 로그인 인증처리를 위해, 웹서버는 프로토콜과 무관하게 세션이라는 것을 제공한다.이는 웹 어플리케이션에게 필요한 state를 서버에 전달하기 위한 목적으로 session이나 cookie를 이용하는 대체수단정도로 볼 수 있다.세션이 생기면서 웹서버는 상태 프로토콜(stateful)처럼 동작하고 있다. XMLHttpRequest 과 CORSAJAX 통신시 크로스 도메인 이슈가 있으며,이에 대한 해결책으로 CORS라는 게 있다.사전요청(preflight)으로 서버에 질의한뒤, 실제 요청을 보내는 형태로 되어있다.참고: https://developer.mozilla.org/ko/docs/Web/HTTP/Access_con..

dev/web 2017.03.02

웹 기술 동향 - 개인적인 로그

기술 동향이라 써놓으니 너무 거창하다.사실, 기술 동향이라는 것은, 꽤나 비현실적인 경우가 태반이라 생각하는데, 어느정도 업종에 종사를 하다보니, 중요한 것임을 깨닫고 있다. 2007년 아이폰2008년 HTML5 그리고 크롬 사실 이 흐름은 필자가 받아들이 벅차다. 기억을 더듬어 보자면학창 시절 Adobe Flash를 가지고 놀던(AS3는 너무나 재밌었고, Tweener의 입문이었을 것이다) 필자에게, HTML5의 등장은 좌절이었다. 요즘엔 클라우드라는 말이 들리지 않는다.분명 몇년 전만해도 여기저기 클라우드라는 이름으로, 고작 원격 스토리지를 제공했었는데 말이다.대신 AWS, BaaS, PasS같은 소리가 들린다. 그야말로 뜬구름 같았던 Cloud Computing이 현실이 되어 버렸다.여전히 벅차다...

dev/web 2017.03.02

깃 디플로이 (Deployment from Git)

Git은 정말 훌륭한 도구이다. 현재로썬 버전관리의 끝판왕? 인지라..쓰기는 쉽지만, 잘쓰기는 어려울 툴이다.ㅠㅠ 원격 깃 저장소로부터 실제 운영 서버로 디플로이를 해야할 때,자동화 스크립트는 생성하는 방법이다. 추가로 hook같은 건 제외하겠다. 레파지토리 path : /home/www/repos/mysite.git디플로이 path : /home/www/html 서버의 로컬 레파지토리 생성--bare 는 소스파일없는 .git폴더($GIT_DIR)로써, 이력만 관리한다는 뜻(remote정보가 없음, fetch시 메인 리포를 지정필요)--mirror 도 --bare에 추가로 remote정보가 포함됨cd /home/wwwmkdir repos && cd reposgit clone --mirror ssh://g..

dev/linux 2017.03.01