2019年10月20日日曜日

BabelとES ModulesとNode.js v12

突然ですが、JavaScriptで↓以下のようなコード↓を考えてみましょう。
for (const x of [1, 2, 3]) {
  console.log(x);
}
これを↓以下のような.babelrcの設定↓で変換してみましょう。
[
  "@babel/preset-env",
  {
    "targets": {
      "node": "8.5.0"
    },
    "useBuiltIns": "usage",
    "corejs": 3,
    "modules": false
  }
]
すると↓こうなります↓。
import "core-js/modules/es.array.iterator";

for (const x of [1, 2, 3]) {
  console.log(x);
}

2019年10月13日日曜日

Node.js v12のES Modules

Node.js v12ではES Modulesの挙動が変わるよ、という話。

2019年10月6日日曜日

Install SSH key action v1.3.0を公開しました

先日公開したGitHub Actionsの神actionInstall SSH Keyの新バージョンを公開しました。

2019年9月29日日曜日

value-schema v2.2.5を公開しました

以前node-adjusterから名称変更したvalue-schemaの最新バージョンがリリースされました。

2019年9月22日日曜日

GitHub Actionsでシェルスクリプトからrsync over SSHしたい

背景はこうです。
  • GitHub上でウェブアプリケーションを開発している
  • GitHub ActionsでCI/CDを設定している
  • 何らかのトリガー(リリースタグの作成等)で、開発環境や本番環境にデプロイしたい
  • デプロイ用シェルスクリプトを自前で用意している
    • シェルスクリプト内でSCPやrsync over SSHなどを実行している
このとき、SSH鍵がGitHub Actions側にないとデプロイができないよね、という話。

2019年9月15日日曜日

粛清しないソート

少し前、ソート業界ではスターリンソートというO(n)のソートではない何かが話題になっていたようです。

繰り返しますが、これはソートではない何かです。

というわけで、O(n)のちゃんとしたソートについて、アルゴリズムの概要と実装例をまとめてみました。

いろいろな制限(主に値の範囲)があるので汎用的なものではありませんが、定義域が特定の値に絞られているという状況はかなりあるので、場合によっては役立つものです。

2019年9月8日日曜日

とあるランサムメール

知人(ITには詳しくない)から「下記のようなメールが先日届きました。ちょっと怖いのだけど、なんだろう?」と相談が来ました。