並び順

ブックマーク数

期間指定

  • から
  • まで

361 - 400 件 / 7574件

新着順 人気順

rustの検索結果361 - 400 件 / 7574件

  • Rust製の高性能コマンド3選

    Rustで作られたコマンドラインツールに良いものが多いと聞いて、Rust製の便利なコマンドをまとめてみます。RustがC/C++を置き換える言語というのもありますが、GNUの伝統的なツールをブラッシュアップしたツールがRustでいろいろ出てきているのはとても興味深いです。 findコマンドを置き換える fd fdはGNUの伝統的な検索ツールfindの置き換えです。findよりも簡潔にファイルの検索が可能です。 GitHubのリポジトリはこちらで、インストールも各パッケージマネージャーから使えます。 # mac $ brew install fd # ubuntu $ sudo apt install fd-find # win $ choco install fd 使い方は、検索したりディレクトリでfd キーワードと書くだけです。ポイントはfindと違って特にオプションをしていしなくても良

      Rust製の高性能コマンド3選
    • 達人プログラマー(第2版) 読んだ - console.lealog();

      久しぶりに物理本を読んだけど、やっぱ物理はええな・・かさばるとこ以外。 せっかくなので読書感想文と、特に印象に残った部分を、章ごとに書いておく。 第1章: 達人の哲学 この本を読んでいくにあたって、そもそも達人とはなんぞやという話がメイン。 プログラマーというより、いわゆる社会人としてこうあれみたいなテーマで書かれてて、なんかみんな読んだらいいのではと思いました。 物事をうまく進捗させるために、 まず何を言いたくて その結果どうしたいのかまで考えて 相手の状況やタイミングを見計らって コミュニケーションを実行する・されると、あれこれスムーズにいきますよっていう。 このテクは中々に便利で、日常生活でもそれこそ夫婦間とかのコミュニケーションでも使える話かなーと思ってて。 ただ自分の場合はこれをやりすぎて、質問してるはずが誘導尋問みたいになっちゃうときがたまにある・・。 第2章: 達人のアプロー

        達人プログラマー(第2版) 読んだ - console.lealog();
      • オブジェクト指向プログラミングは終わった カプセル化が悪い(感想戦) - Qiita

        が(良くも悪くも)注目頂き、その観測で思ったことのメモです。1年後の自分用です! もっかい言いたいこと再考のポエムです。 概要 関数型には意図的に触れたくなかった 継承や再利用性への懐疑の共通認識 抽象化戦略開発戦略で補う話 タイトルは釣り 抽象化という言葉のふわっと感 カプセル化が問題 関数型言語には意図的に触れたくなかった ポリモーフィズムのくだりで、関数型のご指摘が多かったのですが、あえて直接は触れたくありませんでした。これは、オブジェクト指向 vs 関数型にしたくなかったからです。(結果、Rust/Goに被弾させました) なぜかと言えば、オブジェクト指向を(結果として)衰退させたのは、あくまでも 開発手法の変化 や設計論の精錬が主軸だと認識しています。 不確実性に適応する上で、継承やカプセル化による状態隠匿という戦略が、良い筋に動かず、オブジェクト指向なりに変化を遂げた結果だと考え

          オブジェクト指向プログラミングは終わった カプセル化が悪い(感想戦) - Qiita
        • 組込みエンジニアのためのRustのよくわからない記号まとめ - Qiita

          はじめに どうも、レガシー組込みエンジニアの@yagisawaです。 Rustを勉強しているとCでは見かけない言語仕様(主に記号の使い方)に出くわすことがあるので、チートシート的な感じでまとめてみました。 勉強が進み次第都度更新していく予定です。 「RustではXXX等に使います」と曖昧な表現をしていますが、私の勉強が足りていないだけで本記事で紹介しているもの以外の使い方も存在する可能性がある旨、予めご承知おきください。 Cについても私が知らない使い方が存在する可能性がある旨、予めご承知おきください。仕事柄C89の仕様を主に扱っています。また本記事の主眼はRustであるため、Cの情報の充実度については本質ではありません。

            組込みエンジニアのためのRustのよくわからない記号まとめ - Qiita
          • Rust言語を推進する「Rust Foundation」設立。AWS、Google、マイクロソフト、モジラ、ファーウェイらが設立メンバー

            Rust言語を推進する「Rust Foundation」設立。AWS、Google、マイクロソフト、モジラ、ファーウェイらが設立メンバー 設立メンバーはAWS、ファーウェイ、Google、マイクロソフト、Mozillaの5社(Rust Foundationの発表、AWSの発表、Googleの発表、Microsoftの発表、ファーウェイの発表、Mozillaの発表)。 Rust Foundationは昨年、設立に向けた動きをMozillaが発表していました。今回それが正式に実現されたことになります。 参考:「Rust Foundation」が年内にも設立。Rust言語のコアチームとMozillaが発表 Rust Foundationへ、Mozillaから商標や資産などを移管 Rust言語は、Mozillaが開発し、コミュニティベースで開発が進められてきた、C言語のように低レベルのシステム開発

              Rust言語を推進する「Rust Foundation」設立。AWS、Google、マイクロソフト、モジラ、ファーウェイらが設立メンバー
            • Rustで書かれた、既存のソフトウェアの代替一覧を作った

              Rustで既存のソフトウェアを再実装することは「Rewrite It In Rust」と言われたりしますが、 最近はfindの代替である fd やlsの代替である exa などといったUnixコマンドのRust実装がよく見られます。 このようなUnixコマンド以外にも、Goで書かれたコンテナランタイム runc のRust実装である youki や既存のNodeバージョンマネージャーである nvm よりも200倍速い[1]とされている fnm や Lemmy というRustで書かれた reddit の代替などがあります。 また、僕自身もRubyのバージョンマネージャーである rbenv のRust実装である frum を作ったりしています。 作ったもの 今回は、こういったRustで書かれた、既存のソフトウェアの代替の一覧を作ってみました。 RustでOSSを作る際にこういった一覧があると、

                Rustで書かれた、既存のソフトウェアの代替一覧を作った
              • WebRTC を理解するためにカメラ映像を送るだけの最小実装を探る

                GW なんも予定がなくてブログ書くかソシャゲやるか昼から酒飲むしかやることがないです。だから予定があったら使っていたであろうお金でソシャゲに課金したらめちゃくちゃ強くなりました。やったー。友達にはドン引きされましたが、GW に予定がある人よりかは節約できていると思います。そんなソシャゲもやることなくなって暇なので酒飲みながらブログを書きます。今日は WebRTC です。 免責 筆者は RFC を読んでいません。これは「そもそも WebRTC それ自体 の RFC なんてものは存在しないもんね〜」という意味でなく、ICE や SDP の RFC すら読んでいないという意味です。そのため WebRTC そのものの解説として読むと良くない表現が含まれるかもしれません。ただし自分が WebRTC でカメラ映像を送る実装を動作させ、そのコードの解説という点では間違ったことは書いていないはずです。動作

                  WebRTC を理解するためにカメラ映像を送るだけの最小実装を探る
                • Rustプログラムのデバッグ辛すぎ問題 - Qiita

                  この記事は Rust Advent Calendar 2023 シリーズ2 の1日目の記事である。 Rustは良くも悪くもシステムプログラミング言語なので、何も工夫しなければデバッグの体験がC言語と同じレベルになってしまう。例えば「rust lldb」でググると上位に Debugging Rust programs with LLDB is a nightmare というスレッドが出てきてしまう。 使うべきツールを知っていれば幾分かマシな体験にできる。Rustコンパイラはデバッガとして LLDB, GDB, WinDbg/CDB をサポート していて、僕はWinDbGは10年くらい触ってないので、この記事ではLLDBとGDBについて書く。 LLDB Apple SiliconのMacだとGDBが使えないので、必然的にLLDBを使うことになる。 CodeLLDB GDBと同じく、LLDBにも

                    Rustプログラムのデバッグ辛すぎ問題 - Qiita
                  • 2023年買ったもの(技術書とか) - Magnolia Tech

                    2023年のお買い物、技術書編です。 技術書以外はこちら blog.magnolia.tech とりあえずノータイムで買っちゃえ!損は無いよ!という3冊 他に、類似の本がないか、有ってもこっち買っておけばよくね?という3冊 なっとく!関数型プログラミング なっとく!関数型プログラミング 作者:Michał Płachta翔泳社Amazon Scalaをベースとした関数型プログラミングの学習本。オブジェクト指向言語であり、関数型プログラミング言語であるScalaの特性を生かして、命令型から宣言型のコードの書き方への変え方を学んでいくスタイル。 前半の凄まじい丁寧な学習のステップと、後半の「ここまで一気にやらなくても良くない?」の落差もすごいけど、ページ数の厚さに躊躇せず、前半1/3くらいを時間をかけて丁寧に学習するくらいが良いと思います。 周りに良い先生が居れば別ですが、そうでなければこの本

                      2023年買ったもの(技術書とか) - Magnolia Tech
                    • Why Go and not Rust?

                      What's the role of Go in a universe where Rust exists? Imagine you’re a developer who mainly works with Go. You go to an event and, while chatting with some people, you decide to share with them the news that you wrote a small tool that does something. You claim that since you wrote it in Go, it’s fairly fast, it’s a single binary, etc. The group seems pleased with your recount and you start feeli

                        Why Go and not Rust?
                      • マイクロカーネルとL4について (Yabaitech.tokyo, Writing a (micro)kernel in Rust in 12 days より) - 豆腐の豆腐和え

                        怒田さん*1のこの記事、「CとRustで一から作るマイクロカーネルOS」のおかげで、マイクロカーネルとRustが今ホットです。そこで、技術書典6, 7に出展したYabaitech.tokyoにて連載している、"Writing a (micro)kernel in Rust in 12 days"から、マイクロカーネルとL4についての話を書いた"1日目"の記事の一部冒頭を、いい機会なので再編集してご紹介します。「マイクロカーネルってタネンバウム教授とリーナスの論争のあれだよね?」とか、「L4ってなに?」って方に読んでいただいて、L4ファミリーとマイクロカーネルについて簡単にご紹介できればなと思います。 ちなみに抜粋元の上述の記事は、僕が怒田さんと同じようにRustでマイクロカーネルを書いてみよう、という趣旨の企画です。なので、Yabaitech.tokyoの方もよろしくお願いします!ただし、

                          マイクロカーネルとL4について (Yabaitech.tokyo, Writing a (micro)kernel in Rust in 12 days より) - 豆腐の豆腐和え
                        • 分散モノリスとWebAssemblyランタイムを用いた新しいアプリプラットフォーム「Wasmer Edge」登場。オーケストレーションもサービスメッシュも不要

                          分散モノリスとWebAssemblyランタイムを用いた新しいアプリプラットフォーム「Wasmer Edge」登場。オーケストレーションもサービスメッシュも不要 WebAssemblyランタイム「Wasmer」の開発元であるWasmer社は、エッジロケーション上のデータセンターにWebAssemblyランタイムを展開し、分散モノリスなアーキテクチャを用いたサーバレス型の新しいアプリケーションプラットフォーム「Wasmer Edge」を発表しました。 The Cloud is dead, long live the Cloud! Announcing Wasmer Edgehttps://t.co/VjGsbMwopy pic.twitter.com/5mTtKBBjsZ — Wasmer (@wasmerio) June 15, 2023 上記のツイートに示されているように、Wasmer E

                            分散モノリスとWebAssemblyランタイムを用いた新しいアプリプラットフォーム「Wasmer Edge」登場。オーケストレーションもサービスメッシュも不要
                          • Rust で SQLite を再実装している - kawasin73のブログ

                            セキュリティを盾に一点突破。どうもかわしんです。最近 Rust で SQLite を実装してます。 以前の記事で HTTP Parser を Rust で実装しようとしたものの、すでに実装されていたので断念しましたが、いい題材を見つけました。SQLite です。開発中のリポジトリはこれです。 github.com 今の時点では、Read Only で1つの WHERE 句を持った SELECT 文しか処理できないですが、以下の機能を実装しています。 sqlite3 で生成された database ファイルの読み取り (cursor.rs, btree.rs, record.rs) SQL 文の解析 (token.rs, parser.rs) テーブルとインデックスのメタデータのパース (schema.rs) 動的なファイルの読み込み (pager.rs) SQL クエリとスキーマ情報を元に

                              Rust で SQLite を再実装している - kawasin73のブログ
                            • とほほのRust入門 - とほほのWWW入門

                              Rustとは インストール Hello world Cargoプロジェクト キーワード コメント(//) 値 変数・定数(let, mut, const) 型 基本の型(bool, i16, char, str...) 型変換(as) 構造体(struct) 共用体(union) 列挙型(enum) タプル(tup) 配列(array) ベクタ(vec) ハッシュマップ(HashMap) 文字列(&str, String) 演算子(+ - ...) ヒープ領域(Box) スライス(&var[n..m]) 関数(fn) クロージャー(|...|{...}) マクロ(macro_rules!) 制御構文 条件分岐(if) 繰り返し(while) 繰り返し(for) ループ(loop) ループ制御(break, continue) マッチ(match) インプリメンテーション(impl) トレイ

                              • Node.jsのスーパープログラマ達の今 - @ledsun blog

                                僕がNode.jsを熱心に勉強していた頃に、スーパープログラマとして憧れていた人たちが、今何をやっているのか調べてみました。 github.com Express.jsなんかを作っていたtjは、Go言語がメインに書いているようです。 OSS活動自体あまりやっていなさそうです。 github.com Browserifyをつくっていたsubstackは、主にrustを書いているようです。 サーバーを書いていた人はGo言語に、CLIを書いていた人がrustに行くのかもしれません。 github.com Babelを書いていたsebmckもrustです。 github.com Rad VaggはGo言語とPythonのようです。 github.com tjfontaineはOSS活動がほとんど無くなっています。 ここからはNode.jsを去っていない人たちです。 github.com Guill

                                  Node.jsのスーパープログラマ達の今 - @ledsun blog
                                • 最適化はCDNがやればいい

                                  題名に「CDN」と書きましたが、いわゆる「エッジ」のことです。オリジンありきなのであえてCDNと呼びました。とはいえ、オリジン自身がエッジにある可能性もあります。 メタフレームワークを作る Sonikというメタフレームワークを作っています。まだDevステージなんでどんなことができるか可能性を探っている最中です。 このフレームワークの特徴はとにかくエッジファーストです。 SSRしたバンドルの大きさを極力小さくする。 Islandsアーキテクチャを採用する。 DenoのFreshを参考にする。 CloudflareのBindingsを扱いやすくする。 Honoの上に乗せる。 とりあえずStreamingはサポートしない。 で、こういうのを作っていると、フレームワークは最小限にして、Core Web Vitalsのスコアを上げるために身を削る最後の部分はCDNに任せてしまった方がいいってことです

                                    最適化はCDNがやればいい
                                  • Rust で SQLite を再実装した 2023 - kawasin73のブログ

                                    気合いで実装、どうもかわしんです。 この記事は Rust Advent Calendar 2023 の6日目 兼 情報検索・検索技術 Advent Calendar 2023 の 6 日目です。 Rust で SQLite をフルスクラッチで実装しています。 github.com なぜ SQLite を Rust で再実装しようと思ったのかについては以前の記事で紹介しています。一言で言えば、誰も Rust で SQLite を書いている人がいなかったからやってみたのですが、そもそも SQLite が強すぎるということが再実装しているうちにわかってきて絶望しています。 kawasin73.hatenablog.com 4 ヶ月前にこの記事を書いたときは簡単な SELECT 文しか実行できなかったのですが、現時点では SELECT, INSERT, DELETE 文をサポートし、express

                                      Rust で SQLite を再実装した 2023 - kawasin73のブログ
                                    • 2024年のPythonプログラミング - Uzabase for Engineers

                                      ソーシャル経済メディア「NewsPicks」で推薦や検索などのアルゴリズム開発をしている北内です。Pythonは頻繁に新機能や便利なライブラリが登場し、ベストプラクティスの変化が激しい言語です。そこで、2024年2月時点で利用頻度の高そうな新機能、ライブラリ、ツールなどを紹介したいと思います。 この記事では広く浅く紹介することに重点を置き、各トピックについては概要のみを紹介します。詳細な使用方法に関しては各公式サイト等での確認をおすすめします。なお、本記事ではOSとしてmacOSを前提としています。 環境構築 Pythonの環境構築はpyenvとPoetryの組み合わせがもっとも標準的でしょう。 以下の手順でpyenvとPythonをインストールできます。 brew install pyenv # Bashの場合 echo 'eval "$(pyenv init -)"' >> ~/.ba

                                        2024年のPythonプログラミング - Uzabase for Engineers
                                      • Javaを中心に偏見ベースでプログラミング言語の関係をまとめた - きしだのHatena

                                        オブジェクト指向言語の話をするときに便利なように、Javaを中心にプログラミング言語をまとめてみました。 Javaに影響与えるか、Javaから影響を受けるか、という感じですね。 Simula オブジェクト指向はここから始まったと言われています。 クラス、オブジェクト、継承、仮想関数(多態)といった、オブジェクト指向の基本要素が備わっていました。 ただし、「オブジェクト指向」という言葉は生まれていません。 Smalltalk Simulaから発想を得て「オブジェクト指向」という言葉を生んだのはアラン・ケイでした。 しかし、モデルとしてはSimulaとは異なりメッセージングを主体としたものでした。また、アラン・ケイの「オブジェクト指向」はプログラミングのパラダイムだけではなく、人がコンピュータをどのように扱うかというメタファであり、ダイナブックというハードウェアやそのユーザーインタフェースを含

                                          Javaを中心に偏見ベースでプログラミング言語の関係をまとめた - きしだのHatena
                                        • 「継続は力なり」よりも「好きこそ物の上手なれ」|情報処理学会・学会誌「情報処理」

                                          杜甫々 (「とほほのWWW入門」サイト管理者) 「とほほのWWW入門」というWeb関連の技術情報を掲載するサイトを運営しています.1996年9月に始めたので,もうそろそろ29年目に突入となります.HTML, CSS, JavaScriptを始め,Python, Rust, Goなどのプログラミング言語,React, Vue.js, Angularなどのフレームワーク,Docker, Kubernetes, OpenSSLなどのツール群,文字コード,正規表現,暗号化などの要素技術などなど,目につくIT関連情報を色々紹介してきました.途中サボっていた時期もありますが,ここ最近は1週間に1つはなんでもよいので記事を追加したり更新したりしています. ある講演会で,私が初めてコンピューターに触れたころの話から,サイト作りを始め,継続してきたことについて一通り語ったあと,来場者からの質問で「続けられる

                                            「継続は力なり」よりも「好きこそ物の上手なれ」|情報処理学会・学会誌「情報処理」
                                          • 「ちょっとLTやってよ」と突然言われた時に押さえたい5つのポイント - Qiita

                                            Greenやyentaなどを運営する株式会社アトラエという会社でエンジニアをしているタガミショウゴです。弊社ではほぼ毎月LT大会を開き、事業部内外でエンジニアの情報共有をしています。そのなかで個人的に感じた「LT慣れするためのポイント」みたいなことをまとめます。 是非みなさんのご提案・ご意見もコメントにていただけると嬉しいです! ほとんどのLTは雑談 さて、エンジニアという職業柄、社内外でLTや大きなカンファレンスなどで登壇する機会が多いですよね。世間一般を見渡しても、ここまで"個人として"人前で話す機会が多い職業は珍しいのではないかと思います。 とはいえ、全てのエンジニアがLTが得意なわけではなく、日頃からLTに慣れているのは1,2割くらいなんじゃないかなと感じています。残りの大多数は 人前で話すのが苦手 資料作るのが面倒臭い わざわざ話すようなネタがない アウトプットしてマサカリ投げら

                                              「ちょっとLTやってよ」と突然言われた時に押さえたい5つのポイント - Qiita
                                            • プログラミング言語Rustのご紹介

                                              Zli x サイバーエージェント合同LT会にて発表した内容です。

                                                プログラミング言語Rustのご紹介
                                              • RustでLinuxカーネルの機能を拡張しよう!

                                                Linuxカーネルの機能を安全に拡張できるeBPFのコードはC言語で実装する必要があると知り、がっかりしているクラウドネイティブ 世代の皆様に朗報です。実は、Rustで、eBPFのコードを実装することができます。今更、C言語(クラウドネイティブ ではない感じ)を学ぶ必要はありません! eBPFとプログラミング言語eBPFを活用するソフトウェアは、カーネルスペースで動作するeBPFバイトコードと、eBPFバイトコードを制御するユーザスペースのアプリケーションから構成されます。後者は、Go、Python、Rustなど様々なプログラミング言語で実装することができますが、前者は、制限のあるC言語で実装する必要があります。 eBPFの構成Rust用eBPFライブラリRustでeBPFを扱う一般的な方法は、libbpf-rsライブラリです。これは、C言語でユーザスペースのアプリケーションを実装するため

                                                  RustでLinuxカーネルの機能を拡張しよう!
                                                • Deno 1.0

                                                  Dynamic languages are useful tools. Scripting allows users to rapidly and succinctly tie together complex systems and express ideas without worrying about details like memory management or build systems. In recent years programming languages like Rust and Go have made it much easier to produce sophisticated native machine code; these projects are incredibly important developments in computer infra

                                                    Deno 1.0
                                                  • 【Rust】日本語で読めるRust言語の商業本まとめ(2023年4月)【おすすめ】 - Rのつく財団入り口

                                                    機運高まるRust言語に入門しよう Windows自体の開発に使われていることも判明、次期Android OSの開発言語にも採用、ついにLinuxでも採用される(かも)とのことで最近機運が高まっているMozilla発のRust言語。 このエントリでは商業本を分野別に、その中では発行日が新しい順にまとめてみました。第2版がある本の初版含め合計約25冊。そのうち2022年に出たのが計9冊、【追記】2023年に2冊と、数えてみると既にけっこうな冊数になっています。Go言語の日本語の本が確か合計15冊前後ぐらいだったので負けずに盛り上がっていますね。 機運高まるRust言語に入門しよう 補足的にRust本の傾向 入門者向けの本 動かして学ぶ!Rust入門 パーフェクトRust ゼロから学ぶRust システムプログラミングの基礎から線形型システムまで (KS情報科学専門書) 手を動かして考えればよく

                                                      【Rust】日本語で読めるRust言語の商業本まとめ(2023年4月)【おすすめ】 - Rのつく財団入り口
                                                    • GitHubのトレンドで振り返る2022年のJavaScript/TypeScript

                                                      今年も GitHub トレンドから 2022 年の JavaScript/TypeScript を振り返ります。去年の記事はこちらです。 — GitHub のトレンドで振り返る 2021 年の JavaScript | WEB EGG 集計方法 本記事の集計期間は 2022/01/01〜2022/12/07、対象言語は JavaScript および TypeScript です。 なお GitHub がそのリポジトリをなんの言語と見なしてトレンドに掲載したかをもとに集計対象を決定していることにご留意ください。 別言語で書かれた Rust 製の JS 向けのツールや CSS フレームワークなどは基本的に対象外となります。 集計に利用したデータですが、GitHub は過去のトレンドを閲覧する方法を提供していないため、独自の仕組みで GitHub トレンドのアーカイブを生成しそのデータを利用しまし

                                                        GitHubのトレンドで振り返る2022年のJavaScript/TypeScript
                                                      • private 関数にもテストを書きたいとき

                                                        「private 関数にはテストを書かない」というのが多数派だと思う。だが昨日、仕事で In-source testing を書いていたらふと private 関数にテストを書きたくなった。そこで、In-source testingができる環境下でもprivate 関数にテストを書くべきかを X で聞いてみたら何か盛り上がっていた。 (In-source Testing: https://vitest.dev/guide/in-source.html) 反応を見る限り、やはり「private 関数にはテストを書かない」の方が主流だった。Kent Beck先生の http://shoulditestprivatemethods.com を紹介するツイートにもそういった反応が寄せられていた。(ぶんぶんさん、教えてくれてありがとうございます。) (このサイト面白すぎますよね・・・) 自分の立場を

                                                          private 関数にもテストを書きたいとき
                                                        • 【WASM & Rust】フロントエンドでRustを使う方法をmizchiさんとペアプロしながら解説する #ch789

                                                          フロントエンドエンジニアが Rust と WASM を使ってフロントエンドのコードを書こうとすると、意外と Rust のエグいところが出てきて面食らいます。 この配信では、フロントエンドに詳しい mizchi さんに、KOBA789 が Rust と WASM を教えていきます。 ★事前資料 https://gist.github.com/mizchi/86e53810e08eee2176d98b20870a9b86 ★mizchi さん Twitter: https://twitter.com/mizchi ★KOBA789 Twitter: https://twitter.com/KOBA789 YouTube(このチャンネル): https://youtube.com/c/KOBA789

                                                            【WASM & Rust】フロントエンドでRustを使う方法をmizchiさんとペアプロしながら解説する #ch789
                                                          • Apple M1の参照カウントは本当に速いのか - yamasaのネタ帳

                                                            Apple M1に関して以下のようなツイートが話題になった。 18/ Another "magic" trick is how their "Swift" programming language uses "reference counting" instead of the "garbage collection" in Android. They did something in their CPU to double the speed of reference counting.— Robᵉʳᵗ Graham😷, provocateur (@ErrataRob) 2020年11月26日 fun fact: retaining and releasing an NSObject takes ~30 nanoseconds on current gen Intel, and ~6.

                                                              Apple M1の参照カウントは本当に速いのか - yamasaのネタ帳
                                                            • manがあるコマンドは偉いし、manを付けるべき - Lambdaカクテル

                                                              社内で、crontabのtabは実はtableだからクーロンタブじゃなくてクーロンテーブルなんだよね、という話が盛り上がった。 ファクトチェックとして、crontab(5)が紹介されていた(cron tableという言葉が出現している)。 manで事実確認がすぐできてすごいと思う一方、それを可能たらしめているmanもありがたいと思った。 man(1) とかの数字って何? 意外なものにmanがある 最近のコマンドにman pageが無い件 manまわりのコマンドの紹介 man(1) とかの数字って何? ちなみに、manのマニュアルやコマンド自体をアドレスするときに使うman(1)といった記法のカッコ内の数字は、manのセクション番号である。 コマンドと設定ファイルが同名であることがしばしばあるため、カッコ内にセクション番号を書くことで識別できるようにしている(例えば、crontab(1)はそ

                                                                manがあるコマンドは偉いし、manを付けるべき - Lambdaカクテル
                                                              • Node.jsとはなにか?なぜみんな使っているのか? - Qiita

                                                                この記事は 「JavaScriptの勉強してたらみんなNode.jsの存在を前提に話が進む。でもNode.jsってWebサーバじゃないの? なんでインストールしなきゃいけないの? なんでみんな使ってるの?」 といった疑問を解消することを目的としています。 基礎:JavaScriptの特徴 まずはJavaScriptと他のプログラミング言語の違いを知っておく必要があるので解説します。 JavaScriptはChromeやFirefoxといった「ブラウザ上」で動作するプログラミング言語です。 対してPythonやRubyのような一般的なプログラミング言語は通常「パソコン上」で動作します。1 このことが生み出す違いは、OSの機能にアクセスできるかどうかです。 「OSの機能」とは例えばファイルの読み書きや、ネットワーク通信などの機能のことです。 パソコン上で動作するアプリケーション(Pythonや

                                                                  Node.jsとはなにか?なぜみんな使っているのか? - Qiita
                                                                • How to recover from microservices

                                                                  I won't deny there may well be cases where a microservices-first architecture makes sense, but I think they're few and far in between. The vast majority of systems are much better served by starting and staying with a majestic monolith. The Prime Video case study that blew up the internet yesterday is but the latest illustration. Maybe once you reach the scale of Netflix or Amazon, there are areas

                                                                    How to recover from microservices
                                                                  • RustでAPIを開発してみたら結構辛かった話

                                                                    はじめに 皆様こんにちは、株式会社プラハのAwataです。 今日は、以前書いたリーダーの振り返り記事で軽く触れていた、RustでのAPI開発についての記事を書いていこうと思います。 結論RustでWebは辛い!という話なんですが、約5か月くらいRustでWeb開発をしたので、今後の参考になるようなことを書いていこうと思います。 ぜひ最後までお付き合いください。 TL;DR RustでWeb開発はまだ早いかもしれない。 RustでDDDはやりやすい。ただしDIがやりにくい場合があるので、そこは要注意。 Rustはモジュールの仕組みが協力なので、モジュラモノリスはやりやすい。 サンプルリポジトリはこちら Rustはやっぱり難しいけど人気の理由も少し分かった気がする そもそもなぜRustでやってみようとなったのか 前例が少ない中、どうしてRustで開発しようと思ったのか気になる方も多いと思います

                                                                      RustでAPIを開発してみたら結構辛かった話
                                                                    • Electronライクな新フレームワーク「Gluon」登場。Chromium内蔵せずWebブラウザを利用、Node.jsだけでなくDenoとBunにも対応

                                                                      デスクトップアプリケーションの開発を、JavaScriptなどのWebテクノロジーで可能にするフレームワークとして知られるのがElectronフレームワークです。 このElectronのようなフレームワークが新たに登場しました。「Gluon」です。 Electronがアプリケーション基盤としてNode.jsとChromiumをバンドルするのに対して、GluonはOSにインストールされているWebブラウザを用いるのが大きな特長です。 Google ChromeのようなChromiumベースのWebブラウザだけでなく、Firefoxにも対応作業が進められており、最新のバージョン0.11ではFirefoxでの安定度が向上しました。 Node.jsをバンドルする点はElectronと同じですが、Node.jsの代わりにDenoやBunを利用することにも実験的に対応しています。 Gluonは主にCh

                                                                        Electronライクな新フレームワーク「Gluon」登場。Chromium内蔵せずWebブラウザを利用、Node.jsだけでなくDenoとBunにも対応
                                                                      • JavaScriptツールチェインの統一を目指す「Rome」開発チームが起業、「Rome Tools, Inc.」を立ち上げ

                                                                        JavaScriptツールチェインの統一を目指す「Rome」開発チームが起業、「Rome Tools, Inc.」を立ち上げ 現在、モダンなJavaScript開発環境としては、ESLintに代表される構文チェッカーや、Babelに代表されるJavaScript変換ツール、モジュールを組み合わせるなどのバンドル操作を行うWebpackなど、さまざまなツールを組み合わせる、いわゆるツールチェインを用いるのが一般的となっています。 こうしたなかで、このツールチェインの機能をすべて備えた1つのツールでJavaScriptの開発環境を統一してしまおうというオープンソースのプロジェクト「Rome」が、昨年発表されました。 Romeでは、JavaScriptやTypeScript、JSXなどでの開発において、現時点で以下の領域をカバーする予定です。HTML、CSS、Markdown、JSONなどにも対

                                                                          JavaScriptツールチェインの統一を目指す「Rome」開発チームが起業、「Rome Tools, Inc.」を立ち上げ
                                                                        • Rust によるデスクトップアプリケーションフレームワーク Tauri | 豆蔵デベロッパーサイト

                                                                          Tauri はクロスプラットフォームデスクトップアプリのための Rust によるフレームワークです。Electron と同様 Web 技術でアプリの UI を構築します。 Build smaller, faster, and more secure desktop applications with a web frontend | Tauri Studio 記事執筆時点で v1.0.0-rc.5 (Pre-release)、もうすぐ v1.0 がリリースされそうなところです。 Release v1.0.0-rc.5: Apply Version Updates From Current Changes (#3468) · tauri-apps/tauri Electron と比べて、インストーラーのサイズ、メモリ消費量、起動時間などが圧倒的に小さいと謳われています。 https://gi

                                                                          • WebブラウザでPythonが動作する!PyScriptの詳解 | gihyo.jp

                                                                            鈴木たかのり(@takanory)です。今月の「Python Monthly Topics」では、Webブラウザ上でPythonが動作するPyScriptについて、内部構造なども含めて詳しく解説したいと思います。 PyScript公式サイト(https://pyscript.net/) Warning:PyScriptは現在非常に活発に開発が進んでいるプロダクトのため、将来的にこの記事のサンプルコードが動かなくなる可能性があります。記事執筆時点では最新バージョンであるPyScript 2023.03.1で動作確認しています。うまく動かない場合はPyScriptの公式ドキュメントなどを参照してみてください。 PyScript - PyScript documentation PyScriptとは? PyScriptは公式サイトに「Run Python in Your HTML」と書いてあると

                                                                              WebブラウザでPythonが動作する!PyScriptの詳解 | gihyo.jp
                                                                            • rust.tokyo のまとめ・感想 - mizchi's blog

                                                                              このブログを書いてる経緯 rust.tokyo 楽しみ!絶対行く!といってたのに申込みを忘れたところ、じゃあスタッフとしてブログを書けという話になったので、ブロガー枠?らしく感想を書きます。とはいえ書けるのは見たやつだけです。 https://rust.tokyo/sessions# 前提 自分は低レベルプログラミングは詳しくないです。年に3日ぐらい思い出したように Rust 勉強することがある。 wasm 周りのエコシステムはずっと追ってる。 会場の雰囲気 組み込み勢とブロックチェーン勢が多そうな気配を感じた。 Visualization of mechanical CAD drawings using WebAssembly and WebGL Aki / CADDi (発表資料見つからず) 概要 Computer aided design (CAD) models used in m

                                                                                rust.tokyo のまとめ・感想 - mizchi's blog
                                                                              • Apache Iceberg とは何か - 流沙河鎮

                                                                                はじめに 概要 Apache Iceberg(アイスバーグ)とは [重要] Icebergの本質はTable Specである Table Spec バージョン Icebergハンズオン Icebergの特徴 同時書き込み時の整合性担保 読み取り一貫性、Time Travelクエリ、Rollback Schema Evolution Hidden Partitioning Hidden Partitioningの種類 時間 truncate[W] bucket[N] Partition Evolution Sort Order Evolution クエリ性能の最適化 ユースケース Icebergのアーキテクチャ Iceberg Catalog Iceberg Catalogの選択肢 metadata layer metadata files manifest lists manifest f

                                                                                  Apache Iceberg とは何か - 流沙河鎮
                                                                                • Native ESM 時代のフロントエンドビルドツールの動向

                                                                                  No Bundle ツールの流行: vite / snowpack モダンブラウザは Native ESM を備えているので、開発時は高速な localhost アクセスを頼って直接 import する、外部ライブラリだけ事前にコンパイルしておく、という手法が流行ってきている。プロダクション用は今まで通りビルドする。 webpack はすべてを一つにバンドルするためにメモリ上にファイルの実体と依存グラフを持っているが、これによりメモリと CPU を圧迫する問題があった。特に巨大なリポジトリではそれが顕著になる。 No bundle ツールの実装として vite と snowpack がある。 https://github.com/vitejs/vite https://www.snowpack.dev/ vite は使ってみた限り、更新時の差分ビルドが爆速で、明らかに体感が良い。 Vue

                                                                                    Native ESM 時代のフロントエンドビルドツールの動向