Skip to content

#コード

リモートGitリポジトリを更新せずにローカルでファイルを変更する
リモートGitリポジトリを更新せずにローカルでファイルを変更する

リモートリポジトリに変更をコミットせずに、ローカルでファイルを変更する必要があったことはありませんか?

バイナリサーチの実装
バイナリサーチの実装

バイナリサーチアルゴリズムは大きな数値配列を素早く検索します。これはしばしば分割統治法と呼ばれます。

ビルドフレームワークを使用する利点
ビルドフレームワークを使用する利点

継続的インテグレーション(CI)および/または継続的デリバリー(CD)は、最近のソフトウェアプロジェクトでは標準となっています。Azure DevOps、TeamCity、Jenkins、Cruise Control.Netなど、多くのビルドサーバーがあります。

ソフトウェア開発でよく使うツールとリソース
ソフトウェア開発でよく使うツールとリソース

以下は、私がよく使用するツール、ライブラリ、リソースのコレクションです。

NVarchar と Varchar の比較
NVarchar と Varchar の比較

新しい文字列カラムを定義するエンジニアは皆決断を迫られます:nvarcharを使うべきか、それともvarcharを使うべきか?

バニラJavaScriptからReactの入力値を変更する
バニラJavaScriptからReactの入力値を変更する

バニラJavaScriptからReactの入力値を変更することは、思っているほど簡単ではありません。

FromService属性をいつ使うべきか
FromService属性をいつ使うべきか

[FromServices]属性は、Asp.Net Coreコントローラーでメソッドレベルの依存性注入を可能にします。

C# 8 - Null許容参照型
C# 8 - Null許容参照型

MicrosoftはC# 8にNull許容参照型という新機能を追加しています。 最初は混乱するかもしれません。なぜなら、すべての参照型はnull許容だからです…では、これはどう違うのでしょうか? 今後、この機能が有効になると、明示的にnull許容として記述しない限り、参照型は非null許容になります。

表現力豊かな名前を作成するための9つのガイドライン
表現力豊かな名前を作成するための9つのガイドライン

命名は主観的で状況に依存し、それは芸術です。そして、ほとんどの芸術と同様に、私たちはパターンを発見します。私は他の人のコードを読むことで多くを学びました。この記事では、私が他の人のコードを読む際に、彼らが従っていてほしかった9つのガイドラインをまとめました。

波括弧ありか、なしか?
波括弧ありか、なしか?

単一文に波括弧を付けるべきかどうかについて、熱い議論が交わされています。

理解は表現力豊かな名前から始まる
理解は表現力豊かな名前から始まる

コードを理解することは、それを修正するための第一歩です。

秘伝のソースをコード化する
秘伝のソースをコード化する

秘伝のソースをコード化することは、保守可能で成功するアプリケーションを書く上で重要です。

.Net Coreにおけるガベージコレクションのタイプ
.Net Coreにおけるガベージコレクションのタイプ

現代の言語におけるメモリ管理は、しばしば後回しにされがちです。実際のところ、私たちはメモリについてほとんど考えることなくソフトウェアを書いています。これは私たちにとって有益ですが、常に例外があります…

あなたはあなたのコードではない
あなたはあなたのコードではない

あなたのコードは、あなたの信念も、育ちも、性格も反映していません。

C#におけるクエスチョンマークの5つの異なる意味
C#におけるクエスチョンマークの5つの異なる意味

C#では、C# 8の時点でクエスチョンマークに5つの意味があります。

コレクション比較器:2つのコレクション間の差異を見つける
コレクション比較器:2つのコレクション間の差異を見つける

2つのコレクションを比較し、アイテムがソースコレクションにあるか、比較対象のコレクションにあるか、または両方にあるかに基づいてロジックを実行する必要がありましたか?私もそうでした。UIとデータベースからのデータをマージする必要がありました。良いソリューションが見つからなかったので、コレクション比較器を書きました。

ASP.Net Coreでのリクエストキャッシュの実装
ASP.Net Coreでのリクエストキャッシュの実装

アプリケーション開発のある時点で、通常はかなり早い段階で、アプリケーションが遅いことに気づきます。調査の結果、原因は同じデータを不必要に取得していることであり、ひらめきが生まれ、「キャッシュが必要だ」と考えるようになります。

コンストラクタでAwaitを実行する
コンストラクタでAwaitを実行する

コンストラクタでコードを実行する必要がある場合。別の方法を探すことをお勧めしますが、どうしても必要な場合は、こちらの方法があります。

AngularでのTemplate parse errorsの回避方法
AngularでのTemplate parse errorsの回避方法

これはAngular 2/4/+で最も苛立たしい問題の一つでした。これはAngular 2/4/+自体の問題ではなく、webpackがサポートするHTMLファイルをバンドルする方法の問題です。

シングルページアプリケーションでは、クライアントとサーバーのどちらで処理すべきか?
シングルページアプリケーションでは、クライアントとサーバーのどちらで処理すべきか?

シングルページアプリケーション(SPA)のセールスポイントの一つは、従来サーバーで実行されていた作業をクライアントに移すことでした。SPAはこの約束を果たしていると感じています。

Switch文の存在意義を検証する
Switch文の存在意義を検証する

約50年間、switch文(case文とも呼ばれる)はプログラミングの不可欠な部分でした。しかし近年、switch文はその有用性を失ったと主張する人もいます。さらに進んで、switch文をコードスメルとラベル付けする人もいます。

欠陥率を下げる4つの実践方法
欠陥率を下げる4つの実践方法

ソフトウェアを書くことは、複雑さとシンプルさの間の戦いです。この2つのバランスを取ることは困難です。トレードオフは、長くメンテナンスできないメソッドと過度な抽象化の間にあります。どちらの方向に傾きすぎても、コードの可読性が損なわれ、欠陥の可能性が高まります。

SQL Azureでのインデックス断片化、誰が知っていた!
SQL Azureでのインデックス断片化、誰が知っていた!

私は1年以上このプロジェクトに携わっており、この1年間でアプリケーションとしてもデータとしても大幅に成長しました。新機能の開発が止まることがありませんでした。コードをリファクタリングして戻ることはほとんどありませんでした...

コンセプトの実証とコードの成長
コンセプトの実証とコードの成長

最近の会話で、友人がプルーフオブコンセプトを作成し、その実現可能性をテストした後に破棄すると言っていました。私も過去に同じことをしたことがあります。今回はそれが正しいとは思えませんでした。彼がコードを捨てると言った時、私は身をすくめました。ビジネスオーナーとしての日々が私をけちな山羊に変えたのかもしれませんが、彼が価値…

ClaimsによるAngularJSのセキュリティ保護
ClaimsによるAngularJSのセキュリティ保護

アプリケーションには認可が必要になる時があります。これは、Webサイト(またはその他のもの)で異なるアクセスレベルが異なる動作をすることを意味します。 データの表示から、ユーザーグループがアクセスできない全体的なエリアまで、何でもあり得ます。

コードレビューが重要な3つの理由
コードレビューが重要な3つの理由

優れたコードレビューは、あなたの思い込みに挑戦し、建設的なフィードバックを与えてくれます。私にとって、コードレビューはソフトウェアエンジニアとして成長するために不可欠な要素です。

次の開発者のためのコーディング5つのステップ
次の開発者のためのコーディング5つのステップ

私たちの多くは、自分のコードを保守する開発者のことを考えていないでしょう。最近まで、私も彼のことを考慮していませんでした。意図的に分かりにくいコードを書いたことはありませんが、パンくずを残すこともありませんでした。

NHibernateリスナー(インターセプター)を使用した透過的暗号化の実装
NHibernateリスナー(インターセプター)を使用した透過的暗号化の実装

データベース内のデータを暗号化する必要に迫られたことはありますか?この記事では、nHibernateリスナーを使用して、データベースとの間でやり取りされるデータを暗号化・復号化する方法を探ります。暗号化はアプリケーションに対して透過的に行われます。

Code Firstでストアドプロシージャを呼び出す
Code Firstでストアドプロシージャを呼び出す

Entity Framework 6 Code Firstの弱点の一つは、データベース構造(ビュー、ストアドプロシージャなど)をネイティブに呼び出すサポートが不足していることです。Entity Framework(EF)のCode-Firstについて聞いたことがない、または使用したことがない方のために説明すると、Cod…

nHibernateでの条件付きSQLパラメータ
nHibernateでの条件付きSQLパラメータ

問題は、nHibernateの`CreateSqlQuery`が完全なSQL文字列を作成する必要があるが、パラメータを評価するまで文字列を作成できないことです。唯一の回避策は、条件付きパラメータを評価してSQL文字列を作成し、nHibernateセッションを作成してから、パラメータを再評価して`nHibernate`ク…

Crystal Reports 13 最大レポート処理制限に達した場合の回避策
Crystal Reports 13 最大レポート処理制限に達した場合の回避策

Visual Studio 2012版のCrystal Reports 13には、サブレポートを含む同時実行レポートを マシン全体で75レポートまでに制限するしきい値があります。これは、特定のサーバーに5つのWebアプリケーションがある場合、 すべての5つのWebアプリケーション全体で開かれたすべてのレポートが75レポ…

例外をスローする際の考慮事項
例外をスローする際の考慮事項

このシステムには、nullは悪いものだという根本的な哲学があります。nullが生成される可能性があるほとんどのケースで例外がスローされます。最初は、これに問題があるとは思いませんでした。アーキテクチャの決定、美学として捉えていましたが、コードとやり取りしていくうちに、これがアーキテクチャ上の間違いであることが明らかにな…

実行時におけるジェネリック型の作成
実行時におけるジェネリック型の作成

StructureMapのようなIOCコンテナで実行時型を使用してジェネリック実装を見つけるには、`MakeGenericType`を使用してジェネリック型を作成し、`_container.GetInstance(type)`を使用してコンテナからインスタンスを取得します。

コードリファクタリング
コードリファクタリング

大きなC#ファイルをより軽量で保守しやすくするためのリファクタリング。

コード: 重み付きランダム分布
コード: 重み付きランダム分布

このブログ投稿では、時間ベースの乱数生成器の予測可能性という落とし穴と共に、乱数を生成する方法を紹介します。