Golang介绍

目前golang最新版本为1.17.3,经过12年的发展,生态已经成熟。 Go是一门工程语言 go诞生的初衷就是解决c/c++的各种弊端,提高生产力。 go编译速度极快,相对于c++/rust,10倍以上编译速度。 go fmt 代码格式化,代码风格统一。 自动垃圾搜集。简化c/c++的内存管理。 单一执行文件。 Go与其他语言的区别 Go vs Java: Go有内存垃圾自动处理,无虚拟机。 Go无对象编程的类class的概念,更强调struct(类似C). Go的对象继承是“鸭子原理",Java是“血缘关系". Go vs C: Go无宏定义.兼容C。基本上可以用C的风格来写Go代码。 Go vs C++: …

元宇宙的一些判断

最近“元宇宙"炒的火热,随着facebook公司改名为meta以后更是达到了高潮。 元宇宙英文原词“Metaverse”,出自尼尔·斯蒂芬森1992 年的科幻小说《雪崩》, 在这部小说中讲述了大量有关虚拟化身、赛博朋克等场景。 可以简单认为是VR虚拟现实的进化版,虚拟现实只是暂时进入,而元宇宙是具备独立意识的第二生命空间。 最近《三体》作者强烈反对“元宇宙”,他认为这是个错误的道路,应该实体探索星空。 我赞同他的呼吁,但是元宇宙很难避免,必然出现,恐怕最好的结果是原宇宙中的意识去探索星空。 大胆给出以下观点: 元宇宙将出现,届时实体人类将灭亡。 元宇宙需满足以下条件: 人工智能已经实现。 智能生命相关伦理和法规成熟。 能源 …

关系型数据库实践

关系型数据库是绝大多数系统的数据核心,这个关键设施也往往是性能的瓶颈。以下是一些使用建议。 按业务场景设计表结构 业务场景: 一个mysql的用户表,1000万条记录,如何查询出当天生日的用户? 表结构通用规则 所有字段必须非空而且有默认值。 一般都有创建时间和更新时间字段,mysql5.6+ 支持数据库本身更新此字段。 尽可能不使用TEXT、BLOB类型. 表字符集尽量选择UTF8MB4,mysql的utf8不是标准的字符集,utf8mb4可以存储表情字符。 索引字段尽可能使用int/long, 索引为字符型不能超过32个字符。 注释尽量清楚 建表的时候应该考虑最终的数据量,mysql单表应该不超过1000万,分布式数据库按业务字 …

技术管理-管理、人性与OKR

管理 一、管理的历史 奴隶社会 封建社会 现代社会 工业:流水线\六西格玛\丰田管理(看板) 软件开发: 瀑布式\快速迭代\XP极限编程\scrum敏捷开发 二、人性 三字经,人之初,性本善。 三、OKR

java模式:单例/多例/线程单例

java单例模式有5种实现方式,推荐以下3种方式. 一、单例-饿汉式: 特点:线程安全,不能延时加载 public enum SingletonDemo1 { //枚举元素本身就是单例 INSTANCE; //添加自己需要的操作 public void singletonOperation(){ } } 二、单例-懒汉式-双重锁检查: 特点:线程安全,延时加载。 ps: java1.5后,volatile可以避免jvm初始化内存分配可能乱序的问题。 public class SingletonDemo2 { private static volatile SingletonDemo2 SingletonDemo2; private …