본문 바로가기
  • Masacorgi 's Dev Bloggg

TIL/Web 전반7

Java Spring 공부순서 및 계획 단기 맛보기 루트스프링 입문 -> 스프링 핵심원리 기본편 -> 스프링 MVC 1편 -> 스프링 DB1편 -> JPA 기본편 -> 실전 스프링부트와 JPA 활용 1편 직장과 병행해서 공부하기 때문에 빠른 시간에 퍼포먼스를 내고 전체를 훑는 방식을 택했다.전에 핵심원리 기본편까지는 수강했으나 2년 전이므로,, 다시 처음부터 빡세게 시작해보자! 빠르게 훑으며 내 프로젝트로 생성해보면서 뭐가 부족한지를 계속 기록, 채워나가는 방식을 사용해보겠다. 시작은 스프링 입문을 들으며 얼마나 걸릴지를 파악해 보는 것으로 하자! 2025. 3. 30.
인증과 인가 인증, 인가에 대하여JWT 토큰 , 세션 같이 인증/인가와 관련된 부분 한번 살펴보기Authz / Authn 이라고 부르는게 둘이 무슨 차이인지FastAPI 에서 보통 인증/인가 코드 어떻게 구현하는지목차인증과 인가(Authn, Authz)JWT 토큰과 세션FastAPI에서의 인증/인가 구현인증과 인가 (Authn, Authz)인증과 인가는 비슷하게 들릴 수도 있지만 IAM(Identity and Access Management) 환경에서는 명확히 구분되는 서로다른 보안 프로세스이다.인증(Authn, Authentication)은 사용자의 '신원을 검증'하는 행위로서 보안 프로세스의 첫번째 단계이다.주로 비밀번호, 일회용 핀, 인증 앱, 생체인식 등의 1개 이상의 인증요소를 성공적으로 확인해야만 인증 단.. 2024. 5. 24.
Flask 와 RESTful API 1.RESTful API 1.1 RESETful API 란? 대부분의 비즈니스 애플리케이션은 다양한 작업을 수행하기 위해 다른 내부 애플리케이션, 서드 파티 애플리케이션과 통신해야 한다. RESTful API는 두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페이스이다. REST는 Roy Fielding이 정의한 네트워크 통신을 위한 소프트웨어 아키텍처이다. 처음에 인터넷과 같은 복잡한 네트워크에서 통신을 관리하기 위한 지침으로 만들어졌고, REST기반 아키텍처를 사용해서 대규모의 고성능 통신을 안정적으로 지원할 수 있게 되었다. 다음은 REST 아키텍처의 주요 특징 및 원칙이다. 자원(Resource) : 모든것을 자원으로 표현한다. 표현(Representation) : 자.. 2024. 3. 2.
FastAPI 에서의 테스트코드 '신의 말씀' : 백엔드, 혹은 소프트웨어 개발시 테스트 코드가 무엇인지 조금 알아보기 테스트에는 unit test , end to end test 등의 여러가지 테스트 종류도 존재합니다. 우리 백엔드 테스트 코드는 unit test 기반으로 하게 될 것이구요. 파이썬에서의 테스트코드 프레임워크인 pytest에 대해서 조금 알아보시고! fastapi 에서의 테스트코드 짜는것도 한번 알아보시면 좋겠습니다. 1. 테스트 코드란? 테스트 코드는 소프트웨어 품질을 향상시키기 위해 사용되는 코드이다. 개발자들은 주로 자신이 작성한 코드가 의도한 대로 동작하는지 확인하고, 코드 변경이나 개선 작업을 수행할 때 이전 기능들이 영향을 받지 않도록 보장하기 위해 테스트 코드를 작성한다. 테스트 코드를 작성하면 코드의 안.. 2024. 3. 2.
Logging 이란? ( @ FastAPI ) 1. logging 이란? 로깅은 현재 우리 프로그램이 어떤 상태를 가지고 있는지, 외부 출력을 하게 만들어서 프로그램의 동작을 이해하고, 문제 발생 시 진단과 해결에 도움을 얻기 위해 추가하는 기능이다. 로깅을 사용하는 이유 디버깅 및 문제 해결 성능 모니터링 : 성능에 관한 정보를 제공, 성능 병목현상이나 최적화 필요 부분을 식별 가능 보안 : 보안 이벤트를 기록하여 시스템에 대한 불법적 접근, 공격 감지 가능 오디팅 : 특정 이벤트나 행동에 대한 기록을 제공하여 나중에 검토, 증명 가능 로깅의 레벨 로깅은 다양한 레벨이 있다. DEBUG : 디버깅 목적의 상세한 정보 기록 INFO : 정보성 메시지 기록 WARNING : 잠재적 문제를 나타내는 경고 기록 ERROR : 심각한 문제 발생 기록 (프로.. 2024. 3. 2.
Docker 도커란 무엇인가? 1. Docker 란 무엇인가? 도커는 컨테이너 기술을 기반으로 동작하는 가상화 플랫폼이다. 가상화란 물리적 자원인 하드웨어를 효율적으로 활용하기 위해서 하드웨어 공간 위에 가상의 머신을 만드는 기술이고, 컨테이너란 컨테이너가 실행되고 있는 호스트 os의 기능을 그대로 사용하면서 프로세스를 격리해 독립된 환경을 만드는 기술을 뜻한다. 다시말해, 도커는 '독립된 환경을 만들어서 하드웨어를 효율적으로 활용하는 기술'이라고 할 수 있다. 가상화 가상화는 하나의 하드웨어를 여러개의 가상 머신으로 분할해 효율적으로 사용할 수 있는 기술이다. 분할 된 가상머신들은 각각 독립적인 환경으로 구동되는데, 베이스가 되는 기존의 환경을 Host OS, 가상 머신으로 분할된 각각의 환경을 Guest OS라고 부른다. 가상머신.. 2024. 3. 2.
HTTP란 무엇인가? 1.HTTP란? HTTP란 무엇인가? HTTP는 Hyper Text Transfer Protocol의 줄임말로, 인터넷 데이터 통신규약이다. 인터넷 상에서 주고받는 데이터의 형식을 규칙으로 정함으로써 서로 다른 사람과 조직이 만든 프로그램이 인터넷을 통해 데이터를 주고 받을 수 있다. 컴퓨터는 네트워킹에서 TCP/IP 프로토콜을 이용한다. 이것을 기반으로 동작하는 응용 프로토콜에는 다음과 같은 프로토콜이 있다. FTP(파일전송) SMTP,POP3,IMAP(이메일, 웹메일) HTTP(인터넷데이터통신) HTTP는 이중 가장 널리 이용되며, 웹 브라우징 및 웹 애플리케이션과 관련된 데이터(HTML과 다양한 멀티미디어 자원)을 송수신 하는데 사용된다. 2.HTTP의 동작 HTTP는 어떻게 동작하는가? HTTP는.. 2024. 3. 2.