kaushal shah

Hey there! :)

Student at Barbaria insititute of technology

Studied at Haria

Certified in C programming

Entrepreneur

What is Entrepreneurship?The definition of entrepreneurship is the process of starting a business or creating new markets. An entrepreneur is someone who develops a business model, usually from scratch, but can also be someone who purchases a company to grow it. A serial entrepreneur is someone who develops multiple business strategies and becomes a key component in business management. According to the job-listing site, Monster, there are nine characteristics of entrepreneurs and the entrepreneurial journey. They include motivation, creativity, hands-on, versatility, business skills, drive, vision, flexibility, and decisiveness.Entrepreneurship development is the process of improving entrepreneurial skills. Through training programs, such as entrepreneurship courses and online classes, one can learn about various requirements to become successful as an entrepreneur including conducting opportunity analysis, developing a business plan, starting a small business, acquiring financing to start the company, and scaling the business. An entrepreneur should have a fundamental understanding of business skills such as accounting and finance, marketing, and strategy.Entrepreneurship CoursesMany people wonder how to become an entrepreneur. Taking an online course in entrepreneurship can provide skills and inspiration to get you on your way. Generating an entrepreneurial mindset can improve how you think about business opportunities whether it’s for a small or large business, family-owned or venture-backed, or a social media entrepreneurship venture. Entrepreneurship training helps expose you to fundamental concepts and analytical tools such as the lean startup process to help improve your chance for success. Learn case studies from successful entrepreneurs who will inspire you and teach valuable lessons on how to grow a business from non-profits to large corporations.Famous EntrepreneursMany of the world’s top business leaders were entrepreneurs who started their business and became their own boss. The list of famous male young entrepreneurs includes Steve Jobs (Apple), Mark Zuckerberg (Facebook), Bill Gates (Microsoft), Richard Branson (Virgin), Jack Ma (Alibaba), Elon Musk (Tesla, SpaceX), Jeff Bezos (Amazon), Sam Walton (Walmart), Howard Schultz (Starbucks), Rupert Murdoch (News Corp), Kunal Bahl and Rohit Bansal (Snapdeal), and many more. The list of famous female entrepreneurs includes Anita Roddick (The Body Shop), Cher Wang (HTC), Folorunsho Alakija (Famfa Oil), Oprah Winfrey (Harpo Productions), Ruth Handler (Barbie), Estée Lauder (The Estée Lauder Company),Jean-Baptiste Say, Israel Kirzner, and Arianna Huffington (Huffington Post).Lately, social entrepreneurs have become famous for their efforts to combine entrepreneurship with philanthropy. Examples of social entrepreneurs include Blake Mycoskie (Tom’s Shoes), Muhammad Yunus (Grameen Bank), Jeffrey Hollender (Seventh Generation), Ben Cohen and Jerry Greenfield (Ben & Jerry’s), and Ibrahim Abouleish (SEKEM).Become an EntrepreneurTaking an entrepreneurship course on edX can sharpen your skills and determine if pursuing a masters in entrepreneurship is the right path to choose. EdX has many classes to help you better understand entrepreneurship. Some courses discuss how to come up with an idea, how to discover innovative products, understand economic development, learn about financial risk, and how to assess opportunities.Other courses will dive into how to do market research, how to choose your target audience, how to position your company, how to pitch and finance your company, and how to manage people as an entrepreneur. If you are thinking about becoming an entrepreneur or would like to understand the American dream with the entrepreneurial mindset better, learn the fundamentals of entrepreneurship by enrolling in a course today.What are the Qualities, Characteristics, and Traits of an Entrepreneur?Not everyone knows that they want to be an entrepreneur. Many business creations happen because someone is trying to solve a need and they fall into entrepreneurship. New ventures seem to occur for entrepreneurs because they are trying to solve problems that exist in the world today. Self-employment is a critical reason why people choose to pursue their business ideas too. Here are some common qualities that good entrepreneurs have below that become success stories at a later time.Having a deep passion and or drive to complete something from start to finish is a common trait in many entrepreneurs. If you find yourself staying awake at night because you think you can fix something even better, or if you daydream on ways to improve something, you may be an entrepreneur without realizing it.Risk-taking is not the same as being reckless when it comes to business owners. Entrepreneurs are known to take risks after performing some risk analysis assessment. Maybe you think you should quit your 9-5 job because you believe your attention needs to be on that new venture you work on during the weekends. You figure that you have a few months of savings to survive, so you give it that shot that it truly deserves.Entrepreneurs are also not afraid of failing. Thinking you can make something work the next time is a trait that demonstrates dedication to a project. The expression “back to the drawing board” is a slogan entrepreneur have because they are so focused on improving on something they invest in.Being a critical planner is a common trait with entrepreneurship. You don’t necessarily need to know every detail that you want to do with your business, but writing out your thoughts and goals is familiar with entrepreneurs. Making an official business plan is not necessary all the time, but having some idea with objectives and goals separates people who have a thought and people who want to make that into a business.Having an exit plan is something that all entrepreneurs have in their back pocket just in case. Not all ideas work, but having an exit strategy in place just in case is always recommended. The failure rate for new businesses is very high, so having something else you can do is still crucial to entrepreneurship. The majority of famous entrepreneurs were not successful on their first go around, so that is something to remember.How to Properly Start Your First Entrepreneurship Business?Let's say you have a side gig on the weekends which consumes considerable time and focus from your other commitments. You decide after careful evaluations that now is the time to launch your idea as an official business. Your entrepreneurial mindset quickly races with the prospect of hiring, meeting with venture capitalists, making critical business decisions, and more. To get started, you should know the difference between a Sole Proprietorship, Limited Liability Company, and an S Corporation for your new venture. Thriving entrepreneurs and successful businesses all need to choose the right structure for their company to flourish properly.A Sole Proprietorship is when someone owns and runs the business as themselves. Anyone can be a sole proprietor if they sell goods or services to people directly. An example of a sole proprietor is someone who offers freelance graphic design to people without having an office, location, or any registered trademark. The one con of being a Sole Proprietor is that you as the owner have no protection if any legal issues arise from your business practice.An LLC (Limited Liability Company) is a business structure that gives you financial protection from legal trouble that may arise from your services. There are many pros of being an LLC including flow-through income taxation, less paperwork compared to a corporation, and security with your assets. One difference between an LLC and a Sole Proprietorship is that there may be high membership fees and renewals depending on where you live.An S Corporation is a business that is federally taxed and can give out stock to its employees. The owners of an S Corporation company are considered the shareholders and they have liability protection if something wrong happens. That essentially means that if the business goes under or gets sued, you as the shareholder won’t have your private bank account touched. This security is very similar to an LLC, but there are differences between the two. An S Corp protects your assets, allows easy to transfer ownership, and gives your business more credibility for angel investors to fund. Some of the disadvantages include formation, stock restrictions, and tax obligations that are more closely watched by the IRS. Being an S Corporation tends to be easier to secure venture capital from outside investors from places like Silicon Valley.The Pitfalls of EntrepreneurshipAccording to Inc.com, we can expect that 96 percent of businesses fail within ten years. If you look at Forbes, they claim a similar percentage by saying that eight out of every ten business fail. Entreprenur.com also stresses that brands that don’t make their offerings personal see a downfall in today’s market. The excitement of self-employment and making money without adequately preparing for this adventure ultimately leads to a high failure rate.There are many reasons why businesses fail, but there are a few common reasons that bring down most companies. Not understanding the marketing, business plan problems, little to no financing, inadequate resources, poor location, and expanding too quickly are all common reasons why something does not work out. Other reasons why a business may fail include competition, the economy, federal and or state rules, social change, and more.Ways to Thrive as an EntrepreneurSuccessful entrepreneurs need to have the skills and determination to see their dream work. Having the necessary resources at your disposal will keep your business venture alive as you go through the elements of a start-up business. Whether your business is in the startup phase, or maybe in the maturity years, you have to read the market regularly. Perhaps you should add new products if the market evolves outside your core offering, or maybe new ideas are needed to expand your services. Making money while growing and developing your services is key to staying in business. Even if your business is an e-commerce website, or a traditional brick and mortar store, you have to continue to evaluate the market for any external threat.As an entrepreneur, you should tap into your network and reach out to other successful entrepreneurs to receive guidance. Mentorship is common in the United States where new business owners lean on seasoned business masters to receive advice on what to do next. There are many incredible books, meetup groups, courses on edX, and more that can help guide your business venture through the journey of self-employment and entrepreneurship to thrive.

ASP.NET - Life Cycle

ASP.NET - Life Cycle ASP.NET life cycle specifies, how:ASP.NET processes pages to produce dynamic outputThe application and its pages are instantiated and processedASP.NET compiles the pages dynamicallyThe ASP.NET life cycle could be divided into two groups:Application Life CyclePage Life CycleASP.NET Application Life CycleThe application life cycle has the following stages:·  User makes a request for accessing application resource, a page. Browser sends this request to the web server.·   A unified pipeline receives the first request and the following events take place:o  An object of the class ApplicationManager is created.o  An object of the class HostingEnvironment is created to provide information regarding the resources.o  Top level items in the application are compiled.· Response objects are created. The application objects such as HttpContext, HttpRequest and HttpResponse are created and initialized.·   An instance of the HttpApplication object is created and assigned to the request.·  The request is processed by the HttpApplication class. Different events are raised by this class for processing the request.ASP.NET Page Life CycleWhen a page is requested, it is loaded into the server memory, processed, and sent to the browser. Then it is unloaded from the memory. At each of these steps, methods and events are available, which could be overridden according to the need of the application. In other words, you can write your own code to override the default code.The Page class creates a hierarchical tree of all the controls on the page. All the components on the page, except the directives, are part of this control tree. You can see the control tree by adding trace= "true" to the page directive. We will cover page directives and tracing under 'directives' and 'event handling'.The page life cycle phases are:InitializationInstantiation of the controls on the pageRestoration and maintenance of the stateExecution of the event handler codesPage renderingUnderstanding the page cycle helps in writing codes for making some specific thing happen at any stage of the page life cycle. It also helps in writing custom controls and initializing them at right time, populate their properties with view-state data and run control behavior code.Following are the different stages of an ASP.NET page:·  Page request - When ASP.NET gets a page request, it decides whether to parse and compile the page, or there would be a cached version of the page; accordingly the response is sent.·  Starting of page life cycle - At this stage, the Request and Response objects are set. If the request is an old request or post back, the IsPostBack property of the page is set to true. The UICulture property of the page is also set.·  Page initialization - At this stage, the controls on the page are assigned unique ID by setting the UniqueID property and the themes are applied. For a new request, postback data is loaded and the control properties are restored to the view-state values.·  Page load - At this stage, control properties are set using the view state and control state values.·  Validation - Validate method of the validation control is called and on its successful execution, the IsValid property of the page is set to true.·  Postback event handling - If the request is a postback (old request), the related event handler is invoked.·  Page rendering - At this stage, view state for the page and all controls are saved. The page calls the Render method for each control and the output of rendering is written to the OutputStream class of the Response property of page.·  Unload - The rendered page is sent to the client and page properties, such as Response and Request, are unloaded and all cleanup done.ASP.NET Page Life Cycle EventsAt each stage of the page life cycle, the page raises some events, which could be coded. An event handler is basically a function or subroutine, bound to the event, using declarative attributes such as Onclick or handle.Following are the page life cycle events:· PreInit - PreInit is the first event in page life cycle. It checks the IsPostBack property and determines whether the page is a postback. It sets the themes and master pages, creates dynamic controls, and gets and sets profile property values. This event can be handled by overloading the OnPreInit method or creating a Page_PreInit handler.·  Init - Init event initializes the control property and the control tree is built. This event can be handled by overloading the OnInit method or creating a Page_Init handler.·  InitComplete - InitComplete event allows tracking of view state. All the controls turn on view-state tracking.·  LoadViewState - LoadViewState event allows loading view state information into the controls.·  LoadPostData - During this phase, the contents of all the input fields are defined with the <form> tag are processed.· PreLoad - PreLoad occurs before the post back data is loaded in the controls. This event can be handled by overloading the OnPreLoad method or creating a Page_PreLoad handler.·  Load - The Load event is raised for the page first and then recursively for all child controls. The controls in the control tree are created. This event can be handled by overloading the OnLoad method or creating a Page_Load handler.· LoadComplete - The loading process is completed, control event handlers are run, and page validation takes place. This event can be handled by overloading the OnLoadComplete method or creating a Page_LoadComplete handler· PreRender - The PreRender event occurs just before the output is rendered. By handling this event, pages and controls can perform any updates before the output is rendered.· PreRenderComplete - As the PreRender event is recursively fired for all child controls, this event ensures the completion of the pre-rendering phase.· SaveStateComplete - State of control on the page is saved. Personalization, control state and view state information is saved. The HTML markup is generated. This stage can be handled by overriding the Render method or creating a Page_Render handler.· UnLoad - The UnLoad phase is the last phase of the page life cycle. It raises the UnLoad event for all controls recursively and lastly for the page itself. Final cleanup is done and all resources and references, such as database connections, are freed. This event can be handled by modifying the OnUnLoad method or creating a Page_UnLoad handler.

Iterative Model

SDLC - Iterative Model In the Iterative model, iterative process starts with a simple implementation of a small set of the software requirements and iteratively enhances the evolving versions until the complete system is implemented and ready to be deployed.An iterative life cycle model does not attempt to start with a full specification of requirements. Instead, development begins by specifying and implementing just part of the software, which is then reviewed to identify further requirements. This process is then repeated, producing a new version of the software at the end of each iteration of the model.Iterative Model - DesignIterative process starts with a simple implementation of a subset of the software requirements and iteratively enhances the evolving versions until the full system is implemented. At each iteration, design modifications are made and new functional capabilities are added. The basic idea behind this method is to develop a system through repeated cycles (iterative) and in smaller portions at a time (incremental).The following illustration is a representation of the Iterative and Incremental model –Iterative and Incremental development is a combination of both iterative design or iterative method and incremental build model for development. "During software development, more than one iteration of the software development cycle may be in progress at the same time." This process may be described as an "evolutionary acquisition" or "incremental build" approach."In this incremental model, the whole requirement is divided into various builds. During each iteration, the development module goes through the requirements, design, implementation and testing phases. Each subsequent release of the module adds function to the previous release. The process continues till the complete system is ready as per the requirement.The key to a successful use of an iterative software development lifecycle is rigorous validation of requirements, and verification & testing of each version of the software against those requirements within each cycle of the model. As the software evolves through successive cycles, tests must be repeated and extended to verify each version of the software.Iterative Model - ApplicationLike other SDLC models, Iterative and incremental development has some specific applications in the software industry. This model is most often used in the following scenarios −·  Requirements of the complete system are clearly defined and understood.·  Major requirements must be defined; however, some functionalities or requested enhancements may evolve with time.·  There is a time to the market constraint.·   A new technology is being used and is being learnt by the development team while working on the project.·  Resources with needed skill sets are not available and are planned to be used on contract basis for specific iterations.·   There are some high-risk features and goals which may change in the future.Iterative Model - Pros and ConsThe advantage of this model is that there is a working model of the system at a very early stage of development, which makes it easier to find functional or design flaws. Finding issues at an early stage of development enables to take corrective measures in a limited budget.The disadvantage with this SDLC model is that it is applicable only to large and bulky software development projects. This is because it is hard to break a small software system into further small serviceable increments/modules.The advantages of the Iterative and Incremental SDLC Model are as follows −·       Some working functionality can be developed quickly and early in the life cycle.·       Results are obtained early and periodically.·       Parallel development can be planned.·       Progress can be measured.·       Less costly to change the scope/requirements.·       Testing and debugging during smaller iteration is easy.·       Risks are identified and resolved during iteration; and each iteration is an easily managed milestone.·       Easier to manage risk - High risk part is done first.·       With every increment, operational product is delivered.·       Issues, challenges and risks identified from each increment can be utilized/applied to the next increment.·       Risk analysis is better.·       It supports changing requirements.·       Initial Operating time is less.·       Better suited for large and mission-critical projects.·       During the life cycle, software is produced early which facilitates customer evaluation and feedback.The disadvantages of the Iterative and Incremental SDLC Model are as follows −·       More resources may be required.·       Although cost of change is lesser, but it is not very suitable for changing requirements.·       More management attention is required.·       System architecture or design issues may arise because not all requirements are gathered in the beginning of the entire life cycle.·       Defining increments may require definition of the complete system.·       Not suitable for smaller projects.·       Management complexity is more.·       End of project may not be known which is a risk.

RAD -Rapid Application Development

SDLC - RAD Model The RAD (Rapid Application Development) model is based on prototyping and iterative development with no specific planning involved. The process of writing the software itself involves the planning required for developing the product.Rapid Application Development focuses on gathering customer requirements through workshops or focus groups, early testing of the prototypes by the customer using iterative concept, reuse of the existing prototypes (components), continuous integration and rapid delivery.What is RAD?Rapid application development is a software development methodology that uses minimal planning in favour of rapid prototyping. A prototype is a working model that is functionally equivalent to a component of the product.In the RAD model, the functional modules are developed in parallel as prototypes and are integrated to make the complete product for faster product delivery. Since there is no detailed preplanning, it makes it easier to incorporate the changes within the development process.RAD projects follow iterative and incremental model and have small teams comprising of developers, domain experts, customer representatives and other IT resources working progressively on their component or prototype.The most important aspect for this model to be successful is to make sure that the prototypes developed are reusable.RAD Model DesignRAD model distributes the analysis, design, build and test phases into a series of short, iterative development cycles.Following are the various phases of the RAD Model −Business ModelingThe business model for the product under development is designed in terms of flow of information and the distribution of information between various business channels. A complete business analysis is performed to find the vital information for business, how it can be obtained, how and when is the information processed and what are the factors driving successful flow of information.Data ModelingThe information gathered in the Business Modeling phase is reviewed and analyzed to form sets of data objects vital for the business. The attributes of all data sets is identified and defined. The relation between these data objects are established and defined in detail in relevance to the business model.Process ModelingThe data object sets defined in the Data Modeling phase are converted to establish the business information flow needed to achieve specific business objectives as per the business model. The process model for any changes or enhancements to the data object sets is defined in this phase. Process descriptions for adding, deleting, retrieving or modifying a data object are given.Application GenerationThe actual system is built and coding is done by using automation tools to convert process and data models into actual prototypes.Testing and TurnoverThe overall testing time is reduced in the RAD model as the prototypes are independently tested during every iteration. However, the data flow and the interfaces between all the components need to be thoroughly tested with complete test coverage. Since most of the programming components have already been tested, it reduces the risk of any major issues.RAD Model Vs Traditional SDLCThe traditional SDLC follows a rigid process models with high emphasis on requirement analysis and gathering before the coding starts. It puts pressure on the customer to sign off the requirements before the project starts and the customer doesn’t get the feel of the product as there is no working build available for a long time.The customer may need some changes after he gets to see the software. However, the change process is quite rigid and it may not be feasible to incorporate major changes in the product in the traditional SDLC.The RAD model focuses on iterative and incremental delivery of working models to the customer. This results in rapid delivery to the customer and customer involvement during the complete development cycle of product reducing the risk of non-conformance with the actual user requirements.RAD Model – ApplicationRAD model can be applied successfully to the projects in which clear modularization is possible. If the project cannot be broken into modules, RAD may fail.The following pointers describe the typical scenarios where RAD can be used −·       RAD should be used only when a system can be modularized to be delivered in an incremental manner.·       It should be used if there is a high availability of designers for modeling.·       It should be used only if the budget permits use of automated code generating tools.·       RAD SDLC model should be chosen only if domain experts are available with relevant business knowledge.·       Should be used where the requirements change during the project and working prototypes are to be presented to customer in small iterations of 2-3 months.RAD Model - Pros and ConsRAD model enables rapid delivery as it reduces the overall development time due to the reusability of the components and parallel development. RAD works well only if high skilled engineers are available and the customer is also committed to achieve the targeted prototype in the given time frame. If there is commitment lacking on either side the model may fail.The advantages of the RAD Model are as follows −·       Changing requirements can be accommodated.·       Progress can be measured.·       Iteration time can be short with use of powerful RAD tools.·       Productivity with fewer people in a short time.·       Reduced development time.·       Increases reusability of components.·       Quick initial reviews occur.·       Encourages customer feedback.·       Integration from very beginning solves a lot of integration issues.The disadvantages of the RAD Model are as follows −·       Dependency on technically strong team members for identifying business requirements.·       Only system that can be modularized can be built using RAD.·       Requires highly skilled developers/designers.·       High dependency on modeling skills.·       Inapplicable to cheaper projects as cost of modeling and automated code generation is very high.·       Management complexity is more.·       Suitable for systems that are component based and scalable.·       Requires user involvement throughout the life cycle.·       Suitable for project requiring shorter development times.

Spring Framework- Architecture

Spring Framework - Architecture Spring could potentially be a one-stop shop for all your enterprise applications. However, Spring is modular, allowing you to pick and choose which modules are applicable to you, without having to bring in the rest. The following section provides details about all the modules available in Spring Framework.The Spring Framework provides about 20 modules which can be used based on an application requirement.Core ContainerThe Core Container consists of the Core, Beans, Context, and Expression Language modules the details of which are as follows −·       The Core module provides the fundamental parts of the framework, including the IoC and Dependency Injection features.·       The Bean module provides BeanFactory, which is a sophisticated implementation of the factory pattern.·       The Context module builds on the solid base provided by the Core and Beans modules and it is a medium to access any objects defined and configured. The ApplicationContext interface is the focal point of the Context module.·       The SpEL module provides a powerful expression language for querying and manipulating an object graph at runtime.Data Access/IntegrationThe Data Access/Integration layer consists of the JDBC, ORM, OXM, JMS and Transaction modules whose detail is as follows −·       The JDBC module provides a JDBC-abstraction layer that removes the need for tedious JDBC related coding.·       The ORM module provides integration layers for popular object-relational mapping APIs, including JPA, JDO, Hibernate, and iBatis.·       The OXM module provides an abstraction layer that supports Object/XML mapping implementations for JAXB, Castor, XMLBeans, JiBX and XStream.·       The Java Messaging Service JMS module contains features for producing and consuming messages.·       The Transaction module supports programmatic and declarative transaction management for classes that implement special interfaces and for all your POJOs.WebThe Web layer consists of the Web, Web-MVC, Web-Socket, and Web-Portlet modules the details of which are as follows −·       The Web module provides basic web-oriented integration features such as multipart file-upload functionality and the initialization of the IoC container using servlet listeners and a web-oriented application context.·       The Web-MVC module contains Spring's Model-View-Controller (MVC) implementation for web applications.·       The Web-Socket module provides support for WebSocket-based, two-way communication between the client and the server in web applications.·       The Web-Portlet module provides the MVC implementation to be used in a portlet environment and mirrors the functionality of Web-Servlet module.MiscellaneousThere are few other important modules like AOP, Aspects, Instrumentation, Web and Test modules the details of which are as follows −·       The AOP module provides an aspect-oriented programming implementation allowing you to define method-interceptors and pointcuts to cleanly decouple code that implements functionality that should be separated.·       The Aspects module provides integration with AspectJ, which is again a powerful and mature AOP framework.·       The Instrumentation module provides class instrumentation support and class loader implementations to be used in certain application servers.·       The Messaging module provides support for STOMP as the WebSocket sub-protocol to use in applications. It also supports an annotation programming model for routing and processing STOMP messages from WebSocket clients.·       The Test module supports the testing of Spring components with JUnit or TestNG frameworks.

Operating System

Operating System - Overview An Operating System (OS) is an interface between a computer user and computer hardware. An operating system is a software which performs all the basic tasks like file management, memory management, process management, handling input and output, and controlling peripheral devices such as disk drives and printers.Some popular Operating Systems include Linux Operating System, Windows Operating System, VMS, OS/400, AIX, z/OS, etc.DefinitionAn operating system is a program that acts as an interface between the user and the computer hardware and controls the execution of all kinds of programs.Following are some of important functions of an operating System.Memory ManagementProcessor ManagementDevice ManagementFile ManagementSecurityControl over system performanceJob accountingError detecting aidsCoordination between other software and usersMemory ManagementMemory management refers to management of Primary Memory or Main Memory. Main memory is a large array of words or bytes where each word or byte has its own address.Main memory provides a fast storage that can be accessed directly by the CPU. For a program to be executed, it must in the main memory. An Operating System does the following activities for memory management −·       Keeps tracks of primary memory, i.e., what part of it are in use by whom, what part are not in use.·       In multiprogramming, the OS decides which process will get memory when and how much.·       Allocates the memory when a process requests it to do so.·       De-allocates the memory when a process no longer needs it or has been terminated.Processor ManagementIn multiprogramming environment, the OS decides which process gets the processor when and for how much time. This function is called process scheduling. An Operating System does the following activities for processor management −·  Keeps tracks of processor and status of process. The program responsible for this task is known as traffic controller.·  Allocates the processor (CPU) to a process.·  De-allocates processor when a process is no longer required.Device ManagementAn Operating System manages device communication via their respective drivers. It does the following activities for device management −·       Keeps tracks of all devices. Program responsible for this task is known as the I/O controller.·       Decides which process gets the device when and for how much time.·       Allocates the device in the efficient way.·       De-allocates devices.File ManagementA file system is normally organized into directories for easy navigation and usage. These directories may contain files and other directions.An Operating System does the following activities for file management −·       Keeps track of information, location, uses, status etc. The collective facilities are often known as file system.·       Decides who gets the resources.·       Allocates the resources.·       De-allocates the resources.Other Important ActivitiesFollowing are some of the important activities that an Operating System performs −· Security − By means of password and similar other techniques, it prevents unauthorized access to programs and data.·  Control over system performance − Recording delays between request for a service and response from the system.·  Job accounting − Keeping track of time and resources used by various jobs and users.·  Error detecting aids − Production of dumps, traces, error messages, and other debugging and error detecting aids.· Coordination between other softwares and users − Coordination and assignment of compilers, interpreters, assemblers and other software to the various users of the computer systems.

DBMS-Database Management System

DBMS - Overview Database is a collection of related data and data is a collection of facts and figures that can be processed to produce information.Mostly data represents recordable facts. Data aids in producing information, which is based on facts. For example, if we have data about marks obtained by all students, we can then conclude about toppers and average marks.A database management system stores data in such a way that it becomes easier to retrieve, manipulate, and produce information.CharacteristicsTraditionally, data was organized in file formats. DBMS was a new concept then, and all the research was done to make it overcome the deficiencies in traditional style of data management. A modern DBMS has the following characteristics −· Real-world entity − A modern DBMS is more realistic and uses real-world entities to design its architecture. It uses the behavior and attributes too. For example, a school database may use students as an entity and their age as an attribute.· Relation-based tables − DBMS allows entities and relations among them to form tables. A user can understand the architecture of a database just by looking at the table names.· Isolation of data and application − A database system is entirely different than its data. A database is an active entity, whereas data is said to be passive, on which the database works and organizes. DBMS also stores metadata, which is data about data, to ease its own process.· Less redundancy − DBMS follows the rules of normalization, which splits a relation when any of its attributes is having redundancy in values. Normalization is a mathematically rich and scientific process that reduces data redundancy.· Consistency − Consistency is a state where every relation in a database remains consistent. There exist methods and techniques, which can detect attempt of leaving database in inconsistent state. A DBMS can provide greater consistency as compared to earlier forms of data storing applications like file-processing systems.· Query Language − DBMS is equipped with query language, which makes it more efficient to retrieve and manipulate data. A user can apply as many and as different filtering options as required to retrieve a set of data. Traditionally it was not possible where file-processing system was used.· ACID Properties − DBMS follows the concepts of Atomicity, Consistency, Isolation, and Durability (normally shortened as ACID). These concepts are applied on transactions, which manipulate data in a database. ACID properties help the database stay healthy in multi-transactional environments and in case of failure.·Multiuser and Concurrent Access − DBMS supports multi-user environment and allows them to access and manipulate data in parallel. Though there are restrictions on transactions when users attempt to handle the same data item, but users are always unaware of them.· Multiple views − DBMS offers multiple views for different users. A user who is in the Sales department will have a different view of database than a person working in the Production department. This feature enables the users to have a concentrate view of the database according to their requirements.·Security − Features like multiple views offer security to some extent where users are unable to access data of other users and departments. DBMS offers methods to impose constraints while entering data into the database and retrieving the same at a later stage. DBMS offers many different levels of security features, which enables multiple users to have different views with different features. For example, a user in the Sales department cannot see the data that belongs to the Purchase department. Additionally, it can also be managed how much data of the Sales department should be displayed to the user. Since a DBMS is not saved on the disk as traditional file systems, it is very hard for miscreants to break the code.UsersA typical DBMS has users with different rights and permissions who use it for different purposes. Some users retrieve data and some back it up. The users of a DBMS can be broadly categorized as follows −·Administrators − Administrators maintain the DBMS and are responsible for administrating the database. They are responsible to look after its usage and by whom it should be used. They create access profiles for users and apply limitations to maintain isolation and force security. Administrators also look after DBMS resources like system license, required tools, and other software and hardware related maintenance.·  Designers − Designers are the group of people who actually work on the designing part of the database. They keep a close watch on what data should be kept and in what format. They identify and design the whole set of entities, relations, constraints, and views.· End Users − End users are those who actually reap the benefits of having a DBMS. End users can range from simple viewers who pay attention to the logs or market rates to sophisticated users such as business analysts.

Spring Framework

Spring Framework - Overview Spring is the most popular application development framework for enterprise Java. Millions of developers around the world use Spring Framework to create high performing, easily testable, and reusable code.Spring framework is an open source Java platform. It was initially written by Rod Johnson and was first released under the Apache 2.0 license in June 2003.Spring is lightweight when it comes to size and transparency. The basic version of Spring framework is around 2MB.The core features of the Spring Framework can be used in developing any Java application, but there are extensions for building web applications on top of the Java EE platform. Spring framework targets to make J2EE development easier to use and promotes good programming practices by enabling a POJO-based programming model.Benefits of Using the Spring FrameworkFollowing is the list of few of the great benefits of using Spring Framework −Spring enables developers to develop enterprise-class applications using POJOs. The benefit of using only POJOs is that you do not need an EJB container product such as an application server but you have the option of using only a robust servlet container such as Tomcat or some commercial product.Spring is organized in a modular fashion. Even though the number of packages and classes are substantial, you have to worry only about the ones you need and ignore the rest.Spring does not reinvent the wheel, instead it truly makes use of some of the existing technologies like several ORM frameworks, logging frameworks, JEE, Quartz and JDK timers, and other view technologies.Testing an application written with Spring is simple because environment-dependent code is moved into this framework. Furthermore, by using JavaBeanstyle POJOs, it becomes easier to use dependency injection for injecting test data.Spring's web framework is a well-designed web MVC framework, which provides a great alternative to web frameworks such as Struts or other over-engineered or less popular web frameworks.Spring provides a convenient API to translate technology-specific exceptions (thrown by JDBC, Hibernate, or JDO, for example) into consistent, unchecked exceptions.Lightweight IoC containers tend to be lightweight, especially when compared to EJB containers, for example. This is beneficial for developing and deploying applications on computers with limited memory and CPU resources.Spring provides a consistent transaction management interface that can scale down to a local transaction (using a single database, for example) and scale up to global transactions (using JTA, for example).Dependency Injection (DI)The technology that Spring is most identified with is the Dependency Injection (DI) flavor of Inversion of Control. The Inversion of Control (IoC) is a general concept, and it can be expressed in many different ways. Dependency Injection is merely one concrete example of Inversion of Control.When writing a complex Java application, application classes should be as independent as possible of other Java classes to increase the possibility to reuse these classes and to test them independently of other classes while unit testing. Dependency Injection helps in gluing these classes together and at the same time keeping them independent.What is dependency injection exactly? Let's look at these two words separately. Here the dependency part translates into an association between two classes. For example, class A is dependent of class B. Now, let's look at the second part, injection. All this means is, class B will get injected into class A by the IoC.Dependency injection can happen in the way of passing parameters to the constructor or by post-construction using setter methods. As Dependency Injection is the heart of Spring Framework, we will explain this concept in a separate chapter with relevant example.Aspect Oriented Programming (AOP)One of the key components of Spring is the Aspect Oriented Programming (AOP) framework. The functions that span multiple points of an application are called cross-cutting concerns and these cross-cutting concerns are conceptually separate from the application's business logic. There are various common good examples of aspects including logging, declarative transactions, security, caching, etc.The key unit of modularity in OOP is the class, whereas in AOP the unit of modularity is the aspect. DI helps you decouple your application objects from each other, while AOP helps you decouple cross-cutting concerns from the objects that they affect.The AOP module of Spring Framework provides an aspect-oriented programming implementation allowing you to define method-interceptors and pointcuts to cleanly decouple code that implements functionality that should be separated. We will discuss more about Spring AOP concepts in a separate chapter.DisadvantagesAdvantages

SDLC - Software Development Life Cycle

SDLC - Overview Software Development Life Cycle (SDLC) is a process used by the software industry to design, develop and test high quality softwares. The SDLC aims to produce a high-quality software that meets or exceeds customer expectations, reaches completion within times and cost estimates.·       SDLC is the acronym of Software Development Life Cycle.·       It is also called as Software Development Process.·       SDLC is a framework defining tasks performed at each step in the software development process.·       ISO/IEC 12207 is an international standard for software life-cycle processes. It aims to be the standard that defines all the tasks required for developing and maintaining software.What is SDLC?SDLC is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance specific software. The life cycle defines a methodology for improving the quality of software and the overall development process.The following figure is a graphical representation of the various stages of a typical SDLC.A typical Software Development Life Cycle consists of the following stages −Stage 1: Planning and Requirement AnalysisRequirement analysis is the most important and fundamental stage in SDLC. It is performed by the senior members of the team with inputs from the customer, the sales department, market surveys and domain experts in the industry. This information is then used to plan the basic project approach and to conduct product feasibility study in the economical, operational and technical areas.Planning for the quality assurance requirements and identification of the risks associated with the project is also done in the planning stage. The outcome of the technical feasibility study is to define the various technical approaches that can be followed to implement the project successfully with minimum risks.Stage 2: Defining RequirementsOnce the requirement analysis is done the next step is to clearly define and document the product requirements and get them approved from the customer or the market analysts. This is done through an SRS (Software Requirement Specification) document which consists of all the product requirements to be designed and developed during the project life cycle.Stage 3: Designing the Product ArchitectureSRS is the reference for product architects to come out with the best architecture for the product to be developed. Based on the requirements specified in SRS, usually more than one design approach for the product architecture is proposed and documented in a DDS - Design Document Specification.This DDS is reviewed by all the important stakeholders and based on various parameters as risk assessment, product robustness, design modularity, budget and time constraints, the best design approach is selected for the product.A design approach clearly defines all the architectural modules of the product along with its communication and data flow representation with the external and third party modules (if any). The internal design of all the modules of the proposed architecture should be clearly defined with the minutest of the details in DDS.Stage 4: Building or Developing the ProductIn this stage of SDLC the actual development starts and the product is built. The programming code is generated as per DDS during this stage. If the design is performed in a detailed and organized manner, code generation can be accomplished without much hassle.Developers must follow the coding guidelines defined by their organization and programming tools like compilers, interpreters, debuggers, etc. are used to generate the code. Different high level programming languages such as C, C++, Pascal, Java and PHP are used for coding. The programming language is chosen with respect to the type of software being developed.Stage 5: Testing the ProductThis stage is usually a subset of all the stages as in the modern SDLC models, the testing activities are mostly involved in all the stages of SDLC. However, this stage refers to the testing only stage of the product where product defects are reported, tracked, fixed and retested, until the product reaches the quality standards defined in the SRS.Stage 6: Deployment in the Market and MaintenanceOnce the product is tested and ready to be deployed it is released formally in the appropriate market. Sometimes product deployment happens in stages as per the business strategy of that organization. The product may first be released in a limited segment and tested in the real business environment (UAT- User acceptance testing).Then based on the feedback, the product may be released as it is or with suggested enhancements in the targeting market segment. After the product is released in the market, its maintenance is done for the existing customer base.SDLC ModelsThere are various software development life cycle models defined and designed which are followed during the software development process. These models are also referred as Software Development Process Models". Each process model follows a Series of steps unique to its type to ensure success in the process of software development.Following are the most important and popular SDLC models followed in the industry −Waterfall ModelIterative ModelSpiral ModelV-ModelBig Bang ModelOther related methodologies are Agile Model, RAD Model, Rapid Application Development and Prototyping Models.

Swift -Programming Language for IOS

Swift - Overview Swift 4 is a new programming language developed by Apple Inc for iOS and OS X development. Swift 4 adopts the best of C and Objective-C, without the constraints of C compatibility.·       Swift 4 makes use of safe programming patterns.·       Swift 4 provides modern programming features.·       Swift 4 provides Objective-C like syntax.·       Swift 4 is a fantastic way to write iOS and OS X apps.·       Swift 4 provides seamless access to existing Cocoa frameworks.·       Swift 4 unifies the procedural and object-oriented portions of the language.·       Swift 4 does not need a separate library import to support functionalities like input/output or string handling.Swift 4 uses the same runtime as the existing Obj-C system on Mac OS and iOS, which enables Swift 4 programs to run on many existing iOS 6 and OS X 10.8 platforms.Swift 4 comes with playground feature where Swift 4 programmers can write their code and execute it to see the results immediately.The first public release of Swift was released in 2010. It took ChrisLattner, almost 14 years to come up with the first official version, and later, it was supported by many other contributors. Swift 4 has been included in Xcode 6 beta.Swift designers took ideas from various other popular languages such as Objective-C, Rust, Haskell, Ruby, Python, C#, and CLU.

How to Get a Million Dollar Smile in Less Than 9 Minutes Without Sensitivity - Guaranteed!

SNOW- A million dollars smile in just 9 minutes a day!!Ready to make your teeth noticeably whiter in 9-minutes a day without sensitivity or the need to shell out money at the dentist? For about the price of new shoes, Snow can whiten teeth like no other system ever invented. The results are stunning and the system has taken over, becoming one of the most searched brands on Google in 2018.A revolutionary breakthrough in teeth whitening technology is changing how the world takes care of their teeth – and is now the most popular at-home teeth whitening solution recommended by dentists and used by dozens of celebrities.The 9-minute million-dollar-smile guest list runs out the door and around the corner in Hollywood, with some of the biggest stars trying Snow and never looking back.Where most light-activated systems use harmful UV rays or simply use a light as a gimmick, Snow has pioneered a safely engineered LED technology and a photo-activated serum that is safe and easy to use.Who else uses Snow?Don't Wait - You Deserve a Better Smile!If you're ready to get a million-dollar smile for a fraction of cosmetic procedures, you can now get Snow stay-at-home system with a 100% results guarantee, 5 year warranty, and free USA shipping.Snow has been built on a dentist-backed mission to bring in a new era of dental care that can whiten your teeth and keep them strong and healthy while preventing them from being stained in the future.This mission is more than just growing the brand – it's about bringing in a new era of dental treatments to a world that needs it.

Top 10 IT Companies in Ahmedabad:

1) Cygnet Infotech (cygnet-infotech.com)2) GatewayTechnolabs (gatewaytechnolabs.com)3) RadixWeb (radixweb.com)4) 360Technosoft (360technosoft.com)5) EliteCore (elitecore.com)6) Akash Infotech (akashinfotech.co.in)7) Einfochips (einfochips.com)8) Infibeam (infibeam.com)9) Infostretch (infostretch.com)10) Cyberroam Technologies (cyberroam.com)Hope this helps.