DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

The Latest Popular Topics

article thumbnail
You’ve Got Mail… and It’s a SPAM!
This article briefs about the impact of spam and how it can be addressed with emerging machine-learning technology based on our journey in this domain.
May 22, 2023
by Ramesh Manickavel DZone Core CORE
· 4,006 Views · 1 Like
article thumbnail
Multi-Stream Joins With SQL
Learn how to combine two or more streams of data together in real-time with a streaming database, run SQL queries and create a materialized view.
May 22, 2023
by Bobur Umurzokov
· 2,278 Views · 2 Likes
article thumbnail
Avoiding Pitfalls With Java Optional: Common Mistakes and How To Fix Them [Video]
Learn how to avoid traps with Java Optional and how to use it efficiently by taking the best of this API to make a readable code.
May 22, 2023
by Otavio Santana DZone Core CORE
· 10,071 Views · 11 Likes
article thumbnail
Transforming Translation: The Power of Context in NLP
Natural Language Processing (NLP) and Machine Translation have emerged as indispensable tools in our increasingly interconnected world.
May 22, 2023
by Yifei Wang DZone Core CORE
· 6,252 Views · 5 Likes
article thumbnail
An Overview of Kubernetes Security Projects at KubeCon Europe 2023
Kubernetes security is more important than ever and should be top-of-mind for most teams. Walk through the latest in k8s security solutions from KubeCon 2023.
May 22, 2023
by John Vester DZone Core CORE
· 48,903 Views · 4 Likes
article thumbnail
Introduction to Machine Learning: Everything You Need to Know
This presentation from Hilary Mason at devs love bacon in April, titled "Everything You Need to know about Machine Learning in 30 Minutes or Less," is an introduction to machine learning for those who have no prior experience with it. Take a look if you're interested in a quick, fun overview to help you get started: Hilary Mason - Machine Learning for Hackers from BACON: things developers love on Vimeo. Then, if you want to get a bit deeper, check out this intro to machine learning in R, or to get a lot deeper, our Machine Learning Refcard.
May 22, 2023
by Alec Noller
· 12,300 Views · 2 Likes
article thumbnail
Google Becomes A Java Developer's Best Friend: Instantiations Developer Tools Relaunched For Free
Back in August when Google acquired Instantiations, the speculation was that Google would possibly provide Instantiations GWT Designer as a free tool for all to use. Today, Google has made my day, because not only is GWT Designer relaunched as a free tool, but so are their three other core products. This is a huge day for Java developers, particularly those focussed on the desktop, as these tools are among the best of breed: as commercial tools they were worth the cost as they boosted productivity, but as free tools they are now an indispensible part of your software development workflow. The importance of this announcement can not be overstated. Firstly, Java developers now have a production quality UI builder for fast prototyping of their desktop application using either Swing, SWT or RCP, as well as GWT and XWT. I've used WindowBuilder in the past, and it's a great way to get started quickly. The code generated is very usable. There has been no convincing free solution available for this range of UI frameworks in the past: today that all changes. High quality static analysis of code is important for Java developers. Before you walk into a code review, it's always worth taking a scan over your code. Typically developers skip this, or else they use a free static analysis tool (e.g. FindBugs). Working CodePro AnalytiX into your development process, or just your nightly build, will help you identify bugs, and possible security issues, with your codebase earlier. Finally, automated UI testing is one of the most difficult areas to get right. While there are free solutions available, the commercial products have always seemed one step better. WindowTesterPro will allow you to automated tests for your Swing, SWT or RCP applications. It includes record and playback functionality to get you started with an automation test suite quickly. Here's a quick overview of the tools, now relaunched as Google products GWT Designer Powerful Eclipse-based development tools that enable Java developers to quickly create Ajax user interfaces using Google Web Toolkit (GWT) CodePro AnalytiX Comprehensive automated software code quality and security analysis tools to improve software quality, reliability, and maintainability WindowBuilder Pro Java graphical user interface designer for Swing, SWT, GWT, RCP, and XWT UI frameworks WindowTester Pro Test GUI interactions within Java client rich applications for the SWT and Swing UI frameworks Google plans to unify the products into the Google Plugin for Eclipse. You can download any of the tools from the GWT download page. Check out Google's announcement to find out more.
May 22, 2023
by James Sugrue
· 33,084 Views · 1 Like
article thumbnail
How JavaScript Timers Work
At a fundamental level it's important to understand how JavaScript timers work. Oftentimes they behave unintuitively because of the single thread which they are in. Let's start by examining the three functions that we have access to with which to construct and manipulate timers. var id = setTimeout(fn, delay); - Initiates a single timer which will call the specified function after the delay. The function returns a unique ID with which the timer can be canceled at a later time. var id = setInterval(fn, delay); - Similar to setTimeout but continually calls the function (with a delay every time) until it is canceled. clearInterval(id); - Accepts a timer ID (returned by either of the aforementioned functions) and stops the timer callback from occurring. In order to understand how the timers work internally there's one important concept that needs to be explored: timer delay is not guaranteed. Since all JavaScript in a browser executes on a single thread, asynchronous events (such as mouse clicks and timers) are only run when there's been an opening in the execution. This is best demonstrated with a diagram, like in the following: There are Plenty of Reasons Why JavaScript Timers Matter You may become frustrated if you just look at JavaScript timers as something that doesn’t serve any real purpose for you. It is easy to get yourself into that mentality, but it is also not entirely productive or accurate to think of them in this way. The truth is that JavaScript timers are extremely effective, and they help control various processes that need to be controlled. You may want to set up timers to go off when someone clicks their mouse or when a certain amount of time has passed. Whatever the case may be, you need those timers to help you take care of what is happening. JavaScript timers have already proven themselves to be incredibly useful for many people, and they can be for you as well. Since JavaScript can only ever execute one piece of code at a time (due to its single-threaded nature) each of these blocks of code is "blocking" the progress of other asynchronous events. This means that when an asynchronous event occurs (like a mouse click, a timer firing, or an XMLHttpRequest completing) it gets queued up to be executed later (how this queueing actually occurs surely varies from browser to browser, so consider this to be a simplification). To start with, within the first block of JavaScript, two timers are initiated: a 10ms setTimeout and a 10ms setInterval. Due to where and when the timer was started it actually fires before we actually complete the first block of code. Note, however, that it does not execute immediately (it is incapable of doing that, because of the threading). Instead, that delayed function is queued in order to be executed at the next available moment. Additionally, within this first JavaScript block, we see a mouse click occur. The JavaScript callbacks associated with this asynchronous event (we never know when a user may perform an action, thus it's considered to be asynchronous) are unable to be executed immediately thus, like the initial timer, it is queued to be executed later. After the initial block of JavaScript finishes executing the browser immediately asks the question: What is waiting to be executed? In this case, both a mouse click handler and a timer callback are waiting. The browser then picks one (the mouse click callback) and executes it immediately. The timer will wait until the next possible time, in order to execute. Note that while the mouse click handler is executing the first interval callback executes. As with the timer, its handler is queued for later execution. However, note that when the interval is fired again (when the timer handler is executing) this time that handler execution is dropped. If you were to queue up all interval callbacks when a large block of code is executing the result would be a bunch of intervals executing with no delay between them, upon completion. Instead, browsers tend to simply wait until no more interval handlers are queued (for the interval in question) before queuing more. We can, in fact, see that this is the case when a third interval callback fires while the interval, itself, is executing. This shows us an important fact: Intervals don't care about what is currently executing, they will queue indiscriminately, even if it means that the time between callbacks will be sacrificed. Finally, after the second interval callback is finished executing, we can see that there's nothing left for the JavaScript engine to execute. This means that the browser now waits for a new asynchronous event to occur. We get this at the 50ms mark when the interval fires again. This time, however, there is nothing blocking its execution, so it fires immediately. Let's take a look at an example to better illustrate the differences between setTimeout and setInterval. setTimeout(function(){ /* Some long block of code... */ setTimeout(arguments.callee, 10); }, 10); setInterval(function(){ /* Some long block of code... */ }, 10); These two pieces of code may appear to be functionally equivalent, at first glance, but they are not. Notably, the setTimeout code will always have at least a 10ms delay after the previous callback execution (it may end up being more, but never less) whereas the setInterval will attempt to execute a callback every 10ms regardless of when the last callback was executed. There's a lot that we've learned here, let's recap: JavaScript engines only have a single thread, forcing asynchronous events to queue waiting for execution. setTimeout and setInterval are fundamentally different in how they execute asynchronous code. If a timer is blocked from immediately executing it will be delayed until the next possible point of execution (which will be longer than the desired delay). Intervals may execute back-to-back with no delay if they take long enough to execute (longer than the specified delay). All of this is incredibly important knowledge to build off of. Knowing how a JavaScript engine works, especially with the large number of asynchronous events that typically occur, makes for a great foundation when building an advanced piece of application code. This is an excerpt from my work-in-progress book: Secrets of the JavaScript Ninja. To be released Fall 2008. Previous excerpt: Partial Function Application in JavaScript
May 22, 2023
by John Resig
· 20,930 Views · 1 Like
article thumbnail
Overfitting, Generalization, and the Bias-Variance Tradeoff
Learn about overfitting and generalization, and how they relate to the bias-variance tradeoff in machine learning. We’ll also cover techniques for finding the optimal balance between bias and variance in deep learning models.
May 21, 2023
by Kevin Vu
· 3,102 Views · 1 Like
article thumbnail
What Is TTS and How Is It Implemented in Apps?
A guide to developing a text-to-speech converter.
May 21, 2023
by Jackson Jiang
· 1,968 Views · 1 Like
article thumbnail
Foursquare Moves to the Future With a Geospatial Knowledge Graph
In this interview, learn more about what kind of data Foursquare deals with, what it does with that data, and how using a knowledge graph is going to help.
May 21, 2023
by George Anadiotis
· 2,404 Views · 1 Like
article thumbnail
Achieving Elastic Throughput in the Cloud With a Distributed File System To Boost AI Training
Learn how cloud-native JuiceFS empowers quantitative hedge funds to enhance AI training and achieve elastic throughput in the cloud.
May 19, 2023
by Rui Su
· 4,029 Views · 1 Like
article thumbnail
Clear Details on Java Collection ‘Clear()’ API
Several of us might be familiar with the clear () API in the Java collections framework. In this post, let’s discuss what is the purpose of this clear() API?
May 19, 2023
by Ram Lakshmanan DZone Core CORE
· 5,522 Views · 2 Likes
article thumbnail
How to LINQ Between Java and SQL With JPAStreamer
Looking for a more streamlined and intuitive way of querying databases, similar to the elegant LINQ constructs in C#? Check out the open-source library JPAStreamer.
May 19, 2023
by Julia Gustafsson
· 10,507 Views · 12 Likes
article thumbnail
Playwright JavaScript Tutorial: A Complete Guide
The combination of Playwright and JavaScript allows you to create automated tests that can be run repeatedly and consistently, saving you time and effort.
May 19, 2023
by Kailash Pathak DZone Core CORE
· 9,353 Views · 2 Likes
article thumbnail
The Role of Open Source in Cloud Security: A Case Study With Terrascan by Tenable
Open-source software and cloud-native infrastructure are inextricably linked and can play a key role in helping to manage security.
May 18, 2023
by Christina DePinto
· 3,882 Views · 2 Likes
article thumbnail
13 Impressive Ways to Improve the Developer’s Experience by Using AI
AI can enhance software development by improving developer experience, increasing productivity, encouraging innovation, and driving growth.
May 18, 2023
by Hardik Thakker
· 4,974 Views · 3 Likes
article thumbnail
Beyond SCADA: Consolidating Your OT With an IIoT Platform
Along with MES, SCADA is today’s most widely used system in manufacturing facilities. So why does an industrial IoT platform still make sense here?
May 18, 2023
by Zornitsa Dimitrova
· 3,251 Views · 1 Like
article thumbnail
From Metaverse to Generative AI: A Journey of Hype, Reality, and Future Prospects
In the tech world, the Metaverse's allure has dimmed, while generative AI, particularly LLMs, is now in the spotlight. Explore why this shift occurred.
May 18, 2023
by Navveen Balani
· 2,217 Views · 2 Likes
article thumbnail
The Native Way To Configure Path Aliases in Frontend Projects
We’ll take a look at the imports field in package.json and how it can be used to configure path aliases for various use cases.
May 18, 2023
by Maksim Zemskov
· 4,133 Views · 4 Likes
  • Previous
  • ...
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • ...
  • Next
  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook
×