-
2014年11月の人気ソフトウェアまとめ
2014-11-28 08:0353pt
過去分はこちら。
2014年01月
2014年02月
2014年03月
2014年04月
2014年05月
2014年06月
2014年07月
2014年08月
2014年09月
2014年10月
今回は11月のまとめです。なんともう1年が残り5週となってしまいました。最後の一週間は年末年始の休暇に入ることを考えると、実質4週間しかないと言えます。今回は開発に役立つ系統のソフトウェアが多かった印象があります。
DevOpsをはじめ、開発プロセスもよりソフトウェア化が進んでいるように見えます。それらを活かすのはもちろん人の手が必要ですが、より開発を柔軟にし、生産性を高めるためにも情報収集は必須と言えそうです。
Isotope – 格好良いアニメーション付きのフィルタ/並び替えライブラリ
大量の商品があったとしても、ユーザがカテゴリ、色、サイズなどから自由にフィルタリングができる機能があればスムーズに商品選択ができるでしょう。さらに条件に沿ったソートがあると便利です。そんな機能を実装するためのライブラリがIsotopeです。フィルタリング時のスムーズなアニメーションがウリのライブラリです。あまりに多い情報を見せられると、どれが最適なのか分からなくなってしまいます。そこでフィルタリングする条件を提示することで、ユーザにとって使いやすいUIを提供できます。サーバサイドに都度問い合わせても良いですが、Isotopeならば大量のデータをユーザ自身がリアルタイムにフィルタリングできるのでよりスムーズに処理できそうです。
pgweb – 単体ファイルで使えるWebベースのPostgreSQL管理
Webシステムを開発しているときには大抵データベースを使います。そしてデータベースを使った開発時にはそれ用の管理インタフェースが欲しくなるでしょう。たとえばPHPであればphpMyAdminが昔から有名です。対してPostgreSQLについてはphpPgAdminなどもありますが、もっとモダンなUIが欲しいと思う人も多いでしょう。そんな方に使ってみて欲しいのがpgwebです。pgwebの良いところとしてはApache + PHPなどのサーバを仕込むことなく、単体でWebサーバ機能を持っていることです。
ClockPicker - 時間入力を簡単にするBootstrapライブラリ
Bootstrapの良いところとして、十分に普及したこともあって色々な人たちがUIコンポーネントを作成しているというのがあります。標準で提供されるHTMLコンポーネントだけでなく、よりリッチな入力インタフェースが実現できます。ということで今回はClockPickerの紹介です。カレンダー指定によって日付入力は分かりやすくなりましたが、ClockPickerによってさらに時間入力を分かりやすくできます。ClockPickerは日付同様に専用のフォーマットである時刻入力を数字を入力することなく簡単にできるようにします。細かな時間入力には向かないかも知れませんが、スケジュールなど5分単位の入力の場合は便利そうです。PCはもちろん、スマートフォンで活躍しそうです。コールバックなども備えていますのでシステムとの連携も容易です。
-
テキスト解析の基本!業務で使えるオープンソース(145)「形態素解析」
2014-11-25 09:2653pt
今回は昔からよく知られている形態素解析についてです。ブログやソーシャルメディアの流行もあって、テキストコンテンツは爆発的に増えています。問題はそれらのテキストをそのまま使うのではなく、テキストから意味を受け取ってその文脈にあった結果を返すことが求められます。
精度の高いテキスト解析はSiriのようなアシスタントやAdSenseのような広告、他のコンテンツのレコメンドエンジンとしても使えるようになります。それだけ基本にもなるだけにしっかり抑えておきたい技術になるでしょう。
-
最近流行のマイコンボードでIoTをはじめよう
2014-11-21 11:0553pt
今回はマイコンボードの紹介になります。個人的に一通り所有しており、色々触ってみた感想なども含めて紹介します。この手のデバイスはやはり自分の手で触って感触を知っておくのが大事ではないでしょうか。
コンピュータ上のプログラミングとは異なり、実際にモノが動くというのはそれだけでも面白いと思います。ぜひチャレンジしてみてください。ちょうど今週末、Maker Faire Tokyo 2014が開催しています!
-
学ぼう&使おう!業務で使えるオープンソース(144)「マテリアルデザイン」
2014-11-18 11:1053pt
今回のテーマはマテリアルデザインです。Google I/Oで提唱されていらい、様々なライブラリ、フレームワークが登場しています。とはいえ見た目だけでなくフォーカスやクリックしたときのアニメーションも含めて考える必要があるため、なかなか作るのは難しいと思われます。
そんな中でも幾つか出てきたマテリアルデザインのフレームワーク、ライブラリを含め、その特徴を紹介します。
コンセプト
マテリアルとは素材のことです。これまでのWebやアプリではクリックできるか、入力状態がどうなっているのか、自分がどのステータスにいるのかなどを考えつつ操作しなければなりませんでした。それを実世界にある現象(押したら作用反作用があるなど)を取り入れることでより直感的に、ユーザが考えたりすることなく操作できる仕組みを取り入れています。
すべてのデバイス、スクリーンサイズに
マテリアルデザインは何もスマートフォン、タブレットに限らずすべてのデバイス、スクリーンサイズに対して使えるデザインコンセプトになります。その点はレスポンシブと被った考え方になるかも知れません。デザイン体験が統一できればブランディング向上にもつながるでしょう。
アニメーション
アニメーションはフラットデザインとマテリアルデザインを異なるものにしている肝だと思います。とはいえアニメーションが多ければ良いという訳ではなく、ユーザの迷いをなくすためのサポートができるアニメーションである必要があります。主張しすぎない、かといって気づかれないのでは意味がないと言ったところでしょうか。このあたりのバランスが難しいところだと思います。
肝は情報設計
フラットデザインが流行って以来、情報設計を重視する動きが強まっています。特にアプリのように全世界に対して誰でもすぐに使えるものを考えると適切、かつすっきりとした表示というのは大事になってくるはずです。最初はすっきりとした表示ができても、更新が行われるたびに徐々に機能が追加されていくのはよくあることです。1つ追加する時には1つマイナスするなどといった取り決めが必要でしょう。
-
受信、発信、保存まで。業務で使えるオープンソース(143)「ストリーミング動画」
2014-11-14 10:5453pt
今回のテーマはストリーミング動画です。ネットワークが高速化するのに伴い、高品質な動画がストリーミングで発信されるようになっています。受け手側もネットワークや帯域の状態によって適切な品質に設定されます。
今回はストリーミング配信技術について、主なトピックとオープンソース・ソフトウェアを紹介します。
プロトコル
ストリーミング動画配信で多いと思われるのはRTMPですが、最近HTTP Live Streamingも使われるようになっています。特によく知られているのはAppleのキーノートではないかと思います。十分な帯域は確保されているのは当然ですが、あれだけの数多い人たちが接続しても流れ続けるとあって十分安定しているようです。
サービス
ストリーミング配信の有名どころとしてはUstream、ニコニコ生放送、ツイキャスなどがあります。ツイキャスは10fps、320☓x 180pxとかなり小さいのでモバイル利用がほとんどとなっています。
また、最近YouTubeがライブ配信サービスのYouTube Liveを全ユーザに対して開放しました。これにより今後ますますライブ配信の需要が高まっていくと思われます。
ホーム/オフィス
インターネットに限らずオフィスや家庭であっても配信機能が使われています。オフィスにおいてはネット会議システムがよく知られています。Googleのハングアウト、Skypeチャット、FaceTimeなどが利用されます。経験上、どうもその場になってからうまく接続できないと言ったケースが多いように思います(または音が出ないなど)。
家庭においてはApple TVやChromecastを使ったスマートデバイスから家庭用テレビなどへのデータ配信が行われています。Amazonも最近、Fire TV Stickをリリースしており、この分野も熱くなっています。
受信&保存
ストリーミング配信において根強くあるのが配信されるデータの保存です。ストリーミングの利点として、データが保存されないと言った点があげられますが、それだけに逆に保存したいと考える人も多いです。
実際、その手のソフトウェアは数多く存在しますのでRTMPであれば保存はできるでしょう。ただしそのデータの取り扱いにおいては問題があるかも知れませんのでご注意ください。
HTML5
かつてはストリーミングを受信するのにRTMPを利用していたため、Flashが必須でした。HTML5ではWebRTCやHTTP Live Streamingによってプラグインを使わないストリーミング技術が生まれています。
配信側の設備はWebだけでは難しいことがありますが、受信においては敷居が下がってきています。今後ますます利用は増えていくと思われます。
-
データの読み取りも作成も自在に。業務で使えるオープンソース(143)「PDF」
2014-11-11 09:0353pt
今回のテーマはPDFです。帳票などによく使われますが、一般的には編集しづらいというイメージがあります。内容を変更はしたくないけれど、そこに書かれている情報を読み込みたいというニーズは強くあります。昔はpdf2htmlのようなコマンドをよく使いましたが、今はもっと優れた手段がたくさんあります。
今回は手軽なPDF作成法と、データの読み取り、PDF作成を行うソフトウェアを紹介します。
Mac OSX
Mac OSXの場合、印刷メニューからPDFとして保存する機能があります。これによりPDF作成の手間が大幅に削減されました。また、簡易的なPDF編集機能もプレビューに備わっています。かつてWindowsにも同様の機能が検討されたらしいですが、Adobe社の反対によって取りやめになったと効いたことがあります。
プリンタ
PDFを作成するプリンタドライバをインストールするのは手軽な方法です。ソフトウェアで出している場合もありますし、GhostScriptなどを組み合わせて自分で組むこともできます。Windowsでは最もポピュラーな方式ではないでしょうか。
ソフトウェアによってはパスワードを追加することもできたり、印刷可否の設定もできるので、十分運用で使えるレベルになっていると思います。
Googleドキュメント
GoogleドキュメントではアップロードしたWord/Excel/PowerPointファイルをPDFでダウンロードすることができます。これはちょっとした変換機能として便利です。Google Driveだと一旦Googleドキュメント向けに変換が入るのが面倒ですが、それでも手軽だと思います。
LibreOffice
LibreOfficeやOpenOffice.orgをサーバ化することで、HTTP経由でポストしたドキュメントをPDFとして出力ができます。対応ファイルフォーマットがオフィスファイルやHTML、画像などに限定されますが社内で一つサーバを立てれば後は自動化できるという点が便利です。
-
しっかりと設計しよう。業務で使えるオープンソース(142)「データベース設計」
2014-11-07 11:3653pt
今回のテーマはデータベース設計です。O/Rマッパー、マイグレーションなどの仕組みによってデータベースとプログラミングの垣根はどんどん低くなっています。とはいえサービスを継続運用する中でデータベースの再設計をしたくなる気持ちは高まるものです。
そうならない、またはデータベースの寿命を延ばすためには最初の設計が肝心です。ということで今回はデータベース設計に関するオープンソース・ソフトウェアを紹介します。
マイグレーション
Rails辺りからデータベーススキーマの差分管理をプログラマブルに行う流れができています。インデックス含め、スキーマの管理でマイグレーションを使わない手はありません。フレームワークに限らず、各言語向けにマイグレーション管理用のライブラリが存在します。
NoSQL
設計の手を離れ、もうNoSQLに移行してしまうと言う手もあります。とはいえ一気にMongoDBやCouchDBに移行するという話ではなく、MySQLやPostgreSQLでNoSQLを実現するライブラリを使うという方法です。
MySQLであればTransactdを使ったり、MySQL Clusterがあります。MySQL 5.6ではNoSQL APIが提供されています。PostgreSQLでもJSON/JSONB型のカラムが用意されており、NoSQLのように使えます。
差分管理
マイグレーションのようなツールを入れていない場合、スキーマを変更した開発用データベースと、本番環境の差分を保存するという手があります。そうすることで少なくとも変更点を把握しておき、差し戻しもできるようになるでしょう。
ただしこの手のツールはスキーマのみ対応していることが多く、ビューやプロシージャは対応していないことがあるので移行時には十分注意が必要です。
Excel/Access利用
なんだかんだ言いつつもExcelは便利なツールで、データベース設計書を書き、それをマクロを使ってSQLにするのはさほど難しくありません。問題があるとすればマイグレーションでしょう。
Accessを使ってテーブルをビジュアル的に設計する方法もあります。こちらもスクリプトによる変換はさほど難しくありません。メリットはソフトウェアの敷居が低いので、誰でも使えることです。
画像出力
データベースの全体像を把握するのに画像を使うのは良いのですが、自動出力系はすべてを出力するために大きなデータベースだと非常に分かりづらくなることが多いです。せめてリレーションが張られているものだけに限定すると言った区切りは必要だと思います。
見やすい画像さえ作れれば、後は自動で定期的に画像化すれば良いでしょう。必要になってから準備すると煩わしいので、あらかじめ組み込んでおくと便利です。
-
画像からテキストまで。業務で使えるオープンソース(141)「検索」
2014-11-05 13:0653pt
今回のテーマは検索です。デスクトップ向けのWebで最もポピュラーな技術ではないでしょうか。検索はGoogleが手の届く範囲とそれ以外というくらい世界が異なって見える技術です。Googleの手の届かない世界ではアルゴリズムも異なりますし、求められる結果も異なるでしょう。
そこで今回は検索の種類と、主なオープンソース・ソフトウェアを紹介します。自社サイト、ローカルネットワーク内に立てる検索サービスとして参考にしてください。
テキスト
一番オーソドックスな検索がテキストでしょう。Googleのようなクローリング式もありますが、企業のサイトであればデータベースを検索するような仕組みを考えるはずです。特に個人のデータから検索するなど、ログイン情報に結びついていたりするとGoogleのようなWeb全体からの検索は不向きです。
ElasticSearch、Hyperestraier、Solrのように別途検索サーバを立てるタイプの他、Groongaやpg_bigmのようにデータベースに組み込むタイプのモジュールもあります。
画像
画像は似たような画像を探す類似画像検索の他、Google画像検索のように文字で探す検索エンジンがあります。オープンソース・ソフトウェアで提供されるのは類似画像検索が多いようです。文字列検索は画像の周囲にある文字情報が必要になるため、タグ付け含めて別な仕組みが必要になるでしょう。
ユーザが手書きで描いたデータから検索するタイプもありますが、あれもCanvasから画像を生成すれば良いので広い意味で類似画像検索になります。写真アプリをはじめ、画像検索のニーズも根強いので技術的にはチャレンジしがいがある分野ではないかと思います。
位置情報
一番有名のはMongoDBでしょうか。ついでPostGISもあります。しかし位置情報検索はテキスト検索と組み合わせて行われることが多く(ある場所を起点として店名で検索など)、MongoDBなどでは全文検索が実装しづらいのが難点です。そこでSolrにある位置情報検索を使うことで、全文と合わせた利用もできるようになります。
デスクトップ
Webやサーバだけでなく、検索はローカルでのニーズも根強くあります。10年くらい前にデスクトップ検索に注目が集まりましたが、OSの標準機能として提供されるようになってからは消沈したようです。Googleデスクトップ検索も2011年にサービス終了しています。
とはいえ小さなニーズはまだまだあります。単純にフォルダ内のファイルをgrepするようなインデックス不要で使えるタイプのものです。
リポジトリ
意外と面倒なのがソースコードの検索ではないかと思います。特に過去に削除した行を検索したいと言った時にかゆい所に手が届くツールは多くありません。また、ファイルの種類や修正者でフィルタリングしたり、リポジトリに特化した検索は多くなかったりします。GitHubの検索はそこそこ便利ですが、ローカルでもあれくらいの検索が行えると便利でしょう。
プログラミングではCTAGがよく使われてきましたが、最近ではあまり見かけなくなっている気がします。生成が若干面倒というのがあるので、CTAGの生成だけ別フローで処理してくれたりすると便利ですよね。
1 / 1