- 使用 BPF 监控 Kubernetes 集群(k8s BPF 工具 kubectl-trace认知
山河已无恙
K8s&kubelct插件BPFkubernetes容器云原生
写在前面学习中遇到,整理分享,博文内容涉及:kubectl-trace安装,在节点,容器中如何使用需要注意的问题:job闪完成,一直Pending状态解决理解不足小伙伴帮忙指正不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景已经和从前不一样了。——村上春树kubectl-trace安装┌──[
[email protected]]-[~/ansi
- 初识XDP
Iverson`
Linux内核之旅
网络钩子(hook)在计算机网络中,Hook钩子在操作系统中用于在调用前或执行过程中拦截网络数据包。Linux内核中暴露了多个钩子,BPF程序可以连接到这些钩子上,实现数据收集和自定义事件处理。虽然Linux内核中的钩子点很多,但我们将重点关注网络子系统中存在的两个钩子:XDP和TC。它们结合在一起,可以用来处理RX和TX上两个链路上靠近NIC的数据包,从而实现了许多网络应用的开发。今天我们先来讲
- 崔鹏程: 初识XDP
宋宝华
内核网络linux操作系统kernel
在计算机网络中,Hook钩子在操作系统中用于在调用前或执行过程中拦截网络数据包。Linux内核中暴露了多个钩子,BPF程序可以连接到这些钩子上,实现数据收集和自定义事件处理。Linux内核中的钩子点很多,比如说网络子系统中存在两个钩子:XDP和TC。它们结合在一起,可以用来处理RX和TX上两个链路上靠近NIC的数据包,从而实现了许多网络应用的开发。今天我们简单介绍下XDP。XDP全称为eXpres
- BPF开发: 从Hello World开始
Part1概述1.背景BPF技术被列为近些年Linux内核领域最火热的新领域之一。它成功的给Linux内核赋予了少量的动态可编程性,可以在Linux内核运行时,实时修改内核的行为,但不需要重新编译和重启内核。据此,BPF在Linux世界中:网络可观测性安全三大领域大放异彩,学习好BPF技术,对于Linux内核和应用开发者来说,是一件非常有意义的事情。2.什么是BPF?BPF在Linux内核中,被实
- Flomesh 发布 Pipy 0.99.1
Flomesh
开源软件
值此新春佳节来临之际,我们很高兴地宣布Pipy0.99.1版本的发布,此次更新带来了多项重要特性和改进,进一步增强了Pipy的功能性和灵活性。新特性与改进:增加了对BPF(BerkeleyPacketFilter)的支持,包括加载和解析BPF程序以及BTF(BPFTypeFormat)解析,显著提升了网络处理和监控的能力。新增对FastCGI的支持,基于社区用户的真实需求,为原本使用Nginx+P
- python抓包 -- 用wireshark抓包、解析
星寂樱易李
telnetwireshark网络服务器
一、安装scapy模块1、打开DOS命令行python-mpipinstallscapy2、sniff()函数功能:数据嗅探参数:iface:指定在哪个网络接口上抓包count:表示要捕获数据包的数量。默认为0(不限制数量)filter:流量的过滤规则。使用的是BPF的语法prn:定义回调函数,使用lambda表达式来写回调函数(当符合filter的流量被捕获时,就会执行回调函数)【BPF过滤语法
- Knot Server XDP原理分析
码农心语
高性能knotdnsxdp源码分析
目录KnotServerXDP原理分析一、Kernel层代码分析1.kernel层源码的编译2.bpf-kenerl.c源码的分析二、User层代码分析KnotServerXDP原理分析xdp部分的代码分为Kernel层和User层两部分,Kernel层代码由User层代码调用linuxbpf接口加载到网卡内核驱动,对进入的数据包进行拦截,对于Knot关注的DNS数据包(包括UDP/TCP,甚至Q
- 【centos系统ddos攻击】
软件测试很重要
centosddoslinux
centos系统ddos攻击,使用hping3和ab测试攻击模拟攻击hping3工具hping3是一个命令行下使用的TCP/IP数据包组装/分析工具,通常web服务会用来做压力测试使用,也可以进行DOS攻击的实验。同样hping3每次只能扫描一个目标。安装hping3yuminstalllibpcap-develtc-develln-s/usr/include/pcap-bpf.h/usr/inc
- BPF开发: 从Hello World开始
MatrixOrigin
云原生分布式数据库
Part1概述1.背景BPF技术被列为近些年Linux内核领域最火热的新领域之一。它成功的给Linux内核赋予了少量的动态可编程性,可以在Linux内核运行时,实时修改内核的行为,但不需要重新编译和重启内核。据此,BPF在Linux世界中:网络可观测性安全三大领域大放异彩,学习好BPF技术,对于Linux内核和应用开发者来说,是一件非常有意义的事情。2.什么是BPF?BPF在Linux内核中,被实
- 网络协议和Netty(7):常用的网络抓包工具 Wireshark
TofuCai
java网络协议和Netty抓包工具wiresharkBPF语法
目录Wireshark的使用1.下载2.安装数据包的捕获和基本用法过滤器捕获过滤器捕获过滤器的BPF语法显示过滤器比较操作符和逻辑操作符预定义过滤器前言:前面三次握手和四次挥手用的抓包工具就是Wireshark,本节主要介绍其简单的使用,不用死记硬背,知道大概的使用方法就行,至于命令搞个专门记录命令的文档记录,用的时候直接用就好了。提问:为什么要抓包?解答:1、定位网络问题;2、分析接口数据;3、
- mac Wireshark报错You do not have permission to capture on device “en1“
JudithHuang
macoswireshark测试工具
Wireshark开始抓包时报错Youdonothavepermissiontocaptureondevice"en1".((cannotopenBPFdevice)/dev/bpf0:Permissiondenied)查看/dev/bpf*文件的权限ls-l/dev/bpf*更新/dev/bpf*文件权限和组权限sudochmodg+r/dev/bpf*&&sudochgrpadmin/dev/
- Linux 可观测性 BPF&eBPF 以及 BCC&bpftrace 认知
山河已无恙
Linux性能调优linux运维服务器
写在前面博文内容为《BPFPerformanceTools》读书笔记整理,对原书内容做了摘要博文内容涉及:BPF和eBPF认知BCC和bpftrace认知BCC和bpftrace工具简单认知理解不足小伙伴帮忙指正对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧——赫尔曼
- 《Learning eBPF》读书笔记
香蕉割草机
ebpfebpfbcclibbpfbpftool
文章目录章节内容简介第1章什么是ebpf,为什么它很重要?第2章ebpf版helloworld第3章ebpf程序剖析ebpf虚拟机一个xdp的helloword例子c语言程序编译为ebpf字节码加载bpf程序到内核检查加载的程序运行时编译机器码附加到事件分离程序卸载程序第4章bpf()系统调用第5章CO-RE,BTF,andLibbpfCO-RE概览BTF例子libbpf生成内核头文件ebpf程序
- 观测云产品更新 | 日志、场景仪表板、监控器等
观测云
数据可视化日志数据访问apm
观测云更新用户访问监测(RUM)公网Dataway支持ip转换成地理位置信息。日志>查看器详情页1、新增BPF网络日志采集及日志详情页,支持Json格式转化;2、上述1中的日志详情页中新增可读的展示模式,即您可以快速直观了解客户端与服务端之间的网络情况;同时,也支持切换绝对/相对时间查看;3、新增绑定「关联网络日志」,您可以直接查看相关网络的日志详细内容,方便进一步分析。日志>数据访问新增支持新建
- 开源C语言库Melon:用户态动态追踪与控制反馈
码哥比特
开源c语言开发语言经验分享程序人生linux单片机
前言本文根据开源C语言库Melon的最新特性,讲述使用该库做用户态动态追踪,以及根据追踪内容进行计算,并将结果用于反馈给程序,同时对程序的处理流程进行影响。说到动态追踪,大家可能第一印象是bpf、dtrace、systemtap等等,但是本文介绍的动态追踪不依赖于这些内容。Melon中提供的功能更加倾向于让程序在用户态内完成对自身的动态追踪,而不依赖于内核态,也不依赖于uprobe和usdt等内容
- CTF-PWN-沙箱逃脱-【seccomp和prtcl-1】
Full Stack-LLK
CTF-PWN-沙箱逃脱redis数据库缓存PWN
文章目录啥是seccomp#ifndef#define#endif使用使用格式seccomp无参数条件禁用系统调用有参数条件禁用系统调用prctl实例seccomp_export_bpf啥是seccomp就是可以禁用掉某些系统调用,然后只能允许某些系统调用#ifndef#define#endif使用#ifndef#define#endif作用就是防止头文件被重复引用,其实“被重复引用”是指一个头文
- CTF-PWN-沙箱逃脱-【seccomp和prtcl-2】
Full Stack-LLK
CTF-PWN-沙箱逃脱CTF-PWN
文章目录沙箱逃脱prtcl题HITCONCTF2017QualsImpeccableArtifactflag文件对应prctl函数检查源码思路exp沙箱逃脱prtcl题HITCONCTF2017QualsImpeccableArtifactflag文件此时的flag文件在本文件夹建一个即可此时的我设置的flag为对应prctl函数第一条是禁止特权第二条是按定义的BPF来建立沙箱检查保护全开查看沙箱
- 性能分析与调优: Linux 安装基于BPF的bcc-tools系统性能工具库
cronaldo91
性能分析与调优linux服务器运维性能优化云计算
目录一、实验1.环境2.agent服务器安装使用ELRepo安装依赖包3.agent服务器安装基于BPF的bcc-tools系统性能工具库二、问题1.安装bcc-tools后执行命令报错一、实验1.环境(1)主机表1-1主机主机架构组件IP备注prometheus监测系统prometheus、node_exporter192.168.204.18grafana监测GUIgrafana192.168
- ebpf基础篇(二) ----- ebpf前世今生
self-motivation
性能分析优化ebpfXDP
bpf要追述ebpf的历史,就不得不提bpf.bpf(BerkeleyPacketFilter)从早(1992年)诞生于类Unix系统中,用于数据包分析.它提供了数据链路层的接口,可以在数据链路层发送和接收数据.如果网卡支持混杂模式,所有的数据包都可以被接收,即使这些数据包的目的地址是其它主机.BPF最为熟知的应用就是tcpdump,用户可以指定过滤规则,这样就可以避免不需要的数据包被从内核拷贝到
- epbf原理篇 -------- epbf编程语言
self-motivation
性能分析优化ebpflinuxbcctracepointkprobe
提示:本文约1.6万字通过学习此文,你可以了解到以下内容:Linux是如何通过新增bpf系统调用来支持ebpf功能的ebpf提供了哪些编程接口和编程便利如何在不使用bcc,bpftrace等高级工具的情况下,使用C语言来编写ebpf程序正如上文中提到Linus对epbf的评价"BPFhasactuallybeenreallyuseful,andtherealpowerofitishowitallo
- 技术分享 | 如何使用 bcc 工具观测 MySQL 延迟
爱可生开源社区
作者:刘安爱可生测试团队成员,主要负责TXLE开源项目相关测试任务,擅长Python自动化测试开发,最近醉心于Linux性能分析优化的相关知识。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。最近在极客时间上学习《Linux性能优化实战》,接触到了基于eBPF的BCC软件包。今天来分享一下bcc软件包中用来观测MySQL的几个工具。1.什么是BPF和
- linux 安全系列目录 - seccomp安全模块问题排查
yusq77
linuxlinux安全容器dockerbug
linux系列目录linux安全系列目录-seccomp一、Seccomp沙箱安全机制二、安装依赖包三、SeccompStrictMode四、SeccompFilterMode(Seccomp-BPF)-推荐五、有用资源六、总结linux安全系列目录-seccomp涉及seccomp安全模块问题时,可以参照本文档案例进行扩展分析,可以多访问文中的链接,很有用。一、Seccomp沙箱安全机制通过使用
- 3.11 Android eBPF Hello World调试(五)
高桐@BILL
AndroideBPFBookandroidebpf性能
一,写在前面HelloWorld程序的目标是跟踪当前core最近得到调度的任务ID;有同学遇到这样一个情况?明明cpu的核心只有8个核,但从map中却遍历了1024条数据。为什么会出现从eBPFmap中读取的数据都是1024个条目的情况呢?那是因为不同的eBPFmap类型有着不同的香味。例如,BPF_MAP_TYPE_ARRAY类型的map总是有一个固定的大小,并且索引是从0开始的连续整数。如果你
- 【BPF EBPF】
道剑剑非道
网络tcp/ip网络协议
linu4.14内核tcp.bt#include#includeBEGIN{printf("Tracingtcpstate.\n");@tcp_states[1]="ESTABLISHED";@tcp_states[2]="SYN_SENT";@tcp_states[3]="SYN_RECV";@tcp_states[4]="FIN_WAIT1";@tcp_states[5]="FIN_WAIT2
- JS 两个对象,针对第二个去合并第一个对象
圆脸喜欢吃菠萝
javascript前端html
constone={abc:'',aoe:'',bpf:'',dtn:'',gkh:'',mnl:'what'}constone1={abc:'杨幂',aoe:31,bpf:'女',dtn:'观塘',gkh:'90',mnl:'ccccd',opq:'测试',}constobj1=ref([])constobj2=ref([])obj1.value=oneobj2.value=one1Object
- 【libpcap】利用pcap实现抓包发包
xiaodaoaa
Linux积累c语言winpcaplinux
#include#include#include#defineSNAP_LEN65536staticcharg_ftag[6]={0xFE,0xFE,0xFE,0xFE,0xFE,0xFE};/*structpcap_pkthdr{structtimevalts;ts是一个结构structtimeval,它有两个部分,第一部分是1900开始以来的秒数,第二部分是当前秒之后的毫秒数bpf_u_int
- 【openwrt学习笔记】IPV6 ND协议学习和socket编程
瓜洲大大
网络相关openwrt学习笔记ND协议socket网络编程
目录一、参考链接二、学习目标三、代码解析3.1仅解析NA报文保存设备mac和ipv6地址信息3.1.1open_ns_socket3.1.2recv_ns_pack3.2解析NA和NS报文中DAD报文保存设备mac和ipv6地址信息3.2.1open_ns_na_socket3.2.2recv_ns_na_pack四、代码优化4.1BPF参考学习资料4.2代码实现4.2.1方式一:使用指令直接编写
- java虚拟机第三版学习
星月IWJ
JAVAjavajvm开发语言
java编译执行流程Java源文件—>编译器—>字节码文件—>JVM—>机器码Java内存区域与内存溢出异常[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xkKr6bPF-1666975994807)(./java虚拟机运行时数据区.jpg)]执行引擎:即时编译器(JIT)/垃圾收集程序计数器当前线程所执行的字节码的行号指示器,唯一一个没有oom的区域虚拟机栈虚拟机
- Ubuntu16.04.4系统本地提权实验
夜间飛行
服务器网络运维
目录1.介绍:2.实验:3.总结:1.介绍:1.1:eBPF简介:eBPF(extendedBerkeleyPacketFilter)是内核源自于BPF的一套包过滤机制,BPF可以理解成用户与内核之间的一条通道,有非常强大的功能。一个典型的BPF程序流程为:用户程序调用syscall(__NR_bpf,BPF_MAP_CREATE,&attr,sizeof(attr))申请创建一个map,在att
- Wireshark捕获过滤器表达式
牙三十
wireshark抓包
表达式格式BerkeleyPacketFilter(BPF)语法:原语操作符原语原语1操作符原语2原语每个原语包含一个或者多个限定词,然后跟着一个ID名字或者数字。限定词:type:指出名字或者数字代表的意义,如:host,net,portDir:指明传输方向,src,dstProto:限定要匹配的协议,ether,ip(ipv4),ip6,tcp,udp,http,tcp操作符与:&&或:||非
- 强大的销售团队背后 竟然是大数据分析的身影
蓝儿唯美
数据分析
Mark Roberge是HubSpot的首席财务官,在招聘销售职位时使用了大量数据分析。但是科技并没有挤走直觉。
大家都知道数理学家实际上已经渗透到了各行各业。这些热衷数据的人们通过处理数据理解商业流程的各个方面,以重组弱点,增强优势。
Mark Roberge是美国HubSpot公司的首席财务官,HubSpot公司在构架集客营销现象方面出过一份力——因此他也是一位数理学家。他使用数据分析
- Haproxy+Keepalived高可用双机单活
bylijinnan
负载均衡keepalivedhaproxy高可用
我们的应用MyApp不支持集群,但要求双机单活(两台机器:master和slave):
1.正常情况下,只有master启动MyApp并提供服务
2.当master发生故障时,slave自动启动本机的MyApp,同时虚拟IP漂移至slave,保持对外提供服务的IP和端口不变
F5据说也能满足上面的需求,但F5的通常用法都是双机双活,单活的话还没研究过
服务器资源
10.7
- eclipse编辑器中文乱码问题解决
0624chenhong
eclipse乱码
使用Eclipse编辑文件经常出现中文乱码或者文件中有中文不能保存的问题,Eclipse提供了灵活的设置文件编码格式的选项,我们可以通过设置编码 格式解决乱码问题。在Eclipse可以从几个层面设置编码格式:Workspace、Project、Content Type、File
本文以Eclipse 3.3(英文)为例加以说明:
1. 设置Workspace的编码格式:
Windows-&g
- 基础篇--resources资源
不懂事的小屁孩
android
最近一直在做java开发,偶尔敲点android代码,突然发现有些基础给忘记了,今天用半天时间温顾一下resources的资源。
String.xml 字符串资源 涉及国际化问题
http://www.2cto.com/kf/201302/190394.html
string-array
- 接上篇补上window平台自动上传证书文件的批处理问卷
酷的飞上天空
window
@echo off
: host=服务器证书域名或ip,需要和部署时服务器的域名或ip一致 ou=公司名称, o=公司名称
set host=localhost
set ou=localhost
set o=localhost
set password=123456
set validity=3650
set salias=s
- 企业物联网大潮涌动:如何做好准备?
蓝儿唯美
企业
物联网的可能性也许是无限的。要找出架构师可以做好准备的领域然后利用日益连接的世界。
尽管物联网(IoT)还很新,企业架构师现在也应该为一个连接更加紧密的未来做好计划,而不是跟上闸门被打开后的集成挑战。“问题不在于物联网正在进入哪些领域,而是哪些地方物联网没有在企业推进,” Gartner研究总监Mike Walker说。
Gartner预测到2020年物联网设备安装量将达260亿,这些设备在全
- spring学习——数据库(mybatis持久化框架配置)
a-john
mybatis
Spring提供了一组数据访问框架,集成了多种数据访问技术。无论是JDBC,iBATIS(mybatis)还是Hibernate,Spring都能够帮助消除持久化代码中单调枯燥的数据访问逻辑。可以依赖Spring来处理底层的数据访问。
mybatis是一种Spring持久化框架,要使用mybatis,就要做好相应的配置:
1,配置数据源。有很多数据源可以选择,如:DBCP,JDBC,aliba
- Java静态代理、动态代理实例
aijuans
Java静态代理
采用Java代理模式,代理类通过调用委托类对象的方法,来提供特定的服务。委托类需要实现一个业务接口,代理类返回委托类的实例接口对象。
按照代理类的创建时期,可以分为:静态代理和动态代理。
所谓静态代理: 指程序员创建好代理类,编译时直接生成代理类的字节码文件。
所谓动态代理: 在程序运行时,通过反射机制动态生成代理类。
一、静态代理类实例:
1、Serivce.ja
- Struts1与Struts2的12点区别
asia007
Struts1与Struts2
1) 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类;Struts 1的一个具体问题是使用抽象类编程而不是接口。Struts 2 Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可能。Struts 2提供一个ActionSupport基类去实现常用的接口。即使Action接口不是必须实现的,只有一个包含execute方法的P
- 初学者要多看看帮助文档 不要用js来写Jquery的代码
百合不是茶
jqueryjs
解析json数据的时候需要将解析的数据写到文本框中, 出现了用js来写Jquery代码的问题;
1, JQuery的赋值 有问题
代码如下: data.username 表示的是: 网易
$("#use
- 经理怎么和员工搞好关系和信任
bijian1013
团队项目管理管理
产品经理应该有坚实的专业基础,这里的基础包括产品方向和产品策略的把握,包括设计,也包括对技术的理解和见识,对运营和市场的敏感,以及良好的沟通和协作能力。换言之,既然是产品经理,整个产品的方方面面都应该能摸得出门道。这也不懂那也不懂,如何让人信服?如何让自己懂?就是不断学习,不仅仅从书本中,更从平时和各种角色的沟通
- 如何为rich:tree不同类型节点设置右键菜单
sunjing
contextMenutreeRichfaces
组合使用target和targetSelector就可以啦,如下: <rich:tree id="ruleTree" value="#{treeAction.ruleTree}" var="node" nodeType="#{node.type}"
selectionChangeListener=&qu
- 【Redis二】Redis2.8.17搭建主从复制环境
bit1129
redis
开始使用Redis2.8.17
Redis第一篇在Redis2.4.5上搭建主从复制环境,对它的主从复制的工作机制,真正的惊呆了。不知道Redis2.8.17的主从复制机制是怎样的,Redis到了2.4.5这个版本,主从复制还做成那样,Impossible is nothing! 本篇把主从复制环境再搭一遍看看效果,这次在Unbuntu上用官方支持的版本。 Ubuntu上安装Red
- JSONObject转换JSON--将Date转换为指定格式
白糖_
JSONObject
项目中,经常会用JSONObject插件将JavaBean或List<JavaBean>转换为JSON格式的字符串,而JavaBean的属性有时候会有java.util.Date这个类型的时间对象,这时JSONObject默认会将Date属性转换成这样的格式:
{"nanos":0,"time":-27076233600000,
- JavaScript语言精粹读书笔记
braveCS
JavaScript
【经典用法】:
//①定义新方法
Function .prototype.method=function(name, func){
this.prototype[name]=func;
return this;
}
//②给Object增加一个create方法,这个方法创建一个使用原对
- 编程之美-找符合条件的整数 用字符串来表示大整数避免溢出
bylijinnan
编程之美
import java.util.LinkedList;
public class FindInteger {
/**
* 编程之美 找符合条件的整数 用字符串来表示大整数避免溢出
* 题目:任意给定一个正整数N,求一个最小的正整数M(M>1),使得N*M的十进制表示形式里只含有1和0
*
* 假设当前正在搜索由0,1组成的K位十进制数
- 读书笔记
chengxuyuancsdn
读书笔记
1、Struts访问资源
2、把静态参数传递给一个动作
3、<result>type属性
4、s:iterator、s:if c:forEach
5、StringBuilder和StringBuffer
6、spring配置拦截器
1、访问资源
(1)通过ServletActionContext对象和实现ServletContextAware,ServletReque
- [通讯与电力]光网城市建设的一些问题
comsci
问题
信号防护的问题,前面已经说过了,这里要说光网交换机与市电保障的关系
我们过去用的ADSL线路,因为是电话线,在小区和街道电力中断的情况下,只要在家里用笔记本电脑+蓄电池,连接ADSL,同样可以上网........
 
- oracle 空间RESUMABLE
daizj
oracle空间不足RESUMABLE错误挂起
空间RESUMABLE操作 转
Oracle从9i开始引入这个功能,当出现空间不足等相关的错误时,Oracle可以不是马上返回错误信息,并回滚当前的操作,而是将操作挂起,直到挂起时间超过RESUMABLE TIMEOUT,或者空间不足的错误被解决。
这一篇简单介绍空间RESUMABLE的例子。
第一次碰到这个特性是在一次安装9i数据库的过程中,在利用D
- 重构第一次写的线程池
dieslrae
线程池 python
最近没有什么学习欲望,修改之前的线程池的计划一直搁置,这几天比较闲,还是做了一次重构,由之前的2个类拆分为现在的4个类.
1、首先是工作线程类:TaskThread,此类为一个工作线程,用于完成一个工作任务,提供等待(wait),继续(proceed),绑定任务(bindTask)等方法
#!/usr/bin/env python
# -*- coding:utf8 -*-
- C语言学习六指针
dcj3sjt126com
c
初识指针,简单示例程序:
/*
指针就是地址,地址就是指针
地址就是内存单元的编号
指针变量是存放地址的变量
指针和指针变量是两个不同的概念
但是要注意: 通常我们叙述时会把指针变量简称为指针,实际它们含义并不一样
*/
# include <stdio.h>
int main(void)
{
int * p; // p是变量的名字, int *
- yii2 beforeSave afterSave beforeDelete
dcj3sjt126com
delete
public function afterSave($insert, $changedAttributes)
{
parent::afterSave($insert, $changedAttributes);
if($insert) {
//这里是新增数据
} else {
//这里是更新数据
}
}
 
- timertask
shuizhaosi888
timertask
java.util.Timer timer = new java.util.Timer(true);
// true 说明这个timer以daemon方式运行(优先级低,
// 程序结束timer也自动结束),注意,javax.swing
// 包中也有一个Timer类,如果import中用到swing包,
// 要注意名字的冲突。
TimerTask task = new
- Spring Security(13)——session管理
234390216
sessionSpring Security攻击保护超时
session管理
目录
1.1 检测session超时
1.2 concurrency-control
1.3 session 固定攻击保护
 
- 公司项目NODEJS实践0.3[ mongo / session ...]
逐行分析JS源代码
mongodbsessionnodejs
http://www.upopen.cn
一、前言
书接上回,我们搭建了WEB服务端路由、模板等功能,完成了register 通过ajax与后端的通信,今天主要完成数据与mongodb的存取,实现注册 / 登录 /
- pojo.vo.po.domain区别
LiaoJuncai
javaVOPOJOjavabeandomain
POJO = "Plain Old Java Object",是MartinFowler等发明的一个术语,用来表示普通的Java对象,不是JavaBean, EntityBean 或者 SessionBean。POJO不但当任何特殊的角色,也不实现任何特殊的Java框架的接口如,EJB, JDBC等等。
即POJO是一个简单的普通的Java对象,它包含业务逻辑
- Windows Error Code
OhMyCC
windows
0 操作成功完成.
1 功能错误.
2 系统找不到指定的文件.
3 系统找不到指定的路径.
4 系统无法打开文件.
5 拒绝访问.
6 句柄无效.
7 存储控制块被损坏.
8 存储空间不足, 无法处理此命令.
9 存储控制块地址无效.
10 环境错误.
11 试图加载格式错误的程序.
12 访问码无效.
13 数据无效.
14 存储器不足, 无法完成此操作.
15 系
- 在storm集群环境下发布Topology
roadrunners
集群stormtopologyspoutbolt
storm的topology设计和开发就略过了。本章主要来说说如何在storm的集群环境中,通过storm的管理命令来发布和管理集群中的topology。
1、打包
打包插件是使用maven提供的maven-shade-plugin,详细见maven-shade-plugin。
<plugin>
<groupId>org.apache.maven.
- 为什么不允许代码里出现“魔数”
tomcat_oracle
java
在一个新项目中,我最先做的事情之一,就是建立使用诸如Checkstyle和Findbugs之类工具的准则。目的是制定一些代码规范,以及避免通过静态代码分析就能够检测到的bug。 迟早会有人给出案例说这样太离谱了。其中的一个案例是Checkstyle的魔数检查。它会对任何没有定义常量就使用的数字字面量给出警告,除了-1、0、1和2。 很多开发者在这个检查方面都有问题,这可以从结果
- zoj 3511 Cake Robbery(线段树)
阿尔萨斯
线段树
题目链接:zoj 3511 Cake Robbery
题目大意:就是有一个N边形的蛋糕,切M刀,从中挑选一块边数最多的,保证没有两条边重叠。
解题思路:有多少个顶点即为有多少条边,所以直接按照切刀切掉点的个数排序,然后用线段树维护剩下的还有哪些点。
#include <cstdio>
#include <cstring>
#include <vector&