RisingWave 1.10 发布!新增用户自定义聚合函数现在,您可以用 Python 和 JavaScript 创建嵌入式用户自定义聚合函数(User-defined Aggregate Function)。这些函数在 RisingWave 中定义,并使用嵌入式解释器执行。定义后,您可以像使用任何内置 SQL 聚合函数一样使用它们。创建 UDAF 需要使用 CREATE AGGREGATE 命令,其一般语法如下: CREATE AGGREGATE fu 数据运维 2024-07-31 共饮一杯
WordPress 可以触发 Linux 上的 Ghost 缺陷建议用户马上更新可用的补丁 这个漏洞之前由Qualys的安全研究员发现,并取了绰号叫Ghost,可以利用WordPress或其他PHP应用来攻击网站服务器。 这个瑕疵是一个缓冲区溢出问题,可以被攻击者触发用来获取Linux主机的命令行执行权限。发生在glibc的“__nss_hostname_digits_dots()”函数中,它会被“gethostbyname()”函数用到。 PHP应用可以用来 linux中国 2024-07-20 醒在深海的猫
函数式编程简介我们来解释函数式编程的什么,它的优点是哪些,并且给出一些函数式编程的学习资源。 这要看您问的是谁, 函数式编程 functional programming (FP)要么是一种理念先进的、应该广泛传播的程序设计方法;要么是一种偏学术性的、实际用途不多的编程方式。在这篇文章中我将讲解函数式编程,探究其优点,并推荐学习函数式编程的资源。 语法入门 本文的代码示例使用的是 Haskell 编程语言。在这 linux中国 2024-07-19 张二河
JavaScript 函数式编程介绍探索函数式编程,通过它让你的程序更具有可读性和易于调试 当 Brendan Eich 在 1995 年创造 JavaScript 时,他原本打算将 Scheme 移植到浏览器里 。Scheme 作为 Lisp 的方言,是一种函数式编程语言。而当 Eich 被告知新的语言应该是一种可以与 Java 相比的脚本语言后,他最终确立了一种拥有 C 风格语法的语言(也和 Java 一样),但将函数视作一等公 linux中国 2024-07-19 穿过生命散发芬芳
探秘“栈”之旅早些时候,我们探索了 “内存中的程序之秘”,我们欣赏了在一台电脑中是如何运行我们的程序的。今天,我们去探索栈的调用,它在大多数编程语言和虚拟机中都默默地存在。在此过程中,我们将接触到一些平时很难见到的东西,像 闭包 closure 、递归、以及缓冲溢出等等。但是,我们首先要作的事情是,描绘出栈是如何运作的。 栈非常重要,因为它追踪着一个程序中运行的函数,而函数又是一个软件的重要组成部分。事实上,程 linux中国 2024-07-18 法医
尾调用、优化和 ES6在探秘“栈”的倒数第二篇文章中,我们提到了 尾调用 tail call 、编译优化、以及新发布的 JavaScript 上 合理尾调用 proper tail call 。 当一个函数 F 调用另一个函数作为它的结束动作时,就发生了一个尾调用。在那个时间点,函数 F 绝对不会有多余的工作:函数 F 将“球”传给被它调用的任意函数之后,它自己就“消失”了。这就是关键点,因为它打开了尾调用优化的“可能 linux中国 2024-07-18 大猫
如何在 Linux Shell 编程中定义和使用函数函数是一段可复用的代码。我们通常把重复的代码放进函数中并且在不同的地方去调用它。库是函数的集合。我们可以在库中定义经常使用的函数,这样其它脚本便可以不再重复代码而使用这些函数。 本文我们将讨论诸多关于函数的内容和一些使用技巧。为了方便演示,我将在 Ubuntu 系统上使用 Bourne Again SHell (Bash)。 调用函数 在 Shell 中调用函数和调用其它命令是一模一样的。例如,如 linux中国 2024-07-18 共饮一杯
极客漫画:函数式编程的世界作者巧妙地指出了函数式编程 不可变 ( immultable ) 的特点。当你需要改变一个对象的属性的时候……嗯,销毁了再创建一个就是了。 这里的老板想来份变量(改变全局变量的值),而所谓 副作用 ( side effect ) ,指的是在这种编程范式下,函数内部与外部互动可能会产生运算以外的其他结果,或导致程序出现不可预料的行为。 或许,事件驱动的编程范式会好一点……? via: http:// linux中国 2024-07-18 共饮一杯
使用 Python 的 toolz 库开始函数式编程toolz 库允许你操作函数,使其更容易理解,更容易测试代码。 在这个由两部分组成的系列文章的第二部分中,我们将继续探索如何将函数式编程方法中的好想法引入到 Python中,以实现两全其美。 在上一篇文章中,我们介绍了不可变数据结构。 这些数据结构使得我们可以编写“纯”函数,或者说是没有副作用的函数,仅仅接受一些参数并返回结果,同时保持良好的性能。 在这篇文章中,我们使用 toolz 库来构建。 linux中国 2024-07-18 贤蛋大眼萌
计算机实验室之树莓派:课程 3 OK03OK03 课程基于 OK02 课程来构建,它教你在汇编中如何使用函数让代码可复用和可读性更好。假设你已经有了 课程 2:OK02 的操作系统,我们将以它为基础。 1、可复用的代码 到目前为止,我们所写的代码都是以我们希望发生的事为顺序来输入的。对于非常小的程序来说,这种做法很好,但是如果我们以这种方式去写一个完整的系统,所写的代码可读性将非常差。我们应该去使用函数。 一个函数是一段可复用的代码片断 linux中国 2024-07-18 捡田螺的小男孩
计算机实验室之树莓派:课程 9 屏幕04屏幕04 课程基于屏幕03 课程来构建,它教你如何操作文本。假设你已经有了课程 8:屏幕03 的操作系统代码,我们将以它为基础。 1、操作字符串 能够绘制文本是极好的,但不幸的是,现在你只能绘制预先准备好的字符串。如果能够像命令行那样显示任何东西才是完美的,而理想情况下应该是,我们能够显示任何我们期望的东西。一如既往地,如果我们付出努力而写出一个非常好的函数,它能够操作我们所希望的所有字符串,而作 linux中国 2024-07-18 三掌柜
如何写好 C main 函数学习如何构造一个 C 文件并编写一个 C main 函数来成功地处理命令行参数。 我知道,现在孩子们用 Python 和 JavaScript 编写他们的疯狂“应用程序”。但是不要这么快就否定 C 语言 —— 它能够提供很多东西,并且简洁。如果你需要速度,用 C 语言编写可能就是你的答案。如果你正在寻找稳定的职业或者想学习如何捕获空指针解引用,C 语言也可能是你的答案!在本文中,我将解释如何构造一 linux中国 2024-07-18 向阳逐梦
使用 Python 函数进行模块化使用 Python 函数来最大程度地减少重复任务编码工作量。 你是否对函数、类、方法、库和模块等花哨的编程术语感到困惑?你是否在与变量作用域斗争?无论你是自学成才的还是经过正式培训的程序员,代码的模块化都会令人困惑。但是类和库鼓励模块化代码,因为模块化代码意味着只需构建一个多用途代码块集合,就可以在许多项目中使用它们来减少编码工作量。换句话说,如果你按照本文对 Python 函数的研究,你将找到更 linux中国 2024-07-18 共饮一杯
Go 中对栈中函数进行内联上一篇文章中我论述了 叶子内联 leaf inlining 是怎样让 Go 编译器减少函数调用的开销的,以及延伸出了跨函数边界的优化的机会。本文中,我要论述内联的限制以及叶子内联与 栈中内联 mid-stack inlining 的对比。 内联的限制 把函数内联到它的调用处消除了调用的开销,为编译器进行其他的优化提供了更好的机会,那么问题来了,既然内联这么好,内联得越多开销就越少,为什么不尽可能多 linux中国 2024-07-17 向阳逐梦
关于哈希(散列)函数你应该知道的东西从输出的哈希值反推回输入,这从计算的角度是不可行的。 无论安全从业人员用计算机做什么,有一种工具对他们每个人都很有用:加密 哈希(散列) hash 函数。这听起来很神秘、很专业,甚至可能有点乏味,但是, 在这里,关于什么是哈希函数以及它们为什么对你很重要,我会作出一个简洁的解释。 加密哈希函数,比如 SHA-256 或者 MD5,接受一组二进制数据(通常是字节)作为输入,并且对每个可能的输入集给出 linux中国 2024-07-17 穿过生命散发芬芳
如何使用 printf 来格式化输出来了解一下 printf ,一个神秘的、灵活的和功能丰富的函数,可以替换 echo、print 和 cout。 当我开始学习 Unix 时,我很早就接触到了 echo 命令。同样,我最初的 Python 课程也涉及到了 print 函数。再想起学习 C++ 和 Java 时学到 cout 和 systemout。似乎每种语言都骄傲地宣称拥有一种方便的单行输出方法,并生怕这种方式要过时一样宣传它。 linux中国 2024-07-17 共饮一杯
JavaScript 闭包实践通过深入了解 JavaScript 的高级概念之一:闭包,更好地理解 JavaScript 代码的工作和执行方式。 在《JavaScript 如此受欢迎的 4 个原因》中,我提到了一些高级 JavaScript 概念。在本文中,我将深入探讨其中的一个概念: 闭包 closure 。 根据 Mozilla 开发者网络(MDN),“闭包是将一个函数和对其周围的状态(词法环境)的引用捆绑在一起(封闭)的 linux中国 2024-07-17 大白菜程序猿
学习如何用 C 语言来进行文件输入输出操作理解 I/O 有助于提升你的效率。 如果你打算学习 C 语言的输入、输出,可以从 stdio.h 包含文件开始。正如你从其名字中猜到的,该文件定义了所有的标准(“std”)的输入和输出(“io”)函数。 大多数人学习的第一个 stdio.h 的函数是打印格式化输出的 printf 函数。或者是用来打印一个字符串的 puts 函数。这些函数非常有用,可以将信息打印给用户,但是如果你想做更多的事情,则 linux中国 2024-07-17 大树
Bash Shell 脚本新手指南(三)欢迎来到面向初学者的 Bash Shell 脚本知识第三部分。这最后一篇文章将再来学习一些知识点,这些将使你为持续的个人发展做好准备。它将涉及到函数、用 if/elif 语句进行比较,并以研究 while 循环作为结尾。 函数 让我们从一个看似困难但其实很简单的基本概念开始,即函数。把它看作是一种简单的方法,可以把脚本中被反复使用的部分放到一个可重复使用的组中。你在本系列第一篇或第二篇文章中所做的 linux中国 2024-07-17 宇宙之一粟
Python 中的输入函数:概念和示例在这篇文章中,我将通过一些通俗易懂的例子来解释 Python 的 input() 函数的基础知识。 Python 是世界上最流行的编程语言之一,广泛应用于各种应用程序中。Python 中的一个基本概念是 input() 函数,它允许用户通过提供输入值与程序进行交互。 让我们看看 input() 函数是如何工作的,以及如何在 Python 程序中有效地使用它。 在开始之前,我希望你已经安装了 Pyt linux中国 2024-07-16 大树