Go to books ↓
So what about inversion of control containers? There's a lot of confusion around what they do, and why you should use one at all.
It’s a mistake to feel complacent about the state of the art of computing, no matter when you live. There’s always another bottleneck.
Switching to a microservices architecture creates exciting opportunities in the marketplace for companies. For system architects and developers, it promises an unprecedented level of control and speed as they deliver innovative new web experiences to customers. But at such a breathless pace, it can feel like there’s not a lot of room for error. In the real world, you can’t stop developing and deploying your apps as you retool the processes for doing so. You know that your future success depends on transitioning to a microservices architecture, but how do you actually do it?
Onion Architecture is the preferred way of architecting application for better testability, maintainability and dependability on the infrastructures like databases and services.
How to design the architecture of an Angular application and not go insane in the process
Multi-user online games are among the most successful interactive, world-scale distributed systems built in the past decade.
Software architecture is all about having a holistic view and seeing the bigger picture to understand how the software system works as a whole.
This is #1 in a very long series of posts on Stack Overflow’s architecture. Welcome.
It’s important to design our code so that each piece is easily identifiable, has a specific and obvious purpose, and fits together with other pieces in a logical fashion. This is what we call software architecture. Good architecture is not what makes a product successful, but it does make a product maintainable and helps preserve the sanity of the people maintaining it!
Since your code is only as fast as the hardware it runs on, the hardware definitely matters. Just like any other platform, Stack Overflow’s architecture comes in layers.
Here are a few questions you might answer to guide yourself through building a Facebook-like feed.
Starting a new project can sometimes be fun and easy, sometimes the sheer size and complexity of what’s being asked can be quite daunting. In today’s guide, I’m going to cover my rough thought process when it comes to planning out a new project.
For products to succeed, technology and business have to be aligned on goals and a product roadmap. Business folks need to feel empowered, to expect the technology built will not only support product features but match business needs and style. On the other side, technical folks should think beyond the code needed to provide a feature and understand that business operations should heavily influence a product’s architecture.
Few things are guaranteed to increase all the time: Distance between stars, Entropy in the visible universe, and Fucking business requirements. Many articles say Dont over-engineer but don’t say why or how. Here are 10 clear examples.
An introduction to CSS architecture that will help you design a structure for your code so your projects and teams can grow without becoming an unmanageable mess.
The New Year is here and New Year's Resolutions are in full effect. For most people, this means going to the gym and eating better, but for organizations, this usually manifests itself as a lot of activity around new initiatives to deliver the next "Big Thing"...
In a team, having an architecture is important simply because it means we can make certain assumptions about how someone wrote the code you are now looking at.
One of the most important questions that are raised during development of software project is the economic benefit of software architecture. The question is commonly asked by business people, the owner of the software and even by software developers.
The Android operating system provides a strong foundation for building apps that run well on a wide range of devices and form factors.
How software architects can balance technical proficiencies with an appropriate mastery of communication.
Microsoft has published an Azure Application Architecture Guide to help cloud developers keep pace with new styles, approaches and industry trends while planning their projects.
You can cut the implementation corners and come back later. If the code is too far gone, it can even be ditched wholesale and replaced — so long as those boxes end where they are supposed to. A bad architecture has overlapping boxes and they can’t be removed or modified without breaking lots of things.
This post is the first installment of a three-part mini-series on data architecture at Reddit, starting with Reddit’s data “origin story” and finishing with our present-day practices.
As developers go through the exercise of decomposing their architectures to take advantage of new services like Azure Functions, Logic Apps and others, familiar obstacles surface. In many cases, we find ourselves once again piecing together the “glue” that allows these services to work in concert. The recent launch of Azure Event Grid aims to solve this challenge by providing a first-class event routing service in the cloud that’s fully managed, scalable and extremely flexible.
Empower your teams to build for the future and finally escape Appland once and for all by taking cues from The Cloud Builders, as well as, seasoned systems experts.
In this post, I am summarizing some of the concepts that I have found essential to learn and apply when building a large scale, highly available and distributed system: the payments system that powers Uber.
Design patterns give us a proven solution to existing and recurring problems. Similar mechanisms exists on a higher level: software architecture patterns. These are patterns for the overall layout of your application or applications. They all have advantages and disadvantages. And they all address specific issues.
Today, I want to share an overview of my insights with you, which skills I think are most important and how to improve them to become a (better) software architect.
The basic architecture concepts I wish I knew when I was getting started as a web developer.
The Reddit engineering team recently introduced Go into their stack to write a new ad-serving system to replace a third party system. Deval Shah talks us through the architecture of the new service, the Reddit team's experience using Go for the first time, and all the lessons they've learned from using Go to build this ad server.
I’ve always thought that we should build the ‘correct size service’ rather than ‘microservices’ just for the sake of having them. It is equivalent to using Kubernetes with one docker container - you would have more etcd nodes…
The goal of microservice architecture is to help engineering teams ship products faster, safer, and with higher quality. Decoupled services allow teams to iterate quickly and with minimal impact to the rest of the system.
As of 2018, almost 90% of the 74,000 developers surveyed by Stack Overflow prefer to use Git for version control. Git dominates all other version control systems and adoption is up almost 20% from 2017 according to the survey. However, Git has not always been this ubiquitous. Let’s take a look at its ascent into mass popularity.
Each software architecture has its own set of pros and cons, and a different solution will make sense for an app depending on what phase of its growth it is in.