程序员
文章平均质量分 51
fesng
CSDN年度博客之星和博客专家,毕业长期在一线互联网专注于Android开发以及Android漏洞挖掘研究。
展开
-
2019年推荐的技术书单
包括再次看的和首次看的书,很多书多次看收获很大,温故而知新,比如《重构》。摘录基本觉得不错的书1.《Android开发艺术探索》2.《Android 源码设计模式解析与实战》3.Android软件安全与逆向分析4.深入理解java虚拟机5.《重构》6.《Android插件化开发指南》7.《计算广告》...原创 2019-12-31 01:50:43 · 612 阅读 · 0 评论 -
搭建属于自己的技术博客
每个程序员都需要自己的博客本文的博客搭建采用了静态博客技术 。技术框架是:github pages和hexohexo安装hexo介绍Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。安装hexo之前需要先安装git和node.js参考网站:https://hexo.io/zh-cn/docs/index.原创 2016-11-10 09:27:14 · 3085 阅读 · 3 评论 -
Hexo写博客
hexo配置githubGitInstall hexo-deployer-git.$ npm install hexo-deployer-git –save配置_config.yml文件deploy: type: git repo: repository url branch: [branch] message: [message]选项描述repo GitHub/Bit原创 2016-11-10 11:25:02 · 2122 阅读 · 3 评论 -
linux添加环境变量(path)
分为三步1.sudo vim /etc/profile2.export PATH=”全路径:$PATH”3.source /etc/profile我的微信二维码如下,欢迎交流讨论欢迎关注《IT面试题汇总》微信订阅号。每天推送经典面试题和面试心得技巧微信订阅号二维码如下:原创 2016-11-10 22:03:17 · 1686 阅读 · 1 评论 -
ubuntu安装qq
安装的版本是国际版1.安装依赖库sudo apt-get install libgtk2.0-0:i386sudo apt-get install lib32ncurses52.下载下载链接: http://pan.baidu.com/s/1jIwKdXshttp://linux.linuxidc.com/3.解压并安装wineqqintl定位到该路径,然后再输入 sudo dpkg -i wi原创 2016-11-13 14:20:00 · 1458 阅读 · 2 评论 -
ubuntu垃圾清理命令
ubuntu的空间莫名不够用了通过系统自带的工具磁盘使用分析器,发现var文件下面的log100多个g,这个日志文件是可以删除的,然后tmp文件也是可以删除的。1.sudo rm -rf /tmp/*2.sudo rm -rf /var/log/*大功告成!!!我的微信二维码如下,欢迎交流讨论欢迎关注《IT面试题汇总》微信订阅号。每天推送经典面试题和面试心得技巧微信订阅号二维码如下:原创 2016-11-30 21:39:17 · 2623 阅读 · 2 评论 -
ubuntu日志文件管理
众所周知,ubuntu的日志文件会越来越大,需要定期管理logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循)、压缩以及删除旧的日志文件。例如,你可以设置logrotate,让/var/log/foo日志文件每30天轮循,并删除超过6个月的日志。配置完后,logrotate的运作完全自动化,不必进行任何进一步的人为干预。另外,旧日志也可以通过电子邮件发送,不过该选项超出了本教程的讨原创 2016-12-01 09:43:21 · 4179 阅读 · 3 评论 -
openJdk和sun Jdk区别和安装
openJdk和sun jdk的区别使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的OpenJDK,那么到底什么是OpenJDK,它与SUN JDK有什么关系和区别呢? 历史上的原因是,OpenJDK是JDK的开放原始码版本,以GPL(General Public License)协议的形式放出(题主提到的open就是指的开源)。在JDK7的原创 2016-11-21 15:43:32 · 6195 阅读 · 0 评论 -
ubuntu切换java版本
众所周知,ubuntu经常需要安装不同的java版本,他们之间的切换就是一个很大的问题1.Chose another Java loader:sudo update-alternatives –config java2.Chose another compiler (this is what you need):sudo update-alternatives –config javac3.Chos原创 2016-11-21 10:29:58 · 9580 阅读 · 2 评论 -
下载Android源代码编译错误总结
错误1:prebuilts/sdk/api/18.txt:22055: error 9: Removed public method android.telephony.gsm.SmsMessage.calculateLength(或者其他的类似错误)解决方法:1.http://blog.csdn.net/lpjishu/article/details/53256914 2.make updat原创 2016-11-21 18:08:54 · 2525 阅读 · 0 评论 -
ubuntu挂载的NTFS文件编译失败问题
错误:编译Android源代码时候出现,权限拒绝的错误 解决方法:sudo apt-get install ntfs-configsudo ntfs-config我的微信二维码如下,欢迎交流讨论欢迎关注《IT面试题汇总》微信订阅号。每天推送经典面试题和面试心得技巧微信订阅号二维码如下:原创 2016-11-22 17:16:00 · 1383 阅读 · 0 评论 -
论文写作技巧-三线表,文献引用,页眉页脚
对于论文来说,最常见的表格形式就是三线表,清晰明了。由于我是在linux下,不支持Word,所以我用WPS for Linux来演示。三线表的制作1.选中表格,右键 2.选中边框和底纹 3.如图先选择,无,去除边框,然后再点击添加 4.第一行添加边框,只是选中第一行既可。页眉和页脚1.点击章节菜单,选择页眉和页脚如下图: 2.设置首页不同和奇偶页不同,如下图: 引用1.生成引用原创 2017-01-08 22:34:44 · 2532 阅读 · 0 评论 -
视频入门概念
视频入门概念1.视频分辨率视频分辨率是各类显示器屏幕比例的常用设置,常见的屏幕比例其实只有三种:4:3、16:9和 16:10,再加上一个特殊的5:4。概念我们常说的视频多少乘多少,严格来说不是分辨率,而是视频的宽和高像素值。分辨率是用于度量图像内数据量多少的一个参数,通常表示成ppi(每英寸像素Pixel per inch)那个视频的320X180是指它在横向和纵向上的有效像素,窗口小时ppi值较原创 2017-04-17 17:58:55 · 1305 阅读 · 0 评论 -
互联网校招技术面试解析
以下是你关于校招经验的分享原创 2017-06-04 19:16:20 · 1925 阅读 · 0 评论 -
java必备技能-集合类的遍历删除和包含判断
集合类的遍历删除和包含判断这里用List举例循环删除1.常用的方式是for循环遍历删除这样的方式会有问题,因为删除的时候会改变元素的顺序,会发生前移,这样同一个坐标对应的元素会发生变化。2.推荐采用迭代的方式遍历删除代码如下:Iterator<String> it = list.iterator();while(it.hasNext()){ String x = it.next();原创 2017-06-16 09:48:46 · 919 阅读 · 0 评论 -
量子计算机的现状和趋势
量子计算机的现状和趋势量子计算机概述计算机是一种新型的运算 它具有具有强大的并行处理数据的能力,可解决现有计算机难以运算的数学问题。因此,它成为世界各国战略竞争的焦点。量子计算机的优势量子计算机与现有的电子计算机以及正在研究的光计算机,生物计算机等的根本区别在于其信息单元不是比特。而是量子比特qubit,即是0和1两个状态的叠加。 因此单个量子cpu具有强的平行处理数据的能力。其运算能力随量子处理数原创 2017-06-11 23:33:21 · 8033 阅读 · 2 评论 -
《 Effective Java》关于泛型,方法和枚举,注解的建议
泛型27.优先考虑泛型方法 28.利用有限制通配符来提高API的灵活性 29.优先考虑类型安全的异构容器枚举30.用enum代替int常量 31.用实例域代替序数 32.用EnumSet代替位域 33.EnumMap代替序数索引 34.用接口模拟可伸缩的枚举 35.注解优先于命令模式 36.坚持使用override注解 37.用标记接口定义类型方法类38.检查参数的有效性 39.原创 2017-08-31 01:41:55 · 1369 阅读 · 1 评论 -
《Effective Java》经典建议系列(3)
通用程序设计1.将局部变量的作用最小化 2.for-each循环优于传统的for循环 3.了解和使用类库 4.如果需要精确的答案请避免使用float和double 5.基本类型优于装箱基本类型 6.如果其他类型更合适,避免使用字符串 7.当心字符串连接的性能 8.通过接口引用对象 9.接口优先于反射机制 10.谨慎的使用本地方法 11.谨慎的进行优化 12.遵守普遍接受的命名惯原创 2017-09-01 00:46:26 · 1934 阅读 · 0 评论 -
《重构》一书经典总结(一)
《重构》一书经典总结(一)为何重构1.重构改进软件设计 2.重构使软件更容易理解 3.重构提交稿编程速度 4.重构帮助找到bug何时重构1.三次法则 第一次做某事的时候去做,第二次会产生反感,但还是会做,第三次就应该重构2.添加功能时候重构 3.修补错误时重构 4.复审代码时重构重构面临的难题1.数据库 2.修改接口 3.难以通过重构手法完成的设计改动 4.何时不该重构原创 2017-09-02 20:10:18 · 4158 阅读 · 0 评论 -
《重构》一书总结(二)
《重构》一书总结(二)重构的重点,在于对那些代码进行重构,如果重构不当,反而适得其反。重构代码终结如下1.Duplicated Code 重复代码 2.Large Class 复杂的类 3.Long Parameter List 过长的参数列表 4.Divergent Change 发散式变化 5.Long Method 过长的函数 6.Shotgun Surgrny 霰弹式修改 7.D原创 2017-09-02 23:52:11 · 1623 阅读 · 0 评论 -
奇点到来,超越人类 《Nature论文:人工智能从0-1自学打败阿法狗 》论文翻译
翻译前言阿法狗 ZERO以100:0打败阿法狗 ,引起轰动,论文在Nature发表。 阿法狗 ZERO引起轰动的原因: 1.完全自学,超越人类。 2.发展出超越人类认知的新知识,新策略。 3.能够快速移植到新领域本文是我和好友春(机器学习在读博士,研究方向为自然语言处理,机器学习,深度学习,微信号:zyc973950709)一同翻译,感谢。其中第三章考虑篇幅去掉,具体查看原文,或者私信我。题原创 2017-10-20 02:08:05 · 10219 阅读 · 7 评论 -
Github上Python超越Java,人工智能程序员大热
前言GitHub 2017年年度报告发布:有70万来自中国的新用户加入,占据Github新人总数70%。Python超越Java成为第二最受欢迎的语言,TensorFlow依然是最受欢迎的深度学习库。Python超越Java跃居第二!15种语言 ![Uploading image_276438.png …] Python取代Java成为GitHub上第二流行的语言,今年...原创 2017-10-29 16:11:26 · 2198 阅读 · 1 评论 -
Google自动编程框架AutoML入门指南
前言本篇是和Kabuto_hui(ISN国家重点实验室成员)合作修改生成的,感谢Kabuto_hui。更多技术文章请访问,Kabuto_hui的csdn博客()链接:http://blog.csdn.net/kabuto_hui导读Google在AI First的战略下,陆续发布AI相关的产品,技术。据最新的报道:Google AutoML 系统自主编写机器学习代码,其效率在某种程...原创 2017-10-21 23:48:24 · 10884 阅读 · 7 评论 -
AI时代取代手机:语音交互设计漫谈
文章翻译自Lyndon Cerejo发表于SMASHING MAGAZINE的Designing Voice Experiences,全文通过构建一个语音问答类的益智游戏来分享了作者关于语音体验设计的经验,涵盖了一个语音应用程序从设计到开发测试及上线的整个流程。基于语音的界面正变得司空见惯。 Siri和Cortana等语音助手也已经出现好几年了,但在过去的这个假期,亚马逊和谷歌的语音驱动型设备进入了原创 2017-11-12 19:32:43 · 2133 阅读 · 1 评论 -
互联网人必备的六大类专业搜索工具
前言感谢凌晨四点半的投稿,他的博客地址:http://www.jianshu.com/u/8da95d74dca0我的一位朋友,用了10年的电脑。作为一名老网民,他的信息检索能力让我诧异。每次需要找点图片、网站、研究报告甚至小电影,他都需要花费很多时间,在各个论坛、网站里疲于奔波。因为他只会用百度!然而,世界上不仅仅只有一类搜索引擎。百度或者google虽然可以提供...原创 2017-11-18 00:05:13 · 7632 阅读 · 1 评论 -
六款互联网人不容错过的软件神器
前言本文来自凌晨四点半的投稿,感谢!他的博客地址:http://www.jianshu.com/u/8da95d74dca0正文开始作为一个在职场混迹多年的老鸟,电脑的软件换了一拨又一拨。然而,无论是大学的读书生涯,还是在不同的公司搬砖,始终有那么几款软件,一直相伴左右。原因很简单,它们实在是太好用了! 1、everything 文件搜索神器Everything是vo...原创 2017-11-20 00:25:11 · 3720 阅读 · 2 评论 -
程序员免费自学编程的8大网站!
正文开始很多人包括一些企业家,和市场营销人员都认为学习编程对一个人走向成功十分有帮助。在过去的一年里,我一直在学习编程。它有助我成为一个更好的创业者,我甚至可以提供一些帮助,当我的团队需要解决一些bug的时候。现在,如果你想学编程的话,这12个网站可以帮助你,它们都提供了免费的课程供你学习,因此你无需担心费用的问题。1.Codecademy其中,Codecademy是最受欢迎的...原创 2017-11-23 00:01:33 · 64034 阅读 · 20 评论 -
程序员必备的6个辅助开发的软件神器
前言(欢迎评论区列出你认为牛逼的开发神器~) 本文来自MeloDev的投稿,他的博客地址: http://www.jianshu.com/u/f5909165c1e8程序员必备简捷开发辅助工具总结 写在前面:工欲善其事必先利其器,拥有简捷的开发辅助工具能大大提高我们程序猿的开发效率。Melo刚到学校就给大家总结了一些常用的辅助开发的工具,希望大家能喜欢,闲话不多说,马...原创 2019-12-30 15:12:12 · 48861 阅读 · 0 评论 -
2018程序员必读书单
“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?这个书单列表内容丰富,涵盖很多东西。”《代码大全》 史蒂夫·迈克康奈尔“优秀的编程实践的百科全书,《代码大全》注重个人技术,其中所有东西加起来,就是我们本能所说的“编写整洁的代码”。这本书有50页在谈论代码布局。” —— Joel Spolsky对于新手来说,这本书中的观念有点高...原创 2018-01-02 01:09:31 · 3322 阅读 · 1 评论 -
小程序的野心
小程序最近两次密集升级,代表了微信力推小程序的决心,和小程序越来越重要的战略位置。新增功能有哪些:1.微信在主界面新增了小程序任务栏的功能。2.小程序菜单进行了升级,并提供小程序间快速切换的功能。3.开放了小游戏开发文档和开发者工具。01—新增小程序任务栏功能用户可以通过下拉的动作,唤出小程序任务栏,打开最近使用过的小程序或进入小程序历史列表。(通过任务栏打开最近使用的小程序)01解读:这个是一个顶原创 2017-12-29 00:35:41 · 1063 阅读 · 0 评论 -
一文读懂微信身份证和背后的技术
微信身份证是什么?微信身份证是由公安部第一研究所在国家重大项目支撑下推出的网络身份证,是实体身份证芯片唯一对应的电子映射文件,通过国家“互联网+可信身份认证平台”签发,目的是解决“网上身份难确认、易伪造”等难题。发展历程2017年12月25日,由广州市公安局南沙区分局、腾讯、建设银行等10余家单位发起的“微警云联盟”在广州南沙成立。活动现场,联盟成员单位共同签署合作框架协议,并且现...原创 2017-12-29 20:11:52 · 1971 阅读 · 0 评论 -
ReentrantReadWriteLock(互斥)和CountDownLatch(同步)解析
今天讲一下Java常用的两个类,一个是常用的互斥类,一个是同步。ReentrantReadWriteLockReentrantReadWriteLock和同一个包下面的ReentrantLock都是用于互斥。区别是ReentrantReadWriteLock效率更高,分为读写锁。 读锁:ReentrantReadWriteLock.readLock.lock() 写锁:Reentran...原创 2018-07-09 22:45:10 · 704 阅读 · 3 评论