http://www.jianshu.com/p/2dd54ec0bb43 程序员纪录片…
如果你恨一个程序员,忽悠他去做iOS开发.不管他背景是cobel还是 java,送他一本iOS开发的书.这种书最好是国人写的,容易以偏概全一点,相比洋鬼子的书,更容易学到皮毛.这叫舍不得孩子套不着狼,谁叫你恨他呢. 然后你就会发现他没事会琢磨一下在虚拟机里运行一下mac OSX.Mac高大上啊,一用就上瘾.慢慢的,你发现他不再满足虚拟机了.程序员嘛,一般都对性能敏感的.他开始琢磨黑苹果了.这是发病的第一个阶段.这个阶段他会乐此不疲,殊不知也耗散着精力. 第一个阶段玩了一段时间后,他开始受不了了.…
引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来.LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容基本上忘得一干二净,所以写这篇文章其实是很有难度的. 但是,最近问LZ的人实在是太多了,为了避免重复回答,给自己省点力气,干脆就在这里统一回复了. 其实之前LZ写过一篇文章,但是那篇文章更多的是在讨论“面试前该不该刷题”这个话题,而这篇文章将会更加聚焦在面试前如何准备,以及工作当中如何学习这个话题上…
http://www.jianshu.com/p/44d3b8f713f2 Mac OS是Unix系统的分支,有着强大的命令行功能.很多事情在命令行下处理会事半功倍,所以我就iOS程序员可能会用到的功能讲述一下. 终端设置 Mac的终端有一个很关键的配置,就是“使用 Option 键作为 Meta 键”.勾上这个选项之后,就可以使用Emacs的编辑命令了. Snip20150413_5 我发现有些人的终端没有设置“平滑文本”,导致终端上的文字很难看.赶紧把这个选项勾上吧. Snip2015041…
1.点评 互联网发展至今已经高度发达,而对于互联网应用(尤其即时通讯技术这一块)的开发者来说,网络编程是基础中的基础,只有更好地理解相关基础知识,对于应用层的开发才能做到游刃有余. 对于Android程序员来说,如果您觉得本文内容稍显枯燥,可以看看即时通讯网之前整理过的一篇类似文章<迈向高阶:优秀Android程序员必知必会的网络基础>,该文内容更偏向于知识点的概括. 如果您希望更系统地学习网络编程方面的知识,可以读一读以下专为初学者整理的系列文章或资料: <TCP/IP详解 - 第11…
Dash + Alfred https://www.jianshu.com/p/77d2bf8df81f 对于程序员来说,查看api文档是非常频繁,经常窗口之间切换非常麻烦,mac下就有一个查文档的神器:Dash. 详细使用可以参考如上连接的说明. 本文重点整理下windows和linux下使用类似的功能如何操作. IntelliJ插件 https://github.com/gdelmas/IntelliJDashPlugin/releases ShortcutYou can change th…
1.前言 网络通信一直是Android项目里比较重要的一个模块,Android开源项目上出现过很多优秀的网络框架,从一开始只是一些对HttpClient和HttpUrlConnection简易封装使用的工具类,到后来Google开源的比较完善丰富的Volley,再到如今比较流行的Okhttp.Retrofit. 要想理解他们之间存在的异同(或者具体点说,要想更深入地掌握Android开发中的网络通信技术),必须对网络基础知识.Android网络框架的基本原理等做到心中有数.信手拈来,关键时刻才能…
    系统调用 程序运行的时候,本身是没有权限访问多少系统资源的.系统资源有限,如果操作系统不进行控制,那么各个程序难免会产生冲突.线程操作系统都将可能产生冲突的系统资源保护起来,阻止程序直接访问.比如文件.网络.IO.各种设备等. 系统调用涵盖的功能很广,有程序运行锁必须的支持,如创建和退出进程.线程,进程内存管理,对系统资源的访问等. Linux系统调用与中断 在x86下,系统调用是通过0x80中断完成,各个通用寄存器用于传递参数.EAX寄存器用于表示系统调用的接口号. 比如:EAX=1表…
很多人学习Python很长时间,对于'hello word' 的认知,很多已经从事Python多年的程序员的认知也就只有: print(hello wrod) 但是有没有让hello word 变得不一样?让你装一下逼?(想要源码可以加群:725479218,群文件里面可以找到) 开始 (先决条件) 首先在你的操作系统上安装 Anaconda (Python).你可以从官方网站下载 anaconda 并自行安装,或者你可以按照以下这些 anaconda 安装教程进行安装. 在 Windows 上…
  前言 今天我将站在程序员的角度以MySQL为例探索数据库的奥秘! 数据库基本原理 我对DB的理解 1.数据库的组成:存储 + 实例 不必多说,数据当然需要存储:存储了还不够,显然需要提供程序对存储的操作进行封装,对外提供增删改查的API,即实例. 一个存储,可以对应多个实例,这将提高这个存储的负载能力以及高可用:多个存储可以分布在不同的机房.地域,将实现容灾. 2.按Block or Page读取数据 用大腿想也知道,数据库不可能按行读取数据(Why?   ^_^).实质上,数据库,如Ora…
开发必备网站: Android 开发各种工具下载 Android 开发国内大牛集合 Android 开发技术博客周刊 Android 开发技术周报中文版 Android 优秀开源项目集合以及源码分析 Android 万能的技术交流社区 Android 开发遇到过相见恨晚的工具或网站 Android 开发实战技巧合集篇 Android 直播视频技术探究系列 Android 开发有哪些新技术出现 Android 你想要练手的API这里都有 Android 开发中需要注意的一些坑 干货集中营 在线开发…
前端学习资源实在是又多又广,在这样的一个知识的海洋里,我们像一块海绵一样吸收,想要快速提高效率,平时的总结不可缺少,以下总结了一些,排版自我感觉良好,推送出来. 一.插件类网站 jQuery插件库:http://www.jq22.com/ 最简单强大的插件框架:http://www.iopenworks.com/ jQuery之家:http://www.htmleaf.com/ 经典模块化前端开发框架:http://www.layui.com/ 进阶攻略|前端最全的框架总结:http://www…
一般来说,一线成熟企业技术岗位的典型招聘流程分为以下几个步骤: 初筛:一般由直接领导的技术经理或HR进行,重点考察教育和工作经历 一面:一般由可能直接与之共事的工程师进行,重点考察基础和工作能力 二面:一般由直接领导的技术经理进行,重点考察技术深度.广度和发展潜力 HR面:由人力资源部门进行,重点考察入职时间.职业规划.薪资要求等 当然,各个公司情况是不同的,有的公司可能会在面试前设置笔试或电话面试,有的公司会有两轮以上的技术面,有的公司会有由兄弟部门再把关的交叉面,有的创业公司甚至可能只有CE…
老外用MyBatis吗 昨天我在我在知乎看到了一张比较Hibernate和MyBatis使用情况的图,顺手发了条朋友圈: Hibernate vs MyBatis ,谁能告诉我什么样的国情导致了这么大的差异? 结果有人质疑,有人感叹. 我开始没有想到会有人质疑这个结果,在我的直觉里,确实国外使用MyBatis的人很少(在国外的网站上很少看到MyBatis的文章,但JPA/Hibernate的文章经常看到).所以今天早上我用google的trends验证了一下,上面的以及下面的这些比较图,都可以访…
初入职场之时,大多数人都应该考虑过这样的一个问题,如何找到一种实用,简化web流程的方法,在工作之中能有所提升和突破. 学好哪些?基础必须精通! 九层之塔,起于垒土;千里之行,始于足下.入门之前,这些都是必不可少的东西,基础的重要性决定了是在这一行业稳扎稳打还是风雨飘摇. 掌握HTML +CSS, HTML是网页的核心,是一种制作万维网页面的标准语言,这是前端最基本的知识,相当于小学要学习字母拼音的那种.学好CSS是网页外观的重要一点,CSS可以帮助把网页外观做得更加美观. 学好服务器端脚本语言…
随着“5G”(第五代移动通信技术)商用进程越来越快,各个芯片和终端厂商们都已经开始布局准备,想必智能手机会是消费者最先能够接触到5G的重要终端,而和其相辅相生的移动互联网也势必会有新的发展. 但是和行业本身的发展不相称的是, Android 开发者的市场需求仿佛处于寒冬.最直观的现象就是,工作没有那么好找了. 2018年底开始,不管从是官方的公告或是同事午餐间隙的聊天里,都透露着一个信息:资本寒冬到来了.虽然近段时间有一些股市和币市的好消息,但是各家公司大面积裁员的趋势仍然存在.互联网整体市场环…
腾讯王者荣耀的开发来来来出来聊聊,真是日了狗了,多次离上王者还差两三颗星的时候队友就开始水的一塌糊涂,对面就牛逼的不行. 又连跪回去了,被对面把屎都打出来了,实在忍不住来吐槽,你们这个排位匹配算法到底怎么搞的? 这位楼主脾气也是非常的火爆,从说话中可以看出,应该是玩这个游戏很久了,段位一直上不去,就想要吐槽一下这个写匹配算法的程序员,这个算法为什么每次匹配的队友都这么坑,每次快要赢了都会被别人翻盘! 网友一:这个问题我也想问!!!求鹅肠算法大佬来讲解一下!5连胜以后三连跪……队友…不想说了 网友…
阅读本文大概需要 6 分钟. 转载自:https://juejin.im/post/5d214639e51d4550bf1ae8df 1.Spring 的生命周期 Spring 作为当前 Java 最流行.最强大的轻量级容器框架,了解熟悉 spring 的生命周期非常有必要: 首先容器启动后,对 bean 进行初始化 按照 bean 的定义,注入属性 检测该对象是否实现了 xxxAware 接口,并将相关的 xxxAware 实例注入给 bean,如 BeanNameAware 等 以上步骤,b…
高软第一次作业 程序员使用键盘最常用的技能 搬运自:https://learnku.com/articles/22806    括号内为个人吐槽 1.尊重操作系统特性(如Mac OS的某些键位自定义设置) 2.抛弃 Caps 键:改用CTRL+SHITF+U(我还是觉得按一个键快...) 3.使用两侧的SHIFT(这个自然是那边近我用哪边,舒服算完) 4.映射CTRL(这个好像确实可以学习一下,不过貌似我只是个CTRL+C,CTRL+V程序员,所以...随缘吧) 5.映射ESC(我CTRL都懒得…
1.spring的生命周期 2.TCP三次握手,四次挥手 3.线程池执行流程图 4.JVM内存结构 5.Java内存模型 6.springMVC执行流程图 7.JDBC执行流程 8.spring cloud组件架构 9.dubbo 调用 整理了一些Java基础流程图/架构图,做一下笔记,大家一起学习. 1.spring的生命周期 Spring作为当前Java最流行.最强大的轻量级容器框架,了解熟悉spring的生命周期非常有必要: 首先容器启动后,对bean进行初始化 按照bean的定义,注入属…
Java程序员必备的一些流程图 转自https://juejin.im/post/5d214639e51d4550bf1ae8df 前言: 整理了一些Java基础流程图/架构图,做一下笔记,大家一起学习. 1.spring的生命周期 Spring作为当前Java最流行.最强大的轻量级容器框架,了解熟悉spring的生命周期非常有必要: 首先容器启动后,对bean进行初始化 按照bean的定义,注入属性 检测该对象是否实现了xxxAware接口,并将相关的xxxAware实例注入给bean,如Be…
转自:https://www.jianshu.com/p/cd89fe94cd30 低代码 是一种近些年兴起的企业软件快速开发技术和工具.借助低代码使用者无需编码即可完成企业应用的常用功能,少量编码扩展出更多功能.低代码凭借低门槛.高效率和易集成等特性,被越来越多的软件开发团队青睐.Gartner预测,到2024年四分之三的大企业将会使用至少4种低代码开发平台,用于信息化应用开发.届时,65% 的应用开发将通过低代码完成. 看上去,低代码是一种颠覆性的技术.那么,低代码会不会取代专业开发者?如果…
代码就是程序员的面子,无论是在工作中在电脑上写程序代码还是在面试时在纸上写演示代码我们都希望写出整洁,优雅的代码.特别在工作中当我们碰到需要维护别人的代码,或者是多人参与一个项目大家一起写代码的时候,如果碰到一些丑陋的代码,我们还要看懂并且修改它的时候,那种难受,肯定会让我们回想起多年以前自己还是新手程序员的时候,写下的那些丑陋的代码,并且深深内疚于将它们留给了我们的后继者,不知道他们和它们是否还安好.所以,强调代码的规范性,写出整洁,优雅,可读性高的代码应该是成为一个合格的程序员的第一步.这里…
前端学习资源实在是又多又广,在这样的一个知识的海洋里,我们像一块海绵一样吸收,想要快速提高效率,平时的总结不可缺少,以下总结了一些,排版自我感觉良好,推送出来. 一.插件类网站 jQuery插件库:http://www.jq22.com/ 最简单强大的插件框架:http://www.iopenworks.com/ jQuery之家:http://www.htmleaf.com/ 经典模块化前端开发框架:http://www.layui.com/ 进阶攻略|前端最全的框架总结:http://www…
前言 volatile是Java程序员必备的基础,也是面试官非常喜欢问的一个话题,本文跟大家一起开启vlatile学习之旅,如果有不正确的地方,也麻烦大家指出哈,一起相互学习~ 1.volatile的用法 2.vlatile变量的作用 3.现代计算机的内存模型(计算机模型,总线,MESI协议,嗅探技术) 4.Java内存模型(JMM) 5.并发编程的3个特性(原子性.可见性.有序性.happen-before.as-if-serial.指令重排) 6.volatile的底层原理(如何保证可见性,…
前言: 首先为什么要写这样的一篇文章呢?主要是因为前段时间写过一些关于Angualr的相关实战文章,有些爱学习的小伙伴对这方面比较感兴趣,但是又不知道该怎么入手(因为认识我的大多数小伙伴都是后端的同学),所以今天准备出一篇Angular学习资料汇总和日常开发中使用比较频繁的语法.让更多的后端程序员更好的了解学习Angualr,拓展自己的技术栈. Angular简介: Angular 是一个应用设计框架与开发平台,用于创建高效.复杂.精致的单页面应用. 学习资料推荐: Angular-GitHub…
原文链接: 听说,99% 的 Go 程序员都被 defer 坑过 先声明:我被坑过. 之前写 Go 专栏时,写过一篇文章:Go 专栏|错误处理:defer,panic 和 recover.有小伙伴留言说:道理都懂,但还是不知道怎么用,而且还总出现莫名奇妙的问题. 出问题就对了,这个小东西坏的很,一不留神就出错. 所以,面对这种情况,我们今天就不讲道理了.直接把我珍藏多年的代码一把梭,凭借多年踩坑经历和写 BUG 经验,我要站着把这个坑迈过去. 一. 先来一个简单的例子热热身: package m…
软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编程作为自己职业生涯的起点.如何学好编程?如何成为优秀的程序员?如何规划好程序员这个职业?是许多年轻人关注的问题.在Infoworld最近做的一次调查中,邀请到了JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Spring Framework创建者Rod…
一个程序员,他写完了代码,在测试环境通过了测试,然后他把它发布到了线上生产环境,但很快就发现在生产环境上出了问题,有潜在的 bug. 事后分析,是生产环境的一些微妙差异,使得这种 bug 场景在线下测试中很难被发现.毕竟想要在测试环境完美的复制生产环境的所有情况也是不太可能的,导致出现了疏漏.对于这类情况,我们在想是否可以通过在线下做一些 Code Review(代码审查)假想线上的环境差异,通过在头脑中的假想上线运行来获得一些概念验证,这样是否能够减少上线后出现 bug 的概率呢? 感性 Co…
引子 今天在博客园看到施瓦小辛格的文章我们搞开发的为什么会感觉到累,顿时有感而发.自己本来不擅长写文章,更不擅长写这种非技术性的文章,但是在思绪喷薄之际,还是止不住有很多话要说.针对从客观上说"搞开发的很累"这种说法,我也来发表一下我的看法. 我们的累 我们搞开发的为什么会感觉到累,文中已经说了很多,简单的讲,主要是担心和紧张感以及加班的劳累. 明天项目上线,通宵改BUG,好累. 需求变来变去,这个项目什么时候是个头,好累 现有的技术将要过时,面临淘汰,一堆的新技术要学,好累 每天上下…