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

2013/03/24

java-ja.DDD にいってきました

java-ja.DDD に参加して来ました。

  • 会場を提供してくれた GREE さんすごい。ビールとピザとオードブルごちそうさまでした。
  • 補欠で参加登録したけど、繰り上がりで参加できた。

正直、「エリック・エヴァンスのドメイン駆動設計」 を買ったがパラパラとめくっただけでまだ全文を読んだとは言えない状態な自分。

今回、参加して DDD とはどういうことか自分なりにまとめると

  • ソフトウェアが複雑なのではない。複雑なユーザーの行動・ビジネス要件をシンプルに定義できないから複雑なソフトウェアになる。
  • データ構造も重要だが、ユーザーがどのようにシステムを触るかという観点(ストーリー)に沿ってモデルを考えてみる
  • モデルに対して機能を付与したり組み合わせる。処理をそのモデルに任せる。
  • 汎用的な名前をつけるよりも、具体性をもった名前をつけて特化した意味をモデルに対してもたせる
  • ドメインエキスパート: 業務を定義する人
  • ドメインエキスパートという人物、役割の人と協力してシステムを構築することが大事。ドメインエキスパートは一人ではないこともある。いなければ自分がなるしかない。あの業務ならあの人かなーっと想像しながら説明を聞いていた。
    • 作ろうとしているシステムにもよるがエンジニアがやるのはアリな気がする。
  • 命名大事

はじめての java-ja 勉強会参加したが、よくある勉強会と違ってプレゼンの途中でもガンガン質問が飛んでくる。議論が深まっていくのが面白いですね。なるほど時間を長めにとるわけだ。

「ブログ書くまでが java-ja だからね」

以下、メモを記録として載せておきます。# 僕の感想よりもメモのほうが重要な内容だと思うよ。

2013/01/23

Apache Mahout でお手軽レコメンド

11月に社内で発表したLTのスライド。Apache Mahout を使ってお手軽にレコメンドができるかどうか試してみました。

外に出しても良い情報だけにしてslideshareにアップロードしたのですが、イマイチ。やっぱり実データと実名というか、実際の商品名を見たほうが資料としては面白いと思います。

レコメンド自体はMahoutを使うと簡単に作成することが可能です。あとは、その見せ方や運用方法を考えることが出来れば実アプリとして使えるんじゃないかと思います。

個人的には hdfs や hadoop に関する知識が足りないという事が大きな足かせだなぁとも思いました。

2012/11/15

リーダブルコードを読んだんです。

オライリーのリーダブルコードを読んで思ったことを社内LTで発表した。

プログラムのコードも文章も全て人に伝えるための物。自分以外の誰かが読む物だと思うので、読み易く理解しやすく書くのは当たり前。 そのためにはどんな意識で書いていけば良いのかリーダブルコードの前半をざっくり自分なりに解釈してみました。

プログラマだけでなく、文書を書く必要のある全ての人に前半は読んでもらいたいと思った。

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
Dustin Boswell Trevor Foucher
オライリージャパン
売り上げランキング: 453

2012/10/16

Mobile Safari で Twitter を見ていたらアプリの紹介が出るのを Smart App Banner っていうらしい

twitter

<meta name="apple-itunes-app" content="app-id=333903271, app-argument=twitter://timeline, affiliate-data=partnerId=30&amp;siteID=UkOLawSuc90">

このコードが mobile 版 twittter の header 部分に入っている。iOS6 の Safari は開発モードで Mac の Safari の Web インスペクタを利用する事ができるので、それを利用して調査。gist に生成されるHTMLコードをメモ。

Smart App Banner という iOS6 での新機能。

Safari の developer 情報に載っています。

iOS6 のときのみ、アドレスバーと表示しているページの間に表示されるようになる。 Chrome では表示されなかった。WebView では表示されないような挙動。

指定した app-id のアプリがインストールされているかどうか分かるようだが、サイト側から同じ事をしてアプリのインストールチェックをすることが出来るようにならないかな。

  • Smart App Banner が生成したHTMLメモ
    • https://gist.github.com/3826164
  • Promoting Apps with Smart App Banners
    • https://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariWebContent/PromotingAppswithAppBanners/PromotingAppswithAppBanners.html#//apple_ref/doc/uid/TP40002051-CH6-SW1
  • Safari Developer Library
    • https://developer.apple.com/library/safari/navigation/

2012/08/25

Emacs 使いが Vim を使ってみた

Emacs 使いが Vim を使ってみた

Emacs に飽きたわけではないですが、Vim の起動が軽いね。ちゃんと触ってみようかなという軽い気持ちで .vimrc をちゃんと設定してみようと思った。

前提として、

2012/07/26

Safari 6 にしたら「戻る(history back)」が delete キーでできなくなった

Mac に Mountain Lion を入れる前に Safari の Lion 用が来ていたのでソフトウェアアップデートで更新をかけた。

Chrome と同じように URL の窓が検索窓と共通になったので便利。しかし、ブラウザを使っている時に違和感が。delete キーで history back しない。これは困る。トラックパッドによる hisotry back は無効にしているし・・・。

メニューバーをみてみると Debug メニューの中に “Keyboard and Mouse Shortcuts” の項目。

file:///Applications/Safari.app/Contents/Resources/Shortcuts.html

この中に

Cmd-[   Back    
Cmd-]   Forward

できるじゃない。たぶん、前からあった。

Cmd-←   Back    
Cmd-→   Forward
でも出来る。

追記

terminal を開いてコマンドを打ち込む。

defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2BackspaceKeyNavigationEnabled -bool YES
参考: defaults コマンドで変更できる。

2012/06/05

ffmpeg で那覇うみそらトンネルを10倍速再生車載動画

沖縄で撮影した車載動画をffmepgを使って10倍速にしてみた。

音声は入って無くて良いので、動画部分だけ再生速度を上げる。単純にfpsを上げてもいいのだが低スペックなマシンとか極端なfpsだと高スペックマシンでも悲鳴を上げてしまう。

fpsをいったん10fpsぐらまで下げて更に30fpsまで再エンコードで引き上げると良い。

以下、2行スクリプト。

TODO: このスクリプトを汎用化すること。

2012/05/29

Google Chrome のコンソールで画像に警告が出てたので調べてみた。

Google Chrome で img ファイルをみるとコンソールでたまに、

Resource interpreted as Image but transferred with MIME type image/jpg: XXXXXXX

な警告が出る。(XXXX部分は画像のURL)

jpeg(jpg)ファイルのMIMEタイプは image/jpg ではなくて image/jpeg にちゃんと設定しないといけない。jpeg だったり jpg だったりで紛らわしいなぁ。

rfc に書いてあったわー

4.2.  Image Media Type

   A media type of "image" indicates that the body contains an image.
   The subtype names the specific image format.  These names are not
   case sensitive. An initial subtype is "jpeg" for the JPEG format
   using JFIF encoding [JPEG].

2012/05/24

PHP の sessionId の生成ロジックのソースを覗いてみた。

社内LTで発表した資料。

PHPのsessionIdのデフォルトの動作に関して、 - アクセス元IP - 現在時刻 - ランダムな文字列 を MD5 や SHA1 でハッシュ化している。というのが一般的に言われているのだけれども、実際のところどうなっているのかわからないのでソースコードを読んでみた話。

2012/05/02

Mac の defaults コマンドでの設定を一気にするスクリプト

なにするの

  • Mac OSX の隠し設定等をターミナルから一気に設定するスクリプト
  • defaults コマンドを使用して設定する項目を自分用にカスタマイズして集めた

2011/08/24

キーボードショートカットでMacのディスプレイをスリープさせる。

キーボードショートカットでディスプレイをスリープさせる方法

手軽にMacの画面を消してパスワードロックを掛ける方法を探していた。ディスプレイをスリープさせる方が簡単。

次のキーを同時押し

Shift + Control + Eject

2011/08/23

OSX Lion の環境を構築した話

自宅にiMac 27インチ Core i7 を買ったので環境を一旦リセットして構築しなおしてみた話。それから、会社の環境が新しいMacbookでOSX Lionになったので会社マシンも構築しなおした。

OSX Lion セットアップ

  • 電源を入れていつものようにセットアップ。
  • SnowLeopardまでと違うのは Apple ID を聞かれたりした。
  • ソフトウェアアップデートで 10.7.1 にアップデート
  • コンピューター名をデフォルトの名前から好きな名前に変更。今回は iMac 27 インチさんはでかいので byg-zam(ビグ・ザム) にした。

Xcode を AppStore からインストール

  • AppStore を起動して Xcode をインストールするためのアプリをダウンロード。
  • ダウンロードに時間がかかるので、データ移行を同時進行で進めると良い。
  • ダウンロード完了後にApplications フォルダから起動してインストール。

2011/08/19

Mac 版 Google Chrome で User-agent を指定して起動するスクリプト



Mac版 Google Chrome にてUser-agentをAndroidに偽装してアクセスする必要があったので、Terminal.app からコマンド一発で立ち上げるスクリプトを作りました。


% chrome android


などとして起動します。

2011/07/24

Geektool カッとなってやった。後悔はしていない。

スクリーンショット(2011-06-12 20.40.55)

  • 時計
  • カレンダー
  • 音量
  • 天気予報(今日・明日)
  • バッテリーレベル
  • プロセス
  • UpTime
  • 今日の名言チックな何か

を表示してみた。