【まとめ】これ知らないプログラマって損してんなって思う汎用的なツール 100超

  • 4245
    いいね
  • 30
    コメント

これ知らないプログラマって損してんなって思う汎用的なツールのコメントに寄せられたツールを分類分けしてみました。

  • 解説は、ほぼコメントに寄せられた内容のコピペです。
  • 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

https://sublimetext.com/3

CotEditor

フリー。超軽量なエディター。
簡単な文章修正とかに向いてる。

Coda

https://panic.com/jp/coda/
シェア。エディター+IDE的な感じ。デザインを確認しながら編集できる。FTPやSSHとかSVNとかも同梱されていてデザイナーはこれで十分。

TextWrangler

https://itunes.apple.com/jp/app/textwrangler/id404010395

Espresso

http://espressoapp.com/
Espresso はリアルタイムでCSSをプレビューしながら書けたりするエディタ。

JSON Editor

サクっとJSONを整形してくれる


IDE(統合開発環境)

Xcode

iPhoneアプリを開発する気がなくても入れておくと、差分を簡単に扱えるFileMergeアプリやopendiffコマンドなどおまけが付いてくるのでオススメ

Eclipse

Eclipse とか NetBeans とかもとりあえず使ってみる派。で、どっちがいいというのを決めるより「これは何が優れているか」をみて、シーンによって起動するのを変えてしまう。

NetBeans

Eclipse とか NetBeans とかもとりあえず使ってみる派。で、どっちがいいというのを決めるより「これは何が優れているか」をみて、シーンによって起動するのを変えてしまう。

PhpStrom

PHPやJavaScriptをはじめとしたウェブ向けのIDE。

Cloud9

まだ荒削りだけど、ブラウザで実行できるIDE。GitHubやBitbucketなんかと連動。

WebStorm

現行のIDEの中ではJavaScript回りの環境が最強。姉妹品のPHPStormも評判良いです。
リファクタとか超簡単に出来たりします。が、有料です。その価値はあると思いますけど…。

Nide

node.jsのIDE


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

enchant.js

npm

forever

coffee-script

rvm

nvm

nave


Python

pypy

pythonで書いたプログラムがちょっと遅いなと思ったらとりあえず一回使ってみる(djangoが動くので関係してますよね?)。

virtualenv, virtualenvwrapper, pythonbrew

pythonだとvirtualenv, virtualenvwrapper。最近では代わりにpythonbrewは絶対入れる。

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 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, よく使うコマンドとオプション, コマンド小ネタ, シェル小ネタ

http://qiita.com/items/2047#comment-2182

寒い日に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が発行されるのでブログに貼り付けたり出来ます

シーケンス図

http://www.websequencediagrams.com/

Cacoo

AppleK for VMware

Macで仮想マシン上のWindowsを使う場合にキー操作がMacと同じになるように設定してくれるアプリ。有料だけどVM上での作業効率が大きく上がるのでおすすめ。

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 まで書き写した
未分類だったものをある程度分類した