九路 九路
3年前
go语言定义“零值可用”的类型
1.Go类型的零值作为C程序员出身的我,我总是喜欢用在使用C语言的”受过的苦“与Go语言中得到的”甜头“做比较,从而来证明Go语言设计者在当初设计Go语言时是做了充分考量的。在C99规范中,有一段是否对栈上局部变量进行自动清零初始化的描述:如果未显式初始化且具有自动存储持续时间的对象,则其值是不确定的。规范的用语总是晦涩难懂的。
李志宽 李志宽
3年前
这些CTF,不仅学技术,还有巨额奖金!
前言:不会吧,不会吧,不会还有安全er不知道CTF是什么吧?哈哈,跟大家开个玩笑。金庸武侠小说中,武林高手要么举办华山论剑,要么召开武林大会,通过这些盛会和比赛来切磋武力值。在程序员的世界里,也有ACM这样的编程大赛,成为各路编程高手一较高下展示能力的平台。那在网络安全的圈子里,各路黑客红客白帽子们又是如何秀出他们的狂拽炫酷吊炸天的技术的呢?这就是本文的主题
徐小夕 徐小夕
4年前
30分钟开发一款抓取网站图片资源的浏览器插件
前言由于业务需求,笔者要为公司开发几款实用的浏览器插件,所以大致花了一天的时间,看完了谷歌浏览器插件开发文档,在这里特地总结一下经验,并通过一个实际案例来复盘插件开发的流程和注意事项.你将收获如何快速上手浏览器插件开发浏览器插件开发的核心概念浏览器插件的通信机制浏览器插件的数据存储浏览器插件的应用场景开发一款抓取网站图片资源
Wesley13 Wesley13
3年前
C# 篇基础知识7——字符串
文字是信息的主要表达方式,因此文字处理是计算机的一项重要功能之一。现在来深入研究C中字符串的各种特性、正则表达式的基本概念以及如何用正则表达式进行文本匹配。1.char结构C中的字符用System命名空间中的Char结构实现,每个Char占用2字节空间,用于存储字符的Unicode编码。C专门设计了char关键字用来声明字符变量,cha
Stella981 Stella981
3年前
Redis面试总结&史上最全Redis面试题及答案(转)
Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行各种刁难。作为一名在互联网技术行业打击过成百上千名【请允许我夸张一下】的资深技术面试官,看过了无数落寞的身影失望的离开,略感愧疚,故献上此文,希望各位读者以后面试势如破竹,永无失败!Redis有哪些数据结构?字符串Str
Stella981 Stella981
3年前
Netty(七):流数据的传输处理
SocketBuffer的缺陷对于例如TCP/IP这种基于流的传输协议实现,接收到的数据会被存储在socket的接受缓冲区内。不幸的是,这种基于流的传输缓冲区并不是一个包队列,而是一个字节队列。这意味着,即使你以两个数据包的形式发送了两条消息,操作系统却不会把它们看成是两条消息,而仅仅是一个批次的字节序列。因此,在这种
Easter79 Easter79
3年前
TiDB 4.0 为解决热点问题做了哪些改进?
作者:李坤热点问题概述一直以来,TiDB的数据访问热点问题,是用户比较关注的问题。为什么这个问题如此突出呢?这其实是“分布式”带来的结构效应。单机数据库由于只有一个节点,是不存在热点问题的(因为性能的上限就是单机的处理能力),而分布式数据库集群存在多个节点,在达到存储扩展、读写能力扩展的目的上,我们希望大量的读写压力能够平摊在每个节点
百亿规模京东实时浏览记录系统的设计与实现 | 京东云技术团队
浏览记录系统主要用来记录京东用户的实时浏览记录,并提供实时查询浏览数据的功能。在线用户访问一次商品详情页,浏览记录系统就会记录用户的一条浏览数据,并针对该浏览数据进行商品维度去重等一系列处理并存储。然后用户可以通过我的京东或其他入口查询用户的实时浏览商品记录,实时性可以达到毫秒级。目前本系统可以为京东每个用户提供最近200条的浏览记录查询展示。
小万哥 小万哥
8个月前
Kotlin 字符串教程:深入理解与使用技巧
Kotlin中的字符串用于存储文本,定义时使用双引号包围字符序列,如vargreeting"Hello"。Kotlin能自动推断变量类型,但在未初始化时需显式指定类型,如varname:String。可通过索引访问字符串元素,如txt0获取首字符。字符串作为对象,拥有属性和方法,如length获取长度,toUpperCase()转大写。可使用compareTo()比较字符串,indexOf()查找子串位置。字符串中嵌入单引号表示文本内的引号,如"It&39;salright"。使用或plus()
小万哥 小万哥
8个月前
Kotlin 控制流和数组操作详解
Kotlin的when表达式提供了一种比if..else更清晰的方式来选择执行多个代码块之一,类似于Java的switch语句但更为强大和灵活。while循环允许在条件为真时重复执行代码块,而do..while循环则保证至少执行一次。break和continue可用于控制循环流程:前者终止循环,后者跳过当前迭代。数组则用于存储多个值,可以创建、访问、修改数组元素及遍历整个数组。这些构造使得编写简洁且高效的代码成为可能。