Development experience
文章平均质量分 83
贾诩是也
走过很多弯路,一直坚强、执着的眺望着远方、、、一个听着小米布斯故事成长起来的老码农。不忘初心,方得始终、、、给自己鼓劲加油,为这个时代华丽的时代喝彩!
展开
-
Scala学习(一)
一、Scala论断Scala可以通过让你提升你设计和使用的接口的抽象级别来帮助你管理复杂性。例如,假设你有一个String变量name,你想弄清楚是否String包含一个大写字符。val nameHasUpperCase = name.exists(_.isUpperCase) Java代码把字串看作循环中逐字符步进的低层级实体。Scala代码把同样的字串当作能用论断:pred转载 2017-12-19 10:50:40 · 631 阅读 · 0 评论 -
Python之路【第二十二篇】CMDB项目
浅谈ITILTIL即IT基础架构库(Information Technology Infrastructure Library, ITIL,信息技术基础架构库)由英国政府部门CCTA(Central Computing and Telecommunications Agency)在20世纪80年代末制订,现由英国商务部OGC(Office of Government Commerce)转载 2017-12-19 11:52:44 · 2907 阅读 · 0 评论 -
Python之路【第二十一篇】Django ORM详解
ORM回顾关系对象映射(Object Relational Mapping,简称ORM)。django中遵循 Code Frist 的原则,即:根据代码中定义的类来自动生成数据库表。对于ORM框架里:我们写的类表示数据库的表如果根据这个类创建的对象是数据库表里的一行数据对象.id 对象.value 是每一行里的数据 http://www.cnblogs.co转载 2017-12-19 11:51:57 · 493 阅读 · 0 评论 -
Python之路【第二十篇】Tornado框架
TornadoTornado是使用Python编写的一个强大的、可扩展的Web服务器。它在处理严峻的网络流量时表现得足够强健,但却在创建和编写时有着足够的轻量级,并能够被用在大量的应用和工具中。我们现在所知道的Tornado是基于Bret Taylor和其他人员为FriendFeed所开发的网络服务框架,当FriendFeed被Facebook收购后得以开源。不同于那些最多只能达到转载 2017-12-19 11:50:57 · 557 阅读 · 0 评论 -
Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、
MemcachedMemcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。Memc转载 2017-12-19 11:26:33 · 271 阅读 · 0 评论 -
Python之路【第八篇】:堡垒机实例以及数据库操作
堡垒机前戏开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作SSHClient用于连接远程服务器并执行基本命令基于用户名密码连接:+ View Code?12345678910111213141516imp转载 2017-12-19 11:24:18 · 681 阅读 · 0 评论 -
Python之路【第六篇】:socket
Socketsocket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求。socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打开】【读写】【关闭】模式来操作。socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读转载 2017-12-19 11:17:37 · 274 阅读 · 0 评论 -
Python之路【第五篇】:面向对象及相关
面向对象基础基础内容介绍详见一下两篇博文:面向对象初级篇面向对象进阶篇其他相关一、isinstance(obj, cls) 检查是否obj是否是类 cls 的对象?123456class Foo(object): pass obj =Foo() isinstan翻译 2017-12-19 11:16:50 · 193 阅读 · 0 评论 -
Python之路【第三篇】:Python基础(二)
内置函数 一详细见python文档,猛击这里文件操作操作文件时,一般需要经历如下步骤:打开文件操作文件一、打开文件?1文件句柄 =file('文件路径','模式')注:python中打开文件有两种方式,即:open(...) 和 file(...) ,本质上前者在内转载 2017-12-19 11:14:24 · 334 阅读 · 0 评论 -
Python之路【第一篇】:Python简介和入门
Python简介 Python前世今生python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。 最新的TIOBE排行榜,Python赶超PHP占据第五!!!由上图可见,Python整体呈上升趋势,反映出Python应用越来越广泛转载 2017-12-19 11:11:09 · 293 阅读 · 0 评论 -
Python之路【第十九篇】:爬虫
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。RequestsPython标准库中提供了:urllib、urllib2、httplib等模块以供Http请求,但是,它的 API 太渣了。它是为另一个时代、另一个互联网所创建的。翻译 2017-12-19 11:46:29 · 510 阅读 · 0 评论 -
Scala学习(八)---Scala继承
摘要:在本篇中,你将了解到Scala的继承与Java和C++最显著的不同。要点包括:1. extends、final关键字和Java中相同2. 重写方法时必须用override3. 只有主构造器可以调用超类的主构造器4. 你可以重写字段在本篇中,我们只探讨类继承自另一个类的情况。继承特质的内容后面会详细介绍扩展类扩原创 2017-12-19 10:57:32 · 318 阅读 · 0 评论 -
一些常用的Linux指令!
最近在搭建大数据平台时,切切实实体验了一把有点生疏的Linux指令,呵呵。现梳理如下,做个备忘、、、Linux常用操作命令#############################################################01 查看当前所在的工作目录pwd02 查看有谁在线who03 Linux防火墙关闭1)重启后永久性生效原创 2017-11-03 15:23:13 · 216 阅读 · 0 评论 -
Scala学习(十)--- 访问修饰符
scala的访问修饰符有如下几个特性:如果不指定访问修饰符,scala默认为public; 较之Java,scala对protected的定义更加严格; scala可以对可见性进行细粒度的控制。scala的默认访问修饰符如果没有修饰符,scala会默认把类、字段、方法的访问修饰符当做public。如果要将之调整为private或protected,只需在前面添加对应的修饰符原创 2017-12-19 11:02:55 · 172 阅读 · 0 评论 -
Scala基础(草记)
Scala编程思想www.scala-lang.org/download/---------------------------------------------------------------------scala-ide.org|-创建一个scala project|-创建一个包|-创建一个scala sheet|-测试--------------原创 2017-12-13 15:36:17 · 275 阅读 · 0 评论 -
Scala学习(六)---Scala对象
摘要:在本篇中,你将会学到何时使用Scala的object语法结构。在你需要某个类的单个实例时,或者想为其他值或函数找一个可以挂靠的地方时,你就会用到它。本篇的要点包括:1. 用对象作为单例或存放工具方法2. 类可以拥有—个同名的伴生对象3. 对象可以扩展类或特质4. 对象的apply方法通常用来构造伴生类的新实例5. 如果不想显式定义main方法,可以用扩展App原创 2017-12-19 10:56:07 · 195 阅读 · 0 评论 -
Scala学习(四)---映射和元组
摘要:一个经典的程序员名言是:"如果只能有一种数据结构,那就用哈希表吧"。哈希表或者更笼统地说映射,是最灵活多变的数据结构之一。映射是键/值对偶的集合。Scala有一个通用的叫法:元组,即n个对象的聚集,并不一定要相同类型的。对偶不过是一个 n=2的元组,元组对于那种需要将两个或更多值聚集在一起时特别有用。本篇的要点包括:01. Scala有十分易用的语法来创建、查询和遍历映射翻译 2017-12-19 10:55:28 · 178 阅读 · 0 评论 -
Scala学习(五)---Scala中的类
摘要:在本篇中,你将会学习如何用Scala实现类。如果你了解Java或C++中的类,你不会觉得这有多难,并且你会很享受Scala更加精简的表示法带来的便利。本篇的要点包括:1. 类中的字段自动带有getter方法和setter方法2. 你可以用定制的getter/setter方法替换掉字段的定义,而不必修改使用类的客户端,这就是所谓的"统一访问原则"3. 用@BeanPro转载 2017-12-19 10:53:39 · 1515 阅读 · 0 评论 -
Scala学习(三)----数组相关操作
摘要:本篇主要学习如何在Scala中操作数组。Java和C++程序员通常会选用数组或近似的结构(比如数组列表或向量)来收集一组元素。在Scala中,我们的选择更多,不过现在我们先假定不关心其他选择,而只是想马上开始用数组。本篇的要点包括:1. 若长度固定则使用Array,若长度可能有变化则使用ArrayBuffer2. 提供初始值时不要使用new3. 用()来访问元素4原创 2017-12-19 10:52:48 · 221 阅读 · 0 评论 -
Scala学习(二)--- 控制结构和函数
摘要:本篇主要学习在Scala中使用条件表达式、循环和函数,你会看到Scala和其他编程语言之间一个根本性的差异。在Java或C++中,我们把表达式(比如3+4)和语句(比如if语句)看做两样不同的东西。表达式有值,而语句执行动作。在Scala中,几乎所有构造出来的语法结构都有值。这个特性使得程序更加精简,也更易读。本篇的要点包括:1. 表达式有值2. 块也有值,是它最后一个表翻译 2017-12-19 10:51:51 · 266 阅读 · 0 评论 -
六种隔离技术
为了将我们的应用部署到服务器上,我们需要为其配置一个运行环境。从底层到顶层有这样的运行环境及容器:隔离硬件:虚拟机隔离操作系统:容器虚拟化隔离底层:Servlet容器隔离依赖版本:虚拟环境隔离运行环境:语言虚拟机隔离语言:DSL实现上这是一个请求的处理过程,一个HTTP请求会先到达你的主机。如果你的主机上运行着转载 2016-10-28 15:49:01 · 8529 阅读 · 1 评论 -
利用内置的jetty+zookeeper搭建solrcloud集群服务环境
Jetty-solrcloudJetty集群不用搭建,使用内嵌的zookeeper,使用solr的example示例即可运行,本例实现运行三个node的solrcloud,新建一个文件夹命名为jettycloud,将example全部内容拷贝到该目录下三份,分别重新命名为node1,node2,node31、启动node1的jetty服务,cmd当前node1目录下执行如下命令:转载 2016-10-31 10:11:18 · 3713 阅读 · 0 评论 -
浅谈大数据系统数据采集产品的架构以及演进
任何完整的大数据平台,一般包括以下的几个过程:数据采集数据存储数据处理数据展现(可视化,报表和监控)其中,数据采集是所有数据系统必不可少的,随着大数据越来越被重视,数据采集的挑战也变的尤为突出。这其中包括:数据源多种多样数据量大,变化快如何保证数据采集的可靠性的性能如何避免重复数据如何保证数据的质量原创 2017-11-03 18:13:49 · 4121 阅读 · 0 评论 -
微信技术总监讲大数据高并发系统架构
微信——腾讯战略级产品,创造移动互联网增速记录,10个月5000万手机用户,433天之内完成用户数从零到一亿的增长过程,千万级用户同时在线,摇一摇每天次数过亿……在技术架构上,微信是如何做到的?日前,在腾讯大讲堂在中山大学校园宣讲活动上,腾讯广研助理总经理、微信技术总监周颢在两小时的演讲中揭开了微信背后的秘密。 周颢,2001年毕业于华南理工大学,计算机专业硕士。2005年加入腾讯广州研发转载 2017-11-03 18:10:03 · 823 阅读 · 0 评论 -
搭建ZooKeeper服务器集群
搭建要求:(1) zk服务器集群规模不小于3个节点(2) 要求各服务器之间系统时间要保持一致。 Ø 安装配置ZK(1) 使用rz命令将Zk传输到Hadoop主机上的/export/software(自己规划好的目录下),我用的版本是zookeeper-3.4.10.tar.gz。(2) 在hadoop的/export/servers目录下,解压缩zk....tar.gz原创 2017-11-10 09:10:27 · 208 阅读 · 0 评论 -
Apache Kafka —一个不同的消息系统
简介Apache Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。Apache Kafka与传统消息系统相比,有以下不同:它被设计为一个分布式系统,易于向外扩展;它同时为发布和订阅提供高吞吐量;它支持多订阅者,当失败时能自转载 2017-07-02 22:59:31 · 474 阅读 · 0 评论 -
一位10年Java工作经验的架构师聊Java和工作经验
黄勇( 博客),从事近十年的 JavaEE 应用开发工作,现任阿里巴巴公司系统架构师。对分布式服务架构与大数据技术有深入研究,具有丰富的 B/S 架构开发经验与项目实战经验,擅长敏捷开发模式。国内开源软件推动者之一,Smart Framework 开源框架创始人。热爱技术交流,乐于分享自己的工作经验。著有《架构探险——从零开始写Java Web框架》一书。我的十年技术之路CSDN:转载 2017-06-22 19:10:13 · 449 阅读 · 0 评论 -
通向架构师的道路(第二十六天)漫谈架构与设计文档的写作技巧
前言:这篇是一篇番外篇,没有太多代码与逻辑,完全是一种”软“技巧,但是它对于你如何成为一名合构的架构设计人员很重要。在此要澄清一点,架构师本身也是”程序员“,不是光动嘴皮子的家伙们,如果你不是一名程序虽出身那你根本谈不上也不可能成为一名架构师。那么架构师还有哪些是作为一名程序员来说不具备的呢?其中有一项能力就叫做”文档写作能力“。一、Soft Skill与Har转载 2017-07-02 08:55:57 · 384 阅读 · 0 评论 -
两款高性能并行计算引擎Storm和Spark简单比较
Spark基于这样的理念,当数据庞大时,把计算过程传递给数据要比把数据传递给计算过程要更富效率。每个节点存储(或缓存)它的数据集,然后任务被提交给节点。所以这是把过程传递给数据。这和Hadoop map/reduce非常相似,除了积极使用内存来避免I/O操作,以使得迭代算法(前一步计算输出是下一步计算的输入)性能更高。Shark只是一个基于Spark的查询引擎(支持ad-hoc临时性的分析转载 2017-07-11 14:53:55 · 1355 阅读 · 0 评论 -
走正确的路
本人也是coding很多年,虽然很失败,但也总算有点失败的心得,不过我在中国,大多数程序员都是像我一样,在一直走着弯路,如果想成为一个架构师,就必须走正确的路,否则离目标越来越远,正在辛苦工作的程序员们,你们有没有下面几种感觉? 一、我的工作就是按时完成领导交给我的任务,至于代码写的怎样,知道有改进空间,但没时间去改进,关键是领导也不给时间啊。 二、我发现我的水平总是转载 2017-07-01 00:20:38 · 248 阅读 · 0 评论 -
JVM调优及参数设置
(1)参数-Xms:初始堆大小-Xmx :最大堆大小 此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存-Xmn :年轻代大小 整个堆大小=年轻代大小 + 年老代大小 + 持久代大小。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。-XX:NewSize:设置年轻代大小-XX:Ma翻译 2017-05-26 23:55:27 · 313 阅读 · 0 评论 -
让云应用开发更高效
在云技术主导IT行业的今天,除非你的公司是在云计算出现之后成立的,否则你的IT环境必然运行着大量的,不同的遗留应用程。这些应用的部署方法仍然采用的是一台服务器一个应用程序的守旧的方法,造成无限制的服务器蔓延,给企业向云迁移造成了不小的阻碍。为了跨跃现有遗留应用与云供应商提供的应用之间的障碍,企业必须明确步骤,按步就班。首先要做的就是评估你现在手上有什么,并把它们分类,这样你一次可以完成一类。转载 2016-11-02 12:49:18 · 327 阅读 · 0 评论 -
Spark与Flink比较
摘要:Spark是一种快速、通用的计算集群系统,Spark提出的最主要抽象概念是弹性分布式数据集(RDD),它是一个元素集合,划分到集群的各个节点上,可以被并行操作。而Flink是可扩展的批处理和流式数据处理的数据处理平台。Spark是一种快速、通用的计算集群系统,Spark提出的最主要抽象概念是弹性分布式数据集(RDD),它是一个元素集合,划分到集群的各个节点上,可以被并行操作。用户也可翻译 2016-10-31 11:24:43 · 2146 阅读 · 0 评论 -
session多服务器共享
讨论session共享方案设计,是可以抛开具体的语言去讨论session共享方案设计。目前业界解决session共享的几种思路,我总结如下:第一种办法:把原来存储在服务器磁盘上的session数据存储到客户端的cookie中去。这样子,就不需要涉及到数据共享了。a客户端请求的时候,原来生成在服务器的数据生成到浏览器的cookie中,根据cookie中的数据识别用户。php由原来的”从本转载 2016-10-31 10:41:39 · 395 阅读 · 0 评论 -
分布式锁的几种实现方式
目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺牲强一致原创 2017-07-03 19:10:11 · 271 阅读 · 0 评论 -
分布式环境Session处理问题
在搭建完集群环境后,不得不考虑的一个问题就是用户访问产生的session如何处理。如果不做任何处理的话,用户将出现频繁登录的现象,比如集群中存在A、B两台服务器,用户在第一次访问网站时,Nginx通过其负载均衡机制将用户请求转发到A服务器,这时A服务器就会给用户创建一个Session。当用户第二次发送请求时,Nginx将其负载均衡到B服务器,而这时候B服务器并不存在Session,所以就会将用户踢转载 2017-07-03 19:15:12 · 264 阅读 · 0 评论 -
Redis笔记,添加密码并修改默认端口后的主从同步 (3)
今天发现在Redhat as 5上编译2.6.14会报错,所以下面的演示基于2.4.18,报错信息:[root@as5 src]# uname -aLinux as5.cooly.slum 2.6.18-8.el5xen #1 SMP Fri Jan 26 14:42:21 EST 2007 i686 i686 i386 GNU/linux[root@as5 src]# make转载 2017-07-03 19:51:00 · 401 阅读 · 0 评论 -
在PaaS上构建SaaS应用程序时先搞清这些
遗留系统含有成千上万个执行一大批业务功能的服务组件。比如说,假设贵企业运行的一个内部遗留系统中的一套组件向企业高管提供一份统计报告。为了赶在截至日之前获得这份每周提交的报告,该高管应该考虑将必要的组件迁移到新的软件即服务(SaaS)应用程序。如果经济可行性研究表明这种迁移是明智的决策,他应该与其他高管以及由开发人员、系统工程师和业务分析人员组成的一个团队合作,将遗留系统细分成多个组件,然后着手转载 2016-11-02 21:56:54 · 662 阅读 · 0 评论 -
基于Docker开发的PaaS平台 DINP
DINP是又一个基于Docker开发的PaaS平台。DINP 包含如下组件:dinp-server master组件,控制集群中所有计算节点dinp-agent Agent,部署在所有计算节点,收集各个节点运行状态和container列表dinp-builder 编配平台,负责把用户代码打包为Docker imagedinp-dash Dashboard,用转载 2016-11-02 21:52:27 · 958 阅读 · 0 评论 -
Nginx 服务器安装及配置文件详解
Nginx 在工作中已经有好几个环境在使用了,每次都是重新去网上找博客,各种编译配置,今天自己也整理一份安装文档和 nginx.conf 配置选项的说明,留作以后参考。1. 安装nginx1.1 选择稳定版本我们编译安装nginx来定制自己的模块,机器CentOS 6.2 x86_64。首先安装缺少的依赖包:1# yum -y install转载 2017-07-10 10:57:31 · 422 阅读 · 0 评论