Diary

Diary

日々学んだことをアウトプットする場として初めてみました

その他

2023 のエンジニア活動振り返り

(github)

GitLab プロジェクトの go get で『The project you were looking for could not be found or you don't have permission to view it.』

まとめ GitLab の Go module には、リポジトリの終わりに .git をつける GitHub の Go module には .git をつけない

mongodb 用の docker compose ファイルを準備する

公式に書いてあるのでそれを使います。 下記の compose ファイルで mongodb と web UI である mongo-express が起動できます。

Basic 認証のあれこれ

非常に今更ですが、徳丸本 §3.1 ででてきたため、実際に手を動かして確認してみました。 体系的に学ぶ 安全なWebアプリケーションの作り方 第2版[固定版] 脆弱性が生まれる原理と対策の実践新品価格¥3,344から(2023/10/18 00:27時点) 目次 まとめ おさら…

VSCode で自分だけの補完機能を作る 〜postfix 拡張機能作成のすすめ〜

VSCode にはユーザー独自のスニペットを作る機能があり、prefix に反応して補完する機能であれば Snippets の機能を使えば簡単にできます。 例えば workspace でのみ有効なスニペットを定義するには、.vscode フォルダ内に拡張子を code-snippets にした以下…

はてなブログ API の結果を xml から json へ変換(xq, sed, jq)

はてなブログ API を叩いた時の備忘録と、その際 jq を使ってみたのでそのメモになります。 レスポンスが xml だったので、xq と sed と jq を使って一歩ずつ理想とする形に近づけました。 結論 xq を使って xml を json にしたら要素が 1 つの時は string, …

コードジャンプする VSCode 拡張の作り方

今回初めて VSCode の拡張機能を作ってみたのですが、予想より簡単で面白かったためその紹介です。

CORS について整理しておく

最近は N 年間放置していた徳丸本を真面目に読み進めており、今回はその §3.3 CORS についてのアウトプットになります。 ぜひ皆さんも一緒に読み進めていきましょう。 体系的に学ぶ 安全なWebアプリケーションの作り方 第2版[固定版] 脆弱性が生まれる原理…

markdown のリンクで URL のなかに () がある時に失敗する

https://example.com/hoge()pi のようなリンクがある時、ナイーブに [title](https://example.com/hoge()pi) としてしまうと、titlepi) のようになります。 表示も期待値ではないし、リンクも正しくありません。 そんな時は URL 部分を パーセントエンコーデ…

Postman でパラメーターは URL エンコードされないらしい

結論としてはタイトルの通り『Postman でパラメーターは URL エンコードされない』っていうことなんですが、これに気づかず時間を無駄にしてしまったため共有させてください。 Postman のバージョン m1 mac で以下のバージョンのデスクトップアプリを使って…

minio を使ってローカル実行時に s3 を代替する

minio の詳しい説明は公式に頼りたいところですが、minio とは s3 と互換性のある object storage です(object storage とは)。 今回はこの『s3 と互換性のある』って部分を少し深ぼって、golang の sdk から s3 にアクセスする既存コードを使い、ローカル…

Logicool の進む・戻るボタンが Mac の VSCode で使えなかった

Logicool のマウスを Logi Options のアプリとともに使っていたのですが、VSCode での戻る・進むボタンが機能しない問題が発生しました。 windows では機能するのにな〜とか思って VSCode の設定とかいろいろ探してたのですが、最終的には GitHub のこちらの…

docker-compose で立てた psql の結果をローカルで受け取る

以下で紹介していることは基本は psql のオプションになります。 docker compose で立ち上げたコンテナに対して内部の DB に入るには以下のようにできます。 # postgresql: コンテナ名 # root: ユーザー名 # postgresql: 接続したい DB 名 docker compose ex…

ChatGPT で API サーバー(Golang, gin)をさくっと作る

最近は ChatGPT と一番会話をしてる気がします。。。 今回はそんな GhatGPT さんに Go の API サーバーの記述をお願いしたら、思ったより面白いことになったのでその紹介です。 (生成いただいた内容は github においてあります。) TOC やりとり API サーバ…

もっとよく標準パッケージを使おう!

これは自戒を込めてになるんですが、もっとよく標準パッケージを使おう(知ろう)という話です。 なければ探す。 例をいくつかあげてみます。 URL Encode 基本的な言語には、URL エンコード・デコードをするための標準ライブラリがあるはずです。 Bad val en…

GitHub 上でコミットを確認する2つの方法

GitHub でコミットの確認をしようと思った際、「独立した Commits 確認ボタン」がなかったので探すのに少し時間がかかりました。 URL に打ち込む 特定のコミットを確認する https://github.com/<name>/<repository-name>/commit/<commit-hash> https://github.com/<name>/<repository-name>までは、いわゆるリポジトリま</repository-name></name></commit-hash></repository-name></name>…

Github Actions から PR 上にコメントを残す

Github Actions から PR 上にコメントを残す際、actions/github-script を使うのがはやいです。 コメントを残す用途としては、次のようなケースが考えられるかと思います。 初めて PR 等をする人にメッセージを送る(Welcome a first-time contributor) PR …

Github のリポジトリ一覧取得

Github のリポジトリ一覧取得 Github は GraphQL のAPIも提供していますが、今回は Github RestAPI を使用して、public リポジトリ一覧を取得してみようと思います。 public なリポジトリを持ってくるだけなら https://api.github.com/users/<username>/repos にアクセ</username>…