サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
新年度はじまる
blog.engineer.adways.net
エージェンシー事業でリードデータエンジニアを行なっている大窄 直樹 (おおさこ)です. AWSのログ, サーバーのログってたくさん種類があって難しいですよね... 同じようなログがたくさんあるので, 何を取れば良いのかとか どのくらいの期間保持すれば良いのかとか またその後の, ログの実装や, 分析方法する方法も難しいですよね... 今回AWSに構築した商用アプリケーションのログを整備する機会があったので, このことについて書こうかなと思います. 概要 本題に入る前の準備 今回ログ実装するアーキテクチャ ログに関する法令 ログの取得箇所 設計 保管するログの決定 インフラのログ OSのログ アプリケーションのログ ログの保管 保管場所について 保管期間について バケット構造 アプリケーション, OSのログの転送 実装 アプリケーション, OSのログをfluentbitを用いてS3にログ転送
こんにちは。リファクタリングが大好きなフロントエンドおじさん梅津です。 自信を持ってリファクタリングするには信頼できる自動テストが必要ですよね。 じゃあ信頼できる自動テストとはなんだろう?どう書いたらいいんだろう?と考えていました。 とくにコンポーネントを含む UI テストに対しての悩みが強かったです。 そんなときに出会ったのが Testing JavaScript です。 この記事ではその Testing JavaScript の紹介をしたいと思います。 Testing JavaScript とは Testing JavaScript は PayPal のエンジニアである Kent C. Dodds によって作成された教材です。 ページを開いてすぐ目に飛び込んでくるテスティングトロフィーが特徴的ですね。 Testing JavaScript では、ここに記されている Static, Un
あけましておめでとうございます。本年もよろしくお願いいたします。 久しぶりに登場しました菊池です。 僕は昨年から新しいデータ基盤を構築するプロジェクトを担当しておりまして、最近システムが無事に実稼働してホッと一息したところです。思い起こせば入社時はインフラ担当部署に配属だったのが、広告配信システムの開発をやったり、カジュアルゲーム作ったり。新規事業のスマホアプリを作りつつサーバーサイドの API を作って立ち上げたり、海外向けのサービスを作ったり。いつのまにかメディア運営に関わったりしてきましたが、最近はデータ基盤の開発もやってます。そんなキャリアを歩んできましたが、いつか森の中の開けた草原にあるネット環境の整ったポツンと一軒家で、庭にチャボを放飼にしつつ養蜂をやってみたいと思っています。 話は戻りますが、今回はこの稼働したてホカホカ状態のデータ基盤について概要を紹介したいと思います。よろ
こんにちは!広告事業本部でユニットマネージャーをやっている上森です。 本記事では、Datadog から CloudWatch への移行によって、月額$300から$40に、約87%のコスト削減に成功した話をご紹介します。 また、外形監視の手段選定に悩んでいる方、現在の監視コストを抑えたい方に向けて、CloudWatch Synthetics というコスパに優れた選択肢をお伝えしようと思います。 背景 私のチームでは直近でサービス運用コストの削減に注力しており、EC2, RDS のスペック適正化や Staging 環境の起動時間の見直しなど、多岐にわたる施策を実施してきました。 詳しい内容は同じチームの花田が執筆しましたので、そちらも合わせてぜひご覧ください。 そこで、これらの取り組みの一環として、普段あまり注目されない、監視ツールである Datadog の見直しを実施することになりました。
どうも、ADWAYS DEEEのプロダクト組織の大曲です。 ADWAYS DEEEの子会社化に伴い、組織改編がありプロダクト開発組織(PdM、エンジニア、デザイナー、データサイエンティストが所属している)が子会社の中で一番人数が多い組織になりました。そこを統括する責任を持つ人間として予算額や影響を考えるたびに、「ああ〜なんかヒリヒリする〜」と思うようになりました。 今回は、社内でのアウトプットを出来るだけそのまま貼っているため細かい言葉などが読みづらい点があるかもしれないです。細かく理解するというよりも全体感を理解して貰えたら嬉しいです。 簡単に話すことをまとめると。 エンジニアの事業貢献のために「仕事の定量化」を求められた 戦略を策定し、事業貢献を表す指標を決め、運用した 完璧でなくとも定量化することで方針判断に活用できるが、遅行指標であることを意識すべき 背景 取り組んだこと 戦略策定
こんにちは! エージェンシー事業部でアプリケーションエンジニアをしている23新卒の森田です! 4,5年前に Atom から VSCode に乗り換えてすっかり VSCode のことを相棒だと信じ、もう知らぬことはないとそう思っていました。 しかし、今年エンジニアとして業務で VSCode を使用していると、「あれっ、そんなこともできるの?」と日々相棒の新しい機能を発見しています。 完全に理解したと思ったところからさらに新しい面に気づかせてくれる VSCode は最高の相棒ですね!! そんなところでこのブログでは、VSCode を完全に理解した VSCode 初心者の僕が、VSCode やっぱわからん VSCode 中級者になるために使いこなす必要がありそうだなと思った機能の Tips 集をご紹介します。 筆者の環境は以下のとおりです。 Mac Apple シリコン Ventura 13.3
こんにちは、広告サービスを担当している飛田です。 今回は "SLO導入で悩んでいる方" に向けて、弊社リワード広告サービスでのSLO策定の取り組みについてお話したいと思います。 そもそもSLOを策定するに至った経緯は二つあります。 ユーザへの影響度合いが分かりづらいパフォーマンス問題などの対応が後回しにされがちで、品質改善がなかなか進まない アラート通知があってもユーザに影響があるか即座に判断できず、静観や一部アラートを無視する状況もあり、モニタリングが形骸化しつつある 両方とも共通してユーザに与える影響を正しく把握できていないことが課題のようです。 そこでSLOを策定する過程でオブザーバビリティを高め、モニタリングの最適化とエラーバジェット運用で開発リソース配分の状況改善を図りました。 一挙両得作戦です。 細かな取り組みは順を追って紹介します。 プロジェクト初期 ワークメトリクスからSL
はじめに プロダクトマネジメントクライテリアの紹介 採点してみた 採点結果 チーム内への展開 終わりに はじめに こんにちは、データエンジニア内田です。 最近健康の為にUber Eatsを始めました🚵🏼♀️ ロングピックでも僕は嬉しいっすよ💪❗️ プロダクトマネジメントクライテリアの紹介 さて、先日PM界隈で著名な及川卓也さん、曽根原春樹さん、小城久美子さんによって作成された プロダクトマネジメントクライテリアが公開されました。 書籍『プロダクトマネジメントのすべて』を元にしたチェックリストをつくりました📝 プロダクトマネージャー個人ではなく、チームとしてプロダクトマネジメントできているかを確認できます。 めちゃくちゃ頑張ったので、ぜひご確認&フィードバックをお願いします💪https://t.co/ZbvDxNvVvH— 小城 久美子 / koshiro kumiko (@oz
こんにちは。エンジニアブログ運営の梅津です。 普段はエージェンシー事業部でリードアプリケーションエンジニアとして働いています。 エンジニアブログ運営としてブログの質を向上させるために、これまでのブログの情報を集めたりもするのですが、これを逐一手作業で行うのは大変です。 ある程度の作業は自動化したい。そういったときはブックマークレットを作ると便利ですよね。 今回はそんなブックマークレットの作り方をまとめてみました。 「ブックマークレット?よく知らないな」「聞いたことあるけど作り方とか気にしたことなかった」という人がいれば是非一緒に試してみてください! 筆者の開発環境やこのブログで利用する主な技術のバージョンは次のとおりです。 macOS Node.js 18.12.1 TypeScript 5.0.4 Rollup 3.23.0 Vercel CLI 29.4.0 ブックマークレットとは T
あいさつ こんにちは! 技術本部 技術戦略Div. リードエンジニアの関根です! 2024年9月にジョインして、コツコツSRE活動を進めておりますっ エンジニア3年目ながらSREにゴリゴリ関われているのは、アドウェイズにオープンなコミュニケーションの文化があるおかげです。SREに少しでも興味がある人は、お待ちしておりますよ! 最近、Netflix、アマプラ、U-NEXTに加えてAppleTVも契約してしまいました笑 映画やドラマの話しましょうね! あとお酒が大好きなので、社内外問わず飲みに行きましょうね!! この記事はなに? この記事は、MySQLメジャーバージョンアップグレード時にアップグレードチェッカーユーティリティ(以下、アップグレードチェッカー)を理解して活用することで、効率的にアップグレードを進めるための情報を記載しています。 SREとして、EOL対応屋さん的な動きをコツコツやっ
広告事業本部でリードデータエンジニアを行なっている大窄 直樹 (おおさこ)です. 前回は, AWSでのログ設計/実装に焦点を当てたブログを書きました. 今回は, AWSでのセキュリティ運用/実装に関する内容をお届けしようと思います! セキュリティ運用は難しいですよね. 日々新たな脆弱性が次々と発見されており, 脆弱性自体に気づくのも一苦労です. それに加えて, 対応してもお金を生み出すわけではないため, 過剰な対応をするわけにもいかず, 悩ましいところです(笑) 概要 このブログでは, セキュリティの考え方, 及びAWSでDevSecOpsを行う一手法を紹介します. 利用するサービスは以下のとおりです. Security Hub Amazon Inspector Snyk これらのサービスを使うことで, 開発, セキュリティ, 運用を密接に結びつけ, 効率的なセキュリティ運用を試みます.
2012年09月28日 chef-soloを使ってサーバ設定を自動化して楽をしよう! 〜chef-soloの使い方〜 アドウェイズエンジニアの波切です、こんにちは。 秋口に入ってようやく暑さも一段落してきましたね。 ここ最近は、ただひたすらサーバ設定をする日々が続いていました。というのも、新サービスが次々に開始したり、既存のサービスに大きな提携先が加わったりというのが重なって、突如として多数のサーバ設定の仕事が僕に降り掛かって来たからなんです! chef-soloを導入するまでの経緯 そのサーバ設定作業なのですが、最初のうちは、手順書を作って、一人ちまちまと作業していたのですが、「パッケージのインストール」、「ソースのコンパイル」、「CPANモジュールのインストール」等々、サーバ設定の作業は、結構待たされる事も多く、コマンドを叩いては、しばらく待ってまた、コマンドを打つというような単純な繰
こんにちは、@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
1 ヶ月ぶりに記事の場へ帰ってきました菊池です。 今回は前回の記事「データ基盤をサーバーレスで構築したので概要を紹介」で紹介したシステムで Workflows をどのように使っているのか、概要を紹介したいと思います。よろしくお願いいたします。ちなみに結構満足して使ってます。 Workflows そのものについては書いていないので、Workflows について知りたい方は以下の記事や公式ドキュメント等を参照してください。 Google Cloud のサーバーレス オーケストレーション エンジン、Workflows のご紹介 ワークフロー | Google Cloud とはいえ、自分の言葉で Workflows を簡単に紹介すると、YAML でワークフローを記述してサーバーレスで動かすサービスです。イメージ的には GitHub Actions でワークフローの YAML を書いて動かしているの
こんにちは。かわばたです。最近は居酒屋で飲食したあとに個人情報を紛失するニュースをよく聞くようになりました。私自身は会社の個人情報を持つことはないですが、会社で支給されているPCを持っている時は、運転と同じで「飲んだら持つな、持つなら飲むな」を心がけてます。「飲んだら持つな」と言われても居酒屋に置いていくわけには行かないので、基本的に飲まないのですが。。。閑話休題。 私が所属しているチームでは、AWSでのセキュリティガードレールの実装と運用を担当しています。 弊社ではデータ活用などが増えGCPを選択しているプロジェクトも多く存在しており、GCP に対するセキュリティやガードレール敷設も必要になってきます。 今回の記事はその仕組みをGCPに導入するために模索したときの内容となります。 AWSのセキュリティガードレールの運用 手動修復 自動修復 通知の仕組みの調査 AWSの通知の仕組み AWS
こんにちは、インフラの天津です。 今日はTerraformのディレクトリ構成について書きたいと思います。 きっかけ 謝辞 ディレクトリ構成における現在の課題 先に結論 弊社の状況 インフラ Terraformの利用状況 異なる環境へ対応するディレクトリ構成パターン パターン1.環境分離パターン パターン2.workspace利用パターン パターン3.環境ごと分離 + module利用パターン コンポーネント分割のパターン では何を選ぶべきなのか? 終わりに きっかけ 現在、私が所属しているチームでは社内にTerraformを含むInfrastructure as Codeを 普及させるための活動を行っています。 チームの紹介については過去のブログを参照いただければ幸いです。 blog.engineer.adways.net blog.engineer.adways.net その際に、「Te
こんにちは佐藤です。 今回はサービスのデータ分析基盤を作成する際に使用したDataformについて紹介させていただきます。 背景 Dataformについて 導入して良かったこと 依存関係がわかりやすい クエリのテスト 工夫した点 フォルダの構成について データセット名、テーブル名について シャーディングテーブルの定義について 最後に 背景 現在、広告部署に所属する私たちのチームは自社のサービスデータと外部データを分析してユーザーの利用率向上につながる仮説検証をおこなうプロジェクトを進めています。 その中で様々なデータをTableauを用いて分析しており、データソースとして主にBigQueryを使用しているのですが、現状、分析データの加工、集計処理についてBigQueryのスケジュールされたクエリで作成したりtableau側のカスタムクエリで作成したりと対応方法がバラバラで管理自体ができてい
どうも、大曲です。 リモートワークにも慣れて来ました。 今回は技術に特化した人材のための「技術ごとのスペシャリスト制度」の背景や責任部分を紹介します。 初めはコントリビューターという名前にしていたのですが、浸透しなかったりしてこの名前になりました。 ※アドウェイズ全体の制度ではありません。あくまで自分が管轄している組織の話です。 この制度が出来るまでのタイムライン 最初は自分一人で動きや成果を検証しつつ作っていきました。 徐々に関わる人を増やしていき最終的に2020/04に制度として確立させました。 そのため、この制度にたどり着くまで1年以上かかりました。 この制度に関わった人の人数の変化。 各技術ごとの取り組みの動き。 現在はScala、Vue.js(TypeScriptも含む)、Ansibleの3つの言語でこの制度に基づいて改善などを行なっています。 目的 特定の技術(主に言語)に特化
2012年06月29日 iPhoneのネイティブ機能をWebViewから呼び出す方法(1) ・はじめに リワード広告の「Reward Plus」の担当エンジニアをやっています、波切です。 最近、iPhone向けの新サービスが立ち上がり、私自身もiPhoneアプリ開発に入門したばかりなので、iPhone系の開発の話題を提供できればと思います。 ・ネイティブとWebの連携 HTML5の普及で、昨今ネイティブ機能でしか実現できないことは、だいぶ減ってきました。 Webの方が柔軟性があり、しかもネイティブの開発よりも少ない労力で開発することができるので、Webが利用できる場面では積極的に活用していきたいものです。 一方で、アプリ内課金やデバイス機能へのアクセス、プッシュ通知等といったiPhoneの特性を生かしたサービスをつくるためには、ネイティブ機能へのアクセスは、まだまだ避けて通ることはでき
インフラの清水です。 エンジニアでは在宅で業務をされる方も増え、社内のリソースが利用できなくなり困っている方もいらっしゃるのではないでしょうか。 弊社でも同様に在宅で、社内の資源である書籍が使えなくなってしまいました。 今回は、電子書籍が使えないかと調べた結果をまとめた内容となります。 電子書籍で社内図書を作るとする場合、どんなサービスが必要なのか 法人としてアカウントが作れる 法人としてアカウントが作れ、法人が電子書籍のライセンスを所持し、法人としてアカウントを使える電子出版サービスが必要となります。 法人が電子書籍のライセンスを持てれば、就業中に法人として社員が書籍を読めます。 クレジットカード以外の決済方法がある クレジットカードで購入・カード番号が登録されているような状態の場合、アカウントを知っている社員が自由に書籍を購入できてしまいます。 コンビニ払い・銀行払いなど、書籍購入の際
こんにちは、インフラの天津です。今日は 複数アカウントの AWS Security Hub 検出結果の可視化についてお話したいと思います。 前提 モチベーション AWS Security Hub とは 構想 ツール・サービスの選定 検出結果データのエクスポートについて 可視化用データベース(またはクエリサービス)と可視化ツールについて 構築 全体像 検出結果データエクスポート 検出結果データの S3 -> GCS への転送と BigQuery へのインポート Security Hub からエクスポートしたデータには BigQuery のカラム名に使用できない文字(以下禁則文字)が使用されている件 自動判別で生成されたスキーマでインポートした際に INTEGER 型のカラムに STRING 型のデータが入ってくることがありインポートエラーが発生する件 AWS アカウントデータの S3 ->
adwaysengineerblog.hatenablog.com こんにちは、@binaryta です。 前編ではYogaのデバッグ環境を整えて終わりました。 まだ読まれていない方は是非上記リンクから見てみてください。 前編の末尾の方で僕は次のような一文を残しました。 Yogaのレイアウトは現時点ではW3C標準規格のFlex Layout Algorithmに準拠しているのでW3CのFlex Layout Algorithmに目を通しておくといいと思います。 また、Flex Layoutでよく出てくる用語についても確認しておいたほうがいいでしょう。 先にこれらについて軽くおさらいします (僕もあやふやなので)。 そして今回は内部を深く追ってはいくものの主にメインルーチンの関数を読んでいきます。 後編は次の流れで進みます。 Flex Layout のBoxモデルと用語 Flex Layou
こんにちは菊池です。 今回は以前紹介した、サーバーレスで実装したデータ基盤のデータ収集システムについての記事になります。 以前紹介した記事はこちら: データ基盤をサーバーレスで構築したので概要を紹介 Google Cloud Workflows でサーバレスなワークフローを構築したので概要を紹介 このデータ収集基盤をサーバーレスで構築する際に、とある処理が Cloud Functions の最大実行時間をオーバーしそうになりました。正確に言うと実装時はオーバーしていないものの、今後オーバーする可能性がありそうな状況です。この状況をどうやって回避したのかについて書きましたので、参考になれば幸いです。 Cloud Functions の最大実行時間 最大実行時間をオーバーしそうな処理 実装の選択肢 インスタンスを立ち上げて実行する 取得したデータを Cloud Storage に保存して Cl
2014年04月18日 SublimeText2+Emmetの地味に使えるショートカット集 こんばんは! 先週に引き続きデザイナーの宮下です。今週は先週の続きのGruntをやろうと思っていたんですが、実はちょっと前の井古田くんのネタとかぶってしまったため急遽「SublimeText2+Emmet」の地味に使えるショートカットネタを紹介したいと思います! すいません! ちなみにSublimeText2をご存知でない方はLIGさんの記事がとても参考になります。 また、EmmetはZen-Codingの後継でHTMLやCSSをさくさく書くためのプラグインです。 ご存知でない方は先にクラスメソッドさんの記事を読むと分かりやすいかと思います。 ※GIFアニがちょっと早すぎてわかんねぇぞ! って方はこちらで紹介されているブックマークレットを使うとGIFアニを一時停止したりできるのでご利用ください。 も
Adways Advent Calendar 2019 15日目の記事です。 http://blog.engineer.adways.net/entry/advent_calendar_2019 こんにちは、データエンジニアの内田です。 先日、日本CTO協会がDXCriteriaを公開されましたね。 この資料が改善を推進するに当たって最高のドキュメントだったのでその活用事例をお話したいと思います。 あらまし 内田「ミッションていうのはね、抽象度を高く設定するものなんですよ。オブジェクト指向だってそうでしょう?」 上司「??????!??!??!??!?」 今思えば何を言っているのか自分でも判りませんね。 意図としては、日々遂行する業務はROIの高い、利益との関連性が 見えやすい業務を優先しがちです。いわゆる重要かつ緊急のタスクですね。 出典:https://diamond.jp/artic
こんにちは、@binarytaです。 何回かに分けて記事を公開していこうかなと思っております。 前提 Vue.js version : 2.5.13 対象読者 JSフレームワークの知見がある 仮想DOMの仕組みを知りたい はじめに なぜVue.jsか?という質問が飛んできそうなので一応述べさせて頂きます。 そもそもですが僕がコミットしているチームではVue.jsを使っています。 なぜVue.jsを選択したかというと、流行りのフロントエンドフレームワークだということももちろんありましたが、Vue.jsのhtmlの記述がReactのようなJSX記法ではなく限りなくhtmlに近いDSLを持っていることが一番大きいです。 それに加え、既存のプロジェクトに適用しやすいようなメリットが多かったのも選択した理由になりますが、その辺に関しては以下のVue.js公式ページを参照してみてください。 https
2012年12月14日 vCenter Converter StandaloneでP2Vするときの9項目まとめ こんにちは。インフラ担当の6Eです。月に1度は銃を抱えて戦場を駆けています!戦場で僕と握手! とそれはさておき・・・ 弊社では物理環境だけではなく仮想環境も利用しています。特にテスト環境などでは積極的に仮想化を推進しているのですが、その過程で物理環境から仮想環境へのお引越し(P2V)を行う事があります。 引っ越し先はvSphereなので、vCenter Converter Standaloneを使い基本的にはGUIのウイザード通りに実行していけば良いのですが・・・移行するサーバがLinuxの場合、ちょっと気をつけないと「あれー?動かない??」となる事があります。 今回はそんなLinuxをP2V(Physical to Virtual)移行するときに気をつけて欲しい「9つの項目」を
Adways Advent Calendar 14日目の記事です。 http://blog.engineer.adways.net/entry/advent_calendar/archive 今は昔でもなくつい最近、とある西新宿の新宿グランドタワー38階に正直な40代のシステムエンジニアがいました。←僕のことです。菊池です。 ある晴れたリリース前の忙しい日のことでした、いつものように僕が「自分をプログラミングしろ!」タタタターン!と勢いよくプログラミングしていたところ、うっかりキーボードを滑らせて、いつも使っている大事なプログラミング言語( Ruby )を /dev/null の池に落としてしまいました。 さて、困りました。これでは仕事になりません。 ターミナル越しに /dev/null の池を覗き込むと、目の前に女神が現れてこう言いました 「あなたの落としたプログラミング言語はこれですか
2012年08月10日 iPhoneのネイティブ機能をWebViewから呼び出す方法(2) アドウェイズエンジニアの波切です。 今回は、「iPhoneのネイティブ機能をWebViewから呼び出す方法」の2回目として、WebView内のJavascriptから、ネイティブの機能を呼び出し、かつ値を受け取るための方法についてご紹介いたします。 ・値を受け取るための仕組み 前回(1)の際は、UIWebViewクラスのshouldStartLoadWithRequestメソッドを使って、処理をフックしました。 この方法では、処理をフックは出来ますが、値を返すことは出来ませんでした。 今回は値を返すために、NSURLProtocolというクラスを使います。 NSURLProtocolクラスを使うと、下図のように特定のURLで示される通信処理(request, response)を定義することが出来ま
次のページ
このページを最初にブックマークしてみませんか?
『Adwaysエンジニアブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く