WIL(Weekend Ingwang Learned

WIL(2022-11-14~2022-11-20) 프로젝트 , 알고리즘 문제풀이

김코식 2022. 11. 20. 18:45

 

이번주 학습 요약


1. 첫 번째 프로젝트 

https://ik0501.tistory.com/63

1-1) S.A 작성 

      ㄴ 와이어프레임 , Api 등 작성

 

1-2) 트러블 슈팅

       ㄴ 문제 발생, 문제 원인 확인, 문제 해결

 

1-3) github 사용 - commit , branch , merge 등


2. jwt 인증방식

  •  jwt 인증방식 - 서버에 세션 정보를 저장하지 않고 , 로그인 시 클라이언트에게 로그인 사용자 정보가 포함된 토큰을 발행하고, 클라이언트는 서버에 작업을 요청 할 때 마다 토큰을 같이 보내어 토큰에 저장된 사용자 정보를 가지고 처리하는 방식
  • 서버 세션 방식과 jwt 인증의 차이 
  서버 세션 JWT 
인증 정보 보관 서버 Token에 포함, 클라이언트
인증 정보 노출 여부 노출 x  노출
인증 정보 무효화 쉽게 가능 복잡한 로직 구현
타임아웃 처리 사용자가 요청을 보내면 계속 연장 연장 불가능, 재발급 필요
  • jwt 장단점 
  1. 인증에 필요한 모든 정보를 토큰 자체에 포함되기 때문에 별도의 인증 저장소가 필요없음
  2. 쿠키를 전달하지 않아도 되기 때문에 쿠키 사용시 발생하는 취약점이 사라짐
  3. REST 서비스로 제공 가능
  4. 독립적임

 


3. API

  • APi - 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘
  • REST API - Representational State Transfer의 줄임말으로 클라이언트가 서버 데이터에 엑세스하는데 사용할 수 있는 GET,POST,PUT등의 함수 집합을 정의한것
  • 프로젝트 진행하면서 작성한 API


4. 알고리즘 문제 풀이

 

java 문법

- a.toLowerCase() >> a문자열 소문자
- b.toUpperCase() >> b문자열 대문자
- StringBuffer sb = new StringBuffer(a);
  String revers = sb.reverse().toString(); >> 문자열 뒤집기
-String mA = String.valueOf(변수명1); >> 정수형을 문자형으로
-String mB = Long.toString(변수명1); >>  long형을 문자형으로
-String mC = Integer.toString(변수명2); >> 정수형을 문자형으로
-String mD = Long.parseLong(변수명2); > 문자열에서 long형으로
- 문자열.contains("포함 글자") - 문자열 포함 여부 확인
- list.sort(Comparator.naturalOrder()); > java 리스트 오름차순
- ArrayList<Integer> 리스트명  = new ArrayList<>(); > arraylist 생성
 ㄴ 리스트명.get(n) > 리스트의 n번째 요소 출력
 ㄴ 리스트명.size()  > 리스트의 사이즈 출력 (배열.legnth)

더 공부해야될 부분

 

-for-each문
-향상된 for문
-string Builder,Buffer
-배열,리스트
-hash map
-collections 


이번주 느낀점

 

실제로 프로젝트를 기획하고 진행하고 완성하면서 생각보다 신경쓸 부분이 많았고 예상 외 상황이 많이 발생했지만

기획부터 완성까지 끝까지 완료하는 과정에서 많은 시행착오를 거치고 해결하면서 이전 보다 많이 성장한 것 같다

 

알고리즘 문제를 처음 접했을 때는 어려움도 많고 익숙하지 않았지만 알고리즘 문제 풀이 세션 강의를 듣고 문제 풀이 접근 법등을 배운 뒤 문제를 풀어보니 한결 수월했다.

java 문법에 대해 새로운 것들을 많이 알았고 부족한 부분은 공부가 필요할 것 같다