Posts

Showing posts from 2019

Is jQuery a framework or a library?

I think jQuery is not a framework. It is a javascript library. And jQuery is a single library. Frameworks contain key distinguishing features that separate them from normal libraries: inversion of control - In a framework, unlike in libraries or normal user applications, the overall program's flow of control is not dictated by the caller, but by the framework. So, I think it's not a framework.

The Selectors and Their use in jQuery

A  jQuery Selector  is a function which makes  use  of expressions to find out matching elements from a DOM based on the given criteria. Simply you can say, selectors  are used to select one or more HTML elements  using jQuery . The jQuery selector enables you to find DOM elements in your web page. Most of the times you will start with selector function $() in the jQuery. The selector expression parameter specifies a pattern to match the elements. The jQuery uses CSS selector patterns  as well as its own pattern to match the elements.

The Features Provided by jQuery

jQuery is the Library of JavaScript. It is simple and easy to learn. For perform any task jQuery required less code compare to javascript. jQuery Features:- Simple and Easy -  It have predefined method using you can perform any task easily compare to JavaScript. And it is easy to learn. Lightweight -  It is very lightweight library - about 19KB in size ( Minified and gzipped ). CSS manipulation -  It have predefined css() method for manipulate style for any Html elements. Html manipulation -  The jQuery made it easy to select DOM elements, traverse them and modifying their content. Cross browser support -  It support all modern web-browser including IE-6. Event handling -  It support event handling like click mouse button. JavaScript Library -  It is JavaScript library. Ajax Support -  It support ajax, you can develop a responsive and feature-rich site using AJAX technology. Built-in Animation -  It have predefin...

Need of Web Services

There are many advantages of using web services. The main advantage over a regular HTTP  application is that it uses SOAP messaging which is much more efficient and less bandwidth costly. Another advantage is that Service Transport, XML  Messaging, Service Description, and Service Discovery layers use a standard protocol which makes it easy for developers to develop functionality irrespective of programming languages. Suppose you are a provider of a service, say weather forecast. Why make developers, go to your website , scrap  your page and then extract the data that they need? Wouldn't it be easier to develop this by web service  that a developer can pass in a date and get back a well defined XML  document containing all the info they need? The same happens for all type of cases... We use web services because: Exposing the existing function on to network: A Web service is a unit of managed code that can be remotely in...

Differences of Web Applications and Web Services

Web Applications A web application is a software application that a user runs in the web browser. It have the following features. It has a User Interface Runs in Client-Server environment Client runs it with the help of a web browser Server process the data based on client request and provide response Web Services A web service is an Application Program Interface (API) that runs on the server, which provides data to the client over HTTP through a standardized messaging system. (XML, JSON, etc...). Web services are further classified into SOAP  and REST . In the present day scenario, most services prefer REST over SOAP . Example: GitHub PayPal Facebook Twitter

Distributed systems and Distributed computing

Distributed computing  is a field of computer science that studies distributed systems . A  distributed system  is a  system  whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another. A  distributed system  is a network that consists of autonomous computers that are connected using a  distribution  middleware. They help in sharing different resources and capabilities to provide users with a single and integrated coherent network A distributed system allows resource sharing, including software by systems connected to the network. Examples of distributed systems/applications of distributed computing: Intranets, Internet, WWW, email. The key goals of a distributed system include Transparency: Achieving the image of a single system image without concealing the details of the location, access, migration, concurrency, failure,...

Build Tools in Software Development

Build tools are programs that automate the creation of executable applications from source code(eg. .apk for android app). Building incorporates compiling, linking and packaging the code into a usable or executable form. Basically build automation is the act of scripting or automating a wide variety of tasks that software developers do in their day-to-day activities like: Downloading dependencies. Compiling source code into binary code. Packaging that binary code. Running tests. Deployment to production systems. We use build tools or build automation for, In small projects, developers will often manually invoke the build process. This is not practical for larger projects, where it is very hard to keep track of what needs to be built, in what sequence and what dependencies there are in the building process. Using an automation tool allows the build process to be more consistent. Many build tools are available to use(Some of them): Invoke Invoke is a Python (2.6...

Dependency/package management tools in software development

Dependency Management is used to pull all the dependency information into a common POM file, simplifying the references in the child POM file. It becomes useful when you have multiple attributes that you don’t want to retype in under multiple children projects. Finally, dependency Management can be used to define a standard version of an artifact to use across multiple projects. Managing your dependencies manually in any programming language is a huge pain. This is why in most programming languages today you will find that they all have some implementation of a dependency management system or sometimes a package manager.  There some management tools bellow here, NuGet NuGet is the package manager for the Microsoft development platform including .NET. The NuGet client tools provide the ability to produce and consume packages. The NuGet Gallery is the central package repository used by all package authors and consumers. When you use NuGet to install a package, it copies t...

Importance of maintaining the quality of code

There are many advantages to maintaining the quality of code. Enhanced Efficiency It is often seen that the software developers spend a larger part of their time in solving those issues that could have been prevented. Implementing the coding standards would help the team to detect the problems early or even prevent them completely. This will increase the efficiency throughout the software process. Risk of project failure is reduced Many times it happens that IT projects fail due to problems while developing software.  Implementing the coding standards reduces many problems and the risk of project failures. Minimal Complexity If a code is complex, there are higher chances of it being vulnerable to errors. Coding standards help in the development of software programs that are less complex and thereby reduce the errors. Easy Maintain If the coding standards are followed, the code is consistent and can be easily maintained. This is because anyone can understa...

Tools to maintain the code quality.

To maintain code quality we use code review tools. There are many tools to all programming languages. Veracode Veracode is a static analysis tool which is built on the SaaS model. This tool is mainly used to analyze the code from a Security point of view. RIPS Technologies RIPS is the only code analysis solution that performs language-specific security analysis. It detects the most complex security vulnerabilities deeply nested within the source code that no other tools are able to find. It supports major frameworks, SDLC integration, relevant industry standards and can be deployed as a self-hosted software or used as software-as-a-service. With its high accuracy and no false positive noise, RIPS is the ideal choice for analyzing Java and PHP applications PVS - Studio PVS-Studio is a tool for detecting bugs and security weaknesses in the source code of programs, written in C, C++, C#, and Java. It works in Windows, Linux, and macOS environment. It is possible to integrate...

The benefits of CDNs

There are many advantages of Content Delivery Networks. Your server load will decrease. As a result of, strategically placed servers which form the backbone of the network the companies can have an increase in capacity and number of concurrent users that they can handle. Essentially, the content is spread out across several servers, as opposed to offloading them onto one large server. Content Delivery will become faster. Due to higher reliability, operators can deliver high-quality content with a high level of service, low network server loads, and thus, lower costs. Moreover, jQuery is ubiquitous on the web. There’s a high probability that someone visiting a particular page has already done that in the past using the Google CDN. Therefore, the file has already been cached by the browser and the user won’t need to download again. Segmenting your audience becomes easy. CDNs can deliver different content to different users depending on the kind of device requesting the c...

Discuss the use of staging area and Git directory

Image
The basic  Git  workflow goes something like this: You modify files in your working  directory . You  stage  the files, adding snapshots of them to your  staging area . You do a commit, which takes the files as they are in the  staging area  and stores that snapshot permanently to your  Git directory .

Git and GitHub, are they same or different? Discuss with facts

Git  is a revision control system, a tool to manage your source code history.  GitHub  is a hosting service for  Git  repositories. So they are not the same thing:  Git  is the tool,  GitHub  is the service for projects that use  Git . Git is a free and open source distributed  version control system  designed to handle everything from small to very large projects with speed and efficiency. GitHub is a  web-based  Git repository  hosting service , which offers all of the distributed revision control and Source Code Management (SCM) functionality of Git as well as adding its own features. GitHub provides access control and several collaboration features such as wikis, task management, and bug tracking and feature requests for every project. You don't need GitHub to use Git . GitHub allows you to: Share your repositories with others. Access other user's repositories. Store remote copies ...

Compare and contrast the Git commands, commit and push

The " commit "  command  is used to save your changes to the local repository. This store a new snapshot(latest status) of the project's state in the VCS history. You have to  explicitly tell  Git  which changes you want to include in a  commit  before running the " git commit "  command . This means that a file won't be automatically included in the next  commit  just because it was changed. The " push " command is used to transfer the last commit(s) to a remote server. 

Differentiate the three models of VCSs, stating their pros and cons

Let's we identify the three models of Version Control Systems,   In Local Version Control Systems the version database  and the project file are in the same computer. This is the oldest version control system. In Centralized Version Control System, the version database is stored in central VCS server. When developers want to make change project files, they get that files to their computers and change it. In Distributed Version Control System, the version database is installed to server computer and client computer both. 

What is the need for VCS?

Version Control Systems(VCS) are a software tools that help a software team to manage changes to source code over time. Version Control Software keeps track of every modification to the source. IF a mistake is made.... developer can turn back the clock. compare earlier versions of the code to help fix the mistake. minimizing disruption to all team members. When using VCS the team can, Everybody on the team is able to work absolutely freely on any file at any time. The VCS will later allow you to merge all the changes in to a common version. A VCS acknowledges that there is only one project. If the project is damaged it can restore previous versions. You can take Backup of your projects.

Discuss the key features of Object Oriented Programming

The key features of the OOP are, Data Abstraction This meaning is hide the implementation details and represent the important details.This Will separate interface and implementation.  Encapsulation This describe the idea of bundling data and methods that work on that data within one unit. For example class in Java. Information Hiding The process of hiding details of an object or function. This reduce complexity of the program. Inheritance This will enable new objects to take from properties of another class.  Polymorphism Polymorphism is ability to redefine methods for derived classes.

Discuss the difference between procedural programming and functional programming

Image
There are several differences in Procedural and Functional programming. Procedural: The output of a routine does not always have a direct correlation with the input. Everything is done in specific order. Execution of a routine may have side effects.  Tends to emphasize implementing solutions in a linear fashion. Functional: The output routine often recursive. Always return the same output for given input. Order of evaluation is usually undefined. There are no operation have side effects. Good fit for parallel execution.