一直学一直嗨,一直嗨一直学

学习Rust 并发编程

安全高效的处理并发是 Rust 诞生的目的之一,主要解决的是服务器高负载承受能力。 并发(concurrent)的概念是只程序不同的部分独立执行,这与并行(parallel)的概念容易混淆,并行强调的是”同时执行”。 并发往往会造成并行。 线程 线程(thread)是一个程序中独立运行的一个部分。 线程不同于进程(process)的地方是线程是程序以内的概念,程序往往是在一个进程中...

C 语言编程习惯详谈

引言 编程习惯的培养需要的是一个长期的过程,需要不断地总结,积累,并且我们需要从意识上认识其重要性,一个良好的编程习惯对于我们能力的提高也是有巨大的帮助的。下面是笔者在阅读《专业嵌入式软件开发》这本书时所看到的一些关于编程好习惯的总结,特此记录和分享一下、 判断失败而非成功 下面是一段简化过后的代码片段: if (physap_alarm_init() == RV_SUCC) { if (tr...

在Python中实现异步编程,只需要这几步就够了

异步编程是并行编程的一种方式。单个工作单元独立于主应用程序线程运行,并通知调用线程其完成、失败情况或进度。下面这张图理解起来会更直观一些: 同步编程很普遍。如图,请求1被发出后等待响应1;一旦得到响应1就发出请求2,然后等待它的响应。在上面的代码中,向函数传递参数“a”后等待函数返回更改后的值,然后再次调用以更改数字,最后再次得到响应,这就是同步编程。 而对于...

网络安全可编程性的数据日志管理分析

摘要 近年来,考虑到网络攻击的复杂性和多样化,安全设备正变得更加重要和严峻。当前的解决方案非常笨拙,无法在虚拟服务和物联网(IoT)设备中运行。 因此,有必要发展到更优秀的模型,该模型从大量的异构源中收集与安全相关的数据,以进行集中分析和校正。 在本文中,我们提出了用于访问安全上下文的灵活抽象层概念。它旨在通过部署在云应用程序和IoT设备中的轻量级检查和执行挂钩来...

shell高效编程:shell脚本从未如此美丽

平常工作中,你是否感觉shell脚本只是命令的堆砌;很多时候只是为了实现功能而没有好的组织结构;自己的脚本都不想再看一遍;哈哈,我这就教给shell的“葵花宝典“,自此让你的shell脚本有python一样的美感并且极易维护,真的是shell脚本写到停不下来。 现以nginx控制脚本为例,看一下脚本的美容过程: #!/bin/bash # set命令的奇妙用途留在文章末尾 set -eu # nginx重载配置文件 ngin...

shell编程–bash变量介绍

bash变量类型 本地变量 本地变量的作用域为整个bash进程。局部变量属于本地变量。在bash中声明变量的周期随着该进程的周期而存在。 定义本地变量:set VARNAME=Jerry 引用变量:${VARNAME},括号可省略 局部变量的声明:local VARNAME=VALUE 环境变量 环境变量的作用域为当前shell进程及其子进程 声明:export VARNAME=VALUE或者VARNAME=VALUE; export VARNAME 脚本在执行...

Python GUI界面编程-初识

GUI概述 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。然而这界面若要通过在显示屏的特定位置,以”各种美观而不单调的视觉消息”提示用户”状态的改变”,势必得比简单的消息呈现花上更多的计算能力。在 GUI 中,...

Python3 网络编程介绍

低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的全部方法。 高级别的网络服务模块 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发。 什么是 Socket? Socket又称”套接字”,应用程序通常通过”套接字”向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。 so...

Python CGI编程—通过CGI程序传递各种数据

通过CGI程序传递checkbox数据 checkbox用于提交一个或者多个选项数据,HTML代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <body> <form action="/cgi-bin/checkbox.py" method="POST" target="_blank"> <input type="checkbox" name="runoob" va...

Bash编程基础之语法和工具

Bash 是个功能强大的 shell,包含众多便捷特性,比如:tab 补全、命令回溯和再编辑、别名等。它的命令行默认编辑模式是 Emacs,但是我最喜欢的 Bash 特性之一是我可以将其更改为 Vi 模式,以使用那些储存在我肌肉记忆中的的编辑命令。 然而,如果你把 Bash 当作单纯的 shell 来用,则无法体验它的真实能力。我在设计一套包含三卷的 Linux 自学课程时(这个系列的文章正是基于此课程...

针对面向对象编程的一些想法

OOP 的柏拉图式理想是一堆相互解耦的对象,它们彼此之间发送无状态消息。没有人真的像这样制作软件,Brian 指出这甚至没有意义:对象需要知道向哪个对象发送消息,这意味着它们需要相互引用。该视频大部分讲述的是这样一个痛点:人们试图将对象耦合以实现控制流,同时假装它们是通过设计解耦的。 总的来说,他的想法与我自己的 OOP 经验产生了共鸣:对象没有问题,但是我一直不满意的...

D编程语言基础篇

引言 D 语言是一门语法相当优雅的编译型语言,自 1999 年发布至今已发展了 20 年,它既拥有 Java 那样强大的表现力,又具有 C++ 相当的性能,本来是一门未来相当明朗的语言,但是当年因为 2.x 版本破坏性升级导致社区大量核心开发者将其放弃。 2010 年,伴随着 Andrei Alexandrescu 新书《The D Programming Language》的出版,D 语言又变得活跃起来,D 语言 2.0 的特性变得稳定,运...

Hyperf是什么?

Hyperf 是基于 Swoole 4.5+ 实现的高性能、高灵活性的 PHP 协程框架,内置协程服务器及大量常用的组件,性能较传统基于 PHP-FPM 的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均基于 PSR 标准 实现,基于强大的依赖注入设计,保证了绝大部分组件或类都是 可替换 与 可复用 的。 框架组件库除了常见的协程版的 MySQL 客户端、Redis 客户端,还为您准备...

Java 网络编程 – TCP协议基本步骤

创建服务器 1、指定端口 使用ServerSocket创建服务器 2、阻塞式等待连接accept,有一个accept就建立了一个客户端 3、操作:io流 4、释放资源 public class tcp { public static void main(String[]args) throws IOException { System.out.println("-----Server-----"); // 1、指定端口 使用ServerSocket创建服务器 ServerSocket server=new ServerSocket(8888); // 2、阻...

Java函数式编程原理以及应用

一. 函数式编程 Java8所有的新特性基本基于函数式编程的思想,函数式编程的带来,给Java注入了新鲜的活力。 下面来近距离观察一下函数式编程的几个特点: •函数可以作为变量、参数、返回值和数据类型。 •基于表达式来替代方法的调用 •函数无状态,可以并发和独立使用 •函数无副作用,不会修改外部的变量 •函数结果确定性;同样的输入,必然会有同样的结果。 下面jdk1.8里面对...

Hexdump可用于数据恢复、逆向工程和编程

Hexdump 是个用十六进制、十进制、八进制数或 ASCII 码显示二进制文件内容的工具。它是个用于检查的工具,也可用于数据恢复、逆向工程和编程。 学习基本用法 Hexdump 让你毫不费力地得到输出结果,依你所查看文件的尺寸,输出结果可能会非常多。本文中我们会创建一个 1×1 像素的 PNG 文件。你可以用图像处理应用如 GIMP 或 Mtpaint 来创建该文件,或者也可以在终端内用 ImageMagi...

如何在 Fedora 上开始 Go 语言编程

Go 编程语言于 2009 年首次公开发布,此后被广泛使用。特别是,Go 已经成为云基础设施领域的一种代表性语言,例如 Kubernetes、OpenShift 或 Terraform 等大型项目都使用了 Go。 Go 越来越受欢迎的原因是性能好、易于编写高并发的程序、语法简单和编译快。 让我们来看看如何在 Fedora 上开始 Go 语言编程吧。 在 Fedora 上安装 Go Fedora 可以通过官方库简单快速地安装 Go 语言。 $ su...

Linux系统编程之进程介绍

一、进程概述 我们平时写的 C 语言代码,通过编译器编译,最终它会成为一个可执行程序,当这个可执行程序运行起来后(没有结束之前),它就成为了一个进程。 程序是存放在存储介质上的一个可执行文件,而进程是程序执行的过程。进程的状态是变化的,其包括进程的创建、调度和消亡。程序是静态的,进程是动态的。 在 Linux 系统中,操作系统是通过进程去完成一个一个的任务,进程是管...

深入的理解UDP编程

什么是UDP? UDP是User Datagram Protocol(用户数据报协议)的缩写,它是一个简单的协议,简单到UDP规范RFC0768只有区区3页。 UDP是工作在IP层之上的传输层协议,UDP对IP主要有两个扩展: 扩展出端口号使得IP数据报可以多路分发到用户进程。 扩展出校验和提供网络传输过程中数据差错的检验。 IP提供了一种尽力而为、无连接的数据报交付服务。IP基于IP地址实现路由和分组转发,可以将...

shell编程必须要掌握的命令-xargs

一,说xargs命令前,说一下什么是shell编程 什么是shell编程呢,说白了就是按一定的规则把各种命令组织起来,完成一定的事情。纯属个人理解,哈哈。不管是交互式的shell,还是非交互的shell,它都是由一些命令组成的。 所以命令很重要。xargs就是其中之一,并且还是相当重要的一个命令,为什么说它重要呢,因为他和能其他命令结合使用,把一个命令的输出,当作参数传给另一个命令。这...