自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zollty的专栏

分享知识,分享经验,个人博客:http://blog.zollty.com

  • 博客(281)
  • 资源 (1)
  • 论坛 (3)

原创 再次强调我写博客的目的

各种问题、技术问题,我相信我都能解决,但是真的很累,要百度半天,测试N种方法,只要我弄懂了、做好了,就可以花很短的时间把这个方法告诉别人,别人就可以节约90%的时间。写博文是体力活儿,我的本意只是想分享一些知识,我从互联网上学东西,“有借有还”,也得回报一下大家!

2012-08-25 11:13:50 1643 5

原创 Android图片缓存优化和压缩技术说明

1、为什么要缓存图片?这个机制并非是处理内存占据大小的,而是优化用户体验,节省流量的(去网络获取,这种耗时长且损耗流量)。PS: 由于我们的图片都是直接读取本地文件,所以,缓存图片意义不是很大。但官方既然这样设计了,估计还是有利于性能提升的。2、为什么要压缩图片?Android根据设备屏幕尺寸和dpi的不同,给系统分配的单应用程序内存大小也不同,具体如下表:屏幕尺寸 DPI 应用内存 small/normal/large ldpi/mdpi 16MB ...

2020-09-18 17:50:17 4

原创 自定义vscode插件路径及离线安装VSIX说明

插件安装位置:Windows:%USERPROFILE%\.vscode\extensions其他:~/.vscode/extensions永久设置位置:找到vs code的快捷方式地址,例如我的是:C:\Users\MY-PC\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Visual Studio Code然后右键查看“属性”,修改“目标”,添加--extensions-dir,如下: "D:\C...

2020-09-18 17:48:34 7

原创 Kubernetes私有容器云平台日志收集方案(最新版2019.12)

有很多的方案备选,下面列出了几种:1、sidecar边车模式,在每一个pod部署一个filebeat sidecar容器(共享empty dir卷进行日志采集)2、应用容器pod内直接部署日志采集agent进行采集;3、打印到console,从宿主机的docker log文件去采集(读取本地文件,不推荐)4、打印到console,通过宿主机的docker log driver去采集(二进制直接输出);5、挂载k8s的flex volume,将日志文件写到这个flex volume目...

2020-09-18 17:45:56 8

原创 filebeat使用笔记

filebeat安装命令(for dockerfile rpm) RUN set -eux; \ \ rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch; \ { \ echo '#!/usr/bin/env bash'; \ echo '[elastic-7.x]'; \ echo 'name=El...

2020-09-18 17:43:37 9

原创 Linux和WIN10路由配置:有线和WIFI双网卡分流

环境:电脑同时连接有线网络(公司内网)和无线网络(手机热点连外网)目标:既能访问外网(WIFI),又能访问内网(有线),外网优先关键步骤:1、首先,将 无线网卡的优先级设置为调高,有线网卡的优先级调低打开网络适配器,找到网卡,然后点属性,找到IPv4的设置,然后点“高级”,找到 自动跃点,将其取消,设置 跃点值,值越小,优先级越高,比如一个设置为1,一个设置为10。2、步骤1设置后,内网地址应该访问不了,按下面设置,将内网网段 绑定到 有线网卡上确定自己要访...

2020-09-18 17:42:03 15

原创 互联网企业文化

目录1、 快速迭代,勇于试错2、 不断反思,放空自己3、 拥抱变化4、 危机文化5、 使用工具来优化效率6、 创新文化7、 用户至上8、 赚钱不必作恶9、 分享文化10、 开放协作文化11、 专注、极致12、 扁平化管理13、 平等,尊重员工14、 自由文化15、 娱乐文化16、 员工与企业共同成长17、 互联网公司经典语录一、互联网文化1、快速迭代,勇于试错互联网讲究的是“天下武功,唯快不破”,所...

2020-09-08 14:48:52 100

原创 Citrix Receiver for Linux安装和cert证书添加解决SSL错误

Citrix Receiver for Linux安装根据官方的建议,使用 Citrix Workspace app 代替 Citrix Receiver ,前者完全兼容后者。安装官方教程:(下载linux安装包,比如xxx.deb,直接安装即可)https://docs.citrix.com/zh-cn/receiver/linux/current-release/install/customize.html下载地址:https://www.citrix.com/downloads/...

2020-09-08 11:04:49 63

原创 分布式文件存储MinIO SeaweedFS FastDFS对比总结

首先,看下这几篇文章:总体思路:《分布式文件存储选型考虑点》专题分析:1、SeaweedFS参见我的这篇文章《分布式文件存储SeaweedFS试用对比总结》。2、MinIO参见我的这篇文章《分布式文件存储MinIO试用对比总结》3、FastDFS参见我的这几篇文章《FastDFS的一些缺点(强烈需要注意)》《FastDFS集群部署和使用》4、还有一些我没仔细看过的,简单分析一下比如:Ceph:https:...

2020-09-08 10:22:41 174

原创 为什么要使用统一配置中心

首先给大家举个例子,我的亲身经历,或许大家也深有体会。我曾经做一个项目,这个项目一套代码,卖给了30多个企业客户。也就是说,我们为这30多个企业客户部署的是同一套程序,只是配置不一样而已。所以知道,配置是很重要的:配置是程序的一部分,配置设计得好的话,程序就会非常灵活、易用。把易改变的配置,比如选项、开关、阈值、密码等,从代码中独立出来,从外部去加载。这样做的主要好处有两个,一个是改变配置,不需要重新编译打包应用程序;第二配置可以做到...

2020-09-08 10:15:33 95

原创 关于软件定义数据中心(SDDC)和超融合

先看一下各自的定义:(综合了国外比较权威的解释)1、数据中心的基础资源基础资源,主要包括3大类:计算资源、存储资源、网络资源2、软件定义数据中心(SDDC)软件定义数据中心(SDDC)通常是指虚拟化所有基础结构的数据中心。利用模拟硬件的软件,操作系统和应用程序可以抽象自物理硬件并进行倍增,以形成处理器、内存、I/O 和网络的弹性资源池。软件定义数据中心架构可以分为三个逻辑层:物理层、虚拟化层和管理层。物理层可以由来自不同厂商的商用硬件...

2020-09-08 10:09:44 92

原创 IBM WebSphere MQ基础操作和监控

基础概念:MQ中有几个很重要的组件:队列管理器(QueueManager)、队列(Queue)和通道(Channel)。队列最重要的部分,用来存放、取出消息。通道WebSphere® MQ 使用两种不同类型的通道:1、消息通道,它是两个队列管理器之间的单向通信链路。WebSphere MQ 使用消息通道在队列管理器之间传送消息。 要双向发送消息,您必须定义每个方向的通道。2、MQI 通道,它是双向通道,用于将应用程序(MQI 客户机)连接至服务器上的队列管...

2020-09-08 10:06:14 31

原创 统一Portal门户和IAM平台(单点登录、统一用户资源和权限管理)实践

一、背景和目的解决如下问题: 打通所有系统的账户密码,只需要记住一个就行,而且登录一个系统后,打开其他系统不需要再登录。 不需要记住多个系统的地址,甚至不需要在多个系统页面跳来跳去,通过一个门户网站,串通起常用功能。 需求如下: 具备单点登录功能,并且能为第三方应用提供主流的登录认证。 具备用户的基本信息、角色、资源权限等集中管理和控制。 提供统一的集中办公Portal门户网站,在里面无缝链接其他系统的页面和功能。 关键术语:...

2020-09-08 10:04:01 436 1

原创 分布式文件存储MinIO试用对比总结

介绍就不说了,官方有中文文档:https://docs.min.io/cn说点个人感受。首先,MinIO是兼容Amazon S3的,换句话说,MinIO可以伪装成Amazon S3,你可以用Amazon S3的SDK操作MinIO。MinIO支持多租户,但是却不支持动态扩展。因此,大租户,就单独搭一套MinIO吧。小租户倒是可以共用一套。关于服务发现和动态扩展,作者的讨论如下:(重要)To get a really resilient storage c...

2020-09-08 09:32:49 71

原创 关于“专项组”-产品的急速研发模式探讨

名词解释:所谓“专项组、急速研发”,就是特别重点 且 时间 又很紧的项目。<专项产品-急速研发模式>适用前提:这个项目很重要,很紧急,且公司不惜增加成本去做,这三个条件缺一不可。在这种情况下,特别讲究效率。 首先,消除沟通障碍,成立“专项组”,一切重要的参与人员,都要集中在一起,现场办公,且工作时间,根据每个人的工作情况灵活调整,错开时间进行休息,不再是每人都是早九晚五、周末双休。有条件的,最好是在公司附近,给大家安排酒店住宿,免去上下班的奔波。由...

2020-09-08 09:25:18 35

原创 分布式文件存储SeaweedFS试用对比总结

基础概念1、SeaweedFS将磁盘进行了分组分为DataCenters(数据中心、机房)、Racks(机架),Servers 和 Hard Drive,从而保证可用性。2、Replication- 复制多副本这是启动Master节点时设置的参数: ./weedmaster-defaultReplication=001 代表在相同机架的不同服务器上复制一个副本(共2两份)。为什么是001,官方的定义如下: 000no replication...

2020-09-08 09:22:45 116

原创 CoffeeScript编程笔记

编程建议由于CoffeeScript采用 空白符缩进 来控制语句,如果同级的代码缩进没有对齐(多一个空格和少一个空格)都会对程序结构产生影响,在编译过程中,经常报代码未对齐的错误。建议 采用 Tab键 作为缩进符号,一是直观,而是方面增加和减少对齐(如果用4个空格代替Tab,则减少对齐时要删除4个空格,容易出错;如果用2个空格来缩进,程序不够直观,例如下面的代码↓)。 $'body' .click(e)-> $'.box' ...

2020-08-31 22:38:05 57

原创 Webpack零基础入门指导

(本文为培训新人编写)第1章 webpack 基本介绍主要介绍webpack 的基本信息,如何安装 webpack,通过命令行如何使用webpack1.1 Webpack 基本介绍为什要使用WebPack现今的很多网页其实可以看做是功能丰富的应用,它们拥有着复杂的JavaScript代码和一大堆依赖包。为了简化开发的复杂度,前端社区涌现出了很多好的实践方法 模块化,让我们可以把复杂的程序细化为小的文件; 类似于TypeScript这种在JavaScript基础上拓展...

2020-08-31 22:36:05 68

原创 FastDFS的一些缺点(强烈需要注意)

数据安全性1、写一份即成功:从源storage写完文件至同步到组内其他storage的时间窗口内,一旦源storage出现故障,就可能导致用户数据丢失,而数据的丢失对存储系统来说通常是不可接受的。2、缺乏自动化恢复机制:当storage的某块磁盘故障时,只能换存磁盘,然后手动恢复数据;由于按机器备份,似乎也不可能有自动化恢复机制,除非有预先准备好的热备磁盘,缺乏自动化恢复机制会增加系统运维工作。3、数据恢复效率低:恢复数据时,只能从group内其他的storage读取,同...

2020-08-31 22:34:04 176

原创 NodeJS下的包管理npm的安装、更新和发布

npm官方教程很详细,看一遍就懂了:https://docs.npmjs.com/getting-started/what-is-npmpackage.json属性的详细说明:https://docs.npmjs.com/files/package.json临时使用淘宝镜像:npm xxxxxxx --registry=https://registry.npm.taobao.orgnpm 关于 --save-dev 和 --save 的区别--save...

2020-08-31 22:32:34 85

原创 使用npm link引入本地npm工程模块

使用npm命令,直接离线引入本地工程模块,不需要install(不用上传仓库,使本地项目可以直接依赖另一个项目)Symlink(符号链接)一个package文件夹。概括 npmlink(inpackagedir) npmlink[<@scope>/]<pkg>[@<version>] alias:npmln 描述package 链接过程分为两步首先、npm link将会在全局...

2020-08-31 22:30:17 167

原创 NodeJS调用shell命令

使用child_process,如下示例 const{spawn}=require('child_process'); constls=spawn('ls',['-lh','/usr']); ls.stdout.on('data',(data)=>{ console.log(`stdout:${data}`); }); ls.stdout.on('end',(data)=>{...

2020-08-31 22:28:39 106

原创 分布式文件存储选型考虑点

目前市面上有的开源产品包括: GridFS(MongoDB的一部分,https://docs.mongodb.com/manual/core/gridfs/) FastDFS(https://github.com/happyfish100/fastdfs) TFS(https://github.com/alibaba/tfs) SeaweedFS(https://github.com/chrislusf/seaweedfs) HBASE(HDFS) ...

2020-08-31 22:27:11 64

原创 FastDFS集群部署和使用

Installation参考文档:https://github.com/happyfish100/fastdfs/wiki(官网 Wiki)https://www.cnblogs.com/cnmenglang/p/6731209.htmlhttp://blog.csdn.net/xyang81/article/details/52928230集群服务器规划(示例):跟踪服务器1【主机】(Tracker Server):192.100.139.121跟踪服务...

2020-08-31 22:24:41 53

原创 Zookeeper原理和业界实践

PS:ZK基础参见我的另一篇文章:《ZooKeeper简介、基础知识和主要配置》使用的协议:ZAB(zookeeper原子广播),为paxos的一种实现。Zookeeper提供了三种选择策略: LeaderElection AuthFastLeaderElection FastLeaderElection这里仅介绍默认的算法:FastLeaderElection。基础概念 Sid:服务器id; Zxid:服务器的事务id...

2020-08-31 22:20:27 34

原创 关于阿里Java热加载框架jarslink的应用和选型研究

本文针对 jarslink v1.0+(jarslink官方地址:https://github.com/alibaba/jarslink)一、本身设计和功能问题(不成熟,功能弱):1、jarslink自定义的API,无法和swagger等API文档自动生成工具结合;2、传统的统一配置中心都是基于应用级别的隔离,无法针对module来隔离配置,和jarslink结合不好;3、不能方便的支持多数据源和多redis源;4、缺少各module之间的日志隔离规范,所有module的...

2020-08-31 22:16:38 35

原创 FastDFS问题分析和总结

故障现象 描述:1、应用方面:Java客户端,上传身份证图片和视频失败,有几次,报错时间大概是从 2018 09-27 22:27:34.815。客户端错误信息:2、服务器方面:查看日志,发现上传的 那个storage节点 报错了,报错信息为 : 无法rename/data/xxxx01.tmp文件到/data/10/00/xxxxxxx.mp4路径 无法rename/data/xxxx02.tmp文件到/data/10/00...

2020-08-30 16:20:42 104

原创 微服务指南和实施要素

一、什么是微服务化和组件化?为什么要做微服务?1. 什么是微服务顾名思义,微服务得从两个方面去理解,什么是"微"、什么是"服务",所谓服务,就是IT系统提供的一种能力/功能,它要区别于系统,服务是一个或者一组相对较小且独立的功能单元,是用户可以感知的最小功能集。微-狭义来讲就是规模小,就是指开发单个小型的但有业务功能的服务,每个服务都有自己的处理和轻量通讯机制,可以部署在单个或多个服务器上。微服务也指由多个相对独立的、松耦合的部分组成的面向服务(SOA)的架构思想。也就是说,如果每个服务...

2020-08-30 16:17:04 109

原创 Windows使用adb连接Android调试apk

1、找到adb安装路径,如果安装了Android SDK,则在platform-tools下面,例如:D:\devsoft\Android\SDK\platform-tools2、运行 adb.exe --help查看命令adb.exedevices -l 查看连接的设备(首次使用会启动adb服务,连上android数据线会提示是否允许调试,如果在手机端同意调试,则adb会自动连接上这个设备)3、adb.exeinstall xxx.apk 安装apk(也可以手动自己安...

2020-08-30 16:13:17 84

原创 Maven发布deploy jar到本地仓库/远程仓库/FTP等

一、无源码,直接以文件的形式发布jar包(deploy-file)情况一:前提,有项目的pom文件(如果没有pom文件,可以从jar包中提取出来),自动出pom文件读取groupId等信息(如果没有pom文件,可以看下面的情况二)我已经写成了标准脚本,并经常使用,分享出来:1、deploy-jar.bat @echooff echo"===starttodeployjar...===" callmvndep...

2020-08-30 16:09:41 76

原创 Maven镜像(mirror)

1. Maven镜像(mirror)的概念、作用mirror相当于一个拦截器,它会拦截maven对remote repository的相关请求,把请求里的remote repository地址,重定向到mirror里配置的地址。如果仓库X可以提供仓库Y存储的所有内容,那么就可以认为X是Y的一个镜像。换句话说,任何一个可以从仓库Y获得的构件,都能够从它的镜像中获取。Some reasons to use a mirror are: There is a sync...

2020-08-30 16:06:56 66

原创 Maven选择模块构建等命令

Maven选择模块构建mvn install-plapollo-client 表示手动选择需要构建的项目,项目间以逗号分隔。mvn install-plapollo-client–am 表示同时构建所列模块依赖的其他模块(与-pl连用)从某个模块开始接着构建mvn install -rf apollo-client只构建当前项目,不构建子模块 子mudulemvn install -NPS:N是non-recursive的意思Maven 指定...

2020-08-30 16:04:21 16

原创 Maven的5种scope(加上optional 6种)

1. Maven Scopeprovided 和 optional 的区别它们的传递性是一样的,都不会传递。唯一区别在于,例如 一个 war项目,provided的jar 不会被打进war包,而 optional 的jar 会打进war包。从概念上、本质上来说: provided的包是确实必须要的(如果第三方用到它,则需要第三方提供,如果没有,就会出错) 而optional的本意是,这个包是可选的(无论有没有,都不会出错) 2. Maven的5种scope对于3...

2020-08-30 16:00:09 40

原创 Maven资源排除和包含

给war包添加静态资源路径(配置多个web静态资源路径)maven-war-plugin:webResources.resource.directory可以配置多个resource,每个resource都可以配置 排除或包含文件(includes和excludes)。如下例所示: <!--打war包--> <plugin> <artifactId>maven-war-plugin</artifactId>...

2020-08-30 15:57:37 76

原创 源码分析之Spring Security 和 Shiro 请求处理流程

一、Spring Security登录执行流程1、首先用ServletFilter拦截器(AbstractAuthenticationProcessingFilter)对应UsernamePasswordAuthenticationFilter: 拦截到登录的请求(通常是form Login,比如 /login + POST ) 解析出登录信息principal和credentials(对应username和password),封装成Authenticat...

2020-08-30 15:14:38 28

原创 打造一个类似于lodash的前端工具库

一、分析借鉴目前最主流的前端工具库我分析了github上多个前端工具库的设计,以lodash为例说明:lodash的工程,有master、npm、npm-package、amd分支,以及 多种类型的tag: 4.17.10(umd) 4.17.10-npm 4.17.10-es 4.17.10-amd 这 4个分支 + 4个tag 的代码甚至工程结构,都不太一样。我目前还看不明白它这么多套代码,是分开维护的,还是只维护一套,其他都是自动生成的?因...

2020-08-30 15:11:55 218

原创 Log4j blocked 线程阻塞问题

我的zoa项目中,一直使用的是log4j 1.x版本,由于简单,一直没更换,也没怀疑过它的问题。偶尔有两次,zoa在使用过程中假死的情况,不能响应任何请求,包括正常的关闭都无法进行。于是我使用 jvm工具分析了JVM的情况,最终定位为 log4j引起的线程 blocked,不算是死锁,但是所以请求都会调用log4j,而log4j又无法正常执行,所以 所有请求都会 block。线程堆栈信息片段 形如: "qtp1056944384-232"prio=10tid=0x00...

2020-08-29 16:40:40 142

原创 令人崩溃的yaml(yml配置)对比properties、json、TOML

经过:原本,我一直以为,yml格式非常好用,至少比 properties要科学,比 json 要简洁、强大,然而,下面遇到的这个案例,让我意识到,yaml并不是万能,也并不是最科学、简洁的,甚至是比较糟糕的。我有这样一个 spring-boot的配置文件(原本是properties格式如下): keycloak.realm=demo keycloak.resource=fm-cache-cloud keycloak.credentials.secret=...

2020-08-29 16:36:56 146

原创 Spring 406 Not Acceptable HttpMediaTypeNotAcceptableException

SpringMVC异常报406 (Not Acceptable)的解决办法异常信息如下org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation因为在RequestMapping里面加上了 produces=MediaType.APPLICATION_JSON_VALUE 分析如下:参见:https://www...

2020-08-29 16:30:54 55

原创 Kubernetes开发环境一键安装教程

鉴于之前玩熟了Vagrant,就想到使用Vagrant这个神器来一键搭建Kubernetes及其必要附属组件,不出所料,果然已经有高人封装好了Vagrant Kubernetes的安装文件(相关配置和脚本),就是这个项目:https://github.com/rootsongjc/kubernetes-vagrant-centos-cluster,在这里,简单总结一下。Kubernetes 需要一个至少包含三个节点的分布式系统。IP Hostname Componets 172...

2020-08-29 16:24:05 49

修改本机MAC地址

自制蹭网工具,功能如下: 1、局域网内获取别人MAC和IP的方法: 2、修改本机MAC地址的方法 3、改本机IP地址的方法

2018-10-19

zollty的留言板

发表于 2020-01-02 最后回复 2020-01-02

linux如何重装系统不重新安装软件

发表于 2011-11-24 最后回复 2011-11-24

C语言sizeof函数和指针问题

发表于 2011-10-22 最后回复 2011-10-23

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