| 
				
	
				ci/woodpecker/push/woodpecker Pipeline was successful
				
					Details
				
			 | ||
|---|---|---|
| crow@edf12f699e | ||
| src | ||
| tries | ||
| .dockerignore | ||
| .editorconfig | ||
| .gitignore | ||
| .gitmodules | ||
| .woodpecker.yml | ||
| CMakeLists.txt | ||
| Dockerfile | ||
| Makefile | ||
| README.md | ||
| landerctl | ||
		
			
				
				README.md
			
		
		
			
			
		
	
	Lander
The idea
A URL shortener has always been on my list of things I'd like to write myself. It's simple, yet useful.
for our Algorithms & Datastructures 3 class, we had to implement three different tries (Patricia trie, ternary trie, and a custom one). Considering these are efficient string-based search trees, this gave me the idea to use it as the backend for a URL shortener!
This implementation currently uses a ternary trie as its search tree. The persistence model is very simple; I simply append a line to a text file every time a URL is added, and add the lines of this file to the trie on startup. The trie is stored completely im memory, and no I/O operations are required when requesting a redirect. This makes the server very fast.
The name
I gave up giving my projects original names a long time ago, so now I just use the names of my friends ;p