대규모 프로젝트 관리하기

geekforum의 이미지

저는 조그만 소프트웨어 회사에서 프로그래머로 계속 일을 해오면서 대부분의 코딩 작업은 저 혼자서 전담하다시피 했습니다. 그래서 뭐...밤샘도 좀 하고 힘든일도 좀 있었지만, 사람끼리 부딪치는 경우는 별로 없었지요. 어차피 제가 알아서 하니까요.

근데 최근에 회사가 좀 큰 프로젝트를 하나 따오면서 사람이 몇명 더 들어왔습니다. 규모가 큰 일이 되다 보니 사람도 당연히 더 필요하게 된거죠. 그런데 일이 돌아가는 것을 보면 참 갑갑합니다. 혼자 했으면 차라리 더 좋았을 텐데....하는 생각이 문득문득 드는거 있죠?

각자 할일을 나눈다고 나눠놓긴 했는데 이게 꼭 자기일만 딱딱 해놓는다고 해서 나중에 다 합치기만 하면 되는 것도 아니고, 맨날 이래저래 의견충돌이 생기더라구요. 그러면서 소스는 점점 걸레가 되어 가고.... 학교다닐때 배웠던 소프트웨어 공학은 몽조리 무시가 되고 있습니다. 객체지향? 코드 재사용? 웃기는 소립니다. 그냥 되는 대로 막 합니다. -_-;;;

회사가 갑자기 큰 프로젝트를 맡게 되니 개발자들의 맨파워가 제대로 발휘가 되지 못하고 있는 거죠. 혼자 두면 다들 알아서 잘 할 사람들인데 모아 놓으니까 효율이 많이 떨어지는 겁니다. 어떻게 하면 좋을까요?

제게 일을 주시던 제 상사도 갑자기 사람들이 많아지니까 허둥대는 기색이 역력합니다. 이해는 갑니다만, 짜증이 날때도 있구요. 너무너무 힘듭니다. 여러분은 저와 비슷한 경험 없으세요? 어디 좋은 방법 없을까요?

댓글

익명 사용자의 이미지

결국은 한사람이 절대적인 위치를 점하고 있어야 하지 않나요~ 대규모의 프로젝트라면 몰라도...
소위 팀장을 뽑고 그 팀장에게 복종(?)하게 하는 편이 속편할 것같네요~

그래도 의견을 말할 수 있는 제도적 장치는 필요하겠죠!

익명 사용자의 이미지

한마디로 말해서

문서 문서 문서

처음에 프로젝트 드가기 전에

개발팀 모두가 모여서 회의를 잘해서

문서화를 잘 해놓으니 추후에도 기준이되는 뭔가가

생기더군요...
처음이 중요하고 문서화하는것도 중요하다고
생각합니다..

그럼.

익명 사용자의 이미지

경험담이나 해볼까요?

전 사용자 인터페이스를 가장 나중에 생각합니다. 중요한 핵심 코드에 집중하죠. 그래야 맘이 편하거든요. 중요한 핵심 코드도 혼자 하는 것 보다는 같이 하는게 좋을 것입니다.

가장 먼저, 귀하가 PM을 해야겠군요. 일단 사장과 가장 잘 통하게 될 것이고, 일을 하려면 발주처의 요구도 많이 고려해야 하니까 사장과 밀착 되기 위해서는 귀하가 적당하겠습니다.

시나리오를 짭니다. 프로그램이 어떤식으로 돌아가야 하는지 문서로 작성하면 좋을 것입니다. 사장이 발주처에서 요구받은 내용을 꼼꼼하게 작성하세요. 만약 사장이 발주처로부터 주문받은 내용이 의미심장하고 부족하다면 사장한테 그 문제에 대한 해결을 부탁하세요. 그건 사장이 책임져야 합니다. 대부분의 머저리같은 사장은 자동차가 바퀴랑 핸들만 있음 굴러가는 줄 압니다. 엔진은 몇마력이고, 문짝은 위에 달지 앞에 달지 옆에 달지 아주 꼼꼼하게 물어보세요. 그냥 알아서 하라고 하면 두들겨 패서라도 대답을 구하십시오. 이렇게 시나리오가 정리되면 전체 프로그래머들한테 검토하라고 합니다. 그리고, 검토가 끝나면 회의하고 모자란거 다시 정리하고 ...

그 다음 가장 핵심적인 즉, 가장 중추적인 코드(게임 프로그램에서는 게임 엔진같은)가 무엇인지 판단하고 그것을 기능별로 산산히 조각을 내서 모두에게 분담을 시킵니다. 이 때 되도록 같은 언어를 사용하세요. 한놈은 C로 하고 한놈은 VB하고 그럼 곤란하죠. 하여튼 툴을 통일하세요.
그다음 계속적인 회의를 하면서 코드를 다듬고 연결하고 다시 고치고 추가합니다. 핵심적인 내용을 벋어나지 마세요. 절대루... 그리고, 꼭 모두가 같이 해야합니다.
이렇게 해서 핵심적인 부분의 코드가 완성되면 제가 장담하죠. 상황이 어떻게 되든 일은 일사천리로 생각외로, 그리고 신기가 든 것처럼 문제 없이 진행됩니다. 왜냐구요? 거의 모든 프로그램들이 그렇듯이 사용자 인터페이스니 모니 하는 것들이 핵심적인 코드 부분을 둘러싼 것이기 때문에 중심핵이 안정되고 더구나 모두가 그 코드를 같이 작성했기 때문에 의사소통이 잘되고 서로가 서로의 하는 일을 예측 가능해 진다는 것입니다.
그 다음은 그 이외의 자질구래한 것들을 만듭니다. 자질구래한 것들이 뭔지는 그때 가봐야 압니다. 왜냐하면 자체 프로젝트도 아니고 외주를 받은 것이기 때문에 그건 귀하도 모르고, 머저리같은 사장도 모릅니다. 오직 변덕에 무식함을 겸비한 사장과 발주처에 다려있기 때문입니다.

도움이 되셨기를...

익명 사용자의 이미지

흥미롭군요.
역시나 이 문제에 대해 관심이 많으실거라 생각했던 데로네요.

몇가지 화두를 더 던져 볼까합니다.
UP와 XP 이외에요.

과연 같이 일한다는 게 뭘뜻하는 걸까요?
같이 일한다는 느낌을 갖고 일하는 게 굉장히 중요하다는 걸
물론 잘 아실거라 생각됩니다.

그건 일을 적절히 잘 분배해서 서로 맡은바만 열심히 해서,
기간내에 정해진 자원으로 일하는 것만을 뜻하지는 않을겁니다.

이런건 어떨까요?
제가 일하는 곳에서는 개발된 Code에 대한 Review라는 걸 합니다. 이것도 개발과정 중의 하나이죠.
다른 개발자들앞에서 주절주절하는 거죠.

자기가 개발하는 아이템에 대한 설명과, 자신이 이렇게 저렇게 해결하려고 하는 해결책, 아키텍쳐, 알고리즘, 기타 등등...
이런 것들을 브레인 스토밍겸 세미나로 하는 겁니다.

사실 힘들겠지만, 우리나라 어떤 회사에서 이걸 아예 시스템화해서 하는 걸 본적도 있습니다.
첨엔 좀 힘들지만, 개개인 개발자들의 역량을 키우고, 서로 같이 일한다는 느낌을 갖게 하는 데는 좋은 것 같습니다.

저는 이걸 Pair-Brainstorming 이라고 부릅니다. 폼나게~

프로젝트를 관리하는 것도 중요하지만,
정말 그럴듯하게 자연스럽게 하나의 문화처럼 정착시키는 것이 더 궁극적인 목표라고 생각됩니다. 그냥 뚝딱뚝딱 짜맞춘 시스템으로 관리하는 것보단 자연스러운 문화가 훨씬 더 튼튼하고 사랑스러워서 애착이 가는 법입니다. 그쵸?

익명 사용자의 이미지

PM ( Project Management)의 문제에 봉작한 듯합니다.
배를 저어가는 사공은 많으데 배를 인도하는 선장이 없는듯
합니다.

To do thing.
1. Project Member들에 대한 공통의 목적의식을 정립하시요.

2. 가능하면 poject를 위한 Application & System Architecure
를 정하시요.
이는 전체 Project를 위한 참모진과 같으면 project의 수행을
위한 전체적인 흐름을 이해하고 project risk management에
중요한 역활을 수행할 수 있는 knowledge가 많은 사람을
선정합니다.

3. Project Review Meeting에 대한 Communication Leader(
PM/Architecture)가 필요할 듯합니다. 이를 PM ( Project
Manager 또는 AA, SA가 대개 담당함.

4. Project Review Meeting에 대한 Doc를 작성하여 Project
Management에 참고하시요.

5. Project에 대한 전체 기간별 Schedule을 설정 하시요.
이는 각각의 project member의 개발 상황을 고려하며,
전체 프로제트 schedule에 부합되여야 합니다.

6. Internal & External Design에 대한 점검을 철저히하시요.
또한 PM, AA, SA는 기간별 schedule에 다른 Internal
Design 과 External Design을 Review하면 현재 Project가
잘 진행 되고 있나를 점검해야 합니다.

7. Project 의 Critical Risk를 점검 Task Post member를
정하시요.

구봉진의 이미지

참여인원 모두의 생각을 일치시키는 것이
가장 큰 관건이라 보입니다.

국민학교시절,
옆의 친구에게 지우개를 빌려달라고 했더니
없다고 우기기에 싸웠던 기억이 있습니다.
그친구는 지우개를 고무라 부르더군요...

무엇이 되어야 한다는 목표에 대해
동일한 인식이 되어야 함께 이루어 낼 수 있습니다.

익명 사용자의 이미지

devide and conquer!!!

익명 사용자의 이미지

님의 고민은
혹시 팀장이 없어서 생긴거 아닌가요

팀장없이 공동체를 만들어서 나눠서 한다는것은
거의 불가능하다고 생각해요

비슷한 수준의 사람들끼리 모여서,
넌 이거하고 난 이거해 하는 식으로 하면,
오히려 더 힘들어진다고 생각합니다.

프로그래밍은 혼자 한다고 생각해야죠.
스타 한 사람이 다 하고,
나머지는 손발...

익명 사용자의 이미지

많은 사람이 프로젝트를 진행 한다는건 상당히 어렵고 힘든 작업입니다.
저도 현재 5명이 함께 작업중인데 구현된 프로그렘은 상당히 보기에 좋지 않은 모습이 되고 또한 기능을 추가 하거나 변경 하고자 할때는 전체적인 소프트웨어 구조의 이혜가 부족하여 더더욱 보기 힘든 코드가 자꾸 되어 갑니다.

최근 뜨고있는 UML은 단지 프로젝트 진행을 위한 설계 노테이션이지 그 이상 아무것도 할 수 없습니다.

효과적인 프로젝트 진행을 위해서는 설계, 모듈( 클래스 ) 등이 잘 설계 되어야 하고 엔지니어의 적극적인 참여가 없으면 결국 배가 산으로 가게되는 현상이 발생 합니다.

다음과 같이 하면 어떨까요.

1. 코딩룰은 만듭니다

익명 사용자의 이미지

대형 프로젝트를 진행하는 부분에 대해서 저의 개인적인 경험이 간단히 적어 봅니다.

1. 개발 부분에 대해 사용자와 명확히 정리할 것.
2. 사용자와 업무 난이도와 개발자로써의 경험을 바탕으로
개발의 난이도 및 기간에 대해 정리할것.
3. 개발 계획서 작성
4. 개발부분에 대한 상세한 업무 분석.
5. 설계
6. 개발

제의 경험으로는 이렇습니다.
일단 분석 및 설계 부분에 대해서는 내용을 빼겠습니다.
이 부분은 PM 및 개발구성원들과 사용자에 따라 틀리거든요...

일단 개발부분에 대해서 이야기를 한다면 이렇습니다.
저 같은 경우 프로젝트에서 개발시 다음과 같이 합니다.

팀구성으로

- 기반 콤포넌트 개발팀
- 비지니스 로직 개발팀
- UI관련 어플리케이션 개발팀

이렇게 3개 팀으로 구성을 합니다.
이렇게 구성을 하고 기반 컴포넌트 개발팀에서 프로젝트
수행에 필요한 모든 기반 라이브러리 및 기술, 컴포넌트를
개발합니다.

이것을 활용해서 비지니스 로직 개발팀이 사용자와 업무 협의
및 분석을 통해서 나온 처리 로직을 적용하고 UI관련 팀에서
이 부분을 활용해서 사용자가 사용할 프로그램을 개발하지요..
물론 로직 처리 팀과 UI개발팀이 통합될 수 있습니다.

이렇게 수직적인 팀 구조를 사용하지 않고 수평적인 업무별로
팀이 나누어지게 되며 문제점이 각 팀별로 다른 컴포넌트들이
개발되고 또한 같은 문제를 똑같이 고생하죠, 즉 중복개발이
되고 시간 및 돈이 낭비되는 결과를 초래하게 됩니다.

그리고 이렇게 팀을 구성할 경우 기반 컴포넌트 개발팀에서
프로젝트 수행에 필요한 모든 기반 기술에 대한
기반적인 테스트까지 완료를 해야 하는 부담이 있습니다.
하지만 체계화된 프로젝트 수행으로 코드의 재사용 및
튼튼한 프로그램이 개발되지요....

5년여 동안 여러 프로젝트를 수행해 본 경험으로는
위의 팀 구성이 가장 좋을듯 하네요...
되도록이며 프로젝트 수행시 중복 부분을 줄여야 하는데
그러기 위해서는 수직적인 팀 구성이 필수 입니다.

하지만 단점은 기반 컴포넌트 개발팀에서 너무 많은
프로젝트 기간을 잡아 먹게 되어 실제 처리로직 및
UI개발팀이 개발기간에 쫓기는 경우가 발생하는 문제점은
있습니다....

그리고 현재 여러가지 개발방법론이 있습니다.
이런 개발방법론이 모두 좋은 것이지만 프로젝트 수행시
필요한 것은 어떤 개발방법론이 있더라고 해당 프로젝트에
맞게 커스터마이징해 줄 수 있는 사람이 있어야 합니다.
즉, 해당 프로젝트 수행에 필요한 필수 항목과 옵션 항목을
정확히 도출하여 프로젝트의 위험요소 및 문제점을 빨리
찾을수 있게 해 주는 것이 중요한 것이니까요...

이상으로 저의 경험에 대해 간단히 적어봤습니다.

도움이 되시길 빌며...

익명 사용자의 이미지

프로젝트을 통합적으로 관리 할 수 있는 방법이 필요하겠네요. 제가 추천하고 싶은 것은 UML이구요.
UML은 이미 업계의 표준이 되어 있으니 많은 인력과 자료를 얻을 수 있을것 같구요.
분석작업이 길어지고, 결과물이 빨이 보이지는 않지만 디자인을 제대로하면 업무 분담, 소프트웨어의 완성도도 높일 수도 있구요.
소프트웨어 공학에 거부감을 가지는 개발자들도 있지만 전 실수를 반복하는 것 보다는 철저한 준비과 분석을 거쳐서 프로젝트를 지행하는 것이 보다 효과적일 수 있다고 봅니다.

익명 사용자의 이미지

헉... 엄청 좋은 말씀이십니다... -.-

지금 될대로 되라 식으로 개발하고 있는데...

흑흑흑... 이제는 고칠 시간도 없다는...

음냐... 그럼 고운 하루...

SHeeP_의 이미지

프로그래밍의 도 (tao of programming)이라는 글 한번 읽어보세요
거기에 님이 말씀하신게 나오죠
프로그래머 많을수록 개발기간이 길어진다고

이상 쓸모 없는 글이었습니다

익명 사용자의 이미지

저희 회사(연구소)에서는 방법론이라는 걸 씁니다.
기본적으로 UP이라는 방법론을 채택해서 사용하고 있습니다.
전체적으로는 그렇다는 거죠.

소규모 팀들의 경우에는 XP라는 걸 채택하는 팀도 있죠.

UP의 가장 기본은 매 단계마다 꼭 필요한 만큼만 접근해 본다는 것입니다. 반복이라는 것을 통해서 프로젝트의 비효율성을 최소화하죠.

XP를 쓰는 경우는 개발팀이 소규모이고, 프로젝트 중간의 변수가 많은 경우입니다. 그때 그때 프로젝트에 영향을 미치는 것이 많은 프로젝트인 경우 XP라는 놈을 사용하죠.

아. 참고로...
저희는 SI프로젝트를 하는 것이 아니라,
원천기술을 개발하는 기업부설연구소입니다.

UP와 XP에 대해서 궁금하시다면,
메일을 주시던가...

검색엔진으로 찾아보시면 많이 나옵니다.

익명 사용자의 이미지

에공, 물어보시는 분들이 많아서 여기에 적어놓겠습니다.

UP는 Unified Process의 약자입니다.
Rational이라는 회사에서 주도하고 있는데,

http://www.rational.com/products/rup/index.jsp

여기가 그 메인 홈페이지이구요.

XP는
http://xprogramming.com/index.htm

여기입니다.

이쪽에 가면 자료가 있습니다.
물론 소프트웨어도요.

그런데, 한글 자료는 글쎄요.
제겐 그 정보가 없네요.
---------------------------------------------
참고로 제가 있는 곳에서는
방법론에 대한 학습을 해왔습니다.
신입사원이 입사하면, 제일먼저 그것부터 교육시키구요.
물론 경력도 마찬가지겠지만요.

그리고, UP와 XP를 저희 체질에 맞게 개선하여서 사용하고 있습니다.

그럼...
부디 골치아픈 걸 해결하시길....

글틀양의 이미지

에공, 물어보시는 분들이 많아서 여기에 적어놓겠습니다.

UP는 Unified Process의 약자입니다.
Rational이라는 회사에서 주도하고 있는데,

http://www.rational.com/products/rup/index.jsp

<= UML (Unified Modeling Language)를 의미합니다.
UP에 대한 notation이라고 해야 하나.. 아직 제가
이쪽에 짧은 관계로... 할할.. ^^;

제가 요즘 틈틈히 보고 있는 내용이라..

기초로서 가장 좋은 책은 UML Distilled라는 책으로
두번째 개정판이 나온 상태입니다.

'Art of Zen'이후로 두번째 쇼크를 먹인 책입니다.
현재 번역판으로도 나온 상태이며. UML전문가 소
견으로는 영문판으로 권합니다만 한글판도 제가 보
기에는 그다지 나쁜 것 같지는 않습니다만...

(가격도 두께에 비해 무지 비쌉니다(?)만 그만큼의
값어치를 한다고 생각합니다. 한글판의 경우 약 180
여 페이지이며, 가격은 15,000원이며 홍릉출판사에
서 출판하였습니다.)

익명 사용자의 이미지

저의 경우 일단 코딩 계획서(개발 계획서)를 상당히 신중하게, 충분한 시간을 들여서
작성했습니다.
총 개발 기간이 2달 좀 넘었던거 같은데,
이중 3주 정도를 개발 계획서 작성하는데 보냈습니다.
이를 테면 개발 메뉴얼(설계도) 작성인데,
프로그램에 필요한 정보들을 먼저 수집하고
(어떤 기술이 필요하고, 어느정도의 시간이 걸리는지, 기술을 사용하는데
있어서 발생가능한 문제가 무엇이 있는지, 프로그램의 작동 방식,
어떤 관련 메뉴얼과 문서가 필요한지 (책, rfc 자료) 등등등),

어떤 방식으로 공동개발을 할것인지, 이때 어떤 도구를 사용할것인지,
함수이름과 변수 이름, 구조체 이름은 어떤 규칙으로 만들것인지
주로 포인터를 사용할것인지, 아니면 배열을 사용할것인지,
등등 매우 세세한 부분까지를 정의 해 나갑니다.

수집한 정보를 토대로, 모듈을 나눕니다.
각각의 나눈 모듈을 팀에 분배합니다. 각각의 개발특성에 맞게 분배하는 일이죠.
다음 각각의 모듈에 대한 쏘스와 함수의 대략적인 설계에 들어갑니다.
이러한 설계를 하면서, 자신의 모듈에 대한 이해가 깊어지고,
이해가 깊어지는 만큼 실질적으로 프로그래밍 작업에 들어갔을때의
혼란?을 최소화 시킬수 있습니다. 그전에 웬만한 정리 작업을 하는셈이죠.
이때 팀장은 이렇게 나누어진 각각의 모듈이 원할하게 연결될수 있도록
조정작업을 하게 됩니다.
이러한 조정작업을 거치면서 나중에 각자 개발한 모듈을 붙이기만 하면
프로그램이 완성될수 있도록 main프로그램의 틀을 짜게 됩니다.
공동개발 프로젝트이므로, 쏘스 관리가 필수 입니다.
대부분의 경우 make 도구와 프로젝트 관리도구(CVS)를 사용하게 됩니다.
저희는 make와 CVS를 사용했고요..
이렇게 개발 계획서가 완성되고 나면.. ..
실질적인 코딩에 들어 갑니다.
물론 위의 개발계획서는 문서로 잘 정리를 하죠.
회의 무지 많이 합니다.

별문제 (소스 코드 걸레되기, 소스 충돌, 의견충돌, 정신적 아픔) 없이,
설계도(dd, dfd .., 함수 설계도) 대로 만들어 나가면 됩니다.
매우 부드럽게 프로젝트를 완성했습니다.

문제는 위의 개발방식이.. 글쎄요.. 우리나라의 벤처? 기업에서는
그리 일반적이지 않은 방식이라는 거죠..

빠른 시간내에 프로그램을 만들어서 빠른시간내에 시장에 진입해야 한다는
조급함 때문일지도 모르지만,
위의 방식으로 진행하는 개발방식에 대해서 일말의 불안감을 가지고 있죠..
일단 일을 벌이고 있는걸 봐야지 마음을 놓는 경영자들이 많습니다.

저도 이 프로젝트를 수행하기 전에는 혼자서 아무 계획없이, 일단 돌아가게 만들자. ..
즉 무대포 정신으로 만들었었죠.. ..
그 프로젝트는 거의 1년이 지났는데도 종료 되지 않았음다 --;
거의 좀비 상태로 일을 했는데도 말입니다.
소스만 갈아 엎어친게 3-4번은 되고,
버젼의 종류만 열 몇가지가 됩니다.
지금은 다른 프로그래머에게 인수인계 했는데,
죄송하게도 그 프로그래머 역시 무지 고생하고 있읍니다 --;

거기에 학을 떼고 나서, 경영자와의 약간의 의견 충돌을 거친뒤에 저위의 방식을
관철? 시켰죠..
2달의 개발기간을 널널하게(날밤 안까고, 적당한 시간에 퇴근하면서, 주말에는
영화도 보러 다니고, 때로는 평일날 술도 마시면서) 종료
시켰습니다.
나중에 쏘스 코드 보니 뿌듯한 생각이 절로 들더군요 --;
개발마친뒤 1달이 지났는데, 고객 크레임 거의 발생안하더군요.. ..

결론 먼저분 말씀대로, 기본에 충실하자 즉 개발계획 기간을 충실히 가지자..
입니다.

A 그룹과 B 그룹에 동일한 일을 시킵니다.
A 그룹은 일단 일을 하게 만들고,
B 그룹은 충분한 토론과, 회의를 거친다음에 일을 하도록 시켰더니..
처음 완료 절반정도 까지는 A 그룹이 빠른것 같았으나,
결국 일을 먼저 완료 시킨 그룹은 B그룹이라는 실험결과도 있으니.
경영자가 좀 주저주저 하더라도. ...
밀고 나가십시요 --;;

익명 사용자의 이미지

전에 다니던 회사에서 프로잭트하나를 비공개 입찰을 한적이 있었습니다.
그때 국내에 모모한 회사와 외국의 업체가 최종으로 붙었는데,
제가 그 서류들을 보구서 제 생각에는 외국의 업체가 낙찰이 될걸루
생각을 했었습니다. 하지만 아니였죠.
그 때 양쪽에서 제출한 개발일정등의 관련서류를 보면 확연히 차이가
나더군요. 기본에 충실한 것과 충실하지 못한것,
결국 국내 회사로 낙찰이 됐지만 개발일정을 지키지도 못했구 원했던
기능조차도 에러 투성이가 되서 돈만들이고 폐기 했던적이 있습니다.
외국회사에서 제출한 서류에는 사용할 변수명까지 다 정리가 되어
있더군요.
누가 맏아도 충돌없이 그 서류에 있는데로 따라가면서 구현만 해주면 되도록,,,, 한마디로 dd, dfd, mini spec등이 확실하게 짜여저
있었습니다.
기본은 언제나 중요한데 그걸 우리는 무시할 때가 많죠.
그래서 격지 안하도 될 어려움도 격구요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.