본문 바로가기

두두의 IT/Computer Science

(17)
Java 지식 1. JVM과 JAVA 프로그램 실행과정을 설명해보세요 - JVM이란 JAVA Virtual Machine의 약자로, 자바 프로그램을 자바 API를 기반으로 실행하는 역할을 함 - JAVA 프로그램 실행 과정은 - 프로그램이 실행되면 JVM이 OS로부터 해당 프로그램이 필요로 하는 메모리를 할당받고, - 자바 바이트코드로 변환된(.class) 파일을 class 로더를 통해 JVM에 로딩한다. - 로딩된 class 파일은 execution engine을 통해 해석되고 실행된다 - 필요시 garbage collection을 수행해서, 불필요하게 할당된 메모리를 해제한다. 2. Garbage Collection이 필요한 이유 - java 프로그램은 메모리를 명시적으로 지정해서 해제하지 않기 때문에, Garba..
CS 기본 지식 1. 프로세스와 스레드 차이 (운영체제) - 프로세스 : 운영체제로부터 자원을 할당받아 실행하고, 스레드는 프로세스로부터 자원을 할당받아 실행 - 하나의 프로세스 안에서 여러 스레드 생성 가능하며, 각 스레드는 개별 스택을 가지고, 프로세스의 전역 메모리 공간을 공유하며 프로그램을 실행 - 보통 프로세스는 코드/데이터/스택/힙 메모리 영역을 기반으로 실행하며 - 스레드는 프로세스 안에서 개별적인 스택을 가지고 코드/데이터/힙 영역을 공유하며 실행 2. 스크립트 언어와 컴파일 언어를 나열하고 차이점을 설명하세요. - 스크립트 언어로는 python, ruby, php 등이 있으며, 컴파일 언어로는 C, C++, JAVA 등이 있습니다. - 컴파일 언어는 컴파일러를 통해 사전에 컴파일되어, 기계어 상태로 실행..
[DB] RDBMS 질의어 https://spurious-heath-8ab.notion.site/RDBMS-cb95e48f41784a339ea6069fe18af215 RDBMS 질의어 DDL (Data Definition Language) spurious-heath-8ab.notion.site 토픽명 키워드 정의, 특징 DDL Definition, 정의, 객체 관리 CREATE, ALTER, DROP, TRUNCATE, RENAME DML Manipulation, 조작, 내부 스키마 SELECT, INSERT, DELETE, UPDATE DCL Control, 통제, 권한 REVOKE, GRANT, COMMIT, ROLLBACK
[DB] 데이터 독립성 https://spurious-heath-8ab.notion.site/9038e9ed7b1d42209444def771c02b81 데이터 독립성 하위 단계의 데이터의 논리적, 물리적 구조가 변경되어도 상위 단계에 영향을 미치지 않도록 구성하는 데이터베이스 특징 spurious-heath-8ab.notion.site 토픽명 키워드 정의, 특징 데이터 독립성 구조 변경, 영향, 데이터베이스 특징 유지보수 비용 증가 데이터 중복성 증가 데이터 복잡도 증가 요구사항 대응 저하
[DB] DBMS https://spurious-heath-8ab.notion.site/DBMS-01983dbf60ef4f6eab32b7508c8206ca DBMS Database와 DBMS의 차이 spurious-heath-8ab.notion.site 토픽명 키워드 정의, 특징 Database Data, 저장소 DBMS 관리 시스템 종속성&중복성, 일관성&무결성,권한통제, 트랜잭션, 표준화, 동시성 제어
쿠키 vs 세션 vs 토큰 쿠키 세션ID 등을 옮기는 시스템. 매개체 특정 사용자의 것을 기억하기 위해 서버는 쿠키를 이용해서 브라우저에 데이터를 넣을 수 있음 도메인에 따라 제한됨(유튜브가 준 쿠키는 유튜브에만 보내짐) 서버가 정한 유효기간이 있음(하루, 한달 등) 여러가지 정보(인증, 언어설정 등)를 저장할 수 있음 자동으로 전송됨 Stateless 서버로 가는 모든 요청이 이전 리퀘스트와 독립적으로 다뤄진다는 뜻 요청끼리 연결(메모리)이 없음 요청이 끝나면 서버는 사용자가 누군지 잊어버릴 것임 => 요청할 때마다 사용자가 누군지 알려줘야 함 => 세션 세션 (유저인증 O) 같은 웹사이트에서 다른 페이지로 이동할 때 위와 같은 프로세스 반복 세션을 이용해 iOS, android 앱을 만들 수 있지만 쿠키는 브라우저에만 있으니가..
WAS, Web Server, WSGI 웹 애플리케이션 서버(Web Application Server, 약자 WAS) 웹 애플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크 인터넷 상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어(소프트웨어 엔진) 동적 서버 콘텐츠를 수행하는 것으로 일반적인 웹 서버와 구별이 되며, 주로 데이터베이스 서버와 같이 수행이 된다. 한국에서는 일반적으로 "WAS" 또는 "WAS S/W"로 통칭하고 있으며 공공기관에서는 "웹 응용 서버"로 사용되고, 영어권에서는 "Application Server" (약자 AS)로 불린다. 종류 : 아파치 톰캣(Apache Tomcat), Jetty [기본 기능] 프로그램 실행 환경과 데이터베이스 접속 기능을 제공한다. ..
그림한장으로 보는 서버 최신 가이드북 01 웹 브라우저를 사용하여 웹 사이트에 액세스하고 있을 때 웹 브라우저 = ‘클라이언트’, 웹 사이트의 콘텐츠가 있는 컴퓨터 = ‘서버’ 02 서버의 처리는 클라이언트의 요청으로 시작된다. 웹 브라우저 = Internet Explorer, Safari 03 웹 서버 = HTTP, 웹 암호화 서버 = HTTPS 메일 송신 서버 = SMTP, 메일 수신 서버 = POP 04 서버 구축 = 서버 소프트웨어를 컴퓨터에 인스톨하여 실행시키는 것 웹 서버 소프트웨어 = Apache, IIS, nginx 05 인터넷 연결 = DNS 서버 파일 공유 = 파일 서버 사용자의 요청에 따라 페이지를 반환하는 장치가 필요 = 웹 애플리케이션 서버, 데이터베이스 서버 06 설정 변경 - 사용자의 추가 및 삭제 관리 컴퓨터의 ..

LIST