
Ich mache Sie auf eine subjektive Auswahl rostiger Nachrichten für November aufmerksam. In dieser Sammlung: Rust 2018, RustRush, Video von Konferenzen, Amazon Lambda und Firecracker, Quiz, Exonumwechsel zu Actix-Web, 10 Gründe für die Verwendung von Rust.

Die Ergebnisse der jährlichen Rust-Umfrage ( Diskussion ), die seit August stattfindet, werden veröffentlicht.
Es gibt viele interessante Informationen, insbesondere wenn man die Dynamik im Vergleich zu den Vorjahren betrachtet, aber die Zunahme der professionellen Verwendung der Sprache ist besonders ermutigend: Wenn im letzten Jahr 21% der Befragten Rust bei der Arbeit verwendeten, sind es in diesem Jahr bereits 30%.
Rost 2018
Neulich wird Rust 1.31 veröffentlicht - die erste stabile Version mit Unterstützung für die neue Sprachausgabe: Rust 2018. ( Welche Art von "Edition"? )
Die Veröffentlichung der neuen Sprachausgabe fiel zeitlich mit der Neugestaltung der offiziellen Sprachseite - beta.rust-lang.org - zusammen, die zu polarisierten Überprüfungen des Wortlauts und der Schriftfarben führte (zum Beispiel: 1 , 2 ).
AWS Firecracker (Amazon Web Services)

"AWC hat Firecracker eingeführt -" Mikrovirtualisierung "für Linux" :
Auf der AWS re: Invent 2018 , die derzeit in Las Vegas stattfindet, fand die Ankündigung von Firecracker statt , einer neuen Open-Source-Virtualisierungstechnologie auf Basis von Linux KVM. Die Autoren versprechen, dass Sie damit "in Sekundenbruchteilen leichte mikro-virtuelle Maschinen (microVMs) in einer nicht virtualisierten Umgebung ausführen können und die Vorteile herkömmlicher VMs - in Form der Sicherheit und Isolierung von Workloads und Containern - in Form einer effizienten Ressourcennutzung nutzen können."
Das Projekt basierte auf der Open Source-Entwicklung von Google - Crosvm von Chromium OS, das in Rust geschrieben ist und für das Starten von Betriebssystemen mit Gerätevirtualisierung verantwortlich ist (jedoch ohne Emulation realer Hardware). Daher ist Firecracker-Code auch in der Sprache Rust geschrieben, und die Autoren versprechen, ihre Korrekturen an die Codebasis des übergeordneten Projekts zurückzugeben, obwohl die Projekte selbst in ihrem Zweck stark voneinander abweichen.
Auch:


Hast du alles vom Pastfest gesehen? Dann ist hier noch eine Ergänzung mit Rust Belt Rust 2018 :
Die ganze Wiedergabeliste .
Und ich werde hier eine zweistündige Aufzeichnung des Rust Bay Area Meetup veröffentlichen .
RustRush 2018 : Konferenz vom 15. bis 16. Dezember in Moskau

RustRush 2018 ist eine Konferenz für Entwickler von Rust, die sich mit Web, Blockchain, Hochleistung und Systemprogrammierung befasst.
Noch weniger als zwei Wochen! CfP abgeschlossen, das Abschlussberichtsprogramm wurde hochgeladen.

cheats.rs ( Repository , Diskussion ) - Rust Memo + Auswahl von Links zu anderen ähnlichen Memos. Es kann sehr nützlich sein, wenn es in die Zunge eingetaucht ist.
Die Seite wurde übrigens mit Zola erstellt (siehe unten im Abschnitt für neue und aktualisierte Pakete).

Ein Artikel über praktische Erfahrungen mit relativ kniffligem generischem Code von Gorthauer87 . Der Darmcode ist stellenweise kompliziert, aber das Endergebnis für den Benutzer ist bequem und schön.
freecoder_xx schrieb einen Übersichtsartikel über die weniger fortgeschrittenen Stärken von Rust.
Dieser Artikel hat ein Dutzend nicht offensichtlicher und nicht besonders beworbener Vorteile der Verwendung von Rust gesammelt, die Ihnen hoffentlich bei der Entscheidung über die Wahl dieser Sprache für Ihre Projekte helfen werden.
Aus dem Bericht von Alex ging eine Website mit mittleren und sehr komplexen Fragen zu Extremfällen und „Warzen“ von Rust hervor ( Diskussion ). Durch Klicken auf die Schaltfläche "Enthüllen" wird eine detaillierte Erklärung dessen angezeigt, was zum Teufel im Codebeispiel vor sich geht.
Der Quellcode für diese ganze Sache lebt hier . Dort können Sie PRs machen, wenn Sie coolere Fragen eines ähnlichen Formats kennen.


Igrostroy
Amethyst- Motor-Ökosystem:
In einer Zeile
- IntelliJ-Rust entwickelt sich weiter: # 86 , # 87 - Insbesondere wird die Arbeit mit Standardmakros verbessert, die Integration in LLDB verbessert, der Befehl zum Importieren von Gruppierungen ( GIF ) und die Unterstützung für reduzierbare Regionen ( GIF ) hinzugefügt.
- Ab März 2019 ist eine bestätigte Postanschrift ( Diskussion ) erforderlich, um etwas auf crates.io zu veröffentlichen .
- Der Anteil von Rust-Code in Firefox wächst allmählich ( Diskussion ) - bereits etwas über 6% der Codebasis;
- So beschleunigen Sie den Rust-Compiler im Jahr 2018: NLL-Ausgabe ( Diskussion ) - heroische Beschleunigung des Rast-Compilers;
- Erste Schritte mit nächtlicher Unterstützung für asynchrones Warten / Warten ( Diskussion ) - Die asynchrone Syntax ist noch nicht bald stabilisiert, aber Sie können beginnen, sich damit vertraut zu machen.
- Wie Rust dazu beiträgt, Kentiks Leistung auf einem hohen Niveau zu halten - Kentik spricht über Rusts Rolle in ihrem Backend;
- Ein Hammer, den Sie nur am Griff halten können ( Diskussion ) - eine klare Demonstration der Vorteile einer korrekten Verwendung des Typsystems;
- Erstellen Sie Ihre eigene Shell mit Rust ( Diskussion ) - jeder Programmierer sollte mindestens eine Shell schreiben, oder? :);
- Dinge, die Rust nicht zulässt ( Diskussion ) - Auflisten der wichtigsten Einschränkungen, die Rust dem Code auferlegt, warum sie benötigt werden und wie sie bei Bedarf umgangen werden können;
- Nach NLL: Ausgehend von geliehenen Daten und dem Sentinel-Muster ( Diskussion ) - Nico setzt seine Serie über NLL und Pläne für die Zukunft fort.
- Implementierte gestapelte Kredite: Ein Aliasing-Modell für Rust ( Diskussion ) - Ralph befasst sich weiterhin mit der Semantik von Rust.
- Implementierung von rusts std :: sync :: Mutex in D ( Diskussion ) - obwohl der Artikel nicht für Rust-Programmierer gedacht ist, bietet er ein gutes Bildungsprogramm, als ein normaler rostiger Mutex gut ist;
- / r / rust: Was sind die größten Herausforderungen beim Wechsel zu Rust? - Erörterung der Schwierigkeiten beim Übergang zu Rust;
- / r / rust: "Wann sollte eine Bibliothek in Panik geraten oder 'Ergebnis' zurückgeben?" ) - eine sehr gute Diskussion der Nuancen von "Panik gegen Ergebnis";
- Ein alternatives Backend für den Rust Cranelift-Compiler entwickelt sich weiter: Er kann bereits Code mit etwas besserer Leistung als LLVM mit
--opt-level=0
erzeugen und ist 30% schneller ( Diskussion );
Neue und aktualisierte Pakete
Einige neue Pakete für einen Monat oder wichtige Updates für alte:
- tr ( Diskussion ) - Makros zur Anwendungslokalisierung, inspiriert von 'tr' von Qt ;
- ladung nono ( diskussion ) - die ladungserweiterung, die laut externer heuristik versucht, abhängigkeiten zu finden, die no_std brechen;
- immens ( Diskussion ) - ein Paket zur Erzeugung dreidimensionaler Gitter;
- Logos ( Diskussion ) - Ermöglicht das Schreiben von "unglaublich schnellen" lexikalischen Analysatoren.
- Flüssigkeit ( Diskussion ) - ein Rahmen für das Schreiben von Tests, inspiriert von XUnit ;
- Guerilla ( Diskussion ) - ein Experiment zur Implementierung von "Monkey Patching" für Rust (übrigens über den Namen des Pakets: Ich habe nie über die Etymologie des Begriffs "Monkey Patch" nachgedacht);
- serde_postgres - eine einfache Möglichkeit, Zeichenfolgen von Postgres zu beliebigen Strukturen zu deserialisieren (Reverse Serialization wird nicht unterstützt);
- pgxr - ermöglicht es Ihnen, rostige Erweiterungsfunktionen für PostgreSQL zu schreiben;
- MutGuard ( Diskussion ) - Ermöglicht es Ihnen, jedes Mal, wenn Sie einen sich ändernden Link zu gespeicherten Daten verwenden, beliebigen Code auszuführen (z. B. um Invarianten zu überprüfen).
- Zola 0.5 ( Diskussion ) - Der statische Site-Generator Gutenberg hat seinen Namen in Zola geändert und das Laden von Daten aus CSV / TOML / JSON, Seitenvorlagen, "transparente Abschnitte" erfasst.
- rand 0.6 ( Diskussion ) - eine Bibliothek zur Erzeugung von Zufallszahlen, zusätzlich zu einem eigenen Buch ;
- Rettungsschwimmer 0.6 ( Diskussion ) - Ermöglicht das Erstellen von Pools wiederverwendbarer Objekte. Die neue Version verbessert die Leistung, ermöglicht die Erstellung rekursiver Zeiger und fügt der Einfachheit halber Dienstprogrammmerkmale hinzu.
- Pijul 0.11 ( Diskussion , Code ) - ein Versionskontrollsystem, das auf der Theorie der Patches basiert , auf das neue Tokio verschoben, unvollständiges Klonen erworben und Unterstützung für SSH-Proxys und Konfigurationsdateien erhalten hat;
RFC
Laut RFC (Request for Comments) ist es sehr praktisch zu beobachten, in welche Richtung sich die Sprache bewegt. Hier sind einige interessante. In der Überschrift der PRs befindet sich ein Link „Gerendert“, über den der RFC in lesbarer Form verfügbar ist.
Dieser Monat wurde angenommen:
RFC in Betracht:
- RFC # 2592 Stabilisieren von 'std :: task' und 'std :: future :: Future' - Angebote zur Stabilisierung von Futures (dies ist getrennt von der asynchronen / erwarteten RFC-Syntax);
- RFC # 2593 Enum-Variantentypen - bietet an, die Möglichkeiten zur Verwendung von Aufzählungsoptionen zu erweitern und sie näher an gewöhnliche Strukturen heranzuführen.
- RFC # 2584 Structural Records - schlägt vor, anonyme Strukturen hinzuzufügen (oder sie können als Tupel mit benannten Feldern bezeichnet werden);
- RFC # 2602 # [Attribut] in Hülle und Fülle - schlägt vor, das Hängen von Attributen an die VL, Typen, Grenzen und eine Reihe anderer Dinge zuzulassen;
- RFC # 2603 Symbol Mangling v2 - schlägt vor, das Schema der Dekoration von Symbolen zu kämmen;
- RFC # 2500 Needle API schlägt vor,
std::needle
mit Abstraktionen über &str
, &mut str
, &[T]
, &mut [T]
, Vec<T>
und &OsStr
;
Pre-RFC:
RFC # 2328, das Ferris offiziell adoptierte, wurde abgelehnt - sie entschieden, dass Ferris nicht viel Sinn machte, ein offizielles Maskottchen zu machen;
Das ist alles, danke fürs Zuschauen!
Wenn ich keinen wichtigen Link oder Ereignis hinzugefügt habe, können Sie ihn gerne in den Kommentaren einfügen. :) :)
KDPV hat von hier aus die restlichen Bilder von den Standorten der jeweiligen Projekte aufgenommen.