Vagrant配合VirtualBox搭建虚拟机

目录 前言一、软件下载及安装1.下载2.安装扩展: 二、创建一个虚拟机1.Vagrant官方镜像仓库 三、使用远程工具连接虚拟机1.修改相关配置文件 四、虚拟机克隆及使用1.通用配置2.简单搭建一个java环境3.克隆虚拟机1.重命名虚拟机(可选)2.打包指定名称的虚拟机 五、异常情况处理1.up启动报错2.身份验证失败 前言 目前我用虚拟机主要作用是模拟linux系统下当服务器使用,直接用vmware虚拟机或者VirtualBox虚拟机进行搭建相关开发环境耗时,并且很多步骤冗余,至此想要探寻简化配置步骤,并且可以一次搭建多次复用的方式,我们从使用Vagrant开始,然后我们还有去探索克隆虚拟机,搭建完基础环境之后移植到其他机器也能快速使用的方法。 一、软件下载及安装 我这里是win环境下安装相关软件。博客那没多,要搞就搞点不一样的,都安装最新版本。 1.下载 Vagrant下载 截止2024/7/8最新版本为2.4.1版本,我是win64位系统,选择amd64,如果你的电脑是非常旧的版本或32位选择I686 VirtualBox下载 我就想要下载旧一些的版本,他可能稳定或者相关资料更多一些,这里也提供旧版本下载提示。 直达链接 2.安装 ①安装VirtualBox 在选择安装位置时,你是否也把目录切换到了其他磁盘而不是默认的系统盘 解决方式有两种 第一种:不喜欢折腾的同学,直接换回系统盘安装。 第二种:分两种情况 第一种情况:选择其他盘后,建一个根目录,把它安装到该目录下。需要做一些准备。 例如我把它安装到了某个目录下: 需要创建完该文件夹后执行如下命令,以管理员身份运行cmd程序,执行如下几行代码。 icacls A:\VirtualBox /reset /t /c icacls A:\VirtualBox /inheritance:d /t /c icacls A:\VirtualBox /grant *S-1-5-32-545:(OI)(CI)(RX) icacls A:\VirtualBox /deny *S-1-5-32-545:(DE,WD,AD,WEA,WA) icacls A:\VirtualBox /grant *S-1-5-11:(OI)(CI)(RX) icacls A:\VirtualBox /deny *S-1-5-11:(DE,WD,AD,WEA,WA) 执行完毕,重新安装并且选择你执行过的目录即可安装。 情况2:更换其他磁盘,并且不是放在更目录,此时你需要把指定目录和对应的根目录都执行一次,我嫌麻烦就没这么搞了。 ②安装Vagrant 这个就没啥好选的了,最新版没找到选择安装目录的位置。在最后一步时,你选择了yes会立刻重启你的电脑。其他情况暂时未遇到问题。 扩展: ① icacls工具:管理文件和目录的访问控制列表,这些操作类似于linux对目录用户组进行权限分配和设置。资料来源网络,如果错误还请指正。 1- icacls A:\VirtualBox /reset /t /c 这个命令将重置A:\VirtualBox目录及其所有子目录和文件的权限为默认设置。/t参数表示操作递归应用于所有子目录和文件,/c参数则表示如果遇到错误,命令会继续处理其他项。 2- icacls A:\VirtualBox /inheritance:d /t /c 此命令禁用了A:\VirtualBox目录及其子目录的继承权限。inheritance:d表示删除现有的继承权限条目,/t和/c与上一个命令相同

“爆炸性更新!JDK 17携全新语法特性强势来袭,开发者必看的升级亮点“(1)

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏:Java进化论 目录 背景 yield关键字 var关键字 空指针异常 密封类 接口中的私有方法 instanceof关键字 背景 Java 8 虽然曾经是使用最广泛的版本,但由于它不再是受支持的版本(除非通过付费支持计划),很多公司已经开始或完成了向 Java 11 或 Java 17 的迁移。 需要注意的是,具体使用哪个版本可能因公司而异,一些公司可能因为特定的技术需求、框架兼容性、成本因素或内部政策而选择停留在某个版本。然而,趋势是向着最新的 LTS 版本迁移,以获取最新的安全补丁、性能提升和新功能。 上面是 AI对 有关Java17是否会成为以后常用的开发版本 的看法。也许在不久的将来就会代替Java11成为新的常用开发版本,因此我们程序员也要开始学习Java17的相关语法变动。 下面是官方对Java17的相关改动。 yield关键字 我们要想在多种不同情况下,返回不同的值,会用 switch 语句来解决。 例如:用一个 ret 来接收不同情况的值。 public class Test { public static void main(String[] args) { int n = 1; int ret = 0; switch (n) { case 1: ret = 1; break; case -1: ret = -1; break; case 0: ret = 0; break; } System.

Linux安装Weblogic 14.1.1.0.0保姆级教程

文章目录 前言一、Weblogic安装包下载二、安装JDK三、Weblogic安装(我安装依赖的是JDK 17版本)1.创建Linux用户2.创建weblogic的安装目录3.上传weblogic的安装包4.解压缩5.修改 /opt/weblogic 目录的所有权6.创建 oraInst.loc 文件7.创建 wls.rsp 响应文件8.切换用户9.静默安装weblogic10.切换到root用户11.切换目录12.创建域13.切换目录14.启动Weblogic15.添加防火墙端口(便于其他电脑访问)16.访问Weblogic管理控制台(需要等一会,等页面加载)17.输入用户名和密码进行登录 前言 WebLogic是一个Java应用服务器软件,WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。 一、Weblogic安装包下载 Weblogic下载地址:https://www.oracle.com/middleware/technologies/weblogic-server-installers-downloads.html 二、安装JDK Weblogic需要依赖于JDK JDK安装教程:https://blog.csdn.net/weixin_44904239/article/details/137240064 三、Weblogic安装(我安装依赖的是JDK 17版本) 1.创建Linux用户 root用户安装weblogic是无法安装的,会报错,需要创建一个用户进行安装weblogic 创建一个名为weblogic的用户,并给weblogic用户设置密码,我这里设置的密码为:1234(可以使用别的用户名) useradd weblogic passwd weblogic 2.创建weblogic的安装目录 在 /opt/ 目录下创建一个名为weblogic的目录 mkdir /opt/weblogic 切换到 /opt/weblogic 目录 cd /opt/weblogic/ 3.上传weblogic的安装包 4.解压缩 接压缩以后会得到一个 .jar 结尾的jar包 unzip fmw_14.1.1.0.0_wls_lite_Disk1_1of1.zip 5.修改 /opt/weblogic 目录的所有权 -R:递归地修改指定目录及其子目录中的文件或目录的所有权 chown -R weblogic:weblogic /opt/weblogic 6.创建 oraInst.loc 文件 创建 oraInst.loc 文件 在WebLogic中,oraInst.loc文件是一个安装位置配置文件,用于指示Oracle软件安装的位置。 touch oraInst.loc 添加如下两行内容 Inventory_loc=/opt/weblogic/oraInventory 产品目录清单Inst_group=weblogic 用户组名称 vim oraInst.loc Inventory_loc=/opt/weblogic/oraInventory Inst_group=weblogic 7.

百度文心4.0 Turbo开放,领跑国内AI大模型赛道!

百度文心4.0 Turbo开放,领跑国内AI大模型赛道! 前言 文心一言大模型 就在7月5日,在2024世界人工智能大会 (WAIC) 上,百度副总裁谢广军宣布文心大模型4.0 Turbo正式向企业客户全面开放!这一举动直接引发了业界的关注。那么文心4.0究竟有着什么样的魅力呢?我们接着往下看。 文心4.0技术突破 技术层面大突破 对比文心4.0,文心4.0 Turbo 的技术突破在理解、生成、逻辑和记忆四大能力上取得了跨越式进步,综合水平已与 OpenAI 的 GPT-4 模型比肩。通过数据标注、基础模型、对齐技术等关键技术的持续创新优化,以及与飞桨等深度学习平台的协同,文心 4.0 Turbo 实现了更快的处理速度和更优的性能表现。 具体来看,文心4.0 Turbo 将输入tokens长度从2K提升至128K,AI生成图像分辨率从512×512提高到1024×1024。借助有监督精调、知识增强、对话增强等多种技术,确保了模型输出内容的准确性和连贯性。这使得文心一言能更好地理解用户意图,给出极致满足的答案;通过多轮对话持续优化结果;对更加复杂的任务给出清晰的解题思路。 多元应用场景 多元应用场景 文心4.0 Turbo目前可以直接从网页、APP、API等多种形式直接访问。同时,百度还推出了面向各类开发者的文心智能体平台AgentBuilder。这个被称为"国内首个实现全流程自动化的插件开发平台",上线仅一个月就吸引了2.7万家开发者入驻,覆盖法律、教育、办公等20多个领域。 在具体场景应用中,百度已经推出了"重做一遍"的新搜索、新文库、网盘等十余款AI原生应用。比如网盘里的"云一朵"智能助理,用户说一句话就能对文件进行操作,快速找到所需;而百度文库则从内容工具进化成了强大的生产力工具,能理解10亿文档,帮助用户高效创作。 目前,文心一言的累计用户规模已达3亿,日调用次数高达5亿。百度正通过开源开放、联合创新等方式赋能产业伙伴,携手高校、企业等构建AI新生态。今年4月,百度还面向开发者推出了灵境插件平台,提供流量扶持、算力支持等多重激励。 总结 百度文心大模型4.0 Turbo 的免费开放不仅为国内外开发者提供了顶尖的AI工具,更为传统产业数字化转型注入了新动能。随着大模型技术的不断突破,人机协作将重塑生产生活的方方面面,开启智能时代的新篇章。 像文心4.0 Turbo 这样的大模型,需要使用的算力资源可谓是巨量级的。如果你对算力感兴趣或是有需求,不妨来我们厚德云官网看看! 厚德云是一款专业的AI算力云平台,为用户提供稳定、可靠、易用、省钱的GPU算力解决方案。海量GPU算力资源租用,就在厚德云。

C++ --> 类和对象(一)

欢迎来到我的Blog,点击关注哦💕 前言 前面讲到了C++的入门需要学习的知识,是为了后面更好的学习。学习是不断深入的,内容是不断复杂的。笃定信心。 一、面向对象编程(OOP)和面向过程编程(POP)的认识 面向过程编程(Procedural Programming,简称POP) POP特性 程序的核心是函数,这些函数是一系列预定义操作的集合,旨在执行特定任务。这种方法让程序员可以重用代码,提高效率,并且使代码更易于跟踪和维护。通过将复杂问题拆解为更小、更具体的任务,面向过程编程使解决问题变得更加直接. 面向对象编程(Object Oriented Programming,简称OOP) OOP特性 封装:是将对象的属性和方法结合在一起,并尽可能隐藏对象的内部细节,只暴露必要的接口供外部使用。继承:允许一个类(子类)继承另一个类(父类)的属性和方法,实现代码的重用和层次化组织。多态:允许使用相同的接口来处理不同类型的对象,具有不同的实现,增加了代码的灵活性和可扩展性. 二、类 类的定义:类是用户自定义的数据类型,它允许将数据(成员变量)和操作数据的函数(成员函数)封装在一起。 类的定义 class ClassName { public: // 公共成员声明 private: // 私有成员声明 protected: // 受保护成员声明 }; 访问限定修饰符 public(公有):公有成员可以在类的内部、派生类和类的外部访问。它们构成了类的公共接口,通常用于定义可以被外部直接访问和操作的方法和属性。protected(受保护):受保护的成员只能在类的内部和派生类中访问,而不能在类的外部访问。它们用于实现基类和派生类之间的共享实现细节。private(私有):私有成员只能在类的内部访问,外部无法直接访问。私有成员用于隐藏类的内部实现细节,防止外部代码直接访问和修改类的状态 类和结构区别 在C++ 中将 C语言中 struct升级成了类,在C++中strcut也可以声明类。 结构(struct)默认访问类型是 public类的默认访问类型是private 类的作用域 **类 **: 类的作用域是指类定义中声明的成员变量和成员函数的可见范围。类的作用域由类名和作用域解析运算符(::)共同控制。 类的实例化 类的实例化:指创建类的具体对象的过程。这个过程通常涉及到分配内存空间给新创建的对象,并设置其初始属性值。 例如: class Stack { //类定义 }; int main() { Stack st; return 0; } 对象的大小 对象的大小类似于C语言中的结构体大小的计算方法。 第一个成员在与结构体偏移量为0的地址处。其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。 注意:对齐数 = 编译器默认的一个对齐数 与 该成员大小的较小值。 VS中默认的对齐数为8结构体总大小为:最大对齐数(所有变量类型最大者与默认对齐参数取最小)的整数倍。如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的整 体大小就是所有最大对齐数(含嵌套结构体的对齐数)的整数倍 class A1 { public: void f1(){} private: int _a; }; // 类中仅有成员函数 class A2 { public: void f2() {} }; // 类中什么都没有---空类 class A3 {}; sizeof(A1) = 4sizeof(A2) = 1sizeof(A3) = 1 C++标准规定空类必须具有非零大小的原因主要有以下几点 确保对象地址唯一性:C++标准要求不同的对象不能具有相同的地址。如果空类的大小为0,那么在数组中连续创建多个空类对象时,这些对象将没有区分它们的内存空间,从而违反了这一原则.

苹果电脑玩游戏咋样 苹果电脑能玩什么游戏 mac支持的steam游戏 好玩的苹果电脑游戏推荐

随着苹果电脑在全球范围内的普及,越来越多的用户开始关注Mac平台上可玩的游戏。幸运的是,Steam作为最大的数字发行平台之一,提供了大量适用于Mac操作系统的游戏。无论你是喜欢策略、冒险还是射击类游戏,都能在Steam上找到适合自己Mac设备玩耍的好游戏。 在最新的 macOS Sonoma 14 系统中,苹果首次引入了全新的 Game mode(游戏模式),将 M 系列芯片的超强能力在游戏中进一步释放!Mac将不再需要接受“Mac 不是为游戏而打造”这一事实。 游戏之前准备: 1、苹果电脑。 2、CrossOver软件安装包免费下载(此链持续指向最新版):https://souurl.cn/mWK48N 3、安装游戏。 赛博朋克2077 《赛博朋克 2077》的故事发生在夜之城,权力更迭和身体改造是这里不变的主题。玩家将扮演一名野心勃勃的雇佣兵:V,追寻一种独一无二的植入体——获得永生的关键。自定义角色义体、技能和玩法,探索包罗万象的城市。玩家做出的选择也将会对剧情和周遭世界产生影响。《赛博朋克2077》以五项最佳成为科隆2020的最大赢家,该作于2020年被授予科隆展最佳游戏奖、科隆游戏展消费者“最期待游戏”、最佳索尼PlayStation游戏等五项大奖。 虽然《赛博朋克2077》并不支持Mac平台,但你可以通过CrossOver来运行。 CrossOver是一款Mac平台的系统兼容软件,不必花几百元购买 Windows 正版授权,更不必使用虚拟机软件,光这两样就能省下2000元。通过 CrossOver 你可以直接从 dock 栏启动 Windows 软件。CrossOver凭借一己之力就让Mac玩游戏从笑话变成了可能。 原神 《原神》是一款由米哈游开发的开放世界冒险游戏,自从2020年正式上线以来,就受到了全球玩家的热烈欢迎。《原神》的画面精美,音乐动听,剧情丰富,角色多样,玩法多变,让人沉浸在一个充满奇幻和魅力的世界中。 游戏发生在一个被称作“提瓦特大陆”的幻想世界,在这里,被神选中的人将被授予“神之眼”,导引元素之力。玩家将扮演一位名为“旅行者”的神秘角色,在自由的旅行中邂逅性格各异、能力独特的同伴们,和他们一起击败强敌,找回失散的亲人——同时,逐步发掘“原神”的真相 。 ​你将在游戏中探索一个被称作「提瓦特」的幻想世界。 在这广阔的世界中,你可以踏遍七国,邂逅性格各异、能力独特的同伴,与他们一同对抗强敌,踏上寻回血亲之路;也可以不带目的地漫游,沉浸在充满生机的世界里,让好奇心驱使自己发掘各个角落的奥秘…… 双人成行 近些年最受欢迎的双人游戏,获得了第39届金摇杆奖最佳多人游戏奖,第6届Steam独乐乐不如众乐乐奖,第25届D.I.C.E.年度最佳游戏等多个奖项。果果认为它是《胡闹厨房》系列之后最欢乐的客厅游戏,而在关卡设计和艺术成就上更是最高水平。 《双人成行》游戏中,玩家之间的合作和家庭温情相互呼应,喜剧桥段和情感交织共同构成了一个完整的故事。虚幻4引擎的应用使得游戏的环境建模和光影特效达到了令人惊叹的水准。同时,电影拍摄手法的运用也使得游戏的过场演出充满了电影质感,给玩家留下深刻的印象和情感体验。 游戏支持Windows,Xbox,PS、Switch平台,现在通过CrossOver你可以在Mac上玩到这款游戏。 霍格沃茨之遗 《霍格沃茨之遗》是一款基于《哈利·波特》系列书籍设定的游戏。在游戏中,玩家将造访那些熟悉的和陌生的地点,发现奇妙的野兽,自定义玩家的角色并制造魔药,掌握施放咒语的技巧,升级天赋,体验1900年代的霍格沃茨。玩家将扮演一名握有古老秘密之钥匙的学生,而这个秘密可能会威胁到整个魔法世界。 故事发生在哈利波特原著的大约100年以前,虽然在霍格沃茨之遗中并没有哈利波特和伏地魔,但在原著中大量设定性质的内容都得到了很好的还原。是每个哈利波特迷都应该必玩的游戏。 想在Mac电脑上玩的话需要安装CrossOver。 怪物猎人·崛起 《怪物猎人:崛起》是CAPCOM制作发行的一款动作角色扮演类游戏,全平台全球累计销量突破销量破1100万份。游戏以“新动作、新原野、新怪物”为卖点,玩家将化身猎人进行狩猎,制作更强的武器装备以挑战更为强大的怪物。 《怪物猎人:崛起》再次展示了CAPCOM出色的游戏设计能力,它将新旧大陆的机制系统融合在一起,使新老玩家都能轻松上手。翔虫的引入使得战斗节奏更加紧凑,将地面战斗升级为更具机动性的立体空间战斗。新的环境生物增加了战斗的随机性和策略性,而替换技则为不同的武器提供了更多的打法和流派选择。御龙机制和百龙夜行为玩家提供了更加有趣的游戏内容,进一步丰富了游戏体验。 之前各位猎人只能在PC或主机平台享受刷怪的乐趣,但是现在你有了CrossOver,可以直接通过Mac启动游戏了。 幻兽帕鲁 2024最热门的游戏,怎么能少得了幻兽帕鲁!《幻兽帕鲁》是日本游戏开发商Pocketpair制作的一款开放世界生存制作游戏,游戏在2024年1月18日发行了抢先体验版本。《幻兽帕鲁》的核心玩法涵盖了怪物养成、战斗、领域探索、建造和制作等等。在帕鲁的世界里,玩家可以选择与神奇的生物“帕鲁”一同享受宁静的生活,也可以踏上与偷猎者搏斗的惊险冒险。 帕鲁具备多种技能,如战斗、繁殖、协助玩家进行农耕活动,甚至能在工厂工作。玩家还可以选择出售它们,甚至将其宰杀食用。 根据SteamDB的数据显示,《幻兽帕鲁》Steam的同时在线峰值破百万,并成为Steam历史上所有付费游戏中同时在线玩家数量最高的游戏。将《博德之门3》等热门大作远远甩在了身后。 深岩银河 《深岩银河》是由丹麦Ghost Ship Games制作,Coffee Stain Publishing发行的一款科幻题材第一人称射击类游戏。支持最多四人联机,展现了随机生成并且可破坏的环境,作为一位矮人太空矿工,玩家将在挖矿中探索自己的出路,深入无人敢去的地方。IGN总评中称《深岩银河》是最好的四人合作游戏,四种职业配上繁多的任务让游戏充满了乐趣,并且上手容易,对新人非常友好。 作为一款刷刷刷的爽游,《深岩银河》节奏流程,画面炫酷,很适合和朋友一起玩。 同样,《深岩银河》也支持CrossOver兼容,即使你是Mac电脑,也能跟好友一起开黑啦。 艾尔登法环 《艾尔登法环》是一款以正统黑暗奇幻世界为舞台的动作RPG游戏。走进辽阔的场景与地下迷宫探索未知,挑战困难重重的险境,享受克服困境时的成就感吧。不仅如此,登场角色之间的利害关系谱成的群像剧,更是不容错过。 无缝连接的辽阔世界──尽情探索状况多变的开放场景,构造复杂、立体的巨大地下迷宫。在探索新发现时感到欣喜,在征服强敌时感到成就感十足,丰富内容等你体会。不只能自订操纵角色的外表,更能自行搭配武器、装备,与魔法──想成为力量取胜的顽强战士,或选择在魔法领域登峰造极,都能照自己的游玩风格决定。 博德之门3 2023年9月23日,“好评如潮”的《博德之门 3》游戏已经登陆苹果 Mac 平台,玩家可以通过 Steam 平台下载,并能在 Apple Silicon Mac 上进行游戏。 [84]12月13日,据IT之家报道,拉瑞安工作室出席TGA2023颁奖典礼活动,宣布正式上线适用于XboxSeriesS|X游戏主机的《博德之门3》游戏。

阿里云上kubesphere安装配置 - 使用阿里云负载均衡

教程参考 https://www.kubesphere.io/zh/docs/v3.3/installing-on-linux/public-cloud/install-kubesphere-on-ali-ecs/ 环境配置 关闭防火墙关闭selinux关闭swap分区时间同步hosts解析内核参数设置检查DNS安装ipvs安装依赖组件安装、设置docker 每台机器都需要操作 #安装工具 yum -y install net-tools # 如果下载不行,设置一个repo # sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* # sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* ##关闭防火墙 systemctl stop firewalld.service systemctl disable firewalld.service ##时间同步 yum install ntpdate -y ntpdate pool.ntp.org timedatectl set-timezone Asia/Shanghai # 将 SELinux 设置为 permissive 模式(相当于将其禁用) sudo setenforce 0 sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config #关闭swap swapoff -a sed -ri 's/.*swap.*/#&/' /etc/fstab #允许 iptables 检查桥接流量 cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf br_netfilter EOF cat <<EOF | sudo tee /etc/sysctl.

SpringBoot报错:The field file exceeds its maximum permitted size of 1048576 bytes

报错信息 The field file exceeds its maximum permitted size of 1048576 bytes 原因是 SpringBoot内嵌的 tomcat 默认的所有上传的文件大小为 1MB 解决办法 修改配置 spring: servlet: multipart: max-file-size: 50MB max-request-size: 50MB 或者 spring.servlet.multipart.max-file-size=50MB spring.servlet.multipart.max-request-size=50MB 参考 【异常】The field file exceeds its maximum permitted size of 1048576 bytes.

【割点 C++BFS】2556. 二进制矩阵中翻转最多一次使路径不连通

本文涉及知识点 割点 图论知识汇总 C++BFS算法 LeetCode2556. 二进制矩阵中翻转最多一次使路径不连通 给你一个下标从 0 开始的 m x n 二进制 矩阵 grid 。你可以从一个格子 (row, col) 移动到格子 (row + 1, col) 或者 (row, col + 1) ,前提是前往的格子值为 1 。如果从 (0, 0) 到 (m - 1, n - 1) 没有任何路径,我们称该矩阵是 不连通 的。 你可以翻转 最多一个 格子的值(也可以不翻转)。你 不能翻转 格子 (0, 0) 和 (m - 1, n - 1) 。 如果可以使矩阵不连通,请你返回 true ,否则返回 false 。 注意 ,翻转一个格子的值,可以使它的值从 0 变 1 ,或从 1 变 0 。

【一】m2芯片的mac中安装ubuntu24虚拟机集群

文章目录 1. 虚拟机配置2. 复制虚拟机2.1 修改主机名2.2 修改网络 1. 虚拟机配置 在官方网站下载好ubuntu24-arm版镜像开始安装,安装使用VMWare Fusion的社区免费授权版,使用一台m2芯片的mac电脑作为物理机平台。 为什么选择ubuntu24? 因为centOS7目前已经不在支持在m2处理器的macos中运行,如果使用centos7安装,会卡在installing centos 这个选择界面跳不出去。 进行硬件配置,这些参数以后也可以关机再修改。 安装ubuntu服务。 按回车安装,等待读条。 选择英语,回车。<br / 选择最小化安装,第二个,回车。 网络默认即可,后期再改,直接回车。 代理可以不用写,回车跳过。 镜像地址,在国内的换成阿里云的,或者直接回车跳过。 磁盘配置,直接回车跳过,以后有需求可以再改。 后期不够可以再挂载,跳过。 选择继续。 输入名字,你的名字和username可以写一样的,就是登陆时候的用户名,这里配置为guoyachao,以后我远程连接时便使用此用户名。 你的服务器名字就是主机名hostname,以后可以配置域名映射。 广告,跳过升级。 升级ssh,不需要,直接跳过。 安装服务,直接tab键跳过。 终于开始安装。 等很长时间,安装成功,reboot重启,这里如果太慢就换个镜像源。 之后会有一个failed的信息,这是正常的,直接回车跳过,然后登陆用户。 另外,如果要登陆root用户,首次需要设置密码: sudo passwd root 然后输入密码,看到回显passwd: password updated successfully ,即可使用root和刚刚设置的密码登陆。 在远程连接时,不能用root用户连接,而应该使用添加的用户名guoyachao。 2. 复制虚拟机 在访达中直接复制两份,然后打开vm,选择我已经复制虚拟机选项。 2.1 修改主机名 在这里我使用了终端工具zentermlite远程登录ssh 22端口,具体登录过程不再赘述。 下面内容为在远程终端窗口的操作。 采用永久修改的方法,需要改两个地方。 第一个:sudo vim /etc/hostname 改为ubuntu2 并保存。 第二个:sudo vim /etc/hosts 两个都改好后,reboot重启。 修改成功 2.2 修改网络 修改网络时,直接用root权限打开配置文件。 这里对网络,网关,域名解析进行配置,原ip为172.16.167.131,这里修改为172.16.167.132。 修改完成后应用网络,使其生效,报这个警告是因为用了过时的语法,没关系。执行完应用新网络ip的命令后,当前终端窗口由于网络发生了变化,所以就会连接中断,需要重新连接新的ip。 使用工具远程连接ubuntu2 ,将原ip为172.

利用 Selenium 和 Python 实现网页新闻链接抓取

在网络数据分析和信息检索中,爬虫是一项非常重要的技术。爬虫可以自动化地从网页中提取信息,极大地提升数据收集的效率。本文将以一个具体的代码实例,讲解如何使用 Selenium 库进行网页新闻链接的抓取。 前期准备 在开始之前,需要确保系统已经安装了 Python 以及 Selenium 库。可以通过以下命令进行安装: pip install selenium 此外,还需要下载适用于浏览器的驱动程序。本文示例中使用的是 Firefox 驱动程序。如果使用的是 Chrome 浏览器,需要下载相应的 Chrome 驱动程序。下载完成后,将驱动程序放在系统的 PATH 路径中。 代码实现 以下是实现从网页中抓取新闻链接的完整代码: from selenium import webdriver import time # 此处下载的是Firefox驱动,所以用Firefox()函数打开浏览器, # 若下载的是Chrome驱动,则利用Chrome()函数打开浏览器 driver = webdriver.Firefox() # 将提取的新闻链接保存在listhref列表中 listhref = [] url = "https://www.163.com/search?keyword=中国芯片" # 通过分析网页结构可知,网页的所有新闻都存放在”class”=”keyword_list”的节点下, # 右键复制该节点XPath路径,为”/html/body/div[2]/div[2]/div[1]/div[2]”, # 再对某一个新闻进行分析,得到新闻链接存放的节点a的XPath路径, # 此时不用添加标号,就可以查询到所有满足条件的新闻链接 xpath_name = "/html/body/div[2]/div[2]/div[1]/div[2]/div/h3/a" # 根据网页链接打开浏览器 driver.get(url=url) # 这里设计了两个临时变量,分别保存现在滚动条距离页面顶层的高度和上一次滚动条的高度, # 用来判断是否滚动条已经到达页面底部,无法继续下滑 nowTop = 0 tempTop = -1 # 不断向下滚动滚动条并且保存新闻链接 while True: # 保存网页链接存取在的位置节点 name = driver.

VSCode无法连接网络安装插件-手动安装插件

手动安装插件: 你可以尝试从 Visual Studio Code Marketplace 下载 .vsix 文件,然后在VSCode中手动安装。 手动安装的步骤如下: 1.访问插件页面,下载 .vsix 文件。 Extensions for Visual Studio family of products | Visual Studio Marketplace Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code - Visual Studio Marketplace 2.在VSCode中打开扩展视图(快捷键通常是 Ctrl+Shift+X)。 这个图标 3.点击右上角的...图标,选择 "Install from vsix..."。 4.浏览并选择你下载的 .vsix 文件,然后点击 "Install"或者“安装”。

SD教程| 如何撰写一个优秀的 stable diffusion 提示词?

大家好我是极客菌!!!在本文中,我将详细介绍如何撰写一个优秀的提示词。 首先,需要明确的是,称一种方式为好,并不意味着你只能使用这种方式,就像我们都知道一些书籍是好书,但并不意味着每个人都只能阅读这些书一样。通过学习其中一种好的方式,可以建立起一些概念,帮助你更快入门AI绘画。因此,这篇文章我将分享一种我总结的 prompt 书写方式。 在正式开始之前,我们需要了解一些有关SD的基本知识。我们都知道SD是一个文生图AI模型。由于SD经过大量的数据训练,它能够学习到图像和文本之间的关联模式。这使得模型能够将输入的文本描述转换为相应的图像。通过训练,SD学会了预测并生成与文本描述相匹配的图像。 SD的训练数据是通过从网络上抓取的超过10亿张带有标签(tag)的图片构成的。这些标签可以是与图片内容相关的关键词或描述,它们提供了有关图片主题、特征和属性的信息。通过将这些标签与对应的图片进行配对,SD模型能够通过学习文本和图片之间的关联来预测我们输入的 prompt 所表示的图片内容。 在训练过程中,SD模型会分析大量的图片和对应的标签(tag)数据,从中捕捉到文本描述与图片内容之间的统计规律和模式。通过不断迭代和优化,模型逐渐提升了对于文本描述与图片内容关联的理解能力。 当使用SD模型时,用户输入一段文本描述,模型会基于其在训练数据中学到的特征和模式来生成一张与描述相匹配的图片。这使得用户能够通过简单的文本输入探索和创造出各种各样的图像内容。 不过,需要注意的是,SD模型的生成过程是基于训练数据的统计规律和模式,并不具备真实世界的理解和判断能力。它的输出结果可能会受到训练数据的偏差、模型的局限性以及输入文本描述的准确性等因素的影响。 2.prompt 框架 一个好的prompt应该是详细而具体的。比如,如果你只输入 “cat”(猫),生成的图片结果会非常广泛。但是如果你能够缩小范围,例如限定猫的品种、颜色甚至姿势,那么生成的图片就会更接近你的预期。通过提供更具体的描述,可以缩小模型的预测范围,从而更容易得到你想要的结果。 那么如何尽可能地缩小模型的预测范围?或者说,如何撰写一个详细而具体的提示? 一个好的提示词应该具备以下要素: 1. 主体: 明确指出所期望生成图像的主要内容,例如动物、植物或其他物品。包括主体动作、表情、眼睛状态、服饰、装饰物等,以丰富主体的特征。 2. 背景: 描述主体所处的环境,包括室内或室外,光线条件等,以帮助模型更好地理解所期望的情境。 3. 构图: 包括景别、拍摄角度、景深等,以控制图像的组成和视角。 4. 风格: 指定所期望的图像风格,例如插画、卡通、水彩、3D、超现实、复古等,同时考虑画面明暗、对比度等视觉效果。 5. 媒介: 说明绘画使用的特定材料或媒介,例如油画、电子绘画、铅笔画等。 6. 画面清晰度: 使用能提高画面锐度的关键词,避免模糊的描述。 7. 灯光效果: 指定所期望的灯光效果,例如侧光、逆光、环境光等,以增强图像的氛围和视觉效果。 8. 颜色氛围: 输入合适的颜色关键词,可以改变整个画面的色调 通过综合运用这些要素,你可以撰写一个详细而具体的提示,从而更精确地指导模型生成符合你期望的图像。 示例 你在写prompt的时候可以考虑下面这些要素,但并不是所有元素你都必须包含。 1、主体 主体(Subject)即是你希望在图像中呈现的主要内容。然而,许多新人常犯的一个错误是未能对主体进行足够详尽的描述。 比如,如果你想要生成一个精灵的图片,许多初次接触AI绘画的新手可能会这样写: Prompt: an elf (一个精灵) 这样的表述过于简洁,给模型圈定的生成范围还很庞大。这个精灵是在坐着还是站着?表情是怎样的?穿着怎样的衣服?这些都是我们需要详细描述清楚的,否则范围就会很广,生成的图片内容也会变化很大。 因此,为了更准确地指导模型生成预期的图像,我们就需要提供更具体的描述。例如: Prompt: a beautiful girl as an enchanting forest elf sitting on a tree, serene expression, wearing a flowing green dress with intricate details, (一个如迷人的森林精灵般的美丽女孩坐在一棵树上,表情安宁,穿着一件带有复杂细节的飘逸绿色连衣裙)

Facebook数据仓库的变迁与启示

❃博主首页 : <码到三十五> ☠博主专栏 : <mysql高手> <elasticsearch高手> <源码解读> <java核心> <面试攻关> ♝博主的话 : <搬的每块砖,皆为峰峦之基;公众号搜索(码到三十五)关注这个爱发技术干货的coder,一起筑基> 引言 在大数据时代,数据仓库的架构和管理是企业数据驱动决策的核心。Facebook,作为全球最大的社交媒体平台,其数据仓库的架构和管理策略对于处理海量数据尤为关键。本文将基于徐文浩在《大数据经典论文解读》的讲解,深入探讨Facebook数据仓库的架构变迁,以及这些变迁对现代大数据系统的启示。 目录 引言Facebook数据仓库的早期架构策略集群职责划分数据同步与容错文件管理与存储优化 Facebook数据仓库的持续演进实时数据处理数据基础设施的迭代 Facebook数据仓库架构的启示容错机制的重要性数据分层的必要性优化技术的应用 结语 Facebook数据仓库的早期架构策略 集群职责划分 Facebook的数据仓库架构初期面临的主要挑战之一是如何在同一个大数据系统上运行不同类型的任务。为了解决这个问题,Facebook采取了集群拆分的策略,明确划分了不同集群的职责。 Scribeh集群:专门用于接收日志数据,通过Scribe日志收集系统直接落地到HDFS上,保证日志的低延时处理。生产Hive-Hadoop集群:负责运行有严格服务级别协议(SLA)的任务,如计算广告计费报表。Adhoc Hive-Hadoop集群:运行没有严格时间要求的生产任务和数据分析师的临时分析脚本。 数据同步与容错 为了确保数据的一致性和系统的高可用性,Facebook采取了以下措施: 数据同步:通过监控进程和Hook机制,实现生产集群和Adhoc集群之间的数据和元数据同步。容错机制:面对MySQL数据库的不可用问题,采用使用前一天同步数据的方案,以历史数据作为容错手段。 文件管理与存储优化 随着数据量的快速增长,Facebook面临了NameNode压力和存储空间不足的问题。为此,Facebook采取了以下策略: 小文件合并:在Hive中自动加入合并文件步骤,减少文件数量,减轻NameNode压力。冷热数据分离:生产集群维护最新数据,Adhoc集群保留更多历史数据,并采用压缩技术减少存储需求。 Facebook数据仓库的持续演进 实时数据处理 Facebook在2011年发表的《Apache hadoop goes realtime at Facebook》论文中展示了如何让系统更加实时,这表明Facebook在数据仓库的实时性方面进行了重要的探索和改进。 数据基础设施的迭代 在2015年的F8开发者大会上,Facebook分享了其数据基础设施的最新进展,这表明Facebook在数据仓库的架构和管理上持续进行迭代和优化。 Facebook数据仓库架构的启示 容错机制的重要性 在大规模服务器集群中,软硬件错误是不可避免的。Facebook的实践表明,建立有效的容错机制是确保系统稳定性的关键。 数据分层的必要性 通过对数据和任务进行分层,可以确保不同需求的数据和任务得到适当的资源分配,避免资源争抢和阻塞。 优化技术的应用 在资源有限的情况下,通过压缩、合并等技术手段优化资源使用,是降低系统运行成本的有效方法。 结语 Facebook的数据仓库变迁历程为我们提供了宝贵的经验和启示。随着技术的不断进步,我们有理由相信,未来的数据仓库将更加智能、高效和稳定。同时,企业应根据自身业务需求,借鉴Facebook的策略,构建适合自己的数据仓库架构。 注: 本文内容基于徐文浩在《大数据经典论文解读》的讲解,结合Facebook在不同发展阶段的数据仓库策略进行分析和总结。希望对正在构建或优化大数据系统的企业和技术人员有所帮助。 关注公众号获取更多技术干货 !

【React】React18 Hooks 之 useContext

目录 useContext1、Provider和 useContext2、Provider 和Consumer3、Provider 嵌套4、React.createContext提供的Provider和class的contextType属性5、读、写Context(1)父组件修改Context(2)子组件修改Context 好书推荐 useContext官方地址 使用 Context 深度传递数据 通常,您会通过 props 将信息从父组件传递到子组件。但是,如果您必须通过中间的许多组件传递信息,或者应用中的许多组件都需要相同的信息,则传递 props 会变得冗长且不方便。Context允许父组件向其下方树中的任何组件(无论深度如何)提供一些信息,而无需通过 props 明确传递。 简单来说使用Context可以实现跨组件层级传递数据,不用层层传递数据。本文介绍三种Context的使用方式。 函数组件:React.createContext提供的Provider和useContext钩子React.createContext提供的Provider和ConsumerProvider嵌套Class组件:React.createContext提供的Provider和class的contextType属性读、写Context useContext useContext是一个 React Hook,可让您从组件读取和订阅上下文。 用法: const value = useContext(SomeContext) 参数的含义: SomeContext:使用createContext创建的上下文。上下文本身并不包含信息,它只代表您可以提供或从组件中读取的信息类型。 返回值的含义: value:useContext返回调用组件的上下文值,传递给最接近的SomeContext的值。 1、Provider和 useContext 新建个context.js,导出createContext()的返回值 import { createContext } from "react"; export default createContext(); App.js,导入上面写的context,并使用context提供的Provider组件进行包裹,圈定局部的全局作用域,传值后可以提供给子组件进行消费。当 Provider 的 value 值发生变化时,它内部的所有消费组件都会重新渲染。 import Context from "./context"; import Test from "./Test" function App() { const value = "app 中的数据" return (<> <Context.Provider value={value}> <div className="

AI究竟是在帮助开发者还是取代他们?

AI是在帮助开发者还是取代他们? 在软件开发领域,生成式人工智能(AIGC)正在改变开发者的工作方式。无论是代码生成、错误检测还是自动化测试,AI工具正在成为开发者的得力助手。然而,这也引发了对开发者职业前景和技能需求变化的讨论。AI究竟是在帮助开发者还是取代他们? AI工具现状 开门见山,我以及身边的程序员觉得目前最好用的模型是openai的gpt40,其次是deepseek的deepseek-chat。以下是实测结果(构建树形结构),以java语言为例。 不过目前的ai工具只能完成一块小功能,无法完成整个项目的开发以及设计。 代码来自GPT40:国内官方直连GPT40 public List<MenuItem> getAllMenuItems() { List<MenuItem> menuItems = menuItemMapper.selectAllMenuItems(); return buildTree(menuItems); } private List<MenuItem> buildTree(List<MenuItem> menuItems) { List<MenuItem> rootItems = menuItems.stream() .filter(item -> item.getParentId() == null) .collect(Collectors.toList()); for (MenuItem root : rootItems) { root.setSubItems(getChildren(root, menuItems)); } return rootItems; } private List<MenuItem> getChildren(MenuItem parent, List<MenuItem> allItems) { List<MenuItem> children = allItems.stream() .filter(item -> parent.getId().equals(item.getParentId())) .collect(Collectors.toList()); for (MenuItem child : children) { child.setSubItems(getChildren(child, allItems)); } return children; } AI对开发者的影响

【Golang】slice切片

slice Go语言的切片是对数组的抽象。 数组的使用 package main import ( "fmt" ) // 传递固定长度的数组还是值传递的方式 func printArray(myArray [5]int) { for index, value := range myArray { fmt.Println("index:", index, "value:", value) } } func main() { var myArr [5]int myArr2 := [10]int{1, 2, 3, 4} myArr3 := [4]int{1, 2, 3, 4} myArr4 := []int{1, 2, 3, 4} for i := 0; i < len(myArr); i++ { fmt.Println(myArr[i]) } for index, value := range myArr2 { fmt.

OS Copilot:新手测评体验

文章目录 前言一、OS Copilot(阿里云操作系统智能助手)简介二、测评体验总结OS Copilot 产品体验评测OS Copilot 产品功能反馈 前言 本文简单分享一下自己使用OS Copilot测评体验。 一、OS Copilot(阿里云操作系统智能助手)简介 OS Copilot是阿里云操作系统团队基于大模型构建的操作系统智能助手,支持命令行自然语言问答、辅助命令执行、阿里云CLI调用、系统运维和调优等功能,帮助用户更好地使用Linux,提升阿里云的使用体验。整体使用上主要存在4个优势: 智能:OS Copilot通过不断学习用户的使用习惯,提高准确性并做出预测专业:可以专业地帮助用户回答操作系统相关问题高效:可以帮助用户在系统诊断、调优、编程等场景进行相关问题处理协作:通过OS Copilot管理用户在阿里云上的资源,享受到阿里云上一体化的服务。 二、测评体验 首先个人平时基本办公习惯为重度使用Windows,轻度使用Linux,至于云系统在此之前几乎没有接触,因此从一个小白的角度简单分享一下自己的体验感受。 UI界面感觉风格上有点像vscode,操作起来非常熟悉。 新手操作手册流程比较详细,跟着完成一遍也就基本熟悉了一些常用命令,而且作为AI产品,有任何不懂的命令和问题,直接使用co去提问就OK了。😃 比如,直接让他写一个脚本: - 或者让他显示常用命令: 给出的内容非常详细,比较关键的地方在于它最后将所有命令进行了总结,显示更加清晰,而且可以直接根据序号执行相应的命令,非常的方便~👍️ 但是,比较不好的点在于不能一次性执行多条命令 另外,可以直接在终端中运行刚刚生成的代码,python环境都不需要设置了,简单和它来个互动看一下效果: 作为小白整体用下来效果还算可以,简单上手,体验蛮好。于是想让他整一些比较复杂的看看效果,因为不太熟悉云服务器🖧🖧,所以通过它了解一下。。。 发现在云服务器上搭建个人博客这功能不错,所以决定让他来试一试,WordPress不了解,让他来试一下Hugo🤖 可惜到第二步Hugo没有成功装上,后面也就没再过多的尝试了。。。 最后看看他自己对它的评价吧: 总结 OS Copilot 产品体验评测 对于我这种学生并且对云服务器不太了解的小白而言,目前OS Copilot对于我的帮助不多,可以给个7分,唯一的帮助就是让我对Alibaba Cloud Linux有了一个初步的认识吧。如果真的需要使用OS Copilot来提高一些生产力,可能想到的一些需求就是可以拿来训练和部署一个自己的大模型吧。(不过不太清楚是否有类似的完整教程)📖从个人简单上手并体验了几次来看,整体感觉OS Copilot 对新手比较友好的,基本按照指示文档的流程操作就可以初步熟悉它的一些命令。作为AI产品,关键就是如何有效提问问题了。所以,使用OS Copilot本身非常简单,新手比较困难的点应该在于云服务器的功能原理、操作指示不了解的问题。🔰如果是经常使用到云服务器的,OS Copilot应该是非常推荐使用的,会方便不少。如果OS Copilot开源,我想我个人会对OS领域大模型的训练会感兴趣。🧰 OS Copilot 产品功能反馈 大致体验了一下知识问答、辅助编程和辅助命令执行几个功能,可以说辅助命令执行还是很方便的,如果可以一次性执行多个命令,那就更好了。执行命令一旦报错会令人比较头疼,既然作为AI助手,不妨添加一个捕捉终端error信息的功能,一旦报错,立马给出相应的解决方案或者替代命令,方便快速完成一些小任务。不知道OS Copilot能否与Arm Virtual Hardware结合一下,实现一个物联网开发助手,开发并加速产品设计也蛮不错的。👀

【Sql Server】sql server 2019设置远程访问,外网服务器需要设置好安全组入方向规则

大家好,我是全栈小5,欢迎来到《小5讲堂》。 这是《Sql Server》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录 前言1、无法链接2、数据库属性3、允许远程访问4、打开配置管理器5、Sql Server网络配置6、入站规则6、重启ssms【关键一步】7、重新连接,连接成功8、安全组SSMS文章推荐 前言 本地电脑安装的sql server数据库可视化工具ssms连接到外网服务器的sql server数据库,实现本地化远程链接数据库进行管理和操作。 1、无法链接 未设置时连接提示 ​ 根据IP和sql账号密码登录,如果服务器端的sql未设置远程连接,那么会出现如下提示 2、数据库属性 鼠标右键属性 3、允许远程访问 位置:选项页 > 连接 勾选允许远程连接到此服务器,默认情况下应该是勾选的,此处查看为了确保已经勾选。 4、打开配置管理器 5、Sql Server网络配置 启用TCP/IP、并且鼠标右键可查询TCP/IP属性。 IP1到IP3均设置【是】 6、入站规则 打开防火墙设置出入站规则 点击高级设置 设置入站规则 新建规则 填写1433,下一步 允许连接,下一步 全部勾选,下一步 填写用途名字 6、重启ssms【关键一步】 7、重新连接,连接成功 8、安全组 如果你使用的是某些大厂云服务器,那么可能需要添加安全入方向规则才能允许远程访问。 ​ SSMS SQL Server Management Studio (SSMS) 是由 Microsoft 提供的 SQL Server 数据库的官方可视化管理工具。它允许用户连接到 SQL Server 实例并进行各种管理任务、查询编写、性能优化和数据库开发工作。SSMS 提供了一个图形用户界面 (GUI),使得数据库管理员和开发人员能够更轻松地管理和操作 SQL Server 数据库。 SSMS 提供了许多功能,包括: 对象资源管理器:用于浏览和管理 SQL Server 数据库实例、数据库、表、存储过程等对象。查询编辑器:用于编写和执行 T-SQL 查询,支持语法高亮、智能提示等功能。性能监视器:用于监视 SQL Server 实例的性能指标,如 CPU 使用率、内存使用情况、等待统计等。数据库引擎优化向导:帮助优化查询和索引,改善数据库性能。导入和导出向导:用于将数据从其他数据源导入 SQL Server 或将数据导出到其他数据源。报表和日志:提供有关数据库运行状态和活动的信息。 总之,SSMS 是 SQL Server 管理和开发的主要工具,为用户提供了丰富的功能和界面,以便更轻松地管理和操作 SQL Server 数据库。

跟《经济学人》学英文:2024年6月29日这期 A new lab and a new paper reignite an old AI debate

A new lab and a new paper reignite an old AI debate Two duelling visions of the technological future 对技术未来的两个对立的愿景 reignite:美 [ˌriɪɡˈnaɪt] 重新点燃;重新激起 duel:美 [ˈduːəl] 决斗;对决;较量;斗争; 原文: AFTER SAM ALTMAN was sacked from OpenAI in November of 2023, a meme went viral among artificial-intelligence (AI) types on social media. “What did Ilya see?” it asked, referring to Ilya Sutskever, a co-founder of the startup who triggered the coup. Some believed a rumoured new