WhiteBlue

WhiteBlue

13 posts
拼装模型

[测评]万代RG-初号机

最近刚好整理了下博客,看了下好像得有个四年没发东西了,每月多花几十块好像有点浪费(其实还挂着SS也还好)。刚弄了个自动压图的脚本,写个测评看看这一套流程是不是能跑起来。 先放一波效果图 总体就是两个字,真香。 之后写一写拼装过程中的细节。 一、板件整体量比较大,因为这次买的是豪华版,比普通版多出一套地台和AT立场特效件。 因为是万代第一盒EVA,板件全部新规,复用什么的不存在的(废话)。 紫色板件发色很好,全部是亮面,还原剧中的质感,但同时也很容易刮花。 绿色板件相比当时的渲染图,颜色似乎有点浅,不过实际拿到还好,实际装上没有什么违和感。 银色板件很有质感,不像塑料,但水纹还是有一些的。 整体大部分,都采用了隐藏水口设计,切的时候要切干净,不过效果也是很好的。 贴纸按照RG惯例,肯定是胶贴了,同样是惯例,贴上肯定效果吊差,奈何现在也莫得水贴买。 二、躯干躯干部分的话,拼装体验良好,躯干使用了多重关节,可动性十分的好(也是因为EVA机设驼背)

技术

墙内部署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的执行流程:

日常

[破事水]博客搬迁

起因 不知是不是某GFW的缘故,用了快两年的conoha最近变的龟速,于是借着这次bh5更新把主机换掉了。 看起来不大的事,尼玛耗了我整整一天,其实主要还是把之前的环境用docker重搭比较费事。另外就是换掉了早就看着不爽的wordpress。 然而 尼玛以前的文章怎么办.... 想了想复制粘贴一部分回来,其他的就当黑历史封存算了。

旧坑 – 也谈AOP

最近看到周围小伙伴面阿里被问到,想起去年的某黑历史项目。。。嘛,虽然讲AOP的文章满大街都是,我再加一篇好了。 哈? AOP? 假如用过Python,里面会有一个概念->装饰器,不过那个是装饰器模式,不要和代理模式混了(那你说个卵~)。装饰器模式原则上不会对原函数带来影响,而代理模式像是站在代理函数和调用者之前,具有完全的控制权。不过有一点是类似的,即面向切面的思想,比如说你要在某方法调用前打印日志,调用其他方法,甚至替换掉要执行的函数,都可以使用代理模式。 实现的分类 静态代理: 没什么好说的,把代码写死罢了。或者说,在编译期决定了代理关系。 动态代理: 在程序运行时,运用反射机制动态创建而成,也是这次主要讨论内容。 JDK实现动态代理 简明直观,上代码: import java.lang.reflect.Proxy; //定义一个Worker接口 interface WorkerImpl

NIO , BIO , AIO?

起因 嘛,又到了校招的季节。群里孩子们每天都在开心的讨论面试题(说的就和我不是一样),感觉NIO,AIO算是热点问题了,这里整理一发。以及,wp写不了markdown好痛苦啊,是不是该考虑换个博客了….. 前言 I/O 这个词怎么也会很熟悉,UNIX中把所有I/O操作都模型化为文件,就理解成文件的 读写即可 UNIX中的体现 其实NIO , BIO , AIO这种称呼貌似都是Java带起来的 最开始,read / write在一个通道中执行,程序运行到此处阻塞,等待I/O操作完成才能继续,当然可以用多线程/进程解决,然而不够优雅。 于是I/O多路复用技术被提出。简单的说,可以让一个线程管理多个I/O流。 select实现: 第一个实现,然而有一些蛋疼的问题(诸如不是线程安全,链接数限制什么的) poll实现: 改掉了select的一些蛋疼,

“性能优化?”饿了么大学生黑客马拉松小结

本次大赛代码Java版本: https://github.com/WhiteBlue/eleme-hackathon 回想起自己的黑历史时代,其实关于”性能优化有很多误解,很多都是我们自以为的”性能提升了”: “去掉了几个循环”,又或者是”我把XX框架换成了XX框架,比之前快多了”。(感觉说起来好羞耻233)。 题目 好歹也是小结,还是提一提参加的这次比赛。简单来说就是:”对方提供服务器,实现一个符合要求的api,要求并发量尽量高” 可以参考这里的 文档 简要分析 提供的是三台server部署应用+单台redis+单台Mysql,初始数据在Mysql。这样看来,首先要保证三台的一致性,其次就是用好redis了。 先贴一些简要的数据: 针对这次的情况而言,Mysql最大连接数设定为800(三台共享)。 Redis连接数不作限制,那么按照理论就连接数可以达到redis服务器内存的极限。 Nosql相比Mysql的优势不用多说,Redis又是其中的佼佼者,用好redis是本次的关键。 优化点: Connection

“强行面向对象” -> js复习总结

嘛,放假了总会有很多时间去复(tian)习(keng),刚好复习下魔性的js。。。怎么说呢,语言设计的时候嫌麻烦偷懒,意外的让前端聚聚们们玩的很欢呢orz… 工厂模式 function createObject(prop) { var obj = {}; obj.prop = prop; obj.func = function () { console.log("I'm a function") }; return obj; } 构造函数 function Object(prop) { this.prop = prop; this.func = function () { console.log("I'm

“BiliBiliAPI-从入门到精通”

好吧这只是个标题而已不要在意= = 这周由于考试不敢有什么大动作,于是划了划水,完成了之前的一个想法:大型B站黑科技->’BiliBiliHtml5′ 项目链接:http://bili.whiteblue.xyz 项目采用Laravel官方精(yan)简(jian)版->Lumen,好奇心重作死用了这个新框架,各种文档不全各种蛋疼,之后补一个简单入门攻略(挖坑) 其实,其实今天是想说说B站API的使用的,Bili官方API文档:http://docs.bilibili.cn/wiki/分类:API 关于KEY B站的key是分成两种:app-key和secret-key,申请时都会提供,理论上只有一个app-key也能做到大部分事。原则上B站是开放申请的,地址:http://api.bilibili.com

[整理]文本相似度统计算法

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

厨们的战争->何为“弱类型”,到底什么是“编译语言”?

和饭老湿日常撕逼时提到了”何为强类型”这一问题,发现在这一认识上一直存在误区,以至于延伸到了编程语言的分类上。很多人对这方面的解释也存在误区,于是打算尽力去解释一下。 Type System 维基上的解释并没有强类型弱类型之分,只是给出了两种区分:动态类型和静态类型,显示转换和隐式转换,然而从定义上看我认为大概只分以下两种。 Explicit type conversion(显示类型转换) 一旦变量被指定某个数据类型,如果不经强制转换,即永远是此数据类型。 Implicit type conversion(隐式类型转换) 据类型可以被忽略的语言。它与显示相反, 一个变量可以赋不同数据类型的值。 Mozilla是这样解释的:”That means you don’t have to specify the data type of a variable when

技术

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

昨天拿到的一个任务->设计一个文章查重算法。于是用了一下午尝试去了解了下,最后算是解决了吧。然而仍有许多实现未去了解,这里先留个坑。(真的会填么?)现在这里整理下昨天尝试过的。 相似度统计算法,大概还是算是使用频率很高的。比如十分常见的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.