Are you interested in learning more about technical topics and software engineering?
The internet is full of materials with both free and paid resources whatever tech topics
fascinate you.
But it is hard to narrow things down and categorized, or sometimes even you do not know
where to start.
Besides good quality books like in Action series,
Manning,
or O'REILLY Head First Series.
there are also channels that publish software blogs dedicated
to certain topic with answers not only to
WHEN and WHY, but also to HOW.
Community and platform-based:
Medium,
DEV Community,
Hashnode,
web.dev,
DZone,
Baeldung,
CIO,
freeCodeCamp,
more platforms..
Company-specific:
Hacker Noon,
AWS,
Google Cloud,
Oracle
Forums,
Stack
Overflow,
Microsoft
Research,
DigitalOcean,
more platforms..
- Beauty of Modern Java — Handling Boilerplate Code Using Records
-
Records reduce the verbosity, so use ‘record’ when you need a simple, immutable data
carrier.
Migrate your data-classes if they only qualify to be records in Java 16+.
Code samples are available in GitHub
repo, here
- Multithreading in Java vs Node.JS
-
The article tackled the topic of ‘multithreading in Java vs Node.js’ beginning with
formulating a slow task. Then in following sections concurrency features and
capabilities of both Java and Node.js are described. Some practical scenarios and
examples are examined with employing threads to improve the performance. This helped us
to compare and describe concurrency related factors as well as concurrency models more
concisely. Finally, comparison matrix (generated after executing same task with
different solutions) showing best|average|worst elapsed-time results gave us better
understanding how to achieve better performance when solving slow operations, and learn
which concurrency factors should be taken into consideration.
See: repo-examples,
WebX
- Java Lambda Expressions & Behavior Parameterization
Pattern
This blog is a continuation of the “Beauty of Modern JAVA” series (my previous
article — Handling Boilerplate Code Using Records) to focus on Java’s new era
features and tools. This time, it is about lambda expressions, method references,
functional interfaces powered with behavior parameterization to help writing
programs that are both effective and concise.
Code samples are available in GitHub
repo, here
- Java Features 8-13,
Java Features 13-21,
GraalVM
Features
-
Focuses on Java8-Java21 features with examples.
repo,
repo, here
- Data Serialization Formats - Proto buffer, FlatBuffer, etc
-
Records reduce the verbosity, so use ‘record’ when you need a simple, immutable data
carrier.
Migrate your data-classes if they only qualify to be records in Java 16+.
Code samples are available in GitHub
repo,
See: here
- Good to Know Parts When Coding with JavaScript
-
This blog will guide you how to avoid pain points when coding with JavaScript to provide
good software which is reliable, efficient, maintainable and usable.
Code samples are available in GitHub
repo, repo-examples
- Test automation with Playwright for VS Code extensions
-
In this blog I will describe why the Playwright framework is a better choice to write
automated tests for VS Code extensions compared to Cypress. As a case study, I will give
some working examples on how to write and run Playwright tests for VS Code extensions
and mention some tools which will be helpful to debug, trace and generate the tests.
- LSP Magic — Mainframe Language Support in Modern IDEs
-
From a modern IDE point of view, Language Server Protocol brings the magic of modern
editing capabilities..
, Cobol-LSP,
Intellisense
with Db2 SQL COBOL Statements in VSCode and Theia,
PL/I — Code4z’s Newest Mainframe Language Extension,
pl-one-langium
- DAP Magic — Modern Debugging Experience using VS Code & other
IDEs
-
In this blog we describe next generation debug technology using the DAP for mainframe
code, therefore keeping the user experience the same across
languages or platforms.
Code samples are available in GitHub
repo, repo-examples
- ANTLR Magic — Developing Mainframe Language Applications Using
Language Recognizer
-
In my earlier blogs, I have described the role of these specifications: LSP brings the
magic of modern editing capabilities, whereas DAP provides the modern debugging
experiences. And in this article I will show you the magic that ANTLR brings and it’s
involvement in building language applications (e.g. COBOL, PL/I, JCL, REXX
etc.).
Code samples are available in GitHub
repo, repo-examples
- Pyramid
Of Clean Code
-
The term "pyramid of clean code" is not standard but likely refers to the "Pyramid of
Refactoring" course, which applies a structured, multi-layered approach to improve code
quality gradually, or a misunderstanding of the "pyramid of doom," a term for poorly
indented code.
Code samples are available in GitHub
repo, repo-examples
- Language Engineering
|