일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 동적계획법
- 병행성
- DirectX12
- 컨디션 변수
- Direct12
- directx
- 영속성
- 자료구조
- 멀티쓰레드
- 그리디알고리즘
- 렌더링 파이프라인
- 다이나믹 프로그래밍
- DirectX 12
- 운영체제
- 디자인패턴
- OS
- 파일시스템 구현
- codility
- 타입 객체
- I/O장치
- 스케줄링
- 병행성 관련 오류
- 쓰레드
- 락
- 다이나믹프로그래밍
- 백준
- 알고리즘
- 멀티프로세서
- 프로그래머스
- 그리디 알고리즘
- Today
- Total
목록전체 글 (500)
기록공간

TCP 프로토콜은 신뢰성 있는 연결이 가능하다는 특징을 가지고 있다. 이는 장치간 서로 잘 연결되어있는지 확인하는 과정이 포함되어있기 때문에 가능한 것이다. 그럼 이제부터 이 과정이 어떻게 진행되는지 살펴보도록 하겠다. 연결 성립 (3-way-handshake) 1) 클라이언트는 서버에 접속을 요청하는 SYN(a) 패킷을 보낸다. 2) 서버는 클라이언트 요청 SYN(a)을 받고 요청을 수락한다는 ACK(a+1)와 SYN(b)이 설정된 패킷을 보낸다. 3) 클라이언트는 ACK(a+1)와 SYN(b)을 받고 ACK(b+1)를 서버로 보내면 연결이 성립된다. 연결 해제 (4-way-handshake) 1) 클라이언트가 연결을 종료하겠다는 FIN플래그를 전송한다. 2) 서버는 FIN을 받고 확인 메시지로 ACK..

RAID는 왜 사용하는 것인가? 서버 사용자가 서버 운영에 있어 가장 당혹스러울 때는 하드디스크 장애로 인한 데이터 손실일 것이다. 하드디스크는 사실상 소모품이며 I/O 작업이 많은 서버에서는 고장이 잦은 것이 당연하다고 할 수 있다. 하지만 서버에 저장되는 데이터의 경우 손실 또는 유출되는 경우 치명적인 것이 대부분일 것으로 대표적으로는 은행과 같은 금융, 군사적 목적의 데이터가 있을 것이다. 이로 인해 백업이 절대적으로 필요한 경우가 있을 것이며, 디스크 용량을 증설하려고 할 때 데이터 손실이 없어야 하는 경우가 있을 것이다. 그래서 많은 서버 관리자는 RAID 구성을 통해 하드디스크 가용성을 높이고 서버 데이터의 안정성을 확보해야 한다. RAID? RAID는 Redundant Array of Ine..
코드가 존재하리라 코드는 요구사항을 상세히 표현하는 수단이다. 기계가 실행할 정도로 상세하게 요구사항을 명시하는 작업, 이것이 프로그래밍이고, 이렇게 명시한 결과가 바로 코드이다. 언젠가는 코드가 사라져 시키는 대로 돌아가는 무언가가 나올 거라 기대하는 사람들이 있지만, 이는 절대로 불가능한 기대이다. 창의력과 직관을 보유한 인간조차도 성공적인 시스템을 구현하기 힘들다. 궁극적으로 코드는 요구사항을 표현하는 언어라는 사실을 명심하자. 요구사항에 가까운 언어를 만들 수도 있고, 정형 구조를 뽑아내는 도구를 만들 수도 있다. 하지만 어느 순간에는 정밀한 표현이 필요하다. 그 필요성을 없앨 방법은 없다. 그러므로 코드도 항상 존재하리라. 나쁜 코드 프로그래머들은 좋은 코드가 중요하다는 사실을 안다. 왜냐면 오..

도입 배경 기업의 가치창출 활동에서 다양한 환경 변화에 민첩하게 대응할 수 있도록 하는 능력이 중요시 되고 있다. 기업의 비즈니스 복잡도는 더욱 증대되고 있다. 때문에 업무와 IT 기능의 분리는 더 이상 무의미하게 되었다. 또한 기업이 시스템을 변화시키고자 할 때, 시스템이 너무 복잡하여 어디를 어떻게 변경해야 할 지 모르는 상황에 이르렀다. 따라서 건축물의 설계도처럼 기업의 전체 시스템을 쉽게 파악할 수 있는 뭔가가 필요하게 되었다. 전사아키텍처는 기업의 이런 복잡한 시스템을 파악하기 쉽게 정리하는 것으로, 복잡한 기업 시스템을 필요한 형태로 변화시키는 것을 쉽게 하기 위해 도입하였다. 정의 전사아키텍처는 기업의 목표와 요구를 지원하기 위해 IT 인프라의 각 부분들이 어떻게 구성되고 작동되어야 하는가를..

개요 전사아키텍처 정보는 기업을 잘 이해하기 위해 필요한 업무와 정보기술에 대한 정보이다. 즉 활용할만한 가치가 있고 관리가 용이한 정보라고 정의할 수 있다. 전사아키텍처 정보는 업무와 정보기술의 구성요소 그리고 구성요소 간의 관계를 포함한다. 전사아키텍처 정보는 가능한 변화하지 않은 구성요소를 도출하여 정의하는 것이 이상적이다. 전사아키텍처 정보는 관리비용 대비 효과를 고려해야 한다. 얻을 수 있는 이익보다 관리하는 데 비용이 더 많이 소요된다면 전사아키텍처 정보로 관리하는 의미가 없기 때문이다. 기업의 상황을 판단하여 관리 가능한 정보를 식별한 후 그 정보를 전사아키텍처 정보로 구축하여야 한다. 전사아키텍처 정보를 표현하기 위해서는 우선 전사아키텍처 산출물과 이를 구성하는 요소를 분류하는 것이 필요하..

개요 전사아키텍처 방향 수립은 아키텍처를 구축하는데에 있어 어떠한 목적을 가지고 기업에게 어떠한 목표를 지향할 것인지, 그리고 이를 달성하기 위해 프레임워크는 어떠해야 하는지를 정의하는 것이다. 이러한 방향성 수립을 통하여, 다수의 이해관계자에게 공동의 목표와 목적을 제공함으로써 추진 과정에서 발생할 수 있는 의견충돌을 사전에 방지할 수 있다. 때문에 이견 발생시 정의된 목표와 지향점을 상기하며 타협의 여지를 쉽게 찾을 수 있다. 전사아키텍처 방향 수립은 아키텍처가 경영 환경과 전략에 능동적으로 대응하며 발전하기 위해 전사아키텍처 변화에 대한 분석 작업을 수행하는 과정이다. 비즈니스 환경 변화 요인을 도출하여 아키텍처 변화 요인으로 반영하는 것이다. 전사 아키텍처 방향 수립은 크게 전사아키텍처 환경 분석..
ES6가 나오면서 var 이외에도 let과 const 변수 키워드가 추가 되었다. 이 세가지의 특징은 무엇이며, 서로 어떠한 차이점이 있는지 알아보도록 하자. var var는 ES6 이전에 변수를 선언할 수 있는 유일한 키워드였다. var 키워드는 다음과 같은 특징이 있다. 함수레벨에서의 스코프로 구분 변수 선언시 var 키워드 생략 가능 중복 선언 허용 변수 호이스팅 (호이스팅은 뒤에서 설명..) 이러한 특징은 대부분 의도되지 않은 변수 사용을 초래할 뿐만 아니라 코드 복잡도를 높이는 원인이 된다. 이러한 단점을 보완하기 위해 ES6에서는 let과 const 키워드가 도입되었다. let 지금부터 let의 특징을 알아보도록 하겠다. 스코프(Scope) 대부분의 언어는 블록 레벨 스코프를 지원하지만 Jav..

정리한 내용은 'HTTP 완벽 가이드' 를 참고하였습니다. HTTP 완벽 가이드 웹 세상을 떠받치고 있는 HTTP에 대한 모든 것모든 성공적인 웹 트랜잭션 뒤에는, 웹 클라이언트와 서버가 문서와 정보를 교환하는 언어인 HTTP가 있다. HTTP는, 회사 인트라넷에 m.yes24.com 1. HTTP(HyperText Transfer Protocol) => 현대 인터넷 공용어라고 불릴 정도로 인터넷 통신에서 빼먹을 수 없는 하이퍼텍스트 통신 프로토콜 1.1 HTTP : 인터넷 멀티미디어 배달부 HTTP는 웹 서버로부터 대량의 정보를 빠르고, 간편하고, 정확하게 웹 브라우저로 옮겨줌 신뢰성 있는 데이터 전송 프로토콜로 도중에 손상될 염려가 없다. => 이를통해 개발자는 개발에 더 집중할 수 있음 1.2 웹 ..