본문 바로가기

Dev

(58)
map의 다양한 사용법 - key, value 순으로 정렬, auto 반복문 기본적인 사용법: 선언 - map test; 삽입 - test.insert(make_pair(key, value)) 제거 - test.erase(key) ex) #include #include #include using namespace std; int main() { map test; test.insert(make_pair(1, 10)); test.insert(make_pair(2, 9)); test.insert(make_pair(3, 8)); test.insert(make_pair(4, 7)); test.insert(make_pair(5, 6)); cout
Spring Boot - 카카오 로그인 인가 받기 스프링 부트에서는 구글과 페이스북 로그인을 도와주는 하위 프레임워크가 있을 정도. 그러나 우리나라에선 카카오 로그인이 더 대표적입니다. 먼저 우리가 자체적으로 만들어놓으면 유저(클라이언트) 우리의 서비스(서버) 데이터베이스 로그인 요청 이렇게 로그인 요청이 들어오면 데이터 베이스에 맞는 정보가 있는 지 확인하고 세션을 만듭니다. 그러나 카카오 로그인 api 서비스를 사용한다면 관계는 이렇게 바뀝니다. 유저(리소스 오더) 우리의 서비스(클라이언트) 카카오 API 서버 카카오 자원 서버 그렇다면 유저가 로그인시 이렇게 보일 겁니다. 여기서 사용자는 일반 로그인과 카카오 로그인 중 하나를 선택하게 될것이고 일반 로그인을 선택하면 이전에 만든 스프링 시큐리티로 로그인할 것이고 저 깨진 걸 누르면 카카오 로그인이..
Spring Boot - 로그인 정보 변경, 세션 변경 이전에 보았듯, 스프링 시큐리티는 엄격한 보안 규칙으로 로그인시 몇번의 검증을 합니다. 그렇다면 유저정보를 바꾸면 어떻게 될까요? 개발자가 사용자 정보를 바꾸는 기능을 코딩했다고 가정합시다. ex) 사용자의 사는곳 서울시 동작구 -> 서울시 광진구 변경 후 사용자가 자신의 정보를 클릭하면 사는곳 : 서울시 동작구 이렇게 바뀌지 않았을 겁니다. 바뀐 정보를 보려면 재로그인 해야합니다. 왜일까요? 데이터베이스는 바뀌었지만 세션이 바뀌지 않았기 때문입니다. 지금 스프링 시큐리티는 이전의 정보를 갖고 있는 유저의 정보가 들어간 세션이기 때문이죠. 이때는 강제로 세션을 바꿔야합니다. Authentication authentication = authenticationManager.authenticate( new U..
Spring Boot - 스프링 시큐리티의 로그인 로직 스프링 시큐리티는 이름부터 알 수 있듯 권한, 인증 등 보안의 관련된 스프링의 하위 프레임워크 입니다. 스프링 시큐리티는 비밀번호가 암호화되어 있지 않으면 아에 입구컷 해버리는 매우 깐깐한 녀석인데 그만큼 안전하게 사용자 보안을 지켜준다고 볼 수 있습니다. 스프링 시큐리티는 SecurityContextHorder라는 공간을 만듭니다. 이 공간에는 유저 정보가 들어갈 수 있는데 유저의 정보가 들어간 상태를 "세션" 이라고 합니다. 우리가 로그인시 보이는 화면과 비로그인시 보이는 화면이 다른 경우가 많은데 전부 세션이 유지되고 있냐, 안되어 있냐로 화면을 구분하여 보여주는 것입니다. 먼저 HTTP 통신으로 로그인 요청으로 아이디와 비밀번호가 들어올겁니다. 그럼 스프링 시큐리티가 이 로그인 명령을 가로챕니다...
리눅스 - 자주 쓰는 명령어 포트 상태 : netstat -tnlp mysql 실행 : sudo service mysql start mysql 접속 : sudo /usr/bin/mysql -u root -p 서버 백그라운드에서 계속 스프링 실행 nohup java -jar 파일이름.jar &
Spring Boot - http통신에서 PUT 명령 GET -> 읽기 POST -> 쓰기 PUT -> 수정 Future _putRequest(){ return http.put( Uri.parse('HPPT 주소'), headers: { 'Content-Type': 'application/json; charset=UTF-8', }, body: jsonEncode({ '문서이름' : '값', '문서이름' : '값' }), ); } 값은 나중에 다 알아서 들어감. 똑똑한 플러터 스프링 하, 이거 진짜 못찾았는데 공식문서에 너무 친절하게 설명되있었음..
Spring Boot(Java) - 자바에서 원하는대로 정렬 C++과 유사하지만 Collections 라는 컴포넌트? 함수? 제네릭? 을 사용함
Spring Boot - JpaRepository 사용 설정 1. pom.xml 수정 org.springframework.boot spring-boot-starter-data-jpa 이게 없으면 추가 레포지토리 만들기 완료