自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (1)
  • 收藏
  • 关注

转载 思辨领域模型--DDD≠数据库关系模型

Eric Evans的《领域驱动设计》问世已经14年之久,到今天几乎所有业务团队都或多或少有涉及DDD。然而如果较真会发现,认真遵循DDD设计原则的团队仍是少数,在多数团队的现都是:领域模型=数据库关系。DDD崇尚的是oo式表达,也就是常说的充血模型,对以关系型数据库实体关系为中心的关系模型甚至是可以用鄙夷来形容。数据库关系模型以数据库关系指导编程实践,是关系对程序的外延入侵,是预假设关系...

2018-12-28 17:51:57 270

转载 docker-compose搭建golang本地开发环境

目前仅使用到mysql,golang, redis目录结构: 1 2 3 4 5 yin5th@yin5th:~/code/docker/compose-golang$ tree . ├── docker-compose.yml └── golang └── Dockerfile ...

2018-12-27 17:13:51 5159 1

转载 在前后端分离Web项目中,RBAC实现的研究

最近手头公司的网站项目终于渐渐走出混沌,走上正轨,任务也轻松了一些,终于有时间整理和总结一下之前做的东西。以往的项目一般使用模板引擎(如ejs)渲染出完整页面,再发送到浏览器展现。但这次项目的处理方式不同,整个项目由前端AngularJS和后端NodeJS进行了前后端的分离。后端Nodejs提供静态文件服务和API接口,前端则通过AJAX请求调用后端的API,已JSON数据包来进行数据交换。...

2018-12-26 15:35:34 463

转载 vscode配置php开发环境

1.visual studio code 设置代理在CMD环境下设置代理可能不是很常用,但是某些情况下还是可能会用到,比如有些资源网站被墙了,此时你如果想访问这些资源时,只能通过代理来访问相应的资源,而你需要在CMD环境下下载墙外的资源时。当然,如果你使用某些代理软件为所有通讯设置了代理,那就不需要这些设置了。为CMD设置代理很简单,首先打开cmd然后输入如下命令:set http_prox...

2018-12-25 14:10:59 3727

转载 吐血推荐Windows上的包管理软件chocolatey

Ubuntu上安装软件是apt-get install xxx,Mac一般都推荐装个brew之后,brew install xxx,那么来到Windows的时间就开始抓狂了,找下载链接下载exe,然后exe安装完了之后有些东西还要配置什么鬼环境变量(不用问我是撒了)。问题来了,难道Windows没有好用的软件包管理工具呢?(360软件管家、腾讯软件管家蠢蠢欲动...死变态,一边去!...

2018-12-21 11:58:57 2095 1

原创 phpstrom激活

激活插件:https://github.com/pengzhile/atlassian-agent    选license server,填http://jetbrains-ls.net    Help -> About看一下  

2018-12-21 10:39:14 1051

转载 团队工具推荐(产品研发篇)

基础协作代码托管平台推荐 GitHub Enterprise 能接受价格并且做好翻墙准备(不翻墙速度略慢)GitHub Enterprise CODING 价格低且访问快的国内平台,分团队版和企业版:CODINGCODING Enterprise 对数据安全性有很高的要求,自行搭建: GitLab Community Edition GitHub Enterprise...

2018-12-21 09:46:20 860

原创 CI/CD 持续集成分支模型

CI/CD 持续集成分支模型1. git flow优势:1)隔离性好,所有功能都有对应分支,开发和测试工作互相不干扰,发布进程不受其他未开发功能干扰2)分支职责明确 对应分支做对应的事情缺点:1)集成周期过长,同时又大功能在各自分支上开发,每个功能开发周期都不短 功能分支间的合并与集成十分痛苦 《持续集成》这一本书中观点来看,这甚至算不上持续集成。2)会存在重复...

2018-12-20 15:16:41 911

翻译 在win 10关闭并启动后,Docker将无法启动容器

预期的行为 在正常情况下击败胜利10并且正在运行码头工作之后,在启动胜利10之后,码头工人应该正常运行。 实际行为 启动容器失败,出现以下情况:来自守护程序的错误响应:无法重新启动容器my_container:驱动程序无法在端点上编程外部连接my_container(782f444833c57027050a58f8c0302473f76d9029a50944960d...

2018-12-20 10:21:39 4720

原创 rabbitmq 初次使用

rabbitmq 初次使用 目标:1.使用rabbitmq UI 界面步骤:1.https://blog.csdn.net/zheng911209/article/details/49949303 e.g.#查询用户列表 ./rabbitmqadmin -f long list users  --username=teleinfo --password=12...

2018-12-18 17:24:53 419

转载 ubuntu18.04(python3.6)安装pip3报错:ImportError: cannot import name 'sysconfig'

1、错误描述启动pip3时报错:Traceback (most recent call last): File "get-pip.py", line 20649, in main() File "get-pip.py", line 197, in main bootstrap(tmpdir=tmpdir) File "get-pip.py", li...

2018-12-18 16:26:33 2369

转载 docker-compose安装rabbitmq 集群和管理工具

单机版rabbit1: image: rabbitmq:management hostname: rabbit1 ports: - "4369:4369" - "5671:5671" - "5672:5672" - "15671:15671" - "15672:15672" environment: - RABBITMQ_DEFA...

2018-12-18 15:30:42 1392

转载 Windows下如何进入Docker容器镜像内部

版本说明:Docker18.03.1 @ Win10 专业版 1、查看容器ID : docker ps -a 2、启动容器 docker start ef34f4dffb31 3、进入容器 docker exec -it ef34f4dffb31 /bin/bash参考文献:https://zhuanlan.zhihu.com/p/37687743...

2018-12-18 15:18:57 12076

原创 Docker for Windows (Linux Container) 使用代理

前提:在国内环境,因为某种原因,使用docker下载image非常缓慢。因此,为了更好的下载效率,需要使用代理。所需条件:1. VPS(offshore)2. ss遇到的坑: 这样设置后,发现并没有生效。理由如下:docker loginusername: ***password: *** 提示连接被拒绝。原因:docker MobyLinuxVM...

2018-12-18 15:00:15 6078

转载 如何写好单元测试(php程序猿)

phpunit单元测试(demo):https://github.com/qq1060656096/phpunit-test百度经验地址:http://jingyan.baidu.com/article/597a0643239f36312b524386.html很多没写个单元测试的朋友,总觉得单元测试很难,还增加了工作了,或者把单元测试环境搭好了,也写了很多单元测试,越写越累,感觉代码质量...

2018-12-17 16:54:44 3093

转载 使用jwt完成sso单点登录

JWT在了解jwt之前,先了解一下常用的会话管理基于server-session的管理方式 cookie-based的管理方式 token-based的管理方式一.基于server-session的管理服务端session是用户第一次访问应用时,服务器就会创建的对象,代表用户的一次会话过程,服务器为每一个session都分配一个唯一的sessionid,以保证每个用户都有一个不同...

2018-12-17 15:12:41 14128 2

转载 golang 多核编译

go help build构建编译由导入路径命名的包,以及它们的依赖关系,但它不会安装结果.使用go build [-o 输出名] [-i] [编译标记] [包名]如果参数为***.go文件或文件列表,则编译为一个个单独的包。当编译单个main包(文件),则生成可执行文件。当编译单个或多个包非主包时,只构建编译包,但丢弃生成的对象(.a),仅用作检查包可以构建。当编译包...

2018-12-17 10:11:04 2430 1

转载 php 的 opcache 和最近的 php jit 有什么区别?

源代码(人认识)->字节码(解释器认识)->机器码(硬件认识)来看下PHP的执行流程,假设有个a.php文件,不启用opacache的流程如下:a.php->经过zend编译->opcode->PHP解释器->机器码启用opacache的流程如下a.php->查找opacache缓存,如果没有则进行zend编译为opcode并缓存->opacod...

2018-12-17 10:01:35 725

转载 MySQL中的重做日志(redo log),回滚日志(undo log),以及二进制日志(binlog)的简单总结

MySQL中有六种日志文件,分别是:重做日志(redo log)、回滚日志(undo log)、二进制日志(binlog)、错误日志(errorlog)、慢查询日志(slow query log)、一般查询日志(general log),中继日志(relay log)。其中重做日志和回滚日志与事务操作息息相关,二进制日志也与事务操作有一定的关系,这三种日志,对理解MySQL中的事务操作有着重要...

2018-12-14 12:02:25 102

转载 美团点评SQL优化工具SQLAdvisor开源

美团点评SQL优化工具SQLAdvisor开源 在数据库运维过程中,优化 SQL 是 DBA 团队的日常任务。例行 SQL 优化,不仅可以提升程序性能,还能够降低线上故障的概率。 目前常用的 SQL 优化方式包括但不限于:业务层优化、SQL逻辑优化、索引优化等。其中索引优化通常通过调整索引或新增索引从而达到 SQL 优化的目的。索引优化往往可以在短时间内产生非常巨大的效果。如果能够将索引优化转...

2018-12-14 11:28:50 199

转载 MySQL存储引擎中的MyISAM和InnoDB区别详解

在使用MySQL的过程中对MyISAM和InnoDB这两个概念存在了些疑问,到底两者引擎有何分别一直是存在我心中的疑问。为了解开这个谜题,搜寻了网络,找到了如下信息:MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transa...

2018-12-13 17:08:42 117

转载 分布式memcache 一致性哈希算法(采用环状数据结构)

 <?php #分布式memcache 一致性哈希算法(采用环状数据结构) class ConsistentHashMemcache { private $virtualNode=''; #用于存储虚拟节点个数 private $realNode=array(); #用于存储真实节点 private $servers=array();...

2018-12-13 16:19:10 274

转载 微服务入门权威指南

本文将介绍如下内容: 微服务概述 1.1 易于扩展 1.2 部署简单 1.3 技术异构性 数据库的服务化切分 2.1 什么是“分库分表”? 2.2 数据库扩展的几种方式 2.3 分库分表的几种方式 2.4 引入分库分表中间件后面临的问题 2.5 现有分库分表中间件的横向对比 微服务架构中的分布式事务 3.1 什么是事务? 3.2 事...

2018-12-13 16:11:56 179

转载 近期要看的书

https://item.jd.com/13087952845.htmlhttps://item.jd.com/12176278.htmlhttps://item.jd.com/12204869.html

2018-12-13 14:41:04 110

转载 微服务的4个设计原则和19个解决方案

微服务架构现在是谈到企业应用架构时必聊的话题,微服务之所以火热也是因为相对之前的应用开发方式有很多优点,如更灵活、更能适应现在需求快速变更的大环境。本文将介绍微服务架构的演进、优缺点和微服务应用的设计原则,然后着重介绍作为一个“微服务应用平台”需要提供哪些能力、解决哪些问题才能更好的支撑企业应用架构。微服务平台也是我目前正在参与的,还在研发过程中的平台产品,平台是以SpringCloud为基础...

2018-12-13 11:53:05 252

转载 YII框架之模块,事件,行为,依赖注入容器,服务定位器

本篇内容中有以下问题待研究:依赖注入容器中的 Setter 和属性注入 以及 PHP 回调注入 的应用场景 然后行为,事件,依赖注入容器等实现的原理是什么? 事件 on的第三参数有什么用? 自动更新时间戳的行为TimestampBehavior是什么原理?模块可以通过 r=gii%2Fdefault%2Fview&id=module 来生成Module Class:ap...

2018-12-13 10:36:48 359

原创 php 垃圾回收机制

php 垃圾定义是否有变量名指向变量容器zval,如果没有则认为是垃圾,需要释放。 判断是否为垃圾php5.3 前 refcount = 0 才认为是垃圾产生内存泄漏主要真凶:环形引用 <?php $a = ['one']; $a[] = &$a; xdebug_debug_zval('a');这样 $a数组就有了两个元素,一个索引为0,值为one字符...

2018-12-12 17:26:45 786

转载 基于极数云舟Arkgate跨云数据库异地双活实战

1业务背景 随着O2O消费深入人心,我们公司的业务也迅速发展,目前已经服务了全国大部分城市里面的近2000万个家庭,家庭服务已经成为解决社会劳动力的一个重要渠道,也是方便千家万户的一项利国利民的大好事。在不断发展的过程中,公司对业务服务质量,以及数据安全,数据库可用都非常重视,这是我们的核心资产。 我们大量使用了公有云服务,这也包括公有云上的数据库服务,最近由于公司全国性发展的...

2018-12-12 16:45:32 730

转载 Laravel Migrations的migrate与rollback

php artisan make:migration create_admin_user_table <?phpuse Illuminate\Support\Facades\Schema;use Illuminate\Database\Schema\Blueprint;use Illuminate\Database\Migrations\Migration;class ...

2018-12-11 16:59:56 557

转载 完整的从github上拉Laravel项目流程

先来看一看了:   https://mobile.yangkeduo.com/mall_page.html?mall_id=129221094.Github鼎鼎大名相信大家都知道。那么今天我们一起来学习一下如何使用Git Clone命令来将已有的Laravel项目迁移(复制)到新的开发环境。首先在原始项目文件夹(假设我们的分支是master),我们把所有的更改commit后push到远端(...

2018-12-11 10:32:27 1537

转载 Docker: 限制容器可用的 CPU

默认情况下容器可以使用的主机 CPU 资源是不受限制的。和内存资源的使用一样,如果不对容器可以使用的 CPU 资源进行限制,一旦发生容器内程序异常使用 CPU 的情况,很可能把整个主机的 CPU 资源耗尽,从而导致更大的灾难。本文将介绍如何限制容器可以使用的 CPU 资源。本文的 demo 中会继续使用《Docker: 限制容器可用的内存》一文中创建的 docker 镜像 u-stress 进行...

2018-12-10 11:35:09 713

转载 docker 增加cpu线程数

Docker命令小结基本命令docker rundocker run 容器标识 : 运行容器,该命令实际上是 docker create 和 docker start 的组合。 docker run 容器标识 命令 : 容器启动时执行相应的命令。-ddocker run -d 容器标识 : 以后台守护进程形式运行容器。-itdocker run -it 容器标识 : 以交...

2018-12-10 11:28:23 10243

转载 Linux编译安装ffmpeg(两个字形容“恶心”)以及循环播放本地视频命令

系统版本:Centos7循环播放本地视频ffmpeg -re -stream_loop -1 -i /root/rtmp/video/sss.mp4 -vcodec copy -acodec copy -f flv rtmp://0.0.0.0:1935/live/test11/root/rtmp/video/sss.mp4是本地视频所在位置;0.0.0.0是本地ip;test1是自...

2018-12-06 18:04:37 631

转载 漫话:如何给女朋友介绍什么是死锁

周五下班比较早,刚刚回到家,女朋友蹦蹦跳跳的捧着电脑朝我跑过来,看起来很高兴的样子。  跟你说个好消息,杭州市政府公布了公证摇号的政策细则。   买房摇号的么?那算什么好消息啊。  可以摇号了就公平了呀,就有机会了呀。并且还有倾斜呢。    人家说的是对“无房家庭”给予倾斜,提供一定比例的房源保障。我们可不算哦。  ...

2018-12-06 15:55:18 168

转载 死锁的产生、防止、避免、检测和解除

死锁的产生条件:想知道死锁怎么产生,首先要了解什么是死锁一、死锁的定义:多个进行相互等待对方资源,在得到所有资源继续运行之前,都不会释放自己已有的资源,这样造成了循环等待的现象,称为死锁。二、产生死锁的四大必要条件:①资源互斥/资源不共享每个资源要么已经分配给了一个进程,要么是可用的,只有这两种状态,资源不可以被共享使用,所以所谓的互斥是指:资源不共享,如果被使用,只能被一...

2018-12-06 14:39:11 287

转载 Laravel 5.6 中优雅的管理 swoole 进程

php artisan make:command SwooleManger //默认在app/Console/Commans目录下创建SwooleManger.php文件。 <?php namespace App\Console\Commands; use Illuminate\Console\Command; use Illuminate\Sup...

2018-12-06 14:04:55 784

原创 k8s

参考文献:https://jimmysong.io/kubernetes-handbook/conceptshttps://www.kubernetes.org.cn/doc-11https://github.com/kubernetes/kuberneteshttps://github.com/kubernetes/kubernetes/blob/master/CHANGELOG...

2018-12-04 18:04:40 166

转载 mysql: show processlist 详解

最近排查一些MySQL的问题,会经常用到 show processlist,所以在这里把这个命令总结一下,做个备忘,以备不时只需。show processlist 是显示用户正在运行的线程,需要注意的是,除了 root 用户能看到所有正在运行的线程外,其他用户都只能看到自己正在运行的线程,看不到其它用户正在运行的线程。除非单独个这个用户赋予了PROCESS 权限。root用户,可以看到...

2018-12-04 16:59:50 743

转载 MySQL并发更新数据加锁处理

前阵子一个项目中涉及到了对MySQL数据的并发更新,对于同一个数据记录,使用了并发工具进行测试,结果数据被改乱了。原因是没有对MySQL的数据行进行加锁。而当时我使用的SQL语句类似如下:UPDATE table1 SET num = num + 1 WHERE id=1;天真的我以为只要是UPDATE关键字操作,MySQL就会自动给条件行加锁。很显然这条语句没有成功加锁,所以我放弃了MyS...

2018-12-04 16:50:30 1695

转载 MySql中表锁Lock命令和unlock命令

MySQL LOCK 命令的语法如下LOCK TABLE table1 locktype, table2 locktype ...对一个表解锁:UNLOCK TABLE[S]如:lock table car write;select * from car;unlock table;解锁命令不需要额外的参数,UNLOCK 将解除该用户所有的锁。因为 LOCK 锁阻...

2018-12-04 16:41:33 6554

架构图666.drawio

架构图666.drawio

2021-02-22

空空如也

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

TA关注的人

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