软件架构的数据流风格是一种组织软件组件的方法,其关注点在于数据的流动方式及处理过程。在数据流风格中,数据从一个组件流向另一个组件,每个组件对数据进行处理后,再将其传递给下一个组件。这种风格强调的是数据处理的顺序和方式,适合于数据处理和数据转换密集型的应用程序。
1,进程间通信 (IPC ) Inter-Process Communication 比较好理解概念的就是进程间通信就是在不同进程之间传播或交换信息。 2,linux下IPC机制的分类:管道、信号、共享内存、消息队列、信号量、套接字 3,这篇主要说说管道:本质是文件,其他理论什么的网上已经有一大堆了,我就只写一点用法吧。 3.1 特点 1)管道是最古老的IPC,但目前很少使用 2)以文件做交互的媒介,管道分为有名管道和无名管道 3)历史上的管道通常是指半双工管道 3.2 管
MongoDB 中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。
因为 $group 里面对应需要聚合操作的列必须写成 _id , 否则会出现 The field 'xxx' must be an accumulator object 的报错信息
在 Linux 系统中,进程是指正在运行的程序的实例。每个进程都有自己的内存空间、指令序列和数据结构。进程是 Linux 系统中最基本的管理单元,理解进程的概念和属性对于系统管理和应用开发非常重要。本文将详细介绍 Linux 进程的概念和属性,包括进程的定义、进程的状态、进程标识符、进程优先级等。
文章目录 1. 搜索查找类 1.1 find 指令 1.2 locate 指令 1.3 grep 指令和管道符号 │ 1. 搜索查找类 1.1 find 指令 find指令将从指定目录向下递归地遍历
管道创建成功以后,创建该管道的进程(父进程)同时掌握着管道的读端和写端。如何实现父子进程间通信呢?通常可以采用如下步骤:
对shell有一定了解的人都知道,管道和重定向是 Linux 中非常实用的 IPC 机制。在shell中,我们通常使用符合‘|’来表示管道,符号‘>’和‘<’表示重定向。那么管道和重定向的真实含义(定义)又是什么呢?
本文介绍了管道(pipe)在Linux系统中的实现方式,从三个方面进行了详细阐述:管道的原理,命名管道,以及通过匿名管道进行的进程间通信。同时,文章还探讨了管道在Linux系统中的实际应用,包括shell脚本、cron任务以及Linux中的各种守护进程等。
持续集成和持续交付 (CI/CD) 在现代软件开发中至关重要,有助于实现自动化代码集成和可靠的应用程序交付。 Jenkins 以其灵活性和广泛的插件选项而闻名,是创建 CI/CD 管道的领先工具。
进程间的通信—管道 管道 进程间的通信(IPC-Inter-Process Communication)有多种方式,管道是其中最基本的方式。 管道是半双工的,即是单向的。 管道是FIFO(先进先出)的。 在实际的多进程间通信时,可以理解为有一条管道,而每个进程都有两个可以使用管道的"端口",分别负责进行数据的读取与发送。 单进程中的管道:int fd[2] 使用文件描述符fd[1],向管道写数据。 使用文件描述符fd[0],从管道中读数据。 📷 注意: 单进程中的管道无实际用处,管道用于多进程间
本文我们将开始来学习 Jenkins。Jenkins 是一个流行的开源的自动化服务器。Jenkins 广泛用于持续集成和持续交付(CI/CD)管道,是 DevOps 中必备的工具。
CVE-2022-0847 是存在于 Linux内核 5.8 及之后版本中的本地提权漏洞。攻击者通过利用此漏洞,可覆盖重写任意可读文件中的数据,从而可将普通权限的用户提升到特权 root。
这里提出关于架构的几个问题,但不会给出答案,毕竟本人也是在不断探索中,并非权威。旨在引起思考,自己也会每日自省。
实例:web服务器。来一个建立一个线程,断了就销毁线程。要是用进程,创建和销毁的代价是很难承受的。
watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行。在Linux下,watch是周期性的执行下个程序,并全屏显示执行结果。你可以拿他来监测你想要的一切命令的结果变化,比如 tail 一个 log 文件,ls 监测某个文件的大小变化,看你的想象力了!
0x00 PowerShell的内网渗透之旅 内网渗透一直以来都是一个热门话题,试想在一个大型的内网环境下,当我们拿到了内网windows机器后,该如何通过他们去获取更多的所需资源,这就需要进行内网渗透了。然而在内网渗透中,除了kali、metasploit等高能的存在以外,还有一款神器也常常容易遭到忽略----PowerShell,因此本次学习将从PowerShell基础语法切入以及利用PowerShell脚本实现的PowerSploit框架演示内网渗透实例。 0x01 PowerShell简介及特性
为了保护进程空间不被别的进程破坏或者干扰,Linux中的进程是相互独立的,也就是所谓的进程隔离。(而且一个进程的内存空间还被分为了用户空间和内核空间,二者也是相互隔离的。这里不做探讨)所以在Linux中,进程与进程之间是相互隔离的,而且进程中的用户和内核空间也是隔离的。
管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。
sed 是一个流编辑器。 它可以对文件和输入流(如管道)执行基本的文本操作。 使用 sed,您可以搜索、查找和替换、插入和删除单词和行。 它支持基本的和扩展的正则表达式,允许您匹配复杂的模式。
一个完整计算机的体系结构包括:硬件与软件,而软件又分为系统软件与应用软件,负责对硬件仅需管理与操作的是系统软件的内核部分,用户是无法与硬件或内核打交道的,用户通过应用程序或部分系统软件发出指令(可能是通过浏览器发送一封邮件),这些指令会被翻译并传给内核,内核在得知用户的需求后调度硬件资源来完成操作(比如,使用网卡发送数据包)。
Rump是一款开源的Redis数据在线迁移工具,支持在同一个实例的不同数据库之间互相迁移,以及不同实例的数据库之间迁移。
xz-utils 是一款流行的压缩工具,在 Linux 系统中广泛使用,这表明了它在软件生态系统中的关键作用。2024 年 3 月 29 日发现的 xz-utils 后门使系统面临潜在的后门访问和远程代码执行风险。它特别针对使用 glibc、systemd 和已修补 OpenSSH 的系统上的 xz-utils 5.6.0 和 5.6.1 版本。…
打算给我们部门弄个内部分享。发现大家对一些底层知识的认知停留在一句一句的,比如听说JVM使用-XX:-UseBiasedLocking取消偏向锁可以提高性能,因为它只适用于非多线程高并发应用。使用数字对象的缓存-XX:AutoBoxCacheMax=20000比默认缓存-128~127要提高性能。对于JVM和linux内核,操作系统没有系统的概念,遇到实际问题往往没有思路。所以我的内部分享,主要分为linux部分,jvm部分和redis部分。这篇是linux篇。学习思路为主,知识为辅。我也是菜鸟一枚~~
一个完整计算机的体系结构包括:硬件与软件,而软件又分为系统软件与应用软件,负责对硬件仅需管理与操作的是系统软件的内核部分,用户是无法与硬件或内核打交道的,用户通过应用程序或部分系统软件发出指令(可能是通过浏览器发送一封邮件),这些指令会被翻译并传给内核,内核在得知用户的需求后调度硬件资源来完成操作(比如,使用网卡发送数据包)。 在Linux环境下,我们一般通过Shell来与内核交流,并最终实现我们想要使用计算机资源的目的。由于Linux的开放性特点,使得在Linux下对Shell的选择也很多,CentO
许多CI / CD系统工具为开发团队和DevOps团队提供了源代码控制,构建工件和部署功能等功能。GitLab就是其中之一,但是该产品为CI / CD管道带来了某些优势,从易于安装到高级自动化。基于Web的工具鼓励团队内适当的代码实践,并安全地部署到生产中。
在传统的应用程序设计中,我们可以看到很多通过浏览器唤起本地应用的案例,比如百度网盘、迅雷等工具,他们在浏览器访问一个非 http/https 协议开头的地址时,会自动打开其自己的应用程序并传递一定的参数。该功能的实现方式网络上有很多示例,在 Windows 和 macOS 不同平台下他们分别需要如下设置:
-n或--interval watch缺省每2秒运行一下程序,可以用-n或-interval来指定间隔的时间。
企业正在朝着DevOps方法论和敏捷文化迈进,以加快交付速度并确保产品质量。在DevOps中,连续和自动化的交付周期是使快速可靠的交付成为可能的基础。
-n或–interval watch缺省每2秒运行一下程序,可以用-n或-interval来指定间隔的时间。
#进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵。而线程是共享进程中的数据的,使用相同的地址空间,因此CPU切换一个线程的花费远比进程要小很多,同时创建一个线程的开销也比进程要小很多。
本系列是《玩转机器学习教程》一个整理的视频笔记。在上一小节介绍了多项式回归的基本思想,本小节主要介绍sklearn是如何对多项式进行封装的,之后介绍一种类似Linux中"|"管道的Pipeline类。
并发 :一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。
二进制数据就像上图一样,由0和1来存储数据。普通的十进制数转化成二进制数一般采用"除2取余,逆序排列"法,用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。例如,数字10转成二进制就是1010,那么数字10在计算机中就以1010的形式存储。
Java 是一种广泛应用于各种类型的软件开发的编程语言,而与 Java 紧密相关的一个概念就是进程。本篇博客将从基础开始,详细介绍 Java 进程的概念、创建、管理以及一些实际应用场景。无论您是初学者还是有一定经验的开发者,都能从本文中获取有关 Java 进程的有用信息。
Linux进程是系统中正在运行的程序的实例。每个进程都有一个唯一的进程标识符(PID),并且拥有自己的地址空间、内存、数据栈以及其他用于跟踪执行状态的属性。进程可以创建其他进程,被创建的进程称为子进程,创建它们的进程称为父进程。这种关系形成了一个进程树。
学安全的我们,经常会听到说获得某服务器的shell,就是指获得某个服务器的操作权限。我们学习linux时,经常会遇到bash,bash也是指的是某个服务器的权限。那么,这两者有什么区别和联系呢?
Shell 编程是在 Linux 和类 Unix 系统上编写脚本的一种强大的方式。Shell 是用户和操作系统内核之间的接口,它提供了一种以脚本形式执行命令和控制系统的方法。以下是一份简短的 Shell 编程基础知识,包括基础概念和示例。
Microsoft DevOps 文档里的文章(https://docs.microsoft.com/zh-cn/azure/devops/report/dashboards/cycle-time-a
Linux进程是计算机中正在运行的程序的实例。在Linux系统中,每个进程都有一个唯一的进程ID(PID),用于标识该进程。(pid)进程号。
很多时候,在一些文章中,工具利用中,都会提到管道(pipe)。那么,什么是管道呢?管道能做什么呢?本文以 windows 管道为主,边学习边整理,希望可以给其他感兴趣的人提供帮助。如有不到之处,或是描述错误的地方请大家多多包涵,多多指点。
管道是Linux中很重要的一种通信方式,是把一个程序的输出直接连接到另一个程序的输入,常说的管道多是指无名管道,无名管道只能用于具有亲缘关系的进程之间,这是它与有名管道的最大区别。有名管道叫named pipe或者FIFO(先进先出),可以用函数mkfifo()创建。
领取专属 10元无门槛券
手把手带您无忧上云