#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 などのディレクティブが用意されています。 そこで、実際に試してみた時のメモを残します。 目次 環境 長いのでまとめ 認証…

usernameAttributesを使って、aws-amplify-vueのamplify-sign-inにあるusernameを変更する

AWS Amplify Framework (JavaScript) には、Vue.jsで使える便利な Vue Componentが用意されています。 Vue - AWS Amplify JavaScript https://github.com/aws-amplify/amplify-js/tree/master/packages/aws-amplify-vue ここには SignIn ConfirmSignIn SignU…

#awsxon #jawsug AWS Expert Online at JAWS-UG長野 (AppSync編) に参加しました

7/4に開催された、AWS Expert Online at JAWS-UG長野 (AppSync編) に参加しました。 AWS Expert Online at JAWS-UG長野 - connpass 会場はギークラボ長野でした。 また、資料などは後日公開されるとのことです。 最近AppSyncをさわっていたので、タイムリー…

AWS AppSyncのPipeline Resolverを使って、複数のDynamoDBの値をマージして返すAPIを作成してみた

前回・前々回と、単一のデータソースから値を取得するAWS AppSync APIを作成しました。 Pythonで、 AWS AppSyncのquery・mutation・subscriptionを試してみた - メモ的な思考的な Pythonで、AWS Lambda をData sourceに持つ AWS AppSync API を呼んでみた - …

Pythonで、AWS Lambda をData sourceに持つ AWS AppSync API を呼んでみた

前回、Data sourceがDynamoDBである AWS AppSync APIをPythonで呼んでみました。 Pythonで、 AWS AppSyncのquery・mutation・subscriptionを試してみた - メモ的な思考的な ただ、AWS AppSync のData sourceでは、DynamoDBの他 Amazon Elasticsearch AWS Lam…

Pythonで、 AWS AppSyncのquery・mutation・subscriptionを試してみた

最近 AWS AppSync にふれる機会がありました。 そこで今回は、AWS AppSyncのGraphQLインタフェースを使って、Pythonでquery・mutation・subscriptionを試してみましたので、メモを残します。 目次 環境 長いのでまとめ AWS AppSyncでAPIを作る mutationの実…

SSHトンネル内にSSHトンネルを通して、踏み台2つを経由した多段ポートフォワーディングをしてみた

踏み台の奥に目的のサーバがある環境では、踏み台経由のSSHトンネルを作り、多段ポートフォワーディングにてアクセスすることがあります。 そんな中、SSHトンネル1つだけでは接続できない環境がありました。 そこで、SSHトンネル内にSSHトンネルを通して、踏…

LaravelでCRUDのあるToDoアプリを作ってみた

Laravelを理解するために、CRUDのあるToDoアプリを作ってみました。 そこで、後で思い出しやすいよう、慣れているDjangoでの作り方も併記する形で、メモを残しておきます。 目次 環境 プロジェクトの作成 モデルの作成 テーブル定義 モデルとマイグレーショ…

#gdg信州 #io19jp Google I/O Extended 2019 in Shinshuに参加しました

6/1に開催されたGoogle I/O Extended2019 in Shinshuに参加しました。 Google I/O Extended 2019 in Shinshu - GDG信州 Google I/O Extended 2019 in Shinshu - connpass #gdg信州 #io19jp 会場入り pic.twitter.com/DZshFiWD1H— thinkAmi (@thinkAmi) 2019…

DjangoCongress JP 2019で発表するまでの準備を振り返ってみた #djangocongress

前回書いた通り、DjangoCongress JP 2019にて発表しました。 DjangoCongress JP 2019 去年も同じようなことを書いたのが、当時の様子を振り返るのに役立ったため、今年も残しておきます。 なお、CfPを出した時点の、自分のスペックは以下の通りです。あまり…

DjangoCongress JP 2019 に参加 & 発表しました #djangocongress

5/18に開催された、DjangoCongress JP 2019に参加 & 発表しました。 DjangoCongress JP 2019 昨年同様、開催場所はサイボウズ株式会社の東京オフィスでした。 東京オフィス アクセスマップ | サイボウズ株式会社 今年も良い感じの雰囲気でした。 自分の発表…

Windows10 + pyinstallerで、Djangoをexe化して配布可能にしてみた

最近、Windows10 + pyinstallerで、 WindowsでDjangoアプリを開発 開発したDjangoアプリを、別のWindows端末に配布 別のWindows端末にて、Djangoアプリを実行 をしました。 pyinstallerのWikiに方法が記載されていますが、いろいろとハマったため、メモを残…

GitLab CI + docker-reviewを使って、Markdownをtextlintしてからpdf化するCI環境を作ってみた

最近、Markdownからpdfを作る機会がありました。 pdf化を都度行うのは手間だったため、何か良い方法がないかを探したところ、 Markdown > Re:VIEW > pdf という経路でpdfを作成できそうでした。 ただ、手動でpdfを生成するのが手間だったため、GitLab CIを使…

#stapy #glnagano みんなのPython勉強会 in 長野#3に参加しました

3/23にギークラボ長野で開かれた「みんなのPython勉強会 in 長野 #3」に参加しました。 みんなのPython勉強会 in 長野 #3 - connpass 今回は、トークセッションともくもく会の2本立てでした。資料は上記のconnpassにまとまっています。 長野県内はもちろん、…

Python3.4 & Django1.8な個人アプリを、Python3.7 & Django 2.1 へとアップデートした

以前、食べたリンゴの割合をグラフ化するHerokuアプリを作りました。 Python + Django + Highcharts + Herokuで食べたリンゴの割合をグラフ化してみた - メモ的な思考的な Python3.4 & Django1.8な環境で作成した2015年以降、食べたりんごの種類を記載してい…

HerokuのCedar-14に、Python3.7系アプリをデプロイしたらエラーになった

昔作成したHerokuアプリのPythonが3.4系だったため、Python3.7系で動作するようにアプリを修正し、Herokuへデプロイしたところ、 $ git push heroku feature/migrate-to-django2:master Enumerating objects: 171, done. Counting objects: 100% (171/171), …

pytestを4系にアップデートしたら、pytest-freezegun 0.2.0 でエラーが出た

Pythonで日付まわりをテストする場合、日付を固定できる freezegun が便利です。 spulec/freezegun: Let your Python tests travel through time また、pytestの場合、pytestのプラグインとして pytest-freezegun があります。 ktosiek/pytest-freezegun: Ea…

macOS + postgresqlでエラー「dyld: Library not loaded」が出た

macOS + PostgreSQLで環境構築したところ $ psql dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib Referenced from: /usr/local が出たため、対応した時のメモです。 目次 環境 調査 対応 環境 macOS 10.13.6 (High Sierra) Hom…