takahiro_ikegawaのブックマーク (93)

  • NewsPicks、Findy Team+ Award 2022 を受賞しました! - Uzabase for Engineers

    こんにちは。ユーザベースグループ 技術広報チームです。 この度、株式会社ニューズピックス (以下、NewsPicks) は、Findy Team+ Award 2022 を受賞致しました。 受賞内容について 今回の受賞について、NewsPicksフェロー・高山からのコメント NewsPicksエンジニア組織について 11 月に「開発者体験の測定と改善」というテーマで、オンラインイベントも開催予定です! 募集ポジション 受賞内容について Findy Team+ は、エンジニア組織のパフォーマンス向上を支援するサービスです。 GitHub や Jira などを解析し、エンジニア組織のパフォーマンスを可視化することで、生産性向上をサポートしています。「Findy Team+ Award 2022」では、組織規模別※1に 3 つのカテゴリ毎に 10 社の合計 30 社を選出した「組織規模別部門」

    NewsPicks、Findy Team+ Award 2022 を受賞しました! - 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
  • 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
    takahiro_ikegawa
    takahiro_ikegawa 2022/10/13
    デプロイ簡単だと大きな機能開発でも細かくリリースしやすいのでめちゃ便利です〜
  • AndroidでJsonのアサートに使えるJsonAssertについて - Uzabase for Engineers

    こんにちは。NewsPicks Androidアプリエンジニアの sefwgweo です。 今回はタイトル通りNPのAndroidで使われているJsonのアサートをするライブラリについて話をします。 要件 苦労ポイント まとめ おわりに 要件 正解データはJsonファイルとして用意されるので、それを用いたアサーションを行うこと。 苦労ポイント Json同士を比較するために、Javaの世界ではいくつかライブラリがありましたがAndroid内で使おうとすると色々問題が出たため、初期の頃はケースによってはMapに変換してアサーションしていました。 Map変換していた理由としては、テストケースによって無視する必要がある要素があったためとなります。 上記について、コードとともに見ていきます。 まずは、ライブラリを使わずにどうやってアサーションをしているかみていきます。 OriginalJsonCom

    AndroidでJsonのアサートに使えるJsonAssertについて - Uzabase for Engineers
  • 100万件ぐらいのレコードを扱ったらOOMEが出た話。 - 谷本 心 in せろ部屋

    要約 技術的な話だけ教えて、という方のために先に結論だけ書いておきますと、PostgreSQLはクエリを実行した時点で全レコードの情報を一気に読んできてヒープを埋めてしまう場合がある、ということ話です。 たとえば、ResultSet#nextメソッドを使いながら処理を回すようなコードを書いて、少ないヒープでも処理できるようにするのは常套手段だと思いますが、そういうコードを書いていても一気にヒープを消費してしまうことがあるのです。詳しくはこのドキュメントを見てください。 https://jdbc.postgresql.org/documentation/head/query.html#query-with-cursor ことの発端 ちょっと仕事Java + jOOQ + PostgreSQLで、DBのデータを集計するようなバッチ処理を書いてまして、もちろん俺様の書いたコードにバグなんてある

    100万件ぐらいのレコードを扱ったらOOMEが出た話。 - 谷本 心 in せろ部屋
  • iOSアプリ起動高速化に挑戦!不要コードやリソースの見直しとライブラリのstatic化編 - Uzabase for Engineers

    みなさんこんにちは。NewsPickでiOSアプリの開発をしている森崎です。 当記事ではどのアプリも一度は見直しを検討したことがあるであろう、アプリの起動時間の高速化についてお話しします。 他の記事で起動時の処理や高速化への改善策を書いたので、ここでは具体的に行ったこととその結果を数字とともに書きたいと思います。 ⬇️起動時の処理や高速化への改善策を書いた記事です。 こちらを読んでもらうと、当記事の内容がより理解できると思います。(読まなくてももちろんわかります!) qiita.com 今回はSystem Interface Initializationの箇所の見直をしました。(⬇︎この箇所) InstrumentsのApp Launchの計測結果 System Interface Initializationでは何をしているのか まずは結果から 具体的な作業内容 不要な実装の削除 dyn

    iOSアプリ起動高速化に挑戦!不要コードやリソースの見直しとライブラリのstatic化編 - Uzabase for Engineers
    takahiro_ikegawa
    takahiro_ikegawa 2022/09/16
    すごいな〜
  • ニューズピックスでのChatOpsによるリリース作業 - Uzabase for Engineers

    ニューズピックス SREユニットリーダーの武藤です。私はここ数年は開発環境を近代化するために働いているのですが、最近では新しいメンバーから技術スタックについて「モダンですね」と言っていただけることが増えてきました。技術スタックの更新は最近ニューズピックスが会社として力を入れているところなので色々な分野でたくさんのエンジニアが関わっているのですが、SREに直接関係する範囲では特にChatOpsによるリリース作業について良い反応が多いので、ここで紹介します。 かつてどんな問題があったか 何をしたか 誰でも安全にリリース可能にする 特徴 改善点 集計バッチ実行中にリリース可能にする CanaryRelease+デプロイ高速化 リリースフローのStep Functionsでの置き換え Canary Releaseの導入 リリース作業の高速化 リリース開始シェルを叩いてリリースを開始する push通

    ニューズピックスでのChatOpsによるリリース作業 - Uzabase for Engineers
  • 【入社エントリー】営業職からエンジニアにキャリアチェンジして3ヶ月が経ちました - Uzabase for Engineers

    はじめに こんにちは! NewsPicksの法人向けサービス開発チームの森です。 入社から約3ヶ月経ったので、入社エントリーを書いてみようと思います! …が!タイトルにも匂わせた通り、私の前職は営業職@メーカーで、エンジニアとして働くのはNewsPicksが初めてですし、テックブログという文化に触れるのも初めてです。 「入社エントリーって何書けばいいんや…」というのが音です。 何を書けば良いかわからないなりに、このブログを読んで「NewsPicks/Uzabaseってメンバー同士リスペクトし合っている素敵な会社っぽいな〜」と思ってくださる方が1人でも増えたらいいな、という気持ちで一生懸命書こうと思いますので、もしよろしければ最後までお付き合いいただけると嬉しいです! はじめに どうしてエンジニアに? 作り手になりたいと思ったから プログラミングって面白いと思ったから 専門性を持ちたいと思

    【入社エントリー】営業職からエンジニアにキャリアチェンジして3ヶ月が経ちました - Uzabase for Engineers
    takahiro_ikegawa
    takahiro_ikegawa 2022/09/07
    めちゃ良いな〜
  • 断食の効能がヤバ過ぎたので、医学的な根拠ゼロの解説をさせて頂きたい - もはや日記とかそういう次元ではない

    暴飲暴と不規則な生活を繰り返した結果、身体および脳のキレが悪くなっているような感覚に襲われていたのである 毎日朝は眠いし、昼飯はアホみたいに馬鹿いして、夜は飲みまくって、その後はラーメン替玉ウェい なんとなく集中力とかも落ちてる気がする。それをどうにかしたい そういうわけで、何かの企画とかPRではないのだけど、先日、「断道場」的な場所を訪れて1週間の断生活をしてきた。 で、結論から言うと断がめちゃくちゃヤバかった。 この、「めちゃくちゃヤバかった」という頭の悪そうな感想により、僕は今、皆さまからボキャ貧もしくはハイパードキュンの類いだと思われたのかもしれないが、その評価は甘んじて受け入れよう この道場は伊豆に存在し、数日は「回復」と言って死ぬ程質素な飯を阿呆みたいに少量だけべるのだけど、まあ、ほぼ1週間近くはロクに飯をべることが出来ないと思ってもらって良い さらに、この断

    断食の効能がヤバ過ぎたので、医学的な根拠ゼロの解説をさせて頂きたい - もはや日記とかそういう次元ではない
  • Slack (Bitrise/Zapier) を使った自動化で業務効率の改善をする - Uzabase for Engineers

    NewsPicks Mobile App Unitの森崎です。 当記事では私が入社3ヶ月の間に行ったSlackを用いた自動化の事例を紹介します。 2事例紹介しますが、後半のSlack×GASをSlack×Zapierに移行した例はモバイル領域のみならず、幅広い活用の仕方があるので参考になれば幸いです。 Slack×Bitriseでテスト用アプリのデプロイを誰でもできるようにした事例 実現したこと SlackからBitriseのワークフローを実行する方法 1. SlackからBitriseのSlackWebhookを叩く設定を追加 2. さらに実行しやすいようにSlackWorkflowを作成 Slack×GASで自動化していたものをSlack×Zapierに移した事例 機能 GASからZapierに移行する なぜ移行したか 移す際に必要な作業 Zap 移行してみて 最後に Slack×B

    Slack (Bitrise/Zapier) を使った自動化で業務効率の改善をする - Uzabase for Engineers
  • NewsPicksと株式会社ヘンリーさんでKotlin合同勉強会を開催しました - Uzabase for Engineers

    NewsPicksの高山です。 NewsPicksではちょうど1年前の2021年8月に、サーバーサイド開発言語をJavaからKotlinに切り替えていく決断をしました。 今では社内でも最も歴史のある2つのシステムがKotlinでも書けるようになり、置き換えも徐々に進んでいっています。一般的な社内のサーバーサイドエンジニアKotlinJavaを半々ぐらいの割合で書いているような印象です。 tech.uzabase.com さて、去る8月25日に、同じくサーバーサイドKotlinを使っている株式会社ヘンリーさんと合同勉強会を開催しました。 ヘンリーさんによるブログ記事はこちら。 note.com NewsPicksからは以下の2つの発表をしました。 sefwgweoさんによる、Kotlinのreified機能の利用例 バーチャルむとうさんによる、JavaからKotlinに変換する2ステップ

    NewsPicksと株式会社ヘンリーさんでKotlin合同勉強会を開催しました - Uzabase for Engineers
  • ブランディングの定義とは|ブランディングの定義と種類を解説 - Mission Driven Brand

    このページに辿り着いたあなたなら「ブランディングの定義とは?」あるいは「ブランディングの種類」など、ブランディングの基礎知識に関心があることだろう。 このブログ「Mission Driven Brand」は、外資系コンサルティングと広告代理店のキャリアを持つ筆者が、ブランディングやマーケティングの「できない、わからない」を解決するブログだ。 ブランディングは抽象的な概念であるため、人によって複数の「ブランディングの定義」が乱立してしまい、混乱をきたしてしまう例が後を絶たない。 よって、今回は「ブランディングの定義」そして「ブランディングの3つの種類」についての解説を行う。その内容は以下の通りだ。 ブランディングとは何か?実務に落としやすい「ブランディングの定義」とは? ブランディングの3つの種類とは? もしこの解説を最後まで読んでいただければ、あなたは一通り「ブランディングとは何か?」そし

    ブランディングの定義とは|ブランディングの定義と種類を解説 - Mission Driven Brand
    takahiro_ikegawa
    takahiro_ikegawa 2022/08/24
    なるほど~
  • 仕事を任せられるエンジニアになるために意識してほしいこと - 食べチョク開発者ブログ

    皆さんこんにちは。エンジニアの西尾です。 今日は仕事を任せられるようなエンジニアになるために意識してほしいことをまとめましたので、ここに公開いたします。 もともとは社内向けに公開したものです。 この文章は私がビビッドガーデンに入社する前の、前職での経験を踏まえて書いています。 今のべチョクエンジニアが意識できていない、という話ではありませんのでご注意ください。 意識面 作業の見積もりができる 技術力が低い(コーディングができないなど)よりも敬遠されるエンジニアは、作業の見積もりができない方です。 第一線で活躍している方は、作業見積もりが他の方に比べて正確です。 見積もりをするためには、どういう設計をして、どういう機能を作り、どういう影響範囲があるのかを正しく理解する必要があります。 見積もりができないということは、作業内容を正しく理解できていない、技術的な困難性を理解していない、不確定要

    仕事を任せられるエンジニアになるために意識してほしいこと - 食べチョク開発者ブログ