10 2020 档案
摘要:上次给大家聊完了推荐系统,今天再来简单聊聊广告。我不会涉及太多技术细节的东西,尽量从大局上带大家总览一下互联网当中的广告是怎么回事,广告系统又是怎么运作的。作为一个广告系统,它的目标又是什么?知道这些在你面临找工作或者是跳槽的时候,有可能会用得上。 广告和竞价 大家可能或多或少地能感觉到广告对于互联
阅读全文
摘要:最近有一些小伙伴给我留言说非常想要我开一个推荐系统专题,其实我也有过这个想法,一直没动笔主要有两个原因。第一个原因是担心自己水平不够,班门弄斧或者是误导了一些读者。第二个原因是,我的确不知道这个专题应该怎么写。但是读者有求,总得回应不是,所以咬着牙写了本文。 文章有点长,但是干货不少,希望大家能够耐
阅读全文
摘要:不知道大家有没有经历过,当我们切换到了一个新的分支想要提交代码的时候,总会遇到这样的错误。 我们把日志里的英文翻译过来是说,我们当前的分支没有设置任何上游分支。然后git提示我们可以运行下面这行代码来设置远程的上游,这样我们就可以push成功了。 当然如果我们push的时候执行的不是git push
阅读全文
摘要:大家好,欢迎阅读周末codeforces专题。 我们今天选择的问题是contest 1419的C题,目前有接近8000的人通过了本题。今天这题的难度不大,但是真的很考验思维,一不小心就会踩中陷阱,我个人觉得非常有意思,适合周末动动脑。 题目链接:https://codeforces.com/cont
阅读全文
摘要:大家好,今天我们来聊git当中一个非常非常重要的特性,就是branch。 git branch可以说是git当中最重要的概念了,甚至没有之一。因为git最重要的使用场景就是协同开发,大家一起在一个项目当中开发不同的功能。正是由于有了分支的概念,可以让大家在开发的时候互不影响。如果没有这个功能,git
阅读全文
摘要:今天这篇文章给大家讲讲hashmap,这个号称是所有Java工程师都会的数据结构。为什么说是所有Java工程师都会呢,因为很简单,他们不会这个找不到工作。几乎所有面试都会问,基本上已经成了标配了。 在今天的这篇文章当中我们会揭开很多谜团。比如,为什么hashmap的get和put操作的复杂度是,甚至
阅读全文
摘要:我们在使用git的过程当中很难避免的一点就是手贱,因为人嘛总有犯错疏忽的时候,有时候一不小心就操作错了。我也经常遇到这种情况,所以这时候对git的了解和掌握就非常重要,即使操作错了,我们也可以通过git还原到我们希望它变成的状态。下面我们来看几个例子,来实际体验一下git的强大。 不小心add错了
阅读全文
摘要:前言 在之前的文章当中我们介绍了最基本的git add、git commit和git push的用法以及基本原理,还介绍了gitignore文件的设置方法,从而让我们可以使用git add .来添加我们想要的文件,而不必要手动区分。 今天我们继续来介绍几个git当中常用并且重要的命令,它们分别是gi
阅读全文
摘要:大家好,今天codeforces专题选择的是一场education比赛的C题。 Education是codeforces的一种特殊赛事,它的主要作用是教育,也就是让更多的人了解codeforces的比赛机制。所以education赛事的题会相对来说容易一些,更加适合新手。我选的这道题虽然是C题,但是
阅读全文
摘要:大家好,欢迎阅读周末算法题专题。 今天选择的算法题是来自contest 1407比赛的C题,这题全场通过6700余人。通过的人数虽然多,但是这题真的不简单,想出算法来不太容易。抛开难度不提,这道题非常非常有意思,老实说这种形式的题目我也是第一次见。 题目链接:https://codeforces.c
阅读全文
摘要:大家好,欢迎来到设计模式专题,我们的主旨是介绍一些有趣好玩的设计模式。 今天我们介绍的设计模式叫做命令模式(command),在这个模式下,我们可以实现do和undo的解耦,让使用方不用关心内部的实现细节。 command模式 这个模式我们在日常当中经常使用,举一个很简单的例子,比如说我们发布代码。
阅读全文
摘要:大家好,欢迎来到周四数据处理专题,我们今天继续matplotlib作图教程。 在上周的文章当中我们介绍了如何通过xlabel和ylabel设置坐标轴的名称,以及这两个函数的花式设置方法,可以设置出各种各样的名称显示方法。今天我们来介绍介绍其他的设置。 xlim、ylim 我们首先来介绍坐标轴的范围,
阅读全文
摘要:大家好,欢迎大家来到算法数据结构专题,今天我们和大家聊一个非常常用的算法,叫做LRU。 LRU的英文全称是Least Recently Used,也即最不经常使用。我们看着好像挺迷糊的,其实这个含义要结合缓存一起使用。对于工程而言,缓存是非常非常重要的机制,尤其是在当下的互联网应用环境当中,起到的作
阅读全文
摘要:大家好,欢迎阅读深度学习专题。 我们之前的机器学习专题已经结束了,我们把机器学习领域当中常用的算法、模型以及它们的原理以及实现都过了一遍。虽然还有一些技术,比如马尔科夫、隐马尔科夫、条件随机场等等没有涉及到。但是这些内容相比来说要弱一些,使用频率并不是非常高,我们就不一一叙述了,感兴趣的同学可以自行
阅读全文
摘要:大家好,欢迎来到周一git专题。 今天和大家聊聊gitignore的作用,其实如果你英文还可以的话,你应该已经基本上猜到它的作用了。ignore在英文当中的意思是忽视、忽略,gitignore自然就是git当中的忽视和忽略,言下之意就是忽略某些文件。所以gitignore的作用就是帮助我们在git
阅读全文
摘要:大家好,欢迎阅读周末算法题专题。 今天选择的算法题来源于昨天同一套题中的D题,这题全场通过的人数在2600人左右。虽然通过的人数更少了一些,但是题目的难度却并没有增加很多,但是趣味度增加了。我也是第一次遇见这样的问题。 题目链接:https://codeforces.com/contest/1405
阅读全文
摘要:大家好,欢迎大家阅读周末算法题专题。 今天我们选择的题目是codeforces 1405比赛的C题。 题目链接:https://codeforces.com/contest/1405/problem/C 这道题有6800多人通过,怎么看也不算是难题,但是我做了一上午都没能AC。最后又苦思冥想了很久,
阅读全文
摘要:大家好,欢迎大家阅读设计模式专题。 今天我们继续介绍新的设计模式,和上次的链式模式不同,这一次要介绍的责任链模式不仅仅在Python当中有,在很多其他的语言当中同样支持,比如Java。Python和Java当中的这个设计模式是完全一样的,没有任何区别。 和之前介绍的设计模式相比,今天介绍的设计模式同
阅读全文
摘要:大家好,欢迎大家阅读周四数据处理专题,我们继续介绍matplotlib作图工具。 在上一篇文章当中我们介绍了matplotlib这个包当中颜色、标记和线条这三种画图的设置,今天我们同样也介绍三种新的设置。分别是标题、轴标签以及图例,这三个内容也是非常实用并且常用的。颜色、线条、标记这些设置的是图像本
阅读全文
摘要:大家好,欢迎阅读周三算法数据结构专题,今天我们来聊聊一个新的数据结构,叫做线段树。 线段树这个数据结构很多人可能会有点蒙,觉得没有听说过,但是它非常非常有名,尤其是在竞赛圈,可以说是竞赛圈的必备技能。所以如果以后遇到有人看了一点算法导论就在你面前装逼,你就可以问他:请问线段树更新的复杂度是多少? 不
阅读全文
摘要:大家好,欢迎大家阅读周二机器学习专题,今天的这篇文章依然会讲SVM模型。 也许大家可能已经看腻了SVM模型了,觉得我是不是写不出新花样来,翻来覆去地炒冷饭。实际上也的确没什么新花样了,不出意外的话这是本专题最后一篇文章了。下周我们就要开始深度学习之旅了,我相信很多同学期待这一天已经很久了,实际上我也
阅读全文
摘要:大家好,欢迎来到周一git专题。 git clone 在上一篇文章当中我们聊了怎么在github当中创建一个属于自己的项目(repository),简称repo。除了建立自己的repo之外,我们更多的情况是拷贝别人的repo,这样才可以获得别人整理好的代码资料什么的,也更符合开源(白嫖)精神嘛。 这
阅读全文