oinume journal

Scratchpad of what I learned

2017年の抱負

明けましておめでとうございます。いまだに年賀状に手をつけられていない怠惰な人間ですが、新年の抱負を書きます。 機械学習を学ぶ 今まで機械学習を勉強しても実践する場がなかなか見つけづらかったけど、自分で作ったサービスもあるので学んだ成果を投入…

2016年の振り返り

まずは今年の1月に書いた新年の抱負を振り返ってみる。 英語を頑張る 技術的なやり取りは苦がなくできるぐらいになっていたいなぁと。会話も文章も両方で。あとブログの英語比率を50%に持って行きたい。あと何か1冊英語の本を最後まで読む。 ブログの英語比…

2016年に読んだ本

本当は「2016年に買ったもの」という記事を書こうと思ったけど、日用品以外で買ったものがあまりなかったので読んだ本(技術書以外)を晒してみる。 ヒューマンエラーを防ぐ知恵 ミスはなくなるか ヒューマンエラーを防ぐ知恵 ミスはなくなるか (朝日文庫)作者…

Herokuの好きなところ

これはHeroku Advent Calendar 2016の13日目の記事です。個人的にHerokuを使い続けてはや3年。仕事でヘビーに使っているわけではないけど、Herokuの好きなところを挙げてみます。 ディプロイが楽 ディプロイがgit push heroku masterで済むのは本当に楽。一…

WebアプリケーションのE2EテストをGoで書く

これはGo Advent Calendar 2016の18日目の記事です。今回はGoでE2Eテストを行うためのライブラリagoutiについて書きます。 GoでE2Eテストを書く理由 WebアプリケーションのサーバーサイドをGoで書いている場合、GoでE2Eテストを書くメリットとして JavaScrip…

Better Heroku Schedulerを探したらCustom clock processesにたどり着いた

これはHeroku Advent Calendar 2016の11日目の記事です。 HerokuではHeroku Schedulerというcronのようなサービスがあるのですが、使い込むうちに「Daily, Hourly, Every 10 minutesの単位でしかジョブを動かせない」という制限がつらくなってきたので、より…

mysqldumpで特定のレコードだけエクスポートする

忙しい人向けまとめ mysqldumpの--whereオプションを使うと特定のレコードだけmysqldumpできる --whereにはLIMIT句も指定できる --whereオプションで大量のデータから一部だけをmysqldumpすることが可能 本文 mysqldump、データだけエクスポートしたりCREATE…

新しいMacで設定している項目 - macOS Sierra編

Mac

5年間MacBookPro 13-inch, Early 2011のRetinaじゃないヤツをSSD変えたりして延命しつつ使ってたのだけど、さすがに限界だったので新しいMacBookPro 13inch Retina のTouchBarなしモデルを買った。 Apple MacBook Pro 256GB SSD 13インチ Retina Displayモデ…

DMM英会話でお気に入りの先生の空きレッスンがあった時にメール通知するlekcijeというサービスを作った

www.lekcije.com lekcijeという、DMM英会話で講師に空きレッスンがあった時にメール通知するサービスを作った。もともとは下記で書いたものがベースになっていて、これに画面を付け足したという感じ。毎日家に帰ってから自分の空き時間でチマチマ作っていた…

コードリーディングのためのIntelliJ IDEAショートカット

自分がソースコードを読む時によく使っているIntelliJのショートカット集。もちろんWebStormやAndroid StudioなどIntelliJシリーズなら全部使えるはず。他にもこんなのがあるよ、というのがあればコメントとかTwitterで教えてもらえると嬉しい。ちなみにショ…

VPSをConoHaからVultrにお引越し

VPS

昔はブログ用のWordPressをホスティングしていたVPS、今ではもうリダイレクトするためだけにNginxを動かしているだけなので、$5で1CPU, 768MBとそこそこのスペックなVultrに引っ越してみた。以下はUNIX Benchの結果。たいしたことしなければ速度的な不満はな…

HerokuでMySQL 5.7系を使う方法

JawsDBというaddonを使うともれなく5.7系のMySQLが使える。2016年9月現在だと5.7.11。 elements.heroku.com HerokuのデフォルトのデータベースはそもそもPostgreSQLで、MySQLを使いたい場合はこのJawsDBもしくはClearDBの2者択一なんだけど、ClearDBの方は5.…

Arguments to defered functions are evaluated when the defer executes

The arguments to the deferred function (which include the receiver if the function is a method) are evaluated when the defer executes, not when the call executes. Effective Go - The Go Programming Language I sometimes make a mistake that d…

会社のITシステムで良かったところまとめてみた

今まで勤めてきた会社で良かった社内のITシステム(?)を思い出してみた。 BYOD (Bring Your Own Device) 会社用の携帯を別途支給されるのは携帯の2台持ちになってしまってつらい。2台持ちのつらいところは 単純に邪魔 2台あると紛失するリスクも2倍 2台あると…

3 things I do after installing Nodejs

Installing latest npm $ npm install -g npm@latest Disabling npm’s progress bar Disabling progress bar for faster npm install. $ npm set progress=false See Progress bar noticeably slows down npm install · Issue #11283 · npm/npm Installing n…

Go Tip: Don't take the address of loop variable

stackoverflow.com If you take the address of loop variable, it may cause a bug which all values are same. You might expect following program prints 5 10 15 but it prints 15 15 15. That’s because loop variable v is initialized just once. pa…

First loaded configuration becomes default_server in nginx

How nginx processes a request server { listen 80; server_name example.org www.example.org; ... } server { listen 80; server_name example.net www.example.net; ... } server { listen 80; server_name example.com www.example.com; ... } In this …

Sorting processes by memory usage

$ ps aux --sort -rss Sorted by ascending order if you don't add -. alvinalexander.com

Making an enviroment to learn ES6 with babel

This is a just memo for me who is a beginner of front-end development.

Tokyo Developers Meetup 17に行ってきた

www.meetup.com こんなイベントがあることを知って行ってきました。最初はボッチで同じテーブルの人も話しかけてくれないし、開始10分ぐらいでもう帰ろうかと思ったけど、自分から "This is the first time to come here. May I introduce myself?" と言って…

MySQL Casual Talks vol.9でしゃべってきた

表題の通りでMySQL Casualで「カジュアルに本番データを開発環境に入れる」というタイトルで発表してきました。 カジュアルに本番データを開発環境に入れる #mysqlcasual from Kazuhiro Oinuma 当日はカジュアルウォーターを飲んでしまい発表時に顔が真っ赤…

2016年の抱負

明けましておめでとうございます。今年もよろしくお願いします。 ということで、新年の抱負を書きたいと思います。昔は抱負を考えたりするのは好きじゃなかったのだけど、去年やってみて食わず嫌いだということがわかったので今年も抱負を掲げてみたいなと思…

2015年振り返り

2015年はざっくり言うとこんな感じだったと思う。 * 2014年の夏から作り続けていたサービスが3月にローンチできた * 英語の勉強を本格的に始めた * 2年ぶりに趣味プロダクトを作った * 初心に帰ってアルゴリズムの勉強を始めた

Heroku Schedulerやcronが正常に稼働しているかをチェックするDead Man's Snitchが便利

これはHeroku Advent Calendar 2015 21日の記事です。今回はHeroku Schedulerを監視するDead Man's Snitchというものを紹介します。 Heroku Schedulerってなに? Heroku上で特定のスクリプトやコマンドを動かすcronみたいなもの。「みたいなもの」というのは…

dmm-eikaiwa-tscにバグ

以前紹介したDMM英会話でお気に入りの先生の空きレッスンが登録されたらメールで通知するヤツにバグがあったので、使っている人がいたらアップデートお願いします。 バグの内容はレッスン講師のスケジュール表に「休講」というステータスが出現したため、ス…

Parsing MySQL's URL in Python3

Just add urllib.parse.uses_netloc.append("mysql") if you want to parse URL such as mysql://root:pass@localhost/demo. #!/usr/bin/env python import urllib.parse urllib.parse.uses_netloc.append("mysql") if __name__ == "__main__": url_str = "m…

DMM英会話でお気に入りの先生の空きレッスンが登録されたらメールで通知するヤツ作った

DMM英会話でお気に入りの先生の空きレッスンが登録されたらメールで通知するヤツ作った。同期としては、人気のある先生はすぐ予約が埋まっちゃう、でもスケジュールをいちいち検索してチェックするのはダルい、という感じ。

まだ3大キャリアSIMで消耗してるの?MVNOのススメ

Docomo iPhone6 + IIJ mioに乗り換えてから3ヶ月ぐらいたったのでその使用感をば。結論から言うと今すぐキャリアSIMやめてMVNOに切り替えた方がいいと思う。 料金が安い SoftbankからIIJ mioに切り替えてから、月々の利用料金が約半額になった。具体的には、…

Amazon RDS for Aurora 東京ローンチ記念セミナー

Auroraの検討を導入していることもあり、11/10のAmazon RDS for Aurora 東京ローンチ記念セミナーに行ってきたのでそのメモ書きと感想。 Debanjan Saha, GM, Amazon Aurora Auroraチームの人。AuroraはAWS史上最速で成長しているサービスと言っていた。 エン…

MySQLでbulk insert + on duplicate key updateしたい

MySQLでINSERT INTO hoge VALUES (...), (...), (...) のBulk insertでon duplicate key update(すでにレコードがあったらUPDATEで上書きする)って併用できるのかな?っていうのが気になったので調べてみたらVALUES関数を使ってできるみたい。