並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 250件

新着順 人気順

Zigの検索結果1 - 40 件 / 250件

  • 時雨堂創業 12 年目

    2013 年 3 月 8 日に時雨堂を創業し、2024 年 3 月 8 日で時雨堂創業 11 年、そして 12 年目にはいりました。あっという間です。 起業のきっかけは、ある経営者に「貴方がどんなに一生懸命に製品を作ってもそれは会社のものでしかないので、自分の会社を持って自分の製品を作って、売った方がいい」といわれた事なんですが、それから 11 年立ちました。 起業したときから状況も大きく変わりました。自社製品の売り上げだけで会社が回っています。今後の時雨堂について雑に書いて行きます。 少人数でスケールする製品を作り続ける時雨堂はパッケージソフトウェアのサブスクリプションで稼いでいる会社です。営業もいないため、買いたいといってくれる企業に売るだけです。 社員が社内にあるライセンス発行サーバーに Tailscale でリモートで繋いでライセンス (JSON ファイル) を発行し、ライセンスフ

    • WebAssembly の過去・現在・未来 - Qiita

      はじめに WebAssembly (略して Wasm) では WASI や WIT、 Component Model など様々な仕様があります。 それぞれが登場した背景、モチベーションなどを理解することでなんとなく概要を掴んでいくことができるのではないかと考えたため、過去・現在・未来と時間軸で整理してみました。 まず Wasm とその特徴に関して簡単に紹介した後、Wasm の過去として生まれた背景やモチベーションを紹介します。 そして現在の Wasm がなぜ注目を集めているのか、そして現在策定中の仕様と目指している未来について紹介します。 WebAssembly とはなにか WebAssembly はスタックベースの仮想マシン用バイナリ命令フォーマットの仕様です。Wasm と略されます。 Wasm ファイル(Wasm モジュール)は一般に .wasm という拡張子で表されるバイナリファイル

        WebAssembly の過去・現在・未来 - Qiita
      • MoonBit が WebAssembly 時代の理想(の原型)だった

        最近 moonbit という言語を知ったのですが、これが調べれば調べるほど好きになる言語だったので、紹介させてください。 文法的には GC 付きの Rust で、 WebAssembly にコンパイルされます。とくに CDN Edge Worker 上での実行を想定しているようです。もう好き。 注意: まだ若い言語なので、これから言語仕様がガンガン変わっていくと思われます。あくまで現時点での情報です。 tl;dr Pros だいたい GC あり Rust と捉えていい 文法面のキャッチアップが容易 ライフタイムの難しさを考えなくていい すでに vscode 拡張やパッケージマネージャ等のエコシステムが整っている Cons まだ安定していない / しばらくはソースコードが公開されない 現時点では学習リソースやパッケージ数が足りず、書き手の腕力が求められる はじめに: JS/TS/Rust へ

          MoonBit が WebAssembly 時代の理想(の原型)だった
        • JavaScriptランタイム「Bun 1.0」正式リリース。Windows版もまもなく登場へ

          JavaScriptエンジンにはSafariに搭載されているJavaScriptCoreを採用。データベース機能としてSQLiteも搭載し、npmパッケージマネージャとしての機能も備えています。 主な開発言語としてZigを採用し、メモリ管理などを含む低レイヤでの実装がBunの高速な動作を支えています。 Bunの高速性を強調 Bun 1.0の発表では高速性が強調されています。例えば下記はTypeScriptでの「hello world」の実行速度。

            JavaScriptランタイム「Bun 1.0」正式リリース。Windows版もまもなく登場へ
          • 中国圏で時雨堂が紹介された話

            X(旧Twitter) で突然フォロワーが恐ろしく増えた。それも中国圏の方々からのフォローでなんだなんだとドキドキしていた。正直スパムか?と思った。 ただ、フォローしてくる人たちのプロフィールには、 GitHub アカウントだったり、ソフトウェアエンジニアとか、プログラマーとか C++ とか Python とかの文字がやけに多かったので、ブロックしたりはせず、ドキドキしたままだった。 そして理由はこれ。有名なオープンソースプログラマーの方が、時雨堂を紹介してくれていた。 私は時雨堂という素晴らしい日本の会社を発見しました。 日本のインターネット企業とは違う。 彼らは新しいテクノロジー (zig) を追いかけているだけでなく、オープンソースを特に受け入れており、主に使用しているテクノロジーの開発者のほとんどをスポンサーしており、公式 Web サイトにもリストされています。 海外の方に OSS

            • WebAssemblyアプリ開発で最も使われている言語は3年連続で「Rust」、Webアプリ開発が最多、欲しい機能はスレッド。The State of WebAssembly 2023

              回答者はWebAssembly関連の技術者303人。 最も使われているのはRust、2位のJavaScriptの使われ方とは? WebAssemblyのアプリケーションのコードを記述するプログラミング言語として何を使っているかを尋ねた質問への回答では、3年連続でRustがトップ。しかも利用率は上昇中です。 2位に入ったのがJavaScriptです。WebAssemblyバイナリはソースコードをコンパイルしてバイナリに変換することで生成されますが、JavaScriptはWebAssemblyへのコンパイルに対応していません。 WebAssemblyアプリケーションのコードとしてJavaScriptを使う方法は、WebAssemblyで構築されたJavaScriptエンジンをWebAssemblyランタイム上で実行し、そこでJavaScriptコードを走らせることです。 この方法ではWebAs

                WebAssemblyアプリ開発で最も使われている言語は3年連続で「Rust」、Webアプリ開発が最多、欲しい機能はスレッド。The State of WebAssembly 2023
              • UUIDv7 in 32 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 32 languages
                • Learning Zig

                  home Learning Zig Welcome to Learning Zig, an introduction to the Zig programming language. This guide aims to make you comfortable with Zig. It assumes prior programming experience, though not in any particular language. Zig is under heavy development and both the Zig language and its standard library are constantly evolving. This guide targets the latest development version of Zig. However, it's

                  • VSCodeがWebAssemblyの実行時デバッグに対応。C/C++やRust、Zigなどのソースコードと関連付け、変数参照、ブレークポイントなど可能に

                    VSCodeがWebAssemblyの実行時デバッグに対応。C/C++やRust、Zigなどのソースコードと関連付け、変数参照、ブレークポイントなど可能に マイクロソフトは、オープンソースで開発しているコードエディタ「Visual Studio Code」(以下、VSCode)の最新版となる2023年9月版(バージョン1.83)で、JavaScriptデバッガがWebAssemblyのデバッグにも対応したことを明らかにしました。 The JavaScript debugger can now debug code compiled into WebAssembly if it includes DWARF debug information. For example, C++ code compiled using Emscripten can be debugged: pic.twitt

                      VSCodeがWebAssemblyの実行時デバッグに対応。C/C++やRust、Zigなどのソースコードと関連付け、変数参照、ブレークポイントなど可能に
                    • Announcing WinterJS · Blog · Wasmer

                      Back to articlesAnnouncing WinterJSThe most performant JavaScript Service Workers server thanks to Rust and SpiderMonkey Follow up the WinterJS series reading about the recent production-ready WinterJS 1.0 release here. Today we are incredibly excited to announce WinterJS (wasmer/winterjs package). WinterJS is a JavaScript Service Workers server written in Rust, that uses the SpiderMonkey engine t

                        Announcing WinterJS · Blog · Wasmer
                      • JavaScriptの活躍の場を広げる「ランタイム」の今

                        執筆 山内 直 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)に所属するテクニカルライター。出版社を経てフリーランスとして独立。ライター、エディター、デベロッパー、講師業に従事。屋号は「たまデジ。」。著書に『Bootstrap 5 フロントエンド開発の教科書』、『作って学べるHTML+JavaScriptの基本』など。 監修 山田 祥寛 静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「独習」シリーズ、「これからはじめるReact実践入門」、「改訂3版 JavaScript本格入門」他、

                          JavaScriptの活躍の場を広げる「ランタイム」の今
                        • JavaScriptランタイム「Bun」がバージョン1.0に到達へ、9月7日にローンチイベント開催

                          サーバサイドで実行可能なJavaScriptランタイム「Bun」が9月7日(日本時間9月8日)にバージョン1.0に到達することが分かりました。 公式サイトで「Bun 1.0」のローンチイベントへの申し込みが始まっています。 Node.js互換としたことで注目を集めたBun Bunは2022年7月に登場したソフトウェアです。 公式Webサイトで「Bun is a fast all-in-one JavaScript runtime」と紹介されているように、JavaScriptランタイムとバンドラ、トランスパイラなどが最初から統合され、タスクランナーとして実行できる機能も備えています。 なによりもBunが急速に注目を集めた理由は、Node.js互換をうたいNode.jsのnpmパッケージがそのままBunでも使えるとしたこと、そして高速性を強調したことでしょう。 JavaScriptエンジンには

                            JavaScriptランタイム「Bun」がバージョン1.0に到達へ、9月7日にローンチイベント開催
                          • 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』を試してみた
                            • ZigでWriting an OS in 1,000 Linesをやる

                              ZigでWriting an OS in 1,000 Linesをやる #2023-11-21 自作 OS で学ぶマイクロカーネルの設計と実装(通称エナガ本)の補足資料として公開されているWriting an OS in 1,000 Linesを、できるだけZigでやってみることにした。 目次成果物 #repositoryは以下。 さいしょに #エナガ本は一通り読んでいたのだが、機能に対していくつかのOSの実装を眺める。という構成になっており、個人的には「同じような難易度でRV32を対象に 0->1 でシンプルなOSを作る書籍があるといいなあ」と思いながら読んでいたのだが、まさに欲していたものが公開されたので大喜びで実装を開始した。 自分はそのまま写経してしまうと頭に入らないため、異なる言語で書いてみたり、何らかの制約を課して実施することが多い。今回はZigで書いてみることにした。 概ね問

                                ZigでWriting an OS in 1,000 Linesをやる
                              • async/awaitは今後もベストフレンドであり続けるか - hadashiA

                                えーあーー みなさん聞こえますでしょうか。この記事はC# アドベントカレンダー17日めのために書かれました。 いくつかみかけた、async/await と java loom/goroutine的なものを比較する議論に興味があり、少し追ってみた感想です。実装まで深く調べられてません。 TL;DR Green Thread Experiment Results #2398 .NET の runtimelabにて、async/awaitの代替としてのグリーンスレッドを検証した結果が公開されていたが、今後も async/await でいくという結論になっている。 JVM (Java) は対象的に、コードの書き方をなにも変えなくてもランタイムが自動的にI/Oを非同期にしてくれる夢のVirtual Thread を導入した。 Rust界隈では「Why async/await ? why? why?

                                  async/awaitは今後もベストフレンドであり続けるか - hadashiA
                                • 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編
                                  • Claude3.5の新機能!Artifacts:Claudeとの新しい対話方法 – 完全ガイド - Sun wood AI labs.2

                                    はじめに みなさん、こんにちは!今日は、AI技術の世界に革命を起こす新機能「Artifacts(アーティファクツ)」について、わかりやすくお話ししていきます。Claudeという人工知能と、より効果的に協力して作業ができるようになる、とてもワクワクする機能なんです。 Artifactsとは何か? 簡単な説明 Artifactsは、Claude.aiで導入された新機能です。ユーザーがClaudeに何かを作ってもらう時、その成果物を会話とは別の専用ウィンドウで見ることができます。つまり、会話しながら同時に作品を見て編集できる、そんな魔法のようなツールなんです。 Artifactsの主な特徴 リアルタイムの表示: Claudeが作った内容をすぐに見ることができます。 編集可能: 表示された内容を自由に編集できます。 作業の継続性: 一度作ったものを基に、さらに改良を加えていけます。 Artifac

                                      Claude3.5の新機能!Artifacts:Claudeとの新しい対話方法 – 完全ガイド - Sun wood AI labs.2
                                    • Announcing TypeScript 5.2 - TypeScript

                                      Today we’re excited to announce the release of TypeScript 5.2! If you’re not familiar with TypeScript, it’s a language that builds on top of JavaScript by making it possible to declare and describe types. Writing types in our code allows us to explain intent and have other tools check our code to catch mistakes like typos, issues with null and undefined, and more. Types also power TypeScript’s edi

                                        Announcing TypeScript 5.2 - TypeScript
                                      • Using Zig in our incremental Turborepo migration from Go to Rust – Vercel

                                        Using Zig in our incremental Turborepo migration from Go to RustLearn how we're cross-compiling a Rust-Go-Rust sandwich to six platforms. We’ve been porting Turborepo, the high-performance build system for JavaScript and TypeScript, from Go to Rust. We talked about how we started the porting process, so now let’s talk about how we began porting our two main commands: run and prune. Since last time

                                          Using Zig in our incremental Turborepo migration from Go to Rust – Vercel
                                        • GitHub - gvcgo/version-manager: 🔥🔥🔥 A general version manager for multiple sdks, such as Java, Go, Node.js, Deno, Bun, .Net, Python, PyPy, PHP, Rust, Kotlin, Scala, Groovy, Flutter, Julia, Zig, V, Typst, Android SDKs. A much better choice than vfox, fn

                                          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 - gvcgo/version-manager: 🔥🔥🔥 A general version manager for multiple sdks, such as Java, Go, Node.js, Deno, Bun, .Net, Python, PyPy, PHP, Rust, Kotlin, Scala, Groovy, Flutter, Julia, Zig, V, Typst, Android SDKs. A much better choice than vfox, fn
                                          • kyju.org - Piccolo - A Stackless Lua Interpreter

                                            Piccolo - A Stackless Lua Interpreter 2024-05-01 History of piccolo A "Stackless" Interpreter Design Benefits of Stackless Cancellation Pre-emptive Concurrency Fuel, Pacing, and Custom Scheduling "Symmetric" Coroutines and coroutine.yieldto The "Big Lie" Rust Coroutines, Lua Coroutines, and Snarfing Zooming Out piccolo is an interpreter for the Lua language written in pure, mostly safe Rust with a

                                            • 新通貨ジンバブエ・ゴールド、波乱のスタート 旧通貨は無価値に

                                              ジンバブエの首都ハラレでジョン・ムシャヤバンフ中央銀行総裁が披露した新通貨ジンバブエ・ゴールドの紙幣(2024年4月5日撮影)。(c)Jekesai NJIKIZANA / AFP 【4月10日 AFP】金を裏付けとしたジンバブエの新通貨ジンバブエ・ゴールド(ZiG)が今週、波乱のスタートを切った。店舗は米ドルでの支払いしか受け付けず、銀行の前には困惑した人々が預金を引き出そうと長蛇の列を作っている。 旧通貨ジンバブエ・ドルが過去1年間で暴落し、高インフレに見舞われた同国は8日、新通貨の運用を開始した。だが、切り替えの発表が数日前だったため、多くの国民は準備ができていなかった。 大半の銀行は9日、新通貨に移行するためにシステムをオフラインにした。そのため首都ハラレでは、預金を引き出そうとする多くの人が銀行の前に何時間も並ぶ事態が起きた。 通貨切り替えによって、すでに価値がほとんどなかった旧

                                                新通貨ジンバブエ・ゴールド、波乱のスタート 旧通貨は無価値に
                                              • Announcing TypeScript 5.2 RC - TypeScript

                                                Today we’re excited to announce our Release Candidate of TypeScript 5.2! Between now and the stable release of TypeScript 5.2, we expect no further changes apart from critical bug fixes. To get started using the RC, you can get it through NuGet, or through npm with the following command: npm install -D typescript@rc Here’s a quick list of what’s new in TypeScript 5.2! using Declarations and Explic

                                                  Announcing TypeScript 5.2 RC - TypeScript
                                                • Borgo Programming Language

                                                  Borgo is a new programming language that compiles to Go. For a high-level overview of the features and instructions on running the compiler locally, check the README. This playground runs the compiler as a wasm binary and then sends the transpiled go output to the official Go playground for execution. use fmt enum NetworkState<T> { Loading, Failed(int), Success(T), } struct Response { title: strin

                                                  • Denoで困ったときはZigで何とかなるかもしれない

                                                    サードパーティライブラリが無いよ問題 いきなりネガティブな話で申し訳ございません。愚痴みたいなものです。本題ではありませんので読み飛ばしていただいて問題ありません。 Denoユーザーの1人としての個人的な印象として、Denoの勢いは2023年に入った頃から低迷しているように感じます。2022年末からnpm対応によってNode.jsの資産を使えるようになったにも関わらずです。実際のユーザー数はDenoチームではないので分かりませんが、登場から数年経って真新しさも無くなったので、どんなサービスにもありがちなことなのかなと思います。 ありがちとはいえ、ただ低迷しているだけではありません。ここからNode.jsを超えるのはなかなか難しいです。なぜならnpm対応というのは、明示的にNode.jsに対して「生き残っていい」それどころか「あなたが正しい」と宣言してしまったようなものです。Node.jsの

                                                      Denoで困ったときはZigで何とかなるかもしれない
                                                    • Flappy Bird Implemented in Typescript types

                                                      10/19/2023 Flappy Bird Implemented in Typescript types The ultimate type-level trickery I wrote a 2D flappy bird game, purely in Typescript types: Yes you heard that right, this game is written entirely in Typescript type annotations, which—if you didn’t know—are Turing complete. So how the hell am I runnning it in the browser and rendering the game in Typescript types? The basic rundown is that I

                                                      • Finishing Turborepo's migration from Go to Rust – Vercel

                                                        We've finished porting Turborepo, the high performance JavaScript and TypeScript build system, from Go to Rust. This lays the groundwork for better performance, improved stability, and powerful new features. Here’s how we finished this port and shipped the first all-Rust version of turbo. Since last timeAt the end of our previous article, we had completed the “Rust-Go-Rust sandwich”, or “Go sandwi

                                                          Finishing Turborepo's migration from Go to Rust – Vercel
                                                        • GitHub - zigcc/zig-cookbook: Simple Zig programs that demonstrate good practices to accomplish common programming tasks.

                                                          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 - zigcc/zig-cookbook: Simple Zig programs that demonstrate good practices to accomplish common programming tasks.
                                                          • Zig, Rust, and other languages | notes.eatonphil.com

                                                            Having worked a bit in Zig, Rust, Go and now C, I think there are a few common topics worth having a fresh conversation on: automatic memory management, the standard library, and explicit allocation. Zig is not a mature language. But it has made enough useful choices for a number of companies to invest in it and run it in production. The useful choices make Zig worth talking about. Go and Rust are

                                                            • Wasm core dumps and debugging Rust in Cloudflare Workers

                                                              Wasm core dumps and debugging Rust in Cloudflare Workers08/14/2023 A clear sign of maturing for any new programming language or environment is how easy and efficient debugging them is. Programming, like any other complex task, involves various challenges and potential pitfalls. Logic errors, off-by-ones, null pointer dereferences, and memory leaks are some examples of things that can make software

                                                                Wasm core dumps and debugging Rust in Cloudflare Workers
                                                              • Fast and Portable Llama2 Inference on the Heterogeneous Edge

                                                                Fast and Portable Llama2 Inference on the Heterogeneous Edge • 12 minutes to read The Rust+Wasm stack provides a strong alternative to Python in AI inference. Compared with Python, Rust+Wasm apps could be 1/100 of the size, 100x the speed, and most importantly securely run everywhere at full hardware acceleration without any change to the binary code. Rust is the language of AGI. We created a very

                                                                  Fast and Portable Llama2 Inference on the Heterogeneous Edge
                                                                • 今年のオープンソース活動振り返り @ 2023

                                                                  2023年のオープンソース活動の振り返り記事です。 2023年のオープンソース活動の振り返り記事を書きました! - textlint/secretlint: 継続的にアップデート - jsprimer: 第二版の改訂出した、Open Collectiveやっていきたい - Notionに色々集約するツール書いてた "今年のオープンソース活動振り返り @ 2023 | Web Scratch"https://t.co/iwUCQfFWiu pic.twitter.com/7qgDjitpQm — azu (@azu_re) December 31, 2023 今までの振り返りの一覧です。 今年のオープンソース活動振り返り @ 2022 | Web Scratch 今年のオープンソース活動振り返り @ 2021 | Web Scratch 今年のオープンソース活動振り返り @ 2020 | W

                                                                    今年のオープンソース活動振り返り @ 2023
                                                                  • A decade of developing a programming language

                                                                    In 2013, I had an idea: "what if I were to build my programming language?". Back then my idea came down to "an interpreted language that mixes elements from Ruby and Smalltalk", and not much more. Between 2013 and 2015 I spent time on and off trying different languages (C, C++, D and various others I can't remember) to see which one I would use to build my language in. While this didn't help me fi

                                                                    • Deno vs. Bun vs. Node.js: A Feature Comparison

                                                                      = Built-In = Core Ecosystem = Third Party = Experimental / Partial = N/A Footnotes As this table doesn't cover every single aspect, here are some noteworthy points: Node.js has started to implement a permissions model, available under a experimental flag in Node 20. Node.js does have an external dependency view through NPM list. Node.js has an alternative approach to Web Workers called Worker Thre

                                                                        Deno vs. Bun vs. Node.js: A Feature Comparison
                                                                      • The State of WebAssembly 2023

                                                                        The State of WebAssembly 2023 survey has closed, the results are in … and they are fascinating! If you want the TL;DR; here are the highlights: Rust and JavaScript usage is continuing to increase, but some more notable changes are happening a little further down - with both Swift and Zig seeing a significant increase in adoption. When it comes to which languages developers ‘desire’, with Zig, Kotl

                                                                          The State of WebAssembly 2023
                                                                        • 「Zig言語」でとにかくなにかを作ってみたい カメラの映像をリアルタイムで送信するプログラムを書いてみた話

                                                                          Kernel/VM探検隊は、カーネルやVM、およびその他なんでもIT技術の話題ジャンルについて誰でも何でも発表してワイワイ盛り上がろうという会です。小林哲之氏は、「カメラの映像をリアルタイムで送信するための部品をZig言語で書く」という取り組みを発表しました。資料はこちら。 Zig言語で“カメラの映像をリアルタイムで送信するための部品”を書いてみた 小林哲之氏:tetsu_kobaと申します。今日は、「カメラの映像をリアルタイムで送信するための部品をZig言語で書く(Part2)」というタイトルで、発表したいと思います。 概要です。Zig言語はOSのシステムコールの呼び出しや、C言語で書かれたライブラリを利用するのがとても容易です。Video for Linux 2でカメラの映像をキャプチャし、それをエンコード、デコードして、画面に表示するまでの一連のプログラムをパーツとしてZig言語で書

                                                                            「Zig言語」でとにかくなにかを作ってみたい カメラの映像をリアルタイムで送信するプログラムを書いてみた話
                                                                          • LLVMやるならgodbolt - Software Transactional Memo

                                                                            この記事は pyspa advent calendar 2023の11日目の記事です。 godboltをご存知だろうか。 godbolt.org ブラウザから誰でもアクセスできる無料サービスでコンパイラの挙動について学ぶ事ができる。 例えば簡単に「渡された数Nに対し1+2+....+Nを返す関数sum」を例にすると こんな感じにコンパイル結果のアセンブリを表示してくれる。 アセンブリはマウスカーソルを置くとそれが元のコードのどの場所に対応したものなのかを逐一ハイライト表示してくれる。この機能を実現するために必要な労力は並では無いと思うが詳細はわからない。アセンブリ側も複数色あるのは元のコードの1行が同じ背景色のブロックになった事を表している。 これがすごいのはコンパイラの選択肢の豊富さである。gccはもちろんのことclang, zig c++, msvc, nvc++(なにそれ?), el

                                                                              LLVMやるならgodbolt - Software Transactional Memo
                                                                            • Vim/Neovimのプラグインマネージャーを悪用してCLIの管理ツールとして使う

                                                                              TL;DR CLI ツールを管理する方法として、Vim/Neovimのプラグインマネージャーを使うと意外と便利 はじめに 皆さんはCLI ツールをどのように管理していますか? 私はmacOSで使うツールの管理に以下のパッケージマネージャーたちを使っています。 汎用的なパッケージマネージャー aqua - YAMLでDeclarativeにツールを管理できる。極力これで管理したい Homebrew - 有名なパッケージマネージャー。macOSのデファクトスタンダード。Aquaで管理できないツールを管理する 言語ごとのパッケージマネージャー volta - Node.jsのバージョン管理ツール。Node.jsのバージョンを切り替えるのに使う rye - Pythonのバージョン管理ツール。Pythonのバージョン/仮想環境/ツールを管理するのに使う rustup - Rustの管理ツール。Ru

                                                                                Vim/Neovimのプラグインマネージャーを悪用してCLIの管理ツールとして使う
                                                                              • The best WebAssembly runtime may be no runtime at all | Frank DENIS random thoughts.

                                                                                When we think “a fast AOT WebAssembly compiler and runtime”, we typically think about V8, Wasmer, WasmEdge or Wasmtime. All of these have in common that they are large, complicated pieces of software, that come with a lot of overhead, and only work on a limited set of platforms. But how about transpiling WebAssembly code to C source code, and leveraging the state-of-the-art optimization passes of

                                                                                • Ruby: "uselessシンタックスシュガー"シリーズ「引数のforwarding」(翻訳)|TechRacho by BPS株式会社

                                                                                  概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: “Useless Ruby sugar”: Argument forwarding 原文公開日: 2023/11/24 原著者: zverok 日本語タイトルは内容に即したものにしました。段落編成を若干変更し、訳文の一部に強調を加えています。 forwarding(転送)は本記事では英ママとしました。anonymousは「無名」としました。 参考: プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ 本記事は、最近のRubyで出現した"無用な"(さもなければ物議を醸す)構文要素を扱うシリーズ記事の一環です。本シリーズの目的は、そうした機能を擁護することでも批判することでもなく、その機能が導入された理由、設計、そして新構文を使うコードに与える影響を分析するための一種の「思考のフレームワーク」を皆さんと共有すること

                                                                                    Ruby: "uselessシンタックスシュガー"シリーズ「引数のforwarding」(翻訳)|TechRacho by BPS株式会社