データドリブンな改善を進めるための第一歩 (ログ基盤の紹介)

Progateでエンジニアをしている山﨑です。本記事では弊社でよりデータドリブンな改善を進めていくために、サービス内でのユーザーの行動をログとして記録する仕組みを構築した事例を紹介いたします。 要旨 先に今回の取り組んだ内容を簡単にまとめます。 リ…

AWS Startup Community Tech Meetup 開催レポート

こんにちは、Progateの前田(@kzk_maeda)です。 Progateではエンジニアマネージャーとして働きながら、社外ではAWS Community BuildersやAWS Startup Community Core Memberとして活動もしております。 この記事はAWS Startup Community #6 のイベント開催レ…

ReactコンポーネントのテストにCypress Component Test Runnerが良さそうという話

はじめに こんにちは、Progateの舘野です。 最近、スクロール位置によってUIの状態が変わるReactコンポーネントのテストをどうしようかと悩む機会がありました。 一般的にはコンポーネントのテストにはReact Testing Libraryを利用すると思いますが、jsdomが…

ProGuardでデバッグログを"完全"に削除することの難しさ

こんにちは、Progate の岩崎です。新卒で Google に入社して約9年間ソフトウェアエンジニアとして働いた後に Niantic へ転職、今年の1月から Progate のコンテンツチームで働いています。 Google で「ProGuardチョットデキル」エンジニアとして頑張っていた…

モノリシックサービスから高負荷なエンドポイントを切り出して段階的に運用改善した話

Progateの小笠原です。普段はSREチームで開発効率化やサービスの安定化に取り組んでいます。 本稿では弊社SREチームで取り組んだ事例の一つである「モノリシックなサービスから高負荷なエンドポイントを切り出して段階的に運用改善した話」について紹介させ…

Customize your favorite websites with Greasemonkey

Hi~ This is Ding from the Software Engineer team of Progate. Do you have some websites that you frequently visit but are not fully satisfied with the UI? Then this article is for you. What is Greasemonkey? What you need to know before read…

入社3ヶ月でTechBlogを開設してAdvent Calendar完走した感想

入社3ヶ月でTechBlogを開設してAdvent Calendar完走した感想

Progateにおけるserverless frameworkの運用知見を紹介します

Progateの小笠原です。普段はSREチームで開発効率化とサービスの安定化に取り組んでいます。 本稿では普段活用しているserverless frameworkに関する運用知見を共有します。 はじめに 弊社ではIaCの取り組みとして永続的なインフラリソースは基本的にすべて…

ProgateのDesign Principles(デザイン原則)を作成しました

こんにちは、Progateでデザイナーをしている屋宜(@kuon609)と申します。 この記事はProgate AdventCalendar 2020 23日目の記事となります。 Progateは創業から早6年を迎え、デザイナーの数も最初期は1名だったところから現在では業務委託や入社予定のメンバ…

若者にオススメしたい微妙な良書

はじめまして、Progateの村山です。エンジニアとして働いてから10年以上経ちました。 本記事はProgateAdventCalendarの22日目の記事です。 普段はSREチームでProgateの開発や運用を支える仕事をしています。 当初はコードレビューのガイドラインを整備した話…

Pythonでライトに始める統計分析

株式会社Progateでソフトウェアエンジニアをしているsy-tenchoです。本記事は Progate AdventCalendar 2020 19日目 です。 12月と言えばプロ野球選手の契約更改の季節ですね。ということで今日は僕の贔屓球団である読売ジャイアンツの野手の年俸はどのような…

リモートワークの振り返り

はじめまして、Progateの関川と申します。 本記事はProgateAdventCalendarの18日目の記事になります。 私はSoftwareEngineerチームに所属しており、主にバックエンドの開発をしています。 本記事は技術的なことではなく、コロナ情勢を機に導入されたリモート…

DynamoDB StreamsとKinesis Data Firehoseを使ったサーバーレスリアルタイムETL

何を書いた記事か 過去にDynamoDB Streams + Kinesis Data Firehose + Lambdaを用いたリアルタイムETLを検証した際のメモをこちらに転載します。 特にKinesis Data Firehoseの裏で動かすLambdaの実装に癖があったので、誰かの参考になれば幸いです。 前提 We…

Find out who has been stealing from your fridge

Good day everyone! No, you are not on the wrong page, it's just that today's post is written in English. This is Kai from the Product Internationalization team of Progate, and you are looking at the post for the 17th day of the Progate Adv…

LINEからターミナル操作できたらUX最高なのでは?

Progateの前田(@kzk_maeda)です。 本記事はProgateAdventCalendarの16日目の記事です。 初日にふざけ倒してハードル下げに下げた記事を公開したのですが、その後のメンバーがみんなしっかりした記事をあげてくれていたので、今日リベンジしたいと思います…

ディレクトリごとに簡単にGitHubのアカウントを切り替える方法

はじめまして、Progateの村山です。 本記事はProgateAdventCalendarの15日目の記事です。 普段はSREチームでProgateの開発や運用を支える仕事をしており、Progateには今年の7月に入社しました。前職はElixirやk8sなどを使ったWebアプリケーションの開発や運…

Progateの開発の進め方と難しいところ

こんにちは、Progateで開発業務をしているkota_223と申します。 この記事はProgate AdventCalendar 2020 14日目の記事となります。 私はSoftwareEngineerチームに所属しておりバックエンドを書いたり週末にアメフトしたりする生活を送っていますが、 最近は…

CSSグリッドでより良い実装ができたこと

こんにちは、ProgateのChandyです。 本記事はProgate Advent Calendar 2020の11日目の記事です。 現在はソフトウェアエンジニアですが、元々はデザインの経験もあり、UIの実装が好きなので、CSSが特に興味があります。 一年前くらい前にCSSのグリッドを初め…

スマホにカメラついてるんだからOCRできるでしょという気持ち

どうも、 株式会社Progate で SoftwareEngineer チームのマネージャーをしています @satetsu888 です。本記事は Progate AdventCalendar 2020 10日目です。 普段仕事ではエンジニア組織のことやプロダクトの技術戦略的なことを考えたり、ミーティングしたり…

GatsbyとService Workerとデバッグの記録

おはようございます。Progateのコンテンツチーム 福井です。本記事はProgate AdventCalendar 20209日目です。 普段仕事ではProgateのレッスンの企画や制作をしたり、プロジェクトリードとしてチームでモノゴトを進めたり、たまに実装したりしています。 最近…

ActiveRecordモデルのカラムを消すときにignored_columnsが必要な理由

自己紹介 株式会社Progateサーバーサイドエンジニアのもりたんざにあです。 好きなものは卓球と筋トレです。 業務でignored_columnsの必要性や、内部で何をしているかについて調べたので、その過程でわかったことを紹介しようと思います。 前提条件 この記事…

Redux でコンポーネントを再利用するために考えていること

こんにちは、 Progate の小口です。 本記事は Progate AdventCalendar 7日目の記事です。 flow.js のバージョンアップデートをした話 - Progate Tech Blog でも紹介した通り、 Progate のフロントエンドでは React + Flux + Flow が使われていますが、個人的…

asset_syncの設定を見直してデプロイ時間を7分半削減した話

はじめまして、Progateの小笠原です。本記事は Progate AdventCalendar 4日目の記事です。 普段はSREチームでProgateの開発効率化を始め基盤運用、トラブル対応などサービスの安定化にも幅広く取り組んでいます。 本稿ではProgateのCI/CDを改善する中で得たa…

flow.js のバージョンアップデートをした話

こんにちは、Progate の平川です。本記事は Progate AdventCalendar 3日目の記事になります。 日頃業務ではフロントエンドの実装を担当させていただいています。 今回は先日行った flow.js のバージョンアップについて書いていきたいと思います。 はじめに …

Dockerで動かして学ぶモニタリングの基礎

はじめまして、Progateの村山です。本記事はProgateAdventCalendarの2日目の記事です。 普段はSREチームでProgateの開発や運用を支える仕事をしております。Progateには今年の7月に入社しました。前職はElixirやk8sなどを使ったWebアプリケーションの開発や…

TDD(Twitter Driven Development)のススメ

Progateの前田です。 本記事はProgateAdventCalendarの1日目の記事です。かつ、ProgateのTechBlog としても最初のコンテンツになります。 ProgateではSREチームのマネージャーとして、システムの運用や制度設計などに取り組んでおります。個人としてはAWSの…

Progate Tech Blog 始めます

ProgateでSREマネージャーをしている前田です。 この度、ProgateのTech Blogを開設しました! Progateのシステム開発・運用から得られた知見や裏話、メンバーが趣味でやっている技術知見の展開など、積極的に発信していこうと思います。 これからよろしくお…