at backyard

Color my life with the chaos of trouble.

Rust

ChatGPTとRust学習の相性について

ChatGPTとRust学習の相性は良い 最近Rustを学習する際はChatGPTを用いながら行うことが多い。 私はRustに関する知識がまだまだ足りず、 なぜこのようなコードを書く必要があるのか? この実装の意味はわかったが、なぜそうする必要があるのか? どうしてこの…

RustでCSVファイルを読み込んで、特定の構造体として利用する

個人的なメモ。Rust全然わからない人間なので、間違っている可能性あり。 tauriで書いたノートアプリで色々試していたときに、調べて書いていたのに不要になってしまったコードがあるので、ここにメモとして残しておくことで供養することにした。 github.com…

Rustの文字列連結について(String)

個人的な備忘録。 += を用いた文字列の連結 Rustの文字列連結(String)には += が利用できるので、一つのString型の変数に複数回文字列連結を行いたいときなども便利だった。 (なお、ここではパフォーマンス周りについては特に書きません。後日調べてみて追記…

指定したディレクトリ内を監視して、markdownからHTMLファイルにリアルタイムで変換し続けるgm2h

昨日諸々書いていた下記の内容。 shinshin86.hateblo.jp ここで調べていたことをもとに gm2h というツールを作成した。 github.com 指定したディレクトリ内を監視して(デフォルトだとカレントディレクトリを監視する)、markdownからHTMLファイルにリアルタイ…

RustでmarkdownをHTMLに変換してみる

RustでmarkdownからHTMLへの変換を試してみる備忘録。 目次 目次 pulldown-cmarkを試してMarkdownからHTMLに変換するサンプル markdownファイルを読み込んでHTMLファイルを生成するサンプル ファイル変更を読み取って都度都度Markdown -> HTML変換を行う 指…

actix-webで作成したRustのサーバプログラムをデーモン化する

先日書いたこちらのポストのサーバ版的なメモ。 shinshin86.hateblo.jp 上で書いた内容に actix-web をかけ合わせただけの、本当に自分向けのメモの過ぎない。 基本となるサーバコード まず、基本となるサーバコードがこちら。 なお、ここに書いた基本的なサ…

crates.ioに公開するまでもない自作のRustツールをcargo installする方法

GitHubで公開している自作のRustツールをcargo installする方法 表題の通りでcrates.ioに公開するまでもない自作のRustツールをcargo installする方法についてのメモ。 cargo install には --git というオプションが用意されている。 詳細は公式ドキュメント…

Rustのプロセスをデーモン化するためのdaemonizeを試してみた

最初に 個人的な備忘録。 また私はプロセスのデーモン化などはあまり経験がないため、誤ったことを書いている可能性もある。その点ご承知おきください。 (誤っている点などあればコメントいただけると幸いです) Rustで作成したプロセスをデーモン化する これ…

プログラミングRust 第2版を読んでいる感想(少しずつ更新中)

オライリーから2022年の1月に発売されている日本語版の『プログラミングRust 第2版』を現在読み進めており、そちらの感想を少しずつこちらに書き残していこうと思う。 ちなみに現在11章のトレイトとジェネリクスのところまでを読んでいる。 目次 目次 本は…

Rustで日付のsortを行う(chrono使用)

今日もRustに関する備忘録。 Rustで日付を扱う際はchronoがよく使われているよう。 docs.rs chronoを用いた状況で日付を新しい順・古い順にソートするやり方について試行錯誤した結果を備忘録として書き残しておく。 例として下記のような構造の配列を持って…

Rustで簡単なスクレイピングコードを書いてみる

UnicodeがEmoji(絵文字)として定義している文字の一覧を取得したかったので、今回もRustを使って取得してみることにした。 取得対象のサイトは下記。 ja.wikipedia.org ここに一度だけHTTP アクセスをして、一覧 上の Unicode と書かれている箇所のテキス…

RustでRSS feedを取得する

RustでRSS feedを取得するサンプルを書いていく。 サンプルとしてはてなブックマークのテクノロジーページのrss feedを取得する。 b.hatena.ne.jp RSSの取得にはその名もスバリ rss というクレートを利用していく。 docs.rs またrssを取得するためにhttp req…

Rustを書くときの開発環境について(VSCode)

最近、再びRustを書いている。 使えるようにはなりたいのだが難しい...という心境をここ数年抱いており、やはり今回もそういうふうに感じつつも、今回こそはある程度使えるようになりたいという気持ちで頑張っている。 最近オライリーから2022年1月に出た『…

Rustでランダムな数値を生成する関数を作成する

Rustでランダムな数値を生成する関数のサンプル。 ランダムな数値を取得する場合には rand を使うと良いらしい。 標準ライブラリだけでも実現できないかと少し探してみたが、Rust初心者の自分としては下手に色々とやるよりは、まずは安定したやり方を取るこ…

Rustで2次元配列を作る、文字列の一文字一文字をループで回す、複数の型を返す関数を作る

今日leet変換のため簡単なコードを勉強がてらRustで書いた。 github.com このコードを書く中で調べたことを備忘録がてら、こちらにも残しておく。 なお、私はRust初心者であり、ここにメモしたコードが必ずしも行儀の良いコードであるとは限らない、というこ…

RustのプロジェクトでGitHub Actionsを使う

RustのリポジトリでGItHub Actionsを使うための yml ファイルを下記にメモする。 name: Rust CI on: [push, pull_request] jobs: check: name: Check runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install st…

RustをDocker上で動かすためのスターターを作った

最近Rustを触りたい欲がふつふつと湧き上がりつつあるので、まずは気軽にDocker上で触れるようにと、スターターを作った github.com スターターを使ってRustを触るまでの手順は下記の通り # 手元にclone git clone https://github.com/shinshin86/starter-de…