- 博客(57)
- 资源 (9)
- 收藏
- 关注

原创 快速搭建支持图片实时处理的文件服务
flimfiler是一个功能简单且易于使用的文件服务器,特别适合需要处理图片的 Web 应用。它支持文件的上传、下载和管理,并内置了与阿里云 OSS 兼容的图片处理功能。通过简单的配置和灵活的 API,flimfiler可以帮助开发者快速构建高效的文件服务。如果你正在寻找一个轻量级且支持图片实时处理的的文件服务器,slimfiler绝对是一个值得尝试的工具。
2025-02-12 21:28:45
995

原创 实现一个阿里云oss图片处理库
概述在web开发中我们页面需要对图片做各种处理,如图片缩放自定义裁剪质量变换格式转换等。而且长期以来,加载速度一直是优化网站最重要的因素之一,访问者和搜索引擎都将调用页面所需的时间作为重要的评价标准。精简的代码或使用缓存机制是解决网站快速加载方案的一部分,而网页中展示的图片大小也影响着加载速度。因此我们不能仅仅通过前端处理,而是在返回图片的时间就要减少大小。如果是国内用户使用阿里云oss,里面的图片处理使用起来就很方便。但是你如果使用s3或自己搭建得文件服务系统的话,你就得自己实现了。
2024-08-23 20:58:12
1141
原创 大文件解析优化:如何避免OOM异常?
在日常的广告数据处理中,亚马逊广告平台每个月都会在10号和15号拉取上一个月的数据。由于数据量庞大,文件解析时常常会出现,导致服务崩溃。本文将详细介绍如何通过内存优化来解决这一问题,确保服务稳定运行。
2025-02-14 18:45:53
528
原创 Go有限状态机实现和实战
这个是所有FSM通用的。关于有限的解释:也就是被描述的事物的状态的数量是有限的,例如开关的状态只有“开”和“关”两个;上面的代码是一个简单的状态机,实际使用中,需要考虑更多的因素,比如状态的初始化、状态的持久化、状态的恢复、状态的监听等。状态的校验:在状态机中,需要校验状态的转换是否合法,比如不允许从空闲状态直接进入选择商品状态。状态机的状态数量是有限的,在确定的状态下,给定特定的事件,系统会转换到明确的下一个状态。这个库提供了一些常用的功能,如状态的初始化、状态的持久化、状态的恢复、状态的监听等。
2024-12-13 15:29:12
951
原创 记一次库版本升级引起程序自动停止
遇到程序结束我们需要对jvm程序结束需要有了解,对应这个情况,本质上是需要我们对 deamon线程和用户线程有一定得理解。然后需要这种问题我们需要结合jvm工具分析程序的运行情况。
2024-10-17 18:39:34
1012
原创 wordpress站群搭建6外部库的引入和测试
引入公共库,工具类时,我们可以对其进行测试。测试使用testing,通过测试我们可以快速验证工具能力。测试做的完善可以大大减少我们bug量。
2024-08-16 19:52:17
480
原创 wordpress站群搭建5api和rpc业务代码编写
上面就是一个分布式接口的一般开发流程。基于go-zore我们的业务代码写在logic包中,一般来说只需要关注logic和model。当然这里的model可以使用orm框架进行替代,如gorm,ent。可以根据自己的需要进行替换。如果是单体项目那就没有rpc这个环节,api直接和model交互。具体完整的api代码可以查看源码。
2024-08-09 09:34:52
935
原创 普通spring项目配置加密
1.通过 environment 实现 这种方式代码复杂,但是相当灵活,可以实现多种业场景jasypt-spring-boot就是用这种方式,也是官方推荐的方式。2.改变mergeProperties 加载的propertes 3.创建自定义的 ConfigurablePropertyResolver,目的就是改变对象里面的 props这两种反式代码比较简单,但是可操作性就很弱了,基本只能进行Properties值得调整。但是简单,业务简单场景用这两种反式还是比较方便。
2024-01-30 10:58:38
1233
原创 以图搜图服务快速搭建
以图搜图就可以很好的帮助解决这个问题,通过 Towhee(resnet50 模型) + Milvus 如何实现本地环境搭建以图搜图。
2023-03-03 11:32:26
1738
原创 PLG(Promtail + Loki + Grafana)日志系统生产快速实践
Promtail: 日志收集的代理,安装部署在需要收集和分析日志的服务器,promtail会将日志发给Loki服务。Loki: 主服务器,负责存储日志和处理查询。Grafana:提供web管理界面,数据展示功能。PLG 官方文档很丰富,大家可以在网络上找到丰富的资料。
2023-02-09 11:18:09
4068
4
原创 Spring Cloud 全链路日志traceId
随着业务量的增加,线上出现越来越多的bug,但是由于使用的是Spring Cloud,微服务之间调用,输出的日志没有固定上下文管理,定位具体问题存在诸多不便,因此相当有必要引入全链路日志traceId。MDC(Mapped Diagnostic Context,映射调试上下文)是 log4j 、logback及log4j2 提供的一种方便在多线程条件下记录日志的功能。借助MDC可以非常方便的将traceId自动输出到日志中,无需手动拼写traceId,代码简单,风格统一。.........
2022-08-26 14:02:04
6635
原创 python自动更新程序
简介最近用python给开发了一个windows监控软件,用于监控电脑的运行情况,更新电脑软件。由于有几十电脑,一台一台手动更新就不太靠谱了,于是就开发了一个自动更新软件的的程序。1.基本思路[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传基本步骤如下1.获取远程配置文件2.对比本地配置文件3.获取更新文件4.进行更新2.代码实现使用到的库os 用于执行和停止程序urllib.request 用于获取运程文件base64 用于解析数据date
2021-08-20 17:07:56
3863
原创 Java motan网关设计
@TOC在这里插入代码片最近加入的一个it从零开始搭建的公司,rpc框架选型为motan。之所以用motan主要是由于公司分两个团队java和php,motan可以实现跨语言调用且比较轻量,所以选择了motan。由于后端项目之间使用rpc进行通讯,没有mvc层。对接前端需要提供http接口给到前端,因此需要有个motan网关来完成对接前端的任务。实现思路翻阅了下资料https://github.com/weibocom/motan/issues/581实现motan网关有两种方式1.使用mo
2021-04-20 13:30:28
443
1
原创 应用启动后立马自动停了怎么处理
在开发中我们经常会遇到测试或生产环境代码启动不了的情况。遇到这总情况大致可以用以下三步处理方式:1.首先看有没有日志输出查看应用输入的log日志,如果有对应log的日志可以对症下药。2.查看控制台日志如果没有log日志,说明应该可能还没有完全启动完成,这时候不一定有日志输出。那么就需要查看控制台日志了。一般我们会运行一个启动脚本,这个时候修改一些启动参数后即可看到控制台输出。一般来说生产/测试的运行信息不会输出控制台,需要修改脚本才可看到输出到控制台的信息。简单介绍下 >>/
2021-04-02 15:54:55
1258
5
原创 clickhouse 条件语句内decimal除0报错处理
clickhouse decimal类型除0异常最近使用clickhouse做一个报表页面出现一个问题。SELECT sum( impressions) impressions, sum( clicks ) clicks, if(impressions>0,clicks/impressions,0) clickRate, sum( cost ) cost, if(clicks>0, cost/clicks,0) clickCostFROM a
2021-03-03 17:38:25
4234
1
原创 解析文件入库乱码问题解决
解析文件乱码入库乱码在解析文件和入库中我们会遇到很多乱码问题。最近做了个拉取亚马逊广告的报表的需求,出现了一个乱码问题。且这个问题在本地运行没有问题而在测试环境确出现了,中文全部变成???。网上找了几个答案,1.数据库编码设置错误,需将数据库表或字段编码设置为utf82.由于我这个是使用mybatis,需要在数据url连接后面加上?useUnicode=true&characterEncoding=UTF-8第一种:数据库编码设置错误我的数据由于使用的是clickhouse,cli
2021-02-27 17:49:18
2450
原创 motan rpc 接口统一异常处理
1.hello word 一个Motan扩展大概需要下面的三点:实现SPI扩展点接口package com.weibo.api.motan.filter;@Spipublic interface Filter { Response filter(Caller<?> caller, Request request);}业务代码实现Filterpublic class PlsProviderExceptionFilter implements Filter {
2021-02-22 21:07:45
936
原创 JMX获取jvm参数,cpu使用率,内存,线程,类等信息,实现一个简单的web版jvisualvm
JMX即Java Management Extensions(Java管理扩展),是Java SE的一部分,在Java2的时候加入到Java SE平台中,但Java5才正式发布。JMX提供了一个非常简单的途径去管理应用程序的资源,这里的所说的资源包括内存资源,磁盘资源等,而且因为JMX相关技术是动态的,所以可以在应用程序运行时监控和管理资源。本文介绍了JMX获取jvm参数,cpu利用率,内存,线程,类等信息,实现一个简陋的web版jvisualvm
2020-07-17 16:51:04
6708
2
原创 自定义一个Chrome翻译插件
做为一名程序员,难免要和各种英文文档打交道。然而大部分程序员的英文水平,只能用一个字来形容,那就是烂。我深知自己英语水平低下,需要一款翻译插件来治疗一下。网上的翻译插件有很多,但是这里是自己来定制一款属于自己的chrome翻译插件。1.了解chrome插件开发不了解的同学可以先看看下面的资料Chrome插件官方文档主页【干货】Chrome插件(扩展)开发全攻略2.插件的结构当你了解了chrome基本开发了,下面就这就直接撸代码了。插件的目录结构[外链图片转存失败,源站可能有防盗链机制,建议将图
2020-06-30 17:21:02
2476
原创 windows自带的网络调试工具整理
现如今的生活,网络已经无处不在。在工作中我们会也会遇到形形色色的网络问题,掌握一些工具定位并解决这些问题就显得很有必要了。下面就介绍几款windows下的网络调试工具(命令)1. ipconfig2.ping3.nslookup 域名解析4.TRACERT 跟踪路由5.tcping
2020-06-02 21:10:29
5351
原创 整合vue开发H5+跨平台app (以开发语音识别为例)
HBuilder快速搭建H5+应用上一次尝试了下H5+开发了跨平台app,可以发现的事利用H5+开发app的话,其实就是利用h5将页面给做出来,然后借助H5+的sdk和原生系统做交互,而我们开发人员只需要关系具体的页面功能开发既可。然而使用传统的H5 Html的方式显然生产力已经跟不上了,于是这次就尝试着使用VUE。基本思路如下。1.利用vue开发app的页面2.然后将页面构建打不后移...
2020-04-12 16:27:03
4463
原创 mysql单个字段查询时设置是否区分大小写
在mysql各种查询面前,主要讨论在查询单个字段时如何做到使查询sql 做到区分大小写和不区分大小写。主要利用到mysql 字符校对规则 COLLATE,通过指定不同的校验规则即可做字段是否区分大小写
2020-03-23 14:51:34
1192
原创 bat脚本交互动态输入端口启动jar包
bat脚本交互动态输入端口启动jar包简单说明下几个语句下面就是运行的脚本生成bat运行工作中经常要打包项目,启动jar包进行本地测试,由于端口老是会被占用,所以将启动脚本设置可以动态设置端口就有必要了。一下就是动态设置的启动脚本简单说明下几个语句@echo off 执行"echo off",后面所执行的命令不会显示出来,只会显示结果@echo on 就是与上面相反rem 注释命令 并...
2019-12-26 10:25:58
1265
原创 Charles对浏览器上https的请求拦截
对网页上https请求拦截1.安装https证书help -> SSL Proxying -> Install Charles Root Certificate点击安装证书选择受信任的根证书颁发机构,然后下一步,完成,点击确认即可导入证书。2.对https请求进行授权菜单选择Proxing->Windows Proxying开启请求代理对同一域名下的请求...
2019-02-19 18:28:22
5850
2
原创 js监听窗口变化动态改变div大小
js监听窗口变化动态改变div大小 function getHeight(val) { this.processHeight=(window.innerHeight || document.documentElement.clientHeigh)-210 +'px'; } getHeight(1); //通过注册resize监听器,实现对窗口大小的监听 ...
2018-12-06 13:50:18
7062
原创 nginx配置详解
nginx配置#运行用户user nobody;#启动进程,通常设置成和cpu的数量相等worker_processes 1;#全局错误日志及PID文件#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/ng...
2018-10-19 10:12:18
323
原创 高仿element-ui自定义上角标弹出框
最近要写个弹框,发现element-ui弹框样式还可以,就copy下来改吧改吧。html代码<!--弹框--> <div class="el-dropdown-menu el-popper" :style="'position: absolute; top:'+listDialogTop+'; left: '+listDialogLeft+'; transform-orig...
2018-10-14 16:40:00
3984
原创 postMan5.0.2及postMan Interceptor chrome插件离线安装,(实现登录认证)
postMan5.0.2及postMan Interceptor离线安装,(实现登录认证)这是一种直接通过打包已经安装的扩展程序的方式,进行离线安装首先下载postMan及postMan Interceptor,解压缩到你喜欢的位置。https://download.youkuaiyun.com/download/andco/10681133下载地址打开 Chrome 浏览器的「扩...
2018-09-21 15:27:41
1678
转载 flash利用crossdomain.xml跨域传输数据
使用crossdomain.xml让Flash可以跨域传输数据本文来自http://www.mzwu.com/article.asp?id=975 本文来自https://www.cnblogs.com/jiuyi/p/6068190.html一、概述位于www.mzwu.com域中的SWF文件要访问www.163.com的文件时,SWF首先会检查163服务器目录下是否有crossd...
2018-09-06 10:44:54
1527
原创 HBuilder快速搭建H5+应用
一、环境搭建1.安装HBuilderHBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE。 [1] HBuilder的编写用到了Java、C、Web和Ruby。HBuilder本身主体是由Java编写。它基于Eclipse,所以顺其自然地兼容了Eclipse的插件。利用HBuilder可以快速的搭建与H5+应用和原生APP进行交互从官网下载...
2018-07-24 17:26:30
20496
2
转载 解决Unknown host 'jcenter.bintray.com'问题
转自 解决Unknown host ‘jcenter.bintray.com’问题 1、如图报错2、原因:build.gradle中jcenter()或maven()被墙了。3、解决:方法一:使用开源中国的maven库:阿里云的:http://maven.aliyun.com/nexus/content/groups/public/在项目根目录下的build.grad...
2018-07-04 16:40:04
20470
4
转载 转 com.android.tools.build:gradle:X.XX.XX:gradle.jar 插件无法下载问题
转自 com.android.tools.build:gradle:X.XX.XX:gradle.jar 插件无法下载问题 在使用Android Studio 这个IDE时,出现com.android.tools.build:gradle:X.XX.XX:gradle.jar 插件无法下载问题可能的原因就是网速不好或者依赖仓库的下载网址被墙了,可以配置代理试试。比如,android stu...
2018-07-04 16:37:12
1021
转载 转 cordova插件汇总大全
转自 cordova插件汇总大全 1、获取当前应用的版本号cordova plugin add cordova-plugin-app-version2、获取网络连接信息cordova plugin add cordova-plugin-network-information3、获取GPS数据cordova plugin add cordova-plugin-geolocati...
2018-07-03 10:33:41
643
转载 转 Android SDK Manager国内无法更新的解决方案(亲测有效)
转自 Android SDK Manager国内无法更新的解决方案(亲测有效) 现在由于GWF,google基本和咱们说咱见了,就给现在在做Android 或者想学习Android 的朋友带来了诸多的不便,最简单的就是Android SDK Manager 你无法更新了。现在这里有一个解决方案,如下。1.启动 Android SDK Manager ,打开主界面,依次选择「Tools」...
2018-07-03 08:41:44
1190
原创 前端工程师需要了解的知识点
vue 与 vue-resource 跨域问题解决方法一:在vue项目下的 config/index.js 文件里面配置代理proxyTable:var path = require('path')module.exports = { build: { env: require('./prod.env'), index: path.resolve(__d...
2018-06-30 14:37:54
3423
Charles抓包转发工具
2019-02-19
Activiti课程笔记从入门到实践.doc
2018-01-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人