- 博客(34)
- 收藏
- 关注
原创 架构设计原则
基本原则简单:简单即复杂,用最简单的方案解决问题,不要做当前不需要的东西;先走通流程,然后优化变得更好,再进行优化变得伟大;增加自动化测试;时刻关注产出比,了解我们的用户;设计一个新功能时尽量独立;不要搞花哨的东西。功能选择1、拥抱变化,尽量做少的功能,如果有疑问的时候,就不要做,甚至干掉;要有勇气说不服务端设计和并发分布式系统时刻考虑分布式逻辑,不要搞有状态的,无状态的能更好帮我们扩展;实现一个操作时,尽量实现幂等,能帮助我们恢复;用户体验最好的产品是不需要产品手册的,总是要为配置设置
2022-03-23 18:23:09 186 1
原创 认知改变总结(一)对老系统维护的思考
设想我们有10来个web应用,这些应用的预期是在高负载下依然保持高可用。我们团队的主要目标是就是针对这些服务进行性能优化。认知改变时刻在某个大型项目实施中,由于项目体量大,增加了几倍的生产人员,导致我们应用的数据流量大幅增加。在此事件过程中,用户抱怨我们的应用性能实在太差,以至于无法在应用上完成全套的业务流程。为此,我们开始利用监控工具分析应用的性能瓶颈。通过应用监控工具,我们发现服务在获取 DB 连接上消耗了 90% 的响应时间。但是 DB 看上去一切正常,所以,我们开始分析应用的 DB 连接池。
2022-01-27 14:34:29 124
原创 mysql查询中位数
mysql直接查询中位数mysql无直接查询中位数的函数median,实现方式有多种SELECT AVG(dd.val) as median_valFROM (SELECT d.val, @rownum:=@rownum+1 as `row_number`, @total_rows:=@rownum FROM data d, (SELECT @rownum:=0) r WHERE d.val is NOT NULL -- put some where clause here ORDE
2021-12-22 18:38:55 1854
原创 MYSQL按日期分组
自然日周月季年分组SELECT new_date as submitDate, ROUND(check_right/(check_count + check_add)*100,2) as rightRate, stat_time as statTime FROM ( SELECT <choose> <when test="fieldCollectIndexReq.statCycle == "Y""> DATE
2021-12-22 15:33:42 2300
原创 bash脚本运行时报$‘\r‘: command not found错误
bash脚本运行时报$’\r’: command not found错误,经过查找,原来是windows和Linux的换行符不同(windows是\r\n,而Linux是\n)导致的,找了好久答案:有说装dos2unix的,失败原因是找不到软件源,最终放弃.有的说vim的命令行模式下使用%s/^M//g的,没效果,放弃.如下:# vi filename命令行模式下,输入::set ff=unix 将换行符设置成UNIX的模式:wq 退出...
2021-12-10 18:38:36 1012
原创 linux编译GDAL
LINUX1、进入gdal目录输入./configure执行输出的信息中如果出现GEOSsupport: yes的字样,说明编译出来的GDAL是有GEOS库支持的,否则就没有。另外由于GDAL对PROJ4库是动态加载的,所以不需要进行特殊的修改就行,只要将PROJ的动态库和gdal的动态库放一起就好了。2、支持GEOS、POSTGRESQL、MYSQL时,安装三方库后,用./configure检查下纠错:1、undefined reference to CPLMutexHolder::CPLMu
2021-12-10 18:35:18 1652
原创 VS2017编译geos
VS2017在 geos 的解压目录下找到nmake.opt文件,用文本编辑器打开(最好不要使用记事本),编辑以下内容:• 第26行:BUILD_DEBUG = YES(如果需要用 Release 模式的话可以不设置这个)• 第56行:WIN64 = YES• 第151行:GEOS_MSVC = 14.10• 第152行:GEOS_MSC = 1910首先执行autogen.bat,然后执行nmake /f makefile.vc在src目录会生成很多dll lib文件...
2021-12-10 18:31:38 224
原创 PostgreSQL效率更新
1、批量插入,重复更新 insert into cg_aoi_task (guid, city_code, sfadcode, x, y, zno_code, aoi_name, aoi_type, type, keywords, source, address, task_src, task_status, create_date, aoi_id) VALUES (,,,),(,,,,) ON CONFLICT(guid, task
2021-12-10 18:25:00 818
原创 PostgreSQL图形计算转换
1、度/秒互转UPDATE 表名 SET geom = st_scale(shape, 1/3600.0,1/3600.0)2、geom转wkt字符串SELETC st_astext(t.shape)3、wkt字符串转geom 并设置坐标系SELECT st_setsrid(ST_GeomFromText('POINT(428626.908 110737.8)'), 4326)4、获取图形中心点坐标SELECT ST_X(st_centroid(c.shape)) AS x , ST_Y
2021-12-10 18:24:00 2204 1
原创 PostgreSQl常用查询操作
1、分组统计WITH T AS ( SELECT a.qc_date, a.task_type, b.rd_code, a.qc_flag, a.task_status, COUNT ( * ) AS C FROM cg_aoi_qc a, rd_code b WHERE b.citycode = a.city_code and a.qc_date = 20201027 and a.task_type = 4 GROUP BY a.qc_date, a.task_type
2021-12-10 18:21:51 1032
原创 PostgreSQL常用修改表结构
1、创建临时表CREATE TABLE "test04" AS ( select * from testdemo);2、修改表名alter table table_name(表名) rename to new_table_name(新表名)3、新增列并添加注释alter table exchange_statistics add sys_id int4(32);COMMENT ON COLUMN exchange_statistics.sys_id IS '系统id';4、修改列属性a
2021-12-10 18:19:50 4862
原创 Mybatis-Plus 实现联表查询
Mybatis-Plus 实现联表查询@TOCmapperpackage com.sf.map.entity.mysql.stat;import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.TableName;import io.swagger.annotations
2021-11-27 09:46:04 1416
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人