일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 캐시의 작동 원리
- kafka배포
- STOMP
- n8n
- JPA
- 헥사고날아키텍처
- 테스트케이스
- 한화시스템부트캠프
- 오블완
- Kafka
- selenium
- nplus1
- 메소드
- 자동화워크플로우
- QA
- 티스토리챌린지
- 자료구조
- 프로토콜역할
- 엘라스틱서치
- 하이브리드접근법
- N+1문제
- Java
- 자바
- 오버로딩
- 프로세스와스레드의차이
- springboot
- 스프링시큐리티
- 부트캠프
- XSS
- jwt토큰
- Today
- Total
목록Programming/CS (12)
아쿠의 개발 일지

프로토콜이란 무엇인가요?우리가 인터넷을 사용하거나 파일을 전송하고, 이메일을 주고받는 등 다양한 작업을 할 때 보이지 않는 규칙들이 존재합니다. 바로 이러한 규칙들의 집합을 프로토콜(Protocol)이라고 부릅니다. 프로토콜은 컴퓨터나 네트워크 장치들이 서로 통신하기 위해 반드시 따라야 할 표준화된 규칙입니다.프로토콜의 역할프로토콜은 서로 다른 시스템 간의 원활한 소통을 보장합니다. 예를 들어, 두 사람이 서로 다른 언어를 사용하면 의사소통이 어렵듯이, 컴퓨터 시스템도 공통의 규칙 없이 데이터를 주고받기 힘듭니다. 따라서 프로토콜은 다음과 같은 역할을 합니다:데이터 형식 정의: 데이터를 어떤 형식으로 송수신할지를 정의합니다.데이터 전송 제어: 데이터가 올바른 순서로 전송되고 도착했는지를 확인합니다.오류 ..

클라우드 컴퓨팅이란?클라우드 컴퓨팅은 인터넷(혹은 클라우드)을 통해 데이터 저장, 서버, 네트워크, 소프트웨어 등 IT 리소스를 제공하는 기술입니다. 조직은 하드웨어를 직접 관리할 필요 없이 클라우드 서비스 제공자의 리소스를 활용하여 유연하고 확장 가능한 환경을 구축할 수 있습니다.클라우드 서비스의 특징온디맨드(Self-Service): 사용자는 필요한 리소스를 직접 설정하고 배포할 수 있습니다.유연한 확장성(Scalability): 트래픽에 따라 자원을 자동으로 확장하거나 축소할 수 있습니다.비용 효율성: 필요한 만큼만 요금을 지불(Pay-as-you-go)하며 초기 하드웨어 투자 비용이 필요 없습니다.글로벌 접근성: 전 세계 데이터 센터를 통해 낮은 지연 시간과 높은 가용성을 제공합니다. 주요 클라우..

웹 애플리케이션이 발전하면서 다양한 기능이 추가 되었지만, 동시에 보안 위협도 증가하고 있습니다.그중에서도 특히 XSS(Cross-Site Scripting) 와 CSRF(Cross-Site Request Forgery)는 흔히 발생하는 취약점으로 꼽힙니다. 이번 글에서는 XSS와 CSRF의 작동 원리와 이를 방어하기 위한 방법을 알아보겠습니다.1. XSS (Cross-Site Scripting)XSS란?XSS는 공격자가 악의적인 스크립트를 웹 페이지에 삽입하여, 이를 방문하는 사용자의 브라우저에서 실행되게 만드는 공격입니다. 주로 JavaScript를 활용하며, 사용자의 세션 쿠키를 훔치거나 악성 사이트로 리다이렉트시키는 데 사용됩니다.XSS의 유형Stored XSS공격 스크립트가 데이터베이스에 저장되..
1. CPU 캐시란?CPU 캐시는 메모리 접근 속도를 향상시키기 위해 설계된 소형 고속 메모리입니다. 프로세서와 메인 메모리(RAM) 사이에서 데이터를 임시 저장하며, 자주 사용되는 데이터에 대한 접근 속도를 높이는 역할을 합니다.2. CPU 캐시의 계층 구조캐시는 일반적으로 다단계 계층 구조를 가지며, 각 단계는 크기와 속도가 다릅니다:L1 캐시: 프로세서 코어 내부에 위치하며 가장 작고 빠름.L2 캐시: L1보다 크지만 조금 느림.L3 캐시: 여러 코어가 공유하며 가장 크고 상대적으로 느림.이러한 구조는 공간-속도 트레이드오프를 기반으로 데이터를 효율적으로 관리합니다.3. 캐시의 작동 원리지역성(Locality): 캐시의 작동은 시간적 지역성(Temporal Locality)과 공간적 지역성(Spat..

앱 애플리케이션이 점점 더 많은 사용자를 대상으로 하면서 안정성과 성능을 유지하기 위해 로드 밸런서는 필수적인 기술이 되었습니다. 이번 글에서는 로드 밸런서의 기본 개념과, 작동 원리 그리고 트래픽 분산 방식, 실무에서 활용 사례에 대해 알아보겠습니다. 로드 밸런서란?로드 밸런서(Load Balancer)는 여러 서버에 걸쳐 들어오는 트래픽을 분산시켜 서버 과부하를 방지하고 애플리케이션의 안정성과 확장성을 보장하는 네트워크 장치 또는 소프트웨어입니다. 이를 통해 서비스가 중단 없이 안정적으로 운영될 수 있습니다.로드 밸런서의 주요 역할트래픽 분산: 여러 서버에 트래픽을 균등하게 분산.고가용성 보장: 특정 서버가 장애를 겪더라도 다른 서버로 요청을 재분배.성능 최적화: 트래픽 부하를 관리하여 응답 시간을 ..
1. 애플리케이션 설계란?애플리케이션 설계는 소프트웨어 개발에서 요구사항을 분석하고 이를 기반으로 기능, 구조, 인터페이스 등을 정의하는 단계입니다.개발자와 디자이너가 협업하여 시스템의 논리적, 물리적 구조를 설계하는 과정으로, 효율적인 구현과 유지보수를 목표로 합니다. 2. 주요 설계 요소2.1 아키텍처 설계정의: 소프트웨어의 전체 구조와 구성 요소 간 관계를 정의하는 작업.핵심 개념:MVC(Model-View-Controller): 데이터를 모델(Model), 사용자 인터페이스(View), 제어 로직(Controller)으로 분리하여 설계.Layered Architecture: 프레젠테이션, 애플리케이션, 데이터 등 계층으로 나누어 설계.2.2 모듈화 설계정의: 시스템을 작은 모듈로 나누어 독립성과 ..

운영체제는 컴퓨터 하드웨어와 사용자 간의 중개자 역할을 하며, 자원 관리와 프로그램 실행 환경을 제공합니다. 오늘은 운영체제의 핵심 개념인 프로세스와 스레드, CPU 스케줄링 알고리즘, 메모리관리, 교착상태를 정리 해보도록 하겠습니다. 1. 프로세스와 스레드1.1 프로세스정의: 실행 중인 프로그램을 말하며, 운영체제로부터 독립된 자원을 할당받습니다.특징:각 프로세스는 독립적인 메모리 공간(Code, Data, Heap, Stack)을 가짐.다른 프로세스와 자원을 공유하지 않음.Context Switching 시 오버헤드가 큼.1.2 스레드정의: 프로세스 내에서 실행되는 단위로, 프로세스의 메모리 공간을 공유합니다.특징:동일한 프로세스의 스레드끼리는 Code, Data, Heap 영역을 공유.Stack은 ..

전 게시글을 보시면 HTTPS를 사용해야 하는 이유와 SSL 인증서를 다운로드 받고, Key 파일에 대해서 설명을 드렸습니다. 이 키를 사용하여, 인증서를 생성하기 위해 K8S 환경을 만들어놓은 master 계정으로 접속 했습니다.key파일을 옮기기 위해서 FileZilla를 사용하게 되었는데, 이 프로그램을 사용하여 C드라이브에 있는 파일을 K8S 환경으로 옮기는 작업을 진행 했습니다. 물론 내부에서도 가능하지만, 프로그램을 사용하면 손 쉽게 가능하기에 전 아래와 같은 방법을 선택 했습니다. https://filezilla-project.org/ 위에서 다운로드 받으시면 됩니다. 이제 옮기셨으면, 아래를 따라해주세요 ! 1. 인증서 파일을 준비한다. 위에 앞서 말 했던 것 처럼 key 파일을 옮긴 폴더..

CI/CD지속적 통합(Continuous Integration) 및 지속적 제공/배포(Continuous Delivery/Deployment)를 의미하며, 소프트웨어 개발 라이프사이클을 간소화하고 가속화하는 것을 목표로 한다.지속적 통합이란 어플리케이션의 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 공유 레포지토리에 통합하는 것을 의미한다. 진행 순서를 정리 해 봤을 때 > K8S 배포 기준 Kubernetes 클러스터 배포 및 MetalLB 설정LoadBalancer 서비스 및 Ingress 설정도메인 연결 및 SSL 설정CI/CD 파이프라인 설정 (Jenkins 사용)무중단 배포 설정으로 이뤄집니다. 여기에서 3번째인 도메인 연결 및 SSL설정은 HTTPS로 적용하는 것인데,그 전에 HT..

해당 이미지를 어디선가 많이 보셨을텐데요... 네 맞습니다. 인증 수행 과정입니다.SecurityFilterChain에서 사용하는 필터 중 UsernamePasswordAuthenticationFilter를 통해 인증 처리를 합니다. 위 그림의 인증 수행 과정을 설명하면 다음과 같습니다. 1. HTTP 요청 처리특정 URL에 대해 HTTP POST 요청을 가로챕니다.기본적으로 이 URL은 /login이며, 변경하려면 setFilterProcessesUrl() 메서드를 사용하면 됩니다.2. 사용자 인증 정보 추출필터는 요청으로부터 username과 password 값을 추출합니다.기본적으로 폼 필드는 username과 password로 기대합니다. 커스터마이징하려면 setUsernameParameter(..