タグ

Pythonに関するzegenvsのブックマーク (14)

  • defもclassもmoduleも使わないrubyメタプログラミング - sshi.Continual

    rubyリングにも参加したことでもあるし、今日はrubyネタ。 「Pythonでのメタクラス・プログラミング」(http://www-06.ibm.com/jp/developerworks/linux/030425/j_l-pymeta.html)を読んで、ふと「Rubyでメタっぽいことやったらどこまで出来るかなあ」と思ったので、いろいろ試してみた。結局、文字列をevalすることもなく、def構文もclass構文もmodule構文も使うことなく、動的にクラスを生成できるところまで行き着いたのでご紹介。 メタなしかけの説明は後にして、まずはサンプル。こんなコードが書けるようになる。 #クラス定義 Def_class.call( "Counter",nil, proc {attr_reader :count}, { :initialize=>proc {|count|@count = cou

    defもclassもmoduleも使わないrubyメタプログラミング - sshi.Continual
  • tracの管理機能をインストしてみた - Charsbar::Note

    チケット便利!と思いつつ、原稿整理に使うのにcomponent1とか、defunctとかはないだろうと思ったので、管理機能たるwebadminというプラグインを入れてみる。例によって Win32 環境の Apache2+mod_python 2.3系+trac 0.9.3 が前提となっとりますが、他の環境でもそんなには変わらないでしょう。英語を気にしない人は http://projects.edgewall.com/trac/wiki/TracModPython http://projects.edgewall.com/trac/wiki/TracPermissions http://projects.edgewall.com/trac/wiki/WebAdmin http://projects.edgewall.com/trac/wiki/TracPlugins の四つを読んでおけば問題

    tracの管理機能をインストしてみた - Charsbar::Note
  • 「Ruby on Rails」に致命的な脆弱性──修正不可能 - bogusnews

    ナウでヤングなWeb開発者のあいだで人気の高いアプリケーションフレームワーク「Ruby on Rails」に9日、致命的な脆弱性が見つかった。開発チームでは 「かなり大きな不具合で、根的な修正は不可能」 としており、オープンソース界に衝撃が走っている。 影響があるのはRuby on Railsの全バージョン。この脆弱性はRails開発者の精神を侵する悪質なもので、発症すると Perl利用者をバカにする いちいちなんでも「オブジェクト、オブジェクト」と言っていけすかない フォームメーラやアクセスカウンタすらRailsで組もうとする「フレームワーク脳」になる などの不調を引き起こすという。 この脆弱性を衝かれておかしくなった開発者は、日を中心にすでに多数報告されており、 就職面接で「うちはJavaなんだよねぇ」と言ったらblogで逆ギレされた 「キミがRails好きでも、他の人がPHP

    「Ruby on Rails」に致命的な脆弱性──修正不可能 - bogusnews
  • やどりぎ@NET: trac + TracBurndownプラグインでスクラム開発のすすめ

    ソフトウェア開発手法とその管理システムには様々な選択肢がある。私もこれまで色々試行錯誤してきたのだが、今は、tracとバーンダウンチャートを追加するプラグインであるTracBurndownプラグインでスクラム開発という環境が気に入っている。 この環境を導入したきっかけは、転勤で勤務地が変わったことである。 これまで、東京でチームを組んでソフトウェア開発をしており、その仕事を引き続き仙台で行うことになったが、今までの開発プロセスだと不都合が出始めた。 タスクカードを使った「かんばん方式」とスクラムをベースにした開発プロセスを組み合わせて使っているのだが、物理的に開発拠点が分離してしまい、タスクカードが使いにくくなってしまったのである。 いいタイミングなので、周囲の評価が高いので試してみようと構築していたtracにバーンダウンチャートのプラグインを導入して、全面的に移行することにしたという訳だ

    やどりぎ@NET: trac + TracBurndownプラグインでスクラム開発のすすめ
  • いやなブログ - スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl

    スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl スクリプト言語用の CUIのデバッガの使い方を簡単にまとめました。対象言語は Ruby, Python, Perl です。 私は C, C++ でプログラムを書いているときはデバッガ (主に GNU/Linux 上の gdb) を頻繁に利用します。しかし、スクリプト言語ではそれほどでもありません。これはおそらく次のような理由によります。 ビルドが不要なので printf デバッグが容易 (ある程度大きい C++ のプログラムではビルド時間が長いので printf の挿入はしんどい) 異常終了時にスタックトレースが表示される (Ruby, Python なら自動、Perl の場合は use Carp; $SIG{__DIE__} = \&Carp::confess; など) オブジェクトのインスペクトが簡単 (Ru

  • Rubyのヒアドキュメントの話 (recompile.net)

    Akasaka.rbのIRCRubyのヒアドキュメントの話が盛り上がりましたので、ちょっとだけご紹介します。Rubyでは、PerlPythonといったスクリプト言語と同じように、ヒアドキュメントが利用できます。例えば、次のようなケースです。 hello = <<-EOS Hello, World! EOS puts hello.reverse 上記の例では、一時変数としてhello変数を利用していますが、この一時変数をなくすこともできます。EOSの直後に閉じ括弧を置くとエラーになるので注意しましょう。 (<<-EOS Hello, World! EOS ).reverse さらに、おそらくPerlの文法からだとおもうのですが、次のような書き方もできます。 (<<-EOS).reverse Hello, World! EOS Rubyって当にキモいですね!!

  • ウノウラボ Unoh Labs: Rubyでネットワークサーバを書く

    尾藤正人(a.k.a BTO)です 先日公開したブラウザだけでネットワーク対戦ゲームができるサイト「プラッシュ」では、 フラッシュとネットワーク通信を行う専用のXMLSocketサーバを開発しました。 このXMLSocketサーバはrubyで書かれています。 LLでデーモンを書く需要が、それほどあるとは思えませんが、デーモンを書く際に気をつけた点、工夫した点をまとめてみたいと思います。 なぜrubyを選んだのか rubyを選んだのには理由は2つあります。 Railsを採用した LLで早く開発をしたかった 僕も昨今のRailsブームにのって個人的にRailsを使い始めていました。 プラッシュは完全に新規プロジェクトで環境を選択する事ができたので、迷わずRailsを選択しました。 では、なぜCのようなコンパイル言語で書かなかったのか。 速く動くものを開発するよりも、早く開発をしたかったからです

  • "Collective Intelligence"のサンプルをrubyに移植してみた - ma2の日記

    Programming Collective Intelligence: Building Smart Web 2.0 Applications 作者: Toby Segaran出版社/メーカー: O'Reilly Media発売日: 2007/08/26メディア: ペーパーバック購入: 3人 クリック: 117回この商品を含むブログ (31件) を見る「集合知」を解説するこのにはいろんな実例とサンプルが出てくる。サンプルは python なので ruby に書き換えてみた。書き換えたのは第二章の "Making Recommendations" の一部です。なんらかのアイテム(とか映画とか)とその評価(Amazonレビューの★とか)を複数の人間が行った場合に,その情報を元に「似た傾向の評価者」を探し,似た傾向の評価者のリストから自分が未評価のアイテム(つまり未読のとか未見の映画とか

    "Collective Intelligence"のサンプルをrubyに移植してみた - ma2の日記
  • MathMLに関する雑多なメモ - 日向夏特殊応援部隊

    まず一次資料として、 Mathematical Markup Language (MathML) Version 2.0 (Second Edition) Mozilla MathML Project - Mozilla | MDN http://web.mit.edu/is/topics/webpublishing/mathml/index.html MathML 日語情報 ここら辺。 対応ブラウザについて 現時点ではMozilla系のブラウザとMathPlayerをインストールしたIE6/7のみレンダリングが可能です。 fontのインストール Mozillaの場合は専用のフォントをインストールする必要があるようです。 (一応無くても数式はそれっぽくなるけどルート記号とかおかしくなるので注意) Fonts for Mozilla's MathML engine - Mozilla |

    MathMLに関する雑多なメモ - 日向夏特殊応援部隊
  • 画像ファイルに PHP コードを埋め込む攻撃は既知の問題

    (Last Updated On: 2015年9月10日)国内外のメディアで「画像ファイルに攻撃用のPHPコードが含まれていた」と比較的大きく取り上げられています。しかし、この攻撃手法は古くから知られていた方法です。条件は多少厳しくなりますがPerl, Ruby, Pythonでも同様の攻撃は考えられます。PHPの場合は言語仕様的に他の言語に比べ攻撃が容易です。 典型的な攻撃のシナリオは次の通りです。 追記:Tokenizerを使った例に修正しました。 アバダなどの画像ファイルをアップロードできるサイトを探す ローカルファイルインクルードバグを探す 画像ファイルにサイトが利用している言語のコードを埋め込む 攻撃コードを含んだファイルを画像ファイルとしてアップロードする ローカルファイルインクルードバグを利用して攻撃コードを実行する PHPの場合、リモートインクルードバグを攻撃するための攻撃

    画像ファイルに PHP コードを埋め込む攻撃は既知の問題
  • Pythonを勉強するなら - 西尾泰和のはてなダイアリー

    amachangに教えてもらった。 http://d.hatena.ne.jp/dropdb/20071107#c dropdb 『5年前、某社の面接でpythonを勉強し始めたと言ったら、日でパイソンなんて需要ねーよwwwって言われて勉強をやめました。入社後、暫くはパイソンなんてアダナをつけられてトラウマです。私の呪いで流行らないと思います!!!フンガーーーーーッ』 女性(or部下)が自分の知らないことを勉強してると「そんなの意味ない」って言い切っちゃう男性(or上司)って、いるよねー。 無能な上司はこうやって部下の芽を摘むんだ! ところでこの「ギークになりたい女性ブーム」に乗って、Django-jaでもPythonを勉強したい女性を大募集したりしませんか!しませんか!教えちゃうよ! - 追記: ブログに「うまく動かなかった」って愚痴を書くときはエラーメッセージをコピペするといいよ!L

    Pythonを勉強するなら - 西尾泰和のはてなダイアリー
  • 西尾泰和のブログ @ Cybozu Labs: Python4JS and KEMURI Interperer on it

    OreScript時代の幕開け - yukobaの日記はとても面白い。 ので、 Pythonで書かれているKEMURI のインタプリタを<script type="text/python4js">で囲ってHTMLソースに書いておくと、それがJavaScriptに変換されて実行される、というデモを作ってみました。 Python4JS and KEMURI Interperer on it ラボでは他にも JSRuby - Javascript による Ruby(っぽい)実装 (nakatani @ cybozu labs) などが公開されていますが、僕のこのデモは深夜ノリで作ったため、Python2.5の全機能をサポートしているわけではありません。今後改良していく予定もありません。ごめんなさいごめんなさい。ソースコードを見て石を投げないで!

  • PEG - 西尾泰和のはてなダイアリー

    あー。なんかトークン間のスペースを明示的に指定しないと行けない点をけなされるPEGだけど、それはトークンの区切り方が「一番メジャーな方法一つに決めうち」ではない、という逆の見方もできるんだ。 というのは、今見ていたPEGによるPEGの定義では、コメントや改行を区切りに含めていた。それもすごくシンプルでわかりやすく書ける。 Spacing <- (Space / Comment)* Comment <- ’#’ (!EndOfLine .)* EndOfLine Space <- ’ ’ / ’\t’ / EndOfLine EndOfLine <- ’\r\n’ / ’\n’ / ’\r’式を書いていて長くなってくると、適宜折り返してコメントをつけて見やすくしたくなるよね。そういうことが簡単にサポートできる。yaccとかでどうやってやるのかは僕は詳しくないけども、下のような式はRubyで-

    PEG - 西尾泰和のはてなダイアリー
  • 2008年のオープンソースによるシステム管理 | gihyo.jp

    2007年を振り返って 私にとっての2007年最大のトピックは、やはりPuppetです。2007年からpaperboy&co.の技術全般を見る立場となり、まずはシステム構築の効率化を目指して、そのためのツールを探していたところ、巡り会ったのがPuppetでした。 私がPuppetを知った当時は日語でのまとまった情報がほとんどなかったのですが、日語 Wikiの立ち上げや、ここgihyo.jpでの連載、Software Design誌2007年12月号での特集など、日語の情報も充実してきており、Puppet Dojoと題したセミナーが実施されるなど、日技術者の間でPuppetの認知度がかなり向上した1年だったのではないでしょうか。 2008年のオープンソースによるシステム管理 2008年の私的注目ツール Puppetは、マシンをラッキングし、OSインストール/ネットワーク接続した後の

    2008年のオープンソースによるシステム管理 | gihyo.jp
  • 1