不灭的火

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

作者:AlbertWen  添加时间:2017-10-29 09:53:17  修改时间:2025-08-12 04:59:08  分类:14.Golang/Ruby  编辑

Golang 的 Cookie

web 开发免不了要和 cookie 打交道。Go 的 http 库也提供了 cookie 的相关操作。

type Cookie struct {
  Name       string
  Value      string
  Path       string
  Domain     string
  Expires    time.Time
  RawExpires string
  MaxAge     int
  Secure     bool
  HttpOnly   bool
  Raw        string
  Unparsed   []string
}

Name 字段为 cookie 的名字,Value 是其值,剩下的 Path 和 Domain 则是 cookie 的存储的范围。Expires 是 cookie 的过期时间,如果不设置,那么这是一个 session 型的 cookie,即浏览器会话有用,一旦关闭浏览器,cookie 随即会被删除。

作者:AlbertWen  添加时间:2017-12-07 11:08:38  修改时间:2025-08-12 04:57:33  分类:MySQL/Redis  编辑
作者:AlbertWen  添加时间:2019-03-31 10:08:44  修改时间:2025-08-12 03:30:33  分类:15.OpenResty_Lua  编辑

我们先来看看最简单的本地静态文件服务配置示例:

server {
        listen       80;
        server_name www.test.com;
        charset utf-8;
        root   /data/www.test.com;
        index  index.html index.htm;
}
作者:AlbertWen  添加时间:2017-10-29 20:56:39  修改时间:2025-08-12 04:57:38  分类:14.Golang/Ruby  编辑
package main

import (
    "fmt"
)

type A struct {
    Text string
    Name string
}

func (a *A) Say() {
    fmt.Printf("A::Say():%s\n", a.Text)
}

type B struct {
    A
    Name string
}

func (b *B) Say() {
    b.A.Say()
    fmt.Printf("B::Say():%s\n", b.Text)
}

func main() {
    b := B{A{"hello, world", "张三"}, "李四"}

    b.Say()
    fmt.Println("b的名字为:", b.Name)

    // 如果要显示 B 的 Name 值
    fmt.Println("b的名字为:", b.A.Name)
}

输出:

A::Say():hello, world
B::Say():hello, world
b的名字为: 李四
b的名字为: 张三
作者:AlbertWen  添加时间:2016-02-12 22:32:58  修改时间:2025-08-12 04:49:47  分类:13.C/C++/仓颉  编辑

本小节主要描述了如何在工程中使用多目录、各种安装指令以及CMAKE_INSTALL_PREFIX变量(你真够牛的,这么点东西居然罗唆了这么多文字)在下一小节,我们将探讨如何在cmake中构建动态库静态库,以及如何使用外部头文件外部共享库,毕竟,这是程序编写中最长使用的(对了,你知道用怎样的gcc参数可以直接构建静态库和动态库吗?)

作者:AlbertWen  添加时间:2018-09-23 17:32:38  修改时间:2025-07-31 00:56:46  分类:团队/项目管理  编辑

项目开发阶段流程

作者:AlbertWen  添加时间:2017-10-26 14:49:22  修改时间:2025-08-12 04:57:49  分类:13.C/C++/仓颉  编辑

首先给出《The_C_Programming_Language》这本书中的例子:

#include <stdio.h>

int main()
{
	int c;
	c = getchar();
	while (c != EOF)
	{
		putchar();
		c = getchar();
	}

	return 0;
}

这里主要解释下为什么要用int型来接受getchar函数。

作者:AlbertWen  添加时间:2019-03-30 22:18:54  修改时间:2025-08-12 03:30:38  分类:15.OpenResty_Lua  编辑

流程控制语句对于程序设计来说特别重要,它可以用于设定程序的逻辑结构。一般需要与条件判断语句结合使用。Lua 语言提供的控制结构有 ifwhilerepeatfor,并提供 break 关键字来满足更丰富的需求。本章主要介绍 Lua 语言的控制结构的使用。

作者:AlbertWen  添加时间:2015-10-24 09:18:13  修改时间:2025-08-12 04:57:34  分类:13.C/C++/仓颉  编辑
#include <stdio.h>
#include <math.h>

main()
{
	int i;
	int x = 16, y = 2;
	i = 12 * pow(x, y);
	printf("%d\n", i);
}

编译 gcc area.c -0 area.out

报错

/tmp/ccEA3QIN.o: In function `main':
a.c:(.text+0x25): undefined reference to `pow'

作者:AlbertWen  添加时间:2018-12-15 01:00:00  修改时间:2025-08-12 04:57:44  分类:08.Java基础  编辑

什么是泛型?为什么要使用泛型?

泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。

泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。也就是说在泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。