水底

ScalaとかC#とかネットワークとか

ansibleで環境変数の利用

認証情報を 雑に 渡したかった (※環境依存であまりよくないので, 良い子はansible vaultやファイル分割で扱いましょう). ローカル (Controller host) の環境変数 "{{ lookup('env', 'XXX') }}" リモート (Remote host) の環境変数 "{{ ansible_env.XXX }}" …

ScalaMatsuri 2018に参加してきた

参加してきましたのでメモ書き程度に. Training Day, Day1, Day2行ってきました.

続・Dottyによる変更点

以前以下のようなDottyに関する記事を書きました. amaya382.hatenablog.jp それから暫く経ち, 多くの更新が入ったため新しくまとめました. 公式ドキュメントだけでなくあちこちにちらばった情報を集めています. 過去記事と同じくあくまで真新しい機能のみに…

最短でQEMUを使っていろんなアーキテクチャの環境を手に入れる

Hivemall/xgboostのテストで使おうとしたけど結局使わなくなったので供養. QEMU全然分からんのでもっと良い方法やオプションがあったら教えてほしいです. 特定のアーキテクチャをちょっと試したいときにOSのインストールとかを考えたりするのは面倒なので, …

Scalaの入門書を書きました

Scalaの入門書がないない言われ続け早n年. この度「Scalaをはじめよう―マルチパラダイム言語への招待―」というScalaの入門向けの本を書きました. 2/16に発刊となりました. 最初は「Scala Tour」という同人誌として執筆し, α版をC92, 正式版を技術書典3にて頒…

散々既出で今更だけどmacOSデフォルトのgrepがめちゃ遅だった

(あまりに内容が雑なのでポエム扱いで) そこそこデカいファイルを扱っていたら気になったのでメモ. 一時期 grepが10倍速くなった と話題になったりしてましたが自分のユースケースでは最大2,000倍程度の速度差がありました (記事の内容とは関係ない部分のよ…

`docker exec -it` を便利にしたかった

Dockerコンテナ弄りにはみんな大好き docker exec -it (まさかSSH使ってませんよね…?). docker exec -it $container_name $shell_name とすることでコンテナ内に入ってインタラクティブシェルを使うことが出来ます. ただし基本的にコンテナ内には素のシェル…

エイリアスを無視してコマンドのフルパスを取得するだけ

例えば .bashrc や .zshrc で ls の利便性を上げるために alias ls='ls -G' といったようにエイリアスを張っているとします. この状態で ls コマンドのフルパスを取得するため which ls や type ls を実行するとフルパスではなく ls: aliased to ls -G のよ…

ISUCON7本戦は惨敗でした

最後の学生枠チャンスが… 問題解説は公式に譲るとして次回に向けて覚えていることをメモ. 特に有益な情報はないです.

欲しいもの

見かけたら教えてください ノートパソコン MUST 13-15inchi メモリ16GB CPU: HQ以上 ペン入力 (w/ 筆圧) SSD 2K以上の解像度 SHOULD 〜2.0kg メモリ32GB hot pluggable eGPU JP配列 or 短スペースキー・最下段キー多めの配列 トラックポイント 生体認証 LTE …

技術書典お疲れ様でした & BOOTHでScalaTourを販売します

技術書典お疲れ様でした. 技術系個人サークル「かいていどうくつ」としてScala入門本のScala Tourを片手に参加していました. ISUCON2日目と被るわ台風来るわで大変でしたが来てくださった方ありがとうございました. 頒布していたScala Tourですが, 若干数で…

ISUCON7予選通過できた #ISUCON

isucon.net やったぜ! ISUCON5とISUCON6はScala界隈の方とScalaで突破しようとして一般枠で撃沈していたのですが, 今回はチーム「チーム名を考えるのが苦手すぎる」として OUCC の老害組 (@spring_raining, @susisu2413) と人生最後の学生枠を初利用して最…

Scala2.13からの新しいコレクションライブラリ

今更 もうProposalが出されてから暫く経っていますが今更軽く確認したのでメモ書き. 特に大した内容はないです. ちゃんと知りたい方は SCALA 2.13 COLLECTIONS REWORK や ソース を読んで下さい. 過去にScala2.8でも一度Scalaのコレクションライブラリは大き…

日本語版PhotoshopやIllustrator (CS6) を英語環境で起動・認証する方法

ライセンスが言語ごとに分かれているらしく単純に起動しようとすると, 例えばIllustratorの場合は 日本語版としてインストールしても「This serial number supports only 日本語. 」と言われてしまい認証してくれません. CCだと自由に切り替えられるんですけ…

Scalaで競技プログラミングするためのTips

競プロ初心者作 気が向いたら更新していくつもり

Scalaで競技プログラミングに入門したかった感想

ただの感想です. 小技集的なのはそのうち別記事でまとめる予定. (追記: まとめた) amaya382.hatenablog.jp

型クラスの雰囲気をつかんでScala標準ライブラリの型クラスを使ってみる回

Scalaで型クラスと言うとScalaz!?となるかもしれませんが, Scala標準ライブラリでも使われています. 提供されている型クラスが意外と知られていない (?) みたいなのでユースケースを交えて簡単にまとめたいと思います. ※ ゆるふわです. 標準ライブラリの範囲…

(※2018/3/17 新しい記事書きました) Dottyによる変更点と使い方

新しい記事を書きました. 本記事を包含します. amaya382.hatenablog.jp Dottyで何ができるようになるのかとその使い方を簡単にまとめたいと思います. 理論的な部分は深掘りしません. 以下ちょっと長め. 調べきれてない点も多々あるので, 抜けや間違いがあっ…

複数のコマンドの出力をまとめてリダイレクトする2つの方法

1. (), {} の利用 (), {} で囲んでまとめてリダイレクト先を指定する. 丸括弧の場合はサブシェルで, 波括弧の場合はカレントシェルで実行される. 例 { command1 command2 } >> log 2>&1 2. exec の利用 exec は現行プロセスを別コマンドのプロセスに置換する…

sh・bash・zsh等, shellの違いでハマりやすい部分とか

前提として sh の実体は環境によって POSIX互換bash (bash --posix) であったり, dash であったり, busybox であったりと様々である (ls -l `which sh` とすれば実体がわかる). 唯一の制約は POSIX互換であること だ (※どこぞの今はなきお行儀が悪いOSを除け…

いい感じの深層学習に関する資料を貼るだけ

Chromeのタブにスタックされつつあったのでメモして閉じる作戦. 折角なので別途読んだものもまとめて追加してる. 理論系中心でふわふわした某プログラマのための技術情報共有サービスのようなソースはなし. 基本的に最新の事柄を扱っているもの. 結構重複が…

Alpine Linuxでユーザやグループを追加・修正・削除する

Alpine Linux 3.5+ をお使いの方 おめでとうございます!今すぐ apk add shadow しましょう. 他のディストロ同様の useradd・usermod・vipw といった 様々なコマンド がお試しいただけます. Alpine Linux ~3.4 をお使いの方 残念ながらbusyboxによる adduser…

Docker Composeでビルド時に任意のイメージ名を指定する方法

公式リファレンスを見ても分かりづらいのでメモ. Docker Compose経由でビルドされたデフォルトイメージ名は {プロジェクト名}_{サービス名} となる (デフォルトプロジェクト名はディレクトリ名だが, コマンドラインオプション -p から指定可能). 例えば以下…

既存環境に手を加えずにサクッとHTTPS化する (NAT配下でもok)

いい加減やらないとなーとn年思いながらも放置していた案件. 結論から言うと↓を使うだけ. github.com 得られるもの HTTPS化 (DV by let’s encrypt) 無料 ずっと使える (let’s encryptの証明書には90日の期限があるが, 自動的に更新してくれる)

Gitで気をつけるべき設定

大体デフォルトで問題ないが, 気をつける必要がある設定がいくつかあるのでメモ.

MP4をストリームで扱う場合の落とし穴

MP4コンテナの仕様上, ストリームとして読み込ませるとうまく扱えない. cat video.mp4 | ffmpeg -i pipe:0 ... といった形で扱うと Error while decoding stream #0:1: Invalid data found when processing input として怒られてしまう. 素直に別コンテナを…

Chinachu γ, Mirakurun and Encoder on Docker

タイトル通り. 過去にも似たようなことをやったり, 公式実装が公開されたり と, これらを使ってきたが, やはりどうにも使い勝手が悪い部分が多かったので作り直した (宿命). github.com 基本的には公式実装をベースとしているが, 破壊的な変更や機能追加が多…

#ScalaMatsuri に参加してきました

タイトル通りです. 2年連続. 関西から. 以下ほぼ一言コメント.

IllustratorやPhotoshop(CS6)をHiDPI対応させる

タイトル通り. 前々から高解像度ディスプレイで利用する時にIllustratorやPhotoshopのメニューが非常に小さくなって困っていました. CCからは公式でHiDPI対応していますが, CS6は対応されずどうしようもないと思っていたんですが… (※ Creators Update後に利…

Scala糖衣構文の罠

ScalaMatsuriで糖衣構文について話そうとしてその導入部分に使う予定だったものを昔に書きなぐっていたので(CFP落ち). あくまで特異な一例です 糖衣構文の罠 1つScala界の一部で有名な(?)期待を裏切るサンプルを紹介する