自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (2)
  • 收藏
  • 关注

原创 你真的会给你的 ubuntu 换源吗?国内源,卸载libc,重装系统?试过后都不好使?淌过坑了的了来这里看看!

源也换了,update操作做了,还有啥,再搜索下,"g++ ( >= 4:4.4.3) but ...", 得到的无非还是告诉怎么换源,人再给你贴个源,上次阿里源再前面,你拷贝,以前也可以,这把不行了,这次支持下清华源。再去看下sources.list文件,虽然都是些url,虽然各家国内源域名不一样,这时,往后面看一看,那个代号也不一样哦!不清楚具体代号,再去那个域名下看下,和自己的版本对应起来,切莫囫囵吞枣,拷贝即用!甚者,按照错误提示,继续安装缺少的依赖,提示缺少其他依赖,提示其他冲突。

2023-07-06 10:06:29 144

原创 login script by expect in linux

自动登录脚本需要增加可执行权限。

2023-03-06 14:32:41 74

转载 Qt in VSCode

Qt 5.15.0CMake 3.17.5Visual Studio 2019 16.7.5(使用C++的桌面开发)Visual Studio Code 1.49.3专栏收录该内容

2023-03-03 17:56:06 159 1

原创 慢查询排查与解决思考

通常业务复杂、数据过多、索引未加等情况可能引起慢查询,这次排查是数据字段过大导致的,问题影响较大,数据库一度出现问题。

2023-03-03 16:54:34 197

原创 lua+nginx+mysql实现动态路由

日常开发中,很多后端请求需要动态根据请求完成准确的路由选择,方法自然多种多样,本文介绍lua+nginx+mysql实现动态路由的实现方式。

2023-02-28 09:52:05 513

原创 MySQL按天统计

工作中通常有老板提查看数据的需求,按天统计一段时间,7天,一个月啥的。

2023-02-14 16:20:55 314

原创 K8S 使用小结

一般情况下,开发环境中使用的K8S都是多个项目共同使用的,在namespace层面就可以进行隔离各个项目间对环境和资源的依赖了,而生产环境则相对纯粹,各个项目所运行的环境的欧式相对独立的,资源独占的。这时,对于新接入的项目,在开发环境不存在初期试错的代价,那么生产环境部署多少会有风险的。资源通常K8S使用的3个物理机就可以搞起来了,当然一个也行,生产环境规划对于ingress独占2台,这个作为服务入口太重要了,多给点资源不为过,master使用3台...

2022-01-04 15:01:17 1013

原创 minio 初体验

minio是一个基于s3协议的简单对象存储软件,由亚马逊开源给大家。体验下来遇到的问题:1. 使用Linux挂载minio的bucket时,wsl1安装s3fs有问题,至少使用wsl2或者完全的虚拟机、或者其他带有内核的机器,否者会因为找不到内核,报modprobe fuse first。bash-5.1# s3fs -o passwd_file=/data/test/passwd -o use_path_request_style -o no_check_certificate -o endp

2021-11-18 09:43:38 1158

原创 设计模式系列(二)设计模式原则——开闭原则(Open Close Principle)

简介 最基础,最重要的原则,其他原则主要作用用于实现开闭原则 一个软件实体如类,模块和函数应该对扩展开放(提供方),对修改关闭(使用者),用抽象构建框架,用实现扩展细节; 当软件需要变化的时候,尽量用扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现。 举例public class Ocp { public static void main(String[] args) { GraphicEditor editor = new Graph

2021-11-05 18:28:05 171

原创 设计模式系列(二)设计模式原则——迪米特法则(Demeter Principle)

简介 一个对象应该对其他对象保持最少的了解 类与类关系越密切,耦合度越大 迪米特法则又叫最少知道原则,即一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类不管多么复杂,都尽量将逻辑封装在类的内部。对外除了提供的public方法,不对外泄露任何信息 迪米特法则还有个更简单的定义:只与直接的朋友通信——每个对象都会与其他对象由耦合关系,只要两个对象之间有耦合关系,我们就说这两个对象之间是朋友关系。耦合的方式很多,依赖,关联,组合,聚合等。其中,我们称出现成员变量,方

2021-11-05 18:23:28 123

原创 设计模式系列(二)设计模式原则——里氏替换原则(Liskov Substitution Principle)

里氏替换原则用于规范类的继承,防止类父类的修改过多影响到子类而提出的一种设计原则。 里氏替换原则在1988年,由麻省理工学院的Liskov女士提出的。 如果对每个类型为T1的对象o1,都有类型为T2的对象o2,使得以T1定义的所有程序 P在所有的对象o1都代换成o2时,程序P的行为没有发生变化,那么类型T2是类型T1 的子类型。所有引用基类的地方必须能透明地使用其子类的对象。 在使用继承时,遵循里氏替换原则,在子类中尽量不要重写父类的方法 里氏替换原则告诉我们,继承实际上

2021-11-05 18:14:35 115

原创 设计模式系列(二)设计模式原则——依赖倒转原则 (dependency inversion principle)

描述 高层模块不应该依赖低层模块,二者都应该依赖其抽象 抽象不应该依赖细节,细节应该依赖抽象 依赖倒转(倒置)的中心思想是面向接口编程 依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建的架构比以细节为基础的架构要稳定的多。在Java中, 抽象指的是接口或抽象类,细节就是具体的实现类 使用接口或抽象类的目的是制定好规范,而不涉及任何具体的操作,把展现细节的任务交给他们的实现类去完成 示例:使用Person类完成消息接

2021-11-05 18:04:31 107

原创 设计模式系列(二)设计模式原则——接口隔离原则

基本介绍 客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上 类B和D实现接口Interface1,实现5个方法,A依赖接口Interface1的operation1、2、3三个方法;C依赖接口Interface1的operation1、4、5三个方法 public class Segregation1 { publilc static void main(String[] args) { }}​interface I...

2021-11-04 16:07:42 93

原创 设计模式系列(二)设计模式原则——单一职责原则

原则描述——单一职责原则 降低类的复杂度,一个类只负责一项职责 提高类的可读性,可维护性 降低变更引起的风险 通常情况下,我们应当遵守单一职责原则,只有逻辑足够简单,才可以在代码级违反单一职责原则;只有类中方法数量足够少,可以在方法级别保持单一职责原则 举例: 1. 不遵守单一职责原则,造成单个类适配不同交通工具造成“飞机在公路上跑” 2. 单一职责原则,类内拆分——花销较大,客户端需要较大修改public class S...

2021-11-04 15:13:48 172

原创 设计模式系列(一)概述

设计模式的重要性1. 软件工程中,设计模式是对软件设计中普遍存在的各种问题所提出的解决方案。由Erich Gamma 于1990年从建筑领域引入计算机科学2. 新需求引入,好的设计容易扩展3. 好的设计有可读性、规范性,容易维护、交接4. 面向对象->功能模块(设计模式+算法(数据结构))->框架(多种设计模式)->架构(服务器集群)设计模式的目的1. 代码重用性,相同功能代码,不用多次编写2. 可读性,编程规范,便于其他程序员阅读和理解3. 可扩展性,当需要扩展新功

2021-11-04 15:03:39 98

原创 数据结构和算法

数据结构和算法是计算机发展中纯编程模块重要的总结成果,常见算法和数据结构针对现有的计算机架构、常用业务场景、常见需求进行设计与归纳得出,单纯学习算法的过程比较困难,学习过程也较费劲,需要极大的意志力和兴趣支持。个人和这块知识的过往 CS专业出身,大概本科三年级学习该内容,虽然也有实践,敲过各类算法,数据结构,却只是停留在大概印象层面。 校招找工作阶段,好好“刷了一波题”,经过自发努力,当时也多少可以AC部分题目。 终于,工作一段时间,...

2021-10-20 14:10:51 49

原创 java实现小顶堆相关堆操作

小顶堆:任一节点小于左右孩子节点值(大顶堆则是打于,本文以小顶堆为例)堆在概念上是完全二叉树,由于完全二叉树父子节点顺序间的特殊代数关系:// 对于节点 n, 其左孩子 l,右孩子 r,父节点p,分别代表宽度遍历顺序:0,1,2,3....x,则有:l = 2 * n + 1;r = 2 * n + 2;p = (n - 1) / 2; // 保留整数部分因此,堆可以用线性表表示,而不用使用真正的复杂树的链表结构。实现及说明拿一个类装一下下面的方法就可以run,在java里,可以

2021-09-02 10:47:26 723

原创 spark on k8s with kerberized HDFS

使用k8s管理spark集群1、构建镜像使用spark安装目录下的Dockerfile文件进行镜像构建,作为executor容器的镜像使用,如果使用pyspark,在镜像中需要安装python,其版本需要和driver中使用的python的版本保持一致。2、通过k8s管理spark集群通过pyspark启动spark计算容器的配置中,需要创建一个具有操作pod权限的serviceaccount:kubectlcreateserviceaccountspark --namespac...

2021-07-27 09:56:12 379 2

原创 nginx

#工作线程数量,数值大小和CPU核心数量相同为宜worker_processes 1 ;#单线程最大连接数量worker_connections 1024;#二者乘积为最大处理量,只过大时导致nginx占用内存会过高,当nginx放在容器中使用的时候,内存异常占用过大时候,可以考虑修改以上二值大小...

2021-04-02 17:00:03 76

原创 SQL和JPA的一个互斥写法

MYSQL:select count(*), l.xxx, l.yy, l.zzfrom ll l, tt twhere t.lid = l.id group by t.lid ;JPA:@Query(value = "select l.id, count(t), l.xx, l.yy, l.zz "from ll l, tt t \n" + "where t.lid = l.id \n" + "group by

2021-03-04 10:53:22 132 1

原创 nginx使用中容易遇到问题

1、nginx代理http请求报404或者502 这个类错误比较简单,直接看看配置规则的上游服务器的情况就可以了;其中404的时候,如果有时出现动态的uri拼接静态资源的情况,这个可以直接reload解决;502的话从提供服务的源服务器开始定位比较好,如果源服务器还没有开始部署,可以直接写一个helloword,openresty中可以使用:location / { def...

2019-11-01 16:27:52 446

原创 使用nginx配置访问k8s服务

k8s访问通过服务名称,不能使用ip直接访问暴露的服务,可以使用proxy_set_header Host 后面加上具体的服务名称即可实现ip访问。

2019-10-30 12:50:42 2780

原创 mosquitto基本使用

一、Mosquitto 介绍  一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机、嵌入式计算机、微型控制器等移动设备。一个典型的应用案例就是 Andy Stanford-ClarkMosquitto(MQTT协议创始人之一)在家中实现的远程监控和自动化。并...

2019-06-14 15:04:22 7536

原创 OpenGL扫描线(橡皮筋之后的工作)

橡皮筋工作花了不少时间了,因为对OpenGL的窗体机制很不熟悉,还有很多东西都是陌生的,OpenGL里的鼠标事件处理,之后还要研究扫描先算法。1.显示与点击是不一样的,点击后就要全部重新显示2.标识变量不要放到绘制过程中3.扫描线使用变换思想4.文件存储绘制的点

2016-04-28 17:07:31 522

原创 openGL下的”橡皮筋“技术(多边形绘制)

要实现使用OpenGL的划线方法实现多变形的绘制,就要用到几个OpenGL的基本操作,使用glut库中的方法会更加简单。几个变量:#define NUM 200 //折线的最大折线段 int Flag = 0; //标记是否已经开始绘制折线 int RFlag = 0; //标记是否已经完成一个矩形 int Function = 1; //标记选择的功能是画...

2016-04-19 21:39:37 4446 3

联想热键管理,用于切换fn键和左下角的ctrl键

ThinkPad L480亲测可用,2020年左右的ThinkPad应该够可以

2021-12-08

OpenGL橡皮筋多边形填充效果

橡皮筋工作花了不少时间了,因为对OpenGL的窗体机制很不熟悉,还有很多东西都是陌生的,OpenGL里的鼠标事件处理,之后还要研究扫描先算法。 1.显示与点击是不一样的,点击后就要全部重新显示 2.标识变量不要放到绘制过程中 3.扫描线使用变换思想 4.文件存储绘制的点

2016-05-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除