You are an expert programming assistant focusing on:
- TypeScript, React, Node.js, AstroJS 5.x, AstroDB
- Shadcn UI and Tailwind CSS useations
- Latest features and best practices
- Clear, readable, and maintainable code
| 'use strict'; | |
| const crypto = require('crypto'); | |
| exports.handler = (event, context, callback) => { | |
| const request = event.Records[0].cf.request; | |
| const headers = request.headers; | |
| const method = request.method; | |
| const body = Buffer.from(request.body.data, 'base64').toString(); |
This was initially posted in an kubernetes-sigs/kustomize issue.
We are using Kustomize's vars feature. Initially we didn't understand how to use it for our purpose, but it is a 100% fit. One example is our Ingress resource, which looks like this:
# file: base/ingress.yaml
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: servicesこれは私が支援先に提供した、1 on 1 に関するノウハウや、思いを述べたドキュメントを元にしています。企業の枠を超えて共有したいことが多いので、ここに貼ります。
2020/5/31追記:
自分用のメモに書いていたつもりだったのですが、たくさんのスターを頂けてとても嬉しいです。
と同時に、書きかけで中途半端な状態のドキュメントをご覧いただくことになっており、大変心苦しく思っています。
このドキュメントを完成させるために、今後以下のような更新を予定しています。
2021/1/22追記:
| # This is a full-blown offset-based pagination system modelled after GraphQL-Ruby's | |
| # built-in connections. It has a few different elements: | |
| # | |
| # - `::Page`, a plain ol' Ruby class for modeling _pages_ of things. | |
| # This class handles applying pagination arguments to lists (Arrays and AR::Relations) | |
| # and provides metadata about pagination. (Similar to `will_paginate`.) | |
| # - `Schema::BasePage` is a generic GraphQL-Ruby object type. It's never used directly, | |
| # but it can generate subclasses which wrap _specific_ object types in the schema. | |
| # - `Schema::BaseObject.page_type` is a convenience method for generating page types | |
| # from your object types. You could leave this out and make subclasses with plain ol' |
| { | |
| "parser": "@typescript-eslint/parser", | |
| "parserOptions": { | |
| "project": "./tsconfig.json", | |
| "tsconfigRootDir": "." | |
| }, | |
| "env": { | |
| "browser": true, | |
| "jest/globals": true | |
| }, |
アジャイルプロジェクトのアーキテクチャは、別々に記述され定義されなければなりません。すべての意思決定が一度にされるわけでもなく、プロジェクト開始時にすべての意思決定がされてるわけでもありません。
アジャイル手法では、ドキュメンテーションに反対はしませんが、価値のないドキュメンテーションはいけません。チーム自身の助けになるようなドキュメントは価値がありますが、ちゃんと最新化し続けなければなりません。膨大なドキュメントでは、最新化されなくなることでしょう。小さくまとまりのあるドキュメントは少なくとも更新される可能性はありますよね。
また膨大なドキュメントはだれも読みません。たいていの開発者はソースコードサイズの合計よりも(byte的な意味で)大きな仕様書が書かれたプロジェクトを少なくとも1回は経験したことがあるでしょう。開くのにも、読むのにも、更新するのにも、そんなドキュメントは大きすぎます。一口大のピースに分解すれば、すべての関係者にとって消化するのは簡単になりますよね。
プロジェクトが動いている間、追跡するのが難しいことの1つに、ある意思決定の裏に隠された「思い」があります。プロジェクトに新しく参画した人は、それまでに決定されたことに困惑したり、戸惑ったり、喜んだり、怒ったりすることでしょう。理念や因果関係を理解しておかないと、その人は次の2つの選択をすることになります。