タグ

ブックマーク / blog.katty.in (6)

  • nullチェックは、ifですべきかtry/catchですべきか?

    「Javaの高速化の方法」というページに、次のような高速化手法が書かれていました。 文字列がNULLかどうかの判断は IF文を使用せずに 例外処理NullPointerException で置き換える if文の場合です。 if(obj == null) { /* process */ } try/catchの場合です。 try { /* process */ } catch (NullPointerException e) {} たまにこういう謎の高速化手法を教えてもらうのですが、どうしてもすぐには信じられないので少し調べました。 ifとtry/catchのオーバーヘッドは? Stack Overflowに、ドンピシャな質問がありました。 Java if vs. try/catch overhead 読んでみると、「例外処理は例外的な処理に使うものだから、通常のフローでnullになるような

    nullチェックは、ifですべきかtry/catchですべきか?
  • 可視化ライブラリD3.jsの設計が素晴らしすぎる。 | 三度の飯とエレクトロン

    最近名前を聞くことが多くなってきたD3.jsを試してみています。 まだ使い始めたばかりですが、D3.jsの設計の素晴らしさに感動しています。 データを与えればグラフが表示されるというような単純なものではないので、敷居が高く感じていましたが、設計を知るほどによく出来ていて驚きます。 D3.jsとは何か? そもそも、D3.jsとはなんでしょう? D3.js – Data-Driven Documents D3.jsは、データをブラウザで可視化するためのライブラリです。 単なるグラフライブラリではなく、もっと抽象的な「可視化」を扱うのが特徴です。 抽象的なレイヤーを扱うので、ライブラリと言っても機能より設計が重要で、D3.jsが支持されている理由はその設計の素晴らしさにあります。実際に描画しながら、その設計の違いについて考えていきます。 企業の時価総額と営業利益の関係をプロット 例題として、企業

    可視化ライブラリD3.jsの設計が素晴らしすぎる。 | 三度の飯とエレクトロン
  • PHPを数行書きながらフレームワークを理解する

    フレームワークと強そうですが、ものすごく単純化して考えると、以下の1行に集約されます。 View(Action($_GET['url'])); これは何をしているかというと? どこにアクセスされているかを取得する。 ($_GET[‘url’]) 必要な処理を施す。 (Action) 処理の結果を表示する。 (View) どこにアクセスされているかを取得する 思い切って、.htaccessに次のように書いてしまいます。 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] これは「どんなURLを叩いても全てindex.phpを呼ぶ」というものです。(そこに既にファイルが存在しなければ

    PHPを数行書きながらフレームワークを理解する
  • プログラマが考える劇的に効率が上がるExcelシートの作り方

    そこそこの複雑な計算をするのにExcelはものすごく便利です。何かのプログラミング言語を使って書いたら1時間くらいかかるような計算が、ものの数分でシート上にできあがります。 この素晴らしいExcelを、より使いやすくするワザを、プログラマ的な視点から書きたいと思います。 拡張性のないシート そういうわけで、Excelは素晴らしいんですが、使う人によってはなんとも「拡張性のないシート」ができあがります。 僕はプログラマなので、こういう素晴らしいツールを使いはじめると、どうしても拡張性とか保守性みたいなものが気になってしまいます。プログラマは同じことを繰り返すのが苦手です。シートにデータを入力してから完成形ができあがるまでに人手を使うことを避けて、全部を自動化したくなります。 次のようなことをしていたら、Excelを正しく使えていないような気がします。 途中で電卓を使って計算してセルを埋めてい

    プログラマが考える劇的に効率が上がるExcelシートの作り方
  • WEB APIのURL設計のトレンドはこれだ!WEB APIのURL設計まとめ

    APIのURL設計をしようと思い、その前に有名サービスのAPIのURL設計がどうなっているのかについて調べました。 一覧を載せた後に、「多数派なURL設計」を書きたいと思います。

    WEB APIのURL設計のトレンドはこれだ!WEB APIのURL設計まとめ
  • 非エンジニア向けGitの使い方

    エンジニアでないチームメンバーも、いくつかのドキュメントは直接触ってもらった方が早い場合があります。そこで、チームメンバー全員がGitの基を使えるようになるべく、勉強会をしました。その記録兼テキストです。 はじめに まず始めに知ってほしいのは、Gitはただのツールであるということです。Gitを使ってやることはプログラミングではなくて、ドキュメントをうまいことまとめる事務作業にすぎないということです。 だから、エクセルを使うのとほとんど同じ。便利なツールの使い方を覚える、という姿勢で臨んでほしいと思います。(コマンドライン恐怖症な方には、Gitクライアントという便利なソフトもあるので、そういうのも利用すると良いと思います) 2人でプログラミングをすると何に困る? 2人が別々にプログラムを書き換えてしまうと、番の環境にアップロードするときに、衝突してしまう。どこを書き換えたか事細かにチェッ

    非エンジニア向けGitの使い方
  • 1