teleren/devto huggingface dataset:
C++ logging library - something I've been working on, Pt. 3 (Cross-post)
Published: 2023-12-25 14:19:10

Hello everyone,

It's become sort of a tradition to make a post in a certain subreddit, exactly on that day each year, with an "update" on the library that I've been working on:

1. (2020) [https://www.reddit.com/r/cpp/comments/kj364n/c\_logging\_library\_something\_ive\_been\_working\_on/](https://www.reddit.com/r/cpp/comments/kj364n/c_logging_library_something_ive_been_working_on/)
2. (2021) [https://www.reddit.com/r/cpp/comments/rnwq2g/c\_logging\_library\_something\_ive\_been\_working\_on/](https://www.reddit.com/r/cpp/comments/rnwq2g/c_logging_library_something_ive_been_working_on/)
3. (2022) No update

Unlike the previous years, as we grow older and wiser, I'm now aware that it's not going to be "finished" any time soon. However, I can present it to you at a mature enough stage where I can, from now on, shift my focus to another project that I have barely started working on - a graphics engine.

A lot has happened in the past years. I got a job in the automotive industry and even got promoted recently, so It's all going well for me. And I want to thank you for the support until now and for the great critique and advice I've gotten on my previous posts about the logger, it has helped me so much for what it's worth.

Anyway, I want to keep the post short and simple. So, why yet another logger? I've answered that in the documentation, but in short, I know it's the most banal project idea you've laid your eyes on recently, but in fact, it's actually an amazing learning experience. Depending on how deep you are willing to get to, writing a logger entails quite a lot of concepts, both deep language-specific knowledge and general computer science topics. If you were to ask me what's been the most pivotal project for my learning path, I would choose the logger instead of any half-baked graphics engine I've written in a heartbeat.

As always, I would appreciate it If you check it out, write a critique, an opinion, or blatantly assault me, it's all welcomed if it's aimed towards improvement and perfection. Contributions are appreciated as well, of course:  [https://github.com/ChristianPanov/lwlog](https://github.com/ChristianPanov/lwlog)

If you find it interesting enough you could also star it, that would be appreciated.

So what's been done since last year - overall rework and restructuring of the codebase, added asynchronous logging with the appropriate configurations that can be applied to it, which is probably the most notable of all changes, also added basic log message post formatting with fmt/std::format, depending on what you are using, which has been missing for a long time(such a basic feature, what a shame), and finally, comprehensive documentation overhaul. And quite a lot of other things in between, of course.

While I'll be shifting my focus to a new project, I remain committed to maintaining and improving the logger. Upcoming plans include refining the CMake file and enhancing the file sink with file mapping.

Thank you for your support and valuable feedback. Wishing you all happy holidays,

Chris
Java display test case name when run unit tests (Maven)
Tags: java, maven
Published: 2023-12-25 14:18:26

ช่วงนี้ได้กลับมาเขียน Java อีกครั้ง โดย project ที่ดูแลอยู่ใช้ maven เป็น dependency management และได้ลองเขียน unit test โดยใช้คำสั่งตามด้านล่าง

```sh
mvn test
```

results ของ unit test จะแสดงตามรูปด้านล่าง

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u4vq0ol08v4q6fqrkxng.png)

จากรูปจะพบว่า results ที่ได้จะแสดง summary แบบที่ไม่มีชื่อ test case ที่เราได้เขียนไป แล้วจะทำอย่างไร ที่จะทำให้ผลของ unit test แสดงชื่อ test case ด้วย 

ผมไปเจอกับ plugin ตัวหนึ่งชื่อ `maven-surefire-plugin` plugin ตัวนี้จะแสดงชื่อ test case ที่เราได้เขียนเอาไว้ โดยเพิ่ม code เข้าไปใน pom.xml ตาม code ด้านล่าง

```xml
<plugin>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>3.2.3</version>
  <dependencies>
    <dependency>
      <groupId>me.fabriciorby</groupId>
      <artifactId>maven-surefire-junit5-tree-reporter</artifactId>
      <version>1.2.1</version>
    </dependency>
  </dependencies>
  <configuration>
    <reportFormat>plain</reportFormat>
  </configuration>
</plugin>
```
run test `mvn test`
results ของ unit test จะแสดงตามรูปด้านล่าง

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8ak7xraadtxdxzenr8f7.png)

ตอนนี้จะเห็นได้ว่ามี test case มาแสดงให้เห็นแล้ว 

แล้วจะทำอย่างไรให้มันดูง่ายขึ้นกว่านี้ได้อีก?

ไปเจอ `maven-surefire-junit5-tree-reporter` เป็น extension ของ `maven-surefire-plugin` โดยมันจะทำให้ test case แสดงในรูปแบบของ tree

เพิ่ม code ด้านล่างไปในส่วนของ configuration ของ plugin `maven-surefire-plugin`

```xml
<configuration>
  <reportFormat>plain</reportFormat>
  <consoleOutputReporter>
    <disable>true</disable>
  </consoleOutputReporter>
  <statelessTestsetInfoReporter implementation="org.apache.maven.plugin.surefire.extensions.junit5.JUnit5StatelessTestsetInfoTreeReporter">
    <theme>UNICODE</theme>
  </statelessTestsetInfoReporter>
</configuration>
```

run test `mvn test`
results ของ unit test จะแสดงตามรูปด้านล่าง

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k3sbir9uv93cpfdpxycz.png)

จากรูปจะเห็นได้ว่า test results นั้นแสดงได้อย่างสวยงาม โดยจะมีสีและ icon บอก status ด้วยว่าแต่ละ test case นั้น success หรือ fail

โดยที่ `maven-surefire-junit5-tree-reporter` สามารถเลือก theme ได้ด้วย theme ที่ผมเลือกเป็น `UNICODE`

ถ้าจะลองเล่นไปที่ link นี้ได้เลยครับ

https://github.com/fabriciorby/maven-surefire-junit5-tree-reporter

ตัวอย่าง [pom.xml](https://github.com/pradist/maven-examples/blob/main/fizzbuzz/pom.xml) เต็มๆ

หรือใครมีวิธีอื่นอีก แนะนำกันใน comment ได้เลยครับ
Unveiling the Power of Virtual DOM for Efficient UI Rendering
Tags: react, webdev, javascript
Published: 2023-12-25 14:07:13


React's Virtual DOM is a key concept that contributes to the efficiency and performance of React applications. It's an abstraction of the actual DOM (Document Object Model) and serves as an intermediary layer between the application's logic and the browser's rendering engine.

![Virual Dom](https://s3.ap-southeast-1.amazonaws.com/arrowhitech.com/wp-content/uploads/2020/07/02034639/compare-768x319.jpg)

Here's an overview of how the React Virtual DOM works:


1. _**Real Dom vs Virtual Dom:**_
 * **Real DOM**: The actual DOM is a tree-like structure that represents the structure of HTML elements in a document.
 * **Virtual DOM:** React creates a lightweight copy of the real DOM known as the Virtual DOM. It's a JavaScript representation of the actual DOM.

2. _**Component Rendering:**_
 * When a React component renders, it doesn't directly update the real DOM.
 * Instead, React generates a virtual representation of the UI using JSX (JavaScript XML) syntax.
3. _**Virtual DOM Reconciliation:**_
 * After each render, React compares the new virtual DOM with the previous one, using a process called "reconciliation."
 * React determines the minimal number of steps needed to update the real DOM to match the new virtual DOM.
4. _**Diffing Algorithm:**_
 * React employs a reconciliation algorithm to efficiently update the real DOM. This process involves comparing the new and previous virtual DOM trees.
 * React's "diffing" algorithm optimizes this comparison by minimizing the number of updates required.
5. _**Diffing Steps:**_
 * React compares the old and new virtual DOM trees, looking for differences at the top level.
 * It identifies changes, additions, or removals of components and their respective properties.
 * The algorithm efficiently narrows down the differences to the minimal set of operations required.
6. _**Reconciliation Process:**_
 * Once the differences are identified, React constructs a "diff" or "change" set.
 * This set contains the specific changes needed to update the real DOM.
7. _**Updating the Real DOM:**_
 * React applies the changes from the diff set to the real DOM in a process known as "reconciliation."
 * This process is much more efficient than directly manipulating the entire real DOM.
8. _**Batched Updates:**_
 * React often performs updates asynchronously and batches multiple updates into a single operation.
 * This helps in avoiding unnecessary reflows and repaints, improving overall performance.
9. _**Performance Benefits:**_
 * The Virtual DOM allows React to minimize the impact on the actual DOM, resulting in improved performance and responsiveness.
 * By selectively updating only the necessary parts of the DOM, React reduces the computational cost of rendering.

In summary, the React Virtual DOM is a crucial optimization technique that enhances the performance of React applications by efficiently updating the real DOM. It minimizes the number of operations required to reflect changes in the UI, resulting in a smoother and more responsive user experience.
Weekly Roundup 032 (Dec 18): 🔥Hot Topics🔥 in #workplace, #sharepoint, and #powerplatform
Tags: roundup, powerplatform, sharepoint, workplace
Published: 2023-12-25 14:04:28

Hey fellow developers! It's @jaloplo, here to give you the latest scoop on what's been happening in the [#workplace](https://dev.to/t/workplace), [#sharepoint](https://dev.to/t/sharepoint), and [#powerplatform](https://dev.to/t/powerplatform) communities. 😎

## [#workplace](https://dev.to/t/workplace)

- [Is Microsoft Teams More Than Just a Chat App?](https://dev.to/jaloplo/is-microsoft-teams-more-than-just-a-chat-app-106) by [Jaime López](https://dev.to/jaloplo)

## [#powerplatform](https://dev.to/t/powerplatform)

- [Audit Vigilance: Lighting the Way for Audit Analysis - Unleashing the Bat Computer](https://dev.to/balagmadhu/audit-vigilance-lighting-the-way-for-audit-analysis-unleashing-the-bat-computer-21ff) by [Bala Madhusoodhanan](https://dev.to/balagmadhu)
- [Power Apps Tracks Santa](https://dev.to/wyattdave/power-apps-tracks-santa-80h) by [david wyatt](https://dev.to/wyattdave)
- [What makes a solution "Premium"](https://dev.to/kkazala/what-makes-a-solution-premium-2l8n) by [Kinga](https://dev.to/kkazala)
- [Let's talk money](https://dev.to/kkazala/lets-talk-money-1040) by [Kinga](https://dev.to/kkazala)
- [How to Connect Power Automate Web and Power Automate Desktop](https://dev.to/shadow_b/how-to-connect-power-automate-web-and-power-automate-desktop-3bgc) by [shadowb](https://dev.to/shadow_b)

> *Are you well-acquainted with SharePoint, Microsoft Teams, or OneDrive and their capacity to enhance employee value? Familiar with the intricacies of Power Apps, Power Automate, or other Power Platform services? Concerned about the Workplace experience and eager to share insightful perspectives?* 
> 
> *Let's harness your expertise to create valuable content! I'm on the lookout for collaborators to co-author insightful articles and support others. 🚀💼 Connect with me on [Mastodon](https://techhub.social/@jaimelopezlopez) or on [LinkedIn](https://www.linkedin.com/in/jaimelopezlopez/). Feel free to send me a message!*


That's all for this week's roundup! Thanks for tuning in, and remember to keep the discussions lively and informative in our tags. 💬 If you have any suggestions for future topics, feel free to drop them in the comments below. See you next week! 👋
Dry eye treatment : Spanish Eye Clinic
Tags: webdev, programming, tutorial, beginners
Published: 2023-12-25 13:36:00

Spanish Eye Clinic  have so many range of treatments  like **[dry eye treatment](https://www.spanisheyeclinic.com)** and many more. Spanish Eye Clinic ensures that each patient has a favorable experience by fostering a pleasant atmosphere. Spanish Eye Clinic is the pinnacle of excellence for people looking to maintain good eye health and receive top-notch care. Make an appointment right away to get started on the path to great eye health.

At Spanish Eye Clinic, we prioritize our patients' well-being and understand the importance of vision in their lives.

Our dedicated team of experts strives to provide personalized care and attention to ensure optimal outcomes and complete patient satisfaction. The clinic's team of committed professionals uses state-of-the-art diagnostic tools and procedures to offer precise diagnoses and care strategies.The success of Spanish Eye Clinic is largely due to its group of exceptionally skilled and knowledgeable Eye specialist.
Unleashing the Power of Node.js: A Developer's Guide
Tags: node, webdev, javascript
Published: 2023-12-25 13:26:23

## Introduction
In the vast landscape of web development, Node.js stands as a versatile and powerful tool, revolutionizing the way developers create applications. This open-source, cross-platform JavaScript runtime environment has become the go-to choice for a wide range of projects. In this blog, we'll explore the key features that make Node.js a preferred option for developers worldwide.

## 1. Turbocharged by V8 Engine:
Node.js gains its exceptional performance by leveraging the V8 JavaScript engine, the same powerhouse that fuels the core of Google Chrome. This unique approach allows Node.js to execute JavaScript code outside the confines of a web browser, resulting in lightning-fast processing and efficient resource utilization.

## 2. Single-Process Efficiency:
Unlike traditional methods that spawn a new thread for every request, a Node.js app operates in a single process. This streamlined approach enhances efficiency and minimizes potential concurrency issues, making Node.js an agile and responsive platform.

## 3. Asynchronous I/O Magic:
One of Node.js' standout features is its asynchronous I/O primitives. These tools, embedded in the standard library, prevent JavaScript code from blocking during operations like network requests, database access, or filesystem interactions. This non-blocking paradigm ensures that the application remains responsive and can seamlessly handle multiple tasks concurrently.

## 4. Concurrency without Chaos:
When Node.js engages in I/O operations, it doesn't halt the entire process and waste CPU cycles waiting for a response. Instead, it gracefully pauses and resumes operations once the required data is available. This unique strategy allows Node.js to manage thousands of concurrent connections with ease, eliminating the challenges associated with thread concurrency.

## 5. Seamless ECMAScript Integration:
Node.js offers frontend developers a unique advantage—they can seamlessly transition to server-side development without mastering a new language. The alignment with ECMAScript standards enables developers to harness the latest JavaScript features without waiting for users to update their browsers. The flexibility to choose ECMAScript versions and experiment with cutting-edge features makes Node.js an ideal playground for innovation.

## Conclusion:
Node.js has emerged as a game-changer in the world of web development. Its efficiency, non-blocking architecture, and seamless integration with JavaScript standards have empowered developers to build scalable and high-performance applications. Whether you're a seasoned developer or a newcomer to the coding realm, Node.js opens up a world of possibilities for creating robust and responsive software. Embrace the power of Node.js, and let your creativity flourish in the realm of web development!
Elevating Travel Standards with Pearson International Airport Limo Service Excellence
Tags: limo, service
Published: 2023-12-25 13:07:47

Experience the Ultimate Convenience with **[Pearson Limo Team](https://pearsonlimoteam.com/)**, Your Premier [Pearson International Airport Limo Service](https://pearsonlimoteam.com/airport-pickup-drop-off/). Our meticulous attention to detail ensures a seamless journey from start to finish. With Pearson Airport Limo Service as our specialty, our fleet of luxurious vehicles and seasoned chauffeurs guarantee a punctual and comfortable ride. Count on us for reliability and sophistication, making your travel from or to Pearson International Airport a stress-free affair. Trust Pearson Limo Team for an exceptional and tailored experience, setting the standard for excellence in airport limo services.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7o3fqchdpa5mlk0ozlu4.jpg)
AI 2.0: The Evolution of the Open Source Movement
Tags: ai, opensource, security, machinelearning
Published: 2023-12-25 13:06:05

Introduction
The year 2023, dubbed "Year 1 of Artificial Intelligence", is emerging as a period of rebirth for the
open source movement. Paradoxically, this year has dispelled the ambiguities surrounding open
source code for the benefit of commercial companies that take this approach to serve their
customers.
Open Source, sometimes perceived as both "elitist" and "communist", is actually omnipresent in our
daily lives. From Firefox to Wikipedia, from Android to macOS XI and its derivatives on Apple
devices, not forgetting GNU/Linux distributions such as Debian, Gentoo and Slackware, each of us
uses in one way or another free software.
The Foundation for Current and Future Computing
Free software is the fundamental foundation of contemporary and future computing. Withstanding
the onslaught of IBM and Microsoft in the 1990s, as well as their successors in the 2000s and
2020s, it owes its resilience to the Internet and the passion of developers, requiring mainly
intellectual investment. Just give it GCC (GNU Compiler Collection) and a text editor, and it will
build you an operating system with all the necessary applications. Programming languages such as
C and C++ have spawned a plethora of languages like Python, JavaScript, and PHP.
Artificial Intelligence: Fruit of Universities, Silicon Valley and Open Source
Artificial Intelligence, like Athena springing from the mind of Zeus, owes its existence to the union
of universities, Silicon Valley companies and the open source movement. A company that openly
shares its sources with its customers and evolves together with them will not only be able to
integrate AI internally, but also design products with increased efficiency. Cynically, this would also
lead to substantial savings in research and development.
The Open Source Developer Advantage: Autonomy and AI-Assisted Collaboration
The open source developer enjoys a considerable advantage: autonomy. True, he follows the
guidelines of the system architect and contributes to the repository, but he does his work diligently,
alone or with the assistance of AI. This approach allows projects to evolve quickly and adapt
smoothly to new technologies and changing needs.
Conclusion
In sum, 2023 is emerging as a period of convergence between Artificial Intelligence and the open
source movement, where technological innovation and commercial efficiency merge harmoniously.
The growing adoption of open source by enterprises, coupled with collaboration with autonomous
developers, heralds an exciting era where the foundations of today's computing marry with the
promise of AI.
My Hoodie store
Tags: hoodie, tshirts, design
Published: 2023-12-25 12:43:49

[At my Hoodie store](https://cnntee.com/), we are passionate about providing our customers with not just hoodies, but experiences. Our commitment to quality, style, and customer satisfaction sets us apart. Explore our collection today and elevate your wardrobe with hoodies that blend comfort and style seamlessly.
Call to Action:
[Visit My Website store ](https://cnntee.com/)now to browse our extensive collection and find the hoodie that resonates with your style.
Long Sleeve T-Shirts That Redefine Fashion
Tags: tshirts, design, style
Published: 2023-12-25 12:41:30

Introduction:
In the dynamic world of fashion, where trends come and go, long [sleeve T-shirts](https://cnntee.com/) have managed to stand the test of time, seamlessly merging style and comfort. These versatile wardrobe staples not only provide a canvas for self-expression but also offer a cozy embrace for any occasion. Let's delve into the unique attributes that make long sleeve T-shirts a must-have in every fashion-forward individual's collection.
Fabric Matters: The Comfort Quotient
Long sleeve T-shirts are synonymous with comfort, and the choice of fabric plays a pivotal role in enhancing this quality. Explore the myriad options, from breathable cotton to the luxurious feel of modal or the moisture-wicking properties of performance blends. Understanding the fabric's impact on comfort allows shoppers to make informed decisions tailored to their preferences.
Style Evolution: From Basics to Statements
Long gone are the days when T-shirts were considered mere basics. Today, long sleeve T-shirts are a canvas for self-expression, with various styles catering to diverse tastes. Dive into the world of raglan sleeves, thumbhole details, and asymmetrical designs that elevate these everyday garments into fashion statements. Uncover the latest trends that seamlessly blend style with the timeless appeal of long sleeves.
Seasonal Transitions: Long Sleeves All Year Round
Contrary to common perception, long sleeve T-shirts are not exclusive to colder seasons. Explore how these versatile garments effortlessly transition from summer to winter, offering a perfect middle ground for unpredictable weather. Discover styling tips that showcase the adaptability of long sleeve T-shirts, making them a wardrobe staple throughout the year.
Graphic Magic: Artistry on Sleeves
Graphic long sleeve T-shirts add an artistic flair to casual wear. Whether it's vintage-inspired prints, bold typography, or intricate illustrations, delve into the world of graphic design on sleeves. Uncover the stories behind popular graphic trends and how they contribute to the overall style and uniqueness of each long sleeve tee.
        [Visit my T shirt website](https://cnntee.com/) in order to buy unique long sleeve T shirts.
Long Sleeve T-Shirts
Tags: tshirts, design, style
Published: 2023-12-25 12:38:06

In the ever-evolving world of fashion, standing out is not just a desire; it's a necessity. If you're someone who craves individuality and seeks to make a statement with your clothing, look no further than [T shirts store](https://cnntee.com/), where every long sleeve T-shirt tells a story through its unique design.
Quality Meets Creativity:
We believe that great design should not compromise on quality. Our [long sleeve T-shirts](https://cnntee.com/) are made from premium materials, ensuring comfort and durability. Whether you're dressing up for a casual day out or a cozy night in, our designs are versatile enough to complement any occasion.
Limited Edition Collections:
To maintain exclusivity, my website T shirt store  releases limited edition collections regularly. This means that when you choose a long sleeve T-shirt from our collection, you're not just getting a piece of clothing; you're investing in a rare and unique design that won't be mass-produced.
Join the Movement:
Become a part of the T shirt movement and embrace the beauty of individuality. Our long sleeve T-shirts are more than just garments; they are statements of creativity, passion, and authenticity.
How to Get Your Hands on These Designs:
Visit our website to explore our latest collections and find the long sleeve T-shirt that resonates with your style.