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

达梦7中数据库审计的使用

文章目录

  • 前言
  • 一、DM系统管理员
  • 二、审计开关
    • 2.1 审计的相关参数
    • 2.2 打开审计功能
  • 三、审计级别
    • 3.1语句级审计
      • 3.1.1 设置语句级审计
      • 3.1.2 取消语句级审计
    • 3.2 对象级审计
      • 3.2.1 设置对象级审计
      • 3.2.2 取消对象级审计
    • 3.3 语句序列审计
      • 3.3.1 建立语句序列审计
      • 3.3.2 删除语句序列审计
  • 四 审计文件管理
  • 五 审计信息查阅
  • 六 其他


前言

数据库审计主要用于监视并记录对数据库服务器的各类操作行为,并记入审计日志或数据库中以便日后进行跟踪、查询、分析,以实现对用户操作的监控和审计。审计是一项非常重要的工作,也是数据安全体系的重要组成部分。

本文使用的数据库版本为DM7。


一、DM系统管理员

为了保证数据库系统的安全性,DM 数据库采用“三权分立”或“四权分立”的安全机制,“三权分立”时系统内置三种系统管理员,包括数据库管理员、数据库安全员和数据库审计员,四权分立”时新增了一类用户,称为数据库对象操作员。它们各司其职,互相制约,有效地避免了将所有权限集中于一人的风险,保证了系统的安全性。

数据库管理员(DBA)、数据库安全员(SSO)、数据库审计员(AUDITOR)、数据库对象操作员(DBO)。

数据库审计中使用的是数据库审计员(AUDITOR)。
数据库审计员可以设置要审计的对象和操作、定义新的数据库审计员、查看和分析审计记录。通过设置审计,几乎可以跟踪任何人在系统内执行的任何操作,为事后追查提供便利。

二、审计开关

2.1 审计的相关参数

参数名缺省值属性说明
ENABLE_AUDIT0动态,系统级审计开关,0:关闭;1:打开普通审计;2 打开普通审计和实时审计
AUDIT_FILE_FULL_MODE1静态审计文件满后的处理方式,1:删除文件;2:不删除文件,也不添加审计记录
AUDIT_MAX_FILE_SIZE100动态,系统级审计文件的最大大小,以兆为单位。有效值范围(1~4096)

2.2 打开审计功能

使用SYSDBA账号

代码如下(示例):

----打开审计功能
SQL> sp_set_para_value(1,'ENABLE_AUDIT',1);----查看审计状态
SELECT * FROM V$DM_INI WHERE PARA_NAME='ENABLE_AUDIT';

三、审计级别

数据库审计员指定被审计对象的活动称为审计设置,只有具有 AUDIT DATABASE 权限的审计员才能进行审计设置。DM 提供审计设置系统过程来实现这种设置,被审计的对象可以是某类操作,也可以是某些用户在数据库中的全部行踪。只有预先设置的操作和用户才能被 DM 系统自动进行审计。

DM 允许在三个级别上进行审计设置:

审计级别说明
系统级系统的启动与关闭,此级别的审计无法也无需由用户进行设置,只要审计开关打开就会自动生成对应审计记录
语句级导致影响特定类型数据库对象的特殊 SQL 或语句组的审计。如 AUDIT TABLE 将审计 CREATE TABLE、ALTER TABLE 和 DROP TABLE 等语句
对象级审计作用在特殊对象上的语句。如 test 表上的 INSERT 语句

审计设置存放于 DM 字典表 SYSAUDIT 中,进行一次审计设置就在 SYSAUDIT 中增加一条对应的记录,取消审计则删除 SYSAUDIT 中相应的记录。

3.1语句级审计

语句级审计的动作是全局的,不对应具体的数据库对象。

审计选项审计的数据库操作说明
ALL所有的语句级审计选项所有可审计操作
TABLECREATE TABLE、ALTER TABLE、DROP TABLE、TRUNCATE TABLE创建/修改/删除/清空基表操作
INSERT TABLEINSERT INTO TABLE表上的插入操作
UPDATE TABLEUPDATE TABLE表上的修改操作
DELETE TABLEDELETE FROM TABLE表上的删除操作
SELECT TABLESELECT FROM TABLE表上的查询操作
………………

3.1.1 设置语句级审计

----1,审计表的创建、修改和删除。
SP_AUDIT_STMT('TABLE', 'NULL', 'ALL');
----2,对 SYSDBA 创建用户成功进行审计。
SP_AUDIT_STMT('USER', 'SYSDBA', 'SUCCESSFUL');
----3,对用户 USER2 进行的表的修改和删除进行审计,不管失败和成功。
SP_AUDIT_STMT('UPDATE TABLE', 'USER2', 'ALL');
SP_AUDIT_STMT('DELETE TABLE', 'USER2', 'ALL');

3.1.2 取消语句级审计

使用说明:
取消审计语句和设置审计语句进行匹配,只有完全匹配的才可以取消审计,否则无法取消审计。

----1,取消对表的创建、修改和删除的审计。
SP_NOAUDIT_STMT('TABLE', 'NULL', 'ALL');
----2,取消对 SYSDBA 创建用户成功进行审计。
SP_NOAUDIT_STMT('USER', 'SYSDBA', 'SUCCESSFUL');
----3,取消对用户 USER2 进行的表的修改和删除的审计。
SP_NOAUDIT_STMT('UPDATE TABLE', 'USER2', 'ALL');
SP_NOAUDIT_STMT('DELETE TABLE', 'USER2', 'ALL');

3.2 对象级审计

对象级审计发生在具体的对象上,需要指定模式名以及对象名。

3.2.1 设置对象级审计

----1,对 SYSDBA 对表 PERSON.ADDRESS 进行的添加和修改的成功操作进行审计。
SP_AUDIT_OBJECT('INSERT', 'SYSDBA', 'PERSON', 'ADDRESS', 'SUCCESSFUL');
SP_AUDIT_OBJECT('UPDATE', 'SYSDBA', 'PERSON', 'ADDRESS', 'SUCCESSFUL');
----2,对 SYSDBA 对表 PERSON.ADDRESS 的 ADDRESS1 列进行的修改成功的操作进行审计。
SP_AUDIT_OBJECT('UPDATE','SYSDBA','PERSON','ADDRESS','ADDRESS1','SUCCESSFUL');

3.2.2 取消对象级审计

使用说明:
取消审计语句和设置审计语句进行匹配,只有完全匹配的才可以取消审计,否则无法取消审计。

----1,取消对 SYSDBA 对表 PERSON.ADDRESS 进行的添加和修改的成功操作的审计。
SP_NOAUDIT_OBJECT('INSERT', 'SYSDBA', 'PERSON', 'ADDRESS', 'SUCCESSFUL');
SP_NOAUDIT_OBJECT('UPDATE', 'SYSDBA', 'PERSON', 'ADDRESS', 'SUCCESSFUL');
----2,取消对 SYSDBA 对表 PERSON.ADDRESS 的 ADDRESS1 列进行的修改成功操作
的审计。
SP_NOAUDIT_OBJECT('UPDATE','SYSDBA','PERSON','ADDRESS','ADDRESS1','SUCCESSFUL
');

3.3 语句序列审计

DM 还提供了语句序列审计功能,作为语句级审计和对象级审计的补充。语句序列审计需要审计员预先建立一个审计规则,包含 N 条 SQL 语句(SQL1,SQL2……),如果某个会话依次执行了这些 SQL 语句,就会触发审计。

3.3.1 建立语句序列审计

使用说明:
建立语句序列审计规则需要先调用 SP_AUDIT_SQLSEQ_START,之后调用若干次SP_AUDIT_SQLSEQ_ADD,每次加入一条 SQL 语句,审计规则中的 SQL 语句顺序根据加入 SQL 语句的顺序确定,最后调用 SP_AUDIT_SQLSEQ_END 完成规则的建立。

----例如,建立一个语句序列审计规则 AUDIT_SQL1。
SP_AUDIT_SQLSEQ_START('AUDIT_SQL1');
SP_AUDIT_SQLSEQ_ADD(' AUDIT_SQL1', 'SELECT NAME FROM TEST1;');
SP_AUDIT_SQLSEQ_ADD(' AUDIT_SQL1', 'SELECT ID ROM TEST2;');
SP_AUDIT_SQLSEQ_ADD(' AUDIT_SQL1', 'SELECT * FROM TEST3;');
SP_AUDIT_SQLSEQ_END(' AUDIT_SQL1');

3.3.2 删除语句序列审计

----例如,删除语句序列审计规则 AUDIT_SQL1。
SP_AUDIT_SQLSEQ_DEL(' AUDIT_SQL1');

四 审计文件管理

审计文件的大小可以通过 DM 的 INI 参数 AUDIT_MAX_FILE_SIZE 指定。当单个审计文件超过指定大小时,系统会自动切换审计文件,自动创建新的审计文件,审计记录将写入新的审计文件中。AUDIT_MAX_FILE_SIZE 为动态系统级参数,缺省值为 100M,DBA用户可通过系统过程 SP_SET_PARA_VALUE 对其进行动态修改,有效值范围为 1~4096M。

随着系统的运行,审计记录将会不断增加,审计文件需要更多的磁盘空间。在极限情况下,审计记录可能会因为磁盘空间不足而无法写入审计文件,最终导致系统无法正常运行。
对这种情况的处理有两种策略,通过设置 DM 的 INI 参数 AUDIT_FILE_FULL_MODE 进行配置。当将 AUDIT_FILE_FULL_MODE 置为 1 时,将删除最老的审计文件,直至有足够的空间创建新审计文件;当将 AUDIT_FILE_FULL_MODE 置为 2 时,将不再写审计记录,默
认值为 1。AUDIT_FILE_FULL_MODE 为静态参数,可通过系统过程
SP_SET_PARA_VALUE 进行修改,但是修改需要重新启动 DM 数据库服务器才能生效。

若系统审计人员已对历史审计信息进行了充分分析,不再需要某个时间点之前的历史审计信息,可使用下面的系统过程删除指定时间点之前的审计文件,但是不会删除 DM 当前正在使用的审计文件。

----例如,指定删除 2015-12-6 16:30:00 以前的普通审计文件。
SP_DROP_AUDIT_FILE('2015-12-6 16:30:00',0);

五 审计信息查阅

当审计设置后,日志记录在 SYSAUDITOR.V$AUDITRECORDS

序号数据类型说明
1USERIDINTEGER用户 ID
2USERNAMEVARCHAR(128)用户名
3ROLEIDINTEGER角色 ID
4ROLENAMEVARCHAR(128)角色名
5IPVARCHAR(25)IP 地址
6SCHIDINTEGER模式 ID
7SCHNAMEVARCHAR(128)模式名
8OBJIDINTEGER对象 ID
9OBJNAMEVARCHAR(128)对象名
10OPERATIONVARCHAR(128)操作类型名
11SUCC_FLAGCHAR(1)成功标记
12SQL_TEXTVARCHAR(8188)SQL 文本
13DESCRIPTIONVARCHAR(8188)描述信息
14OPTIMEDATETIME操作时间
----使用SYSAUDITOR审计账号登录
select * from  SYSAUDITOR.V$AUDITRECORDS ;

六 其他

参考文档《DM7安全管理.pdf》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-3102.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

拉伯配资6月1日策略

5月回想:在5月份的战略中,我们认为其时胶着的商场可能在5月会有所改动。从实践表现来看,5月下旬商场明显出现了一些活泼做多的信号,商场也选择了向上打破。上证指数上涨超4%,深圳成指上涨近3%。 行情判别:从…...

微信小程序趋势及前景,大厂直通车!

最近看到群里看到一个女生,讲述了她从开始选择Android,经过非常努力的学习和挣扎,然而最后面对当前的环境却不得不放弃。看完以后真的非常替她感觉惋惜,如果早几年入行可能结果会比现在好很多,但可惜,这就是…...

LAMP源码编译安装(Apache,Mysql,PHP,论坛安装详解)

目录前言一.LAMP概述1.LAMP架构2.LAMP组件的主要作用二.Apache httpd服务编译安装1.关闭防火墙,将安装Apache所需软件包传到/opt目录下2.安装环境依赖包3.配置软件模块4.编译及安装5.优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变量的目…...

[Jetson][转载]jetson上安装pytorch+torchvision教程

1. Jetpack默认已安装opencv、cuda、cudnn,故只需再安装pytorch即可,留意jetson是arm架构,需要下载对应的安装文件加以安装  2. pytorch的安装   查询Jetpack的版本 sudo -H pip3 install jetson-stats jetson_release   pytorch的whl文…...

sort在不同浏览器下执行效果

sort在不同浏览器下执行效果 let arr [{name: zhangsan, age: 40},{name: lisi, age: 20},{name: laowang, age: 50},{name: xiaoli, age: 60},{name: xiaojin, age: 30}, ] arr.sort((a, b) > b.age > a.age);上面这段代码在谷歌浏览器中,是不会进行排序的…...

设计模式导读助记

各个设计模式的详细介绍都已经完成,但是不经常用总会忘,所以我想用 一句话 总结设计模式,思考模式的真正意图,再用 一点提示 来思考代码如何实现 写在前面 我整理的设计模式这一个系列,主要是结合了以下几本书 : 《设…...

RT-Thrad|STM32F103+ESP8266 S01+RT-Thread联网之环境搭建(1/3)

文章目录前言硬件准备百问网STM32F103ESP8266 01SESP8266 介绍ESP8266 01S技术规格参数软件准备下载安装 Keil μVision5Pack Installer安装 ST-Link 驱动获取RT-Thread源码下载安装 RT-Thread env 工具文章列表 RT-Thrad|STM32F103ESP8266 S01RT-Thread联网之环境搭建(1/3)RT…...

Flask初体验

Flask初体验 flask框架是一个微型框架,但是微型框架不代表功能比其他框架少,并且flask的约束也比较少,使用更加方便。Flask安装 pip install flask 废话不多说直接上代码 from flask import Flaskapp Flask(__name__)app.route("/&qu…...

天眼查怎么删除信息_天眼查删除信息的方法介绍

天眼查信息怎么删除 天眼查风险信息怎么清除 天眼查问答信息怎么删除 天眼查法律诉讼信息可以删吗 天涯查上的信息删除怎么操作,天眼查成立于2014年,至今发展迅速,已经帮助了无数的企业和消费者,那么很多企业的天眼查信息有时候需…...

5.Random

用于生产一个随机数 步骤: 1.导包 import java.util.Random; 2.创建对象 Random random new Random();3.获取随机数 int number random.nextInt(10); //随机数的取值范围是[0,10),即大于等于,小于10 上面不能获取到10,若要获取到10&…...

Xxl-Job调度器原理解析

项目解析源码地址:https://gitee.com/lidishan/xxl-job-code-analysisxxl-job版本:2.3.0Xxl-Job分为执行器、调度器。而我们平时的客户端就属于一个执行器,执行器启动的时候会自动注册到调度器上,然后调度器进行远程调度。调度器初…...

51单片机利用锁存器控制数码管显示年月日时分秒

数码管模块中的两片74hc573,一片锁存段码,一片锁存位码,这样才能驱动8位数码管。74hc573是锁存器,用于数码管显示时通常是采用段选、片选共用同一组并口的驱动方式。 驱动数码管需要两个信号,一个是段选信号&#xff…...

webrtc之SVC实现(十)

一、概念 SVC(可适性视频编码或可分级视频编码)是传统H.264/MPEG-4 AVC编码的延伸,可提升更大的编码弹性,并具有时间可适性(Temporal Scalability)、空间可适性(Spatial Scalability&#xff09…...

LeetCode 数值的整数次方

实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。 示例 1: 输入:x 2.00000, n 10 输出:1024.00000 示例 2: 输入&#xf…...

python 继承和多态

在已有类的基础上创建新类,这其中的一种做法就是让一个类从另一个类那里将属性和方法直接继承下来,从而减少重复代码的编写。提供继承信息的我们称之为父类,也叫超类或基类;得到继承信息的我们称之为子类,也叫派生类或…...

JAVA 基础学习之 继承与方法覆写

1 继承引入​​​​​​​ 三个类都有重复的代码,可以把这共同的代码抽出去,抽出去放到另外一个类里面;下面的3个类和上面的类需要发生一点关系(继承),上面的类叫做 父类(超类,基类&…...

个性化个人主页html5模板

介绍: 个性化个人主页html5模板 网盘下载地址: http://kekewl.net/tARDuX5n02U0 图片:...

java IO教程《三》

缓冲区流讲解(Buffered) 什么是缓冲区? 缓冲流,也叫高效流,是对4个基本的File流的增强,所以也是4个流,按照数据类型分类: 字节缓冲流:BufferedInputStream,BufferedOutputStream字…...

Java SPI思想梳理

原文出处:https://zhuanlan.zhihu.com/p/28909673 为什么要使用spi 面向的对象的设计里,我们一般推荐模块之间基于接口编程,模块之间不对实现类进行硬编码。一旦代码里涉及具体的实现类,就违反了可拔插的原则,如果需要…...

elementUI-Tree 树形控件的使用

elementUI-Tree 树形控件的使用 实现效果: 控件的官方使用说明 控件要求返回的数据结构 {"success": true,"code": 20000,"message": "成功","data": {"items": [{"id": "1394579386…...

SVM 支持向量机简介和sklearn中参数设置详解

1.SVM简介 SVM方法建立在统计学VC维和结构风险最小化原则上,既可以用于分类(二/多分类)、也可用于回归和异常值检测。SVM具有良好的鲁棒性,对未知数据拥有很强的泛化能力,特别是在数据量较少的情况下,相较…...

面向对象的程序语言设计-2021春季学期面向对象程序设计第十四周上机练习#1

Set 描述 现有一整数集(允许有重复元素),初始为空。我们定义如下操作: add x 把x加入集合 del x 把集合中所有与x相等的元素删除 ask x 对集合中元素x的情况询问 对每种操作,我们要求进行如下输出。 add 输出操作后集…...

初步理解类加载运行机制和类加载过程,全套教学资料

一道面试题 让我们开门见山,直面主题:Dubbo 服务里面有个服务端,还有个消费端你知道吧? 服务端和消费端都各有一个线程池你知道吧? 那么面试题来了:一般情况下,服务提供者比服务消费者多吧。…...

[BJDCTF2020]The mystery of ip(ssti模板注入题目)

项目场景: 链接http://node3.buuoj.cn:29669/index.php 问题描述: 观察页面找到三个链接,点开flag和hint看看,发现flag那个页面窃取了客户端的ip地址,这题的题目是“The mystery of ip”IP的神秘,看来解…...

Vue3.0 过度和动画

一、css基础动画 animation、keyframes 的用法 菜鸟教程 animation 传送门 https://www.runoob.com/cssref/css3-pr-animation.html .animation{position: absolute;border: 1px solid red;animation: leftrightleft 10s infinite;transition: all 3s;}keyframes leftrightlef…...

设计一个类BankAccount描述银行储户信息

设计一个类BankAccount描述银行储户信息,包含3个成员变量:储户的ID,姓名和余额,编写构造方法实现成员变量初始化。然后编写程序Exam3,创建一个HashMap对象,存放3个BankAccount对象,每个BankAcco…...

RHEL6.8在虚拟机无法自动识别网卡问题

今天我遇到克隆的虚拟机新增网卡无法被系统自动识别,排查和解决方式如下:1、查 看网卡的MAC地址 cat /etc/udev/rules.d/70-persistent-net.rules 2、编 辑/etc/sysconfig/network-scripts/ifcfg-eth0网卡文件,HWADDR地址一定得对应上网卡的M…...

HTML的列表、表格与表单标签的使用

列表、表格和表单标签的常用属性归纳&#xff0c;如下图所示&#xff1a; 一、列表标签举例 列表标签的应用&#xff0c;源代码如下所示&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta htt…...

关于Apple Silicon-M1的进阶解读

如果大家对文章感兴趣&#xff0c;欢迎转发&#xff0c;收藏&#xff0c;评论。感谢支持&#xff01; 如果你对计算机科学和科技类知识感兴趣&#xff0c;请 Follow【老铁的最新号外】各平台同名&#xff0c;持续更新&#xff0c;感谢支持。 1. 苹果为什么要自研Apple Silicon-…...

剖析Android开发未来的出路在哪里,一篇文章帮你解答

前言 在这个网络发展快速的时代&#xff0c;我想问为什么你选择做程序员&#xff1f;有人说因为不善交际&#xff0c;也有人说最火的行业互联网&#xff0c;最好的职业程序员。确实在这个繁荣的行业&#xff0c;只要你自己不下船技术不水&#xff0c;就可以衣食无忧&#xff0…...

Spark scala编程练习题——统计百分比

接上文&#xff1a; https://blog.csdn.net/qq_38151907/article/details/128110112?spm1001.2014.3001.5501 中的题目大纲 最优Rank频率&#xff0c;结果写入本地/root/retrievelog/output/rank/part-00000,格式见步骤说明。 对于用户搜索请求&#xff0c;某URL在返回结果中…...

java毕业设计点餐平台网站mybatis+源码+调试部署+系统+数据库+lw

java毕业设计点餐平台网站mybatis源码调试部署系统数据库lw java毕业设计点餐平台网站mybatis源码调试部署系统数据库lw本源码技术栈&#xff1a; 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 开发软件&#xff1a;idea eclipse 前端技术&#xff1a;Layui、…...

JVM运行时数据 堆

JVM运行时数据 堆快速调试堆参数设置堆分类运行流程Minor GC、Major GC与Full GC分代思想内存分配策略TLAB堆空间参数设置快速调试 一个JVM实例只存在一个堆内存&#xff0c;对也是Java内存管理的核心区域Java 堆区在Jvm启动的时候创建&#xff0c;其空间大小也就确定了。是JV…...

[Spring]第五篇:AOP面向切面编程概念

AOP切面编程一般可以帮助我们在不修改现有代码的情况下,对程序的功能进行拓展,往往用于实现 日志处理,权限控制,性能检测,事务控制等 AOP实现的原理就是动态代理,在有接口的情况下,使用JDK动态代理,在没有接口的情况下使用cglib动态代理 为Dao层所有的add方法添加一个性能记录功…...

IB物理的费曼图怎么考?

费曼图是用来描述基本粒子间相互作用的图形化表示&#xff0c;由诺贝尔物理学奖得主、著名物理学家理查德费曼&#xff08;Richard Feynman&#xff09;提出&#xff0c;十分清晰直观。虽然真正的费曼图可以用来做更深奥的数学计算&#xff0c;但是在IB物理中&#xff0c;考纲要…...

惯性思维多可怕

一直以来用小米的Mix2手机&#xff0c;也经常用它听音乐。 最近买了荣耀30S&#xff0c;昨晚发现那个铁三角耳机插到华为手机上&#xff0c;竟然没有声音&#xff0c;反复操作都不行。 然后就问客服&#xff0c;查售后地址。下午&#xff0c;来上海三周了第一次开车出门。 6公里…...

转变思考方向,由结果推导原因,找出惯性思维所忽略的地方

标题是本文想阐述的观点&#xff0c;所以有点长。 首先我们来看一个问题&#xff1a; 从前有个农夫&#xff0c;死时留下几头牛&#xff0c;在他的遗书中写道&#xff1a;妻子得全部牛的半数再加上半头&#xff1b;长子得剩下的牛的半数再加半头&#xff0c;正好是妻子的一半…...

做技术的一个惯性思维

技术人员在跟市场人员交流时容易犯的一个毛病就是当场总喜欢从技术实现的角度看待问题。 市场人员可不懂技术&#xff0c;他们往往都是从业务的角度与技术人员沟通&#xff0c;那么技术人员可以也从业务的角度跟市场人员沟通&#xff0c;这样就在一个平面上了&#xff0c;否则…...

技术人请跳出惯性思维

经过10年的技术之路&#xff0c;思维也渐渐的成熟起来&#xff0c;从业以来在技术水平慢慢提升的同时&#xff0c;思维也较之以前有比较大的提升。从一个什么都不懂的小白&#xff0c;成长为可以做一些事情、做一些工作的员工。 文章开头我们先把一个概念说明&#xff0c;无论在…...

不要被惯性思维骗了,AngularJS真的那么完美?

先不说AngularJS优略&#xff0c;至少大部分前端工作者还是对AngularJS有着狂热的推崇的。因为它使开发变得简单。那么问题来了&#xff0c;为什么很多知名网站都没有用到Angular呢&#xff1f; 下面我从几点说起&#xff1a; 1、最糟糕的SEO友好性 这一点无疑是非常致命的&a…...

突破SEO惯性思维

突破SEO惯性思维&#xff1a;主关键词并不是非得放首页针对一个网站实施SEO&#xff0c;其中一个重要的工作就是确定关键词及关键词的分布&#xff0c;通常&#xff0c;我们会将主关键词放置于主页之上&#xff0c;其他次关键词分布于各个分页之中。这本身是无可厚非的&#xf…...

使用enumerate()函数时,惯性思维带来的错误

防止enumerate&#xff08;&#xff09;循环后出错enumerate和for循环当遍历列表时有删除操作时dataframe的索引enumerate和for循环 enumerate和for循环很像&#xff0c;for循环是遍历一个列表里所有的元素&#xff0c;enumerate&#xff08;&#xff09;对于一个可迭代的&…...

思维的惯性

我们经常说要破除思维定势。避免思维惯性。这个想法是非常对的。但事实上是非常难做到的&#xff0c;由于大脑研究发现。人在使用眼睛看东西时。并非把全部的信息都进行处理&#xff0c;仅仅有大约10%的信息是新的&#xff0c;其它的信息都是补全的。人一方面须要这样的信息“抽…...

所有的自卑,可能都源于这个惯性思维

“为什么我再优秀&#xff0c;却还是不自信&#xff1f;” 优不优秀&#xff0c;和自不自卑是两回事 生活中有一定比例的人存在这样的困惑&#xff0c;从各方面看&#xff0c;我似乎已经做的不错了&#xff0c;似乎很优秀了&#xff0c;为什么我还是不那么自信&#xff0c;甚至…...

hdu1010—我的惯性思维

把墙的标记‘X’惯性的写成了‘#’&#xff0c;所以一直调不出来&#xff1b;之后看到是‘X’后&#xff0c;我发现我就是一逗比! 这题剪枝有点多&#xff1a; 一&#xff1a;最少要走的步数>时间&#xff1b; 二&#xff1a;奇偶剪枝——只可能为偶数&#xff1b; 三&a…...

惯性思维的风险点

结果打印false&#xff0c;s和s2是2个不同的对象引用&#xff0c;内存地址不一样&#xff0c;是比较是否为同一内存地址引用因为long用习惯了&#xff0c;所以很多时候写代码不经意间就是用了Long&#xff0c;但是比较是否相等的时候还是习惯性的时候用 这样写大家都能明白是fa…...

Cocoa惯性思维调试一例

大熊猫猪侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 人总有惯性思维,在编程调试里也不例外.你总以为错误是显然的那一个,可是结果却不是. 在stroyboard中建立2个UIView控制器,如果按下第一个控制其中…...

要学会打破惯性思维

今天遇到一道题&#xff0c;编写递归算法&#xff0c;从大到小输出给定二叉排序树中所有关键字不小于x的数据元素。因为之前知道检测一棵二叉树是否为排序二叉树的方法是对它进行中序遍历&#xff0c;而课本默认为先遍历左子树&#xff0c;再遍历根结点&#xff0c;而后遍历右子…...

程序员35岁,是不是惯性思维的结果

马上要35岁了&#xff0c;也马上要重新找工作了。这个时候会发现35岁是个坎。以前听到这样的说辞觉得也没太在意&#xff0c;大概是年纪未到事不关己&#xff0c;就自然忽略了。 现在自己来到这个坎面前&#xff0c;稍微深入的想了一下&#xff0c;觉得35岁的程序员没有错啊&a…...

人的惯性思维

这次AlphaGo以4&#xff1a;1战胜李世石&#xff0c;结果不算意外&#xff0c;几年前&#xff0c;我也觉得围棋被机器干掉距离还很远&#xff0c;理由其实很简单&#xff0c;就是围棋的计算量非常大。持有这种观念的人大有人在&#xff0c;包括赫赫有名的围棋大师聂卫平。持这种…...