内部品質を上げるための参考書
先日の品質の話 https://tech.tokiraku.com/archives/196 これを考えるより前に、参考書にしていたもので、内部品質に関連のあるような書籍を出しておく。後輩にも紹介済み。 良いコード/悪いコードで学ぶ設計入門―保守しやすい 成長し続けるコードの書き方 https://www.amazon.co.jp/%E8%89%AF%E3%81%84%E3%82%B3%E3%83…
先日の品質の話 https://tech.tokiraku.com/archives/196 これを考えるより前に、参考書にしていたもので、内部品質に関連のあるような書籍を出しておく。後輩にも紹介済み。 良いコード/悪いコードで学ぶ設計入門―保守しやすい 成長し続けるコードの書き方 https://www.amazon.co.jp/%E8%89%AF%E3%81%84%E3%82%B3%E3%83…
ふとした瞬間に感じた疑問 プロダクト開発を進める際によく出る、「トレードオフ」という言葉。よく、QCD(Quality、Cost、Delivery)と言われるものの中で、それぞれは「トレードオフ」の関係と言われる。 20年ほど、システム開発に携わってきて、この会話をする人たちを前に、疑問に思った。 開発スピード(Delivery)と品質(Quality)は本当にトレードオフなか? ググってみる 自…
デプロイする際の定義としては、最低限3つ必要。 appspec.yml buildspec.yaml taskdef.json ベースのテンプレートはこのまま使用できる。 appspec.yml version: 0.0 Resources: - TargetService: Type: AWS::ECS::Service Properties: TaskDefinition: "<…
本記事は、boto3を利用して行っている。 準備と前項については以下記事を参照。 https://tech.tokiraku.com/archives/154 https://tech.tokiraku.com/archives/161 確認コードの再発行 登録が完了する前に確認コードを忘れてしまった場合の再発行。 cognito.forgot_password( ClientId=setting…
本記事は、boto3を利用して行っている。 準備は以下記事を参照。 https://tech.tokiraku.com/archives/154 Cognitoへのユーザー登録 sign_up を使用して、ユーザーの情報を登録する。 cognito.sign_up( ClientId=, SecretHash=, Username=, Password=, UserAttributes=, ); …
boto3のインストール pipを利用している場合は、boto3を以下のコマンドでインストールする。 pip install boto3 requirements.txt を用いている場合は、下記を追加する。 boto3==1.24 クライアントインスタンスの作成 下記コードにて、クライアントインスタンスが生成される。 import boto3 cognito = boto3.client( , …
Github Actionsを使用し、awsを操作などすることがあり、その時に教えてもらったワークフロー定義がとても便利だった。 ワークフロー定義 ワークフロー定義は、コミットする際に、下記に配置する。 .github/workflows 以下は定義 name: on: workflow_dispatch: env: AWS_REGION: ap-northeast-1 AWS_ROLE_ARN:…
サンプルテンプレート https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/cfn-sample-templates.html リファレンス https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-template-resou…
SQL内で集計をおこなう際に、SQLであれば、「MAX」や「MIN」などと合わせて、「group by」を指定することがある。 ORM使用時は、「group by」を明示的に指定することはないため、少し書き方が違う。 下記のようなモデルがあったとする。 from django.db import models class test_dogs(models.Model): name = models…
FKで参照しているテーブルに関しては、参照している先から filter にて参照が可能。 仮に、下記のようなモデルがあったとする。 from django.db import models class test_grand_parents(models.Model): name models.CharField(max_length=50); created_at = models.DateTim…
基本的なmysqlの環境構築については、下記を参照。 https://tech.tokiraku.com/archives/37 テンプレート 初期稼働時のSQLを実行するためには、エンドポイントを指定する必要があるらしい。 エンドポイントの名称は docker-entrypoint-initdb.d 。 下記は、それを含んだテンプレートになる。 version: '3' serv…
基本的なmysqlの環境構築については、下記を参照。 https://tech.tokiraku.com/archives/37 テンプレート コンフィグファイルを置くには、コンフィグファイルの場所を docker-compose.yml で指定する。 下記は指定したテンプレート。 version: '3' services: # MySQL db: image: mysql:5.…