GitHub

https://github.com/Backcoder-June

BackCoder 기록 그리고 숙달

전체 글 171

[Spring Security] Authentication Failure Handler 적용

Spring Security 에서는 로그인 성공 / 실패시, SecurityConfig 에서 특정 URL 로 리다이렉트 시키거나 Handler 를 활용해 후처리를 해줄 수 있습니다. [ SecurityConfig ] .defaultSuccessUrl("/allboard") @Autowired AuthenticationFailureHandler authenticationFailureHandler; .failureHandler(authenticationFailureHandler) Handler 를 이용하고자 하면 (1) AuthenticationFailureHandler 인터페이스를 implements 해서 사용하거나 (2) SimpleUrlAuthenticationFailureHandler 를 extend..

Back to the Spring 2022.12.24

[ Spring Security ] OAuth2 구글 / 네이버 로그인

너무나 다양하고 많은 웹 / 앱 서비스들이 출시되고 있는 추세에 매번 새로운 Application 에, 새로운 정보로 가입하는 건 요즘은 꽤나 기피됩니다. OAuth2 를 활용하면 대중적인 사이트들의 로그인 API 를 활용해서 나의 새로운 Application에 손쉽게 클릭 한 두번으로 가입할 수 있게 됩니다. 최근 출시하는 Application 들은 이러한 편의성을 강점으로 살리고자 로그인 방법만 10가지가 넘게 제공하기도 하죠.. 대표적인 사이트 구글, 네이버 로그인을 OAuth 를 활용해 적용하는 법을 정리해 보았습니다. 1. 라이브러리 설치 [ Build Gradle ] # Spring Scurity implementation 'org.springframework.boot:spring-boot-s..

Back to the Spring 2022.12.23

[Spring Security] SecurityConfig, UserDetailsService, BCrypt, CSRF

1. Spring Security : Application 의 보안( Authentication, Authroization )을 담당하는 스프링 하위 프레임워크 - Authentication ( 인증 ) : 해당 사용자의 로그인 정보가 일치하는 지 확인 ( ID / PW ) - Authorization ( 권한 ) : '인증' 된 사용자가 요청한 페이지에 접근 가능한지 권한을 확인하고 부여 [ SecurityConfig ] : 시큐리티의 Authentication / Authorization 기능을 설정 (1) old 버전 @Configuration @EnableWebSecurity public class SecurityConfig (extends WebSecurityConfigurerAdapter) {..

Back to the Spring 2022.12.23

AWS EC2 프리티어로 배포하기(2) ( SpringBoot, Maven, MySQL, Jenkins, Ubuntu, Putty )

인스턴스를 생성했고, 인바운드 규칙에서 SSH ( Port 번호 : 22 ) 접근 URL을 내 IP 로 설정해 둡니다. 다운받아둔 키페어를 이용해 Putty 에 접속하면 이제 AWS 에서 빌린 서버를 이용할 수 있습니다. 최종 목적은 Spring Boot, Maven, MySQL 을 사용한 프로젝트를 Jenkins, GitHub 을 사용해 배포하는 것이므로 AWS 에서 빌린 깡통 서버에 필요한 개발 TOOL 들을 설치해 줍니다. [ 필요 목록 ] 1. JDK 2. Maven 3. Tomcat 4. MySQL 5. Jenkins 1. JDK ( Java Development Kit ) - 자바 어플리케이션을 읽는 역할을 해주는 JRE는 개발자 도구를 포함, 개발을 진행 할 수 있게 해주는 JDK 안에 포함..

Back to the AWS 2022.12.09

AWS EC2 프리티어로 배포하기(1) ( SpringBoot, Maven, MySQL, Jenkins, Ubuntu, Putty )

NCP ( Naver Cloud Platform ) 로 안정적인 금융지원을 받으며 진행했던 때와 달리, AWS에 가입하면 1년간 누릴 수 있는 Free Tier 혜택을 이용해서 배포를 시도하다보니 생각지 못했던 트러블들이 꽤나 있었습니다. 먼저, AWS 는 특화된 서비스 종류가 다양하게 있는데 그 중 가장 기본 서비스인 EC2 를 사용해 배포하는 방법을 다루는 글이 될 것 같습니다. [ EC2 ] Elastic Compute Cloud 란? : 말 그대로 클라우드 컴퓨터를, 서버만을 통째로 빌려주는(Hosting) 서비스 ( 자유도 높음 ) 사용자가 DB, 설정, 관리 등 알아서 설정해야 함 서버 이용자, 트래픽에 맞춰서 적절한 램 크기의 컴퓨터를 빌려서 사용할 수 있다는 장점 사용 시간의 유연함 - 필..

Back to the AWS 2022.12.09

2022 우테코 4th Week java-bridge 리뷰

2022 우테코에서 진행하는 공개된 사전과제 코딩테스트 문제 입니다. https://github.com/Backcoder-June/java-bridge GitHub - Backcoder-June/java-bridge Contribute to Backcoder-June/java-bridge development by creating an account on GitHub. github.com ( 상세한 문제 설명은 링크를 타고 들어가서 확인해주세요! ) Bridge Application 드라마 오징어게임에서 나왔던 다리건너기 게임처럼, 2개의 다리가 있고, 한 칸씩 왼쪽, 오른쪽을 선택하며 다리를 건너는 게임을 Console 에서 구현해보는 과제였습니다. 왼쪽, 오른쪽 중 건널 수 있는 다리는 랜덤으로 정해..

Coding Test 2022.11.18

주소찾기API => Kakao GeoCoder => Kakao Map API 연계, 거리 계산 활용하기

(1) 주소찾기 API 는 흔히 우리가 사용하는 주소찾기 API 입니다. (2) 위의 주소찾기 API 에서, '정확한 주소명' data 를 받을 수 있기 때문에, Kakao Geocoder API에 이 '정확한 주소명' 을 이용하면 해당 주소의 '위도, 경도 좌표' 를 받아올 수 있습니다. // ... 다음 주소찾기 API 에서 전체주소를 갖는 변수 address를 이용해 kakaoGeocoder API 실행 document.getElementById("sample6_address").value = address; KakaoGeocoder(address); - 기본적인 좌표는 (123.456789, 234.5678912) 의 형태로 주어지기 때문에, 이를 toString() 과 substring() 등을..

Back to the API 2022.11.16

DAUM 주소찾기 API 동 주소 활용하기

회원가입 시, 사용자의 주소 정보를 받아오기 위해 Daum API 를 사용 할 경우, (1) 주소를 검색 (2) 도로명 혹은 지번 을 클릭하여 선택 (3) 해당 주소의 data 들을 받아서 사용할 수 있습니다. data.zoncode : 우편번호 addr : 주소 detailAddr : 상세주소 ( 사용자 추가 입력 ) extraAddr : 추가주소 ( 동 이름 등 참고항목 ) // 다음 주소찾기 API function sample6_execDaumPostcode() { new daum.Postcode({ oncomplete: function (data) { // 팝업에서 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분. console.log(data) // 각 주소의 노출 규칙에 따라 주소를 조..

Back to the API 2022.11.16

2022 우테코 3rd Week java-Lotto 리뷰

2022 우테코에서 진행하는 공개된 사전과제 코딩테스트 문제 입니다. https://github.com/Backcoder-June/java-lotto GitHub - Backcoder-June/java-lotto: 로또 미션을 진행하는 저장소 로또 미션을 진행하는 저장소. Contribute to Backcoder-June/java-lotto development by creating an account on GitHub. github.com ( 상세한 문제 설명은 링크를 타고 들어가서 확인해주세요! ) Lotto Application 로또 프로그램을 Console 에서 구현해 보는 미션이었습니다. 전체적으로 제한사항 및 요구사항이 많았고, 자료구조를 다양하게 활용해 볼 수 있어서 많은 도움이 됬던 과제..

Coding Test 2022.11.11

2022 우테코 onboarding 7번 리뷰

2022 우테코에서 진행하는 공개된 사전과제 코딩테스트 문제 입니다. https://github.com/Backcoder-June/java-onboarding GitHub - Backcoder-June/java-onboarding: 온보딩 미션을 진행하는 저장소 온보딩 미션을 진행하는 저장소. Contribute to Backcoder-June/java-onboarding development by creating an account on GitHub. github.com ( 상세한 문제 설명은 링크를 타고 들어가서 확인해주세요! ) Problem 7 SNS 추천친구 기능을 구현해 보는 문제였다. 내 친구의 친구이면 +10, 내 피드를 방문했으면 +1 스코어를 주는 방식으로, 점수가 높은 친구 5명을 점..

Coding Test 2022.11.09