Android LinearLayout布局中 layout_weight解析 在LinearLayout的布局中,为了使各个控件能够按比例排放,一般会设置 layout_width="match_parent",并给layout_weight赋予一个值。由于Android系统在对控件的宽度进行计算时,并不是按比例计算的,所以除此设置时会比较困扰,现在有一个很简单公式。比如有4个控件,并排放置,并且想使它们的宽度比例为1:1:1:2,那么我们在计算layout
java NIO SelectionKey.OP_READ 消息为何触发 OP_READpublic static final int OP_READOperation-set bit for read operations.Suppose that a selection key's interest set contains OP_READ at the start of a selection operation. If the selector detects
Python 函数的默认参数, 关键字参数的调用 如下函数定义def hello(name, age=10, gender='F'): print 'User Info:' print 'name is %s' % name print 'age is %d' % age print 'gender is %c' % gender我们的调用方式主要有一下几种hello('Jim')hello('Jim', 11)hello('J
Python 3.x 读取文件与Python 2.x的差别 Python 2.xfor line in file("schedule.txt"): Python 3.xf = open("schedule.txt");flights = {}for line in f:
maven 命令行创建web应用 mvn archetype:create -DgroupId=com.learn -DartifactId=LearnNew -DarchetypeArtifactId=maven-archetype-webapp
Web高性能读书笔记 Web高性能测试工具ab(ApacheBench)压力测试监控工具mod_statusnmon(Linux监控工具)服务器Apache参数KeepLiveSendFile工作模式preforkworker LighttpdNgix优势在于网络I/O代理服务器Squidvarnishweb服务器
将div的scrollbar 自动移动最下面 有时候我们在做动态增长的div时,一般都是将内容append到div的最下面,但这会带来一个比较蛋疼的问题,那就是新增加的内容会被遮在最下面,比如这样如何才能让scrollbar自动移动最下面呢,这就需要js的帮助了,假设div的id为myDiv,那么使用原生的js实现如下:var myDiv = document.getElementById('myDiv');myDiv.sc
Cholesky Decomposition 原版文章请点击 Cholesky Decomposition三角矩阵三角矩阵首先是方阵,其次,如果这个方阵对角线上面或下面(不含对角线)的元素都为0的话,那么这个矩阵就被称为三角矩阵。如果是上面的元素都为0,则称之为下三角矩阵,反之则是上三角矩阵。上三角矩阵⎡⎣⎢⎢⎢⎢⎢a1100...0a12a220...0............0..a1na2na3n....ann⎤⎦⎥
最小角回归(Least Angle Regression) 背景知识最小角回归和模型选择比较像,是一个逐步的过程,每一步都选择一个相关性最大的特征,总的运算步数只和特征的数目有关,和训练集的大小无关。最小角回归训练时的输入为特征矩阵 X={X1,X2,...,XP},和期输出向量Y={y1,y2,...,yN},Xi 是长度为N的矩阵,N表示训练集的大小,P则是特征的数目。还有一点需要注意的是,向量Xi 和 Y 都是正则化之后的向量,即它们的元素的均值
Bias and Variance Tradeoff 在机器学习中,我们经常使用最小平方差来评估模型的好坏,一般而言,最小平方差越小则模型越好。而最小平方差实际上是由bias和variance两部分组成的,且这两部分不能被同时缩小。所以为了使得最小平方差最小,我们需要在bias和variance之间做一些tradeoff。由于这篇文章涉及很多的数学公式,而CSDN的博客不支持Latex语法,因而只能将这篇文章发布在自己的博客上。详细内容请点击
Ubuntu 12.04 配置 mysql 和 php,解决 mysql_connect undefined 问题 安装mysql client或者mysql server, sudo apt-get install mysql-client 或者 sudo apt-get install mysql-server。安装 php5-mysql, 安装完成后,在/etc/php5/conf.d/目录下会出现 mysql.ini 文件;这个时候直接在php中调用 mysql_connect 会出现undefined
Linux 安装 cblas, lapack, lapacke 1.确保机器上安装了gfortran编译器,如果没有安装的话,可以使用sudo apt-get install gfortran2.下载blas, cblas, lapack 源代码, 这些源码都可以在 http://www.netlib.org 上找到,下载并解压。这里提供我安装时的下载链接 http://www.netlib.org/blas/blas.tgz http://www.netli
Regular Expression Matching LeetCode 这题主要采用递归的方式解决,这样代码比较容易理解bool isMatch(const char *s, const char *p){ if(p[0] == '*') return false; else if(p[0] == 0) return s[0] == 0; else if(p[0] == '.') { if(p[1] =
Longest Palindromic Substring leetcode Manacher's Algorithm#include #include using namespace std; string longestPalindrome(string s){ // Start typing your C/C++ solution below // DO NOT write int main() function int size = s.siz
cblas_dgemm 说明 void cblas_dgemm ( const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_TRANSPOSE TransB, const int M, const int N, const int K, const double alpha, const
windows/linux 连接 mac的远程桌面 mac是自带vnc功能的,打开即可,打开的方法如下:系统偏好设置=>共享=> 屏幕共享,勾上即可。然后再在windows或者linux上安装 vnc viewer即可,可以在这里下载 real vnc viewer http://www.realvnc.com/download/
Netbeans C++ unable to resolve identifier 无法解析标识符 虽然这个错误并不影响编译,但总归看起来不舒服,要解决这个问题也很简单。右击项目,选择 Code Assistance => Reparse Project如果是中文版的话,则是:选择 代码帮助 => 重新解析项目
mac 修改网卡地址 sudo ifconfig 查看需要修改的网卡名称sudo ifconfig xxx ether xx:xx:xx:xx:xx 其中xxx表示网卡名称,后面的一串则是新的网卡地址这个修改方法只是暂时行的,重启之后就会失效
git 配置多个 remote git remote add originname1 https://origin1.com/project.gitgit remote add originname2 https://origin2.com/project.git这样我们就可以从origin1取出,然后push到origin2git pull originname1 ios:master #将originname1 中的ios
html中内嵌 php 代码 形如上面的这种内嵌格式,在有些系统的php上不是默认支持的,需要手动打开php.ini,mac系统中的该文件位于/etc/php.inishort_open_tag = On
MAC apache 将DocuemntRoot 设置为 用户目录中 permission 403 问题 例如将DocumentRoot设置为 /Users/xxx/Documents/project/myweb其实很简单,就是 执行 apache的 www用户没有Documents的读和执行权限,设置一下就解决问题了chmod 755 Documents
linux(ubuntu) php : call to undefined function mysql_connect 可以使用phpinfo()查看mysql模块有没有被加载,如果没有的话,那么可能需要安装 php5-mysql一般安装好之后,就可以解决问题了
matplotlib show() 立即返回,无效,no module named _backend_gdk 具体什么原因我也不是很清楚,但是可以使用如下方法解决,即在文件头部加两行 import matplotlibmatploblit.use('WXAgg') 或者,修改matplotlib的配置文件,一般位于/usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/matplotlibrc,修改如下backend: WXAgg如果还是没用
编写linux service并设置开机启动(Ubuntu) 1.编写自己的可执行文件,比如myservice.sh2.编写控制执行的脚本,如mytest,一定要加上可执行权限,否则会报 unrecognized service,并将mytest放到/etc/init.d中,注意开头的 10行是不能省略的,开机启动主要依靠这些头部信息,详细内容可以查看 LSBInitScripts 3. sudo update-rc.d mytest default
hadoop 配置中的坑 1. core-site.xml 中,有一个属性是 fs.default.name,而不是 dfs.default.name2. hdfs-site.xml 中,配置dfs.name.dir 和 dfs.data.dir时,如果有多条路径,用逗号隔开后,不能再加空格,hadoop不会过滤空格的,如下图中/name1,后面不能再加空格 3. 除了第一次启动之前, 不能随意format namenod
linux 下文本文件的编码格式转换 主要工具enca,没有的话需要安装enca -L zh_CN filename 可以查看文件的编码格式,如果需要转换的话,则enca -L zh_CN -x utf-8 filename 或 utf-8是目标编码格式,这个命令会覆盖原来的文件 enca -L zh_CN -x utf-8 newfile,产生新文件newfile,注意,尖括号 没有特殊含义,必须输入!!!
apache 设置虚拟主机 参照 http://httpd.apache.org/docs/2.2/vhosts/examples.html修改http.conf其中最重要的如下:Listen 80Listen 8080NameVirtualHost 172.20.30.40:80NameVirtualHost 172.20.30.40:8080ServerName www.example.comDocumentRoot /
jar 打包java class文件后,运行jar 出现 Failed to load Main-Class manifest attribute from 错误 出现该错误的原因在于没有指定main class,假设所有要打包的class文件都在classes文件夹中,解决方案如下新建一个 myManifest 文件,里面的内容很简单 Main-Class: xxx.xx.xxx或者: echo Main-Class: xxx.xxxx > myManifestjar -cvfm xxx.jar myManifest -C classes .
mysql:使用已有的记录更新另一条数据 create table test( id integer primary key, name varchar(100));例如现在在test表中有N条数据,其中有两条为12, 'hello'13, 'world'如果想把上一条中的数据改成和下一条记录一样(id除外),那么当数据比较少时,可以直接使用update test set name='world' where id=12;但如果
MySQL 配置主从备份 为了数据安全,一般都会将数据库中的数据进行备份。MySQL自带的主从备份,使用起来非常方便,而且功能强大,能够提供近似同步的性能。配置主从备份时,只需要让slave知道master的地址和端口,以及一个有备份REPLICATION SLAVE权限的账号就行了,而master则不需要知道slave相关的信息。 Master: 192.168.1.123:3306首先配置master,如
Python 图形库 PIL, matplotlib 显示中文 想让这个两个图形库能够支持中文的显示其实还是挺简单的,下面分开说明PIL支持中文:1.从windows的C:\Windows\Fonts\ 目录下拷贝一份字体文件,比如"msyh.ttc" 到某个目录,一般是"/usr/share/fonts/truetype/",当然这个无所谓2.定义一个myfont变量, myfont = ImageFont.truetype(fontpath, 24); 第
随机优化算法 对于解可以用向量或者矩阵表示的问题,可以采用随机优化的算法来求近似最优解。前提:1)解是向量或者矩阵2)最优解与其他次优解临近算法:随机优化,爬山法,模拟退火,遗传随机算法:完全随机爬山法:找到的可能是局部最优解模拟退火:按概率接受更差的解遗传:变异和交叉
python lambda 简介:lambda 表达式其实就是一个匿名函数lambda x:express(x)其中第一个x表示参数,express(x) 则是一个表达式,lambda至多只能有一个表达式。比如 f = lambda x: x + 2,那么调用f(3),就会返回 5。用途:lambda在一些和map相关的比较函数中用处比较大,比如 sorted(iterable, cmp=None, key=None, re
删除数据库中的重复记录(仅删除重复的) 背景:今天在用crawler爬数据的时候,第一次爬的时候被我意外中止了,后来又重新开始,但却忘了清除一些垃圾数据,导致在wordlocation 表中产生了不少重复的记录。wordlocation 表的定义如下 wordlocation(urlid, wordid, location),其中(urlid, wordid) 应该是唯一的。要求:从wordlocation 表中删除多余的重复数据方案:
中文分词算法 mmseg python版本 mmseg算法是对最大匹配算法的扩展。简单来说,mmseg每次匹配时,总会多向后匹配两个单词,然后选择这个三个单词的总体匹配最优的。mmseg 主要做了以下几方面的扩展:假设对字符串C1C2...Cn进行分割 匹配时,从小到大,逐个匹配字典中以C1开头的词每次连续匹配三个词语(three-word chunk ),并列出所有可能的分割选择最匹配的three-word chunk(依次运用以下规则
Latex相关网站 在线Latex https://www.sharelatex.comLatex 数学公式 http://web.ift.uib.no/Fysisk/Teori/KURS/WRK/TeX/symALL.html 在线演示网站,比PPT好很多 http://prezi.com
相似度计算(euclidean, cosine, pearson) #!/usr/bin/pythonfrom math import sqrtdef euclidean(v1, v2): length = min(len(v1), len(v2)) if length == 0: return 0 d = 0 for i in range(length): d += pow((v1[i] - v2[i]), 2)
聚类算法(层级聚类,K-Means) #!/usr/bin/pythonimport syssys.path.append('..')import modules.similarity as sim # http://hi.baidu.com/bithigher/item/6ca6844ac29d0128fb896026 import randomwords = []blogs = []data = []def getData(fi
推荐算法(userBased, itemBased) #!/usr/bin/pythonfrom math import sqrtdef genUserBasedMap(file = 'u.data'): map = {} f = open(file) for line in f: (user, item, rate) = line.split('\t')[0:3] map.setdefault(int(
统计相关的基本数学公式 期望 E(X)方差 D(X) = E((X-E(X))^2)标准差 S(X) = D(X)^0.5协方差 COV(X, Y) = E((X-E(X))(Y-E(Y)))Pearson相关系数 P(X, Y) = COV(X, Y) / (S(X)S(Y))最小二乘法斜率K K = COV(X, Y) / D(X) 或 COV(X, Y) / D(Y)
最小二乘法推导 所谓最小二乘法,就是对一系列的二维观测值进行直线拟合,假设该直线为Y = kx + b, 那么如何评判这个条直线是否能很好地拟合所有的观测值呢?最小二乘法的方法就是如果k,b使得 通过该直线计算出来的值Y和观测值yi的差的平方和最小,那么就可以认为该直线可以拟合观测值 即使得下式值最小我们可以分别对k和b进行求偏导,使得两个偏导均为0即可,即如下两式上面两个等式其实就相当于是一个二元一次方程,通过
vim 安装Powerline 1.下载Powerline, github 上有 2.解压到.vim/,注意.vim/目录下应该直接是plugin doc 之类的,如果原本就有,和原来的合并即可3.配置.vimrc, set laststatus=2 "总是显示状态栏 set t_Co=256 " Powerline 显示背景颜色
linux shell io重定向 经常在linux的shell脚本中看到 1>&2 类似的语句,这到底是什么意思?其实这里的1,2 都是linux的文件描述符,在linux中0 表示 标准输入1 表示 标准输出2 表示 错误输出还有一个比较特殊的,就是 /dev/null,这是一个无底洞,任何重定向到它的内容都不会有输出1>&2 表示把标准输出重定向到错误输出1>/dev/null 表示不输出任何标准输出的内容注意 重定向 符号前
asm call函数 section .data msg db "Hello, World, via print by myself", 0xA len equ $ - msgsection .textglobal _start_start: ; push two int into stack push msg push len call print add esp, 8 ; pop that t
python 判断中文 比如 s 是一个utf8编码的字符串,如何找出 s 中的所有中文字符?import rere.findall(ur'[\u4e00-\u9fa5]', s.decode("UTF8"))其中 [\u4e00-\u9fa5] 是标准汉字unicode编码范围,具体网上可以查到
IP地址分类 IPv4 的IP可以分为四段A类,前一段为网络地址,后三段为主机地址,从二进制格式看,第一位必须为0B类,前两段为网络地址,后两段为主机地址,从二进制格式看,前两位必须为10C类,前三类为网络地址,后一段为主机地址,从二进制格式看,前三位必须为110
安装minix选择网络 使用vmware安装minix的最后一步,是选择网卡,可以选择AMDlance.如果重启失败,那么可以采用下面的方式修复 To add a fine point to Thomas' very detailled answer, in a hacky way you can force VMware to emulate AMD Lance NIC rather that whatever d
hibernate插入中文乱码 只需要在连接数据库的url后面加上一些设置即可jdbc:mysql://202.120.40.97:33066/hbj_2012_db?userUnicode=true&characterEncoding=utf-8
css position: absolute relative absolute即绝对定位,它是相对于其父级中,第一个position为relative的进行定位,如果没有,则相对body进行定位relative即相对定位,相对其已经设定好的定位,再进行偏移
linux 配置 vim sudo vim /etc/vim/vimrc或者 修改自己home目录下的 .vimrc文件 在文件的最后添加即可比如设置tab键为4个空格,可在最后添加一行set nu " 显示行号set tabstop=4 " 使用4个空格代替tabset autoindent " 自动缩进set cindent " C语言自动缩进set laststatus=2 " 总是显示状态栏syntax on "
xp 配置 iis for asp.net 1.安装IIS: a) 控制面板 =》添加或删除程序=》添加/删除Windows组件=》 把 Internet 信息服务(IIS)勾上,下一步弹窗 b) 如果有光盘怎选择光盘,没有的话就从网上下载 iis xp 安装包,然后解压。最后选择这个解压的文件夹即可2. 配置IIS: 这个时候还不能够解析aspx ,会出现错误,需要为 IIS 注册 .NET Framework
C# 字符串格式化 变量 .ToString()字符型转换 转为字符串 12345.ToString("n"); // 生成 12,345.00 12345.ToString("C"); // 生成 ¥ 12,345.00 12345.ToString("e"); // 生成 1.234500e+004 12345.ToString("f4"); // 生成 12345.0000 12345.ToString("x"
overflow解决float浮动后高度自适应问题 即换行 也许你在做网页的时候发现,发一个区块内的元素被应用了float之后,那么整个box的高度对就不以被浮动对象的高度为标准了。如图中的城市导航内的城市列表中采用了float之后,那个外框的高度并不是内容元素的高度:怎么解决这个问题呢?经发现可以采用overflow来解决!方法是在父元素加上如下代码即可overflow:auto; zoom:1;overflow:auto;是让高度自适应, zoom:1
linux apache svn 配置 自动同步 首先是 apache 以及 subversion的安装,可以参考http://blog.163.com/buypc_hao/blog/static/10792077520124310834880/ 然后权限配置,若要配置为匿名可读需要在 Require valid-user 加上 Require valid-user需要配置自动更新也很简单首先需要svn服务器的一个目录中chec
linux 下启动关闭以及重启 apache 启动Apache服务./apachectl start 关闭Apache服务./apachectl stop 重启Apache服务./apachectl restart
ajax 对 json格式字符串解析 当使用ajax接受从后台传过来的json格式字符串时,直接使用时不行的,需要将其转换成json格式的object使用 eval函数即可var data = xmlhttp.responseText;var json = eval("(" + data + ")");
导入android 项目报错 Android requires compiler compliance level 5.0. Please fix project properties. 原因是JDK的版本不一样,可以有两种修复方式:首先清理项目,然后按以下步骤进行:1. 项目 右键 ->android tools ->Fix Project2. 如果不可以,检查Project -> Properties->Java Compiler 确认JDK compliance被设置为1.6,并且enable specific seetings.经过这两步问题基本解决。
php 获取对象的类名 get_class class foo { function name() { echo "My name is " , get_class($this) , ""; }}// create an object$bar = new foo();// external callecho "Its name is " , get_class($bar) , "";// i
通过函数名 和 数组调用 php 函数 call_user_func_array bar() method with 2 arguments $foo = new foo; call_user_func_array(array($foo, "bar"), array("three", "four")); ?>
jquery 跳出 each jquery再遍历选定的对象时候用each比较方便。有种应用是找到里面符合条件的对象后,要跳出这个循环。javascript的跳出循环一般用break.同事遇到这个问题,下意识 的用了break,想跳出这个循环。结果报错SyntaxError: unlabeled break must be inside loop or switch经查,应该用一个return false;continue是跳出
php $_SERVER 变量 $_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。这也就意味着大量的此类变量都会在? CGI 1.1 规范中说明,所以应该仔细研究一下。
快盘同步多个文件夹 快盘实现同步多个文件夹可采用以下方式操作:1、安装快盘,设定默认同步文件夹为d:\快盘;2、假设我需要同步 e:\book 文件夹,点击开始--运行--CMD回车 进入dos界面; 输入并运行以下命令即可: cd d:\快盘 mklink /d book e:\book (mklink是win7下的,xp并没有,所以在xp下,可以下载l
mssql_query() unicode data in unicode-only 是因为在MS SQL SERVER中使用ntext或者nvarchar 属性的字段,而这些属性是php所不支持的,所以会出现warning
Checksum update, reset checksum.update(byte[] b, int off, int len)是在原有checkusm的基础上进行更新,所以如果是想仅仅计算 b[off: len] 这段的checkusm值,在update之前必须要reset,即 checksum.reset(),然后在进行update
java中变量的默认值 对于变量x,如果x为主类型,且是类成员,那么它的默认值是Boolean falsechar '\u0000'byte (byte)0short (short)0int 0long 0L float 0.0f double 0.0d但如果x为局部变量,那么它的值是随机的,这和C/C++类型
java 修改文件的局部内容 /** * 修改文件中的某一部分的数据测试:将字定位置的字母改为大写 * @param fName :要修改的文件名字 * @param start:起始字节 * @param len:要修改多少个字节 * @return :是否修改成功 * @throws Exception:文件读写中可能出的错 * @author
java 中的算数右移( >> ) 和逻辑右移( >>> ) 算数右移( >> ) 在前面补充符号位, 如果原来是负数,则在前面补充 1, 否则补充0逻辑右移( >>> ) 始终在前面补充 0public class Test{ public staticvoid main(String[] args){ intx = -8; System.out.println(x >>> 24);
copy-on-write 其实也就是在要写时,才复制一份,并写在这个新的备份上,这样原来的内容就不需要修改可以参考 http://www.programlife.net/copy-on-write.html
Thread.currentThread.interrupt() Thread.currentThread.interrupt() 只对阻塞线程起作用,当线程阻塞时,调用interrupt方法后,该线程会得到一个interrupt异常,可以通过对该异常的处理而退出线程对于正在运行的线程,没有任何作用!
java static 内部类 当java的内部类中包含静态方法时,该类也必须是静态的static methods can only be declared in a static or top level type
java 中 throw 和 throws 区别 throws用于声明方法可能会抛出的异常throw则用于抛出异常int connect() throws IOException{ throw new IOException();}
问题 1.Java Thread中, yield 和 interrupt 有什么区别?2.NIO wakeup 作用是什么3.Hadoop中 socket channel 的关闭顺序问题: Connection.close()4.java 内部类的public, private,static问题, 以及内部类中方法已经参数的public,private问题5.Hashtable 的遍历为什么是这样It
ByteBuffer clear(), flip(), rewind(), remaining(), mark(), reset() ByteBuffer类是java.nio中的一个缓冲区类对于ByteBuffer而言,有四个属性 position, limit, mark, capacity0 ByteBuffer实例的方法ByteBuffer方法准备Buffer以实现结果值PositionLimitMarkByteBuffer clear()将数据read()/put() 进缓冲区0capacity未定义ByteBuffer
jQuery 调用自定义函数 在jQuery中如何才能定义并调用自定义函数呢$.extend({ 'hello': function(){ return true; }, 'world': function(){ return false; }}); $(document).ready(function(){ $.hello(); $.world();});