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...