amari3のはてなダイアリー このページをアンテナに追加 RSSフィード

2014-08-31

[][]YAPC::Asia Tokyo 2014に行ってきた

慶応義塾大学日吉キャンパスで開催されたYAPC::Asia Tokyo 2014に参加してきたので、自分なりの感想を書こうと思う。昨年は諸事情で参加できなかったんで2年ぶりの参加となる。通算では6回目の参加。

各セッションの内容は、公開されているスライドを見ていただく方がいいと思うので、自分が感じた事を手短に書いていこうかと。


Perl meets Real World 〜ハードウェアと恋に落ちるPerlの使い方〜

正直言ってこのセッションを聞くまでは、あまりハードウェアとかにはあまり興味がなかったんだけど、なんか一気に何かに目覚めた気がする。近いうちにRaspberry Piを買ってごにょごにょしてみたいと思う。

Go For Perl Mongers

Goを書いてきて色々はまったことや、そうならないための書き方がすごくためになった。nilの件(型も値もnilじゃないとだめ)個人的には衝撃的すぎて忘れることはないだろうと思う。そして何よりも説明が旨すぎてどんどん引き込まれていく。

最近のウェブサービスの検索機能やその先の話

Elasticsearchを個人的には使っていきたいと考えていて、このセッションはその導入の手助けになると思っているし、また自分で色々調べてみようという気になった。

DBIx::Class - what is it and what is it good for?

自分がDBIC使ってたのって確か6年位前くらいだった記憶がある。その時から比べるとすごく進化している印象がある。当時の記憶が曖昧なのであれですが、副問い合わせが普通に出来るようになってたり、より洗練されてますね。

Scala In Perl Company : Hatena

自分としてもPerl/PHP以外の選択肢を持っていたいと思ってて、Scalaは前から注目してはいたけど、手が出せずに今まできてた。このセッションを聞いて、Scalaぜひやって見たいと感じるようになった。コップ本を買ってまずは写経かなぁ。

One layer down below.

Hijkモジュールは正直全然知らなかった。curlFurlよりも早いらしいし試してみるか。

いろんな言語を適材適所で使おう

技術選択はシステムがユーザに提供する価値を最大化することが目的というのは、まさにその通りだと自分も思う。プロジェクト、プロダクトによって適切な技術を選択出来るようになりたいもんです。

WHERE狙いのキー、ORDER BY狙いのキー

コードっぽいのを使ってのインデックスの説明はすごく理解しやすいと感じた。JOIN時のインデックスの使われ方はすごくためになった。

Mojoliciousを使ったwebアプリケーション開発 実践編

WAFを使ったアプリケーションの開発をする上での一つの指標になる発表だったと感じた。本番環境の構築で使えるxbuildはちょっと導入してみたい。

Java For Perl Mongers

JavaでもPerlでもそう変わらないと言うのは、自分としてはうんうんと頷いてしまった。自分がどっちもやってきたからかもしれないですが。

Lightning Talks Day 1

あんまりメモってなかったんであれですが、Lensのはすっごく面白かった!

俺達のYAPC懇親会(勝手に名付けた)

1日目終了後に元同僚と池袋のスターバックスで技術談義を延々としてた。Emacsの話やらなんやらすっごく楽しかった。


オープンソースの開発現場 - Perl 5.20 のSubroutine Signaturesが来るまでの奮闘の軌跡

Martini氏の「ネガティブな一言に傷つくより、流して前に進もう」があまりにも自分に刺さった。技術力だけじゃなくて政治力も身につけなければと考えさせられた。

半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情(5.6対応)

Perl,PHPがどうこうというよりも、圧倒的なプレゼン力でどんどん引き込まれていく。ベストトーク賞を取るのも納得。

Plack for Fun and Profit (But Mostly Profit)

PSGI/Plackの教科書的な説明かなぁと思って最初は聞いてたけど、Coolなだけではダメと、こちらもうんうんを頷きながら聞いてた。「お金を生み出すコードは消すことができない」はまさにその通りだと。

Perlあるある

ディスカッションと言うか座談会の方が近いのかな。普段なかなか聞くことが出来ない、ライフスタイル等を知ることが出来て楽しかった。

Mobile Application Development for Perl Mongers [ninjinkun x gfx]

サーバサイドと違って、ネイティブのアプリはロールバックが出来ない等、どのバージョンでもそれなりに動いてないといけないと言うのは大変そうだし、サーバサイドと同じ感じの開発フローではダメというのがすごく伝わってきた。

そんなにビッグでもないデータ処理手法の話

データが小さいうちはRDBMSでやって、メモリに載らなくなったりディスクの問題が出てきたら、MapReduceを使うというのでやっていくのがいいのかなと感じた。

Lightning Talks Day 2

あまりメモってないので簡単に。GaiaXの新人研修すごい。

キーノート

今年のクロージングキーノートは30代エンジニアの自分としてはすごく刺さる事が多かった。20代の頃自分なりに色々やってきたことが、今の年齢になって効いてきてるし、色々考えさせられることも多かった。

俺達のYAPC後夜祭(勝手に名付けた)

1日目と同様に2日目も池袋のスターバックスで技術談義を延々としていて、10月初旬に集まって何かやろうというところまで決めた。何をやるかは決めてないけど、Emacsでごにょごにょな気がしてるw


嬉しかったこと

今年のYAPCで導入された同時通訳は本当にありがたかった。英語があまり得意ではない身としては、今まで海外のスピーカーの話は聞きたいけど敷居が高いなぁと感じていて、少し避けてたけど今年は積極的に聞くことが出来たし、来年以降も是非お願いしたいです!

まとめ

個人としては、仕事で書く言語がJavaScript(node.js)になってPerlを書く機会が減っている。でもやっぱりPerlが大好きだし、今後もPerlのイベントには積極的に参加していきたいなとあらためて感じた。

2009-09-14

[][]DB のテーブル定義

DB のテーブル定義ってどうするのがええんやろか。この辺って商用の DB を使う人と、オープンソースな DB を使う人で考え方が違うのやろうか。

ぱっと思いつくのはこんなところでしょうか。

  1. Excel でテーブル定義書を作って VBADDL 文を自動生成
  2. 表計算ソフトでテーブル定義書だけを作る
  3. ファイルに直接 DDL 文を書く
  4. DB のプロンプトでがんばる

今の仕事ではスケジュールが厳しいので、3 のやり方でやってるが、あとでテーブル定義書だけでも作っておいた方がいいのかしら結局 2 でやることにしますた。

2009-06-11

[][]Google Developer Day 2009 行ってきたよ

昨年に引き続き、Google Developer Day 2009 に参加してきましたので、そのレポートです。

サプライズで、GDD Phone(Android端末)を参加者にもれなく配っていたので、ありがたくもらってきました。SIMフリーとのことなので、SIMカードを挿すだけでそのまま使えるみたいです。

実際に参加したセッションです。内容はほとんど列挙となりますがご了承ください。


HTML5により拓かれる次世代Web

  • 10年ぶりの新バージョン
  • W3Cだが実作業はWHATWG(Apple,Mozilla,Operaのブラウザベンダによって設立されたグループ)
  • XHTML2,xformsは含まない
  • 4つの規格
  • HTML/XHTMLの表記をサポート*1
Web Workers
  • バックグラウンドでスクリプト実行する仕組み
  • スレッドを生成するWorkwer
  • 複数のウィンドウで共有できるShared Worker
  • ウィンドウを閉じても動くPersistent Worker
Web Sockets
  • 専用プロトコルでサーバと文字列を送受信
  • XMLHttpRequestと比べてオーバヘッドが小さい。リアルタイム性が高い。
Web Storage
  • クライアント側にデータを格納する機能(感覚的にはCookieみたいなもの)
  • データの保存方法
    • key/valueペア Storage型
    • SQLを扱う Database型
  • Storage型
    • サイト別にkey/valuesペアが作られる
    • 消さない限りはローカルに残る
  • Database型
    • SQLが使用可能
    • 非同期/同期の2つのインタフェースがある
アプリケーションキャッシュ
  • キャッシュしておくURLしないで欲しいURLを宣言しておく
  • ブラウザがオンライン時にはキャッシュされない
  • URLを先読みしオフライン時はキャッシュを使う
フォームの強化

input要素のタイプがいっぱい追加されている。

  • search
  • tel
  • url
  • email
  • time

など他にもいっぱいある。

  • キータイプをするとValidateが行われる
  • Pattern属性には正規表現が指定できる

JavaScriptやサーバ側で実装していた、入力値のチェックがHTMLだけで完結できるようになる。

メディア要素

メディア要素のタグも追加されている。

  • canvas
  • video
  • audio
感想

HTMLの標準で出来ることがたくさん増えていて、リッチなアプリケーション開発がやりやすくなると思う。

ソーシャルWebの可能性

ソーシャル化をすることでWebはさらによくなるということがテーマ

ソーシャル化

Eコマースサイトをソーシャル化することでファインダビリティやスティッキネスが上がる。これにより、ポジティブスパイラルが発生する。

知らない多数のレビューより、自分の友人のレビューの方が役に立つのではないか。

OpenID/OAuth
OpenID プロバイダ
Google,mixi 等のOpenIDを発行している業者
OpenID リライングパーティ
OpenIDを利用する業者

色んなサイトでそれぞれのIDが必要になる。ほとんど利用していないサイトのIDを覚えていられない。こういった問題を解決するための技術。

OpenIDとOAuthのハイブリッド化を検討している。

感想

Eコマースサイトをソーシャル化するのは面白いと感じた。実際に購入した商品の評判が口コミで広がり、ユーザにリーチ出来るのではないかと思う。

Google Chromeの内部構造

  • 基本構造はマルチプロセスアーキテクチャとなっている。
  • ブラウザの機能を分割し各機能にプロセスを割り当てる。
プロセス間通信

Chromeの各プロセスはプロセス間通信の専用スレッドを実装している。

サンドボックス

マルウェア対策として導入している。

  • 悪意あるWebページからしステムを守るためのライブラリ
  • Google Chromeのすべてのプロセスはライブラリ上に実装
Webkit
  • レンダリングエンジン

シンプルなので採用。Webkitのパッチを送ったりして貢献もしている。

V8

高速JavaScriptエンジン

  • BSDライセンスで開発
  • 単独で使用可能

Google & Open Source

GoogleがOpen Sourceを使う理由みたいなこと。

  • 皆が使っているものを使う
  • ライセンスの問題
なぜオープンソースを使うの?
  • スマートになりたい
  • (情報)共有したい
  • 不具合があったとしても自分たちでコントロールできる
  • ライセンスの99%はApache/BSD

Life of 新卒エンジニア

2008年4月に入社した新卒エンジニアの話。

  • プロジェクトはボトムアップ
  • 方向性のみ決められている
エンジニアの仕事
  • アイデアを出す
  • 議論して洗練
  • 人を巻き込む
  • 設計-コーディング-テスト-デバッグ
  • 公開
  • その後改良
開発体制
  • 共有されているドキュメント/ソースコード
  • コーディングスタイルガイド
  • 社内共通のインフラ
  • 社内共通のライブラリ
  • コードレビュー/ユニットテスト
  • 質問は歓迎されている
  • メンターがついている
  • プロジェクトはエンジニアのもの
  • 積極的に動かないといけない
  • 一人前になるためのバックアップがすごくある
感想

面白くてあまりメモが取れてないのですが、印象に残ったことは、エンジニア主導の会社というのがよくわかる。エンジニアとしてはうらやましい環境だと思った。

新人の育成をしていることもあり、参考に出来ることが多かった。


昨年度は Android 用アプリの開発とかしていたくせに、Android 関連のセッションにまったく参加せずに Web 関連のセッションばっかり参加してた気がする。でも、Web の方が好きだしいいか。

*1:HTMLのときはDocTypeの記述が必須