暂时未有相关云产品技术能力~
记录知识积累过程
并发场景在所有的开发过程中都是会遇到的。像面向对象语言 C#、Java 经常都是使用多线程的技术来解决并发的场景。但是 Node 是单线程的,对于解决并发基本是通过异步方式。还有使用 node 提供的 Cluster 模块来完成多进程的。 注意点:Node 中的异步是为了解决不堵塞主线程,而不是为了解决并发问题。
设计好了数据库表之后最烦的就是又要在代码中建一层实体层然后一个个创建对应表的结构体。关键那么多项目每次都是需要创建一份,所以就使用 go 实现一个简单的将数据库的表转化为结构体。
之前看到 RunCat 一只可以在电脑上奔跑猫,其主要的功能是监控电脑的CPU、内存的使用情况,使用越多跑的越快。所以准备做一只在任务栏里的兔子,主要使用 Go 语言实现一个简单的到点拜年的兔子。 基本需求: - 打开应用时可以在任务栏里显示 - 实现动态兔子生成
实现一个零点定时推送祝福的需求其实很简单,关键点是零点定时和推送消息出去两个功能。 - 零点定时推送,可以使用 corn 包实现定时任务 - 推送消息,调用飞书和企业微信提供的 webhook 接口,就可以实现消息的推送
新春佳节到来了,各种 APP 的开启首页图片和皮肤样式都会发生变化,它们都将会更新成和新春有关系的图片广告或者新春相关的背景图片。当一个运营负责这项工作时,只需要开发一个可配置的功能,运营只需进行设置就可以完成新春首页替换和新年红皮肤更新。
软件架构设计的最终目标是能够用最小的人力成本来满足构建和维护该系统的需求。软件是为业务服务的,所以一个软件的好坏我想应该就是能够让开发者低成本学习和维护,并利用其帮助业务创造更大的利益。 所以感觉这句话很对:“**软件架构师必须创建出一个可以让功能实现起来更容易、修改起来更简单、扩展起来更轻松的软件架构。”**
Go 在 goroutine 的通信经常会提及的设计思想是:不要通过共享内存的方式进行通信,而应该通过通信的方式共享内存。这和 Java 语言不通,Java 中多个线程传递数据的方式一般都是通过共享内存或者其他共享资源的方式解决线程竞争问题。
设计数据库时经常要做的就是给字段设置数据类型,但是对于一些字段是需要设置长度的,那么需要设置多少长度才算是合适的?
经常遇到这样的场景:几个模块的都有相同的方法,但会因为不同的类型的需要调用不同模块的方法。使用一个 switch 可以很方便的解决问题。但是当你遇到的场景是几个模块的方法都是需要的执行,同时它需要在不同的配置下执行相对应的方法。
在使用 for range 时会出现让人意想不到的结果,比如输出的结果并非是每次的更新结果。到底是什么原因,可以详细看下其中的内容。
在 SaaS 系统中多租户是一个很重要的架构,在服务上仅需运行一个软件实例就能够支持每个租户的功能,它们之间的数据互相隔离。就比如 Gitee ,每个用户或组织都拥有自己的空间。它们自己的数据仅在自己的空间内流通,彼此之间互不影响。多租户其实就是一种软件设计结构。 所以。租户模型其实就是分离数据的方式: • 单租户:一个应用一个数据库。其实就是应用分离,数据分离。 • 多租户:一个应用多个数据库。就是同一个应用不同数据库。