標準域ニッパチ通し大口径ズームレンズSEL2470GMを手にいれたのでいろいろ撮ってきた

久々のカメラネタです。

すべては、ここから始まった

それは、梅の季節のことでした。

当時、僕は数多くの犠牲者を出した某炎上案件の鎮火に当たっていました。わりと過酷な仕事だったので、自分にご褒美を与えることにしました。

続きを読む

Java vs Python - 構文の違い選手権(超不完全版)

2018.05.26 追記: ソースコードのコメント中にある〝Python〟の綴りに誤りがあるとのご指摘を頂いたので訂正しました。

というわけで、春の Python まつりやります。やりません。

かく言う僕も、お仕事では C#Java ばかり触っているせいで、ごくたまに Python を触ろうとすると構文をド忘れしていることが非常に多いものです。

Pythonではどう書けばいいんだっけ?」という思い出し時間は人生の無駄だと気づいたので、自分用メモとして JavaPython の構文の対比を適当にまとめておくことにしました。

本日のメニューは以下の通りです。動作確認を行った処理系のバージョンは、それぞれ Java 1.8 / Python 3.6 です。

続きを読む

2015年 買ってよかった本10選 +1

2015年も残すところあとわずかです。

そんな今年1年のおさらいに、僕が実際に買って読んだ中でも特に琴線に触れた本を、独断と偏見で10冊ほどピックアップしました。

※ 2015/12/29追記: 『SQL実践入門──高速でわかりやすいクエリの書き方 (WEB+DB PRESS plus)』を仲間に入れました。

居酒屋ハムスターの銀次

居酒屋ハムスターの銀次 世界一有名なハムスター・銀次の写真集。素の愛くるしさは言うに及ばず、精巧な居酒屋のミニチュアセットも相まって味わい深い独特の世界観が漂っている。

各写真には、場末の居酒屋店主がいかにも思いつきで言いそうな名言・迷言が添えられており(「人生はなるようにしかならへん」「世界中がアンタを否定したら 俺は世界中を否定したる」など)、疲れたときに開くとほのぼの癒される。

続きを読む

SQLインジェクションのお話

注意: 本日のお話はフィクションです。

うっかりしていると陥りがちなミスなので、野暮を承知で注意喚起。

前置き

株式会社コラショは、青森県八戸市に本社を構える菓子メーカーである。国内7拠点に工場を持ち、独自の生産管理システム「BNS」を運用している。

このシステムは、もともと5年前に準大手ITベンダのトリッピーソリューションズ(株)がスクラッチ開発したものである。しかし、運用中に品質的課題が多発したことから、このたびベンダを弊社うちに切り替えて品質向上と機能強化を図ることとなった。

僕は、その案件にプログラマとして参戦している。

ある夜。

しんと静まったオフィスの中で、僕は顧客から受領した現行ソースを解読していた。が、さっそく怪しげな実装を目の当たりにすることとなる。

続きを読む

Processing.js(3Dモード)ではぅ君をふわふわさせる、の巻(メイキング篇)#p5advent

この記事は 本篇 のつづきです(ページが重くなりすぎたので分割しました)。

【もくじ】

  • はじめに
  • でこぼこ感のつくり方
    • 概要と実装手順
    • 高さマップを作る
    • 高さマップを法線マップに変換する
    • 法線マップからピクセルごとの陰影情報を計算する
    • ピクセルごとの陰影情報を、面のテクスチャと合成する
  • Processing.jsのバグと回避策
    • ライティング(シェーディング)がレンダリングに反映されないバグ
    • テクスチャを書き換えてもレンダリング結果に反映されないバグ
  • その他がんばったこと
    • ゆるふわ感アップ大作戦
    • 描画の高速化(焼け石に水)
  • あとがき
  • 謝辞
  • 参考文献
続きを読む

Processing.js(3Dモード)ではぅ君をふわふわさせる、の巻 #p5advent

みなさんこんにちは。

Processing Advent Calendar 2015 5日目担当の たーせる と申します。

今回は、小さなスケッチをひとつだけ投稿します。
(スマフォやタブレットでご覧の皆様は甚だしく処理落ちするかもしれません

続きを読む

DiffアルゴリズムをC#でてきとうに実装した

本日のあらすじ

Diff アルゴリズムC# でてきとうに実装しました(タイトルそのままです)。

ちなみに 2 年半ほど前にも Java で似たようなことをしていましたが、当時はスクリーンショットだけ載せてはいおしまいでした。今回はせっかくなので超カオスC#のソースも載せておこうと思います。tercel-tech.hatenablog.com

Diffって?

Diffディフとは異なるデータの差分を検出する処理のことで、業界の符丁では「Diffを取る」などと言ったりします。例として、2つのテキストのDiffを取ってみましょう。ちなみに例文はアンサイクロペディアからパクりました

テキスト1:

個のよ鵜な返還ミスノお御杉る分掌はな2がなん打か輪からないの出、中石て乳緑し魔性。

テキスト2:

このような変換ミスの多すぎる文章はなにがなんだか分からないので、注意して入力しましょう。

テキスト1とテキスト2のDiffを取った結果:

本日の成果物

リハビリも兼ねて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.