技术文章

C语言 冒泡排序

泄露秘密 提交于 2021-02-19 03:47:55
冒泡排序 取随机数组 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <time.h> 4 #include <stdlib.h> 5 6 7 int main() { 8 int arr[ 10 ]; 9 int i,j; 10 srand(time(NULL)); 11 for (i = 0 ;i< 9 ;i++ ){ 12 arr[i] = rand() % 100 ; 13 } 14 for (j = 0 ;j < 9 ;j++ ){ 15 16 for (i = 0 ;i< 9 ;i++ ){ 17 if (arr[i] > arr[i+ 1 ]){ 18 arr[i] ^=arr[i+ 1 ]; 19 arr[i+ 1 ] ^= arr[i]; 20 arr[i] ^= arr[i+ 1 ]; 21 } 22 } 23 } 24 for (i = 0 ;i< 10 ;i++ ){ 25 printf( " %d\n " ,arr[i]); 26 } 27 return 0 ; 28 } 构建函数 1 #include <stdio.h> 2 void sort( int a[], int len); 3 4 5 void sort( int a[], int len) 6 { 7 int i,j; 8 for

c++一本通1000

萝らか妹 提交于 2021-02-19 03:47:36
http://ybt.ssoier.cn:8088/problem_show.php?pid=1000 #include<iostream> #include <cstdio> using namespace std; int main() { int a,b; scanf( " %d%d " ,&a,& b); printf( " %d " ,a+ b); return 0 ; } 入门是一个艰辛的过程O(∩_∩)O~ 来源: oschina 链接: https://my.oschina.net/u/4399096/blog/3931192

笔记本怎么录屏 电脑上怎么录屏

拜拜、爱过 提交于 2021-02-19 03:45:34
在信息化的时代,手机和电脑已经成为了生活必需品,很多朋友需要将电脑录制成视频,惠普笔记本怎么录屏?因为小编使用的是惠普电脑,所以今天以此为例为大家分享电脑录屏方法。 使用工具: 电脑 操作方法: 1、首先在电脑上打开需要录制的网页视频,下面我以爱奇艺视频为例,不管录制电脑上的任何画面,操作方法都是一样的。 2、然后在电脑上打开即将使用的录屏工具,设置相关的参数,主要围绕视频选项、音频选项、画质设置、模式选择等进行优化。 3、相关的参数设置完成之后,并将其开启悬浮框勾选上,以便录制视频的操纵。 4、如果在录制的过程中,需要使用鼠标的操作,可以点击设置,选择通用设置,勾选上录制鼠标指针,选择声音和移动轨迹等。 5、再次进入爱奇艺视频,播放至自己想要录制的片段,点击悬浮框上的开始即可开始录制,点击结束按钮即可完成录制。 6、录制完成的视频,点击查看文件夹即可进行查看和分享。 以上就会电脑录屏的操作方法,希望可以帮助到你们! 来源: oschina 链接: https://my.oschina.net/u/4288716/blog/3645673

苹果App Store和iTunes曝出重大安全漏洞

≯℡__Kan透↙ 提交于 2021-02-19 03:45:07
最近安全专家在苹果公司的App Store和iTunes发票系统中发现了一个重大漏洞。攻击者利用该漏洞可以劫持会话,恶意操控发票。Vulnerability Lab的安全研究员Benjamin Kunz Mejri本周公布其发现的这个漏洞。该重大的注入缺陷是应用程序端输入验证web漏洞。该安全研究员在公告中表示,通过这个漏洞远程攻击者可以向存在缺陷的内容功能和服务模块中注入恶意脚本代码。  Mejri介绍表示攻击者可以利用该漏洞的方式是,更换恶意脚本代码,控制发票模块中的name值。如果该设备是在苹果店内购买的,后端就会利用name值将其编码添加操控条件,从而可以在发票发送给卖家之前生成发票。这样会导致的后果是在苹果发票中有应用程序端脚本代码执行。该漏洞的严重性评级为CVSS 5.8(通用脆弱性评级体系)。 此外网络攻击者还可以通过持续的操作环境与其他苹果应用商店用户的账号互动来控制这个漏洞,不管这些用户是发送方还是接收方都不会影响他们利用这个漏洞。该安全研究员表示,发票是提供给卖家和买家双方的,这会给买家、卖家或者苹果网页管理员/开发者带来很大的风险。 攻击者还能够利用这个漏洞来劫持用户会话,不断发起钓鱼攻击,创建链接到外部资源的持久重定向,操控被影响或相连的服务模块。 以下是概念验证视频,这名研究员还公开了利用这个安全漏洞的步骤。 Mejri

Java集合容器面试题(2020最新版)

会有一股神秘感。 提交于 2021-02-19 03:43:25
集合容器概述 什么是集合 集合框架 :用于存储数据的容器。 集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。 任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。 接口 :表示集合的抽象数据类型。接口允许我们操作集合时不必关注具体实现,从而达到“多态”。在面向对象编程语言中,接口通常用来形成规范。 实现 :集合接口的具体实现,是重用性很高的数据结构。 算法 :在一个实现了某个集合框架中的接口的对象身上完成某种有用的计算的方法,例如查找、排序等。这些算法通常是多态的,因为相同的方法可以在同一个接口被多个类实现时有不同的表现。事实上,算法是可复用的函数。 它减少了程序设计的辛劳。 集合框架通过提供有用的数据结构和算法使你能集中注意力于你的程序的重要部分上,而不是为了让程序能正常运转而将注意力于低层设计上。 通过这些在无关API之间的简易的互用性,使你免除了为改编对象或转换代码以便联合这些API而去写大量的代码。它提高了程序速度和质量。 集合的特点 集合的特点主要有如下两点: 1.对象封装数据,对象多了也需要存储。集合用于存储对象。 2.对象的个数确定可以使用数组,对象的个数不确定的可以用集合。因为集合是可变长度的。 集合和数组的区别 1.数组是固定长度的;集合可变长度的。 2.数组可以存储基本数据类型,也可以存储引用数据类型;集合只能存储引用数据类型。

VMware安装配置Centos7

孤街浪徒 提交于 2021-02-19 03:40:53
配置虚拟机 安装之前需要注意自己的电脑的bios是否设置支持虚拟化 要选择虚拟机里边Linux安装的位置,方便备份以及转移。 要选择NAT转换方式,一共有三种网络方式,分别是桥接网络,NAT网络和主机模式网络 配置好虚拟机参数,安装centos7之前要设置挂在的Centos7ISO映像文件位置 ,否则打开之后启动虚拟机之后无法找到Centos的镜像也就无法安装Linux了 安装配置Centos7 分配磁盘空间 分配磁盘空间需要分配三个挂载点 /boot:启动盘要大于200M /swap:交换分区一般大于2G即可 /:其余的分配给/就行 注意:/boot+/swap+/=分配给虚拟机磁盘的空间大小。在填写分区大小的时候不要写任何单位,系统会自带单位。 配置网络 ** 配置中英文键盘,方便切换** 安装图形化界面 一定要选择选择带有服务器的桌面 配置Root账号和密码 安装VMTools 将VMTools拷贝到/opt目录下 进入/opt目录下,解压 解压命令:tar -zvxf VMwareTools-10.3.21-14772444.tar.gz 安装命令:./vmware-install.pl 配置网络 首先要查看虚拟机配置的虚拟局域网的网络号,子网掩码和网关 要根据这三样来配置Linux的IP地址 centos7网络配置文件所在路径: Centos6:/etc

人人都是 API 设计者:我对 RESTful API、GraphQL、RPC API 的思考

烂漫一生 提交于 2021-02-19 03:35:02
有一段时间没怎么写文章了,今天提笔写一篇自己对 API 设计的思考。首先,为什么写这个话题呢?其一,我阅读了《阿里研究员谷朴:API 设计最佳实践的思考》一文后受益良多,前两天并转载了这篇文章也引发了广大读者的兴趣,我觉得我应该把我自己的思考整理成文与大家一起分享与碰撞。其二,我觉得我针对这个话题,可以半个小时之内搞定,争取在 1 点前关灯睡觉,哈哈。 现在,我们来一起探讨 API 的设计之道。我会抛出几个观点,欢迎探讨。 一、定义好的规范,已经成功了一大半 通常情况下,规范就是大家约定俗成的标准,如果大家都遵守这套标准,那么自然沟通成本大大降低。例如,大家都希望从阿里的规范上面学习,在自己的业务中也定义几个领域模型:VO、BO、DO、DTO。其中,DO(Data Object)与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。而 DTO(Data Transfer Object)是远程调用对象,它是 RPC 服务提供的领域模型。对于 BO(Business Object),它是业务逻辑层封装业务逻辑的对象,一般情况下,它是聚合了多个数据源的复合对象。那么,VO(View Object) 通常是请求处理层传输的对象,它通过 Spring 框架的转换后,往往是一个 JSON 对象。 事实上,阿里这种复杂的业务中如果不划分清楚 DO、BO、DTO、VO 的领域模型

VMware Workstation Pro建立虚拟机

南楼画角 提交于 2021-02-19 03:27:25
首先打开VMware Workstation Pro应用程序,右上角按钮新建虚拟机,出现此页面 下一步,选择Workstation 15.x 如上,下一步 如上。选择Linux以及Red Hat Enterprise Linux 8 64位 下一步 如上。可自由编辑虚拟机名以及安装路径 下一步 处理器内核数量建议为 2 下一步 2048内存 下一步 如上 下一步 如上,下一步 如上,下一步 如上,下一步 如上,最大磁盘大小20即可够用,下一步 如上,下一步 如上,完成 此时返回主页面,找到编辑虚拟机设置按钮 双击显示器 取消加速3D图形 选择指定监视器设置 监视器数量更改为1 最大分辨率更改为1024*768 返回 双击CD/DVD (SATA) 勾选启动时连接,勾选使用ISO映像文件 并且路径为使用指定的镜像文件 最后开启虚拟机 如上,下一步 如上,更改时区与时间,下一步 点击所在位置,下一步 如上,点击软件选择,下一步 如上,左边一栏为基础环境安装 图形安装 数据最小化安装等等 右边一栏为音乐 文件等安装软件 右边一栏根据你的所需勾选即可 这里不作勾选 如上,点击使得黄字消失返回到该菜单即可,下一步 如上 点击进去 打开如上按钮 如上 点击进入确认即可 无需操作 返回该菜单 点击开始安装 如上 建立root管理员 和创建用户名 如上 创建密码 如上 创建账号 密码

如何使用Serilog.AspNetCore记录ASP.NET Core3.0的MVC属性

你说的曾经没有我的故事 提交于 2021-02-19 03:23:27
https://www.cnblogs.com/yilezhu/p/12243984.html 这是Serilog系列的第三篇文章。 第1部分-使用Serilog RequestLogging减少日志详细程度 第2部分-使用Serilog记录所选的终结点属性 第3部分-使用Serilog.AspNetCore记录MVC属性(本文) 第4部分-从Serilog请求记录中排除运行状况检查端点 作者:依乐祝 译文地址: https://www.cnblogs.com/yilezhu/p/12243984.html 原文地址: https://andrewlock.net/using-serilog-aspnetcore-in-asp-net-core-3-logging-mvc-propertis-with-serilog/ 在我 上篇文章 中,我描述了如何配置Serilog的RequestLogging中间件以向Serilog的请求日志摘要中添加其他属性(例如请求主机名或选定的端点名称)。这些属性都在 HttpContext 中可用,因此可以由中间件本身直接添加。 其他属性,例如MVC特定的功能,像操作方法ID,RazorPages处理程序名称或ModelValidationState, 仅 在MVC上下文中可用,因此Serilog的中间件不能直接访问。 在本文中,我将展示如何创建

工作10年后,再看String s = new String("xyz") 创建了几个对象?

半世苍凉 提交于 2021-02-19 02:57:15
点击上方蓝色“ 方志朋 ”,选择“设为星标” 回复“ 666 ”获取独家整理的学习资料! 转自:艾小仙 这个问题相信每个学习java的同学都不陌生,作为一个经典的面试题,到现在工作这么多年了我真是认为挺操蛋的一个问题,在网上到现在你仍然可以看见很多讨论这个问题的人,其中不乏工作很多年的人都有争论,我认为还是有必要来说一说这个问题的。 从方法区说起 常量池存在于方法区,而方法区在jdk1.7版本前后改变比较大,所以还是先来说说方法区的演变。 在jdk1.7版本之前,常量池存在于方法区,方法区是堆的一个逻辑部分,他有一个名字叫做 非堆 。 1.7版本把字符串常量池放到了堆中。 而在1.8以后,则是移除了永久代,方法区概念保留,方法区的实现改为了元空间,常量池还是在堆中。 为什么要说方法区的改变,只是为了文章接下来的内容不会由于JDK的版本而产生分歧,接下来内容都会以jdk1.8版本作为基础来讨论。 String s = new String("xyz"); 先来一段代码 public class Test { public static void main (String[] args) { String s = "xyz" ; } } 接着我们javac编译代码,然后用javap来反编译,执行javap -c Test 从结果来看,ldc命令 在常量池中创建了一个"xyz"的对象