Binary Tree
725 subscribers
722 photos
2 videos
1 file
916 links
This is a channel about Open Source, software development, and IT in general.
Download Telegram
Thoughts about naming variables and methods

The proper naming of variables, functions, methods, and classes is one of the most important attributes of elegant and clean code, that clearly reflects the intentions of the programmer, without assumptions about what was meant.

#python, #django, #js, #code, #style
❀1πŸ‘1
The idiomatic comparison in Python

Some newbies in Python often improperly use the operators is and == without knowing how exactly they work and when to use each one. In this article, I’ll talk about the difference between them, and about the use cases of each one.

#python, #comparison, #operators
πŸ‘1πŸ”₯1
HTTPX is a fully featured HTTP client for Python 3, which provides sync and async APIs, and support for both HTTP/1.1 and HTTP/2.

#python, #library, #http, #asyncio
πŸ‘1
warp is a super-easy, composable, web server framework for warp speeds.

The fundamental building block of warp is the Filter: they can be combined and composed to express rich requirements on requests.

#rust, #http, #server, #framework
❀1πŸ”₯1
Day.js is a minimalist JavaScript library that parses, validates, manipulates, and displays dates and times for modern browsers with a largely Moment.js-compatible API. If you use Moment.js, you already know how to use Day.js.

#javascript, #datetime
❀1πŸ”₯1
FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints.

The key features are:

- Fast: Very high performance, on par with NodeJS and Go. One of the fastest Python frameworks available.

- Fast to code: Increase the speed to develop features by about 200% to 300%. *

- Fewer bugs: Reduce about 40% of human (developer) induced errors. *

- Intuitive: Great editor support. Completion everywhere. Less time debugging.

- Easy: Designed to be easy to use and learn. Less time reading docs.

- Short: Minimize code duplication. Multiple features from each parameter declaration. Fewer bugs.

- Robust: Get production-ready code. With automatic interactive documentation.

- Standards-based: Based on (and fully compatible with) the open standards for APIs: OpenAPI (previously known as Swagger) and JSON Schema.

#python, #api, #asyncio, #rest, #async, #json
❀1πŸ”₯1
pydantic is a Python package for data parsing and validation, which enforces type hints at runtime, and provides user-friendly errors when data is invalid.

#python, #data, #validation, #type_hints
πŸ‘1πŸ‘1
Credo is a static code analysis tool for the Elixir language with a focus on teaching and code consistency.

It can show you refactoring opportunities in your code, complex code fragments, warn you about common mistakes, show inconsistencies in your naming scheme and - if needed - help you enforce a desired coding style.

#elixir, #erlang, #beam, #code_analysis, #static_analysis, #linter
❀1πŸ”₯1
Diesel is a safe, extensible ORM and Query Builder for Rust

Diesel gets rid of the boilerplate for database interaction and eliminates runtime errors without sacrificing performance. It takes full advantage of Rust's type system to create a low overhead query builder that "feels like Rust."

Supported databases:

1. PostgreSQL
2. MySQL
3. SQLite

#rust, #orm, #postgres, #mysql, #sqlite, #query_builder
πŸ‘1πŸ”₯1
A-Frame is a web framework for building virtual reality experiences.

πŸ‘“ Virtual Reality Made Simple: A-Frame handles the 3D and WebVR boilerplate required to get running across platforms including mobile, desktop, Vive, and Rift just by dropping in <a-scene>.

❀️ Declarative HTML: HTML is easy to read and copy-and-paste. Since A-Frame can be used from HTML, A-Frame is accessible to everyone: web developers, VR enthusiasts, educators, artists, makers, kids.

πŸ”Œ Entity-Component Architecture: A-Frame is a powerful framework on top of three.js, providing a declarative, composable, reusable entity-component structure for three.js. While A-Frame can be used from HTML, developers have unlimited access to JavaScript, DOM APIs, three.js, WebVR, and WebGL.

⚑ Performance: A-Frame is a thin framework on top of three.js. Although A-Frame uses the DOM, A-Frame does not touch the browser layout engine. Performance is a top priority, being battle-tested on highly interactive WebVR experiences.

🌐 Cross-Platform: Build VR applications for Vive, Rift, Daydream, GearVR, and Cardboard. Don't have a headset or controllers? No problem! A-Frame still works on standard desktop and smartphones.

πŸ” Visual Inspector: A-Frame provides a built-in visual 3D inspector with a workflow similar to a browser's developer tools and interface similar to Unity.

πŸƒ Features: Hit the ground running with A-Frame's built-in components such as geometries, materials, lights, animations, models, raycasters, shadows, positional audio, tracked controllers. Get even further with community components such as particle systems, physics, multiuser, oceans, mountains, speech recognition, or teleportation!

#javascript, #ar, #web, #framework, #3d, #oculus
πŸ‘1πŸ”₯1
Finatra is a lightweight framework for building fast, testable, scala applications on top of TwitterServer and Finagle. Finatra provides an easy-to-use API for creating and testing Finagle servers and apps as well as powerful JSON support, modern logging via SLF4J, Finagle client utilities, and more.

#scala, #http, #framework, #microservices, #testing
❀1πŸ”₯1
DataScript is meant to run inside the browser. It is cheap to create, quick to query and ephemeral. You create a database on page load, put some data in it, track changes, do queries and forget about it when the user closes the page.

DataScript databases are immutable and based on persistent data structures. In fact, they’re more like data structures than databases (think Hashmap). Unlike querying a real SQL DB, when you query DataScript, it all comes down to a Hashmap lookup. Or series of lookups. Or array iteration. There’s no particular overhead to it. You put a little data in it, it’s fast. You put in a lot of data, well, at least it has indexes. That should do better than you filtering an array by hand anyway. The thing is really lightweight.

#clojure, #clojurescript, #database
❀1πŸ‘1
Surface is a server-side rendering component library that allows developers to build rich interactive user-interfaces, writing minimal custom Javascript.

Built on top of Phoenix LiveView and its new LiveComponent, Surface leverages the amazing Phoenix Framework to provide a fast and productive solution to build modern web applications.

#elixir, #phoenix, #erlang, #otp, #cowboy
❀1πŸ‘1
Gizmo is a a Microservice Toolkit from The New York Times.

This toolkit provides packages to put together server and pubsub daemons with the following features:

- Standardized configuration and logging
- Health check endpoints with configurable strategies
- Configuration for managing pprof endpoints and log levels
- Basic interfaces to define expectations and vocabulary
- Structured logging containing basic request information
- Useful metrics for endpoints
- Graceful shutdowns

#go, #microservices, #http, #server, #pubsub
❀1πŸ”₯1
Best Practices for ES6 Promises

ES6 promises are great! They are integral constructs for asynchronous programming in JavaScript, ultimately replacing the old callback-based pattern that was most infamously known for bringing about deeply nested code ("callback hell").

Unfortunately, promises are not exactly the easiest concept to grasp. In this article, I will discuss the best practices I have learned over the years that helped me make the most out of asynchronous JavaScript.

#javascript, #node, #performance, #tips, #article
❀1πŸ‘1
A half-hour to learn Rust

In order to increase fluency in a programming language, one has to read a lot of it. But how can you read a lot of it if you don't know what it means?

In this article, instead of focusing on one or two concepts, I'll try to go through as many Rust snippets as I can, and explain what the keywords and symbols they contain mean.

#rust, #learning, #article, #beginner
❀1πŸ‘1
The Erlang Runtime System

For anyone who: Want to tune an Erlang installation. Want to know how to debug VM crashes. Want to improve performance of Erlang applications. Want to understand how Erlang really works. Want to learn how to build your own runtime environment.

If you want to debug the VM If you want to extend the VM If you want to do performance tweaking—​jump to the last chapter … but to really understand that chapter you need to read the book.

#erlang, #runtime, #system, #beam #book
❀1πŸ”₯1
Plausible Analytics is simple, lightweight, open-source and privacy-friendly alternative to Google Analytics. It doesn’t use cookies and is fully compliant with GDPR, CCPA and PECR. You can view the live demo of our own website stats.

#elixir, #phoenix, #analytics, #privacy
❀1πŸ”₯1
TestCafe is a Node.js tool to automate end-to-end web testing.

Works on all popular environments: TestCafe runs on Windows, MacOS, and Linux. It supports desktop, mobile, remote and cloud browsers (UI or headless).

1 minute to set up: You do not need WebDriver or any other testing software. Install TestCafe with one command, and you are ready to test: npm install -g testcafe

Free and open source: TestCafe is free to use under the MIT license. Plugins provide custom reports, integration with other tools, launching tests from IDE, etc. You can use the plugins made by the GitHub community or make your own.

#javascript, #typescript, #node, #testing, #e2e, #automation, #browser
❀1πŸ”₯1
Rome is a linter, compiler, bundler, and more for JavaScript, TypeScript, JSON, HTML, Markdown, and CSS.

Rome is designed to replace Babel, ESLint, Webpack, Prettier, Jest, and others.

Rome unifies functionality that has previously been separate tools. Building upon a shared base allows us to provide a cohesive experience for processing code, displaying errors, parallelizing work, caching, and configuration.

#typescript, #frontend, #toolchain, #javascript, #bundler, #linter, #html, #css
❀1πŸ‘1
Prefect is a new workflow management system, designed for modern infrastructure and powered by the open-source Prefect Core workflow engine. Users organize Tasks into Flows, and Prefect takes care of the rest.

#python, #automation, #workflow, #data_science, #data
❀1πŸ‘1