C# + AutoMapperで、ArrayListをオブジェクトへマッピングする

C#

AutoMapperを使うことで、オブジェクト同士を簡単にマッピングできます。 そんな中、ArrayListをオブジェクトへマッピングすることがあったため、対応したときのメモを残します。 目次 環境 ArrayListをオブジェクトへマッピング ListをListへマッピング 双…

ASP.NET Core 3.1 & Vue.js 上で、Handsontableを動かしてみた

ASP.NET Core 3.1 & Vue.js 上で、Handsontableを動かす機会があったため、メモを残します。 目次 環境 環境構築 ASP.NET Core 3.1向けのVue.jsプロジェクトテンプレートについて ASP.NET & Vue.jsの環境構築 テンプレートのインストール プロジェクトの作成…

EntityFramework Core 3.1で、int型やint?型のフィールドに対するIsRequired()の挙動を確認してみた

EntityFramework Core (以降、EF Core)では、テーブルのフィールドのNOT NULL制約を制御する方法の一つとして、Fluent APIがあります。 Entity Properties - EF Core | Microsoft Docs そんな中、フィールドの型が int と int? では、Fluent APIの挙動が異な…

C# で、「ジェネリッククラスを継承し、型引数付コンストラクタを持つクラス」を作成する

C# ではジェネリックを使って、型を引数として渡すことができます。 ジェネリック - C# によるプログラミング入門 | ++C++; // 未確認飛行 C そんな中、「ジェネリッククラスを継承し、型引数付コンストラクタを持つクラス」を作成する機会があったので、メ…

EntityFramework Core 3.1で、ClientSetNullの挙動を確認してみた

EntityFramework Core(以降、EF Core)の外部キーの ON DELETE について調べたところ、 ClientSetNull の存在を知りました。 連鎖削除 - EF Core | Microsoft Docs いつからこのような設定があるのか調べたところ、EF Core 2.0から導入されたようです。 EF Co…

2019年の振り返りと2020年の目標

例年通り、2019年の振り返りと2020年の目標っぽいものを書いてみます。 2019年の振り返り 2018年の振り返りと2019年の目標 - メモ的な思考的な で立てた目標を振り返ってみます。 Pythonをベースに、いろいろな分野の素振り 仕事でPython以外の言語にもふれ…

Handsontable 7.3.0で、オブジェクト配列を使ったloadData()が動作しない

グリッドライブラリの Handsontable では、 loadData() を使ってグリッドのデータを更新できます。 https://handsontable.com/docs/7.3.0/Core.html#loadData ただ、手元で試したたところ動作しないことがあったため、メモを残しておきます。 目次 環境 現象…

EntityFramework Core 3.1 にて、null許容参照型機能の有効・無効ごとに、NOT NULL制約の状況を確認してみた

EntityFramework Core (以降、EF Core)のドキュメントを見ていたところ、C#8.0以降のnull許容参照型機能により、NOT NULL制約の付き方が変わるようでした。 必須およびオプションのプロパティ-EF Core | Microsoft Docs そこで今回、null許容参照型機能の有…

EntityFramework Core 3.1 を使って、色々な一対多のリレーションを試してみた

前回、EntityFramework Core (以下EF Core)を使って、一対多のリレーションがあるデータを作成してみました。 ASP .NET Core 3.1 + EntityFramework Core を使って、一対多のリレーションがあるデータをレスポンスしてみた - メモ的な思考的な そんな中、公…

ASP .NET Core 3.1 + EntityFramework Core を使って、一対多のリレーションがあるデータをレスポンスしてみた

ASP.NET Core 3.1 + EntityFramework Coreを使ってアプリを書いた際、1モデルのデータを返す方法はチュートリアルにありました。 チュートリアル: ASP.NET Core で Web API を作成する | Microsoft Docs ASP.NET Core を使って Web API を作成する | Microso…

Pythonで、unittest.mock.patchを使って定数を差し替える

小ネタです。 以前、 unittest.mock.patch を使ってデコレータを差し替えたことがありました。 Pythonで、unittest.mock.patchを使ってデコレータを差し替える - メモ的な思考的な 今回は、unittest.mock.patch を使って定数を差し替えてみます。 目次 環境 …

ついカッとなって、飲み会座席のくじ引きアプリを作った話

この記事は、 JSL (日本システム技研) Advent Calendar 2019 - Qiita 12/2の記事です。 昨年同様、今年もJSLメンバーによるアドベントカレンダーをお届けします。 今回の記事は、ついカッとなって作成したアプリについて、ゆるく書いていきます。 目次 作っ…

AWS CDKで、cdk deployしたらエラー「NoSuchBucket: The specified bucket does not exist」

先日、S3に不要なバケットがたまっていたため、バケットを全削除をするスクリプトを作成・実行しました。 その後、AWS CDK + Pythonで、 cdk deploy したところ、 ❌ <your_backet_name> failed: NoSuchBucket: The specified bucket does not exist The specified bucket does </your_backet_name>…

DjangoのListViewで、対象データがない場合は404ページを表示する

DjangoでListViewを使う場合、デフォルトではモデルにデータがない時は HTTP200 で、データがない状態で表示されます。 ただ、モデルにデータがない場合に HTTP404 を表示したい時はどうするか、調べたことをメモしておきます。 目次 環境 調査 allow_empty=…

AWS CDKで、cdk deployしたら「Unable to resolve AWS account to use」エラー

AWS CDKを使って cdk deploy したところ $ cdk deploy Unable to resolve AWS account to use. It must be either configured when you define your CDK or through the environment というエラーが発生したため、対応した時のメモ。 環境 macOS 10.13.6 Pyt…

AWS CDK + Pythonで、ネストした AWS StepFunctions のワークフローを作ってみた

今年の7月にAWS CDK (Cloud Development Kit) がGAとなりました。 AWS クラウド開発キット (CDK) – TypeScript と Python 用がご利用可能に | Amazon Web Services ブログ APIリファレンスも公開されているため、これでPythonを使ってAWSのリソースを作成す…

#pyconjp 発表「知ろう!使おう!HDF5ファイル!」の落ち穂拾い

PyCon JP 2019にて発表をした際、いくつか質問をいただきました。 前回の記事にもあるように、当時きちんと回答できたか不安だったため、今回落ち穂拾いとしてまとめてみます。 なお、誤りや過不足などがありましたら、ご指摘いただけるとありがたいです。 …

#pyconjp PyCon JP 2019に参加しました & 発表しました

9/16(月・祝)・17(火)に大田区産業プラザ PiOで開催された「PyCon JP 2019」に参加 & 発表しました。 トップページ - PyCon JP 2019 #pyconjp 着いた pic.twitter.com/JFJTANVtvq— thinkAmi (@thinkAmi) September 16, 2019 去年同様、今年も無事に参加でき…

#agileshinano #glnagano Agile Jam in ながのに参加しました

8/24にギークラボ長野で開かれた「Agile Jam in ながの」に参加しました。 Agile Jam in ながの - connpass 平日夜に開催されているワークショップの拡大版で、複数のスクラムマスターの方々からお話を直接聞けるなど、とても有意義なイベントでした。 以下…

AWS Amplifyで、カスタムカテゴリを作って、カスタムリソースを追加してみた

今まで、Amplifyが用意する以外のリソースを使いたい場合は、 <project_root>/amplify/backend/api/<API name>/stacks ディレクトリの中に、CloudFormation(CFn)ファイルを作成して対応してきました。 AWS AppSync + Amplify JavaScript + CustomResourcesで、既存のDynamoDBなどをDa</api></project_root>…

AWS Amplifyで、amplify env を使って、開発環境の共有と分離をしてみた

開発をしていると、AWS Amplifyを使ったソースコードをGithubなどでチームで共有することがあります。 AppSync APIやDynamoDBなどの環境を同一にして、チームで開発する方法を探したところ、公式ドキュメントに amplify env を使う方法が記載されていました…

AWS AppSyncにて、同じ内容でMutationした場合に、Subscriptionがどうなるかを試してみた

AWS AppSyncでは、Mutationした時の通知をSubscriptionで受け取れます。 リアルタイムデータ - AWS AppSync ただ、DynamoDBのレコードと同じ内容でMutationした場合でも、Subscriptionがどのように動作するのか気になったため、試してみた時のメモを残します…

AWS Amplify CLIで、.graphqlconfig.ymlを使って、schema.jsonやqueries.jsonなどの保存場所を変更する

Amplify CLIで amplify push することで、必要に応じてAppSyncのスキーマファイル ( <project_root>/amplify/backend/api/"api_name"/schema.graphql ) を元に、Amplify Framework向けのソースコードを生成してくれます。 $ amplify push Current Environment: dev | Categ</project_root>…

AWS AppSync + Amplifyで、Subscriptionに引数を追加し、一部のみ通知を受け取ってみた

AWS AppSyncでは、Subscriptionを使うことでMutationに対する通知を受け取ることができます。 リアルタイムデータ - AWS AppSync また、AWS AppSyncにAWS Amplifyを組み合わせた場合でも、Amplify FrameworkのSubscriptionが使えます。 Subscription | AWS A…

AWS AppSync + Amplifyで、AWS_IAM認証を使って、認証されていないユーザーに対してQueryを許可してみた

AWS AppSyncを使ってGraphQL APIを公開する場合、 Default authorization mode が必須なため、何らかの方法での認証を行う必要があります。そこで、AWS_IAM認証を使って、認証されていないユーザーに対してQueryを許可してみた時のメモを残します。

AWS Amplify CLIの amplify auth push の挙動について

AWS Amplify CLI のREADMEを見ると、 amplify auth push Provisions only Auth cloud resources with the latest local developments. https://github.com/aws-amplify/amplify-cli/tree/master/packages/amplify-category-auth という記述がありました。 気…

AWS Amplifyで、既存のAmazon Cognitoを使う方法を探してみた

AWS Amplifyでは、Authentication moduleを使うことで、簡単にAmazon Cognitoの新しい環境が作れます。 Authentication ただ、Amplify CLIを使って既存のAmazon Cognito環境を利用する方法が見当たらなかったので、調べた時のメモを残します。 目次 環境 結…

AWS AppSync + Amplify JavaScript + CustomResourcesで、既存のDynamoDBなどをDatasourceとしたリゾルバーを作成する

AWS Amplify JavaScriptを使ってAWS AppSync APIを作成する場合、 amplify add api した直後はDynamoDBのテーブルが新規作成されます。 既存のDynamoDBを使いたい場合は、 amplify push でAPIをデプロイ後にAppSync Consoleにて内容を編集することもできます…

AWS AppSyncのリゾルバで、AWS CognitoのグループやHTTPリクエストヘッダを使った認可処理を書いてみた

前回、Schemaで @aws_auth や @ aws_cognito_user_pools などを使って認可処理を書いてみました。 AWS AppSyncのSchemaで、認証・認可系ディレクティブの @aws_auth や @aws_cognito_user_pools などを試してみた - メモ的な思考的な ただ、複数認証時に @aw…

AWS AppSyncのSchemaで、認証・認可系ディレクティブの @aws_auth や @aws_cognito_user_pools などを試してみた

AWS AppSyncのSchemaには、簡単にユーザー認証・認可を行える @aws_auth @aws_api_key @aws_iam @aws_oidc @aws_cognito_user_pools などのディレクティブが用意されています。 そこで、実際に試してみた時のメモを残します。 目次 環境 長いのでまとめ 認証…