今回、バージョン1.0として一般提供を開始したC++拡張機能を利用することで、IntelliSenseスマートコード補完、デバッグ、リファクタリング、コードナビゲーションといったC++開発者向けのさまざまな機能を、Visual Studio Code上で利用できるようになる。 これらの機能は、さまざまなプラットフォーム、アーキテクチャ、コンパイラで利用可能なので、クロスコンパイルやリモート開発にも役立つ。 編集機能としては、IntelliSenseによるコード補完、パラメーター情報、クイック情報、メンバーリスト、すべての参照を検索、定義/宣言への移動、ピーク定義/宣言に対応したコードナビゲーション、シンボルの名前変更、コードのフォーマット、セマンティックのカラー化、Doxygenコメントドキュメントに対応している。 デバッガでは、ブレークポイントの設定、監視変数の設定、プログラムのステップ
はじめに 私が「UniRx入門」という記事を書き始めてから5年、最後に投稿してから4年が経過してしまいました。 記事を更新していなかったこの数年間で、UniRxを取り巻く環境が大きく変わってしまいました。 UniRxというライブラリ自体に特に大きな更新はないのですが、UnityのC#バージョンがアップデートされたり、UniRxよりも便利なライブラリが登場したりしました。 今回は2022年現在のUnityにおけるUniRxの立ち位置と、その使い方について解説します。 UniRxの立ち位置 現代のUniRxの状況 2017年頃の古いバージョンのUnityにおいては.NET 3.5相当のかなり貧弱なC#しか用いることができませんでした。 非同期処理にasync/awaitすら使えず、「コルーチン」で書くか「UniRx」で書くかという状況でした。 そのため、時間が関係した処理はコルーチンかUniR
このブログでもSource GeneratorやAnalyzerの開発手法に関しては定期的に触れてきていて、新しめだと 2020/12/15 - UnitGenerator - C# 9.0 SourceGeneratorによるValueObjectパターンの自動実装とSourceGenerator実装Tips 2021/05/07 - 2021年のC# Roslyn Analyzerの開発手法、或いはUnityでの利用法 という記事を出していますが、今回 MemoryPack の実装で比較的大規模にSource Generatorを使ってみたことで、より実践的なノウハウが手に入りました。また、開発環境も年々良くなっていることや、Unityのサポート状況も強化されているので、状況を一通りまとめてみようと思いました。Source Generatorは非常に強力で、今後必須の開発技法になるので
.NET 6の現状を把握し、具体的な移行方法を学ぶ連載。初回は、.NET 6の注目すべき新機能を中心に.NET 6の統合の現状および概要、方向性について。 2021年11月9~11日、「.NET Conf 2021」が開催され、「.NET 6」もとうとうローンチされました。偶数リリースの.NET 6はLTS(long-term support)となっており、そろそろ、.NET 6での新規アプリ開発や、既存アプリにおける.NET Frameworkから.NET 6への移行を検討する方も多いことでしょう。本稿では.NET 6の注目すべき新機能を中心に.NET 6の統合の現状および概要、方向性をお伝えします。 .NETプラットフォームの統合 .NETプラットフォームの統合は、さかのぼること2年半、2019年5月6日にMicrosoftの公式ブログ「Introducing .NET 5」の中で、「
と、いうものをリリースしました。Web UIとなるDFrame.Controllerと、負荷テストシナリオをC#で書くDFrame.Workerの組み合わせで成り立っていて、DFrame.Workerをウェブ上のクラスターに配置することで(Controllerと接続するただの常駐アプリなので、配置先はオンプレでもVMでもコンテナでもKuberenetesでもなんでもいい)、1から数千のワーカーが連動して、大量のリクエストを発生させます。また、テストシナリオをプレーンなC#で記述できるということは、HTTP/1だけではなく、あらゆる種類の通信をカバーできます。WebSocket、HTTP/2、gRPC、MagicOnion、あるいはPhotonや自作のTCPトランスポート、更にはRedisやデータベースなどが対象になります。 DFrame.Workerは通常の.NETの他に、Unityにも対
待ちきれずビルドして試してみた Goで //go:embed file ってコメントに書くと、ファイルの中身が変数に入るようになったので、とてもありがたい これで、フォントの埋め込みなどはサードパーティ製のライブラリでコードを生成しなくて済む https://t.co/TL43HAziiL pic.twitter.com/0F5edNSpOJ — 鬼滅のゴリラ@無限レビュー編 (@gorilla0513) October 29, 2020 巷でとある言語がバイナリにアセットを埋め込めるようになったと話題ですが、C#でも同じようなことができそうなので共有したいと思います。 リソースを埋め込み、読み込む まずリソースを埋め込むには、プロジェクトファイル(csproj)�の<ItemGroup>内に<EmbeddedResource>で、埋め込みたいリソースを定義します。 例えば、sample.
Blazorの生みの親が「Blazor United」発表。SPAとSSRを1つのBlazorに統合し、共通のソースコードで記述可能に C#などの.NETテクノロジーを用いてWebアプリケーションの開発を可能にするフレームワークとして登場したのがマイクロソフトの「Blazor」です。 最初はWebAssemblyを用いてWebブラウザ上に.NETランタイムを実装し、その上でRazorコンポーネントを利用可能にすることで、C#によるWebアプリケーションがWebブラウザ上で実行できる「Blazor WebAssembly」の開発がスタートしました(下図左)。 その後、サーバサイドでも同じ.NETとRazorコンポーネントを用いてWebアプリケーションを開発できる「Blazor Server」の開発も始まりました(下図右)。 この2つのフレームワークは2020年に正式版としてそれぞれリリースさ
Azure 上の Windows Server の守り方 - Azure の Windows Server 向けのセキュリティ機能まとめAzureWindowsServerMicrosoftDefenderForEndpointMicrosoftDefenderForCloudMicrosoftSentinel 本記事について 本記事では、具体的な機能にフォーカスして、Azure のファーストパーティのソリューションで、Windows Server に対してどのようなセキュリティを実装できるかをご紹介していきます。 また姉妹編のLinux 版はこちらになります。 アンチマルウェア - Microsoft Defender ウイルス対策、マイクロソフトアンチマルウェア、Defender for Endpoint Windows Server 2016 以降では、標準でアンチマルウェア機能であ
Visual studio code tunnel Introduction Since July 2023, Microsoft is offering the perfect reverse shell, embedded inside Visual Studio Code, a widely used development tool. With just a few clicks, any user with a github account can share their visual studio desktop on the web. VS code tunnel is almost considered a lolbin (Living Of the Land Binary). I am so glad that my users now have the ability
AWS、.NETのLinuxコンテナ化を容易に。LinuxコンテナからActive Directoryにアクセスできる「Credentials Fetcher」をオープンソース化。 Amazon Web Services(AWS)の.NETオープンソースチームは、Linuxコンテナ内のサービスからActive Directoryへのアクセスを実現する「Credentials Fetcher」をオープンソースとして公開したことを発表しました。 The AWS .NET #opensource team is pleased to announce the general availability of credentials-fetcher, an open source project to help .NET and Windows developers alike access Mic
Screen Capture API 現在 Windows には画面をキャプチャする方法が 3 通りくらい用意されている。一番速いのはどれなのか?それぞれ検証してみたい。(他にも非公開の API があるらしいが、ここでは触れない) なお、記事中のソースは説明のため色々省いている。一通り動作するものはこちら。 https://github.com/i-saint/ScreenCaptureTest GDI 石器時代の API だが、今でも機能するしお手軽。 注意すべき点として、GetSystemMetrics() や GetWindowRect() を使う場合、Visual Studio 上のプロジェクトの設定、"Manifest Tool" にある "DPI Awareness" を "Per Monitor High DPI Aware" に設定しておくべきである。これを怠ると、該当 A
2月にブログに書きましたが、 Visual Studio 17.1 Preview 3の頃、C# 11 候補として「引数の null チェック」構文が入っていました。 m(null); // ArgumentNull 例外が出る。 void m(string x!!) { } 今現在(VS 17.2 Preview 5)でもこの構文は生きているんですが、次(たぶん、17.2正式リリースでも17.3 Preview 1でも)でいったん取りやめになるそうです。 取りやめの経緯 C# チームとしては、今、Preview リリースをしてみて反応を見てその後どうするかを決めたりしているわけですが。 LangVersion preview があるのはそのためです。 とはいえ、普通に考えて、Preview 機能まで追いかけている人がそんなに多いわけもなく、 正式リリースされるまでどんな機能が追加されてい
Spoiler alert: BBRv2 is slower than BBRv1 but that’s a good thing. Three years have passed since “ Bottleneck Bandwidth and Round-trip” (BBR) congestion control was released. Nowadays, it is considered production-ready and added to Linux, FreeBSD, and Chrome (as part of QUIC.) In our blogpost from 2017, “ Optimizing web servers for high throughput and low latency,” we evaluated BBRv1 congestion co
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter. Debug Visualizer A VS Code extension for visualizing data structures while debugging. Like the VS Code's watch view, but with rich visualizations of the watched value. Visualization Playground Click here to explore all available visualizations. Supported Languages See demos for demos. These languages and debuggers ar
変数は再生モード中に変更した値は元に戻りますが、インライン(グラフ中のみで使用している値)の値は再生モードを解除しても値は変更されたままになります。 変数はドラッグ&ドロップしてグラフ上に配置出来ます。 ドラッグ&ドロップして配置した場合はGet Variableユニットになります。 ユニットユニットは処理の単位で、何らかの処理を実行する単位です。 グラフの何もない所で右クリックする事であいまい検索(ファジー検索)画面を開いて、ユニットを選択したり、検索窓に対象を絞った検索をしてユニットを選択することが出来ます。 その他ユニットのポートからドラッグして、接続できるユニットから選択することも出来ます。 ポートポートはユニットに付いている接続部分で、処理の流れを作るフローポートと値を渡すデータポートがあります。 上の例ではStartユニット(スタート時に1回実行される)からDebug Logユ
Win32 APIをアプリケーションから利用すると、Windowsを最大限に活用できる。CやC++の開発者であれば既存の仕組みを容易に利用できるものの、C#やRustのような言語からWin32 APIへアクセスするには、手動でAPIのラッパーやバインディングを作成する必要がある。この方法はエラーが起こりやすく、広範なAPIをカバーする拡張性にも欠けている。 近年では、さまざまな言語からWin32 APIを呼び出す必要性が高まっている。これを背景として、ラッパーやバインディングで強く型付けされた慣用的な表現を提供し、開発者の負担を軽減する幾つかのコミュニティープロジェクトも登場している。.NET向けの「P/Invoke」や、Rust向けの「winapi-rs」などが有名だ。 これらのプロジェクトは有望なものの、手動でメンテナンスされているため、広範なAPIを持続的にカバーするのは困難であり、
Windows 10 バージョン1903になっても「更新プログラムのチェック」は上級者向けボタンだった:山市良のうぃんどうず日記(160) Windows 10 May 2019 Update(バージョン1903)から、オプションの更新プログラムに対して「今すぐダウンロードしてインストールする」オプションが提供されるようになりました。 しかし、.NET Frameworkの累積更新プログラムは少し扱いが異なるようです。何とか頑張って検証、説明しますが、かなりややこしいことになっています。 山市良のうぃんどうず日記 Windows 10 バージョン1703からのWindows Updateの仕様の再確認 Windows 10 Creators Update(バージョン1703)から「品質更新プログラム」のリリースサイクルが明確化され、「セキュリティ更新プログラム」(新たなセキュリティ問題の修
MessagePack for C#のVersion 2を本日リリースしました。出る出る詐欺で、一年がかりでリリースまで漕ぎ着けました!とにかくめっちゃ時間かかった、死ぬほど私のリソースが取られていた、ので本当にリリースまで持ってこれてよかった……。めでたし。 今回はとてもOSSっぽく開発していて、メインの開発はMicrosoftのVisual StudioチームのPrincipal Software EngineerであるAndrew Arnottさんが書いています。私はそれに対してひたすら、APIデザインが好きじゃないだの、パフォーマンスが私の基準に満たしてないだの、文句つけまくる仕事をしていました。しかしコードのクオリティはさすがに非常に高くて、私だけだったらここには至れなかっただろうことを考えると、いい感じの共同開発ができたんじゃないかなあと思います。その結果として、一年前に掲示さ
概要 2019年10月5日、(おそらく) このツイートを端緒として、多くのエンジニアが自身のプログラミング言語歴や好みについて語るという試みがなされ、10月14日には自然言語クラスタを巻き込んだこともあってかトレンド入りを果たしました。 1. 最初の言語: Basic 2. 難しかった言語: Javascript 3. 一番使っている言語: C++ / C# 4. 嫌いな言語: HTML / CSS 5. 一番好きな言語: C++ 6. 初心者にオススメ: Unity 他の人のも聞いてみたいですね。 — たつなみ (@qrostar) 2019, 10月 5 本記事では、10月18日18時までに集まった1480件のツイートの集計結果を示したいと思います。なお結果にはプログラミング言語ではなくマークアップ言語も含まれていますが、票数が多かったこともありそのままにしてあります。ご了承ください。
Turing株式会社のUXチームでインターンをしている東大4年の三輪です。 自動運転のUXを向上させるため、UXチームでは自動運転の「可視化」ソフトウェアの開発に取り組んでいます。 このソフトウェアはTuringが販売する車のディスプレイに搭載される予定です。AIが認識している世界をユーザにも見える形で示すことで、ユーザは自動運転AIの振る舞いをよりよく把握することができるようになります。 画面は開発中のものです 可視化ソフトウェアは、自動運転AIの出力を受け取り、解釈し、Unity上で描画します。この際、自動運転AIと可視化ソフトウェアの間の通信はgRPCで行うことになっています。しかし、Unity上でのgRPCはさまざまな事情でやや複雑な構成を取る必要があります。 この記事では、UnityでgRPCサーバを実装するステップを解説します。 gRPC gRPCはRPC(Remote Pro
Microsoftがまた一つ開発した技術をひそかに終わらせようとしている。このところMicrosoftはUWP (Universal Windows Platform)に関して積極的に取り組んでいる様子がなかった。むしろ、UWPの優先度を下げるような取り組みをしばしば発表しており、いずれUWPの開発を停止して互換性維持の状態へ移行させるのではないかと見られていたが、「Windows App SDK」の開発においてその姿勢が明らかになった。 Microsoftは10月19日、「Developing for Windows with the Windows App SDK · Discussion #1615 · microsoft/WindowsAppSDK · GitHub」において、UWPが実質的に互換性維持のために提供される状態へ入り、代わりに「Windows App SDK」へ開発が
We are pleased to announce that the April 2021 release of the Jupyter Extension for Visual Studio Code is now available. If working with Python, we recommend installing the Python extension directly from the extension gallery in Visual Studio Code. If you already have the Python or Jupyter extensions installed, you can also get the latest update by restarting Visual Studio Code. You can learn more
.NET 関連の情報をほぼ週刊配信
We’re excited to release .NET 5.0 today and for you to start using it. It’s a major release — including C# 9 and F# 5 — with a broad set of new features and compelling improvements. It’s already in active use by teams at Microsoft and other companies, in production and for performance testing. Those teams are showing us great results that demonstrate performance gains and/or opportunities to reduc
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く