当前位置: 首页 > news >正文

【工作篇】软件工程师的知识基础(持续更新)

目录

1. linux 知识篇


1. linux 知识篇

1. Linux API 是什么

Linux API 是指 Linux 操作系统 提供的应用程序接口,用于与操作系统进行交互。它包含了一系列的函数、系统调用、库函数和数据结构,用于实现各种系统级的操作,如文件操作、进程管理、网络通信等。

常见的 Linux API 包括 POSIX 标准定义的接口、系统调用(如 openreadwrite 等)、网络套接字 API(如 socketbindlisten 等)、进程管理 API(如 forkexecwaitpid 等)等。

总的来说,Linux API 是开发者与 Linux 操作系统交互的桥梁,为应用程序的开发提供了丰富的功能和接口。

【简单示例】假设要创建一个简单的C程序,在Linux上创建一个文本文件并写入一些内容。可以使用Linux API中的函数来实现

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>int main() {// 创建或打开一个文件,如果不存在则创建,如果存在则截断为0int fd = open("example.txt", O_CREAT | O_WRONLY | O_TRUNC, 0644);if (fd == -1) {perror("open");exit(EXIT_FAILURE);}// 写入内容到文件const char *text = "Hello, Linux API!\n";ssize_t bytes_written = write(fd, text, strlen(text));if (bytes_written == -1) {perror("write");close(fd);exit(EXIT_FAILURE);}// 关闭文件if (close(fd) == -1) {perror("close");exit(EXIT_FAILURE);}printf("File 'example.txt' created and written successfully.\n");return 0;
}

该程序使用了几个Linux API函数:

  1. open():用于打开或创建一个文件,返回一个文件描述符(file descriptor),如果出错则返回-1。
  2. write():用于将数据写入文件,接受文件描述符、数据指针和数据长度作为参数,返回写入的字节数,如果出错则返回-1。
  3. close():用于关闭文件,接受文件描述符作为参数,返回0表示成功,-1表示失败。

这个示例演示了如何使用Linux API来创建一个文件并写入内容。通过调用这些函数,可以直接与Linux操作系统进行交互,而不需要了解底层实现细节。

相关文章:

【工作篇】软件工程师的知识基础(持续更新)

目录 1. linux 知识篇 1. linux 知识篇 1. Linux API 是什么 Linux API 是指 Linux 操作系统 提供的应用程序接口&#xff0c;用于与操作系统进行交互。它包含了一系列的函数、系统调用、库函数和数据结构&#xff0c;用于实现各种系统级的操作&#xff0c;如文件操作、进程…...

知识付费系统开源方案,教育机构如何利用朋友圈做转介绍?

招生成本高&#xff0c;效果差让许多教育机构头疼不已。对于教育机构来说通过转介绍招生是一个非常有效的途径&#xff0c;那么教育机构如何利用朋友圈做转介绍呢?今天小编就来和大家分享一下。 利用朋友圈做转介绍&#xff0c;主要是通过做活动&#xff0c;来完成增加粉丝、扩…...

c++20 std::reinterpret_cast、std::bit_cast、std::static_cast

std::reinterpret_cast 类型不相关的转换&#xff0c;不安全例如转为&&#xff0c;不支持&#xff0c;要求sizeof相同&#xff1a; uint32_t n32 12345678;//0x00bc614e uint32_t* ptr reinterpret_cast<uint32_t*>(n32);//0x00bc614e uint32_t& ref reinter…...

PHP单独项目启动演示

文章目录 phpstudy得到文件打开phpStudy.exe运行项目 Apache运行后又自动停止 phpstudy 得到文件 一般我们会得到这么一个项目文件&#xff0c;如果外层有“中文路径”&#xff0c;请剪切此内容作为项目根目录即可 打开phpStudy.exe 因为我又正常的编程环境和mysql&#x…...

vscode 通过ssh 远程执行ipynb +可以切换conda env

主要是保证几个点 远程服务器python 环境没问题 conda这些也都有的ssh的账户 是有conda权限的没有免密就输入密码 免密教程就是最基本的那种 公钥copy过去就行了vscode 那几个插件都要装好 开始操作 首先 vscode 点击左侧工具栏中的扩展&#xff0c;搜索“ssh”&#xff0c;…...

ASP.NET银行大厅自助信息系统的开发与实现

摘 要 本毕业设计在基于银行业务大厅现有业务的基础上&#xff0c;针对自助银行的概念和其独有特点&#xff0c;通过.NETSQL技术&#xff0c;开发一个简单的银行大厅自助信息系统&#xff0c;完成一些自助银行的业务需求如帐户信息查询、帐户挂失、自助交费、留言、新闻查询…...

学习Vue3中reactive

学习Vue3中reactive 一、前言1、响应式对象2、对象属性的访问3、嵌套响应式对象4、避免直接修改响应式对象5、ref vs reactive 一、前言 在 Vue 3 中&#xff0c;reactive 是一个用于创建响应式对象的函数。响应式对象是 Vue 3 中数据驱动视图的核心&#xff0c;它们的属性的变…...

【Transformer-BEV编码(10)】CVPR2021 PYVA 第一个明确提到 cross-attention decoder可用于视图转BEV

论文信息 论文名&#xff1a;Projecting Your View Attentively: Monocular Road Scene Layout Estimation via Cross-view Transformation 中文&#xff1a;通过交叉视图变换&#xff08;crossview transform module&#xff09;估计单目道路场景布局 数据集&#xff1a;KITT…...

nestJs中跨库查询

app.module.ts中配置 模块的module中 注意实体类在写的时候和数据库中的表名一样 service中使用一下...

Java编程思想

面向对象编程(OOP)-CSDN博客 面向对象(OOP)的主要特点-CSDN博客 接口(Interface)和抽象类(Abstract Class)编程思想-CSDN博客 接口(Interface)和抽象类(Abstract Class)区别-CSDN博客 抽象类(Abstract Class)-CSDN博客 普通类和抽象类-CSDN博客 内部类编程思想-CSDN博客 …...

数组(Java)

数组 数组是相同类型元素的集合。 数组的定义和使用 数组的创建 数组名又叫引用变量&#xff0c;简称引用 下面代码段中new表示创建新的对象 T[ ] 数组名 new T[ N ];//数组名又叫引用变量&#xff0c;简称变量 //T&#xff1a;表示数组中存放元素的类型 //T[]&#xf…...

接口自动化测试框架搭建

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号&#xff1a;互联网杂货铺&#xff0c;回复1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、原理及特点 参数放在XML文件中进行管理用httpClien…...

(四十二)第 6 章 树和二叉树(树的二叉链表(孩子-兄弟)存储)

1. 背景说明 2. 示例代码 1) errorRecord.h // 记录错误宏定义头文件#ifndef ERROR_RECORD_H #define ERROR_RECORD_H#include <stdio.h> #include <string.h> #include <stdint.h>// 从文件路径中提取文件名 #define FILE_NAME(X) strrchr(X, \\) ? strrch…...

测试萌新Python学习(五)接口自动化测试requests

requests 接口自动化测试requests库基本实现请求-GET基本实现请求-POST基本实现请求-补充 sessionCookie和Session案例params 接口自动化测试 概念程序驱动代替人工驱动去实现接口测试 实现方式 测试工具(jmeter, postman, …)编码工具(python, java, …) 比较 工具 优点:…...

Python 机器学习 基础 之 监督学习 [朴素贝叶斯分类器] / [决策树] 算法 的简单说明 / [graphviz] 绘制决策树

Python 机器学习 基础 之 监督学习 [朴素贝叶斯分类器] / [决策树] 算法 的简单说明 / [graphviz] 绘制决策树 目录 Python 机器学习 基础 之 监督学习 [朴素贝叶斯分类器] / [决策树] 算法 的简单说明 / [graphviz] 绘制决策树 一、简单介绍 二、监督学习 算法 说明前的 数…...

QT日志类SimpleQtLogger的简单记录

在现代软件开发中&#xff0c;日志记录是必不可少的部分。它不仅帮助开发者在调试和维护软件时了解程序的运行状态&#xff0c;还能提供关键的错误信息。对于使用Qt框架开发应用程序的开发者来说&#xff0c;选择一个合适的日志库至关重要。本文将详细介绍Qt日志库SimpleQtLogg…...

设计模式:观察者模式

观察者模式&#xff08;Observer Pattern&#xff09;是一种行为设计模式&#xff0c;它定义了对象之间的一对多依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都会得到通知并被自动更新。这种模式通常被用来实现事件处理系统、实时数据更新、…...

ICode国际青少年编程竞赛- Python-5级训练场-带参数函数

ICode国际青少年编程竞赛- Python-5级训练场-带参数函数 1、 def get_item(a):Dev.step(a)Dev.step(-a) get_item(4) Spaceship.step(2) get_item(2) Spaceship.step(3) get_item(5) Spaceship.step(2) get_item(3) Spaceship.step(3) get_item(4)2、 def get_item(a): D…...

运维别卷系列 - 云原生监控平台 之 02.prometheus exporter 实践

文章目录 [toc]exporter 简介常用的 exporternode-exporter 实践创建 svc创建 daemonsetprometheus 配置服务发现 exporter 简介 随着 Prometheus 的流行&#xff0c;很多系统都已经自带了用于 Prometheus 监控的接口&#xff0c;例如 etcd、Kubernetes、CoreDNS 等&#xff0c…...

OSPF基本配置

1.启动OSPF进程 [rijospf1 router-id 1.1.1.1 --- 手工配置RID [r1-ospf-1) 2&#xff0c;创建区域 [r1-ospf-1]area 0 [r1-ospf-1-area-0.0.0.0) 3&#xff0c;宣告 目的:1&#xff0c;只有被宣告网段中的接口才能被激活。 --- 激活接口 ---- 只有激活的接口才能收发OSPF的…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验&#xff0c;我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育&#xff0c;这并非炒作&#xff0c;而是已经发生的巨大变革。教育机构和教育者不能忽视它&#xff0c;试图简单地禁止学生使…...