development
By definition, Design Patterns are reusable solutions to commonly occurring problems(in the context of software design). Design patterns were started as best practices that were applied again and again to similar problems encountered in different contexts. They become popular after they were collected, in a formalized form, in the Gang Of Four book in 1994. Originally published with c++ and smalltalk code samples, design patterns are very popular in Java and C# can be applied in all object-oriented languages. In functional languages like Scala, certain patterns are not necessary anymore.
You can use this tool to generate a valid Permissions Policy HTTP Header, which can be provided by your web server / web application in order to improve the security of your visitors and the data they may be accessing on your site.
Local email debugging made easy.
Phost is an email debugging tool and local SMTP server, developed primarily in PHP. It leverages a powerful stack of modern technologies:
Extremely fast, Production-grade web bundler. An extremely fast, production-grade web bundler based on Rust.
Mako is a new web bundler for Web App, Library, and Framework. It's designed to be fast, reliable, and easy to use. It has been used in hundreds of projects in production by Ant Group, and other companies. If you are looking for a modern web bundler, Mako is the right choice.
🚀 A curated list of awesome articles, videos, and other resources to learn and practice software architecture, patterns, and principles.
ts-unused-exports finds unused exported symbols in your Typescript project
List of Free Learning Resources In Many Languages.
This list was originally a clone of StackOverflow - List of Freely Available Programming Books with contributions from Karan Bhangui and George Stocker.
The list was moved to GitHub by Victor Felder for collaborative updating and maintenance. It has grown to become one of GitHub's most popular repositories.
Check for free whether your Laravel website is safe or vulnerable before others do!
This is a free tool to all who wants to optimize and check the security on their Laravel website While there are many security scanners out there, we thought that one was missing. That’s why we made this vulnerability scanner that focus specific on Laravel websites. We focused on known Laravel vulnerabilities, and made the scanner focus on them.
A library and language for building parsers, interpreters, compilers, etc.
Ohm is a parsing toolkit consisting of a library and a domain-specific language. You can use it to parse custom file formats or quickly build parsers, interpreters, and compilers for programming languages.
Extremely Fast Vite-compatible Web Build Tool Written in Rust.
Farm is a Rust-Based Web Building Engine to Facilitate Your Web Program and JavaScript Library. Farm is a extremely fast vite-compatible web-building tool written in Rust. It's designed to be fast, powerful and consistent, aims to provide best experience for web development, which is the real next generation build tool.
Gitleaks is a fast, light-weight, portable, and open-source secret scanner for git repositories, files, and directories.
Related contents:
Test your front-end against a real API.
A hosted REST-API ready to respond to your AJAX requests.
Reqres simulates real application scenarios. If you want to test a user authentication system, Reqres will respond to a successful login/register request with a token for you to identify a sample user, or with a 403 forbidden response to an unsuccessful login/registration attempt.
An API for asynchronous programming with observable streams.
ReactiveX is a combination of the best ideas from the Observer pattern, the Iterator pattern, and functional programming.
Page speed monitoring. Web performance library for measuring all performance vitals metrics.
Perfume is a tiny, web performance monitoring library that reports field data back to your favorite analytics tool.
Page Speed is a feature, and to deliver it we need to understand the many factors and fundamental limitations that are at play. If we can measure it, we can improve it.
Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.
Related contents:
Avast, ye landlubbers CaptainHook is a bloody flexible and easy to use git hook manager.
CaptainHook is a very flexible git hook manager for software developers that makes sharing git hooks with your team a breeze.
Collection pipeline library for PHP.
Knapsack is a collection library for PHP >= 5.6 that implements most of the sequence operations proposed by Clojures sequences plus some additional ones. All its features are available as functions (for functional programming) and as a collection pipeline object methods.
Related contents:
Tester: enjoyable unit testing in PHP with code coverage reporter. 🍏🍏🍎🍏
Nette Tester is a productive and enjoyable unit testing framework. It's used by the Nette Framework and is capable of testing any PHP code.
Removes final and readonly keywords from source code on-the-fly and allows mocking of final methods and classes. It can be used together with any test tool such as PHPUnit or Mockery.
Open Source Zero Trust Networking.
OpenZiti is the world’s most used and widely integrated open source secure networking platform. OpenZiti provides both zero trust security and overlay networking as pure open source software.
Next Generation Server Toolkit. Create web servers with everything you need and deploy them wherever you prefer.
Launch Your Startup in Days, Not Weeks.
The NextJS boilerplate with all you need to build your SaaS, AI tool, or any other web app and make your first $ online fast.
Devika is an Agentic AI Software Engineer that can understand high-level human instructions, break them down into steps, research relevant information, and write code to achieve the given objective. Devika aims to be a competitive open-source alternative to Devin by Cognition AI.
Aider lets you pair program with LLMs, to edit code in your local git repository. Start a new project or work with an existing git repo. Aider works best with GPT-4o and Claude 3 Opus and can connect to almost any LLM.
Related contents:
Meaningful Code Tests for Busy Devs.
With CodiumAI, you get non-trivial suggestions (and trivial, too!) suggested right inside your IDE or Git platform, so you can code smart and stay confident when you push. Code, as you meant it.
A Rust crate for cooking up Terminal User Interfaces. Rust library that's all about cooking up terminal user interfaces (TUIs) 👨🍳🐀
Ratatui is a crate for cooking up terminal user interfaces in Rust. It is a lightweight library that provides a set of widgets and utilities to build complex Rust TUIs. Ratatui was forked from the tui-rs crate in 2023 in order to continue its development.
A reliable Event Gateway for event-driven applications. A reliable event gateway for asynchronous applications. Receive events (e.g. webhooks) in your development environment
Receive, process, and deliver messages across your event-driven architecture with Hookdeck's platform for engineering teams. Using the Hookdeck CLI, you can forward your events (e.g. webhooks) to your local web server with unlimited free and permanent event URLs. Your event history is preserved between sessions and can be viewed, replayed, or used for testing by you and your teammates.
A simple, scalable, and powerful architecture for building production ready React applications.
This repo attempts to present a way of creating React applications using some of the best tools in the ecosystem with a good project structure that scales very well. Based on my experience working with a lot of different codebases, this architecture turns out to be the most effective.
The Programming Language compiled to Bash. Write your scripts in a modern type-safe and runtime-safe programming language that handles many bugs and mistakes during compilation process.
Deliver web apps with confidence 🚀 .
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages.
Related contents:
The C4 model for visualising software architecture: Context, Containers, Components, and Code.
The C4 model was created as a way to help software development teams describe and communicate software architecture, both during up-front design sessions and when retrospectively documenting an existing codebase. It's a way to create maps of your code, at various levels of detail, in the same way you would use something like Google Maps to zoom in and out of an area you are interested in.
JSON for Humans.
JSON5 is an extension to the popular JSON file format that aims to be easier to write and maintain by hand (e.g. for config files). It is not intended to be used for machine-to-machine communication. (Keep using JSON or other file formats for that. 🙂)
Related contents:
Logdy a web viewer for logs. Supercharge terminal logs with web browser UI and low-code. Save 90% of time searching and browsing logs.
Web based real-time log viewer. Stream ANY content to a web UI with autogenerated filters. Parse any format with TypeScript.
PHP Extended SQL is an alternative to the also-known DQL (Doctrine Query Language). It combines the flexibility of SQL with the powerful Doctrine metadata to give you more control over queries.
Project IDX is an AI-assisted workspace for full-stack, multiplatform app development in the cloud. With support for a broad range of frameworks, languages, and services, alongside integrations with your favorite Google products, IDX streamlines your development workflow so you can build and ship apps across platforms with speed, ease, and quality.
mPDF is a PHP library which generates PDF files from UTF-8 encoded HTML.
It is based on FPDF and HTML2FPDF with a number of enhancements.
A pragmatic approach to modernizing legacy PHP code.
I started this website to share some of my learnings and some of the pitfalls I've encountered while modernizing legacy PHP code (my clients' code as well as my own side projects). I ordered it in a way that I think makes sense, but since there are different "levels" of legacy, feel free to jump around as you see fit. I hope you find it useful.
this library solves a simple problem: removing all the code you need to map one object to another. A boring code to write and often replaced by less-performant alternatives.
AutoMapper uses a convention-based matching algorithm to match up source to destination values. AutoMapper is geared towards model projection scenarios to flatten complex object models to DTOs and other simple objects, whose design is better suited for serialization, communication, messaging, or simply an anti-corruption layer between the domain and application layer.
Related contents:
Your powerful rich text editor.
Quill is a modern WYSIWYG editor built for compatibility and extensibility
Distributed Async Await. A dead simple programming model for modern applications.
Resonate's Distributed Async Await is a new programming model that simplifies coding for the cloud. It ensures code completion even if hardware or software failures occur during execution. The programming model does this with just functions and promises, making it trivial to build coordinated and reliable distributed applications.
Related contents:
Intercept & view all your HTTP(S). Mock endpoints or entire servers. Rewrite, redirect, or inject errors.
HTTP Toolkit is a beautiful & open-source tool for debugging, testing and building with HTTP(S) on Windows, Linux & Mac.
Some useful websites for programmers.
When learning CS, there are some useful sites you must know to get always informed to do your technologies even better and learn new things. Here is a non-exhaustive list of some sites you should visit. This list will get updated as soon as I can get another link, but you can also contribute by adding those you know 😉
The open-source package registry for modern JavaScript and TypeScript.
JSR is designed for TypeScript. You publish TypeScript source, and JSR handles generating API docs, .d.ts files, and transpiling your code for cross-runtime compatibility.
JSR packages are distributed as web-standard ECMAScript modules.
Related contents:
🎉 Web component JS frameworks overview by their syntax and features.
Many JS developers don't have a good overview of every existing JS framework with their own syntax and features. How do we solve this ? Developers love having framework overview by examples. It's a quick introduction before going deeper.
Related contents:
Schema.org is a collaborative, community activity with a mission to create, maintain, and promote schemas for structured data on the Internet, on web pages, in email messages, and beyond.
Schema.org vocabulary can be used with many different encodings, including RDFa, Microdata and JSON-LD. These vocabularies cover entities, relationships between entities and actions, and can easily be extended through a well-documented extension model. Over 10 million sites use Schema.org to markup their web pages and email messages. Many applications from Google, Microsoft, Pinterest, Yandex and others already use these vocabularies to power rich, extensible experiences.
The front-end to your dev env.
-
Like asdf (or nvm or pyenv but for any language) it manages dev tools like node, python, cmake, terraform, and hundreds more.
-
Like direnv it manages environment variables for different project directories.
-
Like make it manages tasks used to build and test projects.
Related contents:
- La veille des Ours n°31 @ Bearstech's LinkedIn :fr:.
- Adieu
direnv, Bonjourmise@ Julien Wittouck. - Mon environnement de développement avec mise et chez-moi @ À l'encre rouillée :fr:.
- Mise-en-place & Fnox : mon setup de gestion multi-projets @ Rémi Tech Notes :fr:.
- Mise + Krew : vos plugins kubectl en mode déclaratif @ Une Tasse de Café :fr:.
- Mise : un multi-outil pour votre poste de Dev & Ops @ Devoxx France's YouTube :fr:.
- Use Task Runners for Common Coding Tasks @ Ham Vocke.
Rust est un langage comme un autre avec ses spécificités. Mais beaucoup s'en font tout un monde (une sorte d'élitisme inutile s'est installé autour de ce langage). J'espère que ce projet vous aidera à franchir le pas, mais n'oubliez pas de lire la documentation officielle (https://doc.rust-lang.org/book/), lire des livres, blog posts et demander aux copains, ...
Visual Programming. For Developers.
Open source, runs in VS Code, integrates with existing TypeScript code, browser and Node.js.
Symfony bundle to generate PDFs with headless Chrome using chrome-php/chrome.
The ChromePdfBundle is a Symfony bundle that leverages the chrome-php/chrome project to render HTML and save the output as a PDF file.
Handy online tools for developers. Collection of handy online tools for developers, with great UX.
- Original: IT Tools @ GitHub.
- Maintained fork: IT Tools @ GitHub.
Related contents:
a package manager for the web.
Bower offers a generic, unopinionated solution to the problem of front-end package management, while exposing the package dependency model via an API that can be consumed by a more opinionated build stack. There are no system wide dependencies, no dependencies are shared between different apps, and the dependency tree is flat.
DDEV is an open-source tool for running local web development environments for PHP and Node.js, ready in minutes. Its powerful, flexible per-project environment configurations can be extended, version controlled, and shared. DDEV allows development teams to adopt a consistent Docker workflow without the complexities of bespoke configuration.
Related contents:
PrintCSS CSS Paged Media tutorial and information.
This tutorial shows how to generate PDF documents from XML/HTML using the "CSS Paged Media" approach, whereby the complete styling and layout information is kept in cascading stylesheets (CSS). It will also show the results produced by different tools with identical data, providing an impression of functionality and output quality.
A tiny (124 bytes), secure, URL-friendly, unique string ID generator for JavaScript.
Nano ID is a library for generating random IDs. Likewise UUID, there is a probability of duplicate IDs. However, this probability is extremely small.
❄️ A PHP library for generating universally unique identifiers (UUIDs).
ramsey/uuid is a PHP library for generating and working with RFC 4122 version 1, 2, 3, 4, 5, 6, and 7 universally unique identifiers (UUID). ramsey/uuid also supports optional and non-standard features, such as GUIDs and other approaches for encoding/decoding UUIDs.
Open Initiative for Process Specifications.
The open source community is collaborating to establish common specifications for secure software development based on open source best practices.
An array framework for Apple silicon.
MLX is an array framework for machine learning research on Apple silicon, brought to you by Apple machine learning research.
Understand. Improve. Code.
AST Metrics is a blazing-fast static code analyzer that works across programming languages.. It empowers you to gain deep insights into your code structure, identify potential problems early on, and improve code quality. Leveraging the efficiency of Go, AST Metrics delivers exceptional performance for large codebases.
Related contents:
An elegant GUI library for Rust. Fullstack, crossplatform,lightning fast, fully typed. Dioxus is a Rust library for building apps that run on desktop, web, mobile, and more.
Build for web, desktop, and mobile, and more with a single codebase. Zero-config setup, integrated hotreloading, and signals-based state management. Add backend functionality with Server Functions and bundle with our CLI.