並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 1302件

新着順 人気順

Rustの検索結果201 - 240 件 / 1302件

  • OSS開発者が自分の人生を犠牲にしなくていい。「フルタイムRubyコミッター」という生き方が与えてくれた恩恵 - Findy Engineer Lab

    お店のデジタル化を支援するSTORES 株式会社(以下、STORES)は、Rubyコミッターの笹田耕一(@koichisasada)さんと遠藤侑介(@mametter)さんの両名を社員として採用しました。笹田さんと遠藤さんはフルタイムのRubyコミッターとして STORES に入社し、Rubyの機能改善や品質向上のための仕事に専念します。 どのような経緯で、両名は STORES への転職を決めたのでしょうか。そして、今後の具体的な活動内容とは。笹田さんと遠藤さんにお話を伺いました。 「6月は2人で一緒に、フルタイムRubyコミッターとして働く道を探ろう」 笹田さんが取り組む並列並行処理の改善 遠藤さんが取り組む静的型解析 世の中のニーズと本人のモチベーションが合致して生まれる、奇跡的なキャリア 「6月は2人で一緒に、フルタイムRubyコミッターとして働く道を探ろう」 ――転職活動どうもお疲

      OSS開発者が自分の人生を犠牲にしなくていい。「フルタイムRubyコミッター」という生き方が与えてくれた恩恵 - Findy Engineer Lab
    • RustによるマクロサービスフレームワークSpin入門

      この記事はAdvent of Spin 2023というオンラインチャレンジに参加した結果してSpinに入門した結果のまとめとなっています。学んだことのまとめですが、Spin入門としても利用いただけるかなとも思っています。 TL;DR マクロサービスフレームワークのSpinをつかって、Rustでマイクロサービスを作ります。 JSONのやり取りや、key-valueストアの利用、ルーティングがカバーされています。 Hurlというツールを使ってテストファースト開発します。 Spinとは? Spinとはマイクロサービスを作成するためのフレームワークで次の特徴があります。 イベント駆動型のフレームワーク HTTP(S)とRedisにデフォルトで対応 いくつかのストレージに標準で対応 イベントハンドラーはWasmコンポーネントとして実装される WASI preview 2に対応 開発元が配布しているコ

        RustによるマクロサービスフレームワークSpin入門
      • 新たなプログラミング言語を習得したい人にオススメ! プログラミング言語「Rust」の基礎をしっかり学べる無料の電子書籍

        2015年にバージョン1.0に到達した「Rust」は、比較的新しいプログラミング言語です。2019年には、Microsoftが「Windows」の開発にRustを採用すると発表したり、Googleが「Android 12」の開発から、「C/C++」の代わりにRustを採用したりしたことも記憶に新しいのではないでしょうか。 本eBookでは、連載「基本からしっかり学ぶRust入門」全18回を収録。Rustとはどのような言語なのかに始まり、なぜMicrosoftやGoogleがRustに注目したのか、Rustは他のプログラミング言語とどう違うのか、言語の特徴や、開発環境の構築方法、記述方法まで紹介しています。 本eBookの前半では、Rustの特徴や基本文法を、後半では、Rustを使ったアプリケーションを開発する際のフォルダ構造や、テストの記述方法も紹介しています。各回ともサンプルコードととも

          新たなプログラミング言語を習得したい人にオススメ! プログラミング言語「Rust」の基礎をしっかり学べる無料の電子書籍
        • 複雑なデータベースの知識は一切不要、気にするのはエンドポイントだけ 開発の生産性を高める「TiDB Serverless」の各種機能

          真のサーバーレスアーキテクチャについて語り、最新のエッジコンピューティングや生成系AIのサーバーレス実装を学び、クラウドネイティブで高速な開発プラクティスと向き合う2日間「ServerlessDays Tokyo 2023」。ここで登壇したのは、PingCAP株式会社の関口匡稔 氏。同社が開発する、オープンソースの分散型データベース「TiDB Serverless」について発表しました。全2回。後半は、TiDBを使ったアプリケーションのサンプル「OSS Insight」とChatGPTの機能「Chat2Query」について。前半はこちらから。 TiDBを使ったアプリケーションのサンプル「OSS Insight」 ここまで、TiDB Serverlessをどうやって作っていったかというコンセプトをご紹介してきました。ここから、TiDB Serverlessを実際に使ってみたという話をしたいと

            複雑なデータベースの知識は一切不要、気にするのはエンドポイントだけ 開発の生産性を高める「TiDB Serverless」の各種機能
          • OrbStack 1.0: Fast, light, easy way to run Docker containers and Linux

            If you work with Docker on an M1 Mac, do yourself a favor and install orbstack.dev Every operation feels 100x faster, and it should also have a lighter impact on the battery life of M1 Macs. ⚡️🔋 Hat tip to @kandros5591 👏 OrbStack is light Are your MacBook's fans taking off into space? OrbStack also has optimizations to strike a careful balance between performance and resource usage, resulting in

              OrbStack 1.0: Fast, light, easy way to run Docker containers and Linux
            • なぜハッシュ値は元の値を復元できないのか、SHA-256を実装してみる - Qiita

              はじめに ハッシュ関数はデータの整合性確認や暗号学的な用途でよく使用されます。この記事では、ハッシュ関数の中でもよく使われるSHA-256を自分で実装しつつ、なぜ元の値を復元できない(非可逆性)の性質を持つのか確認します。 結論はハッシュ関数の非可逆性は、情報の喪失により実現されています。 また、今回sha256を実装したRustのコードは以下です。 https://github.com/akira-19/algorithms_rust/tree/main/sha-256 SHA-256のフロー 非可逆性がわかるところまでのSHA-256のフローは以下のようになっています。 "msg"という文字列をハッシュ化します。 まずmsgという文字列を文字コードに置き換えます。(16進数表記) 次に、メッセージを64バイトの1つのまとまりにします。この際に、元のメッセージのすぐ後ろに0x80を追加し

                なぜハッシュ値は元の値を復元できないのか、SHA-256を実装してみる - Qiita
              • RustとDioxusで投稿アプリのSPAを作ってみよう

                Dioxusの概要 Dioxus(ディオクサス)は、Dioxus Labsによるクロスプラットフォーム対応のアプリを構築できるRustライブラリです。移植性が高く(portable)、高性能で(performant)、人間工学に基づいた(ergonomic)設計が特徴とされています。Dioxusでは、単一のコードで以下のプラットフォームで動作するアプリを開発可能です。 (1)Web WebAssembly技術を用いたSPA(Single Page Application)を開発できます。WebAssemblyについては@ITの連載「いろんな言語で試す、WebAssembly入門」で紹介しています。その第5回「RustでWebAssembly――「Rust and WebAssembly」を体験する」でRust and WebAssemblyを紹介しています。本記事の理解にWebAssemb

                  RustとDioxusで投稿アプリのSPAを作ってみよう
                • Rustで自作シェル書いてみた

                  はじめに 自作シェルを書いてみた記事はよく見かけるのですが、そのほとんどが fork -> exec という流れです。仕組みを学ぶという点で非常に有効なのでそれはそれで良いとして、 Rust では標準ライブラリの std::process::Command を使用してもっと簡単にコマンド実行ができるよ! という記事があまりないので書いてみました。 コマンドの実行 REPL パース処理はできるだけシンプルに書きます。 標準入力から1行読み取り、Command::spawn() で実行します。 それを繰り返すのが REPL (Read-Eval-Print Loop)です。 これだけでシェルと言い張っても良いと思っています🤔 use std::io::{self, Write}; use std::process::Command; fn main() { loop { // プロンプト p

                    Rustで自作シェル書いてみた
                  • xAI、“全人類に利益をもたらすAIツール”を目指す「Grok」正式発表

                    イーロン・マスク氏が7月に立ち上げたAI企業xAIは、同社初のAIモデル「Grok」を発表した。まだ初期β段階だが、ベンチマークでは「ChatGPT-3.5」や「Inflection-1」を上回るとしている。 イーロン・マスク氏率いる米AI企業xAIは11月4日(現地時間)、同社初のAIモデル「Grok」を発表した。マスク氏はそれに先立ち、GrokをXのハイエンドサブスクプランユーザーに提供する計画だとポスト済みだ。 xAIは企業サイトのトップページで「Grokは、『銀河ヒッチハイク・ガイド』をモデルにしたAIで、ほぼすべてのことに答えることを目的としており、質問すべきことを提案することさえできる」「ウィットに富んだ質問に答えるよう設計されており、反抗的な性格でもあるので、ユーモアが嫌いであれば使わないように」と説明している。 xAIは、全人類に利益をもたらすAIツールを構築するためにフィ

                      xAI、“全人類に利益をもたらすAIツール”を目指す「Grok」正式発表
                    • サーバレスにおけるRustについて - NTT Communications Engineers' Blog

                      この記事は、 NTT Communications Advent Calendar 2023 22日目の記事です。 はじめに こんにちは、イノベーションセンターの鈴ヶ嶺です。普段は、クラウド・ハイブリッドクラウド・エッジデバイスなどを利用したAI/MLシステムに関する業務に従事しています。 本記事は、各クラウドベンダーのサーバレスにおけるプログラミング言語Rustについて調査・比較した結果を紹介します。 まず初めにサーバレスでRustを利用するメリットをエネルギー効率の観点から説明し、次に各クラウドベンダーの関連記事をピックアップします。 さらに、それぞれのクラウドでRustを使ったサーバレスアプリの代表的な作成方法を紹介して比較します。 Rustのエネルギー効率 Rustは、次の公式ページでも宣伝している通りパフォーマンスを強くアピールしています。 Rustは非常に高速でメモリ効率が高く

                        サーバレスにおけるRustについて - NTT Communications Engineers' Blog
                      • 第793回 自作のカーネルモジュールをRustで作る | gihyo.jp

                        第791回では基本的なカーネルモジュールの作り方とそれをDKMSに対応させる方法を紹介しました。今回はカーネルの新しい機能のひとつである「Rustでカーネルモジュールを作る方法」を紹介しましょう。 UbuntuカーネルにおけるRustの対応 Linuxカーネルでは、Kernel 6.1からプログラミング言語である「Rust」の機能が取り込まれました。これは「Rust for Linux」の成果で、カーネルの機能をC言語やアセンブラだけでなく、Rustでも書けるようにするというものです。メモリー安全性や強い静的型付けなどの特徴を取り込むことで、カーネルのセキュリティ問題の原因の多くを占めるメモリー関連の不具合に対して、一種の対策になることが期待されます。 あらゆるケースにおいてRustに置き換えられるというわけではありませんが、今後カーネルのコードを読み書きする上でC言語やアセンブラだけでな

                          第793回 自作のカーネルモジュールをRustで作る | gihyo.jp
                        • CVPR2024が開催中なので、エムスリー AI・機械学習チームの推し論文を勝手に紹介するぜ! - エムスリーテックブログ

                          こんにちは。エンジニアリンググループのAI・機械学習チームに所属している三浦(@mamo3gr) です。弊チームでは毎週1時間の技術共有会を実施しており、各自が担当するプロダクトの技術や、最近読んだ論文を紹介しています。今週はCVPR2024が開催されていることもあり、同学会の論文読み会となりました。1セッション1名の担当で、各自がセッション内で気になった論文の詳細を解説します。本ブログではその一部として、セッションごとの「推し論文」を紹介します。 DALL-E 3が生成した「シアトル開催のコンピュータビジョンの学会会場」のイメージ図 LDP: Language-driven Dual-Pixel Image Defocus Deblurring Network 推しポイント EventPS: Real-Time Photometric Stereo Using an Event Came

                            CVPR2024が開催中なので、エムスリー AI・機械学習チームの推し論文を勝手に紹介するぜ! - エムスリーテックブログ
                          • Why choose async/await over threads?

                            A common refrain is that threads can do everything that async/await can, but simpler. So why would anyone choose async/await? This is a common question that I’ve seen a lot in the Rust community. Frankly, I completely understand where it’s coming from. Rust is a low-level language that doesn’t hide the complexity of coroutines from you. This is in opposition to languages like Go, where async happe

                              Why choose async/await over threads?
                            • Rust Vs Go: A Hands-On Comparison

                              Matthias Endler - Consultant at Corrode.dev  • 27 September 2023 Oh no, not another 'Is Rust better than Go?' article. Seriously, haven't we all had our fill of these comparisons by now? But before you sigh in exasperation, hear us out! Many comparisons between Go and Rust emphasize their differences in syntax and the initial learning curve. However, ultimately, what matters is the ease of use for

                                Rust Vs Go: A Hands-On Comparison
                              • 徐々に高度になるリングバッファの話、をRustで試した - Qiita

                                上記のうちRingBuffer0,1,2,3の実装をしました。 RingBuffer0,1は特に実装の違いはありません。 RingBuffer2はマルチスレッド化のためProducerとConsumerの構造体を追加しています。 RingBuffer3はアライン調整のために_paddingフィールドを追加しました。 MultiThreadはもとのコードはcpuset(0,1)決め打ちだったので、それに合わせたものとcore idが違う(0,2)も実施しました。 実行結果 リファレンス(AMD Ryzen 7735HS) リファレンスとなるkumagiさんのコードをg++ -O2でビルドしました。 RingBuffer0_single: 1000000000 ops in 939 ms 1064962.726 ops/ms RingBuffer1_single: 1000000000 ops

                                  徐々に高度になるリングバッファの話、をRustで試した - Qiita
                                • シングルバイナリでローカル実行可能、高速な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」正式リリース
                                  • Prism:エラートレラントな、まったく新しいRubyパーサ | gihyo.jp

                                    Ruby 3.3リリース! 新機能解説 Prism⁠⁠:エラートレラントな⁠⁠、まったく新しいRubyパーサ Prismは、Ruby 3.3.0にバンドルされた新しいライブラリで、プログラミング言語Rubyの新しいパーサであるPrismパーサのバインディングです。Prismはエラートレラント、移植性、メンテナンス性、高速性、効率性を考慮して設計されています。この記事では、Prismの歴史、設計、API、そして今後の課題について取り上げます。 使用方法 Rubyバインディングを通してPrismパーサを使うにはrequire "prism"をして、Prismモジュールのparseメソッド、または他のparse_*系のメソッドを呼んでください。次に例を示します。 require "prism" Prism.parse("1 + 2") parseメソッドは、パース結果のオブジェクトを返します。こ

                                      Prism:エラートレラントな、まったく新しいRubyパーサ | gihyo.jp
                                    • Cloudflare Pagesにおける権限昇格と任意ページの改竄

                                      You can read about these vulnerabilities in English at https://ec0.io/post/hacking-cloudflare-pages-part-2/ 免責事項Cloudflareは、HackerOne上で脆弱性報奨金制度(Bug Bounty)を実施しており、脆弱性の診断行為を許可しています。 本記事は、当該制度を通して報告された脆弱性をCloudflareセキュリティチームの許可を得た上で公開しているものであり、無許可の脆弱性診断行為を推奨することを意図したものではありません。 また、Cloudflareは脆弱性調査において他の研究者との協力を許可しており、脆弱性調査を目的とした他の研究者との脆弱性情報の共有が許可されています。 Cloudflareが提供する製品に脆弱性を発見した場合は、Cloudflareの脆弱性報奨金

                                        Cloudflare Pagesにおける権限昇格と任意ページの改竄
                                      • スタートアップは静的型付言語しか勝たん

                                        序章 静的型付け言語がスタートアップにおける成長戦略にどのように貢献するかを解説する記事です。 静的型付け言語とは 静的型付け言語とは、プログラムの実行前に変数の型が決定され、コンパイル時に型チェックが行われる言語のことです。Java、C#、Rust、TypeScript、Goなどが代表的です。実行前にエラーを発見しやすく、大規模なプロジェクトや長期的なメンテナンスに適しています。 静的型付け言語のメリット エラーの早期発見 静的型付け言語は、コンパイル時に型の不一致や変数の誤用を検出します。これにより、ランタイムエラーが減少し、開発初期段階で問題を発見できるため、時間とコストの節約につながります。 コードの可読性と保守性 型情報がコードに明示されているため、他の開発者がコードを理解しやすくなります。チームが拡大する際に、コードの保守性を高める重要な要素です。 パフォーマンスの最適化 静的

                                          スタートアップは静的型付言語しか勝たん
                                        • Go, Ruby, Rust等の言語に存在した、Windows環境でコマンドインジェクションを引き起こす脆弱性"BatBadBut" - Flatt Security Blog

                                          ※本記事は筆者RyotaKが英語で執筆した記事を、弊社セキュリティエンジニアkoyuriが日本語に翻訳したものになります。 はじめに こんにちは、Flatt SecurityでセキュリティエンジニアをしているRyotaK( @ryotkak )です。 先日、特定の条件を満たした場合に攻撃者がWindows上でコマンドインジェクションを実行できる、いくつかのプログラミング言語に対する複数の脆弱性を報告しました。 本日(2024/04/09(訳者注: これは英語版記事の公開日です))、影響を受けるベンダーがこれらの脆弱性に関するアドバイザリーを公表しました。 その影響は限定的なもののCVSSスコアは非常に高く、混乱が予想されるため、脆弱性に関する詳細を本記事にまとめます。 はじめに TL;DR CVSSスコア 技術詳解 根本原因 CreateProcessのラッパー cmd.exeのパース規則

                                            Go, Ruby, Rust等の言語に存在した、Windows環境でコマンドインジェクションを引き起こす脆弱性"BatBadBut" - Flatt Security Blog
                                          • 第784回 Sniffnetやbandwhichでネットワークの流量と宛先を簡単に確認する | gihyo.jp

                                            本連載を読むような人なら、インターネットはある種の生命線になっていることでしょう。普段から様々なネットワーク通信ソフトウェアにお世話になっているはずです。ある日突然、通信が遅くなった、何かが負荷をかけているかもしれない、今回はそんな状況を気軽に調べられるRust製のGUIアプリケーション「Sniffnet」とCLIツール「bandwhich」について紹介します。 Rust製の高速なネットワークモニタリングツールであるSniffnet ネットワークに接続されたコンピューター上のソフトウェアは、日々何らかのマシンと通信を行っていることが一般的です。特にデスクトップマシンなら、ソフトウェアのアップデートやDHCPによるアドレスの確保、arp/neighに対する応答などなど、ユーザーが「何もしていなくても⁠」⁠、なにがしかの通信は行われています。 これはコンピューターでの作業中も同じで、何気なくブ

                                              第784回 Sniffnetやbandwhichでネットワークの流量と宛先を簡単に確認する | gihyo.jp
                                            • Rustソースコードのざっくりとした歩き方

                                              ざっくりRustコンパイラにコントリビュートするには何から始めればいいのかと、Rustコンパイラのソースコードの概要についてRustコンパイラの開発者視点で話します。 本記事は、TechFeed Experts Night#24 〜 プログラミング言語をつくる・解析する ー 言語界隈をエキスパートが語るのセッション書き起こし記事になります。 イベントページのタイムテーブルから、その他のセッションに関する記事もお読み頂けますので、一度アクセスしてみてください。 本セッションの登壇者 今日はこの「Rustソースコードのざっくりとした歩き方」というタイトルで発表したいと思います。 まず簡単な自己紹介です。TaKO8Ki(タコヤキ)というハンドルネームをよく使っていて、本名は前田喬之といいます。Rust界隈では、コンパイラーコントリビューターというチームで、Rustへのコミットをしていて、最近だと

                                                Rustソースコードのざっくりとした歩き方
                                              • Pythonの35000倍速い新言語 Mojo🔥 を使ってみた【セットアップ編】 - Qiita

                                                自己紹介 こういう者です。 詳しくは固定ツイートをご覧ください。 Mojo🔥とは PythonのシンプルさとRustのスピードとメモリの安全性を組み合わせた、新しいプログラミング言語。 Pythonの35000倍速いとされており、Pythonの弱点である「遅さ」を補うと期待されている。また、書き方もPythonと似ているので移行もしやすいです。 そんな言語が2023年10月19日より、Appleシリコン搭載Macに対応したとのことで、早速触ってみました。 Mojoのセットアップ このページの案内に沿って進めるだけです。 ここでは僕が詰まった箇所も加えて解説します。 あ、環境構築にはそんなに詳しくないのでChatGPT大先生に聞きながら進めました。いつもありがとう。 ターミナルで使えるようにする 1. Homebrewのインストール HomebrewとはMacOS上で動作するパッケージ管理

                                                  Pythonの35000倍速い新言語 Mojo🔥 を使ってみた【セットアップ編】 - Qiita
                                                • 2023年にやったこと - k0kubun's blog

                                                  今年で30歳、社会人9年目、在米5年目になった。今年は 趣味でRJITを作り、仕事でYJITを超高速化した 初めて論文を国際会議に投稿し、採択された 子供とプリスクールに行き始めた という感じの一年だった。 仕事 大変ありがたいことに、自分が今一番興味のある仕事であるYJITの高速化に集中できた一年だった。 いろいろやったが、代表作は以下の三つかなと思う。 スタックオペランドのレジスタアロケータ 最適化未対応なメソッド呼び出しのフォールバック 例外ハンドラのコンパイル どれもベンチマークがかなり速くなった。 特に二つ目と三つ目は、自分で発案してかつ主に僕が重要性を訴えていた奴で、 それらで大きな成果が出たときはかなり達成感があった。 単独のPRでRailsベンチが7%速くなった時はこりゃ昇給するわと思ったが、実際めちゃくちゃ昇給した。 ベンチマークも速くしている一方、僕は本番アプリの最適化

                                                    2023年にやったこと - k0kubun's blog
                                                  • 「実践プロパティベーステスト」という本が出版されました #pbtbook - YAMAGUCHI::weblog

                                                    はじめに こんにちは、Google Cloudのオブザーバビリティ/SRE担当者です。このたび私が翻訳しました「実践プロパティベーステスト PropErとErlang/Elixirではじめよう」という書籍がラムダノート社より去る11月1日に出版されました。書店ならびに各社オンラインストアでご購入いただけます。 実践プロパティベーステスト ― PropErとErlang/Elixirではじめよう 作者:Fred HebertラムダノートAmazon 実践プロパティベーステスト ― PropErとErlang/Elixirではじめようwww.lambdanote.com 電子書籍についてはラムダノート社のECサイトよりご購入いただけます。 実践プロパティベーステスト ― PropErとErlang/Elixirではじめよう(電子書籍のみ)www.lambdanote.com 「実践プロパティベ

                                                      「実践プロパティベーステスト」という本が出版されました #pbtbook - YAMAGUCHI::weblog
                                                    • いかにして動的型付けのRubyに静的な型検査を持ち込むか? SteepとRBSが目指すもの - Findy Engineer Lab

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

                                                        いかにして動的型付けのRubyに静的な型検査を持ち込むか? SteepとRBSが目指すもの - Findy Engineer Lab
                                                      • Rustが再評価される:エコシステムの現状と落とし穴

                                                        垂直スケーラビリティと効果的なテストによる金融取引システムのパフォーマンスと効率の最大化 Peter Lawrey氏はJavaチャンピオンであり、Chronicle SoftwareのCEOとして、開発者を鼓舞してソリューションのクラフトマンシップを高めることに情熱を注いでいる。経験豊富なソフトウェアエンジニアとして、Lawrey氏はソフトウェア開発プロセスにおけるシンプルさ、パフォーマンス、創造性、革新性を奨励することに努めている。

                                                          Rustが再評価される:エコシステムの現状と落とし穴
                                                        • Unityの複数のオフィスが「脅迫」を受けて一時閉鎖に。新料金システム導入を巡る混乱続く - AUTOMATON

                                                          Unity Technologiesは9月12日、ゲーム開発プラットフォーム「Unity」について、各提供プランの利用料金に加えて、ゲームのインストール数を基準とする「Unity Runtime Fee」を2024年1月1日から導入すると発表。これを受けて、Unityを利用するゲーム開発者は困惑や不満をあらわにしている。一部ユーザーの怒りは脅迫というかたちでオフィスを一時閉鎖に至らせたようである。 Unity Runtime Feeは、利用者が開発したゲームがエンドユーザーによってダウンロード・インストールされた回数を基準として適用。ゲームの過去12か月の収益が最小しきい値を超えており、かつ累計インストール数が最小しきい値を超えている場合、さらにインストールされるたびに規定の料金の支払いが求められる。Unity TechnologiesはUnity Runtime Feeの導入について、U

                                                            Unityの複数のオフィスが「脅迫」を受けて一時閉鎖に。新料金システム導入を巡る混乱続く - AUTOMATON
                                                          • Javaの”やらかし”でC#と人気逆転か 激変プログラミング言語人気ランキング

                                                            TIOBE Softwareが発表したプログラミング言語の人気ランキング「TIOBEインデックス」の2023月10月版では、JavaとC#のレーティングが1.2ポイントのわずかな差に縮まっている。 ソフトウェア品質の評価と追跡を手掛けるTIOBE Softwareは、2023年10月版の「TIOBEプログラミングコミュニティーインデックス」(通称「TIOBEインデックス」)を発表した。 TIOBEインデックスはプログラミング言語の人気度を示すランキングで、同社が毎月更新している。2023年10月のランキングでは「Python」が14.82%で首位を維持した。2位~5位は「C」(12.08%)、「C++」(10.67%)、「Java」(8.92%)、「C#」(7.71%)だった。 Python、C、C#は、それぞれ長期にわたって首位、2位、5位を占めている。C++は6月にJavaを抜いて3位

                                                              Javaの”やらかし”でC#と人気逆転か 激変プログラミング言語人気ランキング
                                                            • Amazon Verified Permissionsとgolangで認可処理を実装してみた - Techtouch Developers Blog

                                                              Amazon Verified Permissions とは 従来の認可処理 Cedar 言語の使い方 基本的な記述方法 RBAC の例 ABAC の例 golang で動かしてみる 1. ポリシーストアを AWS コンソールから作成する 3. サンプルアプリケーションの実装 最後に こんにちは、2023年5月にバックエンドエンジニアとしてジョインした yamanoi です。 最近は Cloudflare スタックに注目しており、新機能を触ったりアップデートを眺めたりしています。 今回は先日 GA (一般利用可能)になった AWS のサービス Amazon Verified Permissions を、 golang で実装した簡単なサンプルを交えて紹介したいと思います。 Amazon Verified Permissions とは Amazon Verified Permissions

                                                                Amazon Verified Permissionsとgolangで認可処理を実装してみた - Techtouch Developers Blog
                                                              • 丁寧なDeno+JSX - laiso

                                                                *1 サーバーレスFunctionsぐらいの気軽さでサーバーアリのWebアプリをデプロイしたいという時がある。主に自分たちだけが使うようなツール系のやつ。 その時に今までのようにSPA+APIアーキテクチャではなく、モノリシックなサーバーサイドアーキテクチャにしつつもフロントエンド開発と同じツールチェインを使いたい、と前から思っていた。 これは単にReactメタフレームワークでも一気通貫に時短で作れそうだけど、個人の楽しみのための活動なので、一旦世間のトレンドからは離れて自分が本当に必要だと思った要素技術のみを最小限に使って理解しながら試行錯誤したい。 ※ただ第三者に提供するシステムとかは安全に作られた既存フレームワークに乗るのがいいというのもある しばらく考えてみたところ、私にとっては「TypeScriptでJSXをテンプレートエンジンに使ってHTMLを書けるだけでよい」という所に落ち着

                                                                  丁寧なDeno+JSX - laiso
                                                                • 【翻訳】Prettier を Rust で書き換えたプロジェクトに $20k の報奨金を支払うプログラムは Biome が勝ちました

                                                                  この記事は vjeux 氏によって Prettier 公式ブログに投稿された「$20k Bounty was Claimed!」を許可をもらって翻訳したものです。 もとのタイトルを翻訳するのが難しかったので、できるだけわかりやすいものに翻訳しました。 PrettierというJavaScriptのコードフォーマッターは、人々がコードを書く様々な方法を慎重に扱うことで、驚くほど広く採用されています。この時点で、フォーマットロジックは安定しており、私たちの三項演算子に関する作業が完了すれば、それは満足のいく状態になるでしょう。 これは、次の重要な側面に注目できるということを意味します:パフォーマンス。Prettierは決して速いとは言えませんが、ほとんどの使用例には十分な速さです。これはいつも不満足な感じがしたので、何かをすることを望んでいました。それには、友好的な競争以上の方法はありません。

                                                                    【翻訳】Prettier を Rust で書き換えたプロジェクトに $20k の報奨金を支払うプログラムは Biome が勝ちました
                                                                  • Codecov is now open source - Codecov

                                                                    Authors Note: Hey, we messed up in this post by referring to BUSL-1.1 as Open Source. We’re sorry, we are leaving this post as-is to keep the record clear and we’ve followed up in a new post. Since the beginning, the open source community has been a strong partner in Codecov’s growth and success. That’s why we always offered Codecov for free to use on any open source project. And if we’re being to

                                                                      Codecov is now open source - Codecov
                                                                    • データ型は明示しないで! Modern C++での型推論

                                                                      このように、(1)(2)と「vector<int>」を2回も書かなければなりません。特に(2)では、右辺の型は分かっているんだから、左辺はそれに合わせてよ! という文句が出そうです。 初期化漏れを防止する このように、同じ意味の型を何回も書くのはかったるいな! というときに型推論は役立つわけですが、もっと切実な理由があります。それは、変数の初期化漏れの防止です。JavaでもRustでもそうなんですが、変数は宣言しっぱなしでOKです。宣言しっぱなしというのは、明確な初期化が行われていないという意味です。こうなると、その変数を参照しようとするといろいろとまずいことが起きてきます。 基本データ型とかなら、どんな値か分からない ポインタ型とかなら、どこを指しているか分からない(ダングリングポインタ) なので、実行時にプログラムが不可解な動作をしたり、いきなり落ちたりするわけです。しかし、コンパイラ

                                                                        データ型は明示しないで! Modern C++での型推論
                                                                      • Small String Optimization で Rust ライブラリ ratatui を最適化した話 - はやくプログラムになりたい

                                                                        最近 ratatui という crate に Small String Optimization を利用した最適化を入れたので,その話を書きます. 目次 Small String Optimization (SSO) とは(SSO を既に知っている人は読み飛ばして大丈夫です) Rust で SSO を適用した文字列型を提供する crate 比較 SSO を利用して ratatui のメモリ効率と実行効率を最適化した話 compact_str crate の実装の最適化の話 インラインストレージに24バイト全てを使える理由 隙間最適化のための工夫 説明を簡潔にするため,特に断りが無い場合 64bit アーキテクチャを前提とします. Small String Optimization (SSO) とは Rust の可変長文字列型 String は文字列バッファへのポインタ,文字列の長さ,バッフ

                                                                          Small String Optimization で Rust ライブラリ ratatui を最適化した話 - はやくプログラムになりたい
                                                                        • How I made a heap overflow in curl | daniel.haxx.se

                                                                          In association with the release of curl 8.4.0, we publish a security advisory and all the details for CVE-2023-38545. This problem is the worst security problem found in curl in a long time. We set it to severity HIGH. While the advisory contains all the necessary details. I figured I would use a few additional words and expand the explanations for anyone who cares to understand how this flaw work

                                                                          • Solr クエリを速度改善したら Solr 全体のパフォーマンスが向上した - 一休.com Developers Blog

                                                                            この記事は 一休.com Advent Calendar 2023 6日目の記事です。 一休レストランの開発チームでエンジニアをしている香西です。 今回は Solr クエリの速度改善についてお話します。 背景 2023年10月、一休レストランのスマートフォン用 レストラン詳細ページをリニューアルしました! UI/UX の見直しとともに、使用技術も一新しました。 バックエンド言語:Python から Rustへ フロントエンドフレームワーク:Nuxt.js から Next.jsへ*1 スマートフォン用 レストラン詳細ページ 課題 「日付を選ぶカレンダーの表示が遅い」 社内限定リリースの直後、多方面からこの声が聞こえてきました... レストランへ行く日付を選ぶカレンダーは予約フローの第一ステップなので、表示速度が遅いことは致命的です。 特に、設定データ(料理のコース種類・席の種類など)が多いレ

                                                                              Solr クエリを速度改善したら Solr 全体のパフォーマンスが向上した - 一休.com Developers Blog
                                                                            • 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』を試してみた
                                                                              • 「CTOの限界」を救う新しいポジション、スタッフエンジニアを組織に実装する方法【estie 岩成達哉】

                                                                                TOPインタビュー「CTOの限界」を救う新しいポジション、スタッフエンジニアを組織に実装する方法【estie 岩成達哉】 株式会社estie 取締役CTO 岩成達哉(Nari) 松江工業高等専門学校在籍中に全国高専プログラミングコンテスト課題部門最優秀賞、文部科学大臣賞、情報処理学会若手奨励賞を受賞。東京大学工学部に編入後、高専の卒業研究をもとにプログラミング教育アプリを開発し、Android Application Award 2012 学生奨励賞を受賞。学生起業を経験した後、大学院在学中はグーグルジャパン合同会社など複数の企業でインターンを経験。大学院修了後は、Indeed Japan株式会社に入社し、データパイプライン開発等に従事。2020年10月にestieへVP of Productsとして参画し、2021年8月にCTOへ就任。開発部門を統括しプロダクト連携の設計や、新規プロダク

                                                                                  「CTOの限界」を救う新しいポジション、スタッフエンジニアを組織に実装する方法【estie 岩成達哉】
                                                                                • Rust製のPythonパッケージ管理ツール「uv」を使ってみよう | gihyo.jp

                                                                                  それぞれのツールに関する詳しい説明は本記事では行いません。詳しく知りたい方は、ツール名のリンクから公式ドキュメント等を参照してみてください。 上記の表に挙げたツール群にはそれぞれに特徴があります。pyenv、venv、pipのように単一機能に特化したものから、Condaのようにデータサイエンスや機械学習プロジェクトで使用される複雑なパッケージの依存関係や環境管理をサポートするツール、PoetryのようにPythonパッケージインデックス(PyPI)への公開をサポートするツールなど、開発シーンに合わせて選択することができます。 uvとは uvは2024年の2月中旬に発表されたばかりの新しいパッケージ管理ツールです。Rustで書かれており、ここ最近で飛躍的に使用されるようになったRust製のPythonリンター&フォーマッター「Ruff」を開発しているAstral社によって提供されています[1

                                                                                    Rust製のPythonパッケージ管理ツール「uv」を使ってみよう | gihyo.jp