본문 바로가기

반응형

전체 글

(94)
3-Tier 웹 서비스에서 페이지 로딩이 느리다면? 프레젠테이션 계층 (프론트엔드) 1. 리소스 최적화 - 이미지, CSS, Javascript 파일을 압축하고 최적화 - CDN(Content Delivery Network)를 사용하여 리소스 로딩 시간을 단축 2. 비동기 로딩 - 자바스크립트, CSS를 비동기적으로 로드하여 개발 3. 캐싱 - 브라우저 캐싱을 활용하여 자주 사용되는 리소스의 재로딩 시간을 줄인다. 애플리케이션 계층 1. 코드 최적화 2. 세션 관리 3. 로드 밸런싱 인프라 및 네트워크 1. 서버 성능 향상 2. 모니터링과 분석
CS/네트워크/인프라 기본 개념 자료구조와 알고리즘: 자료구조는 데이터를 효율적으로 저장하고 관리하는 방법으로 배열, 연결 리스트, 스택, 큐, 해시 테이블 등이 있다. 각 자료구조는 특정한 상황에서 최적의 성능을 제공할 수 있도록 구성하며, 알고리즘은 문제를 해결하기 위한 절차나 방식을 의미한다. 효율적인 알고리즘 설계는 시스템의 성능과 자원 사용을 최적화하는 데 목적이 있다. OSI 모델과 TCP/IP: OSI 모델은 네트워킹 프로세스를 7계층으로 나누어 설명하는 개념이다. 물리, 데이터 링크, 네트워크, 전송, 세션, 표현, 응용 계층입니다. TCP/IP는 4계층 모델 중 하나로 인터넷 통신의 기반을 형성한다. 이 계층들은 데이터의 전송과 수신을 위해 서로 상호작용하는 중요한 기능을 한다. 각 계층은 특정 기능을 담당하며, 이를 ..
클라우드 서비스 기본 개념 정리 클라우드 컴퓨팅의 기본 개념 - 클라우드 컴퓨팅은 인터넷을 통해 컴퓨팅 서비스(서버, 저장소, 데이터베이스, 네트워킹, 소프트웨어 등)를 제공하는 기술이며, 이는 기업이 자체적으로 인프라를 구축하고 관리하는 대신, 필요에 따라 이러한 리소스를 유연하게 사용하고 비용을 지불하는 모델이다. 이를 통해 기업은 확장성, 유연성 및 비용 절감의 장점을 가져갈 수 있다. 데이터 저장 방법 - 데이터는 전통적인 하드 드라이브, 네트워크 연결 스토리지, 클라우드 기반 스토리지 등 다양한 방식으로 저장할 수 있다. 하드 드라이브는 물리적인 저장 공간을 제공하지만, 클라우드 스토리지는 더 큰 확장성과 접근성을 제공한다. 각 방법은 데이터의 중요성, 접근 빈도, 보안 요구사항에 따라 선택될 수 있다. 가상화 기술의 이해 -..
HTTP와 HTTPS의 차이점 / 동작 방식 가장 큰 차이점은 보안으로 HTTP는 SSL/TLS 통신 방식을 사용하여 데이터를 암호화한다. 이는 사용자와 웹사이트간 정보가 안전하게 전송될 수 있도록 보장한다. 두 프로토콜 간 사용하는 포트번호가 다르며, HTTPS는 SSL인증서를 통해 신뢰성이 보장된다. HTTPS는 검색 우선 순위에도 높은 점수를 받으며, HTTP에 대한 성능도 현재는 큰 차이가 없을 정도로 발전했다. HTTPS의 동작 방식 1. SSL/TLS 프로토콜 사용 : HTTPS는 암호화된 프로토콜을 사용하여, 데이터가 전송 중에 유출되거나 변조되는 것을 방지한다. 2. 암호화 과정 : 클라이언트와 서버 간의 연결 설정 후 데이터를 암호화하고 해독하는데 사용되는 키를 교환한다. 이 과정에서 대칭키 암호화(데이터 전송 단계)와 비대칭키 암..
공개키와 비밀키 암호화 동작 방식 공개키와 비밀키 암호는 비대칭키 암호화 방식의 핵심 요소이다. 공개키는 누구나 접근 가능하며, 비밀키는 소유자만이 접근할 수 있다. 즉 A가 B에게 데이터를 전송할때, A는 B만 해독 가능한 공개키로 이를 암호화하여 전송함으로써, B만 이를 해독할 수 있게 하는 기술을 말한다. 이 비대칭 암호화 방식은 SSL/TLS 프로토콜에서 중요한 역할을 하며, 온라인 통신의 안전성을 크게 향상시킨다 또한, 디지털 서명에 사용되어 메시지의 발신자가 누군인지 확인하고 해당 메시지가 중간에 변경되지 않았음을 보장하는데 활용된다.
관계형 데이터베이스와 NoSQL 데이터베이스의 차이점 관계형 데이터베이스 - 테이블 형태로 데이터를 저장하며, 각 테이블은 열/행 형태로 구성된다. 데이터는 엄격한 스키마 구조를 따르며, 서로 다른 테이블 간에는 관계를 통해 연결된다. 장점은 데이터의 일관성과 정확성을 보장하며, 복잡한 쿼리와 트랜잭션 처리에 강점을 가진다. NoSQL 데이터베이스 - 유연한 데이터 모델을 사용하여 다양한 데이터 형식을 저장할 수있다. 이는 대규모 분산 데이터를 처리하는 데 적합하며, 스키마가 고정되어 있지 않아, 빠르게 변화하는 데이터에 유연하게 대응할 수 있다. MongoDB가 예이며, 특장점은 확장성이 뛰어나고 대용량 데이터 처리에 효과적이며, 구조가 유연하여 다양한 유형의 데이터를 쉽게 저장하고 관리할 수 있다는 것이다.
가상메모리와 페이지 교체 알고리즘 가상메모리 : 컴퓨터가 실제 메모리보다 더 많은 메모리를 가진 것처럼 작동하게 해주는 기술이다. 컴퓨터에는 물리적인 메모리(RAM)가 제한되어 있지만, 가상 메모리를 사용하면 컴퓨터는 하드 드라이브의 일부 공간을 마치 추가적인 RAM인 것처럼 사용할 수 있게 된다. 이렇게 하면 여러 프로그램을 동시에 실행할 때 각 프로그램이 더 많은 메모리를 사용할 수 있게 된다. 페이지 교체 알고리즘 : 컴퓨터에서 여러 프로그램을 실행하다보면, 실제 메모리 공간이 부족해 질 수 있다. 이때 컴퓨터는 어떤 부분을 메모리에서 잠시 제거하고, 다른 부분을 메모리에 넣어야 하는데 이를 페이지 교체라고 한다. 컴퓨터는 특정 알고리즘에 따라 이러한 교체를 결정하는데, 가장 오래 전에 사용한 메모리를 제거하는 방식, 최근에 사용되..
프로세스와 스레드의 차이점 프로세스와 스레드 모두 실행 중인 프로그램의 구성요소이다. 그러나 이 둘 사이에는 중요한 차이점이 있다. 1. 프로세스 - 프로세스는 실행 중인 프로그램의 인스턴스로 독립된 메모리 공간을 가진다. 각 프로세스는 자체 주소 공간을 가지며, 다른 프로세스와는 독립적으로 실행되기 때문에 일반적으로 더 많은 시스템 자원이 필요하다. 2. 스레드 - 프로세스 내의 실행 단위이며, 프로세스의 메모리를 공유한다. 코드/데이터/힙 영역은 공유하지만 다른 스택 영역을 가지며, 이를 통해 자원을 효율적으로 사용할 수 있고, 프로세스 내 데이터 공유가 쉽다. 결론적으로 프로세스는 독립적인 메모리 공간을 가진 실행 환경에서 실행되며, 스레드는 메모리를 공유하고 더 가볍고 효율적인 방식으로 멀티 태스킹을 가능하게 한다. 이러한..

반응형