-
2014年03月の人気ソフトウェアまとめ
2014-03-28 10:0653pt
過去分はこちら。
2014年01月
2014年02月
今回は3月分のまとめです。Web/HTML5/画像/Markdownといったキーワードが含まれているように感じます。GitHubで使われているプロキシのCamoやGitHub風のDiff表示のPretty Diff、さらにPSD画像の差分が見られるpsdiffなどGitHubに関連したソフトウェアが多かったのも特徴です。
オープンソース・ソフトウェア
10. HTML5-Packer – HTML5アプリケーションを1ファイルにパッキング
Webアプリケーションはブラウザさえあればどの環境でも動かせる便利な仕組みですが、大きな欠点としてはネットワークがないといけないというのがあります。オフラインでも対応しようと思うとダウンロードと設定がとても面倒です。その点、バイナリの実行ファイルはダウンロードしてすぐに実行できます。同じような仕組みをWebアプリケーションでも可能にするのがHTML5-Packerです。ローカルにあるWebアプリケーションをパッキングします。この時、gruntと組み合わせて実行します。
9. psdiff - GitHub上でPSDファイルの差分表示を可能にするスクリプト
GitHubでは様々なファイルの差分表示が行えます。その一つに画像があります。PNGやJPEGといった画像の差分をWebブラウザ上で行えます。これはデザイナーの方にとってかなり便利な機能ではないでしょうか。しかしデザイナーであればなんとしても対応して欲しいと思うのがPhotoshopのPSDではないでしょうか。GitHubではPSDをサポートしていませんが、それを可能にするライブラリがpsdiffです。インストールは簡単で、一行のスクリプトで完了します。これは差分チェックを行いたいGitリポジトリ上で行います。
8. morris.js - SVGで手軽に綺麗なグラフを描くJavaScriptライブラリ
管理画面などに格好いいグラフがあるとテンションがあがりますよね。とは言えグラフを表示するというのは意外と面倒で、ついつい後回しになってしまいがちです。そこで手軽に格好いいグラフを描けるライブラリとしてmorris.jsを紹介します。
-
業務で使えるオープンソース(105)「Google Drive/ドキュメント」
2014-03-25 09:0953pt
今回はGoogle Drive/ドキュメントです。正直この名称がどう扱っていいのか分かりませんが、Googleドキュメント/スプレッドシート周りを使う利点、関連オープンソース・ソフトウェアを紹介します。
最近サードパーティ製のGoogleドキュメント/スプレッドシートアドオンが提供されることになったのもあって、にわかに熱くなってきていますよ。
利点
Google Apps Script
MS Officeで言えばVBAと同じようにGoogle Apps Scriptによってドキュメント、スプレッドシートなどを自動操作する事ができます。複雑なことをしようとするとハマるという話もありますが、ちょっとした操作であれば便利です。
また言語がJavaScriptなのでVBAに比べるとスパゲティにならないように思います。
Googleの他のサービスとの連携
スプレッドシート内からGoogle Ana -
使えるWebサービス・オープンソース(24)「HTML5ゲーム」
2014-03-21 10:1553pt
今日は祝日ということもありますのでゆっくりと頭を休められるゲームの紹介です。とは言え最近ではインストールするのも億劫になっており、Webブラウザだけで遊べるHTML5製のゲームに人気が集まっています。
ここ最近流行っているゲームもタップ、スワイプを使ったシンプルなものばかりです。Webブラウザでも十分再現できるところに流行るゲームは来ているのです。
Webサービス
スマートフォンでHTML5ゲーム!スマホWebブラウザ + HTML5でここまで動く!
スマートフォン向けに12種類のゲームが公開されています。本格的なゲームも多いです。
9leap : トップページ - どこでも遊べる、投稿型ゲームサイト
enchant.jsを使ったゲームが多数登録されています。コミュニティベースでの開発です。
GRADIUS
往年の名作、グラディウスを再現しています。
HTML5 Pacman
こちらはパックマン。Google製の時、みんながこぞってプレイしていましたね。
Block Dream
テトリスです。これも相当時間を潰してしまいますよね。
Sinuous - Avoid the red dots!
指先で流れるように操作して弾を避けていくゲームです。
Angry Birds Chrome
Angry BirdsのWeb版、Chromeアプリとしてリリースされています。
-
使えるWebサービス・オープンソース(23)「Visio代替」
2014-03-18 11:3253pt
今回はVisio代替がテーマです。エンジニアの中では有益とされつつもその高価格が知られるVisio。一番低価格なモデルにはエンジニアが使いたいと思えるステンシルがなく、価格の高いProfessionalを選ばざるを得ません。
そこで今回は高価なソフトウェアを買わずに済む代替ソフトウェア、サービスを紹介します。もちろんVisioでないと無理という場面もありますが、その多くは今回紹介するサービス、ソフトウェアで済むのではないでしょうか。
Webサービス
Online Diagram Software and Flowchart Software - Gliffy
UML、組織図、ネットワーク図、ワイヤーフレームなど多彩なドローができます。
draw.io
Google Drive/Dropboxなどからファイルを取り込めるWebアプリケーションです。
Cacoo: Online Diagram Software for Flow Chart & UML and More.
日本製のドローサービスです。プレミアムもあり、Google Appsとの連携も行えます。
Flow Chart Maker & Online Diagram Software | Lucidchart
多彩なドローが行えるサービスで、スマートフォンのモックアップ作成にも対応しています。その他AWSネットワーク図なんてマニアックなテンプレートも用意されています。
Lovely Charts | Diagram software
アイコンが何となくVisioっぽいドローサービスです。iPad版も提供されています。
Creately
かなりVisioを意識したサービスで、シンボルの数やテンプレート数の比較があったりします。年間49ドル(または5ドル/月)から利用できます。
-
使えるWebサービス・オープンソース(22)「Webメモ」
2014-03-14 09:2653pt
今回はWebベースのメモ帳ソフトウェアを紹介します。多数のWebサービスがある中でもオープンソース・ソフトウェアに対する注目が高い分野で、メモという最もベーシックな分野だからこそ自前で用意しておきたいと言ったニーズが感じられます。
メリット
Evernote | Remember everything with Evernote, Skitch and our other great apps.
言わずと知れたメモサービスです。各環境ごとにネイティブアプリケーションが用意されていますが、Webブラウザからメモもできます。ネイティブアプリが重たいことがあるので、単純なメモであればWebベースのが軽快ではないでしょうか。
wri.pe - simple and smart notepad
@masuidrive さんの開発するサービスです。個人用にMarkdownでメモを取っておくという際に便利です。書く際に邪魔になる要素がないので、集中して物書きに励むことができます。
紙copi Net
紙copiをオンラインで再現したサービスです。紙copiと全く同じ、という訳ではないですがほど近い操作性で紙copiと変わらずシンプルに使えるようになっています。
Online Web Notes - UberNote
UberNoteはメモの他、ファイル、ブックマーク、Webクリップなどを保存できます。iPhoneやFirefoxアドオンも提供されているようです。
-
業務で使えるオープンソース(104)「リファクタリング」
2014-03-11 12:0353pt
他社向けのシステムでは相当に困難なリファクタリングですが(予算的にも)、せめて自社サービスであれば行っていきたいところです。ということでリファクタリングを勧める理由と関連オープンソース・ソフトウェアを紹介します。
メリット
技術的負債を清算する
レガシーなコードを放置していると、そこで使われているテクニックが古いものだったりセキュリティリスクを含むものだった場合に常に爆弾を抱えた状態になってしまいます。これはあまりに危険です。
また、運用を続ける中で場当たり的に追加したコードを見直したり、設定化することで見通しの良いコードになります。肥大化したコントローラのコードをモデルに移動して全体として最適化する事もできるでしょう。
テストのカバレッジ率があがる
リファクタリングを行う際にはテストは必須です。入出力の保証がなければコードを変更するのは怖くなるはずです。それでもスクリプト言語の場合、型の定義がないと怖くなるのですが…。
リファクタリングを機にAPIドキュメントを用意するのも良い手ではないでしょうか。
コードの品質があがる
そういったリファクタリングを行う事でムダなコードが減れば冗長的な部分が削られたり、使われていないメソッドを消す事ができるでしょう。その結果、コード全体の品質があがります。リファクタリングを行う上で必須なテストも書かれるのも品質向上につながるでしょう。
テストを書き始めると、テストしやすいコードを考えるようになります。その結果、複雑だったメソッドを分割してテストしやすい形にするようになるでしょう。
チーム全体のナレッジが向上する
当たり前ですがリファクタリングを行う上でソースコードリーディングは必須です。また、自分以外のメンバーが書いたコードにも積極的に手を入れる事になります。その結果、チーム全体でコードに対する理解が進み、ナレッジ共有が進みます。
個人的にはリファクタリングによる効果はここが大きいのではないかと思っています。コードが属人化するのを防ぎ、チームとして保証できる体制にできるようになるでしょう。
DBの最適化、正規化
最も難しいところですができれば行っておきたいでしょう。運用の中で雰囲気的に追加されたカラムはDBのパフォーマンスを悪化させます。カラムを追加するのではなく別テーブルに切り出しておくべきだった…なんてケースもざらです。
そこでテストを徹底的に書き、動作の保証ができる段階になったらデータベースも再度正規化してみてはいかがでしょう。
-
業務で使えるオープンソース(103)「自動操作系テスト」
2014-03-07 12:5353pt
今回のテーマは自動操作系テストです。個人的にはユニットテストが好きなのですが、JavaScriptを多用したWebアプリケーション化やWeb APIが頻繁に使われるようになってきたことで、ユニットテストではカバーしきれない箇所が出てきているように思います。
そこで今回はブラウザやアプリの自動操作ソフトウェアを使ったテストの利点、関連ソフトウェアを紹介します。
利点
正しい挙動が“ユーザに”提供できているか分かる
ユニットテストでは望んだ動作が適切に行われているかどうかの確認はできますが、最終的な利用者であるユーザに対して正しい情報が届けられているかどうかは分かりません。自動操作系のテストではそういった表示の正しさが確認できます。
また、Web APIを使っている場合単純なHTML表示だけでは分からないJavaScript実行後の描画確認のテストにも使えるのが利点です。
ネットワークや外部サービスを利用する上でのテストもできる
外部サービスで提供されているWeb APIがある場合、それらを実際に叩いてテストすると仕様の変更やネットワークが途切れたときのテストもできるようになります。通常、これらはモックを書いてテストするのですが、モックはあまり編集されないので実データに基づいて行う方がより安心です。ただしあまり頻繁に呼び出して外部サービスから跳ねられるようなことがないように注意しましょう。
アプリのメモリリーク発見に
Webの場合、ブラウザが各URLごとにメモリを開放してくれますがiOS/Androidアプリの場合は自分で作っているため何度も操作を行った結果、クラッシュしたりすることがあります。これらは人がやるのは大変ですが、スクリプトで何千回と繰り返すのは難しい事ではありません。
同じくランダムな操作をとにかく繰り返すテストライブラリもありますので、それらを使えば人力のテストでは分からない問題点を発見できるかも知れません。
-
業務で使えるオープンソース(102)「プログラミングエディタ」
2014-03-04 10:1953pt
今回のテーマはプログラミングエディタです。プログラマーの生産性を高める上で手に馴染むエディタの存在は欠かせません。現在、多種多様なエディタが登場していますが、それらの主な分類と主立ったオープンソース・ソフトウェアの紹介をします。
特徴
Web
最近Webベースのプログラミングエディタが急成長しています。HTML5によってWebアプリケーションが高機能化していること、コラボレーションやサーバサイドでのコンパイルなどWebのパワーを使った新しい機能が魅力になっています。
また、サーバサイドでなくともAtomのように内部的にHTMLベースというエディタもあります。
IDE(統合開発環境)
EclipseやXcode、Visual StudioなどIDEはまだまだ人気です。特にEclipseをベースにした言語別の専用IDEは多種多様に出てきています。個人的にはIDEは重たくて好きではないのですが、ブレークポイントや効率的なデバッガを求めると必要不可欠な存在と言えます。
言語別
言語別にプログラミングエディタを分けるという選択肢はありだと思います。少なくともIDEの場合は言語によって使い分けているでしょう。それと同じくRuby/Python/Perl/PHPなどそれに合わせて機能を備えたエディタを使うのです。
問題はキーバインドが違ったり、複数の言語を一緒に扱いたいと思ったときかも知れません。
シンプル
最近特にシンプルなUIのプログラミングエディタが流行っています(海外ではZenと言われる類のものです)。ツールバーやアイコンなどを極力削り、開発する事だけに集中できるようになっています。個人的にも開発中はウィンドウを最大化し、開発画面しか見ないようにしています。
古参
古参のプログラミングエディタと言えばvi/VimやEmacsでしょう。Vimにおいては最近Neovimプロジェクトが立ち上がり、Vim開発者の批判を食らいつつも新世代を目指して動き出しています。Emacsについては…24.3もリリースされていますし個人的にはこのままで良いんじゃないかと思っています。
ちなみに筆者は様々なエディタを渡り歩いてきましたが、ここ10年以上はEmacsに落ち着いています(Windowsの場合はxyzzyを使っています)。TextMateやSublime textも触りたいなと思いつつも手に馴染み過ぎて手放せなくなっているのが実情です。
1 / 1