2_jQuery

  • jQuery, 顾名思义, 也就是JavaScript和查询(Query), 它就是辅助JavaScript开发的js类库

  • 它的核心思想write less, do more(写的更少, 做的更多), 所以它实现了很多浏览器的兼容问题

  • jQuery现在已经成为最流行的JavaScript库, 在世界前10000个访问最多的网站中, 有超过55%在使用jQuery

  • jQuery是免费, 开源的, jQuery的语法设计可以使开发更加便捷, 例如操作 文档对象, 选择 DOM元素, 制作动画效果, 事件处理, 使用 Ajax以及其他功能

  • 下载

  • 使用前请先下载jquery-3.5.1.js(版本可自己选择)
  • jquery下载地址:https://www.jq22.com/jquery-info122
  • 使用
  • jQuery 库位于一个 JavaScript 文件中,其中包含了所有的 jQuery 函数, 可以通过下面的标记把 jQuery 添加到网页中:

"text/javascript"</span> src=<span class="hljs-string">"jquery.js"</span>>

  • 库的替代
  • 如果您不愿意在自己的计算机上存放 jQuery 库,那么可以从 Google 或 Microsoft 加载 CDN jQuery 核心文件。
  • 使用 Google 的CDN

"text/javascript"</span> src=<span class="hljs-string">"http://ajax.googleapis.com/ajax/libs
/jquery/1.4.0/jquery.min.js"</span>>

  • 使用 Microsoft 的 CDN

"text/javascript"</span> src=<span class="hljs-string">"http://ajax.microsoft.com/ajax/jquery
/jquery-1.4.min.js"</span>>

  • Hello World程序

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Titletitle>
    <script type="text/javascript" src="../static/js/jquery-3.5.1.js">script>
    <script type="text/javascript">

        $(function () {
            var $btnId = $("#btnId");
            $btnId.click(function () {
                alert('jQuery 的单击事件');
            });
        });
    script>
head>
<body>
    <button id="btnId">SayHellobutton>
body>
html>
  • 注意:
  • 使用jQuery一定要引入jQuery库
  • jQuery中的$是一个函数
  • 如何为按钮添加点击响应函数

    1. 使用jQuery查询到标签对象
    2. var $btnId = $(“#btnId”);//表示按id查询标签对象
    3. 使用标签对象.click(function(){});
    4. $btnId.click(function () {alert(‘jQuery 的单击事件’);});
  • $是jQuery的核心函数, 能完成jQuery的很多功能. $()就是调用$这个函数

  • 传入参数为[函数]时:
    • 表示页面加载完成之后,相当于window.onload = function () {);
  • 传入参数为[HTML字符串时]:
    • 会对我们创建这个html标签对象
  • 传入参数为[选择器字符串时]:
    • $(“#id属性值”); id选择器,根据id查询标签对象
    • $(“标签名”); 标签选择器,根据标签名查询标签对象
    • $(“.class属性值”); 类型选择器,可以根据class属性查询标签对象
  • 传入参数为[DOM对象]时:

    • 会把这个dom对象转换为jQuery对象
  • Dom对象alert出来的效果是: [object HTML标签名Element]

  • jQuery对象alert出来的效果是: [object Object]

  • jQuery对象的本质是什么?

  • jQuery对象是dom对象数组+jQuery提供的一系列功能函数

  • jQuery对象和Dom对象的使用区别
  • *jQuery对象和Dom对象互相不能使用对方的属性和方法

  • id 选择器,井号键后加id属性

  • 根据id查找标签对象
  • .class 选择器
  • 根据class查找标签对象
  • element 选择器
  • 根据标签名查找标签对象
    *
  • 表示任意的, 所有的元素
  • selector1,selector2,selectorN 组合选择器
  • 合并选择器1, 选择器2…选择器N的结果并返回

  • ancestor descendant: 在给定的祖先元素下匹配所有的后代元素

  • ancestor : 任何有效选择器
  • descendant: 用以匹配元素的选择器, 并且它是第一个选择器(ancestor )的后代元素
  • parent > child: 在给定的父元素下匹配所有的子元素
  • parent: 任何有效选择器
  • child: 用以匹配元素的选择器, 并且它是第一个选择器(parent)的子元素
  • prev + next: 匹配紧接在prev元素后的next元素(单个,同级元素)
  • prev : 任何有效选择器
  • next: 一个有效选择器并且紧接着第一个选择器
  • prev ~ siblings: 匹配所有紧接在prev元素后的siblings元素(多个,同级元素)
  • prev : 任何有效选择器
  • siblings: 一个有效选择器并且紧接着第一个选择器

  • :first: 获取第一个元素

  • :last: 获取最后一个元素
  • :not(selector): 去除所有与给定选择器匹配的元素
  • :even: 匹配所有索引值为偶数的元素, 从0开始计数
  • :odd: 匹配所有索引值为奇数数的元素, 从0开始计数
  • :eq(index): 匹配一个给定索引值的元素,index从0开始计数
  • :gt(index): 匹配所有大于给定索引值的元素,index从0开始计数
  • :lt(index): 匹配所有小于给定索引值的元素,index从0开始计数
  • :header: 匹配如 h1,h2,h3之类的标题元素
  • :animated: 匹配所有正在执行动画效果的元素
  • :focus:

  • :contains(text): 匹配包含给定文本的元素

  • :empty: 匹配所有不包含子元素或者文本的空元素
  • :parent: 匹配含有子元素或者文本的元素
  • :has(selector): 匹配含有选择器所匹配的元素的元素

  • [attribute] :匹配包含给定属性的元素

  • [attribute=value] :匹配给定的属性是某个特定值的元素
  • [attribute!=value] :匹配所有不含有指定的属性, 或者属性不等于特定值的元素
  • [attribute^=value] :匹配给定的属性是以某些值开始的元素
  • [attribute$=value] :匹配给定的属性是以某些值结尾的元素
  • [attribute*=value] :匹配给定的属性是以包含某些值的元素
  • [attrSel1] [attrSel2] [attrSelN] :复合属性选择器, 需要同时满足多个条件时使用

  • :input : 匹配所有 input, textarea, select和button元素

  • :text : 匹配所有 文本输入框
  • :password : 匹配所有 密码输入框
  • :radio : 匹配所有 单选框
  • :checkbox : 匹配所有 复选框
  • :submit : 匹配所有 提交按钮
  • :image : 匹配所有 图片
  • :reset : 匹配所有 重置阿按钮
  • :button: 匹配所有 按钮
  • :file : 匹配所有 文件域
  • :hidden : 匹配所有 不可见元素,或者type为hidden的元素

  • :enabled : 匹配所有 可用元素

  • :disabled : 匹配所有 不可用元素
  • :checked : 匹配所有 选中的被选中元素(复选框, 单选框等,不包括select中的option)
  • val()可以操作表单项的value属性值
  • 使用size()方法获取选取到的元素集合的元素个数
  • each方法是jQuery对象提供用来遍历元素的方法, 在遍历的function函数中, 有一个this对象, 这个this对象,就是当前遍历到的dom对象
  • :selected : 匹配所有 选中的option元素

  • eq() : 获取给定索引的元素

  • first() : 获取第一个元素
  • last() : 获取最后一个元素
  • filter(exp) : 留下匹配的元素
  • is() : 判断是否匹配给定的选择器, 只要有一个匹配就返回, true
  • has(exp) : 返回包含有匹配选择器的元素的元素
  • not(exp) : 删除匹配选择器的元素
  • childen(exp) : 返回匹配给指定选择器的子元素
  • find(exp) : 返回匹配给指定选择器的后代元素
  • next() : 返回当前元素的下一个兄弟元素
  • nextAll() : 返回当前元素后面所有的兄弟元素
  • nextUntil() : 返回当前元素到指定匹配的元素为止的后面元素
  • parent() : 返回父元素
  • prev(exp) : 返回当前元素的上一个兄弟元素
  • prevAll() : 返回当前元素前面所有的兄弟元素

  • html() : 它可以设置和获取起始标签和结束标签中的内容

  • 和dom属性的 innerHTML 一样
  • text() : 它可以设置和获取起始标签和结束标签中的文本
  • 和dom属性的 innerText 一样
  • val() : 它可以设置和获取表单项的value属性值
  • 和dom属性的 value 一样

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Titletitle>
    <script type="text/javascript" src="../static/js/jquery-3.5.1.js">script>
    <script type="text/javascript">
        $(function () {

            $("button").click(function () {
                alert($("#username").val())
                $("#username").val("jQuery");
            });
        })
    script>
head>
<body>
    <div>我是div标签 <span>我是div中的spanspan>div>
    <input type="text" name="username" id="username">
    <button>操作输入框button>
body>
html>
  • val() 操作表单项的选中状态

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Titletitle>
    <script type="text/javascript" src="../static/js/jquery-3.5.1.js">script>
    <script type="text/javascript">
        $(function () {

            $(":radio,:checkbox,#multiple,#single")
                .val(["radio2",
                    "checkbox1","checkbox2",
                    "mul2","mul3","mul4",
                    "sin2"]);
        });
    script>
head>
<body>
    单选:
    <input name="radio" type="radio" value="radio1" />radio1
    <input name="radio" type="radio" value="radio2" />radio2
    <br/>
    多选:
    <input name="checkbox"type="checkbox" value="checkbox1" />checkbox1
    <input name="checkbox"type="checkbox" value="checkbox2" />checkbox2
    <input name="checkbox"type="checkbox" value="checkbox3" />checkbox3
    <br/>
    下拉多选:
    <select id="multiple" multiple="multiple" size="4">
        <option value="mul1">mul1option>
        <option value="mul2">mul2option>
        <option value="mul3">mul3option>
        <option value="mul4">mul4option>
    select>
    <br/>
    下拉单选:
    <select id="single">
        <option value="sin1">sin1option>
        <option value="sin2">sin2option>
        <option value="sin3">sin3option>
    select>
body>
html>

  • attr() : 可以设置和获取属性的值, 不推荐操作 checked,readonly,selected,disabled等
  • prop() : 可以设置和获取属性的值, 只推荐操作checked,readonly,selected,disabled等

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Titletitle>
    <script type="text/javascript" src="../static/js/jquery-3.5.1.js">script>
    <script type="text/javascript">
        $(function () {

            $(":checkbox:first").attr("abc","abcValue");
            alert($(":checkbox:first").attr("abc"));
        });
    script>
head>
<body>
    多选:
    <input name="checkbox"type="checkbox" value="checkbox1" />checkbox1
    <input name="checkbox"type="checkbox" value="checkbox2" />checkbox2
    <input name="checkbox"type="checkbox" value="checkbox3" />checkbox3
body>
html>

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Titletitle>
    <script type="text/javascript" src="../static/js/jquery-3.5.1.js">script>
    <script type="text/javascript">
        $(function () {

            $("#chooseAll").click(function () {
                $(":checkbox").prop("checked",true);
            });

            $("#chooseNone").click(function () {
                $(":checkbox").prop("checked",false);
            });

            $("#chooseReverse").click(function () {

                $(":checkbox[name='items']").each(function () {

                    this.checked = !this.checked;
                });

                var allCount = $(":checkbox[name='items']").length;

                var choosedCount = $(":checkbox[name='items']:checked").length;

                $("#checkAllBox").prop("checked",choosedCount === allCount);
            });

            $("#submitBtn").click(function () {

                $(":checkbox[name='items']:checked").each(function () {
                    alert(this.value);
                })
            });

            $("#checkAllBox").click(function () {

                $(":checkbox[name='items']").prop("checked",this.checked);
            });

            $(":checkbox[name='items']").click(function () {
                var allCount = $(":checkbox[name='items']").length;
                var choosedCount = $(":checkbox[name='items']:checked").length;
                $("#checkAllBox").prop("checked",choosedCount === allCount);
            });
        });
    script>
head>
<body>
    你爱好的运动是? <input type="checkbox" id="checkAllBox" />全选/全不选
    <br/>
    <input type="checkbox" name="items" value="football" />足球
    <input type="checkbox" name="items" value="basketball" />篮球
    <input type="checkbox" name="items" value="badminton" />羽毛球
    <input type="checkbox" name="items" value="ping_pang" />乒乓球
    <br/>
    <button id="chooseAll">全选button><button id="chooseNone">全不选button><button id="chooseReverse">反选button>
    <br/>
    <button type="submit" id="submitBtn">提交button>
body>
html>
折叠
  • 内部插入
  • append(content|fn)
  • appendTo(content)
    • a.appendTo(b) : 把a插入到b子元素末尾, 成为最后一个子元素
  • prepend(content|fn)
  • prependTo(content)
    • a.prependTo(b) : 把a插入到b所有子元素前面, 成为第一个子元素
  • 外部插入
  • after(content|fn)
  • before(content|fn)
  • insertAfter(content)
  • insertBefore(content)
  • 替换
  • replaceWith(content|fn)
  • replaceAll(selector)
  • 删除
  • empty()
  • remove([expr])

  • 将左边下拉框中元素单个添加或全部添加到右侧, 右侧同理


<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Titletitle>
    <style type="text/css">
        select {
            width: 100px;
            height: 140px;
        }

        div {
            width: 130px;
            float: left;
            text-align: center;
        }
    style>
    <script type="text/javascript" src="../static/js/jquery-3.5.1.js">script>
    <script type="text/javascript">

        $(function () {

            $("button:eq(0)").click(function () {

                $("select:eq(0) option:selected").appendTo($("select:eq(1)"));
            });

            $("button:eq(1)").click(function () {

                $("select:eq(0) option").appendTo($("select:eq(1)"));
            });

            $("button:eq(2)").click(function () {

                $("select:eq(1) option:selected").appendTo($("select:eq(0)"));
            });

            $("button:eq(3)").click(function () {

                $("select:eq(1) option").appendTo($("select:eq(0)"));
            });
        })
    script>
head>
<body>
    <div id="left">
        <select name="sel01" multiple="multiple">
            <option value="opt01">选项1option>
            <option value="opt02">选项2option>
            <option value="opt03">选项3option>
            <option value="opt04">选项4option>
            <option value="opt05">选项5option>
            <option value="opt06">选项6option>
            <option value="opt07">选项7option>
            <option value="opt08">选项8option>
        select>
        <button>选中添加到右边button>
        <button>全部添加到右边button>
    div>
    <div id="right">
        <select name="sel02" multiple="multiple">
        select>
        <button>选中添加到左边button>
        <button>全部添加到左边button>
    div>
body>
html>

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Titletitle>
    <script type="text/javascript" src="../static/js/jquery-3.5.1.js">script>
    <script type="text/javascript">
        $(function () {

            var deleteFun = function(){

                var $trObj = $(this).parent().parent();

                var name = $trObj.find("td:first").text();

                if (confirm("确定要删除" + name + "吗?")) {
                    $trObj.remove();
                }

                return false;
            };

            $("#addEmployee").click(function () {

                var username = $("#username").val();
                var email = $("#email").val();
                var salary = $("#salary").val();

                var $trObj = $("" +
                    "" + username + "" +
                    "" + email + "" +
                    "" + salary + "" +
                    "Delete" +
                    "");

                $trObj.appendTo($("#employeeTable"));

                $trObj.find("a").click(deleteFun);
            });

            $("a").click(deleteFun);
        });
    script>
head>
<body>
    <table id="employeeTable" border="1" >
        <tr>
            <th>Nameth>
            <th>Emailth>
            <th>Salaryth>
            <th>th>
        tr>
        <tr>
            <td>Tomtd>
            <td>tom@tom.comtd>
            <td>5000td>
            <td><a href="deleteEmp?id=001">Deletea>td>
        tr>
        <tr>
            <td>Jacktd>
            <td>jack@jack.comtd>
            <td>7000td>
            <td><a href="deleteEmp?id=002">Deletea>td>
        tr>
        <tr>
            <td>Lilytd>
            <td>lily@lily.comtd>
            <td>9000td>
            <td><a href="deleteEmp?id=003">Deletea>td>
        tr>
    table>
    <div>
        <p>添加新员工:p>
        name: <input type="text" name="username" id="username"><br/>
        email: <input type="text" name="email" id="email"><br/>
        salary: <input type="text" name="salary" id="salary"><br/>
        <input type="submit" id="addEmployee" value="提交">
    div>
body>
html>

  • addClass() : 添加样式
  • removeClass() : 删除样式
  • toggleClass() : 有就删除,没有就添加样式
  • offset() : 获取和设置元素的坐标

  • 基本动画

  • show() : 将隐藏的元素显示
  • hide() : 将可见的元素隐藏
  • toggle() : 可见就隐藏, 不可见就显示
  • 淡入淡出动画
  • fadeIn() : 淡入,慢慢出现
  • fadeOut() : 淡出,慢慢消失
  • fadeTo()
  • fadeToggle()
  • 以上方法都可以添加参数
  • 第一个参数是动画的执行时长, 以毫秒为单位
  • 第二个参数是动画的回调函数(动画完成后自动调用的函数)
<script type="text/javascript" src="../static/js/jquery-3.5.1.js">script>
<script type="text/javascript">
    $(function () {

        $("li:gt(5):not(:last)").hide();

        $("div div a").click(function () {

            $("li:gt(5):not(:last)").toggle();

            if ($("li:gt(5):not(:last)").is(":hidden")){

                $("div div a span").text("显示全部品牌");
                $("div div").removeClass();
                $("div div").addClass("showmore");

                $("li:contains('索尼')").removeClass("promoted");
            }else {

                $("div div a span").text("显示精简品牌");
                $("div div").removeClass();
                $("div div").addClass("showless");

                $("li:contains('索尼')").addClass("promoted");
            }

            return false;
        });
    })
script>

$(function(){});

window.onload = function(){}

的区别?

它们分别在什么时候触发?

它们触发的顺序?

它们的执行次数?

  • click() : 它可以绑定事件,也可以触发事件
  • mouseover() : 鼠标移入事件
  • mouseout() : 鼠标移除事件
  • bind() : 可以给元素一次性绑定一个或多个事件
  • one() : 使用上和bind一样, 但是one()绑定的事件只会响应一次
  • unbind() : 跟bind方法相反的操作, 解除事件的绑定
  • live() : 也是用来绑定事件, 还可以用来绑定选择器匹配的所有元素的事件, 哪怕这个元素是后面动态创建出来的也有效

  • 什么是事件的冒泡?

  • 父子元素同时监听同一个事件, 当触发子元素的事件时, 同一个事件也被传递到了父元素的事件里去响应

  • 如何阻止事件的冒泡?

  • 在事件函数体内,return false; 可以阻止事件的冒泡传递

  • 事件对象,是封装有触发的事件信息的一个javascript对象

  • 我们重点关心的是怎么拿到这个javascript的事件对象,以及使用
  • 如何获取 javascript事件对象?

  • 在给元素绑定事件时, 在事件的function(event)参数列表中添加一个参数, 这个参数名, 我们习惯取名为event,这个event就是javascript传递事件处理函数的事件对象

  • 例如: 原生javascript获取事件对象
<script type="text/javascript">
    window.onload = function () {
        document.getElementById("test1").onclick = function (event) {
            console.log(event);
        }
    };
script>
  • jQuery获取事件对象
<script type="text/javascript">
    $(function () {
        $("test1").click(function (event) {
            console.log(event);
        });
    });
script>
  • 使用bind同时对多个事件绑定同一个函数,怎么获取当前操作是什么事件
<script type="text/javascript">
    $("#test1").bind("mouseover mouseout",function (event) {
        if (event.type == "mouseover"){
            console.log("鼠标移入");
        } else if (event.type == "mouseout"){
            console.log("鼠标移出");
        }
    });
script>
<script type="text/javascript">

    $(function () {

        var username = $("#username").val();

        var upattern = /^\w{5,12}$/;

        if (!upattern.test(username)) {

            $("#usernameMsg").text("用户名不合法");
            return false;
        }else {
            $("#usernameMsg").text("");
        }

        var password = $("#upassword").val();

        var ppattern = /^\w{5,12}$/;

        if (!ppattern.test(password)) {

            $("#passwordMsg").html("密码不合法");
            return false;
        }else {
            $("#passwordMsg").html("");
        }

        var confirmPwd = $("#confirmPassword").val();

        if (confirmPwd != password) {

            $("#rePwdMsg").html("密码不一致");
            return false;
        }else {
            $("#rePwdMsg").html("");
        }

        var email = $("#email").val();

        var epattern = /^([\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;

        if (!epattern.test(email)) {

            $("#emailMsg").html("邮箱不合法");
            return false;
        }else {
            $("#passwordMsg").html("");
        }

        var code = $("#code").val();

        code = $.trim(code);
        if (code == null || code == ""){
            $("#codeMsg").html("验证码不能为空");
        }else{
            $("#codeMsg").html("");
        }
    });
script>
  • AJAX是一种浏览器通过js异步发起请求, 局部更新页面的技术

  • $.ajax方法

  • url : 表示请求的地址
  • type : 表示请求的类型GET或POST请求
  • data : 表示发送给服务器的数据
    • 两种格式1. name=value&name=value 2. {key:value}
  • success : 请求响应, 响应的回调函数
  • dataType : 响应的数据类型

    • 常用的数据类型有: text表示纯文本, xml表示xml数据,json表示json对象
  • Locale对象

  • Locale表示不同的 时区,位置,语言
    • zh_CN : 中国,中文
    • en_US : 英文,美国
  • properties属性配置文件
  • 国际化配置文件命名规则
    • baseName_local.properties
    • 比如baseName是i18n
    • 中文的配置文件名时: i18n_zh_CN.properties
    • 英文的配置文件名时: i18n_en_US.properties
  • ResourceBundle.getBundle(): ResourceBundle类:
  • 根据给定的baseName和Locale读取相应的配置文件, 得到的文字信息:

    • ResourceBundle.getString(key);得到你想要的不同国家的语言信息
  • i18n_zh_CN.properties

username=用户名
password=密码
sex=性别
age=年龄
  • i18n_en_US.properties
username=username
password=password
sex=sex
age=age
import org.junit.Test;

import java.util.Locale;
import java.util.ResourceBundle;

public class MyTest {

    public void testLocale(){

        System.out.println(Locale.CHINA);

        System.out.println(Locale.US);
    }

    public void testI18n(){

        Locale locale = Locale.CHINA;

        ResourceBundle bundle = ResourceBundle.getBundle("i18n", locale);
        System.out.println("username: " + bundle.getString("username"));
        System.out.println("password: " + bundle.getString("password"));
        System.out.println("sex: " + bundle.getString("sex"));
        System.out.println("age: " + bundle.getString("age"));

    }
}
  • 例如我们有一个页面是1i8n.jsp
  • 我们想要点击中英文按钮就能用不同的语言展示页面
<body>
<a href="i18n.jsp?country=cn">中文a>|
<a href="i18n.jsp?country=us">英文a>

body>

//从请求头中获取locale信息(语言)
Locale locale = null;
String country = request.getParameter("country");
if ("cn".equals(country)) {
    local = Locale.CHINA;
}else if ("us".equals(country)) {
    locale = Locale.US;
}else {
    local = request.getLocale();
}
System.out.println(locale);
//获取读取包(通过指定的baseName和Locale对象,读取相应的配置文件)
ResourceBundle bundle = ResourceBundle.getBundle("i18n", locale);
  • 最后把页面文字展示的地方用bundle.getString(“username”)这样的方式替换掉

  • 在jsp页面中导入fmt标签库


<body>

    <fmt:setLocale value="${param.locale}"/>

    <fmt:setBundle basename="i18n"/>

    <fmt:message key="username"/>

<a href="i18n_fmt.jsp?locale=zh_CN">中文a>|
<a href="i18n_fmt.jsp?locale=en_US">英文a>
body>

Original: https://www.cnblogs.com/qimu666/p/16565725.html
Author: 柒木木木
Title: 2_jQuery

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/598752/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 部署zabbix监控服务

    部署zabbix监控服务 部署zabbix监控服务 什么是zabbix zabbix的特点 zabbix的配置文件 部署zabbix zabbix服务端安装 准备工作 数据库操作 …

    数据库 2023年6月14日
    0101
  • tomcat服务的原理和使用

    一、tomcat与服务器的关系 服务器是指安装了服务器软件的计算机,而服务器软件是指接收用户请求,处理请求,返回请求结果的程序,常见的服务器软件有tomcat、iis等,也称为we…

    数据库 2023年6月14日
    0119
  • LeetCode 20. 有效的括号

    给定一个只包括 ‘(‘,’)’,'{‘,’}’,'[‘,’]&#8217…

    数据库 2023年6月11日
    097
  • 关于看源码的心得体会

    前段时间面试,经常遇到面试官在结束的时候问我看过什么开源源码?然后网上对于看源码这块的说法也有各种不同的意见,我进行了总结如下: 不看源码说法: 平常的工作需求、业务忙的一批,哪有…

    数据库 2023年6月6日
    0273
  • Python第五十一天 python2升级为python3

    Python第五十一天 python2升级为python3 公司使用的生产环境系统是centos7,所以这里以centos7系统为基础,讲解将python2升级为python3的方…

    数据库 2023年6月9日
    082
  • 分库分表真的适合你的系统吗?聊聊分库分表和NewSQL如何选择

    曾几何时,”并发高就分库,数据大就分表”已经成了处理 MySQL 数据增长问题的圣经。 面试官爱问,博主爱写,考生爱背诵,似乎形成了一个闭环。 [En] I…

    数据库 2023年5月24日
    0115
  • 排查线上问题的9种方式

    德国科技管理专家斯坦门茨早年移居美国,他以非凡的才能成为美国企业界的佼佼者。一次,美国著名的福特公司的一组电机发生故障,在束手无策之时,公司请斯坦门茨出马解决问题。 斯坦门茨在电机…

    数据库 2023年6月6日
    086
  • 数据库_多表查询_内连接&外连接

    首先明确一下定义: 内连接:在多表查询的时候,只检索出表之间相互匹配的行(满足匹配条件的行),结果中不包括两个表之间不匹配的行。 一个不太准确但易懂的例子:比如有两个表,表1存储了…

    数据库 2023年5月24日
    0145
  • entitybuilder–一个简单的业务通用框架

    关于业务通用框架的思考 业务系统是千差万别的,例如,保存、更新和删除订单,或者保存订单和保存客户,走的根本不是一个流程。但是,它们还是有共同点,它们的流程大致可以分成下面的几个部分…

    数据库 2023年6月6日
    093
  • Java学习-第一部分-第一阶段-第六节:面向对象编程(基础)

    面向对象编程(基础) 笔记目录:(https://www.cnblogs.com/wenjie2000/p/16378441.html) 类与对象 ●使用现有技术解决 张老太养了两…

    数据库 2023年6月11日
    0130
  • Azkaban快速入门

    因为之前自己工作中有用过Azkaban作为自动化任务调度工具,所以想参考自己之前的使用经验,总结一下关于Azkaban的使用,方便大家使用Azkaban快速实现企业级自动化任务 如…

    数据库 2023年6月11日
    098
  • python tkiner实现自动打包程序

    环境 python3.x 使用前请确保安装pyinstaller库 本程序还未完善,可以自行完善 若要使用加密,请自行安装cryptodome库 python;gutter:tru…

    数据库 2023年6月11日
    088
  • 内嵌h5调试神器-vConsole

    vConsole 一个轻量、可拓展、针对手机网页的前端开发者调试面板,可用于APP内嵌H5及其他调试H5的地方。 使用 方法一:cdn 方式引入 // 引入 // 初始化 var …

    数据库 2023年6月11日
    075
  • AQS:Java 中悲观锁的底层实现机制

    介绍 AQS AQS(AbstractQueuedSynchronizer)是 Java 并发包中,实现各种同步组件的基础。比如 各种锁:ReentrantLock、ReadWri…

    数据库 2023年6月11日
    0120
  • delete-drop语句生成的存储过程

    问题: 有时,您需要在开发过程中操作许多表。 [En] Sometimes you need to manipulate many tables during developmen…

    数据库 2023年5月24日
    0108
  • 容器化 | ClickHouse Operator 原理解析

    作者:苏厚镇 青云科技数据库研究工程师从事 RadonDB ClickHouse 相关工作,热衷于研究数据库内核。 通过《ClickHouse on K8s 部署篇》,对比了 Ra…

    数据库 2023年5月24日
    0113
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球