教学软件 方案 程序 教学

高可用系列文章之二 - 传统分层架构技术方案

前文链接 高可用系列文章之一 - 概述 - 东风微鸣技术博客 (ewhisper.cn) 三 技术方案 3.1 概述 单点是系统高可用最大的风险和敌人,应该尽量在系统设计的过程中避免单点。 保障系统的高可用, 方法论上,高可用保证的原则是「集群化」(或 「冗余」), 只有一个单点,该单点宕机所有服务 ......
架构 传统 方案 文章 技术

监控Kubernetes集群证书过期时间的三种方案

前言 Kubernetes 中大量用到了证书, 比如 ca证书、以及 kubelet、apiserver、proxy、etcd等组件,还有 kubeconfig 文件。 如果证书过期,轻则无法登录 Kubernetes 集群,重则整个集群异常。 为了解决证书过期的问题,一般有以下几种方式: 大幅延长 ......
集群 Kubernetes 证书 时间 方案

高可用系列文章之三 - NGINX 高可用实施方案

前文链接 高可用系列文章之一 - 概述 - 东风微鸣技术博客 (ewhisper.cn) 高可用系列文章之二 - 传统分层架构技术方案 - 东风微鸣技术博客 (ewhisper.cn) 四 NGINX 高可用实施方案 高可用的实施, 主要步骤概述如下: NGINX 的安装及基础配置 负载均衡层高可用 ......
实施方案 方案 文章 NGINX

有状态软件如何在 k8s 上快速扩容甚至自动扩容

概述 在传统的虚机/物理机环境里, 如果我们想要对一个有状态应用扩容, 我们需要做哪些步骤? 申请虚机/物理机 安装依赖 下载安装包 按规范配置主机名, hosts 配置网络: 包括域名, DNS, 虚 ip, 防火墙... 配置监控 今天虚机环境上出现了问题, 是因为 RabbitMQ 资源不足. ......
状态 软件 k8s k8 8s

现代 CSS 高阶技巧,不规则边框解决方案

本文是 CSS Houdini 之 CSS Painting API 系列第四篇。 现代 CSS 之高阶图片渐隐消失术 现代 CSS 高阶技巧,像 Canvas 一样自由绘图构建样式! 现代 CSS 高阶技巧,完美的波浪进度条效果! 在上三篇中,我们详细介绍了 CSS Painting API 是如 ......
高阶 边框 解决方案 技巧 方案

软件设计中最关键的“开闭原则”,究竟指什么呢?

前言 软件设计原则中有一条很关键的原则是开闭原则,就是所谓的对扩展开放,对修改关闭。个人觉得这条原则是非常重要的,直接关系到你的设计是否具备良好的扩展性,但也是相对比较难以理解和掌握的,究竟怎样的代码改动才被定义为“扩展”?怎样的代码改动才被定义为“修改”?怎么才算满足或违反“开闭原则”?别急,本文 ......
原则 关键 软件

手把手教你一套完善且高效的k8s离线部署方案

作者:郝建伟 背景 面对更多项目现场交付,偶而会遇到客户环境不具备公网条件,完全内网部署,这就需要有一套完善且高效的离线部署方案。 系统资源 | 编号 | 主机名称 | IP | 资源类型 | CPU | 内存 | 磁盘 | | -- | | | | | | | | 01 | k8s-master1 ......
方案 k8s k8 8s

Qt开发Active控件:如何使用ActiveQt Server开发大型软件的主框架(2)

Qt开发Active控件:如何使用ActiveQt Server开发大型软件的主框架 注:本文更多地是带着如何去思考答案,而不是纯粹的放一个答案上来,如果你需要直接看到完整的答案,请直接看实例和最后的柳暗花明部分,里面由详细的注释可以解答你的问题。 前情提要: Qt的进程间通信,以服务器的形式,手把 ......
控件 框架 ActiveQt Active Server

Java程序员除了做增删改查还能干嘛?

就以Java后端开发为例,说说不同级别程序员干的事情。 1 初级开发,大概是有3年Java开发经验。 22年底,上海,这批程序员如果学历是本科,薪资一般是8k到2w,当然如果能进好公司或互联网大厂,薪资能更高。初级开发干的活一般是能做各种增删改查业务,遇到简单问题,比如空指针之类的,能通过看日志解决 ......
程序员 程序 Java

浅谈入行Qt桌面端开发程序员-从毕业到上岗(1):当我们说到桌面端开发时,我们在谈论什么?

谈谈我自己 大家好,我是轩先生,是一个刚入行的Qt桌面端开发程序员。我的本科是双非一本的数学专业,22年毕业,只是部分课程与计算机之间有所交叉,其实在我毕业的时候并没有想过会成为一名程序员,也没有想过会成为一名桌面端开发的程序员。我记得大学的时候我最想去做的事是做一名记者,大学呢也在学校校报的通讯社 ......
桌面 程序员 程序

C#不提升自己程序的权限实现操作注册表

当我们编写了自己的C#程序,有程序自定义的文件类型时,通常希望它满足以下需求:双击自定义文件打开自定义程序、自定义文件有着自己的图标 此时,在网上检索可以发现,大多数回答是使用Microsoft.Win32下的CreateSubKey(String)函数,但是很不幸,Win10的注册表项受访问控制列... ......
注册表 权限 程序

浏览器打印方案

前言 在web端打印是比较常见的需求,实际工作中也接触了不少,在这里对工作中用到的做一下总结 1.通过媒体查询隐藏元素 通过style标签内联引入,或者使用媒体查询media="print"外链样式表。然后将无关元素隐藏,只将需要打印的内容展示出来;这时候需要专门写一套打印样式,页面修改,打印样式可 ......
浏览器 方案

微信小程序实战,基于vue2实现瀑布流

瀑布流,又称瀑布流式布局。是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。 ......
瀑布 实战 程序 vue2 vue

万字长文!对比分析了多款存储方案,KeeWiDB最终选择自己来

大数据时代,无人不知Google的“三驾马车”。“三驾马车”指的是Google发布的三篇论文,介绍了Google在大规模数据存储与计算方向的工程实践,奠定了业界大规模分布式存储系统的理论基础,如今市场上流行的几款国产数据库都有参考这三篇论文。 《The Google File System》,200 ......
长文 KeeWiDB 方案

SpringBoot3.x中spring.factories功能被移除的解决方案

背景 笔者所在项目组在搭建一个全新项目的时候选用了SpringBoot3.x,项目中应用了很多SpringBoot2.x时代相关的第三方组件例如baomidou出品的mybatis-plus、dynamic-datasource等。在配置好相关依赖、最小启动类和配置之后,发现项目无法启动。于是根据启 ......

在C#中使用Halcon开发视觉检测程序

简介 本文的初衷是希望帮助那些有其它平台视觉算法开发经验的人能快速转入Halcon平台下,通过文中的示例开发者能快速了解一个Halcon项目开发的基本步骤,让开发者能把精力完全集中到算法的开发上面。 首先,你需要安装Halcon,HALCON 18.11.0.1的安装包会放在文章末尾。安装包分开发和 ......
视觉 程序 Halcon

前端学习 linux —— 软件安装(Ubuntu)

软件安装(Ubuntu) 本篇主要讲解 ubuntu 中软件的安装、apt 的源、内网部署案例(graylog 为例),最后是 python 开发准备。 apt 和 rpm 在linux 第一篇我们知道如果机器是 ubuntu 则可用 apt-get/dpkg 安装软件,如果是centos 则可用 ......
前端 Ubuntu linux 软件

Linux系统各种库/软件版本输出指令

日常开发基于Linux系统(其实更多的是Ubuntu平台),平时总会遇到一些情况需要查看某个库或者软件的版本信息,在这里做一下简单的记录。 1. 查看glibc版本 方法一:使用ldd指令 cv@cv:~$ ldd --version ldd (Ubuntu GLIBC 2.23-0ubuntu11 ......
指令 版本 系统 Linux 软件

2022-2023年度必备宇宙最全Windows系统软件清单

本文为大家介绍史上最强Windows必备神器,每一款都是良心的超好用产品,助你日常办公效率加倍提升。欢迎大家点赞、收藏加分享,谢谢大家。 ......
清单 宇宙 Windows 年度 系统

Python:对程序做性能分析及计时统计

如果只是想简单地对整个程序做计算统计,通常使用UNIX下的time命令就足够了。由于我用的是Mac系统,和Linux系统的输出可能有不同,不过关键都是这三个时间:user: 运行用户态代码所花费的时间,也即CPU实际用于执行该进程的时间,其他进程和进程阻塞的时间不计入此数字;system: 在内核中... ......
性能分析 性能 程序 Python

谁说.NET没有GC调优?只改一行代码就让程序不再占用内存

经常看到有群友调侃“为什么搞Java的总在学习JVM调优?那是因为Java烂!我们.NET就不需要搞这些!”真的是这样吗?今天我就用一个案例来分析一下。 昨天,一位学生问了我一个问题:他建了一个默认的ASP.NET Core Web API的项目,也就是那个WeatherForecast的默认项目模 ......
一行 内存 代码 程序 NET

Go1.20 新版覆盖率方案解读

玩过Go覆盖率的同学当有所了解,Go的覆盖率方案最初的设计目标仅是针对单测场景,导致其局限性很大。而为了适配更多的场景,行业内各种博客、插件、黑科技介绍也层出不穷。当然,过去我们也开源过Go系统测试覆盖率收集利器 - goc,算其中比较完善,比较系统的了。且从用户使用角度来看,goc也确实解决了行业 ......
覆盖率 方案 Go1 Go 20

基于jenkins+kubernetes的cicd流程实践一:环境搭建及方案原理

1.基础环境:Centos7.9,kubernetes:v1.21.5 node-1@112(master):docker,containerd,harbornginx(80),git,etcd node-2@109(master/worker):docker,containerd,ingress_ ......
kubernetes 流程 原理 jenkins 环境

记一次 .NET 某工控软件 内存泄露分析

一:背景 1.讲故事 上个月 .NET调试训练营 里的一位老朋友给我发了一个 8G 的dump文件,说他的程序内存泄露了,一时也没找出来是哪里的问题,让我帮忙看下到底是怎么回事,毕竟有了一些调试功底也没分析出来,说明还是有一点复杂的,现实世界中的dump远比课上说的复杂的多。 还是那句话,找我分析是 ......
内存 软件 NET

Java外包程序员的技术出路

学习的两个目的: 应付面试 应付工作(解决问题) 首先要明白学习的目的,不同阶段,不同技术的学习目的是不一样的。 有些技术,仅仅是应用级别的,有些技术是原理级别的(主要还是应试)。所以不同技术、不同时间学习方式需要改变。 学习方法: mysql、redis等日常使用技术: 直接就要熟练掌握,因为日常 ......
程序员 出路 程序 技术 Java

聊一聊如何截获 C# 程序产生的日志

一:背景 1.讲故事 前段时间分析了一个dump,一顿操作之后,我希望用外力来阻止程序内部对某一个com组件的调用,对,就是想借助外力实现,如果用 windbg 的话,可以说非常轻松,但现实情况比较复杂,客户机没有windbg,也不想加入任何的手工配置,希望全自动化来处理。 真的很无理哈。。。不过这 ......
程序 日志

Zookeeper的服务器的log4j升级为log4j2的升级方案(忽略配置化兼容问题)

目前希望可以升级将Zookeeper中log4j的版本升级到log4j2版本,并且要避开相关的log4j2的安全隐患问题,此时需要考虑的就是针对于如何将无缝衔接log4j2的版本jar包的安装呢?我们接下来观察一下看看问题所在。目前我采用的环境是windows环境,不过也同样对其他操作系统有效,毕竟... ......
升级方案 log4 Zookeeper log 服务器

NLP手札1. 金融信息负面及主体判定方案梳理&代码实现

这个系列会针对NLP比赛,经典问题的解决方案进行梳理并给出代码复现~算是找个理由把代码从TF搬运到torch。Chapter1是CCF BDC2019的赛题:金融信息负面及主体判定,属于实体关联的情感分类任务,相关代码实现以及Top方案梳理详见ClassisSolution/fin_new_enti... ......
手札 主体 代码 方案 金融

软件设计模式白话文系列(十四)策略模式

1、模式描述 定义一个算法的系列,将其各个分装,并且使他们有交互性。策略模式使得算法在用户使用的时候能独立的改变。 在 Java 中,从 JDK1.8 开始支持函数式编程,就是策略模式的一种体现,且无需借助额外的类和接口,代码更加简洁。 2、模式结构 抽象策略类:定义策略算法的规范。 具体策略类:实 ......
模式 白话文 设计模式 白话 策略

matplotlib详细教学

Matplotlib初相识 认识matplotlib Matplotlib是一个Python 2D绘图库,能够以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的图形,用来绘制各种静态,动态,交互式的图表 一个最简单的绘图例子 matplotlib的图像都是画在对应的figure上,可以认为是一个绘 ......
matplotlib 教学