No one is an island. Learnings from fostering a developers community.
No one is an island. Learnings from fostering a developers community.
We are pleased to announce the first release of the web-sys crate! It provides raw bindings to all the Web’s APIs: everything from DOM manipulation to WebGL to Web Audio to timers to fetch and more! Almost three months ago, we laid out our vision for wasm-bindgen: We are building a shared foundation for an ecosystem of Rust crates that target JavaScript environments with wasm-bindgen. Sharing a fo
VectorをIteratorに変換する時にいつも混乱していたので整理した。 混乱 あるVectorの要素すべてを3倍するコードを考える。 fn main() { let vec1 = vec![1,2,3,4,5]; let vec2 = vec1.iter() .map(|i| i * 3) .collect::<Vec<i32>>(); println!("{:?}", vec1); println!("{:?}", vec2); } このコードはコンパイルできるが、以下のような疑問がある。 5行目で vec1はなぜ使えるのか? 3行目の vec1.iter()で使われているじゃないか! map(|i| i * 3)の iは参照なのか値なのか? これらの疑問に関する答えは、 iter()はVectorをmoveしない。into_iter()はVectorをmoveする。 iter()
κeenです。こういう流れがあったので移植しました。 keenさんが「2028年、Rust でイケてる web application framework はこれだ!」みたいな記事を書くとと "余力" が生まれるかもしれません…!! — FUJI Goro (@__gfx__) 2018年8月28日 まずISUCONを知らない方に雑に説明しておくと、意図的に遅く作られたWebアプリケーションが与えられるので7時間くらいでどれくらい高速化できるかを競うコンテストです。 このお題のWebアプリケーションが参加者や流行りに合わせて複数言語で提供されるのですが、今年はRustが来そうだということで参加者の肩慣らしのために過去問を移植しましたというお話。 ひとまずソースコードは こちら 手元でベンチマークをしてみた限り、Pythonの2倍くらいは速いもののGoには劣るようでした。これの考察については
このサイトではRustの日本語ドキュメントを公開しています。 Rustはパフォーマンス、安全性、生産性に優れるプログラミング言語です。 Rustの入門書 プログラミング言語Rust日本語版 Rustプロジェクト公式の入門書「The Rust Programming Language」を和訳したものです。通称「TRPL」または「the book」 Rust 2018 Editionに対応しています。最新の英語版をベースにしていますが、一部、古いところも残っています じっくり読みたい人向けにPDF版もあります Rust by Example日本語版 動作するサンプルコードを中心に学べる入門書です Rust 2018 Editionに対応しています。2020年ごろの英語版をベースにしていますが、一部未翻訳です 各種リファレンス、ガイド 標準ライブラリリファレンス 以下のモジュールについて和訳があ
This is a set of recommendations on how to design and present APIs for the Rust programming language. They are authored largely by the Rust library team, based on experiences building the Rust standard library and other crates in the Rust ecosystem. These are only guidelines, some more firm than others. In some cases they are vague and still in development. Rust crate authors should consider them
The existence of libraries with nice, user-friendly interfaces is one of the most important factors when choosing a programming language. Here are some tips on how to write libraries with nice APIs in Rust. (Many of the points also apply to other languages.) You can also watch my talk at Rustfest 2017 about this! Update 2017-04-27: Since writing that post, @brson of the Rust Libs Team has publishe
皆さん、初めまして。 2017年新卒入社の牧野美咲(@T5uku5hi)と申します。 キャリトレ事業部のサーバーサイドエンジニアです。 今回は、先日開催したRustの勉強会についてお話したいと思います。 なぜRustの勉強会? 私は趣味でRustの勉強をしています。 きっかけはこちらのスライドをご覧ください。 Rustのお陰で、普段業務で使っているJavaへの理解が深まった訳ですが、 せっかくだからRustを業務で使ってみたい でも、Rustの使い所や提案の仕方がわからない という状況でした。 わからないから知りたい! そうだ、Rustを実際に業務で使っている人に教えてもらおう! 知的好奇心の塊である私は、勉強会を開くことを決意したのでした。 話題の方々に直撃お声がけ タイムリーなことに、Rustユーザーの集うSlackチャンネルで、 「どの日本の会社がRustを使っていますか?」 という
2018年2月10日、恵比寿ガーデンプレイスザ・ガーデンホールにて、「Cookpad TechConf 2018」が開催されました。クックパッドのエンジニアやデザイナーがどのようにサービス開発に取り組んでいるのか、またその過程で得た技術的知見について公開します。続いて登場したのは小林秀和氏。「Rubyの会社でRustを書くということ」と題して、現在比較的マイナー言語であるとされるRustを用いるに至った経緯や知見を語ります。 なぜRubyの会社でRustを使うのか 小林秀和氏:本日はCookpad TechConfにお越しいただき、ありがとうございます。私の発表は、今話題のRustについてです。みなさんはRustを知っていますか? あるいは書いたことがありますか? 書いたことがあるという方、挙手をお願いしてもよろしいでしょうか? (会場挙手) ちらほらいますね。ありがとうございます。ご覧の
はじめに Rust を用いて WebAssembly の開発環境を構築する手法を紹介する電子書籍を執筆・公開しました. WebAssembly へのコンパイルが可能な言語である Rust を用いて, WebAssembly の開発環境のテンプレートを作成する内容となっています. wasm-dev-book.netlify.com 本のタイトルからは一見すると C/C++ を用いた開発環境の構築も扱うように受け取れますが, 本書では Rust のみしか扱っておりません. ご注意下さい. 書籍の執筆動機 著者が春休み中に WebAssembly を用いて Web アプリケーションを作成する機会があり, 本書はそこで得た知見を纏めたものとなっています *1. 元々大学のサークルで発行した部誌に同じテーマで記事を書いており, 本書ではそれを Web 向けに編集・加筆した内容から構成されています.
Learning Rust With Entirely Too Many Linked Lists Got any issues or want to check out all the final code at once? Everything's on Github! I fairly frequently get asked how to implement a linked list in Rust. The answer honestly depends on what your requirements are, and it's obviously not super easy to answer the question on the spot. As such I've decided to write this book to comprehensively answ
はじめに https://doc.rust-jp.rs/book-ja-pdf/book.pdf プログラミング言語Rust: 2nd Edition1の日本語版PDFを公開しました! 組版上のエラーなどを見つけたら気軽にIssueなどで報告してほしいです 改善してほしい点なども歓迎します! 頃合いをみてrust-lang-jaに移すかも 移した 実はWeb版もあります! https://doc.rust-jp.rs/book/second-edition/ HTML版のソースはhazamaさんのMarkdownからRustコミュニティがフォークしたもので、PDF版と同じものを参照しています GitHub Repository https://github.com/rust-lang-ja/book-ja-pdf エラー報告などをお待ちしています。 追記 アスキードワンゴさんから出版されま
One big 2018 goal for the Rust community is to become a web language. By targeting WebAssembly, Rust can run on the web just like JavaScript. But what does this mean? Does it mean that Rust is trying to replace JavaScript? The answer to that question is no. We don’t expect Rust WebAssembly apps to be written completely in Rust. In fact, we expect the bulk of application code will still be JS, even
はじめに 正直なところ、公式ドキュメント std::iter::Iterator - Rust を読めば終了、この記事は不要、という感じはある。 しかしこのページ、例とかは豊富だし良いのだが、関数の並べ順がどうにも微妙な感じがするので、メモを兼ねて用途別(独断と偏見による分類)で紹介してみることにする。 あと、関数の型はHaskell風に書くと流れる感じがあって良い(イテレータの用途とマッチしている気がする)ので、 T -> U -> V のように書くことがある。 とはいえ、わかりやすさ優先で書くと FnMut とか FromA: Default + Extend<A> みたいな独特の情報が失われてしまったため、やはり公式のドキュメントをあわせて見ることをおすすめする。(リンクを沢山張ったので、発見次第別ウィンドウで開くくらいの勢いが良い。) それから、以下で Iterator<T> と書
Rustに入門して2週間くらい経ったぜ TL;DR Rustは普通に便利ないい言語 入門した 入門にあたってはプログラミング言語Rustを読んだ。これの翻訳版ぽい。 読んでRustに対して思ったこと: 読んだやつは古いドキュメントの翻訳版だったようで一部記述が古いっぽかった 構文はシンプルだけど必要なものは揃ってる感 ML風でADTもパターンマッチもあるしtraitもあって言うことナシでしょ 所有権とか借用とかそういう聞いたことあるワードは参照という概念に対するアレっぽい スィー言語を気軽に(unsafe)呼べるのはFFIするとき良さそう 強そう マクロ割と便利そうな雰囲気ある RcとかArcとかCellとかいう便利なものがあるらしい あとBoxはいつ使うんじゃ 参照わかったようでわからない とりあえずスタックとヒープの違いは覚えたぞ 入門書なのに普通にするする読めてしまったし特に難しいこ
Rustに興味が沸いてちょっと触ってみようと思ってまずはドキュメントを読んでみたら、classがないことに驚かれると思います。 Rustはstructによってオブジェクトを作成していくので最初に抵抗を感じるかもしれません。 この記事では、オブジェクト指向で開発してきたけどいきなりRustの書き方に慣れていくのはきつそう・・と感じる方を対象に紹介して行きたいと思います。 目標にしたいこと オブジェクト指向経験者と見出しにつけていますが、Rustではオブジェクト指向をしないというわけではなくその他の言語において広く使われているオブジェクト指向プログラミングに慣れている方がRustの機能によってやりたい事を実現できるようにすると言った所を目指しています。 そのため、記事中にはオブジェクト指向に関する応用的なRustにおける実装例は含まれておらず、置き換え例やパッケージ管理など広い範囲での紹介にな
はじめに Rustの練習として、ファイル検索・置換ツールamberを作ってみました。検索は昔ながらのgrepから、最近だとackやagなどいろいろありますが、置換に関してはいまだにfind ... | xargs sed -i '...'くらいしかないように思います。 検索速度についても多少気にしていて、少なくとも固定文字列検索についてはgrep/agあたりと遜色ないはずです。 リンク Download Source 使い方 インストール ダウンロードしたzipを展開するとambs/ambrと2つファイルがあるのでパスの通ったところに置くだけです。 ambs("amber search")が検索コマンド、ambr("amber replace")が置換コマンドです。
今日、ソーシャルサイト「reddit」を見ていたら、“ Rustの基礎を学んでからC++を始める場合 、何を勉強すればいいか”と問う投稿があり、私は自分のブログを復活させ、その中で質問への答えを書いたら面白いのではと考えました。 私にはRustを学んだ後にC++を扱う仕事に就いた経験があるため、Rustの経験を持つ人がC++に移行していく様子をまとめてみたいと思ったのです。 本稿はC++の構文と特徴を既に知っていて、RustからC++の世界に移行する方法に興味を持っている読者を対象とします。 しかし、私は全てに精通しているわけではないので、本稿では所有権(ownership)、借用(borrowing)、ライフタイム(lifetime)に焦点を当てて説明していきます。 所有権と移動 Rustの一番大きな特徴は所有権です。所有権は、プリミティブ型ではない値に対するデフォルトの動作として、コピ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く