乎 乎 发几张照片

January 10th, 2010 by ahuoo No comments »

哈哈 新买的相机还没真正去拍摄过,今天拿妹开刀,show几张照片

Java 线程跟踪调试

December 31st, 2009 by ahuoo 1 comment »

前几天,由于搞了安全加固,出现了一个性能性的问题,查看日志总找不出问题的所在,cpu一下飙升100%,但内存及数据库都显示无异常,纳闷了,后来发现还有这么一玩意,还真孤陋寡闻了,在JDK里面,伟大的SUN公司其实提供了一工具名字叫:jconsole,若配置了java环境变量,可以在命令行下直接输入jconsole,会弹出一分析框,它还可以跟踪远程java主机噢,这个是在windows环境下可查看java进程的工作状况,

在liunx下面,大家可以通过: kill -3 pid 这条命令, pid为java的线程号,然后通过查看日志,就可以发现刚才java线程刚才都在做什么,是不是很神奇 ,O(∩_∩)O~

橡皮泥——设计所想

December 19th, 2009 by ahuoo 1 comment »

          一个差劲的系统设计会给后来人带来无数唾骂;一个好的设计会给后来人带来不少赞许,但现实生活中这似乎是少之又少,最近一直在研究公司数据仓库方面的建立情况,在思考如何把销售、客户、产品、用户体验等数据集中起来,构造一个横向的系统分析。 查阅了很多这方面的书籍,颇有收获,《数据仓库原理、设计与应用》陈京明的,另一本我觉得是非常不错的书,就是《Dimensional Data Warehousing with MySQL: A Tutorial》,百度里面搜“数据仓库 mysql”有别人翻译的文章,全部是实例化教学,可惜作者没翻译完,啃了一段时间的英语,因为没有去动手应用,现在都忘了说了些撒,不过对于初学者是本不错的书。

        

         本人觉得数据仓库的建立在设计环节相当重要,一个好的设计其实是建立在用户的需求上,之所以有些人设计的东西如此糟糕,说穿了,其实就是对用户的需求了解不够全面、透彻, 虽然我在这里这么说,但事物也不是绝对的,因为我们无法了解我们的用户未来的需求,我们所要做的就是做到高可伸缩性,就得像一块橡皮泥一样,可以让它变成不同的形状来满足玩者的欢心,我可以说,橡皮泥的设计者是伟大的,如此看来,能让用户随心所欲在原系统上设计出自己想要的东西是一个伟大的设计。

        

       其实不管是实体业,还是所谓的互联网、软件业,人们也一直在追寻着这个思路,小孩子玩的变形金刚,公司现在的boss平台以及那一堆IDE,都是万变不离其宗的设计。

lower等函数位置不同引起的后遗症

December 18th, 2009 by ahuoo No comments »

刚找出了一个bug,大家来看下面几条SQL:
» Read more: lower等函数位置不同引起的后遗症

如何在wordPress中使代码高亮

December 13th, 2009 by ahuoo 4 comments »

今天网上折腾了好久,终于把google的这个高亮插件给整上了,下面是SQL语句高亮的效果,不错吧 嘎嘎

SELECT year, product_name, customer_city, SUM(order_amount), COUNT(*)
FROM
  sales_order_fact a
, date_dim b
, product_dim c
, customer_dim d
WHERE
    a.order_date_sk = b.date_sk
AND a.product_sk = c.product_sk
AND a.customer_sk = d.customer_sk
GROUP BY year, product_name, customer_city
ORDER BY year, product_name, customer_city
;


» Read more: 如何在wordPress中使代码高亮

pl/sql 基础

December 12th, 2009 by ahuoo No comments »

pl/sql是什么,简单点,我的理解就是处理oracle里面的数据集的一种过程化语言!

写点pl/sql的基础,跟别的语言差不多,特别之处看注释,代码格式方面参照下面例子的风格:

运算符方面:

  1. 赋值: :=
  2. 算术: + 、-、 *、 / 、 **(乘幂)
  3. 逻辑运算: and、or、 not
  4. 比较(非空值): =、 !=、 <、 >、<= 、>= 、in、 between
  5. 比较(对空值处理): is null 、 is not null
  6. 字符串: like、 ||

条件转移逻辑方面: » Read more: pl/sql 基础

Linux内存管理

December 9th, 2009 by yh 1 comment »

相信大家如果要在VM上装大型软件的时候,有时候会有内存不够的问题,可能会报 out of memory的错误。 明明已经分了2G(一般的32bitXP电脑即便有4G内存也只能识别3G,分2G给VM已经很大方了)给VM,它还认为不够。 这个问题让笔者烦恼了一阵子,经过多次的实验,有一个解决的办法。
首先在linux命令行中 打进 free -m(以M为单位显示内存状况),会出现
total used free shared buffers cached
Mem: 2172 2163 9 0 5 187
-/+ buffers/cache: 1969 203
Swap: 3999 2076 1923

笔者在网上找了很多关于释放内存的资料,但是效果不明显。后来重装了个系统,一看,发现swap的值变大了,也没报out of memory错了。原来这个问题有另一种解决的办法,希望高手看到不要见笑,毕竟笔者刚接触linux不久,呵呵。
反正我们的物理内存Mem是固定了,就可以想办法增加Swap的值。至于怎么增大swap,待续。。。。。

与君共勉

December 8th, 2009 by yh 1 comment »

早就想有个技术博客了,早些日子在实习的公司挂了个,写了点经验,结果估计是离开公司后公司为了节省空间删了,哎~~~。
现在和小虎子一起管理这个博客,大家在大学了相识相知,现在工作了,希望能继续一起共勉,一起进步。写博客相信是自己在技术上的往前走了一步。希望能一直走linux/unix这条技术路,小虎能走数据库这条路,反正大家一起共勉吧,哈哈~~~~

oracle索引 、约束简单总结

December 6th, 2009 by ahuoo 2 comments »

撒时候应该建立索引?

  1.   表很大而且大多数查询的返回数据量很少(oracle推荐<总行数的2%——3%)
  2. 此列的取值范围很广,一般为随机分布。如年龄几乎18岁到60岁的都有
  3. 一列或多列经常出现where子句或连接条件中
  4. 表上的DML操作较少
  5. 此列中包含大量的空值(NULL)
  6. 此列不经常作为SELECT语句中某个表达式的一部分。基于函数的索引

 

 建了索引人家不一定用你的噢,如何确认伟大的oracle系统是否用了你的索引?

  1. explain plan for  select * from emp where ename like ‘J%’; //解释
  2. select id,operation,options,object_name,position from plan_table; //查看是否使用了索引

 

为什么引入约束?

  1. 当对表进行DML或DDL操作时,强加到表上的规则&条件

约束有些撒东西?

  1. (NN)非空——NOT NULL
  2. (UK)唯一——UNIQUE——在表中每一行中所定义的这列或这些列的值都不能相同
  3. (PK)主键——PRIMARY KEY——唯一标识表中的每一行
  4. (FK)外键——FOREIGN KEY——维护主表与从表之间引用完整性
  5. (CK)条件——CHECK——表中每行都要满足约束条件

linux下设置java内存堆

December 6th, 2009 by yh No comments »
   java –Xms128m   //JVM占用最小内存
     –Xmx512m   //JVM占用最大内存
     –XX:PermSize=64m   //最小堆大小
     –XX:MaxPermSize=128m //最大堆大小
 » Read more: linux下设置java内存堆