CS

개념MVC 는 Model, View, Controller의 약자 입니다. 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴입니다.Model(모델) 애플리케이션의 정보, 데이타를 나타냅니다. 데이타베이스, 처음의 정의하는 상수, 초기화값, 변수 등을 뜻합니다.규칙사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다. 뷰나 컨트롤러에 대해서 어떤 정보도 알지 말아야 한다. 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야만 한다. View(뷰) input 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타냅니다. 데이터 및 객체의 입력, 그리고 보여주는 출력을 담당합니다. 데이터를 기반으로 사용자들이 볼 수 있는 화면입니다.규칙 모델이 가지고 있는 ..
Join 이란?두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것Join의 종류INNER JOIN(내부 조인)SELECT FROM INNER JOIN ON [WHERE 검색 조건]두 테이블을 연결할 때 가장 많이 사용하는  것이 내부 조인입니다. 그냥 조인이라고 부르면 내부 조인을 의미합니다.OUTER JOIN(외부 조인)FULL OUTER JOINSELECT FROM OUTER JOIN ON [WHERE 검색 조건]왼쪽 또는 오른쪽 테이블의 모든 값이 출력되는 조인LEFT OUTER JOINSELECT FROM OUTER JOIN ON [WHERE 검색 조건]왼쪽 테이블의 모든 값이 출력되는 조인RIGHT OUTER JOINSELECT FROM..
애자일 스크럼(Agile Scrum)이란?정의하나의 방법론으로서 짧은 주기의 개발단계를 거치며 지속적으로 하나의 소프트웨어를 개발해 나가는 방법.원칙각 Agile 프로젝트에서는 개발 과정에서 고객과의 밀접한 연락을 유지하고 다양한 요구사항을 명확히 이해하기 위해 일반적으로 팀에 고객 담당자가 포함된다. 각 이터레이션의 끝에서 이해관계자 및 고객 담당자는 진행 상황을 검토하고 요구사항을 재평가한다.Agile 모델은 포괄적인 문서 작성보다는 실제 작동하는 소프트웨어 배포에 의존한다.몇 주 간격으로 고객 담당자에게 소프트웨어의 증분 버전을 자주 제공한다.고객의 요구사항 변경 요청을 권장하고 효율적으로 통합한다.Agile 방법론은 팀 구성원들 간의 커뮤니케이션 강화가 더욱 중요하게 강조된다. 개발 팀 구성원 간..
HTTP(HyperText Transfer Protocol)란?정의하이퍼텍스트 문서를 교환하기위한 Application Layer 프로토콜. 인터넷 상에서 웹 서버와 클라이언트 간의 데이터를 주고받기 위해 만들어놓은 통신 규약.특징초기에는 HTML과 같은 하이퍼미디어 문서를 주로 전송했지만, 최근에는 Plain text, JSON, XML 등 다양한 형태의 정보도 전송한다.클라이언트가 요청을 생성하기 위한 연결을 연 다음 응답을 받을 때까지 대기하는 클라이언트-서버 모델을 따른다.HTTP는 비연결성 프로토콜이기 때문에 클라이언트와 서버가 이전에 요청한 결과에 대해서 알 수 없습니다. (무상태성(Stateless) 프로토콜)HTTP는 클라이언트와 서버가 한 번 연결을 한 후 클라이언트 요청에 대해 서버가 ..
TDD : 테스트 주도 개발반복 테스트를 이용한 소프트웨어 방법론작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현TDD 개발주기장점디버깅 시간을 단축할 수 있다.이는 유닛 테스팅을 하는 이점이기도 하다. 예를 들면 사용자의 데이터가 잘못 나온다면 DB의 문제인지, 비즈니스 레이어의 문제인지 UI의 문제인지 실제 모든 레이러들을 전부 디버깅해야 하지만, TDD의 경우 자동화 된 유닛테스팅을 전재하므로 특정 버그를 손쉽게 찾아낼 수 있다.코드가 내 손을 벗어나기 전에 가장 빠르게 피드백 받을 수 있다.개발 프로세스에서는 보통 ‘인수 테스트’를 한다. 이미 배치된 시스템을 대상으로 클라이언트가 의뢰한 소프트웨어가 사용자 관점에서 사용할 수 있는 수준인지 체크하는 과정이다..
프로세스(Process) 프로그램을 메모리 상에서 실행중인 작업 프로그램(Program): 어떤 작업을 위해 실행할 수 있는 파일 운영체제로부터 자원을 할당받은 작업의 단위 메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적인 개체) 스케줄링의 대상이 되는 작업(task)와 같은 의미 기본적으로 프로세스마다 최소 하나의 스레드(thread) 소유 (메인 스레드 포함) 프로세스는 각각 별도의 주소공간 할당 (독립적) Code : 코드 자체를 구성하는 메모리 영역(프로그램 명령) Data : 전역변수, 정적변수, 배열 등 초기화 된 데이터는 data 영역에 저장 초기화 되지 않은 데이터는 bss 영역에 저장 Heap : 동적 할당 시 사용 (new(), malloc() 등) Stack : 지역변수, 매..
조인(JOIN)이란? 두 개 이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법 여러 테이블을 조합하기 위해 컬럼 기준으로 행을 합쳐주는 연산 JOIN의 종류 내부 조인(INNER JOIN) 교집합으로, 기준 테이블과 join 테이블의 중복된 값을 보여줌 여러 애플리케이션에서 사용되는 가장 흔한 결합 방식 SELECT * FROM TableA A INNER JOIN TableB B ON A.key = B.key 교차 조인(CROSS JOIN) 모든 경우의 수를 전부 표현해주는 방식 두 테이블의 곱집합을 한 결과 SELECT A.Key, B.Key FROM TableA A CROSS JOIN TableB B 셀프 조인 (SELF JOIN) 자기자신과 자기자신을 조인하는 것 자신이 갖고 있는 칼..
연결리스트(Linked List)란? 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료구조 각 노드는 다음 노드를 가리키는 포인터를 포함하고 있음 다음 노드를 가리키는 포인터는 다음 노드의 주소를 값으로 가짐 각 노드의 포인터 변수는 다음 노드의 데이터의 주소를 값으로 가짐 연속적인 메모리 위치에 저장되지 않는 선형 데이터 구조 연결리스트(Linked List)의 장점 데이터 공간을 미리 할당하지 않아도 됨 (동적 크기) 삭제나 추가가 O(1) 시간에 가능 연결리스트(Linked List)의 단점 임의로 액세스를 허용할 수 없음 (첫 번째 노드부터 순차적으로 요소에 액세스 해야함) 포인터의 여분의 메모리 공간이 목록의 각 요소에 필요 특정 데이터를 검색하는데 무조..
운영 체제? 컴퓨터 시스템의 하드웨어적인 자원과 소프트웨어적인 자원을 효율적으로 관리 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 함 역할 1. 자원관리 컴퓨터 시스템 자원 효율적 관리 2. 자원 보호 프로그램이나 다른 사용자가 데이터를 삭제하거나 중요 파일에 접근하지 못하게 컴퓨터 자원들 보호 3. 인터페이스 제공 하드웨어 인터페이스와 사용자 인터페이스 제공하여 편리하게 사용하도록 지원 목적 운영체제의 성능을 평가하는 기준이 됨 처리능력(Throughput): 일정 시간 내에 시스템이 처리하는 일의 양 반환시간(Turn Around Time): 시스템..
같은 타입의 데이터를 여러개 나열한 선형 자료구조 특징 연속적인 메모리 공간에 순차적으로 데이터를 저장 선언된 값은 다시 배열을 선언하지 않으면 변경할 수 없음 동일한 데이터 유형을 가짐 연속된 메모리에 단일 블록화하여 데이터를 저장 인덱스를 통해서 배열에 있는 요소에 접근할 수 있음 요소(element): 배열을 구성하는 각각의 값 인덱스(index): 배열에서의 위치를 가리키는 숫자 0부터 시작 마지막 인덱스는 배열의 요소의 개수 - 1 시간 복잡도(Time complexity) 시간 복잡도 읽기 O(1) 삽입 O(n) 삭제 O(n) 탐색 O(n) 장점 인덱스를 통해 모든 요소에 빠르게 접근 기록 밀도가 1이기 때문에 공간 낭비가 적음 간단하고 사용하기 쉬움 참조를 위한 추가적인 메모리가 필요하지 않..
왕밤빵절미
'CS' 카테고리의 글 목록