201803-19 程序员的工作究竟有多复杂? 偶尔和圈外朋友聊天,他们经常会问我,你们程序员每天究竟在忙啥?工作很难很累吗?为啥老是看到IT男猝死的新闻?平时要少加班多注意身体云云……一般我都直接打断,对于我来说,写代码没啥难度啊,更多的时间都花在思考怎么写上了,纯属脑力活,放心,哈哈。这次,我就尝试以更友好且更容易理解的方式来回答这类问题... 继续阅读 >
201803-19 一个十二年老程序猿的碎碎念 我是一名程序猿,在上95年上初中的时候,别的还在都在打篮球、踢足球的时候,我就已经在玩QBasic了,每逢跟其他程序猿说起这段的时候,大家都会投过来羡慕的眼光,其实没有你们想的那么好,反而挺悲催的,当时的同学们都不知道我在说些啥,另外我至今都不会打篮球、踢足球。果然不出意外(不会有意外的,我大学填报的所有志愿都是计算机系)的大学毕业后做了一枚程序猿。工作到现在有十二个年头了,大部分工作都是做开发... 继续阅读 >
201803-19 我为什么劝你不要过度纠结于技术细节? 给陷入互联网狂欢的技术人员泼一盆冷水。一周前,一个群里有一位朋友,上来就破口大骂“Python垃圾语言”、“效率极差”,一开始我没有在意,后来他开始发红包骂Python。我并不是一个Python粉,但是看到这里,我觉得有些过分,于是,作为群主的我,有必要出面教育一下他了。我首先是发了这么一段话:我发现,一个底层员工出门谈业务、甚至是聊天的时候,尽管他可能恨透了这家公司,但是他还是... 继续阅读 >
201803-19 Android开源:AndLinker-Android 上的 IPC 库 简介AndLinker是一款Android上的IPC(进程间通信)库,结合了AIDL和Retrofit的诸多特性,且可以与RxJava和RxJava2的CallAdapters无缝结合使用。项目的设计与部分代码参考了伟大的Retrofit项目。配置在项目根目录的build.gradle中添加jcenter()仓库allprojects{repositories{jcenter()}}在App的build.gradle中添加如下依赖dependencies{implementation'com.co... 继续阅读 >
201803-19 golang 高并发下 tcp 建连数暴涨的原因分析 背景:服务需要高频发出GET请求,然后我们封装的是golang的net/http库,因为开源的比如req和gorequsts都是封装的net/http,所以我们还是选用原生(req使用不当也会掉坑里)。我们的场景是多协程从chan中取任务,并发get请求,然后设置超时,设置代理,完了。我们知道net/http是自带了连接池的,能自动回收连接,但是,发现连接暴涨,起了1万个连接。 首先,我们第一版的代码是基于python的... 继续阅读 >
201803-19 2022高级编程视频教程获取步骤 HOT 关注微信公众号,Python编程学习圈,回复【学习资料】,即可获取。吐血整理的海量Python资源、教程、电子书、更新的学习资料,让你学习Python从入门到精通,最关键的是!无偿免费分享!资料概览 1、Python必备开发工具(超实用安装包及教程)2、Python电子书籍3、100道Python练习题(检验学习成果)4、零基础教程视频5、经典、难点详细解析6、最新python爬虫神经网络深度学习算法... 继续阅读 >
201803-13 用 debugger 学习 golang 常见的工程语言可分为解释型和编译型两种,比如写php的,一般就不怎么在乎debugger之类的东西。为什么?如果真出了问题,我可以临时把出问题的服务机器从线上服务中摘除出来,甚至申请一个较高的权限去修改代码,然后到处去die/echo。虽然有人说这么做不太好,或者一般公司也不给开权限。不过着急的时候,这个肯定是可行的。然而像java/go这种编译型的就比较麻烦了。线上一般只有程序的运行环境而没有编译环境。就算是在... 继续阅读 >
201803-12 6 个新奇的编程方式,改变你对编码的认知 我时不时会发现一种编程语言的不同用法它有时候会改变我对编程的看法啊。这篇文章中,我想分享一下让我惊讶的发现。这不是类似于高呼“函数式编程会改变世界!”博客文章。我敢打赌,大多数读者都没有听说过下面的大多数语言和范例,所以你应该也会被这些新概念吸引。注意:我对以下大多数语言的使用经验都很少,但是我发现他们背后的想法非常吸引人,但对其没有专业知识,所以有任何错误请指出并指导更正。如果您也有新的... 继续阅读 >
201803-12 你想知道的2018年软件开发“10件事” 区块链、NLP、AI驱动的工具、机器学习、无服务器计算和devops创新将在2018年改变开发者的生活。开发人员应该对2018年的机遇感到兴奋,产品和工具围绕着诸如区块链、聊天机器人、无服务器功能和机器学习等技术在现实世界的项目中变得足够成熟。与此同时,许多开发人员会担心,在不影响安全性和性能的前提下,他们将无法更快地交付代码和功能。但这方面也有好消息。对于开发人员来说,2018年的定义是,在抓住转型新... 继续阅读 >
201803-12 不是技术也能看懂云计算,大数据,人工智能 我今天要讲这三个话题,一个是云计算,一个大数据,一个人工智能,我为什么要讲这三个东西呢?因为这三个东西现在非常非常的火,它们之间好像互相有关系,一般谈云计算的时候也会提到大数据,谈人工智能的时候也会提大数据,谈人工智能的时候也会提云计算。所以说感觉他们又相辅相成不可分割,如果是非技术的人员来讲可能比较难理解说这三个之间的相互关系,所以有必要解释一下。一、云计算最初是实现资源管理的灵活性... 继续阅读 >
201803-12 C#究竟哪点不如Java了!? C#是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言,自发布以来受到了程序员的广泛关注。C#与Java有着很多相似之处,例如,单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是与Java每月被唱衰的热度不同,C#看起来就沉默多了。根据TIOBE编程语言指数来看,从2016年开始,C#的热度就比较平稳,只是每年都会出现周期性的变化。如果从历史排名来看,C#一直是以小步伐... 继续阅读 >
201803-12 PWA即将推向所有Chrome平台 大多数人应该都听说了微软已经着手在Windows商店中增加PWA,这是一个重磅消息! 渐进增强式Web应用即将在Win10系统上线,我们已经准备好了!图片来源:ashleymcnamara作为制定WebAppManifest规则的联合编辑,Kenneth一直参与到相关规则的制定中。实际上,微软是最早关注WebAppManifest的公司之一,最开始使用他们的Manifold工具,然后转为使用http://PWAbuilder.com。自从首个ManifoldJS发布之后,MarcosCaceres和Ke... 继续阅读 >
201803-12 面试分享:2018阿里巴巴前端面试总结(题目+答案) 1、使用css实现一个持续的动画效果animation:mymove5sinfinite;@keyframesmymove{from{top:0px;}to{top:200px;}}主要考:animation用法值描述animation-name规定需要绑定到选择器的keyframe名称。animation-duration规定完成动画所花费的时间,以秒或毫秒计。animation-timing-function规定动画的速度曲线。animation-delay规定在动画开始之前的延迟。animation-iteration-count... 继续阅读 >
201803-12 React 是怎样炼成的 本文主要讲述React的诞生过程和优化思路。内容整理自2014年的OSCON-ReactArchitecturebyvjeux,虽然从今天(2018)来看可能会有点历史感,但仍然值得学习了解。以史为鉴,从中也可以管窥Facebook优秀的工程管理文化。字符拼接时代-2004时间回到2004年,MarkZuckerberg当时还在宿舍捣鼓最初版的Facebook。这一年,大家都在用PHP的字符串拼接(StringConcatenation)功能来开发网站。... 继续阅读 >
201803-12 面试的信心来源于过硬的基础 在过去的一年很多人不满于公司没有福利、人际关系不好相处、没有发展前途的境遇等等,想着在开年来换一份工作来重新开始自己,那么你准备好了吗?下面是本人整理的一份面试材料,本想自己用的,但是新年第一天公司突然给了我个惊喜,涨工资了!!!1、viewport<metaname="viewport"content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>//width设置view... 继续阅读 >
201803-12 css3动画整理 趁逢年味,整理一些小东西,希望大家能够喜欢;列举以下7个小demo来抛砖引玉1、多彩圆环利用CSS3的background-image和border-radius组合成的动画直接上代码:html<divid="item1"><divclass="colorcircleshadow"><div></div><div></div><div></div><div></div><div></div><div></div><div... 继续阅读 >
201803-12 JavaScript中this的运行机制及爬坑指南 在JavaScript中,this这个特殊的变量是相对比较复杂的,因为this不仅仅用在面向对象环境中,在其他任何地方也是可用的。本篇博文中会解释this是如何工作的以及使用中可能导致问题的地方,最后奉上最佳实践。为了更好理解this,将this使用的场景分成三类:在函数内部this一个额外的,通常是隐含的参数。在函数外部(顶级作用域中):这指的是浏览器中的全局对象或者Node.js中一个模块的输... 继续阅读 >
201803-12 我是一名朝九晚五的程序员(你也可以!) 我一直在思考SafiaAbdalla发的一个蛮特别的推特:一个也许不怎么主流的见解(有点讽刺产自于我):你没有必要写博客文章,贡献开源,参与技术会话,或做其他任何有利于成为大咖工程师的事情。代码留在办公室里,那便是极好的。——SafiaAbdalla(@captainsafia)2018年1月13日尽管我也承认这个有点反讽意味,但是我的心灵情不自禁地发生了共鸣。自从我因为拒绝负担更多的工作而被解雇以来,我会告诉潜在雇主的其中... 继续阅读 >
201803-08 国际象棋版AlphaZero出来了诶,还开源了Keras实现ヽ( `0´)ノ 只用了不到4小时。AlphaZero在去年底通过自我对弈,就完爆上一代围棋冠军程序AlphaGo,且没有采用任何的人类经验作训练数据(至少DeepMind坚持这么认为,嗯)。昨天,GitHub有位大神@Zeta36用Keras造出来了国际象棋版本的AlphaZero,具体操作指南如下。项目介绍该项目用到的资源主要有:去年10月19号DeepMind发表的论文《不靠人类经验知识,也能学会围棋游戏》基于DeepMind的想法,GitHub用户@mokemokechi... 继续阅读 >
201803-06 6行代码解决golang TCP粘包 什么是TCP粘包问题以及为什么会产生TCP粘包,本文不加讨论。本文使用golang的bufio.Scanner来实现自定义协议解包。协议数据包定义本文模拟一个日志服务器,该服务器接收客户端传到的数据包并显示出来typePackagestruct{Version[2]byte//协议版本,暂定V1Lengthint16//数据部分长度Timestampint64//时间戳HostnameLengthint16//主机名长度Hostname... 继续阅读 >
201803-04 Apache Ignite 事务架构:并发模型和隔离级别 在本系列的第一篇文章中,我们研究了2阶段提交协议,以及Ignite如何处理各种类型的集群节点,下面是在剩下的文章中要覆盖的主题:并发模型和隔离级别故障转移和恢复Ignite持久化层中的事务处理(WAL、检查点及其他);第三方持久化中的事务处理在本文中,我们会聚焦并发模型和隔离级别。大多数现代多用户应用允许并发数据访问和修改。为了管理此功能,并确保系统从一个一致状态切换到另一个一... 继续阅读 >
201803-04 nginx+keepalive实现高可用热备负载均衡 1 规划和准备 两台相同配置的web用途IPMASTER192.168.1.100BACKUP192.1681.1012 安装两台接入服务器分别安装NginX和keepalived:准备依赖包:yum-yinstallgccpcre-develzlib-developenssl-develyum-yinstallpopt-devel下载wgethttp://... 继续阅读 >
201803-04 常用负载均衡 HTTP重定向对于HTTP重定向,你一定不陌生,它可以将HTTP请求进行转移,在Web开发中我们经常会用它来完成自动跳转,比如用户登录成功后跳转到相应的管理页面。这种重定向完全由HTTP定义,并且由HTTP代理和Web服务器共同实现。很简单,当HTTP代理(比如浏览器)向Web服务器请求某个URL后,Web服务器可以通过HTTP响应头信息中的Location标记来返回一个新的URL,这意味着HTTP代理需要继续请求这个新的URL,这便完成... 继续阅读 >
201802-27 2018 年 Web 开发者路线图:最全的教程、资源和在线课程 编者按:WEB开发是一个非常热门的职业。该工作的技术性很强,它需要你必须不停地提高、不断地加强,才不会被别人比下去,才能保住饭碗。看了以下文章,希望对你提高技能能有一些帮助。本文编译自BrandonMorelli在Medium上发表的文章The2018WebDeveloperRoadmap。想学习代码?没有比现在更好的时候了。下面是一个关于在2018年如何成为一名网络(Web)开发人员的路线图。不要让这些图片吓倒你。要想成为一位优秀的开发... 继续阅读 >