1. TEXTCUBE 2.0과
코드를 몰라도 되는
codeball 프레임웍
신정규
포스텍 물리학과
Tatter Network Foundation / Needlworks
2. 신정규
비선형 및 복잡계 연구실
포스텍 물리학과
“복잡계 시스템에서의 의견 형성 동역학” 연구
“웹에서의 커뮤니티 생성/소멸 과정 및 수명”
과 “네트워크 기반의 스패머 추적”에 관심
그리고
TNF (Tatter Network Foundation) 로서
웹을 쌓기 위한 벽돌 만들기를 하고 있습니다.
3.
4. Textcube.org
잘 알려진 출판 플랫폼
개인 웹로그 부터 블로그 서비스 까지 운영 가능
커뮤니티 개발 오픈소스 소프트웨어
• PHP / Apache ⋅ Nginx ⋅IIS / MySQL⋅PostgreSQL⋅ Cubrid⋅ SQLite
• 유연한 스킨 / 플러그인 아키텍처
• RDF / BlogAPI / OpenAPI / Microformats / XFN / FOAF /
geolocation (if browser supports) 지원
• 키워드 로그 / 지역 로그 / 댓글 알림 / 모바일 폰 및 이메일 블
로깅 / 팟캐스팅 / RSS 리더 / 마이크로 블로깅 기능
20. Objectives
TNF / Needlworks*
TNF : Tatter Network Foundation
“To keep the diversity of web”
21. Objectives
TNF / Needlworks*
TNF : Tatter Network Foundation
“To keep the diversity of web”
• Warn the enterprises to treat web as their own
22. Objectives
TNF / Needlworks*
TNF : Tatter Network Foundation
“To keep the diversity of web”
• Warn the enterprises to treat web as their own
• Give the right of creations to creators on web
23. Objectives
TNF / Needlworks*
TNF : Tatter Network Foundation
“To keep the diversity of web”
• Warn the enterprises to treat web as their own
• Give the right of creations to creators on web
• Pursue the communication with responsibility,
without governmental restriction
24. Objectives
TNF / Needlworks*
TNF : Tatter Network Foundation
“To keep the diversity of web”
• Warn the enterprises to treat web as their own
• Give the right of creations to creators on web
• Pursue the communication with responsibility,
without governmental restriction
• Reduce the social expenditure from web monopoly
25. Developing server sponsored by
Resource server sponsored by
Deploying server sponsored by
Main / Antispam server by
26. TNF / Needlworks
Developing server sponsored by
12 Core Developers
Resource server sponsored by
~20 Reporters
~10 i18n Supporters
Deploying server sponsored by
~45 Code Contributors
Main / Antispam server by
40. Project Tattertools
태터툴즈 프로젝트
“Creations without walls”
프로그램 및 서비스간 데이터 호환성
• Textcube.org Publishing(+alpha) Program
• Tistory.com Daum blog service[1]
And many more!
[1] Currently, Tistory.com is ranked as top 1 blog service in Korea (by rankey.com)
41. 역사
태터툴즈 시작 개인 프로젝트
Apr. 2004
TNC 회사 설립
(Tatter and Company) Sep. 2005
Tattertools
GPLized Mar. 2006
TNF 커뮤니티 결성
(Tatter and Friends) Jun. 2006
42. 회사 기반 커뮤니티 기반
Tistory.com
런칭
Nov. 2006 Tattertools 1.1
(collaborating TNC
and Daum Corp.) Need l works
Apr. 2007
결성
Aug. 2007 Textcube 1.5
Daum의 Feb. 2008 Textcube 1.6
Tistory.com 인수 Textcube 1.7
Jun. 2008
Google의 TNC
Oct. 2008
인수
Textcube.com Oct. 2009
런칭
43. Nov. 2009 Textcube 1.8
글로벌 서비스 June. 2010
병합 시작
A2 (안티스팸 프
Sep. 2010
로그램/서비스)
개발 시작
Textcube.com
Jan. 2011
서비스 중단
Feb. 2011 FAS 런칭
Dec. 2011 Textcube 1.9
44.
45.
46.
47.
48.
49.
50.
51.
52. 목표
‘Blog’ + ‘Media’ + ‘Community’
0.9 1.X 2.X
From blog to media and community with ‘Very unique way.’
53. 목표
‘Blog’ + ‘Media’ + ‘Community’
0.9 1.X 2.X
From blog to media and community with ‘Very unique way.’
54. 목표
‘Blog’ + ‘Media’ + ‘Community’
0.9 1.X 2.X
From blog to media and community with ‘Very unique way.’
57. 텍스트큐브 1.8
개발자 문서
https://docs.google.com/View?id=dgc24tzr_140c9wz6nc5
서버 관리자 / 서비스 운영자 가이드
https://docs.google.com/View?id=dgc24tzr_137gr9xpdfb
플러그인 이전 가이드
https://docs.google.com/View?id=dgc24tzr_136ckbg4ngn
58.
59. 텍스트큐브 2
새로 작성된 소스 코드
현재 알파 단계 (for 2 years!)
대부분의 기능들은 이미 1.8/1.9 트리 에 반영
• Integrates Textcube 1 functionalities (RDF / BlogAPI / OpenAPI /
Microformats / XFN / FOAF / geolocation)
• Much more fluid structure + distributed processing
• Mobile-based / Peer-to-peer data storage / synchronization
between blogs / SNS-adaptive sharing
63. Codeball Framework
다양한 Needlworks 프로젝트의 기반이 되는
Framework
NAF (Needlworks Application Framework) 2 기반
FAS (Frypan Anti-spam Service)
텍스트큐브 2 는 codeball의 일부를 이용하
고 있으며, codeball 위에서도 돌아갑니다
64. Codeball Framework
다양한 Needlworks 프로젝트의 기반이 되는
Framework
NAF (Needlworks Application Framework) 2 기반
FAS (Frypan Anti-spam Service)
텍스트큐브 2 는 codeball의 일부를 이용하
고 있으며, codeball 위에서도 돌아갑니다
65. 디렉토리 구조
/bin Running codes including nwsh
/boot Start-up module / codes
/dev Device / storage encapsulation
/etc Settings / start-up module definitions
/home Apps / user directory
/lib Libraries
/media Media files / storage used by apps
/usr State-specific codes / libraries
/var Variable contents
66. 예제: “Hello world” 웹앱 만들기
1. 어플리케이션 설정
> cd home
> mkdir helloworld
> cd helloworld
> vi index.php
“Hello World!”
67. 예제: “Hello world” 웹앱 만들기
2. 특정 웹주소에 앱 연결하기
> cd etc
> vi urltab
# This file contains storage allocation configuration.
#
# Note : every term should divide with one empty character.
# <URL address> <Mount point> <type> <options>
/ /home/default
/helloworld /home/helloworld
68. 예제: “Hello world” 웹앱 만들기
3. 테스트
http://localhost/helloworld
Hello World!
69. 예제 : staticpage 앱으로 웹페이지 만들기
What is ‘static page?’
First app written on codeball
Makes simple HTML pages
Easy content writting (TXT format with
Markdown syntax)
70. 예제 : staticpage 앱으로 웹페이지 만들기
1. staticpage 앱 설정
> cd home
> mkdir testpage
> cd testpage
> vi index.php
<?php
// Add shortcut of your default program here.
require_once(ROOT.'/bin/staticpage.php');
?>
71. 예제 : staticpage 앱으로 웹페이지 만들기
2. 특정 주소에 앱 연결하기
> cd etc
> vi urltab
# This file contains storage allocation configuration.
#
# Note : every term should divide with one empty character.
# <URL address> <Mount point> <type> <options>
/ /home/default
/helloworld /home/helloworld
/testpage /home/testpage
72. 예제 : staticpage 앱으로 웹페이지 만들기
3. 컨텐츠 만들기
Staticpage app requires
pages/contents
Actual content written in Markdown syntax
staticpage.ini
Settings
template.html
HTML Template
73. 예제 : staticpage 앱으로 웹페이지 만들기
3. 컨텐츠 만들기
template.html
<html>
<head>
</head>
<body>
[##_content_##]
</body>
</html>