错误日志级别

错误日志级别

RFC 5424描述的日志级别。

  • DEBUG (100):详细调试信息。
  • INFO (200):有趣的事件。示例:用户登录、SQL 日志。
  • NOTICE(250):正常但重要的事件。
  • WARNING(300):不是错误的异常事件。示例:使用已弃用的 API、API 使用不当、未必是错误的不良行为。
  • ERROR (400):不需要立即采取行动但通常应记录和监视的运行时错误。
  • CRITICAL (500):临界条件。示例:应用程序组件不可用,意外异常。
  • ALERT(550):必须立即采取行动。示例:整个网站宕机、数据库不可用等。这应该会触发 SMS 警报并唤醒您。
  • EMERGENCY (600):紧急情况:系统不可用。

websocket服务端与客户端代码示例

websocket服务端与客户端代码示例. ( json socket )

用到了ws库.

步骤:1安装ws

npm install ws

步骤2:服务端代码:

创建websocket.mjs文件,写入以下代码:

import { WebSocketServer } from "ws";

const server = new WebSocketServer({ port: 3000 });

server.on("connection", (socket) => {
  // send a message to the client
  socket.send(JSON.stringify({
    type: "hello 

Redis[快问快答系列]

什么是 Redis?

Redis 是一种基于内存的数据库,对数据的读写操作都是在内存中完成,因此读写速度非常快,常用于缓存,消息队列、分布式锁等场景
Redis 提供了多种数据类型来支持不同的业务场景,比如 String (字符串)、Hash (哈希)、 List (列表)、Set (集合)、Zset (有序集合)、Bitmaps(位图)、HyperLogLog(基数统计)、GEO(地理信息)、Stream(流),并且对数据类型的操作都是原子性的,因为执行命令由单线程负责的,不存在并发竞争的问题。
除此之外,Redis 还支持事务 、持久化、Lua 脚本、多种集群方案(主从复制模式、哨兵模式、切片机群模式)、发布 / 订阅模式,内存淘汰机制、过期删除机制等等。

Redis 和 Memcached 有什么区别?

  • Memcached 只支持最简单的 key-value 数据类型
  • Redis 支持数据的持久化,Memcached 重启或者挂掉后,数据就没了

GO面试题集锦快答

slice 扩容机制

GO1.17版本及之前
当新切片需要的容量cap大于两倍扩容的容量,则直接按照新切片需要的容量扩容;
当原 slice 容量 < 1024 的时候,新 slice 容量变成原来的 2 倍;
当原 slice 容量 > 1024,进入一个循环,每次容量变成原来的1.25,直到大于期望容量。

GO1.18之后
当新切片需要的容量cap大于两倍扩容的容量,则直接按照新切片需要的容量扩容;
当原 slice 容量 
    

REDIS面试问题总结

系统命令

shutdown 正常关闭服务器
redis-server 启动服务器
redis-cli 客户端连接服务器
flushall 删库跑路,一般不这么做

REDIS 持久化 RDB AOF 区别

RDB:[Redis Database] 在指定时间间隔把内存中的数据快照写入磁盘,之后可以备份快照,或者复制到其他服务器创建相同副本,或者服务器重启也会用到这个快照恢复数据,默认持久化方式

触发时机
手动执行save和bgsave时
配置文件 设置  save <seconds> <
    

GitLab 打脸“Ruby on Rails 已死”言论:我还在用呢!

Ruby语言曾在2013至2015年期间非常流行,但随后流行度下降。早在3年前就在业界传出过“Ruby及Ruby on Rails已死”的言论,然而时至今日,连GitLab的CEO Sid Sijbrandij都发文表示:Ruby on Rails仍然是GitLab的坚定选择。那么,这项正走向没落技术究竟具有何种魔力?

“两全其美”的Ruby on Rails

Ruby on Rails(官方简称为Rails,亦被简称为RoR),是一个使用Ruby语言写的开源Web应用框架。Rails的设计原则包括“不做重复的事”(Don't Repeat Yourself)和“惯例优于设定”(Convention Over Configuration,因此一经发布便被不少开发者及大厂采用。…