Go语言基础(上)
GO语言基础(上)一、绪论1 Go语言介绍Go 即Golang,是Google公司2009年11月正式对外公开的一门编程语言。
Go是静态强类型语言,是区别于解析型语言的编译型语言(静态:类型固定 强类型:不同类型不允许直接运算)。
解析型语言——源代码是先翻译为中间代码,然后由解析器对代码进行解释执行。
编译型语言——源代码编译生成机器语言,然后由机器直接执行机器码即可执行。
2 Go语言特性
跨平台的编译型语言
交叉编译(在win平台可编译出mac平台的可执行文件)
语法接近C语言
管道(channel),切片(slice),并发(routine)
有垃圾回收的机制
支持面向对象和面向过程的编程模式
3 go适合做什么
服务端开发
分布式系统,微服务
网络编程
区块链开发
内存KV数据库,例如boltDB、levelDB
云平台
4 下载和安装开发环境:
官网下载地址为:https://golang.org/dl/
如果打不开可以使用这个地址:https://golang.google.cn/dl/
IDE:
GoLand
vscode
5 配置GO ...
HostDare:美国VPS主机,4折优惠,$10/年,1核/768M内存/10G NVMe/500g流量
hostdare的美国便宜VPS(国际线路)4折促销中,套餐名为“Cheap NVMe KVM VPS USA”最低配折后仅$10.4/年,,三网国际线路直连,IPv4+IPv6双栈网络,支持Windows系统,机房位于quadranet的洛杉矶机房,感兴趣的小伙伴可以围观。
官网Cheap NVMe KVM VPS USA4折优惠码:**6OU19PTR6P** (适用于半年、每年、每两年和每三年付款期限。优惠券有效期2024年7月25日)
基于KVM虚拟,NVMe SSD硬盘,500Mbps带宽,支持linux和Windows(2008r2-sp1、2012r2、20212server,2019)
CPU
内存
NVMe
带宽/月流量
年付
购买
1核
768M
10G
200Mbps/500G
$10.4
链接
1核
1G
25G
500Mbps/1T
$16
链接
2核
2G
50G
500Mbps/2T
$28.4
链接
3核
4G
100G
500Mbps/3T
$52.4
链接
4核 ...
JuHost香港VPS6折大促销
香港服务商JuHost,2024年6月18日上线香港新界区域,新机房上线商家给出6折优惠,最低配折后价格为$2.99/月,300M带宽@1T流量,1×IPv4,流量和带宽都还可以。单个客户限购2只
官网点我跳转
套餐情况VPS特征:KVM虚拟,纯SSD阵列,300Mbps带宽,自带一个IPv4,三网直连
CPU
内存
SSD
带宽/月流量
月付
购买
1核
1G
20G
300Mbps/1T
$4.99 ≈ 36.22 CNY
链接
1核
2G
30G
300Mbps/1T
$6.99 ≈ 50.73 CNY
链接
2核
4G
60G
300Mbps/1T
$12.99 ≈ 94.28 CNY
链接
4核
8G
80G
300Mbps/1T
$16.99 ≈ 123.32 CNY
链接
网络网络测试:
位置:香港新界
网路:共享300Mbps BGP 包括内地方向
测速:https://hknt.speedtest.juhost.com/
观察:https://hknt.lg.juhost.com/
脚本测 ...
记一次博客静态资源分离遇到的fontawesome无法使用问题
今天晚上我在弄博客静态资源分离,说人话就是不把静态资源放本地了。
搞完之后,遇到了这个问题:
图标没了
打开Console一看,全是CORS报错:
Console报错
我博客静态资源是放在了阿里云OSS上面,应该是CORS策略不对。
进阿里云后台改配置1.首先打开跨域设置:
我们创建一个规则:
规则内容填写如下:
然后保存规则即可:
然后等待15分钟,打开博客一看:
都好了,嘿嘿。拜拜~
记缓存
缓存-服务器缓存本地缓存本地缓存可以在减少对缓存服务的访问量,降低访问带来的时延,提升性能.同时也会带来一些问题,比如本地缓存与缓存服务数据一致性问题,以及如果命中率过低或刷新缓存过于频繁或本地缓存缓存数量过大(超过热点内容数量)可能会导致回源流量过大.
以Caffeine为例,Caffeine采用了W-TinyLFU(LUR和LFU的优点结合)开源的缓存技术.
<dependency> <groupId>com.github.ben-manes.caffeine</groupId> <artifactId>caffeine</artifactId> </dependency>
public class CaffeineCacheTest { public static void main(String[] args) throws Exception { //创建guava cache Cache<String, String> ...
CDN是什么?30秒带你了解CDN
前言不少的小白在学习各大编程技术时总会碰到CDN这个词,这是什么?是干什么用的?是必须的吗?成为了小白的三大问,本篇心得文30秒讲明白!
CDN简介搜索百度给出的结果为:
CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输得更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。
全球最大的CDN服务商CloudFlare给出的解释:
原文:A content delivery network (CDN) is a geographically distributed group of servers that caches content close to end users. A CDN allo ...
Linux进程管理-手记
进程的描述PCB描述一个进程的结构。组织方式
进程链表:用于遍历
进程树:体现父子关系
进程哈希表:用于pid检索
进程生命周期
僵尸僵尸进程:PCB还没消失,等到父进程wait(),父进程可以得知子进程退出原因。
内存泄漏:随时间增加内存消耗震荡发散。
停止用STOP信号暂停,保存中间结果,用CONTINUE信号继续。
Ctrl+z` 和`bg`、`fg
睡眠深睡眠:只有当资源都满足才唤醒。kill -9也无法杀掉。
浅睡眠:可以被信号唤醒。
fork()
写时拷贝
相同的虚拟地址,但页表对应的物理地址不同。
vfork()
pthread_create()
clone
可以自由选择拷贝task_struct中的任意部分。
PID与TGID
用户空间中getpid()实际上得到的是TGID
进程脱孤
睡眠
进程0和1
Linux调度算法
CFS调度策略CFS策略CFS 调度程序并不采用严格规则来为一个优先级分配某个长度的时间片,而是为每个任务分配一定比例的 CPU 处理时间。每个任务分配的具体比例是根据友好值来计算的。友好值的范围从 -20 到 +19,数值较低的友好值表 ...
聊聊四元数与万向锁及其实际意义
烧脑警告!本篇文有着大量的逻辑思考以及三维思考,我自己写的都晕,建议养好脑子再阅读
聊聊四元数与万向锁及其实际意义
在使用 Babylon 写 ADV.JS 的人物骨骼旋转动画的时候,我发现几乎所有的骨骼旋转均使用四元数(Quaternion)实现。https://vrm.advjs.org
manager.humanoidBone[boneName].rotationQuaternion = BABYLON.Quaternion.FromEulerAngles(bone.x, bone.y, bone.z)
而四元数本身也是游戏引擎旋转的标配,Unity/Unreal/Cocos 等知名引擎均使用此实现。
那么为何如此呢?
尽管已有不少的文章已经对此进行了介绍,但我仍然希望可以将其更为简化以及循序渐进一点,并附上一些自己的理解和探索此的原因,和有用的参考链接。
如有纰漏,欢迎指正。
楔子回顾一下最初的目的,我希望为 VRM 模型编写一个在线编辑器,以便用户可以快速编辑动作、表情等信息。
用户可以自由旋转人物模型的骨骼以摆出不同的动作,并设置表情参数。
VR ...