GithubHelp home page GithubHelp logo

urshorty's Introduction

Generating hash

There are two different ways:

  • md5. For this task sha256 is too much. And also we should crop it to 8 chars. Every time when one FullUrl goes to service its Short part(hash) is the same. For simple service is ok, but it's a limit when you decide to add user accounts or some counters(stats)
  • randInt is my choice, so each FullUrl has a unique ShortUrl pair.

Rotation

*WIP

Sometimes in the future it could be critical to store not unique original link with different path as a key. Maybe query params could help, but for pure link it's kind ugly (imagine you get this from friend http://example.com/Hdk201miu?user=cleverfriend1234).

Rotation is our helper. Rotation means that lifetime of link would be limited to certain amount of time.

urshorty's People

Contributors

kalunik avatar

Watchers

 avatar

urshorty's Issues

URL validation, cleaning

Can I store all after domain?
Do I need to store a scheme(http/ https)?

What I should return?

Add some stats

Change urlPair entity

Add ClickHouse repo, usecase

ClickHouse migration fields:
urlHash
created_at
visited_at

Protection

Configure CORS, CSRF and check if I could dangerous links before creation

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.