【不要让别人的思想控制了你自己的思想和行为】
这年头学编程的人数飙升,也不得不说这些新人的思路被老一代的程序员给带惯了,或许有些人可能会说编程是个好东西招员工就招有工作经验的程序员,其实大家都知道我们自己学编程可能第一件事就是照着教材在编译器上或者交互模式下输出第一个Hello,World(原谅我笑出声来)那么今天我们就来讲下为什么是老一代程序员约束了你的思想,以及如何实现你的思想.首先,我们用自己擅长的编译器或者IDLE(今天就用python来讲解)我们都知道python中获取输入在打印是这样格式的:x=input('输入一个字符串'),让我们来拆分下x是变量名(python不用像C那样的底层语言先声明后赋值,例如:intx;x=1;print('%d',x);//结果是1或charx;x='a';print('%c',x);//结果是a)而最为关键的一个就是我们在input('输入一个字符串')这段代码中它就是要求用户输入一个值那么就像上边的例子中(上边括号段)我们已经声明了(C语言)对象类型,python没有声明对象的习惯主要是取决于你输入的对象类型.大致归纳:x
再见 2017,你好 2018
觉得有必要写一份年终总结,审视一下过去,规划一下未来。敲完上面这句话,发现用到了两个“一下”,有点累赘,重新组织一下语言吧,可就在重新组织的过程中,突然就不想写了,我想做的是总结,不是写诗,不想咬文嚼字。敲完上面这句话,考虑自己是不是有点浮躁,一句话都懒得修改,爱咋咋地吧,这篇非技术文章就来一次真正的随笔吧。从2016开始吧从哪开始写起呢,就从第一次写博客开始吧,2016年4月,那个时候是大三,学校有Android选修课,一周一节,那时全班几乎都是JavaEE的方向,包括我,但就在Android应用第一次从eclipse中安装到我的手机上时,我的方向开始转向Android了。起初是在慕课网上学习Android,从基础课程开始,一个一个demo自己照着敲一遍,后来做了一个计算器应用,安装到手机上成功运行时,充满了成就感和新奇感,对Android的兴趣也随着激增。后来有一个舍友在csdn上写了博客,抱着好奇心百度了博客相关的内容,了解到写博客对学习有很好的辅助作用,于是我也开始了,边
码农和码神的区别
码农和码神刚刚走出就业的程序员,技术是刚刚起步的基点。那下面我们就聊一聊有关技术的东西。首先请您先想想这几个问题。现在社会上有很多程序员,那您是否可想过程序员为什么会有不同的水平?你又是哪一类的程序员?“菜鸟”程序员和“大神”程序员差在哪里?真是差在技术上了吗?那不是差在技术上那差在了哪里?上面很多一连串的问题,没有把你搞晕吧!那就听我一一给您分析这个问题背后的答案。确切的说程序员分为“菜鸟”程序员和“大神”程序员。一个程序员有多优秀,就得看他写的代码!程序员自己的代码才是自己工作状态的真实体现。“菜鸟”程序员和“大神”程序员到底有什么区别哪,那我们就来看看。代码的展现,网络的应用展现题目:一个很小的功能,比如说一个当鼠标移动到一个标题下,在下面显示其可选菜单。“菜鸟”程序员的代码是什么样子,自己想一下。“菜鸟”程序员的代码往往会会写的比较冗余,而且这些代码不是从书上找来的就是从网上找来的还有可能就是自己会这一部分代码(仅存记忆的提取,真正的原理似懂非懂,好像雾里看花)。“大神”的代码会写成什么哪?“大神”程序员的
你以为程序员这么好当?!
如今,软件蚕食一切,未来是属于程序员,但不是每个人都能当好程序员。那,什么样的人适合当程序员?什么样的人又不适合做程序员?编程要想成功最重要的是态度,好程序员和坏程序员之间的差别几乎永远是态度。耐心对程序员来说这是很重要的一条。写代码和调试总是令人沮丧,要想做好,你得保持冷静,至少冷静到能够保持清晰的头脑。精力处理棘手问题,编写大量代码容易使得身心俱疲。最重要的是要有的“坐能量”,也就是屁股不离座直到工作完成的能力。逻辑思维这条看似明显,其实不然。一般的程序员在碰到棘手问题的时候一般是靠猜来解决的。运气好可能猜得中,但运气不好就难搞了。问题是猜并不能有效缩小可能原因的范围好的程序员会提出猜想然后进行测试,从而排除掉一堆的可能性。比方说,屏蔽一段代码,看看问题是不是还出现。不自负编程不是你自己的事,这跟你的团队、代码、客户、利益攸关者等等都有关系。当不好程序员的5个迹象01:讨厌用Google现在的代码来得快去得也快,而至关重要的事情是把你的东西尽快推向市场。任何不愿每天至少使用搜索引
程序员的心理活动,扎心了!
读大神写的代码的时候:这是什么…………我X,太牛X了。读刚来的程序员写的代码的时候:这是什么…………我X,太傻X了。读大神写的代码的时候…当读其他程序员写的代码的时候…当别人写的bug,让自己发现的时候:我操这个大撒比写出这么个烂代码幸亏有哥这样神一样的存在才发现哥真是救世主没有哥这个公司分分钟要倒闭。当自己写的bug,被自己发现的时候:卧槽,隐藏的很深啊!哥就是犀利,自己开发自己测试,看测试那帮撒逼什么也不会干,这么明显的bug都测不出来,真是一群废物!还好没有被领导发现。当自己写的bug,被别人发现的时候:卧槽,这货会操作吗?是不是真有bug啊,该不会是这傻逼弄错了吧?可以重现么?什么?可以重现?。。。这个程序刚上线还处于调试阶段,有bug很正常谁的程序没bug,连操作系统都有bug。。。没关系,问题不大,要不用户早投诉了。瞧那
2017总结
趁着最近项目稍微能放松下,还是赶在2018到来之前,写个年终总结一下。2017,算是经历比较多的一年,从纯开发质变到技术经理。1.招聘春节之后上班之后,就开启了招聘模式。第一阶段,大约从2月份一直到5月份;第二阶段,8月份、9月份。一共招聘入职27人,一共辞退4人。基本上让团队人员规模稳定到25人。其中也深刻理解了,HR工作也有辛酸苦辣。简历造假的,不擅长的技术领域如何面试,入职来了之后发现有严重问题然后怎么谈辞退等等,在这期间经历还真不少。不过最终的结果,还算比较满意,看着人员规模的扩大,从一个Team发展到3个Team,并行推进多个项目,还是略感成就感。不过可喜的还是,在这一年里还是发掘了不少优秀的新同事,有4名”985“名校生的加入。2.规章制度人少的时候愁招聘,招到很多人了,就得愁管理和制度了。小型团队有小型团队的带法,可是突然20左右了,还依然沿用小型团队的玩法,肯定是不合适的,这也引入了中型团队如何带的郑重思考。基本的思路,分而治之呗。事情有这么简单就好了,由于公司的组织架构问题,很多事情并不是照本宣科就可以的。这
前端程序员表白神器
将这段代码复制粘贴
JavaScript调查新状态,谁能主宰大局?
JavaScript开发人员偏爱于ES6、React和Express,同时对TypeScript、Vue.js和GraphQL也产生了强烈的兴趣最新发布的一份报告显示,尽管JavaScript编程的标准依然是ECMAScript6,但微软的JavaScript类型超文本TypeScript,很有可能为ECMAScript6带来大笔资金。12月12日发布的题为“JavaScript2017年状态”的报告中,也体现了对Vue.js和GraphQL越来越浓厚的兴趣。“JavaScript2017年状态”汇集了28000多名开发人员使用JavaScript技术的调查结果进行汇总。基于大量的开发人员对ECMAScript6喜爱的反复上,证明了JavaScript最流行的是ECMAScript6。报告显示,虽然ES6(也被称为ECMAScript2015)仍然是标准,但TypeScript正迅速成为类型化JavaScript领域的领导者。另有8796名受访者表示,他们听说过TypeScript,并希望进一步了解它。该报告由J
AlphaZero最革命性的一点是,它没有棋子的概念 | 陈经
戳穿忽悠,粉碎谣言导读AlphaZero下国际象棋的时候,最革命性的一点是,它没有棋子的概念。无论是人类高手还是过去的顶级AI,再怎么也是以棋子实力评估为基础的,被吃了大子会心疼,在这个基础上再去进行“重视中央”之类的局面评估理论。而AlphaZero却完全对棋子没有概念,只要它认为未来整体局势好,弃子根本不叫事。这次Deepmind新论文应该给出结论了,“MCTS+神经网络”就是先进生产力的代表。本文来自微信公众号:观察者网(ID:guanchacn)作者:陈经2017年12月6号,Deepmind扔出了一篇论文《MasteringChessandShogibySelf-PlaywithaGeneralReinenforcementLearningAlgorithm》,声称从AlphaGoZero发展来的新程序AlphaZero又零基础自学,只用4个小时和2个小时就胜过了国际象棋和日本将棋的最强程序。加上之前在围棋上的进展,这其实等于是说,世界上所有知名棋类都可以用一个架构轻松碾压过去的高手,不
你和高级工程师的差距在哪儿?
一个程序员的成长之路,会经历多个阶段,从初级工程师、中级工程师到高级工程师再到这个领域的专家,但是能成为技术专家的终归是少数,因此我们通常给自己规划的是前几个阶段。刚毕业的时候就在想,如何能成为高级工程师?高级工程师到底是什么样子的?有的人会说,工作3-5年后,自然就成为了高级工程师,这种以工作年限来定义的并不准确,有的人或许工作好几年却在原地踏步,还停留在初、中级别,有的可能工作2-3年就成为了独挡一面,攻坚克难的高级工程师。那么,同样是3、5年,为什么差距能这么大呢?利用周末时间说说自己的看法(反正周末写技术文你们也不看。。。)思考方式(分析问题)我记得在我毕业后的第一家公司的时候,在开发中遇到了一个问题,我就跑去问老大,然后老大给我说:如果这个问题给你来解决,你会怎么做?当时一脸懵逼?心里是这样的不给答案就算了,反而给他问住了,老大问你你得回答啊,于是就分析了一下,说出了自己的想法,老大说:这不是知道吗?还跑来问我干嘛。从那以后,我都不敢轻易去问了,遇到问题了自己先分析,然后寻找解决方法,有的时候就算实在解决不了,也要先整理一下思路
Spring Cloud构建微服务架构:消息驱动的微服务(入门)【Dalston版】
之前在写SpringBoot基础教程的时候写过一篇《SpringBoot中使用RabbitMQ》。在该文中,我们通过简单的配置和注解就能实现向RabbitMQ中生产和消费消息。实际上我们使用的对RabbitMQ的starter就是通过SpringCloudStream中对RabbitMQ的支持来实现的。下面我们就通过本文来了解一下SpringCloudStream。SpringCloudStream是一个用来为微服务应用构建消息驱动能力的框架。它可以基于SpringBoot来创建独立的、可用于生产的Spring应用程序。它通过使用SpringIntegration来连接消息代理中间件以实现消息事件驱动的微服务应用。SpringCloudStream为一些供应商的消息中间件产品提供了个性化的自动化配置实现,并且引入了发布-订阅、消费组以及消息分区这三个核心概念。简单的说,SpringCloudStream本质上就是整合了SpringBoot和SpringIntegration,实现了一套轻量级的消息驱动的微服
认证鉴权与API权限控制在微服务架构中的设计与实现(一)
引言:本文系《认证鉴权与API权限控制在微服务架构中的设计与实现》系列的第一篇,本系列预计四篇文章讲解微服务下的认证鉴权与API权限控制的实现。1.背景最近在做权限相关服务的开发,在系统微服务化后,原有的单体应用是基于session的安全权限方式,不能满足现有的微服务架构的认证与鉴权需求。微服务架构下,一个应用会被拆分成若干个微应用,每个微应用都需要对访问进行鉴权,每个微应用都需要明确当前访问用户以及其权限。尤其当访问来源不只是浏览器,还包括其他服务的调用时,单体应用架构下的鉴权方式就不是特别合适了。在微服务架构下,要考虑外部应用接入的场景、用户–服务的鉴权、服务–服务的鉴权等多种鉴权场景。比如用户A访问UserService,A如果未登录,则首先需要登录,请求获取授权token。获取token之后,A将携带着token去请求访问某个文件,这样就需要对A的身份进行校验,并且A可以访问该文件。为了适应架构的变化、需求的变化,auth权限模块被单独出来作为一个基础的微服务系统,为其他业务service提供服务。2.系统架构的变
AspNet Core Api Restful 实现微服务之旅 (一)
(一)了解微服务(二)搭建VS项目框架(三)创建AspNetCoreApiVS2017安装包链接:https://pan.baidu.com/s/1hsjGuJq密码:ug59创建CoreApi下一步生成1.Properties:项目的启动配置信息2.wwwroot:是一个存放项目静态内容的文件夹,存放了诸如css,js,img3依赖项:4.Controllers:Api控制器5.appsettings.json:项目配置文件类似于Config文件6.Program:为静态文件提供服务7.Startup:文件提供程序,是ASP.NETCore的启动入口文件这就是一个CoreApi项目模板下一章发布到IIS以及注意事项
视频演讲: 软件安全构建成熟度模型(BSIMM)
42:45概要软件安全构建成熟度模型(BSIMM)是面向软件安全计划的研究框架。通过量化多家不同企业的做法,我们能同时发现许多企业的共同点以及彰显个性的不同之处。我们旨在帮助更广泛的软件安全机构规划、实施和衡量他们自己的软件计划。BSIMM不是“行动”指南,也不是万能的工具,而是对当前软件安全状态的体现。本演讲首先将简要介绍软件安全计划的功能和重要性。然后将解释我公司模型和我们用于量化软件计划状态的方法。个人简介杨国梁,Synopsys高级安全架构师,杨国梁毕业于瑞典皇家理工学院,获得硕士学位。他曾在科诺康(Codenomicon)出任安全工程师,由此开启专注于信息安全的职业生涯。在科诺康任职期间,杨国梁帮助企业客户发现和修复其基于软件的产品和系统的关键安全漏洞。他专注于电信、工业控制系统、汽车、医疗器械及物联网等领域。2015年6月,美国新思科技(Synopsys)收购了科诺康,杨国梁便加入了新思科技软件质量与安全部门(SoftwareIntegrityGroup)。杨国梁现在带领新思科技中国安全技术工程团
视频演讲: Mobile Performance at Scale
42:09概要每天在世界各地,超过10亿的手机在运行着Facebook的多个移动应用。这个演讲将和您分享Facebook对移动应用性能这个工程问题的理念。我们将解释我们所遇到的一些挑战,向您展示移动应用性能是如何成为一个大型的工程问题的,以及我们如何将性能第一深入到工程的各个环节。之后我们会介绍一些性能工具,并着重深入介绍性能退化检测的工具。个人简介黄力菲(LeoHuang)在Facebook现任EngineeringManager,毕业于清华大学自动化系,在美国俄亥俄州立大学计算机系获硕士学位。2002-2010年在微软从事VisualStudio、SQLServer引擎和智能个人设备的开发工作;2010年至今在Facebook带领团队开发了开源开发工具Nuclide,以及代码审核工具Phabricator,目前主管产品性能相关的工具和平台的开发。倪安迪,从加入至今一直从事Facebook内部移动应用性能监测平台的开发工作,目前主管iOS移动应用的性能监测与优化。毕业于浙江大
商派力推“鲁班”平台,恐致行业洗牌
原标题:商派力推“鲁班”平台,恐致行业洗牌商派是业内领先的电子商务系统服务商商派的全资子公司,专注服务行业高端客户,提供领先的技术架构和行业解决方案。以新零售为代表的互联网商业新生态对企业在电子商务领域战略规划、商业模式和业务设计提出了新的挑战。同时也对支撑业务运营至关重要的电商业务系统提出了新的要求。为应对这一行业趋势和企业需求的最新变化,商派在洞察市场和对企业的业务“沉浸式”认知的基础上,推出了新一代底层技术开发架构——“鲁班”。在“鲁班”之前,商派的技术架构叫“ECOS”,意为电商操作系统,是一种当时非常先进的符合SOA规范的底层开发平台。商派也是当时业内唯一拥有独有知识产权开发架构的厂商。随着后互联网时代的到来,整个电商行业在新零售重构“人、货、场”的商业理念指导下逐渐从过去的流量型业务模式向场景化模式转型。由此带来企业在整个顶层商业设计上必须重构业务闭环、信息闭环,并要求实现对业务和人的“全息”透视。此时,原有技术架构侧重于功能封装的特性就不再适应新的业务需求了。商派顺应时代潮流,再次领先同行推出了新一代的技术开发架构“
第一次重构的架构设计总结
每个开发心中都有一个架构的梦,虽然不能像大佬们一样直接直接给出系统级的架构,但是我们在日常的编码过程中,也可以慢慢积累一些自己的架构的见解,慢慢提高~因为在学校自己一个人在写整个App,加之需求也不明确,时常需求变更(在学校的组织写项目的通病了),所以编写过程真的是越写越糟心,所以,不得已对已经开发的一小部分做了重构,以下是本小白在重构过程中总结的一些见解(不得不说,本科阶段讲的那些设计模式什么的,是真的很有用,只是当时根本理解不了这些精髓,等到重构时才发现都可以套原型)。架构的几个方向:view层的组织和调用设计本地持久化网络层设计(网络层会说的比较笼统)动态部署(WebApp/HybridApp/React-Native,这块也没咋说,因为目前没有涉猎)架构设计的步骤:问题分类,分模块(这个很重要)搞清楚各个模块之间的依赖关系,设计好一套模块的交流规范并设计模块为架构保持一定量的超前性(血的教训)先实现基础模块,再组合基础模块形成初期架构主要就是:自顶向下设计,自底向上实现,先量化数据再优化敏捷原则:对扩展开放-对修改封闭
谈谈网站架构设计开发的一些来龙去脉
我喜欢读书,而且读的很快。本人一直在研究学习方法,学习能力还在高峰。我尤其喜欢主题式阅读,根据重点,详略有别。其实就是,一段时间集中的研究一类资料,它们的内容可以相互补充、印证,重复的内容当成复习。这篇就当成最近研究网站架构问题的一个小小的总结记录,当然肯定不全面,这个领域很大的。后面如果有新的认知,继续补充说明。但是核心的概念和基本原理搞明白就好办,剩下的就是工具应用和开发细节问题了。不过,“细节出魔鬼”,可别以为架构师的活好做。架构这个问题怎么出现的?当然是信息社会从单机时代推进到网络时代的产物。单机时代,大家一般买台PC,装个Windows,自己捣鼓着玩。各种应用基本都是隔离的。如果你想传输数据,软盘、刻录光盘、拷贝硬盘…因为即便后来有了点网络应用,几十K的网速你还能传啥呢。所以那个时候,应用软件、游戏等等基本都是软盘/光盘发行,网络还指望不上。这个时代的软件系统也很粗糙,哪里谈的上架构思想,单机能正常跑就不错了,知足吧。后来有点进步,出现所谓“C/S”、“B/S”架构的应用模式,还处于原始阶段。架构思维和相关技术,是跟着网
从概念到成功落地,技术大咖分享云基础架构最前端技术
软件架构【51CTO.com原创稿件】作为云计算的三大部分之一,IaaS(InfrastructureasaService,基础架构即服务)是将基础架构进行云化,从而为应用系统上线、部署和运维提供有力支撑,提高效率、降低TCO。由于IaaS涉及各种类型的软硬件系统,部署难度相当大,复杂度非常高,使得企业在向云迁移的过程中困难重重。面对本地数据中心、公有云、私有云等各种复杂的IT系统,企业如何快速部署云基础架构?如何部署弹性、灵活、高效率的云环境?在即将召开的“第七届中国云计算标准和应用大会”上,为你揭晓答案。第七届中国云计算标准和应用大会即将召开2018年1月4日至1月5日,由工信部和国标委指导,中国电子技术标准化研究院主办、51CTO承办的“第七届中国云计算标准和应用大会”将于北京隆重召开。与历届大会相比,本次大会除了主会场之外,还结合当前中国云计算行业的特点和热点,特别设置了六大主题论坛,分别是云基础架构及实践论坛、产业转型与创新论坛、工业云应用论坛、开源技术培训专场、开源与容器技术论坛和云网安全与存储论坛。其中,云基础架构
易选型深度剖析:易快报助力企业数字化,报销和费控走到线上的关键点在
【导读推荐】数字化时代的到来,让一切线下流程搬到了线上去完成。在提高原有效率的同时,也将员工报销变得更精准化,透明化。易选型【选型直播】第5期,正和岛副总裁、悦聚信息科技CEO王昆鹏(以下简称王),邀请易快报创始人兼CEO马春荃(以下简称马),为大家剖析“互联网时代的费用管控:从报销制度到数字平台”。易选型丨来源易快报创始人兼CEO马春荃丨嘉宾悦聚科技CEO、正和岛副总裁王昆鹏丨主持人王:易快报为什么要在这个时代做报销和费用管控平台?马:易快报成立于2014年,创建初期看到企业在低效率的费用报销方面有这巨大的困扰,这些困扰给企业的支付平台以及消费平台都带来了负面的影响。如果把这些数据能够流到企业内部来,就让员工的效率大大提高。不光是效率提升或是管理利益的加强,来让数据透明和合规性管控发生在事前,最后使得面向于业务和业绩考核的计算变得实时,这样一来对于企业而言把一件看上去是内耗的事情变成一个面向业务有价值的东西。马春荃(右):毕业于北大的软件工