2019/06/11追記: これは2012年の投稿です。なぜかはてなブックマークで拡散されていますが、内容は時代にそぐわなくなったものもあるのでご注意ください。
これ知らないプログラマって損してんなって思う汎用的なツールのコメントに寄せられたツールを分類分けしてみました。
- 解説は、ほぼコメントに寄せられた内容のコピペです。
- URLのみの記述は公式サイト(か、ほぼ公式サイトと化しているサイト)
- 公式サイトとは別に、ページタイトルだけでツールを説明しきっているページへのリンクも付けておきました。類似ページが複数ある場合は、はてブのブックマーク数が多いものを選びました。
- 知らないツールもあるので、分類がいいかげんなところもあると思います。何か気づいたらコメントください。
- 解説が不十分なツールについても、補足(コピペで本文に取り込める体裁だとありがたい)を頂けると助かります!
- 元ネタの投稿は現在進行形なので、随時取り込んでいきたいと思います。
エディタ
vim
自分はVimmerなんで、Vimを推しておきます。Vimがあれば大抵の事が出来ると思ってます。
が、Vimは習得に時間がかかるという難点があります。
エディタプラグイン
- neocomplcache.vim
- quickrun.vim
- vimproc + quickrun
- unite.vim
MacVim
Emacs
VIM, Emacs は別格って感じですね・・・
エディタプラグイン
- anything.el
CocoaEmacs
Mou
Markdownを書くためのエディタ。
Sublime Text 3
CotEditor
フリー。超軽量なエディター。
簡単な文章修正とかに向いてる。
Coda
https://panic.com/jp/coda/
シェア。エディター+IDE的な感じ。デザインを確認しながら編集できる。FTPやSSHとかSVNとかも同梱されていてデザイナーはこれで十分。
TextWrangler
Espresso
http://espressoapp.com/
Espresso はリアルタイムでCSSをプレビューしながら書けたりするエディタ。
JSON Editor
サクっとJSONを整形してくれる
IDE(統合開発環境)
Xcode
iPhoneアプリを開発する気がなくても入れておくと、差分を簡単に扱えるFileMergeアプリやopendiffコマンドなどおまけが付いてくるのでオススメ
Eclipse
Eclipse とか NetBeans とかもとりあえず使ってみる派。で、どっちがいいというのを決めるより「これは何が優れているか」をみて、シーンによって起動するのを変えてしまう。
NetBeans
Eclipse とか NetBeans とかもとりあえず使ってみる派。で、どっちがいいというのを決めるより「これは何が優れているか」をみて、シーンによって起動するのを変えてしまう。
PhpStorm
PHPやJavaScriptをはじめとしたウェブ向けのIDE。
Cloud9
まだ荒削りだけど、ブラウザで実行できるIDE。GitHubやBitbucketなんかと連動。
WebStorm
現行のIDEの中ではJavaScript回りの環境が最強。姉妹品のPHPStormも評判良いです。
リファクタとか超簡単に出来たりします。が、有料です。その価値はあると思いますけど…。
Nide
node.jsのIDE
- http://coreh.github.com/nide/
- Node.js向けのWebベースIDE「Nide 0.2」がリリース - SourceForge.JP Magazine : オープンソースの話題満載
SQL, DB
Sequel Pro
MySQLクライアント。phpMyAdminがいらなくなりました。
Navicat
MySQLクライアント。
MySQLWorkbench
MySQLのクライアントは MySQLWorkbench を使っています。
EER図も描けるからデータベースの設計にも使える。
HeidiSQL
Windows向けMySQLのクライアントですが、HeidiSQL
JDBC/ODBC等なしにこれ単体で接続でき、スプレッドシートを順次開いていくかたちでのブラウジングができる。
そのため、「実際にDBのデータを見ながらデータをいじる」というのが直感的にでき、非常に便利。
SSHトンネル接続や、サーバ間のデータダンプ&リストアもできるため、運用作業はだいたいこれで完結できる。
ただ、若干不安定なので、ミッションクリティカルな作業には向いてないかも。
(そういうのはサーバ上でやれよ、と言われそうですが…)
adminer
phpMyAdminと同じくブラウザベースのDBクライアント。
1ファイルでphpが動く環境ならOK、なにより軽いから重宝してる。
MySQL,PostgreSQL, SQLite, MS SQL,Oracleと意外に相手を問わないのになぜかマイナーなんだよな~。
SQLEditor
ER図作成ツール。生SQLやActiveRecord Modelを書き出せる
Base.app
SQlite用GUI管理ツール
ERMaster
DB管理ツール。
EclipseのプラグインですがDB管理+ドキュメント化が非常に楽になります。
The SQLite Sorcerer
SQLite用のクライアント。AIR製。
PHP
MAMP
xhprof
php で書かれたWebアプリケーションのボトルネック調査に必須
xdebug
PHPUnit
使えるテストフレームワークがこれしかない…
Phing
php のビルドツール,テスト環境や本番などの環境ごとのブートストラップ指定や,結合テストの設定に
Ruby
travisCI
継続インテグレーション
bundler
アプリケーション毎に必要な Gem を管理できる.デプロイ先の構築に便利
Capistrano
デプロイツール,PHP とか他の言語で書かれたアプリケーションも設定次第でこれでデプロイできる
Pry
irb から乗り換えた
watchr
guard
gist
Java
JavaDecompiler
JavaScript
node.js
JavaScriptの対話実行環境 とにかく速くJSの動作をチェックしたい時に便利
SpiderMonkey
JavaScriptの対話実行環境 とにかく速くJSの動作をチェックしたい時に便利
ringo.js
JavaScriptの対話実行環境 とにかく速くJSの動作をチェックしたい時に便利
jsPerf
JavaScriptのベンチマーク取れるサイト。jsのベンチマークをとって公開するのに便利。
jsFiddle
ブラウザ内でJavaScriptの実行・HTML/CSSのマークアップなんかが試せる
Google Closure Compiler
JavaScriptをミニファイすることがあれば、Google Closure Compiler
YUI Compressor
JavaScriptもCSSもミニファイすることがあれば、YUI Compressor
impress.js
- http://bartaz.github.com/impress.js/
- impress.jsライクなダイナミックなプレゼンテーションを作成するjQuery依存タイプのライブラリ・jmpress.js - かちびと. net
enchant.js
-
gl.enchant.js
npm
forever
coffee-script
rvm
nvm
nave
Python
pypy
pythonで書いたプログラムがちょっと遅いなと思ったらとりあえず一回使ってみる(djangoが動くので関係してますよね?)。
virtualenv, virtualenvwrapper, pythonbrew
pythonだとvirtualenv, virtualenvwrapper。最近では代わりにpythonbrewは絶対入れる。
- http://pypi.python.org/pypi/virtualenv
- http://pypi.python.org/pypi/virtualenvwrapper
- https://github.com/utahta/pythonbrew
- virtualenv, virtualenvwrapper, pip を使う方法 - Ian Lewis
- Pythonのバージョンを管理するツール、pythonbrewを作ってみた | ninxit.blog
SimpleHTTPServer
Pythonだと、SimpleHTTPServerが便利だと思います。
pip
ipython
scipy
werkzeug
CSS, HTML, LESS
Less.app
LESSを書くことがあれば LESS.app も便利です。
Twitter Bootstrap
自分はプログラムに集中したい、でも見た目もそれなりになってたほうがいい、というときにはTwitter Bootstrapでテンプレートをサクっと作っておくといいかもです。
zen-coding
HTML/CSSの入力支援。IDEがサポートしてたり、エディタにプラグインで組み込めたりする。
テスト
xUnit 系
XUnitTestPatterns とか読んでおくとどの言語の xUnit 系テストフレームワークへの理解が進む
xSpec 系
JBehave とか RSpec とか. PHP には無い.Wikipedia英語版のBDDのページがわかりやすい
QuickCheck 系
プログラム仕様そのものを記述し,ランダムな引数を与えて検証するテストフレームワーク.
オリジナルは Haskell からだが,メジャーな言語ではけっこう既に実装されている.
Haskell 以外の言語で意欲的に実装を開発しているYelloSoftのページ がわかりやすいかと
ネットワーク
Hoster
hostsファイルをGUIで設定するアプリ。
wireshark
あと wireshark, tshark は使い方覚えると超強力ですよ。
- http://www.wireshark.org/
- パケットキャプチャツール「Wireshark」 - Wiresharkって? - ネットワークエンジニアを目指して
- Tshark(キャプチャツール)
HTTP Client
MockSMTP
仮想ローカルSMTP。ネットに繋がっていなくてもSMTPの挙動がチェックできる
FTP, SSH, SCP
~/.ssh/config: SSHまわりの設定をまとめておくと大変便利
PuTTY
WindowsのSSHは PuTTY 派なんですが、人にすすめるのは Poderosa ですね。
Poderosa
WindowsのSSHは PuTTY 派なんですが、人にすすめるのは Poderosa ですね。
ClusterSSH
Transmit
リモート上のファイルをダブルクリックでローカルに保存→開く、ファイル保存→自動的にアップロード なんてのが出来て、ちょっとした開発には結構便利。あと、接続先のディレクトリをFinderにマウント出来る恐怖の機能とかも。もちろんssh等にも対応。
grep
rak
Ruby系のツールの rak コマンド。grep検索ツールです。
ack
better than grep
jvgrep
手前味噌ですがgrepでjvgrep。go言語で書かれているのでlinuxでもwindowsでも同じ動作。
日本語のエンコーディングはだいたいサポートしてるので、いろんなエンコーディングのファイルが混じった時のgrepや、通称駄目文字を含んだ正規表現でも正しく動きます。
Tips
export GREP_OPTIONS='--color=auto'
でfgrep/egrep/grepしたときにマッチしたとき単語がカラフルにハイライト表示されるようになる
grep/fgrep/egrepの-oオプション。マッチした単語のみ抽出出来る、これはワンライナー書くときに使える。egrepは拡張正規表現なのでPerlとかRubyみたいに便利な正規表現使える。fgrepは固定文字列検索するときに早い
詳細: 単語抽出するちょっとしたテクニック - 技術メモ帳
統計処理
数万件程度のちょっとしたログをさくっと処理したい時に便利
中央値、標準偏差なんかも一発で出せる。データを元にヒストグラム、3Dのグラフ描画とかも
R
Octave
ターミナル
TotalTerminal
Macのターミナルをショートカットキーですぐに呼び出せます。
iTerm2
percol
percol がターミナルで使える汎用的で便利なツールです。どう使うかでこちらの知識/センスが試されている気分になります。
Subversion
Cornerstone
SVNクライアント。
Versions
SVNクライアント。
git
SmartGit (Windows)
Git クライアント
SourceTree
Git クライアント
GitHub
自分の書いたソースコードを公開。
tig
git使うならtigが無いと生きていけない。
GitX
Tower
github for mac
ブラウザ
SRWare Iron
UserAgentが変えられるChrome的な使い方をしてます
パッケージ管理
MacPorts
フリー。パッケージ管理ツール。コンパイルに時間かかるけど昔から使ってるから手放せないツール。
Homebrew
UNIXのコマンドなどをサクっと入れられます。
その他開発関係ツール
codekit
CodeKit automatically compiles Less, Sass, Stylus, CoffeeScript & Haml files.
pandoc
書き溜めたmarkdownメモを
ドキュメントつくるときにpandoc使ってhtml化してる
Integrity
高速リンクチェッカー。デプロイ前の必須アイテム
Omnigraffle
シェア。ドキュメント作成ツール。これで仕様書を作るとめちゃくちゃ捗る。
osx-gcc-installer
Macで「xcodeは要らないけど、gccだけ欲しいわー」ってなったときに死ぬほど有り難いツール。とりあえずWatchかブクマ。
VMware + Gentoo (or Ubuntu, Debian, etc)
ImageOptim
画像ファイルを軽量化
HTMLサーバとしてのDropbox
HTML+CSS+JSをグローバルアクセスからデバッグしようと思ったら、結局DropboxのPublicフォルダが一番簡単なことに気がつきました(スマフォ向けサイトとかね)。
その他作業効率化関係ツール
Caffeine
BetterTouchTool
ClipMenu
Limechat for mac osx
Preferences -> Log -> Show image links in inlineを有効にすると
ユーザー名に対応した画像をTwitterから引っ張ってきてインラインで展開してくれる。
もちろん間違ってるプロフィール画像が展開されることもあるけど、有名人多いIRCとかだとだいたいあってる。
QuickSilver
Quicksilverは、アプリケーションの立ち上げ、コンピューター・ファイルの操作、e-mailの下書きと送信といった作業を、キーボードにより、手早く処理できる。
Quix
quix便利やけど使ってる人見たことない
Skitch
Lingon
フリーorシェア。自動起動の管理ツール。OSXの自動起動プログラムを視覚的に編集したりできる。
Growl
基本的なところでMacだとGrowl
Alfred
QuickSilverみたいなfuzzyな文字列による、アプリケーション検索 & 実行ランチャ。QuickSilverよりも良いのは、マッチするアプリケーションがなかったときはGoogleで検索してくれること。
Reeder
RSSリーダーは Reeder がおすすめ。
Cinch
Macで簡単に画面2分割(Win7のあれ)をやってくれるツール。同僚に教えてもらってアディクトしてしまった。
Fluid
Webアプリを簡単にローカルアプリ化出来るヤツ。Webアプリで簡単に開発して、クライアントをブラウザにしなくなかったり、常駐させたいときに便利。
DIVVY
画面をショートカットキー1発で分割できる
A Better Finder Rename
バッチリネームが超絶簡単
Skim
軽量PDFリーダ。Adobe Acrobatよりも気持ちいい
Bean
Microsoft Wordよりも快適
Unix/Linux/Macコマンド
- gdb
- lv
- xargs
- iotop
- htop
- iperf
- htop
- zsh
- tree
- make
- bison
- awk
- screen
- byobu
- tmux
これはサーバで長時間かかる作業を不安定な回線などで行うときに特に役立ちます。
screenは手軽にプロセスを長生きさせるのに便利です。
sshで接続して何かしらの時間がかかるプロセスを実行しても、接続切ったらプロセスもカーネルに殺されてしまう。
そこでscreenの中でプロセスを起動して、screenをデタッチしとくと、そのプロセスを生き長らえさせることができます。
最初にありがたいと思ったのはサーバー上で長い事作業する時
通信がぶちっと切れてもscreenのプロセス自体は生き残るので、再度サーバーに接続して
残ってるscreenのプロセスにアタッチすれば作業が即再開できる。
vimの作業状態なんかもそのまま残っている
byobuというのはscreenがいい感じにカスタマイズされた奴
screenは最近tmuxに置き換えました。まだ使いこなしてないけど。
screen/tmux がとっつきにくいという向けにはbyobu がお勧めです.
とりあえず困らない設定になっています.
後は以下に沢山のtips が
"ターミナルマルチプレクサ Advent Calendar 2011 : ATND" http://atnd.org/events/22320
ネイティブのバイナリ関連なら、od,file,nm,strings,strace,varglind
あと個人的にはvim/zsh/screen。この3つはどんな環境でも必ず入れる
find ./ -name *.php | xargs grep hoge とかはよく使いますね。Windowsは秀丸のgrepが強力です。
git, よく使うコマンドとオプション, コマンド小ネタ, シェル小ネタ
寒い日にCPUが発熱してあったかくなるコマンド
寒い日は充電中のMacBook上でruby -r digest/sha1 -e 'loop{Digest::SHA1.hexdigest(Time.now.to_f.to_s)}'
とかしてしばらく放置すると勝手にCPUが発熱してあったかくなる
ウェブサービス
Qiita
ここ
未分類
mscgen
シーケンス図を書くのであればmscgenをお勧めします。
日本語もフォントを指定すれば問題なくうごきます。
cheat
yUML
UMLを描いて出力できるWebサービスです。ユニークなURLが発行されるのでブログに貼り付けたり出来ます
クラス図 / アクティビティ図 / ユースケース図
WebSequenceDiagrams.com
UMLを描いて出力できるWebサービスです。ユニークなURLが発行されるのでブログに貼り付けたり出来ます
シーケンス図
Cacoo
AppleK for VMware
Macで仮想マシン上のWindowsを使う場合にキー操作がMacと同じになるように設定してくれるアプリ。有料だけどVM上での作業効率が大きく上がるのでおすすめ。
- VMWare用
http://www.trinityworks.co.jp/software/AppleKforVMware3/index.php - Parallels用
http://www.trinityworks.co.jp/software/AppleKforParallels3/index.php
KeyRemap4Macbook
なぜかまだ挙げられていないKeyRemap4Macbook。キー割り当てを自在にカスタマイズできる他、キーリピートやキーウェイトを標準仕様より高速化できる。Mac使いのプログラマにとっては定番のアプリ
http://pqrs.org/macosx/keyremap4macbook/index.html.ja
BitNami
様々なOSSプラットフォーム/アプリをインストーラを使って簡単に導入し試すことの出来るソフト
http://bitnami.org/stacks
AMPPS
様々なOSSプラットフォーム/アプリをインストーラを使って簡単に導入し試すことの出来るソフト
http://www.ampps.com/
TEKICO
日本語・欧文のダミーテキストを生成するAIR製ソフト。Webサイトのプロトタイプ作成時に活躍。
作業メモ
2012/02/08
http://qiita.com/items/2047#comment-2159 まで書き写した
2012/02/09
http://qiita.com/items/2047#comment-2215 まで書き写した
#comment-2219 まで取り込んだ
Googleとかでタイトルの後ろがtruncateされて本家と区別つかないのでタイトル変更「これ知らないプログラマって損してんなって思う汎用的なツール 100超 まとめ」→「【まとめ】これ知らないプログラマって損してんなって思う汎用的なツール 100超」
2012/02/10
http://qiita.com/items/2047#comment-2295 まで書き写した
未分類だったものをある程度分類した