TikTok下的美国文化:温床与放大镜

在美国,TikTok引起的意见纷争,还在继续。

最受瞩目的是特朗普时期,TikTok一度面临拆分乃至被迫出售的命运。2022年,TikTok面临的争议和限制仍旧存在,美国至少18个州仍限制使用TikTok。但2023年伊始的变化是,南科达他州第二大城市拉皮德城否决了对TikTok的限制提案,这是一场小胜。

但等待TikTok的,依然是一条前所未有的未知路。

相比这些显现问题,TikTok在文化层面引发的关注更为隐性。伴随着2020年TikTok在全球范围内的崛起,TikTok已经在不同角度上成为世界范围内学术和文化界的研究对象。

2022年,美国从医学上研究TikTok与青少年的心理健康和注意力缺陷;新加坡从TikTok上研究移民建筑工人,分析这个边缘群体在疫情期间的医疗状况、心理焦虑和不平等遭遇;欧洲学者则早就提出,TikTok是冠状病毒的「解毒剂」,通过舞蹈和女孩审美的流行,教会了我们一个道理:现在是少女统治着互联网。

因此《美国的TikTok文化》中的观点认为,「可以将TikTok理解为21世纪的跨文化和变革性、创造性关键合作的实验室。」

TikTok已经成为美国年轻人手机中最火爆的产品,Z世代已经成为TikTok的代名词,他们是这个平台的潮流引领者。如何研究和打量TikTok在美国主流文化中的地位?《美国的TikTok文化》(《TikTok Cultures in the United States》)一书试图在文化领域作出空白的填补。

这部作品是一个合集,集中了15位美国学者和研究人员的文章,从三个层面论述了TikTok对美国流行文化的影响:首先是TikTok的算法给有色人种带来的种族主义问题,其次是女性主义和同性恋等性别话题在TikTok上蓬勃发展,最后则是亚文化群体在TikTok上的兴起。

现实是,TikTok已经进入美国的主流文化中,「TikTok在文化中变得更加根深蒂固,它开始决定我们自我塑造身份的方式、日常生活的方式和与他人互动的方式等等」。

不论是去美国杂货连锁店乔氏超市(Trader joe's)会看到「TikTok同款」推荐;还是巴诺书店(Barnes&Boble stores)会摆着TikTok上推荐的「booktok」;更不用说TikTok对美国流行音乐产业的影响,让很多音乐人走红,诸如说唱歌手利尔·纳斯·X (Lil Nas X)、布洛克·汉普顿 (Brock Hampton )、 Doja Cat的爆火等等。

《美国的TikTok文化》书中认为,「不论是吃东西、读新书或是听音乐,TikTok对人们的行为产生了明显而重大的影响,正如#TikTok made me do it#的挑战一样。」因此,《美国的TikTok文化》有积极层面的解读,但也不可避免有戴着「有色眼镜」的批判。

「达梅利奥效应」

2020年11月,15岁的查莉·达梅利奥(Charli D'Amelio)成为了第一个达到1亿粉丝的TikTok网红,成长速度远快于后来在抖音达到1亿粉丝的「疯狂小杨哥」。

当时,TikTok广泛流行,成为了「隔离期间注意力分散的完美媒介」。TikTok中的舞蹈挑战等内容为当时的美国年轻人提供了一种有趣的逃避方式,让他们待在家里联络彼此并乐此不疲。达梅利奥等带动了风潮,让十几岁年轻女孩的卧室,成为TikTok视频中反复出现的背景。

一年之后,TikTok在全球风生水起,下载量达到了30亿次,达梅利奥也高调接受采访,并获得了丰厚的广告代言。

「达梅利奥效应」也成为一个研究名词,其指代的并不只是达梅利奥一个人,而是专指TikTok内顶级网红们在主流文化中的影响力,她们通过唱跳舞蹈吸引了大批追随者,而她们往往都是年轻的白人群体。

就如同抖音的海草舞、手势舞等热门舞蹈挑战赛一样,TikTok也是靠着热门舞蹈挑战带动了年轻人的模仿风潮,但「达梅利奥效应」批评的是一种「白人至上」主义,这些热门舞蹈并不是达梅利奥原创的,而是美国的黑人青少年创造的。他们不仅很少从这些热门内容中获得回报,他们的创造还成为了白人网红的商业利润来源。

这种不满的积累在2021年夏天爆发,一首歌曲《Thot Shit》发布后,TikTok中的黑人创作者拒绝了像以往一样编舞,以此来维护自己的权利,一场「BlackTikTok」蔓延开来,主要就是表达对TikTok内白人创作者们的抗议,他们的模仿对黑人创作者造成了不平等。

「BlackTikTok」话题获得了极大关注,TikTok被扣上了「利用新技术形式来挪用文化」的帽子,背后反映出的美国现实问题是对公平的关注,黑人在流行音乐和舞蹈上的才华需要TikTok的承认,他们希望获得同样的认可和商业回馈。

TikTok也意识到了这一问题的严重性,创建了「BlackTikTok」的官方主页作为支持黑人创作者的窗口。其发言人对此表示,黑人创作者是社区中重要且充满活力的一部分,「我们重视黑人创作者在平台上的体验,并持续为我们的社区创造一个文化,在这种文化中,表彰创作者和创造性贡献是一种常态。」

重视黑人创作者的进步空间,也随之争取而来。

2022年,TikTok官方适时在黑人历史月(每年2月)开始发起庆祝「BlackTikTok」的活动,将12位优秀的黑人创作者请来分享故事,还有庆祝黑人音乐的LIVE,建立黑人音乐播放列表,应用内心的创意贴纸,在好莱坞竖起致敬的广告牌……

如今,「BlackTikTok」和「白人至上主义」的批评看似被化解,但背后的文化冲突问题依然具有启示作用。《美国的TikTok文化》强调,这不仅仅是TikTok本身的争议,更是一场关于美国主流文化的争议,而随着TikTok的变化,美国的文化也在发展,新的问题依然会出现。

女性主义

「TikTok催化并参与了女性主义的知识流动,为重要的讨论提供了机会和舒适的媒介。」《美国的TikTok文化》中认为。

故事起源于一场母女在早餐时的真实对话,一个12岁的女孩的TikTok推荐信息流页面里,全是关于英国伦敦女子莎拉·埃弗拉德的死亡消息,随后凶手被证实为伦敦警察局的一名警员,他参与了绑架、强奸和谋杀。这起事件让伦敦当地的女性觉得恐惧和愤怒。

从TikTok了解到这起案件的女孩名为米里亚姆,她开始在早餐时问妈妈,并把视频给妈妈看,「为什么会发生这种事?我不敢一个人出门,很多女孩在生活中受到侵害,这不公平。」妈妈想起了自己的童年时刻,她知道这种恐惧会对女孩产生负面影响,她不希望永远受到恐惧,也不希望她缺乏对女性遭受暴力的知识。

在后来的聊天中,妈妈才知道,女儿此前也受到过很多性骚扰,这远超她的认知。

《美国的TikTok文化》认为,TikTok是父母和儿童之间女性主义对话的促进者。「当我们观看TikTok时,我们成为了一个女性主义社区的一部分,当我们沉浸在TikTok中了解针对女性的暴力行为时,我们感到悲伤和愤怒,我们也接触到了改变的力量。」

更重要的是,77%的TikTok用户曾表示,通过一系列诸如:#女孩力量(girl power)#等话题,TikTok帮助他们了解了社会现实,让年轻人比没有使用TikTok的年轻人更早接触到了社会,进而形成了一些专家所谓的「TikTok青少年拯救世界」。

事实上,早在2020年,传媒学者梅兰妮·肯尼迪就喊出了一个社会文化判断:「现在是少女统治互联网」,其论断依据就是TikTok上最知名的人气都来自十几岁的女孩们。

而对于故事中的米里亚姆来说,她觉得TikTok上有很多女性力量,这向她展示了一条可以遵循的道路。母亲提醒她,TikTok并不是女孩们的乌托邦,很多女孩也会在TikTok上受到骚扰,米里亚姆则认为,「好坏都有,如果TikTok上有一个指责女孩的负面东西,那么就会有一堆评论说,你太愚蠢了。」

在母女的对话中,母亲给米里亚姆讲述了一些黑人女性的案例,以此说明埃弗拉德的死亡消息满天飞,本质上掩盖了其他黑人女性的不公遭遇。总之,在对一个女性话题的讨论上,母女二人都认真倾听了彼此的声音,而TikTok则为孩子和父母提供了沟通的机会,了解他们之间的经历、观点、恐惧和胜利。

故事的结尾是,母亲问12岁的米里亚姆,「你觉的现在的女孩从TikTok获取信息是一个有趣的变化吗?」米里亚姆说,「当你还是个孩子的时候,你没有TikTok,你的父母有时为了你的安全,不会告诉你全部的真相,但现在,真的什么都藏不住了,如果我想知道什么,我就会看TikTok,我觉得我什么都知道。」

在年轻的米里亚姆看来,她理解的女性主义就是一种正确的事情,女性主义给了她一种权利感,让她们可以一起做一些事情,让它变得更好。

母女二人的早餐对话展示了女性主义文化在美国最平常的一个场景,「对米里亚姆来说,过女性主义的生活意味着在TikTok上生活,在那里,视频本身是一种声明,点赞是一种表态,评论是更广泛地参与,这些连接跨越了线上和线下,让TikTok在生活中变得重要,因为它为日常行动和信念提供了支持。」

算法下的潮流

TikTok的算法对用户的了解,远超他们自身的想象。

TikTok之所以风靡全球,也是因为其算法的个性化推荐,根据用户的兴趣、位置和身份标签来推荐短视频内容,进而带动了平台上形成特定身份、社区和文化的形成,随着TikTok内容的传播,「TikTok变成了美国文化,美国文化变成了TikTok」。

对于性少数群体来说,TikTok展现出多元包容的一面,为他们提供了创造的空间,但同时也放大了对他们的妖魔化。

《美国的TikTok文化》分析了8位性少数群体的内容和评论,他们的评论区里,至少有一条表达了负面的恐惧和妖魔化的内容,但很快该账号的粉丝就会反击数十条。

「TikTok是一个展现性少数群体文化和经验的窗口」,但对平台上的用户来说,参与到这个群体的内容争议,则是因为对这个群体的恐惧。

TikTok上越来越多的人开始关注性少数群体,相关研究的视频获得了数百万的点赞,而排名前50的视频内容,都是展现出性少数群体和父母、老师等结成亲密的盟友。

除此之外,展现TikTok中亚文化的另一个最新的案例,则是玄学的盛行。

在TikTok的热门话题中,#WitchTok#有超过340亿次以上的浏览量,话题中有大量关于玄学元素的短视频,她们会通过蜡烛、白板、镜子和水晶等物品来表演魔法,一些女巫会直播分享塔罗牌等占卜和星盘解读等玄学内容。

这成为了一个颇具讽刺的场面:用户们用TikTok享受着科技创新的成果,但同时又在寻求魔法和玄学的力量来帮助自己。

这些巫术的表演者们往往都是女性,她们带动了魔法道具在TikTok上的销量,一些刻有魔法符号和咒语的蜡烛,销量非常高,一些国内跨境电商的从业者从中看到了巨大机会,进而借助#WitchTok#话题进行流量导流,据称第三方站点的流量涨幅达到了5倍之多。

这些魔法是否奏效无从知晓,虽然以现代的观点来看是荒谬的,TikTok也给出了社区规范的警告,一些恶搞女巫的内容也很快出现,但这背后表达的其实是一个美国文化现象:年轻人们热衷寻找一种精神寄托,魔法也是女性处理创伤和寻求赋权的方式之一。

与#WitchTok#一样,TikTok内关注图书和文学作品的「booktok」话题社区,哈利波特粉丝们建立的「DracoTok」社区,关注农场生活的「CottageCore」等等,这些主流和小众文化的蓬勃发展,本质上都是TikTok对美国流行文化的塑造。

所以从本质上说,TikTok已经成为美国文化滋养的温床,更是美国文化冲突的放大镜。这种文化指向的是,用户开始用平台身份来塑造自身的行为,进而适应这种平台的文化。

虽然《美国的TikTok文化》算不上一个严格意义上的学术专著,其内容落后于TikTok的发展,也因为研究方向的多元化和作者的分散而显得质量凌乱,

但不可否认的是,随着TikTok的全球化,关于TikTok的跨文化研究已经成为社会科学研究的一个领域,越来越多的学术研究者把TikTok本身作为研究对象和研究工具。

本文转载于网络 如有侵权请联系删除

相关文章

  • 【阿信子程序学习笔记(2)】什么是ABAQUS子程序?

    如题,在解释ABAQUS子程序是什么东东之前,需要明确几个问题:什么是FORTRAN语言?什么是FORTRAN程序?什么是FORTRAN子程序?什么是ABAQUS子程序?什么是FORTRAN语言?根据百度百科介绍,FORTRAN语言是FormulaTranslation的缩写,意为“公式翻译”。它是为科学、工程问题或企事业管理中的那些能够用数学公式表达的问题而设计的,其数值计算的功能较强。FORTRAN语言是世界上第一个被正式推广使用的高级语言。它是1954年被提出来的,1956年开始正式使用,直到2014年已有六十年的历史,但仍历久不衰,它始终是数值计算领域所使用的主要语言。什么是FORTRAN程序?FORTRAN程序一般包含主程序和若干程序模块,这些程序模块可以是子程序也可以是函数等类型。什么是FORTRAN子程序?通俗的讲,子程序是可以被主程序调用的模块,或者说过程,以SUBROURTINE语句开始,END语句结束。什么是ABAQUS子程序?ABAQUS子程序可以理解为是被ABAQUS软件定制过的子程序,每一种特定的子程序都有严格的参数规定,不能更改哑元列表,向ABAQUS求解器

  • 在 Linux 中复制文件

    在Linux终端中使用cp命令复制文件要在具有图形界面的计算机上复制文件,通常可以将文件从一个窗口拖放到另一个窗口,有时使用修饰键。或者,您可能更喜欢右键单击文件图标,选择“复制”,然后将文件图标粘贴到另一个窗口中。要在终端中复制文件,您可以使用cp命令,它的工作方式与mv命令完全相同,不同之处在于它复制文件的内容,而不是将它们从一个位置移动到另一个位置。$ cp example.txt~/Documents复制与mv命令一样,您可以在复制文件时重命名文件。$ cp example.txt~/Documents/file.txt复制使用cp时要小心,因为它完全按照您的要求执行。默认情况下,它并没有你是否想要一个文件在具有相同名称的另一个文件复制问你。为了避免这种情况,请使用cp--interactive(或简称-i),它以交互模式运行cp,这意味着它会询问您是否确定要覆盖现有文件。您可以确认或取消并重新执行cp并将文件重命名为不同的名称,以免与现有文件冲突。复制文件夹在CP命令查找文件,而不是文件夹,因为不存在真正的文件夹(也就是他们没有真正的数据,它们只是标记为我们人类对我们的数据在

  • mubeng:实现快速代理检测和IP地址轮转

    关于mubengmubeng是一款功能强大的代理检查和IP地址轮转工具。该工具具备以下几种功能特性:代理IP轮换:在每次发送请求之后变更你的IP地址。 代理检测:检测你的代理IP是否仍然可用。 支持所有的HTTP/S方法。 支持传递所有的参数和URI。 支持HTTP&Socksv5代理协议。 易于使用:你可以直接使用自己的代理文件来配置和运行mubeng,并选择需要执行的操作。 跨平台特性:无论你使用的是Windows、Linux、macOS或是树莓派,你都可以正常使用mubeng。工具安装预编译源码安装广大研究人员可以直接访问该项目的【Releases页面】来获取预编译好的项目代码,下载之后即可直接运行。Docker安装直接运行下列命令即可将mubeng的Docker镜像拉取到本地:▶dockerpullkitabisa/mubeng复制源码安装这里需要使用Go编译器(v1.15+):▶GO111MODULE=ongoget-uktbs.dev/mubeng/cmd/mubeng复制注意:上述命令也适用于工具更新。或者,你也可以使用下列命令将源代码手动构建为可执行程序:▶gi

  • Spring Boot 调试日志(一) 找不到或无法加载主类

    在IDEA通过右键运行没有问题,但是把SpringBoot程序打包成jar包用cmd运行时间会出现“找不到或无法加载主类错误"1.排查Maven依赖<dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.6</version> </dependency>复制<build> <!--可以把应用打包成jar--> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </buil

  • 全面了解 Java 原子变量类

    一、原子变量类简介为何需要原子变量类保证线程安全是Java并发编程必须要解决的重要问题。Java从原子性、可见性、有序性这三大特性入手,确保多线程的数据一致性。确保线程安全最常见的做法是利用锁机制(Lock、sychronized)来对共享数据做互斥同步,这样在同一个时刻,只有一个线程可以执行某个方法或者某个代码块,那么操作必然是原子性的,线程安全的。互斥同步最主要的问题是线程阻塞和唤醒所带来的性能问题。volatile是轻量级的锁(自然比普通锁性能要好),它保证了共享变量在多线程中的可见性,但无法保证原子性。所以,它只能在一些特定场景下使用。为了兼顾原子性以及锁带来的性能问题,Java引入了CAS(主要体现在Unsafe类)来实现非阻塞同步(也叫乐观锁)。并基于CAS,提供了一套原子工具类。原子变量类的作用原子变量类比锁的粒度更细,更轻量级,并且对于在多处理器系统上实现高性能的并发代码来说是非常关键的。原子变量将发生竞争的范围缩小到单个变量上。原子变量类相当于一种泛化的volatile变量,能够支持原子的、有条件的读/改/写操作。原子类在内部使用CAS指令(基于硬件的支持)来实现同步

  • openvswitch配置端口绑定

    openvswitch配置端口绑定测试环境如下网络设备cisco2960s服务器dellr610操作系统fedora15+update服务器上添加一块intel82571双端口的网卡,分别接交换机的1口,2口配置如下1交换机配置interfacePort-channel1switchporttrunkallowedvlan200switchportmodetrunk!interfaceFastEthernet0noipaddressshutdown!interfaceGigabitEthernet0/1switchporttrunkallowedvlan200switchportmodetrunkchannel-protocollacpchannel-group1modeactive!interfaceGigabitEthernet0/2switchporttrunkallowedvlan200switchportmodetrunkchannel-protocollacpchannel-group1modeactive!2服务器配置ovs-vsctladd-bondbr0pcp1p1p

  • 程序员一般喜欢浏览哪些网站呢?

    CSDNCSDN(ChineseSoftwareDeveloperNetwork)创立于1999年,是中国的IT社区和服务平台,为中国的软件开发者和IT从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。可能现在很多baidu搜索问题的指向,还有下载一些收费工具都是这里简书简书是一个创作社区,任何人均可以在其上进行创作。用户在简书上面可以方便的创作自己的作品,互相交流。简书成为国内优质原创内容输出平台。里面很多专题,比较适合程序员来看属于自己的专题。博客园博客园是一个面向开发者的知识分享社区。自创建以来,博客园一直致力并专注于为开发者打造一个纯净的技术交流社区,推动并帮助开发者通过互联网分享知识,从而让更多。很多大牌的老司机,还依然喜欢这个博客平台。36氪让一部分人先看到未来,36氪为您提供创业资讯、科技新闻、投融资对接、股权投资、极速融资等创业服务,致力成为创业者可以依赖的创业服务平台,为创业者提供最好的产品和服务。码云码云(gitee.com)是开源中国推出的代码托管平台,支持G

  • 【Spark研究】Spark之工作原理

    基本概念理解Spark的运行模式涉及一系列概念:(1)ClusterManager:在集群上获取资源的外部服务。目前有三种类型:1.Standalone,Spark原生的资源管理;2.ApacheMesos,和HadoopMapreduce兼容性良好的资源调度框架;3.HadoopYarn,主要指YARN中的ResourceManager.(2)Application:用户编写的应用应用程序。(3)Driver:Application中运行main函数并创建的SparkContext,创建SparkContext的目的是和集群的ClusterManager通讯,进行资源的申请、任务的分配和监控等。所以,可以用SparkContext代表Driver。(4)Worker:集群中可以运行Application代码的节点。(5)Executor:某个Application在Worker上面的一个进程,该进程负责执行某些Task,并负责把数据存在内存或者磁盘上。每个Application都各自有一批属于自己的Executor。(6)Task:被送到Executor执行的工作单元,和Hadoop

  • tensorflow 笔记 15:如何使用 Supervisor

    如何使用Supervisor在不使用Supervisor的时候,我们的代码经常是这么组织的 variables ... ops ... summary_op ... merge_all_summarie saver init_op withtf.Session()assess: writer=tf.tf.train.SummaryWriter() sess.run(init) saver.restore() for...: train merged_summary=sess.run(merge_all_summarie) writer.add_summary(merged_summary,i) saver.save复制   下面介绍如何用Supervisor来改写上面程序 importtensorflowastf a=tf.Variable(1) b=tf.Variable(2) c=tf.add(a,b) update=tf.assign(a,c) tf.scalar_summary("a",a) init_op=tf.initialize_all_variable

  • AC自动机 模板

                  【模板】AC自动机(简单版) 题目背景 #通过套取数据而直接“打表”过题者,是作弊行为,发现即棕名。这是一道简单的AC自动机模板题。用于检测正确性以及算法常数。为了防止卡OJ,在保证正确的基础上只有两组数据,请不要恶意提交。**管理员提示:本题数据内有重复的单词,且重复单词应该计算多次,请各位注意** 题目描述 给定n个模式串和1个文本串,求有多少个模式串在文本串里出现过。 输入输出格式 输入格式   第一行一个n,表示模式串个数;下面n行每行一个模式串;下面一行一个文本串。 输出格式   一个数表示答案 输入输出样例 输入样例#1 2 a aa aa复制 输出样例#1 2复制 说明 subtask1[50pts]:∑length(模式串)<=10^6,length(文本串)<=10^6,n=1; subtask2[50pts]:∑length(模式串)<=10^6,length(文本串)<=10^6;   #

  • Oracle 取整函数

    ceil(n):ceil英文含义是天花板,天花板在上面,所以意为向上取整,即大于或等于n的整数。   floor(n):floor英文含义是地板,地板在下面,所以意为向下取整,即小于或等于n的整数。

  • bzoj 1303

    很容易想到把大于b的数赋值为1,小于b的数赋值为-1。 做一遍前缀和。 于是问题变成求sum[j]-sum[i]=0(0<=i<w&&j>=w) 于是直接按照b所在位置划分成两段,分别用桶统计sum某值出现的次数,注意sum数组中的数可能会出现负数,于是要加上一个n防止访问负的下标。 最后用乘法原理统计答案即可。 #include"cstdio" #include"cctype" intread() { intc,x=0;while(!isdigit(c=getchar())); while(x=x*10+c-'0',isdigit(c=getchar())); returnx; } inta[100001],s[100001],h[200001],t[200001]; intmain() { intn=read(),b=read(),w; longlongans=0; for(inti=1;i<=n;i++) { a[i]=read(); if(a[i]==b)w=i,a[i]=0; elseif(a[i]>b)a[i]=1; else

  • 初识WebAPI

    (一)WebAPI简介:   目前使用Web服务的三种主流的方式是:远程过程调用(RPC),面向服务架构(SOA)以及表征性状态转移(REST),其中REST模式的Web服务与复杂的SOA和RPC对比来讲显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。   ASP.NETWebAPI(本文简称WebAPI),是基于ASP.NET平台构建RESTful应用程序的框架。可以说 WebAPI就是为在.NET平台下构建RESTful应用程序而生的。     REST是设计风格而不是标准。     WebAPI有自己的路由。     WebService和WCF的协议都是soap协议,数据的序列化和反序列化都是soap的格式。而WebAPI是Json的数据传递     WebAPI的优点有哪些?     (1)非常适合做http的请求,前端与webapi交互特别方便     (2)WebAPI更轻量因为使用的json数据来传递。     (3)WebAPI很多时候是给前端提供数据的,因为webapi

  • ubuntu20.04 LTS 更换国内163源、阿里源、清华源、中科大源

    Ubuntu20.04是Ubuntu的第8个LTS版本,其重大更新和改进将在2030年前终止,计划于2020年4月23日发布。 国内有很多Ubuntu的镜像源,有阿里的、网易的,教育网的比如:清华源、中科大源。这里以网易163源为例看一下如何修改Ubuntu20.04的默认源。 第一步:备份源文件:sudocp/etc/apt/sources.list/etc/apt/sources.list.backup 第二步:编辑/etc/apt/sources.list文件 在文件最前面添加以下条目(操作前请做好相应备份):vi/etc/apt/sources.list 网易163源 #默认注释了源码镜像以提高aptupdate速度,如有需要可自行取消注释debhttp://mirrors.163.com/ubuntu/focalmainrestricteduniversemultiversedebhttp://mirrors.163.com/ubuntu/focal-securitymainrestricteduniversemultiversedebhttp://mirrors.163.c

  • 动态开点线段树(粗略浅析)

    动态开点线段树就是把原来一开始需要\(build\)的建立线段树省去,改为对于每一次修改操作时,每次根据区间修改的需要在线段树上开出至多\(\logn\)个节点的算法。 相信普通的线段树,学了就一定能写(bei)出来 如果把\(n\)的值域开到\(10^9\),而询问次数\(m\)并不大,若用普通线段树一开始就要开出\(4\times10^9\)的数组,肯定不能接受。 这时,我们便考虑到了动态开点。 在每次修改操作时,如果发现马上要搜到的点没有开过,那我们就要开出新结点,并更新它父亲的左/右儿子结点。 所以这就要求我们在递归时的\(k\)需要取值符,这样回溯时得以更新父亲的结点。 动态开点与普通有一个较大的不同:动态开点并不是一棵完全二叉树,需要记录下左右儿子节点的编号,而普通的可以通过位运算直接得出。 对于pushdown操作,我们思考该操作是向下传递信息,但下面可能还未开出节点,这样做不仅浪费时间,还浪费空间。 所以我们可以不在modify时下传标记,而是等到需要查询下面的区间,不得不传时我们再传即可。 在下传时也应当注意:传递时若发现左右儿子点没开出来,要先开出点来再下传标记。

  • 使用npm私有仓库,私有仓库不存在走三方镜像源,服务器拉取配置

    一、我们为什么要搭建自己的npm私有仓库 拉安装包更快(优先从私有仓库拉,没有的才去第三方镜像源拉) 团队发布自己的包,项目的私密性 安装包更容易管理 二、通过Nexus建立npm私有仓库 此处网上资料很多,可在网上搜索 点击此处 三、使用npm私有仓库方法1:修改镜像源 a.清除工程原镜像源 npmconfigrmregistry b.添加新的nexus镜像源 npmconfigsetregistry=http://xxxxxxxxxxxxxx:8081/repository/npm-group/ c.删除原始缓存 手动删除node_modules d.重新构建 npmupdate npminstall e.查看是否已使用最新的私有仓库(如果打印的是设置的registry就是成功了) npmgetregistry(或npmconfigls) f.其他途径验证是否是私有仓库 点击package-lock.json---->查看resolved字段的值是不是http://xxxxxxxxxxxxx:8081/repository/npm-group/x

  • Ext.js二级联动

    <!DOCTYPEhtml> <html> <head> <metacharset="utf-8"> <linkhref="https://cdn.bootcss.com/extjs/6.0.0/classic/theme-classic/resources/theme-classic-all.css"rel="stylesheet"> <scriptsrc="https://cdn.bootcss.com/extjs/6.0.0/ext-all.js"></script> <scripttype="text/javascript"> varattr_city=["嘉峪关","金昌"]; varattr_county=[ ['嘉峪关'], ['河西堡','永昌县','金昌区'] ]; Ext.onReady(function(){ //定义新的类FormPanel,并且把变化的属性暴露出来以便以后继承 varMyFormPanel=Ext.extend(Ext.form.FormPanel

  • 【举个栗子】我对贝叶斯分类的理解

    先说结论,贝叶斯分类=最大化后验概率。 给定样本\(x\)和所属类别\(c\),贝叶斯最优分类器欲最大化后验概率\(P(c|x)\)。想实现这个目的可以通过判别模型(如决策树、支持向量机等,直接对后验概率建模),或生成模型(对联合概率\(P(x,c)\)建模)。 对于生成模型,考虑: \[P(c|x)=\frac{P(x,c)}{P(x)} \]根据贝叶斯公式: \[P(c|x)=\frac{P(c)P(x|c)}{P(x)}\varproptoP(c)P(x|c) \]问题转化为根据训练数据来学习先验概率\(P(c)\)和似然值\(P(x|c)\)。 先验概率是好求的,根据大数定律,只要样本足够多,那么\(P(c)\)近似等于各类别样本占样本空间样本数的比例。 \(P(x|c)\)涉及到关于\(x\)所有属性的联合概率,直接根据频率估计是不行的,属性空间的所有可能事件往往远大于样本空间。求似然值\(P(x|c)\)一般用极大似然估计,假设其服从某种分布,然后从训练数据中学习分布参数。缺点就是需要对这种分布做出很好的估计,否则学习效果欠佳。 为了避开似然\(P(x|c)\)所有属性联合

  • 熟悉编程语言

    熟悉编程语言 top50                编程泛型 命令式:FORTRAN,BASIC,C++,C 面向过程:C,COBOL,Fortran 面向对象:C++,Java,PHP,python,go,Objective-C,C# 声明式:SQL 函数式:Haskell,ML,Scala,lisp,logo,Scheme,R 逻辑式:prolog 想学习的语言 命令式:C语言,毕竟是主流,一定要学 面向过程:python,简单易入门 面向对象:Java,功能强大,简单易用 声明式:SQL 函数式:lisp,长期以来垄断人工智能领域应用 逻辑式:prolog

  • Hbase设置多个hmaster

    为了保证HBase集群的高可靠性,HBase支持多BackupMaster设置。当ActiveMaster挂掉后,BackupMaster可以自动接管整个HBase的集群。 该配置极其简单: 在$HBASE_HOME/conf/目录下新增文件配置backup-masters,在其内添加要用做BackupMaster的节点hostname。如下: [hbase@masterconf]$catbackup-masters node1复制   之后,启动整个集群,我们会发现,在master和node1上,都启动了HMaster进程: [hbase@masterconf]$jps 25188NameNode 3319QuorumPeerMain 31725Jps 25595ResourceManager 31077HMaster 25711NodeManager 25303DataNode 31617Main 31220HRegionServer复制   [hbase@node1root]$jps 11560DataNode 11762NodeManager 20

  • 在datasnap 中使用unidac 访问数据(客户端)

     前面我们讲了如何使用unidac在datasnap的服务端访问数据库,今天大概讲一下客户端如何访问 前面做的服务器?其实这个客户端适合任何datasnap服务端。 首先我们建一个应用,并加入一个TDatamodule. 加入TSQLConnection控件,并选择driver为datasnap    再放置一个TSqlServerMethod,设置sqlconnection属性。然后打开我们前面做的服务端,就可以在选择服务端的方法名了。   我们现在主窗体里面调用一下这个服务器方法,代码就非常简单了。 procedureTForm1.Button1Click(Sender:TObject); begin dmf.echo_m.Params[0].AsString:=edit1.Text; dmf.echo_m.ExecuteMethod; memo1.Lines.Add(dmf.echo_m.Params[1].AsString) end;复制 运行效果如图 说明调用成功。 现在我们再访问我们的数据库。要访问数据库,一共需要4个控件

相关推荐

推荐阅读