人在成都 互联网相关技术爱好者
暂时未有相关通用技术能力~
阿里云技能认证
详细说明十一放假干什么 - 看书啊。 Java 书籍推荐
适用范围 本文主要针对小型互联网公司,特别适用于手机APP的后台架构,基本可以支撑5万日活 本文会对可能用到的相关技术进行技术选型的说明,以及相对应的设备的采购。 技术指标 说一下一些技术指标的计算过程可以作为其他同学的参考 QPS, 如果是5万日活,使用集中在每天的4小时,每个
<div class="markdown_views"> <p>周末加班,想把spring3升级到spring4。 列一下遇到的坑</p> <h3 id="更换spring版本为">更换spring版本为</h3> <p>4.2.3</p> <pre class="prettyprint"><code class=" hljs xml"><span class="hljs
<div class="markdown_views"> <p>Bean的容器 Factory和Context,Context多了运行时上下文,提供读取资源文件,监听等等能力</p> <h3 id="bean的生命周期">Bean的生命周期:</h3> <p>实例化->填充属性->BeanNameAware的setBeanName方法, 调用BeanFac
<div class="markdown_views"> <h3 id="下载spring源码用来学习">下载Spring源码用来学习</h3> <p>直接使用github的svn下载功能: <br><a href="https://github.com/spring-projects/spring-framework.git/tags/v3.0.5.RELEASE/org.
<div class="markdown_views"> <pre class="prettyprint"><code class=" hljs java"><span class="hljs-javadoc">/** * <h1>虚拟礼品卡 soa接口</h1> * <pre> * <h2>调用说明</h2>
<div class="markdown_views"> <h2 id="网站安全攻防战">网站安全攻防战</h2> <h3 id="xss攻击">XSS攻击</h3> <p><img src="http://img.blog.csdn.net/20151111104911741" alt="这里写图片描述" title=""><br> 防御手段: <br> - 消毒
<div class="markdown_views"> <p>不用改软硬件设计,只需要增加或者减少服务器的数量就能够扩大或减少网站的处理能力</p> <h2 id="网站伸缩性设计">网站伸缩性设计</h2> <h3 id="不同功能进行物理分离实现伸缩">不同功能进行物理分离实现伸缩</h3> <p>纵向分离,分层分离。 通常是网站-复用业务-基础技术服务-
<div class="markdown_views"> <h2 id="可用性度量和考核">可用性度量和考核</h2> <h3 id="度量">度量</h3> <p>用多少个9来表示,表示一年中可用时间的百分比</p> <h3 id="考核">考核</h3> <p>可以用如下的表: <br><img src="http://img.blog.csdn.net/
<div class="markdown_views"> <h2 id="性能测试">性能测试</h2> <h3 id="角度">角度</h3> <ul> <li>用户视角的网站性能 <br> 用户点击到看到屏幕响应的感受。 <br> 受到网络带宽, 浏览器解析HTML速度。以及服务器处理的影响 <br> 可以通过优化HTML,利用多域名提高并发,调整浏览器缓存策略,使
<div class="markdown_views"> <p>非业务功能,还要关注性能,可用性,伸缩性,可扩展性,安全性五个要素。</p> <h2 id="性能">性能</h2> <pre><code>浏览器端可以浏览器缓存,压缩页面(gzip),合理布局页面,减少cookie传输等手段。 CDN, 将静态内容分发到网络机房,网站机房部署反向代理缓存热点文件等 应用服
<div class="markdown_views"> <p>模式描述对重复发生时间的通用解决方案的核心。</p> <p>模式的价值在于可重复性。</p> <h2 id="网站架构模式">网站架构模式</h2> <p>为了解决高并发访问,海量数据,高可靠运行,提出了很多解决方案实现高性能,高可用,易伸缩,可扩展,安全等技术架构。</p> <h3 id="分层"
<div class="markdown_views"> <p>先上图 <br><img src="http://img.blog.csdn.net/20150925143830538" alt="这里写图片描述" title=""></p> <p>到现在为止都是通过新增组件来获得能力的。进化到这个架构大概需要如下的过程:</p> <ol> <li>最简单的,上传文件,应用
<div class="markdown_views"> <h2 id="复制管理">复制管理</h2> <h3 id="监控">监控</h3> <p>SHOW MASTER LOGS; <br> 查看主库当前有哪些二级制日志,其logname是其他命令的入参, file_size是偏移量也是入参。</p> <p>假设我们知道日志的偏移量(来源于上面的命令)使用: <
<div class="markdown_views"> <h3 id="架构">架构</h3> <p>mysql最大的特色就是把查询处理与 实际的数据存储和提取(存储引擎)的操作分开了。其整体的架构如下: <br><img src="http://img.blog.csdn.net/20150630171453150" alt="这里写图片描述" title=""></p>
<div class="markdown_views"> <p>高可用性就是保证尽量少的宕机时间。 <br> 尽量少的数据损坏。 <br> 一般会受到如下因素影响:</p> <ul> <li>环境因素, 比如磁盘耗尽</li> <li>性能问题, 可能是运行了超级慢的sql</li> <li>糟糕的schema和索引设计</li> <li>复制导致数据不一致。</li>
<div class="markdown_views"> <p>Method <em>onCreate(Bundle savedInstanceState)</em> is called when the activity(<em>WiFiManageActivity.java</em>) is starting.</p> <p>These intent broadcasts
<div class="markdown_views"> <p>可扩展性。 即通过增加资源提升整个系统吞吐量的能力</p> <p>一般会有如下的角度影响负载:</p> <ul> <li>数据量</li> <li>用户量 更多的用户,意味着更多的数据,更复杂的查询,更多的事务</li> <li>用户活跃度 容易造成热点</li> <li>相关数据集的大小 即关联数据,
<div class="markdown_views"> <p>备份,灾难恢复,大规模,水平扩展,高性能的基础,也是高可用,可扩展,及数据仓库的基础。</p> <h2 id="简述">简述</h2> <h3 id="开销">开销</h3> <p>Mysql有两种复制方式:基于行的复制和基于语句的复制。 <br> 都是通过在主库上记录二进制日志,在备库上重放日志实现
<div class="markdown_views"> <p><a href="http://www.cnblogs.com/wangkongming/p/3684950.html">http://www.cnblogs.com/wangkongming/p/3684950.html</a></p> <p>MySQL日志:</p> <p>主要包含:错误日志、查询日志、慢查
<div class="markdown_views"> <p>配置文件一般在/etc/my.cnf或者是/etc/mysql/my.cnf</p> <p>语法:properties的语法,注意单词用-或_分割比如: <br> auto-increment-offset=5</p> <p>分个类 <br> 按照作用域,可以分为全局的也就是配置在配置文件中的,或者是会话的,就
<div class="markdown_views"> <p>以前写过类似的博客: <a href="http://blog.csdn.net/three_man/article/details/34084361">http://blog.csdn.net/three_man/article/details/34084361</a> <br> 今天拿出来,再好好剖析一下:</
<div class="markdown_views"> <h2 id="1-模块类包">1. 模块/类(包)</h2> <p>创建一个名为Apple.pm的包文件(扩展名pm是包的缺省扩展名,意为Perl Module)。 <br> 一个模块就是一个类(包)。</p> <h2 id="2-new方法">2. new方法</h2> <p>new()方法是创建对象时必须
<div class="markdown_views"> <h2 id="字符集和校对">字符集和校对</h2> <p>客户端和服务器设置要要保持一致。 <br> 校对规则主要是mysql用来比较字符串,比如按照大小写敏感,或者是二进制。 分别对应了cs,ci(不敏感),bin三个对应项 <br> 可以指定校对规则对字段排序,但是这样可能会不使用原来的索引。</p> <
<div class="markdown_views"> <h2 id="内部存储代码">内部存储代码</h2> <p>主要有,存储过程、函数、时间、触发器 <br> 优点:</p> <ul> <li>方便代码重用</li> <li>离数据进,执行起来可以节省带宽和网络延迟</li> <li>mysql可以缓存存储过程的执行计划,这样可以降低生成执行计划的消耗 <br> 缺
<div class="markdown_views"> <h2 id="分区表">分区表</h2> <p>主要提供如下的特性,或者适合如此场景:</p> <ul> <li>数据量非常大, 或者只有表中最后的部分有热点数据,其他均为历史数据</li> <li>分区表数据更容易维护,可以对独立的分区删除等操作</li> <li>分区表的数据可以分布在不同的物理设备上,从而高
<div class="markdown_views"> <p>接上文,其他的一些Mysql对于查询的优化,或者Mysql的不足,我们应该注意怎样优化。</p> <h3 id="关联子查询">关联子查询</h3> <p>Mysql的子查询实现比较有问题, 特别是对于IN(子查询),这样的方式。 <br> 比如:查询一个订单表中,所有支付方式为4也就是京东网银钱包的订单:
<div class="markdown_views"> <p>查询的一般流程是 客户端到服务器,这之间有网络。 在服务器上进行解析,生成执行计划,执行。并且返回给客户端。 执行中又会包含大量的调用存储引擎检索数据,以及检索后的处理比如排序等。 <br> 总体来说,时间一般花费在网络、CPU计算、生成统计信息、执行计划,锁等待,内存不足时的I/O操作等等。</p> <p>先
<div class="markdown_views"> <h3 id="聚簇与非聚簇">聚簇与非聚簇</h3> <p>首先Mysql中索引是使用了B+Tree的结构,具体数据结构可以看<a href="http://blog.csdn.net/three_man/article/details/46799659">这里</a>。</p> <p>聚簇索引: 其叶子节点就是对
<div class="markdown_views"> <p>这个问题有几个点要先确认</p> <ul> <li>必须是有序,如果无序的话就只能全遍历了</li> <li>查找算法跟数据结构相关,不同的数据结构适用于不同的查找算法</li> <li>查找算法与磁盘I/O有一定的关系,比如数据库在索引排序的时候,如果每次都从磁盘读取一个节点然后进行判断</li> </ul>
<div class="markdown_views"> <p>额,不知道这样好不好。 <br> 不过还是希望CSDN不要删除啊,不管是好的坏的,咱们都要开源分享不是。</p> <p>主要就是基于Chrome能够在Console中执行js来做的。 <br> 以京东夺宝岛为例子我们需要做如下的事情:</p> <ul> <li>在Chorme中打开夺宝岛网页,按F12,然后刷新
<div class="markdown_views"> <p>今天遇到了一个问题,跟大家分享一下。</p> <p>有这样一个sql:</p> <pre class="prettyprint"><code class=" hljs sql"><span class="hljs-operator"><span class="hljs-keyword">select</sp
<div class="markdown_views"> <p>不考虑主备,集群等方案,基于业务上的设计主要是表结构及表间关系的设计。</p> <p>而关于表中字段主要是根据业务来进行定义,我们可以指定的大概有这么几项:</p> <ul> <li>存储引擎 一般用InnoDB,特殊需求特殊选用</li> <li>字符集和校验规则 <br> 特别说一下校验规则是指两个
<div class="markdown_views"> <h2 id="acid">ACID</h2> <ul> <li>A : 原子性 要么全提交成功,要么全失败回滚</li> <li>C:一致性 是从一个一致性状态到另外一个一致性状态。 意思就是说能量守恒。 <br> 还有的人理解其是外键的定义,即对于有班级的学生,不能创建一个不指定班级的学生 <
<div class="markdown_views"> <p>如果没有锁,那么并发性会更强,但是数据安全性会有问题。因此数据库会给数据加锁。</p> <h3 id="共享锁与排他锁">共享锁与排他锁</h3> <pre><code>也就是读写锁,共享锁可以叠加共享锁但是不能加排他锁, 排他锁则不能叠加。 根据隔离级别等等,mysql会隐式的给数据自动加锁 此外还可以使
<div class="markdown_views"> <p>因为要做个小项目,同组的同事都比较年轻,为了规范下代码,因此简单的写了下怎么提高代码质量,分享一下:</p> <h3 id="在接口不通的情况下进行单元测试"><strong>在接口不通的情况下进行单元测试</strong></h3> <p>使用Mockito, 如果获取余额部分代码为:</p> <pre
<h2>1. Install postgresql postgresql-contrib</h2> <span style="white-space:pre"></span> <p>camoss@cd-devel15:~$ sudo apt-get install postgresql postgresql-contrib</p> <p><br></p> This will ins
<h2>Install EMF Plugin of Eclipse</h2> <div>Ecore Diagram Editor<br> </div> <div><br></div> <h2>Create EMF Project</h2> <div>Take "Empty EMF Project" for instance</div> <div> <img src="http:/
<div class="markdown_views"> <h3 id="数据校验框架现状">数据校验框架现状</h3> <p>在我们的方法入口后面,难免会有如下样子的代码:</p> <pre class="prettyprint"><code class=" hljs applescript"> <span class="hljs-constant">r
<h2>Download Gradle</h2> <div><a target="_blank" href="https://gradle.org/downloads/">https://gradle.org/downloads/</a></div> <h2>Configure Environment</h2> <div>GRADLE_HOME=D:\gradle</div> <d
<p>Yes,My English History.My English story is from reading technology papers about computer science.Just read,not speak out.</p> <p>BTW,Is somebody still reading papers after left university?tech
<p></p> <p>Yes, The Programmer’s Dream!</p> <p>How many programmers here? I am sure of that every body here has a dream inside. What’s the biggest dream or goal you have in your life at this mom
<h3>1. Operation System</h3> <p>[hadoop@karei hadoop]$ uname -a<br> Linux karei 2.6.18-371.4.1.el5 #1 SMP Wed Jan 8 18:42:07 EST 2014 x86_64 x86_64 x86_64 GNU/Linux<br> [hadoop@karei hadoop]$</
<h2><span style="font-family:KaiTi_GB2312; font-size:14px">1. 运行环境</span></h2> <ul><li><span style="font-family:KaiTi_GB2312; font-size:14px">OS:</span></li></ul> <p></p> <p><span style="font-fa
<div> <div> <div>1. Schema文件:</div> <div> <pre code_snippet_id="652914" snippet_file_name="blog_20150425_1_726077" name="code" class="html"><?xml version="1.0" encoding="UTF-8"?> <sche
<div class="markdown_views"> <p>单例模式 <br> 最简单但是也挺困难的。</p> <p>要保证在一个JVM中只能存在一个实例,要考虑到如下的情况:</p> <ul> <li>Java能够使用那些方式构建对象</li> <li>Java在创建对象时多线程并发情况下是否仍然只能创建一个实例</li> </ul> <h3 id="java创建对象
<p></p> <pre name="code" class="plain">#! /usr/bin/expect set ip [lindex $argv 0]; set username [lindex $argv 1]; set password [lindex $argv 2]; set key_init "*yes/no*" set key_password "[Pp]ass
<pre name="code" class="plain">%%: 删除后面符合条件的最长字符串 [shengshu@shuai shell-dir]$ var="xyz=123=456"; val=${var%%[=]*}; echo "$val" xyz [shengshu@shuai shell-dir]$ %: 删除后面符合条件的最短字符串 [shengshu@shuai sh
<p><br></p> <p></p> <pre code_snippet_id="637898" snippet_file_name="blog_20150407_1_9539008" name="code" class="plain">test ! "$LOGDIR" && LOGDIR=/var/log test ! "$LOGFILE" && LO
<div class="markdown_views"> <h2 id="时间复杂度">时间复杂度</h2> <p>f(n) 算法基本操作执行的方法 <br> n表示算法的规模 <br> O(n) f(n)的量级 <br> 稳定性: 同样元素的相对位置在排序前后是否有可能发生变化</p> <h2 id="冒泡排序">冒泡排序</h2> <h3 id="普冒">普冒</