- 博客(28)
- 资源 (28)
- 收藏
- 关注
原创 gorm第1版源码阅读
从早期的第一行代码跟着作者一起进步。感觉这些开源代码维护的大神,就像创业一样,一开始只是个idea, 突然想实现一把。实现了,效果不错,然后不断迭代优化,然后慢慢成长为大神。最新代码: 32659行作者的分享:https://www.youtube.com/watch?v=NCZHe6zb2Sghttps://www.aliyundrive.com/s/yRF7gLankfK 提取码: pb58最核心的其实就2个。1是sql查询结果 更新到结构体上。2是结构体对象自动生成sql语句。看早期的代
2023-09-11 10:16:23 179
原创 cross-domain
跨域问题。用了前后端分离后,容易遇到跨域问题。譬如 `The value of the ‘Access-Control-Allow-Origin’ header in the response must not be the wildcard ‘*’ when the request’s credentials mode is ‘include’. The credentials mode of requests initiated by t分情况。
2022-12-09 14:11:32 383 1
原创 hecto - 手把手教你写个 文本编辑器
https://www.philippflenker.com/hecto/ 的阅读笔记。我是学完[[Rust权威指南]] 之后才看的这个。手把手教你写个 文本编辑器(1300+行代码)。作者是真有耐心,真手把手教。看文章+手敲一遍,我大概花了十几个小时。收获很大,很值得。
2022-11-26 21:53:08 710
原创 汇编语言(第3版)- [BX]和loop指令
dos环境下(实模式),可以绕过操作系统,直接对任意的内存写数据,而改写的内存可能存放的系统数据,其他程序的数据。会引发异常,安全的编程就是只能在系统分配的内存空间范围内操作。dos方式下,一般不会使用0:200~0:2ff 的256个字节的空间,使用前可以先看看数据是不是都是0,都是0就表示是安全的。这个出现在访问内存单元的指令中,用于显示地指明内存单元的段地址的"es", 在汇编语言中称为。, 这个就是 (ax) = ((es)*16+(bx))[BX] 表示内存的偏移地址 存放在BX寄存器中。
2022-11-22 17:27:49 388
原创 汇编语言(第3版)- 第一个程序
一个汇编程序由多个段组成,譬如代码段,数据段,栈段。有意义的汇编程序至少有代码段。SA:0 为 PSP开始地址。PSP为256字节,dos利用psp和加载的程序通信。伪指令,不能翻译成机器码的指令。至少一个段,一个end。程序区:SA+10H:0 (CS:IP)然后才是加载的程序的入口:CS:IP,编写汇编源程序-》 编译连接-》执行。汇编指令,能翻译成机器码的指令。PSP区:SA:0 (DS)空闲内存区: SA:0。
2022-11-21 20:08:36 143
原创 汇编语言(第3版)- 寄存器(内存访问)
内存是连续的单元,一个单元存放一个Byte, 8位。譬如从0~10000, 0就叫低地址,10000 就叫高地址。那么要存一个16位的字,就需要两个内存单元,譬如0和1.其中低地址存放低位字节,高地址存放高位字节。譬如 数字 20000(4E20H)4E是高位字节, 20是低位字节,假如存放在0和1 两个内存单元中。那么0存放的是20, 1存放的是4E.读数据是 4E 20内存 编号是 1 0。这里有点反知觉(读数据时 是 4E20, 读编号是0,1,2,3,4,5,有点反过来的感觉)。
2022-11-20 16:38:25 158
原创 utf8编码
我记得以前有个同事说过一个问题:声明编码为utf8 和 gbk, 你怎么识别呢?譬如美国人说我说的英语。。中国人说我说的中国话。两个人互相听不懂对方的话,有啥意义?这里他就是没理解ASCII码。在所有编码中ASCII码都是一样的,可以说是通用语。所以声明编码是有意义的。
2022-11-14 23:38:42 130
原创 go标准库-reflect
在计算机科学中,反射是指计算机程序在运行时(Run time)可以访问、检测和修改它本身状态或行为的一种能力。用比喻来说,反射就是程序在运行的时候能够“观察”并且修改自己的行为。简单来说,反射只是一种机制,在程序运行时获得对象类型信息和内存结构。通常高级语言借助反射机制来解决,编译时无法知道变量具体类型,而只有等到运行时才能检查值和类型的问题。不同语言的反射模型不尽相同,有些语言还不支持反射。对于低级语言,比如汇编语言,由于自身可以直接和内存打交道,所以无需反射机制。
2022-11-07 21:10:41 139
原创 设计模式:可复用面向对象软件的基础
意图提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。别名Kit动机 略适用性在以下情况下可以使用Abstract Factory模式一个系统要独立于它的产品的创建、组合和表示时。一个系统要由多个产品系列中的一个来配置时。当你要强调一系列相关的产品对象的设计以便进行联合使用时。当你提供一个产品类库,而只想显示它们的接口而不是实现时。结构。
2022-11-04 17:37:00 612
原创 session vs jwt
适合使用jwt的场景:有效期短只希望被使用一次比如,用户注册后发一封邮件让其激活账户,通常邮件中需要有一个链接,这个链接需要具备以下的特性:能够标识用户,该链接具有时效性(通常只允许几小时之内激活),不能被篡改以激活其他可能的账户,一次性的。这种场景就适合使用jwt。而由于jwt具有一次性的特性。单点登录和会话管理非常不适合用jwt,如果在服务端部署额外的逻辑存储jwt的状态,那还不如使用session。基于session有很多成熟的框架可以开箱即用,但是用jwt还要自己实现逻辑。
2022-11-02 09:44:09 525
原创 cpu如何维护自己控制权的
关键概念用户模式:受限的指令。内核模式:所有指令有些操作需要用到特权指令,这个只有在内核模式下才可以运行。其中时钟中断很重要,是硬件支持。如果没有时钟中断,然后进程又不进行系统调用,也不出错(譬如:啥也不干的无限循环),这样操作系统无法获得控制权。
2022-10-29 11:42:58 393
原创 原码、补码、反码
补码的表示方法是:正数的补码就是其本身,负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1): 原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值。:反码的表示方法是: 正数的反码是其本身,负数的反码是在其原码的基础上, 符号位不变,其余各个位取反。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.一个数在计算机中的二进制表示形式, 叫做这个数的。将带符号位的机器数对应的真正数值称为机器数的。
2022-10-29 11:23:20 371
原创 golang使用es提供搜索
框架用的go-zero搜索服务用的mongo 链接库用的数据同步用的monstachees面板用的elastichd。
2022-10-27 11:37:34 861
原创 Rust权威指南 读书笔记
主要是看视频 https://www.bilibili.com/video/BV1hp4y1k7SV?高性能 Web Service命令行工具网络编程嵌入式设备系统编程性能安全性无所畏惧的并发Rust的核心机制。其他语言要么是手动内存管理,要么是gc 自动管理。Rust采用了第三种方式内存是通过一个所有权系统来管理的,其中包含一组编译器在编译时检查的规则。当程序运行时,所有权特性不会减慢程序的运行速度。栈内存 vs 堆内存。
2022-10-26 15:14:11 331
原创 操作系统之并发这点事儿
信号量是个整数值,通过sem_wait和sem_post来操作。//第二个参数 0 表示同一进程里的多个线程共享。sem_wait信号量的值-1, 当值
2022-10-26 15:08:20 467
原创 vim入门教程
作为一款古老而具有持久生命力的编辑器,Vim 自有它的强大之处。很多人觉得 Vim 的学习曲线太陡峭了,为了能够把 Vim 用得风生水起,不得不记忆大量的命令。如果你是 Vim 新手,刚入门就开始面对着浩如烟海的命令逐条学习,我相信你一定会逐渐失去对它的兴趣。其实,Vim 以一种近乎自然语言的方式帮助你完成文本的编辑工作。只需要熟悉几条简单的语法,你就会坐在旋转座椅上前后打转,感慨美妙的生活又回来了。
2022-10-26 14:52:29 162
原创 nginx常用配置参考
默认表示不开启认证,后面如果跟上字符,这些字符会在弹窗中显示。用户密码文件,文件内容类似如下:配置示例:密码生成session保持 stickynginx编译是需要支持stckyip_hash使用源地址哈希算法,将同一客户端的请求总是发往同一个后端服务器,除非该服务器不可用。ip_hash语法:ip_hash简单易用,但有如下问题:说明:本指令可以打开会话保持的功能,下面是具体的参数:详情参考是在负载均衡层做的。需要磁盘大。参考nginx 反向代理之 proxy_cacheNginx Pro
2022-10-26 14:38:46 995
原创 ssh使用介绍
开启端口转发ssh -fN root@172.18.18.18 -L 13306 :172.18.18.19:3306 # -fN:后台运行;不执行命令,只负责转发。# root:跳板机B的用户名。# 172.18.18.18:跳板机B的ip地址。# -L:本地端口转发。# 13306:监听的本地端口。# 172.18.18.19:mysql服务器地址。修改连接mysql方式SecureCRT也支持这个功能。链接内网数据库使用 navicat 的 ssh 通道也是可以的。
2022-10-26 14:35:24 5331
原创 没事做==无聊==懒惰
懒的时候老躺在床上睡觉。说自己没事做。前段时间不停地看小说,也是说没事做。工作还没找好呢。也是说自己没事做。其实不是没事做,是不想做。怎一个‘懒’字了得。今天去了趟书店。一个感觉——我要看的书太多了。借回来之后,还是仍在了一个角落。若有人问起,在干吗呢?只怕我还是会说没事做。还好下午阿尽打了电话来,骑着自行车和他一起去了下海淀公园。虽然也是玩,总比在家一个人睡觉好的多。有时候自己也在想,难道真的要
2008-10-12 18:51:00 440
<Python编程实战:运用设计模式、并发和程序库创建高质量程序>源码
2017-01-05
centos7 snort安装包
2016-12-03
coreseek-4.1-beta.tar.gz
2016-09-15
wp-super-cache 对象缓存功能修复版本(1.4.8版本)
2016-09-04
import-external-images.php 优化版
2016-09-02
通过metaWeblog Api发布Wordpress博客 实例代码
2016-08-20
cscope_maps.vim
2011-09-12
c语言实用程序设计100例
2009-11-11
erlang programming
2009-08-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人