この記事はFirebase Adventcalendar #2の13日目の記事です(もう12/17ですが、丁度書けそうなネタがあったので、空いてる日を見つけて埋めることにしました)。 Firabase Cloud Firestoreを使う場合、Security Rulesがアクセス制御全てのかなめと言えます。ここをミスるとデータが漏れて終わる、しかしその割に簡単に変更できてしまう。というわけで自動テストできると安心でしょう。 今回は先日公開した拙作のBlogFeedback(repo https://github.com/ninjinkun/blog-feedback-app/ )で用いているCircleCIによる自動テスト事例を紹介します。 なお、Security Rulesをテストするというアイデアは以下のエントリから頂きました。 エミュレーターの準備 Cloud Firestoreの
ヒストリ履歴からよく使ってるものをお焚き上げする。 注意点: npm 周り、グローバルコマンドは npm i -g で入れてて、ローカルで扱うものは yarn で使うという癖がある 追記: シェルじゃなくてCLIだろと言われるのが多かったので訂正した vscode $ code . -r 現在ディレクトリを VScode で開く。 -r が肝で、新しいウィンドウを生成せず、既存のウィンドウを開き直す。 yarn $ yarn install --prefer-offline yarn install 時にローカルキャッシュを優先する。テザリング環境下でリポジトリを作成するのに便利。 フリーランスになってから出先で作業することが多く、ギガ足りない問題が多々発生した。 git $ git clone <github-url> --depth 1 HEAD だけ clone する。テザリング環境
この記事は2018年Kotlin Advent Calendar の11日目の記事です。 (本来は22日目でしたが、今年は残念ながら空きが出来ているので先に乗っ取りました) Kotlin Advent Calendarは気付いてみれば4年連続4回目の出場になりました。 僕とKotlinの出会いは現在の会社に入社する2015年の4月頃でした。 Android開発ではJava全盛期の時代に、当時まだM13(milestone)だったKotlinのみを使って開発しようというプロジェクトで、 紆余曲折を経て2016年の1月にリリースされたのですが、国内のそれなりに大規模なサービスでフルKotlinでリリースされた Androidアプリでは一番早かったのではないかと思います。ちなみにアプリのリリース時点ではKotlinはまだβバージョンでした。 公式以外の情報もまだまだ少なくチームメンバーと試行錯誤
この記事は技術同人誌Advent Calendar 2018の19日目の記事です。 こんにちは。 @selmertsxです。主にRailsのサーバーサイドエンジニアをやってます。 技術同人誌 Advent Calendarということで、今年の11月にNextPublishing様から出版させて頂いたAmazon Web Servicesサーバーレスレシピ という本に書ききれなかった、「Serverlessでチャットボットを作る」というお話を、僕が以前作った serverless-prpolice というslack botを題材にお話をさせていただこうと思っていました。 しかしながら、最近の業務ではGCP(Google Cloud Platform) のCloud Functionsを利用していることが多く、そちらのキャッチアップをしたいなぁという気持ちになりました。そこで、最近作った Cl
開催場所変更のご案内 開催場所が変更になりました。 さくらインターネット株式会社 福岡オフィス をお借りして開催します。 休日にも関わらず、快く貸していただいた、さくらインターネット様、ありがとうございます! 博多 ではなく 天神 です。… Swift 5 Final BranchSwift5は11/16にfinal branchが切られました。 swift-5.0-branch をcheckoutすることでSwift5の世界を一足先に体験することができます。 November 16, 2018 (final branching): The swift-5.0-branch will have changes merged from master one last time. After the final branch date there will be a “bake” period
Structured concurrency – Roman Elizarov – Mediumでは、Kotlin coroutine 0.26.0でCoroutineScopeを導入した経緯などが書かれているんですが、タイトルのStructured concurrencyってのが結局なんなのか本文中にはあんまり出てこないんですよね。 んで、CoroutineScopeの動作の理解に精一杯で、coroutineScope関数がなんなのか、どういう時に使うべきなのかよくわからないし、ましてやsupervisorScope関数なんて言われた日には意味が不明なわけです。 とりあえずlaunch関数内でasync関数呼び出したら駄目なんだな〜ふ〜んなんで? Notes on structured concurrency, or: Go statement considered harmfulを頑張
【改訂版】 Firebase Cloud Firestore rules tipsTuesday, December 11, 2018 この記事はFirebase Advent Calendar 2018の12日目の記事です。 以前にCloud Firestore rules tipsを書いてから時間が経過したことと、その記事を書いてから僕自信もより理解を深めることができたので、改訂版としてこの記事を書きます。 はじめに 基礎的な部分やリファレンスについては公式を参照するのが一番手っ取り早いです。 Cloud Firestore セキュリティ ルールを設定する Cloud Firestore セキュリティ ルールをカスタマイズする Cloud Firestore Security Rules Reference Basic 読み書きのルールは基本的に許可制 Firestoreのread/w
κeenです。言語処理系勉強会 Vol.1 に参加してきました。そこでの@omochimetaruさんのSwiftのGenericsとProtocolの実装の話が面白かったので少し感想を。 Javaのジェネリクスは型消去で実装されており、全てのジェネリクスを1関数でまかなえます。一方で統一的に扱うために参照型しかジェネリクスに使えず、プリミティブの取り回しに苦労します。 C++のテンプレートやRustのジェネリクスは型毎に実装を作るのでどんな型でも扱えますし、高速です。代わりに関数の数が増えてバイナリサイズが大きくなりがちです。 Swiftはその中間ようなアプローチを取っていました。 Swiftのジェネリクスの話を要約すると、 ジェネリクス関数には値型も全て参照になって渡される。ただし型のメタデータ(Metatype)を渡してゴニョゴニョして失われた型情報(Value Witness Ta
こんにちは。サーバ、インフラ周りを担当している鷲見(@soichisumi)です。 先日、GCP に Cloud Scheduler が追加されました。 GCP のコンソールまたは CLI から、定期的にタスクを実行できるというサービスです。 実行できるタスクは以下の3つです. HTTPリクエスト Pub/Sub メッセージ App Engineアプリケーション App Engine の cron job が HTTP リクエスト、Pub/Sub もターゲットに指定できるようになって外出しされたようなサービスだと思えば良さそうです。 これで今まで定期実行のために行っていた、App Engine + cron job や Apps Script の実装・デプロイが不要になります 🎉🎉🎉 早速使ってみましょう。 Cloud Firestore をバックアップする 関数 の実装 今回作る
SwiftにResult型が提案され、今日から12日までのレビューが始まった。 提案 https://github.com/apple/swift-evolution/blob/master/proposals/0235-add-result.md レビュースレッド https://forums.swift.org/t/se-0235-add-result-to-the-standard-library/17752 Result型についてはSwiftフォーラムがメーリングリストだった時代から長いこと話し合いが続いていて、話題もループしがちなため、僕は追いかけるのに疲れてしまって最近は追っていなかったのだが、最近盛り上がっていると思っていたらレビュー入りまでこぎつけていたようで、関わっている人たちの熱意はすごいと思う。 提案されているものは、Result<Value, Error> で、型パ
Komerco事業部エンジニアの岸本(id:sgrksmt)です。 先日Firebase Summit2018が催され、その中でCloud Firestore(以下Firestore)とRealtime Databaseにローカルエミュレータがβ版として追加されたという発表がありました。 Komercoでは、前回投稿した記事の通り、テスト用のfirebaseプロジェクトを立てて、そこにrulesをデプロイし、オンラインテストといった形でrulesをテストしていましたが、 全てローカルエミュレータを用いたrulesのテストに書き換えました。 今回はローカルエミュレータを用いたFirestoreのrulesのテストの話をします。 使うと何が変わるか ローカルエミュレータを使ったrulesのテストに切り替えることによって、良い点がいくつかでてきます。 テストを実行するためのfirebaseプロジ
Kotlin 1.3正式リリース。ネイティブコードで実行されJavaVMに依存しないKotlin/Nativeバンドル開始 2017年5月にAndroidの正式な開発言語に採用してから急速に人気が高まっているプログラミング言語「Kotlin」の最新版「Kotlin 1.3」正式版がリリースされました。 Kotlin 1.3 is here! Coroutines, Kotlin/Native beta, new multiplatform project model, contracts, inline classes and more: https://t.co/AKCx1DCsqT pic.twitter.com/anc6G7z8id — Kotlin (@kotlin) 2018年10月29日 Kotlinはオープンソースで開発されているプログラミング言語です。基本的にJavaVM上
今年2017年でデビュー15年目に突入、メンバー本人たちも“まさか”と語るこの年月の歩みを彩る2011年~2017年の名曲たちをコンプリートしたNegiccoのベストアルバム『Negicco 2011~2017 -BEST- 2』がリリースされた。日本ポピュラー音楽シーンの精鋭たちから絶大なる愛を注がれ、アイドル界屈指の名曲の宝庫とも言われているとか、いないとか。ローカルアイドルの草分け的存在であり、もはや音楽ファンの羨望を集めるNegicco。記念すべきベストアルバムの1曲目を飾る「愛は光」の作詞作曲のみならず演奏も務めたKIRINJIから、メンバーを代表して堀込高樹、千ヶ崎学、弓木英梨乃の3人を迎え、胸は熱く、心温まる対談をお届けします。 ――まず7月20日、Negiccoは結成15年目に突入いたしました。 KIRINJI(堀込高樹、千ヶ崎学、弓木英梨乃):おめでとうございまーす。 N
日本随一のアナログレコードプレスメーカー・東洋化成が手がける「レコードの日」が11月3日に開催される。4年目となる今年は、150タイトル以上のオリジナルレコードがリリースされ、レコードの祭典にふさわしい活気を見せている。 アナログレコードで聴きたくなる音楽があるとするなら、間違いなくKIRINJIもそのひとつだろう。「レコードの日」の企画として、KIRINJIのアルバム3作品がレコード化するにあたり、CINRA.NETは中心メンバー・堀込高樹にインタビューを実施した。アナログレコード、CD、サブスクリプションと時代の流れとともに音楽の聴かれ方は変化してきたわけだが、1969年生まれである堀込にとってレコードとはどのような存在であったのだろうか? レコードの魅力について、2018年現在の音楽との付き合い方について話を訊いた。 当時、『おはようスタジオ』っていうテレビ番組があって、そこで僕は1
.app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads
はじめに このオンラインブックは執筆中です。完成版ではありません。フィードバックフォーム この本には一冊の本に盛り込むにはやや欲張りな内容を詰め込みました。本書では、C言語で書かれたソースコードをアセンブリ言語に変換するプログラム、つまりCコンパイラを作成します。コンパイラそのものもCを使って開発します。当面の目標はセルフホスト、すなわち自作コンパイラでそれ自身のソースコードをコンパイルできるようにすることです。 この本では、コンパイラの説明の難易度が急に上がりすぎないように、様々なトピックを本書全体を通じて次第に掘り下げていくという形で説明することにしました。その理由は次のとおりです。 コンパイラは、構文解析、中間パス、コード生成といった複数のステージに概念的に分割することができます。よくある教科書的アプローチでは、それぞれのトピックについて章を立てて解説を行うことになりますが、そのよう
GitHubが障害を総括、43秒間のネットワーク断が1日のサービス障害につながった:データベースの不整合解消に時間 GitHubは2018年10月30日(米国時間)、2018年10月21日16時頃(米国太平洋時)から約24時間にわたって発生した障害に関する分析報告を、同社のブログに掲載した。これによると、ネットワーク機器の部品交換で生じた43秒のネットワーク接続断が、GitHubのメタデータ管理データベースの不整合を引き起こし、復旧に時間を要したという。 GitHubは2018年10月30日(米国時間)、2018年10月21日16時頃(米国太平洋時)から約24時間にわたって発生した障害に関する分析報告を、同社のブログに掲載した。これによると、ネットワーク機器の部品交換で生じた43秒のネットワーク接続断が、GitHubのメタデータを管理するデータベースの不整合を引き起こし、復旧に時間を要した
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く