自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(138)
  • 资源 (3)
  • 收藏
  • 关注

翻译 Bloom Filter介绍

原文概览这篇文章我们谈谈Guava中的Bloom Filter, Bloom Filter是一种省内存的基于概率的数据结构,可判断一个元素是否在集合中。Bloom Filter没有False Negative,即判断某元素时否在Bloom Filter中时,如果返回False, 则可以肯定该元素不在集合中,但是Bloom Filter存在False Positive, 即如果返回True, ...

2019-06-13 19:06:37 1750

原创 homework-0306-最小二乘法

#问题1.实现一元线性回归#使用如下提供的数据求解x=[300,400,400,550,720,850,900,950]y=[300,350,490,500,600,610,700,660]import numpy as npx_array = np.array(x)y_array = np.array(y)x_mean = np.mean(x_array)y_mean = y...

2019-03-09 14:52:56 141

原创 homework-0219

问题1.安装Anaconda。print("Hello Anacond!")Hello Anacond!问题2.使用Jupyter Python3编写Hello world程序。print("hello world")hello world问题3.导入Numpy ,使用Numpy生成一个5*2的二维数组。import numpy as npa=np.arange(10).r...

2019-03-09 13:28:27 276

原创 matplotlib-study

Usage Guidepythonimport matplotlib.pyplot as pltimport numpy as npfig = plt.figure()fig.suptitle("No axes")fig, ax_lst = plt.subplots(2, 2)<Figure size 432x288 with 0 Axes>x = np....

2019-03-09 13:24:02 375 1

原创 jupyter-study

print("hello world")hello world%connect_info{ "shell_port": 62708, "iopub_port": 62709, "stdin_port": 62710, "control_port": 62711, "hb_port": 62712, "ip": "127.0.

2019-03-09 13:01:06 244

原创 pandas-study

quickstartpandas is for statistic and analysisObject Creationimport numpy as npimport pandas as pds=pd.Series([1,3,5,np.nan,6,8])s0 1.01 3.02 5.03 NaN4 6.05 8.0dtype: ...

2019-03-09 12:02:59 384

原创 numpy-study

quickstartArray Exampleimport numpy as npa=np.arange(15).reshape(3,5)aarray([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]])print(a.shape)print(a.ndim)print(...

2019-03-09 11:49:34 159

原创 缓存架构

架构师之路缓存的目的是高性能、高并发进程内缓存架构师之路一个带锁的Map或内存DB,列入leveldb进程内通信,效率高,但缓存大小受限每个服务实例中都缓存一份数据,缓存数据可能不一致进程内缓存违背了分层架构无状态原则,一般使用场景为:数据量较少的只读数据,允许数据不一致,极高并发下透传后端压力大的场景。 大部分情况应该使用缓存中间件,如redis。缓存服务石杉架构redi...

2019-02-22 14:53:51 168

原创 数据库架构

架构师之路读写分离一主多从,主从同步,读写分离,互联网大部分业务读多写少,一般读会先成为性能瓶颈。读写分离解决读写高并发问题,有以下特点:简单易操作线性提升读性能消除读写锁提升写性能冗余从库实现读高可用,写依旧单点石杉的架构笔记水平切分水平切分是为了解决并发量高、数据量大的问题,具体方案是分库或分表,建议分库:分表公用一个库,依然是一个数据库文件,存在IO竞争分库可迁移...

2019-02-22 14:52:27 151

原创 分层架构

互联网软件架构分层体系结构架构师之路单体服务:计算机基础知识,比如编程语言、库、数据结构、算法、软件工程、编译原理、操作系统相关知识是构建每一层的通用基础知识,每一层可以认为是一个进程,由基本的编程语言、库和框架构建而成,层与层之间交是通过进程间网络通信进行数据移动。编程语言、库:粒度相对低级,库一般被业务代码调用,比如Guava框架: 粒度较粗,由编程语言、库构建,一般是现成的解决...

2019-02-18 11:42:26 285

原创 RESTful总结

RESTful前端多样化,前后端分离,统一可读的API至关重要。每个网址代表一种资源,RESTful是一种面向对象/资源的思维,约束系统间互联互通时遵循的标准。HTTP & SQL根据HTTP规范,HTTP Method大写GET-SELECT,取资源POST-CREATE,新建资源PUT-UPDATE,更新资源,request中有资源全部信息PATCH-UPDATE,更新...

2019-02-12 18:30:27 318

原创 我的2018

工作到了2018年,在前东家已经服务了4年了,这四年,每天的工作是大数据平台相关的,因此对大数据技术方向有了比较全面深刻的体会,以前认为写代码就是堆一行行代码,现如今至少有了一些系统性的思维,也因为大数据,从以前搞C++彻底转型Java了。四年,不算长,但在IT行业也算一份比较长久的工作了,曾经懵懂无知,满怀希望,入职时加班看代码,后来熟能生巧,大部分工作也能熟练应对,前三年技术、思维成长较快...

2019-02-01 10:53:17 347 1

原创 hyspider之智能运维监控

scrapyd借助scrapyd,可以通过http请求远程调度爬虫。#scrapy.cfg中加入deploy配置[deploy]url = http://localhost:6800/project = hyspiderversion = 1.0#scrapyd安装pip install scrapyd#启动scrapyd,scrapyd-deploy上传的文件存放到~cd ...

2019-01-11 10:04:57 245

原创 hyspider之猫眼价格解密

猫眼价格信息使用了woff字体,每次请求都会返回解析当前页面字体使用的woff文件,并且每次响应中woff文件都不同。web平台返回woff文件地址:@font-face { font-family: stonefont; src: url('//vfile.meituan.net/colorstone/b63689f6e4c98b8a05a78c87e6f251f23168.eot'...

2019-01-10 17:32:57 921

原创 hyspider之价格爬取

价格是比价中最重要地信息,价格信息量大,并且是不断变化的,尽可能准确快速地抓取各个渠道电影及优惠信息是比价软件的核心竞争力。爬取时分城市爬取,先从DB中加载城市cinema,然后通过cinema_id直接获取影院所有价格信息,过程类似我们平时直接进入影院查看价格的行为。猫眼猫眼价格h5页面需借助selenium模拟chrome进行爬取,爬取速度比价慢。观察发现web端价格信息与h5/app价...

2019-01-09 18:25:50 317

原创 hyspider之影院爬取

城市信息抓取完成后,就可以基于city_id抓取影院信息了。由于影院信息变化相当缓慢,并且可以选择性的抓取某些城市,因此将city_id作为参数传递给影院爬虫,爬取影院详细地址后利用baidu map提供的地址解析api获取影院的经纬度信息,便于hyserver对影院排序。猫眼通过API返回json结构化数据可直接获取某个城市所有影院信息,启动爬虫时传递city_id作为参数:crawl ci...

2019-01-09 16:22:07 786

原创 hyspider之城市爬取

影院信息在各渠道都是按城市分类,通过城市id分页查询,因此在抓取影院前先抓取城市信息,城市信息基本不变,只需抓取一次即可。猫眼没有从猫眼找到直接获取城市列表的API, 所以基于selenium模拟chrome访问猫眼首页,获取首页html源码,然后从html中提取所有城市。city_mt源码:https://github.com/improvejin/hyspider/tree/master...

2019-01-09 14:34:51 280

原创 hyspider之电影爬取

hymp的主要功能是电影票多渠道比价,比价时需定位到同一影院同一电影,因此需要将所有渠道电影、影院爬取并匹配起来,爬取时优先选择便于爬取的终端平台,一般信息h5/web平台相对于app更易获取。hyspider源码地址:https://github.com/improvejin/hyspider电影有豆瓣、猫眼、淘票票、糯米四个渠道,电影变化较慢,数量少,全国各地电影信息也一样,并且各个终端电...

2019-01-07 16:07:30 678

原创 hyserver惠电影后台

hyserver为hymp提供后台服务,使用Django开发,分成三个app(hyserver/cinema/movie)django-admin startproject hyserver # 生成项目python manage.py runserver 0.0.0.0:8000 # 访问项目主页hymp主要提供三个tab:电影列表及详情: 主要通过豆瓣api获取电影信息,由...

2019-01-04 17:56:56 727

原创 MySQL安装

windows上安装1、下载安装包解压到MYSQLHOME,切换到MYSQL_HOME,切换到MYSQLH​OME,切换到MYSQL_HOME目录2、mysqld --initialize-insecure: 初始化data-dir, 无root密码3、mysqld --console: 启动mysql服务,若不指定console选项则启动日志信息保存到log文件中4、mysql -u r...

2019-01-04 14:13:05 122

原创 hymp惠电影小程序

hymp惠电影小程序扫描体验mp核心功能分成三个Tab页:电影列表,显示正在热映和即将上映的电影影院列表,根据用户的位置由近及远显示影院列表个人中心,用户推荐、反馈入口电影列表电影列表包含头部和主体两部分,头部是目前正在热映八部电影的海报以幻灯浮图的形式循环轮播,主体则根据电影上映时间划分成正在热映和即将上映两个子Tab电影列表。热映浮图一般影视网站首页都有最近热播视频幻...

2018-12-10 17:50:06 1478

原创 我的全栈之路

什么是全栈如果一个人能够独立开发一个系统,包括前端和后台,则可以说是全栈工程师。前端主要用来做展示,涉及的技术是HTML/CSS/JS等,具体细节差异则跟各个终端有关,比如Android/IOS/小程序等都有具体特定的API和框架规范。相比后台,前台涉及的业务细节相对较少,后台则需要实现具体的业务类型,根据业务的规模、复杂度选择具体的开发语言和平台,国内一般是Java/Pyton/NodeJS等...

2018-11-18 15:53:36 2662

原创 Kafka介绍

kafka物理结构一个kafka集群由多个broker组成每个topic由多个partition组成,partition均匀分布在broker中,partition中存储了具体的数据,在broker的{log.dirs}下每个物理文件夹对应一个topic的某个partition,partition数据文件又被分成多个segment,每个segment对应一个数据文件和一个索引文件,part...

2018-11-15 16:10:23 171

原创 windows下Hadoop报错null\bin\winutils.exe

在windows环境下hadoop或flink时,可能会出现如下异常:2018-09-30 17:45:59,517 ERROR org.apache.hadoop.util.Shell - Failed to locate the winutils binary in the hadoop binary pathjava.io...

2018-10-08 10:29:04 4755 1

原创 MySQL使用总结

建表create table test(        id int(11) NOT NULL AUTO_INCREMENT,        a int(4) NOT NULL DEFAULT 0,&nbsp

2018-09-29 16:45:29 161

原创 我的2017

春节即将来临,写年终总结已经是每一年计划中的任务了,当我开始提笔回忆过去一年时,其实2017已经过去一个多月,而且也基本知道2018会有一个环境转变。2017有一些收获,也有一些不顺,记录下这些经历,多一份思考,多一份收获。工作每年的年初,基本都是公司离职高潮期,最近这几年更胜,公司的发展、管理模式最终导致底层员工用脚投票,每个人都有自由选择职业的权利,一个人的离开对当前业务运转可能没有影响,但在没

2018-02-28 16:16:20 472

原创 HBase总结

基于HDFS,列存储的分布式数据库,可靠性高,吞吐量大,扩展性强,实时读写。DataMode一个表按行分区会成N个Region, 一个Region只会被一个RegionServer管理;在RS内部,一个Region又会按Column Family划分成多个Store, 一个Store包含一个内存MemStore和多个StroeFile,MemStroe达到阈值后会Flush到HDFS变...

2018-02-28 16:07:49 590

原创 Java之Reflect

ClassClass没有public构造方法,由JVM在加载类时自动构造,Class实例中存储了Object对应类的元信息,获取Class实例有三种方式。Object.getClass()Class.forName()class literal, 即类名加.class通过Class可获取类元信息,包括类声明、类中成员、方法等信息类声明信息类名public String getCanonica

2018-02-05 15:27:26 257

原创 Hive总结

Create TableCREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name -- (Note: TEMPORARY available in Hive 0.14.0 and later) [(col_name data_type [COMMENT col_comment], ... [constr

2018-02-01 17:59:16 510

原创 Hadoop总结

HDFSNameNodeNode元数据管理, Node-Block映射关系BlocksMap, 由NN汇报 NameSpace管理, File-Block映射关系FSImage, 持久化到HDFS NN管理,网络拓扑结构,Rack-Node, NetworkTopology LeaseManager, 同步文件写操作, 一个Lease对应一个Client以及一个FSPath....

2018-01-23 14:24:07 476

原创 Java之日志

Logger日志中应该使用SLF4J中的API:import org.slf4j.Logger;import org.slf4j.LoggerFactory;private static final Logger logger = LoggerFactory.getLogger(Xxx.class);参考:http://www.importnew.com/7450.htmllog4j配置及加载

2018-01-23 14:05:15 324

原创 Java之ClassLoader

.class文件需要被ClassLoader加载到JVM内存中的Method Area形成一个Class实例。public final class Class<T> { //不含PacakageName public String getSimpleName(); //完整类名,包含PackageName public String getName(); pu

2018-01-03 13:13:07 235

原创 Java之异常

Error和Exception都继承自Throwable。Error严重错误,一般是指系统级的错误,应用程序本身无法预防和处理,因此不用捕获处理,应该让程序直接终止退出,常见Error如AssertionError,断言失败时程序因立即退出。ExceptionJava中Exception分为RuntimeException和CheckedException, 某高人认为CheckedExceptio

2018-01-03 13:10:34 886

转载 Ali并发总结

【强制】获取单例对象需要保证线程安全,其中的方法也要保证线程安全。说明:资源驱动类、工具类、单例工厂类都需要注意。【强制】创建线程或线程池时请指定有意义的线程名称,方便出错时回溯。 正例:public class TimerTaskThread extends Thread { public TimerTaskThread(){ super.setName("TimerTaskTh

2017-12-07 13:58:56 268 1

原创 Java之GC

内存结构JVM在启动后内存分成如下几个区域:线程私有部分:PC, Program Counter Register, 当前执行指令地址,用于线程切换后恢复JVM Stack, 调用方法时存放栈帧,局部变量存放地,栈帧大小在编译器就确定,记录在class文件中method_info的属性表中,Stack默认大小为1M,可通过启动参数-Xss或new Thread时传递参数指定;栈内部不足时会抛St

2017-12-07 13:57:50 261

原创 Java之NIO

NIONew IO, 相对于IO基于字节方式读取流中的数据,NIO以块为单位从Channel读写,相对效率更高。NIO分为File NIO和NetWork NIO。File NIOFile NIO通过FileChannel读写数据,FileChannel只能通过FileInputStrem/FileOutputStream获取public FileChannel FileInputStrem:get

2017-12-06 14:17:44 275

原创 Java之IO

IO分为磁盘IO和网络IOIOjava.io.*包中主要包含三部分:流时部分非流式部分,主要包含一些辅助流式部分的类,如:File类、RandomAccessFile类和FileDescriptor等类其他-文件读取部分的与安全相关的类,如:SerializablePermission类,以及与本地操作系统相关的文件系统的类,如:FileSystem类和Win32FileSystem类和Win

2017-12-05 14:19:31 203

原创 Java之线程总结

线程vs进程进程是资源分布的基本单位,一个进程中可以有多个线程,多个线程可以共享进程资源,在Java进程中,堆是共享的,因此需要保证线程安全,可通过-Xms指定Heap初始化大小,-Xmx指定Heap的最大值。线程是调度的基本单位,直接理解为可获取CPU时间片执行的代码,每个线程也有私有栈,默认大小为1M,太小会报StackOverFlow, 可通过-Xss指定栈大小,也可以new Thread是通

2017-12-01 16:39:30 203

原创 Java之锁总结

线程互斥由于线程调度时间无法确定,获取/放弃CPU没有固定时间,再运行过程中可能时间片到后需放弃CPU,如果多个线程间共享 数据,那么对共享数据的修改需要是事物性的操作,此时操作共享数据的代码称为临界区,一个线程进入临界区后,只有执行完临界区里所有代码后,其他线程才能进入临界区,也即对临界区进行加锁操作,进入临界区需获取锁,出临界区时释放锁,只有获取锁成功后才能进入临界区。Java中提供了三种实现

2017-11-21 13:21:44 395

转载 腾讯的SQL on Storm,与Pike设计目标很相似

SQL on Strom1. 摘要:TDW 很好的解决了海量数据离线处理问题,但是在如下场景下: 实时报表,实时监控,实时推荐,实时分析 ,TDW无法满足需求。而storm是应对这些场景的利器,但是storm开发的门槛较高,对于大多数使用TDW的同学来说,若是能有一套支持storm

2017-11-16 17:12:26 461

windows hadoop

windows hadoop,windows下hadoop调试,以免报错,xxxxxx

2018-09-30

Java课件及其源码

高校Java课件,我们老师自己出书随带的课件,快速学习入门的好帮手,很不错的基础知识

2009-06-27

SQL Server 2005基础教程

SQL Server 2005基础教程,大量的实例帮你快速入门

2009-04-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除