您现在的位置:首页
--> 扶凯
计算机在分配变量的时候, 局部变量是存储在栈中, 全局变量是存储在全局量段。进入函数时, 变量会放到栈顶,退出时会从栈顶拿掉。它是从存储器顶部开始向下增长的。
启动 GDB 的时候, 一定要保证加了 -g 来增加代码到二进制文件中来. 代码是在指定路径,所以代码文件不存在并不行。
我们使用 Plack::Component 提供的接口来在自己创建的应用中使用这些接口. 当我们见到 $app 时, 我们就可以使用这些行为, 这显然看起来就象中间件, 但从设计的角度来讲, 分离开来比较好.
不过这个东西不是在我们的应用中必须的, 它会增加我们的复杂性.
plackup 通过执行 PSGI 的应用来开始 PSGI 的服务. 这个脚本只是非常简单的封闭了 Plack::Runner. 其它的所有都是通过 Plack::Runner 来执行.
我有写大量的代码, 但我想要是能更快更好的读代码的能力也很重要. 我和 ranguard 有一起共事的殊荣, 我发现他象一个读代码的猎豹, 非常让人羡慕. 所以我现在开始分析各种 CPAN 的模块源代码来进行练习
Plack::Builder 为中间件的开发提供了特定领域语言 domain specific language (DSL) 的风格。
每个人都会用到的就是解析 HTML, 很多人都是使用正则来进行解析. 当然我们是可以使用正则, 但是相比起我最喜欢的方案使用 Mojo::DOM 这个模块所提供的 CSS3 的选择器可以直接进行 DOM 元素的操作来讲, 这个方案有意思多了.
信号量(semaphore)的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况有关。当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待使用该资源的进程个数。
近来老见到人有内存泄漏的问题,自己写模块和例子的时候,也发现有内存泄漏的问题。。。学艺不精啊,所以特在这写一个文章来分享一下有关这方面的内容。
好象只要提到 Console 的功能, 大家最先想到的是 Firebug 或者是 Chrome. 但象我这种重度 Firefox 用户, 因为一些插件的原因, 离不开 Firefox , 所以也只能使用 Firefox 的这个功能,另外, 由于我 Blog 上的人都是运维和运维开发 ( 不会前端的运维不是好开发….^-^ ), 可能都不了解这些前端的知识, 所以根据别人 Chrome 的教程, 写了这个 Firefox 这个的教程. 让大家了解, 其实原生的 Firefox 的开发者工具也是相当不错, 和相当好用的.
因为我 Fork 了 Mojo 的项目,这样才学会了如何使用 github. 因为其它一些项目是自己创建的,也就学不会怎么和其它团队合作。 现在给这部分不一样的经验分享给大家。希望有利于大家参与到开源的项目来。
这个例子主要是讲的网页提取, 但现实中, 这种技术对于任何高延迟和事情链都可以用这个处理, 包括数据库的读取写入, 文件系统的读取写入,或者其它的长时间运行的进程. 但你需要这些都需要这些请求有能非阻塞的机制.
我们常常听到一个问题 "在众多 Perl Web 框架中, 我为什么要选择 Mojolicious?", 对于这个问题,我有太多的答案可以告诉你,但我认为最主要的区别是 Mojolicious 的设计是非阻塞的. 你们中很多人可能听说 Node.js 之所有受欢迎的原因是它是设计成非阻塞的. 当你写你的 webapp 的应用使用非阻塞的框架和技术时,你可以创建一个更加快,更加精巧的应用. 只需要很少的服务器资源来处理和其它大量程序处理相同的处理量. 虽然 Perl 有很多 Web 框架. 但只有 Mojolicious 从设计开始就是为非阻塞而生的.
为了多进程的程序能生成 UUID 在程序中使用共享内存来存放信号量, 以 P V 操作来控制不让生成 UUID 的程序会生成重复的 ID . 自己测试着后来发现出了一个奇怪的错误, 刚开始很正常,后来信号量的对象怎么样也 new 不起来.一直是没有定义.
对于 HTTP 协议, 我们在使用 POST 上传的时候, 其实是有好几种不同的处理方式的, 所以对于客户端和服务器端, 也分别都有不同的处理. 正常普通的网页在提交参数上传到服务器的时候, 主要会根据内容的不同来使用不同的处理. 所体现在不同的地方在 Content-Type 的类型.
近来看了一下大文件断点续传的开源项目, 发现了 Stream 这个好项目, 非常非常感谢作者. 然后我花了点时间, 简单的使用 Perl 来实现了一下相关的接口. 这个是非常好的用来解决不同浏览器上传文件的方案.
本着分享的精神, 给近一二年使用 Mojolicious 的经验分享给大家. 今天要分享的是怎么加强默认 Mojo 显示日志, 让我们更加好的排错。
近来大家在安装最新的 MogileFS 时,会发现测试的时候,怎么样复制文件的过程都不正常.使用 telnet 到 7001 中使用 !watch 来查看时会不断的报下面的错。
我见到很多人有一些需求。就是想给自己的程序加密。比如商业程序和一些记录着关键信息的程序。这样让自己的源代码不可读,但又不想对程序的性能靠成什么大的影响。
当然在 Perl 中也有一堆的方法来实现这个功能。因为我写的跳板程序直接给 Key 写到程序本身,所以我不希望别人能见到我的 SSH 的 Key 。所以我对整个程序进行一定程度上的加密是很有必要的。在 PHP 中有一个很出名的东西叫 Zend,给整个程序加密成不可见的,我们现在自己来实现一个简化的 Zend。在 Perl 中我们有各种好用的模块帮我们实现这种功能。我现在给大家来介绍一个使用 Filter 模块来实现的这个源代码加密功能。
网上很多人写过相关的文章,大多的人的原因是因为 header 的头部大小超了,引起响应 400 告诉是 bad request.但其实还有一种可能,就是象端口测试工具,只是检查端口是否是活的。
因为公司为了节约流量,所以准备了一下测试 Flash 的 p2p 功能,简单使用 AnyEvent 来简单实现了一个这样的 socket 的服务器并且也能正常的工作了(有小 bug 但不影响使用)。
近3天十大热文
- [70] Twitter/微博客的学习摘要
- [65] IOS安全–浅谈关于IOS加固的几种方法
- [65] 如何拿下简短的域名
- [64] find命令的一点注意事项
- [63] Go Reflect 性能
- [63] android 开发入门
- [61] 流程管理与用户研究
- [59] 图书馆的世界纪录
- [59] 读书笔记-壹百度:百度十年千倍的29条法则
- [59] Oracle MTS模式下 进程地址与会话信
赞助商广告