oinume journal

Scratchpad of what I learned

Generating an unpredictable random value in Go

There are a lot of examples to use math/rand. However, should use crypto/rand if you want to generate an unpredictable random value. That's because crypto/rand uses getrandom(2) if available, /dev/urandom otherwise on Linux. As a real worl…

課金している有料のMacアプリ

Mac

自分的に もうこれがないと生活できない というMacの有料アプリ集。 Alfred 高機能なランチャー。£19。 クリップボードのコピー&ペースト Chromeのブックマークを検索して開く 英和・和英辞書 計算機 IntelliJ IDEA コードを書く時はこれを使っている。Inte…

Comparing datetime in Golang

https://play.golang.org/p/5-BtaE6iXaP time.Before and time.After package main import ( "fmt" "time" ) func main() { t1 := time.Date(2018, 1, 1, 10, 0, 0, 0, time.UTC) t2 := time.Date(2018, 1, 1, 11, 0, 0, 0, time.UTC) fmt.Printf("t1.Before…

2018年4月の振り返り

その1. 機械学習 まだ 【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 - が終わっていない。3分の2ぐらい。5月中には終わらせたい。 その2. lekcijeに月額課金 手付かず。 その他 Hashtable だいぶ昔に実装したHashtableをGoで実装した…

2018年1Qの振り返り

2018年も早くも4ヶ月が過ぎてしまったので、1Qの振り返り。3ヶ月スパンの振り返りだと何をやったのか忘れてしまうので次からは1ヶ月単位で振り返ろう。 その1: 機械学習 ゼロから作るDeep Learning を読むのはいったんペンディングにして、Udemyの 【キカガ…

grpc-gatewayでRESTful APIを実装する

背景 何かしらの理由でRESTでAPIを実装しなくてはいけない時に、JSONを直接扱うのは面倒くさい。具体的には、JSONをデシリアライズして内部のデータ構造にマッピングする処理を書くのが面倒だ。というわけで、grpc-gatewayを使ってProtocol Buffersを定義す…

Google Apps Scriptで外部のREST APIを呼び出す

Google Apps Script(GAS)から外部のREST APIを呼ぶには、UrlFetchApp.fetch というメソッドを呼び出せば良い。例えばJSONをリクエストのペイロードとして送る場合のサンプルコードはこんな感じ。 var data = { 'email': email, 'subject': subject, 'message…

Google Driveの画像をブログに埋め込む

いっっっつもやり方を忘れるので未来の自分のためにメモ。 1.Google Driveで対象の画像ファイルを選択して開く 2.画像が表示されるので、右上のメニュー(縦の...のアイコン)から 新しいウィンドウで開く をクリックする。 3.開いたウィンドウの右上のメニュ…

Googleフォームでメールアドレスを収集する場合にそのメールアドレスをGASから取得する

ググってもあまり出てこなかったのでメモ。Googleフォームで メールアドレスを収集する という設定をONにすると、フォームの回答を記録するSpreadsheetにメールアドレスが保存されるようになる。 これをGASのスクリプトからどうやって取るんだろうと思って調…

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

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