サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
qiita.com/tanakahisateru
WebStorm(IntelliJ)のJavaScript静的解析はすごく便利ですね。サポートしているライブラリ/フレームワーク以外にも、TSDでTypeScriptのインターフェースを取り込めたり、自分で書いたコードを読んで推測してくれたり。自分のコードに JSdoc があるとそれがより高精度に。 ...でも、それだけではどうしても型ヒントが付かないオブジェクトがあります。外から来たJSONメッセージだったり、MongoDBから読み込んだBSONだったり。存在すると信用していいプロパティなのに、どこにも実装がないがために、ドットでアクセスしたら Unresolved Variable が出ることがあります。 このとき使えるのが JSDoc3 の @typedef です。 JSONが間違いなくこういう形をしていたとして、
Node.jsでがんばりすぎると別のプロセスに迷惑だから長いことかかる処理は sleep() みたいなのを挟みながらやりたいなー。 と思ってググった結果がこうですよ。 binding = { sleep: function(s) { var e = new Date().getTime() + (s * 1000); while (new Date().getTime() <= e) { /* do nothing, but burn a lot of CPU while doing so */ /* jshint noempty: false */ } }, だめですね。これCPU使いまくり。 まあ、CPUがいくら発熱してもいいよって思っても、制御が別のタスクに行かないのはアウトです。たとえばこれがサーバのリクエストハンドラに使われてたら、みんな一定秒数遅れてページ表示される、んじゃなく
Ruby installer for Windows はここ http://rubyinstaller.org/downloads/ のバイナリです。 gem install nokogiri したとき、nokogiriのバイナリリリースがインストーラーのRubyバージョンより遅れていると、ソースからネイティブライブラリをビルドしようとして、libxml2 がないという例の問題が発生します。 http://www.kaoriya.net/blog/2013/03/29/ 経緯的には、nokogiriが入らないとBerkshelfが使えないというのが問題になりました。vagrant-berkshelfプラグインが終わってるから何とかしたいのです。Vagrantはomnibusだけにして、レシピはホストOSであらかじめ取ってくるようにさせたかった。簡単だと思ったらWindowsですごい落とし穴
Xcode は 5 からなのか Mavericks からなのか、足りない Command Line Tools をアプリケーション設定からインストールすることができなくなったようで、 https://developer.apple.com/downloads/index.action (要ログイン) から取得しないといけないのか何なのか。と思いきや、Homebrew の問題分析ツールをよく見ると... $ brew doctor ... Warning: No developer tools installed. You should install the Command Line Tools. Run `xcode-select --install` to install them.
普段Gitを使っていたりすると、テキストファイルの改行コードがLFで揃っていて欲しいですよね。でもファイルをひとつひとつエディタで開いて変換するのはすごく面倒。というとき、IntelliJ IDEA系のIDEで簡単に改行コードを変換する方法を見つけました。 Project View などファイル一覧が出るビューで変換したいファイルを選択、Cmd + Shift + A でアクションリストを開き、そこで LF とタイプすると、いつもステータスバーからのポップアップで見ていたあの LF - Unix and Mac OS (\n) が出てきます。実行えいやー。ほら簡単。 Project View のフォルダを選択して同じ事をすると、フォルダ内の全ファイルが変換対象になります。 残念ながら今のところ、To Spaces と To Tabs は Project View からは実行できませんでした
PhpStormで自分がよく使うショートカットです。PhpStormでまず覚えるべきショートカット とかぶっているのは書いてないのでお先にどうぞ。 IntelliJ IDEA でもわりと共通しています。面倒なので表記がMac専用ですがWindowsでもたぶん同じ機能が使えますよ、きっと。 無敵コマンド ⌘+⇧+A 出てきたポップアップに、こんなのできるかなぁ、できたはずだけどな、と、やりたいことをなんとなく英語で書くと、機能をメニューで選んで直接実行できます。ショートカットが割り当ててあればそれも表記されるうえ、入れた単語が設定ダイアログで見つかれば、設定の該当箇所を開いてくれたり。 定義と使用箇所を行ったり来たり 定義元へジャンプは、キャレット位置のワードに対して ⌘+B する他にも、⌘+ワードをクリック があります。コマンドキーを押しながらマウスカーソルをホバーさせたら、辿れるワードだ
特定のグループIDを持っているエンティティだけを抽出して、その名前をいくらかの文字数で切り詰めて得るという処理を考える。 はじめに手続きで考えてみよう。 <?php function issue($entities, $groupId, $textLength = 10) { $clippedNamesInGroup = array(); foreach ($entities as $entity) { if ($entity->getGroupId() == $groupId) { $clippedNamesInGroup[] = mb_strimwidth( $entity->getName(), 0, $textLength, '…' ); } } return $clippedNamesInGroup; } これでは、どこからどこまでが「グループによる抽出」で、どこからどこまでが「
IntelliJ IDEA シリーズはコマンドラインシェルをウィンドウの中で起動できて、IDEの機能にまだないちょっとしたコマンドを実行することができる。...はずなんだけど、環境変数が足りなかったり、欲しいコマンドにパスが通っていなかったりする。おもむろに npm install … とかやって実行できなくて焦る。 落ち着いて、 Tools > Run Command… で env と打つと、PATH が /usr/local/bin 等の便利なところに通っていないのがわかる。これでは使いたいコマンドをすぐに使うことができない。 どうやら .launchd.conf ではダメっぽいので訂正です。このtipsは間違いでした。正しくは… Launchpadからいきなりアプリケーションを起動するんじゃなくて、自分の環境が整ったシェルから起動すれば、その環境を引き継いでくれます。 Tools >
しばしば三項演算子やdo-while構文が禁止されているコーディング規約に遭遇する。それは今すぐ撤廃すべきという論理武装を考えてみよう。事例はPHPだが、このことはすべての言語にいえる。 例 あるサービスから何らかのデータを取り出し、それをクライアント側で使うという手続きを考える。 ここで、サービス側のAPIとクライアント側のAPIに仕様ギャップがあったとしよう。$service は古く、うまく行かなかったとき例外ではなく null 的なもの(PHPではもしかするとfalseかもしれない)を返す習慣で作られていた。いっぽう $client は null を入力される想定がない。何もしないで欲しいときは空の array を入力する仕様だった。 以下の実装例を見てほしい。 <?php $data = $service->getSomeData(); if ($data === null ||
このページを最初にブックマークしてみませんか?
『@tanakahisateruのマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く