タグ

2020年6月3日のブックマーク (10件)

  • tokioで外部コマンド実行 - Qiita

    この記事は tokio 0.3.x に対応しています はじめに Rust で ls 等の外部コマンドを実行したいときは std::process::Command が使えます。 下記の例では spawn() を使ってコマンドを子プロセスで実行します。標準入力と標準出力は inherit されます。つまり、cargo run を実行しているターミナルに結果が出力されます。 use std::process::Command; // 子プロセスとして実行します Command::new("ls") .args(&["-l", "-a"]) .spawn() .expect("failed to start `ls`"); use std::process::Command; // コマンドの結果を待機します let output = Command::new("ls") .args(&["-l

    tokioで外部コマンド実行 - Qiita
    piro_suke
    piro_suke 2020/06/03
  • RustのJSONシリアライザをいろいろと試してみる(+α) - Qiita

    この記事は、Rustアドベントカレンダー 2015 12日目の記事です。 この記事では、様々なRustのJSONパーサとシリアライザを試してみた結果をご紹介しようと思います。 忙しい人のための今おすすめのライブラリ serde-rs/json です。serde-rs/json を使いましょう! ここから題 serde-rs/json serdeはRustの強力なシリアライズ用のフレームワークです。stableで安定しています。 Usage extern crate serde; extern crate serde_json; use std::collections::BTreeMap; fn main() { let s = r#"{"x":1,"y":2}"#; let deserialized_map: BTreeMap<String, f64> = serde_json::fr

    RustのJSONシリアライザをいろいろと試してみる(+α) - Qiita
    piro_suke
    piro_suke 2020/06/03
  • 関数型プログラマのためのRust | POSTD

    この投稿はEdward Z. Yangが2010年に書いた OCaml for Haskellers 、私自身が今年頭に書いた Haskell for OCaml programmers の流れに沿っています。 目次 プロローグ なぜRustを学ぶべきか 直接対応が可能なもの トレイト:Rustの型クラス アドホックなオブジェクトとメソッド 安全な参照 寿命と記憶域、そして管理オブジェクト オブジェクトの共有:RcとArc マクロとメタプログラミング リテラル 謝辞 参照 Copyright and licensing 注 : この記事の最新版は下記サイトで見られます。 http://science.raphael.poss.name/rust-for-functional-programmers.html 他のフォーマット: Source , PDF プロローグ C言語プログラマのための

    関数型プログラマのためのRust | POSTD
    piro_suke
    piro_suke 2020/06/03
  • まえがき - The Rust Programming Language

    注意: 最新版のドキュメントをご覧ください。この第2版ドキュメントは古くなっており、最新情報が反映されていません。リンク先のドキュメントが現在の Rust の最新のドキュメントです。 すぐにはわかりにくいかもしれませんが、Rustプログラミング言語は、エンパワーメント(empowerment)を根原理としています: どんな種類のコードを現在書いているにせよ、Rustは幅広い領域で以前よりも遠くへ到達し、 自信を持ってプログラムを組む力を与え(empower)ます。 一例を挙げると、メモリ管理やデータ表現、並行性などの低レベルな詳細を扱う「システムレベル」のプログラミングがあります。 伝統的にこの分野は難解で、年月をかけてやっかいな落とし穴を回避する術を習得した選ばれし者にだけ可能と見なされています。 そのように鍛錬を積んだ者でさえ注意が必要で、さもないと書いたコードがクラッキングの糸口に

    piro_suke
    piro_suke 2020/06/03
  • Rustを学ぶ

    「the book」としても親しまれているプログラミング言語Rustは、この言語の概観を基原理から説明します。読み進める中で複数のプロジェクトを構築し、読み終わるまでにはこの言語の確かな理解が得られます。 あるいはRustlingsなら、コマンドライン上で、Rustのツールチェインのダウンロードとセットアップ方法を確認しながら、Rustの構文の基的な読み書きを学ぶことができます。Rust by Exampleをあなたの環境で動かすようなものです。

    Rustを学ぶ
    piro_suke
    piro_suke 2020/06/03
  • なぜRustを学ぶべきなのか 〜 5年経った今改めてまとめてみる - Qiita

    Rust 1.0がリリースされたのは2015年の5月で、5年前のこととなります。自分は1.0 betaのころにRustを始めたので、なかなか感慨深いものです。この5年の間に、いくつもの企業でRustを採用、もしくはその検討がされるようになり、ゆるやかであるもののRustの普及が進んでいると感じます。 そこで、1.0から5年経ち、だんだんと普及しつつあるこの時期に、なぜRustを使うべき、学ぶべきなのか、改めてまとめてみようかと思います。Rustを簡単に紹介する場合、メモリ安全とパフォーマンスの両立、高い生産性をもたらす言語機能などが挙げられることが多いですが、自分なりにRustを学ぶ意味を掘り下げてみようと思います。 なお、以下の文章はほとんど個人的な経験に基づいて書かれたものですので、その点はご注意下さい。 Rustはほどよい機能を提供する言語である 世の中には様々なプログラミング言語が

    なぜRustを学ぶべきなのか 〜 5年経った今改めてまとめてみる - Qiita
    piro_suke
    piro_suke 2020/06/03
  • 新しいシェル「NuShell」、知っていますか?

    2019年9月頃に公開された新たなインタラクティブシェルに「NuShell」がある。Rustで開発されており、macOSLinuxのみならず、最初からWindowsにも対応している。5月14日(米国時間)、NuShellの開発者に行ったインタビューが「NuShell: the shell where traditional Unix meets modern development, written in Rust」として公開された。ここには、NuShellがどのような思想の下で開発されのかが、わかりやすくまとまっている。 NuShell - A new type of shell NuShellはパイプラインを構造化されたデータが移動するといった仕組みを取っている。データは基的に表として移動していく仕組みになっているため、SQLインタプリタが動作しているようにも見える。UNIX系のコ

    新しいシェル「NuShell」、知っていますか?
    piro_suke
    piro_suke 2020/06/03
  • Rustで書かれたKubernetesのためのWASM実行環境Krustletとは?

    Deis Labsが新しいオープンソースソフトウェア「Krustlet」を発表した。これはメモリーセーフなプログラミング言語Rustで開発されたソフトウェアで、新しいバイナリーフォーマットWebAssemblyのコードを実行することが可能になる。 Deis LabsはMicrosoftが2017年に買収したクラウドネイティブに特化したソフトウェアを開発するベンチャーで、KubernetesのパッケージマネージャーHelmなどを開発していることでも知られている。Kubernetesは、Googleが社内で利用していたクラスター上でコンテナを管理するためのソフトウェアBorgがベースになっている。これをオープンソースソフトウェアとして公開するためにプロプライエタリなソフトウェアを書き換え、Kubernetesと命名して公開したものだ。KubernetesGoogleが開発したプログラミング言

    Rustで書かれたKubernetesのためのWASM実行環境Krustletとは?
    piro_suke
    piro_suke 2020/06/03
  • タスクランナーをmakeからcargo-makeへ移行

    [tasks.BUILD] description = "Build hoge" script = [''' #!/usr/bin/env bash echo "build ${@}..." '''] [tasks.TEST] description = "Test hoge" script = [''' #!/usr/bin/env python3 print("test ...") '''] dependencies = ["BUILD"] $ makers TEST -- --option-a --option-b [cargo-make] INFO - makers 0.20.0 [cargo-make] INFO - Using Build File: Makefile.toml [cargo-make] INFO - Task: TEST [cargo-make] INFO -

    タスクランナーをmakeからcargo-makeへ移行
    piro_suke
    piro_suke 2020/06/03
  • List columns with indexes in PostgreSQL

    I would like to get the columns that an index is on in PostgreSQL. In MySQL you can use SHOW INDEXES FOR table and look at the Column_name column. mysql> show indexes from foos; +-------+------------+---------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation

    List columns with indexes in PostgreSQL
    piro_suke
    piro_suke 2020/06/03