목록Study (184)
Hayden's Archive
요즘 사용자 정보를 가져와서 로그를 남기는 작업을 하고 있다. 거의 모든 로그를 남기다 보니 사용자 아이피, 현재 시간, 사용자 아이디를 계속해서 가져와야 할 일이 생겼다. 아무래도 계속해서 공통적으로 쓰이는 코드라면 모듈화하는 것이 좋다. 따라서 프로젝트 내에 ClientInfo.java라는 클래스를 따로 만들었고, Bean으로 사용할 수 있도록 @Component로 어노테이션을 붙여줬다. 전체 코드 : github.com/devyeony/smart-data-tracing-management/blob/main/src/main/java/kr/com/inspect/util/ClientInfo.java devyeony/smart-data-tracing-management Contribute to devyeo..
참고 : www.youtube.com/watch?v=1AyxqIePusA 엄청나게 많은 트래픽을 웹 서버에게 보내서 웹 서버가 얼마나 트래픽 스트레스로부터 잘 견디는지 테스트해보고자 한다. 이를 위해 아파치에서 제공하는 제이미터를 사용해보겠다. 제이미터는 자바로 구성되어 있으므로 기본적으로 컴퓨터에 자바가 설치되어 있어야 실행이 가능하다. downloads.apache.org/jmeter/binaries/ Index of /jmeter/binaries downloads.apache.org 공식 홈페이지에 들어가서 압축 파일을 다운 받는다. 나는 apache-jmeter-5.4.tgz 을 다운받았다. 적당한 위치에 두고 압축을 풀고 bin 폴더에서 jmeter를 실행시킨다. $ ./jmeter Failed..
참고 : 장고걸스 튜토리얼 tutorial.djangogirls.org/ko/ 들어가며 · HonKit 1차 : 2015. 10. 1. 이수진, 함기훈, Jay Park, 조혜선, 정광윤, 임정훈, 문지영, 김휘경, 송석리, 여형석, 심혜민 tutorial.djangogirls.org 가상환경에서 작업하므로 터미널에서 가상환경이 활성화되어 있는지 확인하고 시작하자.(아래의 (myvenv)처럼 가상환경이 보여야 한다.) 활성화되지 않았을 경우 가상환경 활성화 방법은 지난 포스팅( hayden-archive.tistory.com/395 ) 참고 장고의 기본 골격을 만들어주는 스크립트를 실행하자. 맨 끝의 점을 꼭 빼먹지 않도록 한다. 현재 디렉토리에 장고를 설치하라고 스크립트에 알려주는 축약된 표시이다. $..
참고 : 장고걸스 튜토리얼 tutorial.djangogirls.org/ko/ 들어가며 · HonKit 1차 : 2015. 10. 1. 이수진, 함기훈, Jay Park, 조혜선, 정광윤, 임정훈, 문지영, 김휘경, 송석리, 여형석, 심혜민 tutorial.djangogirls.org 내가 사용 중인 우분투에는 이미 파이썬이 설치되어 있다. 적당한 디렉토리에 가서 가상환경을 만들어본다. 나는 Documents 디렉토리 아래 실습용 디렉토리를 만들고 그 아래 튜토리얼에서 말한 myvenv라는 가상환경을 만들어보았다. $ python3 -m venv myvenv 가상환경을 활성화시켜본다. 위에서 생성한 가상환경 디렉토리의 bin 폴더의 activate를 실행하는 것이다. $ source myvenv/bin/..
요즘 Spring Legacy Project에 스프링 시큐리티를 적용하여 작업을 하고 있다. SecurityConfig에 설정을 입력해서 암호화 후 DB에 회원 등록, 회원 로그인 및 로그아웃, 권한별로 페이지 접근 제한 및 스프링 시큐리티 태그 라이브러리 사용까지 완료하였다. 물론 중간중간에 시행착오와 삽질이 있었지만 그간 해보지 않았던 내용을 책과 구글의 도움을 받아 혼자서 배우고 익혀서 실습하고 성공했다는 데 보람을 느낀다. 스프링 시큐리티는 중간에 필터 하나 더 추가하는 것만으로 개발자가 인증 및 인가 절차를 편하게 구축할 수 있는 강력한 인터페이스를 제공해줘서 실제로 적용해보니까 이걸 왜 쓰는지 알겠다. 이제는 여기에 자동 로그인을 추가해볼까 한다. 나는 프로젝트에서 xml이 아닌 Java Co..
참고 : 방통대 자료구조 강의 트리 검색의 편리함 논리적 계층 계급적 특성 트리의 구성 노드 : 트리의 항목 / 트리에 저장되는 데이터(값+포인터)의 묶음 부모노드-자식노드 : 상하 계층구조가 있고 링크나 포인터를 통해 직접적으로 연결된 노드로서 상위계층의 부모노드와 하위계층의 자식노드를 뜻함 (바로 위가 아니면 조상과 자손) 루트노드 : 트리의 최상위 노드(부모가 없는 노드) 서브트리 : 부모 노드를 삭제하면 생기는 트리들 리프노드 : 트리의 맨 끝(바닥)에 있으면서, 자신의 서브트리를 갖지 않는 노드 진입/진출 차수 루트 노드 : 진입차수 = 0 (부모가 없음) 루트를 제외한 모든 노드의 진입 차수 : 1 리프 노드 : 진출차수 = 0 (자식이 없음) 트리의 레벨 루트를 시작으로 트리를 정의하고 접근..
젠킨스에 대해 이해하기 위해 CI/CD 개념과 젠킨스에 관한 설명을 짚고 가자. CI/CD 개념 blog.naver.com/dktmrorl/222053272087 젠킨스 설명 blog.naver.com/dktmrorl/222044423816 젠킨스 공식 홈페이지에 들어가서 설치 www.jenkins.io/download/ Jenkins download and deployment Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software www.jenkins.io $ wget -q -O - https://pkg.jenkins..
강의 내용 : 전주정보문화산업진흥원 Kubernetes 이해 강의( edu.jica.or.kr/courses/9 ) ※ 윈도우 환경에서 실습 ※ 먼저 도커 허브에 가입한다. hub.docker.com/ Docker Hub Docker Certified:Trusted & Supported Products Certified Containers provide ISV apps available as containers. Certified Plugins for networking and volumes in containers. Certified Infrastructure delivers an optimized and validated Docker platform for enterp hub.docker.com Do..
참고 : 책 - 코드로 배우는 스프링 웹 프로젝트 ( book.naver.com/bookdb/book_detail.nhn?bid=13993776 ) 카페 - 구멍가게코딩단( cafe.naver.com/gugucoding ) 인증(Authentication)과 권한 부여(Authorization - 인가) 인증 : 자신을 증명할만한 자료를 제시해서 증명하는 것 스프링 시큐리티에서 가장 중요한 역할을 하는 존재가 인증을 담당하는 AuthenticationManager(인증 매니저). 권한 부여 : 남에 의해서 자격이 부여되는 것 개발자가 스프링 시큐리티를 커스터마이징 하는 방식은 크게 AuthenticationProvider를 직접 구현하는 방식과 실제 처리를 담당하는 UserDetailService를 직접..
참고 : 책 - 코드로 배우는 스프링 웹 프로젝트 ( book.naver.com/bookdb/book_detail.nhn?bid=13993776 ) 카페 - 구멍가게코딩단( cafe.naver.com/gugucoding ) codevang.tistory.com/266 Spring Security 설명 거의 대부분 웹 기반 프로젝트에서 사용자의 권한이나 등급에 기반을 두는 로그인 체크를 이용 스프링 시큐리티를 이용하면 다음과 같은 작업들을 간편히 처리할 수 있음 로그인 처리와 CSRF 토큰 처리 암호화 처리 자동 로그인 JSP에서의 로그인 처리 스프링 시큐리티의 기본 동작 방식 : 서블릿의 여러 종류의 필터(Filter)와 인터셉터(Interceptor)를 이용해서 처리 필터는 서블릿에서 말하는 단순한 필..