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
Moment - Bitcoin自動トレードWebアプリ
Search
o-t-k-t
January 26, 2019
Technology
0
230
Moment - Bitcoin自動トレードWebアプリ
2019年1月に実施したDIVE INTO CODE Webフルタイムコース卒業制作発表のスライドです。
o-t-k-t
January 26, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
10
75k
今日から始めるAWSセキュリティ対策 3ステップでわかる実践ガイド
yoshidatakeshi1994
0
120
AIエージェントで90秒の広告動画を制作!台本・音声・映像・編集をつなぐAWS最新アーキテクチャの実践
nasuvitz
3
350
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.5k
Create Ruby native extension gem with Go
sue445
0
130
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
160
slog.Handlerのよくある実装ミス
sakiengineer
4
470
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
1
940
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
490
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
340
スクラムガイドに載っていないスクラムのはじめかた - チームでスクラムをはじめるときに知っておきたい勘所を集めてみました! - / How to start Scrum that is not written in the Scrum Guide 2nd
takaking22
1
170
Evolución del razonamiento matemático de GPT-4.1 a GPT-5 - Data Aventura Summit 2025 & VSCode DevDays
lauchacarro
0
210
Featured
See All Featured
Gamification - CAS2011
davidbonilla
81
5.4k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
For a Future-Friendly Web
brad_frost
180
9.9k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Optimizing for Happiness
mojombo
379
70k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Designing for Performance
lara
610
69k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Transcript
DIC卒業制作発表 2018/9 Webアプリケーションコース フルタイム 岡部利樹
電子工学科の専門学校を卒業 後、一貫してエンタープライズ ストレージ製品の開発に従事 ハード設計担当だが、C言語に よるテストプログラムの開発・運 用の経験にやりがいを感じ、よ り技術的に近いWebサービス 開発に転向するため受講 自己紹介
好きなメソッドは「define_method」 belongs_toやGemが追加するメソッドはこれと同じ仕組みで実現 動的言語は変なところもあるがコマンド叩いてすぐ動かせるのはすごい
仮想通貨自動トレードアプリケーション ここにテキストを挿入 ここにテキストを 挿入 ここにテキストを挿入 ここにテキス トを挿入 ここにテキストを挿入 ここにテ キストを挿入
Bitcoinの自動トレードアプリを制作 リスク資産の価格は基本的に 1. 底値の上昇ペースを継続、 2. それを破ると反転 3. 1.2.の繰り返し 自分が働いている間に これに追随するBotが欲しかった [BTCUSD価格推移] CoinMarketCapを元に作成
仮想通貨自動トレードアプリケーション ここにテキストを挿入 ここにテキストを挿入 ここに テキストを挿入 ここにテキストを挿入 ここにテキス トを挿入 ここにテキストを挿入 ここにテキストを挿入
ここにテキストを挿入 ここにテキストを挿入 ここに テキストを挿入 ここにテキストを挿入 ここにテキス トを挿入。 ここにテキストを挿入 ここにテキストを挿入 ここに テキストを挿入 ここにテキストを挿入 ここにテキス トを挿入 ここにテキストを挿入
Botの投資戦略 ドルコスト平均法 対象通貨を定期的に買い増し続ける トレーリングストップ 指定の上昇ペースを維持できなくなった ら売る
Gem: ruby_coincheck_client 仮想通貨取引所Coincheckが提供するREST APIの単純なラッパー Bitcoin価格の取得や、注文の発行を行える
Gem: Sidekiq 通常のRailsのリクエスト〜レスポ ンス期間を超えてRubyを動かせる ・定期的な価格監視 ・Botの注文を並列に発行
制作1週間 +卒業OK判定後の手直し
苦労点 HTTPS化 Qiitaの記事を鵜呑みし、あとで確認すると 不十分と判明 (HTTPSをサポートする無料CDNを使うとい う内容だったが、 CDN-Appサーバ間は平文!) お金で解決。。。 (Heroku有償コンテナ or
GCP) 注文処理の冪等化 注文は即決済されるためPUTの冪等性(そ もそもID指定不可で実質POST)が活かせな い リプレイ攻撃対策用の仕組みを流用 (APIリクエストヘッダーにタイムスタンプが 含まれており、サーバは前後関係をチェック している)
None
[デバッグでの実験結果 ]
DIC後輩に 伝えること 予定前倒しがおすすめ。試したいことはたくさん出てくるし、気持ちものる。 コードレビューは気づきが多く重要、雑なコードを持っていかない - Rubocop使う(機械で落とせるものにレビュー時間使うのは不毛) - どうしてそう書いたか説明できるようにする。 「こう思ったから」よりは「〇〇パターンが適していると判断」の形がいい
英語リーディング重要。README・解決済みIsuue読めないとQiita地獄に陥る 体調管理重要(毎日>7時間の睡眠) DIC後輩に伝えたいこと
ありがとうございました