不灭的火

革命尚未成功,同志仍须努力下载JDK17

作者:AlbertWen  添加时间:2012-04-28 14:49:42  修改时间:2025-06-03 13:15:39  分类:06.前端/Vue/Node.js  编辑

最后经验补充:

1.鼠标经过的“未访问链接”同时拥有a:link、a:hover两种属性,后面的属性会覆盖前面的属性定义;

2.鼠标经过的“已访问链接”同时拥有a:visited、a:hover两种属性,后面的属性会覆盖前面的属性定义;

所以说,a:hover定义一定要放在a:link、a:visited的后面,,,

作者:AlbertWen  添加时间:2017-10-29 21:14:40  修改时间:2025-06-25 08:33:55  分类:招聘/面试/总结  编辑
作者:AlbertWen  添加时间:2019-03-30 23:10:18  修改时间:2025-06-27 12:30:57  分类:15.OpenResty_Lua  编辑

从 Lua 5.1 语言添加了对模块和包的支持。一个 Lua 模块的数据结构是用一个 Lua 值(通常是一个 Lua 表或者 Lua 函数)。一个 Lua 模块代码就是一个会返回这个 Lua 值的代码块。

作者:AlbertWen  添加时间:2017-10-29 09:00:41  修改时间:2025-06-21 13:45:51  分类:14.Golang/Ruby  编辑

有时候 go get 比较慢,可以考虑用迅雷等下载工具下载下来,然后再本地安装,

如:code.google.com/p/go.net/websocket,如何安装这些离线包?

先在你的 GOPATH 目录(如果不懂 GOPATH,请先弄懂)下,创建目录 src

mkdir src

复制 code.google.com.p.go.net.tar.gzsrc 目录下,解压缩,这时候目录应该看起来是这个样子,

作者:AlbertWen  添加时间:2017-10-26 18:39:36  修改时间:2025-06-21 22:28:23  分类:13.C/C++/仓颉  编辑

C 编程中,经常需要操作的内存可分为下面几个类别:

  1. 堆栈区(stack):由编译器自动分配与释放,存放函数的参数值,局部变量,临时变量等等,它们获取的方式都是由编译器自动执行的
  2. 堆区(heap):一般由程序员分配与释放,基程序员不释放,程序结束时可能由操作系统回收(C/C++没有此等回收机制,Java/C#有),注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。
  3. 全局区(静态区)(static):全局变量和静态变量的存储是放在一块儿的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后由系统释放。
  4. 文字常量区:常量字符串是放在这里的,程序结束后由系统释放。
  5. 程序代码区:存放函数体的二进制代码。
作者:AlbertWen  添加时间:2019-02-07 00:29:51  修改时间:2025-06-15 17:21:44  分类:08.Java基础  编辑
作者:AlbertWen  添加时间:2019-03-30 22:30:39  修改时间:2025-05-22 19:29:52  分类:15.OpenResty_Lua  编辑

Lua 中的 repeat 控制结构类似于其他语言(如:C++ 语言)中的 do-while,但是控制方式是刚好相反的。简单点说,执行 repeat 循环体后,直到 until 的条件为真时才结束,而其他语言(如:C++ 语言)的 do-while 则是当条件为假时就结束循环。

作者:AlbertWen  添加时间:2016-04-16 12:48:48  修改时间:2025-06-20 21:57:20  分类:13.C/C++/仓颉  编辑

在前一小节的“改写版”例程中,像下面这样将指针指向数组的初始元素。

p = &array[0];

其实也可以写成下面这样

p = array;

对于这种写法,很多 C 语言的入门书籍是这样说明的:

在 C 中,如果在数组名后不加[],单独地只写数组名,那么此名称就表示“指向数组初始化元素的指针”。

在这里,我可以负责地告诉你,上面的说明是错误的。

作者:AlbertWen  添加时间:2017-10-29 10:16:43  修改时间:2025-05-23 17:59:25  分类:14.Golang/Ruby  编辑

命令 go fix 会把指定 代码包 的所有 Go 语言源码文件中的旧版本代码修正为新版本的代码。这里所说的版本即 Go 语言的版本。代码包的所有 Go 语言源码文件不包括其子代码包(如果有的话)中的文件。修正操作包括把对旧程序调用的代码更换为对新程序调用的代码、把旧的语法更换为新的语法,等等。

作者:AlbertWen  添加时间:2018-10-18 10:36:14  修改时间:2025-07-01 06:59:38  分类:08.Java基础  编辑

ReplayingDecoder 和ByteToMessageDecoder 最大的不同就是ReplayingDecoder 允许你实现decode()和decodeLast()就像所有的字节已经接收到一样,不需要判断可用的字节,举例,下面的ByteToMessageDecoder 实现:

public class IntegerHeaderFrameDecoder extends ByteToMessageDecoder {

    @Override
   protected void decode(ChannelHandlerContext ctx,
                           ByteBuf buf, List<Object> out) throws Exception {

     if (buf.readableBytes() < 4) {
        return;
     }

     buf.markReaderIndex();
     int length = buf.readInt();

     if (buf.readableBytes() < length) {
        buf.resetReaderIndex();
        return;
     }

     out.add(buf.readBytes(length));
   }
 }