linux之centos 7

linux系统版本。
1、红帽子【停止更新】;
2、Ubuntu
3、CentOS 【6.x系列;7.x系列】

linux系统的2大体现方式:
1、桌面界面;
2、命令界面[线上的linux系统都是这种方式]。

在基于svn window服务器上搭建安装虚拟机(centos 7)中,要求centos7是一个独立的物理网络,设置虚拟机对应的网络链接为“桥接模式”。

Centos7中

ls 列表目录和文件
cd 进入到指定目录
ping ip地址 [终止快捷键:ctrl+c]

查看IP命令:IP addr
然后重启网络服务:service network restart

基于centos 7安装 bt,宝塔。
官方:http://www.bt.cn/

广告安装需要哪些工具

电钻,电锤,梯子【户外门头需要脚手架】,钢尺【建议10米】,老虎钳,锤子,起子,活板板手,水平仪,焊机【焊架子还会用到切割机】,气泵, 直钉枪,码钉枪,钢钉枪。

 

Git与SVN区别,各自优缺点

Git优点:

1、分布式,每个参与开发的人的电脑上都有一个完整的仓库,不担心硬盘出问题;
2、在不联网的情况下,照样可以提交到本地仓库,可以查看以往的所有log,等到有网的时候,push到远程即可;
3、非常强大的分支管理功能。
4、Git的内容的完整性要优于SVN: GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
Git缺点:

权限管理不是很方便,需要安装插件gitolite,配置有点麻烦,或者直接使用gitlab管理。
SVN优点

1、较好的权限管理功能,可以精确控制每个目录的权限;
2、使用相对git要简单一点。
SVN缺点

1、集中式,如果中心服务器出现问题,所有人都不能正常干活,恢复也很麻烦,因为SVN记录的是每次改动的差异,不是完整文件;
2、分支功能没有git强大;
3、速度没有git快,如果有五个分支,是把五个分支的文件全部拷下来;
4、必须联网才能commit。

SVN 和 Git 哪个更适用于项目管理?
      首先说一下,我是一个研发团队的项目经理,SVN和Git我都用过,SVN更适用于项目管理, Git仅适用于代码管理。
     一个研发队伍的成员正常包括:需求分析、设计、美工、程序员、测试、实施、运维,每个成员在工作中都有产出物,  包括了文档、设计代码、程序代码,这些都需要按项目集中进行管理的。SVN能清楚的按目录进行分类管理, 使项目组的管理处于有序高效的状态。

https://blog.csdn.net/mine_song/article/details/70770467

怎么uefi下安装win7系统|win7 uefi u盘安装教程

win7系统默认是Legacy BIOS引导的,对应的硬盘分区表格式是MBR,现在随着技术的不断进步,UEFI主板逐渐流行起来,而且新电脑都是支持uefi引导的,uefi是win8/win10默认的引导方式,事实上uefi安装win7也是可以的,win7 64位支持在uefi下安装,那么uefi win7安装步骤是怎样的呢?下面系统城小编跟大家分享UEFI U盘安装win7系统教程。

安装须知:
1、uefi win7安装系统需要主板支持UEFI模式,而且系统必须是win7 64位系统
2、如果之前不是gpt分区,uefi安装前需要格盘,大家务必备份转移硬盘所有数据

 

 

“程序无法在非mbr引导的分区上进行激活”解决方法

点击下载绿色软件:http://www.ddooo.com/softdown/86350.htm

 

layer 窗口中触发事件,给弹窗中指定的节点赋值。

 //ajax智能搜索
  function ajaxss(){
	var ss=$("#ss").val();
	$.ajax({
		   type: "POST",
		   url: "{:url('add_update_common')}",
		   data: "ss="+ss,
		   success: function(msg){
				//alert( "Data Saved: " + msg );
				$(".layui-layer-content #sscontent").html('66');
		   }
		});
  }

注意:layer弹窗中,节点选择器 .layui-layer-content

<input type=”text” name=”ss” id=”ss”>
<input type=”submit” onclick=”ajaxss();” value=”搜索” />
<div id=”sscontent”>

</div>

jquery操作select(取值,设置选中,取消选中。)

select下拉 onchange事件,实现增加selected属性的函数,经典。

function checkchange(obj){
$(“select[name=’app_order_way’] option”).each(function(){
if($(this).val()==$(obj).val()){ $(this).attr(“selected”,”selected”);
}else{
$(this).removeAttr(“selected”);
}

});

 

一、基础取值问题

例如<select class=”selector”></select>

1、设置value为pxx的项选中

$(“.selector”).val(“pxx”);

2、设置text为pxx的项选中

    $(“.selector”).find(“option:contains(‘pxx’)”).attr(“selected”,true);//不建议用attr,推荐下面的做法。

设置选中及对应的取消选中:

$(“#ids”).find(“option:selected”).prop(“selected”,false);
$(“#ids”).find(“option:contains(‘”+v+”‘)”).prop(“selected”,true);

  注意:之前$(“.selector”).find(“option[text=’pxx’]”).attr(“selected”,true);这种写法是错误的,目前个人证实input支持这种获取属性值的写法:”input[text=’pxx’]”,select中需要”option:contains(‘pxx’)”这样获取。

(感谢博友@ sunnyjs 指正)

这里有一个中括号的用法,中括号里的等号的前面是属性名称,不用加引号。很多时候,中括号的运用可以使得逻辑变得很简单。

3、获取当前选中项的value

$(“.selector”).val();

4、获取当前选中项的text

$(“.selector”).find(“option:selected”).text();

这里用到了冒号,掌握它的用法并举一反三也会让代码变得简洁。

 

二、很多时候用到select的级联,即第二个select的值随着第一个select选中的值变化。这在jquery中是非常简单的。

如:$(“.selector1”).change(function(){

// 先清空第二个

$(“.selector2”).empty();

// 实际的应用中,这里的option一般都是用循环生成多个了

var option = $(“<option>”).val(1).text(“pxx”);

$(“.selector2”).append(option);

});

 

三、jQuery获取Select选择的Text和Value:

语法解释:
1. $(“#select_id”).change(function(){//code…});   //为Select添加事件,当选择其中一项时触发
2. var checkText=$(“#select_id”).find(“option:selected”).text();  //获取Select选择的Text
3. var checkValue=$(“#select_id”).val();  //获取Select选择的Value
4. var checkIndex=$(“#select_id “).get(0).selectedIndex;  //获取Select选择的索引值
5. var maxIndex=$(“#select_id option:last”).attr(“index”);  //获取Select最大的索引值

 

四、jQuery设置Select选择的 Text和Value:

语法解释:
1. $(“#select_id “).get(0).selectedIndex=1;  //设置Select索引值为1的项选中
2. $(“#select_id “).val(4);   // 设置Select的Value值为4的项选中
3. $(“#select_id option[text=’jQuery’]”).attr(“selected”, true);   //设置Select的Text值为jQuery的项选中

 

五、jQuery添加/删除Select的Option项:
语法解释:
1. $(“#select_id”).append(“<option value=’Value’>Text</option>”);  //为Select追加一个Option(下拉项)
2. $(“#select_id”).prepend(“<option value=’0′>请选择</option>”);  //为Select插入一个Option(第一个位置)
3. $(“#select_id option:last”).remove();  //删除Select中索引值最大Option(最后一个)
4. $(“#select_id option[index=’0′]”).remove();  //删除Select中索引值为0的Option(第一个)
5. $(“#select_id option[value=’3′]”).remove();  //删除Select中Value=’3’的Option
5. $(“#select_id option[text=’4′]”).remove();  //删除Select中Text=’4’的Option

 

六、jquery radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关 

1 获取一组radio被选中项的值
var item = $(‘input[name=items][checked]’).val();

2 获取select被选中项的文本
var item = $(“select[name=items] option[selected]”).text();

3 select下拉框的第二个元素为当前选中值
$(‘#select_id’)[0].selectedIndex = 1;

4 radio单选组的第二个元素为当前选中值
$(‘input[name=items]’).get(1).checked = true;

 

七、获取值
文本框,文本区域:$(“#txt”).attr(“value”);
多选框 checkbox:$(“#checkbox_id”).attr(“value”);
单选组radio:   $(“input[type=radio][checked]”).val();
下拉框select: $(‘#sel’).val();

八、控制表单元素:
文本框,文本区域:$(“#txt”).attr(“value”,”);//清空内容
$(“#txt”).attr(“value”,’11’);//填充内容
多选框checkbox: $(“#chk1”).attr(“checked”,”);//不打勾
$(“#chk2”).attr(“checked”,true);//打勾
if($(“#chk1”).attr(‘checked’)==undefined) //判断是否已经打勾
单选组 radio:    $(“input[type=radio]”).attr(“checked”,’2′);//设置value=2的项目为当前选中项
下拉框 select:   $(“#sel”).attr(“value”,’-sel3′);//设置value=-sel3的项目为当前选中项
$(“<option value=’1′>1111</option><option value=’2′>2222</option>”).appendTo(“#sel”)//添加下拉框的option
$(“#sel”).empty();//清空下拉框

表格自动适应浏览器大小(页面自适应浏览器大小)

表格自适应浏览器大小

之前写了个页面,将width和height值给定死了,这样导致浏览器缩小时,表格不会跟着自动适应浏览器大小。

解决方法:

1.一般是给表格整体使用样式:table-layout:fixed;

2.将表格中的各个单元格的width和height属性值设为比例,而不是给定值。

提示:给嵌套到td中的表格 设置100%宽度哦。

PHP中 final关键字,static关键字,const关键字

PHP中!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

final关键字:
1.final不能用来修饰成员属性
2.final只能修饰类和方法
作用:被修饰的类不能被子类所继承;被修饰的方法不能被子类的方法覆盖。

==================
static关键字:
1.static用来修饰成员属性和成员方法,但不能用来修饰类
2.用static修饰的成员属性可以被同一个类的所有对象共享
3.静态的数据是存在 内存中的 数据段中(初始化静态段)
4.静态的数据是在类在第一次加载时,分配到内存中的
5.什么是类被加载?只要在程序中使用到这个类(有这个类名出现)
6.静态的成员属性都要用类名去访问,不用创建对象,不用对象去访问;在类里边可以用self代表本类。
7.静态方法,不能访问非静态的成员属性
8.如果你确定一个方法中不需使用到非静态的成员属性,则可以将这个方法声明为静态方法,不需实例化
对象,就可以访问。

===========================
const关键字:
1.它只能用来修饰成员属性
2.在类中声明常量必须使用const
3.访问方式和访问静态成员属性一样(类外使用 类名::成员属性,类里边则使用self::成员属性)
4.常量一定要在声明的时候就给初始值

我们用PuTTY 链接服务器centos7.x 错误:“expected key exchange group packet

使用 PuTTY 通过 SSH 访问出现错误:”expected key exchange group packet from server”。

解决:
在 PuTTY 的左侧窗格中,导航到“连接” > SSH > Kex。
在算法选择策略下,选择 “Diffie-Hellman group exchange”。
单击向下。此操作会将“Diffie-Hellman group exchange”移出第一个位置,以更改所用的算法。
单击“打开”。

徐多蔚亲测有效。

php rmdir()删除目录的需要注意的几点

php rmdir()函数用于删除目录,但是在使用这个函数删除目录之前,我们必须要做一些判断,首先要判断目录是否为空,其次要判断目录是否存在,具体请看下面描述。

php rmdir()函数用于删除目录,但在使用这个函数时,我们需要注意两点:

  1. 删除的目录必须为空
  2. 目录必须存在

因此,正确使用rmdir()函数删除目录的源代码如下:

检查目录是否为空,如果不为空,删除目录中的文件,如果目录中有子目录,还需要删除子目录。

<?php 
// 说明: 删除非空目录的解决方案

function removeDir($dirName) 
{ 
    if(! is_dir($dirName)) 
    { 
        return false; 
    } 
    $handle = @opendir($dirName); 
    while(($file = @readdir($handle)) !== false) 
    { 
        if($file != '.' && $file != '..') 
        { 
            $dir = $dirName . '/' . $file; 
            is_dir($dir) ? removeDir($dir) : @unlink($dir); 
        } 
    } 
    closedir($handle); 
      
    return rmdir($dirName) ; 
} 
?>