自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yangrendong的专栏

Android系统分析、Linux内核学习、网络协议分析

  • 博客(120)
  • 资源 (2)
  • 收藏
  • 关注

原创 centos 7下hping3的编译安装和测试

最新由于调试测试ipv4到ipv6过渡技术中的map技术需要,需要一个工具模拟发送icmp、tcp和udp的ipv4报文,尤其是分片报文,可是环境所限,没有接入思博伦测试仪,所以我就想到了hping3测试工具。1.hping3下载: hping的工具官方网站是http://www.hping.org/download.html,大家可以到官方网站溜达一圈看看,...

2019-04-01 10:40:01 5440 1

原创 项目延期之解决之道

项目延期的处理方法论。

2023-12-20 16:09:15 493

原创 利用iptables缓解TCP SYN攻击

SYN洪水攻击是DDOS攻击中最常见的攻击类型之一,是一种利用TCP 协议缺陷,攻击者向被攻击的主机发送大量伪造的TCP连接请求,从而使得被攻击方主机服务器的资源耗尽(CPU 满负荷或内存不足) 的攻击方式。SYN攻击的目标不止于服务器,任何网络设备,都可能会受到这种攻击,针对网络设备的SYN攻击往往会导致整个网络瘫痪。企业遭到SYN攻击该如何防御呢?今天就来分享一下如何利用ipt...

2022-08-23 16:33:23 660

原创 面试算法之递归和循环

我们在抽象算法问题时,如果需要重复多次的计算相同的问题,可以用递归或循环。递归方式是在函数内部调用自身函数实现堆栈上的递归,直到终止条件结束为止;循环方式是通过设置计算的初始值和终止条件,在一个范围内循环运算。比如我们求1+2+3+...+n的值,我们可以用递归或者循环的方式求解(甚至数学功底好的可以想到背后的数学公式和定理;这个比较简单n*(n+1)/2); 递...

2022-08-23 08:59:11 429

原创 什么是软件工程?

软件工程漫谈

2022-08-22 11:09:14 3265 1

原创 选择从众,还是唯一?

从众还是唯一,艰难的选择

2022-08-18 19:59:02 202

原创 代码评审:寄望与哀伤

代码评审的寄望与哀伤

2022-08-18 15:50:40 301

原创 跨越断层,突破边界

如何跨越断层,突破边界

2022-08-18 15:03:50 266

原创 技术分歧,如何决策?

面对技术分歧如何来进行决策权衡

2022-08-18 11:57:14 397

原创 突破众多技术干货的迷茫

如何分辨对自己有用的技术干货

2022-08-18 11:24:59 129

原创 技术停滞:如何更新?

技术停滞后如何保持更新?

2022-08-17 14:39:11 573

原创 一技在身,天下我有

一技在身,天下我有

2022-08-17 09:53:34 185

原创 沟通之痛:如何改变?

程序员沟通之痛

2022-08-16 20:01:40 244

原创 偏好:个人习惯的局限与反思

个人养成习惯的思考

2022-08-16 19:30:36 292

原创 三维度:专业、展现与连接

三维度:专业、展现与连接

2022-08-16 15:57:52 365

原创 三视角:定位、自省与多维

三视角:定位、自省与多维

2022-08-16 11:57:40 258

原创 码农跃迁三角色:程序员、技术主管与架构师

程序员到技术主管和架构师的进阶之路

2022-08-16 10:11:06 719

原创 三人行新解:前辈、平辈和后辈

三人行新解释

2022-08-15 16:22:56 2996

原创 程序员的不惑之年:失业与恐惧

程序员的不惑之年。

2022-08-15 14:48:28 258

原创 工作与学习

工作与学习的如何平衡

2022-08-15 11:57:39 249

原创 趣谈LINUX系统的进程间通信

讲述LINUX进程间通信和项目间合作沟通的类比

2022-08-12 17:28:37 609

原创 三分靠策略 七分靠执行

策略执行力

2022-08-05 15:47:24 184

原创 如何提升产品经理的综合素质?

产品经理综合素质提升的方法

2022-08-05 15:19:04 242

原创 产品经理面试考查的是什么?

产品经理面试内容

2022-08-05 14:58:38 317

原创 数通平台中的组件概念

数通平台的组件概念澄清

2022-08-05 14:40:52 214

原创 优化性能问题的一般方法

我们可以从系统资源瓶颈和应用程序瓶颈,这两个角度来分析性能问题的根源。从系统资源瓶颈的角度来说,USE法是最为有效的方法,即从使用率、饱和度以及错误数这三个方面,来分析 CPU、内存、磁盘和文件系统 I/O、网络以及内核资源限制等各类软硬件资源。从应用程序瓶颈的角度来说,可以把性能问题的来源,分为资源瓶颈、依赖服务瓶颈以及应用自身的瓶颈这三类。资源瓶颈的分析思路,跟系统资源瓶颈是一样的。 依赖服务的瓶颈,可以使用全链路跟踪系统,进行快速定位。 而应用自身的问题,则可以通过系统调用、热点函数,

2022-02-11 14:30:35 692

原创 Linux性能工具速查

我们可以从系统和应用程序两个角度,来进行性能优化。从系统的角度来说,主要是对 CPU、内存、网络、磁盘 I/O 以及内核软件资源等进行优化。而从应用程序的角度来说,主要是简化代码、降低 CPU 使用、减少网络请求和磁盘 I/O,并借助缓存、异步处理、多进程和多线程等,提高应用程序的吞吐能力。性能优化最好逐步完善,动态进行;不要追求一步到位,而要首先保证能满足当前的性能要求;性能优化通常意味着复杂度的提升,也意味着可维护性的降低。如果你发现单机的性能调优带来过高复杂度,一定不要沉迷于单...

2022-01-20 20:43:33 151

原创 架构师案例分析

架构的本质是管理复杂性,抽象、分层、分治和演化思维是我们工程师 / 架构师应对和管理复杂性的四种最基本武器。 在我之前写的文章 《优秀架构师必须掌握的架构思维》 中,我先介绍了抽象、分层、分治和演化这四种应对复杂性的基本武器。在本篇文章中,我会通过四个案例,讲解如何综合运用这些武器,分别对小型系统、中型系统、基础架构以及组织技术体系进行架构和设计。小型系统案例...

2020-03-13 14:27:55 1486

原创 优秀架构师必须掌握的架构思维

如果说架构的本质是管理复杂性,那么抽象、分层、分治和演化思维是我们工程师/架构师应对和管理复杂性的四种最基本武器。1、抽象思维 抽象其实是这样定义的:对某种事物进行简化表示或描述的过程,抽象让我们关注要素,隐藏额外细节。在系统架构和设计中,抽象帮助我们从大处着眼(get our mind about big picture),隐藏细节(temporarily ...

2020-03-13 11:17:02 573

原创 网卡多队列技术与RSS功能介绍

多队列网卡是一种技术,最初是用来解决网络IO QoS(quality of service)问题的,后来随着网络IO的带宽的不断提升,单核CPU不能完全处满足网卡的需求,通过多队列网卡驱动的支持,将各个队列通过中断绑定到不同的核上,以满足网卡的需求。常见的有Intel的82575、82576,Boardcom的57711等,下面以公司的服务器使用较多的Intel 82575网卡为...

2020-02-07 09:58:47 1845

原创 Android 4G上网流程分析

手机一般会提供两种上网方式:Wifi或者3G/4G上网,Wifi上网其实就是利用网卡通过以太网上网;3G/4G则是通过基带,利用蜂窝网络进行上网,之前已经简单的阐述了Wifi上网跟3G上网的区别,本文主要简述Android 3G/4G上网的流程及原理。无线上网硬件模型 3G/4G上网协议ppp 3G/4G上网流程-ppp如何建立 socket如何通过基带模块发送数据、接收数...

2019-11-05 11:28:57 6110

原创 跳表(skip list)

我们知道二叉搜索算法能够高效的查询数据,但是需要一块连续的内存,而且增删改效率很低。跳表,是基于链表实现的一种类似“二分”的算法。它可以快速的实现增,删,改,查操作。我们先来看一下单向链表如何实现查找image.png当我们要在该单链表中查找某个数据的时候需要的时间复杂度为O(n).怎么提高查询效率呢?如果我们给该单链表加一级索引,将会改善查询效率。image.pn...

2019-10-11 10:22:14 479

原创 TCP/IP详解

TCP/IPTCP/IP 意味着 TCP 和 IP 在一起协同工作。TCP 负责应用软件(比如你的浏览器)和网络软件之间的通信。IP 负责计算机之间的通信。TCP 负责将数据分割并装入 IP 包,然后在它们到达的时候重新组合它们。IP 负责将包发送至接受者。TCP报文格式TCP报文格式1.jpg16位源端口号:16位的源端口中包含初始化通信的端口。源端口和源IP...

2019-05-24 17:40:47 330

原创 Java NIO:IO与NIO的区别

一、概念 NIO即New IO,这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多。在Java API中提供了两套NIO,一套是针对标准输入输出NIO,另一套就是网络编程NIO。二、NIO和IO的主要区别下表总结了Java IO和NIO之间的主要区别:IO NIO 面向流 ...

2019-05-24 17:23:18 280

原创 Unix 网络 IO 模型及 Linux 的 IO 多路复用模型

本文主要探讨的问题有以下两个:Unix 中的五种网络 IO 模型; Linux 中 IO 多路复用的实现。基本概念在介绍网络模型之前,先简单介绍一些基本概念。文件描述符 fd文件描述符(file descriptor,简称 fd)在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向...

2019-05-24 17:12:05 295

原创 Linux下五种网络IO模型

本文我们主要来了解一下Unix/Linux下5种网络IO模型:blocking IO, nonblocking IO, IO multiplexing, signal driven IO, asynchronous IO的基本原理,更好的理解在高级语言中的异步编程,一起来看看吧,希望对大家学习linux有所帮助。  写在前面  为了更好的理解下面提到的Linux下5种网络IO的概念,...

2019-05-24 16:45:03 2233 1

转载 成小胖学习ActiveMQ·基础篇

过了个春节,回到公司的成小胖变成了成大胖。但是你们千万别以为他那个大肚子里面装的都是肥肉,里面的墨水也多了不少嘞,毕竟成小胖利用春节的半个月时间专心学习并研究了 ActiveMQ,嘿嘿……这不,为了检验下自己的学习成果,上班的第一天成小胖就去找架构师老王交流 ActiveMQ 相关的知识,还顺便向老王讨了个红包,可把成小胖给高兴坏了。“来,根据你的了解说下 ActiveMQ 是什么。”“这...

2019-05-24 14:52:26 195

原创 设计秒杀系统笔记

设计原因:为什么要针对秒杀设计一个完善的方案?因为系统可能会因为1%的秒杀业务影响其余99%正常业务的运行,所以需要将秒杀系统独立出来。待解决问题:主要解决两个问题:并发读、并发写。整体架构要求:概括为:"稳、准、快",即对应"高可用、一致性、高性能",其介绍分别如下:高可用:保证系统的高可用和正确性,设计PlanB进行兜底。一致性:保证秒杀减库存中的数据一致性。高...

2019-05-23 11:09:08 292

转载 探索性测试揭秘

最近看了不少有关探索性测试的讨论和观点,老实说越看越糊涂。所以忍不住吐槽一下,在这里和大家讨论一下探索性测试。希望对于想学习和尝试探索性测试的朋友有所帮助澄清,或者是更加糊涂,^_^。探索性测试有很多很多的定义:百度百科的定义:“同时设计测试和执行测试”。 嗯。。什么意思?Cem 老人家的正式定义:“a style of software testing that e...

2019-05-14 09:35:46 1785

原创 软件开发中的一些疑惑和探讨

我们今天聊一聊我们软件开发中遇到的一些困惑和疑虑,一起探讨下其背后的深层次原因。 做开发也许有好多年了,我们每次看到高端的架构思想方法时,总觉得没有和应用很好的结合起来,我们就会起了怀疑,到底是架构设计实践不够,还是对各种实现的分析和思考太少了?其实,我们缺少的不但但是架构的实践,还有不同场景的实践,例如我们可能平时做企业应用架构,流量少,没什么数据,复杂的地方...

2019-05-09 14:23:30 463

MAP技术相关详细介绍

MAP技术相关资源

2022-08-19

ANDROID框架揭秘.pdf

详细解析android的框架,从框架层面来剖析Android系统。

2014-06-11

空空如也

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

TA关注的人

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