Software Libraries
This page details popular software libraries in vaiouos languges/techn stacks.
Model wep applications / model software libraries
Recently read
- 12/26/22 : Cyber Chef . complete plain JS web site , no framework . It has 3 main parts: core, node, web
- if you want to see how to build with out any framework, best repo to learn from .
- here is web index.js which calls App.js & manager.js as shown in the file below.
- github 1s
We can levarage CODE
- we can levarage CODE from these MODEL web apps , model software libs. Save time, Do not reinvent the wheel.
- 1/ next.js commerce site ; site by Vercel, latest/best practices of Next.js , SR tested in /playground
- functionality: good for search items by category and BUY , Shopping Cart add , checkout
- 2/ focalboard : Trello OSS equilant. It has 2 parts: webapp (react.js) and Server (golang)
- good webapp UX/UI written in React and Redux. we can use React part UI components, replace Redux with zustand
- functinality: good for CRUD screens in SnapCODERR
Production Tech-Stacks
- Migrating ToolJet server from Ruby on Rails to Node.js (NEST.js)
- Kent C. Dodds: How I built a modern website in 2021
- used Prisma, Next.js , PostgresDB, Redis
JavaScript Libraries
JSON editor based Libraries
1.1/ react-json-inspector: Developer Tool Filter JSON TreeView Visualization
JSON inspector that features tree expansion and fast search.
Demo ; github.com/Lapple/react-json-inspector
1.2/ JSON Editor demo ; github code ; Column interface is good, need polishing of UI.
modern Json Editor ; This need a 3 column like the ABOVE one, so you can see multiple Schema names on COLUMN one.
2/ react-text-filter ; Filter Text User Input ; Debounced input for search interfaces.
good LEFT Item list onclick serach display on RIGHT.
Regex Libraries
- regexr - grand daddy of all Regex . Using LEFT menu
- Learn regex the easy way
- Micromatch : Highly optimized wildcard and glob matching library.
- Regex.help : Get a computer to write regex for you. A front-end for grex ; github repo
- JS version of above regex.help library which was in Rust lang
- SR note: with above lib in Browser, we can have Regex generated in the Browser itself. Check it
- Regex generator ; SR: ok ,
foobarfoobaz-- gave --> regex ^fooba[rz]$
www.google.comwww.abc.comwww.tesla.com-- gave --> with Capture Groups --> ^www\.(google|(tesla|abc))\.com$-- gave --> regular -->^www\.(?:google|(?:tesla|abc))\.com$
- have 3 boxes as below: - Output1 is STAGE 1 output : first get regex for 'output1' by omitting www.xyz.com , then extract WORDS - Output2 is final output , where USER is interested in partial strings from Output 1 - we can use this THREE STAGE UI for STRINGS part of our EARNER site .
| INPUT | Output 1 |Output2 ||-----------------|:----------------:|-------:|| wwww.google.com | www.google.com | google || www.tesla.com | www.tesla.com | tesla || www.xyz.com | | |``````pythonCharacter classes. any character except newline\w\d\s word, digit, whitespace\W\D\S not word, digit, whitespace[abc] any of a, b, or c[^abc] not a, b, or c[a-g] character between a & g
Anchors^abc$ start / end of the string\b\B word, not-word boundary
Escaped characters\.\*\\ escaped special characters\t\n\r tab, linefeed, carriage return
Groups & Lookaround(abc) capture group\1 backreference to group #1(?:abc) non-capturing group(?=abc) positive lookahead(?!abc) negative lookahead
Quantifiers & Alternationa*a+a? 0 or more, 1 or more, 0 or 1a{5}a{2,} exactly five, two or morea{1,3} between one & threea+?a{2,}? match as few as possibleab|cd match ab or cd```
### React
- Next.js : The React Framework for Production- Next.js gives you the best developer experience with all the features you need for production: hybrid static & server rendering, TypeScript support, smart bundling, route pre-fetching, and more. No config needed.
- **hooks** : Collection of essential React Hooks; [react-use](https://github.com/streamich/react-use)- **State management** : Bear necessities for state management in React ; [Zustand](https://github.com/pmndrs/zustand)- **SWR** : SWR is a React Hooks library [for data fetching](https://swr.vercel.app/)- **React-Query**- **React-form**- **React-table**
### Regular JS libs
- **lodash** : A modern JavaScript utility library [delivering modularity, performance & extras](https://lodash.com/docs/4.17.15#indexOf) ; see `intersection with, join`- **date-fn** : most comprehensive, yet simple and consistent toolset [for manipulating JavaScript dates in a browser & Node.js.](https://date-fns.org/)- **faker** : A library for generating fake data such as [NetInfonames, addresses, and phone numbers](https://github.com/faker-ruby/faker)
## Python Libraries
### core libs
- **logging** : Python logging made (stupidly) simple ; [ loguru](https://github.com/Delgan/loguru)- python [in one image](https://fossbytes.com/learn-it-faster-the-entire-python-language-in-a-single-image/) ;- SR: have this printer poster to a wall infront of your working desk- have this image as wallpaper image to TV, wall paper to iphone
## Future needs : Do not build, use pre-built Cloud software packages
- SR: for every need there is a Clould software service available, use it , you can never justify the COST of building your own compared to the COST of 'Cloud software'
### Real time colloboration software for
- SR: we may use Ably for Sanpcoder Realtime Code REVIEW- Everything You Need To [Know About Publish/Subscribe](https://ably.com/topic/pub-sub)- what is [Pub/Sub Messaging](https://dashbird.io/knowledge-base/well-architected/pub-sub-messaging/)- [tutorials](https://ably.com/tutorials) : A selection of tutorials demonstrating the use of Realtime and/or REST libraries within devices such as browsers, desktops, mobiles or servers.
```pythonSome Well-known Messaging Frameworks Based on Publish-Subscribe Pattern
PAID SaaS---------- Ably - 10,000 peak connections $100 ; https://ably.com/pricing ; good 3 MM free tier. pusher - 10,000 concurrent connections $500 ; bottleneck: concurrent USERS/connections ; https://pusher.com/channels/pricing
Chaper, but not intutive APIs Google Cloud Pub/Sub: Asynchronous Messaging Service - 40 GB free AWS SNS
tutorials : https://ably.com/tutorials --- ALL HANDS ON CODE ...
ws : WebSocket client & server for Node.js https://github.com/websockets/wsBokkit : developer tool for building chat bots, apps & custom integrations for major messaging platforms
OPEN SOURCE:-------------Apache Kafka: Apache Kafka is a popular and robust messaging which has the usual Pub/Sub features.Apache PulsarRabbitMQ: RabbitMQ is a message queue. It doesn’t strictly follow the Pub/Sub pattern.PushPin:PushPin: PushPin is an open-source, real-time messaging framework that is suitable for sending real-time push notifications.
To study, understand and evaluate
Next Js Videos
- Using React Server Components with Next.js ; github repo
OSS projects , you can lift some code
- Nextjs
- Reactjs ; Wow Chakra-ui is #2
- Python ; Home Assistant #14 , Tensorflow-example # 19 ; fastapi #21
- Javascript
- Typescript ; #1 VS code , Nest #9 ; react-hook-form #20
- go; Kubernetes #2 , Hugo #5 , Caddy #14
New Libraries to study
- React ace builds ; demo; see FAQ on github
- select/combobox downshift ; github repo ; like one seen on indeed.com
- Tooljet : Building a Github contributor leaderboard using ToolJet in 5 minutes ; Note: it is like OSS of ITTools YC
- Postman : OSS equilant is hoppscoth ; UI is in Vue.js , can use UI layout for React
- Focalboard : is an open source, self-hosted alternative to Trello, Notion, and Asana. ; Note: good React UI to borrow
New Node server-client frameworks
- Amplification ; SR Note: just keeping it here for reference ...
- Amplication auto-generates fully functional human-readable and editable apps based on TypeScript and Node.js.
- Generated apps include NestJS, Prisma, REST API, GraphQL API, a React admin UI, authentication, authorization, and logging.
- second one
Popular frameworks in one place
- given at the bottom of this page
Popular Frameworks
client side Server side-------------- --------------------------------------React (Next.js) Next.jsVue expressAngular Nest
Ruby on Rails Laravel/Symfony Django Spring Framework / Beego
React Native (mobile frameworks)Flutter
UI Design components--------------------TailwindcssChakra-UI
VuetifyAnt DesignBootstrapSemanticBulmaMaterialize
Programming Languages--------------------
JavaScriptTypeScript
PythonRubyPHP
JavaC/C++
Go (Golang)RustScalaErlang
Dart
Swift