- R语言学习笔记—删除对象
w1149033842
R语言
1.删除环境中的对象Arm(A)2.删除环境中的所有对象rm(list=is())3.删除除了A和B以外的所有对象allobj<-is()rm(list=allobj[which(allobj!="A"&allobj!="B")])
- R语言开发记录,一
[email protected]
R语言r语言开发语言
1.清理环境rm(list=ls())gc()rm(list=ls())作用:删除当前R工作环境中所有的对象(变量、函数、数据框等)。解释:ls():列出当前环境中所有对象的名字。list=ls():将这些名字作为一个列表传给rm()函数。rm():移除这些对象。效果:相当于“清空内存”,让工作空间恢复到干净状态。gc()作用:手动触发垃圾回收(garbagecollection)。效果:释放R不
- 在Ubuntu系统中更改镜像源【笔记】
AnsonNie
Ubuntu笔记服务器ubuntu笔记linux
这里以华为镜像源为例,其他配置类似。以下是具体步骤和示例代码:1.打开终端。2.备份镜像源源文件。sudocp/etc/apt/sources.list/etc/apt/sources.list.bak3.注释掉原有的源地址(在每一行前加上#)。4.在文件中添加华为镜像源地址。以Ubuntu20.04为例,可以添加以下内容:sudovim/etc/apt/sources.listdebhttp:/
- Ubuntu18.04中默认的软件源sources.list
AlwaysSimple
ubuntu
文件位置:etc/apt/sources.list#debcdrom:[Ubuntu18.04.3LTS_BionicBeaver_-Releaseamd64(20190805)]/bionicmainrestricted#Seehttp://help.ubuntu.com/community/UpgradeNotesforhowtoupgradeto#newerversionsofthedist
- bean注入的过程中,Property of ‘java.util.ArrayList‘ type cannot be injected by ‘List‘
一、问题在spring实践bean注入ArrayList属性的时候报错:Propertyof‘java.util.ArrayList’typecannotbeinjectedby‘List’二、原因分析在尝试将Spring配置中的注入到一个ArrayList类型的属性时出现了类型不匹配问题。核心问题在于:Spring的标签创建的是java.util.LinkedList,而属性声明为java.ut
- STM32CubeMX配置与CMake路径优化指南
少司命@
vscodestm32ide
使用过STM32CubeMX的都知道,它可以根据你的配置直接生成代码,但是当你下次想要进行修改的时候,如果你之前写的代码位置不对,那么可能就不复存在了,文件路径也是如此,CMakeLists.txt文件在工程目录就是用来设置路径的,如果没能设置好,那编译器就无法找到文件,就会报一堆错误,正常环境配置好后只有一个CMakeLists.txt文件,但是我这个有俩,如下所示:我之前每次都把文件加在stm
- 【Java基础】Java集合遍历方式
前言在Java编程中,集合(Collection)是存储和操作对象的核心工具。遍历集合是开发者最频繁的操作之一,但不同场景下选择合适的遍历方式至关重要。一、基础遍历方式1.基本for循环适用场景:仅适用于List等有序集合(如ArrayList、LinkedList)。核心思路:通过索引直接访问元素。特点:优点:索引操作灵活,适合需频繁访问索引的场景(如修改元素位置)。缺点:代码冗余,无法遍历Se
- java对集合遍历的四种方式
程序员大腾
JAVAjava开发语言数据结构
目录文章目录目录1.背景2.添加集合3.遍历集合3.1普通循环遍历3.2迭代器遍历3.3增强for遍历(foreach)3.4list.forEach4.总结1.背景目前大四学生,找了一个实习工作。在学习工作当中遇到有些问题就记录下来吧。这篇文章记录了一下对集合遍历操作的基本方式。2.添加集合Listlist=newArrayListitr=list.iterator();while(itr.ha
- Java中List集合的遍历
Karson Tiger
Javajavalist
一、序言List集合在Java日常开发中是必不可少的,只要懂得运用各种各样的方法就可以大大提高我们开发的效率,适当活用各种方法才会使我们开发事半功倍。本文总结了三种List集合的遍历方式,下面将依次进行介绍。二、遍历方式进行遍历前,需要有一个实体类以供遍历使用,参见“三、实体类”;2.1for循环指定下标长度,使用List集合的size()方法,进行for循环遍历,这种遍历方式最基础;import
- 【java】list集合遍历的5种方式
IT_Most
java集合java
平凡也就两个字:懒和惰;成功也就两个字:苦和勤;优秀也就两个字:你和我。跟着我从0学习JAVA、spring全家桶和linux运维等知识,带你从懵懂少年走向人生巅峰,迎娶白富美!关注微信公众号【IT特靠谱】,每天都会分享技术心得~【java】list集合遍历的5种方式List集合在Java日常开发中是非常常见的,快速选择合适的遍历方式能极大提高我们的开发效率。下面我总结了五种List集合的遍历方式
- 1.1 python中定义变量与数据类型
乏眸
python
一、定义变量1.定义变量语法:变量名=值2.使用变量3.看变量的特点#定义变量:存储数据TOMmy_name='TOM'print(my_name)#定义变量:存储数据SerendipityschoolName='Serendipity'print(schoolName)二、数据类型数值:int(整型),float(浮点型)布尔型:true(真),false(假)str(字符串),list(列表)
- Linux安装JDK详细教程
1、yum安装1.1查看JDK版本,找到你想要安装的JDK版本,这里以JDK1.8为例输入命令:yum-ylistjava*若出现以下内容:解决办法:在安装完CentOS后一般需要修改yum源,才能够在安装更新rpm包时获得比较理想的速度。cd/etc/yum.repos.d备份原始的yum源配置文件在CentOS7系统中,yum源的主要配置文件是/etc/yum.repos.d/CentOS-B
- vue鼠标右键自定义菜单_vue添加自定义右键菜单的完整实例
王希亚
vue鼠标右键自定义菜单
一、写原生方法1.在所编辑的页面,需要添加右键菜单的元素,绑定contextmenu事件,如下:v-for="iteminresourceList":key="item.id"@click="handleClickFolder(item)"@contextmenu.prevent="openMenu($event,item)">...2.在页面编写右键菜单内容:内容3.在data()中定义需要的变
- debian杂项
两斤半
Linuxdebian
移除非Debian软件包aptlist'?narrow(?installed,?not(?origin(Debian)))'清理配置文件残留find/etc-name'*.dpkg-*'-o-name'*.ucf-*'-o-name'*.merge-error'清理已删除的软件包#显示列表aptlist'~c'#清理aptpurge'~c'过时的软件包#显示列表aptlist'~o'#清理aptp
- no permissions (missing udev rules? user is in the plugdev group)
两斤半
UbuntuAndroidadb
adbdevice错误信息$adbdevicesListofdevicesattached*nopermissions(missingudevrules?userisintheplugdevgroup);see[http://developer.android.com/tools/device.html]解决方法查看设备供应商ID和产品ID$lsusbBus002Device001:ID1d6b:
- Android-NDK的linux交叉编译环境
qq_33955482
嵌入式Androidandroid
NDK工具包下载NDK下载|AndroidNDK|AndroidDevelopershttps://github.com/android/ndk/wiki/Unsupported-Downloads以android-ndk-r26c下载为例,下载后将压缩包解压至/usr目录下CMakeLists编译选项设置编译平台变量判断条件中增加一下android条件下CMake的变量CMAKE_MINIMUM
- List中的对象进行排序处理
以下是使用JavaStream对对象列表按id和age排序的完整示例,包含升序和降序两种场景:1.定义测试对象类@Getter@SetterpublicclassPerson{privateintid;privateintage;}2.排序实现代码importjava.util.*;importjava.util.stream.Collectors;publicclassStreamSortExa
- CMake学习笔记
Ethan@LM
学习笔记c++
第1章cmake的基础命令1.1基础命令cmake-S-B-S:指定源码目录(CMakeLists.txt所在目录)。-B:指定构建目录(即输出目录)。1.2指定编译器和编译选项-DCMAKE_C_COMPILER=设置C语言编译器的路径。-DCMAKE_CXX_COMPILER=设置C++编译器的路径。-DCMAKE_C_FLAGS="-g"设置C语言编译标志(例如调试信息)。-DCMAKE_C
- Dubbo RPC 序列化问题记录
单线程的Daniel
JAVAdubborpcwindows
DubboRPC序列化问题:List.of()导致的“Failtodecoderequest”错误问题背景在开发过程中,遇到了一个DubboRPC调用失败的问题。当在请求参数中设置revises字段时,会出现以下错误:com.alibaba.dubbo.rpc.RpcException:FailedtoinvokethemethodjobSearchintheservicecom.techwolf
- BM6 判断链表中是否有环(牛客)
杰克尼
数据结构与算法(Java牛客面试刷题)链表算法数据结构
题目链接判断链表中是否有环_牛客题霸_牛客网题目解题思路法一哈希表(使用HashSet存储出现的指针,如果在此出现说明存在环)法二快慢指针(若快指针追上慢指针,说明存在环)代码法一哈希表importjava.util.*;/***Definitionforsingly-linkedlist.*classListNode{*intval;*ListNodenext;*ListNode(intx){*
- RabbitMQ高级特性-重试机制
。。。。。。。。~
rabbitmq分布式
注:只有在auto确认的情况下有用引入:在消息传递过程中,可能会遇到各种问题,如⽹络故障,服务不可⽤,资源不⾜等,这些问题可能导致消息处理失败.为了解决这些问题,RabbitMQ提供了重试机制,允许消息在处理失败后重新发送.但如果是程序逻辑引起的错误,那么多次重试也是没有⽤的,可以设置重试次数重试配置spring:rabbitmq:addresses:listener:simple:acknowl
- RabbitMQ之监听和@RabbitListener解析
YDXD_C
java-rabbitmqrabbitmqjava
为什么生产者需要创建RabbitTemplate这么一个Bean才能发送消息,而监听却只需要加一个@RabbitListener注解即可首先,我们需要回顾在不使用SpringBoot时是怎样使用rabbitmq发送和接受消息的生产者实现:publicvoidtestSendMessage()throwsIOException,TimeoutException{//1.建立连接ConnectionF
- uniapp实现路由拦截
小明在码鱼
uni-app笔记javascript前端html
使用uni官方提供的拦截器uni.addInterceptor实现在用户未登录的情况下,拦截其访问需要登录权限的页面,并将其重定向到登录页面。1.创建拦截器函数//src/composables/interceptor.js//页面白名单,不受拦截constwhiteList=['/pages/login/login']functionhasPermission(url){//获取本地缓存的登录信
- Python训练营-Day3
DAY3列表、循环和判断语句题目1:列表的基础操作题目:1.创建一个包含三个字符串元素的列表tech_list,元素分别为“Python”,“Java”,“Go”。2.获取列表中的第一个元素,并将其存储在变量first_tech中。3.向tech_list的末尾添加一个新的字符串元素“JavaScript”。4.修改tech_list中的第二个元素(索引为1),将其从“Java”更改为“Ruby”
- python 海象运算符_python := 海象运算符
伶邪
python海象运算符
最近在做算法题越来越发现python写法真的挺好用的记下来map(lambdax:sum(x))中lambda代表匿名函数re.findall(r'0+|1+',s)是正则表达式:=海象运算符转if(n:=len(a))>10:print(f"Lististoolong({n}elements,expected10:print(f"Lististolong({len(a)}elements,exp
- 想快速处理元素?想将一个List快速转为另一个List或Map?Stream流轻松帮你搞定!
头发那是一根不剩了
java
Java8API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据,它提供了非常强大Java集合运算和表达的高阶抽象。这种风格将要处理的元素集合看作一种流,流在管道中传输,并且可以在管道的节点上进行处理,可以把它看成一个工厂,流水线的形式(假如是玩具厂)。在这个流水线上,工人们对每个过来的玩具,进行处理,比如筛选、组装等。StreamAPI可以极大提高Java程序员的生产力,省
- 7.3_JAVA_八股文_Redis
灰太狼Coding
redis数据库缓存
1、存储类型:String(缓存)、List(消息队列)、Hash、Set聚合计算(唯一,无序,不可重复)点赞(防止重复,因为set唯一)、共同关注(聚合)、抽奖活动(唯一)、ZSet(排行榜)2、Zset:元素少、每个元素小用压缩列表3、跳表内部:每个节点随机生成一个0-1的随机数,<0.25就
- java中http调用接口 传参为form-data
洋:Y
springbootjavahttpservlet
直接上代码@OverridepublicJSONObjectgetCameraList(intcurrent,intsize,Stringcode,Stringname)throwsIOException{DefaultHttpClientclient=newDefaultHttpClient();MultipartEntityBuilderbuilder=MultipartEntityBuild
- LeetCode 206. 反转链表
Tanecious.
刷题笔记leetcode链表算法
反转列表206.反转链表解法一解法二206.反转链表题目链接:206.反转链表-力扣(LeetCode)题目描述:给你单链表的头节点head,请你反转链表,并返回反转后的链表。解法一/***Definitionforsingly-linkedlist.*structListNode{*intval;*structListNode*next;*};*/typedefstructListNodeLis
- MySQL八股学习总览-from 小林coding
c++终结者
mysql学习数据库
MySQL八股学习总览-from小林codingMySql执行流程连接MySQL服务器查询缓存解析SQL执行SQL预处理器优化器执行器MySql执行流程连接MySQL服务器经过如下的命令,就可以与MySQL服务器建立起连接,三次握手mysql-h$ip-u$user-p服务端查询多少个客户端连接showprocesslistMySQL的连接是长连接,MySQL定义了空闲连接的最大空闲时长,由wai
- 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国产操作系统
最近刮起了一股风,就是去“国外货”。从应用程序开始,到基础的系统,数据库,现在已经刮到操作系统了。原因就是“棱镜计划”,使我们终于认识到了国外货的危害,开始重视起了信息安全。操作系统是计算机的灵魂。既然是灵魂,为了信息安全,那我们就自然要使用和推行国货。可是,一味地推行,是否就一定正确呢?
先说说信息安全。其实从很早以来大家就在讨论信息安全。很多年以前,就据传某世界级的网络设备制造商生产的交