ブックマーク / zenn.dev/coconala (8)

  • バージョンアップ対応に苦労した過去の自分に送りたい7つの心得

    こんにちは。 株式会社ココナラでバックエンド開発に従事するRKと申します。 みなさまはシステムのバージョンアップ対応をした経験はありますでしょうか? システムの安定稼働に配慮して一定期間で実施している場合もあれば、利用しているライブラリや開発言語そのものの End Of Life(以降、EOL) によってバージョンアップを余儀なくされて実施した場合もあるでしょう。 どちらにせよ、ユーザーの皆様に安心してシステムをご利用いただくためにも、バージョンアップ対応はとても大事な作業の1つとなります。 弊社ココナラでも、もう少しでEOLを迎える/迎えた開発言語や環境を持つシステムは存在します。 記事では、ココナラのとあるシステムのバージョンアップ作業対応を実施した際の私自身のふりかえり内容を記載します。 当にこの記事を過去の自分に送って読ませたい。 なお、弊社ではすでにバージョンアップに関連する

    バージョンアップ対応に苦労した過去の自分に送りたい7つの心得
    toshikish
    toshikish 2024/08/08
  • ログ調査基盤を構築してみた

    こんにちは。 株式会社ココナラのインフラ・SREチーム所属の かず です。 システム運用において、有事の際に迅速かつ適切なシステム稼働状況の確認は欠かせません。 その手段の1つとして、ログの調査や分析の効率化は切っても切れない関係です。 システムが成長するにあわせ、ログの種類や量が多くなり、結果としてログの調査や分析が難しくなるのはよくある話かと思います。 弊社でもサービスのグロースに伴って、ログの種類や量が多くなり、結果としてログの調査や分析で課題を抱えていました。具体的には以下の2点です。 ログから原因調査を行うには、複数ログを横断・突き合わせが必要 ログの追跡に必要な情報がログに出力されない場合がある そこで、課題への対応としてログ調査基盤の構築を行いました。 記事では背景や苦労したこと、効果についてご紹介します。 複数ログの横断調査実現に向けて ログ調査基盤の構築 苦労したこと

    ログ調査基盤を構築してみた
    toshikish
    toshikish 2024/03/28
  • やっとわかる!Next.js App Routerのcacheにおけるrevalidateと苦戦した話

    こんにちは。ココナラテックエージェントの開発をしているエンジニアのみんです。 新技術が常に登場しているフロントエンドの開発で、時代の波に乗り、キャッチアップすることが我々エンジニアの使命です。 ココナラテックエージェントのフロントエンドNext.js アプリケーションです。2023年の9月から、App Routerへの移行を始めています。 つい9月末に、ココナラテックエージェントの案件一覧ページをApp Routerに移行しました! 案件一覧と検索を含め、案件まわりのキャッシュ再検証(revalidate)の実装に全身全霊を注いだ成果をシェアしたくて、この記事を書きました。 App Routerのキャッシュ種類 Next.jsは、レンダリングの効率を上げるために、オプション指定がない場合に全てのリクエスト結果をキャッシュする方針です。 公式ドキュメントによると、App Routerのキ

    やっとわかる!Next.js App Routerのcacheにおけるrevalidateと苦戦した話
    toshikish
    toshikish 2023/11/07
  • AppleシリコンのMacでのDocker開発環境のパフォーマンス改善

    プロダクト開発部バックエンド開発グループでエンジニアをしています、おかだです。 ココナラには開発環境改善委員会があり、開発スピードの維持・改善に取り組んでいます。 日は、取り組みの一環としてAppleシリコンのMacでのDocker開発環境のパフォーマンスを5-10倍程度改善したお話をしたいと思います。 はじめに AppleシリコンのMacが発表されてから数年が経ちました。ココナラでも昨年から導入が進んでおります。新しく入社したメンバへはM1 MacBook Pro(最近だとM2)が標準で支給されるようになっており、現在はIntel MacとM1 Macが混在して利用されている状況です。 バックエンドの開発では、ローカルでの動作確認や単体テストはコンテナ内で実行できるようになっています。 Dockerパフォーマンス問題 M1 Macを導入したメンバから 単体テストが遅い 静的解析が遅い

    AppleシリコンのMacでのDocker開発環境のパフォーマンス改善
    toshikish
    toshikish 2023/06/11
  • ヘッドレスUIコンポーネントでいこう -- Radix UI + Stitches がいい感じ

    こんにちは! 株式会社ココナラの法律相談事業部でWebエンジニアをしている 原井 です。 ココナラ法律相談 と ココナラエージェント という2つのプロダクトのWebフロントエンド・バックエンド開発を担当しています。 この記事は、フロントエンド開発に使うUIコンポーネントライブラリの技術選定をするシーンでのお話です。 私たちが何を課題に感じていたのか、どう考えて Radix UI と Stitches の採用に至ったのか、採用してみてどうだったのかをご紹介します。 UIコンポーネントを開発していて思うこと 世の中にはUIコンポーネント集とでも呼ぶべき便利なライブラリがたくさん公開されています。 例えば以下のようなものがあり、他にも把握しきれないほどあると思います。 MUI (Material UI) Ant Design Chakra UI Vuetify これらのUIコンポーネントライブラ

    ヘッドレスUIコンポーネントでいこう -- Radix UI + Stitches がいい感じ
    toshikish
    toshikish 2023/05/13
  • ココナラ法律相談の法律Q&Aに ChatGPT を導入した話

    こんにちは。ココナラ法律相談 の開発をしているエンジニアの大川と高崎です。 ChatGPT、話題にならない日がないくらい話題ですよね。 先日の ChatGPTを駆使して実現したAIアシスタント機能の開発ストーリー に引き続き、ココナラ法律相談でもChatGPTを組み込んで既存機能を改善した話をしていきます。 ChatGPTを活用した機能を企画・開発するにあたってさまざまな課題がありました。 今回は、その課題を解決するにあたり、何に苦労しどう工夫したかについて書いていければと思います。 もうすでに取り組んでいる方、これから取り組む方のご参考になるのではないでしょうか。 つくったもの 法律Q&A投稿画面 の相談内容から相談タイトルを自動生成する機能をリリースしました。 ChatGPT導入後の投稿画面 背景 ココナラ法律相談はいわゆるメディアサービスであり、多くのユーザーがサイトを訪問し、コンテ

    ココナラ法律相談の法律Q&Aに ChatGPT を導入した話
    toshikish
    toshikish 2023/05/12
  • 分間10万リクエストを捌く、メール/プッシュ通知 大量配信AWSアーキテクチャ

    こんにちは。 株式会社ココナラで技術戦略室を担当しているKと申します。 記事では、ココナラで使用しているメール/プッシュ通知の配信基盤についてお話ししたいと思います。 この基盤は2年ほど前に構築したものです。 今回記事に取り上げたのは、今後AWSにコストを抑えた上で高速に処理する仕組みを構築する際の参考になるかもしれないと思ったためです。 記事では、大きく以下の2点をお話しします。 構築に至った背景 アーキテクチャの詳細と結果 前提として、ECサイトと配信の関係 一般的に、ECサイトではマーケティングを目的として、メールやプッシュ通知を配信します。 ユーザーが多ければ多いほど、その配信数も多くなります。 ココナラもスキルのECサイトの構造であり、ユーザー数は300万人を超えています(2022年8月末現在)。 したがって、他のECサイトと同様に多数のメールやプッシュ通知を配信しています。

    分間10万リクエストを捌く、メール/プッシュ通知 大量配信AWSアーキテクチャ
    toshikish
    toshikish 2023/04/06
  • ココナラ的ベストTerraformディレクトリ構造を考える

    こんにちは。 株式会社ココナラのシステムプラットフォーム部でインフラ・SREチームのチームマネージャーをしているよしたくと申します。 前回はインフラ・SREチームの主に組織的な部分を紹介しましたが、今回はより技術的な取り組みを一部紹介します。 ココナラではクラウドリソースの管理にTerraformを利用しています。今回このTerraformリポジトリのディレクトリ構造を見直すこととしたので、どのような考え方・ポリシーで構成を考えたのかを記事で紹介します。 修正前の状態 自分が関わる前はどのような構成だったかというと、以下のような状態でした。 terraform ├── service1/ │ ├── common/ │ ├── development/ │ ├── production/ │ └── stg/ ├── service2/ │ ├── production/ ├── ser

    ココナラ的ベストTerraformディレクトリ構造を考える
    toshikish
    toshikish 2023/04/05
  • 1