From 30ab3fcd1075997e951ad13b2d6d602f263b5ce0 Mon Sep 17 00:00:00 2001 From: "Tomoya Matsuura(MacBookPro)" Date: Wed, 6 Dec 2023 01:36:43 +0900 Subject: [PATCH] changed --- content/Node.jsでスクレイピング.md | 5 ++ ...ustでの評価文脈(環境)のRAIIっぽい実装.md | 31 +++++++++++- ...アート・プログラミング2 リーディングリスト.md | 47 +++++++++++++++++++ package-lock.json | 7 +-- quartz.layout.ts | 7 ++- quartz/styles/base.scss | 1 - quartz/styles/custom.scss | 1 + 7 files changed, 90 insertions(+), 9 deletions(-) create mode 100644 content/Node.jsでスクレイピング.md diff --git a/content/Node.jsでスクレイピング.md b/content/Node.jsでスクレイピング.md new file mode 100644 index 00000000..97ea622d --- /dev/null +++ b/content/Node.jsでスクレイピング.md @@ -0,0 +1,5 @@ +#programming #javascript + +[[puppeteer]]を使うのが一番簡単そう(ヘッドレスを解除することでプレビューしながら実行できるのもいい) + +https://swfz.hatenablog.com/entry/2021/06/11/043825 \ No newline at end of file diff --git a/content/Rustでの評価文脈(環境)のRAIIっぽい実装.md b/content/Rustでの評価文脈(環境)のRAIIっぽい実装.md index 370a6949..5a95ea71 100644 --- a/content/Rustでの評価文脈(環境)のRAIIっぽい実装.md +++ b/content/Rustでの評価文脈(環境)のRAIIっぽい実装.md @@ -1,4 +1,6 @@ -#programminglanguage #compiler-design +#programming-language #compiler-design + +## 動機 [chumskyのチュートリアル](https://github.com/zesterer/chumsky/blob/main/tutorial.md)で、評価する関数の実装がライフタイム付きでこんな感じになってたの頭いいなと思ったので、RAIIにしたらもっとシンプルに見えるのではと思った @@ -102,4 +104,31 @@ fn eval_ast<'a>( } } +``` + + +## 改善 + +微妙だったので結局ライフタイムで制御する方がいいのかもしれない + + +評価した時に、クロージャを作ると環境を保持する + +Valueの中ではクロージャが`Env`と、bodyで`Expr`を保持し、環境はValueを保持するので定義も内部構造も循環することになる + +全部メモリ的にフラットな構造にするためは? + +Envは評価結果のValueをIdで保持する + +一度lookupしたらEnvのインデックスに置き換えて2度目以降のアクセスはキャッシュが効くようにする + +```rust + + +struct Compiler<'a,E,V>{ + expr_pool:Arena>, + env:Environment,V>, + symbols:Interner, +} + ``` \ No newline at end of file diff --git a/content/メディアアート・プログラミング2 リーディングリスト.md b/content/メディアアート・プログラミング2 リーディングリスト.md index f941777f..3f01cf4d 100644 --- a/content/メディアアート・プログラミング2 リーディングリスト.md +++ b/content/メディアアート・プログラミング2 リーディングリスト.md @@ -53,6 +53,9 @@ https://scrapism.lav.io/ [[具体詩]] [[コンクリート・ポエトリー]] +「副科コンピューター」 + +[[Node.jsでスクレイピング]] ## 雑なアイデア @@ -60,6 +63,11 @@ https://scrapism.lav.io/ https://elmcip.net/teaching-resource/digital-genres-digital-art-electronic-literature-and-computer-games-dikult-103-4 +[[Allison Parrish]]の授業シラバス + +https://rwet.decontextualize.com/ +https://catn.decontextualize.com/ +https://eroft.decontextualize.com/ Code poetry @@ -84,4 +92,43 @@ grepとsedだけでなんとかする - プログラムで嘘をつくこと、人を騙すこと - 1日に一個、Googleとかで検索をして、そのページをDLし、部分的におかしなワードに書き換えたものをアップロードし続けるbot - Googleの検索ワードのサジェストからスタートして行ってもいいかも + - インターネット・コラージュという言い換えかた +- 何かを収集すること + - インターネット・フィールドレコーディング + - とにかく集めることで自分の中の偏りを見る + - 何かを作るためにツールを活用するのではなくて、自分を知るためにツールを使う + +インスタレーションのような実演(実行可能性)のある詩、というのとはまた焦点が違う + +詩や日常的な行為の実践が、芸術実践の副次的活動として認識されうること + +プログラムをもとに人間が動く +IOだけが人間の実行できる部分になれば良いので、console.logとかの代わりになる命令を決めれば良い + + +### 課題の案 + +- 手紙を書く +- 日記を作る +- ジェネラティブ・プロフィール +- パラメトリック・ポートフォリオ +- 自分の制作のプロセスをコードとして表現する +- 何かをカットアップする(ダダイスト・ポエム) + - ChatGPTの受け答えを素材とする +- ジェネラティブなインストラクション + - ブライアンイーノのカード(オブリーク・ストラテジーズ) + - 水野渚 メディアアートおみくじ + - + +私的な行為、日常的な行為をどこまで大学の授業としてやるかが微妙だよねー + +- 12/1 lisp作る? +- 12/8 web1(HTMLコラージュ) +- 12/15 web2(スクレイピング) +- 12/22 +- 冬休み +- 1/5 最終課題ゼミ +- 1/12 最終課題ゼミ +- 休講日 +- 1/15(最終回) \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index a8790789..e2b52b42 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@jackyzha0/quartz", - "version": "4.0.11", + "version": "4.1.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@jackyzha0/quartz", - "version": "4.0.11", + "version": "4.1.1", "license": "MIT", "dependencies": { "@clack/prompts": "^0.6.3", @@ -85,7 +85,8 @@ "typescript": "^5.0.4" }, "engines": { - "node": ">=18.14" + "node": ">=18.14", + "npm": ">=9.3.1" } }, "node_modules/@clack/core": { diff --git a/quartz.layout.ts b/quartz.layout.ts index d996a05e..ce08de43 100644 --- a/quartz.layout.ts +++ b/quartz.layout.ts @@ -41,7 +41,8 @@ const graph_cfg = { }, }; export const defaultContentPageLayout: PageLayout = { - beforeBody: [Component.ArticleTitle(), Component.ContentMeta(), /*Component.TagList()*/], + beforeBody: [Component.Breadcrumbs(), + Component.ArticleTitle(), Component.ContentMeta(), /*Component.TagList()*/], left: [ Component.PageTitle(), Component.MobileOnly(Component.Spacer()), @@ -62,6 +63,4 @@ export const defaultListPageLayout: PageLayout = { Component.Darkmode(), ], right: [], -} - - +} \ No newline at end of file diff --git a/quartz/styles/base.scss b/quartz/styles/base.scss index 2e5edec1..60fa40d1 100644 --- a/quartz/styles/base.scss +++ b/quartz/styles/base.scss @@ -1,4 +1,3 @@ -@use "./variables.scss" as *; @use "./syntax.scss"; @use "./callouts.scss"; diff --git a/quartz/styles/custom.scss b/quartz/styles/custom.scss index e2c74c95..1b59e716 100644 --- a/quartz/styles/custom.scss +++ b/quartz/styles/custom.scss @@ -1,3 +1,4 @@ +@use "./base.scss"; :root { --light: #d7eff7; --dark: #284b63;