archive-com.com » COM » N » NITOYON.COM

Total: 757

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".
  • Ruby で UTF-8 の文字化け部分を取り除く - てっく煮ブログ
    な文字のみが含まれるように置換して対処した str str scan x00 x7f xC0 xDF x80 xBF xE0 xEF x80 xBF 2 xF0 xF7 x80 xBF 3 join Ruby じゃなくても同じようなコードで対処できそう 関連 UTF 8 の正規表現は 404 Blog Not Found UTF 8 vs ISO 10646 から拝借した PHP なら xmlStr mb convert encoding xmlStr UTF 8 UTF 8 でいけるらしい 参考 はてなブックマーク rssに非UTF8の不正な文字列がある場合の対処法 Tweet 2008年11月09日 編集履歴 Ruby はてなブックマーク 2008年10月ブックマーク数ランキング jQuery の配列系のメソッドをメモしとこ Please enable JavaScript to view the comments powered by Disqus

    Original URL path: http://tech.nitoyon.com/ja/blog/2008/11/09/utf8-normalize/ (2016-02-13)
    Open archived version from archive


  • ブラウザ上で Ruby を試せる「IRBWEB」を作ってみた - てっく煮ブログ
    のランタイムが必要です Silverlight 2 0 は Windows の IE だけでなく Firefox や Mac の Safari さらには主要な Linux ディストリビューションでも動作するので この機会にインストールしてみるとよいですね 追記 2009 4 6 Firefox 3 0 では動かないようです 修正しました ロード完了後に Silverlight オブジェクトを display none で隠したのがいけなかったようです なんというバッドノウハウ 仕組み Silverlight 2 0 には DLR という仕組みがあって この上で Ruby や Python が動きます 今回は Silverlight Dynamic Language SDK 0 5 0 についてきた repl のサンプルを少し修正して公開しています Tweet 2009年04月06日 編集履歴 Ruby Silverlight はてブ年鑑2009年3月分 更新 ブラウザ上で Python を試せる IPYWEB を作ってみた Please

    Original URL path: http://tech.nitoyon.com/ja/blog/2009/04/06/irbweb-released/ (2016-02-13)
    Open archived version from archive

  • RubyAmf のシリアライザだけを使う - てっく煮ブログ
    complete function event Event void var bytes ByteArray loader data as ByteArray bytes objectEncoding 0 AMFのバージョン AS3 でデシリアライズ var obj Object bytes readObject trace obj 3 4 trace の結果 3 4 と表示される Ruby でシリアライズした配列を ActionScript で復元できたことになる 今回は静的なファイルに書き込んだけど Ruby を CGI として使って動的にシリアライズした結果を返してもよいだろう Flash Remoting を SOAP 的だと解釈するなら こちらの方法は REST 的 リクエストがバイナリじゃない分 デバッグはしやすいと思う 以下 細かい補足 AMFSerializer クラスには write amf3 というメソッドもあって こちらは AMF3 対応の模様 その場合は ActionScript 側では objectEncoding 3 としてやる でも 今のところ AMF0

    Original URL path: http://tech.nitoyon.com/ja/blog/2008/04/30/rubyamf-serialize/ (2016-02-13)
    Open archived version from archive

  • Ruby で Web2.0(笑) - てっく煮ブログ
    Web2 extend ModuleO end インスタンスメソッドとして Mix in class DoCoMo2 include ModuleO end ドコモ 2 DoCoMo2 new 特異メソッドとして Mix in ActionScript3 AS3 ActionScript3 extend ModuleO 実験 Web2 O 笑 Web2 0 笑 ドコモ 2 O 笑 DoCoMo2 0 笑 ActionScript3 O String 0 ポイント どのケースでもクラスを取得するために self kind of Class self self class と書いてみた クラスメソッドとして Mix in されるときは self はクラス自身を指す 上の例だと Web2 クラス だから self kind of Class は true になる インスタンスメソッドおよび特異メソッドとして

    Original URL path: http://tech.nitoyon.com/ja/blog/2007/12/07/ruby-abc2/ (2016-02-13)
    Open archived version from archive

  • Ruby で スイーツ(笑)関数 - てっく煮ブログ
    each i puts スイーツ i 出力 うまくいってる わーい ruby KU Test rb 1 1 2 3 5 8 13 21 34 55 UTF 8 で保存して KU オプションをつけて実行した ちょっと改善 三項演算子も使えるようだ あと Perl みたいに return は省略できるわけね ふむふむ def スイーツ 笑 笑 1 笑 2 1 スイーツ 笑 1 スイーツ 笑 2 end これより短くできるんだろうか えろい人に期待 雑感 irb がいい すぐに試せる サンプルをちょっと変えたときにどうなるか分かる methods とかでメソッド一覧も見れるから リファレンス代わりにも使える オブジェクト指向 とか すらもメソッドだったりする設計が好き 内部設計を変に隠そうとしてないから取っ付きやすい hoge object id が毎回違うあたりの潔さがステキ だからこそ シンボルが重要になるわけね

    Original URL path: http://tech.nitoyon.com/ja/blog/2007/12/03/ruby-abc/ (2016-02-13)
    Open archived version from archive

  • これがスマートフォン向けサイトを作るときの viewport 設定3パターンだ - てっく煮ブログ
    136px 65 3 116 0 iPhone 4 以降の縦向き Portrate mode で 980px の PC 向けサイトは 2 3 に縮小して表示される Retina ディスプレイで 2 3 のなので 文字はかなり小さくなる ピンチ操作で拡大しないと読めない人も多いだろう 採用例 このパターンでもデザインを工夫すれば スマートフォンやタブレットでも見やすくなる その代表格が Apple である ここでは詳しく触れないが pxt 考察 Appleはスマホサイトを作らない に分かりやすく書いてあるので 興味がある人は読んでみるとよいだろう 追記 2014 年 9 月 iPhone 6 発表のタイミングに合わせて Apple のサイトもスマートフォン対応しました このページの分類でいうと パターン4 を使っています パターン2 viewport でデバイスの横幅を指定する スマホ向けにデザインしているよ と主張するには head タグの中に viewport を 1 行追加すればよい meta name viewport content width device width width device width というのは デバイスの横幅で描画してください という意味である 一昔前は iPhone 前提で width 320px と指定すれば十分だったが 解像度がまちまちな Android やタブレット端末が登場したため width device width と指定するのが新常識になった 表示結果 表示するとこうなる デモ ページ 横向きにしたときには 縦向きのときの画面を引き伸ばして表示しようとするので かなり拡大された印象になる iPhone 4 までで 1 5 倍 iPhone 5 では 1 7 倍 字が大きくなって読みやすくなるが 画面内の情報量が少なくなる 採用例 あまり見たことがないが たとえば はてなブックマーク スマートフォン版 のソースを見ると meta content width 320 minimum scale 0 5 name viewport となっている 320px とあるので 旧世代の指定のままだ 現実問題として Nexus 7 で閲覧すると 320px だと信じて描画するので フォントがでかすぎて見づらい パターン3 回転してもサイズを変えたくないケース スマートフォンのネイティブ アプリの動作をみていると 横向き Landscape mode にしたときには1行に表示する文字の数が増えるものが多い 例えば iPhone 3GS 標準のメモ アプリがそうである Web においても同様に 横向きのときは一行の文字数を増やしたり 追加の情報を表示したりしたい という欲求がでてくる そのような場合は viewport を次のように書きなおせばよい meta name viewport content width device width initial scale 1 0 minimum scale 1 0 maximum scale 1 0 user scalable no あわせて CSS に次のように指定しておく body webkit text size adjust 100 理由は webkit text size adjust none を絶対に設定してはいけない理由 を参照 表示結果 横方向のときには次のようになる デモ ページ メモ アプリの利用イメージに近くなった ただし この指定にしてしまうと ピンチによる拡大 縮小ができない という大きな弱点がある 採用例 数多くの大手サイトがこの方式を採用している Google も Yahoo Japan も twitter も facebook も全部これである ピンチできない という大きな欠点はあるものの 端末の縦横方向を変えたときに画面内の情報量を減らしたくないないので このパターンを採用せざるをえないのだろう 向きを変えたときに横幅が変わりつつピンチも使えるような手段が提供されるのが理想なのだが 現在のところ そのような指定をする方法はない 補足 viewport で指定してるのは長ったらしい値は 次のようになっている width device width initial scale 1 0 minimum scale 1 0 maximum scale 1 0 user scalable no この設定により iPhone と Android でページの表示倍率が 1 0 固定にして ページのピンチができないようにしている その結果 ページの表示倍率が変わる余地をなくしている 表示倍率が変えられない状態になってはじめて WebKit は仕方なくページの横幅を変えてくれるようだ パターン4 拡大 縮小は認めたいケース 記事を公開したあと コメント欄で教えてもらったのがこのパターン meta name viewport content width device width initial scale 1 0 と設定することで ピンチは可能 かつ 横向きにしたときに 1 行の情報量が増える を実現できる 文字のサイズを固定化したいなら パターン 3 と同じように CSS に次のように指定しておく body webkit text size adjust 100 理由は webkit text size adjust

    Original URL path: http://tech.nitoyon.com/ja/blog/2013/02/15/viewport/ (2016-02-13)
    Open archived version from archive

  • Git にパッチを送って取り込まれた話 - てっく煮ブログ
    3 コミットログを書く これが一番難しかった Documentation SubmittingPatches を読むと 修正前は何がおかしかったのか 修正によって正しくなった理由 を説明することを求められている もちろん英語で 実際に Git プロジェクトのコミットログを読んでみると どれもコミットログが長くて しっかりと修正の内容が説明されている しかし 自分には英語力がないので 言いたいことをうまく伝えられない 第一稿では 同一ファイルへの過去のコミットログを切り貼りしつつ なんとかそれっぽく書き上げたつもりになった これが後々 分かりにくいぞ とツッコミを受けてしまうのだが あとは コミットログの末尾に Signed off by として自分の名前を書かなきゃいけない 本名を書け とあるので 名前を出したくない人にとっては厳しい関門かもしれない 4 メーリングリストにパッチを投げる Git の議論やパッチのレビューはすべてメーリングリスト上で行われている ということで 次にすべきはパッチを Git ML に投げることである 間違っても GitHub 上で pull リクエストを出してはいけない メールを送付する手順も Documentation SubmittingPatches に書いてある まずは git format patch でパッチを作成する 作成したパッチはメール形式になっているので これをそのままメールとして送る必要がある 自分は GMail を使いたかったので git format patch 1 の MUA SPECIFIC HINTS に従って git send email コマンドを使って送信した 事前に gitconfig の sendemail に色々と設定を書くのだけど 最初 sendmail に設定を書いてしまってうまくいかずにしばらく悩んだのは 今となってはいい思い出 5 レビュー結果に従う しばらく待っているとメーリングリストに返事が届いた 今回の修正では コードについては文句が出なかったが コミットログが分かりにくい という注文がついた 1 回目は John さんから 2 回目はメンテナの濱野さんから Re PATCH difftool dir diff copy back all files matching the working tree Git Re PATCH v2 difftool dir diff always use identical working tree file Git 結局 2 回 コミットログのみを書き換えてパッチを再送信した 三度目の正直 v3 で OK をもらえた Re PATCH v3 difftool dir diff allow changing any clean working tree file Git 6 ブランチを昇格していく OK をもらったコミットは pu Proposed Update ブランチに取り込まれる しばらく経って異論が出なければ next ブランチにマージされて 最後に master ブランチにマージされる 最終的に自分の コミット が v1 8 3 2 で取り込まれてリリースされた リリースノート の末尾にも自分のパッチの情報が書いてあった difftool dir diff did not copy back changes made by the end user in the diff tool backend to the working tree in some cases めでたい まとめ 以上でパッチを送ってから取り込まれるまでの流れを振り返った 印象的だったのは コミットログをしっかり書かせる文化である

    Original URL path: http://tech.nitoyon.com/ja/blog/2013/07/23/git-patch/ (2016-02-13)
    Open archived version from archive

  • git difftool --dir-diff が便利すぎて泣きそうです - てっく煮ブログ
    GUI な Git クライアントでも同じようなことはできますね 便利なのはこの次です ファイル編集も なんと 右側のファイルを編集して保存すると ワーキング ディレクトリーに反映される のです ただし 右側のファイルがワーキング ディレクトリーのファイルと同じ内容のときのみ これがとてつもなく便利です 差分を見ながら この差分は不要 とか typo 発見 とか気づいたときに その場で修正ができちゃうわけです 比較対象は無限大 git difftool で比較対象を指定する方法は git diff とまったく同じです たとえば git difftool d master topic として トピックブランチでの変更点をまとめて閲覧したりもできるわけです git difftool d cached としてインデックスとの差分を確認できるわけです 任意のコミット間の差分も確認できるわけです タグがうってあれば 特定のバージョン間の差分も確認できるわけです うれしいですね 裏側で起こっていること git difftool d を実行したときに 裏側で何が起こっているのでしょうか 内部的に git diff を呼び出して 出てきたファイルを一時ディレクトリーにチェックアウトしています たとえば 先ほどの例でいうと Temp git difftool VoxJJ left dir1 a txt dir2 c txt right dir1 a txt dir2 c txt といった構造になります 中身が同一なファイルはチェックアウトされないので 大きなレポジトリーでも安心です さらに Mac や Linux では right のファイルがワーキング ディレクトリーと同じなら ワーキング ディレクトリーへのシンボリックリンク になっています その結果 right のファイルを書き換えると 即時にワーキング ディレクトリーに反映されるわけです Windows の場合は difftool を終了したときに ワーキング ディレクトリーに一時ファイルを書き戻す動作になっています ちょっと不便なので シンボリックリンクを使うように改造したいところです 追記 改造しました Windows でも git difftool dir diff でシンボリックリンクを使う方法 使えるようにするまでの準備 便利なのは分かってもらえたと思うので 使えるように準備してみましょう 最新の git difftool を取得しておく 先ほど書いた通り git difftool dir diff は 1 7 11 から追加されています ただ 最近になっていくつか大きなバグが修正されているので なるべく新しいヤツ Linux なら 1 8 3 Windows なら 1 8 3 2 を利用するのがオススメです Git 全体を更新するのが面倒な場合は git difftool だけを GitHub git git difftool perl at master から落としてきて libexec git core git difftool に上書きすれば よほど古いバージョンじゃなければ動く と思います difftool の設定 WinMerge 篇 Windows で WinMerge を使う場合は gitconfig に次のように書きます Git for Windows の場合 diff tool winmerge difftool winmerge path C Program Files x86 WinMerge winmergeu exe cmd C Program Files x86 WinMerge winmergeu exe r u LOCAL REMOTE インストール先が異なる場合は適宜修正してください コマンドライン オプションの意味は次の通りです r 再帰的に比較する u 最近開いた一覧に追加しない 人によっては e を追加して ESC で WinMerge を閉じられるようにしているようですが 複数タブを開いてるときに ESC を押して WinMerge が閉じてしまうと困るので私は設定していません difftool の設定 meld 篇 Mac や Linux で meld を利用する場合は gitconfig に次のように書きます diff tool meld 簡単ですね Git 本体に meld のコマンドラインオプションの情報が入ってるので これで動くようです 手元に Mac がないので動作確認はできませんでしたが git View differences of branches with meld Stack Overflow に同じ手順が書いてあって プラス評価がついてるので正しいはずです Pro Git には P4Merge を使う手順 が書いてあるんだけど P4Merge はディレクトリーの比較に対応してないので dir diff には活用できません エイリアスを設定する このあたりは好みですが gitconfig でエイリアスを設定しておくと便利でしょう alias d difftool d dc difftool d cached dp difftool d HEAD git d branch とか git d HEAD のように入力するだけで difftool が dir diff で立ち上がるようになります まとめ

    Original URL path: http://tech.nitoyon.com/ja/blog/2013/07/02/git-dir-diff/ (2016-02-13)
    Open archived version from archive



  •