2009/11/24(火)Goのinstall
google先生が開発中のGoを使ってみた
install
installing Goに一通り書いてあるので、その通りにするだけ
環境設定
goを入れるディレクトリを作成し、環境設定
ついでに、homeにbinディレクトリを作成*1
$ mkdir $HOME/go $ mkdir $HOME/bin
~/bash.rcに設定を追記
# go export GOROOT=$HOME/go export GOARCH=amd64 export GOOS=linux export PATH="$PATH:$HOME/bin"
リポジトリからDL
pythonまわりのツールが入って無かったのでインストールしてからDL
# apt-get install python-setuptools python-dev # easy_install mercurial $ hg clone -r release https://go.googlecode.com/hg/ $GOROOT
コンパイルしてインストール
bisonとか入ってなったのでインストールしてからコンパイル
環境によっては、他にも入れるものがあるかも
# apt-get install bison $ cd $GOROOT/src $ ./all.bash
最後に、
--- cd ../test 1 known bugs; 0 unexpected bugs
と出て
binフォルダにコンパイラとかインストールされて終了
って、既知のバグが残ってるのね...
hello world
exampleのとおりに書いてコンパイルしてみる
$ vi helloworld.go $ 6g helloworld.go $ 6l helloworld.6 $ 6.out hello, world $
というわけで無事実行できました
疑問とか
6gがコンパイラ、6lがリンカってことは何となく分かるけど、他の2つ(6c, 6a)は何だろう
そのうち、マニュアルとか見てみることにする
2009/05/27(水)4kbのプログラム
たった4kbでここまでできるものなのですね
って、どれだけ圧縮したり、CPUに負荷をかけているのかわかりませんが...
http://www.pouet.net/prod.php?which=52938
2009/03/02(月)zope
# apt-get install python-dev $ wget http://peak.telecommunity.com/dist/ez_setup.py # python2.4 ez_setup.py $ wget http://download.zope.org/distribution/ZConfig-2.4a2.tar.gz $ easy_install2.4 --install-dir='ZOPE/lib/python/' ZConfig-2.4a2.tar.gz $ wget http://download.zope.org/distribution/zdaemon-1.4a2.tar.gz $ easy_install2.4 --install-dir='ZOPE/lib/python/' zdaemon-1.4a2.tar.gz $ wget http://pypi.python.org/packages/source/p/plone.app.blob/plone.app.blob-1.0b2.tar.gz#md5=3a438c29ed34f819aea7983340eddd2c $ easy_install2.4 --install-dir='ZOPE/lib/python/' plone.app.blob-1.0b2.tar.gz
2009/02/23(月)cookie
set
self.context.REQUEST.RESPONSE.setCookie('name', 'value', path='/', expires='')
get
self.context.REQUEST.has_key('name')でチェック
trueならばデータがあるので
self.context.REQUEST['name']で取り出し
消し方
よく分からないけど、
self.context.REQUEST.RESPONSE.setCookie('name', '', path='/', expires='Thu, 1-Jan-2000 00:00:00 GMT')
とかでいいのかな
2009/02/21(土)自作プロダクト
2009/02/18(水)ZipFileTransport
Export
plone/Products/ZipFileTransport/browser/zipexportのaction_exportがエクスポートの実体
ここで、ログを取る
84: for x in paths:
ループでファイルリストを生成
-> ファイルサイズのチェックを追加
94: if self.context.portal_...
ユーザ認証
-> ファイルサイズのチェックも同時に行う?
画面
plone/Products/ZipFileTransport/browser/export_widget.pt
plone/Products/ZipFileTransport/browser/zipexport.py
2009/02/18(水)ploneへのパッチ
アクションボタンをすべてのページで表示する
plone/lib/python/plone/app/content/browser/foldercontents.py
201: if self.context.cb_dataValid():
↓
201: if self.context.cb_dataValid() or 1:
importだけ表示
ZipFileTransportに含まれるImportボタンです
plone/lib/python/plone/app/content/browser/foldercontents.py 200: if not len(self.items): 201: if self.context.cb_dataValid(): 202: for button in button_actions: 203: if button['id'] == 'paste': 204: return [self.setbuttonclass(button)] 205: else: 206: return [] ↓ 200: if not len(self.items): 201: if self.context.cb_dataValid(): 202: for button in button_actions: 203: if button['id'] == 'paste' or button['id'] == 'import': 204: buttons.append(self.setbuttonclass(button)) 205: return buttons 206: else: 207: for button in button_actions: 208: if button['id'] == 'import': 209: return [self.setbuttonclass(button)] 210: return []
2009/02/18(水)ploneのキャッシュ
2009/02/16(月)フォルダーコンテンツ
フォルダにあるファイル一覧を表示するビュー
plone(instanceのフォルダ)/lib/python/plone/app/content/browser/foldercontents.pt
カスタマイズ
/plone/manage_main にアクセス portal_view_customizations zope.interface.Interface > folder_contents <div tal:replace="structure view/contents_table">
contents_tableの実装
plone(instanceのフォルダ)/lib/python/plone/app/content/browser/foldercontents.pyの27~?
テーブル本体は
plone(instanceのフォルダ)/lib/python/plone/app/content/browser/table.pt
このフォルダには~
plone(instanceのフォルダ)/lib/python/plone/app/content/browser/table.ptの
18-23行目
コピー、カット、名前を変更など
plone(instanceのフォルダ)/lib/python/plone/app/content/browser/foldercontents.pyの193~?ちがうっぽい
plone(instanceのフォルダ)/lib/python/plone/app/content/browser/table.ptの183-
ここで、呼び出している使っているview/buttonsがどこか何か分からない
table.ptを開く前に定義済みなのかな?
あってた
plone(instanceのフォルダ)/lib/python/plone/app/content/browser/foldercontents.pyの201行目付近 self.context.cb_dataValid()でチェックしてるので、ここを常に真にしてしまえばよさげ*1
2009/01/22(木)Visual C# 2008
VC++は一通りかじってあるけど、.NETを使ってフォームアプリケーションを作ろうとするとさっぱり分かりません。
google先生で十分かと思ってたけど、適当なマニュアル本買ってきて読んだ方がいいかなぁ。