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
320
Blueskyのいろいろ作ってみた
Takuma Shinohara
June 02, 2023
Tweet
Share
More Decks by Takuma Shinohara
See All by Takuma Shinohara
MCPとは?
shinoharata
0
130
BlueskyMeetup in Fukuoka アイデアソン
shinoharata
1
120
BlueskyMeetup in Fukuoka アイデアソン結果発表
shinoharata
1
98
いまのBlueskyってどうなの
shinoharata
0
160
四谷ラボとは ※2025/05/31
shinoharata
0
150
What's is Bluesky
shinoharata
0
1.9k
dissolute fat
shinoharata
0
250
20240520_toranoana_lab.pdf
shinoharata
0
240
民主的なSNSは日本を救う
shinoharata
0
410
Other Decks in Technology
See All in Technology
OPENLOGI Company Profile for engineer
hr01
1
61k
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
76k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
Amazon Qはアマコネで頑張っています〜 Amazon Q in Connectについて〜
yama3133
1
150
Navigation APIと見るSvelteKitのWeb標準志向
yamanoku
2
130
The essence of decision-making lies in primary data
kaminashi
0
160
How to install a gem
indirect
0
1.8k
【Oracle Cloud ウェビナー】データ主権はクラウドで守れるのか?NTTデータ様のOracle Alloyで実現するソブリン対応クラウドの最適解
oracle4engineer
PRO
3
120
FlutterでPiP再生を実装した話
s9a17
0
220
AIエージェント×GitHubで実現するQAナレッジの資産化と業務活用 / QA Knowledge as Assets with AI Agents & GitHub
tknw_hitsuji
0
270
LLMに何を任せ、何を任せないか
cap120
10
6k
「AIエージェントで変わる開発プロセス―レビューボトルネックからの脱却」
lycorptech_jp
PRO
0
170
Featured
See All Featured
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
400
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
240
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
86
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Evolving SEO for Evolving Search Engines
ryanjones
0
170
The Invisible Side of Design
smashingmag
302
51k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
130
Joys of Absence: A Defence of Solitary Play
codingconduct
1
320
Chasing Engaging Ingredients in Design
codingconduct
0
150
Music & Morning Musume
bryan
47
7.1k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
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系の実装に関して調査