学习笔记
Garvin Li
Dancing with data
展开
-
五句话了解区块链,扫盲系列
1.区块链解决了啥问题一个东西有价值,一定是解决了一个社会上的痛点。我们说人工智能是未来的趋势,因为它主要解决的是生产力的升级问题,工业革命代替人的简单体力劳动,人工智能代替的是例如思考之类的复杂劳动。区块链解决的是生产关系的问题,也就是信任的问题,想一下为什么淘宝需要有支付宝,因为如果没拿到货而直接付钱,卖家不发货怎么办?需要担保机制,这就是买卖间彼此不信任的问题。2.区块链的核心技术理论是啥?原创 2018-03-22 09:16:56 · 14160 阅读 · 30 评论 -
Java的clone()用法实例解析
1.背景 用java写程序的时候很苦恼的一件事就是,如果将一个对象a赋给另一个对象b,那么你改变a的变量值得时候,b的值也对应的变化。如果我们只想单纯的获取那个时刻的a的状况给b的话,就要用到clone方法了。比如说如下代码:public class Main { public static void main(String[] args) { // TODO Auto-原创 2015-02-03 16:48:50 · 6599 阅读 · 0 评论 -
【码农本色】用数据解读我的2014
转眼2014就过去了,不禁感叹又老了一岁的同时,却发现已经快研究生毕业了,趁着这个活动简单总结下2014~~~~~~~~~~~1.实习篇 2014年一月份拿到了人生第一个实习offer,在sony这样的大公司做android开发。主要研究系统截屏功能,感觉在这方面稍微有了一点成就,无论是源码层,还是sdk端的大致原理都有了一定的了解。当时写了几篇博客,算是当时android系统截屏方面比较原创 2015-01-15 08:38:34 · 4448 阅读 · 14 评论 -
mac下dashboard小控件开发实例(附源码)
1.背景 用mac的用户都应该知道,mac有一个很好的功能,就是dashboard小控件的功能,按下F12键就可以自由切换。博主最近在背GRE单词,就尝试这开发了一个背单词的dashboard小控件。效果如图原创 2015-01-09 10:08:16 · 3491 阅读 · 1 评论 -
latex快速入门教程
1.背景 最近被逼着写论文,用了下latex,真心高大上啊。可以写出特别漂亮的pdf,总结下用法,以后毕业论文能用上。2.使用 (1)模板 没错,这个模板是真心重要,我其实也不会自己定义完整的一套格式,但是因为有代码基础,所以在模板的基础上修订还是不难的。我clone一个大神的模板列表,然后增加了论文,包括单栏和双栏。大家可以到github看看,地原创 2014-11-06 15:39:32 · 3226 阅读 · 0 评论 -
明天是我的生日,写给24岁的自己
哎,本来想把今晚留给蛋疼的latex。我的导师让我写一篇论文,我正在研究怎么用latex。但是想了想,明天就过生日了,最后一晚还是写点东西,静静地思考下。。本来想写点东西发到朋友圈或是qq空间的,突然觉得那样会有点难堪,大家生活在不同的空间和纬度,你我都不能清楚地理解对方。 在23岁这一年,坦率的说还是比较满意的一年,相比于20岁、21和22岁。感觉这一年突然有了使命感和责任感。1.回首2原创 2014-11-02 21:33:50 · 4028 阅读 · 10 评论 -
sublime插件开发教程(附源码)
1.背景 虽然可能大神门在编辑器方面都比较偏向于vim之类的自由度更高的工具,但是从我个人来讲sublime这样的插件安装更方便的工具还是比较得心应手的。之前用sublime写英语作文,但是没有一个比较好用的timer,Package_Control里面的track_timer不能实时显示时间,所以博主就自己动手,写了这个插件,可以实时timer,记录时间。效果如下图,2.使原创 2014-10-13 09:16:33 · 4643 阅读 · 3 评论 -
mac在终端打开应用程序
今天研究了下mac终端的启动流程。下面以sublime为例,介绍怎么在mac的终端中添加app启动方法。方法1 :使用“open -a /Applications/Sublime\ Text\ 2.app/”,这种方法可以直接打开,但是每次都要这样做的话为免麻烦。在网上又找到方法二方法2 :使用“alias sublime='open -a /Applications/Sublime\ Text\原创 2014-10-09 14:00:39 · 5311 阅读 · 0 评论 -
找到真爱了-sublime
转载OS X下Sublime Text (V2.0.1)破解" title="Mac OS X下Sublime Text (V2.0.1)破解" action-data="http%3A%2F%2Fs7.sinaimg.cn%2Fmw690%2F559d6646gd74f8ce9f276%26690" action-type="show-slide" style="margin: 0px; pad转载 2014-10-08 19:30:26 · 2169 阅读 · 0 评论 -
提高开源项目逼格-为你的github项目添加Travis CI
1.背景 每当我们浏览github开源项目的时候,比较牛的项目,往往在readme文件里,会有如下图这样的小绿标。因为博主的好奇心比较强,所以就研究了下怎么添加这个。大家也不妨动手试试!2.步骤 (1)登陆以下网站,它会自动绑定你的github账号-https://travis-ci.org/ (2)会自动生成你的所有repo的列表,原创 2014-09-26 11:44:21 · 3906 阅读 · 0 评论 -
写给师弟师妹的一封信-论在校程序员的学习方向
这是我给研究生刚入学的师弟师妹们的一封信,分享给大家吧Hi dear team-members: 我们的项目已经接近尾声,过一段我会去成都把项目部署完成。感谢大家这段时间的辛苦工作。 发这个邮件的原因,是我不知道大家是否在等待我来部署任务,或是可以自主的学习。 首先我想说的事情是,不要指望做好实验室的项目就会找到好的工作;不要指望在原创 2014-09-24 13:41:54 · 3170 阅读 · 3 评论 -
阿里巴巴校招内推简历筛选方案(总结篇)
在论坛看到的,阿里巴巴HR的甄选方案,觉得值得推荐,总结下发到首页的,觉得有用希望更多人看到。 上周发了一个阿里内推的帖子,没想到短时间内就收到了成百上千封简历。 我仔仔细细地看了每一封简历,附带有Github地址的我也点进去仔细看了代码。 最终我留下了30%的简历,而且这30%中只有10%的本科生。 所有通过内推初步筛选的小伙伴会在8月30号收转载 2013-08-26 08:57:33 · 13877 阅读 · 5 评论 -
【git学习四】git基础之git为项目打标签
1.背景 今天学习了下如何给项目打标签,为此项目的修改标记版本号,然后可以直接推送版本号到服务器上,方便了很多,而且便于对项目进行管理。2.打标签 1.查询已有标签,可以使用git tag命令,查询某个特定版本可以git tag -l 'v*'git tag 2.为版本创建标签git tag -a v1.4 -m 'my version原创 2014-08-18 14:05:50 · 2061 阅读 · 0 评论 -
【git学习一】git的原理
1.背景 git是比较流行的版本管理软件,博主才疏学浅,到目前为止只用过svn和git。虽然git也用了较长时间了,但是还是没有深入学习过,这周打算阅读Progit,对git有一个深入的总结,另外把git的一些主要命令总结下,方便日后学习工作中使用。2.git简史 读了一遍Progit第一章节,印象比较深刻的有如下几点。 1.git的底层是数据库,这样我们就大原创 2014-08-17 10:06:41 · 2051 阅读 · 0 评论 -
苹果系统修复若干办法
在经典系统,可以在重新启动时按Shift键,将第三方的功能扩展关闭,使机子能完成启动,之后再设法修复磁盘错误或功能扩展冲突的问题。重新启动,当所有功能扩展的上载完成后,立即按下Option+Command键,直到出现重建桌面文件的窗口,点击OK,可以重建桌面文件,修复因桌面文件出错引起的问题。即使是正常运行的系统,至少每月重建桌面一次,对系统健康有益无害。 在X系统,重启后立即按Shift键,让转载 2015-03-20 13:35:20 · 1352 阅读 · 0 评论 -
shell启动sublime
cd /usr/binsudo ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl sublln是链接的意思原创 2015-05-13 09:24:31 · 1986 阅读 · 0 评论 -
google的面试要求(自己的标杆)
http://sites.google.com/site/steveyegge2/five-essential-phone-screen-questionse Five Essential Phone-Screen Questions Stevey's Drunken Blog Rants™I've been on a lot of SDE interview loops lately where转载 2015-07-09 15:42:08 · 5829 阅读 · 0 评论 -
产品的三层境界:工具-平台-生态
这两天一直在想一件事情,就是最一款产品要发展,要生存,究竟要经历几个阶段,算下来大致要有工具、平台、生态这三个阶段,不断递进的关系。第一阶段是工具,我从前是做开发的,当时在做手机的app,那个时候在我的眼里一个软件能否成功的关键因素是功能。想的更多的是用了哪些牛逼的库,增设了哪些功能。做一款工具需要工匠精神,需要把功能做到极致,很多开发出身的创业者都可以做出好工具,但是不一定做出了好产品,原因是把原创 2017-12-11 12:01:37 · 1735 阅读 · 0 评论 -
AI类人工智能产品经理的丛林法则
AI是大家都很关注的领域,然而对于大部分想要入行的同学来讲,AI的算法技术门槛相对较高,让很多空有热血但是缺少数学背景的同学望而却步。不知道什么时候,可能是“人人都是产品经理”这个论调的影响,产品经理这个岗位逐渐变成IT领域除了纯开发岗位之外的第二选择。对于AI这个领域也不例外,产品经理这样的岗位也渐渐成为竞相争取的“肥差”,刚好我也在大厂做了一段时间的人工智能品类产品的工作,结合我的经历谈一谈这方原创 2017-08-10 09:29:44 · 1291 阅读 · 0 评论 -
java的main函数为什么是public static void main(String[] args)
这个问题困扰我好久了,今天就一查究竟,毕竟我好奇心比较重1. why “public” 因为java程序是通过jvm虚拟机调用的,所以main()函数要是想被调用,必须是public2.why “static” 在java中,没有static的变量或函数,如果想被调用的话,是要先新建一个对象才可以。而main函数作为程序的入口,需要在其它函数实例化之前就启动,这也就是为什么要加一个stat原创 2015-01-09 15:36:49 · 10313 阅读 · 1 评论 -
Google Java编程风格指南
作者:Hawstein出处:http://hawstein.com/posts/google-java-style.html声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,转载请注明作者及出处。目录前言源文件基础源文件结构格式命名约定编程实践Javadoc后记前言这份文档是Google Java编程风格规范的完整定转载 2015-11-13 10:08:54 · 1495 阅读 · 0 评论 -
PM九步法
多年以后,当我面对那些年青的产品经理,我会想起自己当年从事的是一份高薪的工作。那是2000年,我大学毕业后在北京一家IT网站做搜索引擎PM,当时我一个月的薪水能在亚运村买一平方米房子,十年之后,朋友招聘PM,开出的月薪和我十年前一样,差别是这时年青的PM用一年的薪水才能在亚运村买到一平方米的房子。对此,我很迷惑,于是咨询HR的同事,HR的同事告诉我,十年前产品经理是稀缺工种,现在不是了。十年间,北转载 2015-09-07 16:23:51 · 1779 阅读 · 0 评论 -
机器学习常见算法分类汇总
机器学习无疑是当前数据分析领域的一个热点内容。很多人在平时的工作中都或多或少会用到机器学习的算法。本文为您总结一下常见的机器学习算法,以供您在工作和学习中参考。机器学习的算法很多。很多时候困惑人们都是,很多算法是一类算法,而有些算法又是从其他算法中延伸出来的。这里,我们从两个方面来给大家介绍,第一个方面是学习的方式,第二个方面是算法的类似性。学习方式根据数据类型的不同,对一个问题的建模有不同的方式转载 2015-07-24 09:12:16 · 2262 阅读 · 0 评论 -
【LeetCode从零单排】No198.House Robber &&No91.Decode Ways&&139 word break(动态规划典型应用)
1.题目一道典型的Dynamic Programming的题目。You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing eac原创 2015-07-15 15:46:20 · 1515 阅读 · 0 评论 -
高效MacBook工作环境配置
1. 硬件提升笔记本电脑的特点是携带方便,缺点是屏幕太小,因此你首先需要再申请领用一个外接显示器,多一个屏幕会大大减少你切换应用程序的次数,显著提升你的工作效率,别忘了同时申请一个Mini DP转VGA的转接头用于连接显示器。为了配合多显示器,后面会推荐一个软件来管理多显示器窗口。如果你资金宽裕,可以买个机械键盘和无线鼠标,进一步提升工作效率。2. 系统设置2.1 将功能键(F1-F12)设置为标转载 2015-08-03 09:40:18 · 3205 阅读 · 0 评论 -
【分布式计算】DFS && BigTable
1.背景分布式计算的发迹应该是google在2003年发表的三篇paper,分别是GFS、MapReduce、BigTable。其中MapReduce大家都很熟悉了,不懂的同学也可以看看我之前写的文章【分布式计算】MapReduce的替代者-Parameter Server为什么google会搞分布式计算这件事儿呢,因为在那个年代每天会产生几个T的日志,但是当时的磁盘只允许存储几百G的文件,07年原创 2015-07-22 17:47:55 · 2129 阅读 · 0 评论 -
unittest单元测试
1.背景 到了公司发现,ut(单元测试)是非常重要的一部分,ut并不是完全是测试的同学完成,很多时候ut是需要开发的同学自己来做。研究了下python脚本下unittest包的用法。使用的时候要import unittest包,函数的传入参数unittest.TestCase,主要结构包括:setUp():初始化测试函数tearDown():测试结束后的清理工作若干测试函数以test为开头2.代码原创 2015-07-21 14:46:09 · 2274 阅读 · 0 评论 -
【LeetCode从零单排】No.135Candy(双向动态规划)
1.题目There are N children standing in a line. Each child is assigned a rating value.You are giving candies to these children subjected to the following requirements:Each child must have at least one ca原创 2015-07-29 15:14:51 · 2209 阅读 · 1 评论 -
29个你必须知道的Linux命令
虽然Linux发行版支持各种各样的饿GUI(graphical user interfaces),但在某些情况下,Linux的命令行接口(bash)仍然是简单快速的。Bash和 Linux Shell 需要输入命令来完成任务,因而被称为 命令行 接口。命令是计算机执行任务的指令。可以使用命令去关闭计算机,或者列出当前目录的文件列表,或当前文本的内容,或者屏幕显示一条消息。如果你是一个新手,并尝试使转载 2015-07-15 16:09:13 · 1447 阅读 · 0 评论 -
【LeetCode从零单排】No22.Generate Parentheses
题目Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.For example, given n = 3, a solution set is:"((()))", "(()())", "(())()", "()(())", "()()()"代码F原创 2015-07-14 12:01:34 · 1379 阅读 · 0 评论 -
github关联域名,创建个人网站教程终结篇
1.背景 最近心血来潮,买了一个域名,本来要买fuckgfw的,没想到被抢注了。就拿自己的英文名买了一个,叫做www.garvinli.com。因为知道会有很多朋友不太清楚整个网站搭建的过程,所以在这里贴出之前的一些列教程。有的是两年前写的,比较稚嫩哈!手把手教您制作并发布个人网站或主页(一)(图解教程针对小白)如何在github发布个人网站或开源项目-手把手教您制作并发布个人网站原创 2014-08-28 15:13:46 · 3018 阅读 · 3 评论 -
【git学习三】git基础之git管理远程仓库
1.背景 git管理远程仓库,本文以github为例,原创 2014-08-18 13:43:42 · 1823 阅读 · 1 评论 -
【git学习五】git基础之git分支
1.背景 最早用github的时候,我傻傻的问舍友大神,git里面的branch是干什么的,他用了很直白的解释,我至今还记得。“branch就是你可以自己建立一个分支,随便乱搞而不影响整个项目”。git分支应该是git最nb的特色吧,分支的建立和合并都十分方便。 大体的原理是这样的(图借用progit),比如说我们有一个master,还有一个分支是原创 2014-08-20 10:58:26 · 2103 阅读 · 0 评论 -
Mac电脑同步工程到github
(转载请注明出处:http://blog.csdn.net/buptgshengod)1.介绍 github是全球最大的代码开源社区之一,把代码同步到github上进行版本控制可以为我们省去许多后顾之忧。废话不多说,在mac上同步代码到github很简单。2.实现 首先要有个github的账号。到https://github.com/注册。 下载mac原创 2013-11-12 11:12:24 · 2563 阅读 · 0 评论 -
工厂模式
1编程开发工厂模式定义我们以类Sample为例, 如果我们要创建Sample的实例对象:Sample* sample=new Sample();可是,实际情况是,通常我们都要在创建sample实例时做点初始化的工作,比如赋值 查询数据库等。首先,我们想到的是,可以使用Sample的构造函数,这样生成实例就写成:Sample* sample=new S转载 2013-11-20 10:18:36 · 1509 阅读 · 0 评论 -
初次使用SVN心得
进入实验室, 一个项目往往需要多天多人次共同维护,所以版本控制也显得尤为关键。下面是我第一次使用SVN工具的心得体会。 首先是安装,服务器搭配方面应该是之前完成的,这里就不多讲了。下载地址:http://download.csdn.net/detail/gshengod/6221533 装上之后,右键空白位置显示,下面两项说明安装成功!原创 2013-09-06 10:43:06 · 4297 阅读 · 1 评论 -
谁是卧底的Android应用 (原型源码)
(声明:转自byr论坛,校友威武!)1. 先写了一个原型,Axure,第一次写,所以可能不够专业: 2. 然后是代码开发,也是第一次做Android开发,所以做得比较慢,代码也得也很不经验: 无任何广告, 技术有限也做不了病毒,所以保证安全, 接受支付宝捐助:) (即便1块钱都能令我感动到涕零,昨天写到凌晨三点,写转载 2013-08-26 10:47:29 · 4234 阅读 · 0 评论 -
12岁的少年教你用Python做小游戏
你有没有想过电脑游戏是怎样制作出来的?其实它没有你想象的那样复杂!在这个教程里,你要学做一个叫《兔子和獾》的塔防游戏,兔子作为英雄,需要在城堡里抵御獾的进攻。为了写这个游戏的代码,你将会用Python。好吧,我不是指一条大蟒蛇!Python是一种计算机语言。我们在这篇教程里选择Python是因为这门语言很容易上手,学习起来也很简单和有趣。如果你是个Pytho转载 2013-08-25 11:24:59 · 2993 阅读 · 0 评论 -
如何上传应用到百度应用(图解攻略)
(1)注册百度账号,在百度搜百度应用,进入百度应用(2)根据自己的应用类型选择web或是移动终端(3)点击右上角的开发者提交应用(4)点击快速创建应用(5)根据弹出窗口就一步一步按要求输入就行,没什么难的。(6)上传之后会显示等待对接,这个是在进行审核,需要几个工作日,不要着急。(7)对接完就会发布,在管理中心进行管理。ps:点击编辑,可以看到有一些统计功能,这个要在应原创 2013-08-25 09:26:03 · 2660 阅读 · 0 评论 -
一步一步打造Geek风格的技术博客
Geek是什么Geek更多的是一种精神,一种态度,一种对技术的理解与信念。他们无法忍受丑陋的代码,拙劣的技术。他们思路开阔,技术娴熟,他们不甘平庸,追求完美。他们不会囿于常识,他们敢于突破。在常人眼中,他们不走寻常路,享受各种非主流的技术。但在他们自己眼中,这些又是那么得自然与优美。他们用自己的行为诠释着自己对于技术的理解,用那份固执传达着自己的信念。他们掌握并热爱着技术,叛逆、执转载 2013-08-23 16:05:51 · 3495 阅读 · 2 评论