Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Blueskyのいろいろ作ってみた
Search
Takuma Shinohara
June 02, 2023
Technology
0
250
Blueskyのいろいろ作ってみた
Takuma Shinohara
June 02, 2023
Tweet
Share
More Decks by Takuma Shinohara
See All by Takuma Shinohara
What's is Bluesky
shinoharata
0
770
dissolute fat
shinoharata
0
170
20240520_toranoana_lab.pdf
shinoharata
0
170
民主的なSNSは日本を救う
shinoharata
0
300
Nostr x Gorilla Vim Collaboration
shinoharata
0
380
press_on_nostr_book
shinoharata
0
260
abc2023_slide_upload.pdf
shinoharata
0
290
LNBits で始める 家電Hack
shinoharata
0
180
NIP-78 nostr relay storage
shinoharata
0
190
Other Decks in Technology
See All in Technology
Cloudflareで実現する AIエージェント ワークフロー基盤
kmd09
0
290
Azureの開発で辛いところ
re3turn
0
240
Unsafe.BitCast のすゝめ。
nenonaninu
0
200
Evolving Architecture
rainerhahnekamp
3
260
re:Invent2024 KeynoteのAmazon Q Developer考察
yusukeshimizu
1
160
0→1事業こそPMは営業すべし / pmconf #落選お披露目 / PM should do sales in zero to one
roki_n_
PRO
1
1.7k
AWS re:Invent 2024 re:Cap Taipei (for Developer): New Launches that facilitate Developer Workflow and Continuous Innovation
dwchiang
0
180
メンバーがオーナーシップを発揮しやすいチームづくり
ham0215
2
250
完全自律型AIエージェントとAgentic Workflow〜ワークフロー構築という現実解
pharma_x_tech
0
370
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
250
re:Invent 2024のふりかえり
beli68
0
120
2024AWSで個人的にアツかったアップデート
nagisa53
1
110
Featured
See All Featured
Done Done
chrislema
182
16k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
A designer walks into a library…
pauljervisheath
205
24k
The Language of Interfaces
destraynor
155
24k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
4
180
Large-scale JavaScript Application Architecture
addyosmani
510
110k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Scaling GitHub
holman
459
140k
Being A Developer After 40
akosma
89
590k
Transcript
Blueskyのいろいろ つくった話 2023/06/02 – Blueksy/AT Protocol勉強会 #1.5
もくじ • 自己紹介 • The-Blueを作ってみた • Bsky-MassDriverを作ってみた • Bksy-Albumを作ってみた •
Jiho-Botを作ってみた • SkyLog, Sky-highを作ってみた • 今後の展望
自己紹介
Shino3(しのさん) です
Shino3(しのさん) です • プログラマ・エンジニア • 最近はWeb系 • 組み込みソフトウェアが最初 • 2019年からWEB等の業界に
• PHP/Laravelがメイン • 必要に応じてどの言語も書きます
Shino3(しのさん) です • 個人開発:Bluesky, Nostr • 自動車競技など。走ること • スマートフォン・ガジェット等 •
自作キーボードの設計・開発 • 推し:WeatherNews Live 檜山沙耶さん
The Blue つくってみた
Bluesky Client • 何回も紹介させて頂いてるので割愛 • Bluesky Meetup in Tokyo –
first take の 動画を御覧ください
The Blueの問題点 Vue2 Nuxt2
The Blueの問題点 Vue2 Nuxt2 サポートが そろそろ切れそう
The Blueの問題点 • タイムラインの構築 • 投稿・リプ・リポスト、ふぁぼ等・・・ • 通知一覧を表示 • プロフィールや投稿のページを表示
• その他、表示したい情報などの設定
The Blueの問題点 やること多すぎなんよ・・・ • タイムラインの構築 • 投稿・リプ・リポスト、ふぁぼ等・・・ • 通知一覧を表示 •
プロフィールや投稿のページを表示 • その他、表示したい情報などの設定
でも?
Webも Androidも
公式があるやんけ!!
優先度を下げよう!
開発停止!!
Bsky-Massdriver つくってみた
投稿専用 Webクライアント •現在、唯一の機能
投稿専用 Webクライアント • 投稿のみに特化!! • 投稿しかできない!! • すか廃仕様(後ほど言及します) • PWA対応
• 思い立ったら即投稿
投稿専用 Webクライアント •URLクエリパラメータ対応!!
投稿専用 Webクライアント •URLクエリパラメータ対応!! <a href="https://mdrv.shino3.net?intent=%EF%BE%9D%EF%BE%85%EF%BD% A7%EF%BD%9E%21%21%21“ > Blueskyでシェア </a>
投稿専用 Webクライアント •URLクエリパラメータ対応!! <a href="https://mdrv.shino3.net?intent=%EF%BE%9D%EF%BE%85%EF%BD% A7%EF%BD%9E%21%21%21“ > Blueskyでシェア </a>
投稿専用 Webクライアント •URIエンコードってめんどくさい よね??? <a href="https://mdrv.shino3.net?intent=%EF%BE%9D%EF%BE%85%EF%BD% A7%EF%BD%9E%21%21%21“ > Blueskyでシェア </a>
投稿専用 Webクライアント •URLクエリパラメータ対応!! <a href="https://mdrv.shino3.net?intent=%EF%BE%9D%EF%BE%85%EF%BD% A7%EF%BD%9E%21%21%21“ > Blueskyでシェア </a> ここを押せば
シェア一発!
The Blueの問題点より Vue2 Nuxt2 サポートが そろそろ切れそう
The Blueの問題点より • 慣れていたNuxt→Svelteベースに変更 • お勉強と実績作り • TypeScriptに対応
The Blueの問題点より • 慣れていたNuxt→Svelteベースに変更 • お勉強と実績作り • TypeScriptに対応 できた!!!
Bksy-Album つくってみた
自分の投稿画像を追いかけるツール • MassDriverをベースに改造 • ログイン機能をそのまま継承 • 過去3,000件の投稿から画像を抽出 • 投稿の抽出は、SkyLogとかSkyHighの流用(後述)
自分の投稿画像を追いかけるツール • なんでつくったの?
自分の投稿画像を追いかけるツール • なんでつくったの? ノリと勢い!!
自分の投稿画像を追いかけるツール • なんでつくったの? ブルスコに投稿した画像を 追いかけるツールみたいなの無いかな?
自分の投稿画像を追いかけるツール • なんでつくったの? ブルスコに投稿した画像を 追いかけるツールみたいなの無いかな?
自分の投稿画像を追いかけるツール
自分の投稿画像を追いかけるツール
Jiho-bot つくってみた
ほぼ30分おきに時間 を投稿してくれます • JavaScriptでバッチ処理をする練習 • 30分おき
実装 • Momentで現在時刻を取得 • 投稿! • 以上!!
実装 • momentで現在時刻を取得 • 投稿! • 以上!! それだけ!?
設 更 計 変
実装 • momentで現在時刻を取得 • 投稿! • 6分間の間でランダム • →ほぼ時間通りなBotが完成 •
node-cronを使用 • cron→supervisorに変更
実装 デバッグが簡単 になった!!!
実装 だいじ!!
SkyLog SkyHigh つくってみた
一日一回、投稿数を集計します
なんでつくったの? • 自分の投稿数、気になるな・・・・? • なんかめっちゃ、つぶやく人おる • この人いつもTLで見かけるじゃん
なんでつくったの? • 自分の投稿数、気になるな・・・・? • なんかめっちゃ、つぶやく人おる • この人いつもTLで見かけるじゃん 作るわ!!
実装 • 過去の投稿を3,000件遡る • 1回のGetリクエストで最大100件まで取得可能 フォロワー一覧 指定ユーザーの投稿一覧 •
Cursolを使って再帰処理 • 日付で判定して、24時間ぶん集計する
実装 • 過去の投稿を3,000件遡る • 1回のGetリクエストで最大100件まで取得可能 フォロワー一覧 指定ユーザーの投稿一覧 •
Cursolが取れるので再帰処理を実装 • 日付で判定して、24時間ぶん集計する クライアント作った経験が 役に立ったヮ
結果
結果
ぬるぽ
結果
結果
結果
結果
結果
結果 廃人が増え た!!
おまけ
Weather News Live タイムスケジュールBot
Stream系の実装に関して調査
Stream系の実装に関して調査