본문 바로가기

분류 전체보기144

[CS]절차지향/객체지향/함수형 프로그래밍 1. 절차지향(Procedural Programming) 특징 절차 중심 : 프로그램은 일련의 절차 또는 함수로 구성되며, 절차가 중심이 되어 데이터를 처리 데이터와 처리의 분리 : 데이터와 데이터를 처리하는 절차를 분리하여 생각하고 설계 코드의 재사용 : 함수나 서브루틴을 사용하여 코드의 재 사용성을 높임 전역 데이터 : 전역 변수를 통해 데이터를 공유하고, 이로 인해 데이터의 접근과 변경이 자유롭다. 순차적 실행 : 프로그램은 단계별로 순차적으로 실행되며, 제어 흐름은 일련의 절차에 따라 진행 장점 코드의 가독성이 좋음 컴퓨터의 처리구조와 비슷해 실행 속도가 빠름 단점 각각의 코드가 순서에 민감하게 연결되어 있어서, 유지보수 및 분석이 어려움 언어 : C, Pascal, FORTRAN, COBOL 등.. 2023. 5. 17.
[자료구조] Array와 Linked List 1. Array 저장 방식 : element들은 인접한 Memory 위치에 저장된다. 종류 single dimensional two dimensional multi dimensional 크기 Array의 size는 반드시 array 선언 시점에 지정되어 있어야 합니다. 메모리 할당 Array에서, Memory는 Array가 선언되자 마자 Compile time에 할당되어 진다. 이것을 Static Memory Allocation이라고 한다. Stack Section에 memory 할당이 이루어 진다. 요소 접근 Array는 Random Access를 지원한다. element들은 index를 통해 직접적으로 접근가능하다. 따라서, 접근하는 시간 복잡도는 O(1)이다. 삽입 및 삭제 인덱스로 접근 후 삽입 .. 2023. 5. 16.
[자료구조] Stack과 Queue 1. Stack 후입선출(LIFO, Last In First Out) 방식의 자료구조 특징 스택 내부의 데이터는, top을 통해서만 접근 가능 top은 가장 최근(마지막)에 들어온 자료나 데이터를 의미 스택에 데이터를 삽입할 때는, top 위에쌓이게 되며('push' 연산) 스택에서 데이터를 삭제할 때는, top에 위치한 데이터를 삭제하게 된다. (pop 연산) 즉, 스택은 시간 순서에 따라 데이터가 쌓이게 되므로 가장 마지막에 삽입된 데이터가 가정 먼저 삭제된다는 특징을 가지게 된다. 활용 예시 웹 브라우저 방문기록(뒤로 가기) 실행 취소(undo) 역순 문자열 만들기 후위 표기법 계산 A+B*C 가 아닌 ABC*+ 로 표기하는 것 수실의 괄호 검사 연산자 우선순위 표현을 위한 괄호 검사 2. Queu.. 2023. 5. 16.
[CS] 웹 서버와 WAS 1. Web Server 개념 하드웨어 : Web 서버가 설치되어 있는 컴퓨터 소프트웨어 : 웹 브라우저 클라이언트로부터 HTTP 요청을 받아 정적인 컨텐츠(html, jpeg, css 등)를 제공하는 컴퓨터 프로그램 Web Server의 기능 HTTP 프로토콜을 기반으로 하여 클라이언트(웹 브라우저 또는 웹 크롤러)의 요청을 서비스 하는 기능을 담당한다. 요청에 따라 아래의 두 가지 기능 중 적절하게 선택하여 수행한다. 기능 1) 정적인 컨텐츠 제공 WAS를 거치지 않고 바로 자원을 제공 기능 2) 동적인 컨텐츠 제공을 위한 요청 전달 클라이언트의 요청(Request)을 WAS에 보내고, WAS가 처리한 결과를 클라이언트에게 전달(응답, Response)한다. 클라이언트는 일반적으로 웹 브라우저를 의미.. 2023. 5. 16.