新人プログラマが1年目に触った環境とツールと知識

職業プログラマになって1年が経過したので、ここ1年間で職場で使った環境とツールと知識をまとめておく。私のポジションとしては、ほぼサーバサイドだけど、人手が足りない時にフロントサイドもやるような感じ。いろいろと忘れても、このエントリを見て思い出せるようにしたい。
 

OS

Windows XP ・・・職場で使ってるWindowsOS。ServicePack3まで入れて使っている。
 
Mac OS X Mountain Lion ・・・職場で使ってるMacintoshOS。
 
Windows 7 ・・・自宅で使ってるWindowsOS。
 
CentOS 6.x ・・・自宅で使ってるLinuxOS。
 
AmazonLinux ・・・AWSで使用されているAmazonの独自Linux。CentOSベース。
 
AndroidOS ・・・職場の開発用Android携帯端末に入ってるOS。
 
iOS ・・・自分のiPhoneと職場の開発用iPhoneに入ってるOS。
 

ウェブサーバ

Apache ・・・有名なウェブサーバ。
 
mod_rewrite ・・・Apacheのモジュール。リクエスト先のURLを書き換えることができるようにする。
 

データベース

MySQL ・・・Oracle製の無料で使えるデータベース。
 

プログラミング言語

PHP ・・・最近の軽量言語。
 
Perl ・・・昔からある軽量言語。
 
Javascript ・・・HTMLと組み合わせてUIを作ったりする。サーバサイドでの実装はまだ行ったことが無い。
 
ActionScript3.0 ・・・Flashを作る為の言語。タイムラインという概念を持つ。
 
Java ・・・Androidアプリを作るのに使用した。オブジェクト指向にはこれで入門した。
 
Objective-C ・・・Appleの我侭で主にiPhoneアプリを作る為に使われる言語。メッセージの読み方が難しい。
 

マークアップ言語

HTML ・・・CSSやJavascriptと組み合わせてUIを作る。
 
XML ・・・設定ファイルがこれで書いてあったりする。
 

その他の言語

CSS ・・・HTMLと組み合わせて使用する。デザインはこれで行う。
 
SQL ・・・データベースを操作する為の言語。
 
PL/SQL ・・・拡張SQLとも呼ばれる。大量レコードを作成する時に使ったりした。
 

フレームワーク

CakePHP 2.x ・・・命名規約が特徴的なPHPのフレームワーク。
 

ライブラリ

jQuery ・・・人気のJavascriptのライブラリ。デザインに特化している。
 
jqplot ・・・jQueryのプラグイン。グラフが描ける。
 

バージョン管理システム

Subversion ・・・集中型バージョン管理システム。
 
Git ・・・分散型バージョン管理システム。
 

環境構築系

Cygwin ・・・Linux環境をWindows上に構築する為のパッケージ。
 
XAMPP ・・・ApacheとMySQLとTomcatがセットになったパッケージ。
 

クラウド

Amazon Web Service ・・・ITインフラのレンタルサービス。まだまだ使い慣れない。
 

VMツール

Oracle VM VirtualBox ・・・Oracle製の環境エミュレータ。
 

エディタ/IDE

Eclipse ・・・Windows用のIDE。
 
Xcode ・・・Mac用のIDE。
 
FlashDevelop ・・・Windows用のAS3のエディタ(FlashProfessionalと同時使用推奨)
 
FlashProfessional ・・・Windows用のAS3の開発環境(FlashDevelopと同時使用推奨)
 
FlashBuilder ・・・Windows用のFlexの開発ツール。F12のデバッグモードが便利。
 
PlistEdit ・・・Macプログラミングする際に頻出のプロパティリスト(.plist)を簡単に編集できるエディタ。
 
Mi ・・・Mac用のエディタ。Xcodeでマルチファイル検索する方法が分からず、これ使ってた。
 
Vi ・・・あらゆる環境に付属するCUIベースのエディタ。
 
Vim ・・・viを拡張したCUIベースのエディタ。
 
GVim ・・・グラフィカルな部分の拡張を可能にしたVim。Windowsで使用している。
 

マルチファイル検索

YokkaGrep ・・・Windows用のマルチファイル検索ツール。
 

解凍ソフト

LhaForge ・・・Windows用の汎用性の高い解凍ソフト。
 

SCP/SSHクライアント

WinSCP ・・・Windows用のSCP/SSHクライアント。(CUIのSSHクライアントPuTTYと相性が良い)
 
Tera Term ・・・Windows用のSCP/SSHクライアント。
 
SCPlugin ・・・Mac用のSCP/SSHクライアント。
 

バージョン管理ツール

TortoiseSVN ・・・Windows用のSubVersion対応のバージョン管理ツール。
 
TortoiseGit ・・・Windows用のGit対応のバージョン管理ツール。
 

プラグイン管理ツール

PluginSwitcher ・・・プラグインのバージョンを自由に切り替えられるようにするツール。
 

データベース管理ツール

MySQL WorkBench ・・・Windows用のOracle純正のMySQL用データベース管理ツール。
 
NaviCat ・・・Windows用の高機能なクライアントベースのデータベース管理ツール。残念ながら有料。
 
phpMyAdmin ・・・ウェブベースのデータベース管理ツール。
 

プロジェクト管理システム

Redmine ・・・ウェブベースのプロジェクト管理システム。
 
Backlog ・・・ウェブベースのプロジェクト管理システム。残念ながら有料。
 

Wikiエンジン

PukiWiki ・・・Wikiエンジン。仕様書代わりにWikiを作った。
 

ブラウザ

FireFox ・・・ウェブ開発の為のアドオンが豊富なブラウザ。自宅でも使ってる。
 
Google Chrome ・・・意外と軽くて使いやすいブラウザ。
 
Opera ・・・カスタマイズを楽しみたい人用。
 
Safari ・・・Macintosh系OSに標準で付属するブラウザ。
 
Internet Explorer ・・・Windows系OSに標準で付属するブラウザ。
 

ブラウザのアドオン

WebDeveloper ・・・FireFox用のアドオン。ページ要素の解析に使用。
 
FireBug ・・・FireFox用のアドオン。通信周りの解析に使用。
 
HackBar ・・・FireFox用のアドオン。POSTメソッドでリクエストしたい時に使用。
 

連絡ツール

Skype ・・・多機能連絡ツール。チャットにおいてはコマンドで細かい権限の設定が可能。
 
Hotmail ・・・Windows Liveと合わせて使うことでメールアドレスを自由に変えられる。
 
ThunderBird ・・・Mozilla純正の使い勝手の良いメールクライアント。
 

便利なウェブサイト

Acronym Finder ・・・英単語の短縮形が分かるウェブサイト。変数命名に使う。
 
.htaccess Editor ・・・書き方を覚えておくのが面倒な.htaccessを作れる。
 
DropBox ・・・オンラインストレージサービス。
 

一般教養

正規表現 ・・・バリデーションを書くときに必須となる。知らないと正直困る。俺は困った。
 
ER図 ・・・データベースをモデリングする際に使用する。書かないといろんな人が困る。書けと怒られた。
 
クラス図 ・・・しっかりしてるところでは書いてるかもしれない。俺は書いてない。
 
シーケンス図 ・・・しっかりしてるところでは書いてるかもしれない。俺は書いてない。
 
デザインパターン ・・・良い設計をする為にプログラマには必須の知識となる。今はまだ勉強中。
 

数学的な知識

三角関数 ・・・ゲームプログラミングにて使用する。
 
ラジアン変換 ・・・ゲームプログラミングにて使用する。
 

データフォーマット

CSV ・・・容量の小ささだけが取り柄。用途が広い。
 
JSON ・・・容量の小ささが取り柄だが、ある程度のデータの構造化が可能。通信向き。
 
XML ・・・データの構造化に向いてる。通信でも使えるがJSONより容量が大きい。
 

操作系

シェル操作 ・・・Bashなどのシェルの操作方法。
 
Vi操作 ・・・ViやVimの操作方法。
 

知っていると助かる系

Curl ・・・高速な通信を行う規格。GoogleのAPIと通信する際にこれを使用しての実装を求められる。
 
OpenGL ・・・いろいろな環境で実装されているグラフィックス処理のためのプログラミングインターフェース。
 

おまけ

ギークハウスプロジェクト ・・・ギークが集まって住もうという趣旨のシェアハウス。将来住んでみたい。
 
 
以上
 
 
参考
特になし

Article written by

コメントを残す