欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

补充笔记

程序员文章站 2022-03-03 07:53:23
...

mysql语句中, 为什么有的时候可以直接按回车就提交了, 而有的时候, 按回车去换行了?

  • 这是因为, mysql会检查当前语句的末尾, 有没有分号, 看这条语句数否输入完了, 如有分号,就认为输入完毕了, 这时候回车就被提交了;
  • 反之, 如果没有分号, 就认为还没有输入完,于是 这时候回车就被当作输入内容了, 而不是提交,从而被 换行了.

在tp中, 获取一条记录, 可以使用查询find, 或getField方法, 但是通常使用 find方法, 然后通过 find 方法获取的 一维数组来 提取字段值, 而getField获取的值不好提取出来.

jquery中, click的回调函数 动作 出现错乱?

  1. 这种 click中的 回调函数, 是一个闭包函数, 由于 闭包函数 可以访问 外部的 变量( for 中的 循环变量, 和 $('.同一个类选择器')的 隐含多个对象的隐含循环 )

关于echo中使用赋值?

echo '本班科任老师: '. $jsname = $ret[$i]['jsname'].'
';
dump (array('jsname'=>$jsname, 'class'=>$curClass, 'pjstud'=>$stud));

要注意,如果 echo 后面 一个 变量的时候, 这个变量又使用 等于的方式, 那么最后, 等号最后的所有内容 , 都将赋值给这个变量, 而不是只是 输出.
所以 , 这里的 $jsname 的值实际上就是: "张三
" , 而不是只是 张三, 但是数据表中是没有 '张三
'这个字段值的. 这就是为什么 拿出去可以查询得到值, 而拿进来却得不到值的原因.

========================

关于标签和标签体中变量是否加$符合?

在 tp的模板标签中, 标签内部 的变量名name等 都不加 $ 符号的, 而在 标签体 中 , 要使用变量, 则要加 $ , 并且最好要使用 大括号: 比如: {$name['foo']}
这是因为, 标签中的变量名是作为标签属性 的值 来解析的,模板引擎在转换解释时自动转换成变量,而标签体则是原样解释.

foreach中 , volist等中 , 那个 循环变量 $k, $i的作用 还是很大的! 比如在 某些 需求或场合中, 不只是 要输出 某一个 二维数组/一维数组, 同时 还要 输出 其他
相关的 一维/二维数组, (它们的 个数是相等的,而且下标有对应关系! ) 此时, 就可以对其中 一个变量 使用 foreach name= item= 进行遍历, 对另外的变量使用 循环变量进行 遍历

要注意的是 volist 有默认的循环遍历$i, 而foreach没有, 需要显示的设定 循环变量: <foreach .... key="i/k/j"> 在标签体中使用 : $k...遍历

================================================

关于php中的gd2库绘图的问题.

imagecreate, 是基于调色板 256色的画布创建函数, 只有8位颜色深度. 而创建真彩色的函数是: imagecreatetruecolor??
本身gd库提供了一些php的绘图函数, 这些绘图函数本身是以*.php格式(底层是c)文件存在的, 绘图的单位是 像素px

像素是将屏幕尺寸分成多少等份, 每一个等份就是 一个像素. 所以, 像素是相对单位, 是密度单位, 不是长度单位, 不是像m, dm, cm,mm之类的长度值. 所以它没有固定长度. 对于同一个尺寸的屏幕, 像素不同,那么单位长度所包含的点/份数也不同, 因此相同像素值的 绝对长度 也不同.

php的绘图函数中, 有两类函数, 一类是 "赋值"类的函数, 是用来赋值/设置 颜色等的, 它们有返回值, 需要使用 foo_color = imagecreatecolor(...)的赋值形式来写, 比如: imagecreatecolor... 另一类才是 真正用来绘图绘制的, 是过程 语句, 是不需要用赋值 形式来写的, 直接调用函数(或者函数没有返回值), 比如: imageline(...)

$i的循环值, 通常来说的惯例, 是从 0 开始 递增增大, 但并不总是这样的, 有的时候, 需要从大 递减的,特别是当$i本身要在循环语句中使用时, 所以, 到底$i是递增还是递减, 要根据实际情况来定.

在php文件中, 要注意空格 / 空行的使用:

  • 如果是在 <?php ... ?> php标签内部, 那你可以随意的使用 空格或 空行, 因为这些空格和空行 并不会输出到html中, 它要经过 php引擎解释处理后才输出.
  • 但是, 你在 <?php ... ?> 标签外 所加的空格或 空行 会被当作输出内容, 直接/马上 输出到html文件中的, 所以, 在php标签外部的空格或空行 , 要谨慎的书写,不能随意的添加的,比如, 你要在php文件中绘图作为img标签的 src来源, 就不能在绘图php文件中的 php标签外添加空格 或 空行, 否则就会报错! (相当于jpg, png等图片文件 的源码 在它的前面加一个空格,而引起图片损坏的情况)

some animal and plant species cannot accommodate to the rapidly changing conditions. 有些种类的动植物不能适应迅速变化的环境.
populate, (人口; 居住...), popular(大众的...流行的...)它们是三个音节
而 pollute(污染) 是两个音节.

php manual绘图函数, JPGraph绘图框架库
凡是src请求的, 比如img标签 src=...请求图片, 请求js文件等, 都是http请求(而且这种src请求的地址可以是本地的,也可以是远程网络的), 请求图片地址的,都是可以传递id值, 等用以区别的符号的. 这样就可以让服务器认为是不同的请求地址或请求资源(是请求的另外一个图片或资源),从而重新进行绘图,获得变化的/更新的图片
所有的绘图,都是在服务器端的某个php文件中生成,存放在服务器的内存中,然后你的src就是去请求/ 去访问的这个php绘图文件的, 从而获得图片, 要注意在php文件中要告诉浏览器的资源类型是image/png或jpg等而不是传统的 text/html类型,避免浏览器解析出错.

============================================

两个单词的辨析:
evil [ivl] 表示邪恶的,坏的; 而另一个单词: veil 将v和e交换一下位置, 则是 [veil], 表示 "面纱,幕布,遮盖物", 比如: veil of ignorance : 无知之幕 Rowls John <>
appall: [2'p2l]: vt. 使惊骇, 使胆寒. appalling, appalled. 引申的意思就是: "非常的/非常地/极其地"
ignore [ig'n2:], 忽略,漠视,不管. 但是 , ignorance: 的意思则有些变化了: 是"无知, 愚昧; 不知道",
His ignorance is appalling. Ignorance of the law is no excuse. [ik'skju:z] 不懂法律不能成为借口.
That was an appalling waste. an appalling death rate. When will this appalling war end?

regress: "退化; 退步; 逆行" regressive, regressand. regression analysis: 回归分析; regression coefficient.
they would not regress to pre-technological tribalism
she claims to be able to regress to the Roman era.
I regressed Sylvia to early childhood.

Hugh: [hju:], 休, Hughes[hju:z]修斯
As Hugh grew older, she had less influence and couldn't control him

vim本身内置了 拼写检查的功能, 打开拼写检查的开关是: set spell, 或者关闭, set nospell, 查看拼写的命令是 : [s, ]s其中, [,]可以认为是: "前一个/后一个, 上一个/下一个, 减小/增大"的对应含义. 拼写建议是: z=, 也可以将某个错误的单词, 加入到自定义的字典中, 撤销字典的命令分别是: zg, zug/ 而要给出拼写建议的命令是: z=

根据不同的用户类型, 输入的账户类别, 判断出不同的权限级别, 让后台服务端程序直接重定向到不同的页面.

vim的单词, w,b等命令,通常来说, 单词就是以 字母开头的字符串. 但也不全是, 有些运算符号也可能 被作为 "单词开头"
理解vim的 text-object模式, 这种 文本对象 模式的对象可以是单词, 段落, 括号等等, 支持 d, c, y等命令, 也支持a, i等范围词. 如果一个单词前面有空格,则dw将只是删除空格, 而daw将删除空格和其后的单词.

vim的替换确认?
使用 c扩展/附加命令, 这里的c表示: confirm确认的意思.
比如: %s/abc/ABC/gc, 就会把abc替换成ABC, 并在每次替换前询问,y就是yes替换, n是no不替换跳过, 是不再继续替换退出替换操作, a是all 表示剩下的全部替换.

要提取网页的 css背景图片, 要通过 firebug的css来获得, 即使背景图片是类似/public/img...之类的地址, 也可以在地址栏中在/public...地址的前面加上 服务器域名地址就可以了.

在程序中的数字, 最好是 先赋值给变量名, 然后再引用变量名. 不要直接写可以变化的数据为具体的数字.

vim的光标位置: 通常只是记录文件改变/的位置, 不会记录光标移动的 位置, 可以用 ctrl+i, ctrl+o 来向前或向后进行跳转?

GD2库用来生成验证码?

  1. 基本上用dnf install php-gd这一条命令就可以安装gd库了, 在php -i中看到gd节就表示安装 & 链接成功,可以使用了
  2. gd库的函数基本上都是 由 image 打头的, 第一个参数, 都是 一个资源符号: resource $img.
  3. 输出内容可以放在 最后要输出时, 也可以放在最前面;
  4. 绘图时, 因为可能要做多个图形,多个步骤, 所以并不是马上就输出了的, 而是先保持在内存中, 最后统一由 'imagepng($img)' 这个语句来进行输出的
    所以, 记住 imagepng和 imagedestroy函数是挨着而且成对使用的
  5. 关于颜色: gd绘图默认采用 已定义的 第一个颜色做背景色(即使你没有用imagefill), 默认采用前面定义了的 第一个 颜色来绘制图形前景色. 但是至少要定义一个 颜色, 否则会报错!
    最好是显示的指定绘图颜色.
// gd2库生成图像的默认单位是像素,不需要带单位,除非你用语句改变默认单位,比如mm等
//  也可以放在最前面的 header('Content-type:image/png'); 
$img_height = 100;
$img_width = 300;
$img = imagecreate($img_width, $img_height);
// gd2库做图像,因为可能同时有多个图像,所以很多语句或函数中都有$img/ 这个指定的图像 这个参数.
$bgcolor= imagecolorallocate($img, 0,0,0);
$white=imagecolorallocate($img, 255,255,255);
imagefill($img, 0,0, $bgcolor); // bgcolor可以是$black,也可以是$white.

// imagestring($img, 50, 300, 100, '123345', $black);
// 因为imagestring好像是只用来生成西文字符串, 不支持中文字体和utf-8, 更多的是使用imagettftext()来绘制字符串

$str = '验证码内容';
$font_size = 50;
$roll = 0;
$x = 50;
$y = 75;
$ttf = 'simli.ttf';  // 这样写表示是放在跟当前文件同一位置

imagettftext($img, $font_size, $roll, $x, $y, $ttf, $str);    // 参数顺序是: 字号, 角度, 起始位置, 字体, 字符内容)
header('Content-type:image/png');  // 记得以图片形式输出
imagepng($img);
imagedestroy($img);
exit();

这样就输出一个二维码图像? 验证码图像了....

在英语中,主谓宾的单复数, 只管主语和谓语的单复数匹配, 而不管宾语的单复数. 比如主语和谓语可以用复数,而宾语可以用单数.

slum housing, slum districts
The slums are a reproach to London.

======================================

mysql的int(4)数字4表示什么?

整数, signed,unsigned只能用来来修饰整数: 包括极小整数tinyint, 较小整数smallint, 中等大小的整数mediumint, 标准整数int3个字节,bigint大整数.只要是int, 不管后面的数字是多少,它们的存储范围都是相同的,比如 int(4)和int(11)的存储范围都是一样的
int(Wide)数字W只是用来表示 显示宽度,而且只有在字段 设置了 描述属性 zerofill的时候才有效. 就是说, 如果字段没有设置 zerofill的时候写不写宽度W 都是一样的,写了宽度也没有用. 只是当设置了字段zerofill的时候,当显示的数字 "宽度/位数"少于Wide的时候, 左边会补0显示. 但是如果数字本身就超过了Wide, 则完整显示数字,Wide就无效了.
使用场合: 一般是在 固定位数的数字'字符串',比如考号; 或月份, 天数/日期的时候.

什么叫mysql定点/浮点数? float和 decimal的类型的 区别: 参考: https://www.jb51.net/article/109363.htm, https://www.cnblogs.com/gulibao/p/5416245.html

所谓mysql的定点和浮点数,是指, 数字的小数点后的位数 是 可以改变的, 还是固定的. 小数点的位置(从数字的右边/末尾看)是固定不变的还是可以变化的?
浮点数 float/double 在没有指定 精度和标度的时候, 按实际的数值显示; 如果指定了精度和标度, 则按四舍五入的方式显示, 无论怎样都不会出错(结果可能稍有误差);
而定点数, 如果没有指定

解决bash shell 假死的情况 参考 https://www.cnblogs.com/guochaoxxl/p/10428991.html

linux的软件/文件都是按类别分开放, 而不是按某个软件放在一起的, /usr/libexec是放的可执行的库/连接/类的实现等. 比如/usr目录中就有: bin, sbin, include, lib,libexec, share等, 如果是自己安装的软件则全部都放在/usr/local目录中, 然后分门别类的放在其下的/usr/local/bin, sbin, lib,..等目录中.

================================================

php命令的 -i 参数就是 调用的 phpinfo(), 就是 php information. php的配置相当于 php.ini的结果. 包含了很多节. 所以可以查看 gd库等. 而php -m (modules)是表示载入了哪些模块. 查看它的模块是在:/etc/php.d的目录下对应的 "extension扩展"配置文件中,比如: 20-gd.ini

; enable gd extension module
extension = gd.so

credit的含义很多:
成绩/分数; 佘帐....
i didn't give you credit for such skill; 信任, 信用;
a man of credit; 名望,声望;
a credit to sb, belongs to sb's credit; 功劳/勋绩; (比如软件的 credits)
i'd love to take credit for such decision; 赞扬,赞许;
such a student is a credit to his class; 荣誉;
no credit, on credit: 佘账, 不佘账(现金交易)