公式に書いてあるのでそれを使います。 下記の compose ファイルで mongodb と web UI である mongo-express が起動できます。
非常に今更ですが、徳丸本 §3.1 ででてきたため、実際に手を動かして確認してみました。 体系的に学ぶ 安全なWebアプリケーションの作り方 第2版[固定版] 脆弱性が生まれる原理と対策の実践新品価格¥3,344から(2023/10/18 00:27時点) 目次 まとめ おさら…
Android の ImageLoader ライブラリとしては Picasso や Glide などがありますが、今回は Compose と相性がいい Coil を使います。 環境 io.coil-kt:coil-compose:2.4.0 compose-bom:2023.06.01
特に深いことは語れないのですが、安全な SQL の呼び出し方を読んで気づきがあったためメモしておきます。 まとめ SQL の構成要素(以下を意識して区別する!) キーワード(予約語): SELECT, WHERE, AND, ... 演算子など: =, >=, ... 識別子: テーブル名、…
VSCode にはユーザー独自のスニペットを作る機能があり、prefix に反応して補完する機能であれば Snippets の機能を使えば簡単にできます。 例えば workspace でのみ有効なスニペットを定義するには、.vscode フォルダ内に拡張子を code-snippets にした以下…
はてなブログ API を叩いた時の備忘録と、その際 jq を使ってみたのでそのメモになります。 レスポンスが xml だったので、xq と sed と jq を使って一歩ずつ理想とする形に近づけました。 結論 xq を使って xml を json にしたら要素が 1 つの時は string, …
複合インデックスとは 複合インデックスは、2つ以上のカラムを組み合わせて作成されるインデックスのことを指します。 DB スペシャリストの問題文にあったため 複合インデックスの定義順によってはインデックスが使われたり使われなかったりするらしいと知っ…
一般に『多対多の時は中間テーブル(連関エンティティ)を作成せよ』とあると思うのですが、今回は、中間テーブルの存在意義を正規化の観点から考えてみました。
今回初めて VSCode の拡張機能を作ってみたのですが、予想より簡単で面白かったためその紹介です。
最近は N 年間放置していた徳丸本を真面目に読み進めており、今回はその §3.3 CORS についてのアウトプットになります。 ぜひ皆さんも一緒に読み進めていきましょう。 体系的に学ぶ 安全なWebアプリケーションの作り方 第2版[固定版] 脆弱性が生まれる原理…
広告の配信 Google アドセンスなど
標準パッケージ sql は一般的な SQL のインタフェースを提供しています。 使用する際は各ベンダーの用意するドライバーと共に使うことが必要で、諸々の使い方は go の wiki にも書いてあります。 今回はこの sql パッケージで注意が必要な点(と自分が今認識…
material3 のドキュメントでいう『Swipe within the content area』を compose で実現する方法が v1.1.1 の compose.material3 にはなさそうだったため、その実装方法のメモです。
https://example.com/hoge()pi のようなリンクがある時、ナイーブに [title](https://example.com/hoge()pi) としてしまうと、titlepi) のようになります。 表示も期待値ではないし、リンクも正しくありません。 そんな時は URL 部分を パーセントエンコーデ…
json パッケージが最終的に Tag を解釈しているところまでに、以下のような関数呼び出しが発生します。 Marshal > marshal > reflectValue > valueEncoder > typeEncoder > newTypeEncoder > newStructEncoder > cachedTypeFields > typeFields
Android Studio から build.gradle (app レベル) の依存関係を更新した時、Android Studio から『Syntax highlighting has been temporarily turned off』と言われ、補完等が一切効かなくなりました。 今回はその解消方法についてメモしておきます。 環境 An…
シェルの上でよく遊ぶ方であれば、パイプ | は非常にお世話になっているかと思います。 今回はそんなパイプについて、どのようなシステムコールが呼ばれているかを追うことで理解を深めてみました。 [目次] - まとめ - 環境 - pipe status の復習 - システム…
突然ですがみなさん、自動化しているでしょうか? 自動化するときに悩むのが、対話型 CLI に代表されるインタラクティブなツールの存在だと思います。 個人的には、自動化もできないし打ち間違いも発生するしで、対話型 CLI はエンジニアの使うツールとして…
go 1.7 で追加された Context には『key, value 形式による情報の伝搬』と『Goroutine の適切なキャンセル』の主に2つの役割があります。 後者の『Goroutine の適切なキャンセル』が便利で、公式ブログでも並行処理パターンとして紹介されているように、各ラ…
VSCode の terminal で go install しようとしたところ、no such tool と言われました。 $ go install github.com/bufbuild/connect-go/cmd/protoc-gen-connect-go@latest go: no such tool "compile" go: no such tool "compile" go: no such tool "compile…
結論としてはタイトルの通り『Postman でパラメーターは URL エンコードされない』っていうことなんですが、これに気づかず時間を無駄にしてしまったため共有させてください。 Postman のバージョン m1 mac で以下のバージョンのデスクトップアプリを使って…
今回は、よくあるチャットメッセージのような吹き出しを作成したので、その方法を簡単に紹介します。 より一般には Text などの compose 関数を、名前のついてない自由な形に変形させることが目標です。 環境 compose_ui_version = '1.4.0-beta01' 作成方法 …
minio の詳しい説明は公式に頼りたいところですが、minio とは s3 と互換性のある object storage です(object storage とは)。 今回はこの『s3 と互換性のある』って部分を少し深ぼって、golang の sdk から s3 にアクセスする既存コードを使い、ローカル…
前回は GraphQL を Postman から叩いてみました。 koko206.hatenablog.com 今回はその続編として、Android から GitHub の GraphQL API を叩いてみようと思います。 (該当リポジトリ) Apollo とは Apollo は GraphQL API 用のライブラリで、React, Kotlin,…
GraphQL とは 現在主流の REST 設計では、アプリが複雑になるにつれ複数のエンドポイントが用意され、場合によっては1画面表示するのに複数の API を叩く必要があったりします。 これを解決するため、GraphQL はクライアントが必要なデータのみを単一のリク…
OAuth の連携画面を Jetpack Compose の Webview で表示していて、ログイン後にリダイレクトされないことがありました。 次のように javascript を有効にしてあげることで解決しました。 (リダイレクトに javascript が使われることが多々あるようです。) …
いつもやり方がわからなくなるので、備忘録として残しておきます。 やりたいこと 同じローカルマシンに立てたサーバーに、特定のパスを reverse proxy したい。 例: <base_url>/status にアクセスが来たとき、localhost:3000 に立てたサーバーに reverse proxy する。 </base_url>…
Logicool のマウスを Logi Options のアプリとともに使っていたのですが、VSCode での戻る・進むボタンが機能しない問題が発生しました。 windows では機能するのにな〜とか思って VSCode の設定とかいろいろ探してたのですが、最終的には GitHub のこちらの…
coil.compose.AsyncImage を使っている時に、正常に形が clip されない?と勘違いしてしまったことがありました。 (Image も同様でした。) 結論からいうと、AsyncImage, Image などの clip したい要素を、そのさらに外から fullScreen などの Column 等で…
Compose for iOS は KotlinConf23 で発表されました(2023/04/19 現在 α 版)。 KMM において UI コードを共通化する大本命でもあるため注目度は高かったと思いますが、今回ついに公式から説明があったため触ってみました!。 [目次] 触ってみる 前提条件 実…