コマンドラインから画面キャプチャーを実行して PNG形式で保存する 画面キャプチャー(スクリーンショットとも)は、ソフトウェアのドキュメント作成やメモ代わりにすることが多い。こうしたとき、コマンドラインから画面キャプチャーをしたくなることがあるが、残念ながら、Windowsには直接可能なコマンドは用意されていない。しかし、PowerShellを使えば、まったく不可能というわけではない。 まず画面が1つだけ、マルチディスプレイではない環境で、デスクトップ全体の画面キャプチャーをする方法を考える。 最初に、PowerShellでSystem.Windows.FormsとSystem.Drawingクラスを使えるように以下のコマンドを実行しておく。PowerShellのウィンドウを閉じるまでに1回だけ実行しておけばよい。複数のキャプチャー方式を解説するが、どの方法でも、このAdd-Typeコマン
本記事は NRIネットコム Advent Calendar 2022 24日目の記事です。 🎁 23日目 ▶▶Happy Christmas Eve! ▶▶ 25日目 🎄 はじめまして、入社7年目の川畑です。 主にPHPを使ったWebアプリの開発・保守・運用を担当しております。 今日はクリスマスイブですね。私は枕元に現ナマが置かれる予定です。夢はないけど嬉しい。 はじめに ローカルに開発環境を構築する際にDockerを利用されている方も多いですよね。 作って壊してが楽、ローカルにプログラミング言語を入れなくても開発環境が構築できるなどメリットにあふれています。そんなDockerを利用して環境を構築!人気エディタVisual Studio Code(以下、VS Code)でいざソースコードを書くぞ!と勇むと、下記のようなメッセージが通知されます。(PHP環境だとお考え下さい) Canno
マイクロソフト、「Blazor WebAssembly」正式版を5月にリリース。BlazorでPWAやデスクトップアプリも開発へ マイクロソフトは1月14日(日本時間1月15日未明)にオンラインインベント「.NET Conf Focus on Blazor」を開催、同社が開発中のWebアプリケーションフレームワーク「Blazor」の最新動向と今後について明らかにしました。 Blazorは、C#と.NET Coreを用いてWebアプリケーションの開発を可能にするフレームワークです。JavaScriptを用いず、C#によるプログラミングでSPA(Single Page Application)のWebアプリケーションを開発できるため、.NETの知識や経験をWebアプリケーションに活かせると同時に、Visual StudioなどC#に対応した豊富な開発ツールによる開発生産性の向上を期待できるとい
「C」や「C++」に代わるシステムプログラミング言語として「Rust」が注目を集めている。メモリ安全性が高く、メモリ破壊バグといった脆弱(ぜいじゃく)性を作り込みにくいからだ(関連記事)。 ただし、システムプログラミング言語では、高い処理性能が必須条件であり、これがCやC++が使われ続けている理由となっている。Rustはどの程度「速い」のだろうか。 ドイツのミュンヘン工科大学で博士課程の学生であるポール・エメリク氏は2019年9月9日、Rustで作成したデバイスドライバの性能評価をGitHubで発表した。 同氏のグループはさまざまな言語で同じ機能を備えたデバイスドライバを記述し、性能を比較している。 何が性能低下を引き起こしているのか 性能評価用に作成したのは、Intelのイーサネットコントローラー向けのLinux用デバイスドライバだ(ixgbeタイプ)。 エメリク氏は解説の冒頭で研究に取
はじめに この記事はサービスを爆速で作ったり、ドメイン駆動設計の解説をするようなものではありません。 ドメイン駆動設計の勉強をしていて、手を動かす機会が足りないと感じていました。そこで、今の理解で実際に動くシステムをドメイン駆動で開発してみようと思いました。 本記事はその開発の過程や考えていたことを記録したものです。 「この人はこういう形に落とし込んだんだな~」くらいで見ていただけたらありがたいです。 作成するシステム 今回作るのはTODO管理システムです。 初回の開発では以下の機能を開発しました。 TODOのタイトルと詳細を登録できる 作成したTODOを検索できる 選択したTODOの詳細を確認、完了、削除ができる デモ デモなのでメールの確認はダミーです。新規登録をしたら画面に出るメール確認リンクを踏めば確認済みとなります。 その後右上のログインからログインしてください。 デモのデータベ
「Visual Studio Code」で「WSL 2」上のリモートコンテナを使用するには、Microsoftが解説:Windows 10でDocker Desktop Stableを効果的に活用する Microsoftは2020年7月1日(米国時間)、「Visual Studio Code」(VS Code)で「WSL 2」(Windows Subsystem for Linux 2)にあるリモートコンテナを使用する方法を「Visual Studio Code Blog」で紹介した。 WSL 2は、Microsoftが2020年5月にリリースした「Windows 10 バージョン2004」(May 2020 Update)に標準搭載された。Dockerも2020年5月に、バックエンドとしてWSL 2をサポートした「Docker Desktop for Windows」(Docker De
この記事は Qiita C# Advent Calendar 2021 の5日目の記事です。 はじめに C# で async/await が登場してからずいぶんと時間がたち、モダンな C# においてはほぼ必須となりました。Unity でも UniTask などのライブラリもあり、簡単に非同期処理が書けます。この記事では C# での非同期処理の歴史にも触れつつ async/await の動作原理について書きます。 Unity C# の話を書いた方が需要が高そうなので Unity および UniTask を前提にした説明とコードが多く出てきますが、async/await は C# の言語機能であるため、動作原理自体は .NET でも同じです。非 Unity の文脈では適宜読み替えてください。 また、詳細を完璧に説明するよりもわかりやすさを重視したため、一部正確さを欠いた説明をしています。ご了承
はじめに Pythonは今最も習得希望人口の多い言語である。 それはヘビーなデベロッパーからライトなオフィスコンピューティングまで多岐にわたる。 おそらく「Pythonを使えば○○ができる」と喧伝されているのを見聞きしているからだろう。 この記事ではそんなPythonを一から導入し開発できるようにすることを主にする。 OSのセンテイ Pythonの開発でもっとも優れたOSはWindowsである。 単純にPython.orgの公式から対象のバージョンをいくつか選んでダウンロードして適当にインストールすればそれですべてを始められるので、MacやLinuxのようにシステムデフォルトと別verとのインストール共存やパッケージ管理ツールを意識する必要はない。 パスは通るし、複数のバージョンを同時に入れてもビルドバージョンですら分けて共存できるので簡単。 処理系 Pythonはインタプリタ界の変態言語
ストーリー by hylom 2019年12月23日 17時45分 サンタ帽はサタンとか言っておけばよかった? 部門より Anonymous Coward曰く、 Microsoft製の人気コードエディタVisual Studio CodeでGitHubリポジトリのIssuesセクションが炎上、リポジトリが一時的に関係者専用モードに制限され、一般からの新規バグ報告が受け付けられない状態になっていた(経緯を説明するIssue)。 発端は、CodeのInsiders版(ナイトリービルド的なもの)にて、クリスマス絡みのちょっとした演出として、設定アイコンの歯車にサンタ帽が被せられた、というもの。これを見たユダヤ教徒と思われるユーザが、「宗教のシンボルをエディタに載せて宗教を推すことは不快極まりない、私にとってサンタ帽はナチスの鈎十字に等しいシンボルだ、最優先で削除しろ」と強い口調で抗議したため、開
IntelliCodeがプログラマのリファクタリング作業を自動的に学習。学習内容からリファクタリング箇所を提案するように マイクロソフトは、機械学習を用いてプログラミングを支援するVisual Studioの拡張機能「IntelliCode」の新機能として、リファクタリング作業の支援が可能になったことを発表しました。 IntellCodeはGitHubなどに公開されているコードを機械学習し、その学習内容を基にコード入力や補完の適切なレコメンデーション、コードレビュー時のアドバイス、問題がありそうな部分の指摘などをしてくれるツールです。 今回の新機能では、プログラマが行うリファクタリング作業をIntelliCodeが自動的に学習し、コードのほかの部分でも同様のリファクタリングが適用可能な場所があればそれを提案してくれるようになります。 これによりプログラマはリファクタリング可能なコードの探索
Microsoftが開発したプログラミング言語「Visual Basic」は一時期は人気の頂点に達していましたが、記事作成時点では目立たない存在になっています。そんなVisual Basicの興亡について、コーディング補助アプリを開発するRetoolが「Visual Basicの父」として知られるアラン・クーパー氏の体験談を交えながら解説しています。 Something Pretty Right: A History of Visual Basic | Retool https://retool.com/visual-basic/ Visual Basicは、クーパー氏が開発したプログラミング言語「Ruby」をMicrosoftが買取る形で始まった言語です。クーパー氏によると、Rubyの前身となる「Tripod」の開発は1985年に始まったとのこと。当時のWindowsはグラフィカルユーザ
はじめに これまでも「Setting Sync」という拡張を入れることで、複数のVisual Studio Codeの設定を同期することは可能でした。ただGithubやGistの設定がやや面倒な側面があり、初期設定が煩雑でした。 しかしVer.1.48でついに公式の設定同期機能「Settings Sync(紛らわしいですがこちらは複数形)」がリリースされました。以下の内容が同期可能です。 設定 キーボードショートカット ユーザースニペット 拡張機能 UIの状態(表示言語、アクティビティバー、パネル、画面レイアウト、コマンド履歴、同一通知の抑止) ここではその簡単な使い方と、何ができるのか簡単にまとめたいと思います。 なお公式ドキュメントはこちら。 https://code.visualstudio.com/docs/editor/settings-sync 事前準備 設定の同期を利用するた
パーソルキャリアのIT・テクノロジー領域特化型エージェントサービス「HiPro Tech(ハイプロ テック)」は、2022年1年間に「HiPro Tech」が受領した案件の月額単価平均を算出した「ITフリーランスエンジニアの平均月額単価ランキング」を3月28日に発表した。 職種別の単価ランキングを見ると、「DXコンサルタント」が99.1万円と全職種の中で最も高く、次いで「ITコンサルタント」(95.5万円)となった。さらに「PM/PMO」(91.3万円)も4位にランクインし、DX戦略の推進に関わるポジションで単価が高いことがわかった。 3位は、「プロダクトオーナー/プロダクトマネジャー」(92.6万円)となった。また、「データサイエンティスト」(5位、90.2万円)や「機械学習・AIエンジニア」(7位、87.5万円)も需要の高さに比例して上位にランクインしている。 WEB系サービスの開発経
速いので使いたい 私の場合、ここ数か月で一番素晴らしいニュースだと感じたブログがこれでした。 https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-5/ .NET5 がどれだけパフォーマンス向上のために努力してきたかという内容です。 ものすごいボリュームで読むのが大変でしたが、満足感のある記事でした。 この記事を読んだだけでも、早く.NET 5 を使いたいという気持ちになりました。 パフォーマンスが良くなったという知らせはいつでもエンジニアの気持ちを高揚させるのだと思います。 使いたい理由1 : GCが高速化した いくつものアプローチを重ねたことが記されていました。 GCが到達可能オブジェクトをマークする処理の情報を他のスレッドでも流用できるようにして、各スレッド内の同処理の作業量を一部省略可能にした G
マイクロソフトは、Viual Studioファミリーでリモートでもペアプログラミング環境を実現する「Live Share」の新機能として、テキストチャットとボイスチャットをプレビュー公開することを明らかにしました。 Live ShareはVisual StudioやVisual Studio CodeなどのVisual Studioファミリー製品間をネットワークで接続し、ペアプログラミング環境を実現する機能です。インターネット経由でも機能するため、物理的に離れた場所であってもリモートでペアプログラミングを行うことができます。 今回発表されたのは、このLive Shareにテキストチャットとボイスチャットを統合する、というものです。現在のLive Shareは1つのソースコードを2人で同時に編集することはできても、プログラマ同士の会話は別に電話やチャットツールなどを用いなければ行えませんでし
What's the role of Go in a universe where Rust exists? Imagine you’re a developer who mainly works with Go. You go to an event and, while chatting with some people, you decide to share with them the news that you wrote a small tool that does something. You claim that since you wrote it in Go, it’s fairly fast, it’s a single binary, etc. The group seems pleased with your recount and you start feeli
はじめに 対象とする読者について 本記事の対象者としては以下のような人を想定しています。 C#でこれからWin32APIを使ってみたい。 C言語のことがあまりよく分かっていない。 今までは適当に使っていたので一度きちんと理解したい。 自分が同じような状況であったため、一から調べて整理してみました。自分が理解した順番や内容で記載することで、また、具体的な使用例によってできることの広さや動作を感じ取ってもらうことで、理解の助けになればと思っています。 但し、分かっている人からすると冗長な説明になっている部分や好ましくない内容、正確性に欠ける内容などもあると思います。実際に使用する場合はその点にご留意願います。 Win32APIについて Windows API - Wikipedia Microsoft Windowsのシステムコール用APIのこと。特に32ビットプロセッサで動作するWindow
オブジェクト指向言語の話をするときに便利なように、Javaを中心にプログラミング言語をまとめてみました。 Javaに影響与えるか、Javaから影響を受けるか、という感じですね。 Simula オブジェクト指向はここから始まったと言われています。 クラス、オブジェクト、継承、仮想関数(多態)といった、オブジェクト指向の基本要素が備わっていました。 ただし、「オブジェクト指向」という言葉は生まれていません。 Smalltalk Simulaから発想を得て「オブジェクト指向」という言葉を生んだのはアラン・ケイでした。 しかし、モデルとしてはSimulaとは異なりメッセージングを主体としたものでした。また、アラン・ケイの「オブジェクト指向」はプログラミングのパラダイムだけではなく、人がコンピュータをどのように扱うかというメタファであり、ダイナブックというハードウェアやそのユーザーインタフェースを含
async/awaitの鬼門の一つとして、適切なキャンセル処理が挙げられます。別に基本的にはそんな難しいことではなく、CancellationTokenSourceを作る、CanellationTokenを渡す、OperationCanceledExceptionをハンドリングする。というだけの話です。けれど、Tokenに手動でコールバックをRegisterしたときとか、渡す口が空いてないものに無理やりなんとかするときとか、タイムアウトに使った場合の始末とか、ちょっと気の利いた処理をしたいような場面もあり、そうした時にどうすれば良いのか悩むこともあります。 こういうのはパターンと対応さえ覚えてしまえばいい話でもあるので、今回はAlterNatsの実装時に直面したパターンから、「外部キャンセル・タイムアウト・大元のDispose」が複合された状況での処理の記述方法と、適切な例外処理、そして最
Photo by charlesdeluvio on UnsplashWhy Should We Care About Design PatternsSimply put, design patterns help us solve problems by creating a reusable solution that we can use as a template for our software. That being said, design patterns aren't algorithms and you can't paste them into the code base. They give you a template of sorts, but if misused some patterns may cause additional complexity an
はじめに この度、長年連れ沿ったVimとお別れをすることにしました。移行先はVSCodeです。 正直に言うと、かなり前からVSCodeへの移行は検討していました。実際過去に何度もVSCodeへの完全移行は試しており、その度に挫折してきていました。 今回は挫折していた理由も含めてお話ししていこうと思います。 なぜ移行しなかったのか まず第一に、Vimをあまり普段使いしていないひとは驚くかもしれませんが、VSCodeに備わっている機能のうち、Vimではまったく出来ていなかったことというのは多くありません。Vimのlanguage serverとの連携は強固であり、定義ジャンプや補完・自動フォーマットといった動作もVSCodeとかわらず実現できます。Vimの中からGit関連の操作をすることも、ファイル操作も、デバッガを動かすことも、スニペット機能もmarkdownのプレビューも出来ていました。
Version 1.93 is now available! Read about the new features and fixes from August. vscode.dev(!) October 20, 2021 by Chris Dias, @chrisdias Back in 2019, when the .dev top-level domain opened, we picked up vscode.dev and quickly parked it, pointing at our website code.visualstudio.com (or, if you are from the Boston area like me, we "pahked it"). Like a lot of people who buy a .dev domain, we had n
February 25, 2024 VSCode + WSL makes Windows awesome for web development I’m kinda shocked. Windows actually got good for web developers. Between VSCode, WSL, and Intel’s latest desktop chips, I’ve been living with a PC for over a week that runs my programming tests faster than an M3 Max, ships with an excellent window manager out-the-box, and generally feels like a completely viable alternative t
Webブラウザから利用可能な「Visual Studio Online」がDockerコンテナサポートなど機能強化、パブリックプレビュー版として マイクロソフトはWebブラウザなどから利用できる開発環境「Visual Studio Online」をパブリックプレビュー版として公開中です。 Visual Studio Onlineは2019年5月のイベント「Microsoft Build 2019」で発表されました。Visual Studio Codeをベースにしたオンライン版のコードエディタと、Visual Studioの統合開発環境をベースにしたオンライン版Visual Studio IDEの2つの開発が進められており、11月にVisual Studio Codeのオンライン版がパブリックプレビューとして公開されています。 Visual Studio IDEのオンライン版はまだプライベー
マイクロソフト「.NET 7」正式リリース。パフォーマンス改善、Linux対応向上、コンテナ生成、ネイティブコンパイラ搭載など新機能 マイクロソフトは同社の包括的なアプリケーションフレームワーク「.NET 7」の正式リリースを発表しました。 It’s here – and it’s blazing fast… Announcing .NET 7, the fastest .NET yet with new enhancements for .NET MAUI, #ASPNET Core, Cloud Native, ARM64, Performance improvements, and more. Learn more: https://t.co/kGinyOaLBQ pic.twitter.com/yzCWEzlgzF — .NET (@dotnet) November 8, 2022
マイクロソフトは現在開発中のフレームワーク「.NET 7」で、ソースコードからターゲットプラットフォームに対応したネイティブバイナリをコンパイル時に生成するAOT(Ahead of Time)コンパイラを搭載する見通しだと、「Announcing .NET 7 Preview 3」で明らかにしています。 AOTコンパイラ、すなわち事前コンパイラとは、アプリケーションのビルド時にソースコードをコンパイルしてネイティブバイナリを生成する機能を備えています。 一般に「コンパイラ」とはこのAOTコンパイラのことを指すことが多いですが、アプリケーション実行時にソースコードや中間コードから動的にネイティブバイナリを生成するコンパイラのことをJIT(Just-in-Time)コンパイラと呼ぶのに対比して、あえて「AOTコンパイラ」と呼ぶことも最近では増えてきました。 現在、.NET対応のプログラミング言
マイクロソフトの「Blazor」が正式版に、まずサーバサイドで。C#と.NET Core 3.0に対応したWebアプリケーションフレームワーク マイクロソフトのWebアプリケーションフレームワーク「Blazor」が、.NET Core 3.0のリリースと同時に、本番環境に投入可能な品質に到達したことが明らかになりました。 Blazorは、JavaScriptとReactやAngularなどのフレームワークの代わりに、C#と.NET Coreフレームワークなどを用いてWebアプリケーションの開発を可能にするフレームワークです。 Blazorは、WebAssembly上に.NETフレームワークやランタイムを実装することで、Webブラウザで.NET対応のWebアプリケーションを実現するフレームワークとして登場しました。 この実装は「Blazor WebAssembly」あるいは「Client-s
マイクロソフト、マルチプラットフォームUIを実現する「.NET Multi-platform App UI」(MAUI)を実際にデモ。単一コードからWebとWindowsアプリを生成 マイクロソフトは2月26日にオンラインイベント「.NET Conf 2021 - Focus on Windows」を開催しました。 イベントの中で同社は、マルチプラットフォームUIを実現するフレームワーク「.NET Multi-platform App UI」(以下、.NET MAUI)を用いて開発したアプリケーションをデモし、実際に単一コードから生成されたWebアプリケーションとWindowsネイティブなデスクトップアプリケーションを披露しました。 .NET 6に組み込まれる「MAUI」はマルチプラットフォームUIを実現 .NET MAUIは、今年11月に正式リリース予定の「.NET 6」に組み込まれる予
こんにちは、 ast-grepの作者Herringtonです。 正規表現でコードを検索したことがある方なら、複数行のマッチングや入れ子構造の処理、コメントの無視などに苦労したことがあるかもしれません。 そこで、ast-grep VSCodeという新しい拡張を紹介します。これは、構造的検索と置換(SSR)という技術を利用して、より正確で効率的な検索と置換を実現するツールです。 構造検索は? テキスト検索と置換の限界 例えば、JavaScriptコードをリファクタリングして、lodash の _.filter 関数をネイティブの Array.prototype.filter メソッド に置き換えたいとします。単純なテキスト検索と置換は次のようになります: これは一部のケースではうまくいくかもしれませんが、いくつかの問題があります。 一行の式しかマッチングできません。コードが複数行にまたがってい
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く