Posts

Image
  RESTful Services Representational State Transfer (REST) is an architectural style of client-server application centered around the transfer of representations of resources through requests and responses. RESTful web services are a set of open protocols and standards for sharing data across different applications or systems. The REST Server just gives access to resources, while the REST Client uses the resources to access and modify them. URIs/ global IDs are used to identify each resource. Text, JSON, and XML are some of the representations used by REST to describe a resource. The most well-known is JSON. RESTful web services are lightweight, loosely connected web services that are especially well suited for providing APIs for clients all over the internet. 6 Architectural Constraints of RESTful Services Uniform interface Client-server Stateless Cacheable Layered system Code on demand (optional) Which principles encourage RESTful applications to be simple, lightweight, and fast R...
Image
                                                                    NodeJS Node.js  is an open-source and cross-platform JavaScript runtime environment for server-side and networking applications.  Node.js was developed by Ryan Dahl in 2009 and its latest version is v0.10.36.  Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.  Node.js applications are written in JavaScript and can be run within the Node.js runtime on OS X, Microsoft Windows, and Linux. Features of Node.js Asynchronous and Event-Driven   Very Fast  Single-Threaded but Highly Scalable No Buffering License Where to Use Node.js? I/O bound Applications Data Streaming Applications Data-Intensive Real-...
Image
  VERSION CONTROLLING What is version controlling?      Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. It  allows you to manage changes to files over time and  multiple developers, designers, and team members to work together on the same project . You can use version control to version code, binary files, and digital assets.  Version Control System (VCS) is a very wise thing to use. It allows you to revert selected files back to a previous state, revert the entire project back to a previous state, compare changes over time, see who last modified something that might be causing a problem, who introduced an issue and when, and more.  There are several types of version control systems  that teams use today. Some are centralized. Some are distributed. Few of the most popular types of VCS: Helix Core(Perforce) Git SVN ClearCase Mercurial TFS Why version cont...
Image
S.O.L.I.D Design Principles SOLID is one of the most popular sets of design principles promoted by American software engineer and instructor Robert.C.Martin. It is a mnemonic acronym for the first five object-oriented design (OOP) principles. Design principles encourage us to create more  maintainable,  understandable and flexible software.  When applied properly it makes your code more extendable, logical and easier to read.  When the developer builds software following the bad design, the code can become inflexible and more brittle, small changes in the software can result in bugs. For these reasons, we should follow SOLID Principles.  It takes some time to understand, but if you write code following the principles it will improve code quality and will help to understand the most well-designed software. SOLID stands for: S - Single Responsibility O - Open/Closed Principle L - Liskov's Substitution Principle I - Interface Segregation D - Dependency Inversion Wh...