WebDevPro #11: Custom Plugins with Lua and ChatGPT, TDD vs BDD, and SQL Code Review Tools
Hi,
Welcome to the _webdevpro! Today's edition covers web development community discussions on Custom Plugins with Lua and ChatGPT, TDD vs BDD, and SQL Code Review Tools. We bring you the latest in Web Dev, with releases from Node.js, Ruby on Rails and Spring to help you keep up to date!
Working on understanding state in React? Our React with TypeScript tutorial can help! Don't miss our repository of curated tools to help you boost your web development.
We have listened to the _webdevpro readership and we think this is something you have been searching for. If you liked this installment in our new series, fill in our survey below and win a free Packt credit. We're committed to bringing our readers exactly what they want, so help us make the right choices.
Take the Survey and Win a Free Packt Credit!
Thanks,
Apurva Kadam
Editor-in-Chief, Packt
Web Developer Community Insights
Custom Plugin Development For APISIX With Lua And ChatGPT - This article will guide you through the process of developing a new custom plugin called file-proxy for APISIX using Lua and ChatGPT. This plugin will be used to expose the static files through API and fetch a file from a specified URL. Explore now.
7 Best Open-source projects built with Node.js / React.js - Node.js and React.js are the most popular open-source frameworks that have been widely used for developing web applications for their flexibility and scalability. In this article, we will discuss some of the open-source projects built with Node.js and React.js. Let's dive in!
TDD vs BDD - Test-Driven Development (TDD) and Behavior Driven Development (BDD) are two methodologies developers use to write quality tests that benefit developers, users, product managers and stakeholders. In this article, you’ll learn what they entail, their principles, advantages, disadvantages, how they work and their key differences. Read the guide now.
Best Animation Libraries for React - Developers have had to find new ways of implementing UIs with animation and transitions to make web application user interfaces attractive. As a result, specialized libraries and tools have been developed to handle animation in web apps. This blogpost discusses best React animation libraries I have experience with to help you choose the best one for your project. Learn more.
Awesome SQL Code Review Tools for Developers – This blog investigates some of the tools that can help you in reviewing SQL code. These tools will assist in a variety of domain that is related to SQL such as code analysis, formatting, refactoring, and code documentation. Read now!
Web Development Motivation
"Every great developer you know got there by solving problems they were unqualified to solve until they actually did it."
- Patrick McKenzie, Engineer and Writer
Food for Thought...
The quote implies that the path to greatness in web development is paved with tackling and overcoming seemingly insurmountable problems, pushing the boundaries of one's capabilities, and gaining valuable experience along the way.
WebDev Resources
Boost the ability of a product to work with different input/output devices and rendering software. Here are some Web compatibility resources for your next project:
E-Mail: Preparing HTML based electronic mail.
Keyboard: Working with keyboard input in a web browser.
Mobile: Development of websites optimized for viewing on smartphone and tablet devices.
Printers: Manipulation of printer output through CSS.
Responsive Web Design (RWD): RWD responds to the needs of the users and the devices they’re using. The layout changes based on the size and capabilities of the device.
Web Accessibility: Web accessibility means that people with disabilities can perceive, understand, navigate, and interact with the Web
React Web Development Tutorial
Understanding JavaScript types
Before understanding the type system in TypeScript, let’s briefly explore the type system in JavaScript. To do this, open the CodeSandbox and carry out the following steps:
Create a new plain JavaScript project by choosing the Vanilla option.
Open
index.js, remove its content, and replace it with the following code:
let firstName = "Fred"
console.log("firstName", firstName, typeof firstName);
let score = 9
console.log("score", score, typeof score);
let date = new Date(2022, 10, 1);
console.log("date", date, typeof date);The code assigns three variables to various values. The code also outputs the variable values to the console, along with their JavaScript type.
Here’s the console output:
Some JavaScript types
It isn’t surprising that firstName is a string and score is a number. However, it is a little surprising that date is an object rather than something more specific such as a date....read more.
What's Happening in Web Dev?
Node.js
Security Releases - The Node.js project will release new versions of the 16.x, 18.x and 20.x releases lines on or shortly after, Tuesday June 20 2023 in order to address: 7 medium severity issues and 3 high severity issues.
Ruby on Rails
This Week In Rails – Developments in the Ruby codebase include: Create a class level #with_routing helper, Allow composite primary key to be derived from schema and Store connection_pool in database-related exceptions. Explore them here!
Spring
Spring Shell 3.0.5 and 3.1.1 are now available - Spring Shell
3.0.5and3.1.1has been released and are now available from Maven Central. Checkout see the release notes 3.0.5 and release notes 3.1.1 for more details.
StackOverflow
StackOverflow survey - In May 2023 over 90,000 developers responded to the annual survey about how they learn and level up, which tools they're using, and which ones they want. Read the results now!



