细数前端中的一些黑科技

笔记:使用Materials Studio计算聚合物的玻璃化转变温度 使用Materials Studio计算聚合物的玻璃化转变温度。 阅读详情

0.重要

如果您当前查看文章,有某些图片未能正确显示,请移步下面的连接进行查看。

细数前端中的一些黑科技

1.前言


最近忙的焦头烂额,今天下午准备静下心来反思一下,结果看了下知乎就停不下来了,捂脸 ing。

好了,不扯淡了。

今天下午看了一些内容,发现是一些自己之前不注意,或者看了一次就再也没用过的东西,今天正好就一起整理分享一下。

2.实时编辑 CSS


在 HTML 5 中新增了一个新的全局属性,contenteditable 属性。

contenteditable 属性规定是否可编辑元素的内容。

我们可以通过设置这个属性,来对之前的一些文本进行编辑。

就像这样。

该属性的取值:

值描述
true规定可以编辑元素内容。
false规定无法编辑元素内容。
classname继承父元素的 contenteditable 属性。

样例代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>李鹏李先生</title>
</head>
<body>
    <p contenteditable="true">这是一段可编辑的段落。请试着编辑该文本。</p>
</body>
</html>

那这个属性值和我们今天要说的内容有什么关系呢?

我们可以利用当前内容可编辑的这个特性,来去实现一个小的效果,例如这样。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>MR_LP</title>
</head>
<body>
    <style style="display:block" contentEditable>
        body { color: blue }
    </style>
</body>
</html>

当然,要测试出来效果,你自己还是需要会一些 CSS 的,尴尬脸。

3.多重边框


如果大家需要制作这么一个效果,按照一般的写法,我们一般是使用多重 div 相互嵌套,之后分别针对每个 div 实现效果。

样例代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        .div_5{
            width: 500px;
            height: 300px;
            background: #fff;
        }
        .div_4 , .div_3 , .div_2 , .div_1{
            background: rgba(0,0,0,.2);
            padding: 10px;
        }
        .div_4{
            width: 500px;
            height: 300px;
        }
        .div_3{
            width: 520px;
            height: 320px;
        }
        .div_2{
            width: 540px;
            height: 340px;
        }
        .div_1{
            width: 560px;
            height: 360px;
        }
    </style>
</head>
<body>
    <!-- .div_1>.div_2>.div_3>.div_4>.div_5 -->
    <div class="div_1">
        <div class="div_2">
            <div class="div_3">
                <div class="div_4">
                    <div class="div_5"></div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>

但是,实际上大家可能忘记了一个小的东西,叫做 box-shadow。

这个属性是专门用于制作阴影的一个属性,可是我们平常已知的 box-shadow 不都是设置一个阴影么?

那么多重阴影该怎么设置呢?

实际上我们的 box-shadow 其实是可以设置多层的,只需要在模糊半径设置后面再追加一个阴影的距离就 OK 啦。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>MR_LP:3206064928</title>
    <style type="text/css">
        div {
            box-shadow: 0 0 0 6px rgba(0, 0, 0, 0.2),
                        0 0 0 12px rgba(0, 0, 0, 0.2),
                        0 0 0 18px rgba(0, 0, 0, 0.2),
                        0 0 0 24px rgba(0, 0, 0, 0.2);
            height: 200px;
            margin: 50px auto;
            width: 400px
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

通过这样的方式,我们就可以一次性设置出来多个阴影的边框啦。

4. calc ()


不知道大家有没有见过这个?

.box{
        width: calc(100% - (10px + 5px) * 2);
    }

CSS 属性的中的宽度还可以这么写?

这个像函数一样的东西是什么东西呢?


calc()从字面我们可以把他理解为一个函数function。
其实calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,用来指定元素的长度。
比如说,你可以使用calc()给元素的border、margin、pading、font-size和width等属性设置动态值。
为何说是动态值呢?因为我们使用的表达式来得到的值。
不过calc()最大的好处就是用在流体布局上,可以通过calc()计算得到元素的宽度。

calc()语法非常简单,就像我们小时候学加 (+)、减(-)、乘(*)、除(/)一样,使用数学表达式来表示。

而且我们在使用的过程中,需要注意下面几条使用规则:

  • 使用“+”、“-”、“*” 和 “/”四则运算;
  • 可以使用百分比、px、em、rem等单位;
  • 可以混合使用各种单位进行计算;
  • 表达式中有“+”和“-”时,其前后必须要有空格,如”widht: calc(12%+5em)”这种没有空格的写法是错误的;
  • 表达式中有“*”和“/”时,其前后可以没有空格,但建议留有空格。

同时非常幸运的一点,浏览器对calc()的兼容性还算不错,在IE9+、FF4.0+、Chrome19+、Safari6+都得到较好支持,同样需要在其前面加上各浏览器厂商的识别符,不过可惜的是,移动端的浏览器还没仅有“firefox for android 14.0”支持,其他的全军覆没。


OK,既然我们知道了这个东西具体是什么,那么这个东西怎么使用呢?

我们一起来看一个小例子。

首先我们设置这么一个嵌套的 div。

实现代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>MR_LP:3206064928</title>
    <style type="text/css">
        .demo{
            width: 400px;
            background: red;
        }
        .box{
            width: 100%;
            height: 300px;
            background: blue;
        }
    </style>
</head>
<body>
    <div class="demo">
        <div class="box"></div>
    </div>
</body>
</html>

这时候发现,我们的 box 已经完全将他的父级 demo “覆盖”了。

这个时候,如果我们将子级的内容大小加大,会怎么样呢?

实现代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>MR_LP:3206064928</title>
    <style type="text/css">
        .demo{
            width: 400px;
            background: red;

            padding: 3px 0;
        }
        .box{
            width: 100%;
            height: 300px;
            background: blue;

            padding: 10px;
            border: 5px solid #ccc;
        }
    </style>
</head>
<body>
    <div class="demo">
        <div class="box"></div>
    </div>
</body>
</html>

我们会发现,我们的子级 div 已经超出了父级 div 的大小,已经“装不下了”。

这个时候怎么办?

使用 box-sizing ?

.box{
    width: 100%;
    height: 300px;
    background: blue;

    padding: 10px;
    border: 5px solid #ccc;

    box-sizing: border-box;
}

这样确实可以解决,但是 这样未免太 LOW 了点。

这时候就轮到我们的 * calc( )函数* 登场了,我们可以在计算宽度等内容的时候,直接这么写。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>MR_LP:3206064928</title>
    <style type="text/css">
        .demo{
            width: 400px;
            background: red;

            padding: 3px 0;
        }
        .box{
            /*width: 100%;*/
            height: 300px;
            background: blue;

            padding: 10px;
            border: 5px solid #ccc;

            width: calc(100% - (10px + 5px) * 2);
        }
    </style>
</head>
<body>
    <div class="demo">
        <div class="box"></div>
    </div>
</body>
</html>

什么意思呢?

我们只需要在我们正常的流式布局当中,去将宽度设置为父级宽度的100%,之后我们不是设置了 padding 和 border 么,这时候值需要将我们设置的多余的内容直接减去就可以。

这样我们就不需要更改盒模型原本的计算方式,但是也能实现我们所需要的效果啦。

最后放上一个布局的小例子。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>MR_LP:3206064928</title>
    <style type="text/css">
        body {
            background: #E8EADD;
            color: #3C323A;
            padding: 20px;
        }
        .wrapper {
            width: 1024px; /* Fallback for browsers that don't support the calc() function */
            width: -moz-calc(100% - 40px);
            width: -webkit-calc(100% - 40px);
            width: calc(100% - 40px);
            margin: auto;
        }
        #header {
            background: #f60;
            padding: 20px;
            width: 984px;/*Fallback for browsers that don't support the calc() function*/
            width: -moz-calc(100% - 40px);
            width: -webkit-calc(100% - 40px);
            width: calc(100% - 40px);
        }
        #main {
            border: 8px solid #B8C172;
            float: left;
            margin-bottom: 20px;
            margin-right: 20px;
            padding: 20px;
            width: 704px; /* Fallback for browsers that don't support the calc() function */
            width: -moz-calc(75% - 20px * 2 - 8px * 2);
            width: -webkit-calc(75% - 20px * 2 - 8px * 2);
            width: calc(75% - 20px * 2 - 8px * 2);
        }
        #accessory {
            border: 8px solid #B8C172;
            float: right;
            padding: 10px;
            width: 208px; /* Fallback for browsers that don't support the calc() function */
            width: -moz-calc(25% - 10px * 2 - 8px * 2 - 20px);
            width: -webkit-calc(25% - 10px * 2 - 8px * 2 - 20px);
            width: calc(25% - 10px * 2 - 8px * 2 - 20px);
        }
        #footer {
            clear:both;
            background: #000;
            padding: 20px;
            color: #fff;
            width: 984px;/* Fallback for browsers that don't support the calc() function */
            width: -moz-calc(100% - 40px);
            width: -webkit-calc(100% - 40px);
            width: calc(100% - 40px);
        }
    </style>
</head>
<body>
    <div class="wrapper">
    <div id="header">
        <h1>CSS3 calc() Function</h1>
    </div>
    <div id="main">
        <h1>Far far away…</h1>
        <p>Far far away, behind the word mountains…</p>
    </div>

    <div id="accessory">
        <ul>
            <li><a href="#">Far far away…</a></li>
            <li><a href="#">Separated they live…</a></li>
            <li><a href="#">A small river named…</a></li>
        </ul>
    </div>

    <div id="footer">
        Visit the article…
    </div>

</div>
</body>
</html>

5. 蚂蚁线


身为一只“前端喵”,PS 是我们平常工作中不可缺少的一个东西,那不知道大家有没有注意过,我们在选框的时候,我们的线条是一直在动的呢?

这个我个人喜欢把它叫做“蚂蚁线”,因为觉得它们像小蚂蚁,超可爱。

那我们在 HTML 当中,该如何去完成这个东西呢?

其实非常简单,我们只需要将我们的边框设置为透明,之后利用 背景的填充范围是整个盒子的特性就可以啦。

具体实现代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>MR_LP:3206064928</title>
    <style type="text/css">
    @keyframes ants {
        to { background-position:100% }
    }
    div{
        width: 200px;
        height:200px;
        padding:1em;
        border: 1px solid transparent;
        background:
                    linear-gradient(white,white) padding-box,
                    repeating-linear-gradient( -45deg, black 0, black 25%, white 0, white 50%) 0 /.6em .6em;
        animation:ants 12s linear infinite;
    }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

最后实现出来的效果。

这里我主要通过设置背景的一个渐变重复,并且通过动画来不断移动,最后实现的这个效果,感兴趣的同学快自己动手试一下吧。

6. JSON.stringify( )


相信大家对 JS 中的 * toString( )* 方法已经非常熟练了,它可以将我们的内容转化为字符串显示给我们。

如果我们现在需要打印的内容是一个 JSON 呢?

这个时候怎么办呢?

    var student = new Object();
    student.name = "Lanny";
    student.age = "25";
    student.location = "China";
    alert(student);

我们会发现,我们打印出来的内容实际上只是一个 Object,我们该怎么看到里面的内容呢?

这时候我们可以使用这么一个东西。

JSON.stringify( )

什么意思呢?

首先先说一下 stringify 的意思。

ify—为后缀,使……化, 使成
这和ize类似
ze—做成,变成,……化
serial –> serialize:序列化
string –> stringify :字符串化

使用的时候其实也非常简单,只需要将我们的字符串丢进这个方法中就可以,例如这样。

    var student = new Object();
    student.name = "Lanny";
    student.age = "25";
    student.location = "China";
    var json = JSON.stringify(student);
    alert(json);
    // alert(student);

这样我们就可以看见我们 JSON 串中的内容了。

除此之外,我们还可以在当前这个方法后面加函数。

    var students = new Array() ;
    students[0] = "mr";
    students[1] = "_";
    students[2] = "lp";
    var json = JSON.stringify(students,switchUpper);
    function switchUpper(key, value) {
        return value.toString().toUpperCase();
    }
    alert(json);
    /*下面这种方式也可以
    var json = JSON.stringify(students, function (key,value) { return value.toString().toUpperCase()});
    alert(json);
    */

之后通过我们添加的函数,将我们的内容从新转换为大写。

甚至我们还可以这么玩,在当前内容后面添加数字,就会直接隔开,添加转义字符,也可以实现特殊效果。甚至于,我们还在意在后面添加文字,在打印出的每一项内容前面,还会加上我们的文字。

    var stuObj = new Object();
    stuObj.qq = "3206064928";
    stuObj.name = "MR_LP";
    stuObj.age = 18;

    var stuArr = new Array();
    stuArr[0] = "name";
    stuArr[1] = "qq";
    stuArr[2] = "addr";//这个stuObj对象里不存在。

    // var json = JSON.stringify(stuObj,stuArr,'\t');
    var json = JSON.stringify(stuObj,stuArr,1000);
    // var json = JSON.stringify(stuObj,stuArr,'OK ');
    alert(json);

需要注意,如果后面的跟上的是一个数组的话,这样就不可以咯。

    var stuArr1 = new Array() ;
    stuArr1[0] = "wo";
    stuArr1[1] = "hao";
    stuArr1[2] = "shuai";
    var stuArr2 = new Array();
    stuArr2[0] = "1";
    stuArr2[1] = "2";
    var json = JSON.stringify(stuArr1,stuArr2)
    alert(json);

7.大白 (●—●)


这个东西也是经常被拿来玩的一个小东西,就是通过 border-radius 去自己切一个图形。

正好在网上看到大白的这个源码,就一起分享给大家啦。

<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Baymax</title>
        <link rel=stylesheet href="demo2.css"/>
    </head>
    <style>
        body {
            background: #595959;
        }
        #baymax{
         /*设置为 居中*/
            margin: 0 auto;

            /*高度*/
            height: 600px;

            /*隐藏溢出*/
            overflow: hidden;
        }

        #head{
            height: 64px;
            width: 100px;

            /*以百分比定义圆角的形状*/
            border-radius: 50%;

            /*背景*/
            background: #fff;
            margin: 0 auto;
            margin-bottom: -20px;

            /*设置下边框的样式*/
            border-bottom: 5px solid #e0e0e0;

            /*属性设置元素的堆叠顺序;    拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面*/
            z-index: 100;

            /*生成相对定位的元素*/
            position: relative;
        }
        #eye,
        #eye2{
            width: 11px;
            height: 13px;
            background: #282828;
            border-radius: 50%;
            position: relative;
            top: 30px;
            left: 27px;

            /*旋转该元素*/
            transform: rotate(8deg);
        }

        #eye2{
            /*使其旋转对称*/
            transform: rotate(-8deg);
            left: 69px;    top: 17px;
        }

        #mouth{
            width: 38px;
            height: 1.5px;
            background: #282828;
            position: relative;
            left: 34px;
            top: 10px;
        }
        /*躯干和腹部*/

        #torso,
        #belly{
            margin: 0 auto;
            height: 200px;
            width: 180px;
            background: #fff;
            border-radius: 47%;

            /*设置边框*/
            border: 5px solid #e0e0e0;
            border-top: none;
            z-index: 1;
        }

        #belly{
            height: 300px;
            width: 245px;
            margin-top: -140px;
            z-index: 5;
        }

        #cover{
            width: 190px;
            background: #fff;
            height: 150px;
            margin: 0 auto;
            position: relative;
            top: -20px;
            border-radius: 50%;
        }
        /*心脏*/

        #heart{
          width:25px;
          height:25px;
          border-radius:50%;
          position:relative;

          /*向边框四周添加阴影效果*/
          box-shadow:2px 5px 2px #ccc inset;

          right:-115px;
          top:40px;
          z-index:111;
          border:1px solid #ccc;
        }
        /*手臂*/
        #left-arm,
        #right-arm{
            height: 270px;
            width: 120px;
            border-radius: 50%;
            background: #fff;
            margin: 0 auto;
            position: relative;
            top: -350px;
            left: -100px;
            transform: rotate(20deg);
            z-index: -1;
        }

        #right-arm{
            transform: rotate(-20deg);
            left: 100px;
            top: -620px;
        }
        /*手指头*/


        #l-bigfinger,
        #r-bigfinger{
            height: 50px;
            width: 20px;
            border-radius: 50%;
            background: #fff;
            position: relative;
            top: 250px;
            left: 50px;
            transform: rotate(-50deg);
        }

        #r-bigfinger{
            left: 50px;
            transform: rotate(50deg);
        }

        #l-smallfinger,
        #r-smallfinger{
            height: 35px;
            width: 15px;
            border-radius: 50%;
            background: #fff;
            position: relative;
            top: 195px;
            left: 66px;
            transform: rotate(-40deg);
        }

        #r-smallfinger{
            background: #fff;
            transform: rotate(40deg);
            top: 195px;
            left: 37px;
        }
        /*大腿*/
        #left-leg,
        #right-leg{
            height: 170px;
            width: 90px;
            border-radius: 40% 30% 10px 45%;
            background: #fff;
            position: relative;
            top: -640px;
            left: -45px;
            transform: rotate(-1deg);
            z-index: -2;
            margin: 0 auto;
        }

        #right-leg{
            background: #fff;
            border-radius:30% 40% 45% 10px;
            margin: 0 auto;
            top: -810px;
            left: 50px;
            transform: rotate(1deg);
        }
    </style>
<body>

     <div id="baymax">

        <!-- 定义头部,包括两个眼睛、嘴 -->
        <div id="head">
            <div id="eye"></div>
            <div id="eye2"></div>
            <div id="mouth"></div>
        </div>

        <!-- 定义躯干,包括心脏 -->
        <div id="torso">
            <div id="heart"></div>
        </div>

        <!-- 定义肚子腹部,包括 cover(和躯干的连接处) -->
        <div id="belly">
            <div id="cover"></div>
        </div>

        <!-- 定义左臂,包括一大一小两个手指 -->
        <div id="left-arm">
            <div id="l-bigfinger"></div>
            <div id="l-smallfinger"></div>
        </div>

        <!-- 定义右臂,同样包括一大一小两个手指 -->
        <div id="right-arm">
            <div id="r-bigfinger"></div>
            <div id="r-smallfinger"></div>
        </div>

        <!-- 定义左腿 -->
        <div id="left-leg"></div>

        <!-- 定义右腿 -->
        <div id="right-leg"></div>

    </div>
</body>
<html>
流媒体学习之路(mediasoup)——simulcast 与 svc 简介(7) 流媒体学习之路(mediasoup)——simulcast 与 svc(7) 文章目录流媒体学习之路(mediasoup)——simulcast 与 svc(7) 阅读详情

相关推荐

LSF0108 level shift设计使用及debug流程

目录 初版设计 测试出现的问题1 解决问题(尝试1) 测试出现的问题2 解决问题2-1 解决问题2-2 单Port测试结果 所有Port均连接测试结果 初版设计 此电路的应用场景在于将LCD屏幕连接到FPGA上,进而通过FPGA中设计的硬件电路来驱动LCD屏幕,验证数字硬件电路设计的正确性。因此需要一个转接板位于FPGA和LCD屏幕之间,将二者连接起来。 转接板的硬件电路设计主要存在以下需求: 实现3.3V和1.8V之间的同时双向逻辑转换(LCD屏幕电平为3.3V,FPGA电平为1.

moshanghongfeng的博客 7562

用WebAssembly提升性能 - 前端开发的黑科技

WebAssembly是一种可移植、体积小、加载快,并且与JavaScript无缝集成的二进制格式。它旨在提供高性能的Web应用程序,以便在现代浏览器中运行。WebAssembly通过将原始代码编译成高效的二进制格式,从而实现比传统JavaScript代码更快的执行速度。这使得开发人员能够使用像C、C++和Rust这样的低级语言来编写高性能的前端应用程序。本文介绍了WebAssembly的基本概念,并展示了如何使用它来提升前端应用程序的性能。

技术星球 480

从零到一:KUKA机械臂与ROS的工业级通讯协议深度解析

本文深度解析KUKA机械臂与ROS的工业级通讯协议,重点对比EKI与RSI两种核心接口的技术特点与应用场景。详细介绍了网络架构设计、数据包解析机制及ROS-I集成方法,并提供实时性能优化与故障排除策略,为工程师实现高可靠性工业自动化集成提供完整解决方案。

2a4s6d8f0g的博客 296

前端开发者必看!10个CSS黑科技让你的代码逼格瞬间拉满(附完整源码)

还在为复杂布局发愁?还在用JavaScript实现简单动画?今天揭秘的这10个CSS技巧,将彻底改变你的开发方式!每个技巧都附带**实战代码**,3分钟即可上手!

前端御书房 776

备战2025数学建模国赛(算法65):Fisher判别分析

在数学建模竞赛中,我们常常会遇到需要对研究对象进行分类或判断的问题。例如,根据西瓜的各类指标判断其好坏,根据经济数据判断一个国家的发展程度,或根据病人的医学影像特征判断其是否患病。这类“分类判别”问题,是建模竞赛中最常见的题型之一。Fisher判别分析(或称线性判别分析,LDA)作为一种经典的、有监督的降维与分类方法,因其模型简洁、可解释性强、计算高效而备受青睐。

YOLO 422

uniapp - 实现苹果App打包上架App Store应用商店详细教程,详解Hbuilder打包编译ipa发布上传到苹果ios软件商店全流程,提供云打包/离线本地打包ios、申请IOS苹果证书方法

uni-app,苹果ios,苹果app,打包编译,appstore应用商店,ipa发布到软件商店,uniapp的app苹果应用商店上架,上架苹果APPStore,uniApp打包的ipa文件上传到商店,上架苹果商城,审核失败,被拒绝,UniApp打包ipa文件,上架iOSAppStore流程指南,最新详细教程最全,Hbuilder打包发布iosapp,苹果云打包上线全过程,云打包IPA并上传到商店,打包iOSipa文件后怎么发布到应用商店,苹果证书申请教程,ios证书申请,mac电脑,审核很久

🏆 前端领域优质创作者 1万+

前端性能优化方法与实战16 黑科技:详解预请求、预加载及预渲染机制

前面好几讲我介绍过怎么进行首屏时间优化,但其实在性能影响因素里,后端接口的耗时也不可忽略。以某电商 App 列表页为例,后端接口返回数据需要 200ms,参考首屏秒开的标准,它就占了 20% 的时间。在以前我一直采用的是缓存或者静态化的方案去解决,能不请求实时数据就不请求,用历史数据去代替。直到有一天,我遇到了机票和酒店相关的业务,因为它们的价格和库存会实时变化,如果页面打开时间长(首屏时间过长),用户会担心买不到合适的机票,转而离开去往竞品购买(机票和酒店类产品的留存率很低,用户忠诚度有限)。

fegus的博客 3007

OpenCV简单应用:图像模糊处理

OpenCV是一个广泛使用的开源计算机视觉库,提供了丰富的图像处理和计算机视觉算法。本文将介绍如何使用OpenCV对图像进行模糊处理,并提供相应的源代码。该函数接受两个参数:第一个参数是输入图像,第二个参数是指定模糊核大小的元组。在这个例子中,我们使用了一个5x5的模糊核。您可以尝试不同大小的模糊核,以获得不同程度的模糊效果。函数和指定不同大小的模糊核,我们可以实现不同程度的模糊效果。该函数接受两个参数:第一个参数是窗口的名称,第二个参数是要显示的图像。在上面的代码中,我们首先使用。要运行上述代码,请将。

MwgmPhilosophy的博客 290

2024前端必会黑科技之PWA

如果你已经下定决心要转行做编程行业,在最开始的时候就要对自己的学习有一个基本的规划,还要对这个行业的技术需求有一个基本的了解。有一个已就业为目的的学习目标,然后为之努力,坚持到底。如果你有幸看到这篇文章,希望对你有所帮助,祝你转行成功。

2401_85123689的博客 1187

避坑指南!YOLO26模型导出/推理常见问题,99%的开发者都踩过

版本锁定:Ultralytics=8.4.2、OpenVINO=2024.0.0、Python=3.10,版本不一致是80%问题的根源;参数对齐:训练/导出/推理的imgsz、归一化、坐标映射必须完全一致,差一步就出错;算子统一:避免自定义算子,优先用YOLO26原生算子(C3k2/PSABlock),确保推理引擎兼容;分步验证:导出后先校验ONNX/IR模型→单图片推理→RTSP流推理→72小时稳定性测试,一步过易踩坑;工业级测试。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 510

华为OD机考双机位C卷 - 最左侧冗余覆盖子串 (Java)

华为OD机考双机位C卷 - 最左侧冗余覆盖子串 (Java), 提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 59

JS奇淫技巧:挑战前端黑科技,数值的七种写法,能全看懂的一定是高手

JS奇淫技巧:数值的七种写法 JS奇淫技巧:挑战前端黑科技,数值的七种写法,能全看懂的一定是高手 你知道吗?在JS编程中,数值可以有很多种写法。

w2sft的博客 825

Ollama 在不同操作系统上的详细使用,及用python进行调用实战

本文介绍了Ollama的安装配置及Python调用方法。主要内容包括:1)Windows/macOS/Linux/Docker等多种安装方式;2)Ollama基础命令,涵盖模型管理、运行和服务控制;3)Python调用教程,包含官方库使用、自定义客户端、多轮对话、参数设置等高级功能,以及直接API调用示例。文章提供了完整的代码片段,适合开发者快速上手使用Ollama进行本地大模型部署和开发。

数据知道的博客 1233

细数web前端学习中的一些黑科技,第一个真没想到过

细数web前端学习中的一些黑科技,第一个真没想到过 分享科技方面的资讯,好玩有趣,让您的茶余饭后不再无聊,欢迎关注评论 我自己前端也已经工作六七年了,今天在和同事讨论一个问题长达两个小时,结果还是我输了,原因就是在于简单的问题我想的太过于复杂,发现是一些自己之前不注意,或者看了一次就再也没用过的东西,今天正好就一起整理分享一下。 首先还是要推荐我的QQ群:809538787,都是我每篇文章来的粉丝...

Wade33333333的博客 539

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

细数 JavaScript 实用黑科技(一)

前言 只有深入学精一门语言,学其他语言才能更好地举一反三,触类旁听。 从接触前端开发到现在已经将近 2 年了,最近又看了阮一锋写的: 《JavaScript 语言入门教程》 一书,重温 JavaScript 。 小汪将工作和面试遇到过的,没多少人知道的 JavaScript 技巧,却十分实用的技巧都总结在这里面,分享给大家 。 温故而知...

weixin_34232744的博客 557

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

三分钟细数几款可视化前端开发工具

在科技的频频更新下,可视化前端开发工具成为了提升开发效率的有效工具。

Gzlcxxjs的博客 6618

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

细数国内优秀WordPress主题

WordPress源于国外,简单易用,非常受欢迎,使得国内越来越多的站点开始使用WordPress建站程序,咱们国内也存在着很多厉害的高手或团队开发了WordPress中文主题。本文细数国内优秀WordPress主题。 一. Begin主题 您现在浏览的网站 - MAY的SEO博客正是使用的Begin主题,也是很多站长们使用的一款主题,CSS3+HTML5、扁平化、响应式设计、自定义颜色风格,不依赖任何前端框架,自适应布局,设置灵活,适合个人建站,也适合企业建站,功能非常强大。网络上流传很多免费的破

MAY的SEO博客 2044

也许是史上最全的前端资源大汇总

超多免费接口

Noah_ZX的博客 2619

京东高薪招聘GIS开发工程师,细数其背后的商业逻辑

京东以30-50K*16薪的薪资招聘GIS开发工程师,我们来细数一下京东背后的GIS生意。

GIS前端嘉欣的博客 1178

细数2021年前端圈发生的30多件大事

大家好,我是前端点线面,毕业于华中科技大学,非科班出身的一枚新时代农民工,现在是百度前端研发工程师,著有《前端百题斩》、数十篇学习思维导图(go、React、Redux、Vue、Vuex、...

wang_yu_shun的博客 759

细数Java技术架构这些年的发展史

前言 Java一度被称为是应用最广泛的编程语言。尤其在Java web方面,Java作为后台服务器开发语言,尤其是它跨平台一次编译随处运行的特性,更是受到不少企业和工程师们的爱戴。作为应用开发的主要语言,Java也需要借助其他很多优秀的框架,来实现系统或程序的完整性。针对不同的业务场景,选择合适的框架,是每一个架构师和工程师在开发一项软件之前,必须首先要考虑的事情。随着时代的进步和科技的发展,Java技术框架也在日新月异的进化。 一、Struts1.0 Struts1.0是早期的应用很广泛的web框架

程序大视界 3116

细数:智能物流装备界的并购案~

导语大家好,我是智能仓储物流技术研习社的社长,老K。专注分享智能仓储物流技术、智能制造等内容。新书《智能物流系统构成与技术实践》近年来,随着智能仓储物流行业的快速发展,全球范围内的并购活动日益频繁,各大企业纷纷通过收并购来拓展业务和市场,以实现技术升级、市场扩张和资源整合。今天盘点几个(内容来源于公开网络信息,如有错误请联系修正或删除)一、日本大福并购印度Vega公司与荷兰Scarabee航空集团...

nickelwang的博客 904

Java中的action函数干什么的_细数Java技术架构这些年的发展史

前言 Java一度被称为是应用最广泛的编程语言。尤其在Java web方面,Java作为后台服务器开发语言,尤其是它跨平台一次编译随处运行的特性,更是受到不少企业和工程师们的爱戴。作为应用开发的主要语言,Java也需要借助其他很多优秀的框架,来实现系统或程序的完整性。针对不同的业务场景,选择合适的框架,是每一个架构师和工程师在开发一项软件之前,必须首先要考虑的事情。随着时代的进步和科技的发...

weixin_39816141的博客 276

物流机器人行业风云变幻:细数不是倒闭就是裁员的明星企业~

导语大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。新书《智能物流系统构成与技术实践》在科技飞速发展的今天,仓储机器人曾是物流行业的一颗璀璨新星,它们以高效、精准的特性引领着行业的变革。然而,随着市场的变化与竞争的加剧,这些曾经风光无限的机器人企业如今却陷入了前所未有的困境。从Dextrous Robotics的黯然解散,到Amazon Robotics的裁员风波,再到Locus R...

nickelwang的博客 880

细数18年国内数据可视化工具-珍藏版

18年,是数据爆炸的一年,数据几何层级的增加,各种黑科技层出不穷,其中最为亮眼的当属数据展示大屏,当您在地铁指挥室、交通指挥室,甚至我们最常见的双十一淘宝天猫的数据大屏,这些崭新的技术犹如雨后春笋版冒了出来,这是门新技术吗?答案显然是:不是!这些是以前大家所热衷的BI工具之类的技术,逐渐转变称...

chuantianyan3100的博客 178

pdf vscode 权威指南_这 18 位业界大佬都是如何评价 VS Code 黑宝书的?

自 6 月 30 日开售以来,《Visual Studio Code 权威指南》受到了许多读者朋友的青睐。在京东和当当两大平台上,都分别取得了不错的成绩:当当:计算机新书热卖榜第一名京东:科技IT新书榜第一名在本书出版之前,我很高兴能邀请到微软全球资深副总裁 Julia Liuson 为本书写推荐序!不仅如此,我也高兴有来自业界的 18 位大佬为本书写了推荐语。让我们一起看看这 18 位业界大佬都...

weixin_39846186的博客 4950
上一篇: Script标签和脚本执行顺序
下一篇: 前端 Meta 用法大汇总
MR_LP
博客等级 码龄11年 236粉丝 89原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值