xueping wang 记录
https://www.bbsmax.com/A/lk5aVBod1O/
在firefox的调试控制台, 下面有一个独立的分割的控制台窗口,
- 在进行页面元素选择, inspector的时候, 或者进行css样式查看检查的时候, 或者进行控制台输出查看的时候, 实际上是不需要显示这个split console的,是可以隐藏的
- 只是在进行Debugger的时候,才有必要显示这个分离的控制台
- 显示/隐藏这个split console的具体方法是: 单击右侧的第二个工具栏按钮: toggle split console. 就好了.
=======================
关于创建表/修改表的一些问题?
- 其实 创建表和 修改表的语法基本相同, 只是 前面的create table 和 alter table动词有所不同, 创建表多了一个 表字段描述而已:
- 创建表时,if not exists "条件短语" 放在动词之后,表名称之前
create table if not exists tbl_name()...
- 基本语法是: create table(create_definition) [table_options] [partition_options]
其中, create_definition包括两种内容:
一是, 字段描述: col_name col_definition
二是, 关于表的字段约束特性等: 包括 primary key(col_name
), index(col_name1
,col_name2
), foreign key(), unique key(), 等等
注意的是,这些字段约数特性一定要加括号, 里面是字段名(可能不止一个字段名), 分别加上逗号分隔
关于约束:
约束主要的有三种: 主键约束primary key, 唯一性约束unique key, 外键约束foreign key.
约束默认的关键字是 constraint, 可以在创建表的时候直接在 col_definition紧跟着后面进行申明, 也可以在alter table的时候 添加约束 add...而实际上这个constraint关键字可以 省略的.
外键约束的好处和缺点是:
- 最主要的是保持数据的完整性/一致性, 同时也避免了一些冗余的,无意义的数据: 禁止一些在主表中 删除/修改记录的操作, 因为如果外键所在表中 有主键表字段记录时, 就会阻止你删除主键表记录. 因为外键要保证 外键表的外键字段在主表中必须有相关的相应的记录.
- 也正是因为这个要保持完整性的目的, 所以,在进行删除/修改记录的时候, 会去检查关联表中的记录. 所以 会花费较多的操作时间, 从而影响数据库的性能
- 同时: 要创建外键约束, 必须满足几个条件: 一个是在mysql的多种存储引擎中,只有innodb引擎支持外键,因为外键的主要操作是在 级联更新和删除的时候起作用(on update cascade, on delete),所以如果原来的存储引擎是myisam, 就需要更改为innodb; 其次, 在从表(外键所在的表)中外键所在的字段要首先创建索引才行.
- 所以, 一般来说, 只有对数据完整性要求比较高的应用中, 才会创建外键约束, 其他一般应用中, 为了查询性能, 都不建议使用外键约束.
一般来说, 创建的索引, 都有一个索引名称, 这个索引名称可以指定, 也可以不用指定, 如果不用指定索引名称, 默认的会以 创建索引的字段名称 作为索引的名称.
索引的关键字是index也可以是 key.
关于mysql中的字符串连接函数?
mysql中的随机数 函数 rand() 不能代参, 只能产生0~1之间的随机小数. 所以要产生四位的随机数字用: round(1000+9000*rand());
mysql中的字符串连接, 不是用 加号+, 也不是用点号, 也不是函数 strcat, 而是用 concat('..', '...', '...'), 可以直接用数字 和字符串连接
其他类似函数有: concat_ws, group_concat, repeat('abc', 3');utf-8和utf8之间的区别?
只有在mysql中可以使用(而且只能使用 utf8),中间不能用空格; 其他地方的标准写法是: 大写的 UTF-8.
=========================================
mycli是和mysql一样的 终端工具 用来连接和操作mariadb数据库服务器, 命令就是用 mycli -uroot -p 'password...' -hlocalhost -D dbname
. 注意命令是mycli 不是mysql.
- 特别是, 如果数据库服务器没有密码, 就不要使用 -p选项, 直接免密码登录就好了. 因为-p选项后面要跟 明文的pwd密码, 且不能为 空''.
- 配置文件是 ~/.myclirc 采用的是 dos-ini格式. 其中 syntax-style是指 语法coloring着色的方式.
查看 某个命令是由哪个包提供的?
使用 dnf whatprovides '命令名'
关于颜色/主题的颜色: light/dark/sepia: light: 是明色调/明亮的 dark是暗色调的/深色调的 sepia: ['si:pi2] 深褐色的
firefox 本身提供了一个"屏蔽图片和flash的"功能, 就是它的 reader view 阅读者视图reader view
schema的本意是: 提纲, 大纲,结构,架构, 图式: 通常是指 : 用图/结构图/流程图等来描述问题, 因此, schema就是一种描述 (问题 / 对象/ 项目)等的 一种 总体结构的 语言和东西
通常是比 "实体" 内容更高一层的抽象, 实现更高层次的管理. 比如 一套数据库以及其下的表/视图等等, 可以归纳/包含在一个schema中, 一个 数据库服务器上 可以包含多个 schemas, 提供schema的功能是为了更高更复杂的数据管理, 实际上一般用户是用不到的.
对 fc23 gnome等的修改和调整, 由很多工具: 包括: gconf, dconf, gsettings, gconf-editor, dconf-editor, gnome-tweak-tool等, 其中, gconf / dconf / gsettings 等都是 /usr/bin/下的命令行工具 (类似于 注册表, 里面的配置/修改项类似注册表的itmes键名, 只是在这里叫schema, 如同注册表中,不可能记得住 所有的键名, 同样的 你也不可能记住所有的schemas) . 而dconf-editor gconf-editor , gnome-tweak-tool等则是图形化工具. 使用得最多的是 : dconf-ediotr 和 gnome-tweak-tool .
在dconf-editor中, 左边的条目就叫 schema, 右边的内容中, 其中 "name"就是 schemas所包含的key名称, 而value则是对应的 key的值.
==================================================
em是一个相对单位, 是以 body默认字体大小是 16px; {font-size: 16px;} em就是以父元素的字体大小 font-size为倍数, 可以精确到小数点后3位, 是以弹性布局为目的的
rem是 root em 的意思, 是相对于根结点即html标签元素, 而言的字体相对大小. 是css3中引入的一个相对单位
导航和导航条的区别?
导航 nav 是一个独立组件, 可以放在任何地方, 由 nav-tabs, nav-pills, nav-stacks几种样式, 主要是放在页面内部, 一些小的区域进行导航
导航条navbar , 虽然其中的导航, 是基于 nav组件, 是 ul.nav.navbar-nav. 但是其他组成部分跟导航nav相差很是很大的. 导航条主要是放在网站顶部位置.对整个网站进行导航
在bs中, 很多元素和组件都是基于列表, ul, ol来实现的, 通过在 ul/ol中 包含 li, 在li中包含a链接来实现的.
- 在导航条中的 对齐和位置布局, 使用 navbar-left, navbar-right类其实就是 浮动 , 向左或向右的浮动
.navbar-right{float: right !important; }
- 导航条中的链接, 文字, 表单按钮等, 都 有专门的容器, 比如 ul.navbar-nav , form.navbar-form等. 但是 要在导航条中, 放置额外的, 没有"专门"容器的, 单独的文字/按钮/链接等, 要用 另外的单独的navbar-类, 比如: navbar-link, navbar-btn, navbar-text. 使用方法是: 文字:
<p class="navbar-text"> 表单中的文字</p>
按钮:<button class="btn btn-default navbar-btn" > 表单中的按钮</button>
单独的链接:<a class="navbar-link"> 表单中的单独的链接</a>
- bs中的全局基础字体大小 刚好是14px. 即:@font-size-base: 14px. 如果要修改这个全局基础字体i大小, 在less文件中, 修改 @font-size-base:
bs中 有很多块级元素 , 都会有 一个 20px的下边距, 比如: table, hr, address, navbar等都有一个 20px的margin-bottom
所以, 如果你要改变/删除这个下边距, 只需要重载这些 样式就好了 , 只是要知道 这个下边距是怎么来的.
navbar还有一个样式是 :min-height: 50px, 所以 如果要 固定顶端: navbar-fixed-top 就要给body至少 50px的padding.
.navbar { /// 最小高度和 下边距都是由 navbar来的, navbar-default只是规定 字符颜色/背景颜色和边框等
position: relative;
px;min-height: 50
margin-bottom: 20px;
border: 1px solid transparent;
}
====================================================
关于bs的navbar-nav的导航项目的active点击时无效的问题?
- 对于导航条的active类,必须由我们用户自己管理它,bs并没有提供自动管理.
- 管理方法就是 去掉所有的li的active类, 然后对当前这个li添加active类:
$(document).ready(function(){
$('ul.navbar-nav li').click(function(e){
e.preventDefault();
$('ul.navbar-nav').find('.active').removeClass('active'); // 使用find 跟 后代选择器的作用是一样的.
$(this).addClass('active');
});
});
基本常识: 因为视图本身不是基础表, 它本身里面是没有数据的, 他的数据来源于其他基础表, 而且是随着其他基础表中的数据改变 而改变的, 所以, 你不能对视图进行 插入 操作和 删除操作 和 修改 操作。tp可以操作视图, 但是不能向基础表那样子 来操作他, 否则会提示 找不到 “表”。 要通过 tp的专门的 视图模型来 操作。 对于 操作 一对多, 多对多等问题, 要通过 tp的 关联模型来操作。
================================================================
如何 在tp模板中输出一维数组变量的元素值?
其实, 我们一直有一个误解, 以为volist, foreach只能输出二维数组的值, 其实 它们也能够输出一维数组的元素! 既然二维 数组 都能输出, 怎么会 一维数组输不出来呢?
只是, 在 循环体内, 是直接输出循环变量$id, , 还是 输出循环变量的 元素值$id.name?
如果是一维数组, 循环变量本身就是具体的元素值了, 所以直接输出就是了: 比如 {$key}:$item
如果是二维数组, 那么, 每次的循环变量本身 还是一个一维数组, 所以, 在输出中, 就取它的元素了: 比如: {$vo.name}等等.
- volist 和 foreach 本质上只是一次 循环而已, 本质上没有什么区别, 都是转变为 for...循环,
- 所以, foreach并不是什么用于 一维循环, volist用于二维数组循环.作用其实是一样的.
- 只是, 它们之间的真正的区别,是 它们的提供的属性不同! volist属性更多, 用于更多要求的控制 包括: name, id, offset length, mod, empty, key等属性. 而foreach提供的属性更少, 包括: name, item, key. 用于需求较少的控制. 可以认为foreach是 volist的简化版.
===================================================
区别tp的跳转和异常?
- 跳转和异常的 表现内容不同: 跳转时的三种方式, 它们的标题栏 head标签是: "跳转提示", 内容是 "页面自动 跳转...." 而异常页面的 标题栏 head标签是 "系统发生错误" 内容是 :发生错误的文件 位置 行数...
- 跳转的模板, 不管是error还是 success, 都 是 'TMPL_ACTION_SUCCESS/ERROR' => THINK_PATH.'Tpl/dispatch_jump.tpl ', 而 异常的模板是: 'TMPL_EXCEPTION_FILE' => THINK_PATH.'Tpl/think_exception.tpl'
- success和error共用一个跳转模板文件, 只是根据一个 $message变量的值, 来选择一个 if ...else 变量来 决定显示内容.
- success和error跳转 都有 "成功或 错误 信息 提示", 而且有 等待时间 提示, 有 默认的跳转页面, (比如 success是reference引用页面, 而 error是 上一页 back) 所以是比较友好的, 而 redirect 是直接跳转 没有任何提示的, 所以 会让人有点迷惑 .
- success和 error, redirect本身就已经有 重定向跳转的功能了, 所以,不需要再使用 header等 函数了!
================================================
几个英文单词的差别:
message 消息, messager是消息组件
messenger: 是信使, 送消息的人, 比如
passenger: me- 和 pa-的区别, 如果是pa则是 乘客。
!!! 凡是带回调函数的 都是 异步调用, 相当于一个 伺服函数一样。 所以 回调函数 是在 事件发生之后 才执行的, 所以 不是跟事件同步的, 是异步的。 因此可以接收到 事件传递过来的 参数等!!
xueping wang 记录的更多相关文章
- xueping wang 记录2
在使用easyui的tabs的时候, 标签页上的 可关闭 按钮 显示不出来? tabs的 closable:true 属性, 实际上是通过在 标签头 tabHeader 中的最后面, 添加一个超链接 ...
- Jason Wang:记录自己所想所得(第一次作业)
这个作业属于哪个课程 <课程的链接> 这个作业要求在哪里 <作业要求的链接> 我在这个课程的目标是 学会现代软件工程的思想,运用到实际中去 这个作业在哪个具体方面帮助我实现目标 ...
- SQL Server求解连续操作(登录)数量(次数)最大的记录(用户)问题
在园中大V深蓝医生中的一篇文中发现了这个问题,感觉挺有意思. 问题简化为"求解连续日期登录次数最大的用户".至少连续2天都登录才能认为是连续日登录. 数据岛问题 这个问题让我联想到 ...
- apache网站访问缓慢的处理记录
朋友在阿里云上开通了一台ubuntu服务器(2G内存,2核CPU),用apache搭建了一个公众号网站.网站初期,他没有做相应的优化,在后续公众号推广活动时,网站并发突增,访问十分缓慢.登陆服务器,具 ...
- nginx缓存配置的操作记录梳理
web缓存位于内容源Web服务器和客户端之间,当用户访问一个URL时,Web缓存服务器会去后端Web源服务器取回要输出的内容,然后,当下一个请求到来时,如果访问的是相同的URL,Web缓存服务器直接输 ...
- Nginx中防盗链(下载防盗链和图片防盗链)操作记录
日常运维工作中,设置防盗链的需求会经常碰到,这也是优化网站的一个必要措施.今天在此介绍Nginx中设置下载防盗链和图片防盗链的操作~ 一.Nginx中下载防盗链的操作记录对于一些站点上的下载操作,有很 ...
- mysql查询在一张表不在另外一张表的记录
mysql查询在一张表不在另外一张表的记录 问题: 查询一个表(tb1)的字段记录不在另一个表(tb2)中 条件:tb1的字段key的值不在tbl2表中 -------- ...
- cmd&Linux 下使用mysql全记录
php mysql数据库常用cmd命令集 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop ...
- 12天学好C语言——记录我的C语言学习之路(Day 12)
12天学好C语言--记录我的C语言学习之路 Day 12: 进入最后一天的学习,用这样一个程序来综合考量指针和字符串的关系,写完这个程序,你对字符串和指针的理解应该就不错了. //输入一个字符串,内有 ...
随机推荐
- rand和srand的用法
首先我们要对rand&srand有个总体的看法:srand初始化随机种子,rand产生随机数,下面将详细说明. rand(产生随机数)表头文件: #include<stdlib.h> ...
- Linux 磁盘介绍(磁盘、分区、MBR、GPT)
原文:https://www.linuxidc.com/Linux/2013-06/85717.htm 1. CHS(Cylinder-Head-Sector): was an early metho ...
- 【Python全栈-JavaScript】jQuery效果
jQuery效果 jQuery 效果函数: 方法 描述 animate() 对被选元素应用“自定义”的动画 clearQueue() 对被选元素移除所有排队的函数(仍未运行的) delay() 对被选 ...
- 2019.4.14 python基础30
前面学习的变量,数据类型(整型,浮点数,布尔),序列(字符串,列表,元祖,字典,集合) ,可以看做是数据的组织方式.数据可以看做是“砖块”! 流程控制语句是代码的组织方式,可以看做是“混凝土” 一个完 ...
- layer倒计时弹框/弹层 DEMO
layer.msg("提示语...", { time: 5000, shade: 0.6, success: function (layero, index) { var msg ...
- flask hook
@app.before_first_requestdef before_first_request(): """在第一次请求之前会访问该函数""&qu ...
- OpenStack-Neutron-Fwaas-代码【二】
上一节从代码层面来讲解了fwaas的流程,这里通过具体查看iptables规则来说下应用规则的流程: 1.首先通过命令获取当前路由中的规则 #ip netns exec qrouter-[router ...
- 2017.11.27 变量进阶与LED矩阵
局部变量:函数内部声明的变量,只在函数内部有效. 全部变量:在函数外部声明的变量,全局都有效,直到程序执行完毕. 全局变量负作用: 1.降低函数的独立性 2.降低函数的通用性,不利于函数的重复调用. ...
- 关于Xocd升级 cocopoads无法使用的解决
最近由于工作原因,升级了下Xcode,以前是8.1现在升级到了8.3,导致无法使用了cocopoads,研究了好久终于找到了解决办法. 先描述下我的几个问题吧. 1.当运行cocopoads的时候出现 ...
- ldd ldconfig
ldd - print shared object dependencies ldconfig 主要是在默认搜寻目录/lib和/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目 ...