2018年

Heroku 上にリリースしたアプリケーションを 閉塞 / 停止 / 削除 する 方法

今回は「Heroku上にリリースしたアプリケーションを 閉塞 / 停止 / 削除 する方法」についてまとめます。 目次 アプリケーションの閉塞 アプリケーションの停止 アプリケーションの削除 アプリケーションの閉塞 「閉塞」なので実際は裏側で稼働していて、表からは入れないという状態にします。 いわゆる「メンテナンスモード」と呼ばれる状態にします。 「閉塞」時にアクセスすると以下のような画面が表示されます。 では、具体的な閉塞手順ですが、以下のコマンドで切り替えられます。 メンテナンスモード有効化 heroku maintenance:on メンテナンスモード無効化 heroku maintenance:off アプリケーションの停止 「停止」はアプリケーションサー ...

Heroku 上にリリースしたアプリケーションを 更新 / ロールバック する方法

今回は「Heroku上にリリースしたアプリケーションを更新 / ロールバック する方法」についてまとめます。 目次 アプリケーションの更新リリース リリース履歴の確認 ロールバック 更新リリース Heroku は Heroku 上の Git に変更をプッシュすればアプリケーションの更新ができます。 Heroku へのプッシュは git push で行います。 プッシュするとすぐデプロイ/リリースが走ってしまう点は注意です。 > git push heroku master ... remote: -----> Launching... remote: Released v5 remote: https://dry-ravine-29304.herokua ...

Heroku 上 に Node.js アプリケーション を リリースする 方法

今回は「Heroku 上に Node.js アプリケーション をリリースする方法」についてまとめます。 目次 概要 ツール類のインストール リリースしたいアプリケーションの準備 Heroku上にGitリポジトリを作成 デプロイ & リリース 動作確認 概要 Herokuへのリリースは git push で行えます。 ここではそこに至るまでの手順を順に見ていきます。 大まかには以下のような手順で進めていきます。 前提となるツール類のインストール リリースしたいアプリケーションの準備 ローカル/リモートのGitリポジトリの準備 デプロイ & リリース 動作確認 ツール類のインストール デプロイに利用するツールは以 ...

Heroku とは

今回は「Heroku」の "サービス概要" と "特徴" についてまとめます。 目次 Heroku とは 特徴 Herokuとは Heroku(ヘロク) は Salesforce が提供する PaaS です。 インフラやサーバー、OS、ミドルといった物理環境からミドルまでの組み合わせをサービスとして提供しているものになります。 Herokuで提供されたインフラやOS上に開発したアプリケーションを展開することで一般にアプリケーションを公開して運用することができます。 つまり、Herokuを利用すると「開発したアプリケーションの一般公開(構築、運用)」ができます。 利用可能なプログラミング言語は以下の通りです。 Node.js Ruby Java PHP Py ...

デプロイ / リリース 手法 まとめ

今回は「クラウドサービスへのデプロイ・リリース手法」についてまとめます。 「ゼロダウンタイムデプロイ (Zero Downtime Deployment)」が言われるようになり、様々なデプロイ・リリース方法が出てきました。 そこで今回はデプロイ/リリースの手法についていろいろと調べてまとめてみました。 サイトによって「リリース」と「デプロイ」が混在して記述されている感じもありましたが…「デプロイ」の記載が多かったので今回は「デプロイ」で統一しました。 なお、デプロイとリリースの違いについては 「ビルド / デプロイ / リリース / ロールバック の 意味や違い」 にまとめているので参考にしてください。 目次 デプロイ/リリース方法を分類してみる サービス停止 & デプロイ シンボリックリンク切り替え ...

ビルド / デプロイ / リリース / ロールバック の 意味や違い

今回は「ビルド / デプロイ / リリース / ロールバック」について覚書です。 「ビルド」と「デプロイ」はあまり気にせず似たような意味で使っていましたが、明確に異なる意味で使っている人がいるようなので関連する用語も含めて今一度整理してみました。 目次 ビルド デプロイ リリース ロールバック ビルド ソースコードをコンパイルやライブラリのリンクを行って実行可能ファイルを生成することです。 クライアントアプリであればそのまま実行できますが、Webアプリであれば専用サーバーにデプロイやリリースが必要になってきます。 デプロイ 「デプロイ」とは、ビルド済みの新しい実行可能ファイル(Webアプリケーションなど)を専用の実行環境(ステージン ...

正規表現 の 実行エンジン

今回は「正規表現 の 実行エンジン」についてまとめます。 目次 実行エンジンの種類 実行エンジンの基本原則 NFA 実行エンジンの動作 実行エンジンの種類 正規表現の実行エンジンには大きく以下の2種類が存在します。 DFA (決定性有限オートマトン。Deterministic Finite Automaton。) NFA (非決定性有限オートマトン。Nondeterministic Finite Automation。) 以下でそれぞれについて特徴と実装しているプログラムを見ていきます。 主な特徴 DFA DFAは、文字列を走査中に現在可能性のあるすべてのマッチを管理しながら合致する文字列を探していきます。 その仕組みは「文字列を軸にマッチする文字列を探す」ものに ...

正規表現 記法 まとめ

今回は O'Reilly の「正規表現」をもとに「一般的な正規表現の使い方」についてまとめます。 さまざまな言語を集約すると「一般的に正規表現ではこんなものが使えるよ」といったまとめになっています。 なので、言語やフレームワーク、利用するツールによって使える機能や使い方が微妙に異なるので、具体的なものは各リファレンスを参照してください。 目次 単一文字 ドット 文字クラス 文字クラスの略記 エスケープ文字 Unicode文字プロパティ キャプチャ グループ化して後方参照 グループ化のみ 名前付き ...

ECMAScript 2018 (ES9) まとめ

今回は「ECMAScript2018 (ES9)」についてまとめます。 今回の大きな修正は「正規表現」です。 正規表現に新たなフラグや機能が追加されました。 目次 文字列 テンプレートリテラル 正規表現 sフラグ uフラグ 名前付きキャプチャ 後方参照 式と演算子 残余プロパティ / 分割プロパティ Promise.prototype.finally() 非同期イテレータ 対応状況 ...

ECMAScript 2017 (ES8) まとめ

今回は「ECMAScript2017 (ES8)」についてまとめます。 目次 Object Object.values() / Object.entries() Object.getOwnPropertyDescriptors() String String.prototype.padStart() / String.prototype.padEnd() Function 引数末尾のカンマ async / await キーワード SharedArrayB ...

ECMAScript 2016 (ES7) まとめ

今回は「ECMAScript2016 (ES7)」についてまとめます。 ECMAScript 2016 (ES7) ではあまり機能追加されず、以下の2点だけ追加されたようです。 といっても、どちらも利用シーンは多そうな機能なのでぜひ覚えておきたいものです。 目次 Array.prototype.includes() 指数演算子 対応状況 Array.prototype.includes() 今まで配列要素に指定した要素が含まれているかどうかを調べようとすると .indexOf() の戻り値が 0以上 であることを確認していました。 これだとコードで意味が分かりづらいので .includes() で読みやすくしようといった流れです。 構文 arr.includes(searc ...

Excel VBA で Globファイル指定 を 利用する 方法

今回は「ExcelVBA で使える Glob ユーテリティ」についてまとめます。 VBScriptにありそうでなかった Glob ユーテリティ を作成したので、その解説と使い方についてまとめておきます。 このクラスを利用すると、Glob形式で指定したフォルダ配下のファイルや特定文字列を含んだファイルの絶対パスの一覧を取得が簡単にできます。 目次 Globとは 使い方 利用までの準備 指定方法の例 ソースコード Globとは ファイル検索などで利用される、ワイルドカードなどを使ったファイル名の指定方法です。 拡張子が 「xlsx」であれば「*.xlsx」といった指定で検索できます。 任 ...

VBScript で Access を操作する方法

今回は「VBScriptでAccessを操作する方法」についてまとめます。 目次 アプリケーションの起動/終了 データベースへ接続/切断 テーブルの操作 テーブル作成 テーブル削除 インデックス作成 レコードの操作 データ選択(SELECT) データ追加(INSERT) データ更新(UPDATE) データ削除(DELETE) アプリケーションの起動/終了 インスタンス生成することで起動し、Quit を実行することで終了できる。 Su ...