- 博客(33)
- 收藏
- 关注
原创 和网约车师傅聊天
和网约车师傅聊天本周四下午,6点多下班。因限行不能开车,又没有72小时核酸阴性证明坐不了地铁。无奈只好打车。很快打到车。很快发现这师傅有点儿不一般——感觉他温文尔雅、谈吐不凡,不善言辞不会聊天如我,竟然和师傅一路畅聊。用身体和时间赚钱师傅讲,因门槛低,谁都可以当网约车司机,网约车竞争惨烈。一天开8个小时,一个月可以挣到5千。一天开十五六个小时,一个月可以挣到一万五。接的单越多,拿到的奖励越多。但平台也会给接单少的和新手派单,“让人家有口饭吃”。师傅讲,“当网约车司机是拿身体和时间赚钱”。看来大家都差不多啊。
2022-12-04 21:48:07
679
原创 架构读书笔记之一:《架构宝典》
最近在“当当云阅读”上发现“中生代技术社区”编写的《架构宝典》,先看了下目录,判断是本好书,于是决定认真拜读。常言道“不动笔墨不读书”,我记录一下要点(简略到不至于侵权的地步)。要想领阅原书风采的唯一途径是:阅读原书。企业应用系统架构服务化参考“应用组装层只能调用服务,不能直接访问基础能力提供者。开放服务之间没有依赖关系。私有服务层用来实现基本的逻辑处理。基本能力通过私有服务暴露。私有服务能够相互调用,调用关系必须是树形结构的,避免形成调用环。对于开放服务需要由注册机构管理。”架构师要学哲学、数学、建筑学
2020-07-15 11:36:49
406
原创 Nginx学习笔记
Nginx服务器如何处理请求?“Nginx服务器的一个显著优势是能够同时处理大量并发请求。它结合多进程机制和异步机制对外提供服务。异步机制使用的是异步非阻塞方式。Nginx服务器启动后,可以产生一个主进程(master process)和多个工作进程(worker processes)。Master-Worker模型实际上被更广泛地称为Master-Slave模型。在Nginx服务器中,充当Slave角色的是工作进程。”“每个工作进程使用了异步非阻塞方式,可以处理多个客户端请求。当某个工作进程接收到
2020-07-08 23:36:19
190
原创 初学Docker
玩法不一样了 2011年刚开始上班的时候,常驻客户现场。当时项目组采用的架构是小型机+WebLogic+Oracle。开发运维泾渭分明、各司其职。 生产环境的密码,项目经理和运维经理各执一半。正常情况下,运维团队定期过来维护,大致是“一月一小维、三月一大维”。数据库厂商也要负责维护数据库,他们还定期过来给开发人员开课,讲解数据库知识。我这种开发小啰啰,连测试环境几乎都不能动,生产环境就看都看不到了。 在安全、稳定是第一要务,在几年才出一个新版本的情况下,在不差钱的大客户那里,小型机+We...
2020-07-07 12:32:53
187
原创 ZooKeeper学习笔记
CAP定理CAP理论告诉我们,一个分布式系统不可能同时满足一致性(C:Consistency)、可用性(A:Availability)和分区容错性(P:Partition tolerance)这三个基本需求,最多只能同时满足其中的两项。BASE理论BASE是Basically Available(基本可用)、Soft state(软状态)和Eventually consistent (最终一致性)三个短语的简写。其核心思想是即使无法做到强一致性(Strong consistency),但每个应用
2020-06-24 17:51:43
199
原创 MySQL学习笔记
MySQL的锁MySQL的锁按照粒度划分为全局锁、表级锁、行级锁。按照功能划分为共享锁(读锁)和排他锁(写锁)。按照实现方式划分为悲观锁和乐观锁。InnoDB的行级锁分为共享锁(S)和排他锁(X)。共享锁允许一个事务去读一行,阻止其他事务获得相同数据集的排他锁。排他锁允许获得排他锁的事务更新数据,阻止其他事务取得相同数据集的共享读锁和排他写锁。InnoDB会自动给UPDATE、DELETE和INSERT语句涉及的数据集加排他锁,InnoDB不会给SELECT语句加锁,但可以手动添加共享锁(LOC
2020-06-22 17:14:59
163
原创 Redis学习笔记
Redis是什么?Redis是用C语言开发的一个开源的高性能键值对内存数据库,是一种NoSQL数据库。它提供五种数据类型:string、hash、list,set,zset。Redis的应用场景通常把Redis当成内存数据库(如登录信息)、缓存服务器(如商品信息)、解决分布式集群架构中的session共享问题等。之前在工作中,我们同时用了Redis和Memcached两种缓存。两者分工明确,Redis用于业务数据缓存,Memcached用于接口数据缓存。我们所谓的业务数据缓存,是指把和用户相关的
2020-06-18 13:01:13
177
原创 MyBatis基础知识
为什么要学习MyBatis? 去年有个从兄弟公司过来支援的兄弟告诉我:hibernate太重了,一般都是外国人在用,国内用的很少。当时我想:我们用Hibernate遇到一些问题,不是因为它不好用,而是我们自己没学好。比如,存在一些设计问题:一个主表关联七八张从表、从表又有从表,要查询的时候就写一连串left join fetch。看起来就不好看,如何指望它工作的很好? 后来又有一个从某知名培训机构出来的小兄弟告诉我:他们都不学hibernate了,学校只教MyBatis了。于是我...
2020-06-05 18:09:04
250
原创 开发趣事(3)--终于看完《敏捷软件开发》
一咬牙,真的就在7月31号把这本书看完了。看得马马虎虎、囫囵吞枣。看得不大懂,大师的书不是那么容易看懂的。准备下次再看,下次应该懂的就多一点了。所谓读书百遍其义自见。但不知下次是什么时候。 有什么收获?至少知道了几个原则:单一责任原则、开放-封闭原则、里氏替代原则等等,以前闻所未闻。至少知道几种模式。虽然还不会用,但终究会产生一些潜移默化的效果。我相信还是会有进步,慢慢来。
2013-08-05 19:02:08
942
原创 java中DEC密钥与密钥种子
最近用到了DEC.我们把一段字符串类型的信息采用DEC加密后发送给对方,对方解密后得到明文。在开发环境上一切正常,但测试环境上对方不能正常解密。 问题出在哪里呢? 我们把密钥种子写在配置文件中,加密时利用密钥种子生成的密钥。代码如下(其中seed是密钥种子字符串,seedEnc是字符编码类型): KeyGenerator generator = KeyGenerato
2013-05-26 16:27:10
4025
原创 代码的坏味道
最近在看Martin Flower的《重构》。 我认为大师的过人之处在于:大师善于记录、总结、提炼,最后成就一本经典著作,文笔流畅、娓娓道来、寓教于乐。 而我们的教科书,生硬古板,即使能把书上的东西背下来,也不知道有何用、在何处用、怎样用。 刚看完代码《代码的坏味道》这章。Martin总列出了22种坏味道。以下这几条我大致能够看懂: 1、重复代码; 2、过长的
2013-05-19 19:11:10
878
原创 听《计算机从业人员职业道德》课程
从今年开始,上海市工程系列计算机中、高级职称评审,需参加《计算机从业人员职业道德》课程培训。详见http://www.sacee.org.cn/html/1630_1.html。 本来不想去参加,但为了评职称不得不去。去了,听了一位即将退休的软件公司老总讲道德。还是有些收获。还记得住他的这些观点。 1、不要做英雄,也不要做叛徒; 2、不该讲的话不要讲; 3、要作出对自己有利,也
2013-05-11 21:00:58
1223
1
原创 从"破窗效应"谈起
破窗效应: 一个房子如果窗户破了,没有人去修补,隔不久,其它的窗户也会莫名其妙地被人打破;一面墙,如果出现一些涂鸦没有被清洗掉,很快的,墙上就布满了乱七八糟、不堪入目的东西;一个很干净的地方,人们不好意思丢垃圾,但是一旦地上有垃圾出现之后,人就会毫不犹疑地抛,丝毫不觉羞愧。(by 百度百科 破窗效应 ) 最近碰到了魔法代码,《代码大全》里说的那种。有同事要走,把最近写的代码
2013-05-05 20:44:51
665
1
原创 最近对面向对象分析的一些思考
整整花了一个月的时间完成一个统计功能,以下是一点心得体会。不能头痛医头、脚痛医脚我是在项目经理的指导下进行开发。项目经理联系客户、确定需求,要实现哪些功能、长成什么样都是项目经理说了算。通常他明确了一项功能,我就开始实现该功能。可以看效果了,就让客户看。客户说是这样,那就继续做;若不是,又修修改改。这可能算得上是迭代式开发。书上一般推荐这种方法。但存在什么问题呢?可能看不到多个功能之间
2013-04-30 22:03:55
899
转载 IE9无法加载css文件,SEC7113: CSS 因 Mime 类型不匹配而被忽略
参考资料:http://tiger-passion.iteye.com/blog/379424 http://blog.163.com/lihuangsuo@126/blog/static/3686389120112174544383/ http://www.7es.cn/Software_development/233.shtml简单但不好的解决办法:直接把css写在jsp里,而
2012-06-13 21:27:05
6091
转载 seesion 与cookie 参考资料
参考资料:http://sizhefang.iteye.com/blog/25294http://blog.csdn.net/cxzhq2002/article/details/750148http://hi.baidu.com/i_love_xl/item/2b7a69175bc94f08d1d66dedhttp://apps.hi.baidu.com/share/detail/
2012-06-10 17:03:33
561
原创 配置Oracle本地Net服务名
配置Oracle本地Net服务名, 我理解为在本地用PL/SQL链接远程数据库。方法一: 打开oracle的Net Configuration Assistant,选择“本地Net服务名配置”,按部就班进行配置即可。参考资料:http://blog.csdn.net/bigbighello/article/details/4538622http://database.ctoci
2012-05-21 21:49:44
711
原创 html、jquery判断浏览器,导入不同的css文件
浏览器是IE6,加载ie6.css;浏览器是IE7及以上版本,加载ie7.css;浏览器非IE,加载notIEcss.css。 $(document).ready(function(){ //如果浏览器不是ie,加载notIEccss文件 if( ! $.browser.msie) { $("#notIEcssId").a
2012-05-18 17:09:03
1625
原创 jsonp跨域请求的小例子
例子一 请求别人主机上提供的JSONP服务(远程JSON服务):function crossDomain(){ var url = "http://services.digg.com/stories/top?appkey=http%3A%2F%2Fmashup.com&type=javascript&callback=?"; jQuery.getJSON(u
2012-04-24 22:57:27
548
原创 jsp中判断权限,若没有登录,则不能访问
在jsp中加permission_adminfilter.jsp中内容如下: request.setCharacterEncoding("GBK"); String loginUserName = (String)session.getAttribute("session_loginname"); if(!"admin".equals(loginUserNa
2012-04-22 14:46:22
3119
2
转载 使用myeclipse自动生成Hibernate文件
如果用的Myeclipse, 直接在Myeclipse -> Project capabilities -> Add Hibernate capabilities, 前几步就是选包, hibernate主体配置文件的位置设置, 最后再根据你用的数据库配一下数据库连接字符串, 配好之后直接点完成.已经导入了Hibernate capabilities后, 点windows -> show v
2012-04-22 14:21:46
496
转载 WebBrowser组件的execWB方法收藏
文章来源于网络,出处不可考,感谢原作者。1. 2. 调用方法:WebBrowser.ExecWB nCmdID, nCmdExecOpt, [pvaIn], [pvaOut]3. 参数说明:(a).nCmdIDOLECMDID_OPEN = 1,OLECMDID_NEW = 2,OLECMDID_SAVE = 3,OLECMDID_SAVEAS = 4,OLECMDID_SAVECOP
2009-10-04 22:01:00
1777
转载 WEB打印大全
文章来源:http://blog.csdn.net/phdbrianlee/archive/2007/09/29/1806814.aspx感谢原作者1、控制"纵打"、 横打”和“页面的边距。 ... function printsetup()...{ // 打印页面设置 try{ document.al
2009-10-04 21:59:00
939
转载 页面打印
文章来源于网络,出处不可考,感谢原作者。 一、 浏览器的打印功能菜单 这种方案的优势是不需要对浏览器作任何扩充,是最简单的办法,但问题也最多,如: 1. 不能精确分页。 浏览器一般是根据用户设置的页面大小,web页面的内容多少,来自行决定分页位置,程序员很难控制。会有页脚页眉干扰。 2. 不能准确对齐边边距及打印文字。 3. 不
2009-10-04 21:50:00
886
原创 鼠标获得焦点、移开, 改变背景色,鼠标形状 ,单击链接到其他页面
1.鼠标获得焦点、移开, 改变背景色,鼠标形状 ,单击链接到其他页面 onclick="window.location=xxx.htm;">2. 单价返回按钮返回到上一页返 回" class="buttonbg" onClick="history.back()" style="width: 72px; height: 26px">
2009-10-04 21:48:00
1137
原创 导入外部控件
1.导入外部控件:在文本框种使用控件: class="Wdate" onfocus="new WdatePicker(this)" value="单击选择开始时间"/>2. now
2009-10-04 21:45:00
876
转载 控件使用
文章来源:http://www.cnblogs.com/yg_zhang/archive/2006/11/23/570435.html Microsoft TreeView Control, version 6.0 当前节点: 删除" onclick="delItem()" /> 添加节点" onclick="addItem()" /> function init() {
2009-10-04 21:43:00
446
转载 打开新窗口
INPUT type="button" class="MyButton" onClick="openwindow2(url%>,,700, 800)" value="打印信息">INPUT type="button" class="MyButton" onClick="history.back();" value="返 回"> function openwindow
2009-10-04 21:21:00
476
转载 timestamp
文章来源于网络,感谢原作者。出处已不可考。1.Calendar time=Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); //year 为 int time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0 int day=time.getA
2009-10-04 21:11:00
1869
原创 IE中的activex控件使用
ie中的activex控件使用 文章来源于网络,感谢原作者。转载自http://www.cnblogs.com/yg_zhang/archive/2006/11/23/570435.html 1.tree控件 Microsoft TreeView Control, version 6.0 当前节点: 删除" onclick="delItem()" /> 添加
2009-10-04 20:52:00
1576
原创 让页面上下左右不留空隙
1. 让页面上下左右不留空隙body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px;}2.设置字符行距 LINE-HEIGHT: 150%;
2009-10-04 20:50:00
831
原创 使用Javascript修改客户端注册表
try{ var shell = new ActiveXObject("WScript.Shell"); //读注册表值var key1 = shell.RegRead("HKEY_CURRENT_USER//Software//Microsoft//Windows//CurrentVersion//Run//eip");
2009-10-04 20:48:00
498
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人