- 博客(71)
- 收藏
- 关注
原创 领域驱动设计
如果你对自己要开发的业务领域没有清晰的定义和边界,没有设计系统的领域模型,而仅仅跟着所谓的需求不断开发功能,一旦需求来自多个方面,就可能发生需求冲突,或者随着时间的推移,前后功能也会发生冲突,这时你越是想弥补这些冲突,就越是陷入更大的冲突之中。软件只有需求分析,并没有真正的设计,系统没有一个统一的领域模型维持其内在的逻辑一致性,功能特性并不是按照领域模型内在的逻辑设计,而是按照各色人等自己的主观想象设计,项目时间一长,各种困难重重,需求不断延期,线上 bug 不断,管理者考虑是不是推倒重来,而程序员则考虑
2020-12-22 22:37:07 276 2
原创 行业语录·202012
简洁的设计需要在工作开始的时候舍弃不必要的想法,并且在软件的生命周期内严格区分好的改变或坏的改变。架构师通过搭建系统来解决业务问题,主要工作就是设定目标,通过架构业务和架构自己周边的组织来实现目标,只有成为架构师,他才可以做出正确决策,产生有效的业务结果,释放影响力。所有人,都需要足够的数据,这样才能把模型交给我们的东西应用起来。从某种意义上说,专业的程序员和专业作家是一类人,一个用自然语言创作,一个用计算机语言。人和人、企业和企业之间的巨大鸿沟,不是来源于天赋和努力,而是来源于是否理解系统并且依赖
2020-12-18 16:24:35 304 3
原创 Go语法·类型选择(type switch)
go 中的类型选择(type switch),先看示例:var i interface{}// 这里的 v 是类型的值switch v := i.(type) {case T: // 值 v 的类型为 Tcase S: // 值 v 的类型为 Sdefault: // 没有匹配,v 的类型与 i 的底层值类型相同,只是没有确定具体是哪个类型}解释:go中的类型选择(type switch)是一种按书序从几个类型断言(type assert)中选择分..
2020-12-05 11:37:48 2323
原创 解决go get i/o timeout的问题
问题表现使用 go get -u golang.org/x/tour/pic 遇到报错:package golang.org/x/tour/pic: unrecognized import path "golang.org/x/tour/pic": https fetch: Get "https://golang.org/x/tour/pic?go-get=1": dial tcp 216.239.37.1:443: i/o timeout诊断网络问题,golang.org需要科学上网才能访问
2020-12-04 22:21:15 2857
原创 Java基础知识·对象与类
面向对象程序设计概述早期的 Pascal 语言采用 算法+数据结构=程序 的视角,把算法放第一位,数据结构是第二位的,而 OOP 相反,把数据放在第一位,然后再考虑操作数据的算法 Java 编写的所有代码都位于某个类的内部 实现封装的关键在于绝对不能让类中的方法直接地访问其他类的实例域,程序仅通过对象的方法给对象数据发送消息 对象的行为(behavior),对象的状态(state),对象标识(identity) OOP 从设计类开始,没有类就无法做任何事情,然后再往每个类中添加方法,在分析问题的
2020-12-04 12:20:26 99
原创 Java基础知识·基本程序结构
Java 源文件的文件名称必须与公共类的名称相同 main 方法必须声明为 public 8 种基本类型(priviate type),其中 4 种整型(整数),2 种浮点类型(有小数部分的数值),1 种用于表示 Unicode 编码的字符单元的字符类型 char,和 1 种用于表示真值的 boolean 类型 4 种整型:byte(1字节),short(2字节), int(4字节), long(8字节)。在 Java 中,整型的范围运行 Java 代码的机器无关 long型数值后有一个后缀 L,.
2020-12-03 22:01:16 265
原创 Java基础知识·运行环境
JRE(Java Runtime Environment):Java 运行时环境,包含虚拟机和类库,但不包含编译器。这不是为开发者准备的,这是为专门不需要编译器的用户而提供的JDK(Java Development Kit):Java 开发工具箱,包含编译器和运行时环境...
2020-12-03 16:46:07 92
原创 Java基础知识·Java 概述
Java 不只是一种语言,Java 是一个完整的平台,有一个庞大的库,其中包含了很多可重用的代码合运行环境。Java“白皮书”:简单性、面向对象、分布式、健壮性、安全性、体系结构中立、可移植性、解释型、高性能、多线程、动态性面向对象的重点放在数据(即对象)和对象的接口上...
2020-12-03 16:07:51 113
原创 centos安装rvm & rails
centos安装rvm(Ruby Version Manager)安装依赖:yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison icon...
2017-09-16 14:36:29 984
原创 安装Markdown Pad for windows
安装Markdown Pad for windows下载软件安装包 https://markdownpad.com/download.html安装,完成后打开运行输入注册码Email: Soar360@live.comLicense key: GBPduHjWfJU1mZqcPM3BikjYKF6xKhlKIys3i1MU2eJHqWGImDHzWdD6xhMNLGVpbP2
2017-09-16 14:34:17 407
原创 一个小白眼中的计算机组成结构
虽然自己是计算机专业的,但是,自觉自己很菜,上大学之前只去过两次网吧而且只是登录QQ聊天,然后在高考后的暑假里借着镇上开的国家支持的再就业电脑培训班才接触到了五笔打字、简单的word/excel操作(镇上只有一个培训班而且可能政府的名额指标没有满(估计那些真正需要再就业的人会来学习的话,,估计也就不会失业了吧))。到了大一国庆节的时候我哥才给我配的电脑,台式机,所以无论是在基础概念上还是在实践上自
2017-03-30 21:25:33 600
原创 某厂软件培训之Java班
本周公司来学校开JAVA班的软件培训课程,主要讲解了软件开发测试流程、敏捷开发、JAVA编程规范、实战演练模拟地铁售票系统等;以下为课堂记录摘要;------------------------------------------------------Day1软件:自底向上发展模型软件开发流程预览:[
2017-03-17 22:09:00 452
翻译 Linux基础-Centos
在CentOS 7环境下安装chrome浏览器:在/etc/yum.repos.d/目录下新建文件google-chrome.repo,向其中添加如下内容:[google-chrome]name=google-chromebaseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearchenabled=1gpgche
2017-03-17 22:08:32 303
翻译 C++实现gethostbyaddr()函数
最近,项目组需要在C++类中对IP处理获得主机名,PHP中有gethostbyaddr()函数,这里C++类库中也是有这个函数的,之前查过一次没有调通乱码了,这次搞定了,下面直接贴代码:
2017-03-14 23:47:29 805
转载 【转】MySQL配置文件my.cnf 详解
http://www.blogjava.net/hunter129/archive/2009/01/18/251744.html
2017-03-14 23:46:26 294
转载 [转]字符编码笔记:ASCII,Unicode和UTF-8
http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html
2017-03-14 23:46:02 265
翻译 Centos下C++使用libcurl库调用HTTP请求实践
项目中有时候需要在C++代码里借助HTTP请求获取一些在C++里较难实现转换的数据,比如IP->Hostname的转换(这里如果你有更好的方法在C++里调用系统api实现这个功能的请一定要告诉小编哥哥哦~),下面是个人的一点简单实践,主要有:libcurl源码编译安装、Get方法发起请求保存到变量然后输出。编译安装libcurl:从官网http://curl.haxx.se/downl
2017-03-14 23:44:56 1932
翻译 centos6.5下svn服务器的简单搭建与使用
linux下搭建svn服务器的文章已经有很多了,这里仅记下自己最近使用的一些实践之谈,原理先不深究,供日后查阅用。安装:yum install subversion -y,可用rpm -ql subversion查看svn的安装目录,默认在/usr/bin目录下创建版本库:mkdir /path/to/reposvnadmin create /path/to/repo创
2017-03-14 23:43:50 1018
翻译 win7添加开机启动项
在注册表中添加就可以了。在开始——运行中输入regedit,展开HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run。在右边框中空白处右键新建一个字符串值(S)的键,把名字命令为你可添加程序的名字(可以随便取),把它的键值设置这个程序的完整路径。如"C:\windows\system32
2017-03-14 23:43:10 1784
转载 CentOS6.5手动升级gcc4.8.2
参考链接:http://www.centoscn.com/image-text/config/2015/0206/4643.html升级之前:升级之后:获取安装包并解压wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2tar -jxvf gcc-4.8.2.tar.bz2下载供编译需
2017-03-14 23:42:09 245
转载 一个程序员的Java和C++学习之路(转)
原文链接:http://blog.csdn.net/ajian005/article/details/8003655
2017-03-14 23:40:49 2977
转载 centos支持rar解压
原文链接:http://www.centoscn.com/image-text/install/2014/0314/2567.html[root@localhost ~]# wget http://www.rarsoft.com/rar/rarlinux-4.0.1.tar.gz[root@localhost ~]# tar -zxvf rarlinux-4.0.1.tar.gz
2017-03-14 23:39:55 346
翻译 Centos下用twemproxy搭建ssdb伪集群
前言依稀记得大二下的那个暑假参加的第二场面试,面的是唯品会一个和学校合作的到贵司进行为期两周学习的一个项目,面我的是PHP班的leader(X.C)(当时分3个方向,PHP,IOS,Android),面试过程中我表现一般,其中就记得问到我对Memcache,Redis缓存的掌握程度,在此之前只是听说过大概了解它们的意思,但没有去学习实践过,面完后我回去就把没答上来的问题一一记下来,后面还是通过
2017-03-14 23:37:53 944
翻译 centos6.5下Samba服务器搭建
前言当我们需要编辑在linux服务器上的文件又不想登录上服务器用vi编辑的时候,Samba服务器就是一个比较好用的工具啦!Samba服务器可以让你在windows上建立网络映射,然后可以在wins下使用sublime等编辑器进行编辑,更改会同步到远程服务器。安装Samba服务这里使用yum源安装:# yum install samba samba-client samba-swat
2017-03-14 23:37:08 576
转载 当尝试打开 /dev/mapper/centos-root 时 找不到有效的文件系统超级块.
原文链接 http://www.imooc.com/qadetail/100002?lastmedia=1这种情况是因为你的centos7的某些分区用的是xfs的文件系统 (使用df -T查看即可知道)tumpe2fs是用来看ext的!!!你使用该命令查看分区类型为ext的分区发现不会报错。然后关于如何查看xfs系统的磁盘状态:xfs_info 分区
2017-03-14 23:35:42 9837
翻译 Linux基础-Centos
在CentOS 7环境下安装chrome浏览器:在/etc/yum.repos.d/目录下新建文件google-chrome.repo,向其中添加如下内容:[google-chrome]name=google-chromebaseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearchenabled=1gpgche
2017-03-14 23:34:49 347
翻译 Memcached使用与实践
ubuntu下:sudo apt-get update,sudo apt-get install mysql-server php5-mysql php5 memcached php5-memcached php5-memcache或者centos:yum update yum install memcached 开启服务:systemctl restart memcached,systemctl
2017-03-14 23:32:41 260
转载 linux下各种格式的压缩包的压缩、解压方法
引用来自这里大致总结了一下linux下各种格式的压缩包的压缩、解压方法。但是部分方法我没有用到,也就不全,希望大家帮我补充,我将随时修改完善,谢谢! .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ——————————————— .gz
2017-03-14 23:31:13 389
翻译 用MySQL模拟消息队列
队列(queue)是一种先进先出FIFO的线性表结构,只允许在尾部插入和在头部删除。最近一两年火爆的团购秒杀等应用,其中的大并发是会把数据库压垮的,一个解决方法就是把HTTP请求放入内存中的高速队列,然后对队列里的数据按一定的规则进行分流处理,这就是HTTP请求队列。比如,微博和SNS通常拥有上亿的受众数量,一个明星或公众人物可能有几千万的粉丝,如果一个公众人物发了条微博,那么就得推送到所有关注者
2017-03-14 23:29:14 6447
翻译 MySQL存储过程和事件调度
SQL首先是一门编程语言,其次才是查询语言,利用SQL语言可完成复杂的数据库业务操作,这往往通过编写存储过程来实现。MySQL5支持存储过程、函数、视图、JOB等。WEB应用中经常会要求某个任务常驻内在或定期执行,PHP脚本在CLI模式下或设置了ignore_user_abort(true)后可无限时执行,或者在UNIX系统下可用Crontab命令去定时触发。如果只涉及单纯的数据库操作,MySQL
2017-03-14 23:28:30 1147
翻译 MySQL高级应用--视图
视图是一个虚拟表,其内容由查询定义。视图包含一系列和真实的表中一样名称的列和行数据,但是在数据库中视图并不以存储的数据值形式存在(这里仅针对MYSQL数据库而言,在Orcle中存在“物化视图”,视图本身还能存储数据)。行和列数据来自由定义视图的查询所引用的表并且在引用视图时动态生成。对其中引用的基础表来说视图的作用类似于筛选,筛选当前或其他数据库的一人或多个表或者其他视图,通过视图查询没有任何
2017-03-14 23:27:52 723
翻译 MySQL高级应用--自增长序列
MySQL中不常用但却能在关键时刻帮上大忙的应用有:序列,视图,存储过程等自增长系列MYSQL通过AUTO_INCREMENT自增长字段实现插入1条记录进行自动增加1,而这个功能在Oracle中是通过序列(sequence)完成的。MYSQL自增长“序列”和序列是两回事,MYSQL本身不提供序列机制,它使用AUTO_INCREMENT设置起始值,也能通过修改系统变量auto_i
2017-03-14 23:27:11 724
翻译 数据库应用优化(2)
数据库设计(1)范式与反范式:为规范DB设计在DB理论发展的过程中,逐渐形成了DB范式的理论,到目前为止有五大范式。到了第三范式通常已经能够满足业务需求了,表之间的关系也比较清晰容易维护。(2)反范式的提出:范式理论在20世纪70年代提出并在80拆借基本定型,那时候的系统的特征为:可用的存储器资源极其有限,并且网络不成熟能使用网络的人较少通常只涉及单机的计算性能,所以范式理论强调减少依赖/
2017-03-14 23:24:54 279
翻译 数据库应用优化(1)
PDO(PHP DATA OBJECT),PHP支持几乎市面上所有的数据库,但抽象度不免访问接口不够统一,所以PDO出现了,它提供了一个通用接口访问多种数据库,即抽象的数据库模型支持连接多种数据库,PDO扩展只是一个抽象层,本身不能实现数据库操作,必须使用一个特定的数据库PDO驱动访问数据库,从语法上PDO更接近MySQLi,之前学过PDO就不在这贴笔记了,只写一引起之前没学过的。PDO效率:PD
2017-03-14 23:24:15 260
翻译 《PHP核心技术与最佳实践》-Cookie-Session深入
Cookie是在远程浏览器端存储数据并以此跟踪和识别用户的机制。在实现上COOKIE是存储在客户端的一小段数据,客户端(比如浏览器)通过HTTP协议和服务器端进行COOKIE交互,COOKIE是HTTP头的一部分(即先发送COOKIE然后才是DATA域),COOIE独立于语言,PHP对COOKIE的操作是通过HTTP协议的'COOKIE'字段来向客户端(比如浏览器)发送命令,具体的管理由客户端(浏
2017-03-14 23:23:10 308
翻译 PHP使用PHPRPC协议调用JAVA类
SOAP(Simple Object Access Protocol,简单对象访问协议)随着厂商的不断竞争和设计,并由于传对象无法实现互通,SOAP逐渐改为传字符串,并最终被设计为传XML的WebServicePHPRPC协议:是一个轻型的、安全的、跨网际的、跨语言的,跨平台的、跨环境的、跨域的协议,支持复杂对象传输、引用参数传递,内容输出重定向、分级错误处理、会话,是面向服务的高性能远程过程
2017-03-14 23:22:13 2712
翻译 JavaMail发送邮件权限认证遇到的坑
要使用163邮箱发送邮件,需要开启邮箱中的客户端授权,并用在客户端的密码须是授权密码而不是像QQ那样是邮箱密码,否则不能通过验证。要将JAVAMAIL的mail的jar包放在目录的WEB-INF下面的lib目录下(jar包都放在这个目录下)
2017-03-14 23:20:25 2014
原创 记一次上万条数据的正确插入更新sql语句
不能直接在循环里检查更新和插入(还需要注意PHP内存的使用与释放防止用完资源),要使用PDO的事务操作一次提交多条查询(比如一次提交2000条查询语句),其中需要用到的两条比较重要的sql语句分别是:如果不存在则插入否则不插入,如果不存在则插入否则更新下面是两条语句的实例:程序代码语句和PDO一次多条查询的函数实例:最后,因为之前的语句是先判断再分发是否需要
2017-03-14 23:19:35 1743
原创 一次插入上万条数据遇到的问题
execution timeout解决:修改php.ini中的max_exection_timeout = 0,则运行时间无限,也可以设置一个较大值比如300504 Gateway timeout / nginx 1.8待解决: 是因为执行时间走出了 fastcgi_send_timeout、fastcgi_read_timeout,把这两个项的值相应的调大就可以了413 Reques
2017-03-14 23:19:03 767
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人