技术

A collection of 4 posts

技术

墙内部署Kubernetes

这破东西装起来有多蛋疼,试一遍就知道 最近折腾了下Kubernetes的.......安装与卸载,简单记录下过程 用官方的脚本安装k8s应该顺滑无比 (见 kubernetes.io),然而他与google cloud高度整合,安装包基本都在google的域名下,简单来说不是改几行就能搞定的。 安装脚本 Gist 使用方法: 安装Master: ./manage.sh master 安装Node: ./manage.sh node {MASTER_IP} 停止并卸载Kubernetes: ./manage.sh down 环境介绍 2 x 阿里云,系统版本如下: > uname -a Linux iZ2ze0mfzkjb2ha1p1ct0aZ 3.10.0-514.6.

技术

Ansible API 2.x 小结

好久没更了。Ansible也算在微博搬砖接触比较多的东西,通过调用其api可以自定义批量配置下发通道,Ansible官方也有Ansible-Tower(然而没开源且付费)。国内少有人尝试api2.0,这里就稍微写一写。 调用Ansible的手段 通过命令 直接起新进程命令调用Ansible,也有不错的项目是这么做的: Semaphore,看了看代码,原理上其实是每次从一个git仓库克隆playbook到本地,然后把hosts写成tmp文件,直接起新进程调命令执行,即时日志输出通过绑定标准输出来取得。 这种方案语言无关,而且不大容易受api变动影响,个人也很推荐。(然而要写好多临时文件) 通过API 通过api调用和命令调用的区别其实只是Playbook和Inventory的来源是否从文件读取。就算是调用api,每次依然都要走完整的初始化流程,且默认的日志要打在标准输出上。 Ansible从1.x迁移到了2.x重构了大量代码,这也导致Api 1.x和2.x完全不一样,文档少的可怜,能参考的基本只有看代码。 下面说说方法二 调用流程 首先贴个官方文档,里面只有个最简单的demo: Ansible-api 因为某些蛋疼的缘故,把Ansible执行的关键代码走了一遍,大致说下api的执行流程:

技术

整理->文本相似度统计算法

昨天拿到的一个任务->设计一个文章查重算法。于是用了一下午尝试去了解了下,最后算是解决了吧。然而仍有许多实现未去了解,这里先留个坑。(真的会填么?)现在这里整理下昨天尝试过的。 相似度统计算法,大概还是算是使用频率很高的。比如十分常见的IR领域(信息检索系统),或者说论文查重。 Select.1->”分不分开”思路分为两种: 把一篇文章分割/取出变成若干字符串,然后对结果集合进行相似度匹配,即向量统计法 求两篇文章的最大公共子序列(LCS算法) 我是这样看的:LCS算法需要根据length(str1)*length(str2)生成矩阵,并进行动态规划计算,空间复杂度和时间复杂度并不理想,得出的最有用结果是两个字符串的最大公共序列(完全相同的最大区域),一小部分对于总体并不是太有价值,所以主流解决方案并未采用,另外一个问题就是不好进行优化,无论如何都要对一篇文章全部分析不能只取出有价值的部分。 LCS实现:昨天犯懒没有写,留坑(某种意义上的挖坑王) Select.

技术

阿里面(bei)试(ri)总结

果然被打脸了,果然挂了,果然日狗了。。重要的事要说三遍这次面试到的有点早,11点15的面试我九点就到了,然后那边的人直接让我签个到面了,早知还不如等一等。。(这些不重要)然后很快就被叫到了,面试官20多岁还蛮年轻(典型码农),具体过程记不大清了,下面列一列被吃憋的地方:我的简历上写到了会php,于是果然被问到了php和java的对比,我就该说什么说什么,但是我是说java在web上效率要高一些他居然怀疑。。(我也是从这里发现他大约不是做web的)和谐第一我就没继续争论然后就是:给我写一个java的堆溢出吧,我觉得没这么简单啊,怎么会有这样的问题(事实证明我想多了),然后就把问题拽到了jvm的内存分配,按基本的讲了一堆说着内存分配,忽然问我”jvm启动参数配置清楚么”  我:”有个大致了解”  问:”那你说说每个参数怎么用吧”  我:”…”  卧槽大佬参数一整页要让我全背一遍么(hp-1)然后扯到了服务器,问”你用什么服务器“ 我”tomcat”  问”你用什么版本的呢”  我”我觉得我目前写的代码没涉及到支持性的问题,就用的最新的1.