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
Simの容量が気になって安眠できない
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
akira345
June 11, 2016
Technology
97
0
Share
Simの容量が気になって安眠できない
LT駆動開発 26 - Extended 報告会 後朝祭
にて、Zero Simの容量警告するスクリプトを作ったことを発表しました。
akira345
June 11, 2016
More Decks by akira345
See All by akira345
ビジネス要件から逆算するマイクロサービスアーキテクチャ選定の「思考プロセス」
akira345
0
71
インシデント対応
akira345
0
450
えれくら!〜電気電子工作系制作・交流会〜#29
akira345
0
41
脱・同期処理!マイクロサービスにおける負荷分散の勘所
akira345
0
140
AWSデプロイツール紹介
akira345
0
83
40歳でやったこと
akira345
0
60
回路を読むために必要なこと
akira345
0
46
おれのAWSがこんなに辛い訳がない!!
akira345
0
53
Dockerを触ってみよう
akira345
0
110
Other Decks in Technology
See All in Technology
AI飲み会幹事エージェントを作っただけなのに
ykimi
0
150
How to learn AWS Well-Architected with AWS BuilderCards: Security Edition
coosuke
PRO
0
120
Modernizing Your HCL Connections Experience: Visual Report to chain, Profile Enhancements, and AI Integration
wannesrams
0
300
多角的な視点から見たAGI
terisuke
0
130
Purview Endpoint DLP 動かしてみた
kozakigh
0
340
『生成AI時代のクレデンシャルとパーミッション設計 — Claude Code を起点に』の執筆企画
takuros
3
2.3k
要件定義の精度を高めるための型と生成AIの活用 / Using Types and Generative AI to Improve the Accuracy of Requirements Definition
haru860
0
320
生成AIはソフトウェア開発の革命か、ソフトウェア工学の宿題再提出なのか -ソフトウェア品質特性の追加提案-
kyonmm
PRO
2
880
いつの間にかデータエンジニア以外の業務も増えていたけど、意外と経験が役に立ってる
zozotech
PRO
0
460
古今東西SRE
okaru
2
180
AIが自律的に働く時代へ Amazon Quick で実現するAIエージェント紹介
koheiyoshikawa
0
200
Digital Independence: Why, When and How
wannesrams
0
310
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.1k
The Cost Of JavaScript in 2023
addyosmani
55
9.9k
Odyssey Design
rkendrick25
PRO
2
610
The Curse of the Amulet
leimatthew05
1
12k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
500
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
34
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.2k
Automating Front-end Workflow
addyosmani
1370
200k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
How to Ace a Technical Interview
jacobian
281
24k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Transcript
SIMの容量が気になって 安眠できない!! LT駆動開発 26 - EXTENDED 報告会 後朝祭 AKIRA345
個人的な話ですが・・・ • 一時期AndroidなNexus5(SIMフリー)を使っていました。 • ほぼデータ通信しかしないので、OCNのMobileONEを契約。 • ほぼ速度が出ない。 • UQのWiFiサービスにも加入していましたが、途中からPremiumなAPは有料化。 APが激減。
• 現在は母親のスマホに。
格安SIMといっても月額が地味に痛い・・ • 母親は外にスマホを持ち出さない。(普段はガラケー) • 持ち出すのは、数か月に1度程度。地図を調べるのに使う。 • SMSオプションつけていないので、電池が持たないのも持ち出さない一因 ほぼ使わないのに、月980円は地味に痛い。 とはいえ、全く使わないわけではないので、完 全にWiFi専用はちょっと・・・
そんな自分にぴったりなものが出た!!
特徴 • データ通信専用SIM • 初期手数料は本の代金(?) • 0MBから499MBまでは毎月無料 • 500MBから2GBまでは100~1500円の従量課金 •
2GB~5GBは1600円 • 下り最大225Mbps •3か月連続でデータ通信がない場合、自動解約される。
容量制限は何とかなる。が・・・ • Androidにはデータ通信料でクオーターを掛ける仕組みがある。 • データ通信の上限を450MBにセット • これで使い過ぎによる課金は止めれる。 • 3か月未利用はどうするか? •
どうやら解約前の通知はないらしい。 • 通信量を確認するアプリはない。 • ポータルサイトで確認なのだが、お世辞にも作りがいいとは言えない。 • てか、会員サイトのID、PWがSIMカード上にあるとは思わなかっ た(汗
先月のデータ使用量とか、過去のデータ使用量 の表示はない(汗
アプリが出るでしょう。 • まぁあれだけ人気があったから、そのうちアプリ出るでしょう。 っとおもってたけど、そうでもなかった。 • いちいち会員サイトに行くのは面倒。 • しかも無駄に通信をチェックしているので、 通常アクセスでも何かの拍子に不正アクセス扱いされる(汗
仕方がないので自作する・・・ • とはいえ、Androidアプリなんて作れるわけもなく。 • ようはサイトを定期的にチェックして、未利用が3か月続いたら警告メール を送ればいい。 • そういえば、Hiroshima.rbの最初のころ、ガラケーのIPアドレスを取得するスクレイピン グツール作ったなぁ。 •
当時はHprincotというのを使用。今回はForm周りをmecanize、パースはNokogiriを使用。 • 当時はRuby1.8、今はRuby2.2で、HprincotではRuby2系の例が見当たらず・・ • 会員サイトが親切にも先月の通信量が表示されず、過去の通信量が見れない仕様。 そのうえ、当日のデータも前日のデータも集計に時間がかかるとのことなので、 一昨日のデータから前月の通信量を求める。 • どうせ作るなら、今後、応用が利くようにDBやらMailやら一通り投入
一応完成。 • https://gist.github.com/akira345/e6972ae0577c6aaeb0649c8e051349ff
分かったこと • SQlite3を使う際、ActiveRecordを使わないとプリペアドクエリ使えないか な?と思っていたけど、そんなことはなかった。 • が、地味にプリペアドでSELECT文発行した後の結果を取得するのが、ドキュメント見て も、結果配列が返ってくるはずが、DBオブジェクトが返ってきて、.eachをつけないとい けないことに気づくまで数時間を無駄にした。 • ActiveSupportが便利。3日前とか自力で計算していたのが懐かしい・・・
• メールを扱う際、これの意味がイマイチ分からず。VBでいうWITHみたいなも の? mail = Mail.new do from mail_from to mail subject 'Zero Sim 解約警告' body '2か月間使用容量が0MBです。3か月未利用だと自動解約されます。' end
これで一安心