なっく日報

技術やら生活やらのメモ

Windowsでシェルスクリプト書きたいときはShellJSが使える

久々のブログ更新となります。 シェルスクリプトをWindows用に移植したい・・・という場面でShellJSが便利だったというお話です。 ShellJSとは? github.com Node.jsでシェルスクリプトが書ける!(※実際書くのはJavaScript。APIが限りなくシェルスクリプト…

fishシェルはじめました

これは(ターミナル開発環境のメンテに疲れた|zshの設定に挫折した)人向けにfishシェルをオススメする記事です。 自分がzshで手放せなかった機能達 プラグインマネージャ・・・zgenを使っていました テーマ・・・pureというシンプルなテーマを使っていました …

静的ファイルを配信する場合にはパスにバージョンを含めるのがいいんじゃなかろうか

最近、思っていることを。 なお、バージョンとは言ってますが、Gitのコミットハッシュ値でもUnixタイムスタンプでも何でもいいです 静的ファイル配信パターン WEBアプリで静的ファイルを配信するパターンは以下3つあるんじゃないかとなんとなく思っています…

Windowsを少しでもMacの環境に近づける

最近転職しました。 で、現状、PCがWindowsしかない + VirtualBoxとかVM使う系禁止という縛りがあるわけです。 というわけで最近のWindowsをMacに近づけられないかという記録をば。 Homebrew(Cask)が恋しい Chocolateyというブツがありました。 chocolatey.o…

ターミナル派の人はHyperTermに近いうちに乗り換えると良いかもしれない

HyperTermというターミナルソフトウェアが大変興味深かったので、そのご紹介を。 hyperterm.org HyperTermとは? 公式サイトで JS/HTML/CSS Terminal と謳っている通り Electron + React + Redux製のターミナルです。 他のElectronアプリのご多分にもれず、J…

Presentational and Container Components

yukidarake.hateblo.jp 結構日にちが経ちましたが、まだボチボチ読まれているようなので、この記事の補足など。 Smart and Dumb Components -> Presentational and Container Components medium.com Redux作者の記事ですが、途中で呼び方を変えた模様。 Pres…

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

yukidarake.hateblo.jp yukidarake.hateblo.jp の続きです。 $ date '+%j' 185 だいぶ空いてしまいましたが、185日過ぎてもぼちぼち続けているのでその報告も兼ねて。 気づいたら今年の折り返し地点過ぎてましたね! 3月:モチベーションの低下 中だるみでし…

グローバルでgitフックスクリプトを仕掛けると`go get`がちゃんと動作しなくなる可能性がある

go getが毎回止まるという現象に悩んでいて、その解決策を見つけたので書いておきます。 原因 yukidarake.hateblo.jp これで、通常のGitHubとGitHub Enterpriseとで、メールアドレスを使いわけるということをやっていたのが原因でした。 解決策 残念ですが、…

Visual Studio CodeのKeyBindingをCTRL+Nを↓、CTRL+Pを↑に変更する

しばらくサボってましたが、今日からは再び頑張りたい。。 諸事情により、Visual Studio Codeを触り始めました。 が、違和感を感じたのが各種ウィンドウでCTRL+N、CTRL+Pのキーバインドが効かないこと。 ググッてみたところ github.com ↑のEmacs向けのキーバ…

Mochaで--delayフラグを使って初期化完了までテストを実行しないようにする

--delayフラグ? http://mochajs.org/#delayed-root-suite で知りました。 setTimeout(function() { // do some setup describe('my suite', function() { // ... }); run(); }, 5000); のように書いて、mocha --delay test と実行すると、run()が呼ばれるま…

Perlのワンライナーでよく使うテクニック

あまり時間がないので5分で! ファイルの中身を置換する ↓はカレントディレクトリ配下のJSファイルのfooという文字列をbarに perl -i -pe 's/foo/bar/' **/*.js 例 findと組み合わせたりもできます。 カレントディレクトリ配下のJSファイルのパスを置換をす…

ESLintでファイルの中身によって設定ファイルを切り替える

yukidarake.hateblo.jp の続きで、実際やってみたという話です。 雑なメモですがご容赦ください。 ESLint plugin作成 ここではeslint-plugin-fooとしておきましょうか。 package.jsonとindex.jsを作ります。 eslint-plugin-fooという文字列があれば、.eslint…

SVNの.svnディレクトリを一発で消す

2016年にSVN!? しかも、Subversion 1.7より前の話!? (1.7以降はルートにのみ.svnディレクトリがあるので今回みたいなことは起きない) というのはさておき、困っていたデザイナーさんがいたので救いました (あと、特に目新しい技術ネタもなかったので…

Ansibleのshellモジュールでヒアドキュメントが使いたいときー

が、あると思います。 shellモジュールでヒアドキュメントを使うと・・・ github.com コチラのissueにコメントがありましたが、 - shell: | cat <

Google Cloud Vision APIを試してみた

画像を送ったら、画像の中身を解析して、顔とか物とかを判別してJSONで返してくれるというヤツです。 昼休みにざっくりと触ってみたのでメモ。 下準備 こちらのブログが詳しく、大変参考にさせていただいたのでみてください(雑) syncer.jp ざっくりいうと …

ウチのチームでKPTが根付いた話

本日はあまりにもネタがないため、今所属しているチームでKPTが根付いた話をしたいと思います。 気づいたら1年くらい続いておりすっかりチームの文化になりました(これは本当に素晴らしいことだなと思ってます) KPTとは何か? 振り返りのフレームワークの…

オライリー本を全冊購入するといくらなのか?(ワンライナーバージョン)

コチラを見て、頭の体操程度で。 qiita.com こんなコマンドで curl -s http://www.oreilly.co.jp/catalog/ | perl -lnE 's/.+"price">([\d,]+).+/$1/ && (tr/,//d, $c++, $s+=$_); END{ say "合計 $c冊 $s円"}' 結果 合計 445冊 1533060円 結構増えてますね。

Reflect.applyとFunction.prototype.applyの速度を計測してみた

ESLintのprefer-reflectというルールをONにした 最近、Node.js v6が出たのでバージョンアップがてら、ESLintのprefer-reflectというルールをONにしました。 そして、既存のソースに早速ESLintをかけたところ・・・ 警告ががが 既存のソースに早速ESLintをか…

Invokeを少し触ってみた

Invokeとは? github.com Python製のタスクランナーだそう。make, rake, gulpみたいな。 ↓みたいにタスクを書いて、invoke clean buildみたいに実行できると。 from invoke import run, task @task def clean(docs=False, bytecode=False, extra=''): patter…

Google Cloud DNSで設定ファイルをimport/exportする

Cloud Deployment Manager にはGoogle Cloud DNSを設定する機能がないっぽいですが、代わりにgcloud dnsコマンドが使えそうです。 コマンド例 エクスポート ↓のコマンドを打つと gcloud dns record-sets export -z example-com-zone example-com-zone.yml ↓…

Slackで絵文字をskin-toneを変えた絵文字全てをクリップボードにコピー

本日は時間がないので一発ネタで。 mihyaeru21.hatenablog.com でお見かけしたネタだと思うのですが、ワンライナーでいけます。 EMOJI= no_good perl -E '$a.=":$ENV{EMOJI}::skin-tone-$_:"for 2..6;say$a'|pbcopy クリップボードに入ったモノをSlackに貼り…

ESLintで拡張子をみてテキストをゴニョゴニョできる話

久しぶりにESLintの話題を。 公式ドキュメントに書いてあるのですが、ESLintプラグインでは拡張子毎にprocessorを設定できるそう。 http://eslint.org/docs/developer-guide/working-with-plugins#processors-in-plugins processor is 何? このeslint-plugi…

Github Pages + Markdownで楽々プレゼン生活

qiita.com の記事の内容ほぼままなのですが、 自分的にはライフチェインジングな発見だったのでご紹介。 Github Pagesとremarkを組み合わせるとプレゼン資料作成が捗るよというお話です。 Github Pagesとは? みなさん知っていると思いますが、Github上で、y…

一発ネタ。ワンライナーでDynamic Inventory

このままでは使えないですが、何かのヒントにはなるかもしれません。 GCPなんかで、AnsibleのDynamic Inventoryを使う場合、↓の公式ページによれば http://docs.ansible.com/ansible/guide_gce.html#gce-dynamic-inventory gcp.pyでやるのをオススメしてます…

本日NginxでSSLの設定をする際に参考になったサイト

本日、バックエンドのJenkinsおじさんをSSLで終端させるためにNginxを設定したので、その過程のメモを。 多分、どなたかの参考にはなるはず・・・ Mozilla SSL Configuration Generatorが便利 Generate Mozilla Security Recommended Web Server Configurati…

Jenkinsにdeploy keysをリポジトリ毎に設定するのが面倒くさい

m(__)m yukidarake.hateblo.jp の記事で Host github.com HostName github.com User git IdentityFile ~/.ssh/github-foo.pem IdentityFile ~/.ssh/github-bar.pem みたいに書けばJenkinsの鍵をいちいち~/.ssh/configに追記しないでOKだと書いたけど、これだ…

AnsibleのVaultで暗号化されたファイルを管理する際のベストプラクティス

はじめに Best Practices — Ansible Documentation ↑のAnsible公式ドキュメントのベストプラクティスの中の「Variables and Vaults」という項目に書いてあったことにプラスアルファした内容です。 ある程度わかっている人が検索してくることを想定しているの…

zshオススメのちょっとした設定

本日は公開できるほどのネタがないので、ちょっと開発環境的なモノを書いておきます。 多分、ネタに困ったら少しずつ放出するんじゃないかと・・・ 特定のコマンドの履歴を残さない rmとかlsとか。 ↓の関数を.zshrcに足します。 zshaddhistory() { local lin…

あまり知られていない~/.ssh/configのIdentityFileの挙動

あまり知られてなさそうなのと、自分が完全に忘れていたのでメモっておきます。 IdentityFileの挙動 man ssh_configでみてみると It is possible to have multiple identity files specified in configuration files; all these identities will be tried in…

Google Cloud Deployment Managerの設定ファイルのJinja2形式での書き方TIPS

特に細かい説明はしないので、分かる人がググったときにたどり着いてもらえればと・・・(雑) envを利用してインスタンス名とかを生成 ロール毎のテンプレートとかにnameを動的に生成するために使えそうな技。 ↓のように書けます。 {% set INSTANCE_NAME = …