일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 다이나믹프로그래밍
- 프로그래머스
- 타입 객체
- 그리디알고리즘
- 자료구조
- 그리디 알고리즘
- 컨디션 변수
- 디자인패턴
- directx
- Direct12
- OS
- 다이나믹 프로그래밍
- 동적계획법
- DirectX 12
- 락
- 병행성
- 영속성
- 병행성 관련 오류
- 쓰레드
- 멀티프로세서
- codility
- 알고리즘
- 렌더링 파이프라인
- 백준
- I/O장치
- 스케줄링
- 멀티쓰레드
- DirectX12
- 파일시스템 구현
- 운영체제
- Today
- Total
목록전체 글 (500)
기록공간
소프트웨어에서 이름은 어디에나 쓰인다. 변수에도 이름을 붙이고, 함수에도 이름을 붙이고, 인수와 클래스와 패키지에도 이름을 붙인다. 소스 파일에도 이름을 붙이고, 소스 파일이 담긴 디렉터리에도 이름을 붙인다. 이렇듯 많이 사용하기 때문에 이름을 잘 지으면 여러모로 편하다. 의도를 분명하게 밝혀라 의도가 분명한 이름을 지으라고 말하기는 쉽다. 여기서는 의도가 분명한 이름이 정말로 중요하다는 사실을 거듭 강조한다. 좋은 이름을 지으려면 시간이 걸리지만 좋은 이름으로 절약하는 시간이 훨씬 더 많다. 변수나 함수 그리고 클래스 이름은 다음과 같은 굵직한 질문에 모두 답해야 한다. 변수(함수, 클래스)의 존재 이유는? 수행 기능은? 사용 방법은? 이에 대한 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 ..

HTTPS 개요 HTTPS는 HTTP over Secure Socket Layer 의 약자로 SSL(Secure Socket Layer)을 이용한 HTTP 통신 방식이다. HTTP에 대해서 자세한 내용이 궁금하다면 하단 게시물을 참고하자. HTTP는 무엇인가? HTTP는 HyperText Transfer Protocol의 약자로 WWW(월드 와이드 웹) 상에서 정보를 주고받을 수 있는 프로토콜이다. 즉 HyperText로 이루어져 있는 HTML(HyperText Markup Language) 문서를 서로 주고받을 수 있.. lipcoder.tistory.com HTTP의 치명적인 단점, 보안 HTTP는 웹을 지탱하는 심플한 기술이지만 치명적인 단점이 있다. 브라우저와 웹서버가 통신함에 있어서 주고 받는 ..
PART1 (1~20) #2 * 라이브러리 : 공통으로 사용하는 기능을 별도의 모듈로 만들어 사용하므로 중복을 최소화한다. (디스크 공간의 효율성) * 가상 메모리 : 물리적 메모리의 용량 한계를 극복하기 위해 가상의 메모리를 할당한 후, 이를 실제 물리 메모리의 주소와 매핑하여 사용하는 방식이다. 프로그램은 가상 메모리 기법을 이용하여 고유의 메모리 공간에서 독립적으로 실행될 수 있다. (독립적인 실행 및 메인 메모리 공간의 효율성) #3 Vector Linux는 슬렉웨어 계열에 속하는 리눅스 운영체제이다. Scientific, Oracle Linux는 레드햇 계열에 속하는 리눅스 운영체제이다. #6 * $# : 스크립트에 전달되는 인자들의 개수를 담고 있다. * $0 : 실행한 스크립트의 전체 경로명..
PART 1 (1~20) #1 * 페이징 : 고정 크기의 블록인 페이지(Page)로 분할하여 가상메모리를 관리하는 기법 * 스왑 : 메모리 공간이 가득 차서 프로그램을 실행시킬 수 없게 된 경우, 실행할 수 있도록 예비 공간 역할을 하는 영역. 예비 공간은 하드 디스크에서 차지 * 루틴 : 일반적으로 특정 기능을 수행하는 소스코드 모듈을 의미 * 링크 : 개발자가 작성한 모듈과 시스템 라이브러리 등을 함께 결합하여 최종 실행 프로그램을 생성하는 과정 #2 * 미고(MeeGo) : 노키아, 인텔, 리눅스 재단이 공동으로 개발한 리눅스 기반의 운영체제로 물리 버튼 없이 터치만으로 모든 기능을 수행할 수 있음 * 바다 OS : 삼성전자의 주도로 개발한 Nucleus RTOS 혹은 리눅스 커널 기반의 모바일 운..

WebRTC 이름 그리고 비전 webRTC는 풀어 쓰면 plugin-free, web-Real Time Communication이다. 별도의 플러그인 설치없이 실시간 소통(비디오, 오디오 등)이 가능하도록 만들어주는 기술이다. 예전에는 상대방과 영상통화를 하고 싶은 경우 디스코드, 스카이프 등을 설치하는 과정이 필요했다. 하지만 이 기술을 사용하면 웹 브라우저만 있으면 바로 영상통화를 해볼 수 있다. 테스트를 해보고 싶다면 여기서 해 볼 수 있다. AppRTC Please enter a room name. appr.tc 구글이 GIPS 회사를 인수한 후, 해당 회사의 음성 / 영상 코덱 및 에코캔슬링 기술을 갖게 되었는데, 2011년도에 이 기술을 webRTC라는 이름으로 공개한 것이 webRTC의 탄생..

네트워크 기술 이해하기 일반적으로 말하는 LAN은 크게 LAN 케이블을 이용하여 데이터를 전송하는 '유선 LAN'과 전파를 이용하여 데이터를 전송하는 '무선 LAN'으로 나눌 수 있다. 이 중 서버를 연결할 때는 유선 LAN을 사용하는 것이 기본이다. 왜냐하면 아무리 고속의 무선 LAN이라 할지라도 속도나 품질 면에서 유선 LAN을 따라오려면 아직 멀었기 때문이다. 무선 LAN은 아직까지는 클라이언트측만을 위한 것이다. OSI 참조 모델과 프로토콜 네트워크를 학습할 때 가장 먼저 이해해야 하는 개념이 'OSI 참조 모델'이다. OSI(Open System Interconnection) 참조 모델은 국제표준화기구(ISO)가 컴퓨터의 통신 기능을 계층 구조로 나눠서 정리한 모델로, 쉽게 말하면 '통신할 때의..

서버 '서버'란 도대체 어떤 것일까? 추상적으로 무엇인지는 알고 있겠지만, 우선은 사전적인 정의를 알아보는 것이 필요하겠다. 서버 [Server] 1. 테니스, 탁구, 배구 등 서브를 하는 쪽, 또는 그 사람 2. 음식물을 제공하기 위해 사용하는 도구 3. 네트워크에서 다른 컴퓨터나 소프트웨어와 같은 클라이언트에게 서비스를 제공하는 컴퓨터 컴퓨터에게 서버는 클라이언트에게 서비스를 제공한다. 서버는 '제공한다'는 뜻을 가진 'serve'에 사람이라는 뜻을 나타내는 'er'을 붙인 단어이다. 위의 사전의 뜻을 보면 공통적으로 뭔가를 제공한다는 것을 알 수 있다. 컴퓨터에서는 서버는 클라이언트에게 여러 가지 서비스를 제공하는 것을 뜻한다. 감이 잘 안온다면, 간단한 예를 들어보자. 평소에 우리는 웹 브라우저를..

회사에서 혜택도 있고, 자기계발에 도움이 된다고 생각해서 자격증을 따기로 마음먹었다. 평소에 데이터베이스 쪽이 부족했기에 데이터 관련 자격증을 정복(?)을 목표를 잡고 공부를 시작했다. 우선 제일 쉽다고 알려진 SQLD부터 따기로 마음을 먹었고, SQL 시험 바이블 책이라고 알려진 노랭이 책을 구매했다. 노랭이책은 개념서라기 보다는 출제될 만한 문제를 모아놓은 문제 은행 느낌의 책이다. 학교에서 쿼리를 어느정도 배우고 써봤기 때문에 그래도 공부하는데에 어려움은 없을거라 자부했지만, 매우 큰 착각이였다. 생각보다 노랭이 책 문제는 어려웠다. 한 문제를 푸는데에 5분이상 잡아먹는 경우도 있었다. 이대로는 안되겠다고 생각해서, 인터넷에 돌아다니는 SQL 가이드 개념서를 먼저 보기로 결심했다. 생각보다 양이 많..