Skip to content

Commit

Permalink
1) inline-level, block-level box
Browse files Browse the repository at this point in the history
  • Loading branch information
unknown committed Jun 9, 2017
1 parent 254839c commit 504be51
Show file tree
Hide file tree
Showing 285 changed files with 3,616 additions and 2,308 deletions.
2 changes: 1 addition & 1 deletion .buildinfo
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 5d8786464477c1f6f77ef2317adb916f
config: 119e6fd0060ac87e71dec43a303b7bb6
tags: 645f666f9bcd5a90fca523b33c5a78b7
438 changes: 438 additions & 0 deletions _sources/css/css_basic.txt

Large diffs are not rendered by default.

19 changes: 19 additions & 0 deletions _sources/css/css_index.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
.. _css_index:

.. meta::
:site_name: Chang docs
:title: CSS index page
:description: This is a CSS index page.
:keywords: CSS, HTML

CSS
==================================================

Contents:

.. toctree::
:maxdepth: 2
:numbered:

css_basic.rst
css_terms.rst
24 changes: 24 additions & 0 deletions _sources/css/css_terms.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
.. _css_terms:

=============
용어
=============

.. _css:

CSS
===

CSS란 화면이나 종이위에 있는 구조화된 문서(HTML, XML)를 어떻게 화면에 보여줄지 기술하는 언어이다.

렌더링
======

2D, 3D 모델(scene file)로 부터 디지털 이미지(래스터, 벡터)를 만들어내는 과정을 뜻한다.

참조
====

- CSS: https://www.w3schools.com/css/css_intro.asp
- CSS: https://www.w3.org/TR/css3-roadmap/
- 렌더링: https://ko.wikipedia.org/wiki/%EB%A0%8C%EB%8D%94%EB%A7%81
8 changes: 4 additions & 4 deletions _sources/database/sql_server_terms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@
================


Database Master Key(마스터 키)
Database Master Key(DMK)
==============================

마스터 키는 SQL Server의 데이터베이스(Database)에서 인증서의 비밀키나 비대칭 키를 보호하기 위한 대칭키를 뜻한다.
마스터 키는 SQL Server의 데이터베이스(Database)에서 인증서의 비밀키나 비대칭 키를 보호하기 위한 대칭키를 뜻한다. 보통 SMK로 암호화된 복사본이 키가 사용되는 데이터베이스에 저장된다. 마스터 키가 SMK로 암호화 되지 않는다면 명시적으로 *OPEN MASTER KEY* 를 사용해 마스터키를 사용해야한다.

Service Master Key(서비스 마스터 키)
Service Master Key(SMK)
====================================

Linked Server password, Credential, DMB(Database Master Key)를 암호화 하기 위한 키이다. 이 키는 SQL Server 인스턴스에 의해 생성된다.
서비스 마스터 키는 Linked Server password, Credential, DMB(Database Master Key)를 암호화 하기 위한 키이다. 이 키는 SQL Server 인스턴스에 의해 생성된다.

참조
====
Expand Down
1 change: 1 addition & 0 deletions _sources/index.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ Contents:
design/design_index.rst
scala/scala_index.rst
pr_language/language_index.rst
css/css_index.rst
server/server_index.rst
network/network_index.rst
javascript/javascript_index.rst
Expand Down
76 changes: 61 additions & 15 deletions _sources/network/network_http.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ HTTP

WWW에서 전자문서 주고 받기 위해 고안된 프로토콜이다.

--------------------------
지속 연결 vs 비지속 연결
--------------------------
==========================
지속 연결 vs 비지속 연결
==========================

**비지속 연결은 매번 자원을 요청할때 새로운 TCP Connection을 생성하는 것을 뜻한다. 예를들어 페이지가 기본 HTML파일과 10개의 JPEG 이미지로 구성된다고 가정하자.**

Expand Down Expand Up @@ -52,28 +52,74 @@ RTT란 HTTP요청을 하고 응답을 수신할때 까지 걸리는 시간이다

2번째 요청에서 서버는 **Connection: close** 를 발생시켰다. 그래서 3번째 요청에 다시 3-핸드셰이킹을 한 것을 볼 수 있다.

----------------
컨텐츠 압축
----------------
=============
컨텐츠 압축
=============

압축은 HTTP 요청의 **Accept-Encoding: gzip, deflate, sdch** 과 **HTTP 응답의 Content-Encoding: deflate** 이 관련이 있다.

먼저 클라이언트가 처리할 수 있는 압축 알고리즘을 Accept-Encoding에 명시한다. 서버는 컨텐츠를 압축한 뒤 Content-Encoding에 명시해서 함께 보낸다. 따라서 컨텐츠 압축을 해제해야만 원래 콘텐츠를 확인할 수 있다.

----------------------
Stateless
----------------------
=============
컨텐츠 타입
=============

-------------------
multipart/form-data
-------------------

multipart/form-data는 경계(boundary)로 구분된 연속된 데이터를 나타내는 형식을 뜻한다.

경계(boundary)는 HTTP 헤더 뒤에 **"--"와 "경계값"으로** 이루어진 시퀀스이며 구분자이다.

경계는 *Content-Type 헤더* 의 *boundary* 매개변수에 포함된다.::

Content-Type: multipart/form-data; boundary=-------------------12345678912345\r\n

경계(boundary)는 바디의 시작(~~\r\n), 파트 사이(\r\n~~\r\n), 마지막(\r\n~~\r\n에 위치한다. 또한 경계값은 각 파트의 데이터에 포함되지 않는 값으로 구성되어야 한다.

파트(Part)
==========

각 파트는 *Content-Disposition 헤더* 를 포함해야 하며 반드시 name 매개변수를 포함해야한다.::

Content-Disposition: form-data; name="age"

전송하려는 데이터가 파일이라면 파일의 이름도 포함해야 하며 filename 매개변수를 포함해야한다. 일반적으로 filename 매개변수의 값은 UTF-8로 인코딩되어 전달된다::

Content-Disposition: form-data; name="age"; filename="hello.jpeg"

**수신 서버나 에이전트는 filename의 유효성이나 중복을 확인하지 않고 맹목적으로 사용해서는 안된다.**

또한 각 파트는 *Content-Type 헤더* 를 포함할 수 있다.(text/plain, application/octet-stream, 등등)::

Content-Type: application/pdf

===========
Stateless
===========

**HTTP 프로토콜은 상태를 유지하지 않는다.** 반면 SSH 프로토콜은 서버에서 클라이언트 상태를 유지한 상태로 데이터를 주고받는다. 이를 위해 서버에서는 세션값을 이용해 클라이언트 상태를 유지한다. **세션은 세션메모리에 저장되며 이를 찾는 검색값을 세션 아이디라고 한다.**

----------------------
쿠키
----------------------
======
쿠키
======

이때 쿠키를 사용한다. 쿠키는 영속성 쿠키, 세션 쿠키로 나눠진다. 영속성 쿠키는 디스크에 저장되며 세션 쿠키는 메모리에 저장된다. 브라우저 쿠키는 document 객체의 cookie에 저장된다.

----
참조
----
========
인코딩
========

-------------------------------
퍼센트 인코딩(Percent-Encoding)
-------------------------------

아스키가 아닌 문자와 스페이스, 제어문자등을 인코딩하는 방법을 나타낸 표준이다. 각각의 바이트는 **%ff** 처럼 %와 16진수 시퀀스로 인코딩된다. 예를들어 **"안녕" 이라는 문자열은 %EC%95%88%EB%85%95** 와 같이 인코딩된다. RFC3986에 정의되어 있다.

======
참조
======

- HTTP 스펙: https://tools.ietf.org/html/rfc2616
- Multipart/form-data: https://tools.ietf.org/html/rfc7578
17 changes: 9 additions & 8 deletions _sources/network/network_terms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,20 +19,21 @@
블로킹 기법
===========

**블로킹 기법이란** 어떤 작업을 요청(시스템 콜)한 후 결과가 나올때까지 스레드 문맥이 I/O큐에서 기다리는 것을 뜻한다.
*블로킹 기법이란* 어떤 API를 요청(시스템 콜)한 후 결과가 나올때까지 스레드 문맥이 I/O큐에서 기다리는 것을 뜻한다.

.. _network_terms_논블로킹_기법:

논블로킹 기법
=============

**논블로킹 기법이란** 작업을 요청한 바로 결과가 나오길 기대하지 않으며 다른작업을 하다가 알림을 받는 구조이다.
*논블로킹 기법이란* 뮤택스로 보호되는 자원을 획득하기 위해 무기한 기다리지 않고 다음 명령을 실행하는 방식을 뜻한다. 어떤 API를 요청한 뒤 이용 가능하다면 바로 처리 후 결과를 반환하고 이용할 수 없다면 현재 API 호출 상태를 반환한다.

SMB
=========
비동기 기법
===========

클라이언트의 요청에 대한 처리가 요청 한 뒤에 발생하는 것을 의미한다.

**SMB(Server Message Block)** 는 네트워크 파일 공유 프로토콜이다. CIFS는 SMB의 표현식(dialects) 중 하나이다.
참조
====

NFS
==========
**NFS(Network File System)** 은 컴퓨터 사용자가 네트워크상의 파일에 접근할 때 직접 연결된 스토리지에 접근하는 것 처럼 접근하도록 지원해주는 프로토콜이다.
- 논블로킹: http://www.reactivemanifesto.org/glossary#Message-Driven
19 changes: 6 additions & 13 deletions _sources/pr_language/language_terms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,6 @@

문맥 자유 문법은 모든 가능한 문자열을 표시하기 위한 :ref:`production_rules` 의 집합이다. 또한 형식적 문법(Formal Grammar)의 한 종류이다.

`문맥 자유 문법은 4개의 튜플로 정의된다. <https://en.wikipedia.org/wiki/Context-free_grammar#Formal_definitions>`_

- **비단말 문자의 유한 집합.** 비단말 문자 또는 변수(nonterminal charactor or varibale), variable은 구문 분류(syntatic category)
- **단말 문자의 유한 집합.** 실제 문장을 구성하는 단말 문자(terminal charactor)
- **관계.** 비단말 -> (단말+비단말)*
- **시작 심볼.** 전체 문장 또는 프로그램

.. _production_rules:

생성 규칙(Production rules)
Expand Down Expand Up @@ -53,11 +46,6 @@ EBNF는 BNF을 확장한 국제표준 메타언어이다. `이곳 <http://standa

메타언어란 다른 언어(Language)의 문법(Syntax)을 정의하기 위한 **표기법** 이다. 이때 몇가지의 규칙을 사용하여 문법을 정의하게된다. 시스템에서 사용하는 명령어나 데이터의 포맷 부터 프로그래밍 언어의 문법까지 정의할 수 있다. 대표적인 메타언어로 :ref:`language_terms_ebnf` 가 있다.

메타문법(Metasyntax)
====================

`메타문법 <https://en.wikipedia.org/wiki/Metasyntax>`_ 은 메타언어에서 사용 가능한 문장의 조합이나 구조를 나타내는 문법이다.

형식적 문법 정의(Formal syntax definition)
============================

Expand Down Expand Up @@ -96,7 +84,12 @@ EBNF는 BNF을 확장한 국제표준 메타언어이다. `이곳 <http://standa
비 단말 심볼(Non-terminal symbol)
==========================

언어의 문법적 부분을 뜻한다. 더이상 쪼갤 수 없다.
언어의 문법적 부분을 뜻한다.

문법 규칙(Syntax-rule)
======================

*메타 식별자, 정의 심볼(defining-symbol), 정의 리스트(definitions-list)로* 구성된다. 1개 이상의 문법 규칙으로 언어의 문법을 정의한다. **정의 리스트(definitions-list)는 |(definition-seperator-symbol)로** 구분된 단일 정의(Single-definition)으로 구분된다.

모나드(Monad)
===================
Expand Down
Loading

0 comments on commit 504be51

Please sign in to comment.