William Basics

Keep learning, never ending.

Setup Linux developing environment for C++ on Windows

Setup Linux developing environment for C++ on Windows Using fonts for developers As developers, we spend tons of hours reading code besides writing code. A beautiful, suitable, and eye-friendly font greatly impacts our efficiency. From that, I recommend the “Nerd fonts” because they are not only targeted to developers but also support ‘iconic’ characters. You can get the fonts from https://www.nerdfonts.com/#home You can choose the font you like, but I prefer the “JetBrainsMono Nerd Font”.

[DICOM] DCMTK - PACS

DCMTK - PACS 概述 本篇将介绍如何利用DCMTK在Windows 10系统中部署一个简单的PACS系统,并利用DCMTK提供的工具来验证PACS提供的四

Using NSIS to make a setup

Using NSIS to make a setup 引言 NSIS是一款制作Windows应用安装包的软件。由于其插件繁多以及不错的可扩展性,所以到今天依旧是一个不错的选择。 准备 文中

Use iperf3 to test localhost latency

为什么要测试本地延迟? 我们常常会使用本地网址来实现同一主机上进程间的通信。通过localhost的进程间通信一方面为我们解耦系统提供了便利。

SQL vs NoSQL

SQL vs NoSQL 前提 本篇以server型数据库(比如,SQL Server,MySQL,MongoDB等)作为讨论的前提,结合当前的技术发展(2022年

[WPF] How to avoid calling initial methods in the view model’s constructor

Introduction When developing a WFP application in the MVVM way, we often need to initialize such as loading data, logging, and other kinds of stuff when the view model is created. The no-brain way is to call the “initialization” method directly in the view model’s constructor while hoping the calling method never fails and finishes instantly. public class AwsomeViewModel { public AwsomeViewModel () { LoadDataFromDatabase(); } } However, To call a method that is likely to fail or costs a long time is a bad practice in any way.

Publish and install the Nuget package with Gitlab Server

Introduction When we do the .NET development, there are four ways to share the code. One is sharing the code directly, which is not a good idea. The second way is adding the projects as references. However, we don’t have the projects to add in many cases. The third way is adding the lib binary. It is working, but the dependency problems are pretty annoying and take lots of effort to figure out.

[PostgreSQL] - Simple and Quick Start a PostgreSQL Server with Docker

Introduction There are already some guides to introduce ways to start a PostgreSQL Server with Docker. But none of them helps me to work it out. That’s why I wrote my version to note the problems I encountered and their solutions. The environment My working computer is Windows 10, and the version of the docker desktop is 4.3.2. The Steps 1. Get the PostgreSQL docker image You can find the docker image at https://hub.

SEMI Standards Summary

Name A.K.A Keyword Description E4 SECS-I [RS-232] The SECS-I standard defines a low level communication protocol for interfacing a host computer to equipment through an RS-232 serial communications interface. E5 SECS-II [Data Exchange] [GEM300] The SECS-II standard provides a definition of messages and related data items exchanged between the host and the equipment. E30 GEM - Generic Model for Communication and Control of Manufacturing Equipment [GEM300] [State Machine] The GEM standard uses a specific subset of SECS-II messages to implement several state machines that define rules to govern the interaction between the equipment and the host computer.

[Math] - FFT By Using Math.NET Numberics

引言 快速傅里叶变换是信号处理的常用工具。当我们想要对时间域里的连续信号进行成分分析时,我们就需要通过傅里叶变换来将时间域的连续信号转化为频率