Git 原理入门

Git 是最流行的版本管理工具,也是程序员的必备技能之一。

即使天天使用它,很多人也未必了解它的原理。Git 为什么可以管理版本?git addgit commit这些基本命令,到底在做什么,你说得清楚吗?

这篇文章用一个实例,解释 Git 的运行过程,帮助你理解 Git 的原理。
继续阅读Git 原理入门

Google 的后端工程师都开始写小程序了?反编译 “猜画小歌”看看

 

今天 Google 在微信发布了一款小程序“猜画小歌”,都已经刷爆朋友圈了。没想到谷歌重返中国第一个应用竟然是小程序,而且还是基于 AI 的小程序。还没体验的可以扫码体验一下。

逻辑很简单,每局给你一个新的词,让你画对应的图案,我感觉应该是将你画的图,向提供的关键词去靠拢,很多其实沾一点边的图,都能识别上,产生了很多灵魂画师。我今天体验了一下发现根本停不下来,根本停不下来,忍不住在群里分享一波。

反编译小程序

在知乎上已经有人将“猜画小歌”反编译出来,发现目录结构特别具有 Java 工程师的风格,非官方消息也说到,是一名后端开发工程师自己独立完成的小程序开发任务。

感受一下目录风格:

反编译者还发现很多命名方式都是中英文混编以及命名规范不一致,还专门吐槽了一下。

还发现了例如一些引入第三方库不规范的例子,例如引入了 cryptojs 来作为接口加密,但是其实只用到了 SHA1 加解密。

知乎用户 @Kumakuma 还爆料称,此小程序就是后端工程师写前端,并且是一个人完成的,不过因为时间紧任务重,很多地方都不规范,后期应该会加强代码审核,也就不会出现这样的问题了。

“猜画小歌”隐藏功能

在反编译的文章中,还发现了很有意思的点,其实它还隐藏了很多有意思的功能,光小程序的页面竟然就有 14 个。

能看出来,确实有很多隐藏的页面,从反编译的效果来看,最少会有对战页面、注册码页面、打赏功能等等。

按现在的热度和传播效果来看,这个游戏的方向算是正确的,后续应该还会增加一些多人互动方向的新玩法,很值得期待。

灵魂画师会带坏 AI?

就如前面说的,“猜画小歌”就是一款 AI 小程序,它的匹配规则还是很宽泛的,所以很多灵魂画手就上线了,基本上靠一点边“画作”就可以被识别出来。

但是不必要担心,上线之前 AI 本身就已经提前喂了大量的数据给模型,所以现在这点用户量,并不会对 AI 的模型有任何冲击。

不排除之后用户量暴涨之后,会对模型造成冲击,不过话说回来,如果是中国人自己教的 AI,是不是更适合中国人的画风呢?

我想,自己教的孩子,自己一定喜欢。

“猜画小歌”的意义

本身 Google 志不在游戏,更多的应该是想通过游戏的形式,让大家了解 AI,毕竟 Google I/O 已经是 AI First 了。

我想 AI 发展到最后,基础设施会越来越完善,准入门槛会越来越低,发展到最后肯定就是拼创意、想法和数据。

AI 没有那么神奇,也没有那么智障,更多的是可以做到一些传统代码做不到的事情,可以解放很多工作,非常值得期待。

今日我的博客加入了一个新功能,阅读量统计···pdf电子书-css揭秘-下载

今日我的博客加入了一个新功能,阅读量统计···

感觉瞬间棒棒的

嗯,这个内容有点空洞,放出一个css资源

高清pdf电子书 css揭秘

快去下载

链接: https://pan.baidu.com/s/1q10_ikubVGTDhWNTIDwcjQ 密码: 5rf9

 

写给那些想转行前端,或者犹豫是不是在前端干下去的同学

入前端断断续续的在这行也10年有余,当初因为上大学阴错阳差的当了网络部长,由于导员想法颇多,给网络部很多任务,其中就有做学校的网站,刚入大一,除了数理化什么都不会,只能硬着头皮自学起来,幸好 有一个学长教了一些,网络部长还有一些同学,学的时候是一起学习,但是其他人都兴趣缺缺,但是我身为网络部长如果学不会都话那做网站都任务就要泡汤了,所以也许是这一种责任,或者是天然的兴趣促使自己学习下去,刚入行这其中会碰到很多各种各样的问题,有些问题根本无从解决,毕竟这方面的知识一片空白,我想这也是很多同学刚开始都会碰到的情况,也是入行的拦路虎,会拦下90%想要入行的同学吧

所以对于想入行的同学我给的建议是给自己一个不得不去学习前端知识的目标,比如帮助朋友亲戚去做一个网页,或是给心爱的妹子做一个网页的生日祝福,这样你学习下去的动力就有了,比自己枯燥的去看教程要有趣的多,目标明确的多

当入坑了之后,很多同学又会有一些困惑,比如不知道方向是什么,该学一些什么才能达到工作的要求,或是已经工作了不知道怎么提高,成为大牛,其实在我看来单纯的为了工作挣钱而没有骨子里对于前端的兴趣是不能成事的,也许会有意外,但是我觉得对于大多数人来说是适用的

请各位前端同学自行体会,当遇到了前端的难题是突然兴奋,瞬间来了精神?当看到一个新的轮子是特别感兴趣还是避之不及?当有一个新的需求发现需要学习新的知识是不是迫不及待要去完成?如果你没有这种感觉,那么我可能悲伤的告诉你,你也许不适合这行,请转行,或者维持现状吧

前端相对于其他it技术来说,需要很多能力,也会遇到很多莫名其妙的问题,如果没有一种自我驱动,自我学习的能力那么肯定不会有所建树。能做一个好的前端开发肯定能成为一个优秀的后端开发,但是一个好的后端不一定能成为好的前端开发,个人体验勿喷

如果你也有困惑给我留言,知无不言,一起提高

写好一份技术简历很重要

转自:https://www.jianshu.com/p/99f890ef36d4?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

前一段时间写了一篇博文《每年应该更新你的简历》浏览的同学不少,所以想多写写和简历有关的文章,这篇主要说的是如何写简历,为了缩小描述范围,强调的是技术简历,时间段是从准备写简历到投递简历之间。

写简历的基本目的和策略

大部分情况下,写简历是找工作的第一步,考虑到第二步就是面试,那么简历就是敲门砖,为了让企业认识到你的价值,必须把自己的真实水平描述出来,展现出你有能力应对这份工作。甚至要体现出自己是某方面的杰出人才,因为只有足够优秀的人,企业才能更看重你,因为你会为企业带来不一样的价值,对应的待遇也将更好。

所以写简历的根本策略就是如实的体现出你的水平和阅历,那么如何体现呢?不是通过说,而是有一定的方法论去证明你具备足够的才华,简历虽然不是论文,但也要有一定的论证,让看简历的人觉得你优秀。简历上的每一点应该是经过精雕细琢的,可推敲的,具备一定意义的。

简历应该是变化的

很多人不管投递给那家公司,都是一成不变的,不建议这样,简历是很重要的资料,不应该四处投递,应该珍惜,你投递每一份简历应该是深思熟虑的,是想获得那份工作的。

要对你投递简历的那家公司有基本的了解,业务方向是什么,公司企业文化是什么,从事的行业是你看好的吗;假如有可能,你应该了解你投递简历的具体部门是干什么的,是技术研发部门,还是应用开发部门;假如有渠道甚至应该了解你未来的职位是什么。
继续阅读写好一份技术简历很重要

移动端触摸数字转盘无限滚动实现思路

先看下效果,这个转盘的数字是从0-105,可以设置起始数字,那么之前的数字就变灰,不可选取,点击 加减号,会自动转动4个数字间隔,同时也可以手动触摸拖动,拖到终端105,自动回弹不可再拖动下去,同时选中的数字自动变黄···

好啦看下gif实现效果,或者点击查看,请滑动到第三屏

 

难点分析:

1、因为一个圆是360度,数字按照一定间隔排列比较合理的是18度排一个数字,那么一个圆形只能排列20个数字,其他数字如何生成?

2、如何判断当前选中并且加黄?

3、手指触摸拖动和圆盘转动的换算关系?

4、转动如何更加平滑有一定弹性

5、如何控制相应的数字显示隐藏来达到转盘数字一直增加或者减少的效果?

继续阅读移动端触摸数字转盘无限滚动实现思路

转载:程序员好日子什么时候到头,每一个程序员改看看

这样的问题让我不胜其烦。为子女未来前途操碎了心的长辈们,长辈们的朋友们,还有微信知乎上的朋友,像候鸟一样,在一年里的两个时间:春节期间和高考报志愿前夕,准时开问。我大概六月份回答过一位长辈的咨询,他说小陈,你说的好像很有道理的样子啊,应该发篇文章我好能转给我的朋友们。我说叔叔好啊,就写就写。结果开了个头,就因为懒的原因(主要是红包没到位),一直搁在今天。最近翻看 git repo 里面一票未完成的文章,这篇蹦了出来,伸长脖子一个劲儿地向我示意:poke me,poke me,所以,就有了大家看到的这篇文章。

文章有点长,可以直接跳到底部看结论 —— 但我知道,你们其实都有结论,就是心里不踏实,要找些定心丸 —— 那就还是看下去吧。

唐太宗说:以史为镜,可以知兴替。我们把视角拉到七十年前,看看历史上程序员这个群体是如何一步步壮大的。

社会和经济的变迁

虽然程序员的祖师娘是诗人拜伦的女儿 Ada,但第一个真正的程序员,是 Alan Turing。Alan Turing 不仅提出了图灵机,他还在最早的计算机上写过代码。如果说 1946 年 ENIAC 的诞生可算做通用计算机的元年,那么,当时程序员的数量可能只有不超过 10 个。

程序员这时还算不上一个职业 —— ENIAC 走出实验室后催生出来了一批计算机,这些计算机需要有人去使用,于是有了第一代「程序员」,他们大多是半路出家的数学家和科学家。
继续阅读转载:程序员好日子什么时候到头,每一个程序员改看看

如何让一个前端工程师从入门到放弃?

好啦 是开玩笑的,就是简单给各位新世纪前端同学介绍下 应该了解哪些内容才能成为一个真正的前端工程师,就是下面我要介绍的 js资源大全!

包管理器

管理着 JavaScript 库,并提供读取和打包它们的工具。

  • npm:npm 是 JavaScript 的包管理器。官网
  • Bower:一个 web 应用的包管理器。官网
  • component:能构建更好 web 应用的客户端包管理器。官网
  • spm:全新的静态包管理器。官网
  • jam:一个专注于浏览器端和兼容 RequireJS 的包管理器。官网
  • jspm:流畅的浏览器包管理器。官网
  • Ender:没有库文件的程序库。官网
  • volo:以项目模板、添加依赖项与自动化生成的方式创建前端项目。官网
  • Duo:一个整合 Component、Browserify 和 Go 官网的最佳思想,使开发者能快速方便地组织和编写前端代码的下一代包管理器。

继续阅读如何让一个前端工程师从入门到放弃?

比特币入门教程-转自阮一峰个人博客

原文地址:http://www.ruanyifeng.com/blog/2018/01/bitcoin-tutorial.html

比特币(bitcoin)诞生于2008年的一篇论文

一个署名为中本聪的人,提出了革命性的构想:让我们创造一种不受政府或其他任何人控制的货币!这个想法堪称疯狂:一串数字,背后没有任何资产支持,也没有任何人负责,你把它当作钱付给对方,怎么会有人愿意接受?

但是,狂想居然变成了现实。随后的几年,在全世界无数爱好者的支持下,比特币网络运行起来了,越来越多的人和资本参与,星星之火,终成燎原。刚刚过去的2017年,比特币迎来了爆发式的增长,从年初的1000美元,最高涨到了2万美元,全世界都为之震动,上到政府,下到普通百姓都在关注。事实就是比特币已经并将继续改变世界。


继续阅读比特币入门教程-转自阮一峰个人博客