タグ

ブックマーク / lxyuma.hatenablog.com (8)

  • varcharとtextの違い(mysql innodb) - lxyuma BLOG

    mysqlの可変長文字列を扱う、varchar型とtext型の違いの話。 古い情報が混在していたので、ちょっと整理してメモ。 myisamの頃の話 sizeが違う 行の中身がdataか(varchar)、dataへのポインタか(text) 参照挟むので、performanceの違いがあった(varcharが早い) 今 net でぐぐって、ひっかかる情報の大半がこの話。 最近のinnodbの話 最大sizeは一緒。64kb(但し、TINYTEXT型、MEDIUMTEXT型、LONGTEXT型は名前の通り違う) varcharもtextも、中身は同じ仕組み(BLOB field / off page column) 行にdata入れるのも、外部(overflow page)への参照にするのも、行フォーマット次第(row format) 5.6で行formatのdefault は COMPACT

    varcharとtextの違い(mysql innodb) - lxyuma BLOG
  • Marionetteからractiveへ - lxyuma BLOG

    昨日、天下一クライアントサイドJS MV*フレームワーク武道会で話してきた。 以下、そのスライドです。 今日は 自分が現場で使ってきた FWの変遷の軽ーい話をする 元々 Marionette.js使ってた 振り返ると、実装が冗長になってしまった 何を言ってるか?というと... 例えば ulとliで、その中の要素追加削除やeventを作りたい時 image <ul> <li>1st track click me</li> <li>2nd track click me</li> </ul> <button>new track</button> Marionetteだと... 1.html書いて全体像を作って 2.templateに切り刻んで 3.CompositeView作ってテスト書いて 4.ItemView作ってテスト書いて 5.CompositeViewをnewする処理書いて 6.元のh

  • 最近のjsテスト/ビルド環境 - lxyuma BLOG

    最近のテスト環境 最近、ブログ書かないうちに、また、 自分のjs周りのテストやビルド環境が変わってきた。 具体的には、karmaとかgulpとかに変わった。 今日は、 その環境にしてどうだったか?とか、 設定ファイル(gulpfile)とか書いてみる。 去年と今年と 去年、勉強会等でyeomanとかgruntの話をしていて、このblogでもどこかに書いてた。 テストはmocha chaiが良いのかなーと思ってた。これもblog書いた。 所が、世の中どんどん変わっていく。 最近の環境 今はこんな感じ。 build tool gulp test jasmine2 sinon karma gulp vs Grunt gulpどうなんだろう?と思いながら色々試していくうちに、かなりしっくりきた。 stream baseで書き易いので、カスタマイズし易い。 gruntは、設定ファイルが何画面にも渡っ

    最近のjsテスト/ビルド環境 - lxyuma BLOG
  • Ractive.js入門 - lxyuma BLOG

    これは、jsCafe18で話したSlideです。 概要 これから、「Ractive.js」という js上でReactiveなUIを とてもsimpleにbuildするためのlibraryの話をします 目次 reactive programming ractive.js 他のframeworkとの比較 Backboneに入れてみる そもそもReactive Programmingとは? 古くは、2003年頃から日blogでも幾つか言及されてる模様 去年、更に色々と動きが出てきた。 2013/7 ガートナーの2013年のreportで扱われてる 2013/9 リアクティブマニフェストが出た。これ訳されてる方がいた。 2013/9 infoQの記事見ると大体の流れや概要が分かる バズりと意味の広がり なんか徐々にバズり感がある 他のバズりワード(cloud等)と同じように意味が広義に、より抽

    Ractive.js入門 - lxyuma BLOG
  • jsでTDD!MochaとChaiとsinon.js入門 - lxyuma BLOG

    ※この記事は社内勉強会向けの資料の下書きです。書きなぐりの下書きで見直すと最後の方の文書がヤバいので、いつか書き直します。読み辛い所は申し訳ないです。 概要 TDD テスト自動化とTDDを整理 TDDとBDDの違い Test Framework in javascript QUnit/jasmine/mochaについて、違いやメリデメを知る mocha 基的な書き方 アサーションライブラリのメリデメを整理する chai 記述形式の違い整理 基文法 sinonjs spy stubs mock TDD Test Driven Development テスト駆動開発 by ケントベック 特徴 xUnit系/BDD系のテストフレームワーク使う テストするコードも実装 テストファースト 実装の後にテストするのではなく、テストを先に書いて実装する サイクル Red(失敗) => Green(通過

    jsでTDD!MochaとChaiとsinon.js入門 - lxyuma BLOG
  • grunt bower yeoman入門記事 - lxyuma BLOG

    ※これは、社内の勉強会の資料の下書きです。 ここ数年で、js環境が整理されてきた。 js開発するなら、これらの知識は必須。無いとめっちゃ不便。 という事で、今日は、gruntとbowerとyeomanの話。 各ツール概説 Yeoman applicationのひな形を作る アプリ構築に必要な様々な作業を任せられる Grunt build / preview / testに使う Bower 依存性の管理を行う 手動でDLやscript管理する必要無 rails開発者のために ぶっちゃけ、どれも、railsの環境にそっくり。rails知ってる人は、要するに、以下の事。 grunt => rails server実行時に勝手にやってくれる作業を切り離してカスタマイズできるようにしたもの(coffeeのコンパイルとか) bower => ruby gem管理をjsのclient側で実現した物。 y

    grunt bower yeoman入門記事 - lxyuma BLOG
  • 普通のrailsアプリのBackboneにMarionette付けて思った事 - lxyuma BLOG

    以前書いた記事の反省を元にMarionetteに移行した。 思った以上に快適! 大規模になったらMarionette.js使えとか書いているのは嘘で、普通にBackbone使うときは、初めから使うべき。 Backboneで一番恐ろしいのは、各現場/各開発者毎に異なるオレオレ実装。オレオレ実装作るコストに加え、使う人の思わぬバグや学習コストやスイッチングコスト等諸々考えると、特別な理由がない限りMarionetteみたいな既存のframework使うべき。 あんど。データバインディングを提供してくれる、stickitと一緒に使うと、より一層効果的。 めっちゃ、ソースコードの量が減って、ソースの意図が明快になった。悩みも少ない。工数も勿論減る。 ここから、幾つか思った事を、サッカー見ながらお酒飲みながら、ダラダラ書く。※ちなみに、日vsオランダ戦見てる。 railsアプリでのjs周辺の作りの

    普通のrailsアプリのBackboneにMarionette付けて思った事 - lxyuma BLOG
  • 普通のrailsアプリにbackbone適用して思った事 - lxyuma BLOG

    普通のrailsのwebアプリにbackboneを埋め込んでみて思った事等を書く。 賛否あるかもだが、あくまで個人的な意見。 1)ウチの現場でBackboneを使うべきか否か? どこも初めに考える事。 大規模になったら使えとか、Single Page Applicationなら使えとか、色々意見あると思うが、 今時の普通のwebアプリならjsガリガリ動くので、迷わずBackbone使っていいと思う。 ※単調なB向けの基幹システム作ってるとかは例外として。 どこで使う? 別に全てのpageでBackbone使う必要は無いけど、 フォーム送信系で色々js動かす所とか、検索条件指定、絞り込みとか、 画像/詳細表示、LightBoxとか、 こういう所でjsガリガリ書かないと行けなくなったら Backboneでモジュールを整理していけばいいと思う。 実際使ってみてどうだったか? before 元々、

    普通のrailsアプリにbackbone適用して思った事 - lxyuma BLOG
  • 1