MERCURIAL SOURCE CODE HOSTING FRAMEWORK:
it is a bitbucket like a code repository, where we can store our project source codes. This framework support mercurial revision control. A revision control tool keep the track of different versions of code repositories. It keeps changesets with related to each repository. we can go back to any version with the help of changesets. mercurial is a git like distributed version control system. This framework is a miniature model of bitbucket. Using this framework you can create your own account and create repositories. You can push your source code into these repositories
TOY PYTHON VIRTUAL MACHINE IN PYTHON:
This python virtual machine takes python bytecode ( pyc file )as input and produce output ( output of source code ). Python bytecode is read byte by byte and interpret its meaning. The first 4 byte of bytecode represent magic number and second 4 bytes represent timestamp. The rest of bytecode is a series of machine understandable instructions. Our job is to decode the bytecode and understand the meaning and do appropriate action corresponding to the bytecode. ‘pyc’ file can be generated using python’s py_compile module. When we execute a source code, Python compiles it into a byte code. Compilation is a translation step, and the byte code is a low-level platform-independent representation of source code.
AVL TREE IMPLEMENTATION IN C:
AVL tree is a self balancing binary search tree. The heights of two child subtrees of any node differ by atmost one. That is the balancing factor of any node should be -1,0 or 1. During each insertion and deletion balancing factor is checked and if b.f > 1, or b.f < -1 balancing is done by left-left, left-right , right- right, right – left rotation. In search, insertion and deletion the avarage case and worst case time complexity is O(n). An AVL tree was implemented in C.
URL SHORTENING PROJECT:
A url shortener takes a lengthy url as input and gives back a short url. The short url redirect to the original url.
The short url is a combination of our site address + a 4 letter long random string. In the database there should be a mapping for each short url vs its original url. when we use the short url our site redirect the request to the original url.