09 2011 档案

摘要:链表查找的时间效率为O(N),二分法为log2N,B+ Tree为log2N,但Hash链表查找的时间效率为O(1)。设计高效算法往往需要使用Hash链表,常数级的查找速度是任何别的算法无法比拟的,Hash链表的构造和冲突的不同实现方法对效率当然有一定的影响,然 而Hash函数是Hash链表最核心的部分,下面是几款经典软件中使用到的字符串Hash函数实现,通过阅读这些代码,我们可以在Hash算法的执行效率、离散性、空间利用率等方面有比较深刻的了解。下面分别介绍几个经典软件中出现的字符串Hash函数。●PHP中出现的字符串Hash函数static unsigned long hashpjw(ch 阅读全文
posted @ 2011-09-30 17:24 Lunaa 阅读(412) 评论(0) 推荐(0) 编辑
摘要:要想在linux上实现网页服务器(www)需要Apache这个服务器软件,不过Apache仅能提供最基本的静态网站数据而已,想要实现动态网站的话,最好还是要PHP与MySQL的支持,所以下面我们将会以LAMP(linux+Apache+MySQL+PHP)作为安装与设置的介绍。LAMP所需软件与其结构httpd mysql mysql-Server php php-devel php-mysql可以用rpm包安装,或者直接用yum安装#yum install httpd mysql-server php php-devel php-mysql先来了解一下apache 2.0这个版本的相关结构, 阅读全文
posted @ 2011-09-29 16:17 Lunaa 阅读(95) 评论(0) 推荐(0) 编辑
摘要:MySQL-Proxy, 6月份发布的MySQL-Proxy是处在你的MySQL数据库客户和服务端之间的程序,它还支持嵌入性脚本语言Lua。这个代理可以用来分析、监控和变换(transform)通信数据,它支持非常广泛的使用场景:负载平衡和故障转移处理 查询分析和日志 SQL宏(SQL macros) 查询重写(query rewriting) 执行shell命令 MySQL Proxy更强大的一项功能是实现“读写分离(Read/Write Splitting)”。基本的原理是让主数据库处理事务性查询,而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库 阅读全文
posted @ 2011-09-29 12:42 Lunaa 阅读(154) 评论(0) 推荐(0) 编辑
摘要:有一周学会Flex的官方教程, 现在已有中文版.http://www.riameeting.com/channel/learnflexinaweek/这个可以先看, 大概了解, 有点入门.这是我看过的关于Flex的书, 从前到后有十几本左右.http://www.douban.com/doulist/173090/推荐你先看其中的几本中文书, 按部就班的做, 很多概念就理解了.英文的书多半有电子版, 中文的多数是自己买的.当你读完基本书, 就该算是入门了, 这时候要认真研读Adobe的文档, 下载地址:http://www.adobe.com/support/documentation/en/ 阅读全文
posted @ 2011-09-24 18:55 Lunaa 阅读(137) 评论(0) 推荐(0) 编辑
摘要:Linux操作系统下IPTables配置方法详解 (1) 发布时间:2007.06.04 06:24来源:赛迪网技术社区 作者:little如果你的IPTABLES基础知识还不了解,建议先去看看。 们来配置一个filter表的防火墙 1、查看本机关于IPTABLES的设置情况 [root@tp ~]# iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain 阅读全文
posted @ 2011-09-24 12:51 Lunaa 阅读(266) 评论(0) 推荐(0) 编辑
摘要:flash安全策略的理解2011-06-25 01:48 11人阅读 评论(0)收藏 举报一直以来对flash的安全策略是一头雾水,什么安全沙箱,跨域策略文件一堆东西乱七八糟,搞不清楚。不过纠结到现在已经基本上理解了。flash的安全问题在官方手册上有足够的解释,这里我就不去去搬条文了,主要写些自己的理解。其实完全不需要去死啃手册,我们只需要用常识就可以理解flash的安全策略。所谓安全其实就是私人财产的保护问题,我们自己的财产不能随便被别人侵占或者利用。别人的财产也不能被我们自己随便的侵占和利用。那么为了达到保护私人财产的目的,首先我们要把界限划出来,也就是说什么是你的财产,什么是我的财产, 阅读全文
posted @ 2011-09-22 21:53 Lunaa 阅读(168) 评论(0) 推荐(0) 编辑
摘要:Flex Socket安全策略及应对方法2010-05-26 10:11在 Adobe Flash Player 升级到 9.0.124 后,由于安全策略更改,原来 Socket 或 XmlSocket 的应用里的 http 方式加载安全策略的手段不能继续使用。更改如下:1, 首先检测目标服务器的 843 端口是否提供安全策略 2, 如果 1 没有检测到策略,则检测 actionscript 是否使用了 Security.loadPolicyFile(xmlsocket://)手段提供安全策略,如果还没检测到,则使用第 3 步检测3, 检测目标服务器目标端口是否提供安全策略。 在说具体处理方式 阅读全文
posted @ 2011-09-22 21:48 Lunaa 阅读(445) 评论(0) 推荐(0) 编辑
摘要:C++与Flex之间socket通信policy-file-request解决方案2010-01-06 14:17 3960人阅读 评论(7)收藏 举报C++winsocket服务端,Flex as3客户端。服务端Bind绑定IP127.0.0.1端口2020,在Flex中使用Socket.connect向服务器发起链接。当Flex在本地运行的时候能链接成功, 但是通过域名访问时出现Security错误,Error #2048 。并且在连接时, 服务端收到客户端发来的消息 消息。尝试解决: 上google搜索了若干资料,我看了良久也一知半解。 出现这个问题的原因是FlashPlayer有一个安 阅读全文
posted @ 2011-09-22 21:46 Lunaa 阅读(219) 评论(0) 推荐(0) 编辑
摘要:Erlide, the Erlang IDEVlad DumitrescuCopyright © 2000-2008 Vlad Dumitrescu; parts IBM Corporation and others. SeeLegalTable of Contents1. Getting startedInstallation guideTutorialsQuick startHello WorldFeaturesA few Eclipse tipsConceptsRuntimes and backends2. ReferenceCreating a projectImportin 阅读全文
posted @ 2011-09-22 11:22 Lunaa 阅读(301) 评论(0) 推荐(0) 编辑
摘要:Visual Studio 2010 changes for VC++ (part 5)Marius Bancila C++,Visual Studio 2010-03-24 I this post I will talk about the deployment changes in VC++ 2010. When you deploy an application to another machine you have to install not only the application but all the libraries that it depends on. When you 阅读全文
posted @ 2011-09-15 23:09 Lunaa 阅读(307) 评论(0) 推荐(0) 编辑
摘要:免费使用Adobe Flash Builder 4.5方法 2011/08/09 07:25 P.M.具体步骤如下:1.到Adobe官网下载FlashBuilder 4.5,有简体中文版;语言:English / French / German / Japanese / Russian / Chinese (Simplified)http://trials2.adobe.com/AdobeProducts/FLBR/4_5/win32/FlashBuilder_4_5_LS10.exehttp://trials3.adobe.com/AdobeProducts/FLBR/4_5/win32/F 阅读全文
posted @ 2011-09-15 21:06 Lunaa 阅读(180) 评论(0) 推荐(0) 编辑
摘要:C/C++ Users Journal October, 2004 锁无关的( Lock-Free )数据结构 在避免死锁的同时确保线程继续 Andrei Alexandrescu 刘未鹏 译 Andrei Alexandrescu 是华盛顿大学计算机科学系的在读研究生,也是《 Modern C++ Design 》一书的作者。他的邮箱是 andrei@metalanguage.com。http://www.cppblog.com/sleepwom/archive/2009/02/17/74092.html在 Generic 沉默了一期之后 ( 研究生的学业总是使人不得不投入百分之百的精力 ) 阅读全文
posted @ 2011-09-09 13:41 Lunaa 阅读(185) 评论(0) 推荐(0) 编辑
摘要:透过 Linux 内核看无锁编程http://www.ibm.com/developerworks/cn/linux/l-cn-lockfree/index.html杨 小华, Linux 内核开发工程师, 自由撰稿人杨小华,目前从事 Linux 内核方面的研究,喜欢捣鼓 Linux 系统,对 Linux 中断系统比较了解。可以通过 normalnotebook@126.com 与他取得联系。简介: 多核多线程已经成为当下一个时髦的话题,而无锁编程更是这个时髦话题中的热点话题。Linux 内核可能是当今最大最复杂的并行程序之一,为我们分析多核多线程提供了绝佳的范例。内核设计者已经将最新的无锁编 阅读全文
posted @ 2011-09-09 13:20 Lunaa 阅读(265) 评论(0) 推荐(0) 编辑
摘要:Internet 浏览器用户非常熟悉插件的概念。从 Web 上下载插件,通常这些插件为浏览器的音频、视频以及特殊效果提供增强支持。一般来讲,在不更改原有应用程序的情况下,插件为现有应用程序提供新功能。DLL 是程序函数,它们在设计和构建应用程序时为该程序所知。设计应用程序的主程序时使用程序框架或底板,这些程序框架或底板在运行时选择性地装入所需的 dll,这些 dll 位于磁盘上同主程序分离的一些文件中。这一打包和动态装入提供了灵活的升级、维护、以及许可策略。随 Linux 一起交付的还有几千条命令和应用程序,它们至少都需要 libc 库函数。如果 libc 函数与每一个应用程序都打包在一起,那 阅读全文
posted @ 2011-09-07 20:34 Lunaa 阅读(124) 评论(0) 推荐(0) 编辑
摘要:共有两种库:一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。一种是LIB包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。共有两种链接方式:动态链接使用动态链接库,允许可执行模块(.dll文件或.exe文件)仅包含在运行时定位DLL函数的可执行代码所需的信息。静态链接使用静态链接库,链接器从静态链接库LIB获取所有被引用函数,并将库同代码一起放到可执行文件中。关于lib和dll的区别如下:(1)lib是编译时用到的,dll 阅读全文
posted @ 2011-09-07 20:32 Lunaa 阅读(142) 评论(0) 推荐(0) 编辑
摘要:学习Linux进程时,大家可能会遇到同样的问题,这里简单概括了Linux进程kill命令以及Linux控制多个命令的方法,经过总结,在这里拿出来和大家分享一下,希望对大家有所帮助.......Linux kill命令当需要中断一个前台进程的时候,通常是使用组合键;但是对于一个后台进程恐怕就不是一个组合键所能解决的了,这时就必须求助于kill命令。该命令可以终止后台进程。至于终止后台进程的原因很多,或许是该进程占用的CPU时间过多;或许是该进程已经挂死。总之这种情况是经常发生的。Linux进程中的kill命令是通过向进程发送指定的信号来结束进程的。如果没有指定发送信号,那么默认值为TERM信号。 阅读全文
posted @ 2011-09-07 19:21 Lunaa 阅读(147) 评论(0) 推荐(0) 编辑
摘要:学习Linux进程时,大家可能会遇到同样的问题,这里简单概括了Linux进程kill命令以及Linux控制多个命令的方法,经过总结,在这里拿出来和大家分享一下,希望对大家有所帮助.......Linux kill命令当需要中断一个前台进程的时候,通常是使用组合键;但是对于一个后台进程恐怕就不是一个组合键所能解决的了,这时就必须求助于kill命令。该命令可以终止后台进程。至于终止后台进程的原因很多,或许是该进程占用的CPU时间过多;或许是该进程已经挂死。总之这种情况是经常发生的。Linux进程中的kill命令是通过向进程发送指定的信号来结束进程的。如果没有指定发送信号,那么默认值为TERM信号。 阅读全文
posted @ 2011-09-07 19:21 Lunaa 阅读(438) 评论(0) 推荐(0) 编辑
摘要:$ kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR213) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD18) SIGCONT 19) SIGSTOP 20) SIGTSTP ... 阅读全文
posted @ 2011-09-07 19:18 Lunaa 阅读(146) 评论(0) 推荐(0) 编辑
摘要:$ kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR213) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD18) SIGCONT 19) SIGSTOP 20) SIGTSTP ... 阅读全文
posted @ 2011-09-07 19:18 Lunaa 阅读(225) 评论(0) 推荐(0) 编辑
摘要:1 概述 在计算机三维图像中,投影可以看作是一种将三维坐标变换为二维坐标的方法,常用到的有正交投影和透视投影。正交投影多用于三维健模,透视投影则由于和人的视觉系统相似,多用于在二维平面中对三维世界的呈现。透视投影(Perspective Projection)是为了获得接近真实三维物体的视觉效果而在二维的纸或者画布平面上绘图或者渲染的一种方法,也称为透视图[1] 。它具有消失感、距离感、相同大小的形体呈现出有规律的变化等一系列的透视特性,能逼真地反映形体的空间形象。透视投影通常用于动画、视觉仿真以及其它许多具有真实性反映的方面。2 透视投影的原理 基本的透视投影模型由视点E和视平面P两部分构成 阅读全文
posted @ 2011-09-05 22:26 Lunaa 阅读(323) 评论(0) 推荐(1) 编辑
摘要:1 概述 在计算机三维图像中,投影可以看作是一种将三维坐标变换为二维坐标的方法,常用到的有正交投影和透视投影。正交投影多用于三维健模,透视投影则由于和人的视觉系统相似,多用于在二维平面中对三维世界的呈现。透视投影(Perspective Projection)是为了获得接近真实三维物体的视觉效果而在二维的纸或者画布平面上绘图或者渲染的一种方法,也称为透视图[1] 。它具有消失感、距离感、相同大小的形体呈现出有规律的变化等一系列的透视特性,能逼真地反映形体的空间形象。透视投影通常用于动画、视觉仿真以及其它许多具有真实性反映的方面。2 透视投影的原理 基本的透视投影模型由视点E和视平面P两部分构成 阅读全文
posted @ 2011-09-05 22:26 Lunaa 阅读(321) 评论(0) 推荐(0) 编辑
摘要:游戏中抛物线的计算2010-06-02 00:07 515人阅读 评论(1)收藏 举报最近在设计一个炮打怪物的游戏动作,大炮打出子弹后子弹沿抛物线轨迹运行,同时怪物也在移动。因此就需要预计子弹会与怪物在何处相遇。好吧,众所周知,三点确定一抛物线,那我们就来找三个点吧。(x1,y1),子弹发射点;(x2,y2),目标所在点;第三个点该如何确定呢?其实这里我们需要再给出一个条件。一般游戏效果会有这几种要求:--第一种--抛物线的高度为定值:如图,有几个点很重要,a(x1,y1) ,子弹的发射点;c(x2,y2), 目标的当前位置;b现在还不知道,也就是子弹的射击点另外需要知道目标的移动速度v2,抛 阅读全文
posted @ 2011-09-03 23:52 Lunaa 阅读(190) 评论(0) 推荐(0) 编辑
摘要:游戏中抛物线的计算2010-06-02 00:07 515人阅读 评论(1)收藏 举报最近在设计一个炮打怪物的游戏动作,大炮打出子弹后子弹沿抛物线轨迹运行,同时怪物也在移动。因此就需要预计子弹会与怪物在何处相遇。好吧,众所周知,三点确定一抛物线,那我们就来找三个点吧。(x1,y1),子弹发射点;(x2,y2),目标所在点;第三个点该如何确定呢?其实这里我们需要再给出一个条件。一般游戏效果会有这几种要求:--第一种--抛物线的高度为定值:如图,有几个点很重要,a(x1,y1) ,子弹的发射点;c(x2,y2), 目标的当前位置;b现在还不知道,也就是子弹的射击点另外需要知道目标的移动速度v2,抛 阅读全文
posted @ 2011-09-03 23:52 Lunaa 阅读(969) 评论(0) 推荐(1) 编辑
摘要:Python 的标准安装包括了一组模块,称之为标准库(standard library)。前几篇blog中已经提到如何引用和使用第三方的模块,这次主要说明自定义模块在其它模块的调用,以及包括这些模块的工作方式。在项目开发,程序员会考虑代码的可扩展性和代码的可重用性,使用模块的好处,就是考虑使用了代码的可重用性。模块任何Python程序都可以作为模块导入,例如:编写一个hello.py文件,包名:com.easymorse#!/usr/bin/python#-*- coding: utf-8 -*-#Filename: hello.pyprint 'Hello Jordy!'程序 阅读全文
posted @ 2011-09-02 14:35 Lunaa 阅读(231) 评论(0) 推荐(0) 编辑
摘要:环境: 本人的PYthon开发环境为Eclipse3.2, PyDev插件。Python版本为3.1版本。下载pygame-1.9.1.win32-py3.1.msi直接进行安装。在python第三方库目录C:/Python31/Lib/site-packages看到pygame已经安装。在eclipse中建立Python项目,输入import pygame是无法找到该模块。怀疑是相应的开发配置路径有问题。方法: 选择Eclipse中的Python解释器对话框,Project->Properties->PyDev-Interpreter/Grammar,点击Click here t 阅读全文
posted @ 2011-09-02 12:55 Lunaa 阅读(448) 评论(0) 推荐(0) 编辑
摘要:环境: 本人的PYthon开发环境为Eclipse3.2, PyDev插件。Python版本为3.1版本。下载pygame-1.9.1.win32-py3.1.msi直接进行安装。在python第三方库目录C:/Python31/Lib/site-packages看到pygame已经安装。在eclipse中建立Python项目,输入import pygame是无法找到该模块。怀疑是相应的开发配置路径有问题。方法: 选择Eclipse中的Python解释器对话框,Project->Properties->PyDev-Interpreter/Grammar,点击Click here t 阅读全文
posted @ 2011-09-02 12:55 Lunaa 阅读(170) 评论(0) 推荐(0) 编辑
摘要:windows下搭建eclipse+pyghon+pygame的开发环境 1 http://www.eclipse.org 官网下载IDE开发工具,推荐使用eclipse for j2ee 2 http://www.python.org官网下载python的开发环境,下载后直接安装,如C:/python25 3 http://www.pygame.org下载对应python的pygame版本,下载后和python安装在同一目录下 如上一步中的 C:/python25中 4 在eclipse中安装python的插件 help-->install new software-->add- 阅读全文
posted @ 2011-09-02 11:15 Lunaa 阅读(156) 评论(0) 推荐(0) 编辑
摘要:windows下搭建eclipse+pyghon+pygame的开发环境 1 http://www.eclipse.org 官网下载IDE开发工具,推荐使用eclipse for j2ee 2 http://www.python.org官网下载python的开发环境,下载后直接安装,如C:/python25 3 http://www.pygame.org下载对应python的pygame版本,下载后和python安装在同一目录下 如上一步中的 C:/python25中 4 在eclipse中安装python的插件 help-->install new software-->add- 阅读全文
posted @ 2011-09-02 11:15 Lunaa 阅读(224) 评论(0) 推荐(0) 编辑
摘要:有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的struct模块来完成.可以用struct来处理c语言中的结构体.struct模块中最重要的三个函数是pack(), unpack(), calcsize()pack(fmt, v1, v2, ...) 按照给定的格式(fmt),把数据封装成字符串(实际上是类似于c结构体的字节流)unpack(fmt, string) 按照给定的格式(fmt)解析字节流string,返回解析出来的tuplecalcsize(fmt) 计算给定的格式(fmt)占用... 阅读全文
posted @ 2011-09-01 14:01 Lunaa 阅读(405) 评论(0) 推荐(0) 编辑
摘要:有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的struct模块来完成.可以用struct来处理c语言中的结构体.struct模块中最重要的三个函数是pack(), unpack(), calcsize()pack(fmt, v1, v2, ...) 按照给定的格式(fmt),把数据封装成字符串(实际上是类似于c结构体的字节流)unpack(fmt, string) 按照给定的格式(fmt)解析字节流string,返回解析出来的tuplecalcsize(fmt) 计算给定的格式(fmt)占用... 阅读全文
posted @ 2011-09-01 14:01 Lunaa 阅读(1339) 评论(0) 推荐(0) 编辑