[ 目次, 前節, 次節, 索引 ] 2014-03-06 更新 [ 目次, 前節, 次節, 索引 ]
[ 目次, 前節, 次節, 索引 ] 2014-03-06 更新 [ 目次, 前節, 次節, 索引 ]
Dockerでは一般的に次のようなコマンドを実行します。 $ docker run -d -p 8080:80 wordpress この場合、ホストマシンへの8080番へのアクセスをコンテナの80番ポートへつなぐという意味になります。そのためURLとしては、 http://ホストのアドレス:8080/ といったポート番号を使ったサーバアクセスになります。しかしこれはコンテナが増えていった場合にあまり格好良くありません。そこで nginx-proxy を使ってドメインを割り当てたアクセスを行うようにしましょう。 jwilder/nginx-proxy 用意するもの Linuxサーバ(今回はさくらのクラウドでUbuntu 14.04 LTSを使ってます) Docker(今回は1.0.1を使っています) nginx-proxyの実行 まず nginx-proxy を起動します。これはDocker
Perl6 には Grammar という機能があるのですが、これがまた凄いんです。スキャナとトークナイザと処理系が引っ付いている様な物がデフォルトで提供されているんです。 通常はこれらが別の機能として提供されており、プログラミング言語を実装する過程でデータの受け渡しがシームレスではなく、実装を変えたりするのが非常に面倒だったりします。しかしこれが Perl6 という一つの処理系の中で提供されてしまっている為、本来であれば数百ステップくらい掛かってしまう俺言語のコードが50ステップ程度で書けてしまいます。 use v6; grammar SyoboiScript::Grammar { token num { <[0..9]>+ } token ident { <[a..z]>+ } token op { '+' || '-' || '*' || '/' } token exp { <iden
Perl には x 演算子があり、x 3 といった具合に繰り返し回数を付ける事で連続した文字列を簡単に作り出すことが出来る。 say 1 x 3; # 111 say "foo" x 3; # foofoofoo これは Perl5 でもお馴染み。しかし Perl6 の Range は凄い。 say 1 xx 3; # (1 1 1) say "foo" xx 3; # (foo foo foo) 連続した配列要素が作り出せる。それどころか無限リストが作り出せる。 say 1 xx *; # (...) say "foo" xx *; # (...) もちろん無限数列も作れる。 (1 .. *)[^10].perl.say; # (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) fibonacci 数列もこんなに簡単。 (1, 1, *+* ...^ *)[^100].per
git commit --fixup というオプションの存在を最近知って調べた。 ヘルプとリリースノートより "git commit" learned the --fixup and --squash options to help later invocation of interactive rebase. Git v1.7.4 Release Notes --fixup=<commit> Construct a commit message for use with rebase --autosquash. The commit message will be the subject line from the specified commit with a prefix of "fixup! ". See git-rebase(1) for details. 1.7.4 から入って
Mediumでとある記事を高速にスクロールして読んでいたら、さりげなく画像を遅延読み込みしていることを知った。読み込み発火のタイミングがうまいのかあまり遅延読み込みの存在を感じさせないのもすごいと思ったが、プレースホルダー画像の実装方法が良さそうだった。単純に元の画像を幅30px程度まで小さくしてそれをブラウザーにリサイズさせることでぼやけた画像をプレースホルダーとして表示しているだけだが、十分に機能していそうで目から鱗だった。 画像の遅延読み込みはなかなか曲者で、読み込むタイミングやプレースホルダーとしている画像が悪いと大きくユーザーにストレスを与える。プレースホルダーでよく使われるローディング画像は読み込み中のインジケーターではあるが、同時に何か遅いことをやっていますというネガティブな印象も与えてしまう。ユーザーはローディング画像を見るとスクロールを止めなくてはならないのかと感じること
Windows 10ではデフォルトでもいくつか新しいフォントが加わっているが、欧米向けには特別に新たなフォントが提供されている。それらはオプション機能から機能の追加を選択し、ヨーロッパ各国語追加フォントを探してインストールすると使えるようになる。 Arial Nova Georgia Pro Gill Sans Nova Neue Haas Grotesk Rockwell Nova Verdana Pro 追加されるのは以上の6ファミリーだ。Novaフォントはウェイトの充実はあるものの正直期待外れで、Neue Haas Groteskも高DPI環境下なら……という程度であまり魅力的ではない。 その一方でGeorgia ProとVerdana Proはかなりのクオリティに感じる。Georgia ProはGeorgiaが元々優れていたためあまり違いは感じないが、見やすさを失わずにヒゲ(セリフ
nginxのv1.9あたりからOSS版でも使えるTCPロードバランシング機能をmrubyでプログラマブルに制御できるようにngx_mrubyでもサポートしました。 github.com これで、HTTPやHTTP/2だけでなくTCPのロードバランシングでもmrubyによって通信をプログラマブルに制御できるようになったわけです。 nginxのTCPロードバランシング機能は、nginx内部ではstreamモジュールとして、httpモジュールとは別で実装しているため、ngx_mrubyでも一から実装し直す必要がありました。 ということで少し面倒だなぁと思っていたのですが、ちょうど、僕の最近やりたい事としてTCPのロードバランサをもう少しプログラマブルに書きたいというのがあって、色々とTCPロードバランサを探したり、既存のソフトウェアで設定を試行錯誤するよりも、自分でnginxのTCPロードバラン
Now that we understand the possible Bencoded values, we can create a datatype to store them. data BValue = String ByteString | Number Integer | List [BValue] | Dictionary [(ByteString, BValue)] I’m using an Integer to store the number. This will handle both sign and arbitrarily large inputs. We will be converting this to an efficient integer type depending on the context later on. Let’s parse ever
1.合コン 2.邪推 3.あみだくじ 4.小学生に戻って足し算 5.最大公約数の構造 6.最小公倍数の構造 7.仲間を求めて 8.二項演算子とカリー化 9.モノイドと二項演算子 10.カリー化と指数対象 11.集合間の写像 12.集合内の写像(Endomap) 13.グラフ 14.基点付集合 15.集合の圏のまとめ 16.積のまとめ 17.和(余積)のまとめ 18.写像のまとめ
各国で走行実験が始まり、あの(超保守的で慎重な)トヨタまで実験を始めるというのだから、いよいよ現実味がでてきた自動運転車。 自動車が「人間が運転するもの」ではなくなり、自分で走って目的地に着くなんて、ほんとーに未来的です。 最初に実現するのは高速道路上での自動走行だと思いますが、それだけでも日本経済には極めて大きなプラス影響があるでしょう。 なぜなら、 1)人手不足が解消される 日本は今、急激に生産年齢人口が減少しています。働ける年齢の人は、今後の数十年で 1000万人以上、減るんです。 そんな中、物流量が増えたからといって、ドライバーの数を増やすのには限界があります。 「高速道路の起点から終点までは運転手が要らない」時代がくれば、大量の労働者が「高速道路でトラックを運転する」という仕事から解放されます。 これは高速バスでも同じです。 海外から訪れた観光客は、高速バスで東京から京都、大阪ま
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く