機械学習でProgateユーザーの学習習慣を定量評価する

はじめに データ戦略を担当している@aaaanwzです。 Progateではデータ基盤にユーザーの皆様の利用状況を保管し、プロダクトをより良いものにしていくための分析に活用させて頂いています。 一例として、各レッスンのページをめくった時刻のデータがあります…

Alexaスキル開発に入門してみた

Progateの@sy-tenchoです。この記事は Progate Advent Calendar 2021 の24日目です。このネタはもう何度も書き尽くされている気もしますが、はじめてAlexa開発に入門してみたという話です。 ことの発端 先日のAmazonブラックフライデーセールでスマートスピ…

AWS製ミニサービスによるトイル削減の取り組み事例の紹介と振り返り

Progateの小笠原です。本記事はadvent calendarの23日目の記事となります。 年末になって振り返りの時期となりました。粒度の大きな仕事はチーム/プロジェクトで振り返りを行うため、自分の中で整理が付けやすいのですが、粒度の小さなタスクに関しては振り…

デザイントークンの運用自動化について考える

はじめに Progateの舘野です。さまざまなプラットフォーム向けにプロダクトを提供していたり、プロダクトのUIの一貫性を担保するのに何かしらの仕組みの必要性を感じる規模のものを開発していたりすると、デザイントークンのような取り組みが必要になると思…

Understanding Unicode with a Nyan translator

Hello, this is Dacer from Progate with the 21st day of the Progate Advent Calendar. Nyа̅nNyа̄nNyа̃nNyа̎n NyӓnNyа̏nNyа̂nNyа̉n Nyа̃nNyanNyӑnNyа̏n Nyа̇nNyа̃nNyа̂nNyа̋n Nyа̃nNyanNyӑnNyа̇n Nyа̃nNyanNyа̄nNyа̂n Nyа̃nNyanNyӓnNyа̋n You may be w…

Macの環境構築をAnsibleで自動化してみた 2021年版

こんにちは、Progateでサーバーサイドエンジニアをしている708uです。 本記事は Progate Advent Calendar 19日目の記事になります。今回はAnsibleを用いたMacの環境構築自動化をご紹介したいと思います。 発端 そもそものお話になりますが、私がProgateにジ…

Customizing the MUI Palette Tones

Hello, this is Chandler from Progate with the 17th day of the Progate Advent Calendar. I work as a frontend engineer, and recently I've been getting acquainted with MUI v5, which is a UI component library. These kinds of libraries are grea…

Bingo ゲームと Rust と Iterator (Advent of Code #4)

こんにちは、Progateのキリル(@virtualkirill)です。 本記事は Progate Advent Calendar 16日目の記事になります。 ビンゴというゲームをご存知ですか?知っている人が多いと思いますが、5x5 のカード(ボード)に並べたマスに書かれた番号と、順番に発表さ…

ラーメンとともに振り返る2021年ProgateでのSREのお仕事

こんにちは、ProgateでSREとして日々運用している齊藤です。 本記事は Progate Advent Calendar 15日目の記事になります。 普段からラーメンの話ししかしてませんが、この回も「今年食べたラーメンとそのときに取り組んでいた仕事」という緩い感じでラーメン…

スキーマ駆動開発をしてみて

こんにちは、Progateの関川です。 ユーザーの学習体験をよくするLearningExperienceチームに所属しており、主にサーバーサイドの開発をしております。 *本記事はProgate Advent Calendar 14日目の記事になります。 はじめに 弊社では昨年度から学習体験の向…

Progateにおけるユビキタス言語策定活動の紹介

こんにちは、ProgateのLearningExperienceチームでテックリードをしている森田です。 主にサーバーサイド開発をしています。 今回はProgateで行っているユビキタス言語策定活動について紹介したいと思います。 ※ 本記事は Progate Advent Calendar 8日目の記…

API クライアント・型生成スクリプトを高速化して DX 改善した話

こんにちは、Progate の平川です。本記事は Progate Advent Calendar 4日目の記事になります。日頃業務ではフロントエンドの実装を担当させて頂いています。前回書かせて頂いた記事は少々辛い話だったので、今回はちょっとした DX 改善で幸せになった話につ…

現実のコードでの計算量の「1」はどれくらいの大きさか - 計算量の「1」の再確認

計算量といえば、少し前にちょっとした話題になったのを覚えている方も多いのではないでしょうか。 しかし、学生さんなどに実際に計算量を数えてもらおうとすると、しばしば何を数えればよいのかわからない、つまり「1」の決め方で混乱している人を見かけま…

おうちKubernetesに音楽ストリーミングサーバーを構築した話

Progateでデータエンジニアをしている穴澤 (id:aaaanwz)です。 本記事は Progate Advent Calendar 2日目の記事になります。 Google Play Musicがサービス終了してしまい「所有している音楽データをアップロードし、インターネット経由で聴く」というサービス…

Raspberry Pi 2 と Jetson nano でHybridおうちKubernetes環境を作ったときの話

Progateの前田です。 エンジニアマネージャーとしていろいろやってる傍、個人ではAWS Community Builder / AWS Startup Community Code Member として活動しています。 本記事はProgate Advent Calendarの1日目です! 今年の9月にEKS Anywhereのリリースがあ…

画像をグリッチさせるサービスのAWS LambdaをRustで作るところからCDKでデプロイするまで

こんにちは、Progateのキリル(@virtualkirill)です。 AWS LambdaのRustランタイムがリリースされてからずっと使ってみたいと思っていました。本記事では、LambdaをRustで書いてAWSにデプロイするまでのステップを解説していきます。 文章が長くなりすぎない…

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

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…