Get-PowerShellBlog: Bye Bye Backtick: Natural Line Continuations in PowerShell

No Clocks
Script modules - PowerShell | Microsoft Docs
Script modules are an easy way to package scripts and functions into a reusable tool.
PowerShell and Environment Variables: A Deep Dive
about_Environment_Variables - PowerShell | Microsoft Docs
PowerShell Automatic Variables: Special Variables Built into PowerShell
Learn about PowerShell's automatic variables - built-in special variables that serve specific purposes. Discover how to work with history limits, constants, exit codes, and null values.
Architecture Principles: An approach to effective decision making in software architecture
Are you a software architect and often find it difficult to make architecture decisions in your team? This article shows you how to use architecture principles to make effective decisions in your team.
A declarative statement made with the intention of guiding architectural design decisions in order to achieve one or more qualities of a system.
If we take a closer look at this definition, we find several interesting parts in this definition.
"[...] intention of guiding architectural design decisions [...]"
As a software architect or a team of software engineers, you have to deal with and decide on many architecture issues.
But how do you decide these questions? Gut feeling? :-)
That's is probably not the right approach.
As we learn from the Software Architecture Canvas, there are quality goals that are drivers of architecture.
What are the basic characteristics of good architecture principles?
Comprehensible & clear
Architectural principles should be like marketing slogans.
Testable
The principle should be verifiable, whether work is done according to the principle and where exceptions are made.
Atomic
The principle requires no further context or knowledge to be understood.
In summary, architectural principles should be written to enable teams to make decisions: they're clear, provide decision support, and are atomic.
What are the pitfalls of creating architecture principles?
What do you think about the following principle 👇?
"All software should be written in a scalable manner."
That's why we've adopted in a product team the following architecture principle.
"Use cloud services if being lock-in to a particular cloud provider is acceptable."
Whether this vendor lock-in is acceptable depends on several criteria:
The effort required to replace this managed service
An acceptable lead time for providing alternatives.
Let's take a look at an example technological decision we had to make in the past:
We needed to evaluate a centralised identity and access management solution for our SaaS products.
In addition to meeting the functional requirements, we had two powerful IAM solutions on the shortlist:
Keycloak (self-hosted)
Auth0 (Managed, cloud service)
Following the defined principle of "Use cloud services if being lock-in to a particular cloud provider is acceptable." we have concluded that a centralised IAM system should be self-managed and not managed by a third-party provider because it's a huge effort to replace a managed IAM product and therefore there is no reasonable lead time to deploy an alternative.
In summary, vendor locking wasn't acceptable to us in this case. So this principle efficiently guides us to the right decision.
Example 2: "Prefer standard data formats over third-party and custom formats"
The next principle was about the selection of protocols for service communication.
"Prefer standard data formats over third-party and custom formats"
If you have multiple services that need to communicate with each other, the question of protocol and format arises.
In the protocol ecosystem there is a fairly new kid on the block: gRPC
gRPC (gRPC Remote Procedure Calls) is a cross-platform, open-source, high-performance protocol for remote procedure calls. gRPC was originally developed by Google to connect a large number of microservices.
So in our team, the question is: RESTful HTTP vs. gRPC?
The selection of a protocol thus depends heavily on the quality and change scenarios of the services involved.
But if you can meet the quality goals and underlying requirements with both options, like RESTful HTTP vs. gRPC, then consider yourself lucky to have such a principle.
This principle helped us choose RESTful HTTP over gRPC because RESTful HTTP is a widely accepted standard data format, while gRPC is more of a third-party format.
So here this principle speeds up our decision making, which doesn't mean that we don't rely on gRPC in certain cases.
Software architecture may be changing in the way it's practiced, but it's more important than ever.
Software Architecture Canvas: A Collaborative Way to Your Software Architecture
The Software Architecture Canvas is a collaborative technique for elaborating the software architecture playground of a software initiative. With this canvas, you can work efficiently, iteratively, and in a time-saving manner on the software architecture of your software products as a team sport.
Awesome Software Architecture
Curated list of awesome articles and resources to learn and practice about software architecture, patterns and principles.
Typescript Transpiler Explained
Learn about the Typescript Transpiler, its benefits, setup, transpilation vs. compilation, controlling options, automation with watch mode, and more. Simplify your Typescript coding experience.
Building the Entrata KPI Scorecard
This is a description of our Entrata KPI Scorecard project to automate a scorecard showing KPIs from data in Entrata reports. RentViewer now has a connector for the Entrata API. We pulled the Entrata P&L, Box Score and Resident Retention reports from our connector for this project.
Entrata Dashboard
Pull data into a data warehouse for analytics. Create an Entrata Dashboard in Power BI or Tableau for data visualization and insights.
Customer Support Community
Phind
Phind is a fast and intelligent AI answer engine. Focused on helping you solve challenging problems, Phind gets you from an idea to a working product.
Model card claude 3 addendum
GroqCloud
Experience the fastest inference in the world
Quick Start – React
The library for web and native user interfaces
Using TypeScript – React
The library for web and native user interfaces
Thinking in React – React
The library for web and native user interfaces
usehooks-ts
React hook library, ready to use, written in Typescript.
Codux | Visual Development Environment
Design and develop React projects visually on one development platform. With Codux, your team can collaborate faster to create better UI.
23 Best React Component Libraries for 2024 | Technostacks
Find out here the best react component libraries such as material UI, ant design, react router to try in 2024.
33 React Best Practices For 2024 - Technostacks
Find out here the best react practices that every web developer must have to implement in their projects.
React Handbook
Modern approaches to architecture and feature development for production-ready React apps.
Evergreen
Evergreen is a React UI Framework for building ambitious products on the web. Made by Segment in San Francisco, CA.
Flowbite React - UI component library
Flowbite React is an open-source UI component library built with React components, Tailwind CSS utility classes and based on the Flowbite design system and components.
www.gatsbyjs.com
Gatsby is a React-based open source framework with performance, scalability and security built-in. Collaborate, build and deploy 1000x faster with Gatsby Cloud.
Windows Web-dev bootstrap · Scott Spence
From scratch to Create React App on Windows An opinionated guide on setting up a web development environment on Windows 10 I have been a…
UI-Schema Documentation
Form generator and widget system using JSON-Schema. Build complex forms and UIs with ease in React!
Tutorial: Intro to React – React
A JavaScript library for building user interfaces
microsoft/react-native-windows: A framework for building native Windows apps with React.
A framework for building native Windows apps with React. - microsoft/react-native-windows