[항해9] day7

sy k·2022년 5월 15일
0

항해99

목록 보기
5/14
post-thumbnail

미니프로젝트 종료후 자바 기초 강의를 수강하기 시작했다.
나의 현재 상황으로는 항해99에서 주어진 알고리즘 문제를 빨리 푸는것 보다는 자바 기초를 다지는 편이 훨씬 나은것 같아 유튜브 등 교육자료를 보며 자바 기초에 대해 공부하기로 했다.

단편적으로 알고리즘을 풀면서 모르는것만 찾아본다라는것이 말이 쉽지 특정 컨셉에 관해 모르는것이 생기면 기초도 없는 상태에서 해당 컨셉을 완벽히 이해할 수 없을 뿐더러 금방 기억에서 사라진다는 것을 미니프로젝트 주간을 통해 느꼈다. 미니프로젝트를 통해 얻은것은 협업 경험 정도이지 싶다. 특히 팀원의 수준차이가 조금 나는 순간 나는 아무것도 모르는데 데드라인에 맞추기 위해 앞서 달려가는 팀원을 억지로 따라가기만 할뿐 내 머리속에 남는것은 별로 없었다.

사람마다 자신의 스타일이 다르듯 그때 그때 모르는것만 찾아 알고리즘만 빨리 빨리 푸는게 무슨 의미가 있나 생각한다. 경험상 이렇게 하다보면 오히려 컨셉이 머리에 정리되기보다 혼란만 가중되고 잘하는 팀원이 하라는데로 어영부영 끝나는 경우가 많았다(내가 항해99에서 개인적으로 단점이라고 느끼는 부분. 이러다 어찌어찌 잘하는 팀원에 의존해 포트폴리오만 만들고 내가 아는 부분은 하나도 없을 수도 있겠다는 생각이 듦)

이번주까지는 자바의 기초 문법 등을 공부했다. 연산자, 반복문, switch 문, 클래스 구현, 참조 자료형, 스택과 힙 메모리, 정보의 은닉 등 기초적인 컨셉에 대해 익혔다. 다음주에는 본격적으로 객체지향 언어로서 자바의 핵심 컨셉에 관해 익힐 예정.

아주 얕게나마 객체지향 언어가 절차지향 언어와 비교하여 장점이 보이기 시작했다. 객체지향 언어는 클래스를 구현하며 클래스는 인스턴스의 속성과 매소드를 구현한다. 하나의 클래스로 여러개의 인스턴스를 생성할 수 있다. 이러한 과정을 통해 객체간 협력이 가능하며 특히 유지보수 부분에서 절차지향 언어와 비교해 강점이 크기 다가왔다.

단점은 클래스가 많아지고 복잡해 질수록 속도가 느려진다는것과 처음 코드 설계시 정말 머리가 아프겠구나... 정도를 느꼈다. 또한 스크립트 언어의 자료형 추론 능력 정도만 봐도 자바가 뒤쳐져 있는 부분이 보였다.

아래는 미니프로젝트 주간 중 다루었던 두가지 컨셉에 관한 정리. 아직 해당 컨셉이 어떤것인지 완벽하게 이해하지는 못했지만 정리해둔다.

JWT

  • JSON Web Token 줄임말.
  • JSON 객체를 사용해 정보를 안정성 있게 전달하는 웹표준.
  • 사용자가 로그인 시 서버에서 회원임을 인증하는 토큰을 클라이언트로 넘겨주고, 회원 접근만 가능하도록 하는 서비스 영역에서 회원임을 인증하는데 사용.


    Token 발행
  • 클라이언트 -> 서버로 로그인(회원정보) 요청
  • 회원정보 확인 후 서버 -> 클라이언트로 회원정보, 토큰, 토큰 만료 시간 전송
  • 로그인 성공 시 토큰을 쿠키로 저장
  • API 요청을 보낼 때 마다 회원임을 확인
  • 로그아웃 시 토큰 삭제

api
API(Application Programing Interface)
API는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.

profile
개발자가 되고싶어요

0개의 댓글