工作第一个十年如何结束

linux环境编程(1): 实现一个单元测试框架

写在前面 在开发的过程中,大多数人都需要对代码进行测试。目前对于c/c++项目,可以采用google的gtest框架,除此之外在github上搜索之后可以发现很多其他类似功能的项目。但把别人的轮子直接拿来用,终究比不过自己造一个同样功能的轮子更有成就感。作为“linux环境编程”系列文章的第一篇,本 ......
框架 单元 环境 linux

初始化一个GCP项目并用gcloud访问操作

1 简介 谷歌云GCP(Google Cloud Platform)是由Google提供的云平台,还是为用户提供了许多免费的产品,还是可以尝试一下的。对于学习或者小项目,都可以使用。 2 创建一个新项目 要使用GCP,我们需要创建一个项目,它所有的资源都是在项目之下管理的: 3 创建Service ......
项目 gcloud GCP

【Redis技术探索】「数据迁移实战」手把手教你如何实现在线+离线模式进行迁移Redis数据实战指南(在线同步数据)

从实战出发使用RedisShake进行Redis数据在线+离线模式迁移指南 RedisShake基本介绍 RedisShake是基于redis-port基础上进行改进的是一款开源的Redis迁移工具,支持Cluster集群的在线迁移与离线迁移(备份文件导入)。数据可平滑迁移,当部署在其他云厂商Red ......
数据 实战 Redis 模式 指南

第 1 天|基于 AI 进行游戏开发:5 天创建一个农场游戏!

欢迎使用 AI 进行游戏开发! 在本系列中,我们将使用各种 AI 工具,在 5 天内创建一个功能完备的农场游戏。到本系列结束时,你将了解到如何将多种 AI 工具整合到游戏开发流程中。本系列文章将向你展示如何将 AI 工具用于: 美术风格 游戏设计 3D 素材 2D 素材 剧情 想要观看视频快速了解? ......
农场 AI

《痞子衡嵌入式半月刊》 第 70 期

痞子衡嵌入式半月刊: 第 70 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回顾 ......
半月刊 痞子 嵌入式 70

Jest如何有序地执行测试

项目场景: node环境下编写js库,处于规范性考虑,需要做单元测试,我选择了Jest 问题描述 我的js库需要访问数据库,因此操作都是异步的,而且各个测试单元有严格的先后执行顺序(比如,建表 > 插 > 改 > 删),而Jest的每个单元是独立的,并且默认下并行执行测试。 为此,我查询了解决方案, ......
Jest

如何实现在react现有项目中嵌入Blazor?

如何实现在react现有项目中嵌入Blazor? 目前官方只提供了angular和react俩种示例所以本教程只讲react教程 思路讲解: 首先在现有react项目中我们可能某些组件是在Blazor中完成,但是我们没办法找到怎么在react中轻量级使用blazor组件,可能会有人会使用iframe ......
项目 Blazor react

Blazor如何实现类似于微信的Tab切换?

是否有小伙伴在使用tab的时候想进行滑动切换Tab? 并且有滑动左出左进,右出右进的效果 ,本文将讲解怎么在Blazor中去通过滑动切换Tab 本文中的UI组件使用的是MASA Blazor,您也可以是其他的UI框架,这个并不影响实际的运行效果,本文案例是兼容PC和Android的,演示效果是and ......
Blazor Tab

如何在现有的Vue项目中嵌入 Blazor项目?

目前官方只提供了angular和react俩种示例,所以本教程将来讲解如何在Vue的现有项目中使用,上期已经做好了react的教材! 准备流程 Vue 项目创建流程 使用Vue创建一个Demo项目 全部选择默认No即可 然后项目名称就用demo了 npm init vue@latest cd dem ......
项目 Blazor Vue

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(4)-Charles如何设置捕获会话

1.简介 前边几篇宏哥介绍了Charles界面内容以及作用。今天宏哥就讲解和分享如何设置Charles后,我们就可以愉快地捕获会话,进行抓包了。因为上一篇许多小伙伴看到宏哥的Charles可以分开看到request和response,而自己的却看不到,因此有点蒙,有点疑惑。同样的版本显示的界面却是不 ......
Charles 教程 神器 保姆

如何优雅地升级一个Creator 2.x 项目到 3.6.2 ?

最近,我将之前用 Cocos Creator 2.x 写的一个微信小游戏《球球要回家》移植到了 Cocos Creator 3.6.2 上。 编程语言也从 JavaScript 迁移到了 TypeScript,并成功上线微信小游戏。 不过在升级过程中,也踩到不少坑。 一是如何将 JS 代码高效地翻译 ......
Creator 项目

SpringMVC学习笔记 - 第一章 - 工作流程、Bean加载控制、请求与响应(参数接收与内容返回)、RESTful

【前置内容】Spring 学习笔记全系列传送门: Spring学习笔记 - 第一章 - IoC(控制反转)、IoC容器、Bean的实例化与生命周期、DI(依赖注入) Spring学习笔记 - 第二章 - 注解开发、配置管理第三方Bean、注解管理第三方Bean、Spring 整合 MyBatis 和 ......
工作流程 SpringMVC 流程 参数 RESTful

沪漂,致敬每一个努力生活的你

前言 近段时间追完赵丽颖的农村剧《幸福到万家》,颇有感触,遂重新执笔唠嗑一会,这篇博客对沪漂的两年工作职业成长进行复盘和总结。 时间飞逝,已经毕业三四年了,2018年8月坐着绿皮硬座来到上海实习参加工作,在校面试上了那边的企业,实习薪资也算是校内较高我也满意的,正式开始了沪漂生活,浑浑噩噩的实习工作 ......

一个小而美的 C 语言项目

我最近在学习 C 语言,看的一本书叫做 《C Primer Plus》,这本书对 C 语言的描写、特性介绍、代码示例都介绍的比较详细,是小白入门 C 语言非常不错的一本书,还有一本经典书叫做《C 程序设计语言》,这本书可以作为 《C Primer Plus》下一步要解锁的成就。 那么只是看书学习是不 ......
语言 项目

ffmpeg第8篇:使用ffprobe采集文件信息

1、 前言 ffprobe是ffmpeg的其中一个模块,主要用于查看文件信息,咱们知道一个MP4文件其实不仅仅包含了音视频数据,还有如元数据等其它信息,但是实际上咱们关心的往往是音视频数据部分,今天来看下如何使用ffprobe来获取音视频信息。 先看看ffprobe的帮助信息 ffprobe -v ......
ffprobe 文件 ffmpeg 信息

Cocos Creator 打包原生 Android 包该如何选择 NDK 版本?

大家好,我是晓衡! 记得前段时间,在一些群里看到有小伙伴说 Cocos Creator 打包 Android 原生 APK 有问题:一种是构建失败,一种是运行起来报错。 晓衡也是有好长一段时间,没有碰过 Android 原生打包,我用的这台新电脑上环境都没有配置。 正好这两天,我将一个 2.0.10 ......
Android Creator 版本 Cocos NDK

如何在Github上创建一个新仓库

Hi,欢迎大家在有空的时候做客【江涛学编程】,这里是2023年的第6篇原创文章,新年新气象,在这里我祝读者朋友们都好好的, 老规矩,拍拍手👏,上菜。 今天没有啥东西要跟家人们分享,就两个字,看图!!! 以上就是今天的全部内容,感谢阅读,靠,字数不够还不能声明原创,难不倒我!!! 富强民主文明和谐自 ......
Github

从0开始学杂项 第二期:隐写分析(1) 直接附加

Misc 学习(二) - 隐写分析:直接附加 在上一期,我主要谈了谈对于杂项的一些浅薄理解,这一期我们正式开始对于CTF杂项的学习,我们首先学习的是杂项中最常考察的一项——隐写分析。 这篇文章的大部分来自于我为了科学之光冬令营20号下午的讲课所准备的大纲。 一. 什么是隐写分析 有些时候,我们想把一 ......
杂项

《一个程序猿的生命周期》-《发展篇》- 43.从技术向市场转型的感悟。注:对2022年的总结。

转型就是改变,可能向好的方向转、可能向坏的方向转。现在的社会发展节奏快,三年不做调整、不做改变,极有可能面临淘汰的危机。总之,在改变中寻找机会比在等待中迎接危机要好的多。 ......
周期 生命 程序 市场 技术

如何在mac电脑上配置命令行工具

Hi,欢迎大家在有空的时候做客【江涛学编程】,这里是2023年的第7篇原创文章,今天我们来聊一聊如何在mac电脑上配置命令行工具 老规矩,拍拍手👏,上菜。 同学,打开你的mac电脑,按住键盘上的“command(右上角有朵花的那个)+ 空格键”打开Spotlight Search,然后再框里面输入 ......
命令 工具 电脑 mac

如何在 Nuxt 3 中使用 wavesurfer.js

安装 wavesurfer.js 在项目中安装 wavesurfer.js npm install --save wavesurfer.js 常规方式引入 如果你的根目录中没有 components 目录则需要创建该目录,并在此目录中创建 WaveSurfer.vue 内容如下: <template ......
wavesurfer Nuxt js

工作流引擎架构设计

原文链接: 工作流引擎架构设计 最近开发的安全管理平台新增了很多工单申请流程需求,比如加白申请,开通申请等等。最开始的两个需求,为了方便,也没多想,就直接开发了对应的业务代码。 但随着同类需求不断增多,感觉再这样写可要累死人,于是开始了工作流引擎的开发之路。查找了一些资料之后,开发了现阶段的工作流引 ......
工作流 架构 引擎

一文了解 Dubbo 3 配置工作原理

以下是一个 Dubbo 属性配置的例子 dubbo-spring-boot-samples ## application.properties # Spring boot application spring.application.name=dubbo-externalized-configura ......
原理 Dubbo

工作这么多年,我总结的数据传输对象 (DTO) 的最佳实践

前言 数据传输对象 (DTO) 是一种设计模式,常用于软件开发不同层或者不同系统之间传输数据。DTO 的主要目的是封装数据并防止它被其他层或系统直接访问或修改。通过遵循一组最佳实践,开发人员可以确保他们的 DTO 有效且高效。 欢迎关注个人公众号【JAVA旭阳】交流学习 DTO 的重要性 DTO 是 ......
数据传输 多年 对象 数据 DTO

SOFAJRaft源码阅读(叁)-ShutdownHook如何优雅的停机

Java程序经常会遇到进程挂掉的情况,一些状态没有正确的保存下来,这时候就需要在JVM关掉的时候执行一些清理现场的代码。JAVA中的ShutdownHook提供了比较好的方案。而在SOFAJRaft-example模块的CounterServer-main方法中就使用了shutdownHook实现优 ......
ShutdownHook SOFAJRaft 源码

【大型软件开发】浅谈大型Qt软件开发(二)面向未来开发——来自未来的技术:COM组件。我如何做到让我们的教学模块像插件一样即插即用,以及为什么这么做。

前言 最近我们项目部的核心产品正在进行重构,然后又是年底了,除了开发工作之外项目并不紧急,加上加班时间混不够了....所以就忙里偷闲把整个项目的开发思路聊一下,以供参考。 鉴于接下来的一年我要进行这个主框架的开发,本着精益求精的态度,加上之前维护前辈的产品代码确实给我这个刚毕业的社畜带来了不小的震撼 ......
软件开发 软件 组件 插件 模块

虚拟化技术浅析第二弹之初识Kubernetes

作者:京东物流 杨建民 一、微服务架构起源 单体架构:可以理解为主要业务逻辑模块(我们编写的代码模块,不包括独立的中间件)运行在一个进程中的应用,最典型的是运行在一个Tomcat容器中,位于一个进程里。单体架构好处是技术门槛低、编程工作量少、开发简单快捷、调试方便、环境容易搭建、容易发布部署及升级, ......
Kubernetes 技术

看我是如何用C#编写一个小于8KB的贪吃蛇游戏的

译者注:这是Michal Strehovský大佬的一篇文章,他目前在微软.NET Runtime团队工作,主要是负责.NET NativeAOT功能的开发。我在前几天看到这篇文章,非常喜欢,虽然它的内容稍微有点过时(还是使用的.NET Core 3.0),不过其中的一些编程技巧和思维方式很受用,特 ......
8KB KB

《HelloGitHub》第 81 期

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 https://github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程 ......
HelloGitHub 81

记一个难以发现的 UB

观察以下代码: vector<int> X, Y, A, val; inline int ls(int p) { return p << 1; } inline int rs(int p) { return p << 1 | 1; } int solve(int i, int l, int r) { ......
UB