-
PostgreSQL で無停止リファクタリング 〜テーブルスキーマの変更〜
開発こんにちは、バックエンドエンジニアの江間です。 プレスキットと呼ばれる機能の MVP(実用最小限の製品: Minimum Viable Product)のリリースから半年以上経ちました。さらなる機能追加のために、提供する機能の動作は変更せず、テーブルスキーマの変更のリファクタリングを行う事になりました。 この変更で API から呼び出している SQL も書き換える必要が出てきました。すると DB 側のテーブルスキーマの変更とアプリケーション側の変更を行う必要があります。 両方の変更を反映させるために、メンテナンスを入... -
PR TIMES は PHP カンファレンス 2022 に協賛・登壇します。
勉強会こんにちは、 PHPer の江間です。 PR TIMES は PHP カンファレンス 2022 にゴールドスポンサーとして協賛します。 そして、社内から2名のエンジニアが登壇します。 【PHP カンファレンスとは】 2000年より年に一度開催されている日本最大のPHPのイベントです。WEBサーバにインストールされているシェア8割を超える人気言語のイベントとして、初心者から上級者まで幅広い層のWEB系エンジニアが参加します。 PHP Conference Japan 2022 協賛のご案内 開催: 2022年9月24日(土)〜 9月25日(日) 場所: 大田区産業プ... -
PR TIMES HACKATHON 2022 Summerを開催しました
チーム体制こんにちは。PR TIMES HACKATHON の運営代表者の鈴木雄大です。 この度 PR TIMES では、2022年8月8日と9日の2日間で PR TIMES HACKATHON 2022 Summer と題して23・24卒学生を対象としてオンラインハッカソンを開催しました。 ご参加いただいたみなさん、ありがとうございました。 【PR TIMES HACKATHONとは】 開催背景 私たち PR TIMES にとって PR TIMES HACKATHON は単に優秀な学生を採用する選考の場というだけでなく、力を振り絞りひとつの目標に向かって頑張る学生たちを応援し、行動と成長の機会となる場に... -
ハッカソンのAPIをGoへフルスクラッチしました
開発こんにちは、2022新卒で PR TIMES に入社し、バックエンドエンジニアをしている宮崎です。 先日行われたハッカソンに向けてAPIをフルスクラッチしたのでやったこと共有します。 【はじめに】 PR TIMESでは新卒向けにAPIを提供してハッカソンを行なっています。 優秀者は即内定!23・24新卒向けハッカソン「PR TIMES HACKATHON 2022 Summer」8月8-9日開催 既存のAPIをGoへフルスクラッチした理由は以下の2つです。 エンドポイントから取得できるリソースが推測できない、パスパラメータで指定する必要のないものが... -
Yarn Workspacesを利用したMonorepo環境の構築
開発こんにちは、フロントエンドエンジニアのやなぎ(@apple_yagi)です。 今年(2022年)の4月頃に、PR TIMESのフロントエンド開発基盤の構築を行い、各プロジェクトのリポジトリに散らばっていたReactで実装しなおした Frontend のコードベースを一つのリポジトリに集約することができました。 https://developers.prtimes.jp/2022/04/14/web-front-end-development-enviroment-in-prtimes-inc/ しかし、この時点では Frontend のコードベースを一つにまとめただけで、各プロジェクトで共通のコンポーネントやスタイ... -
PR TIMES フロントエンドの React 18 バージョンアップの取り組み
開発はじめまして。2022新卒で PR TIMES に入社し、フロントエンドエンジニアをしている岩元 (@yoiwamoto) です。 先日、PR TIMES の全ての React プロジェクトで React 18 へのバージョンアップを行ったので、この記事ではその経緯や学べたこと等を共有します。 【モチベーション】 今回のバージョンアップのモチベーションは一言で言うと、「まだコードベースが小さいうちに早めにやっておきたいね」です。 弊社のフロントエンドは、去年までほとんど全てバックエンドリポジトリ内でテンプレートエンジン + jQuery ... -
Storybookを導入した話
開発こんにちは。開発本部でインターンをしている桐澤です。インターンの業務では主にReactにリプレイスされたページのリファクタリングやコンポーネント修正を行ってきました。 今回はReactで実装されたコンポーネントを誰でも簡単に参照できるようにStorybookを導入したので、どのように行ったかを紹介します。 【】 PR TIMESではデザインチームを中心に去年からデザインシステムを構築してきました。デザインシステム導入当初からデザインと実装されたコードの連携が構想にあり、今回フロントエンドの開発基盤が整... -
PR TIMESで初心者向けAWS勉強会を開催しました
勉強会こんにちは。2022年5月に入社した開発本部のレー・ホアン・トゥです。 今回、6月16日に社内で AWS 勉強会に参加した感想をご紹介いたします。 【背景】 PR TIMES に入社してから、新しい技術を調べたり共有したりするため、技術共有会や勉強会などをよく行っている印象を受けました。 AWS は初心者で調べてばかりであるため、AWS の人とのミーティングによく参加しています。しかし、実際に触れた経験があまりないので、共有会で取り上げられた内容がまだ理解できないことがあります。 そのためAWS アカウントチー... -
PostgreSQLのデータを削減できた話
開発はじめまして、PR TIMESの開発本部でインターンをさせて頂いている永井と申します。現在はパフォーマンス改善のタスクをしています。 【はじめに】 自分は今回のタスクをやるまでSQLをあまり書いたことがありませんでした(ORマッパーしか使っていませんでした)。しかし、今回のタスクをやることで直接SQLを書くことが多くなりSQLはもちろんPostgreSQLの構造はどうなっていて、何がメモリを消費しているかなどについての理解も深まりました。本当に良い経験をさせて頂きました。 【なぜ削減することになったのか... -
Puppeteerを使ってクローラを作った話
開発こんにちは、開発本部のバックエンドエンジニアのThai(タイ)です。クローラ改善プロジェクトを行い、Puppeteerを使って新しいクローラを作りました。今回の記事ではPuppeteerで開発したクローラについて紹介したいと思います。 【Puppeteerとは】 Googleで開発されて、DevToolsプロトコルを介してChromiumやChromeを制御するための高レベルなAPIを提供するNodeライブラリです。 参照: https://devdocs.io/puppeteer/ 【クローラとは】 インターネット上の様々なWebページをスクレイピングするツールです。 【な...