- raco pkg install racket-langserver できるようになったが、 windows/wsl で体験するような関数のヘルプがポップアップしない。 例えば、wsl vscode では null? にホバリングすると imported from "racket" - online docs 以下の小さいウィンドウが出る。 でも multipass/docker では imported from racket のみ。
- multipass docker racket で Magic Racket language server enable すると 空振りの XQuartz が起動する
- DockerDesktop では docker-compose に ports: [ "8000:8000" ] を入れると公開できない。 docker-compose の設定じゃなく、DockerDesktop の隠れた力でポート公開している感じ。
- (備考, バインドマウントの仕方)
% docker run -it --rm -p 8000:8000 --mount type=bind,source="$(pwd)",target=/workspace hkim0331/racket bash
- doc/2023-09-12.md
- src/2023-09-12.rkt
-
~/Library/Application Support/Code/User/settings.json false にしないとクラッシュってうるさい。
"magicRacket.languageServer.enabled": false,
- doc/2023-09-08.md
- src/2023-09-08.rkt
- c/all_smalls.c
- docker image hkim0331/racket:0.3
- バカと思ってた人たちはやっぱりバカだった。 学生じゃないよ。教員。
- db-test の前後で、本番データベースを退避/復活させる。
Docker, devcontainer の理解がちょっと進んだ。
WSL で dev container
- docker-compose.yml の version 2.2 か 3.3 じゃないと WSL でエラー
- WSL で (define th1 (thread (thunk (load) (run)))) がエラー
- gitignored db.dat
- fixed: セーブが 1 行長すぎ。s/write/pretty-write/
- devcontainer の導入手順をやや細かく。
- raco pkg install date をやめて racket/date を使う
- update db.rkt db.dat がない時、db に () をセットしてスタート。 insert/create 時に db.dat を作成する。
-
link from all to detail
(format "<a href='/detail/~a'>~a ~a ~a" id id datetime subject)
-
db.rkt: (today) returns "yyyy-mm-dd"
-
defined (get "/today")
- defined (get "/detail/:n")
- FIXED BUG: id がセッションを超えてインクリメントする。
- post も (params req 'name) で受け取れる。
- defined (post "/create")
- added bump-version.sh
- 絶対パス (string-append (path->string (current-directory)) "/db.dat")
- renamed scm-db.rkt as db.rkt
- defined (get "/all")
- defineed scm-db.rkt:scm-db-test
- todo.rkt
- defined (rediret url)
- defined (get "/all")
- (make-id) closure (define id (make-id))
- insert 時にエントリーに ('id (id)) を付与。
- provide/require
- update README.md
- make-doc を呼び出しに使わず、insert の内部で処理する
- find の補助関数を find 内部におさめる
- has-key
- raco pkg install
- database ::= document の集まり
- documents ::= entry の集まり
- entries ::= (key entry) でキー、 (val entry) でバリューが取り出せる entry の集まり
- find-all を基本形に。find-one は (first (find-one)) でよい
- module で。provide するのは init, insert, find, list,
- db.rkt find が動くようになった。次は find-all
- Magic Racket の選んで alt+enter はめんどくさい。 それよりも、右上ボタンの Load file in REPL のほうかな。
- to template.html
- windows/wsl docker で動作チェック $ sudo dockerd $ code .
- renamed app-web.rkt -> spin-web.rkt db-scm.rkt -> scm-db.rkt
- dot-pair やめた
- https://zenn.dev/yyu/articles/3f900eaa2aa860 を参考に、 AMD/ARM の docker イメージを作る。 2 台で別々に実行すれば2倍速でできるか。 今回は m64 の buildx で amd/arm のイメージを作った。
- added doc/spin.md and src/web-app-01.rkt
- hkim0331/racket イメージ FROM ubuntu:22.10 add git sqlite libedit2 racket raco pkg install --auto racket-langserver
- Docker Desktop の Recommend fixes は 22.10 を 23.04 にあげろがひとつ。
- pushed to DockerHUB as hkim0331/racket, 724MB
- updated 00-intro.md 作文、もっと作文
- src/03-cons.rkt
- VScode Dev Coontainer: raco pkg install racket-langserver に失敗するが... WindowsWSL だと raco できて、カーソルホバリングで関数の説明がポップアップしたりする。
- macos では raco pkg install racket-langserver が延々と時間がかかって終了しない。 intel mac でやったら途中で止まった。バージョンミスマッチ? windows wsl だとあっさり。windows vscode + magic racket を試してみよう。
- FIXED: README をタイポした。恥ずかしい。
- Teataro, Nanossa, aykz 1,2,3章の途中まで
- Jagaimo
- Nanossan 1,2,3章の途中まで
- Teataro 1,2,3 章の途中まで