用Python从零开始创建区块链 (learnblockchain.cn)

【简介】

最快的学习区块链的方式是自己创建一个,本文就跟随作者用Python来创建一个区块链。

点击查看原文 >>

@Tiny熊 2017-11-23 09:02 / 0个评论
要不要再学学下面的文章?
利用gorm自身提供的方法实现存在更新不存在则创建的能力 (wiki.eryajf.net)
MySQL 有一个语句是 UPSERT 的操作,它结合了 update 和 insert 两种操作的功能。当执行 upsert 操作时,如果指定的记录已经存在,则执行更新操作;如果指定的记录不存在,则执行插入操作。这种操作可以用来确保数据的一致性,并且可以减少对数据库的访问次数。
by @技术头条 2024-01-13 23:49 查看详情
Python源码剖析:深度探索Cpython对象 (www.52nlp.cn)
Python是一门备受推崇的脚本语言,以其简单的语法和全面的功能而著称,可快速实现各种业务。本文从 CPython 对象构造器入手,介绍了浮点数对象在 CPython 底层数据结构中的表现形式以及对象创建的过程。通过进一步了解 CPython 动态性的实现方式,读者可望在阅读 CPython 源码后提升编写高质量代码的能力。
by @技术头条 2023-07-23 11:28 查看详情
聊一聊:Python和Golang的垃圾回收 (yance.wiki)
GC作为现代编程语言的自动内存管理机制,专注于两件事:1. 找到内存中无用的垃圾资源 2. 清除这些垃圾并把内存让出来给其他对象使用。GC彻底把程序员从资源管理的重担中解放出来,让他们有更多的时间放在业务逻辑上。但这并不意味着码农就可以不去了解GC,毕竟多了解GC知识还是有利于我们写出更健壮的代码。
by @技术头条 2023-07-04 23:14 查看详情
使用多线程为你的 Python 爬虫提速的 N 种姿势,你会几种? (blog.yuanpei.me)
和大多数学习 Python 的人一样,博主学习 Python 是从写爬虫开始的,而这个爬虫程序刚好是那种抓取“宅男女神”的程序,下载图片无疑是整个流程里最关键的环节,所以,整个优化的核心,无外乎提升程序的稳定性、提高抓取速度。所以,接下来,我会带大家走近 Python 中的多线程编程,涉及到的概念主要有线程(池)、进程(池)、异步I/O、协程、GIL等,而理解这些概念,对我们而言是非常重要的,因为它将会告诉你选择什么方案更好一点。想让你的爬虫更高效、更快吗?在这里就能找到你的答案。
by @技术头条 2023-07-02 23:27 查看详情
区块链安全-Solidity安全建议 (54chen.com)
虽然通常很容易构建能够正常运作的软件, 但更难的是确定没有人能够以不是预期的方式使用它。

Solidity中,这更加重要,因为你会使用智能合约来 控制token,甚至可能是更加宝贵的东西。 此外,每次 智能合约的执行,都是公开的。并且, 代码也常常是开源的。

当然,你总是必须考虑这个问题有多大: 你可以用一个web服务来和智能合约进行对比,这个web服务向公众开放 (也可能是向恶意攻击者),甚至可能是开源的。 如果您只是在那个web服务上存储您的杂货列表, 您可能没有必要 关心太多,如果你使用这个web服务处理你的银行账户, 你应该更加谨慎。

本节将列出一些陷阱和一般安全建议,但 当然,永远不可能是完整的。 还有,请记住,即使你的智能 合约代码是没有bug的,编译器或平台本身可能有一个 bug。 编译器中一些已公开的安全错误列表 可以在 :ref:list of known bug<known_bugs>中找到, 这也是 机器可读的。 注意有一个覆盖Solidity编译器的代码生成器的 bug bounty 程序 。
by @技术头条 2023-02-12 21:22 查看详情
从零开始的 Boa 框架 Fuzz (paper.seebug.org)
最近在搞Iot的时候接触到Qiling框架,用了一段时间后感觉确实模拟功能挺强大的,还支持Fuzz,于是开始学习对Iot webserver这样的程序进行Fuzz。

官方给出了类似的例子如Tenda AC15 的httpd的fuzz脚本,但是也就光秃秃一个脚本还是需要自己来一遍才能学到一些东西;因为面向的是Iot webserver的Fuzz因此需要对嵌入式设备中常用web开源框架有一些了解,这里是对于Boa框架的fuzz案例。
by @技术头条 2023-02-12 14:10 查看详情
为 Python 写一个 C++ 扩展模块 (linux.cn)
在本文中,我将向你展示如何编写一个 C++ 扩展模块。使用 C++ 而不是 C,因为大多数编译器通常都能理解这两种语言。我必须提前说明缺点:以这种方式构建的 Python 模块不能移植到其他解释器中。它们只与 CPython 解释器配合工作。因此,如果你正在寻找一种可移植性更好的与 C 语言模块交互的方式,考虑下使用 ctypes 模块。
by @技术头条 2023-01-04 23:40 查看详情
修复 Ubuntu Linux 中 “Command ‘python’ not found” 的错误 (linux.cn)
Python 语言不是以 python 的形式安装的,而是以 python3 或 python2 的形式安装的(在一些老的 Ubuntu 版本中)。
在遥远的过去的某个时间点,Python 实际上是作为 python 包/可执行文件提供的。当 Python 发布第二版时,Ubuntu 和其他发行版不得不同时支持 Python 1.x 和 2.x 版本。
因此,他们将较新的 Python 版本命名为 python2,以区分这两个版本。其他应用或库也在其代码中指定 python 或 python2。
最终,Python 1 版本被完全停用,但软件包继续被命名为 python2。
类似地,当 Python 3 版本发布时,发行版开始同时提供 python2 和 python3 包。
Python 2 不再被支持,Python 3.x 是你在 Ubuntu 上安装的版本。该软件包仍被命名为 python3。
总结一下,你已经在 Ubuntu 上安装了 Python。它是以 python3 软件包方式使用的。
by @技术头条 2022-08-18 23:33 查看详情
Python爬虫requests爬取页面的编码问题 (www.ipcpu.com)
很多时候,我们发现,requests库返回的页面编码都是ISO-8859-1,需要指定为UTF-8才能正确读取。这是为什么呢?
by @技术头条 2022-08-18 23:10 查看详情
Python竟然也能做这样的进度条。。。 (mp.weixin.qq.com)
如果你之前没用过进度条,八成是觉得它会增加不必要的复杂性或者很难维护,其实不然。要加一个进度条其实只需要几行代码。在这几行代码中,我们可以看看如何在命令行脚本以及 PySimpleGUI UI 中添加进度条。
by @code小生 2022-08-07 09:41 查看详情