聚合文章列表
15 浏览

初级程序员想要学好Java, 需要经历几个阶段?

图片来源:摄图网1、培养兴趣兴趣是最好的老师,可以是天生的,也可以后期培养。所以,学习Java一定要对其感兴趣,即使刚开始没有兴趣也应该努力的培养自己对Java的兴趣,投入热情。如果没有兴趣,即使今后从事这样的方向也不会有所成就。因此,既然选择学习这门技术,那就应该把自己的精力和兴趣转移到Java上,把Java学习当成是一款有难度、需要持久战术的游戏,在学习Java的过程中,找到自己的存在感、满足感、成就感。2、清除障碍当自己对Java产生兴趣,并付出浑身解数来学习,但学习效果不好的时候,我们就应该停下脚步检查一下是什么因素阻碍了自己的进步,然后逐一解决。比如,不少男生在写Java代码的时候,往往记不住命令的英文单词或者经常混淆。或者由于单词拼写错误,导致程序报错,这些低级错误使得浪费不少时间。那我们是不是应该每天花个十几分钟,把Java学习中能用到的英语单词背下来呢?这样就会让自己的学习更有效率。3、调整状态注意力不集中是很多人都有的状态。如果课上掌握的不扎实,课下怎么狂补、下功夫都是事倍功半。所以建议每个学习者在上课时,多

程序员 2017-11-22 发布
17 浏览

2017互联网寒冬程序员求职随感

公众账号原文https://mp.weixin.qq.com/s?__biz=MzIyNjM3MzI4MQ==&mid=2247483998&idx=1&sn=dd46d50fb58d1f505ae91336e2ebaa74&chksm=e8703990df07b0867dda461e95bf96937ea8ef782e9e16e5a43966551377565e9397d0ca64dd#rd

程序员 2017-11-22 发布
21 浏览

有多少程序员能干到 40 岁?其他人去做什么了?

MiloYip,游戏程序员、《游戏引擎架构》译者今天刚好40,还以程序员自居,找到这个问题来抒发感想。去年身体有些小毛病,近十年也有脂肪肝,感觉身体渐差。所以今年初积极开始锻鍊[1][2][3],身体有一些显著的改变(大约减了二十公斤,跑步、游泳和力量都有改进),感觉身体轻松了、年轻了。我相信我的身体还有许多进步空间,会持续训练,并学习相关知识。最近我的团队从小组变成中心,规模有扩展趋势,我在工作上的编程时间减少了,更多是技术指导工作,但希望适当的时候也可专心写多点程序。我仍然希望不忘初心,以创新技术来做出与别不同的游戏,这需要更多的思考、人才和时间。不过在实现理想的同时,也要令各个项目以最佳状态顺利上线运营。这方面的工作我希望还可再战十年。此外我的工作任务也需要培养工作室群里的同学、互娱的同学、甚至整个公司的同学。在私人时间里,我希望能帮助到公司以外的同学,也包括一些可能还未知道编程、游戏开发、计算机图形的有趣之处的朋友。在[4]里我自嘲「虎头蛇尾」,这里就列出一些需要填的坑:《游戏引擎架构第二版》的翻译工作(真对不

程序员 2017-11-22 发布
AD 友情赞助
31 浏览

Go 使用 grpc + http 打造高性能微服务

大家可以发现,Go越来越流行,其一是目前云计算领域基本是使用Go作为底层开发语言;其二是随着区块链的火爆,引申出了其背后很多开源项目,很多都是使用Go语言进行开发;其三就是在微服务方面,Go也展示很大的优势性。那么微服务是什么,如何将其与Go做一个整合,来提升整体开发生产效率,下面会进行详细讲解。什么是微服务微服务的概念最早由MartinFowler提出,在他的理论当中,微服务是一整套小的服务,其中每一个服务互相之间都是独立的,它们之间通过lightweight机制进行交互。图1图1所示是最传统的一个应用软件架构,最顶层是loadbalancer,下面布局很多cuisine,这些cuisine共享一个数据库。图2图2是微服务的架构图,由图中我们可以看出整体架构分布的改变,一个服务被分成A、B、C三种服务,每个服务有自己的数据库,前面都会有一个APIGateway将其三者链接起来。显而易见,微服务的难点也就在服务的划分上,通俗点讲就是如何服务其中的微服务。在之前我与一些公司朋友

软件架构 2017-11-22 发布
20 浏览

OpenBMC:开源的下一代系统管理软件架构

https://code.facebook.com/posts/1601610310055392/introducing-openbmc-an-open-software-framework-for-next-generation-system-management/国外博文系列OpenBMC的诞生在Facebook,可靠性和快速迭代是两个重要原则。这使得我们在构建基础架构时,可以快速查询特征,并且可以对自己的系统重要项目进行故障定位。最近,我们发现底板管理控制器(BMC)一系列相关的软件(SoftwareStack)太封闭了,无法满足这些需求,所以我们建立了自己的版本,我们是开源的。我们如何实现这个开源的软件解决方案,是对Facebook黑客文化的一个很好的研究-这里将介绍背后故事。考虑应用场景,BMC是嵌入在服务器中的专用控制器。它通常以片上系统(SoC)的形式出现,具有自己的CPU,内存和存储以及大量的IO。BMC连接到许多传感器以读取环境条件并通过风扇控制温度。它还提供了其他系统管理功能,包括远程电源控制,SerialOv

软件架构 2017-11-22 发布
14 浏览

[译] 讲讲拆分:从单体式应用到微服务的低风险演变

本文获得blog.christianposta授权翻译发表,转载需要注明来自公众号EAWorld。作者:ChristianPosta译者:海松原题:Low-riskMonolithtoMicroserviceEvolutionPartI在为期两天的微服务研讨会中,我一直在思考如何向大家解释单体应用(monolith-application)分解以及它向微服务过渡后将会是什么样。本文是该主题的一小部分,但我想与大家分享,并得到反馈(在研讨会中,我们会更详细地讨论是否应该分解单体应用!)。本文中我总结了一些亲历的经验,以及在过去几年中与北美许多红帽(RedHat)客户合作的经历。这里的第一部分主要探讨了架构,即将发布的第二部分则会介绍一些能提供很大帮助的技术。关注我的Twitter(@christianposta)或http://blog.christianposta.com,可以获取最近的更新和讨论。在深入讨论之前,让我们先做以下假设:微服务架构并非总是适用的(后面会详细讨论)

软件架构 2017-11-22 发布
AD 友情赞助
15 浏览

一个16年毕业生所经历的php面试

我的理解:面试不是高考,高考只有一次(不说补习),面试可以有n次,只要有面试机会,你就可以一直去面,面到吐为止都没关系,不要怕失败,公司没选择你不是你不优秀,而是你不符合他们的要求,回家思考下面试不足的地方,调整下心态,准备下个面试才是你正确的做法。二、面试准备准备是多方面的,俗话说:成功只留给有准备的人1.问:什么时候开始准备?你是牛人吗?不用准备,等猎头挖:老老实实的随时准备好2.问:怎么准备?项目经验是一部分:面试是离不开的,充分理解自己所做的那部分,能在面试中清楚的表述出自己做了什么,充当什么样的角色自己分享知识的地方:比如博客/github,自己总结的会比去看别人的总结效果好不只一丁半点基础知识:字符串操作、数组操作、文件操作、正则操作进阶知识:面向对象、数据结构和算法、设计模式、mysql索引、mysql引擎、mysql事务、mysql锁高阶知识:linux+nginx+mysql+php+redis优化,只会操作没用,谁都会,高并发、分布式系统、负载均衡、分库分表、消息队列三、面试

MySQL 2017-11-22 发布
15 浏览

【2017DTC精彩重现】Oracle和MySQL DBA的进阶之路

摘要:分享的初衷这个是参考了朱赟[yūn]的一段话,我觉得已经很透彻形象了,毕竟在短短的几十分钟里,你只能得到一些思想上的建议和思路,落到实处还是得靠自己。而参考和借鉴的过程也是自己修行的过程。第二句我关于坚持,有的同学说坚持是习惯,有的说是毅力,本质上来说,还是坚持的态度,是坚持做一件事情,还是坚持把一件事情做好,两者听起来相似,实则有很大的差别。分享的初衷这个是参考了朱赟[yūn]的一段话,我觉得已经很透彻形象了,毕竟在短短的几十分钟里,你只能得到一些思想上的建议和思路,落到实处还是得靠自己。而参考和借鉴的过程也是自己修行的过程。第二句我关于坚持,有的同学说坚持是习惯,有的说是毅力,本质上来说,还是坚持的态度,是坚持做一件事情,还是坚持把一件事情做好,两者听起来相似,实则有很大的差别。分享思路我分了几个层面来做了一些解读。在本文中会抽取重点列出一些来。Oracle和MySQL的学习周期其实正如我开篇所说,目前国内的使用有两个比较明显的误区,一个是把Oracle当做MySQL用,主要表现就是把Oracle当做免费版来用;

MySQL 2017-11-22 发布
18 浏览

MySQL主从分离基本配置

1、介绍MySQL数据库设置读写分离,可以使对数据库的写操作和读操作在不同服务器上执行,提高并发量和响应速度。现在的网站一般大点的,都采用有数据库主从分离、读写分离,既起到备份作用也可以减轻数据库的读写的压力,一直听说过这些,但是从来没有亲自动手实践过,今天有时间实践一下,记录下过程。2、环境准备我准备了两台服务器,一个是本机PC,一个是远程服务器,分别在两台机子上装有Mysql数据库MySQL安装我就不介绍了,这里需要注意的是:MySQL安装的版本最好一致,如果不一致,低版本向高版本读的时候可能有问题,最好保持一致。主库master服务器:172.10.10.69CentOS7Linux系统,mysql版本5.6.35从库slave本机:172.10.10.240Win7系统,mysql版本5.6.353、主库配置在主库中创建一个用户root,用于从库读取主库的执行日志。需要在mysql命令行里执行,需要先登录命令行1、GRANTREPLICATIONSLAVEON

MySQL 2017-11-22 发布
AD 友情赞助
15 浏览

MySQL该如何进行大数据量快速插入方法和语句优化?

MySQL大数据量快速插入方法和语句优化是本文我们主要要介绍的内容。INSERT语句的速度插入一个记录需要的时间由下列因素组成,其中的数字表示大约比例:连接:(3)发送查询给服务器:(2)分析查询:(2)插入记录:(1x记录大小)插入索引:(1x索引)关闭:(1)这不考虑打开表的初始开销,每个并发运行的查询打开。表的大小以logN(B树)的速度减慢索引的插入。加快插入的一些方法如果同时从同一个客户端插入很多行,使用含多个VALUE的INSERT语句同时插入几行。这比使用单行INSERT语句快(在某些情况下快几倍)。如果你正向一个非空表添加数据,可以调节bulk_insert_buffer_size变量,使数据插入更快。如果你从不同的客户端插入很多行,能通过INSERTDELAYED语句加快速度。用MyISAM,如果在表中没有删除的行,能在SELECT语句正在运行的同时插入行。当从一个文本文件装载一个表时,使用LOADDATAINFILE。这通常比使用

MySQL 2017-11-22 发布
16 浏览

转转运营活动高效开发有哪些秘诀?

背景转转作为一个初创公司,在成长过程中,面临着大量的运营活动页面以及MVP(MinimumViableProduct,最小可执行产品)项目。这类项目技术上虽然没有多复杂,但却让我们头疼不已,主要有这几个原因:项目开发时间短,上线时间比较急;需求修改往往较为频繁;有明确的下线时间,没机会做迭代优化。项目的这些特点,在前期给了我们很大的压力。马不停蹄的上线,频繁的修改,技术的成长等,都让我们有了一些疲惫。后来,经过了半年的磨砺,渐渐的我们沉淀出了一些工具与经验,来从容的应对这类型项目,先来看看我们的整体技术架构图:针对上图我们仔细讲解一下。运营技术能力架构解读首先是通用需求模板,虽说这和前端技术没太大关系,但实践证明,协助产品整理出一个需求模板至关重要。因为项目着急时候,总是容易出现需求遗漏或不清晰的情况,如果后期修改的话,成本会很高。我们早期时候也总是会遇到遗漏埋点统计以和遗漏投放平台的兼容性一类的需求。自从有了固定模板后,这类问题得到了根本的改善。UI部分我们使用Photoshop作为主要的切图工具,

JavaScript 2017-11-22 发布
11 浏览

系列连载:Kubernetes 1.8 五日谈 | 航海日志 Vol.36

1.系列连载:只需5天,轻松驾驭Kubernetes1.82.Prometheus2.0发布,容器监控再上台阶3.Node.js8.9LTS版本发布系列连载:只需5天,轻松驾驭Kubernetes1.8Kubernetes1.8已经发布,数以百计的贡献者push了成千上万的commit让这个新版本的发布成为可能。该项目在主要的repo中已经累计超过6.6万个commit,并且在主要的repo之外也有着持续高速的增长,这标志着这个项目的日益成熟和稳定。同时在所有repo上提交了的commit也已超过12万次,并且在所有单独对1.7和1.8版本的repo上提交的commit达到了17,839次。伴随着我们不断壮大的包含1400多位贡献者的Kubernetes来说,我们发布了超过3000个PR,并push了5000多个commit,这为Kubernetes1.8的提供了重要的安全性和工作负载支撑更新。所有的这一切都

JavaScript 2017-11-22 发布
AD 友情赞助
11 浏览

IMVC(同构 MVC)的前端实践

随着Backbone等老牌框架的逐渐衰退,前端MVC发展缓慢,有逐渐被MVVM/Flux所取代的趋势。然而,纵观近几年的发展,可以发现一点,React/Vue和Redux/Vuex是分别在MVC中的View层和Model层做了进一步发展。如果MVC中的Controller层也推进一步,将得到一种升级版的MVC,我们称之为IMVC(同构MVC)。IMVC可以实现一份代码在服务端和浏览器端皆可运行,具备单页应用和多页应用的所有优势,并且可以这两种模式里通过配置项进行自由切换。配合Node.js、Webpack、Babel等基础设施,我们可以得到相比之前更加完善的一种前端架构。目录1、同构的概念和意义1.1、isomorphic是什么?1.2、isomorphicjavascript2、同构的种类和层次2.1、同构的种类2.2、同构的层次3、同构的价值和作用3.1、同构的价值3.2、同构如何加快访问体验3.3、同构是未来的趋势4、同构的实现策略5、IMVC架构5.1、IMVC的目标5

JavaScript 2017-11-22 发布
18 浏览

Atom也爆远程代码执行漏洞?就问你怕不怕!

0x00前言最近我花了点时间看了下Atom(https://atom.io/),它是由Github发布的文本编辑器。经过一段时间的研究,我可以将Atom中的多个漏洞组合利用最终实现远程代码执行。这个漏洞在我通过HackerOne(https://hackerone.com/github)提交后1.21.1版本(https://github.com/atom/atom/releases/tag/v1.21.1)中已经修复。要是有同学想要对这个漏洞进行复现的话可以通过https://github.com/atom/atom/releases/tag/v1.21.0这个链接下载历史版本。0x01将Web安全问题带到了桌面应用?Atom是使用Electron(https://electronjs.org/)写的。Electron是一个基于JavaScript、HTML和CSS用于开发桌面应用的跨平台框架。通过利用现成的框架,可以极大的提高开发效率。然而这也会产生一些问题,就是会将Web端的安全问题带到桌面应用中。特别是:XSS漏洞

JavaScript 2017-11-22 发布
13 浏览

六、VueJs 填坑日记之初识*.Vue文件

六、VueJs填坑日记之初识*.Vue文件上一篇博文中,我们将接口的地址通过webpack代理到了本地,解决了跨域的问题。在之前的文章中,我们一直对项目进行配置,并没有真正的切入正题,可能很多人还不明白我们要做什么?那么今天,我们就要开写代码了。忠心感谢FungLeo,是你们无私的奉献,才让我们有了学习的参考,以下是地址:本文转载:http://blog.csdn.net/fungleo/article/details/77575077什么是*.vue文件首先,我们用vue-cli脚手架搭建的项目,里面我们已经遇到了很多,如index.vue或者App.vue这一的文件了。这到底是个什么东西?如果是初次接触vue开发的同学,可能之前没有见过这个东西。*.vue文件,是一个自定义的文件类型,用类似HTML的语法描述一个Vue组件。每个.vue文件包含三种类型的顶级语言块