Debian & Debian mkouhei@debian.or.jp IRC nick: mkouhei 2010 02 20,21
( ) OK 20
Agenda 13:00-17:00 Debian OCaml 9:00-13:00 Yadorigi Debian
Hack Cafe http://twitter.com/debian_hackcafe
1 Debian 2 Debian 3 Debian
1 Ian Debra 2 3
emasaka 3
henrich 1 dis 2 3 :)
mkouhei 3 5
(yy y ja jp) 3 DFSG &
3
3 apt stable release potato debian stable debian stable X-Window X debian Debian Social Contract debian debian
Debian
OCaml
Squeeze sysvinit upstart getty
upstart sysvinit cron, at, inetd
sysvinit
コンピュータの電源 ON BIOS などによる ハードウェア初期化 LILO や GRUB ブートローダの起動 /boot/vmlinuz がメモリ上に展開 カーネルイメージの展開 カーネルによるハードウェア初期化 init プロセスの起動 ランレベルに合わせ /etc/init.d/rc が /etc/rc.?/ 以下を実行コンソール用 サービスの起動 /sbin/getty の起動
upstart sysvinit (?) USB (?) sysvinit
Ubuntu Fedora Google Chrome OS Ubuntu 9.10
Debian Squeeze sysvinit p.34 6.2.1 getty inittab /etc/init/ttyn.conf Ctrl+Alt+Del /etc/init/control-alt-delete.conf
waiting starting (emit starting) pre-start spawned (wait for pid) post-start emit started running pid > 0 pre-stop pid == 0 respawn stopping (emit stopping) killed (wait for SIGCHLD) post-stop emit stopped
upstart
$ sudo apt-get install upstart...... : dbus libdbus-1-3 libexpat1 : dbus-x11 : sysvinit : dbus libdbus-1-3 libexpat1 upstart :! sysvinit : 0 : 4 : 1 : 9 1,005kB 2,105kB Yes, do as I say!?] Yes, do as I say! Squeeze/Sid
getty init: tty4 main process (239) terminated with status 1 init: tty4 main process ended, respawning init: tty5 main process (241) terminated with status 1 init: tty5 main process ended, respawning init: tty2 main process (242) terminated with status 1 init: tty2 main process ended, respawning (end less) ssh
Squeeze/Sid Sid Sid
Yadorigi
Debian
Debian
Debian
Google App Engine for Python Python Django App Engine Djangos
Google App Engine SDK # apt-get install unzip python python-webtest python-yaml Debian utils/gae
$../../google_appengine/dev_appserver.py http://localhost:8080/ http://localhost:8080/_ah/admin
$../../google_appengine/appcfg.py update Initiating update. Email: dancerj@gmail.com Password for dancerj@gmail.com: http://debianmeeting.appspot.com
AppEngine gaeunit python-webtest $ PYTHONPATH=../../google_appengine:../../google_appengine/lib/ python testsystem.py
Event Attendance User Event Attendance Attendance
:Event class Event(db.Model): eventid = db.stringproperty() owner = db.userproperty() # the creator is the owner owners_email = db.stringlistproperty() # allow owner emails title = db.stringproperty() location = db.stringproperty(multiline=true) content = db.stringproperty(multiline=true) content_url = db.stringproperty() prework = db.stringproperty(multiline=true) event_date = db.stringproperty() timestamp = db.datetimeproperty(auto_now_add=true) capacity = db.integerproperty() # the number of possible pe
:Attendance class Attendance(db.Model): eventid = db.stringproperty() user = db.userproperty() user_realname = db.stringproperty() # keep a cache of last prework = db.stringproperty(multiline=true) # obsolete, but prework_text = db.textproperty() # Used everywhere, populat attend = db.booleanproperty() enkai_attend = db.booleanproperty() timestamp = db.datetimeproperty(auto_now_add=true)
:UserRealName class UserRealname(db.Model): """Backup of user realname configuration so that user doesn user = db.userproperty() realname = db.stringproperty() timestamp = db.datetimeproperty(auto_now_add=true)
debianmeeting.py: admin_event.py: user_registration.py: webapp_generic.py: POST GET schema.py: send_notification.py: XMPP testsystem.py:
/newevent admin_event.newevent EditEvent.html /event user_registration.usereventregistrationpage UserEventRegistrationPage.html /eventregister user_registration.usercommiteventregistration / TopPage TopPage.html /eventadmin/edit admin_event.editevent EditEvent.html /eventadmin/summary admin_event.vieweventsummary ViewEventSummary.html /eventadmin/register admin_event.registerevent thanks Thanks Thanks.html /eventadmin/preworklatex admin_event.preworklatex PreworkLatex
2010 2 27 : OSC Tokyo 2010Spring