history
nanoid
history | nanoid | |
---|---|---|
8 | 83 | |
8,235 | 23,227 | |
0.0% | - | |
0.0 | 8.4 | |
over 1 year ago | 2 days ago | |
JavaScript | JavaScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
history
-
How does history.js work?
Obtain the source code, and here, we will specifically analyze the core part.
-
Exploring the Most Commonly Used Folder Names in Popular NPM Packages
scripts: Maintaining a package can be a lot of work, there's lots of repetitive tasks that need to be done often such as building the package for different targets, preparing a new release, etc. This is where automation scripts can help, and if a package has any, there's a good chance you'll find them in this folder. Example from history.
-
Routing in React with Universal Router
We initiate the browser history session as:
- Is there any way to avoid router.back leaving the page if the previous page is from another domain?
-
What kind of data should be placed in History State, not a URL query string?
I have read the Navigation doc of history package. I use react-router-dom a lot, but the state is rarely used.
-
Fetching Yelp API via Netlify Function with React.js [pt. 3]
Basic purpose of using the history object is well explained in React Router DOM tutorial (published 2020-05-11, recording duration 17:57, starting at 1:48) by Mauricio Leal. I used it to programmatically change the route by pushing in it a query string which is based on the Yelp API guidelines.
-
How to persist UTMs across all routes with React Router?
Maybe you can use history.listen() to intercept page changes and forward the param https://github.com/ReactTraining/history/blob/master/docs/api-reference.md#historylistenlistener-listener
-
Ask HN: What is the defacto tech stack for a startup now?
[2] https://github.com/ReactTraining/history/issues/804
nanoid
-
Next.js and Bunny CDN: Complete Guide to Image Uploading with Server Actions
Last thing left is to use our new upload function in our server action. Since I like to upload images in single format and have some more control over them, I will additionally use sharp library. For file name, I'll generate some random string using nanoid:
- Nano ID Collision Calculator
-
Why we chose Bun
Our API is in node. And God, how I suffered to import nanoid in an esmodule project. I had to vendor it, since using a previous version was not ideal. With bun, we can no longer worry about that. Just import what you need and done.
-
UUIDv7 is coming in PostgreSQL 17
No thread about UUID is complete without a plug for NanoID! https://github.com/ai/nanoid/blob/main/README.md
-
Building a File Storage With Next.js, PostgreSQL, and Minio S3
Generate a unique file name using the nanoid library.
-
Building a Multi-Tenant App with FastAPI, SQLModel, and PropelAuth
The syntax should read similar to SQL itself. We’re using a Python port of nanoid to generate our IDs. There’s only one thing missing… how do we actually create the table?
-
You Don't Need UUID
I usually go for Nano Id for new projects https://github.com/ai/nanoid
-
Enhance Your Web Apps: Best JS Libraries 🔧
Nano ID
-
Analyzing New Unique Identifier Formats (UUIDv6, UUIDv7, and UUIDv8) (2022)
In another comment I mentioned I use nanoid in my projects now. It has a default space of 64^21 and has an a page where you can play with key lengths and alphabet sizes and see the probability of collisions :
https://zelark.github.io/nano-id-cc/
At the default 64 character alphabet with a 21 character key length it would take ~41 million years in order to have a 1% probability of at least one collision if you generated 1000 ids per second.
-
How I use Nano ID in Rails
Using randomly generated IDs like Nano ID could be a good alternative, however, as a developer, we must understand what Nano ID really does in our application. Defining the number of characters in the generated IDs is also important, to help with that Nano ID has a Collision Calculator to give us how many years in order to have a 1% probability of collision.
What are some alternatives?
universal-router - A simple middleware-style router for isomorphic JavaScript web apps
snowflake - Snowflake is a network service for generating unique ID numbers at high scale with some simple guarantees.
styled-jsx - Full CSS support for JSX without compromises
ksuid - K-Sortable Globally Unique IDs
axios - Promise based HTTP client for the browser and node.js
typedorm - Strongly typed ORM for DynamoDB - Built with the single-table-design pattern in mind.
Express - Fast, unopinionated, minimalist web framework for node.
pg_random_id - Provides pseudo-random IDs in Postgresql databases
query-string - Parse and stringify URL query strings
jest - Delightful JavaScript Testing.
graphql-js - A reference implementation of GraphQL for JavaScript
Numeral-js - A javascript library for formatting and manipulating numbers.