複数のwebページを1つのpdfにまとめる https://scrapbox.io/taktamur/%E8%A4%87%E6%95%B0%E3%81%AEweb%E3%83%9A%E3%83%BC%E3%82%B8%E3%82%92%EF%BC%91%E3%81%A4%E3%81%AEpdf%E3%81%AB%E3%81%BE%E3%81%A8%E3%82%81%E3%82%8B
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const API_KEY = 'xxxxxxxx'; // ここにAPIキーを入れる | |
// ==UserScript== | |
// @name GPT Summary Context Menu | |
// @namespace http://tampermonkey.net/ | |
// @version 1.2 | |
// @description Trigger GPT summary via context menu | |
// @author taktamur | |
// @match *://*/* | |
// @grant none | |
// @run-at context-menu |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function() { | |
// ボタンのスタイル | |
const buttonStyle = { | |
position: 'fixed', | |
bottom: '20px', | |
right: '10px', | |
width: '50px', | |
height: '50px', | |
backgroundColor: '#000000', | |
'border-radius': '50%', |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "zennのRSSフィードを要約してNotionに貯める", | |
"nodes": [ | |
{ | |
"parameters": {}, | |
"id": "2af18bb2-3d04-4f9b-b31d-6ecfd7550830", | |
"name": "When clicking \"Execute Workflow\"", | |
"type": "n8n-nodes-base.manualTrigger", | |
"typeVersion": 1, | |
"position": [ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// リソースをRangeに変換 | |
// 指定範囲をRangeに変換 | |
// Range同士のANDを取る | |
interface ResourceRange { | |
start: number; | |
length: number; | |
} | |
function convertLengthToResourceRange( | |
length: number[], | |
start: number = 0 |
- [Android アプリにメニューを追加する https://qiita.com/Uchikoba/items/d2e80c33a3334825bfc4]
- https://developer.android.com/guide/topics/ui/menus?hl=ja
- https://developer.android.com/guide/topics/resources/menu-resource?hl=ja
- メニューの外だしは、showAsActionで設定する
- 古いものだと指定方法が違うらしい https://qiita.com/KeithYokoma/items/e7c7b960a0fb1d983355
- menuリソースにxmlを足す
- Activityにメソッドを足す
- aes-128-ecb は単純なアルゴリズムらしく ivが不要。他の暗号利用モードのときにはivが必要そう。
- update()とfinal()の挙動は、ブロックのサイズを跨いだ時に変化してるっぽい。
- 動かし方: node ./crypto.js
- リンク:
- https://nodejs.org/api/crypto.html
TypeScriptのオブジェクトは「Structural Subtyping(構造的部分型)」という型の実装らしい。
一方JavaとかSwiftでよく知ってるのは「Nominal Subtyping(公称的部分型?)」らしい
アバウトな理解
NewerOlder