IT技术博客大学习 共学习 共进步
首页 / 扶凯
IT 2015-04-26 22:50:14 / 累计浏览 3,600

GDB 进行程序调试笔记

计算机在分配变量的时候, 局部变量是存储在栈中, 全局变量是存储在全局量段。进入函数时, 变量会放到栈顶,退出时会从栈顶拿掉。它是从存储器顶部开始向下增长的。 启动 GDB 的时候, 一定要保证加了 -g 来增加代码到二进制文件中来. 代码是在指定路径,所以代码文件不存在并不行。

IT 2015-02-26 22:29:04 / 累计浏览 1,480

Plack 代码和结构分析-PSGI Application Architecture[译]

我们使用 Plack::Component 提供的接口来在自己创建的应用中使用这些接口. 当我们见到 $app 时, 我们就可以使用这些行为, 这显然看起来就象中间件, 但从设计的角度来讲, 分离开来比较好. 不过这个东西不是在我们的应用中必须的, 它会增加我们的复杂性.

IT 2015-02-26 22:27:55 / 累计浏览 1,420

Plack 代码和结构分析-plackup Architecture[译]

plackup 通过执行 PSGI 的应用来开始 PSGI 的服务. 这个脚本只是非常简单的封闭了 Plack::Runner. 其它的所有都是通过 Plack::Runner 来执行.

IT 2015-02-26 22:22:28 / 累计浏览 1,840

Plack 代码和结构分析一[译]

我有写大量的代码, 但我想要是能更快更好的读代码的能力也很重要. 我和 ranguard 有一起共事的殊荣, 我发现他象一个读代码的猎豹, 非常让人羡慕. 所以我现在开始分析各种 CPAN 的模块源代码来进行练习

IT 2015-02-14 14:15:24 / 累计浏览 1,580

[译文]使用 Mojo::DOM 来解析和处理 HTML

每个人都会用到的就是解析 HTML, 很多人都是使用正则来进行解析. 当然我们是可以使用正则, 但是相比起我最喜欢的方案使用 Mojo::DOM 这个模块所提供的 CSS3 的选择器可以直接进行 DOM 元素的操作来讲, 这个方案有意思多了.

IT 2015-02-14 14:13:52 / 累计浏览 1,940

Perl 中的 IPC::Semaphore 信号量的操作

信号量(semaphore)的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况有关。当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待使用该资源的进程个数。

IT 2015-02-03 22:13:35 / 累计浏览 3,980

在回调和闭包中的内存泄漏

近来老见到人有内存泄漏的问题,自己写模块和例子的时候,也发现有内存泄漏的问题。。。学艺不精啊,所以特在这写一个文章来分享一下有关这方面的内容。

IT 2015-02-03 22:12:27 / 累计浏览 2,380

Firefox 开发者工具之调试控制台 Console 的使用

​好象只要提到 Console 的功能, 大家最先想到的是 Firebug 或者是 Chrome. 但象我这种重度 Firefox 用户, 因为一些插件的原因, 离不开 Firefox , 所以也只能使用 Firefox 的这个功能,另外, 由于我 Blog 上的人都是运维和运维开发 ( 不会前端的运维不是好开发….^-^ ), 可能都不了解这些前端的知识, 所以根据别人 Chrome 的教程, 写了这个 Firefox 这个的教程. 让大家了解, 其实原生的 Firefox 的开发者工具也是相当不错, 和相当好用的.

IT 2014-12-06 20:48:28 / 累计浏览 4,660

github 上 Fork 别人的项目后的常用的操作指南

​因为我 Fork 了 Mojo 的项目,这样才学会了如何使用 github. 因为其它一些项目是自己创建的,也就学不会怎么和其它团队合作。 现在给这部分不一样的经验分享给大家。希望有利于大家参与到开源的项目来。

IT 2014-12-02 23:50:19 / 累计浏览 1,800

使用 Mojolicious 写非阻塞的应用: Part 2

这个例子主要是讲的网页提取, 但现实中, 这种技术对于任何高延迟和事情链都可以用这个处理, 包括数据库的读取写入, 文件系统的读取写入,或者其它的长时间运行的进程. 但你需要这些都需要这些请求有能非阻塞的机制.

IT 2014-12-02 23:48:25 / 累计浏览 1,960

使用 Mojolicious 写非阻塞的应用: Part 1

我们常常听到一个问题 "在众多 Perl Web 框架中, 我为什么要选择 Mojolicious?", 对于这个问题,我有太多的答案可以告诉你,但我认为最主要的区别是 Mojolicious 的设计是非阻塞的. 你们中很多人可能听说 Node.js 之所有受欢迎的原因是它是设计成非阻塞的. 当你写你的 webapp 的应用使用非阻塞的框架和技术时,你可以创建一个更加快,更加精巧的应用. 只需要很少的服务器资源来处理和其它大量程序处理相同的处理量. 虽然 Perl 有很多 Web 框架. 但只有 Mojolicious 从设计开始就是为非阻塞而生的.

IT 2014-11-28 22:18:43 / 累计浏览 1,520

Perl 中信号量不能创建的问题解决方法

为了多进程的程序能生成 UUID 在程序中使用共享内存来存放信号量, 以 P V 操作来控制不让生成 UUID 的程序会生成重复的 ID . 自己测试着后来发现出了一个奇怪的错误, 刚开始很正常,后来信号量的对象怎么样也 new 不起来.一直是没有定义.

IT 2014-11-19 23:26:45 / 累计浏览 2,180

HTTP 的 POST 参数提交和上传的不同与 Mojolicious 的实现.

对于 HTTP 协议, 我们在使用 POST 上传的时候, 其实是有好几种不同的处理方式的, 所以对于客户端和服务器端, 也分别都有不同的处理. 正常普通的网页在提交参数上传到服务器的时候, 主要会根据内容的不同来使用不同的处理. 所体现在不同的地方在 Content-Type 的类型.

IT 2014-11-07 10:28:54 / 累计浏览 3,520

全平台大文件断点续传上传技术 ( 开源项目 Stream )

近来看了一下大文件断点续传的开源项目, 发现了 Stream 这个好项目, 非常非常感谢作者. 然后我花了点时间, 简单的使用 Perl 来实现了一下相关的接口. 这个是非常好的用来解决不同浏览器上传文件的方案.

IT 2013-05-28 22:20:58 / 累计浏览 3,700

Perl 程序源码怎么加密

我见到很多人有一些需求。就是想给自己的程序加密。比如商业程序和一些记录着关键信息的程序。这样让自己的源代码不可读,但又不想对程序的性能靠成什么大的影响。 当然在 Perl 中也有一堆的方法来实现这个功能。因为我写的跳板程序直接给 Key 写到程序本身,所以我不希望别人能见到我的 SSH 的 Key 。所以我对整个程序进行一定程度上的加密是很有必要的。在 PHP 中有一个很出名的东西叫 Zend,给整个程序加密成不可见的,我们现在自己来实现一个简化的 Zend。在 Perl 中我们有各种好用的模块帮我们实现这种功能。我现在给大家来介绍一个使用 Filter 模块来实现的这个源代码加密功能。

IT 2013-05-01 22:31:58 / 累计浏览 4,440

Nginx 响应 400 的处理

网上很多人写过相关的文章,大多的人的原因是因为 header 的头部大小超了,引起响应 400 告诉是 bad request.但其实还有一种可能,就是象端口测试工具,只是检查端口是否是活的。

IT 2013-05-01 18:07:24 / 累计浏览 2,820

Perl 实现 Flash 的 Socket Policy 服务器

因为公司为了节约流量,所以准备了一下测试 Flash 的 p2p 功能,简单使用 AnyEvent 来简单实现了一个这样的 socket 的服务器并且也能正常的工作了(有小 bug 但不影响使用)。