2017年8月29日火曜日
2017年8月28日月曜日
2017年8月24日木曜日
2017年8月23日水曜日
2017年8月22日火曜日
AWS Lambda + S3 + CloudWatch
2017年8月21日月曜日
OCamlの日本語が文字化け
http://note103.hateblo.jp/entry/2016/07/03/112928
Windowsの日本語が文字化け(エスケープ文字)になってしまうので、上記を参考にしたらできました。
以下2行をターミナルで実行するか、.ocamlinit に書き込めばよいとのこと。
let print_non_escaped_string ppf = Format.fprintf ppf "\"%s\"";;
#install_printer print_non_escaped_string;;
2017年8月18日金曜日
Node.js から Headless Chrome を操作する
2017年8月17日木曜日
Node.js + Headless Chrome
Node.js製画像比較ツール blink-diff
2017年8月11日金曜日
2017年8月10日木曜日
2017年8月9日水曜日
サーバーレスアーキテクチャのパターン別ユースケース
CMSのコンテンツ管理と配信を分離する
ex. Serverless CMS
- 目的:コンテンツ管理と配信の分割とイベント連携
- 説明:コンテンツ管理のワークロードと配信のワークロードのアンバランスさ(投稿はしないがたくさん読まれる、投稿はよくするが読まれない)を解消し、必要なリソースのみ調達するために、CMSで生成・更新されるコンテンツをトリガーで連携して、配信プラットフォームと同期する。配信プラットフォームと分割されたCMSはデマンドベースで利用できればよいためコンテナ化して必要に応じて起動することで、コスト削減だけでなく、セキュリティ的にCMSがつねに攻撃にさらされることを避けられる。
- 実装:WordPressからS3へアップロードするプラグイン StaticPress を用いてコンテンツを生成して配信用のS3やCDNにアップロードする。あるいはそれをサービス化している Shifter を使うことで、WordPressのインスタンス自体を常駐不要にする。
https://speakerdeck.com/digitalcube/serverlessconf-tokyo-2016-shifter
Shifterの例)
AWSのセキュリティ
Firebase と Vue.js
Firebase
チャットなどサーバレスで簡単に作れてしまうサービス6(いわゆるmBaaS).
無料枠もそれなりにあり.ウェブアプリにおいて,以下の機能が活用できる.
・ リアルタイムデータベース
・ ウェブホスティング
・ 認証
・ クラウドストレージ
・ サーバ側での関数実行(いわゆるFaaS)
・ 通知
データベースがNoSQLで癖があるが,従来のdbは一旦忘れて以下のように考えていくと容易である.
・ 仕様:ツリー状に保存される
・ 仕様:参照すると,そのすべての子を含めまるごと取得
・ なるべく表示させる直前の状態に加工してから保存する
・ 基本的に連番は使わない(push()
という関数が用意されている)
詳細はまた後日別記事にしようかとも思う.
ブラウザへのプッシュ通知も対応(2017/08/08現在はChrome, Firefox, Opera Mobileのみ).
JavaScript Firebase Cloud Messaging クライアント アプリを設定する
(Thanks to @koki_cheese !)
FaaSを使ってSSR(サーバサイドレンダリング;ページ内のJavaScriptのサーバ側での描画)もいける.
Cloud Functions による動的コンテンツの配信
Vue.js
手軽に始めて大規模に拡張していくことが容易(プログレッシブフレームワークと呼ばれる).
公式のdevtoolsが便利(Chrome, Firefox).
ツール集やテンプレートも準備されていて,すぐに開発に取り掛かれる(PWAのテンプレートもある!).
もうgulpやwebpackで消耗しない!vue-cliを使ったVue.js開発
Vuefire
文字通り,Vue.jsでFirebaseを使いやすくする.
この章の最初に示したサンプルコードは,これを利用して実現している.
VueFire - Firebase meets Vue.js
vue-material
文字通り,Vue.jsでMaterial Designが容易に使える.
用意されたカスタムhtmlタグを書くだけである.
vue.jsにVue Materialを適用してみた
vue-router
SPA(シングルページアプリケーション;よりネイティブに近い使い心地のウェブアプリ)の開発を容易にする.
個々のページを定義しておいて,リンクを貼るだけである.
動的なURLや,正規表現の活用なども可能.
Vuex
ウェブアプリ内でのデータ共有を容易にする(基本はコンポーネントという単位内でデータを扱う).
上記Vue devtoolsは,Vuexにも対応している.
2017年8月8日火曜日
osqueryでセキュリティログ集計
https://speakerdeck.com/bungoume/oss-securitylog-builderscon2017
2017年8月3日木曜日
CSS 要素が一つだけのリストにCSSを別指定する
<ul>
<li>これ</li>
<li>それ</li>
<li>あれ</li>
</ul>
<ul>
<li>これ</li>
</ul>
2017年8月2日水曜日
2017年8月1日火曜日
javascriptで画像読み込みエラーを検知する
JavaScriptでリダイレクトする場合の注意点
// PCサイト側のJavaScript if ( isMobileDevice() ) { location.href = "http://example.com/sp/index.html"; }
if ( isMobileDevice()) { var redirect_url = "http://example.com/sp/index.html" + location.search; if (document.referrer) { var referrer = "referrer=" + encodeURIComponent(document.referrer); redirect_url = redirect_url + (location.search ? '&' : '?') + referrer; } location.href = redirect_url; }