学習備忘ログ

よく使うコードや設定のメモ

2021-01-01から1年間の記事一覧

【Golang + Sqlx】リレーション先も含めて構造体へのbindを一度でする方法

go

前提 groupテーブルとcategoryテーブルがあり、groupテーブルにcategoryを参照する外部キーが存在してる。 構造体定義 package model type Group struct { ID int `json:"id" db:"id"` Name string `json:"name" db:"name"` GroupCategoryId uint64 `json:"g…

【Golang + http/test】リクエストのbodyにjsonを渡す方法

go

サンプルコード bodyJsonにjsonの文字列を代入し、strings.NewReaderで読み込んであげる。 package handler_test import ( "net/http" "net/http/httptest" "strings" "testing" "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" ) func…

【Golang + Echo】カンマ区切りのクエリパラメータを構造体にBindする方法

やりたいこと 下記のようなUrlで companyIdsを配列として受け取りたい。 companies/pageSize=10&page=1&companyIds=22,23,21 コードサンプル ポイントは BindWithDelimiterの部分。ここで,区切りの数値を CompanyIdsに格納してる。 type getCompanyRequest s…

ElasticSearch

概要 スケーラビリティに優れた全文検索エンジン ログ集約のLogstashやfluentd、可視化ツールのkibanaと一緒に使われることが多い 複数のデータベースを横断して検索することが、ごく当たり前の用途として提供されている 全文検索 大量にあるドキュメントデ…

DynamoDB

DynamoDBの概要 qiita.com RDSとの比較 dev.classmethod.jp 使い所 RDSよりも早いレスポンスが要求される場合 スケールアウトすることにより、リクエスト数の増加に対応もできる。RDSだとスケールアップでの対応になり限界がある。 サービスを一時的に止めた…

form外にあるbuttonからpostする方法

課題 form内にsubmitするbuttonを設置することができない 対処法 buttonのform属性に以下のように指定する <form action="{{ route('brands.pages.edit', ['id' => $brand->id]) }}" method="POST" id="page-edit-all-tabs-form" //idの指定をする enctype="multipart/form-data"> {{ csrf_field() }} <div class="tab-content"> @include('admin.store.modal.faceboo…</div></form>

複数のワーカで処理する際の最後の処理をredisで制御する方法

課題 ワーカを利用し分散処理した際し、最後の処理が終わったタイミングでメールを送信したい場合 対処方法 jobId)->has($this->storeId); if ($isExecuted) { Log::info('isExecuted')…

【Laravel】バッチ処理の結果をDBに保存する方法

課題 各バッチ処理が成否を素早く確認したい またサーバが落ちてしまった場合に何が処理できていなかったのかの確認も素早くしたい ログ出力だと確認に時間がかかる。 対処方法 バッチ処理結果を保存するDBを作成。今回はJobsLogとする 以下のようなクラスの…

【Docker】Mysqlを使用中にThe table '' is fullと出た場合の対処法

課題 mysqlにdumpファイルをインポートしようとすると、The table '' is fullやGot error 168 from storage engineとエラーが出て先に進まない。 対処 dockerのmysqlが使用してるボリュームを確認 docker volume ls ※大体 project名_db-dataという名前で存在…

【CSS】クラスの部分一致

css

html <ul class="list_nav_header"> <li><a href="#">ABOUT.</a></li> <li><a href="#">FEATURE.</a></li> <li><a href="#">PROFILE.</a></li> <li><a class="btn_ico_mail" href="#">CONTACT.</a></li> </ul> css [class*="btn_ico"] { display: block; height: 36px; display: flex; align-items: center; padding: 0 30p…

【CSS】文頭にアイコンを表示

css

方法 ①擬似要素の利用 html <ul class="list_nav_header"> <li><a href="#">ABOUT.</a></li> <li><a href="#">FEATURE.</a></li> <li><a href="#">PROFILE.</a></li> <li><a class="btn_ico_mail" href="#">CONTACT.</a></li> </ul> css [class*="btn_ico"] { display: block; height: 36px; display: flex; align-items: center; pa…

【CSS】下線部を追加

css

方法 ①擬似要素の利用 html <div class="head_home"> <h2 class="ttl">ABOUT.</h2> </div> css .head_home .ttl { font: 500 56px/1em "Futura PT"; line-height: 1.28; position: relative; } .head_home .ttl:after { content: ""; display: block; position: absolute; width: 100%; height: 5px; background…

【CSS】要素を右端に持っていく

方法 ①flexの利用 See the Pen abBLWGm by コウ@リモートエンジニア (@programmerkou) on CodePen.

【CSS】コンテナについて

css

コンテナ のメリット まず、コンテナのメリットについては以下を参照 note.com 方法 ①全セクションにコンテナを使用 See the Pen gOLGReV by コウ@リモートエンジニア (@programmerkou) on CodePen. ②部分的にコンテナを使用する See the Pen gOLGxaP by コ…