DRYな備忘録

Don't Repeat Yourself.

Rの日付・時間のパースと、時間差分の計算

r

# Datetime文字列のパース > t1 <- strptime("May 11 08:42:20", format = "%b %d %H:%M:%S" 1. ) > t2 <- strptime("May 11 08:47:23", format = "%b %d %H:%M:%S") # 時間の差分 > t2 - t1 Time difference of 5.05 mins # 秒でくれ > as.numeric(t2 - t1,…

2分で Google Cloud Functions を使ってみる

GAE/Goが好きなのでだいたいGAEでやっちゃおうとするんですけど、せっかくなのでCloud Functions使ってみたいじゃないですか。 Cloud Functions - Event-driven Serverless Computing | Google Cloud When to choose App Engine over Cloud Functions? - Sta…

R(とPython)で平均値、中央値、分散、標準偏差を求める

r

Rやりはじめた。 otiai10.hatenablog.com 勉強 平均値: 全要素の合計を要素数で割ったもの。重心。集合の代表値のひとつ。 (1/n) * Σx(k) 中央値: 全要素を小さい順にならべて真ん中の値そのもの。集合の代表値のひとつ。 x([n/2]) 分散: 各要素の平均値との…

はじめてのR

r

インストール R: The R Project for Statistical Computing % brew install r % R R version 3.5.0 (2018-04-23) -- "Joy in Playing" Copyright (C) 2018 The R Foundation for Statistical Computing Platform: x86_64-apple-darwin16.7.0 (64-bit) R は、…

Go言語のgoroutine、channel、sync、contextなどについて学習

Go Concurrency Patterns: Context - The Go Blog context - The Go Programming Language semaphore - GoDoc sync.ErrGroupで複数のgoroutineを制御する | SOTA Go1.7のcontextパッケージ | SOTA errgroup - GoDoc Go Concurrency Patterns Run strikingly …

【メモ】なんだかんだでvirtualenvが使いやすかったのでメモ

% pip install virtualenv % mkdir -p ${HOME}/.venv/default % virtualenv -p python3 ${HOME}/.venv/default % echo 'source ${HOME}/.venv/default/bin/activate' >> ${HOME}/.zshrc % mkdir -p ${HOME}/.venv/myproject % virtualenv -p python2.7 ${HOM…

【Webpack】TypeError: Cannot read property 'watchRun' of undefined

問題 % ./node_modules/.bin/webpack # 中略 TypeError: Cannot read property 'watchRun' of undefined 調査 webpack - TypeScript issue - TypeError: Cannot read property 'watchRun' of undefined - Stack Overflow webpack 4.0.0-alpha.5 feedback · I…

Pythonの開発環境立ち上げメモ(virtualenvを使った最小構成)

現状確認 % which python /usr/bin/python % python --version Python 2.7.10 % which easy_install /usr/bin/easy_install % which pip pip not found % % sudo pip_install virtualenv % virtualenv -p /usr/bin/python ~/.venv/default % source ~/.venv/…

Chrome拡張の開発でwebpackを使わずにES6のimportを有効にしたい

背景 JSのプロジェクトで、特に僕はChrome拡張を作ることが多いんですが、ES6 syntaxを使いたい だいたいのES6 syntaxは、Chrome(現在 65.0.x)で使える ただし、問題は import です Background Script でimportを使う medium.com つまりHTML5準拠のブラウ…

Dockerコンテナ同士のNFSのサーバ・クライアント疎通サンプル

サーバの起動 イメージはこれ → docker-nfs/server at master · otiai10/docker-nfs · GitHub % docker-machine create \ --driver amazonec2 \ --amazonec2-region ap-northeast-1 \ --amazonec2-security-group otiai10-test \ otiai10-server % eval $(do…

【メモ】【NFS】DockerコンテナをクライアントとするNFSの疎通確認

背景 Public/Privateネットワーク上にNFSサーバが立っており、AmazonLinuxクライアントからの疎通は確認できている 【AWS】EC2上にnfsサーバを構築する - DRYな備忘録 【AWS】EC2上にNFSサーバを構築する(最小要件) - DRYな備忘録 これを、Dockerコンテナ…

【AWS】EC2上にNFSサーバを構築する(最小要件)

AWS

背景 前回記事 otiai10.hatenablog.com で、NFSサーバ構築の要素を検証したので、今回は最小要件実装を試す。とはいっても、デバイスの追加せず、ルートボリュームをマウントポイントとするだけの違い。 ログ Webコンソールから、インスタンスの立ち上げ。こ…

【AWS】EC2上にnfsサーバを構築する

AWS

tl;dr まったく同じタイトルのものがあった EC2上にNFSサーバ/クライアント構築する - Qiita 以下読まなくていいです。 nfsサーバ構築のログ ウェブコンソールからインスタンスのローンチ Linux インスタンスでのデバイスの名前付け - Amazon Elastic Comput…

【React】画像がNotFoundのときimgタグごと表示せず存在を消す

目的 画像がサーバ上に無いとき、こうなる。 画像がサーバ上に無いときは「見つからないよ!」という画像を出すのもかっこ悪いので、タグごと存在を消したい。こう。 参考 javascript - How to silently hide "Image not found" icon when src source image …

【Go言語】aws-sdk-goでGoからEC2インスタンスの作成

注意: EC2インスタンスローンチ直後はPublicIPAddressがassociateされていないので、再帰的に時間とりつつDescribeInstanceしています。(func ensureの部分) package main import ( "flag" "fmt" "log" "time" "github.com/aws/aws-sdk-go/aws" "github.co…

【メモ】AWS CLIでEC2インスタンスの作成

AWS

run-instances — AWS CLI 1.14.51 Command Reference describe-images — AWS CLI 1.14.51 Command Reference create-key-pair — AWS CLI 1.14.51 Command Reference aws ec2 run-instances help 必須パラメータと予想されるもの machine image instance type…

【メモ】【AWS】EBSの作成とEC2へのアタッチとマウント(手作業バージョン)

AWS

EBSのアタッチとマウントって違う概念だったのか。一発かと思ってた。 EBS作成 Creating an Amazon EBS Volume - Amazon Elastic Compute Cloud EBS Volume ID: vol-07f6e7b9781aa7566 EBSのアタッチ その前に、このEBSをアタッチする先のEC2インスタンスを…

rustc、cargo、rustup、rustfmtなどのインストール

前回のエントリでは横着してbrew install rustとしたけど、それだといろいろ無いっぽいので、toolchain一式入るように入れ直す。 まずはお掃除 % brew uninstall rust 無いことを確認。 % which rustc % which cargo 公式ドキュメントに従ってインストール w…

【Go言語】複数並列goroutineの中でのSIGINTの捕捉

go

やりたいこと 複数立ち上がっているgoroutineの中で、それぞれ独立にSIGINT捕捉できるだろうか?という素朴な疑問 ソースコード 期待されるアウトプット「各goroutineのidとinterruptedというログが出る」 package main import ( "fmt" "os" "os/signal" "sy…

【Go言語】Ctrl+cなどによるSIGINTの捕捉とdeferの実行

go

問題 deferを使って後処理をしたい場合に、プロセスがCtrl+cなどSIGINTで中断されるとdeferしたものが発火しない。プロセス自体が中断されるのであたりまえなんだけども。 問題の再現 package main import ( "fmt" "time" ) func main() { defer teardown() …

【メモ】aws-sdk-goを使ったSecurityGroupの作成

tl;dr docs.aws.amazon.com 動くコード package main import ( "fmt" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/ec2" ) func main() { sess := session.Must(session.NewSessionWithOpt…

ストレージサービスのBucket存在確認メモ

S3 s3://hoge aws s3api wait bucket-exists --bucket hoge echo $? # 255 存在するが権限が無い Waiter BucketExists failed: Forbidden 謎ケース(要調査: このへん?) Waiter BucketExists failed: Bad Request 再現 aws s3api wait bucket-exists --buc…

【Go言語】bufio.Scannerの静かな突然死に3営業日ハマった

go

tl;dr bufio.ScannerでScanが終わってもErrはちゃんと見ましょう。以上。 問題 継続的に書き込みのあるTCP接続からの読み込みを、bufio.Scannerをつかって華麗に逐次読み込みしていた。が、どうやらそれが静かに切断され、クライアント(こちら)側のローカ…

Webプログラマから見た「CWL」の功績と罪過

このエントリは、CWL Advent Calendar 2017 - Qiitaの25日目です。 背景 誰がエモ芸人や CWL is 何? データ解析が再現するということ、あるいは Common Workflow Language... - こんな時間ですがパスタを茹でます 異なる処理系の間で同一のワークフローの実…

GKEを使ったバッチジョブ実行

これは Google Cloud Platform Advent Calendar 2017 - Qiita の19日目のエントリです。otiai10です。 背景 大規模なデータの取扱いと演算を非同期に行いたい 上記を、任意のタイミングで発火させたい 上記は、特定のランタイムではなく、任意のランタイムを…

Azure CLIを使ってインスタンスの作成、sshまで

前回 Azureことはじめ - DRYな備忘録 をやったので、今回はCLIをやります。 Azure CLI 2.0 | Microsoft Docs とりあえずbrewでやるか % brew update % brew search azure-cli % brew install azure-cli % which az /usr/local/bin/az % az --version pyenv: …

Azureことはじめ

アカウント登録 Microsoft Azure が終わった図↓ Computeリソースの作成 必要な前提作業があった AWSなどと違い、インスタンスへsshするためのIdentityファイルを自分で作成する必要がある ssh-keygen -f ~/.ssh/azure/id_rsa みたいにしてつくった Azureでは…

Cgoを使ったパッケージと「Docker as Bug Report/Reproduce」というOSS運用について

このエントリはGo2 Advent Calendar 2017 - Qiitaの4日目です。 2017年は、着実にエロリツイート先生として実績を上げた1年でした、otiai10です。WETな方もよろしくお願いします。 Cgoを使った文字認識ライブラリがv2になりました Go言語には、Cgoという、…

人工知能とか機械学習とかニューラルネットワークとかディープラーニングとかぜんぜん分からんのでインターネットかき集めてざっくり理解したリンク集とまとめ

人工知能 / Artificial Intelligence / AI ? 機械学習 / Machine Learning / ML ? 神経回路網 / ニューラルネットワーク / NN ? 深層学習 / ディープラーニング / DL ? 実施したルール 読み始めたら途中で投げない わかんなくてもとりあえず最後まで読む…

【Go言語】準標準のWebSocketパッケージを使ったミニマムなチャットのサンプル

go

をつくって、こういう知見がたまったよ、みたいなの書こうと思ったんですが、Goの準標準パッケージである golang.org/x/net/websocket が便利すぎて「あ...できたわ」以上の感想が無いっていう現象になりました。 成果物はこちらです。ご査収ください。HTML…