
知识杂谈
luyaran
像永远快乐的阳光,追求那至高无上的完美乐园。
展开
-
id取模分表分表
场景1 假设按用户id分2个库 每个库分10张表。分表策略1.用户id%2 确定库 用户id%3确定表。2.(用户id%(2*10))/ 10 取整确定库,(用户id%(2*10)%10确定表。2为最优秀方案连续存储。tempvar=user_id%(库数量*表数量)库=tempvar/表数量表=tempvar%表数量转载 2017-02-05 13:43:14 · 1852 阅读 · 0 评论 -
菜鸟双11“十亿级包裹”之战
前言每年的双11都在刷新物流的世界奇迹,但由于大数据和协同,每次都将看似不可能完成的任务加速完成。以2013年-2016年的一组数据为例,从签收时间看,2013年双11包裹签收过1亿用了9天,2014年用了6天,到2015年提速到了4天,2016年则进一步提速只用3.5天。菜鸟作为一家平台型公司,坚持不拥有一辆车、一个快递员,希望通过数据和技术,建设一个社会化协同的物流和供应链公司转载 2017-02-07 16:56:00 · 1340 阅读 · 0 评论 -
SQL注入
SQL注入 SQL注入,就是通过在系统UI界面的表单填写带有slq语言的特殊字符串对系统数据库进行攻击的一种SQL命令。简单点说,就是一个系统的安全性如果不够好的话,很容易被有心人利用SQL语言编写字符串对系统进行攻击。例子[plain] view plain copy print?Insert into TableName(field na转载 2017-02-08 08:50:36 · 282 阅读 · 0 评论 -
微信公众号开发使用测试号不能测试支付接口的解决方案
概述大家很清楚,在测试环境中公众号的app id是绝对不能和生产环境的app id相同!!!如果这个问题都不清楚的就应该面壁去。。。通常在测试环境上使用的的app id有两种,分别如下。 (1)公众号内提供的测试号 (2)另外一个公众号 对于测试环境使用另一个公众号,不存在不能测试支付的问题,主要这个公众号必须开通拥有权限。虽然有点浪费资源,但这方式最最简单直接,我们可转载 2017-02-08 16:51:24 · 9552 阅读 · 1 评论 -
快速搭建个人博客
前言从 Jekyll 到 GitHub Pages 中间踩了许多坑,终于把我的个人博客BY Blog搭建出来了转载 2017-02-13 08:38:54 · 316 阅读 · 0 评论 -
HEXO+Github,搭建属于自己的博客
由于文章排版样式问题,你可以直接【查看原文】,样式看起来会舒服些,有问题可以直接在我的个人博客 评论里问。这篇文章讲的是使用HEXO搭建个人博客,推荐下我的另外一篇 Jekyll搭建个人博客,简书链接地址。 经过各种找资料,踩过各种坑,终于搭建好了hexo,域名是在万维网上买的,我的hexo是3.1.1版本,hexo不同的版本,很多配置都不一样。好吧,废话不多说了,开始吧。转载 2017-02-13 08:41:18 · 334 阅读 · 0 评论 -
让你的Git水平更上一层楼的10个小贴士
最近,我们发表了关于Git基础知识和在团队中使用Git的教程。我们之前讨论的那些命令,已经足够让帮助一个开发者在Git世界里生存了。本篇文章,我们将尝试探索如何更有效的管理您的时间以及如何充分使用Git提供的各种功能。注意:本文中,一些命令包含含有方括号的部分(e.g.git add -p [file_name]).在这些例子中,您要在该处插入所需的数字,标示符等。而不需要保留方括号。1.转载 2017-02-21 16:47:42 · 275 阅读 · 0 评论 -
Git
安装GitGit的官方网站有关于在Linux,Mac或Windows上安装的详细信息。在这种情况下,我们将使用Ubuntu 13.04进行演示,在这里您可以安装Git apt-get。sudo apt-get install git初始配置让我们创建一个目录,我们将在其中工作。或者,您可以使用Git来管理现有项目之一,在这种情况下,您不会创建如下所示的演示目录。mkdir翻译 2017-02-21 16:50:58 · 317 阅读 · 0 评论 -
在团队环境中开始使用Git
“分布式”的概念意味着存在许多独立版本的单个项目,每个都有自己的历史。因此,Git是一个工具,可以帮助您与地理分布的团队合作。我们讨论了如何使用Git在上一个教程中管理文件,但目的是熟悉git(add,commit,push)的概念。现在你知道Git在本地是如何工作的,你就可以开始使用更高级的功能了。克隆该过程的第一步是从远程资源获取代码(假设已安装Git)。remote指代存储库或项翻译 2017-02-21 16:52:00 · 611 阅读 · 0 评论 -
微信小程序小组件:仿直播点赞气泡效果,基于Canvas
先撸一发效果图为敬:实现细节:1.JS:drawImage:function(data){[/align] var that = this var p10= data[0][0]; /* 三阶贝塞尔曲线起点坐标值*/ var p11= data[0][1]; /* 三阶贝塞尔曲线第一个控制点坐标值*/ var p12=转载 2017-02-13 20:41:41 · 2600 阅读 · 1 评论 -
什么是容器???
今天研究一下什么是容器??? 那么容器到底是什么呢?在csdn的论坛上人们众说纷纭:1)容器 和原意放东西的地方差不多,把链表了,数组一类的结构称作容器!2)在面向对象的编程中,你所面对的东西都叫对象,是想一下,来存放对象集合的东西叫什么?3)从特征上来看,容器主要分为顺序容器(list和vector)和关联容器(map和set)。通俗地说,vector就是可以自原创 2017-02-15 09:49:59 · 2502 阅读 · 0 评论 -
Git可视化极简易教程 — Git GUI使用方法
前言之前一直想一篇这样的东西,因为最初接触时,我也认真看了廖雪峰的教程,但是似乎我觉得讲得有点多,而且还是会给我带来很多多余且重复的操作负担,所以我希望能压缩一下它在我工作中的成本,但是搜索了一下并没有找到满意的教程,新的一年自己梳理一下自己的经验。可能男生们大神比较多,觉得Git是如此简单,便已觉得命令行操作就是SO EASY,甚至或许有看不起可视化这样面对低端用户的心理,好的,那您就当转载 2017-02-15 14:17:08 · 570 阅读 · 0 评论 -
PHP编码规范
为什么需要编码规范?为了提高工作效率,保证开发的有效性和合理性。为了提高代码可读性和可重复利用性,从而节约沟通成本。本文主要参考了 PEAR 规范,并进行适当的简化和调整。主要介绍,命名规范、注释规范、代码风格。文件标记所有PHP文件,代码标记均使用完整的PHP标签,不建议使用短标签。<?php echo 'Hello wor转载 2017-02-15 16:50:26 · 240 阅读 · 0 评论 -
PHP ob系列函数详解
一、 相关函数简介: 1、Flush:刷新缓冲区的内容,输出。 函数格式:flush() 说明:这个函数经常使用,效率很高。 2、ob_start :打开输出缓冲区 函数格式:void ob_start(void) 说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。 为了输出缓冲区的内容,可以使用ob_en转载 2017-03-13 10:07:34 · 834 阅读 · 0 评论 -
Git由浅入深之分支管理
几乎所有的版本控制系统都以分支的方式进行操作,分支是独立于项目主线的一条支线,我们可以在不影响主线代码的情况下,在分支下进行工作。对于传统的一些版本控制工具来说,我们通常需要花费比较多的时间拷贝主线代码,创建一个分支,并且对分支的管理效率也越来越不令人满意,而如今备受推崇的Git确实名副其实,Git中的分支非常轻量,我们可以随时随意创建任意数量的新分支,几乎感觉不到什么延时,而且对分支的操作也很高转载 2017-04-11 16:32:20 · 426 阅读 · 0 评论 -
优化前端应用性能
我的第一个真正意义上的 Web 应用——开发完应用,并可供全世界访问,是我的博客。它运行在一个共享 256 M 内存的 VPS 服务器上,并且服务器是在国外,受限于网络没有备案的缘故。于是,在这个配置不怎样的、并且在国外的机器上,打开我的博客可是要好几分钟。因此,我便不断地想着办法去优化打开速度,在边学习前端知识的时候,也边玩着各种 Web 运维的知识。直到我毕业的时候,我才有财力将博客迁往转载 2017-04-05 09:19:31 · 377 阅读 · 0 评论 -
工厂模式&&单例模式
工厂模式工厂模式具体可分为三类模式:简单工厂模式,工厂方法模式,抽象工厂模式;1.简单工厂模式又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。角色:Factory类:负责创建具体产品的实例Prod转载 2017-04-05 13:32:42 · 646 阅读 · 0 评论 -
容器解答
class Superman {}我们可以想象,一个超人诞生的时候肯定拥有至少一个超能力,这个超能力也可以抽象为一个对象,为这个对象定义一个描述他的类吧。一个超能力肯定有多种属性、(操作)方法,这个尽情的想象,但是目前我们先大致定义一个只有属性的“超能力”,至于能干啥,我们以后再丰富:class Power { /** * 能力值 */ protecte转载 2017-04-05 13:33:46 · 282 阅读 · 0 评论 -
接入商重构相关技术介绍
接入商服务处在娱票儿电影票业务调用链的底层。影院、影厅、影片、排期等基础数据的获取,下单、出票、查票、退票等线上交易都依赖接入商服务。旧版的接入商服务都打在一个jar中,由于和其它系统的高耦合性,稍有改动,依赖该项目的服务都需要重新打包上线。这种模式经常出问题,久经吐槽,我们决定对接入商服务彻底重构,下面简单介绍一下为了让重构后的新接入商服务能提供稳定可靠服务而引用的方案。转载 2017-02-07 16:41:11 · 313 阅读 · 0 评论 -
简略介绍各种类型的ddos攻击
一、基于IcMP协议的DDoS攻击IcMP协议用于错误处理和传递控制信息,它的主要功能是用于主机之间的联络。它通过发送一个“回复请求”(echo request)信息包请求主机响应,以判断与主机之间的连接是否正常。大多数系统将TcP/IP协议簇中的ICMP的数据报的数量规定为64k字节左右,例如Windows2000系统规定的最大值是65527字节,当数据报的数釜超过最大值时,系统将会产生内存转载 2017-02-07 16:38:30 · 3850 阅读 · 0 评论 -
大众点评订单系统分库分表实践
背景原大众点评的订单单表早就已经突破两百G,由于查询维度较多,即使加了两个从库,优化索引,仍然存在很多查询不理想的情况。去年大量抢购活动的开展,使数据库达到瓶颈,应用只能通过限速、异步队列等对其进行保护;业务需求层出不穷,原有的订单模型很难满足业务需求,但是基于原订单表的DDL又非常吃力,无法达到业务要求。随着这些问题越来越突出,订单数据库的切分就愈发急迫了。这次切分,我们的目标是未来十年转载 2017-02-05 14:26:56 · 978 阅读 · 0 评论 -
唯品会的订单分库分表实践总结以及关键步骤
随着唯品会业务的快速发展,订单量的不断增长,原有的订单存储架构已经不能满足公司的发展了,特别是在大促高峰期,原订单库已经成为抢购瓶颈,已经严重制约公司的发展。唯品会旧订单库包含几十张订单相关表,旧订单库是典型的一主多从架构;主库容量已接近服务器物理空间上限,同时也已经达到MySQL的处理上限,很快将无法再处理新增订单。旧订单库面临的问题有:1、超大容量问题订转载 2017-02-05 14:55:48 · 897 阅读 · 0 评论 -
电商系统订单分表方案怎么设计更好
题目背景:之前做电商运营,打算转行做开发,参加了几个面试,几乎每家都会问到大数据量时的解决方案。暂时不讨论问这个题目的合理性,既然有需求,那自己就加强吧。所以基于目前个人做的一个系统,计划向大数据量做扩展设计。涉及的业务场景:(1)市场中有多个卖家(seller),可查看、处理包含该卖家商品的订单(order)(2)买家(user)可查看跟踪自己的订单订单表设计方案及查转载 2017-02-05 14:56:29 · 10620 阅读 · 2 评论 -
日请求从百万到八亿的技术历程
(备注:QQ会员活动运营平台,后面统一简称AMS)一、 重试机制最容易也最简单被人想到的容错方式,当然就是“失败重试”,总而言之,简单粗暴!简单是指它的实现通常很简单,粗暴则是指使用不当,很可能会带来系统“雪崩”的风险,因为重试意味着对后端服务的双倍请求。1. 简单重试我们请求一个服务,如果服务请求失败,则重试一次转载 2017-02-05 19:51:47 · 571 阅读 · 0 评论 -
php单点登录实现demo
1.准备两个虚拟域名127.0.0.1 www.openpoor.com127.0.0.1 www.myspace.com2.在openpoor的根目录下创建以下文件index.PHP[php] view plain copysession_start(); ?>转载 2017-02-06 10:00:31 · 3234 阅读 · 1 评论 -
使用nginx与nginx-rtmp-module搭建流媒体服务器
本次搭建流媒体使用的环境是centos 7.0+nginx;1、下载nginx-rtmp-module:nginx-rtmp-module的官方github地址:https://github.com/arut/nginx-rtmp-module使用命令:[php] view plain copygit转载 2017-02-06 10:01:35 · 332 阅读 · 0 评论 -
centos之lnmp
再安装之前大家可以先看一下lamp的安装过程http://blog.youkuaiyun.com/zph1234/article/details/512481241.安装nginx[python] view plain copy yum install yum-priorities -y wget http://nginx.org/packages/cen转载 2017-02-06 10:03:28 · 231 阅读 · 0 评论 -
nodejs群聊和私聊
自行安装,代码如下先安装nodejs服务器代码[javascript] view plain copy var app = require('http').createServer(handler) var io = require('socket.io')(app); var fs = require('fs'); app.listen(83);转载 2017-02-06 10:04:32 · 358 阅读 · 0 评论 -
php通过ssh2扩展控制linux,模拟阿里云web控制台
注意:我们用PHP来控制Linux,php环境可以在windows也可以在linux,但是我们要控制的机器是一台linux(被控制的linux关闭selinux和firewalld)。如果php在linux,不会安装没关系,可以参考安装lamp教程地址: http://blog.youkuaiyun.com/zph1234/article/details/51248124然后我们的php环境要想实现转载 2017-02-06 14:09:39 · 368 阅读 · 0 评论 -
php后期静态绑定
做项目是后期静态绑定非常有用。比如service层单例模式,使用后期静态绑定就非常好实现。自 PHP 5.3.0 起,PHP 增加了一个叫做后期静态绑定的功能,用于在继承范围内引用静态调用的类。准确说,后期静态绑定工作原理是存储了在上一个“非转发调用”(non-forwarding call)的类名。当进行静态方法调用时,该类名即为明确指定的那个(通常在 :: 运算符左侧部分);当进行转载 2017-02-07 08:41:21 · 316 阅读 · 0 评论 -
关于 Git 你需要知道的一些事情
Git 跟其他版本控制系统最大的优势就在于其高级的分支模型。Git 允许而且 鼓励 你在本地使用多个完全独立的分支。这些分支的创建,合并和删除几乎都可以在几秒内完成。这意味着你可以轻松的做如下操作:无痛的上下文切换 创建分支试验一个想法,提交几次,切回你原来分支的状态,应用一个改动 patch,切回你原来正在试验的状态,将刚才应用的 patch 合并过来。基于角色的代码支线 你可能翻译 2017-02-07 11:50:25 · 369 阅读 · 0 评论 -
服务化框架技术选型实践
前言首先本文不讨论为什么要服务化,包括服务化的优点缺点。 其次本文也不讨论什么是微服务,也不讨论微服务和SOA的区别。 最后本文也不讨论哪个技术最优。服务框架构成最基本的服务框架基本的服务化框架包括如下模块:统一的RPC框架,服务注册中心,管理平台。有了这三个模块,就能实现基本的服务化。下面对三个模块进行具体分析。RPC框架选型为什么一定要是统一的RPC框架,而转载 2017-02-07 14:07:24 · 1425 阅读 · 0 评论 -
CentOS 7安装Etherpad(在线协作编辑)
Etherpad 是一个线上共制平台,是基于网络的实时合作文档编辑器,三、四个人可以坐在自己电脑前,同时对一份文档修改,也同时能看到其他人的修改。 CentOS 7 安装 Etherpad 1、先安装一些工具# yum install curl vim gcc-c++ make 2、安装MariaDB# yum install mariadb-server启动M转载 2017-02-07 14:56:49 · 951 阅读 · 0 评论 -
实时协同编辑的实现
在最近某个项目中打算使用协同编辑来解决冲突问题,因此抽空调研了现有的实现方案,结果发现要想做完美是很难的,但我们可以低成本地做到不错的效果,本文将介绍几种实现方法,大家在项目中如果有需要可以参考。什么是实时协同编辑这里所说的实时协同编辑,是指多人同时编辑一个文档,最典型的例子是 Google Docs,你可以实时看到别人做出的修改,不用手动刷新页面。要实现实时编辑,我们需要解决两个技术转载 2017-02-07 14:58:11 · 16064 阅读 · 3 评论 -
业务转型--wiki
“经营转型”重定向这里。对于跨媒体事件,看操作转换(电视剧)。业务转型(OT)是支持一系列的协作功能的先进技术协同软件系统OT最初发明和一致性维护并发控制在合作的纯文本文件的编辑。二十年的研究已经扩展其功能,扩大了其应用领域包括组撤消、锁定、冲突解决、手术通知单和压缩,群体意识,HTML / XML树结构的文档编辑,协同办公生产力工具、应用共享、协同计算机辅助设计工具(见媒体otfaq)。翻译 2017-02-07 15:38:57 · 613 阅读 · 0 评论 -
TogetherJS
要添加到您的Web应用程序的实时协作?Mozilla的 togetherjs值得一看。当Tim Berners Lee发明了万维网超过20年前,他在那个物理学家能够合作很容易与另一个在互联网上的希望了。此后,网络已经演变成一种新的媒体处理一切从报纸到金融。然而,虽然我们可以惊叹的事情我们可以做大量时下网络上,最初的想法,把它所有的合作,仍然是一个梦想。当然,我们有点像 GitHub,这 G翻译 2017-02-07 16:19:41 · 835 阅读 · 0 评论 -
前端优化:九个技巧,提高Web性能
当今数字世界,存在着无数的网站,每天都需要处理各种不同的原因的访问。然而,这些网站中有很大一部分显得笨重,使用起来也很麻烦。没怎么优化的网站会被各种各样的问题困扰,包括加载时间、不支持移动设备、浏览器兼容性问题,等等。这篇文章讲述可以帮助 改善优化前端 的技术,非常有用。主要内容有清理代码、压缩图片、压缩外部资源、使用 CDN,以及一些其它方法。这些方法会为你的网站带显著的速度提升和整体性能提转载 2017-02-07 16:29:48 · 363 阅读 · 0 评论 -
WIN7下安装Photoshop
最近因为项目需要,学习了一个新的P图软件,photoshop,然后总结了一下安装方案。 首先下载:http://dlsw.baidu.com/sw-search-sp/soft/6c/23675/Photoshop_CS6.3510481888.7z 下载完事大概一个G多一点,然后就是开始安装了。运行Adobe.exe文件,然后根据提示一路往下走,选择试用版本,然后就是直接那个啥完事了。不过嘞,有原创 2018-01-18 13:26:41 · 5488 阅读 · 0 评论