バイセル Tech Blog

バイセル Tech Blogは株式会社BuySellTechnologiesのエンジニア達が知見・発見を共有する技術ブログです。

治安のいいOpenAPIの開発環境を作る

はじめに

テクノロジー戦略本部の早瀬です。

RESTful な API の仕様の定義する時に OpenAPI を使用することはよくあると思います。 ですがある程度の規模のプロジェクトになってくるとopenapi.yamlが肥大化して数千、数万行になってしまい下記のようなつらみが出てきます。

  • 複数人での開発でコンフリクトが発生しやすい
  • 目的の API の定義箇所が見つけにくい
  • 記載方法が統一されておらず秩序がなくなる
  • $refがネストしてると探すのが大変
  • エディタによっては重すぎて開けない

ずらずら書きましたが要は、とにかく開発しずらいということです笑 そこで今回は治安がよく、できるだけストレスフリーな OpenAPI の開発環境を作っていこうと思います! 最終的なコードはこちらにプッシュしてあります。

  • はじめに
  • openapi.yaml の分割
    • paths
    • schemas
    • parameters や responses を分けない理由
    • スタブサーバーの生成
  • openapi-validator の導入
  • まとめ
続きを読む

Apollo Client のキャッシュの仕組みとローカルの状態管理について

はじめに

テクノロジー戦略本部の早瀬です。

現在携わっているプロジェクトの技術選定で GraphQL を使うことになり、 GraphQL クライアントとして Apollo Client を採用することになりました。 最初は GraphQL をクライアントサイドで便利に使えるようにしてくれるものくらいの認識で、クライアント側の状態管理には別途 Redux とか入れるのかなと思っていたのですが、調査の過程でたまたま Apollo Client は Redux を置き換えるとの記事を見かけたので Apollo Client のキャッシュの仕組みと状態管理について少し調べてみました。

この記事では下記のことについて解説します。

  • Apollo Client とは
  • Apollo Client のキャッシュの仕組み
  • Reactive variables を利用したローカルの状態管理について

かなり内容がもりもりになってしまったのですが、最後まで読んでもらえると嬉しいです!

  • はじめに
  • Apollo Client とは
  • Apollo Client のキャッシュの仕組み
    • キャッシュの概要と扱い方について
      • FetchAllTasks1→FetchAllTasks2 の順で実行された場合
      • FetchAllTasks2→FetchAllTasks1 の順で実行された場合
    • キャッシュ更新時の再レンダリング
    • 正規化の仕組み
      • Tasks リストを分割
      • 各オブジェクトへ一意な識別子を割り当てる
      • フラット化されたデータ構造へオブジェクトを格納
    • キャッシュが自動更新される、されない処理
      • 自動で更新される処理
      • 自動で更新されない処理
  • Reactive variables を利用したローカルの状態管理について
    • Field policy とは
    • Reactive variables とは
    • タスク管理アプリでの実装例
  • まとめ
続きを読む

AWS CloudWatch アラームからslackへ通知する

バイセル開発部の松榮です。

コロナでなかなか外出できないので友人とも長く会えてないので
早くこのコロナが落ち着くといいなと切に願ってます。

今回はAWSのAlarmをslackで通知を受け取るという設定をしました。
(設定が漏れていて検知が出来なかったので改めて設定したという話しです)

やりたい事

RDSのCPUの使用率上昇の検知をslack上に流したい

構成イメージ

 

f:id:bst-t-matsue:20210816151523p:plain

cloud watch Alarm構成図

手順

  • 通知するチャンネルを用意

  • AWS SNSの設定

  • AWS Chatbotの設定

  • CloudWatch アラームの設定

  • テストでアラート発砲

続きを読む

社内で開催しているiOS勉強について

はじめに

テクノロジー戦略本部の早瀬です。

先日までは写真撮影アプリの開発にアサインされていましたが無事リリースが完了して、今は出品管理を行う業務システムの開発に携わっています。

弊社では外部の iOS エンジニアの方を講師として現在週2回のペースで iOS 勉強会を行っているのですが、今回は自分のアウトプットも兼ねてその内容を紹介したいと思います。

  • はじめに
  • 背景
  • 勉強会の内容
    • 言語仕様
    • UIKit
    • Todo アプリの作成
    • テトリスアプリの作成
  • まとめ
続きを読む