並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 84件

新着順 人気順

python inline if not noneの検索結果1 - 40 件 / 84件

  • 手書きで理解するWebAssembly Component Model | 株式会社ヌーラボ(Nulab inc.)

    2024年1月25日にWASI (WebAssembly System Interface) 0.2 APIが安定版となり (日本語の記事)、4月9日にはRust foundationがWASI 0.2への対応を発表した (日本語の記事) ことで、WASIおよびWebAssembly Component ModelなどのWebAssembly (Wasm) を取り巻く状況が大きく変わろうとしています。 そこで、この記事では WebAssemblyテキスト形式 (コンポーネントに準拠した版) を手書きで書いて、できるだけ小さい実行可能なWASI 0.2のWasmバイナリを作って実行してみます。また、そのサンプルソースコードを通してWASI 0.2、WIT (WebAssembly Interface Type)、Component Modelを簡単に紹介したいと思います。 本記事で作るWeb

      手書きで理解するWebAssembly Component Model | 株式会社ヌーラボ(Nulab inc.)
    • MJMLでhtmlメールを楽にいい感じに書くことができた話 - BASEプロダクトチームブログ

      この記事は BASE アドベントカレンダー 13 日目の記事です。 はじめに こんにちは。 BASE BANK 株式会社 Dev Division にて Software Developer をしている永野(@glassmonekey)です。 普段はバックエンドエンジニアとして、Go/Python/PHP を主に書いてたりします。 最近はチームの分析基盤づくりとかもやってたりします。 そのことについて先日書いたりもしたので、もし良かったらご確認ください。 devblog.thebase.in 私達のチームでは、「BASE」でショップを運営しているショップオーナーが簡単に資金調達をできる「YELL BANK」というサービスの開発・運営しています。 thebase.in あるプロジェクトで、ショップオーナーへのコミュニケーション手段に HTML メール を新しく作ることになりました。その際に

        MJMLでhtmlメールを楽にいい感じに書くことができた話 - BASEプロダクトチームブログ
      • Writing a C compiler in 500 lines of Python

        A few months ago, I set myself the challenge of writing a C compiler in 500 lines of Python1, after writing my SDF donut post. How hard could it be? The answer was, pretty hard, even when dropping quite a few features. But it was also pretty interesting, and the result is surprisingly functional and not too hard to understand! There's too much code for me to comprehensively cover in a single blog

        • LogLog Games

          The article is also available in Chinese. Disclaimer: This post is a very long collection of thoughts and problems I've had over the years, and also addresses some of the arguments I've been repeatedly told. This post expresses my opinion the has been formed over using Rust for gamedev for many thousands of hours over many years, and multiple finished games. This isn't meant to brag or indicate su

          • RubyのGVLを消し去りたいあなたへ(翻訳)|TechRacho by BPS株式会社

            概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: So You Want To Remove The GVL? | byroot’s blog 原文公開日: 2025/01/29 原著者: byroot -- Railsコアコミッター、Rubyコミッターであり、ShopifyのRuby/Railsインフラチームのシニアスタッフエンジニアです 日本語タイトルは内容に即したものにしました。 GVLは「グローバルVMロック」の略ですが、「ジャイアントVMロック」とされることもあります。 参考: Rubyの(グローバル)VMロックをトレースする(翻訳) 参考: スレッド (Ruby 3.4 リファレンスマニュアル) 私がやりたいのは、Pitchforkに関する記事を書いて、これがどんな理由でできたのか、なぜ現在のような形になったのか、そして今後どうなるのかについて説明することです。しかし

              RubyのGVLを消し去りたいあなたへ(翻訳)|TechRacho by BPS株式会社
            • Rewriting the Ruby parser

              At Shopify, we have spent the last year writing a new Ruby parser, which we’ve called YARP (Yet Another Ruby Parser). As of the date of this post, YARP can parse a semantically equivalent syntax tree to Ruby 3.3 on every Ruby file in Shopify’s main codebase, GitHub’s main codebase, CRuby, and the 100 most popular gems downloaded from rubygems.org. We recently got approval to merge this work into C

                Rewriting the Ruby parser
              • Memory Allocation

                One thing that all programs on your computer have in common is a need for memory. Programs need to be loaded from your hard drive into memory before they can be run. While running, the majority of what programs do is load values from memory, do some computation on them, and then store the result back in memory. In this post I'm going to introduce you to the basics of memory allocation. Allocators

                  Memory Allocation
                • Changing std::sort at Google’s Scale and Beyond

                  TL;DR; We are changing std::sort in LLVM’s libcxx. That’s a long story of what it took us to get there and all possible consequences, bugs you might encounter with examples from open source. We provide some benchmarks, perspective, why we did this in the first place and what it cost us with exciting ideas from Hyrum’s Law to reinforcement learning. All changes went into open source and thus I can

                    Changing std::sort at Google’s Scale and Beyond
                  • 【無料公開】噂の“nano-banana🍌”こと『Gemini 2.5 Flash Image』が登場!その性能と使い方を徹底解説|ChatGPT研究所

                    【無料公開】噂の“nano-banana🍌”こと『Gemini 2.5 Flash Image』が登場!その性能と使い方を徹底解説 日本時間2025年8月26日、Googleは新たな画像生成・編集モデル「Gemini 2.5 Flash Image」(通称: nano-banana)をプレビュー版としてリリースしました。 かねてより「nano-banana」の通称で噂されていた、正体不明ながらも高性能な画像編集モデルの正体が、今回の「Gemini 2.5 Flash Image」です。自然言語による精密な部分編集やキャラクターの一貫性維持に優れているとコミュニティで話題になっていましたが、今回の発表でGoogle製のモデルであることが正式に確認されました。 今回のアップデートでは、複数の画像を自然に融合する機能や、同一キャラクターを異なるシーンで描画する一貫性維持機能、自然言語による精密

                      【無料公開】噂の“nano-banana🍌”こと『Gemini 2.5 Flash Image』が登場!その性能と使い方を徹底解説|ChatGPT研究所
                    • 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
                      • Probabilistic Machine Learning: An Introduction

                        Probabilistic Machine Learning: An Introduction by Kevin Patrick Murphy. MIT Press, March 2022. Key links Short table of contents Long table of contents Preface Draft pdf file, 2025-04-18. CC-BY-NC-ND license. (Please cite the official reference below.) Report issues here Order a hardcopy from MIT Press or Amazon.. Figures from the book (png files) Code to reproduce most of the figures Diff from 2

                        • March 2025 (version 1.99)

                          Update 1.99.1: The update addresses these security issues. Update 1.99.2: The update addresses these issues. Update 1.99.3: The update addresses these issues. Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap Welcome to the March 2025 release of Visual Studio Code. There are many updates in this version that we hope you'll like, some of the key highligh

                            March 2025 (version 1.99)
                          • TypeScript and the dawn of gradual types

                            The FullScreenMario project burned brightly for a few short weeks in October 2013 after Boing Boing lauded it as “a pretty impressive example of what HTML5, in-browser functionality can do.” A few days later, it went viral on Reddit and by November, attention turned to scrutiny, and Nintendo took the project down with a DMCA request. Josh Goldberg speaks of his former project with a bit of pride—i

                              TypeScript and the dawn of gradual types
                            • Amazon ECS deployment circuit breaker のご紹介 | Amazon Web Services

                              Amazon Web Services ブログ Amazon ECS deployment circuit breaker のご紹介 ※日本語字幕の表示には、設定 → 字幕 → 自動翻訳 → 日本語をご選択ください EC2 および Fargate コンピュートタイプ用の Amazon ECS deployment circuit breaker をパブリックプレビューで発表しました。この機能により、Amazon ECS をご利用のお客様は、手動での作業を行うことなく、不健全なサービスデプロイを自動的にロールバックできるようになります。これにより、お客様は失敗したデプロイを迅速に発見できるようになり、失敗したタスクのためにリソースが消費されたり、デプロイが無期限に遅延したりすることを心配する必要がなくなります。 以前は、Amazon ECS でデプロイメントタイプにローリングアップデートを使

                                Amazon ECS deployment circuit breaker のご紹介 | Amazon Web Services
                              • Vjeux » Birth of Prettier

                                React Conf is around the corner and it's been almost 10 years since Prettier was released. I figured it would be a good time to recount the journey from its early days to now. This is the story of how the "Space vs Tabs Holy War" ended, not through one side winning over the other but instead a technological invention making it the underlying source of tensions no longer being a thing. Back Story S

                                • AST vs. Bytecode: Interpreters in the Age of Meta-Compilation

                                  233 AST vs. Bytecode: Interpreters in the Age of Meta-Compilation OCTAVE LAROSE, University of Kent, UK SOPHIE KALEBA, University of Kent, UK HUMPHREY BURCHELL, University of Kent, UK STEFAN MARR, University of Kent, UK Thanks to partial evaluation and meta-tracing, it became practical to build language implementations that reach state-of-the-art peak performance by implementing only an interprete

                                  • 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
                                    • April 2022 (version 1.67)

                                      Join a VS Code Dev Days event near you to learn about AI-assisted development in VS Code. Update 1.67.1: The update addresses this security issue. Update 1.67.2: The update addresses these issues. Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap Welcome to the April 2022 release of Visual Studio Code. There are many updates in this version that we hope

                                        April 2022 (version 1.67)
                                      • June 2023 (version 1.80)

                                        Update 1.80.1: The update addresses these issues. Update 1.80.2: The update addresses this security issue. Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap Welcome to the June 2023 release of Visual Studio Code. There are many updates in this version that we hope you'll like, some of the key highlights include: Accessibility improvements - Accessible V

                                          June 2023 (version 1.80)
                                        • 開発品質とDeveloper eXperienceを高めるコンテナ開発環境のご紹介 (Python) - ABEJA Tech Blog

                                          はじめに こんにちは 2023年1月に入社し、システム開発グループでエンジニアをしてる春名です。 私の所属しているシステム開発グループでは、開発初期の環境構築をより効率的に行うための活動に取り組んでいます。 今回はそのうちの一つである、Pythonでコンテナ開発をする環境を構築した内容をご紹介します。 なぜコンテナ開発環境かと言いますと、単にAWSのECSやGoogle CloudのCloud Runを使ってデリバリーする案件が多いからです。 より使用頻度の高い開発環境を整備し、テンプレート化しておくことで開発の効率化に活用しています。 目次 はじめに 目次 今回作成する環境 Poetryによるプロジェクトの作成 Poetryのインストール プロジェクトの作成 poetryの設定 .gitignoreの作成 依存関係の追加 FastAPI Ruff / Black / mypy / pyt

                                            開発品質とDeveloper eXperienceを高めるコンテナ開発環境のご紹介 (Python) - ABEJA Tech Blog
                                          • Kalyn: a self-hosting compiler for x86-64

                                            Over the course of my Spring 2020 semester at Harvey Mudd College, I developed a self-hosting compiler entirely from scratch. This article walks through many interesting parts of the project. It’s laid out so you can just read from beginning to end, but if you’re more interested in a particular topic, feel free to jump there. Or, take a look at the project on GitHub. Table of contents What the pro

                                            • February 2021 (version 1.54)

                                              Join a VS Code Dev Days event near you to learn about AI-assisted development in VS Code. Update 1.54.1: The update addresses an issue with an extension dependency. Update 1.54.2: The update addresses these issues. Update 1.54.3: The update addresses this issue. Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap Welcome to the February 2021 release of Vi

                                                February 2021 (version 1.54)
                                              • A simple search engine from scratch*

                                                *if you include word2vec. Chris and I spent a couple hours the other day creating a search engine for my blog from “scratch”. Mostly he walked me through it because I only vaguely knew what word2vec was before this experiment. The search engine we made is built on word embeddings. This refers to some function that takes a word and maps it onto N-dimensional space (in this case, N=300) where each d

                                                • Performance of WebAssembly runtimes in 2023

                                                  Using libsodium in a web browser has been possible since 2013, thanks to the excellent Emscripten project. Since then, WebAssembly was introduced. A more efficient way to run code not originally written in JavaScript in a web browser. And libsodium added first-class support for WebAssembly in 2017. On web browsers supporting it, and in allowed contexts allowing it, that gave a nice speed boost. Li

                                                  • Parsing Protobuf at 2+GB/s: How I Learned To Love Tail Calls in C

                                                    [Note: there have been several developments in this space since this article was published. See A Tail Calling Interpreter For Python (And Other Updates) for the latest information about this technique.] I just landed an exciting feature in the main branch of the Clang compiler. Using the [[clang::musttail]] or __attribute__((musttail)) statement attributes, you can now get guaranteed tail calls i

                                                    • 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

                                                      • August 2023 (version 1.82)

                                                        Update 1.82.1: The update addresses this security issue. Update 1.82.2: The update addresses these issues. Update 1.82.3: The update addresses this security issue. Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap Welcome to the August 2023 release of Visual Studio Code. There are many updates in this version that we hope you'll like, some of the key hi

                                                          August 2023 (version 1.82)
                                                        • How a simple Linux kernel memory corruption bug can lead to complete system compromise

                                                          In this case, reallocating the object as one of those three types didn't seem to me like a nice way forward (although it should be possible to exploit this somehow with some effort, e.g. by using count.counter to corrupt the buf field of seq_file). Also, some systems might be using the slab_nomerge kernel command line flag, which disables this merging behavior. Another approach that I didn't look

                                                          • So You Want To Remove The GVL?

                                                            I want to write a post about Pitchfork, explaining where it comes from, why it is like it is, and how I see its future. But before I can get to that, I think I need to share my mental model on a few things, in this case, Ruby’s GVL. For quite a long time, it has been said that Rails applications are mostly IO-bound, hence Ruby’s GVL isn’t that big of a deal and that has influenced the design of so

                                                            • 日本語埋め込みモデルRuliを使ったBM42 on Elasticsearchと形態素解析器Sudachiによるトークン矯正 - エムスリーテックブログ

                                                              こちらはエムスリー Advent Calendar 2024 1日目の記事です。 エムスリーエンジニアリンググループ AI・機械学習チームでソフトウェアエンジニアをしている中村(po3rin) です。 今回はQdrantが開発した新しいスコアリングアルゴリズムであるBM42を簡単に紹介し、それをElasticsearch上で構築する方法とその所感をお話しします。さらに形態素解析器のSudachiを使って類似語展開やトークン修正を行ない、BM42の精度を矯正する方法を試したのでその紹介をします。 BM42の紹介に関してはQdrantの記事が最も詳しいですが、このブログでも導入として簡単に紹介します。 qdrant.tech BM25の弱点 BM42とは BM42をElassticsearchで動かす Sudachiによる矯正 モデルによっては意図しないトークンが生成される問題 表記揺れ、シノ

                                                                日本語埋め込みモデルRuliを使ったBM42 on Elasticsearchと形態素解析器Sudachiによるトークン矯正 - エムスリーテックブログ
                                                              • Rustacean のための F# 入門

                                                                また、 F# の decimal 型は Rust には標準で存在しませんが、 5m という書き方をします。 数字の間に _ を入れて読みやすくすることができるのも同様です。 let num = 8_000_000; その他の型について ... F# の char は Rust の char に似ていますが、 前者が UTF-16 なのに対し、 Rust の char は UTF-32 で常に 4bytes です。これは、 Rust とは違い、 char の配列がほぼそのまま string として扱えることを示しています。 Rust の unit と F# の unit は両方とも () で表され、役割も同じです。 文字列型に関しては Rust には色々あるので、簡単な比較はできませんが、 string は immutable な char の配列で、 mutable に扱いたい場合は St

                                                                  Rustacean のための F# 入門
                                                                • November 2023 (version 1.85)

                                                                  Update 1.85.1: The update addresses these issues. Update 1.85.2: The update addresses these issues. Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap Welcome to the November 2023 release of Visual Studio Code. There are many updates in this version that we hope you'll like, some of the key highlights include: Floating editor windows - Drag and drop edit

                                                                    November 2023 (version 1.85)
                                                                  • 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

                                                                    • Cursor はどこが GitHub Copilot より優れているのか(独自機能Docsの実力) - GMOインターネットグループ グループ研究開発本部

                                                                      D.M. です。 AI 搭載で話題の IDE である Cursor について、 GitHub Copilot と比べた場合の利点を掘り下げてみます。 結論ファースト ・現段階では一長一短。Cursor にしかない機能もあれば、 GitHub Copilotにしかない機能もある。 → 特に Cursor の Docs は独自機能(GitHub Cipolotにはない) ・両方併用できる。 ・Cursor のAI自動プログラミングスキルは既存の「GPT-4」と同等(ただ、モデルを変更できる) 簡単な単発バッチ処理は高速で実装できる。 複雑化すると100点は難しい。 現段階では、AIに全部書かせるのではなく、補助ツールとしてとらえるほうが効果的。 導入編:Cursorとは AI がプログラミングしてくれる時代 2022年11月にChatGPTが発表されて以降、 LLM は簡単なプログラミングが可

                                                                      • zzzeek : Patterns Implemented by SQLAlchemy

                                                                        Mike Bayer is the creator of many open source programming libraries for the Python Programming Language, including SQLAlchemy, Alembic Migrations, Mako Templates for Python, and Dogpile Caching. Dilly and Posy were dedicated members of the team. Dilly and Posy were best of friends, and after a few years in different worlds are together again. We will always love and miss you Dilly and Posy! Catego

                                                                        • July 2025 (version 1.103)

                                                                          Join a VS Code Dev Days event near you to learn about AI-assisted development in VS Code. Release date: August 7, 2025 Update 1.103.1: The update adds GPT-5 prompt improvements, support for GPT-5 mini, and addresses these issues. Update 1.103.2: The update addresses these issues. Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap Welcome to the July 2025

                                                                            July 2025 (version 1.103)
                                                                          • Rust 1.53を早めに深掘り - OPTiM TECH BLOG

                                                                            こんにちは、R&Dチームの齋藤(@aznhe21)です。 今日はオプティムの創立記念パーティーがオンラインで行われます。 オプティムは2000/6/8に設立され、去年は20周年の節目であったにも関わらず生憎の時制で大きく祝えませんでしたが、 今年は準備も万全、盛大にお祝いしたいと思います。 さて、本日、日本時間6/18(金)、Rust 1.53がリリースされました。 この記事ではRust 1.53での変更点を詳しく紹介します。 6/18は京大の前身・京都帝国大学創立の日 ピックアップ 識別子にASCII以外の文字も使えるようになった ORパターンが使えるようになった 配列にIntoIteratorが実装された 安定化されたAPIのドキュメント AtomicBool::fetch_update サンプル AtomicPtr::fetch_update サンプル BTreeMap::retai

                                                                              Rust 1.53を早めに深掘り - OPTiM TECH BLOG
                                                                            • Announcing TypeScript 5.2 Beta - TypeScript

                                                                              Today we are excited to announce the availability of TypeScript 5.2 Beta. To get started using the beta, you can get it through NuGet, or through npm with the following command: npm install -D typescript@beta Here’s a quick list of what’s new in TypeScript 5.2! using Declarations and Explicit Resource Management Decorator Metadata Named and Anonymous Tuple Elements Easier Method Usage for Unions o

                                                                                Announcing TypeScript 5.2 Beta - TypeScript
                                                                              • prompts.chat

                                                                                Welcome to the “Awesome ChatGPT Prompts” repository! While this collection was originally created for ChatGPT, these prompts work great with other AI models like Claude, Gemini, Hugging Face Chat, Llama, Mistral, and more. ChatGPT is a web interface created by OpenAI that provides access to their GPT (Generative Pre-trained Transformer) language models. The underlying models, like GPT-4o and GPT-o

                                                                                • Transformer models: an introduction and catalog — 2023 Edition

                                                                                  Transformer models: an introduction and catalog — 2023 Edition January 16, 2023 52 minute read This post is now an ArXiV paper that you can print and cite. Update 05/2023 Another pretty large update after 4 months. I was invited to submit the article to a journal, so I decided to enlist some help from some LinkedIn colleages and completely revamp it. First off, we added a whole lot of new models,

                                                                                    Transformer models: an introduction and catalog — 2023 Edition