일반적으로 쿠키나 세션을 활용해서 로그인 처리를 많이 한다. 스프링 기반에서 인터셉트를 통해 세션 로그인 처리를 하는 부분을 정리해 보려고 한다. 전체적인 과정은 다음과 같다. 로그인 체크 인터셉터를 만든 다음, applicationContext.xml에 해당 인터셉터를 설정한다. 마지막으로 로그인 처리 중에 세션에 정보를 저장하면 된다. 이후, 인터셉터가 지정된 URL에 접근할 때는 로그인 체크 인터셉터를 통해서 로그인 여부를 확인하게 된다. 인터셉터를 활용한 흐름도는 다음과 같다. 로그인 체크 인터셉터 먼저 세션 정보가 있는지 여부를 확인하는 인터셉터를 만들어 보자. package kr.co.acronym.mini.util; import javax.servlet.http.HttpServletReque..
R에서 시뮬레이션을 위해서 임의의 변수를 생성하는 경우가 종종 있다. 이번에는 다양한 랜덤 변수를 생성하는 방식을 정리해 보려고 한다. Sample 가장 일반적으로 임의의 수를 생성하는 함수는 sample() 이다. sample() 함수는 다음과 같이 범위를 지정해 주고 추출할 수의 개수를 지정하면 된다. 첫번째 예제는 1~10 사이의 임의의 수 4개를 추출한 것이다. 마지막 예제는 letters에 저장된 알파벳 26자 중에서 5개를 임의로 생성한 것이다. 만약 동일한 값이 중복해서 생성해도 된다면, 다음과 같이 replace = TRUE를 지정하면 된다. 그리고 다음 예제를 살펴보자. set.seed(1)를 사용하고 있는데, 잘 보면 set.seed(1)이 호출된 다음에 sample() 함수의 결과가 ..
R의 apply 함수들을 살펴봤는데 이와 함께 사용할 수 있는 유용한 split() 함수에 대해서 알아보도록 하자. split split은 말 그대로 데이터를 나누는 함수이다. 벡터, 리스트, 데이터셋과 같은 객체를 지정된 팩터(factor)에 따라 분리하는 기능을 한다. split을 이해하기 위해서 먼저 데이터를 생성해보자. rnorm(10)을 이용해서 평균 0, 표준편차 1인 정규분포의 수 10개를 생성하고, runif(10)를 이용해서 균등분포를 갖는 10개의 수를 만들고, rnorm(10, 1)을 통해 평균 1, 표준편차 1인 정규분포의 임의의 숫자 10개를 만든다. 그리고 gl(3, 10)을 통해 3개의 팩터(factor)1, 2, 3에 해당하는 각각의 수 10개를 만든다. 이후 split(x,..
지난번엔 R의 lapply, sapply, vapply를 살펴봤다. 이어서 다른 종류의 apply를 알아보도록 하자. apply lapply와 sapply는 모두 리스트를 입력으로 받아서 각 리스트에 함수를 적용한다고 했다. 만약 리스트가 아닌 행렬(matrix)을 입력으로 넣으면 어떻게 될까? rnorm()으로 평균 0, 표준편차가 1인 정규분포를 갖는 20x10 행렬을 만들었다. 그리고 lapply로 평균을 구해보니, 결과가 무려 200개의 리스트가 나온다. 즉, 행렬의 각각의 요소를 리스트의 개별 요소로 보고 처리한 것이다. 보통 행렬에서는 각각의 행이나 열에 대해 함수를 적용하는 것이 필요하다. 이런 경우에 apply를 사용하면 된다. apply 함수의 두번째 인자로 1을 넣으면 행(row)에 대..
모바일 웹을 하다보면 SNS 공유 버튼 기능이 필요할 때가 있다. 간단하게 카카오톡, 페이스북, 트위터 공유 기능을 자바스크립트로 구현하는 것을 정리해 보도록 한다. 카카오톡 링크 공유하기 카카오톡 공유하기를 위해서는 먼저 카카오톡에 개발자 계정 등록을 해야 하고, 개발한 사이트의 URL도 앱 생성후 등록해야만 한다. http://developers.kakao.com 에서 기존 카카오톡 계정으로 설정하면 된다. 내 어플리케이션으로 이동해서 신규 어플리케이션을 웹으로 만든 다음, "설정 > 일반"에서 Javascript 키 (빨간색으로 표시)를 사용해서 카카오톡 링크를 구현할 수 있다. 그리고 카카오톡으로 공유하기를 보내기 위해서는 반드시 플랫폼이 등록되어야 한다. 위와 같이 사이트 도메인을 추가하고 저장..
R에는 lapply, sapply, vapply, apply, tapply등 다양한 apply 함수들이 존재한다. 데이터 분석에서 "Split-Apply-Combine" 이라는 전략을 구현한 것이 바로 apply이다. 즉, 데이터셋을 나누어서 각 조각들을 만들고, 각각의 조각에 특정 함수를 적용하고, 결과를 합쳐서 제공한다는 것이다. lapply 먼저 lapply부터 살펴보자. lapply의 l은 리스트를 나타낸다. 즉, 입력으로 리스트를 받아서 결과로 리스트를 제공한다는 것이다. lapply를 테스트하기 위해 먼저 리스트를 만들어 보자. rnorm은 정규 분포를 따르는 수를 만드는 것으로, rnorm(10)은 기본값으로 평균 0, 표준편차 1인 정규분포를 갖는 10개의 수를 만든다. 리스트의 각 항목,..
미니서평 누군가를 설득하려는데 잘 안되고, 반대로 누군가에게 쉽게 설득당한다고 느껴질 때, 한 번 읽어봐야 할 책인 듯 하다. 로버트 치알디니는 다양한 상황에 대한 예시를 통해 왜 우리가 쉽게 설득을 당하는지를 설명해주고 있다. 가장 먼저 이야기하는 부분은 "누르면 작동한다"는 고정 행동 패턴이다. 실제로 한 회사에서도 뭔가 불필요한 작업들이 계속 될 때, "왜 이렇게 하지요?"하고 물어보면, 십중 팔구는 "원래부터 그랬어요"라는 답변이 돌아온다. 이것은 일관성의 원칙, 사회적 증거의 원칙, 권위의 원칙과도 일맥 상통하는 부분이다. 신속한 결정을 위해 고민하기 보다는 기존의 방법대로, 또는 다수의 행동을 따르려는 성향, 명령에 대한 맹목적인 복종에 해당한다고 볼 수도 있다. 로버트는 이런 설득의 원칙에 ..
존스 홉킨스 대학의 로저 펜(Roger, D. Peng) 교수의 R 프로그래밍 강좌의 프로그래밍 테스트를 한글로 옮겨본다. R 프로그래밍을 배우는 사람들은 한번씩 테스트 해보기 바란다. 데이터 본 예제에서 사용하는 데이터를 다음 링크에서 다운로드 한다. 문제 - 오염된 값 사이의 상관관계 계산하기 마지막으로 지정된 파일을 읽어서 오염된 값 sulfate와 nitrate의 상관관계를 계산하는 함수를 만들어 보자. 단, 각 파일(모니터링 아이디)별로 sulfate와 nitrate의 값이 모두 존재하는 경우의 수가 매개변수로 지정된 임계치(threshold)보다 큰 값만 대상으로 한다. 결과값으로 임계치(threshold) 조건을 만족하는 모니터링 아이디의 상관관계 값의 벡터를 리턴한다. 만약 모든 모니터링 ..
OpenCV를 활용한 이미지의 유사도 비교에서 먼저 피처 매칭을 살펴봤다. 오늘은 히스토그램 비교를 알아보도록 하자. 히스토그램은 매개변수에 따라 Correlation, Chi-square, Intersection, Bhattacharyya 각각의 결과값을 가질 수 있다. 그래서 중요한 부분이 각각의 결과값을 어떻게 해석하는 것이다. Correlation과 Intersection은 값이 클수록 유사한 것이고, Chi-square와 Bhattacharyya는 값이 작을수록 유사한 것으로 판단한다. Comparing Histogram 먼저 전체 소스를 살펴보면 다음과 같다. 마찬가지로 C로 구현되어 있는 Histogram 소스를 자바로 변환한 것이다. package kr.co.acronym; import j..
- Total
- Today
- Yesterday
- 빅데이터
- ms
- 자바
- mysql
- 도서
- 하둡
- HTML
- 애플
- 아이폰
- 디자인
- 마케팅
- 통계
- fingra.ph
- java
- 자바스크립트
- 프로젝트
- XML
- 구글
- 맥
- SCORM
- 웹
- 세미나
- 모바일
- 분석
- r
- 클라우드
- 안드로이드
- 책
- Hadoop
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |