北海道苫小牧市出身の初老PGが書くブログ

永遠のプログラマを夢見る、苫小牧市出身のおじさんのちらしの裏

トレイト境界の F: FnMut(u8) -> bool という記法について

rust で where の中でトレイト境界を書ける。そして、クロージャはトレイトで実現されている。ってことなんだけど、クロージャを表す型変数のトレイト境界の書き方はなんとも気持ちが悪い。 struct Cacher<T> where T: Fn(u32) -> u32 { calculation: T, value:</t>…

VSCodeからWSL上のRLSを使うメモ (2)

ある朝突然、 cargo test が VSCode Insiders から呼べなくなった。これを踏んでた。どうやら昨日の夕方に 1.36.0-insider がアップデートされて壊れたようだ(アップデートされた記憶はあまりない)。 github.com 以下に従って5月のビルド 1.35.0-insider …

VSCodeからWSL上のRLSを使うメモ

悲しいことにうまく動せていない。時間が解決してくれる気はする。 その1. Remote WSL環境 開発者版 VSCode insiders が必要。 VSCode とは別のアプリとしてインストールできるので気にせず入れて良い。Remote WSL 拡張を入れればそれで終わり。 その2 で使…

dockerで古いバージョンのperlを使う

Docker Hub に perlのイメージ が上がっていて便利なのだけど、残念ながら 5.24 までしかない。検索してみたけど他に良さげなイメージもなかった。 仕方がないので 自分でビルド をして上げておいた(自分で使う用)。幸い、以下のリポジトリにいい感じの Do…

LTSのubuntuを16.04から18.04へアップグレードした

以下に書いてあるとおり。 wiki.ubuntu.com 基本的に sudo do-release-upgrade を叩いただけ。sshd の config を置き換えていいかみたいなことを聞かれたので、触った覚えがないので不安を覚えつつ置き換えた。後は、質問に答えながら延べで数時間放置してい…

minillaは便利

songmu さんの WEB+DB の記事を読むのが良い。 gihyo.jp リリーステストで、 Hoge.pm requires 5.010 due to explicit requirement で死んだときは Perl version 指定が正しいか確認する。 // とか使ってると 5.8 系はサポートできないというか、流石に 5.8 …

CircleCIのsave_caheするPATHとdocker imageの相違

.circleci/config.yml に以下のように書いておいたら、ある時からキャッシュが効かなくなってハマった。 version: 2 jobs: build: docker: - image: perl:5.28 steps: - checkout - restore_cache: key: cacheminil-v1 - run: name: Install Minilla command…

mariadbのdokcer imageの10.2と10.3でmysql.dbが違う

https://hub.docker.com/_/mariadb 10.2 の方では、 MYSQL_USER で test_ データベースを作れない。 mariadb:10.2 の mysql.db 。 MariaDB [mysql]> SELECT Host, Db, User, Create_priv FROM db; +------+--------------+----------+-------------+ | Host …

【朗報】健康になるために酒を辞める必要はなかった

前回の健康診断で、高脂血症のため要治療というショッキングな結果が出た。どうせ医者に行けば禁酒しろと言われると思い、2018年は完全に酒を絶った。本当に一滴たりとも酒は飲んでいない。 そして一年後の健康診断の結果がこちら。 健康診断の結果 変わって…

django.urlsのコードリーディング

django ではURLのルーティングを django.urls パッケージで処理している。このパッケージのソースはなかなか読みにくいので、読むための手がかりを記しておく。 バージョンは2.1を仮定していることに注意1。 クラス階層 django.urls パッケージでは継承もイ…

今日は YAPC::Tokyo 2019 の日です

YAPC::Tokyo 2019 に来ましたので、自分用のメモを残します。 オープニング / @magnolia_k_ さん 拍手の練習 普段は 吉祥寺.pm してます Hokkaido, Kansai, Fkuoka, Okinawa と回ってきた Tokyo に戻ってきた 「報恩謝徳」 恩送り:誰かから受けた恩を他の人…

今日は YAPC::Tokyo 2019 前夜祭 の日です

YAPC::Tokyo 2019 前夜祭 LTソン presented by 吉祥寺.pm に参加予定ですので、自分用のメモを残します。 吉祥寺.pm 提供です トーク4本、LT6本 懇親会参加率が高い 4年続いている #yapcjapan と #kichijojipm 飛び入り歓迎 技術イベントスポンサーやってい…

WSL上でcircleci local executeをするための試行錯誤

ハマったのでメモ。 大前提として、 WSL と Docker for Windows をうまく連携しておく必要がある。 以下のような手順。 qiita.com ただし、 Bash on WindowsでDockerを使えて便利になったけど相対パスを指定すると不具合が出る についてはもっと楽な解決法が…

2018年までのまとめ

年末に書こうと思ってたけど、ニンテンドースイッチで遊んでたら書くの面倒になって書かなかったのだけど、まとめておかないと数年後には忘れてしまいそうなのでメモっておく。 2016年 子守 Haskell入門の執筆開始 12月に Surface Studio を買う 2017年 子守…

python3のmapはリストを返さない

cols_upper = map(str.upper, "a,B,c".split(",")) cols_lower = map(str.lower, cols_upper) for c in cols_lower: print(c) for c in cols_upper: print(c) python2 だと動く。 A B C a b c python3だと動かない。 A B C python3では戻り値がイテレータに…

MariaDBでPythonのmysqlclientモジュールをビルド

昔はそうではなかったようだが、最近は MariaDB のパッケージに mysql_config が入っておらず、そのままでは mysqlclient モジュールがビルドできない。 Mac の場合の対処法はここに書いてある。 stackoverflow.com Ubuntu (on WSL) の場合も基本は一緒。 $ …

今日は "GO GLOBAL" meetup #1 の日です

"GO GLOBAL" meetup #1 に参加していますので、自分用のメモを残しておきます。 コーディング試験Codility運用の実態と実績 / @k0000i さん コーディング試験とは : コンピュータサイエンスの理解度を見る amazon, Intel, EA など 多数の言語に対応。VBとか …

今日は Haskell Day 2018 の日です

Haskell Day 2018 に来ましたので、自分用のメモを残しておきます。タグは #HaskellDay です。 作りながら学ぶHaskell入門 / @igrep さん 会場、懇親会のスポンサーは IIJ 様 (ありがとうございます!) mmlh コマンドで各自進める 課題の自動添削、たまにヒ…

inline-java パッケージを WSL へインストール

ハマってガチャガチャしたので間違いあるかもしれないけどメモ。 まずjavaをインストール。入れるのは default-jdk のほうがいい気もする。 $ sudo apt install openjdk-9-jre-headless $ sudo apt install openjdk-9-jdk-headless jvm パッケージを入れるの…

今日は Roppongi.pm #1 の日です

六本木.pm に来ていますので、適当にメモします。 オープニング 吉祥寺.pm + Okinawa.pm = 六本木.pm 六本木で Okinawa.pm やればいいや 飲食自由、フリードリンク ハッシュタグは #roppongipm ラクダがピンクだった頃の思い出 / @yoshiyuki_kondo さん Cプ…

"アルゴリズムクイックリファレンス" のノート (2)

p.4 の貪欲法。素朴なアルゴリズムよりこちらの実装のほうが楽に思える。 github.com 前回の遅いアルゴリズムとの速度比較。 variance introduced by outliers が大きくていいのかは気になる。貪欲法の方が 2,000 倍以上速いので、むしろ前回の slow の実装…

"アルゴリズムクイックリファレンス" のノート

p.3 の convex hull の素朴解。 https://github.com/hiratara/hs-nutshell-algorithm-examples/blob/master/src/Main.hs 正しいかわからないので、plotしておく(案の定バグってたので修正してある)。 道具は datahaskell に従った。具体的には、乱数に mwc-p…

"The Elements of Statistical Learning" のノート

The Elements of Statistical Learning . chap. 2 supervised learning と unsupervised learning inputs predictors, independent variables, features とも言う outputs responses, dependent variables, targets とも言う quantitative qualitative : 有…

LTS-12.1でhpack-convertコンパイルできないんすよねー

そんなこともあろうかと、forkして lts-12.1 ブランチ用意しておきましたので。 github.com まあ、ただの変換ツールなので、古いLTSでビルドしても構わない気はするけど、新しいマシンだと ghc インストールさせたりするのだるかったので。 ということで、手…

Haskell入門のサンプルコードのLTS-12.0対応

つい半年前に最新のLTSへ対応したばかりなのに、気がつくと LTS-12.0 が出て、 ghc-8.4 を Stack から使えるようになった。コミュニティが活発で、非常にありがたいことである。 ということで、 Haskell入門 のサンプルもLTS-12.0に対応させたブランチを用意…

今日は第15回 Cloud Application Platformアーキテクチャの日です

今日は第15回 Cloud Application Platformアーキテクチャの日です 第15回 Cloud Application Platformアーキテクチャ にお邪魔しています。 Cloud Application Platformアーキテクチャ / asami224 さん ディスカッション用のスライドです Cloud Application …

Dist::Milla で cpanfile に書かれた依存モジュールの解決

チュートリアル にも書いてないし、やった記憶もない。昔からこうだっけ? $ milla listdeps | cpanm 依存モジュールが入ったら、 milla build とか milla test とか。 Test::Pod とか必要だったら、 listdeps に --author とかつければ良い。

windowでGCPのcloud shellを使う

windows の chrome で GCP の cloud shell を使おうとすると、 Ctrl-t, Ctrl-n, Ctrl-w あたりをブラウザのショートカットに食われて発狂しそうになって困ってたんだけど、 SSH for Google Cloud Platform で解決できることを知った。 ちなむと gcloud alpha…

WSLのubuntuにDist::Millaを入れる

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 ..略.. # Dis…

.NETがむずかしい

MSのエコシステムがよくわからなくていろいろ調べている。調べたのはこんなところ。 .NET のランタイム環境は複数ある Windows では、.NET Framework と .NET core macOS では、mono と .NET core mono はCLIで扱える ( mono コマンド) .NET core はCLIで扱…