- vue3多个页面/组件,复用同一段render页面根据接口返回的数据动态渲染逻辑,使用setup+组合式API
十年 lius
vueweb前端前端render动态渲染页面
组件reusableComponent是可供多个组件复用的getData请求接口,render渲染数据importoperationServicefrom"@/views/operation/component/operationService.vue";constprops=defineProps({name:{type:String,default:"operation"}});const{n
- mongodb基本操作指令
王老实
mongodb
此文档基于mongodb4.4版本,记录一些mongodb的基本指令1.连接mongodb命令mongo--host192.168.0.10:27017--usernameroot--password1234mydb2.创建数据库命令(如果不存在会创建一个新的,存在会直接使用该数据库)usemydb13.创建用户命令db.createUser({user:"newusername",pwd:"ne
- linux下postgresql的连接数查看及管理
tiguer
数据库sql
1.查询当前连接数:selectcount(*)frompg_stat_activity;2.查询最大连接数showmax_connections;3.修改最大连接数SHOWconfig_file:查看postgresql.conf配置文件位置然后修改配置文件中max_connections=10244.重启服务servicepostgresqlrestart或者:pg_ctlrestart连接数
- File Transfer
AI是这个时代的魔法
测试工具网络
fromflaskimportFlask,request,send_from_directory,render_template_stringimportos,subprocessos.chdir(f'C:\\Users\\{os.getenv('username')}\\Desktop')app=Flask(__name__)UPLOAD_FOLDER='./uploads'app.config
- Vue3自适应布局实战:动态窗口高度适配与最小值限制的完美结合
内向的小农
vue.js前端javascript
副标题:从基础原理到el-table深度应用,手把手教你实现"屏幕无界,布局有度"的响应式方案一、核心知识点梳理响应式窗口高度监听•使用ref创建响应式变量windowHeight,通过window.addEventListener('resize')实时更新窗口高度•示例代码:constwindowHeight=ref(window.innerHeight);window.addEventLis
- 解决 N: Missing Signed-By in the sources.list(5) entry for ‘http://mirrors.cloud.aliyuncs.com/ubuntu‘
星夜钢琴手
Ubuntuapt-getaptapt-getupdate
如题,本文旨在解决N:MissingSigned-Byinthesources.list(5)entryfor'http://mirrors.cloud.aliyuncs.com/ubuntu'的报错问题。该报错出现于某次Ubuntu24.04.1LTS更新后,报错信息如图所示。参阅https://blog.csdn.net/qq_36433118/article/details/14332928
- 组件封装避坑指南:少写1000行重复代码的秘诀!
程序员小续
javascript前端reactjs前端框架excelvue
一、前端组件的分类前端组件可以按照功能、用途、通用性等不同维度进行分类,主要包括以下几类:1.按功能分类展示型组件(UI组件)只负责UI视图渲染,不涉及业务逻辑例如:按钮(Button)、输入框(Input)、表单(Form)、卡片(Card)等业务逻辑组件具有特定业务逻辑,通常和接口交互例如:用户列表(UserList)、订单管理(OrderTable)等功能组件(工具类组件)提供功能性封装,通
- Java中list详解
一个刚刚入水的小学员
java
Java中list的详解一、list二、list详解1)ArrayListArrayList的实现原理ArrayList的优缺点2)LinkedListLinkedList的实现原理LinkedList的优缺点3)VectorVector的实现原理Vector的优缺点4)三种list的使用一、list(1)List是接口,继承至Collection接口(Collection接口下还有个Queue接
- 【STL详解 —— map和set的使用】
Asher_qq
C++c++网络开发语言
STL详解——map和set的使用关联式容器键值对setset的介绍set的使用set的模板参数列表set的构造set的迭代器set的容量set的修改操作mapmap的介绍map的使用map的模板参数列表map的构造map的迭代器map的容量与元素访问map中元素的修改multisetmultimap关联式容器在初阶阶段,我们已经接触过STL中的部分容器,比如:vector、list、deque、
- 《Python基础教程》第2-4章笔记:列表和元组、字符串、字典
WalkingComputer
python笔记开发语言教程入门
《Python基础教程》第1章笔记https://blog.csdn.net/holeer/article/details/143052930目录第2章列表和元组2.1序列概述2.2通用的序列操作2.3列表:Python的主力2.3.1函数list2.3.2基本的列表操作2.3.3列表方法2.4元组:不可修改的序列第3章使用字符串3.2设置字符串的格式:精简版3.3设置字符串的格式:完整版3.3.
- Flutter 调用原生IOS接口
书弋江山
iosfluttercocoa
直接上代码有注释服务类import'package:flutter/services.dart';classTNativeChannel{staticconstmethChanal=MethodChannel("flutter_native");staticconsteventChanal=EventChannel("flutter_native_event");//获取ios版本信息static
- tools:制作根文件系统debian9
maze.ma
toolsdebianrootfs文件系统制作
首先你先新建一个用于mount的目录mkdir/debian9其次你需要保证主机上有debootstrap以及qemu-user-staticapt-get-yinstalldebootstrapqemu-user-static现在你需要dd命令去生成rootfs.img文件ddif=/dev/zeroof=rootfs.imgbs=1Mcount=1024dd命令的话。bs代表一次读入写入大小。
- qgis加载天地图
AllBlue
GISqgisgis
一、点击TileServer(XYZ),选择NewConnection二、在弹出的输入框中输入天地图的url此处以影像底图为例,url为http://t0.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles
- vscode setting.json 全局设置 工作区设置 位置 优先级
AllBlue
vscodevscodeide编辑器
vscode中setting.json有两种配置权限一、全局配置:setting.json文件位于C:\Users\Administrator\AppData\Roaming\Code\User\settings.json二、工作区配置:setting.json文件位于工作区的.vscode\settings.json当两种配置同时存在时,工作区配置的优先级高于全局配置。vscode如何打开set
- 链表的插入排序 Linked List Insertion Sort
清风无情446
链表list数据结构
一、插入排序Insertionsort插入排序很像玩扑克牌中整理手牌的过程,从第二个数开始依次比较其与前面所用数据的大小,直到找到其需要在的位置。当从第二个数据遍历到最后一个数据之后就完成了整个数组的排序。voidInsertionSort(intarr[],intn){for(inti=0;i=0;j--){//将比temp大的数依次向后移动一位arr[j+1]=arr[j];}//将temp插
- LeetCode-04:实现链表的插入排序
qq_46993700
LeetCode插入排序链表leetcode
题目使用插入排序对链表进行排序。Sortalinkedlistusinginsertionsort.输入{3,2,4}输出{2,3,4}思路1、若要实现插入排序,则需要先明白插入排序的原理。通俗讲便是将一个无序的数组(链表)插入有序的数组(链表)中,详细做法为:将无序数组的第一个元素切割出来作为有序数组的第一个元素,再将无序数组的第二个元素切割出来插入有序数组的相应位置,再将…,直至切割完整个无序
- 【QT】-易错点笔记-2025-2-7
追心嵌入式
qt笔记开发语言
1,QListpList;为空不能append()追加,要先new,再用QListpList为空时,确实不能调用append()方法。原因很简单,QList是一个类对象,在C++中,指针本身并不代表它指向的对象。因此,当你有一个指向QList类型的指针时,必须确保它指向一个有效的QList实例。关键问题:如果pList是nullptr(空指针),那么你尝试调用append()时,程序会崩溃,因为n
- Service 无法访问后端 Pod,如何逐步定位问题
沉默的八哥
运维运维kubernetes
Service无法访问后端Pod的逐步排查指南一、基础信息确认检查Service和Pod是否在相同Namespacekubectlgetsvc-n #确认ServiceNamespacekubectlgetpods-n #确认Pod是否存在验证Pod是否处于Running状态kubectlgetpods-n--show-labels #检查Pod状态和标签ku
- Java高频面试之集合-03
牛马baby
java面试开发语言
hello啊,各位观众姥爷们!!!本baby今天来报道了!哈哈哈哈哈嗝面试官:说说ArrayList和LinkedList的区别ArrayList与LinkedList的详细对比一、底层数据结构特性ArrayListLinkedList存储结构基于动态数组基于双向链表内存分配连续内存块非连续内存,节点分散存储元素访问通过索引直接寻址(时间复杂度O(1))需要遍历链表(时间复杂度O(n))插入/删除
- svn 通过127.0.01能访问 但通过公网IP不能访问,这是什么原因?
行思理
运维Linuxsvnlinux防火墙
连接失败的提示如下1、SVN的启动方法方法一:svnserve-d-r/mnt/svn方法二:svnserve-d--listen-port3690-r/mnt/svn方法三:svnserve-d-r/mnt/svn--listen-host0.0.0.02、首先检查svn服务器是否启动方法一:netstat-tunlp|grepsvn演示如下如上状态,说明已启动方法二:svnserve--ver
- selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate elemen
挽风821
软件测试selenium测试工具
报错原因:页面还没加载完,就开始找元素了使用time.sleep()等待几秒就可以了#创建ChromeWebDriverdriver=webdriver.Chrome(service=Service('D:\ProgramFiles\python\python3.10.0\chromedriver.exe'),options=chrome_options)driver.maximize_windo
- 云计算与边缘计算大白话(●一●)
Jodie大白话
云计算docker云原生微服务容器kubernetes
目录一、云计算和云原生概念1.1云计算1.2云原生二、云计算四个层次2.1IaaS(InfrastructureasaService)2.2PaaS(PlatformasaService)2.3SaaS(SoftwareasaService)2.4DaaS(DataasaService)三、云原生关键技术3.1Docker3.2Kubernetes3.3微服务3.4DevOps四、边缘计算和边缘设
- 一键删除“.svn”文件的方法
Allen.ge
svnmac
MAC系统下删除目录下的“.svn”文件的方法1、打开终端2、cd指定的目录(例如:cd/Users/rin/Documents/llapp/LLPetsYbyb)再回车3、输入:find.-name".svn"|xargsrm-Rf再回车即可删除LLPetsYbyb目录下,所有文件件二级..N级文件夹里的“.svn”文件PS:此方法也适用于删除其它隐藏文件)例如:发现.git文件find.-na
- CSS - 妙用Sass
Xxxxxl17
csssass前端
官方文档:https://www.sass.hk/docs/1.例1:@each$themein$themeList{$themeKey:map-get($theme,'key');@mediascreenand(weex-theme:$themeKey){.btnText{max-width:150px;@includefont(map-get($theme,'medFont'),map-get
- K8s 1.27.1 实战系列(五)Namespace
白昼ron
K8skubernetes容器K8sNamespace命名空间yamlns
Kubernetes1.27.1中的Namespace(命名空间)是集群中实现多租户资源隔离的核心机制。以下从功能、操作、配置及实践角度进行详细解析:一、核心功能与特性1、资源隔离Namespace将集群资源划分为逻辑组,实现Pod、Service、Deployment等资源的虚拟隔离。例如,开发环境与生产环境的资源可独立管理,避免相互干扰。非完全隔离性:默认仅逻辑隔离,网络和存储仍互通,需通过N
- [Python入门学习记录(小甲鱼)]第4章 分支与循环
LIN-JUN-WEI
python学习开发语言嵌入式硬件单片机
第4章分支和循环讲些条件语句和循环语句4.1完整条件语句ifx>1:print(1)elifxstopstep0forxinrange(10)print(x)#打印0-9加上list()会像列表一下展示print(list(range(0,-10,-1)))#[0,-1,-2,-3,-4,-5,-6,-7,-8,-9]4.6break语句就一样,跳出这整个循环fornuminrange(1,11)
- 修改mysql数据库远程访问
LongtengGensSupreme
mysql
本文是docker部署的mysql8.0数据库,如果不是docker二部署的,则省略第一步直接使用下面修改即可1、使用docker容器,进入mysql8.0数据库的docker容器进行修改dockerexec-itmysqldocker/bin/bash2、登录MySQLmysql-uroot-p进入`mysql数据库:usemysql;修改user表中的host字段,将localhost改为%(
- 如何规避反爬虫机制
Jason-河山
爬虫
在面对网站的反爬虫机制时,尤其是像eBay这样有严格反爬措施的平台,你可以采取以下几种策略来应对:1.伪装请求头(User-Agent)许多网站会通过检查HTTP请求头中的User-Agent字段来判断请求是否来自浏览器。默认情况下,爬虫发送的请求头可能包含明显的标识(如“Python”或“PHP”),这很容易被识别为爬虫行为。解决方法:设置一个常见的浏览器User-Agent值来伪装爬虫请求。可
- k8s service type_RabbitMQ(k8s)-随手笔记
weixin_39873325
k8sservicetype
介绍基于Erlang开发消息队列(AMQP)在分布式系统中,有一些功能我们希望能够提高系统稳定性,比如说支付、订单功能,服务后移,长时间操作的功能,同步数据我们通过监听数据变化实现功能联动特点分布式各节点互相冗余元数据(erlang.cookie,队列、交换机、绑定元数据、vhost元数据)实现分布式集群(类似于session),通过转发达到集群任意节点进入都是集群主节点可以任意增加节点实现集群水
- 奶妈级别 芋道源码 ruoyi-vue3-pro 视频、图片批量上传组件,复制即可用!!
William Dawson
element-plusvue.js
批量上传图片组件请上传图片-->查看删除importtype{UploadFile,UploadProps,UploadUserFile}from'element-plus'import{ElNotification}from'element-plus'import{createImageViewer}from'@/components/ImageViewer'import{propTypes}f
- web前段跨域nginx代理配置
刘正强
nginxcmsWeb
nginx代理配置可参考server部分
server {
listen 80;
server_name localhost;
- spring学习笔记
caoyong
spring
一、概述
a>、核心技术 : IOC与AOP
b>、开发为什么需要面向接口而不是实现
接口降低一个组件与整个系统的藕合程度,当该组件不满足系统需求时,可以很容易的将该组件从系统中替换掉,而不会对整个系统产生大的影响
c>、面向接口编口编程的难点在于如何对接口进行初始化,(使用工厂设计模式)
- Eclipse打开workspace提示工作空间不可用
0624chenhong
eclipse
做项目的时候,难免会用到整个团队的代码,或者上一任同事创建的workspace,
1.电脑切换账号后,Eclipse打开时,会提示Eclipse对应的目录锁定,无法访问,根据提示,找到对应目录,G:\eclipse\configuration\org.eclipse.osgi\.manager,其中文件.fileTableLock提示被锁定。
解决办法,删掉.fileTableLock文件,重
- Javascript 面向对面写法的必要性?
一炮送你回车库
JavaScript
现在Javascript面向对象的方式来写页面很流行,什么纯javascript的mvc框架都出来了:ember
这是javascript层的mvc框架哦,不是j2ee的mvc框架
我想说的是,javascript本来就不是一门面向对象的语言,用它写出来的面向对象的程序,本身就有些别扭,很多人提到js的面向对象首先提的是:复用性。那么我请问你写的js里有多少是可以复用的,用fu
- js array对象的迭代方法
换个号韩国红果果
array
1.forEach 该方法接受一个函数作为参数, 对数组中的每个元素
使用该函数 return 语句失效
function square(num) {
print(num, num * num);
}
var nums = [1,2,3,4,5,6,7,8,9,10];
nums.forEach(square);
2.every 该方法接受一个返回值为布尔类型
- 对Hibernate缓存机制的理解
归来朝歌
session一级缓存对象持久化
在hibernate中session一级缓存机制中,有这么一种情况:
问题描述:我需要new一个对象,对它的几个字段赋值,但是有一些属性并没有进行赋值,然后调用
session.save()方法,在提交事务后,会出现这样的情况:
1:在数据库中有默认属性的字段的值为空
2:既然是持久化对象,为什么在最后对象拿不到默认属性的值?
通过调试后解决方案如下:
对于问题一,如你在数据库里设置了
- WebService调用错误合集
darkranger
webservice
Java.Lang.NoClassDefFoundError: Org/Apache/Commons/Discovery/Tools/DiscoverSingleton
调用接口出错,
一个简单的WebService
import org.apache.axis.client.Call;import org.apache.axis.client.Service;
首先必不可
- JSP和Servlet的中文乱码处理
aijuans
Java Web
JSP和Servlet的中文乱码处理
前几天学习了JSP和Servlet中有关中文乱码的一些问题,写成了博客,今天进行更新一下。应该是可以解决日常的乱码问题了。现在作以下总结希望对需要的人有所帮助。我也是刚学,所以有不足之处希望谅解。
一、表单提交时出现乱码:
在进行表单提交的时候,经常提交一些中文,自然就避免不了出现中文乱码的情况,对于表单来说有两种提交方式:get和post提交方式。所以
- 面试经典六问
atongyeye
工作面试
题记:因为我不善沟通,所以在面试中经常碰壁,看了网上太多面试宝典,基本上不太靠谱。只好自己总结,并试着根据最近工作情况完成个人答案。以备不时之需。
以下是人事了解应聘者情况的最典型的六个问题:
1 简单自我介绍
关于这个问题,主要为了弄清两件事,一是了解应聘者的背景,二是应聘者将这些背景信息组织成合适语言的能力。
我的回答:(针对技术面试回答,如果是人事面试,可以就掌
- contentResolver.query()参数详解
百合不是茶
androidquery()详解
收藏csdn的博客,介绍的比较详细,新手值得一看 1.获取联系人姓名
一个简单的例子,这个函数获取设备上所有的联系人ID和联系人NAME。
[java]
view plain
copy
public void fetchAllContacts() {
- ora-00054:resource busy and acquire with nowait specified解决方法
bijian1013
oracle数据库killnowait
当某个数据库用户在数据库中插入、更新、删除一个表的数据,或者增加一个表的主键时或者表的索引时,常常会出现ora-00054:resource busy and acquire with nowait specified这样的错误。主要是因为有事务正在执行(或者事务已经被锁),所有导致执行不成功。
1.下面的语句
- web 开发乱码
征客丶
springWeb
以下前端都是 utf-8 字符集编码
一、后台接收
1.1、 get 请求乱码
get 请求中,请求参数在请求头中;
乱码解决方法:
a、通过在web 服务器中配置编码格式:tomcat 中,在 Connector 中添加URIEncoding="UTF-8";
1.2、post 请求乱码
post 请求中,请求参数分两部份,
1.2.1、url?参数,
- 【Spark十六】: Spark SQL第二部分数据源和注册表的几种方式
bit1129
spark
Spark SQL数据源和表的Schema
case class
apply schema
parquet
json
JSON数据源 准备源数据
{"name":"Jack", "age": 12, "addr":{"city":"beijing&
- JVM学习之:调优总结 -Xms -Xmx -Xmn -Xss
BlueSkator
-Xss-Xmn-Xms-Xmx
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:
java -Xmx355
- jqGrid 各种参数 详解(转帖)
BreakingBad
jqGrid
jqGrid 各种参数 详解 分类:
源代码分享
个人随笔请勿参考
解决开发问题 2012-05-09 20:29 84282人阅读
评论(22)
收藏
举报
jquery
服务器
parameters
function
ajax
string
- 读《研磨设计模式》-代码笔记-代理模式-Proxy
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
/*
* 下面
- 应用升级iOS8中遇到的一些问题
chenhbc
ios8升级iOS8
1、很奇怪的问题,登录界面,有一个判断,如果不存在某个值,则跳转到设置界面,ios8之前的系统都可以正常跳转,iOS8中代码已经执行到下一个界面了,但界面并没有跳转过去,而且这个值如果设置过的话,也是可以正常跳转过去的,这个问题纠结了两天多,之前的判断我是在
-(void)viewWillAppear:(BOOL)animated
中写的,最终的解决办法是把判断写在
-(void
- 工作流与自组织的关系?
comsci
设计模式工作
目前的工作流系统中的节点及其相互之间的连接是事先根据管理的实际需要而绘制好的,这种固定的模式在实际的运用中会受到很多限制,特别是节点之间的依存关系是固定的,节点的处理不考虑到流程整体的运行情况,细节和整体间的关系是脱节的,那么我们提出一个新的观点,一个流程是否可以通过节点的自组织运动来自动生成呢?这种流程有什么实际意义呢?
这里有篇论文,摘要是:“针对网格中的服务
- Oracle11.2新特性之INSERT提示IGNORE_ROW_ON_DUPKEY_INDEX
daizj
oracle
insert提示IGNORE_ROW_ON_DUPKEY_INDEX
转自:http://space.itpub.net/18922393/viewspace-752123
在 insert into tablea ...select * from tableb中,如果存在唯一约束,会导致整个insert操作失败。使用IGNORE_ROW_ON_DUPKEY_INDEX提示,会忽略唯一
- 二叉树:堆
dieslrae
二叉树
这里说的堆其实是一个完全二叉树,每个节点都不小于自己的子节点,不要跟jvm的堆搞混了.由于是完全二叉树,可以用数组来构建.用数组构建树的规则很简单:
一个节点的父节点下标为: (当前下标 - 1)/2
一个节点的左节点下标为: 当前下标 * 2 + 1
&
- C语言学习八结构体
dcj3sjt126com
c
为什么需要结构体,看代码
# include <stdio.h>
struct Student //定义一个学生类型,里面有age, score, sex, 然后可以定义这个类型的变量
{
int age;
float score;
char sex;
}
int main(void)
{
struct Student st = {80, 66.6,
- centos安装golang
dcj3sjt126com
centos
#在国内镜像下载二进制包
wget -c http://www.golangtc.com/static/go/go1.4.1.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.4.1.linux-amd64.tar.gz
#把golang的bin目录加入全局环境变量
cat >>/etc/profile<
- 10.性能优化-监控-MySQL慢查询
frank1234
性能优化MySQL慢查询
1.记录慢查询配置
show variables where variable_name like 'slow%' ; --查看默认日志路径
查询结果:--不用的机器可能不同
slow_query_log_file=/var/lib/mysql/centos-slow.log
修改mysqld配置文件:/usr /my.cnf[一般在/etc/my.cnf,本机在/user/my.cn
- Java父类取得子类类名
happyqing
javathis父类子类类名
在继承关系中,不管父类还是子类,这些类里面的this都代表了最终new出来的那个类的实例对象,所以在父类中你可以用this获取到子类的信息!
package com.urthinker.module.test;
import org.junit.Test;
abstract class BaseDao<T> {
public void
- Spring3.2新注解@ControllerAdvice
jinnianshilongnian
@Controller
@ControllerAdvice,是spring3.2提供的新注解,从名字上可以看出大体意思是控制器增强。让我们先看看@ControllerAdvice的实现:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface Co
- Java spring mvc多数据源配置
liuxihope
spring
转自:http://www.itpub.net/thread-1906608-1-1.html
1、首先配置两个数据库
<bean id="dataSourceA" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close&quo
- 第12章 Ajax(下)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- BW / Universe Mappings
blueoxygen
BO
BW Element
OLAP Universe Element
Cube Dimension
Class
Charateristic
A class with dimension and detail objects (Detail objects for key and desription)
Hi
- Java开发熟手该当心的11个错误
tomcat_oracle
java多线程工作单元测试
#1、不在属性文件或XML文件中外化配置属性。比如,没有把批处理使用的线程数设置成可在属性文件中配置。你的批处理程序无论在DEV环境中,还是UAT(用户验收
测试)环境中,都可以顺畅无阻地运行,但是一旦部署在PROD 上,把它作为多线程程序处理更大的数据集时,就会抛出IOException,原因可能是JDBC驱动版本不同,也可能是#2中讨论的问题。如果线程数目 可以在属性文件中配置,那么使它成为
- 推行国产操作系统的优劣
yananay
windowslinux国产操作系统
最近刮起了一股风,就是去“国外货”。从应用程序开始,到基础的系统,数据库,现在已经刮到操作系统了。原因就是“棱镜计划”,使我们终于认识到了国外货的危害,开始重视起了信息安全。操作系统是计算机的灵魂。既然是灵魂,为了信息安全,那我们就自然要使用和推行国货。可是,一味地推行,是否就一定正确呢?
先说说信息安全。其实从很早以来大家就在讨论信息安全。很多年以前,就据传某世界级的网络设备制造商生产的交