タグ

ブックマーク / aike.hatenablog.com (9)

  • ロジックをDBMS側に寄せるデザインパターン - aike’s blog

    O/Rマッパー(ORM)かSQLか、という話が一部で盛り上がっていたので追いかけていました。 ORMについては以下のような見方をすることもできます。 「最初からあらゆる要素をオブジェクト指向で設計、実装すると決めた新規開発システムならばORMは有力な採用候補」 「非オブジェクト指向で設計、実装されたシステムにORMはあまり向いていない」 なので、すでに存在しているデータベース上で別の新しいシステムを構築するような場合は、ORMはあまり向いていないと思います。 O/Rマッピングツールに対する誤解をときたい - ITは芸術だ 引用したエントリはとても冷静にORMの利点を説明している良記事です。 この記事の内容には全面的に賛同しつつ、自分としてはSQL側からちょっと書いてみたいと思います。 以前、試しにクエリに付随するロジックをできるだけDMBS側(SQL)に寄せるようにして開発したことがありま

    ロジックをDBMS側に寄せるデザインパターン - aike’s blog
    iww
    iww 2022/01/14
    ストアドプロシージャで書いてたらロジックがとっ散らかる上にポータビリティも無くなるので良くない気がする
  • 超簡単に3DCGできるJavaScriptライブラリ作った - aike’s blog

    ブラウザでWebGLが使えるようになって3DCGプログラミングはずいぶん身近なものになりました。と書いてるそばから違和感を感じるくらい生のWebGLをJavaScriptで書くのは敷居が高かったりします。できなくはないけど前提となる知識がかなり必要な感じ。 three.jsが登場したときは、これで普通に3DCGができるということで一気にひろまりました。とはいえ、それでもまだやることは多く、画面に四角い箱を表示する場合以下のようなプログラムを書くことになります。 ・シーンを作成 ・ライトを作成、位置と向きを設定、シーンに追加 ・カメラを作成、位置と向きを設定、シーンに追加 ・マテリアルを作成、色を指定 ・BoxGeometryを作成、サイズを指定 ・メッシュを作成、位置と向きを設定、シーンに追加 ・レンダラーを作成 ・レンダリングループ処理 これらのひとつでも間違えたりパラメーターが適切でな

    超簡単に3DCGできるJavaScriptライブラリ作った - aike’s blog
  • 全天球パノラマ動画を表示するJavaScriptライブラリ作った - aike’s blog

    複数台のGoProを組み合わせて360度上も下も撮影できる動画カメラが一部で流行りつつあるようです。 こんなやつ。 http://home360.co.jp/freedom360.html http://freedom360.us/ 要はRICOH THETAの動画版なんですが、動画ということで機材の価格もだいぶ違うし、複数の動画を合成する作業もまだまだけっこう手間も時間もかかります。 そこまで頑張って動画を作っても、公開がまた大変です。フリーのスタンドアロンプレイヤーはありますが(これとか)、見る人にインストールさせるのはちょっと面倒だし、Flashで作られた全天球動画プレイヤーも良いものがいろいろあるものの、自由にダウンロードできて自分のサイトで手軽に使えるものは今はちょっとなさそうです。 そんなわけでJavaScriptのThree.jsを使ってさくっと全天球動画プレイヤーを作ってみ

    全天球パノラマ動画を表示するJavaScriptライブラリ作った - aike’s blog
  • 不思議な円グラフを描くウェブサービス作ったよ - aike’s blog

    最近ツイッター界隈で不思議な円グラフを見かけました。 こんなやつです。 ちょっと調べてみると昨年の報道番組からキャプチャした映像のようです。 このグラフを見て、その手があったか!という新鮮な驚きを感じました。これまでの円グラフの常識にとらわれず、円の中心からあえてずらした位置から分割することで飛躍的に表現の幅を向上させています。無味乾燥で機械的なグラフにくらべて製作者の強い思いがぐっと伝わってきます。なんとイノベーティブでなんとワンダーなグラフなのでしょう。 でも、このグラフ、実際に描こうと思うとけっこう面倒です。Excelのグラフ機能をみても中心点の位置をずらす方法はなさそうです。 そんなわけでゆがんだ円グラフを描くウェブサービスを作りました。 ワンダー・グラフ・ジェネレイター 項目の追加変更はもちろん、中心をずらしたり、楕円形にして項目を強調したりできます。円グラフの秘められた表現力を

    不思議な円グラフを描くウェブサービス作ったよ - aike’s blog
    iww
    iww 2013/07/19
    あれは円グラフの中心をいじったのではなくて、円グラフからさらに円をくりぬいたものだと思ってた。
  • JavaScriptにsleepを実装しようとして気づいたら新言語を作ってた話 - aike’s blog

    あのですね、JavaScriptにsleep()とかwait()みたいなのってほしいじゃないですか。で、調べてみると標準にはなくて作れるには作れるけどブラウザ依存だったりビジーループだったりJava Applet併用だったりしてがっかりするじゃないですか。 ぼくは1年半くらい前に「竹内関数で音楽生成」っていうエントリーを書いたんですが、当然これをJavaScriptで計算しながら音を鳴らすページを作りたくなりますよね。ですよね。こう見えても昔はN88-BASICでCMD PLAYとかばりばり使ってたくちなんで、そのくらい簡単だと思うじゃないですか。そしたらもう当時はAudio APIも出たばかりで情報もすくなくてブラウザ依存で、しかもJavaScriptでsleepできないしふんだりけったりで最初の一歩も踏み出せない状態。 そんなわけでなんとか手はないかとこの1年以上ずっと試行錯誤してきて

    JavaScriptにsleepを実装しようとして気づいたら新言語を作ってた話 - aike’s blog
  • 電源ケーブルがにょろにょろする悩みが全面解決した話 - aike’s blog

    まあそんなわけでデスクトップPCの裏側とかケーブルだらけでなるべく見て見ぬ振りをして生活してるわけですが、年に一回くらい大掃除のときなんかに一念発起してすっきりさせようと取り組んだりしても無数の蛇のようなにょろにょろしたケーブル類と目が合うと次の瞬間もう心がすっかり石にされたりとかそんな繰り返しだったりします。 もちろん、これまでも無策だったわけじゃなくヨドバシカメラとかで結束バンドとかタイラップとかそういう名前の便利グッズをいくつも買ったりしてるんですけどいろいろとやっぱり不満がでてくるわけで。 たとえばこんなやつ。 ほしいのは、 ・簡単にケーブルをまとめられる ・ほどくときも切ったりしなくて何度でも使える ・ほどいた後は電源ケーブルと結束バンドがばらばらにならない ・あんまりかさばらない というようなやつなんだけど、すべての条件を満たすものは量販店とか100円ショップとかいくら探しても

    電源ケーブルがにょろにょろする悩みが全面解決した話 - aike’s blog
  • 竹内関数で音楽生成 - aike’s blog

    Lisperの人ならみんな知ってる竹内関数(たらいまわし関数)という関数があります。 定義としてはこんな感じ。 そのシンプルな定義からは想像もつかないほど複雑で膨大な再帰呼び出しがおこなわれるとても興味深い関数です。たとえば引数にTarai(10,5,0)を与えると343,073回も再帰呼び出しされたりします。 この関数呼び出しの引数がどのように変化するか知りたくてプログラムを書いて調べてみたところ、Tarai(10,5,0)の場合は3つの引数がそれぞれ0〜10(xは-1〜10)の間で少しずつ変化するなかで、2つの値を固定してひとつの値が下降していくような挙動があったりして、なんだか音楽の3和音のコード進行を思わせるような動き方です。 そういうことなら、ということで実際に音にして聴いてみました。Tarai関数が呼ばれるたびに引数のx、y、zを、0=ミ、1=ファ、2=ソ、……、のように音に割

    竹内関数で音楽生成 - aike’s blog
  • JavaScriptでシンセとか作るとき用のGUIライブラリ作った - aike’s blog

    ブラウザ(JavaScript)で動くシンセ的なアプリを作ろうと思うとGUIコントロールの便利なライブラリがなくてけっこう困ります。jQuery UIはわりと良いんだけど肝心のノブとかスイッチとかがなかったりするし。そんなわけでウェブ楽器のGUI作成に便利なjQuery UIっぽいJavaScriptライブラリを作成しました。 こんな感じでGUIコントロールを生成できます。 // 背景パネルの表示 $('<img />').panel({ id: 'panel', image: 'images/panel.jpg', left: 20, top: 20 }).appendTo('#draw'); // ノブの表示 $('<img />').knob({ id: 'knob01', image: 'images/knob.png', left: 100, top: 80, width: 85

    JavaScriptでシンセとか作るとき用のGUIライブラリ作った - aike’s blog
    iww
    iww 2011/11/29
    operaとIEでは動かない
  • おっぱいとデバッガ - aike’s blog

    これまで一度だけおっぱいを見る仕事をしたことがある。長年IT関係の仕事をしているとたまに奇妙な依頼が舞い込んできたりするもので、これもそんなお話。 2000年代初頭、Yahoo!BBが登場して格的にブロードバンドの時代になった。そしてこれをきっかけにリッチコンテンツの波が来るということは誰しも予想できた。大手もベンチャーもさまざまなアプローチで動画をビジネスにしようとしていた。 僕もそんな一攫千金を狙うベンチャー企業にいて、プリセールスエンジニアとして連日企業をまわって動画ソリューションの提案をしていた。ユーザーが作る動画なんて発想がなかった当時、扱うのはハリウッド映画教育ビデオのような作り込まれたコンテンツだ。当然、著作権とその保護技術であるDRMは最重要課題であるように思えた。だから、みんななんとかして不正コピー防止技術を確立しようとしていた。 そんなとき、上司からちょっと調べてみ

    おっぱいとデバッガ - aike’s blog
  • 1