技術ブログ

(技術系中心)基本自分用備忘録なので、あくまで参考程度でお願いします。

ffiインストールエラー対策

bundle installで下記のエラーが出る 1 error generated. make: *** [Function.o] Error 1 make failed, exit code 2 Gem files will remain installed in /Users/inouehiroki/ghq/github.com/SchooLynk/schoolynk-intelligence-api/vendor/bundle/ruby/2.6.…

M1 MAC で ARM64版のnodebrewインストール

M1 MAC で ARM64版のnodebrewインストール https://minnano.app/support/2021/04/09/m1-mac-arm64-homebrew-node-2021-04/ この記事を参考にした。

vuex-persistedstateハマりポイント(Vuex)

vuex-persistedstateハマりポイント(Vuex) vuex-persistedstateがイケてなくてリロード時にgettersでnullになった話 ■ 原因 ローカルストレージ→storeのコピーがmounted()の後にコピーされる ■ 対策 nuxt-client-init-moduleをインストールする。 これで “nu…

Nuxt.jsデータ取得

Nuxt.jsデータ取得 Nuxt.js (ユニバーサルアプリケーション)では、サーバーサイドレンダリング中にデータをレンダリングするために Nuxt.js 特有のフックを使う必要があります。 この方法について調査したので、記載する。 非同期データ読み込み方法 Nuxt…

非同期処理について

非同期処理について プログラムは実行すると、コードを上から順に1行ずつ実行していきますね。 その処理の1つに時間のかかる処理があると、その実行が完了するまで、次の行には進みません。 どんな時に困るのでしょうか? 例)サーバーと通信を行った際に、…

Firestore(NoSQL)について

Firestore(NoSQL)について 個人開発でNoSQのFirestoreを利用することになりました。 ただ、RDBしか触ったことがなく、色々と調査したのでその備忘録を残します。 Firestoreとは? Firestoreとはドキュメント指向NoSQLデータベースです。 RDBとFirestore(NoSQ…

オブジェクト、プロパティ、メソッド

オブジェクト、プロパティ、メソッド オブジェクト -> データと機能をまとめたもの プロパティ -> オブジェクト内のデータ メソッド -> オブジェクト内の機能 例)niceGuyというオブジェクトを作る let niceGuy = { name: inoue playSoccer: function() {...…

vscodeショートカット

vscodeショートカット 1.複数行選択 Command + option + 矢印 2.ひとつもどる Command + - 3.ファイルやフォルダのみを検索する方法 Command + P VSCodeにおいて、ファイルやフォルダのみを検索する方法 4.置換 Command + F Command + Fでファイル内の文字列…

Figmaショートカット

Figmaショートカット レイヤー(選択中以外)を全て閉じる ⌥ + L 参考 www.koreyome.com

Cloud Run(サーバーサイドレンダリング)

Cloud Run Clouf RunはGCPで提供されているDockerコンテナをデプロイできるコンピューティングサービスです。 Firebase Hostingは静的アセットの配信を基本機能としてますが、サーバーサイドロジックの実行環境として、Cloud FunctionsまたはCloud Runに接続…

アクセス負荷分散「Cloud Load Balancing」

GCP

アクセス負荷分散「Cloud Load Balancing」 現在の案件ではコンテナ管理にk8s(GKE)を利用しています。 Google Kubernetes Engine(GKE)には、一般公開するアプリケーション用に次の 2 種類の Cloud Load Balancing(HTTP(S)負荷分散用のレイヤー7ロードバ…

GCS(Cloud Storage)についてまとめ

GCP

GCS(Cloud Storage)についてまとめ 現在のジョインしている案件でリソース管理・管理にCloud Storageを利用しています。 GCS(Cloud Storage)の知見が少ないと感じたので、概要をまとめます。 GCS(Cloud Storage)とは Cloud Storageとはオブジェクトス…

GCPのGKEについて

GCP

GCPのGKEについて 現在の案件では全環境(dev, staging, prod)のデプロイをGKEで行なっています。 ただGKEについての知識が乏しかったので、概要知識を記載する。 GKEとは GKE(kubernetes engine)とはその名のとおりGoogleが開発したKubernetesというオープ…

GCPのBigQueryについて

GCP

GCPのBigQueryについて 業務でGCPのBigQueryを利用する機会があったので、メモ残します。 BigQueryは、Google Cloud Platformで提供されるビッグデータ解析プラットフォームです。1PB(ペタバイト)あるいは10億行といった膨大なデータに対して、集計・分析…

vue.jsグローバル登録とローカル登録の違いについて

vue.jsグローバル登録とローカル登録の違いについて Vue.jsのコンポーネント設計にはグローバル登録とローカル登録の2種類があります。 その違いについてまとめます。 コンポーネントとは 1. ページを構成するUI部品 2. 再利用可能なVueインスタンス コンポ…

複雑なクエリの場合はO/Rマッパーではなく直接SQL書いた方が良いという話

複雑なクエリの場合はO/Rマッパーではなく直接SQL書いた方が良いという話 RailsのO/Rマッパーだけでは複雑な条件取得の場合に役不足のケースがあります。 その場合は直接SQLクエリを作成する方が早いケースがあります。 例)直近1週間で60分以上ゲームした…

groupを利用した少し複雑な処理方法

groupを利用した少し複雑な処理方法 タイトルがうまく思いつかないので、よくわからないと思うのですが。 下記のようなケースを想定した場合の処理について説明します。(自分用備忘録です) 例)ユーザーがゲームをした回数を調べたい、日付毎に確認したい…

Google Could SDKでk8sのコンテナを作成する方法

Google Could SDKインストール方法 業務でGoogle Could SDKをインストールする方法を記載します。 Google Could SDKを導入することで、gcloud コマンドライン ツールを利用することが可能になり認証、ローカルの構成、デベロッパー ワークフロー、Google Clo…

kubernetesのCronJobについて

kubernetesのCronJobについて 業務でk8sのクローンジョブを利用して、定期バッジ処理をする機会があった。 忘れない為に学んだ内容を記載する クローンジョブを行うようなケースは下記のようなものがあります。 1. 定期的に送信メールを送る 2. 1日一回ユー…

大文字小文字を区別しないでActiveRecord(where)で取得する方法

大文字小文字を区別しないでActiveRecord(where)で取得する方法 ■ モデル構造 Personテーブルから名前がstevejobsのレコードを検索取得したい場合 モデルクラス.where("列名 LIKE ?", "%値%") # 値(文字列)を含む で取得できるので以下のように実装します。 …

Nuxt.js初期設定

? Project name: (hello) プロジェクトネームを設定できます。カッコの中のhelloがデフォルトの値です。 ? Programming language: (Use arrow keys) ❯ JavaScript TypeScript プログラミング言語を選択します。 このコースではJavaScriptを利用します。 ? Pa…

PUTとPATCHの違い

WEB

PUTとPATCHの違い WEBのHTTPメソッドにはリソースの更新処理をおこうなう時に利用するPUTとPATCHを利用します。 ただ、この違いがよくわかないので調査しました。 PUT 丸ごと更新する場合。 User を丸ごと更新する場合など。 PATCH 一部分を更新したい場合。…

LimtとOffsetでレコード指定して取得する方法

LimtとOffsetでレコード指定して取得する方法 レコード数を指定して取得したい時に便利な方法を記載します。 limitメソッドは、取り出すレコード数の上限を指定します。 クライアントテーブルから5レコード取得 Client.limit(5) ↓ SELECT * FROM clients LI…

RDSデータバックアップについて

AWS

RDSデータバックアップについて AWSのRDSを利用しているのですが、仮に本番データぶっ飛んだ場合はどうなるのか気になったので調査してみました。 先に結論から言うと、RDSでは自動バックアップシステムがあります。 ですので、適切にバックアップ設定をして…

Kubernetesさまざまなデプロイ形式について

Kubernetesさまざまなデプロイ形式について Kubernetesはさまざまなデプロイ形式をサポートしています。 自動復旧やスケーリング、コンテナ群のアップデートなど、デプロイに関する作業の一部はKubernetesによって自動化されています。 Kubernetesについては…

Docker環境をオーバーライドする方法(Doocker-compose.override.yml)

Docker環境をオーバーライドする方法 Composeファイルを複数利用したいケースがあります。 例えば、異なる環境、異なる作業フローに合わせてカスタマイズするケースなどです。 その時によく利用するのがDoocker-compose.override.ymlファイルを利用する方法…

HTTPのキャッシュについて

WEB

HTTPでキャッシュを利用する方法 キャッシュとはサーバーへのアクセスの頻度や通信量を減らすためにクライアント側で一度とった情報を保存しておき、必要になった時にあらかじめ取得してあった情報を利用することを言います。 ■ キャッシュを利用するメリッ…

Raisでバルクインサートする方法

Raisでバルクインサートする方法 Railsでバルクインサートする方法を記述します。 バルクインサートとは? ↓ qiita.com では、Railsでバルクインサートするにはどうすれば良いのでしょうか? フルスタックフレームワークであるRailsであればバルクインサート…

エラーの詳細をクライアントに返す方法

WEB

エラーの詳細をクライアントに返す方法 エラーが発生した時はステータスコードをクライアントに返却します。 クライアントサイドに起因するエラーは400番台。 サーバーサイドに起因するエラーは500番台。 しかしステータスコードだけでは、詳細情報がわから…

psqlコマンドでローカルに入る方法

Dockerのdbコンテナでpsqlコマンド打つ方法 psql -h 127.0.0.1 -p 15432 -U postgres -d hoge_development コネクションオプション Connection options: -h, --host=HOSTNAME database server host or socket directory (default: "local socket") -p, --por…