<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Hardik Shah</title>
    <description>The latest articles on Forem by Hardik Shah (@hsmobio).</description>
    <link>https://forem.com/hsmobio</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F320690%2F2f761ac4-dd8c-41ab-9516-e3f442807c6d.jpg</url>
      <title>Forem: Hardik Shah</title>
      <link>https://forem.com/hsmobio</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/hsmobio"/>
    <language>en</language>
    <item>
      <title>Tips to Avoid Scrum Meeting Hurdles With Your Offshore Team</title>
      <dc:creator>Hardik Shah</dc:creator>
      <pubDate>Tue, 18 Feb 2020 12:57:55 +0000</pubDate>
      <link>https://forem.com/hsmobio/tips-to-avoid-scrum-meeting-hurdles-with-your-offshore-team-i6p</link>
      <guid>https://forem.com/hsmobio/tips-to-avoid-scrum-meeting-hurdles-with-your-offshore-team-i6p</guid>
      <description>&lt;p&gt;With the growing need for high performance, scrum meetings are being held by most organizations. Especially when it comes to working with an offshore software development team, scrum meeting enables better collaboration among the team members and ensure a transparency atmosphere. But while conducting scrum meetings with offshore teams, a lot of hurdles may come across. Starting from time management to resistance to change, a lot of hurdles may crop up. Some of the effective tips to overcome the potential scrum meeting hurdles include:&lt;/p&gt;

&lt;p&gt;Stick to the Set Timeframe&lt;/p&gt;

&lt;p&gt;While the scrum meetings are usually designed for 15 minutes, they tend to extend, thereby leading to distraction among team members. Strictly sticking to the timeframe can help in enhancing the effectiveness of the meeting. Staring the meeting on time and adhering to the fixed timeslot ensures brisk and relevant discussions without the waste of any productive time.&lt;/p&gt;

&lt;p&gt;Plan the Meeting&lt;/p&gt;

&lt;p&gt;Proper planning before the scrum meeting is essential for optimum success. Effective planning helps in determining the goal or purpose of the meeting. It also enables you to be informed about all the details with much precision. Preparing the list of topics that are of high priority can ensure that the meeting does not go off track.&lt;/p&gt;

&lt;p&gt;Informing your offshore team about the scrum meeting also gives them time to be prepared. Prior preparation will enable your team members to understand and discuss their specific roles and contributions better. It will help them to plan tasks for the future more effectively.&lt;/p&gt;

&lt;p&gt;Stick to the Objective&lt;/p&gt;

&lt;p&gt;Ensuring a smooth scrum meeting with your offshore team becomes easy when you stick to the main objective. While there are chances that questions, issues, or clarifications may arise during the meeting, but make sure to discuss them only after the meeting. Emphasizing on the key objective of the meeting helps in avoiding deviations and ensuring better outcomes of the meeting.&lt;/p&gt;

&lt;p&gt;Coaching for Behavior and Agility&lt;/p&gt;

&lt;p&gt;While working with offshore teams, there are chances that your team members may develop differences due to different belief systems and working styles. As such differences may lead to difficult situations during the project, resolving them at the earliest is important. By creating an atmosphere of inclusiveness and encouraging respect for each other’s working style and background can help in better collaboration.&lt;/p&gt;

&lt;p&gt;Choose an Appropriate Time and Venue&lt;/p&gt;

&lt;p&gt;Time and place, when not decided carefully, can also create hurdles for scrum meetings. To avoid such situations, make sure to choose a convenient time and a convenient place where all your offshore team members can meet. The choice of appropriate time and venue ensures that all the team members are present, and the progress of the project is not affected in any way.&lt;/p&gt;

&lt;p&gt;Keep Every Individual Team Member Engaged&lt;/p&gt;

&lt;p&gt;In order to ensure the successful completion of a project, the participation of all your team members is important. Make sure to keep all the members motivated and encouraged. Encourage them to take active participation in the scrum meetings. It not only gives them a feeling of belongingness but also helps them in understanding as to where the project stands now.&lt;/p&gt;

&lt;p&gt;Review Scrum Meetings&lt;/p&gt;

&lt;p&gt;Conducting a review of your scrum meetings help in keeping track of the progress made after the meeting. Make sure all the points discussed in the meeting are properly dealt with and are completed with the set timeline.&lt;/p&gt;

&lt;p&gt;Following the above tips can help in overcoming the potential hurdles of scrum meetings with your offshore team and enhancing the success rates.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>scrummeeting</category>
      <category>offshoredevelopment</category>
    </item>
    <item>
      <title>Why Node.js is a perfect enterprise app development platform?</title>
      <dc:creator>Hardik Shah</dc:creator>
      <pubDate>Tue, 21 Jan 2020 16:38:13 +0000</pubDate>
      <link>https://forem.com/hsmobio/why-node-js-is-a-perfect-enterprise-app-development-platform-4co1</link>
      <guid>https://forem.com/hsmobio/why-node-js-is-a-perfect-enterprise-app-development-platform-4co1</guid>
      <description>&lt;p&gt;As per the sources, Node.js is the largest open-source platform that exists today, with over 15 million downloads per month and more than a billion packages downloads per week.&lt;/p&gt;

&lt;p&gt;The technologies are changing by leaps and bounds and forced enterprises to redesign their business processes. As the digital revolution has moved well in the form of convenient mobile app development that lets you book cab or order food from anywhere at any time to simplify lives.&lt;/p&gt;

&lt;p&gt;To streamline the mobile app development process app developers community come up with Node.js to facilitate mobile app developers so they can complete their task in a short duration. Its popularity has dramatically changed the face of enterprise mobile app development today and now it’s become difficult to imagine efficient mobile app development without  Node.js.&lt;/p&gt;

&lt;p&gt;What is Node.js?&lt;/p&gt;

&lt;p&gt;Node.js is an open-source server environment built on Chrome’s V8 JavaScript engine; it enables the building and running of an application. This platform is a fast, scalable, and free way to execute code – it makes use of an event-driven I/O model, which is attributed to its efficiency and scalability.&lt;/p&gt;

&lt;p&gt;Node.js is used to build real-time applications, microservices, and the Internet of Things. Since its debut, it’s been gaining traction, and Node.js developers are in high demand. Node.js development services that offer enterprise mobility solutions are also in high demand.&lt;/p&gt;

&lt;p&gt;Some of the benefits of Node.js include:&lt;/p&gt;

&lt;p&gt;– Real-time apps can be built relatively fast on this platform&lt;br&gt;
– A Node.js developer can code in JavaScript for the client and server-side using this platform&lt;br&gt;
– The development process efficiency increases&lt;br&gt;
– This platform executes code more swiftly than any language&lt;/p&gt;

&lt;p&gt;The adoption of Node.js has increased significantly, giving enhancement to its active Node.js developer community who has added over 100,000 modules collectively.&lt;/p&gt;

&lt;p&gt;Reasons Enterprises Go With Node.js&lt;/p&gt;

&lt;p&gt;Any programming language will give you enough and more good reasons as to why you should choose it over the others. Notwithstanding the popular notions, the case of Node.JS is different.&lt;/p&gt;

&lt;p&gt;Node.js enables the development of full-scale applications. Futurist tooling and its modern way of developing complex applications have made this web app development platform stand tall among other programming technologies.&lt;/p&gt;

&lt;p&gt;Performance and Scalability&lt;br&gt;
Node.js is built upon Google Chrome’s V8 runtime—written in C++, built for multiple operating systems and super fast. Both V8 and Node are frequently updated, with performance optimizations, security patches, and support for modern JavaScript features. The use of JavaScript also means that transforming JSON data—the most common data interchange format on the Web—is fast by default.&lt;/p&gt;

&lt;p&gt;The single-threaded, event-driven architecture of Node.js allows it to handle multiple simultaneous connections efficiently. Most of the popular web platforms create an additional thread for each new request, using up RAM for the whole time it takes to process it. Node, on the other hand, operates on a single thread, making use of the event loop and callbacks for I/O operations, delegating tasks such as database operations as soon as possible. This allows it to handle hundreds of thousands or even a million concurrent connections.&lt;/p&gt;

&lt;p&gt;What’s more, Node.js embraces scalability from the get-go, with powerful features such as the Cluster module enabling load balancing over multiple CPU cores. Robust tools, such as the PM2 process manager make it even easier to monitor, optimize and deploy Node applications.&lt;/p&gt;

&lt;p&gt;Development of cross-platform&lt;br&gt;
The Node.js allows you to build cross-platform desktop apps on platforms like NW.js or Electron.&lt;/p&gt;

&lt;p&gt;This allows you to reuse some of the code from the web app to the desktop version for Windows, macOS, and Linux.&lt;/p&gt;

&lt;p&gt;Again, moving further the same team working on the web application can build a desktop app without possessing any expert knowledge or skills of Objective-C, C#, and other languages for native apps.&lt;/p&gt;

&lt;p&gt;Moreover, Node developers have the privilege to access some of the great tools such as Google Chrome Developer Tools, which allows them to debug and profile desktop apps and backend efficiently on the client-side apps.&lt;/p&gt;

&lt;p&gt;All the major Node developer tools are cross-platform. This means that developers don’t need a Windows machine for Windows apps, or a Mac to debug, build, and write a macOS app.&lt;/p&gt;

&lt;p&gt;Regular maintenance and Updating of the codebase&lt;br&gt;
There’s a change in the users are consuming web and enterprise applications. Their needs are changing, and businesses need to evolve to adapt to their demands. UI/UX has become a significant part of an enterprise application. The way you represent action elements on an app, the way you collect data, the way you present data has had a significant shift. Less is more now, with the underlying factor that functionality is not compromised.&lt;/p&gt;

&lt;p&gt;With Node.js this is quickly taken care of, and you can keep your clients happy by readily deploying their desired feature requests.&lt;/p&gt;

&lt;p&gt;No learning curve&lt;br&gt;
As Node.js is based on JavaScript, it does not have much of a learning curve. The syntax is similar and hence easy to grasp. It is accepted by Java as well as .NET developers worldwide. Programmers can learn, develop and deploy scalable apps using Node.js on Unix and Windows.&lt;/p&gt;

&lt;p&gt;It also allows beginner-level developers to learn and implement Node.js for building web applications quickly.&lt;/p&gt;

&lt;p&gt;All-in-one package manager(NPM)&lt;br&gt;
The Node package manager which is also known as the npm has now released its enterprise version to combat the security and privacy concerns of the big enterprises.&lt;/p&gt;

&lt;p&gt;Npm assists the programmers to install, update, and utilize the minor open-source software packages also known as the modules.&lt;/p&gt;

&lt;p&gt;This means that the programmers don’t need to write the common features from scratch. Moreover, it also allows them to avoid new layers of complexity.&lt;/p&gt;

&lt;p&gt;The npm enterprise version is a boon for big organizations since they are worried about storing their data in the cloud. Npm enterprise allows them to run the infrastructure of the npm behind the company’s firewall.&lt;/p&gt;

&lt;p&gt;It empowers the enterprise by giving them access to a private registry along with high-grade security features.&lt;/p&gt;

&lt;p&gt;These features help them to identify vulnerabilities, control access to code, and automatic replacement of unsafe code.&lt;/p&gt;

&lt;p&gt;Reusable RESTful API’s&lt;br&gt;
Node.js focus on reusable RESTful APIs is one of the major features that make it the best platform for enterprise app development. This platform’s focus on RESTful APIs is the most adaptable way of developing software systems on a large scale.&lt;/p&gt;

&lt;p&gt;This task is done with the help of APIs that connect to the backend and keep things efficient and light to handle large volumes of data.&lt;/p&gt;

&lt;p&gt;Long Term Support&lt;br&gt;
When everything around us is changing so fast, somethings need to stick. Node.js is only 10 years old but provides Long Term Support. This provides organizations and developers with the reliability which is required if you’re basing your entire business on a particular technology.&lt;/p&gt;

&lt;p&gt;Any major Node.js release will be maintained for 18 months (as promised by Node.js) from the time it is made as an LTS version. Post this, it will enter a 12-month period of maintenance. Here, no new additions will be made to its modules (features) and existing bugs and security issues will be identified and fixed.&lt;/p&gt;

&lt;p&gt;Major Companies built on Node.js&lt;/p&gt;

&lt;p&gt;Some major companies have relied on Node.js as their primary technology for building apps and services. Some of these are:&lt;/p&gt;

&lt;p&gt;LinkedIn&lt;br&gt;
Amazon&lt;br&gt;
PayPal&lt;br&gt;
Medium&lt;br&gt;
eBay&lt;br&gt;
NASA&lt;br&gt;
Groupon&lt;br&gt;
Walmart&lt;br&gt;
Netflix&lt;br&gt;
Trello&lt;br&gt;
Uber&lt;/p&gt;

&lt;p&gt;Conclusion&lt;br&gt;
Node.js has established itself as a major platform for backend services. It has become the Connor McGregor of web and enterprise-level app building technologies and rightly so.&lt;/p&gt;

&lt;p&gt;The architecture for Node.js suits perfectly for many enterprise-level applications that require high volumes of I/O operations with the Network, Disc or memory. Enterprise Apps such as Chat apps, Live Sports feed apps and more.&lt;/p&gt;

&lt;p&gt;Nodejs has tons of benefits with faster time-to-market, fewer lines of code with higher performance. Serve MORE clients in LESS time with the same or lesser resources than a Java-based application.&lt;/p&gt;

&lt;p&gt;With the LTS and community support built around it, Node.js is only going to grow from here.&lt;/p&gt;

</description>
      <category>node</category>
      <category>javascript</category>
    </item>
    <item>
      <title>What is Laravel Model Observers?</title>
      <dc:creator>Hardik Shah</dc:creator>
      <pubDate>Tue, 21 Jan 2020 16:32:03 +0000</pubDate>
      <link>https://forem.com/hsmobio/what-is-laravel-model-observers-4723</link>
      <guid>https://forem.com/hsmobio/what-is-laravel-model-observers-4723</guid>
      <description>&lt;p&gt;What is Laravel Model Observers?&lt;/p&gt;

&lt;p&gt;Observers are used to group event listeners for a model. Observers classes method names refer to the Eloquent event you want to listen for. These methods receive the model as their only argument. Laravel does not include a default directory for observers.&lt;/p&gt;

&lt;p&gt;Eloquent models fire several events, allowing you to hook into the following points in a model’s lifecycle:&lt;/p&gt;

&lt;p&gt;Retrieved: after a record has been retrieved.&lt;br&gt;
Creating: before a record has been created.&lt;br&gt;
Created: after a record has been created.&lt;br&gt;
Updating: before a record is updated.&lt;br&gt;
Updated: after a record has been updated.&lt;br&gt;
Saving: before a record is saved (either created or updated).&lt;br&gt;
Saved: after a record has been saved (either created or updated).&lt;br&gt;
Deleting: before a record is deleted or soft-deleted.&lt;br&gt;
Deleted: after a record has been deleted or soft-deleted.&lt;br&gt;
Restoring: before a soft-deleted record is going to be restored.&lt;br&gt;
Restored: after a soft-deleted record has been restored.&lt;br&gt;
Why we want to use Model Observer.&lt;/p&gt;

&lt;p&gt;Now, suppose, if we want to concatenate the string with category name, but we do not want to write the logic or function in the controller then, we can use the Model Events. It will fire automatically when the new record is created or updated or deleted. There are some types of Model Events available in Laravel Doc&lt;/p&gt;

&lt;p&gt;Keeps the controllers lean&lt;/p&gt;

&lt;p&gt;Using observers will allow controllers to do what they’re supposed to do. Receive requests and return responses. By using observers, you are handing more of the logic over to the model layer which is generally seen to be good practice nowadays.&lt;/p&gt;

&lt;p&gt;Encourages maintainable code&lt;/p&gt;

&lt;p&gt;Observers make it easier to follow the Keep it simple, stupid design principle. By abstracting some of your logic into observers, you are organising your code base and defining design standards which will be more easily understood by the developers working on the code base in the future.&lt;/p&gt;

&lt;p&gt;Encourages reusable code&lt;/p&gt;

&lt;p&gt;As the first example below will show, observers make for a very DRY (Don’t Repeat Yourself) codebase. By avoiding repeating yourself, you minimise bugs and localise them. Would you rather fix the same bug in many places? Or just in one place? It’s a no-brainer.&lt;/p&gt;

&lt;p&gt;Limitations&lt;/p&gt;

&lt;p&gt;There are some limitations attached to Model Observer which you should keep in mind while using the model observers.&lt;/p&gt;

&lt;p&gt;When you use saved or saving hooks, you should never call the model’s save method.&lt;br&gt;
If you are using saved hook and want to call the save method, then you should probably use the saving hook.&lt;br&gt;
If your logic need to call model’s save method, then rethink your logic or avoid using observers.&lt;br&gt;
CONCLUSION&lt;/p&gt;

&lt;p&gt;Eloquent model observers are a very powerful and useful feature but must be used with care. They can make your codebase more maintainable but you need to be mindful of their limitations.&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
    </item>
  </channel>
</rss>
