magnASCII.io Simone Magnaschi
Senior Full Stack Web Dev
Bookmarks tagged with #sw-architecture.
Show all

How to keep your legacy PHP project working with minimal efforts

So, what is the point? Extremely outdated but excellent working PHP projects are widespread cases in business realities. It’s enough just to open PHP projects listing in Upwork (or any other freelance marketplace) to prove that.
Saved on: 2022-11-11

37signals Dev — Vanilla Rails is plenty

I have often heard this: vanilla Rails can only get you so far. At some point, apps become unmaintainable, and you need a different approach that brings the missing pieces, because Rails encourages a poor separation of concerns at the architectural level.
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.
Saved on: 2022-10-03

Patterns.dev - Modern Web App Design Patterns

Patterns.dev is a free online resource on design, rendering, and performance patterns for building powerful web apps with vanilla JavaScript or modern frameworks.
Saved on: 2022-09-06

Redis Explained

What is Redis? Redis (“REmote DIctionary Service”) is an open-source key-value database server. The most accurate description of Redis is that it's a data structure server. This specific nature of Redis has led to much of its popularity and adoption amongst developers.
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.
Saved on: 2022-08-16

How Validus Built a Bloomberg Real-Time Market Data Integration on AWS in a

By Fergus Strangways-Dixon, Lead Platform Engineer – Validus Risk Management Ltd.By Nihilson Gnanadason, Sr. Solutions Architect – AWS
Saved on: 2022-08-16

SPA Alternative

The emerging norm for web development is to build a React single-page application, with server rendering. The two key elements of this architecture are something like: This idea has really swept the internet.
Saved on: 2022-07-20

Story Points Revisited

I like to say that I may have invented story points, and if I did, I’m sorry now. Let’s explore my current thinking on story points. At least one of us is interested in what I think. Stories, of course, are an XP idea, not a Scrum idea. Somehow, Scrum practitioners have adopted the idea.
Saved on: 2022-07-10

Spotify’s Failed #SquadGoals

Spotify doesn’t use “the Spotify model” and neither should you. Of all the allures of startup culture, few are more desireable than the speed and nimbleness of a small team. Maintaining that feeling as a company grows is a challenge.
Saved on: 2022-07-10

Changing tires at 100mph: A guide to zero downtime migrations

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 names/types, or adapt data to new use cases.
Saved on: 2022-05-05

abseil / Software Engineering at Google

In March, 2020, we published a book titled “Software Engineering at Google” curated by Titus Winters, Tom Manshreck and Hyrum Wright.
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.
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 to many changes to make it? Or maybe you are starting new project and you would like avoid such situations?
Saved on: 2022-01-02

Symfony Demo meets Modular, Microservice-ready Architecture

Hi guys. I've created a Symfony 6 based Application that can serve as an Enterprise Architecture reference for anyone who's planning to build Large Scale Applications with Symfony. It uses a similar 'Blog' theme as the official Symfony Demo and can be found here. 
Saved on: 2021-12-09

Why is Excalidraw so fucking good?

Disclaimer: This may read like an ad. It's not. No one's paying me to say this, I just love this product. Excalidraw. Is. So. Good.
Saved on: 2021-11-05

How to design in every language at once | by Canva Engineering | Oct, 2021

At Canva, part of our commitment to inclusivity is building a global design product that’s accessible to everyone in the world. Our vision is to empower the world to design, so one of our crazy big goals is to be available in every language.
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. For this writeup, we’re going to use the example of a simple counter component. Here’s what the Livewire component looks like:
Saved on: 2021-10-13

Learn How Others Are Running Your Favorite Web Frameworks and Tech Stacks in Production

A podcast where folks talk about running small & large web apps in production. Topics include tech stacks, lessons learned and DevOps / deployment tips. Full stack developer. Author of web development and deployment courses. Technical death metal enthusiast.
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.
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 writing HTML from ’99 with tables and blink tags more or less.
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.
Saved on: 2021-08-31

Design Patterns in JavaScript - DEV Community

We will discuss implementation of Design Patterns by using JavaScript ES6 classes. Design Patterns in JavaScript on Udemy by Dmitri Nesteruk.
Saved on: 2021-08-28

The 5-hour CDN

The term “CDN” (“content delivery network”) conjures Google-scale companies managing huge racks of hardware, wrangling hundreds of gigabits per second. But CDNs are just web applications. That’s not how we tend to think of them, but that’s all they are.
Saved on: 2021-08-04

An Elixir Adoption Success Story

How a team that was new to Elixir over-delivered a big project in just three months. Adopting a new language is more than just a technical journey. A language is only the right tool for the job if your engineers can wield it well.
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

Let's talk about the elephant monolith in the room. It's easy to associate monoliths with legacy, weird, outdated, insecure code. A beast developed for decades that nobody wants to touch because they'll break it and it is impossible to wrap your head around everything.
Saved on: 2021-05-31

The data model behind Notion's flexibility

Today, that information mostly remains siloed across tools. Take cloud-based document editors, where pages are their smallest atomic unit. Information is locked inside of pages and files and folders — that’s reminiscent of how things were done a century ago.
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.
Saved on: 2021-03-02

A monorepo approach to larger modules in Laravel and Lambda

I work with a large enterprise application that’s broken down into a few teams, languages and modules.
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.
Saved on: 2021-02-23

Live Coding 12-Factor App

Jiang: I'm Emily Jiang. I work for IBM. Actually, I'm based in IBM, UK down in Hursley. I'm the Senior Technical Staff member in IBM. I mainly work on open-source projects, MicroProfile, Open Liberty as an Architect.
Saved on: 2020-12-20

Building a Scalable E-Commerce Data Model

If selling products online is a core part of your business, then you need to build an e-commerce data model that’s scalable, flexible, and fast.
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

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.
Saved on: 2020-11-10

If not SPAs, What?

A few months ago, I wrote an article about how the SPA pattern has failed to simplify web development. The SPA pattern (Single-Page Apps), I tried to define, was about the React model, which also covers, to a large extent, the model of Vue, Angular, and other frontend frameworks.
Saved on: 2020-10-29

Maya Shavin: How I Built My Website

Besides working as a senior front-end developer at Cloudinary, I’m also a content creator, a blogger, and an open-source developer. Follow me at @mayashavin and on mayashavin.com. In the beginning, my website, mayashavin.
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.
Saved on: 2020-10-13

Components, Patterns and Sh*t It’s Hard to Deal With

InfoQ Homepage Presentations Components, Patterns and Sh*t That’s Hard to Deal with
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. Following rule 1 ensures that you'll never fetch a service ad hoc, e.g.
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".
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 present already existed when I arrived at Arquivei, almost two years ago and didn’t change much since.
Saved on: 2020-09-04

Legacy to Laravel: How to Modernize an Aging PHP Application | Tighten

Here at Tighten, we love Laravel and get excited about staying up to date with the latest and greatest features our framework of choice has to offer.
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 Shared Apps & Shared Databases Separate Apps & Shared Databases Shared Apps & Separate Databases There is no right or wrong here.
Saved on: 2020-08-31

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 relatively informal documents that the primary author or authors of a software system or application create before they embark on the coding project.
Saved on: 2020-07-23

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.
Saved on: 2020-07-03

Embedded Rules of Thumb

You may call them guidelines, heuristics, or rules of thumb. No matter, the purpose is the same: to provide a reasonable approximation of the truth.
Saved on: 2020-06-01

3 Guiding Principles for Building New SaaS Products on AWS

I won't start this article saying there is "one true-way" for building SaaS on cloud providers, specifically AWS. I will confidently say that there are many wrong ways.
Saved on: 2020-05-06

Patterns for Managing Source Code Branches

Modern source-control systems provide powerful tools that make it easy to create branches in source code. But eventually these branches have to be merged back together, and many teams spend an inordinate amount of time coping with their tangled thicket of branches.
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.
Saved on: 2020-04-09

Ready for changes with Hexagonal Architecture

As the production of Netflix Originals grows each year, so does our need to build apps that enable efficiency throughout the entire creative process.
Saved on: 2020-03-12

You don't want quality time, you want garbage time

What is something you wish you'd done later in life, rather than earlier? Reply directly to this email to let me know! If you've been curious about machine learning, Vicki Boykis wrote a couple of posts that provide context to the hype.
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

Reddit - Dive into anything

In this talk, Martin Fowlers describes a real-life event driven system that's unlike what I've seen before in PHP. I wonder whether there would be some real-life applications for this architecture within our community — or maybe there already is and I'm simply not aware?
Saved on: 2020-02-27

Domain Logic and SQL

Over the last couple of decades we've seen a growing gap between database-oriented software developers and in-memory application software developers. This leads to many disputes about how to use database features such as SQL and stored procedures.
Saved on: 2020-02-21

justinamiller/SoftwareArchitect

What is a Software Architect?Levels of ArchitectureTypical ActivitiesImportant Skills (1) Design (2) Decide (3) Simplify (4) Code (5) Document (6) Communicate (7) Estimate and Evaluate (8) Balance (9) Consult and Coach (10) Market Architect's Technology RoadmapTypes of Solution ArchitectsSuggested B
Saved on: 2020-01-19

Deploy your side-projects at scale for basically nothing - Google Cloud Run

I have built hundreds of side projects over the years and finding a place to manage and deploy them all has always been tricky.
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 of AdevintaTalks in Barcelona on November 2019. I’m experimenting with this format: I went through the slides typing what I’d speak over them, edited the text, and added some of the most relevant slides inbetween paragraphs.
Saved on: 2020-01-10

The Amazon Builders' Library

Developer Center / ...
Saved on: 2019-12-06

Keep your source code SIMPLE

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 timeless and apply to many forms of coding no matter which programming paradigm or language you use.
Saved on: 2019-11-10

Twelve-factor app development on GCP

This document describes the popular twelve-factor app methodology and how to apply it when you develop apps that run on Google Cloud Platform (GCP). If you use this methodology, you can make scalable and resilient apps that can be continuously deployed with maximum agility.
Saved on: 2019-11-01

Laravel beyond CRUD: the next chapter

Scout APM helps PHP developers pinpoint N+1 queries, memory leaks & more so you can troubleshoot fast & get back to coding faster. Start your free 14-day trial today. It's been almost a year since I released the first post in a series called "Laravel beyond CRUD'.
Saved on: 2019-10-21

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, designing and shipping Skype on Xbox One and open-sourcing RIBs, Uber's mobile architecture framework.
Saved on: 2019-09-18

The boring technology behind a one-person Internet company

The boring technology behind a one-person Internet company[Updated @ Dec, 2019] I found that this old blog post got shared & discussed a lot recently on Hacker News and Reddit. I’d like to clarify a few things:This post is not very up-to-date now.
Saved on: 2019-09-17

Designing very large (JavaScript) applications - Malte Ubl - Medium

Originally published on my blog Industrial Empathy. 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.
Saved on: 2019-09-04

Modern applications at AWS - All Things Distributed

Innovation has always been part of the Amazon DNA, but about 20 years ago, we went through a radical transformation with the goal of making our iterative process—"invent, launch, reinvent, relaunch, start over, rinse, repeat, again and again"—even faster.
Saved on: 2019-08-29

Mistaeks I Hav Made: Mistakes we made adopting event sourcing (and how we r

The app maintained a relational model of the current state of its entities alongside the event history. That in itself wouldn’t be a bad thing, if it had been implemented as a “projection” of the events.
Saved on: 2019-08-28

How to Build Good Software

Bad software is one of the few things in the world you cannot solve with money. Billion dollar airlines have flight search apps that are often inferior to those built by groups of students.
Saved on: 2019-08-19

3 Kinds of Good Tech Debt — Squarespace / Engineering

“Tech debt” is a dirty word in the software engineering world. It’s often said with an air of regret; a past mistake that will eventually need to be atoned for with refactoring. Financial debt isn’t universally reviled in the same way.
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 Edition So…caching.
Saved on: 2019-08-07

Faster, cheaper, and better: A story of breaking a monolith

Disclaimer: Fair is Sep Dehpour’s employer at the time of writing this article. If you don’t know about Fair, we are a vehicle subscription app. So when it came to naming the monolith that was dealing with vehicles, it was a no-brainer to call it vehicle-service.
Saved on: 2019-07-18

How we built a serverless architecture with AWS

Our customers go serverless for live locations with HyperTrack. They use us as a managed service for live locations. They do not need to build and manage the servers to ingest, process, store, provision and manage anything related to the live location of their app users.
Saved on: 2019-07-11

Continuous Integration (CI) Explained

Continuous integration enables iterative software development, reduces risks from defects and makes developers highly productive. Continuous integration (CI) is a software development practice in which developers merge their changes to the main branch many times per day.
Saved on: 2019-07-05

hgraca/explicit-architecture-php: This repository is a demo of Explicit Arc

The "Symfony Demo Application" is a reference application created to show how to develop Symfony applications following the recommended best practices. This repository is a demo of Explicit Architecture, using the Symfony Demo Application.
Saved on: 2019-06-07

PHP

Entity would be persisted, a DTO, or data transfer object would not. So for example, let's take an Address. Suppose I have an Address model - but it isn't persisted to the database, we just build it out of data from our shipping address form so we can interact with it in an OOP way.
Saved on: 2019-05-14

Organizing code into domain modules | Matthieu Napoli

Note: the french version of this article is published on Wizaplace's tech blog. Regarding "how to organize teams", we were discussing Spotify's Feature teams. In a "classic" organization, teams are usually formed by grouping people based on their job title:
Saved on: 2019-04-29

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”.
Saved on: 2019-03-14

Microservices, Containers and Kubernetes in 10 minutes

What is a Microservice? What is a microservice? Should you be using microservices? How are microservices related to containers and Kubernetes? If these things keep coming up in your day-to-day and you need an overview in 10 minutes, this blog post is for you.
Saved on: 2019-03-07

Hand-written service containers — Matthias Noback

•Posted by1 hour ago matthiasnoback.nl/2019/0...
Saved on: 2019-03-04

Different kinds of service bus: command bus, service bus and query bus.

The last article was all about the command bus, a specific type of service bus. Now, let's take a step back and look at some other service buses. What similarities can we discover and how do they differ. It is surprisingly hard to find an easy explanation of what a service bus is.
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

I love listening to podcasts, but I can’t find an app to play them in that I really enjoy using. When you think about it, there are a lot of moving parts to making on of these apps. Let’s explore them.
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".
Saved on: 2019-01-11

A Beginner's Guide to Scaling to 11 Million+ Users on Amazon's AWS

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.
Saved on: 2018-12-26

Model View Controller isn't

MVC was invented in the 70s, when Alan Kay with his group worked on the Dynabook and Smalltalk at Xerox Parc. Trygve M. H. Reenskaug remembers it: Let us try to understand what they had mind, when they use the terms model, view, and controller.
Saved on: 2018-11-24

Making a large scale app with vue.js (part 1): modularize your store!

First, I apologize if my language is sometimes poor, I’m french and I don’t natively speak English. Recently I reacted about an article from Anthony Gore: Is Vue.
Saved on: 2018-11-07

Modernizing Applications for Kubernetes - DEV Community ?‍??‍?

Modern stateless applications are built and designed to run in software containers like Docker, and be managed by container clusters like Kubernetes.
Saved on: 2018-10-23

12 Factor CLI Apps – Jeff Dickey – Medium

Jeff D. CLIs are a fantastic way to build products. Unlike web applications, they take a small fraction of the time to build and are much more powerful. With the web, you can do whatever the developer programmed.
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. What is architecture?
Saved on: 2018-09-13

The Everybody Poops Rule – Ross Tuck

One of the hardest things to teach growing devs is when not to use their newfound skills. After putting huge effort into learning with a mentor, having that same mentor pick up a feature and say “No, just crap this one out, it’s not important” seems inconsistent and bewildering.
Saved on: 2018-08-27

What they don’t tell you about event sourcing – Hugo Rocha – Medium

Event sourcing and CQRS gained a lot of popularity recently. The advantages are obvious and they share a very peculiar symbiosis with the current tech state of the art, making them very relevant.
Saved on: 2018-08-22

Design Principles - React

We wrote this document so that you have a better idea of how we decide what React does and what React doesn’t do, and what our development philosophy is like. While we are excited to see community contributions, we are not likely to choose a path that violates one or more of these principles.
Saved on: 2018-07-30

More than concentric layers – @herbertograca

This post is part of The Software Architecture Chronicles, a series of posts about Software Architecture. In them, I write about what I’ve learned on Software Architecture, how I think of it, and how I use that knowledge.
Saved on: 2018-07-13

Particular/Workshop: SOA Done Right

Please ensure you have prepared your machine well in advance of the workshop. Your time during the workshop is valuable, and we want to use it for learning, rather than setting up machines.
Saved on: 2018-07-06

Context passing — Matthias Noback : Blog

I'm working on another "multi-tenant" PHP web application project and I noticed an interesting series of events. It felt like a natural progression and by means of a bit of dangerous induction, I'm posing the hypothesis that this is how things are just bound to happen in such projects.
Saved on: 2018-04-25

A few days with a software consultant

We started to implement domain driven design (DDD) at my workplace at the start of last year. I had learned a lot about DDD in my spare time, but no one on the team had worked on a DDD project beforehand. We decided to hire Marco Pivetta (@ocramius) as a consultant for this reason.
Saved on: 2018-04-04
❤️
</>
2024