一百种语言的LOVE

news2024/11/17 11:48:40

2023年快要到来啦,很高兴这次我们又能一起度过~

目录

一、前言

二、详细介绍

三、效果展示

四、代码编写

index.html

script.js 

style.css

五、获取代码

需要源码,可以私信我(⊙o⊙)?关注我?


一、前言

时光荏苒,白驹过隙。

二、详细介绍

最近更新了很多跨年烟花系列,

在这新更新一百种语言的LOVE,主要是利用了很多的 js 字体等

并且有丰富的css样式

非常的好看!!!

三、效果展示

见下图

 

是不是很好看呢?

四、代码编写

index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>CodePen - 100 List items: Love translations ♡</title>

    <link rel="stylesheet" href="css/style.css" />
  </head>
  <body>
    <dl id="list-group"></dl>

    <div id="modal"></div>

    <script src="js/script.js"></script>
  </body>
</html>

script.js 

const dl = document.getElementById('list-group');
const modal = document.getElementById('modal');

dl.addEventListener('click', openModal);

function populateList() {

    let output = '';

    loveTranslations.forEach((love) => {
        // conditionals to change font sizes & style for larger words & langauge by adding a class to the <dt>
        if (love.language === 'georgian' || love.language === 'malayalam' || love.language === 'tatar') {

            output += `<div class="item" tabindex="0">
                <dt class="smaller">${love.word}</dt>
                <dd>${love.language}</dd>
            </div>`;

        } else if (to_medium.includes(love.language) === true) {

            output += `<div class="item" tabindex="0">
                <dt class="medium">${love.word}</dt>
                <dd>${love.language}</dd>
            </div>`;

        } else if (to_italic.includes(love.language) === true) {

            output += `<div class="item" tabindex="0">
                <dt class="italic">${love.word}</dt>
                <dd>${love.language}</dd>
            </div>`;

        } else {

            output += `<div class="item" tabindex="0">
                <dt>${love.word}</dt>
                <dd>${love.language}</dd>
            </div>`;

        }

    });

    dl.innerHTML = output;
}

function openModal(e) {
    if (e.target.nodeName.toLowerCase() === 'dl') { return; }
    else if (e.target.classList.contains('item') === true) {

        const lang = e.target.children[1].innerText.toLowerCase();

        modal.classList.toggle('active');

        if (to_italic.includes(lang) === true) { // conditional to change font size for different word sizes and lettering styles, adding classes to h1

            modal.innerHTML += `<button onclick="closeModal()" id="modal-close-btn">X</button>
            <h1 class="italic">${e.target.children[0].innerText}</h1>
            <p class="lang-name">${e.target.children[1].innerText}</p>`;

        } else if (to_medium.includes(lang) === true) {

            modal.innerHTML += `<button onclick="closeModal()" id="modal-close-btn">X</button>
            <h1 class="medium italic">${e.target.children[0].innerText}</h1>
            <p class="lang-name" style="margin-top:1.5rem">${e.target.children[1].innerText}</p>`;

        } else if (lang === 'georgian' || lang === 'malayalam' || lang === 'tatar') {

            modal.innerHTML += `<button onclick="closeModal()" id="modal-close-btn">X</button>
            <h1 class="smaller italic">${e.target.children[0].innerText}</h1>
            <p class="lang-name" style="margin-top: 3rem;">${e.target.children[1].innerText}</p>`;

        } else {

            modal.innerHTML += `<button onclick="closeModal()" id="modal-close-btn">X</button>
            <h1>${e.target.children[0].innerText}</h1>
            <p class="lang-name">${e.target.children[1].innerText}</p>`;
        }
    }
}

function closeModal() {
    document.getElementById('modal').classList.toggle('active');
    modal.innerHTML = ''; // clearing out the modal text
}

// 100 love translatons: Object Array
const loveTranslations = [
    {
        "language": "english",
        "word": "love"
    },
    {
        "language": "spanish",
        "word": "amor"
    },
    {
        "language": "french",
        "word": "l'amour"
    },
    {
        "language": "dutch",
        "word": "liefde"
    },
    {
        "language": "greek",
        "word": "αγάπη"
    },
    {
        "language": "Arabic",
        "word": "حب"
    },
    {
        "language": "albanian",
        "word": "dashuri"
    },
    {
        "language": "amharic",
        "word": "ፍቅር"
    },
    {
        "language": "armenian",
        "word": "Սեր"
    },
    {
        "language": "azerbaijani",
        "word": "sevgi"
    },
    {
        "language": "basque",
        "word": "maitasuna"
    },
    {
        "language": "belarusian",
        "word": "каханне"
    },
    {
        "language": "bengali",
        "word": "ভালবাসা"
    },
    {
        "language": "bosnian",
        "word": "ljubavi"
    },
    {
        "language": "bulgarian",
        "word": "любов"
    },
    {
        "language": "catalan",
        "word": "amor"
    },
    {
        "language": "cebuano",
        "word": "gugma"
    },
    {
        "language": "chinese",
        "word": "爱"
    },
    {
        "language": "corsican",
        "word": "amore"
    },
    {
        "language": "croatian",
        "word": "ljubav"
    },
    {
        "language": "czech",
        "word": "milovat"
    },
    {
        "language": "danish",
        "word": "elsker"
    },
    {
        "language": "esperanto",
        "word": "amo"
    },
    {
        "language": "estonian",
        "word": "armastus"
    },
    {
        "language": "filipino",
        "word": "pag-ibig"
    },
    {
        "language": "finnish",
        "word": "rakkaus"
    },
    {
        "language": "frisian",
        "word": "leafde"
    },
    {
        "language": "galician",
        "word": "amor"
    },
    {
        "language": "georgian",
        "word": "სიყვარული"
    },
    {
        "language": "german",
        "word": "liebe"
    },
    {
        "language": "gujarati",
        "word": "પ્રેમ"
    },
    {
        "language": "haitian creole",
        "word": "lanmou"
    },
    {
        "language": "hausa",
        "word": "soyayya"
    },
    {
        "language": "hawaiian",
        "word": "aloha"
    },
    {
        "language": "hebrew",
        "word": "אהבה"
    },
    {
        "language": "hindi",
        "word": "प्रेम"
    },
    {
        "language": "hmong",
        "word": "kev hlub"
    },
    {
        "language": "hungarian",
        "word": "szeretet"
    },
    {
        "language": "icelandic",
        "word": "ást"
    },
    {
        "language": "igbo",
        "word": "ihunanya"
    },
    {
        "language": "indonesian",
        "word": "cinta"
    },
    {
        "language": "irish",
        "word": "grá"
    },
    {
        "language": "italian",
        "word": "amore"
    },
    {
        "language": "japanese",
        "word": "愛"
    },
    {
        "language": "javanese",
        "word": "katresnan"
    },
    {
        "language": "kannada",
        "word": "ಪ್ರೀತಿ"
    },
    {
        "language": "kazakh",
        "word": "махаббат"
    },
    {
        "language": "khmer",
        "word": "ស្រឡាញ់"
    },
    {
        "language": "kiryarwanda",
        "word": "urukundo"
    },
    {
        "language": "korean",
        "word": "사랑"
    },
    {
        "language": "kurdish",
        "word": "evîn"
    },
    {
        "language": "kyrgyz",
        "word": "сүйүү"
    },
    {
        "language": "lao",
        "word": "ຮັກ"
    },
    {
        "language": "latin",
        "word": "amare"
    },
    {
        "language": "latvian",
        "word": "mīlestība"
    },
    {
        "language": "lithuanian",
        "word": "meilė"
    },
    {
        "language": "luxembourish",
        "word": "Léift"
    },
    {
        "language": "macedonian",
        "word": "убов"
    },
    {
        "language": "malagasy",
        "word": "fitiavana"
    },
    {
        "language": "malay",
        "word": "cinta"
    },
    {
        "language": "malayalam",
        "word": "സ്നേഹം"
    },
    {
        "language": "maltese",
        "word": "imħabba"
    },
    {
        "language": "moari",
        "word": "aroha"
    },
    {
        "language": "marathi",
        "word": "प्रेम"
    },
    {
        "language": "mongolian",
        "word": "хайр"
    },
    {
        "language": "burmese",
        "word": "aahkyit"
    },
    {
        "language": "nepali",
        "word": "माया"
    },
    {
        "language": "norwegian",
        "word": "kjærlighet"
    },
    {
        "language": "odia",
        "word": "ପ୍ରେମ"
    },
    {
        "language": "pashto",
        "word": "مينه"
    },
    {
        "language": "persian",
        "word": "عشق"
    },
    {
        "language": "polish",
        "word": "miłość"
    },
    {
        "language": "portuguese",
        "word": "amar"
    },
    {
        "language": "punjabi",
        "word": "ਪਿਆਰ"
    },
    {
        "language": "romanian",
        "word": "dragoste"
    },
    {
        "language": "russian",
        "word": "люблю"
    },
    {
        "language": "samoan",
        "word": "alofa"
    },
    {
        "language": "scots gaelic",
        "word": "ghaoil"
    },
    {
        "language": "serbian",
        "word": "љубав"
    },
    {
        "language": "sesotho",
        "word": "lerato"
    },
    {
        "language": "shona",
        "word": "rudo"
    },
    {
        "language": "sindhi",
        "word": "پيار"
    },
    {
        "language": "sinhala",
        "word": "ආදරය"
    },
    {
        "language": "slovak",
        "word": "láska"
    },
    {
        "language": "slovinian",
        "word": "ljubezen"
    },
    {
        "language": "somali",
        "word": "jacayl"
    },
    {
        "language": "sudanese",
        "word": "bogoh"
    },
    {
        "language": "swahili",
        "word": "upendo"
    },
    {
        "language": "swedish",
        "word": "kärlek"
    },
    {
        "language": "tamil",
        "word": "காதல்"
    },
    {
        "language": "tatar",
        "word": "мәхәббәт"
    },
    {
        "language": "telugu",
        "word": "ప్రేమ"
    },
    {
        "language": "thai",
        "word": "รัก"
    },
    {
        "language": "turkish",
        "word": "aşk"
    },
    {
        "language": "turkmen",
        "word": "söýgi"
    },
    {
        "language": "ukranian",
        "word": "кохання"
    },
    {
        "language": "urdu",
        "word": "محبت"
    },
    {
        "language": "vietnamese",
        "word": "yêu"
    },
    {
        "language": "yiddish",
        "word": "ליבע"
    },
    {
        "language": "zulu",
        "word": "uthando"
    }
];

// array of languages that the characters need to italicised
const to_italic = ['hebrew', 'hindi', 'korean', 'kannada', 'lao', 'macedonian', 'mongolian', 'nepali', 'odia', 'russian', 'serbian', 'telugu', 'thai', 'marathi'];

// array of languages that need to reduced in font size
const to_medium = ['belarusian', 'bengali', 'greek', 'armenian', 'bulgarian', 'gujarati', 'khmer', 'kazakh', 'kyrgyz', 'punjabi', 'tamil', 'ukranian'];

populateList();

 style.css

@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    overflow-x: hidden;
    background-image: -webkit-gradient(linear,
        right bottom, left top,
        from(#ffadad),
        color-stop(#ffd6a5), 
        color-stop(#fdffb6),
        color-stop(#caffbf),
        color-stop(#9bf6ff),
        color-stop(#a0c4ff),
        to(#bdb2ff));
    background-image: linear-gradient(to top left,
        #ffadad,
        #ffd6a5, 
        #fdffb6,
        #caffbf,
        #9bf6ff,
        #a0c4ff,
        #bdb2ff);
    color: #5d5865;
}

#list-group {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-gap: 0.5rem; gap: 0.5rem;
    padding: 1rem;
}

.item {
    position: relative;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    -webkit-box-pack: center;
            justify-content: center;
    -webkit-box-align: center;
            align-items: center;
    background-image: linear-gradient(45deg, rgba(255,255,255,0.3), transparent, rgba(255,255,255,0.3));
    border-radius: 2rem;
    padding: 3rem 0;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.item::before,
.item::after {
    content: "";
    position: absolute;
    z-index: 1;
    width: 3rem;
    height: 3rem;
}

.item::before {
    bottom: 1rem; left: 1rem;
    border-radius: 0 0 0 1rem;
    background-image: linear-gradient(225deg, transparent 50%, rgba(255, 255, 255, 0.5));
}

.item::after {
    top: 1rem; right: 1rem;
    border-radius: 0 1rem 0 0;
    background-image: linear-gradient(45deg, transparent 50%, rgba(255, 255, 255, 0.5));
}

.item:hover,
.item:focus,
.item:active {
    background-color: white;
    outline: none;
}

dt {
    text-align: right;
    font-family: 'Great Vibes', serif;
    font-size: 3rem;
}

dt.smaller {
    font-size: 1.8rem;
}

dt.medium {
    font-size: 2.1rem;
}

dt.smaller,
dt.medium {
    font-style: italic;   
}

.italic {
    font-style: italic;
}

dd {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-weight: 300;
    font-size: 0.9rem;
}

dd, dt {
    pointer-events: none;
}

#modal {
    display: none;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    -webkit-box-pack: center;
            justify-content: center;
    -webkit-box-align: center;
            align-items: center;
    left: 2rem; top: 2rem; right: 2rem; bottom: 2rem;
    border-radius: 1rem;
    box-shadow: 0.5rem 0.5rem 5rem rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(0, 0, 0, 0.25);
    background-color: white;
}

#modal.active {
    min-height: 15rem;
    display: -webkit-box;
    display: flex;
    position: fixed;
    z-index: 2;
    -webkit-animation: openModal 0.2s;
            animation: openModal 0.2s;
}

#modal .lang-name {
    position: relative;
    z-index: 4;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-weight: 600;
    font-size: 1.3rem;
    text-transform: capitalize;
}

#modal h1 {
    position: relative;
    z-index: 1;
    font-family: 'Great Vibes', serif;
    font-size: 10rem;
    line-height: 1.3;
}

#modal h1.smaller {
    font-size: 5rem;
}

#modal h1.medium {
    font-size: 7.5rem;
}

#modal h1::after,
#modal h1::before { /* modal heart shapes */
    content: "";
    position: absolute;
    bottom: 50%; left: 50%;
    -webkit-transform: translateX(-50%) translateY(52%);
            transform: translateX(-50%) translateY(52%);
    -webkit-clip-path: polygon(50% 10%, 66% 0, 100% 0, 100% 50%, 50% 100%, 0 50%, 0 0, 33% 0);
            clip-path: polygon(50% 10%, 66% 0, 100% 0, 100% 50%, 50% 100%, 0 50%, 0 0, 33% 0);
}

#modal h1::before {
    z-index: -2;
    background-color: lightcoral;
    opacity: 0.5;
    width: 10rem;
    height: 10rem;
    border-radius: 3rem 3rem 6rem 6rem;
}

#modal h1::after {
    z-index: -1;
    background-color: lightcoral;
    opacity: 0.3;
    width: 12rem;
    height: 12rem;
    border-radius: 3rem 3rem 6rem 6rem;
}

#modal-close-btn {
    position: absolute;
    top: 1rem; right: 1rem;
    width: 2rem; height: 2rem;
    text-align: center;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
            justify-content: center;
    -webkit-box-align: center;
            align-items: center;
    background-color: transparent;
    border: 1px solid rgba(93, 88, 101, 0.5);
    border-radius: 0.5rem;
    -webkit-transition: 0.2s ease;
    transition: 0.2s ease;
}

#modal-close-btn:hover {
    background-color: rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(93, 88, 101, 0.8);
}

button {
    cursor: pointer;
}

/* tablet styles */
@media screen and (max-width: 959px) {
    #list-group {
        grid-template-columns: repeat(4, 1fr);
    }
    
    #modal {
        left: 1rem; top: 1rem; right: 1rem; bottom: 1rem;
    }
}

@media screen and (max-width: 759px) {
    #list-group {
        grid-template-columns: repeat(3, 1fr);
    }

    #modal h1 {
        font-size: 7rem;
        line-height: 1.3;
    }
    
    #modal h1.smaller {
        font-size: 3rem;
    }
    
    #modal h1.medium {
        font-size: 4.4rem;
    }

    #modal {
        left: 0.75rem; top: 0.75rem; right: 0.75rem; bottom: 0.75rem;
    }
}

@media screen and (max-width: 639px) {
    #list-group {
        grid-template-columns: repeat(2, 1fr);
    }

    #modal h1 {
        font-size: 5rem;
        line-height: 1.3;
    }
    
    #modal h1.smaller {
        font-size: 2rem;
    }
    
    #modal h1.medium {
        font-size: 3.3rem;
    }

    #modal {
        left: 0.5rem; top: 0.5rem; right: 0.5rem; bottom: 0.5rem;
    }
}

@-webkit-keyframes openModal { /* subtle fade in for modal */
    from {
        opacity: 0;
        -webkit-transform: scale(0.8);
                transform: scale(0.8);
    } to {
        opacity: 1;
        -webkit-transform: scale(1);
                transform: scale(1);
    }
}

@keyframes openModal { /* subtle fade in for modal */
    from {
        opacity: 0;
        -webkit-transform: scale(0.8);
                transform: scale(0.8);
    } to {
        opacity: 1;
        -webkit-transform: scale(1);
                transform: scale(1);
    }
}


五、获取代码

在这里我先告诉大家一下,关于路径问题,因为上次有好多朋友们告诉我,部分效果显示不出来,大家看下图,为正确的代码文件及路径

 js 文件夹内

css 文件夹内 

 

第一步,通过微信公众号下载源码压缩包,解压并打开文件夹,即为上图样式(复制源码请注意路径)

第二步,点击 html 文件打开即可

可根据需求更改代码


以上就是我们此次跨年烟花的全部内容了,是否精彩呢?如果有好的建议或者想法可以联系我,一起交流🙇‍

此时我们就可以拿着程序展示给小伙伴啦!!!🎇

或许对于小白来说,是不是比桌面新建一个文本文档的方法友好多了呢?其实我们就是为了新年这场美好的氛围,快和你的朋友来一场线上烟花跨年盛宴吧!!!

需要源码,可以私信我(⊙o⊙)?关注我?

👍+✏️+⭐️+🙇‍

有需要源码的小伙伴可以关注微信公众号 " Enovo开发工厂 ",回复 关键词 " 1-love "



 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/130156.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue element-ui 手机号校验 验证码校验 获取验证码倒数60秒无样式实现

这段时间被迫搞前端搞裂开了&#xff0c;记录一下手机号验证码校验登录的极简无样式前端实现 巨丑&#xff01;希望大佬们不介意 下面是先演示效果 点击登陆后显示校验信息 输入手机号点击获取验证码 输入符合校验的内容后点击登录提示成功 无后端交互&#xff01;&#…

从档案信息管理到档案知识管理

今年6月份的时候&#xff0c;笔者发过一篇文章《DIKW模型在档案信息资源开发中的应用》&#xff0c;简要阐述了知识管理领域非常著名的DIKW模型&#xff0c;即从数据&#xff08;Data&#xff09;→信息&#xff08;Information&#xff09;→知识&#xff08;Knowledge&#x…

基于SpringBoot和微信小程序的餐馆点餐系统的设计和实现

作者主页&#xff1a;Designer 小郑 作者简介&#xff1a;Java全栈软件工程师一枚&#xff0c;来自浙江宁波&#xff0c;负责开发管理公司OA项目&#xff0c;专注软件前后端开发&#xff08;Vue、SpringBoot和微信小程序&#xff09;、系统定制、远程技术指导。CSDN学院、蓝桥云…

Android 学习笔记

目录一.Android入门1.Android 概述2.Android Studio3.创建模拟器4.使用外部模拟器5.第一个app二.app开发基础1.开发语言2.app工程目录结构3.文本控件TextView(1)设置文本内容(2)设置文本大小(3)设置文本颜色(4)设置背景颜色(5)设置视图宽高(6)设置视图间距(7)设置视图对齐方式4…

fpga实操训练(硬件乘法器)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 fpga上面的资源一般分成lut、pin、dff、dsp、pll。至于rom、ram、fifo&#xff0c;一般也是基于dff和lut来创建的&#xff0c;之前我们也讨论过。今…

ABAP 之ALV展示及下钻弹窗数据页面

序 HELLO, 这里是百里一个学习中的ABAPER,这里记录工作学习中遇到的bug,知识内容等内容.今天讲的是在工作中经常会使用的数据下钻,通过跳出小界面的方式展示关联数据.今天结合工作经验这里做下技术总结. 下钻简介 在ALV报表展示中.会出现关键字段下钻,展示某个界面或者系统自…

C语言基础--操作符详解

文章目录一、操作符1. 算数操作符2. 移位操作符&#xff08;1&#xff09;右移操作符举例补充&#xff08;2&#xff09;左移操作符举例分析&#xff08;3&#xff09;警告3.位操作符&#xff08;1&#xff09;按位与&#xff08;2&#xff09;按位或&#xff08;3&#xff09;…

小程序之后台交互--个人中心

目录一、微信登录流程简介二、微信用户信息获取1、index.js2、index.wxml三、微信登录流程代码详解1、后台准备①导入微信小程序SDK②application.yml③WxProperties④WxConfig⑤WxAuthController1、登录-小程序①login.js②user.js③util.js四、emoji的存储1、修改配置文件my.…

ArcGIS基础实验操作100例--实验24提取栅格独立格网面

本实验专栏来自于汤国安教授《地理信息系统基础实验操作100例》一书 实验平台&#xff1a;ArcGIS 10.6 实验数据&#xff1a;请访问实验1&#xff08;传送门&#xff09; 基础编辑篇--实验24 提取栅格独立格网面 目录 一、实验背景 二、实验数据 三、实验步骤 &#xff08;…

VMware 中 克隆多台虚拟机 快速创建虚拟机集群

我们在实际开发中可能会涉及到多台虚拟机&#xff0c;所以我们这里就模仿企业的方式进行多台虚拟机的操作方法&#xff1a; 我们现在就来学习一下如何用一台已有的虚拟机克隆出多台虚拟机。 我们第一步先来进行虚拟机的克隆&#xff1a; 我们现在就有了3太虚拟机了。 启动第一…

excel超链接应用:快速生成目录的几个方法-下

在上篇文章中&#xff0c;我们说到了基本的制作目录的方法&#xff0c;以及用宏表函数和超链接函数制作目录、用快捷键CTRLF制作目录的方法。今天我们要分享的另外三种方法&#xff0c;保证小伙伴们闻所未闻见所未见&#xff0c;一个公式都不用&#xff0c;就能完成目录的制作&…

镜头分辨率的计算和理解

镜头分辨力 计算和理解 1、镜头分辨率 镜头的分辨率是指在成像平面上 1 毫米间距内能分辨开的黑白相间的线条对数&#xff0c;单位是“线对/毫米”&#xff08; lp/mm&#xff0c;line-pairs/mm &#xff09; 最小能分辨的尺寸是线对数的2倍倒数。 例如&#xff1a;镜头分辨率…

Spark 3.0 - 16.ML SVD 奇异值分解理论与实战

目录 一.引言 二.奇异值分解理论 1.行矩阵 RowMatrix 2.奇异值分解算法 三.奇异值分解实战 1.构建 RowMatrix 2.奇异值分解 SVD 四.总结 一.引言 奇异值分解是矩阵分解计算的一种常用方法&#xff0c;矩阵分解主要用于数据降维&#xff0c;通过将高维的数据映射到低维…

Navicat 16 中改进了的协同合作

几年前&#xff0c;当 Navicat 团队加入 Navicat Cloud 协同合作工具时&#xff0c;几乎没有人知道一个全球大流行的疫情会使协同合作成为大多数组织的重要组成部分&#xff0c;尤其是那些提供任何信息技术&#xff08;IT&#xff09;相关服务的组织。在 2021 年的最后几天&…

ArcGIS基础实验操作100例--实验26创建多分辨率DEM

本实验专栏来自于汤国安教授《地理信息系统基础实验操作100例》一书 实验平台&#xff1a;ArcGIS 10.6 实验数据&#xff1a;请访问实验1&#xff08;传送门&#xff09; 基础编辑篇--实验26 创建多分辨率DEM 目录 一、实验背景 二、实验数据 三、实验步骤 方法一&#xff…

嵌入式C语言设计模式 --- 关于工厂模式的总结

前面三篇关于工厂模式的文章,主要介绍了三种工厂模式,分别是:简单工厂模式、工厂方法模式、抽象工厂模式。 关于这三种工厂模式,都各有利弊,应该根据不同的业务开发场景进行选择使用。 图片来源:网络 简单工厂模式 是最容易理解的一种设计模式,简单工厂模式不属于23种…

Spring循环依赖探究

1. 前言 Spring在较新版本中已经默认不允许bean之间发生「循环依赖」了&#xff0c;如果检测到循环依赖&#xff0c;容器启动时将会报错&#xff0c;此时可以通过配置来允许循环依赖。 spring.main.allow-circular-referencestrue什么是循环依赖&#xff1f; 循环依赖也叫循环…

【Python百日进阶-数据分析】Day143 - plotly箱线图:px.box()实例

文章目录四、实例4.1 plotly.express箱线图4.1.1 基本箱线图4.1.2 为 x的每个值绘制一个箱线图4.1.3 显示基础数据4.1.4 选择计算四分位数的算法4.1.5 四分位数算法之间的区别4.1.6 风格箱线图4.1.7 Dash中的箱线图四、实例 箱线图是变量通过其四分位数分布的统计表示。盒子的…

并发编程——3.共享模型之管程

目录3.共享模型之管程3.1.共享带来的问题3.1.1.Java中的体现3.1.2.问题分析3.1.3.临界区 (Critical Section)3.1.4.竞态条件 (Race Condition)3.2.synchronized 解决方案3.3.方法上的 synchronized3.4.变量的线程安全分析3.4.1.成员变量和静态变量是否线程安全&#xff1f;3.4.…

SpringBoot+VUE前后端分离项目学习笔记 - 【07 SpringBoot实现增删改查】

增删改查代码编写 UserController.java package com.zj.demo.controller;import com.zj.demo.entity.User; import com.zj.demo.mapper.UserMapper; import com.zj.demo.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.sp…