分类目录归档:技术

Ceph手工搭建中osd degrade状态的解决

在毫无目的的看了几天分布式存储相关的资料之后,终于确定让我在部门实验机房里测试搭建Ceph环境,作为另一个场景的后端存储。感谢Ceph中国社区在完善的文档翻译,减少了我很多的工作量。在此记录下自己搭建部署过程中的一个重大的坑。。。也算记录自己做过了 继续阅读

提取豆瓣电影短评关键词

昨天看到了一篇文章,利用这个 MonkeyLearn 提供的 API,创建情感分析模型。其数据源来自某网站的评论数据,恰好最近打算投豆瓣的实习,想到豆瓣电影的打分和短评也可以做类似的事情。不过目前还没有做到分类器,只是利用 TF-IDF 做了关键词提取。

昨天晚上找了一下豆瓣的 API,发现限制颇多,于是决定直接爬。今天下午完成了一个简单的模拟登录和抓取程序(没有用到什么代理和多线程),晚上搞定了用了一会尝试了用 sklearn 中的 TF-IDF 提取关键词,之后发现 jieba 分词直接带有关键词提取器,还有 TF-IDF 和 textrank 两种模式!(关于 textrank 也是在另一篇文章里知道的),不过最后发现最终的结果差别不大,甚至 TF-IDF 的一些词更加具有显著性。 继续阅读

Google Code Jam 2016资格赛

周六醒来习惯性刷微博,Google Code Jam 2016资格赛已经在早上七点开始了。于是赶紧跑来实验室注册+看题,当然以我的水平,估计也就能通过资格赛了。不知道是不是这次的比较简单,第一题是“一道送分题”,第二题能想到解决方案,但是不确定是正确的答案,第三题第一遍读题没读懂。。。因为整个资格赛持续27个小时,于是就先陪女朋友去了北海公园,晚上回来的路上想的具体算法方案,八点多回实验室才答的题。

附一张北海公园的照片,可以直接看到白塔、景山(左侧有个亭子的山)、国家大剧院(右侧一个圆弧形的建筑),不知道为什么,即使在空气质量还可以的天气,远处依旧是灰蒙蒙的。

北海公园

能直接看到白塔、景山、国家大剧院

继续阅读

一道Java初始化的笔试题 from Netease

非常惊奇的发现,自己一年前还总结了 Thinking in Java 中关于初始化部分的内容。想想当时 Thinking in Java 应该看了一半左右,或许该重新捡起来看了。

题目:运行 B.java 的输出结果:

继续阅读

Java知识点拾遗——Object类

寒假在家的时候已经开始着手准备找实习的一些内容了,但是没想到这一切来的这么的快,3月刚到,各大互联网的实习信息就已经涌来。想想之前看 Thinking in Java 还是近一年前的事,真的需要认真准备一下了。于是打算搞一个知识点拾遗系列,把平时编程不太容易注意到的内容整理一下,也方便自己总结记忆。

继续阅读

支持upload文件的SimpleHTTPServer

作为 Python2 的标准库,SimpleHTTPServer 可以很方便的提供一个简单的页面服务器,很多文章已经进行了介绍。其默认的功能很简单——当前路径下如果有 index.html 或者 index.htm 文件,则直接解析显示;如果没有,则列出当前目录下的文件和文件夹目录。这个模块已知被我当做分享文件很快捷同时逼格又很高的方式,不过一直的问题就是,无法上传!于是耗费半个下午给它增加了上传文件的功能。下文是记录自己的处理问题的过程,最后对 SimpleHTTPServer 里的函数进行了简单介绍,不想看废话的可以直接去 gist 上获得文件源码:gist 地址

注:Python3版本中,SimpleHTTPServer 更名为 http.server,官方链接声明

The SimpleHTTPServer module has been merged into http.server in Python 3. The 2to3 tool will automatically adapt imports when converting your sources to Python 3.

继续阅读

新浪微博 PythonSDK 分析

最初想爬新浪微博,从开发文档中找到了 Python 的 SDK,竟然是廖雪峰写的。链接直接指向它的 Github 仓库,看了看代码不长,于是就认真研读一下,一来学习 Python 的使用,二来也就知道新浪微博 API 的使用方法了。奈何懒癌又犯了,拖了很久没写这篇总结,竟然在某次搜索时发现了作者自己写的创建 SDK 的步骤,加深了自己的理解,就赶紧来开动写总结了。 继续阅读

[转载]Linux系统巡检常用命令

源地址:http://www.javaranger.com/archives/1403

从 VPS 最初使用开始,就知道在公网的机器很可能会被黑。最初的 ssh 还是开在默认的端口上,某次查看 log 着实吓了我一跳。从此之后每次登录都要 last 查看最近的登录情况。整理收藏夹时发现了这篇文章,总结了 Linux 系统检查的常用命令,留作备用吧。或许某天可以再写个脚本,批处理这些检查,然后输出异常呢~~ 继续阅读

[翻译]Web Scraping 201: finding the API

前言:之前,在帮同学获取百度城市百科内容时,每个城市页面下的内容是通过 js 动态生成的(Ajax?),不能直接通过爬取页面解析得到。最终通过浏览器查看网络请求,找到了请求地址和具体参数含义。整理收藏夹的时候,发现有这么一篇文章,鉴于Blog 已经长草,决定翻译一下留做以后备查吧。

有很多网站的 API 确实可以通过这样的方式获得,但是另一些网站(如 twitter、weibo),它们的 API 是有很多的限制,并且需要进行申请的。相比之下,如果能查到 API 的开发文档,则应当以开发文档为主。当然,本文通过审查工具来分析页面的加载流程,进而找到一些需要的内容还是很有必要的。

源地址:http://www.gregreda.com/2015/02/15/web-scraping-finding-the-api/ 继续阅读

Python中的else

很久不写代码,果然一上手就容易犯一些低级的错误。在写上一篇博客程序之后,开始做写一些异常处理的代码(毕竟网络连不上啦,页面不存在啦很常见),竟然写错了else的用法。顺手查了Python官方文档,发现相比其他语言,Python的 else 除了用在 if 里,还有 try、for、while等语言块里 继续阅读