Sunday, April 30, 2017

MVA Know it prove it- Web Development -2 HTML5 & CSS3 - i

HTML 5 
HTML5 is a markup language used for structuring and presenting content on the World Wide Web. It is the fifth and current version of the HTML standard.

Many new syntactic features are included. To natively include and handle multimedia and graphical content, the new <video>, <audio> and <canvas> elements were added, and support for scalable vector graphics (SVG) content and MathML for mathematical formulas. To enrich the semantic content of documents, new page structure elements such as <main>, <section>, <article>, <header>, <footer>, <aside>, <nav> and <figure>, are added. New attributes are introduced, some elements and attributes have been removed, and others such as <a>, <cite> and <menu> have been changed, redefined or standardized.

-> HTML5shim Javascript file to use html5 features in older Browsers

CSS 3
CSS3 is the latest evolution of the Cascading Style Sheets language and aims at extending CSS2.1. It brings a lot of long-awaited novelties, like rounded corners, shadows, gradients, transitions or animations, as well as new layouts like multi-columns, flexible box or grid layouts. Experimental parts are vendor-prefixed and should either be avoided in production environments, or used with extreme caution as both their syntax and semantics can change in the future.



HTML 5 is for structuring the content and CSS is for styling the content 

Validator
A validator is a computer program used to check the validity or syntactical correctness of a fragment of code or document. The term is commonly used in the context of validating HTML,CSS and XML documents or RSS feeds though it can be used for any defined format or language.

Example Link  :  Validator.nu

Basic HTML Tags and Explanation  

<!DOCTYPE HTML>   Instruction to browser to instruct which set of rules to use while interpreting

<br>...<br/ >  One of the Style for Self Enclosing Tags

<html lang="en">  For Search Engine , Accessibility  & and Page Translation

<nav> For ease of navigation using keyboard , Accessibility

<meta>  To add context to HTML document , SEO optimization

Example :


<meta name="keywords" content="HTML, Meta Tags, Metadata" />
<meta name="description" content="Learning about Meta Tags." />
<meta name="revised" content="Tutorialspoint, 3/7/2014" />
<meta http-equiv="refresh" content="5" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="cookie" content="userid=xyz; expires=Wednesday, 08-Aug-15 23:59:59 GMT;" />
<meta http-equiv="refresh" content="5; url=https://www.tutorialspoint.com" />

Saturday, April 29, 2017

MVA Know it prove it- Web Development -1 Getting Started with Web Technologies


Languages for Web Technologies :

C#, Ruby , Java , Javascript, Python, PHP , CSS , LESS ,SASS , HTML

Backend Framework and Libraries :

Ruby on Rails , PHP , Node.js , Django , Flask ,ASP.net Web forms , ASP.NET MVC

Front-end Frameworks and Libraries:  

Bootstrap , jQuery , Knockout ,Angular ,Ember ,Backbone ,React

Data Storage Technologies :

MongoDB , SQL Server , MySQL , NoSQL , Oracle .Postgres , Hadoop










Test Driven Development

Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: requirements are turned into very specific test cases, then the software is improved to pass the new tests, only.




In order from basic Functionality to higher functionality  


SPA 
Single-Page Applications (SPAs) are Web apps that load a single HTML page and dynamically update that page as the user interacts with the app. SPAs use AJAX and HTML5 to create fluid and responsive Web apps, without constant page reloads. However, this means much of the work happens on the client side, in JavaScript.


Scaling 
Scalability is the capability of a system, network, or process to handle a growing amount of work, or its potential to be enlarged to accommodate that growth. For example, a system is considered scalable if it is capable of increasing its total output under an increased load when resources (typically hardware) are added.







Using Json Data , Xml to let different languages communicate each other 



Resources :  

- > Microsoft Virtual Academy  
- > Algorithm Coding Dojo
- > Code Pen 

Learning Backend Frameworks  :
-> Python and Django (good for Beginners)
-> PHP (good for Beginners)
-> C# and MVC
->Javascript & Node.JS/Express
-> Ruby & Rails (Should be 2nd  framework)
-> Java & Spring


MVA Know It Prove it - Web Development

Starting the Microsoft Virtual Academy Know it Prove it Challenge - Web Development  Course which consists of 15 Hhs Video duration lecture and 3 Courses

1) Getting Started with Web Technologies
2) HTM5 & CSS3 Fundamentals
3)JavaScript Fundamentals

Will Try to Finish as soon as  possible ....Let the Learning Begin

Sunday, April 23, 2017

Smart India Hackathon 2017 - Event


' Smart India Hackathon 2017 ' was  a pan India 36 hour nonstop digital programming competition . This was my first real hackathon and it was a  great experience. The Hackathon was something I was really both excited and bit nervous , excited from the thought of me and my team coding non stop for 36 hrs and competing so many participants from across the country & nervous  as being the team leader I had to oversee all the aspects of project from cloud deployment , to the main algorithm and keep everyone engaged as per plan . Another exciting thing about this particular hackathon was that it was a collaboration between Ministries of Government so all the solutions which had to be designed keeping in mind their  requirements and their real life impacts .

So from this experience I feel there are three things one should do before going for a hackathon:

1. Have a good team:
 You want to make sure you have a team before the hackathon starts. I know it's probably not feasible sometimes but as a student one can easily find motivated people who would love to give it a try. So I was part of a team of six  (Shubham , Pragya , Arpita ,Smriti , Sheryl  and of course me). This was the first hackathon for all of us so you can imagine the level of excitement.

2. Decide your project:
 It is important to know what would motivate you to work for 36 hours straight. The proposed challenges were posted Months  before the hackathon so this gave us some direction. We decided to work on Network Monitoring Solution as it seemed like a challenging problem and this was one project we all found ourselves agreeing on.

3. Prepare:
 I am not asking you to build the entire prototype of the system you plan to develop but definitely have an idea of what you want to do and how you are going to approach it. I think in our case we must have spent at least a few hours before the hackathon to understand the problem in detail and brainstorm the solution. And I am glad we did cause there were so many possibilities and questions that came to our mind while discussing the problem statement. So, before going for the hackathon we had decided what were were going to build, how we would do it and what tools we would use. The one of the biggest advantage we had was that we didn't bring much of pre-baked code which gave us the freedom to make changes in our application based on feedback of the Internal Evaluations  and inculcate and modify our application as per their specifications.

Anyways, once we reached JECRC, Jaipur ( yeah, that's where the event was) we were given our accommodations and badges and since we reached a day early as instructed to settle down and complete our registration The event was kicked off by a video of the speech by  Mr.Prakash Javedkar . Once all the talks and introductions were over it was time to code! Since we knew what were were going to do, we just dove right into building our project. The hackathon was a great environment to be in. No distractions and whenever you feel you might just be getting sleepy, all you have to do is get some caffeine / energy drink and look around. Trust me the drink doesn't do as much the enthusiasm of the people around just pushes you to keep working on getting you system working. Like most hackathons there were the regular 'evaluations' announcements and lots of food and I have to say I never realized how much it helps to stay awake!.

As the second day was coming to an end the pressure was building up and we all had to Submit our code to our  by 6 pm. Because of the time constraint and the large project scope we had considered, we didn't have much time to work on code optimization  but had managed to get most of the features working. So, the problem statement consisted of designing an bandwidth performance and analysis solution that can be deployed through the region at every POS  ( point of sale )  and making it friendly so that even a person with non technical background could use it  to diagnose connectivity issue ,

We developed an windows application that lets a  user check check his/her internet speed [Other features and design can't be revealed at moment] ...in short a tool for  assistance of employee to judge why the system is not responding properly to the command

Time flew by and soon we were asked to submit our projects for for evaluation. Surprisingly, we were shortlisted to present our project again. For me, that was a win in itself. Being shortlisted in the top 8 out of a pool of 50 teams in my first hackathon was just amazing. We had about 7 min to present all the features we had worked on and trust me it wasn't enough.

 Finally 36 Hours of continuous exhaustive coding and 47 of wake time without any sleep paid of .With us bagging the Second Prize with a Cash Price of 75k along with one of the memorable experience of lifetime.





What Next ....
Since the Aim of the Hackathon was to build solution to solve real life situations faced by Our Government with the help of technology  ,We among many other chosen projects have been contacted for further development of the products in collaboration ...and the wheels are in motion.