並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 173件

新着順 人気順

uzabaseの検索結果1 - 40 件 / 173件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

uzabaseに関するエントリは173件あります。 開発awsエンジニア などが関連タグです。 人気エントリには 『システムの複雑さはどこから来るのか – Out of the tar pitを読む - Uzabase for Engineers』などがあります。
  • システムの複雑さはどこから来るのか – Out of the tar pitを読む - Uzabase for Engineers

    Uzabase Saas Product Divisionフェローの矢野です。 この記事は、Rich Hickey(プログラミング言語Clojure作者)のプレゼンテーションSimple Made Easyへと繋がっていく、Ben MoseleyとPeter Marksによる「Out of the tar pit」というシステム設計について論じた論文の内容について説明したもので、ユーザベースのSaas Productでのテック発表の一つとしてプレゼンしたものを、ブログとして再度まとめたものです。プレゼン自体は25分くらいでしたので、おそらくこの記事の方がプレゼンよりも詳しいと思います。 ソフトウェア危機 ソフトウェアは本質的に複雑 ソフトウェアの複雑さはどこから来るのか? 複雑さは、別の複雑さを産む 複雑さを分類する 本当に必要な複雑さと、そうでないものがある どうやって複雑さを扱うのか

      システムの複雑さはどこから来るのか – Out of the tar pitを読む - Uzabase for Engineers
    • プログラミングの原則:構造化テキストを文字列結合で作らない、置換でいじらない - Uzabase for Engineers

      こんにちは、ソーシャル経済メディア「NewsPicks」のむとうです。 先日から『Ghost of Tsushima』の開発者が書いた『ルールズ・オブ・プログラミング』という本をちょっとずつ読み進めていて、プログラミング熱が高まっています。この本は大きな指針を示すだけで具体の話をするものではないのですが、読み物として面白いので私も似たようなことをやってみたくなりました。 何年もこういう仕事をしているとバグが入るパターンというのが見えてきます。そしてだいたいどこに行っても何の仕事でも似たようなことをすることになるのですが、今回の話もその一つです。 構造化テキストを文字列結合で作らない、置換でいじらないというのはこれだけみると何のことか分かりづらいかも知れませんがSaaS Product Team セキュアコーディングの啓蒙 第2回 (SQL インジェクション編)の内容とある面では同じ話です。

        プログラミングの原則:構造化テキストを文字列結合で作らない、置換でいじらない - Uzabase for Engineers
      • NewsPicksにCTOとして入社して1年でDX Criteriaを大幅改善した話 - Uzabase for Engineers

        こんにちは。このブログでは初めまして。2020年の2月にNewsPicksに入社した高山です。 今回は僕がNewsPicksのCTOになってからの1年でやったお仕事について書いていきます。 CTO最初のミッション DX Criteriaについて 「デプロイ回数」を定点観測 やってきたチャレンジ 1年経ってみて CTO最初のミッション NewsPicksは2013年に誕生し、5年ほどの壮大な創業期の間にたくさんの新しい領域に挑戦しており、僕が入社したときには既に事業面でもシステム面でも「それなりの複雑さ」という感じでした。 前任CTOの杉浦さん(今はグループ内でアメリカでの新規サービスの立ち上げをしています)からバトンを受け取って最初のミッションが「DX Criteriaを上げること」だと聞いたときにそのあたりの事情を全て察しました。😅 結論から先に書くと、1年で大幅改善を達成することがで

          NewsPicksにCTOとして入社して1年でDX Criteriaを大幅改善した話 - Uzabase for Engineers
        • TypeScriptではじめるChatGPT API:入門から一歩進んだテクニックまで - Uzabase for Engineers

          NewsPicks エンジニアの中村です。普段はデータ基盤や機械学習システムの開発、運用をやっています。 さて皆さん、すでにChatGPTは使っていらっしゃるでしょうか。エンジニア、非エンジニアを問わず世の中を席巻している感のある ChatGPT ですが、今月初めにいよいよ API も公開されて、アプリケーションやサービスに組み込みたいと考えている方も多いのではないでしょうか1。 というわけで、弊社でもこの新しい技術をより多くのエンジニアに使いこなせるようになってもらいたいと考え、ChatGPT API に関する社内勉強会を先日開催しました。本記事ではこの勉強会の内容を再構成してお届けします。 とりあえず使うだけなら簡単な ChatGPT ですが、本記事では、長文を扱ったり、ChatGPT と外部のシステムを連携させたりするテクニックなど、知っている人はすでに知っているが、まだそれほど広く

            TypeScriptではじめるChatGPT API:入門から一歩進んだテクニックまで - Uzabase for Engineers
          • AWSの開発環境の利用時間をGoogleカレンダー連動させたら開発チームが自由に使えてコスト70%削減!! - Uzabase for Engineers

            こんにちはNewsPicks SREチームの美濃部です。 NewsPicksのSREのミッションの1つに「コストを適正化する」というものがあります。サービスの規模拡大に比例してインフラコストが増えないようにし、売上に対するコストの割合を低く維持していくのがミッションになります。 今回はこのミッションに対するアクションとして開発環境のインフラコストを適正化した話をします。 NewsPicksの開発環境について 開発環境のコストをどうやって適正化したか 稼働時間対応を実現する仕組みについて 実際どれくらい削減できたのか まとめ NewsPicksの開発環境について まず、NewsPicksの開発環境について概要を説明します。 インフラ基盤は本番環境と同様にAWSを利用しており開発チームは現在10以上のチームが存在し、それぞれのチーム専用に用意された開発環境を利用しています。 2年程前までは開発

              AWSの開発環境の利用時間をGoogleカレンダー連動させたら開発チームが自由に使えてコスト70%削減!! - Uzabase for Engineers
            • エンジニアが今日から始める英語学習の継続方法 - Uzabase for Engineers

              1. はじめに こんにちは。ソーシャル経済メディア「NewsPicks」でエンジニアをしております小林です! 皆さんは英語学習に取り組んでいらっしゃいますか?エンジニアとして技術ドキュメントや国際カンファレンスの動画等で英語に触れる機会があると思います。また、技術的なスキルはあるが、英語を話すことが苦手な場合、将来的に市場でどう評価されているかの動向も気になるところです。 最新の2023年度の報告によると、世界的にITエンジニアの給与が上昇している一方、日本では前年比USドルベースで5.9%減少、現地通貨(円)ベースでもわずか0.4%増加に留まっています。残念ながら、世界と比較した時に日本の給与の優位性がなかった一年となりました。今後もこの差が開く一方であれば、個人や企業が国際市場で競争力を保つために、英語能力の向上も必要になる機会が高まっていくことを示唆しています。 しかし、「英語力を伸

                エンジニアが今日から始める英語学習の継続方法 - Uzabase for Engineers
              • 1年で内定承諾率が8倍に。エンジニア採用は「開発者体験」と「候補者体験」を良くすれば上手くいく! - Uzabase for Engineers

                こんにちは。NewsPicks CPO/CTO の 文字 です。NewsPicks Advent Calendar 2022 の 4 日目を担当します。昨日は 池川さん による Kotlin 知見共有会 ー 社内勉強会を継続させるための工夫 でした。 qiita.com ちょっとキャッチーなタイトルを付けてしまいましたが、今日は NewsPicks のエンジニア採用に関する取り組みと、そこから得た学びについて共有できればと思います。 はじめに 当時の状況 候補者体験の改善 転職ドラフトの強化 エンジニアの給与アップ(+50 万) カジュアル面談の見直し 技術課題の撤廃とワークショップ面接の導入 面接参加者を増やす オファー時にラブレターを渡す 候補者体験を良くするだけでは、採用はうまくいかない 開発者体験の改善 開発者体験の改善は一夜にしてならず 2020 年 - 開発者体験への投資を開始

                  1年で内定承諾率が8倍に。エンジニア採用は「開発者体験」と「候補者体験」を良くすれば上手くいく! - Uzabase for Engineers
                • プログラミングの原則:enumの比較はすべてバグ - Uzabase for Engineers

                  こんにちは、ソーシャル経済メディア「NewsPicks」のむとうです。 この記事は NewsPicks アドベントカレンダー 2023 の3日目の記事です。 昨日は@J_Nakagawa(隼佑 中川)さんによる『LambdaレスポンスストリーミングとAWS-SDKを使ってSlackに進捗バーを表示させる』でした! 世の中には再現が難しく一見してバグがありそうに思えないコードもありますが、一方でプロダクションコードの中にはひと目見てバグが有りそうなコードもまた多いものです。いくつかの特定のパターンをとる文字列(環境名など)やenum(以下どちらもenumと表現します)に関する条件分岐もその一つです。プルリクを見てこのようなパターンがあれば、バグの疑いが強くなります。周囲を見渡すと、大抵すでにバグっているか潜在バグを含むコードが見つかります。すべてバグというのは言い過ぎにせよ、わかりやすさと変

                    プログラミングの原則:enumの比較はすべてバグ - Uzabase for Engineers
                  • FacebookからOAuthを停止されてわかった今時のセキュリティ - Uzabase for Engineers

                    NewsPicksの高山です。 この記事はUzabase Advent Calendar 2021の23日目の記事です。昨日は我らが赤澤剛さんによるAWS Organizationの記事でした。 去る2021年10月12日に突然NewsPicksのサービスでFacebookログインやFacebookへの投稿ができなくなりました。この状態は12月13日まで2ヶ月もの間継続していて、ユーザーさんには不便を強いてしまいました。 米Facebook本社とメールでやりとりしていましたが、メール返信に何週間も待たされ、Facebook日本法人に助けてもらってようやく解決に至ることができました。 この苦労話はいくらでもできるのですが、今回はセキュリティの切り口で書いていきます。 Facebookの「データ保護評価」 データセキュリティ項目 「すべてのプラットフォームデータストレージ(すべてのデータベース

                      FacebookからOAuthを停止されてわかった今時のセキュリティ - Uzabase for Engineers
                    • ジュニアエンジニアを脱却するための「コンテナ流儀」 - Uzabase for Engineers

                      こんにちは。ソーシャル経済メディア「NewsPicks」で検索システムを開発しております崔(ちぇ)です。 この記事は、 NewsPicks Advent Calendar 2023 の23日目の記事になります。 qiita.com 昨日ははぐっさんによる「SwiftUIのKeyframeAnimatorでちょっとしたカードアニメーション 〜猫の手を添えて〜」でした! はじめに コンテナ流儀: 必要最低限のものだけで運用する Point1)レイヤーは少ないほどいい TIP:ベースイメージを作る Point2)不要なパッケージをインストールしない Point3)いつ再起動してもいいコンテナを作る Point4)独立したアプリケーションにする TIP:複数のプロセスを実行したい場合もある TIP:環境変数を積極的に使う Point5)フォアグラウンドで実行する 終わりに まとめ 感想 告知 はじ

                        ジュニアエンジニアを脱却するための「コンテナ流儀」 - Uzabase for Engineers
                      • AWSのコストモニタリングの知見をシェアしたい - Uzabase for Engineers

                        NewsPicksの高山です。 今回は、AWSのコストを我々がどのように定点観測しているかを書いていきます。 あわよくば他社さんも事例を広く共有してもらえて業界全体の共有知が増えることに繋がってほしい狙いがあります。 NewsPicksでは過去2年ぐらいかけて地道にコストモニタリングのオペレーションを作ってきました。手法としては、毎週コストモニタリング担当のメンバーで定例ミーティングをして、以下の手順をやりながら議事録にまとめていきます。 毎週のオペレーション コスト異常検出 Savings Plansの購入 DynamoDBのReserved Capacityの購入 毎月のオペレーション 請求書CSVの取り込み Cost & Usage ReportとQuickSight たまにやるオペレーション Reserved Instanceの購入 規模の適正化に関する推奨事項 Trusted A

                          AWSのコストモニタリングの知見をシェアしたい - Uzabase for Engineers
                        • 入社したらAWSコンソールにCloudWatchアラームが1000個以上あったので整理してる話 - Uzabase for Engineers

                          こんにちはNewsPicks SREチームの飯野です。 今年の1月入社の新入社員です。そろそろお仕事に慣れてきました。今回は研修と研修の合間に地道に行っていたCloudWatchアラームの整理について話していきたいと思います。ちょっと長くなりますがお付き合いください。 よくわからないしアラームを整理しよう まずはスプレッドシートで一覧してみよう 整理の方針を決めよう さまざまな問題をかかえたアラームたち Case#1 AlarmActionが未設定のアラーム(5個) Case#2 ActionのSNSトピックが存在しないアラーム(16個) Actionを差し替えるのはちょっと手間 Case#3 ActionのSNSトピックの通知先が退職した社員のメールアドレス(97個) Case#4 監視先のDynamoDBのテーブルがすでに存在しないアラーム(97個中の85個) Case#5 監視先のE

                            入社したらAWSコンソールにCloudWatchアラームが1000個以上あったので整理してる話 - Uzabase for Engineers
                          • MySQLのutf8mb4と戦った話 - Uzabase for Engineers

                            皆様こんにちは、NewsPicksエンジニアの米澤です。 先日 2023/03/30は、こちらでアナウンスしていた通り、サービスの停止を伴うシステムメンテナンスを実施させて頂きました。 NewsPicksをご利用頂いている皆様には、ご迷惑おかけいたしました。 今回はこのメンテナンスの中で行われたDBテーブルのmigrationについてお話ししたいと思います。 ことの始まり やったこと 方針決め utf8mb4に対応していないテーブルを調べる migrationを作成する 影響範囲を調べる 開発環境でリハーサルを行う メンテナンスの日 最後に ことの始まり NewsPicksではバグの検知にBugSnagを利用しています。 ある時、BugSnagにこんなエラーが通知されてきました。 org.springframework.orm.hibernate4.HibernateJdbcExcepti

                              MySQLのutf8mb4と戦った話 - Uzabase for Engineers
                            • EC2とcronで動いていたバッチ基盤をマネージド化した - Uzabase for Engineers

                              概要 ソーシャル経済メディア「NewsPicks」SREチームの中川です。 皆さんはバッチ処理基盤はどうされていますでしょうか。 NewsPicks では少し前まではそれらをEC2、cronの組み合わせで動作させていました。 何年も前からこの仕組みだったのですがSREとしてはEC2の面倒見るのも手間ですし、それ以上にcronを変更する際のオペレーションミスが目立ったのが懸念点でした。 その為、まずはAWSマネージド化するための基盤を整備し、その後バッチアプリを載せ替えていくようにしました。 対応前の基盤構成 同じSREチームの安藤さんが CloudNative Days Tokyo 2023 で登壇されたときの資料をお借りします。 ご覧の通り、大体のサービスはマネージド化していましたがバッチ基盤だけは旧来のままEC2インスタンスを利用していました。 10年モノのサービスのインフラを漸進的

                                EC2とcronで動いていたバッチ基盤をマネージド化した - Uzabase for Engineers
                              • ソフトウェアエンジニアのライブラリアップデートの向き合い方 - Uzabase for Engineers

                                こんにちは。ソーシャル経済メディア「NewsPicks」NewsPicks Stage.事業のエンジニアをしています、林です。 業務では Next.js / Rust / Go などを用いて、経済・ビジネス情報に特化した動画配信サービスであるNewsPicks Stage.の開発・運用を行っています。 はじめに 突然ですが、皆さんは自身のソフトウェアのライブラリアップデートは行えていますか? 皆さんはどのようにライブラリアップデートを行なっていますか? 新機能を試したくて? npm iで失敗してから頑張る? Renovate / dependabot が自動Mergeされる環境? もしくは対応担当が特定の日にまとめてMergeする運用? しかし多くの開発者は、アップデートに対して「うまくいっている」と言えないのではないでしょうか?自身も様々なプロダクトを開発してきた経験上、日々の中ではどう

                                  ソフトウェアエンジニアのライブラリアップデートの向き合い方 - Uzabase for Engineers
                                • 「CTOとして経営参画すること」と、「エンジニアがCEOになること」の違い - Uzabase for Engineers

                                  ユーザベースのPodcast「Meet UB Tech」では、SPEEDAやNewsPicksなどのサービスを開発するエンジニアチームのカルチャーをゆるっと配信しています。 本記事ではMeet UB Tech #6 「エンジニアのキャリアと組織」から、要点をピックアップしてお届けします。 出演者: 林尚之 @t_hyssh (ユーザベース B2B SaaS Business 執行役員 CTO、UB Datatech 代表取締役) 赤澤剛 @go0517go (NewsPicks 執行役員 法人領域開発担当、AlphaDrive CTO) イイダユカコ @becyn (NewsPicksエンジニア/パーソナリティ) CTOとCEOの違い イイダ: 今日はゲストに、ユーザベースのSaaS事業でCTOを務めつつ、今回新しくUB Datatechというグループ企業のCEOに就任された林さんにお越し

                                    「CTOとして経営参画すること」と、「エンジニアがCEOになること」の違い - Uzabase for Engineers
                                  • 2024年のPythonプログラミング - Uzabase for Engineers

                                    ソーシャル経済メディア「NewsPicks」で推薦や検索などのアルゴリズム開発をしている北内です。Pythonは頻繁に新機能や便利なライブラリが登場し、ベストプラクティスの変化が激しい言語です。そこで、2024年2月時点で利用頻度の高そうな新機能、ライブラリ、ツールなどを紹介したいと思います。 この記事では広く浅く紹介することに重点を置き、各トピックについては概要のみを紹介します。詳細な使用方法に関しては各公式サイト等での確認をおすすめします。なお、本記事ではOSとしてmacOSを前提としています。 環境構築 Pythonの環境構築はpyenvとPoetryの組み合わせがもっとも標準的でしょう。 以下の手順でpyenvとPythonをインストールできます。 brew install pyenv # Bashの場合 echo 'eval "$(pyenv init -)"' >> ~/.ba

                                      2024年のPythonプログラミング - Uzabase for Engineers
                                    • AWS FargateではなくECS on EC2を選ぶメリット〜コスト編〜 - Uzabase for Engineers

                                      このブログは NewsPicks Advent Calendar 2022 1日目の記事です。 qiita.com NewsPicksのSREチームでリーダーをしている安藤です。 NewsPicksに入社して1年が経ちましたが、最近は円安により親の顔よりもAWS Cost Explorerを見る毎日です。 ということで、コストの話をしていきたいと思います。 NewsPicksでのコンテナ移行について ECS on EC2とは? コンテナの実行環境としてFargate or EC2を選択する時の評価基準 実際、Fargateはどれだけ割高なの? CPU性能の比較 コンピューティング料金の比較 パフォーマンスに対するコスト コストに対して、マネージドサービスのメリットが上回るか 終わりに NewsPicksでのコンテナ移行について NewsPicksでは、Amazon ECSによる全面コンテナ

                                        AWS FargateではなくECS on EC2を選ぶメリット〜コスト編〜 - Uzabase for Engineers
                                      • プロダクト開発組織のチームビジョンを作ったらすごいパワーが生まれた話 - Uzabase for Engineers

                                        こんにちは。NewsPicks プロダクトチームの文字です。今日はプロダクト開発組織のチームビジョンを作ったら、すごいパワーが生まれた話をさせて頂きます。 「経済を、技術でもっとおもしろく。」 今年の春、NewsPicks のプロダクトチームでは、こんなチームビジョンを作りました。実は NewsPicks のタグラインは「経済を、もっとおもしろく。」なので、会社の掲げるタグラインをほぼ踏襲しているように見えます。しかし一見凡庸なこのビジョンが、実はとても大きなパワーを秘めていたのです。 1/ なぜビジョンをつくったのか 増大し続ける技術的負債と運用負荷 組織の急拡大 2/ みんなでビジョンをつくる 合宿の開催 腹落ちできるビジョンが完成 3/ ビジョンをつくったら、どうなったのか? ビジョンはパワー 4/ これからのプロダクトチーム 1/ なぜビジョンをつくったのか そもそも、何故こんなチ

                                          プロダクト開発組織のチームビジョンを作ったらすごいパワーが生まれた話 - Uzabase for Engineers
                                        • 社内システムのセキュリティ向上のため、Lambda + CloudFront + S3でインフラ基盤を再構築した話 - Uzabase for Engineers

                                          はじめに ソーシャル経済メディア「NewsPicks」SREチーム・新卒エンジニアの樋渡です。今回は、AWSサービスである「Lambda」「CloudFront」「S3」を用いて、弊社で使用している社内向けシステムの基盤を再構築し、開発者体験の向上やセキュリティ対策を行なったお話です。 お話の内容 弊社で使用している社内向けシステムの一つに「Watson」というシステムがあります。「Watson」とは簡単にいうと「NewsPicks」のユーザーIDをもとにユーザーごとの情報を検索・閲覧できるシステムで、お客様からの問い合わせ対応等に活用される重要なシステムです。「Watson」は構築されたのが8年前と歴史が古く、歴史が古い故に数々の問題を抱えていました。今回のお話では、歴史の古い社内システムのインフラとバックエンドを更改し抱えていた問題を解決したぜ!というお話となっています。 抱えていた課

                                            社内システムのセキュリティ向上のため、Lambda + CloudFront + S3でインフラ基盤を再構築した話 - Uzabase for Engineers
                                          • Playwrightを使ったE2Eテストを導入した話 - Uzabase for Engineers

                                            はじめに こんにちは。ソーシャル経済メディア「NewsPicks」の QA/SET チームの海老澤です。 先日 弊社で E2E テスト実行するために Playwright を導入したため紹介させてください。 E2Eテストとは E2Eテスト(エンドツーエンドテスト)とは、ソフトウェア開発におけるテスト手法の一つで、アプリケーションが実際の運用環境と同様の条件下で正しく動作することを確認するためのテストです。 システムの開始点から終了点までを通じて、ユーザーの視点でアプリケーションのフローを追い、機能全体が連携して期待通りに動くかを検証します。具体的には、ユーザーが行うであろう一連の操作をシミュレートして、データがシステムを通じて適切に流れるかや、最終的なアウトプットが正しいかどうかを確認します。E2Eテストにより、部分的な単体テストや統合テストでは見逃されがちな問題を発見することができます。

                                              Playwrightを使ったE2Eテストを導入した話 - Uzabase for Engineers
                                            • エンジニア従業員エンゲージメント向上への道 - Uzabase for Engineers

                                              はじめに こんにちは!NewsPicksのVP Of Mobile Engineeringの石井です。 約1年前にPharmaXさん主催の「事例で学ぶ!エンジニア組織文化を作る採用・評価の仕組み」というイベントでPharmaX 取締役・エンジニアリング責任者の上野さん、カオナビCTOの松下さんと私の3人で事例発表やパネルディスカッションをしました。(そのときの記事は、PharmaXさんのこちらの記事にあります) このときに私が話したエンゲージメントに関することは、「採用とオンボーディングを頑張った結果、エンゲージメントもよくなりました」的な話もしました。 ただ、それ以外にも多くのことをしています。今回はそこを深掘りしたいと思います。 以前の状態との比較 当時、発表した時のモバイルチームのエンゲージメントは次の通りでした。(NewsPicksでは半期に一度、サーベイをしています) で、202

                                                エンジニア従業員エンゲージメント向上への道 - Uzabase for Engineers
                                              • AWS Fargate/Fargate Spotのハイブリッド利用をCDKで実装したら料金が半額になった話 - Uzabase for Engineers

                                                こんにちは。NewsPicksのWeb Reader Experience Unitで学生インターンをしている西(@yukinissie)です。 昨年の 9 月までSREチームに所属しており、その頃にNewsPicksの全ての常駐バッチサーバーをAWS CDKを用いてAWS FargateとAWS Fragate Spotを併用するようにさせましましたのでコストの変化や工夫した点についてご紹介します。 AWS Fargate Spotとは? 実際どれくらいのコストを削減できたか 0. ECSコンテナ化 1. 使用量はほぼ横ばい 2. Fargate Spotの適用 3. コストが約47%削減!!! AWS CDKでAWS Fargate Spot機能を適用する際に工夫したこと 課題 解決策 FargateとFargate Spotの併用 キャパシティープロバイダー戦略を自動で決定するIaC

                                                  AWS Fargate/Fargate Spotのハイブリッド利用をCDKで実装したら料金が半額になった話 - Uzabase for Engineers
                                                • AWS Security HubとSlackを利用して、セキュリティ状況の監視運用を効率化したお話 - Uzabase for Engineers

                                                  はじめに 初めまして!ソーシャル経済メディア「NewsPicks」SREチーム・新卒エンジニアの樋渡です。今回は「AWS Security Hub」と「Slack」を用いて、弊社で利用しているAWSリソースの監視運用を効率化したお話です。 お話の内容 年々増加するサイバー攻撃に対抗するため、セキュリティ対策は日々重要度が増してきています。 そこで弊社で利用しているAWSのリソースに対して、各種セキュリティイベントの収集ができるAWS Security Hubを利用することで、セキュリティ状態の可視化と迅速な対応がしやすい運用を行い、セキュリティ状態の現状把握から始めることにしました。特にNIST CSFの「検知」部分の運用について整備した内容となっています。 NIST Cyber Security Frameworkについて 皆さん、「NIST Cyber Security Framewo

                                                    AWS Security HubとSlackを利用して、セキュリティ状況の監視運用を効率化したお話 - Uzabase for Engineers
                                                  • なぜテストコードを書くのだろう? - Uzabase for Engineers

                                                    こんにちは、NewsPicksの北見です。 ところで皆様、テストコードって書いてますか...? ネットでテストコードについて検索すると 「テストコードを書きましょう」 「テストコードとはこうあるべし」 「TDD(Test Driven Development)だ」 等々が叫ばれています。 ただ、なんとなく「方法論ありきでとにかくテストを書け」と言われているようで、テストの必要性について納得感に欠けている方もいらっしゃるのではないでしょうか? なぜ テストコードを書くのでしょうか? テストコードを書く理由 将来リファクタリングをしやすくする テストコード書く途中で、開発者自身が仕様を理解し、成長できる 最後に テストコードを書く理由 諸説ありますが、私が思うテストコードを書く理由は 将来リファクタリングをしやすくする テストコード書く途中で、開発者自身が仕様を理解し、成長できる の2つです。

                                                      なぜテストコードを書くのだろう? - Uzabase for Engineers
                                                    • 3 年半でまるで別企業?大幅に改善した NewsPicks の DX Criteria を大公開! - Uzabase for Engineers

                                                      こんにちは。NewsPicks CPO/CTO の文字です。先週、仕事が少し落ち着いたタイミングで久しぶりに DX Criteria を測定したので、今回はその結果を大公開しようと思います。 はじめに:NewsPicks は開発者体験に注力しています NewsPicks は、まもなくサービス開始から 10 周年を迎える息の長いサービスです。およそ 10 年前に Uzabase の新規事業として立ち上がり、以降は比較的少人数のエンジニア体制で長らく開発が続けられていました。4 年ほど前からビジネスの多角化に伴いエンジニアを大幅に増員していますが、高成長の裏でシステム面では様々な箇所が老朽化しており、エンジニアを増員してもスケールできない状態に陥っていました(きっと多くの方が想像できる状況だと思います)。 そこで 2020 年に私と高山(現 VP of Data Engineering)が執行

                                                        3 年半でまるで別企業?大幅に改善した NewsPicks の DX Criteria を大公開! - Uzabase for Engineers
                                                      • なぜCDKを使う「べき」なのだろう? - Uzabase for Engineers

                                                        はじめに 皆様こんにちは、ソーシャル経済メディア「NewsPicks」(Media Infrastructureチーム)エンジニアの北見です。 現在、私は弊社サービスの一部のインフラ刷新を行なっている最中で、ここ数ヶ月 AWS CDKを触っておりました。 前職では Infrastructure as Code として Terraform を使ったことがあるのですが、少なくともAWS を使うという条件においては CDKを使うべき という結論に辿り着きました。 今回はそのように考えるようになった理由について説明していこうと思います。 前提 Terraform はパブリッククラウドにおける Infrastructure as Code の走りとして様々な現場に導入実績があり、それに対するリスペクトは持つべきです。 しかしよくある「AvsB」というメリデメの構図で「どっちでもいいよ、好みだよ」と投

                                                          なぜCDKを使う「べき」なのだろう? - Uzabase for Engineers
                                                        • Playwrightを使ったE2Eテストを導入した話 - インフラ編 Playwright × Allure Report × AWS - Uzabase for Engineers

                                                          はじめに こんにちは。ソーシャル経済メディア「NewsPicks」の QA/SET チームの海老澤です。 先日は Playwright を使ったE2Eテストの導入について、紹介させていただきました。 今回は作成したテストをAWS 基盤上で動かす方法を紹介させていただきます。 前回の記事 tech.uzabase.com E2Eテスト実行のタイミング NewsPicksでは 下記のタイミングで E2Eテストを実行させています。 ①リリース時のカナリーデプロイ後 NewsPicks ではカナリーリリースを採用していてカナリーへのデプロイが完了した後、カナリーに向けてE2Eテストが動きます。 ②開発環境デプロイ後 動作確認をしたい場合に feature ブランチなどでデプロイ後 E2Eテストを実行できるようにしています。 本記事では主に 「②開発環境デプロイ後」 を例に紹介します。 実行方法 具

                                                            Playwrightを使ったE2Eテストを導入した話 - インフラ編 Playwright × Allure Report × AWS - Uzabase for Engineers
                                                          • ユニットテストをGitHub ActionsからCodeBuildに移行し、実行時間を35%削減した - Uzabase for Engineers

                                                            こんにちは。NewsPicks SREチームの 海老澤 です。 今回はGithub Actionsで実行していたテストを高速化したので紹介したいと思います。 課題 取り組み テストの並列化 AWS CodeBuildへの移行 CodeBuildの設定 コンピューティングタイプ トリガー buildspec.yml 結果 課題 NewsPicksでは Junitのテスト等をGithub Actions から実行しているのですが、2013年のサービス開始当初から存在する、一番コードベースが大きいリポジトリのビルド・テストの実行時間に 20~30分ほどかかっていました。 テスト自体はバグを産まないためにも必要なものですが、時間がかかるため開発効率が下がってしまいます。そのためテスト高速化の取り組みを行いました。 取り組み テストの高速化をする上でやったことは大きく下の二つです テストの並列化 G

                                                              ユニットテストをGitHub ActionsからCodeBuildに移行し、実行時間を35%削減した - Uzabase for Engineers
                                                            • ペアプログラミングはXPの5つの価値をエクストリームにする - Uzabase for Engineers

                                                              SaaS Product Team の野口です。 以前にもいくつかの記事で触れたように、SaaS Product Team では XP(エクストリーム・プログラミング)をベースとしたチーム開発に取り組んでおり、ほぼ全ての作業をペアで行っています。*1 かく言う私もこのチームに入ってから 1 年以上の間 *2、日々ペアプログラミングに取り組む中でわかってきたことがあるので、この記事で共有したいと思います。 XP はうまくいくことを極限(エクストリーム)まで推し進めることから生まれた ペアプログラミングは XP の 5 つの価値を極限まで推し進める 注記 コミュニケーション シンプリシティ フィードバック 勇気 リスペクト 旅は続く 一緒にペアプログラミングと XP を探求しませんか? XP はうまくいくことを極限(エクストリーム)まで推し進めることから生まれた Kent Beck の『エクス

                                                                ペアプログラミングはXPの5つの価値をエクストリームにする - Uzabase for Engineers
                                                              • 2022年における開発組織のパフォーマンス計測とNewsPicksの取り組みについて - Uzabase for Engineers

                                                                NewsPicksの高山です。 2020年と2021年は「開発生産性」またはほぼ同義の「開発者体験」に注力した2年でした。特に2021年は、自分でも少しウザいぐらいに登壇やブログやインタビューでこの話をしていました。(後半からは「開発生産性」から派生してKotlinの話が主でした) tech.uzabase.com codezine.jp hatenanews.com zine.qiita.com zine.qiita.com tech.uzabase.com hatenanews.com 今回のブログでは、2021年のNewsPicks開発組織のパフォーマンス計測の現状と、界隈の動向についてまとめていきます。 背景 デプロイ頻度の計測 Findy Teams Four Keys まとめ 宣伝 背景 『LeanとDevOpsの科学』によると、一般的にアジャイル開発で良いとされる開発スタイル

                                                                  2022年における開発組織のパフォーマンス計測とNewsPicksの取り組みについて - Uzabase for Engineers
                                                                • 2023年のSREチームのAWSコスト削減を振り返る - Uzabase for Engineers

                                                                  概要 全般 何はともあれコストタグ Cost Explorer でリソース別にコストを見よう IaC化しよう QuickSight も使おう 稼働時間対応する際はマスタカレンダを用意したい コンピューティング、コンテナ関連 EC2 定時バッチはマネージド化しよう EBS, Snapshot, AMI, EIP を消す ECS Container Insights の有効/無効を使い分けよう 何でも Fargate を選択すれば良いわけではない Fargate スポットを活用しよう Lambda Graviton対応しよう ECR イメージサイズを抑えよう ライフサイクルポリシーを設定しよう ネットワーキング VPC VPCエンドポイント入れ忘れに注意 VPC Flow Logs のS3バケット設定に注意しよう ストレージ系 RDS スロークエリ出てないかAPMを使って確認 DynamoDB

                                                                    2023年のSREチームのAWSコスト削減を振り返る - Uzabase for Engineers
                                                                  • ユーザベースを、誰もがエンジニアリングを楽しむテクノロジー・カンパニーへ - Uzabase for Engineers

                                                                    この記事は、ユーザベースグループのTechメンバーによるポッドキャスト「Meet UB Tech #15」(収録公開 2022年4月15日)の書き起こし記事です。 https://tech.uzabase.com/archive/category/Podcast 2022年4月15日、ユーザベースは最も自由なテックカンパニーを目指すための新たな取り組みを発表しました。今回のMeet UB Techでは、ユーザベース代表取締役Co-CEO兼CTOの稲垣が登場。最も自由なテックカンパニーを目指す上での取り組みの内容やその目的、さらに私たちユーザベースが実現したい未来について、詳しく語ってもらいました。 以下、収録当日(2022年4月15日)の様子をほぼ全文採録でお届けします! 【登場人物】 ・稲垣 裕介:ユーザベース代表取締役Co-CEO/CTO ・赤澤 剛:NewsPicks Fellow兼

                                                                      ユーザベースを、誰もがエンジニアリングを楽しむテクノロジー・カンパニーへ - Uzabase for Engineers
                                                                    • 安全安心の開発体験のために Visual Regression Testing はじめました。 - Uzabase for Engineers

                                                                      NewsPicks Web Experience Unit でフロントエンドエンジニアをしているじゆんきち(@junkisai)です。 弊チームでは、ここ1年間くらいWeb 版のNewsPicksを新しい基盤に置き換えつつ、見ためも刷新するプロジェクト(以下リニューアルプロジェクト)を進めています。 今回は、弊プロダクトで Visual Regression Testing をはじめて、3ヶ月ほど運用してきたので、今回はその導入や運用にあたっての話をしたいと思います。 導入に至った背景と目的 使用したツールと構成 ツール 構成 導入の流れ ライブラリのインストール storycap の設定 reg-suit の準備 Amazon S3 の準備 Github Actions の設定 運用して出てきた課題と解消 日本語で表示されるはずの部分が□で表示されてしまっている 画像など外部リソースから

                                                                        安全安心の開発体験のために Visual Regression Testing はじめました。 - Uzabase for Engineers
                                                                      • GitHub Actions / GitHub CLI を使った PR レビューをサポートする取り組み - Uzabase for Engineers

                                                                        NewsPicks でサーバーサイドエンジニアを務めている池川です。 サービス運営をされている会社さんであれば、どの会社さんでも何らかの障害を起こし、その対策のための MTG を実施されていると思います。 が、サービスを長く運営していると、過去に発生してしまった事故と似た事故を発生させてしまうということが往々にしてあります。 NewsPicks でも、そのような事故が発生し、どうしたものかということが MTG での話題にのぼりました。 そこで、 NewsPicks ではそのような事故を風化させないための取り組みとして、事故が発生しそうな PR に対して、 GitHub Actions を用いて注意をうながすメンションを投げるワークフローを設定しました。 簡単な取り組みとなっているので、ご参考になれば幸いです。 背景 使用したツール 処理フロー GitHub Actions での実装 実際の

                                                                          GitHub Actions / GitHub CLI を使った PR レビューをサポートする取り組み - Uzabase for Engineers
                                                                        • ペアプロは秒のフィードバックを回し続ける - Uzabase for Engineers

                                                                          はじめに こんにちは。Product Teamの中嶋です。 前回の記事では、Product Teamが普段どんなペアプロをしているのかを書かせていただきました。 今回はペアプロとXPの価値の一つである「フィードバック」について、自分なりに言語化していこうと思います。 はじめに ペアプロは最小のフィードバックループを形成する ペアプロは秒のフィードバック 先生と生徒の関係性では、先生以上の意見が出ない ペアでフィードバックループを回していくには? わからないことは素直に伝える ドライバーは自分のやっていることを実況する 実況をしながら進める例 積極的に質問をする 肯定のフィードバックも大事 おわりに ペアプロは最小のフィードバックループを形成する XPの価値の一つに「フィードバック」があります。*1 XPチームはできるだけ早く、できるだけ多くのフィードバックを生み出そうとする。フィードバック

                                                                            ペアプロは秒のフィードバックを回し続ける - Uzabase for Engineers
                                                                          • AWS Configコスト上昇の原因を調査:QuickSight + Athenaの分析ツールを活用 - Uzabase for Engineers

                                                                            ソーシャル経済メディア「NewsPicks」でSREをしている美濃部です。 NewsPicksのSREのミッションの1つに「コストを適正化する」というものがあります。サービスの規模拡大に比例してインフラコストが増えないようにし、売上に対するコストの割合を低く維持していくのがミッションになります。 今回はAWSコスト削減の中でもConfigの料金に注目して紹介したいと思います。 コストモニタリング定例について Configのコスト分析をどうやって行なったか ConfigのレポートをQuickSightで可視化 構成 手順 QuickSightで可視化する事でわかった事 コスト増加の要因となったリソースタイプがわかったので対応する まとめ まず、SREでは週次でコストモニタリング定例を実施しているのでその内容について簡単に触れさせて頂きます。 コストモニタリング定例について 週次で主に以下のよ

                                                                              AWS Configコスト上昇の原因を調査:QuickSight + Athenaの分析ツールを活用 - Uzabase for Engineers
                                                                            • VPC Flow LogsをAthena + QuickSightで
分析してデータ転送料金の内訳を調査する 〜 実践的なコスト最適化の洞察 〜 - Uzabase for Engineers

                                                                              こんにちは。ソーシャル経済メディア NewsPicksのSREチームで仕事をしている安藤です。 NewsPicks Advent Calendar 2023 の1日目ということで、日常の業務風景から軽いコスト最適化TIPSをご紹介します。 qiita.com AWSコストを最適化したいよぉ〜 NewsPicksはおかげさまでサービス10周年を迎え、ユーザー数も事業も伸びておりますが、 事業の成長やエンジニア組織の拡大に比例してAWSコストが増え、円安でさらに日本円での負担が増え、となると事業の利益率にも少なからず影響がでます。 私が所属するSREチームでは、「売上に対するAWSコストの割合は、規模が拡大するほど減っていくべき」という考えを持っており、 積極的にAWSサービスの使い方を見直して毎年コストを削っていくつもりで仕事をしています。 AWSが提唱するCloud Financial M

                                                                                VPC Flow LogsをAthena + QuickSightで
分析してデータ転送料金の内訳を調査する 〜 実践的なコスト最適化の洞察 〜 - Uzabase for Engineers
                                                                              • Kotlin 知見共有会 ー 社内勉強会を継続させるための工夫 - Uzabase for Engineers

                                                                                こんにちは、NewsPicks サーバーサイドエンジニアの池川です。 NewsPicks Advent Calendar 2022 の 3 日目です。 qiita.com 昨日は、 Virtual Muto さんによる 2 日目の記事で、感想などを書きたいところですが、実は本記事を 11 月末に書いているので、当日のお楽しみにしたいと思います。 本題ですが、NewsPicks では、もともと Java で書かれていたサーバにおいて、Kotlin を全面的に採用しており、現在では Kotlin を変更しない PR はないのではというほど、 Kotlin 開発が浸透しております。 この状態を達成するための設けられた施策の 1 つで、現在も脈々と続いている、「Kotlin 知見共有会」について共有したいと思い、ブログにすることにしました。 背景 どのような会か 運営のやること 登壇者のやること

                                                                                  Kotlin 知見共有会 ー 社内勉強会を継続させるための工夫 - Uzabase for Engineers
                                                                                • Elasticsearch の reindex をするために試行錯誤して分かったこと - Uzabase for Engineers

                                                                                  こんにちは。NewsPicksでエンジニアやっております崔(チェ)です。現在は Data / Algorithm チームで検索エンジン開発を担当しております。弊社は、検索エンジンとして Elasticsearch を Amazon EC2 に乗せて構築しておりますが、メンテナンスに消極的だった部分があり、これからはマネージド化や検索精度向上など積極的に取り組んでいきたいと考えております(伸びしろしかない!)。今回は、その中でも色んなタスクのボトルネックだったアルゴリズムを変更した話をしたいと思います。ただ、アルゴリズムの詳細よりもそれの変更のために行ったインフラ的な内容にフォーカスしております。ご興味ある方は是非読んでいただけると嬉しいです。 はじめに ちょっとまって、reindex とは? 本題に戻り reindex の実験 実験環境づくり そもそも Elasticsearch のシステ

                                                                                    Elasticsearch の reindex をするために試行錯誤して分かったこと - Uzabase for Engineers

                                                                                  新着記事