C#
タイトルまま。マジ謎だったのでdonet runでデバッグしてたが、vscode限定の現象だったので拡張じゃね?と思ったらやっぱり拡張のせいだった。C#の拡張が複数ある場合があるので不要な重複は削除する。以下のような場合は ls /Users/{user_name/.vscode/exte…
サイトを運用する人あるあるで 「ガイドとかヘルプ、マジめんどくせ〜」 ってなりませんか?僕はめっちゃなります、 CSSとかマークアップがとりあえずだるいし、wordpress運用してAPIで取り込むとかもだるいです。 今回はC#でmarkdownが書けるライブラリを紹…
C#のORマッパーはEntity Framework(以下EF)をはじめ、Dapper、PetaPoco等が有名ですが、とにかくどれも微妙な完成度でRailsのActiveRecodeみたいなものがありません(Entity Frameworkがそれですが、とにかく遅い)。Dapperほどの速度が出てビルダーマッピ…
ASP.NET Identityを使っていて、ログイン後に任意の値を入れたいと思うことが多々あります。例えば、ユーザーを特定するIDやその他ユーザーに付随する情報など。ASP.NET Identityはセキュリティ上認証の際のみClaimに追加できないのでそのイベントのフックと…
SpotifyのApiをみんなの洋楽ランキングで使いたかったのでラッパーライブラリを途中まで作ってました。 github.com が、相当完成度の高いライブラリがありましたので自前で実装するのをやめてSpotifyAPI-NETと言うものを使いました。 github.com Client IDと…
.NETのTwitterライブラリにCoreTweetってのがあります。TwitterAPIのラッパーです。www.nuget.org最近、コンテンツ追加にCoreTweetを使ったので簡単な検索方法を説明します。以下のような感じで「続きを読む」を押すと過去5件でツイートが表示されます。 .N…
小ネタ。IEnumerableをマッピングするときにAutoMapperを使うのがメジャーですが、AutoMapperを使いたくないなーってときがあります(僕だけ?)。例えば、自作ライブラリでnugetを使ってて、そのnugetライブラリのクラスとメインプロジェクトのクラスをマッ…
.Net Coreでは何も指定しないとC#7.0しか使えません。こんなエラーが出ます。 Feature '新機能' is not available in C# 7.0. Please use language version 7.1 or greater. 7.1以上にあげなさい 7.1以上にあげる場合はcsprojに以下を記載します。 <LangVersion>7.1</LangVersion>常に最…
HttpClientFactoryについてめっちゃ内容薄い、他のブログ見た方が良いかもHttpClientがとりあえずひどい作りなので、HttpClientFactoryってものがあります。HttpClientのひどい設計をカバーしたものがHttpClientFactoryです。名前もひどいもんですね。 HttpC…
SendGridイイね!Azure App Service on Linuxに移行する為にテストをしていたところ、メール送信に失敗するようになりました( ゚д゚) tekitoumemo.hatenablog.com 色々調べてみるとAzureではメール送信を推奨していないことがわかりました。 Azure 上にメール…
かなり一般的なネタですが、以外に実装されている現場が少なく、色々処理した後にエラーチェックしてバグる現象が発生していることが多い気がするので備忘録として。以下に書いているコードは.Net Core2.1です。Frameworkでもほぼ一緒なので参考になるかなと…
大したものじゃないんですが、課題だった日付の検索プルダウンを実装しました。数年に遡って週ごとにプルダウンを出してたのですが、使いづらすぎる、量が多すぎる、パフォーマンスも気になるので整えました。インデックスが1000を超えたので(ページ数は200…
automapper.orgC#のWEB開発ではAutoMapperが欠かせないレベルでかなり重要なのですが、完全にマッピングするのはやっぱり難しかったりします。MapFromだと三項演算子しか書けなくて読みづらい場合も出てくるのでifでかける方法を探しましたらあったので、備…
結構サボってたー。ブログ書き続けるのは難しい!平日は寝たいし、休日は遊びたいし。今回はASP.NET Core MVCでのファイルダウンロードの実装方法を説明します。ファイルダウンロードにもいろいろあって ファイルを保存させる ファイルをブラウザで表示させ…
mygkrnk.com 地味ーな努力と運によってSEO4位(「洋楽ランキング」で)まで行きました。今月は12KPVまで行く見込みで、予想よりはるかに上回りました。ということで、.Net Coreで作っているみんなの洋楽ランキングで使っているミドルウェアの紹介します。正…
タイトル長杉 最近Azureにハマってます。今回のタイトルはAzureで出来ますし楽ですしやる意味わからんと思う人がいると思いますが、それなりに理由があります。 なぜにへろく? SSLを使った画面が必要になったためです。で、SSL化するためにはインフラの選定…
前回の記事の続きです。やっとみんなの洋楽ランキングの.NET Core対応が終わりましたので今週末に完全移行します!.Net CoreなのでAzureからGCPに行こうしようと思いましたがやっぱりAzure良い!特に不満がなければAzureで行こうと思ってます。近いうちにLin…
みんなの洋楽ランキングにて.Net Coreのエラーハンドリングを実装する必要がありました。エラーハンドリングのやり方は公式でも載ってるのですが、実用的な記事があまりないので僕なりのやり方をここで紹介しようと思います ※これは私のオリジナールも含まれ…
トランザクションを書くとき、成功したらcommit、失敗したらrollbackと結構めんどいのですが、それらを解決してくれるのがTransactionScopeです。例で書いた方がわかりやすいので以下で説明します。例はDapperを使います。 通常のトランザクション cn.Open (…
みんなの洋楽ランキングを.NET Coreに絶賛移行中でMacBook Airのみで開発しています。.Net Core3.0ではWindows Formも対応するみたいでなかなか最強感出てきましたね!ASP.NET CoreはScalaの1.7倍のパフォーマンスを出すそうです。 www.ageofascent.comタイ…
macでもコマンドベースだとSPAがちゃんと動きます。以下の通り。 dotnet new angular -o angularTest npm i webpack dotnet restore dotnet build dotnet runこれで動くのでvscodeでデバッグしたら以下のエラー。。 意味不明なエラーが出た、ubuntuでは動い…
AutoMapperがあまり使い勝手良くなかったから自分で作りました。クラスの型が違っててもだいたいマップするよってライブラリ。 メソッド これだけ(笑) void Map<T1, T2>(T1 src, T2 dest) T1:コピー元のクラス型 T2:コピー先のクラス型 src:コピー元のモデル de</t1,>…
タイトルどおりです。なんにも動かんくなったので、対処法を書く。まず以下のエラーが発生 Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly 'System.Runtime.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyT…
SSLやらなんやらやってきましたが、最終章です。 tekitoumemo.hatenablog.com tekitoumemo.hatenablog.com tekitoumemo.hatenablog.comSSLやらドメインの取得をしたらAzure Portalへ移動します。まずはSSLの登録をしましょう。[SSL証明書]→[証明書のアップロ…
ずっとWEBサービスを作りたいと思っていて、時間やアイデアなどなかなか思い浮かばなくてずっとやらずにいましたがもう諦めついて 「趣味をWEBサービスにしちゃおう!」 と思いわりとまじめに作りました。それがこちらです。mygkrnk.com みんなの洋楽ランキ…
前回は.NET Coreをubuntuで動かすものを記事にしました。今回はubuntu上で.NET Coreを使ってAzure Databaseを動かせるかという検証です。ubuntuに.NET Coreを動かす場合は以下を参考にしてください。 tekitoumemo.hatenablog.com僕の持ってるサブPCはポンコ…
Ubuntu 16.04を入れたので、.NET Coreを入れて動かしてみました。結構、いろんな記事みて理解しながらやったので、まとめます。 .NET Coreを入れる パッケージのダウンロード。今回は「.NET Core 2.1.0-preview1 」を入れます。 wget -q packages-microsoft-…
ほぼ完成した。公開まであと少し。ASP.NETのセッション方法はいくつかあるのですが、今回はインメモリ OLTP でセッション管理を行う方法を紹介します。以下を参考にしました。 blogs.technet.microsoft.com インメモリ OLTP とは 正直、僕もよくわかってない…
テストで正常パターン、異常パターンなど様々なテストを書くと思いますが、アノテーションのエラーを取るやり方が日本語で載ってなかったので書きます。stack traceでは以下に載ってました。ASP.NETではアノテーションで大体のエラー処理が行えるのでめっち…
以前書いた記事の応用編です。 同じようなロジックなんだけど、ビューのデザインや表示する値を変えれば便利だなーと思うときがあります。今回は受け取ったパラメータから表示するビューを切り替えたり、ViewModelを変えたりする方法を紹介します。参考用にg…