技术笔记
tangchen2016
致力于提高软件综合技术水平,分享自己成长经历
展开
-
[心得]mysql基本命令整理
看过了好多数据库概念,下面要进入实战了。看基本命令。登陆mysql:$ mysql -u root -pxxx应该看到类似这样的提示信息才算登录成功:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 7Server version: 5.1.73 Source distr原创 2016-10-09 12:41:29 · 374 阅读 · 0 评论 -
[心得]http服务不通的解决之道
背景在公司的环境下搭建了一套pip私服。需要跨域访问。走了弯路,希望后来者记住centOS下的防火墙可能做怪。干货自己想尽各种招数,就是如下: 本机:curl http://localhost:3141<html><head><title>Welcome to pypiserver!</title></head><body><h1>Welcome to pypiserver!</h1><p>原创 2016-10-28 13:42:00 · 2021 阅读 · 0 评论 -
[心得] python打包
干货安装pyinstallerpip install pyinstallerpyinstaller : 打包可执行文件的主要命令pyi-archive_viewer : 查看可执行包里面的文件列表。pyi-bindepend : 查看可执行文件依赖的动态库(.so或.dll文件)pyInstaller支持单文件模式,只需要执行:pyinstaller -F mycript.py你会发现di原创 2016-10-28 13:56:18 · 636 阅读 · 0 评论 -
[心得] docker目录迁移心法
我们在一台jenkins机器上/tmp目录磁盘空间不够了,而/tmp挂载到/目录。最后一查根目录。定位到是/var/lib/docker目录太大。于是有了迁移这个目录的需求。du -sh /tmp/* | sort -h干货1.首先,备份fstab文件 sudo cp /etc/fstab /etc/fstab.$(date +%Y-%m-%d) 2.停止dockerservice docker原创 2016-10-19 11:18:43 · 3769 阅读 · 0 评论 -
[经验]Google Nexus5下刷的Android4.4在AS下找不到设备的解决方法
我刷过机器,android4.4.4,连上android studio之后发现找不到设备。经过万能的谷哥指导,原来: setting About this phone 一直点那个版本号(build number)终于出来那个开发者选项。 然后开启usb debugging。下次android studio就找到设备了!原创 2016-10-07 17:26:26 · 531 阅读 · 0 评论 -
[心得]算法和数据结构Ellis Horowitz大神知识整理
主要取材自两本书: 计算机算法C++语言描述 第2版 Ellis Horowitz et al著 数据结构基础C语言版第2版 Ellis Horowitz et al著这个作者的写书风格很符合我这个非科班计算机从业者的胃口。数据结构基础前8章我去年仔细动手做过一遍,因此这次整理的是9~12章的高级内容。传统算法书只对很少的几个问题给出最优算法,但对设计过程着墨较少。作者认为算法书应该以设计为主分原创 2016-10-08 00:13:00 · 1215 阅读 · 0 评论 -
[心得] 测试开发工程师成长之路
不懂业务基础,做手动测试就是瞎做。自动化测试也是如此。随着测试在软件开发周期中越来越受到重视,BAT大部分开始取消了测试工程师职位,全部变成了测试开发职位。需要在具有测试能力的基础上兼备开发能力;另一方面自动化测试成为趋势,利用开发的技巧解决测试中的问题以提高测试效率,降低QA与RD的人力比。潜意识里面测试的技术含量没有开发高。客观地说,在软件编码方面测试开发的技术含量确实不如纯正的开发职位,更不用原创 2016-10-19 23:57:08 · 20500 阅读 · 3 评论 -
[心得]程序设计语言实践之路第2版知识整理
前言原书第4版已经与2015年圣诞节问世,我看的第2版是10年前的版本。里面列举的例子有点过时。第2版比第3版翻译得更好一点。不过像现在通常称为垃圾回收的,在译本里叫物料回收,一码事儿。另外,第4版已经从原来的13章经扩充为17章经了。 这本书讨论编程语言的工作原理和技术,阐述编程语言的重要基础概念。我特别推荐在学习具体编程以前学学这本书。当然要是之前再学一点编译原理更完美。干货正则表达式和上下无原创 2016-10-30 15:13:36 · 850 阅读 · 0 评论 -
[心得]UNP知识整理
Unix网络编程是一本系统编程的经典书籍。这里整理了相关知识。#include "unp.h"intmain(int argc, char **argv){ int sockfd, n, counter = 0; char recvline[MAXLINE + 1]; struct sockaddr_in原创 2016-10-30 20:02:02 · 388 阅读 · 0 评论 -
[心得]APUE高级编程知识整理
主要动手去练习。SVR4 Unix System V Release4FreeBSD Berkeley Software DistributionMacOS X核心为Darwin,它基于Mach内核和FreeBSD的组合。UNIX大多数文件IO只需5个函数:open,read,write,lseek,close。未完待后续补充。原创 2016-10-30 21:07:14 · 211 阅读 · 0 评论 -
[心得]广告技术框架知识整理
首先从广告主用户端来看, 接触的是Sell side platform,简称SSP,SSP对接的是实时广告竞价平台Real time bid,简称RTB,RTB下方对应Demand side platform,简称DSP。DSP再往下就是真正的广告了。RTB通过一个广告竞价引擎连接到广告主或者广告代理商。其次,从广告竞价引擎来看,用户通过界面连到Aution服务器,这个服务器需要和特征系统,竞价系原创 2016-10-08 17:44:54 · 531 阅读 · 0 评论 -
[心得]Mac下编译thrift踩坑总结
thrift 0.8.0安装8的时候会遇到如下问题,并按如下解决:Osx 10.10 是比较新的系统, 从这个版本开始, 系统默认编译器从GCC 改为 Clang(gcc -v 一下, 给的是clang 的提示). Thrift 0.8 代码相对又比较老, 在新的编译器上遇到了下列一些问题.问题1 :多个源码文件报错 # include原创 2016-11-17 19:48:00 · 1831 阅读 · 0 评论 -
[心得]基于vim打造高级代码开发环境
代码编辑工具犹如古代士兵战场上的战马,非常重要。于是狠心补齐了一下这个短板。主要参考的是两个资料: https://github.com/yangyangwithgnu/use_vim_as_ide#6.1 http://blog.csdn.net/zxasqwedc/article/details/12358275插件搜索来自这里: https://github.com/vim-script原创 2016-10-01 10:55:33 · 758 阅读 · 0 评论 -
[心得]Java版UDP和TCP C-S代码
UDPClient套接字,主要使用类DatagramSocket和DatagramPacketimport java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.SocketException;/原创 2016-10-02 14:01:13 · 480 阅读 · 0 评论 -
[心得]基于Flask技术的web博客开发总结
Flask主要依赖werkzeng和jinja2模板。 werkzeng提供route,debug和web服务,jinja2模板提供网页前端展示功能。 bootstrap是twitter的一个开源框架,它提供的用户界面的组件可以方便地在flask中复用。开发完一个项目之后,可以用pip freeze > requirements.txt来把开发中调用的依赖库dump到一个文件。 当部署时,pi原创 2016-10-16 15:15:18 · 1321 阅读 · 0 评论 -
[心得] Thrift协议以及相关压测经验踩坑总结
基于HTTP的协议在互联网甚为流行。然后当传输效率更重要时,PB,Thrift协议以及Facebook2015年开源的超高速数据传输工具(Warp speed Data Transfer,WDT)。这里对thrift协议做一下踩坑介绍。 目前流行的服务调用方式有很多种, 例如基于 SOAP 消息格式的 Web Service, 基于 JSON 消息格式的 RESTful 服务等。其中所用到的数原创 2016-11-26 23:18:17 · 2839 阅读 · 0 评论 -
[心得] uml各种符号的含义
面向对象也就那么点事情,平时看了好多理论,但真记不住各种符号。懒人不喜欢查资料,就做个笔记加强记忆呗!这个博文是从这里看到的: http://www.cnblogs.com/duanxz/archive/2012/06/13/2547801.html依赖—>虚箭头 关联->实线箭头聚合(强关联)空心菱形头组合(强聚合)实心菱形头泛化(继承) 空心三角头+实线实现 空心三角头 + 虚线1.聚合与翻译 2016-11-27 10:58:04 · 533 阅读 · 0 评论 -
[心得]利用docker做编译库环境总结
升级gcc4.8.4,遇到的一些坑总结在这里。首先是要检查docker有哪些镜像: docker images 发现我们要的那个image没有先清理掉之前限制的docker container:docker rm $(docker ps -a -q)然后是删掉一些没有tag的imagesdocker rmi $(docker images | grep "^<none>" | awk "{pri原创 2016-10-18 14:37:48 · 4737 阅读 · 0 评论 -
[心得]应用nginx反向代理远程触发jenkins任务
应用背景deploy平台在A,通过http触发A内网的测试机,但是B地的机房到A内网的测试机器不通。我们不想在B的内网重复部署一套测试环境,最后决定在A上部署一套反向代理,处理B地机房访问A内网测试机器的请求。开干我们的环境是CentOS,不要再费劲去下载nginx包,捣鼓安装这种体力活,最简单的方法是:$sudo yum install nginx -y这样系统自动处理好了包依赖问题。$ sudo原创 2016-10-04 16:49:17 · 1218 阅读 · 0 评论 -
[心得]算法设计阅读笔记
算法设计 Jon Kleinberg, Tardos著这本书是康纳尔大学的教材,我是看在世界著名计算机教材系列的名头上买的。买回来一看就后悔了,这边教材讲解风格不是我喜欢的,看起来费劲,以后买书要注意先粗略读一遍再买,免得浪费银子。cook认为对计算机性能影响最大的因素是算法,编译器和机器组织。而Knuth的TAOCP被誉为计算机工作者的圣经。许多实际问题的求解都依赖于有效算法的设计与实现。原创 2016-10-10 00:39:00 · 753 阅读 · 0 评论 -
[心得]操作系统概念知识整理
Abraham Silberschatz et al 7ed操作系统大致提供以下服务: 1. 用户界面 2. 程序执行 3. IO操作 4. 文件系统操作 5. 通信 6. 错误检测 7. 资源分配 8. 统计 9. 保护和安全系统调用分成5大类: 1. 进程控制 2. 文件管理 3. 设备管理 4. 信息维护 5. 通信创建虚拟机的根本原因是,在并行n个不同的执行环境能原创 2016-10-08 21:13:41 · 825 阅读 · 0 评论 -
[心得]利用python并发提速上线测试效率
背景在我们的工作中,分布式的生产环境要求我们提高测试效率。原先的上线job串行执行,严重制约了我们的上线效率。我们从两个层面来解决问题:jenkins job层面,设置里面勾选Execute concurrent builds if necessary来实现多job并行。脚本层面,引入python并发来解决脚本内串行的问题。取舍关于多线程还是多进程的取舍。 如果是IO密集型,线程和进程都可以,相对原创 2016-10-23 21:21:26 · 843 阅读 · 0 评论 -
[心得]编译原理知识整理
前言不学龙书的码农不是靠谱的码农。就冲这句话,我真的把编译原理给速推了一把。干货分析把源程序分解成多个组成要素,并在这些要素之上加上语法结构。 综合根据中间表示和符号表中的信息来构造目标程序。 把声明如何完成一个计算任务的语言称为强制式语言。编译器最基本的数学模型是有穷状态机FSM和正则表达式。它们用来描述词法单位(关键字,标识符)以及被编译器用来识别这些单位的算法。此外,上下文无关文法用于描述原创 2016-10-25 08:19:06 · 6031 阅读 · 0 评论 -
[心得]CentOS优雅后台运行的几种姿势
直接上菜标准service方式。采用RPM DEB发型包安装时推荐,包内自带sysV,systemd风格的启动程序,nohup cmd & 后台长期运行,加上管道打到日志。screen 其父进程不是sshd,而是screenscreen -dmS myscreenscreen -r miscreantscreen -list断开环境用sshd,重新接管用:screen -r miscr原创 2016-10-26 11:39:17 · 1482 阅读 · 0 评论 -
[笔记] android/iOS自动化测试神器Appium小结
10大移动App测试要领选择Android还是iOS 全球80% android 美国60% android选择手机品牌 49%苹果 29%三星注意行业差异 iOS在零售和航空业最受欢迎 Android在移动广告业流行Android细分版本碎片多注意经典机型保有量:iPhone/Nexus5/Galaxy S2分析目标市场应用情况区分地区,运营商和网络适配屏幕分辨率关原创 2016-10-16 17:27:45 · 1567 阅读 · 0 评论 -
[心得]算法与数据结构学习笔记
引言想来算法与数据结构方面的书我读了好几本了。是时候真正动手写功能了,因此关于算法和数据结构系列博客也算是收个尾巴。干货Kurt Mehlhorn和Peter Sanders这本书200来页,涵盖那么宏大的两个主题,因此必然是泛泛而谈的。我简单观其大略。里面讨论了自适应和遗传算法,这个是当时我买这本书的唯一原因。因为其他的书对这个算法讨论较少。自适应是指在通信信号处理中,根据处理数据的特征,自动调整原创 2016-10-16 17:59:36 · 1275 阅读 · 0 评论 -
[心得]应用编译原理知识解决问题
背景 项目中要使用C++或C语言解析JSON格式的数据,把解析的结果放到一个通用的数据结构。作为web服务层(这一层大家可以认为是类似于PHP服务器或webpy的服务器容器)到web页面层(这一层是语法类似PHP脚本或者tornardo模板)的数据传输的协议。如果使用类似rapidJson或者是jsoncpp之类的Json解析器,相当于我们要做: JSON文档 -> json DOM -> 通原创 2016-10-01 16:13:33 · 1385 阅读 · 0 评论 -
[心得]给CentOS6.5升级开发工具gcc
一、背景在给centos6.5配置vim插件管理工具vundle时,首先遇到的问题是当时升级的python2.7是按静态库编译的,解决方法是重新用动态库的方法编译了python2.7: 具体参数忘了,是用google查到的解决方法。 当动态.SO库文件准备好后,系统总是报告找不到动态库。 百思不得解,最后是隔了几天重启虚拟机python这个动态库才生效。。汗重新编译YouCompleteMe:原创 2016-09-30 21:07:24 · 1138 阅读 · 0 评论 -
[原创]互联网工作环境(Mac+CentOS)ABC
以下归纳整理了互联网工作环境的一些笔记心得。先说硬件和操作系统环境:Macbook Pro me866 Mac OS X Yosemite 10.10.5 CentOS6.5Mac工作环境的操作习惯MAC快捷键 Mac 菜单和键盘通常使用符号来代表某些按键,其中包括以下修饰键:Command ⌘ Shift ⇧ Option ⌥ Control ⌃ Caps Lock ⇪ Fn原创 2016-09-29 22:00:07 · 697 阅读 · 0 评论 -
[心得]AUP Unix编程艺术知识整理
一、哲学Unix哲学: 一个程序只做好一件事 程序要能处理文本流归纳起来一句话: Kiss:keep it simple,stupid展开是以下原则:1.模块单一职责:编程本质是控制复杂度,新闻服务端模块化就是这样一种例子 2.清晰胜于机巧 3.策略同机制分离,接口同引擎分离,MVC就是这样一个例子 4.简洁至上 5.设计考虑过滤器拼接组合,servin原创 2016-09-29 18:57:54 · 536 阅读 · 0 评论 -
[原创]MySQL sharding分片技术整理
当系统压力超过初始设计时,可以考虑sharding设计。 MySQL5以后提供了sharding分片能力,按照物理位置贴合用户分布整合数据,从而得到更快响应。sharding分为垂直分区和水平分区。垂直就是把不同的表分散到不同的数据库或主机。适合耦合度低系统。水平分区以行为单位,将同一个表的数据拆分到不同数据库或主机上,适合复杂系统。此外,sharding还可以分为静态和动态。静态即分区键是静态分原创 2016-10-02 08:55:58 · 4763 阅读 · 0 评论 -
[心得]分布式系统概念与设计知识整理
前言DISTRIBUTED SYSTEMS Concepts and Design Fifth Edition George Coulouris et al 因为学习推荐算法的缘故,打算系统补习一下分布式系统相关的概念。 找到了这本书,第五版,中文名:分布式系统:概念与设计花了整整1天读下来,收获很多,没有浪费时间。确实如做这个丛书的编辑所言:计算机领域经典著作,被誉为是衡量所有其他分布式系统教原创 2016-10-02 13:08:15 · 16437 阅读 · 0 评论 -
[心得]数据库系统概念知识整理
前言来自机工出版社,数据库领域的殿堂级作品,夯实数据库理论基础,增强数据库技术内功的必备之选,对深入理解数据库,深入研究数据库,深入操作数据库都具有极强的指导作用!最新版是第6版,我看的是第5版。笔记数据库系统是对数据进行存储,管理,处理和维护的软件系统。数据库管理系统DBMS由一个互相关联的数据集合和一组用以访问这些数据的程序组成,这个数据集合称作数据库。在文件处理系统中存储和组织数据的主要弊端:原创 2016-10-03 00:32:23 · 14005 阅读 · 0 评论 -
[心得]3种编程环境下多线程编程示例
首先是pthread:#include <pthread.h>#include <stdio.h>#include <stdlib.h>int sum;void *runner(void *param);/*the thread*/int main(int argc, char *argv[]){ pthread_t tid; pthread_attr_t attr;原创 2016-10-03 12:00:19 · 444 阅读 · 0 评论 -
[心得]详解MySQL三种删除表的方法
大家都知道,删除表有三种方法:drop,delete,和truncate。工作中有时候图省事,全部drop掉。但没有仔细分析为啥drop最省事。这个问题经常在面试中被问到。drop,不带where子句的delete,以及truncate都会删除表内数据。不同的方面如下: 1. delete是一种DML,它会放到rollback segment,事务提交之后才生效。如果有对应的触发器,那么执行时还会原创 2016-10-04 00:35:14 · 4255 阅读 · 0 评论 -
[心得] RPC学习
深入浅出RPC对两篇博文做一下笔记:http://blog.csdn.net/mindfloating/article/details/39473807http://blog.csdn.net/mindfloating/article/details/39474123服务化和微服务化渐渐成为中大型分布式系统架构的主流方式,而 RPC 在其中扮演着关键的作用。RPC 的全称是 Remote P翻译 2016-11-27 11:57:00 · 1172 阅读 · 0 评论