net/httpに登場する。主要な型とインタフェースと関数/メソッド Handler インタフェース HandlerFunc 型 ServeMux 型 ServeHTTP メソッド Handle 関数 HandleFunc 関数 まず、登場人物の名前とそれが何であるかを一覧することで、どれも名前が似ているため混乱していましたが、少しだけ整理することができました。 で…
この記事で説明したソースコードはGithubにあります。 https://github.com/Ryutaro95/rust-module Rustのファイルによるモジュール分割には2通りある src/my_module/mod.rs src/my_module.rs と src/my_module/sub_module.rs 上記のどちらかのディレクトリとファイルを用意する方法。 今回は後者の…
Rustでcliツールを作る際にコマンドライン引数を標準ライブラリとサードパーティライブラリのclapを使ってみる。 標準ライブラリで引数を受け取る まずは標準ライブラリで引数を受け取る。 std::env::args()を使うことでコマンドライン引数をイテレータで取得できる。 collect()でイテレータをコレクションに変換できるが、collect()は型注釈が必要みたい。 渡した引数は2番…
普段SourcetreeでGitを操作しているため、gitコマンドをよく忘れることがあるので残しておきます。 Git ログを確認する - 追記: 2021/05/29 ただオプションが長すぎるので、 .gitconfigなどでaliasを設定する方が良さそう これで使いやすくなった。 コミットしていない or まだしたくない変更を一時的に退避させる 変更分を退避 退避した作業一覧 退避した変更…
Goの学習をはじめてクロージャという概念の理解に苦しんでました。「クロージャってどんな場面で使うんだろう?何が嬉しくてクロージャを使っているんだろう?」 何に使うか理解出来なものを、理解できないので調べていたらクロージャを使うことでRedisのようなKVSをGoのクロージャで作ることができるようなので、クロージャの理解と合わせてRedisのようなKVSを作ってみます Redis Redisとは、…
よく動作確認や学習用でRailsプロジェクトを作成したいときがあるので、備忘録として残しておきます。 ファイルの作成が面倒なときは Githubに用意してあるので、クローン後READMEに従って環境構築を行ってください。 quick build rails6 mysql environment | github ファイルの用意 以下のファイルを任意のディレクトリに用意 Gemfile Gemfi…
モデルにおけるscopeってなんですか? Railsを学習していて次のようなコードを発見しました。「モデルのscopeってなんだろう?」ということで調べて記事にしました。 ひとまずRailsガイドで調べてみました。Rails ガイド Active Record - 14.スコープ スコープを設定することで、関連オブジェクトやモデルへのメソッド呼び出しとして参照される、よく使用されるクエリを指定す…
今回のゴールは次のようなレスポンスを返すことです。 期待するレスポンス UsersテーブルとPostsテーブル 背景 ブログ記事(Post)一覧をGETで取得するする際にブログ記事を書いたユーザー(User)も一緒にJSONで返したいとなったときに使います。 ルーティングの設定 でにリクエストが来ることを想定しているので、でルーティングの設定をします。 エンドポイント 今回レスポンスとして返し…
Postモデルを作成する段階で、を外部キーとして設定したい 次のmigrationファイルが作成される がとして設定されるので、適所ユニーク制約やNOTNULL制約などを設定してする スキーマ(schema.rb) スキーマを確認すると、でが設定されており、が貼られた状態で作成されていることが分かります。
今回の問題が**「Plus One」**という問題に挑戦しました。 次のような整数の配列が渡されるので、して返す関数を作るというのが問題です。 Example 1: Example 2: Example 3: 渡された配列を整数に変換してを足して、返すだけなので簡単に実装できそうです。 66. Plus One | LeetCode こんな感じの関数を作ります。 型を変換してして型を変換して返す…