반응형

분류 전체보기 270

Spring 면접 정리

WAS(We Application Server)와 WS(We Server)의 차이를 설명하세요WAS (Web Applicaion Server)비즈니스 로직을 넣을 수 있음Tomcat 등 (종류 더 조사)WS(Web Server)비즈니스 로직을 넣을 수 없음Nginx, Apache 등  FrameWork VS Library 프레임 워크 : 뼈대나 기반구조를 뜻하고, 제어의 역전 개념이 적용된 대표적인 기술이다. 소프트웨어에서의 프레임워크는 '소프트웨어의 특정 문제를 해결하기 위해서 상호협력하는 클래스와 인터페이스의 집합'이라 할 수 있으며, 완성된 어플리케이션이 아닌 프로그래머가 완성시키는 작업을 해야 한다.  객체 지향 개발을 하게 되면서 통합성, 일관성의 부족이 발생되는 문제를 해결할 방법 중 하나라고..

카테고리 없음 2024.12.22

Java 정리

JAVA란?JAVA는 네트워크상에서 쓸 수 있도록 미국의 선 마이크로 시스템즈가 개발한 객체 지향 프로그래밍 언어  JAVA의 특징1. 자바가상머신(JVM)만 설치하면 컴퓨터의 운영체제에 상관업이 작동한다. ( 즉, 운영체제에 독립적)2. 기본 자료형을 제외한 모든 요소들이 객체로 표현3. 객체 지향 개념의 특징인 캡슐화, 상속 , 다형성이 잘 적용된 언어4. Garbage Controll를 통한 자동적인 메모리 관리5. 멀티쓰레드 (Multi-theard)를 지원  자바의 메모리 영역에 대한 설명자바 메모리 공간은 크게 Method 영역, Stack 영역, Heap 영역으로 구분되고, 데이터 타입에 따라 할당된다. 메소드(Method) 영역 : 전역변수와 static변수를 저장하며, Method영역은 ..

Language/Java 2024.12.08

자료구조

자료구조 분류선형 자료구조 (Linear Data Structure): 데이터가 연속적 또는 순차적으로 저장종류 : 배열 (Array) , 연결리스트(LinkedList), 스택(Stack), 큐(Queue) 비선형 자료구조 (Non-linear Data Strucure) : 데이터가 계층적 또는 네트워크 구조로 저장종류 : 트리(Tree), 그래프(Graph)  선형 자료구조(Linear Daa Structure)배열(Array)정의 크기가 고저왼 연속정인 메모리 공간에 데이터를 저장인덱스를 통해 데이터에 직접 접근특징연속된 메모리 공간 : 데이터의 물리적 순서와 논리적 순서가 동일빠른 데이터 접근 : O(1)고정 크기: 배열 서언 시 크기 결정 시간 복잡도연산시간 복잡도접근O(1)탐색O(n)삽입/삭제..

카테고리 없음 2024.12.01

데이터베이스 인덱스

인덱스란?추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조 이다. 예를 들어 책에서 원하는 내용을 찾는다고 하면, 책의 모든 페이지를 찾아보는 것은 오래 걸린다. 그렇기 때문에 책의 저자들은 책의 맨 앞, 또는 맨 뒤에 색인을 추가하는데, 데이터베이스의 index는 책의 색인과 같다.   인덱스의 장점과 단점장점테이블을 조회하는 속도와 그에 따른 성능을 향상시킬 수 있다.전반적인 시스템의 부하를 줄일 수 있다.  단점인덱스를 관리하기 위해 DB의 약 10%에 해당하는 저장공간이 필요하다.인덱스를 관리하기 위해 추가 작업이 필요하다.인덱스를 잘못 사용할 경우 오히려 성능이 저하되는 역효과가 발생할 수 있다.  인덱스를 사용하면 좋은 경우규모가 작지 않은 ..

카테고리 없음 2024.11.26

트랜잭션 격리 수준

트랜잭션 격리 수준여러 트랜잭션이 동시에 데이터베이스에 접근할 떄, 데이터의 일과넝을 어떻게 보장할지 결정하는 규칙이다. 트랜잭션 격리 수준의 필요성동시에 여러 사용자가 데이터베이스에 접근하면 다음과 같은 문제가 발생할 수 있습Dirty Read(더티리드) : 커밋되지 않은 데이터를 읽는 문제Non-repeatable Read ( 비일관성 읽기 ) : 하나의 트랜잭션에서 같은 데이터를 반복조회할 떄 값이 달라지는 문제( 다른 트랜잭션에서 수정, 삭제 )Phantom Read( 팬텀 리드 ) : 하나의 트랜잭션에서 같은 데이터를 반복 조회할 떄, 새로운 행이 추가되는 문제 격리 수준의 종류Read UnCommitted( 읽기 미완료 허용)Read Commited( 커밋된 것만 읽기)Repeatable Re..

카테고리 없음 2024.11.26

[DataBase] 키(key) & 정규화란?

기본키 (Primary Key)테이블에 기본키는 하나만 만들수 있다한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성Null 값을 가질 수 없다기본키로 정의된 속성에는 동일한 값이 중복되어 저장될 수 없다,   후보키 (Candidate Key)릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별할 수 있는 속성들의 부분집합을 의미한다.모든 릴레이션은 반드시 하나 이상의 후보키를 가져야 한다.릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야한다.   대체키 (Alternate Key)후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키들을 말한다.   슈퍼키(Super Key)슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로서 릴레이션을 구성하는 모든 튜플 중 슈퍼키로..

DB 2024.11.20

운영체제 총 정리

운영체제의 역할은 무엇인가?CPU 스케줄링과 프로세스 관리메모리관리I/O 디바이스 관리디스크 파일 관리 CPU(중앙처리장치) 란?데이터와 명령어를 해석하고 실행하는 장치이다. CPU가 여러 개가 있으면 각자 해석하고 실행속도가 빨라진다.CPU는 제어장치, 산술연산장치, 레지스터로 구성되어 있다. 제어장치 : 여러 장치들을 컨트롤하고, 명령어를 해석한다. 산술논리장치 : 해석된 명령어에 따라 실제 연산을 수행하려면 필요하다. 레지스터 : 연산 수행시 메모장에다가 중간 중간 임시로 메모해가며 연산하는게 좋다. 명령어 인출(Fetch) 제어 장치가 프로그램 카운터(PC)를 통해 메모리에서 [ 3 더하기 5 ] 명령어를 가져온다.명령어 해독(Decode) 제어 장치가 명령어를 해독하며 [ 더하기 ] 연산을 수행..

카테고리 없음 2024.10.27

비선점형 방식

비선점형 방식(non-preemptive)프로세스가 스스로 CPU 소유권을 포기하는 방식이다. 강제로 프로세스를 중지하지 않는다. 따라서 컨텍스트 스위칭으로 인한 부하가 적다.  FCFS(First Come, First Served)가장 먼저 온 것을 가장 먼저 처리하는 알고리즘이다. 길게 수행되는 프로세스 때문에 '준비 큐에서 오래 기다리는 현상' 이 발생하는 단점이 있다.  SJF(Shortest Job First)실행 시간이 짧은 프로세스를 가장 먼저 실행하는 알고리즘이다. 긴 시간을 가진 프로세스가 실행되지 않는 현상이 일어나며 평균 대기 시간이 가장 짧다. 하지만 실제로는 실행 시간을 알 수 없기 때무에 과거의 실행했던 시간을 토대로 추측한다.   우선순위기존 SJF 스케줄링의 경우 긴 시간을 ..

카테고리 없음 2024.10.20

프로세스와 컴파일 과정

전처리소스 코드의 주석을 제거하고 #include 등 헤더 파일을 병합하여 매크로를 치환한다. 컴파일러오류 처리, 코드최적화 작업을 하며 어셈블리어로 변환 어셉블러목적 코드(object code)[  컴퓨터가 처리할수 있는 코드 ] 로 반환 한다. 확장자는 운영체제마다 다른데 리눅스에서는 .o이다.  링커라이브러리 함수 또는 다른 파일들과 목적 코드를 결합하여 실행 파일을 만든다. 실행 파일의 확장자는 .exe 또는 .out이라는 확장자를 갖는다.   프로세스의 메모리 구조 스택지역변수,매개변수, 리턴값을 저장 한다. 컴파일 시에 크기가 결정되며 '동적'인 특징을 갖는다.  힙동적 할당할 때 사용 되며 런타임 시 크기가 결정된다.  데이터 영역전역변수(Static), 정적변수(상수)가 저장되고, 정적인 ..

카테고리 없음 2024.10.20

공유 자원과 임계 영역

공유 자원(shared resource)시스템 안에서 각 프로세스, 스레드가 함꼐 접근할 수 있는 모니터, 프린트, 메모리, 파일, 데이터 등의 자원이나 변수 등을 말한다. 이 공유 자원을 두 개 이상의 프로세스가 동시에 읽거나 쓰는 상황을 경쟁 상태(rac condition)라고 한다.  동시에 접근을 시도할 떄 접근의 타이밍이나 순서 등이 결괏값에 영향을 줄 수 있는 상태 인것이다.  임계 영역(critical section) 둘 이상의 프로레스, 스레드가 공유 자원에 접근할 때 순서 등의 이유로 결과가 달라지는 코드 영역을 말한다. 임계 영역을 해결하기 위한 방법은 크게 뮤텍스, 세마포어 두 가지가 있으며, 이 방법 모두 상호 배제, 한정 대기, 융통성이란 조건을 만족해야한다. 상호 배제- 한 프로..

카테고리 없음 2024.10.13
반응형