- 博客(101)
- 资源 (30)
- 收藏
- 关注
转载 【转】AWS CTO对过去十年的经验总结 – 十条军规
转一篇AWS设计运维的经验总结,原文地址:https://amazonaws-china.com/cn/blogs/china/10-lessons-from-10-years-of-aws/?spm=a1zb6.8232479.detailFloor.3.381812d7Qfyvul作者Werner Vogels发布于 2016年3月14日10 Lessons from 10 ...
2019-03-21 15:21:15 203
转载 机器学习概述
什么是机器学习?(What is Machine learning?)Machines can "learning" by ayalyzing large amouts of data. 机器学习和人工智能的关系 ML是一种重在寻找数据中的模式并使用这些模式来做出预测的研究和算法的门类。ML是AI的一部分,并且和知识发现与数据挖掘有所交集。 ML的工作方式1...
2018-08-24 00:30:22 222
原创 2018读书清单与情况
重新开博就从2018读书清单开始吧,虽然2018已经过半,但是还记录一下,最终来看看执行了多少,不定时更新状态和更新书籍清单 技术微服务(Done)Docker技术入门与实战(Done)企业IT架构转型之道(Done)领域驱动设计(Ing)聊聊架构(Ing)亿万流量的秘密UML和应用模式分布式缓存TensorflowDeep LearningPy...
2018-08-21 16:29:06 392
原创 Hadoop环境搭建之初体验
0、版本搭建Hadpp的版本为1.2.1 下载地址为:http://apache.fayea.com/apache-mirror/hadoop/common/hadoop-1.2.1/1、登录验证(1)、确定系统是否安装了ssh和ssh-keygey可以通过which命令来确认which sshwhich ssh-keygen如果出现/usr/bin
2013-12-23 17:46:41 702
原创 Java远程debug参数
java中的远程debug调试java -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=yaddress : 调试端口suspend=y : 服务端启动时会等待客户端链接,n:服务端启动不会等待客户端链接
2013-12-22 15:06:18 471
原创 一线架构师实践指南(二)
Conceptual Architecture阶段 有经验的架构师不会一上来就关注如何定义“接口”,他们在大型系统架构设计的早期比较注重识别重大需求、特色需求、高风险需求,据此来设计概念架构。概念架构是对系统设计最初构想,就是把最关键的设计要素和交互机制确定下来,然后考虑具体技术的运用,设计出实际架构。概念架构应该抓大局、不拘小节。虽然概念架构都跳不出“架构=组件+交互”的基本定义
2013-09-20 22:41:56 1582
原创 一线架构师实践指南(一)
绪论 从本质上,架构设计是需求驱动的,而不是模型驱动的。但当很清楚需求却依然设计不出架构时,就说明“需求驱动的架构设计”的总结还“缺点什么”。架构设计是一门艺术,不可能把“一桶需求”倒进某台神奇的机器,然后等着架构设计自己被“加工生成”完毕,因此“需求驱动的架构设计”的总结给架构师的启发不够。那缺点儿什么呢?答案是“人的因素”、“架构师的因素”。 质疑意识,是架构师
2013-09-08 22:19:09 1834 1
原创 注重实效的程序员——途径篇
提示11:DRY - Don't Repeat Yourself不要重复你自己不管原因是什么,维护都不是时有时无的活动,而是整个开发过程中的例行事务。当我们进行维护时,我们必须找到并改变事物的表示——那些嵌在应用中的知识胶囊。问题是,在我们开发的规范、过程和程序中很容易重复表述知识,而当我们这样做时,我们时在向维护的噩梦发出邀请——在应用发布之前就会开始的噩梦。可靠的软件开发、并让
2013-08-22 13:13:45 954
原创 注重实效的程序员——哲学篇
注重实效的程序员的特征:早期的采纳者/快速的改编者好奇批判的思考者有现实感多才多艺注重实现的程序员的特征是他们在处理问题、寻求解决方案时的态度、风格、哲学。他们成功 另一关键是他们对他们所做的每件事情负责。大多数人都很难接受变化,有时是出于好的理由,有时只是因为固有的惰性。理解你的工作的语境的好处之一是,了解你的软件必须有多好变得更容易了。有时接近完美是唯一的选择,但常常会涉及各种
2013-08-14 22:05:15 605
原创 MySQL更新时Error Code:1093和Error Code:1175的解决办法
Error Code: 1093. You can't specify target table 'ws_product' for update in FROM clause这个是我们在使用update或者delete语句时,在where条件里面加入的子查询导致的。例如如下的update语句:update table set type = 'static' where id in (s
2013-08-14 21:54:07 3161
原创 Java多线程模式(四)【完】
FutureTwo-Phase TerminationThread-Specific StorageActive Object
2013-08-11 00:06:52 1751 1
原创 Java多线程模式(三)
Read-Wirte Lock PatternThread-Per-Message PatternWorker Thread Pattern
2013-08-08 23:38:07 1179
原创 Java多线程模式(二)
Guarded Suspension Pattern 该模式描述的是当一个线程在执行某个操作时,但由于其他资源还没有准备好,需要等待,那么就等待资源准备好才开始自己的操作。我们直接看代码例子:public class Request { private String name; public Request(String name) {
2013-08-08 00:28:38 1101
原创 Java多线程模式(一)
Java多线程基础Thread类的run方法和start方法 Java语言写成的程序一定是先从主线程开始操作,所以必须在程序的某个位置启动新的线程,才能算是真正的多线程程序。start()方法是Thread类的方法,调用start()方法,就会启动新的线程。请注意,被调用来启动线程的是start()方法,而非run()方法。调用start()方法之后,Java执行处理系统会在背
2013-08-04 00:14:19 1738 1
转载 转一篇不错的一致性Hash的文章
原文地址:http://zha-zi.iteye.com/blog/1260377consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在cache 系统中应用越来越广泛;1 基本场景比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个
2013-08-02 15:23:31 410
原创 Maven assembly插件输出文件乱码问题
使用Maven的artifactId>maven-assembly-pluginartifactId>插件导致输出的XML配置文件源文件的中文注释变成乱码,排查了多个地方并尝试解决,都没有发现和解决问题,包括在POM文件中指定编译编码和文件编码为UTF-8都无效:plugin>artifactId>maven-compiler-pluginartifactId>version>2.
2013-07-30 14:02:51 1338
原创 两个关于XML解析报错问题小记
Caused by: org.xml.sax.SAXParseException: The string "--" is not permitted within comments. XML文件的注释()中包含了字符串"--",例如 draft表数据不进入VSearch>ref bean="draftProductAssemble"> -- draft表-->整个
2013-07-30 12:48:35 1224
原创 《软件架构设计》学习笔记&摘录(七)——程序员成长篇【完】
在进行面向对象设计的时候不要受到过多OOP编程语言级细节的干扰,就是要有在设计之时将OOP细节忘却的能力。在不同层面思考,需要考虑不同的问题。OOD应更多地将精力放在职责的划分、变化点的隔离、交互机制的确定等问题上。不能忘却OOP级的编程细节,就无法真正在OOD层面上思考。 封装、继承、多态是OO的三大特性(笔者的理解是:封装是思想,继承是手段,多态是效果)。但是,不少人对继承的理
2013-07-27 14:58:38 673
原创 《软件架构设计》学习笔记&摘录(六)
细化架构设计 多视图方法不仅仅是架构归档技术,更是指导我们进行架构设计的思维方法。将不同涉众关心的技术堆砌到一起,每个涉众都有可能看不懂了。另外,软件架构设计必须围绕“如何构建软件”制定多方面的设计决策,可能涉及的概念有很多:逻辑层(Layer)、物理层(Tier)、子系统、模块、接口、进程、线程、消息、协议,等等。基于之前介绍的5视图的架构设计方法,是解决上述两个问题的卓有成效
2013-07-17 20:11:52 1279 1
原创 《软件架构设计》学习笔记&摘录(五)
领域建模 分析的另一种重要产品是领域模型,其目标是使负责该系统基本行为的所有核心类可视。 软件的核心是它为用户解决领域相关问题的能力。 模型的选择会影响最终产生的系统的灵活性和可重用性。 由内而外早就软件。忽视了领域模型这个“内”,而仅重视编写程序这个“外”,多半是要出问题的。在对象开发过程中一个很重要的原则就是:要设计软件,使得软件
2013-07-13 00:26:27 1703
原创 《软件架构设计》学习笔记&摘录(四)
需求分析 那些没有经验的问题解决者们,几乎无一例外,都是去匆忙地寻找解决办法,而不是先给要解决的问题下定义。 什么是软件需求?什么是需求捕获、需求分析和系统分析?需求描述了系统必须满足的情况或提供的能力,它就可以是直接来自客户需要,也可以来自合同、标准、规范或其他有正规约束力的文档。需求的捕获是获取知识的过程,知识从无到有、从少到多。需求分析是挖掘和整理知识的
2013-07-06 00:12:34 13298 5
原创 《软件架构设计》学习笔记&摘录(三)
成功的架构设计好的架构应当具有如下品质:良好的模块化。每个模块职责明晰,模块之间松耦合,模块内部高聚合并合理地实现了信息隐藏。适应功能需求的变化,适应技术的变化。应该保持应用相关模块和领域通用模块的分离,技术平台相关模块和独立于具体技术的模块相分离,从而达到“隔离变化”的效果。对系统的动态运行有良好的规划。对数据的良好规划。明确、灵活的部署规则。 软件架构师的工作成功要
2013-07-06 00:11:29 2830
原创 《软件架构设计》学习笔记&摘录(二)
软件架构视图 方法指导过程,过程包含步骤。 所谓软件架构就是关于如何构建软件的一些最重要的设计的决策,这些决策往往是围绕将系统分为哪些部分、各部分之间如何交互展开的。不同的涉众看待软件架构的视角是不同的。软件架构是抽象的概念,所以在软件架构概念与实践之间,似乎存在某种“鸿沟”——即缺失某种概念,而这种概念可以“链接”软件架构的概念和实际的开发实际的需要,为不同涉众理
2013-05-18 23:39:25 2300
原创 《软件架构设计》学习笔记&摘录(一)
架构的概念 在软件行业,架构的概念一直没有一个完整、统一的定义,软件架构的概念分为主要量大派别:组成派和决策派。组成派认为软件架构是:软件系统的架构将系统描述为计算组件及组件之间的交互,“组件”是广泛意义上的元素,并不是指具体的技术组件。组成派的定义关注架构实践中的客体——软件,以及软件本身为描述对象;另外分析了软件的组成,即软件由承担不同计算任务的组成组件,这些组件通过相互交互完
2013-05-17 23:45:56 2988
原创 使用Spring配置AOP拦截的常用方式
废话少说,直接上Spring的配置文件<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" x
2013-05-14 23:47:58 1052
原创 设计模式Java实现(五)【完】
备忘录模式(Memento Pattern)备忘录模式能够在不破坏封装的前提下,捕捉对象的内部状态,并将该状态保持在对象外部,这样对象以后就可以很容易的恢复到原先保存的状态。备忘录模式涉及三个角色:发起人(Originator)角色,负责人(Caretaker)角色和备忘录(Memento)角色。三者之间的关系如下:Java版本的代码实现可以在这里下载。状态模式(Sta
2013-05-07 00:20:03 979
转载 深入理解Java内存模型
深入理解Java内存模型(一)——基础深入理解Java内存模型(二)——重排序深入理解Java内存模型(三)——顺序一致性深入理解Java内存模型(四)——volatile深入理解Java内存模型(五)——锁深入理解Java内存模型(六)——final深入理解Java内存模型(七)——总结
2013-05-02 23:51:17 976
原创 设计模式Java实现(四)
桥梁模式(Bridge Pattern)桥梁模式是使用频率不高的一种设计模式,但是是一种“威力”很大的模式。该模式的意图为“将抽象和实现解耦,各种的变化不影响对方”。这里的“抽象”和“实现”不是指传统意义上的父类与子类的关系,恰恰相反,该模式就是认为传统的父与子的继承关系太过耦合,相互的变化都会影响到彼此,为解决该问题,才提出的一种解决方案。这里可以下载桥梁模式的Java实现版本。如下
2013-05-02 23:07:34 591
原创 设计模式Java实现(三)
门面模式(Facade Pattern)由于客户端需要调用多个系统才能完成一件业务操作,所以客户端需要感知多个子系统,并依赖这些子系统。门面(Facade)的作用就是聚合这些子系统,由门面对外提供接口,客户端只需要感知和依赖门面即可,无需再依赖其他子系统。门面模式的设计和实现都很简单,这里可以下载门面模式的Java实现版本。门面模式的UML类图如下:享元模式(Fly
2013-05-01 13:01:23 612
原创 设计模式Java实现(二)
适配器模式当我们有一个可以立即使用的类时,由于不符合客户端使用的接口时,我们需要创建一个适配器(adpter),以使当前可用的类能够被客户端对象使用。而在适配已有类时,存在两种方法,一种是通过继承的方式来适配,一种是通过引用(组合)的方式来适配,前者叫类适配,而后者加对象适配。适配器的两种Java实现在这里可以下载。以下是类适配的UML类图:以下是对象适配的UML类图:
2013-04-30 01:01:31 542
原创 设计模式Java实现(一)
工厂模式工厂模式在实践中有如下三种常用:简单工厂(Simple Factory)、工厂方法(Factory Method)和抽象工厂(Abstract Factory)。其中Simple Factory并不是GoF提出的23种设计模式之一,但由于其实现简单所以也被广泛使用。以下是三种工厂模式的类设计图和Java代码实现(点击这里下载):简单工厂类设计图:工厂方法
2013-04-20 16:47:01 846
原创 JavaEE设计模式之表示层模式
MVC(模型—视图—控制器)模式MVC将用户接口问题分割为三个截然不同的部分:模型、视图和控制器。模型存储应用的状态。视图解释模型中的数据并将它展示给用户。最后控制器处理用户的输入。因为表示层是请求驱动的,所以“用户”可以是任意请求的发起者。控制器处理该请求。模型就是业务数据,而视图就是最终发生的应答。控制器是与请求发生联系的起点。控制器就是一个主管,首先规划要做哪些更新和要显
2013-04-20 14:26:09 987
原创 好记性不如烂笔头
删除当前目录以及子目录下所有的.svn文件夹:find . -name ".svn" -type d | xargs rm -rf查询当前目录以及子目录下所有的扩展名为log的文件中包括abc字符串的文件:find . -name "*.log" -type f | xargs grep "abc"解压jar包:jar -xvf *.jar将 foo
2013-04-16 10:53:03 483
原创 MySQL InnoDB存储引擎锁机制实验
之前的文章提到MySQL的InnoDB存储引擎使用的是行级锁,并且默认的事务隔离级别为可重复读,而不同于Oracle默认的事务隔离级别提交读。那么MySQL的InnoDB存储引擎的锁机制的具体表现是怎样的呢?实验如下:首先建立一张测试使用的表:CREATE TABLE`test_innodb_lock` ( `a` int(11) DEFAULT NULL, `b` varch
2013-04-04 21:36:13 762
MySQL InnoDB存储引擎锁机制实验
之前的文章提到MySQL的InnoDB存储引擎使用的是行级锁,并且默认的事务隔离级别为可重复读,而不同于Oracle默认的事务隔离级别提交读。那么MySQL的InnoDB存储引擎的锁机制的具体表现是怎样的呢?实验如下:首先建立一张测试使用的表:CREATE TABLE`test_innodb_lock` ( `a` int(11) DEFAULT NULL, `b` varchar...
2013-04-04 21:36:00 86
转载 【转】详解Java解析XML的四种方法
XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便。对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Document Type Definition),SAX(Simple API for XML),XSD(Xml Schema Definit
2013-04-02 23:26:13 520
Groovy入门教程
2012-08-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人