Bookmarks tagged with #sw-architecture.
Show all
Show all
How to keep your legacy PHP project working with minimal efforts
I hope this article can be helpful for PHP-based website owners, but also it can be quoted in a conversation between a PHP developer and a client. So, what is the point? Extremely outdated but…
Tags:
#sw-architecture
Saved
on: 2022-11-11
37signals Dev — Vanilla Rails is plenty
A common critique of Rails is that it encourages a poor separation of concerns. That when things get serious, you need an alternative that brings the missing pieces. We disagree.
Tags:
#sw-architecture
Saved
on: 2022-11-10
Modeling a scalable fantasy football database with Amazon DynamoDB | AWS Da
Today’s online games generate more data than ever and have request rates that reach millions per second. For these data-intensive games, it’s important for developers to select a database that delivers consistent low latency at any scale and has throughput elasticity to accommodate spikes in traffic without costly overprovisioning during low activity periods. This is […]
Saved
on: 2022-10-03
Patterns.dev - Modern Web App Design Patterns
Learn JavaScript design and performance patterns for building more powerful web applications.
Saved
on: 2022-09-06
Redis Explained
A deep technical dive into all things Redis. Covering various Redis topologies, data persistence and process forking.
Saved
on: 2022-08-16
Strategies for decreasing the number of queries in a Laravel app - Freek Va
Oh Dear is all-in-one solution to monitor your site that my buddy Mattias Geniar and I have created. It can monitoring uptime, certificates, broken links, scheduled jobs, and much more.
Under the hood, Oh Dear is a large Laravel application that performs many queries all of the time. To power future features, we've recently changed our database structure and refactored some pieces in our code base. We increased performance by decreasing the number of queries.
In this blog post, we'd like to to share some techniques that might be helpfull to increase the performance of your Laravel app too.
Saved
on: 2022-08-16
How Validus Built a Bloomberg Real-Time Market Data Integration on AWS in a
The increase in market uncertainty over the last couple of years has demonstrated the need for market participants to have a dynamic view of the risks and impacts due to market moves on their portfolios. This post explores how Validus, a leading independent technology-enabled financial services firm, built a Bloomberg real-time market data integration using serverless managed services on AWS.
Tags:
#sw-architecture
Saved
on: 2022-08-16
SPA Alternative
In this essay, Carson Gross explores alternatives to Single Page Applications (SPAs), advocating for an 'HTML-Centric' development approach. He highlights the drawbacks of SPA complexity and the benefits of embracing HTML as the core medium for web development, offering a simpler, more efficient way to build applications without sacrificing interactivity. Carson discusses how tools like htmx enhance HTML's capabilities and encourages developers to reconsider the dominant SPA paradigm with technical bravery.
Saved
on: 2022-07-20
Story Points Revisited
This is RonJeffries.com, the combination of new articles, XProgramming, SameElephant, and perhaps even some new items never before contemplated.
Copyright © 1998-forever Ronald E Jeffries
Saved
on: 2022-07-10
Spotify’s Failed #SquadGoals
“The Spotify model” got a bunch of companies talking like Taylor Swift about startup culture, but four former Spotify employees reveal the truth: its eponymous way of working failed before it scaled.
Saved
on: 2022-07-10
Changing tires at 100mph: A guide to zero downtime migrations | Kiran Rao
As a backend developer at a mobile app company, a common task was migrating a database schema.This could be to improve query performance, change column ...
Saved
on: 2022-05-05
abseil / Software Engineering at Google
An open-source collection of core C++ library code
Saved
on: 2022-05-02
Top Laracon Conference Presentations
Laracon is an ongoing series of conferences and events about the Laravel software development framework. We use Laravel pretty heavily at Icehouse Ventures because it powers our Investor Portal. I’ve learned a lot over the years from the various Laracon conference recordings. The topics range from basic coding best-practises to advanced systems architecture, database design, … Continue reading Top Laracon Conference Presentations
Saved
on: 2022-03-18
How To Build Maintainable PHP Applications
Have you struggled with the system because it was hard to change?
Have you wanted to upgrade Framework or PHP version, however it required…
Tags:
#sw-architecture
Saved
on: 2022-01-02
Symfony Demo meets Modular, Microservice-ready Architecture : r/PHP
Saved
on: 2021-12-09
Why is Excalidraw so fucking good?
The product factors that make it work so so well
Tags:
#sw-architecture
Saved
on: 2021-11-05
How to design in every language at once | by Canva Engineering | Oct, 2021
The technology that powers Continuous Localization at Canva.
Tags:
#sw-architecture
Saved
on: 2021-10-22
How Livewire works (a deep dive) | Caleb Porzio
The experience of using Livewire seems magical. It’s as if your front-end HTML can call your PHP code and everything just works.
A...
Saved
on: 2021-10-13
Running in Production Podcast and Interviews
A site where folks talk about running small and large web apps in production. Topics include tech stacks and DevOps / deployment tips.
Saved
on: 2021-09-23
Where do types come from? — Matthias Noback - Blog
In essence, everything is a string.
Well, you can always go one layer deeper and find out what a string really is, but for web apps I work on, both input data and output data are strings. The input is an HTTP request, which is a plain-text message that gets passed to the web server, the PHP server, the framework, and finally a user-land controller. The output is an HTTP response, which is also a plain-text message that gets passed to the client. If my app needs the database to load or store some data, that data too is in its initial form a string. It needs to be deserialized into objects to do something and later be serialized into strings so we can store the results.
Saved
on: 2021-09-15
Building a serverless email delivery service on AWS | by Joakim Wånggren |
Using AWS Lambda and other AWS services to build a cost efficient, highly available email formatting and delivery service with event tracking. Creating email layouts is hell on earth. Manually…
Saved
on: 2021-09-02
Building a serverless GIF generator with AWS Lambda: Part 1 | AWS Compute B
Many video streaming services show GIF animations in the frontend when users fast forward and rewind throughout a video. This helps customers see a preview and makes the user interface more intuitive. Generating these GIF files is a compute-intensive operation that becomes more challenging to scale when there are many videos. Over a typical 2-hour […]
Saved
on: 2021-08-31
Design Patterns in JavaScript - DEV Community
Saved
on: 2021-08-28
Ask HN: Companies of one, what is your tech stack? | Hacker News
Saved
on: 2021-08-26
The 5-hour CDN
You can build a functional CDN on an 8-year-old laptop while you're sitting at a coffee shop. Here's what a CDN you put together in five hours might look like.
Tags:
#sw-architecture
Saved
on: 2021-08-04
Michael Dyrynda | Building an app to scale on Laravel Vapor
Tags:
#sw-architecture
Saved
on: 2021-07-29
An Elixir Adoption Success Story
How a team that was new to Elixir over-delivered a big project in just three months.
Saved
on: 2021-06-30
Making Instagram.com faster: Part 1 | by Glenn Conner | Instagram Engineeri
In recent years, instagram.com has seen a lot of changes — we’ve launched stories, filters, creation tools, notifications, and direct messaging as well as myriad other features and enhancements…
Saved
on: 2021-06-07
What it means to run a monolith on AWS Lambda
A stable software development model combined with the elasticity of serverless solutions.
Saved
on: 2021-05-31
The data model behind Notion's flexibility
Notion’s data model enables the product’s most foundational component: blocks. Through blocks, we allow users more flexibility over their information.
Saved
on: 2021-05-19
Testing your controllers when you have a decoupled core — Matthias Noback -
A lot can happen in 9 years. Back then I was still advocating that you should unit-test your controllers and that setter injection is very helpful when replacing controller dependencies with test doubles. I’ve changed my mind: constructor injection is the right way for any service object, including controllers. And controllers shouldn’t be unit tested, because:
Those unit tests tend to be a one-to-one copy of the controller code itself. There is no healthy distance between the test and the implementation. Controllers need some form of integrated testing, because by zooming in on the class-level, you don’t know if the controller will behave well when the application is actually used. Is the routing configuration correct? Can the framework resolve all of the controller’s arguments? Will dependencies be injected properly? And so on. The alternative I mentioned in 2012 is to write functional tests for your controller. But this is not preferable in the end. These tests are slow and fragile, because you end up invoking much more code than just the domain logic.
Saved
on: 2021-03-02
A monorepo approach to larger modules in Laravel and Lambda
The mindset of modularized applications applied to monoliths.
Saved
on: 2021-03-01
Talk review: Thomas Pierrain at DDD Africa — Matthias Noback - Blog
As a rather unusual pastime for the Saturday night I attended the third Domain-Driven Design Africa online meetup. Thomas Pierrain a.k.a. use case driven spoke about his adaptation of Hexagonal architecture. “It’s not by the book,” as he said, but it solves a lot of the issues he encountered over the years. I’ll try to summarize his approach here, but I recommend watching the full talk as well.
Hexagonal architecture Hexagonal architecture makes a distinction between the use cases of an application, and how they are connected to their surrounding infrastructure. Domain logic is represented by pure code (in the FP sense of the word), surrounded by a set of adapters that expose the use cases of the application to actual users and connect the application to databases, messages queues, and so on.
Saved
on: 2021-02-23
Live Coding 12-Factor App
Emily Jiang performs live coding of building 12-factor microservices using MicroProfile programming mode and gets them running Open Liberty and Quarkus.
Saved
on: 2020-12-20
fabric Resources Hub
Access a wealth of omnichannel retail resources in fabric's library. Find guides, case studies, and white papers to help you optimize your order management and customer experience.
Tags:
#sw-architecture
Saved
on: 2020-12-09
An alternative way to organize the Laravel directory structure // Stefan Ba
In this article, I would like to show you an alternative way to organize your Laravel directory structure. I think the default structure is fine for the most projects. But when it comes down to larger projects I was looking for a different structure.
Saved
on: 2020-12-02
How Go helped save HealthCare.gov featuring Paul Smith, CTO of Ad Hoc (Go Time #154)
Paul Smith (from "Obama's Trauma Team") tells us the tale of how Go played a big role in the rescuing and rebuilding of the HealthCare.gov website. Along the way we learn what the original team did wrong, how the rescue team kept it afloat during huge traffic spikes, and what they've done since to rebuild it to serve t...
Saved
on: 2020-11-10
Maya Shavin: How I Built My Website
A Cloudinary senior front-end developer recounts how she rebuilt her Jamstack website with Nuxt, Tailwind CSS, Cloudinary, and Vercel.
Tags:
#sw-architecture
Saved
on: 2020-10-27
ORMless; a Memento-like pattern for object persistence — Matthias Noback -
Something that always bothers me: persistence (the user interface too, but that’s a different topic ;)). Having objects in memory is nice, but when the application shuts down (and for PHP this is after every request-response cycle), you have to persist them somehow. By the way, I think we’ve all forever been annoyed by persistence, since there’s an awful lot of software solutions related to object persistence: different types of databases, different types of ORMs, etc.
Tags:
#sw-architecture
Saved
on: 2020-10-13
Components, Patterns and Sh*t It’s Hard to Deal With
Marco Cedaro identifies some ideas they tried and discusses the way they approached componentization.
Saved
on: 2020-09-14
A simple recipe for framework decoupling — Matthias Noback - Blog
If you want to write applications that are maintainable in the long run, you have to decouple from your framework, ORM, HTTP client, etc. because your application will outlive all of them.
Three simple rules To accomplish framework decoupling you only have to follow these simple rules:
All services should get all their dependencies and configuration values injected as constructor arguments. When a dependency uses IO, you have to introduce an abstraction for it. Other types of objects shouldn’t have service responsibilities. Contextual information should always be passed as method arguments. Explanations Rule 1 Following rule 1 ensures that you’ll never fetch a service ad hoc, e.g. by using Container::get(UserRepository::class). This is needed for framework decoupling because the global static facility that returns the service for you is by definition framework-specific. The same is true for fetching configuration values (e.g. Config::get('email.default_sender')).
Saved
on: 2020-09-12
Violating the Dependency rule — Matthias Noback - Blog
I write about design rules a lot, but I sometimes forget to:
Mention that these rules can’t always be applied, Describe when that would be the case, and Add examples of situations where the rule really doesn’t matter. The rules should work in most cases, but sometimes need to be “violated”. Which is too strong a word anyway. When someone points out to me that I violated a rule, I’m like: Wow! I violated the rule? I’m so sorry! Let’s fix this immediately. Whereas in practice it should be more like: Yeah, I know that rule, but it makes more sense to follow that other rule here, because […]. In other words, pointing out that a certain rule has been violated should not be a sufficient reason to adhere to that rule. My favorite example is “But that violates SRP!” (Single Responsibility Principle). Whoops, I wouldn’t want to do that! Or would I?
Saved
on: 2020-09-08
A decoupled PHP architecture inspired by the Clean Architecture | by Joe Sa
This article would not be possible without the help of Rodrigo Jardim da Fonseca, Edison Junior, and Lemuel Roberto. Disclaimer: I feel like I should address that the architecture I’m about to…
Tags:
#sw-architecture
Saved
on: 2020-09-04
Legacy to Laravel: How to Modernize an Aging PHP Application | Tighten
Many of our clients have legacy PHP apps and want to move to Laravel. We’re often asked "should we rewrite or refactor?" While full rewrites are appealing, they’re also risky. Here’s our approach to gradually refactoring legacy code that lets you start using Laravel right away.
Saved
on: 2020-09-02
Blog @ Codonomics: Multi-tenant Architectures
Multi-tenancy Application Deployment Architecture could be modeled in 4 broad ways: Separate Apps & Separate Databases Sha...
Tags:
#sw-architecture
Saved
on: 2020-08-31
https://mbird.biz/writing/do-i-need-kubernetes.html
Saved
on: 2020-08-17
Design Docs at Google
One of the key elements of Google's software engineering culture is the use of design docs for defining software designs. These are...
Tags:
#sw-architecture
Saved
on: 2020-07-23
Building Cloudflare TV from scratch
Cloudflare TV is a 24x7 TV channel taking you behind-the-scenes and let’s you hear directly from the builders working on your favorite Cloudflare products.
Tags:
#sw-architecture
Saved
on: 2020-07-08
Clean architecture, building software that lasts - Coders Opinion
When building software we sometimes need to build it in a way so it will last for years. Some projects I’ve worked on used software that was running for almost 10 years. Within these 10 years, the software had experienced many changes. For example language changes, framework changes, libraries that need to be replaced, and many more. When this is the case, software needs to be built in a way to account for those many changes with little impact.
Tags:
#sw-architecture
Saved
on: 2020-07-03
How to create a Monorepo from Existing Repositories in 7 Steps | Tomas Votr
Saved
on: 2020-07-02
Embedded Rules of Thumb
26 April 2018 by Phillip Johnston • Last updated 10 June 2021You may call them guidelines, heuristics, or rules of thumb. No matter, the purpose is the same: to provide a reasonable approximation of the truth. These rules of thumb can help guide your understanding of the systems you work on, focus you toward the … Continue reading "Embedded Rules of Thumb"
Saved
on: 2020-06-01
AWS Gurus, Battle Tested Processes, On Your Team
Trek10 specializes in leveraging the best tools and AWS managed services to design, build, and support cutting-edge solutions for our clients.
Saved
on: 2020-05-06
Patterns for Managing Source Code Branches
Mainline, Feature Branching, Continuous Integration, Release Branch and a clutch of other handy patterns.
Tags:
#sw-architecture
Saved
on: 2020-04-29
Deploys at Slack
Deploys require a careful balance of speed and reliability. At Slack, we value quick iteration, fast feedback loops, and responsiveness to customer feedback. We also have hundreds of engineers who are trying to be as productive as possible. Keeping to these values while growing as a company means continual refinement of our deployment system. We…
Saved
on: 2020-04-09
Ready for changes with Hexagonal Architecture - Netflix TechBlog
A story on how we leveraged Hexagonal Architecture principles to be prepared for changes in the Netflix Studio ecosystem.
Tags:
#sw-architecture
Saved
on: 2020-03-12
You don't want quality time, you want garbage time
This isn't the tech you're looking for, robots in equity research, and quality time
Saved
on: 2020-03-10
Behind the scenes of Flare (or How to structure big Laravel applications) -
At Laracon AU, I gave a talk on how you can structure a big Laravel application. The codebases of both Flare and Oh Dear served as examples.
By watching this talk you'll gain some valuable insights that could be applicable to your projects as well. Enjoy!
Saved
on: 2020-03-07
Thoughts about a long-running event sourced architecture in PHP : r/PHP
Saved
on: 2020-02-27
justinamiller/SoftwareArchitect: Path to a Software Architect
Path to a Software Architect
Tags:
#sw-architecture
Saved
on: 2020-01-19
Deploy your side-projects at scale for basically nothing - Google Cloud Run
Google Cloud Run is the perfect deployment system for all your side projects. It is dirt cheap, fully managed serverless and scalable.
Tags:
#sw-architecture
Saved
on: 2020-01-12
Talk write-up: "How to build a PaaS for 1500 engineers"
This article is based on a presentation I gave as part ofAdevintaTalks in Barcelona on November 2019.I’m experimenting with this format: I went through the s...
Tags:
#sw-architecture
Saved
on: 2020-01-10
Keep your source code SIMPLE - Kevin Goslar - Medium
As software developers we are fortunate to have many useful best practices for productive and fun coding like the SOLID principles, GRASP patterns, or STUPID anti-patterns. These principles are…
Saved
on: 2019-11-10
Application development resources | Cloud Architecture Center | Google Cloud
Tags:
#sw-architecture
Saved
on: 2019-11-01
Software Architecture is Overrated, Clear and Simple Design is Underrated
I had my fair share in designing and building large systems. I've taken part in
rewriting Uber's distributed payment systems
[https://blog.pragmaticengineer.com/distributed-architecture-concepts-i-have-learned-while-building-payments-systems/]
, designing and shipping Skype on Xbox One and open-sourcing RIBs
[https://github.com/uber/RIBs], Uber's mobile architecture framework. All of
these systems had thorough designs, going through multiple iterations and had
lots of whiteboarding and discussio
Tags:
#sw-architecture
Saved
on: 2019-09-18
The boring technology behind a one-person Internet company (2018) | Hacker News
Saved
on: 2019-09-17
The boring technology behind a one-person Internet company
The tech stack of Listen Notes, the best podcast search engine and database.
Saved
on: 2019-09-17
Designing very large (JavaScript) applications - Malte Ubl - Medium
This is a mildly edited transcript of my JSConf Australia talk. Watch the whole talk on YouTube. A sequel to this post is available over here. Hello, I used to build very large JavaScript…
Saved
on: 2019-09-04
Modern applications at AWS - All Things Distributed
20 years ago Amazon went through a major transformation. Here’s what we learned about building modern applications along the way.
Saved
on: 2019-08-29
Mistaeks I Hav Made: Mistakes we made adopting event sourcing (and how we r
Saved
on: 2019-08-28
3 Kinds of Good Tech Debt
What if tech debt wasn’t always an accident, caused by incorrect assumptions and unexpected circumstances? How would you spend a tech debt mortgage?
Saved
on: 2019-08-13
Nick Craver - Stack Overflow: How We Do App Caching - 2019 Edition
This is #5 in a very long series of posts on Stack Overflow’s architecture.Previous post (#4): Stack Overflow: How We Do Monitoring - 2018 EditionSo…cachin...
Tags:
#sw-architecture
Saved
on: 2019-08-07
How we built a serverless architecture with AWS
Our customers go serverless for live locations with HyperTrack. We go serverless for our platform with AWS. In this blog, we give you a peek under the hood and share our learnings.
Saved
on: 2019-07-11
Continuous Integration (CI) Explained
Continuous integration enables iterative software development, reduces risks from defects and makes developers highly productive. Summary Continuous Integration (CI) is a development practice where developers regularly merge their code into a central repository. Each merge automatically triggers a build and tests, helping detect and fix issues early. In other words, CI involves committing changes frequently […]
Saved
on: 2019-07-05
hgraca/explicit-architecture-php: This repository is a demo of Explicit Arc
This repository is a demo of Explicit Architecture, using the Symfony Demo Application. - hgraca/explicit-architecture-php
Saved
on: 2019-06-07
Any up to date tutorials about service layers, workers, data transfer object, mappers, factory and design patterns in general? : r/PHP
Saved
on: 2019-05-30
Organizing code into domain modules | Matthieu Napoli
Note: the french version of this article is published on Wizaplace's tech blog. We recently discussed 2 topics seemingly unrelated with my colleagues at Wizaplace: how to organize code? how to organize teams?
Saved
on: 2019-04-29
Lessons from 6 software rewrite stories - Herb Caudill - Medium
Almost two decades ago, Joel Spolsky excoriated Netscape for rewriting their codebase in his landmark essay Things You Should Never Do. He concluded that a functioning application should never, ever…
Saved
on: 2019-04-11
Give me back my monolith - Craig Kerstiens
It feels like we’re starting to pass the peak of the hype cycle of microservices. It’s no longer multiple times a week we now see a blog post of “How I migrated my monolith to 150 services”. Now I often hear a bit more of the counter: “I don’t hate my monolith, I just care that things stay performant”. We’ve actually seen some migrations from micro-services back to a monolith. When you go from one large application to multiple smaller services there are a number of new things you have to tackle, here is a rundown of all the things that were simple that you now get to re-visit:
Tags:
#sw-architecture
Saved
on: 2019-03-14
What is Microservice? What is Kubernetes for?
What is a microservice? What is Kubernetes for? In this post, we try to explain microservices, containers and Kubernetes in 10 minutes
Saved
on: 2019-03-07
Different kinds of service bus: command bus, service bus and query bus.
Service buses exist in different flavors. This article explains the overall concept of the service bus. Then it shows differences between the command bus, query bus, and event bus.
Saved
on: 2019-03-01
Why Config Coding Sucks | Tomas Votruba
Rector and static analysis help us to work with code better, but it also helps us spot new weak-points of our PHP code.
One of the biggest evils is *config coding*. **How it can hurt you and how get rid of it**?
Saved
on: 2019-02-19
Making a podcast app → assertchris.io
Arimbi189 Battleground Royale adalah permainan bertema perang dinamis yang dikembangkan oleh PG SOFT yang menawarkan pertempuran merebut kemenangan.
Saved
on: 2019-01-15
Netflix Play API: Building an Evolutionary Architecture
At QCon SF, Suudhan Rangarajan presented “Netflix Play API: Why We Built an Evolutionary Architecture”. Key takeaways included: services that have a single identity/responsibility are easier to upgrad
Tags:
#sw-architecture
Saved
on: 2019-01-11
A Beginner's Guide to Scaling to 11 Million+ Users on Amazon's AWS - High Scalability -
How do you scale a system from one user to more than 11 million users? Joel Williams, Amazon Web Services Solutions Architect, gives an excellent talk on just that subject: AWS re:Invent 2015 Scaling Up to Your First 10 Million Users.
If you are an advanced AWS user this talk is not for you, but it’s a great way to get started if you are new to AWS, new to the cloud, or if you haven’t kept up with with constant stream of new features Amazon keeps pumping out.
As you might expect since this is
Saved
on: 2018-12-26
https://share.composieux.fr/white-book-software-architecture.pdf
Tags:
#sw-architecture
Saved
on: 2018-12-26
Making a large scale app with vue.js (part 1): modularize your store!
part 1 of 5
Saved
on: 2018-11-07
Modernizing Applications for Kubernetes - DEV Community ????
Introduction Modern stateless applications are built and designed to run in software conta...
Saved
on: 2018-10-23
12 Factor CLI Apps – Jeff Dickey – Medium
Set of 12 principles for building CLI apps
Saved
on: 2018-10-09
Clean Architecture by Uncle Bob: Summary and review
Clean architecture is the latest book by Uncle Bob. It defines architectural patterns to make software easy to change. In this blog post, I will go through the book summarizing the main concepts and giving my opinion on it. Here is the table of contents: Introduction Code design principles (SOLID) Components principles Architecture principles Setting […]
Saved
on: 2018-09-13
The Everybody Poops Rule – Ross Tuck
A discussion of code quality through the magical metaphor of human waste.
Saved
on: 2018-08-27