愛と勇気と缶ビール

ふしぎとぼくらはなにをしたらよいか

紙の本のこと

電子書籍がああだこうだ、紙の本はああだこうだ、みたいな議論は既に聞き飽きているので、繰り返さない。巷に溢れる話は既にここに書かれたものとして読み進めて頂く。 僕自身は電子書籍で本を読むこともあれば、紙の本を買うこともあり、本を読むにはどちら…

クリント・イーストウッド「ミスティック・リバー」

ミスティック・リバー (字幕版)発売日: 2013/11/26メディア: Amazonビデオこの商品を含むブログを見る 「アメリカン・スナイパー」をきっかけにクリント・イーストウッド監督の映画を観るようになった。「グラン・トリノ」や「許されざる者」、「ヒア アフタ…

料理のあれこれ

料理というのはよっぽど変なことをしなければある程度美味しく作れるもので、料理がうまく出来ないという人の多くは単に場数をこなしていないか、そもそも自分自身があまり食べることに興味がないか、あるいは上達する前に変にアレンジを加えて失敗している…

年末に読んだ本 (2016-2017)

旅行もしくは帰省するときは、荷物が増えるのが嫌なので紙の本ではなくKindle Paperwhiteを持っていくことにしている。 で、新幹線の中で退屈しない読み物がほしいなーと思って舞城王太郎を選んだ。 世界は密室でできている。 (講談社文庫)作者: 舞城王太郎…

文章のありか

自分のblogの記事がRSSに流れてきて驚いた。だから何だ、というわけではないが。 おなじ文章でも、PCで読むのとスマートフォンで読むのではやはり印象が違う。スマートフォンでも、ブラウザで個別記事を読むのとRSSリーダーの中で読むのでは違っている。 文…

村田沙耶香「コンビニ人間」

ブログ復帰?を兼ねて、なんでも書くことにした。今までは色々なトピックのブログの書き分けを試みては止めてを繰り返していたのだけど、面倒なのでもう止めることにする。 僕は近年の芥川賞・直木賞作品などには目もくれないという保守的読書家気取りのイヤ…

PostgreSQLのLISTEN/NOTIFYでJSONデータを飛ばす

PostgreSQLではJSON, JSONBデータ型のサポートがあります。MySQLも5.7からあるようです。 アプリに対してちょっとした通知を飛ばしたくなったのですが、ちょっとした通知のために別のミドルウェアを導入するのは明らかに筋が悪いのでPostgresのLISTEN/NOTIFY…

PostgreSQLちょっといい話

最近、PostgreSQL(というかPipelineDB)をいじる機会があったのでメモ。 RDBMSにあるとうれしい、というかPostgresにあって「これ良いな」と思った機能を適当に列挙するの回。 CREATE DOMAIN 要はtypedefが出来る。 CREATE DOMAIN company_code smallint; …

Pythonで async def / def 両対応のデコレータを書く

タイトルの通り。 単純に以下の様なdecoratorを書くと、async defをラップできない。 from functools import wraps from datetime import datetime def timetrack(func): @wraps(func) def inner(self, *args, **kwargs): start = datetime.now() return_val…

Pythonのasyncioで(結果を待たない非同期実行|投げっぱなしジャーマン|fire and forget)する

Pythonは3.5から、C#みたいなasync/awaitを用いた非同期処理が可能になっている。 これ系のパターンでは「非同期処理を待つ」ためにawaitキーワードを使い、「(awaitを含む) 非同期処理が行われる関数をマークする」ためにasyncキーワードを使う。非同期処理…

Fire OS 5.1.4でmicroSDカードにKindle本を保存できるようになってた

分かる人にとってはタイトル見ただけで「アッー」という内容。 一応説明をすると、Kindle Fire系で安めの端末は内蔵ストレージの容量の少なさがネックになっていた。一応microSDカードで増設できたものの、「Kindle本は保存できない」「アプリも一部しか保存…

WindowsのGUIアプリケーションを外部 (Linuxホスト) から実行したいんだ。どうしてもだ。

なんでそんなことをしたくなったのかは、聞かない約束だ。 しかるべきポートを開いておけば、リモートから何らかのコマンドを叩くこと自体は簡単にできる。WinRMを使ってもいいし、それこそsshdを入れてもいい。 しかしそれ系のリモートコマンドだと、GUIア…

h8300の開発環境はMacで作らない方がよい (12ステップで作る組み込みOS自作入門)

最近、この本をやってる。 12ステップで作る組込みOS自作入門作者: 坂井弘亮出版社/メーカー: カットシステム発売日: 2010/05メディア: 単行本購入: 24人 クリック: 252回この商品を含むブログ (39件) を見る MacでH8開発環境構築 - 12ステップ本を試す - s…

JacksonでJSONの一部だけdeserializeさせないための設定

リクエストボディで受け取ったJSON全体はオブジェクトにマッピングして欲しいけどもその一部分だけJSON文字列そのままにしておいて欲しい(= デシリアライズして欲しくない)というケースがある。例えば、JSON-RPCを実装していてparamsの型がmethod依存で変…

Mockitoの新機能を使ったモダンげな使い方

Javaのmock用ライブラリは探せば色々あるが、一番よく使われてそう(自分調べ)ってことでMockitoを使っている。 http://mockito.org/ Mockitoはそのロゴからいっても「モキート」「モッキート」と読むのが正しいのだろうけど、心の中ではいつでも「モック伊…

JavaでiPhoneからアップロードされた画像を(再)回転させる

iPhoneからアップロードした画像をPCで表示すると思ったのと違う向きで表示されるという事象は、よく知られているように、iPhoneが本来横向きの画像にexifのorientationをかました上で縦に表示しているから発生する。 blog.isao.co.jp これに真面目に対応す…

Vimを使って複数の文字列を一度で置換する

Vim

Vimについて書くのとか久しぶりすぎる。 例えば、テキスト中の FFFF00をFFFFFFに FFFFFFをFFFF00に 一発で置き換えたい。これを1 => 2の順でやると1の後で全部FFFFFFになってしまうので、アカン。 perlとかでコマンドラインからやってもいいけど、まあVimか…

jOOQ (Java Object Oriented Querying) の使い方の紹介

jOOQ (http://www.jooq.org/) についてのメモ。 jOOQは、type safeかつdatabase orientedなクエリビルダーである。 database orientedなので、「アプリケーションからDBのことなんて全然意識したくないねん」的な思想に基いて作られた類のプロダクトとは異な…

「神聖喜劇」に寄す

大西巨人「神聖喜劇」を読んだ。 神聖喜劇〈第1巻〉 (光文社文庫)作者: 大西巨人出版社/メーカー: 光文社発売日: 2002/07メディア: 文庫購入: 3人 クリック: 245回この商品を含むブログ (70件) を見る 「神聖喜劇」とは何のことやらと思うかもしれないが、こ…

TLS Session Ticketの動作をtsharkでなんとなく覗きみる

こういう仕組みですよ、というWeb上の記事を読んだだけでは納得できない!論より証拠だ!ということで論より証拠ツールその2であるtsharkを使ってTLS Session Ticketの動作を「なんとなく」覗いてみる。 ちなみに、クライアントは Google Chrome (49.0.2576.…

FT142A (priori2 3G) は安かろう悪かろう

freetel SIMフリースマートフォン priori2 3G ( Android 4.4.2 / 4.5inch FWVGA / 標準SIM / microSIM / デュアルSIMスロット / 1GB / 8GB / ブラック) フリーテル FT142A-Pr2-BK出版社/メーカー: freetelメディア: エレクトロニクスこの商品を含むブログを…

「Javaパフォーマンス」はいい本だった

Javaパフォーマンス作者: Scott Oaks,アクロクエストテクノロジー株式会社,寺田佳央,牧野聡出版社/メーカー: オライリージャパン発売日: 2015/04/11メディア: 大型本この商品を含むブログ (11件) を見る とても馬鹿っぽいタイトルになってしまったが、気にし…

公私ともにToDo管理にTrelloを使うようになった

trello.com これまでToDo管理を色々なツールで行っていたけど、Trelloに落ち着きそうな気配。 Trelloは本来、小規模なチームで使うことを意図したツールだと思うのだけど、お一人様でも十分使える。 何より、めんどくさいこと考えなくていい。色々な操作が直…

JavaScriptでCSVを生成するのはやめたほうがいい

もう2015年だから別にいけるんじゃね?出したいのはクライアントサイドで表示してるデータだし。と思ったけど、 例によって古いIE (9以下かな) でめんどくさい SafariだとHTMLAnchorElementのdownload attributeが無効 (http://caniuse.com/#feat=download) …

Marionette.jsを使ってみている

最近Marionette.jsを使ってみている。 時は未だにJSフレームワーク大戦争時代、なんでMarionetteなんですか?って話なんだけども、 作ってるのが管理画面に毛が生えたようなものなので、別にそんなパフォーマンスとか考えなくていい だから別にReactとか、DO…

時間割を決めて行動してみる

2月の頭から有給消化モードに入り「このままだと無限にダラダラしてしまう可能性があるな」と思ったので、時間割を決めて行動している。 時間割を決めるなんてしっかりしてるな、と思う人がいるかもしれないが、以下の本によるとそれは逆で、自分でタイムマ…

JsDocにやさしいJSの書き方

最近、比較的真面目にJsDocを書くという機会があったので。 (※この記事の前提はJsDoc 3.2.2です) JSで適当に名前空間的なものを切ってコードを書いていくと、 /** * @class /* function Klass() { } Klass.prototype.foo = function () { }; my.name.space.K…

chrome.identity.getAuthTokenで得たaccess tokenをrevokeする

function revokeToken() { var token = gapi.auth.getToken()["access_token"]; chrome.identity.removeCachedAuthToken({ token: token }, function() {}); var img = new Image(); img.src = "https://accounts.google.com/o/oauth2/revoke?token=" + toke…

初めて真面目にChrome extension作ったのでチラ裏メモ

まだ公開してないけどね。 デスクトップ自体のアイドル(ユーザ操作がない)状態やロック状態はchrome.idleで取れる。ユーザ操作がないと判断するまでのtimeoutも自分で決められる。最短15sec。 Chrome自体からフォーカスが離れたかどうかはchrome.windows使…

ChromeのInspect Devicesのページを開くのがダルい時は単にbookmarkしとけばいいって話

最近WebViewとかUIWebViewとかを組みこんだアプリの開発も便利になったもので、4.4以上のAndroidであればAndroid Chromeだけでなくアプリに組み込まれているWebViewすらWeb Inspectorでデバッグできる時代になりました。 Remote Debugging on Android with C…