程序员

字节流---Day30

核能气质少年 提交于 2019-12-06 15:32:15
IO概述   当我们在生活中把电脑上的数据拷贝到U盘或者硬盘上时,就是进行数据传输,按照数据的流动方向,我们分为输入(input)和输出(output),即就是所谓IO流   Java中I/O操作主要是指使用 java.io 包下的内容,进行输入、输出操作。输入也叫做读取数据,输出也叫做作写出数据 IO的分类   1.根据数据流向:     1.输入流:把数据从其他设备上读取到内存中的流。(硬盘--->>内存)     2.输出流:把数据从内存中写出到其他设备上的流。(内存--->>硬盘)   2.根据数据类型:     1.字节流:以字节为单位,读写数据的流     2.字符流:以字符为单位,读写数据的流 字节流   一切文件皆为字节,当我们在进行文本、图片、视频等传输时,都是以字节来传输的。 字节输出流【OutputStream】   java.io.OutputStream 抽象类是表示字节输出流的所有类的超类,将指定的字节信息写出到目的地。它定义了字节输出流的基本共性功能方法。     1.public void close() :关闭此输出流并释放与此流相关联的任何系统资源。     2.public void flush() :刷新此输出流并强制任何缓冲的输出字节被写出。     3.public void write(byte[] b) :将 b

2019年java技术大盘点

霸气de小男生 提交于 2019-12-06 15:26:25
福州SEO :2019年互联网企业在Java开发中有哪些主流、热门的IT技术呢,下面让我们来看一下。 微服务技术 微服务架构主要有:Spring Cloud、 Dubbo、 Dubbox等,以 Dubbo占比最高,可达26% 微服务网关技术,使用springcloud-zuul的程序员占比最高。 远程调用技术 使用RPC框架的程序员中, 使用Dubbo的人数占比最高,其次为 dubbox、gRPC、hessian也具有一定的使用比例。 开发技术 多数程序员在工作中使用的开发技术为权限管理和消息队列。1/4的程序员在工作中使用的开发技术为报表技术、分布式缓存技术和负载均衡解决方案。 权限管理技术 shiro的使用比例最高,其次为spring security和自定义框架。 消息队列技术 消息队列技术主要有:ActiveMQ、RabbitMQ和Kafka。RocketMQ的使用人数较少。 分布式缓存技术 Redis技术是绝大多数程序员在工作中会使用到的分布式缓存技术。其次为ehcache,而Memcached占比较低。 全文检索技术 Solr、elasticsearch和Lucene是多数老程序员在工作中使用的全文检索技术。其中,超半数的程序员在工作中使用solr和elasticsearch。 最后 Java 仍在互联网技术圈占据主导地位,开发者需要不断学习新技能

变量匈牙利命名法

允我心安 提交于 2019-12-06 15:16:57
匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。 举例来说,表单的名称为form,那么在 匈牙利命名法 中可以简写为frm,则当表单变量名称为 Switchboard时,变量全称应该为 frmSwitchboard。这样可以很容易从变量名看出Switchboard是一个表单,同样,如果此变量类型为标签,那么就应命名成 lblSwitchboard。可以看出, 匈牙利命名法 非常便于记忆,而且使变量名非常清晰易懂,这样,增强了代码的可读性,方便各程序员之间相互交流代 码。 据说这种命名法是一位叫 Charles Simonyi 的匈牙利程序员发明的,后来他在微软呆了几年,于是这种命名法就通过微软的各种产品和文档资料向世界传播开了。现在,大部分程序员不管自己使用什么软件进 行开发,或多或少都使用了这种命名法。这种命名法的出发点是把变量名按:属性+类型+对象描述的顺序组合起来,以使程序员作变量时对变量的类型和其它属性 有直观的了解 来源: https://www.cnblogs.com/yuanqisheng/p/11992367.html

程序员把地府后台管理系统做出来了,还有3.0版本!

会有一股神秘感。 提交于 2019-12-06 15:07:56
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员也是虎躯一震,本来想拒绝的,不过做不完就不让回去,而且,貌似这也是他报仇的好机会啊! 产品同学也被勾下来了。。 第二场:研发过程中的新需求 项目开发过程中,阎罗王发来了一个消息: 第三场:程序员还阳 项目进行中,程序员偷偷地在系统上留了一个后门,不仅回到了阳间,还将自己的寿命修改为+∞。 地府中留下的,是产品经理孤寂的身影。 这个故事告诉我们,做产品的,不能提太多的需求,也不能完全不懂技术,否则,可能会死的不明不白的。 第二幕:地府管理2.0研发 地府管理系统项目上线后,阎王尝到了很大的甜头,地府工作效率提高了很多倍,于是,“地府2.0计划”紧锣密鼓的开始了。 越是,不少人做梦,都梦见自己死了…… 设计师: 昨晚做梦梦到我死了,进了阎王殿 阎王爷让我给他的地府做一张宣传海报 HR: 昨晚做梦梦到我死了,进了阎王殿 阎王爷让我给他考核一下地府在职人员的业绩 文案: 昨晚做梦梦到我死了,进了阎王殿

成长成综合才能型程序员有哪些条件

≡放荡痞女 提交于 2019-12-06 14:51:10
很多的程序员朋友都遇到过这种情况,三年前是程序员,三年后还是程序员。因此对于大多数人来说,只有在技术方向上做得比较深入,才能适当做工作调整,把自己转变为某个领域的专家。其实目前国内缺乏管理能力和专业知识技能并驾齐驱的IT人才,既能掌握核心技术又有全局掌控能力的项目管理人才,非常难找。那么,如何才能成为综合才能型程序员呢? 方法一: 不断学习,努力提高自己的技能 从技术提高的曲线来看,新手的技术提高速度最快,无论从时间还是急迫性来讲对新手的压力比较大。而到了成熟阶段,其编程时间也大大缩短,学习技术的迫切性也降低了, 所以技术提高速度就慢下来许多。因此,成熟的程序员一定要反思自己,看看自己的技术发展之路,哪些走的比较踏实,哪些走的比较急促。反思后要抽出时间抓紧学习,把自己的技术上明显不足的地方给补上,这样程序员的技术水平才能有质的提升,应付各种挑战,为今后的发展铺平道路。 方法二: 结合自身条件选择程序员转型方向 根据自己的情况,决定自己做软件架构师还是高级顾问销售,又或者是走向管理层,这和个人性格与情商有关。软件优秀的管理者都必须懂得技术,掌握核心技能的人在向管理岗位转型时才有优势,因而提升管理能力成了转型的关键。所以一定要增强工作主动性和参与性,无论是软件开发还是项目管理,国内员工大多只是做好份内事或完成交派任务,很少能主动发现问题。其实,只有拥有更高眼界,才能谋取大发展。 方法三

Python3.6实现12306火车票自动抢票,附源码

会有一股神秘感。 提交于 2019-12-06 14:43:33
Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象、直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法非常简捷和清晰,与其它大多数程序设计语言不一样,它使用缩进来定义语句。 Python支持命令式程序设计、面向对象程序设计、函数式编程、面向切面编程、泛型编程多种编程范式。与Scheme、Ruby、Perl、Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理存储器使用。它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务。Python虚拟机本身几乎可以在所有的作业系统中运行。使用一些诸如py2exe、PyPy、PyInstaller之类的工具可以将Python源代码转换成可以脱离Python解释器运行的程序。 最近在学Python,所以用Python写了这个12306抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正。话不多说,进入正题: 这个脚本目前只能刷一趟车的,人数可以是多个,支持选取作为类型等。 实现思路是splinter.browser模拟浏览器登陆和操作,由于12306的验证码不好自动识别,所以,验证码需要用户进行手动识别,并进行登陆操作,之后的事情

一个老程序员的阶段性总结

大憨熊 提交于 2019-12-06 13:19:22
一个老程序员的阶段性总结 时间飞逝,一晃做软件开发已经有15年了,看到很多互联网公司的起起落落,互联网行业由稀少,变得异常繁荣,心中万分感慨,回想之前做过的工作,今天突然间想总结一下自己之前的工作历程,以及自己在此过程中遇到的各种困难。 2000年,就读于太原理工大学计算机系,开始了IT行业的探索。在大学中,从386,486这样的微机开始学习编程,逐渐的硬件设备进入一个飞速发展期,intel公司奔腾系列CPU进入了PC市场,极大的提高PC的运行速度。从DOS到win95,win98,winme,winnt,win2000,再到后来的winxp,win7,win10,操作系统也得到了飞速发展,PC和笔记本电脑进入了千家万户,十多年前动辄上万的电脑,一度成为奢侈品。 2004年,走出大学校园,进入了社会,开始找工作。当时的互联网企业不是很多,拿着一张毕业证书,就跑到中关村去找工作,记得当时有个摩托罗拉的招聘会,拿着简历找工作的学子排了老长的队伍,自己排在队伍的后面,非常忐忑,在等的过程中,和几个一起等待的学子聊天,发现这些人不是清华,就是北大,北航,此一点的是北邮,北理,当时,心里咯噔一下,就我这勉强挤进211的大学毕业生,哪还有什么竞争力,果然,在投完简历后,便没有了音信。之后,在51job上投简历,大概面试了两三家公司,最后进入了让我持续服务了12年的公司。这家公司

大数据分析师的入行,总结的几点建议

混江龙づ霸主 提交于 2019-12-06 13:09:32
我和很多人交流过一个有趣的现象,那就是刚毕业到30岁这段时间,会觉得时间过得很慢,总觉得自己还很年轻,但是一旦过了30岁,时间就如白驹过隙,一年又一年飞逝而过。 我自己也是,眼瞅着毕业快15年了,15年间从一个刚毕业的菜鸟,成长为技术骨干,做到架构师的职位,回头看看,当年听取亲戚的一句话,误入计算机行业,看来并没有走错,编程虽然枯燥辛苦,但是如果真的感兴趣,你就能体会到其中的乐趣,并且获得可观的回报。 1.好奇心 刘慈欣在《朝闻道》中描绘过这么一个情节:在古老的非洲大陆上,有个原始人无意中抬头仰望星空,凝视的时间稍微长了一些,超过了外星人设置的阈值,立刻拉响了人类即将产生文明的警报。因为外星人认为,人类已经产生了对宇宙的好奇心,文明的产生,科技的发展不过是一瞬间的事情。 确实是这样,好奇心驱动人类不断向前,在短短的几千年(相对于长达几十万年的原始时代)里就登上了月球,并且努力向其他行星拓展。 对于程序员来说也是类似,如果你看到新技术,新产品没有像小孩看到新玩具那样两眼放光,没有想赶紧在自己电脑上玩玩的冲动,你就需要仔细考虑下是否真的对软件开发有兴趣?如果根本没兴趣,不要浪费时间,还是趁早转行,有更多有前(钱)途的职业在等着你。 没有好奇心,就不愿意追本溯源,追求技术的本质。 没有好奇心,就难于静下心来,耐得住寂寞,远离浮躁和代码奋斗,更难于跨过这个苦逼行业带来的种种挑战

好程序员Python教程分享Python常见面试问题

十年热恋 提交于 2019-12-06 12:39:46
  好程序员Python教程分享Python常见面试问题,人工智能的火热进一步带动了求职市场上对Python程序员需求量不断增加,对于很多Python程序员而言,面试过程能不能更好的发挥自己展示自己,最终也会影响到能不能拿到心仪的薪酬,能不能通过面试!为此,整理了一些常见面试中涉及的Python编程语言的有关问题,希望对学员的面试有所帮助!   1.什么是Python?使用Python的优点有哪些?   Python是一种带有对象、模块、线程、异常和内存自动管理的编程语言。使用Python的优点有:简单、易学、轻便可移植、可扩展、具有多种内建数据类型、开源等等。   2.什么事PEP8?   PEP8是一种编码规范,是一系列关于如何让Python代码更加具有可读性的编码建议。   3.什么是序列化(pickling)和反序列化(unpickling)?   Pickle模块允许我们将Python对象转换成一个string表示的信息,并且可以使用dump函数将其保存到一个文件中去,这样的过程称为序列化。而使用文件中保存的对象信息重构Python对象的过程称为反序列化。   4.Python中如何拷贝一个对象?   一般情况下,可以使用copy.copy()或者copy.deepcopy()函数进行对象拷贝。但是并不能拷贝所有的对象,只能拷贝大部分。   5