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
filesystem風チャットchatsh開発で学んだGoの便利package紹介
Search
ponyo877
May 21, 2025
Technology
410
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
filesystem風チャットchatsh開発で学んだGoの便利package紹介
ponyo877
May 21, 2025
More Decks by ponyo877
See All by ponyo877
フルスタックGoでスコア改ざんを防いだ話
ponyo877
0
890
全てGoで作るP2P対戦ゲーム入門
ponyo877
3
2.2k
Go言語の2Dゲームエンジン Ebitengineの紹介
ponyo877
2
200
OGPer あなたのサイトに簡単にOGPを付けよう
ponyo877
0
70
ISUCON14感想戦で85万点まで頑張ってみた
ponyo877
1
1.3k
Goのwasmで笑い男に挑戦してみた
ponyo877
1
250
GoのWasmでのWebRTC P2Pの検証+α
ponyo877
0
170
Ebitengineの1vs1ゲーム WebRTCの活用
ponyo877
0
790
GoのWasmでWebRTC P2Pで通信する
ponyo877
0
570
Other Decks in Technology
See All in Technology
AWS Summit の片隅で、体育座りしながらコミュニティがにぎわう理由を考えた
k_adachi_01
2
350
デジタル・デザイン:次の50年を描く「進化する青写真」
y150saya
0
820
打造你的 AI 工作流:Agent Skill + MCP 實戰工作坊
appleboy
0
660
CSに"SLO"は要らない、経営層に"99.9%"は伝わらない - SREを全社に"翻訳"する3原則
cscengineer
PRO
0
1.9k
プロダクトだけじゃない、社内プロセスにおける自動化・省力化ノススメ
kakehashi
PRO
1
210
完全自律ロボットを作りたくて、先に開発を自律させた話(ROS Japan UG #63 LT)
rryz09
0
280
記録をかんたんに、提案をパーソナルに ── AIであすけんが目指すもの
oprstchn
0
150
AIに障害切り分けを全部やってもらった。 。 。 。
estie
0
370
AIに「使われる」時代のSaaS戦略 〜既存WebAPIのMCPサーバー化における開発ノウハウ〜
ekispert_api
0
290
アラート調査向けAIエージェントの本番導入とその後/AI Agents for Alert Investigation: Production Deployment and After
taddy_919
1
390
NDIAS CTF 2026 問題解説会資料
bata_24
0
180
“全部コピーしない”ファイルデータの活用 : — FSx for ONTAP × S3 Tables × Icebergで作るメタデータカタログ
yoshiki0705
0
470
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
WENDY [Excerpt]
tessaabrams
11
38k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Speed Design
sergeychernyshev
33
1.9k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
A better future with KSS
kneath
240
18k
How to build a perfect <img>
jonoalderson
1
5.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.6k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
410
Mind Mapping
helmedeiros
PRO
1
280
Context Engineering - Making Every Token Count
addyosmani
9
1k
Transcript
"TBLVTBHP ਫ QPOZP GJMFTZTUFN෩νϟοτDIBUTI ։ൃͰֶΜͩ(PͷศརQBDLBHFհ มͳνϟοτ✌ 5IF(PHPQIFSXBTEFTJHOFECZ 3FOFF'SFODI
QPOZPͷࣗݾհ ໊લQPOZP ࣄιϑτΣΞΤϯδχΞ ઙཁૉׂͱۙ͘ʹॅΜͰ͍Δ "TBLVTBHPQPOZP
ൃදͷςʔϚͱಈػ (PͰαʔόͱ௨৴͢Δ$-*Λ࡞Γ͍ͨ $-*αʔόؒH31$Ͱ௨৴ͤ͞Δ H31$ͷํετϦʔϛϯάΛ͏ 6OBSZ31$ 4FSWFSTUSFBNJOH31$ $MJFOUTUSFBNJOH31$ #JEJSFDUJPOBMTUSFBNJOH31$ˡ͜Ε "TBLVTBHPQPOZP $-*
JO(P H31$ 4FSWFS JO(P
DIBUTIͷσϞcόοΫΞοϓ "TBLVTBHPQPOZP brew install ponyo877/tap/chatsh
ศརQBDLBHFcબ "TBLVTBHPQPOZP goreleaser/goreleaser Release engineering, simplified Go 14.6k 1.0k rivo/tview
Terminal UI library with rich, interactive widgets — written in Golang Go 12.0k 606 spf13/cobra A Commander for modern Go CLI interactions Go 40.5k 2.9k
ศརQBDLBHFcTQGDPCSB QBDLBHF໊TQGDPCSB⭐L ར༻ྫLVCFDUM HI LT FWBOT ֓ཁ (P$-*ΞϓϦέʔγϣϯͷͨ ΊͷڧྗͳϑϨʔϜϫʔΫ 5"#ิػೳ͋Γ
͕ܾ͜͜Ίख "TBLVTBHPQPOZP // cdCmd αϒίϚϯυͷఆٛ var cdCmd = &cobra.Command{ Use: "cd [directory]", Short: "shrt desc", Long: `Long Long description of the cd command.`, Args: cobra.MaximumNArgs(1), // TAB: ิ ValidArgsFunction: PathCompletionFunc, Run: func(cmd *cobra.Command, args []string) { // cdίϚϯυͷॲཧ var targetDir string currentDir := viper.GetString(currentDir) if currentDir == "" { currentDir = viper.GetString(homeDir) } // ৄࡉུলུ }, }
ศརQBDLBHFcSJWPUWJFX "TBLVTBHPQPOZP // vimίϚϯυͷίΞ෦ func runChatUITview() error { // ॳظԽ
app := tview.NewApplication() // νϟοτͷϝοηʔδཤྺදࣔϑΟʔϧυΛఆٛ textView := tview.NewTextView(). SetDynamicColors(true). SetRegions(true). SetWordWrap(true). SetScrollable(true). ScrollToEnd() // νϟοτͷϝοηʔδೖྗϑΟʔϧυΛఆٛ inputField := tview.NewInputField(). SetLabel(userName + " ❯❯ "). SetFieldWidth(0). SetAcceptanceFunc(tview.InputFieldMaxLength(256)) // textViewͱinputFieldͷϨΠΞτΛઃఆ flex := tview.NewFlex(). SetDirection(tview.FlexRow). AddItem(textView, 0, 1, false). AddItem(inputField, 1, 0, true) // ઃఆ QBDLBHF໊SJWPUWJFX⭐L ར༻ྫLT HI XUG ֓ཁ λʔϛφϧ্ͰϦονͳ6* 56* Λߏங͢ΔͨΊͷϥΠϒϥϦ ΠϯλϥΫςΟϒͳίϯιʔϧΞ ϓϦέʔγϣϯ։ൃʹ࠷ద
"TBLVTBHPQPOZP ศརQBDLBHFcSJWPUWJFX
ศརQBDLBHFcHPSFMFBTFS "TBLVTBHPQPOZP QBDLBHF໊HPSFMFBTFS⭐ L ֓ཁ ϓϩδΣΫτͷϦϦʔε࡞ۀΛࣗ ಈԽ͢Δπʔϧ (Pݴޠઐ༻Ͱͳ͘3VTU 5ZQF4DSJQU
1ZUIPOͳͲଟݴޠʹ ରԠ )PNFCSFXରԠʹ༻ goos: - linux - windows - darwin main: ./cli archives: - formats: [tar.gz] name_template: >- {{ .ProjectName }}_ {{- title .Os }}_ {{- if eq .Arch "amd64" }}x86_64 {{- else if eq .Arch "386" }}i386 {{- else }}{{ .Arch }}{{ end }} {{- if .Arm }}v{{ .Arm }}{{ end }} # use zip for windows archives format_overrides: - goos: windows formats: [zip] brews: - repository: owner: ponyo877 name: homebrew-tap token: "{{ .Env.TAP_GITHUB_TOKEN }}"
ศརQBDLBHFcHPSFMFBTFS "TBLVTBHPQPOZP - uses: actions/setup-go@v3 with: go-version-file: go.mod cache: true
- uses: goreleaser/goreleaser-action@v6 with: version: '~> v2' args: release --clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} TAP_GITHUB_TOKEN: ${{ secrets.TAP_GITHUB_TOKEN }} (JU)VC"DUJPOઃఆ
·ͱΊ (PͳΒαʔό$-*ಉ͡ݴޠͰ։ൃͰ͖Δ ศརͳ1BDLBHFΛ׆༻ͯ͠։ൃޮΛΞοϓ TQGDPCSB$-*ͷࠎ֨࡞ͱڧྗͳิػೳ SJWPUWJFXλʔϛφϧͰϦονͳ6*Λ࣮ݱ HPSFMFBTFS໘ͳϦϦʔε࡞ۀΛࣗಈԽ օ͞Μ(PͰշదͳπʔϧ։ൃϥΠϑΛʂ "TBLVTBHPQPOZP brew install
ponyo877/tap/chatsh