Gristメモ

Gristはいいぞ

Airtableの無料制限がきつかったので、探したら見つかった。

公式サイト

長所

  • 式がすごいPythonがそのまま使える。
  • アクセスルールが細かく設定できる。
  • 無料版でDB1つごとに5000レコード使える。(Airtable無料版はDB1つごとに1500レコード)
  • セルフホストでなら、制限解除できる。
  • 読み取り権限のみでフィルター、ソートができる。(Airtableではできなかったはず)

短所

  • 参照列周りが弱い。テーブルのテキスト列を選択→新規テーブル作成して参照列作成ができない。(Airtableではできた)
  • 絞り込みに複雑な条件を設定できない。絞り込みのための数式列をわざわざ作る必要がある。(Pythonで超複雑な条件式も作れるので、トレードオフかも)
  • .NETのAPIクライアントが存在しない。(そのうち作りたい)

Tips

必須フィールドの作り方

  • アクセスルールを使って実現する。条件用のカラムが必要だが、しょうがないね。

参照カラムの自動解決

  • あらかじめ参照先テーブルを作成してからでないと参照列は作れない。リクエストは投げたが、実現はいつになるか・・・

重複レコードを制限

#Name列の重複カウント
len(table.lookupRecords(Name=$Name))

#Name列の重複チェック
len(table.lookupRecords(Name=$Name)) > 1
  • このアクセスルールを付けてから、重複を含むデータをインポートすると、重複分だけでなく全部エラーになってしまう。この辺りを何とかする方法はわからない。

API定義

  • ソースを自動生成しようとしたらエラーが出た。誰か修正してプルリクエスト投げてくれ。

参照リストの添付ファイルを表示

all_images = $table.Icon
return [image for images in all_images for image in images]

Choice列のインデックスをソートに使用

import json
t = TARGET_TABLE_NAME
c = TARGET_CHOICES_COLUMN_NAME
column = _grist_Tables_column.lookupOne(tableId=t, colId=c)
json.loads(column.widgetOptions)["choices"].index($Type)

参照列をフィルタリング

  • 参照先として表示されるのは空文字以外
  • フィルターしたい参照先テーブルに有効な文字列のみを返す関数カラムを追加する
#Name列をTypeが武器でフィルタリング
$Name if $Type == "武器" else ""

.gristファイルの仕様

  • GristドキュメントはsqliteDBファイルそのもの
  • 通常のsqliteDBファイルをGristドキュメントに変更するツールもある

添付ファイル列の画像の一括アップロード

カンマ区切り文字列を分割して値にする

画像をHTMLウィジエットで大きく表示

setImageSrcScript = """
<script>
  grist.docApi.getAccessToken({readOnly: true})
  .then(tokenInfo => {
    for (let img of document.querySelectorAll('img')) {
      if (img.dataset.att) {
        img.src = `${tokenInfo.baseUrl}/attachments/${img.dataset.att}/download?auth=${tokenInfo.token}`;
      }
    }
  })
</script>
"""

return """
<div style="padding: 24px; background-color: #F4F0FF">
{setImageSrcScript}
<h1>{H1}</h1>
{att}
</div>
""".format(
  setImageSrcScript=setImageSrcScript,
  H1=$Header,
  att='\n'.join('<p><img data-att="{}" width="100%">'.format(att.id) for att in $Attachments)
)

Gristで作ったゲーム攻略DB

https://docs.getgrist.com/ndCGJ12xHYzn/LostWorld/m/fork

ぼくが作ったサンプル集

https://reniris.getgrist.com/ws/35046/

ゆで卵と味玉の作り方

レシピ探すの手間取ったのでブログにまとめる

ゆで卵の作り方

  1. フライパンに卵入れる
  2. フライパンに水1cm入れる
  3. 蓋して火をつける
  4. 沸騰させて5分待つ
  5. 火を止めて5分待つ(ここで氷を用意)
  6. 氷水に卵をドボン

味玉の作り方

  1. 袋に殻をむいたゆで卵を入れる
  2. ゆで卵1個につき大さじ1杯の3倍濃縮めんつゆ投入
  3. 袋の口を閉じてしばらく冷蔵庫で寝かせる

参考文献

mayukitchen.com

電気圧力鍋SR-P37で低温調理ローストビーフ作ってみた

前からやってみたかった低温調理ローストビーフがうまくいったので手順を公開

材料

ローストビーフ

  • まいたけ 1パック
  • 牛モモ肉 1パック
  • 塩コショウ 適量
  • ジップロック 1つ
  • すりこぎ棒 1つ

ソース

  • ニンニク 少々
  • 食用油(オリーブオイルがおすすめ) 少々
  • ポン酢醤油 適量
作り方
  1. まいたけをみじん切りにしてジップロックに入れて、すりこぎ棒でたたく
  2. 牛モモ肉に強めに塩コショウしたのち、先述のジップロックに入れ、できるだけまんべんなくマイタケをまぶす
  3. ジップロックを水に沈めて空気を抜き、2時間寝かせる
  4. 電気圧力鍋SR-P37の低温調理70度で45分
ここからソース
  1. さっき肉と一緒に低温調理したマイタケを肉汁と一緒に取り分けておく
  2. にんにくを包丁でつぶしてからみじん切り
  3. 食用油で炒める
  4. 香りが出てきたら、火を止めてマイタケ肉汁を投入
  5. 再び火をつけ、マイタケに火が通ったらポン酢醤油投入
  6. ひと煮立ちさせたら、火を止めて容器に移す
ここから最後の仕上げ

肉をカリカリに焼いて切り分けたら完成

参考文献(順不同)

https://nowkore.net/archives/65557 https://fitbeat-hoen.hatenablog.com/entry/2018/03/30/110000 https://twitter.com/nowar1024/status/1239020074154905600?s=20&t=GxT81uEffm9U-EeAJwhzqQ

CyberCode Online攻略メモ

本家

CyberCode Online | Cyberpunk Text-Based MMORPG

Tips

公式チャットはすぐ流れちゃうけど、過去ログが公式discordにあります。

オートリサイクラーでキャッシュは一度に100個までしか処理できない(しかも8時間かかる)

オートリサイクラーで医療は1000個まで投入できる

ソロギャングダンジョン感想:同レベル「突然の死」、-10レベル「敵が強いのにお宝おいしくない、ふしぎ!」ソロなら最低伝説装備フルセットは必須。仲間がいるなら頼れ。

Q&A(チャットからのコピペ)

ギャングダンジョンって1人で行って大丈夫?

ええ

装備を用意してからね

だいじょぶよー!お金は銀行に預けてね!

少し下の駅から行くヨロシ

テックスクラップってどこで入手できるんでしょうか?

リサイクラーですよ

ギャングに入ってリサイクラー使うのが1番効率がいいよ

あとインベントリからスクラップできます

いらない装備を詳細画面でスクラップにできます

ギャング入ってなかったらいらない装備スクラップして!

装備の解体やギャングに入ってオートリサイクラーを使えば入手可能です。

スクラップいっぱい欲しくてソロギャング始めました。どうしたらいい?

オートリサイクラーしたらいい。

何入れたらいいのかな?キャッシュ?

キャッシュは時間がたくさんかかるけど三倍になるわ

医療は短時間で1.2倍

バランスがいいの医療、速さの弾薬、量のキャッシュ

ちなみにキャッシュはそのまま砕いても0.5倍のスクラップになります

売るなら何がいい?

医療パーツ、テックスクラップが序盤でも手に入れやすくて売りやすいと思うよ

(買い手側の財布の問題もあるか)

テックスクラップの相場が450BTCだと覚えておけば何が得で何が損か自ずと見えてくるであろう

BTC得るなら医療とかかなぁ……

AI9だからハッシュとかGIOTをAIにするかな

ギャングのメリットは?

ギャングのメリット①ギャングダンジョンにいける!(ノーマル、チャレンジの上の敵がつよつよ経験値うまうまドロップうまダンジョン)ギャングダンジョン通称ギャンダンはギャングに入っていないといけない。なお入場には専用アイテムが必要。②オートリサイクラーが回せる!オートリサイクラーという大量のアイテムを一気に高効率でテックスクラップへと変換できるギャング専用AFKがある。医療1kをテック1,2kくらいに変える人が多い。おまけ・領地戦というコンテンツがある気もする。ギルド対抗の世界戦で1位と2位にご褒美がある。

要らない装備は、売るのとスクラップとどっちがオススメでしょうか?

スクラップおすすめ!

低レベルは基本スクラップだよ。テックスクラップが今450doubloonsだから店売りかスクラップ得な方を選ぶよろし

あぶまっとからし

あぶまっどはオートマティック、からしカラシニコフ、AKのことですネ。

AIクラスターって何に使えるの??

一度に10000しか持てないAIをまとめるのに使います。

AIコアクラフトってお得?

AIいっぱい貯めこみたいって人以外には無用です

デスペナはありますか?

レベル10以降はExpと所持金が1割減ります

バーゲン7%の緑装備っている?

スクラップ行きかなぁ....

せめて黄色のバゲ20位はほしいかも

キャリブの手間考えたら

(まぁ白でも20なら有用ではある)

(ちな、レアだと20でもフルキャリブで32止まりね)

こんばんは。絶賛キャッシュ開封中なんですけど、追加効果?ってこれは保持しとけ!みたいなのってありますか?

モジュールクリダメ10

9でも可

(高品質以上刷ってるなら回避5)

武器→栗率24バーゲン19以上、防具→回避14以上、残忍14以上、癒し28以上、ポケット6 モジュール→クリダメ9以上、回避5、ポケット2

スタンは回避とセットだとつよい

防具にクリティカルモジュールつけたらどうなるの?

クリティカル率が上がります(攻撃時のクリティカル率が、もしくはダメージが)

効果はどこでも、全部に着きますよー

ダメージ補正以外はどの部位につけても変わらにゃい

武器はつけてる奴にしかダメージ補正入らにゃいけど防具は全ての武器にダメージ補正入るにゃ

量子なら量子のみ、スペならスペのみ適用です 防具のダメージ補正は全ての武器にはいります クリティカルとかの補正は共有なんですか? 共有よー

そうニャルよー

スキル=共有、ダメージ=武器ごと

防具=全て共有

シールドとか体力モジュールってどう?

控えめに言ってテックスクラップ

モジュールはクリダメ>回避>スタン>クリ率くらいの優先度かな~?それ以外はスクラップ

シールドもリジェネもチャレダンまでなら全然ok何だけど、ギャンダン周回だとね...そのぉ...ね?

アンチマターチャージはこつこつ収集&クラフト?

AIかクラフトだにゃ

虎ザクってマイニングがおいしくなるの?

BTC獲得できる物は全部美味しくなるかな?

はい。でもビットコイン入手の全般で効果ありますよ✨

何が一番いいのかね'?

(真面目な話、スキル上げも兼ねるならブラックマーケット)

買取

Potato14

ありがとう!ぽてとランチャーならなんでも買い取るよ~

リンク集

日本語wiki

英語 Wiki

公式Discord

公式フォーラム

PATREON

BUG REPORT

Notion使ってみた

Notionというものを使っていろいろやったので感想を書いてみる

  1. ゲーム攻略サイト
    長所:データベース強い。テーブル構造を工夫すれば、アイテム合成と逆引きが簡単に作れる。
    短所:無料版だとGoogle検索に乗らない。ゲームタイトルで検索しても出ない。他のサイトにリンクを貼ってもらうしかない。パクられづらいが、広報がへたくそだと誰にも見てもらえない。

  2. オンラインブックマーク
    超便利。ブラウザのブックマークは管理めんどくさすぎて放置してたけど、データベースで管理できるので雑に放り込んでタグ付けてジャンルごとのビュー作っていろいろできる。Save to Notion使ってやってる

参考サイト

www.notion.so

pouhon.net

異世界商人生活‼攻略用データベース作ってみた

Notionで異世界商人生活‼データベースを作ってみました。 無料版だとページ公開してもGoogle検索に乗らないのね。 Wikiだとデータベース機能が弱いのでNotionに流れ着きました。

www.notion.so