oinume journal

Scratchpad of what I learned

HerokuのName lookup timeoutが短すぎて困ってる話

最近HerokuのDynoで以下のようなエラーが出るようになった。アプリケーションから接続するMySQLのホスト名の解決が失敗しているっぽい。 Jan 18 08:20:25 ***** app/web.1: {"level":"error","ts":"2018-01-17T23:20:24Z","msg":"InternalServerError","erro…

webpackで<script>タグでロードしたライブラリをbundleされたJSから外したい

webpackのconfigには externals というものがある(ドキュメント)。このexternalsで定義したライブラリは、importで参照していてもwebpackでビルドして生成される成果物(bundle.js)には含まれなくなるというもの。 自分のユースケース もともとReactを使って…

Loop over dates with bash in Linux

Here is an example of looping over dates from 2017-10-22 to 2017-12-31. #!/bin/bash START=2017-10-22 END=2017-12-31 CURRENT=$START while true; do echo $CURRENT if [ "$CURRENT" = "$END" ]; then break fi CURRENT=`date -d "$CURRENT 1day" +%Y-…

2018年の抱負

あけましておめでとうございます。まだ1枚も年賀状の返信出してないです。今年も例によって新年の抱負。 過去の振り返り 新年の抱負をかかげても達成できないことが多いので 目標を2つに絞る 3ヶ月ごとに必ず振り返りをする 目標達成のためのマイルストーン…

2017年の振り返り

あけましておめでとうございます。大晦日は2017年の振り返りをせずに息子の寝かしつけで寝落ちするという体たらくだったので2017年の振り返りをさせてください。 仕事 メルカリに新しい決済手段を追加するというプロジェクトに入り、4月からついにPHPを書き…

2017年に買って良かったモノ・サービス

LINE Pay 買ったモノじゃないけど、LINE Payをちゃんと使い始めた。 ポイントが2%つく。これはかなり太っ腹だと思う 決済するとすぐにLINEに通知が来る。自分はPebbleに通知を送っているので、いくら使ったのかがすぐわかってこれが地味にありがたい オート…

Handling uploaded files in Go

Go

Handling uploaded files in Go is quite easy. Here is a complete example. net/http.Request.ParseMultipartForm parses a request body as multipart/form-data. You can get files with net/http.Request.FormFile after calling the method net/http.R…

エストニアに行く前準備

今日からエストニアに6日間出張に行くのでその前準備に何をやったかをメモしておく。 エストニア出張の目的 ちゃんとしたマイナンバーがある 選挙の投票や、学校の授業の成績管理などが電子化されている e-Residencyなにそれかっこいい スタートアップ界隈が…

ハワイでのSIMはKDDI x h2o が良かった

9/1から1週間ほどハワイに行ったのだけど、現地でのネットワーク環境どうしようかと悩んでいて色々調べた結果KDDI mobile x h2o のSIMが良かったのでレポート。良かった点としては 安い 4G LTE使える 電話もかけられる auのiPhoneだとSIMロック解除してなく…

gcloudコマンドを使わずにGoogle Cloud Storageにファイルをアップロードする

概要 gcloudコマンドを使わずにPythonとgoogle-cloudを使ってGoogle Cloud Storage(GCS)に頑張ってファイルをアップロードしてみる。google-cloudはPython向けのGoogle Cloud Platformの何かを操作するためのクライアントライブラリ。GCPの以下の機能の操作…

2017年の進捗

2017年の抱負 - oinume journal で書いた、今年の抱負の進捗。 機械学習を学ぶ みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習 | Udemy というものをやったけど、本当にまだまだわからないことが多い。あと、自分は機械学習よりもデータ分析の方が…

MySQLのデータをJupyter Notebook上でグラフにする

最近少しずつJupyter Notebookやpandas, matplotlibに慣れてきて、PythonによるData Scienceが面白くなってきたと感じてます。今日はMySQLのデータをSQLで持ってきて、Jupyter Notebook上でグラフにしてみる話。 セットアップ Python3はインストールされてい…

Udemyがなかなかいい感じ

最近は健康のために、六本木→渋谷まで歩いて帰っているのでPodcastをよく聴くようになった。1日30分以上歩いていて、その間は暇なのでPodcastを聞いていたのだけれどPodcastが在庫切れになってしまった。どうしようかと悩んでいたところ、以前Udemyでいくつ…

go test in practice

This blog post describes basics and practical examples of go test. Go’s automated test mechanism is well designed and easy to use. I’ll show you some techniques of go test in this article. What is go test go test is a command to run automa…

読書感想「ルポ MOOCS革命」

ルポ MOOC革命――無料オンライン授業の衝撃作者: 金成隆一出版社/メーカー: 岩波書店発売日: 2013/12/26メディア: 単行本(ソフトカバー)この商品を含むブログ (8件) を見る を読んだので、メモと感想。 感想 まず「MOOCSってなに?」という状態からスタート…

お金を節約するワザ

個人的にやっているお金の節約方法をまとめてみる。 Amazonで商品をなるべく安く買う方法 Amazonギフトカードを安く買う まずはAmazonでの買い物を2〜8%安くする方法。世の中にはAmazonギフトカードを安く手に入れることができるサイトがいくつかあって、だ…

2017年の抱負

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

2016年の振り返り

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

2016年に読んだ本

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

Herokuの好きなところ

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

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

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台あると…