일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #OSI #ISO #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- aws #아키텍트 #과정 #vpc #인프라 구축 #haproxy #고가용성 #테스트 #alb #application #load balancer #application
- aws #아키텍트 #과정 #vpc #인프라 구축 #php #alb #application #load #balancer #security #group #igw #ec2 #vpc #virtual #private #cloud
- 썸네일 #이미지
- aws #아키텍트 #과정 #vpc #인프라 구축 #alb #load balancer #t.g #target #group #haproxy #high ability #db #replica #region
- aws #아키텍트 #과정 #vpc #인프라 구축 #rds #endpoint #cloudwatch #monitoring
- aws #아키텍트 #과정 #vpc #인프라 구축 #auto scailling #lauch template #ec2 instace #private #subnet
- aws #아키텍트 #과정 #vpc #인프라 구축 #sqs #message #queue #sns구독
- aws #아키텍트 #과정 #vpc #인프라 구축 #t.g #target group #alb #application #load #balancer #web #server
- aws #아키텍트 #과정 #vpc #인프라 구축 #s3 #bucket #객체 #스토리지 #isci #이미지 #업로드
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- 업로드 #lambda #함수 #모바일 이미지 #썸네일 이미지
- aws #아키텍트 #과정 #vpc #인프라 구축 #haproxy #round robin #process #high ability #auto scailling #app server #launch template
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- aws #아키텍트 #과정 #vpc #인프라 구축 #ec2 #instance #launch #template #생성 #ami #amazone #machine #image
- aws #아키텍트 #과정 #vpc #인프라 구축 #s3 #bucket #객체 스토리지 #objects storage #events #upload #알림
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #KDT #기본문법 #데이터베이스 #Computer #Science #CPU #메모리
- 프로세스 #CPU #시공유 #커널
- aws #아키텍트 #과정 #vpc #인프라 구축 #db #장애조치 #reand only #replica #events
- 공간복잡도 #공간자원 #캐시메모리 #SRAM #DRAM #시간복잡도
- 비트 #바이트 #이진수
- aws #아키텍트 #과정 #vpc #인프라 구축 #sqs #trigger #python3.9 #패키지 #
- 쓰레드 #쓰레드풀 #프로세스
- aws #아키텍트 #과정 #vpc #인프라 구축 #second nat #gateway #routing table #route53 #고가용성 #private subnet #
- aws #아키텍트 #과정 #vpc #인프라 구축
- aws #아키텍트 #과정 #vpc #인프라 구축 #amazon sns #server #less #architecture
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #웹개발
- aws #아키텍트 #과정 #vpc #인프라 구축 #aurora #database #rds #rdbs #load #balancer #web #page #haproxy
- aws #아키텍트 #과정 #vpc #인프라 구축 #rds #replica #복제본 #aurora #database #고가용성
- Today
- Total
목록TIL (18)
요리사에서 IT개발자로
추천: HTTP-Only Cookie + CSRF 보호이 방식은 가장 강력한 보안 옵션을 제공하며, 브라우저에서 JavaScript로 토큰을 탈취할 수 없도록 방지하면서도 자동으로 HTTP 요청에 토큰을 첨부할 수 있습니다. 1. LocalStorageLocalStorage는 브라우저의 로컬 저장소로, 클라이언트가 데이터를 영구적으로(브라우저가 닫혀도 유지) 저장할 수 있는 공간입니다.장점:영구적 저장: 브라우저를 닫아도 데이터가 유지됩니다.간편한 사용: JavaScript로 쉽게 데이터를 저장하고 접근할 수 있습니다.단점:XSS(크로스 사이트 스크립팅) 공격에 취약: LocalStorage는 JavaScript에서 쉽게 접근할 수 있기 때문에, XSS 공격이 발생하면 악성 스크립트가 JWT 토큰을 탈취..
Spring Security 인증, 인가 설계하여 회원가입, 로그인 기능 구현 하던 중 h2 페이지 접근 이슈위의 코드에서 추가함으로 문제를 해결하였는데 그 이유는 Spring Security의 프레임 옵션(Frame Options) 설정과 관련이 있습니다. Spring Security의 기본 프레임 옵션Spring Security는 기본적으로 X-Frame-Options: DENY 헤더를 추가하여, 어떤 페이지도 에 포함될 수 없도록 제한합니다. 이는 웹 애플리케이션의 보안을 강화하는데 유용하지만, H2 콘솔과 같은 페이지는 프레임을 사용하므로, Spring Security의 기본 설정으로는 H2 콘솔이 정상적으로 작동하지 않습니다. 문제 해결 방법: 프레임 옵션 비활성화Spring Security의..
1. 클라이언트 요청 (Client Request)사용자가 브라우저 또는 REST 클라이언트(예: Postman)를 통해 특정 URL로 API 요청을 보냅니다. 이 요청은 HTTP 요청으로 표현됩니다.2. 디스패처 서블릿 (DispatcherServlet)요청이 웹 서버(Tomcat, Jetty 등)에 도착하면, 이 요청은 Spring의 DispatcherServlet으로 전달됩니다. DispatcherServlet은 요청을 처리하는 핵심 역할을 하는 프론트 컨트롤러로, Spring MVC의 진입점 역할을 합니다.DispatcherServlet의 역할: DispatcherServlet은 요청을 받고, 적절한 컨트롤러(Controller)에 요청을 전달하며, 컨트롤러의 결과를 받아서 적절한 뷰(View)로..
AOP (Aspect-Oriented Programming) - 관점 지향 프로그래밍**관점 지향 프로그래밍(AOP)**은 프로그램의 비즈니스 로직에서 핵심 기능과 부가 기능을 분리하여 관리하는 프로그래밍 패러다임입니다. 핵심 기능은 프로그램의 주된 목적을 달성하는 로직이고, 부가 기능은 이 로직에 반복적으로 적용해야 하는 부수적인 작업(로그 기록, 보안 관리, 트랜잭션 처리 등)을 의미합니다. AOP를 활용하면 부가 기능을 중앙에서 관리할 수 있어 코드의 중복을 줄이고 유지보수를 용이하게 합니다.OOP와 AOP의 차이점1. 개념적 차이OOP (Object-Oriented Programming, 객체 지향 프로그래밍):핵심 개념: OOP는 객체(Object)를 중심으로 프로그램을 설계하는 방법입니다. 객..
네이버에서 제공하는 로그인 API를 프론트엔드에 적용하기 위해 사용할 수 있는 네이버 아이디 로그인 SDK는 사용하지 않았습니다.프론트엔드에서 Naver 로그인시 제공받은 Access토큰을 백엔드에서 받아Naver에 접근하여 유저의 정보를 가지고 온 후에 검증을하고 나의 프로젝트에 맞게 User정보를 리팩토링저장 및 Jwt토큰, 쿠키(리프레시토큰)를 발급 해줍니다. 현재 진행 중인 프로젝트를 일부분을 수정하고 소셜로그인 기능만 보여드리는 것을 보여드리는 것 입니다. 소셜로그인이란?소셜네트워킹 사이트의 정보를 이용해 타사 애플리케이션과 손쉽게 로그인할 수 있는 프로세스https://www.okta.com/kr/blog/2020/08/social-login/ 소셜 로그인이란? 정의, 이점 및 구현 가치소셜..
백엔드에서 정의한 WebSecurityConfig클래스에 permitAll 이 아닌 URI로 접근을 할 경우 인증절차가 되는 방법을 알아보고자 한다. .authorizeHttpRequests(authorize -> authorize .requestMatchers(HttpMethod.POST, "/api/**").permitAll() .requestMatchers(HttpMethod.POST, "/api/signup/**").permitAll() .requestMatchers(HttpMethod.POST, "/api/users/**").permitAll() .requestMatchers(HttpMethod.GET, "/api/challenges/**").permitAll() .r..
TDD(Test -Driven-Development)테스트 주도 개발이라고 한다. 반복 테스트를 이용한 소프트웨어 방법론으로 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현한다. 이 기법으로 유명한 Test-Driven-Development의 저자 Kent Beck은 선 테스트 작성, 후 비즈니스 로직을 작성하여 코드에 자신감이 붙었다고 한다.단위 테스트란(Unit Test)클래스 또는 클래스 내에서 사용하는 메소드 등을 테스트 하는것. TDD개발 주기에 실패하는 테스트 코드를 먼저 작성하고테스트 코드를 성공시키기 위한 실제 코드를 작성한다.중복 코드를 제거, 일반화 등의 리팩토링을 수행한다. 테스트 코드를 작성할 때 까지 실제 코드를 작성하지 않고, 실패하는 테..
CI = 지속적인 통합(Continuous Integration)빌드와 테스트 자동화 CD = 지속적인 전달(Continuous Delivery) 또는 지속적인 배포(Continuous Deployment)배포 자동화 CI/CD 파이프라인이란 코드를 빌드, 테스트, 배포하는 과정을 거쳐서 소프트웨어 개발을 추진하는 프로세스, CI/CD라고 한다.CI는 모든 개발이 끝난 후에 코드 품질을 관리하는 고전적 방식의 단점을 해소하기위해 나타난 개념 지속적인 통합이라는 말 그대로 코드 변경 사항이 정기적으로 빌드 및 테스트되어 매시간 레포지토리에 통합되는 과정을 통해 품질을 유지하며 개발을 진행하는 방법이다. CD는 CI의 연장선CI프로세스를 통과한 코드 버전을 마지막에 배포하는 과정을 말한다. 코드 변경사항이 ..
GET과 POST는 HTTP 프로토콜에 사용되는 두 가지 중요한 요청방식이다.이 두가지의 방식은 웹 서버로부터 정보를 요청하는 데에 사용한다. GET 방식은 정보를 요청하기 위해 사용한다. 일반적으로 URL을 통하여 데이터를 전달함.웹 브라우저에서 웹페이지를 요청하면 쿼리 문자열을 통해서 데이터를 전달하는 경우 GET방식을 사용한다. GET은 주로 캐시 될 수 있다.동일한 요청이 여러번 발생할 때 같은 응답을 재사용할 수 있다.URL에 데이터가 노출되므로 보안적으로 민감한 정보는 GET요청에 포함되지 않아야한다. 쿼리 문자열이란(Query String)URL 끝에 물음표로 시작하는 문자열. (쿼리 파라미터라고도 부른다) SQL의 명령어를 이르는 쿼리와는 다르다. POST방식서버로 데이터를 제출하기 위..
트래픽(traffic)이란 서버와 스위치 등 네트워크 장치에서 일정 시간 내에 흐르는 데이터의 양을 말한다. 웹사이트에 트래픽이 많다는 것은 사용자 접속이 많아서 전송하는 데이터의 양이 많다는 것을 뜻한다. 트래픽이 너무 많으면 서버에 과부하가 걸려서 기능에 문제가 생길 수 있다.교통이나 운수 분야에서 사용하는 교통량(traffic)이라는 용어와 구별하기 위해 웹트래픽(web traffic) 또는 네트워크 트래픽(network traffic)이라고도 한다. 일반적 실시간 모니터링, 스케일링 자동화, 로드 밸런싱, DB최적화, 코드최적화 등의 방법을 사용하여 대용량 트래픽을 처리한다.자동 확장은 클라우드 기반의 인프라를 사용하면된다.로드밸런싱을 로드밸런서를 사용하여 수행.정적 콘텐츠를 캐싱하여 서버 부하를..