changed
This commit is contained in:
		
							
								
								
									
										5
									
								
								content/Node.jsでスクレイピング.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								content/Node.jsでスクレイピング.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					#programming #javascript
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[puppeteer]]を使うのが一番簡単そう(ヘッドレスを解除することでプレビューしながら実行できるのもいい)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					https://swfz.hatenablog.com/entry/2021/06/11/043825
 | 
				
			||||||
@@ -1,4 +1,6 @@
 | 
				
			|||||||
#programminglanguage #compiler-design
 | 
					#programming-language #compiler-design
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 動機
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[chumskyのチュートリアル](https://github.com/zesterer/chumsky/blob/main/tutorial.md)で、評価する関数の実装がライフタイム付きでこんな感じになってたの頭いいなと思ったので、RAIIにしたらもっとシンプルに見えるのではと思った
 | 
					[chumskyのチュートリアル](https://github.com/zesterer/chumsky/blob/main/tutorial.md)で、評価する関数の実装がライフタイム付きでこんな感じになってたの頭いいなと思ったので、RAIIにしたらもっとシンプルに見えるのではと思った
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -103,3 +105,30 @@ fn eval_ast<'a>(
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 改善
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					微妙だったので結局ライフタイムで制御する方がいいのかもしれない
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					評価した時に、クロージャを作ると環境を保持する
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Valueの中ではクロージャが`Env`と、bodyで`Expr`を保持し、環境はValueを保持するので定義も内部構造も循環することになる
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					全部メモリ的にフラットな構造にするためは?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Envは評価結果のValueをIdで保持する
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					一度lookupしたらEnvのインデックスに置き換えて2度目以降のアクセスはキャッシュが効くようにする
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```rust
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct Compiler<'a,E,V>{
 | 
				
			||||||
 | 
						expr_pool:Arena<Expr<'a>>,
 | 
				
			||||||
 | 
						env:Environment<Intened<String>,V>,
 | 
				
			||||||
 | 
						symbols:Interner<String>,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
@@ -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
 | 
					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
 | 
					Code poetry
 | 
				
			||||||
@@ -84,4 +92,43 @@ grepとsedだけでなんとかする
 | 
				
			|||||||
	- プログラムで嘘をつくこと、人を騙すこと
 | 
						- プログラムで嘘をつくこと、人を騙すこと
 | 
				
			||||||
	- 1日に一個、Googleとかで検索をして、そのページをDLし、部分的におかしなワードに書き換えたものをアップロードし続けるbot
 | 
						- 1日に一個、Googleとかで検索をして、そのページをDLし、部分的におかしなワードに書き換えたものをアップロードし続けるbot
 | 
				
			||||||
	- Googleの検索ワードのサジェストからスタートして行ってもいいかも
 | 
						- Googleの検索ワードのサジェストからスタートして行ってもいいかも
 | 
				
			||||||
 | 
						- インターネット・コラージュという言い換えかた
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- 何かを収集すること
 | 
				
			||||||
 | 
						- インターネット・フィールドレコーディング
 | 
				
			||||||
 | 
						- とにかく集めることで自分の中の偏りを見る
 | 
				
			||||||
 | 
						- 何かを作るためにツールを活用するのではなくて、自分を知るためにツールを使う
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					インスタレーションのような実演(実行可能性)のある詩、というのとはまた焦点が違う
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					詩や日常的な行為の実践が、芸術実践の副次的活動として認識されうること
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					プログラムをもとに人間が動く
 | 
				
			||||||
 | 
					IOだけが人間の実行できる部分になれば良いので、console.logとかの代わりになる命令を決めれば良い
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 課題の案
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- 手紙を書く
 | 
				
			||||||
 | 
					- 日記を作る
 | 
				
			||||||
 | 
					- ジェネラティブ・プロフィール
 | 
				
			||||||
 | 
					- パラメトリック・ポートフォリオ
 | 
				
			||||||
 | 
					- 自分の制作のプロセスをコードとして表現する
 | 
				
			||||||
 | 
					- 何かをカットアップする(ダダイスト・ポエム)
 | 
				
			||||||
 | 
						- ChatGPTの受け答えを素材とする
 | 
				
			||||||
 | 
					- ジェネラティブなインストラクション
 | 
				
			||||||
 | 
						- ブライアンイーノのカード(オブリーク・ストラテジーズ)
 | 
				
			||||||
 | 
						- 水野渚 メディアアートおみくじ
 | 
				
			||||||
 | 
						- 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					私的な行為、日常的な行為をどこまで大学の授業としてやるかが微妙だよねー
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- 12/1 lisp作る?
 | 
				
			||||||
 | 
					- 12/8 web1(HTMLコラージュ)
 | 
				
			||||||
 | 
					- 12/15 web2(スクレイピング)
 | 
				
			||||||
 | 
					- 12/22 
 | 
				
			||||||
 | 
					- 冬休み
 | 
				
			||||||
 | 
					- 1/5 最終課題ゼミ
 | 
				
			||||||
 | 
					- 1/12 最終課題ゼミ
 | 
				
			||||||
 | 
					- 休講日
 | 
				
			||||||
 | 
					- 1/15(最終回)
 | 
				
			||||||
							
								
								
									
										7
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										7
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -1,12 +1,12 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "@jackyzha0/quartz",
 | 
					  "name": "@jackyzha0/quartz",
 | 
				
			||||||
  "version": "4.0.11",
 | 
					  "version": "4.1.1",
 | 
				
			||||||
  "lockfileVersion": 3,
 | 
					  "lockfileVersion": 3,
 | 
				
			||||||
  "requires": true,
 | 
					  "requires": true,
 | 
				
			||||||
  "packages": {
 | 
					  "packages": {
 | 
				
			||||||
    "": {
 | 
					    "": {
 | 
				
			||||||
      "name": "@jackyzha0/quartz",
 | 
					      "name": "@jackyzha0/quartz",
 | 
				
			||||||
      "version": "4.0.11",
 | 
					      "version": "4.1.1",
 | 
				
			||||||
      "license": "MIT",
 | 
					      "license": "MIT",
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "@clack/prompts": "^0.6.3",
 | 
					        "@clack/prompts": "^0.6.3",
 | 
				
			||||||
@@ -85,7 +85,8 @@
 | 
				
			|||||||
        "typescript": "^5.0.4"
 | 
					        "typescript": "^5.0.4"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "engines": {
 | 
					      "engines": {
 | 
				
			||||||
        "node": ">=18.14"
 | 
					        "node": ">=18.14",
 | 
				
			||||||
 | 
					        "npm": ">=9.3.1"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/@clack/core": {
 | 
					    "node_modules/@clack/core": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -41,7 +41,8 @@ const graph_cfg = {
 | 
				
			|||||||
  },
 | 
					  },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
export const defaultContentPageLayout: PageLayout = {
 | 
					export const defaultContentPageLayout: PageLayout = {
 | 
				
			||||||
  beforeBody: [Component.ArticleTitle(), Component.ContentMeta(), /*Component.TagList()*/],
 | 
					  beforeBody: [Component.Breadcrumbs(),
 | 
				
			||||||
 | 
					  Component.ArticleTitle(), Component.ContentMeta(), /*Component.TagList()*/],
 | 
				
			||||||
  left: [
 | 
					  left: [
 | 
				
			||||||
    Component.PageTitle(),
 | 
					    Component.PageTitle(),
 | 
				
			||||||
    Component.MobileOnly(Component.Spacer()),
 | 
					    Component.MobileOnly(Component.Spacer()),
 | 
				
			||||||
@@ -63,5 +64,3 @@ export const defaultListPageLayout: PageLayout = {
 | 
				
			|||||||
  ],
 | 
					  ],
 | 
				
			||||||
  right: [],
 | 
					  right: [],
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,3 @@
 | 
				
			|||||||
@use "./variables.scss" as *;
 | 
					 | 
				
			||||||
@use "./syntax.scss";
 | 
					@use "./syntax.scss";
 | 
				
			||||||
@use "./callouts.scss";
 | 
					@use "./callouts.scss";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,4 @@
 | 
				
			|||||||
 | 
					@use "./base.scss";
 | 
				
			||||||
:root {
 | 
					:root {
 | 
				
			||||||
    --light: #d7eff7;
 | 
					    --light: #d7eff7;
 | 
				
			||||||
    --dark: #284b63;
 | 
					    --dark: #284b63;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user