0%

觉得还是有必要单独为此记录一篇,这是在近日几天被这个问题折腾之后的决定。
先从这里开始说吧。

ヒラギノ明朝 Pro

是的,本来觉得字体的选择是一个非常简单的问题,也是重构站点之初最先着手的问题之一,由于所需的字体内容不多,网上搜罗一番后尝试了几个选项,就选择了其中一款还算顺眼的字体。现在想来这个最初的方案确实草率了,其实这都不能算上方案,只是一个选择,再加上缺少frontend的sense,后续出现了诸多的问题。

在选择字体之后,然后顺利demo,丝滑部署,一切看似非常ok的情况下,登陆了Win试着看下效果,才发现自己忘记了兼容性的问题😱,指定的字体完完全全没有被渲染。尤其在Edge下,Sidebar的字体还因为还原了最初的方案被分段了,orz。

兼容性的问题不仅仅出现在字体方面,在css多个选项上也出现了与Chrome下的不同效果。好在css的问题相对还比较好解决,但如果要实现跨平台跨浏览器的字体统一还是需要走自定义的方式来做,毕竟hexo的external字体配置虽然可以通过三方字体服务器来做,但在目前默认的google库中并没有合适的选择。

続きを読む »

17年一篇,18年两篇,然后现在是第四篇文章,更新速度堪比富坚义博。

快3年了,要不是这个域名,兴许就退了,每年虽然缴的费用不多,但让我一直给供应商白嫖其实也不怎么情愿。正好最近空暇,打理打理这些苟且的栖身之地吧。

这几年发生了一些变化。别的不说,hexo和next理所当然的更新了几个大版本。原先用来编辑的mbp也老旧了,闲置在家里。现在操作的mbp还是两年派发的,主要还是嫌麻烦的原因,一直没有把hexo的编辑目录迁移过来,毕竟只要每次想到要装一堆插件就心生退意。

最近几天,重装了hexo和next后,升级到了最新版本,同时把展现细节做了更多的改造,说实在的,上次blog的搭建,也是弄了很久的源码,发现每逢修改的时候,虽然相隔时间比较长(笑),但总比之前会更加深入一些,这次增加修改了更多的布局,类型以及动态脚本。趁着这几天刚操作过还记得,快点记录下来。

続きを読む »

要不是收到关于<JupyterHub搭建>的咨询邮件,估计要在这个Blog再写写画画会是一个未来很久远的事情。

几个月下来,做了不少东西,也进行了很多的尝试,每个点应该都可以post一下,不过发现年纪大了,归纳总结的能力也退化了不少,要好好地写一篇路人也能看懂的文似乎也没有以前那么潇洒,虽然自己还是会常常想起几年前一个多月天天就是PPT的工作,只为写一个让分析师理解的计算模型出来,但未来,不太可能会发生同样的事情了吧。

言归,正传。今天介绍一下当下一个还算比较稳定的VPN的神器,V2Ray。写这种文章实际上有点亏,一来没什么含金量,二来很有可能在不久的未来完全被淘汰的东西。科科。

VPS: Google Cloud Platform(GCP)

我个人早前VPN技术还是比较low的,从以前的goagent到后来的ss的鹦鹉学舌,实际上自己对网络都还是一知半解,不够精通。在此说一下,基于ss的搭建没有这么难,甚至可以说非常简单,大多数人其实是被云主机这类事给唬住罢了。其实只需要找一个VPS供应商,例如Vultr,申请一个VS,然后用python安装下ss,配一下config,service start。除去注册以及等待的时间,也就是5分钟的事情。

作为VPS,GCP的好处在于,似乎速度还算比较稳定,在日服猖狂的当下,可以支持另外建设湾湾的机房,且目前注册有300刀的白嫖。实际上GCP上租一个乞丐版的VPS,一个月大概3刀左右,网络传输另算,如果不是大流量的客户端请求,也不会有大多的费用,所以300刀基本上也可以维持一个比较长的时间,相对还是比较划算的。

GCP VPS Configuration
続きを読む »

Perface

叨叨几分钟。

写这篇文章,其实仅标题就琢磨了许久,无法找到确切和顺畅的词语来描述这个事情,撇开信达雅,似乎能勉强表述为:一种结合机器学习和数学模型的方法进行平台流程开发优化的例子。然后最终还是选择了现在这个标题,不过有点意思,其中两个Machine的意义其实是不同的,后续我们会再展开。

说来这个case其实已经存在许久,5年前还在O记的时候,在一次数据开发并行化的任务中发现的方法。起初刚开始采用的方法比较稚嫩,有点惭愧就在此不表,直到后续闲暇下来之后再重新考虑这个问题时候,想到了还在学校惨遭延毕的博士同窗,徐徐聊起来,才发现原来是一个可以结合离散优化和机器学习的典型应用。离开O记之后,或多或少有时还是会联想到这个问题,但总会得到一些新的感悟,也有幸有时间进行了更深度的研究和探索。不过最近再看这个问题时,发现当初解决的思路和逻辑有些竟已忘却,就觉得很有必要把这些记录下来,除了对自己,也对这个问题能有个比较好的交代吧。

Parallelism

上面提到的数据开发并行化其实是一个单机程序进行多机并行化的任务,依稀还记得当初接手这个程序的无语,也是第一次接触如此复杂的Python程序,正是由于这个经历,后面看到“怕他”这样程序并没有受到更多的震撼。这段程序的原始作者是自己的老板和另外一个高高瘦瘦的犹太人,还记得他的名字Ian langmore,男神,初次见的分离式键盘就是他安利的。他是自己在O记这段时间中为数不多合作比较深入的geeker,记得最后他离开O记的时候,farewell中给每个人留了一句话,也是一个温暖且又细腻的人。

这个程序本身是一个集合了multinomial logistic regression以及markov chain的scoring program(也可能是monte carlo simulation,对stochastic process并不熟,忘了是哪个mc,请原谅这个数学系学渣的笔者😑)。程序中计算部分逻辑复杂晦涩,又是probabality又是matrix,而如果对其进行逻辑的拆分硬套MR框架,实现难度不小,且本身程序的效率问题更多是处理量和处理单元数量悬殊的问题,所以解决这个问题的思路还是想通过分而治之的方式进行分流,直观上难度似乎很低:工程师只需要利用map和shuffle的特性进行任务分发即可完成。

続きを読む »

Jupyter是什么

Jupyter是一款基于python的web notebook服务,目前有大多python数据挖掘与机器学习爱好者使用这款服务,其特性其实与Ipytohn Notebook差不多,准确说Ipython Notebook是一款提供增强型交互的功能的shell,而Jupyter除了Ipython的功能,还加入了普通编辑器的通用功能,是一款带代码交互的动态文档web编辑器。

Jupyterhub

由于Jupyter只支持单用户的使用场景,作为一个可交互的web服务,只支持单用户模式实在让人难以理解。估计开发者也觉得这个问题太过鸡肋,于是Jupyterhub因有而生。

安装

  1. 安装依赖包:

    1
    2
    $ yum install sqlite-devel npm nodejs-legacy zlib-devel openssl-devel
    $ npm install -g configurable-http-proxy
  2. 安装py3:

    1
    2
    3
    4
    $ wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz
    $ tar zxvf Python-3.6.1.tgz
    $ ./configure --prefix=/usr/local/python36 --enable-loadable-sqlite-extensions
    $ make -j 20 && make altinstall
  3. Reset环境变量(可选,如果有py2环境需要操作):

    1
    $ export PYTHONPATH=''
  4. pip安装Jupyterhub:

    1
    $ pip3.6 install jupyterhub notebook -i https://pypi.douban.com/simple/

启动Jupyterhub

1
$ export PYTHONPATH='' && ./jupyterhub --ip 0.0.0.0 --port 8888
続きを読む »