並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 89件

新着順 人気順

Rustの検索結果1 - 40 件 / 89件

  • プライベートでMac使うのやめた

    最近、自分のプライベートの開発環境を大きく変えたので紹介する。 先にまとめ プライベートではMacを使わなくなった 家にUbuntuが入ったミニPCを置いた 外からはThinkPad X1 CarbonからTailscale経由のSSHで家のミニPCに接続 購入まで まず、自分にとって最も大きな変化はプライベートでMacを使わなくなったことだ。2013年くらいにプログラミングを始めてからずっとメインのOSはMacだったので、約10年ぶり、ほぼ初めての非Mac環境である。 自分の普段の開発のユースケースは、Webアプリケーション開発とNode.js上で動くソフトウェアの開発、WebKitへのコントリビューション、たまにRustやGoやC/C++で自分専用ツールの開発、くらいなので別にMacで困っているわけではなかった。Web開発やNode.js上のソフトウェアの開発はまあ普通にMacで困らな

      プライベートでMac使うのやめた
    • ばんくしさんによる「ゼロから作る自作 Python Package Manager 入門」がほんとよい! 写経を積みます - nikkie-ftnextの日記

      積ん読宣言エントリです。 ざっと一読した感想を述べています。 目次 目次 エムスリーテックブック5(技術書典15) 第6章 「ゼロから作る自作 Python Package Manager 入門」 組合せてパッケージマネージャー 終わりに P.S. 最近のばんくしさん エムスリーテックブック5(技術書典15) 2023年11月に頒布されました 第6章 「ゼロから作る自作 Python Package Manager 入門」 上記のエムスリーさんのエントリより この課題がどこから来ているのか、どのように解消されようとしているのか、そして開発者としてどのように貢献していけるのかを、実際にPackage Managerのlock、install、run、build、uploadのようなサブコマンドを実装して行くことで知っていく章になります。 ばんくしさんには2023年10月のみんなのPython

        ばんくしさんによる「ゼロから作る自作 Python Package Manager 入門」がほんとよい! 写経を積みます - nikkie-ftnextの日記
      • pyenvを初心者に薦めるのはもうやめよう - methaneのブログ

        Pythonのパッケージ・プロジェクト管理ツールはまだ乱立状態にあって、どれを使えばいいのかわからないから慣れたpyenv+pipを使おうという判断をする人がいるかもしれない。その判断自体は別に否定しないけれども、初心者に教える時にpyenvを教えるのはもうそろそろやめてほしい。 Pythonをソースからビルドするので、コンパイラや依存ライブラリを事前に揃えないといけない。依存ライブラリが足りないと中途半端なPython環境もできうる。 デフォルトで最適化オプション(PGO+LTO)が付いてないので、最適化ビルドしたPythonより~5%程度遅い Windowsで使えない Rye, pdm, Hatch などは python-build-standalone と呼ばれるビルド済みPythonをインストールする機能があるので、これらの欠点が存在しない。 Pythonをインストールするところま

          pyenvを初心者に薦めるのはもうやめよう - methaneのブログ
        • 読まないと後悔する技術書30選 - Qiita

          はじめに 現代の人に名著以外の本を読むような時間はない こんにちは、Watanabe Jin (@Sicut_study)です みなさんは何か新しい技術を学ぶときにどんなコンテンツを利用するでしょうか? 最近ではUdemyなどの動画講座を利用する人が多いと思いますが、本を読んで学ぶという人もまだまだ多いのではないかと思います 今回は私がこれまで5年間読んできた150冊以上の中から厳選した30冊の本を紹介します。広く多くの人に役立つものから、特定の技術の書籍までどれを読んでもあなたの大切な一冊になるのでぜひ読んでみてください 現代人には時間がない なぜ働いていると本が読めなくなるのかという本が話題になりました 現代人は本を読む時間がなくなっています。 仕事に追われてしまい、プライベートで本を読む暇などなくなっているのです。 しかし、エンジニアは「技術職」なのでプライベートの時間でも学習をして

            読まないと後悔する技術書30選 - Qiita
          • RustでAPIサーバーを書くのが思ったより良い

            最近いろんなところで採用事例が増えてきたRustですが、Webサービス開発でのAPIサーバーを書くのにRustは向いてないと言われたりします。Rustの第一のターゲットはシステムプログラミングでありGCがないためAPIサーバー開発でシビアなメモリ管理はしたくないというのは一理あるのですが、RustでAPIサーバーの開発を実際にやってみるとむしろ開発体験が結構いいなと感じます。パフォーマンスのために難しい所有権を無理にがんばるみたいなマイナスのイメージはほとんど当てはまらなかったです。 Rustの難しいライフタイム、所有権があまり出てこない Rustにおいて難しいとされるライフタイム、所有権といった概念があり私も書く前はかなり身構えていたのですが、これに苦しむことは思ったよりも少ないです。その要因はWebサーバーで扱う処理のほとんどがリクエスト・レスポンスモデルでデータの流れが一方向でシンプ

              RustでAPIサーバーを書くのが思ったより良い
            • 個人開発OSSが世界に勝てなかった話

              ゆーすけべー氏の「OSSで世界と戦うために」にインスパイアされました。5年間pyserdeというOSSのライブラリを開発・メンテしてきた筆者が、ちょっとだけ世界と戦ってみたけど全然勝てなかったという話です。Honoとはプロダクトの規模も開発にかける情熱も全然違うけど、単純にポストモーテムは読み物として面白いかなと思ったので書いてみます。また、5年間の開発で学んだやってよかったことや失敗などもシェアできればと思います。 pyserde pyserdeは筆者が2019年から開発メンテナンスしているOSSで、RustのserdeというライブラリにインスパイアされたPython用のシリアライゼーションフレームワークです。 以下のようにクラスを定義すると、型アノテーションに基づいたデータ変換やバリデーションのコードが内部的に生成され、強い型付けのクラスを生成することができます。強い型付けのクラスはラ

                個人開発OSSが世界に勝てなかった話
              • Rust言語のための統合開発環境「RustRover」正式リリース、JetBrains。個人の非商用利用は無料

                Rust言語のための統合開発環境「RustRover」正式リリース、JetBrains。個人の非商用利用は無料 Kotlin言語や統合開発ツールIntelliJ IDEAなどの開発を行っているJetBrainsは、Rust言語用の統合開発環境「RustRover」の正式リリースを発表しました。 All systems are GO! We’re over the moon to see RustRover finally land! Read all about the release and the new free non-commercial license in our blog post https://t.co/s3MnqfiTrs, and see how we can help you stay focused on what matters pic.twitter.com

                  Rust言語のための統合開発環境「RustRover」正式リリース、JetBrains。個人の非商用利用は無料
                • RESTful APIの設計、開発、ドキュメント管理を手助けする「RAML」とは

                  APIの開発は複雑でコストがかかる可能性があり、頻繁に更新されることからドキュメントを整備するのも難しい。APIの設計、開発、ドキュメントの整備、管理にまつわる課題と効率さの問題に対処するアプローチが、RESTful API Modeling Language(RAML:RESTful APIモデリング言語)だ。 RAMLコードを使えば、開発者はAPIの動作を説明する仕様を策定してからそのAPIをデプロイするまでのAPIライフサイクルを管理することができる。 RAMLとは RAMLは、RESTful APIを記述することを目的とするオープンソースの記述言語だ。2013年、米国のIT自動化および統合ベンダーであるMuleSoftを中心とする数社の企業によって作成されたRAMLはAPIの開発に大きな役割を果たしてきた。2018年、MuleSoftはSalesforceによって買収され、RAML

                    RESTful APIの設計、開発、ドキュメント管理を手助けする「RAML」とは
                  • そもそもプログラミング経験自体無い人がRustを学ぶとき,どんな順序が良いのか

                    遠きに行くには必ず邇きよりす.高きに登るには必ず卑きよりす.何事にも順序というものがあります.Rust の学習もそうです. そこで,前提知識がほぼ無い状態から Rust を学ぶときに,どんな順序が良いのか,考えてみました. コンパイル時と実行時の区別. Rust を学ぶとき,何がコンパイル時に起こって何が実行時に起こるか分からないと困ります.特に,型検査と借用検査がコンパイル時に行われることは,それらの基本的な規則を知る際に大切です.そこで,最初に Hello world を書く時点で,コンパイル→実行という流れを押さえておくべきでしょう. コンパイルエラーの読み方. まずコンパイルエラーを読むという基本的な姿勢を身に付けるのは大切です. 公式ドキュメントの場所. まず公式ドキュメントを読むという基本的な姿勢を身に付けるのも大切です. Hello world 周辺の基本文法. 例えば以下の

                      そもそもプログラミング経験自体無い人がRustを学ぶとき,どんな順序が良いのか
                    • UUIDv7 in 26 languages

                      UUIDv7 is a 128-bit unique identifier like it's older siblings, such as the widely used UUIDv4. But unlike v4, UUIDv7 is time-sortable with 1 ms precision. By combining the timestamp and the random parts, UUIDv7 becomes an excellent choice for record identifiers in databases, including distributed ones. Let's briefly explore the UUIDv7 structure and move on to the zero-dependency implementations i

                        UUIDv7 in 26 languages
                      • Rustで有名アルゴリズムに挑戦(18) Rustでライフゲームを作ってみよう

                        C言語に代わってOS開発に採用されているRust。本連載では、Rustで有名アルゴリズムを実装して、Rustについての理解を深めています。今回扱うのは、生物の栄枯盛衰をシミュレーションするライフゲームです。 コンウェイのライフゲームで生物のシミュレーションをしよう コンウェイのライフゲームとは? 「ライフゲーム(Life Game)」は、イギリスの数学者コンウェイによって考案されたもので、簡単な配列操作によって実装できる簡単な生物のシミュレーションです。次のように動きます。 コンウェイのライフゲームを動かしているところ 見た目が面白いのに加えて、プログラミング言語の性質や特徴を知るのにもってこいの題材であるため、次の姉妹連載でも何度か紹介しています。ぜひ、今回のRust版と見比べてみてください。 - Python連載9回目(https://news.mynavi.jp/techplus/a

                          Rustで有名アルゴリズムに挑戦(18) Rustでライフゲームを作ってみよう
                        • Rustのデータ可視化ライブラリCharmingに入門した

                          Charmingとは Charmingは、Rustの強力なチャートレンダリングライブラリです.美しく高品質なデータ可視化します.GitHub上で以下のようなグラフが紹介されています. 後述しますが,このCrateは適切にStructが分割されているので,可読性の高い可視化用のコードを作ることができます. 簡単に散布図を作成する Datasaurusのデータを使います.ここでは,csvファイルをダウンロードして使っています. もちろん表示するのはdinoです. この記事では,cargo new project_nameした後に,data dirとoutput dirを作っていることを想定します.

                            Rustのデータ可視化ライブラリCharmingに入門した
                          • Rustで作るプログラミング言語—— コンパイラ/インタプリタの基礎からプログラミング言語の新潮流まで

                            この本の概要 小さなプログラミング言語から本格的なプログラミング言語へ……ステップバイステップでの開発を通して,プログラミングそのものへの理解を深めよう! こんな方におすすめ コンピュータサイエンス,とくにプログラミング言語そのものやコンパイラについての素養を得たいと考えている人 他言語でのプログラミング経験があり,Rustの習得に興味のある人。とくに,学習のための題材を探している人 第1章:プログラミング言語概論 プログラミング言語の分類 他の切り口での分類方法 コンパイルパイプライン 第2章:スタックベース仮想マシン 仮想マシン概論 Rustでの実装 標準入力からの読み込み パースとコマンドの実行 ブロックとネスト構造 if制御構文 変数の定義 複数行のソースコードへの対応 関数呼び出し 関数の再帰呼び出し WebAssemblyへのコンパイルとブラウザでの実行 第3章:プログラミング

                              Rustで作るプログラミング言語—— コンパイラ/インタプリタの基礎からプログラミング言語の新潮流まで
                            • シングルバイナリでローカル実行可能、高速なOLAP用オープンソースDB「DuckDB 1.0」正式リリース

                              シングルバイナリでローカル実行可能、高速なOLAP用オープンソースDB「DuckDB 1.0」正式リリース オープンソースとして開発されているOLAP用データベース「DuckDB」が正式版となるバージョン1.0に到達したことが発表されました。 OLAP用のデータベースといえば、クライアント/サーバ方式の大規模なサーバアプリケーションが一般的ですが、DuckDBは、SQLiteのようにローカル環境上でシングルバイナリでローカル環境でも簡単に実行できる点が最大の特徴です。 SQLでクエリを記述すると同時に、Python、Java、Node.js、Rust、Go、C/C++、R、ODBCなどから呼び出せるAPIも備えており、クライアントアプリケーションに組み込むこともできます。 対応するプラットフォームはWindows(x86_64)、macOS(Intel/Apple Silicon)、Lin

                                シングルバイナリでローカル実行可能、高速なOLAP用オープンソースDB「DuckDB 1.0」正式リリース
                              • Rust製JavaScriptエンジン『Boa JS』を試してみた

                                主要なJavaScriptエンジンのTest262を毎日実行して結果を載せているtest262.fyiというサイトがあります。 (Test262とは最新のECMAScriptを実装できているかどうかのテストです。) このサイトの、2024/6/5現在の実装率ランキングはこちらです。 test262.fyiの画面キャプチャ(2024/6/5) V8(ChromeやNode.js、Deno等)、JavaScriptCore(SafariやBun等)、SpiderMonkey(Firefox等)という、大手エンジンとほぼ横並びで4位に食い込んでいるBoaとは何者でしょうか。 Boaは公式曰く『Rustで書かれた実験的なJavascriptのレキサー、パーサー、コンパイラー』です。これだけ揃えば、JavaScriptエンジンと言って差し支えないと思います。RustアプリケーションにJavaScri

                                  Rust製JavaScriptエンジン『Boa JS』を試してみた
                                • いかにして動的型付けのRubyに静的な型検査を持ち込むか? SteepとRBSが目指すもの - Findy Engineer Lab

                                  Rubyをはじめとする「動的型付け」のプログラミング言語は、ソースコード中に型に関する記述が陽に出てこないことが特徴で、プログラムの実行前に(静的に)型検査をすることはありません。しかし、このようなプログラミング言語においても、大規模な開発における品質の向上や開発体験の改善、実行の高速化のために、静的な解析を活用しようという試みは多くなされてきました。この記事では、動的型付けの言語のための型検査の歴史を簡単に振り返って、現在私が開発しているRuby向けの型検査器Steepとその基盤となっている型記述言語RBSについて説明し、今後の展望を議論します。 著者:松本宗太郎さん(@soutaro) Rubyコミッター。大学院でRubyプログラムの型検査の研究に取り組み、修了後はスタートアップでWebアプリケーションの開発に従事。2017年から型検査ツールSteepの開発を始め、2019年からはRu

                                    いかにして動的型付けのRubyに静的な型検査を持ち込むか? SteepとRBSが目指すもの - Findy Engineer Lab
                                  • Google Cloud Run と AWS Lambda のコールドスタート時間を言語別に観察してみる - Qiita

                                    コンテナをリクエスト処理時間ベースの料金体系で実行できるサーバレス環境としては、Google の Cloud Run(2019年11月GA)と AWS Lambda(2020年12月にコンテナに対応)が特に有名でしょう。 これらの環境は、一度起動したコンテナインスタンスをしばらく生かしておき、その後のリクエストに使いまわします。しかし、生きているインスタンスが足りない場合は新たなコンテナの起動から始めるいわゆる「コールドスタート」となり、応答のオーバーヘッドが大きく増加します。用途によっては、このコールドスタートにかかる時間が問題になります。 Cloud Run と Lambda でのコールドスタートの様子を観察するため、いくつかの言語で "Hello, World!" を返すだけのWebアプリコンテナを作り、コールドスタートの時間を「雑に」観察してみました。 注意: コストや性能は考慮し

                                      Google Cloud Run と AWS Lambda のコールドスタート時間を言語別に観察してみる - Qiita
                                    • kubernetes knative でサーバレス Vim

                                      はじめに 半月ほど前に、ようやく自分の VPS 環境で動いているものすべてを kubernetes クラスタに移行しました。とても満足感が高くやって良かったと思っています。 ウェブサーバ、メールサーバ、Nostr のリレーサーバや Nostr/Bluesky/Twitter で動かしている各種 bot もすべて kubernetes です。 昨日は knative を導入したので、Go や Rust や Ruby や Python や、いろんな言語のクラウドネイティブアプリを簡単に実行できる様にしました。 knative 便利 残念ながら knative は helm パッケージとして提供されていません。ArtifactHub でそれっぽい物が公開されていますが、ほぼ手作業と変わりません。 おおよそ以下の手順でインストールできます。knative ではネットワークレイヤとして以下の3つが用

                                        kubernetes knative でサーバレス Vim
                                      • 明示的な型注釈によって推論コストを下げるというアプローチ

                                        近年、TypeScript を取り巻くエコシステムでは、ユーザーに明示的な型注釈を求めることで、推論や型生成のコストを下げるというアプローチが注目されています。TypeScript 5.5 beta で 発表された --isolatedDeclarations オプションはその代表的な機能ですし、Deno の提供する新しいパッケージレジストリ JSR が提唱している slow types という考え方も同様のアプローチを求めるものです。 この記事では、上記のようなアプローチが提案された経緯や解決したい課題について、TypeScript を利用するエコシステムの状況も踏まえて整理します。 TypeScript を取り巻くツールチェインと型情報を利用する上でのパフォーマンス 皆さんがご存知の通り、TypeScript の型推論は非常に賢く、その機能は日々アップデートされています。特に以下のよう

                                          明示的な型注釈によって推論コストを下げるというアプローチ
                                        • Zig探訪 - comptime編

                                          イントロ さあ、やって参りました。 第1回Zig探訪のお時間です。 今回担当するのは、Zigを使い始めて早くも半年・永遠のニートことsmallkirbyです。 Zig探訪では、Zigの機能や特徴の中で面白いんじゃないかと思うものをピックアップして紹介していきます。 紹介しないこともあります。 第1回のテーマは、Zigの中でも特に重要なコンセプトであるcomptimeについてです。 Zigとは - Everything is Explicit Zigについておさらい 第1回ということで、最初に軽くZigについておさらいしておきましょう。 Zigは、2016年に開発が始まったコンパイル型汎用プログラミング言語です。 Rustが2015年に1.0リリースされた翌年に開発がスタートしたんですね。 最新のリリースはv0.12.0であり、大体1年くらいでマイナーアップデートされるようです。 まだ1.0

                                            Zig探訪 - comptime編
                                          • tsc の代替実装は作れるのか - mizdra's blog

                                            tsc の代替実装を作る話、とりわけ Rust や Go で tsc を高速化した移植版を作る話について。非常に野心的で面白いと思いつつ、正直僕は実用レベルまで達したものが本当に登場するのか疑問に思っている。今ある型システムもそうだし、新機能として追加されるものにも追従する必要がある。当然、実用レベルとして使ってもらうには、不具合も少なくないといけない。 それに tsc も最近はパフォーマンス改善に力を入れているように見えている。実際にリリースノートを見ると、ちょくちょくパフォーマンス改善系の変更が入っている。 TypeScript: Documentation - TypeScript 4.8 TypeScript: Documentation - TypeScript 4.9 TypeScript: Documentation - TypeScript 5.0 TypeScript:

                                              tsc の代替実装は作れるのか - mizdra's blog
                                            • Ruby知識ゼロから初参加したRubyKaigi 2024レポート - 共沸

                                              TL;DR 楽しかった! 本編 おはようございます。手札事故(twitter:@hand_accident)と申します。 Ruby知識ゼロから初参加したRubyKaigi 2024レポート、略してルゼロ*1という感じでやっていきたいと思います。 < Day 0 自己紹介でもしとくか。生まれ育った愛媛県松山市*2に帰って非IT企業でパソコン係をやっている過程で、すべてが個人開発の労働環境で趣味全ブッパ技術選定をした結果HaskellとNimを書くようになりました。すこしSvelteもします。 Rubyは名前を聞いたことがあるしちょっとニッチなPythonライブラリ探そうとしたら時々検索にgemが引っかかってそちらにはあるのねえという感想を抱くなどしていましたが何の因果か触ってみるには至らず、沖縄に来て初めてコードを見たまであります。 愛媛県松山市で趣味の音楽ゲーム(DDR)に高じていたところ

                                                Ruby知識ゼロから初参加したRubyKaigi 2024レポート - 共沸
                                              • 最高のターミナル環境を手に入れろ!WezTermに入門してみた。 | DevelopersIO

                                                Rust製のターミナルアプリ WezTermをご存知ですか? もしご存知なければ、最高の相棒を紹介させてください!! WezTerm - Wez's Terminal Emulator 基本的な性能 ターミナルアプリに求められる要素はとてもシンプルです。 1に安定! 2に軽量! 3,4がなくて 5に機能 です。 安定と軽量の2つが満足でないとターミナルアプリは 比較という俎上に上がること自体が難しいです。 さて、WezTermはというと、 あくまでも私の実感レベルですが、どちらも全く問題ないです。 ターミナルアプリでは日本語の入力系などで難ありなものも結構あったりしますが 今の所その辺でも特に問題を感じたことはないです。 非常に主観的な記述だけで申し訳ないですが、 この辺は色々書いたところで使ってみないことにはわからないと思いますので、 まずは使ってみてください。 また私はMacで利用して

                                                  最高のターミナル環境を手に入れろ!WezTermに入門してみた。 | DevelopersIO
                                                • 【v6プラス/OCNバーチャルコネクトでもNATタイプA】LinuxでポートセービングIPマスカレード付きの制限コーン風NAT(EIM/ADF)を動かす - turgenev’s blog

                                                  概要 NAT動作をめぐる誤解まとめ - turgenev’s blogでは、UDPホールパンチングのしやすさとポートの節約を両立するには「Address Dependentなマッピングを保持しつつEIM風に動作するADFなNAT」が一番いいという話を書きました。これだとv6プラスやOCNバーチャルコネクトでもNintendo SwitchのNAT判定が「タイプA」になります。 この記事では、Symmetric NAT/Full Cone NATをサポートするruby製NATであるrat(GitHub - kazuho/rat: NAT written in pure ruby)を手元で動かし、またコードを少しだけ変更することで上記のようなNATを実際に動作させるところまでを紹介します。変更後のコードはGitHub - ge9/rat: NAT written in pure rubyに公開

                                                    【v6プラス/OCNバーチャルコネクトでもNATタイプA】LinuxでポートセービングIPマスカレード付きの制限コーン風NAT(EIM/ADF)を動かす - turgenev’s blog
                                                  • JavaScriptの識別子に中黒が使えるようになった: Days on the Moon

                                                    JavaScriptの識別子(変数名、関数名、プロパティ名など)の2文字目以降に中黒「・」(U+30FB KATAKANA MIDDLE DOT)が使えるようになりました。以下のコードはChrome 124では構文エラーになりますが、Chrome 125では問題なく実行できます。 const シン・ゴジラ = 2016; JavaScriptの識別子 中黒が使えるようになったのは、JavaScript(ECMAScript)の仕様が変わったからではありません。変わったのはUnicodeの仕様のほうです。Unicode 15.1.0(2023年9月)においてOther_ID_Continueプロパティ(を持つ文字の集まり)に中黒が追加されました。 そもそもJavaScriptの識別子に使える文字は、Unicodeを参照して定義されています。ECMAScript 2023(2023年6月)では

                                                    • Taming Floating-Point Sums | orlp.net

                                                      Suppose you have an array of floating-point numbers, and wish to sum them. You might naively think you can simply add them, e.g. in Rust: fn naive_sum(arr: &[f32]) -> f32 { let mut out = 0.0; for x in arr { out += *x; } out } This however can easily result in an arbitrarily large accumulated error. Let’s try it out: naive_sum(&vec![1.0; 1_000_000]) = 1000000.0 naive_sum(&vec![1.0; 10_000_000]) = 1

                                                      • MicroMac, a Macintosh for under £5

                                                        A microcontroller Macintosh This all started from a conversation about the RP2040 MCU, and building a simple desktop/GUI for it. I’d made a comment along the lines of “or, just run some old OS”, and it got me thinking about the original Macintosh. The original Macintosh was released 40.5 years before this post, and is a pretty cool machine especially considering that the hardware is very simple. I

                                                        • Arm64 on GitHub Actions: Powering faster, more efficient build systems

                                                          GitHub is ecstatic to unveil ArmⓇ-based Linux and Windows runners for GitHub Actions are now in Public Beta. This new addition to our suite of hosted runners provides power, performance and sustainability improvements for all your GitHub Actions jobs. Developers can now take advantage of Arm-based hardware hosted by GitHub to build and deploy their release assets anywhere Arm architecture is used.

                                                            Arm64 on GitHub Actions: Powering faster, more efficient build systems
                                                          • Connect RPC joins CNCF: gRPC you can bet your business on

                                                            Authored by Derek Perez Connect RPC, Buf’s family of fully protocol-conformant and battle-tested alternatives to Google’s gRPC project, has joined the Cloud Native Computing Foundation. We joined the CNCF to demonstrate our deep commitment to sustainably and responsibly growing Connect as a well-governed and community-led open source project. Today, Connect integrates seamlessly with gRPC systems

                                                              Connect RPC joins CNCF: gRPC you can bet your business on
                                                            • Writing an OS in 1,000 Lines を Rust でやってみた

                                                              1000行でOSをつくってみる Writing an OS in 1,000 Lines という1000行前後でOSをつくれるコンテンツがあります。 このコンテンツ自体はC言語を前提としているのですが、Rustでもシステムプログラミングが可能なので、今回はRustで挑戦してみました。 Rust で Writing an OS in 1,000 Lines をやってみるときのポイントをまとめておきます。 RISC-V このコンテンツでは RISC-V をターゲットアーキテクチャとしていて、RISC-V のOSを開発します。 RISC-V はオープンソースのRISC (Reduced Instruction Set Computer) のISA (命令セットアーキテクチャ) です。 詳しい説明は、RISC-V で検索すれば数多くヒットします。 この RISC-V 関連で、参考にした主な情報源は

                                                                Writing an OS in 1,000 Lines を Rust でやってみた
                                                              • neue cc - ConsoleAppFramework v5 - ゼロオーバーヘッド・Native AOT対応のC#用CLIフレームワーク

                                                                ConsoleAppFramework v5 - ゼロオーバーヘッド・Native AOT対応のC#用CLIフレームワーク 2024-06-13 ConsoleAppFrameworkの完全に新しいバージョンをリリースしました。完全に設計しなおして実装も完全に作り直された、何もかもが新しいフレームワークになっています。設計指針として「Zero Dependency, Zero Overhead, Zero Reflection, Zero Allocation, AOT Safe」を掲げ、もちろん、他を圧倒的に引き離すパフォーマンスを実現しています。 これはコールドスタートアップ・ウォームアップなしでのベンチマークとなっていて、CLIアプリケーションでの実際での利用に最も即したものだと考えています。System.CommandLineと比較すれば280倍!メモリアロケーション量もほかのフレ

                                                                • マークダウンエディタをハイブリッドにするために必要なこと

                                                                  マークダウン、皆さん使っているでしょうか。使っていますよね、GitHub(GFM)やSlack(一部記法)、個人的なメモアプリ等など、マークダウンを使えるサービスは多いので、使ったことがある人は多いんじゃないかと思います。 そして弊社のDocBaseというサービスは、マークダウンを使って情報共有をするサービスです。これも皆さん使っていますね? この度は、そんなDocBaseのメモ編集画面で、ハイブリッドエディタなるものをリリースしました。これはDocBaseに存在したいくつもの不満、問題を解消してくれるもので、これが一体どういったもので、どうやって作られたのかを書いていきます。 ハイブリッドエディタとは?? 「ハイブリッド」何やらガソリンと電気を使って動きそうな印象を受ける言葉ですが、もちろんそういった意味はありません。 次の動画を見てください。 左側がマークダウン、右側がHTMLのプレビ

                                                                    マークダウンエディタをハイブリッドにするために必要なこと
                                                                  • Exploring Seamless Rust Interop for Newer Languages, Part 1

                                                                    Exploring Seamless Rust Interop for Newer Languages, Part 1 Languages like C++, Typescript, Kotlin, and Swift had a brilliant approach: they were created to harness an existing ecosystem of libraries from another pre-existing language. But that's easier said than done! Especially for newer languages focusing on memory safety and speed. 0 Luckily, newer languages can tap into C's ecosystem by addin

                                                                    • GitHub - letmutex/htmd: A turndown.js inspired HTML to Markdown converter for Rust

                                                                      You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                        GitHub - letmutex/htmd: A turndown.js inspired HTML to Markdown converter for Rust
                                                                      • Linux 6.10‐rc1リリース、RustやMilk-V MarsなどRISC-Vサポートが拡大 | gihyo.jp

                                                                        Linux Daily Topics Linux 6.10‐rc1リリース⁠⁠、RustやMilk-V MarsなどRISC-Vサポートが拡大 Linus Torvaldsは5月26日(米国時間⁠)⁠、次期Linuxカーネル「Linux 6.10」の最初のリリース候補版となる「Linux 6.10-rc1」を公開した。Linusは「通常サイズのカーネルリリースに見えるが、少し小さいかもしれない。(⁠Linux 6.10には)新しいファイルシステムはなく、xfsのオンライン修正により、bcachefsの修正はもはや最大のファイルシステム変更ではない」とコメントしている。 Linux 6.10-rc1 -Linus Torvalds Linux 6.10では多くのアップデートが予定されているが、その中でも注目されるのがRISC-Vに関連したサポートの拡張だ。5月22日付けで行われたマージでは、

                                                                          Linux 6.10‐rc1リリース、RustやMilk-V MarsなどRISC-Vサポートが拡大 | gihyo.jp
                                                                        • 待望のLazyCell/LazyLock安定化間近! - paild tech blog

                                                                          こんにちは、ペイルドの森です。ペイルドでは創業以来バックエンドの開発言語にRustを採用してきたため、Rustという言語そのものが持つ課題とその解消、クレートの流行り廃りなどの歴史を共に歩んできました。その中でも最も苦しんだものの一つに遅延初期化があります。 その遅延初期化のための機能が、2024年7月リリース予定のRust 1.80.0で安定化されるということで、本機能について、その歴史とともに見ていきます。 目次 遅延初期化とは何か、何のためにするのか パフォーマンス向上のため リソースの効率的な管理のため 循環依存の回避のため Rustと遅延初期化の歴史 lazy_static クレートの登場と、抱えていた課題 マクロ依存性 スレッドセーフでない初期化のリスク 型の制約 初期化のタイミング制御 once_cell クレートの登場によって何が解決されたのか? マクロを使わないシンプルな

                                                                            待望のLazyCell/LazyLock安定化間近! - paild tech blog
                                                                          • 「Sudo for Windows」はRustで開発されている! 「バージョン 24H2」にも導入決定/メモリ安全が重視される分野で採用が広がるRust言語【やじうまの杜】

                                                                              「Sudo for Windows」はRustで開発されている! 「バージョン 24H2」にも導入決定/メモリ安全が重視される分野で採用が広がるRust言語【やじうまの杜】
                                                                            • Rubyist Hotlinks 【第 39 回】古橋貞之 さん

                                                                              はじめに 著名な Rubyist にインタビューを行う企画「Rubyist Hotlinks」。第 39 回となる今回は、古橋貞之さん。 では、お楽しみください。 インタビュー 聞き手 卜部さん (@shyouhei) 語り手 古橋貞之さん (記事中「古橋」) 野次馬(古橋さんの現職であるトレジャーデータの同僚と元同僚のみなさん) 国分さん、成瀬さん、田籠さん、金子さん、三村さん 日にち 2023 年 5 月 11 日 写真提供 : 目次 Table of content プロフィール 卜部 はい、じゃあお疲れ様です。ゆるりと始めていきますが。るびまのインタビューはポッドキャストにしないという信念の元に、ポッドキャストにしていなくて。 三村 そんな信念が。 卜部 なんでかっていうと、いくら迂闊なことをゆっても後から編集できるからっていう。これがね、やっぱ迂闊なことを言ってもらわないと楽しい

                                                                              • これからのIVRyのエンジニア採用に思うこと|Issei Naruta

                                                                                IVRyでエンジニアをしている成田(@mirakui)です。2024年2月に入社してから4ヶ月ほど経ちました。その間IVRyでは、AI自動応答によるレストラン予約がリリースされたり、0AB-J(03などの市外局番)に対応したり、シリーズCの調達をしたり、経営チーム的なものが立ち上がったり、プロダクトも事業も組織もたった4ヶ月でめまぐるしく進化しています。これがスタートアップか〜〜と驚く毎日で、スピードに置いてかれないように日々やっております。 いま自分がやってること僕は前職では経営やマネジメントがメインでしたので、当面はチームや組織を持たずにIndividual Contributorとして働きたいな〜という思いがあり、IVRyはそれを快く受け入れてくれました。ICのエンジニアします、以外何も決めずに入社したんですが、一通り課題を見渡してみて、手つかずでレバレッジの効く課題が多いと感じた、

                                                                                  これからのIVRyのエンジニア採用に思うこと|Issei Naruta
                                                                                • ゼロからはじめるPython(118) WSLとAlpineで最小のPython実行環境を構築しよう

                                                                                  手元のWindowsにPythonの実行環境を用意したいけれども、余計なアプリやライブラリをインストールしたくないという場面は以外とある。そこで、WSLとAlpineを使って最小のPython実行環境を構築してみよう。 WSLにAlpineをインストールしてPythonのプログラムを実行したところ Windowsではいろいろな環境でPythonを動かせる Windows上でPythonを動かそうと思った場合、いろいろな選択肢が存在する。 まず、Python公式(https://www.python.org/)が用意しているインストーラーを使う方法がある。インストーラーをダウンロードして、インストーラーの指示に従うだけなので初心者に優しい方法だ。多くのPython指南書もこの方法が楽なので推している。 また、公式以外にも、Anacondaが提供しているパッケージ(こちら)を使う方法もある。こ

                                                                                    ゼロからはじめるPython(118) WSLとAlpineで最小のPython実行環境を構築しよう