No one is an island. Learnings from fostering a developers community.
![Rust速習会1.pdf](https://cdn-ak-scissors.b.st-hatena.com/image/square/8678f490bebd1b5c329500a7ad2ba42b932bbc4c/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F8f3cf750ac7742ee94d577a10e1a3e39%2Fslide_0.jpg%3F10615805)
No one is an island. Learnings from fostering a developers community.
はじめに 最近 Rust に興味が湧いて少しずつ触ってみています。学習用に何かガッツリと取り組める題材が欲しいなぁと思い、Writing An Interpreter In Go という本にある Monkey というプログラミング言語の Go 実装を Rust で書き直す、ということをやってみました。 そして、Rust で書き直しただけでは少し物足りない感じがしたので、先の本には登場していない要素として Formatter 及び、wasm32-unknown-unknown をターゲットに Wasm へコンパイルしブラウザで動作させるところまで実装しました。 ちなみに Writing An Interpreter In Go は、既に様々な方が読まれているような有名な本なので特別紹介はしませんが、かなりの良書なので「読んだことない!」という方は是非読んでみると面白いかもしれません。 『Wr
Rust for the web "Can we create web apps in Rust?" - Many people asked. So am I. My primary goal when I started learning Rust is to make a move from my ducky JavaScript tech stack (Node.js Express), that means, to make web apps in Rust. And after a year, I learned something. So I write this post to tell you my journal into Rust Web Programming. There are many approach to creating web apps in Rust,
注意 現在X(旧Twitter)でのソーシャルログインができない事象を確認しています。事前にX(旧Twitter)側で再ログインした上でconnpassのソーシャルログインを行うか、 「ユーザー名(またはメールアドレス)」と「パスワード」の組み合わせでのログインをお試しください。合わせてFAQもご確認ください。 お知らせ 2024年9月1日よりconnpassサービスサイトへのスクレイピングを禁止とし、利用規約に禁止事項として明記します。 9月1日以降のconnpassの情報取得につきましては イベントサーチAPI の利用をご検討ください。 お知らせ connpassではさらなる価値のあるデータを提供するため、イベントサーチAPIの提供方法の見直しを決定しました。2024年5月23日(木)より 「企業・法人」「コミュニティ及び個人」向けの2プランを提供開始いたします。ご利用にあたっては利用
disclaimer 追記で注意書き足すのはどうなんでしょうね。ということで追記です。 別にギョムでガンガン書いてるとかではないです。 ノミコンの方も含めてドキュメント全部読んだ、API 一通り眺めた、型推論というかリージョン推論部分の概要眺めた、関連する論文読んだ、言語触った、程度の人間が書いてます。 正しくない、不正確な部分もあると思います。 雑です、すいません。 TL;DR 的には、C++ 置き換えるための言語として作られたので当然 C++ にあった概念引き継いでますよみたいな話です。 以下追記前の元の全文。 以下の記事が結構人気と聞きました。 Rustは何が新しいのか(基本的な言語機能の紹介) - いもす研 (imos laboratory) ここでは、記事中の「新しくない」部分を historical な話を交えて説明する形で何か書きたいと思います。 記事を否定するようなものでは
Rust は、Firefox を開発する Mozilla が開発し、次世代ブラウザの開発に使っているプログラミング言語です。借用検査という概念を導入することによりメモリ安全およびデータ競合安全をコンパイラが保証する言語であり、2015年中頃の安定版のリリースあたりから次第に注目を集めるようになりました。 メモリ安全とは、メモリの範囲外アクセスや二重解放、ヌル参照、未初期化領域へのアクセスがない状態を表します。ただし、Rust の言うメモリ安全とは、メモリリークをしないことを保証するものではありません。 データ競合安全とは、あるひとつのオブジェクトに対しての読み込みおよび書き込みのが同時に起き結果が不定になる状態にならないことを表します。競合状態とは異なります。 無名関数という概念を様々な言語が次々と導入したように、プログラミング言語は相互に影響を及ぼし徐々に変化しています。Rust は「寿
Read it now on the O’Reilly learning platform with a 10-day free trial. O’Reilly members get unlimited access to books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers. Rust is a new systems programming language that combines the performance and low-level control of C and C++ with memory safety and thread safety. Rust’s modern, flexible types ensure y
cargo installで入れられそうなやつを雑にまとめてみた。 ripgrep(rg) - はやいgrep、あるいはag。 xsv - CSVツールキット。 alacritty - 速いらしいターミナルエミュレータ。 parallel - GNU parallelのRust版。 coreutils - GNU coreutilsのポート。使えないオプションや未実装のものも結構ある。 oxipng - pngファイルのサイズ圧縮。 rpc-perf - twitter製のrpcのベンチマークツール。memcachedの設定いじったときとか。 watchexec - ファイル変更にhookしてコマンド実行するユーティリティ。 flow - logのリアルタイム解析。 exa - lsのRust実装。デフォルトでいい感じになっているがコマンド体系が違うので慣れずに使わなくなってしまった。gi
κeenです。ここのところRustの開発ツール回りでリリースが続いてセットアップが楽になってるようだったので最新の情報をお届けします。 とりあえず私は既存の環境があるので一旦全て破棄してから再度セットアップしてみます。 Rustのインストール rustup.rs - The Rust toolchain installerがリリースされたので以下で一発です。 $ curl https://sh.rustup.rs -sSf | sh そして をシェルのrcファイルに書き加えたらOKです。 今のシェルにも反映するには同じく上記のコマンドを打ちます。 周辺ツールのインストール cargoがあるので楽ですね # コードフォーマッタ $ cargo install rustfmt # 補完、定義ジャンプなど $ cargo install racer まあまあ時間がかかります。 エディタ(Emac
おれはOSを書く仕事をしたこともあるし、今までの仕事はほとんどがいわゆるシステムソフトウェアだった。しかし多くの人はウェブアプリケーションとかそういうところからキャリアをスタートさせるみたいで、そういう人の中でちょっと意識の高い人は「自分はアプリのことしかわからないから低レベルのことを勉強しなきゃならないな」となる人がいて、例えば伊藤直也さんなんかはがんばってLinuxカーネルの勉強をしていたようである。というかそういう有名人に触発されて、低レベルもやらなきゃなみたいな風潮があるといってもよい。そもそも「低レベルとはなんぞや」みたいなところがおれの中にはあるが、OSがどう動いてるかとか、コンパイラは何をしているのかとかは、基本なのでざっくりとでも知っておくべきだとは思う。 ただ、そこからどう捻れたのかわからないが、「Rustは低レベルに入門する最後のチャンスだ!」「Rustを勉強すれば低レ
Firefoxの次世代Webエンジン「Project Quantum」発表。Rust言語によるServoの技術を採用し、2017年内に劇的な高速化を実現すると Project Quantumは、Mozillaが開発を推進しているRust言語による新型の高速ブラウザエンジン「Servo」の技術をFirefoxに取り入れ、PCやスマートフォンで普及しているマルチコアとGPUを積極的に活用することで、劇的な高速化を実現するとしています。 Pages will load faster, and scrolling will be silky smooth. Animations and interactive apps will respond instantly, and be able to handle more intensive content while holding consist
κeenです。 先日、先輩社員と話してるとシェルを作る話になりました。 だいたいのコンピュータサイエンスの学生なら学部生の頃に課題でシェルを作りますが数学科にいた私は作ったことありませんでした。 でも、その時「今ならシェルなんて作ろうと思えばすぐに作れますよ」なんて言っちゃったのでなんか作りました。 まあ、習作程度の雑なものです。 作ったのはこれ、KeenS/igaguri: my toy shell written in Rust。 名前は、Shellは木の実を覆う殻のようにカーネルを覆う殻とのことなのでRustのロゴに似てる毬栗を選びました。 パーサ パーサコンビネータライブラリのnomを使いました。 雰囲気こんな感じ。 named!(token<String>, map!(map_res!(is_a!("abcdefghijklmnopqlrstuvwxyzABCDEFGHIJKLM
「Rust 入門してる #1」 に続き、ぼちぼちと Rust を学んでます。 今日は所有権システムと可変性についてのメモです。 4 月 14 日に Rust 1.8 がリリースされたので、バージョン 1.8 のドキュメントを読んでます。 *1 所有権システムについては下記の 3 ページを読みました。 Ownership References and Borrowing Lifetimes 可変性については次のページ。 Mutability 基本的にはそんなに難しいことは書かれてないですが、後で説明される内容が出てきたり説明があまりうまくなかったりで理解が難しい感じがしますね。 まあざっくりと理解して読み進めていけば良さそうです。 所有権システム (Ownership system) Rust の最も独特で感動的な機能であり、Rust 開発者はこれに精通すべきとのこと。 メモリ安全がこの機能
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く