ラベル Python の投稿を表示しています。 すべての投稿を表示
ラベル Python の投稿を表示しています。 すべての投稿を表示

2019年1月27日日曜日

Python が追加

https://www.ipa.go.jp/about/press/20190124.html
むかーし、 C で「二種」受けたな〜。

試験では Python 追加だけども、「その他の事業」で Ruby があるのは知らなかったよ・・。国際規格になってたのね・・。
https://www.ipa.go.jp/osc/ruby/index.html

IPA はおいておいて、二年くらい前に書いたようにアソシエーションの中の人はルビィの認定試験とやらを更新した方がいいのでは、と思う。需要がなくて更新が滞っているなど事情があるのか。資格求める企業としては「バージョンなんてどうでもええんやで」かもしれない。
対象バージョンこそ 2.1 だけど 2.2~2.6 はこうだからご安心を、という内容があるのでも良さそう。

それ用の書籍レビューにもバージョン違いでハマってるらしいこと書かれていたりも。実際どうなのかは不明。
https://www.amazon.co.jp/dp/4774191949/
ただ、Ruby2.4.2(現在最新Ver.)を使用していたからか、OSの問題なのか、はたまた環境構築が間違っていたのか。例文と結果が違ったり、上手く動かない所が2,3箇所かありました。

Ruby 2.1 なら Rails としてはバージョン 4 になるらしい。
https://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#ruby-versions

と、ここまで書いたところで Rails の試験とやらも存在していた気がしてググってみると、
この試験は Rails 4 のようなので、実は足並みを揃えていて現状があるのかもしれない(?)
https://railscp.com/
概要には 3 と 4 しかないように見えて、5 もある(?)
https://railscp.com/exam/
https://railscp.com/2017/10/10/rails5bronze/


4月には 6 出ちゃう。
https://weblog.rubyonrails.org/2018/12/20/timeline-for-the-release-of-Rails-6-0/

2018年7月21日土曜日

variant に optimizations が追加されていた

MacPorts の python27, python35 ~ python37 で指定可能。

% port variants python2[4-7]
python24 has the variants:
   universal: Build for multiple architectures
python25 has the variants:
   universal: Build for multiple architectures
python26 has the variants:
   ucs4: Enable support for UCS4
   universal: Build for multiple architectures
python27 has the variants:
   optimizations: Compile with LTO and PGO. Build time greatly increased
   ucs4: Enable support for UCS4
   universal: Build for multiple architectures
% port variants python3[1-7]
python31 has the variants:
   ucs4: Use 4-byte Unicode characters
   universal: Build for multiple architectures
python32 has the variants:
   ucs4: Use 4-byte Unicode characters
   universal: Build for multiple architectures
python33 has the variants:
   universal: Build for multiple architectures
python34 has the variants:
   universal: Build for multiple architectures
python35 has the variants:
   optimizations: Compile with LTO and PGO. Build time greatly increased
   universal: Build for multiple architectures
python36 has the variants:
   optimizations: Compile with LTO and PGO. Build time greatly increased
   universal: Build for multiple architectures
python37 has the variants:
   optimizations: Compile with LTO and PGO. Build time greatly increased
   universal: Build for multiple architectures

Add optimizations variant to python{27,35,36,37}
https://github.com/macports/macports-ports/commit/b12ed55d4d24c9f1b713d616162371efbb5820e4

https://stackoverflow.com/questions/41405728/what-does-enable-optimizations-do-while-compiling-python



2016年4月16日土曜日

awscli, awsebcli

awscli はしれっと Python 3.5 も対応済み
https://github.com/aws/aws-cli
「3.5.x and greater」あり & .travis.yml も変わっていた

awsebcli は Python 3.5 はまだ
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install.html
「The EB CLI is not compatible with Python 3.5.」

元々用途別に分けていたけども virtualenv いいわーと再び思うのであった。

2015年10月1日木曜日

OS X El Capitan (10.11) にした

動かなくなってこまるアプリケーションは特にないので早速アップグレード。
今のところ大きな問題はおきていない。

その後はいつもどおり MacPorts いれなおし & インストールしなおしの儀。
ここで、使ってた virtualenvwrapper まわりがおかしな感じに。
'No module named virtualenvwrapper' が出るようになった。
workon で切り替えはできているのだけど。

https://trac.macports.org/wiki/ElCapitanProblems
にそれらしきものはない。

後で調べたところ、単に
- PATH が違うせいか
- VIRTUALENVWRAPPER_PYTHON 設定してないせいか
によるもの。
アップグレード間からなにも変えてなかったけど VIRTUALENVWRAPPER_PYTHON を設定して対応おわり。

アップグレードのついでにいらないファイルあれこれ消したら、空き容量が40GBくらい増えた・・・。
VMware Fusion 8 を買うのはどこかでクーポンを見つけてからにしておく。

2015年8月18日火曜日

pypy はえー

(2011/05/04 18:30公開、2015/08/18 2:45 更新)

名前が素敵な PyPy
http://sourceforge.jp/magazine/11/05/02/064241

MacPorts に早速 1.5 来てたので入れて、下記を実行
(ここから拝借した)

import sys
import timeit

print (sys.version)
t = timeit.Timer("test.pystone.main()", "import test.pystone")
t.timeit(10)


・Python 2.7.1
2.7.1 (r271:86832, Dec 31 2010, 13:54:06)
[GCC 4.2.1 (Apple Inc. build 5664)]
Pystone(1.1) time for 50000 passes = 0.693661
This machine benchmarks at 72081.3 pystones/second
Pystone(1.1) time for 50000 passes = 0.6901
This machine benchmarks at 72453.3 pystones/second
Pystone(1.1) time for 50000 passes = 0.700685
This machine benchmarks at 71358.7 pystones/second
Pystone(1.1) time for 50000 passes = 0.69343
This machine benchmarks at 72105.3 pystones/second
Pystone(1.1) time for 50000 passes = 0.686145
This machine benchmarks at 72870.9 pystones/second
Pystone(1.1) time for 50000 passes = 0.696792
This machine benchmarks at 71757.4 pystones/second
Pystone(1.1) time for 50000 passes = 0.695822
This machine benchmarks at 71857.5 pystones/second
Pystone(1.1) time for 50000 passes = 0.685601
This machine benchmarks at 72928.7 pystones/second
Pystone(1.1) time for 50000 passes = 0.700942
This machine benchmarks at 71332.6 pystones/second
Pystone(1.1) time for 50000 passes = 0.699862
This machine benchmarks at 71442.7 pystones/second


・PyPy 1.5
2.7.1 (?, May 03 2011, 16:48:00)
[PyPy 1.5.0-alpha0 with GCC 4.0.1]
Pystone(1.1) time for 50000 passes = 0.267667
This machine benchmarks at 186799 pystones/second
Pystone(1.1) time for 50000 passes = 0.068037
This machine benchmarks at 734894 pystones/second
Pystone(1.1) time for 50000 passes = 0.067261
This machine benchmarks at 743373 pystones/second
Pystone(1.1) time for 50000 passes = 0.067966
This machine benchmarks at 735662 pystones/second
Pystone(1.1) time for 50000 passes = 0.067146
This machine benchmarks at 744646 pystones/second
Pystone(1.1) time for 50000 passes = 0.067497
This machine benchmarks at 740774 pystones/second
Pystone(1.1) time for 50000 passes = 0.067191
This machine benchmarks at 744147 pystones/second
Pystone(1.1) time for 50000 passes = 0.07886
This machine benchmarks at 634035 pystones/second
Pystone(1.1) time for 50000 passes = 0.068004
This machine benchmarks at 735251 pystones/second
Pystone(1.1) time for 50000 passes = 0.068635
This machine benchmarks at 728491 pystones/second


現実的なアプリケーションだとどのくらいになるのだろうね。
ここみると、Django は 8倍高速らしい。

2015/8/18 現在は以下 
2.7.10 (default, May 28 2015, 02:30:16)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)]
Pystone(1.1) time for 50000 passes = 0.452571
This machine benchmarks at 110480 pystones/second
Pystone(1.1) time for 50000 passes = 0.455215
This machine benchmarks at 109838 pystones/second
Pystone(1.1) time for 50000 passes = 0.449152
This machine benchmarks at 111321 pystones/second
Pystone(1.1) time for 50000 passes = 0.450072
This machine benchmarks at 111093 pystones/second
Pystone(1.1) time for 50000 passes = 0.439352
This machine benchmarks at 113804 pystones/second
Pystone(1.1) time for 50000 passes = 0.453671
This machine benchmarks at 110212 pystones/second
Pystone(1.1) time for 50000 passes = 0.451542
This machine benchmarks at 110732 pystones/second
Pystone(1.1) time for 50000 passes = 0.450634
This machine benchmarks at 110955 pystones/second
Pystone(1.1) time for 50000 passes = 0.45061
This machine benchmarks at 110961 pystones/second
Pystone(1.1) time for 50000 passes = 0.461482
This machine benchmarks at 108347 pystones/second

3.4.3 (default, May 25 2015, 18:48:21)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)]
Pystone(1.2) time for 50000 passes = 0.550403
This machine benchmarks at 90842.5 pystones/second
Pystone(1.2) time for 50000 passes = 0.535997
This machine benchmarks at 93284.1 pystones/second
Pystone(1.2) time for 50000 passes = 0.533127
This machine benchmarks at 93786.3 pystones/second
Pystone(1.2) time for 50000 passes = 0.527765
This machine benchmarks at 94739.1 pystones/second
Pystone(1.2) time for 50000 passes = 0.536051
This machine benchmarks at 93274.7 pystones/second
Pystone(1.2) time for 50000 passes = 0.54033
This machine benchmarks at 92536 pystones/second
Pystone(1.2) time for 50000 passes = 0.535856
This machine benchmarks at 93308.7 pystones/second
Pystone(1.2) time for 50000 passes = 0.534745
This machine benchmarks at 93502.5 pystones/second
Pystone(1.2) time for 50000 passes = 0.524912
This machine benchmarks at 95254.1 pystones/second
Pystone(1.2) time for 50000 passes = 0.531086
This machine benchmarks at 94146.7 pystones/second

3.5.0rc1 (default, Aug 16 2015, 06:23:26)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)]
Pystone(1.2) time for 50000 passes = 0.506479
This machine benchmarks at 98720.7 pystones/second
Pystone(1.2) time for 50000 passes = 0.508563
This machine benchmarks at 98316.2 pystones/second
Pystone(1.2) time for 50000 passes = 0.511506
This machine benchmarks at 97750.5 pystones/second
Pystone(1.2) time for 50000 passes = 0.501795
This machine benchmarks at 99642.3 pystones/second
Pystone(1.2) time for 50000 passes = 0.49656
This machine benchmarks at 100693 pystones/second
Pystone(1.2) time for 50000 passes = 0.49607
This machine benchmarks at 100792 pystones/second
Pystone(1.2) time for 50000 passes = 0.478405
This machine benchmarks at 104514 pystones/second
Pystone(1.2) time for 50000 passes = 0.482465
This machine benchmarks at 103634 pystones/second
Pystone(1.2) time for 50000 passes = 0.491406
This machine benchmarks at 101749 pystones/second
Pystone(1.2) time for 50000 passes = 0.484606
This machine benchmarks at 103177 pystones/second

2.7.9 (295ee98b69288471b0fcf2e0ede82ce5209eb90b, Jun 02 2015, 07:48:49)
[PyPy 2.6.0 with GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)]
Pystone(1.1) time for 50000 passes = 0.044237
This machine benchmarks at 1.13028e+06 pystones/second
Pystone(1.1) time for 50000 passes = 0.011606
This machine benchmarks at 4.30812e+06 pystones/second
Pystone(1.1) time for 50000 passes = 0.011401
This machine benchmarks at 4.38558e+06 pystones/second
Pystone(1.1) time for 50000 passes = 0.010419
This machine benchmarks at 4.79893e+06 pystones/second
Pystone(1.1) time for 50000 passes = 0.011264
This machine benchmarks at 4.43892e+06 pystones/second
Pystone(1.1) time for 50000 passes = 0.012208
This machine benchmarks at 4.09567e+06 pystones/second
Pystone(1.1) time for 50000 passes = 0.01142
This machine benchmarks at 4.37828e+06 pystones/second
Pystone(1.1) time for 50000 passes = 0.013389
This machine benchmarks at 3.73441e+06 pystones/second
Pystone(1.1) time for 50000 passes = 0.010013
This machine benchmarks at 4.99351e+06 pystones/second
Pystone(1.1) time for 50000 passes = 0.011098
This machine benchmarks at 4.50532e+06 pystones/second

PyPy 関連

ぐぐってみただけ。

そうだ! EuroPython 2011へ行こう - #3 PyPyについての講演,ハンズオン,スプリント
http://gihyo.jp/news/report/01/europython2011/0003

PyPyに関する論文、というのはこれかな?
Tracing the meta-level: PyPy's tracing JIT compiler
http://dl.acm.org/citation.cfm?id=1565827

DjangoAndPyPy
https://code.djangoproject.com/wiki/DjangoAndPyPy
↑からリンクあるけども Django のテンプレートエンジンでの性能比較
http://speed.pypy.org/timeline/?ben=django

PyPy Compatibility
https://bitbucket.org/pypy/compatibility/wiki/Home


Django のドキュメントでは、どうも1.7からは topicsに Performance and optimization というのが設けられ、 Alternative software implementations 項に PyPy についての記述があるようだ。1.7 は 2014年9月にでてた。

記載されてるくらいなので、今利用することはそれほど奇をてらったものではないのかな。

https://docs.djangoproject.com/en/1.7/topics/

https://docs.djangoproject.com/en/1.7/topics/performance/#alternative-software-implementations


2015年8月14日金曜日

memcached

(いまさら感満載だけど)memcached 周辺についてちょいと調べる機会があった。
まぁぐぐると何年か前の記事なりなんなりがあれこれみつかるよね。

で、
Python で使える有名な memcached クライアントライブラリは
python-memcached か pylibmc だと思う。Django のドキュメントに記載されているし。
https://docs.djangoproject.com/en/1.8/topics/cache/#memcached

前いたとこだとほぼ python-memcached を使っていた記憶があるのだけども、、python-memcached 単体では

Consistent Hashing 使えない

のよね。。
今も、2010年の stackoverflow のポスト内容と変わらずであった。
Djangoでつかうなら hash_ring いれて django-memcached-hashring 使いましょう、と。

pylibmc なら OK. それでもデフォルトは consistent hashing ではないようだけど。
http://sendapatch.se/projects/pylibmc/behaviors.html#id3


Cython でゴリゴリかかれてる libmc とやらは使えるぽい。ちゃんとみてないけど ketama.cpp あるので、きっと。

ketama は 1年くらい前に README 修正されて、メンテナー募集してるのね。
https://github.com/RJ/ketama

2015年8月10日月曜日

PyPy

本番に導入した事例があるようだ。

前勤めていた会社でも Python やら Django やらつかっていて、技術的に濃いところを知ってるプログラマさんが「PyPy どうだろうねー」と言っていたことがあった(2011~2012年くらい)。

その基本構成は 2009年末頃からさほど変わっていなかったので、「ウェブオペレーション」にもある




"常に5年後の計画を作るということだ。「今のソリューションは5年後も大丈夫か?」と自問自答しよう(以下略"

という教訓の通り、今もなおその構成が健在かつトラフィックが増してるなどして性能がプアで悩ましい状況が生まれていたとしたらちょうどいい解決策かも、と思った。
(まぁちゃんと計画してるんなら別の言語にしてるのだろうが・・・)

なので興味津津。

当時の PyPy, PyMySQL, uWSGI の状況は覚えてないけども「ちょっくらためしてみるか」と思えるほど整ってなかったかな。

2.5倍とかくと「おぉ〜」と思い、250%とかくと「まじで!?すごーーーーい」と思える。なんとなく。

PyPy's Speed Center
みると The geometric average of all benchmarks is 0.14 or 7.1 times faster than CPython とある。
 
感想としては
・お手伝い先の中の人の経験値になってるのかはなんとなく気になる(まるっとお手伝い元さんの成果だと評価されないんだろうな、とか今後の改善つらいのかなとか、その後の運用とかとか)
・開発環境はどうしてるかしら
・プロファイリングや種々の取り組み方などなどもきになる
・「Python アプリと言っても JSON 受け取ったり戻したりするウェブアプリなので、たいした構成では無い。」
から
「かなり複雑で巨大なWebアプリケーション、ユーザ数は 100 万以上。」となってるので、当初から適用箇所かわったのかな。

とか、

・Instagram や Pinterest のその後の構成が気になってきた
Pinterest は 2011年では 'heavyly-modified' Django だったり Tornado つかってたりする。
http://www.quora.com/What-is-the-technology-stack-behind-Pinterest-1
Instagram 3年前は: http://instagram-engineering.tumblr.com/post/13649370142/what-powers-instagram-hundreds-of-instances
Disqus もたしか Django 使っている(いた?)ような。 
・Dropbox の pyston どうなってるのかしら
・同じノリ(?)でクックパッドさんが Rubinius にしたらどうなるのか
(そもそも PyPy の目指すところと Rubinius の目指すところが似てるのかすら知らないけど)

ちょいとぐぐってみると Quora が PyPy 使ってたらしき記事をみたけど、その後使わなくなってた。今は不明。http://www.quora.com/Is-Quora-still-running-on-PyPy
"The main reason for not switching to PyPy is its performance: in our case CPython + Cython version is noticeably faster (at least currently)." と。Django 絡んでなさそうな気がする。

そういやちょっと前に Cython 本、日本語版でてたね。

2015年4月19日日曜日

Django 1.8

昨年夏ごろ 1.6.x でごにょごにょしてたのだけど今月、1.8 でてたのね・・。
Django 1.8 released
1.7 は昨年9月に。
Download を見る限り、なにかしらのしがらみがなければさっさと1.8 を使うのがよさげ。

Python の対応バージョンでみてみると
1.6 で 2.6.x, 2.7.x, 3.2.x, 3.3.x
https://docs.djangoproject.com/en/1.8/releases/1.6/#python-compatibility

1.7 で 2.7.x, 3.2.x, 3.3.x, 3.4.x
https://docs.djangoproject.com/en/1.8/releases/1.7/#python-compatibility

1.8 は 1.7 と同じよう。
https://docs.djangoproject.com/en/1.8/releases/1.8/#python-compatibility

we highly recommend the latest minor release. とあるので 3系なら 3.4.x 使ってねということではあるな。

2014年7月22日火曜日

Django で少しごにょごにょ

Django と某サービスを利用して、非常にちっさなウェブアプリをこさえた。
小さいならflaskでええやんと思うかもしれないけど、多少なりとも知っているほうを選択。
最新バージョンの1.6.5を使ったのだが、1.5 からの ALLOWED_HOSTS ではまるなどした・・。

某社いるときにみてたのは 1.0 ~ 1.4くらいの時期だったかな。それ以降のアプリはノータッチだったので1.5による影響を知らず。1.4くらいからディレクトリ構成が多少変わった記憶が。各チームがどう使いこなしていたか、ほぼ出てきてなかったような。今思っても勿体ない。

話は戻って、(こんなかんじであれこれぐぐりつつ)作ってるとなかなか楽しい。
Pythonicなコードでもないし、Django使いこなしてる感は現状ほぼ無いので、今後いくつか習作をこさえて、もうちょっと手に馴染ませるか。

タイムリー(?)な具合で第三版がでる模様。なかなか値が張るけども。Kindle版待ってみるか・・

Pythonは「しばらくいじってなくて忘れてしまったときの「なんじゃこりゃ」感」が自分の中で最も低いかもしれない。

2013年6月15日土曜日

Python Quick Reference に スタイルシートが無くなってたので報告したらすぐ直してくれた

Python Quick Reference
というサイトがあり、PDF や html + css を zip 圧縮したものを配布されていたりもする。
結構前からここの配布物をローカルの Mac に展開して参照していて、4月にアップデートされていたのに今頃気づいたので、再度取得して置き換えた。

すると、ページ上部の Style chooser: が動かなくなった><

ちょっと調べてみたところ、zip 展開後に css というディレクトリができるのだけど styleswicher.js というファイルがなくなっており、styleswicher.txt という名前で「ファイルが消されたよ〜」という記述がかかれたファイルになっていた。

その旨を作者さんに報告したところ、その日のうちに

You are right, I fixed it now on the site, thank you for reporting!

と返事がきて直してもらえた。

よかったよかった。

Ruby や Perl のこれに似たようなのあるのかなぁ。探してみよう。

2013年4月18日木曜日

リンクいろいろ

ここ最近みたもの。なにか調べてる最中にかかったものなど。

そーしゃるぶっくまーくなサービスは最早使ってないし、使っていた当時もあとで見ることがとんとなかったので、ためしにブログのエントリにしたためてみようと。

Mark McGranaghan @ Heroku SF Metrics Meetup Talk: Visibility at Heroku

スタンフォード大がiOSプログラミングの入門コースを無料で提供

完璧すぎるミラー

Tools for Amazon Web Services


(Ruby 1.9.3, 2.0.0 でオワコンになった) REEがなにかはこのへん↓で
http://d.hatena.ne.jp/keita_yamaguchi/20080618/1213800576
http://www.youtube.com/watch?v=ghLCtCwAKqQ

Ruby Garbage Collector CoW performance

http://docs.python.org/2.7/whatsnew/2.3.html#pymalloc-a-specialized-object-allocator

EC2 で varnish するなら・・・の一例
http://www.slideshare.net/mirakui/ec2varnish/43

スポットインスタンスリリース当時の記事
http://news.mynavi.jp/news/2009/12/16/014/index.html

ext4 (2010年の記事)
http://tech.slashdot.org/story/10/01/14/2027255/google-switching-to-ext4-filesystem

ファイルシステムな記事


Redis 2.8 には Cluster くるかなー
http://antirez.com/news/49

ちょうべんりそうな ps_helper

自分が職を失った経緯
gkbr な記事ではある..

Pythonの隠された機能9つ
原文の stackoverflow のほうもみてみるとよい。

2012年9月1日土曜日

Python やら Django のドキュメントをローカルにおいておく


MacPorts 利用。

nginx いれる
$ sudo port install nginx

起動する設定しておく
$ sudo port load nginx

MacPorts で python2.7 のドキュメントをいれる
$ sudo port install py27-htmldocs

Python Quick Reference の gzipped な html をここから入手する
http://rgruet.free.fr/#QuickRef

Django の gzipped な html をここから入手する
https://docs.djangoproject.com/en/1.4/
の右ペイン Offline (Django 1.4): HTML | PDF | ePub の HTML

gzipped な html を適当なディレクトリに展開. ~/misc/ebook とした。
$ mkdir -p ~/misc/ebook/PQR2.7.html  && cd ~/misc/ebook/PQR2.7.html
$ unzip ~/Download/PQR2.7.html.zip
$ cd ..
$ mkdir -p django/1.4 && cd django/1.4
$ unzip ~/Download/django-docs-1.4-en.zip


nginx 設定 (一部抜粋)
    server_name  techdoc.local djangodoc.local pqr27.local py27doc.local;

    if ($host = 'djangodoc.local') {
        rewrite ^/$ /django/1.4/ redirect;
    }

    if ($host = 'pqr27.local') {
        rewrite ^/$ /PQR2.7.html/PQR2.7.html redirect;
    }

    if ($host = 'py27doc.local') {
        rewrite ^/$ python27-doc/ redirect;
    }

    location /python27-doc {
        root /opt/local/share/doc;
        index index.html index.htm;
    }

    location / {
        root   /Users/katsuji/misc/ebook;
        index  index.html index.htm;
    }

nginx -t して OK なら nginx -s reload

/etc/hosts に
127.0.0.1 pqr27.local py27doc.local djangodoc.local techdoc.local
を追記

みる。

2011年6月5日日曜日

なんとなく思い出した

このエントリ。元の Zed Shaw のエントリは 2007年末だったみたい。

http://madscientist.jp/~ikegami/diary/20080103.html#p02

プログラマは二種類に分けられる:正規の計算機工学をこれからも学び続けるプログラマとそうでないプログラマ。

前者なプログラマとは知りあいになっておきたい。刺激を受ける意味で。気後れしまくりだろうけど。


Zed Shaw は Learn Python The Hard Way を書いてたりオンラインのコースやってたりする。コード書いて、物も書け、人に教えられるのは素敵だなー。

2011年5月15日日曜日

python_select から python_select が無くなった

port sync, port outdated したら python関係のものがもりもり新しくなってたので
port upgrade outdated して python_select が 0.3_1 になりました。

% port installed python_select
The following ports are currently installed:
python_select @0.3_1 (active)

これまでパッケージ名と同じ python_select コマンドで切り替えられていたのだけど、
python_select コマンドが無くなった模様。

% port contents python_select
Port python_select contains:
/opt/local/etc/select/python/base
/opt/local/etc/select/python/none
/opt/local/etc/select/python/python25-apple
/opt/local/etc/select/python/python26-apple

port select で切り替えれば OK!

% port select
Error: port select [--list|--set|--show] <group> [<version>]

% port select --list python
Available versions for python:
none
python25-apple
python26
python26-apple
python27 (active)
python32

% port select --show python
The currently selected version for 'python' is 'python27'.

% sudo port select --set python python26
Password:
Selecting 'python26' for 'python' succeeded. 'python26' is now active.

% port select --show python
The currently selected version for 'python' is 'python26'.

% port select --list python
Available versions for python:
none
python25-apple
python26 (active)
python26-apple
python27
python32

scala_select も同じよう(port コマンドで切り替えるよう)になるのかな

2010年11月21日日曜日

[メモ] (Python|Ruby) koans

というものの存在を知る。

TL上から Python Koans をしり、
さらに Ruby Koans というものがある、のをしる。

2010年11月14日日曜日

Python Hack-a-thon 2010.11

参加した。

当初はその予定ではなかったのだけど、10:00 - 15:00 のハンズオンのひとつ、
Django + AWS の手伝いで木曜くらいよりごそごそ準備をしていた流れで、
ここのところ勉強会系なものに足を運んでなかったし、Django 部分でもお触りしとくかと思い参加。
あと、オラクルビルへ行ったこともなかったので。

今日使った AMI は、Amazon Linux AMI をもとに作成した EBSブートなもの。
Django まわりの環境はイソッパさんに構築してもらい、
Public で共有してみなさんにつかってもらった。なので ssh 時は ec2-user@ほげほげ。

もちっと Django に触れる時間増やそう。。
staging 環境や production 環境の構築はガリガリやってるんだけどね。

ハンズオンの後はプレゼンがいくつか。
Handler Socket
pyramid
まいんちゃんmeinheld
つまみぐい勉強法
マインドマップ
サヴァイブしようぜ
Web 魚拓
PHP Go
・・などなど!

なかなか疲れたけど、良い意味で、あのゆるい感じは心地よかった。

あと、こんなんとかね
Python hack-a-thonで起きた笑いと高コンテキスト文化
> 今日来てた人たちの関連する本をアフィってみよう。すげーな
自分が記事書いた SD 誌もアフィってあるよ!

また参加するつもり。http://atnd.org/events/9977