タグ

2018年9月18日のブックマーク (5件)

  • 大量のPush通知をCloud Functions経由で送信する - BANK tech blog

    こんにちは。ふぁぼ通知が好きなうなすけです。 モバイルアプリでは、Push通知によってユーザーに情報を伝えたり、行動を促したりすることが日常的に行われています。 その通知を送る対象のユーザーが数十人程度の規模なら、愚直に一通一通送信すればいいでしょうが、一気に万単位のユーザーにPush通知を送信したい場合、愚直に送信すると完了までに数時間かかることも往々にしてあります。 CASHでの大量Push通知事例 以前、ある施策のために42万件のPush通知を送る必要がありました。CASHではFirebase Cloud Messaging(以下FCM)をPush通知の送信に使用しているのですが、このとき、通知1件ごとにAPIを叩いていく方式だと送信完了に1日かかってしまうという事態になりました。 FCM Topic Messaging そのような場合に使用できるのが、Topicを用いた通知の送信で

    大量のPush通知をCloud Functions経由で送信する - BANK tech blog
  • さようならPython、こんにちはGo | Yakst

    以前はPythonで書いていたようなタスクを、最近ではGoで書くようになったという筆者による、Pythonと比べたGoの良さ、あるいは足りない部分のまとめ 私は、以前はPythonで書いていたようなたくさんの処理でGo言語を使っています。たとえば下記のような処理が挙げられます。 Amazon S3に保存されているCloudfrontのログの処理 S3内外への巨大な(テラバイト級の)ファイルを移動する処理 データベースとS3間において同期済ファイルのマッチングする処理 ほんとんどが一度きりの処理であり、そのためスクリプト言語で書くことが理想的です。そのプログラムは、すばやく書く必要があり、すぐに捨てられる可能性が高いです。いつもこれらのタスクは新しくユニークなものだから、再利用できるコードは最小限となります。 以下に、Pythonの代わりに、Go言語を利用することの優位点を挙げます。 コンパ

  • Node.jsのアプリケーションデバッグ・改善方法をおさらいする - hiroppy's site

    ステップ実行 --debugと--debug-brkは Node8 の時点ですでに非推奨なので、使わないでください。 デバッグ方法 コンソール Chrome devtools または、VSCode のような IDE に任せる 今回は、エディタ依存の話は特にしないです。 共通的な手順 基的には、debugger を止めたい場所に置いていくことになります。 例として、以下のコードで説明していきます。 "use strict"; const { readFile } = require("fs"); const { promisify } = require("util"); const readFileAsync = promisify(readFile); (async () => { const data = await readFileAsync("hello.txt", "utf8"

    Node.jsのアプリケーションデバッグ・改善方法をおさらいする - hiroppy's site
  • なぜ日本は人工知能研究で世界に勝てないか 東大・松尾豊さんが語る“根本的な原因”

    ――米国や中国に比べ、日人工知能開発で遅れているといわれています。なぜ日はこの競争に負けているのでしょうか。 松尾さん それは、日がインターネットで世界に負けた理由と似ているのではないでしょうか。 一つは、技術の取り入れ方が非常に遅い点。1990年代後半には若者たちが「これからはネットの時代だ!」と言っていたのに、上の年代の人たちが理解しませんでした。「信用できない」「オタクが使うだけ」と否定し、新しいものが生まれなかった。 今もそれは同じです。一口にAI人工知能といっても、新しい技術の中心であるディープラーニングに対して、従来の分野へのこだわりが強く、拒否感が強い人も大勢います。 もう一つは、若い人が力を持っていない点。若い人が自分の裁量で自在に動けるような社会環境になっていません。彼らに裁量を与えて何かやらせれば絶対に何か起こるんですけど、それをやらせないから変化が起こらない

    なぜ日本は人工知能研究で世界に勝てないか 東大・松尾豊さんが語る“根本的な原因”
  • 10年モノのインフラを3年がかりでカイゼンした - Qiita

    CI いちおうJenkinsが立ってました。失敗して赤くなってるジョブが大半で、かといって誰が治すわけでもなく、よくわからないけど失敗したり成功したり、とにかく不安定でした。 CloudWatchのメトリクスで眺めて、EBSのIOPSクレジットの枯渇から激遅になって、Jenkinsジョブのタイムアウト設定で失敗になる、まで明らかにしました。その時の対処は、IOPSクレジット上限サイズの1TBのSSDのEBSを付けることと、同時並行で動けるJenkinsジョブ数に上限を設けることで、落ち着くようになりました。 とはいえ「Jenkinsおじさん」問題があるので、CIをどうにか民主化する必要があります。SaaSから検討して、TravisCIとCircleCIが最終候補になって、トラブルシュートをSSHでできるのを決め手に、CircleCIを導入しました。 8月末にCircleCI1.0が死んだと

    10年モノのインフラを3年がかりでカイゼンした - Qiita