サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
円安とは
blog.engineer.adways.net
やのと申します。 2回目の執筆になりますが、よろしくお願いいたします。 効果検証入門~正しい比較のための因果推論/計量経済学の基礎の社内読書会を主宰しています。 gihyo.jp その流れでいろいろ調べていると、機械学習を使って因果関係を分析しよう という話が最近話題になっているような記事や情報をみかけるのですが、書籍では RCTができないときの代替手段 という位置付けで、傾向スコア、CausalImpactなどの手法を使いバイアスを排除した効果検証の方法が展開されているため、 因果推論 x 機械学習みたいな複雑なことしなくても、RCTが使えるんだったら使って、バイアスのない効果検証ができる環境を整備すればいいじゃないの? という違和感を感じていました。 しかし、インターネット上の記事や文献を収集、咀嚼していくと、 因果推論 x 機械学習にはRCTを上回る価値がある とわかってきたため、自
はじめに DWHをBigQueryに移行した背景 BigQueryに移行して良かった 速い 安い 充実した機能 タイムトラベル Googleサービスとの連携 BigQueryにDWHを移行してからやったこと あとがき はじめに こんにちは, データエンジニアの大窄 直樹 (おおさこ)です. 今日, 8月6日は私の誕生日!!ということで, 私が執筆することになりました. 今回は, DWHをBigQueryに移行したあとの話について執筆します. DWHをBigQueryに移行した背景 弊社では, 膨大な広告データを取り扱っています. データサイズが大きいと, その集計処理もまた負荷が高いものとなります. 弊社では数年前, データ基盤としてAuroraを選択しました. データサイズが小さいうちは, Auroraでの集計処理が可能だったのですが, データサイズの増加に伴い, 集計処理にかかる時間は
こんにちは、自社広告サービス担当の飛田です。 だいぶ暑くなってきましたね。いよいよ夏本番です。晴れ晴れしたコバルトブルーの夏空サイコー!! とエモさ全開ですが、気を取り直して開発プロセスをデータドリブンで改善していく話をしたいと思います。4月から取り組み始めて3ヶ月程度ですが、何かお役に立てれば幸いです。 はじめに 4つのキーメトリクスとは リードタイム デプロイ頻度 MTTR 変更失敗率 やったこと わかったこと つぎにやること 最後に はじめに 私たちは開発プロセスにおけるパフォーマンスを定量化していないため、自分たちの開発パフォーマンスが分からないまま、ただただ先の見えない高みを目指している状態にあります。同僚の一人は「開発自体は遅くはないけど早いとも言い難い」となんとも歯切れの悪い表現をしていました。これには私も同意せざるを得ません。 そこで広大なネットの海に潜ること数分。私は4つ
はじめに はじめまして!昨年10月に中途入社したエンジニアのおかむです。 エンジニアとしてはそれなりに長くやってきて、インフラからフロントエンドまで幅広く経験しています。 苗字が社長の岡村さん(2021年7月からは会長になります)と同じで紛らわしいため、Adwaysでは愛称で呼んでもらってます。 (実は年齢も岡村さんと同じです) 自己紹介は短く切り上げて本題に入りましょう。 以下、Scalaのサンプルコードではmdocを使っています。 はじめに ZIOとは何か 簡単なコード Map FlatMap and other combinators バリデーション エラー時のStacktrace 最後に ZIOとは何か https://zio.dev ZIOは、Scalaで作用を扱う関数型プログラミングのライブラリです。 「作用」というのはちょっとわかりづらいので、多少の語弊は恐れず「処理」と言い
はじめに こんにちは!! クラウドエンジニアの大窄直樹(おおさこ)です. 今年も花吹雪舞う季節になり, 春の訪れを感じるこの頃ですね! 2021年度最初のブログということで張り切って執筆させていただきます. 今回のブログでは, Reserved Instance (RI)の後継である, Savings Plan (SP) について紹介します. はじめに Reserved Instance(RI)とは? Savings Plan(SP)とは? RI にあって SPにない機能 SP, RIの仕様をまとめ 最後に 参考文献 Reserved Instance(RI)とは? RIはEC2の割引オプションです. またRIは, Standard RIとConvertible RIの二種類に分けることができます. Standard RIは, 下記の6項目を指定して購入することでオンデマンド料金と比べて最
はじめに プロダクトマネジメントクライテリアの紹介 採点してみた 採点結果 チーム内への展開 終わりに はじめに こんにちは、データエンジニア内田です。 最近健康の為にUber Eatsを始めました🚵🏼♀️ ロングピックでも僕は嬉しいっすよ💪❗️ プロダクトマネジメントクライテリアの紹介 さて、先日PM界隈で著名な及川卓也さん、曽根原春樹さん、小城久美子さんによって作成された プロダクトマネジメントクライテリアが公開されました。 書籍『プロダクトマネジメントのすべて』を元にしたチェックリストをつくりました📝 プロダクトマネージャー個人ではなく、チームとしてプロダクトマネジメントできているかを確認できます。 めちゃくちゃ頑張ったので、ぜひご確認&フィードバックをお願いします💪https://t.co/ZbvDxNvVvH— 小城 久美子 / koshiro kumiko (@oz
こんにちは、梅津です。 Kent C. Doddsのブログを見ていたら面白い記事を見つけました。 テストの書き方や考え方の参考になりそうだったので、内容をかいつまんで紹介します。 よくあるテストの書き方 こういう書き方はどうですか おわりに 参考リンク よくあるテストの書き方 テストを書くとき、次のような書き方をすることがあると思います。 describe('成功時', () => { ... // title, subtitleなどの定数を定義 let utils beforeAll(() => { getCourseInfo.mockResolvedValueOnce(buildCourse({title, subtitle, topics})) }) afterAll(() => { cleanup() jest.resetAllMocks() }) it('ローディングスピナーが表
こんにちは、インフラの天津です。 今日はAWSにおけるIP固定化の手法と選択について書きたいと思います。 きっかけ 先日、社内のとあるALBを使用しているサービスでグローバルIPを固定化する必要が出てきました。 その際に固定化の手法がまとまっていると今後迷わないなと思い、記録がてらブログを書こうと思いました。 先に結論 要件によってどの方式がFitするか変わります。 下記に表を作成してみましたので参考になさってください。 個人的なおすすめはGlobal Acceleratorです。 公式ドキュメントにもユースケースとしても下記の通り紹介されています。 AWS Global Accelerator では、ロードバランサーや EC2 インスタンスといったリージョナルリソースを 2 つの静的 IP アドレスに関連付けることができます。これらのアドレスを、クライアントアプリケーション、ファイアウォ
インフラの清水です。 エンジニアでは在宅で業務をされる方も増え、社内のリソースが利用できなくなり困っている方もいらっしゃるのではないでしょうか。 弊社でも同様に在宅で、社内の資源である書籍が使えなくなってしまいました。 今回は、電子書籍が使えないかと調べた結果をまとめた内容となります。 電子書籍で社内図書を作るとする場合、どんなサービスが必要なのか 法人としてアカウントが作れる 法人としてアカウントが作れ、法人が電子書籍のライセンスを所持し、法人としてアカウントを使える電子出版サービスが必要となります。 法人が電子書籍のライセンスを持てれば、就業中に法人として社員が書籍を読めます。 クレジットカード以外の決済方法がある クレジットカードで購入・カード番号が登録されているような状態の場合、アカウントを知っている社員が自由に書籍を購入できてしまいます。 コンビニ払い・銀行払いなど、書籍購入の際
こんにちは、インフラの天津です。 今日はTerraformのディレクトリ構成について書きたいと思います。 きっかけ 謝辞 ディレクトリ構成における現在の課題 先に結論 弊社の状況 インフラ Terraformの利用状況 異なる環境へ対応するディレクトリ構成パターン パターン1.環境分離パターン パターン2.workspace利用パターン パターン3.環境ごと分離 + module利用パターン コンポーネント分割のパターン では何を選ぶべきなのか? 終わりに きっかけ 現在、私が所属しているチームでは社内にTerraformを含むInfrastructure as Codeを 普及させるための活動を行っています。 チームの紹介については過去のブログを参照いただければ幸いです。 blog.engineer.adways.net blog.engineer.adways.net その際に、「Te
こんばんは、りょーまです。 私事ですが30になりました。 心はいつまでも少年です。 さて、今回は期待のマネジメントについて書きます。 マネージャーには必須のスキルではないでしょうか。 具体的にやり方も書いていくので気になる方は是非試してみてください。 期待マネジメントとは 目的や目標を達成するために、何をするべきか、どのように振る舞うべきか。 チームやプロジェクトの期待をすり合わせる行いを期待マネジメントと言います。 冒頭で期待マネジメントは必須と書きました。 その理由としては、チームの成立に大きく影響するからです。 チームは、「共通の目的を持ち、互いに協力し支え合う」事が出来て、初めてチームです。 期待のマネジメントを怠ると、チームは躓き、ただの集団化します。 チームが躓く最大の要因は期待と行動(結果)のギャップ A「先日のリリース、バグ起こしちゃったね」 B「Cさんがテストしてくれてい
こんにちは。インフラ系の部署でチームリーダーをしています、奥村です。 チームで決めた独自の目標管理方法を2019年の4月から運用して一年が経ちました。 一年が経ち、運用が波に乗ってきたところで上位組織がOKRの策定・運用を決定しました。 この記事では下記の事柄について書いてます。 どのような独自の目標管理方法を運用していたか OKRを運用することが決まってどうなったのか この記事で伝えたいことは「自分たちの考えた方法が良い」とか「OKRの方が良い」ということではありません。 OKRのような上位組織と下位組織の連動が必須なものを導入する時の、ひとつの例になれば良いなと思います。 チーム紹介 私のチームが所属している組織 私がチームリーダーをしているチーム 背景 本題 チーム独自の目標管理方法 チーム独自の目標管理方法 チーム独自の目標管理方法を作った背景 OKRを運用することが決定してどうな
こんにちは。Testing Library を布教したいマンの梅津です。 以前書いた記事で実装の詳細をテストすることの弊害と React Testing Library による解決方法を Kent から学びました。 blog.engineer.adways.net 今回はその React Testing Library の簡単な使い方を紹介したいと思います。 Testing Library には Vue Testing Library や Angular Testing Library などもあるので、普段 React を触っていない人も是非目を通してみてください! testing-library.com サンプルとして次のようなコンポーネントを用意しました。 あまり意味のない処理も入っていますが、気にせずテストを書いていきましょう。 import React, { ChangeEvent
どうも、大曲です。 リモートワークにも慣れて来ました。 今回は技術に特化した人材のための「技術ごとのスペシャリスト制度」の背景や責任部分を紹介します。 初めはコントリビューターという名前にしていたのですが、浸透しなかったりしてこの名前になりました。 ※アドウェイズ全体の制度ではありません。あくまで自分が管轄している組織の話です。 この制度が出来るまでのタイムライン 最初は自分一人で動きや成果を検証しつつ作っていきました。 徐々に関わる人を増やしていき最終的に2020/04に制度として確立させました。 そのため、この制度にたどり着くまで1年以上かかりました。 この制度に関わった人の人数の変化。 各技術ごとの取り組みの動き。 現在はScala、Vue.js(TypeScriptも含む)、Ansibleの3つの言語でこの制度に基づいて改善などを行なっています。 目的 特定の技術(主に言語)に特化
こんにちは。自称 Kent C. Dodds ファンの梅津です。 最近はまっていることは Kent のブログを読み漁ることです。 これは Kent C. Dodds が書いた Testing Implementation Details を翻訳したものです。 kentcdodds.com Enzyme のテストの辛さ 実装の詳細をテストすることの弊害 Testing Library による解決方法 などが解説されています。 また、最後の方に「テストは何のために、誰のために書くのか?」が語られているのですが、いやーこれが本当に深い! 元の記事が書かれたのは 2018 年ですが、とてもいい内容だったので今更ながらまとめてみました。 皆さんも是非読んでみてください。 Testing Implementation Details 実装の詳細をテストすることは災いの元です。 なぜそうなるのか?そして
こんにちは。リファクタリングが大好きなフロントエンドおじさん梅津です。 自信を持ってリファクタリングするには信頼できる自動テストが必要ですよね。 じゃあ信頼できる自動テストとはなんだろう?どう書いたらいいんだろう?と考えていました。 とくにコンポーネントを含む UI テストに対しての悩みが強かったです。 そんなときに出会ったのが Testing JavaScript です。 この記事ではその Testing JavaScript の紹介をしたいと思います。 Testing JavaScript とは Testing JavaScript は PayPal のエンジニアである Kent C. Dodds によって作成された教材です。 ページを開いてすぐ目に飛び込んでくるテスティングトロフィーが特徴的ですね。 Testing JavaScript では、ここに記されている Static, Un
こんにちは!高橋 です。 Goole I/O 2017 の KeynoteでKotlinがAndroid開発の公式言語としてサポートされることが発表されてから2年が経ちました。 当時は、JetBrains社の開発した言語というイメージが強く、まだJavaでAndroidの開発をしている所が多かったと思います。 そして2019年、ついにKotlinはAndroid開発において推奨言語になりました。🎉 ちょうどその頃、私はJVM上で動作する他のJava系統の開発言語を採用しているプロジェクトから離れたので、次のプロジェクトで使用する技術選定をしているところでした。 検討した結果、社内ではKotlinを一部使っているプロジェクトがあったと聞いていたことや、保守性の高さや、コンパイルの時間が早いといった理由から採用することにしました。 初めてKotlinを触るので、開発のしやすさは正直半信半疑だ
Adways Advent Calendar 2019 15日目の記事です。 http://blog.engineer.adways.net/entry/advent_calendar_2019 こんにちは、データエンジニアの内田です。 先日、日本CTO協会がDXCriteriaを公開されましたね。 この資料が改善を推進するに当たって最高のドキュメントだったのでその活用事例をお話したいと思います。 あらまし 内田「ミッションていうのはね、抽象度を高く設定するものなんですよ。オブジェクト指向だってそうでしょう?」 上司「??????!??!??!??!?」 今思えば何を言っているのか自分でも判りませんね。 意図としては、日々遂行する業務はROIの高い、利益との関連性が 見えやすい業務を優先しがちです。いわゆる重要かつ緊急のタスクですね。 出典:https://diamond.jp/artic
Adways Advent Calendar 2019 14日目の記事です。 http://blog.engineer.adways.net/entry/advent_calendar_2019 こんにちは、swfzです。 先日 Angularでの静的サイトジェネレーターscullyが公開されました github.com ReactだとGatsby、VueだとGridsomeなど、静的サイトジェネレーターと言われる部類のものがありましたがAngularは(僕が観測している範囲では)今までありませんでした 個人的に待望だったのでまだ変更等ありそうですが一足早く使ってみたいと思います チュートリアル動画は下記にあります Introducing Scully: Angular + JAMStack - YouTube www.youtube.com JAMstackとは JAMstack | J
2ヶ月ぶりでお久しぶりでもないです インフラの戸田です。 最近はモンスターハンターワールド:アイスボーンをずっとやっております。 いろんなモンスターが増えて楽しいですね~~ モンハンしかしていない生活になってしまいました。 では、本題にいきます。 CloudWatch Logsに保存されているログをS3に移動させて、料金を削減したいという声がありました。 移動させるためには、いくつか手段がありますが、今回はKinesis Data Firehose を使い、ログ転送をする方法をTerraformでコード化しつつ、実現することになりました。 経緯 料金について CloudWatch LogsからS3にログを置く方法 Terraform 今回Terraformでやること Terraformで作るもの ファイル構成 workspaceの機能について Teffaromファイル群 実行手順 今回te
TL;DR モチベーション やってみた マニュアルを読む 実装してみる 一回目 二回目 三回目 まとめ こんにちは、インフラ担当の天津です。今日はAnsibleでの小ネタをご紹介します。 TL;DR roleごとにユーザを切り替えが可能かを調べ、可能であることを確認しました。 モチベーション ユーザ作成とそのユーザでの構築作業を実施したいことがありましたので調べました。 例えば下記のようの状況です。 ec2-userで接続 rootでansible実行用ユーザを作成 以降の処理はansible実行用ユーザで実施する やってみた マニュアルを読む 公式マニュアルを参照します。 https://docs.ansible.com/ansible/latest/user_guide/become.html 変数を指定することで設定できそうです。 実装してみる 一回目 下記のようなplaybookを
永井です、このブログには1年5ヶ月ぶりの登場です。お久しぶりです。 皆様年末年始はいかがお過ごしだったでしょうか、大晦日にふるさと納税を納めた方、3が日は実家から一歩も出なかった方、朝方に寝て昼過ぎに起きる生活を送っていた方……。ちなみに全て僕の事です。 毎年こんなもんですが今回は本を1冊読めました、誰か褒めて。 さて本題に入りまして、今回はRenovateをgitlab-ci上で定期実行し、ライブラリのバージョンを自動で追跡するようにした話をします。似た状況で導入を考えてる方や、バージョンのアップデートについていけないとお悩みの方の助けになれば幸いです。 Renovateとは renovatebot.com 主にgithubやgitlab上で動作するbotで、package.jsonなどを読み取り、依存性を解決した上でバージョンアップを行ったマージリクエスト(プルリク)を行ってくれるとい
Adways Advent Calendar 2018 14日目の記事です。 http://blog.engineer.adways.net/entry/advent_calendar_2018 こんにちは。2018年度新卒、二度めの登場、佐土原です。 早いのもので前回の記事からあっという間に3ヶ月が経ちました。 実家の母がこれを見つけ一瞬で連絡が飛んできて驚いたことにも懐かしさを帯びはじめる歳月です。母ちゃん今回も書いてるぞ。 さて、今回のブログでは僕の所属するチームで導入し始めたMkDocs + GitLabでのドキュメント管理について書いていこうと思います。 導入の背景 僕の携わるプロダクトも息の長いサービスとなってきており、日常的に「あの話はどうなったんだっけ?」「たしかここはこうだったよね?」という会話も増えてきました。 そこでチームとしてしっかりこれまで/これからの経過をドキュ
Adways Advent Calendar 2018 11日目の記事です。 http://blog.engineer.adways.net/entry/advent_calendar_2018 こんにちは、swfzです。 GitHub Actionsがlimited public betaになったので、さっそく使ってみました。 実用的な物というよりはとりあえずさわってみて感触を確かめてみるという感じの内容でやってみます。 GitHub Actionsとは 今年GitHub Universe で発表された、GitHub の新しい機能です。 GitHub Actions github.com 独自でアクションを定義してつなげることでワークフローを作成できます。 ドキュメント GitHub Actions | GitHub Developer Guide developer.github.co
最近関西弁が話せなくなってきた礒部です。 技術書典5というイベントでHexoとNetlifyという存在を知り、この2つを組み合わせたらいい感じのブログ環境が作れるんじゃないかな?と思ったので早速使ってみます! Hexoって? 静的なWebページ作成フレームワーク markdownで書かれたファイルをHTMLに変換して出力する ブログに必要な機能を標準で備えている ブログの中身はこちらのHexoを使うことで、静的コンテンツが出力されるのでWebサーバさえあればブログができます。 記事を書きたいだけなのに、WordPressとか使って色々と運用とか構築するのはめんどくさいですね。 Netlifyって? 静的サイト専用のホスティングサービス ssl等にも無料で対応 GitHub等と連携し、自動でデプロイができる 無料で 100GB も使える! なんといっても、自動デプロイが便利です。Hexoで記
こんにちは。奥村です。 本日は、タイトルの通りですが Slackで初歩的な質問ができるチャンネルを作ったのでその話をします。 内容としては はじめた経緯 はじめるために準備したもの 匿名の質問をSlackに投稿するGoogleフォーム 質問に対して匿名で回答するGoogleフォーム 過去の質問・回答をスプレッドシートに集めるGAS やってみてどうだったか? というものになります。 以下がイメージです 質問 回答 経緯 私自身が初歩的な質問を誰かにしようとした時に誰に聞けばいいのか少し悩んでしまったことから始まります。 「初歩的な質問をして煽られないかな?」と、当時の私が思ってしまったのです。 分からないことがあった時、質問をするのに多少のハードルがあるかと思います。 それが初歩的な質問ならなおハードルが高くなると思います。 初歩的な質問ウェルカム!ウェルカム!という雰囲気があれば心理的安全
adwaysengineerblog.hatenablog.com こんにちは、@binaryta です。 前編ではYogaのデバッグ環境を整えて終わりました。 まだ読まれていない方は是非上記リンクから見てみてください。 前編の末尾の方で僕は次のような一文を残しました。 Yogaのレイアウトは現時点ではW3C標準規格のFlex Layout Algorithmに準拠しているのでW3CのFlex Layout Algorithmに目を通しておくといいと思います。 また、Flex Layoutでよく出てくる用語についても確認しておいたほうがいいでしょう。 先にこれらについて軽くおさらいします (僕もあやふやなので)。 そして今回は内部を深く追ってはいくものの主にメインルーチンの関数を読んでいきます。 後編は次の流れで進みます。 Flex Layout のBoxモデルと用語 Flex Layou
クリエイティブディビジョンからインプルーブメントディビジョンに異動してきました、17新卒の早津です。 最近React v16.3でContext APIがアップデートされました。その使い方や以前とどのように変わったのかをコードを交えて紹介していきたいと思います。 そもそもContextとは何かというと公式サイトでは以下のように説明されています。 reactjs.org Context provides a way to pass data through the component tree without having to pass props down manually at every level. ざっくり言うと親から子、子から孫といったような順番にstate(状態)をpropsを通じて渡さなくてもコンポーネントツリーを介さずにstateを渡す方法があるよーということです。 下図
こんにちは、@binaryta です。 先日「React Native OSS ペアプロ会 #3 byFACTBASE」というイベントに参加してきました。 factbase.connpass.com OSSにcommitすることを主眼としていて、React Nativeのissueの問題に解決策を提示したり、解決できそうならPull Requestを送るといった内容です。 このイベントに参加中、レイアウトのバグを直そうとしていた際にYogaを知りYogaに興味を持ちました。 僕は「React Native OSS ペアプロ会」には初回から参加していますが、今後も定期的に開催するみたいなので、興味ある方は是非参加してみてください。 対象 Yogaはクロスプラットフォーム間で共通にレイアウト処理をするべく作られたレイアウトエンジンです。そのためiOSではObjective-C, Android
次のページ
このページを最初にブックマークしてみませんか?
『Adwaysエンジニアブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く