본문 바로가기

기초지식9

Spring Security란 ? ▏시작하는 말 Spring Security 를 알게 된 배경은 JWT를 사용해보고자 찾다보니 Spring Security 에서 JWT 구현하는 글들이 많이 있어 알게되었다. 그래서 두가지 개념을 먼저 공부하게 되었고, 지금은 프로젝트에 적용하는 중이다. 오늘은 내가 공부한 개념에 대해서 설명하도록 하겠다. JWT에 대한 개념이 궁금하다면 JWT란 ? 게시글을 참고하면 된다. ▏Spring Security 란 ? Spring Security는 스프링 기반의 애플리케이션의 보안(인증, 인가, 권한 등)을 담당하는 스프링 하위 프레임워크다. # 인증 (Authenticate, 누구인지) 접근하려는 유저가 누구인지 확인하는 절차 # 인가 (Authorization, 어떤 것을 할 수 있는지) 인증된 사용자가 요.. 2023. 4. 26.
Cookie / Session / Token 이란 ? ▏시작하는 말 그간 사이드 프로젝트를 진행하면서 보안에 대해 신경 쓸 생각을 하지 못했다. 아니, 더 솔직히는 중요함을 알면서도 귀찮아 생각하고 싶지 않았던 것이다. 그저 쉬운 방법인 세션 쿠키방식으로 구현했고, 사용하면서도 개념을 제대로 이해하려는 노력조차 없었다. 회사를 다니다 보니 보안에 대해 조금 더 깊게 생각해보게 되었고 그렇게 틈틈이 공부한 내용을 설명해보고자 한다. ▏인증 방식 HTTP는 stateless 성질로, 본래 정보를 유지하지 않는다. 클라이언트와 서버 사이에 통신이 필요할 때 그 순간 요청 / 응답을 하고, 완료되었다면 연결이 끊겨(connectionless) 매번 새로운 요청을 해야한다. 이는 HTTP 가 인터넷상에서 불특정 다수와 연결해야 하는 환경을 만들기 위해 설계되었기 때.. 2023. 4. 23.
JWT (Json Web Token) 란 ? ▏시작하는 말 업무 회의 시간에 JWT란 것을 처음 알게 되었는데, 지금 만들고 있는 사이드 프로젝트에 적용하면 좋을 것 같아 소스 분석 및 개발을 진행하며 알게된 내용을 정리하고자 한다. 단순 jwt만 사용한 것이 아닌 jwt와 spring security를 접목시켜 개발했다. 예제 소스를 확인하고자 한다면 yujin's github 를 참고하길 바란다. 설명하기에 앞서 서버가 클라이언트 인증하는 방식에 대해 먼저 공부하고 오면 좋다. 이는 Cookie / Session / Token 이란 ? 게시글을 참고하면 된다. ▏JWT 란 ? Token 인증 방식 중 가장 널리 알려진 방법이 바로 JWT(Json Web Token) 이다. 이름에서 알 수 있듯이 JSON 객체를 사용하여 토큰 자체에 정보를 저장.. 2023. 4. 23.
Internet Explorer 11 지원 종료, Edge / Window11 전환 방법 2022.06.15 (수) 이후로 IE 11 지원이 종료된다. IE에서 호환성보기 추가하여 사용하던 것들을 Edge 나 Window11로 전환해야하는 것이다. 대부분의 사람들은 Chrome 이나 Edge를 사용하고 있겠지만, 예전에 만들어진 제품들 중엔 IE 에서만 동작하는 것들이 있어 어쩔 수 없이 IE 를 사용하는 사람들이 있었을 것이다. 우리회사 솔루션 또한 그렇다. 우리 제품을 사용하는 업체들에게 해결 가이드를 줘야하기에 열심히 구글링 해서 찾은 전환 방법을 내 블로그에도 공유하고자 한다. Internet Explorer 11 지원 종료에 따른 Edge / Window11 전환 방법 | Edge 에서 Internet Explorer 로드 1. 사용하고자 하는 사이트를 Edge로 실행 후 더보기 (.. 2022. 6. 10.
형상관리 란? ▏형상관리(Software Configuration Management) - 변경사항을 체계적으로 추적, 통제하는 것을 말한다. 자세히 설명하자면, 어떤 문서나 파일이 변경되었을 경우 변경된 내역을 기록해두고 나중에 이를 찾아야 할 경우에 변경 원인과 변경 사항 을 확인하는 것 이다. - 일반적인 단순 버전관리 기반의 소프트웨어 운용을 좀 더 포괄적인 학술분야의 형태로 넓히는 근간이다. ▏버전관리 형상관리 중에 문서, 소스코드 등 버전을 관리해주는 버전관리시스템이다. 일반적으로 우리가 알고있는 형상관리가 이 버전관리라고 생각하면 된다. - 변경점 관리 : 여러 사용자들이 release한 시점을 관리 - 버전 관리 : 특정 시점에 꼬리표(Tag)를 달아 버전을 표시, 브랜치(branch)를 여러 버전을 개.. 2022. 1. 11.
Socket (소켓) 이란? 네트워크 소켓(network socket)은 컴퓨터 네트워크를 경유하는 프로세스 간 통신의 종착점이다. > 프로세스가 네트워크 세계로 데이터를 내보내거나 혹은 그 세계로부터 데이터를 받기 위한 실제적인 창구 역할을 하는 것 이다. 따라서 프로세스가 데이터를 주고받기 위해서는 반드시 소켓을 열어 소켓에 데이터를 쓰거나 읽어들여야 한다. 소켓 통신의 흐름 소켓은 프로토콜, ip주소, 포트넘버로 정의 * 프로토콜 : 어떤 시스템이나 다른 시스템과 통신을 원활하게 해주는 통신규약 * ip : 전세계 컴퓨터에 부여된 고유 식별 주소 * port : 네트워크 상 통신하기 위해 호스트 내부적으로 프로세스가 할당 받아야하는 고유 숫자. 한 호스트 내 프로세스를 식별하기 위한 값으로 같은 호스트 내에서 다른 프로세스가 .. 2022. 1. 5.
WEB / WAS 란? ▏WEB ( Web Server ) 클라이언트가 서버로 페이지 요청을 할 때, 요청을 받아 정적인 컨텐츠를 제공하는 서버다. 정적인 컨텐츠는 무엇인가 ? 서버에 미리 저장될 파일들로, 예를들면 html, css, js 같은 것들이다. 정적인 컨텐츠의 특징은 어느 사용자에게나 동일한 결과값을 보여준다. 따라서 빠르다는 장점이 있으나 서비스가 한정적이며 추가.수정.삭제의 작업들을 모두 수동으로 해야한다는 단점이 있다. 그렇다면 어떻게 요청 하는가 ? 브라우저가 http를 통해 파일을 요청하여 웹서버에 도달하면 http server는 요청된 문서를 http를 통해 보내준다. HTTP 란 ? 문자로된( Textual ) 독립적 프로토콜 ( Stateless ) - Textual : 모든 명령어들은 기본문자로 사.. 2021. 11. 30.
윈도우 포트 죽이기 프로젝트를 하면서 이미 사용중인 포트라서 실행 할 수 없다는 에러를 종종 겪었다. 그 때 마다 인터넷에서 검색해 하다보니 나도 모르게 명령어가 외워졌다. 그래서 오늘은 그 명령어를 정리하려고 한다. 현재 실행중인 port 찾기 netstat 실행중인 port 표시, 프로세스 PID(id) 표시 netstat -a -o {pid} 프로세스 PID(id) kill taskkill /f /pid {pid} 2021. 6. 30.
ORM이란 무엇인가? "ORM" 그것이 알고싶다. ORM : Object Relational Mapping OOP(객체지향프로그래밍)에서 사용하는 객체 개념의 클래스와 RDB(Relation DataBase)에서 사용하는 데이터인 테이블을 매핑(연결) 해주는 것 이다. 쉽게 말해, 객체-관계 매핑을 의미한다. SQL구조의 데이터를 OOP적 구조의 형태로 매핑 시키게 되면 데이터를 다루는 방식의 차이에서 불일치가 발생하게 되는데, 이를 해결하기 위해 ORM을 통해 SQL문을 자동으로 실행하여 불일치를 해결한다. 따라서 ORM을 사용한다면 SQL문을 직접 짤 필요없이 데이터베이스를 조작할 수 있게 된다. ORM의 장단점 장점 객체지향적 코드로 개발자가 더 집중하게 해준다. 데이터 베이스를 SQL문이 아닌 클래스의 메서드를 사용하.. 2021. 5. 6.
반응형