-
Java Cpu & Memory
程序的方式
freeMemory
简单的测试方法
public static void main(String[] args) throws IOException {
Runtime run = Runtime.getRuntime();
System.out.println("Time: " + (new Date()));
// 获取开始时内存使用...
2018-11-02 13:01:14 |
Java
-
SourceGraph
SourceGraph
SourceGraph 一款开源的代码审查工具。
chrome 插件安装
chrome 插件
使用
浏览 github 代码的时候,会有对应的视图按钮。
点击一下,感觉就会变成一个 web IDE。
启发
能够提供便利的工具,都会有生存空间。
要学会和优秀的环境绑定。
SourceGraph
chrome 插件安装
...
2018-10-30 22:48:58 |
Tool
-
监控框架-PMC 业务监控系统平台工具:prometheus+grafana; sentry
监控类产品
两类监控类产品,一类是对于系统资源,系统状态、应用状态等信息的监控,主要是使用 prometheus+grafana,这个打算以后更熟悉了写几篇科普的文章,用起来感觉还是很酷也很实用的;
另外一类是error tracking类的产品,我用的是 sentry,很早以前就听过它了,粗略了解之后感觉部署还是不简单就放弃了,后来突然想到可以使用docker来进行部署,就仔细读了它的...
2018-10-30 22:48:58 |
APM
-
Oracle Group By
情景
假设有表 user_log,要求按照 user_id 字段分组,然后对应的 remark 用 , 隔开。
user_id remark
1 124
1 222
2 124
2 134
Group By 实现方式
wm_contact
直接按照逗号分隔 remark 结果。
SELECT wm_conca...
2018-10-30 22:48:58 |
SQL
-
Windows Chocolatey
chocolatey
chocolatey windows 的包管理工具。
类似于 brew apt-get
安装
使用 windows cmd.exe 管理员模式
运行命令:
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -Executio...
2018-10-30 08:54:03 |
Tool
-
Java Web Layer Divide
MVC
Model-View-Controller 是一种指导思想的分层。
实际上我们处理的比这个要详细的多。
禁止跨级调用
一定要边界明确。
比如 biz 禁止直接调用 dao,应该通过 service 去做对应处理。
参考资料
如何合理的设计代码分层,论代码分层的设计之道
MVC
禁止跨级调用
参考资料
2018-10-30 01:54:43 |
Security
-
User Security
用户隐私
加密
用户密码应该使用 随机salt + Md5(等安全的不可逆加密)
通讯层的加密,应该使用 RSA 等非对称加密算法。
敏感信息,比如卡号等信息,建议使用可逆加密到数据库。加密的密匙对于开发人员不可见。
脱敏
日志输出等。
建议在框架层处理,不然每个项目都处理起来非常痛苦,且实现各不相同。后期如果想统一调整,非常之麻烦。
参考资料
网络数据隐私保护,阿里工程师...
2018-10-30 01:41:12 |
Security
-
multi-tenancy 多租户
什么是多租户
多租户指一套系统能够支撑多个租户。
一个租户通常是具有相似访问模式和权限的一组用户,典型的租户是同一个组织或者公司的若干用户。
要实现多租户,首先需要考虑的是数据层面的多租户。
数据层的多租户模型对上层服务和应用的多租户实现有突出影响。
本文重点介绍数据层多租户对各种多租户模型的支持。
本质
多租户本质就是通过动态配置,支持实现同套代码,一次部署,服务多个产品。
...
2018-10-30 01:31:33 |
Distributed