Changkun's Blog欧长坤的博客

Science and art, life in between.科学与艺术,生活在其间。

  • Home首页
  • Ideas想法
  • Posts文章
  • Tags标签
  • Bio关于
Changkun Ou

Changkun Ou

Human-AI interaction researcher, engineer, and writer.人机交互研究者、工程师、写作者。

Bridging HCI, AI, and systems programming. Building intelligent human-in-the-loop optimization systems. Informed by psychology, philosophy, and social science.连接人机交互、AI 与系统编程。构建智能的人在环优化系统。融合心理学、哲学与社会科学。

Science and art, life in between.科学与艺术,生活在其间。

276 Blogs博客
165 Tags标签
Changkun's Blog欧长坤的博客

最近在着手写的文章

Published at发布于:: 2016-11-30   |   Reading阅读:: 1 min
开始读 Master 以后文章就变得鲜有更新了,但实际上在草稿文件夹里躺着很多篇我计划发布但迟迟没有写完的文章。我想先列在这里,用以警示我自己不要忘记继续撰写并发布它们: 当我们进行学术演讲时,我们应该谈论什么 Docker 极速入门教程3 数据与网络管理 Docker 极速入门教程4 Docker 安全 Electron 跨平台客户端的若干踩坑与最佳实践总结(已完成) 最近两次经历的 Hackathon 最近两次经历的技术型 Meetup 人机交互领域的研究应该是怎样的 人机交互与实证研究的若干评述 信息可视化的方法、工具和技巧 德国与中国的研究生教育有何不同 高性能并行计算小谈(1):从矩阵乘法谈起 高性能并行计算小谈(2):循环展开优化技术 高性能并行计算小谈(3):块展开与硬件无关调优技术 高性能并行计算小谈(4):共享内存与分布式内存机器 知识表示和推理(1):命题逻辑、描述逻辑、谓词逻辑 知识表示和推理(2):画面演算法及其扩展 知识表示和推理(3):语义网和互联网本体语言

微信小程序文档极致总结

Published at发布于:: 2016-09-23   |   Reading阅读:: 1 min
昨天晚上睡觉的时候看到有人把工具和文档放出来了, 今天果断上课看一波……读完后总结了大概下面几点: 小程序不会被销毁, 机制类似于java的垃圾回收, 仅在资源不足时才会别回收 小程序控制器生存在于微信创建的 AppService 进程, 和微信的 ViewThread 进程共存,关系类似于 Electron 的 Main 和 Renderer 进程之间的关系 一个小程序只能有 5 个网络请求, 1 个 websocket 接口自带资源压缩, 可以指定原图或压缩后的图 录音接口只允许 1 分钟, 超过自动停止 声音播放分为两种: 音频播放, 同一时间只允许一个音频播放 音乐播放, 允许播放背景音乐 因此, 音频和音乐可以同时存在 支持文件保存, 视频拍摄最长支持 1 分钟 小程序缓存彼此隔离,永久存储在一个设备上,暂不支持跨设备存储 支持GPS/Network/SysInfo/Accelorator/Compass, 加速器和罗盘频率为 50 times/s 登录认证方式类似于 RSA,会话秘钥就是私钥, 从服务器分配,首次通过登录凭证获取, 有效期为30天 提供消息模板, 可将消息发送至服务通知 关于 UI 组件 普通视图/垂直滚动/水平滚动视图 文本/图片/视频/canvas button/progress/loading/form/slider/label/… nav/map/… 总之负责文本/图片/视频呈现的 ui 组件都有了 资源 文档: http://wxopen.
Read More阅读更多 »

谈谈过去三个月在实验楼的实习经历

Published at发布于:: 2016-09-19   |   Reading阅读:: 1 min

这篇文章原本写于实习满一个月的时候,本打算作为阶段性总结,但本人实在是比较懒,一拖再拖,到现在实习已经基本结束了,本该属于我的坑也基本填得差不多了,我也可能要正式迈向我的研究生新生活了。就干脆改成整个实习阶段的总结吧。

与以往大二暑假、在德国交换的时自己主动找的几个实习不同,之前的实习都是我主动投递简历、毛遂自荐。而这次在实验楼的实习确实也是一件巧事,原本还在纠结暑假究竟是回家修整准备读研的事宜、还是找份实习打发一下无聊时间。结果正好在我决定回家的前夕,收到了来自实验楼的工作邀请。心想回家闲着也是闲着,自己正好也是实验楼一个(不算称职)的用户,所以在简短的和 BOSS 磊哥聊了一些工作事项后,就接受了在这里实习。

以前大二那份实习的工作内容异常的简单,每天就是面向 C++ 修各种 bug,写一写无聊的测试,实现各种简单到不能再简单的需求,每天下班前交付代码然后领工资,两个月坐下来没有一点感觉,没收获多少新知识,最大的收获可能就是零花钱。而这次的实习差不多重新点燃了我对新技术的几乎快要熄灭的渴望。

先说说工作情况

做毕设的时候,我总以为我接触过的技术是在是够多了,大大小小的各式各样的技术也不过如此,万变不离其宗,所以只要认认真真读一读文档,没有什么不能解决的问题。

然而事情并没有想象的那么简单,踩了不少坑,总结下来就是太年轻。在实验楼实习的三个月里,倒是接触了很多以前并不在意、也没有需求去了解的技术,比如 Linux 运维、比如 Docker 等等,我甚至为此列了一个长长的 TODO-DONE-LIST,并希望我能够在研究生生涯里把这些内容逐一攻破。

第一个月电脑如实的记录了我的工作状态(部分时候断网没有记录):

每天下来过得还算充实,比起整日待在在学校里、面对昏暗的寝室环境浑浑噩噩效率提高了不少。这次的实习干的事情不多,总结下来其实就是四件简单的事情:

  1. 十七门 C++/JS/Swift 学习课程
  2. 一个跨平台的桌面客户端
  3. 一套基于 ELK 的 Nginx 日志系统
  4. 一个很挫的 kNN+协同过滤 推荐系统
Read More阅读更多 »

给博客做了一个桌面客户端…

Published at发布于:: 2016-09-04   |   Reading阅读:: 1 min
我太无聊了,所以给自己的博客做了一个客户端。 下载 Github

Guacamole 源码分析与 VNC 中 RFB 协议的坑

Published at发布于:: 2016-08-21   |   Reading阅读:: 6 min

今天折腾了一整天 Guacamole,遇到了臭名昭著的坑,且听我一一道来。

简单来说 Guacamole 提供了浏览器端访问的桌面系统的解决方案。Guacamole 提供的解决方案主要由两部分组成:

  1. 浏览器端基于 HTML5,Canvas 技术: Guacamole Client 的 Guacamole-Common-JS 组件
  2. Guacamole Client 的 Guacamole Web 组件,
  3. Guacamole Server 仍然分为两个部分:
    • Guacamole Web 服务容器
    • guacd 守护进程与 RDP/VNC/TELNET 等其他服务进行通信。

下面这张图很好的解释了 guacamole 的架构,出自官网手册:

Read More阅读更多 »

《高速上手 C++11/14》正式发布

Published at发布于:: 2016-08-20   |   Reading阅读:: 1 min

最近一段时间一直在写这样一本书,今天总算是正式完成了。如今发布在了 Gitbook,主要链接如下:

  1. 在线阅读
  2. PDF 下载
  3. 相关代码

Read More阅读更多 »

Docker 极速入门教程02 - 镜像与容器管理

Published at发布于:: 2016-08-07   |   Reading阅读:: 2 min

这次我们来深入了解一下镜像和容器的管理,不过作为入门教程,我们只打算谈及一些常用的命令,而不去介绍 Docker 的深入原理,具体内容我们放到另一个系列中去探讨。

Docker 极速入门教程系列 (往期)

  • Docker 极速入门教程01 - 基本概念和操作

镜像管理

镜像是容器的一个只读模板,用于创建容器。当容器运行时,需要指定其镜像,当镜像不存在时,就会从 Docker Registry 自动下载。每次创建新的镜像,都会在原镜像上方增加一层,具体的原理在本教程里面不深入讨论,可以在本文后面的深入阅读中查看相关文章。

每一个镜像对应了一个唯一的 ID,同样的,镜像中的每一层也都具有一个唯一的 ID,因此,当从 Docker Hub 中 pull 镜像时也是分层进行下载的。

在上一篇文章中,我们已经提到了一些基本的镜像管理命令:

  1. docker search: 搜索Docker Hub镜像
  2. docker pull: 拉取镜像
  3. docker images: 查看本地镜像
  4. docker inspect: 查看镜像详情
  5. docker rmi: 删除镜像

再来看一些其他的常用命令。

Read More阅读更多 »

Docker 极速入门教程01 - 基本概念和操作

Published at发布于:: 2016-08-07   |   Reading阅读:: 2 min

序言

为什么写这个系列

我加入了一家以 Docker 为技术栈核心的公司,如果走出去说自己不会 Docker,就显得有点不合适了。早在大三的时候就已经听说 Docker 技术的火爆,只是当时一心研究 iOS,并没有对此技术有太多在意,到了现在已经不得不研究了。

实习的这几个月,做的事情比较多,每周只能花很少的时间来了解 Docker 这一门技术,这也是我需要花很长时间才能完成这个系列的原因。网上关于 Docker 的资源、教程已经数不胜数,为什么我还要再写这样一个系列。这里面的原因有以下几点:

  1. 资源再多教程再多,也是别人的。别人写出来的东西是按照别人的思路进行,随着 Docker 技术的发展,我在学习 Docker 这门技术的过程中,发现了当下其实有更好更快捷的路径从新手直接入门整套技术;
  2. 自己写成了文章之后,才能够发现自己对这门技术究竟还有那些不懂不明白的地方;
  3. 装逼

为什么读这个系列

这个系列与其他网上的资源相比有以下几个特点:

  1. 只适用于有 Linux 基本基础的人,有很多教程都尝试向一些 Linux 基础薄弱的人由浅至深介绍 Docker,但实际上他们花了很大篇幅在介绍 Linux 本身上,却忽略了很多 Docker 的重要特性。
  2. 高速,无废话。Docker 的命令错综复杂,很多的书籍、教程反复针对同一个命令反复介绍,废话奇多。读者需要从中甄别这些无用信息,从而浪费大量时间。

好了,说了不废话还是废话了这么长,开始吧。

Read More阅读更多 »

阶段性沉默

Published at发布于:: 2016-07-31   |   Reading阅读:: 1 min
昨天和家里人视频,才发现已经不知不觉到了该被议论的下一个阶段。 本科毕业,本说反正读研,回家休整,却也琢磨不透家里人是希望我回家还是不希望我回家, 回家陪陪家人,在理。但是回去了之后没几天,用脚想一想就能明白,肯定会面对街坊四邻天天叨叨叨着『你咋没有工作呀闲在家里你看隔壁那谁谁谁如何如何,签了哪儿哪儿哪儿,不花家里一分钱』。 所以啊,在现在这个公司干得挺开心,索性干脆不回去,什么时候回去再说吧。 此外,前段时间在知乎看到一个问题:为什么博士生常常被一些国人所歧视?虽然我不是博士生,但是看到这样的答案确实是很有感触的: 『 对小孩子的评价标准是成绩如何,考的大学如何; 对大人他们的评价标准是你赚钱如何,住的房子开的车如何; 不符合评价标准的人、事或行为都会被非议、打压、歧视; 没人会在乎你怎么想,真正想做什么,在做什么』 可能受的教育越多,越能体会和不同阶层对思维、眼界脱节,也许这就是所谓的『清高』。里面还有一个答案也挺有感触的: 『我妈他们念大学那会儿,本科生就受歧视。念个大学有啥用?都22了才工作,你看谁谁上个小班中专,19就赚钱了。你毕业人家都是老员工了。 现在也是啊,你读博都二十七八了才工作,人家谁谁都是老员工了。 底层一般都只能看到眼前那一小块,看不到五年后的世界的。我还认识有人生下了孩子之后才意识到养不起,孩子送人的。 底层嘛。不开化,可以理解。』 // // 可能以后也不会想回去了 //

ELK+Redis 最佳实践

Published at发布于:: 2016-07-17   |   Reading阅读:: 5 min

上个月老板让我搭一个日志分析系统,选用了 ELK 作为技术栈,网上的文章较为混乱,前期刚接触的时候查资料踩了很多坑,所以根据我总共一个星期的接触(包括安装和后期运维),大致总结一下我个人的最佳实践。

本文主要内容为:

  • 架构逻辑
  • 安装
  • 配置
  • Docker 方案

这张图相信足以证明 ELK Stack 的强大之处了:

架构逻辑

E(lasticsearch) L(ogstash) K(ibana) 本身这里并不做过多介绍。

值得一提的是,为了让整个系统更好的分层,是非常建议引入 Redis 的。Redis 作为一个缓存,能够帮助我们在主节点上屏蔽掉多个从节点之间不同日志文件的差异,负责管理日志端(从节点)的人可以专注于向 Redis 里生产数据,而负责数据分析聚合端的人则可以专注于从 Redis 内消费数据。

同时,Kibana 本身并不具备访问限制,这不是我们期望的,因此可以用考虑用 Nginx 做一层反向代理,并做身份验证。

综上所述,整个 ELK 的架构应该是下图所示的样子:

Read More阅读更多 »
8 9 10 11 12 13 14 15 16
© 2008 - 2026 Changkun Ou. All rights reserved.保留所有权利。 | PV/UV: /
0%