SEARCH KEYWORD -- Exception
String.length() vs String.getBytes().length in Java
In Java, String.length() is to return the number of characters in the string, while String.getBytes().length is to return the number of bytes to represent the string with the specified encoding. By default, the encoding will be the value of system property file.encoding, the encoding name can be set manually as well by calling System.setProperty("file.encoding", "XXX"). For example, UTF-8, Cp1252. In many cases, String.length() will return the same value as String.getBytes().length, but in some ...
Use Java ThreadLocal with caution
According to Oracle documentation, ThreadLocal is a class provides thread-local variables. These variables differ from their normal counterparts in that each thread that accesses one (via its get or set method) has its own, independently initialized copy of the variable. ThreadLocal instances are typically private static fields in classes that wish to associate state with a thread. In short, ThreadLocal variables are variables belong to a thread, not a class or an instance of a class. One common...
JAVA,MEMORY LEAK, THREADLOCAL 2015-11-03 07:31:57
OT Power Grid System Development
Use PLC to Remote Control Circuit Breaker in Power Grid System Figure-00: Project Overview Diagram, version v0.0.2 (2024) Project Design Purpose: The objective of this project is to demonstrate how to utilize Programmable Logic Controllers (PLC) to remotely monitor and control circuit breakers within a power (grid/supply) system. Using a Schneider Electric circuit breaker, sensor, closer and PLC, the project will cover the physical hardware connections and provide a step-by-step guide for desig...
A plugin to update last_error in Delayed Job
delayed_job is a process based asynchronous task processing gem which can be ran at background. It will fork the specified number of processes to execute the tasks asynchronously. The task status is usually stored in the database so that it can be easily integrated into a Rails application where asynchronous job execution is desired. Normally when a job fails to execute or error occurs, it would save the error into the database with the column last_error. Ideally all these will be handled b...
RUBY,RUBY ON RAILS,DELAYED JOB,LAST_ERROR 2017-11-18 13:05:49
What is Hystrix and How does Hystrix work
Background In distributed systems, there is one effect where the unavailability of one service or some services will lead to the service unavailability of the whole system, this is called service avalanche effect. A common way to prevent service avalanche is do manual service fallback, in fact Hystrix also provides another option beside this. Definition of Service Avalanche Effect Service avalanche effect is a kind of effect where the service provider fails to provide service which causes t...
AVALANCHE EFFECT,HYSTRIX,DISTRIBUTED SYSTEM 2019-02-04 06:00:38
How AI is Changing Web Development: A New Era of Digital Innovation
Picture this: AI isn't just about robots and sci-fi movies anymore. It's shaking things up in the tech industry, especially web development. So, what's the deal with AI and web development? Let's break it down. In a nutshell, AI refers to machines performing tasks that typically require human intelligence. When we talk about AI in web development, we're talking about smart algorithms and systems that can make websites smarter, faster, and more user-friendly. Why should you care about this?...
AI,WEB DEVELOPMENT 2024-10-21 07:34:22
Code coverage rate
When doing unit testing, the code coverage rate is often used as the criteria for measuring testing performance, even in some cases code coverage may be used to consider whether the testing task is completed or not. So testers need to spend much time on designing test cases which can cover as many codes as possible. There are advantages and disadvantages about using code coverage rate. First let's check what is code coverage rate: code coverage rate= the degree of code coverage in testing. There...
Unit testing,Code coverage 2013-04-16 12:50:57
9 Ways to Create Thread Pools with Java Executors
In Java, the Executors class provides a variety of static factory methods to create different types of thread pools. When learning about thread pools, the Executors class is indispensable. Mastering its usage, principles, and scenarios will enable you to apply it smoothly in actual project development. Here are some commonly used methods, which I will explain one by one: newCachedThreadPool(): Creates a cached thread pool. If a thread has not been used for 60 seconds, it will be terminated and ...
TUTORIAL,JAVA THREAD 2024-07-19 23:07:09
Simplify Cloud Data Security: A Deep Dive Into Protecting Sensitive Data in Java
Featuring encryption, anonymization, hashing, and access control Network security incidents occur now and then, mostly caused by data leakage. Data security has aroused widespread concern, and the community keeps working hard on approaches to simplify data security, especially in sensitive data protection. Sensitive data includes but is not limited to personally identifiable information (PII) like names, ID numbers, passport numbers, driver’s license numbers, contact information like addre...
JAVA,SECURITY,ENCRYPTION,DECRYPTION,TOKENIZATION 2023-04-28 21:22:10
Python and PLC Communication
This article provides detailed steps on how to use Python to communicate with Schneider M221 and Siemens S7-1200 PLCs via Ethernet. Additionally, we offer a packaged Python PLC client library, enabling you to easily build your own SCADA control programs, such as Human-Machine Interfaces (HMI). The system overview is shown below: To check the project detail please refer to Python Physical PLC Communication Clients # Created: 2024/06/29 # Version: v0.1.3 # Copyright: Copyright (c) 2024 ...
PYTHON,PLC,COMMUNICATION 2024-06-30 02:21:17
RECENT
- How Artificial Intelligence Is Helping Fight Environmental Challenges
- How to Deal with Accusations of Negligence as a Business
- Google's Business Operations in China Amid Antitrust Scrutiny
- Deploying DeepSeek-R1 Locally with a Custom RAG Knowledge Data Base
- Balancing Convenience and Security in the Digital World
- My AI Learning Journey: Exploring the Future of Technology
- Power Grid Simulation System 02 : FDI Power Outage Attack Case Study
- Be Careful When Using Cursor to Help Build Application
- Calculating Token Count for Claude API Using Go: A Step-by-Step Guide
- Understanding Cursor and WindSurf's Code Indexing Logic
- more>>