Posts

Proxy/Reverse Proxy/Load Balancing

Image
Proxy  A proxy server acts as a gateway between you and the internet. It’s an intermediary server abstracting end users from the websites/IP's they browse. Proxy servers provide security and privacy depending on your use case, needs, or company policy. e.g. When you browse a social media site your company may not allow access. When you browse a website accessible to employees of a particular region you may be denied access depending on IP. Reverse Proxy You can think of the reverse proxy as a website’s “public face.” Its address is the one advertised for the website, and it sits at the edge of the site’s network to accept requests from web browsers and mobile apps for the content hosted at the website.  The benefits are as below:- Security – Backend servers are not exposed to the client, you can think of the reverse proxy as a website’s “public face.” Its address is the one advertised for the website, and it sits at the edge of the site’s network to accept requests from web brow

Machine Learning

Image
Have you ever wondered what machine learning is?  If you look at image below you find that it is branch of AI that involves in training computers to make intelligent decision based on the input data, and this is done by extensive training of your program just like you would train yourself to learn something new. If you are given 2,4,6,8,? and you have to find missing number you will quickly say 10.  You know that because you know number in series is multiple of 2 with the position in the series.  This can be represented as f(x) = x * 2 or y = x * 2.  Not just you can answer above easily but can write function in any given language( Python/Java/C# ) to identify above pattern and predict missing value. Above is simple pattern and complex ones will involve you solving lot of difficult mathematical equation, worried? well don't be someone has already done this for you and is readily available in terms of packages. Some of packages in python would be SciPy,SciKit,NumPy,SeaBorn,Pandas. W

Introduction to Blazor

Image
WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications. Blazor is new addition to .Net arsenal which is based on WebAssembly and using that enables developers to create web apps using C# and HTML, hence removing dependency on JavaScript framework like Angular/React and etc. If we are to compare blazor with ASP.NET MVC above would be content in .cshtml file which in this case becomes .razor file, code for MVC controller is also embedded in .blazor page for blazor applications. There are 2 main flavors of Blazor:- 1) Blazor web application. In this case application is hosted in IIS and only html travels to the client application for every action on the page client communicates back to the server with information of action on client side. Server version will then send back response back to the client which

WCAG Accessibility

When designing a website or web application we consider other aspects of UI/UX whereas we always forget to consider people with disability. Lets have a look at statistics of users with disability in USA. 19.9 million (8.2%) have difficulty lifting or grasping. This could, for example impact their use of a mouse or keyboard. 15.2 million (6.3%) have a cognitive, mental, or emotional impairment. 8.1 million (3.3%) have a vision impairment. These people might rely on a screen magnifier or a screen reader, or might have a form of color blindness. 7.6 million (3.1%) have a hearing impairment.  They might rely on transcripts and / or captions for audio and video media. If we look at above number large user base is having some sort of disability hence if application is designed with accessibility in mind it can bring in more user which would translate to success of the product/website. Also it is being made mandatory  by law for software applications to be designed as per accessibility standa

Estimation techniques

Image
Estimating how long it would take to get the job done is not easy, even travelling from point A to point B takes a lot of assumption and risks into consideration. Whether it is ballpark estimation or otherwise you need to use some formal technique, different projects need different kind of estimation and we are going to look into few of them. Lets do ballpark estimation for a website with static pages but requires login. WBS(Work breakdown structure):- In this approach work is broken down to lowest level possible. What remains at the bottom nodes is lost of task which when combined achieves the final goal. In above we have broken down end result into tasks and estimated tasks at various levels, with above in place we now know how many man days are required from various people and plan accordingly. Having an estimate ready helps in better resource and release planning. Its not always possible is recommended to do collaborative estimation(from different teams involve