The WebAssembly (Wasm) ecosystem is transforming. Developers can look forward to a modular, virtualizable, and robust environment for building applications, libraries, and services. We are excited to be working towards this with implementations for WASI-Preview 2. This roadmap reflects changes occurring in standards within the WebAssembly Community Group (CG) and the WASI Subgroup within the W3C.
Bounties Damage Open Source ProjectsAuthors: Andrew Kelley and Loris Cro Please don’t use bounties to incentivize Zig development. This blog post is inspired by this GitHub issue from three days ago: Support WASIX (see also) Here are some reasons why we believe bounties are a poor form of sponsorship when it comes to software development: Bounties foster competition at the expense of cooperation.B
Zig has a built-in build system for building projects. It runs on every platform Zig supports and is capable of building everything from simple executables and libraries to complex, multi-artifact, multi-step projects. This page will dive into how the internals of the Zig build system works. Build systems are an extremely important detail of any software project. When they work, they can feel like
This is the text format of a talk I did for Zig Showtime. If you'd rather watch the video, you can find it on YouTube: Zig Showtime: Ghostty. The video also includes a Q&A session at the end which I did not include in this post. Hello! I'm excited to talk today about Ghostty. Ghostty is a brand new terminal emulator written from scratch in Zig. Note: at the time of writing this, Ghostty is still n
DIGGLE株式会社でエンジニアリングマネージャーをしている岡崎と申します。普段はエンジニアチーム全体のマネジメントを担いつつ、開発業務も行っています。DIGGLEは予実管理クラウドサービス「DIGGLE(ディグル)」を提供するスタートアップであり、「RubyKaigi 2023」のスポンサーを担うなどテクノロジーやそのコミュニティへの投資を積極的に行っています。本記事ではDIGGLEのエンジニアチームが、どのように技術的負債解消を行っているかについてご紹介します。 工数の何%を負債解消に充てるかを四半期ごとに経営と合意する技術的負債解消は、エンジニアチーム単体でやり切るにも限界があり、経営陣の理解を得ることが重要です。弊社はCTOが共同創業者であるため、エンジニアの意見が経営陣へダイレクトに届き、経営陣の技術に対する理解度が非常に高いのが特徴となっています。CTOから技術的負債がビジネス
(2009.3.5 テストデータについてちょっと追記) Working Effectively with Legacy Codeを読んでいます。前半、テストの意義とか概念の紹介(test harness, seamなど)はすばらしい。後半の、個別の状況への対策も、整理されていてありがたいです。自分でも使っているおなじみの手法もあれば、目ウロコなこともある。 でも、こういう↓章があったらよかったなあ。 「テストを書きたいけれどプログラムが巨大なSQLの固まりだ」 いま仕事をしている保守プロジェクトが、そういう状況なわけです。もうすこし整理すると、 テーブル数が多く(100以上)、重複した項目も多い(非正規化) ひとつの処理をするのにだいたい、最低5つ以上(10を超えるものも多い)のテーブルを扱っている(参照ならJOINやUNION、更新ならそれぞれにUPDATE/INSERT) 処理を走らせ
はじめに 弊社ではScalaを本番環境に導入して大体1年になる。 導入以前に社内的にScalaに関する知識はゼロだった。 Scalaという言語は巷では色々言われているが愛好者とそれ以外の壁が非常に大きな言語のように思える。 ここはコミュニティの努力によって埋められようとしているが、他の言語に比べてまだまだなのが現状である。 弊社でのScala導入経験に関する情報がその壁を取り払う一助になることを祈る。 導入経緯 Railsの運用コスト もともとはプロダクトのバックエンドはRailsで書いていた。 Railsは非常に高速にプロダクトを開発できるのだが、長期的に見るとその高速性よりも運用困難性、堅牢性の欠如が目立つようになってきた。 MVCアーキテクチャは複雑なプロダクトを構成するのにはシンプルすぎた。 特にRailsの中核をなすアクティブレコードモデルのせいで問題の分割が難しかった。 じゃあ
Remix v2 We're so excited to release Remix v2 to you and we really hope this upgrade is one of the smoothest framework upgrades you've ever experienced! That was our primary goal with v2 - something we aimed to achieve through a heavy use of deprecation warnings and Future Flags in Remix v1. If you are on the latest 1.x version and you've enabled all future flags and addressed all console warnings
事前知識編 システム開発するプログラマも読んでおいたほうがいい資料とか。 今時のシステムならまず仕様や運用に反映される。されてなかったらむしろこっちから確認取りに行った方がいい。 JOGAガイドライン 昔ガチャとかが問題になったときに出てきた協会のガイドライン。 オンラインゲーム安心安全宣言 オンラインゲームにおけるビジネスモデルの企画設計および運用ガイドライン ランダム型アイテム提供方式を利用したアイテム販売における表示および運営ガイドライン オンラインゲームガイドライン 開発環境編 GitHubみたいなPullRequestを出せる環境 GitだけじゃなくてGitHub。必然的に規模が大きくなるのでプルリク出して進めることになります。 CIまで設定をする 最初のうちにCircleCIのようなテストの自動実行する仕組みまで揃えてしまっておいたほうが良いです。後からだとそもそも対応できなく
ヤフー株式会社より出向しております、卯田と申します。 主務で、一休.comおよびYahoo!トラベルのフロントエンド開発を担当しています。 兼務で、ヤフー株式会社の全社横断組織でWebパフォーマンス改善の推進を行っております。 本稿では、直近半年弱(2023年2月〜8月)で、断続的に行っていた一休.comのパフォーマンス改善について振り返ります。 開始が2023年2月となった理由は、Nuxt3バージョンアップ以降にパフォーマンス改善活動に着手したためです。 一休.com/Yahoo!トラベルのNuxt3バージョンアップ詳細については、以下のブログをご覧ください。 user-first.ikyu.co.jp サイトパフォーマンス改善の意義 改善の方針 方針1: Core Web Vitalsを改善する 方針2: 重要課題から優先的に対応する 改善の進め方 可視化 ブラウザサイド サーバーサイ
自分は、仕事でScalaを数年間・プライベートな経験を含めると10年弱のScalaの経験がある、そこそこの熟練Scalaエンジニアだ。チームにメンバーが入ってきたり他人に勧めるたびにScalaの環境構築を教えている一方、最新の知見を反映した記事が無くて他人に勧めづらかったので、自分が書くことにした。 現在ある記事 けっこう古びている 覚えながら書かれていることが多いのでやや曖昧な箇所がある(でもありがとう!) 最新のツールが利用できておらず無駄が多い 網羅的でない 今回目指す内容 最新の知見を活用して最短距離を目指す 何もない状況から一通りのツールが揃う所を目指す Scalaの環境構築は年を追うごとに簡単になってきているので、大多数の読者は引っかからずに進めるようになっているはず。 Scalaは基本的にJVMで動作する言語だ。このため環境構築にはJVMのセットアップも含まれるのだが、それに
世はまさに大サブスクリプション時代。この潮流の中で弊社スマートバンクもまた、去る2023年7月12日にB/43プラスというサブスクリプションサービスをリリースしました。 サブスクリプションといえばユーザーに提供されるコンテンツや機能といった直接的な価値に焦点が当たりがちですが、その土台にはサブスクリプションビジネスを成立させるための課金システムがあります。本記事では筆者が行った課金関連の開発を振り返ってみて重要だったポイントや工夫点を伝えてみたいと思います。 すでに世に多くのサブスクリプションサービスがある中で、課金システムの実装はコモディティ化した単純な作業に思えるかもしれません。しかしながら自社サービスにてゼロから実現するとなると、想像よりも多くの思考と意思決定が必要とされる、エンジニアリング観点ではとても奥深い題材といえます。いち開発プロジェクトのケーススタディ、あるいはいちプログラ
iPhone 15 の USB-C コネクタで充電および接続する USB-C は広く普及した USB 規格です。充電、データの同期、オーディオやビデオの再生に対応しています。iPhone 15 モデルは USB-C コネクタを搭載し、Mac、iPad、AirPods Pro (第 2 世代)、外付けストレージデバイス、ディスプレイなど、さまざまなデバイスを充電および接続できます。 iPhone を充電する USB Power Delivery などの USB-C 規格に準拠した USB-C ケーブルや電源アダプタ (iPhone の付属ケーブルなど) で、iPhone を充電できます。これらのケーブルと電源アダプタは、Apple や他社メーカーから多数販売されています。 iPhone の USB-C コネクタと、互換性のある USB-C 電源アダプタをケーブルで接続します。その後、電源アダ
※ それぞれ課金モデルが異なり、プランも複数存在するので比較が困難である。間違いや更新があった際にコメントをいただければ幸いです。 比較した所感 採用しても良いと思ったSaaS編 ・DevCycle(パフォーマンス、DX、UXが最も優れている) ・LaunchDarkly(インテグレーションの数、熟成度高いが料金も) ・ConfigCat(シンプル、安価) ・Statsig(料金体系が魅力的) メンテされているOSS編 セルフホストをする運用力の余裕がある企業なら、OSSも一つの選択肢。 Unleash(OSSの中で勢いが最もあるが、SaaS版は高い) FlagSmith(SaaS版は良心的な料金) Bucketter(弊社から公開されたばかりで期待のOSS) Flipt(シンプル・SaaS版はない) メンテされなくなったOSS編 両方OSSともCloudflare Workersを前提と
What's a Feature Flag?Feature flags are a software development technique that allows teams to enable, disable or change the behavior of certain features or code paths in a product or service, without modifying the source code. What's OpenFeature?OpenFeature is an open specification that provides a vendor-agnostic, community-driven API for feature flagging that works with your favorite feature flag
In PHP classes, it is possible to dynamically set and retrieve class properties that are not declared. These properties do not adhere to a specific (similar to typed properties), and it requires the use of __get() and __set() magic methods to effectively prevent or control how dynamic properties are set and retrieved. class User { private int $uid; } $user = new User(); $user->name = 'Foo'; In the
README.md TCP echo server for Node.js Usage Make sure you have a modern-ish version of Node.js installed. Type npx https://gist.github.com/kfox/1280c2f0ee8324067dba15300e0f2fd3 Connect to it from a client, e.g. netcat or similar: nc localhost 9000 echo.mjs ��&V @X�&V #!/usr/bin/env node import net from 'node:net' const port = process.argv[2] || 9000 const server = net.createServer((connection) =>
To get future blog posts directly in your email, you can now subscribe to Bluesky’s Developer Mailing List here. Adding Rate Limits Now that we have a better sense of user activity on the network, we’re adding some application rate limits. This helps us keep the network secure — for example, by limiting the number of requests a user or bot can make in a given time period, it prevents bad actors f
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く