学习笔记_学习笔记一 - CSDN
精华内容
参与话题
  • 学习笔记(个人记录)

    千次阅读 2017-12-25 23:40:19
    nginx学习笔记,记录用

    nginx学习笔记(一)—-关于nginx的性能优化

    笔记用于记录一下nginx的学习,大部分都是转载网络上的知识,自己加以理解和整理。

     在工作中使用nginx-rtmp模块作为直播服务器,但是在部署应用过程中碰到了一些问题的,所以学习下nginx的性能优化,吸收下前辈们学习的经验。
    

    1.nginx的异步非阻塞
    今天看到一篇文章,讲的是 Nginx的异步非阻塞,正好项目中碰到点nginx的问题,先学习记录下,下面是文章的连接。

    http://blog.csdn.net/dutsoft/article/details/55224755
    配置是这样的:

    events {
        worker_connections  1024;
        use kqueue;  # 在Linux中配置:use epoll;
    }

    意思是开启nginx的异步非阻塞工作方式,使用这种方式能轻松处理高并发的问题(此功能在windows下无法开启,识别不了两种方式,待研究)


    2.设置nginx进程

    worker_processes 3;

    一般来说,服务器有几个逻辑cpu就设置几个进程,逻辑cpu就是我们通常说的几核
    这里先记录下,测试ab -n 20000 -k http://www.1990y.com/p.php 还有加-c的问题(之后研究)


    3.优化 Nginx 连接超时时间

    https://www.cnblogs.com/pzk7788/p/6923614.html
    (1) keepalive_timeout :该参数用于设置客户端连接保持会话的超时时间,超过这个时间服务器会关闭该连接
    (2) client_header_timeout :该参数用于设置读取客户端请求头数据的超时时间,如果超时客户端还没有发送完整的 header 数据,服务器将返回 “Request time out (408)” 错误
    (3) client_body_timeout :该参数用于设置读取客户端请求主体数据的超时时间,如果超时客户端还没有发送完整的主体数据,服务器将返回 “Request time out (408)” 错误
    (4) send_timeout :用于指定响应客户端的超时时间,如果超过这个时间,客户端没有任何活动,Nginx 将会关闭连接
    (5) tcp_nodelay :默认情况下当数据发送时,内核并不会马上发送,可能会等待更多的字节组成一个数据包,这样可以提高 I/O 性能,但是,在每次只发送很少字节的业务场景中,使用 tcp_nodelay 功能,等待时间会比较长

    这里还要考虑,nginx-rtmp模块可以用的设置

    展开全文
  • 学习笔记---个人觉得很好用的网站

    千次阅读 2018-07-15 10:28:01
    从2015年上大学开始就一直学习前端啦,从一开始的小白,到现在的入门,真的说前端要学习的东西真的还有很多。在这里分享一下我常用的小网站或者我在学习的时候看到别人推荐的网站。1.http://www.bootcss.com/基本...

    从2015年上大学开始就一直学习前端啦,从一开始的小白,到现在的入门,真的说前端要学习的东西真的还有很多。

    在这里分享一下我常用的小网站或者我在学习的时候看到别人推荐的网站。

    1.http://www.bootcss.com/

    基本入门都会学习这个吧,我学习的时候是三,最近我去看发现它出四了,真的很厉害,而且这个是中文的,我一个前端小白慢慢琢磨也就会用了,首页的底下有一些链接网站,我就是在那里看到很多其他很好用的工具。


    2.http://www.iconfont.cn/plus

    这个是提供图标的网站,我很喜欢里面那些精致的图表,虽然有一些图表不是那么容易的能够搜索到,但是使用起来很方便,选好之后加入项目里面,就会打包下载下来,然后解压打开里面提供的三个网页,分别代表三种不同的方法,根据方法添加到代码里面就可以的了。还可以直接下载图片,这个连登录都不用就可以下载图片。最开始我还被这个网站的动态背景惊艳了一下呢!

    3.开源中国

    这里有很多开源的资源,我在这里用过很多前端的插件,比如说有一个名字叫做H5DS的点石H5编辑器,还有JSearch网页搜索的插件等等,这里也可以下载编辑器,我是觉得像逛街一样在这里淘自己想学的小东西

    4.在学JQuery的时候遇到的几个网站:

    4-1:jQuery之家

    一开始是为了找图片轮播,这里的图片轮播真的厉害,我一开始想学习图片轮播的时候以为只有下面有个小数字然后一张张播放的样子,后面才知道有好多种,比如风琴式,巨幕式,我要学的还有很多。

    4-2jQuery EasyUI中文网

    这个网站什么时候开始用的不记得了,但是在我用LayUI的时候觉得这两个很像

    5.接下这两个是UI那边的,渐变色,我最近很喜欢用渐变色来做背景,很有高级感

    5-1:uigradients


    5-2CoolHue

    6.慕课网

    我在这里学完了js和jQuery的基础,这里的老师讲课是一方面,我觉得在孤独的学习代码的时候看下网友的评论就蛮有动力的,而且网友真的很有才啊!

    还有好多网站的,只是我暂时只能熟练操作这几个网站,适合和我一样的新手小白学习前端的时候用哦!

    展开全文
  • JavaScript学习笔记(三)Js正则、DOM

    千次阅读 多人点赞 2018-09-23 00:06:56
    学习目标 DOM 正则表达式 一、DOM 1、概述 DOM对象:Document Object Model 文档对象模型、作用、通过DOM对象可以访问和操作html文件的每个标签、 html文档加载到浏览器的内存中后、我们认为形成了一颗DOM...

    学习目标

    DOM

    正则表达式

    一、DOM

    1、概述

    DOM对象:Document Object  Model 文档对象模型、作用、通过DOM对象可以访问和操作html文件的每个标签、

    html文档加载到浏览器的内存中后、我们认为形成了一颗DOM树、而任何一个html签、标签属性和文本都是这个树上的节点元素。

    我们可以通过js的DOM组件中的方法对内存中的DOM树上的结构和内容进行修改,即通过js动态修改内存中的那一份html及css的代码。

    当浏览器把一个html文件加载到内存中之后,这个html文件,就是一个Document对象。可以使用js技术结合Document对象,对html文件中的所有标签,进行各种操作。

    在浏览器把html文件加载完成之后,标签被称作标签对象(元素节点),标签中的文件称为文本节点(文本对象),标签的属性称为属性节点(属性对象)。

    1、获取id

    document.getElementById("ID名");                返回指定的id对象

    
    <input type="submit" value="点击" id="btn" />
    <script>
        window.onload = function () {
            // id 编号
            var btn = document.getElementById("btn");
    
            btn.onclick = function () {
                alert("获取成功!");
            }
        }
    </script>
    

    2、获取name值 

    document.getElementsByName("name名");      返回指定name值的对象集合

    <input type="text" name="tname" value="王者荣耀_1" /> <br />
    <input type="text" name="tname" value="王者荣耀_2" /> <br />
    <input type="text" name="tname" value="王者荣耀_3" /> <br />
    <input type="button" name="ok" value="保存" />
    
    <script>
        window.onload = function () {
            // name = tname 的标签
            var inputs = document.getElementsByName("tname");
            alert("inputs.length = " + inputs.length);
    
            // 遍历
            for (var i = 0; i < inputs.length; i++) {
                // 取出每一个
                alert(i + " = " + inputs[i].value);
    
                // 给 input 每一个标签绑定一个 onchange 事件.
                inputs[i].onchange = function () {
                    // 内容发生更改, 需要查询 `当前元素 this` 更改后的内容
                    alert(this.value);
                }
            }
        }
    </script>
    

    2.1、获取类名:

    document.getElementsByClassName("class名"); 返回指定class名的对象集合

    <input type="text" name="tname" value="王者荣耀_1" class = "test"/> <br />
    <input type="text" name="tname" value="王者荣耀_2" class="test" /> <br />
    <input type="text" name="tname" value="王者荣耀_3" /> <br />
    <input type="button" name="ok" value="保存" />
    
    <script>
    window.onload = function () {
            // class = test 的标签
            var inputs = document.getElementsByClassName("test");
            alert("inputs.length = " + inputs.length);
    
        }
    </script>
    

    2.2、获取标签名:

    document.getElementsByTagName("标签名");          返回指定标签名的对象集合

    <select name="edu" id="edu">
        <option value="博士">博士</option>
        <option value="硕士">硕士</option>
        <option value="本科">本科</option>
        <option value="幼儿园">幼儿园</option>
    </select>
    
    <script>
        window.onload = function () {
            // tagName 标签名称
            var options = document.getElementsByTagName("option");
            alert(options.length);
    
            for (var i = 0; i < options.length; i++) {
                alert(i + " = " + options[i].value);
            }
        }
    </script>
    

    2.3、获取标签内容:

    element.innerHTML;        获取标签内部的所有内容

    element.innerText;                 获取标签内部的文本内容

    <body>
        <div id="box">
            来不来。
            <h1>一起吃饭去!</h1>
        </div>
    </body>
    
    <script>
        window.onload = function () {
    
            var box = document.getElementById("box");
    
            // innerHTML  (推荐使用)
            alert(box.innerHTML);  // <h1>内容<h1>
    
            // innerText
            alert(box.innerText);
        }
    </script>
    

    3、节点/元素的操作

    3.1、判断是否有子节点

    hasChildNodes();    判断是否含有子节点,返回true或false

    <body>
    <div id="go">
        来不来。
        <h1  id = "come">一起吃饭去!</h1>
    </div>
    <div id = "empty"></div>
    </body>
    
    <script>
        window.onload = function () {
    
            // hasChildNodes 是否包含子节点
            // 1. go 标签
            var go = document.getElementById("go");
            alert(go.hasChildNodes());          // true
            
            // 2. come 标签
            var come = document.getElementById("come");
            alert(come.hasChildNodes());        // true
    
            // 3. empty 标签
            var empty = document.getElementById("empty");
            alert(empty.hasChildNodes());       // false
        }
    </script>
    

    3.2、删除节点

    remove();                                    删除当前标签对象,等同于自杀

    removeChild(childElement);         通过父标签对象删除子标签对象

    parentElement                                  父标签对象

     

    <body>
        <ul id="city">
            <li id="bj">北京</li>
            <li id="sh">上海</li>
            <li id="gz">广州</li>
        </ul>
    </body>
    
    <script>
        window.onload = function () {
    
            // 直接删除北京  remove();
            var bj = document.getElementById("bj");
            bj.remove();
    
            // 通过 city 删除上海  parent 调用 removeChild 删除孩子.
            var city = document.getElementById("city");
            var sh = document.getElementById("sh");
            city.removeChild(sh);
    
            // 通过父节点自杀
            var gz = document.getElementById("gz");
            gz.parentElement.removeChild(gz);
        }
    </script>
    

    3.3、替换节点

    replaceChild(newChild,oldChild); 替换父节点下的子节点. 注意: 需要使用父节点对象调用该方法

    你喜欢的城市 : <br />
    <ul id="city">
        <li id="bj">北京</li>
        <li id="sh">上海</li>
    </ul>
    
    你喜欢的游戏 : <br />
    <ul>
        <li id="fk" value="fankong">反恐精英</li>
        <li id="ms" value="moshou">魔兽</li>
    </ul>
    
    <script>
        window.onload = function () {
            // 需求: 点击 `北京` 节点, 使用 `反恐精英` 节点实现替换
            // replaceChild(newChild, oldChild);  注意: 该方法需要使用 `父节点` 实现调用.
    
            // 1. 获取标签对象
            var city = document.getElementById("city");
            var bj = document.getElementById("bj");
            var fk = document.getElementById("fk");
    
            // 2. 调用方法
            bj.onclick = function () {
                city.replaceChild(fk, bj);
            }
        }
    </script>
    

    3.4、创建元素

    document.createElement("tagName");         创建标签对象

    需要与appendChild() insertBefore()方法联合使用

    // 创建节点
    document.createElement("li");
    

    ​​​​​3.5、新增子节点

    appendChild(newChild);              向父标签内部末尾处追加子节点
     

    <ul id="city">
        <li id="bj" value="beijing">北京</li>
        <li id="sh" value="shanghai">上海</li>
        <li id="cq" value="chongqing">重庆</li>
    </ul>
    
    <script>
        window.onload = function () {
    
            // 1. 创建节点
            var newLi = document.createElement("li");
            // 2. 设置内容
            newLi.innerHTML = "天津";
    
            // 3. 拼接节点
            var city = document.getElementById("city");
            city.appendChild(newLi);
        }
    </script>
    

    insertBefore(newChild,refChild);	向父标签下指定的子节点前添加标签对象. 注意:使用父标签调用该方法
    <script>
        window.onload = function () {
    
            // 1. 创建节点
            var newLi = document.createElement("li");
            // 2. 设置内容
            newLi.innerHTML = "天津";
    
            // 需求 : 将城市节点 <li>天津</li> 放置到北京和上海的中间
            var city = document.getElementById("city");
            var sh = document.getElementById("sh");
            city.insertBefore(newLi, sh);
        }
    </script>
    

    4、标签属性的操作

    4.1、获取属性

    element.getAttribute("name")  或者  element.属性名    :获得属性的值

    一般来说,我们直接使用element.属性名即可,如果这种方法不行,就采用上述的方式来获取。

    <input type="text" id="txt" value="请输入用户名" class="baidu" />
    <script>
        window.onload = function () {
    
            // 1. 获取 input 标签
            var input = document.getElementById("txt");
    
            // 2. 获取属性
            alert(input.value);
    
            alert(input.getAttribute("value"));
    
            alert(input.getAttribute("class"));
        }
    </script>
    

    4.2、设置属性

    element.setAttribute("name","value"):设置属性的值。以直接采用element.属性名通过单等号来赋值

    // 需求 : 给input添加一个name属性   name="username"

    <script>
        window.onload = function () {
    
            // 1. 获取 input 标签
            var input = document.getElementById("txt");
    
            // 需求 : 给input添加一个name属性   name="username"
            // input.name = "username";
    
            input.setAttribute("name", "username2");
        }
    </script>
    
    <input type="text" id="txt" value="请输入用户名" class="baidu" />

    在浏览器开发者工具里可以看到:如下图

    4.3、删除属性

    element.removeAttribute("name"); 删除某个属性

    // 需求 : 删除 input 的 value 属性

    <input type="text" id="txt" value="请输入用户名" class="baidu" />
    <script>
        window.onload = function () {
    
            // 1. 获取 input 标签
            var input = document.getElementById("txt");
    
            // 需求 : 删除 input 的 value 值
            input.removeAttribute("value");
        }
    </script>
    

    5、css样式的修改

    obj.style.样式名               获取值    

    obj.style.样式名=值         修改值       修改的值的格式必须跟css一模一样,也就是说有单位的必须加单位

    <div id="box" style="width: 200px; height: 200px; background-color: pink;"></div>
    <script>
        window.onload = function () {
    
            // 1. 获取 box 标签
            var box = document.getElementById("box");
    
            // 2. 设置 box 的属性值
            box.style.width = "100px";
            box.style.height = "100px";
            box.style.backgroundColor = "skyblue";
        }
    </script>
    

    6、案列

    6.1、商品全选全不选反选 

    html代码:

    <body>
        <table id="table" border="1" width="100%" align="center" style="text-align: center;">
            <tr>
                <td colspan="5" align="left">
                    <input id="uncheckBtn" type="button" value="全不选" />
                    <input id="reverseBtn" type="button" value="反选" />
                </td>
    
            </tr>
            <tr>
                <th>全选<input id="all" type="checkbox" /></th>
                <th>分类ID</th>
                <th>分类名称</th>
                <th>分类描述</th>
                <th>操作</th>
            </tr>
            <tr>
                <td><input type="checkbox" class="itemSelect" /></td>
                <td>1</td>
                <td>手机数码</td>
                <td>手机数码类商品</td>
                <td><a href="javascript:;">修改</a>|<a href="javascript:;">删除</a></td>
            </tr>
            <tr>
                <td><input type="checkbox" class="itemSelect" /></td>
                <td>2</td>
                <td>电脑办公</td>
                <td>电脑办公类商品</td>
                <td><a href="javascript:;">修改</a>|<a href="javascript:;">删除</a></td>
            </tr>
            <tr>
                <td><input type="checkbox" class="itemSelect" /></td>
                <td>3</td>
                <td>鞋靴箱包</td>
                <td>鞋靴箱包类商品</td>
                <td><a href="javascript:;">修改</a>|<a href="javascript:;">删除</a></td>
            </tr>
            <tr>
                <td><input type="checkbox" class="itemSelect" /></td>
                <td>4</td>
                <td>家居饰品</td>
                <td>家居饰品类商品</td>
                <td><a href="javascript:;">修改</a>|<a href="javascript:;">删除</a></td>
            </tr>
        </table>
    </body>
    

    js代码实现:

    <script>
        window.onload = function () {
    
            // 需求 : 全选
            // 1.1 获取全选按钮的选择框元素
            var all = document.getElementById("all");
            // 1.2 获取所有的 itemSelect 标签
            var itemSelects = document.getElementsByClassName("itemSelect");
    
            // 2. 给全选按钮绑定单击事件
            all.onclick = function () {
    
                // 3. 获取全选按钮的当前状态属性值
                // var checked = all.getAttribute("checked");  不适用
                var checked = all.checked;
                // alert("checked = " + checked);
    
                // 4. 遍历 itemSelects 数组
                for (var i = 0; i < itemSelects.length; i++) {
                    itemSelects[i].checked = checked;
                }
            }
    
            // 需求 : 全不选
            var uncheckBtn = document.getElementById("uncheckBtn");
            uncheckBtn.onclick = function () {
                for (var i = 0; i < itemSelects.length; i++) {
                    itemSelects[i].checked = false;
                }
                all.checked = false;
            }
    
            // 需求 : 反选
            var reverseBtn = document.getElementById("reverseBtn");
            reverseBtn.onclick = function () {
    
                // 定义一个 count 计算器
                var count = 0;
    
                // 遍历 itemSelects 数组
                for (var i = 0; i < itemSelects.length; i++) {
    
                    // 方式一 : 判断
                    if (itemSelects[i].checked == true) {
                        itemSelects[i].checked = false;
                    } else {
                        itemSelects[i].checked = true;
                        // 计算为 true 的数量
                        count++;
                    }
    
                    // 方式二 : 取反
                    // itemSelects[i].checked = !itemSelects[i].checked;
    
                    // 方式三 : 让 checkbox 被点击一下. 方法: click();
                    // itemSelects[i].click();
                }
    
                // 遍历结束后, 实现判断
                if (count == itemSelects.length) {
                    all.checked = true;
                } else {
                    all.checked = false;
                }
            }
        }
    </script>
    

    6.2、隔行换色

    思路 : 获取 tr 行, 设置背景色.

    html代码:同上

    js代码:

    <script>
        window.onload = function () {
    
            // getElementsByTagName(tr标签);
            // 1. 获取所有的 tr 标签
            var trs = document.getElementsByTagName("tr");
            // alert("trs.length = " + trs.length);
    
            // 2. 遍历 trs 数组
            for (var i = 2; i < trs.length; i++) {
    
                // 3. 判断
                if (i % 2 == 0) {
                    trs[i].style.backgroundColor = "yellow";
                } else {
                    trs[i].style.backgroundColor = "skyblue";
                }
            }
        }
    </script>
    

     

    6.3、鼠标移入变色, 移除还原 :  onmouseover, onmouseout

    html代码同上:

    js代码如下:

    <script>
        window.onload = function () {
    
            // getElementsByTagName(tr标签);
            // 1. 获取所有的 tr 标签
            var trs = document.getElementsByTagName("tr");
            // alert("trs.length = " + trs.length);
    
            // 定义一个 color 属性
            var color;
    
            // 2. 遍历 trs 数组
            for (var i = 2; i < trs.length; i++) {
    
                // 3. 判断
                if (i % 2 == 0) {
                    trs[i].style.backgroundColor = "yellow";
                } else {
                    trs[i].style.backgroundColor = "skyblue";
                }
    
                // 4. 为每一行绑定一个 `鼠标移入 onmouseover` 事件
                trs[i].onmouseover = function () {
                    // 记录当前行颜色
                    color = this.style.backgroundColor;
                    // trs[i].style.backgroundColor = "#ccc";  // 行不通. (在函数内部不能使用循环变量 i)
                    // 当前行实现变色
                    this.style.backgroundColor = "#ccc";
                }
    
                // 5. 为每一行绑定一个 `鼠标移出 onmouseout` 事件
                trs[i].onmouseout = function () {
                    this.style.backgroundColor = color;
                }
            }
        }
    </script>
    

     

    6.4、下拉列表、二级联动

    效果图:

    html代码:

    <body>
        <select id="province">
            <option value="none">--请选择省--</option>
            <option value="0">北京市</option>
            <option value="1">上海市</option>
            <option value="2">广州市</option>
        </select>
        <select id="city">
            <option value="none">--请选择市--</option>
        </select>
    </body>
    

    实现方案一 : city.innerHTML

    <script>
        window.onload = function () {
    
            // 1. 先准备区县的数组
            var cities = [
                ["朝阳区", "海淀区", "丰台区", "昌平区", "西城区", "东城区", "通州区", "大兴区"],
                ["浦东新区", "闵行区", "静安区", "徐汇区", "杨浦区", "嘉定区", "黄埔区"],
                ["白云区", "天河区", "花都区", "番禺区"]
            ];
    
            // 2. 获取 `省` 和 `市` 的标签
            var province = document.getElementById("province");
            var city = document.getElementById("city");
    
            // 3. 监听省份发生更改事件
            province.onchange = function () {
    
                // 注意: 清除 `区县` 信息
                city.innerHTML = "<option value=\"none\">--请选择市--</option>";
    
                // 4. 获取 `省份` 对应的value数值
                var index = province.value;
    
                // 5. 根据获取的 index, 遍历 cities 二维数组中对应的 `一维数组`.
                for (var i = 0; i < cities[index].length; i++) {
    
                    // 方式一 : innerHTML
                    city.innerHTML += "<option value=\"none\">"+ cities[index][i] +"</option>";
                }
            }
        }
    </script>
    

    实现方案二 : city.appendChild();

    <script>
        window.onload = function () {
    
            // 1. 先准备区县的数组
            var cities = [
                ["朝阳区", "海淀区", "丰台区", "昌平区", "西城区", "东城区", "通州区", "大兴区"],
                ["浦东新区", "闵行区", "静安区", "徐汇区", "杨浦区", "嘉定区", "黄埔区"],
                ["白云区", "天河区", "花都区", "番禺区"]
            ];
    
            // 2. 获取 `省` 和 `市` 的标签
            var province = document.getElementById("province");
            var city = document.getElementById("city");
    
            // 3. 监听省份发生更改事件
            province.onchange = function () {
    
                // 注意: 清除 `区县` 信息
                city.innerHTML = "<option value=\"none\">--请选择市--</option>";
    
                // 4. 获取 `省份` 对应的value数值
                var index = province.value;
    
                // 5. 根据获取的 index, 遍历 cities 二维数组中对应的 `一维数组`.
                for (var i = 0; i < cities[index].length; i++) {
    
                    // 方式二 : appendChild();
                    // 创建一个 option 标签对象
                    var option = document.createElement("option");
                    // 设置内容
                    option.innerHTML = cities[index][i];
                    // 拼接标签
                    city.appendChild(option);
                }
            }
        }
    </script>
    

    实现方案三 : city.options.add(option对象);

    <script>
        window.onload = function () {
    
            // 1. 先准备区县的数组
            var cities = [
                ["朝阳区", "海淀区", "丰台区", "昌平区", "西城区", "东城区", "通州区", "大兴区"],
                ["浦东新区", "闵行区", "静安区", "徐汇区", "杨浦区", "嘉定区", "黄埔区"],
                ["白云区", "天河区", "花都区", "番禺区"]
            ];
    
            // 2. 获取 `省` 和 `市` 的标签
            var province = document.getElementById("province");
            var city = document.getElementById("city");
    
            // 3. 监听省份发生更改事件
            province.onchange = function () {
    
                // 注意: 将 options 数组长度设置为 1
                city.options.length = 1;
    
    
                // 4. 获取 `省份` 对应的value数值
                var index = province.value;
    
                // 5. 根据获取的 index, 遍历 cities 二维数组中对应的 `一维数组`.
                for (var i = 0; i < cities[index].length; i++) {
    
                    // 方式三 : select 标签中拥有一个 options 数组.
                    // 创建 option 对象, 使用 new 关键字.
                    var option = new Option(cities[index][i]);
                    // 将 option 对象添加到 options 数组中.
                    city.options.add(option);
                }
            }
        }
    </script>
    

     

    二、正则表达式

    1、概述

    正则表达式是字符模式的对象、主要用来验证客户端的输入数据、。用户填写完表单单击按钮之后,表单就会被发送到服务器,在服务器端通常会用Java 、PHP、等服务器脚本对其进行进一步处理。因为客户端验证,可以节约大量的服务器端的系统资源,并且提供更好的用户体验

    2、正则语法

    2.1、创建正则表达式

    方法一、采用new运算符、

    var box = new RegExp('box'); //第一个参数字符串
    var box = new RegExp('box', 'ig'); //第二个参数可选模式修饰符

    方法二、采用字面量方式

    注意:不用加双引号

    var box = /box/; //直接用两个反斜杠
    var box = /box/ig; //在第二个斜杠后面加上模式修饰符

    模式修饰符可选 参数

    2.2、测试正则表达式

    /*使用new 运算符的test 方法示例*/
    var pattern = new RegExp('box', 'i'); //创建正则模式,不区分大小写
    var str = 'This is a Box!'; //创建要比对的字符串
    alert(pattern.test(str)); //通过test()方法验证是否匹配
    
    /*使用字面量方式的test 方法示例*/
    var pattern = /box/i; //创建正则模式,不区分大小写
    var str = 'This is a Box!';
    alert(pattern.test(str));
    
    /*使用一条语句实现正则匹配*/
    alert(/box/i.test('This is a Box!')); //模式和字符串替换掉了两个变量
    
    /*使用exec 返回匹配数组*/
    var pattern = /box/i;
    var str = 'This is a Box!';
    alert(pattern.exec(str)); //匹配了返回数组,否则返回null

    2.3、使用字符串的正则表达式方法

    除了test()和exec()方法,String 对象也提供了4 个使用正则表达式的方法。

    /*使用match 方法获取获取匹配数组*/
    var pattern = /box/ig; //全局搜索
    var str = 'This is a Box!,That is a Box too';
    alert(str.match(pattern)); //匹配到两个Box,Box
    alert(str.match(pattern).length); //获取数组的长度
    
    /*使用search 来查找匹配数据*/
    var pattern = /box/ig;
    var str = 'This is a Box!,That is a Box too';
    alert(str.search(pattern)); //查找到返回位置,否则返回-1
    
    PS:因为search 方法查找到即返回,也就是说无需g 全局
    
    /*使用replace 替换匹配到的数据*/
    var pattern = /box/ig;
    var str = 'This is a Box!,That is a Box too';
    alert(str.replace(pattern, 'Tom')); //将Box 替换成了Tom
    
    /*使用split 拆分成字符串数组*/
    var pattern = / /ig;
    var str = 'This is a Box!,That is a Box too';
    alert(str.split(pattern)); //将空格拆开分组成数组

    2.4、正则表达式元字符

    (1)、常用元字符

    (2)、常用限定符

    (3)、常用反义词

    (4)、元字符

    案例

    <script>
    
        // 需求 : 校验用户名必须是 4~12 位字母数字下划线的组合, 不能以数字开头. (正则对象)
        // [0-9] 可以使用 \d 表示.
        // [a-zA-Z_0-9] 可以使用 \w 表示.
    
        var regex = /^[a-zA-Z]\w{3,11}$/;
    
        var result = regex.test("Jack_xie");
        if (result == true) {
            alert("用户名可用.");
        } else {
            alert("请更换用户名.");
        }
    
    </script>
    

    3、表单验证

    html代码

    <body>
        <form action="server" method="post" id="myform" onsubmit="return checkAll()">
            <table class="main" border="0" cellspacing="0" cellpadding="0">
                <tr>
                    <td>
                        <img src="../img/logo.jpg" alt="logo" />
                        <img src="../img/banner.jpg" alt="banner" width="350px" />
                    </td>
                    
                </tr>
                <tr>
                    <td class="hr_1">新用户注册</td>
                </tr>
                <tr>
                    <td style="height:10px;"></td>
                </tr>
                <tr>
                    <td>
                        <table width="100%" border="0" cellspacing="0" cellpadding="0">
                            <tr>
                                <!-- 长度为4~16个字符,并且以英文字母开头 -->
                                <td class="left">用户名:</td>
                                <td class="center">
                                    <input id="user" name="user" type="text" class="in" onblur="checkUser()"/>
                                    <span style="color: red" id="userInfo"></span>
                                </td>
                            </tr>
                            <tr>
                                <!-- 不能为空, 输入长度大于6个字符 -->
                                <td class="left">密码:</td>
                                <td class="center">
                                    <input id="pwd" name="pwd" type="password" class="in" onblur="checkPassword()"/>
                                    <span style="color: red" id="pwdInfo"></span>
                                </td>
                            </tr>
                            <tr>
                                <!-- 不能为空, 与密码相同 -->
                                <td class="left">确认密码:</td>
                                <td class="center">
                                    <input id="repwd" name="repwd" type="password" class="in" onblur="checkRepassword()"/>
                                    <span style="color: red" id="repwdInfo"></span>
                                </td>
                            </tr>
                            <tr>
                                <!-- 不能为空, 邮箱格式要正确 -->
                                <td class="left">电子邮箱:</td>
                                <td class="center">
                                    <input id="email" name="email" type="text" class="in" onblur="checkMail()"/>
                                    <span id="emailInfo" style="color: red;"></span>
                                </td>
                            </tr>
                            <tr>
                                <!-- 不能为空, 使用正则表达式自定义校验规则,1开头,11位全是数字 -->
                                <td class="left">手机号码:</td>
                                <td class="center">
                                    <input id="mobile" name="mobile" type="text" class="in" onblur="checkMobile()"/>
                                    <span id="mobileInfo" style="color: red;"></span>
                                </td>
                            </tr>
                            <tr>
                                <!-- 不能为空, 要正确的日期格式 -->
                                <td class="left">生日:</td>
                                <td class="center">
                                    <input id="birth" name="birth" type="text" class="in" onblur="checkBirth()"/>
                                    <span id="birthInfo" style="color: red;"></span>
                                </td>
                            </tr>
                            <tr>
                                <td class="left">&nbsp;</td>
                                <td class="center">
                                    <input type="image" src="../img/register.jpg" />
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
            </table>
        </form>
    </body>
    

    表单验证js代码

    <script>
        // 检查所有 : 控制了表单的提交事件
        function checkAll() {
            return checkUser() && checkMail() && checkPassword() 
            && checkRepassword() && checkMobile() && checkBirth();
        }
    
        // 校验用户名
        function checkUser() {
            <!-- 长度为4~16个字符,并且以英文字母开头 -->
            var regex = /^[a-zA-Z]\w{3,15}$/;
            return regexMethod(regex, "user");
        }
    
        // 校验邮箱
        function checkMail() {
            <!-- 不能为空, 邮箱格式要正确 -->
            var regex = /^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/;
            return regexMethod(regex, "email");
        }
    
        // 校验密码
        function checkPassword() {
            var regex = /^[a-zA-Z0-9]{6,20}$/;
            return regexMethod(regex, "pwd");
        }
    
        // 校验重复密码
        function checkRepassword() {
            // 1. 获取两次密码的数值
            var pwd = document.getElementById("pwd").value;
            var repwd = document.getElementById("repwd").value;
            // 2. 判断
            if (pwd != repwd) {
                document.getElementById("repwdInfo").innerHTML = "两次密码不一致";
                return false;
            }
            document.getElementById("repwdInfo").innerHTML = "<img src='../img/gou.png' width='15px' />";
            return true;
        }
    
        // 校验手机号码
        function checkMobile() {
            var regex = /^1[34578]\d{9}$/;
            return regexMethod(regex, "mobile");
        }
    
        // 校验生日
        function checkBirth() {
            // 1988-09-01
            // 2008-12-31
            var regex = /^((19\d{2})|(200\d))-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$/; // type=date
            return regexMethod(regex, "birth");
        }
    
        // 定义一个函数  (正则封装)
        function regexMethod(regex, name) {
            var value = document.getElementById(name).value;
            if (regex.test(value) == false) {
                document.getElementById(name + "Info").innerHTML = "格式不正确!";
                return false;
            }
            document.getElementById(name + "Info").innerHTML = "<img src='../img/gou.png' width='15px'/>";
            return true;
        }
    </script>
    

     

    展开全文
  • javaScript学习笔记(一)js基础

    万次阅读 多人点赞 2018-09-21 10:07:18
    ================================= 公众号 关注一波 (一叶知秋博客) 不定期分享视频资料 一、简介 1、概述: ...JavaScript是目前web开发中不可缺少的脚本语言,js不需要编译即可运行,运行在客户端,需要...

     

                                          公众号  关注一波  不定期分享视频资料

     

                                                                   

    一、简介

    1、概述:

    JavaScript是目前web开发中不可缺少的脚本语言,js不需要编译即可运行,运行在客户端,需要通过浏览器来解析执行JavaScript代码。

    诞生于1995年,当时的主要目的是验证表单的数据是否合法

    JavaScript本来应该叫Livescript,但是在发布前夕,想搭上当时超热的java顺风车,临时把名字改为了JavaScript。(也就是说js跟java没有关系,当时只是想借助java的名气)。

    js组成部分:

    (1)核心(ECMAScript):这一部分主要是js的基本语法。

    (2)BOM:Brower Object Model(浏览器对象模型),主要是获取浏览器信息或操作浏览器的,例如:浏览器的前进与后退、浏览器弹出提示框、浏览器地址栏输入网址跳转等操作等。

    (3)DOM:Document Object Model(文档对象模型),此处的文档暂且理解为html,html加载到浏览器的内存中,可以使用js的DOM技术对内存中的html节点进行修改,用户从浏览器看到的是js动态修改后的页面。(增删改查)

    2、特点:

    1. 交互性(它可以做的就是信息的动态交互)
    2. 安全性(不允许直接访问本地硬盘)
    3. 跨平台性(只要是可以解析js的浏览器都可以执行,和平台无关)

    3、和Java区别:

    4、作用

    avaScript 被用来改进设计、验证表单、检测浏览器、创建cookies,等等。JavaScript 是因特网上最流行的脚本语言,并且可在所有主要的浏览器中运行,比如: Internet Explorer、 Maxthon、Mozilla、Firefox、Netscape、Chrome和 Opera等。

    在目前学习阶段只要记住最常用的二个:(1)运态修改html及css代码 (2)验证表单

    5、书写位置

    5.1、内嵌式:

    理论上js可以书写在页面的任意位置。

    <script>

    alert("内嵌式")

    </script>

    5.2、外链式:

    首先新建一个文件类型为.js的文件,然后在该文件中写js语句,通过script标签对引入到html页面中。

    <script src="js文件路径地址">这里不能写js语句</script>

    5.3、行内式:

    直接书写在标签身上,是一个简写的事件,所以又称之为事件属性。     onclick单击事件

    <input type="button" value="点我呀!" onclick="alert('点我干啥!^6^');">
    <button onclick="alert('恭喜你,中 500 万.');">点我呀!</button>
    

    6、注释:

    单行注释:		//	注释语句		快捷键ctrl+/
    多行注释:		/* 注释语句 */    快捷键ctrl+shift+/   
    注意:多行注释相互不能嵌套使用,只能在多行注释里面使用单行注释!
    

    7、数据类型:

    Js中的数据类型:
     

    数值型:number(凡是数字都是数值型,不区分整数和小数)
    字符串:string(凡是引号包裹起来的内容全部都是字符串)
    布尔:boolean(true、false)
    对象类型:object(特殊取值null)
    未定义型:undefined
    

    对比java中的数据类型:

    整数:byte short int long
    小数:float double
    字符:char 
    布尔:boolean
    字符串:String

    8、变量:

    8.1、定义:就是存放数据的、内疗可以存储任意数据

    8.2、声明变量:
     

    var 变量名称 = 存储的数据;   	(variable 变量)

    8.3、变量命名规范:

    1.	只能由字母、数字、_(下划线)、$(美元符号)组成。
    2.	不能以数字开头。
    3.	命名中不能出现-(js会理解成减号进行减法的操作),不能和关键字冲突。
    

    js是弱类型语言,不重视类型的定义,但js会根据为变量赋值的情况自定判断该变量是何种类型:

    数值型:var i = 1;	var d = 2.35;
    字符串:var str = "用心学习";
    布尔型:var b = true;
    

    对比Java:java是强类型的语言,注重类型的定义,Java定义类型如下:

    整型:int i = 1;
    浮点型:double d = 2.35;
    字符串:String str = “用心学习”;
    布尔型:boolean b = true;
    

    总结:js中变量的定义。只要加一个var就行。java则使用什么类型的变量就要定义什么类型的。

    9、检测数据类型:

    typeof(value); 或者typeof value;     返回这个变量的类型. 
    说明 : 同一个变量, 可以进行不同类型的数据赋值.
    
    <script type="text/javascript">
        
        var a;
        alert(typeof a);  // undefined
    
        a = 998;
        alert(typeof a); // number
    
        a = "用心学习";
        alert(typeof a); // string
    
        a = true;
        alert(typeof a); // boolean
        
    </script>
    

    10、算术运算符

    +	-	*	/	%	++	--

    注意:

    1.	由于js中的小数和整数都是number类型,不存在类似整数除以整数还是整数的结论。
    2.	字符串和其他的数据使用+号运算,会连接成一个新的字符串。
    3.	字符串使用除了+以外的运算符:如果字符串本身是一个数字,那么会自动转成number进行运算
    ,否则就会返回一个NaN的结果,表示这不是一个数字。NaN:not a number
    
    <script>
    
        alert(1234 / 1000 * 1000); // 1234
      
        var s = "12";
         s -= 10;
        alert(s);  // 2
     
        var s = "aa";
        s -= 10;
        alert(s);  // NaN       Not a Number 不是一个数字
    
        var s = "12";
        s += 10;
        alert(s);       // 1210 
    
    </script>
    

    11、关系(比较)运算符

    >		>=		<		<=  	!=		
    ==	等于(只比较内容)	===	恒等于(比较内容的同时还要比较数据类型)
    注意:关系运算符返回的结果只有两个:true / false
    
    <script>
    
        // 请问1 : 3 > 5, 结果为 ?
        alert(3 > 5);   // false
    
        // 请问2 : “22” == 22  结果为 ?
        alert("22" == 22); // true  (仅仅判断数值)
    
        // 请问3 : “22” === 22  结果为 ?
        alert("22" === 22);  // false  (恒等于, 数值和类型都要相等)
        
    </script>
    

    12、逻辑运算符

    &&	 	与		true&&false		====>false
    || 		或		true||false			====>true
    ! 		非		!true				====>false
    false(理解):false,  0,  null,  undefined 
    true(理解):true, 非0,  非null,  非undefined
    
    针对 && 顺口溜: 找第一个出现的假值. (一假即假)
    针对 || 顺口溜: 找第一个出现的真值. (一真即真)

    演示一:

    <script>
    
        // 短路与 (一假即假)
        // 口诀 : 找第一个为假的值.
    
        // 请问1 :  8 < 7 && 3 < 4, 结果为 ?
        alert(8 < 7 && 3 < 4);  // false
    
        // 请问2 :  -2 && 6 + 6 && null 结果为 ?
        alert(-2 && 6 + 6 && null); // null
    
        // 请问3 :  1 + 1 && 0 && 5  结果为 ?
        alert(1 + 1 && 0 && 5); // 0
    
    </script>
    

    演示二:

    <script>
    
        // 短路或 : 一真即真.
        // 口诀 : 找第一个为真的值.
    
        // 请问1 :  0 || 23 结果为 ?
        alert(0 || 23); // 23
    
        // 请问2 :  0 || false || true  结果为 ?
        alert(0 || false || true); // true
    
        // 请问3 :  null || 10 < 8 || 10 + 10结果为 ?
        alert(null || 10 < 8 || 10 + 10);  // 20
    
        // 请问4 :  null || 10 < 8 || false结果为 ?
        alert(null || 10 < 8 || false); // false
        
    </script>
    

    13、三元运算符:

    条件?表达式1:表达式2
    如果条件为true,返回表达式1的结果
    如果条件为false,返回表达式2的结果
    

    演示:

    <script>
    
        // 请问1 :  3 ? “aaa” : “bbb” 结果为 ?
        alert(3 ? "aaa" : "bbb");       // aaa
    
        // 请问2 :  0 ? “ccc” : “ddd”  结果为 ?
        alert(0 ? "ccc" : "ddd");       // ddd
        
    </script>
    

    14、if条件语句

    这个和Java中if语句一样。

    演示:

    <script>
    
          var score = 59;
    
          if (score >= 90) {
              alert("优秀");
          } else if (score >= 80) {
              alert("良好");
          } else if (score >= 60) {
              alert("及格");
          } else {
              alert("不及格");
          }
    
      </script>
    

    15、switch分支结构

    这个和java中switch结构一样。只是Java中表达式为:常量 整型(去long)、字符、字符串

    演示:

    <script>
    
          var score = 59;
    
          // 需求 : 将需要一个整型数值, 不想要小数点.
          // window 对象的 parseInt 方法.
          score = window.parseInt(score / 10 + "");
          // alert(score);
    
          switch (score) {
              case 10:
              case 9:
                  alert("优秀!");
                  break;
              case 8:
                  alert("良好!");
                  break;
              case 7:
              case 6:
                  alert("及格!");
                  break;
              default:
                  alert("不及格!");
                  break;
          }
    
      </script>
    

    16、循环结构 while、do-while. for;

    while(循环条件){循环体;}
    do{循环体;}while(循环条件);
    for(循环变量赋初值;循环条件;循环变量增值){循环语句;}
    console.log(...); 以日志的形式在控制台输出结果!
    

    演示:

    <script>
    
        // 需求 : 统计 1~100 之间能够被3和7整除的数字个数
    
        var count = 0;
    
        // 1. 遍历 1~100 之间的所有整型数值
        for (var i = 1; i <= 100; i++) {
    
            // 2. 判断
            if (i % 3 == 0 && i % 7 == 0) {
                // alert(i);
                console.log(i);
                // 3. 累加个数
                count++;
            }
        }
    
        // 4. 查看结果
        // alert(count);
        console.log(count);
    
    

    console.log显示如下:

    17、循环嵌套

    演示案例9*9乘法表

     <style>
            table {
                /* 将 table 表格的线变成了细线 */
                border-collapse: collapse;
                /*color: red;*/
                border-color: red;
            }
        </style>
    
        <script>
    
            // 需求 : 九九乘法口诀表
            document.write("<table border='1px solid red' cellspacing='0' cellpadding='8px'>");
            document.write("<caption>九九乘法口诀表</caption>");
            for (var i = 1; i <= 9; i++) {
                document.write("<tr>");
                for (var j = 1; j <= i; j++) {
                    document.write("<td>");
                    document.write(j + "*" + i + "=" + (j*i) + "&nbsp;&nbsp;&nbsp;&nbsp;");
                    document.write("</td>");
                }
                document.write("</tr>");
            }
            document.write("</table>");
    
        </script>
    
    

    18、自定义函数

    函数是命名的独立的语句段,这个语句段可以被当作一个整体来引用和执行:

    格式:

    function 函数名(形式参数){函数体}
    调用函数:函数名(实际参数);
    

    18.1、函数只有被调用后才会执行

    18.2、如果函数需要返回值、直接使用return 返回、不会像java一样要考虑返回值的类型

    <script type="text/javascript">
    
        // 定义一个函数 : function
        function demo2() {
            return 666;
        }
    
        // 调用函数 :
        alert(demo2());
    
    </script>
    

    18.3、如果函数需要传递参数、不需要指定参数的类型、直接使用变量即可

    <script type="text/javascript">
    
        // 定义一个函数 : function
        function demo3(a, b) {
            return a + b;
        }
    
        // 调用函数 :
        alert(demo3(10, 20));//显示30
    
    </script>
    

    18.4、js中出现二个重名的函数名、后者会把前面的覆盖掉

    对比java、java有重载(同名不同参)、重写(同名同参同返回值类型、方法体不一样)

    演示:

    <script type="text/javascript">
    
        // 定义一个函数 : function
        function demo4(a, b) {
            alert("调用1...");
        }
    
       function demo4() {
           alert("调用2...");
       }
    
        demo4(10, 20);
        demo4();
    
    </script>
    

    会显示二次下面的图片:

    19、匿名函数

    匿名函数是没有名字的函数

    function(形式参数){函数体}
    调用方式:将匿名函数赋值给一个变量,通过变量名调用函数
    定义函数并赋值给变量:var fn = function(形式参数){函数体}
    调用函数:fn(实际参数);
    

    演示:

    <script type="text/javascript">
    
        // 匿名函数 : 没有名称的函数
        var func = function(i, u) {
            alert(i + " love " + u);
        }
    
        // 调用函数 :
       func("柳岩", "小白");//显示柳岩love小白
    
    </script>
    

    20、案例-轮播图

    说明1 : script 标签需要放在 body 标签之后.
    
    说明2 : window.setInterval(“字符串函数名称()”, 时间毫秒数);
    
    说明3 : window.setInterval(函数名称, 时间毫秒数);
    
    说明4 : window.setInterval(匿名函数, 时间毫秒数);            推荐使用
    <head>
        <meta charset="UTF-8">
        <title>轮播图</title>
    
        <style>
    
            div {
                width: 80%;
                margin: 50px auto;
            }
    
            img {
                width: 100%;
            }
    
        </style>
    
    </head>
    <body>
        <div class="container">
            <img src="../img/01.jpg" alt="图片">
        </div>
    </body>
    

    实现一:

    <script>
    
        // 需求 : 动态获取页面中的 img 标签, 然后修改 img 标签的 src 属性.
        // 1. 获取 img 标签
        var img = document.getElementById("img");
        // alert(img);
    
        // 定义一个变量
        var count = 1;
    
        // 1.2 定义一个函数
        function changeImageSrc() {
            count++;
            img.src = "../img/0"+count+".jpg";
    
            // 判断
            if (count == 8) {
                count = 0;
            }
        }
    
        // 2. 循环切换图片
        // window.setInterval(函数, 时间毫秒); 在指定的时间毫秒间隔, 不断调用第一个参数传入的函数.
        // 调用方式一 :
        // window.setInterval("changeImageSrc()", 1000);
        // 调用方式二 :
        window.setInterval(changeImageSrc, 1000);
    
    </script>
    

    实现二:

    <script>
    
        // 需求 : 动态获取页面中的 img 标签, 然后修改 img 标签的 src 属性.
        // 1. 获取 img 标签
        var img = document.getElementById("img");
        // alert(img);
    
        // 定义一个变量
        var count = 1;
    
        // 2. 循环切换图片
        // window.setInterval(匿名函数, 时间毫秒); 在指定的时间毫秒间隔, 不断调用第一个参数传入的匿名函数.
        window.setInterval(function() {
            count++;
            img.src = "../img/0"+count+".jpg";
    
            // 判断
            if (count == 8) {
                count = 0;
            }
        }, 1000);
    
    </script>
    

    21、js事件

    21.1、事件概述:

    事件三要素:
    1.	事件源:被监听的html元素(就是这个事件加给谁),就是某个(某些)html标签
    2.	事件类型:某类动作,例如点击事件,移入移除事件,敲击键盘事件等
    3.	执行指令:事件触发后需要执行的代码,一般使用函数进行封装
    语法格式:事件源.事件类型=执行指令
    

    21.2、常用的事件:

    案例:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>事件</title>
    
        <script>
            // 窗口 : window 对象提供了一个事件类型  onload 页面加载完成事件.
            // 事件源 : window    事件类型 : 页面加载完成事件 (onload)  执行指令: 就是赋值的 function 函数.
            window.onload = function () {
    
                // 获取页面的 btn 按钮
                var btn = document.getElementById("btn");
                // alert(btn);
    
                // 给 btn 按钮绑定一个事件 (单击事件 onclick)
                // 事件源 : btn按钮    事件类型 : 单击事件 (onclick)  执行指令: 就是赋值的 function 函数.
                btn.onclick = function () {
                    alert("恭喜你, 中了 500 万!");
                }
            }
    
        </script>
    
    </head>
    <body>
        <button id="btn">按钮</button>
    </body>
    </html>
    

    到此基础结束。

     

    ==============《轮播图图片路径问题》================

     

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

                        公众号  关注一波  (一叶知秋博客)不定期分享视频资料

                                                           

     

     

    展开全文
  • 计算机二级Python学习笔记(九)

    千次阅读 多人点赞 2018-09-16 00:58:22
    上一篇:二级Python学习笔记(八)  距离上一篇已经过去大半个月了,明天我都要考试了,才勉强把这最后一篇更完,想想惭愧。这期间也做了不少题,不知道会不会考原题,今天第一天考的童鞋在群里说挺难,再发篇博客...
  • 学习笔记

    2020-10-21 20:34:52
    关于学习AD的笔记整理 一、安装 1.首先对于AD软件的安装推荐在微信小程序软件安装管家里获取链接,保存在百度网盘后进行下载(缺点在于百度网盘会限速,可能需要开 通24小时的会员会快一点)。 2.下载好之后,根据...
  • 学习笔记

    2018-07-08 17:58:47
    通过这两天的学习,对于Linux系统有了一个初步的了解以及熟悉了一些常用的shell命令。1. LinuxLinux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作...
  • 学习 笔记

    2018-11-16 23:22:13
    c语言指针学习笔记 间接访问和直接访问 (1)直接访问:执行写操作时,给变量赋值,是将值放到变量对应的存储空间,执行读操作时,直接从变量对应的储存空间读取已存放的数据。如: a=4;(写) printf(&amp;...
  • 学习笔记(一)

    2019-04-24 18:00:53
    前端学习(一) 1.学习这8个web开发技术 HTML+CSS+jQuery+JavaScript完成了10个项目,可获得前端开发证书 React+Sass+D3.js完成了10个项目,可获得数据可视化证书 Node.js,+Express+MongoDB完成了10个项目,可获得...
  • 影像组学学习笔记

    万次阅读 多人点赞 2017-07-02 21:55:24
    这仍然是一篇学习笔记。近期在不同的学术会议上,有幸聆听学习了几位影像组学的大咖做报告,受益匪浅。以大咖们的报告为指导,自己也学习查找了一些文献,加入了一点点自己的理解和想法,整理成一篇笔记,与大家分享...
  • 概念学习(学习笔记

    千次阅读 2018-03-22 18:53:10
    概念学习(Concept-cognitive learning) 概念学习又名概念认知学习。由来即是,研究者一直在思考,人们是怎么从没有这个概念到有这个概念的呢,是怎么学习而来的呢?通俗的说就是,比如,人类文明一开始,大家遇到...
  • Keras学习笔记(一)

    万次阅读 多人点赞 2017-05-23 11:45:41
    1.Dense 全连接层(对上一层的神经元进行全部连接,实现特征的非线性组合) keras.layers.core.Dense(units, activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', ...
  • Deep Learning(深度学习)学习笔记整理系列之(一)

    万次阅读 多人点赞 2013-04-08 23:35:33
    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04-08   声明: 1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家...
  • 〖TensorFlow2.0笔记23〗TensorFlow2.0学习笔记总结!

    千次阅读 多人点赞 2019-10-02 20:38:15
    Tensorflow2.0全套课程学习笔记! tensorflow2.0笔记1:tensorflow2.0介绍以及安装!(2019-10-1 tensorflow2.0正式版发布) tensorflow2.0笔记2:Numpy—实现线性回归问题! tensorflow2.0笔记3:手写数字问题初...
  • zigbee学习笔记(一)之 zigbee简介

    千次阅读 多人点赞 2017-11-30 00:45:00
    zigbee学习笔记(一) zigbee简介 1、什么是zigbee? zigbee是协议,类似于蓝牙、WiFi等等;它是一种标准,该标准定义了短距离、低数据传输速率无线通信的所需要的一系列的通信协议。 2、zigbee无线网络工作的三...
  • 斯坦福大学吴恩达机器学习课程 完整学习笔记+原始版讲义 全是高清版的ppt该课件为中科院一位仁兄在学习斯坦福大学吴恩达机器学习课程时候所做的学习笔记,非常好,吴老师上课略过的一些内容笔记都详细给出,并且还做...
  • 小甲鱼《零基础入门学习Python》学习笔记

    千次阅读 多人点赞 2018-09-06 23:33:58
    根据老师的建议,现在将第二次复习小甲鱼的《零基础入门学习Python》而做的学习笔记,上传到网上,方便今后复习和保存,因为是手写的,所以做了扫描锐化处理,方便阅读。 ...
  • 《C++ Primer》学习笔记/习题答案 总目录

    万次阅读 多人点赞 2019-09-10 15:17:18
    文章目录前言专栏C++学习笔记目录第一章 - 快速入门第二章 - 变量和基本类型第三章 - 标准库类型第四章 - 数组和指针第五章 - 表达式第六章 - 语句第七章 - 函数第八章 - 标准 IO 库第九章 - 顺序容器第十章 - 关联...
  • 我的微信公众号:红色石头的机器学习之路(ID:redstonewill) 欢迎大家关注我!共同学习,共同进步! 上节课我们讲了一个机器学习很重要的工具——Validation。我们将整个训练集分成两...
  • Deep Learning(深度学习)学习笔记整理系列之(四)

    万次阅读 多人点赞 2013-04-09 00:46:32
    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04-08 声明: 1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所...
1 2 3 4 5 ... 20
收藏数 1,149,910
精华内容 459,964
关键字:

学习笔记