並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 1143件

新着順 人気順

c++の検索結果281 - 320 件 / 1143件

  • 「Chromium開発に興味あるエンジニア探してます」ブラウザ開発の仕事ってどんな感じか聞いてみた

    テックカンパニーをテックカンパニーたらしめているものはなにか?技術か、人か、それともチームなのか。 連載「Technology Company Internals」では、テックカンパニーの内側で働くエンジニアに、技術に精通したエキスパートが対面で話を聞き、テックカンパニーとは何か?を探るだけでなく、テックカンパニーを目指す企業の指針となることを目指します。 様々なデバイス上で動くブラウザを開発するのが仕事です 白石: 本日はよろしくお願いします。自己紹介からお願いできますでしょうか? 梅田: 梅田と申します。株式会社ACCESSで、webブラウザ開発事業のマネージャーを担当しています。 白石: ブラウザ開発を生業にしている、ってすごいですよね。珍しいというか。 梅田: はい、日本だと唯一…かどうかはわかりませんが、相当珍しいと思います(笑) 白石: それで上場までされているというのもすごい

      「Chromium開発に興味あるエンジニア探してます」ブラウザ開発の仕事ってどんな感じか聞いてみた
    • Javaに革命を起こすGraalVM Native Image

      Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

        Javaに革命を起こすGraalVM Native Image
      • チャットAI「Alpaca」をローカルにインストールしてオフラインでAIと会話できる「Alpaca.cpp」インストール手順まとめ

        2023年3月に、スタンフォード大学がChatGPTと同等の性能を持ったチャットAIモデル「Alpaca」を公開しました。このAlpacaをPCにインストールしてチャットAIをローカルで動かせるようにする「Alpaca.cpp」が登場したので、実際にインストールしてチャットAIと会話する手順をまとめてみました。 GitHub - antimatter15/alpaca.cpp: Locally run an Instruction-Tuned Chat-Style LLM https://github.com/antimatter15/alpaca.cpp 「Alpaca.cpp」をインストールしてチャットAIと会話できる環境をWindows上に構築するには、まずC++のコンパイラや「CMake」「Git」などの各種ソフトウェアをインストールする必要があります。今回はC++のコンパイラを準

          チャットAI「Alpaca」をローカルにインストールしてオフラインでAIと会話できる「Alpaca.cpp」インストール手順まとめ
        • 競プロのための標準 C++

          ◆ 内容 競技プログラミングで使える C++ の主要な標準機能のサンプル付き解説を執筆しています。C++ のバージョンは AtCoder の gcc 12.2 に準拠した C++17 / 20 / 23 です。競技プログラミング固有のハックやスタイル(<bits/stdc++.h>, 大きな配列、using namespace std 等)の使用を避けているため、一般的な C++ ソフトウェア開発でも使える、また C++ 標準ライブラリの機能 (std:: から始まる) を意識したコーディングの練習ができます。 ◆ 対象読者 ・競プロ上達のために C++ 標準ライブラリを一通り学びたい方 ・コンテストで参照できる C++ ドキュメントを探している方 ・現時点ではとくに APG4b や市販入門書で C++ を学んだ人にとって有益な内容から書き始めています。将来的にはさらに幅広い内容を扱う計画

            競プロのための標準 C++
          • Introducing workerd: the Open Source Workers runtime

            Introducing workerd: the Open Source Workers runtime09/27/2022 Today I'm proud to introduce the first beta release of workerd, the JavaScript/Wasm runtime based on the same code that powers Cloudflare Workers. workerd is Open Source under the Apache License version 2.0. workerd shares most of its code with the runtime that powers Cloudflare Workers, but with some changes designed to make it more p

              Introducing workerd: the Open Source Workers runtime
            • bpftraceを使ってバイナリの謎の性能劣化を突き止めろ - Cybozu Inside Out | サイボウズエンジニアのブログ

              サイボウズ社内ではC++で開発している製品があります。 未知のバッファオーバーランなどの脆弱性への対策として、重要なコンポーネントについてはプロダクション環境で利用しているバイナリでも AddressSanitizer を有効にしてビルドしています。 その製品で利用しているコンパイラをgcc5.3.0からgcc7.5.0に更新したところ性能劣化が発生しました。 製品コードとは別の部分が原因のため、根本原因の追跡が難しそうです。perf,bpftraceを使って性能劣化を追いかけてみましょう。 本記事で利用しているAddressSanitizer, bpftrace, perfコマンドはネット上に良質な記事がありますので、使い方などの解説は今回は省略させていただきます。 gcc7.5.0において、性能劣化が発生する再現コードとして次のようなものを用意しました。 #include <strin

                bpftraceを使ってバイナリの謎の性能劣化を突き止めろ - Cybozu Inside Out | サイボウズエンジニアのブログ
              • C / C++ 言語のswitch文を最適化 (テーブルジャンプが使われるようにする) - 人生に疲れた男のblog

                先に概要を書くと caseの値は連番かつ昇順(上から小さい数で下に行くほど増えていく)となるように心がける。ある程度caseが多ければあとは勝手にコンパイラがテーブルジャンプ最適化を行う。 goto文やreturn文などでswitch文途中から抜けないようにする。あるとテーブルジャンプ最適化が行われない。 MSVC(Visual Studio)でコンパイルする場合、default:の箇所に__assume(0);と記述すれば上記二つを無視して強制的にテーブルジャンプ最適化が行われる。ただし、goto・return等でのswitch抜けがあるまま実行すると例外エラーが発生する。 追記:上記の__assume(0)はC++23から「std::unreachable()」で標準化 FM TOWNSエミュレータ「津軽」を弄っていて、どうもエミュレーターの実行速度が既にあるTOWNSエミュレータの「

                  C / C++ 言語のswitch文を最適化 (テーブルジャンプが使われるようにする) - 人生に疲れた男のblog
                • 好きで打ち込めることを探すこと――ちょまど氏のキャリアを形成した「オタ駆動開発」とは【Developers Boost 2019】

                  2019年11月30日、翔泳社主催の若手エンジニア向けカンファレンス「Developers Boost(デブスト)~U30エンジニアの登竜門~」が開催された。基調講演では、マイクロソフトのCloud Developer Advocateで「ちょまど」こと、千代田まどか氏が登壇。30歳以下(U30)の若手エンジニアに向け、「これが私の戦い方」をテーマに自身のキャリアを語り、若手エンジニアの成長と交流をブーストした。 マイクロソフト Cloud Developer Advocate 千代田まどか(ちょまど)氏 「推し」には時間・労力・お金を惜しまず、全力を注ぐ マイクロソフトでCloud Developer Advocate(クラウド デベロッパー アドボケイト)として、国内・海外で多数の講演をこなし、「Developers Summit 2017」ではベストスピーカー賞 総合第1位を獲得して

                    好きで打ち込めることを探すこと――ちょまど氏のキャリアを形成した「オタ駆動開発」とは【Developers Boost 2019】
                  • 競プロで役立つC++20新機能 - Qiita

                    はじめに 競プロのコーディングが快適になるC++20新機能をまとめました!! C++20の豊富な新機能から競プロで便利な機能を合計で16個紹介します. ※(2023/8/7追記) AtCoderでは2023年の言語アップデートにより、ほとんどの機能が使用可能となりました。新バージョンのgcc12.2では、紹介されている機能のうち <format> を除くすべての機能が使用可能です。 参考文献 https://cpprefjp.github.io/lang/cpp20.html https://en.cppreference.com/w/cpp/20 を参考にしました. cpprefjp以外をあまり見ていないので,間違っているところがあるかもしれません. 誤りに気づいたら指摘していただけると幸いです. 標準ライブラリの新機能 1. コンテナのメンバ関数の追加 1-1. 連想配列に conta

                      競プロで役立つC++20新機能 - Qiita
                    • 2024年の今、いかにしてVS2005を捨ててVS2015にする戦いは終わったか、そしてなぜCOMとの苦しい戦いが繰り広げられたか ~再入の悪魔~ - OPTiM TECH BLOG

                      概要 Optimal BizのWindows AgentはながらくVisual Studio 2005とVisual Studio 2015を併用してビルドする必要がありました。Visual Studio 2015化対応は2012年のVisual Studio 2012化対応からスタートしていましたが、対応範囲の大きさからモジュールごとにVisual Studio 2015化対応を行ってきました。そして2024年リリースのBiz 9.19.0にてVisual Studio 2015化対応は完了を迎えました。 しかし、埋め込まれたバグの修正にはCOMの理解が不可欠であったため、2020年代に突入した今になって私達はこれまで正面戦争を避けてきたCOMを0から学び直す必要がありました。そしてATLの不思議な挙動やSTAにおける再入との戦いを乗り越え、無事にリリースされました。 はじめに Opti

                        2024年の今、いかにしてVS2005を捨ててVS2015にする戦いは終わったか、そしてなぜCOMとの苦しい戦いが繰り広げられたか ~再入の悪魔~ - OPTiM TECH BLOG
                      • Announcing Flutter for Windows

                        Since we launched Flutter, we’ve focused on delivering a cross-platform solution for beautiful, tailored apps that are compiled to machine code and take full advantage of the underlying graphics hardware of your device. Today marks a significant expansion of this vision with the first production release of support for Windows as an app target, enabling Windows developers to benefit from the same p

                          Announcing Flutter for Windows
                        • 競プロ実装テクニック - よすぽの日記

                          これはなに 実装力で戦える! ~競プロにおける実装テクニック14選~ - Qiita に触発された 競技プログラミングでコーディングの際気を付けていること - うさぎ小屋 を強く参考にしている 効果が高い or 一般性がありそう なことから書いたつもり 重要なこと 「競プロのきれいなコードと業務のきれいなコードは違う」と定期的に唱える。未来の自分 or 他の人 が読む必要がないことを仮定できるため、様々なバッドノウハウ(業務)が正当化される。(あえて過激なことを書くと、)「using namespace stdを使わない」などは逆にバッドノウハウ(競プロ)だと思っている。 -fsanitize=undefined,address / -D_GLIBCXX_DEBUG #include <iostream> using namespace std; int main() { int a[10

                            競プロ実装テクニック - よすぽの日記
                          • Intelが特定ベンチマークのスコアを最大9%水増しする不正をしていたとして2600件以上のベンチマーク結果が事実上無効に

                            性能テストの標準化団体の1つで、公平なベンチマークを行うために設立された非営利組織・SPECが、「Intelが自社プロセッサのベンチマーク結果を水増しするために特定のベンチマークのスコアを向上させるような最適化を行い、スコアを最大で9%水増ししていた」として、Intelプロセッサのベンチマーク結果2600件以上を事実上無効化しました。 Targeted Intel oneAPI DPC++ Compiler Optimization Rules Out 2k+ SPEC CPU Submissions - Phoronix https://www.phoronix.com/news/oneAPI-DPC-Compiler-Cheat-SPEC Impact of Intel Compiler Optimizations on SPEC CPU2017 Example https://www

                              Intelが特定ベンチマークのスコアを最大9%水増しする不正をしていたとして2600件以上のベンチマーク結果が事実上無効に
                            • NATRON

                              NATRON Open Source Compositing Software For VFX and Motion Graphics. Download Github Cross platform & open-source compositor for visual effects and motion graphics industry Natron is a powerful Digital Compositor that can handle all of your 2D/2.5D needs. Its robust OIIO file formats and OpenFX architecture is what make Natron the most flexible open source compositor for the visual effects communi

                              • GitHub - google/robotstxt: The repository contains Google's robots.txt parser and matcher as a C++ library (compliant to C++11).

                                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.

                                  GitHub - google/robotstxt: The repository contains Google's robots.txt parser and matcher as a C++ library (compliant to C++11).
                                • GitHub - CoatiSoftware/Sourcetrail: Sourcetrail - free and open-source interactive source explorer

                                  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.

                                    GitHub - CoatiSoftware/Sourcetrail: Sourcetrail - free and open-source interactive source explorer
                                  • YJIT: Dive into Ruby's JIT compiler written in Rust / Rust.Tokyo 2022

                                    Rust.Tokyo 2022

                                      YJIT: Dive into Ruby's JIT compiler written in Rust / Rust.Tokyo 2022
                                    • Rust製TypeScriptコンパイラstcの現状と今後 | メルカリエンジニアリング

                                      この記事は、Merpay Tech Openness Month 2023 の2日目の記事です。 メルペイFrontendエンジニアの@togami2864です。普段はPartner Platformというチームで加盟店申込みフォームや審査・管理を行うためのMerchant Supportツールの開発・運用を担当しています。 本記事ではRust製TypeScriptコンパイラであるstcについて筆者の観測範囲での概要、開発状況、課題等を紹介します。なお、内容は全て2023年5月時点のものです。また、本記事の一部は Node学園 41時限目 書籍について で発表したものと重複していることをご了承ください。 概要 stcは2022年10月にオープンソース化されたRust製のTypeScriptコンパイラです。 https://github.com/dudykr/stc 製作者はRust製のトラ

                                        Rust製TypeScriptコンパイラstcの現状と今後 | メルカリエンジニアリング
                                      • MIR: A lightweight JIT compiler project | Red Hat Developer

                                        For the past three years, I've been participating in adding just-in-time compilation (JIT) to CRuby. Now, CRuby has the method-based just-in-time compiler (MJIT), which improves performance for non-input/output-bound programs. The most popular approach to implementing a JIT is to use LLVM or GCC JIT interfaces, like ORC or LibGCCJIT. GCC and LLVM developers spend huge effort to implement the optim

                                          MIR: A lightweight JIT compiler project | Red Hat Developer
                                        • PhobosLab

                                          Introducing QOI — the Quite OK Image Format. It losslessly compresses RGB and RGBA images to a similar size of PNG, while offering a 20x-50x speedup in compression and 3x-4x speedup in decompression. All single-threaded, no SIMD. It's also stupidly simple. tl;dr: 300 lines of C, single header, source on github, benchmark results here. I want to preface this article by saying that I have no idea wh

                                          • C++ is faster and safer than Rust: benchmarked by Yandex

                                            To get the licence for your open-source project, please fill out this form

                                              C++ is faster and safer than Rust: benchmarked by Yandex
                                            • 次期C標準 (C23) の内容が固まったらしい

                                              C23については最近のC言語と、次期C標準(C23)でも軽く紹介しました。 今回、C23入りする内容が大体固まったようなので改めて紹介します。 この記事を書いている時点での最新の公開されたWorking Draftは N2912 N3047 N3054 N3096です。ただし、C2y向けの最初のドラフトN3220もあり、そちらの方が実際の内容に近いかもしれません。 内容については会議参加者の投稿も参考にしています: https://twitter.com/rcs/status/1550526425211584512 C23 now finalized! : C_Programming というわけで、C23に入る主な機能はこちらです: C23に入る主な機能 POSIXの機能の取り込み: strdup, strndup, memccpy, gmtime_r, localtime_r C++の機

                                                次期C標準 (C23) の内容が固まったらしい
                                              • どうやってコード品質を上げるのか? 実例で学ぶリファクタリング

                                                リファクタリングって何? いきなりですが「リファクタリング」について、普段どれぐらい意識していますか? コード品質に関わる重要な概念ですが、この単語は、職業としてプログラミングをやらない限り、人生で出会わない単語の筆頭と言えるかもしれません。下図は、リファクタリングと、おそらくそれと同程度には知られているのでないかと思われる開発用語の検索頻度を、Google Trendsで調べてみたものです。 リファクタリング、コードレビュー、スクラムの検索頻度の推移 検索期間は2013年10月21日から2023年10月21日、地域はJapan、カテゴリーはComputers & Electronics(SoftwareやProgramingをサブカテゴリに持ちます)です。「コードレビュー」もコード品質を上げるうえでは重要な行為だと思いますが、日本では意外と浸透していないようですね。コードレビューに関して

                                                  どうやってコード品質を上げるのか? 実例で学ぶリファクタリング
                                                • Build your own WebAssembly Compiler

                                                  Have you ever wanted to write your own compiler? … yes? … of course you have! I’ve always wanted to have a go at writing a compiler, and with the recent release of WebAssembly, I had the perfect excuse to have a go. My original plan was to invent my own programming language, create a compiler that targets WebAssembly, and share my experiences at FullStackNYC. The first part went to plan, I spent m

                                                    Build your own WebAssembly Compiler
                                                  • C++/Java/Ruby/Pythonの並列I/O用ファイルインターフェイス - 豪鬼メモ

                                                    ファイルの読み書きをマルチスレッドで並列に行うための仕組みを、各種プログラミング言語(C++、C、Java、Ruby、Python)で利用できるようにライブラリを整備した。メモリマップI/O、通常I/O、ダイレクトI/Oを同じインターフェイスで利用できる。Tkrzw-0.9.38からこの機能が利用できる。メモリマップI/Oと通常I/Oは全ての処理系で、ダイレクトI/OはLinuxとMacとWindowsで利用できる。 データベースライブラリTkrzwはマルチスレッド環境での並列処理性能を重視して開発しているが、そこで利用しているファイル層の機能を直接利用できるようにAPIを整備した。データベースとしてではなく、単なるフラットなファイルとして利用するためのAPIである。テキストにもバイナリにも利用できる。 C++ API C API Java API Python API Ruby API

                                                      C++/Java/Ruby/Pythonの並列I/O用ファイルインターフェイス - 豪鬼メモ
                                                    • Googleが公開したローカルLLMのgemma.cppをLinuxとAndroidのTermuxで動かしてみた。とりあえず2bだけど日本語で返事が帰ってくる程度に賢い。llama.cppでGGUF版があるけどこちらもチャット形式で良い。NetBSD上でもビルドし動作しました

                                                      Kapper@Linuxガジェヲタ&異世界小説家&生成AI&電子工作大好き @kapper1224 Googleが公開したローカルLLMのgemma.cppを参考サイトを見ながら動かしてみた。先駆者に感謝 とりあえず2bだけど日本語で返事が帰ってくる程度に賢い。llama.cppでGGUF版があるけどこちらもチャット形式で良い note.com/ngc_shj/n/n3f5… pic.twitter.com/8bfoGYRrnF 2024-02-26 22:28:22

                                                        Googleが公開したローカルLLMのgemma.cppをLinuxとAndroidのTermuxで動かしてみた。とりあえず2bだけど日本語で返事が帰ってくる程度に賢い。llama.cppでGGUF版があるけどこちらもチャット形式で良い。NetBSD上でもビルドし動作しました
                                                      • Google、「Android Game Development Kit」を発表/C/C++言語ライブラリの提供で断片化を削減しつつ、ゲームを加速。Androidのパワーを引き出す

                                                          Google、「Android Game Development Kit」を発表/C/C++言語ライブラリの提供で断片化を削減しつつ、ゲームを加速。Androidのパワーを引き出す
                                                        • 「Visual Studio 2022」にC++言語のクラスや構造体のメモリレイアウトを視覚化する機能/v17.9 Preview 1でテスト中

                                                            「Visual Studio 2022」にC++言語のクラスや構造体のメモリレイアウトを視覚化する機能/v17.9 Preview 1でテスト中
                                                          • TechFeed Conference 2022 LT「最近の C++ (2022 年)」

                                                            TechFeed Conference 2022「最近の C++ (2022 年)」 発表者: https://twitter.com/Reputeless

                                                              TechFeed Conference 2022 LT「最近の C++ (2022 年)」
                                                            • GitHub - contour-terminal/contour: Modern C++ Terminal Emulator

                                                              ✅ Available on all 4 major platforms, Linux, macOS, FreeBSD, Windows. ✅ GPU-accelerated rendering. ✅ Font ligatures support (such as in Fira Code). ✅ Unicode: Emoji support (-: 🌈 💝 😛 👪 - including ZWJ, VS15, VS16 emoji :-) ✅ Unicode: Grapheme cluster support ✅ Bold and italic fonts ✅ High-DPI support. ✅ Vertical Line Markers (quickly jump to markers in your history!) ✅ Vi-like input modes for

                                                                GitHub - contour-terminal/contour: Modern C++ Terminal Emulator
                                                              • 書籍「コンパイラ 作りながら学ぶ」を読みながら JavaScript でコンパイラを実装してみた - Qiita

                                                                はじめに この記事では、中田育男著「コンパイラ 作りながら学ぶ」(オーム社) に出てくるプログラミング言語 PL/0' を JavaScript で実装します。 コンパイラ 作りながら学ぶ この書籍ではシンプルなプログラミング言語 PL/0' コンパイラをC言語で実装したソースコードが巻末に掲載されており、それをもとにコンパイラの理論が説明されています。書籍では完成系のコードが一度に示されていますが、この記事では最小限のサブセットを設定して、徐々に拡張していきながら処理系を完成させます。 対象読者 この記事は以下のような人をターゲットに書かれています。 「コンパイラ 作りながら学ぶ」の本文を一通り読んだ上で、巻末のコードを理解しようとしたものの途中で挫折した人 「コンパイラ 作りながら学ぶ」はもともと1995年に「コンパイラ」というタイトルで出版されていた本の改訂版です。私は改訂前の本を高

                                                                  書籍「コンパイラ 作りながら学ぶ」を読みながら JavaScript でコンパイラを実装してみた - Qiita
                                                                • Tracing TypeScript Compiler

                                                                  はじめにTypeScript 4.1 で新しく増えた --generateTrace という TypeScript Compiler の profile を取得するオプションについて。 TypeScript 4.1 beta でもすっ飛ばされていたネタなので、多分あまり注目されていないだろうし、 僕もたまたま PRs を眺めていたら見つけた程度だし、他の feature と比べるとかなりニッチなのだけど、個人的に面白かったのでエントリに残しておく。 なぜ僕が今回のオプションに惹かれたかとういうと、 3 ヶ月くらい前に、仕事でやっている TypeScript のプロジェクトについて「ローカルでの tsc が遅い!なんでだ!」って感じで憤ってた時期があって、 どこにボトルネックがあるか調べようと思ったことがあったのだけど、このときは深く調べることができずに挫折したという経緯があるため。 ちなみ

                                                                    Tracing TypeScript Compiler
                                                                  • MS-DOS(PC-98)のアプリケーションをC言語で作る - 少ないリソースを酷使する

                                                                    前回の記事でPC-98エミュ+FreeDOSの環境でMS-DOSアプリが動くことを確認した. となると,あと思うことは1つ. MS-DOSのアプリケーションを自作したい! ということです. 今回はC言語でMS-DOSのアプリケーションを作ってみましょう. 環境 OS:Ubuntu 20.04 PC-98エミュ:xnp2kai rev.22 d3fe02a FreeDOS(98):20200709更新のHDI形式 Cコンパイラのinstall i8086版GCC フリーのCコンパイラと言えばGCC.便利ですよね. しかし,少し前までGCCは32bit || 64bitのアーキテクチャしかターゲットにしてきませんでした. なので16bitのPC-98x1向けのバイナリは生成できなかったわけなんですよね. それが最近,ついに16ビット版GCCが登場しました.しかもDOS環境特化. 詳しい話は以下

                                                                      MS-DOS(PC-98)のアプリケーションをC言語で作る - 少ないリソースを酷使する
                                                                    • GitHub - microsoft/typespec

                                                                      Official Docs | Try TypeSpec Online | Getting Started | Language Overview TypeSpec is a language for defining cloud service APIs and shapes. TypeSpec is a highly extensible language with primitives that can describe API shapes common among REST, OpenAPI, gRPC, and other protocols. TypeSpec is excellent for generating many different API description formats, client and service code, documentation, a

                                                                        GitHub - microsoft/typespec
                                                                      • How to debug C and C++ programs with rr | Red Hat Developer

                                                                        The common theme in many time-travel movies is to go back in time to find out what went wrong and fix it. Developers also have that desire to go back in time and find why the code broke and fix it. But, often, that crucial step where everything went wrong happened long ago, and the information is no longer available. The rr project lets programmers examine the entire life of a C or C++ program run

                                                                          How to debug C and C++ programs with rr | Red Hat Developer
                                                                        • C++20からC++23までの変化

                                                                          決断するための勇気、そのためのBacklog / Courage to make decisions, Backlog for that.

                                                                            C++20からC++23までの変化
                                                                          • dotnetコマンドを使って、Visual Studioを起動せずに簡単にプログラムを作成する (1/2)

                                                                            .NET SDKに含まれているdotnetコマンドを使うとインストールされている.NETランタイムやSDKの情報を表示できるようになる ときどき必要に駆られて、小さなプログラムを作ることがある。Windowsだと大抵はWindows PowerShellで片が付くことが多いのだが、そうでないこともある(あとPowerShellには素直じゃないところがあって……)。 その場合、筆者はC#を使うのだが、標準的な開発環境のVisual Studioは大きく、起動にも時間がかかる。基本的には本格的なアプリケーションを開発するためのものなので、実験的な短いプログラムを作るのには余計な手間と時間が多すぎる。イメージ的には、庭に小さな穴を掘るのにショベルカーを使うような感じである。 そこで便利なのが.NET SDKに含まれているdotnetコマンドだ。コマンドラインだけで利用でき、GUIは一切なし。コマ

                                                                              dotnetコマンドを使って、Visual Studioを起動せずに簡単にプログラムを作成する (1/2)
                                                                            • データ型は明示しないで! Modern C++での型推論

                                                                              このように、(1)(2)と「vector<int>」を2回も書かなければなりません。特に(2)では、右辺の型は分かっているんだから、左辺はそれに合わせてよ! という文句が出そうです。 初期化漏れを防止する このように、同じ意味の型を何回も書くのはかったるいな! というときに型推論は役立つわけですが、もっと切実な理由があります。それは、変数の初期化漏れの防止です。JavaでもRustでもそうなんですが、変数は宣言しっぱなしでOKです。宣言しっぱなしというのは、明確な初期化が行われていないという意味です。こうなると、その変数を参照しようとするといろいろとまずいことが起きてきます。 基本データ型とかなら、どんな値か分からない ポインタ型とかなら、どこを指しているか分からない(ダングリングポインタ) なので、実行時にプログラムが不可解な動作をしたり、いきなり落ちたりするわけです。しかし、コンパイラ

                                                                                データ型は明示しないで! Modern C++での型推論
                                                                              • C++マルチスレッド一巡り

                                                                                C++11/14/17/20標準ライブラリで提供されるマルチスレッド関連機能について一通りの説明を行います。 読み物として通読してもらえば、最新C++20におけるマルチスレッド対応のほぼ全機能を俯瞰できます。 提供機能・利用目的別に概要説明と簡単なサンプルコードを記述しているため、必要な箇所だけを拾い読みすることもできます。 本書に関する指摘・要望はTwitterアカウント( https://twitter.com/yohhoy )までお願いします。

                                                                                  C++マルチスレッド一巡り
                                                                                • Swiftにおけるインポートとリンクの仕組みを探る

                                                                                  Swiftにおけるインポートとリンクの仕組みを探る iOSDC 2019

                                                                                    Swiftにおけるインポートとリンクの仕組みを探る

                                                                                  新着記事