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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
夢の無限スパゲッティ製造機 #phperkaigi
o0h
PRO
0
370
【社内勉強会】新年度からコーディングエージェントを使いこなす - 構造と制約で引き出すClaude Codeの実践知
nwiizo
24
12k
AIエージェント時代に必要な オペレーションマネージャーのロールとは
kentarofujii
0
110
「捨てる」を設計する
kubell_hr
0
260
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
120
モジュラモノリス導入から4年間の総括:アーキテクチャと組織の相互作用について / Architecture and Organizational Interaction
nazonohito51
7
3.7k
【AWS】CloudTrail LakeとCloudWatch Logs Insightsの使い分け方針
tsurunosd
0
120
Kubernetesの「隠れメモリ消費」によるNode共倒れと、Request適正化という処方箋
g0xu
0
130
MCPで決済に楽にする
mu7889yoon
0
120
Blue/Green Deployment を用いた PostgreSQL のメジャーバージョンアップ
kkato1
0
130
Phase01_AI座学_基礎
overflowinc
0
4.1k
ADK + Gemini Enterprise で 外部 API 連携エージェント作るなら OAuth の仕組みを理解しておこう
kaz1437
0
200
Featured
See All Featured
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
300
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
130
Become a Pro
speakerdeck
PRO
31
5.9k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
240
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
110
Embracing the Ebb and Flow
colly
88
5k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
430
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
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後輩に伝えたいこと
ありがとうございました