![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
职场生涯
文章平均质量分 66
编程实战营
爱老婆娃儿、爱技术、爱锻炼的小胖子,哈哈
展开
-
K8S网络实践大纲(借鉴培训机构)
https://youdianzhishi.com/web/course/1021?utm_source=blog&utm_campaign=referral&utm_medium=tophero优点知识,专注云原生实战视频课程。https://youdianzhishi.com/web/course/1021?utm_source=blog&utm_campaign=referral&utm_medium=tophero在网上很多K8S网络实战教程的,其实给我们提供了很原创 2021-12-07 20:52:17 · 606 阅读 · 0 评论 -
仿写开源项目的正确方式
一、选择什么样的开源项目仿写?代码量小(在5000 ~ 10000行之间)有名气(值得去模仿)模块划分清晰(便于循序渐进)优先编写独立模块的代码,如groupcache中的LRU和ConsistentHash一致性哈希的代码。二、如何去模仿开源项目选择一个合适的commit点,使用tig快速浏览commit,选择代码量剩余5k左右的commit点。三、删除代码至500 – 1000 行左右删代码的过程也是熟悉代码结构的过程删代码比添加代码要难删减到拥有基础原创 2021-11-25 17:59:06 · 510 阅读 · 0 评论 -
分享如何高效学习的途径
高效学习一、找到更好的资料二、平时注重基础技术的学习,积累、总结三、画出知识图谱,明确需要学习的方向四、学习模板 1)技术出现的背景,要达到什么样的目标,解决了什么问题。 2)技术的优势和缺点 3)技术的适用场景,每种技术都有其擅长的和不擅长的,场景一般分为两种,业务场景 vs 技术场景 4)技术的组成部分和关键点,这是技术的核心思想和核心组件。 5)技术的底层原理和关键实现 6)横向和纵向进行对比,已有的开源项目是如何实现的此类思...原创 2021-11-23 12:02:38 · 336 阅读 · 0 评论 -
开源对程序员的影响
如何做开源?开源对技术人的影响理想中的开源开放的源代码详细的文档活跃的社区持续的改进如何做开源从小工具开始入手 bat文档要跟上(这块很多开源项目很需要)开始也是从写文档,录制视频教程来开始的,做一些工具类的东西。从小事开始做起,今天下班之前,必须把这个事情搞定。明天就开始弄其他的事情了。仿写各种开源的组件,仿写其简易版本,包括dpdk都可以弄个简易的版本出来。Go 的练手项目有哪些值得推荐? · GoCN社区...原创 2021-11-22 13:57:29 · 306 阅读 · 0 评论 -
浅谈编程实战提升
一、为什么想精进下编程能力1、1 提升解决问题能力先说明下,编程能力不仅仅是编码能力或者手敲代码,而是解决问题的问题,解决一个个遇到的问题。敲下每一行代码是简单的;想解决实实在在的问题不容易;1、2 训练量不够大学期间的编码训练,训练量不够无法引起质变,更别谈理解设计模式和架构设计。1、3 适当造轮子,加深对知识的理解对于公司项目,有造轮子的能力,更有不造轮子的觉悟,多么深刻的领悟,哈哈。同种类型的开源项目,如果你不满足于当一个CURD小子,多造轮子或参与开源是不原创 2021-11-03 21:03:34 · 374 阅读 · 0 评论 -
个人购买的付费工具
其中clion和goland这两个编程的IDE工具,一年就要消耗点1000块钱,所以平时一定要多写点代码,好赚回来,哈哈。clion 一年 $71.00 -> 453.33 冲着这个价格,都得多看点代码,多写点代码。goland 一年 $71.00 -> 453.33 每多写一行代码,我都感觉自己是赚的。知识共享学院 年卡 68(极客时间和慕课网的课程,重点突破)ProcessOn 一年 159 好好多画下图oneDrive 一年 298codecademy 年卡 淘宝买原创 2021-10-23 10:29:59 · 2344 阅读 · 1 评论 -
得到app专栏《如何成为有效学习的高手》学习笔记
《有效训练你的学习能力》一、找到适合自己的学习方法二、用任务来驱动学习以工作中的任务作为驱动,工作的任务有明确且真实存在的目标,做任务的过程中边赶边学,能看到距离目标越来越近,给人以成就感。以教为学(需加强),内心要有学完了要教会别人的思想来学习任何知识。三、解决拖延症四、在衣食住行上训练专注力一个人做事和学习的专注程度会决定做事效率。落实到实处,如何来提升专注力呢?1、买付费的编程软件(能力承受范围内)学习工具的金钱让自己心疼,买贵的,人真是贱皮子,辛苦得来原创 2021-09-28 11:28:15 · 296 阅读 · 0 评论 -
深入浅出学习vuls
一、vuls简介1、1 研究背景对于系统管理员,每天必须执行安全漏洞分析和软件更新可能会很麻烦。为了避免生产环境中的停机时间,系统管理员通常不使用包管理器提供的自动更新功能,而是手动执行更新。将会导致以下问题:1、系统管理员需要不断跟进NVD(国家漏洞数据库)或类似数据库以查找新漏洞。2、如果服务器上有大量已安装的软件包,则系统管理员可能无法监视所有软件。3、分析受新漏洞影响的服务器是代价昂贵的。在分析过程中可以忽略一个或两个服务器。Vuls用于解决以上问题,它有以下特征:通知用户与系统相关原创 2021-05-27 00:10:53 · 1632 阅读 · 4 评论 -
如何辩证看待看视频学习(辩证法)
如何辨证的观看编程学习视频教程?好处:1、对初学者友好,按步操作,获得成就感看视频适合某个领域的编程初学者,可以考虑跟着视频操作 + 多动手练习,好好把基础夯实。视频是学习编程过程中的拐杖,有好处但是也容易产生依赖心理,看视频主要看代码实现思路,然后自己敲代码实现;亲自手敲代码期间,遇到问题是正常的,要把心态摆正,莫害怕犯错误,反而把犯错误当成发掘自身不足,把技术精进的好机会。出错就代表这块方面的内容自己掌握的不是很好,出错的地方恰恰是需要自己弥补和提高的地方,刚刚接触一个领域或原创 2021-04-12 17:50:26 · 295 阅读 · 0 评论 -
NTA流量分析基础 and 开源项目(持续整理)
软中断和硬中断区别hardirq和softirq软中断是执行中断指令产生的,而硬中断是由外设引发的。硬中断处理程序要确保它能够快速地完成任务,这样程序执行时才不会等待较长时间,称为上半部。软中断处理硬中断未完成的工作,是一种推后执行的机制,属于下半部。NAPI和DPDK的区别在大量数据传输时,在收到硬件中断后,通过poll方式将传输的数据一次性接收,大大提高了接收数据的效率cpu亲和性和绑核心每个cpu核心一个线程,核心之间访问数据无需加锁。为了减少线程调度的开销..原创 2021-03-25 09:55:48 · 1703 阅读 · 2 评论 -
google搜索技巧 整理
1、双引号完全匹配的意思2、通配符程序报错后会有日志信息,直接采用出错信息来进行搜索比使用人类语言描述错误要搜索的更加精准。但鉴于错误信息可能长度比较长,而且包含特定场景下的类名、函数名、指针等,他们对于google搜索来说,可能是无用的,此时可采用通配符来进行搜索。2、site:xxx.com 使用特定域需要在特定的网站,搜索特定的内容3、去除结果 (减号)注意,减号前面必须有空格,后面必须没空格4、学术论文good网站https://schol...原创 2021-03-25 09:33:48 · 211 阅读 · 0 评论 -
谈谈更快更好的写代码
一、动手敲代码之前一定想清楚每次在动手敲代码之前,先默默问自己三遍你考虑清楚了吗?你考虑清楚了吗?你考虑清楚了吗?想清楚什么?程序流程,在脑子里面大概的过一遍,高手总是一遍遍的告诉我,动手敲代码之前一定要想清楚。想清楚一件事先做什么,再做什么,最后做什么,事情想清楚大概步骤以后,敲代码也会顺畅很多。成熟的程序员,切记不清不楚就开始写代码,先熟悉业务逻辑,然后熟悉代码逻辑,才可能写出在逻辑上、功能上bug很少的代码。二、代码的构建是循序渐进的,不断完善的过程放弃心中的.原创 2021-02-15 07:12:31 · 443 阅读 · 0 评论 -
《10x程序员工作法》读书笔记之任务分解
14、大师级程序员的工作秘笈大师级程序员每当遇到一件要做的事,把他分解成几个小任务,记录在一个清单上,然后才是动手写测试、写代码、重构这样一个小循环。等一个循环完成了,他会划掉已经做完的任务,开始下一个。一旦在解决问题的过程中遇到任务新问题,他会把要解决的问题记录在清单上,保证问题不会丢失,然后,继续回到自己正在处理的任务上。当他把一个个任务完成的时候,问题就解决完了。每个任务完成时,代码都是可以提交的。看上去简单,但是很多程序员都做不到。只有把任务分解到很小,才可能做到小步提交。而把任务分解到很小原创 2021-01-22 16:04:57 · 536 阅读 · 0 评论 -
go资料和博客收集(常看看)
golang好书《go设计与实现》https://draveness.me/golang/这本书最好是有一定的代码量以及工程实践再阅读比较好。go最佳实践https://dave.cheney.net/practical-go/presentations/qcon-china.htmlgo.cn这个酷站挺不错的https://gocn.vip/sites倪鹏飞的博客https://kubernetes.feisky.xyz/google C++ 最佳实践当时我看完这篇文章,真正原创 2020-12-20 08:53:11 · 228 阅读 · 0 评论 -
《代码的艺术》直播笔记
技术(加强)编码能力,数据结构,算法系统结构,操作系统,计算机网络,分布式系统产品对业务的理解,交互设计,产品数据统计,产品/业务运营项目管理研究和创新Research && Development一个系统工程师的培养需要至少8至10年的时间在Coding的过程中,需要掌握:把握问题的能力建立模型的能力沟通协作的能力编码执行的能力写代码,要先建立起品味,知道什么是好代码?好的代码时从哪来的呢?首先,写代码时,严格要求自己的代码.原创 2020-08-27 10:59:02 · 239 阅读 · 0 评论 -
公司排查问题记录
SIG_PIPE:对端套接字已关闭,但是依旧往套接字中写入数据,会触发此信号handle SIGPIPE nostop noprintSIG_TERM:进程结束的信号原创 2020-06-30 09:12:22 · 176 阅读 · 0 评论 -
敏捷思维指导学习和工作
公司推行敏捷开发已有时日,我也尝试将敏捷的思想应用到实际生活中敏捷的思想:将大的需求通过AC分解成多个规模略小的任务,并评估出每个任务的规模,需要投入的时间(以人天为单位)一、任务拆解以读书会为例:将极客时间的Linux性能优化实战的课程拆分成5个阶段阶段1:CPU篇阶段2:内存篇阶段3:文件系统和磁盘篇阶段4:网络篇阶段5:综合篇每一个阶段需要写笔记,并统计笔记完成情况,来总结和检验自己是否学会,以及对知识的掌握程度,是浮在表面上?还是理解了技术的原理?二、里程原创 2020-06-28 09:42:07 · 299 阅读 · 0 评论 -
C++ free(): invalid size 问题排查过程记录
一、粗略了解bug基本情况从截图可看出,错误原因为free():invalid size xxxxx我去网上搜索了下这个错误,https://stackoverflow.com/questions/18990767/free-ptr-error-invalid-size初步结论:动态申请的内存结构被破坏了二、从堆栈角度看问题是json::JsonWriter对象内部的string变量在析构时(即~basic_string出问题),可能是此接口被内存越界写了!!!三、从源代..原创 2020-06-13 22:48:01 · 12053 阅读 · 0 评论 -
《C++程序设计实践与技巧:测试驱动开发》 读书笔记(持续更新)
最近一直在读《C++程序设计实践与技巧-测试驱动开发》一书,这不仅仅是一本讲程序设计的书,更是一本使用gmock和gtest技术,秉承TDD(“测试驱动开发”)的理念的软件开发流程的好书。读这本书时,一定要参考随书源代码来读,直接阅读书籍总觉得感悟有点不深刻。在此记录下学习过程中的几个阶段:一、 2月10号 下载随书代码,并搭建运行环境1.升级cmake版本到3.16.5更换高版本...原创 2020-03-15 22:25:08 · 708 阅读 · 0 评论 -
单元测试的一点思考
单元测试的一大痛苦是构造测试数据。我的看法是测试数据应该是人造的,而不是随便从产品环境中dump出来一份,只有人造的数据能够确保环境可控,每次运行不会因为环境改变而频繁修改testcase。 各类程序的函数可以分为纯函数和副作用函数。纯函数对应的是数学里函数的概念,输入和输出是一一对应的。对一个输入,必然有确定的输出。比如1+1=2.而副作用函数则相反,同样的输入在不同的时间和环境中,可能有不...转载 2020-03-02 15:54:04 · 164 阅读 · 0 评论 -
比较杂的知识点合集
1.多线程访问stl容器时,记得对于begin、end、size、empty函数也加锁2.lamda表达式需要补起来啊。原创 2020-02-19 22:11:48 · 262 阅读 · 1 评论 -
如何有效的阅读开源代码
一、初步了解1.在下载源代码之后,先看下代码目录组织结构,如base代表基础库,net代表网络库等我2.开始阅读框架的源代码之前,先去google搜集下资料:这个框架是解决了什么问题?都是用了什么技术?分为多少个模块,每个模块之间有什么联系?尽量看官网英文的资料,因为中文技术博客的内容很多是错误的。3.试图将程序完整的跑起来,编译通过、修改配置文件,然后正常运行起来;这...原创 2020-06-25 08:26:55 · 4111 阅读 · 5 评论 -
如何衡量一个公司是否靠谱
如何衡量一个it公司是否靠谱??原创 2014-06-21 01:58:31 · 2535 阅读 · 7 评论 -
职业生涯-小公司和大公司的不同(持续更新)
仅以此文献给所有不甘于现状,努力打拼的人。 算算今年算是步入软件行业的第二个年头,在小公司待过一年,今年来成都以后开始在一家广电行业的软件公司工作。从小公司跳到索贝以后,工作方式的改变,对技术方面的要求不是那么高,公司的产品已经成熟和成型,我仅仅需要老老实实的当个后期维护人员就行,写下文档,改改bug,自己搭建测试环境来测试自己写的代码等等,说实话这些事情是有点简单和枯燥,原创 2014-09-29 01:43:06 · 9569 阅读 · 62 评论 -
程序员 跨平台 and 跨语言 学习攻略
欢迎转载 转载请注明原文出处:写篇文章记录下,从windows平台编程到Linux平台编程的转变,以及从C++语言到java语言的学习转变,心态的调整。语言组织的很一般,请大家多多指教1.开发环境的转变,从vs转vi+makefile搞windows下都是使用visual studio可视化平台,vs这个集成开发环境爽的很,敲代码时有代码补全,调试时具有可视化环境,能够实时看到代码执行到什么行,变原创 2021-04-07 19:10:19 · 2409 阅读 · 0 评论 -
优秀博客学习资源(持续更新)
互联网时代,知识种类繁多且复杂,有好的也有坏的.而跟着大牛学则可以在一定程度上减轻知识学习的负担. 把个人时间和精力集中在高品质内容的学习和研究上.互联网时代跟着人来学知识要速度快一点.个人博客 Coolshell 后端技术 by Tim Yang 云风的 BLOG 陈硕的Blog 阮一峰的网络日志 花钱的年华 顶级C++社区 知行一 开涛的博客 廖雪峰的官方网站团队博客 云栖原创 2017-03-13 17:04:20 · 1966 阅读 · 0 评论 -
进程打开文件进行写入时,使用vim打开文件进行写入导致fd文件描述符失效
今天解决了一个困扰一上午的问题,进程打开文件进行写入时,使用vim打开文件进行写入导致fd文件描述符失效https://www.douban.com/note/592324007/一、bug描述dpi v5程序在运行一段时间过后,程序的server日志不生成了.使用sed -i 修改了一个日志文件后,tail -f 发现该文件不再有输出了,最后,无奈,reload了下进程才能重写。二、做实验复现下面原创 2017-12-25 16:47:29 · 857 阅读 · 0 评论 -
小小程序员一点点成长为Architect
职业发展就是个眼界不断提高的过程,不管什么行业都是如此。 如何开阔自己的眼界呢? 读万卷书,行万里路,多见不同的人,多经历不同的事。如何成为牛逼的程序员? 多看好代码,好代码是什么样的. 分辨出来哪些是好代码,哪些是不好的代码? 简洁 优雅 高效 可读性,高可用,可扩展性,代码复用(感觉自己代码都不沾边,哈哈) 现在github上好代码这么多,值得自己学习的代码更多。精通原创 2018-02-01 11:20:19 · 611 阅读 · 0 评论 -
DDOS知识总结
从DDoS的危害性和攻击行为来看,我们可以将DDoS攻击方式分为以下几类:a)资源消耗类攻击资源消耗类是比较典型的DDoS攻击,最具代表性的包括:Syn Flood、Ack Flood、UDPFlood。这类攻击的目标很简单,就是通过大量请求消耗正常的带宽和协议栈处理资源的能力,从而达到服务端无法正常工作的目的。1.UDP / ICMP洪水攻击UDP小包攻击,占用网络设备的带宽资...原创 2018-08-28 17:49:42 · 896 阅读 · 0 评论 -
抗ddos方法——对tcp标志的校验
在抗ddos工作中,tcp的防护主要是对tcp标志位的检测//全部tcp都填写和都不填写if (unlikely((tcp_hdr->tcp_flags & TCP_FLAG_ALL) == TCP_FLAG_ALL ||(tcp_hdr->tcp_flags & TCP_FLAG_ALL) == 0)) {retu...原创 2021-02-19 17:28:02 · 197 阅读 · 2 评论 -
web 服务器功能模块设计(部分实现)
认准一件事后,就朝着这一件事走.做一个httpserver服务器,完整的代码,完整的设计.每个程序员都应该尝试下写博客 http://droidyue.com/blog/2017/01/02/why-every-programmer-should-try-to-write-blogs/ 今天确定下web server的框架.linux下使用libevent作为基础框架来搭建这个web serve原创 2017-01-03 13:27:43 · 3634 阅读 · 0 评论 -
Linux内核源代码 学习笔记
一、内核源码下载和在线阅读地址Linux source code (v5.18.1) - BootlinIndex of /pub/linux/kernel/二、阅读源代码初次看源代码的同学问的最多的两个问题:2、1 使用什么IDE来阅读源代码?代码阅读工具是source insight2、2 网络协议栈源代码有哪些?由于linux内核代码非常的多,我只看网络协议栈相关代码,所以只需要导入以下的目录:目录结构以后再慢慢的调整,不着急。基础部分lib..原创 2021-05-29 10:35:10 · 2058 阅读 · 1 评论 -
L4Drop: XDP DDoS Mitigations 翻译 XDP DDOS 缓解
原文链接https://blog.cloudflare.com/l4drop-xdp-ebpf-based-ddos-mitigations/有效的丢包是Cloudflare公司环境DDoS攻击的关键所在。我们在丢包库中引入了一个新工具:L4DROP我们在过去已经写了大量关于DDoS缓解的文章,包括:GateBot:分析可疑流量,并部署和可疑流量相匹配的缓解措施bpftools...翻译 2019-04-10 19:03:52 · 1186 阅读 · 0 评论 -
程序员修炼之道(每周看一遍,迷茫时看一遍)
一、代码质量1.用自动化提升工作效率使用脚本将简单重复的工作自动化,能有效的提高工作效率,shell python 脚本的熟练使用,对工作是锦上添花2.逻辑清晰的代码,可读性和可维护性好代码逻辑简单明了,条理越清晰,代码隐藏的bug就越少,后续维护起来也越简单。代码逻辑混乱不清,条理越混乱,势必会造成后续的开发中犯错和维护中的bug产生3.多阅读同事的代码每...原创 2020-01-25 16:48:03 · 2245 阅读 · 2 评论