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
LINEのおうむ返しbot作ってみた
Search
Yuto Takamune
December 11, 2021
Programming
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
LINEのおうむ返しbot作ってみた
Yuto Takamune
December 11, 2021
More Decks by Yuto Takamune
See All by Yuto Takamune
GPT-3.5 Turbo をファインチューニングして自分のクローンを作った話
shinbunbun_
1
380
RustのLINEBot SDKを自作した話
shinbunbun_
0
2.5k
セキュリティキャンプ2023 Y3分散合意ゼミ 最終発表
shinbunbun_
0
4.9k
NixOSでもご自宅k8sがしたい!
shinbunbun_
2
5k
カーネルレベルでTwitterを禁止しよう
shinbunbun_
0
310
CRDTで始めるコンフリクトしないデータ同期
shinbunbun_
0
680
Haskell初心者がHaskellの楽しさについて語る
shinbunbun_
0
230
Rustで楕円曲線暗号の署名アルゴリズムをフルスクラッチ実装してみた話
shinbunbun_
0
2.4k
IEEE802.1X認証を導入してみた
shinbunbun_
0
340
Other Decks in Programming
See All in Programming
Webフレームワークの ベンチマークについて
yusukebe
0
200
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.3k
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
830
symfony/aiとlaravel/boost
77web
0
120
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
140
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
160
どこまでゆるくて許されるのか
tk3fftk
0
470
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
510
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
Performance Engineering for Everyone
elenatanasoiu
0
270
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.4k
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
110
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
63
55k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
280
Optimizing for Happiness
mojombo
378
71k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Optimising Largest Contentful Paint
csswizardry
37
3.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
The agentic SEO stack - context over prompts
schlessera
0
840
From π to Pie charts
rasagy
0
230
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
Transcript
LINEのおうむ返しbotを作ってみた 学部一年 しんぶんぶん(高棟雄斗)
- 人間です - 会津大学学部一年 - 中三からプログラミング始めて高一からいろいろおしごとしてます - LINE Developer Communityとかでコミュニティ活動してます
- 学生エンジニアコミュニティ「すごくなりたいがくせいぐるーぷ( SGG)」運営 - 会津大学プロダクト開発コミュニティ「 ASCs」代表 - FEもBEもインフラ(クラウドからオンプレまで)もだいたい全部やるけど、主に BE をやってます(器用貧乏) - 最近はずっとGo書いてるけどそろそろRustやりたい - 興味分野は認証/アイデンティティ管理 - 好きな仕様書はDecentralized Identifiers (DIDs) v1.0(W3C) - 最近の悩み: オフラインのインターンに行きたい(夏に行った Yahooはオンライン だった) 自己紹介 LINEのおうむ返し botを作ってみた https://shinbunbun.info @shinbunbun_
- 自宅にVPNサーバ立てた話 - 寮のNATを頑張って越えた話 - Gentoo Linuxとたわむれた話 - W3Cの仕様書を読みながら、 Web
Authentication APIの認証サーバをフルスクラッチ実装した話 最近キモいLTしすぎでは問題 LINEのおうむ返し botを作ってみた
僕がもっとまともな人間であることを伝えたい
初心に返ってLINEのおうむ返しbotを作ってみました!!
- 言語: C言語 - 大学の授業でせっかく C言語を勉強したので、 C言語で実装してみました! - socket.hを使ってソケット通信を実装 -
LINEのWebhookサーバはhttps対応する必要があるので、 OpenSSLのライブラリを使って SSL/TLSの コネクションも実装 - サーバ証明書はLet's Encrypt - サーバはAWSのLightsailを使用 - CodepipelineでCDを組もうと思ったけど、そこまでのシステムじゃなかったので VSCodeの Remote Developmentを使ってSSHで開発した 技術構成 LINEのおうむ返し botを作ってみた
デモだよ〜
コード解説だよ〜
- メモリまわりで無限にバグる - 変数の初期化方法が悪かったせいで、前のリクエストのデータが変数内に残ったままになっているというバグが発生 した - mallocを使って動的メモリ確保をし、最後に明示的にfreeで解放するという処理を書いたが、mallocは定数倍遅 いらしいのでそのうち高速化したい - サンプルが少ない
- 単純にsocket通信を実装しているサンプルはたくさんあるが、TLS実装しているサンプルがかなり少なくて大変だった - 数少ないサンプルやOpenSSLの公式ドキュメント、ライブラリのソースコードをよみながらなんとか実装した - 徹夜だめ - 別のLTのネタにしようと思って1晩で徹夜して作ったので、バグや汚い実装がかなり多い - ある程度バグフィックスやリファクタリングはしたが、まだ結構やばいコードが残ってるのでどうにかしたい 苦労した点 LINEのおうむ返し botを作ってみた
Qiitaで記事書きました LINEのおうむ返し botを作ってみた
GitHubあります LINEのおうむ返し botを作ってみた shinbunbun/linebot-c-sample
- ASCs(Aizu Student Creators)は2021/09に発足した会津大学のプロダクト開発コミュニティ - みんなでチーム開発したりハッカソンにでたりすることで開発技術を向上させることが目的 - 1月か2月に部内(or 学内)ハッカソンを開催する予定 -
協賛(協賛賞、懇親会スポンサーなど)募集中なので、協力してくださる企業様がいらっしゃいましたら是 非ご連絡ください! ASCsについて LINEのおうむ返し botを作ってみた
None