-
Puppeteerを使ってクローラを作った話
開発こんにちは、開発本部のバックエンドエンジニアのThai(タイ)です。クローラ改善プロジェクトを行い、Puppeteerを使って新しいクローラを作りました。今回の記事ではPuppeteerで開発したクローラについて紹介したいと思います。 【Puppeteerとは】 Googleで開発されて、DevToolsプロトコルを介してChromiumやChromeを制御するための高レベルなAPIを提供するNodeライブラリです。 参照: https://devdocs.io/puppeteer/ 【クローラとは】 インターネット上の様々なWebページをスクレイピングするツールです。 【な... -
PR TIMESはISUCON12のシルバースポンサーとして協賛します! #isucon
開発PR TIMESでCTOをやっている金子 (@catatsuy) です。 去年に引き続き、PR TIMESはISUCON12にシルバースポンサーとして協賛しました。 「ISUCON」は、LINE株式会社の商標または登録商標です。 【ISUCONとは】 https://isucon.net/ お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトル ISUCONはLINE株式会社が運営しているチューニングバトルです。参加者はお題となるWebサービス(言語はGoやPHPなど複数言語から選べます)を様々な手段で高速化します。必要な知識は多... -
esbuildに乗り換えたらビルド時間が劇的に改善された話
開発こんにちは、フロントエンドエンジニアのやなぎ( @apple_yagi )です。 PR TIMESでは、これまでReact/TypeScriptのコードをビルドする際にWebpackを使用していましたが、コード量が増えるごとにビルドにかかる時間が増えてきました。 そこでesbuildを導入し、ビルド時間の短縮に取り組んだのでご紹介いたします。 esbuildとは esbuildはGo言語で実装されたJavaScript/TypeScriptのビルドツールで、公式ドキュメントには従来のビルドツールと比べて10~100倍速くビルドできると書かれています。 esbuildが提供して... -
シンボリックリンクを活用した無停止デプロイとファイル削除を実装しました
開発こんにちは、インフラチームテックリードの櫻井です。 今回は prtimes.jp のデプロイ改善の一環としてシンボリックリンクを使った無停止デプロイと rsync --delete によるファイル削除とデプロイスクリプトの速度改善を行ったので紹介します。 【シンボリックリンクを使った無停止デプロイ】 まず初めにシンボリックリンクを使った無停止デプロイについて紹介します。 今まで prtimes.jp のデプロイは実際に稼働しているアプリケーションのディレクトリにデプロイサーバーから直接 rsync コマンドを実行し、ファイ... -
テスト自動化でリファクタリングを効率化
開発開発本部QAチームの山田です。 テストの自動化によりリファクタリングの際のQAも大きく効率化できましたので、ご紹介します。 【テスト自動化】 以前こちらの記事でもご紹介したように、QAチームではAutifyを使ってテストの自動化を進めています。 https://developers.prtimes.jp/2021/12/14/qa-team/ まずはPR TIMESのサービスにとって重要な機能でもある「プレスリリース配信」と「ユーザー登録」を重点的に自動化しました。これによってプレスリリースの情報を出したいときに出せなくなるということを防ぐこと... -
New Relic ダッシュボード共有会 in PR TIMES
勉強会こんにちは江間です。 先日、New Relic さん主催で New Relic ダッシュボードの共有会が開催されました。 この共有会では社内エンジニアが作成した・実際に利用している New Relic ダッシュボードを紹介し、作成のポイントや、運用してみてどうだったかを共有しました。 また、New Relic さんからダッシュボード作成にあたってのTipsなどを教えていただきました。 この記事では、今回の共有会で紹介した PR TIMES 社内で実際に使われているダッシュボードを、社外にも New Relic ダッシュボードの活用事例として共... -
PR TIMESの支援制度を使い PHPerKaigi2022 に参加しました!
勉強会こんにちは! 開発本部の植江田和成です。4月9日から11日に開催された PHPerKaigi2022 に参加してきました。今回は会社の支援制度とそれを利用して参加したメンバーの感想を紹介します。 【支援制度とは?】 PR TIMES には支援制度があります。例えば、書籍のAmazon購入は誰でも各自で注文が行えたり、今回のようなカンファレンスへの参加費用を全額会社負担で参加できます。 この制度を有効活用して、学習の機会を増やすことができています。 【参加メンバーの感想】 PR TIMES から数名のメンバーがオンラインとパ... -
ECSでマルチステージング環境を実現した設計と実装
開発こんにちは、普段PR TIMES STORY(以下STORY)の開発リーダーをしている岩下(@iwashi623)です。 PR TIMES STORYは弊社のMissionである「行動者発の情報が、人の心を揺さぶる時代へ」をそのまま体現したようなプロダクトで、「創業ストーリー」や「開発秘話」などの行動者の熱量をそのまま配信して、企業とメディア、生活者のより良い・多くのリレーションが生まれることを目的としています。 PR TIMES STORYトップページ 本記事では、私も今月から2年目となったので新卒の時よりさらにチームに貢献していきたい!... -
「学生向けPR TIMESハッカソン2022春」を開催しました
開発こんにちは、バックエンドエンジニアの江間です。 2021年3月24日(木)〜25日(金)にかけて、23卒向けの採用ハッカソンを開催しました。 今回のハッカソンに参加いただいた学生の皆さん、ご参加ありがとうございました! ハッカソンの結果発表および、ハッカソンの模様をご紹介します。 【学生向けPR TIMESハッカソンとは】 学生向けPR TIMESハッカソンは、「PR TIMES」の100万件を超えるプレスリリースデータをAPIを使って取得し、当日集まった学生による即席のチームで新規サービスや新規機能を開発するイベン... -
How we choose React-based WYSIWYG editor at PR TIMES
開発【Introduction】 This article discusses the process of choosing a new React-based editor library for PR TIMES's press release editor. 【Background】 At PR TIMES, press release publishing is one of the core services that we provide, therefore, we strive to provide the best possible editing experience to our users so that they can express their ideas better. However, our current editing page is built with legacy codes that have not been well maintained over the past several ...