自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DaDomain的专栏

努力用简单的语言,描述深层次的思考

  • 博客(35)
  • 收藏
  • 关注

原创 MySQL:基础架构,一条SQL查询语句的执行

这里写自定义目录标题MySQL分层Server层存储引擎层查询语句执行过程连接器查询缓存分析器优化器执行器更新语句:日志系统redo logbinglogMySQL分层Server层和存储引擎层Server层连接器、查询缓存、分析器、优化器、执行期等存储引擎层插件式,支持InnoDB、MyISAM、Memory等查询语句执行过程连接器负责和客户端建立连接、获取权限、维护和管理链接。耗时较高,长连接,防止OOM。查询缓存key-value形式key是select语句,value是内容

2021-02-23 20:33:12 153 1

原创 记一次mongo数据库CPU占用率过高的问题

记一次mongo数据库CPU占用率过高的问题发现定位问题解决问题优化方案分页查询文档数据量很大时的查询发现早上收到了一封预警邮件查看监控,cpu使用率过高,这种情况百分之95都是代码问题。实例规格升级是不用升级的。定位问题db.currentOp()查询正在执行的命令查找secs_running 运行时间长的语句。发现有一个skip XXX limit 10 的语句在执行。解决...

2018-10-22 11:47:42 806 1

原创 关于webpack项目资源加载优化的几个实践(以react举例)

一、老生长叹的代码异步加载1、使用webpack api: require 按需加载本地js文件文档见:require.ensure例如在react router中:getComponent (nextState, cb) { require.ensure([], (require) => { cb(null, connectComponent(require('COMPONEN

2017-11-30 18:39:33 825

原创 node公众号第三方模块,五分钟通过微信全网发布检测

wechat-third公众号第三方平台模块,五分钟通过微信全网发布检测Install将模块放到dependencies中npm install wechat-third --saveGetting Start该模块使用了async/await,请使用node7+或者使用babel。这里展示模块在koa2中的使用const wechat-third = require('wechat-third')

2017-06-01 13:29:11 1287 1

原创 CentOS7.3 安装Redis 阿里云(亲试)

第一步 —— 执行安装命令# yum install redis 第二步 —— 启动Redis# service redis start 第三步 —— 连接Redis# redis-cli 如果报以下信息,证明没启动redis Could not connect to Redis at 127.0.0.1:6379: Connection refused出现这种情况可查看/etc/redis.c

2017-05-06 21:33:38 2885

原创 CentOS7.3 安装MongoDB 3.2 阿里云(亲试)

第一步 —— 将MongoDB添加到yum仓库根据你需要的MongoDB版本和系统版本不同,创建yum仓库的配置文件/etc/yum.repos.d/mongodb.repo中。这里是MongoDB 3.2。输入命令:# vi /etc/yum.repos.d/mongodb.repo64位系统使用(这里使用阿里源):[MongoDB]name=MongoDB Repositorybaseurl

2017-05-06 21:24:16 3161

原创 关于react项目与node后端共用80接口

工作中因为某些原因需要后端api 必须使用80端口,或者为了美观..不使用nginx的情况下因为安全性,默认阻止跨域的话需要将前后端项目部署在同一server上。react前端情况使用browserHistory,使用webpack打包、redux、支持按需加载等特性。 规定除/api 路径外所有路径指向reactnode后端情况使用koa-router,若路径为/api 开头则调用后端api实现

2017-03-31 11:47:48 2559

原创 java微信公众号第三方接入解析及全网检测代码示例

一、接入大体思路解析这里主要是查看文档的授权流程技术说明,这里从开发者角度介绍。 接入第三方的开发者想必已经对公众号开发比较了解,第三方是代微信号实现功能的一个组件,所以也许微信方的开发们也是如此考虑,为第三方的access_token取名为component_access_token。1、首先获取第三方component_access_token 这个过程中会使用到微信服务器定期向我们服务器推

2016-12-09 12:06:47 7252 1

原创 node 开发中常用的async/await 处理回调的几种形式

一、单一的回调处理//下面两种形式的async函数效果相同,await只能用在async函数内部async function(){}async () => {}(1)http请求var http = require('http');(async () => { var res = await new Promise(function (resolve, reject) { v

2016-12-02 12:23:41 3708

原创 较完整的koa2项目结构实例、脚手架-mysql,gulp

koa2-starter.A koa2 starter by using mysql, gulp includes async/await, pm2, express-style middlewares. Based on 17koa/koa2-demo.基于17koa/koa2-demo,并增加了mysql和gulp模块,提供了一个较完整的示例。Tech StackKoa 2nodemon +

2016-12-02 11:31:51 9417

原创 jsp下较完整的gulp实例:压缩、md5、上传cdn、路径替换

gulp作为前端自动化工具本质上是文件的自动化批处理,所以理论山无论是javaEE,php,rail应该都是可以应用的。这里给大家介绍一下我在实际javaEE项目里的自动化实践。1、想达到什么目的?这个一定要在一开始就有一些具体的想法。这里想对js、css等资源文件进行压缩,并且通过md5实现版本管理,解决服务器端更新后用户浏览器缓存的问题。并且将所有资源文件上传cdn,并自动

2016-11-02 12:24:50 3775

原创 编程内功:业务逻辑抽象

用代码量衡量程序员的工作量大抵是世上最愚蠢的事了。今天重构了一段年代久远的大约2000行的代码,目前剩下200行左右,这段代码的功用大致是这样的:将一些数据,按照几个维度的规则填充到另一个表里面,数据和表里的数据可能是一对多的情况。事例规则有3个维度:一个优先级性质,数据类型,规则层次老代码是如何组织的?三个维度的规则下穷举所有情况,我看了一下数据库操作次数等性能层面较优秀

2016-10-17 18:47:02 2398

原创 架构相关:全方位解析web产品中的编码问题

互联网的的实质大致可以归结为数据之间的交互,而交互就不得不涉及到数据的编码解码转吗等等一些问题。而在实际工作中发现很多开发同事对这些并没有一个清晰完整的认识,这里就我目前为止接触的产品编码相关做一下全方位的总结。这里按照用户输入url打开网页这一场景的顺序进行解析:1、当在浏览器输入url的时候在浏览器端发生了什么?url默认使用utf-8,url后带参数的编码方面有一个默认编码的

2016-09-25 23:09:45 494

原创 高效生活新方式:提问式沟通

为什么提出这个话题?因为在面对先洗水果还是先倒牛奶这种问题都要先思考2秒钟规划最佳路径的作者是有一些效率方面的本质诉求的,所以平时会有意无意的在各种方面规划“最佳路径”。但在生活和工作中却经常面对较多的低效沟通,这里总结了一下我认为高效的、直接的沟通流程准则和技巧。什么是提问式沟通?假设一个场景:人类X要和人类Y面对面就问题F进行交流讨论,X首先发话介绍,但理解F需

2016-06-19 12:52:21 892

原创 谈谈商业合作中的“男人来自火星,女人来自金星”

第一公理:人大抵都是想赢的。人大抵都是想赢的。为什么用“可能”,有些人可能会问了,这不是显而易见的事么?我觉得不见,因为受过严格科学训练的我知道,没有经过或者现阶段无法通过严谨逻辑证明的观点,大多只适应当前时间、当前空间、或者当前背景。就像19世纪人们公认“光是严直线传播的”一样,这种观点只能被定为公理:大家普遍认可的道理。第二公理:人大抵都是自私的。所以回到开头,

2016-06-18 13:46:28 1089

原创 关于javascript的闭包、模块化以及单例模式

为什么放在一起?模块化本身就自带闭包性质的体现。下面代码: //定义可多次实例化的模块foo function foo () { console.log("foo run"); var num = 0; return { addNum: function () {

2016-05-15 21:46:45 1720

原创 小团队,个人任务没完成导致团队加班是否应该赞赏?

这需要看是谁面对这件事了领导分类:过程导向,结果导向如果过程导向的领导会觉得我们这个员工很“负责任”。结果导向会觉得这个员工能力有问题,应该重新考虑其职责分配。对于这个问题我是有一些倾向性的,我觉得在市场经济的今天,企业内部是要作为一个整体抱成团做事情面对市场的,尤其是小公司。诚然过程导向对于搞定人也许有一些优势,但是这样的原则在企业内部达成共识后会更大程度的形成“死海效应

2016-05-15 15:14:42 1024

原创 让你的javascript支持AMD,CMD和原生JS

; (function(){ yourModule = function () { // ... alert("1") } if (typeof module !== 'undefined' && typeof exports === 'object' && define.cmd) {

2016-04-15 18:05:07 1895

原创 linux服务器tomcat上传发布war包问题

之前使用ssh登陆linux服务器经常输入命令如下:ssh [email protected]进入到相应tomcat /bin目录下./shutdown.sh再进入tomcat /webapps删除war包和项目目录rm -rf /opt/kpt-front-tomcat/webapps/xxx再进到 /bin目录./startup.sh一次偶然发现

2016-03-24 14:28:25 757

原创 http交互时java对称加密算法加密解密思想极致解析

加密解密代码:import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.spec.SecretKeySpec;import java.security.Key;/** * DES安全编码组件 * * * 支持 DES、DESede(TripleDES,就是3DES)、AES、

2016-01-07 18:48:09 1252

原创 js控制json对象、json数组总结

日常工作中发现熟练掌握对json的操作能极大的增加工作效率这里做一次简单的总结一、json对象var json = {};添加:json["name"] = "liao"; //此时 json 为{“name”:"liao"}json["age"] = "18"; // 此时 json 为 {"name":"liao", "age":"18"}删除:dele

2015-11-21 15:01:29 500

原创 关于一个公司的产品、技术、运营的一点领悟

好久没写博客了,这段时间也算是相当忙从在一周时间内接手一个之前没接触过的项目,后端前端,到之后参与负责的包括产品、运营、人员等等方面的整体规划、执行落地过程中收获很多,引发的思考也有一些,希望能和看到这篇文章的人分享,如果能帮助到您哪怕只是一点点我也会很开心从某种根本意义上来讲产品、技术、运营是相通的如果把具体需要的匹配能力用金字塔模型表示,那么在最顶端的应该是思维,可以理

2015-08-06 13:47:23 897

原创 phonegap(3+),android,eclipse,mac环境搭建的几个问题

花了将近一天的时间终于将环境搭建好了,中间有几个坑在这里说一下希望能节省您的时间1、一定要用最新的androidSDK,否则报错若在SDK Manager中下载连接失败可以换一个服务器推荐 http://mirrors.neusoft.edu.cn 端口:80 亲测另外我的设置实在最左上角的偏好设置里,并不在tools中2、JDK至少要升到1.7,不然出错因为新版的

2015-05-15 15:37:07 498

原创 android之关于反编译

无论您反编译的目的,这里只说说我最近反编译过程遇到的问题,希望能节省到您的时间相信反编译的方法都知道,这里只说其中的重点和几个需要注意的地方(注意这篇文章的时间是2015年5月!)。1、app反编译是分两部分的,一个资源文件res、xml的获取,一个是源码jar包的获取2、资源文件的获取可以通过图形化反编译工具Androidfby获取(mac用户请使用命令行:p),这个老版本的apkt

2015-05-08 11:36:23 324

原创 关于面试

在这里允许我打几个有一些相似性的比方。  面试一个android工程师不围绕android开发沟通却问大量java基础知识,这种行为站在公司角度来讲就像你饿了,不去吃饭却去种水稻;站在面试者角度就像我擅长画油画,你却考察我画铅笔画的能力,而且说铅笔画是绘画的基础,绘画技艺都是相通的。不免有一些隔靴挠痒的意思。这里将java基础改成算法之类的也一样。(上面的东西当然都重要,但应围绕android

2015-04-15 11:04:12 534 1

原创 android之迅速了解正则表达式

由疑问来推动的学习总是能达到一个比较好的效果下面是我们的第一个疑问如何获取匹配字符串?正则匹配和分为3步,简要介绍://1)确定规则,建立正则模型类Pattern pattern = Pattern.compile("这里填写匹配规则,即正则表达式");//2)将正则模型类和要作用的字符串相关联。获取匹配器对象Matcher matcher = pattern.match

2015-04-01 17:42:18 383

原创 android之官方网络通信框架volley

最近常常被推荐使用(且用过之后都说好),这里简要作出一个全局总结为什么使用volley?实际项目中我们经常需要频繁使用HTTP进行通信时,适当使用通信框架(或自己封装)可提升代码重用率,大大提高开发速度。而google开发团队也意识到有必要对HTTP操作进一步简化,volley应运而生。volley被设计为非常适合数据量不大,但通信频繁的网络操作,而这种操作基本可以满足互联

2015-03-30 17:02:31 356

原创 java之垃圾回收和引用类型

仅站在应用开发角度简单阐述整体概念java中谁来回收垃圾?java虚拟机启动后会自动启动一个有垃圾回收作用的线程,根据需要不定期进行垃圾回收如何判断一个实例应该被回收?简单来说通过一个引用计数器回想String和StringBuffer的区别,其中说过改变一个String对象的实际过程是另创建一个String对象,在将引用指向新创建的实例上。注意,这是原来的实例引用数为0成为垃

2015-03-30 15:14:11 606

原创 android之通过webview实现与js方法相互调用,数据交互

大致代码是这样的webView.getSettings().setJavaScriptEnabled(true);webView.addJavascriptInterface(new JavaScriptInterface( MainActivity.this), "android");public class JavaScriptInterface { Context

2015-03-27 14:44:15 449

翻译 android开发文档之Binder、IBinder

翻译一定是站在理解并成功运用的基础上的,同时重视其是否易于读者快速理解核心内容。下面以android应用工程师的视角进行翻译和注解android.os.BinderBinder类时远程对象的基类,是由IBinder定义的轻量级远程程序调用机制(即进程间通信,通信即对象间相互调用彼此的函数、对象等)的核心部分。这个类时IBinder接口的实现,其中IBinder提供

2015-03-23 14:01:48 720

原创 android平台tts中文语音合成核心代码及设置流程

因项目需要中文朗读推送信息,做了一个简单调查。现站在应用开发者角度介绍一下android系统下语音合成的开发配置流程:1)核心代码android自带api,引入包import android.speech.tts.TextToSpeech;private TextToSpeech tts;//The constructor for the TextToSpeech class, us

2015-03-21 16:40:43 4704

原创 android平台基于sip协议的网络电话实现(知识点及核心代码)

开发前思索印证的几个问题:1)关于broadcastreceiver,在静态和动态两种注册方法中若同时使用,会触发两次onReceive()方法。2)无论在service或activity中,只有动态绑定broadcastreceiver且service(或activity)实例化情况下才能在onReceive()方法中使用SipService service = (SipService)

2015-03-19 11:19:41 1602

原创 方法中使用new,变量范围探索

代码如下public void action(){ //tetromino = Tetromino.randomTetromino(); //nextOne = Tetromino.randomTetromino(); //wall[19][2] = new Cell(19,2,Tetris.T); startAction(); repaint(); KeyAdapte

2014-10-10 01:03:43 499

原创 关于static代码块只执行一次的问题

今天编写AI程序时遇到一个问题,

2014-10-07 19:45:52 2855

原创 java中对象的复制

java中简单变量默认是值传递,类使用的是引用传递,那么如何复制一个不影响原类的新类呢?Object中提供了clone()方法

2014-10-07 16:26:36 401

空空如也

空空如也

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

TA关注的人

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