• 《Java开发手册》解读:大整数传输为何禁用Long类型?

    阿里妹导读:最新发布的《Java开发手册(嵩山版)》增加了前后端规约,其中有一条:禁止服务端在超大整数下使用Long类型作为返回。这是为何?在实际开发中可能出现什么问题?本文从IEEE754浮点数标准讲起,详细解析背后的原理,帮助大家彻底理解这个问题,提前避坑。文末福利:下载《Java开发手册(嵩山版)灵魂15问》电子书。8月3日,这个在我等码农心中具有一定纪念意义的日子里,《Java开发手册》发布了嵩山版。每次发布我都特别期待,因为总能找到一些程序员不得不重视的“血淋淋的巨坑”。比如这次,嵩山版中新增的模...
  • 听说,前端不需要懂二进制?

    作为一名前端,在工作中也会遇到很多有关二进制处理的需求,如 EXCEL 表格的导出,PDF 的生成,多个文件的打包,音频的处理。从前后端整体上来说前端代表 UI 层,它的外在表现是 human readable 的,而服务端代表数据层,所表现出来的是 machine readable。如果 EXCEL 以及 PDF 的处理交由服务端处理,服务端免不了要做一层格式化的逻辑处理,以便与前端保持一致。一来增加了复杂度,二来容易造成前端与服务器端的数据不一致。此时为了减少复杂度,工作量有可能都尽可能在浏览器端完成。...
  • 计算机极简发展史

    计算机自从 20 世纪 40 年代诞生以来,一直以史无前例的进步向前发展,如果说农业革命是第一次革命、工业革命是第二次革命的话,那么第三次革命就是 信息革命。计算机技术的进步几乎影响着社会的方方面面,硬件的进步使得程序员可以编写出各种各样优秀的应用软件。也许不久的将来虚拟现实、无人驾驶、无现金支付就会成为现实。1 计算机分类 计算机从用途上来讲主要分为三种:个人计算机(Personal Computer),也称为 PC,这是人们最熟知的一种计算机,个人计算机强调用户体验,价格低廉,性价比高,个人计算机虽然出...
  • 【Web技术】672- 你不知道的 WebSocket

    本文阿宝哥将从多个方面入手,全方位带你一起探索 WebSocket 技术。阅读完本文,你将了解以下内容:了解 WebSocket 的诞生背景、WebSocket 是什么及它的优点;了解 WebSocket 含有哪些 API 及如何使用 WebSocket API 发送普通文本和二进制数据;了解 WebSocket 的握手协议和数据帧格式、掩码算法等相关知识;了解如何实现一个支持发送普通文本的 WebSocket 服务器。在最后的 阿宝哥有话说 环节,阿宝哥将介绍 WebSocket 与 HTTP 之间的关系...
  • 来,我们把玩一下谢耳朵最喜欢的珠子

    《生活大爆炸》已经完结一年多了,我们依然十分想念谢耳朵。我们还想看他和莱呆拌嘴,想看他一本正经地去潘小花家敲门,还想听他说出一大串奇怪的知识点……嗯,我们还想看他穿那件低调奢华有内涵的T恤。就是这件。别看布料一般,做工一般,这上面印着的可是谢耳朵最喜欢的“宝珠”,73。高斯说,数学是自然科学的女王,数论是数学的女王。女王的王冠上当然嵌满了宝石和珍珠,人们常说,哥德巴赫猜想就是数论王冠上最亮的明珠,而哥德巴赫猜想的主角就是素数,也就是说,这颗明珠的主要成分是素数。73 也是个素数,它也拥有自己的猜想和正儿八经...
  • 你不知道的 WebSocket

    本文阿宝哥将从多个方面入手,全方位带你一起探索 WebSocket 技术。阅读完本文,你将了解以下内容:了解 WebSocket 的诞生背景、WebSocket 是什么及它的优点;了解 WebSocket 含有哪些 API 及如何使用 WebSocket API 发送普通文本和二进制数据;了解 WebSocket 的握手协议和数据帧格式、掩码算法等相关知识;了解如何实现一个支持发送普通文本的 WebSocket 服务器。在最后的 阿宝哥有话说 环节,阿宝哥将介绍 WebSocket 与 HTTP 之间的关系...
  • 八卦二进制

    数学算法俱乐部日期:2020年07月25日正文共:3341字1图预计阅读时间:9分钟来源:光明日报众所周知二进制数学是16世纪初德国科学家莱布尼兹发明的。对这个问题,至今没有人能够拿出足够的证据来否认它。现在我可以说,不。因为我可以证明在中国三千年前的著作《周易》中存在二进制数的使用和二——十进制数的转换编码。而且,更简单、更先进、更科学。图1是《周易》中的“先天八卦次序”,它由“两仪”、“四象”、“八卦”三行黑白矩形组组成。“两仪”中有两个矩形,“四象”中有四个矩形,“八卦”中有八个矩形。矩形的上面是八卦...
  • C#刷剑指Offer | 二进制中1的个数

    【C#刷题】| 作者 / Edison Zhou这是恰童鞋骚年的第266篇原创内容我们来用之前学到的数据结构知识来刷《剑指Offer》的一些核心题目(精选了其中30+道题目),希望对你有帮助!本文题目为:二进制中1的个数。1题目介绍题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如把9表示成二进制是1001,有2位是1。因此如果输入9,该函数输出2。2解法1:可能引起死循环一个基本的思路:先判断整数二进制表示中最右边一位是不是1。接着把输入的整数右移一位,此时原来处于从右边数起的第二位被...
  • 从病毒到“基础软件污染”,Linux 真的安全吗?

    作者 | 阿里云安全专家王福维(弗为)、阿里云技术专家程聪(清音)责编 | 屠敏头图 | CSDN 下载自东方 IC出品 | CSDN(ID:CSDNnews)长久以来,Linux主机曾一直被认为是比Windows更安全的操作系统,已知病毒形势远没有Windows多样和严重。而近年随着云计算的兴起,Linux系统在云主机的高占比形成了联网主机的主要算力,自然而然地吸引了病毒、黑产的注意力,但对Linux恶意程序攻防的研究仍未达到Windows同等程度,由公众所认识到的Linux恶意程序基本以挖矿程序和DDo...
  • Python计算0.1+0.2≠0.3? 6张图搞清楚原理!

    如果小数位是0.25就会比较简单,例如:0.25 * 2 = 0.5 // 小于1,则继续乘0.5 * 2 = 1 // 等于1,则结束结束时,将相乘之后等结果的整数部分拼接起来,所以 0.25 的二进制表示:01第二步:科学计数法表示二进制小数注意:因为是二进制小数,所以底数是2。接下来,我们以float32为例:通过对浮点型的存储原理的学习,了解到浮点型其实是一种非精确的表达小数的方式,因为他的fraction中有位数限制,超过就会忽略。请转发分享给更多人关注「Python那些事」,做全栈开发工程师点「在看」的人都变好看了哦
  • 编程需要知道多少数学知识?

    对于基本的编程,你需要知道下面的:加减乘除— 实际上,电脑会帮你作加减乘除运算。知道十进制、二进制、十六进制。除了进制系统以外,你可以已经知道编程所需的数学知识了。虽然普遍认为编程需要学习许多数学,但实际上并不需要那么多。你需要知道质数的有关知识,以及如何求最大公约数其他的编码大部分就是将数据按照某种步骤挪动。所以就算是以上的情况,你也不需要真正的知道3D图像,物理或者加密的数学。编写“龙与地下城”的程序,你甚至不需要知道统计学。
  • 一个Android自定义控件差点害我把工作丢了……

    MeasureSpec首先它只是一个工具类,它提供了生成测量规则的makeMeasureSpec()方法。实际上它包含了一个控件的初始尺寸以及测量模式。所以UI这块的内容确实还是挺多的,刚刚描述的只是一个非常小的知识点,如果大家不尽兴,推荐大家听一下由前新浪架构师,58同城项目负责人——Zee老师为大家带来的《Android高级UI三部曲,深入了解ViewGroup与UI的性能优化实战》专题小课:1. 高级UI之自定义ViewGroup实战之打造京东流式布局流式布局的整体思路整理;ViewGroup应该如何测量内部控件?报名学习后还有一套系统的Android开发进阶资料同时分享给大家,可以有效的帮助大家技术更进一步。
  • 一个Android自定义控件差点害我把工作丢了……

    MeasureSpec首先它只是一个工具类,它提供了生成测量规则的makeMeasureSpec()方法。实际上它包含了一个控件的初始尺寸以及测量模式。所以UI这块的内容确实还是挺多的,刚刚描述的只是一个非常小的知识点,如果大家不尽兴,推荐大家听一下由前新浪架构师,58同城项目负责人——Zee老师为大家带来的《Android高级UI三部曲,深入了解ViewGroup与UI的性能优化实战》专题小课:1. 高级UI之自定义ViewGroup实战之打造京东流式布局流式布局的整体思路整理;ViewGroup应该如何测量内部控件?报名学习后还有一套系统的Android开发进阶资料同时分享给大家,可以有效的帮助大家技术更进一步。
  • 一个Android自定义控件差点害我把工作丢了……

    MeasureSpec首先它只是一个工具类,它提供了生成测量规则的makeMeasureSpec()方法。实际上它包含了一个控件的初始尺寸以及测量模式。所以UI这块的内容确实还是挺多的,刚刚描述的只是一个非常小的知识点,如果大家不尽兴,推荐大家听一下由前新浪架构师,58同城项目负责人——Zee老师为大家带来的《Android高级UI三部曲,深入了解ViewGroup与UI的性能优化实战》专题小课:1. 高级UI之自定义ViewGroup实战之打造京东流式布局流式布局的整体思路整理;ViewGroup应该如何测量内部控件?报名学习后还有一套系统的Android开发进阶资料同时分享给大家,可以有效的帮助大家技术更进一步。
  • 关于哈希(散列)函数你应该知道的东西 | Linux 中国

    加密哈希函数,比如 SHA-256 或者 MD5,接受一组二进制数据作为输入,并且对每个可能的输入集给出一个希望唯一的输出。对于任意模式的输入,给定的哈希函数的输出的长度都是一样的。这就是为什么它们有时候被称作单向哈希函数。你下载一个 Linux 的 ISO 文件或者从 Linux 的仓库中下载软件时,你会看到使用这个验证过程。通常,对哈希值进行签名比对大型数据集本身进行签名更容易。抗碰撞性使你很难找到两个可以生成相同哈希值的消息,并且要在哈希函数中实现这一性质则更加困难。
  • 为什么 0.1 + 0.2 = 0.300000004?

    因为 0.1 和 0.2 使用单精度浮点数表示的实际值为 0.100000001490116119384765625 和 0.20000000298023223876953125[^7],所以它们在相加后就得到的结果与我们在一开始看到的非常相似:dot-three-floating-number图 7 - 0.1 加 0.2 的结果上图只是使用单精度浮点数表示的数字,如果使用双精度浮点数,最终结果中的 3 和 4 之间会有更多的 0,但是小数出现的顺序是非常相似的。
  • 玩转前端二进制

    本文阿宝哥将按照以下的流程来介绍前端如何进行图片处理,然后穿插介绍二进制、Blob、Blob URL、Base64、Data URL、ArrayBuffer、TypedArray、DataView 和图片压缩相关的知识点。跟上阿宝哥的脚步,让我们一起来玩转前端二进制。如果是二进制数据,你可以将数据进行 base64 编码之后再进行嵌入。相应的转换过程如下图所示:「Base64 常用于在处理文本数据的场合,表示、传输、存储一些二进制数据,包括 MIME 的电子邮件及 XML 的一些复杂数据。」 在 MIME 格式的电子邮件中,base64 可以用来将二进制的字节序列数据编码成 ASCII 字符序列构成的文本。
  • 后端开发必备的 MySQL 日志文件知识点

    错误日志错误日志文件对MySQL的启动,运行,关闭过程进行了记录。只不过我这里设置的是/var/log/mysqld.log,修改错误日志地址可以在/etc/my.cnf中添加#RecommendedinstandardMySQLsetupsql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid当出现MySQL数据库不能正常启动时,第一个必须查找的文件就是错误日志文件,该文件记录了出错信息,能够帮助我们找到问题。慢查询日志慢查询日志用来记录响应时间超过阈值的SQL语句,所以我们可以设置一个阈值,将运行时间超过该值的所有SQL语句都记录到慢查询日志文件中。该阈值可以通过参数 long_query_time 来设置,默认为10秒。
  • 你不知道的 Blob

    如果你允许用户从你的网站上下载某些文件,那你可能会遇到 Blob 类型。对于部分开发者来说,在完成上述功能之后,他们并不会继续思考 Blob 是什么?好了,如果你想继续了解什么是 Blob,那么就跟上我的脚步,来一个 Blob Web API 探索之旅。Blob 通常是影像、声音或多媒体文件。在 JavaScript 中 Blob 类型的对象表示不可变的类似文件对象的原始数据。我们不能直接在一个 Blob 中更改数据,但是我们可以对一个 Blob 进行分割,从其中创建新的 Blob 对象,将它们混合到一个新的 Blob 中。
  • 用 float 存储金额,老板直接说损失从工资里扣!

    点击上方“菜鸟名企梦”,选择“设为星标”为什么不能使用float存储金额从计算机二进制角度计算 6.6 + 1.3 的过程不能使用float那用什么类型存储金额?使用decimal存储类型的缺点公司最近在做交易系统,交易系统肯定是要和钱打交道的,和钱有关,自然而然很容易想到用float存储,但是使用float存储金额做的计算是近似计算。老板,用float做计算造成公司损失的钱都往你工资里扣哼,扣工资就扣工资。其中float总共占用32位,符号位,指数部分,有效部分各占1位,8位,23位二进制的转化对于实数,转化为二进制分为两部分,第一部分整数部分,第二部分是小数部分。
公告

《从零开始开发BBS》课程上线啦,快来跟着我一步步搭建属于你的BBS吧。

课程地址:https://www.shiyanlou.com/courses/1436
9折优惠邀请码: ZHwfIjb1

该课程会带领大家一步步的了解并熟悉Go语言开发,如果你是一个Go语言初学者,或者正准备学习Go语言,那么这个课程非常适合你。如果你熟练掌握了本课程中的知识点,相信你就已经入门Go语言开发,并能胜任日常的开发工作了。