並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 111件

新着順 人気順

std string empty functionの検索結果1 - 40 件 / 111件

  • ルールは現場で死にました - The Rules of Programming の読書感想文 - じゃあ、おうちで学べる

    本日は人生の数ある選択肢のなかから、こちらのブログを読むという行動を選んでくださいまして、まことにありがとうございます。 はじめに 正直に言えば、プログラミングのルール本には懐疑的だった。「Clean Code」も「Effective Java」も読んだ。読んだが、現場でそのまま使えたことは少ない。コンテキストが違う。チームが違う。言語が違う。ルールは理想であり、現実は常に例外だ。 そう思っていた。本書を読むまでは。 Chris Zimmerman氏の「The Rules of Programming」(邦題:ルールズ・オブ・プログラミング ―より良いコードを書くための21のルール)は、私の予想を裏切った。これは「ルールを守れ」という本ではない。「ルールの本質を理解し、現場に合わせて判断しろ」という本だ。著者自身が、読者にこれらのアプローチを鵜呑みにするなと言っている。この謙虚さが、逆にこ

      ルールは現場で死にました - The Rules of Programming の読書感想文 - じゃあ、おうちで学べる
    • Build your own SQLite, Part 1: Listing tables

      As developers, we use databases all the time. But how do they work? In this series, we'll try to answer that question by building our own SQLite-compatible database from scratch. Source code examples will be provided in Rust, but you are encouraged to follow along using your language of choice, as we won't be relying on many language-specific features or libraries. As an introduction, we'll implem

        Build your own SQLite, Part 1: Listing tables
      • Extending SQLite with Rust to support Excel files as virtual tables

        This article explains how SQLite can be extended with Rust. In particular, it will outline SQLite’s mechanism called virtual tables and showcase how we can use it from Rust programming language. In the end, we will have a working extension that can be dynamically loaded and used from SQLite. This article does not claim to be an exhaustive guide about extending SQLite with Rust, but I hope the read

        • Prototyping in Rust | corrode Rust Consulting

          Programming is an iterative process. As much as we would like to come up with the perfect solution from the start, it rarely works that way. Good programs often begin as quick prototypes. While many experiments remain prototypes, the best programs can evolve into production code. Whether you’re writing games, CLI tools, or designing library APIs, prototyping helps tremendously in finding the best

            Prototyping in Rust | corrode Rust Consulting
          • 缶つぶし機とソフトウェア移行技術 - Refactoring to Rust の読書感想文 - じゃあ、おうちで学べる

            はじめに ——あるいは、「知っている」と「理解している」の間 Rustのことは、知っていた。学習もしていた。実務でも使っていた。 でも、それは知っているつもりだった。 知ってるつもり 無知の科学 (ハヤカワ文庫NF) 作者:スティーブン スローマン,フィリップ ファーンバック早川書房Amazon 日々Rustで開発し、BoxとRcとArcを使い分け、tokio::spawnでタスクを生成し、?演算子を当たり前のように書いている。FFI?PyO3使えばいいでしょ。WebAssembly?wasm-bindgenがあるじゃない。技術的には、確かに「使える」レベルにはあった。 でも、心のどこかで感じていた違和感があった。 オートバイのエンジンを分解できる人と、エンジンが動く原理を理解している人は違う。コードが動くことと、なぜそう書くべきかを理解することも違う。私は前者だった。メカニックではあった

              缶つぶし機とソフトウェア移行技術 - Refactoring to Rust の読書感想文 - じゃあ、おうちで学べる
            • Learning Async Rust With Entirely Too Many Web Servers

              I've found that one of the best ways to understand a new concept is to start from the very beginning. Start from a place where it doesn't exist yet and recreate it yourself, learning in the process not just how it works, but why it was designed the way it was. This isn't a practical guide to async, but hopefully some of the background knowledge it covers will help you think about asynchronous prob

                Learning Async Rust With Entirely Too Many Web Servers
              • Hypershell: A Type-Level DSL for Shell-Scripting in Rust | Context-Generic Programming

                Discuss on Reddit, Lobsters, and Hacker News. Summary I am thrilled to introduce Hypershell, a modular, type-level domain-specific language (DSL) for writing shell-script-like programs in Rust. Hypershell is powered by context-generic programming (CGP), which makes it possible for users to extend or modify both the language syntax and semantics. Table of Contents Estimated reading time: 1~2 hours

                  Hypershell: A Type-Level DSL for Shell-Scripting in Rust | Context-Generic Programming
                • 大奥を観る | Netflix (ネットフリックス) 公式サイト

                  '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                    大奥を観る | Netflix (ネットフリックス) 公式サイト
                  • 【Yew】Rustでフロントエンド開発 - Rustのマクロを紐解く - - 電通総研 テックブログ

                    こんにちは、電通国際情報サービス(ISID) 金融ソリューション事業部の大場です。 今回は、Rustでフロントエンドの実装ができるYewというライブラリを使ってMarkdownエディタを作った話をします。本記事は、Yewの内部実装に触れながらYewやRustのマクロの動作について理解を深めることを目的としています。これらについて詳しく知りたい方はぜひ本記事を参考にしていただければと思います。 また、本記事で紹介するコードはこちらのリポジトリで公開しています。 https://github.com/ISID/wasm-md-editor 作った背景 採用した主要なCrate 全体像とフロー Yew そもそもWebAssembly(Wasm)とは Yew内部で使われる主要なCrate Yewの実装 手続き型マクロ マクロについての補足 #[function_component]実装 実際に画面

                      【Yew】Rustでフロントエンド開発 - Rustのマクロを紐解く - - 電通総研 テックブログ
                    • Rust Web Development

                      This article is part of a chapter of Rust Web Development which didn't make the cut to be in the book. TL;DR When we talk about a web service, we, more often than not, mean deployed code which listens on a certain IP address and port and responds to HTTP messages. There are many steps involved for two parties to be able to communicate with each other. Application developers are mainly confronted w

                      • Top 10 Movies on Netflix Right Now - Netflix Tudum

                        '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                          Top 10 Movies on Netflix Right Now - Netflix Tudum
                        • 0.8.0 Release Notes ⚡ The Zig Programming Language

                          Tier 4 Support § Support for these targets is entirely experimental. If this target is provided by LLVM, LLVM may have the target as an experimental target, which means that you need to use Zig-provided binaries for the target to be available, or build LLVM from source with special configure flags. zig targets will display the target if it is available. This target may be considered deprecated by

                          • Pitfalls of Safe Rust | corrode Rust Consulting

                            When people say Rust is a “safe language”, they often mean memory safety. And while memory safety is a great start, it’s far from all it takes to build robust applications. Memory safety is important but not sufficient for overall reliability. In this article, I want to show you a few common gotchas in safe Rust that the compiler doesn’t detect and how to avoid them. Why Rust Can’t Always Help Eve

                              Pitfalls of Safe Rust | corrode Rust Consulting
                            • ドント・ルック・アップを観る | Netflix (ネットフリックス) 公式サイト

                              '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                ドント・ルック・アップを観る | Netflix (ネットフリックス) 公式サイト
                              • Netflix Japan - Watch TV Shows Online, Watch Movies Online

                                '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                • Error Handling In Rust - A Deep Dive | Luca Palmieri

                                  Error Handling In Rust - A Deep Dive May 13, 2021 8550 words 43 min This article is a sample from Zero To Production In Rust, a hands-on introduction to backend development in Rust. You can get a copy of the book at zero2prod.com. TL;DR To send a confirmation email you have to stitch together multiple operations: validation of user input, email dispatch, various database queries. They all have one

                                    Error Handling In Rust - A Deep Dive | Luca Palmieri
                                  • sdadams.org

                                    The problem: data corruption I decided it was finally time to build a file server to centralize my files and guard them against bit-rot. Although I would have preferred to use OpenBSD due to its straightforward configuration and sane defaults, I was surprised to find that none of the typical NAS filesystems were supported. In particular I would need three features in such a filesystem. Firstly I w

                                    • ウィンター・オン・ファイヤー: ウクライナ、自由への闘いを観る | Netflix (ネットフリックス) 公式サイト

                                      '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                        ウィンター・オン・ファイヤー: ウクライナ、自由への闘いを観る | Netflix (ネットフリックス) 公式サイト
                                      • 0.10.0 Release Notes ⚡ The Zig Programming Language

                                        Tier 4 Support § Support for these targets is entirely experimental. If this target is provided by LLVM, LLVM may have the target as an experimental target, which means that you need to use Zig-provided binaries for the target to be available, or build LLVM from source with special configure flags. zig targets will display the target if it is available. This target may be considered deprecated by

                                        • Deno標準モジュール解説[後編] ~モジュール解説(FS~Wasi)と、Deno標準モジュールの今後の展望 | gihyo.jp

                                          Deno標準モジュール解説[後編] ~モジュール解説(FS~Wasi)と、Deno標準モジュールの今後の展望 Deno標準モジュールを、前編と後編の2回に分けて解説します。本記事は後編です(前編はこちら⁠)⁠。 モジュール解説 前編に続き、以下ではDeno標準モジュールの中の各モジュールについて解説していきます。 11. FS FSではファイル操作用のユーティリティが実装されています。具体的には以下のような機能が提供されています。 copy:ファイルもしくはディレクトリをコピーする detect:ファイルの内容を受け取ってファイルの改行形式を判定する emptyDir:ディレクトリを空にする(ディレクトリ自体は消されない) ensureDir:ディレクトリがなければ作成する ensureFile:ファイルがなければ作成する ensureLink:ハードリンクがなければ作成する ensure

                                            Deno標準モジュール解説[後編] ~モジュール解説(FS~Wasi)と、Deno標準モジュールの今後の展望 | gihyo.jp
                                          • llrl programming language

                                            github.com/yubrot/llrl Rust + LLVMで自作言語をセルフホスティングした話 Rust + LLVM による自作プログラミング言語処理系。大きな特徴は以下の 3 つ。 Hindley-Milner ベースの型推論による静的型付け (+型クラス) Lisp-like な S 式によるシンタックスと LLVM JIT によるマクロ 完全なセルフホスティングコンパイラ実装 目標: セルフホスティング llrl は複合的な理由で作り始めたが、とにかく一度完全にセルフホストされた言語処理系を実装したいという気持ちからセルフホスティングを最優先の目標とした。 プログラミング言語のセルフホスティングは、以下のような明確なゴールを設定できる。 何らかの既存のプログラミング言語によって自作言語コンパイラを実装する → 世代 0 自作言語、およびその標準ライブラリをコンパイラを実装

                                              llrl programming language
                                            • Cloudflare functions with Scala.js

                                              Indoor VivantsAnton Sviridov. I love reinventing the wheel and I usually use Scala for that. TL;DR We are deploying an app to Cloudflare using Scala.js We are using ScalablyTyped We are using Scala 3 heavily Code on Github Deployed app Cloudflare API bindings Welcome to the "Put ma Scala on yo cloud" series I want to say that I'm kicking off a blog series, but even I don't believe that. If I did,

                                              • How To Make a Fast Dynamic Language Interpreter

                                                Original Zef Interpreter The original Zef interpreter was written with almost no regard for performance. Only two performance-aware choices were made: The value representation is a 64-bit tagged value that may hold a double, a 32-bit integer, or a Object*. Doubles are represented by offsetting them by 0x1000000000000 (a technique I learned from JavaScriptCore; the literature has taken to calling t

                                                • A shiny future with GATs

                                                  This was a surprisingly difficult blog post to write. Between general life things getting in the way and feeling a bit of lost steam, this took much longer than I expected. Before I go further, if you don’t know what GATs (generic associated types) are, then I recommend reading this blog post from August of last year. A bit over a year ago, the traits working group started to talk seriously about

                                                  • strongly-typed-thoughts.net

                                                    Zig; what I think after months of using it What I like Arbitrary sized-integers and packed structs Generic types are just functions at the type level Error Union Types C interop is probably the best The build system is nice What I like less Error handling Shadowing is forbidden Compile-time duck typing No typeclasses / traits comptime is probably not as interesting as it looks No encapsulation Mem

                                                    • Rust の Stream の基本的な取り回しを理解する - Activ8 Tech Blog

                                                      こんにちは、エンジニアの渡辺(@mochi_neko_7)です。 今回は Rust における Stream の基本的な取り回しを紹介します。 Anthropic の Claude API の Rust Client を書いていた際に Streaming API の対応をしていたところ、自身が Rust の Stream をちゃんと理解していなかったことに気づき勉強し直していました。 ところが日本語で解説している記事をあまり見かけなかったため、本記事で自分の理解している範囲で基礎的な内容を整理して紹介したいと思います。 もし間違った記述等ありましたらご指摘いただけますと幸いです。 環境 Rust の Stream 1. 非同期版 Iterator としての Stream 2. Poll の扱い Stream の周辺 crate 1. futures_core 2. async_stream

                                                        Rust の Stream の基本的な取り回しを理解する - Activ8 Tech Blog
                                                      • Making a Chess Engine in Zig

                                                        I had the honor of speaking at Systems Distributed at the end of June. Since it was hosted by TigerBeetle who is one of the largest zig users, a lot of the zig community was there. After talking to some of them, Zig seemed more interesting for me to try out. Around the same time my youtube algorithm got me hooked on chess content. I’m not a good chess player by any means, but it started giving me

                                                        • ザ・プレイリストを観る | Netflix (ネットフリックス) 公式サイト

                                                          '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                                            ザ・プレイリストを観る | Netflix (ネットフリックス) 公式サイト
                                                          • V Language Review (2022)

                                                            V is a programming language promising to be “Simple, fast, safe, compiled. For developing maintainable software.” V has a controversial past but what is the state of V in 2022? Is V worth checking out? In this post, we’ll take a look at V as it exists in May 2022. TLDR Read the summary Rules of engagement I’ll be using the current version of V built from git which is 50ab2cfd1ae02d4f4280f38c60b8db

                                                            • zerocal - A Serverless Calendar App in Rust Running on shuttle.rs | Matthias Endler

                                                              Every once in a while my buddies and I meet for dinner. I value these evenings, but the worst part is scheduling these events! We send out a message to the group. We wait for a response. We decide on a date. Someone sends out a calendar invite. Things finally happen. None of that is fun except for the dinner. Being the reasonable person you are, you would think: “Why don’t you just use a schedulin

                                                                zerocal - A Serverless Calendar App in Rust Running on shuttle.rs | Matthias Endler
                                                              • ROFL with a LOL: rewriting an NGINX module in Rust

                                                                ROFL with a LOL: rewriting an NGINX module in Rust2023-02-24 At Cloudflare, engineers spend a great deal of time refactoring or rewriting existing functionality. When your company doubles the amount of traffic it handles every year, what was once an elegant solution to a problem can quickly become outdated as the engineering constraints change. Not only that, but when you're averaging 40 million r

                                                                  ROFL with a LOL: rewriting an NGINX module in Rust
                                                                • Rust on Nails | Cloak

                                                                  Rust on Nails A full stack architecture for Rust web applications This article is now outdated and has been replaced This article was more popular than we expected and as we added more content grew beyond the size of a blog post. It is now available on it's own mini site at https://rust-on-nails.com The old article To build a web application you need to make architecture decisions across a range o

                                                                  • V8 Torque user manual · V8

                                                                    V8 Torque is a language that allows developers contributing to the V8 project to express changes in the VM by focusing on the intent of their changes to the VM, rather than preoccupying themselves with unrelated implementation details. The language was designed to be simple enough to make it easy to directly translate the ECMAScript specification into an implementation in V8, but powerful enough t

                                                                    • Build an API in Rust with JWT Authentication using actix-web

                                                                      Rust has picked up a lot of momentum since we last looked at it in 2015. Companies like Amazon and Microsoft have adopted it for a growing number of use cases. Microsoft, for example, sponsors the Actix project on GitHub, which is a general purpose open source actor framework based on Rust. The Actix project also maintains a RESTful API development framework, which is widely regarded as a fast and

                                                                        Build an API in Rust with JWT Authentication using actix-web
                                                                      • Modular Errors in Rust

                                                                        It is thankfully common wisdom nowadays that documentation must be placed as near as possible to the code it documents, and should be fine-grained to a minimal unit of describability (the thing being documented). The practice provides numerous benefits to the codebase and project as a whole: When editing the source code, contributors are less likely to forget to update the documentation as well, e

                                                                        • Node.js — Node.js v22.18.0 (LTS)

                                                                          2025-07-31, Version 22.18.0 'Jod' (LTS), @aduh95 Notable Changes Type stripping is enabled by default Node.js will be able to execute TypeScript files without additional configuration: $ echo 'const foo: string = "World"; console.log(`Hello ${foo}!`);' > file.ts $ node file.ts Hello World! There are some limitations in the supported syntax documented at https://nodejs.org/api/typescript.html#type-

                                                                            Node.js — Node.js v22.18.0 (LTS)
                                                                          • THE DAYS | Netflix (ネットフリックス) 公式サイト

                                                                            '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                                                              THE DAYS | Netflix (ネットフリックス) 公式サイト
                                                                            • Netflix Tudum - Go behind the streams

                                                                              '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                                                                Netflix Tudum - Go behind the streams
                                                                              • 21st Century C++ – Communications of the ACM

                                                                                It is now 45+ years since C++ was first conceived. As planned, it evolved to meet challenges, but many developers use C++ as if it was still the previous millennium. This is suboptimal from the perspective of ease of expressing ideas, performance, reliability, and maintainability. Here, I present the key concepts on which performant, type safe, and flexible C++ software can be built: resource mana

                                                                                • イカゲームを観る | Netflix (ネットフリックス) 公式サイト

                                                                                  '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                                                                    イカゲームを観る | Netflix (ネットフリックス) 公式サイト