Logicky Blog

Logickyの開発ブログです

RustのRocketでエラーハンドリング

Rocketで controller のハンドラ関数でリクエストを受けて、use_case や repository で詳細の処理を実行するようになっています。use_case, repository で発生したエラー毎にレスポンス時のステータスコードを決めないといけないです。 ですので、use_case, …

tmuxとかnvimとかVSCodeとかの設定の整理(Windows)

久しぶりに tmux, nvim, VSCode の設定やショートカットキーなどを整理したり、思い出したりしたいと思います。 Windows11 で WSL2 の ArchLinux を使っています。 tmux 設定内容 .tmux.conf キーバインドのメモ Ctrl+s H(J, K, L)で pane リサイズ Shift+le…

SvelteKitで親コンポーネントから子コンポーネントの関数を実行する

子コンポーネントで、関数を export しておきます。 Child.svelte <script lang="ts"> export const hoge = () => { console.log("hoge"); } </script> <div>Child</div> 親コンポーネントから子コンポーネント利用する際に、下記のように子コンポーネントの関数を bind します。 +page.svelte <script lang="ts"> imp</script>…

RustのRocketのメモ(リクエスト)

Rust のRocketのリクエスト関連のメモです。ここを読みながら確認してみたこと等をメモします。 リクエスト パラメータの型 下記のようにage:u8となっている場合、/bob/32/trueとかだと OK。でも/bob/a/trueとか u8 型を求めているのに文字列とかだと 404 エ…

RustのRocketアプリをrenderにデプロイする

下記のような超シンプルな Rocket アプリを render にデプロイしてみます。 #[macro_use] extern crate rocket; #[get("/")] fn index() -> &'static str { "Hello, world!" } #[launch] fn rocket() -> _ { rocket::build().mount("/", routes![index]) } …

SvelteKit, Rust, Cloudflare, renderでブログサイトを作りました

SvelteKitの prerender モードで、このブログサイトを作りました。ブログ記事は md ファイルをビルド時に html ファイル化しています。 Markdown を html に変換するのは、MDsveXを使いました。トップページに Github の各種情報(コミット数、獲得スター数…

SvelteKitでurqlとgraphql-codegen(client-preset)を使って GraphQLサーバにリクエストする

SvelteKit で urql と graphql-codegen を使って GraphQL サーバにリクエストするメモです。graphql-codegen の client-preset というのを使っています。 リクエストする GraphQL サーバは下記を使わせていただきました。 https://swapi-graphql.netlify.app…

NestJS + Prisma + GraphQL + Passportの始め方のメモ

NestJSとPrismaと PostgreSQL を使ってブログっぽいものを作ります。NestJS で開発するときの始め方のメモです。GraphQL(コードファースト)も使います。 NestJS のプロジェクトを作成 下記で作成されます。今回は npm を使います。 nest new cms Prisma を…

Next.js(Client)とNestJS(API)でNextAuthの認証を使ってみた

JWT 関連の RFC (by ChatGPT4) RFC 7519 - JSON Web Token (JWT): JWT の基本概念、データ構造、エンコーディング手順を定義しています。これは JWT の基本的な仕様を提供するドキュメントです。 RFC 7520 - Examples of Protecting Content Using JSON Obje…

m1 macのc++でOpenGLを使ってテトリスを作ってみた

m1 mac の、c++と OpenGL で簡易的なテトリスを作りました。 目次 リポジトリ https://github.com/edo1z/cpp-opengl-tetris 動作環境 m1 mac ❯ uname -a Darwin mac.local 21.6.0 Darwin Kernel Version 21.6.0: Sat Jun 18 17:05:47 PDT 2022; root:xnu-802…

M1 macのc++でGLFWを使ってみる

OpenGL についてまだ全然分かっていませんが、GLFW を使ってアニメーションを表示したいと思っています。とりあえず、M1 mac の c++でウインドウを表示しました。 目次 環境 > uname -m arm64 > brew config macOS: 12.5-arm64 Rosetta 2: false GLFW をイン…

Nuxt3でfont awesomeを使う

参考 Nuxt3で fontawesomeを導入 (2022/03/13) GitHub - FortAwesome/vue-fontawesome: Font Awesome Vue component 環境 > node -v v17.6.0 > npm -v 8.5.1 npm install npm i --save @fortawesome/fontawesome-svg-core npm i --save @fortawesome/free-so…

NFTを作ってみた

Solidityと TypeScript とHardhatとnft.storageとOpenZeppelinを使って、NFT を作成して、OpenSeaで確認してみました。 目次 ソースコード https://github.com/edo1z/hardhat1 .env の作成 .env をこのリポジトリのルートに作成して、下記を入力します。 NFT…

Solidityの数値の明示的な型変換の仕様をRustで試してみた

Solidity のドキュメントのここに書いてある内容について、Rust も同じ仕様なのか?などを試してみました。 目次 マイナスの int を uint に変換する let a:i8 = -3; println!("a:{}", a as u8); 結果 a:253 Solidity と同じ結果でした。256 を足すと答えが…

TruffleでGoerliネットワークにコントラクトをデプロイする

Truffle で Geth で接続している Goerli ネットワークにコントラクトをデプロイしてみます。 目次 手順概要 Geth で Goerli に接続する際に、HTTP API を有効にする。 上記の際に、利用したい web3 コマンドのネームスペースを有効にする。 truffle-config.j…