自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 飞书任务招聘后端开发人员

团队简介飞书任务是职位描述负责飞书任务系统的研发工作,包括而不限于:任务创建、任务管理和推送提醒负责飞书任务与其他飞书业务打通,包括而不限于:即时通讯消息、飞书文档等;负责与相关产品等角色协同,探讨产品与技术方案并实现。职位要求本科及以上学历,熟练使用至少一门编程语言,并对语言特性有较好的理解;熟悉 Redis、MySQL、消息队列等常用组件;对系统的高可用、高扩展、高并发设计模式有了解和意识,有在PaaS平台进行开发经验者优先;对业务有深刻理解,能够抽象需求转化为具体的实现方案,具有

2021-12-20 17:28:07 682

原创 [面试速记] Redis

概述redisDB结构redis优缺点优点读写性能优异, Redis能读的速度是110000次/s,写的速度是81000次/s。支持数据持久化,支持AOF和RDB两种持久化方式。支持事务,Redis的所有操作都是原子性的,同时Redis还支持对几个操作合并后的原子性执行。数据结构丰富,除了支持string类型的value外还支持hash、set、zset、list等数据结构。支持主从复制,主机会自动将数据同步到从机,可以进行读写分离。缺点数据库容量受到物理内存的限制,不能用作海量

2021-06-19 23:35:42 163

原创 当我在谈编程......(一)什么是程序?

程序 = 数据结构+算法一开始,程序 = 算法一开始数据结构可以没有(严格说来不可能,就简单的称为“只使用编程语言内置的类型,不同语言支持的类型不太一样,但是int,float,string是比较通用的类型”),那程序就退化为纯粹的算法。这个时候程序几乎是无状态的,函数接受输入,产生输出,很符合unix的哲学Modularity:写简单的程序,并用好的接口连接它们;// 猜猜这是干啥的(可以在go项目下面试试) find `pwd` -name "*_test.go" | xargs -I {} g

2021-06-16 00:08:14 225

原创 Go,我该用值 OR 指针?

TL;DRGo语言类型系统buildIngo语言的基本数据类型(buildin类型)结构都定义在src/reflect/type.goconst ( Invalid Kind = iota Bool Int Int8 Int16 Int32 Int64 Uint Uint8 Uint16 Uint32 Uint64 Uintptr Float32 Float64 Complex64 Complex128 Array Chan Func Interface

2021-06-15 14:51:29 525

原创 [动手实现] IO模式:NIO:主从Reactor

NIO基础NIO(Non-blocking IO) 是一种同步非阻塞支持面向缓冲的,基于通道的I/O,也是IO多路复用的基础,主要是解决高并发 或者 处理海量连接,IO处理问题IO模式所有的IO模式都分为两个阶段, 一是等待就绪(准备数据)也就是从网卡copy到内核缓存区(从内核缓存区copy到网卡), 二是真正的操作(读,写) 也就是从内核缓存区copy到用户地址空间;IO模式等待就绪阶段 是否阻塞读写、拷贝阶段 是否阻塞BIO (Blocking IO)是是NIO

2021-06-14 12:31:12 203 1

原创 【读书笔记】算法的乐趣

什么是算法《算法导论》:定义良好的计算过程,它取一个或一组值作为输入,并产生一个或一组值作为输出。《计算机程序设计艺术》:从一个步骤开始,按照既定的顺序执行完所有的步骤,最终结束(得到结果)-《数据结构与算法分析》:一系列的计算步骤,将输入数据转换成输出的结果。Knuth 总结了算法的四大特征确定性:算法的每个步骤都是明确的,对结果的预期也是确定的有穷性:算法步骤数量有限可行性:算法每一步都可以执行输入和输出:有输入和输出算法设计基础程序基本结构:顺序执行、循环执行、分支跳转

2021-06-13 19:39:11 385

原创 [面试速记] 计算机网络

TCP时序图SYN_SEND/RECV第三次握手是为了防止失效的连接请求到达服务器,让服务器错误打开连接。CLOSE_WAIT对方主动关闭连接或者网络异常导致连接中断,这时我方的状态会变成CLOSE_WAIT,此时我方要调用close()来使得连接正确关闭。TIME_WAIT我方主动调用close()断开连接,收到对方确认后状态变为TIME_WAIT。TCP协议规定TIME_WAIT状态会一直持续2MSL(即两倍的分段最大生存期),以此来确保[1. 接受方收到ACK 2. 网络中本链接产.

2021-06-13 13:51:08 450

原创 【脑补+发挥】GO最佳实践:可维护GO程序的指南

原文地址 https://dave.cheney.net/practical-go/presentations/qcon-china.html1.指导原则如果我要用任何编程语言讨论最佳实践,我需要一些方法来定义我的最佳含义。如果您昨天参加我的主题演讲,您会看到Go团队负责人Russ Cox的这段话:当您增加时间和其他程序员时,软件工程就是编程发生的事情。—罗斯·考克斯(Russ Cox)Russ在软件编程和软件工程之间做出了区分。前者是您自己编写的程序,后者是随着时间的推移许多人会使用的产品.

2021-06-13 00:11:41 288

原创 【读书笔记】代码大全

函数短小、命名、少参数只做一件事,switch抽象工厂做什么事、或者回答什么事对象得墨特尔:和朋友谈话,不和陌生人谈话过程、面向对象:新函数/新对象编程范式面向对象的编程单元是类或对象,面向过程的编程单元是函数,函数式编程的编程单元是无状态函数...

2021-06-12 22:46:25 72

原创 【读书笔记】Redis设计与实现(一 数据结构)

TL;DR数据结构重点难点跳表跳表/节点 结构体,查找复杂度节点的插入/删除hashset结构体动态扩缩容,key冲突overflow,动态refresh机制intset使用场景 ,结构体encoding更新ziplist使用场景,结构体连锁更新场景复杂度sdsstring,emstr结构体,扩容/缩容float/int-string转换object结构体编码转换,类型检查与命令多态,GC与对象共享跳表(skiplist)

2021-06-12 17:38:25 122

原创 Go语言的Map和Redis的Set比较

Go MapRedis Set可以看到是很接近的,几个基本点Go Map负载因子load_factor = 6.5key冲突 -> overflow增量扩容 :load_factor>6.5,<1024翻倍或者1/4等量扩容:overflow>max(2^15, key),空洞太多动态扩容:2个bucket,迁移old-new时rehash,标记key是否已经迁移GO MapRedis Set...

2021-06-12 15:52:17 348

原创 【读书笔记】程序员修炼之道

投资知识资产,学语言,看书,多交流交流,写文档要考虑自己要说什么,列框架在写,像小说熵:不要容忍破窗户不要重复DRY:复用,学习他人正交性:MVC去耦合,分层职责清晰,单测引入其他的量可撤销性:接口不变,实现可变领域语言:项目可以嵌入高级语言的脚本,完成一些功能估算:选择合适单位,理解提问域的范围纯文本的威力:unix哲学,文本data保存最久shell:自动化,高效完成一些工作IDE:用好一个编译器的高级特性,加快开发进度源码控制(git):保证写的每一行代码,都源码控制,哪怕是小脚

2021-02-20 23:38:54 159 4

原创 【读书笔记】微服务架构设计模式

第一章 逃离单体地狱1.2.1 单体应用缺点就是微服务优点过度的复杂性代码提交到部署周期长难以扩展缺乏故障隔离难以迁移技术栈1.2.2 企业应用架构设计基础知识三层架构web应用程序设计使用面向对象设计开发业务逻辑关系型数据库:SQL和ACID事务的概念使用消息代理和REST API进行进程间通信安全,包括身份验证和访问授权1.3.1 通过本书,可以掌握知识什么时候使用微服务架构分布式数据管理的架构模式微服务架构应用的测试策略微服务架构应用的部署方式

2021-02-13 18:13:43 162 2

原创 【paste】温度转换代码

tempstr = input("请输入带符号的温度值:")if tempstr[-1] in ['F','f']: c = (eval(tempstr[0:-1])-32)/1.8 print("转换后的温度是{:.2f}c".format(c))elif tempstr[-1] in ['C','c']: f = 1.8*eval(tempstr[0:-1])+32 print("转化后的温度...

2018-03-18 20:40:31 8487 6

Python数据挖掘

中文版 《计算机网络:自顶向下方法(原书第6版)》由机械工业出版社出版。 作者简介 作者:(美国)库罗斯(James F.Kurose) (美国)罗斯(Keith W.Ross) 译者:陈鸣 目录 出版者的话 作译者简介 译者序 前言 第1章计算机网络和因特网 1.1什么是因特网 1.1.1具体构成描述 1.1.2服务描述 1.1.3什么是协议 1.2网络边缘 1.2.1接入网 1.2.2物理媒体 1.3网络核心 1.3.1分组交换 1.3.2电路交换 1.3.3网络的网络 1.4分组交换网中的时延、丢包和吞吐量 1.4.1分组交换网中的时延概述 1.4.2排队时延和丢包 1.4.3端到端时延 1.4.4计算机网络中的吞吐量 1.5协议层次及其服务模型 1.5.1分层的体系结构 1.5.2封装 1.6面对攻击的网络 1.7计算机网络和因特网的历史 1.7.1分组交换的发展:1961~1972 1.7.2专用网络和网络互联:1972—1980 1.7.3网络的激增:1980—1990 1.7.4因特网爆炸:20世纪90年代 1.7.5最新发展 1.8小结 课后习题和问题 复习题习 网络基础

2018-11-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除