点到超平面距离推导
SVM的函数间隔定义中会用到点到超平面距离的推导,《统计学习方法》中对此没有详细的解释,当然这个问题有许多解法,找到了一种比较直观的解法如下。
SVM的函数间隔定义中会用到点到超平面距离的推导,《统计学习方法》中对此没有详细的解释,当然这个问题有许多解法,找到了一种比较直观的解法如下。
QuickSort 快速排序是常见的考察代码基本功面试题。简洁易读的实现可以一定程度展现面试者的代码功底。
算法导论对于快排讲解的很透彻,也有伪代码,即便如此,网上许多实现还是错的,不能通过一些边界用例,如数组已排序或数组中有重复元素的情况。还有一些用python的实现不满足原位排序(in-place)的要求,直接新建两个新List,这种方法其实也是取巧,简化了partition函数的实现难度。
Google Ads是许多独立博客赢利维持自身运转的方案之一。不过近些年前已经不大流行了,因为转化率低,没有很大的基础流量支持,其实很难赚到钱。独立博客的流量如果不做PR的话,主要还是靠搜索引擎。而提升流量的根本需要有对应的用户群,相较而言,微信公众号、头条号上的平台流量足够大,用户粘度更高,赢利方式也更为多样,对作者来说更易变现。现在这年头还玩独立博客的人,我想都是有一份自己的坚持,一块独立的领地,完全自由掌控的感觉,想靠这个赚钱还是算了。
kubernetes dashborad是用来查看cluster各项指标的Web UI。但是直到目前依然不支持用户级别的语言设置。它默认根据浏览器的语言设置作为自己的界面语言,这样对于中文Chrome用户来说略有不便:k8s dashboard作为一个管理工具,由于需要中文反译回英文,严重影响了工作效率。感受一下中文界面:
最近爬取几个页面总是失败,遇到如下错误:
| |
后来发现原因是页面加载缓慢,debug发现页面其实已经在浏览器中成功渲染,只是还在等待一些后台javascript加载完毕,然后超时报错。
使用interface还是abstract class在许多地方都有讨论。但许多讨论更专注于术的层面,即二者在语法上的区别和细节差异,如 Interface or abstract class? 中排名第二的回答。实际上,从逻辑抽象层次出发,选用interface或abstract class才是正道。
finisky博客 ( https://finisky.azurewebsites.net ) 本是搭在Azure App Service (WebApp),基于Hexo的静态页面博客在Azure App Service中使用IIS进行host。现在看起来没有太大必要host在Azure上,遂考虑迁移到GitHub Pages ( https://finisky.github.io ) 。
如果一个interface或abstract method的参数为基类形参,而有另一个类实现了该interface,但却使用了派生类形参,会发生什么?或者考虑另一种情况,一个interface或abstract method的返回值为基类对象,而它的实现返回的却是派生类对象,会发生什么?
2023-01-30 更新: NexT主题已经支持相关文章功能 (使用 hexo-related-posts ),更新到最新版本即可,可参考 这里 。
Hexo的NexT主题展示相关文章和热门文章使用 hexo-related-popular-posts 插件,但hexo-related-popular-posts 默认展示位置是在页面底部,而页面底部本身内容较多,多数人注意不到相关文章。因此,考虑将相关文章展示在侧边栏。
大概五、六年前看过一个很逗的开封话图解趣谈,形象生动。文章结合了北宋时期包公日常对话的题材,很是风趣幽默。 今日与友人谈起想找下原贴发现找不到了,搜到的几个贴子中链接大多已失效。有趣的内容不可负也,这里转载备份一份以飨众人~
今天先聊聊static方法的那些事儿,然后再引出static使用的“极致” util/helper类,说说它们的问题。
简单说在面向对象的场景下,绝大多数情况都不应使用static方法。这里有一些关于static使用场景的讨论: When should I use static methods?
事情源起于心血来潮把Hexo从v3.9.0升级到了v4.0.0,Hexo本身的升级倒是不难,它由npm管理,改下package.json,运行npm update即可。但之后发现在archives的分页显示有问题……
Unity是一个.NET Framework用于依赖注入的容器。依赖注入一般分为三个阶段:Register, Resolve和Dispose。Unity支持三种方式的Register:
使用Unity的InjectionFactory进行依赖注入遇到如下提示:
‘InjectionFactory’ is obsolete: ‘InjectionFactory has been deprecated and will be removed in next release. Please use IUnityContainer.RegisterFactory(…) method instead.
提示InjectionFactory将被淘汰的注入代码:
在代码库里看到不少Task.ContinueWith()的代码,查了下语法,没太理解下面两种写法的区别(借用MSDN的代码):
| |
标题有些标题党,但实际上await是continuewith的替代者,是一种更先进和简洁的语法。
AIMD (additive-increase/multiplicative-decrease)是用于TCP拥塞控制的算法。AIMD思想虽然简单,但我认为它非常符合“simple but elegant”的哲学。尤其是在多连接拥塞控制中的公平性分析,还挺巧妙。这里主要探讨AIMD在非TCP场景下的应用,不对其原理进行深度剖析。
Crawler运行一段时间后可能会莫名其妙地停止工作,查看日志发现如下错误:
| |
原因是用selenium创建ChromeDriver时,ChromeDriver与ChromeBrowser的版本不匹配(这玩意儿兼容性看起来不是很好),而此问题总是发生的原因在于ChromeBrowser会自动升级,因此需要手动将ChromeDriver也升级到对应版本。