眠気.jl

投稿=不定期

Notionの公式SDKは便利かも

いつの間にか公式SDKが出てたので触りました。
https://github.com/makenotion/notion-sdk-js
公式通りユーザー一覧を取るところまでやりました。ブロック単位の取得等もできるようです。

設定方法

nodeプロジェクトの作成、初期化、ライブラリのインストール

mkdir first-notion
cd first-notion/
npm init -y
npm i @notionhq/client
npm i dotenv
touch .env
code main.js

NOTION_TOKENの場所

integration一覧の、 https://www.notion.so/my-integrations から Internal Integration Tokenをコピーする

.envとmain.jsの中身

.env(Internal Integration Tokenを置く)

NOTION_TOKEN="secret_*****"

main.js

require("dotenv").config();
const { Client } = require("@notionhq/client");

// Initializing a client
const notion = new Client({
  auth: process.env.NOTION_TOKEN,
});

(async () => {
  const listUsersResponse = await notion.users.list({});
  console.log(listUsersResponse);
})();

実行

node main.js

ユーザー一覧が取れました。botはtype:bot、人はtype:personのようです。

{
  object: 'list',
  results: [
    {
      object: 'user',
      id: '****',
      name: 'ユーザー名',
      avatar_url: '****',
      type: 'person',
      person: [Object]
    },
    {
      object: 'user',
      id: '*****',
      name: 'integration名',
      avatar_url: '****',
      type: 'bot',
      bot: {}
    },
    {
      object: 'user',
      id: '****',
      name: 'integration名',
      avatar_url: null,
      type: 'bot',
      bot: [Object]
    }
  ],
  next_cursor: null,
  has_more: false,
  type: 'user',
  user: {}
}

注意?

OfficialSDKは野良API使うときのtoken_v2だと認証できませんでした
API用のToken取得はChrome->F12->Application->Name:Value token_v2:[ここに表示される]
Find Your Notion Token

その他

NotionのGUI的な操作はこちらの方のYoutubeが非常に参考になるので勝手に見てます。
https://www.youtube.com/channel/UCMBoZr4HyLmDGyv5tIQ006g

「給与にこだわりのある方とは働きたくない」という人事の方の名言で有名になった株式会社ノースサンド様の方々がでがけた「そろそろNotion」という本を読んでみました。
Notionの概念(ブロック単位にする等)がまとまってて良いと思いましたが、タイトルでは初心者を釣っているので不評だろうなぁと思いました。個人的には良いと思いました。
(そもそも動的なものを本で説明するのが難しそうなので、本にするのすごいなぁと思いましたろいより)


金言

日記

Notionの改悪?

Simple Todoのテンプレートに勝手に日本語が当てられてて泣きました

停電

ベンチプレスしてる途中に視界が真っ暗になったので、某戸さんみたいに眼圧で失明したかと思ったんですが、ただの停電だったので致命傷ですみました。

読書

WebGL insights 第一部全体=三章まで読みました。
ChromiumWebGLアプリがテストできることを知らなかったので勉強になりました (使いこなせるとは言ってない)
親の顔より見たこの図好き

日記

ドラゴンボール見てきました(ネタバレあり)

映画で尺が足りないせいか、悟飯が舐めプして事態が悪化する描写がありませんでした。違う映画を見ていたのかも。
舐めプしない悟飯は悟飯じゃないので、原作改悪ですね。
戦闘シーンはぬるぬるで良かったです。
好きなとこ
・戦闘シーン
・悟飯が師匠リスペクトの魔貫光殺砲打つ
好きじゃなかった箇所
・シェンロンに願えば修行すっ飛ばしてパワーアップできてしまう
・舐めプ飯が見れない
・セルマックスが、「ブルワァァァァァ!!CV若本」と叫んでばかりで知性がない

Amplifyシコシコいじってました

Backend:prod, dev で作っておいて、feature/**のブランチには自動的にdev backendがあてがわれるようにしました、Amplifyすごい
Amplifyで自動でブランチごとにドメインを切ってデプロイ出来るようになりました! | DevelopersIO

WebGLの本借りれました

取り寄せでWebGL insights借りれました、ちびちび読みます。
なる早で自炊するかも。

日記

先月ぐらいから育て始めました

植物育てたら気分が上向きになるかもと思い、食べれる草と見て面白そうな植物買ってきました。
ウツボカズラ-レッドアラタ, ウツボカズラ-ネペンテス, サラセニア, スイートバジル×3, シソ×2
バジルは美味しい。
ウツボカズラが屋外で越冬できるか怪しいので秋口に屋内に移行するのと、シソも屋内水耕栽培にしたいのでポンプとか調べます。
こういう中長期的なタスク管理が苦手で、なんかいい方法ないかなぁと思ってます。
(短期も長期も苦手ですが)

basil

育てたバジル食べるの気持ちよすぎだろ!!

3Dプリンタ

Kingroonぽちったのでちまちま調整してます、これでキーボード完全理解します。
スライサーはUltimaker Curaを使ってます。

3D printing bolt and thread in horizontal or vertical position - strength test - YouTube

その他

最近Netflixとかで「三十路女でも幸せ!」「三十路独身でも突然いい出会いがある!!寂しくないよ!!」という慰めコメディーが溢れている気がする。売れ残りヒス女を慰める時代が来てるのかな
ってろいさんが言ってたことにしてください。

日記

怪レィモニタを使用した!満足しているワタシは。

中国メーカー製の怪しげな44インチ(6万ちょい)を4月末からビクビクしながら使ってます。
星5多くてサクラを疑ってたんですが、動いてます。
一ヶ月使って故障/不具合なく、返品期限が過ぎたのでやっとゴミ捨てられます....
インスタ写真
メニューが中国語でもワタシは気にしない!?あなたはモニターの注文を躊躇しますか?なぜクリックすることでしょうか?

モニタの値段について

6万少しで安定してます。表示上は「モニターがセールやってる!」と思うかもしれませんが、全く焦らず検討するのが良いと思います。
セールが終わるとそのたびに偶然上昇分のクーポンが発生します。不思議ですね...

ウルトラワイドでやってる設定(Ubuntu,備忘録)

WintileでNumber of Columns=3

Super+H

ウインドウを左半分に表示

Super+L

ウインドウを右半分に表示

で中央分割と2/3分割をいい感じにしてます、もっといい方法あると思います。

その他

最近食べ放題のあとに体調悪くなることが多く、加齢を感じます。これからは1食1kg超えない腹八部を目指していきます。

Next.jsでnpm run devは通ってnpm buildがTypeErrorで落ちる現象の解消(備忘録)

devで型検査が入らないのは仕様でバグではないらしい。
どっちも検査するか、どっちも検査しないようにしたい。
型検査はしないので型検査する方に合わせる。

解決策1

ターミナルでペイン切って

tsc --watch

して常時見ておく

解決策2

npm run dev:ts

を追加して検査する

github.com

package.json

{
  "scripts": {
    "dev": "next dev",
    "dev:ts": "yarn dev & yarn ts:watch",
    "ts": "tsc --noEmit --incremental",
    "ts:watch": "yarn ts --watch"
  },
}

参考

Cognito認証->NextAuth+Auth0認証(備忘録)

前回Cognito認証つけたんですがCognito微妙そうなのでAuth0で認証やってみました。

Cognito認証の削除

amplify remove auth
# User Poolとか消していいか聞かれるのでY

amplify push

Auth0認証の追加

Auth0のダッシュボード->Create Application->Single Page Applicationを選択

NextAuthをnpmで入れる

import { useAuth0 } from "@auth0/auth0-react";
import { Auth0Provider } from "@auth0/auth0-react";

して

const { isAuthenticated, loginWithRedirect, logout } = useAuth0();

return isAuthenticated ? (認証済みのひとに見せたいコンテンツ) : (未認証のひとに見せたいコンテンツ)

とすれば大丈夫でした。

必要だった設定

Auth0ダッシュボードでの設定

Allowed Callback URLs
Allowed Logout URLs
Allowed Web Origins

ローカルで確認する場合3箇所ともlocalhost:3000

.envの設定

      <Auth0Provider
        domain={domain}
        clientId={clientId}
        redirectUri={redirectUri}
      >

domain, clientId, redirectUriにAuth0ダッシュボードに表示されてる値を代入

参考

GitHub - nextauthjs/next-auth-typescript-example: An example project that shows how to use NextAuth with TypeScript

その他

はてぶ移行したい