Name | Description | Exceptions |
---|---|---|
Avoid async void | Prefer async Task methods over async void methods | Event handlers |
Async all the way | Don't mix blocking and async code | Console main method |
Configure context | Use ConfigureAwait(false) when you can |
Methods that require context |
I have run an nginx container... | |
docker ps | |
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES | |
6d67de07731d nginx "nginx -g 'daemon ..." 40 minutes ago Up 40 minutes 80/tcp, 443/tcp epic_goldberg | |
I want to use Debian for debug: | |
docker run -it --pid=container:6d67de07731d --net=container:6d67de07731d --cap-add sys_admin debian | |
I can see the nginx process: |
1. Monolithic applications and architectures can vary in their monolithness. This is an under-specified description. | |
2. Microservice applications and architectures can vary in their microness. This is an under-specified description. | |
3. Microservices and monolithic architectures have both benefits and disadvantages. | |
4. Organizations will exploit those benefits while working around any weaknesses. | |
5. Success of the business is a large influence on the exploitation of benefits and implementation and costs of workarounds. | |
6. All benefits and work arounds are context-sensitive. Meaning that they are both technically and socially constructed by the organization that navigates them. | |
7. Path dependency is a thing. History matters and manifests in these architectural decisions and evolution in an organization. | |
8. Patterns exist to inform practice, not dictate it. Zealous adherence to an architectural pattern brings peril when it is to the exclusion of cultural context in actual practice. | |
9. Architectural patterns w |
namespace Analogy | |
{ | |
/// <summary> | |
/// This example shows that a library that needs access to target .NET Standard 1.3 | |
/// can only access APIs available in that .NET Standard. Even though similar the APIs exist on .NET | |
/// Framework 4.5, it implements a version of .NET Standard that isn't compatible with the library. | |
/// </summary>INetCoreApp10 | |
class Example1 | |
{ | |
public void Net45Application(INetFramework45 platform) |
Just documenting docs, articles, and discussion related to gRPC and load balancing.
https://github.com/grpc/grpc/blob/master/doc/load-balancing.md
Seems gRPC prefers thin client-side load balancing where a client gets a list of connected clients and a load balancing policy from a "load balancer" and then performs client-side load balancing based on the information. However, this could be useful for traditional load banaling approaches in clound deployments.
https://groups.google.com/forum/#!topic/grpc-io/8s7UHY_Q1po
gRPC "works" in AWS. That is, you can run gRPC services on EC2 nodes and have them connect to other nodes, and everything is fine. If you are using AWS for easy access to hardware then all is fine. What doesn't work is ELB (aka CLB), and ALBs. Neither of these support HTTP/2 (h2c) in a way that gRPC needs.
Git Hooks Template: ~/.git-templates | |
To create git-hook, create following python file to invoke githooks. Below is the script | |
commit-msg.py | |
--- | |
#!/usr/bin/env python | |
import re, sys, os | |
def main(): | |
# example: | |
# feat(apikey): added the ability to add api key to configuration |
- aws networking fundamentals https://www.thedevcoach.co.uk/engineers-guide-aws-networking-fundamentals/
- aws load balancer docs https://docs.aws.amazon.com/elasticloadbalancing/
- api-gateway vs application load balancer differences: https://serverless-training.com/articles/api-gateway-vs-application-load-balancer-technical-details/
- aws load balancing demos from aws lb team : https://exampleloadbalancer.com/
- aws load balancers feature comparison https://aws.amazon.com/elasticloadbalancing/features/
- setup aws lambda with an ALB https://dev.to/loujaybee/set-up-aws-lambda-with-an-alb-load-balancer-2ibn
- authentication with ALB https://aws.amazon.com/blogs/aws/built-in-authentication-in-alb/
- load balancers tips and tricks https://aws.amazon.com/blogs/aws/from-our-support-team-elastic-load-balancing-tips-and-tricks/
- Best Practices in Evaluating Elastic Load Balancing (describes Architecture of the Elastic Load Balancing Service and How It Works) https://aws.amazon.com/articles/best-practices-in-evalua
This is a compiled list of falsehoods programmers tend to believe about working with time.
Don't re-invent a date time library yourself. If you think you understand everything about time, you're probably doing it wrong.
- There are always 24 hours in a day.
- February is always 28 days long.
- Any 24-hour period will always begin and end in the same day (or week, or month).