サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大そうじへの備え
tech.pepabo.com
技術部の染矢です。 最近は社内のデータ基盤「Bigfoot」の信頼性向上や機能開発をおこなっています。 Bigfootは、Google CloudのBigQueryとCloud Composerで主に構築された社内システムです。 この記事では、Cloud Composer環境におけるデータパイプラインの信頼性を向上させた事例を紹介します。 前半では、Cloud Composer環境において信頼性を低下させる原因であったソフトウェアのバグに気付くまでの調査過程を説明します。Cloud Composer環境で調査可能なメトリクスやログ、そして具体的なコマンドを紹介しながら説明していきます。 後半では、そのバグに関連する修正のためにOSSにコントリビュートしようとしたら、さらにバグを作ってしまった失敗談を綴ります。OSSのコードリーディングをしながら、そのバグの原因であったPythonのshal
技術的負債への懸念 Feature flagを導入することで多くのメリットがありますが、使い終わったFeature flagをコード上に残しておくと「技術的負債」になりやすいです。具体的には以下のような問題が発生します。 flagを参照するたびにFeature flagサーバーに余計なリクエストが発生する Feature flagサーバーへの接続ができなくなるとデフォルト値が使用され、一時的に意図しない挙動になることがある 実際にSUZURIでも、過去にUnleashサーバーとの接続ができなくなったことが原因で本番環境で障害が発生した事例がありました。そのため、安定稼働したflagはコードから削除し、Unleashのサーバーからアーカイブすることが公式に推奨されているベストプラクティスとなっています。 At Unleash we care deeply about code quality
はじめに 新卒エンジニア研修を担当しました ugo です! 今年も新卒エンジニア研修を実施し、全カリキュラムが無事終了しました。 この記事では、各研修の講師を担当したメンバーが、新卒エンジニア研修のカリキュラムの内容と研修資料をまとめました。ぜひご覧ください。 2024年度新卒エンジニア研修概要 新卒エンジニア研修のコンセプトは 「サービスを作るための技術要素や観点について、現時点で良いやり方を一通り学ぶ」 と設定しました。 サービスを運用していくために必要なオブザーバービリティといった領域も今年から研修に盛り込みました。 研修に参加した新卒エンジニアは3名です。 オフィス内はフリーアドレスとなっていますが、研修のためオフィスに固定席を設け、1ヶ月に1回程度の頻度でオフィスの別に席に移動する形態で実施しました。講師も新卒エンジニアの近くに座ることで、相談をしやすい環境づくりを行いました。
こんにちは。SUZURI事業部の@kromiiiと申します。 今回は、本番環境で実行すると危険なマイグレーションを事前に察知するためのRubyのライブラリをstrong_migrationsからonline_migrationsに移行した話をします。 Strong migration とは strong_migrations とは、マイグレーションの実行前に危険なマイグレーションを検出してくれるRubyのGemです。 例えば、以下のようなマイグレーションを実行したいとします。 その際にstrong_migrationsが導入されているRailsプロジェクトでは、このマイグレーションファイルが危険なmigrationであることを検知してくれます。 class AddCheckConstraint < ActiveRecord::Migration[6.1] def change add_ch
はじめに 技術部プラットフォームグループでSREをしているchiroruです。 ペパボでは、2023年に引き続き今年も日本のTest-Driven Development(TDD) の第一人者である@t_wadaさんをお招きしてTDDワークショップを開催しました。今回は総勢9名で丸っと1日ワークショップに参加してきました。その参加パートナーから開催レポートをお届けします。 昨年のワークショップについては『twadaさんによる2023年度版TDDワークショップを開催しました』をご覧ください。また、なぜTDDワークショップを開催しているのかについては、過去の記事『ふつうの開発と TDD ワークショップ』で詳しく説明しております。 はじめに ワークショップの内容 概要 スケジュール 講義・座学 ワークショップ・1on1コードレビュー 全体レビュー・質疑応答 TDDワークショップに参加した各パート
こんにちは。EC事業部のarumaです。 社内で量子プログラミングコンテストにチャレンジしてみる会を開催しました。 開催の背景 QCoderは、量子プログラミングコンテストプラットフォームの1つです。 「与えられた問題を解決するようなプログラムを実装し提出する」という点は他のプログラミングコンテストと同じですが、QCoderでは量子コンピューターで動作させるための量子アルゴリズムの実装問題が出題されます。量子コンピューティングSDKの Qiskit を使い、問題を解くための量子アルゴリズムをPythonで記述して提出します。 今年1月にQCoderで第一回となるコンテスト「QCoder Programming Contest 001」(QPC001)が開催されました。 私はこのQPC001にリアルタイム参加し、様々なゲートを組み合わせて問題を解いていく面白さを体験しました。社内でもこの楽し
技術部プラットフォームグループのyuchiです。 2024年8月3日,4日の2日間にわたって開催されたSRE NEXT 2024に登壇をしたので簡単に発表内容と感想を書いていきます。 「SREが考えるハイブリッド開催の技術イベントのライブ配信における信頼性」 2日目のBトラックのラストで「SREが考えるハイブリッド開催の技術イベントのライブ配信における信頼性」というタイトルで発表しました。 登壇中の写真 Photo by SRE NEXT Staff ハイブリッド開催の技術イベントが増えている昨今、ペパボでも「SREまつり」シリーズというハイブリッド開催の技術イベントを開催しています。 このようなライブ配信を行ってきた経験から得たトラブルや大変さなどを「信頼性」や「可用性」を軸とした改善を行ってきた話を行いました。 SRE NEXTなので、ライブ配信技術に詳しい方
はじめに セキュアなアップロードとS3の活用 1. S3バケットの作成と設定 2. 署名付きURLの生成 3. クライアントサイドの実装 ShoryukenとSQSによる非同期ジョブ処理 1. Shoryukenとは 2. セキュリティスキャンワーカーの実装 3. 動画変換ワーカーの実装 4. エラーハンドリング Lambdaによるワークフロー制御 まとめと今後の展望 はじめに こんにちは!GMOペパボでエンジニアをしている@yumuです。 近年、動画コンテンツの重要性は急速に高まっており、多くのウェブサービスやアプリケーションで動画のアップロードと共有が一般的になっています。しかし、動画ファイルの取り扱いには、セキュリティ、ファイルサイズ、形式の互換性など、さまざまな技術的課題があります。 今回、私はハンドメイドECサービス「minne」において、作家が作品に関する動画をアップロードでき
こんにちは。技術部プラットフォームグループのharukinです。2024/07/05(金)、株式会社マネーフォワード様の京都支社、京都開発拠点で開催されたRoad to SRE NEXT@京都にて、LT登壇枠で「メールサービスの信頼性を支えるSREの取り組み」として登壇しました。 この記事ではイベント前日までの準備と、当日のイベントレポートをご紹介します。 Road to SRE NEXT@京都 「Road to SRE NEXT」は、SREの普及とコミュニティの活性化を目的としたイベントです。主な目的は、地方におけるSREコミュニティの発掘と支援、SREの普及、およびSRE NEXT 東京開催への参加を促進することにあります。今回は京都で開催されました。 ref. Road to SRE NEXTを開催します! - SRE NEXT Staff Blog Road to SRE NEXT
技術部の染矢です。研修中にドット絵を作っていたと思えば、いつの間にか技術研修をする側になっていました。なんとまあ、時の流れというのは恐ろしいものでしょうか。 ペパボでは今年から新卒技術研修の一環として「オブザーバビリティ研修」を実施することにしました。ペパボの中では新しい取り組みであるため、オブザーバビリティ研修のみの内容で一記事を執筆することにしました。他の研修内容も含めたまとめ記事も近いうちに公開されることでしょう。 この記事では、オブザーバビリティ研修を新卒技術研修に組み込んだ意図と、研修内容、また研修設計時に考えていたことを紹介します。 オブザーバビリティ研修を取り入れた背景 ペパボの新卒技術研修では複数の技術を学びます。WebアプリケーションフレームワークからWebフロントエンド、インフラ、機械学習など幅広い技術を、実際に手を動かしながら習得します。 昨年までの研修で、次の課題が
こんにちは。技術部プラットフォームグループのshibatchです。プラットフォームエンジニアとして、主にSUZURIとminneをより良くするおしごとをしています。 さて私が主として携わっているSUZURIですが、2014年のサービス開始以来、一貫してHerokuを利用してきました。このたび、10年間使っていたプラットフォームを卒業し、新たにAmazon EKS(Elastic Kubernetes Service)へ移す方針に決めた経緯についてお話しします。EKSに移すという決定にするまでに多角的に検討し、時に悩みながら決定した過程について明らかにしていきます。 なお、現在プラットフォーム移設の真っ最中であり、移設の詳細な内容はこの記事に含めません。移設作業はほぼ完了に向かっており、また別途お話しする予定です。 この記事は以下の3部構成になっています。 Herokuから移行しようと思った
はじめに こんにちは、EC事業部でエンジニアをしているTatsumi0000です。業務ではモバイルや、バックエンドの開発をメインに担当しています。 今回は以前iOSアプリの開発をしているときに使っていたXcodeについてお話したいと思います。デフォルトの設定でも十分に便利なXcodeですが、いくつかの設定をすることでさらに便利になります。 今回私が使用しているXcodeのバージョンは15.3 (15E204a)です。 はじめに ビルドに成功・失敗したら音を出す アプリを起動すると自動でタブを開く テスト実行時に自動でTestsナビゲータを開く テスト実行状況をコード上に表示 最後に ビルドに成功・失敗したら音を出す アプリのビルド時間が長いため、私はビルド中に他の作業を行うことが多いです。そのためビルドに成功・失敗したら音を出すことで気づきやすくしています。成功時にはSucceeds、失敗
新緑の候、どこまでも澄んだ空気が視界を広げるように、システムの透明性が深い洞察を可能にしていることと存じます。技術部プラットフォームグループのそめやポチです。 2024年5月9日に、「Pepabo Tech Conference #22 春のSREまつり」と題した技術イベントを開催しました。「SREまつり」とは、ペパボのエンジニアたちがSREについての知見を発信することで、社外のSREコミュニティとの交流を図るイベントです。 昨年の春のSREまつり、夏のSREまつりに続いて、3回目の開催となりました。恒例イベントとして社内外に定着しつつあると感じています。 イベントは、物理会場とライブ配信会場の2つの会場で開催しました。物理会場は、シナジーカフェGMO Yours・フクラスという、GMOインターネットグループのカフェスペースを使用しました。ライブ配信会場は、YouTube Liveを使用し
こんにちは。技術部プラットフォームグループのharukinです。 この記事では、私たちが提供するネットショップ作成・運用のためのECプラットフォーム「カラーミーショップ」のデータベースを、Amazon RDSのブルー/グリーンデプロイを利用し、MySQLのバージョン5.7.38から8.0.35へアップグレードした経験についてご紹介します。カラーミーショップにおいてはこれが初の試みでした。Amazon RDS固有のファーストタッチレイテンシーの解除方法や、ダウンタイム時間の計測についてもお伝えします。 Amazon RDSのブルー/グリーンデプロイを活用するメリットは、本番環境に準ずるステージング環境を構築し事前検証が可能であることです。ステージング環境は約1分で本番環境に昇格させることができ、昇格時に許容ダウンタイムを超えたり、レプリケーションやインスタンスの問題が生じた場合は、自動的にプ
こんにちは。SUZURI事業部の@kromiiiと申します。 私のメインの業務はWebアプリケーションの開発ですが、大学院時代のスキルを活かして並行してデータ分析業務も行っています。 データ分析業務ではデータベースのクエリを書くことが多いのですが、私自身SUZURI事業部に配属されたばかりで、テーブルの名前やリレーションを覚えるのが大変でした。そこでクエリの設計を自動化するツールをSlackに導入しました。 その名も tbls-ask bot です。どのようなものか先に見てみましょう。 ユーザーはSlackでメンションする形で、どのようなクエリを実行したいのか自然言語で入力します。 メンションされるとSlack botが起動し、どのDBスキーマを利用するかを尋ねます。 ユーザーがDBスキーマを選択すると、自然言語からSQLクエリを生成し、Slackに返答します。 今回はパブリックに公開する
こんにちは、最近は旅行しているか、コードを書いているかの2極化が進みつつあります、P山です。直近の業務において、私が支援している国内最大級のハンドメイドマーケットサービス minne において画像変換サーバの実装を変更し、大幅にコストダウンできたので、その事例を紹介します。 minneについて minneはハンドメイド作家が創作したハンドメイド作品を販売することができるハンドメイド作家支援サービスです。技術スタックとしてはRuby on Railsを軸に、実行環境はOpenStackとAWSを用いたデュアルスタックのKubernetesを利用しており、スマートフォンアプリもiOS、Androidともに提供しています。 幅広い技術を、モダンな構成で扱うことができるので、もし採用にご興味があれば採用ページ をご確認ください。ペパボ社内を見渡しても若いメンバーが比較的多く、日々活気のある開発がさ
こんにちは。takutaka と申します。最近良かったことはMOTHER3をクリアしたことです。 最近、画像配信を WebP に動的変換するという施策を担当したので、その話をします。 ペパボにおける画像配信 GMO ペパボでは、クリエイターさんがアップロードした画像でTシャツなどのステキなアイテムが販売できる SUZURI というサービスや、EC支援サービスであるカラーミーショップやハンドメイドマーケット minne など、様々なサービスを運営しており、それぞれに画像の扱いは特徴があります。 SUZURI では、クリエイターさんに提供いただいた画像をペパボで独自で合成し画像を作成していますが、対してカラーミーショップや minne では、ショップオーナーさんや作家さんがペパボのシステムアップロードした画像をエンドユーザーさんに配信しています。 施策を実施したサービス 今回はEC支援サービス
こんにちは、技術部プラットフォームグループでSREをやっているgurasanです!今回は先月開催されたYAPC::Hiroshima 2024にペパボから2名が登壇しましたので、イベントレポートをお届けします!ちなみに連日広島名物を食べ歩いていました。どれもこれも美味しくて良い街でした。 登壇したセッションの感想 入門EOL対応 ~SREが鉄板の流れ全部見せます編~ by gurasan 昨年のYAPC::Kyoto 2023に続けてプロポーザルを採択していただき登壇させていただくことができました。今年はEOL対応というテーマで登壇しました。このテーマで登壇に至った経緯としてはこれまでEOL対応をテーマとした資料やスライドというのがなく「このノウハウをまとめると助かる人が多いのでは?」と思い取り上げてみました。懇親会でもポジティブな感想を多くいただけて大変嬉しく思っています。 参加ブログも
minne事業部のnissyiです。私は最近、運用・開発業務の時間を確保するために、便利なツールを導入したり、ちょっとしたプログラムを書いて自動化したりしています。今回は、日頃の業務の自動化を進めたことで得られたものについて書きます。 自動化を進めたことで得られたもの 身近なところで自動化は可能 自動化の損益分岐点 メンテナンスと分かりやすさ 最後に 自動化を進めたことで得られたもの 早速本題ですが、自動化に取り組むことで以下のようなメリットや学びを得ました。 時間を生み出し、他の仕事に取り組む時間を確保できる 自動化の手段を知ることで、他の場面で応用できる 作業に対して「これは自動化できないか?」と考えるようになる 自動化を進めると、生み出した時間で新たな自動化に取り組めて、さらにそれで時間を生み出して…と複利のように効率化を進められます。 身近なところで自動化は可能 エンジニアの業務に
この記事の担当 @kawaD はじめに こんにちは!技術部 Corporate Engineering Group(CEG)のkawaDです!CEGは、いわば情シス部門であり、仕事内容は多岐にわたります。その中の一つに、業務用PCの管理があります。 JamfやIntuneといったMDMは導入していますが、レンタル契約管理や入退者のPC管理についてはGoogleスプレッドシートを利用しています。このGoogleスプレッドシートでの管理に課題を感じていて、イケてる仕組みを目指してSnipe-ITを検証してみました。 Snipe-ITを使ってみた背景 弊社では業務用PCを2年間の契約でレンタルし、毎月約30台の切替管理作業を行なっています。PC台帳は頻繁に更新され、ベンダーとの連携もあり、Googleスプレッドシートでの運用が難しくなりました。 具体的な課題 PC運用が複雑 パートナーが利用する
セキュリティ対策室の 伊藤洋也 ( @hiboma ) です 2/21(水) ファインディ株式会社様 主催の インシデントマネジメント 事態収拾のための取り組みに迫る Lunch LT にオンラインで登壇しました。 イベントは次のような趣旨で開催されました。 インシデントが発生した際にスピーディにサービスを復旧させることはもちろんのこと、発生した事象への再発防止に向けた対策を講じることも重要です。インシデントへの事前準備、発生時の対応、振り返りの一連の管理はサービスの信頼性維持のための一環となっております。 本イベントでは、それぞれインシデントへの対応の管理や改善をされてこられた方々から、取り組みの事例やその際の考え方等を広く共有していただくことで明日から使える気づきや学びを得られるイベントを目指します。 今回、このイベントで インシデントマネジメントとエンジニアリングのかけ算 - 自動化
こんにちは!ペパボ研究所 研究員のわたさん @ae14watanabe です。 世の中ではAIが昨年から盛り上がっていますね!1 ペパボも例外ではありません。 ペパボのSlackには、機械学習やAIに関してみんなで雑談するチャンネル ai_waiwaiがあり、大盛り上がりしています。 私はこの社内のSlackチャンネルで「日刊AIニュース」という取り組みを約4カ月ほど毎日行っています。 その名の通り、毎日AI・機械学習の新しいトピックについて、概要の紹介と簡単な解説を行っています。 今回はこの取り組みについてご紹介します。 なぜやっているのか? ペパボでは、ミッションである「人類のアウトプットを増やす」ために、昨年から各サービスへのAI導入を積極的に行い、ユーザの皆さんのアウトプットを促進する機能開発を進めています。 今年はこの取り組みをさらに進めつつ、AIが日常的に利用される社会の動きに
minne事業部プロダクト開発チームのtepiです。DependabotでAndroidのライブラリが検知できない場合の対処方法についてご紹介したいと思います。 Dependabotとは 事象 デバッグ 理由 対処法 対処法後 まとめ Dependabotとは DependabotはGitHub上で動く自動でライブラリのアップデートを検知できるツールです。 ペパボではGitHub Enterpriseを使って開発を行っており、社内的にはDependabotが推奨されているため、先日公開された記事にも記載の通りRenovateからDependabotに移行しました。 事象 上記の通り移行を行ったのですが、全くPRが作成されないライブラリがいくつもあり、 最初はライブラリがきちんとアップデートされているかつそこまで更新頻度が多くないのかと気にしていなかったのですが、 ある時調べたところ全くアッ
minne事業部モバイルチームのエンジニアをしております、@umatoshiです。最近はパルワールドに夢中で、全力で配合に取り組んでいます。 好きなパッシブスキルは脳筋です。 現在私は、minneのiOSアプリを開発しており、最新バージョンのXcode(執筆時点では15.2)対応とiOS15サポート終了予定等、2021年当時の記事からアップデートしたので、採用している新技術や開発効率を上げるための工夫をはじめとしたトピックを、minneのiOSチームに興味がある方へ向けて共有したいと思います。 去年はiOSDC 2023でブース出展もしていて、弊社から登壇もしていてminneについて紹介しています。こちらもどうぞ。 概要 まずiOS 14のサポートを終了しており、SwiftUI、 GraphQL、 SPM(Swift Package Manager)、 Combine、 Swift Con
こんにちは!技術部プラットフォームグループのharukin, pochyです。 この記事では、「ISUCON」を模したパフォーマンスチューニング研修を複数社合同で実施した概要と、そのための準備について紹介します。 研修について 目的 今回の研修の目的は次のものとしました。 パフォーマンスチューニングの問題を会社横断でチームを組成し取り組むことで、サーバサイドやインフラのパフォーマンス・チューニングを中心に幅広い知識を総動員して課題解決に望む。 課題解決過程のコミュニケーションを通じて、会社の枠を超えた同期作りを促進する。 概要 今回の研修では、チームごとにパフォーマンスチューニングの課題に挑戦しました。 実際のISUCONのように、各チームにwebサーバーを貸し出す形式です。各チームはそのアプリケーションを時間内にパフォーマンスチューニングし、最適化された度合いによってチームに点数をつけま
はじめに 2023年12月13〜19日の間、ペパボ技術部の新人2名が、株式会社ハートビーツ様ご監修のもとに実施されたインフラ領域に関する研修に参加しました。 目的 本研修を通じて、多くのサービスで利用されるインフラ基盤の汎用的な技術の習得を目指し、今後、業務にジョインする際にスムーズに各ツールや技術を扱えるようにする。 また、インフラ技術に対する距離感を縮め、自信を持って業務に臨めるようにしたい。 研修でやったこと 以下が最終的な構成内容となります。 具体的にはAWSに構築したパブリックなVPC上で2台のEC2の冗長構成をとり、 ロードバランサとしてはALBでHTTP/HTTPSを受けるように構えております。 なお、ドメインの名前解決にはRoute53を活用しています。 サービス運用中のログ取得にはfluentdを利用し、取得した内容はS3に取集しております。 ログの確認はAmazon A
はじめに こんにちは、minne事業部 Webアプリケーションエンジニアの@inowayです。2023年12月にGoogle Cloud Associate Cloud Engineer(ACE)に合格しました。本記事では体験談を元に、WebアプリケーションエンジニアがGoogle Cloud 認定資格を受験するメリットについて書いていきます。 Google Cloud ACEとは Google Cloudの認定試験ガイドには以下のような記述があります。 Associate Cloud Engineer は、アプリケーションとインフラストラクチャのデプロイと保護、複数のプロジェクトで実行されるオペレーションのモニタリング、エンタープライズ ソリューションの保守を行い、ターゲットのパフォーマンス指標が達成されるようにします。また、パブリック クラウドとオンプレミス ソリューションの実務経験が
はじめに こんにちは、CTO室鹿児島エンジニアリングチームの@kurehajimeです。 普段はカラーミーショップの決済周りの開発を行っているWebアプリケーションエンジニアです。 2024年1月17日、鹿児島工業高等専門学校(以下、鹿児島高専)に『AI基礎』というテーマで出張授業に行って来ました。 自分はWebアプリケーションエンジニアなので、勉強会のハンズオンやOBとしての講演はともかく、学校で授業するというのは今回が初めての体験です。 この記事では、授業内容を考えるうえで工夫した点などをまとめたいと思います。 ターゲットとコンセプト 授業をする上でまず考えたのは『ターゲット』と『コンセプト』です。 今回のターゲット、つまり授業を行う対象は、鹿児島高専の機械工学科2年生です。 機械工学科なので専門は機械系で、ネットで公開されているシラバスによれば『情報I』と『情報II』の授業は3年次か
訂正 2024-01-31: 指定するメールヘッダの用法を訂正しました。訂正以前はList-Unsubscribe-Post ヘッダにエンドポイントのURLを記載するとしていました。正しくはList-Unsubscribe ヘッダにエンドポイントのURLを記載します。また、List-Unsubscribe-Post ヘッダには List-Unsubscribe=One-Click と記載します。 はじめに こんにちは、新卒 13th の@donokunです。12 月は SUZURI 事業部に参加して、いちごジャムとたまごペーストがトーストにあうことを学びました。騙されたと思って喫茶店のモーニングで試してください。ジャムが塗ってあるトーストにたまごペーストを上から塗って食べるのです。 この記事ではワンクリックでの配信停止(one-click unsubscription)という E メール送
次のページ
このページを最初にブックマークしてみませんか?
『Pepabo Tech Portal』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く