Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

シリーズとしてはElixirありきでrust( rustler )を使う人をメインに据えています. |> 「Elixir + Rustlerでベクトル演算を高速化しよう〜Rustler初級者編 1 〜」 ※この記事は「Elixir + Rustlerでベクトル演算を高速化しよう」の「よりみち」的な立ち位置です. はじめに Elixirでベクトル演算を扱うならlistもしくはtupleが必要です. ※ちなみに私の投稿記事では一貫してlistを使っています. ([前回の記事](Elixir + Rustlerでベクトル演算を高速化しよう〜Rustler初級者編 1 〜)では,rustの方でtupleにしましたが) となると必然的にlist作成を高速化したくなります.Enum.to_listが遅いって話は聞き逃せません. これを機にlistのnewとzeros関数を自作して速度を測定してみました
Rust製のエディタにSodiumがあります。 これをビルドして勉強しようと思ったのですが、思った以上に手間取ったのでメモを残して置きます。 環境 macOS 10.13.6 (17G65) Homebrew 1.7.4-65-g2d8d412 cargo 1.29.0 (524a578d7 2018-08-05) 問題点 cargo buildでコケる。 エラーメッセージ % > cargo build Compiling orbclient v0.3.17 error[E0554]: #![feature] may not be used on the stable release channel --> /Users/xxx/.cargo/registry/src/github.com-1ecc6299db9ec823/orbclient-0.3.17/src/lib.rs:3:1
だらだら書く。 Lint を入れよう。 使っている言語は Rust、 エディターは Visual Studio Code。 よその Qiita記事を参考にしてみよう。 Git hub から rls-vscode を拾ってこいとのことだ。 Visual studio code からでもインストールできるだろう。 サーバー先入れろとのこと。 だいたい なんか自動化するときには ローカルPCの中でも Server プログラムをずっと動かしておく。 Git hub の最初のページの下の方には readme.md が表示されてるんで、 Setup の章を探して読めだぜ。 Windowsのコマンドラインは [Ctrl]+[R]キー、"cmd"と打鍵して[Enter]キー だぜ。 rem とりあえず 自分のプロジェクト用のディレクトリに移動しろだぜ。 cd C:\MuzudhoDrive\project
注:以下の方法はWindows(*-pc-windows-msvc)では使えません Rustはアセンブラを生成するためにLLVMのライブラリを使います。これはtoolchainに含まれていて、例えばお手元の~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backendsを覗いてみてください(ちなみにlibcoreやlibstdもこの辺にあります)。ここにlibrustc_codegen_llvm-llvm.soという共有ファイルがあり、これにLLVMのライブラリが含まれています。 一方、ユーザーがRustでLLVMを使う方法としては、例えば以下の記事でも紹介されていますが、llvm-sysがあります。 RustでLLVMしてみたメモ llvm-
はじめに これはあくまでメモなので、基本的にググってわかるようなことは詳しく書きません。 よろしくお願いします。 また、以下のプログラムでは面倒なのでfn main() {}を省略することがあります。 ご承知おきください。 おさらい 前回は2版の4章の4.3に目を通して、以下のことを学びました。 スライスの扱い方 以下のリンクで参照できます。 https://qiita.com/task4233/items/5f9e5868ba5cfbc56739 5. 構造体 structまたは、構造体は、意味のあるグループを形成する複数の関連した値をまとめ、名前付けできる独自のデータ型です。 だそうです。 構造体の定義 構造体は以下のlist1のように定義します。 慣習として構造体の1文字目は大文字とされています。 末尾に;は必要ありません。
はじめに はじめまして、task4233です。 これはあくまでメモなので、基本的にググってわかるようなことは詳しく書きません。 よろしくお願いします。 なお、以下のプログラムでは面倒なのでfn main() {}を省略することがあります。 ご承知おきください。 おさらい 前回は1版の4章の4.5-4.6に目を通して、以下のことを学びました。 if-else, else ifの使い方とその仕様 loop, while, forの3種類のループとそのオプション 以下のリンクで参照できます。 https://qiita.com/task4233/items/57e7a2abed504831a245 この記事の目的 Rust Tutorialの各章ごとでメモを残しておくことにより、一通り目を通した後に見返せるようにすることを目的としています。 そのため、各章の最初に何を目的とするか、最後に小さなま
ほんとうに初歩的なんですが、見事にハマったので戒めのために記事にします。 安全のためにCLIの引数ではメタ文字をエスケープ処理するのは当たり前なんですが、Printデバッグなんてしていると"\n"が標準出力では"\n"になるため内部でエスケープされていることを見落とすことがあります。 (そもそも標準出力にメタ文字がある時点でエスケープ処理されていることに気づけよ…) たまにエスケープを破壊したくなるときがあるのですが、そういうとき私はエスケープ破壊の関数で任意のメタ文字だけ置換して処理しています。 下記はRustで引数を文字列とバイト列で表示するサンプルコードです。 コマンドラインパーサにはclap("2.20.3")を利用しています。 ビルドした実行ファイルに引数として"hoge\nhuga"を渡すとエスケープされているのがわかりやすいと思います。 ./main.rs # [macro_
はじめに はじめまして、task4233です。 これはあくまでメモなので、基本的にググってわかるようなことは詳しく書きません。 よろしくお願いします。 なお、以下のプログラムでは面倒なのでfn main() {}を省略することがあります。 ご承知おきください おさらい 前回までは1-2章に目を通して、以下のことを学びました。 Rustとはどのような言語なのか Rustプログラムの作成、コンパイルおよび実行 Cargoの基本的な使い方 以下のリンクで参照できます。 https://qiita.com/task4233/items/84466b51adf42803c2a1 この記事の目的 Rust Tutorialの各章ごとでメモを残しておくことにより、一通り目を通した後に見返せるようにすることを目的としています。 そのため、各章の最初に何を目的とするか、最後に小さなまとめをメモしています。
c++の代替みたいな感じですかね。速いことで有名。single coreを余すことなく使うらしい。 基本的には、cargoでinstallしたりbuildしたり。cargo.tomlを作ります。rocketというフレームワークが便利そう。dbとの接続はdieselを使う感じ。 とりあえず、rocketから触ってみることに。 api server立てるっぽいやつを動かしてみる。ここでコードの内容も見ていく。 $ rustc -V $ cargo -V $ git clone https://github.com/SergioBenitez/Rocket $ cd Rocket/example/json $ rustup override set nightly $ cat Cargo.toml $ cargo build $ cargo run $ cat src/main.rs # che
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く