http://songfeng-123.iteye.com/blog/2342101

 

在电子商务里,经常会出现库存数量少,购买的人又特别多,大并发情况下如何确保商品数量不会被多次购买。其实很简单,利用事务+for update就可以解决。我们都知道for update实际上是共享锁,是可以被读取的。但是如何在执行时,不被读取呢。

简单来说:假设现在库存为1,现在有A和B同时购买

1、先开启一个事务,执行sql

  1. select stock from good where id=1 for update;//查询good表某个商品中stock的数量[……]

继续阅读

http://www.cnblogs.com/zlcxbb/p/5757173.html

 

结论

如果不清楚自己应该用什么引擎,那么请选择InnoDB,Mysql5.5+的版本默认引擎都是InnoDB,早期的Mysql版本默认的引擎是MyISAM

 

MyISAM 和 InnoDB的适用场景

MyISAM适合:(1)做很多count 的计算;(2)插入不频繁,查询非常频繁;(3)没有事务。

InnoDB适合:(1)可靠性要求比较高,或者要求事务;(2)表更新和查询都相当的频繁,并且表锁定的机会比较大的情况。

 [……]

继续阅读

http://www.cnblogs.com/zengkefu/p/5716190.html

 

1, mysql的复制原理以及流程。

(1)先问基本原理流程,3个线程以及之间的关联。

 

 

 

 

 

(2)再问一致性,延时性,数据恢复。

 

 

(3)再问各种工作遇到的复制bug的解决方法

2,mysql中myisam与innodb的区别,至少5点。

(1) 问5点不同

 

1>[……]

继续阅读

http://www.codertian.com/2016/11/27/RxSwift-ru-keng-ji-read-document/

RxSwift 入坑解读-你所需要知道的各种概念

 

相信大家很早就听说过函数式响应编程概念,我是去年面试的时候接触到函数式响应编程的,当时也是第一次接触到MVVM这个概念,转眼都一年过去了,我却没有在函数式响应编程上做深入的研究,说来还真是惭愧。

不过最近由于想要使用RxSwift,所以趁这个时候好好接触和研究一下传说中的函数式响应编程,由于网上关于RxSwift的教程资料很少,这篇文章其实就是最RxSwift官方文档和[……]

继续阅读

http://gank.io/post/560e15be2dca930e00da1083

https://github.com/rengwuxian/RxJavaSamples

 

前言

我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我真的百度了也谷歌了,但我还是想问:[……]

继续阅读

http://learnangular2.com/

https://github.com/ntesmail/angular-webpack-template

http://shark.mail.netease.com/shark-angular2/index.html

https://www.gitbook.com/book/zhongsp/typescript-handbook

https://blog.thoughtram.io/

http://ngcourse.rangle.io/index.html

 

https://github.com/riskers/blog/issues/18#issuecomment-177721617

 

上一篇介绍了像素和视口这些基本概念,现在接着移动端的适配方案。

推荐一篇文章:MobileWeb适配总结,里面说到的三种布局方法已经说的很详细,还分别做了demo,我就不做了,这里说说三种方案的原理以及我使用中的感受,希望各为互补,大家理解是最重要的。

之前做过PC页面的人聊的最多的就是『兼容』,这是因为浏览器之间的差异引起的,不再多说。而移动端是基本没有『兼容』的问题的,全是CSS3,简直不要太开心。可是『适配』问题随之而来。[……]

继续阅读

https://github.com/riskers/blog/issues/17

 

要搞懂移动端的适配问题,就要先搞明白像素和视口。

像素

在移动端给一个元素设置 width:200px 时发生了什么?这里的px到底是多长呢?像素是网页布局的基础,但是我们一直在用直觉使用它。

其实存在两种像素:

1. 设备像素

屏幕的物理像素,任何设备屏幕的物理像素的数量都是固定不变的,单位是pt

2. CSS像素

在CSS、JS中使用的一个抽象的概念,单位是 px

顺便说下,CSS像素也可以称为设备独立像素(device-independen[……]

继续阅读

http://blog.csdn.net/xue110110/article/details/45558365?locationNum=4

 

摘要:判断滚动条到底部,需要用到DOM的三个属性值,即scrollTop、clientHeight、scrollHeight。scrollTop为滚动条在Y轴上的滚动距离。clientHeight为内容可视区域的高

分享到:
判断滚动条到底部,需要用到DOM的三个属性值,即scrollTop、clientHeight、scrollHeight。
scrollTop为滚动条在Y轴上的滚动距离。
clien[……]

继续阅读

http://www.ruanyifeng.com/blog/2012/07/git.html

 

如果你严肃对待编程,就必定会使用”版本管理系统”(Version Control System)。

眼下最流行的”版本管理系统”,非Git莫属。

相比同类软件,Git有很多优点。其中很显著的一点,就是版本的分支(branch)和合并(merge)十分方便。有些传统的版本管理软件,分支操作实际上会生成一份现有代码的物理拷贝,而Git只生成一个指向当前版本(又称”快照”)的指针,因此非常快捷易用。

但是,太方便了也会产生副作用。如果你不加注意,很可能会[……]

继续阅读

 

http://www.ruanyifeng.com/blog/2016/09/redux_tutorial_part_one_basic_usages.html

https://www.zhihu.com/question/41312576?sort=created

我觉得redux的思想很简单,其实说白了就是一个reduce函数,state不断通过reducer处理生成新的state

 

http://www.cnblogs.com/luxiaoxun/p/4694144.html

 

一、MySQL的主要适用场景

1、Web网站系统

2、日志记录系统

3、数据仓库系统

4、嵌入式系统

二、MySQL架构图:

 

三、MySQL存储引擎概述

1MyISAM存储引擎

MyISAM存储引擎的表在数据库中,每一个表都被存放为三个以表名命名的物理文件。首先肯定会有任何存储引擎都不可缺少的存放表结构定义信息的.frm文件,另外还有.MYD和.MYI文件,分别存放了表的数据(.MYD)和索引数据[……]

继续阅读

http://www.jb51.net/article/24392.htm

MySQL性能优化的最佳20+条经验

 

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。

当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。
1. 为查询缓存优化你的查询

大多数的MySQL服务[……]

继续阅读

http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html

 

网页布局(layout)是CSS的一个重点应用。

1475626367-1715-bg2015071001

布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。

1475626370-1657-bg2015071002

2009年,W3C提出了一种新的方案—-Flex布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。

1475626369-1968-bg2015071003

Flex布局将成为未来布[……]

继续阅读

http://www.jb51.net/article/43949.htm

 

定义和用法

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

语法

stringObject.replace(regexp,replacement)

参数  描述
regexp 必需。规定了要替换的模式的 RegExp 对象。请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。
replacement 必需。一个字符串值。规定了替换文本或生成替换文本的函数。[……]

继续阅读

Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。

可 能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash 索引而还要使用 B-Tree 索引呢?任何事物都是有两面性的,Hash 索引也一样,虽然 Hash 索引效率高,但是 Hash 索引本身由于其特殊性也带来了很多限制和弊端,主要有以下这些。

(1)Hash 索引仅仅能满足”=”,”IN”和”<=>”查询,[……]

继续阅读

http://www.jb51.net/article/49645.htm

 

最近在本地搭建的LNMP的开发环境。为了开发的时候不影响前端的正常开发就屏蔽的PHP里面php.ini中的一些错误提示。但是这样一来,就影响到了后端开发的一些问题比如不能及时调试开发中的一些问题

nginx与apache不一样,在apache中可以直接指定php的错误日志,那样在php执行中的错误信息就直接输入到php的错误日志中,可以方便查询。

在nginx中事情就变成了这样:nginx只对页面的访问做access记录日志。不会有php的error log 信息。ng[……]

继续阅读

https://www.zhihu.com/question/20657269/answer/15763722

 

[只是大框架介绍,实际使用中的不容易注意的细节太多了,需要经验的积累,才能运用娴熟]

以下的架构都是在假设已经优化过linux内核的情况下进行

初级篇:(单机模式)

假设配置:(Dual core 2.0GHz,4GB ram,SSD)

基础框架:apache(PHP) + Mysql / IIS + MSSQL
(最基础框架,处理一般访问请求)

进阶1:替换Apache为Nginx,并在数据库前加上cache层【数据库的[……]

继续阅读

utility(一些常用的工具,如md5、base64编码):https://github.com/node-modules/utility

superagent(网络请求库,类似ios中的AFNetworking):http://visionmedia.github.io/superagent/

cheerio(nodejs版的jquery,可用来提取内容、抓取):https://github.com/cheeriojs/cheerio

eventproxy(控制并发,解决异步调用嵌套多层的问题):https://github.com/JacksonTian/eventpr[……]

继续阅读

http://blog.csdn.net/xiongyu777888/article/details/51927070

 

最近在idea上使用maven插件时,发现在pom.xml编写项目依赖的jar包时,已经下载到本地的jar,无法自动补全,需要手动写出来。非常影响效率。

对于这个问题,可以在maven的setting中手动更新本地仓库的jar索引来解决。操作如下

打开设置界面(mac下快捷键:[⌘键 + ,键]) –> Maven –> Repositories ,选中本地的仓库,点击右上角的update,更新maven仓库索引。[……]

继续阅读

http://www.jingjingke.com/c/09260.html

 

终于将vue-resource替换成axios了,其中像application/x-www-form-urlencoded发送的头信息以及返回的response结果这两点都需要注意一下。

其实https://github.com/mzabriskie/axios也有说明的。因为我在vue-resource中使用了Vue.http.options.emulateJSON = true;,这种请求在发送头信息时会将Content-Type改为application/x-www-form-u[……]

继续阅读

https://juejin.im/entry/58eaf351a22b9d0058a8e35c

 

前两天用 axios 请求跨域接口的时候控制台报了个错,而用 jQuery 的 $.post 却没这个问题,怎么回事呢?文章里有答案。 —— 由wYh分享

在通过 AJAX 发起 HTTP 请求的时候,我们最常用的方法大概就是 GET 和 POST 了。实际上除了这两个以外,HTTP 请求还有 PUT,DELETE,OP[……]

继续阅读

https://segmentfault.com/q/1010000006025361/a-1020000006252474

 

安装 node-sass 的时候总是会各种不成功,今天我琢磨了一会儿总算知道要怎么解决了。

首先要知道的是,安装 node-sass 时在 node scripts/install 阶段会从 github.com 上下载一个 .node 文件,大部分安装不成功的原因都源自这里,因为 GitHub Releases 里的文件都托管在 s3.amazonaws.com 上面,而这个网址在国内总是网络不稳定,所以我们需要通过第三方服务器下载这个[……]

继续阅读

https://mp.weixin.qq.com/s?__biz=MjM5MDcxMTU2Nw==&mid=2650576862&idx=1&sn=ee370f1a467590a8a82552bbb4ee07e2&chksm=be489dbe893f14a8fe5ac6698e2620da6ba9016e4b75c3b5359f3fae2f458f6d2ce2e5e910ee&mpshare=1&scene=23&srcid=0714UA82np4KHvi99nqrPmaT#rd

 

导读:随着近几年Python已成为数据科学行业中大火的编程语言,我们将根据以往的经验来为[……]

继续阅读

http://blog.csdn.net/gallenzhang/article/details/51932152

 

本篇文章主要内容是介绍如何使用IntelliJ IDEA创建Spring + SpringMVC + MyBatis项目,下面会给出项目搭建的详细步骤以及相关的配置文件。

1. 创建maven项目

1.1  File -> New Module,进入创建项目窗口。
1.2  点击Next,填写GroupId、ArtifactId和Version
1.3  接着下一步,这里需要注在Properties中添加[……]

继续阅读