[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
最近、妻とドラクエ6をやったりしている。ドラクエを見ていてすごいな、と思う点の1つは (他の RPG でもほとんど実装されているけど) 残 HP が少なくなってくると HP がオレンジ色で表示され、警告される点。これ、すごく便利ですよ。
自前で作っている SWEET とかでもこういうのがあれば便利そうだな、と思いこれを実現するためのツールを作った。
// https://shunshun94.github.io/shared/other/io/github/shunshun94/util/colorutil.js を読み込んでおく必要あり
var colorRater = new io.github.shunshun94.util.Color.RateColor();
colorRater.getColor(100); // => white
colorRater.getColor(0); // => red
colorRater.getColor(75); // => white 25 : 75 red 位の色
colorRater.getColor(50); // => white と red の中間位の色
colorRater.getColor(25); // => white 75 : 25 red 位の色
var colorRater = new io.github.shunshun94.util.Color.RateColor('blue', 'black');
colorRater.getColor(100); // => blue
colorRater.getColor(0); // => black
colorRater.getColor(75); // => blue 25 : 75 black 位の色
colorRater.getColor(50); // => blue と black の中間位の色
colorRater.getColor(25); // => blue 75 : 25 black 位の色
var colorRater = new io.github.shunshun94.util.Color.RateColor({
100: 'black',
80: 'black',
50: 'orange'
});
// =>
// 80までは black だが、50にかけて徐々に orangeになっていき、
// 50を下回ると徐々に red に近づいていく
作ってみて使ってみて思ったけど、オリジナルみたいに途中で唐突に変わる方が分かりやすい気もした。うまくいかないものね。唐突に変わる版もつくるかー……
タイトルが複雑になってしまったが、SSH コマンドでコマンド先の docker container を全部削除したいと考えていた。その際に次のように実行したが、うまくいかなかった。
$ ssh user@target.ssh.example.com -i myKey.pem docker rm `docker ps -aq`
docker コマンドが見つからない、と怒られた上で docer rm の引数となるイメージ名がない、と怒られるのである。
次のようにしたらうまくいった。
$ ssh user@target.ssh.example.com -i myKey.pem docker rm `ssh user@target.ssh.example.com -i myKey.pem docker ps -aq`
つまり `` の間が手元で実行され、その結果が ssh 先のサーバで使うコマンドに渡されていたのである。渡すべき引数もまた、 ssh 先で実行するように指示しなければならなかった。
SWEET の機能追加のために必要になったので調べた。
property の Value を inherit にすれば親要素の色を用いることができる。デフォルト値。
いくつか色の名前が定められており、これらを指定することで簡単に色を指定できる。red や skyblue など。一覧:https://www.w3.org/TR/css-color-3/#svg-color
これもよくある手段。赤の強さ、緑の強さ、青の強さを 16 進数 (00~FF) で指定する。#FFFFFF だと白になる。
3. より単純な方法。赤の強さ、緑の強さ、青の強さを 16 進数 (0~F) で指定する。#FFF だと白になる。
3. に似たような方法。 rgb(赤の強さ, 緑の強さ, 青の強さ) を10進数 (0~255) で指定する。rgb(255, 255, 255) だと白になる。
5. に似たような方法。 rgb(赤の強さ, 緑の強さ, 青の強さ) を割合 (0%~100%) で指定する。0%なら0だし、100%なら255。rgb(100%, 100%, 100%) だと白になる。
CSS3 で追加された指定方法。 hsl(色相, 彩度, 輝度) を指定する。彩度は灰色 (0%) ~ 純色 (100%) を表現し、輝度は 黒 (0%) ~ 純色 (50%) ~ 白 (100%) を表現する。色相が純色がどんな色なのかを色相環の角度で表現する。配色を考えるのが面倒ならhsl()を使おう - Qiita の解説や図が分かりやすい。hsl(90, 100%, 50%) だと yellow になる。
rgba(赤, 緑, 青, 透明度) というように上述 5, 6 の記法に追記することで透明度を加えることができる。0だと完全に透明。1だと完全に不透明。数字が大きい方が不透明になるので不透明度、という方が正しい気がする。
hsla(色相, 彩度, 輝度, 透明度) というように上述 7 の記法に追記することでも透明度を加えることができる。
Tantek Çelik, Chris Lilley and L. David Baron. CSS Color Module Level 3. 7 June 2011. W3C Recommendation. URL: https://www.w3.org/TR/css-color-3/
前にlocalStorage の内容をすべて書き出すという記事を書いたが、実装してみた。こんな感じである。
作っているアプリ SWEET の機能要望として挙がっていたので作ってみたのだが、実用性についてはどうだろう、という感じ。エクスポートしたファイルを他の場所でインポートするって結構面倒だからなぁ……ブラウザのアカウント (Google とかの) にログインしたらそれを共有出来たりすれば便利なんだろうけど。
[Node.js] 無料で簡単にウェブアプリを公開できるサービス「Glitch」を使ってみた! - Qiita を見て「へぇ、こんなのもあるのか」と思いもう少し見てみた。Glitch が何なのかの概要は先の記事のタイトルを見れば分かると思うので省略する。
「無料」「ウェブアプリを公開」となるとちょっとやはり気になるのが制約や課金プラン。これについては Glitch – Frequently Asked Questions に記載がある。私が以下に翻訳してみた。原文は以下に引用しているとおりであり、この記事を書いている時点 (2017年11月26日) での内容に基づく。
Glitch is free to use. There are some resource restrictions and we expect to charge for premium services or capabilities in the future, but the stuff you can do now will stay free.
Glitch は無料で利用できます。ただ、いくらかのリソース制限があります。また、将来的にはプレミアムプランや追加機能への課金を提供することを考えています。しかしながら、今利用できる機能は今後も無料です。
While we want to keep Glitch as open as possible, there are a few restrictions in place. These are there to help maintain service levels for all, and to stop someone’s accidental infinite loop somehow costing us a small fortune. The restrictions include:
- Projects created by anonymous users expire after 5 days (login via GitHub or Facebook to keep your projects around).
- Projects sleep after 5 minutes if they are not used.
- Projects are limited to 4000 requests per hour, with a burst of 4000 requests (subsequent requests will return a 429 "Too Many Requests" response).
- Projects have a limit of 128MB of space on the container (though things written to '/tmp' don't count towards that, and we use compression to squeeze the most out of that space). As well as up to 512MB of assets storage.
- Projects only show up to 100 files in the file tree, the rest get hidden from view but still exist. Using `.gitignore` to temporarily remove some files from view can help work around this.
- Similarly, files above 200kb are hidden from the file tree (but still exist), and you're unable to paste data into the editor above that size too.
If you get stuck because of these limits, then let us know and we'll try and work something out for you.
我々 (運営) は可能な限り Glitch を開かれたものにし続けたいです。全ユーザのためにサービスレベルを維持し、誰かのうっかりで発生した無限ループを止めるといったことを最小限のコストで達成するために、以下のような制限をここでは課しています。
- 匿名ユーザによって作成されたプロジェクトは5日で消されます (Github や Facebook でログインすることでこれは維持できます)。
- 5分以上利用されていないプロジェクトはスリープ状態になります。
- 1時間につき、4000リクエストが上限となります (それを超えた場合、リクエストに対して 429 Too Many Requests を返します)。
- 1プロジェクトあたり、128MBのディスクスペースがコンテナ上に用意されます (ただし、 /tmp に配置したものについてはこの制限に含まれず、ディスク上のファイルは圧縮されます)。最大で512MB のストレージが利用できます。
- プロジェクトのファイルツリーに表示できるファイル数は100までです。ただし、ファイルそのものが存在できないわけではありません。 .gitignore を利用することで、一時的に隠すことができるので、それを上手く使って表示してください。
- 同様に、プロジェクトのファイルツリーには200KBを越えてファイルを表示することはできません。また、200KBを超えるデータをエディタに貼り付けることはできません。
これらの制限によって困った場合、Glitch Support で相談してもらえれば何か助けられるかもしれません。