猫好きのウェブエンジニアが気まぐれで書いたり作ったりしたものを置いてるサイトです。
はじめに ※ Retty Inc. Advent Calendar 2018 2日目の記事です。 toCで展開している我々のようなサービスでは、 A/Bテスト等を通じて機能開発に対する分析を行っています。 それらを支えるユーザイベントのロギングは サービスの持続的な開発を支える重要な要素の一つです。 この記事を書くにあたり、前調査で調べてみたところ システムログやアプリケーションログの文脈でのログ設計は言及されるものが多いものの サービスにおけるユーザログ設計に関して語られることは意外と少ないもようです。 Web における集客効果を測定する代表的なツールとしては Google Analytics や Google Tag Manager といったサービスが使われており スマートフォンアプリの文脈では、Firebase Loggingなどの強力なサービスが 既にあることから 独自に設計するケ
はじめに Elasticsearchはスケーラビリティに優れた全文検索エンジンですが、Relational Database(以下RDB)が持つ汎用性や機能の豊富さも追求しているように思います。この記事ではRDBの基本機能がどこまでElasticsearchで実現できるかをまとめました。データベースの知識だけで、全文検索を知らなかった私がElasticsearchを勉強し始めた頃に意外に感じた事を中心に両者の違いを比較しています。APIについては言語ごとの違いは言及せず、REST APIについてのみ述べています。特にバージョンの記述がない場合はElasticsearch 5.1を前提にしています。RDBは近年ポピュラーなOracle, SQLServer, DB2, Sybase, PostgreSQL, MySQLなどが準拠しているSQL92標準を前提としています。 基本的な違い RDB
Vue.jsで提供されている「属性」の活用方法を確認します。「子コンポーネントのDOMを直接操作する方法」「子コンポーネントにテンプレートを挿入する方法」「動的に子コンポーネントを切り替える方法」を解説します。 ref ( 子コンポーネントのDOMを直接操作 ) <my-child ref="target"/> methods: { clickedButton() { window.alert(this.$refs.target.$el.firstElementChild.innerHTML) } }, See the Pen vue ref by waku-waku (@raku-raku) on CodePen. JavaScriptで子コンポーネントのDOM要素を直接操作したいときの最終手段です。 コンポーネント描画後にデータが反映されるだけなので、利用タイミングに気をつけます。 h
AWS事業本部インテグレーション部のいわほりです。入社してから、あっという間の1ヶ月が過ぎました。 1月末にAWS 認定ソリューションアーキテクト – アソシエイトを無事合格できたので、その過程をまとめておきます。 私と似たような状況でAWSの学習を始めようと思っている方の参考になれば、幸いです。 想定読者 以下に該当し、アソシエイトの資格を当面の目標にされている方を想定しています。 AWS経験ゼロ オンプレのインフラ経験もゼロ(もしくは、久しく触れていない) 座学よりも体で覚える方が好み やったこと オンライン講座を1周半 最初にUdemyの『手を動かしながら2週間で学ぶ AWS 基本から応用まで』をやってみました。この講座の特長は講座のサブタイトルでもある「実際に手を動かして AWS を学ぶことで0から1へを強力にサポート!」に集約されます。 1周目:講師の方のオペレーションを写経の如
とても個人的な話ですが、ここ最近で自分自身のプライバシー意識の高まりを感じて、ブラウザの設定を見直す機会がありました。見直したのはCookieの設定で、許可したドメインにしかCookieを記憶しないようにしました。設定変更によるある程度の不便は覚悟していました。とはいえ、ま〜せいぜい、初回アクセスの時のモーダルが何度も出るようになるとか、ログインできなくなるとか、そのくらいかなと思っていました。 しかし実際は、悪い意味で期待を裏切られることになりました。 Cookieが無効なだけで、“全く”動かなくなってしまうウェブサイトやウェブアプリが、本当にたくさんあることに気づいたのです。 全く動かなくなってしまう原因は単純(後述)だったのですが、ちょっとした対処で簡単に直せることなのに、サイト全体が一切使い物にならなくなってて、もったいない!! と思いました。 フロントエンドの想定外 ウェブサイト
この記事では、先日 Medium に公開された Maximiliano Firtman 氏による記事『Google Play Store now open for Progressive Web Apps 😱』を要約して感想などを加えています。 記事のタイトルを訳すと『Google Play ストアで PWA を配信できるようになった 😱』という感じでしょうか。Web エンジニアとしては惹かれるタイトルですよね。ただ私は Android 事情には疎いですし、結局どういうことなのか?記事を読んでまとめてみようと思いました。 まとめると Android 向け Chrome のバージョン72から Trusted Web Activity が実装された。 ネイティブアプリ内で Web アプリを起動する新しい仕組み。WebView など既存の同種の仕組みの欠点を補っている。よりネイティブと We
Lucene Kuromoji+mecab-ipadic-NEologdのエントリを見かけるようになりましたが、個人的にちょっと気になるところがありまして。 Maven依存関係にこれを足せば使えるよ、というエントリを見かけますが <dependency> <groupId>org.codelibs</groupId> <artifactId>elasticsearch-analysis-kuromoji-neologd</artifactId> <version>2.1.1</version> </dependency> GitHub - codelibs/elasticsearch-analysis-kuromoji-neologd: Elasticsearch's Analyzer for Kuromoji with Neologd いや、それElasticsearchまで入ってるじゃ
どこもかしこも妙ちくりんな図で混乱させてくるのうざい 自分で書いてみる gitなんてクソ難しいんだから、きちんと概念を理解させようとかすんなよ なぜgitが必要かバージョン管理のために必要、と言うと意味わからんと思う プログラムみたいなのは少しずつ変更していくんだ だから細かに変更の差分を管理したり、変更を戻せたりしなきゃきつい なぜgitか?他のバージョン管理との違いうるせぇgit使え そんなの来年考えろ gitの基本要素、用語branch: いきなり説明が難しいが、branchがわかればどうにかなる。 例えば、今編集しているプログラムに対して、RPGのセーブデータがあると思ってほしい。 それぞれのセーブデータがそれぞれのブランチにあたる。 セーブデータが1枠しか無いと、難しいだろ?何があるかわからない、戻ったり、試したりしたいからな。 セーブデータと少し違うのは、1個のブランチでも過去
Firestoreのセキュリティルールをテストする方法としてコンソールから使えるシミュレーターが以前からありましたが、今回発表されたのはローカルで実行できるエミュレーターです。 これを使えば、CI上でセキュリティルールのテストをルールをデプロイせずにできます。 試した環境は firebase-tools 6.0.1です。 最初は6.0.0で試してみたのですがどうやら日本語環境ではエミュレータがエラーになるようで6.0.1で一旦デフォルトで英語になるように修正されました。 ローカルエミュレーターローカルエミュレーターはFirebase Summit 2018で発表された手元の環境でFirebaseのデータベースであるRealtimeとFirestoreのセキュリティルールをテストすることができます。 今までセキュリティルールをテストしようと思うとコンソール上のシミュレーターで手動でテストをす
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く