목록CS 개념 정리 (20)
Odds and Ends
1. 운영체제란 무엇인가요 운영체제란 컴퓨터 사용자와 컴퓨터 HW 간의 인터페이스로서 동작하는 시스템 SW의 일종으로, 다른 응용프로그램이 유용한 작업을 할 수 있도록 환경을 제공해줍니다. CPU, 입출력 장치, 프로세스 등 컴퓨터 시스템의 자원을 관리하여 컴퓨터 시스템이 제대로 작동하도록 합니다. 이외에도 처리능력 향상, 반환 시간 단축, 신뢰도 향상 등이 있습니다. 2. 프로세스와 스레드의 차이점에 대해 각각의 특징과 함께 설명해주세요. 프로세스란 프로그램이 메모리에 올라와 운영체제로부터 CPU를 할당받고 프로그램이 실행되고 있는 상태. 즉, 일을 처리하는 일련의 과정을 뜻한다. 스레드란 프로세스 내에서 실행되는 흐름의 단위로, 프로세스 하나에 자원을 공유하면서 일련의 과정을 여러 개 동시에 실행 시..

MVC 프레임 워크란? MVC 프레임워크에 대해 알려면 먼저 MVC의 개념에 대해 알아야합니다. 1. MVC 패턴이란? 디자인 패턴 중 하나로 사용자가 보는 화면인 View, 데이터를 처리하는 Model, 이 둘을 중재하는 Controller 세가지 역할로 분업합니다. 이 패턴을 사용해 애플리케이션을 만들면 유지보수, 확장성, 유연성이 증가하고 중복코드도 사라집니다. [실전에서 MVC를 지키며 코딩하는 법 5가지] Model은 Controller와 View에 의존하면 안된다. > Model 내부에 Controller와 View에 관련된 코드가 없어야한다. (Import 금지) View는 Model에만 의존하고 Controller엔 의존하면 안된다. > View내부에 Model의 코드만 있을 수 있고, C..

1. OSI 7 계층이란 무엇인가요 : OSI 7 계층은 네트워크 통신이 일어나는 과정을 7단계로 나눈 국제 표준화 기구(ISO)에서 정의한 네트워크 표준 모델로, 서로 다른 통신 규격을 가진 네트워크를 호환하기 위해 만들어졌다. 계층별로 역할을 분리해서 각 계층이 독립적으로 기능을 수행하고, 계층 간 통신을 통해 전체 통신 프로세스를 가능하게 한다. 네트워크 통신 과정을 단계별로 파악할 수 있으며, 문제가 발생했을 때도 문제 계층을 빠르게 파악할 수 있다. 또한 네트워크 통신에 필요한 HW와 SW를 표준화함으로써, 서비스나 기기 간 호환을 가능하게 한다. 현재 사용 중인 산업 표준 네트워크 모델은 TCP/IP 계층이다. OSI 모형이 아니라 TCP/IP가 산업 표준인 이유는 TCP/IP가 OSI보다 더..
스프링과 스프링 부트의 차이를 알아보기 위해서 아래 강의 하나를 들었다. 10분가량인데 재밌고 이해가 잘되니 다들 들어보시길 대략 들은 내용을 정리해보자면 먼저 Spring(봄)의 뜻은 개발자들에게 겨울은 갔다! ( = 즉 더 편하게 개발할 수 있도록 환경을 갖춰주겠다. ) 그런데 Spring Boot는 Spring보다 좀 더 봄. Spring보다 더 편하게 관리해준다는 뜻이다. Spring 공식 문서의 일부분으로 Spring이 왜 Spring으로 불리는지 설명한 부분이다. Whatever happened next, the framework needed a name. In the book it was referred to as the “Interface21 framework” (at that point ..

전송계층 프로토콜 중 대표적인 것이 바로 TCP와 UDP이다. 🤔 전송계층이란? : OSI 7계층에서 전송계층(Transport Layer, 4계층)에는 양 끝단(End to end)의 사용자들이 신뢰성있는 데이터를 주고 받도록 한다. → 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각 안해도 됨! 구조가 잘 생각나지 않는다면 아래 OSI 7계층과 *TCP/IP 4계층 사진을 살펴보자. * TCP/IP 4계층: TCP/IP 프로토콜 통신 과정에 초점을 맞추어 OSI 7계층을 단순화 시킨 계층 그래서 전송 계층 프로토콜이란? : 종단 호스트 간 애플리케이션 데이터를 전송해 주는 역할을 하는 프로토콜* * 프로토콜 : 다른 시스템과 통신을 원활하게 수용하도록 해주는 통신 규약, 약속 그럼 TCP 부터 ..
트랜잭션이란? : DB 상태를 변화시키기 위해 수행하는 작업의 단위 * 데이터베이스의 상태를 변화시킨다는 것은 무얼 의미하는 것일까? : 간단하게 말해 아래 질의어(SQL)를 이용하여 데이터베이스를 접근 하는 것을 의미한다. SELECT, INSERT, DELETE, UPDATE 📌 트랜잭션의 특징 4가지 원자성 (Atomicity) : All or Nothing, 트랜잭션이 데이터베이스에 모두 반영되던가 아니면 전혀 반영되지 않아야 한다는 것 : 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수행되지 않고 어느하나라도 오류가 발생하면 트랜잭션 전부가 취소되어야 한다. 일관성 (Consistency) : 트랜잭션의 작업 처리 결과가 항상 일관성이 있어야 한다는 것. : 시스템이..

관계형 데이터베이스 : 데이터를 테이블 형태로 저장, 각 테이블이 연결되는 관계를 맺는 DB 용어 정리 * 열(column) : 필드라고도 부르며, 항목의 속성(명칭)을 나타낸다. 필드 마다 각각 정수, 텍스트 같은 데이터 유형을 정할 수 있다. * 행(row) : 레코드(record) 라고도 부르며, 각 데이터 항목을 저장한다. * 스키마(schema) : 필드는 데이터 유형뿐만 아니라 제약사항도 지정할 수 있는데 이러한 제약사항을 스키마라고 부른다. 예를들어 필드는 중복 값을 해당 행에 저장할 수 없다거나, 반드시 값을 가져야 한다(not null)는 조건 등을 걸 수 있다. 데이터베이스를 사용하는 이유 : 데이터를 통합해서 관리함으로써 파일 시스템의 단점 중 하나인 자료의 중복과 데이터의 중복성 문..

이분탐색이란? : 이진탐색이란 '정렬된 자료'를 반으로 쪼개가며 원하는 값을 찾아가는 탐색 알고리즘 * 가운데 지점(mid)을 찾고, 계속 left, right 값을 mid를 이용해 갱신하면서 범위를 좁혀나가는 알고리즘 최선: O(1) 평균: O(log N) 최악: O(log N) >> 데이터가 한 개 남을 때 까지 찾는 경우가 최악 # 이분탐색 알고리즘 (정방향) def BinarySearch(arr,target): #L: left, R: Right, M: Mid L,R = 0, len(arr)-1 while(L R 되면 탈출 (배열에 target이 없다) M = (L + R) // 2 if(arr[M] == target): # target값에 해당하는 idx 찾음 return M elif(arr[M]..