Summary Cloud

Cloud/Common 2013. 3. 27. 11:21


Summary Cloud

제 스스로가 클라우드에 대해서 전반적인 개념을 오해하는 부분이 많고, 좀더 깊이 들어가기 위해서 기본적인 개념을 정리하고 그 개념 위에 관련된 오픈 소스를 찾고 매핑한 다음, 오픈 소스들을 깊이 파고 들어볼려고 그 첫번째인 개념 정리를 해 봅니다.
기본적인 용어를 모른다면 클라우드를 안다고 할 수 없죠. ^^ 추후에 추가할 내용이 있으면 추가토록 하겠구요. 혹시 잘못된 내용이나 추가할 것이 있으면 댓글을 통해 주세요. 그럼 제가 반영토록 하겠습니다. 

1.  클라우드 컴퓨팅(Cloud Computing)
 - 데이터와 프로그램들이 개인의 PC에 저장되기 보다는 인터넷 기반의 컴퓨터들의 구름(클라우드)에 저장되고, 사용자는 컴퓨팅(Computing)을 위해 언제 어디서나 PC, 휴대폰 등의 단말기를 통해 클라우드에 원격 접속하여, 원하는 Service를 받을 수 있는 새로운 컴퓨팅 환경
 - 여러 개의 데이터센터를 가상화 기술로 통합해, 사용자에게 다양한 소프트웨어, 보안, 컴퓨팅 인프라까지 On-demand로 제공하는 방식이며, 서비스와 애플리케이션을 개발, 운영하기 위한 IT 인프라를 서비스 형태로 제공하고, IT도 전기나 수도처럼 필요한 만큼 사용하고 쓴 만큼 돈을 지불하는 것.

2. 그리드 컴퓨팅(Grid Computing)
 - 각 기관마다 사용하는 수퍼컴퓨터나 클러스터 컴퓨터를 묶어 공유해서 사용하려는 목적으로 보통 과학계산용으로 한정하여 사용.


3. 유틸리티 컴퓨팅(Utility Computing)
 - 컴퓨팅 자원도 전기처럼 하나의 Utility로 보고 코드만 꽂으면 사용 가능하고, 쓴 만큼 돈을 지불하는 개념, 기업들의 정보 처리 및 각종 컴퓨팅 서비스를 직접 전산실에서 처리하지 않고, 이를 맡기고 사용한 만큼 값을 지불. 

4. 서비스 전달 방식(Service Delivery Model)에 따른 클라우드 분류
 4.1 SaaS(Software-as-a-Service)
  - 개요 : 애플리케이션 또는 소프트웨어를 서비스 형태로 제공하는 클라우드 컴퓨팅 서비스.
  - 예: Sales-force.com, Google Apps.

 4.2 PaaS(Platform-as-a-Service)
  - 개요 : 사용자가 쉽게 서비스를 만들 수 있도록 필요한 기본 기능을 제공하는 플랫폼을 서비스 형태로 제공하는 클라우드 컴퓨팅 서비스.
  - 예: Google AppEngine, MS Azure. 

 4.3 IaaS(Infrastructure-as-a-Service)
  - 개요 : 서버, 스토리지 등의 자원을 사용자에게 서비스 형태로 제공하는 클라우드 컴퓨팅 서비스.
  - 예: 아마존 EC2, S3, GoGrid, Joyent.

5. 서비스 배치 방식(Service Deployment Model)에 따른 클라우드 분류
 5.1 프라이빗 클라우드(Private cloud)
  - 기관이나 기업 내부의 제한된 사용자만을 위하여 배치되는 클라우드 서비스를 구분지어 일컫는다. 기업이나 공공 기간의 내부 사용을 목적으로 구축되는 데이터센터들이 이에 해당한다.
  - 고객의 IT 환경에 따른 Customized된 Architecture 설계/구축 및 관리.

 5.2 퍼블릭 클라우드(Public cloud)
 - 어떤 목적에서든 모두가 쓸 수 있게 바깥으로 드러내 배치되는 클라우드 서비스를 구분지어 일컫는다. 마이크로소프트, 구글, 아마존과 같이 특정 사업자가 수익을 목적으로 개방하는 대부분의 클라우드 서비스들이 이에 해당한다. 이와 달리 위키피디어(Wikipedia), 코드플렉스(CodePlex), 소스포지(SourceForge)와 같이 공익을 위한 무료 서비스도 포함된다.
  - 서비스 필요한 때, 필요한 만큼 신청하여 사용학고, Virtualization/Dedication 등 다양한 조합으로 제공되고 있다.

 5.3 하이브리드 클라우드(Hybrid cloud)
  - 복수 개 이상의 배포방식을 제공하여 각각의 특성을 유지한 형태로 제공한다.
  - Public 과 Private 환경이 혼재되어 있다.

6. 가상화(Virtualization) 종류
 6.1 개요
  - 컴퓨터의 CPU, 메모리, 디스크 등의 물리적 구성은 은폐한 다음, 가상적인 하드웨어 환경(가상 머신: Virtual Machine)을 여러 개 만들어 낸 후, 개별 가상 머신이 CPU, 메모리, 디스크 등을 갖추고 있는 것처럼 보이게 할 수 있는 소프트웨어 기술.

 6.2 인프라 가상화(Infra Virtualization)
  - 서버 가상화
    . 파티셔닝 : 시스템 보드 단위의 물리적 Partitioning 그리고 개별 CPU 단위의 논리적 Partitioning으로 구분할 수 있다.
    . 하이퍼바이저 : Hypervisor는 물리적 서버 위에 존재하는 가상화 레이어로서, 운영 체제 구동을 위한 하드웨어 환경을 가상으로 제공 함 (소프트웨어 기반 Partitioning)
    .  I/O가상화 : Virtual Ethernet, 공유 Ethernet Adaptor, Virtual Disk Adaptor 등으로 구분된다.
  - 스토리지 가상화
    . 컨트롤 :  스토리지 서브 시스템 또는 콘트롤러를 파티션으로 나누어 여러개의 논리적인 스토리지 컨트롤러를 구현/제공하는 기술(서버 파티셔닝과 유사).
    . 블록 : 다수의 이기종 스토리지에 위치한 유휴 디스크 공간을 모아서 가상 볼륨을 할당. SAN Fabric 상에 위치한 가상화엔진에 의해 각 서버에 가상화 볼륨 할당한다.
    . 테이프 : Tape Media/Drive/Library를 디스크에 에뮬레이션하여 논리적인 테잎 디바이스 제공(VTL:Virtual Tape Library), 백업 성능 향상을 위해 활용된다.
    . 파일 시스템 가상화 : SAN, NAS상에서 공통으로 사용 가능한 Virtual File System을 구성하여 제공. 호스트와 서버의 운영체계와 상관없이 데이터 공유와 정책 기반의 단일화된 관리. NFS와 CIFS 기술 활용.
    . 파일/레코드 가상화 : 스토리지 내 저장 파일/레코드에 대한 시그너처를 생성하여 파일 또는 파일 시스템 블럭 단위의 단일 이미지만을 저장(Data De-Duplication) 다수의 백업본이 존재하거나 다수의 사용자가 동일한 파일 또는 파일 시스템으을 중복 저장하는 환경에 적용시 저장 공간 절약 및 백업/업무 효율성 향상을 가져옴.
  - 네트워크 가상화
    . Channel Bonding : 제공 물리 대역폭의 논리적 합산.
    . Load Balancing : Work Load의 분산.
    . 가상 IP, 802.1Q(VLAN).

 6.3 정보 가상화(Information Virtualization)
  - 파일 가상화 : 클러스터, 그리드 파일 시스템
  - 데이터 가상화
    . 데이터  Federation : 다양하게 분산되어 있는 데이터들의 위치, 형태 또는 접근 언어에 투명하게(무관하게), 표준 인터페이스 기반의 단일 접근 경로 및 단일 논리 데이터 Set을 제공하는 미들웨어 기술.
    . 데이터 Consolidation : 데이터 베이스 클러스터링.
    . 데이터 그리드

 6.4 워크로드 가상화(WorkLoad Virtualization)
  - 개요 : 이기종간 통합 및 연동이 어려운 물리적 하드웨어 관점의 가상화 기술에 대비 애플리케이션 관점에서 가상화 효과를 획득하고자 함.
  - 트랜젝션 가상화 : JVM 로드 밸런싱 등이 해당하고 가상머신 기반 미들웨어를 활용한 워크로드 발란싱, 신규 인스턴스 생성 통제 기술.
  - 데스크탑 가상화 : 그리드로 그리드 미들웨어를 활용하여 이기종 서버 환경 제약을 극복하고 JOB 스케줄러를 이용하여 워크로드를 분산처리 및 로드 밸런싱하는 기술.
  - 프리젠테이션 가상화 : SBC(Server Based  Computing), 워크로드와 데이터/소프트웨어 등 모든 업무 자원은 중앙 집중형으로 구성하는 기술.

7. 하이퍼바이저(Hypervisor)
 7.1 개요
  - 소프트웨어 기반 파티셔닝
  - 호스트 컴퓨터에서 다수의 운영 체제(operating system)를 동시에 실행하기 위한 가상 플랫폼(platform)을 말한다. 가상 머신 모니터(virtual machine monitor, 줄여서 VMM)라고도 부른다.

 7.2 Bare-Metal Hypervisor
  - Hypervisor 소프트웨어는 서버 OS구동전 하드웨어 레이어 바로 상위에서 동작.

 7.3 Hosted Hypervisor
  - Hypervisor 소프트웨어는 자원 할당 및 사용을 위하여 Host OS의 서비스를 활용함.

8. 클러스터 관리
 8.1 노드 관리
  - 클러스터 Fail-Over 및 재구성, 클러스터 노드의 동적인 참여 및 배제, 물리적 하드웨어 및 논리 서버에 대한 관리를 동시에 지원, 부하 분산, 논리 노드 및 프로세스 이동을 판단 기초 자료 제공.

 8.2 자동 업데이트 및 자동 설치
  - 전 클러스터 범위에 걸쳐 특정 기능 및 보안 관련 프로그램의 업데이트/설치/삭제 자동화로 해당 관리.

 8.3 프로비저닝 및 작업 관리
  - 사용자 권한 (Login Identity Identification, Authentication Authorization, 서비스 요청 항목)을 클러스터 내 자원 할당과 연계, 클러스터 내 유휴 자원을 실시간으로 할당하여 서비스 생성/실행, 서비스 생성/실행/종료/사용자통보/자원해제 지원.

 8.4 로드밸런싱 및 자동 확장성
  - 각 사용자의 요청이나 자원 활용 상황에 따라 필요 자원을 적절히 할당, Work Load의 급증에 대비한 동적 자원 재 할당 지원.

9. 분산 데이터 관리
 - 분산 데이터 관리 시스템 (DDMS : Distributed Data Management System)은 대규모의 구조화된 데이터를 여러부분으로 나눈 후, 분산 저장/관리하는 클라우드 컴퓨팅 구현의 필수 구성요소임.
 - 고정된 테이블 스키마 없고, 테이블 간의 JOIN 연산을 하지 않고, 수평적인 확장성이 있고, 대용량(heavy) 읽기/쓰기 성능이 좋은 특징이 있다.

10. 분산 병렬 처리
 - 네트워크를 경유하여 연결된 다수의 시스템들 간에 연산 작업을 병렬로(동시에) 수행하는 기술.

11. 분산 파일 시스템
 - 막대한 양의 데이터를 저장하고 관리하기 위해 수 많은 서버들에 데이터를 나누어 저장하고 관리하는 파일 시스템임.

12. 멀티 테넌시(multi-tenancy)
 - 하나의 소프트웨어를 여러 사용자가 함께 사용하는 것을 말한다. 클라우드 컴퓨팅을 통해 개별 애플리케이션, 그룹 또는 고객 간에 모든 리소스(컴퓨팅, 네트워크 및 스토리지 등)를 공유하는 것이다.
 - 한 테넌트별로 가용성, 보안, 서비스 보장, 관리 등의 기능이 제공되어야 한다.

13. 프로비저닝(Provisioning)
 13.1 개요
  - IT인프라 자원을 사용자 또는 비즈니스의 요구사항에 맞게 할당, 배치, 배포해서 시스템을 사용할 수 있도록 만들어 놓는 것.

 13.2 서버 자원 프로비저닝
  - 서버의 CPU, Memory 등의 자원을 할당 또는 적절하게 배치해서 운영할 수 있도록 준비해 놓는 것.

 13.3 OS 프로비저닝
  - OS 를 서버에 설치하고, 구성 작업을 해서 OS가 기동되도록 준비해 놓는 것.

 13.4 소프트웨어 프로비저닝
  - 소프트웨어(WAS, DBMS, 어플리케이션 포함)를 시스템에 설치/배포 하고 필요한 구성 셋팅 작업해서 실행 할 수 있도록 해 놓는 것.
 13.5 스토리지 프로비저닝
  - 낭비되거나 사용되지 않는 스토리지를 식별하고 공통 풀에 가져다 놓고 스토리지에 대한 요구가 접수되면 관리자는 이 공통 풀에서 스토리지를 꺼내 사용할 수 있도록 관리하는 것.

 13.6 계정 프로비저닝
  - 사용자가 필요한 계정을 생성하거나 접근 권한(자원)을 변경해 주는 것.

14. 미터링(Metering)
 14.1 개요
  - 사용자가 제공받은 자원이나 서비스에 대해 가치를 측정하는 것. 그래서 비용 산정의 근거가 된다.

 14.2 Tenant-aware 미터링
  - 멀티 테넌트 구조에서는 하드웨어, 데이터베이스, 애플리케이션 등이 공유될 수 있으며, 이렇게 공유된 자원에 대하여 각 테넌트 별로 사용량을 분리해내는 기술.

 14.3 서비스 지향(Service-oriented) 미터링
  - 단순 하드웨어 미터링 만으로는 SaaS, PaaS에 대한 효율적인 비용 책정이 어려울 수 있으며 데이터베이스, 애플리케이션 플랫폼, 메시지 버스, 데이터 분석 엔진 등 다양한 서비스 구성 요소에 대한 미터링하는 것.

15. SBC(Server Based  Computing)
 - 서버에 어플리케이션과 데이터를 두고 필요할 때마다 접속해서 사용하는 방식. 클라이언트는 입/출력만 처리, 모든 작업은 서버가 처리, Thin Client.

16. 네트워크 컴퓨팅(Network Computing)
 - SBC와 유사하나 어플리케이션을 서버에서 로드하여 로컬에서 수행하는 형태.(클라이언트의 PC에서 작업 수행)

17. 인프라 감시(Infra observation)
 - 국제 산업 표준인 DMTF-CIM/WBEM에 기반을 두어 인프라 내의 자원 동작 상태 및 성능을 감시 분석.

18. 인프라 조율 관리(Infra coordination)
 - 가상화된 자원을 서비스 요구에 따라 동적으로 할당 혹은 회수.

19. 자동 관리 규칙(Automation logic)
 - 서비스별 자원의 할당 혹은 회수를 자동으로 하기 위한 자동 관리 규칙 정의.

20. 자동 센싱(Automated sensing)
 - 시스템에서 발생되는 모든 이벤트들을 감시하고 필터링하고 분석하여 자동화를 위한 기본 자료를 제공하는 기능.

21. 기타
 - Chunk : 하나의 파일의 구성 단위.
 - Scale-Up : 한 컴퓨터에서 서비스가 요구하는 쿼리를 처리하지 못하는 경우가 발생한다. 이러한 상황은 쿼리를 처리하기 위해 사용하는 CPU, 메모리, 디스크, 네트워크의 용량/처리량의 한계를 극복하기 위해 컴퓨터의 처리량을 높이는 방식
 - Scale-Out : 두 대 이상의 컴퓨터에 서비스가 요구되는 쿼리 처리를 위한 자원을 분산하는 방식을 통해 처리하는 방식.
 - Shard : 분할 된 데이터 단위.
 - Sharding : DBMS 기반으로 Scale-Out 하기 위해서는 데이터 모델 자체를 단순하게 구성해 데이터를 N개의 서로 독립적인 데이터로 분할하는 것.

[참조 정보]


출처 - http://www.mimul.com/pebble/default/2011/02/24/1298548158904.html




Posted by linuxism
,

MD 확장자

Development/Common 2013. 3. 27. 10:34


Markdown
Filename extensions.md.markdown[1]
Uniform Type Identifier (UTI)net.daringfireball.markdown
Developed byJohn Gruber
Initial releaseMarch 25, 2004; 11 years ago[2]
Latest release
1.0.1
(December 17, 2004; 10 years ago[3])
Type of formatMarkup language
Open format?yes[4]
Websitedaringfireball.net/projects/markdown/


Markdown is a markup language with plain text formatting syntax designed so that it can be converted to HTML and many other formats using a tool by the same name.[5][6] Markdown is often used to format readme files, for writing messages in online discussion forums, and to create rich text using a plain text editor.

History[edit]

John Gruber, with substantial contributions from Aaron Swartz,[7] created the Markdown language in 2004 with the goal of enabling people "to write using an easy-to-read, easy-to-write plain text format, and optionally convert it to structurally valid XHTML (or HTML)”.[3]

Taking cues from existing conventions for marking up plain text in email, such as setext, the language was designed to be readable as-is, without looking like it's been marked up with tags or formatting instructions,[8]unlike text formatted with a markup language, such as Rich Text Format (RTF) or HTML, which have obvious tags and formatting instructions.

Gruber wrote a Perl script, Markdown.pl, which converts marked-up text input to valid, well-formed XHTML or HTML and replaces left-pointing angle brackets ('<') and ampersands with their corresponding character entity references. It can be used as a standalone script, as a plugin for Blosxom or Movable Type, or as a text filter for BBEdit.[3]

Markdown has since been re-implemented by others as a Perl module available on CPAN (Text::Markdown), and in a variety of other programming languages. It is distributed under a BSD-style license and is included with, or available as a plugin for, several content-management systems.[4][9][10]

Sites such as GitHubredditDiasporaStack ExchangeOpenStreetMap, and SourceForge use variants of Markdown to facilitate discussion between users.[11][12][13][14]

Standardization[edit]

There is no clearly defined Markdown standard, apart from the original writeup and implementation by John Gruber, which some consider to be abandonware.[15][16] This has led to fragmentation as different vendors write their own variants of the language to correct flaws or add missing features.

From 2012 through 2014, a group of people including Jeff Atwood launched what Atwood characterized as a standardization effort.[17] A community website now aims to "document various tools and resources available to document authors and developers, as well as implementors of the various markdown implementations".[18] In September 2014, Gruber objected to the usage of "Markdown" in the name of this effort and it was rebranded as a new dialect named "CommonMark".[19][20]

A tool (named Babelmark2[21]) is also available to "[compare] the output of various implementations" to "promote discussion of how and whether certain vague aspects of the markdown spec should be clarified".[22]Gruber has argued that complete standardisation would be mistaken: "Different sites (and people) have different needs. No one syntax would make all happy."[23]

A standards effort for the Internet media type text/markdown (independent of the syntax) is underway in the IETF. The Internet-Draft, draft-ietf-appsawg-text-markdown, is planned to be submitted to the IESG in April 2015. The Markdown community is invited to submit use cases for Markdown, which will inform the media type standardization process.

Extensions[edit]

A number of lightweight markup languages extend Markdown by implementing added features (such as tables, footnotes, definition lists, and Markdown inside HTML blocks) not available with plain Markdown syntax. Among these are Markdown ExtraMultiMarkdownMaruku,[24] Kramdown and the Pandoc Markdown extension.[25] In some cases, this is in order to enable conversion into more formats than HTML, e.g. LaTeXRTFand DocBook.

Many implementations also intentionally omit support for middle word emphasis. The original Markdown implementation interprets constructs like my_long_variable as a request to emphasize "long" in the middle of a word. Many users found this confusing, so many later implementations such as PHP Markdown and Python Markdown do not implement middle word emphasis by default.[26]

The essay "Thoughts on Markdown" stated that Markdown's original developer, John Gruber, has not responded to discussions about extensions to Markdown, and that "Markdown is changing, with or without him".[27]

Example[edit]

text using Markdown syntaxthe corresponding HTML produced by a Markdown processorthe text viewed in a browser
 Heading
 =======
 
 Sub-heading
 -----------
 
 ### Another deeper heading
 
 Paragraphs are separated
 by a blank line.
 
 Leave 2 spaces at the end of a line to do a  
 line break
 
 Text attributes *italic*, **bold**,
 `monospace`, ~~strikethrough~~ .
 
 A [link](http://example.com).
 <<<   No space between ] and (  >>>

 Shopping list:
 
   * apples
   * oranges
   * pears
 
 Numbered list:
 
   1. apples
   2. oranges
   3. pears
 
 The rain---not the reign---in
 Spain.
<h1>Heading</h1>

<h2>Sub-heading</h2>

<h3>Another deeper heading</h3>

<p>Paragraphs are separated
by a blank line.</p>

<p>Leave 2 spaces at the end of a line to do a<br />
line break</p>

<p>Text attributes <em>italic</em><strong>bold</strong>,
<code>monospace</code><s>strikethrough</s>.</p>

<p><a href="http://example.com">link</a>.</p>

<p>Shopping list:</p>

<ul>
<li>apples</li>
<li>oranges</li>
<li>pears</li>
</ul>

<p>Numbered list:</p>

<ol>
<li>apples</li>
<li>oranges</li>
<li>pears</li>
</ol>

<p>The rain&mdash;not the
reign&mdash;in Spain.</p>
Heading
Sub-heading
Another deeper heading

Paragraphs are separated by a blank line.

Leave 2 spaces at the end of a line to do a
line break

Text attributes italicboldmonospacestrikethrough.

link.

Shopping list:

  • apples
  • oranges
  • pears

Numbered list:

  1. apples
  2. oranges
  3. pears

The rain—not the reign—in Spain.

Editors[edit]

While Markdown is a minimal markup language and is easily read and edited with a normal text editor, there are specially designed editors that preview the files with styles. There are a variety of such editors available for all major platforms. There are syntax highlighting plugins for Markdown built into emacsgedit, and vim.

Implementations[edit]

Implementations of Markdown are available for many different frameworks, platforms and languages.

Test suites[edit]

  • Markdown Text Editor
  • Markdown Test Suite

There are many more open-source implementations of Markdown available online.

See also[edit]



source - http://en.wikipedia.org/wiki/Markdown







마크다운과 멀티마크다운

마크다운 (Markdown)

글을 스크랩하시거나 글을 많이 작성하시는 분들께 이 문법을 사용해 보시는 것을 추천해 드립니다. 워드나 RTF 파일, 혹은 에버노트, 혹은 블로그로 글을 작성을 하시면 제목, 강조, 링크 등은 마이그레이션을 하면서 서식이 다 망가질 것입니다. 서식은 두 가지가 혼재되어 있습니다. 글의 요소 (‘이것은 인용문입니다’, ‘이것은 링크입니다’), 그리고 글의 시각적 스타일 (‘이것은 글씨 크기가 24입니다’, ‘이것은 파란색 글씨입니다’). 우리는 이 둘을 분리해야 하며, 마크다운은 그것을 표현할 수 있는 훌륭한 문법입니다.

마크다운은 글 문법이자 이 문법으로 작성된 파일을 HTML으로 변환해 주는 툴을 의미합니다. 많은 개발자들은 github에서 README 파일의 문법으로 친숙할 것입니다. 위키 문법과 BBCode와 같은 경량 마크업 언어(light weight markup language)의 일종입니다.

마크다운은 읽고 쓰기 쉬우며, XHTML 혹은 HTML로 변환할 수 있는 문법을 지향하고 있습니다. 꾸밈이 안 된 텍스트 그 자체만으로도 가독성이 높아야 한다는 철학 아래 설계되었습니다. 마크다운은 글에서 서식을 분리한다는 디자인 철학을 품고 있습니다. 저자는 문단 사이의 간격이나 제목 서체의 크기 등을 신경쓰지 않고 글쓰기에 집중할 수 있으며, 독자는 자신이 원하는 서식으로 글을 읽을 수 있습니다. 물론 저자 역시 자신이 원하는 서식을 지정하여 글을 쓰면서 이것이 어떻게 보일지 확인할 수도 있습니다.

관용적으로 파일 확장자를 md, markdown을 사용하지만, 딱히 정해진 것은 없습니다. 그러므로 그냥 일반 텍스트 txt 확장자를 사용하는 것도 가능합니다.

마크다운 파일은 일반 텍스트 편집기에서 볼 수도 있으며, 툴을 사용해 변환 후 웹브라우저에서 볼 수도 있지만, 마크다운 전용 뷰어를 사용하는 것이 가장 아름답습니다. 대표적인 뷰어로는 Marked가 있습니다.

편집은 일반 텍스트 편집기를 사용할 수도 있지만, 마크다운 언어의 문법 강조 기능(syntax highlighting)을 사용해 문서 작성을 한결 더 용이하게 할 수 있습니다. 플러긴으로 문법 강조 기능을 추가할 수 있는 텍스트 편집기를 사용하신다면 대부분 이를 지원할 수 있습니다. 또한 몇몇 텍스트 에디터에서는 LaTeX 문서를 컴파일을 해 바로 dvi, pdf 파일로 렌더링 하여 보여주는 것과 같이, 플러긴을 지원해 단축키를 통해 바로 뷰어를 띄울 수도 있고, 편집 혹은 저장을 할 때마다 즉각적으로 렌더링하여 다시 글을 보여주게 할 수도 있습니다. 저의 경우는 Mou 마크다운 전용 에디터 겸 뷰어를 사용하다 텍스터 에디터는 코딩도 용이한 에디터를 사용하려는 이유로 Sublime Text 에디터와 Marked 뷰어를 연동해서 사용하고 있습니다.

Sublime Text Markdown Highlighting

Sublime Text Markdown Highlighting

문법과 기본 변환 툴 자체의 개발은 2004년 이후 바뀐 것이 없습니다. 이 때문에 정체된 것 아니냐는 비판적인 시각도 존재합니다. 아무래도 오픈소스 진영과 맥 유저들에게 조금 더 알려져 있고 그쪽으로도 개발이 더 활발한 편입니다. 윈도우즈에서도 괜찮은 뷰어를 찾아보려 했는데 딱히 맘에 드는 것이 없더군요.

대부분의 최신 블로그 시스템들은 마크다운으로 글을 작성할 수 있는 기능을 플러긴을 통해 제공합니다. 물론 그러한 기능이 존재하지 않다 하더라도 마크다운 변환 툴을 사용해 HTML을 뽑아 붙이면 그만입니다. Mou 같은 경우는 에디터에서 단축키를 누르면 바로 텀블러 블로그로 글을 포스팅 하는 기능까지 있습니다.

참고로 HTML을 마크다운 언어로 역변환 해주는 툴, html2text 역시 존재합니다. 오픈 인터넷 진영에서 활동하다 최근 젊은 나이에 명을 달리하여 이슈가 된 아론 슈와츠가 개발한 툴입니다.

멀티마크다운 (MultiMarkdown)

멀티마크다운은 마크다운의 확장 문법이자 변환 툴입니다. 확장자는 mmd 입니다.

다음 문서 포맷 변환을 지원합니다.

  • HTML/XHTML
  • LaTeX (PDF로 이차 변환 가능)
  • OpenDocument (RTF, Microsoft Word로 이차 변환 가능)
  • OPML

다음과 같은 확장 기능을 제공합니다.

  • 미주
  • 논문식 인용, 참고문헌 (citations and bibliography)
  • 수식
  • 자동 상호 참조
  • 그림 속성
  • 문서 메타데이터 (제목, 저자, 날짜 등)

개인적으로 마크다운에서 아쉬웠다고 생각한 기능들이 많아서 좋긴 하지만, 마크다운 문법, 위키 문법, 라텍스 문법을 전부 포용하려고 하다 보니 문법 자체가 너무 어렵고 복잡해진 감이 없지 않습니다. 각종 문법과 템플릿으로 떡칠이 되어 버린 위키백과처럼 되는것 아닌가 걱정이 됩니다. 그림 크기 속성 편집이나 HTML, 자바스크립트 삽입 같은 기능을 보면 글과 서식을 분리한다는 본연의 목적에서 벗어난 것으로 보입니다.

마크다운 문법

여기서부터는 마크다운이 어떻게 HTML로 변환하는지에 대한 명세나 마크다운 툴을 어떻게 사용하는지에 대해서는 설명하지 않고, 마크다운 문법에 대해서만 집중적으로 설명하겠습니다. 대부분의 내용은 마크다운 명세서에서 가져와 취사 번역하였음을 밝힙니다.

문장, 제목, 인용 (Paragraphs, Headers, Blockquotes)

문단은 빈 줄 하나 이상으로 구분된다. 일반적인 문단의 앞에는 공백이 허용되지 않는다.

제목은 제목 아랫줄에 ‘=’ 문자나 ‘-’ 문자를 쓰는 Setext 방식과 그 단계에 따라 앞에 하나에서 여섯개의 ‘#’ 문자를 넣는 atx 방식 두 가지를 지원합니다. 심미성을 위해 뒤에 같은 개수의 ‘#’ 문자를 넣는 close atx 방식도 허용됩니다.

인용하고자 하는 부분은 앞에 이메일에서 사용하는 것과 같이 ‘>’ 문자를 넣습니다.

첫 단계 제목
=========

둘째 단계 제목
-----------

국회는 국민의 보통·평등·직접·비밀선거에 의하여 선출된 국회의원으로 구성한다. 모든 국민은 신체의 자유를 가진다. 모든 국민은 양심의 자유를 가진다.

입법권은 국회에 속한다. 국회의원이 회기 전에 체포 또는 구금된 때에는 현행범이 아닌 한 국회의 요구가 있으면 회기 중 석방된다.

### 셋째 단계 제목

> 공무원의 신분과 정치적 중립성은 법률이 정하는 바에 의하여 보장된다.
>
> 모든 국민은 사생활의 비밀과 자유를 침해받지 아니한다.
>
> 외국인은 국제법과 조약이 정하는 바에 의하여 그 지위가 보장된다.

강조 (Phrase Emphasis)

‘*’ 문자 혹은 ‘_’ 문자로 강조하고 싶은 구문을 감싼다. 두 번 감싸면 강한 강조를 뜻한다.

이 문장 중 일부는 *강조가 되어 있습니다*.
이 문장의 일부 역시 _강조가 되어 있습니다_.

강조 문자를 두 번 사용하면 **더욱 강하게 강조**가 될 것입니다.
물론 별표를 사용하지 않고도 __강조를 할 수__ 있습니다.

목록 (List)

번호 없는 목록은 ‘*’, ‘+’, ‘-’ 문자 중 하나를 목록 항목 앞에 사용하여 표현한다.

*   하나
*   둘
*   셋

이런 식으로도 가능하다.

-   하나
-   둘
-   셋

번호 있는 목록은 번호를 매기고 마침표를 달아서 표현한다.

1.   빨강
2.   초록
3.   파랑

만일 목록 항목(list item)들 사이에 빈 줄이 들어가 있다면, 항목에 적혀진 글줄은 문단 처리가 된다. 복수개의 문단을 한 목록 항목에 사용하고 싶다면 두 번째 문단 이후의 문단들에 탭 혹은 공백 네 개를 넣으면 된다.

*   항목.

    복수개의 문단을 사용할 수 있습니다.

*   또 다른 항목.

심미성을 위해 다음과 같이 내려쓰기를 하는 것 역시 허용된다.

*   국회는 국민의 보통·평등·직접·비밀선거에 의하여 선출된 국회의원으로 구성한다.
    모든 국민은 신체의 자유를 가진다. 모든 국민은 양심의 자유를 가진다.
*   입법권은 국회에 속한다. 국회의원이 회기 전에 체포 또는 구금된 때에는
    현행범이 아닌 한 국회의 요구가 있으면 회기 중 석방된다.

숫자 목록 항목 표현을 하고 싶은데 부득이하게 숫자 다음에 마침표가 오는 문장이 있다면 다음과 같이 처리한다.

1986\. What a great season.

링크 (Links)

인라인 형식과 참조 형식을 지원한다. 둘 다 링크로 만들고 싶은 부분을 ‘‘, ‘‘ 꺽쇠로 감싸는 방법을 취한다.

인라인 형식은 링크 바로 다음에 ‘(‘, ‘)’ 소괄호를 사용하여 실제 주소를 명기하며, 이 이후에 띄어쓰기와 따옴표로 감싼 구절을 추가해 마우스를 올려놓았을 때 팝업으로 뜨는 ‘Title’ 속성도 명시할 수 있다.

This is an [example link](http://example.com "With a title")

참조 형식은 링크 구문 뒤에 꺽쇠로 감싼 이름을 붙이고 문서 끝에 링크 주소를 명기한다. 이름은 숫자 이외의 문자나 공백 조합이 가능하며, 대소문자를 가리지는 않는다.

I get 10 times more traffic from [Google][1] than from [Yahoo][2] or [MSN][NY Times].

[1]: http://google.com/         "Google"
[2]: http://search.yahoo.com/   "Yahoo Search"
[ny times]: http://www.nytimes.com/

링크를 가리키는 부분과 링크의 이름(id)가 같다면 이름을 생략할 수 있다.

Visit [Daring Fireball][] for more information.

[Daring Fireball]: http://daringfireball.net

바로 주소를 넣는 자동 링크 기능을 사용하는 것 역시 가능하다.

<http://example.com/> 사이트는 멋진 UI를 자랑한다.

그림 (Images)

인라인 형식

![alt text](/path/to/image.jpg "Title (Optional)")

참조 형식

![alt text][id]

[id]: /path/to/img.jpg "Title"

수평선 (Horizontal Rules)

다음 중 어느 것을 사용해도 된다. 사실 띄어쓰기가 들어간 복수개의 ‘*’ 혹은 ‘-’만 있다면 상관 없다.

* * *

***

-------------------------------

코드 (Code)

HTML에서의 code 태그와 같이 문장 내에서 특정 구문에 코드 형식을 설정하고 싶으면 ‘`’ 문자로 그 구문을 감싼다. HTML에서의 pre 태그와 같이 문장 전체를 코드 형식화 하고 싶으면 글줄의 앞에 4 칸의 띄어쓰기를 넣거나 탭을 넣는다.

github에서는 문법 강조(syntax highlighting)를 위해 문법을 추가하였는데, 예를 보면 다음과 같다.

```ruby
require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
```

특수 문자 예외 처리

마크다운 문법에 사용되는 문자들을 문자 그대로 사용할 때에는 앞에 백슬래시 ‘\’ 문자를 붙인다.

참조


출처 - http://bluebrown.net/blog/archives/1061

'Development > Common' 카테고리의 다른 글

memory - Data segment, Code segment  (0) 2015.06.29
GUID(Globally Unique Identifier)  (0) 2014.04.02
SMTP & POP3 Server list  (0) 2013.02.11
context  (0) 2012.11.21
accessor 와 mutator  (0) 2012.11.05
Posted by linuxism
,


@@ 결재 프로세스

  * 협조, 참조

  * 전결 정책(규정)

  * 전결 : 결재과정에서 결정권자의 최종 결재나 권한 

           최고관리자가 모든 건에 대하여 일일이 다 확인할 수 없으므로 각 사안의 중요도에 

           따라 해당직급의 중간관리자들에게 결정권한을 위임하고 사안을 처리하도록 권한을 준것을 

           의미하며 전결된 사항은 대표이사가 결재한 것과 동일한 효력을 가집니다. 

           단, 모든 권한을 이양할수는 없기 때문에 위임 전결 규정을 만들어서 위임의 한계를 정합니다. 

  * 대결 : 최종 결재자의 부재시 바로 아래 직급의 사람이 결재하는 것

           처리후 나중에 결재권자에게 후열 받는게.........

           시급을 요하는 불의의 돌발사태가 발생하였으나 최종 결재권자가 출장이나 휴가, 

           병가 등으로 장기간 부재 중이어서 결재나 지시를 받을 수 없는 경우에는 

           최종 결재권자의 직무를 대행할 수 있는 사람이 일시적으로 결재권자를 대신하여 결재를 받는 방법으로서, 

           중요한 안건은 반드시 나중에 최종 결재권자의 후결을 받는것이 일반적입니다.

  * 후결 -> 후열 : 결재후 처리가 끝난 서류를 확인하는 것

           통상적이고 주기적으로 발생하는 사안의 결재인 경우 최종결재권자가 출장, 휴가, 기타 부득이한 사유로 

           결재할 수 없는 경우에 최종 결재구너자란에 후결의 표시를 하고 차하위자의 책인하에 집행하고 난 후 최종결재를 받는 것입니다.

           그러나 권리, 의무에 관계되는 중요한 사항은 후결할 수 없습니다. 

  

  선결과 후열이 있습니다. 특이한 경우에만 이루어집니다

  * 선결 ㅡ> 선열 : 처리전에 접수된 서류를 결재권자나 기관장등이 확인하는 것

           부서나 기관의 의사를 결정할 권한이 있는 자가 직접 접수하여 그 의사를 결정하기 위한 최초의 결재 

  * 후열 : 중간 결재권자가 출장, 휴가, 기타 부득이한 사유로 결재할 수 없는 경우에는 해당 중간결재란에 후열의 

           표시를 하고 최종결재권자의 결재를 득하고 난 후 집행하고 사후에 결재받는 것을 말합니다.

  * 미결 : 처리 중, 처리가 끝나지 않음.

  * 완결 : 처리가 끝남

  * 공람 : 말그대로 "여럿이서 열람"하는 여러 사람이 돌려 보는 문서를 뜻합니다.




그룹웨어,전자결재  결재방식 및 문서상태에 따른 결재 Process




출처 - http://blog.naver.com/PostView.nhn?blogId=koi628&logNo=10105206098&redirect=Dlog&widgetTypeCall=true





'OpenSource > Collaboration Software' 카테고리의 다른 글

SyncML(Synchronization Markup Language)  (0) 2013.03.26
PIM(Personal information manager)  (0) 2013.03.26
Funambol  (0) 2013.03.26
List of collaborative software  (0) 2013.03.26
Collaborative software  (0) 2013.03.25
Posted by linuxism
,