並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 440件

新着順 人気順

mutexの検索結果201 - 240 件 / 440件

  • 【WebAssembly】ブラウザ上で動作するポーカーソルバーを開発した話

    初投稿です。数あるポーカーの変種の中で世界的に最もポピュラーなものと言ってよいテキサスホールデムにおける、数学的に最適な戦略を解くソルバーを趣味で開発したので、その技術的な部分を備忘録を兼ねて投稿してみます。非常にニッチなアプリケーションではありますが、刺さる方には刺さるんじゃないかなと期待しています。 開発したものはWebアプリケーションとなっているので、以下のリンクから試すことができます (モバイル端末向けにはデザインされていないのでご注意ください): GitHubのレポジトリはこちらです: そもそもポーカーのソルバーとは何ぞや さて、いきなり「テキサスホールデムのソルバーを作りました」と言われても多くの方にはピンと来ないと思いますので、そもそもテキサスホールデムとはどういうゲームなのか、またそのソルバーとは何なのかについてまずは軽く紹介することにしましょう。 テキサスホールデムのルー

      【WebAssembly】ブラウザ上で動作するポーカーソルバーを開発した話
    • Understanding the Heap - a beautiful mess

      In this blog, I am going to explain the important concepts of Heap and use the ptmalloc in the Glibc 2.31 library as an example. The heap is a beautiful mess :) I really like the saying shown above. The word Heap we always use refers to the dynamically allocated segment in the virtual memory space of a process, but it actually stands for the implementation of the memory pool(the dynamic memory all

      • Rustで安全にスレッド間共有変数を利用できることのありがたみと実装例 - Qiita

        概要 本記事では、Rustにおいてスレッド間で変数を共有し読み書きする方法を説明したうえで、それがコンパイラにより安全に行われ、データ競合(data race)が起こらないことが保証されていることを説明します。 また、その安全性の点で特にC++と比較して優れており、業務アプリケーションや個人開発においても安心してマルチスレッドプログラミングができるという個人的感想も共有します。 そして最後にスレッド間で変数を共有して読み書きを行うことを活用する実装例として、メモ化と並列処理を組み合わせて実行時パフォーマンスを大幅に改善するコードを示します。 ※本記事のコード例ではエラーハンドリングの実装は省略してunwrapで済ませています。threadやMutexなどの適切なエラーハンドリングのやり方についてはいつか別記事で扱いたいと思います。 読み込み専用の変数をスレッド間で共有する テーブル参照用の

          Rustで安全にスレッド間共有変数を利用できることのありがたみと実装例 - Qiita
        • The State of Async Rust: Runtimes | corrode Rust Consulting

          Recently, I found myself returning to a compelling series of blog posts titled Zero-cost futures in Rust by Aaron Turon about what would become the foundation of Rust's async ecosystem and the Tokio runtime. This series stands as a cornerstone in writings about Rust. People like Aaron are the reason why I wanted to be part of the Rust community in the first place. While 2016 evokes nostalgic memor

            The State of Async Rust: Runtimes | corrode Rust Consulting
          • sync.Mutexの仕組みを理解する

            Go Conference 2023 https://gocon.jp/2023/sessions/A14-S/

              sync.Mutexの仕組みを理解する
            • Vegetaライブラリを使ってGoでちょっとこだわった負荷試験シナリオを作る - RareJob Tech Blog

              こんにちは!プラットフォームチームの池田です。2回目の投稿になります。 元々ハンバーガーが好きで社内でもそれで自分を売り出していたのですが、つい最近とんでもない対抗馬と出会ってしまいました。そう、バインミーです(今更?)。 時代と文化が生んだ奇跡。私はハマってしまいました。バインミータベタイ 閑話休題、直近で負荷試験を実施する機会があり、それに関するトピックを紹介します。 はじめに 私が所属するチーム(プラットフォームチーム)ではGo言語をメインに開発していることもあり、負荷試験においてもGoでカスタマイズできるツールを探していました。特に気になったのがGo言語で開発されているOSSのVegetaのライブラリでの利用方法でして、今回試してみました。 Vegetaライブラリを使った動的なテストシナリオの方法を紹介した記事はあまり見受けられず、ベストな選択肢では無いと承知しながらも、この記

                Vegetaライブラリを使ってGoでちょっとこだわった負荷試験シナリオを作る - RareJob Tech Blog
              • 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

                • Go 1.14 リリースノート 日本語訳 - Qiita

                  この記事は https://golang.org/doc/go1.14 を日本語訳したものです. 前のバージョンはこちら: Go 1.13 リリースノート 日本語訳. 次のバージョンはこちら: Go 1.15 リリースノート 日本語訳. Go 1.14 の紹介 最新の Go リリース、バージョン 1.14 は、Go 1.13 から6か月後に届きます. その変更点のほとんどは、ツールチェーン、ランタイム、およびライブラリの実装になります. いつものように、このリリースは Go 1 の互換性の約束を守っています. 私たちは、ほとんどすべての Go プログラムが以前と同じようにコンパイルし実行し続けれると予想しています. go コマンドのモジュールサポートを本番で使用する準備ができましたので、すべてのユーザが依存性管理のために Go モジュールに移行することをおすすめします. もし Go のツー

                    Go 1.14 リリースノート 日本語訳 - Qiita
                  • Announcing .NET 6 Preview 1 - .NET Blog

                    Join us on September 18th as we dive deep into building world-class cloud native applications with .NET and Azure. Update: .NET 6 has shipped. Today, we are happy to deliver the first preview of .NET 6 and share what you can expect from the new release. We have been defining the overall shape of the release for the last few months, including a large set of new experiences and capabilities. The hea

                      Announcing .NET 6 Preview 1 - .NET Blog
                    • Rust with Fearless Concurrency | κeenのHappy Hacκing Blog

                      # Rust with Fearless Concurrency ---------------------- === # About Me --------- ![κeenのアイコン](/images/kappa2_vest.png) * κeen * [@blackenedgold](https://twitter.com/blackenedgold) * GitHub: [KeenS](https://github.com/KeenS) * GitLab: [blackenedgold](https://gitlab.com/blackenedgold) * [Idein Inc.](https://idein.jp/)のエンジニア * Lisp, ML, Rust, Shell Scriptあたりを書きます === # Rust with Fearless Concurrency

                      • Using TLA+ in the Real World to Understand a Glibc Bug

                        Using TLA+ in the Real World to Understand a Glibc Bug by Malte Skarupke TLA+ is a formal specification language that you can use to verify programs. It’s different from other formal verification systems in that it’s very pragmatic. Instead of writing proofs, it works using the simple method of running all possible executions of a program. You can write assertions and if they’re not true for any p

                          Using TLA+ in the Real World to Understand a Glibc Bug
                        • An Introduction to Asynchronous Programming in Rust and a High-level Overview of Tokio's Architecture

                          An Introduction to Asynchronous Programming in Rust and a High-level Overview of Tokio's Architecture Asynchronous programming allows the development of services that can handle millions of requests without saturating memory and CPU utilization. Support for asynchrony is usually baked into the programming language; we take a look at async support in Rust, a type-safe and memory-safe systems progra

                            An Introduction to Asynchronous Programming in Rust and a High-level Overview of Tokio's Architecture
                          • 初めてのPerformance Insights入門 – その3 | Amazon Web Services

                            Amazon Web Services ブログ 初めてのPerformance Insights入門 – その3 テクニカルソリューションアーキテクトの笹川です。 前回は初めてのPerformance Insights入門 – その2 と題してPerformance Insightsと拡張モニタリングを使ってデータベースのパフォーマンスチューニングを行ってみました。パフォーマンスチューニングをする際に何を手がかりにどう確認していくのか、少しでもイメージを掴んで頂けていたら幸いです。今回も引き続き、色々なシナリオを検討しながらPerformance Insightsを使ってパフォーマンスチューニングを行ってみたいと思います。 検証環境と注意事項 本記事では下記の環境で検証を行なっていきます。 RDS MySQL8.0.23 db.m3.medium (1vCPU, メモリ3.75GiB) プ

                              初めてのPerformance Insights入門 – その3 | Amazon Web Services
                            • Go 1.18 Release Notes - The Go Programming Language

                              Introduction to Go 1.18 The latest Go release, version 1.18, is a significant release, including changes to the language, implementation of the toolchain, runtime, and libraries. Go 1.18 arrives seven months after Go 1.17. As always, the release maintains the Go 1 promise of compatibility. We expect almost all Go programs to continue to compile and run as before. Changes to the language Generics G

                                Go 1.18 Release Notes - The Go Programming Language
                              • An unlikely database migration

                                WireGuard is a registered trademark of Jason A. Donenfeld. Brad joins a startup When I first joined Tailscale almost a year ago, one of the first things I asked Crawshaw was, “So, what database do you use? MySQL, PostgreSQL, SQLite maybe?”, knowing that he loved SQLite. “A text file," he replied. “Huh?” “Yeah, we write out one big JSON object to a text file.” “How? When? What?” “Yeah, whenever som

                                  An unlikely database migration
                                • それでも僕はGoで最速のJSONデコーダーを作りたかった

                                  はじめに こんにちは。Sugawara Yuutaです。前回"Go言語で最速のJSONデコーダーを作った話"という記事を投稿したものです。もし前回の記事をまだご覧になっていない方は経緯を説明しやすくなると思いますのでしたから一緒に読んでいただけると幸いです。 その後 その後go-jsonの著者であるgoccyさんからissueをいただきました。内容は自分でベンチマークを行ったところREADMEで紹介してあったほどのパフォーマンスが出なかったというものでした。goccyさんは比較的小さいJSONでベンチマークを取ったようでしたので、自分でも行ってみると予想していたよりもはるかに遅い結果が出てしまいました。おそらく大きめのJSONファイルのデコードしかベンチマークしていなかったことが裏目に出たものだと思いますが、それでも差は大きいものでした。 ということで今回は、反省を踏まえて改良を重ねてきた

                                    それでも僕はGoで最速のJSONデコーダーを作りたかった
                                  • How CRDTs make multiplayer text editing part of Zed's DNA - Zed Blog

                                    Programmers spend countless hours interacting with one fundamental tool: their text editor. Before you commit, push, or ship a single line of code, you must first put your hands on the keyboard and type it into the machine. No tool has a bigger impact on the visceral and tactile experience of creating software. Yet despite the critical role that editors play in my life as a programmer, I have neve

                                      How CRDTs make multiplayer text editing part of Zed's DNA - Zed Blog
                                    • Rustで気軽にWebSocketサーバを作ったら意外と大変だった件 - クソ雑魚エンジニアのメモ帳

                                      概要 この記事はRustその2 Advent Calendar 2019の16日目です。17日に若干時間はみ出ていますが気にせずいきましょう() 誰? Rustは今年の夏ぐらいから興味持ってちょこちょこやってる morifuji です。actix-webちょこっと触ったりとかスクレイピングで遊んだりぐらいしかないです。実務未経験の初心者です。(下記のスライドはこの前のLTで発表した内容です) speakerdeck.com やりたいこと ブラウザーのgetDisplay というAPIを最近ちょこちょこ見て、WebRTCと組み合わせたらオモシロソウダナーと思ったので、Rustで気軽にWebSocketサーバを作ってみようかと思ったのでした。 NodejsのSocket.ioがとても有名ですが、Rustにも ws-rsというライブラリがあったので勉強がてらに使ってみました。 やりたいこととし

                                        Rustで気軽にWebSocketサーバを作ったら意外と大変だった件 - クソ雑魚エンジニアのメモ帳
                                      • サーバー入門、非同期処理入門、epoll 入門

                                        この記事は sadnessOjisan Advent Calendar 2021 20 日目の記事です。書かれた日付は 1/13 です。 フロントエンドエンジニアとして JS を JS のレイヤーでしか扱ったことがなかった僕が NodeJS の非同期ランタイムを調べていたときについでで epoll を勉強したときのメモをまとめたものです。 コンピュータサイエンスの専門的な教育を受けたわけでもないし、趣味でしか勉強したことがない範囲なので、もしかしたら間違いがあるかもしれません。 そのため間違いを発見しましたらご指摘してくれると助かります。(https://github.com/sadnessOjisan/blog.ojisan.io に PR/Issue を投げてくれると一番助かります。) 参考にしたもの ふつうの Linux プログラミング 第 2 版  Linux の仕組みから学べる

                                          サーバー入門、非同期処理入門、epoll 入門
                                        • .NET CoreとGtkSharpでGUIアプリを作ってみる[GUI作成] - 常陸国の電算オタク

                                          .NET Coreですが、せっかくクロスプラットフォームなのにGUIが無い…orz …というわけでGtkSharpを使って.NET CoreでGUIアプリを作ってみます。 なお、.NET Coreでは、C#とF#、VBが扱えますが、本記事ではC#を使います。 GtkSharpって? C言語用のGUIツールキットGTK+をC#から使えるようにしたC#ライブラリです。Monoという、クロスプラットフォームな.NET Framework互換環境でGUIツールキットとして利用されてきました。今回使うのは.NET Coreへ対応させたフォークプロジェクト( NuGetのページ)のものであり、.NET Standard 2.0 を満たす.NET実装から利用できるようで、.NET Core >= 2.0 から利用できるということになります。 Linuxでは一部のGnomeアプリなど(BansheeやGn

                                            .NET CoreとGtkSharpでGUIアプリを作ってみる[GUI作成] - 常陸国の電算オタク
                                          • research!rsc: Updating the Go Memory Model (Memory Models, Part 3)

                                            The current Go language memory model was written in 2009, with minor updates since. It is clear that there are at least a few details that we should add to the current memory model, among them an explicit endorsement of race detectors and a clear statement of how the APIs in sync/atomic synchronize programs. This post restates Go’s overall philosophy and the current memory model and then outlines

                                            • A Closer Look at Go’s sync Package

                                              This is not an analogy for the sync package quality :)Let’s take a look at the Go package in charge to provide synchronization primitives: sync. sync.Mutexsync.Mutex is probably the most widely used primitive of the sync package. It allows a mutual exclusion on a shared resource (no simultaneous access): It must be pointed out that a sync.Mutex cannot be copied (just like all the other primitives

                                                A Closer Look at Go’s sync Package
                                              • Ruby PStoreの実用的な使いみち(翻訳)|TechRacho by BPS株式会社

                                                概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Practical use of Ruby PStore | Arkency Blog 原文公開日: 2020/04/28 著者: Paweł Pacana サイト: arkency この数週間、arkencyブログでいくつもの改善を進めてきました。そのひとつがブログ記事のソースコード公開です。私たちの結論は、記事をオープンにすることでフィードバックループを短縮でき、ブログの読者が以下のように内容を改善できるようになるというものでした。 PR: Fix typo in README by szemek · Pull Request #1 · arkency/posts PR: Edit "Remote collaborative modeling" by tomdalling · Pull Request #2 · arkency

                                                  Ruby PStoreの実用的な使いみち(翻訳)|TechRacho by BPS株式会社
                                                • #golang は大規模環境向けか?

                                                  この記事は2021年5月頃に Scraps で書きなぐった記事をいちから書き直したものである。 Scraps の記事は既に非公開(アーカイブ)化している。 4,5月頃のこの手の記事(ポエム)は季節の風物詩みたいなもので,夏休み真っ盛りに書くには季節外れかもしれないが, Twitter でエゴサーチしてて「ひょっとしてブログ記事として纒めておいたほうがええかしらん」と思ったので,今更ながら書いておく。 起点となる tweet は以下: ちなみに表題の問いに対しては yes とも no とも言えない。リアルで問われても,おそらくは「時と場合による」としか答えられない。ソフトウェアというのは基本的に「一品もの」で,一般論で大雑把な話はできても,詳細を掘っていくほど難しくなる。プログラミング言語の選定はその最たるもので,結局は手持ちのソフトウェア資産と動員できるエンジニアのスキルで決定することが多

                                                    #golang は大規模環境向けか?
                                                  • Async/Await | Writing an OS in Rust

                                                    In this post, we explore cooperative multitasking and the async/await feature of Rust. We take a detailed look at how async/await works in Rust, including the design of the Future trait, the state machine transformation, and pinning. We then add basic support for async/await to our kernel by creating an asynchronous keyboard task and a basic executor. This blog is openly developed on GitHub. If yo

                                                    • Darker Corners of Go – Rytis Biel

                                                      Note: this article is available as an ebook and as a printed book for easier reading Introduction What is this? When I was first learning Go, I already knew several other programming languages. But after reading an introductory book and the language specification I felt like I really didn’t know enough about Go to use it for real world work. I felt I’d probably need to fall into many traps before

                                                        Darker Corners of Go – Rytis Biel
                                                      • moqを使ったGoのテスト

                                                        はじめに 本記事では matryer/moq というモックライブラリを利用したGoのテストのプラクティスについて紹介します。 moqはモック(狭義にはスパイ)・スタブの機能を持っており、その扱い方は非常にシンプルで直感的に扱えます。 その使い勝手に良さについて個人的にかなり気に入っており、実際にプロダクトのテストコードに利用しています。 一方で、moqはシンプルでユーティリティ的な側面が強いため、使い方を誤ると逆に管理しにくいテストコードになってしまいます。 本記事では『単体テストの考え方/使い方』という書籍を参考にしつつ、モック・スタブとしての役割に注意してmoqの使い方を提案してみます。 前提 いわゆるGoらしさの追求はこだわらない方針とします。具体的には、テーブル駆動は一旦忘れ、stretchr/testify を積極的に使うこととします。応用すればそうしないパターンでもいい感じに書

                                                          moqを使ったGoのテスト
                                                        • 📕 Rust Atomics and Locksを読んだ感想 | Happy developing

                                                          Rust Atomics and Locks 著者: Mara Bos 楽しみにしていたRust Atomics and Locksを読んだので感想を書いていきます。 Kindle版の 2022-12-14 First Releaseを読みました。 まとめ非常におもしろく是非おすすめしたい本です。 なんといっても、一冊まるごとAtomicとLockについて書かれておりstd::sync::atomic::Orderingがわからない自分のために書かれたのではと錯覚してしまうほどに刺さりました。 また、説明の後には必ず具体例をつけてくれるので理解を確かめられながら読み進められる点もうれしいです。 特に以下のような方におすすめしたいです。(全て自分のことなのですが) atomic api(AtomicI32::{compare_exchange,load,...})を使う際のOrdering(

                                                            📕 Rust Atomics and Locksを読んだ感想 | Happy developing
                                                          • LKML: Miguel Ojeda: [PATCH 00/19] Rust support

                                                            Rust support This is the patch series (v2) to add support for Rust as a second language to the Linux kernel. If you are interested in following this effort, please join us in the mailing list at: rust-for-linux@vger.kernel.org and take a look at the project itself at: https://github.com/Rust-for-Linux As usual, special thanks go to ISRG (Internet Security Research Group) and Google for their finan

                                                            • 【Goのやさしい記事】goroutineと排他制御を10分で入門しよう! - Qiita

                                                              はじめに この記事ではgoroutineおよび関連性の高いsyncパッケージの基本知識や使い方をまとめます。 Goの基本的な文法はざっと触れたが、「goroutine」、「WaitGroup」、「channel」、「Mutex」などの言葉を聞いて全く心配ないとは言い切れない人向けの記事です。 残念ながら、メモリやCPU、プロセスなどのOSに近いところまでは踏み入れません。 goroutineは簡単だとよく聞きますが、そもそも並行処理そのものが難しいので1つずつ理解してきましょう! 本記事での動作確認環境は以下です。 Goでの並行処理 ネットワーク通信などで待ち時間の大きい処理を非同期に行いたい、直列で動作させる必要がない処理群を高速に終わらせたいなどを理由に並行処理を使うことが多いと思います。 Goではgoroutineと呼ばれる軽量スレッドを簡単に動かせます。 なぜ「軽量」か メモリ消費

                                                                【Goのやさしい記事】goroutineと排他制御を10分で入門しよう! - Qiita
                                                              • The Rust Programming Language: 2018 Edition

                                                                Last Commit Date of Markdown Sources: Tue Oct 25 10:20:24 2022 +0000 i The Rust Programming Language 日本語版 著:Steve Klabnik、Carol Nichols、貢献:Rust コミュニティ このテキストのこの版では Rust 1.58(2022 年 1 月 13 日リリース)かそれ以降が使われているこ とを前提にしています。Rust をインストールしたりアップデートしたりするには第 1 章の「インス トール」節を読んでください。 HTML 版は https://doc.rust-lang.org/stable/book/で公開されています。オフラインのときは、 rustup でインストールした Rust を使って rustup docs --book で開けます。 訳注:日本語の

                                                                • Rustの非同期プログラミングの個人的まとめ 2022年版 - Qiita

                                                                  この記事はWano Group Advent Calendar2022 16日目の記事です。 今回はRustの非同期プログラミング(スレッドやasync)周りで私が知っている事を2022年版としてまとめようと思います。 Rustのバージョンは記事執筆時点で最新の1.65.0を想定しています。 普通のスレッドで非同期処理をする時のあれこれ まずはOSにお願いして作ってもらう普通のスレッドについてです。 スレッドの作り方 Rustは標準ライブラリ(std)にスレッドを取り扱う為のAPI(std::thread)があります。 fn main() { let handle = std::thread::spawn(|| { println!("Hello Thread!"); "🍣".to_string() + "🍺" }); let s = handle.join().unwrap(); p

                                                                    Rustの非同期プログラミングの個人的まとめ 2022年版 - Qiita
                                                                  • Python behind the scenes #13: the GIL and its effects on Python multithreading

                                                                    As you probably know, the GIL stands for the Global Interpreter Lock, and its job is to make the CPython interpreter thread-safe. The GIL allows only one OS thread to execute Python bytecode at any given time, and the consequence of this is that it's not possible to speed up CPU-intensive Python code by distributing the work among multiple threads. This is, however, not the only negative effect of

                                                                    • 【PHPでDDD】ドメイン駆動設計と上手く付き合う方法

                                                                      私は小規模な会社の代表を務めながら現場でコードも書くフルスタックエンジニアです。 今回の記事では、会社経営や現場の両方から見たDDDと上手く付き合う方法の一つを紹介したいと思います。 あくまでも弊社で決定している開発方針になりますので、「推奨する」方法ではありません。この記事は一例に過ぎませんが、皆さんの参考になればと思います。 DDDの導入を拒む企業が多い理由 DDDの導入に否定的な企業が多いと感じます。その理由をざっくり上げてみます。 人材の教育が大変 開発のオーバーヘッドが大きい コストがかかる(インフラ、勉強、時間などのコスト) 導入のメリットがイマイチわからない ざっくりではございますが、こんな感じでしょうか。 DDDを商業プロジェクトに導入するまでの道のりは確かに長いです。また、データを軸に設計していた開発者に、ドメインを中心に設計する方法に慣れてもらう必要があり、手間がかかる

                                                                        【PHPでDDD】ドメイン駆動設計と上手く付き合う方法
                                                                      • Go 言語が生成するバイナリについて

                                                                        Go 言語で実装されたツールを運用したり解析する側の視点から、Go 言語が生成するバイナリについて気になることを調べた。 $ cat /etc/os-release NAME="Amazon Linux" VERSION="2023" $ go version go version go1.20.6 linux/amd64 シングルバイナリ基本的に Go 言語では、コンパイルするとシングルバイナリが生成される。たとえば次のようなファイルを用意し、 package main import "fmt" func main() { fmt.Println("hello world") } ビルドすると、次のようにスタティックリンクされたバイナリが生成される。 $ go build main.go $ file main main: ELF 64-bit LSB executable, x86-6

                                                                          Go 言語が生成するバイナリについて
                                                                        • Release SDK 1.5.0 · raspberrypi/pico-sdk

                                                                          This release contains new libraries and functionality, along with numerous bug fixes and documentation improvements. Highlights are listed below, or you can see the full list of individual commits here, and the full list of resolved issues here. Note, these release notes are long and may appear truncated in the "Releases" tab; you can see the full version here. New Board Support The following boar

                                                                            Release SDK 1.5.0 · raspberrypi/pico-sdk
                                                                          • プログラミングC# 第8版

                                                                            C#を体系的に網羅したC#プログラマのバイブルが、C# 8.0に合わせて全面改訂。言語仕様からクラウドも考慮したWebアプリ開発、デスクトップアプリ構築まで、C# 8.0の基本から高度なテクニックまでを詳しく紹介します。C# 8.0では、パターンマッチング、範囲構文、非同期メソッドの大幅拡張、null許容参照をはじめさまざまな新機能の追加と改善がされています。本書はこうした新機能もしっかりとフォロー。詳細な説明と、豊富なサンプルコードを用意し、初心者はもちろん中上級者の要望にも応える一冊です。 目次 はじめに 1章 C#の基礎 1.1 なぜC#なのか 1.2 C#の主な特徴 1.2.1 マネージコードとCLR 1.2.2 専用よりも汎用を 1.3 C#標準と実装 1.3.1 多数のMicrosoft .NET(一時的なものとして) 1.3.2 .NET Standardによる複数の.NET

                                                                              プログラミングC# 第8版
                                                                            • Explicit Resource Management: Exploring JavaScript's and TypeScript's new feature | iliazeus

                                                                              Explicit Resource Management: Exploring JavaScript's and TypeScript's new feature 2023-11-13 en CC BY-SA 4.0 read in russian One of my favorite new features of JavaScript and TypeScript is explicit resource management. It brings new syntax, using foobar = ..., that enables RAII, reducing boilerplate when managing the lifecycle of various resources. In this article, I will explore this feature as i

                                                                              • iOSエンジニアの祭典「iOSDC Japan 2024」カンファレンスレポート | gihyo.jp

                                                                                iOSDC Japan 2024とは? iOSDC Japanは、iOS関連技術をコアのテーマとしたソフトウェア技術者のためのカンファレンスです。日本中、世界中から公募した知的好奇心を刺激するトークの他にも、パンフレットに掲載された技術記事、自分のペースでゆっくり参加できるポスターセッションがあります。さらに気持ちを盛り上げるネイルアートやフェイスペインティング、オープニングパーティ&懇親会など、初心者から上級者まで楽しめる盛りだくさんのコンテンツが用意されています。 今回で第9回目となるiOSDC Japan 2024は、2024年8月22日(木)〜8月24日(土)の3日間、東京・早稲田大学理工学部 西早稲田キャンパスにて開催されました。 今回のレポートでは昨年初めてオフラインでの参加、今年初めて当日スタッフとしても参加した私が、iOSDC Japan 2024のコンテンツについていくつ

                                                                                  iOSエンジニアの祭典「iOSDC Japan 2024」カンファレンスレポート | gihyo.jp
                                                                                • Porting Zelda Classic to the Web

                                                                                  April 29, 2022 Nov 27, 2023: Much has changed since this article was published. I've become far more involved with ZC development; the name of the program is now ZQuest Classic; our website is zquestclassic.com; and the web version discussed in this article is now hosted at web.zquestclassic.com I ported Zelda Classic (a game engine based on the original Zelda) to the web. You can play it here–gra