複数のプロジェクト間のリンクを見つける
2021-05-04
ScrapboxのプロジェクトAでの最近1日の更新からキーワードを拾い、プロジェクトBからそのキーワードを含むページを提示する実験
今回のケースではAがこの公開プロジェクト、Bが400ページ程度の非公開プロジェクト
良い効果が得られるようなら1日1回定期実行する
文脈
やったこと
✅publicの最近更新されたページを取得
✅その内容からキーワードを抽出
とりあえず明示的にブラケティングされてるやつでいい
APIで取れる
✅別のソースから、そのキーワードを含むものを見つけて提示する
JSONにエクスポートしてから自前で検索する方法と検索APIを叩く方法がある
今回は検索API
提示の仕方
privateにページを作る
privateプロジェクトの検索結果をpublicにはできないため
SlackでDMを送るという選択肢もある
✅今回はprintして手でScrapboxに貼り付けた
結果
良さげ
大した情報の入ってない非公開メモ置き場だと思ってたが意外と面白いページがあった
実験でビデオ会議の録音を文字起こししたやつとかがヒットした
24時間の活動から抽出されたキーワードは105件
検索してヒットした件数は11件
検索APIによってヒットした行が得られる
イマイチなキーワードがある
「研究」「組織」「Scrapbox」「未踏ジュニア」
ヒット件数が多すぎる
ヒット件数が一定以上のものは「たくさんヒットした」という情報だけ表示する方が良い
元プロジェクトでは双方のページでブラケティングしてある場合のみ繋がることで大量にならない
4件中3件はブラケティングしてあった
なので、検索結果が多い場合はその結果を表示するのではなく件数のみにし、代わりにその検索キーワードをブラケティングすれば良い
検索キーワードのブラケティングは常にやる
むしろ「既にリンクがあるか?」を見て、あれば検索しないのがよいか?
感想
割と良い
他にも色々面白い内容が死蔵されてそうなプロジェクトがある
対象プロジェクトは複数にしたい
追加実験
自分のpublic/private連携を主に考えいたので片方がprivateで結果を公開できなかった
両方publicならできると気づいた
しかもエクスポートではなく検索を使ってる今のバージョンなら他人のプロジェクトであっても特に許諾なく対象にできる
puppeteer
Puppeteer is a Node library which provides a high-level API to control headless Chrome or Chromium over
A Guide to Automating & Scraping the Web with JavaScript (Chrome + Puppeteer + Node JS)]
Puppeteer is a Node library which provides a high-level API to control headless Chrome or Chromium over
It can also be configured to use full (non-headless) Chrome or Chromium.
ヘッドレスなChromeをコマンドラインから操作可能的なものだと思われる。
A Guide to Automating & Scraping the Web with JavaScript (Chrome + Puppeteer + Node JS)]
fbclid=IwAR3LXwnspP4W9R79YvAjlC760Q62f_kgBMVpUmRP9WmYok8_xWEMVLkjyZM]
ゲーテッドコミュニティ
ゲーテッドコミュニティ(英語: Gated community)とは、ゲート(門)を設け周囲を塀で囲むなどして、住民以外の敷地内への出入りを制限することで通過交通の流入を防ぎ、また防犯性を向上させた住宅地
ゲーテッドコミュニティという概念自体は目新しいものではなく、以前から租界や米軍ハウス等があり、再定義したに過ぎない。日本においては、ゲーテッドタウン[1]やゲート・コミュニティ[2]とも表記される。
出力するプロジェクトと検索対象プロジェクトが異なるケースを想定漏れしてたので更新した
rashitamemoからの引用に含まれる[1]が検索キーワードになってしまっている
〜にするべきか。今はとりあえず手で直した
機械の出力を手で直して長期間メンテすべきではない
今は実験なのでやってるだけ
このプロジェクトのリンクを混乱させるのでいずれgistとかに追い出す
何もしなければ1日後に上書きされて消えると良い
有用なリンクがあれば、別のページにメモすべき
(やり方に面白さを求める必要があるのか?)
めんどうくさい手順を踏むと、なぜか仕事やってる感や、謎の満足感を得られてしまうので気づきにくいけど、完全に無駄です
横浜のジョイナスにも店がある事に気づき、以後2週間に1回ぐらい行っている
そして自分が使ってないデバイス用のライブラリを作るやる気が一切沸かない自分の性質に気づき、以後、自分が使う物しか作らないことを決意した
Headless Chromeのライブラリを作ったら2000starついた by yujiosaka 承認欲求の刺激につながる機能を全て排除する
WiKi内にえらい人・管理人が産まれて、編集する前にお伺いを立てなければならなくなる要素を全て排除したい
そういう、人間のリアルな顔が見える事で曖昧になる要素を排除する為にScrapboxを使っている
よくあるエディタのように編集モード・表示モードの切り替えは思考のブレーキにしかならないから排除してあるし、他にも文字装飾のツールバーがあったりするとテキストを書いている時間よりも文字サイズをいじっている
時間の方が多くなって加速感が無くなるので徹底的に排除している。
特にwikiの中でもscrapboxは自分が考える速度で書ける、そして思考の邪魔になる要素を排除しているのでオススメ 意見のやりとりははてなダイアリーやはてなブログでやるべきだと思う
dotenv
require('dotenv').load()で読み込める
dotenvify
$ browserify -t dotenvify src/index.js -o build/index.js
silentオプションで抑制できるが、dotenvifyにはdotenvにオプションを渡す機能がない
$ npm i shokai/dotenvify#dotenv-options -save
Version=1; Expires=Tue, 15-Nov-2016 11:51:24 GMT; Max-Age=86400; Domain=staging.scrapbox.io; Path=/; HttpOnly
Version=1; Expires=Tue, 15-Nov-2016 11:51:24 GMT; Max-Age=86400; Domain=staging.scrapbox.io; Path=/; HttpOnly
[Adding ability to specify an agent for OAuth2 requests by PhilipSkinner · Pull Request #324 · ciaranj 感想
自分が興味あってメモした技術的キーワードに関する他の人の発表資料が出てくるのはいいな
我々同じ日本語を使ってるつもりでいるが、自分の考えをアウトプットする時の単語のチョイスには個々人の違いがある
僕のプロジェクトの方では「人のグループから人が取り除かれること」を「排除」と表現している(これ自体も僕の言葉ではなく、人のを見てなるほどそういう表現があるかとメモしたもの)
一方でshokaiは「ソフトウェアから有害な機能や特徴を取り除くこと」を指して使っている
表示されたキーワードを見て、色々ページをいじると、当然明日も「更新されたページ」になり、同じものが表示される
これはきっと退屈
一度出したものは覚えといて1週間〜1ヶ月出さない、とか。