php是一种服务器端解释的脚本语言。
什么是PHP PHP是一种服务器端脚本语言,他是专门为Web而设计的。
第一篇 使用PHP
连接操作符(.)将其编写在一行代码中。
1.3在html中嵌入PHP 服务器端脚本语言:PHP脚本在Web服务器上被解释和执行,这与在用户机器上的Web浏览器中解释并执行。 的JS及其他客户端技术是不同的。
1.3.2 echo 语句:将传递给其自身的字符串打印到浏览器窗口中。
在双引号内,用一个字符串的内容代替一个变量的操作就是插值。
echo “$tirequly tires ”;
单引号, echo $tirequly 'tire ';
在单引号中,变量名称,或者任何其他文本都会不经修改而发送给浏览器。
1.5.3 变量和文本 在示例脚本中,每一个echo语句中连接在一起的变量和字符串是完全不同的。变量是表示数据的符号 字符串是数据本身。 三种字符串类型: 具有双引号: 其中变量会被替代 单引号:文本值 heredoc语法(<<<),通过制定一个用来结束字符串的结束标记。 echo << line1 line2 line3 theEnd 1.6 理解标识符 标识符是变量的名称。
他不要求在使用变量之前声明变量。当第一次给一个变量赋值时,你才创建了这个变量。
1.7 检查变量类型 1.7.1 变量类型 特殊的类型:NULL和resource NULL:没有被赋值、已经被重置或者被赋值为特殊NULL的变量 resource: 特定的内置函数(例如数据库函数)将返回resource类型的变量。他们都代表 外部资源(例如数据库连接),基本上不能直接操作一个resource变量,但是它通常被函数 返回,而且必须作为参数传递给其他函数
1.7.2 类型强度 弱类型语言,或者动态语言。
1.7.3 类型转换 $abc=(float)$bdc; 1.7.4 可变变量 可变变量允许我们动态地改变一个变量的名称。 原理:用一个变量的值作为另一个变量的名称。 $varname='tireqty'; $$varname=5; 等价于 $tireqty=5; 1.8 声明和使用常量
define('TIREPRICE',100);
常量由大写字母组成。
使用时无$符号。
echo TIREPRICE;
了解预定义常量: phpinfo()函数。
1.9 理解变量的作用域 1.内置超级全局变量可以在脚本的任何地方使用和课件 2.变量,一旦被声明,将可以在全局可见;也就是说,他们可以在函数内外使用。 3.在一个脚本中声明的全局变量在整个脚本中是可见的,但不是在函数内部。
$_GET和$_POST数组,这些被称作超级全局变量,可以在任何地方使用和可见
1.10 使用操作符 若类型转换,是字符串转换成数字,如果其中包含‘e’和’E‘字符,它就会被当做是科学 表示法并被转换成浮点数。PHP会在字符串开始处寻找数字,没找到,则为0.
1.10.2 字符串操作符 . 连接符
1.10.3 赋值操作符 4.引用操作符 &可以在关联赋值中使用。 请记住,引用就像一个别名,而不是一个指针。都指向内存相同的地址。 可以通过重置来改变所指向地址: unset($a);
1.10.4 比较操作符 === 恒等操作符, 操作数相等并且具有相同的数据类型
1.10.5 逻辑操作符 $a x or $b 异或, 不同为true, 同为false.
1.10.6 位操作符 1.10.7 其他操作符 new和->,他们分别用来初始化类的实例和访问类的成员。
错误抑制操作符 @可以在任何表达式前面使用,即任何有值的或者可以计算出值的表达式之前。 $a=@(57/0) 如果没有@,这一行代码将产生一个除0警告,若使用@会被抑制。 如果使用这种方法抑制了一些警告,一旦遇到一个警告,就要写一些错误处理代码。 如果启用了php配置文件中的track_errors特性,错误信息将会被保存在全局变量$php_errormsg中。
3.执行操作符。 执行操作符实际上是一对操作符,是一对反向单引号。(``) php将试着将反向单引号之间的命令当做服务器端的命令行来执行。表达式的值就是命令的执行结果。 4.数组操作符 数组操作符([])允许访问数据元素。 也可以使用=>操作符。
5.类型操作符 只有一个类型操作符:instanceof:检查一个对象是否是特定类的实例。
1.13 使用可变函数 1.13.1 测试和设置变量类型 使用gettype(),传递一个变量,他将确定变量的类型并且返回一个包含类型名称的字符串。
1.13.2 测试变量状态 isset():若存在,则返回true. empty():它的值是否为非空和非0.
1.13.3 变量的重解释 可以通过调用一个函数来实现转换变量数据类型的目的。 intval(var,int base) base 为进制 intfloat(var) strval(var)
1.14 根据条件决策 条件结构和重复结构
1.14.3 else语句
1.15.2 for和foreach循环 for($i=1;$i<=$numname;$i++){ $temp=$name$i; echo $$temp.' '; }
1.16 从控制结构或脚本中跳出 switch break for continue; 结束整个php脚本的执行,可以使用exit语句。 eg: if($totalqty==0){ echo 'exit '; exit; }
1.17 使用可替换的控制结构语法 endif\endswitch\endwhile\endfor\endforeach
eg: if($toatl>0): exit; endif;
1.18 使用declare。 php的另一个控制结构是declare结构,他没有像其他结构一样在日常编程中使用
declare(directive){
//block
}
设置代码块的执行命令--后续代码如何执行的规则。
第二章 数据的存储和检索 2.1 保存数据以便后续使用 保存到文件或保存到数据库
2.2 存储和检索Bob的订单 $_POST['address']
在本章中,我们将所有订单都写入同一个文件中。
2.3 文件处理 写入文件 1.打开文件 2.读取数据 3.关闭文件
2.4打开文件 fopen()函数,参数指定文件模式,即如何使用它
2.4.1 选择文件模式 1.打开文件为了只读、只写或读和写 2.如果要写一个文件,可能希望覆盖或者追加。若存在,也可以终止执行 3.如果希望在一个区分了二进制方式和纯文本方式的系统上写一个文件,还必须指定采用的 方式。
w
2.4.2 使用fopen()打开文件 $DOCUMENT_ROOT=$_SERVER['DOCUMENT_ROOT']; $fp=fopen("$DOCUMENT_ROOT/../orders/d.txt",'w'); 路径 模式 DOCUMENT_ROOT代表文档根目录。为了安全,将它放我在文档树外部
第一个参数:路径
第二个:文件模式
第三个:在include_path中搜索。 true\false
第四个:远程位置打开文件
2.4.3 通过FTP或HTTP打开文件
2.4。4 解决打开文件时可能遇到的问题 权限问题:根据服务器设置的不同,该脚本可能是作为web服务器用户或者脚本所在目录的拥有者 运行的。
2.5 写文件 fwrite()或者fputs() fputs()是fwrite()的别名函数。 fwrite($fp,$outputstring);
fwrite()函数的替换是:file_put_contents(filename,data,int flag,resource context)
2.5.1 fwrite()参数 fwrite($fp,$outputstring,length); 最大字符数
strlen()函数:获取字符串的长度
2.5.2 文件格式 记录之间用\n分隔 数据域之间用\t分隔
2.6 关闭文件 fclose($fp);
2.7 只读模式打开文件 fopen('../a.txt','rb') 2.7.2 知道何时读完文件 feof() while(!feof($fp)) { $order=fgets($fp,999); echo $order.' '; } feof() 唯一参数是文件指针,若文件指针指向文件末尾,将返回true
2.7.3 每次读取一行数据: fgets() \fgetss()\fgetcsv() $order=fgets($fp,999);
fgetss(fp,length,[allowable_tags])
它可以过滤字符串中包含的PHP和HTML标记,想留下的写在allowable_tags里面
fgetcsv()函数: $order=fgetcsv($fp,100,'\t').
以上代码将从文件中读取一行,并且在右制表符(\t)的地方将文件内容分行,
返回一个数组。
2.7.4 读取整个文件: readfile()\fpassthru()和file() readfile() 可代替前面写的所有脚本 readfile(pathname,include_path,context); fpassthru() $fp=fopen('path','rb'); fpassthru($fp);
file() 结果发送到一个数组。
$filearray=file('path');
一行一个元素保存在数组中。
2.7.5 读取一个字符:fgetc() 从文件中一次读取一个字符。 while(!feof($fp)){ $char=$getc($fp); if(!feof($fp)) //getc()会返回EOF echo ($char=='\n' ? ' ':$char); }
2.7.6 读取任意长度:fread()
2.8 使用其他有用的文件函数 文件是否存在 file_exists(pathname) 文件大小 filesize(pathname) 删除文件: unlink(pathname)
n12br() 将\n转化成html的换行符
再文件中定位:rewind()\fseek()\ftell()
对文件指针进行定位,看它在文件中的位置
rewind() 定位到文件头
ftell() 现在的位置
fseek() 将文件指针指向某个位置
2.9文件锁定 flock(fp,operation) LOCK_SE 读锁定 _EX 写锁定 _UN 释放锁定 _NB 防止在请求加锁时发生阻塞
2.10 更好的方式:数据库管理系统
第3章 使用数组 数组索引数组、关联数组
3.2.1 数组索引数组 初始化 $products=array('titre','oil'); $products=range(1,10); 1-10的数字数组
3.2.2 访问数组的内容 $products[0]
3.2.3 使用循环访问数组 foreach($producets as $current){ echo $current.' '; }
3.3 使用不同索引的数组:关联数组 $price=array('tire'=>100,'oil'=>10,); 访问: $price['tire'];
循环访问:
foreach($prices as $key =>$value)
{
echo $key.'='.$value.' ';
}
while($element=each($prices))
{
echo $element['key'].'='.$element['value'];
}
while(list($product,$price)=each($price)){
echo "$product - $price ";
}
each()函数,数组将记录当前元素,如果希望再次使用使用reset($price);重置到
数组开始出。
3.4 数组操作符
3.5 多维数组
3.6 数组排序 sort函数: 默认按升序排列。 asort()函数 和ksort()函数对关联数组排序 asort()根据元素值进行排序。 value ksort()根据关键字进行排序 key 反向排序: rsort\arsort\krsort\ 降序
3.7 多维数组的排序 用户定义排序 usort() 告诉如何比较
function compare($x,$y){
if($x[1]==$y[1]){
return 0;
}else if($x[1]<$y[1]){
return -1;
}else
return 1;
}
usort($produts,'compare');
3.8 对数组进行重新排序 shuffle(array)将数组各元素随机排序。 array_reverse()给出一个原来数组的反向排序。 $number=range(1,10); $number=array_reverse($number);
3.9 从文件载入数组 $orders=file(pathname); $number_of_orders=count($orders);
for($i=0;$i<$number_of_orders;$i++){
$line=explode('\t',orders[$i]);
$line[1]=intval($line[1]);
$line[2]=intval($line[2]);
$line[3]=intval($line[3]);
}
3.10 执行其他数组操作 each() current() reset() end() next() pos() prev()
3.10 对数组的每一个元素应用任何函数 array_walk() array_walk(array,func,userdata) 函数名 传参入函数 函数可自带数组的关键字和值。
function my_print($value){
echo "$value ";
}
array_walk($array,'my_print');
function my_multiply(&$value,$key,$facotr){
}
array_walk($array,my_multiply,3);
3.10.3 统计数组元素的个数: count($array) 元素个数 sizeof($array) 元素个数 array_count_values($array) 统计每个特定的值在数组中出现的次数, 返回包含频率表的关联数组
3.10.4 将数组转换成标量变量 extract(array,extract_type) 将关联数组转成标量变量,变量名称是key,变量值是value.
第4章 字符串操作与正则表达式
4.2 字符串的格式化 4.2.1 字符串的整理 :trim()\ltrim()\rtrim() 清除多余空格 trim(string,operation):除去开始和结束位置的空格 opertation:要过滤的特殊的字符 ltrim() 左边空格 rtrim()右边空格
4.2.2 格式化字符串以便显示 1.html格式化::n12br(): 代替换行符 2.为打印输出而格式化 和echo相同: print()\printf()\sprintf() printf() 格式化、输出浏览器 sprintf()返回格式化字符串
printf(“%s”,$toal);
想打印“%”,使用%%
printf(“%2\$s”,$toal,$toas); 2/$ 表示用列表中第二个参数替换。
这个方法可以在重复参数中使用
3.改变字符串字母大小写
strtoupper()
strtolower()
4.2.3 格式化字符串以便存储:addslashes()和stripslashes() PHP提供了两个转义字符串的函数 add 增加 strip 移除
4.3 用字符串函数连接和分隔字符串 4.3.1 使用函数explode()\implode\join() explode(separator,string,limit) implode()和join()类似,和explode相反的作用,粘连在一起。
implode('@',array);
4.3.2 使用strtock()函数 从字符串中取出片段。 strtock(input,separator) separator可是字符,也可是字符串。根据separator的每个字符进行分割
我们仅在第一次调用 strtok() 函数时使用了 string 参数。在首次调用后,该函数仅需要 split 参数,这是因为它清楚自己在当前字符串中所在的位置。如需分割一个新的字符串,请再次调用带 string 参数的 strtok():
4.3.3 使用substr()函数 substr(string,start,length) 4.4 字符串比较 部分匹配和其它情况 4.4.1 字符串排序:strcmp()\strcasecmp()\strnatcmp() strcmp(str1,str2) 返回0 相等 1 str1>str2 strcasecmp 不区分大小写 strnatcmp 不区分大小写 且自然排序,eg:2>12
4.4.2 使用strlen()函数测试字符串长度 4.5 使用字符串函数匹配和替换子字符串 4.5.1 在字符串中查找字符串:strstr()\strchr()\strrchr()\stristr() strstr() 查找匹配的字符串或字符 strchr\strstr 完全一样 strstr($feedback,'shop'); 从找到位置到末尾的字符串
无返回false.
stristr 不区分大小写
strrchr 最后出现目标关键字的剩下的所有字符
4.5.2 查找子字符串的位置:strpos()\strrpos() 推荐这个。 strpos(string,needle,offset) 第一次出现位置 offset 偏移量 strrpos 最后出现的位置 失败返回false 要注意false在弱语言中等于0,而0是字符串的一个字符。故使用=== if(strpos(string,'H')===false)
4.5.3 替换子字符串:str_replace()\substr_replace() str_replace(needle,new_needle,string) 返回替换后的结果 substr_replace(string,replacement,start)
4.6 正则表达式
4.6.2 字符集和类 [a-z]at [aeiou] [a-zA-Z] 任何包含在方括号中的内容都是一个字符类--一个被匹配的字符所属的字符集合。 只匹配一个。 [^a-z] 不属于a-z之间的字符 ^表示否 4.6.3 重复 表示某个字符串不止一次的出现 *代表可重复0或多次 +代表 1或多次 [a-z]+ 最少匹配一次的a到z之间的字符 4.6.4 子表达式 将一个表达式分隔成几个子表达式。圆括号表示 (very )*large 匹配: large、 very large、 very very large 4.6.5 子表达式计数 表达允许重复的次数 (very ){1,3} 重复1-3次 (very ){3} 重复3次 ([a-z]at){2,} 至少重复2次 ([a-z]at)+ 至少重复一次 4.6.6 定位到字符串的开始或末尾 ^ 用于开始 $ 用于末尾,表示子字符串必须出现在字符串末尾
4.6.7分支 可以用竖线表示一个选择 com|edu|net 4.6.8 匹配特殊字符 如果要匹配特殊字符。如,.等, 需要加反斜杠\
正则表达式模式必须包含在单引号的字符串中。
表示双斜杠使用 \\
如果双引号引用的PHP字符串使用反斜杠字符, 需要写 \\\\
$ \\\$
eg: ^([abc]*d){1,3}\.;|$
4.7用正则表达式查找子字符串: ereg()\eregi() ereg(pattern,search,array match). 把匹配结果放在match中 eregi 不区分大小写
4.8 用正则表达式替换子字符串 ereg_replace(pattern,replacement,search) 4.9 使用正则表达式分隔字符串 split(pattern,search)
!!和正则表达式相比,尽量使用字符串函数效率高。
第五章 代码重现和函数编写 5.1 代码重用的好处 1.成本 2.可靠性 3.一致性
5.2 require()和include()函数 允许重新使用任何类型的代码 require()和include()可以将一个文件载入到php脚本中 类似于#include语句 使用require()和include()引入函数库,非常有用。防止错误引入同样的函数库 2次。 5.2.1 文件扩展名和require()函数 require('resuable.php'); 使用require()语句时,必须注意处理文件扩展名和PHP标记的不同方式。
5.2.2 使用require()制作web站点的模版 如果web页面具有一致外观,可以在php中使用require()语句将模版和标准元素加入。 一个常见的约定就是调用那些包含在其它文件something.inc中的部分文件代码,这些文件代码 若不被调用,将会停止执行。
这个文件可以包含任何希望在一个脚本中输入的内容,其中包括php、文本\标记
当需要一个文件时,可以使用require()语句。将被请求的文件内容代替,然后执行脚本。
这就意味着,让载入main。php。
当使用require()语句时,必须注意处理文件扩展名和php标记的不同方式。
PHP并不会查看所需文件的扩展名。这就意味着,只要不想直接调用这个文件,就可以任意
命名该文件。当使用require()语句载入语句时,它会作为php文件的一部分被执行。
通常,如果PHP语句放在一个HTML文件中时,他们是不会被处理的。PHP通常解析扩展名被
定义为.php文件。但是,如果通过require语句载入page.html,文件内的任何PHP命令
会被处理。
require()语句调用时,它会被执行。
文件时.html的,不处理。
文件时.php,才会处理。
但是通过require(),.html也会被处理。
但是一般扩展名是 .inc或 .php。
需要注意,扩展名为.inc或其它一些文件保存在web文档树内种,而且用户可以在直接在如,
用户将以普通文本的形势,
5.3 在php中使用函数 函数是一个给出了调用接口的自包含模块,它可以执行一些任务,还可以返回结果。 5.3.1 调用函数 fopen(string[,resource context]) 方括号指明了这个参数是可选的。 5.3.2 调用未定义的函数:出错
5.3.3 理解字母大小写和函数名称 函数调用不区分大小写。 函数命名:都用小写字母
函数名称和变量不一样,变量分大小写,函数不区分。
5.4 理解为什么要定义自己的函数
5.5 了解基本的函数结构 希望在一个函数中退出php并输入HTML脚本: function my_function(){ ?> my function was call; } ?> 函数的命名 php不支持函数的重载。 !!可变函数:$name(); 根据$name的值确定,取出$name中的值,寻找具有那个名称的函数,并且 调用该函数。
5.6使用参数 function create_table($data){ echo '
'; reset($data); $value=current($data); while($value){ echo $value; $value=next($data); } }
5.7 理解作用域 这块可以翻回来看一下
函数内部和外部声明同一个变量名是合法的,互不影响的。当在函数内部第一次调用的时候,
它会声明,和外部的无关,函数调用结束后,删除。
作用域:
函数外的变量到了函数的内部,无法访问的。如果能够访问的话。还需要传值做什么。传值就是为了让函数接受参数。
超级全局变量哪都能访问。
静态变量会累加。 外部访问不到。
全局变量在函数外声明,想要在内部访问,需要提前声明一下,才能使用。
外部声明variable, 函数内部第一次调用输出时,会创建一个新的变量, 所以输出0
require 在函数内部,就是函数作用域。
外部,就是全局作用句。
5.8 函数的引用传递和值传递 function myfun(&$value){ } 5.9使用return 关键字 5.10 实现递归
第6章 面向对象的PHP 面向对象的开发方法试图在系统中引入对象的分类、关系和属性
6.1.1 类和对象 对象的属性是于对象相关的特性或变量。 对象的操作是对象可以执行的方法。
!对象的操作也就是对象的接口
对象是一个保存数据和操作这些数据的操作方法的唯一、可标识的集合。
数据封装 6.1.2 多态性 指不同类的同一操作可以有不同的行为。 6.1.3 继承 6.2 在php中创建类、属性和操作 6.2.1 类的结构 class classname{ public $attribute;
function operation(){
}
}
6.2.2 构造函数 class classname{ function __constrct($param){ } }
6.2.3 析构函数 function __destruct(){}
6.3 类的实例化 $a=new classname();
6.4 使用类的属性 $this->attribute 使用__get()__set()
class classnae{
public $attribute;
function __get($name){
return $this->$name;
}
function __set($name,$value)
{
$this->$name=$value;
}
}
我们并不直接访问__get()\__set(),而是使用
$a->attribute=5;
$a->attribute
通过编写get\set方法,可以控制访问的入口,设置边界检查,确认数据是否正确。
或者我们需要从数据库取出数据,只需修改get和set即可。
6.5 使用private和public关键字控制访问 protect修饰,只能类内部访问,但是可被继承,继承后只能内部使用。 而private 无法继承。 默认是public,如声明类时,不写public
6.6 类操作的调用 $a->operation1();
6.7 在PHP中实现继承 class B extends A{ }
6.7.1 通过继承使用private和protected访问修饰符控制可见性 !!!protect可以被继承,但继承后,只能在类内部使用。
6.7.2 重载(java中叫做重写,覆盖父类) 如果想使用父类的最初版本: parent::opertaion(); A:operation();
6.73. 使用final关键字禁止继承和重载 当在一个函数声明前面使用这个关键字时,这个函数将不能在人恶化子类中 被重载。 也可禁止类被继承。 6.74 理解多重继承 PHP支持单一继承 6.7.5 实现接口q 接口的思想是指定一个实现了该接口的类必须实现的一系列函数。 implements
6.8类的设计 web开发中可能使用的类可能包括网页、用户界面组件、购物车、错误处理、商品分类 顾客。
6.9 编写类代码 class page{ public $content; public $title="TLA"; public $keyword="dsd"; public $button=array( "Home"=>"home.php", "Contant"=>"contact.php" );
function __set($name,$value){
$this->$name=$value;
}
function Display(){
echo '\n\n';
$this->DisplayTitle();
$this->DisplayKeyWords();
$this->DisplayStyles();
echo '\n\n';
$this->DisplayHeader();
$this->DisplayMenu($this->buttons);
echo $this->content;
$this->DsipalyFooter();
echo "\n\n";
}
function DisplayTitle(){
echo ''.$this->title.' ';
}
function DisplayKeywords(){
echo ' keywords.'\'/>';
}
public function DisplayStyles(){
?>
DisplayButton($width,$name,$url,!$this->IsURLCurrentPage
($url));
}
}
}
require("page.inc");
$homepage=new Page();
$homepage->content="";
$homepage->Display();
?>
6.10 理解PHP面向对象的高级功能 6.10.1 使用Per-Class常量 PHP提供了Per-Class常量 class Math{ const pi=3.14; } echo 'Math::pi='.Math::pi.'\n'; 6.10.2 实现静态方法: PHP允许使用static关键字。
静态方法,不能使用this关键字。
class Math{
static function squared($input){
return $input;
}
}
ehco Math::squared(8);
6.10.3 检查类的类型和类型提示 instanceof关键字允许检查一个对象的类型。
function check_hink(B $someclass){ //传入的必须是B的实例。
}
6.10.4 延迟静态绑定 该特性允许在一个静态继承的上下文中对一个被调用类的引用。
class A{
public static function who(){
echo __CLASS__;
}
public static function test(){
static::who();
}
}
class B extends A{
public static function who(){
echo __CLASS__;
}
}
B::test();
输出: B
6.10.5 克隆对象 PHP提供clone关键字。允许复制一个已有的对象。 $c=clone $b; __clone()方法中的一个很好特性就是在使用默认行为创建一个副本后能够被调用。 这样,在这个阶段,可以只改变希望改变的内容。
在__clone()方法中添加的最常用功能就是确保作为引用进行处理的类属性能过正确复制。
如果要克隆一个包含有对象引用的类,可能需要获得该对象的第二个副本,而不是该对象的
第二个引用。
6.10.6 使用抽象类 类不能被实例化,类方法也没有实现,只提供类方法的声明,没有实现。
6.10.7 使用__call()重载方法 __call()方法,该方法用来实现方法的重载。
public function __call($method,$p){
if($method=='display'){
if(is_object($p[0])){
$this.displayObject($p[0]);
}else if(is_array($p[0])){
$this->displayArray($p[0]);
}
}
}
$ov=new overload();
$ov->display(array(1,2,3));
$ov->display('cat');
6.10.8 使用__autoload()方法 另一个特殊的函数是__autoload().单独的函数
会自动调用你所需要实例化的类文件。
function __autoload($name){
include_once $name.'.php';
}
7.1 异常处理的概念 手动抛出异常
try{
throw new Exception("A",43);
}catch(Exception $e){
echo "ss".$e->getCode();
}
7.3 用户自定义异常
你可能感兴趣的:(PHP与mysql web开发第四版 笔记)
离线安装Docker&&Docker compose(centos版本)
AosisDevDoHub
linux docker centos 容器
简介离线安装docker的两种方法本人用的压缩包安装,RPM包安装的话依赖不好找Docker与Dockercompose版本对应关于docker-composer的版本和docker-compose.yml里version的理解离线安装docker-compose一、离线安装docker的两种方法注:因为是给centos安装所以是rpm包离线安装Docker主要有两种常见方法:使用RPM包或压缩包
淘宝客劫持插件功能演示解析
喵喵蜜
本文还有配套的精品资源,点击获取简介:淘宝客劫持插件通过改变用户购物链接为带有推广ID的链接,使推广者在用户购买后获得佣金。演示内容包括插件安装、链接转换机制、用户无感知操作、安全性与隐私、收益追踪、兼容性测试、源码说明、许可证和法律合规性,以及教程示例。该插件是一种网络营销工具,需在用户体验和合规性间找到平衡,对于推广者和浏览器扩展开发者具有实用价值。1.淘宝客劫持插件功能概述在电商行业竞争日益
QML界面卡死分析--01 --Canvas与QRasterPaintEngine
香油哥
Qml qt
QML界面卡死分析--01现象—Canvas与QRasterPaintEngine相关前置条件:渲染循环使用多线程方式;发现界面假死,无响应;拷贝dump分析,主线程堆栈如下:#0SyncSemWait()#10x000000007b4f8784inQMutexPrivate::wait(int)()fromqt_engine/qt-engine/lib/libQt6Core.so.6.5.0#2
【商城实战(23)】筑牢安全防线,防范常见漏洞
奔跑吧邓邓子
商城实战 安全 商城实战 uniapp SpringBoot Element plus SQL注入 CSRF
【商城实战】专栏重磅来袭!这是一份专为开发者与电商从业者打造的超详细指南。从项目基础搭建,运用uniapp、ElementPlus、SpringBoot搭建商城框架,到用户、商品、订单等核心模块开发,再到性能优化、安全加固、多端适配,乃至运营推广策略,102章内容层层递进。无论是想深入钻研技术细节,还是探寻商城运营之道,本专栏都能提供从0到1的系统讲解,助力你打造独具竞争力的电商平台,开启电商实战
Mina 框架
武涛的技术博客
java 框架技术 服务器 netty
java服务器端开发。J2SE、TCP/UDP协议。mina与netty都是TrustinLee的作品,异步的NIO框架,将UDP当成"面向连接"的协议一、组件管理Mina的底层依赖的主要是JavaNIO库,上层提供的是基于事件的异步接口(1)IoService(最底层[起点])作用:隐藏底层IO的细节,对上提供统一的基于事件的异步IO接口IOSocketAcceptor和IOSocketChan
HarmonyOS第24天:鸿蒙应用安全秘籍:如何为用户数据筑牢防线?
老三不说话、
HarmonyOS开发 harmonyos 华为
开篇引入在数字化时代,我们的生活越来越依赖各种应用程序。从社交娱乐到移动支付,从健康管理到工作学习,应用已经渗透到生活的方方面面。然而,随着应用使用的日益频繁,用户隐私数据泄露的风险也在不断增加。前几年,某知名社交平台被曝光数百万用户数据泄露事件,用户的个人信息、聊天记录等敏感数据被非法获取并在暗网上出售。这一事件引发了轩然大波,让人们深刻意识到应用安全与隐私保护的重要性。类似的案例还有很多,如某
MySQL批量数据处理与事务管理
Mr数据杨
Python 数据分析师 mysql 数据库
MySQL是一种广泛应用的关系型数据库管理系统,尤其在数据分析和业务逻辑处理方面具有重要地位。在数据量庞大的业务场景中,批量数据处理和事务管理是提高效率和保障数据一致性的重要手段。掌握高效的批量数据操作方法与事务管理技巧,不仅能够提升操作性能,还能有效降低数据处理的出错率。本教程将深入介绍MySQL数据分析中的批量数据处理与事务管理技巧,覆盖批量数据导入与更新、事务一致性与隔离级别等关键知识,帮助
Python-Django毕业设计医院门诊管理信息系统(程序+Lw)
Python计算机毕设程序源码_
python django 课程设计
该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程项目运行环境配置:Pychram社区版+python3.7.7+Mysql5.7+HBuilderX+listpip+Navicat11+Django+nodejs。项目技术:django+python+Vue等等组成,B/S模式+pychram管理等等。环境需要1.运行环境:最好是python3.7.7,我们在这个版本上开发的。其他版
centos 8 安装docker(RPM离线)——k8s和docker系列
名栩
# 容器 docker linux centos
如果无法使用Docker的存储库来安装Docker,可以下载.rpm版本的文件并手动安装。每次要升级DockerEngine时都需要下载一个新文件。前往https://download.docker.com/linux/centos/并选择CentOS版本。然后浏览x86_64/stable/Packages/并下载.rpm要安装的Docker版本的文件。笔记要安装每晚或测试(预发布)包,stab
Java 大视界 -- Java 大数据在智慧交通自动驾驶仿真与测试数据处理中的应用(136)
青云交
大数据新视界 Java 大视界 java 大数据 自动驾驶 智慧交通 仿真 测试数据处理 数据存储
亲爱的朋友们,热烈欢迎来到青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而我的博客正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也期待你毫无保留地分享独特见解,愿我们于此携手成长,共赴新程!一、欢迎加入【福利社群】点击快速加入:青云交灵犀技韵交响盛汇福利社群点击快速加入2:2024CSDN博客之星创作交流营(NEW)二、本博客的精华专栏:大数据新视
mysql 只读事物
baidu_38558076
mysql 学习
MySQL版本:8网上搜了一下mysql的只读事物,说只读事物,只能读取到执行时间点前的内容,事物期间其他事物修改的内容不能读取到从mysql执行结果来看上面说的确实是这样。但这个不能读取其他事物修改的内容,真的是由只读来控制的吗?其实不然,事物读取其他事物变更的数据,还是由事物隔离级别来控制的,由于mysql默认的隔离级别是可重复读(其解决了不可重复读和幻读),所以就出现了”只读事物,只能读取到
清华大学《DeepSeek赋能家庭教育》深度解析:AI如何重塑现代家庭教育模式
硅基打工人
AI 人工智能 经验分享 大数据 开源 语言模型
引言:家庭教育的困境与AI的破局在数字化与智能化浪潮下,家庭教育面临多重挑战:家长教育能力不足、教育资源分配不均、亲子沟通效率低下、个性化需求难以满足等。清华大学发布的《DeepSeek赋能家庭教育》系列报告(共56页)提出了一种基于人工智能的解决方案,通过深度学习平台DeepSeek,为家庭教育注入科技动能。本文将从技术原理、核心功能、应用场景、伦理安全及未来展望等多维度展开分析。一、DeepS
python+django+vue医院门诊挂号预约管理系统57wsx
QQ_402205496
django pycharm python
开发语言:Python框架:django/flaskPython版本:python3.7.7数据库:mysql数据库工具:Navicat开发软件:PyCharm主要功能有:管理员功能:系统首页、个人中心、用户管理、医生管理、疫情公告管理、行动轨迹管理、异样报告管理、科室信息管理、异常报告管理、系统管理、医院信息管理、预约信息管理、在线聊天管理、聊天回复管理、我的收藏管理。用户功能模块:系统首页、个
一键解锁压缩烦恼!高效安全免费解压缩神器全面深度剖析
山峰999
安全 编辑器 microsoft 算法 大数据 推荐算法
❤亲爱的小伙伴们,我不定期分享好玩有趣的软件!部分小伙伴有这个需求,为了不错过我们的每一次分享,请大家记得回复互动留言,及时联系就能找到你需要的宝贝,这样大家每天都可以接收和享受到好玩有趣的推送了!❤❤❤你无需担心试用过期或反复提示购买的问题,解压缩神器国际版本承诺永久免费,让你可以无负担地享受压缩服务。在数据压缩与解压领域,一款高效、安全且易用的工具无疑是每位用户的首选。解压缩神器,作为一款的免
Java 枚举类的使用指南
HoroMin
java 开发语言
在Java中,枚举(enum)是一种特殊的数据类型,用于定义一组常量。它的使用可以提高代码的可读性和类型安全性。本文将介绍如何定义和使用枚举类,并回答有关枚举值格式的问题。1.什么是枚举?枚举是一种数据类型,允许你定义变量为特定值的集合。与普通常量相比,枚举提供了更多特性,包括字段、方法和构造器。2.如何定义枚举值使用enum关键字可以定义一个枚举类。以下是一个示例,展示了如何定义表示HTTP状态
Kubernetes 认证授权实验总结
π大星星️
kubernetes 容器 云原生
实验目标通过一系列实验步骤,深入理解Kubernetes中的认证和授权机制,包括用户账户和服务账户的创建、RBAC(基于角色的访问控制)的配置与应用,以及如何通过这些机制实现对Kubernetes资源的安全访问控制。实验环境Kubernetes集群(已部署并运行)kubectl命令行工具(已配置并连接到集群)一台具有管理员权限的主机(用于执行命令)实验一:创建用户账户并进行认证实验目的创建一个用户
pmap 命令详解:使用场景、参数解析与实际应用实例
weixin_42587823
linux云计算 服务器 linux 运维
pmap命令详解:使用场景、参数解析与实际应用实例在Linux系统中,了解进程的内存使用情况对系统调优、故障排查和内存泄漏分析至关重要。pmap命令就是一个非常实用的工具,它可以显示指定进程的内存映射信息,帮助我们直观地了解内存分配情况、共享库的加载情况以及各个内存段的占用详情。本文将详细介绍pmap命令的使用场景、各参数的功能及实际应用实例,包括具体的输入命令和输出解释。一、pmap命令的基本概
第5篇:从入门到精通:深入详解Python模块与包管理的应用
猿享天开
python 开发语言
第5篇:模块与包管理目录模块概述什么是模块导入模块标准库简介创建与使用自定义模块创建模块导入自定义模块模块搜索路径包(Packages)什么是包创建包导入包中的模块常用内置模块介绍math模块datetime模块os模块sys模块模块与包的最佳实践命名规范组织结构避免循环导入示例代码常见问题及解决方法总结模块概述什么是模块模块是Python中组织代码的一种方式。一个模块就是一个包含Python定义
SpringBoot实战系列之发送短信验证码
m0_67401660
面试 学习路线 阿里巴巴 android 前端 后端
大家好,我是??大二在读作业侠系列最新文章??Java实现聊天程序SpringBoot实战系列??SpringBoot实战系列之发送短信验证码一起刷算法与数据结构最新文章??一起刷算法与数据结构-树篇1环境搭建大集合环境搭建大集合(持续更新)内容速览:1.短信验证码平台选择考虑点2.短信平台3.实战发送短信验证码1.短信验证码平台选择考虑点各个类型短信价格短信到达率、到达时间短信内容变量灵活,便持
Java对接DeepSeek全攻略:从0到1小白无忧
古龙飞扬
java 开发语言 ai
本文将带你从零开始,详细讲解如何在Java中对接DeepSeekAPI,适合小白用户。我们将从环境搭建、API调用、数据处理等方面逐步展开,并提供完整的代码示例。目录准备工作获取DeepSeekAPI密钥创建Java项目添加依赖使用Maven引入HTTP和JSON库编写代码创建请求和响应类发送HTTP请求处理API响应完整代码示例运行与测试常见问题与解决方案1.准备工作1.1获取DeepSeekA
豆包AI的详细介绍
古龙飞扬
人工智能
一、平台访问与登录网页版:在浏览器中输入豆包官网地址,登录账号后,点击首页导航栏中的“AI作画”或相关图片生成入口,即可进入图片生成页面。APP版:在安卓应用市场或iOS的AppStore中搜索“豆包”,下载安装后打开并登录,在首页或功能区找到“AI作画”等类似入口,点击进入图片生成界面。二、主要功能及示例智能对话功能描述:豆包AI能够理解和解析自然语言,用户可以通过语音或者文字的方式输入问题,它
Spring Security 6.4登录全览:机制、特性、实战与优化
古龙飞扬
java 前端 数据库
一、登录机制SpringSecurity的登录机制是其安全框架的核心部分,它提供了一种灵活且强大的方式来保护应用程序的资源。在SpringSecurity6.4中,登录机制主要包括以下几个方面:认证流程:用户通过登录表单提交用户名和密码。SpringSecurity的UsernamePasswordAuthenticationFilter拦截该请求,并从中提取用户名和密码。创建一个Username
用Python打造智能姓名生成器:从数据分离到AI赋能
灏瀚星空
python 人工智能 开发语言 经验分享 笔记
用Python打造智能姓名生成器:从数据分离到AI赋能目录项目概述与功能清单环境准备与工具选择项目架构设计核心代码实现AI古文解析模块交互界面开发使用示例与效果展示扩展思路与优化建议1.项目概述与功能清单核心功能数据管理CSV文件存储姓氏/名字库支持用户导入/导出数据交互界面姓名生成与实时预览已选名单管理(增删改查)排除词输入框(黑名单过滤)AI赋能从古文中提取字词及注解自动生成姓名寓意解析扩展功
HarmonyOS NEXT 开发环境搭建与金融理财类APP开发指南
harmonyos
引言随着华为鸿蒙操作系统HarmonyOSNEXT的推出,越来越多的开发者开始关注并投入到这一新生态系统的开发中。本文将详细介绍如何在HarmonyOSNEXT上搭建开发环境,并通过一个金融理财类财务记账APP的示例,展示如何进行应用程序的技术开发。开发环境搭建首先,开发者需要准备一台运行Windows或macOS的计算机,并确保安装了最新版本的JavaDevelopmentKit(JDK)。接下
IMX6ULL学习整理篇——UBoot的一些基础知识(1.编译流程)
charlie114514191
从0开始的学习ARMv7a IMX6ULL芯片 学习 UBoot 嵌入式软件 编译
前言笔者整理了最近刷IMX6ULL的一些学习笔记,这里打算稍微整理一下东西发上来作为作为一个补充正文大部分而言,当我们拿到源码的时候,一般都是——先使用make来生成一份针对我们目标开发板的配置。举个例子,正点原子针对他们的开发板(EMMC作为类似于我们电脑的硬盘,DDR类似我们电脑的内存),使用的就是他们自己配置的mx6ull_14x14_ddr512_emmc_defconfig文件。也就是说
Python常用10个模块详解:提升开发效率的利器
Python_trys
python microsoft 数据库 开发语言 Python入门 Python基础 Python教程
包含编程籽料、学习路线图、爬虫代码、安装包等!【点击领取!】Python作为一门功能强大且易于学习的编程语言,拥有丰富的标准库和第三方模块,能够帮助开发者快速实现各种功能。本文将详细介绍Python中常用的10个模块,帮助你在开发中更高效地完成任务。1.os模块:操作系统交互os模块提供了与操作系统交互的功能,包括文件操作、目录管理、环境变量等。常用功能:文件与目录操作:importos#获取当前
使用Node.js对接StockTV全球金融市场数据API
数据分析爬虫
使用Node.js对接StockTV全球金融市场数据API摘要:本文详细介绍了如何通过Node.js客户端库快速接入StockTV全球金融市场数据API,涵盖股票、外汇、期货和加密货币的实时行情获取与历史数据查询。通过本文,开发者可掌握RESTAPI调用、WebSocket实时订阅等核心功能。一、项目概述StockTVAPINode.js客户端是一个轻量级SDK,提供对全球四大金融市场的标准化访问
区间合并问题
六七_Shmily
数据结构与算法分析 算法 区间合并
在算法中遇到区间合并问题时,可以从以下角度进行分析和解决:一、核心思路:排序与贪心策略排序预处理将区间按照起始端点升序排序,确保后续处理时相邻区间可能重叠。这是解决区间合并问题的关键预处理步骤[。排序后,重叠或相邻的区间会连续排列,便于合并(例如,区间[1,3]和[2,6]会相邻)。贪心合并逻辑遍历排序后的区间,逐个判断是否与结果集中的最后一个区间重叠:重叠条件:当前区间的起始点≤结果集最后一个区
VMware中linux系统与主机win系统设置共享文件夹、安装VMware tools
鲁鲁在川
linux 运维 服务器
1.设置.虚拟机==》设置==硬件/选项==》共享文件夹==》总是启用总是启用为灰色,在虚拟机未开启其设置2.添加共享文件夹3..否存在/mnt/hgfs文件夹没有创建,有则提示sudomkdir/mnt/hgfs4.挂载共享文件夹!!挂载共享文件夹!!挂载共享文件夹!!下次启动虚拟机,还需要再填一次!!每次启用,每次挂载!!!!!!!!sudovmhgfs-fuse.host://mnt/hgf
Python模块详解:定义、操作方法与高级特性
编程咕咕gu-
python 数据库 开发语言 学习路线 数据分析
如果你正在学习Python,那么你需要的话可以点击这里Python重磅福利:入门&进阶全套学习资料、电子书、软件包、项目源码等等免费分享!在Python中,模块是一个包含Python定义和语句的文件。模块可以定义函数、类和变量。模块也可以包含可执行的代码。你可以通过import语句将一个模块中的函数、类等导入到当前的程序中,以便能够重复使用代码,提高代码的可维护性。模块定义一个Python文件(.
Algorithm
香水浓
java Algorithm
冒泡排序
public static void sort(Integer[] param) {
for (int i = param.length - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
int current = param[j];
int next = param[j + 1];
mongoDB 复杂查询表达式
开窍的石头
mongodb
1:count
Pg: db.user.find().count();
统计多少条数据
2:不等于$ne
Pg: db.user.find({_id:{$ne:3}},{name:1,sex:1,_id:0});
查询id不等于3的数据。
3:大于$gt $gte(大于等于)
&n
Jboss Java heap space异常解决方法, jboss OutOfMemoryError : PermGen space
0624chenhong
jvm jboss
转自
http://blog.csdn.net/zou274/article/details/5552630
解决办法:
window->preferences->java->installed jres->edit jre
把default vm arguments 的参数设为-Xms64m -Xmx512m
----------------
文件上传 下载 解析 相对路径
不懂事的小屁孩
文件上传
有点坑吧,弄这么一个简单的东西弄了一天多,身边还有大神指导着,网上各种百度着。
下面总结一下遇到的问题:
文件上传,在页面上传的时候,不要想着去操作绝对路径,浏览器会对客户端的信息进行保护,避免用户信息收到攻击。
在上传图片,或者文件时,使用form表单来操作。
前台通过form表单传输一个流到后台,而不是ajax传递参数到后台,代码如下:
<form action=&
怎么实现qq空间批量点赞
换个号韩国红果果
qq
纯粹为了好玩!!
逻辑很简单
1 打开浏览器console;输入以下代码。
先上添加赞的代码
var tools={};
//添加所有赞
function init(){
document.body.scrollTop=10000;
setTimeout(function(){document.body.scrollTop=0;},2000);//加
判断是否为中文
灵静志远
中文
方法一:
public class Zhidao {
public static void main(String args[]) {
String s = "sdf灭礌 kjl d{';\fdsjlk是";
int n=0;
for(int i=0; i<s.length(); i++) {
n = (int)s.charAt(i);
if((
一个电话面试后总结
a-john
面试
今天,接了一个电话面试,对于还是初学者的我来说,紧张了半天。
面试的问题分了层次,对于一类问题,由简到难。自己觉得回答不好的地方作了一下总结:
在谈到集合类的时候,举几个常用的集合类,想都没想,直接说了list,map。
然后对list和map分别举几个类型:
list方面:ArrayList,LinkedList。在谈到他们的区别时,愣住了
MSSQL中Escape转义的使用
aijuans
MSSQL
IF OBJECT_ID('tempdb..#ABC') is not null
drop table tempdb..#ABC
create table #ABC
(
PATHNAME NVARCHAR(50)
)
insert into #ABC
SELECT N'/ABCDEFGHI'
UNION ALL SELECT N'/ABCDGAFGASASSDFA'
UNION ALL
一个简单的存储过程
asialee
mysql 存储过程 构造数据 批量插入
今天要批量的生成一批测试数据,其中中间有部分数据是变化的,本来想写个程序来生成的,后来想到存储过程就可以搞定,所以随手写了一个,记录在此:
DELIMITER $$
DROP PROCEDURE IF EXISTS inse
annot convert from HomeFragment_1 to Fragment
百合不是茶
android 导包错误
创建了几个类继承Fragment, 需要将创建的类存储在ArrayList<Fragment>中; 出现不能将new 出来的对象放到队列中,原因很简单;
创建类时引入包是:import android.app.Fragment;
创建队列和对象时使用的包是:import android.support.v4.ap
Weblogic10两种修改端口的方法
bijian1013
weblogic 端口号 配置管理 config.xml
一.进入控制台进行修改 1.进入控制台: http://127.0.0.1:7001/console 2.展开左边树菜单 域结构->环境->服务器-->点击AdminServer(管理) &
mysql 操作指令
征客丶
mysql
一、连接mysql
进入 mysql 的安装目录;
$ bin/mysql -p [host IP 如果是登录本地的mysql 可以不写 -p 直接 -u] -u [userName] -p
输入密码,回车,接连;
二、权限操作[如果你很了解mysql数据库后,你可以直接去修改系统表,然后用 mysql> flush privileges; 指令让权限生效]
1、赋权
mys
【Hive一】Hive入门
bit1129
hive
Hive安装与配置
Hive的运行需要依赖于Hadoop,因此需要首先安装Hadoop2.5.2,并且Hive的启动前需要首先启动Hadoop。
Hive安装和配置的步骤
1. 从如下地址下载Hive0.14.0
http://mirror.bit.edu.cn/apache/hive/
2.解压hive,在系统变
ajax 三种提交请求的方法
BlueSkator
Ajax jqery
1、ajax 提交请求
$.ajax({
type:"post",
url : "${ctx}/front/Hotel/getAllHotelByAjax.do",
dataType : "json",
success : function(result) {
try {
for(v
mongodb开发环境下的搭建入门
braveCS
运维
linux下安装mongodb
1)官网下载mongodb-linux-x86_64-rhel62-3.0.4.gz
2)linux 解压
gzip -d mongodb-linux-x86_64-rhel62-3.0.4.gz;
mv mongodb-linux-x86_64-rhel62-3.0.4 mongodb-linux-x86_64-rhel62-
编程之美-最短摘要的生成
bylijinnan
java 数据结构 算法 编程之美
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class ShortestAbstract {
/**
* 编程之美 最短摘要的生成
* 扫描过程始终保持一个[pBegin,pEnd]的range,初始化确保[pBegin,pEnd]的ran
json数据解析及typeof
chengxuyuancsdn
js typeof json解析
// json格式
var people='{"authors": [{"firstName": "AAA","lastName": "BBB"},'
+' {"firstName": "CCC&
流程系统设计的层次和目标
comsci
设计模式 数据结构 sql 框架 脚本
流程系统设计的层次和目标
 
RMAN List和report 命令
daizj
oracle list report rman
LIST 命令
使用RMAN LIST 命令显示有关资料档案库中记录的备份集、代理副本和映像副本的
信息。使用此命令可列出:
• RMAN 资料档案库中状态不是AVAILABLE 的备份和副本
• 可用的且可以用于还原操作的数据文件备份和副本
• 备份集和副本,其中包含指定数据文件列表或指定表空间的备份
• 包含指定名称或范围的所有归档日志备份的备份集和副本
• 由标记、完成时间、可
二叉树:红黑树
dieslrae
二叉树
红黑树是一种自平衡的二叉树,它的查找,插入,删除操作时间复杂度皆为O(logN),不会出现普通二叉搜索树在最差情况时时间复杂度会变为O(N)的问题.
红黑树必须遵循红黑规则,规则如下
1、每个节点不是红就是黑。 2、根总是黑的 &
C语言homework3,7个小题目的代码
dcj3sjt126com
c
1、打印100以内的所有奇数。
# include <stdio.h>
int main(void)
{
int i;
for (i=1; i<=100; i++)
{
if (i%2 != 0)
printf("%d ", i);
}
return 0;
}
2、从键盘上输入10个整数,
自定义按钮, 图片在上, 文字在下, 居中显示
dcj3sjt126com
自定义
#import <UIKit/UIKit.h>
@interface MyButton : UIButton
-(void)setFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title Font:(CGFloa
MySQL查询语句练习题,测试足够用了
flyvszhb
sql mysql
http://blog.sina.com.cn/s/blog_767d65530101861c.html
1.创建student和score表
CREATE TABLE student (
id INT(10) NOT NULL UNIQUE PRIMARY KEY ,
name VARCHAR
转:MyBatis Generator 详解
happyqing
mybatis
MyBatis Generator 详解
http://blog.csdn.net/isea533/article/details/42102297
MyBatis Generator详解
http://git.oschina.net/free/Mybatis_Utils/blob/master/MybatisGeneator/MybatisGeneator.
让程序员少走弯路的14个忠告
jingjing0907
工作 计划 学习
无论是谁,在刚进入某个领域之时,有再大的雄心壮志也敌不过眼前的迷茫:不知道应该怎么做,不知道应该做什么。下面是一名软件开发人员所学到的经验,希望能对大家有所帮助
1.不要害怕在工作中学习。
只要有电脑,就可以通过电子阅读器阅读报纸和大多数书籍。如果你只是做好自己的本职工作以及分配的任务,那是学不到很多东西的。如果你盲目地要求更多的工作,也是不可能提升自己的。放
nginx和NetScaler区别
流浪鱼
nginx
NetScaler是一个完整的包含操作系统和应用交付功能的产品,Nginx并不包含操作系统,在处理连接方面,需要依赖于操作系统,所以在并发连接数方面和防DoS攻击方面,Nginx不具备优势。
2.易用性方面差别也比较大。Nginx对管理员的水平要求比较高,参数比较多,不确定性给运营带来隐患。在NetScaler常见的配置如健康检查,HA等,在Nginx上的配置的实现相对复杂。
3.策略灵活度方
第11章 动画效果(下)
onestopweb
动画
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/
FAQ - SAP BW BO roadmap
blueoxygen
BO BW
http://www.sdn.sap.com/irj/boc/business-objects-for-sap-faq
Besides, I care that how to integrate tightly.
By the way, for BW consultants, please just focus on Query Designer which i
关于java堆内存溢出的几种情况
tomcat_oracle
java jvm jdk thread
【情况一】:
java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环; 如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决: <jvm-arg>-Xms3062m</jvm-arg> <jvm-arg>-Xmx
Manifest.permission_group权限组
阿尔萨斯
Permission
结构
继承关系
public static final class Manifest.permission_group extends Object
java.lang.Object
android. Manifest.permission_group 常量
ACCOUNTS 直接通过统计管理器访问管理的统计
COST_MONEY可以用来让用户花钱但不需要通过与他们直接牵涉的权限
D