チュートリアル にも書いてないし、やった記憶もない。昔からこうだっけ?
$ milla listdeps | cpanm
依存モジュールが入ったら、 milla build
とか milla test
とか。
Test::Pod
とか必要だったら、 listdeps
に --author
とかつければ良い。
チュートリアル にも書いてないし、やった記憶もない。昔からこうだっけ?
$ milla listdeps | cpanm
依存モジュールが入ったら、 milla build
とか milla test
とか。
Test::Pod
とか必要だったら、 listdeps
に --author
とかつければ良い。
windows の chrome で GCP の cloud shell を使おうとすると、 Ctrl-t, Ctrl-n, Ctrl-w あたりをブラウザのショートカットに食われて発狂しそうになって困ってたんだけど、 SSH for Google Cloud Platform で解決できることを知った。
ちなむと gcloud alpha cloud-shell も試したんだけど、puttyが Server refused our key
とか言い出して何もできなかった。実にアルファ版らしい。
cloud shell は tmux をデフォルトで有効にしてくれるのだけど、デフォルトではステータスバーを見せてくれないので .tmux.conf
に set -g status on
と書いておいたら見慣れた感じになった。
WSL のubuntuにDist::Millaを入れたときのメモ。plenv、perl5.26.1、cpanmくらいまではすんなり入った。
割と試行錯誤して入れたから、他にも必要かも。
$ perl -v This is perl 5, version 26, subversion 1 (v5.26.1) built for x86_64-linux ..略.. # Dist::Zilla::Plugin::LicenseFromModule からの依存が漏れてそう $ cpanm JSON # SSL関連 $ sudo apt install libssl-dev $ sudo apt install openssl # nonblockingのテスト落ちてるけど諦めた $ cpanm -f --notest IO::Socket::SSL # タイムゾーン設定 $ sudo dpkg-reconfigure tzdata $ cpanm Dist::Milla
MSのエコシステムがよくわからなくていろいろ調べている。調べたのはこんなところ。
mono
コマンド)dotnet
コマンド)
.exe
と .dll
ができるが、Macでは mono
や dotnet
コマンドでランタイム経由で実行する.dll
または .exe
)と同じ粒度。それを、ソリューションでまとめてアプリとしてビルドC#
F#
に関係なく使える)
.fsproj
ファイルとか、他にも必要?dotnet
コマンドが隠蔽しててあまりわかってないなんか間違えてそうな部分もあるなー。そもそも C# と CIL を Java と .class
ファイルだろくらいにしか思ってないのだけど、さきにそっちをきちんと把握すべきなのかもしれない。
せっかくWindowsマシンを使っているのだからMSの開発環境のエコシステムにどっぷり浸かってみたいと常々思っていたのだが、ようやく最近触り始めた。
まず、F#については Beginning F# 4.0 を読んでいる。F#はOCamlをベースにしていると聞いていてずっと興味があった言語。改めて学んでみると、あー、Haskellって後発の強みでsyntax改善されている部分も多いんだなあという印象は受ける。が、まだまだ序盤の面白くない部分なので、もっと読み進めるとがらっと印象が変わりそう。
UnityはWindowsで触る必要はないんだろうけど、C#つながりで興味が出たのでチュートリアルをやってる。
大昔に触ってたSDLやら生OpenGLとは全く違ってGUI作るIDEみたいな感覚になってて、ゲーム開発こんなんになってるのかーって感動がすごい。ローレベルなレイヤを触らずに最初からゲームの中身を考えられるのは魅力的だが、低レイヤでゴリゴリ最適化するのがゲーム開発の醍醐味ではという気もするので、ちょっと複雑な気分ではある。
Visual Studioで開発していた人が他のIDEをめっちゃDISるのを何度も目撃しているので、Visual Studioがどれだけ便利なのか知っておきたいというのもWindowsの開発環境を触り始めた動機である。が、残念ながら今のところ全く美味しさがわかってない。なにか良い資料を探して、それに沿って良い使い方を覚えたほうが良さそう。
スペシャルセッションで、弊社のプロダクト開発の現場について話してきました。
YAPC::Okinawa 2018 ONNASON に参加していますので、自分用のメモを残しておきます。
require
とかをうまく扱うServer-Timing: connect; dur=132, req; dur=0, process; dur=230
Server-Timing: response; dur=11, total; dur=373
webpagetest
, Resource-Timing
, Server-Timing
HPACK
形式で圧縮 ( gzip
ではないのはCRIME攻撃手法を避けるため)Connection: Upgrade, HTTP2-Settings
Upgrade: h2c
101 Switching Protocols
が返ってくる(web socketと同じ)PRI
メソッドを送る。HTTP/1.1サーバが壊れないようなリクエストnghttpd -notls
でサーバを立てておく
Protocol::HTTP2::Client
->new
->request
:
で始まるようなHTTP/2のヘッダ、HTTP/1.1のヘッダ、on_done
AnyEvent
でコネクションを張る。->next_frame
リクエストのフレームを得られるので、コネクションへ push_write
する->feed
へ読み込んだ値を渡すと、 on_done
が呼ばれるAnyEvent
で書かなければならないProtocol::HTTP2::Server
も同様
->new
の on_request
で処理request
を複数呼ぶだけで並列になっているshuvgey
でPSGIのサーバができる(\D|<\d+>)*[!?]
はバックトラック(VM)型の正規表現エンジンと相性が悪い
'a' x 30
に対して結果が戻ってこない ( egrep
は大丈夫)*
の中に +
があること : バックトラックの可能性が増える(a?){22}a{22}
もバックトラック型の正規表現エンジンと相性が悪い
22
の壁、と呼んでない(けど、これがしきい値)X-Kuiperbelt-Endpoint
X-Kuiperbelt-Session
<<-
、 @INC
@INC
に .
がなくなったので、対応が必要<<""
$/ = -1
:unique
:locked
${^SAFE_LOCALES}
dTHX_DEBUGGING
デバッグモードかPerl_setlocale
delete %hash{@keys}
*positive_lookbehind
と説明的に書けたりInline::Perl5
を使えばperl5の資源は使えるけどhttp://hiratara.hatenadiary.jp/entry/2018/03/03/174252
defined
関数でlet Int $foo = 2018
などと指定すると、型制約チェックを入れられるWindows 10がブルースクリーンになったのでメモなしです・・・。
use oist
-Moist
しっとりdonzoko.booth.pm