読者です 読者をやめる 読者になる 読者になる

GitHub の Issue リンクをリッチにする Chrome 拡張

どうもこんにちは、今日は便利な Chrome 拡張のご紹介です。 これは GitHub 上の issue link (#666 とかっていうやつ)を情報量の多い、見やすいバッジに変換してくれる拡張です。 親イシューにいくつかイシューをまとめて管理したいときに、イシューの状態…

TypeScript だけで Web アプリケーションを作る

はてなでアプリケーションエンジニアをしている id:hatz48 です。この記事は はてなデベロッパーアドベントカレンダー の 13 日目です。 昨日は id:dekokun による dekotech.dekokun.info でした。私は去年は developer.hatenastaff.com こんな記事を書いて…

ES7 async/await でのエラーハンドリング

async/await は ES7 の機能で、非同期処理を記述する上で非常に便利な機能である(仕様は安定していないと思う) まだ実装している処理系はないと思うが、babel などの transpiler をつかうと利用できる async/await をつかうと非同期処理を以下のように書く…

DOM をストーカーする

新年あけましておめでとうございます。 唐突だけど、 tumlbr の検索画面でスクロールしていくと、画面から見えなくなった部分の画像は DOM から remove されていく。 コンソールからdocument.querySelectorAll('img').length とかするとそれを確認すること出…

Golang の websocket サンプルを書き直してみた

Golang の勉強がてらちょっとしたツールを作ろうと思って、まず websocket サーバーを書いてみた。 書いてみたと言っても go の websocket chat は golang-samples/websocket · GitHub ここにサンプルがあって、これをそのまま使っても良かったのだけれどい…

chrome 拡張をシークレットモードで有効にする

chrome 拡張は普通にインストールすると、シークレットモードで有効になっていない。 有効にするには拡張機能(chrome://extensions)から、「シークレットモードでの実行を許可する」にチェックを入れればよいのだけど、自分で書いた拡張をこれで有効にして実…

YAPC::Asia 2014 に参加してきた

ブログを書くまでが YAPC らしいのでブログを書こうと思う(ブログを書かなければいつまでも YAPC ということか) 個人的には最近 Golang に興味があるので Go for perl mongers がすごく勉強になったし、ずっと Web アプリケーションばかり書いていたので ウ…

ビール投げ売りしてた

1ケース3000円 やまや に行ったらビール投げ売りしてたので思わずケースで買ってしまった。やまやのサイトを見ると1ケース4800円と書いてあるが、過剰入荷してしまったようで京都のいくつかの店舗では賞味期限が近いものに限り1缶125〜130円という発泡酒以下…

画像をまとめて zip にしてダウンロードする拡張を作った

前回 xhr で画像をダウンロードして zip するコードを書いた。せっかくなので拡張にしてみた。 imazip 使い方 上の拡張をインストールすると、URLバーの横に こういうボタンがでるので、画像をダウンロードしたいページでそれを押す。 押すと、マウスオーバ…

Web Worker を使って web ページ内の画像を zip してダウンロードする

クロスドメイン制約がない状況で、Web ページ内に表示されている画像を一括で zip してダウンロードしたいみたいな欲求ありませんか。私にはありました。 ありがたいことに jsZip というライブラリがあり、これを使えば JavaScript で zip ファイルを作成す…

はてなブログおみくじ2014

はてなブログおみくじ2014 これどういうことなの

今年買ってよかったもの

あんまり買い物していない。高いけど欲しかったものを買った。わりと満足感は高かった。 カメラ OLYMPUS ミラーレス一眼 OM-D E-M5 レンズキット ブラック 1605万画素 防塵 防滴 OM-D E-M5 LKIT BLK出版社/メーカー: オリンパス発売日: 2012/03/31メディア: …

Chrome 拡張の 2ch ブラウザを作った

クライアントで少しリッチなアプリが作れるようになりたいと思って、 chrome 拡張 で 2ch ブラウザを作ってみた。 nichrome 開発周り Chrome 拡張は js/css/html での開発になるので、それぞれ TypeScript/less/underscore-template を Grunt でビルドするよ…

【はてなスタッフ非公式ブログバトン】TypeScript のすゝめ

id:hitode909 さんからバトンが回ってきたので、TypeScript いいよね、っていう話をする。 TypeScript TypeScript は C# を作ってる人が作ってるという altJS 。言語の特徴とかは wikipedia 、勉強するときは TypeScript クイックガイド を見るのが良いと思…

ImageMagick(PerlMagick) でモノクロビットマップを作る

あんまりやる機会はなさそうだけど、メモ http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=15846 http://www.imagemagick.org/script/perl-magick.php convert image.png -colors 2 +dither -type bilevel image.bmp こうやるらしい。 最…

indexedDB

トランザクションのモードの定数が変更になっている IDBTransaction.READ_ONLY //-> 'readonly' IDBTransaction.READ_WRITE //-> 'readwrite'https://developer.mozilla.org/ja/docs/Web/API/IDBTransaction#Mode_constants理由はちゃんとみてない

TypeScript で jQuery のプラグインを書く

jQuery のプラグインを書くお作法みたいのがあって、だいたいどのプラグインも以下のように書かれている (function($) { $.fn.myPlugin = function() { ... }; }) (jQuery); これTypeScriptで書こうと思ったらこんな感じになった。 /// <reference path="path/to/jquery.d.ts" /> module jQuery { var</reference>…

「自己紹介 あなたへ30の質問」に回答!

「自己紹介 あなたへ30の質問」社会人力の高い新人との呼び声高い id:pokutuna から30もの質問をされたので答えます 01. みんなから何て呼ばれてる? はっつ、はつしば 02. 自分の自慢できるところは? シュウ酸カルシウム結晶の精錬 03. 自分の弱点は? た…

grunt-typescript で型チェックエラーを無視する

バッドな感じのタイトルだけど、開発中にとりえあず型エラーが出ていてもとりえあずjsファイルを吐いてほしいときはある。実際 tsc コマンドを打つと、syntax error のときは js を吐かないけど、型エラーのときは js を吐いている。(それが好ましいのかど…

dart で mysql にアクセスする

dart で mysql を扱うときのメモ。 dart の mysql ドライバーには sqljocky というのがあるようなので使ってみる。 dartEditor っていう Eclipse の亜種みたいのがあるのでそれ使ってもいいかもだけどとりえあず今回はなしで。 インストール OSX で作業して…

パッケージマネージャマネージャ

世の中にパッケージマネージャがたくさんあるけどそれぞれ微妙にコマンド違ってイライラするのでラッパー作りたい 利用可能なパッケージを探す場合 # homebrew brew search hoge # rubygem gem list -r hoge gem list --remote hoge gem search -r ってのも…

submodule の削除の仕方

Git

ハマったのでメモ passingloop • 復習 Git: ファイルやサブモジュールを削除する.

LWP::UserAgentでクライアント証明書を指定する

こないだハマったのでメモ。クライアント証明書がによる認証を行うサーバにLWP::UserAgentでアクセスしたかったのだが、パット調べてもわからなかった。結局perldocをちゃんと読めって言う話なんだけど・・・ まずCPANを見る LWP::UserAgent - search.cpan.o…

perlわかんない

以下の場合にエラーになるのなんででしょうか #!/usr/bin/env perl use strict; use warnings; my $a = [1]; # $a は arrayref $a->[0] = 999; # ok. sub hoge { return \@_; } my $b = hoge(1); # $b も arrayref $b->[0] = 999; # Modification of a read-…

株式会社はてなに入社しました!

株式会社はてなに入社しました!3月で前職を退職して、4月から株式会社はてなで働く事になりました。 金曜日に初期研修を終えて一息つくことができたので今回の転職について少しまとめようかとおもいます。 きっかけ あ、ありのまま起こったことを話すぜ「…