タグ

kazhrのブックマーク (554)

  • Rubyのエンコーディング - tmtms のメモ

    Ruby 1.9 から文字列や正規表現オブジェクトはそれぞれエンコーディング(いわゆる文字コード)を保持するようになりました。 たとえば 0xB1 0xB2 という2バイトは EUC-JP エンコーディングでは「渦」、SHIFT_JIS エンコーディングでは「アイ」という文字になります。つまり同じバイト列でもエンコーディングが異なれば異なる文字として解釈されます。 1.8 では文字列はただのバイト列でした。なので、それがどのような文字を表しているのか、つまりエンコーディングが何なのかはプログラムが知っている必要がありました。 1.9 では文字列オブジェクト自身が自分が何のエンコーディングかを知っています。同じ 0xB1 0xB2 というバイト列でも、それが EUC-JP の「渦」なのか SHIFT_JIS の「アイ」なのかは、文字列自身が知っています。 スクリプトエンコーディング スクリプ

    Rubyのエンコーディング - tmtms のメモ
    kazhr
    kazhr 2013/02/26
    Ruby1.9の文字コードまとめ
  • Rubyのcaseを〇〇(言語名)のswitch文だと思っている人たちにぼくから一言ガツンと申し上げたい

    Rubyのcase」を一瞥し「あー要は〇〇(言語名)のswitchね」などと早合点し、その後もその真の価値を知ることなく一生を終えるプログラマが近年跡を絶たない。加えて、「今更条件分岐?RubyはOOPなんだからポリモフィズムじゃね?」とか「HashにProc突っ込んでcallするのがオレ流。」とかうそぶく人たちもまた増加の一途を辿っている。 そんな世の中にあって、ぼくは一言、できればガツンと一言申し上げたい。生まれも育ちもRubyなぼくから、是非ともそんな人たちに「Rubyのcase」について一言申し上げておきたい。 ─ 問題1 ─ 名前name、レベルlevel、ポイントpointの各属性を持った複数のCharacterオブジェクトcharlie, liz, benがある。 class Character < Struct.new(:name, :level, :point) def

    kazhr
    kazhr 2013/02/26
  • フロントエンドJavaScriptにおける設計とテスト

    今日話さないこと JavaScriptの基礎知識、jQueryの導入 気持ちいいUIUXがうんちゃら CanvasやWebGLを使ったリッチでイケてるゲームの作り方

  • Node.jsアプリ開発で参考になる記事 まとめ | DevelopersIO

    最近は弊社のブログにもNode.js関連の記事が増えてきました。私も勉強中なのですが、社内ブログを参考にさせてもらうことがよくあります。 毎回探すのもちょっと面倒なのでClassmethid.dev()内のNode.js関連の記事をジャンルごとにまとめてみました。 1年以上前の記事もあり、情報が古い可能性があるので注意して下さい。今後も新しい記事が追加されたら更新していこうと思います。 メール送信 node.jsのいろいろなモジュール3 - Nodemailer node.js上から簡単にメールの送信ができるモジュールの記事です。 ファイル関連 node.jsのいろいろなモジュール1 - node-gzip node.js上で簡単にgzip圧縮ができるモジュールの記事です。 node.jsのいろいろなモジュール4 - Node Basic FFmpeg ffmpegという動画と音声を変換す

    Node.jsアプリ開発で参考になる記事 まとめ | DevelopersIO
  • 『JavaScript開発時に便利なツールたち』

    1 pixel|サイバーエージェント公式クリエイターズブログ サイバーエージェントのクリエイターの取り組みを紹介するオフィシャルブログです。最新技術への挑戦やサービス誕生の裏話、勉強会やイベントのレポートなどCAクリエイターの情報が満載です。 はじめまして。アメーバ事業部でディベロッパーをしています、平木(id:Layzie)です。 先日2/9に行なわれたFrontrend Vol.4で"JavaScript Development Tools – JavaScript開発の効率アップ"というテーマで登壇させていただいたのですが、セッションでは時間の都合でお話できなかった補足や、その他のツールのご紹介をしていきたいと思います。公式サイトで各講演のスライドと動画を見ることができますので、残念ながらイベントにいらっしゃらなかった方は、ぜひご覽になってください。 Chrome Canaryビル

    『JavaScript開発時に便利なツールたち』
    kazhr
    kazhr 2013/02/21
    JavaScript開発時に便利なツールたち
  • Git初心者が絶対に覚えておくべきコマンド - idesaku blog

    Gitの使い方を覚えるにあたって、まず知っておきたいのは――git-cloneだのgit-commitだのは当然として――「操作をミスったときにどのように回復するか」である。それを実現するのは、次の3つのコマンドだ。 git-commit --amend git-reset git-reflog git-commit --amend あるファイルをコミットしたとしよう。 $ (edit...) $ git commit -am 'メッセージ生成処理を実装したよ。'しかし、しばらくして彼は気づいた。 def create_massage(param) ...typoしてる!massageじゃない、messageだ!マッサージを作ってどうする! 慌てるな。まずは直してステージに上げるんだ*1。 def create_message(param) ...$ git add .そして…。 $ gi

    Git初心者が絶対に覚えておくべきコマンド - idesaku blog
    kazhr
    kazhr 2013/02/21
  • メンテナブルJavaScript

    目次 はじめに 第I部 スタイルガイドライン 1章 基フォーマット 1.1 インデントのレベル 1.2 文の終端 1.3 1行の長さ 1.4 改行 1.5 空行 1.6 命名 1.6.1 変数と関数 1.6.2 定数 1.6.3 コンストラクタ 1.7 リテラル値 1.7.1 文字列 1.7.2 数値 1.7.3 null 1.7.4 undefined 1.7.5 オブジェクトリテラル 1.7.6 配列リテラル 2章 コメント 2.1 1行コメント 2.2 複数行コメント 2.3 コメントを使う 2.3.1 難解なコードにコメントを付ける 2.3.2 エラーになりそうな箇所にコメントする 2.3.3 ブラウザ特有のハック 2.4 ドキュメントコメント 3章 文と式 3.1 波括弧を揃える 3.2 ブロック文での空白 3.3 switch文 3.3.1 インデント 3.3.2 caseか

    メンテナブルJavaScript
    kazhr
    kazhr 2013/02/19
    読みやすく保守しやすい
  • GitHubへpull requestする際のベストプラクティス - hnwの日記

    みなさん、Git使ってますか?僕はまだメインのVCSがSubversionなのもあって、なかなか慣れません。せっかくGitを使っているのに、ちょっと不便なSubversionくらいの位置づけです。でも、同じような理解度の人って多いんじゃないでしょうか。 一方で、最近はGitHub管理のオープンソースプロジェクトが増えてきました。バグレポートを送るにしてもpull request*1が前提のような空気があり、Git初心者には少し敷居が高い印象があります。 そんな僕も先日初pull requestをしてみたんですが、色々な失敗の積み重ねで残念なpull requestになってしまいました。その反省を元に、稿ではpull requestする際のベストプラクティスを紹介します。これは「Git Workflow」をベースにコマンド例などを加筆したものです。 概要 pull requestする際は、

    GitHubへpull requestする際のベストプラクティス - hnwの日記
  • 最近のJSの開発環境について知っておくべきライブラリ10個 - mizchi log

    ほんとに10個だと思った?(無意味に煽っていくスタイル) 最近JSだけのリポジトリで無益なゲームを大量に作っては破棄しているのだけど、割とストレスなく出来上がってきたので書く。 長々と書くが、要は次のリポジトリに概要が詰まってる。 mizchi/mizchi_client_boilerplate · GitHub https://github.com/mizchi/mizchi_client_boilerplate 前提として、最近はCSJSでもnodeのインストールを前提とする環境が多い。必須といってもいい。 grunt gruntjs/grunt · GitHub https://github.com/gruntjs/grunt ビルドタスクを簡単に作れる。make、rake、などに相当するが、node製らしくファイルシステムの監視でアクションを作れるのが特長。$ grunt serv

    最近のJSの開発環境について知っておくべきライブラリ10個 - mizchi log
    kazhr
    kazhr 2013/02/19
    最近のjavascriptライブラリ10個
  • デブサミ 2013 で自分戦略について発表して来ました - yoshiori.github.io

    今年も(!?)ギリギリオファーがありデブサミで発表して来ました。 なんというか高卒 && 25 歳からプログラマになったという二重苦みたいな環境なので 大卒の人とかもっと若い頃からプログラム書いてた人は僕よりは楽に進めると思いますが、最低限こんなもんだよねって言うのを見てもらえればいいと思います。 口頭で説明した部分をざっくり書くと 25歳からプログラマになった 組み込み系、SI を経て web系へ転職 プログラマからプレイングマネージャになった 自分戦略として考える軸として、 お金(自分の市場価値) 純粋に好奇心から自分のスキルを上げたい の 2 つを考えると考えやすいと思います。 (僕の戦略として)目指すところは最強 ドラクエで言うとお金貯めるよりステータス上げたい リーダーとしてそれなりにやれることは確認できた 次のステップとしてはやはり自分の根っこはエンジニアなのでエンジニアとして

    kazhr
    kazhr 2013/02/19
    かっこいい生き方。「目指すところは最強」
  • や...やっと理解できた!JavaScriptのプロトタイプチェーン - maeharinの日記

    JavaScriptのプロトタイプチェーンについて理解しようとしたのだけど、prototypeとか__proto__とかごちゃごちゃになって、色んなブログを読んでもなかなか理解しきれなくて悶々としていたのだが、図を書いたらパッと理解できた!以下、情報ソースはなるべくECMAScript仕様書(3rd)を元にするようにして書きました なぜ分かりづらいのか? そもそも、なぜJavaScriptのプロトタイプチェーンは自分にとってこうも分かりづらかったのだろうか?自分なりに分析してみると、まず、「似ているが違う用語が沢山ある」という点がある。ざっとあげただけでも、「prototypeと__proto__」「__proto__と[[Prototype]]」「FunctionとFunctionオブジェクト」などがある。そして次に、「入り組んだ構造が動的に変化する」という点がある。上記のように似たよう

    や...やっと理解できた!JavaScriptのプロトタイプチェーン - maeharinの日記
  • node.js 入れるなら nodebrew が超簡単 - tacamy--blog

    node をバージョン別に使い分けたりしたかったので、nodebrew なるものを使うことにした(hokaccha++)。 最初は nvm 使ったんだけど、なんかうまくできなかった。 ~/.bashrc に設定書いたら、ターミナル起動するたびに nvm use v0.8.19 とか出てくるのがイラっとしたのでやめた。 1. nodebrew のインストール ターミナルに以下の 1 行コピペするだけ。超簡単。 curl https://raw.github.com/hokaccha/nodebrew/master/nodebrew | perl - setup 2. 環境設定ファイルにパスを通す いまだに「パスを通す」っていう意味が分かってないけど、これをやらないと、ターミナルを再起動したときに、せっかく入れたツールが使えなくなるっていう認識でおります・・。 私は ~/.bashrc を使っ

    node.js 入れるなら nodebrew が超簡単 - tacamy--blog
    kazhr
    kazhr 2013/02/12
    今はnvm使ってる!node.jsの勉強もしたいな!
  • Rubyソースコード完全解説 / 青木峰郎

    $Id: index.html,v 1.6 2004/07/20 23:08:12 aamine Exp $ この文書は書籍『Rubyソースコード完全解説』のHTML版です。 ただし初校段階の原稿をベースにしているため、 書籍では修正されている間違いが残っている場合があります。 予め御了承ください。 2004-02-16 に全章を公開しました。 目次 まえがき 序章 第 1 部「オブジェクト」 第 1 章「Ruby言語ミニマム」 第 2 章「オブジェクト」 第 3 章「名前と名前表」 第 4 章「クラス」 第 5 章「ガーベージコレクション」 第 6 章「変数と定数」 第 7 章「セキュリティ」 第 2 部「構文解析」 第 8 章「Ruby言語の詳細」 第 9 章「速習yacc」 第 10 章「パーサ」 第 11 章「状態付きスキャナ」 第 12 章「構文木の構築」 第 3 部「評価」 第

    kazhr
    kazhr 2013/02/11
  • HTML5によるハイブリッドアプリ開発に関する雑記 - id:anatooのブログ

    HTML5でiPhoneAndroid向けのハイブリッドアプリを作るのが最近の流行りみたいです。ハイブリッドアプリとは、外面は普通のアプリとしてAppStoreやGoogle play marketでインストールできるものの、その中身や一部がHTML5で記述されているアプリです。 最近の有名な例だと、CookpadやLinkedIn、はてなスペース、少し前にネイティブに移行してしまいましたがfacebookのモバイルアプリもHTML5を使って記述されていました。GREE界隈で言われているらしいガワネイティブっていう言葉もハイブリッドアプリを指します。ちょっとググってみると、2016年には企業向けのアプリの50%がハイブリッドアプリになるという予測もあります。 ハイブリッドアプリの何がいいかというと、Objective-CとかJavaとかがわからなくてもウェブ系技術者であればAndroid

    HTML5によるハイブリッドアプリ開発に関する雑記 - id:anatooのブログ
    kazhr
    kazhr 2013/02/11
    ハイブリッドアプリのまとめ
  • 1画面しか使わないアプリ整理方法! 現在のiPhoneのホーム画面を晒します | NANOKAMO BLOG

    どうも@kuroji1987です。 たまにはiPhoneのホーム画面を晒したいと思います。誰のためでもない、自分だけのホーム画面を追い求めて、HAYA技の運用方法をガッツリ参考にしている次第でございます。ホーム1画面しか... 関連記事 サイト解析サービス「Chartbeat」を手軽に確認! Chrome拡張機能『Chartbeat for Google Chrome』が便利 ... 世界中で大ヒット! 「江南スタイル」の派生動画まとめ ... リアルタイムでアクセスを解析してくれるサービス『Chartbeat』に登録しました ... 音楽収集SNSMusicplayr』で作成したプレイリストをブログに貼り付ける方法 ... Googleの新サービス「Google ハウスビュー」が登場? ... 今年定番になったiPhoneアプリ6選 ... 人生が変わるライフログ! 毎日を1秒ずつ抜き

    kazhr
    kazhr 2013/02/08
    1画面しか使わないアプリ整理方法!
  • [ruby] ポインタと参照とか知らなくても ruby は書ける、なんてことはない。 - memo_ruby

    Cとか触れないのでポインタとか知らなくても良い、そもそもプログラミングの教育なんて新人研修でのJavaぐらい。たぶんそういう人多いと思う(自分含め)。そんな人でも perlとかrubyとか、適当に書いても(むしろ適当に書いているうちは)意外と動いてしまう。 動いてしまうから、基的なところは押さえずに進んでしまったのだけど、最近(前から?)当たり前のように、しょっちゅうはまる。はまるところは、たいてい変数がいつの間にか破壊されていて、しかも基的なことを理解できていないからソース読んでいるだけだと、原因がよくわからない。あまりによくわからないから、1から作り直してみたら、動いてしまって、そのまま迷宮入りなんてことも。 ということで、良くはまる基的なところを、おさらいしてみた。 rubyの変数はオブジェクトの参照 つまり、その通りで、当たり前かもしれないけど、おさらいということで、ちゃんと

    [ruby] ポインタと参照とか知らなくても ruby は書ける、なんてことはない。 - memo_ruby
    kazhr
    kazhr 2013/02/08
    ブクマコメ、ブログ内のコメントも参照
  • Ruby 勉強会 第42回 発表資料 IO について

    presentation for kansai-ruby-workshop #42 This presentation illustrates: IO#read length, buffer IO#readpartial IO#readnonblockRead less

    Ruby 勉強会 第42回 発表資料 IO について
    kazhr
    kazhr 2013/02/07
    rubyのIOについて
  • GoogleのJSON(モドキ)の先頭にwhile(1); がつく理由 - 葉っぱ日記

    なぜGoogleはJSONの先頭に while(1); をつけるのか #JavaScript #HTML #Ajax #StackOverflow - Qiita これはクロスサイト・リクエスト・フォージェリ対策。違うよ!全然違うよ! 攻撃者の作成した罠ページにてJSONを<script src="target.json">みたいに読み込んで、ゴニョゴニョやることでJSON内の機密情報に攻撃者がアクセス可能というのは合ってるけど、それを「クロスサイト・リクエスト・フォージェリ」とは言わない。無理に何か名前をつけて呼ぶとすれば、「JSON Hijacking」という俗称や、あるいは単純にクロスサイトでの情報漏えい、程度ですかね。 ちなみに、ArrayコンストラクタやObjectでのアクセサを定義してJSONをJSとして読み込んで内部にアクセスする手法は、現在のところ公にされているところでは古

    GoogleのJSON(モドキ)の先頭にwhile(1); がつく理由 - 葉っぱ日記
    kazhr
    kazhr 2013/02/07
    こんなバッドノウハウ、ふつうの開発者は覚えておく必要ないです。
  • Git がわからなくても Github を利用しよう | そんなこと覚えてない

    みなさん Github を利用していますか? 「Git がわからないから…」と、そんな理由で使わないのはもったいないです。 Webや開発に携わる人間であれば、例えプログラムを書かなくても、Github へアクセスする機会は増えているのではないでしょうか。 Webの人であれば jQueryのプラグインを探したり、サンプルコードが Github においてあったりすると思います。 しかし、いきなり使いこなすのは難しいので、まずは以下のことをはじめてみることをおすすめします。 アカウントを作る 知り合いや気になる人をフォローする 自分が利用しているリポジトリや気になるリポジトリにスターを付ける News Feed を読む 日人がやってるネタリポジトリの Issues やPull Requestsに絡む Gitを利用しなければいけない機能はとりたててありません。(Pull Requestには突っ込

    kazhr
    kazhr 2013/02/07
    日本人がやってるネタリポジトリの Issue やPull Request に絡む
  • なぜGoogleはJSONの先頭に while(1); をつけるのか - Qiita

    Stack Overflowに面白い質問があったので紹介する javascript - Why does Google prepend while(1); to their JSON responses? - Stack Overflow 質問 Googleのサービス内で使われるJSONの先頭に while(1); てついているのは何故? 例えばGoogle Calendarではカレンダーを切り替えるときに以下のような内容のデータがサーバから返される。 while(1);[['u',[['smsSentFlag','false'],['hideInvitations','false'],['remindOnRespondedEventsOnly','true'],['hideInvitations_remindOnRespondedEventsOnly','false_true'],['C

    なぜGoogleはJSONの先頭に while(1); をつけるのか - Qiita