토마스의 개발 일기장

24/03/31 GroupStudy

배경 국비지원 학원을 수료하고, 연락만 하고 지냈던 팀원들과 6개월 만에 만났다. 서로 그동안 어떻게 지냈는지, 취업 준비는 잘 되어 가는지 얘기하는 시간을 가졌다. 팀원들 모두 나름의 방식으로 열심히 준비중이였지만, 개발자 취업난에 부딪히고있는 현실이였다. 그래서 우리만큼 팀워크가 좋았던 팀은 없었다 생각했던 우리였고, 다시 한번 그 팀워크를 발휘하...

REST API(13) REST API 보안 적용(1) - Spring Security 기본 설정 및 적용

REST API 보안 적용 우리가 지금까지 구현한 API는 전혀 완벽하지 않다. 가장 큰 이유중 하나가 인증이 없다는 것이다. 예를 들어, 이벤트를 만들으려면 적어도 이 시스템에서 인증이 된 사용자가 만들 수 있어야한다. 하지만, 지금의 API는 아무나 이벤트를 만들 수 있다. 또, 이벤트를 수정함에 있어서도 이벤트를 만든 사람만 수정할 수 있어야하나...

REST API(11) HATEOAS 적용(2) - 인덱스 만들기

구현 Package 및 Class API 인덱스 만들기 우리는 웹을 이용할 때, 처음 접근 시에는 Url로 접근해도 그 이후의 행위들은 따로 또 Url을 직접 입력 하는 것 없이, 모두 클릭이나, 값을 입력하는 것을 통해 일어난다. 이와 같이 우리는 이벤트를 조회, 생성, 수정 등을 하기 위해서는 API의 진입점이 필요하다. 이번에는 그 진입점...

REST API(5) Event 생성 API 구현 - 입력값 제한하기, 입력값 이외에 대한 오류 발생

구현 Package 및 Class 입력값 제한하기 우리는 이벤트를 등록하기에 앞서, Id 값은 자동으로 이벤트 등록시 자동으로 등록이 되야하고, free 무료인지 아닌지 여부, offline 오프라인인지 아닌지에 대한 여부 또한, 직접 등록이 아닌 입력받은 데이터로 계산해서 등록이 되어야 하는 요소이다. 이러한 입력값을 제한하기 위해, 우리는 ...

http? https? SSL?

공부 배경 컴퓨터 공학 박사 과정을 진행하고있는 친구를 만나 얘기하면서, 개발자로서 요즘에 어떤걸 공부하면 좋을지 물어봤다. 그에 대한 친구의 대답은 바로 보안이였다. 안그래도 요즘 디도스며 뭐며 인터넷 보안 문제를 듣곤했는데, 이참에 조금씩 이에 대한 공부를 해보면 좋을 것 같았다. 그래서 우선 자주 접한 https://에 대해서 공부해 보려고 한다...

Process와 Thread

공부 배경 ‘프로그램… 프로세스… 스레드…‘ ‘멀티 프로세스, 멀티 스레드 모두 멀티 태스킹과 관련된 것 같은데 맞는 걸까? 개발 공부를 하며 정말 많이 들어봤지만 정확한 개념이 정리되어있지 않은것 같았다. 이번기회에 개념을 확실하게 정리하고 공부해 보겠다. 프로그램(Program) 과 프로세스(Process) 프로그램: 코드가 구현되어 있는 파...

시간 복잡도(Time Complexity)

공부 배경 본격적으로 알고리즘 정리하기에 앞서, 그동안 알고리즘을 공부하면서 늘 시간 복잡도에 대해 들었지만, 이게 정확히 뭔지 찾아보지는 않았다. 하지만 문제를 풀면서 ‘시간초과’라는 오류를 많이 접하게 되었고, 이를 해결하기 위해 시간 복잡도가 뭔지에 대한 정리가 필요했다. 시간 복잡도 시간 복잡도는 알고리즘과 굉장히 밀접한 관계에 있다. 알...

TCP/IP 프로토콜

공부 배경 얼마 전, 좋은 기회를 통해 백엔드 개발자로 실무에서 일하고 있는 선배님을 만나뵙게 되었다. 여러 질문을 하던 중, 어떤걸 공부하면 좋을지 또 알아야할지를 여쭈어 보았다. 여러개가 있었지만 그 중 백엔드 개발자라면 인터넷 프로토콜에 대해 공부해볼 필요가 있다고 하셨고, 그래서 이를 바로 실천해보았다. 인터넷 전세계에 걸쳐 파일 전송 등의 ...

객체 지향 프로그래밍(OOP)

공부 배경 “자바는 객체 지향 프로그래밍 언어다.” 내가 알고 있는 자바의 대표적인 설명이다. ‘객체를 지향해 프로그래밍 한다.’ 이렇게 단순하게 알고 있지, 그 특징에 대해서는 잘 몰랐다. 검색해서 찾아보니 설명 글 들만 읽어서는 이해하기가 어려웠다. ‘초등학생? 적어도 내 동생 또래인 중학생 정도의 학생들이 봐도 이해할 수 있는 설명이 있...

REST API란 무엇인가?

공부 배경 백엔드 개발자로서 REST API를 개발하는 것은 기본 소양이라고 생각했다. 또 많은 기업들이 핵심 역량으로 요구하는 능력이기도 하다. 그럼에도 불구하고, 나는 ‘Controller, RestController정도를 사용하며 프로젝트를 만들 수 있으면 그게 REST API를 만들 수 있는거 아닌가?’하며 대수롭지 않게 여겼었다. 그러다가 관...

VO vs DTO vs ENTITY

공부 배경 국비지원 학원을 다니면서 프로젝트를 진행했을 때, DB 테이블의 데이터를 사용할 때든, 그 데이터를 가공할 때든 객체를 VO로 선언하여 사용하였다. 하지만, 수료 이후 개인적으로 공부를 진행하다 보니 데이터를 VO, DTO, ENTITY 이렇게 세가지 객체로 분류하여 관리하는 것을 알게 되었다. 이에 대한 개념정리가 필요하였다. ...

마크다운 (Markdown)

마크다운(Markdown) 이란? Markdown은 텍스트 기반의 마크업언어로 2004년 존그루버에 의해 만들어졌으며 쉽게 쓰고 읽을 수 있으며 HTML로 변환이 가능하다. 특수기호와 문자를 이용한 매우 간단한 구조의 문법을 사용하여 웹에서도 보다 빠르게 컨텐츠를 작성하고 보다 직관적으로 인식할 수 있다. 마크다운이 최근 각광받기 시작한 이유는 깃...