热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2015年度总结2016demo年

放在草稿箱很久的总结博客,今天发一下,一是告诉自己要不断总结新的知识点,总结生活。二是要告诉自己博客多久没有写啦,本月要补上

    放在草稿箱很久的总结博客,今天发一下,一是告诉自己要不断总结新的知识点,总结生活。二是要告诉自己博客多久没有写啦,本月要补上啦。不然就感觉自己没有前进反而倒退了。(2016年4月21日23:45:00)。


    2015总结比每年来的晚了一些。

    2015年是逐渐步入正轨的一年,如论是生活上还是工作上,都开始逐渐稳定。


    感谢他人,同时感谢自己,不再玻璃心,收拾行囊,不断前进。引用热播剧《芈月传》,经典台词:“我虽出生王族,却一直被人踩在脚下,一无所有,我不墨守成规,也不怀挟偏见,我既能一掷决生死,又能一笑泯恩仇”,这样的态度和胸襟值得我学习。

    看了看2014的总结,去掉所有的光,剩下那些沉淀的东西,2014的我在告诉自己踏实些。


2015 从技术上

    有时候人需要憋,不憋到一定程度,不恐惧到一定的程度,就不会达到极致。就像那个词,乐极生悲,在技术上恰恰相反,以前会因为担心自己弄不出一个东西害怕着急,现在的自己感觉没有什么是自己弄不出来的,没有什么是自己研究不透的,尤其是越弄不出来越会精神,越会兴奋,总是会山重水复疑无路,柳暗花明又一村。不过还是要念叨一下自己新接触的东西。

    工具

    8月初入职**网,陌生的多,挑战大,我就会很兴奋,之前一直在用myEclipse编译环境开发,来到这边接触到了Intellij,从green hand到old hand,现在已经游刃有余了,哈哈,比myeclipse好用多了。框架上,springMVC+spring + mybatis,MVC,View层使用的模板引擎,一种是freemarker 一种是velocity,初次使用感觉像是自己编了一套jstl的规范,后来慢慢的知道模板引擎让我们彻底的分开视图和业务逻辑层,不会在界面上有任何的java后台代码,使开发人员能更好的分工。有些产品我们用java作为服务端提供接口,客户端可能是android、iso或者html5,不过都大同小异啦。

对于intellij的一些使用小技巧总结博客如下:(勿喷)

    http://blog.csdn.net/column/details/intellijsharp.html

    代码提交工具

    一直用的是Subversion,现在用的是git,在自己本地添加了一个缓冲仓库,这样避免了很多麻烦。此外,intellij的git操作也很强大。

    使用面向服务体系结构(soa)

    使用阿里开源的dubbo,dubbo是一个分布式服务框架,致力于提高性能和透明化的RPC远程服务调用方案,是阿里soa服务化治理方案的核心框架,采用dubbo+zookeeper实现分布式管理。搭建过dubbo客户端和服务器的demo,总结博客如下:

    http://blog.csdn.net/lovesummerforever/article/details/48138393

    http://blog.csdn.net/lovesummerforever/article/details/48180937

    http://blog.csdn.net/lovesummerforever/article/details/48180957

    http://blog.csdn.net/lovesummerforever/article/details/48180971

    http://blog.csdn.net/lovesummerforever/article/details/48975703

    http://blog.csdn.net/lovesummerforever/article/details/48997797

    http://blog.csdn.net/lovesummerforever/article/details/48998667

    http://blog.csdn.net/lovesummerforever/article/details/48998787

    http://blog.csdn.net/lovesummerforever/article/details/49000703

    http://blog.csdn.net/lovesummerforever/article/details/49001091

    当然会有如下问题,dubbo是用在局域网内的吗?可以用于企业之间的接口联调吗?dubbo可以放到公网上吗?dubbo是将大量请求进行分流,从而达到及时处理的目的。而之前不用dubbo,采用spring的rpc,能实现一个生产者对应一个消费者,而一个生产者+生产者复制对用多个消费者。dubbo的底层协议?缺省协议基于netty3.2.2+hessian3.2.1 dubbo超时时间设置?dubbo方法接口是否可以重载?等问题,不可以哦


    缓存技术

    使用redis缓存用户经常访问的数据,可以存储,set,list,hash,String,Object类型。例如对于实时的历史显示,为了减少并发的压力,可以设置较短时间的缓存,这样增加接口的效率。使用redis缓存实现session共享,当用nginx进行负载均衡的时候,用户访问session数据同步是一个问题,采用redis实现session共享,解决用户数据不同步问题。

    当缓存文件过大时,总会出现这样或者那样的问题,缓存时间的设置,内存空间的大小等都需要我们注意。对于上万级,百万级或者千万级的缓存,我们还可以使用SSDB作为大数据的缓存使用,SSDB支持set map kv,list等数结构,用来替代或者与Redis配合存储十亿级别的数据,被众多互联网企业使用。


    数据库负载均衡

    使用360开源的Altas实现mysql数据库负载均衡和读写分离。

    Altas主要功能是,读写分离、从库的负载均衡、IP过滤,Sql语句黑白名单,自动分表。官方文档:http://www.oschina.net/p/atlas/

    说到数据库这,除了读写分离和自动分表,还要注意sql语句,在设计接口时,如何避免业务逻辑复杂的sql,以及sql的优化。

    单元测试

    采用Junit进行接口的单元测试,可以实现简单的单元测试,简单的业务逻辑可以满足开发人员的需求。一个更加灵活的测试是,mock测试,当真实的对象具有不可确定的行为,产生不可预测的效果,(例如股票和天气等)真实对象很难被创建,它的某个行为也很难被触发,这时候可以使用mock对象作为真实对象的替代品,或者和其他开发小组或新的硬件打交道的时候。

当然自己写的接口,可以自行使用jemeter工具进行压测。

    负载均衡

    采用tomcat+nginx负载均衡,采用面向服务器的框架来负载均衡。

    搜索

    普通的搜索,使用sql的搜索,sql语句 select * from table where clumn like '%aa%'; 每次都要去访问数据,从而增加了数据库的访问压力。采用索引,一方面在数据库中添加常用查询字段的索引,另一方面使用第三方搜索引擎机制,使用solr独立企业级搜索应用服务器,用户可以通过http请求,向搜索引擎服务器提交一定格式的xml文件,生成索引;也可以通过http get操作查找请求,并得到xml格式的返回结果。当然,solr服务器有自己的负载均衡机制,我们可以solr+缓存技术同时使用,提高效率。


    多线程

    多线程是指从软件或者硬件上实现多个线程并发执行技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多余一个线程,进而提升整体处理性能。那多线程什么时候用呢?多线程适用于cpu有空闲,想提高系统资源的利用率,或者需要异步操作的时候用。在这里使用在批量修改权限,以及某些批量更新上。


    异步操作

    采用rabbitmq异步消息队列,使用场景:项目中一些无需及时返回数据且耗时较多的操作提取出来,进行异步操作,这种异步操作大大节省了服务器的请求响应时间,从而提高了系统的吞吐量。例如,异步更新某些数据,某些写入日志操作等。

2015 其他

    书单

   2015年初看了几本技术类的书,《maven实战》、《jquery权威》、《js权威》,《redis原理》大概翻了一遍,一些非技术类的书,看完了《菜根谭》虽然有些文言文的意思,但是受益匪浅,让我们在姹紫嫣红的世界中沉淀下来。《明朝那些事儿》在地铁上看完了全七册,有意思有意思,推荐的一本很有意思的历史书,明朝的那些皇帝印象最深刻的就是开国皇帝朱元璋了,喜欢他的神威英武,平定四海,性格严明,杀伐决断!朝代的兴衰,个人的荣辱,当局者迷旁观者清啊。《向前一步》讲述的作为女子需要自己争取自己的权利,需要站出来。看完《黄金时代》电影,于是后来买了萧红的《呼兰河传》才发小小学课本上的火烧云片段是来自萧红的呼兰河传,萧红的呼兰河传让我看到在那个冰凉的世界中,她就是那个蜡烛,有光有温暖。最近看的《就当一次路过》短片小说的集合,有几个短片还可以,刺破现实。读书的时光总是那么少大多数的时间都被工作和手机占据着,买了个kindle,2016年,新的开始,不运动就读书。

   

    思想上

    温饱思“淫欲”,想要的多了,自然生活琐碎事就多了,所谓的着急或者说是急功近利,是因为欲望大了。

    改变

    佛说,我不入地狱,谁入地狱,地狱都走过了,到了哪里不是天堂呢?

    总结

    本色做人,角色做事,多总结demo。


推荐阅读
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 使用nodejs爬取b站番剧数据,计算最佳追番推荐
    本文介绍了如何使用nodejs爬取b站番剧数据,并通过计算得出最佳追番推荐。通过调用相关接口获取番剧数据和评分数据,以及使用相应的算法进行计算。该方法可以帮助用户找到适合自己的番剧进行观看。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • JDK源码学习之HashTable(附带面试题)的学习笔记
    本文介绍了JDK源码学习之HashTable(附带面试题)的学习笔记,包括HashTable的定义、数据类型、与HashMap的关系和区别。文章提供了干货,并附带了其他相关主题的学习笔记。 ... [详细]
author-avatar
深厚科学修养的文艺青年
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有