『merpay Tech Talk ~ 伝わる技術文書の書き方 ~』に参加したので学んだことをまとめる

『merpay Tech Talk ~ 伝わる技術文書の書き方 ~』という、メルペイ主催の技術イベントがあったので学んだことをまとめたいと思います。 mercari.connpass.com イベントの内容 以下のような内容になっていました。 オープニングトーク 柴田芳樹 さん(メルペ…

C# 9.0 の record 型 と DDD の値オブジェクトについて

.NET 5 のリリースにより、 C# 9.0 が使えるようになりました。 C# 9.0 の新機能の中で注目を浴びている機能として record 型があります。 この record 型がドメイン駆動設計の値オブジェクトの設計に有用だという知見を得たので、この知見について記したい…

Excel を読み取るコマンドレットを見つけたので SQL Server にデータを入れる PowerShell スクリプトを書いてみた。

こんなものを見つけました。 www.powershellgallery.com Excel を読み取れる PowerShell のコマンドレットです。 思いつくことは 1 つですね? そう、Excel でテストデータを作成し、データベースに Insert するスクリプトの作成です。 なので、試しに書いて…

dotnet tool install で 401 anauthorized エラーが出てインストール出来ないときの対処法

自作の暗号・復号化ツール CryptStr バージョンアップをしたのでツールを再ダウンロードしようとしたのですが、 以下の通り、401 でダウンロードに失敗してしまいました。 こんな時は以下のコマンドでキャッシュをクリアすると認証が通るようになることがあ…

Git でユーザーを間違ってコミット→プッシュしてしまったときの対処法

私は Git 利用では個人用と仕事用の2つのユーザーを使い分けています。 このため、たまに仕事用のユーザーで個人のリポジトリにコミット→プッシュしてしまったりして、厄介です。 でも、Git にはあとからコミットしたユーザーを修正する方法が用意されていま…

データベースへの更新処理で Rollback/Commit の確認処理を自動化

SI事業では保守作業などでSQLを流してDB操作をすることがちょくちょくあります。(自社開発系は経験がないのでどうしてるか分かりません...) 今まで、ロールバックするように記述したスクリプトを発行し、正しく登録されることを確認してからコミットに書き…

他リポジトリのファイルをコミットも一緒に移行する方法

git を使っているとファイルを履歴ごと別のリポジトリに移行したい場合が発生すると思います。 例えば過去の構成管理ルールがあいまいでカオスになってしまったので一から作り直したいとか。 そんなリポジトリを移行したくなった時の手順をメモしておきます…

Docker コンテナ内で実行した Angular アプリをホストからアクセスする

以下のコマンドで実行するとホストからアクセス出来るようになります。 $ ng serve --host=0.0.0.0 --poll --host=0.0.0.0 を付けないと外部から見えなくなるそうです。 --poll をつけることで webpack がソースコードを監視する精度が上がってちゃんとホッ…

PowerShell Core で確認ダイアログ

以下のコードで実装。 $title = "タイトル" $message = "メッセージ" $options = [System.Management.Automation.Host.ChoiceDescription[]]( (New-Object System.Management.Automation.Host.ChoiceDescription "&Yes", "実行する"), (New-Object System.Ma…

Windows で sudo を実現する、「gsudo」の紹介

Linux に慣れている人は Windows に sudo コマンドがないことに不満はないでしょうか? 私はあります。 例えば、 Windows のパッケージマネージャーの 1 つである Chocolatey でアプリをインストールするときに管理者権限じゃないとインストール出来なくて一…

Azure DevOps で PR をマージするときにブランチを削除出来なくなった際の対処法

気づいたら PR をマージするときにグレーアウトしててソースブランチを削除できなくなってしまいました。 このままではゴミブランチが溜まってしまうのでその対処法を備忘録します。 といっても単純で、リポジトリの設定で Force push の設定を Allow にして…

パスワード付き zip 圧縮ツールを nuget に公開しました

以前こんな記事を書きました。 neko3cs.hatenablog.com このツール、理想としていた zip コマンドと少しインターフェースが違いました。 また、上記記事執筆時は画像の通り動いていたのですが、不具合が発生し動かなくなってしまいました。 このため、改修を…

文字列暗号化ツールを作って nuget に公開してみた

文字列暗号化ツール cryptstr を作って nuget に公開してみました。 github.com www.nuget.org 業務で文字列の暗号化や復号化をすることがあるので以前、PowerShell Module として開発しましたが、dotnet core tool の方が圧倒的に便利だと思ったので作り直…

「まんがで読破 君主論」から君主論を学ぶ

最近、「まんがで読破 君主論」を読んだので忘れないようにアウトプットします。 www.amazon.co.jp 君主論とは 君主論は 16 世紀のまだイタリアが統一されていない時代、フィレンツェ共和国の外交官ニコロ・マキアヴェッリによって書かれた権謀術数書です。 …

『テスト駆動開発(TDD)オンライン勉強会 #1』に参加しました

『テスト駆動開発(TDD)オンライン勉強会 #1』に参加しました。 ddd-community-jp.connpass.com 内容は YouTube Live のアーカイブとして残すみたいです。 後から見返せるように出来るのはオンラインセミナーのいいところですね。 印象に残った内容 テスト駆…

SIer 勤務の私が 1 週間在宅勤務を初めて感じたこと

最近、某ウイルスの影響で首都圏では在宅勤務をする会社が増えていると思います。 私自身、在宅勤務と言うものは初めてでした。 そのため、SIer 勤務の私の目線で 1 週間やってみた感想を述べていきたいと思います。 これから在宅勤務する人や、既にしている…

dotnet core tool でパスワード付き ZIP 圧縮ツール作ってみた

最近巷では dotnet core tool というものが流行っている?のを知りました。 docs.microsoft.com 一言でいうと、 npm global tool です。 Console App で作ったツールを NuGet に公開したりして使えます。 私は以前こんな記事を書きました。 neko3cs.hatenabl…

IDDD 本 1 章を読んだのでアウトプットする

IDDD 本こと「実践ドメイン駆動設計」の 1 章を読んだので忘れないようにアウトプットします。 1 章のテーマは「 DDD への誘い」になります。 そもそもなぜ DDD を導入するのか DDD を導入した結果、DDD がもたらしてくれる物を本書では以下のように表現して…

PowerShell Binary Module を作ってみた

最近 PowerShell での自動化がマイブームです。 ちょっとしたツールとかも PowerShell スクリプトで作ったりしますが、あんまり複雑なものだと C# バッチアプリで書いた方が楽じゃないかと思う時があります。 そんな中いろいろ調べてみたら C# で PowerShell…

すぐ出来る! iPhone タスク管理術

みなさんはタスクをどう管理していますか? 本エントリーでは、明文化することで自分を戒める意味も込めて、私が実践している私生活でのタスク管理術を紹介します。 ちなみに私のタスク管理術は GTD というタスク管理術を参考に自分なりにカスタマイズしてい…

テストデータの準備について

システムを作成していると必ずテストをするフェーズがあります。 新規で機能を実装するとその機能に見合ったテストデータを準備しなければならず、この作業のコストは大抵安いものではありません。 そこで皆さんがどんな方法でテストデータを準備しているの…

macOSのログインシェルをHomebrewで取得したzshに切り替える

今更ですがmacOSがCatalinaになってからターミナルでのデフォルトログインシェルがzshになりました。 bashに比べてzshの方が高機能であるそうなのでzshを使うことにしました。 ですが、macOSデフォルトのzshよりHomebrewから取得したzshの方がバージョンが最…

2020年 今年の抱負

なんかみなさん2019年のまとめや振り返りをされていたので私は心機一転で新年の抱負をまとめたいと思います。 おみくじの学問の欄に早期に目標を立てて全力を尽くせってあったのでひとまずふわっと今年は以下の項目を習得しておきたい・Webフロント技術(JS…

ASP.NET Coreで"500.0 In-Process Handler Load Failure"のエラーが出た際

Windows Server上のIISでホストしたASP.NET Coreアプリが 500.0 In-Process Handler Load Failure のエラーで停止した際の対処法です。 以下の条件下でPublishした際に発生しました。 項目 値 dotnet version 2.2.402 配置モード 自己完結 ターゲットランタ…

git 入門 〜Tips編〜

git 入門の4章、Tips編に入りたいと思います。 基本的な使い方意外で困ったときにざっと見る用のTips集です。 少し上級な内容等もあるかもですが、おそらくコピペで実行出来るかと思います。 前章は以下になります。 neko3cs.hatenablog.com Tips ぱっと思い…

git 入門 〜基本利用編〜

git 入門の3章、基本利用編に入りたいと思います。 本章では git を最低限使うための簡単な手順を説明します。 前章は以下になります。 neko3cs.hatenablog.com git の基本的な使い方 git をつかって覚えるべき最初の操作は以下の5つだと思います。 リポジト…

git 入門 〜導入編〜

git 入門の2章、導入編に入りたいと思います。 本章では git を使うにあたっての事前準備の仕方を説明します。 前章はこちらになります。 neko3cs.hatenablog.com 導入手順 基本的に以下の手順で git がすぐに使える様になると思います。 GitHubにアカウント…

git 入門 〜紹介編〜

git は今やバージョン管理システムのデファクトスタンダードになっています。 しかしながら、若手エンジニアである、レガシーな環境にいるために git を知らない、 そもそも難しそうなどの理由で git を使えない人もいるかと思います。 今回はそんな迷える子…

bashでコマンドの存在確認をする

最近環境構築の自動化にハマりつつあります。 Linux等のUNIX OSではほとんどが標準でパッケージマネージャが存在し、 アプリケーションの管理はパッケージマネージャで行われることが多いです。 macOSの場合、Homebrewを使うことによって アプリケーションの…

ASP.NET Core Moduleをサーバにインストールする際の注意点

おしごとで勘違いしたので備忘録。 ASP.NET CoreをIISでホストする時、ASP.NET Core Moduleをサーバにインストールする必要があります。 いろいろ調べていてIISにインストールしたModuleをIISの [機能ビュー] > [ハンドラーマッピング] からモジュールマップ…