• このエントリーをはてなブックマークに追加

記事 8件
  • 2015年01月の人気ソフトウェアまとめ

    2015-01-30 11:18  
    53pt

    今回は1月のまとめです。Web系のソフトウェア、ライブラリが多いのは変わらずですが、ウィンドウ操作やダミーデータ生成など普段のPC操作や開発を補助してくれるソフトウェアも挙がっています。
    pgcli – 入力補完/ハイライトが便利なPostgreSQLクライアント

    PosgreSQLを操作するCLIツールと言えば標準のpgsqlが当たり前でしょう。もしもっと高度なツールが使いたければGUIインタフェースを備えたものや、Web版もあります。しかしそこに果敢に挑戦するのがPython製のpgcliです。標準よりも高度な機能を備えたPostgreSQLクライアントです。
    Messenger - Growlライクな通知機能をWebで

    メールやチャットなどでメッセージを受け取ったら早めに返信をしたいと思いつつも、常に張り付いている訳にはいきません。そこで便利なのが通知システムです。通知がくるまでは放っておいても安心です。Mac OSXであればGrowlが有名ですが、同じようなUIをWebベースで提供するのがMessengerです。
    Amethyst - キーボードでウィンドウを操作するMac OSX用ユーティリティ

    GUIのOSにおいてウィンドウが重なって表示されたり、たくさんのウィンドウが並ぶと作業効率が非常に悪くなります。そのたびにマウスで探したり、新しいウィンドウを開いたりするのはとても面倒です。そこでウィンドウマネージャが必要になります。今回紹介するAmethystはMac OSX用のウィンドウマネージャで、xmonadを真似た作りになっています。ウィンドウのレイアウトはTall、Wide、Fullscreen、Column、Row、Floating、Widescreen Tallが用意されています。この中から使いたいものだけをピックアップしておきます。
     

    記事を読む»

  • やらないこと決める基準について

    2015-01-27 13:43  
    53pt

    プロジェクトのタスクはいつも山積みで、あれもこれもやらなければなりません。かといって振り返ってみれば、実装した機能が使われていなかったり、誰が求めているのか分からないタスクが残っていたりします。
    やることを決めるのは簡単で、逆にやらないことを決める方が難しく、かつ重要です。そこで今回はやらないと決めるための基準について紹介します。
    6ヶ月前から手つかずのもの
    まず放置系タスクは消し去りましょう。単に載せておくだけだから、と残しておくとどんどん溜まってしまって、本来やらなければならないものが見えなくなってしまいます。その基準として、半年間(場合によっては3ヶ月)放置されたタスクは消すといった基準が必要です。
    半年間手つかずだったものは、今後半年においてもまた新しいタスクによって後ろに追いやられてしまいます。そんな順番を入れ替えるような作業をするコストのが大きいです。もし本当にやらなければならないのだとすれば、既に手をつけているはずです。
     

    記事を読む»

  • カンバン方式のタスク管理のお勧め

    2015-01-23 09:36  
    53pt

    アジャイル開発が流行ってきた頃から注目を集めているのがカンバン方式です。個人的にも一番お勧めの方式になります。元々のトヨタのカンバン方式に比べるとずいぶん体裁は異なる気がしますが、ソフトウェア開発用にアレンジされていると捉えることもできるでしょう。
    今回はそんなカンバン方式のお勧めな点と、カンバン方式を採用するオープンソース・ソフトウェアを紹介します。
    進捗率の幻想を壊す
    プロジェクト管理の最大の問題として進捗率なるものでのステータス管理があると考えています。20%の完成度、60%の完成度が具体的になんなのか説明できる人はいないと思います。おそらく開発者の主体的な考えによるものでしょう。
    大抵80%まではあっという間にいきます。しかしそこから完了までに同じくらいの時間(またはもっと)かかるものです。と考えると80%は駄目で、50%だったということになります。そうした誤差の積み重ねによって、本来のプロジェクトの姿が見えづらくなってしまうのです。
     

    記事を読む»

  • IoTとオープンソースの関係

    2015-01-20 11:17  
    53pt

    何となくバズワードになりそうで怖いのですが、2015年はIoTに注目が集まっています。デバイスがインターネットにつながってそのステータスを保存したり、スマートフォンや他のIoTデバイスと相互通信して発展していくための仕組みが整ってきています。
    今回はそんなIoTとオープンソースの関係について紹介します。
    ハードウェアをオープンソース化するということ
    ソフトウェアの場合、コピーすれば簡単にオリジナルと同じものを複製することができます。しかしIoTの場合、ハードウェアがつきものなので単純に回路図や図面をオープンにしただけでは動かすことはできません。そのため模倣リスクは高くなります。
    対してオープンソースにすることでコミュニティの意見をもらったり、レベルの高い技術者に注目されるという付加価値があります。それだけでもオープンソースにする価値があります。
     

    記事を読む»

  • オフライン技術を考える

    2015-01-16 09:12  
    53pt

    高速なモバイルネットワークが発達し、光回線やギガビットの高速インターネットが普及する中にあって逆に注目されているのがオフライン技術です。オンラインであるのが当たり前になると、ネットワークが途切れた状態になるのが大きな問題になります。ネットワークがなければ仕事が全くできないというのは大きな問題です。
    特にWebアプリケーションにおいて、ローカルアプリケーションから切り替える上でオフラインでも動くというのは大事な要素になります。そこで今回はオフラインで動作させるために必要な技術や関連オープンソース・ソフトウェアを紹介します。
    HTML5
    HTML5ではキャッシュマニフェストと呼ばれる仕組みが用意されています。予め指定したリソース(HTML、画像、JavaScript、スタイルシートなど)をダウンロードし、キャッシュしておくマニフェストファイルを作成しておきます。逆にネットワークからの取得を強制する指定もできます。
    このAppCacheと呼ばれるキャッシュを使ってオフライン時には表示、動作が可能です。データは一時的にIndexedDBやlocalStrageなどに保存しておき、オンラインになったときにサーバに送信するといった工夫が必要になります。個人的にはキャッシュの管理が難しい印象があります。
     

    記事を読む»

  • 良いソフトウェア名を考える

    2015-01-13 11:38  
    53pt

    今回はオープンソース・ソフトウェア名に関する考察です。MOONGIFTでは日々情報収集を行う中で、多くのソフトウェア名を目にしますが、その名前を見れば良さそうなソフトウェアか否か判断できるようになっています。少なくとも今後もメンテナンスされていきそうか(それだけ開発者の情熱が感じられるか)どうかは分かります。
    そこで今回はソフトウェア名の付け方のパターンを紹介します。今後開発される際の参考にしてください。おそらくWebサービス名を考える上でも参考になるかと。
    バインディング系
    何かのWebサービスを手軽に扱うためのライブラリの場合、サービス名+プログラミング言語でつけられることが多いです。例えばFacebookのRubyライブラリの場合、FBRubyであったり、Facebook-rubyなどです。拡張子の場合もあります(Facebook.rbなど)。この場合、そのライブラリが何用途で作られているかが分かりやすく、使い手としても安心できます。
    ただしネーミングが固定化されるので継続的にメンテナンスされるライブラリでないとこの名称をつけるのは危険です。メンテナンスされなくなったために派生や類似ライブラリが出てくると、どのライブラリを使えば良いのか混乱を招く場合があります。Webサービスが頻繁にバージョンアップする場合もそれに合わせて追従するのが大きなコストになるでしょう。
     

    記事を読む»

  • ちゃんと管理できるタスク管理を考える

    2015-01-09 13:23  
    53pt

    タスク管理の話題は定期的に出てきます。それだけに簡単に解決する問題ではないということでしょう。MOONGIFTではプロジェクト管理をはじめ、幾つかの組織でタスク管理の改善などを行ってきましたが、そういった作業の中で分かってきた改善案と関連するオープンソース・ソフトウェアを紹介します。
    ステータスで管理する
    タスク管理で問題なのが進捗率の存在だと思っています。仕事というのは未了か完了のどちらかしかなく、たとえ9割方終わっていたとしてもそれは未了です。むしろ9割方終わっているように見えたところから完了までもっていくのに相当な時間(これまでと同じくらいの時間)を費やすことも少なくありません。
    なのでカンバンのように作業前、作業中、完了くらいにしておくのがシンプルです。もし60%といった状態を管理したいのであれば、次の項目を参考にしてください。
    タスクを分割する
    1つのタスクを10個に分解して管理するならば60%という進捗率も見えるようになります。ただしこの場合は各タスクの重さが同一であると言う前提です。タスクの軽重を含めた場合、1〜3段階くらいまでとして、合計数に対する達成数の割合で進捗率をはかってもいいでしょう。
    大きなタスクというのは達成度合いが見えづらくなります。なるべく細かく分割し、小さな達成を積み重ねていけるように努めるべきです。
     

    記事を読む»

  • MOONGIFTの考える2015年の注目ワード

    2015-01-06 22:43  
    53pt

    2015年になりました。ということで一発目としてMOONGIFTの考える注目ワードを6つほどあげ、解説していきたいと思います!
     

    記事を読む»