操作系统怎么检测栈溢出的呢?有什么保护机制吗? [问题点数:40分,结帖人shimachao]

一键查看最优答案

确认一键查看最优答案?
本功能为VIP专享,开通VIP获取答案速率将提升10倍哦!
Bbs4
本版专家分:1499
结帖率 99.22%
Bbs6
本版专家分:5415
Bbs10
本版专家分:139376
版主
Blank
进士 2018年总版新获得的技术专家分排名前十
2017年 总版技术专家分年内排行榜第六
Blank
金牌 2018年1月 总版技术专家分月排行榜第一
2016年12月 总版技术专家分月排行榜第一
2016年11月 总版技术专家分月排行榜第一
2016年10月 总版技术专家分月排行榜第一
Blank
优秀版主 2016年10月优秀大版主
2016年8月优秀大版主
Blank
银牌 2018年5月 总版技术专家分月排行榜第二
2017年12月 总版技术专家分月排行榜第二
2016年9月 总版技术专家分月排行榜第二
Bbs12
本版专家分:381949
Blank
状元 2017年 总版技术专家分年内排行榜第一
Blank
榜眼 2014年 总版技术专家分年内排行榜第二
Blank
探花 2013年 总版技术专家分年内排行榜第三
Blank
进士 2018年总版新获得的技术专家分排名前十
2012年 总版技术专家分年内排行榜第七
Bbs3
本版专家分:841
Bbs12
本版专家分:381949
Blank
状元 2017年 总版技术专家分年内排行榜第一
Blank
榜眼 2014年 总版技术专家分年内排行榜第二
Blank
探花 2013年 总版技术专家分年内排行榜第三
Blank
进士 2018年总版新获得的技术专家分排名前十
2012年 总版技术专家分年内排行榜第七
Bbs12
本版专家分:381949
Blank
状元 2017年 总版技术专家分年内排行榜第一
Blank
榜眼 2014年 总版技术专家分年内排行榜第二
Blank
探花 2013年 总版技术专家分年内排行榜第三
Blank
进士 2018年总版新获得的技术专家分排名前十
2012年 总版技术专家分年内排行榜第七
溢出崩溃排查(一)
近日,我们视频平台提交基线测试时,出现录像下载失败崩溃的现象,通过仔细调试发现其是一个很典型的DLL HELL引发的<em>栈</em><em>溢出</em>,由于在我们的项目中,引用了大量的DLL,而且有很多DLL是多方引用的,很容易出现版本不一致的问题,一般这种问题极难排查,需要耗费大量精力,现将此排查过程记录下,希望对后面类似问题的排查有所帮助。
溢出需关闭的安全保护机制
系统环境:Linux 4.8.0-36-generic x86_64DISTRIB_DESCRIPTION=&quot;Ubuntu 16.04.2 LTS&quot;gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609关闭<em>栈</em><em>溢出</em><em>保护</em>的指令:1. 编译需加上的指令:gcc -g hello.c -o hello -z execstack -fno-stack-prote...
单片机溢出的一种检测方法
裸奔的时候,一直担心<em>栈</em>会不会<em>溢出</em>。由于<em>栈</em>的使用量无法估测,导致<em>栈</em>的设置要么过大,要么过小。今天,我想了一种简单的<em>检测</em>方法,可以简单<em>检测</em><em>栈</em>是否<em>溢出</em>,下面是我的具体的思想。 1、查看*.map文件,查找<em>栈</em>顶地址; 2、定义一个全局变量,用于存储<em>栈</em>顶上电时候的数据; 3、在系统参数初始化的时候将<em>栈</em>顶数据赋给第二步定义的全局变量; 4、在系统大循环里面<em>检测</em><em>栈</em>顶数据是否有变化。 下面将上述的思
溢出崩溃排查(二)
(接上文) 竟然全是0,试着输出再多一些,输入dps esp L100,终于能看到熟悉的调用<em>栈</em>了,当然这种形式与我们平时看windbg的不同,这里把调用<em>栈</em>的原始数据输出了,具体调用流程,还要我们自己去分析。 实际上到这里,已经猜到十有八九是发生了<em>栈</em><em>溢出</em>,其判断理由有二,第一EIP和EBP的值同时被覆盖掉了,第二EIP和EBP的值跟ESP指向的<em>栈</em>上的值相同,都是0,想想函数的调用过程,当函数调用
Linux溢出例子详解
注:本例中使用的例子为看雪论坛帖子中的例子(https://bbs.pediy.com/thread-216868.htm),结合自己的理解,进行更深入的详细的讲解,更有利于理解细节! 例子中的代码如下: //vuln.c #include &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; #include &amp;amp;amp
内核溢出保护
linux内核中有个编译选项CC_STACKPROTECTOR用来开启GCC的stack-protector功能, 这个功能是在GCC4.1版本中引入,用来<em>检测</em><em>栈</em>是否遭到<em>溢出</em>攻击。 目前我们用的版本中开启了这两个选项CONFIG_CC_STACKPROTECTOR、CONFIG_CC_STACKPROTECTOR_REGULAR。 编译器<em>栈</em><em>溢出</em><em>保护</em>原理: 函数<em>栈</em>存储结构,从
一个溢出的实验
———-一:ret2addr和ret2reg(绕过随机化)———- 测试环境:Ubuntu 12.04 调试工具:gdb(可用图形界面工具:insight)+ core文件 说明:若直接在gdb里执行程序,地址空间和程序单独运行时不同。程序出段错误可生成core文件,保存出错时的上下文信息,结合gdb一起,可以得知程序单独运行时的一些状态。实验前设置core文件大小:u
你真的了解溢出么?
记得之前看过一篇文章说,最好查的bug是语法错误,因为编译器会告诉你,最不好查的bug是<em>栈</em><em>溢出</em>,因为啥,因为不仅编译器不会告诉你,连你自己有可能都找不到原因出在哪。 经过了一段时间的摸索,算是基本搞清楚了<em>栈</em><em>溢出</em>的原理,写下来以防日后出现问题无从下手。 前言 开发过单片机的同学应该不陌生这个名词,一般我们也说堆<em>栈</em>,其实这里有两个意思:一般我们说堆<em>栈</em>其实指的就是帧本身,而说堆指的就是堆。这是两个
溢出检测
堆<em>栈</em>使用 维持的每个任务,都有它自己的堆<em>栈</em>。任务堆<em>栈</em>占用的内存,当任务创建时自动分配了;堆<em>栈</em>的尺寸参数通过xTaskCreate()?API确定。堆<em>栈</em><em>溢出</em>是常见事件,由应用程序不确定引起的。FreeRTOS.org?因此提供了提供了两个可供选择的<em>机制</em>,可用来协助察觉和纠正这种事件发生。使用的选项由configCHECK_FOR_STACK_OVERFLOW 配置常量配置. 注意,这
C 溢出详解
转载:作者:独自等待出处:IT专家网2007-12-18 09:56 虽然<em>溢出</em>在程序开发过程中不可完全避免,但<em>溢出</em>对系统的威胁是巨大的,由于系统的特殊性,<em>溢出</em>发生时攻击者可以利用其漏洞来获取系统的高级权限root,因此本文将详细介绍堆<em>栈</em><em>溢出</em>技术……   在您开始了解堆<em>栈</em><em>溢出</em>前,首先你应该了解win32汇编语言,熟悉寄存器的组成和功能。你必须有堆<em>栈</em>和存储分配方面的基础知识,有关这方面的计算机书籍
在调试器里看LINUX内核态溢出
    图灵最先发明了<em>栈</em>,但没有给它取名字。德国人鲍尔也“发明”了<em>栈</em>,取名叫酒窖。澳大利亚人汉布林也“发明”了<em>栈</em>,取名叫弹夹。1959年,戴克斯特拉在度假时想到了Stac...
Linux溢出攻防原理
、前言 Linux下常用的拷贝函数(如strcpy、memcpy等)如果使用不规范,常常会导致<em>栈</em><em>溢出</em>。也就是你的软件系统本身存在bug,这样就会成为别人攻击的目标。本文主要讲的是Linux系统如何给<em>栈</em><em>溢出</em>增加防护网?攻击者又有什么手段绕过一层层防护网实现攻击? 2、<em>栈</em><em>溢出</em>防御 2.1 地址随机化技术 Linux系统提供设置堆<em>栈</em>地址随机化技术,例如函数内部变量存在<em>栈</em>上,每次打印函数内部...
重视C语言中的溢出
ANSI C
溢出测试代码
import java.util.ArrayList; import java.util.List; public class test { private int stackLength=1; public void stackLeak() { stackLength++; stackLeak(); } public static void main(String[] a...
检查堆溢出的实验
检查堆<em>栈</em><em>溢出</em>的实验
构造函数结束时老是报错:堆 Cookie 检测代码检测到基于堆的缓冲区溢出
网上说是数组越界,但我每次出这错误都是构造函数里: class MetadataManager { private: static MetadataManager _instance; map<con
ucos-iii学习之空间大小的确定与检测任务堆溢出
1.<em>栈</em>空间大小的确定 堆<em>栈</em>的大小取决于该任务的需求。设定堆<em>栈</em>大小时,你就需要考虑:所有可能被堆<em>栈</em>调用的函数及其函数的嵌套层数,相关局部变量 的大小,中断服务程序所需要的空间。 2.<em>检测</em>任务堆<em>栈</em>的<em>溢出</em> (1)使用MMU或MPU 如果任务企图访问未被允许的内存空间的话,会产生警告。 (2)堆<em>栈</em><em>溢出</em><em>检测</em>寄存器 一些处理器中有一些堆<em>栈</em><em>溢出</em><em>检测</em>寄存器。 (3)基于软件的堆<em>栈</em><em>溢出</em><em>检测</em> 当uC/O
Cookie 检测代码检测到基于堆的缓冲区溢出
最近qt项目中接入了NFC,使用的第三方提供的dll,结果在运行时频繁崩溃,使用vs调试时出现这个错误“堆<em>栈</em> Cookie <em>检测</em>代码<em>检测</em>到基于堆<em>栈</em>的缓冲区<em>溢出</em>”; baidu了很久,没有发现自己的代码有数组越界导致的<em>溢出</em>现象。 一步步注释慢慢调试,发现是由于调用了dll库的逻辑方法中调用了qDebug() 注释掉方法中所有的qDebug后,运行成功!这是一个大坑,遇到如下问题的朋...
linux内核中内核局部变量过大不会导致溢出吗?
数组就占用了空间128k,可是内核<em>栈</em>中只有不到4K的可用空间啊。如果局部变量存储在内核<em>栈</em>中岂不是会导致<em>栈</em><em>溢出</em>?从后面直接把page 页面用change_ldt()把page页面映射到进程的逻辑地址空间
第11章 FreeRTOS任务大小确定及其溢出检测
本章节为大家讲解FreeRTOS任务<em>栈</em>大小的确定方法以及<em>栈</em><em>溢出</em><em>检测</em>方法。给任务分配多大的<em>栈</em>空间,一直是初学者比较头疼的问题,本章就主要为大家讲解如何解决此问题。 本章教程配套的例子含Cortex-M3内核的STM32F103和Cortex-M4内核的STM32F407以及F429。11.1 任务<em>栈</em>大小的确定在基于RTOS的应用设计中,每个任务都需要自己的<em>栈</em>空间,应用不同,每个任务需要的<em>栈</em>大
Cookie 检测代码检测到基于堆的缓冲区溢出。请问,应该如何修改啊?
-
Linux 溢出学习笔记
Linux<em>操作系统</em>提供了一些<em>机制</em>来阻止<em>栈</em><em>溢出</em>攻击方法对系统产生危害。 1. 内存地址随机化<em>机制</em>。在Ubuntu和其他基于linux内核的系统中,目前都采用内存地址随机化的<em>机制</em>来初始化堆<em>栈</em>,这将会使得猜测具体的内存地址变得十分困难。关闭内存地址随机化<em>机制</em>的方法是: sysctl –w kernel.randomize_va_space=0 2. 可执行程序的屏蔽<em>保护</em><em>机制</em>。对于Federal系统...
溢出几种保护方式
<em>栈</em><em>溢出</em>主要是通过覆盖<em>栈</em>内保存的函数返回地址eip,然后在EIP处写入shellcode地址做的。 对于<em>栈</em><em>溢出</em>的<em>保护</em>有很多 1 使用<em>栈</em><em>保护</em> 比如linux上的 -fstack-protector windows上的 GS开关。 这种处理的方式是。 进入函数时将一个特定的DATA保存在stack 的高位置 [buffer][DATA][ebp][eip] 低位置
使用与堆溢出检查
堆<em>栈</em>使用维持的每个任务,都有它自己的堆<em>栈</em>。任务堆<em>栈</em>占用的内存,当任务创建时自动分配了;堆<em>栈</em>的尺寸参数通过xTaskCreate()?API确定。堆<em>栈</em><em>溢出</em>是常见事件,由应用程序不确定引起的。FreeRTOS.org?因此提供了提供了两个可供选择的<em>机制</em>,可用来协助察觉和纠正这种事件发生。使用的选项由configCHECK_FOR_STACK_OVERFLOW 配置常量配置. 注意,这些选项仅适
溢出及解决方法
<em>栈</em><em>溢出</em>及解决方法 文章目录<em>栈</em><em>溢出</em>及解决方法1. 什么是<em>栈</em><em>溢出</em>?2. <em>栈</em><em>溢出</em>的解决方法 1. 什么是<em>栈</em><em>溢出</em>? 缓冲区<em>溢出</em>是由于C语言系列设有内置检查<em>机制</em>来确保复制到缓冲区的数据不得大于缓冲区的大小,因此当这个数据足够大的时候,将会<em>溢出</em>缓冲区的范围。 <em>栈</em><em>溢出</em>就是缓冲区<em>溢出</em>的一种。 由于缓冲区<em>溢出</em>而使得有用的存储单元被改写, 往往会引发不可预料的后果。程序在运行过程中,为了临时存取数据的需要,一...
关于溢出
写了一个代码,宏定义了一些变量 N M,这两个数据定义了一些数组的大小.设置了 好几组数据 N M 4 16 正常运行 8 32 正常运行 10 40 正常运行 11 44 <em>栈</em><em>溢出</em>,0x00e05e9
检测内核的堆溢出
转载自:http://www.alivepea.me/kernel/kernel-overflow/ 内核堆<em>栈</em><em>溢出</em>通常有两种情况。一种是函数调用<em>栈</em>超出了内核<em>栈</em>THREAD_SIZE的大小,这是<em>栈</em>底越界,另一种是<em>栈</em>上缓冲越界访问,这是<em>栈</em>顶越界。 <em>检测</em><em>栈</em>底越界 以arm平台为例,内核<em>栈</em>THREAD_SIZE为8K,当调用<em>栈</em>层次过多或某调用<em>栈</em>上分配过大的空间,就会导致它越界。越界后stru
检测内核的堆溢出【转】
转自:http://bbs.chinaunix.net/thread-4117342-1-1.html <em>检测</em>内核的堆<em>栈</em><em>溢出</em> http://www.alivepea.me/kernel/kernel-overflow/ “如果建筑工人盖房子的方式跟程序员写程序一样,那第一只飞来的啄木鸟就将毁掉人 类文明。” – Gerald Weinberg 内核堆<em>栈</em><em>溢出</em>通常有两种情况。一种是函数调...
关于加载com组件报调试发现系统在此应用程序中检测到基于堆的缓冲区溢出错误
我自己开发一个ATL插件,在MFC程序上调用,调式的时候发现”系统在此应用程序中<em>检测</em>到基于堆<em>栈</em>的缓冲区<em>溢出</em>错误...“错误。我百度了一下也没有很好的结果。我把插件换成DeBug版本附加进去,发现程序断在了strDeivce.Format(("%s%s%d%s%d%s%s%s"), strDeivce, "{\"device\":", i, ",\"seqNbr\":", i, ",\"name\"
如何解决溢出
1,什么是<em>栈</em><em>溢出</em>?因为<em>栈</em>一般默认为1-2m,一旦出现死循环或者是大量的递归调用,在不断的压<em>栈</em>过程中,造成<em>栈</em>容量超过1m而导致<em>溢出</em>。2,解决方案:方法一:用<em>栈</em>把递归转换成非递归通常,一个函数在调用另一个函数之前,要作如下的事情:a)将实在参数,返回地址等信息传递给被调用函数保存; b)为被调用函数的局部变量分配存储区;c)将控制转移到被调函数的入口. 从被调用函数返回调用函数之前,也要做三件事情:a)保存被调函数的计算结果;b)释放被调函数的数据区;c)依照被调函数保存的返回地址将控制转移到调用函数.所有的这
关于溢出问题
#include void main() { int a,i,j,k; for(k=0;k<60
新手问个问题,关于判断是否溢出
顺序存储实现<em>栈</em>的时候 top-base==stacksize可判断<em>栈</em>满 但是如果top指向<em>栈</em>顶下一位置,即指向数组外。top-base==stacksize还可以判断<em>栈</em>满吗,top的指向不明确啊,只有
溢出溢出
堆<em>溢出</em>:不断的new 一个对象,一直创建新的对象, <em>栈</em><em>溢出</em>:死循环或者是递归太深,递归的原因,可能太大,也可能没有终止。 在一次函数调用中,<em>栈</em>中将被依次压入:参数,返回地址,EBP。如果函数有局部变量,接下来,就在<em>栈</em>中开辟相应的空间以构造变量。举例如下: 那么堆<em>栈</em>是什么?如果计算机是一个白领的话,那么堆<em>栈</em>就是他的办公桌。为了完成老板(程序)交代的工作,这个白领需要从书架或者柜子里拿出资料
溢出笔记1.1 函数调用过程
选择从<em>栈</em><em>溢出</em>开始学习Shellcode的编写,是因为在没有<em>保护</em><em>机制</em>(<em>栈</em>Cookie,ASLR,DEP,SafeSEH)的系统中使用<em>栈</em><em>溢出</em>是一件很简单的事情。<em>栈</em>区随着函数调用动态变化,每个函数调用时在<em>栈</em>上占用的空间称为<em>栈</em>帧。用一个示例来说明<em>栈</em>上保存的内容及动态变化的过程。 下面是一个程序,生成一个对话框显示一条“Hello World!”消息。下面是该程序的C代码: 在VS2008中用Debu
溢出原理
<em>栈</em><em>溢出</em>指的是程序向<em>栈</em>中某个变量中写入的字节数超过了这个变量本身所申请的字节数,因而导致<em>栈</em>中与其相邻的变量的值被改变。这种问题是一种特定的缓冲区<em>溢出</em>漏洞(比如说,还有向堆中写,向bss段写)。而对于黑客来说,<em>栈</em><em>溢出</em>漏洞轻则可以使得程序崩溃,重则可以使得攻击者控制程序执行流程。
内核堆溢出
Linux内核的堆<em>栈</em>一般是8K,所以在写内核程序的时候一定要小心,防止函数递归的出现,递归可能导致内核堆<em>栈</em><em>溢出</em>。 1. 查看Linux内核线程堆<em>栈</em>,源代码里一般定义为 #define THREAD_SIZE (2*PAGE_SIZE) 2. 如果怀疑有堆<em>栈</em><em>溢出</em>的情况,可以在代码里面加入如下的代码来检查当前内核堆<em>栈</em>。 uint32 mystack_used (void)  {
[原理分析]Linux下的溢出案例分析-GDB调试操练[1]
本文主要演示linux平台下的<em>栈</em><em>溢出</em>,首先根据理论对示例代码进行<em>溢出</em>攻击;结果是<em>溢出</em>攻击成立,但是与设想的有差别;然后采用GDB调试工具对发生的意外,进行深入的分析。
TI-RTOS Sys-Bios操作系统:task溢出检测方法
1. 示例代码 Task_Stat statbuf; /* declare buffer */ Task_stat(Task_self(), &statbuf); /* call func to get status */ if (statbuf.used > (statbuf.stackSize * 9 / 10)) { System_printf("Over 90% of tas
《FreeRTOS的检测溢出一种方法》(uxTaskGetStackHighWaterMark())
为什么要<em>栈</em><em>检测</em> 首先看我们创建每个任务使用者都是用自己的经验,这个任务大概占多大根据经验然后我们分配给它空间,但是任务<em>栈</em>空间的实际使用量会随着任务执行和中断处理过程上下浮动,所以FreeRTOS提供了一种<em>检测</em><em>栈</em>剩余的接口。 注意事项 使用这个API首先要在FreeRTOS.h中打开uxTaskGetStackHighWaterMark #ifndef INCLUDE_uxTas
溢出问题分析
<em>栈</em><em>溢出</em>问题分析 近日,程序总是莫名其妙的coredump,而且还是在变量定义的时候(如 int a=1),百思不得其解。在这种情况下,只有几种情况可能出现:内存踩踏、<em>栈</em><em>溢出</em>。 在经过长时间的分析确认,肯定不是内存踩踏。剩下的就是<em>栈</em><em>溢出</em>了。Linux下一般单个程序<em>栈</em>大小为10M,可用ulimit -s查阅。一般情况下,10M的大小足够用,怎会出现<em>栈</em><em>溢出</em>。再次对代码进行了详细的分析,发现有一处
uCOS-III任务堆溢出检测及统计任务堆使用量的方法
1. 在<em>操作系统</em>任务设计的时候,通常会遇到一个比较麻烦的问题,也就是任务堆<em>栈</em>大小设定的问题,为此我们我需要知道一些问题: 1.1. 任务堆<em>栈</em>一但<em>溢出</em>,意味着系统的崩溃,在有MMU或者MPU的系统中,对堆<em>栈</em><em>溢出</em>的<em>检测</em>十分简单,因为这是MMU和MPU必备的功能之一。(uCOS-II/uCOS-III中均有针对没有MMU和MPU的处理器对堆<em>栈</em><em>溢出</em><em>检测</em>的策略) 1.2. 堆<em>栈</em>的大小取决于该任务
溢出从入门到放弃(上)
转自https://zhuanlan.zhihu.com/p/25892385 0x00 写在最前面 开场白:快报快报!今天是2017 Pwn2Own黑客大赛的第一天,长亭安全研究实验室在比赛中攻破Linux<em>操作系统</em>和Safari浏览器(突破沙箱且拿到系统最高权限),积分14分,在11支队伍中暂居 Master of Pwn 第一名。作为热爱技术乐于分享的技术团队,我们开办了这个专栏,
溢出防御之——Windows安全机制GS编译选项
安全漏洞中有个重灾区:<em>栈</em><em>溢出</em>。利用类似memset之类的字符串修改函数,输入超出正常长度的字符串,导致<em>栈</em><em>溢出</em>,从而影响其它数据(返回地址、标志变量等)。 维基百科给出的资料http://zh.wikipedia.org/wiki/%E5%A0%86%E6%A0%88%E6%BA%A2%E5%87%BA主要是函数无限调用导致的堆<em>栈</em><em>溢出</em>,下面给出个0day2里面的例子温习下<em>栈</em><em>溢出</em>:
程序员真是太太太太太有趣了!!!
网络上虽然已经有了很多关于程序员的话题,但大部分人对这个群体还是很陌生。我们在谈论程序员的时候,究竟该聊些什么呢?各位程序员大佬们,请让我听到你们的声音!不管你是前端开发...
史上最详细的IDEA优雅整合Maven+SSM框架(详细思路+附带源码)
网上很多整合SSM博客文章并不能让初探ssm的同学思路完全的清晰,可以试着关掉整合教程,摇两下头骨,哈一大口气,就在万事具备的时候,开整,这个时候你可能思路全无 ~中招了咩~ ,还有一些同学依旧在使用eclipse或者Myeclipse开发,我想对这些朋友说IDEA 的编译速度很快,人生苦短,来不及解释了,直接上手idea吧。这篇文章每一步搭建过程都测试过了,应该不会有什么差错。本文章还有个比较优秀的特点,就是idea的使用,基本上关于idea的操作都算是比较详细的,所以不用太担心不会撸idea!最后,本文
2019年9月全国程序员工资统计
2019年9月2日,统计了某招聘网站上的所有程序员招聘信息。并汇总如下。
吃人的那些 Java 名词:对象、引用、堆、
作为一个有着 8 年 Java 编程经验的 IT 老兵,说起来很惭愧,我被 Java 当中的四五个名词一直困扰着:**对象、引用、堆、<em>栈</em>、堆<em>栈</em>**(<em>栈</em>可同堆<em>栈</em>,因此是四个名词,也是五个名词)。每次我看到这几个名词,都隐隐约约觉得自己在被一只无形的大口慢慢地吞噬,只剩下满地的衣服碎屑(为什么不是骨头,因为骨头也好吃)。
我花了一夜用数据结构给女朋友写个H5走迷宫游戏
起因 又到深夜了,我按照以往在csdn和公众号写着数据结构!这占用了我大量的时间!我的超越妹妹严重缺乏陪伴而 怨气满满! 而女朋友时常埋怨,认为数据结构这么抽象难懂的东西没啥作用,常会问道:天天写这玩意,有啥作用。而我答道:能干事情多了,比如写个迷宫小游戏啥的! 当我码完字准备睡觉时:写不好别睡觉! 分析 如果用数据结构与算法造出东西来呢? ...
接班马云的为何是张勇?
上海人、职业经理人、CFO 背景,集齐马云三大不喜欢的张勇怎么就成了阿里接班人? 作者|王琳 本文经授权转载自燃财经(ID:rancaijing) 9月10日,张勇转正了,他由阿里巴巴董事局候任主席正式成为阿里巴巴董事局主席,这也意味着阿里巴巴将正式开启“逍遥子时代”。 从2015年接任CEO开始,张勇已经将阿里巴巴股价拉升了超过200%。但和马云强大的个人光环比,张勇显得尤其...
让程序员崩溃的瞬间(非程序员勿入)
今天给大家带来点快乐,程序员才能看懂。 来源:https://zhuanlan.zhihu.com/p/47066521 1. 公司实习生找 Bug 2.在调试时,将断点设置在错误的位置 3.当我有一个很棒的调试想法时 4.偶然间看到自己多年前写的代码 5.当我第一次启动我的单元测试时 ...
用Python分析2000款避孕套,得出这些有趣的结论
到现在为止,我们的淘宝教程已经写到了第四篇,前三篇分别是: 第一篇:Python模拟登录淘宝,详细讲解如何使用requests库登录淘宝pc端。 第二篇:淘宝自动登录2.0,新增Cookies序列化,教大家如何将cookies保存起来。 第三篇:Python爬取淘宝商品避孕套,教大家如何爬取淘宝pc端商品信息。 今天,我们来看看淘宝系列的第四篇 我们在上一篇的时候已经将淘宝数据爬取下来了,...
Spring Cloud(11)——基于RocketMQ的Stream实现
基于RocketMQ的Stream实现 Spring Cloud Stream是一个消息收发的框架,它提供了一套标准,应用程序只需要按照它的标准进行消息的收发,而不用关注具体的实现<em>机制</em>。具体的实现可以基于不同的消息中间件进行不同的实现,比如Kafka的实现、RabbitMQ的实现、RocketMQ的实现等。官方已经提供了Kafka和RabbitMQ的实现,RocketMQ的实现由Alibaba负责...
Java 13 新特性全面解读
作者 l Hollis 本文经授权转载自Hollis(ID:hollischuang) 2017年8月,JCP执行委员会提出将Java的发布频率改为每六个月一次,新的发布周期严格遵循时间点,将在每年的3月份和9月份发布。 目前该版本包含的特性已经全部固定,主要包含以下五个: JEP 350,Dynamic CDS Archives JEP 351,ZGC: Uncomm...
分享靠写代码赚钱的一些门路
作者 mezod,译者 josephchang10如今,通过自己的代码去赚钱变得越来越简单,不过对很多人来说依然还是很难,因为他们不知道有哪些门路。今天给大家分享一个精彩...
技术人员要拿百万年薪,必须要经历这9个段位
很多人都问,技术人员如何成长,每个阶段又是怎样的,如何才能走出当前的迷茫,实现自我的突破。所以我结合我自己10多年的从业经验,总结了技术人员成长的9个段位,希望对大家的职...
面试官:兄弟,说说基本类型和包装类型的区别吧
Java 的每个基本类型都对应了一个包装类型,比如说 int 的包装类型为 Integer,double 的包装类型为 Double。基本类型和包装类型的区别主要有以下 4 点。
多线程编程是后台开发人员的基本功
这里先给大家分享一个小故事:在我刚开始参加工作的那年,公司安排我开发一款即时通讯软件(IM,类似于 QQ 聊天软件),在这之前我心里也知道如果多线程操作一个整型值是要加锁...
进程和线程的区别(超详细)
进程和线程 进程 一个在内存中运行的应用程序。每个进程都有自己独立的一块内存空间,一个进程可以有多个线程,比如在Windows系统中,一个运行的xx.exe就是一个进程。 线程 进程中的一个执行任务(控制单元),负责当前进程中程序的执行。一个进程至少有一个线程,一个进程可以运行多个线程,多个线程可共享数据。 与进程不同的是同类的多个线程共享进程的堆和方法区资源,但每个线程有自己的程序计数器、虚拟...
动画:用动画给面试官解释 TCP 三次握手过程
作者 | 小鹿 来源 | 公众号:小鹿动画学编程 写在前边 TCP 三次握手过程对于面试是必考的一个,所以不但要掌握 TCP 整个握手的过程,其中有些小细节也更受到面试官的青睐。 对于这部分掌握以及 TCP 的四次挥手,小鹿将会以动画的形式呈现给每个人,这样将复杂的知识简单化,理解起来也容易了很多,尤其对于一个初学者来说。 学习导图 一、TCP 是什么? TCP(Transmissio...
为什么程序员在学习编程的时候什么都记不住?
在程序员的职业生涯中,记住所有你接触过的代码是一件不可能的事情!那么我们该如何解决这一问题?作者 |Dylan Mestyanek译者 | 弯月,责编 | 屠敏出品 |...
500行代码,教你用python写个微信飞机大战
这几天在重温微信小游戏的飞机大战,玩着玩着就在思考人生了,这飞机大战怎么就可以做的那么好,操作简单,简单上手。 帮助蹲厕族、YP族、饭圈女孩在无聊之余可以有一样东西让他们振作起来!让他们的左手 / 右手有节奏有韵律的朝着同一个方向来回移动起来! 这是史诗级的发明,是浓墨重彩的一笔,是…… 在一阵抽搐后,我结束了游戏,瞬时觉得一切都索然无味,正在我进入贤者模式时,突然想到,如果我可以让更多人已不同的方式体会到这种美轮美奂的感觉岂不美哉? 所以我打开电脑,创建了一个 `plan_game.py`……
唐僧团队要裁员,你会裁谁?
提问: 西游记取经团为了节约成本,唐太宗需要在这个团队里裁掉一名队员,该裁掉哪一位呢,为什么? 为了完成西天取经任务,组成取经团队,成员有唐僧、孙悟空、猪八戒、沙和尚、白龙马。 高层领导: 观音 项目经理: 唐僧 技术核心: 孙悟空 普通团员: 猪八戒、沙和尚 司机: 白龙马 这是个很有意思的项目团队 项目经理:唐僧 得道高僧。 唐僧作为项目经理,有很坚韧的品性和极高的原则性,不达目的不罢...
2019诺贝尔经济学奖得主:贫穷的本质是什么?
2019年诺贝尔经济学奖,颁给了来自麻省理工学院的 阿巴希·巴纳吉(Abhijit Vinayak Banerjee)、艾丝特·杜芙若(Esther Duflo)夫妇和哈...
linux:最常见的linux命令(centOS 7.6)
最常见,最频繁使用的20个基础命令如下: 皮一下,这都是干货偶,大佬轻喷 一、linux关机命令: 1.shutdown命令安全地将系统关机(推荐)参数说明: [-r] 重启计算器。 [-h] 关机后关闭电源〔halt〕。 [-c] cancel current process取消目前正在执行的关机程序。 [-time] 设定关机〔shutdown〕前的时间。 shutdown -h now ...
只因写了一段爬虫,公司200多人被抓!
“一个程序员写了个爬虫程序,整个公司200多人被端了。” “不可能吧!” 刚从朋友听到这个消息的时候,我有点不太相信,做为一名程序员来讲,谁还没有写过几段爬虫呢?只因写爬虫程序就被端有点夸张了吧。 朋友说,消息很确认并且已经进入审判阶段了。 01.对消息进一步确认 朋友认识几个律师朋友,和他们有一些业务来往,得知他们想尝试把业务扩展到程序员这个群体。那段时间我刚好离职也有时间,在朋友...
别在学习框架了,那些让你起飞的计算机基础知识。
我之前里的文章,写的大部分都是与计算机基础知识相关的,这些基础知识,就像我们的内功,如果在未来想要走的更远,这些内功是必须要修炼的。框架千变万化,而这些通用的底层知识,却是几乎不变的,了解了这些知识,可以帮助我们更快着学习一门知识,更加懂得计算机的运行<em>机制</em>。当然,在面试中也经常会被问到,特别是对于应届生,对于春秋招,也可以看看我前阵子写过的文章历经两个月,我的秋招之路结束了!。也有读者经常问的计算...
MySQL数据库—SQL汇总
一、准备 下文整理常见SQL语句的用法,使用MySQL5.7测试,参考了尚硅谷MySQL教程及用例。用例sql: 链接: https://pan.baidu.com/s/1tb3-12MRNFjV8drFlN6wzg&amp;shfl=sharepset 密码: fc2h 为了方便查阅可从右侧目录快速索引 二、DQL(Data Query Language)数据查询语言 1、语句顺序 书写顺序...
五款高效率黑科技神器工具,炸裂好用,省时间
loonggg读完需要4分钟速读仅需2分钟感觉我好久好久没有给大家分享高质量的软件和插件了。今天周末,难得在家休息一下,痛下决心,分享一些我认为的高效率工具软件给大家。废...
动画:用动画给女朋友讲解 TCP 四次分手过程
作者 | 小鹿 来源 | 公众号:小鹿动画学编程 写在前边 大家好,我们又见面了,做为一个业余的动画师,上次的用动画的形式讲解 TCP 三次握手过程再各大平台收到了广大读者的喜爱,说文章有趣、有货、有内容,也受到了很多读者的关注。很多读者留言说什么时候用动画讲一讲 TCP 四次挥手的过程,为了应大家的要求,今天我们就生动有趣的用动画给大家分享 TCP 四次挥手(分手)过程。 动画:用动画给...
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
python 程序员进阶之路:从新手到高手的100个模块
在知乎和CSDN的圈子里,经常看到、听到一些 python 初学者说,学完基础语法后,不知道该学什么,学了也不知道怎么用,一脸的茫然。近日,CSDN的公众号推送了一篇博客,题目叫做《迷思:Python 学到什么程度可以面试工作?》,真实反映了 python 程序员在成长过程中的一些困惑。
Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成) one 樱花树 动态生成樱花 效果图(这个是动态的): 实现代码 import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, ...
程序员不懂浪漫?胡扯!
程序员男朋友你的程序员男朋友为你做过什么暖心的事情呢?我的男朋友是一个程序员,他有很多大家在网络上吐槽的程序员的缺点,比如加班很多,没空陪我吃饭逛街看电影,比如说他有的时...
Java 8:一文掌握 Lambda 表达式
本文将介绍 Java 8 新增的 Lambda 表达式,包括 Lambda 表达式的常见用法以及方法引用的用法,并对 Lambda 表达式的原理进行分析,最后对 Lambda 表达式的优缺点进行一个总结。
Python中几个非常有趣的模块
最近学习Python,发现了许多有趣的模块。感觉开启了新世界的大门,因为我也不是对所有模块都熟悉,所以今天不是讲代码。 1、ItChat 这是一个微信自动回复的模块,因为我微信一直无法登陆,所以也没有测试这个模块的功能。这里只是简单介绍一下。 使用流程大致就是: 登陆微信 注册监听 响应监听 结束 而我就卡在了登陆微信上面,注册监听的话代码也是非常简单的。它可以监听多种数据,文字、图片、视频等...
Linux/C/C++ 不可错过的好书
来源:公众号【编程珠玑】 作者:守望先生 ID:shouwangxiansheng 前言 经常有读者让我推荐书籍,这次我就把我私藏的计算机书单分享给你们!不过由于时间匆忙,不会进行更加详细的介绍。 声明 由于每个人的情况不一样,推荐的书并不一定适合你,也不一定适合当前阶段的你,有的书籍可能存在内容重复,所以根据自己的阶段情况进行选择即可。虽说如此,以下书单中提单的书均为优质书籍。...
Python自动化完成tb喵币任务
2019双十一,tb推出了新的活动,商店喵币,看了一下每天都有几个任务来领取喵币,从而升级店铺赚钱,然而我既想赚红包又不想干苦力,遂使用python来进行手机自动化操作,目测全网首发! 用到的库: re os time 思路: 下载adb命令安装包 打开手机开发者选项(点击系统设置,连点5次系统版本,即可在辅助功能或其他选项中找到开发者选项,此功能无害,可不必关闭) 在开发者选项中找到US...
从月薪3K的中专生,到身家千万的CTO!人生最大的对手,就是自已
关注“技术领导力”博客,独家大厂干货推送 文/Daniel.W David坐在我对面,窗外是梦境般的外滩夜景,繁星点点的璀璨灯火,散落在黄浦江两岸。我转过头对David说,你丫挺会享受啊,约我到这么浪漫的地方。 David狠狠地吸了一口手中的雪茄,又快速吐了出来,眼睛眯成一条缝,品味着雪茄在口中的醇香,一边说,MD,转眼我们都快40了,记得2002年,刚认识那会才20出头,时间...
这应该是把计算机网络五层模型讲的最好是文章了,看不懂你打我
帅地:用心写好每一篇文章! 前言 天各一方的两台计算机是如何通信的呢?在成千上万的计算机中,为什么一台计算机能够准确着寻找到另外一台计算机,并且把数据发送给它呢? 可能很多人都听说过网络通信的 5 层模型,但是可能并不是很清楚为什么需要五层模型,五层模型负责的任务也有可能经常混淆。下面是网络通信的五层模型 说实话,五层模型的具体内容还是极其复杂的,不过今天这篇文章,我将用最简洁的模式,通过网...
单点登录(SSO)
一、SSO(单点登录)介绍 SSO英文全称Single SignOn,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的<em>机制</em>。它是目前比较流行的企业业务整合的解决方案之一。 实现<em>机制</em> 当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证...
漫话:什么是 https ?这应该是全网把 https 讲的最好的一篇文章了
今天这篇文章,讲通过对话的形式,让你由浅入深着知道,为什么 Https 是安全的。 一、对称加密 一禅:在每次发送真实数据之前,服务器先生成一把密钥,然后先把密钥传输给客户端。之后服务器给客户端发送真实数据的时候,会用这把密钥对数据进行加密,客户端收到加密数据之后,用刚才收到的密钥进行解密。如图: 当然,如果客户端要给服务器发送数据,也是采用这把密钥来加密,这里为了方便,我采用单方向...
史上最全的mysql基础教程
启动与停止 启动mysql服务 sudo /usr/local/mysql/support-files/mysql.server start 停止mysql服务 sudo /usr/local/mysql/support-files/mysql.server stop 重启mysql服务 sudo /usr/local/mysql/support-files/mysql.server resta...
为什么你学不会递归?告别递归,谈谈我的经验
可能很多人在大一的时候,就已经接触了递归了,不过,我敢保证很多人初学者刚开始接触递归的时候,是一脸懵逼的,我当初也是,给我的感觉就是,递归太神奇了! 可能也有一大部分人知道递归,也能看的懂递归,但在实际做题过程中,却不知道怎么使用,有时候还容易被递归给搞晕。也有好几个人来问我有没有快速掌握递归的捷径啊。说实话,哪来那么多捷径啊,不过,我还是想写一篇文章,谈谈我的一些经验,或许,能够给你带来一些帮助...
大学四年,分享看过的优质书籍
数据结构与算法是我在大学里第一次接触到的,当时学了很多其他安卓、网页之类的,一开始就感觉纳闷,数据结构和算法学这个有啥用,再加上上的是一所野鸡大学,老师讲的也是模模糊糊,平时做项目、练习也几乎不用数据结构,所以考试应付应付就过了,也没太在意。 到了大三的时候,面临考研和就业了,突然看到学长考研的数据结构题和面试网站的要求,突然意识到数据结构和算法的重要性,真的很重要,重要的话说三遍,真的很重要,...
2019双十一淘宝天猫刷喵币
实现步骤 下载并安装Auto.js 官网网址:https://hyb1996.github.io/AutoJs-Docs Github地址:https://github.com/hyb1996/Auto.js 不过我知道因为什么原因资源被酷安下架了,所以附上Auto.js的安装包在我的下载里. 为软件打开无障碍权限. 在软件中将脚本保存并运行即可,脚本会自己打开手机淘宝并进行一系列的操作. 脚...
有哪些让程序员受益终生的建议
从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望能帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由,如何在工作中游刃有余,这篇文章很长,但绝对是精品,记得帮我点赞哦!!!! 一腔肺腑之言,能看进去多少,就看你自己了!!! 目录: 在校生篇: 为什么要尽量进大厂? 如何选择语言及方...
最近程序员频繁被抓,如何避免面向监狱编程!?
最近,有关程序员因为参与某些项目开发导致被起诉,甚至被判刑的事件发生的比较多: 某程序员因为接了个外包,帮别人写了个软件,结果这个软件被用于赌博导致被抓。 某公司利用爬虫抓取用户信息,最后被发现,导致该公司的程序员被抓。 某P2P公司暴雷,老板跑路,程序员被抓。 中科大博士卖“外挂”非法牟利300多万,被警方逮捕。 那么,作为一个程序员,如何避免这些坑呢?怎样尽可能的<em>保护</em>自己呢? 本文就从爬虫、赌...
一文搞懂什么是TCP/IP协议
什么是TCP/IP协议? 计算机与网络设备之间如果要相互通信,双方就必须基于相同的方法.比如如何探测到通信目标.由哪一边先发起通信,使用哪种语言进行通信,怎样结束通信等规则都需要事先确定.不同的硬件,<em>操作系统</em>之间的通信,所有这一切都需要一种规则.而我们就将这种规则称为协议 (protocol). 也就是说,TCP/IP 是互联网相关各类协议族的总称。 TCP/IP 的分层管理 TCP/IP协...
各大公司在GitHub上开源投入排名分析
基于GitHub的数据进行分析各个公司在开源上的投入排名
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
学习 Java 应该关注哪些网站?
经常有一些读者问我:“二哥,学习 Java 应该关注哪些网站?”,我之前的态度一直是上知乎、上搜索引擎搜一下不就知道了。但读者对我这个态度很不满意,他们说,“我在问你,又不是问知乎,问搜索引擎。”你还别说,读者说得有道理。 于是我想,那就推荐一些吧。先说我心目中的前三名,但不局限于 Java 学习者。 1)Google 啥都不说了,说多了都是泪,可气的是 Robin 李的搜索引擎实在是不争气。说句...
哪些 Java 知识不需要再学了
张无忌在学太极拳的时候,他爹的师父张三丰告诫他一定要把之前所学习的武功全部忘掉,忘得越多就会学得越快。 同样的,自学 Java 的时候一定要先知道哪些 Java 知识不需要再学了,毕竟技术的更新迭代就好像火箭一样快,Java 的一些知识点早已经过时了。如果不懂得断舍离,那学起来就不免太痛苦了。 1)AWT 和 Swing 真不知道为什么,有些书籍还在介绍 AWT 和 Swing,这就好像不知道大清...
大学自动控控制原理课程讲义下载
包括基本概念、线性系统的数学模型、时域分析法、根轨迹法、频域分析法等 相关下载链接:[url=//download.csdn.net/download/zhqliu687079/2066004?utm_source=bbsseo]//download.csdn.net/download/zhqliu687079/2066004?utm_source=bbsseo[/url]
越狱软件ios5.1.1下载
ios5.1完美越狱软件 唯一一个5.1完美越狱工具越狱大神最近发出来的我哥们是越狱的搞 相关下载链接:[url=//download.csdn.net/download/jibinggu/7472723?utm_source=bbsseo]//download.csdn.net/download/jibinggu/7472723?utm_source=bbsseo[/url]
James邮件服务器下载
James邮件服务器。示例配置看这边https://code.csdn.net/snippets/1891715 相关下载链接:[url=//download.csdn.net/download/zs40122/9636022?utm_source=bbsseo]//download.csdn.net/download/zs40122/9636022?utm_source=bbsseo[/url]
相关热词 c#怎么调用api接口 c# 调用mstsc c#扩展函数 c#向上转换向下转换 c#chart直方图叠加 c# 添加body样式 c# 调用接口 c#高德地图经纬度查询 c# 测试并发 c# 取操作系统
我们是很有底线的