关于程序员:手把手教你打造语雀HexoGithub-ActionsCOS持续集成

引言之前学习和工作过程中,常常会写一些货色,包含心得体会,一些笔记,本人的一些见解。原本始终在用语雀,最近突发奇想,打算把本人写的这些乌七八糟分享进去,搭个独立博客,和更多的敌人交换,不到之处也能让大家批评指正。最终在WordPress、Hexo、VuePress这几个博客零碎中选定了Hexo。长处很适宜我,然而毛病也比拟显著,各位看官酌情抉择。 Hexo 长处纯动态文件,关上速度快。不依赖服务器。间接部署腾讯云 COS,动态站点走 CDN 内容散发。内容批量批改很不便。间接在编辑器全局替换就行,不必连数据库更新数据。Hexo 毛病只能在部署 Node.js、Git 和装置 VSCode 软件的电脑环境写文章。来到了这些环境,长期想更新文章一个字都难。(筹备让一台服务器来实现这个编译和部署工作,从语雀编写文章,主动同步过来,就不便多了)没有浏览数统计、没有评论性能。尽管能够应用 Valine 和 LeanCloud 实现,然而依赖太多并且让我感觉很没保障。Valine 从 2019 年开始接触吧,至今还没有评论审核性能。当你做 SEO 做到肯定水平时,会有很多对手歹意过去引流,审核性能是非常须要的。而 Valine 的第三方 admin 工具,有三年没更新了,只能简略删除评论也是不能满足需要。浏览数这个依赖 LeanCloud,收费利用引擎有个休眠机制。要用脚本不停唤醒,最大运行工夫如同是每天 20 小时。付费的每天 3 元,只是统计个浏览数又太贵。对 EJS 或者 Jade 语法引擎不相熟。绝大多数主题用 jQuery,二次开发很麻烦等等。抉择 Hexo 最次要的起因也在于发现了一个能无缝连贯的神器——yuque-hexo,参考了网上很多文章,搞了几天,终于搭建好了我的博客。 开始我的新博客是基于 Hexo + 语雀 + yuque-hexo + web hook + severless + Github Actions 托管平台我抉择的是 腾讯云的 COS 动态网站+自定义 CDN 减速 部署流程 初始化 Hexo首先须要在本地初始化 hexo 仓库 npx hexo-cli init blognpx 能够在不全局装置依赖状况下应用 hexo-cli 的命令装置 yuque-hexo 插件官网文档:yuque-hexo ...

October 30, 2022 · 4 min · jiezi

关于程序员:漫谈EntityComponentSystem

原文链接 简介对于很多人来说,ECS只是一个能够晋升性能的架构,然而我感觉ECS更弱小的中央在于能够升高代码复杂度。 在游戏我的项目开发的过程中,个别会应用OOP的设计形式让GameObject解决本身的业务,而后框架去治理GameObject的汇合。然而应用OOP的思维进行框架设计的难点在于一开始就要构建出一个清晰类层次结构。而且在开发过程中须要改变类层次结构的可能性十分大,越到开发前期对类层次结构的改变就会越艰难。 通过一段时间的开发,总会在某个工夫点开始引入多重继承。实现一个又可工作、又易了解、又易保护的多重继承类层次结构的难度通常超过其得益。因而少数游戏工作室禁止或严格限度在类层次结构中应用多重继承。若非要应用多重继承,要求一个类只能多重继承一些 简略且无父类的类(min-in class),例如Shape和Animator。 也就是说在大型游戏我的项目中,OOP并不适用于框架设计。然而也不必齐全摈弃OOP,只是在很大水平上,代码中的类不再具体地对应事实世界中的具体物件,ECS中类的语义变得更加形象了。 ECS有一个很重要的思维:数据都放在一边,须要的时候就去用,不须要的时候不要动。ECS 的实质就是数据和操作拆散。传统OOP思维经常会面临一种状况,A打了B,那么到底是A被动打了B还是B被A打了,这个函数该放在哪里。然而ECS不必纠结这个问题,数据寄存到Component种,逻辑间接由System接管。借着这个思维,咱们能够大幅度缩小函数调用的档次,进而缩短数据流传递的深度。 基本概念Entity由多个Component组成,Component由数据组成,System由逻辑组成。 Component(组件)Component是数据的汇合,只有变量,没有函数,但能够有getter和setter函数。Component之间不能够间接通信。 struct Component{ //子类将会有大量变量,以供System利用}Entity(实体)Entity用来代表游戏世界中任意类型的游戏对象,宏观上Entity是一个Component实例的汇合,且领有一个全局惟一的EntityID,用于标识Entity自身。 class Entity{ Int32 ID; List<Component> components; //通过观察者模式将本人注册到System能够晋升System遍历的速度,因为只须要遍历曾经注册的entity}Entity须要遵循立刻创立和提早销毁准则,销毁放在帧末执行。因为可能会呈现这样的状况:systemA提出要在entityA所在位置创立一个特效,而后systemB认为须要销毁entityA。如果systemB间接销毁了entityA,那么稍后FxSystem就会拿不到entityA的地位导致特效播放失败(你可能会问为什么不间接把entityA的地位记录下来,这样就不会有问题了。这里只是简略举个例子,不要太深究(●'◡'●))。现实的体现成果应该是,播放特效后隐没。 System(零碎)System用来制订游戏的运行规定,只有函数,没有变量。System之间的执行程序须要严格制订。System之间不能够间接通信。 一个 System只关怀某一个固定的Component组合,这个组合汇合称为tuple。 各个System的Update程序要依据具体情况设置好,System在Update时都会遍历所有的Entity,如果一个Entity领有该System的tuple中指定的所有Component实例,则对该Entity进行解决。 class System{ public abstract void Update();}class ASystem:System{ Tuple tuple; public override void Update(){ for(Entity entity in World.entitys){ if(entity.components中有tuple指定的所有Component实例){ //do something for Components } } }}一个Component会被不同System区别对待,因为每个System用到的数据可能只有其中一部分,且不肯定雷同。 World(世界)World代表整个游戏世界,游戏会视状况来创立一个或两个World。通常状况下只有一个,然而守望先锋为了做死亡回放,有两个World,别离是liveGame和replyGame。World上面会蕴含所有的System实例和Entity实例。 class World{ List<System> systems; //所有System dictionary<Int32, Entity> entitys; //所有Entity,Int32是Entity.ID //由引擎帧循环驱动 void Update(){ for(System sys in systems) sys.Update(); }}由ECS架构进去的游戏世界就像是一个数据库表,每个Entity对应一行,每个Component对应一列,打了✔代表Entity领有Component。 ...

October 29, 2022 · 1 min · jiezi

关于程序员:游戏动画技术简介

原文链接动画零碎是游戏中对表现力影响最大的零碎之一,通过一段时间的调研,最初通过这篇文章总结下游戏动画零碎。 精灵动画零碎精灵动画零碎在早年间计算机性能还比拟差的时候被宽泛使用,个别作为游戏的背景而存在,比方 这些人物都是一个四边形,游戏引擎会给四边形间断贴上纹理贴图来产生动感。通常为了不裸露这是个扁的四边形,会使这些四边形始终面向摄像机。比方 这类动画零碎在晚期游戏中流行,因为过后的计算机性能不够,而该系统对计算机资源的耗费非常低。当初局部手游仍然会保留这类动画零碎,因为手机性能无限。 刚性层阶式动画刚性层阶式动画驱动的人物都由一堆独立的刚性物体组合而成。刚性物体指的是不会产生形变(包含缩放)的物体。而后动画零碎会驱动每一个刚性物体,从而实现动画成果。最经典的例子就是1997年在PS上发售的FF7。 这个零碎驱动的是3D模型,而不再是四边形贴图,同时还能放弃高效的性能和较低的内存使用量。毛病是不容许网格产生形变,整个人物会显得十分僵硬。而且人物的关节地位会产生显著的“裂缝”。 每顶点动画每顶点动画须要动画师为每个顶点去k动画。工作量十分微小,产生的数据量也十分微小,然而能够取得十分精密的动画成果,网格的三角形产生形变。通常用于制作CG中人物的表情,个别通过硬件设施来捕获人脸信息,再转换成顶点数据。 <div style="position: relative; width: 100%; height: 0; padding-bottom: 75%;"> <iframe src="//player.bilibili.com/player.html?aid=859596268&bvid=BV1eV4y1g7H7&cid=875385956&page=1&high_quality=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true" style="position: absolute; width: 100%; height: 100%; left: 0; top: 0;"></iframe></div> <div style="position: relative; width: 100%; height: 0; padding-bottom: 75%;"> <iframe src="//player.bilibili.com/player.html?aid=559589709&bvid=BV1Re4y127Tn&cid=875387307&page=1&high_quality=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true" style="position: absolute; width: 100%; height: 100%; left: 0; top: 0;"></iframe></div> 变形指标动画(morphing animation)因为每顶点动画须要保留大量的动画数据,不不便存储和应用。于是提出了变形指标动画,动画师只须要通过调整网格上所有顶点的信息制作出一些动态姿态(morph target)。这些动态姿态都是一些“极其”的姿态,例如怄气、开心等。在游戏引擎中通过对这些动态姿态按工夫进行线性插值即可失去动画。 蒙皮动画(skinened animation)有时也被称为骨骼动画、蒙皮骨骼动画,是一种FK为了能够失去较活泼的动画成果,容许网格的三角形产生形变。同时兼顾较高的性能、较低的存储空间。蒙皮动画便呈现了,当初市场上简直所有的游戏都采纳蒙皮动画作为动画解决方案。 概念在蒙皮动画中有几个重要的概念。首先是骨骼(skeleton),骨骼由关节通过一棵树的状态组织起来。如果是一个人物模型,个别以髋部为根节点,以肢体末端为叶节点,比方手指、脚指、眼睛等。skeleton自身不须要被渲染引擎渲染进去,仅由动画零碎驱动。 而后是皮肤(skin),皮肤由多边形网格组成。而网格又由顶点形成,这些顶点将会被动画师通过设置权重绑定(bind)到若干关节上。个别每个顶点最多绑定4个关节。但不是所有的关节都会被顶点绑定,这些没有被绑定的关节又称为定位器(locator),作为其它模型的挂接点存在。 蒙皮动画中存在几个重要的姿态(pose),这些姿态能够矩阵或者SQT格局来保留。首先是绑定姿态,又称为T-pose,顾名思义,是动画师在给模型顶点做绑定时用的姿态。该姿态从DCC中输入之后就固定好了,在游戏运行时不会被扭转。 而后是部分姿态,它保留了以后关节在其父关节空间中的姿态。因为动画引擎间接驱动的是部分姿态,咱们常常须要对部分姿态进行各种插值,所以个别不会存储为矩阵模式,而是存储为SQT模式。咱们的动画片段就是由一连串的部分姿态组合起来,也就是说动画片段是一个因变量为部分姿态,自变量为工夫的函数。 最初是全局姿态,它保留了关节在其模型空间或世界空间中的姿态,具体保留模式不同的引擎有不同的做法。它是在游戏运行过程中通过联结具备父子关系的部分姿态实时生成的,算是被动画引擎间接驱动。 蒙皮(skinning)首先须要筹备数据,每一个关节都保留着一个绑定姿态逆矩阵,以下简称IBP,该矩阵能够将物体从模型空间转换到以后关节空间。IBP是在3D模型从DCC输入后,利用T-Pose计算出来的。一次计算,有限次应用。 动画引擎Update之后,每一个关节都会失去一个最新的部分姿态。这个时候能够进行一些额定的插值计算、程序式动画、IK等后处理过程。因为部分姿态个别保留为SQT格局,所以须要在这时转换成矩阵。 而后咱们开始计算每个关节的全局姿态矩阵,计算方法是顺次连贯关节自身及其所有父节点的部分姿态矩阵。 最初IBP乘上全局姿态矩阵,就失去了蒙皮矩阵。顶点乘上蒙皮矩阵后会对顶点产生什么样的影响呢?能够这么设想:顶点本来位于模型为T-Pose时的模型空间中,乘上了IBP之后进入到关节空间中;再乘上全局姿态矩阵,这时模型摆出了由动画引擎驱动的姿态,在这个姿态下从关节空间回到模型空间。 所以最终出现的成果是,顶点被关节带到了特定地位。计算出所有关节的蒙皮矩阵之后,咱们就失去了矩阵调色 而后开始正式蒙皮。每个顶点都会从矩阵调色板中获得须要绑定的关节的蒙皮矩阵,而后更具动画师设定好的权重对这些矩阵进行混合。顶点乘上混合后的矩阵,这时蒙皮就实现了。 ps:动画引擎Update时,能够通过多种形式计算出部分姿态。能够对单个动画片段进行一维线性插值实现时间性混合来失去惯例的动画成果。能够对两个动画片段进行淡入/淡出计算取得圆滑过渡、解冻过渡等过渡成果。更进一步推广,能够对多个动画片段进行N维线性插值实现自定义的混合。为了充分利用资源,能够对动画片段进行分部混合或加法混合,例如人物在Idle状态时,通过加法混合给人物退出一些小动作,使得人物更实在。例如... 小弟才浅,如果本篇文章有任何谬误和倡议,欢送大家留言 感激大家的点赞、珍藏 ...

October 29, 2022 · 1 min · jiezi

关于程序员:5-个-Flutter-VSCode-技巧和窍门你可以马上使用

5 个 Flutter VSCode 技巧和诀窍,你能够马上应用! 前言明天,我将向你展现 5 个十分有用的 Flutter 技巧,你能够立刻利用到你的我的项目中。我不会给你任何软件包或扩大,但非常简单,但十分有用的技巧! 原文 https://tomicriedel.medium.co...注释更清晰的文件夹构造在创立一个新的 flutter 我的项目后,有太多的文件。然而咱们能够在 VSCode 中用非常简单的步骤来结构这些文件: 关上命令面板(Ctrl/Cmd + Shift + P)键入“首选项: 关上设置(JSON)”将以下代码行增加到 setings.json: 上面是比拟之前和之后的比照: 之前 之后 正如您所看到的,许多咱们很少应用的文件当初暗藏在 pubspec.yaml 中。当然,您能够开展 pubspec.yam land 来拜访这些文件。 主动 Fix linters一个接一个地解决所有的内衬问题是十分烦人的。即便你应用例如“增加 const 关键字”对话框,每次都这样做,从久远来看是十分耗时的。这就是为什么咱们将创立一种办法来主动增加这些小东西时,保留文件。为此,咱们返回到 setings.json (前一篇技巧文章中的阐明)并增加以下内容: Awesome Flutter Snippets我晓得,我晓得,我说过我不会在这篇技巧文章中增加一个扩大,然而这个扩大对于每个 Flutter 开发者来说都是必不可少的。它提供了如此多不同的 Flutter 片段,您能够立刻应用它们来放慢开发速度。它为每个用例提供了 40 多个代码片段,并反对简单的 widget : Print vs log有时候,如果您想在管制台上打印一个谬误,那么这个谬误显示的工夫太长了。这是因为 print 有字符限度。要显示谬误,只需应用 log (message)代替: 更容易格式化在第二个技巧中,咱们探讨了如何主动增加 const 关键字之类的货色。当初,咱们心愿在保留文件时立刻对其进行格式化。为此,将以下代码行增加到 setings.json: 如果本文对你有帮忙,请转发让更多的敌人浏览。© 猫哥 微信 ducafecathttps://wiki.ducafecat.techhttps://video.ducafecat.tech本文由mdnice多平台公布 ...

October 28, 2022 · 1 min · jiezi

关于程序员:Flutter-必须知道的布局规则

Flutter 必须晓得的布局规定 很多人说布局不纯熟,我倡议是先去理解布局规定,我之前的文章有讲过。 明天看到一文写的很好,我做了翻译,工夫关系没有润色太多,而后我也筹备了视频做理解说,心愿能帮到你。 原文 https://rohanjariwala03.mediu...前言当学习 Flutter 的人问你为什么某个 widget 有宽度: 100 不是 100 像素宽,默认的答案是通知他们把这个 widget 放在一个 center ,对不对? 别这样。 如果你这样做了,他们会一次又一次地问你为什么有些 FittedBox 不能工作,为什么那个 Column 会溢出,或者 IntrinsicWidth 应该做什么。 相同,首先通知他们 Flutter 的布局与 HTML 的布局十分不同(这可能是他们来自哪里) ,而后让他们记住以下规定: 束缚向下传递,尺寸向上传递,地位由父组件决定。如果不晓得这个规定,就不能真正了解 Flutter 布局,所以我置信每个人都应该尽早学习它。 细节: widget 从其父部件取得本人的束缚。“束缚”只是一组 4 个双精度: 最小和最大宽度,以及最小和最大高度。而后, widget 遍历它本人的子列表。 widget 一个接一个地通知它的子元素它们的约束条件是什么(每个子元素的约束条件可能不同) ,而后询问每个子元素它心愿是什么大小。而后, widget 将其子元素(程度放在 x 轴上,垂直放在 y 轴上)一个接一个地搁置。最初, widget 通知它的父部件它本人的大小(当然是在原始束缚内)。例如,如果一个 widget 像一个带有一些填充的列,并且想要布局它的两个子元素: widget - 嘿, parent ,我的约束条件是什么? 父级 - 像素宽度必须在 90 到 300 之间,身高必须在 30 到 85 之间。 ...

October 28, 2022 · 6 min · jiezi

关于程序员:LigaAI创始人不要将研发效能与绩效考核挂钩

「对企业而言,不可短少的是效力,而非效率。」 驰名治理巨匠彼得·德鲁克的这句治理真言,将「研发效力」送上了话题之巅。随着互联网环境不确定性的加强,更多的研发团队开始器重效力治理,诸多企业也纷纷投身于「效力反动」中。 当一些企业埋头攻克「效力晋升」难题时,另一些声音则指出,咱们当初对研发效力所做的所有尝试,都是在致力奔跑,以尽可能地停留在原地。依据熵增定律,因为软件复杂度减少、团队规模扩充等诸多起因,组织内的研发效力必然会越来越差,而企业能做的只是尽量减缓其好转。 研发效力真的不能被进步吗?效力晋升应该怎么做?为了探讨研发效力的更多可能性,LigaAI与两位创始人开展了一次长谈。从概念到度量,从目标到指标,咱们来聊聊研发效力的「道与术」。 妙谈嘉宾 | LigaAI创始人周然 & 联结创始人张思 内容整顿 | LigaAI 01 如何了解研发效力?LigaAI:研发效力是什么?麻利团队的研发效力,跟传统开发团队的研发效力是统一的吗? 张思:研发效力的实质是企业持续性地交付高质量业务价值的能力。 这一点对任何类型的企业都是统一的,但效力跟效率是不一样的,效率更关注个体,效力更偏重团队。 对交付型企业而言,外围业务价值是客户交付物;而对产品型的企业来说,业务价值是更好的用户体验与应用数据。 周然:咱们关注研发效力肯定是在保证质量的前提下,思考如何更快地向客户交付价值,而不是只关注速度。 「企业如何更快地交付价值」——这会波及很多方面,例如应用流程优化工具或建设软件工程标准等。实践上自动化工具越多、代码越标准、代码品质越高,组织的研发效力就会越好。 LigaAI:为什么研发团队肯定要关注研发效力?它的重要性体现在哪些方面? 周然: 从最终后果来看,咱们认为不关注研发效力的企业最终会被市场淘汰。 麦肯锡对 440 家大型企业的技术高管做过深刻调研,出具了《对于开发者速率(DVI)钻研报告》。这份报告指出,DVI指数高的企业,其总股东回报率较其余公司高出 60%,营业利润率高出 20%,并且在客户满意度、品牌知名度、创新性等方面都体现得更好。 这里DVI(Developer Velocity Index)就能够了解为咱们明天探讨的研发效力。这个数据论证了关注研发效力对企业的重要性。 张思: 这背地有三层起因。首先,时代曾经扭转了。互联网行业的倒退红利见顶,曾经过了不计成本做研发也有高回报、强调疾速投入产出的粗放型倒退阶段。在精细化治理的当下,关注研发效力就是企业胜利的必由之路。 其次,竞争压力变大。Gartner预测 2022 年寰球IT收入为 4.5 万亿美元,同比 2021 年增长 5.1%;同时,2021 年寰球IT收入占寰球总GDP的 4.3%。很显著,企业在软件方面的投入是逐年减少的,且研发投入占比很高。也因而,企业只有足够器重研发效力,能力更好地构建以技术为主导的外围竞争力。 最初,研发效力正在制约许多企业的倒退。在过来,打消速率瓶颈最间接的伎俩就是扩充组织规模——招人。然而,减少成员是无奈晋升整体研发效力的。业务侧继续投入,研发侧的价值交付没能跟上,就容易导致业务团队和研发团队的缓和关系,甚至影响企业倒退。 无论是从时代趋势,还是内部竞争,抑或企业本身倒退的角度来看,关注研发效力都迫不及待。 02 研发效力能量化吗?LigaAI:上面是一个争议很大的问题——研发效力能够被无效量化吗?哪些量化指标值得关注? 张思: 研发效力度量曾经呈现出了可量化趋势。效力晋升肯定会带动其余维度的增长,比方客户满意度,所以大方向上,研发效力是能够通过量化指标出现的。 然而,因为效力的度量具备滞后性,要实现齐全、精准地指标量化十分困难。许多企业非常容易陷入僵化的过程指标陷阱之中,最终导致「指标」自身成为研发效力的瓶颈。最典型的「反模式」案例就是诺基亚麻利测试(Nokia Test)。 对刚开始度量研发效力的企业,更倡议先从高维度、大方向的规范动手。在引入自动化工具实现肯定水平的效力程度晋升后,再迭代式地摸索精细化指标的度量和治理实际。 周然: 我也同意研发效力不太可能被齐全量化。因为研发团队不同,成员不同,这些人造的差别就限度了研发效力不可能套用「通用公式」。 但还是存在代表性指标,能够帮忙企业更具象地治理和度量研发效力。比方麻利开发中一个重要指标——Cycle Time,周期时间。 在软件开发的语境里,能够了解为研发从开始工作到交付上线的整个过程所须要的工夫。这个概念包含很多的内容,比方: 代码品质:代码是否须要屡次返工;测试程度:提交的代码多久能被评审、合并;自动化能力:代码是否被疾速地自动化测试、验证、部署和发版;代码修复频率:新性能代码上线后,距离多长时间须要进行修复和改变。Cycle Time看似是一个小指标,但其背地存在许多的流程和逻辑晋升的可能。相比代码行数、Bug数量这种不靠谱的度量规范而言,Cycle Time是可行性更高的抉择。 LigaAI:目前提到的度量指标仿佛分了两类:一类是DevOps等自动化工具的应用水平,另一类是基于开发者自身工作和合作形式的优化,比方代码标准、代码品质等等。 周然: 对,但还不仅是这两个方面。像麦肯锡的DVI报告就引入了 3 大方面、13 个畛域的共 46 项效力度量指标;其中很多指标看似与写代码息息相关,但最终也会影响研发效力。 ...

October 28, 2022 · 1 min · jiezi

关于程序员:今年C找工作这么这么难

本文首发自「慕课网」,想理解更多IT干货内容,程序员圈内热闻,欢送关注! “金九银十”求职季到了,但一些仔细的互联网求职者发现,往年的C++开发岗位如同不怎么多,甚至能够说是非常稀少。哪怕是2023年的秋招市场,C++后端开发岗也是寥寥数几。对于C++岗位的问题也一跃成为了知乎热议话题,What happened?其实,过来几年来,市场上C++后端开发岗位占比始终就就不高,往年经济局势缓和,加上缩招,一片红海也是失常操作。C++作为有着40多年历史的老牌编程语言,很多人大学第一次接触编程就是C语言,有着丰盛的STL库以及比拟标准的语法,是一个比拟受欢迎且非常适合初学者接触编程时的第一门编程语言。但C++还是成为了编程语言里的最难学的魔咒,在市场上的占有率也不高。深究起因,造成这类景象次要有以下几个因素。#No.1/   C++学习门槛较高C++是一门经久不衰的语言,它的应用领域宽泛,大部分的时候是为了解决性能问题而存在的。然而学习C++自身门槛就极高,语言自身也很简单。相较于其余语言,波及的概念、个性十分的多,并且实际上C++对程序员的实践经验的要求也是十分的高。#No.2/   技术语言不断更新目前市场上有很多编程语言,并且新的编程语言还在被开发者一直地开发。例如Java、Python、Go等编程语言,许多入门初学者会条件性抉择这些,不仅仅是因为他们入门速度快,开发速度快,运行速度快,更重要的是大多编程语言都成了行业内产品开发的大势所趋。越来越多企业和开发发现,用Java、Python、Go等编程语言就能疾速开发,基本没有必要应用更难的C++。#  No.3/   市场需求缩小市场对C++的需要在一直缩小。随着越来越多编程语言涌现和版本迭代,使得行业对业务的需要实现更加方便快捷,大大缩短了我的项目实现周期和难度,这也使须要C++的企业越来越少。随着互联网技术的不断更新迭代,业务零碎开发的门槛继续升高,对于C++的职位需要势必也会越来越少,这使得大家的竞争也会变得越来越强烈。岗位缩小,对于C++程序员的集体倒退显得尤为艰巨,难道C++程序员的将来没有前途吗?难道将来C++程序员只能改行吗? 这样了解未免太过于全面了,尽管C++在市场的占有率少,但也不能说C++程序员退职场中齐全没有回升和倒退空间了,毕竟C++也有一些独特的劣势,是其余语言无奈代替的。1、在特定畛域里,C++依然是支流编程语言目前,在游戏畛域里,C++依然是支流编程语言,程序员必须应用C++框架/库,如大部分游戏引擎(如Unreal/Source)及中间件(如Havok/FMOD)。而后是工具畛域,比方网络安全或是杀毒软件,C++仍然是支流语言。2、C++程序员的薪资仍然很高目前,C++并没有因为其余编程语言的存在,薪酬呈现劣势,相同,随着C++逐步成为某些特定企业和特定我的项目必备的编程语言后,高级C++程序员的支出会更加的具备上涨趋势。某招聘网站JD3、C语言短期之内无奈被代替许多人说C++当初曾经过期了,是一门快要被淘汰的编程语言,但实际上,从利用的畛域来说,高性能计算、嵌入式零碎、开发服务器软件、游戏、实时零碎等都离不开C++,所以,短期内能彻底取代C++的语言并不存在。尽管往年的C++开发岗位的确不怎么多,但还有一个家喻户晓的事实是,想招聘一个优良的C++程序员还真不好找,甚至还特地的难。 为什么优良的C++程序员那么难招:1、因为C++门槛太高,学习工夫较长,很多人为了疾速待业基本上都去学了Java,很少有人学习C++,天然C++程序员的数量也就比拟少了。2、优良的C++程序员,能力强的,基本上都进大厂了,对于中小企业招聘的难度也就更大,C++方向的人才天然也就不好招了。综上所述,优良的C++程序员仍然很有前景和“钱”景,并且能力越强越吃香,哪怕相干岗位再少,仍然不怕被“毕业”。所以,C++程序员们请持续加油吧,只有能力过硬,你相对会成为大厂争抢的香饽饽!附赠:高效学习C++图谱一份,强烈建议保留珍藏! 咱们都是打工人,咱们都要加油追上更好的本人,咱们都有很好的将来! 欢送关注「慕课网」,发现更多IT圈优质内容,分享干货常识,帮忙你成为更好的程序员!

October 28, 2022 · 1 min · jiezi

关于程序员:程序员进阶系列1

1、电脑局部!  2、独立承担责任!    3、工资年龄模型 ! 4、遇到不会的怎么解决?

October 27, 2022 · 1 min · jiezi

关于程序员:你还不会写API文档吗

一:API没人不理解吧 1.API浅谈 什么是API不会有人不晓得吧?在步入软件研发之路之后,无论你是前端还是后端,还是测试,不会有人不晓得什么是API吧!三次握手四次挥手,这是什么?这就是API的实质。当然,咱们的日常开发途中,不会有人问你这个问题的,咱们个别会说,我须要一个接口,这个接口想要实现什么性能。是的,这个接口就是API。 2.API一般标准 在协同开发中,咱们须要有一套标准,才可能让前后端欢快的共同开发。因而,咱们须要有一套接口标准,无论是外部严格的应用restful接口标准,还是对接内部某些三方会对立输入POST接口,这些都是团队对外部/内部约定俗成的标准。此处,我不对以上两种接口输入标准做评估,各有各的规矩,各有各的益处,仁者见仁,智者见智。 3.开发遇到的api文档 基于最近有需要,须要对一个功能模块进行大改版,这个模块之前不是自己负责的,当需要确定之后,我对这个模块的接口进行了梳理(尽管有api管理工具),以便于确定须要对哪些接口进行革新或者新增某些接口。然而,在梳理过程中,我看到了这些问题。。。 二:这些问题怎么还会存在? 对了,先提一句,咱们用的是apipost软件进行接口治理。 1.接口入参没有进行正文阐明 这里有四五个入参没有进行阐明?谁晓得是什么参数呢?要不要传? 2.反复属性的入参字段没有阐明作用 比方下列两个字段goods_class 和good_class_group,两个字端显著统一,然而一个是字符串,一个是数组,可能想实现一个商品能够在多个分类下的需要,然而,如果这个字段是优化过的需要,那么,两个字段中必然是有一个是行将废除的字段,此处,是须要注明TODO的。而且,在后端的代码逻辑中,也没有找到这两个字段的TODO正文,这就对其余协同开发者造成了威慑,不晓得是为什么,然而不敢动。   3.后端没有解决的入参 这个景象和第一个景象联合,几乎是一个大,如下字段inventory,自我了解,这个字段指的是库存,在查询数据库文档之后,没错,就是这个意思,然而,后端并没有解决这个参数。你认为问题就完结了?不,问题还有...这个神奇的字段,在数据库文档中存在,然而在代码model (用的是mongo数据库) 中不存在...通过查问代码提交记录,找到相干人员,询问为什么?原来是,库存需要被其余计划替换了,不再数据库中存储了,只是,稍稍遗记了批改文档。。。   4.后端有效的查问字段 相熟webstorm的搭档大家都晓得这个灰色字体是什么意思吧,上下文中未援用的申明。那么,这个api中的查问条件order_id就是有效的,很显著,如果前端传入了order_id,则,返回的数据肯定是错的,因为,没有进行数据匹配。 5.接口工夫参数解决 在咱们日常的开发途中,常常会有这么一种状况,须要查问某个时间段的数据,那么如下所示,有一个问题23:59:59 < time < 00:00:00,time这一秒,数据没有被查问到。这是一个很小的问题,然而也很容易被忽视。其实只须要一个小小的批改,就能够防止这个问题,将lte改为lte改为lte改为lt,而后将$lt的工夫批改为第二天的00:00:00即可。 三:怎么写好api文档 其实在不同的公司,api文档的输入形式是不同的,因为自己所在公司应用的是apipost软件进行api治理。那么这篇文章中就先来谈谈如何应用apipost进行api文档治理。 动静路由 应用规范的动静路由的写法,利于其余协作者共同开发,以及展现你参数的取值起源。善用门路变量,事倍功半。 学会"锁定"API apipost有一个锁定api的性能,在锁定之后,其余合作着能批改其中的参数,然而只能在本人本地批改,无奈保留,这样就防止其余协作者误操作,将api批改的惨不忍睹。api左侧还有一个api状态的选项,能够在api开发结束之后批改为"已实现",约定为前端可调用。 提取字段和形容 这个性能其实就是记录入/出参形容,然而这个形容,会主动获取“参数形容库”中的第一个形容,如果一个字段在不同的接口中代表不同的含意,就须要在提取时,进行查看。 四:API文档延长 不同的公司,应用的是不同的API管理工具,每个工具都有其实用的点,长于发现,长于应用。当然,有更多的和其余公司单干的机会时,一个api接口的word文档,就很有必要了。那么,一个合格的接口word文档是怎么样的?能够查看以下文章!juejin.cn/post/713723…

October 27, 2022 · 1 min · jiezi

关于程序员:有哪些-GitHub-项目的-README-堪称教科书

我敢说我的GitHub开源我的项目,每个README都是非常标准的。其实做我的项目是依照整个产品思维来梳理的。须要在readme中说分明几件事: 这个我的项目是什么跟同类产品/工具有什么独特之处怎么用,更快的用起来遇到问题怎么反馈更新日志,之后的布局(可选)LICENSE如何参加奉献(可选) [github.com/Charmve/Sur…github.com/Charmve/Surface-Defect-Detection](link.zhihu.com/?target=htt…)目前最全的工业缺点检测数据集仓库,蕴含十余种类型数据集,还有最近几年缺点检测顶会论文。

October 27, 2022 · 1 min · jiezi

关于程序员:健康码颜色识别和信息提取

背景 疫情曾经继续很久,打算做一个衰弱码色彩辨认和信息提取的利用。本文采纳opencv和PaddleOCR、Flask来实现 PaddleOCR PaddleOCR旨在打造一套丰盛、当先、且实用的OCR工具库,助力开发者训练出更好的模型,并利用落地。 OpenCV OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,能够运行在Linux、Windows、Android和Mac OS操作系统上。 [1]  它轻量级而且高效——由一系列 C 函数和大量 C++ 类形成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。 Flask Flask是一个轻量级的可定制框架,应用Python语言编写,较其余同类型框架更为灵便、轻便、平安且容易上手。它能够很好地联合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就能够实现功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户能够依据本人的需要来增加相应的性能,在放弃外围性能简略的同时实现性能的丰盛与扩大,其弱小的插件库能够让用户实现个性化的网站定制,开发出功能强大的网站。 微信二维码辨认 联合传统计算机视觉和深度学习技术,微信扫码引擎解决了一图多码、大图小码、鲁棒解码等业务痛点和技术难点。只需3行代码,轻松领有微信的扫码能力。 import cv2detector = cv2.wechat_qrcode_WeChatQRCode("detect.prototxt", "detect.caffemodel", "sr.prototxt", "sr.caffemodel")img = cv2.imread("img.jpg")res, points = detector.detectAndDecode(img)print(res, points)从下面的代码中可获取二维码的范畴,接下来次要应用预约好的色彩范畴去生成等值线,判断是否存在 # 检测色彩def detect_color(image, color): hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) # HSV inRange_hsv = cv2.inRange(hsv, color_dist[color]['Lower'], color_dist[color]['Upper']) contours = cv2.findContours(inRange_hsv.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[-2] if len(contours) > 0 and draw_color_area(image, contours) > 0: return True else: return False# 标记色彩区域def draw_color_area(image, contours): allarea, index = 0, -1 for i in range(len(contours)): area = cv2.contourArea(contours[i]) allarea = area + allarea return allarea文字辨认 ...

October 27, 2022 · 2 min · jiezi

关于程序员:你真的会走好计算机这条路吗选择不会变吗浅谈学习

解惑篇第一,你真的会走好计算机这条路吗?抉择不会变吗?我晓得,你不晓得的还有很多!这是在掘金刷文章看到的一句话。 睁眼看世界计算机倒退很快,或者不如说,世界倒退都很快。 信息时代的到来——1946年电子计算机的诞生1946年2月15日,世界上第一台电子计算机在美国宾夕法尼亚大学正式投入使用。 然而那时候只能算诞生阶段,倒退并不迅速,可是倒退他是基本上处于加速度模式,只会越来越快,咱们不扯这么远,就从2000年开始吧。 那时候,很多货色是个含糊的概念,天南地北能够看到对方并且交换,这是想不到的,过后网络也是比较落后的,基本上只能进行单方通话,电视也是黑白的。 过了几年,慢慢诞生了很多在过后较为先进的网络,我也不晓得啥时候,智能手机开始广泛应用了,电视也不再是黑白,是天线来接管频道。 这部分记忆是比拟含糊的,总而言之,以前的科技,只能说是大改革,并没有倒退,网络购物、转账这些货色,想都没想过。 那最让我感触到倒退的,还是从10年开始,网络开始遍及,能够蹭WIFI,网吧也多了不少,网络即时通讯也倒退开始,再到前面一些,王者光荣、天天酷跑流行起来,我记得过后王者还只有270MB,3G运行内存的手机能够晦涩运行。 缓缓的,看着看着,发现科技倒退忽然变快了,短短几载,网络电视、人工智能、人脸识别、网络购物、海淘、地球村、微信、转账、扫一扫这些词汇忽然多了起来。 倒退至今,短短几年,WIFI5、百兆、互联网+这些名字也是缓缓老去,网站也开始越来越多,集体站长也越来越多,尤其这几年,5G、云原生、大数据、电商代替了以往的热度。 写了这么多,实际上我并不是很称心下面的形容,因为我发现,时代的倒退是形容不来的,然而我置信如果你认真想想这几年的变动会深有感触的。 人不知;鬼不觉未然三年,疫情袭来距今,也扭转了很多人的习惯。 纳闷、发问为什么要说下面那一段呢? 因为我想让读者明确,计算机行业是一个走在时代前沿的行业,世界微小的变动,它功不可没,所以这个行业也常常被人误会。 高薪这个形容词也是用在了这个行业上,所以很多人报业余,就想都没想,甚至都不了解、不理解这个行业是干些什么,做些什么,他就报了。 那很多人想报考、想入行,我就先问几个问题,如果说你答复不了,那就欠考虑了。 你真的理解这个行业吗?他是干什么的?如你所想的将来真的一样吗?你理解计算机要从哪里开始学习吗?有本人的布局吗?你分明为了能找到工作要学习多少常识吗?你晓得承接需要到开发交付上线串联了多少个技术栈吗?你真的认为跟着学校的课程学习真的能够毕业后工作吗?你决定走哪一条路了吗?你感觉你真的能坚持下去吗?你真的适宜这个行业吗?另外我在问几个久远的问题。 对于计算机行业,对于你以后技术,你是趣味酷爱还是单纯为了找工作呢?你真的会学习吗?能利用工夫去学习吗?对于技术,你感觉学习到毕业,职场摸爬滚打两年就够了吗?问题一你真的理解这个行业吗?他是干什么的?如你所想的将来真的一样吗? 有很多人,看到互联网、计算机这种职业,这种工作,感觉很高大上,很有将来,高薪。 的确,但这只是局部正确,你在高薪的同时,你须要对技术去折腾,花工夫去钻研,有将来也是看本人,本人有布局,在如何职业,只有不太落后啥的,基本上都有将来。 这个行业很宽泛,开发相干有物联网、嵌入式、前端、后端、挪动端、桌面端、大数据、人工智能、网络安全... 很多,你只是单纯的说,你是搞计算机的,你本人都不晓得本人在干嘛,跟着学校,Python学点、Java学点,嵌入式搞两下,你都是相当于行都没入。 除非你是浙大,北邮这些很重视技术造就的大学,个别大学这种芜杂无用的学习是常态,国内大家很多时候明确明确,大环境下就这样,并不是对标企业技术去学习。 我举荐大家一本书:《穷爸爸与富爸爸》那如果你还没去想过,你学个计算机还不晓得本人未来搞后端还是前端,Java还是CPP,那你可就要去想想了。 那有的同学就也是做出了抉择,说:我是打算搞Java。 那你在抉择一个货色的时候,你去理解过他吗? 学校可能开始会教你写个控制台程序,到前面写个JSP啥的,这些我也是这样走过去的,然而!我不心愿被这种技术教育带着走,你要去本人理解它,要晓得他的倒退,要去看行情,要去看看你有没有趣味,要去晓得,JSP是很老的技术,要去晓得他畛域在网页后端,但其余也能够干,到前面要缓缓去理解业务、框架,要去本人折腾。 而不是晓得:它是Java,就叫这个名,它能够写程序,能写个控制台,JSP还能够写网页。 至于将来,我想你如果对后面的两个小问题没问题,那你也就大略晓得将来了,市场是不稳固的,理解就很好了。 问题二你理解计算机要从哪里开始学习吗?有本人的布局吗? 你做好抉择了,说要搞嵌入式、物联网又或者Java。 你晓得怎么去学习吗?你在想等他人给你指路,你在想学校会有相干课程。 我更倡议你去本人摸索,当初博主很多吧!B站,抖音,浏览器,你可能甚至都不去理解你就会说你不晓得从何开始。 很多大佬的网页也是能够被搜寻到的,你可能尝试都没尝试就不晓得如何学习。 轻易搜搜,都能够找到。 不过我还是倡议去看看B站一些UP的线路,浏览器太乱,信息繁多。 你轻易一艘,尚硅谷的老师,黑马的老师,鱼皮呀,一些大佬,他们视频还提供学习线路,还给你将学习布局、待业布局,带你理解这个行业。 那如果你真的去理解了,相比也有能力能够本人布局布局了。 问题三你分明为了能找到工作要学习多少常识吗? 计算机是个高薪的行业,那技术也不会少,很多学校那都是皮毛,你本人去理解才行。 下面说了,很多大佬发的B站都有线路,你对这个线路多去理解理解,就晓得要学习哪些货色,是什么了。 先不说都会好吧,至多罕用技术要都意识。 问题四你晓得承接需要到开发交付上线串联了多少个技术栈吗? 这个期待你学到肯定水平,你会本人去理解到的,多去汲取前人教训,多去技术交换。 问题五你真的认为跟着学校的课程学习真的能够毕业后工作吗? 在你心中,或者有了答案,如果没有答案或者谬误答案就算了,可能没救了,当然,好大学除外,好大学技术挺全面的,还是要多多自行折腾。 问题六你决定走哪一条路了吗? 你后面应该曾经做出了决定,你要做的是去理解并学习它。 问题七你感觉你真的能坚持下去吗? 这个问题不做解答,学不上来的人究竟学不上来,提出问题是要你本人想想,好好想想。 问题八你真的适宜这个行业吗? 这个问题不做解答,哪有什么适宜不适宜,适不适宜全在于你所想,愿不愿意花工夫学习。 问题九对于计算机行业,对于你以后所学技术,你是趣味酷爱还是单纯为了找工作呢? 能本人吃饱饭是前提,必定是要为了工作,但也不排除趣味。 很多人说,哪还有什么趣味,活着就不错了,的确,国内大环境如此,何谈趣味? 然而我还是心愿能够带着趣味走上来,很多人说压根没发现趣味,那可能趣味期待你去发现吧。 我属于那种,打造一个本人的产品,本人的网站,本人的小程序,我就有荣誉感、有成就感的,趣味也来源于此。 问题十你真的会学习吗?能利用工夫去学习吗? 见过很多人,天天说学,天天不学的。 那其实,我也是那种爱玩的,所以这个还是在于本人,不须要你长时间,你一个刷半小时课都不错,而后平时多敲,这个必定要花工夫。 当我想着,我想写一个本人想要的货色,比方小程序啥的,我发现我没这个能力,我就会本人找工夫学,每个人不一样,但如果你打算都没有,天天空谈学习,那说不好听点,别学了。 学习是毕生的事件,也是必备技能,所以请自控。 能够看看一本书:《自控力》哈佛心理学博士导师的一本书,然而前提你违心去看,而不是空余工夫抉择摆烂,不然买了你也不会看。 尾述对于技术,你感觉学习到毕业,职场摸爬滚打两年就够了吗? 学习,是毕生须要,也是必备技能。有什么不明确,要解惑的,也能够问我,QQ基本上在线,公众号:小简聊开发(也能够收到音讯),我可不是啥培训机构或者营销号,哈哈哈,技术宅一枚。 人生是一场电影,配角是本人,剧情须要本人演绎,人生也是一局游戏,你须要执行主线工作,所以,请追随将来,实现主线工作。 ...

October 27, 2022 · 1 min · jiezi

关于程序员:11-个-Flutter-最佳实践

11 个 Flutter 最佳实际 学习最佳实际,用 Flutter 进步代码品质、可读性、可维护性和生产率。 1. 将代码重构为 widgets 而不是 methods重形成一个办法可能看起来很迷人,然而当构建办法太大时,它可能会从新构建,即便构建办法外部没有任何更改。然而,当波及到重构到一个 widgets 时,咱们失去了 widgets 生命周期的所有益处,因而只有当 widgets 中的某些内容发生变化时,它才会从新构建。因而,这能够避免不必要的从新构建,从而进步性能。这也提供了 Flutter 为 widgets 类提供的所有优化。 Column( children: [ Container( decoration: const BoxDecoration( color: Colors.red, ), child: const Text( 'Refactor to Widget', style: TextStyle( color: Colors.white, ), ), ), ], )//Doclass RefactorWidget extends StatelessWidget { const RefactorWidget({ Key? key, }) : super(key: key); @override Widget build(BuildContext context) { return Container( decoration: const BoxDecoration( color: Colors.red, ), child: const Text( 'Refactor to Widget', style: TextStyle( color: Colors.white, ), ), ); }}//Do notContainer buildRefactorWidget() => Container( decoration: const BoxDecoration( color: Colors.red, ), child: const Text( 'Refactor to Widget', style: TextStyle( color: Colors.white, ), ),);2. 尽可能应用 const 关键字当咱们应用 setState() Flutter 调用 build 办法并从新构建其中的每个 widgets 树。防止这种状况的最佳办法是应用常量构造函数。 ...

October 27, 2022 · 3 min · jiezi

关于程序员:想多赚钱程序员如何把副业搞得风生水起

本文首发自「慕课网」,想理解更多IT干货内容,程序员圈内热闻,欢送关注! 最近总有小伙伴在后盾私信:天气炎热,无心工作,只想躺平。 别说你们了,小慕不仅想躺平,还想躺废呢...但只有一想到,众人皆卷,唯我独躺,霎时就没有躺平的胆量了,毕竟薪水太低,怕本人躺废就要吃土了!  不过程序员小伙伴们可就不一样了。随着互联网衰亡,程序员高薪口口相传,即使偶然躺平也不妨。除此之外,一名优良的程序员,肯定是具备较高的文化程度,以及在互联网技术方面的专业知识的,他们有着十分清晰的逻辑能力和极强的跳跃性思维。当一个人具备了优良程序员认知和思维的时候,那么他就能够活成任何本人想要的样子了。这也导致了近几年,干副业的程序员越来越多了,而且做的还十分优良。 解压去鬼屋,一不小心却成了扮鬼演员 开网约车的同时兼职/全职搞本业还有的程序员,说好的只是干副业,却一不小心改了行,做起了专职脱口秀演员...从正经的程序员到倍受追捧的脱口秀演员 提到程序员鱼皮,置信大家都不会生疏,他是腾讯云开发的高级布道师,他相熟多种编程语言和技术栈,包含但不限于Java后端、前端、小程序开发。但他最牛的身份其实是全网累计60w+粉丝的原创常识博主。一边工作,一边搞副业,还全副是本人喜爱的,这就是“搞钱”的天花板吧。 互联网时代,大家其实能抉择的副业品种真的是太多了,而且人人都能参加,丝毫没有什么门槛。不论是轻松的生存分享,还是业余的技能培训,无论是文字,还是图片、视频,都能发明价值,均有变现机会。这是一个适宜干副业的时代,有的程序员干副业还当上了本人的老板。 慕课网精英讲师Brian,有国内一线互联网公司从业经验,超过10年的前后端开发教训。负责过多个畛域的全栈我的项目开发,纵跨直播平台、新媒体管理系统等多个行业畛域,对于微服务框架、服务治理等技术颇有钻研,借鉴了多种优化流程。就是这样一位大牛,本想着业余时间干副业,却万万没想到最初居然当家做主,做起了本人的老板。 做副业时尝试过哪些方向? 讲师Brian:搞副业是一个积攒的过程,也是一个一直去摸索本人新的可能过程。没有谁会随随便便胜利,要有一颗发现商机的心,也要时刻为新到来的挑战而筹备的能源,去学习新的货色,去面对压力,去冲破本人的舒服区。我做副业也是从小白过去的: 分两个阶段:最开始的阶段,只是想减少工作教训,晋升本人的技术,同时能够补贴一点家用。做了很久外包,因为精力有限,对身材的负荷太大,缓缓地会选择性的做一点。 前面的阶段,工作降职遇到瓶颈,年底将至工作不好找,自已也想做点趣味相干的事件,最初抉择了网络上来“教书育人”,成为一名网络老师。 尝试过的方向:大多是技能型、脑力型的:外包是做的比拟多的,前面开始做视频(小视频、视频直播、视频课程等),尝试博客广告、公众号宣传、写作,也在实体经济上做过尝试,做过水果店、充电桩等新兴行业; 膂力型的副业,做过慢车、翻译、刷单、游戏代练等。 抉择常识付费的方向,也是多方尝试之后,认为常识付费更适宜当下的本人,起因: 我的性情是一个十分乐于做分享的人,平时喜爱写写博客;本人有做过老师的经验,从学生时代做家教,到前面业余时间当英语老师,播种学生们的喜悦是一件无比有成就的事件;常识付费是一个低成本,高回报的方向;本人比拟喜爱新的技术,学习能力不错,通过一直的学习与讲述,让本人加深对常识的了解(费曼学习法)疫情的呈现,减速了行业的倒退,碰到了一些宣传须要网络老师的“广告”。 问做副业时遇到过哪些难点? 讲师Brian:做副业常常会碰到突发事件,并不是把握繁多技能就能做的很顺,往往是多维度多方面的技能锤炼,我在副业+守业的过程中,踩过、碰过很多坑,也有在金钱和工夫上等方面有损失。 费用问题:最开始做副业,很多时候,只想找到一个机会而已,并不在乎本人的利益,所以被压迫的很利弊,赚的也比拟少;解决方案:在最后协商的时候,订立合同而非口头承诺;绝对大一点的我的项目,会收取预付款;确定阶段性的付款形式。信息问题:没有适合的切入点,不确定在哪里找单干平台,或者在哪里获取一些副业信息。解决方案:在朋友圈中做好宣传,敌人介绍到的我的项目个别可信度都比拟高;找行业内的头部平台,通过网站排名、统计信息、社群举荐等渠道来理解与比拟,而且要具备肯定的项目分析的能力,最初就是多去试了。信用问题:无论是找公司、集体还是平台,都会存在信用问题;解决方案:找中介平台、找担保人、以公司名义来进行动作,所以,在里面做副业,最好是有一个本人的公司。办法问题:技术出身的我,初期做事件会谋求极致,给本人招来了很多不便,减少了沟通老本,也可能会告吹好的我的项目;解决办法:学会衡量的艺术,在品质与速度之间做好均衡,很多时候,咱们看后果为导向,并不是看过程。工夫问题:工作与生存不能很好的协调,身材会因为长时间的透支而变差,这样会反过来影响到工作。解决办法:在疫情期间我购买了跑步机(目前月跑在4次左右,1次5公里,初期会多一些),平时在家会带着家人做做操,跑跑步、跳绳,这个频次不必太高,一周3次即可,还有就是大量饮水+吃营养素,定期体验(我有本人的牙医+衰弱师)。心态问题:即便到了当初我也会有迷茫的时候,不分明本人谋求的货色、本人做事的方向是不是对的。解决办法:咱们人这毕生,除了抬头做事,还要学会低头看路,探寻本人人生的意义。我会浏览人文传记、历史科普、心理学、管理学、经济学相干的书籍,来空虚本人的精力世界。长于聆听:也会通过社群社区的交换,找到本人的我的项目&产品毛病,及时调整。总结过往,敢于面对挫折与失败,从新启航,我会有长期5年打算 + 短期月度年度计划,给本人定义一个大的方向,做事更持重更有指标感。 如何找到适宜本人的副业? 讲师Brian:程序员是比拟容易发展本人的副业的,可选的方向比拟多,将来次要是方向:除了技术输入以外,还能够学习做一些趣味相干的,“混搭”才更有料,比方:用视频的形式记录一个阳光宅男的生存、情景短片、科普视频等,即好玩又乏味,还学习了货色。 程序员发展本人的副业,先要理解互联网行业的倒退,这样能够初步确定一些向阳行业或者方向,而后,从本人的趣味登程,抉择那些能够让本人遗记工夫的事件着手,把趣味变成职业应该是每个人谋求的方向。 欢送关注「慕课网」,发现更多IT圈优质内容,分享干货常识,帮忙你成为更好的程序员!

October 27, 2022 · 1 min · jiezi

关于程序员:聊聊机器如何写好广告文案

作者 | 张超 “除非你的广告建设在平凡的创意之上,否则它就像夜航的船,不为人所留神。”—— 大卫·奥格威,古代广告业奠基人 01 引子创意作为一种信息载体,将广告主的营销内容出现给用户,辅助用户生产决策,乃至激发潜在需要。通常,创意可体现为文本、图片及视频物料的繁多或组合模式,而创意优化旨在晋升创意物料的业务价值,本文简要聊聊针对创意文案主动撰写的一些摸索与实际,整体分五局部:第一局部简述广告文案优化的必要性;第二局部介绍文本生成相干概念及支流办法;第三局部介绍在文案生成方面的摸索实际;第四局部借鉴业界研究成果,探讨文案主动生成将来的一些工作思路;最初做下小结。 广告文案优化的必要性 广告创意是连贯用户和客户服务的桥梁,是信息传递最重要、最间接的形式,因而创意的品质很大水平决定了用户需要满足度和客户推广成果。 面对海量的用户需要,客户推广创意的人工经营+保护老本较高,尤其对于中小客户更难以承当,导致品质参差不齐,千篇一律,无奈实现精细化的业务表白,更无奈做到链路的闭环优化。 02 文本生成工作2.1 生成框架及工作分级文本生成在学术界称为 NLG(Nature Language Generation),狭义上讲,只有输入为自然语言文本的工作均可划入文本生成的领域。只管 NLG 畛域起源较早,但很长一段时间处于停滞状态,次要起因在于 NLG是一个简略输出到简单输入的工作,问题复杂度太大,很难有精确高且泛化强的办法,许多场景下甚至低于人工规定。近年来,随着深度学习实践技术的成熟,NLG 畛域特地是机器翻译、文档摘要等有了突破性停顿。 依据输出数据的模式,文本生成可细分为文本到文本(Text2Text)、数据到文本(Data2Text)以及图到文本(Image2Text)的生成。本文重点探讨Text2Text,以后业界最支流的解决方案是 Seq2Seq+Attension的序列式生成框架(如下图)。 其中: 编码端(Encoder):将输出序列的词(Token)映射成Embedding向量,借助深度神经网络学习到整个句子的语境示意(Contextual Representation);解码端(Decoder):基于输出序列的语境示意以及已生成的词,预测以后工夫步最可能的词,最终失去残缺的语句;注意力机制(Attention):相比固定编码端的语境示意,注意力机制通过动静调整不同输出词在每一步生成时的奉献权重,使得解码器可能抽取更要害无效的信息,进而作出更精确的决策。Seq2Seq+Attention很好地解决了不定长输出到序列式输入的问题,是非常通用的生成计划,被广泛应用于机器翻译、摘要生成、主动对话、浏览了解等支流工作,各项外围指标获得显著晋升。 序列式文本生成框架下,依据编解码两侧的数据组织模式,分为抽取式和形象式两种,联合实践经验,总结出各自的优劣势如下: 抽取式(Less open-ended):从原文抽取出要害信息,再通过编码表征和解码表白实现文本输入。其劣势在于,升高工作复杂度,可解释性好,保障与原文较高的相关性;劣势在于,依赖要害信息的提取品质,同时受限于原文,泛化性有余;形象式(More open-ended):脱离原文的限度,实现齐全端到端的生成,泛化能力上具备压倒式劣势,但建模复杂度高,可解释性有余,管制难度较大。 2.1 文本示意的常见办法后面提到,编码端Encoder 通过对源端输出进行建模获取语义示意。实际上解码端Decoder 生成时,同样须要获取已生成序列的语义示意。因而,如何设计模型学习文本的深层语义示意,对于最终工作的成果极为重要。 最后,词袋模型(BOW)是最罕用的文本示意办法。随着深度神经网络的衰亡,人们提出了一种取得词向量的词嵌入(Word Embedding)办法,以解决词汇表过大带来的“维度爆炸”问题。词/句嵌入思维已成为所有基于深度学习的NLP零碎的重要组成部分,通过在固定长度的浓密向量中编码词和句子,大幅度提高神经网络解决语句乃至文档级数据的能力。 词向量的获取形式能够大体分为基于统计的办法(如共现矩阵、SVD)和基于语言模型的办法两类。2013 年Google公布基于语言模型获取词向量的word2vec框架,其核心思想是通过词的上下文学习该词的向量化示意,包含CBOW(通过左近词预测中心词)和Skip-gram(通过中心词预测左近词)两种办法,联合负采样/层级softmax的高效训练。word2vec词向量能够较好地表白不同词之间的类似和类比关系,被广泛应用于NLP工作中。 语境示意学习(Contextual Embedding Learning)解决的外围问题是,利用大量未标注的文本语料作预训练(Pre-training),学习文本的深层语境表白,进而在微调阶段(Fine-tuning)辅助监督工作更好地实现指标。 目前,语境示意学习畛域代表性的工作包含 ELMO(Embeddings from Language Models)、GPT(Generative Pre-Training)和BERT(Bidirectional Encoder Representations from Transformers)。其中,ELMO模型提出依据上下文动态变化词向量,通过深层双向 LSTM 模型学习词的示意,可能解决单词用法中的简单个性,以及这些用法在不同的语言上下文中的变动,无效解决一词多义的问题。GPT模型采纳Transformer抽取文本特色,首次将Transformer利用于预训练语言模型,并在监督工作上引入语言模型(LM)辅助指标,从而解决微调阶段的灾难性忘记问题(Catastrophic Forgetting)。相比GPT的单向LM,BERT引入双向 LM以及新的预训练指标NSP(Next Sentence Prediction),借助更大更深的模型构造,显著晋升对文本的语境示意能力。业务发展过程中,咱们的文本示意办法也经验了从传统RNN到全面拥抱Transformer的转变。 上面特地介绍同文本生成工作高度适配的MASS 预训练框架(Masked Sequence to Sequence pre-training)。咱们晓得,惯例BERT只能用于文本了解(NLU)相干工作,如文本分类、情感辨认、序列标注等,无奈间接用在文本生成上,因为BERT 只预训练出一个编码器用于上游工作,而序列式文本生成框架蕴含编码器、解码器以及起连贯作用的注意力机制。对此,微软团队提出将BERT降级至 MASS,非常适合生成工作的预训练。 MASS的整体构造如下,其训练形式仍属于无监督。对于一段文本,首先随机mask其中间断的 K 个词,而后把这些词放入Decoder的雷同地位,而Encoder中只保留未被mask掉的词。借助这种学习形式,冀望Decoder能综合利用Encoder的语义表白信息和Decoder后面的词,来预测这些被mask的词序列。 ...

October 27, 2022 · 2 min · jiezi

关于程序员:阿里云ACP认证哪个值得考考试时间怎么安排

对于当初的人来说,网络就是帮忙本人理解世界的好帮手、就是让本人生存得更不便的好工具,这样一来,市场就须要大量的人才来满足需要,绝对应的岗位也逐步增多。于是就有少量的大学生在填报意愿的时候,抉择IT业余,甚至很多费业余的人士,在毕业后会进行再教育,学习IT相干的常识,只为进入这一行。 目前国内有几家闻名的互联网厂商,其中最有名的要数是阿里云了,在最近几年,阿里云稳步发展,曾经做到了世界第三、亚洲第一的地位。而其旗下的人才认证也是在业界内宽泛受欢迎的,很多人会抉择考中级ACP认证来帮忙本人减少待业竞争力。 尽管是阿里云的中级认证,然而其实很多我的项目都是只有ACP这一项,能够说是某种意义上的高级认证了,很多人都会抉择考这个,上面分为云计算、大数据、人工智能、物联网等等几个方向,上面小编会介绍几个热门方向。 阿里云ACP云计算 1、考试内容 云服务器 ECS 弹性伸缩(Auto Scaling) 负载平衡 SLB 专有网络 VPC 对象存储 OSS 内容散发网络 CDN 平安(云盾、云平安) 云计算通用常识 2、考试工夫 120min 3、考试模式 线下 阿里云ACP大数据 大数据计算服务 Maxcompute 数据工场 DataWorks 数据集成 10%Quick BI 机器学习 PAI 和其余云产品配合的应 用及架构 2、考试工夫 120min 3、考试模式 线下 阿里云ACP考试费用 阿里云ACP的考试报名费须要1200元,除此之外还须要900原来购买学习视频,再加上题库,怎么也得两千多,算是一笔不小的费用,而且考试只有一次机会,如果不小心没通过,是须要原价从新报名考试的,很多考生会在认证大使上寻找对应题库,来帮忙本人通过考试。 阿里云ACP认证有效期 阿里云的所有证书有效期都是两年,因为这个行业是一个技术更新迭代特地快的行业,须要从业者一直地晋升本人的能力。证书到期后须要考生从新认证,然而原证书在官网上依然可能查到。

October 26, 2022 · 1 min · jiezi

关于程序员:在-Flutter-中创建响应式布局的-3-个方式

在 Flutter 中创立响应式布局的 3 个形式 如果本文对你有帮忙,请转发让更多的敌人浏览。 译文 https://medium.easyread.co/3-... 最简略的办法,使您的应用程序响应所有屏幕大小(挪动,平板电脑,桌面)。 我第一次应用“ Flutter”框架的经验是开发一个物联网网络应用的挪动版本。所以基本上,在创立 UI 时,我不放心响应屏幕。这是因为我的应用程序只用于挪动设施。 然而在我的第三个我的项目中,我的老板要求我帮忙仓库中的流程实现无纸化。咱们心愿简化工人在监控货物进出仓库之前通常打印文件的过程。次要的要求是,仓库应用程序应该用在平板设施上。因而,这是我第一次学习在 flutter 应用程序中为更大的屏幕制作小部件。 在学习了一些资源之后,我决定开发一个实用于所有设施的应用程序。工作人员能够在手机上安装应用程序,也能够在仓库的桌面上关上应用程序。这里有 3 个选项,我曾经为你收集了如何在抖动应用程序响应布局。 三种形式: Dynamic PaddingLayout Builderextension BuildContex在 dartpad 上的演示: (如果你想先试试的话)https://dartpad.dev/?id=49078...https://dartpad.dev/?id=027bc...https://dartpad.dev/?id=59656...https://dartpad.dev/?id=925bb...在这个博客中,咱们将摸索如何使你的应用程序布局适应你的屏幕的 3 个例子。好了,咱们开始吧..。 1. Dynamic Padding你可能认为这是没有反馈的,但这是解决宽屏的解决方案之一。它通过向父窗口小部件增加程度填充来工作。将依据屏幕宽度动静设置填充值。让咱们看看上面的代码: import 'package:flutter/material.dart';class ResponsivePadding extends StatelessWidget { final Widget child; const ResponsivePadding({ Key? key, required this.child, }) : super(key: key); @override Widget build(BuildContext context) { return Padding( padding: MediaQuery.of(context).size.width > 650 ? EdgeInsets.symmetric( horizontal: MediaQuery.of(context).size.width / 3.8) : const EdgeInsets.all(0), child: child, ); }}您能够为下面的代码创立一个新的文件和类。而后在须要限度屏幕宽度时应用它。所有您须要做的就是用 ResponsivePaddingwidget 包装您的屏幕。 ...

October 26, 2022 · 2 min · jiezi

关于程序员:想考阿里云ACE需要做什么准备考下来难不难

怎么样能力在当初的社会中过上好的生存,这是当初每个人在思考的问题,来到学校的象牙塔,来到社会上,每个人都会经验一个心态变动,从刚开始的心有抱负、想做出一番事业,到被事实打击的悲观、苦楚,最初承受本人的平庸,积淀下来,持续致力生存。 而IT行业就是能最快转变本人,挣到钱的中央,很多人大学都会抉择这个业余,甚至在毕业后再学习,而后转行进入IT行业,并且在将来近十年的倒退里,IT行业相对是占比很大的一个,咱们当初的生存越来越离不开网络,每个人都会用网络来理解世界、服务本人的生存。 这样一来,市场就须要大量的人才来保护运行,对于很多从事IT行业的人来说,想在这个行业内短暂倒退,失去一份薪资丰富、待遇良好的工作,要一份业余认证来帮忙本人,很多人都会抉择阿里云认证来晋升本人的业余能力,这个证书到底有什么神奇之处,让大家都挣着去考。 阿里云ACP的含金量 自2009年,阿里云登上世界舞台,就始终致力以在线公共服务的形式,提供平安、牢靠的计算和数据处理能力,让计算和人工智能成为普惠科技。现如今,阿里云曾经成为了世界第三、亚洲第一大云企业,而且领有我国惟一一套自主研发,并服务于寰球的超大规模通用计算操作系统,为寰球200多个国家和地区的翻新守业企业、政府、机构等提供服务。  阿里云ACP的含金量可见一斑,作为我国最大的云企业,它的合作伙伴笼罩了中国98%的城市,遍布于寰球,领有阿里云ACP证书,不仅能取得进入阿里云的机会,还能取得其合作伙伴的青眼,被优先录取。 阿里云认证费用 1、ACA认证 这个是阿里云最低等级的认证,报名费须要600元,而且报名后就能够在网站上观看学习视频,不须要另外再购买,考试是在线上进行的,有两次考试机会,基本上能够说通过的概率是比拟大的。整体来说,这个考试是最便宜的,然而相对而言含金量也是比拟低的,适宜在校学生、刚踏入社会的打工人、对云技术有趣味的人群。 2、ACP认证 阿里云的中等级认证,然而某种程度上算是阿里云最高级的认证,因为再高一等级的只有云计算一个方向,其余的只有ACP这个方向,能够说这也是阿里云综合含金量最高的认证。报名费是1200元,除此之外还须要再购买学习视频、寻找题库,而且这个只有一次考试机会,如果不小心没通过,就须要原价再次购买认证,很多人会去找对应题库来帮忙本人通过考试,有须要的人能够在认证大使网站上寻找认对应题库。 3、ACE认证 绝对于其余两个认证来说,阿里云的ACE认证是十分贵的,单单报名费就须要9600元,培训还须要将近一万,此外考生还须要到杭州去加入试验考试,另外的面试还须要去指定的中央加入,整体算下来考一次至多要花两万元了,很多人为了不便,回去考国际版的,有趣味的能够在认证大使上理解。

October 25, 2022 · 1 min · jiezi

关于程序员:pytorch-构建神经网络

神经网络由对数据执行操作的层或模块组成。torch.nn命名空间提供了构建神经网络所需的所有模块。PyTorch中的每个模块都是 nn.Module 的子类。神经网络自身也是一个模块,但它由其余模块(层)组成。这种嵌套构造容许轻松构建和治理简单的架构。在接下来的局部中,咱们将构建一个神经网络来对 FashionMNIST 数据集中的图像进行分类。 import osimport torchfrom torch import nnfrom torch.utils.data import DataLoaderfrom torchvision import datasets, transforms1、获取训练设施 咱们心愿可能在 GPU 等硬件加速器(如果可用)上训练咱们的模型。让咱们检查一下 torch.cuda是否可用,否则咱们持续应用CPU。 device = "cuda" if torch.cuda.is_available() else "cpu"print(f"Using {device} device")Using cuda device 2、定义模型类 咱们通过子类化定义咱们的神经网络nn.Module,并在__init__中初始化神经网络层。每个nn.Module子类都在forward办法中实现对输出数据的操作。 class NeuralNetwork(nn.Module): def __init__(self): super(NeuralNetwork, self).__init__() self.flatten = nn.Flatten() self.linear_relu_stack = nn.Sequential( nn.Linear(28*28, 512), nn.ReLU(), nn.Linear(512, 512), nn.ReLU(), nn.Linear(512, 10), ) def forward(self, x): x = self.flatten(x) logits = self.linear_relu_stack(x) return logits咱们创立NeuralNetwork的实例,并将其挪动到device,并打印其构造。 model = NeuralNetwork().to(device)print(model)NeuralNetwork( (flatten): Flatten(start_dim=1, end_dim=-1) (linear_relu_stack): Sequential( (0): Linear(in_features=784, out_features=512, bias=True) (1): ReLU() (2): Linear(in_features=512, out_features=512, bias=True) (3): ReLU() (4): Linear(in_features=512, out_features=10, bias=True) ))要应用模型,咱们将输出数据传递给它。这将执行模型的forward,以及一些后盾操作。但不要间接调用model.forward()! ...

October 25, 2022 · 2 min · jiezi

关于程序员:OpenCV用指针扫描图像

前言 在大多数图像处理工作中,咱们须要扫描图像的所有像素能力执行计算,因为须要拜访大量像素,咱们必须以高效的办法进行扫描。本节咱们将介绍如何应用指针实现高效扫描图像的办法。咱们通过实现缩小图像中的色彩数量这一工作来阐明图像扫描过程。 用指针扫描图像 彩色图像由三通道像素组成,这些通道中的每一个都对应于红色、绿色和蓝色三种基色之一的强度值。因为这些像素值都是 8 位无符号字符,因而色彩总数为 256 x 256 x 256,超过 1600 万种色彩。因而,为了升高剖析的复杂性,缩小图像中色彩的数量通常是无效的。实现此指标的一种办法是将 RGB 空间细分为大小相等的立方体。例如,如果咱们将每个维度中的色彩数量缩小为原来的 1/8,那么能够失去共 32 x 32 x 32 种颜色。此时,原始图像中的每种色彩都会在新的色彩空间中调配一个新的色彩值,该值等于原始色彩值所属的立方体核心的值。 因而,根本的色调量化(色调量化即为缩小图像中色彩数量的过程)算法很简略。如果 N 是缩减因子,则对于图像中的每个像素和该像素的每个通道,将值除以 N (应用整数除法,舍弃余数);而后,将后果乘以 N,此时取得的值与输出像素值之间的差值为 N 的倍数,而后,只需增加 N/2 即可取得 N 的两个相邻倍数间的核心地位。如果对每个 8 位通道值反复此过程,将取得共 256/N x 256/N x 256/N 个可能的色彩值。 1、增色函数的签名如下,函数须要提供图像和每个通道的缩减因子 div 作为参数: void colorReduce(cv::Mat image, int div=64);此函数应用原地解决,即输出图像的像素值被函数批改。 2、只需创立一个遍历所有像素值的双循环即可实现解决。第一个循环扫描每一行,获取行图像数据的指针: for (int j=0; j<image.rows; j++){    // 获取行的地址    uchar* data=image.ptr<uchar>(j);3、第二个循环遍历行指针的每一列,并应用上述办法缩小色彩:     for (int i=0; i<nc; i++){        // 解决每个像素        data[i] = data[i]/div*div + div/2    }}通过加载图像并调用 colorReduce 函数来测试该函数: // 读取图像image= cv::imread("1.png");// 解决图像colorReduce(image,64);// 展现图像cv::namedWindow("Image");cv::imshow("Image",image);编译并执行程序,能够失去以下后果: ...

October 25, 2022 · 1 min · jiezi

关于程序员:Polygraphy-安装教程

Polygraphy 介绍 polygraphy 是一个深度学习模型调试工具,蕴含 python API 和 命令行工具,它的性能如下: 应用多种后端运行推理计算,包含 TensorRT, onnxruntime, TensorFlow;比拟不同后端的逐层计算结果;由模型生成 TensorRT 引擎并序列化为.plan;查看模型网络的逐层信息;批改 Onnx 模型,如提取子图,计算图化简;剖析 Onnx 转 TensorRT 失败起因,将原计算图中能够 / 不能够转 TensorRT 的子图宰割保留;隔离 TensorRT 终端 谬误 tactic; 装置 源码装置: Github地址:Polygraphy依据本人的cuda以及cudnn版本抉择对应的tensorrt版本,并将源码clone下来应用anaconda创立虚拟环境(注:polygraphy不反对python2.x)conda create -n polygraphy python=3.7在polygraphy目录进入创立的虚拟环境 执行python -m pip install colored polygraphy --extra-index-url pypi.ngc.nvidia.commake install实现polygraphy的装置 简略装置 应用anaconda创立虚拟环境(注:polygraphy不反对python2.x)conda create -n polygraphy python=3.7进入创立的虚拟环境执行pip install -i pypi.douban.com/simple nvidia-pyindexpython -m pip install colored polygraphy --extra-index-url pypi.ngc.nvidia.com装置 colored 是为了让cli输入更加清晰显著实现装置 装置依赖 Polygraphy 对其余 Python 包没有硬依赖。 然而,蕴含的大部分性能 的确须要其余 Python 包。 就比方对onnx和trt模型推理比照就须要装置onnxruntime和nvidia-tensorrt包。 ...

October 25, 2022 · 1 min · jiezi

关于程序员:自学成才的机器学习工程师十诫

导读 应用数学,代码和数据来揭示大自然的机密。 写代码可能会让人变得有点丧气,须要让本人的四周充斥色调自律和自学这两个词不能漫不经心。一个人必须对本人的教育和启蒙负责。如果你疏忽它,他人就会为你做抉择。 1、数学,代码和数据是你最重要的三大项 任何无效的机器学习管道都是数学、代码和数据的穿插。每一项只有和另一项在一起时才会有成果。如果你的数据品质很差,那么无论你的数学计算如许优雅或代码如许高效都没用。如果你的数据品质最高,但你的数学计算谬误,那么你的后果可能会不是很好,甚至会更糟,造成挫伤。 如果你的数据和数学都是世界级的,然而你的代码效率很低,那么你将无奈取得扩大带来的益处。数据为你提供了一个蕴含天然珍宝的采矿地点。数学就是你的鹤嘴锄。代码能够让你建设一支挥动着鹤嘴锄的机器人队伍。 2、三大项之外的惟一例外 除了不能均衡这三大项之外,还有一个更大的罪过:遗记这三大项是为谁服务的。即便是执行得最好、由最优雅的数学驱动的代码,如果不能为客户提供服务,从最丰盛的数据中取得洞察也毫无意义。 工程师常常会发现自己迷失在一个过程中,遗记了最后想要的后果。只管他们怀着良好的用意进行,但他们遗记了,用意并不像口头那么重要。三大项至多要为客户提供点益处,总比什么都不提供要好。须要廓清的是,如果你的先进模型须要47倍的工夫能力进步1%的准确率,那么它是否提供了最好的体验? 3、不要被三大项给骗了 无论你如许崇拜这三大项,你都不应该被你的爱蒙蔽。自学成才的机器学习工程师是他们本人的最大的怀疑者。他们晓得,数据不能进行证实,只能进行反驳(只有在十亿数据中有一个数据点就能证实之前的概念是谬误的),一点点蹩脚的数学运算就会产生极其的结果(天然不是线性的),代码的效率只有在它最单薄的中央才有。无论三大项如许神圣,直觉也不应被忽视。如果一个后果好得令人难以置信,除非你很侥幸,否则它很可能就是错的。 4、和你须要提供服务的客户放弃好关系 让机器做它们善于的事件(重复反复过程)。让你去做你善于的事件时(关怀、将心比心、发问、聆听、领导、教学)。 你的客户不像你那样关怀三大项。他们关怀他们的需要是否失去满足。 5、向那些为你奠定根底的人致敬 当你想到计算机、机器学习、人工智能、数学等畛域时,你会想到谁的名字?Ada Lovelace,Geoffrey Hinton,Yann LeCun,Yoshua Bengio,Alan Turing,Fei Fei Li,Grace Hopper,Andrew Ng,Jon Von Neumann,Alan Kay,Stuart Russel,Peter Norvig? 当然,在你听到或记住的所有名字中,有1000个名字功不可没,但却从历史书中隐没了。后起之秀应该认可前辈们做出的微小致力,但也应该认可他们中的每一个人都会通知这位新晋的机器学习工程师同样的事件:这个畛域的将来取决于你的工作。 6、不要低估了齐全重写的力量 你的指标应该是在第一工夫构建牢靠的货色。但随着技能的进步,你可能会想重构之前的作品,拆掉它们,用新的视角从新发明它们。自学成才的机器学习工程师都明确,就像大自然一样,软件和机器学习我的项目永远不会实现,它们始终在静止。数据变动,代码在新的硬件上执行,一个蠢才发现了一个计算高效,低内存依赖的优化器适宜,并称之为Adam。你不仅应该对这些变动持凋谢态度,还应该欢送它们。一旦它们呈现,请应用你最好的判断力来判断它们是否值得实现到你的零碎中 —— 仅仅因为有些货色是新的,并不意味着它是必须的。 7、防止在工具上滥情 在编程界,一个常见的轶事是粉刷自行车棚。它说的是一个程序员,或者一组程序员,放心的是车棚应该是什么色彩,而不是问一些重要的问题,比方车棚是否真的能够寄存自行车。当然,这个自行车棚也能够用电脑程序来代替。 在机器学习的世界里,你会听到对于R还是Python、TensorFlow还是PyTorch、书籍还是课程、数学还是code first(两者都有,记得这三位一体吧)、Spark还是Hadoop、Amazon Web Services还是谷歌云平台、VSCode还是Jupyter、Nvidia还是……的无休止的争执。所有的比拟都是无效的,但没有一个值得与对方争执。 你应该答复的真正问题是:用什么能够让我以最快、最牢靠的形式建设我的想法? 一旦你问本人这个问题,你会发现其他人都在问本人同样的问题。工程师的咒骂是从工具开始,而后寻找问题,而不是从问题开始,而后寻找工具,只有到了那个时候,如果没有适合的工具,才应该去构建它。学习资源也是如此。数学、代码和数据的三大项,在你学习它的时候就是不变的,惟一重要的是你如何应用它。不要遗记:许多问题能够在没有机器学习的状况下解决。 8、你的想法是商品 不要把一个执行好想法的人与窃取你想法的人一概而论。你的想法在他人手中比在你的头脑中更有价值。作为一名工程师,你的角色不仅是建设本人的想法,而且还要与别人沟通,向他们展现如何从这些想法中获益。如果你不足这样的沟通能力,你应该与有这种能力的人单干,或者寻求造就这种能力。在一个没人晓得该置信什么的世界里,你能够通过做实在的本人来辨别本人。诚恳面对你做的货色所能提供的和你所不晓得的。可能抵赖本人的无知是一种劣势,而不是弱点。好的技术总是胜利的,扯谎永远不会胜利。构建技术。不要扯谎。 9、你的街坊、共事、同学和搭档也在思考这个问题 你看到他人的提高而嫉妒吗?或者你把它看作是你能做到的事件的能源? 你对他人的胜利的感觉就是你本人胜利时候的感觉。 10、不能贪 你应该寻求建设你使用三大项的技能,答复那些你想要提供服务的人的问题,但你不应该带着欲望这样做。欲望会咒骂你,让你永远过于庄重地对待将来,而不是享受你当初所领有的。对进步技能的渴望的医治办法是造就对学习的酷爱。 自学成才的机器学习工程师可能很快地学习利用数学、代码和数据力量所需的概念,但不能匆忙行事。他们明确学习任何有价值的技术都须要工夫,如果是这样的话,还不如享受这个过程。从一开始,你就是对本人的启蒙和教育负责的人。晓得了这一点,你就应该抉择那些无论你有什么样的运气都能胜利的我的项目。这个我的项目是否满足了你的好奇心?它是否对你的技能形成挑战?它能够让你恪守这些戒律吗?如果是这样,就足够了。 最初,在沿着本人的路线前进的同时,自学成才的机器学习工程师在他们的脑海中始终放弃着这样的印象: 没有常识就没有资质没有口头就没有思维没有享受就没有学习没有格调就没有发明没有实际就没有技巧没有工具就没有目标没有展现没有贸易没有狐疑就没有假如没有奉献就没有生产没有对当初的爱,就没有对将来的渴望最重要的是,没有三大项就没有机器学习

October 25, 2022 · 1 min · jiezi

关于程序员:OpenCV使用迭代器扫描图像

前言 在面向对象的编程中,循环数据汇合通常是应用迭代器实现的。迭代器是专门为遍历汇合的每个元素而构建的类,暗藏了如何迭代给定汇合中每个元素的具体操作。信息暗藏原理的利用使扫描汇合更容易、更平安;同时,无论应用什么类型的汇合,迭代的模式都是类似的。规范模板库 (Standard Template Library, STL) 具备与其每个汇合类相关联的迭代器类。而 OpenCV 同样提供了一个 cv::Mat 迭代器类,该类与 C++ STL 中的规范迭代器兼容。在本节中,咱们应用持续增色工作解说如何应用迭代器扫描图像。 应用迭代器扫描图像 Cv::Mat 实例的迭代器对象能够通过首先创立一个 cv::MatIterator_ 对象来取得。与 cv::Mat_ 的状况一样,下划线示意这是一个模板子类。实际上,因为图像迭代器用于拜访图像元素,因而在编译时必须晓得返回类型。迭代器申明如下: cv::MatIterator_<cv::Vec3b> it; 或者,也能够应用 Mat_ 模板类中定义的迭代器类型: cv::Mat_<cv::Vec3b>::iterator it; 接下来,咱们将迭代器利用于色彩缩小工作。 要将迭代器利用于色彩缩小工作,须要执行以下步骤。 1、咱们应用常见的开始和完结迭代器办法循环像素。首先,咱们必须取得开始地位: // 在初始地位获取迭代器cv::Mat_<cv::Vec3b>::iterator it = image.begin<cv::Vec3b>();2、而后,咱们必须取得迭代器的完结地位: // 获取完结地位cv::Mat_<cv::Vec3b>::iterator itend = image.end<cv::Vec3b>();3、接下来,咱们必须循环迭代器直到完结地位: // 循环所有像素for ( ; it!= itend; ++it) {4、最初,对像素利用色彩缩小算法: (*it)[0]= (*it)[0]/div*div + div/2;(*it)[1]= (*it)[1]/div*div + div/2;(*it)[2]= (*it)[2]/div*div + div/2;因为咱们正在解决彩色图像,以上代码中的迭代器会返回一个 cv::Vec3b 实例,应用解援用运算符 [] 能够拜访每个色彩通道元素。 无论扫描哪种类型的汇合,应用迭代器始终须要遵循雷同的模式。首先,应用适当的专用类创立迭代器对象,在以上代码中,咱们应用了 cv::Mat_<cv::Vec3b>::iterator (或cv::MatIterator_<cv::Vec3b>)。 而后,获取在起始地位(在以上代码中为图像的左上角)处应用 begin 办法初始化的迭代器。应用 cv::Mat 实例,能够通过 image.begin<cv::Vec3b>() 获取起始地位。咱们也能够在迭代器上应用算术。例如,如果心愿从图像的第二行开始迭代,能够在 image.begin<cv::Vec3b>()+image.cols 处初始化 cv::Mat 迭代器。汇合的完结地位的获取形式相似,但应用的是 end 办法。也能够在完结迭代器上应用算术;例如,如果心愿在最初一行之前进行,最终迭代将在迭代器达到 image.end<cv::Vec3b>()-image.cols 时进行。 ...

October 25, 2022 · 1 min · jiezi

关于程序员:构建-Flutter-应用程序的10个最佳-VSCode-插件

构建 Flutter 应用程序的 10 个最佳 VSCode 插件 在本文中,咱们将分享应用 VisualStudio 代码(VSCode) IDE 的教训。咱们的开发团队更喜爱应用某些插件,这里咱们将解释起因。咱们倡议不要留神他们的程序: 如果一个插件在咱们列表的开端,这并不意味着它比其余插件差。 咱们开始吧。 Flutter and Dart 主插件你须要应用 Flutter 框架的第一个插件是 https://marketplace.visualstu... 这是一个主插件,它蕴含了所有必要的工具来应用 VSCode 中的 Flutter 框架。当您装置它时,该语言的插件将主动装置。 Https://marketplace.visualstudio.com/items?itemname=Dart-code.Dart-code Awesome Flutter Snippets 代码块提醒为了尽量减少编写代码时不必要的工作,人们创造了代码片段。它们是如何工作的?例如,开发人员开始输出单词“stl”,IDE 开始抉择创立无状态小部件的选项。 它十分不便,节俭了很多工夫。实践上,任何开发人员都能够本人编写这些代码段。然而市场有一个很棒的插件 https://marketplace.visualstu... https://ducafecat.oss-cn-beij... 它曾经蕴含了所有最罕用的 Flutter 片段。 Flutter Color 色彩快捷显示https://marketplace.visualstu... 咱们列表中的下一个是 Flutter Color 插件。 有时,在代码中形容色彩时,您心愿以可视化的形式示意该色彩。这就是这个插件的用处。它将代码中的色彩(例如 0xFF882A7B)转换为雷同色彩的一小块区域。这对于在脑海中设想应用程序中的色彩十分不便。 这是它在代码中的样子。 Image Preview 图像预览https://marketplace.visualstu... 图像预览插件的工作形式雷同。 它能够让您轻松地查看您正在 IDE 中应用的绘图的预览。 Svg Preview 预览https://marketplace.visualstu... 通常开发人员在他们的我的项目中应用 SVG 格局。然而,与 PNG 或 JPEG 格局不同,您不能简略地在浏览器中查看它。编写这个插件是为了可能在 IDE 中间接查看 SVG 文件。 ...

October 25, 2022 · 1 min · jiezi

关于程序员:别再开鸦雀无声的回顾会了一招让研发成员知无不言

观点共创 | 潮海我的项目教练 撰文编辑 | LigaAI 麻利团队在迭代评审会(Sprint Review)中展现和评估产品增量,并调整待办列表;随后,在迭代回顾会(Sprint Retrospective)上,聚焦开发与公布全过程,探讨无关工作和合作的优化计划,以改善开发过程、进步开发品质。 开释无效沟通,激励畅所欲言。迭代回顾会通过剖析流程和合作中存在或潜在的缺点,帮忙团队辨认和解决抵触,是实现迭代晋升和增补能源的最佳实际,也是不可或缺的重要麻利环节。 但在真正的落地与实际中,许多团队总会因为成员参与度低、内容空洞不聚焦、氛围压抑流于形式等挑战,最终放弃会议。如何让宛转内敛的成员发声,言之有物地参加到迭代优化的建设中,困扰着每个回顾会得志的麻利团队。 其中,构建平安场域,赋予全员安全感是激发自主表白的第一步,也是最容易被忽视的要害技巧。 一、什么是平安场域?场域(Field)一词起源于物理学,后成为社会学的重要概念之一。布迪厄将场域定义为「地位间主观关系的一个网络或一个形构」。 它不是由肯定边界物突围的领地,也不等同于个别畛域,而是有内含力量的、有怄气的、有后劲的、绝对独立的社会空间,通常分为物理场域和心理场域两种。 场域实践指出,人的每一个口头均会被口头所产生的天文和行为环境所影响,而勒温的场能源实践则阐明,一个人的行为与集体主体、外在能源、空间环境及气氛等多重因素无关。 基于场能源实践,打造迭代回顾会的平安场域能够从三个维度解释: 建设与会者间的互相连结,给彼此安全感;发明与会者和空间环境的连结与舒适感;打造与会者与会议率领者的连结和信任感。关注迭代回顾会的场域价值,为麻利团队发明和保护一个高效的、有安全感的空间环境和气氛,能促成与会者间的良性互动,更聚焦地达成会议指标; 同时,平安场域所激励的情绪或能量回升,还能让会议流动起来,在保障会议指标顺利完成,提供迭代优化价值等方面都有重要意义。 二、如何打造回顾会的平安场域?疏导和打造场域应关注五大因素,他们既是场域的组成部分,也是场域的显化。 信息:大量的事实、想法、意见、观点、决策、口头计划等信息会在会议过程中浮现进去并一直变动,相互作用,彼此影响。能量/情绪:与会人的能量情况包含生机、情绪、精神状态等等,会间接影响场域,并最终作用于指标和后果的产出。空间:在心理场和物理场两个层面,为麻利团队营造一个凋谢、平安的空间,是会议无效产出的必要前提。关注/关系:包含会议引导者对与会者集体和会议产出的关注,以及与会者对议题、流程和后果的关注,通常是动态变化的。流程/工夫:流程的变动会间接带动场域的变动,并影响到其余四个因素。疏导场域的五大因素互相关联与作用,最终影响整个场域和会议后果。更具体地,发明和保护迭代回顾会的平安场域,能够从以下四个方面着手。 01 造就场域意识心理场域层面,会议组织者/主持人在会议过程中应联合上述五大因素,关注场域的动态变化,察看成员的状态和心理流动,并在必要时候提供支援,疏导会议向谐和、轻松、凋谢的方向进行。 在物理场域角度,麻利团队应器重会议环境、流程以及外在行为线索环境的搭建,尽可能帮忙与会者投入到迭代回顾的主题当中,取得沉迷式体验。 会议室的物理环境和设置视觉海报冲击,如主题欢送海报、总结海报等日程安排的连接入场考察的细节参加准则的阐明问题停车场的安顿流程中的工具规定与会人的着装和动作02 关注所有人教训表明,人们更偏向于在相熟的环境和个人中坦诚交换。也因而,营造平安场域的第一步就是「打消」陌生人。 花点工夫介绍在场的所有人,让与会者彼此相熟,包含那些在线上或角落里旁听,不参加探讨的搭档。别让会议空间里存在陌生人,是保护平安场域中不可漠视的技巧。 03 尊重不同声音无效的迭代回顾会欢送多元的倡议和意见;有安全感的场域也意味着所有成员能够自在表白,且所有声音都会被尊重和认真凝听,而不是被无理由驳回、批评或攻打。 有领导者在场的迭代回顾会议,或者须要一个可能激励成员怯懦发言的引导者,或者也能够思考采纳更能激发群体表白的创意会议模式。 场域的安全感来自于团队内自在的表白:容许并尊重各种声音,安全感就会升起;而当会议充斥着热烈的表白,场域安全感又会被进一步加强,进而造成良性的动静激励。 04 共创参加规定参加准则是指为了实现既定目标和产出,由团队成员独特承诺并违心恪守的行为准则。 同DoD与DoR相似,迭代回顾会的参加准则标准了会议发展和进行的规范,通过建设对立的共识和规定,确保会议能够融洽地、相互支持地实现。 麻利团队能够邀请所有成员一起制订规定,让每个人在参加探讨时取得安全感;在定期的会议教训加持下,继续优化和补充规定集,防止参加准则成为形式主义产物。 而在共创参加准则时,聚焦成员互动和具体行为,提出针对性的、非形象的阐明,更能施展参加准则的最大价值。 当回顾会上呈现震荡/抵触,或团队涉及敏感话题时,主持人做出踊跃疏导,让探讨回归到参加原则上,也能为平安场域的保护做出奉献。 # Liga 总结一个好的场域可能激发参与者的表白欲,建设成员间的谐和关系。 而基于平安场域发展的迭代回顾会能够赋予所有成员坦诚表白的勇气,成就更严密、更顺畅的合作,并成为麻利团队后退的外围能源。 理解更多麻利开发、项目管理、行业动态等音讯,关注咱们的sf账号-LigaAI~ 或者点击LigaAI-新一代智能研发合作平台,在线申请体验咱们的产品。

October 25, 2022 · 1 min · jiezi

关于程序员:SegmentFault-思否发布开源问答社区软件-Answer

ONES 旗下技术问答社区 SegmentFault 思否(下称“思否”)今日发表,正式对外开源其问答社区软件 Answer。 作为国内当先的新一代技术问答社区,思否始于「聚集体智慧,推动技术提高」的使命,始终为开发者提供学习、分享技术智慧的集结地。往年正值思否创建 10 周年,而思否也有了更大的现实——助力寰球的每个组织轻松构建本人的社区,帮忙更多行业凝聚个体智慧。Answer 应运而生。 **用 Answer 疾速构建你的用户问答社区** Answer 是一个高可扩大的开源知识型社区软件,任何组织与集体都能够收费应用 Answer 高效地搭建问答社区,用于产品技术问答、客户反对、用户交换等场景,让组织与用户之间、用户与用户之间更敌对地交换、学习和成长。 思否团队在社区建设上有着多年的积攒,他们将这些教训以及对技术社区倒退的思考融入到 Answer 的产品设计中。Answer 不仅具备搭建问答平台(Q&A Platform)的根底能力,更退出了标签内容治理、徽章与声望值体系等性能。 **Answer不止是问答平台** Q&A Platform 企业和组织能够通过 Q&A 平台,帮忙用户解决问题,促成社区沉闷。领域专家们能够在社区中奉献常识,验证信息的准确性,并为正确的信息投票,以此让社区中的信息放弃更新,值得信赖。 Organized 应用「标签」性能对内容进行治理,将问题和答案分类,使常识更结构化,更易于被找到。当然,社区成员也能够应用「搜寻」来疾速找到答案。 Integrations 利用「插件」和你喜爱的服务灵便配置你的社区,以此改善工作流程,更好地治理和倒退社区。 Gamification Answer 的声望值和徽章体系让问答社区更富裕趣味性,社区成员能够在单干中找到乐趣和成就感,从而让你的社区充满活力。 Answer Alpha 版本个性 值得注意的是,本次公布的是 Answer Alpha 版本,已反对的个性有:外围的发问、答复、评论性能通过投票进行内容品质的管制声望掂量用户的奉献和信赖等级现代化的响应式界面,桌面和挪动端都能应用 Answer 正式版将于 2022 年 12 月公布,接下来,Answer 团队将围绕以下方面开展社区的工作:优化装置和配置界面欠缺后盾治理性能反对多语言自定义模板款式 社区的力量远远超过成员个体的力量,思否社区聚拢了时代最须要的开发者。将来,思否心愿通过开源社区软件 Answer 与各行业的优良组织一起,建设一个更丰盛、凋谢、容纳、提高的社区生态。 Answer 欢送每一位开发者的参加和奉献,如果你对 Answer 的产品设计与社区倒退有任何想法和倡议,都能够在 GitHub 上找到开发团队,独特建设 Answer 社区。如果你喜爱这个我的项目,也欢送在 Github 上为它点亮 Star Answer 的我的项目地址:https://github.com/answerdev/... Answer 的我的项目官网:https://answer.dev/ 期待每一位开发者的参加!

October 24, 2022 · 1 min · jiezi

关于程序员:腾讯云的认证需要多少钱刚毕业考有用吗

每个人都想在毕业后大展宏图,找到一个好工作,做出一番事业,然而来到社会上才发现是本人想多了,高强度的工作、微薄的薪水、永远做不完的活,才是生存的现状,于是很多人都会谋求新倒退,而IT行业就是对于普通人来说,可能最快实现人生幻想的路线。 一方面,当初的社会,IT行业疾速倒退,各种新技术层出不穷、每年都须要大量的人才,来维持行业倒退;另一方面,当初的社会中,网络经济越来越发达,各行各业都将互联网作为本人的新阵地,心愿可能早早占据市场。 供应链的前端有需要,后端就须要提供资源,当初IT方面的人才能够说是十分的吃香,这个行业也始终在风口上,没下来过,很多人都会抉择报考这个业余,在毕业后,能取得的工资也不少,然而当一个货色变得多了,它的价格也就随之下来了,于是每个人都会想方法进步本人的竞争力,腾讯云认证就是对于刚毕业的大学生来说,最好的帮手。 腾讯云认证劣势 1、作为我国最早倒退云技术的企业之一,腾讯云在业界内是有很大的名气的,很多企业都是腾讯云的合作伙伴,抉择应用腾讯云,而且腾讯云的最多用户是个人用户,能够说客户是源源不断得,可能始终倒退上来。 2、想要永远有工作,就肯定要晓得什么是永远不会破产的行业,而腾讯就牢牢占据住了当初社会的两个热门行业,社交和游戏,毫不夸大地说,当初咱们每个人的手机上,或多或少都会有一两个腾讯的软件,能够说腾讯云的倒退是十分光明的。 3、对于刚刚毕业的学生来说,腾讯云的考试是十分敌对的,领有几个不同的档次,考生能够抉择适宜本人的,而且腾讯云的考试费用比拟便宜、每个考试都有两次机会,考试的工夫和地点也十分不便,在每月的最初一个周六、线上考试。 腾讯云认证费用 腾讯云的认证目前能够考的有三个,其中根底级的云从业者认证和入门级的技术认证,都是1200元,高级的技术认证是1800元,除此之外考生还须要另外购买学习视频,然而考试有两次机会,这个比其余的认证要好很多,如归考生没有通过考试,能够收费再考一次,其余的认证基本上只能考一次。然而很多人还是想顺利通过考试,于是会去寻找题库,来帮忙本人通过考试,有须要的人能够在认证大使上寻找对应题库。 腾讯云证书的事项 1、腾讯云的认证每个都有两年有效期,到期后须要从新再认证。 2、腾讯云的认证在考试通过后,能够在官网上支付,只有电子版的,纸质版须要考生本人打印。

October 24, 2022 · 1 min · jiezi

关于程序员:程序员节来参加活动滴

如题,拿喵程序员节来加入流动滴

October 24, 2022 · 1 min · jiezi

关于程序员:怎么获得思否猫

一步一步取得 公布文章能取得冲鸭!!!

October 24, 2022 · 1 min · jiezi

关于程序员:ggplot2绘图如果做出来的图颜色区分度不明显如何对数据进行转换

明天分享的学习笔记:异样绘图数据转换方法(对数法,评分法,踢值法,色彩法),用于对热图进行润饰。ggplot2中绘制热图时,有时候会遇到数据的组间差别太大,导致可视化后果不显著(色彩区分度较低),因而学习几种对非凡数据的解决办法,使热图出现的成果更好。 生成原始数据创立一组数据,蕴含4个不同的样本(a等4行),5个不同的变量(Grp1等5列),其中不同样本间的均值差别较大。 > data <- c(rnorm(5,mean=5),rnorm(5,mean=20),rnorm(5,mean=100),c(600,700,800,900,10000))> data <- c(rnorm(5,mean=5),rnorm(5,mean=20),rnorm(5,mean=100),c(600,700,800,900,10000))> #rnorm函数可能随机生成一组正态分布的数据> data <- matrix(data,ncol = 5,byrow=T)> #将数据转化为矩阵格局> data <- as.data.frame(data) #转化为数据框> rownames(data) <- letters[1:4] #行名设置为小写字母abcd> colnames(data) <- paste("Grp",1:5,sep="_") #列名设置为Grp+序号> data #查看一下以后的数据 Grp_1 Grp_2 Grp_3 Grp_4 Grp_5a 4.31371 6.520402 5.049561 5.013933 6.716523b 18.68553 19.702193 20.845860 21.102063 19.592703c 99.00071 99.310800 99.422325 101.114502 100.693449d 600.00000 700.000000 800.000000 900.000000 10000.000000转换数据模式刚刚创立的原始数据是4行5列的数据框,须要将其转化成相似id~value的长数据模式(行数变多,列数减小,理论数据表白内容雷同) 这种长数据用于后续的ggplot2作图应用,该转换过程的原理和办法我之前的笔记中有记录,欢送查阅。 > data$ID <- rownames(data) #增加新列,列的内容为以后数据框的行名> data_1 <- melt(data,id.vars = c("ID")) #将矩阵交融变成长类型(用于绘图,列数少,看起来又窄又长)> head(data_1) #查看以后数据的前几行 ID variable value1 a Grp_1 4.3137102 b Grp_1 18.6855323 c Grp_1 99.0007134 d Grp_1 600.000000 #在此能够发现这一个的值和后面的相比很大很突出。5 a Grp_2 6.5204026 b Grp_2 19.702193绘图后果利用ggplot函数绘制热图,能够发现下图中只有右上角的色彩比拟深,其余区域没有显著差异,这样的后果看不出差异性,须要对数据进一步转换。 ...

October 24, 2022 · 3 min · jiezi

关于程序员:excel表格常用函数

VLOOKUP(查找值,数据表,序列数,匹配条件) 在表格或数值数组的首列查找指定的数值,并由此返回表格或数组以后行中指定列处的数值。默认状况下,表是升序的。 ROUND(数值,小数位数) 返回某个数字按指定位数取整后的数字。 DATE(年,月,日) 返回代表特定日期的序列号。如果在输出函数前,单元格格局为“惯例”,则后果将设为日期格局。 DATEDIF(开始日期,终止日期,比拟单位) 次要用于计算两个日期之间的天数、月数或年数。其返回的值是两个日期之间的年\月\日距离数。 MID(字符串,开始地位,字符个数) 返回文本字符串中从指定地位开始的特定数目的字符,该数目由用户指定。 LEFT(字符串,字符个数) 基于所指定的字符数返回文本字符串中的第一个或前几个字符。 RIGHT(字符串,字符个数) 依据所指定的字符数返回文本字符串中最初一个或多个字符。 TEXT(值,数字格局) 将数值转换为按指定数字格局示意的文本。 EXACT(字符串,字符串) 该函数测试两个字符串是否完全相同。如果它们完全相同,则返回 TRUE;否则,返回 FALSE。函数 EXACT 能辨别大小写,但疏忽格局上的差别。利用函数 EXACT 能够测试输出文档内的文本。

October 24, 2022 · 1 min · jiezi

关于程序员:美国断供中国高端显卡对程序员也许不是坏事

本文首发自「慕课网」,想理解更多IT干货内容,程序员圈内热闻,欢送关注! 断供Ta又双叕来了。8月31日,显卡巨头英伟达和AMD公司独特示意,已被美国政府告知,进行向中国区客户进口局部高性能GPU芯片,理由是“避免被用于军事用处”。须要阐明的是,这里的GPU并不是咱们常见的显卡,因而不必放心当前玩不了游戏。禁令中的几类GPU如A100等次要利用于超算、人工智能、图像识别、边缘计算以及生物医疗等工业畛域。性能,大略是一般民用显卡的几十倍以上。所以更不须要奉献出你的陈年老卡。最近在芯片畛域,大洋彼岸的动作显著放慢。仅仅是上个月,美国商务部就公布了一个所谓的“最终规定”,对包含EDA软件在内的四项关键技术,施行进口管制。再往前的7月6日,彭博社报道,美国政府在游说荷兰阿斯麦(ASML)公司,打算进一步扩充光刻机禁售范畴,连低端的DUV光刻机都禁止卖给中国。EDA是“芯片之母”,光刻机是“芯片之父”,加上高端芯片本人,芯片这一家,算是被美国给制裁完了。一招鲜,吃遍天,不论是断供、实体清单、禁运,还是贸易封闭、惩罚性关税,其内核都是统一的,就是限度中国高端产业倒退。那怎么办?短期内,咱们能够利用禁令失效的缓冲期,加紧囤货,起码不至于一下子没米下锅。就像华为在禁令失效前利用6个月的过渡期,屯了据说有上千万张芯片,足足撑过了两年的产品周期。但长期来看,自研自产才是惟一的前途,因为你不晓得美国政府的下一个禁令何时到来。失去国外高端显卡的反对,会有短暂的阵痛期,但却为国内的芯片厂商提供了贵重的生存空间。能不能支棱起来,就看各位的本事了。就拿上个月壁仞科技刚刚公布的壁仞100来说,纸面算力曾经破了寰球的算力记录。尽管综合性能上还有待晋升,但好歹能看见一丝曙光了。只有能放松这个工夫窗口,做出品质过硬的产品,这样即使美国再放开禁令,也无奈阻止人们抉择更物美价廉的那一个。全球化二十年,咱们躺在温床里太久,差一点就丢失了自研的能力。这次美国提前把这个疮疤揭开,兴许不是好事。只有大力发展国产芯片, 加大人才的投入,买通上下游链路,才有机会诞生本人的芯片巨头。靠山山会倒,靠人人会跑。如许痛的领悟。在大力发展外乡芯片这一点上,寰球各大经济体常见的没有一致。8月25日,美国发表施行《2022芯片和科技法案》,为半导体公司提供的527亿美元的资金补贴,25%的投资税收抵免,1000多亿美元的迷信补贴等。美国商务部也颁布了高达500亿美元的芯片投资打算。往年2月份,欧盟对芯片行业追加150亿欧元投资,用来进步芯片产能,缩小对芯片进口的依赖。8月初,韩国颁布《国家尖端策略产业法》,增强搀扶半导体产业,三星、SK海力士等科技公司承诺向韩国外乡投资340万亿韩元(约2600亿美元)。印度、日本等国也纷纷出台政策,投资外乡半导体产业。这是一场没有硝烟的和平,却暗流涌动,刀刀致命。中国在芯片上的投入也曾经继续多年。仅依据半导体协会 SIA 的数据,中国从 2014 年到 2030 年在芯片畛域总投资就超过 1500 亿美元。另有从2014年以来,对集成电路产业累计 3387 亿人民币的募资额,中芯国内加码 517 亿元在天津建芯片工厂等大动作。除了资金补贴,咱们国家仍旧施展了“集中力量办小事”的传统美德,各种政策陆续下马,鼎力培植芯片、集成电路、物联网等高新技术产业的倒退。这样的刺激有用吗?当然有,而且十分奏效。毕竟在芯片行业,咱们还有着两个得天独厚的劣势——寰球最宽泛的电子制作产业链,与寰球最大的市场需求根底。有了肥沃的土壤,加上先天的浇灌,中国半导体设施市场规模从2017 年的82.3 亿美元晋升至2021 年的296.2 亿美元,一跃成为寰球半导体设施的最大市场。(SEMI数据)不过,与三大国内巨头相比,咱们的国内厂商仍有差距,次要是在工艺水平上。目前国内三大巨头能反对的最先进工艺曾经达到2nm。而国内厂商中,华大九天仅有一款反对5nm,思尔芯反对10nm制程,其余仅反对28nm制程。所以要想彻底解脱“卡脖子”,咱们仍旧任重而道远。有个名人说过,二十一世纪想要倒退靠什么?人才。市场升温后,不仅是芯片企业开始扩充产能,加紧研发,许多互联网大厂如百度、快手等也雷厉风行,退出到这个赛道中来,开启了“抢人大战”。前不久,猎聘公布了《2022上半年中高端人才待业趋势报告》:往年的电子技术/半导体/集成电路等行业颇具竞争力,招聘均匀年薪为25.48万,高于计算机软件、IT/系统集成等行业。另依据翰德公布的《2022人才趋势报告》显示,2022年跳槽薪酬涨幅榜上,半导体行业薪水涨幅超过了50%,位居首位。能够预感的是,随着市场对芯片/半导体行业的关注,吸金效应凸显,会有越来越多的人涌进这个赛道。一个千亿级市场正在孕育中。中国互联网高速倒退的十几年年,咱们重大偏科在软件畛域,一度疏忽了等同重要,甚至意味着基础设施的硬件,这个教训是惨痛的。但亡羊补牢,为时未晚。话说到这里,对于非集成电路业余出身,以及更宽泛的一般的互联网从业者乃至大学生来说,这股热潮中有什么值得关注的机会点吗?当然有!芯片产业不是一个独自的概念,而要放在一个残缺的工业生态中去看。这其中既包含芯片自身的设计与制作、上下游产业链,也包含产品研发、利用与落地、软件适配等等。如咱们所熟知的生产电子、新能源汽车、物联网/嵌入式设施,都是在整个芯片工业体系中十分重要的环节。从下面列举的政策也能看出,咱们倒退的重点不仅仅是繁多产业,而是对于工业互联网行业整体的促成。所以,你有没有大干一场的想法?欢送关注「慕课网」,发现更多IT圈优质内容,分享干货常识,帮忙你成为更好的程序员!

October 24, 2022 · 1 min · jiezi

关于程序员:查漏补缺强软弱虚引用

强援用强援用:Object o = new Object()软援用:new SoftReference(o);弱援用:new WeakReference(o);虚援用:new PhantomReference(o,Queue);本次会用到命令-XX:+PrintGCDetails会打印 [GC (Allocation Failure) [PSYoungGen: 29680K->4080K(29696K)] 73163K->72619K(98304K), 0.0245660 secs] [Times: user=0.15 sys=0.02, real=0.03 secs] [Full GC (Ergonomics) [PSYoungGen: 4080K->3557K(29696K)] [ParOldGen: 68539K->68498K(68608K)] 72619K->72055K(98304K), [Metaspace: 8977K->8977K(1056768K)], 0.1491246 secs] [Times: user=1.02 sys=0.01, real=0.15 secs] 援用类型什么时候回收 强援用强援用的对象,只有 GC root 可达,不会被回收,内存不够用了,会抛出 oom 软援用:SoftReference软援用对象,GC root 中,只有软援用能够达到某个对象 a,在 oom 之前,垃圾回收会回收对象 a 弱援用:WeakReference弱援用,GC root 中,youngGC 就回回收c 虚援用:PhantomReference虚援用,必须配合 ReferenceQueue 应用,代替finalize 强援用强援用就是咱们最罕用的创建对象的形式Object o = new Object(),只有援用还在,就不会被回收,堆内存占满就间接抛出OOM。然而当指向null后,在gc时就回回收对应内存 // Thread.sleep(10000);// strongReference();// -XX:+PrintGCDetails -Xms100m -Xmx100m private static void strongReference() throws InterruptedException { int size=100000; Element[] arr= new Element[size]; try{ for (int i = 0; i < size; i++) { arr[i]=new Element(i); Thread.sleep(1); //arr[i]=null; } }catch (Throwable e){ for (int i = 0; i < size; i++) { if(arr[i]==null){ System.out.println("null number:"+i);//null number:84318 break; } } } } ...

October 24, 2022 · 2 min · jiezi

关于程序员:R语言中ggplot2绘制热图美化热图流程

ggplot2是一款弱小的绘图R包,明天的笔记内容是学习应用ggplot2来绘制一幅热图,并进行丑化调整。须要加载的包有两个:ggplot2、reshape2。如果你也想跟着笔记一起学习,请拜访链接下载脚本: https://down.jewin.love/?f=/Rscript/ 拜访下面的网址即可下载应用,也能够间接在Rstudio中运行上面这一句代码,则会主动在当前工作门路下生成11副PDF图片后果,稍加批改输出数据就能生成其余的热图。 source("https://down.jewin.love/?f=/Rscript/heatmap.R")接下来利用示例数据进行简略的流程介绍: 如何绘制一幅热图?后期筹备与数据创立首先,须要装置并加载这两个R包。 install.packages("ggplot2")install.packages("reshape2")library(ggplot2)library(reshape2)创立示例数据,并输入数据查看是否失常。 > data <- c(1:6,6:1,6:1,1:6, (6:1)/10,(1:6)/10,(1:6)/10,(6:1)/10,1:6,6:1,6:1,1:6,6:1,1:6,1:6,6:1)> data #查看以后数据 [1] 1.0 2.0 3.0 4.0 5.0 6.0 6.0 5.0 4.0 3.0 2.0 1.0 6.0 5.0 4.0 3.0 2.0 1.0 1.0 2.0 3.0 4.0[23] 5.0 6.0 0.6 0.5 0.4 0.3 0.2 0.1 0.1 0.2 0.3 0.4 0.5 0.6 0.1 0.2 0.3 0.4 0.5 0.6 0.6 0.5[45] 0.4 0.3 0.2 0.1 1.0 2.0 3.0 4.0 5.0 6.0 6.0 5.0 4.0 3.0 2.0 1.0 6.0 5.0 4.0 3.0 2.0 1.0[67] 1.0 2.0 3.0 4.0 5.0 6.0 6.0 5.0 4.0 3.0 2.0 1.0 1.0 2.0 3.0 4.0 5.0 6.0 1.0 2.0 3.0 4.0[89] 5.0 6.0 6.0 5.0 4.0 3.0 2.0 1.0将输出的data数据转化成数据框格局,并更改列名和行名,查看前五行数据察看是否失常。 ...

October 23, 2022 · 2 min · jiezi

关于程序员:初识算法之美

本篇是学习了《趣学算法(第2版)》 第一章之后总结的。 对算法的了解:计算机尽管能够高效的进行运算,然而有很多问题拼的不是算力,而是策略。如果没有策略的去计算,那再强的运算能力也只能称为“蛮力”。策略就是帮忙咱们如何用更少的计算步骤、更快的速度去运算出后果。换言之,策略就是你设计算法的思路,目标只有一个就是:快人一步。 计算机不同于人脑,人脑面对问题能够先去“察看”、“剖析”,而后把简单转化成简略问题(跟数学题一样,算法就是简便的解题思路)。目前在绝大多数畛域计算机还不具备这个性能,来到了人脑,计算机还只是一个人的应用工具罢了。 算法有两个衡量标准: 工夫长短(工夫复杂度)占用内存大小(空间复杂度)先瞻望一下学习历程: 算法学习是一个循序渐进的过程,常常训练解题能力,逐渐积攒解题办法策略,最初内化成本人的常识,灵活运用去应答新的问题。 “初极狭,才通人。复行数十步,恍然大悟。”,挺喜爱这句话 算法知识点高斯算法(倒序相加)数列求和算法题目 求: $S_n = 1 + 2 + 2^2 + 2^3 + ... + 2^{63}=$ 该函数属于爆炸增量函数。 做题思路办法一公式法 如果还记得高中数学常识,不难发现,这是一个等比数列求和问题,$a_1 = 1,公比q = 2,n = 64$ 等比数列求和公式:$$S_n = a_1 * \frac{1 - q^n}{1 - q} ,(q ≠ 1)$$ 本文暂不解说公式推导过程 代入公式,下面的式子 = $1 * \frac{1 - 2^{64}}{1 - 2} = 2^{64} - 1 = 18446744073709551615$ ,从而转化问题,解题 办法二遗记办法叫什么名字了,次要原理就是销项,使问题转化成第一项和最初一项的差。 依据原式,等号两边同时乘以2,得式子②$2S_n = 2 + 2^2 + 2^3 + ... + 2^{63} + 2^{64}$ ...

October 23, 2022 · 1 min · jiezi

关于程序员:什么你不知道wget可以这样用

导读本文将介绍wget的根本应用办法,和一些高级用法,比方递归下载等。对于常常在FTP网页下载数据的读者来说,能够说是必备的技能之一。 1. 介绍Wget 是由 GNU 我的项目创立的计算机工具。您能够应用它从各种 Web 服务器检索内容和文件。这个名字是万维网和get这个词的组合。它反对通过 FTP、SFTP、HTTP 和 HTTPS 下载。 Wget 是用可移植的 C 语言创立的,可在任何 Unix 零碎上应用。也能够在 Mac OS X、Microsoft Windows、AmigaOS 和其余风行平台上实现。 2. 装置Ubuntu 18.04sudo apt-get install wgetCentOS 7sudo yum install wget3. 命令3.1. 单个文件# 下载单个文件到以后文件夹wget https://example.zip # wget url3.2. 多个文件须要将多个件的url写到一个txt文件中,再利用wget下载 # example.txthttps://example1.ziphttps://example2.ziphttps://example3.zip下载下面example.txt文件中的文件wget -i example.txt3.3. 命名给下载文件重命名wget -O example.zip https://ttt.zip # 利用-o 选项,重命名文件为`example.zip`3.4. 指定目录将下载文件保留到指定目录wget -P documents/archives/ https://example.zip# 利用-p 选项,将文件保留到`documents/archives/`目录下3.5. 限度下载速度wget --limit-rate=500k https://example.zip# 将下载速度最高限度为 500k3.6. 重试尝试次数wget -tries=100 https://example.zip# 设置从新连贯次数为1003.7. 后盾下载当下载的文件十分大的时候,能够将下载工作搁置到后盾 wget -b https://example.zip3.8. FTP下载wget --ftp-user=YOUR_USERNAME --ftp-password=YOUR_PASSWORD ftp://example.com/something.tar--ftp-user:FTP用户名--ftp-password:明码3.9. 断点续连当再下载途中,链接中断时,能够应用-c选项,进行从新连贯,持续上次下载。 ...

October 22, 2022 · 1 min · jiezi

关于程序员:Sublime-Text4-常用插件安装与问题解决

前言Sublime Text是一款非常好用的编辑器。其轻量,启动快,插件丰盛等特点吸引泛滥爱好者。但其不开源,保护更新比拟迟缓。在VScode等一众新兴编辑器比照下,Sublime Text逐步远离开发者的眼帘。其很多插件也很久没有失去更新。但作为一款轻量化的编辑器,用来看代码或者记笔记还是个不错的抉择。 无奈应用package control下载插件关上Sublime Text package control装置插件(ctr+shift+p,点击install)时呈现There are no packages available for installation解决办法: 发现是因为http://packagecontrol.io/channel_v3.json 获取失败 此时手动下载channel_v3.json文件(自行百度谷歌) 关上Preferences->Package Settings ->Package Control ->Settings-User将channels参数批改老本地文件门路. Markdown写作装置插件MarkdownEditingCtrl+Shift+p, 输出Install Package,输出MarkdownEditing, 回车装置 装置插件MarkdownPreviewCtrl+Shift+p, 输出Install Package,输出Markdown Preview , 回车装置而后在Preference->Key Bindings中输出如下设置,这样就能够应用快捷键ctrl+q在浏览器中预览markdown文件{ "keys": ["alt+m"], "command": "markdown_preview", "args": {"target": "browser", "parser":"markdown"} } 插件Markdown Editing页面设置问题: 将Preference: MarkdownEditing Setting: Default对应文件内容复制到Preference: MarkdownEditing Setting: User中在Preference: MarkdownEditing Setting: User中批改 “color_scheme”: “Packages/MarkdownEditing,这里批改主题背景// Layout“draw_centered”: false, // 改为false,原始值为true“word_wrap”: true,“wrap_width”: 120, // 每行字符数下限“rulers”: [],装置插件LiveReload这个插件次要是用于实时刷新的在sunblime只有ctrl + s保留了文件,就能在浏览器实时刷新。不必手动刷新文件Ctrl+Shift+p, 输出Install Package,输出LiveReload, 回车装置装置胜利后, 再次Ctrl+shift+p, 输出LiveReload: Enable/disable plug-ins, 回车, 抉择Simple Reload ...

October 22, 2022 · 1 min · jiezi

关于程序员:什么是经销商管理系统企业经销商管理系统优势有哪些

企业想要疾速倒退本人的经营业务、打响品牌热度,就须要建设经销商单干体系。利用数字化经销商管理系统,能够更疾速、便携地实现经销商信息管理、机制调配形式、营销进度跟踪等,帮忙经销商以数字化伎俩解决经销商市场推广过程中的各类问题。经销商管理系统可帮忙企业依照客户的全周期生命体系造成一套残缺的客户跟踪体系,还能够帮助企业搭建建设经销商数据库、客户数据库、我的项目跟进库、产品营销库等,解决企业在经营流动中会遇到的各种问题。如开利网络经销商管理系统,便可帮助企业“人分清、钱明显”,改善企业经营难题。

October 22, 2022 · 1 min · jiezi

关于程序员:Flutter-SDK-自带的-10-个最有用的-Widget

Flutter SDK 自带的 10 个最有用的 Widget 前言在这里我将分享最有用的 Flutter SDK 自带 Widget 原文 https://medium.com/@kaushikid... 1. Slider咱们应用滑块小部件来更改值。因而,须要将值存储在变量中。这个小部件有一个滑块类,它须要 onChanged ()函数。当咱们扭转滑块地位时,这个函数将被调用。 示例代码 Slider( value: _value.toDouble(), min: 1.0, max: 20.0, divisions: 10, activeColor: AppColors.mainColor, inactiveColor: Colors.grey.shade400, label: 'Set volume value', onChanged: (double newValue) { setState(() { _value = newValue.round(); }); }, semanticFormatterCallback: (double newValue) { return '${newValue.round()} dollars'; })),2. Range Slider它是一个高度可定制的组件,能够从一系列值中抉择一个值。它能够从一组间断的或离散的值中进行抉择。 示例代码 RangeSlider( values: _currentRangeValues, min: 0, max: 100, activeColor: AppColors.mainColor, inactiveColor: Colors.grey.shade400, divisions: 10, labels: RangeLabels( _currentRangeValues.start.round().toString(), _currentRangeValues.end.round().toString(), ), onChanged: (RangeValues values) { setState(() { _currentRangeValues = values; }); },3. Single Chip芯片是一个 Material 设计小部件,内置 Flutter 。它能够简略地形容为一个蕴含图标和文本(通常是背景中的圆角矩形)的紧凑元素。它能够有很多用处,比方它能够简略地用作一个按钮,用 CircleAvatar 和文本示意用户,或者在博客文章中应用主题标签等等。 ...

October 22, 2022 · 4 min · jiezi

关于程序员:为什么说华为云的认证是目前最成熟的认证

对于打工人来说,找到一个待遇好、薪资高的工作,在岗位上稳固地倒退,升职加薪,走上人生巅峰,然而很多人往往在第一步就失败了。当初的社会对人才的要求很高,只有领有高精尖技术的人,才能够在面试中怀才不遇,在行业内发光发热,尤其是在IT这个永远充斥着新兴技术的行业内,每个人都必须要一直晋升本人,永远放弃着高超的技术,才能够始终被公司器重,取得好的待遇和薪资。 对于从事IT行业的人来说,技能证书就是最快能证实本人能力的货色,于是很多人都会考取华为云的技能认证,来帮忙本人晋升技能,取得好的岗位和丰富的薪资待遇。然而这个考试理解过的热都会感觉难度很大,而且考试的费用也很高,综合下来考一次须要费不少精力。 其实是因为华为云起步晚、倒退快、认证早、零碎残缺,曾经造成了一套残缺的认证形式,每个人都能够依据本身的状况抉择对应的认证,而且在认证的过程中都能够失去能力晋升,再加上华为云的技术很高超、服务好,所以对考生的要求很高。 华为云认证劣势 1、华为云的技术好,目前曾经达到了世界第五,全国第二的地位,然而其实华为云的私有云是在2017年才开始做的,华为云的提高速度可想而知,而且当初还在一直地晋升、倒退,将来的前景是十分好的。 2、华为云的民众口碑好,置信近几年,大家也都能感触到,华为这个品牌在国内的口碑越来越好,名声越来越大,很多人都会抉择购买华为的产品,甚至很多政企单位都会把本人的我的项目交给华为云来做,慢慢地华为曾经成为了一个出名的企业。 3、华为云的认证受认可水平高,有了业余的技术和良好的口碑,华为云的认证受认可水平也是十分高的,取得了该认证后,找到待遇良好、薪资丰富的工作,概率是十分高的,曾经工作的人,有机会取得升职加薪。 华为云认证等级 1、HCIA认证华为云的高级工程师认证,次要针对的是在校学习IT技术的学生,对华为云有趣味,想简略理解华为云的人,通过学习考生能够把握对于华为云产品的基础知识,取得解决华为云产品简略的搭建、运维等能力,可从事云产品销售、云产品经理、简略的技术工作等岗位。 2、华为云HCIP认证这是华为云认证中综合价值最高的,高级工程师认证,证实持证人能服务、解决华为云产品相干的问题,比拟适宜有技术能力的人,有肯定的难度,考试波及的常识内容也有肯定难度;考试费用是300美元。 3、华为云HCIE 认证这个证书的难度最高,然而其综合价值不太高,专家认证分支下只有架构一个分类方向,适宜能对华为云产品进行业务与利用架构设计、优化与运维能力的云上解决方案专家;考试费用是300美元,但在这之外还须要再报考试验考试。 备考办法 如果间接从官网报名会节约很多工夫和金钱,报名费原本就是挺大一笔了,还有学习工夫,相比之下不如去找培训机构,华为官网上就有很多和单干的机构,小编举荐认证大使,他们家的价格非常低,是我所知最低的了,另外他们还会提供题库,原题覆盖率很高,过后我把题库刷了三四遍,一次就通过了考试。如果您有需要的话,能够去他们官网上看看,或者私信小编。 

October 21, 2022 · 1 min · jiezi

关于程序员:机器学习基础概念

训练集用来训练,构建模型 验证集在模型训练阶段,用来测试模型的好坏 测试集等模型训练好后,用来评估模型的好坏 监督学习有标签的数据 无监督学习没有标签的数据 半监督学习有监督学习、无监督学习相结合的一种学习形式,用来解决一小部分带标签的数据、一大部分无标签的数据进行训练和分类的问题 利用回归预测 分类数据带有标签,属于有监督学习 1、图像识别2、垃圾邮件的辨认3、文本分类 聚类数据无标签,属于无监督学习 1、回归:预测数据为连续型数值2、分类:预测数据为类别型数据,并且类别已知3、聚类:预测数据为类别型数据,并且类别未知

October 21, 2022 · 1 min · jiezi

关于程序员:PyTorch张量操作详解

前言 PyTorch 建设在张量之上,PyTorch 张量是一个 n 维数组,相似于 NumPy 数组。如果对 NumPy 较为相熟,咱们会在应用张量时看到语法上的相似之处: 在本节中,咱们将学习如何定义和更改张量,将张量转换为数组,以及在计算设施之间挪动张量。 定义张量数据类型 默认张量数据类型是 torch.float32,这是张量运算最罕用的数据类型。 定义一个具备默认数据类型的张量: x = torch.ones(2, 2)print(x)print(x.dtype)定义张量时指定数据类型: x = torch.ones(2, 2, dtype=torch.int8)print(x)print(x.dtype)更改张量的数据类型 咱们能够应用 type() 办法更改张量的数据类型: x=torch.ones(1,dtype=torch.uint8)print(x.dtype)更改张量数据类型: x=x.type(torch.float)print(x.dtype)将张量转换为 NumPy 数组 咱们能够十分不便地将 PyTorch 张量转换为 NumPy 数组。 x=torch.rand(2,2)print(x)print(x.dtype)y=x.numpy()print(y)print(y.dtype)将 NumPy 数组转换为张量 import numpy as npx=np.zeros((2,2),dtype=np.float32)print(x)print(x.dtype)y=torch.from_numpy(x)print(y)print(y.dtype)在设施之间挪动张量 默认状况下,PyTorch 张量存储在 CPU 上,PyTorch 张量能够在应用 GPU 来减速计算。这是张量与 NumPy 数组相比的次要劣势。为了利用这一劣势,咱们须要将张量挪动到 CUDA 设施上,咱们能够应用 to() 办法将张量挪动到其它可用设施上。 x=torch.tensor([1.5, 2])print(x)print(x.device)if torch.cuda.is_available(): device = torch.device("cuda:0")x = x.to(device)print(x)print(x.device)device = torch.device("cpu")x = x.to(device)print(x)print(x.device)device = torch.device("cuda:0")x = torch.ones(2,2, device=device)print(x)在本节中,咱们首先定义了一个张量,取得了张量类型,并扭转了它的类型。而后,咱们将 PyTorch 张量转换为 NumPy 数组,而后进行相同的转换操作。同时,咱们还介绍了如何应用 type() 办法更改张量数据类型。而后,咱们学习了如何应用 numpy() 办法将 PyTorch 张量转换为 NumPy 数组。 ...

October 21, 2022 · 1 min · jiezi

关于程序员:大厂产品为何集体下架

快手一个 30 多人的产品团队每月开销上百万,其中技术、产品和经营是开销大头。如果碰上产品商业化能力不行,那这就是铁亏。昨天看了Tech星球发表的一篇文章,说的是各互联网大厂集中下架 60 多款 App 的事儿,有些感想。不可否认,互联网曾经过了最激进的期间,尤其是过来十年以挪动互联网为代表的这一轮技术周期。接下来,简直所有的互联网企业都会关注老本和效益。说白了,要赚稳当的钱并好好活下去。 而那些烧钱的产品、业务、部门,则大概率都会关停并转。光是往年,腾讯就曾经下架了包含游戏在内的 40 多款 App,其中不乏 QQ 堂这样的元老级产品。除此之外,其余大厂也都在进行同样的操作,产品下架意味着团队遣散,对应就会呈现人员缩减。我晓得,很多人看到这样的信息肯定会产生焦虑,认为互联网是不是不行了?找工作是不是更难了?会不会面临裁员就业了? 这里,我想说几个外在的逻辑关系。先说很多人关怀的裁员和失业问题,以及应答策略。对于企业来说,他们会优先从本身立场登程进行决策,在面对倒退危机时,开源节流、壮士断腕、集中火力就会成为优先思考。这种影响首先会辐射到边缘业务和产品以及摸索型我的项目上,间接关停就是解决方案,以此释放出来的资源能够投入到主营业务上,而多余的资源则对外开释。这里说的对外开释,其实也就是裁员。 被裁员的对象通常合乎这么几个特色,一线螺丝钉、高老本中层、多余的高层。 因而,要想防止本人陷入这样的窘境,至多有这么几件事能够做。 第一,抉择公司和业务时尽量避开边缘部门和摸索创新性业务,比方去主营电商业务的公司做社交产品。 可能有人会说了,没方法啊,有时候选择权不在本人,能找到工作就不错了,哪还能挑三拣四。不过我想说,这种破罐子破摔的思维肯定会害人不浅。没抉择的前提肯定是没本事,而没本事的起因就是学习和实际能力不行。不论是公司还是社会,都是典型金字塔构造,越往上,能包容的空间就越小。当他人奋力往上爬的时候,你还在原地踏步,更好的工作机会天然就不会属于你,这是事实。所以,别再埋怨工作不好找,这是从外界找起因。先看看本人有什么,从外在找问题。糊里糊涂过上来是一种抉择,精明策划过上来也是一种抉择。抉择不同,后果不同。 第二,尽早建设本人的职业标签,尽快找到本人的要害地位,尽力打造本人的不可替代性。 职业标签、要害地位、不可替代性,这三点是一个成熟业余且有独特价值职场人的标配。职业标签是业余能力的体现,SaaS 产品专家、电商供应链产品专家、数据产品专家、搜寻和策略产品专家等,这都是职业标签。什么都会,什么都不精,是不可能造成职业标签的,也就无奈取得第二个劣势,要害地位。要害地位是你所在部门和公司的岗位,不肯定是领导,但肯定是一个不可或缺的角色。比方,负责搭建公司后盾业务零碎的产品经理,对整体构造和细节是最理解的那个人。 取得了要害地位的前提是职业标签,而取得要害地位后就能进而取得第三个劣势,不可替代性。遇上公司裁员,可能会裁掉一线大头兵,但不会裁掉处于要害地位的人。铁打的营盘,流水的兵,只有外围还在,就能够持续成长。职业标签、要害地位、不可替代性,评估一下本人有没有,缺不缺。问题找到了,才有造成解决方案的可能性。 第三,一直为本人打造优质的信息和人脉渠道,你能够不喜爱圈子,但你不得不混圈子。 任何一个畛域都会有对应的圈子,那里汇集了人、信息、机会,越是业余的圈子,这三方面的品质就越高。应届生找工作靠校招,工作几年后找工作靠社招,工作多年后找工作靠敌人,了解了这一点,你就晓得信息和人脉渠道有多重要了。不晓得你们有没有一种感觉,这几年世界变动很快,这种变动带来了太多的不确定性,让本来的稳固得以突破。有的人认为这是危机,还有的人认为这是机会。要我看,越是不确定性加强的危机时刻,可摸索的机会其实就更多。 起因很简略,稳固格局的建设意味着机会窗口的敞开,而稳固被突破,阐明机会窗口的从新关上。 我对将来还是持有乐观态度的,即使寒气逼人,咱们仍旧能够领有一颗炽热向前的心田。 加油!

October 21, 2022 · 1 min · jiezi

关于程序员:机器学习开篇之路

《底层逻辑》把智慧分为三个档次:博弈、定力、抉择。 博弈:代表你要用双赢的思维,去博得你抉择赛道的胜利。 定力:代表你要动摇本人抉择的赛道,不随便更换,来博得长期的红利。 抉择:代表你的抉择要能顺应时代的趋势,做正确的事要比正确的做事更重要。 而这个时代的趋势,抉择“机器学习”这个赛道就是正确的事,可能远远比你在工程畛域去正确的做事,能播种更大的时代红利。让我产生这个想法,也是本人在招聘市场看到的景象,咱们项目组要同时招聘Java工程师和算法工程师,从薪资、教训、倒退三个方向来看,算法工程师这个职位都是完胜的。 薪资:Java工程师的顶薪只是算法工程师的起薪。教训:Java工程师市场供应远远大于需要,企业筛选人才的规范也就高了,不仅要毕业学校好,还要有大厂经验。而算法工程师,显著市场需求大于供应,有名校和大厂毕业的就更少了,企业筛选人才的范畴少了,要求天然不会有这么高。倒退:算法这个行业更看重你底层的功底和能力,将来更重视你思维逻辑和算法教训;而不像工程可能还存在拼膂力的过程,工作缓和,须要你去拼工夫来实现工作量。 尽管如此,然而要你再在一个新的畛域从新开始时,你仍然会纠结和徘徊,再三比照和衡量得失。时代的趋势在不停向前倒退,大的方向其实大家心里都或多或少有所理解,那就从此刻开始扭转吧,人生最好开始的时刻要么在10年前,要么在此刻。 我了解的“机器学习” 机器学习学的是输出和输入之间的映射关系,这种映射关系最初会以模型的模式展示。那么模型就能够示意为:输入输出合乎的概率分布,或者输入输出之间的数量关系。从数据的角度看,如果这个模型能够用一组无限且固定数目的参数齐全刻画,求出的模型就是参数模型;反过来,不满足这个条件的模型就是非参数模型。 参数模型 参数模型劣势在于只用大量参数就能够残缺地刻画出数据的概率个性,每个参数都具备明确的统计意义。经典的数学模型包含:典型概率分布,离散变量的二项分布B(n,p)只蕴含两个参数,别离代表:独立反复试验的次数和每次试验中事件产生的概率。 为什么参数模型中,无限的参数就可能形容有限的数据呢?来源于超强的先验假如,所有数据合乎特定类型的概率分布。在理论的学习工作中,咱们并非对问题无所不知,通常都具备肯定的先验常识。先验常识并不源于对数据的察看,而是先于数据存在,参数模型正好就是先验常识的体现和利用。 参数模型尽管简略实用,但其失去的论断就肯定可信?参数模型的可信度依赖于先验常识的可信度。如果先验常识可信度自身就不符合实际,那么不论训练数据集的体量多大,学习算法的性能多强,学习进去的后果都会与事实真相背道而驰,南辕北辙。当对所要学习的问题知之甚少的时候,就不要应用先验信息。 非参数模型 不依赖于先验教训,齐全靠数据进行学习失去的模型就是非参数模型。非参数模型意味着模型参数的数目是不固定的,并且极有可能是无穷大,这决定了非参数模型不可能像参数模型那样用固定且无限数目的参数齐全刻画进去。非参数模型不存在对于数据潜在模式和结构化个性的任何假如,数据的所有统计都源于数据自身,所见即所得。因而比照参数模型,非参数模型的时空复杂度都会比参数模型大得多。但能够证实的是,当训练数据趋于无穷多时,非参数模型能够迫近任意简单的实在模型。 更零碎和业余的概念 非参数模型能够了解为一种部分模型。在部分上,类似的输出会失去类似的输入,而全局的散布就是所有部分散布的叠加。参数模型具备全局的个性。所有数据都满足对立的全局散布,一组全局散布的参数就能够示意所有的数据。从模型结构的角度来看,参数模型对应的就是数据模型,非参数模型对应的就是算法模型。驰名统计学家布雷曼,最看重的就是学习算法从数据中获取有用论断和展现数据法则的能力。从一点登程,将输出x和输入y的关系看成黑盒。数据模型认为这个黑盒里装着一组未知的参数,学习的对象是这组参数;算法模型则认为这个黑盒里装着一个未知的映射函数,学习的对象就是这个映射函数。 数据模型最典型的办法是线性回归,输入后果示意为输出特色的线性加权组合,算法通过训练数据来学习权重系数。算法模型最典型的办法是随机森林算法,随机森林是一种集成学习办法,形成这座森林的每一颗树都是决策树,每一颗决策树都用随机选取数据和待选特色结构进去,再依照多数遵从少数的准则从所有决策树的后果中失去最终输入。 决策树自身是具备较好的可解释性的数据模型,它示意的是几何意义上的对特色空间的划分,然而精确度却不堪现实。随机森林解决了这个问题:通过综合应用建设在同一个数据集上的不同决策树达到出乎意料的良好效果,在精确度上晋升了数倍,但换来的就是可解释性的降落。从学习办法上看,数据模型和算法模型具备雷同的实质。此外还有一种针对学习对象的划分形式,就是生成模型和判断模型之分。 生成模型:学习的对象是输出x和输入y的联结散布p(x,y)。 判断模型:学习的则是已知输出x的条件下,输入y的条件散布p(y|x)。 这两个模型能够通过贝叶斯定理建立联系。生成模型的求解更加简单,当数据量趋于无穷大时,渐进条件下的精确性也更差,但其收敛的速度更快,在较少数据的训练后就能够收敛到谬误的上限。判断模型更加简略,在分类问题上的体现也更差,却不能提供对于数据生成机制的信息。当下,参数模型还是机器学习的支流,非参数模型在利用范畴上还是性能体现上都要略逊一筹。

October 21, 2022 · 1 min · jiezi

关于程序员:结构体的字节是多大

sizeof()计算构造体的大小 简要阐明:构造体成员依照定义时的程序顺次存储在间断的内存空间,然而构造体的大小并不是 * 简略的把所有成员大小相加,而是遵循肯定的规定,须要思考到零碎在存储构造体变量时的地址对齐问题。* 没有成员的构造体占用的空间是多少个字节 答案是:1个字节。这就是实例化的起因(空类同样能够被实例化),每个实例在内存中都有一个举世无双的地址,为了达到这个目标,编译器往往会给一个空类或空构造体(C++中构造体也可看为类)隐含的加一个字节,这样空类或空构造体在实例化后在内存失去了举世无双的地址,所以空类所占的内存大小是1个字节。 首先介绍一个相干的概念——偏移量  struct stru         {                      int a;  //start address is 0                   char b;  //start address is 4                   int c;  //start address is 8         };//12个字节偏移量指的是构造体变量中成员的地址和构造体变量地址的差。构造体大小等于最初一个成员的偏移量加上最初一个成员的大小。显然,构造体变量中第一个成员的地址就是构造体变量的首地址。比方下面的构造体,第一个成员a的偏移量为0。第二个成员b的偏移量是第一个成员的偏移量加上第一个成员的大小(0+4),其值为4;第三个成员c的偏移量是第二个成员的偏移量应该是加上第二个成员的大小(4+1)。12 在理论中,存储变量时地址要求对齐,编译器在编译程序时会遵循两条准则: (1)构造体变量中成员的偏移量必须是成员大小的整数倍(0被认为是任何数的整数倍) (2)构造体大小必须是所有成员大小的整数倍,也即所有成员大小的公倍数。 ...

October 21, 2022 · 3 min · jiezi

关于程序员:TCP和KCP协议

TCP协定KCP是一个疾速牢靠协定,能以比 TCP 节约 10%-20% 的带宽的代价,换取均匀提早升高 30%-40%,且最大提早升高三倍的传输成果。纯算法实现,并不负责底层协定(如UDP)的收发,须要使用者本人定义上层数据包的发送形式,以 callback的形式提供给 KCP。 连时钟都须要内部传递进来,外部不会有任何一次零碎调用。 TCP 是为流量设计的(每秒钟多少 KB),KCP 是为流速设计的(RTT 时延多少毫秒)。KCP 参考 TCP 做了一些优化, 就义了带宽, 以换取更低的时延, 设计上大部分是通用的, 所以这里先介绍 TCP 协定的原理. 假如你曾经理解 TCP/IP 的基本概念, UDP 和 TCP 都属于第四层传输层, 实现了过程到另一个过程通信的最初一步, 咱们看看 TCP 的协定报 TCP 的协定报5层网络顺次是: 物理层, 链路层, 网络层, 传输层, 应用层 网络上的包都是残缺的, 有了下层必须有上层, 所以上面也贴一下第二层链路层和第三层网络层的协定报 第二层链路层的协定报 MAC 以 帧 为单位, 蕴含协定报(18字节), 数据(46-1500字节) 协定报蕴含了源 MAC 地址(6字节), 指标 MAC 地址(6字节), 以太网类型(2字节), 循环冗余校验码(4字节) 以太网类型: 0x0800 示意 IP 协定, 0x0806 示意 ARP 协定, 0x8035 示意 RARP 协定第三层网络层的协定报 ...

October 21, 2022 · 11 min · jiezi

关于程序员:寻找中国云原生应用现代化先锋的前1CNBPA-2022应用现代化杰出企业评选启动

以后,在各行各业深入数字化转型的背景下,云计算、基础设施、ISV、计划商等IT企业的云原生化过程也在飞速发展,以容器/Kubernetes 为代表的云原生技术曾经成为上述企业赋能客户数字化转型的重要助推力。 云原生技术能够帮忙企业客户重塑云基础设施,同时极大晋升产品的开发交付效率。对于云原生生态链上的上下游企业来说,从本身的技术路线、团队建设、人才培养、服务能力等方面全面转向云原生化,能力更好地满足客户需要,更好地服务客户。 为继续推动国内云原生利用现代化倒退,即日起,云原生技术实际联盟(CNBPA)联结云原生利用现代化联盟(CNAMA),将在信通院云原生产业联盟(CNIA)和CNCF的领导下,面向基础设施软件厂商、各行业优良ISV/SI、计划商等,公开征集2022年度利用现代化卓越企业,全方位展现和表彰入选企业在云原生转型方面的停顿和奉献。 如果您所在企业是云原生利用现代化转型的杰出代表,欢送参加本次评比,让楷模的力量带动更多IT企业拥抱云原生,减速推动利用现代化,从而助力客户实现业务跨越式增长。 对于云原生技术实际联盟: “云原生技术实际联盟”(CNBPA)是由各行业云原生建设最佳实际企业以及行业顶尖的云原生平台提供商、行业解决方案与服务提供商联结发动的,汇聚国内外云原生畛域翻新利用与实际案例的技术生态联盟。 联盟聚焦Kubernetes、DevOps、微服务等前沿开源技术和理念,同时关注各行业企业建设云原生平台的胜利案例。为企业在不同行业场景下建设基于容器技术的云原生平台,实现自动化开发、测试、运维一体化过程并全面拥抱微服务提供门路参考和全方位反对。 作为全国首个以云原生技术利用实际为外围的组织,联盟将恪守“凋谢、交融、翻新、共赢”的理念,致力于推动云原生技术产业化落地;构建技术带动实际、实际反哺技术的良性生态;晋升云原生技术在市场的影响力。 咱们正在建设「云原生」行业交换社群,欢送扫码增加云原生技术社区小助手,并发送名片或者集体介绍,咱们将为您继续举荐相干行业资讯和流动,更有机会和业内资深专家同群交换。 本文由mdnice多平台公布

October 21, 2022 · 1 min · jiezi

关于程序员:轻量化物联管理从Shifu-Cloud添加设备开始

用Shifu Cloud部署一个海康威视摄像头的数字孪生a. 登陆 shifu.cloud Shifu Cloud 是边无际基于开源物联网开发框架Shifu的一款PaaS产品,它为开发者带来了便携的工具,能够只填写一些设施根本信息来实现物联网设施的接入。在没有Shifu Cloud的状况下须要开发者手动填写一些设施的YAML配置文件,再将虚构设施进行部署。 b. 点击增加设施 c. 抉择公有协定 --> 在下拉菜单中抉择海康威视,之后点击下一步 d. 增加设施的根本信息,如设施名,厂商和型号 e. 填写摄像头的IP地址,RTSP用户名以及明码 f. 点击接入并返回增加接口 g. 最初点击上传,Shifu Cloud会主动生成 deviceShifu (数字孪生) 的YAML文件 h. 点击复制命令,在K3s的master上执行即可 i. 在命令行复制,输入如下: [email protected]:~# kubectl apply -f https://******.com/*****/******.yamlconfigmap/deviceshifu-devicehikvision-configmap createdservice/deviceshifu-devicehikvision-service createddeployment.apps/deviceshifu-devicehikvision-deployment creatededgedevice.shifu.edgenesis.io/edgedevice-devicehikvision created[email protected]:~#背地产生了什么:Shifu Cloud 通过用户填写的一些根本信息,主动生成了设施孪生的YAML文件 (Edge Device,ConfigMap,Deployment和Service),如果您想更深一步的理解请返回 github 中查看具体部署的文件 j. Shifu Cloud 暂不反对退出nodeSelector的性能(敬请期待),默认状况下设施孪生会被部署到master下面,咱们须要更新deployment的spec项来让Pod部署在worker节点中 咱们通过命令获取以后deployment的名字 [email protected]:~# kubectl get deployment -n deviceshifuNAME READY UP-TO-DATE AVAILABLE AGEdeviceshifu-devicehikvision-deployment 0/1 1 0 16m接着通过 kubectl edit deployment -n deviceshifu deviceshifu-devicehikvision-deployment 命令编辑,退出以下两行,保留即可 ...

October 21, 2022 · 2 min · jiezi

关于程序员:手把手教你用golang撸rpc

引言"微服务"这个概念想必不必我说大家都晓得,就算没接触过也据说过。简略来说就是以前零碎中的,用户,搜寻,内容,等等模块都在一起,这样会导致代码越来越冗余,越来越难保护,所以往往须要拆分这些服务,微服务在拆分的时候,会依据业务功能模块把一个单体的利用拆分成许多个独立的我的项目,每个我的项目实现一部分的业务性能,而后独立开发和部署。这些独立的我的项目就成为一个微服务。进而形成一个服务集群。看上面两张图可能会对微服务的概念更加直观 单体服务 微服务 RPC介绍微服务中很重要的一个内容就是RPC近程过程调用(Remote Procedure Call,缩写为 RPC)是一个计算机通信协议,他的次要作用是容许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额定地为这个交互作用编程 那么RPC是如何实现的呢?明天咱们就以golang为工具,给大家实现一个简略的用rpc输入helloWorld RPC实现步骤其实RPC的实现和网络编程有点像,A服务须要近程调用B服务的某个办法,在这种状况下咱们就把B服务称为服务端,A称为客户端 具体实现步骤如下图: 服务端注册服务对象,绑定类办法(定义类,绑定类办法)rpc.ResisterName("服务名","回调对象")ResisterName函数解释func RegisterName(name string, rcvr interface{}) error//参数解释 //name 服务名(本人轻易取),字符串类型//rcvr 对应的RPC对象,该对象绑定的办法须要满足如下条件 1)办法必须是导出的(包外可见),在golang中的体现为,办法名首字母大写 2)办法必须有两个参数,都是导出类型,内建类型 3) 办法的第二个参数(也就是客户端调用近程函数中的传出参数),必须指针(传出参数) 4) 该办法只有一个返回值,就是error接口类型的返回值上面咱们针对参数2举个例子,比方上面这个办法TestMethod 就是符合条件的type Test struct{}//这是合乎RegisterName的参数2的办法名func (this *Test) TestMethod(name string, resp *string)error{ return nil}rpc.RegisterName("test", new(Test)) //注册rpc服务对象创立监听器listener, err := net.Listen()启动监听,建设链接conn, err := listener.Accept()将链接绑定RPC服务rpc.ServerConn(conn)ServerConn函数解释func (server *Server) ServeConn(conn io.ReadWriteCloser)//参数conn为胜利建设好连贯的socket,也就是后面的conn客户端用RPC连贯服务器(服务端)conn, err := rpc.Dail()调用近程函数conn.Call("服务名.办法名", "传入参数", "传出参数")func (client *Client) Call(serviceMethod string, args interface{}, reply interface{}) error//参数含意//serviceMethod "服务名"."办法名"//args "传入参数" 调用办法须要的参数//reply "传出参数" 定义一个变量,对变量名取地址 &变量,实现传参代码示例服务端代码server.go ...

October 20, 2022 · 1 min · jiezi

关于程序员:阿里云的认证多少分通过没通过可以补考吗

挣钱是所有人的人生现实,而当初的大环境低迷,各行各业都十分的艰巨,唯独有一个行业,倒退却越来越好,那就是互联网行业。人们越来越依附网络,通过一部小小的手机,买饭、订票、看世界,这些已经十分麻烦的事件,曾经变成了只须要动动手指就能达到的简略事宜。 与此同时,越来越多的公司也将本人的业务转到了线上,想要牢牢占据这个新兴的阵地,将本人发展壮大。如此一来,就须要大量的人才来满足企业的需要,越来越多的人也抉择考据书来晋升本人的价值。 阿里云认证是阿里云发行且推广的云技术人才认证,在行业内有很大的知名度,且宽泛受认可,很多人在毕业刚踏入社会的时候,都会抉择考取这个认证,来减少本人的职业竞争力,以求取得更好的倒退。 阿里云认证等级 1、阿里云ACA认证 作为阿里云的根底认证,ACA的考试内容是相对来说比较简单的,很适宜在校学生、对云技术有趣味的人、想转行的人群等等,通过短暂的学习,就能够撞我初步的云技术常识,给本人将来倒退打下松软的根底。 考试费用:600元 考试模式:口试 考试地点:线上 2、阿里云ACP 认证 这个阿里云的中级认证,但其实也是综合价值最高的认证,一方面是很多方向只有这个,没有再高一级的,一方面是市面上很多公司须要ACP认证,会做挂靠,考生拿到证书后,用处是比拟多的,绝对来讲,这个证书很值得考。 考试费用:1200元 考试模式:口试 考试地点:线下 3、阿里云ACE认证 最为阿里云最高等级的认证,ACE在四月份做出了改革,将考试的难度和费用大大提高,而且只有云计算架构师一个方向,考生如果想考这个证书的话,是要消耗不小的工夫和精力的,目前没有多少人考这个证书。 考试费用:9600元 考试模式:口试、试验、面试 考试地点:线下 阿里云认证哪个好 对于考生来说,最重要的必定是抉择本人须要的方向,目前阿里云有云计算、大数据、物联网、人工智能等方向,每个方向的考试内容不同,每个等级的难度不同。ACA最简略,而且有两次考试机会,没通过的话,考生能够收费补考一次;ACP只有一次考试机会,失败的话,须要原价再考一次,所以很多人会去寻找题库,帮忙本人通过考试,有须要的人能够看看认证大使,寻找对应题库;ACE的三个考试是离开报名的,通过前一个,能力加入后一个,而且各科的问题相互不影响,只有在一年内将三个都通过就好了。 阿里云证书有效期 阿里云的所有证书有效期都是两年,到期后在官网上任然能够查到证书,如果须要在期内的就得从新再报名考试。

October 20, 2022 · 1 min · jiezi

关于程序员:企业产品品牌如何打造招商加盟数字化怎么做

随着挪动互联网的疾速倒退,想要打造企业品牌也有了更多的形式,特地是通过建设线上线下数字化营销形式,有助于企业疾速建设品牌营销声量、铺开产品市场。而想要短期内疾速塑造企业品牌形象,招商加盟必不可少。建设数字化招商加盟体系,构建产品营销闭环,是疾速打造企业品牌的伎俩。企业如何进行品牌数字化搭建?基于技术内核,以品牌驱动市场倒退,开利网络将为单干企业提供全流程企业数字化转型生态体系搭建,帮忙企业构建数字化营销新模式、适应数字经济倒退、抢占数字化营销新赛道,以更小的老本转化更多潜在商机,与企业单干共赢。

October 20, 2022 · 1 min · jiezi

关于程序员:或许你不相信现在的我但你可以期待未来的我

年轻人就要好高鹜远,不要好高骛远,本人什么岗位什么程度心里没点数么!背景介绍最近产生了一件让我情绪稳定比拟大的事件。 咱们公司发展了个拓展学习的工作。每人依据本人工作或趣味抉择几个技术选题,能够是本人相熟的,也能够是本人想学习的。而后收集在一起,通过技术总监和经理等人筛选出具体数量的选题,而后通过选题会议决定每个人别离调配到哪几个选题。最初每周会安顿一个人分享本人的选题内容,工夫是三个月轮一个人,并且一个选题要讲三次。也就是九个月讲完一个选题,四个选题全副讲完要3年。 背景也就介绍到这了,而让我情绪呈现稳定的时刻是在选题会议上。 本来依照主持人所说的会议流程,为了避免防止“抢题”的状况,让咱们按秩序轮流一个个选,众人都感觉没什么问题。而经验第一轮选题,我抉择了UML课题,刚好是和经理A所抉择的重合了,而我的秩序又在他后面,他便纳闷了一声,便抉择其余选题了。 而到了第二轮,我抉择了PMP-软件组织治理。其余课题也相继被抉择了,又轮到了经理A。好家伙,这次他间接拍案而起,间接指名说我选了他的课题,并示意本人不愿将工夫放在本人不感兴趣的内容上。 此时的我再看了看选题内容,才发现咱们这几名新来的开发,所提的选题基本上没有被纳入选题范畴。而现存的选题内容,大多数就是各自开发经理日常工作负责的畛域。 有意思的就来了,咱们这几名刚毕业的新人开发,想学的内容一个没上。他们这些工作了多年的技术经理,把本人曾经用了多年,且不论过期与否的技术摆在的“拓展学习”的名单上。 当初本人相熟的课题被人选了,就示意不干了。并婉言说,我提出来的选题,我应该享有优先选择权。并威风凛凛地指出,你这刚毕业的小伙子,有能力讲这种课题么?你当初工作也接触不到这些内容啊。年轻人就要好高鹜远,不要好高骛远,本人什么岗位什么程度心里没点数么! 我一言不发,只是冷冷看着他。 这是我许久没有领会到的感觉了,鄙视?看不起?还是鄙视?我深呼吸了几口气,脑子里过了无数种场景,最极其的包含当场怼回去,而后洒脱辞职。 可我深知,人在情绪不稳固的状况下所做出的的任何决定,都大概率会让本人悔恨。 起因剖析于是我先平复了本人的情绪,开始在脑中剖析他这样说的起因是什么。 1:本人不愿将工夫放在本人不感兴趣的内容上首先补充一下背景,这个扩大学习是咱们老板提出来的,咱们老板是技术出身,发展这个学习的目标是为了造就咱们研发部门的学习气氛。同时讲课每个月会有评比,得分最高者会有奖金。 而跟经理A所确定的选题范畴,与他所选题的内容和反馈来看,这句话应该这样翻译:我不想学新货色了,你们也别跟我抢。 2:你这刚毕业的小伙子,有能力讲这种课题么?还记得我上诉阐明的设定嘛?一个选题讲须要9个月,我讲第四个选题的时候,曾经是两年后了。这里显然经理A陷入了一种思维陷阱,漠视了工夫的存在。用当下眼光掂量将来的事物,没有意识到事物的倒退总是动静的,且不是线性的。 3:年轻人就要好高鹜远,不要好高骛远,本人什么岗位什么程度心里没点数么!这里除了上诉的思维缺点问题,还存在一个情绪发泄问题。他将对选题规定的不满,本人选题不顺遂的喜气,全都发泄到首当其冲的我身上了。 应答形式《教父》里说,“花一秒钟就看透事物本质的人,和花一辈子都看不清事物本质的人,注定是截然不同的命运。”我尽管没有那么强的洞察力,但我在致力朝着这方面后退,这次就是一个很好的案例。 在对起因做了简略剖析后(下面的剖析我脑中实在过了十几秒)。我依据公司职位,经理A的自己性情,我的人设,以及自我对于职场的认知等等,最终选定了避其矛头,直捣黄龙的做法。 我在听完经理A对我的指摘后,缄默了一会。接着语气平缓地说:A哥,我当初确实没有能力。然而选题三个月轮一次,一个选题讲三次。等我讲第四个选题的时候,曾经是两年后了。 现场一片缄默。 此时几位经理才发现他们脱漏了这点内容,一开始还在为难题发愁的他们也开始尝试抉择本人较为不相熟或者比拟难的选题。我才发现原来他们都疏忽了这点,或者说他们都没有真正去想一下老板提出这个拓展学习的真正用意。 而经理A呢?本来还气焰嚣张的他,忽然豁然开朗般缄默了上来,还想着说什么却再没有闭口,选题会议便持续朝着失常的方向走上来了。 一些感想首先是对于经理A的思考。 经理A是西南人,来自哈尔滨。平时脾气比拟火爆,有什么想法都喜爱直说,为人挺好,至多在我看来没有什么坏心理。然而同时也是这样,常常脾气犟,轴,凡事要争个高下,实践个分明。容易把情绪和观点混在一起输入,让人应接不暇。 咱们是小公司,初创了个十多年把,经理A是最早一批跟着老板的技术骨干。而跟他同期间入公司的人,当初不是总监就是架构师,副总监。而他呢,与来了工夫没他一半多的技术人员分庭抗礼,当了个经理。 这让我不得不思考一下,为什么他们会有这样的差距。其实依据下面会议那个内容,我大略也能够看出一些端倪。 1:回绝成长,固步自封。不晓得在其余职业是否很失常,然而作为程序员,假使有这种心态,根本等于自我淘汰了。现在经理A把握的大部分技术都曾经被市面淘汰,比方jsp,angular.js,以及一些古早框架。而从他当初治理的我的项目也能够看出,基本上他曾经脱离了公司业务外围。 2:思维僵化“有的人20岁就死了,只是80岁才埋” ,对于这类人来说,生存曾经没有了未知,当初怎么样,当前也会怎么样。 3:无奈控制情绪这点我认为不能黑西南人,西南人是爽快,但不代表有情绪就会肆意宣泄。我意识一西南姑娘,她也是有啥说啥,但她说进去的话,示意的机会和形式都恰到好处,同时她又能明确表白本人的想法,情绪。跟这样的人相处,反而比那些从不怄气,却背地心怀鬼胎的人难受太多了。我认为,管制好本人的行为,是长大的体现。管制好本人的情绪,是成熟的体现。 通过对于经理A的思考,我再次意识到了这些品质对于程序员,或者说对于职场人的重要性。或者经理A也是很大一部分中年程序员的缩影吧。 1:拥抱成长,拥抱变动 2:用倒退的眼光对待本人,对待世界 3:管制好本人的情绪,正当地输入本人的观点 具体我不想开展了,篇幅太长了。 最初我想说一下我本人对这件事的想法。我一开始是挺怄气的,感觉经理A怎么能这么看不起人呢。可是起初的倒退,再联合平时经理A的为人,也让我释然了。 前面就感觉到了兴奋,因为很有没有这种让我大脑充血的感觉了,很久没有这种能引起我情绪微小稳定的事件了。 我刚从大学毕业3个多月,是一位00后。从初中开始,我就可劲地折腾本人,到了大学也不安生。他人都好好读书,我是除了读书啥都干,其余的什么社团,流动,部门,泡妹子,兼职,演讲,甚至还去当了几年兵。 而后要毕业了,我问题根本全班垫底,但我是一点也不焦急。因为我通过这么番折腾,大略本人是什么性情本人也理解了。晓得本人不是搞科研的料子,就没有去卷考研。又抓住了秋招的机会,疯狂去面试,应聘。咱们班其他人还在学校发的工作调查表外面想着本人应该是填6K还是7K的工资,我曾经拿了几个十几K的offer了。尽管不算高啊,毕竟学校也不是985 211,并且还走了捷径,然而也算是通关了我这大学吧。 以至于我在大学最初几个月,真的生不如死。干啥事都没有趣味,就是天天打游戏,点外卖,混吃等死。工作以来也是平平淡淡,日复一日,基本上再没有能让我情绪有点稳定的事件了。因为情绪稳定,就意味着我在某方面有余,遭逢到了挑战。 尽管现实生活中我晓得我很菜,IT行业还有那么多大佬,但我接触不到啊,天然也就没那方面压力。 而当初通过经理A这么一番刺激,我才意识到我还是有很大很大的成长空间的。想到这点我还是很开心的,因为我不喜爱变化无穷,我永远期待将来,同样地,我也会用实际行动去证实,将来的我值得被期待。 发散一下骆驼祥子本来对生存有有限的期待,本人也有一身的力量,时刻神往着凭借本人的力量,购买一辆新车在城里生存上来。可在新车被抢,虎妞难产,小福子他杀这三件人生至暗的事件产生后,他再没走进去,成了一个彻底摆烂,奋发图强的街头混混。 我不晓得将来我会怎么样,我今日的文章,前面会不会也能够用来批评本人。 但假使我是祥子,我至多还有三次机会,我违心去尝试,我也心愿去尝试。去挑战本人的极限,去寻找本人真正享受的生存形式。

October 20, 2022 · 1 min · jiezi

关于程序员:unirequest封装401重定向首页Token过期取消接口请求限制请求数量

普通人的星光灿烂,大多数人的生存模板,加油最近群友提出一个需要,用户在首页的时候调用接口, 接口申请有上线,超出的局部在已实现之后持续申请;接口token生效了,或者是无权限,如何在第一次发现接口401的状况下,勾销剩下的接口申请,并且重定向到401,其中的难点次要是在如何勾销申请,我查阅了uni.request的文章,它提供了跟原始XHR一样的停止申请的办法abort(); 解决方案(思路)设置最大申请数limit,当申请数量超出的局部,将申请放在一个数组队列外面waitingList,期待,当后面的申请实现的时候,每次都去取出waitingList第0个元素,如果有申请,那么就执行,如果没有,就return正在执行的申请都会存入excutingList执行队列当中,当发现接口的返回code == 401时,将剩下的接口都执行abort()办法,即中断接口申请,而后在将以后页面的地址重定向到login页面流程图如下: 如果可能真正了解流程图的话,我想实现理论是简略的,能够本人手动尝试封装,如果有不懂的局部能够查看以下的代码: import Config from '@/common/config.js';const waitingList = []; // 期待申请队列const excutingList = []; // 执行队列const limit = 10; // 最大申请数const excuteWaitingList = () => { const func = waitingList[0]; if (typeof func === 'function') { func(); } waitingList.splice(0, 1);};const requestPromise = ( resolve, reject, url, method = 'get', params, callback) => { const token = Config.token || uni.getStorageSync('token'); let headers = {}; if (token) { headers['Authorization'] = 'Bearer ' + token; // 让每个申请携带自定义token 请依据理论状况自行批改 } let success = false; const baseUrl = Config.baseUrl + Config.requestPrefix; const requestTask = uni.request({ url: url.startsWith('https://') ? url : baseUrl + url, //仅为示例,并非实在接口地址。 method: method ? method.toUpperCase() : '', header: headers, data: params, success: (res) => { const result = res; if (url.startsWith('https://')) { resolve(result.data); } let errorMsg = '申请有误'; if (result && result.data) { if (result.data.code === 200) { success = true; resolve(result.data); } else if (result.data.code === 401) { if (window.location.href.includes('/pages/dashboard-login/index')) { uni.reLaunch({ url: '/pages/dashboard-login/index', }); Config.clearAllRequest(); } else if (uni.commonData.currentPage !== 'login') { uni.reLaunch({ url: '/pages/login/index', }); Config.clearAllRequest(); } reject(errorMsg); } else { errorMsg = result.data.msg || errorMsg; reject(errorMsg); // reject(result.data) } } else { reject(errorMsg); } }, fail (res) { console.error(res, 'fail') reject('服务异样'); }, complete () { if (success) { resolve(true); } else { resolve(false); } let index = excutingList.indexOf(requestTask); excutingList.splice(index, 1); if (typeof callback === 'function') { callback(); } // console.log('complete') // console.log(tasks, 'tasks') // console.log(waitingList, 'waitingList') // console.log(excutingList, 'excutingList') excuteWaitingList(); }, }); excutingList.push(requestTask);};export default function ajaxRequest (url, method = 'get', params) { const promiseObj = new Promise((resolve, reject) => { if (excutingList.length > limit) { waitingList.push((callBack) => { requestPromise(resolve, reject, url, method, params, callBack); }); } else { requestPromise(resolve, reject, url, method, params); } }); return promiseObj;}Config.clearAllRequest = () => { excutingList.map((item) => { if (item && item.abort) { item.abort(); } }); waitingList.length = 0; excutingList.length = 0;}课后作业思考下如果应用Axios要如何实现以上的需要,欢送小伙伴在评论区评论以及说下本人的思路,哈哈 ...

October 20, 2022 · 2 min · jiezi

关于程序员:命名规范与原则

命名标准与准则前言任何事务都有本身名字,也能够说名字是任何事务的属性之一。咱们常说这个或那个名字获得好,那好在哪里呢?在我看来,名字是疾速意识和理解一个事务最间接的形式。 在《代码整洁之道》这本书中通知咱们,一个有意义的命名到底有如许的重要。作为一名普普通通的码农,怎么样能力让他人一眼就能晓得你的代码,那就须要学会去标准本身的代码命名治理。 命名准则因为历史的驱动下,英文作为全球性通用语言。很多的事务都耳濡目染得用英文去示意。 应用正确的词汇形容 在咱们的我的项目或代码中,尽可能应用正确的英文单词,不要拼写错误。如果英文不好的小伙伴,能够上网搜寻进行纠正。 示例 // 坏的clound// 好的cloud应用具体的词汇形容 因为咱们我的项目或代码经常是与业务挂钩,所以非必要状况下,尽可能别把词汇定得太宽泛,最好可能聚焦到某一个具体的业务块。 示例 // 坏的datainfo// 好的userDatauserInfo留神组合词汇定义方向形容 咱们习惯的浏览形式是从左往右,人通常对映入眼帘的第一个货色印象粗浅。 示例 // 坏的dataUserinfoUser// 好的userDatauserInfo禁止发明或虚构词汇形容 次要体现为:应用拼音或不能敌对辨认的词汇、应用本人发明的缩写等等 尽可能少用拼音,因为很多开发软件或其他人并不意识。 尽可能不要本人发明缩写,能够先查找下词汇自身是否有业余缩写模式。尽管看起来简短,但很难让人一下子就了解。 示例 // 坏的fangfa// 好的function应用对仗词汇形容 示例 open/closemin/maxshow/hide...命名标准我的项目命名形容 全副采纳小写采纳串行命名法1 或 蛇形命名法2示例 形式一:串行命名法 my-project形式二:蛇形命名法 my_project目录命名指文件夹、层级构造形容 采纳小写串行命名法(举荐)1采纳小写蛇形命名法(纳闷)采纳小写驼峰命名法(纳闷)示例 形式一:小写串行命名法 - project - code-web - code-svr - code-pwa - ...形式二:小写蛇形命名法 - project - code_web - code_svr - code_pwa形式三:小写驼峰命名法 - project - codeWeb - codeSvr - codePwa文件命名形容 采纳小驼峰命名法示例 utils.jsstyle.cssgetName.py...组件命名形容 采纳大驼峰命名法示例 这里以Vue为例(index.vue除外)HelloWorld.vue...门路命名路由、门路、URL形容 采纳小驼峰命名法示例 /get/list/get/userName款式类命名前端css款式类(Class)形容 采纳串行命名法1示例 ...

October 20, 2022 · 1 min · jiezi

关于程序员:专业系统开发流程有多少步骤如何进行系统开发

在进行零碎开发时,很多企业会抉择技术公司进行零碎开发,对于技术公司而言,一个全面、业余的开发流程也能从侧面反映出单干技术公司的开发示例及我的项目负责人员组织架构的残缺度,可能更好地理解我的项目进度。业余零碎开发流程通常分为以下步骤:开发公司与我的项目公司独特制订开发计划、进行零碎开发后期调研与需要剖析、性能开发设计、零碎测试、零碎交付验收等次要流程,因而从人员配备上看,一个残缺的零碎开发流程也须要项目经理、产品经理、前后端工程师、UI设计,运维撑持及我的项目测试等人员。此外,除技术服务提供外,一些技术型公司也在进行数字化服务降级,为我的项目可能疾速落地提供定期跟踪、机制设计及推广等服务。技术是骨血,落地机制是肉,须要技术服务与落地服务独特组合能力推动我的项目落地经营。开利网络成立于2007年,从技术服务到落地服务,致力于为企业构建数字化生态闭环,为企业数字化发明真正价值。

October 19, 2022 · 1 min · jiezi

关于程序员:卷积神经网络基础输入层卷积层

输出层 咱们通常在这一层对传入数据进行解决,此步骤可大幅优化图像处理后果,无效避免输出不同的数据单位,显著缩短神经网络训练耗时,进步网络收敛速率;须要引起留神的是,神经网络的激活函数个别都处于肯定的数值区间,因而进行网络训练的数据得映射到相应的区间。 运行人工神经网络时,底层参数更新对其有显著的作用成果,造成的影响会导致假如条件难以满足。从事相干钻研的科学家们在神经网络中采取归一化操作,能无效解决假如条件难以满足的问题。此办法通常对数据做肯定尺度的放大和放大操作,个别状况下被用来对数据进行预处理或者对不同单位的测量数据作归一化数据分析。也就是说,归一化这一步骤就是将数据限度在某个数值范畴内,再进行线性比照拉伸: 卷积层 卷积层的次要作用是对输出图像进行卷积运算和特征提取。卷积层中含有一系列具备同一大小的卷积核,不同的卷积核查特征提取有不同的作用。 本层进行卷积运算的步骤如下:先假如卷积核的尺寸为m×n,原始图像为X,再对尺寸为mxn的卷积核中的权值w与原始图像X中的像素值x进行求积运算,计算的公式如下: 以下图3.4为例展现规范卷积运算过程。卷积运算的卷积核每次滑过原始数字图像的9个像素,笼罩像素的滑动框会滑动四次,失去一个尺寸为2×2的二维数据。对于原始数据尺寸为n的数字图像,执行尺寸为f的卷积运算操作,最终输入的数字图像大小为n-f+1。 部分连贯和权值共享是卷积层的两个最次要的特色:为提取数据的特色信息,需把数据中潜在的具备相关性的信息抽象化,便于进行以上两个特色操作。 部分连贯是由人的视觉零碎激发进去的,它通过将卷积层的结点与上一层的部分结点相结合,从而达到学习部分特色的目标。对于待辨认的图像,在某个特定区域内,相邻的像素间的关联度高,而相距较远的像素关联度低。而在部分连贯中,繁多的神经元仅须要对图象的部分感知,再将全副的部分感知信息按程序合并,就能够取得整个图象的整体信息。 部分连贯和全连贯如图3.6所示,下图中,(a)是部分连贯,(b)是全连贯。 通过部分连贯形式对神经元连贯进行改良之后尽管在肯定水平上使得网络中的参数质变少,但神经元数量任然很多,参数量仍然会很多。想要参数数量变少,就须要使用权值共享策略。 权值共享是指用权重参数雷同的卷积核查输出图像进行卷积运算,用雷同的参数提取图像特色。如图示意的是权值共享。

October 19, 2022 · 1 min · jiezi

关于程序员:怎么微信浏览器里-打开APP

最近在做一个需要,心愿在微信浏览器里关上 h5 页面,而后间接唤起自家的 APP。搜寻一番,发 现微信早在 2020 年就凋谢一个标签,用于关上 APP,再也不须要干儿子了。 没有太多钻研工夫,大抵说下逻辑,备用,代码仅供参考。 官网文档 绑定域名登录微信公众平台进入“公众号设置”的“性能设置”里填写“JS 接口平安域名”。 引入 JS 文件 import wx from 'weixin-js-sdk'; 通过 config 接口注入权限验证配置并申请所需凋谢标签 wx.config({ openTagList: ['wx-open-launch-app'] }); // 须要应用的凋谢标签列表,其余配置跟别的微信接口差不多,不赘述 ;复制代码 vue 文件中应用的话,须要再main.js那边加标签疏忽Vue.config.ignoredElements = ['wx-open-launch-app']; 这边以 vue 为例,将唤起这种按钮封装成组件,以备之后应用 唤起 app 的按钮,必须应用微信的凋谢标签,这里须要APP端和微信申请APPID,作为标签参数,同时须要extInfo,是跳转所需额定信息,如果是首页的话,extInfo能够间接是xx://如果页面须要再浏览器关上,那么须要兼容浏览器的状况为了不便,个别写一个盒子,浏览器的按钮先写好,而后微信的按钮定位在其上就好,如果是微信,点的就是微信按钮,如果不是点的就是浏览器按钮浏览器跳转关上 APP 的话,间接用下call-lib库,封装了细节,应用便捷 <template> <div> <div class="btn-box" style="position:relative"> <div class="btn" @click="callApp" :style="btnStyle"><slot /></div> <!-- 微信环境里,微信标签按钮 定位在一般按钮上 --> <wx-open-launch-app v-if="isInWx" id="launch-btn" :appid="config.appId" :extinfo="config.extinfo" @launch="getApp" @error="errorOpen" style="'position: absolute; top: 0; left: 0;right:0; bottom: 0; z-index: 1000;'" > <script type="text/wxtag-template"> <div class='wx-btn' style="width:100%; height:100%;"></div> </script> </wx-open-launch-app></div></div></template><script>import axios from 'axios';import wx from 'weixin-js-sdk';import CallApp from 'callapp-lib';export default { name: 'btnOfCallAppInWx', props: { ...

October 19, 2022 · 1 min · jiezi

关于程序员:前端要树形数据-我三分钟接口扔给他

前言 树状构造是咱们在日常工作中常常须要返回的数据结构 一个小小的数状构造也能看出一个开发者的思维形式 我集体最开始写这种树状构造真的是代码老长了 他人一看就会晓得我是一个菜鸟 缓缓的本人思考怎么去用起码的代码去搭建一个树状构造 也做一些整顿 编码思路真的很重要 思路好代码才会简洁强壮筹备实体类咱们先定义一个实体类 不便演示 第一种办法的算是和结构器相互依赖 Node.class:import lombok.Data; import java.util.ArrayList;import java.util.List; /** @author变成派大星 */@Datapublic class Node { private Integer Id;private String name;private Integer pid;private List<Node> treeNode = new ArrayList<>();public Node(int id, int pid) { this.Id = id; this.pid = pid;}public Node(int id, int pid, String name) { this(id, pid); this.name = name;}} 复制代码思路一咱们的树状图个别都是一个动静的构造也就是说咱们不能把代码写的太死板 无论树的深度怎么减少咱们都不须要更改代码 一般来说 树状构造都有一个外围字段pid第一个节点 都是为 0第二个节点的Pid 是第一个节点的标识咱们思路一就是从这边登程先将第一层节点找进去剩下的节点通过Pid 进行分组 生成一个Map pid作为Key Node 作为Value通过循环汇合 去Map外面取Key对应的节点Set到本人的子节点上面去除数据中第一层Pid ...

October 19, 2022 · 3 min · jiezi

关于程序员:技术该有的业务产品思维

通过几年作业务/技术产品的体感,先把一些想法记录下来,帮忙本人积淀,同时让将来的本人防止再犯谬误;做产品的思维和营销有很大的不同,最大的不同点我认为是在指标不同造成的决策形式不同;我认为哪怕是业务反对也应该用做产品的思维去思考是个好习惯,防止本人习惯成为资源,作业务的时候技术评估也是应该用这种思维形式去思考,没有相对答案,也没有相对的公式能够套,但有必须有一套准则帮忙你判断。 理解本人、团队、行业/市场、世界 地利、天时、人和,出自孟子写的一篇文章,这点我认为和作产品也是完全相同,理解本人、团队、行业/市场、世界脉动能力做出适宜的产品,不是所有的产品都适宜本人来做,应该先判断技术的方向和将来,再看以后市场方向,同行业/畛域的产品,是否有相似或竟对产品,本人的团队的技能和能力上是否有劣势,只有都理解后做起来必定会更顺;这个思路向前也有听过其他人有用了几个字来总结 “天地彼己”,也是相似的思考形式;又相似于 “知己知彼,屡战屡败”,理解本人、理解团队都是很重要的开始,晓得本人要打的是什么仗。对于理解本人平时能够多对本人做灵魂拷问 “Why you?”,为什么这件事该由你来做,从这个为出发点去思考也会逐渐理解更多;但如果 Why you 都齐全找不到答案难道这件事我就不该做了吗?也不是,我本人也常遇到这个问题,这时候会换个形式思考 “Why not you?” 为什么不禁我做,曾经具备了各种无利因素,然而想不出不做的理由,如果也想不进去那么真的是能够思考是否该再找下一个指标尝试。 理解要解决的问题,理解用户 过来在作任何产品的时候肯定会问两个问题,1. 是为了解决什么问题?2. 给谁用?如果这两个问题都无法回答,应该先暂停想分明再持续;其中解决的问题这点就像是指标一样,有些小技巧,最好一开始别想着什么都想解决,但最好也别只看眼前的问题,而是从架构初期能做些伏笔,防止将来拓展上出问题,同时也须要注意是否适度设计;对于适度设计这点能够从几个维度来思考,1. 以后所能解决这个问题的工夫有多少; 2. 1 年内是否会呈现可能呈现微小的变动;从这些点来判断要设计的水平,就最简略的例子,明天要获取一个 object 的变量,到底该用变量、object 还是 function,三种各有优缺点,然而初期的抉择在整体工程简单后很有可能会救你一命,尤其是作底层给到十分多人、利用调用的场景。理解用户是十分要害的一环,设计给不同类型的用户会有极大的不同,指标如果是全类型用户那么就是取最大公约数,再采纳进阶设定或以角色的形式来辨别进阶性能;常见的问题就是,看到其余的竞品如同不错,我花个 2-3 个月也能复刻一个,并且还不便定制属于本人的性能,接着可怕的事就来了,各种原先没思考到的小细节一个个浮现,更可怕的是抄作业没故障,但没发现隔壁同学的题目和你不同,把隔壁同学的各种历史坑一成不变抄过来。所以强烈推荐隔靴搔痒,谋定而后动。 懂得取舍,放弃专一 需要是永远做不完的,做完的那天就是这个业务/产品完结的那天;所以别问需要为什么这么多,须要想的是为什么当初要做这件事,是否当初不做今天这个业务/产品就没了?还是只是个日常迭代?这时候取舍就是十分重要的事,在团队成员是无限的情况下,咱们该思考如何在无限中找寻有限,如何最大化产出,如何不让本人、团队成为瓶颈。“将军赶路,不追小兔” 晓得本人的指标后应该想尽办法往指标后退,两头会有很多的事须要和其他人协同,可能会很不顺,但不能因为不顺就把他人的事重做一次而遗记本人原先的指标。术业有专攻,每个人、团队都有善于与不善于,单干永远比自建象牙塔好,单干和自建之间的判断取决于对于将来的预判,预判的规范就是教训和信息把握的全面性。 数据是眼睛,除了看指标还要能解读 要是没有数据的辅助,和摸黑做事有什么不同?数据能够帮忙咱们扫视过来所做的事好与坏,同时能够帮忙咱们判断将来,咱们常说 “看数据”,并不是只是要看咱们关注的外围指标增长,重点是解读,去理解这些数据变动别后可能的因素,以及对应的推断出咱们的下一步,到底该在什么中央增减投入,扫视以后流程中是否能通过技术晋升效率,依据舆情、监控判断用户遇到的阻塞在哪些点,是否有根治的形式。千万别怕本人数据解读错,因为永远都可能会犯错,多交换探讨看看其他人的观点,唯有多看多想多听缓缓的减少教训,缩小谬误的可能性,同时放弃独立思考,毕竟要是有人说的都对,在资本市场上为何还不是世界首富? 关注长期价值,但不能死在明天 功在平时,日常的积攒会比起只想着来一笔大的靠谱,举荐能够看这本书《Atomic habits》,很多小的习惯积攒起来在要害的时刻兴许能起到很好的帮忙,抓准方向,急躁打磨,机会是留给筹备好的人。日常很多杂事很烦,必须想方法自动化或简化,重要不紧急的事实现的越多就决定了你和其他人的差距。关注长期价值不代表能够疏忽市场的变动,市场的确有很多事是有时效,过了这个工夫点可能会错过很多,除了关注手上的事,也须要理解整个世界的变动,即时调整优先级。 写在最初 心态很重要,咱们常说本人是个研发,做研发不能只把本人当作需要翻译师,将 PRD 或设计稿变为用户可用的性能,实现这只实现了开发的局部,钻研的局部还须要思考如何作深作广,一直的打磨出好的产品,探索问题的实质和找到适宜的计划。平时放弃着 10 倍速的思考模式会帮忙你更快的成长,如果只思考着晋升 1-2 倍,大概率只会想着如何修修补补以后产品,10 倍数增长会让你开始思考实质,开始思考时候以后的内核曾经开始无奈满足于诉求,进而找寻更好的计划;当然也不能太过于躁进,找到平衡点也很重要。须要关注的事很多,要能每件事都想分明大概率会错失很多机会,必须确保一直的向前,在后退的路上见招拆招,路上会遇到很多的取舍,想分明本人要什么,别怕犯错,只有确保本人别反复犯错;迷失的时候回到原点看看,或者就能找到答案,或者没这么简单,只是卡在一个对终局无关紧要的点。

October 19, 2022 · 1 min · jiezi

关于程序员:你的代码为何难以维护

-- 这世界有那么多张三复制代码最近整顿文档时,偶尔看到几年前的某个我的项目,一时衰亡便载入 IDE,瞬间勾起很多回顾,唏嘘感叹之余,也对本人的代码品质感到羞愧。 因为有些代码,我居然看不懂了,霎时又对当年的本人莫名崇拜,原来本人也已经写过这么“高深莫测”的代码。某个刹那,竟盲目技不如从前,当初越发感觉编码就跟写作文一样,满满的套路和不置可否的话。要说看不懂,那纯正是口是心非,努致力还是能晓得什么意思的,但真的不容易看懂:两百行的函数,数十个参数,各种全局变量,重要的是,还没有正文。 或者过后感觉,这么简略,齐全没必要写正文。现在看来,全然不是那么回事儿。 翻完本人的旧我的项目,还是来总结下之前犯下的谬误。 多正文代码首先是给人看的,更多的时候是给本人看的,所以还是对本人好一些。把重要要害的信息正文起来,毕竟好忘性不如烂笔头。正文写好,代码的可读性个别不会太差,看不懂代码还能看正文搞懂逻辑。但正文并非越多越好,如果代码能容易看懂,就没必要写正文了。所以咱们要 减少代码表达力,从变量命名到逻辑拆解,都要让代码更易懂。小函数两百行的函数大体上是一段“坏”代码,相同,超过二十行的逻辑,就应该思考是否须要拆分。逻辑拆分,实质是逻辑解耦,看似很简略,但其底层逻辑却发人深思。小函数其实更容易进步代码复用性,毕竟反复永远是俊俏的。函数应该有尽量少的参数,这也意味着函数的逻辑趋势繁多,这也是设计哲学中,繁多职责准则的体现。多应用类事实世界中充斥对象,而代码世界恰好是真实世界的镜子,这就是要面向对象编程的底层逻辑。把逻辑封装进函数,更多是面向过程编程;把逻辑封装进类,则更多是面向对象编程。对象是过程更高一层的封装。胖模型瘦视图在 MVC 设计模式中,模型和视图都能够承载逻辑,但更优的计划是:胖模型瘦视图。即把逻辑封装在模型办法中,给模型赋予更多的性能,从而能够大幅度缩小视图层的复杂性。胖模型瘦视图同时也更符合高内聚低耦合的指标。重视设计模式设计模式是经典的,场景化解决方案,其实笔者开篇说的代码中充斥套路,就是设计模式。程序员能够分为两类,一类不晓得设计模式,一类纯熟应用设计模式。当你真心了解设计模式,你便会切实地感触到,这两种程序员之间的差距。所以,如果有工夫,请尽早学习设计模式。分层设计多应用类,实质上把逻辑纵向拆分;分层设计,则是把逻辑横向拆分。就像汉堡一样,每一层都是不同的滋味,他们组合起来才是美味。分层设计和设计模式,是代码易保护的关键所在。进步可读性后面所有的技巧,都为进步代码的可读性。想让代码看起来像自然语言,就必须要高度重视命名。尽管取名字往往难以抉择,其实也有法则可循,比方:类名多应用名词,函数名多以动词结尾等等。不要胆怯名字长,计算机并不关怀名字有几个字母,只有有助于了解,长点又何妨。命名是切记不要应用微软晚期的匈牙利命名法,比方变量后面对立加上 m_。如果每个变量都要加,那为什么不都省略呢,为何要多此一举。进步可读性另一个要留神的是,把逻辑相关性的代码放到一起。代码和作文一样,都有先后顺序,段落之间也都有关联关系。相干逻辑放一起,省得还要承前启后。总结本文仅仅是从笔者的旧我的项目延展,并未升华到哲学高度。但已表白分明,应该如何思考能力让代码更加易读易保护。倡议各位有工夫也翻翻本人的旧代码,你会发现总有改良的空间。

October 19, 2022 · 1 min · jiezi

关于程序员:理解Javascript事件循环机制Event-Loop

js是一个单线程家喻户晓,古代的编程语言倒退很快,造成了多种语言,在这其中,js是一个特例,它是一个单线程的语言,相比于JAVA、PHP、Python,js有它本人的独特,js运行于浏览器中,在浏览器中创立DOM、销毁DOM,为了可能保障程序可能失常运行,在设计之初,就规定了JS只能是单线程,构想下: 如果JS是一个多线程,在同一个时刻,有多个线程去操作DOM。比方同时执行更新DOM、销毁DOM。浏览器会产生错乱,并不知道此时应该是如何解决,造成程序的谬误,所以JS是一个单线程。 了解堆(stack)和栈(heap)的概念如果有同学晓得JS数据类型在内存中的存储形式,那么就应该晓得,JS的根本数据类型(string、number、boolean、null、undefined、symbol)是存储在栈中,而援用类型数据(Object、array、function)是存储在堆中,理论这样并不精确,因为援用类型对应的key在栈中,对应的value是援用类型在栈中的指针,指针指向的是在堆中的地址,(如果你学习过计算机的基础知识的话)如果对于这个不理解的话,能够查看这篇文章: js数据类型与内存存储<br/>与上述概念不同,明天所讲的堆和栈并不是这个概念(以下图来自MDN) 当页面开始执行函数的时候,会把以后执行上下文(content)压入栈中,初始化的时候,会把Global压入最底下,而后把初始化函数在压入栈中,执行init办法会顺次的向外弹出getList 、init、Global,当浏览器调配的调用栈内存空间被占满时,就会引发常说的“堆栈溢出”谬误。 <script> function init () { } function getList () {} init ()</script> 如果你能齐全了解以上的逻辑,那么以下的执行程序置信你也能得心应手<script> setTimeout(() => { conosle.log('执行setTimeout') }, 100) new Promise((reslove, reject) => { resolve('1') }).then(res => { console.log('2') }) // ‘1’ // ‘2’ // 执行setTimeout</script>了解工作队列概念后面说过,JS是一个单线程的,那么当执行工作的时候,就须要一个队列,排队执行,否则,工作凌乱,导致程序谬误,工作为同步工作和异步工作。异步工作在执行的时候不会阻塞主线程,会把工作放在一个队列外面,队列外面的工作分为宏工作(macro-task)和微工作(micro-task),会优先清空微工作,在去清空宏工作,而后在去查看以后主线程,是否有新的工作产生,周而复始 常见的工作划分宏工作微工作setTimeoutpromise(then、catch、finally)setIntervalprocess.nextticksetImmediateMutationObserverrequestAnimationFrame 下图就是主线程和工作队列的示意图。<br/>(图来源于阮一峰博客) 残缺的事件循环 写在最初我是crazyu,一位前端开发工程师。 文中如有谬误,欢送在评论区斧正,如果这篇文章帮到了你,欢送点赞和关注本文首发于微信公众号:crazyu 前端,未经许可禁止转载加我微信号:crazyu_chang,有任何问题能够随时与我沟通本文由mdnice多平台公布

October 19, 2022 · 1 min · jiezi

关于程序员:寻找中国云原生实践先锋的前1CNBPA-2022云原生最佳实践评选启动

即日起,云原生技术实际联盟(CNBPA),将在信通院云原生产业联盟(CNIA)和CNCF的领导下,面向各行业企业,公开征集2022年度云原生最佳实际案例,并将全方位展现入选企业在云原生技术实际方面的停顿和冲破,减速云原生技术更加宽泛、深度地落地,更好地赋能千行百业。 如果您所在企业是云原生实际的先行者、排头兵,欢送参加本次评比,让楷模的力量带动更多中国企业拥抱云原生,享受新技术带来的红利。 对于云原生技术实际联盟: “云原生技术实际联盟”(CNBPA)是由各行业云原生建设最佳实际企业以及行业顶尖的云原生平台提供商、行业解决方案与服务提供商联结发动的,汇聚国内外云原生畛域翻新利用与实际案例的技术生态联盟。 联盟聚焦Kubernetes、DevOps、微服务等前沿开源技术和理念,同时关注各行业企业建设云原生平台的胜利案例。为企业在不同行业场景下建设基于容器技术的云原生平台,实现自动化开发、测试、运维一体化过程并全面拥抱微服务提供门路参考和全方位反对。 作为全国首个以云原生技术利用实际为外围的组织,联盟将恪守“凋谢、交融、翻新、共赢”的理念,致力于推动云原生技术产业化落地;构建技术带动实际、实际反哺技术的良性生态;晋升云原生技术在市场的影响力。 更多行业前沿资讯,请关注云原生技术实际联盟(CNBPA)旗下“云原生技术社区”(微信ID:cloudnative_pro),期待您的到来。 本文由mdnice多平台公布

October 19, 2022 · 1 min · jiezi

关于程序员:华为云认证值不值得考含金量如何

想要在这个社会中挣到钱、过上好日子,就肯定要有够强的能力,也就是要内卷,要比他人优良,于是很多人都会偷偷去考技术证书,筹备轻轻惊艳面试官,取得一个薪资高、待遇好的工作。 华为云的认证是大多数人的一个抉择,无论是在校学生、刚进入职场的打工人,还是曾经工作了好几年的社畜,都能够考这个认证来帮忙本人取得更好的倒退。 自从云计算这项技术问世后,越来越多的互联网企业开始研发这项技术,华为云的起步比拟晚,过后很多企业曾经成型,市场被宰割结束,但事实却是,在短短几年之间,华为云倒退迅速,逐步占据了国内的局部市场,并且以自主研发的技术取得了泛滥客户的青眼。 华为云认证的劣势 1、华为云当初的口碑十分好,很多大型企业、政企单位,都会抉择将华为云作为本人的合作伙伴,而且民间对华为的认可度很高,国际局势、大众舆论,都将华为推到了后面,让人民对华为很认可,违心把华为作为本人的第一抉择。 2、华为云的技术是当先的,旗下所有的产品都是由自家的技术人员研发的,本人的技术,能够说在行业内曾经有了很大的名气、取得了宽泛认可,考取华为云的人才认证,也是学习华为云技术的一个过程,在这个过程中晋升本人,取得更好的技术。 3、对于考生来说,在考试的时候最放心的就是找不到适宜本人的认证,华为云则将本人旗下的产品分为了三个等级,适宜从老手到大佬的各阶层人群,每个人都能够找到适宜本人的认证,帮忙本人在各个阶段取得好的倒退。 华为云认证的考试流程 1、考生要先确定本人考哪个等级、哪个方向的认证,每个认证的考试内容、科目不同,每个等级的考试价格也不同,云计算、大数据、数通等是华为比拟热门的认证方向,考的人比拟多,而且找工作时也会被大多数企业认可。 2、确定好考试方向后,考生就能够在官网上购买考试券了,每个考试的费用不同,HCIA是180美元,HCIP是300美元,而HCIE 除了口试局部的300美元外,还须要8000人民币加入试验考试,能够说相当低廉了。 3、购买考试券后一年内都能够参加考试,在这期间,考生须要做好筹备,以防考试没通过。华为云的学习视频报名后就能够在网上收费观看,然而很多考生还是会寻找题库,来帮忙本人通过考试,有须要的人能够在认证大使网站上寻找对应的题库。 4、华为云的所有考试都是在线下进行的,考生在筹备好后,就能够在官网上查问当地的考场,抉择工夫适合的考点,进行预约。考试当天考生须要携带身份证,提前30分钟到场,配合监考员实现身份核查。 5、考试是口试,有抉择、填空、拖拽等题型,满分为1000分,只有达到了600分就能够通过考试。考试通过后当场出问题,考生就能够晓得本人有没有通过。 华为云证书的注意事项 1、华为云的证书在考试通过三天后,登录官网支付即可,证书只有电子版的,纸质版的须要考生本人打印。 2、华为云的证书有效期为两年,并且有一年的缓冲期,在这期间,考生须要从新考试、拿证。 

October 18, 2022 · 1 min · jiezi

关于程序员:面试官年轻人我看你很懂setState原理你来说说是同步还是异步的

这一次,我将带你一次性搞懂 React 中常见的 setState 原理。 setState 自身的默认行为在进入主题之前,你必定须要先学会 React 的根本应用。如果不会,请点赞来到;如果会用 React ,那就点赞珍藏后来到(●'◡'●)。 咱们在应用 React 的时候,常常会用到 state(一句废话),然而真正能齐全搞清楚 setState 的帅哥美女,的确没几个。毕竟程序员都不太可能像我一样博学(和难看)。那么,要搞清楚它,应该去投胎(整容)吗? 不,你须要先搞清楚 setState 自身的默认行为。 其实也很简略,咱们都晓得,setState能够传递对象模式的状态,也能够传递函数模式的状态。而不管状态是对象模式还是函数模式,它都会先将所有状态保存起来,而后进行状态合并,所有状态合并实现后再进行一次性 DOM 更新。 如果状态是对象模式,前面的状态会间接笼罩后面的状态。相似于 Object.assign() 的合并操作。 对于对象状态这一点,咱们有请翠花,上代码: 运行代码,Dom 中展现的后果为 1。很显然两次 setState 只有一次失效了。 真的吗?其实两次都有失效,只不过这两次 setState 在执行前,被合并成了一个。你不能说到底是那个失效,你能够说两个都没失效,因为最终执行的是被合并的那个代码。 如果状态是函数模式,那么顺次调用函数进行状态累积,所有函数调用实现后, 失去最终状态,最终进行一次性 DOM 更新。 翠花,再来一段代码…… 显著不一样的后果就能阐明,两次都执行了,因为函数状态并不会合并,而是以此运行。 好了,翠花能够先上来劳动了,前置只是咱们曾经梳理完了,那么,对于 setState 的钻研就完结了吗?当然不是,接下来,让咱们换个场子,持续掰滔(battle)。 setState 同步 OR 异步在面试场景中,只有和 React 相干,面试官肯定会舔着脸问你:“ 宝子,setState 是同步还是异步的呀?” 。 面对这样的无耻刁难,咱们须要先明确,从 API 层面上说,它就是一般的调用执行的函数,天然是同步 API 。 因而,这里所说的同步和异步指的是 API 调用后更新 DOM 是同步还是异步的。 来,咱们有请娜塔莎,上代码…… 果然,洋妹子端上来的代码的确不好消化,通过后果咱们发现,十分奇怪的一个景象: 第一次事件执行显然为异步的,先打印了两个 0,Dom 随之扭转为 1 ;第二次同样是异步的,然而咱们发现屡次执行没成果 (异步?);而第三次又是同步执行的了;这什么状况,洋妹子给咱们下了迷药吗?看我葵花宝典戳破它。 ...

October 18, 2022 · 2 min · jiezi

关于程序员:为什么PMP那么多人考这个证书有什么作用

对于从事项目管理行业的人来说,平时在率领团队、对接客户时,往往会遇到很多的问题,而怎么解决问题就是集体能力的体现了,如果在刚开始的时候烦谬误,大家都会体谅,然而如果常常犯错,就会导致我的项目的失败,导致领导的不满,缓缓得在公司内没有出头之日。在当初这个内卷的社会中,想要挣到大钱,就肯定要足够的优良、有出众的能力,让公司的领导足够信赖本人,那么就肯定要晋升本人的能力。 目前项目管理行业内最有名、含金量最高的证书,就是PMP认证,中文名是项目管理专业人士资格认证,是由美国项目管理协会发行并推广的认证,对于从事该职业的人,这是十分好的晋升能力、给本人镀金的证书。一方面,这个证书背靠PMI,早早被国内引进,曾经被市场宽泛认可;一方面,PMP的考试过程也是晋升本人能力的过程,通过零碎的培训,学习到项目管理的专业知识,考生能力顺利通过考试。 PMP报名条件 对于学历的不同的考生,PMP的报名条件也不一样。第一类:具备学士学位或等同的大学学历或以上者申请者在五大项目管理过程中至多具备4500小时的项目管理教训,并且,在申请之日前6年内,累计项目管理月数至多达36个月。 注:在计算项目管理月份时,所要求的36个月是不重叠的、独自的。 第二类:不具备学士学位或等同大学学历或以下者申请者在五大项目管理过程中至多具备7500小时的项目管理教训,并且,在申请之日前8年内,累计项目管理月数至多达60个月。 除此之外,报名考生必须具备35小时以上项目管理PMBOK学习或培训经验,并出示相干证书复印件。而且PMP的考试工夫是固定的,每年只有四次,失常算下来,要考一个证书须要将近半年的工夫。 PMP考试内容 PMP考试内容次要包含项目管理五个过程: 启动:确立一个我的项目或一个我的项目阶段。 布局:为实现我的项目,制订和保护一个可操作的打算。 执行:协调人力和其余资源以执行打算。 监控:通过监控和进度测量及必要时采取纠正措施以确保我的项目指标的实现。 收尾:正式验收我的项目或我的项目阶段并使其井井有条地圆满结束。 PMP证书有效期证书拿到后,相当于是一生无效了,然而每过3年须要续缴一次费用,相当于是会员续费,另外还须要攒够60PDU,能力顺利换审。

October 17, 2022 · 1 min · jiezi

关于程序员:如何选择小程序开发公司选择小程序开发公司步骤有哪些

企业数字化转型需要迅猛增长,小程序开发公司也如同雨后春笋一样不断涌现,因为很多企业刚接触数字化,只晓得须要开发小程序,但不晓得如何抉择适宜的小程序开发公司,因而容易遇到“坑”。企业在抉择小程序开发公司时应该留神哪些问题?好的小程序开发公司有什么规范?对于企业而言,好的小程序开发公司个别有以下步骤:首先,查问小程序开发公司的胜利案例,特地是与企业本身需要统一或相似的案例,能够通过案例的完成度、性能体验顺畅度等方面理解小程序开发公司的技术实力和理解零碎开发残缺之后的模式。其次,要深度小程序开发公司进行实地考察,因而企业在进行小程序开发时应尽量抉择本地的公司,这样能够对企业规模、技术人员数量及公司实力等有一个具象化的理解。最初,企业须要理解小程序开发公司能够提供的售后服务,是否能够在前期继续提供零碎运维服务。如开利网络科技有限公司提供的零碎售后保护服务便蕴含了企业零碎运维服务、服务器保护服务及数据库定期备份服务等,还提供营销落地经营陪跑服务,领有残缺的售后服务流程,让企业数字化更安心。

October 17, 2022 · 1 min · jiezi

关于程序员:重新思考-React-项目架构

在开始聊之前,我想定义一下架构的概念。大部分小伙伴都会问一个问题: 前端能有啥架构,不就是文件放到哪个文件夹吗?对,但也不对,所以咱们须要对齐认知: 到底什么是架构?在开始之前,我心愿你将视线从前端这个点扩大开,站在你正在参加开发的整个零碎来思考这个问题。 而后咱们先来看看一个绝对权威的对架构的定义是什么样的: Architecture is the fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution.这是 IEEE1471 对于架构的一个定义,它来自于 IEEE规范协会 下辖的 IEEE计算机协会。 从这里的定义来看架构指的是“零碎的根本组织”,体现为“组成这个零碎的组件以及组件之间的关系”,同时还应该蕴含该零碎“与环境的关系”,最初架构还应该“领导零碎的设计和演变”。 好的,那么零碎又是啥? A system is a collection of components organized to accomplish a specific function or set of functions. The term system encompasses individual applications, systems in the traditional sense, subsystems, systems of systems, product lines, product families, whole enterprises, and other aggregations of interest. A system exists to fulfill one or more missions in its environment.所以零碎指的是“为了实现某个或者一系列性能而组合起来的组件的汇合”,它能够是“单个利用、传统意义上的零碎、子系统、零碎的零碎、产品线、产品系列”等。 ...

October 17, 2022 · 2 min · jiezi

关于程序员:500强企业的系统性提升效能实践|ONES-研发管理大师课

October 14, 2022 · 0 min · jiezi

关于程序员:什么是架构什么是架构师

什么是架构,什么是架构师?这仿佛是聊架构话题时永恒的问题。 从心田讲我真的不想答复架构具体须要做什么,架构师应该具体负责什么。因为从理论状况看,在不同的零碎层级,不同的需要下架构师的职责也会不同;从不同的技术角度看,架构师又是个变色龙——一时是技术的大拿,一时是技术的规划者,一时是技术团队的指挥者。 那么,该如何答复“什么是架构,什么是架构师”这个问题呢?这或者须要先搞清楚另外一个问题——一名程序员是如何走上架构师之路的?我从许多敌人那里理解到了很多理论案例,程序员走上架构师之路,总结起来最多的起因是因为他早前代码写的好。 那么,代码写的好就是架构吗?显然不是。代码写的好只是表象,做所有事件都须要布局,尤其是一个简单的软件系统,这更须要布局,否则可能连一行代码都写不出。简单的软件系统肯定会须要做很多形象设计、对象布局、接口布局等筹备动作。也就是“上一辈程序员”口中所说的:具体设计。做架构次要的事件也仍旧如此,须要对整个零碎进行零碎的布局:模块、通信、边界、扩大、技术下沉等工作。这样的布局实现之后我的项目方能失常跑起来。 当然,架构也不仅仅是布局,还要做的另一件小事就是技术辨认。辨认出零碎中技术的难易区域,并合成简单技术,使之成为一个个技术的黑盒子,在此之上再进行新的技术布局,使整个零碎从技术角度来看是分档次的,从难到易,从大到小,但各层之间又是相互的黑盒。这也常说的让零碎模块间达到“鸡犬相闻老死不相往来“的状态。 零碎技术的辨认实现之后还要对另一种技术进行辨认,即人的技术。什么样的工程师适宜写哪一层的代码,那一层的技术对程序员技术的深刻水平要求到哪个点上。在做完这些事件整个架构外表上看是安稳进行了。 但实际上,架构的问题肯定会再次前来打搅:首先是测试工程师来询问“对于整体零碎架构而言这个利用该如何更好的被测试?”“咱们须要用什么样的技术来更好地保障软件的品质?”而后是运维工程师来询问“该零碎将跑在什么样的环境之上?”“咱们应该提供什么样的服务器?”“服务器上咱们会做哪些配置和装置哪些根底软件?”“咱们须要提供一个什么样的网络环境?”“有什么样非凡的网络配置?”“咱们须要做哪些安全策略?”……此时,架构师不时会像是一个掉入冰洞的猎人无比无助,头顶成群的苍蝇飞着,这些问题,有的懂点,有的不业余,还有的据说过没干过,有些仅限晓得原理。其实这些辣手的事件是考验架构师的一种能力:技术的宽度。 一个架构师须要足够的技术的宽度。从软件到硬件,从开发到测试,从运维到平安等都须要八面玲珑的理解。当然你可能不是这单方面畛域外面最深刻的人,然而你须要晓得它们是怎么做的(不仅仅是皮毛,要深刻原理),并且要晓得它们组合起来是个什么样的货色。技术面也足够宽了之后,是不是就会成为完满架构师呢? 答案是不会,因为还有新的问题要过去。这次的问题诸如“零碎在将来的运行过程中运维须要做什么?”“零碎在将来的性能迭代中如何更不便的扩大?”“零碎应该怎么批改?”“零碎应该被怎么样降级?”这时的你是不断很困惑?是不是感觉这个架构的世界好长啊,怎么像保姆一样什么都要管。但认真想想这是应该的,因为一个零碎首次开发并交付只是它生命周期中的一小部分而已。前面的保护、革新、降级才占了整个软件生命周期的绝大部分工夫。你是它的架构设计者,是它灵魂之所在,你当然应该设计好它的将来。这也是架构师做好的最初一件事件:零碎将来的设计。 认真想想,上文提到的这些案例全是架构的糗事,但糗事其实是架构师成长路上的必经之路。因为一个没有经验失败的架构师肯定不是个好的架构师。只有经验各种苦难,越过各种坑和各种苦楚之后能力成为一个优良的架构师。架构师也是一个很独特职业,不像古代教育里曾经很成熟的人文和物理教育体系,怠惰的人大都能通过零碎的浏览和教育能走向胜利。架构更像一种艺术、一门哲学,架构师们也好像通过多年积攒后突然间就像买通了任督二脉。

October 14, 2022 · 1 min · jiezi

关于程序员:阿里云的认证考试难不难证书有效期是多久

想要在当初的社会中找工作其实是一件比拟容易的事件,然而想找一份薪资待遇好、工作内容轻松的工作,就比拟艰难了,很多人不想做体力活、苦工,那么就必须要倒退高精尖技术,IT、互联网、云计算、大数据等等,近几年越来越多的新兴技术被开发进去,对咱们的生存也产生了微小的影响,同时让很多企业也不得不扭转本人的运行形式,将传统的线下运行,拓展到线上,让企业有了更多的倒退机会。 为了满足市场对云技术人才的需要,各家云企业也推出了本人的人才认证零碎,其中阿里云的人才认证,是相当具备含金量的。阿里云目前是国内排名第一的云企业认证,而且占市场份额将近一半,很多企业都是阿里云的合作伙伴,而且始终在一直减少,市场对阿里云认证的认可度是十分高的。 阿里云认证等级 1、阿里云ACA认证 阿里云的所有认证都是技术性认证,最根底的就是ACA认证,对于很多在校学生、刚毕业的打工人、新进入职场的人员来说,这是十分好的证书,可能减少本人简历的含金量,取得面试官的青眼,并且取得好的岗位和丰富的薪资。 ACA的考试也是比较简单的,在官网上报名后,就能够随时预约考试了;考试的费用也十分的划算,报名费只须要600,而且报名胜利后,就能够在官网观看学习视频了,考试有两次激活,即便一次没有通过,也能够收费考第二次。 2、阿里云ACP认证 对于大多数人来说,阿里云ACP认证是一个十分好的认证,综合性价比十分高,阿里云的绝大多数认证,这个都是最高级的认证,在工作后,能够考这个认证来帮忙本人晋升的能力,为本人将来的倒退做更好的打算。 这个考试的费用和难度都有所晋升,考试报名费须要1200元,除此之外还须要另外再购买学习视频,考试须要到线下的考试核心加入,而且只有一次考试机会,如果没通过,就须要原价再购买考试资格,于是很多人都会抉择寻找题库,来帮忙本人通过考试,有须要的人能够在认证大使上,具体理解一下。 3、阿里云ACE认证 这是阿里云最高等级的认证,然而并不是高级就好,一方面是这个认证的方向只有云计算架构师,对于其余岗位的人作用不大,没有肯定要考的必要,而且市场上其实更加认可阿里云ACP的证书,很多挂靠都会须要,ACE更多的是做我的项目须要。 而且当初ACE的考试工夫和金钱老本都很高,单单报名费就须要9600元,考试分为三个局部,别离是口试、试验和面试,都是线下考试,试验还须要到阿里云杭州的园区去参加考试,这就须要来回的路费和住宿费,另外还须要培训费、题库等等,零零散散下来,怎么也得一万五了。 阿里云证书事项 1、阿里云的证书是在考试通过三天后即可在官网查看,证书只有电子版的,如需纸质版须要考生本人打印。 2、阿里云的证书有效期只有两年,然而过期后依然能够在官网查看,有特地要求的话再考也能够。

October 14, 2022 · 1 min · jiezi

关于程序员:Go-为什么能火归功于这-5-个方面

在国外的播客节目 Go Time #100 中,Rob Pike 和 Robert Griesemer(Go 的两位创始人)和主持人 Jerod Santo 探讨了 Go 语言的胜利原因和一些思考。 如果你想发明一门胜利的编程语言,向曾经做到的人学习是十分有价值的。欢送对 Go 感兴趣的小伙伴一起围观! 阐明Rob Pike 将其归为了 5 个方面,在主持人 @Jerod Santo 的分享下造成了这篇《5 things Rob Pike attributes Go's success to》文章,与播客的内容绝对应。 目录如下:他们写了一份正式的标准。他们吸引了杀手级利用。他们启动了一个开源社区。他们使语言难以扭转。他们保持应用他们置信的性能。 他们写了一份正式的标准在介绍 Go 我的项目的起源时,Rob 说:"但这就是标准产生的时候。 是的,几个星期。 所以咱们真的开始了六个月左右的头脑风暴和近似塑造。咱们做的第一件重要的事件——兴许是咱们做的第一件重要的事件 —— 是咱们编写了语言的正式标准,我认为这是我的项目胜利的要害局部。 其中最重要的事件之一是 Ian Taylor 也在 Google,看到了标准,并决定为它编写一个编译器。有一天他走进咱们的办公室说:“哦,顺便说一句,我曾经为你的语言编写了一个编译器。” 那对咱们来说是一个了不起的时刻。 当然,他成为了团队的一员,当初他仍在钻研 Go。"该标准最后引起了 Ian Lance Taylor 等工程师共事的趣味。 他们吸引了杀手级利用可怜的是,Rob 并没有阐明他们晚期是如何吸引 Docker 的。 我猜,通过使语言……对程序员有吸引力? ♂️“是的,Docker 是咱们的杀手级应用程序,因为它是用 Go 编写的,运行良好,并且成为当初所谓的云计算的外围……咱们过来只称其为零碎编程或服务器。 其中一项关键技术是用 Go 编写的,这一事实证明了该语言对很多人的目标是正确的……而且我认为它实际上是一种十分好的语言。 这正是咱们在将语言放在一起时正在思考的事件,只管咱们本人并没有这样做。 起初 Kubernetes 是另外呈现的,其诞生来自谷歌。 然而,领有用你的语言编写的重要软件是用一种语言取得成功的一个十分重要的局部。如果什么都没有写,那么语言有多好并不重要。” ...

October 14, 2022 · 1 min · jiezi

关于程序员:前端怎么样限制用户截图

做后盾零碎,或者版权比拟器重的我的项目时,产品常常会提出这样的需要:能不能禁止用户截图?有教训的开发不会间接回绝产品,而是进行疏导。 先理解初始需要是什么? 是内容数据过于敏感,严禁透露。还是内容透露后,须要溯源追责。不同的需要须要的计划也不同。来看看就限度用户截图,有哪些脑洞?有哪些脑洞v站和某乎上的大佬给出了不少脑洞,我又加了点思路。 1、根底计划,阻止右键保留和拖拽。这个计划是最根底,以后可只能拦截一些小白用户。如果是浏览器,分分钟调出控制台,间接找到图片url。还能够间接ctrl+p,进入打印模式,间接保留下来再裁减。 2、失焦后加遮罩层这个计划有点意思,看敏感信息时,必须鼠标点在某个按钮上,照片才残缺显示。如果失去焦点图片显示不残缺或者间接遮罩盖住。 3、高速动静马赛克这个计划是可行的,并且在一些网站曾经失去了利用,在视频或者图片上随机插像素点,动静跑来跑去,对客户来说,每一时刻屏幕上显示的都是残缺的图像,靠用户的视觉残留看图或者视频。即时手机拍照也拍不齐全。理论利用须要优化的点还是挺多的。比方用手机录像就能够看到残缺内容,只是减少了截图老本。上面是一个知乎上的计划成果。(原地址): 正经需要vs计划 其实限度用户截图这个计划自身就不合理,除非整个设施都是定制的,在软件上阉割截图性能。 为了这个需要增加更简单的性能对于一些安全性没那么高的需要来说,有点轻重倒置了。上面聊聊正经计划: 1.对于后盾零碎敏感数据或者图片,次要是放心透露进来,能够采纳斜45度七彩水印,想要齐全去掉简直不可能,就是观感比拟差。 2.对于图片版权,能够应用当初支流的盲水印,之前看过腾讯云提供的服务,当然老本比拟高,如果版权需要较大,应用起来成果比拟好。 3.视频计划,tiktok下载下来的时候会有一个水印跑来跑去,当然这个是通过解决过的视频,非原画,画质损耗也比拟高。Netflix等视频网站采纳的是服务端权限管制,走的视频流,每次播放下载加密视频,同时取得短期许可,得到许可后在本地解密并播放,一旦进行播放后许可生效。 总之,除了相似于Android提供的截图API等底层性能,其余的性能实现都不完满。即便是底层管制了,一样能够拍照录像,没有完满的计划。不过还是能够做的绝对平安。

October 14, 2022 · 1 min · jiezi

关于程序员:程序员的坏习惯

前言 每位开发人员在本人的职业生涯、学习经验中,都会出一些坏习惯,本文将列举开发人员常犯的坏习惯。心愿大家可能意识和扭转这些坏习惯。 不遵循我的项目标准每个公司都会定义一套代码标准、代码格局标准、提交标准等,然而有些开发人员就是不遵循相干的 标准,命名不标准、魔鬼数字、提交代码笼罩别人代码等问题常常产生,如果大家可能遵循相干标准,这些问题都能够防止。 用简单SQL语句来解决问题程序员在开发性能时,总想着是否能用一条SQL语句来实现这个性能,于是实现的SQL语句写的非常复杂,蕴含各种子查问嵌套,函数转换等。这样的SQL语句一旦呈现了性能问题,很难进行相干优化。 短少全局把控思维,只关注某一块业务新增新性能只关注某一小块业务,不思考零碎整体的扩展性,其余模块曾经有相干的实现了,却又反复实现,导致反复代码重大。批改性能不思考对其余模块的影响。 函数简单简短,逻辑凌乱一个函数几百行,简单函数不做拆分,导致代码变得越来月臃肿,最初谁也不敢动。函数还是要遵循设计模式的繁多职责,一个函数只做一件事件。如果函数逻辑的确简单,须要进行拆分,保障逻辑清晰。 不足被动思考,拿来主义实现相干性能,先网上百度一下,拷贝相干的代码,可能运行胜利认为高枕无忧。到了生产却呈现了各种各样的问题,因为网上的demo程序和理论我的项目的在场景应用上有区别,尤其是相干的参数配置,肯定要弄清楚具体的含意,不同场景下,设置参数的值不同。 外围业务逻辑,短少相干日志和正文很多外围的业务逻辑实现,整个办法简直没看到相干正文和日志打印,除了本人能看懂代码逻辑,其他人基本看不懂。一旦生产出了问题,找不到无效的日志输入,问题根本无法定位。 批改代码,短少必要测试很多人都会存在幸运心里,认为只是改了一个变量或者只批改一行代码,不必自测了应该没有问题,殊不知就是因为改一行代码导致了重大的bug。所以批改代码肯定要进行自测。 需要没理清,间接写代码很多程序员在接到需要后,不怎么思考就开始写代码,写着写着发现自己的了解与理论的需要有偏差,造成无意义返工。所以须要多花些工夫梳理需要,整顿相干思路,能躲避很多不合理的问题。 探讨问题,表白没有逻辑、没有重点探讨问题不交代背景,上来就说本人的计划,他人听得云里雾里,让你从头形容你又讲不明。须要学会沟通和表白,能力进行无效的沟通和单干。 不能从谬误中吸取教训作为一位开发人员,你会犯很多谬误,这不可避免也没什么大不了的。但如果你总是犯同样的谬误,不能从中吸取教训,那态度就呈现问题了。 总结对于这些坏习惯,你是否中招了,大家应该尽早躲避这些坏习惯,成为一名优良的程序员。

October 14, 2022 · 1 min · jiezi

关于程序员:Snapshot现在已通过-4EVERLAND上传至Arweave

咱们很快乐看到 Snapshot 违心通过咱们的去中心化存储服务 4EVERLAND-Bucket 将数据上传到 Arweave 网络。成为 Snapshot 的 IPFS 服务提供商后,4EVERLAND 当初也是他们目前也是惟一的 Arweave 存储服务提供商。 分散式存储和分布式存储被宽泛认为随着 Web 3.0 本身的倒退而扩大,作为其将来增长的必要基础设施。咱们很快乐与宽泛的我的项目单干,并将一直降级和优化咱们的产品,以提供高速、稳固的存储服务。 为什么抉择 IPFS + ArweaveIPFS是目前业界应用最宽泛的存储协定,市场需求和应用场景还在一直减少。4EVERLAND的寰球高性能节点在响应速度和稳定性方面在同类竞争对手中具备很大劣势,并且随着4EVERLAND的退出,“Pin to IPFS”变得更容易、更快、更稳固。当然,这在肯定水平上解决了IPFS公共节点在扩散、带宽性能、物理间隔等方面的限度。4EVERLAND赋能的IPFS协定足以满足热数据层Web3域的可用性。那为什么咱们同时须要 Arweave 呢? Arweave 是一种新型的存储解决方案,为开发人员和用户提供可继续和永恒的数据存储。在经济性和存储效率方面,更适宜长期、不变的存储需要。作为 NFT 增长最快的畛域之一,Arweave 非常适合满足 NFT 数据存储的需要:它是永恒不可变的。同时,Snapshot 的这次尝试也让咱们看到了存储投票数据或治理后果数据的新可能性。同样,无论是集体还是组织都不应扭转这些后果。但在业界传统上,这些数据集中存储在集中式服务器上,而 Snapshot 通过 IPFS 扭转了这一点,而 Arweave。 通过利用 IPFS + Arweave 同步存储能够实现永恒和可追溯的数据,从而升高了数据失落的危险。 最简略的实现形式4EVERLAND 提供了应用 IPFS + Arweave 实现同步存储的最简略的解决方案之一。无需编码,无需额定操作,只需关上存储桶中的“同步到 AR”选项,4EVERLAND 将主动为您实现剩下的工作。 这意味着您始终能够将通过 4EVERLAND Bucket 固定到 IPFS 的文件同步到 Arweave 以进行永恒存储。在这方面,4EVERLAND作为市面上惟一同时兼容集成IPFS和Arweave存储协定的Web3开发平台,足以为开发者提供更全面的存储解决方案,满足不同的存储需要。高兴同步! 对于4EVERLAND4EVERLAND是一个集存储、计算、网络外围能力于一体的Web 3.0云计算平台。它旨在帮忙用户从 Web 2.0 顺利逾越到 Web 3.0,成为数百万 Web 3.0 开发者和应用程序的基础设施。 ...

October 14, 2022 · 1 min · jiezi

关于程序员:企业数字化转型怎么做如何开发数字化营销系统

数字化转型曾经成为企业进行业务降级、客户增量的次要形式,但什么数字化转型?企业要如何进行数字化转型?开利网络认为,企业数字化须要建设“平台+服务”模式,利用技术能力联合企业服务,独特造成企业本人的数字化实力。想要做好数字化转型,一个弱小的数字化平台必不可少。开利网络领有15年技术积淀,旗下蚓链营销零碎领有700+营销零碎和子性能点,可能为企业提供强有力的数字化平台,建设数字化业务流程。此外,企业也能够利用数字化平台链接更多内部单干资源,在积淀本人的数字资产的同时,发明更大的数字化价值。开利网络将为单干企业提供数字化零碎开发服务、数字化业务流程搭建服务、团队数字化培训服务及经营保护服务等,让企业更赚钱、更省钱,更值钱。

October 14, 2022 · 1 min · jiezi

关于程序员:为什么腾讯云认证在求职过程中很重要该怎么选择适合自己的

对于当初的人来说,想在毕业后找到一份好工作,是大多数人的现实,尤其是学习IT业余的学生,当初的市场中,只有IT行业是能向上倒退的,实体经济受到了微小冲击,同时也给互联网带来了机会,让更多的线上经济失去了倒退,所以对于IT业余的学生来说,近几年是十分好的机会,很多人都想抓住这个机会,于是腾讯云的人才认证证书就起到了十分重要的作用。 当初的社会有一个热门词汇“内卷”,每个人都想取得更好的生存形式,然而只有优良的人才能取得好机会、好工作,于是很多人在致力晋升本人,想在面试中被青眼,取得薪资高、待遇好的工作,就肯定要于一份丑陋的履历,而对于同样都是刚毕业、没有工作教训的学生来说,只有证书能力拉开两人之间的差距。如果是同样学历、同样资质的两个人,领有腾讯云认证的人,相对会比没有的人更容易被企业录取。 腾讯云认证等级 1、云从业者认证这是腾讯云最根底的认证,适宜一些在校生、没有工作教训、对云技术有趣味的人群,能够从事云产品销售、云产品经理等工作,对于刚刚毕业的大学生、想转行的人来说,是十分有益处的,不须要过硬的技术能力,然而足够在面对客户的时候解决所有问题,是十分好的门面。 2、TCA认证对于业余学习IT技术的人来说,在刚刚毕业的时候,腾讯云的入门级技术认证是十分好的一个工具,可能帮忙刚刚毕业的大学生取得一份较好的工作,尤其是对于有技术,想疾速挣钱的人来说,腾讯云的认证是十分有用的。 3、TCP认证每当加入工作几年后,人人都会想升职加薪,这个时候就须要一些于含金量的证书来帮忙本人了,腾讯云的TCP认证是目前腾讯云最高等级的认证,很多工作了几年多人会考取这个认证,来晋升本人的业余能力、取得更好的倒退。 腾讯云考试注意事项 1、对于考生来说第一步就是要先决定本人想考什么方向,腾讯的认证分为运维、开发和架构嗓方向,考生能够依据本身的条件和倒退方向来抉择考试方向。 2、决定好考试方向后要提前报名,因为腾讯云的认证每个月只有一次考试机会,在每个月的最初一个周六,而且会提前十天敞开报名通道,考生必须提前报名,否则当月就无奈参加考试,只能报名下个月的考试。 3、报名胜利后就能够开始筹备考试了,个别考生会通过观看学习视频和寻找题库来做筹备,有须要的人能够在认证大使网站上具体理解,他们家的题库覆盖率高,还有优惠报名券。 4、考试是在线上举办的,开考当天,考生须要提前半个小时进入考场,避免出现意外。 

October 13, 2022 · 1 min · jiezi

关于程序员:物联网轻量级开发方案在K3s部署Shifu实现云边端闭环

Shifu 是一个 Kubernetes 原生的IoT设施虚拟化框架。Shifu 心愿帮忙IoT利用开发者以即插即用的形式实现IoT设施的虚拟化、监督、管控和自动化。本文通过在本地集群中部署Shifu,实现通过MQTT、Http等形式接入物联设施,体验了用容器开发的门路实现物联网利用开发。 Shifu官网:https://shifu.run/zh-Hans/Github仓库:https://github.com/Edgenesis/...背景K3s 是SUSE基于Kubernetes做的一款开源的轻量发行版。它能够在边缘端算力受限制的场景中运行,非常适合边缘端有IoT设施的场景。Shifu 作为Kubernetes原生的开源物联网开发框架,利用分布式的思维将每一个IoT设施进行结构性的虚拟化,并将他们的能力通过Kubernetes服务的形式凋谢给下层利用。总体架构图 施行指南须要:软件: 硬件: 步骤:1. 在服务器端部署wireguard servera. 利用一件脚本 https://github.com/angristan/... b. 执行以下命令 curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.shchmod +x wireguard-install.sh./wireguard-install.sh c. 依照命令输出服务器的公网IP,按需增加用户,以下为理论输入,请按需更改: [email protected]:~# ./wireguard-install.sh Welcome to the WireGuard installer!The git repository is available at: https://github.com/angristan/wireguard-install I need to ask you a few questions before starting the setup.You can leave the default options and just press enter if you are ok with them. IPv4 or IPv6 public address: 192.168.0.1 # 这里批改为你的公网IP, 能够通过"curl ip.sb"来获取Public interface: ens5WireGuard interface name: wg0Server's WireGuard IPv4: 10.66.66.1 # wireguard 服务器接口的IPv4地址,如无需要,默认即可Server's WireGuard IPv6: fd42:42:42::1 # wireguard 服务器接口的IPv6地址,如无需要,默认即可Server's WireGuard port [1-65535]: 64191 # 这里批改为你的端口,开启端口后须要在主机的防火墙开始容许UDPFirst DNS resolver to use for the clients: 114.114.114.114Second DNS resolver to use for the clients (optional): 119.29.29.29 Okay, that was all I needed. We are ready to setup your WireGuard server now..................................这里输入省略.................................Tell me a name for the client.The name must consist of alphanumeric character. It may also include an underscore or a dash and can't exceed 15 chars.Client name: client1 # 装置结束提醒输出用户名子,自定义即可Client's WireGuard IPv4: 10.66.66.2 # wireguard 客户端接口的IPv4地址,如无需要,默认即可Client's WireGuard IPv6: fd42:42:42::2 # wireguard 客户端接口的IPv6地址,如无需要,默认即可.................................这里输入省略.................................It is also available in /home/ubuntu/wg0-client-client1.conf # 生成给worker节点的配置文件d. 请将脚本最初生成的配置文件 /home/ubuntu/wg0-client-client1.conf 保留下来,之后会放到worker节点上 ...

October 13, 2022 · 2 min · jiezi

关于程序员:当数字化成为时代趋势中小企业应如何面对机遇与挑战

人类社会的每一次改革,往往都意味着颠覆和翻新,数字化改革也是如此。有数据显示,从2012年至2021年,我国数字经济规模从11万亿元增长到超45万亿元,数字经济占国内生产总值比重由21.6%晋升至39.8%,这表明数字经济正描述着全新的数字时代图景,5G、大数据、人工智能及云计算等新技术将在个人消费和生产畛域施展更大作用。随同着数字化时代的到来,人们的生存形式一直产生扭转,这就要求企业领有与时俱进的能力,来迎接数字化时代下的各类时机和挑战。在数字化转型的路线上,数字化是润饰,转型才是重点。很多企业在数字化转型的路线上遇到瓶颈时,总以为是零碎不够弱小、硬件不够齐备,殊不知软硬件只是起因之一,软实力才是成败的要害,即企业组织架构搭建能力和数字化人才培养体系。企业应如何适应数字化趋势?如何成为数字化时代的引领者? 一、转变数字化思维模式想要在数字化环境中生存,企业决策者须要突破思维惯性、破除利益构造,做出自我超过的改革抉择。数字化扭转了人们的衣食住行,也扭转了人们的链接形式,企业的产品与服务也同样须要进行数字化翻新,通过数字化门路链接用户,发明更多可能。 二、翻新数字化竞争形式身处数字化环境,企业面临的不仅仅是来自同行的竞争,还面临着来自跨界、跨域企业的竞争。电商平台冲击实体门店、用数字化服务为用户提供更优驾驶体验的电动汽车洗牌传统燃油汽车行业、滴滴战胜传统出租车行业......数字化是实现“跨界打劫”的超级武器,让企业利用大数据、区块链等新型技术,向传统产业和业务模式发动挑战。 三、数据驱动跨界协同、共生赋能价值增量想做好数字化转型,企业须要围绕数据分析能力、上下游协同能力、组织架构建设能力、数字化人才培养能力及技术能力以造成企业的数字化战斗力。但大部分中小企业往往只具备局部能力、甚至还处于“转型无门”的状态,从“数据”和“共生”着手不失为企业以现有能力冲破本身资源与能力限度的一种办法。 一方面,企业须要借助数字化积淀和流通本身业务数据,为将来策略倒退提供指引;另一方面,企业须要“连贯”内部更大范畴的资源与能力,通过与合作伙伴共建命运共同体、彼此凋谢、信赖协同。数字化时代赋能企业策略从竞争逻辑转向共生逻辑,数字化并非满足用户的需要,而是发明用户需要;不是比谁更优良,而是企业能跟谁单干,为用户发明更多的价值。当企业能够作为“连接器”链接人与人、人与服务、人与商业甚至是人与设施,就意味着有了新的策略空间。如同开利网络“链企来”生态体系,基于区块链技术利用,联合700+营销性能点和子系统,以技术为底座,秉承“凋谢资源,利他共享”的价值观,通过链接优质人脉、带动产品流通、促成共赢单干,赋能企业抱团倒退,互链增值。想做好数字化转型,除了须要一个弱小的数字化服务平台,还须要向外链接、与合作伙伴共建共生。聚众智、聚众力,能力逾越企业甚至是行业当下限度,造成企业的数字化竞争力。开利网络联合15年技术研发教训与数字化畛域营销落地能力,也将赋能企业从顾客转向用户、从产品转向数据、从供给转向协同共生,整合上下游资源独特建设生态价值体系,通过共生价值抓住机遇,博得更大成长空间。

October 13, 2022 · 1 min · jiezi

关于程序员:华为云的认证难不难考该怎么样才能顺利通过

最近几年,互联网在咱们生存中的作用越来越大,越来越多的人也决定退出这一行,于是很多人都抉择考华为云的人才认证,来帮忙本人在这一行有所建树,那么华为云到底有什么特别之处呢?上面就和大使一起理解一下吧。 华为云的发家史其实比拟短,然而却像一篇爽文,在华为决定研发云技术时,国内曾经有好几家云厂商了,而且市场曾经被瓜分结束,所有人都认为华为必定是徒劳功夫,然而令所有人都没想到的是,华为云居然在短短几年内就站稳了脚跟,成为国内排名第二的云技术厂商,其旗下的认证也曾经被市场宽泛认可。 华为云认证劣势 1、 华为云的认证零碎是最早推广的,相当的成熟,而且技术性十分高,被宽广企业认可。 2、华为云的认证等级明显、阶层残缺,各类人都能够找到适宜本人的认证,适宜学生、刚踏入职场的人、有着丰盛教训的工作人员等。 3、当初华为在市场内的口碑十分好,从上到下,自政企单位到民间企业,对华为云的认可度是十分高的,有很好的民众根底。 华为云考试难不难 很多人想考华为云认证,然而又放心华为云的考试太难了,不晓得该怎么备考,其实华为云的认证有难的,但也有简略的,像是根底级的HCIA认证,就适宜在校学生、刚踏入职场的打工人等,通过后能够帮忙考生减少待业竞争力,顺利找到好的工作。 华为云的中等级考试是HCIP认证,这也是华为云综合价值最高的认证,很多人都会抉择考这个等级的认证,一方面是考试的难度不是很高,比拟容易通过,另一方面就是考试的费用没有那么高,对于大多数人来说,都是一个能够拿进去的价格。 最高等级的HCIE认证,这个考的人比拟少,次要是针对的是曾经工作了很多年,领有丰盛教训的人,这个考试的费用很高,须要有肯定积攒的人才能考。 华为与考试备考办法 1、观看学习视频。华为云的官网是比拟慷慨的,考生购买考试认证,在官网胜利报名后,就能够在官网收费观看学习视频了,考生能够自行安排学习打算,将全副视频观看结束,理解考试的内容、题型、知识点等等。 2、做题库。当初很多培训机构都有题库提供,覆盖率高、价格优惠,能够帮忙考生顺利地通过考试,有须要的人能够在认证大使网站上,具体理解一下。

October 12, 2022 · 1 min · jiezi

关于程序员:给网站添加代码统计实现流量的变现

前言流量统计变现金,如果你有属于本人的网站,接入后,就能够变现属于流量统计,不会增加任何广 告,跟挂统计一样,还能赚钱,本人测试了一下,确实能赚钱挂统计就给钱的平台,网站ip统计从原先的 付费,到当初的收费,比拟常见的有网站统计有,百度统计,谷歌统计等然而接入他们的统计,相当于是 收费给他们提供数据,不会有任何支出但应用易时代统计,统计网站流量的同时,却能够变现,其实相 当于是,为他们(百度,友盟)大数据提供信息参数+相当于‘余额宝’把钱借给‘银行’如何退出注册易 时代统计账号如何增加代码登录易时代统计账号后盾,点击菜单栏中的代码治理,而后把脚本嵌入到你 挪动端我的项目html页面当中的body上方即可 如何验证是否增加胜利当你把脚本增加到你网站后,在易时代统计首页下方,就会有统计记录,如下下方有统计记录,阐明曾经增加胜利了 当你关上你的网站发现,增加的链接呈现跨域这种问题,如下所示,不要慌,没啥问题,能统计到就阐明增加没有问题 为什么我的账户余额始终没变动因为你的网站没什么用户拜访哈,天然不会有什么统计,如果你的网站日拜访ip有好几万,访问量越大,收益也会越高; 日ip达到百万以上的访问量的网站,日均千把块应该没啥问题,晓得为啥csdn,很多资源下载站那么挣钱了吧因为有流量,而给它们间接带来广告产生的收益,是十分惊人的。 你所看不起的平时所疏忽的那些日拜访很大的草根网站,其实都在闷声发财,懂的人,天然懂总结做网站,开发利用,是一件长期性的事件,没有谁一开始就能中转高峰,须要耐得住寂寞,没法挣快钱,但却是一个值得长期保持做的事件兴许刚开始石破天惊,但通过与日俱增,工夫终会给你想要的答案,不鸣则已,一举成名,低调闷声发财。

October 12, 2022 · 1 min · jiezi

关于程序员:一分钟教你把Notion变为中文版

背景置信很多小伙伴曾经理解或正在应用Notion这款产品来治理咱们日常和工作中的很多事件,尽 管Notion在性能和体验上做的十分棒,十分的好用,但对于英语不是很好的同学(比方自己),在 有些时候还须要依赖翻译软件帮忙翻译一下,置信很多小伙伴也会想我一样,尽管英文的也能用,但 如果有中文那也不会回绝啦。果然,就发现了一款十分不便的谷歌浏览器插件,能够帮忙咱们汉化 Notion开始那么咱们话不多说,间接说重点,把Notion变为中文版一共分三步:1. 关上Chrome浏 览器,进入Chrome网上利用商店 搜寻扩大程序 NotionCn 增加至Chrome 实现装置~关上Notion测试一下

October 12, 2022 · 1 min · jiezi

关于程序员:程序员成长第十九篇要不要转管理岗

个别简单问题是没有对立标准答案的,毕竟每个人状况不一样。 要不要转治理岗?要答复这个问题,咱们须要先达成一个共识。什么样岗位是治理岗?我了解的治理岗是手下有人,且有局部工作工夫是放在人和我的项目上,而不是具体业务实现的岗位。 小公司的技术能降职的岗位并不多,常见的也就三级:小组长/研发Leader—— 技术总监—— CTO。有些公司技术总监就是CTO。 小组长/研发Leader:个别治理3-5集体。次要工作: 工作治理:评估工作量、定位开发流程、跟踪我的项目进度。 品质治理:代码重构打算、代码复查、技术难点调研、制订研发计划。 团队技术能力晋升:招聘面试、新人领导、技术分享、我的项目复盘等。 小组长的大部分工夫其实还是在具体实现上,小局部工夫会放在治理上。而且这些管理工作大部分也是和理论的工作无关。原来本人给本人拆解工作定工作量,当初帮忙上面组员拆解,原来本人做实现,当初须要学会调配一部分工作交给组员做。 技术总监:个别治理人数在20+。次要工作: 组建团队:招聘面试,造就团队小组长。 设计组织架构:依据产品布局岗位需要。 设计平台架构:依据产品抉择技术栈,解决软件系统复杂度带来的问题。 项目管理:协调我的项目资源,进步我的项目效率,保障我的项目按时上线。 组织文化:塑造企业文化、激活团队生机、打造学习型组织气氛。 从中能够看出,技术总监具体的编码实现性能绝对会少很多。与人和我的项目打交道的工夫会更多。我原来公司就有2个技术总监,一个偏技术,一个偏治理。偏治理的缓缓就不写代码了。偏技术的既做架构也做要害代码的编码。 CTO:次要工作跟技术总监差不多。看公司大小,除了技术总监的工作,还须要参加商业决策,制订公司策略。向上争取资源,做好资源分配和绩效考核。 另外,守业公司的CTO拿的薪资可能比技术总监低,但如果公司做胜利,能够取得不菲的将来收益。从岗位职责上能够看出,小组长的治理难度并不算大,对大部分人来说,如果有降职机会肯定要去尝试。 不适宜转治理岗的特色 一、喜爱和机器打交道,不喜爱和人打交道。 二、更喜爱本人去实现性能业务,享受实现过程。 世界上有没有那种被管理工作耽搁的技术大牛?有,但很少很少。毕竟,集体能力无限,想做成小事就得与人沟通单干。懂点治理是不是更容易做成事?而且相比于专研技术,转治理更容易。我倡议每个程序员都应该到小组长的地位上先尝试一下。如果你的确发现自己不适宜。那果决专研技术,做一个某畛域里的技术大牛也可。只有你具备他人发明不了的价值,薪资是绝不会低的。

October 12, 2022 · 1 min · jiezi

关于程序员:架构师的自我修养

1、何为软件架构? 软件架构,指从宏观角度阐明一套软件系统的组成和个性。 架构设计与需要剖析,概要设计,具体设计最大的区别在于“宏观”二字。要去架构师必须具备大局观,从全局角度思考问题。 2、软件架构蕴含哪些内容? 逻辑架构:软件要为哪些用户提供什么样的性能,架构设计中的所有决策来源于需要。架构设计不能搞经验主义。 数据架构:软件逻辑中的数据结构。功能性需要的外围是数据,所有业务流程都是围绕数据进行的。开发架构:就是软件代码的档次骨架。 运行架构:软件在运行过程中的所体现进去的非性能需要。包含高性能,高可用,可扩大,平安等。物理架构:软件的物理部署以及网络拓扑。 3、架构师的职责 3.1 架构师介于需要与研发两头的人企业对架构师的要求:纪要技术好,也要懂业务一名合格的架构师就须要多思考,多学习,有丰盛的我的项目教训。 3.2 架构师是统领全局的将军 3.3 架构师要作为技术大牛攻克技术难题 架构师要有一种“不吃不喝也要解决问题”的狠劲,一种见山开山,遇河架桥的精力去攻克技术难题。然而人的精力是无限的,攻克问题不能架构师一个人单打独斗,团队中架构师往往起到指引方向的作用。比方指定明确的技术方向,落实次要的设计思路等。 3.4 架构师作为策略规划师去布局将来策略领有弱小的战略眼光,能帮忙企业进行技术布局,指定将来的技术倒退方向。依据侧重点,架构师能够分为以下几种类型: 解决方案架构师: 偏重沟通客户,了解业务,为客户指定技术解决方案。零碎架构师:能力更加平衡,负责从我的项目的需要剖析到技术落地的全流程平台架构师:更侧重于技术,将技术难题封装成开发平台,撑持业务零碎企业架构师:从具体我的项目中独立进去,更侧重于布局将来的技术策略 4、架构师的思维模式 宏观思维抽象思维实例化需要 5、如何成为顶级架构师? 5.1 可能将业务转换成技术 作为顶级架构师,必须具备超强的落地能力,可能将用户的业务需要落地到技术计划,帮忙研发团队开发出用户违心应用的产品和性能。通过对业务的了解,梳理业务流程,挖掘用户痛点,而后落地到技术上,有针对性的指定技术计划。 5.2 能正当利用技术撑持业务 5.3 具备前瞻思维和战略思维 6、“5视图法”架构设计 怎么做高质量的架构设计呢?咱们须要依照肯定的章法,一步一步的进行,以防止脱漏要害内容。当面对简单问题时,最无效的解决思路是“分而治之”,将简单问题划分为多个绝对独立的问题,别离进行考量,解决。在架构设计上同样的能够采纳这种思路,即“5视图法”,将要设计的简单零碎从5个不同 的维度视图进行剖析思考。 逻辑架构数据架构开发架构运行架构物理架构

October 12, 2022 · 1 min · jiezi

关于程序员:Web3-的底层价值

咱们该怎么定义 Web3? 对于重要的概念,咱们有必要依据本人的了解下一个定义。在我看来,Web3 是大家对于一种新的商业模式或协作关系的总称或形象指代,而这套协作关系或商业范式的底层,是由互联网、密码学和分布式计算形成的关键技术——区块链。 区块链的实质是一张寰球互联网用户可读的,由共识机制决定谁来写的一张数据大表(「大表」一词,借鉴了王建硕老师的说法,通俗易懂)。 因为这张表人人可读、难以篡改,人们基于它达成共识的老本变得很低,信赖由此产生。既然 Web3 是对一种模式的形象指代,那么就必然有着丰盛的察看和解释角度,对它的具体定义因人而异。 比方器重集体主权和数据隐衷的,会强调 Web3 在数据平权上的作用,认为 Web3 的次要性能是让用户拿回账户(身份)和数据的主权; 比方不满于互联网平台的垄断位置的,认为 Web3 革新了商业与用户的关系,用户不然而消费者,还应该是产品\协定\平台的拥有者,认为 Web3 在 Web2 的「可读」(read)、「可写」之上(write),叠加了「可领有」(own); 还有人认为 Web3 更多是一种推崇弹性、凋谢、自治、通明和去中心化的思维,而 DAO(去中心化自治组织)则是这种思维在人类合作上的最佳实际;当然,还有很多人认为 Web3 是一种泡沫化的科技叙事,目前主要用途就是为投机者提供媒介(加密货币)。 以上说法或者都是正确的。 Web3 是什么,取决于须要它的人的看重的是什么,而后他\她就会基于本人的须要,找到定义 Web3 的视角。 就如同计算机对于财务小妹来说是统计和运算的工具,则对于居家退休的老太太来说是播放电视剧集的黑白屏幕。计算机是「一种具备高速解决材料能力的电子器械」这种定义,对于她们来说毫不重要,也没有意义。 那么,Web3 对于投资者来说,最重要的察看视角是什么? 我认为应该从两个视角登程: 「Web3」在经济和商业上提供了哪些底层价值? 商业我的项目应该如何用好它的价值? Web3 的底层价值:自由市场 + 信用机器 「在你看来,Web3 绝对于过来的互联网范式提供了什么新价值?」 这是 Mint Ventures 在研究员面试时最常问的问题。在想要进入 Web3 做一些长期主义的事件——比方守业、从业、投资——之前,咱们应该对这个问题有一个初步的答案。当咱们说到 Web3 我的项目与惯例的互联网我的项目的差别时,常被提到的特点有: Web3 我的项目引入了代币激励,非常重视经济模型Web3 我的项目是去中心化的,其产品的业务走向往往由社区治理决定Web3 我的项目器重与社区和用户共享其我的项目价值,用户不仅能够应用协定更能够「领有协定」 以上特点的确在 Web3 我的项目中更为常见,但在笔者看来却并非 Web3 的底层价值,它们都不是「Web3 提供了什么新价值」的好答案。因为: 以往的互联网产品同样对经济激励的设计十分娴熟,内容聚合我的项目「趣头条」(NASDAQ: QTT)通过「浏览赚钱」搜罗了海量的用户,胜利上市(只管当初曾经败落);经济模型的设计则是传统网游的拿手好戏,网游「梦幻西游」经营近 20 年仍然热度不退,其游戏内道具、货币体系的运行是很多 Gamefi 在设计时会参考的样本。 去中心化只是伎俩,不是目标;而社区以代币表决的机制其实与传统的股东大会制度是高度类似的。如果用户通过持有代币就意味着「领有协定」,那么持有公司的股票就意味着「领有公司」吗?实际上远没有那么简略。 在笔者看来,Web3 的确是一种全新的「范式」,这种范式不光是区块链技术以及构建于此上的加密产品,还蕴含了与之相应的思维风潮和翻新规范。 ...

October 12, 2022 · 1 min · jiezi

关于程序员:如何选择适合的小程序开发公司小程序开发公司推荐

因为小程序无需装置、无需下载,相较于APP而言能够节俭大量装置、下载的工夫,须要的开发成本和开发工夫也更少,因而成为了企业进行市场拓展、进行数字化转型的支流利用。想要开发本人的小程序,就须要对接适宜的小程序开发公司,不同的小程序开发公司善于的畛域不一样,可开发的零碎性能也不一样,应该如何抉择适宜的小程序开发公司?小程序开发公司举荐哪些呢?1:是否正规公司在抉择小程序开发公司之前,须要先理解公司的根本信息,能够理解企业信息、注册工夫、注册资本、经营范围等。广州市开利网络科技有限公司成立于2007年,是一家领有15年零碎研发教训的老牌技术公司,服务客户数量超过16万,致力于诚信经营,服务安心。2:有无业余的技术开发团队技术开发团队的专业性十分重要,能够从一些小程序开发公司的案例和开发教训中失去理解。开利网络服务客户超过16万,针对各行业都有成熟案例和行业解决方案,尤其是在营销畛域。3:售后是否欠缺小程序公司我的项目开发的服务过程是保障我的项目按期实现的要害,如果不足严格的项目管理流程,那么可能导致许多我的项目被延误。因而,为了保障小程序开发我的项目的及时实现,有必要理解小程序开发公司的服务治理流程。开利网络除技术服务提供外,还能为客户提供业余的营销落地意见、独特设置营销推广计划,让企业更赚钱、更省钱、更值钱。

October 11, 2022 · 1 min · jiezi

关于程序员:想考阿里云ACE需要做什么准备考试费用是多少

很多人当初想找 一个稳固、支出又高的工作,而在当初的大环境下,各行各业都不好做,只有互联网这样的虚构经济能有所倒退,于是很多人想往这一行转型,而曾经从事这个工作多年的人,也心愿能失去更好的倒退。 于是很多人都会抉择考阿里云的人才认证,来给本人镀金、减少职场竞争力,其中ACE是最高等级的,也是很多人想要考取的,然而自从阿里云考试改革后,ACE的考试内容、模式都有了很大的变动,上面就和小编一起理解一下吧。 想考阿里云ACE第一步是什么,是肯定要思考分明,到底要不要考这个证,考下来值不值得,因为阿里云ACE改革后,考试费用和流程都大大增加了很多。 阿里云ACE考试模式 当初阿里云的ACE考试分为了三个局部,是口试、试验和面试,每个局部独自报名,考生要是有一门没通过,从新报名考试即可,然而三门考试必须要在一年内全副通过,才能够顺利拿到证书。 1、口试考试 目前阿里云ACE的口试全副复原了线下,考生必须要到线下考场参加考试,须要考生提前在官网上查问当地的考试核心,抉择适合的进行预约即可。 2、试验考试 阿里云ACE的试验考试比拟麻烦,须要考生到杭州阿里云的园区内去加入,对于本地的考生来说,还算不便,然而对于当地的考生来说,就相当的费钱,尤其是当初疫情四起,出远门就分外的艰难,一不小心就会被隔离,所以没什么人会去考试。 3、面试考试 面试考试的工夫和地点没有明确的规定,因为自改革后没有多少人去考,官网告诉会依据考生的个人信息来安顿考场,须要报名后能力看见。 阿里云ACE考试费用 当初阿里ACE的三局部考试费用是离开的,口试是2400,试验和面试都是3900,除此之外还须要路费和培训费,零零散散算下来,将近要两万了,很多人为了不节约钱和工夫,会去找题库来帮忙本人通过考试,有须要的人能够在[认证大使](https://www.ls102.com/adbout)上具体征询。

October 11, 2022 · 1 min · jiezi

关于程序员:常见问题四层代理和七层代理有什么区别

最近在做集中答疑的时候,有不少同学有同一个疑难: 在后盾服务部署、运维的场景中,常常会用到代理,常见的有四层代理和七层代理。那四层代理和七层代理有什么区别呢? 01 OSI七层模型 02 TCP/IP 四层模型 03 代理是什么代理(英语:Proxy)也称网络代理,是一种非凡的网络服务,容许一个网络终端(个别为客户端)通过这个服务与另一个网络终端(个别为服务器)进行非间接的连贯。 一些网关、路由器等网络设备具备网络代理性能。个别认为代理服务有利于保障网络终端的隐衷或平安,避免攻打。 04 四层代理如果说网络层通信的粒度是物理终端设备的话,IP就是标记不同物理设施的符号,那么传输层通信的粒度是过程,端口就是标记不同过程的符号。 四层代理的四层就是OSI七层模型中的传输层;四层代理是基于IP+端口做的代理。四层通过虚构IP+端口接管申请,而后再调配到实在的服务器。 以常见的TCP为例,从三次握手的第一次握手开始,代理设施在接管到第一个来自客户端的SYN 申请时,即依照肯定的策略抉择一个被代理的后端服务器,并对报文中指标IP地址进行批改(改为后端服务器IP),间接转发给该服务器。 TCP连贯建设,即三次握手,实际上是客户端和后端服务器建设的,代理设施只是起到一个相似路由器的转发动作。在某些部署状况下,为保障服务器回包能够正确返回给负载平衡设施,在转发报文的同时可能还会对报文原来的源地址进行批改。 04 七层代理七层代理的七层就是OSI七层模型中的应用层;七层代理是基于内容数据做的代理(了解应用层中的利用数据),最终的转发规定取决于内容的差别。鉴于七层利用协定十分宽泛,当初的七层代理次要是指HTTP代理。 和四层代理不同的是,七层代理必须要先和代理设施三次握手后,能力失去七层(HTTP层)的具体内容,而后再转发。意思就是代理机必须要与客户端和后端服务器的机器都要建设连贯。显然,七层代理对代理设施的性能要求要高于四层代理。 咱们常应用的Nginx,用作代理服务器的时候,个别都是工作在第七层的。应用Nginx,咱们能够代理动态文件、ajax后盾接口、CDN重定向等等,都是在传输层之上理解内容后做的工作。 七层利用负载的益处,是使得整个网络更智能化。 例如拜访一个网站的用户流量,能够通过七层的形式,将对图片类的申请转发到特定的图片服务器并能够应用缓存技术;将对文字类的申请能够转发到特定的文字服务器并能够应用压缩技术。当然这只是七层利用的一个小案例,从技术原理上,这种形式能够对客户端的申请和服务器的响应进行任意意义上的批改,极大的晋升了利用零碎在网络层的灵活性。很多在后盾,例如Nginx或者Apache上部署的性能能够前移到负载平衡设施上,例如客户申请中的Header重写,服务器响应中的关键字过滤或者内容插入等性能。 另外一个经常被提到性能就是安全性。 网络中最常见的SYN Flood攻打,即黑客管制泛滥源客户端,应用虚伪IP地址对同一指标发送SYN攻打,通常这种攻打会大量发送SYN报文,耗尽服务器上的相干资源,以达到Denial of Service(DoS)的目标。从技术原理上也能够看出,四层模式下这些SYN攻打都会被转发到后端的服务器上; 而七层模式下这些SYN攻打天然在负载平衡设施上就截止,不会影响后盾服务器的失常经营。另外负载平衡设施能够在七层层面设定多种策略,过滤特定报文,例如SQL Injection等利用层面的特定攻打伎俩,从利用层面进一步提高零碎整体平安。 当初的七层代理,次要还是着重于利用HTTP协定,所以其利用范畴次要是泛滥的网站或者外部信息平台等基于B/S开发的零碎。四层代理则对应其余TCP利用,例如基于C/S开发的零碎。 05 常见的代理组件NginxNginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协定下发行。 其特点是占有内存少,并发能力强,事实上Nginx的并发能力在同类型的网页服务器中体现较好,中国大陆应用Nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。 这里能够简略比照下Nginx和Apache的区别,在资源上,Nginx占用的内存更少;在性能上,Nginx的并发能力更强;在社区方面,Nginx和Apache都领有宽泛的使用者,Apache的插件会比Nginx丰盛一些。另外Nginx的性能比Apache要丰盛一些,Nginx除了作为Web服务器以外,也常常作为反向代理服务器等应用,而Apache则次要作为Web服务器去应用。 LVSLVS这个用的比拟少,LVS全称是Linux Virtual Server,也就是Linux虚构服务器, 是一个由章文嵩博士发动的自由软件我的项目,它的官方站点是www.linuxvirtualserver.org。 当初LVS曾经是 Linux规范内核的一部分,在Linux2.4内核以前,应用LVS时必须要从新编译内核以反对LVS功能模块,然而从Linux2.4内核当前,曾经齐全内置了LVS的各个功能模块,无需给内核打任何补丁,能够间接应用LVS提供的各种性能。 LVS次要用于服务器集群的负载平衡。它工作在OSI模型第四层传输层,能够实现高性能,高可用的服务器集群技术。它便宜,可把许多低性能的服务器组合在一起造成一个超级服务器。它易用,配置非常简单,且有多种负载平衡的办法。它稳固牢靠,即便在集群的服务器中某台服务器无奈失常工作,也不影响整体成果。另外可扩展性也十分好。 HAProxyHAProxy是一个收费的负载平衡软件,能够运行于大部分支流的Linux操作系统上,既能够做四层代理,也能够做七层代理。 HAProxy也是反对虚拟主机的。HAProxy的长处可能补充Nginx的一些毛病,比方反对Session的放弃,Cookie的疏导;同时反对通过获取指定的url来检测后端服务器的状态。 HAProxy跟LVS相似,自身就只是一款负载平衡软件;单纯从效率上来讲HAProxy会比Nginx有更杰出的负载平衡速度,在并发解决上也是优于Nginx的。 HAProxy反对TCP协定的负载平衡转发,比方:能够对MySQL读进行负载平衡,对后端的MySQL节点进行检测和负载平衡,大家能够用LVS+Keepalived对MySQL主从做负载平衡。 以上,心愿对你有所帮忙。 作者 | 咚咚呛 本文由mdnice多平台公布

October 11, 2022 · 1 min · jiezi

关于程序员:慕课头条-百度地图上线错必赔服务水滴筹老板说国外没推行996和府捞面蔚来都想做咖啡生意

音讯称公众将在中国成立软件合资公司据国外媒体报道,公众团体正打算在中国投资成立一家软件生产合资企业。 预计该企业投资额将超过 10 亿欧元,对于这一打算的官网申明预计将于下周颁布。 岗位又减少了,好耶!水滴筹创始人称中国以外没有推广996水滴筹创始人沈鹏在慧眼中国环球论坛上示意: 中国企业到每个国家应该遵纪守法。水滴在中国以外每一个国家都没有推广996文化,即使倒退比中国节奏慢一点也没关系。 中国人惹你了?李锦记聘任前阿里高管为酱料团体CEO李锦记聘任前阿里巴巴高管靖捷负责李锦记酱料团体CEO,自10月10日起失效。 靖捷曾先后供职于宝洁、中粮和阿里巴巴。 李锦记方面称,靖捷将带给李锦记来自数字和互联网技术行业以及泛滥食品和疾速消费品公司的丰盛教训。 阿里味的大酱李国庆称直播赚1500万没揣兜里一分钱李国庆最近示意,直播一年,大略养活了100多人,赚了1500万。 然而本人没揣兜里一分钱,都用来养活早晚读书和直播公司。 都系裤腰带上了和府捞面首家“咖啡+拉面”便当快餐店停业近日,和府捞面在上海开了家20平米的“咖啡+拉面”便当快餐店——“PICK ME一根拉面”。 门店位于上海外滩SOHO,其菜单将咖啡、中式快餐、烘焙、小吃交融在一起。 做出了违反祖宗的决定蔚来申请注册咖啡商标上海蔚来汽车有限公司申请注册4枚“NIO CAFE”商标,国内分类为餐饮住宿、啤酒饮料等,以后商标状态均为申请中。 咖啡生意是不是真的很赚钱?百度地图上线导航错必赔服务百度地图发表,上线导航错必赔永恒服务。 用户可关上百度地图App搜寻“错必赔”即可随时申请保障,单次最高可获赔666元。 9月30日,百度地图发表正式切换为北斗优先定位。 世上本没有路,导航的人多了,便也成了路互联网健身平台Peloton将再裁500人互联网健身平台Peloton近日示意,将裁员约500人,约占员工总数的12%。这已是Peloton往年的第四轮裁员。 每日一寒,苏醒脑子。财报披露字节跳动全年净亏损6041亿元据《华尔街日报》报道,字节跳动2021年净亏损减少了87%以上,达到849亿美元,折合人民币6041亿。 而营业支出增长近80%达到617亿美元。 互联网挣钱互联网花,一别离想拿回家镶嵌劳力士iPhone14Pro售价93万,寰球限量仅3部俄罗斯侈靡品牌凯威阿最近推出了新作品——Grand Complications系列。 该品牌在手机的反面镶嵌了一个真正的劳力士Cosmograph Daytona表盘,甚至还配有三个表冠。 售价在93万左右,寰球仅3部。 金木水火你国内首条中药口服液用“塑料袋”代替玻璃瓶盛装近日,中药制药共性技术国家重点实验室示意:国内首条中药口服液条包生产线已建成投产。 该我的项目最大的特点是以新型“塑料袋”代替了传统玻璃瓶用来盛装口服溶液。 十分大的翻新 下个新我的项目:减少塑料袋吸嘴。 每日一得Spring 框架中用到了哪些设计模式? 就我集体了解而言,常见的有以下几种: 工厂设计模式 : Spring应用工厂模式通过 BeanFactory、ApplicationContext 创立 bean 对象。代理设计模式 : Spring AOP 性能的实现。单例设计模式 : Spring 中的 Bean 默认都是单例的。模板办法模式 : Spring 中 jdbcTemplate、hibernateTemplate 等以 Template 结尾的对数据库操作的类,它们就应用到了模板模式。包装器设计模式 : 咱们的我的项目须要连贯多个数据库,而且不同的客户在每次拜访中依据须要会去拜访不同的数据库。这种模式让咱们能够依据客户的需要可能动静切换不同的数据源。观察者模式: Spring 事件驱动模型就是观察者模式很经典的一个利用。适配器模式:Spring AOP 的加强或告诉(Advice)应用到了适配器模式、spring MVC 中也是用到了适配器模式适配Controller。本文由mdnice多平台公布 ...

October 11, 2022 · 1 min · jiezi

关于程序员:Python从入门到进阶

导读本文将举荐一个Github开源我的项目:python-tutorial。本Python教程蕴含了一些范例,涵盖了大多数Python日常脚本工作,是入门Python的学习材料,也能够作为工作中编写Python脚本的参考实现。 1. 学习内容1.1. 目录目录主题简要阐明01_basePython根底提供了数据类型、字符串、list、条件判断、循环、函数、文件、多过程的应用例子。02_advancedPython高级个性提供了数据库、高阶函数、迭代器、面向对象编程的应用例子。03_data_science数据迷信提供了罕用数据迷信库(numpy、scipy、scikit-learn、pandas)的应用例子。04_flaskFlask开发提供了Web框架Flask的应用例子。05_spider爬虫提供了网络爬虫的实现例子。06_tool实用工具提供了罕用的实用工具,包含参数解析、日志工具等例子。该我的项目蕴含了:Python根底,Python高级个性,面向对象编程,多线程,数据库,数据迷信,Flask,爬虫开发教程等 1.2. 根底 1.3. 高级个性 1.4. 数据迷信 1.5. Flask 1.6. 爬虫 1.7. 应用工具 2. 应用办法教程代码大多数为Notebook书写(文件后缀.ipynb) 应用Colab学习教程:点击各教程的即可在Google Colab关上Notebook并运行。 应用Jupyter Notebook学习教程:下载Python:倡议应用Anaconda,Python环境和包一键装好,Python3.7 版本下载本我的项目:能够应用git clone,或者下载zip文件,解压到电脑关上Jupyter Notebook:关上终端,cd到本我的项目所在的文件夹,执行:jupyter notebook ,浏览器关上01_base/01_字符串类型.ipynb,追随介绍交互应用无奈上Github的小伙伴,能够退出下方的Python学习与材料分享群。 援用@misc{python-tutorial, title={python-tutorial: Python3 Tutorial for Beginners}, author={Ming Xu}, howpublished={https://github.com/shibing624/python-tutorial}, year={2021}}本文由mdnice多平台公布

October 10, 2022 · 1 min · jiezi

关于程序员:阿里云的认证有几个等级适合什么人考

为什么在这样的大环境下,还有一部分人能挣钱,因为此消彼长,实体经济收到冲击的状况下,虚构经济必然要大幅增长,这样一来市场就须要大量的人才来满足需要。于是各家云计算公司都推出了本人的人才认证零碎,其中阿里云的认证是含金量最高的、最受欢迎的。 阿里云是目前我国排名第一的云计算企业,占市场份额将近一半,而且在国内上也是有很多合作伙伴的,很多中小型企业都会抉择阿里云作为本人的单干商,而且阿里云的认证体系残缺、从低级到高级,每个人都能够z找到适宜本人的认证。 阿里云ACA认证 1、适宜人群 阿里云ACA是最根底的认证,适宜在校学生、没有教训的人、云技术老手等,能够帮忙考生疾速地进入职场、找到适宜本人的工作。 2、考试费用 ACA认证官网报名是600元,报名胜利后能够间接在官网上观看学习视频,而且ACA考试有两次机会,如果第一次没通过,能够收费考第二次。 3、考试模式 ACA考试是线上考试,而且是报名后随时就能够考,须要考生筹备好电脑、放弃电脑摄像头运行良好,考试开始后须要考生待在空阔的房间中,全程不能有其他人呈现。 阿里云ACP认证 1、适宜人群 对于有丰盛教训、专业知识、曾经工作几年的人来说,能够抉择考ACP认证,这是阿里云综合价值最高的认证,很多方向最高就是这个,而且市场上须要挂靠的多是这个认证。 2、考试费用 ACP的官网考试费用是1200元,除此之外还须要另外购买学习视频,考一次须要将近两千了,而且ACP考试只有一次机会,很多人为了能顺利通过,会去寻找题库,来帮忙本人通过考试,有须要的人能够在认证大使网站上寻找对应题库。 3、考试模式 ACP的考试是线下考试,考生报名胜利后须要在官网上查问当地的考点、抉择适合的工夫预约即可,在预约胜利后官网上呈现考试信息,考生按时加入即可。然而认证大使也能够预约线上的考试,有须要的人能够去具体征询一下。 阿里云ACE认证 1、适宜人群 这是目前阿里云难度最高的考试,而且只有云计算架构师一个方向,个别是用来镀金、招标、做我的项目用的,考的人比拟少。 2、考试费用 ACE考试四月份进行了一次改革,当初考试的费用十分高,报名费须要9600元,除此之外还须要考试的路费、培训费等等,能够说一场考试须要破费将近两万了。 3、考试模式 ACE考试分为三个局部,第一局部是口试,考生须要到线上来加入;第二局部是试验,考生必须到杭州的阿里云园区参加考试;最初局部就是面试,考试须要到指定的地点去加入。 阿里云证书有效期 阿里云的每个证书有效期都是两年,到期后须要从新再次认证,所以综合下来ACP的认证性价比是最高的,含金量也十分好。

October 10, 2022 · 1 min · jiezi

关于程序员:K8s-为什么要弃用-Docker

在写“K8s”系列文章的过程中,很多读者留言询问 K8s 弃用 Docker 的事,放心当初学习 Docker 是否还值得,是不是该切换到 containerd 或其余运行时。 这些狐疑有肯定的情理。两年前,K8s 公布“弃用 Docker”的音讯时,的确在社区引起了“轩然大波”,影响甚至蔓延到了社区之外,K8s 不得不写了好几篇博客来反复解释起因。 两年过来了,尽管 K8s 1.24 曾经实现了“弃用 Docker”的指标,但很多人仿佛对这一点还不是很分明。所以本篇文章就来聊聊这个话题。 CRI(容器运行时接口)要了解 K8s 为何“弃用 Docker”,咱们得回顾一下 K8s 的发展史。 2014 年,Docker 正处于鼎盛时期,而 K8s 刚刚诞生。尽管它失去了 Google 和 Borg 的反对,但它还是比拟新的。 因而,K8s 首先抉择反对 Docker 。 快进到 2016 年,CNCF 成立一年,K8s 也公布了 1.0 版本,能够正式用于生产环境。这些都表明 K8s 曾经长大了。 于是发表退出 CNCF,成为第一个 CNCF 托管我的项目。它想利用基金会的力量联结其余厂商来“打倒”Docker。 在 2016 年底的 1.5 版本中,K8s 引入了新的接口标准:CRI:Container Runtime Interface 容器运行时接口。 CRI 应用ProtoBufferandgPRC来指定kubelet应该如何调用容器运行时来治理容器和镜像,但这是一组与以前的 Docker 调用齐全不兼容的新接口。 显然它不想再和 Docker 绑定,在底层容许拜访其余容器技术(如 rkt、kata 等),能够随时“踢开” Docker。 ...

October 10, 2022 · 2 min · jiezi

关于程序员:小程序系统开发平台有哪些如何进行小程序开发

为了节俭企业推广老本,带来更好的产品或服务推广转化收益,能够重复触达的私域流量成为越来越多企业的抉择,为了承载和转化私域流量,小程序的开发也必不可少。微信因为领有超过14亿的私域流量池,因而也有很多企业抉择进行微信小程序的开发以更好地承接来自微信的私域流量,特地是以批发模式为主的实体行业,如食品、美业、家政等。不过小程序开发也须要技术团队进行开发落地,应该如何抉择适宜的小程序零碎开发平台?广州市开利网络科技有限公司成立于2007年,领有15年零碎研发教训,能够为企业提供小程序零碎开发、营销模式设计、团队搀扶培训等全流程经营跟踪陪跑服务,让企业用更小的老本取得更高的收益,达到赚钱、省钱,值钱的指标。

October 10, 2022 · 1 min · jiezi

关于程序员:学会这种逻辑思维大厂面试成功率提升90

明天将结合实际的例子,和大家一起聊聊怎么在日常工作中践行逻辑思维能力。 这里案例来源于一道面试题,其中形容到: 有一个自营商品的电商产品,目前打算开发一个促销模块,要反对满赠、满减、打折,三种类型的促销,你认为开发该性能,有哪些重要的产品逻辑要思考到,请试着梳理。 看到这个问题,我的第一反馈是:这需要形容的不分明啊。 为什么要做这三个模块?目标是什么?要达到什么成果?具体什么场景?如何经营?等等,啥都没说,就一句话丢过去让做,这不扯么。 起初转念一想,毕竟是面试题,这些疑难,预计面试官是想让咱们本人提出来,再本人圆回来,以此判断咱们的思考全面性。 但话说来,日常工作中,的确也会常常遇到这种所谓 “一句话需要”,可能老板一个点子:咱们要上打折性能,就让你去开干了,留下一脸黑人问号的你,心里一直diss这不靠谱的老板。不过正如下面说的,这兴许正是老板对你的考验。那遇到这样的问题,应该如何思考呢? 首先要做的,就是搞清楚概念定义。 以面试题为例,满赠、满减、打折,这三个词,太过形象,间接去思考解决方案只会导致天马行空,没有章法。因而咱们须要通过自问自答的形式,明确以下几个定义,把题目范畴放大: 1、满赠。 要明确满的是什么?赠的是什么?怎么赠?三大问题。 满的能够是钱,能够是商品数量;赠的能够是商品,能够是虚构商品,也能够是促销特权(如优惠券,抵扣券等);赠的形式能够是下单即赠,能够是二次兑换。 2、满减。 要明确满的是什么?减的是什么?怎么减?三大问题。 满的能够是钱,能够是商品数量;减的能够是钱,能够是服务(比方运费);减的形式能够是付款立减,能够是买后返利。 3、打折。 要明确怎么折的问题,是间接金钱扣减,还是基于折扣券来打。 以上问题明确后,能力接下来给解决方案。咱们假如一种状况: 1、满赠。 满的是金钱,赠的是实体商品,赠的形式是下单即赠,也就是订单减少赠送商品,赠送商品价格为0。 2、满减。 满的是金钱,减的金钱,减的形式是下单间接减钱。 3、打折。 满的是金钱,减的是折扣金钱,减的形式是下单间接减钱。 在此基础上,接下来要思考的是将三种促销逻辑抽象化,讲清楚他们之间的逻辑关系。 首先,每种促销,都是一类配置项。都要配置:触发条件,触发动作,关联实体三个参数。 1、满赠。 触发条件:满XX元。触发动作:减少N件总价为0的Y商品。关联实体:Y商品2、满减。 触发条件:满XX元。触发动作:减YY元。关联实体:无3、打折。 触发条件:满XX元。触发动作:乘以M折。关联实体:无。进一步思考,每种促销,是否都要反对多条配置项独特发挥作用,如果是,那就还要思考反对阶梯价格。 接下来,就是要将商品SKU,和促销配置项做关联,实现具体的促销策略。关联时,须要思考层级关系: 1、一个SKU,关联一种促销的多个配置项时,应该如何解决? 2、一个SKU,关联多种促销的一个配置项时,应该如何解决? 3、一个SKU,关联多种促销的多个配置项时,应该如何解决? 简略来讲,要确认是否能够逻辑叠加,叠加后有哪些限度条件。 比方满赠后是否还能够再满减,满减了是否还能打折,打折是基于减后的钱还是减前的钱来折,打折后是否还能满减等等。 最初,还要思考实现促销后的售后问题,假如用户退货怎么退钱?这就要波及拆单问题。假如用户买了后折扣力度又增大了要投诉如何给用户补差价问题。当然这些非凡状况有思考会有加分,不思考也没太大问题,大的促销逻辑搞清楚即可。 说到这儿,你是否心里更无数了?其实无论需要大小、是否是一句话,只有咱们能基于这句话产生疑难,通过一直设问圈定需要范畴,再针对每个问题的答案给出解决方案,问题就能迎刃而解。这也是借助逻辑思维能力层层拆解问题的过程。 本文作者 | 慕课网精英讲师 申悦 360手机助手产品负责人,前36氪产品总监,前网易数据产品经理。公众号“互联网悦读笔记”主理人。 技术出身,做产品10年,善于C端内容产品、数据产品和toB中后盾产品。本文由mdnice多平台公布

October 10, 2022 · 1 min · jiezi

关于程序员:慕课头条马斯克要生孩子殖民火星腾讯申请狗头商标微软22年挂了所有日常实习生转正

双十高兴! 喜讯:明天还是周一。 《模仿人生4》10月19日收费EA发表《模仿人生4》将从10月19日转为收费游戏,所有新玩家可在各个平台收费玩耍《模仿人生4》本体,如玩耍DLC内容则需另外付费。 CEO腾讯学艺归来明年中秋国庆假重合无望连休9天2023年9月29日是中秋节,当天还是周五,10月1日是国庆节,如果两个假期重合,放假可达9天工夫。 具体放假安顿等官网颁布。 哦量子纠缠获诺贝尔奖2022年诺贝尔物理学奖揭晓,三位钻研量子纠缠的科学家阿斯佩、克劳泽和蔡林格获奖。 量子纠缠:两个同源基本粒子中,一旦其中一个量子状态确定,与它纠缠的另外一个量子状态也就确定。 兴许能见证量子通信的诞生了?据传微软22年转正挂了所有日常实习生据某社区音讯,多名微软日常实习生爆料转正被挂。 前不久,微软发消息称要在华扩招员工,现该条推送音讯已被删除。 连你个浓眉大眼的也遇寒了?首款 RISC-V 笔记本电脑上市阿里巴巴最近在 2022 年中国 RISC-V 峰会上公布了一款名为 TH1520 的全新高性能 RISC-V SoC。 当初,搭载阿里平头哥曳影 1520 SoC 的笔记本电脑 DC-ROMA 曾经上架阿里巴巴平台,这是首款 RISC-V 架构的笔记本。 带得动我的穿梭前线吗?美团外卖或进入香港市场从美团外部人士获悉,美团外卖业务正筹备进入香港市场,目前正在招募进入香港市场的工作人员。美团官网暂无回应。 你饿不饿啊,我外卖叫碗面给你吃椰树团体回应直播争议10月8日晚,椰树团体直播翻车,屡次被掐断。 对于网友质疑其“擦边球营销”的评估,对方相干负责人回应称,开设直播是因为产品须要,但不分明网友对于直播间的评估,临时不理解相干状况。 从一而终,矢志不渝,出奔半生,仍是少年腾讯申请新狗头图形商标近日,腾讯科技申请注册多个狗头形象图形商标以及“微信创意表情”商标。 首富马斯克要持续生孩子并殖民火星在对于马斯克的最新采访中,曾经有 10 个孩子的马斯克示意对人口降落问题十分担心,称可能会再要几个孩子。 在采访中他还调侃道一些敌人倡议他应该有 500 个孩子。 不仅如此,马斯克还示意如果寰球经济将损失 30%,他会亲自殖民火星。 **秦始皇靠兵马俑建设公开王国马斯克猛生孩子殖民河汉火星**李斌回应蔚来在欧洲四国“只租不卖”针对蔚来在欧洲四国布局订阅模式,蔚来汽车CEO李斌示意,车辆最终会变成服务,归根到底是消费品。 此外,欧洲市场对于“使用权”“订阅模式”曾经有很高的接受度。 这不就是小黄车四轮版每日一得Kafka 长处包含: 流解决平台:能构建实时的流数据处理程序来变换或解决数据流疾速长久化:能够在O(1)的零碎开销下进行音讯长久化高性能:单机写入TPS约在100万条/秒,音讯大小10个字节齐全分布式:Broker、Producer和Consumer都原生主动反对分布式主动实现负载平衡音讯有序:消费者采纳Pull形式获取音讯。通过管制可能保障所有音讯被生产且仅被生产一次客户端语言丰盛:反对Java、.Net、PHP、Ruby、Python、Go等多种语言本文由mdnice多平台公布

October 10, 2022 · 1 min · jiezi

关于程序员:快速入门Slurm资源管理与作业调度系统

疾速入门:Slurm资源管理与作业调度零碎 导读本文将介绍slurm,一个 Linux服务器中的集群治理和作业调度零碎。并对其根底命令和运行形式进行实战演练。 1. 简介 Slurm (doc:Simple Linux Utility for Resource Management)是一个开源、容错和高度可扩大的集群治理和作业调度零碎,实用于大型和小型 Linux 集群。Slurm 的运行不须要内核批改,并且绝对独立。作为集群工作负载管理器,Slurm 具备三个要害性能。首先,它在一段时间内为用户调配对资源(计算节点)的独占和/或非独占拜访权限,以便他们能够执行工作。其次,它为在调配的节点集上启动、执行和监控工作(通常是并行工作)提供了一个框架。最初,它通过治理待处理工作队列来仲裁资源的争用。 2. 指标 让用户申请计算节点进行剖析(作业)提供一个框架(命令)来启动、勾销和监控作业跟踪所有作业,以确保每个人都能够无效地应用所有计算资源,而不会相互烦扰。3. 命令commandDescriptionsbatch向 SLURM 提交批处理脚本squeue列出以后正在运行或在队列中的所有作业scancel勾销提交的工作sinfo查看所有分区中节点的可用性scontrol查看特定节点的配置或无关作业的信息sacct显示所有作业的数据salloc预留交互节点3.1. squeue第一个 SLURM 命令是 squeue。它能够显示所有应用超级计算机的人提交给 SLURM 调度程序的所有作业的列表。此命令能够告诉您超级计算资源的忙碌水平以及您的作业是否正在运行。 后果解读Header columnDefinitionJOBID该作业的ID,通常是一个很大的数字PARTITION调配给给定作业的分区NAME用户为此作业提供给 SLURM 的名称USER提交作业的用户名ST作业状态,running(R), PenDing(PD)NODES申请的节点数NODELIST(REASON)作业在哪个节点上运行(或未运行的起因)依据用户名查看工作运行状况squeue -u $USER # 用户名 3.2. scancel如果您提交作业并意识到因为某种原因须要勾销它,您将在 squeue 中应用带有上述 JOBID 的 scancel 命令 scancel 2867457这会向 SLURM 调度发送信号以进行正在运行的作业或从 SLURM 队列中删除待处理的作业。 3.3. sbatchsbatch 命令是最重要的命令,用于向超级计算集群提交作业。作业是在计算资源上运行的脚本。该脚本蕴含您要在超级计算节点上运行的命令。 sbatch slurm.batch.sh一旦您编写了 SLURM 提交脚本,就超级容易应用。这是许多新用户卡住的局部,但它的确还不错。您只需将题目增加到其中蕴含您的命令的文本文件。 3.4. sinfo有时可能很难取得一个节点并且您最终在 SLURM 队列中很长一段时间,或者您只是想在提交之前测试一个脚本并来到以确保它运行良好。找出可用节点的最简略办法是应用 sinfo 命令。 $ sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELISTdebug up 1:00:00 1 maint ceres19-compute-26debug up 1:00:00 1 mix ceres14-compute-4debug up 1:00:00 1 idle ceres19-compute-25brief-low up 2:00:00 2 maint ceres19-compute-[26,40]brief-low up 2:00:00 1 down* ceres19-compute-37brief-low up 2:00:00 59 mix ceres18-compute-[0-17,19-27],ceres19-compute-[0-5,7-9,12,21-24,35-36,38-39,41-42,44-45,47,55-63]brief-low up 2:00:00 4 alloc ceres18-compute-18,ceres19-compute-[6,28,43]brief-low up 2:00:00 26 idle ceres19-compute-[10-11,13-20,25,27,29-34,46,48-54]mem768-low up 2:00:00 3 idle ceres18-mem768-0,ceres19-mem768-[0-1]mem-low up 2:00:00 3 mix ceres18-mem-[0-1],ceres19-mem-1SINFO提供以下信息 ...

October 9, 2022 · 3 min · jiezi

关于程序员:为什么华为云的认证受认可度那么高有什么优势

对于当初的社会来说,生产方式产生了微小的变动,每个企业都在谋求新的倒退,心愿能在当初的市场上占有一席之地,网络就是一个很好的时机,能将很多小公司的货色放到网络平台上,被更多的人看到,倒退本人的新客户,拓展本人的新业务。 这样一来市场须要的对口人才也就减少了,各大云厂商也推出了本人的云技术人才认证体系,其中华为云的人才认证是广受认可的,很多人都会抉择考这个认证来帮忙本人倒退职业生涯,那么这个认证为什么有这么高的含金量呢,上面就和大使一起理解一下吧。 华为云认证劣势 1、华为云的技术倒退相当快,在短短几年之间,曾经做到了全国第二的地位,并且依然在持续倒退;另一方面,华为云每年都会投入大量的资金在技术研发上,能够说华为云的技术是在始终倒退的,并且放弃着高标准。 2、近几年华为在国内的口碑越来越好了,不仅是民间的支持率很高,政府对华为更是鼎力搀扶,而且华为也是在致力倒退本人,致力于回馈大家。 3、华为云的认证等级明显、各能力的人都能够找到适宜本人的认证,并且帮忙本人在工作上取得大的建树。 华为云认证考试注意事项 1、华为云的所有认证都能够在官网上找到对应的学习视频,考生能够间接收费观看,不须要再花钱购买。 2、华为云的考试每个方向的考试科目不定,比方数通,HCIA只用考一门,而HCIP就须要考两科,考生在报的时候要留神,须要将两门都报名、考试,通过后能力拿到证书。 3、华为云的所有考试都是在线下进行的,考生须要提前在官网上查问当地的考试核心、工夫安顿,抉择适宜本人的参加考试即可。 4、华为云的所有考试都只有一次机会,考生如若没通过,就须要原价再购买,所以很多人会寻找题库,来帮忙本人通过考试,有须要的人能够在认证大使网站上具体理解。

October 9, 2022 · 1 min · jiezi

关于程序员:什么是小程序小程序入门方式有哪些

小程序特地是微信小程序因为具备超过60个入口,因而不仅仅具备引流的作用,还领有社交属性,因而,想要经营好本人的小程序,能够先理解小程序的各个入口的特点来采取适宜的引流形式,再利用优质的内容或高频率的流动吸引和转化更多用户。从经营推广角度而言,小程序的入门形式有哪些?1:在小程序内充沛出现公司产品或服务好的产品或服务依然是吸引用户的先决条件,因而在进行正式推广前,企业须要打磨好本人的产品或服务并进行充沛展现,用户能力充沛理解企业的根本状况。2:做好推广定位企业须要依据本人的产品服务特色进行用户画像剖析,能力定位到适宜的用户群体,并进一步依据用户的生产特色进行画像细分,为后续的精细化推广进行用户数据积淀。3:圈粉后的流动经营是要害小程序作为粉丝承载的工具和伎俩,在实现引流后,还要进一步通过各种营销工具的应用和流动的进行施展用户的社交属性,造成口碑流传,能力算是实现了经营闭环。开利网络可为企业提供领有700+营销性能和子系统的数字化工具,同时还能够提供方案设计策动、团队培训及营销机制落地服务,让企业与数字化紧密结合,赋能营销闭环构建。

October 9, 2022 · 1 min · jiezi

关于程序员:吃透这些Redis知识点面试横着走附思考题

Redis 是一种开源(BSD 许可)、数据结构存储在内存中的零碎,用作数据库、缓存和音讯队列。 Redis 提供了诸如字符串、散列、列表、汇合、带范畴查问的排序汇合、位图、超级日志、天文空间索引和流等数据结构。 Redis 内置复制、Lua 脚本、LRU 驱赶、事务和不同级别的磁盘长久化,并通过 Redis Sentinel 和 Redis Cluster 主动分区提供高可用性。 1 集群的劣势上面是redis集群的几个显著劣势。 1.1 伸缩性,数据规模一直增大的时候,容易扩容 单实例模式:只能垂直扩大,增大机器内存的容量;集群模式:反对垂直扩大,也反对程度扩大,有更好的灵活性,也能够反对更大的容量;1.2 高可用,服务故障的状况,影响范畴小 单实例模式:故障转移前100%不可用(slave转换为master之前);集群模式:故障转移前局部不可用(集群规模越大,故障影响越小);1.3 高性能,查问和写入的性能= 单实例模式:查问能够扩散在多个slave,写入却只有一个master;集群模式:查问有多个master和多个slave,写入也有多个master;2 数据分片,一致性hash实现redis集群的外围点,是针对数据的分片,这里的一致性hash算法就十分要害。 2.1 一般的hash 算法node=hash(key)%number数量变动和node程序变动,导致node抉择的差异性微小,造成微小的缓存生效。 2.2 一致性hash hash(node) 造成虚构节点环,hash(key)落在虚构节点环,找到对应的node。 因为hash(node)的稳定性,与node程序无关。node变更只影响一小部分数据。 2.3 redis cluster的hash slot算法 关系: cluster > node > slot > key Redis Cluster在设计中没有应用一致性哈希(Consistency Hashing),而是应用数据分片引入哈希槽(hash slot)来实现。 一个 Redis Cluster蕴含16384(0~16383)个哈希槽,存储在Redis Cluster中的所有键都会被映射到这些slot中。 集群中的每个键都属于这16384个哈希槽中的一个,集群应用公式slot=CRC16(key)/16384来计算key属于哪个槽,其中CRC16(key)语句用于计算key的CRC16 校验和。 依照槽来进行分片,通过为每个节点指派不同数量的槽,能够管制不同节点负责的数据量和申请数。 3 集群元数据的一致性3.1 比照:集中式存储元数据 依赖内部的集中式存储服务,比方:zookeeper, etcd等,会减少运维累赘和零碎复杂度。 集中式的益处在于,元数据的读取和更新,时效性十分好,一旦元数据呈现了变更,就立刻更新到集中式的存储中,其它节点读取的时候就能够感知到; 不好在于,所有的元数据的更新压力全副集中在一个中央,可能会导致元数据的存储有压力。 3.2 gossip 协定来播送本人的状态以及本人对整个集群认知的扭转 ping / pong 音讯来确认节点的存活和同步全副的集群元数据。 ...

October 9, 2022 · 2 min · jiezi

关于程序员:慕课头条小米首台汽车正式下线元宇宙岗位薪资18w诺贝尔文学奖还没联系上得主

惦记国庆的第二天。 早安,打工人。 2022年诺贝尔文学奖出炉法国作家安妮·艾尔诺取得2022年诺贝尔文学奖。 颁布时,主办方还没分割上对方。 谁大周末的接电话啊?小米汽车首台工程车正式下线近日,小米汽车首台工程车正式下线。 小米副总裁在采访中表白,“(没想到)居然这么顺利,一上电就能启动,就能开。” 能开,是对一辆车最浮夸的赞美Meta 发表将解冻招聘并重组局部团队扎克伯格近日首次概述了团队重组和裁员的全面打算。 这将是自 2004 年 Facebook 成立以来的首次重大估算削减,公司将解冻招聘,并重组一些团队,以削减开销,从新调整优先事项。 元宇宙还没胜利,原宇宙就不行了谷歌开源1.65米长键盘Google 日本公司 “正儿八经” 地推出了一款脑洞大开的键盘 —— Gboard Bar。 这个键盘只有单行,下面的按键从 A 到 Z 按字母顺序排列(功能键和方向键也一字排开)。 求求了,大括号那里换个行好吗元宇宙相干岗位均匀月薪 1.85 万元智联招聘数据显示,2022 年 1-7 月全平台元宇宙相干岗位的均匀招聘薪酬为 18515 元/月。 薪资 TOP20 岗位中,深度学习、机器学习、数据架构师、挪动开发、机器视觉等岗位,均匀薪酬均超过 3 万元,深度学习更以 39971 元/月位列榜首。 程序员还是很赚钱。多地现「断崖式」降温10月8日至10日,中东部地区再次降温,这次华南地区气温也将显著下滑,最低气温或将广泛降至20℃以下。 这次是真的把寒气传给每一个人每日一得Linux 6.0 正式公布了。 Linux 6.0 领有许多新个性,从新的硬件反对到软件翻新,合订本: Linux 6.0 引入 F2FS 低内存模式,用性能缩小内存占用Linux 6.0 为 LoongArch 架构启用 PCI 和其余性能反对Linux 6.0 为 Arm64 增加 UEFI 镜像内存和 ACPI PRM 反对Linux 6.0 将其 H.265/HEVC 用户空间 API 晋升到稳固状态Linux 6.0 合并大量 char/misc 代码,提供 Gaudi2 反对本文由mdnice多平台公布 ...

October 9, 2022 · 1 min · jiezi

关于程序员:关于程序员成长的一些思考

任何一名技术大神都是从小菜鸟开始的,这应该无一例外。当然,有的人成长的快,有的人成长得慢,有的人保持下来,有的人大功告成。如果咱们在成长的过程中能把握一些办法,兴许能少走一些弯路。 器重基础知识万丈高楼平地起,咱们学习任何货色往往都是从最根底的学起。看过《倚天屠龙记》的人兴许都有印象,杨逍用了十年工夫才学到乾坤大挪移的第二层,而张无忌仅仅用了一个多小时就练到第七层。按理说,杨逍也是聪明绝顶之人,怎么在修炼乾坤大挪移这件事上跟张无忌会有如此之大的差距?除了因为张无忌的配角光环,小说外面也阐明了因为张无忌在之前练成了九阳神功,有着浑厚的内力,而乾坤大挪移是一门内力的应用技巧的文治,因而,张无忌修炼起来事倍功半,零打碎敲,没有半点阻碍。 小说里的武林高手往往都是内力深厚,这里的内力就好比咱们学习的基础知识。IT技术突飞猛进,可能明天用到的支流技术几年后就会过期,然而,万变不离其宗,基础知识不能说永远不会过期,但绝对比较稳定。扎实的基础知识能够帮忙咱们更疾速的学习新技术,以及理解原理。比方Spring框架,有的人只晓得怎么配置怎么用,降级了一个框架版本报错了也不晓得怎么搞,但有的人曾经能够通过解读源码理解其原理。如果基础知识不够扎实,往往就在一些低级问题外面兜兜转转。 立足于问题面对浩如烟海的各种技术,咱们没必要自觉学习,毕竟精力有限。咱们的工作其实就是在解决各种问题,解决问题体现出了咱们的职场价值,因而,咱们应该围绕着问题去学习。咱们能够通过各种渠道去查找材料,在这个过程中,咱们能发现某个问题下的相干知识点,能够通过思维导图来理清这些知识点的关系,咱们能够通过这种形式去发散式的去学习。而且,因为贴合理论工作,咱们学起来会更有劲一点,也会更粗浅一点。这比咱们买一本书从第一页看起成果要好得多。随着解决的问题越来越多,咱们的常识体系天然会丰盛起来。这好比在游戏中打怪降级,低层级的问题解决够了,能力上来了,天然的咱们就要面对更高层级的问题。 放弃好奇心前沿技术、新的工具、新的思维等新的货色,咱们不肯定会用到,但起码要有所理解。吃这一行饭,就应该对这个行业的动静放弃肯定的好奇心。思考一下看到的这些新的货色能解决什么问题,或者比照当下已有的同类货色会有什么劣势。这样,能够晋升咱们的视线,遇到问题的时候,能够有更多的解决思路。能够多关注一下一些技术社区的文章,一些技术类公众号等等。 理解业务技术究竟是要解决理论业务问题的,利用场景很要害,不要单纯为了技术而技术,脱离利用场景的技术计划是没有意义的。这一点,做B端系统的程序员可能深有体会。粗浅理解业务,能力明确需要背地的业务意义,而交融业务思考的产出具备更高价值。资深的程序员不仅仅是一名技术专家,而且应该是一名业务专家。 演绎总结好忘性不如烂笔头,对本人的学习成绩或工作经验总结成文,以便日后重温。我是倡议程序员要多写技术博客。写博客有很多益处,能够帮忙本人整顿知识点并造成本人的知识库,锤炼本人的文案能力,分享本人的心得,与其余技术工作者交换取得启发等等。 结语成长须要一步一步的去积攒,沉下心去学习,认真对待每个问题,放弃对技术的激情,勤于思考,坚持不懈,置信随着工夫的推移,小菜鸟也能成长成技术大神。加油!

October 8, 2022 · 1 min · jiezi