れおの備忘録(´・ω・`)

〜なんでも書いちゃおう〜

GitHubをもっと便利にする、"github-hovercard"Chrome拡張

GitHubを便利にするChromeの拡張の紹介です。

レポジトリやユーザなどのリンクにマウスをホバーすると、その詳細がツールチップで表示されます! いいかんじ!

f:id:reoring:20151007125958p:plain

この拡張はオープンソースで公開されていて、もっと便利にすることもできそうですね!

github.com

ツールチップのライブラリは、TooltipsterというjQueryのライブラリが使われているようです。

github.com

Macのメールクライアントは「Mia for Gmail」 がいいかも。

これまで色々とOSXで使うGmailのクライアントを使ってみて、思ったことはブラウザでGmailを使えばいいじゃんってことだった。AirMailやMailbox, Sparrow(今はMailboxになった)などを使ってもどこか使いにくい部分があった。

Mia for Gmailはメニューバーからささっと使えるようになっている。少々あら削りな部分もあるけど、ウェブGmailと使いわければよさそう。

f:id:reoring:20150904155408p:plain

Googleアカウントが1つまでは無料で使えて、それ以上はIn-app purchaseで240円支払うといくつでも追加できるようになる。この追加ボタン[ + ]がショッピングカートのアイコンになるのは、なかなかいい。その機能は有料ですよっていうのが一目瞭然だ。Mia for Gmail/iTunes

これとは別に、Mailbox for Gmail/iTunes というアプリもあって、これはブラウザをアプリ化したようなものだった。

Babel: ES6で動的なオブジェクトプロパティをリテラルで定義する方法

ES6では、Enhanced Object Literalsという構文が追加されています。

これまでのJavaScriptではオブジェクトのキーを動的にリテラルでは定義できませんでした。 Enhanced Object Literalsを使うと、 var obj = {["name_" + (1 + 1)]: "value"} このようにオブジェクトのキーを動的に指定することができます。

obj[hoge] というリテラルはこれまでと同様で、この書き方を定義時にもできるようにしたものがこのEnhanced Object Literalsです。

Babelを使った例

const foo = Symbol("foofoo");
const bar = "barbar";

const obj = {
  foo: 1,
  [foo]: 2,
  [bar]: 3
};

console.log(obj[foo]); // Symbol key -> 2
console.log(obj[bar]); // String key -> 3
console.log(obj.barbar); // String key -> 3

このコードは、下記コードにトランスパイルされます。

"use strict";

var _obj;

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

var foo = Symbol("foofoo");
var bar = "barbar";

var obj = (_obj = {
  foo: 1
}, _defineProperty(_obj, foo, 2), _defineProperty(_obj, bar, 3), _obj);

console.log(obj[foo]); // Symbol key -> 2
console.log(obj[bar]); // String key -> 3
console.log(obj.barbar); // String key -> 3

Babel: try it out

Referneces

詳しくは、Lukeさんがまとめているes6featuresを参照してください

github.com

Spacemacsを使ってみる

WebpackのコンパイルScalaコンパイルをiTermのターミナルで確認するのが面倒になってきたので全部Emacsの中で確認できるようにしてみた。SpacemacsだとSPC ' でshellが起動できるんだけど、ふたつは起動できなかったのでもう片方はeshellを使ってる。

www.youtube.com

自分のEmacsの設定をがんばるより、Spacemacsのレイヤーを使ったほうが時間短縮になりそうだったので乗り換えてみた。

不慣れな部分もあるけど、雰囲気つかめてきたのでもうすこしなれてきたら記事にしていこう。

GoTTYで自分のターミナルをウェブアプリとして公開

GitHub/GoTTY

https://raw.githubusercontent.com/yudai/gotty/master/screenshot.gif

Mac OS Xにインストールする

brew tap yudai/gotty
brew install gotty

で、起動てみまっしょい。

gotty -p 8080 top

で、ブラウザで http://localhost:8080/ にアクセスすると…?

おぉぉぉ! topが公開されとる!!

f:id:reoring:20150819013758p:plain

これ色々つかえそうですね。