전체 글 (161) 썸네일형 리스트형 Java, Javascript, Python 비교 1. 실행환경 javajavascriptpython설치 및 구성JDK(Java Development Kit) 설치 후 환경변수 설정 필요별도 설치 없이 브라우저에 내장된 엔진 사용 (Node.js 사용 시 Node 설치 필요)Python 인터프리터 설치 필요 (Windows, Mac, Linux 등에서 간단히 설치 가능)간단 설명설치 및 구성Java: 코드를 작성한 뒤Java Compiler (javac)가 바이트코드로 컴파일되어 JVM (Java Virtual Machine) 에서 플랫폼 독립적으로 실행 가능. 때문에 JDK를 반드시 설치해야 함. JVM 위에서 실행되기 때문에 런타임 오버헤드가 있음.JavaScript: 웹 브라우저에 이미 엔진이 내장되어 있어, 별도 설치 없이 사용 가능. 서버나 .. 코딩테스트 탐색문제 (DFS,BFS,DP) 그래프이론으로 정의되는 문제그래프 탐색문제 : 그래프를 노드간 관계(함수 혹은 adj list 관계 등)로 표현하고 각 노드를 탐색한 후 특정한 동작/함수를 실행함.노드를 특정한 경우의 수로 생각할 수 있으며 코드로는 객체의 특정한 상태(state) 로 표현함, 각 노드는 객체의 attribute 값이 다른 상태.그래프 탐색 문제 풀이의 관건은 노드/경우의 수를 어떻게 객체와 개체의 attribute로 표현할 것인지. 그리고 노드간 의 관계인 엣지는 어떤 Method 관계(객체의 attribute를 바꾸는 함수)로 표현할 것인지. 그리고 더 나아가 시간복잡도 최적화를 위해서 엣지 커트를 어떻게 구현할 것인지에 대한 문제이다.DFS와 For/if문 차이경우의 수 관점에서는 컴퓨터의 모든 동작은 tree로 .. DOM DOM(Document Object Model)은 HTML, XML 문서를 구조화한 트리 형태의 모델로, 프로그래밍 언어를 통해 문서의 내용을 읽고 수정하거나 추가, 삭제할 수 있는 인터페이스를 제공합니다. 웹 페이지에서 동적으로 내용을 변경할 때 사용하는 기술입니다. 왜 DOM이 필요한가?1. 브라우저 관점:브라우저가 HTML/XML 문서를 구조화하여 이해하고 렌더링하기 위해 DOM이 필요합니다.DOM은 브라우저 내부에서 HTML을 처리하는 기본적인 데이터 모델입니다.2. 프로그래밍 언어 관점:프로그래밍 언어가 DOM을 통해 문서의 구조와 내용을 동적으로 제어할 수 있게 하기 위해 DOM이 필요합니다.DOM API는 프로그래밍 언어와 브라우저가 문서를 공유하는 "공통 언어" 역할을 합니다. 브라우저 .. 대규모 서비스는 어떻게 서비스되는가 1. 클라이언트 요청 시작DNS 조회사용자가 브라우저에 https://example.com을 입력하면, **DNS(Domain Name System)**가 도메인 이름을 서버의 IP 주소로 변환.브라우저 → 로컬 DNS 캐시에서 IP 확인 (이미 조회된 경우 바로 반환).로컬에 없으면 ISP DNS 서버로 요청.ISP 서버에도 없으면 최종적으로 권한 있는 DNS 서버(Authoritative DNS)로 요청.DNS 서버의 역할:사용자 요청을 적합한 서버로 라우팅하기 위해 IP 주소를 반환.예: example.com에 대해 192.168.1.1 반환. 2. 트래픽 라우팅로드 밸런싱로드 밸런싱은 정적인 파일이든 동적인 요청이든 상관없이 모든 요청에 대해 트래픽을 분산하는 방식으로 동작합니다DNS 기반 로드 .. 모니터링 툴 1. Prometheus란?Prometheus는 오픈소스 모니터링 및 경고 시스템으로, 시계열 데이터(Time Series Data)를 수집하고 저장하며, 쿼리를 통해 이를 분석합니다.Prometheus의 주요 특징시계열 데이터 수집:**메트릭(metric)**이라고 불리는 데이터를 시계열(Time Series) 형식으로 수집.예: CPU 사용률, 메모리 사용량, 네트워크 트래픽.Pull 기반 데이터 수집:Prometheus 서버가 모니터링 대상(Exporter)에서 데이터를 **끌어오는 방식(Pull)**으로 수집.Query Language (PromQL):데이터를 분석하고 시각화하기 위한 쿼리 언어.복잡한 데이터 처리를 쉽게 수행 가능.알림(Alerting):특정 조건이 충족되면 AlertManage.. AWS 서비스 AWS는 25개 리전과 81개의 가용 영역(AZ)을 기반으로 다양한 클라우드 서비스를 제공리전은 리전은 AWS의 서비스가 호스팅되는 지리적 위치를 의미합니다 각 리전은 특정 국가나 도시에 위치하고 있습니다. AZ는각 리전 내에 존재하는 독립된 데이터 센터 집합을 의미합니다.주요 서비스: 컴퓨팅(EC2), 스토리지(S3), 네트워킹(VPC, ELB), 데이터베이스(RDS, DynamoDB), 보안(IAM, Shield) 등1. 기본 개념클라우드 컴퓨팅 개념:공유가능한 컴퓨팅 자원을 네트워크를 통해 접근할 수 있도록 하는 모델IaaS (Infrastructure as a Service) : 서버, 스토리지, 네트워킹 등의 기본 인프라 예시: AWS EC2, Microsoft Azure, Google Comp.. Gradle 빌드 사용법 .gradle 파일구조 분석Gradle 스크립트에서 작성한 설정들은 여러 Task의 동작을 조정하거나 지원하는 역할을 합니다. 플러그인 선언:plugins { id 'java' id 'org.springframework.boot' version '3.3.3' id 'io.spring.dependency-management' version '1.1.6'} 각 플러그인은 Gradle 빌드 시스템에 Task와 기본 설정을 추가합니다.java: compileJava, test, jar와 같은 Task를 추가.clean: 이전 빌드 결과를 정리. 'gradle clean' 할때에 사용됨compileJava: Java 소스 코드를 컴파일.processResources: 리소스를 복사하여 빌드 디렉토.. MySQL InnoDB 잠금 MySQL InnoDB 잠금데이터베이스의 격리수준 뿐만 아니라 동작의 종류에 따라서 잠금이 사용되기도 되지 않기도한다. DQL(Data Query Language)일반적인 Select문으로 MVCC를 사용하여 잠금없는 읽기로 동시처리한다. 해당 쿼리문은 잠금이 필요없는 동작이므로 Lock 획득을 위한 대기가 필요없이 동작한다. 스냅샷을 구성하여 읽으므로 repeatable read에서는 일관적인 데이터 읽기가 가능하다 DML(Data Manipulation Language)Insert, Update, Delete 그리고 Select for Share/Update (locking read라고 불림) 와 같은 동작은 MVCC 메커니즘이 아니라 잠금(Lock)이 관여한다. 상황에 따라 잠금 획득을 기다.. 이전 1 ··· 4 5 6 7 8 9 10 ··· 21 다음 목록 더보기