「Microsoft Application Inspector」は、ソースコードにおける暗号化やリモートのエンティティへの接続、実行されるプラットフォームといった挙動を見つけられるツールで、複雑なプログラミング手法の検出や、人間では見つけにくいプログラムの挙動を特定できる。 大規模なプログラムの解析も可能で、複数の異なるプログラミング言語によって構成された、数百万行にも及ぶソースコードの解析にも対応している。 「Microsoft Application Inspector」を使用すれば、コンポーネントのバージョン間での機能変更も識別できるため、バックドアの検出に役立つ。さらに、リスクの高いコンポーネントや、追加の精査が必要なコンポーネントの特定にも使える。 検査結果は、JSONやインタラクティブHTMLを含む複数の形式でレポートを生成可能で、ソースコードから特定された機能が一覧表示され
導入 アイヌ語は日本語と異なり、閉音節(子音で終わる音節)も存在するので、表記の際音素文字であるラテン文字なら、そのまま p, t, k, m, n, s, r などの子音文字を後ろの付ければ良いわけなので、アイヌ語ローマ字表記では、何も問題が生じない。しかし、元々開音節言語である日本語に特化したカタカナのような仮名文字で表記する際、鼻音 n は「ン」でなんとかなる(実はそれでもまずい事になっているけどここでは割愛する)が、p, t, k, m, n, s, r, h はどうしようもないので、特殊の捨て仮名(小書き仮名文字)を利用することになっている。 具体的には以下のような特殊仮名文字(通称 アイヌ語仮名)である。 ㇷ゚ -p ッ -t ㇰ -k ㇺ -m ㇱ -s ㇻ -(a)r, ㇼ -(i)r, ㇽ -(u)r, ㇾ -(e)r, ㇿ -(o)r お分かり頂けただろうか… 問題 r
マイクロソフトは、AIによるコーディング支援機能の「IntelliCode」がさらに進化し、コーディング中の行全体を提案できる能力を備えるようになったことを明らかにしました。 下記は「Re-imagining developer productivity with AI-assisted tools」から引用です。 IntelliCode now provides whole-line code completion suggestions mined from the collective intelligence of your trusted developer knowledge bases. This is like having an AI-developer pair-programming with you, providing meaningful, suggestion
前書き この記事を読んでいるエンジニアの皆さんは、それぞれ異なるエディタを使用しているかと思います。読者自身が使用しているエディタの良し悪しについては詳しいと考えているため、私がVS Codeと他のエディタを比較をすることは、限界があります。また、VS Code と他のエディタの機能や快適さを比較できません。 そこで、私が毎日使用している VS Code の良さをアピールすることで、VS Code を使ってもらう機会を作りたいと思っています。 ここで説明しないこと カスタマイズしたキーコンフィグの紹介 ただし、これから紹介する VS Code の機能に好みのキーコンフィグを割り当てることは可能です。 他のエディタとの比較(Vim系 JetBrain系 Helix等の新興エディタ系) 目次 VS Codeとは 毎月のアップデート VS Codeのデフォルト機能 拡張機能(エクステンション)が
こんにちは。MLBお兄さんこと松村です。 今回は私がPCに必ずgit cloneしているC#系のGitHubリポジトリを紹介します。 どういったリポジトリであるか、リポジトリをクローンしている目的も併せて書いてみます。 とりあえず詳細はいいから、どんなリポジトリがあるか知りたい方はこちらをご覧ください。 gist.github.com それでは列挙していきます。(アルファベット順です) 常にクローンするもの dotnet-presentations/aspnetcore-app-workshop github.com ASP.NET Core 2.2でSPAのWebアプリケーションを作るワークショップです。 dotnet-presentations/aspnetcore-concepts-workshop github.com 前述の dotnet-presentations/aspnet
去年8年ぶりに vimrc を書き直した時はLSPの体験があんまりよくなくてLSPなしでNeovimを使い続けていたのだが、様々な言語のOSSをメンテする都合で用途に応じてIntelliJとVSCodeとNeovimの三刀流で暮らしていた結果、可能ならNeovimに寄せたいけどそれならLSPを使いたいなということになり、今回LSPの所を真面目に設定し直して、かなり良い体験になっている。 正直Neovimの設定はVSCodeのそれに比べたら面倒なんじゃないかという印象がありサボっていた節があるが、実際にやってみるとVSCodeと同程度に簡単に済む方法もあったので紹介したい。 何故Neovimなのか LSPの話の前に、タイトルだけ見た人がそもそも単にVSCode使えばいいじゃんと言いそうなので、どうしてIntelliJやVSCodeではなくNeovimに揃えようと思ったのかについて書いておく。
[解説]「Windowsの設定がフランス語だとゲームが起動しない」開発者がXで公開した小数点表記に関するバグの詳細をレポート by せきやdn · 公開済み 2023年8月12日 · 更新済み 2023年8月17日 [UPDATE 2023/08/17] TryParse()系の例外をキャッチして処理するコードを省略していましたが、表記があったほうがいいというコメントをいただいたため、追記を行いました。 ゲーム開発を含むプログラミングにおいては、意外なところに落とし穴がたくさんあります。今回紹介するのは「フランス語のローカライズ対応における小数点問題」です。 発端となったポスト 今回の記事は、筆者(せきやdn)がX(旧Twitter)にポストした次のツイートが発端です。 今回の「ファミレスを享受せよ」 Windowsがフランス語だと立ち上がらない不具合。 お恥ずかしい話なのですが、 同じミ
最近、小〜中規模のプログラムを保守性高く記述するにはどうすればよいかが気になっていて、 ソフトウェアのアーキテクチャについて調べていました。 本を読んでみる 以下の本を浅めに読み通してみました。どの本もそれぞれ学ぶべき点があって興味深かったです。 .NETのエンタープライズアプリケーションアーキテクチャ第2版 https://www.amazon.co.jp/dp/B00ZQZ8JNE C#での設計の話。ドメイン駆動設計など、設計に関わるトピックが広く触れられていて良い。 Adaptive Code C#実践開発手法 第2版 https://www.amazon.co.jp/dp/B07DJ2BL4Y C#での実装の話。SOLID原則を中心に、実装に関わるトピックが広く触れられていて良い。 Clean Architecture 達人に学ぶソフトウェアの構造と設計 https://www.a
コマンドラインから画面キャプチャーを実行して PNG形式で保存する 画面キャプチャー(スクリーンショットとも)は、ソフトウェアのドキュメント作成やメモ代わりにすることが多い。こうしたとき、コマンドラインから画面キャプチャーをしたくなることがあるが、残念ながら、Windowsには直接可能なコマンドは用意されていない。しかし、PowerShellを使えば、まったく不可能というわけではない。 まず画面が1つだけ、マルチディスプレイではない環境で、デスクトップ全体の画面キャプチャーをする方法を考える。 最初に、PowerShellでSystem.Windows.FormsとSystem.Drawingクラスを使えるように以下のコマンドを実行しておく。PowerShellのウィンドウを閉じるまでに1回だけ実行しておけばよい。複数のキャプチャー方式を解説するが、どの方法でも、このAdd-Typeコマン
コンテキスト 私もGoとRustの比較記事書いてバズるやつやりたい — みょん (@myuon_myon) February 27, 2020 仕事でGoとRustを書いています。いずれもWebのサーバーサイドです。パフォーマンスとかほとほどって感じなので極限までチューニングしたりしません。という前提で読んでください。 Rust/Goはいずれも習得してから2年くらい書いています。書いてる量も多分そんなに変わりません。 Go なんと言っても習得難度が低いので人を選ばず書けるようになります。現状だと仕事で書くなら一番無難な選択肢だなと思っています。一方言語もエコシステムも何もかもかなりクセが強いので、Go Wayにちゃんと従うことが大事だなと思ったりします。 ジェネリクスがないことは高速なコンパイルなど利点もありますがmap,filter等を型ごとにfor文書きまくることになるのでとても手が疲
PowerShellに関しては、2021年に1回まとめたのだが、あれから3年も経過したので最新情報も含めて、簡単に解説したい。なお、それぞれのこれまでの経緯などは、過去記事に記載しているので参考にしてほしい。 ●あらためて「PowerShell」の現状と登場後の経緯を整理する https://ascii.jp/elem/000/004/052/4052789/ 結論から言えば、PowerShellには、Windowsに同梱されている「Windows PowerShell」と、ユーザーがインストールする必要がある「PowerShell」がある。コマンドラインを使う頻度が高いようならば、最新のPowerShellをインストール、そうでなければWindows PowerShellで十分である。 PowerShellのインストーラーなどに表示される奇妙な人物イラストを見たことがある人もいるだろう。
本記事は 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#に対応した豊富な開発ツールによる開発生産性の向上を期待できるとい
はじめに この記事はサービスを爆速で作ったり、ドメイン駆動設計の解説をするようなものではありません。 ドメイン駆動設計の勉強をしていて、手を動かす機会が足りないと感じていました。そこで、今の理解で実際に動くシステムをドメイン駆動で開発してみようと思いました。 本記事はその開発の過程や考えていたことを記録したものです。 「この人はこういう形に落とし込んだんだな~」くらいで見ていただけたらありがたいです。 作成するシステム 今回作るのは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版(ナイトリービルド的なもの)にて、クリスマス絡みのちょっとした演出として、設定アイコンの歯車にサンタ帽が被せられた、というもの。これを見たユダヤ教徒と思われるユーザが、「宗教のシンボルをエディタに載せて宗教を推すことは不快極まりない、私にとってサンタ帽はナチスの鈎十字に等しいシンボルだ、最優先で削除しろ」と強い口調で抗議したため、開
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人で同時に編集することはできても、プログラマ同士の会話は別に電話やチャットツールなどを用いなければ行えませんでし
tl;dr 筆者はvim派でVSCode初心者。でも勧められたので数カ月ぶりに起動してみた。 Pluginを色々入れていたので、サイドバーにはたくさんのアイコン。なにこれ楽しい。 Cloud Codeタブを触っていたら…指先が震えてトラックパッド誤操作。「Delete Cluster」を押してしまう。 その時たまたま偶然、GCPのオーナー権限を持つIAMで認証していた。 盛大にやらかして復旧が手間だったが、いくつかの理由で障害として顕在化しなかった。 というお話 何をやらかしたのか やらかし当時、筆者はGCPでデータ処理基盤の開発を行っていました。vimとzshが大好きで、開発のすべてをこの2つで済ませてましたが、同僚にVSCodeを猛プッシュされたので使ってみることにしました。 VSCodeは数ヶ月前にインストールしたもののそのときは結局使わず。数ヶ月ぶりの起動でした。 インストール時に
はじめに 対象とする読者について 本記事の対象者としては以下のような人を想定しています。 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
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く