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
akira345
June 11, 2016
Technology
0
80
Simの容量が気になって安眠できない
LT駆動開発 26 - Extended 報告会 後朝祭
にて、Zero Simの容量警告するスクリプトを作ったことを発表しました。
akira345
June 11, 2016
Tweet
Share
More Decks by akira345
See All by akira345
AWSデプロイツール紹介
akira345
0
5
40歳でやったこと
akira345
0
5
回路を読むために必要なこと
akira345
0
2
おれのAWSがこんなに辛い訳がない!!
akira345
0
3
Dockerを触ってみよう
akira345
0
65
アラフォー世代が基板を作ってみた(公開用)
akira345
0
130
ESP-WROOM-02でプチIoT
akira345
0
91
トランジスタの働き(超入門編)
akira345
0
2
基板から回路図を起こしてみよう
akira345
0
1.3k
Other Decks in Technology
See All in Technology
より良いプロダクトの開発を目指して - 情報を中心としたプロダクト開発 #phpcon #phpcon2025
bengo4com
1
3.2k
整頓のジレンマとの戦い〜Tidy First?で振り返る事業とキャリアの歩み〜/Fighting the tidiness dilemma〜Business and Career Milestones Reflected on in Tidy First?〜
bitkey
0
400
開発生産性を組織全体の「生産性」へ! 部門間連携の壁を越える実践的ステップ
sudo5in5k
0
440
OpenHands🤲にContributeしてみた
kotauchisunsun
1
500
How Community Opened Global Doors
hiroramos4
PRO
1
130
Tech-Verse 2025 Keynote
lycorptech_jp
PRO
0
1.3k
AWS テクニカルサポートとエンドカスタマーの中間地点から見えるより良いサポートの活用方法
kazzpapa3
2
610
Core Audio tapを使ったリアルタイム音声処理のお話
yuta0306
0
150
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
940
AI導入の理想と現実~コストと浸透〜
oprstchn
0
150
Lazy application authentication with Tailscale
bluehatbrit
0
110
GitHub Copilot の概要
tomokusaba
1
150
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Producing Creativity
orderedlist
PRO
346
40k
GraphQLとの向き合い方2022年版
quramy
49
14k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Music & Morning Musume
bryan
46
6.6k
A designer walks into a library…
pauljervisheath
207
24k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
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
これで一安心