클라이언트 보다는 서버 프로그래밍이 주력이긴 하지만 재미는 클라이언트가 높은 것 같다. 개인적으로 React, Vue, Angular 모두 자유롭게 활용이 가능하지만 순수 JavaScript 코딩을 선호한다. 이유는 Redux 같은 것도 좋긴 하지만 내가 설계를 하면 데이터는 어디에서든 연결할 수 있고, 책임있는 컴포넌트에서 관리하게 하여 더 직관적으로 프로그램을 만들 수 있기 때문이다. 즉, 프레임워크의 소스를 분석해서 활용하는 것도 괜찮지만 내가 프레임워크를 만들어서 코딩하는 편이 더 쉽고 더 자유롭다. 작년 부터 시민들이 온라인으로 민원을 신청하는 페이지에 대한 UX/UI 개선에 대한 고민을 해왔었다. 아래는 현재 간략히 정리한 내용이다. - 현재 33종의 민원을 온라인으로 제공하고 있다. - 하나..
1. 오랜 만에 들어와서 작성한다. 이 블로그는 사적인 공간이고 그냥 글을 공개해 놓은 것 뿐이다. 1-1 한번씩 다시 읽을 때마다 느끼지만 의식의 흐름에 따라 작성한 것이라 오타도 많고 무슨 말인지 알수도 없는 부분이 많아 다른 사람들이 보기에는 적절하지 않다. 1-2 머리가 점점 나빠지고 쉽게 잊어버리는 것 같아서 적어놓는 용도일 뿐이다. 남들에게도 도움이 되었으면 좀 더 기쁘겠지만, 그건 이 블로그의 핵심 가치는 아니다. 2. 이 포스트에서 할 내용 2-1 인증을 위한 서비스 모듈을 리팩토링한다. 2-2 회원가입을 로직을 작성한다. 2-3 관련된 예외처리를 한다. 3. 인증부분을 좀 더 모듈화하기 위해 AuthService를 작성하여 그곳으로 모든 로직을 옮긴다. 3-1 Controller의 소스는..
0. 이 포스트는 이전 Fooball club예제를 REST로 다시 작성하는 시리즈의 일부이다. 1. 적용된 테크닉 1-1 JWT 생성 및 검증 1-2 OncePerRequestFilter 생성 및 등록 1-3 AuthenticationEntryPoint 작성 2. 이 포스트에서 할 내용 2-1 보안 설정하기 2-2 인증용 컨트롤러 만들기 2-3 JWT 유틸리티 생성하기 2-3 인증용 endpoint 작성하기 2-4 JWT 검증용 필터 작성하기 3. 보안설정하기 3-1 지난 포스트에서 안보이던 JwtRequestFilter가 보인다. 이것은 Request마다 JWT 검증용으로 사용한다. 3-2 필요한 곳에 인증을 적용하기 위해 skills, players, teams에 대한 접근을 USER권한 이있는 사..
0. 이 포스트는 이전 Fooball club예제를 REST로 다시 작성하는 시리즈의 일부이다. 1. 적용된 테크닉 1-1 전역에러 처리 클래스 설정 @ControllerAdvice 1-2 Rest Controller @Validated, @Valid 처리 1-3 Optional 처리하기 map - orElseThrow/orElseGet 처리 2. 이 포스트에서 작성할 내용 2-1 인증관련 연결 2-2 전역 예외처리 클래스 정의 2-3 Skill CRUD 구현하기 3. 인증 관련 연결하기 3-1 SecurityConfig 3-1-1 기본적인 인증을 UserDetailsService를 바로 이용하는 방식으로 정의 3-1-2 PasswordEncoder를 BCrypt방식으로 적용 3-1-3 csrf disa..
0. 이 포스트는 이전 Fooball club예제를 REST로 다시 작성하는 시리즈의 일부이다. 1. 적용된 테크닉 1-1 Data JPA Entity 작성하기 one to many, many to many 1-2 @MappedSuperclass, @Embedable, @Embedded, @Enumerated 1-3 외부 데이터베이스에서 초기 데이터 로딩 설정 2. 이 포스트에서 작성할 것 2-1 프로젝트 생성 및 jaxb와 jjwt 추가 2-2 폴더 작성 및 Entity 작성 2-3 데이터 베이스 확인 3. 프로젝트 생성 3-1 결국은 REST API를 작성하는 것이 목표이다. 3-2 데이터베이스는 MySql을 사용한다. 3-3 스프링보안을 적용하고 JWT를 사용한 인증을 사용한다. 3-4 Data J..
0. 지난 포스트는 이 포스트의 후속인데 순서가 뒤바뀌어 있다. 0-1 전체 소스도 아래부분을 포함하여 사용자와 팀과 매핑한 부분도 포함되어 있다. 0-2 아래 포스트를 보면 이전 포스트의 TeamController의 processTeamSetup 코드와 약간 다른데 0-2-1 더블클릭 방지를 위한 부분이 들어 있다. 0-2-2 첫 클릭시에 이미 SessionStatus가 complete되어 버리는데 0-2-3 더블 클릭시에는 세션 데이터가 없기 때문에 team 속성을 가지고 올 때 에러가 난다. 그 부분을 수정했다. Spring Security : Authentication 사용하기 1. Authentication은 인증 토큰이라고 할 수 있다. 1-1 인증토큰이라면 인증을 위한 정보를 가진 하나의 단..
1. 이 포스트는 지난 시리즈에 이어서 같은 프로그램을 JPA로 구현하는 것을 보여준다. 1-1 화면과 데이터베이스 조회 결과는 이전 포스트를 참고한다. Spring Basic : JDBC를 이용한 FootBall Club example 1. 환경설정 0 javax.validation가 2.3.1에서 빠져 먹지를 않는다. 2.2.7 버전은 동작하니 예전버전을 사용을 권장한다. 0-1 아니면 그냥 maven에서 javax.validation를 찾아서 라이브러리를 추가하면 된다. 1. 이 포스트는.. kogle.tistory.com 2. 지난 JdbcTemplate을 이용한 프로젝트에 Data-JPA starter를 추가한다. 3. JPA를 사용하기 때문에 Entity가 가장 중요하다. 3-1 Skill E..
1. 이 포스트는 축구 클럽 관리를 위한 테스트 프로젝트로 다양한 스프링 기능을 데모하기 위해 만들었다. 1-1 세션 범위의 공유객체 사용방법과 완료처리 방법 1-2 세션 객체가 존재하지 않거나 만료한 경우 처리방법(https://kogle.tistory.com/202) 1-3 SimpleJdbcInserter를 사용하는 방법 1-4 JdbcTemplate을 이용한 마지막 포스트이니 위에 프로젝트를 첨부하였다. 2. 팀작성 페이지는 input 밖에 없어 검증 작성하기가 수월하다. 아래는 검증과 저장을 수행하는 메소드를 추가하였다. 2-1 사용자가 입력한 데이터는 @modelAttribute로 받는데 @Valid를 설정하여 검증을 수행한다. 2-2 검증의 결과는 BindingResult로 받아 에러가 있는..
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib
- RestTemplate
- MYSQL
- 매핑
- spring boot
- WebMvc
- 상속
- jsp
- Many-To-Many
- 스프링
- 로그인
- login
- 설정
- Validation
- 설정하기
- mapping
- Spring
- form
- one-to-one
- Security
- crud
- Angular
- 외부파일
- XML
- hibernate
- one-to-many
- 자바
- 스프링부트
- Rest
- 하이버네이트
- Spring Security