Skip to content

Instantly share code, notes, and snippets.

View daog1's full-sized avatar
🏠
Working from home

xiaodao daog1

🏠
Working from home
View GitHub Profile
@daog1
daog1 / 0_reuse_code.js
Created January 15, 2016 09:15
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console

Nutch介绍

@(Xcaspar)[nutch]

介绍

Nutch是一个爬虫和检索于一体的一个可扩展、高性能的框架。目前有两种版本:最新的分别是v1.8和v2.2.1,两者的区别是底层存储不同,1.X版本基于Hadoop(目前1.2.0版本)架构的,底层存储使用HDFS文件系统。而2.x采用Apache的Apache Gora ORM框架进行存储访问,支持HBase、MySQL等。 两者都有个共同点:必须自己编译源码文件。
说到编译,Nutch是Apache的一个项目,所以项目的编译也是采用自己的ant进行build,jar包管理使用ivy。项目编译还算简单,大体步骤如下:

  • 由于下载的包中缺少代码质量检查的sonar包,但是build.xml文件涉及到,所以,你要自己下载sonar-ant-task jar包,然后更改build.xml中涉及到sonar task的classpath,将地址指向包的位置,比如:
  • 然后ant,此阶段所需时间较长。
  • build之后,默认会有个runtime文件夹,里面包含deploy和local文件夹,分别是部署和本地运行nutch和crawl文件以及相应的配置文件。
@daog1
daog1 / gist:efb6baab5c3f50cc54aa
Created January 15, 2016 09:37 — forked from xishuixixia/gist:8aa9a7888f0ddcf835c1
邹达:国内BaaS平台正在落地

BaaS(Backend as a Service)是一种新型的云服务,旨在为移动和Web应用提供后端云服务,包括云端数据/文件存储、账户管理、消息推送、社交媒体整合等。BaaS是垂直领域的云服务,随着移动互联网的持续火热,BaaS也受到越来越多的开发者的亲睐。它作为应用开发的新模型,可以降低开发者成本,让开发者只需专注于具体的开发工作。

BaaS是移动中间件的替代品(或者说备选方案),它使用统一的API和软件开发工具包(SDK)来连接移动应用到后端云存储,传统的移动中间件通过本地的物理服务把后端服务集成到应用中。而BaaS通过云来集成后端服务。中间件和BaaS的最大不同是它们是否包含或者提供云的服务,BaaS可以说是PaaS平台在移动垂直领域的延伸,更可以说是移动中间件和云的融合。而现在它们都在以不同的形式来存在,云的优势很明显,那就是简单、成本低廉,中间件的优势是数据安全,易于扩展。所以从现在的趋势来看,它们不存在明显的取代关系,只不过可能以后BaaS的体量会更大。移动中间件将更多的被有能力的企业使用,同时也会有越来越多的中小型企业、开发者选择使用BaaS。

随着移动互联网的发展,移动行业的分工也会像其它行业一样逐渐细化,后端服务就是这样被抽象出来,它统一向开发者提供文件存储、数据存储、推送服务等实现难度较高的功能,以帮助开发者快速开发移动应用。在国外,BaaS服务已经受到巨头的重视,2013年4月,Facebook收购Parse;2014年6月,苹果发布了CloudKit;2014年10月,Google收购了Firebase。Parse、CloudKit、Filrebase都是国外知名的BaaS类产品,苹果和谷歌通过BaaS服务可以更好的完善其生态圈,Parse也可以帮助Facebook建立它在移动端的地位,从巨头们在BaaS方面的布局也可以看出BaaS的价值。总体来说,BaaS平台的优势包括:

  • 提高效率:减少移动APP开发中各个环
#!/usr/bin/env python
import unittest
from math import ceil
from pdb import set_trace as bp
class Page(object):
def __init__(self, number, current):
self.number = number
self.current = current
@daog1
daog1 / hello.html
Last active January 16, 2016 04:04
自定义web组件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="/static/dist/webcomponents.js"></script>
<script src="/static/dist/react.js"></script>
<script src="/static/dist/react-dom.js"></script>
<script src="/static/dist/react-with-addons.js"></script>
<script src="/static/dist/reactive-elements.js"></script>
@daog1
daog1 / application.yml
Last active January 16, 2016 03:53
spring cloud config server
server:
port: 8888
eureka:
client:
registerWithEureka: false
fetchRegistry: false
server:
waitTimeInMsWhenSyncEmpty: 0
@daog1
daog1 / javagdbserver.sh
Created January 18, 2016 08:20
java 远程调试脚本
java -Xdebug -Xrunjdwp:transport=dt_socket,address=0.0.0.0:8787,server=y,suspend=y -jar demo-0.0.1-SNAPSHOT.jar
@daog1
daog1 / mapreducer.sh
Created January 21, 2016 07:07
一个mapreduce的例子
hadoop jar /usr/hdp/2.3.4.0-3485/hadoop-mapreduce/hadoop-streaming.jar -input /user/hello.mk -output /user/ll.md -mapper cat -reducer "wc -l"
@daog1
daog1 / spider.py
Created January 27, 2016 09:11
爬虫使用浏览器
def __init__(self):
CrawlSpider.__init__(self)
self.browser = webdriver.Firefox()
def __del__(self):
self.browser.close()
@daog1
daog1 / build_ffmpeg_android
Created February 15, 2016 06:46 — forked from lengyue524/build_ffmpeg_android
Build ffmpeg on OS X 10.9
此处主要参考 http://harryhsu.logdown.com/posts/198416-build-ffmpeg-on-mac-os-109
根据我的编译过程做了适当修改
1. Download NDK
https://developer.android.com/tools/sdk/ndk/index.html
我下载的版本是android-ndk-r10,不同的版本在下面的build脚中本需要修改的地方大致相同.
2. Download ffmpeg source code
下载 ffmpeg(http://www.ffmpeg.org/download.html)
推荐 git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg