JSK Weekly - July 3, 2019

"It's never too late to learn" is a phrase we're all familiar with but the reality is that developers never stop learning and the lessons often come from surprising sources. Just last week Eric Elliot and his team celebrated the launch of their new site and he reflects on all the lessons they learned in the process of building it in "What We Learned Rebuilding Our Site From Scratch". Then, on the flipside, Dmitry Budko defines the importance of soft skills for developers in "Soft Skills for Developers: Why Do they Matter and Which Ones are the most Important?".

Patterns was a hot topic this last week with Fernando Doglio going in-depth on LogRocket's blog on how to identify patterns in "Design patterns in Node.js: a practical guide" while Mayank Gupta focussed on Module Patterns on gitconnected's blog in "Module Pattern in JavaScript". Not sure exactly what parts of a REST API need to be modified when you want to migrate an existing REST API to GraphQL API? Mahesh Haldar explains this in detail on the Bits and Pieces blog in "Migrating Existing REST APIs to GraphQL" and Rubens Pinheiro's "Webpack From Zero to Hero" Chapter 4 is out.

Optimise, optimise, optimise. It will probably never get old. Get busy optimising in React following Ogundipe Samuel's techniques from "7 optimization techniques in React" or perhaps what Chidume Nnamdi has is more what you need in "Optimize Your React Functional Components with useCallback and useMemo".


Web App Generators for React, Angular or Vue + NodeJS + SQL, MongoDB or Firebase Firestore

ScaffoldHub is a web app generator that enables you to generate React, Angular or Vue + NodeJS + SQL, MongoDB or Firebase Firestore apps. You model the entities, relationships, fields and validations, and ScaffoldHub generates the source code for you.

Authored by: Felipe Lima

Soft Skills for Developers: Why Do they Matter and Which Ones are the most Important?

Technical and soft skills for developers go together like peanut butter and jelly. Though the employer will first be looking at the tech background and the experience with specific tools, soft skills determine whether the person will stay in the team for a long time.

Authored by: Shaleynikov

How to Debug Remote Browsers

It's super frustrating when bugs pop up only in a remote browser. Something about that user, that device, or that environment is different, but I don't know what! And of course, I can't recreate it on my local development machine. The team at TrackJS came up with a cool way to connect and debug these ...

Authored by: David Walsh

Experimenting With The Developer Ergonomics Of Data Access Using Parallel Struct Iteration In Lucee

Ben Nadel continues to explore the use of data-structure iteration using parallel threads as a means to facilitate parallel data access (ie, running queries in parallel, not serial) in Lucee Using a little bit of encapsulation, he is able to create flexible methods that make parallel task execution easy and powerful.

Authored by: Ben Nadel

Next.js vs. Create React App: Whose apps are more performant? Blog

We put Next.js head to head with Create React App to settle the question of whether SSR is more performant than CSR. Learn who comes out on top.

Authored by: LogRocket

The rise of the NRG stack: Node.js, React and GraphQL

While all frameworks and languages come with their own benefits, Node.js has become very popular regarding development in enterprises and the majority of Fortune 500 companies today are known to utilize it. Since Facebook have changed React's BSD licensing to MIT, the library appears to be massively adopted by the global development market.

Authored by: Yair Tal


Data Hiding with JavaScript Module Pattern

The Module Pattern is one of the important patterns in JavaScript.It is a commonly used Design Pattern which is used to wrap a set of variables and functions together in a single scope. It is used to define objects and specify the variables and the functions that can be accessed from outside the scope of the function.

Authored by: gitconnected

Anomalies in JavaScript arrow functions Blog

Personally, I think arrow functions are one of the most awesome syntax additions to the JavaScript language introduced in the ES6 specification - my opinion, by the way. I've gotten to use them almost every day since I knew about them, and I guess that goes for most JavaScript developers.

Authored by: LogRocket

ES6 Spread Explained

At its core level, what Spread does is expand an iterable. That iterable can be an array or a string or an object. We will look into these iterables one by one and see how these work with Spread. The...

Authored by: gitconnected


Exporting Data to Excel In Angular

We often export data from tables to excel sheets in web applications. There are two ways to implement the export functionality in Angular: one is by using components directive and the other is by using attribute directive. In this post, we will compare both and examine their use cases as well.

Authored by: Bit

Beware! Angular can steal your time.

Angular can do everything - or almost everything. But sometimes this 'almost' makes you waste time for coding workarounds or trying to find out why something happens or doesn't work as expected. I want to save you some time and describe these angular gotchas from my work experience in this article.

Authored by: Angular In Depth

API-less Prototyping with Angular

Yet again (!), I will build a minimal live cryptocurrency application that will work with both mocked prices and with an actual service that will pull prices from Coincap. If you're impatient or just TLDR; you can see the final result on Stackblitz! First thing, we want to establish which API the two classes will share.

Authored by: Bit

Create Login UI Template with Angular 8 and Material Design

Create login and registration UI (User Interface) template with Angular 8, Angular Flex Layout and Material design UI library.

Authored by: Digamber Singh

The State of Angular in 2019

It's that time of the year when conferences and events are happening all over the world and we are bombarded with an amount of information that is pretty hard to digest. The Front End world is a never-stopping machine and we all know how hard it is not to stay behind.

Authored by: Bit


Simplifying state initializers with React Hooks Blog

With the advent of Hooks, the preferred way to share logic between components is via reusable custom Hooks. To create truly reusable custom Hooks, you should adopt the tried-and-tested advanced React component patterns. One of these patterns is called the state initializer pattern. What is the state initializer pattern?

Authored by: LogRocket

Optimize Your React Functional Components with useCallback and useMemo

Learn how to use useCallback and useMemo to optimize performance In our last posts we have looked at hooks: Continuing with the Hooks series, in this article, we will be looking at the useCallback and useMemo hooks and how they help optimize our functional components.

Authored by: Bit

Securing a React app with a basic server-side authentication Blog

It is well known that the client side is unsafe due to its exposed nature. In your web application, you can conditionally render views to show different contents to different users, but if that information is already stored in the client side, it is no longer secure.

Authored by: LogRocket

A React E-Commerce Guide (BONUS: Gatsby Shop Tutorial!)

In a rush? Jump to technical tutorial or live demo. Developers should be able to use any stack, whether they're building e-commerce or not. ☝️ That was the initial promise behind our developer-first shopping cart. One we've kept for 5 years now. Turns out 2018 stacks are more frontend-centric than ever, with React leading the pack.

Authored by: Snipcart

Building better React forms with Formik Blog

Building forms with React involves setting up state as the container for user data and props as the means to control how state is updated using user input. Validation can be done in between user inputs, and an arbitrary submit function is executed on form submit.

Authored by: LogRocket

What We Learned Rebuilding Our Site From Scratch

We're celebrating today because we just launched the new EricElliottJS.com - a site packed with learning content for app developers. Within seconds of sending announcements to users of the old site, user registrations came flooding in.

Authored by: Eric Elliott

7 optimization techniques in React Blog

One key factor for positive user experience is speed i.e how much time a user has to wait to first see contents from your website or application. Amazon reports a 1% sales loss for every 100ms load time, Walmart reports a +2% conversion per one second load time improvement.

Authored by: LogRocket


A Guide to Event Handling in Vue JS

Vue JS is a very progressive JavaScript framework created by Evan you and the Vue core team plus contributions from over 230 open source community lovers. Vue is used by more than 870,000 people and...

Authored by: Bit


Design patterns in Node.js: a practical guide Blog

Design patterns are part of the day to day of any software developer, whether they realize it or not. In this article, we will look at how to identify these patterns out in the wild and look at how you can start using them in your own projects.

Authored by: LogRocket

NodeJs Framework: What’s new in web frameworks in 2019

This article is a complete overview of the new and updated NodeJS web Frameworks.

Authored by: pavan kalyan

How to Build a Custom Discord Bot with Discord.js and Node

Making a Discord bot has never been easier, especially if you have some programming experience. In this article I'll walk you through making your own custom Discord Bot using Discord.js. Before we begin I want to mention that if you are less technically skilled, you can check out Discord Bot Studio Install Node.js and discord.js.

Authored by: gitconnected

Migrating Existing REST APIs to GraphQL

Learn how to migrate existing REST APIs to GraphQL with Node.js and Express Given GraphQL is quite a fresher in the realm of software development, a lot of people are not yet confident whether to write the next API in GraphQL or not.

Authored by: Bit

Your Web App Backend is NOT an API. Let's Face it!

First of all, it is essential to clarify a few things regarding APIs. A backend serving JSON isn't necessarily an API. Developing an API require reasonable effort. API governance, versioning support for backward compatibility, lifecycle management, and adhering to standard architectural styles such as REST involves effort.

Authored by: Bit

Libraries and Tools

What's new in styled-components 5.0 Blog

Curious about the newest version of styled-components? Find out more here.

Authored by: LogRocket

Webpack From Zero to Hero

This article is part of the Webpack from Zero to Hero series, for more background or for the index you can check the Chapter 0: History. Sometimes you want to make your app more flexible, but...

Authored by: Rubens Pinheiro

Functional Programming

Functional JavaScript: What are higher-order functions, and why should anyone care?

"Higher-order function" is one of those phrases people throw around a lot. But it's rare for anyone to stop to explain what that means. Perhaps you already know what a higher-order function is. But how do we use them in the real world? What are some practical examples of when and how they're useful?

Authored by: James Sinclair


Rails Geocoder: A Guide to Managing Locations in Your Apps

The introduction of Google Maps in 2005 changed the way we think about the internet. It's hard to remember now, but there was a time where the internet was disconnected from the physical world. You might find a business's website, and if you were lucky, they'd have an address included.

Authored by: Stackify

Python Geocoder: A Guide to Managing Locations in Your Apps

A great thing about building applications for the internet is that people from all around the world can benefit from your effort. You can gather new users from Taiwan to Colorado and meet their needs just as effectively.

Authored by: Stackify

MongoDB: A Beginner's Guide - Bret Cameron - Medium

Finally, go back to the 'Clusters' page and, under the name of your cluster, click 'Connect'. From the options, choose 'Connect Your Application' and you'll get a connection URI like so: Keep a note of this string. We're now ready to begin coding!

Authored by: Bret Cameron