今回、約20年弱のIT業務の現場において、役に立ったと感じたフリーアプリを整理してみました。
会社から与えられた有償のアプリ(Microsoft Office、秀丸、統合開発環境等コンパイル環境など)は、ここでは対象としていません。
世間的に評判の高かったアプリもあわせて紹介します。
※特記事項がない限り、Microsoft Windows上で動作するアプリを対象にしています。
※個人的な見解で必要度の高いと思われる順番で記載しています。
※URLリンクは参照先アドレス変更等の懸念があることから、貼っておりません。
しかし、Google検索エンジンで「アプリ名 ダウンロード」で入力することで、簡単にインストール方法等を確認することができるでしょう。
ソフトウェア設計時に役立ったアプリ
Adobe Acrobat Reader DC
Adobe Acrobat ReaderがIT業務に限らず、様々な業界での仕事に必要となるPDFリーダー、PDFビューアの定番です。
意外にプリインストールされていない(誤ってアンインストールしてしまった)パソコンを見かけたことがあったので取り上げました。
Tera Term Pro
Tera Termはリモートログオンクライアントの定番です。
SSH・telnet・シリアルの各通信プロトコルに対応しています。
最近ではセキュリティの観点からtelnetによりリモートログイン可能な機会は少なくなりましたが、私はこのtelnetを別の使い方で利用しています。
接続先の特定のポート番号について外部からの接続が許可されているかどうか確認したいことがたまにあります。例えば、自身でオリジナルで設定した80以外のHTTPポート番号がきちんと外部に対しオープン状態かどうかの実証確認に用いています。もう少し具体的には60003ポートをHTTPポートとして設定したつもりの後に同telnetによる接続確認を行います。きちんとポートがオープン状態(LISTEN状態)であれば、同ポート番号でtelnetで接続した時、同画面のステータスバーに"接続"と表示されます。オープンできていなければ、接続タイムアウト画面が表示されます。
SSHは現在(2018年3月時点)のリモートログインのプロトコルのデファクトスタンダードになっています。また、Tera TermはSSH経由でのファイルの転送機能を備えているので、バッチファイルのアップロード、ログファイルのダウンロードなどで重宝しています。
シリアルは端末でシリアル接続した時に利用しますが、こちらはインターネットが利用できない環境下でリモートアクセス時等に重宝しています。
Lhasa
LhasaはLHA及びZIP形式の圧縮ファイルの解凍に用いられるアプリです。
結構、有名な部類に入るかと思います。
【私が重宝している理由】
- アプリデフォルトの設定(だと思います)でファイルの中身を解凍せずに閲覧できる。
- 上級者用の隠れ設定画面があり、そこから圧縮時のパスワードありなしが設定できる
- 使用経験が長いこと。
Windows 98の頃から使用しており、個人的に圧縮・解凍ソフトといえば、Lhasaが最初に頭に浮かびます。
FFFTP
FFFTPはFTPクライアントソフトの定番としても有名です。
FTPがインストールされたサーバへのファイルのアップロード、ダウンロードで利用しています。
自前のサーバでホームページを作成された経験がある方なら、多用されていたかもしれません。
最近ではTera TermのSSH経由でのファイル転送機能を利用することが多くなったため、一時よりは使用することは少なくなりましたが、一度に複数のファイルをアップロードする場合は重宝します。
Binary Editor BZ
Binary Editor BZはシンプルなバイナリエディタです。
電子ファイルを同アプリへドラッグ&ドロップすることでファイル内の機械値(ビットの並び)(標準設定は16進数表示)が表示されます。
用途例としては作成したアプリから出力したバイナリ形式のファイルが設計どおりに出力できているかの詳細確認などに利用します。組み込みソフト開発ではバイナリ形式でファイルの入出力を扱うことも多いので、組み込み開発時は利用する機会もあるでしょう。
Google Chrome
Google ChromeはGoogle社が提供元の定番のブラウザで、セキュリティ面でも高名高く信頼性が高いアプリです。PCだけでなくスマートフォンでもあるので、少なくとも見聞きしたことがある人は多いのではないかと思います。
しかし、本記事で注目したい点はサーバーアプリケーション(特にフロントエンジニア)のデバッグツールとしてもとても優秀なことです。
『Ctrlキー』+『Shiftキー』+『i』を同時に押すと、開発者用画面が表示されます。
開発者用画面の主な特徴としては表示したページ中にHTMLやJavascriptなどの文法エラーがあった場合、赤表示でエラー内容を表示してくれます。またデバイスの種類に応じた画面表示確認が可能(PC画面表示以外のAndroidスマホ、Androidタブレット、iphone、iPad等での表示確認)なため、スマートフォン向けページのデバッグも可能です。
その他、Javascriptコードのステップ実行やHTTPリクエスト及びレスポンスのモニター等も可能です。
※その他著名なブラウザとしてはInternet Explorer、Mozilla Firefox、Operaがあります。
Internet Explorerでは『F12キー』で開発者用画面が開きますが、個人的には使いやすさという点でGoogle Chromeに軍配が上がります。
TortoiseSVN
TortoiseSVN は、バージョン管理システムであるSubversionのクライアントフロントエンドです。
同様のアプリにCVS(Concurrent Versions System)がありますが、それと比較すると、手軽に構築できます。
主な用途としてはソースコードのバージョン管理があります。またプログラムのソースコードに限らず、Word文書などにも適用できます。十数人程度で作業するような場合は、十分な運用実績をもちます。
WinMerge
WinMergeはテキスト系ファイルの差分比較と、マージの機能を持ちます。
別述のTortoiseSVNとの組み合わせで、確実なバージョン管理のもと円滑なソースコードの作成(ソースコードの差分抽出、マージ作業)が可能になります。
※ちなみにTortoiseSVNの設定で標準の差分ツールとして利用することも可能です。Microsoft Word文書の差分確認に役に立ちます。
Wireshark
Wireshark(ワイヤシャーク)はネットワークエンジニアとっては定番のネットワーク・アナライザです。
サーバー開発においても、デバッグ時またはトラブル対応時の調査ツールとして重宝しています。
ただ、最近ではLAN上を流れるパケットは基本的に暗号化されているので、同アプリを使った調査では、特別に暗号化を行わないようにしたテストアプリが必要になることが多いです。
A5:SQL Mk-2
A5:SQL Mk-2はデータベース開発を支援するために開発されたフリーのSQL開発ツールです。
機能は豊富ですが、個人的にはデータベーステーブルの設定値の確認用として主に使用します。
同一ホスト上に構築されたデータベースはもちろん、別ホスト(IPアドレスが異なる端末等)上のデータベースへもアクセスでき、エクスプローラー風で確認できるため、視認性は抜群です。
(ただし、別ホストのデータベースにアクセスする場合、同データベースの外部アクセス設定を場合によって変更する必要があります。)
テーブル内設定値の確認程度であれば、SQL文を入力する必要がないので、便利です。
かぞえチャオ
かぞえチャオは無料ステップ数カウンターソフトです。
C、VB、PHP、Java、ASPなどの作成/編集したソースファイルのステップ数=行数をカウントすることができ、バグ分析表の作成等に利用できます。このため、特にプロジェクト管理者には役に立つアプリです。
VMware
1台のコンピューター上で、複数OS(オペレーティング・システム)の実行を可能とする仮想マシンです。
用途例としてはWindows上でLinux(Ubuntu等)環境を構築できます。
このため、利用できる開発マシンがWindowsパソコン1台しかない状況でも、仮想マシンを作成すれば、Linuxアプリケーションの開発が可能です(仮想的にパソコンが一台増えるイメージです)。
類似のソフトとしてOracle VM VirtualBox があります。
Cygwin
Cygwin(シグウィン)は、Windows上で動作するUNIXライクな環境を提供してくれるソフトウェアです。
Windows上で手軽にLinux環境上でプログラムの動作確認を行いたい場合に役にたちます。
別述のVMwareと異なる点は、VMwareは様々なLinuxのディストリビューション(もちろん他のエディションのWindowsにおいても)にあわせた開発ができるのに対し、Cygwinの環境はあくまで疑似的なLinux環境を想定している点です(このため、カーネルバージョン(カーネル:OSの中核部分)に依存する部分の確認などは難しいでしょう)。
iTunes
iTunes(アイチューンズ)は、iPhoneユーザ間ではおなじみのファイルマネージャーです。
iPhone本家のアップルが開発及び配布しているメディアプレーヤーですが、ソフトウェア開発者目線では、あえてiPhoneとは特定せず、iOS端末間とのファイル転送用として利用可能です。
ちなみにiOS 11.0以上だとiTunesでのファイル転送ができなくなったようです。
後述のiFunBoxであれば、まだ可能なようです。
iFunBox
iTunesと類似のファイルマネージャーの一つです。iPhoneユーザ間ではiTunesに次いで、人気が高いと聞いています。iTunesと異なり、アップル社とは異なる会社が提供しています。
別述のiTunes同様、iPhone等のiOS端末間のファイル転送用として利用可能です。
iExplore
iTunesと類似のファイルマネージャーの一つです。
別述のiTunes同様、iPhone等のiOS端末間のファイル転送用として利用可能です。
iTunesやiFunBoxよりもWindowsライクなエクスプローラー風の環境で操作可能なようです。
WinScp
WinScpはファイルをSSH等で暗号化しコンピュータ間でファイル転送を行うSSHクライアントのアプリです。
TeratermのSSH機能によるファイル転送と異なり、Windowsライクなエクスプローラー風の画面上で操作できます。
Understand
Understandは、ソースコードを解析しロジックや構造を可視化することが可能なソースコード構造解析ツールです。ソースコードをドラッグ&ドロップ等の操作でフロー図が自動生成できます。
astah community
astah communityはUMLモデリングツールです。
communityは無償バージョンで有償の上位バージョンに比べ、一部機能が使えないなどの制限を受けます。
UMLモデルの記法に忠実に基づきオブジェクト指向の設計図(クラス図、シーケンス図等)を作成することが可能です。アウトプットとしてはjpeg等の画像ファイルとして出力できます。
※個人的にはMicrosoft Office間との互換性がないことやMicrosoft Excelで主にシーケンス設計を行う自分としては、UML記述方法のチェック資料として利用にとどまっています。
各種文書作成時に役立ったアプリ
K2Editor
K2Editorはフリーウェアながら有償のテキストエディタに引けをとらない多彩な機能を持つため、重宝しています。
ただ、有償の秀丸等のテキストエディタとの併用がベターだと思っています。
特に複数ファイル内のグレップ処理時間、検索結果からのジャンプ機能がない等、無償ならではの限界を感じるところがあります。
CubePDF Utility
CubePDF UtilityではPDF文書の編集が簡単にできます。
個人的にはPDF文書の結合、削除、ページの差し替え等に重宝しています。
また、CubePDFはPDF印刷を行える仮想プリンタとして動作するため、Word文書のpdfファイル化時も重宝しています。このアプリはとにかく便利です。
番外編
vi
viはLinuxに標準インストールされているエディタです。
エディタといっても、Windowsのメモ帳などのような感覚でマウス操作やEnterキーによる直感的な操作はできません。CUI画面上でのvi専用のコマンド操作を覚える必要があります。
しかし、Linux開発者にとっては、使えるようになっておきたいエディタです。
理由は開発対象おLinuxにSambaによるWindows間のファイル共有環境や、メモ帳に近いEmacsなどが利用できる環境とは限らないからです。
もし、客先に出向いてLinuxベースの端末にこれら環境がない状態でデバッグをすることになったら大変です。インターネットに接続できる環境やUSBデバイスが利用できる環境であれば、Emacsもインストールできるでしょうが、時間的な問題やディスク空き容量の物理的な制限があって現実的ではないでしょう。Linux標準のviエディタ、今後、Linux環境上で開発を行う予定またはつもりがあれば是非、覚えておいて、得はしますが、損はしません。