なっく日報

技術やら生活やらのメモ

Google Cloud Deployment Managerでimportsを使ったときの嵌りどころ

Cloud Deployment Managerで imports: - path: other.jinja みたいに書いて、他の設定ファイル(.pyや.jinja)をインクルードできる機能があるのですが、 エントリポイントにあたるファイルはYAMLにしないといけません(ドキュメントのどこにも書いてない) 結…

やっぱりCloud Deployment Managerの方がいい気がしてきた

妻から犬を買ったという連絡が来て、それなんてエイプリルフールネタ?と思ったのですが、本当っぽいです。 それはさておき、通勤途中に色々考えたのでメモっておきます。 昨日のエントリの補足的なメモになります。 yukidarake.hateblo.jp AWSのCloudFormat…

Terraformを使っていてGrunt/Gulpのことを思い出してもやもやする話

ちょっと今日もやもやしたことがあるので書き残しておきます。 Terraformが何かの説明はしないので、わかる人は読んでくださいということで。 Cloud Deployment Managerの方が良さそう 最近GCPをTerraformで触ってみているのですが、 cloud.google.com の存…

Expressのapp.useが記述した順で動かない?

基本的には設定した順に動く v4からは公式(http://expressjs.com/en/4x/api.html)にある通り、 Middleware functions are executed sequentially, therefore the order of middleware inclusion is important. つまり、設定した順序でmiddlewareが適用される…

Expressで特定のパスだけ静的ファイルを配信する方法

本日APIを眺めていて、たまたま気づいたのでメモ。 何も考えずにやるなら、fs.readFileで読み込んでres.sendなんですが、最初からAPIがありました。 それはこちらのres.sendFile http://expressjs.com/en/4x/api.html#res.sendFile 使い方(APIまんま) app.…

目標設定面談する人は一度読んだ方がいい「無理・無意味から職場を救うマネジメントの基礎理論」

たまには書評でも。 ↓のKAYACの記事経由で知りました(こちらもなかなかいい話) tech.kayac.com 帰りの通勤電車1時間弱くらいで読破できました。 紹介する本 無理・無意味から職場を救うマネジメントの基礎理論 18人の巨匠に学ぶ組織がイキイキする上下関係…

node-inspectorの代わりになりそうなdevtool

本日も軽く情報の紹介だけ。 devtoolというErectronベースのデバッガを知ったのですが、結構よさ気。 github.com Node.jsのデバッガといえば、下記2つが有名だと思うのですが、 github.com github.com 比較して ChromeのDevToolsを使うのは同じ コマンドライ…

最近のPerlが絵文字と相性が良い件

最近ちょろっとPerlを触った際に、何気に絵文字が出力しやすかったという話です。 v5.16から perldoc.jp にあるように、use charnames;なしで、perl -E 'say "\N{BIRD}"'でが出るようになってました。 出力できる文字は? github.com を参考に #!/usr/bin/en…

Browを使えばAlfredでChrome/Firefoxのブックマークも検索できるようになる

今日、サブPCをセットアップしたので、備忘的にメモ。 問題 Macユーザ、ド定番ツールのAlfredですが、Spotlightのインデックスを使っている?せいか、ブックマークがSafariのモノしか検索できません。 なんとかできないか? 公式の見解 www.alfredapp.com に…

コマンド一発でMacのkeychainに登録されているパスワードを取得する

かなり前の↓の記事等でも書かれている内容なんですが、自分向けにメモ subtech.g.hatena.ne.jp パスワードの登録 security add-generic-password -a ACCOUNT_NAME -w PASSWORD -s SERVICE_NAME でKeychainにパスワードが登録できます。 各オプションの意味は…

ES6の91%の機能が使えるようになるのはNode.js v6からのよう

本日もさっくりと。 github.com にある通り、nodeのmasterには既にv8のv4.9が取り込まれた模様。 V8 JavaScript Engine: V8 Release 4.9 にある通り、DestructuringとかDefault Parametersとかがあるので、ぜひとも使いたいところ。 でも、v4は当然として、v…

Node.jsの標準モジュールのデバッグログを出す

最近書くことがないので、本日も一発ネタで。 http系でエラーが起きて、ログ仕込むのもめんどかったので NODE_DEBUG=http node app.js みたいな感じで、Node.js標準モジュールのデバッグメッセージを出力して解決しました。 多分、↓の記事で見た情報だと思い…

Tmux上で開いたVimだけなぜか<C-s>のキーバインドが効かない

ということが起きたのでその解決手順の流れを記しておきます。 ちなみに、自分の場合、サスペンドをVimの<C-s>に割り当てています。 (tmuxのprefixが<C-z>派なので、サスペンドを<C-s>にしているのです) Tmux上でなく、ターミナルで直接Vimを開いた場合 <C-s>でサスペンドでき</c-s></c-s></c-z></c-s>…

Slackの通知を一時的にOFFにする(Do Not Disturb機能)

以前から、ベルアイコンから一時的に通知をOFFにできることは知っていたんですが、 コマンドからもできるよう(Do Not Disturb機能) 公式ヘルプは↓ get.slack.help 書式 /dnd [時間] 例 /dnd for 15 mins /dnd until 17:00 /dnd until tonight /dnd until t…

tmux-openで選択した文字列をGoogleで検索する

本日も時間ないので一発ネタ。 github.com ですが、ドキュメントには書いてないのですが、設定した検索エンジンで選択文字列を検索できるという機能があります。 詳しくはこの辺の議論をみてもらえれば。 github.com ↓を足すと、copy modeでSを押せばGoogle…

for-ofにはconstが使える

一発ネタ。 for-ofは実はconstでOK。 for (const i of [1,2,3]) { console.log(i) } for-inもいけた。 for (const i in {a:1,b:2}) { console.log(i); } 当然、for (const i = 0; i < 10; i++) {はできません。 参考リンク github.com

SyntasticでVim上のエラーと警告を見やすくする

In Editor Linting with Syntastic から得た情報なんですが。 Syntasticの設定で、 ↓のようにするとサイドバーのエラー箇所が絵文字でいい感じで出るはず(自分の環境のiTerm2だとだめで、ターミナルだといけた) set statusline+=%#warningmsg# set statusl…

expressでkoa.js的な感じに書く方法

koa.jsがあるので、世の中で需要があるかわかりませんが、そういう方法もあるというご紹介。 generatorを使って、同期風に書く方法があるかというお話です。 方法1 co-expressを使う。 github.com こんな感じでソースが書けます。 var fs = require('mz/fs')…

node-mongodb-nativeのAPM(Application Performance Monitoring)のメモ

node-mongodb-nativeのv2からAPM(Application Performance Monitoring)が入ったそうなので、メモっておきます。 APMとは何か? Mongoドライバにいい感じにフックをかけて、モニタリングできるようにしたAPIです。 ココに仕様が github.com Node.js版ドライバ…

JavaScriptのコード品質を可視化する

いきなり結論から言ってしまうと、 platoを使うのがよいでしょう。 github.com platoとは JavaScriptのコードの品質を数値化&可視化してくれるツールです。 blog.asial.co.jp 結構前の記事になりますが、↑の記事がわかりやすいですね。 ↓のような数値が見ら…

monorepo構成のリポジトリでGitのフックスクリプトを仕掛ける方法

今担当しているプロジェクトで、monorepo構成を試しているのですが、 Gitのフックスクリプトを仕掛けるいい方法は何かないか?と思い、調べてみました。 ちなみに、monorepoって何?という方は↓を見てください。 yukidarake.hateblo.jp monorepoのプロジェク…

主人が英語の勉強を始めて60日が過ぎました

yukidarake.hateblo.jp の続き、経過報告です。 引き続きこのタイトルで押し通すことにしますw 方針の転換 roundsquaretriangle.web.fc2.com というサイトを発見したのですが、 英語は言語であり、音声こそがその実体であるという当然の認識にまず立ってくだ…

eslint_d.jsでESLintを爆速にする

github.com いうものがあるのを知りました。 eslint_dというプロセスを常駐させて、ESLintを爆速にするものらしい。 公式ドキュメント曰く、 Yes, it's actually super fast. But the node.js startup time and loading all the required modules slows down…

IdeaVim + JISキーボードで<C-[>を押した際の挙動が変

Vim教からIDEA教への改宗を試みているのですが、その際嵌ったことのメモ。 なお、当方JISキーボードです(これは宗派というよりは成り行きです) 現象 <ESC>キーではなく、<C-[>でエスケープする派なのですが、エスケープできない 解決法 qiita.com が大変参考になりま</c-[></esc>…

ESLintでextendsする設定を動的に変更する

※ 追記:よくよくドキュメントを見てみたら、-c airbnbみたいにオプションでESLintの共有設定の指定もできるそう。なので、この記事は本当に参考程度に。 どこまで使えるかは知りませんが、一応こんなこともできるよというメモ。 github.com ↑みたいな感じで…

2つのESLintの共有設定を見比べる

※追記1:jsondiffpatchを使った方法の方がちゃんと差分を見るにはいいかも ※追記2:--no-eslintrcを足した方が安全(カレントディレクトリにある.eslintrcを読み込まないので) 最初の案 eslint-config-aとeslint-config-bがあるとして .eslintrc-a.yml root…

gitの不要なローカルブランチを一括削除

gutch.hatenablog.com の記事を参考に git branch --merged | grep -v '*' | xargs -I % git branch -d % にて。 現在いるブランチ以外のマージ済みブランチが消えます。 ちなみに、xargsの-I %というオプションを初めて知りました。 これはリプレイサーとし…

yield*って何?

ESLintの↓のルールで初めて知ったのですが、 eslint.org yield*について調べてみました。 何? developer.mozilla.org によれば The yield expression iterates over the operand and yields each value returned by it. The value of yield expression itse…

Node.jsでThreadLocal変数的なやつ2

Node.jsでThreadLocal変数的なモノがないか?ということを再度調べたメモ書きです。 以前、調べた結果は↓。 yukidarake.hateblo.jp 調査メモ 以前調べたnode-continuation-local-storageは健在 github.com Googleの人が作っているzone.jsというモノがある an…

package.jsonのpeerDependenciesについて調べた

諸事情で、peerDependenciesの挙動について調べる機会があったのでそのメモを。 どういう場合に使うのか? docs.npmjs.com なんやかんやで、結局公式ドキュメントが一番参考になりました。 In some cases, you want to express the compatibility of your pa…