查看全文

Golang JSON 序列化时动态忽略字段

在使用 JSON 时经常遇到需要忽略字段的情况,例如返回用户信息时不能返回密码,通常将注解 TAG 设为 json:"-" 即可:

1type User struct {
2	Account  string `json:"account"`
3	Password string `json:"-"`
4	Nickname string `json:"nickname"`
5}
查看全文

Kafka 部分常用配置

Kafka 有两种使用方式:基于 zookeeper 和基于 kraft.

  • 基于 zookeeper

启动:

1./bin/zookeeper-server-start.sh ./config/zookeeper.properties
2./bin/kafka-server-start.sh ./config/server.properties
查看全文
查看全文

OpenGL 选择使用独立显卡

OpenGL 没有手动选择显卡的 API,在同时具备核心显卡和独立显卡的设备上常常会在核显上运行。

Windows 上可以添加如下代码选择使用独显:

1#ifdef __cplusplus
2extern "C" {
3#endif
查看全文

MUI 集成 nextjs

安装依赖包

首先确认安装了 next 和 MUI:

1npm install next react react-dom @mui/material @emotion/react @emotion/styled
查看全文

Windows 注册表中添加自己的程序

打开方式

Lolipop Media Player 为例。

本文全部使用 HKEY_CURRENT_USER,表示当前用户的配置。 可以替换为 HKEY_LOCAL_MACHINE,表示所有用户的配置。

查看全文

nginx 常用命令与基础配置

常用命令

  1. 启动: nginx
  2. 使用指定配置文件启动: nginx -c /path/to/file
  3. 正常停止: nginx -s quit
  4. 快速停止: nginx -s stop
  5. 重新加载配置: nginx -s reloadsystemctl reload nginx
  6. 重启: systemctl restart nginx
查看全文

在 eu.org 注册免费域名

eu.org 是一个可以免费注册三级域名的公益组织。

首页

注册账号

进入注册页面

查看全文

FreeRTOS 协同程序

协同程序是一种特殊的多任务编程方式,多个协同程序之间共用调用栈,且正在运行的协同程序不会被其他协程抢占(可以被任务和中断抢占),正在运行的协同程序只能自己主动让出CPU的使用权。要使用协同程序,需要将FreeRTOSConfig.h中的configUSE_CO_ROUTINES设为1

FreeRTOS的协同程序采用switch-case实现,函数定义方式如下:

1void CoRoutineTask(CoRoutineHandle_t handle,UBaseType_t uxIndex)
2{
3    //协同程序中变量如果要保证值在下一次运行时仍有效,则必须为static
4    static const TickType_t delay = 1000 / portTICK_PERIOD_MS;
5 
查看全文