This resource acts in part as 1.) a declaration of my currently observed coding style convensions, 2.) to serve as a personal and single evolving authority of these convensions and 3.) be a public [for what’s it worth] undertaking by myself to use these convensions (where mum lets me).
NOTES
This resource tries to follow RFC style and defer to offical IETF resources where possible.
This document occasionally uses terms that appear in capital letters. When the terms “MUST”, “MUST NOT”, “SHOULD”, “SHOULD NOT”, and “MAY” appear capitalized, they are being used to indicate particular requirements of this specification. A discussion of the meanings of the terms “MUST”, “SHOULD”, and “MAY” appears in RFC-1123; the terms “MUST NOT” and “SHOULD NOT” are logical extensions of this usage.
MockingDeveloper sandboxing.EOL and Support patternsPhases:
Playground/AdhocLocal developmentDevelopment -> Hotfix / FeatureQARelease candidate 1/2Released -> Deployment tag.
Intro: Semantic Path / URI topology
Recommended Semantic Path template- Adding a versioning component -> Manifest busting -> Backwards compatibility.
- Lingistic / nomeniture convention
- Gender and plurality
Localisation descussion
Current preferences when selected a service protocal.Authentication bibleHTTP[[S]]
Request verbs.and Status codes.
Status codes as rule based routing.
:computer:Hosting
within Geographicswithin an active Development contextwithin a (horizontal) scaleWorking within a multiworker / multiwrite conherit data dependence.
Alternatives to Master / Master DB Replication.
Authentication methology templates.Rate-limiting.API User best practices.API User within a Lifecycle context.TLS / Encryption / Signing
Making a company identity authority
Using SMIME, HTTPS or Code Signing type CAs.Using a ROOT (self-signed) CA and when to.A few enterprise 3rd party CA alternatives- Code signing:
Developer certificates and commit signing.Atomic and crypographical signed releases.Forward end-point encryption. (MUST)Inter-Tier/Node communication guidelines.(howto:) Stateless crypographical signed sessionsChallenge based tokening.Understanding PCI and scheduling stored user data.Safe(r) Fault / Verbosity patterns.Replay / Man-in-the-Middle / Service enumation overview.
“NOOCE”? -> Learning from UDP Sequence field.Proxying 3rd-party API dependencies in the development phases.DoS hardening
Passive ->
[Understanding: Deterministic verse non-deterministic end points.][Understanding: Payloads (and Caching) -> Userbound verse Servicebound.]! Defining a tiered architecture.Tiering for a smart gateway layerTiering the process stack.- ~~Methods for KV coherency ~~
Context derived path mapping.Active ->
IP and TCP state filtering.Heuristic triggered filtering
Handling multi-host, OS-level events with services like syslogd.Levaging exception feedback loops for defensive and robust services. (COMING SOON)
Copyright (C) Kyle Younge (2017). All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or disclaimers.
This document and the information contained herein is provided on an “AS IS” basis and the authors, ie. Kyle Younge or contributors, ie others DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
These guidelines are in part are an aggregation of every sensible developer and engineer I have worked with.
THANK YOU!
Where I remember and can, all copy & pastes of other 3rd party resources will be itemised below:
- Countless IETF :HEART: