程序员心得
文章平均质量分 82
智慧的牛
为而不有,进退有时。
展开
-
程序员每日修炼
作为一个程序员,每日应做些那些事情呢?我认为有以下几点: 1、多看看时新的技术和技术所实现的产品,譬如好的网站、软件。包括用来做软件、网站时所用到的针对性技术和编程、组织的技术,前者就是像新的语言、新的数据库及其中的应用、新的数据库技术比如nosql(mongodb等),后者则有测试驱动开发、结对编程、极限编程等。 2、与自己的同事、领导或者同原创 2012-03-03 10:18:36 · 570 阅读 · 2 评论 -
java协程之quasar初窥
入门:java协程之quasar介绍http://www.open-open.com/lib/view/open1468892872350.html1、依赖: <dependency> <groupId>co.paralleluniverse</groupId> <artifactId>q...原创 2018-11-19 19:03:27 · 2624 阅读 · 1 评论 -
java 协程 quasar 从原理到代码应用
简介java开发对线程都不陌生,一个进程可以产生许多线程,每个线程有自己的上下文,但是每个线程也都有自己的消耗,所以线程的资源是有限的,尤其是将多个阻塞操作拆分为多个线程的做法,就是的多个线程在空耗,浪费了服务器的性能,这就是协程适用的场景。协程,其实就是在一个线程中,有一个总调度器,对于多个任务,同时只有一个任务在执行,但是一旦该任务进入阻塞态,则将该任务设置为挂起,运行其他任务,在运行...原创 2018-11-30 20:46:29 · 14026 阅读 · 19 评论 -
quasar 3 之 javaagent
接https://blog.csdn.net/guzhangyu12345/article/details/84666423 的最后例子,运行时会报如下错误:[quasar] ERROR: while transforming java/util/IdentityHashMap$KeyIterator: nulljava.lang.IllegalArgumentException at ...原创 2018-12-05 14:12:04 · 998 阅读 · 0 评论 -
智能广告投放
首先什么是广告?对观众来说,是视频播放开始以及中途的那30秒,是公交车站的大屏幕明星照;是百无聊赖或者痛恨万分的难捱时光,也可以是最新产品、热点的了解窗口。对企业来说,是推广产品、提高品牌知名度的渠道,也是打造企业形象、控制股票价值的手段,还可以是传达新文化、观念的“广播”。 对于普通用户来说,广告也是有好处的。广告是视频网站、搜索引擎、社交网站等服务的一大收入来源,...原创 2019-05-16 15:51:41 · 7023 阅读 · 2 评论 -
白话分布式定时任务框架
今天,让我们以分布式定时任务框架为例体验一下直观、形象地规划、设计中间件的方法。 分布式分布式任务调度的设计内容,有所谓调度器、执行器,还有任务的执行时间、并发阻塞策略,调度器对执行器的节点状态监控、任务执行情况跟踪,等等。概念很多,如何理出一个总体的头绪,本文提供一个方法:隐喻法。调度中心就好比监工,执行器就好比工人。监工头的任务就是监督工人完成任务;作为一个很负责的监工...原创 2019-07-18 10:23:23 · 358 阅读 · 0 评论 -
我的学习路径与方法之机器学习导入篇
作为一名信息与计算科学专业的毕业生,我学了许多数学方面的知识以及与计算机相结合的实践。数学,这个现代科学的基石,大家又爱又恨的科目,是一门对数字以及相关的许多抽象概念不断组合、把玩的学问。所谓“阴阳术数”,在中国古代,数字有特定的含义,奇数为阳,偶数为阴,在中药、周易推演、风水评估等许多方面有应用。中药里,有时不是像现在西医配方那样以重量、体积来定一味成分的量,而是类似“蟋蟀一对”...原创 2019-09-05 19:29:32 · 332 阅读 · 0 评论 -
开发以及团队管理方面的心得总结
本人有四年的工作经验,大学里也有不少项目经验,现在分享一些做事以及团队管理方面的心得总结:开发方面的经验在我看来,开发工作可以从如下几个角度去看:1、不确定性的减少过程就像以前华罗庚所说的读书方法:薄厚交叠,具体来说就是不断丰富、再不断总结。不断丰富可以找到更多的需求、考虑到尽可能多的情形,不断总结可以不断简化、精化内容。前者关乎事情的全面性,比如测试、原创 2016-04-19 13:54:32 · 4804 阅读 · 0 评论 -
高效工作总结
在it岗位上工作久了,看到许多陋习,也积累了许多的经验,通过这些经验可以提高工作效率,减少重复劳动、无效劳动。1、早失败原则项目中我们经常过度设计,自上向下,一步步进行,这样的好处是正规、系统,但是也有不可忽视的坏处,具体就是太迟实践,许多设计上想得天花乱坠的东西到了实践发现不可行,或者实现成本太高,只能舍弃。所以才会所谓敏捷开发,对于设想好的内容早去实践,早去试错,就算出错也原创 2016-07-29 08:49:55 · 3478 阅读 · 0 评论 -
git常用命令总结
1、初始化:初始化 git init配置提交账号git config --global user.name "xx"git config --global user.email "xx"查询配置 git config --local --list删除配置内容 git config --unset --global user.nam原创 2017-06-05 21:24:31 · 306 阅读 · 0 评论 -
单元测试之道
开发设计抽象产品和需求1、站在用户角度思考产品的行为 2、分析业务领域模型 3、测试领域模型一切面向接口设计1、设计基于restful的风格接口:uri代表了资源的实体http method描述了资源的状态转化,目前有四个:get,post,put,delete例如,获取用户信息,get /user/info or /user/12、设计业务方法接口每个业务方法应该都能描述用户的操作原创 2017-06-12 13:44:33 · 991 阅读 · 0 评论 -
玩转bug之find and fix
发现bug1、随机输入;边界值(0、null)2、检查不应该发生的动作,减弱假设3、创造错误条件(改代码、数据库)4、相信用户 更多的时间、事实往往证明,他们所报告的确是实际发生的情况。5、工具 以减小输入的代价,以及批量覆盖测试6、事件顺序、时间引起的故障解决bug1、核实细节、夯实假设2、日志记录 调试问题,尤其线上、历史问题的时候3、最近的变化4、测试修复 修复前运行代码,确认是有bu原创 2017-06-12 20:08:10 · 397 阅读 · 0 评论 -
nio实战之netty实现
什么是nioio多路复用技术,把多个io的阻塞复用到同一个selector的阻塞上,从而使得系统在单线程的情况下可以同时处理多个客户端请求。适用场景:高负载、高并发原阻塞io的问题每个请求的处理都需要单独的线程(阻塞)编解码规则不统一,如果使用java提供的序列化难以跨平台,字符串大,序列化性能差3个主题传输:io模型协议线程:数据报如何读取?读取之后的编解码在哪个线程执行?编解码后的消原创 2017-06-07 13:25:05 · 7448 阅读 · 1 评论 -
工作中常用的linux语句
1、杀死nginxps -ef|grep nginx|grep -v 'grep'|awk '{print $2}'|xargs kill -s 92、查找文件,匹配文件内容指定最多匹配行数find . | xargs -n50 grep dubbo:registryfind . -name 'service.log.*' | xargs grep '开始更新库存'指定前...原创 2017-06-17 17:47:42 · 799 阅读 · 0 评论 -
从0到1学zabbix监控
工作中需要用到对现有服务进行监控,同事推荐下,开始对zabbix进行研究,zabbix的确是一个不错的监控工具,功能强大、全面,各种指标以及触发器、动作都有明确的概念以及接入方式。相比之下缺点显得非常正常,因其系统化、完整性,你需要一定时间去摸清它的各种组件及其用法。下面讲讲我一步步入手使用的过程:部署1、安装方式有多种,最靠谱的还是直接下载源码包,编译安装:http://nchc...原创 2018-07-17 09:17:39 · 245 阅读 · 0 评论 -
我的学习路径与方法之机器学习篇2——详细历程
继上一篇的大原则、方法论,这一篇讲述我机器学习的历程,包括大学时的专业积累、数学建模比赛实践;以及工作后的相关知识自学、参加网上的比赛。原创 2019-09-06 10:21:51 · 327 阅读 · 0 评论