2017年8月22日火曜日

無料の写真 - Pixabay

jQueryをつかって、中身はそのままでHTMLタグを書き換える | 9ineBB

AWS Lambda + S3 + CloudWatch

紙面ビューアーを支える サーバーレスアーキテクチャ / serverless architecture supports Nikkei's paper viewer // Speaker Deck
https://speakerdeck.com/ikait/serverless-architecture-supports-nikkeis-paper-viewer

IP Address Details - ipinfo.io

OCaml 終了方法

OCaml を終了したいので quit を入力してもエラーが起こって終了できなくて困った。

# quit;; → Error: Unbound value quit

quit の直前に # を付ければよかった。

# #quit;; →OK



2017年8月21日月曜日

OCamlの日本語が文字化け

OCamlのインタプリタで日本語の文字を扱う - the code to rock
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;;

【4日で体験】 TensorFlow x Python 3 で学ぶディープラーニング入門 | Udemy

2017年8月9日水曜日

選ばれる理由 | データベース ソフト「Plusdb」とは | 商品データベース作成ソフト「Plusdb」

サーバーレスアーキテクチャのパターン別ユースケース

サーバーレスアーキテクチャのパターン別ユースケース - yoshidashingo
http://yoshidashingo.hatenablog.com/entry/serverlss-usecases-2017

CMSのコンテンツ管理と配信を分離する

ex. Serverless CMS

  • 目的:コンテンツ管理と配信の分割とイベント連携
  • 説明:コンテンツ管理のワークロードと配信のワークロードのアンバランスさ(投稿はしないがたくさん読まれる、投稿はよくするが読まれない)を解消し、必要なリソースのみ調達するために、CMSで生成・更新されるコンテンツをトリガーで連携して、配信プラットフォームと同期する。配信プラットフォームと分割されたCMSはデマンドベースで利用できればよいためコンテナ化して必要に応じて起動することで、コスト削減だけでなく、セキュリティ的にCMSがつねに攻撃にさらされることを避けられる。
  • 実装:WordPressからS3へアップロードするプラグイン StaticPress を用いてコンテンツを生成して配信用のS3やCDNにアップロードする。あるいはそれをサービス化している Shifter を使うことで、WordPressのインスタンス自体を常駐不要にする。


https://speakerdeck.com/digitalcube/serverlessconf-tokyo-2016-shifter

Shifterの例)

AWSのセキュリティ

AWSのセキュリティが気になるなら読んでおくべきAWSセキュリティのベストプラクティス - yoshidashingo
http://yoshidashingo.hatenablog.com/entry/2014/08/24/211825

Firebase と Vue.js


やばい、iOSにネイティブアプリ要らなくなるかも。SafariもPWAに対応する可能性 - Qiita
http://qiita.com/Yatima/items/b9f1962da1a304dc7604


Firebase

touchicon-180.png

チャットなどサーバレスで簡単に作れてしまうサービス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

logoe.png

手軽に始めて大規模に拡張していくことが容易(プログレッシブフレームワークと呼ばれる).

公式のdevtoolsが便利(ChromeFirefox).

ツール集テンプレートも準備されていて,すぐに開発に取り掛かれる(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月3日木曜日

XSLTでHTML5のDOCTYPEを出力する - reflux flow

CSS 要素が一つだけのリストにCSSを別指定する

通常は連番のリストですが、要素が一つだけの場合は連番無しにしたいときは、
:only-child を使用します。

以下の順序で指定します。

ul li { list-style-type: decimal; ... }

ul li:only-child {
    list-style-type: none; /*リストスタイルなしにします*/
    margin-left: -20px; /*左インデントをリセットします*/
... }


<ul>
<li>これ</li>
<li>それ</li>
<li>あれ</li>
</ul>

<ul>
<li>これ</li>
</ul>



参考
first-childとlast-child、要素数が1つしかない時 - journal de kyart プログラマ/通訳の備忘録

日本語文章のスタイルガイドのまとめ - Qiita

2017年8月2日水曜日

PHPでデータベースに接続するときのまとめ - Qiita

コマンド1つで作れる!かんたん自宅Amazon S3互換環境! - Qiita

簡単にガントチャートとかクラス図とか書けるやつ - Qiita

Electronでよく使いそうなネタの覚え書き

Subject: Electronでよく使いそうなネタの覚え書き - Qiita


2017年8月1日火曜日

javascriptで画像読み込みエラーを検知する

javascriptで画像読み込みエラーを検知する - やったこと
http://absg.hatenablog.com/entry/2015/06/10/161334

JavaScriptでリダイレクトする場合の注意点

リファラー情報を付けてリダイレクトするには、以下を参照。

やはり、お前らのJavaScriptでのリダイレクト実装は間違っている - Qiita
http://qiita.com/1987yama3/items/5ff58b6195fe6c3f268b


通常、このような感じですが、

// 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;  }