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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Takuma Shinohara
June 02, 2023
Technology
350
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Blueskyのいろいろ作ってみた
Takuma Shinohara
June 02, 2023
More Decks by Takuma Shinohara
See All by Takuma Shinohara
Bluesky Meetup in Tokyo vol.4 - 2023to2026
shinoharata
0
270
MCPとは?
shinoharata
0
190
BlueskyMeetup in Fukuoka アイデアソン
shinoharata
1
150
BlueskyMeetup in Fukuoka アイデアソン結果発表
shinoharata
1
120
いまのBlueskyってどうなの
shinoharata
0
190
四谷ラボとは ※2025/05/31
shinoharata
0
180
What's is Bluesky
shinoharata
0
2.1k
dissolute fat
shinoharata
0
270
20240520_toranoana_lab.pdf
shinoharata
0
260
Other Decks in Technology
See All in Technology
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
300
AndroidでHDRメディアを「壊さずに」扱う
chigichan24
0
300
Genie Code ワークショップ 基礎編 / Genie-Code-Workshop-fundamental
databricksjapan
PRO
0
310
Bet AI Day 2026丨バクラク Autopilot、業務システムの再設計
layerx
PRO
2
980
AI時代に、プロダクトの数だけ積み上がる所有コストをどうエンジニアリングするか / Engineering the Cost of Ownership
kzkmaeda
0
820
作り直せるコードは迅速に 作り直せないDBは慎重に - AI時代のプロダクトエンジニアが「判断の不可逆性」で開発速度を変える話
kinosuke01
0
130
いま好きなこと 最初はそんなに好きじゃなかった #tamagawadev
nishiuma
1
240
IDperturb: Enhancing Variation in Synthetic Face Generation via Angular Perturbation
sansantech
PRO
0
110
【試作】IoT x AIエージェント
happysamurai294
0
110
20260906 「AWS運用入門」著者が教える、運用業務への生成AI活用入門
masaruogura
0
190
Self Healing Rollouts: Automating Production Fixes with Agentic AI
kdubois
0
140
Beyond the Hype: Practical AI for Your Oracle Database with MCP
thatjeffsmith
1
200
Featured
See All Featured
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
430
Visualization
eitanlees
152
17k
Documentation Writing (for coders)
carmenintech
77
5.5k
Making the Leap to Tech Lead
cromwellryan
135
10k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Writing Fast Ruby
sferik
630
63k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
Faster Mobile Websites
deanohume
310
32k
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系の実装に関して調査