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
390
RustのLINEBot SDKを自作した話
shinbunbun_
0
2.5k
セキュリティキャンプ2023 Y3分散合意ゼミ 最終発表
shinbunbun_
0
5k
NixOSでもご自宅k8sがしたい!
shinbunbun_
2
5.1k
カーネルレベルでTwitterを禁止しよう
shinbunbun_
0
310
CRDTで始めるコンフリクトしないデータ同期
shinbunbun_
0
700
Haskell初心者がHaskellの楽しさについて語る
shinbunbun_
0
240
Rustで楕円曲線暗号の署名アルゴリズムをフルスクラッチ実装してみた話
shinbunbun_
0
2.4k
IEEE802.1X認証を導入してみた
shinbunbun_
0
340
Other Decks in Programming
See All in Programming
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
220
freeeにおけるEvalsの実践例の紹介
freee
PRO
0
120
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
160
今さら聞けない .NET CLI
htkym
0
200
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
600
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
500
torikago - Ruby::Boxで照らすモジュラモノリスの実行境界
se4weed
1
390
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
390
Google Apps Script で Ruby を動かす
kawahara
0
280
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
230
「人を評価する AI」の設計と実装
ryoyanara
0
210
VibeCodingからAgenticWorkflowへ
starfish719
0
650
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
37
7.4k
Building Applications with DynamoDB
mza
96
7.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
We Are The Robots
honzajavorek
0
300
The Curse of the Amulet
leimatthew05
2
14k
Code Reviewing Like a Champion
maltzj
528
40k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
210
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Embracing the Ebb and Flow
colly
88
5.1k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
550
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
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