とあるIT屋の独白

ITや経営について主に書きます

最近話題のGraphQL

IT関連の記事を見ているとGraphQLというワードを最近見かけることがあります。下記の記事に概要は書いてあるのですが、すごくざっくりいうとRESTでいけていない部分を改善した、WebAPIの新しい仕様のようなものになります。

 

【RESTの次のパラダイはGraphQLか】

http://qiita.com/sergeant-wizard/items/f10669e33858543dbc0b

 

要はRESTだと、それを望む望まないにかかわらずAPIで定義されている全項目が取得されてしまい、一部の項目がとりたい場合はそれ用のAPIを作らなければいけないということになります。

もう少し具体的な機能は、下記の記事で解説されています。

 

Facebookが開発しているGraphQLとは?】

https://developer.ntt.com/ja/blog/ffc54b7a-77f6-4789-a93b-7bdbb89c4f7d

 

下記の記事に、他のRESTに代わる方法を含め、GraphQLの優位性が書かれています。GraphQLの難点としては、開発をしているFacebook自体がまだ正式採用していないことでしょうか。

 

【GraphQLはWeb APIの次のフロンティアか?】

http://postd.cc/api-paradigms/

オフショアやニアショアの苦労

オフショア開発を行うといったことは、最近では珍しくなくなりましたが、中々うまく軌道にのせるのは難しそうです。国内のニアショアでさえも、けっこう苦労するようです。

 

【開発残酷物語(3):カンボジアは残存率3割弱、離島の男性は全滅――山本一郎氏が聞く、オフショア&ニアショアで働き手を開拓し続けた企業の8年間】

http://www.atmarkit.co.jp/ait/spv/1703/06/news016.html

 

私も経験があるのですが、実装者に仕事をふる場合、ある程度実装者がそのシステムのアーキテクチャー等を把握していない限り、上手く組み上げるのはやはり難しいかなと感じます。下記のブログ記事にある通り、伝言ゲームみたいな各人があまり考えない状態も生まれてしまいます。

 

【ちょっと何を言っているのか分かりません、「IT業界にいた人は使えない」?】

http://lite.blogos.com/article/64682/

 

オフショアでこういった伝言ゲームとならない為には、通常プログラマーに仕事をふるよりも丁寧なコミュニケーションをとる必要があるといえそうです。また、丸投げではなく、きちんとオフショア先の管理をするといったことも必要に応じて出てきますが、その為にはオフショアの契約内容自体も考慮しなければいけません。

 

【オフショア開発はなぜ失敗したのか?その問題分析から課題解決を目指して|オフショア開発ならネオラボ】

https://neo-lab.co.jp/neolabox/2917/

要件定義の難しさ

システム開発の工程の中でも要件定義は最も不確実性が高く、漏れ等があると後々まで尾を引くこともあります。最近ではIPAが要件定義に関するガイドラインを作成しています。

 

【上流工程で失敗プロジェクトを防ぐ、IPA/SECがガイドブックを公開】

http://itpro.nikkeibp.co.jp/atcl/news/17/020100325/?ST=spleaf

 

アジャイルだと動くものを速く作るという開発スタイルなので要件定義を簡略化できると思われがちです。短期間で開発サイクルを回す関係上、軽視されてしまう部分もありますが、基本的には要件定義が必要で短い期間で決めきるといったことが求められてきます。

こういったことを念頭におかずにアジャイルで進めてしまうと、プロジェクトの成功率も下がってしまいます。

 

アジャイルを無責任に広めるのはもうやめよう】

http://frontline.fm/2015/08/27/antiagile/

 

大きなシステムの要件定義となると、まずは利用部門の協力を取り付けるということから始まり、泥くさい調整も必要となってきます。損保ジャパンではそういった調整を含め、要件定義に4年かかっています。

 

【損保ジャパン、要件定義に4年がかり】

http://itpro.nikkeibp.co.jp/atcl/column/14/346926/032700904/?ST=spleaf

社内コミュニケーションのやり方

少し前にチャットサービスのSlackが、Amazonに買収されるのではとのニュースがありました。

 

【Slack、再度5億ドル調達へ――エンタープライズ・チャットサービスの確立を目指す】

http://jp.techcrunch.com/2017/06/16/20170615slack-is-reportedly-raising-another-huge-500m-round-of-funding/

 

これは、エンタープライズチャットという領域が、ある程度の地位を確立しているということが言えると思います。日本でも特にIT系でこういったチャットサービスの利用は増えているように感じていて、私の会社でも少し前から使っています。下記の記事のように、大きめのSIerでも導入されていたりします。

 

【歴史あるSI企業でSlack導入に成功した方法――そして社内の風通しが良くなりムダや停滞感も消えていった】

http://enterprisezine.jp/article/detail/9160

 

チャットサービスを使うとメールよりも気軽に、報告や連絡ができコミュニケーションの効率が上がると感じています。ただ、会社のコミュニケーションツールとしての採用となると、やはり導入効果はどうだといったことが求められてくるので、最初は小さめに自分のチームだけで使ってみるなどスモールスタートで始めてみるのがよいかもしれませんね。

E2D3というプロジェクト

エクセルのグラフ等、きれいに見せたい時があると思うのですが、デフォルトで用意されているのが微妙だったり、上手く想定通り作れないということがあると思います。そんな時はオープンソースで様々なデザインが用意されているE2D3を試してみるとよいと思います。

 

【誰もが簡単にデータビジュアライゼーションできる世界を目指して! 日本発OSSプロジェクト「E2D3」とは】

http://codezine.jp/article/detail/9567

 

実際にどんなグラフが作れるか、下記の記事に例があります。

 

【【エクセルが神進化】 エクセルでできるデータビジュアライゼーション 【E2D3】】

https://matome.naver.jp/odai/2142183563001150201

 

内部的な仕様としては、エクセルからD3.jsというJavaScriptのライブラリを呼び出しています。D3.jsは下記の記事の通りweb上で、グラフ等を描画する為のものとなります。

 

jQueryの次に学びたい!D3.jsはWebデザイナーの最高の武器になる】

https://www.webprofessional.jp/d3-js-data-visualizations/

チャットボットを作成できるサービス

最近はチャットボットが置いてあるサイトは、それほど珍しくなくなってきました。有用なボットが作成できれば、人手でやっている問い合わせ対応などの作業効率化にもつながるので、積極的に活用したいところですね。

 

【ボットで実現する働き方改革】

http://itpro.nikkeibp.co.jp/atcl/watcher/14/334361/061900862/?ST=spleaf

 

たた、いざ作るとなると手間がかかってしまったりだとか、お金がかかるというような懸念が出てくると思います。最近では無料でボットが作れるサービスも出て来ていて、スモールスタートで活用していけるのかなと感じます。以下はhachidoriというサービスの料金プランです。

 

【hachidoriのプラン】

https://hachidori.io/price

 

hachidoriは下記ページにあるように、GUIで手軽にボットが作れます。

 

【チャットボットプラットフォームhachidoriを使って、FAQbotを作ってみる】

https://bita.jp/dml/hachidori_faqbot

曲の雰囲気やテンポがわかる音楽検索

gracenoteというAPIを使用して、音楽の雰囲気が分かる検索を作ってみました。(相変わらずUIは微妙です)

【曲の雰囲気やテンポがわかる音楽検索】
https://toaruit-1302.appspot.com/musicsearch

 

gracenoteについては下記にAPIの使用やサンプルがあります。

【Gracenote Developper】
https://developer.gracenote.com/ja