久々のカメラネタです。
すべては、ここから始まった
それは、梅の季節のことでした。
当時、僕は数多くの犠牲者を出した某炎上案件の鎮火に当たっていました。わりと過酷な仕事だったので、自分にご褒美を与えることにしました。
久々のカメラネタです。
それは、梅の季節のことでした。
当時、僕は数多くの犠牲者を出した某炎上案件の鎮火に当たっていました。わりと過酷な仕事だったので、自分にご褒美を与えることにしました。
2018.05.26 追記: ソースコードのコメント中にある〝Python〟の綴りに誤りがあるとのご指摘を頂いたので訂正しました。
Pythonか…。
— たーせる (@tercel_s) 2011年2月7日
というわけで、春の Python まつりやります。やりません。
pythonわかりませ〜〜〜んああ〜〜〜
— 名前を入力して下さい (@sn2562) 2016年3月1日
かく言う僕も、お仕事では C# か Java ばかり触っているせいで、ごくたまに Python を触ろうとすると構文をド忘れしていることが非常に多いものです。
「Pythonではどう書けばいいんだっけ?」という思い出し時間は人生の無駄だと気づいたので、自分用メモとして Java と Python の構文の対比を適当にまとめておくことにしました。
本日のメニューは以下の通りです。動作確認を行った処理系のバージョンは、それぞれ Java 1.8 / Python 3.6 です。
2015年も残すところあとわずかです。
そんな今年1年のおさらいに、僕が実際に買って読んだ中でも特に琴線に触れた本を、独断と偏見で10冊ほどピックアップしました。
※ 2015/12/29追記: 『SQL実践入門──高速でわかりやすいクエリの書き方 (WEB+DB PRESS plus)』を仲間に入れました。
世界一有名なハムスター・銀次の写真集。素の愛くるしさは言うに及ばず、精巧な居酒屋のミニチュアセットも相まって味わい深い独特の世界観が漂っている。
各写真には、場末の居酒屋店主がいかにも思いつきで言いそうな名言・迷言が添えられており(「人生はなるようにしかならへん」「世界中がアンタを否定したら 俺は世界中を否定したる」など)、疲れたときに開くとほのぼの癒される。
注意: 本日のお話はフィクションです。
うっかりしていると陥りがちなミスなので、野暮を承知で注意喚起。
株式会社コラショは、青森県八戸市に本社を構える菓子メーカーである。国内7拠点に工場を持ち、独自の生産管理システム「BNS」を運用している。
このシステムは、もともと5年前に準大手ITベンダのトリッピーソリューションズ(株)がスクラッチ開発したものである。しかし、運用中に品質的課題が多発したことから、このたびベンダを弊社に切り替えて品質向上と機能強化を図ることとなった。
僕は、その案件にプログラマとして参戦している。
ある夜。
しんと静まったオフィスの中で、僕は顧客から受領した現行ソースを解読していた。が、さっそく怪しげな実装を目の当たりにすることとなる。
みなさんこんにちは。
Processing Advent Calendar 2015 5日目担当の たーせる と申します。
今回は、小さなスケッチをひとつだけ投稿します。
(スマフォやタブレットでご覧の皆様は甚だしく処理落ちするかもしれません)
Diff アルゴリズムを C# でてきとうに実装しました(タイトルそのままです)。
ちなみに 2 年半ほど前にも Java で似たようなことをしていましたが、当時はスクリーンショットだけ載せてはいおしまいでした。今回はせっかくなので超カオスなC#のソースも載せておこうと思います。tercel-tech.hatenablog.com
Diffとは異なるデータの差分を検出する処理のことで、業界の符丁では「Diffを取る」などと言ったりします。例として、2つのテキストのDiffを取ってみましょう。ちなみに例文はアンサイクロペディアからパクりました。
テキスト1:
個のよ鵜な返還ミスノお御杉る分掌はな2がなん打か輪からないの出、中石て乳緑し魔性。
テキスト2:
このような変換ミスの多すぎる文章はなにがなんだか分からないので、注意して入力しましょう。
テキスト1とテキスト2のDiffを取った結果:
こ個のよう鵜な変換返還ミスの多すノぎお御杉る文章分掌はなに2がなんだ打か分輪からないので出、 注意し中石て入力乳緑しまし魔ょ性う。
リハビリも兼ねてDiff情報を求めるための拡張メソッドを作りました。
以下の使用例のように、string
オブジェクトに対して直接Diff
メソッドを呼べるようになります。
使用例:
// 「おっぱい」と「いっぱい」のDiffを取る var result = "おっぱい".Diff("いっぱい"); // 結果を出力する foreach (var item in result) { Console.WriteLine("{0} {1}", item.Key, item.Value); }
実行結果:
い + お - っ = ぱ = い =
これを見た人は、「あぁ、『おっぱい』を『いっぱい』に書き換えるためには、1文字目に『い』を追加して、代わりに『お』を削除すればいいんだね。『っぱい』は共通要素だからそのままでいいんだね」とたちどころに理解できます。よかった。めでたい。
なお、出力の見た目をもう少しマシにする方法をこの記事の最後に載せておきました。
Copyright (c) 2012 @tercel_s, @iTercel, @pi_cro_s.