在硅谷当佛系程序员是种什么样的体验?
那么硅谷的佛系程序员又是什么样的呢?深谙天竺文化精髓Tom在硅谷工作了几年后,对佛教的发源地——印度越来越了解。看到各种咖喱可以准确叫出学名,对印度口音毫不畏惧,甚至仅仅看到对方的面相,就能准确知道Ta是来自于印度南部还是北部。某天,自家的小孩从DayCare回来,一脸天真地问道:“爸爸,我们什么时候去班加罗尔玩?”其实,班加罗尔也挺好的,去就去吧,明年可以再去加尔各答看看。入职久了,有时会发现自己辛苦做的case变成了三哥搭档的成绩,好吧,想想每个月进账的工资,也就过去了,芸芸众生,何必相互为难。虽然如此,还是不得不说,技术过人的天竺施主不在少数,有时确实可以用实力教你做人,阿弥陀佛。同事的代码好乱....算了,勉强能看就行了Mike此刻,我坐在电脑前,看着同事写的那部分代码:放飞自我的缩进,看不太懂的变量命名,混在一起的调用,不知道什么逻辑的封装。再看看Deadline,今天晚上6点。要不要告诉他,让他改一改呢?大概只用了一秒钟,我就做出了决定。算了,时间不多,能run过就行了,run不过的我修补修补,也不费多大的事。佛曰:“善待他
程序员逆天改命之被破解
伙食差别唯一让程班云心烦的,乃方圆每天都故意与他讨论算法之事,从链表之快慢指针,到二叉树的DFS,再到B+树、倒排索引的构建。这一系列的讨论,让程班云甚是心烦,因为方圆似乎总能占在上风,甚至于程班云有时都不得不感叹算法之奥妙。程班云本想一展c++的连环杀招,以盖一盖方圆的风头,但方圆根本就没有把杀招放在眼里,比如昨日,程班云支出熟练的templete以示c++之海纳百川,却被方圆轻描淡写的void*给压制住了。每到这时,程班云都负气地转身离开:“我想静静!”方圆却是穷追不舍:“又是静静,你倒说清楚,她是谁?”程班云:“我去!”方圆:“去哪?”
开发者们,2017年你们过得好吗?
回顾即将过去的2017年,AlphaGo与柯洁的再次对战、GoogleAIFirst、百度AllinAI带着无人驾驶上五环等让我们迎来了人工智能前所未有的火热,连同的,还有层出不穷的智能音箱。而春风得意的摩拜、ofo则带来了持续一年的共享单车大战,小米与iPhone开启了全面屏手机时代;更有比特币突破2万美金,许多开发者都加入了或人工智能或区块链的阵营……回首过去一年,每位互联网从业者都有自己的感悟,那么,当一年将尽之时,我们是否扪心自问过,2017自己过得好么?所从事的领域是否处于行业的风口,亦或是行业泡沫即将破灭?熟悉的语言是否仍是主流,知识储备是否满足行业的发展,要不要转行去做AI?又如何缓解巨大的工作压力,薪资是否可以更上一层楼……如此多的困惑,在即将到来的2018年,是否已经有了答案?我们回首过去三年,同时总结2017,从薪资到具体的技术领域,有了许多发现,希望能够为你带来一定的价值参考。都说程序员高薪,可同时也面临着巨大的工作压力回顾过去,通过CSDN公布的开发者调查数据显示,全国有近5
20行以下的4段给力的代码,雷神之锤3源代码曝光!
好的代码就是好的设计,既要做到可用,也要做到整洁。如果代码做到整洁,维护起来也很简单。衡量代码好坏的标准有很多,比如可读性高、高内聚、低耦合、性能好、架构好等。20行以下的4段给力的代码,雷神之锤3源代码曝光!下面w3cschool就给程序员小伙伴们分享50行以下哪些神奇而又给力的代码,简直是代码学习的教科书。0、C语言比赛上的一段代码输出自身程序的程序,这段代码来源于C语言大赛上。很多程序员网友表示这段代码其实没什么嘛,其实这一段代码的精妙处,就在printf输入参数里的那堆数字。20行以下的4段给力的代码,雷神之锤3源代码曝光!1、世上最牛的计算Pi的算法的一段代码以下这段代码来自1988年的IOCCC大赛,可以说是脱离一切束缚,已经达到了随心所欲的境界了。很多网友看完这段代码后开始怀疑人生,是不是学了假的C语言?20行以下的4段给力的代码,雷神之锤3源代码曝光!2、一段13行的SML代码因为typeinference的时间爆表,所以neverstop!感兴趣的程序员小伙伴不妨去算一下它
[程序员创富之路]全面出击的高级程序员
还记得风靡互联网的那本《人人都是产品经理》么?产品经理似乎人人都能当,却又人人都做不好,合格的产品经理总是凤毛菱角。人人都能成为高级程序员么?当然不是。不行你去看看那些工作10年依旧用最粗糙代码做软件的同行,1年工作经验和水平,用来工作10年的程序员是大有人在。能力范畴高级程序员们,是在经历不断的锤炼,产品和技术的洗礼,技术的变革后,能够不断进步,不断提升自己的一个群体。他们大多能独当一面,带领一个小的开发团队,在自己的领域不断深化技术内涵,提升技术能力;同时,又能与时俱进,用扎实的基础知识,跟进新的好技术,能够判断技术的趋势,清醒的认识到自己的技术水平,长处和短板。全面出击工作上,高级程序员就像是带头大哥,决定了实际意义上整个团队在产品上的技术上限。“无所不能”是对高级程序员的基本要求,在各种复杂的环境和问题面前,不仅有勇,更有方法,程序员行业的“老司机”当然是要能躲过各种坑,避开各种险。业余时间,高级程序员常常是其他行业朋友们的一块瑰宝,因为拥有这样的朋友,至少在涉及到软件方面的业务时,不会走太多弯路。同时,高级程序员
什么是好的c/c++程序员?c/c++程序员就应该有c/c++程序员的修养
C/C++学习我看过许多程序,没有注释,没有缩进,胡乱命名的变量名,等等,等等,我把这种人统称为没有修养的程序,这种程序员,是在做创造性的工作吗?不,完全就是在搞破坏,他们与其说是在编程,还不如说是在对源程序进行“加密”,这种c/c++程序员,见一个就应该开除一个,因为他编的程序所创造的价值,远远小于需要在上面进行维护的价值。c/c++程序员应该有c/c++程序员的修养,那怕再累,再没时间,也要对自己的程序负责。我宁可要那种动作慢,技术一般,但有良好的写程序风格的程序员,也不要那种技术强、动作快的“搞破坏”的程序员。有句话叫“字如其人”,我想从程序上也能看出一个程序员的优劣。因为,程序是程序员的作品,作品的好坏关系到程序员的声誉和素质。而“修养”好的程序员一定能做出好的程序和软件。
大型互联网架构师必备团队协作专题
大家可以点击加入群:Java架构/分布式/高并发:468897908里面有Java高级大牛直播讲解知识点走的就是高端路线(如果你想跳槽换工作但是技术又不够或者工作上遇到了瓶颈我这里有一个JAVA的免费直播课程讲的是高端的知识点基础不好的误入哟只要你有1-5年的开发经验可以加群找我要课堂链接注意:是免费的没有开发经验误入哦)1、具有1-5工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈。2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪。3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的,。4、觉得自己很牛B,一般需求都能搞定。但是所学的知识点没有系统化,很难在技术领域继续突破。5.群号:高级架构群606187239备注好信息!6.阿里Java高级大牛直播讲解知识点,分享知识,多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知!
阿里巴巴微服务架构到底有多牛逼?
微服务架构专题围绕微服务的通用模式,讲解SpringCloud的常见用法及原理。让微服务的开发更加方便、快捷,让微服务应用更加稳定、可用。理论结合实战,透彻理解分布式架构及其解决方案。面向人群1、工作1-5年需要突破瓶颈2、传统行业转型进入互联网行业的人群在技术深度和技术广度上得到飞跃的提升。成为互联网行业所需要的IT型人才微框架1、与微服务之间的关系2、热部署实战3、核心组件Starter、Actuator、AutoConfiguration、Cli4、集成Mybatis实现多数据源路由实战5、集成Dubbo实战6、集成Redis缓存实战7、集成Swagger2构建API管理及测试体系8、实现多环境配置动态解析SpringCloud1、Eureka注册中心2、Ribbon集成REST实现负载均衡3、Fegion声明式服务调用4、Hystrix服务熔断降级方式5、Zuul实现微服务网关6、Config分布式统一配置中心7、Sleuth调用链路跟踪
【微服务】之七:轻松搞定SpringCloud微服务-API权限控制
【微服务】轻松搞定SpringCloud微服务目录本系列为连载文章,阅读本文之前强烈建议您先阅读前面几篇。上一节我们讲到API网关zuul,对于SpringCloud来说,zuul除了可以做api接口的统一暴露,还应该具备权限控制的相关功能。单例应用权限控制在没有引入SpringCloud成套体系中,对于单体springboot所开发的应用使用springmvc自带拦截器就可以实现对路径的拦截,截取request中特定的参数进行校验,如果合法就可以访问,如果不合法便返回403。SpringCloudZuul过滤器简介对于组件zuul中,其实带有权限认证的功能,那就是ZuulFilter过滤器。ZuulFilter是Zuul中核心组件,通过继承该抽象类,覆写几个关键方法达到自定义调度请求的作用。开始起飞起飞之前,还是那句话,推荐先看前面博文。本次还是基于api网关功能的延伸,因此为了避免和前一片文章中子项目冲突,我们新建一个子项目,然后复制api-gateway-zuul项目的代码。配置AccessTok
redis缓存队列+MySQL +php任务脚本定时批量入库
需求背景:有个调用统计日志存储和统计需求,要求存储到mysql中;存储数据高峰能达到日均千万,瓶颈在于直接入库并发太高,可能会把mysql干垮。问题分析思考:应用网站架构的衍化过程中,应用最新的框架和工具技术固然是最优选择;但是,如果能在现有的框架的基础上提出简单可依赖的解决方案,未尝不是一种提升自我的尝试。解决:问题一:要求日志最好入库;但是,直接入库mysql确实扛不住,批量入库没有问题,done。【批量入库和直接入库性能差异参考文章】问题二:批量入库就需要有高并发的消息队列,决定采用redislist仿真实现,而且方便回滚。问题三:日志量毕竟大,保存最近30条足矣,决定用php写个离线统计和清理脚本。done,下面是小拽的简单实现过程一:设计数据库表和存储考虑到log系统对数据库的性能更多一些,稳定性和安全性没有那么高,存储引擎自然是只支持selectinsert没有索引的archive。如果确实有update需求,也可以采用myISAM。考虑到log是实时记录的所有数据,数量
linux mysql定时备份
项目需要定时备份数据库,以下是自己的操作笔记1.检查磁盘空间#df-hFilesystemSizeUsedAvailUse%Mountedon/dev/vda140G3.6G34G10%/tmpfs16G016G0%/dev/shm这是我当前linux服务器的情况,至于为什么是这样子,我也不清楚(我是半路接过来的,无奈)根据上面的信息,我就把备份文件放在/dev目录下面2.创建备份目录cd/devmkdirbackupcdbackup3.创建备份shell命令vibkDatabaseName.sh输入如下内容1#!/bin/bash2mysqldump-uusername-ppassword-hmysqlIpDatabaseName>/dev/backup/DatabaseName_$(date+%Y%m%d_%H%M%S).sql对备份进行压缩mysqldump-uuse
Vue 是否适合做移动端 WebApp
关于这个问题,肯定因为有其它的对比,才会有如此问题。在此不要急着给肯定的答案,先列举一些前端常用的技术解决方案:[if!supportLists]1、[endif]JQuery||Zepto+Bootsrap[if!supportLists]2、[endif]Vue+VueX[if!supportLists]3、[endif]React+Redux[if!supportLists]4、[endif]Angular以上是目前端市场比较热门的几种技术解决方案,很多人都在拿这几个方案来做对比,其实这种对比没有太多意义,为什么这么说?一对男女,在热恋的时候你浓我浓,对方的所有都是这个世界上最好的,为此立下山盟海誓,山无棱,天地合,才敢与君绝。但随着时间、环境的变迁,对方的缺点变得越来越不能接受,便开始拿其与身边的异性对比,越对比越感觉这不是自己想要的结果,最后在对比中彼此都成为了最熟悉的陌生人。此情况循环几次,最后发现,世界本没有最好的,坚定一份选择,好好经营,便能成为最适合、最好的。技术亦是如此。
Material使用01 侧边栏MdSidenavModule、工具栏MdTollbarModule
前提准备:构建好一个Angular2应用熟悉CSS的flex布局风格1利用flex进行布局1.1创建三个组件app-headerapp-mainapp-footer1.2在主组件中编写大体结构代码
白话Angular词汇
在打包项目的时候提前编译好应用,打包好之后可以直接启动,而不是把编译器打包在应用中用的时候再编译。生产环境使用。即时(just-in-time,JiT)编译浏览器中启动并编译所有的组件和模块,动态运行应用程序。开发过程中使用。指令(directive)告诉Angular怎么创建或改变HTML元素。分为三类:属性型指令结构性指令组件属性型指令监听或修改其它HTML元素、特性(attribute)、属性(property)、组件的行为的命令,通常用作修改HTML属性(样式等)。如ngClass、ngStyle。结构性指令监听或者修改元素的结构,删除或者增加dom。如ngIf这个“条件化元素”指令,ngFor这个“重复器”指令。组件(component)一个网页中一切皆可以视为组件。一个按钮或者一个表格都可以是一个组件,其实组件就相当于汽车零件,一个零件由各种材料(html、css、js等构成),它只维护自身的逻辑。封装桶就是把一个组件的部分文件放在一个index.ts一起抛出去供别的地方引用。
Express4.x API (三):Response (译)
技术库更迭较快,很难使译文和官方的API保持同步,更何况更多的大神看英文和中文一样的流畅,不会花时间去翻译–,所以我们看到express中文网更多的还是英文,我们只有提升自己的英语能力才能更快的适应库的更新迭代,阅读到最新资料.所以我此次翻译的目的,一是熟悉express文档,二是锻炼自己英语阅读能力;Responseres对象表示一个Express应用程序在收到HTTP请求时发送的HTTP响应(response)在这篇文档和惯例中,HTTP响应这个对象总是被称为res(HTTP请求则是req),但是它的实际名称取决于您正在工作的回调函数的参数.举个栗子:
React全家桶构建一款Web音乐App实战(三):推荐页开发及公用组件封装
页面结构推荐页面主要分轮播和最新专辑两块,其中轮播图片来自QQ音乐移动Web端推荐页面的接口,最新专辑则从PC端抓取的,整个推荐页面超出屏幕是可以滚动的轮播图和最新专辑数据抓取用chrome浏览器打开手机调试模式,输入QQ音乐移动端地址:m.y.qq.com。打开后点击Network,然后点击XHR,可以看到有一个ajax请求。点开后,选择preview,红色框内就是我们最后需要的轮播数据在chrome浏览器输入QQ音乐pc官网:y.qq.comJSONP使用这里接口用的是ajax请求,用这种方式存在跨域限制,前端是不能直接请求的,好在QQ音乐还是很人性化的基本上大部分接口都支持jsonp请求。jsonp原理具体不做过多解释了。为了使用jsonp,这里使用一款jsonp插件,首先安装jsonp依赖npminstalljsonp--save安装完成后开始编写代码。为了养成好的编程习惯呢,通常会把接口请求代码存放到api目录下面,很多人会接口的url一同写在请求的代码中,这里呢,我们把url抽取出来放到单独的一个文件里面
如何在不同的项目中共用前端资源,告别复制粘贴
欢迎大家加入前端技术交流群QQ:544587175随着公司前端项目的增多,大家会发现各个项目中很多资源都是是大同小异的,这就引发了一个话题,如何跨项目共用前端资源,这里的资源泛指前端涉及到的所有静态资源,常见的有HTML/CSS/JS/图片等等.所谓共用前端资源,就是将公共的前端资源提取出来,例如公共样式/公共逻辑/公共组件/公共图片资源等等,让多个项目来引用,避免复制多份,避免重复开发,统一管理和维护。只要更新公共资源,其他引用的项目就可以同步更新,提升开发效率,降低开发成本。前端资源共用的障碍因素蓝图是宏伟的,但要实现蓝图又是艰辛的,要实现蓝图,我们首先要认清现实存在的一些障碍.前端资源的共用涉及到以下几个方面,关键是该如何使用和如何更新的问题提取公共资源:如何模块化?模块化的粒度控制?存放/管理公共资源:公共资源应该统一放置在哪里?如何管理依赖?公共资源的发布更新:如何发布一个公共资源,又如果更新版本?公共资源的多版本共存:如何表明我需要公共资源的哪个版本?使用(引用)公共资源:如何
这个CSS问题屏幕前的你是否熟悉,然后懵逼,最后放弃
当决定写这篇博文时候,突然一道闪电从脑海劈过,于是临时决定将这个熟悉然后到懵逼最后到放弃的问题分为两部分。闲话少说,直接上题:要求如下:三个橙色圆的大小为60px,固定不变所有间隙相等,也就是被三个橙色圆划分成的四个间距相等应用在移动端,整个黄色为全屏宽度(所以这里图片的大小不是真实的大小,如iphone5那就是320px,6就是375px,6s就是414px等等)兼容安卓4.0以上(悄悄透露下安卓4.3-属性calc不支持)html&css(nojs)·方法不唯一,欢迎大家把自己解决方案分享到评论区---------------------------------------------答案分割线----------------------------------------------flex方法1、插入四个空标签,设置flex:1,这个可能是大家最先想到的。
用vue开发一个所谓的数独
1.前言最近的后台管理系统页面,功能暂时没有新的需求,就在想首页放什么东西,最近我想到的就是放个所谓的数独,为什么是所谓的数独,因为规则不同于标准的数独,只要求每一行每一列数字不一样就可以了!这个实例也是基于vue的,代码分享给大家。给大家代码,并不是要让大家直接拷贝代码,而是希望能让大家当做是一个练手的项目,或者学习到知识。如果大家觉得我哪里写得不好,写错了,欢迎指出,让大家交流意见,一起进步。代码上传到github了:有需要的可以star一下!vue-demos2.运行效果3.实现步骤实现步骤,感觉说得有点绕,建议大家边写边看文章,这样不会懵。或者直接去看源码(sudoku),把源码看懂!这个项目也不复杂!3-1.准备数据和排版排版的html+css代码我不多说了,排版很简单,这个相信都难不倒大家的。复杂一点的就是数据的交互!下面开始第一步,把数独的数据先准备好,数据是什么,大家都知道,就是像下面这样的数据!排版出来的效果就是下面这样。html代码如下<divclass="num-table"@mousele
基于vue2.0 +vuex+ element-ui 后台管理系统
xxx金融后台管理系统Amagicalvueelementtouziadmin.效果演示地址使用文档githubAbout此项目是vue2.0+element-ui+node+mongodb构建的后台管理系统,所有的数据都是从服务器实时获取的真实数据,具有真实的注册、登录、数据显示、新增数据、修改数据、删除数据等功能。如果对您对此项目有兴趣,可以点"Star"支持一下谢谢!^_^或者您可以"follow"一下,我会不断开源更多的有趣的项目开发环境windows64、nodejs6.11.0如有问题请直接在Issues中提,或者您发现问题并有非常好的解决方案,欢迎PR技术栈前端技术栈:vue2+vuex+vue-router+webpack2.0+ES6/7+less+element-ui服务端技术栈:nodejs+express+mongodb前序准备运行前准备:1、不需要在本地调试及开发