2016年を振り返って

2016年も残すところ今日のみとなりました。僕なりの2016年を振り返ってみます。 娘が3歳になった 3歳になり、無事七五三を迎えました。 すくすくと成長してます。大きな病気もせず、ママのお手伝いもできるようになってきました。 LINE株式会社を退職 最も大きかったこととすれば、4月末でLINEを退職したことでしょう。在籍期間は3年でした。LINE Platform、LINE Developer Center、LINE Business Center、各種API、認証認可方式...

Google Assiatant対応AI BotをActions on Google作る

今年はGoogleからAlloアプリが登場し、さらにGoogle AssistantというAIを中心としたサービス展開が行われることが表明されました。もちろんGoogleはそれをプラットフォームとして広く使えるようにするだろうと言われていましたが、遂にActions on Googleという名前でGoogle Assistantと連携可能なBotを作るための環境が公開されました。 Google Assistantは、Alloアプリ内で@googleという名前のアカウントとして登場して...

終わってしまうChromeアプリ

既に2ヶ月前の2016年9月8日、Google Developers Japan Blogに、僕にとって非常に興味深いブログが掲載されました。 Chrome アプリからウェブアプリへ 簡単にまとめると、「Chromeアプリは(ChromeOSを除いて)終了します」という内容でした。薄々感じ取ってはいたものの、改めて正式に言われてしまうと、とてもショックです。まあ、でも、確かに仕方のないことなんですけど、特に日本においてはChromebookを目にする機会はほとんどありませんし、そのため...

大量メッセージが来ても安心なLINE BOTサーバのアーキテクチャ

(この内容は、2016/04/09にQiitaに投稿した内容と同じです) 3月24日に発表になったLINEのBOT API Trial Accountが、いよいよ4月7日から実際に試せるようになりました。既に多くのBOTが開発者の手によって作られ始めたようですね。QiitaにもいくつかBOTの作り方が投稿されていますので、”LINE BOT“というキーワードで探してみてください。 実際の作り方の基本は他の投稿に任せるとして、BOT API自体は非常にシンプルな作りなので、試すこと自体は...

サーバルームの掃除と昔もらった賞状

4月1日はぷー生活1日目だったんですが、ずっとやることができなかった「サーバルームの掃除」をしました。サーバルームといっても、リビングの一角にある収納の一部分をコンピュータ系の場所にしてるだけですが。 いるもの、いらないもの、次々と選別していきましたが、90%以上は「いらないもの」でしたね。すごい量のゴミが出ました。。。 こんなにもゴミが溜まってたとは。その中でも、USBケーブル(Microと普通の変換用の数10cmの短いやつ)が大量に出てきました。何かデジタルガジェットとか買う度...

退職エントリの反響

3月31日に「LINEを退職します」というエントリを書きましたが、「すごい反響ですね〜」と言われるくらいな反響だった模様です。3年前にも同じようなエントリを書いたのですが、その時と今回でどっちが反響大きかったのか、比べてみました。 以下が、ミクシィ社を辞めたときのユーザセッションのグラフです。 次が、今回のLINE社を辞めたときのユーザセッションのグラフです。 結果は、今回の方が反響が大きかった模様です。このブログのアクセス数的にも、記録更新って感じですね。 3年前は、この...

LINE社を退職します

明日はNHKおかあさんといっしょで「たくみお姉さん」から新しいうたのお姉さんにバトンタッチされる日です。そして、2013年3月にLINE社の社員証をゲットしてからもう3年が経過しましたが、僕はLINE社を退職します。今日3月31日が最終出社日で、在籍自体は4月末までです。 「LINEのプラットフォーム化に力を貸して欲しい」と誘われてから今まで、まあ速かったです。もう3年も経っちゃったのか、という印象しかありません。それだけ内容が濃かったのか、いろいろやること多すぎてずっとテンパってた...

7年近く動いていた自作サーバの1台が壊れた

自宅を建ててから8年くらい経過してますが、引っ越したあとくらいから今までずっと動いていた自作サーバの1台が先週金曜日の夜に壊れました。 裏面はこんな感じ。USB3.0の拡張ボードが刺さってます。 そして中はこんな感じ。 CPUはAMDのAthlon II X4 605eで、消費電力45Wなのにそこそこの性能持ってたのに惹かれて選びました。メモリはDDR3-1333の4GBx2。650GBのHDD、という構成です。マザーボードは・・・覚えていません。 壊れる前のサーバの構...

OAuthがソーシャルログインで使われるようになった経緯

最近の僕の趣味は、stack overflowに来た質問に回答を付ける、ということです。特に本家英語版の方では、英語の読み取りと作文の練習をかねてやってます。もちろん、日本語版の方でも、回答できそうな質問が来たら、積極的に回答するようにしています。たまに間違えた回答付けてしまって-1をもらうこともありますが、それを含めての貢献かな、と。気にしない気にしない。 さて、日本語版の方でOAuthに関する以下の質問が来ていました。 OAuthはどのようにしてソーシャルログインとして使用されるよ...

文系が理系側に歩み寄ること

ユーザ側の『ITイノベーター』こそ、急いで育成するべきだ こうしたことを、従来ITエンジニアばかりに要求し、ユーザ側には「日々の業務多忙に埋没」を許してきたことこそ、多くの組織が今日直面している問題の根底にあるのだ・・といったら大げさに過ぎるだろうか。 「こうしたこと」とは「要件定義(業務デザイン)、システムのもたらす価値評価、開発プロセスにおけるユーザ側リーディング、業務へのシステム展開とチェンジ・マネジメント、データ分析・活用」などの能力のことを文中では指してるんだけど、ス...

ハッカソンというイベントの目的とは何だったのか

おそらく僕がハッカソンを主催しだしたのは、2007年頃です。その時は、ハッカソンという言葉自体がまだほとんど知られていなくて、本当に珍しいことを始めたって感じだったのを記憶してます。そしてそれから8年以上が経過して、ハッカソンという言葉は広く認知されたのと同時に、その言葉が指すイベントがどのようなものなのかが「人によって認識が違う」状況となってしまいました。もちろん、好きに定義して良いことなんだけど、そもそも僕がハッカソンをデベロッパーコミュニティとやり始めたときにどんな認識でいたのか、今...

Hackathonについて思ったこと

なんかHackathonの話が盛り上がっているけど、僕は友人と毎月Hackathonを開催していた年があって(OpenSocial全盛の頃)、そこにはいろんな人が入って来てたと思ってます。最後にはちゃんとチームごとに優劣を付けて、1位のチームには商品も用意してました(もちろん参加賞として全員分の商品も準備するようにはしてたけど)。 特に大きなトラブルはなかったと記憶してるけど、それは何でかなぁ、と振り返ってみると、「優劣をつけるのは、全ての参加者からの投票」だったからじゃないかと思います...

naclportsがwebportsに移行してました

Native Client Library(略してNaCl)で何かモジュールを作りたい時、世の中に既にある何らかのライブラリを使いたくなることが結構あります。というか、何も使わずにコーディングすることは事実上不可能でしょう。ただし、NaClというちょっと特殊な環境でもライブラリを使えるようにするのは、結構テクニックが必要になります。というか、たぶんコードを修正することになります。つまり、パッチを当てないといけないです。 NaClとして利用可能に修正済みなライブラリが数多く登録されていたn...

ChromeOS向けSFTP File Systemの構造

もう1年前の話になりますが、ChromebookやChromboxからSFTP経由でファイルを直接やり取りするためのアプリ「SFTP File System」を開発、公開して、現在に至っています。ChromeOSはWindowsのエクスプローラやmacのfinderのようなファイラである「Files.app」を持っています。そして、Chrome AppsやChromeウェブブラウザ上のウェブアプリからは、HTML5 FileSystem APIやchrome.fileSystem APIを...

file content vs. file contents

英語の冠詞の使い方が難しいと良く言われますが、同じくらい難しいと感じるものに「単数形と複数形の使い分け」があると思います。プログラミングの中で「〜の内容」という表現を使いたいときに、「あれ?contentかな?contentsかな?」と迷うことがあると思います。今回「ファイルの内容」を英語でどう表現するのがより正しいのか、調べてみたら“file content” vs. “file contents”という記事を見つけたので、日本語訳を作ってみました。 コードを書いていてcontent/...

GitHubのIssuesおよびPull Requestsにテンプレートを登録することができるようになりました

GitHubを使っていて今まで不便だった点として、「IssueやPull Requestの投稿内容を規定することができなかった」ことがあると思います。最初の投稿内容がどうしても不十分なものになってしまい、詳細を聞き出すことから毎回始めなければならない、といった苦痛をいつも感じていた人は多いはずです。 この苦痛も過去のものとなりそうです。IssueやPull Requestにテンプレートが作れるようになりました。Issue and Pull Request templatesという題名で新...

URLSearchParamsによる簡単URL操作

JavaScriptでURL文字列を操作するのは、実は結構骨が折れる作業です。特に、クエリパラメータを個々に取り出す処理などは、毎回車輪の再発明を皆さんしてきたのではないでしょうか?URLSearchParamsを使うことで、もう再発明をすることはありません。Firefox 44、Opera 36で使えて、Chrome 49からも使えるようになります。 Google Developersに「Easy URL manipulation with URLSearchParams」という記事が...

Microsoft Edgeの拡張機能対応の状況

2月3日にMicrosoft社から「Looking ahead: Microsoft Edge for developers in 2016」というブログエントリが公開されました。その中でいろいろな今年の予定が発表されていたのですが、最初の方で拡張機能についての言及もありました。ここでは、拡張機能に関する部分の勝手日本語訳を紹介したいと思います。 Extensions 昨年、多くの場合において信頼性がなく安全でもない過去のネイティブアドオンを置き換えるために、Microsoft E...

ChromeOS向けFile System for Dropboxの構造

ChromeOS向けに開発したDropboxをマウントするためのアプリ「File System for Dropbox」は、Chromeウェブストア上では97,000ユーザ以上がインストールしていると今日見たら表示されていました。 そして、Dropbox側のアプリコンソールを見ると、今もユーザ数やAPIコール数は増え続けています。嬉しい限りです。 もちろん、yoichiro/chromeos-filesystem-dropboxという場所でオープンソースにしてます。 さて、最...

さようならbind、こんにちはArrow Functions

僕は基本的にChromeアプリやChrome拡張機能を作っていることが多いので、Chromeがサポートしている範囲内でコードを書くことが多い。Chromeは他のブラウザに比べて最新技術の取り込みが迅速に行われている印象が強い。ECMAScript 2015についても、たぶん他のブラウザよりもサポート範囲が広いはず。 というわけで、ECMAScript 2015(ES6とも言う)でコードを書くことが多くなった。特に気に入っているのは、Arrow Functionsとclass。どちらも非常...

2016年度版 僕が考えたChrome拡張機能を作るときのデザインパターン

4年近く前の2012年に僕が考えたChrome拡張機能を作るときのデザインパターンというエントリを書きました。最近参加したイベントで「よういちろうさんの拡張機能の記事見て作ってみました〜」と声をかけてくれた人がいて嬉しかったのですが、2012年のそのエントリは、すでに内容が古くなってしまっています。最近の状況を踏まえて、内容を新しくした「2016年度版」を書いてみようと思います。 変更しようと思った点は、以下です。 prototype.jsは使わず、ECMAScript 2015...

kotlinの良いところとモヤッとするところ

趣味でAndroid WearのWatch Faceを作っているのですが、せっかくなのでJavaではなくkotlinで書いてみました。以下のようなすごくシンプルなWatch Face(N88-BASICを模倣)なのですが、Javaではなく、あえてkotlinで書いたときに「お?これは!」と思った点を書いていこうと思います。 (追記 2016/01/16) 以下は主にAndroid開発者向けです。Java8は比較対象外です。 とにかくJavaのクラスが普通に使える 文法はkotli...

LINEで送るボタンが新しくなった模様です

今まで「LINEで送る」ボタンというものが提供されていました。 LINEで送るボタンの設置方法 以下のようなボタンがWebページに設置されているのを見たことがある人も多いと思います。 これが最近新しくなってました。昔はLINEアプリがインストールされているスマートフォンのWebブラウザ内でしか機能しませんでした(PCで押してもline.meのWebサイトに飛ばされるだけ)。しかし、新しいボタンはPCでもちゃんと機能する模様です。 え?嘘でしょ、ですって?この記事の上にある「LI...

このブログをレスポンシブにした話

今年の元旦にリニューアルしたこのブログですが、Nexus6で見たら、以下のように非常に残念なことになってました。 Polymerを使ってれば勝手にレスポンシブ対応されると思っていたのですが、そんなに世の中甘くなかったです。というか、Polymerが期待する書き方をしていれば勝手にレスポンシブになったんですけど、今回の僕はそう書いてはいかなったので、上記のような結果になってしまいました。何とかしなければなりませんが、何とかしました。 ここでは、モバイル端末のWebブラウザで見ても大丈...

洋一郎WordPress使うのやめるってよ

2009年11月にこのブログをMovableTypeからWordPressに変更して、それからずっとWordPressを使い続けてきたのですが、昨日の2016年元旦からWordPressを使うのをやめました。その代わりに、Jekyllによる静的サイトジェネレータでこのブログを運用していくことにしました。 WordPressはもう限界だった いや、もうWordPressは途中からホントにきつかったです。要因はいろいろあるんですけど、しばらくバージョンアップできず、きっと脆弱性の宝庫だった...