- 博客(42)
- 资源 (32)
- 收藏
- 关注
原创 IDEA + maven profile 一站式搞定程序调试和打包过程中的配置信息
目录0. 前言1.目标2. 环境准备3.实验落地3.1为项目的pom文件添加配置3.2为springboot模块编写代码3.3maven打包测试3.4项目开发阶段使用统一的环境配置4. 小结参考资料0. 前言前段时间接手了一个项目代码,写得咋样我就不吐槽了,有过这种经历的人都懂得。这个项目的配置信息是分成了多套的,开发、测试、生产等多个环...
2019-09-13 14:03:30
2150
原创 实战saas系统多租户数据隔离 文章汇总
把这几天写的文章做一个汇总,方便大家查找saas系统多租户数据隔离的实现(一)数据隔离方案saas系统多租户数据隔离的实现(二)使用租户id字段区分租户数据saas系统多租户数据隔离的实现(三)每个租户使用独立的表空间...
2019-09-09 09:02:51
2446
原创 实战saas系统多租户数据隔离(三)每个租户使用独立的表空间
目录0.前言1.需求分析2.系统架构设计3.环境准备4.编码实现4.1添加父项目依赖坐标4.2实现eureka注册中心4.3实现zuul网关4.4实现用户微服务mt2-user4.5实现资料微服务mt2-profile5.项目测试总结参考资料0.前言上一篇文章中,我们自己实现了saas系统架构中租户数据隔离的其中一...
2019-09-08 21:59:24
6708
3
原创 实战saas系统多租户数据隔离(二)使用租户id字段区分租户数据
目录0.前言1.whymybatis-plus?2.需求分析3.环境准备4.实现步骤4.1准备TenantContext4.2创建MybatisPlusConfig配置类4.3编写接口4.4编写拦截器,在接口调用前进行多租户处理5.项目测试总结参考资料0.前言上一篇文章中,我们一起了解了一下saas系统架构中实现...
2019-09-07 20:50:23
18129
17
原创 实战saas系统多租户数据隔离(一)数据隔离方案
目录0. 前言1.什么是saas系统2.什么是多租户3.数据隔离方案3.1每个租户提供独立的数据库系统3.2每个租户提供独立的表空间3.3按租户id字段区分租户4.三种数据隔离方案的优劣势分析5. 为土豪准备的解决方案总结参考资料0. 前言前几天跟朋友聚会的时候,朋友说他们公司准备自己搞一套saas系统,以实现多个第三方平台的...
2019-09-07 12:14:34
11846
4
原创 mysql查询语句中使用星号真的慢的要死?
目录前言测试环境准备一.count查询二.联表查询三.分页查询总结前言 之所以写这篇文章,是源于以前看过的关于sql语句优化的帖子,里面明确提到了在sql语句中不要使用 * 来做查询,就像下面的规则中说的 2、尽量避免使用select *,返回无用的字段会降低查询效...
2019-08-20 23:56:41
1032
1
原创 记录OKR在小公司实施的一次经历
目录00前言01黎明前的黑暗02确定目标,备好粮草03落地三部曲,想好了就干04复盘总结,展望未来00前言前段时间看了本书叫《OKR工作法》,顺便了解了一下OKR的相关知识,感觉这个起源于英特尔公司的东西,正是为那种小而美的团队准备的好东东。如果你还不知道什么是OKR,那我给你个传送门,可以去那里扫扫盲。恰逢我当时所带领的技术团队是小团队,而公司的业务...
2019-07-07 20:21:39
1974
2
原创 springcloud zuul配置https实现安全的app接口访问
前几天和小伙伴们聊了聊app安全访问接口的事情,大家纷纷吐槽,说以前用http协议访问接口,最大的问题就是用fiddler这样的抓包工具,直接就能看到明文的访问url,参数列表和参数值。别人用脚本写个小机器人,就能像app一样完整地体验我们的应用,随意抓取我们的数据,然后很轻松地就能山寨出我们的app产品。除此之外,别人也可以随意修改请求中的参数值来尝试攻击和破解我们的后端接口,找到侵入点...
2018-06-19 01:08:07
26520
5
原创 mybatis字符串条件判断 - 动态 order by 条件
在做电商类项目,例如淘宝,其app中的商品列表页面中,会有几个排序条件,例如价格、销量等。就像下面这个样子如果用户点击“价格”,就是按照价格由低到高排序。 如果我们只使用同一个接口来处理商品列表数据的检索,那么mybatis中的sql,其order by就必须根据用户点选的“价格”、“销量”等条件进行排序。也就是说,order by 必须要做成活的,不能写死。 这里我们假设上面...
2018-06-08 19:14:19
18774
1
原创 解决easyui propertygrid控件中,combobox控件(下拉框控件)回显value值的问题
问题背景: 我们用easyui做项目,经常会碰到这样的场景,如下图:没错,我们都喜欢弹出个对话框,然后在里面放个propertygrid控件来实现ui布局和信息的输入。但是如果其中含有需要下拉框选择的字段,比如“性别”,就会出现经典的下拉框value值回显的问题,如下面的几张图所示: 是不是有种似曾相识的感觉涌上心头? 关键
2016-05-31 19:02:05
8817
4
原创 老旧电商系统升级改造日记 - 2. 数据导入,然后搞定硬编码问题
上回给大家交代了一下目前这个系统需要升级改造的背景情况,那么接下来我们就不扯闲篇,直接开整。 一开始我们的想法是从需求开始,将系统推倒,重新构建。但是我们漂亮的运营推广总监告诉我说,我们现在的会员数量已经达到了将近1000个,而且每天还在以10%到20%的速度增长。这就意味着,我们的新系统必须要把老系统的数据接过来,说白了就是割接,这个事情做过电信系统的朋友们一定都不陌生,吼吼。再说
2016-04-02 19:33:33
1265
原创 老旧电商系统升级改造日记 - 1. 背景概述
自动结婚之后,已经好久没有写点什么了。因为结婚以后,家里面琐碎的事情就多了嘛,你懂得。 但是最近我接手的这个项目,我觉得很有代表性,有必要把这一段时间的工作经历记录一下。 以往我们做项目,不管是走瀑布开发模式还是使用螺旋式的敏捷迭代方式,流程一般是从需求调研开始,然后建立交互原型,数据模型(就是设计数据库表结构什么的),然后搭建系统的运行框架,然后就是根据功能模块编写mvc,即页面,
2016-04-02 16:47:44
1468
2
原创 批量插入异常问题 There is no getter for property named ''
测试批量插入的时候,程序抛异常如下org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named '' in 'class com.lscm.news.m
2015-11-16 14:43:39
6238
转载 windows 多线程编程的几点经验 (防止死锁)
windows 多线程编程的几点经验 (防止死锁)作者: smilestone322 (1 篇文章) 日期: 八月 3, 2011 在 5:48 下午 1) 不要在线程函数体内操作MFC控件,不要再线程里面调用UpdateData函数更新用户界面,而应该尽量采用发送消息的方式,在主线程的消息响应函数中操作控件;2)不建议采用SendMessage往主线程发送消息,因为它是同步的
2012-07-10 20:45:56
525
原创 linux应用技巧总结(不断更新)
设置命令行格式,让其不再只显示一个$或#提示符export PS1="[`whoami`@`hostname`:\$PWD>"
2012-03-06 16:52:36
425
原创 【转载】强大的计算机工作面试笔试题目...【与中国文学紧密结合】(带非标准答案)
<br />一,选择题(皆为单选)<br /><br />1,以下谁是二进制思想的最早提出者? (A)<br /><br />a,伏羲;b,姬昌;c,莱布尼茨;d,柏拉图。<br /><br />2,以下哪个概念和公孙龙的《指物论》中的“指”字含义相近?(A)<br /><br />a,变量;b,数组;c,对象;d,指针。<br /><br />3,蔺相如,司马相如;魏无忌,长孙无忌。下列哪一组对应关系与此类似?(E)<br /><br />a,PHP,Python;b,JSP,servlet;c,java
2011-04-13 22:56:00
922
原创 蚯蚓理论
<br />在团队中养条蚯蚓吧<br /> <br /> “团队蚯蚓”(不是团队蛔虫哦)这个词是我自创的,呵呵。<br />前几年,我就听说过一个关于唐僧师徒的4人组合是最佳团队的说法。而这其中,又以八戒为最大的亮点,被兄弟们称为“团队润滑剂”。而我就在想,这样一头好吃懒做,见色忘义,心志不坚(碰到点事情或挫折,就喊着散伙),六根不净的“猪”,为啥能得到“团队润滑剂”这样高的评价呢?那个时候我个人猜测,也许是因为他的风趣幽默,善于察言观色,使得他善于解决师徒之间的小摩擦,小矛盾(主要是唐僧和悟空之间的
2011-04-10 06:16:00
1134
原创 都是需求惹的祸
<br />上上周我们计费组的同事(华为+中软+中创)一起开了个会,着重讨论了一下以后在质量保证方面所要做的工作。这其中又对开发人员,测试人员提出了详细的要求。其实不管是对开发人员的要求,还是测试人员的要求,都是围绕着需求这个核心问题而制定的。从那些要求里面可以看出,很多很多的质量问题,最根本的原因都是需求不清晰所造成的。因为需求不弄清楚的话,开发人员开发出的模块,就很有可能偏离正确的需求方向,从而导致“做出来的东西不是我们想要的”这样的结果。而如果测试人员对需求不清晰,则这些兄弟姐妹们编写出的测试用例,就
2011-04-10 06:14:00
1085
1
转载 [转帖]一个女程序员MM暴强征婚广告 附照片PP
一位漂亮女程序员MM的征婚信息SELECT * FROM 男人们WHERE (未婚=true or 离异=true) and 同性恋=false and 穷光蛋=false and 有房=true and 有车=true and 条件 in (‘细心’,'温柔’,'体贴’,'贤惠’,'会做家务,会做饭,会逛街买东西,会浪漫,活泼,,帅气,绅士,大度,气质,智慧’,'最好还能带孩子’)一位资深的男程回复:(0 row(s) affected)附上PP请不要用语言 进行人身攻击 职业:美工 Silverligh
2011-02-28 20:06:00
1526
原创 【原创】个人写的测试密码强度的方法
<br />两年前写的一篇老文了,先收藏起来再说,嘿嘿:P<br /> <br /> 前两天在博客里看到有位老兄用jsp写了个测试密码强度的脚本,但是我觉得没必要像他脚本里写得那么麻<br />烦,在加上我一时手痒(这个也许是主要原因:P),所以就禁不住用C也写了个测试密码强度的程序。<br /> 在开始讲我的方法之前,先看看几个弱密码。第一个:123456,这个恐怕是最白痴的密码了,呵呵。第二<br />个:19830321,很明显这是用生日来做密码。第三个:abcdefgh ,不多说了,也是
2011-02-21 00:54:00
1551
原创 好玩又实用,VC6.0的“配置文件”(Profiling)功能
<br /> <br />今天给大家推荐一个VC6.0当中好玩又实用的功能,配置文件(Profiling)。这个功能是用来对che进行性能优化的,它可以实现对程序的行覆盖率(line coverage)和函数覆盖率(function coverage)的测试,由此来找出程序在运行时的性能瓶颈点。不过在我看来,用这个功能来做一下小规模的白盒测试也是个很不错的主意,虽然VC的工程师们不推荐那样做,呵呵。<br />要启动配置文件(Profiling)功能,首先要保证你所使用的VC6.0是专业版或者企业版,因为只
2011-02-14 22:12:00
2708
2
转载 oracle中常用命令总结
如何远程判断Oracle数据库的安装平台select * from v$version;查看表空间的使用情况select sum(bytes)/(1024*1024) as free_space,tablespace_namefrom dba_free_spacegroup by tablespace_name;SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,/ (B.BYTES*100)/A.BYTES "% USED",
2011-02-09 23:40:00
553
转载 oracle中常用命令总结
<br />如何远程判断Oracle数据库的安装平台<br />select * from v$version;<br /><br />查看表空间的使用情况<br />select sum(bytes)/(1024*1024) as free_space,tablespace_name<br />from dba_free_space<br />group by tablespace_name;<br />SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED
2011-02-09 23:40:00
513
转载 [收藏]VC++快捷键大全
原文链接:http://dev.csdn.net/develop/article/21/article/25/25863.shtm F1: 帮助 Ctrl+O :OpenCtrl+P :PrintCtrl+N :NewCtrl+Shift+F2 :清除所有书签F2 :上一个书签Shift+F2 :上一个书签Alt+F2 :编辑书签Ctrl+F2 :添
2008-10-07 16:39:00
508
原创 用结对编程的方法来带新人
干我们这行的,肯定都有过这样的经历。在来到一个新公司后,感觉很茫然,不知道该干什么、该怎么干。其实任何一个新人在刚来到一个新的公司的时候,有这样的感觉是很正常的(特别是应届毕业生),关键是如何才能尽快地让新人进入工作状态,让他们知道该干些啥、该怎么干等等。我本人也是过来人,对这段痛苦经历的印象那是相当地深刻。针对这样的情况,我在工作当中使用了敏捷开发当中的结对编程方法来带新人(当然,别
2008-10-07 16:38:00
879
转载 [转载]项目经理如何开好进展会
原文链接:http://blog.sina.com.cn/s/blog_3d7bed65010007u2.html 作为项目经理,每周的项目进展会议是一个重要工具。通过把握每周项目更新状况,我们可以处理任何重大项目。进展会议有助于:新的项目成员融入团队;项目经理及时发现问题,做出修正;项目经理强调关键问题,提供早期指导。 精明的项目经理从不把进展会议仅仅作为了解项目进度
2008-10-07 16:35:00
654
转载 [转载]在中国40岁就不能再搞软件开发了?
看了这篇文章,我真是感到很悲哀。一方面很同情这位前辈的求职遭遇。但另一方面,更多的是,为我们国家的软件产业感到悲哀。软件业中的很多公司的领导们,都抱着一种急功近利的心态,一切朝“钱”看,而不重视技术积累与研发团队的组建。结果就是导致了“软件开发是吃青春饭的”这样的一种局面。而另一种很不好的结果就是,我们没有真正自己的核心技术,整天受制于人,让人十分地不爽。相比国外,开发人员越老越
2008-10-07 16:34:00
1057
转载 [个人收藏]用命令行创建多套IP配置文件
原文链接:http://ensoft.yo2.cn/tip/use-the-command-line-to-create-multiple-ip-profile.html 1、右键单击桌面上的“网上邻居→属性”,设置“本地连接”网卡在其中一个网段使用的TCP/IP属性。设置好后,进入命令行模式,确保当前目录为C:Documents and SettingsAdministrator,
2008-10-07 16:33:00
588
原创 在VC++ with BCG中实现双击标签关闭视图
在CMainFrame类中加入一个函数:virtual BOOL PreTranslateMessage(MSG* pMsg);然后在该函数中加入如下代码即可if(pMsg->message == WM_LBUTTONDBLCLK) { CPoint pt (BCG_GET_X_LPARAM(pMsg->lParam), BCG_GET_Y_LPARAM(pMsg->lPa
2008-10-07 16:32:00
1599
1
原创 Cmd下FTP使用命令全集
有一个是英文的,介绍的比较傻瓜化,有兴趣的可以去看看:http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_16418 文章来源:CnXHacker.NetFTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作系统下使用FTP,都会遇到大量的FTP内部命令。熟悉并灵活应用FTP的内部
2008-10-07 16:24:00
732
转载 如何选择DLL中函数的导出方式
本文讨论如何选择DLL函数的导出方式。 作者:tyc611,2007-05-26 要导出DLL中的函数,我们有两种方式:一是使用模块定义文件(.def文件);二是使用__declspec(dllexport)关键字。 那么,应该选择哪种方式来导出DLL中的函数呢?要决定如何选择,你应该首先想清楚这个问题:谁将使用你的DLL?是你自己的应用使用的DL
2008-10-07 16:23:00
1910
转载 Win32环境下dll编程原理
比较大应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。其中可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序EXE文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序运行时也会消耗较大的内存空间,造成系统资源的浪费;另一个缺点是,在
2008-10-07 16:22:00
635
转载 const传奇
原文来自www.codeproject.com作者:Rahul Singh译者声明:有些地方按原文解释不通,译者根据自己的理解作了适当修改。如有不妥之处,请告知coolgrass@sina.com或参考原文。 简介当我自己写程序需要用到const的时候,或者是读别人的代码碰到const的时候,我常常会停下来想一会儿。许多程序员从来不用const,理由是即使没用const他们也这么过来
2008-10-07 16:20:00
557
原创 个人写的测试密码强度的方法
前两天在博客里看到有位老兄用jsp写了个测试密码强度的脚本,但是我觉得没必要像他脚本里写得那么麻烦,在加上我一时手痒(这个也许是主要原因:P),所以就禁不住用C也写了个测试密码强度的程序。 在开始讲我的方法之前,先看看几个弱密码。第一个:123456,这个恐怕是最白痴的密码了,呵呵。第二个:19830321,很明显这是用生日来做密码。第三个:abcdefgh ,不多说了,也是个弱
2008-10-07 16:08:00
1252
转载 Visual C++ 中的断言
断言语句指定在程序的某些特定点应为真的条件。如果该条件不为真,则断言失败,中断程序的执行,并显示“断言失败”对话框。Visual C++ 支持基于下列构造的断言语句: MFC 程序的 MFC 断言。 使用 ATL 的程序的 ATLASSERT。 使用 C 运行时库的程序的 CRT 断言。 其他 C/C++ 程序的 ANSI assert 函数。 断言可以用于: 捕捉逻辑错误。 检查某操作的
2008-10-07 16:07:00
1562
转载 深入理解sizeof
引自http://www.vckbase.com/document/viewdoc/?id=1054 最近在论坛里总有人问关于sizeof的问题,并且本人对这个问题也一直没有得到很好的解决,索性今天对它来个较为详细的总结,同时结合strlen进行比较,如果能对大家有点点帮助,这是我最大的欣慰了。一、好首先看看sizeof和strlen在MSDN上的定义:首先看一MSDN上如何对size
2008-10-07 16:05:00
502
转载 Big Endian与Little Endian的判别
以前看书时遇到过这个问题,当时用了一个星期,想破脑袋都没能搞定。现在看了答案后,才感觉自己真“笨”。得,今天把它记下来,以后再碰到这样的问题就不头疼了。 试题:请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1 解答:int checkCPU(){ { union w {
2008-10-07 16:02:00
596
原创 正则表达式规则及其常用公式
非原创,仅仅是工作上需要的资料。 正则表达式规则的完整列表:/ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的Multiline 属性,^ 也匹配 ’/n’ 或 ’/r’ 之后的位置。$ 匹配输入字符串的结束位置。如果设置了 RegExp 对象的Multiline 属性,$ 也匹配 ’
2008-10-07 15:59:00
1755
原创 毕业之前,让我们来拥抱变化吧 -- 在做毕业设计中体验敏捷开发
初看“拥抱变化”这个词的时候,你可能会感到有些陌生。但是对于了解软件工程、敏捷开发以及敏捷开发的作者Martin Fowler的人来说,“拥抱变化”是再熟悉不过的了。使用敏捷软件开发方式开发产品的团队,通过不断频繁地收集用户的需求,快速地交付可以使用的产品,并且随着需求的不断变化来演化产品。熟悉软件工程的朋友一定已经看出来了,敏捷开发方式属于软件开发模型中的快速原型模型。这种模型的最
2008-10-07 15:57:00
901
原创 利用static属性隐藏变量和函数的名字
C程序员使用static属性在模块内部隐藏变量和函数声明,就像你在Java和C++中使用public和private声明一样。C源代码文件扮演模块的角色,任何声明带有static属性的全局变量或者函数都是模块私有的。类似地,任何声明为不待static属性的全局变量和函数都是公共的,可以被其他模块访问。尽可能用static属性来保护你的变量和函数是很好地编程习惯。 ——摘自《深入理解
2008-10-07 15:56:00
797
PropertiesEditor(5.3.3)——eclipse插件
2018-01-22
js根据汉字获取拼音包
2018-01-03
系统架构设计师教程 第3版 PDF电子书下载 带书签目录 完整版.part3
2017-09-13
系统架构设计师教程 第3版 PDF电子书下载 带书签目录 完整版.part2
2017-09-13
系统架构设计师教程 第3版 PDF电子书下载 带书签目录 完整版.part1
2017-09-13
软件公司职位说明书
2017-02-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人