Clojure 爬虫:抓取花瓣网图片

最近刚看完《Clojure程序设计》,书上的例子都能看懂,但要开始用Clojure还是有点不知道怎么下手,想写个小程序练练手。之前用Python写过一个抓取花瓣网美女画板下图片的小爬虫,爬虫过程很简单,也没有涉及登录验证或是反爬虫之类的,用来熟悉新语言非常合适,就有了这个Clojure版的爬虫。

我用Python的实现可以看我之前的博客

高逼格使用MATLAB之: 少写for循环

看到太多的人把MATLAB当成C语言来写,甚至像矩阵求和这种的,都要写个for循环来做,不仅整个程序看起来很乱,而且不管开发效率还是程序执行效率都降低了太多。我在研一学人工神经网络这门课程的时候,就有看过别人写的一些MATLAB程序,用矩阵的一些操作代替了for循环,程序看起来简洁干净,效率也有提高。
这篇文章接下来会介绍几个函数,能把原来需要用for循环来处理矩阵的,通过自带函数替换掉for循环。用这些函数的好处是代码会简洁很多,同时MATLAB也会优化操作过程,提高效率。

Clojure 开发环境搭建

一直想要学习一门Lisp方言,想了解被很多大牛推荐的函数式编程(FP),自己却不清楚要从哪开始。直到在图书馆无意中看到一本讲Clojure的书,好奇就借了随便翻翻,很巧的是同时顺手借的《七周七并发模型》里面也差不多有一半都是用Clojure举的例子,也算是缘分吧,就开始看Clojure。

Bottle 源码学习

Bottle是一个快速、简单、轻量级的WSGI微框架,整个项目只有一个文件,并且,除了Python标准库以外,Bottle不依赖其他第三方库。

为了对Bottle项目有个大致的了解,我们选择0.4.10版本研究,这个版本中,Bottle代码量不超过1000行,基本功能都已经实现并且研究起来也会容易些。下面的内容,如果没有特殊说明,都是指0.4.10版本的源码。

多说评论添加显示浏览器以及操作系统信息

想要在多说评论中显示浏览器以及操作系统信息,第一步当然是获取信息,这部分的处理放在多说的embed.js文件中,还有一部分是显示浏览器以及操作系统信息,这部分在多说系统中添加自定义的CSS来实现。

Hexo 搭建博客

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

Django中加入富文本编辑器

目前主流有两个插件,一个是KindEditor(遵循LGPL v2),另一个是百度的uEditor(遵循MIT协议)

KindEditor 是一套开源的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果,开发人员可以用 KindEditor 把传统的多行文本输入框(textarea)替换为可视化的富文本输入框。 KindEditor 使用 JavaScript 编写,可以无缝地与 Java、.NET、PHP、ASP 等程序集成,比较适合在 CMS、商城、论坛、博客、Wiki、电子邮件等互联网应用上使用。

leetcode 刷题(shell部分)

192. Word Frequency

题目描述

统计文件中各个单词出现的次数

解题思路

只想到awk(awk几乎可以做任何事情…)

1
awk '{for(i=1; i<=NF; i++) r[$i] ++;}END{for (key in r){print key " " r[key];}}' words.txt | sort -k2nr

另外,看到这篇博客里的另一种思路

1
cat words.txt | tr -s ' ' '\n' | sort | uniq -c | sort -rn | awk '{print $2" "$1}'

Sublime Text 3 教程

1. 安装与初始配置

安装在Ubuntu上,直接在官网下载deb包安装即可。
安装成功后,即可在命令行中打开软件

1
2
subl file       # 使用Sublime Text打开file文件
subl folder # 使用Sublime Text打开folder文件夹

安装Package Control,参考官方介绍的方法安装,之后使用Ctrl + Shift + P打开命令面板,输入pcip就会出现Package Control。

2. 基本概念

  • 标签(Tab):
  • 编辑区(Editing Area):
  • 侧栏(Side Bar):包含当前打开的文件以及文件夹视图。
  • 缩略图(Minimap):文档的缩略图
  • 命令板(Command Palette):Sublime Text的操作中心,它使得我们基本可以脱离鼠标和菜单栏进行操作。
  • 控制台(Console):使用Ctrl +` 调出,它既是一个标准的Python REPL,也可以直接对Sublime Text进行配置。
  • 状态栏(Status Bar):显示当前行号、当前语言和Tab格式等信息。

Hello World

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment