WebDevPro #41: SOLID Principles, Git Best Practices, Elysia, AnyDesk resets passwords, Apple Vision Pro bug, VS Code Drops Ubuntu Support

Test URL Advertise with Us | Sign Up to the Newsletter
Unlimited eBooks and video courses.
50+ new titles each month, including exclusive previews.
Advanced tools: AI assistants, code explainers, text-to-speech.
Vast reference collection on numerous tech topics.
Grab 50% off your first month—exclusive to newsletter subscribers. Offer ends soon!
WebDevPro #41: SOLID Principles, Git Best Practices, Elysia, AnyDesk resets passwords, Apple Vision Pro bug, VS Code Drops Ubuntu Support
February 8, 2024
Hi <<First Name>>,
Welcome to the _webdevpro! Your one stop for all things Web Dev! This issue arrived in your inbox a day later than usual. I was stuck in a snowstorm but I’m back in business now.
We start today’s issue with community discussions on:
Git Good: Best Practices for Branch Naming and Commit Messages
Product Hunt has become pay-to-win, but you should still use it
A step-by-step guide: How to create and publish an NPM package
Don't miss our repository of manually curated collection of ChatGPT resources for web developers. Wanting to learn about Ruby? Our tutorial covers Interactive Ruby Shell (IRB) from the book ‘From PHP to Ruby’.
Our relatively new section captures internet jibber-jabber about topics in the web ecosystem:
Remote access giant AnyDesk resets passwords and revokes certificates after hack
The fastest-growing countries for software development, according to GitHub
Apple fixes zero-day bug in Apple Vision Pro that ‘may have been exploited’
Browser extensions are underrated: the promise of hackable software
Today's news covers Django, jQuery, Laravel, and Ruby on Rails.
P.S.: If you have any suggestions or feedback, or would like us to feature your project on a particular subject, please write to us. Just respond to this email!
If you liked this installment, fill in our survey below and win a free Packt PDF.
Thanks,
Apurva Kadam
Editor-in-Chief, Packt
WebDev Community Speak
What is the WebDev industry talking about? Latest Developments? Cool tricks? Tutorials? Cheatsheets? How are Web Developers upskilling? Read about it all here.
SOLID Principles: They're Rock-Solid for Good Reason! - Just started with object-oriented programming and feeling a bit lost about SOLID? No worries, in this article, I'll explain it to you and provide examples of how to use it in your code development.
Git Good: Best Practices for Branch Naming and Commit Messages - This blog shares a few best practices for using Git more effectively. git? Yes, the git you're already familiar with. The code buddy, your guardian angel that ensures your coding adventure runs smoothly, allows developers to collaborate effortlessly on projects. Are you the one who creates branches and then forgets why they exist? The one always have to look for file changes to comprehend a commit? Here are some tips for you.
Product Hunt has become pay-to-win, but you should still use it to launch your product - Many of us have been launching on Product Hunt for a while, and more and more folks have started questioning whether the audience there is genuine and whether it is still worth launching on their platform. Being fresh out of our latest launch from a week ago, here is a first-hand experience: How does launching on Product Hunt look and feel today, What we got from the launch, and How to make (the best) use of Product Hunt for your product.
Elysia: A Bun-first Web Framework - Bun is a fast and lightweight JavaScript runtime that aims to be an alternative to Node.js. It supports features like hot reloading, file system APIs, and native modules. But what if you want to build a web application using Bun? That’s where Elysia comes in.
A step-by-step guide: How to create and publish an NPM package - NPM (Node Package Manager) packages are an essential component of Node.js. They allow developers to share their solutions with the wider Node.js community. NPM packages consist of reusable blocks of code that can be easily integrated into a project with a single command. By utilizing NPM packages, developers can avoid reinventing the wheel and focus on building. In this guide, you will learn how to create and publish an NPM package. Let’s start!
On a scale of 1-10, how would you rate the relevance and usefulness of the community discussions in today’s issue?
lowest 1 2 3 4 5 6 7 8 9 10 highest
Sorry, voting is closed.
WebDev Repos
We at WebDevPro highlight Web resources in a week-on-week series. This week we bring you manually curated collection of ChatGPT user scripts resources for web developers:
ChatGPT Exporter - Export and share ChatGPT conversation history.
KeepChatGPT - Fixes common networks errors and problems with ChatGPT.
ChatGPT Widescreen Mode - Adds widescreen and fullscreen mode to ChatGPT.
Autoclear ChatGPT History - Auto-clear ChatGPT conversation history for increased privacy.
ChatGPT Auto Refresh - Keeps ChatGPT sessions fresh to avoid network errors and Cloudflare checks.
DuckDuckGPT - Brings the magic of ChatGPT to search results.
ChatGPT Infinity - Makes ChatGPT automatically answer random questions to increase your knowledge.
ChatGPT Auto-Continue - Automatically clicks "Continue generating" when responses are cut off.
On a scale of 1-10, how would you rate the relevance and usefulness of the repositories in today’s issue?
lowest 1 2 3 4 5 6 7 8 9 10 highest
Sorry, voting is closed.
Have a GitHub project you want to show off? Write to us and we will feature it!
Internet Web Dev Jibber-Jabber
Random curious musings and interesting words about Web Dev on the Internet.
Mozilla's 'Servo' Project Reboot - Mozilla's Abandoned Web Engine 'Servo' Project is Getting a Well-Deserved Reboot in 2024. What if I tell you that the 'Servo' web engine performs faster on Raspberry Pi compared to Chromium? Get more details here!
Remote access giant AnyDesk resets passwords and revokes certificates after hack - Remote desktop software provider AnyDesk confirmed late Friday that a cyberattack allowed hackers to gain access to the company’s production systems, putting the company in lockdown for almost a week. AnyDesk said that as part of its incident response, the company had revoked all security-related certificates, remediated or replaced systems where necessary and invalidated all passwords to AnyDesk’s customer web portal.
The fastest-growing countries for software development, according to GitHub - But while GitHub has long been used to assess individual programmers, the platform’s data also shows the developer contributions of every country on Earth, painting an interesting picture of which nations are rising the fastest. GitHub releases the data quarterly as part of a project it calls the Innovation Graph, with the most recent batch of data released on January 18.
Apple fixes zero-day bug in Apple Vision Pro that ‘may have been exploited’ - A day after reporters published their first hands-on review of Apple’s Vision Pro, the technology giant released its first security patch for the mixed reality headset. Apple released visionOS 1.0.2, the software that runs on the VisionPro, with a fix for a vulnerability in WebKit, the browser engine that runs Safari and other web apps. Apple said the bug, if exploited, allowed malicious code to run on an affected device.
VS Code Drops Ubuntu 18.04 Support, Devs ‘Screwed’ - Microsoft Visual Studio Code (VSCode) has dropped support for Ubuntu 18.04 LTS — a move causing issues for thousands of developers. VS Code 1.86 (aka the ‘January 2024’ update) sees Microsoft bump the minimum build requirements for the text editor’s popular remote dev tools to ≥glibc 2.28. But given that servers, clouds, and containers running on Ubuntu 18.04 LTS use glibc 2.27, it means they no longer work.
Browser extensions are underrated: the promise of hackable software - Recent conversations about web browser extensions have focused on controversy: malicious browser extensions capturing web history, and Google limiting the capabilities used by ad blockers. But we shouldn’t lose sight of the big picture: browser extensions are the rare exception that allow and encourage users to modify the apps that we use, in creative ways not intended by their original developers. Browser extensions remind us what it’s like to have deep control over how we use our computers.
On a scale of 1-10, how would you rate the relevance and usefulness of the Internet Jibber-Jabber section in today’s issue?
lowest 1 2 3 4 5 6 7 8 9 10 highest
Sorry, voting is closed.
Web Dev Tutorial
Interactive Ruby Shell (IRB)
Sometimes, you may want to quickly test a very small piece of code and it may seem like a hassle to create a file, add the code, and then run it. Maybe we just want to test the syntax of a single line of code. Well, we don’t have to create a file to just test a line of code. Just like in other languages, such as Python or even PHP, we have a tool just for that in Ruby: it’s the Interactive Ruby Shell, better known as IRB. Let’s take a look at it.
Within a shell, run the following command:
irb
This will make your shell look like this:
irb(main):001:0>
This shell works as a real-time Ruby interpreter – that is, after the > symbol, we can start typing Ruby commands that will be interpreted and executed right away. As a simple example, let’s add 1 and 1:
irb(main):001:0> 1+1
This will return the following result:
irb(main):001:0> 1+1
=> 2
This comes in quite handy when you quickly want to test syntax and operations, or even view the content of a class. It works in the same way as the Ruby binary we’ve been using in previous examples.
So, as a final example, let’s load the include_module file we created, but now with this interactive shell:
irb(main):001:0> require './include_module'
We are debugging
=> true
Now that we’ve included the code in our shell with the require method, we can use this loaded code in our irb session. Since we have the MyClass definition available, we can use it as a blueprint to create an instance of MyClass:
irb(main):001:0> another_instance = MyClass.new
This returns a unique identifier that Ruby uses internally to know where the instance resides in the computer’s memory:
=> #<MyClass:0x000000014a17ed50>
Note that we can call the debug method on our newly created instance too:
irb(main):001:0> another_instance.debug
And just like before, we get the same output:
We are debugging
=> nil
To exit this interactive shell, simply type exit to make your shell go back to normal. In case you were wondering, there is a similar shell in PHP called interactive shell. Be sure to check out this page if you’re interested in…read more.
Read the “From PHP to Ruby Basics” book now!
On a scale of 1-10, how would you rate the relevance and usefulness of the tutorial section in today’s issue?
lowest 1 2 3 4 5 6 7 8 9 10 highest
Sorry, voting is closed.
What's Happening in Web Dev?
Your dose of the latest releases, news and happenings in the Web Development industry!
Django
Django security releases issued: 5.0.2, 4.2.10, and 3.2.24 - In accordance with our security release policy, the Django team is issuing Django 5.0.2, Django4.2.10, and Django3.2.24. These releases address the security issue detailed below. We encourage all users of Django to upgrade as soon as possible.
jQuery
jQuery 4.0.0 BETA! - jQuery 4.0.0 has been in the works for a long time, but it is now ready fora beta release! There’s a lot to cover, and the team is excited to see it released. We’ve got bug fixes, performance improvements, and some breaking changes. We removed support for IE<11 after all! Still, we expect disruption to be minimal.
Laravel
A look at what's coming to Laravel 11 - Laravel 11 is not scheduled to be released until Q1 of the 2024, but some new features have been shared out. Here is what we know so far.
Herd 1.4.0 is now out with a pro version and Windows in the works - Herd 1.4.0 is now released, and this update adds new features, improves existing ones, and comes with an optional Herd Pro. Another huge announcement is a brand new Herd for Windows that is due out in March of 2024.
Ruby on Rails
Deprecate passing nil as model argument - Passing model: nil as an argument to the form_with method will be deprecated in the next release of Rails.
Skip CSS when creating APIs - This pull request makes the Rails generator skip the CSS part if the --api flag is set, because CSS is unnecessary for API only apps.
Commented out lines in .railsrc file should not be treated as arguments - Before this change, commented out lines in the .railsrc file were parsed as arguments if the commented part had any arguments inside. This pull request fixes that.
Add row_count field to sql.active_record notification - This pull request adds a row_count field to the sql.active_record notification, which returns the amount of rows returned by the query that emitted the notification. This metric is useful in cases where one wants to detect queries with big result sets.
Svelte
Svelte 5 is in preview - In the meantime, Svelte 4 (@latest) has had one bugfix release. There's just one new feature to highlight from the Svelte 5 changelog: Snippets can now take multiple arguments (5.0.0-next.42, Docs, #9988)
On a scale of 1-10, how would you rate today’s issue of WebDevPro in terms of being informative, engaging, and useful?
lowest 1 2 3 4 5 6 7 8 9 10 highest
Sorry, voting is closed.
And that’s a wrap.
P.S.: If you have any suggestions or feedback, or would like us to feature your project on a particular subject, please write to us. Just respond to this email!
Someone forwarded this email? Sign Up here!
Not for you? Unsubscribe here.




Copyright (C) 2024 Packt Publishing. All rights reserved.
As a GDPR-compliant company, we want you to know why you’re getting this email. The _webdevpro team, as a part of Packt Publishing, believes that you have a legitimate interest in our newsletter and the products associated with it. Our research shows that you, <<Email Address>> , opted-in for communication with Packt Publishing in the past and we think that your previous interest warrants our appropriate communication. If you do not feel that you should have received this or are no longer interested in _webdevpro, you can opt out of our emails by unsubscribing here.
Our mailing address is:
Want to change how you receive these emails?
You can update your preferences or unsubscribe


