关于编辑器:什么是现在最挣钱的职业想从事需要什么能力

对于当初的社会来说,最须要的就是高精尖人才,想要取得丰富的薪资,就要领有业余的技能,而现在的信息通信技术就是最热门的行业,将来的很长一段时间里,市场都须要大量的对口人才。 人类社会进入工业时代后,每个国家都在奋力倒退科学技术,当初咱们正处于第四次工业革命中,信息通信技术是反动的主力科技,市场须要大量的人才,而在人口众多的社会中,想要被考到,就肯定要领有业余的技能证书。须要的人能够分割认证大使,具体理解。 1、阿里云认证 作为阿里云旗下的认证,其受市场的认可水平是十分高的,领有相干的证书,就取得了进入阿里云的机会,以及被其合作伙伴无限录取的机会,很多企业甚至会本人出资让学生考阿里云证书。 2、腾讯云认证 腾讯是我国的老牌互联网企业,他们始终走在技术的前沿,当初其旗下的云产品被广泛应用于各行各业中,尤其是社交和游戏,咱们生存中最重要的两个畛域,腾讯施展着很重要的作用,能够说,领有腾讯的证书,就领有了大部分企业的敲门砖。 3、华为云认证 作为互联网的后起之秀,华为的倒退无疑是飞快的,其旗下的认证在市场上的受认可度也是十分高的,而且华为的认证体系曾经十分成熟了,考取华为的证书,还能够给晋升本人的专业技能,减少本人的职业竞争力。 4、容器认证 CKA认证考试是由Linux基金会和云原生计算基金会(CNCF)创立的,以促成Kubernetes生态系统的继续倒退。该考试是一种近程在线、有监考、基于实操的认证考试,须要在运行Kubernetes的命令行中解决多个工作。CKA认证考试是专为Kubernetes管理员、云管理员和其余治理Kubernetes实例的IT业余人员而设的。

March 23, 2023 · 1 min · jiezi

关于编辑器:哔哩B站营销公司UP主达人视频种草推广指南

【本篇由言同数字科技有限公司原创】B站作为国内一个比拟垂直的内容外围平台,整体的经营和气氛都很受垂直用户的青睐,在各种社区类平台中是十分胜利的,并且B站始终都有着本人的商业化价值;本文作者分享了对于B站的商业化战斗力,咱们一起来理解一下。 01 寻找B站商业化变现的价值源头B站是谁?B站是一个以ACG内容为外围的原创视频社区,它利用PUGV的模式来制作视频并建设泛娱乐内容社区,次要以弹幕的陈腐玩法吸引用户应用,在此基础上实现流量商业化变现。 B站目前的变现形式次要就是四种:游戏变现、增值服务变现、广告变现、电商变现。 B站在开释商业化后劲方面,能够说比拟克服,以爱护内容生态及用户体验。正是这种心态,让B站在商业化实际中,一直的将各类商业元素与社区生态互相交融与尝试,最终走出了一条以用户为核心的多元化变现之路。 当然,商业化心态只是起到一个边界束缚作用,只有价值才是变现真正的驱动力。真正为B站带来规模化变现的,还是B站本身多维度的商业价值。联合招股书,这些价值次要体现在: 用户:B站领有优质且快速增长的年老用户B站的用户以Z世代(90年之后出世的人)为主,次要散布在一、二线城市等经济发达地区;而最近几年,B站继续破圈,用户曾经从Z世代扩大到Z+世代(1985-2009年出世人群),且保持高速增长。内容:B站构建了凋敝的视频内容生产生态B站从最早的ACG内容,逐渐扩大到各类泛娱乐内容(生存、娱乐、vlog等)、科普硬核内容(财经、军事、历史等),且跨畛域汇集了大量优良的UP主。在最新的招股书里,B站对本身的定义是“中国年轻一代的标志性品牌及当先的视频社区”,从中能够看出B站对于“视频”属性的内容强调;而以视频为外围,能够高效率的延展OGV、直播等多状态视频内容,极具商业化延展性。 社区:B站构建了高参与度高归属感的社区B站曾经成为国内互联网二次元文化的代名词,具备极强的用户参与度与归属感,且具备高沉闷、高互动、高粘性的典型特色。能够说,B站是一个年轻人的超级社区。B站是国内最具影响力的年轻人文化社区“万物皆可B站”以UP主为外围 深耕年老圈层内容乏味有料无力传播信息 粉丝黏性大爱好对味口头追寻造梗力强造梗出圈裂变流传圈层深耕创作硬核内容实在情感共鸣UP主是品牌跟消费者沟通间接桥梁 言同数字领有先进的数字营销大数据和杰出的广告服务(客户经理微信farawaywork,增加请备注来意)致力让品牌客户在数字营销旅程中实现业务指标,透过新媒体平台、媒体网站及网红推广渠道等,帮忙品牌取得、维持和增长客户。咱们的首要任务就是使用全方位对外数字营销策略,帮助国内公司进入中国市场。 将品牌嵌入优质的内容针对多元圈层进行浸透流传借UP主粉丝力量触达更大面积的年老用户让用户对品牌产品产生共鸣激发用户购买口头言同数字:UP主内容营销次要形式创意短片开箱视频好物分享业余测评内容植入 言同数字:B站推广策略 迷信匹配UP主 种草拔草一站式购买内容创作种草品牌资产积攒养草产品组合 晋升客群容量及转化效劳各平台购买落地 实现转化闭环扩充潜在客群优化投放效率 商单单干迷信匹配UP主帮忙品牌创作内容 边看变买邀约广告(框下广告/弹幕广告/浮层广告 复投触动信息流/播放页相干举荐建设广告主内容+数据资产 造成种草养草矩阵一站式解决转化难题 言同数字:UP主营销爆款套餐 可收费定制计划B站素人套餐千粉/百粉素人B站KOC性价比套餐万粉以上小达人B站达人KOL套餐中腰部/肩部/头部KOL账号资源 言同数字旗下1万+ 业余、创意、实力出圈的UP主热门TAG:情侣日常、人生心得、美食、科普学习、生存记录、搞笑、vlog、生存技巧、文化风俗、文化差异挑战、挑战、健身、时尚、美妆生存lifestyle 言同数字为您提供网红达人广告投放、电商直播带货(客户经理微信farawaywork,增加请备注来意)笼罩抖音小红书微信微博B站哔哩哔哩知乎快手头条等网红达人账号资源,营销参谋一对一服务,收费定制策动计划整合营销策略实时跟进优化高效专属服务。

March 22, 2023 · 1 min · jiezi

关于编辑器:speckle入门介绍

举荐:将 NSDT场景编辑器 退出你的3D开发工具链https://ted.sinoccdc.cn/ 注册在应用 Speckle 之前,您须要一个帐户!您能够在咱们的收费官网 XYZ 服务器 (关上新窗口))否则,如果您的公司运行本人的 Speckle 服务器,您能够应用他们提供的 URL 进行注册注册时,敌对的入职向导将疏导您实现一些设置步骤。创立您的第一个流恭喜 !您当初有一个 Speckle 帐户并已登录,您看到的是 Speckle 网络应用程序。在这里,您能够查看和治理已发送到 Speckle 或其他人与您共享的数据和 3D 模型。当初让咱们创立您的第一个流:为此,请单击显示“新流”的蓝色大按钮。 什么是流流是 Speckle 外部的数据汇合。您能够将流视为文件夹、我的项目或存储库。流中的数据存储在提交中,提交是数据在工夫上的快照。每次从连接器发送到 Speckle 时,都会创立一个提交。提交也能够组织在分支中,例如,具备多个设计选项或按规程存储数据。默认分支称为 main。应用连接器发送和接收数据新流总是空的,为了将数据放入其中,咱们须要应用泛滥 Speckle 连接器之一 什么是连接器连接器是设计和剖析软件的插件,它们使您能够间接从应用的工具替换几何图形和BIM数据。装置咱们的连接器,您将立刻可能与别人共享您的模型和数据,或从网络拜访它,或将其加载到其余受反对的软件中。您能够在每个连接器的文档局部:连接器中具体理解每个连接器。装置除非另有阐明,否则连接器是从名为 Speckle Manager 的独立桌面利用装置的。⬇️ 下载斑点管理器 (关上新窗口)当新版本可用时,经理也会告诉您,因而您永远不会错过好货色!⚠️ 重要要应用咱们的连接器,您还须要应用管理器登录您的 Speckle 帐户。向导将在您装置管理器时领导您实现该过程,如果须要,也能够从咱们的 Web 应用程序实现该过程。Grasshopper和DynamoGrasshopper和Dynamo的连接器相当统一。最重要的组件/节点是 和 。这些连接器将应用您在 Speckle 管理器中设置的默认帐户,但能够应用相干组件/节点笼罩此帐户。Send DataReceive DataAccount您还能够获取组件/节点到 、、 和流,以及获取流的流或更多流。能够应用特定流、分支、提交或对象的组件或 URL 来检索流。CreateGetUpdateDeleteListDetailsList最初,还有一些更高级的组件/节点,用于创立和扩大自定义对象、JSON 序列化和本地发送/接管。 Revit,Rhino,AutoCAD,Civil3D,Bentley等大多数其余连接器共享雷同的用户界面,您能够在其本人的局部中浏览无关它的更多信息。从中,您能够抉择之前创立的流,并决定是从中发送还是接收数据。很简略吧?! 如果您想晓得所有各种受反对的软件之间容许哪些数据交换,咱们创立了一系列反对的元素表来帮忙您。 在线查看您的模型在您向 Speckle 发送内容后(也就是您应用 Speckle 的术语创立了提交),您将可能在咱们的 3D 查看器中看到它并将其嵌入到简直任何其余网页中。 只需返回咱们的网络应用程序中的该流即可!以下是咱们为您创立的示例:https://speckle.xyz/streams/3073b96e86 (关上新窗口)一旦你的数据在Speckle上,你当然能够做更多的事件,比方:管理权限与别人共享在咱们的UI和3D查看器中摸索它通过 API 以编程形式拜访它通过其余 Speckle 应用程序应用它将其接管到其他软件中增加评论和问题(行将推出!多!#论断就是这样,伙计们!您当初已胜利设置并领有开始应用 Speckle 的工具。如果您须要无关咱们在此处介绍的任何内容的进一步领导,请转到上面更具体的局部。如果你想理解更多对于代码方面的信息,开发文档应该是你的下一站。如果您想理解无关在 AEC 软件之间发送数据的更具体指南,请查看咱们的教程 (关上新窗口).如果您喜爱 Speckle,有任何疑难,或者想分享任何反馈或倡议,请拜访咱们的社区论坛 (关上新窗口)并退出对话。3D建模学习工作室翻译整顿,转载请表明出处!

March 22, 2023 · 1 min · jiezi

关于编辑器:Blender传递拓扑与UV教程

举荐:将 NSDT场景编辑器 退出你的3D开发工具链传递拓扑和UV是咱们工作中常接触的步骤,以往咱们须要传递拓扑或者UV时都是应用Maya进行传递,Maya关上须要等很久且操作繁琐常常会遗记步骤,这里教一下大家应用Blender进行传递属性,应用Blender工作流的小伙伴就无需再关上Maya传递啦~接下来说下传递步骤。1、传递拓扑流程将MD制作好的衣服导出一个3D与2D的模型。 将2D模型导入ZB从新布线。 关上Blender,先将从MD导出的2D与3D衣服模型导进Blender。先选中3D的衣服再选中2D的衣服在右侧物体数据属性中增加合并为形变。抉择2D衣服下的状态键-3D拖拽值(明度)即可来扭转状态。 接着将方才在ZB从新拓扑布线完的2D衣服导进Blender,抉择拓扑完的2D衣服增加外表形变修改器,点击吸管汲取方才增加了状态键的2D衣服再点击绑定即可。接着再回到增加完状态键的2D衣服进入物体数据属性调整明度值即可。2、UV传递UV传递也很简略,比方下图中左侧为有UV的模型,右侧为无UV的模型,先选中无UV的猴头再选中左侧有UV猴头Ctrl+L抉择复制UV贴图即可(抉择程序很重要),但这里要留神须要传递的模型不能进行编辑,否则会报错。 这里咱们还有另一种办法对编辑过后的模型也能够进行UV传递(包含顶点色)首先须要确保两个模型是重合的状态,先抉择有UV的模型,再抉择编辑过无UV的模型,在左上角进入权重绘制抉择传递权重。 点开左下角弹出的传递网格数据,在数据类型中抉择UV即可。能够看到应用这种办法能够传递的属性还是十分多的,比方倒角权重和UV缝合边都能够传递,大家能够本人多去试验一下,这里就不多形容了,这次的Blender传递教程就到这~起源:https://jiaocheng.hxsd.com/course/content/12163/

March 21, 2023 · 1 min · jiezi

关于编辑器:cesium热力图

举荐:将 NSDT场景编辑器 退出你的3D开发工具链https://ted.sinoccdc.cn/ cesium 热力求很多敌人在问热力求怎么做,然而大部分一闭口就是问怎么做这么形象的问题(这种问题很不好答复,顶多他人只能答复一句用heatmap能够做,而这个问题轻易谷歌,bing搜一下能够失去后果),而不是做的过程中遇到了什么具体的问题,这样不好;其实,有工夫还是实际一下比拟好,尝试过,碰到了具体问题再发问,这样在发问时,有晓得问题答案的敌人也就间接通知你了。ok,开始搜索引擎搜寻一下 “cesium 热力求”你能够很轻松拿到一些信息:heatmap能够做一些地址:cesium-heatmap地址 https://www.npmjs.com/package/cesium-heatmap源码地址 https://github.com/danwild/CesiumHeatmap官网地址 https://www.patrick-wied.at/static/heatmapjs/一些成果,能够评估这个成果是不是你要的,官网鼠标挪动也能够预览成果然而个别这个时候对于怎么做还是很懵逼,那么,尝试一下吧:实际先下载源码网页的readme外面写了一个例子,那咱们的指标显示搭建例子环境先来创立一个空的cesium-demo页面,我这里基于之前的代码,创立lesson13,不细说不是很想看阐明,二话不说,先把示例代码放到index.html中,引入相干的两个js到页面中,看看什么状况;这里运行时发现报错,说是不意识’define’,cesium的源码组织走的是requirejs的路子( requirejs en cn ),找到谬误的中央,相熟的人一看就晓得可能改怎么改,不晓得的敌人能够看看HeatmapImageryProvider.js 文件顶部的阐明,5个步骤,4个批改步骤,最初一个提醒做完这些操作就可用,这里我应用未压缩的打包版本CesiumUnminified来测试a. 增加类, 代码内容 “define(‘Scene/HeatmapImageryProvider’,[“……” return HeatmapImageryProvider;});”整段,增加到define定义之后,Cesium定义之前,cesium外面provider有很多,如果你晓得一两个就更好了,HeatmapImageryProvider和他们的角色类似,这里咱们能够搜寻BingMapsImageryProvider,能够查找它,而后把定义代码放在它之后,这样,应该不会错b. 增加 ‘./Scene/HeatmapImageryProvider’ 到Cesium另一的第一个参数 搜寻”define(‘Cesium’,[” 将它加到BingMapsImageryProvider相似配置之后,c. 增加 Scene_HeatmapImageryProvider 到Cesium第二个参数,同上思路d. 增加Cesium[‘HeatmapImageryProvider’] = Scene_HeatmapImageryProvider;到cesium外部,搜寻”var Cesium = {“,增加e. 移除HeatmapImageryProvider.js 文件中的heatmap.js v2.0.0 之前的内容(最初一段压缩过的代码就是heatmap.js的内容)f.最初缩放一下viewer.camera.setView({ destination: Cesium.Rectangle.fromDegrees(bounds.west,bounds.south,bounds.east,bounds.north)});g. 刷新可看到成果如果想将性能退出cesium的生产包,须要批改源码,批改办法相似,打包能够参考cesium编程中级(二)源码编译参考源码

March 21, 2023 · 1 min · jiezi

关于编辑器:Blender材质贴图入门图文教程

举荐:将 NSDT场景编辑器 退出你的3D开发工具链大家好,明天跟大家分享Blender材质贴图入门图文教程,一套blender的PBR材质包,和HDRI环境纹理贴图,在文末支付,心愿能助到大家更高效实现场景练习。据我理解,越来越多人开始学习了blender这款软件,很多是想学而没有工夫学,我这次将带大家理解和学习,简略给模型上材质的过程。先来康康最终渲染好的贴图,而后进入过程解说。 1、创立立体(1).双击关上blender;(2)删除两头的box,应用快捷键shift+a创立一个立体;2、创立视窗为了离开不便操作,咱们把底部再拖出一个窗口。在右边的编辑器类型里,抉择着色编辑器,并点击新建。这样就失去了两个操作视窗。 3、链接材质接着咱们关上下载好的材质包,抉择一个材质文件夹,往里面拖入贴图,能够先拖入三张贴图,别离是色彩,法线及光滑度贴图。点击小黄点,把节点连接起来,这样就算给模型附上材质了。触类旁通,其余模型也能够像这样,给没有材质的模型附上材质。4、渲染预览根据上述,材质节点曾经链接好了,咱们来看看成果,关上视窗右上角的渲染预览,默认的渲染引擎是eevee,它能实时预览视窗中的成果,除非面数过多,不然是十分晦涩的。5、增加环境在左边的世界属性中,点击色彩旁边的小圆圈,而后抉择环境纹理后,点击关上,找到寄存HDRI环境纹理的文件夹,并抉择一张天空关上。 如果环境光太亮,这里能够调整天空的光源强度6、增加节点咱们失去这样一个渲染成果后,能够发现,当初的水面太润滑了,咱们能够升高一点高光,并在空白处按shift+a,在转换器里增加一个色彩突变,来进一步调整水面的成果。增加了色彩突变这个节点后,咱们下一步要把它连贯下来,拖住色彩突变的顶部蓝色地位,移到光滑度贴图和糙度连贯的线之间,它会主动连贯下来。而后左右拖动两头的黑白条,达到想要的成果。 7、增加灯光在场景中按shift+a,增加一个点光或聚光都可, 想要暗一点的环境,还能够在色彩增加一个伽马节点,把数值1改为1.3,伽马节点管制着场景的亮度。 这就是最终出现了贴图了,大家动起来试试吧。好啦,这次分享就到这里了~分享若有不足之处还望大家海涵,贴图在下方链接获取。链接:https://pan.baidu.com/s/1XJF0CvonvlPpb5esG4R6Dg提取码:tg03起源:https://jiaocheng.hxsd.com/course/content/11117/

March 20, 2023 · 1 min · jiezi

关于编辑器:一款免费插件blender

举荐:将 NSDT场景编辑器 退出你的3D开发工具链孪生场景编辑器(NSDT)https://ted.sinoccdc.cn/ Hello . 大家好!明天给大家安利一款从blender到unreal的插件。随着blender的大红大紫,各种插件也被陆续开发,这里分享的就是一款github下面收费的插件blender for unreal。首先该插件能够将你blender外面做的所有Mesh,SkeletaMesh,Animation(NLA和Actions),Collision,Camera,Sequencer等进行导出。它也能够同时导出场景外面的所有assets,简化了从blender导出到unreal中的办法。同时,这个插件蕴含了一个谬误查看器,为了避免导出出错所以会生成一个python脚本,能够在unreal中间接调用这个脚本将blender中的camera和animation以levelsequence的模式导到unreal中。装置首先文末获取插件。插件有两个版本0.2.6.2和0.2.3d,别离实用于blender2.8和blender2.7。下载插件当前肯定不要解压这个zip压缩包,因为blender辨认的插件格局是.py和.zip。咱们只须要把blender关上,而后Edit-preference在弹出的界面中抉择Add-ons,而后点Install而后抉择下载下来的zip后。Install Add-on from File…,而后就看到插件曾经被加载到blender外面了,勾选后面的勾勾会将插件加载到工具栏外面。回到blender界面,点击视图右上角把插件的界面给拉进去 利用当初来简略介绍一下罕用的导出性能一、导出物件在view窗口抉择一个物体,在插件窗口会对应显示名字以及导出属性;抉择要导出的物件,设置导出类型为Export recursive,这个能够导出lod等属性。留神每个须要导出的物件都要进行设置。抉择了Export Recursive后,每个对象将连同所有子对象一起导出到fbx文件中。如果你不想导出子级,能够在子级中抉择No exported。默认状况下,fbx文件的场景核心将等于blender中对象的原点地位。所以,物体在blender场景中的地位无关紧要。对于Skeletal mesh,导出时须要设置为Export recursive.单击最上面的Export for UnrealEngine4进行导出。二、导出collection在3D视图(T)中关上“工具”面板,将其放大,找到插件中的Export,这里能够勾选须要导出的类型(collections)在插件结尾单击update collection list能够更新collection,而后抉择要导出的collection最初单击最下方Export for UnrealEngine4导出collection三、Collisions and sockets能够间接在blender外面给物体创立collisions(StaticMesh)和sockets(static/SkeletalMesh)1.创立一个mesh来用作collision(对于sockets,创立一个empty对象)。Asset能够蕴含多个collisions,然而每一个collision只能被用在一个对象上。2.抉择你的collision(或者empty),最初抉择须要附给的物体。3.关上collisions and sockets面板,单击响应的按钮来将抉择转换为collision或者socket(collider会变成绿色)。如想要用胶囊,请在同一个对象中应用2个球体如果是更改蕴含了collision的对象名称,就须要在插件最下方点击checkpotential errors来更新所有collision的层次结构和名称四、导出lod这个只实用于用UnrealEnginePython导出的StaticMesh1.抉择你想要导出的物件而后导出属性抉择为Export recursive2.而后把你所有的lods模型都抉择为Export recursive,并且勾选Export as lod?(lod0不勾选)3.抉择main asset(lod0),而后关上属性面板ObjectImport Properties4.别离用用下拉框抉择或者用吸管吸入对应的lod1,2,35.设置完当前一拉到底导出文件五、用UnrealEnginePython导入unreal1.在blender中,关上Import Script面板,而后抉择一个你想要导出的地位2.点击check potential errors查看谬误而后导出3.关上Clipboard Copy面板,复制命令4.装置UnrealEnginePython,资源包外面有安装包,有趣味能够自助搜教程装置5.在unreal中,关上python的控制台,window-Developer Tools-Python Console6.在python Console中粘贴方才复制的命令unreal_engine.py_exec(r”C:[Folder]\ImportSequencerScript.py”),Folder就是脚本的地位,默认在ExporterFbx文件夹中blender文件的地位7.回车就能够看到咱们的物件曾经被导进unreal啦更多功能可戳:https://github.com/xavier150/Blender-For-UnrealEngine-Addons资源获取链接:https://pan.baidu.com/s/1NeFITH2lJZqIzElN07ae5w提取码:ckn3复制这段内容后关上百度网盘手机App,操作更不便哦起源:https://jiaocheng.hxsd.com/course/content/11035/

March 20, 2023 · 1 min · jiezi

关于编辑器:Proteus-Pro单片机模拟仿真软件-V813-下载激活教程汉化版亲测可用

 Proteus是英国Lab Center Electronics公司推出的一款电路仿真软件,也是目前为止最好用的单片机仿真软件。Proteus深受单片机爱好者、从事单片机教学的老师、致力于单片机开发利用的科技工作者的喜爱,应用范畴宽泛,次要用于电器、电子原件的设计与开发。反对8051、HC11、PIC10/12/16/18/24/30/DsPIC33处理器的应用,在编译方面能反对AR、keil和matlab等多种编译器。 装置教程 1、下载解压,失去proteus pro 8.13 sp0原程序、patch破解文件和汉化补丁; 2、首先双击文件“P8.13.sp0.exe”装置软件,承受协定后,抉择”Use a locally installed license key”; 3、在许可证装置界面,浏览指定patch破解文件夹中的Licence.lxk许可证文件,点击install装置许可证; 4、再抉择软件的装置目录,按默认门路装置即可; 5、胜利装置,先不要运行,点击close; 6、再以右键管理员身份运行PP.exe破解文件,留神:补丁工具无窗口的,运行一次即可。 7、至此,软件胜利破解,但还不是中文; 8、这时将软件包中的汉化补丁复制到软件装置目录下替换; 默认目录【C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional】 9、至此,软件胜利汉化,以上就是proteus pro 8.13 sp0汉化破解版的具体装置教程,心愿对用户有帮忙。 快捷键 F8:全副显示 当前工作区全副显示。 F6:放大以鼠标为核心放大。 F7:放大以鼠标为核心放大。 G:栅格开关栅格网格。 Ctrl+F1:栅格宽度0.1mm 显示栅格为0.1mm,在pcb的时候很有用。 F2:显示栅格为0.5mm,在pcb的时候很有用。 F3:显示栅格为1mm,在pcb的时候很有用。 F4: 显示栅格为2.5mm,在pcb的时候很有用。 ...

March 19, 2023 · 1 min · jiezi

关于编辑器:Cesium应用篇Clock控件

举荐:退出你的3D开发工具链孪生场景编辑器(NSDT)https://ted.sinoccdc.cn/ 创立跟Clock相干的次要有Animation控件和Timeline控件,通常两者会放在一起应用。在Cesium中,Viewer默认开启这两个控件,如果你想要不显示控件,能够在Viewer初始化中设置其为false,代码如下:但这种形式只能在初始化时设置,无奈动静的切换显示状态,灵便度上稍显有余。如果你有这方面的须要,能够应用如下这种形式,同时Widget是自适应,也会动静调整布局。基于Viewer来创立这两个控件并不简单,但某些时候(只管我想不出这样的场景),用户心愿在本人的div上创立控件,也就是脱离和Viewer的关联,尽管十分麻烦,但Cesium还是反对了这种形式。首先,须要加载对应的css文件,并创立寄存Animation的DIV目前须要指定对应的id和class,并指定z-index属性,否则会被球体压盖。当然,也能够本人实现css,不过比拟繁琐,而且你只能批改格调,Animation的形态是外部用SVG绘制的,并绑定了对应的事件,要想DIY,工作量更大。而后,创立对应的clock和Animation控件,绑定id为animationContainer即可。这样,咱们就独立于Viewer创立了Animation控件。这种属于高端用法,适宜一些个性化的成果,你要敞开Viewer自带的Animation和Timeline,同时如果你须要和球体在工夫上同步,须要援用cesiumWidget的clock而不是本人独自创立的,保障时钟同步。当然,Cesium也提供了一个lighter的css格调,可供切换,具体代码请参考Animation.html。Clock上一节次要波及界面局部。但无论是Animation还是Timeline,都严密的和Clock关联在一起。首先,Viewer在初始化时,外部会创立一个Clock,所以倡议用户应用viewer.cesiumWidget.clock而不是本人创立Clock,毕竟在一个利用内,工夫通常都是规范的,创立多个Clock反而混同了。Clock中默认开始工夫(startTime)为以后工夫,终止工夫(stopTime)为24小时后,并能获取以后工夫(currentTime)。另外能够设置ClockRange属性,用户能够依据本人的须要来设置,默认为: UNBOUNDEDCLAMPED达到终止工夫后进行LOOP_STOP达到终止工夫后从新循环UNBOUNDED达到终止工夫后持续读秒JulianDateClock外部以儒略日(JulianDate)保护工夫。其起始日期为公元前4713年1月1日中午12时,这和咱们罕用的格林威治工夫略有不同,次要是天文学家应用。JulianDate类提供了十分丰盛的接口,工夫的比照,运算,和格林威治工夫的转换等,简略易用,齐全满足各类需要。同时外部还能够采纳国内原子时(TAI)的形式来记录。上面是Clock的一个简略用法:最初要强调的是tick办法,Cesium外部每一帧都会调用该办法,实现工夫状态的更新和检测。波及到工夫的细节很多,比方TimeInterval,TimeConstants,后续如果有波及,咱们在具体介绍。AnimationAnimation默认显示的是格林威治工夫,而少数状况下,咱们心愿可能显示以后零碎工夫,这就须要重写timeFormatter办法,代码如下,详见Animation2.html。这样,外部持续以格林威治工夫为规范,保障光照等成果的正确,同时在工夫显示时,调整为零碎所在时区工夫显示。TimelineTimeline控件默认以以后工夫为终点,长度是24小时,而如果Clock采纳UNBOUNDED,则存在超出该时间轴的范畴的可能,上面,咱们设计让Timeline可能动静的依据工夫的变动动静更新:原理也很简略,每一帧检测以后工夫是否在可视时间轴范畴内,如果不是,则调用zoomTo更新时间轴的范畴。可见,只有纯熟使用Clock的办法,咱们能够很好的微调相干控件的细节,更好的满足不同的需要,源码背后了无机密,这也是源码带给咱们浏览的乐趣。

March 17, 2023 · 1 min · jiezi

关于编辑器:ChatGPT如何零代码集成抖音等第三方应用实现舆情管理智能化

1.ChatGPT应用场景自ChatGPT上线到当初,仍然是社会热议话题,人工智能已是大势所趋。现在ChatGPT已从原生模型降级为模型训练,反对对官网GPT3.0的根底模型进行“微调”训练和应用,以满足用户在特定业务情境下的智能问答利用须要。 一家企业在倒退过程中,经常会遇到不同水平的的舆情。对于企业而言,如何辨认抖音等短视频中的舆论,是一个新的挑战,但很多企业都欠缺发现舆情,解决舆情的能力。 随着社交媒体的一直倒退,经过训练后的ChatGPT模型能够利用解决一系列的业务问题,它作为一种弱小的自然语言解决模型,能够为网络舆情剖析提供微小的帮忙。 例如,在某个视频下的评论中,ChatGPT能够辨认出用户的情感和观点,并依据这些信息对该话题的舆情进行剖析和判断。并主动生成对应的响应。这能够帮忙企业更好地理解用户的反馈。 2.ChatGPT如何无代码集成第三方零碎?企业如何利用智能AI疾速发现舆情,做好舆情治理呢,当初集简云联合ChatGPT,让这所有有了答案。利用集简云零碎,企业能够轻松实现这个性能,将多个软件中的数据主动同步,并且无需开发,即使没有任何技术常识的业务人员,也能够轻松应用。  通过集简云无代码集成平台,无需开发就能够将ChatGPT集成到各种第三方利用零碎,例如:OA办公零碎,客户服务零碎,MySQL数据库,企业微信,表单零碎,CRM等数十款利用零碎,以及企业外部零碎进行数据同步与性能执行。 查看残缺的可用利用列表:软件应用集成列表 | 集简云 让连贯更简略 集简云的应用流程:· 触发动作:当一个利用零碎产生了什么事件时· 执行动作:主动在一个或者多个不同零碎中执行不同事件  【抖音+ChatGPT+数据筛选+企业微信群机器人】具体操作演示抖音是由字节跳动孵化的一款音乐创意短视频社交软件。该软件于2016年9月20日上线,是一个面向全年龄的短视频社区平台。  ChatGPT是由OpenAI开发的一种认知语言模型。次要目标是帮忙用户天然地与AI进行对话,答复问题并执行各种工作,例如提供信息、解决问题、生成文本等。它能够与各种应用程序集成,以提供高效且牢靠的人机对话体验。 数据筛选是集简云的一个内置利用,用于判断数据流程中数据是否合乎筛选条件,如果合乎筛选条件则持续后续的流程步骤,如果不合乎则不会执行后续的流程步骤。 企业微信群机器人是企业微信的内置性能,能够了解为是一个群揭示告诉工具,接收数据并主动发送信息到企业微信群中。 1、 实现目标:辨认媒体评论的情感偏向,实现主动舆情监控。 2、数据流程由两个局部组成(触发&执行)● 触发动作:当抖音视频有新增评论时(企业号)● 执行动作:依照自定义设置发问ChatGPT● 执行动作:数据筛选设置筛选条件● 执行动作:主动发送文本音讯到企业微信群机器人  3、达成成果:当抖音视频有新增评论时,ChatGPT应用训练后的模型主动监控评论舆情,并筛选出负面评论主动发送到企业微信群,实现主动舆情监控。 3.更多流程示例● 浏览器插件+ChatGPT+明道云:当浏览到本人喜爱的文章时,无需关上其余利用,能够疾速复制内容粘贴到浏览器插件,ChatGPT会依照训练模型主动生成文章改写的文案,并保留到明道云表单中。● 飞书即时消息+OpenAI(ChatGPT)内置+飞书即时消息:当飞书即时消息机器人接管到音讯时,ChatGPT主动答复,并将答复数据传回至飞书即时消息● 邮件触发+OpenAI(ChatGPT)内置+SMTP邮件发送:用户发送邮件征询问题时,主动应用ChatGPT回复,在主动应用邮件将回复内容发送给指定用户● 抖音+OpenAI(ChatGPT)内置+抖音:抖音收到新评论时,ChatGPT主动答复,并经答复内容主动回传至都应发送给指定用户● 定时启动工作+抖音+OpenAI(ChatGPT)内置+百度百家号:定时查问抖音热词通过ChatGPT生成文章,并且百家号主动公布 集简云: 让连贯更简略集简云是一款超级软件连接器,无需开发,无需代码常识就能够轻松买通数百款软件之间的数据连贯,构建自动化与智能化的业务流程。通过自动化业务流程,每月可节俭您数百甚至数万小时的人工成本。 咱们置信:业务流程自动化与智能化是企业新的增长引擎官网地址:「集简云官网」软件集成能够如此简略 为什么抉择集简云 ?无需开发,简略疾速地扩大现有零碎的性能 通过集简云能够疾速扩大您现有零碎的性能,例如为您的表单零碎减少微信揭示,邮件揭示,短信揭示性能,为您的微信公众号减少赠送卡券同步CRM零碎性能,为您的OA办公零碎减少逻辑判断与数据存储性能等等。而这所有无需任何技术开发,简略疾速地晋升您零碎的能力。 业务流程自动化,节俭企业数万小时的人工成本 您的团队还在人工导出导入不同零碎之间的数据信息,手动的在不同的零碎中录入,批改和执行各种操作吗?通过集简云,无需任何开发既能够疾速搭建自动化的业务流程,简略快捷,人人可用,几分钟创立的自动化业务流程或者能够节俭企业数万小时的人工成本。 利用AI人工智能技术,晋升业务流程的效率与价值 在自动化业务流程之外,集简云提供了AI人工智能组件,帮忙企业将那些须要人工参加的重复性工作转由AI人工智能技术主动解决,包含语义剖析,预测模型,信息主动提取等多种不同的AI模块。 集简云开放平台:让您的零碎领有与500+款软件连贯的能力集简云开放平台是集简云为开发者(软件公司,企业外部开发者,独立开发者)提供疾速与集简云平台中的利用进行连贯的能力,您能够将您的软件接口上线到集简云平台轻松实现数百款应用软件的数据互通。您也能够将集简云的集成能力嵌入到您的软件系统中,将数百款软件的集成能力变成您产品的性能与卖点,扩大额定支出,晋升客户成交率,成交金额与满意度。

March 16, 2023 · 1 min · jiezi

关于编辑器:ChatGPT无需API开发连接第三方系统实现内容自动化生产

ChatGPT应用场景自ChatGPT上线以来,仅用几天就爆火出圈,成为社会热议话题,人工智能已是大势所趋。现在ChatGPT已从原生模型降级为模型训练,反对对官网GPT3.0的根底模型进行“微调”训练和应用,以满足用户在特定业务情境下的智能问答利用须要。 自媒体时代,人人皆是创作者,继续输入优质内容也成为了吸引用户的重要伎俩之一,但往往写篇文章要花大半天工夫,写进去的文章成果平平,没有吸引力,文章打回来又重写批改,发内容的最佳时机就这样散失了。然而如果将想法观点交给ChatGPT,它很快就能加工创作出一篇优良文章。 将你的原文章或者参考文章主动生成新文章,为创作者提供大量稿件,极大缩小写作工夫和老本,并帮忙获取流量。应用办法非常简单,只须要将内容输出文本框,所有瓜熟蒂落。 ChatGPT如何无代码集成第三方零碎?高质量文案,爆款话题,自媒体人如何利用智能AI来为本人创作赋能呢,当初集简云联合ChatGPT,让这所有有迹可循。利用集简云零碎,企业能够轻松实现这个性能,将多个软件中的数据主动同步,并且无需开发,即使没有任何技术常识的业务人员,也能够轻松应用。 通过集简云无代码集成平台,无需开发就能够将ChatGPT集成到各种第三方利用零碎,例如:OA办公零碎,客户服务零碎,MySQL数据库,企业微信,表单零碎,CRM等数十款利用零碎,以及企业外部零碎进行数据同步与性能执行。 查看残缺的可用利用列表:软件应用集成列表 | 集简云 让连贯更简略 集简云的应用流程:· 触发动作:当一个利用零碎产生了什么事件时· 执行动作:主动在一个或者多个不同零碎中执行不同事件【浏览器插件+ChatGPT + 明道云利用】具体操作演示Chrome浏览器插件是集简云的一个内置利用,次要用于触发动作启动流程;能够疾速获取以后页面的URL并反对在编辑流程时设置自定义字段。 ChatGPT是由OpenAI开发的一种认知语言模型。次要目标是帮忙用户天然地与AI进行对话,答复问题并执行各种工作,例如提供信息、解决问题、生成文本等。它能够与各种应用程序集成,以提供高效且牢靠的人机对话体验。 明道云利用是明道云旗下产品, 通过明道云利用,企业能够疾速设计和开发工具。但不须要任何代码编写,一般业务人员就能把握应用。通过灵便的性能组件,让企业能够搭建个性化的CRM、ERP、OA、项目管理、进销存等零碎。 1、 实现目标:基于指定文字内容,撰写引人入胜的短文。 2、数据流程由两个局部组成(触发&执行) ● 触发动作:当浏览器插件触发时 ● 执行动作:依照自定义设置主动发问ChatGPT ● 执行动作:主动增加数据到明道云 3、达成成果:浏览器插件+ChatGPT+明道云。当浏览到本人喜爱的文章时,无需关上其余利用,能够疾速复制内容粘贴到浏览器插件,ChatGPT会依照训练模型主动生成文章改写的文案,并保留到明道云表单中。 更多流程示例● 微信公众号+OpenAI(ChatGPT)内置+微信公众号:当用户在微信公众号中发送文本音讯时,主动应用ChatGPT答复,并将答复回传至微信公众号发送给指定用户点击此模板,立刻应用 ● 飞书即时消息+OpenAI(ChatGPT)内置+飞书即时消息:当飞书即时消息机器人接管到音讯时,ChatGPT主动答复,并将答复数据传回至飞书即时消息点击此模板,立刻应用 ● 邮件触发+OpenAI(ChatGPT)内置+SMTP邮件发送:用户发送邮件征询问题时,主动应用ChatGPT回复,在主动应用邮件将回复内容发送给指定用户点击此模板,立刻应用 ● 抖音+OpenAI(ChatGPT)内置+抖音:抖音收到新评论时,ChatGPT主动答复,并经答复内容主动回传至都应发送给指定用户点击此模板,立刻应用 ● 定时启动工作+抖音+OpenAI(ChatGPT)内置+百度百家号:定时查问抖音热词通过ChatGPT生成文章,并且百家号主动公布点击此模板,立刻应用 集简云: 让连贯更简略集简云是一款超级软件连接器,无需开发,无需代码常识就能够轻松买通数百款软件之间的数据连贯,构建自动化与智能化的业务流程。通过自动化业务流程,每月可节俭您数百甚至数万小时的人工成本。 咱们置信:业务流程自动化与智能化是企业新的增长引擎官网地址:软件应用集成列表 | 集简云 让连贯更简略 为什么抉择集简云 ?无需开发,简略疾速地扩大现有零碎的性能 通过集简云能够疾速扩大您现有零碎的性能,例如为您的表单零碎减少微信揭示,邮件揭示,短信揭示性能,为您的微信公众号减少赠送卡券同步CRM零碎性能,为您的OA办公零碎减少逻辑判断与数据存储性能等等。而这所有无需任何技术开发,简略疾速地晋升您零碎的能力。 业务流程自动化,节俭企业数万小时的人工成本 您的团队还在人工导出导入不同零碎之间的数据信息,手动的在不同的零碎中录入,批改和执行各种操作吗?通过集简云,无需任何开发既能够疾速搭建自动化的业务流程,简略快捷,人人可用,几分钟创立的自动化业务流程或者能够节俭企业数万小时的人工成本。 利用AI人工智能技术,晋升业务流程的效率与价值在自动化业务流程之外,集简云提供了AI人工智能组件,帮忙企业将那些须要人工参加的重复性工作转由AI人工智能技术主动解决,包含语义剖析,预测模型,信息主动提取等多种不同的AI模块。 集简云开放平台:让您的零碎领有与500+款软件连贯的能力 集简云开放平台是集简云为开发者(软件公司,企业外部开发者,独立开发者)提供疾速与集简云平台中的利用进行连贯的能力,您能够将您的软件接口上线到集简云平台轻松实现数百款应用软件的数据互通。您也能够将集简云的集成能力嵌入到您的软件系统中,将数百款软件的集成能力变成您产品的性能与卖点,扩大额定支出,晋升客户成交率,成交金额与满意度。

March 15, 2023 · 1 min · jiezi

关于编辑器:使用Threejs让二维图片呈现3D效果

孪生场景编辑器(NSDT)https://ted.sinoccdc.cn/ 申明:本文波及图文和模型素材仅用于集体学习、钻研和观赏,请勿二次批改、非法流传、转载、出版、商用、及进行其余获利行为。背景逛 sketchfab 网站的时候我看到有很多二维立体转 3D 的模型例子,于是仿照他们的例子,应用 Three.js + React 技术栈,将二维漫画图片转化为三维视觉效果。本文蕴含的内容次要包含:THREE.Group 层级模型、MeshPhongMaterial 高光网格材质、正弦余弦函数 创立模型挪动轨迹等。成果实现成果如  下图所示:页面次要有背景图、漫画图片主体以及  Boom 爆炸背景图片形成,按住鼠标左键挪动模型能够取得不同视图,让图片在视觉上有 3D 景深成果。已适配: PC端 挪动端 在线预览:https://dragonir.github.io/3d/#/comic实现本文实现比较简单,和我后面几篇文章实现基本上是雷同的,流程也比较简单,次要是素材筹备流程比较复杂。上面看看具体实现办法。素材制作筹备一张本人喜爱的图片作为素材原图,图片内容最好能够分成多个层级,以实现 3D 景深成果,本实例中应用的是一张漫画图片,刚好能够切分成多个层级。在 Photoshop 中关上图片,依据本人须要的分层数量,创立若干图层,并将地图复制到每个图层上,而后依据对图层景深层级的划分,编辑每个图层,联合应用魔棒工具和套索工具删除多余的局部,而后将每个图层独自导出作为素材。我分为  如上 7 个图层,外加一个边框,一共有 8 个图层。资源引入其中 OrbitControls 用于镜头轨道控制、TWEEN 用于镜头补间动画。import React from 'react';import * as THREE from "three";import { OrbitControls } from "three/examples/jsm/controls/OrbitControls";import { TWEEN } from "three/examples/jsm/libs/tween.module.min.js";场景初始化初始化渲染容器、场景、摄像机、光源。摄像机初始地位设置为位于偏左方的 (-12, 0, 0),以便于前面应用 TWEEN 实现翻转动画成果。// 场景container = document.getElementById('container');renderer = new THREE.WebGLRenderer({ antialias: true });renderer.setPixelRatio(window.devicePixelRatio);renderer.setSize(window.innerWidth, window.innerHeight);container.appendChild(renderer.domElement);scene = new THREE.Scene();// 增加背景图片scene.background = new THREE.TextureLoader().load(background);// 相机camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 0.1, 1000);camera.position.set(-12, 0, 0);camera.lookAt(new THREE.Vector3(0, 0, 0));// 直射光light = new THREE.DirectionalLight(0xffffff, 1);light.intensity = .2;light.position.set(10, 10, 30);light.castShadow = true;light.shadow.mapSize.width = 512 * 12;light.shadow.mapSize.height = 512 * 12;light.shadow.camera.top = 100;light.shadow.camera.bottom = - 50;light.shadow.camera.left = - 50;light.shadow.camera.right = 100;scene.add(light);// 环境光ambientLight = new THREE.AmbientLight(0xdddddd);scene.add(ambientLight);创立漫画主体首先创立一个 Group,用于增加图层网格,而后遍历图层背景图片数组,在循环体中创立每个面的网格,该网格应用立体立方体 PlaneGeometry,材质应用物理材质 MeshPhysicalMaterial,对每个网格地位设置雷同的x轴和y轴值和不同的z轴值以创立景深成果。最初将 Group 增加到场景 Scene 中。var layerGroup = new THREE.Group();let aspect = 18;for (let i=0; i<layers.length; i++) { let mesh = new THREE.Mesh(new THREE.PlaneGeometry(10.41, 16), new THREE.MeshPhysicalMaterial({ ...

March 15, 2023 · 2 min · jiezi

关于编辑器:SkeyeRTSPLive高效转码之SkeyeVideoDecoder采用Nvidia独立显卡高效硬件解码解决方案2

在我之前写的一篇文章《SkeyeRTSPLive传统视频监控互联网+实现利器解决方案》中提到RTSP转RTMP的转流过程,简化流程就是通过SkeyeRTSPClient拉RTSP流,获取音视频编码数据,而后再通过SkeyeRTMPPusher推出去,流程非常简单;而后再理论开发过程中,咱们发现其实这个过程并没有设想中那么简略;首先,RTSP协定反对多种音视频编码格局,如音频反对AAC,G711,G726,等,视频反对H264,H625,MJPEG, MPEG等等各种格局,而SkeyeRTMPPusher推流只反对H264(已扩大反对H265)格局,这时,音频咱们能够通过SkeyeAACEncoder将音频转码成AAC格局,而视频咱们能够通过SkeyeVideoDecoder解码成原始数据,而后再通过SkeyeVideoEncoder将原始数据转码成RTMP推送指定的格局,本文,咱们将重点讲述SkeyeVideoDecoder基于Nvidia(英伟达)独立显卡的解码流程。 SkeyeVideoDecoder基Nvidia独立显卡的硬解码库SkeyeNvDecoderSkeyeNvDecoder库是基于Nvidia独立显卡驱动的硬件解码程序,该解码程序效率十分高效且具备弱小的并行解码效能力,其解码效率比ffmpeg软件解码效率提到至多5-6倍,最新的RTX系列显卡其解码效率甚至比软解码高10-12倍,轻松解码多路4K乃至8K高清视频无压力,本文采纳的是截止目前(20190714)最新的显卡驱动,CUDA版本须要10.0或者以上版本反对。 1. 接口申明如下:#ifndef SKEYENVDECODERAPI_H#define SKEYENVDECODERAPI_H#include <string>//++ typedefine start#ifndef SKEYENVDECODER_HANDLE#define SKEYENVDECODER_HANDLE void*#endif//SKEYENVDECODER_HANDLEtypedef enum _OutputFormat //native=默认解码器输入为NV12格局{ native = 0, bgrp, rgbp, bgra, rgba, bgra64, rgba64}OutputFormat;typedef enum _SKEYENvDecoder_CodecType { SKEYENvDecoder_Codec_MPEG1 = 0, /**< MPEG1 */ SKEYENvDecoder_Codec_MPEG2, /**< MPEG2 */ SKEYENvDecoder_Codec_MPEG4, /**< MPEG4 */ SKEYENvDecoder_Codec_VC1, /**< VC1 */ SKEYENvDecoder_Codec_H264, /**< H264 */ SKEYENvDecoder_Codec_JPEG, /**< JPEG */ SKEYENvDecoder_Codec_H264_SVC, /**< H264-SVC */ SKEYENvDecoder_Codec_H264_MVC, /**< H264-MVC */ SKEYENvDecoder_Codec_HEVC, /**< HEVC */ SKEYENvDecoder_Codec_VP8, /**< VP8 */ SKEYENvDecoder_Codec_VP9, /**< VP9 */ SKEYENvDecoder_Codec_NumCodecs, /**< Max codecs */} SKEYENvDecoder_CodecType;typedef enum _SKEYENvDecoder_YUVType { // Uncompressed YUV SKEYENvDecoder_YUV420 = (('I' << 24) | ('Y' << 16) | ('U' << 8) | ('V')), /**< Y,U,V (4:2:0) */ SKEYENvDecoder_YV12 = (('Y' << 24) | ('V' << 16) | ('1' << 8) | ('2')), /**< Y,V,U (4:2:0) */ SKEYENvDecoder_NV12 = (('N' << 24) | ('V' << 16) | ('1' << 8) | ('2')), /**< Y,UV (4:2:0) */ SKEYENvDecoder_YUYV = (('Y' << 24) | ('U' << 16) | ('Y' << 8) | ('V')), /**< YUYV/YUY2 (4:2:2) */ SKEYENvDecoder_UYVY = (('U' << 24) | ('Y' << 16) | ('V' << 8) | ('Y')) /**< UYVY (4:2:2) */} SKEYENvDecoder_YUVType;#ifdef __cplusplusextern "C"{#endifint SKEYENvDecoder_Initsize(std::string &erroStr);//除非应用低提早模式,否则请不要应用此标记bLowLatency,然而应用此标记很难取得硬件解码器100%的利用率。SKEYENVDECODER_HANDLE NvDecoder_Create(NvDecoder_CodecType codec, int videoW, int videoH, bool bLowLatency, OutputFormat eOutputFormat, int& errCode, std::string &erroStr);int NvDecoder_Decode(NVDECODER_HANDLE handle, const uint8_t *pData, int nSize, uint8_t ***pppFrame, int* pnFrameLen, int *pnFrameReturned);void SKEYENvDecoder_Release(NVDECODER_HANDLE handle) ;int NvDecoder_Uninitsize();#ifdef __cplusplus}#endif#endif // SKEYENVDECODERAPI_H2. SkeyeNvDecoder解码库调用流程第一步,初始化注册解码器留神,注册解码器函数全局只需调用一; ...

March 14, 2023 · 5 min · jiezi

关于编辑器:cesiumCZML路径动态改变

举荐:将 NSDT场景编辑器 退出你的3D开发工具链https://ted.sinoccdc.cn/?sourceId=9 这篇文章和上一篇cesium编程中级(六)寰球视频纹理一样,也是跟群友一起探讨时想出的解决方案^^起因是群友心愿实现一个性能,在加载czml数据之后,有物体沿着czml中的门路静止,而后静止过程中,会每个几秒钟在门路最初增加一个点,心愿能看到门路动静扭转而且物体的挪动连贯这里其实重要的点有两个1. 门路前面每隔一段时间增加一个点2. 物体连贯静止(这一点是在实现之后,回过头来反思间接写进去的)群友本人写了一份代码,咱们先来粗略看一下代码组成var viewer = new Cesium.Viewer('cesiumContainer'); var czml = [{ "id": "document", "name": "polygon", "version": "1.0" }, { "id": "shape2", "name": "Red box with black outline", "availability": "2012-08-04T16:00:00Z/2012-08-04T18:00:00Z", "box": { "dimensions": { "cartesian": [30.0, 30.0] }, "material": { "stripe": { "orientation": "VERTICAL", "evenColor": { "rgba": [10, 211, 250, 0] }, "oddColor": { "rgba": [10, 211, 250, 255] }, "offset": { "number": 1 }, "repeat": 0.5 } }, }, "path": { "material": { "solidColor": { "color": { "interval": "2012-08-04T16:00:00Z/2012-08-04T18:00:00Z", "rgba": [255, 255, 255, 128] } } }, "width": [{ "interval": "2012-08-04T16:00:00Z/2012-08-04T18:00:00Z", "number": 3.0 }], "show": [{ "interval": "2012-08-04T16:00:00Z/2012-08-04T18:00:00Z", "boolean": true }] }, "position": { "interpolationAlgorithm": "LAGRANGE", "interpolationDegree": 1, "epoch": "2012-08-04T16:00:00Z", "cartographicDegrees": [ 0.0, 118.87841653400005, 30.95679870500004, 0.0, 10.0, 118.87826541800007, 30.95680770900003, 0.0, 20.0, 118.8774481050001, 30.956860625000047, 0.0, 30.0, 118.87660414600009, 30.956910105000077, 0.0, ...省略 ] } }];var dataSourcePromise;var i = 30;var a = 410;setInterval(function() { i += 0.001; a += 10; czml[1].position.cartographicDegrees.push(a, 118.813667, i, 0);}, 10000);dataSourcePromise = Cesium.CzmlDataSource.load(czml);viewer.dataSources.add(dataSourcePromise);viewer.zoomTo(dataSourcePromise);步骤简略归纳如下:1. 创立三维球2. 创立czml文件3. 动静增加点到czml的门路中4. 增加czml到三维球上咱们要解决第一点,比拟惯例,动静增加点首先想到的是setInterval,每隔10秒钟增加一个点,这里没有问题,然而问题是,增加了点之后,界面上并没有体现进去,调试代码之后发现czml 门路中的点数的确是减少了,所以,可能性比拟大的是数据没刷新,于是在增加点后尝试增加...setInterval(function() { ...

March 14, 2023 · 1 min · jiezi

关于编辑器:cesium编程使用渐变纹理

举荐:将场景编辑器(NSDT)退出你的3D开发工具链官网示例在渲染地形的时候,咱们会应用突变的纹理,辨别不同的高度,官网给了一个示例,本地门路:Globe Materials剖析这里代码给了一坨,整体浏览一下,理一理思路,简略来讲是这样的 加载数据–>依据参数生成一张突变的图–>将图赋值到纹理上,OK,那要害的函数就是生成图的函数getColorRamp,增加物体和设置材质都是入门根底, 能够在网上搜寻下教程。看看fillRect的成果<script>var c=document.getElementById("myCanvas");var ctx=c.getContext("2d");ctx.fillStyle="#ff0000";ctx.fillRect(0,0,1,100);</script>能够看到fillRect(0,0,1,100)是纵向的,fillRect(0,0,100,1)是横向的,好,上面来实际操作一下,当初咱们就来绘制一面墙,并应用突变来填充它//增加物体var redWall = viewer.entities.add({ name: 'Red wall at height',wall: { positions: Cesium.Cartesian3.fromDegreesArrayHeights([ 121.444409, 31.247417, 200.0, 121.533521, 31.235685, 200.0, 121.563273, 31.190347, 200.0, 121.546744, 31.194054, 200.0, 121.516705, 31.191459, 200.0, 121.502188, 31.203074, 200.0 ]), minimumHeights: [3000.0, 2000.0, 2000, 2000, 2000, 3000], material: getColorRamp([0.0, 0.045, 0.1, 0.15, 0.37, 0.54, 1.0],true)}}); //纹理图绘制function getColorRamp(elevationRamp) { var ramp = document.createElement('canvas');ramp.width = 1;ramp.height = 100;var ctx = ramp.getContext('2d');var values = elevationRamp;var grd = ctx.createLinearGradient(0, 0, 0, 100);grd.addColorStop(values[0], '#000000'); //blackgrd.addColorStop(values[1], '#2747E0'); //bluegrd.addColorStop(values[2], '#D33B7D'); //pinkgrd.addColorStop(values[3], '#D33038'); //redgrd.addColorStop(values[4], '#FF9742'); //orangegrd.addColorStop(values[5], '#ffd700'); //yellowgrd.addColorStop(values[6], '#ffffff'); //whitectx.fillStyle = grd;ctx.fillRect(0, 0, 1, 100);return ramp;} ...

March 13, 2023 · 1 min · jiezi

关于编辑器:Overlay孪生体

举荐:将 NSDT场景编辑器 退出你的3D开发工具链https://ted.sinoccdc.cn/?sourceId=9 场景成果: 属性.type: String 孪生体的类型。只读。 .overlayId: String 孪生体的ID。只读。 .layerId: String 孪生体所在layer的ID。只读。 .delegate: String THREE原生Object3d对象。 _.layer: Layer 孪生体所在的layer对象。 .uuid: String THREE原生Object3d对象的uuid。 .name: String 挛生体的名称 .visible: boolean 挛生体是否显示 .position: THREE.Vector3 挛生体的地位。 .rotation: THREE.Euler 挛生体的旋转,以弧度来示意。 .scale: THREE.Vector3 挛生体的缩放。 .castShadow: boolean 挛生体是否被渲染到暗影贴图中。默认值为false。 .receiveShadow: boolean 挛生体是否接管暗影。默认值为false。 .boxVisible: boolean 挛生体是否显示突围盒。默认值为false。 办法.lookAt(vector: THREE.Vector3): Void 旋转挛生体使其在世界空间中面朝一个点。 .getProperties(): Object 返回孪生体的属性 .getProperty(name: string): any 通过属性名查问孪生体的属性 .setProperty(name: string, value: any): Void 通过属性名批改孪生体的属性 .getObjects(): THREE.Mesh[] 获取该孪生体下的所有子mesh .getObjectById(id: number): THREE.Object3D | undefined ...

March 10, 2023 · 1 min · jiezi

关于编辑器:NSDT编辑器Viewer孪生世界

举荐:将 NSDT场景编辑器 退出你的3D开发工具链https://ted.sinoccdc.cn/?sourceId=9 Viewer 是形容孪生世界的顶层对象,提供场景绘制和交互的画布。场景如下:构造函数Viewer(element) 在参数element指定的 DOM 元素中创立孪生世界场景。示例代码://import { Viewer } from 'nsdt@ted' //引入Viewer类 const viewer = new Viewer('container') //在id为container的元素内创立孪生世界const sceneId = "63a13d2d39c45778ba1bedd0"; //要加载的场景的idviewer.loadScene(sceneId,() => { //加载场景数据 console.log('completed!')}) 属性.canvas: HTMLCanvasElement以后场景 canvas 容器。.scene: THREE.Scene孪生世界的 THREE.JS scene 场景。.camera: Camera孪生世界中的摄像机。.objectGroup: THREE.Object3D[]孪生世界中所有可拾取的 Object3d 对象。办法.addLayer(layer: Layer): Void在孪生世界中创立数据图层。示例代码://import DT from 'nsdt@ted'const modelLayer = new DT.layer.ModelLayer("models"); //创立一个图层viewer.addLayer(modelLayer); .removeLayer(layer: Layer): Void在孪生世界中删除数据图层。.hasLayer(layer: Layer): Boolean查问图层是否存在。.getLayer(id: string): Layer | undefined通过图层 id 获取图层。.getLayers(): Layer[]获取全副图层。.getTwins(id: String): Overlay通过挛生体 id 获取挛生体。.getWorldTree(): JSON获取世界纲要树。参数阐明children图层组中的挛生体id图层组 idlabel图层组名字type图层组类型visible是否显示CHILDREN参数阐明id挛生体 idlayerId图层组 idlabel挛生体名字type挛生体类型visible是否显示.pickupCoord(event:MouseEvent): THREE.Vector3 | null拾取与立体交点的坐标。.pickup(event:MouseEvent): Object | null拾取孪生世界 蕴含在 objectGroup 中的模型。.setActiveOverlays(overlay: Overlay[] | string[]): Void | null传入挛生体实例对象或挛生体id,批量设置挛生体的突围框。.clearActive(): Void | null清空所有挛生体的突围框。.destroy(): Void销毁场景。.statistics(): { element: String, vertices: String, triangles: String }统计场景中的 mesh 数量、顶点数和面数。.loadScene(sceneId: string, cb: Function) Void通过场景 id 加载孪生世界场景。viewer.loadScene(sceneId,() => { console.log('completed!')}) ...

March 8, 2023 · 1 min · jiezi

关于编辑器:Chai-3D之色彩

将 NSDT场景编辑器 退出你的3D开发工具链 https://ted.sinoccdc.cn/?sourceId=9 介绍 色彩是人类与红色、蓝色、黄色、绿色等类别绝对应的视觉感知属性。色彩来源于光的光谱(光功率与波长的散布)在眼睛中与光感受器的光谱灵敏度相互作用。色彩类别和色彩的物理规格也与物体、资料、光源等相关联,基于其物理性质,例如光吸收、反射或发射光谱。通过定义色彩空间,能够通过色彩的坐标以数字形式标识色彩。RGB色调空间 RGB 色彩模型是一种加法色彩模型,其中红色、绿色和蓝色光以各种形式加在一起以再现各种色彩。模型的名称来自三种加法原色(红色、绿色和蓝色)的首字母缩写。RGB 色彩模型的主要用途是用于在电子系统(如电视和计算机)中感测、示意和显示图像。要应用 RGB 造成色彩,必须叠加三个黑白光束(一个红色、一个绿色和一个蓝色)(例如,通过黑屏发射或白屏反射)。三个光束中的每一个都被称为该色彩的重量,并且它们中的每一个都能够在混合物中具备从齐全敞开到齐全关上的任意强度。RGB 色彩模型是累加的,因为三个光束加在一起,它们的光谱逐波长相加,造成最终色彩的光谱。添加剂颜色混合:将红色增加到绿色会产生黄色;将所有三种原色相加失去红色 每个重量的零强度示意最暗的色彩(无光,视为彩色),每个重量的全强度示意红色;这种红色的品质取决于主光源的性质,但如果它们适当均衡,后果是中性红色与零碎的白点相匹配。当所有组件的强度雷同时,后果是灰色、较暗或较亮,具体取决于强度。当强度不同时,后果是黑白色调,依据所用原色的最强和最弱强度的差别,或多或少饱和。 当其中一种重量具备最强的强度时,该色彩是该原色左近的色调(红色、绿色或蓝色),而当两种重量具备雷同的最强强度时,则该色彩是主要色彩的色调(青色、品红色或黄色的暗影)。第二种色彩是由两种雷同强度的原色之和造成的:青色是绿色+蓝色,品红色是红色+蓝色,黄色是红色+绿色。每种次色都是一种原色的补色;当一种原色和它的互补色加在一起时,后果是红色:青色补充红色,品红色补充绿色,黄色补充蓝色。 RGB 色彩模型自身并不定义红色、绿色和蓝色在比色上的含意,因而混合它们的后果不是相对的,而是绝对于原色的。RGBA色调空间 RGBA 代表 红绿蓝阿尔法。尽管它有时被形容为色彩空间,但它实际上只是应用 RGB 色彩模型,并提供额定的信息。色彩为 RGB,可能属于任何 RGB 色彩空间,但整数 alpha 值可实现 alpha 合成。 Alpha 通道通常用作不透明度通道。如果像素在其 Alpha 通道中的值为 0%,则它是齐全通明的(因而是不可见的),而 Alpha 通道中的值为 100% 则示意齐全不通明的像素(传统数字图像)。介于 0% 和 100% 之间的值使像素能够通过玻璃等背景(半透明)显示,这是简略的二进制(通明或不通明)透明度无奈实现的成果。PNG 是一种应用 RGBA 的图像格式。RGBA色彩的光谱CHAI3D中的色彩 CHAI3D 提供两种不同的数据结构,用于应用 RGBA 定义示意色彩。这些构造被定义为cColorb和cColorf,它们都将四种色彩成分RGBA存储在名为m_color[4]的四单元格数组中。这两种格局之间的惟一区别在于它们的数值示意:cColorb为每个色彩重量(0x00-0xff)应用一个字节,而cColorf应用浮点数(0.0-1.0)。定义 通过至多设置三个 (RGB) 重量和一个可选的 Alpha (A) 重量来定义色彩。如果省略 alpha 重量,则默认存储值 1.0 或 0xff。每个色彩组件也能够独立批改或拜访:using namespace chai3d;// reading RGBA componentsGLFloat r = color.getR();GLFloat g = color.getG();GLFloat b = color.getB();GLFloat a = color.getA();// modifying RGBA componentscolor.setR(0.1);color.setG(0.2);color.setB(0.3);color.setA(1.0);格局转换色彩也能够从一种格局转换为另一种格局:using namespace chai3d;// definitioncColorf colorA;cColorb colorB;// convert color from FLOAT format to BYTE formatcolorA->copyTo(colorB);// convert color from BYTE format to FLOAT formatcolorB->copyTo(colorA);灰度 灰度色彩能够通过编程所需的亮度值来调配。对于 cColorf 示意模式,值范畴为 0.0(彩色)到 1.0(红色),对于 cColorb 的值范畴为 0 到 255:using namespace chai3d;// set luminance valuecolor->setLuminance(0.8)// get luminance valueGLfloat luminance = color->getLuminance();调色板 为了使色彩调配更加直观,CHAI3D 提供了来自 CSS3 标准的预约义色彩列表。调色板色彩以及十六进制和十进制等效项如下图所示。using namespace chai3d;// definitioncColorf color;// assign color by name (royal blue)color.setBlueRoyal();// assign color by name (pure white)color.setWhite();// assign color by name (olive green)color.setGreenOlive();// assign a level of gray. similar to setLuminance() method.color.setGrayLevel(0.5);CHAI3D调色板色彩和对象 色彩在整个 CHAI3D 中用于形容图像像素、顶点色彩、材质或照明属性。cColorf 格局通常用于 3D 数据对象(顶点、材质、灯光),而字节示意模式 cColorb 是位图图像和纹理的首选格局。以下是针对场景中的 2D 和 3D 对象调整色彩的几个示例:using namespace chai3d;// get color of image pixel at position (x,y)cColorb color;image->getPixelColor(x, y, color);// set the color of a vertexcColorf color;color.setRed();vertex->setColor(color);// adjust the ambient color component of a light sourcelight->m_ambient.set(0.1, 0.1, 0.1); ...

March 7, 2023 · 1 min · jiezi

关于编辑器:Chai-3D之材质和纹理

举荐:将 https://ted.sinoccdc.cn/?sourceid=9 退出你的3D开发工具链介绍 在本章中,咱们将介绍资料和纹理属性。这些概念在 CHAI3D 中被宽泛用于形容物体在视觉和触觉上的外观。资料个性 资料属性定义外表如何反射光线。他们通过定义色彩值来实现这一点,其形式与灯光大致相同。材质具备漫射(直射)光、环境(散射)光和镜面反射(反射)光的色彩值,但这些值定义了光重量如何从材质外表反射。入射光色彩与相应的资料色彩相结合,后果色彩就是咱们在屏幕上看到的色彩。 这些资料值仅对光源有意义。例如,如果您的材质反射环境光(即材质m_ambient设置具备色彩值),如果没有来自光源的环境光,它仍将显示为彩色。同样,漫反射材质色彩可能是黄色,但如果漫反射光色彩为绿色,则它将显示为绿色。 材质的镜面反射值通常是红色、灰色或彩色,因为它没有本人的色调,而是反射照耀在其上的光线的色调。将此色彩值视为定义将反射的光的百分比。 还有一个额定的材质设置,即光泽度,用于定义外表反射的大小。上面是一个简略的示例,咱们在其中定义了对象的环境、漫反射和镜面反射重量。using namespace chai3d;// setting material propertiesobject->m_material.m_ambient.set(0.1, 0.1, 0.6);object->m_material.m_diffuse.set(0.3, 0.3, 0.9);object->m_material.m_specular.set(1.0, 1.0, 1.0); 对于材质属性和照明,须要记住的一些重要事项:1、启用照明后,将疏忽顶点色彩。OpenGL 依据光线的色彩和照明水平计算每个顶点本人的色彩值。2、法线对于校对照明至关重要。顶点法线通知 OpenGL 立体的角度。依据立体绝对于光线和眼睛地位的角度,OpenGL计算反射光。3、失常长度很重要!它们的长度都应该是 1,否则光线会不平均地落下。如果您正在构建网格并且尚未定义任何顶点法线,只需调用函数:using namespace chai3d;// compute all surface normalsmyObject->computeAllNormals(true); 自发光材质属性通常会笼罩漫反射、环境和镜面反射重量(除非发光十分强劲)。自发光不是辐射的,不会将光线投射到其余物体上。您必须应用其余光源能力执行此操作。 能够通过调用办法管制对象的透明度级别:object->setTransparencyLevel(0.5); 在 CHAI3D 资料中,资料属性由类 cMaterial 定义。该类蕴含许多图形和物理常量,这些常量容许程序员定义对象的触觉和图形渲染形式。using namespace chai3d;// GRAPHIC PROPERTIES:cColorf m_ambient;cColorf m_diffuse;cColorf m_specular;cColorf m_emission;GLuint m_shininess;// SURFACE STIFFNESSdouble m_stiffness;// DAMPING// Damping level.double m_damping;// VISCOSITYdouble m_viscosity;// FRICTIONdouble m_staticFriction;double m_dynamicFriction;// TEXTUREdouble m_textureLevel;// VIBRATIONdouble m_vibrationFrequency;double m_vibrationAmplitude;// MAGNETdouble m_magnetMaxForce;double m_magnetMaxDistance;// STICK AND SLIPdouble m_stickSlipForceMax;double m_stickSlipStiffness;// HAPTIC MODESbool m_useHapticFriction;bool m_useHapticTexture;bool m_useHapticShading;bool m_hapticFrontSideOfTriangles;bool m_hapticBackSideOfTriangles;// SOUND PROPERTIEScAudioBuffer m_audioImpactBuffer;cAudioBuffer m_audioFrictionBuffer;double m_audioImpactGain;double m_audioFrictionGain;double m_audioFrictionPitchGain;double m_audioFrictionPitchOffset; 在进一步摸索此类的实现时,您会发现cMaterial只是一个数据持有者,实际上并不蕴含太多用于出现对象的代码。其余类(如力模型或触觉效应)会征询存储在资料属性中的值,并应用它们来调制其后果。 能够为组成场景的每个节点定义材质属性。然而,这并不意味着在渲染通道期间将应用所有材质属性。如果没有为特定对象编程触觉成果,则这些参数将不起作用。 在同一容器 (cMaterial) 中定义大多数图形和触觉的目标是便于将属性从一个对象复制到另一个对象。纹理属性 纹理映射是一种计算机图形性能,其中独自的图像(称为纹理)被拉伸到一块 3D 几何体上,并追随它进行转换。此图像也称为纹理贴图。这能够是大多数图像,但其像素尺寸必须是 2 的幂。(此限度已在某些显卡上勾销,例如最新的ATI或NVIDIA型号)x 和 y 维度不须要是 2 的雷同幂,只需是 2 的幂即可。因而,128x512 图像能够工作,但 129x511 图像不起作用。网格对象和映射纹理属性(a) 罐头的三维网格物体。该对象由 8138 个顶点和 14513 个三角形组成。定义了灰色资料属性(环境、漫反射和镜面反射)。(b) 由 256 x 128 纹素组成的纹理贴图图像。(c) 将纹理贴图投影到 3D 网格对象上。每个顶点在空间中都有一个地位(x,y,z)以及一个2D纹理坐标(s,t)。(d) 以线框模式渲染的罐头的 3D 网格。(e) 阐明纹理图在网格上的投影的组合图像。(f) 单个三角形、其三个顶点和投影纹理的图示。 此外,为了避免混同,纹理像素不称为像素。像素是最终屏幕图像中的一个点。纹理图像中的点称为纹理元素或纹素。同样,为了防止术语混同,纹理的宽度和高度尺寸不称为 x 和 y。它们被称为 s 和 t。纹理映射通常不按其理论分辨率坐标编制索引。相同,它由与分辨率无关的坐标系进行索引。左侧始终为 s = 0,右侧为 s = 1,底部为 t = 0,顶部为 t = 1。因而,在指定指向纹理的坐标时,无需理解纹理的分辨率。将 s 和 t 视为掂量您进入纹理的形式的比例的度量。 在 CHAI3D 中,纹理属性由类 cTexture1d、cTexture2d 和 cTexture3d 定义。每个类都蕴含许多属性,这些属性容许程序员定义纹理映射到对象的确切形式。 在上面的示例中,咱们演示如何在内存中加载纹理并将其利用于由两个三角形组成的正方形。// create a meshobject = new cMesh();// add object to worldworld->addChild(object);// create 4 verticesint vertex0 = object->newVertex();int vertex1 = object->newVertex();int vertex2 = object->newVertex();int vertex3 = object->newVertex();// assign position, surface normal, and texture coordinates to each vertexobject->m_vertices->setLocalPos(vertex0,-0.1,-0.1, 0.0);object->m_vertices->setNormal(vertex0, 0.0, 0.0, 1.0);object->m_vertices->setTexCoord(vertex0, 0.0, 0.0);object->m_vertices->setLocalPos(vertex1, 0.1,-0.1, 0.0);object->m_vertices->setNormal(vertex1, 0.0, 0.0, 1.0);object->m_vertices->setTexCoord(vertex1, 1.0, 0.0);object->m_vertices->setLocalPos(vertex2, 0.1, 0.1, 0.0);object->m_vertices->setNormal(vertex2, 0.0, 0.0, 1.0);object->m_vertices->setTexCoord(vertex2, 1.0, 1.0);object->m_vertices->setLocalPos(vertex3,-0.1, 0.1, 0.0);object->m_vertices->setNormal(vertex3, 0.0, 0.0, 1.0);object->m_vertices->setTexCoord(vertex3, 0.0, 1.0);// create two triangles by assigning their vertex IDsobject->m_triangles->newTriangle(vertex0, vertex1, vertex2);object->m_triangles->newTriangle(vertex0, vertex2, vertex3);// create a texture mapobject->m_texture = cTexture2d::create();// load a texture image fileobject->m_texture->loadFromFile(RESOURCE_PATH("myTextureFile.jpg"));// enable texture mappingobject->setUseTexture(true);// assign a white material color that is modulated with the textureobject->m_material->setWhite();// assign some haptic propertiesobject->m_material->setStiffness(500);object->m_material->setStaticFriction(0.3);object->m_material->setDynamicFriction(0.2);object->m_material->setTextureLevel(1.0);// create a collision detector for this objectobject->createAABBCollisionDetector(toolRadius);示例 14 纹理 - 4 个正方形,每个正方形由 4 个顶点、2 个三角形和一个纹理映射组成 ...

March 6, 2023 · 2 min · jiezi

关于编辑器:企业数据分析获得认可瓴羊Quick-BI通过中国信通院测评

“互联网+”时代,企业数据分析成为了一种外围竞争力。在此背景下,瓴羊Quick BI等商业智能工具成为了不少企业晋升外部企业数据分析的要害助手。现如今,面对海量的数据资产,一家企业想要真正施展出这些数据的价值,企业数据分析成了极为要害的一环。从数据触达、企业数据分析、到数据驱动决策以及最终的施行落地,每个环节都须要高效的企业数据分析工具的参加和帮忙。因而,越来越多的企业心愿可能在外部部署一款一站式晋升各环节数字化、智能化能力的企业数据分析工具。Quick BI是企业数智服务DAAS公司瓴羊旗下的商业智能BI工具,长期致力于为企业提供企业数据分析和决策反对的一站式解决方案。从数据的获取、荡涤到数据的剖析、可视化,瓴羊Quick BI均为客户企业提供了大量的工具、模板和个性化配置性能。近日,瓴羊Quick BI更是在中国信息通信研究院(信通院)的“可信大数据”商务智能剖析(BI)工具根底能力评测中取得了高度评价。 要晓得,信通院是国家信息化畛域的权威机构,通过信通院的测评并非易事。据悉,此次对瓴羊Quick BI的评测涵盖了数据采集解决,企业数据分析,高可用性,报告输入,集成能力,平安能力等多个方面,所有必测与选测我的项目共25项,瓴羊Quick BI全副通过。此次评测的后果充分说明了瓴羊Quick BI在企业数据分析方面的全面性和技术水平,对于想要一个平台解决企业数据分析所有问题的企业,堪称一大“福音”。事实上,这不是瓴羊Quick BI第一次取得权威机构认可了。在IT界,权威市场钻研剖析机构Gartner每年都会针对行业内的各细分畛域公布魔力象限报告,研判行业发展趋势并对支流软件进行评估。而在商业智能和剖析平台(Analytics and Business Intelligence Platforms,ABI)畛域,瓴羊Quick BI曾经间断3年入选了Gartner魔力象限报告,要晓得,寰球每年仅有20家企业的产品能在其中占据一席之地,而瓴羊Quick BI的间断3年入选,也使其成为了国内惟一。 对于想要疾速晋升本人公司企业数据分析的能力的敌人们来说,瓴羊Quick BI的综合性能可能一站式解决大量企业数据分析中的难题。百闻不如一试,近期,大家只有搜寻“瓴羊Quick BI”,进入其官网就能申请收费试用了。  

March 6, 2023 · 1 min · jiezi

关于编辑器:Chai-3D之形状基元

举荐:将 NSDT场景编辑器 退出你的3D开发工具链介绍 尽管网格对象的通用性令人难以置信,但当多边形数量变大时,在工具和对象之间执行碰撞检测所需的计算量可能会变得很大。为了解决这个问题,CHAI3D 提供了一系列可用于模仿简略形态的基元,如球体、圆柱体、盒子等。隐式模型不是计算与大型三角形集的碰撞,而是用于疾速计算工具是位于形态外部还是内部。通过将这些模型与触觉成果相结合,咱们能够大大减少计算触觉设施和环境之间交互力所需的计算量。形态基元长方体对象上面的示例演示如何创立框对象并指定外表触觉成果。using namespace chai3d;// create a box and define its dimensionsobject = new cShapeBox(0.1, 0.2, 0.3)// add object to worldworld->addChild(object);// set haptic propertiesobject->m_material->setStiffness(500);// create a haptic surface effectobject->createEffectSurface();球体对象上面的示例阐明如何创立球体对象并指定外表触觉成果。using namespace chai3d;// create a sphere and define its radiusobject = new cShapeSphere(0.3);// add object to worldworld->addChild(object);// set haptic propertiesobject->m_material->setStiffness(500);// create a haptic surface effectobject->createEffectSurface();圆柱体对象上面的示例演示如何创立圆柱对象并指定外表触觉成果。using namespace chai3d;// create a cylinder by defining its bottom and top radius, and its heightobject = new cShapeCylinder(0.1, 0.1, 0.3)// add object to worldworld->addChild(object);// set haptic propertiesobject->m_material->setStiffness(500);// create a haptic surface effectobject->createEffectSurface();圆环体对象上面的示例阐明如何创立圆环对象并指定外表触觉成果。using namespace chai3d;// create a torusobject = new cShapeTorus(0.25, 0.50);// add object to worldworld->addChild(object);// set haptic propertiesobject->m_material->setStiffness(500);// create a haptic surface effectobject->createEffectSurface();line对象上面的示例阐明如何创立线条对象并调配磁性触觉成果。using namespace chai3d;// create a lineline = new cShapeLine(cVector3d(0.0, 0.0, 0.0), cVector3d(1.0, 1.0, 1.0));world->addChild(line);// set color at each pointline->m_colorPointA.setWhite();line->m_colorPointB.setWhite();// create haptic effect and set haptic propertiesline->createEffectMagnetic();line->m_material->setMagnetMaxDistance(0.05);line->m_material->setMagnetMaxForce(5.0);line->m_material->setStiffness(500); ...

March 6, 2023 · 1 min · jiezi

关于编辑器:如何使用Blender制作卡通三渲二效果

举荐:将 NSDT场景编辑器 退出你的3D开发工具链。 明天来分享一个在Blender中实现简略卡通三渲二成果和卡通描边的办法,根底的卡通三渲二成果在Blender中还是很简略的只须要几个节点就能解决,即便Blender不太纯熟的小伙伴看完这篇也能做到~1、卡通三渲二材质 首先给你的模型创立一个材质球,删除原理化BSDF着色器,材质输入不要删除。 接下来创立3个节点别离是:漫射BSDF、Shader-RGB、色彩突变,依照图上连贯形式连上节点,把色彩节点的插值类型改为常值。 按加号能够增加一个色彩过渡块,每一块小格子代表一个色彩,在下方能够更改色彩。 接下来调整你想要的色彩即可。2、卡通三渲二描边 首先在之前制作完的根底上再增加一个材质球,将着色器更改为自发光(发射)关上反面剔除,色彩更改为彩色,暗影模式更改为无。 接下来增加一个实体化修改器,把材质偏移更改为1,法向中勾选翻转,调整厚度即可实现描边成果咯~ 其实Blender中还有其余的办法能实现卡通三渲二的成果,这里我就介绍了2种比拟容易实现且快捷的办法,各位小伙伴能够去试试!Sign up for more like this.

March 3, 2023 · 1 min · jiezi

关于编辑器:chai-3D-之网格对象

举荐:将 NSDT场景编辑器 退出你的3D开发工具链介绍网格对象是由三角形和顶点组成的形态 在 CHAI3D 中,多边形网格是定义多面体对象形态的顶点和三角形的汇合。 顶点是一个地位以及其余信息,例如色彩、法线矢量和纹理坐标。由直线连贯的两个顶点成为一条边。三个顶点通过三条边相互连接,定义一个三角形,这是欧几里得空间中最简略的多边形。 网格对象能够平移、旋转或调整大小,并具备调配给它们的材质和纹理属性。 以下代码演示如何创立由 4 个顶点和 2 个三角形组成的带纹理的正方形。using namespace chai3d;// create a meshobject = new cMesh();// create a texture mapobject->m_texture = cTexture2d::create();// load a texture fileobject->m_texture->loadFromFile("myTexture.jpg");// enable texture mappingobject1->setUseTexture(true);// set material to whiteobject1->m_material->setWhite();// create verticesint vertex0 = object0->newVertex();int vertex1 = object0->newVertex();int vertex2 = object0->newVertex();int vertex3 = object0->newVertex();// set position, surface normal, and texture coordinate for vertex 0object0->m_vertices->setLocalPos(vertex0,-0.1,-0.1, 0.0);object0->m_vertices->setNormal(vertex0, 0.0, 0.0, 1.0);object0->m_vertices->setTexCoord(vertex0, 0.0, 0.0);// set position, surface normal, and texture coordinate for vertex 1object0->m_vertices->setLocalPos(vertex1, 0.1,-0.1, 0.0);object0->m_vertices->setNormal(vertex1, 0.0, 0.0, 1.0);object0->m_vertices->setTexCoord(vertex1, 1.0, 0.0);// set position, surface normal, and texture coordinate for vertex 2object0->m_vertices->setLocalPos(vertex2, 0.1, 0.1, 0.0);object0->m_vertices->setNormal(vertex2, 0.0, 0.0, 1.0);object0->m_vertices->setTexCoord(vertex2, 1.0, 1.0);// set position, surface normal, and texture coordinate for vertex 3object0->m_vertices->setLocalPos(vertex3,-0.1, 0.1, 0.0);object0->m_vertices->setNormal(vertex3, 0.0, 0.0, 1.0);object0->m_vertices->setTexCoord(vertex3, 0.0, 1.0);// create two triangles by assigning their vertex IDsobject0->m_triangles->newTriangle(vertex0, vertex1, vertex2);object0->m_triangles->newTriangle(vertex0, vertex2, vertex3);渲染选项材质 资料属性定义外表如何反射光线。他们通过定义色彩值来实现这一点,其形式与灯光大致相同。材质具备漫射(直射)光、环境(散射)光和镜面反射(反射)光的色彩值,但这些值定义了光的重量如何从材质外表反射。更多信息能够在无关资料的局部找到。 材质属性能够启用或禁用,并且须要在世界中至多应用一个光源能力使对象可见。using namespace chai3d;// create a meshcMesh* mesh = new cMesh();// add mesh to worldworld->addChild(mesh);// build mesh using a cylinder primitivecCreatePipe(mesh,0.15,0.05,0.06,32,1,cVector3d(-0.05,-0.20, 0.0),cMatrix3d(cDegToRad(0), cDegToRad(0), cDegToRad(170), C_EULER_ORDER_XYZ));// enable material propertycylinder->setUseMaterial(true);// (1) set material by simply assigning a color namemesh->m_material->setBlueCornflower();// (2) or set material by assigning a color values for each componentmesh->m_material->m_ambient.set(0.2, 0.1, 0.1);mesh->m_material->m_diffuse.set(0.6, 0.3, 0.3);mesh->m_material->m_specular.set(1.0, 1.0, 1.0);mesh->m_material->setShininess(10);顶点色彩 能够为网格的每个顶点指定不同的色彩值。如果三角形的三个顶点共享不同的色彩,则三角形上任何点的色彩都是通过三种顶点色彩的插值来计算的。三角形和顶点色彩 如果启用了资料属性,顶点色彩将与资料色彩组合在一起。通常将材质设置为红色并为不同的顶点调配色彩以产生所需的光晕。如果禁用材质属性,则疏忽所有光源,并应用纯顶点色彩来渲染对象。using namespace chai3d;// create a meshcMesh* mesh = new cMesh();// add mesh to worldworld->addChild(mesh);// create three new verticesint vertex0 = mesh->newVertex();int vertex1 = mesh->newVertex();int vertex2 = mesh->newVertex();// set position of each vertexmesh->m_vertices->setLocalPos(vertex0, 0.0, 0.0, 0.0);mesh->m_vertices->setLocalPos(vertex1, 0.0, 1.0, 0.0);mesh->m_vertices->setLocalPos(vertex2, 1.0, 1.0, 0.0);// assign color value to each vertexcColorf color(1.0, 0.2, 0.2);mesh->m_vertices->setColor(vertex0, color);mesh->m_vertices->setColor(vertex1, color);mesh->m_vertices->setColor(vertex2, color);// create new triangle from verticesmesh->newTriangle(vertex0, vertex1, vertex2);// enable vertex colorsmesh->setUseVertexColors(true);// compute surface normalsmesh->computeAllNormals();纹理映射纹理映射 纹理贴图将利用(映射)到形态或多边形的外表。此过程相似于将图案纸利用于纯白框。多边形中的每个顶点都通过显式调配或过程定义调配一个纹理坐标(在 2d 状况下也称为 UV 坐标)。而后,在多边形的外表插值图像采样地位,以生成视觉后果,该后果仿佛比应用无限数量的多边形能够实现的更丰盛。 要理解如何在 CHAI3D 中创立纹理,请参阅本页顶部的第一个示例。线框图 三角形能够在实心或线模式下渲染。(左)固体模式。(右)线框模式。using namespace chai3d;// enable wireframe rendering modemesh->setWireMode(true);// enable solid rendering modemesh->setWireMode(false);边缘 要同时渲染边和三角形,CHAI3D 提供了显示三角形的选项,并笼罩依据相邻三角形之间所需的最小角度抉择的边子集。(左)实心和边缘。(右)仅边缘。using namespace chai3d;// compute all edges for which adjacent triangles have more than 40 degrees anglemesh->computeAllEdges(40);// set line width of edges and colorcColorf color;color.setBlack();mesh->setEdgeProperties(1, color);// (1) enable surfaces and edgesmesh->setShowTriangles(true);mesh->setShowEdges(true);// (2) enable edges onlymesh->setShowTriangles(false);mesh->setShowEdges(true);面部剔除 反面剔除确定网格对象的三角形是否可见。这是图形管道中的一个步骤,用于测试三角形中的顶点在投影到屏幕上时是否按顺时针程序显示。using namespace chai3d;// enable cullingobject->setUseCulling(true); 如果启用了面部剔除,但投影在屏幕上的多边形具备逆时针缠绕,则它已旋转为背离相机,不会被绘制。 该过程通过缩小程序绘制的多边形数量,使渲染对象更快、更高效。例如,在城市街道场景中,通常不须要在建筑物背对摄影机的侧面绘制多边形;它们被面向相机的侧面齐全遮挡。 通常,如果反面剔除仅蕴含关闭和不通明的几何体,则能够假设在渲染场景中不会产生可见的伪影。在蕴含通明多边形的场景中,通过 Alpha 合成过程,后向多边形可能会变得可见。透明度、半透明性和混合渲染相机的半透明镜头 通明的物理材质显示其前面的对象未被遮挡,并且不会从其外表反射光线。通明玻璃是一种近乎通明的资料。尽管玻璃容许大多数光线不受遮挡地通过,但实际上它也反射了一些光。齐全通明的资料是齐全看不见的。 半透明物理材质显示其前面的对象,但这些对象被半透明材质遮挡。此外,半透明材质会反射照射到它的一些光线,使资料可见。半透明资料的物理示例包含通明布料、薄塑料和烟熏玻璃。 通明和半透明通常是同义词。既不通明也不半透明的资料是不通明的。 混合是OpenGL的机制,用于将帧缓冲中已有的色彩与传入基元的色彩组合在一起。而后,这种组合的后果将存储回帧缓冲器中。混合常常用于模仿半透明的物理材质。一个例子是渲染汽车的烟熏玻璃挡风玻璃。驾驶员和内饰依然可见,但它们被烟熏玻璃的深色所覆盖。外表法线渲染网格的顶点法线 在 CHAI3D 中启用照明时,法线矢量用于确定在指定顶点或外表上接管的光量。如果尚未定义曲面法线,则能够通过取该三角形两条边的向量叉积来计算每个三角形的法线。 出于调试目标,能够应用以下调用显示曲面法线:using namespace chai3d;// compute all surface normalsmesh->computeAllNormals();// set normal properties for displaycColorf color;color.setOrangeTomato();mesh->setNormalsProperties(0.01, color);// display surface normalsmesh->setShowNormals(true);多网格对象介绍 因为网格对象每个对象仅蕴含一个材质和纹理属性,因而创立应用材质和纹理汇合的网格须要应用称为 cMultiMesh 的不同类,该类将网格列表连贯在一起。通过在独自的网格对象中依据三角形的材质和纹理属性来组织三角形,能够无效地构建和渲染具备丰盛属性集的简单对象。using namespace chai3d;// create a multi mesh objectcMultiMesh multiMesh = new cMultiMesh();// add multi mesh object to worldworld->addChild(multiMesh);// create a first meshcMesh mesh1 = multiMesh->newMesh();// create a second meshcMesh* mesh2 = multiMesh->newMesh();文件反对 CHAI3D 反对 3DS、OBJ 和 SLT 文件格式来导入或导出模型。如果您心愿导入不同格局的文件,能够应用Blender或Visual Enterprise Author(以前称为Deep Exploration)等应用程序来编辑文件并将其转换为所需的格局。using namespace chai3d;// load 3DS model filemultiMesh->loadFromFile("myModel.3ds");// load OBJ model filemultiMesh->loadFromFile("myModel.obj");// load STL model filemultiMesh->loadFromFile("myModel.stl");// save model to 3DS filemultiMesh->saveToFile("myModel.3ds");// save model to OBJ filemultiMesh->saveToFile("myModel.obj");// save model to STL filemultiMesh->saveToFile("myModel.stl");碰撞检测 碰撞检测器用于计算射线与组成网格(或多网格)的任何三角形之间的交点。为了使此操作疾速进行,CHAI3D 应用边界体积层次结构或 BVH。BVH 是一组几何对象上的树结构。所有几何对象都包裹在形成树的叶节点的边界体积中。而后将这些节点分组为小汇合,并蕴含在较大的边界体积中。反过来,这些也以递归形式分组并关闭在其余较大的边界体积中,最终导致树结构在树的顶部具备单个边界体积。边界体积层次结构用于无效地反对对几何对象集的多项操作,例如在触觉交互计算、光线追踪或鼠标抉择的碰撞检测中。轴对齐边界体积层次结构 在 CHAI3D 中,必须在定义三角形后生成边界体积层次结构。如果批改了三角形或挪动了顶点,则必须再次计算层次结构。更新碰撞树时,正确蕴含世界上应用的最大触觉点的半径十分重要。此信息用于创立足够大的包络,以检测与半径小于或等于定义阈值的接触点的任何交互。using namespace chai3d;// create axis aligned bounding volume hierarchymultiMesh->createAABBCollisionDetector(toolRadius);触觉成果网格对象的触觉渲染 为了触觉渲染网格对象,CHAI3D应用由Ruspini和Khatib开发的虚构“手指代理”算法,相似于Zilles和Salisbury提出的“上帝对象”。虚构代理是代替虚拟环境中物理手指或探测器的代表性对象。Ruspini和Khatib的手指代理算法 上图阐明了虚构代理的静止,因为触觉设施的地位产生了变动。代理的静止试图始终朝着指标挪动。当畅通无阻时,代理间接向指标挪动。当代理遇到障碍物时,无奈间接挪动,但代理仍能够通过沿一个或多个束缚曲面挪动来缩短到指标的间隔。抉择静止以部分最小化到指标的间隔。当代理无奈缩小其与指标的间隔时,它将进行在本地最小配置处。力是通过对触觉设施和代理地位之间的虚构弹簧进行建模来计算的。弹簧的刚度在资料属性中定义。using namespace chai3d;// create collision detectormesh->createAABBCollisionDetector(toolRadius);// set haptic propertiesmesh->m_material->setStiffness(1000);mesh->m_material->setStaticFriction(0.3);mesh->m_material->setDynamicFriction(0.4); 还能够通过资料属性等级激活和调整其余触觉成果。触觉成果应用势场算法,任何通用形态对象也反对这些算法。请留神,网格对象目前不反对磁性成果。using namespace chai3d;// create a haptic stick-slip effectmesh->createEffectStickSlip();// set haptic propertiesmesh->m_material->setStickSlipForceMax(5.0);mesh->m_material->setStickSlipStiffness(1000);3D建模学习工作室翻译整顿,转载请表明出处! ...

March 2, 2023 · 3 min · jiezi

关于编辑器:Blender如何设置模型中心点

举荐:将 NSDT场景编辑器 退出你的3D开发工具链。 在应用Blender建模的时候,有时候会导入一些从别的中央下载过去的模型,这时候就会遇到一个问题,模型放到场景中时与鼠标搁置的地位有肯定的偏差,起因就是是模型的原点和游标位置不统一,这样就会导致在应用的时候会呈现模型坐标地位有偏差。当初给演示一种非常简单应用的办法: 就以一个方形实体为例: 初始状态下,实体的地位和坐标原点的地位偏差较大 第一步:抉择右上角的坐标系 第二步:抉择鼠标挪动框选整个物体,物体上呈现了挪动光标第三步:拖动光标将物体的核心拖动到游标位置将物体依照同样的办法把X/Y/Z三个方向都调整一遍,成果如下:再把物体加载到场景中,这时候模型地位就与鼠标搁置的地位保持一致了。

March 2, 2023 · 1 min · jiezi

关于编辑器:流浪地球2AI人工智能数字生命元宇宙

举荐:将 NSDT场景编辑器 退出你的3D开发工具 链剧情介绍太阳危机 太阳行将老化收缩,淹没太阳系,地球上的人类构思了各种生存打算:其一是“数字生命打算”,该打算制作弱小的量子计算机,心愿让人类在数字世界失去永生;其二是“移山打算”,在月球上装置行星发动机“流放月球”,在地球上装置行星发动机实现停转以及来到太阳系返回新的家园。人类火种打算 “移山打算”的可行性验证是在地球和月球上各建造一座行星发动机,通过试点火验证发动机的能源是否合乎预期。而整个发动机控制系统须要一个算力弱小的零碎作为撑持, 550A零碎弱小的算力是整个打算施行的要害;图恒宇作为550A零碎的架构师,同时也在钻研着数字生命。AI人工智能/元宇宙空间(埋下伏笔) 话说另一边, 550A零碎的总架构师图恒宇的妻子和女儿死于多年前的一场交通意外,不忍女儿离他而去, 于是将女儿的丫丫的意识上传到还不成熟的550A零碎上,保留着女儿2分钟的生命-数字生命,从此丫丫就生存在一个虚构的房间中。打算施行-AI人工智能立大功 最终行星发动机打算验证胜利,地球上也曾经建造装置了1W多台行星发动机。因为所有发动机必须要空虚启动能力保障地球在费劲太阳系时不会因为受力不均而被撕裂,所以必须启动寰球互联网跟服务器,而后通过550W(550A升级版)系统控制所以发动机同时点火。 月球坠毁,碎片行将落在地球,地球朝不保夕的时候,中国互联网跟服务器确迟迟未能链接上线,而图恒宇此时也被困海底命悬一线,无奈实现重启寰球互联网服务器的工作,眼看人类就会被月球碎片捣毁。图恒宇在危机关头将互联网秘钥让曾经成为数字生命的丫丫记住了联网秘钥,而后本人也溺水而亡。 随后画面一转,图恒宇同样推开门,来到丫丫的房间,在丫丫的帮忙输出联网秘钥,是的550W在最关头启动寰球发动机,率领带球、率领人类走向新的家园。 元宇宙/虚拟现实与AI人工智能 剧中展现了相当多科技感十足的元素:AI人工智能、元宇宙、虚拟现实、算力等,其中元宇宙是目前最火的话题之一。 宇宙一词来源于美国作家尼尔·斯蒂芬森在1992年创作的科幻小说《雪崩》中,形容了一个人们以虚构形象在三维空间中与各种软件进行交互的世界。 概念上,Metaverse一词由Meta和Verse组成。Meta示意超过,计算机专用语中为“元”,verse代表宇宙universe,合起来通常示意“超过宇宙”,即“元宇宙” 的出处:一个平行于事实世界运行的人造虚拟空间。元宇宙旨在造成一个将网络、硬件终端和用户囊括进来的虚拟现实零碎。元宇宙的特色: •作为元宇宙雏形的沙盒游戏平台Roblox,于2021年3月胜利登陆纽交所上市,作为第一个将“元宇宙“概念写进招股书的企业,上市首日市值冲破400亿美元, Roblox提出了通向“元宇宙”的8个要害特色:Identity(身份)、Friends(敌人)、Immersiveness(沉迷感)、LowFriction(低提早)、Variety(多样性)、Anywhere(随地)、Economy(经济)、Civility(文化),其中,文化是最终倒退方向。 分析师MatthewBall提出元宇宙该当具备持续性、实时性、兼容性、经济属性、可连接性、可创造性的特色。Roblox提出的元宇宙特色MatthewBall提出的元宇宙特色元宇宙的核心技术: 包含底层架构(人工智能/区块链/网络及运算技术)和后端基建(物联网/仿真交互/电子游戏技术)两局部。 受害于国家政策的大力支持,区块链、物联网、5G技术、人工智能倒退绝对更快,曾经在工业制作、金融服务、在线医疗等场景的落地利用中获得了很大停顿。 电子游戏畛域的超强吸金能力使得电子游戏技术的倒退尤为迅速,曾经被广泛应用于社交媒体、健身、教育、众筹、军队招募和员工培训。 交互事实技术的停顿较前两者非常迟缓,间隔大众化利用仍有很长一段时间。元宇宙技术底座利用场景 元宇宙既要“由实向虚”,也要“由虚向实”,能力带来数字交融为主题的商业模式和产业结构的转变。 ToB:工业元宇宙“由虚向实”:工业,是元宇宙利用于toB畛域的第一片实际瘠田,工业元宇宙特指在工业畛域,就是工业化和数字化、网络化、智能保化交融的高级状态,为实现智能制作、无人操控、精益治理提供了新的工具箱。比照生产元宇宙,工业元宇宙更持重,旨在发明一个高精度的数字孪生场景,把事实世界中的问题映射进元宇宙中,在元宇宙中仿真寻找解决方案,再把最优解部署回事实世界,关注解决确切场景中的具体问题,将笼罩工业生产全链条环节,元宇宙在工业畛域的利用价值或远大于生产畛域。 ToC:生产元宇宙“由实向虚”:在生产互联网(Web2.0)阶段,围绕集体娱乐、本地生存(购物、出行等)、办公三大生产场景,通过互联网平台利用,实现了“物理世界的人-数字化信息-物理世界的生产体验”的过程,其外围变动在于获取信息维度实现了数字化。而在生产元宇宙(Web3.0后)阶段,将会实现从生产主体、信息获取形式、信息出现模式及生产体验内容等全方位实现虚实联合。比照生产互联网时代的生态因素,生产元宇宙时代更加重视“用户发明,用户所有”、“虚构货币,追溯交易”、“沉迷实在,能力加强”,为消费者发明全新的虚构体验。 在为元宇宙建设提供物理事实还原根底的万物互联技术方面,寰球正处于暴发后期,将来规模化减速演进,必须解决碎片化、平安、老本三大倒退难题。而人工智能技术则成为了撑持元宇宙实现的关键技术瓶颈,何时能实现冲破在学界与业界都存在很大一致。 技术撑持,给科幻作品出身的“元宇宙”提供了走入事实的门路,但元宇宙的终局到底是何种样貌?大势何时到来?这不仅由科技倒退水平决定,还由社会倒退因素,以及元宇宙倒退牵动的法律、道德等多重因素如何均衡所决定。从当初的科技根底来看,现在的确是资本进驻,创始可能的好时机,但利用遍及和技术壁垒等艰难也同时存在。因而,大家对元宇宙概念更应该放弃绝对感性的期待。转载请阐明出处!Sign up for more like this.

March 1, 2023 · 1 min · jiezi

关于编辑器:2023-年-Typora-激活版下载亲测可用

Typora 破解破解,正式开始 Typora是一款简略易用的Markdown编辑器。 Markdown是一种能够应用一般文本编辑器编写的标记语言,通过简略的标记语法,它能够使一般文本内容具备肯定的格局,其指标是实现易读易写。而Typora则是一个十分不错的Markdown编辑器,它的界面十分的简洁直观,并且性能各方面也是十分的不错,例如实时预览性能在实现输出后就能够看到这些内联款式,并在键入时或按下“Enter”键或焦点到另一个段落后查看块款式。 并且 Typora将为您提供读者和作家的无缝体验。它删除了预览窗口,模式切换器,提价源代码的语法符号以及所有其余不必要的烦扰。将它们替换为实在的实时预览性能,以帮忙您专一于内容自身。 一、 下载破解文件 关注微信公众号【徐公】,回复 typora,即可获取 二、 解压文件 下载胜利后,解压,目录如下: 三、 装置Typora 点击装置。 将解压出的 app.asar 文件挪动到 Typora 装置目录resource 文件夹下,替换掉本来的 app.asar。 四、 重启Typora 替换掉 app.asar 后,重启 Typora。 五、输出任意邮箱号与应用阐明中提供的序列号实现激活 破解安装包获取形式:PS: 安装包页面提取人数过多,导致分享的百度网盘链接容易被封: 蛋疼ing,为限度人数,目前暂不提供页面间接提取,改为从笔者公众号提取。 Typora装置激活包下载链接:本教程应用图中的标注的安装包: 关注微信公众号 【徐公】,回复 typora,即可获取

February 28, 2023 · 1 min · jiezi

关于编辑器:三维重建开源项目汇总

举荐:将 NSDT场景编辑器 退出你的3D开发工具链。 1、Meshroom ⭐4,474Meshroom是一款基于AliceVision摄影测量计算机视觉框架的收费开源三维重建软件。https://github.com/alicevisio...、Openmvg ⭐2,829Openmvg库依据三维计算机视觉和构造的静止。OpenMVG提供了一个端到端的3D重建,它由图像框架组成,蕴含库、二进制文件和管道。这些库提供了简略的性能,如:图像处理,性能形容和匹配,性能跟踪,相机模型,多视图几何,旋转预计…该二进制文件解决了管道可能须要的单元工作:场景初始化、特色检测与匹配和静止重建的构造,并将重建的场景导出到其余多视点平面视觉框架中,以计算密集的点云或纹理网格。这些管道通过链接各种二进制文件来计算图像匹配关系OpenMVG是用c++开发的,能够在Android、iOS、Linux、macOS和Windows上运行。https://github.com/openMVG/op...、Awesome_3dreconstruction_list ⭐2,261与图像3D重建相干的论文和资源精选清单https://github.com/openMVG/aw...、Awesome Point Cloud Analysis ⭐1,801对于点云剖析(解决)的论文和数据集列表https://github.com/Yochengliu...、Opensfm ⭐1,635OpenSfM是一个用Python编写的静止库的构造。该库作为一个解决管道,用于从多个图像重建相机姿势和3D场景。它由静止构造的根本模块(特色检测/匹配,最小解算)组成,重点是构建一个强壮的、可伸缩的重建管道。它还集成了内部传感器(如GPS、减速计)测量,以实现天文定位和鲁棒性。提供了一个JavaScript查看器来预览模型和调试管道。https://github.com/mapillary/...、Alicevision ⭐1,318AliceVision是摄影测量计算机视觉框架,可提供3D重建和相机跟踪算法。AliceVision旨在通过可测试,剖析和重用的最新计算机视觉算法提供弱小的软件根底。该我的项目是学术界和工业界单干的后果,旨在为尖端算法提供鲁棒性和生产应用所需的品质。https://github.com/alicevisio...、Openmvs ⭐1,193OpenMVS是面向计算机视觉的库,尤其是针对多视图平面重建社区的。只管有针对静止构造管道(例如OpenMVG)的成熟而残缺的开源我的项目,这些管道能够从输出的图像集中复原相机的姿态和稠密的3D点云,但没有一个解决摄影测量链的最初一部分-流。OpenMVS旨在通过提供一套残缺的算法来复原要重建场景的整个外表来填补这一空白。输出是一组摄影机姿态加上稠密的点云,输入是带纹理的网格。该我的项目波及的次要主题是:密集的点云重构,以取得尽可能残缺,精确的点云网格重建,用于预计最能解释输出点云的网格外表网格细化可复原所有精密细节网格纹理,用于计算清晰精确的纹理以对网格着色https://github.com/cdcseacave...、Bundler_sfm ⭐1,158https://github.com/snavely/bu...、Bundlefusion ⭐752应用在线外表从新整合进行实时全局统一的三维重建https://github.com/niessner/B...、Face_swap ⭐636!(https://img-blog.csdnimg.cn/i...)面部替换:https://github.com/YuvalNirki...、Scannet ⭐678ScanNet是一个RGB-D视频数据集,蕴含超过1500次扫描中的250万次视图,应用3D摄像机姿势、外表重建和实例级语义分段进行正文。https://github.com/ScanNet/Sc...、Softras⭐540SoftRas是一个真正的可微分渲染框架,把渲染作为一个可微分的聚合过程,交融所有网格三角形的概率奉献绝对于渲染像素。https://github.com/ShichenLiu...、Pifu ⭐474https://github.com/shunsukesa...、Matterport ⭐460用于RGB-D机器学习工作的十分棒的数据集。https://github.com/niessner/M...、Kimera⭐456Kimera是一个用于实时度量-语义同步定位和映射的c++库,它应用摄像机图像和惯性数据来构建环境的语义正文3D网格。Kimera是模块化的,反对ros,在CPU上运行。https://github.com/MIT-SPARK/...、Mvs Texturing ⭐421我的项目能够依据图像对3D重建进行纹理解决。该我的项目专一于应用静止和多视图立体技术的构造生成的3D重建。https://github.com/nmoehrle/m...、Livescan3d ⭐402LiveScan3D是一个实时三维重建零碎,应用多个Kinect v2深度传感器同时进行三维重建。产生的3D重建模式是有色点云的模式,所有Kinect的点都搁置在同一坐标系中。该零碎的可能应用场景包含:同时从多个视点捕捉对象的3D构造,捕捉场景的“全景” 3D构造(通过应用多个传感器来扩大一个传感器的视场),将重建的点云流式传输到近程地位,通过让多个传感器捕捉同一场景来进步单个传感器捕捉的点云的密度。https://github.com/MarekKowal...、Voxelhashing ⭐364大规模、实时三维重建:https://github.com/niessner/V...、Layoutnet ⭐298从单个RGB图像重建三维房间布局https://github.com/zouchuhang...、Tsdf Fusion Python ⭐295这是一个轻量级的python脚本,可将多个色彩和深度图像交融到TSDF体积中,而后能够将其用于创立高质量的3D外表网格和点云。在Ubuntu 16.04上测试成果如下图:https://github.com/andyzeng/t...、Intrinsic3d ⭐231通过外观和几何优化以及空间变动的照明实现高质量3D重构https://github.com/NVlabs/int...、Kimera Semantics ⭐228从2D数据进行实时3D语义重构https://github.com/MIT-SPARK/...、Awesome Holistic 3d ⭐2093D重建的论文和资源清单:https://github.com/holistic-3...、3dreconstruction ⭐151应用Python3进行SFM的3D重建https://github.com/alyssaq/3D...、Structured3d ⭐121用于结构化3D建模的大型照片级数据集https://github.com/bertjiazhe...、Synthesize3dviadepthorsil ⭐117通过对多视图深度图或轮廓建模来生成和重建3D形态https://github.com/Amir-Arsal...、Msn Point Cloud Completion ⭐111https://github.com/Colin97/MS...、Cnncomplete ⭐107用于训练体积深层神经网络以实现局部扫描的3D形态的代码https://github.com/angeladai/...、Reconstructiondataset ⭐95用于进行三维重建的一组图像https://github.com/rperrot/Re...、3d Recgan Extended ⭐81从单个深度视图进行密集的3D对象重建https://github.com/Yang7879/3... up for more like this.

February 24, 2023 · 1 min · jiezi

关于编辑器:Cesium本地影像与地形服务发布

举荐:将 NSDT场景编辑器 退出你的3D开发工具链。1 数据切片目前遥感影像及数字高程模型切片次要包含 gdal 和 ctb 两种形式,相应的开源工具包能够在 Cesium 交换群(QQ 群:115883691)中下载到。最近在进行 Cesium 本地影像与地形服务公布时,发现一款软件 Cesiumlab。Cesiumlab 是一款专为 Cesium 开源数字地球平台打造的收费数据处理工具集。目前蕴含 地形数据处理、影像数据处理、点云数据处理、数据下载、建筑物矢量面解决、歪斜数据处理、三维场景 (max,maya) 解决、BIM 数据 (revit,ifc) 解决等工具。同时提供一套 java 开发的数据服务器。造成从数据处理、服务公布、到代码集成的残缺工具链。备注:Cesiumlab能够解决CGCS2000和WGS84坐标系数据,可借助ArcGIS实现。1.1 影像解决1.2 地形解决2 Web 应用服务器装置与配置2.1 Tomcat 装置及配置Tomcat 装置、配置与应用Tomcat 装置及配置教程Tomcat 解决跨域问题2.2 IIS 装置及配置win7 零碎要怎么装置和配置信息服务(IIS)Win10 IIS Web 服务器装置与配置CORS .net 跨域解决方案IIS 配置反对跨域申请3 本地影像与地形服务公布Cesium 本地影像与地形服务公布的文件目录如下图所示,image_tiles 与 terrain_tiles 别离为 DOM 切片数据和 DEM 切片数据。test_Cesium.html 源码如下:<!DOCTYPE html><html lang="en"><head> <!-- Use correct character set. --> <meta charset="utf-8"> <!-- Tell IE to use the latest, best version. --> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Make the application on mobile take up the full browser screen and disable user scaling. --> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"> <title>Cesium本地影像与地形服务公布</title> <script src="Cesium-1.5.1/Build/Cesium/Cesium.js"></script> <link href="Cesium-1.5.1/Build/Cesium/Widgets/widgets.css" rel="stylesheet"></head><body> <div id="cesiumContainer"></div> <script src="tiles.js"></script> </body></html>tiles.js 源码如下://加载天地图在线地图 ...

February 23, 2023 · 2 min · jiezi

关于编辑器:Typora-Mac-激活破解教程亲测可用

Typora for Mac 的编辑功能齐全,反对插入文本、图片、表格、代码、数学公式等,typora mac 版还反对实时预览和所见即所得性能,让你工作更加高效。 Typora 1.3.6 Mac 破解版 介绍Typora for Mac --- 极简主义 Markdown 编辑器 Typora for Mac 不像大多数 Markdown 编辑器,也不会其窗口拆分为源局部和预览局部。相同,它让你预览您的作品在同一窗口,实时预览。性能特点可读写Typora 将为读者和作家提供无缝的体验。它删除预览窗口,模式切换器,标记源代码的语法符号以及所有其余不必要的烦扰。用真正的实时预览性能替换它们,以帮忙您集中内容自身。 简略而弱小应用有组织的文本构造来记录事物 无障碍捆绑一个小而弱小的 MARKDOWN 编辑工具汇合 菜单,快捷键,表编辑器,MATHJAX 编辑器和拖放图像 自定义主题能够通过 CSS 齐全配置 Typora 1.3.6 Mac 破解版 好用极简的跨平台 Markdown 编辑器 下载地址 PS: 破解文件页面提取人数过多,导致分享的百度网盘链接容易被封: 蛋疼 ing,为限度人数,目前暂不提供页面间接提取,改为从笔者公众号提取。 关注微信公众号【徐公】,回复 typora,即可获取 Typora最新破解装置教程,附激活码(2023 年 2 月 10 号,亲测无效)

February 22, 2023 · 1 min · jiezi

关于编辑器:OpenSCAD一款用于创建实体3D-CAD对象的软件

举荐:应用 NSDT场景设计器 疾速搭建 3D场景 OpenSCAD是一个用于创立实体3D CAD对象的软件。它是免费软件,可用于Linux / UNIX,MS Windows和macOS。 与大多数用于创立3D模型的免费软件(例如驰名的应用程序Blender)不同,OpenSCAD专一于CAD方面,而不是3D建模的艺术方面。因而,当您打算创立机器整机的 3D 模型时,这可能是您正在寻找的应用程序,但可能不是用于创立计算机动画电影的工具。 OpenSCAD不是一个交互式建模器。相同,它更像是一个 3D 编译器,它读取形容对象的脚本文件并从该脚本文件出现 3D 模型(请参阅上面的示例)。这使设计人员可能齐全管制建模过程,并使您可能轻松更改建模过程中的任何步骤或进行由可配置参数定义的设计。 OpenSCAD提供了两种次要的建模技术:首先是建设性的实体几何体(又名CSG),其次是2D轮廓的拉伸。作为这些二维轮廓的数据交换格局,应用Autocad DXF文件。除了用于拉伸的 2D 门路外,还能够从 DXF 文件中读取设计参数。除了DXF文件,OpenSCAD还能够读取和创立STL和OFF文件格式的3D模型。 OpenSCAD领有丰盛的开发库: BOSL: 一个工具、形态和助手的库,使 OpenScad 更易于应用。 dotSCAD:解决简单3D模型的算法库。NopSCADlib:拓展零件库,可用于3D打印机和电子产品等。 UB.scad:是OpenSCAD的残缺3D打印工作流程解决方案,提供了用于批改和生成3D对象,视图助手和一系列机械零件的工具。Functional OpenSCAD:将OpenSCAD的内置模块从新实现为间接在顶点数据上运行的函数。通过拜访顶点、门路和面几何数据,能够从用户脚本中扩大 OpenSCAD 的性能。例如,此库包含函数 bounds(poly),它返回 [[minX,minY,minZ],[maxX,maxY,maxZ]] 示意形成形态或形态列表的所有点的最大和最小坐标 应用内置模块时无奈进行这种计算,因为它们的顶点数据不可拜访。Constructive Library:扩大 OpenScad 语言,用于简单和互补的机械部件,只需更少的算法代码。提供“冲压”办法,以疾速创立机械零件,并相互配合。这被用作其余 CAD 零碎已知束缚的替代品 应用库本人的语法从模块轻松创立孔,并克服 Openscad 对简单模型的许多限度。BOLTS :凋谢的技术规格库。Round-Anything:用于解决平滑角和圆角的工具。Mark's Enclosure Helper:OpenSCAD 脚本工具,用于生成一个两件式铰链盒,具备圆角、盖子、互锁轮辋、卡扣、磁铁或螺钉闭合,以及用于向任何面增加切口或增加的简略地位。Functional:OpenSCAD 函数的汇合。 它旨在提供算法和工具,以帮忙应用 OpenSCAD 函数式编程技术中构建高效的脚本。OpenSCAD threads.scad module:这是一个高效的OpenSCAD线程库,次要用于其余设计中的组件。它反对公制兼容的内螺纹和外螺纹、螺旋钻螺纹、螺纹锥形、间隙孔、埋头孔、嵌入式孔、六角螺栓、螺母、垫圈、十字尖端和用螺纹接头延长的长杆。只有有可能,这合乎参数默认值的度量规范,同时为许多值提供笼罩。外围螺纹例程利用列表推导式将整个螺纹螺钉生成为单个多面体。与其余办法相比,这大大提高了渲染速度和鲁棒性,缩小了必要的刻面数量,并减少了最终整机的触觉平滑度。这也容许局部锥形螺纹端部,以及螺旋钻和传统螺纹达到肯定水平。OpenSCAD Smooth Primitives Library:此库是一些平滑图元的汇合,即具备指定的圆角边,用于其余设计。OpenSCAD Function Plotting Library:这是一个用于OpenSCAD的通用函数绘图库,它将应用笛卡尔坐标(x和y输出,z输入)、极坐标/柱坐标(r和角度输出,z输出)或轴坐标(z和角度输出、r输入)绘制函数。该库非常灵活,不仅能够用于绘图性能,还能够用于其余性能。如蕴含的演示文件所示,这能够无效地渲染具备由数学函数定义的曲面的一般对象。尽管OpenSCAD还有一些其余函数绘图库,但这一个库特地强壮、疾速和灵便。它应用列表了解将每个图生成为单个多面体,在一个设计中反对每种类型的多个用户定义函数,统一地创立适当的流形渲染,并且执行速度与任何其余相似大小的渲染对象一样快。OpenSCAD ClosePoints Library:通用的OpenSCAD库,只需创立点列表即可轻松创立各种形态,这些点列表在所需形态的轮廓中描摹出层。该库由用于从这些点列表创立多面体的模块以及帮忙应用变换指定点的函数组成。Tray Library:旨在疾速创立具备不同配置的托盘,以便高效存储整机,例如硬件、小工具、棋盘游戏插件等。Parametric Projectbox generator:参数投影盒生成器,用于电子我的项目盒的生成器STEMFIE Parts Library:STEMFIE是一款收费的教育拼搭套装玩具,您能够在家中下载并应用和制作模型组件。每个组件都是兼容形态的机械生态系统的一部分,旨在通过各种连贯和紧固件互锁。Catch'n'Hole:用于在 OpenSCAD 中创立螺母、螺丝孔和埋头孔。Pathbuilder:应用 SVG 语法创立带有圆角和倒角的简单 2D 形态的疾速办法。反对残缺的 SVG 语法。 ...

February 21, 2023 · 1 min · jiezi

关于编辑器:Art-of-Illusion-一款免费的开源-3D-建模和渲染软件

举荐:应用 NSDT场景设计器 疾速搭建 3D场景。Art of Illusion 是一个收费的开源 3D 建模和渲染工作室。它的许多性能可与商业程序中的性能相媲美。亮点包含基于细分曲面的建模工具、基于骨架的动画以及用于设计程序纹理和材质的图形语言。这是用于编辑场景的主窗口。该界面设计为洁净、易于学习且易于应用。Art of Illusion提供了基于细分曲面的建模工具,用于从任意形态和构造的管制网格创立润滑曲面。一组弱小的变形工具可让您以天然、直观的形式“雕刻”物体。Art of Illusion最特地的性能之一是其程序纹理编辑器。通过将代表不同模式或数学函数的块“连贯在一起”,您能够在几分钟内构建简单的过程。生成的纹理的预览始终可见,并在您工作时不断更新。 链接地址:https://www.mvrlink.com/artof...

February 17, 2023 · 1 min · jiezi

关于编辑器:使用数字孪生技术仿真物理世界的意义

数字孪生 是两个零碎。一个零碎存在与事实的物理世界,一个零碎存在与虚构的计算机世界。并且通过智能技术,使得这个存在于虚拟世界中的零碎也能以一种直观的形式让咱们感知与触碰。因为物理世界是由千亿级的各类数据形成,所以在虚拟世界中的仿真即使就是对各类数据的仿真,即数字孪生。物理世界运载着人类以及宏大的生态系统,它的运行容不得一丝的过错,咱们更是没有胆量去多次试错。在城市病日益突出的明天,为了使得城市的运行更加的美妙,人类开始尝试用各种技术手段扭转现有环境。数字孪生便也在这种状况下,失去了更多的关注。咱们能够在不扭转原有物理世界的状况下,使用数字孪生技术,克隆出与之对应的虚拟世界,在虚拟世界中咱们能够看到物理世界的角角落落,并且能够在虚拟世界中进行各种创新性尝试与改革,这样咱们就能够提前晓得如果这种决策使用在现实生活中是否可行。这样将大大减少了试错的老本,并且能够一直调优,使得决策更加助力与事实环境。3D仿真技术,https://ted.sinoccdc.cn/核音智言利用多引擎疾速构建,高分辨率3D图像,通过建模技术、平面合成技术、交互技术模仿事实中的虚拟环境。 三维天文空间 核音智言通过建设丰盛的模型组件,多引擎疾速构建,海量数据接入,集成三维地理信息及三维空间统计,基于实体高效建模,一体化治理,高性能空间剖析和可视化等关键技术 数据可视化 疾速搭建,多元数据集成,数据实时响应,核音智言自主研发的大数据平台,集成多数据源接入、自动化数据萃取,散布数据存储,为用户决策判断提供全面的数据反对。 IoT物联接入 核音智言自主研发的IoT物联网平台,实现设施接入,设施治理,检测运维,数据处理剖析等性能,提供海量设施上云,近程管制及设施联动等能力,帮忙疾速实现设施联网及行业利用集成。

February 16, 2023 · 1 min · jiezi

关于编辑器:欢迎大家

NSDT场景设计器 助您疾速搭建 3D场景, 软件应用简略,非专业建模人员能够通过简略的拖拽操作将模型摆放到场景中,疾速实现场景安排。模型反对参数化批改,做到一模多用,软件内置丰盛的模型资产库,能够满足多行业利用。软件链接如下:https://ted.sinoccdc.cn/ 欢送大家试用!

February 13, 2023 · 1 min · jiezi

关于编辑器:数字孪生技术让电网更智慧

在交融北斗通信、人工智能等技术根底上,全息数字电网可实现从电网建设到前期巡检、故障解决等的全周期、全方位、全流程数字化管控。 全息数字电网利用了数字孪生技术,对实在电网进行1∶1三维平面还原和数字化全景出现。 数字孪生技术,是指通过建设三维数字化模型,买通物理世界和数字世界,实现虚实交融的复合技术。 数字模型不仅能够与物理对象状态高度类似,还能够实现性能仿真,简直做到全因素映射。 以全息数字电网为例,其定位精度达到厘米级,让宏大简单的电网及其细节都可能被看见。 巡检人员足不出户便可清晰平面地把握电网四周全貌,把握现场工况。 通过航迹主动布局、脱险主动躲避等性能,无人机可实现全自动巡检作业,实现一基杆塔巡检仅需约6分钟,比传统人工巡检效率进步4至6倍。 全息数字电网能显著升高运维老本和作业危险,晋升工作效率,具备良好的经济社会效益。 随着全息数字电网的建成,主动巡检从小范畴扩大到全副区域。 目前,江苏电网已实现大规模无人机巡检协同利用与智能管控,可反对上千架无人机同时作业。 2022年全年主动巡检作业量超过52万架次,提前发现打消输电铁塔缺点及通道隐患4.2万处,重大缺点发现率晋升3倍。 据估算,每年能够节约运维老本约2亿元。 作为新型电力系统建设的重要试点,全息数字电网为我国乃至全世界通过数字技术晋升电网平安运行程度奉献了新计划。 全息数字电网相当于一个高精度的三维数字“沙盘”,可在虚拟世界实现物理电网的仿真模仿推演,并联合历史数据对物理电网的状态进行剖析和预判,无效晋升安全隐患、线路故障的发现和应急处理能力,推动电网从“被动运维”向“被动运维”转变。比方,利用激光点云遥感成像技术建构电网周边区域三维场景,实时监测环境变动;依靠平台模仿大风雨雪冰冻天气场景,提前研判气象灾祸对于铁塔等设施的影响等。 作为基础设施数字化的新摸索,全息数字电网利用前景广大。比方,零碎可将高精度三维地图数据共享至光伏发电、风电、水力、通信经营铁塔、输油输气廊道等应用领域。 通过“数字电网+人工智能+AI算法+5G+北斗地图导航”,人们能够在实时共享数据的根底上找到最优门路,也能够在车联网平台上看到充电网络信息,为新能源汽车找到最佳充电地位,取得更好的出行体验。 进步电网数字化程度是数字经济倒退的必然要求,也是构建新型电力系统、促成能源清洁低碳转型的事实须要。 面对新局势、新需要,一直晋升电网智能化程度,拓展新的利用场景,定能确保电力稳固供给,更好满足民生需要,更好服务经济社会倒退大局。

February 13, 2023 · 1 min · jiezi

关于编辑器:免费3D建模软件

零根底、零代码的收费3D建模软件,可满足多场景的需要,软件性能专一、操作简便、能够很好的满足用户三维场景搭建需要,尤其是对没有专门建模人才的小型企业或者是小型团队,不论是从资金还是软件的性能上都能给用户带来较高的性价比。本软件反对桥梁、公路、隧道等业余的3D场景大搭建,并反对实景VR,丰盛的模型资产库通过简略的拖拽就能够搭建属于本人的3D场景,通过简略的数据关联,就能够反对数据驱动模型进行模型谷歌动画,模仿人、机械设备的动作,进行模仿仿真预测,极大简化的3D场景搭建工作。点击下方链接即可申请应用。(https://ted.sinoccdc.cn/)

February 10, 2023 · 1 min · jiezi

关于编辑器:修改二进制文件中的某个字节

可能咱们很少会改写二进制文件,可是当咱们要改写的时候,咱们须要晓得怎么做!一种办法是应用编辑器: 比方:010 Editor,UltraEdit。 另一种办法则是应用命令或者脚本,这样的益处是能够实现自动化,而不须要每次的手动编辑。 命令如下: $(shell printf "\x80" | dd of=temp.elf bs=1 count=1 conv=notrunc bs=1 count=1 seek=27)解释: 上述命令是指应用dd命令把0x80写入到temp.elf文件中的第27个字节处。 dd命令: dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。 留神:指定数字的中央若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2 参数正文: if=文件名:输出文件名,缺省为规范输出。即指定源文件。< if=input file > of=文件名:输入文件名,缺省为规范输入。即指定目标文件。< of=output file > ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。 obs=bytes:一次输入bytes个字节,即指定一个块大小为bytes个字节。 bs=bytes:同时设置读入/输入的块大小为bytes个字节。 cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。 skip=blocks:从输出文件结尾跳过blocks个块后再开始复制。 seek=blocks:从输入文件结尾跳过blocks个块后再开始复制。 留神:通常只用当输入文件是磁盘或磁带时才无效,即备份到磁盘或磁带时才无效。 count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。 conv=conversion:用指定的参数转换文件。 ascii:转换ebcdic为ascii ebcdic:转换ascii为ebcdic ibm:转换ascii为alternate ebcdic block:把每一行转换为长度为cbs,有余局部用空格填充 unblock:使每一行的长度都为cbs,有余局部用空格填充 lcase:把大写字符转换为小写字符 ucase:把小写字符转换为大写字符 swab:替换输出的每对字节 noerror:出错时不进行 notrunc:不截短输入文件 sync:将每个输出块填充到ibs个字节,有余局部用空(NUL)字符补齐。留神: 想晓得更多的dd命令解释,请自行百度。

February 9, 2023 · 1 min · jiezi

关于编辑器:TyporaMarkdown写作配合PicGo及阿里云图床配置-原创

写博客的时候,刚开始间接在各大平台上间接写,起初还是感觉不太不便,须要在各大平台之间来回切换。于是就改用Typora,然而有个问题就是图片的解决,只能放在本地。想要公布到各大平台,就须要图床。本文联合阿里云OSS、PicGo图床配置、Typora配置,可能做到一次文章编写,各大平台对立输入。 阿里云配置创建对象存储Bucket登录阿里云后,选择对象存储 新人开明试用3个月收费 开明后,进入治理控制台 点击Bucket列表,创立Bucket 访问控制开启公共读 访问控制RAM配置点击右上角AccessKey治理 创立AccessKey,留神这里的AccessKey ID 和 AccessKey Secret保留下来,前面要用到 PicGo下载安装下载地址 https://picgo.github.io/PicGo... 能够抉择山东大学的镜像站 https://mirrors.sdu.edu.cn/gi... PicGo配置KeyId 、KeySecret 就是下面阿里云的AccessKey ID 和 AccessKey SecretBucket 就是阿里云的bucket名称 存储区域,对应阿里云Endpoint的后面,我这里是oss-cn-hangzhou存储门路,本人轻易定义一个,比方 img/自定义域名,对应阿里云 Bucket域名 Typora下载及配置Typora目前免费,想要收费可应用,可参考笔者的这个下载地址 链接:https://pan.baidu.com/s/1bCxm... 提取码:F93i设置找到设置,点击图像设置 上传图片的服务,抉择PicGo.app 实际效果截图软件,粘贴成果,typora间接转换成了阿里云OSS的地址外站粘贴过去的也是同样成果

December 22, 2022 · 1 min · jiezi

关于编辑器:版本更新-Towify-V1231-有哪些实用新功能汇总来了

前言为了让欠缺 Towify 的性能,进步用户应用体验,Towify 始终联合用户需要进行优化和更新。终于, Towify 1.23.1版本正式公布上线。这次 Towify 安顿上了哪些重磅性能?有没有你期待已久的那一个? 重大更新01 优化我的项目购买套餐选项领取调优,减少对立入口,用户能够间接应用组合套餐进行购买 Towify 中的编辑器套餐、数据中心套餐、公布套餐。全新的组合套餐能够间接实现每个我的项目和数据中心的购买,用户不须要独自在每个我的项目或数据中心屡次购买。 02 反对自定义 SDK 事件事件核心反对 自定义 SDK 事件、用户能够在事件中自定义代码块更灵便的构建业务流程,从而实现业务性能。同时事件核心集成 Authing SDK,能够间接对接 Authing 的利用。 03 减少小程序页面浏览量统计减少小程序的 PV 统计,即页面浏览量统计,能够统计网站或者利用中每个独立页面的浏览次数,用户能够间接在 Towify 编辑器中查看小程序或者网站哪些页面更受用户欢送,哪些页面须要改良,不便用户或者经营人员更加针对性的进行内容推广和网站优化,从而进步网站或小程序的用户体验。 结语心动了吗?当初就去更新应用吧!你还期待 Towify 推出什么样的性能,记得留言通知咱们~在应用过程中,有任何意见和反馈,都能够在软件内的 <技术支持> 板块,分割咱们的客服人员,退出咱们的社区。

December 16, 2022 · 1 min · jiezi

关于编辑器:联动腾讯云桌面企业网盘助力云上办公

腾讯云企业网盘 联动 腾讯云桌面,让云上办公更效率,数据更平安~ 腾讯云桌面(Cloud Virtual Desktop,CVD),一款随需快捷交付的虚构桌面服务。通过加密的自适应传输协定,构建业务平安拜访入口,给客户取得优质的云桌面拜访体验,为客户构建牢靠的数字化工作空间,实现近程办公,晋升业务拜访的安全性和连续性。 腾讯云企业网盘(Tencent Cloud Enterprise Drive,TCED),一款平安、高效、凋谢的企业级办公产品,为客户提供文件存储、权限治理、用户治理、在线合作、文档收集与散发等服务,助力企业晋升数据管理效率。 背景:社会信息化水平越来越高,用户桌面办公的需要正一直发生变化,近程办公的需要一直增长;数据及网络安全的关注度继续进步;整体办公老本在进一步优化。在此背景下,越来越多的企业开始关注云上办公以及对应的企业产品。 本次联动:企业网盘退出云桌面的腾讯云官网镜像预装利用,客户在云桌面官网镜像中可免装置应用网盘。在云上办公场景,客户应用云桌面的同时,网盘提供欠缺的存储能力,帮忙客户云端存储文件,晋升文件存储、应用、分享的效率和安全性,助力云上办公。 01 云桌面产品介绍腾讯云桌面,平安、稳固灵便的云上桌面虚构服务,帮忙企业在云上进行企业办公、课程、合作等。通过加密的自适应传输协定,构建业务平安拜访入口,给客户取得优质的云桌面拜访体验,为客户构建牢靠的数字化工作空间,实现近程办公,晋升业务拜访的安全性和连续性。丰盛的服务提供,包含自适应桌面协定、接入网管免部署、身份认证能力以及跟腾讯云多款产品组合,其中腾讯云企业网盘是首批预装上架的SaaS产品。 02 网盘联动计划腾讯云企业网盘作为首批预装在云桌面的利用,开箱即用,实现云桌面场景下的文件存储、平安拜访、合作共享等服务,晋升云上的效率和数据安全性。首批预装利用包含:企业微信、腾讯云企业网盘、微信、腾讯会议,均是云上办公场景的必备app,不便企业和客户,顺畅的进行云上服务。 03 网盘服务场景网盘帮忙云桌面进行一站式云端内容治理,实现云桌面数据管控及协同合作。其中网盘提供的劣势服务包含:-安全性:企业级数据的安全性、持久性和可用性;欠缺的数据防透露(DLP)策略-精细化权限:定义身份自在搭配权限;文件细颗粒度权限-多端同步:反对云端单向备份;主动备份增量数据;反对秒级同步性能-高效易用:协同编辑、互动合作;高效治理、多级分权 04 企业应用场景企业应用场景多种多样,教育实训、平安办公、设计行业诉求很强。云桌面联动网盘,能赋能于不同的企业应用场景,如教育实训、平安办公、在线设计等多种企业场景,保障云上的课程培训、办公、设计的同时,借助网盘存储对应的数据,实现数据的高效流转、合作和平安存储。 【教育实训解决方案】 -企业诉求:教育培训相干企业,有些课程须要应用的软件对应硬件配置较高、装置简单,学员学习环境无奈撑持,参与度不够。-云桌面计划:高效解决实训软件硬件性能有余、装置配置简单等问题;学员做到边听课边实训,晋升学员参与度与体验感,帮助机构晋升转化率。-网盘场景:实现课程学习材料、辅导材料、软件应用阐明等文件的存储和共享,课程中实时查看网盘资料,辅助学习。 【平安办公解决方案】 -企业诉求:数据敏感性较高的企业,对于数据在本地或者硬件,存储和合作的危险较高。-云桌面计划:数据保留在云端,对立安全策略限度最终用户下载留存,平安水印避免截屏拍照,加密协议仅传输屏幕变量。无效晋升外围敏感业务拜访的安全性和连续性,构建安全可靠的数字化工作空间。-网盘场景:云上平安存储企业的数据,并且保证数据在分享、传输、合作通路的安全性。 【在线设计解决方案】 -企业诉求:设计类的公司有比拟多渲染等业余高性能场景,本地机器性能有余。-云桌面计划:提供多种规格的高性能 vGPU 图形云桌面实例,无效笼罩图纸查看、设计建模、影视剪辑、视频渲染等业余场景需要。云桌面传输协定会依据网络状况自适应调节传输通道带宽,确保图像传输稳固晦涩,提供更好的画面质量,保障设计用户体验。-网盘场景:平安存储各种设计实例、在线图纸、视频资料等,并且能提供快捷的合作、分享服务,保障云上设计的稳定性和安全性。后续网盘会和云桌面一起,摸索更多云上办公、教学等企业场景,服务更多企业客户,帮忙企业实现平安、稳固、灵便的云上场景,推动企业数字化转型。 更多产品征询及流动信息欢送退出腾讯云企业网盘交换群与咱们间接沟通

December 15, 2022 · 1 min · jiezi

关于编辑器:图观引擎V334-功能更强操作更便捷最新升级一睹为快

图观™引擎,自去年内测版推出上线以来,已帮忙泛滥合作伙伴开发出本人的数字孪生利用、落地交付数字孪生我的项目,实现了本身软件产品的全面降级、技术能力的大幅拓展。通过一直的降级迭代,图观™引擎V3.3.4版本,更加重视 低代码开发 和 场景构建 方面的撑持能力,在产品性能、业务流程、应用体验等多个方面进行了降级扩大,为开发小伙伴们提供了更加便捷易用、功能丰富的数字孪生平台。为不便大家疾速get重点,小编简略总结图观最新降级的性能亮点,一起来先睹为快吧~图观™端渲染场景编辑器新增粒子编辑、地球仪-球坐标系反对,凋谢租户资产,模型共享 品种丰盛随心选用助您轻松拼搭数字孪生场景图观™端渲染场景服务器正式上线,提供便捷的场景资源管理服务反对公布场景治理、API 场景拜访服务/管制满足低成本、高并发拜访需要图观™对立开发API & 辅助调试器裁减 数据图层、视线管制、场景特效等业务接口新增 粒子关节反对、地球仪模式反对轻松应答简单定制开发需要图观™利用编辑器更丰盛的 案例库、二/三维控件、交互逻辑指令零代码 升高开发门槛图观™应用服务器上线应用,对立治理租户全副曾经公布的利用反对公布利用治理、利用拜访服务/管制等数字孪生利用便捷治理图观™引擎V3.3.4降级具体介绍01端渲染 场景编辑器图观端渲染场景编辑器反对模型数据导入、模型材质编辑、关节编辑、场景属性编辑、场景特效编辑、场景状态编辑、场景坐标编辑、场景预览公布等模块。内置海量模型资产库、成果材质库,积木式拼搭本人的孪生场景。V3.3.4版本中,场景编辑器针对 资产库、线画刷、场景编辑、坐标编辑、场景公布 等性能别离进行了降级和扩大。1.资产库(1)凋谢社区资产:社区资产新增5000多个模型资源,涵盖数十品种模型,可作为配置场景的素材资源拖拽到场景中应用,并继续更新公布上架。(2)模型资产预览:资产库中可对 零碎资产/社区资产/租户资产 的模型进行预览查看,租户资产和社区资产可对灯光、特效、背景、视角、画刷进行设置并且进行资产保留/保 存预案,视角设置中可将以后配置好的成果进行截取封面操作。(3)资产搜寻:在场景编辑下的资产库中,可通过名称或者关键字对资产进行检索。2. 场景编辑(1)粒子:可对场景中任意模型节点增加粒子成果,配置好的粒子能够将其绑定至关节里,通过调整关节状态管制粒子的发射成果。(2)线画刷:新增等距排列绘制、等距平铺绘制、多对象线路挪动绘制 、单对象线路挪动绘制、特效线路挪动绘制等性能,可依据利用须要灵便抉择。3.坐标编辑-地球仪新增“地球仪”模式,如果配置的场景上传的是地球仪模型,并且须要应用“球坐标系”,能够在坐标编辑中将场景坐标系设置为“地球仪”模式。在该模式下,会提供一个作为参考用的规范的地球仪模型,以便于进行经纬度校准。同上方地图定位模式相似,点击不同的菜单按钮,可别离对本场景模型、地图模型调整缩放和旋转。4.场景公布新增“公布治理”性能,该性能能够间接跳转到端渲染场景服务治理后盾,对立治理租户全副曾经公布的端渲染场景。图观™引擎V3.3.4降级具体介绍02端渲染 场景服务器图观™端渲染场景服务器 正式上线,提供公布场景治理、 API 场景拜访服务、API 访问控制等性能。产品基于HTML5 和 WebGL 技术,通过客户端显卡实现轻量级三维场景在浏览器的渲染。满足用户 低成本、高并发拜访需要。图观™引擎V3.3.4降级具体介绍03对立开发API 及 辅助调试器图观™对立开发API提供简略易用的:孪生对象数据驱动、海量数据可视化、孪生场景视线管制、GIS/BIM 数据交融接入、人机交互音讯解决等 五百余个开发接口!配合应用图观™API调试器,基于对立开发API示例代码,进行简略批改代码模板,即可在线轻松测试图观已公布的场景服务、调试场景交互成果、标绘点/线/面数据、生成模仿代码。V3.3.4版本中,针对通用架构、端渲染架构、流渲染架构,新增对粒子关节、地球仪模式的反对,扩大了 区域图 / shp 区域图 / 门路图 以及 镜头管制、模型管制、全局管制 等接口参数。通用接口的性能降级和扩大:1. 场景对象新增粒子关节反对,可开发、调试场景中的模型粒子关节的动画、属性。 图层对象(1)区域图:fillArea 属性减少 Solid01、Solid02、Solid03、Solid04 和 Solid05 的枚举值。(2)shp 区域:减少 coordZ 和 fillPosition 属性。addAreaShp 指令,增加对3857坐标系的反对。(2)门路图: type 属性减少 Segment07、Segment08、Arrow07、ModelCube 和 ModelCylider 五种。(3)关系图的款式类型:新增 addConnection、updateConnection、updateConnectionStyle等相干指令。款式类型减少射线类型和脉冲类型。(5)模型管制:开始抉择模型,pickModel 指令,减少 isShowDecorator 属性。3.增加对地球仪模式的反对(1)图层反对:地标点、门路、区域、圆形区域、地标图、三维柱图、栅格图、气泡图、事件图、关系图、类型区域图、数值区域图、门路点热力求、门路段热力求。(2)特效反对:特效、特效地标图4.全局管制(1)获取场景坐标接口:新增依据屏幕坐标获取场景坐标接口pickScreen 。(2)镜头管制:新增摄像机模式指令setCameraMode 。(3)获取场景信息:为返回值减少primitiveCoord 属性。(4)摄像机管制:restrictCamera 指令的 limitPitch 属性,开始和完结值域范畴调整为-89到89。(5)设置场景成果参数:setSceneEffect 指令减少 focusDuration 属性。5.模型管制(1)设置根底变换:setModelTransform 指令的 scale 属性批改正文,明确绝对于原始模型大小缩放,会笼罩其余 TGAPI 接口的模型 scale。(2)设置根底变换2:setModelTransform2 指令的 scaleX、scaleY、scaleZ 属性批改正文,明确绝对于原始模型大小缩放,会笼罩其余 TGAPI 接口的模型 scale。(3)增加模型:addModel 指令批改 scale 属性正文,反对繁多数值和三维数组的书写办法。针对端渲染架构:(1)模型管制:开始抉择模型,pickModel 指令减少 allowMultiple 属性。(2)增加门路:addPath 指令, textureSpeed 属性反对所有款式。(3)优化 switchService 性能。(4)增加 快捷键 ctrl + f 显示/暗藏帧数面板。针对流渲染架构:(1)模型/修建剖分:新增 setModelClipping、clearModelClipping接口。(2)开展修建:新增开展修建楼层 expandBuildingFloor 接口。(3)增加 GIS 地图 :批改 mapUrl 属性中流渲染 WMTS 地址的格局标准。(4)地形解决:新增addTerrainProcess、updateTerrainProcess、removeTerrainProcess指令。(5)设置场景成果参数:setSceneEffect 指令减少 labelColorStyle 属性。(6)shp区域加载优化。(7)自定义图标:减少 padding 属性。(8)更新歪斜摄影:可依据须要决定是否传入CenterTranslate、CenterRotation属性。图观™引擎V3.3.4降级具体介绍04零代码 利用编辑器图观™零代码 利用编辑器,反对图表控件配置、场景服务调用、简单交互配置、利用预览公布等性能。内置丰盛的可视化组件、页面模板、全面的可编辑属性,反对二次开发。通过利落拽所见即所得的操作,不写一行代码,即可实现简略的 数字孪生 利用开发。在之前的版本中,图观™利用编辑器扩大了 我的项目传送、案例库、资产库零碎资产的页面资产和场景资产、定时接口配置、明码拜访等性能。V3.3.4版本中,对案例库、二/三维控件、交互逻辑指令进行了扩大。1. 案例库案例库新增了参数联动、 对象管制、图层对象、利用开发 分类案例,可通过参考案例应用疾速理解并熟练掌握编辑器的配置应用。2.二/三维控件(1)二维图表:新增了柱线比拟图、旋风图、图片按钮组、视频列表、桑基图、标靶图、热点图等丰盛二维图表,全拖拽式自在页面布局,灵便选用。(3)三维图层:新增了事件图、门路段热力求、门路点热力求、类型区域图、数值区域图等三维图层,可在图层设置下增加应用。3.交互逻辑指令(1)敞开面板:新增了敞开面板交互行为,次要用于弹出面板后可能通过交互事件配置将弹出的面板敞开。(2)页面编辑新增了“利用关上”、“页面关上”交互触发条件,次要用于利用公布预览和页面预览时触发对应的交互事件。(2)二维图表新增了“数据空”、“数据非空”交互触发条件,次要用于判断某二维图表接收数据为空或非空时触发对应的交互事件。(3)组件编辑新增了 “组件关上”交互触发条件,次要用于判断弹出组件面板时触发对应的交互事件。图观™引擎V3.3.4降级具体介绍05应用服务器图观™应用服务器正式上线,可对立治理租户全副曾经公布的利用,管制利用公布状态、利用拜访权限,查看利用拜访状况、利用信息,浏览利用等。

November 30, 2022 · 1 min · jiezi

关于编辑器:将-CloudMounter-连接到-4EVERLAND-以实现统一的去中心化文件管理

CloudMounter 的名字很直观——它是对于将云服务装置为本地磁盘驱动器的。CloudMounter 能够像硬盘一样将 ftp/sftp、Amazon S3、DropBox、OneDrive 等云服务挂载到 macOS 上,让你像治理本地文件一样治理 Finder 中的文件。 CloudMounter官网页面:这是一篇将 CloudMounter 服务连贯到去中心化平台 4EVERLAND 的教程文章。启用对存储在去中心化协定(IPFS 和 Arweave)中的文件的治理,就像它们在本地 Finder 中一样,如果您有趣味,请持续浏览。 在开始之前,您须要曾经: 装置CloudMounter登录到4EVERLAND如果您不相熟什么是去中心化存储以及如何应用 4EVERLAND 的去中心化存储服务,请提前浏览:https://docs.4everland.org/what-is-bucket。开始获取拜访密钥点击生成 在 CloudMounter 中配置 AWS-S3 输出相干配置。能够在以下地位找到“服务器端点”:https ://docs.4everland.org/s3-campatiable-api它是: https://endpoint.4everland.com单击“装置”,稍等片刻,您应该能够在 Finder 中拜访它没有文件夹?咱们须要在 4EVERLAND Dashboard 中创立一个 Bucket。 创立新的桶当初我将同时创立两个Buckets,因为4EVERLAND同时反对IPFS和Arweave;创立两个 Buckets 能够帮忙咱们更好地管理文件。请留神,“同步到 AR”按钮已关上,以确保此 Bucket 中的文件将主动上传到 Arweave 网络。 刷新你的 Finder,你会看到这两个 Buckets 曾经呈现在你的本地磁盘上了。最初,想怎么用就怎么用! 对于云挂载将所有风行的云存储帐户装置为惯例驱动器,并应用 CloudMounter 确保您的信息安全。与 Dropbox、Google Drive、MS OneDrive 和其余提供商的本地客户端不同,它不会同步您的在线数据,该应用程序间接连贯到云服务器,从而显着节俭您计算机的硬盘空间。CloudMounter 还会加密您的文件以确保其平安。 对于4EVERLAND4EVERLAND是一个集存储、计算、网络外围能力为一体的Web 3.0云计算平台。它旨在帮忙用户从 Web 2.0 顺利逾越到 Web 3.0,成为数百万 Web 3.0 开发者和应用程序的基础设施。 退出 4EVERLAND 社区: ...

November 25, 2022 · 1 min · jiezi

关于编辑器:YonBuilder移动开发AVM框架-封装SKU商品规格选择组件

AVM(Application-View-Model)前端组件化开发模式基于规范Web Components组件化思维,提供蕴含虚构DOM和Runtime的编程框架avm.js以及多端对立编译工具,齐全兼容Web Components规范,同时兼容Vue和React语法糖编写代码,编译工具将Vue和React相干语法糖编译转换为avm.js代码。 基于规范 Web Components 组件化思维,兼容 Vue / React 语法个性,通过一次编码,别离编译为 App、小程序代码,实现多端开发。 组件性能介绍该SKU组件可实现商品图片与色彩属性进行联动,通过色彩、版本来管制价格,总价通过购买数量与所选商品价格进行主动计算;可进行缺货设定。上述性能点是通过商品数据结构和代码逻辑进行配合来实现的。 商品数据结构如下: goodsList:[ {id:'100016015112', image:'https://m.360buyimg.com/mobilecms/s750x750_jfs/t1/210630/17/8651/208682/618a5bd6Eddc8ea0e/b5e55e1a03bc0126.jpg!q80.dpg.web', color:'亮彩色', status:true, guige:[ {label:'8G+128G',price:'3999',status:false}, {label:'8G+256G',price:'5999',status:true}, {label:'16G+512G',price:'6999',status:true}, {label:'16G+1024G',price:'9999',status:false} ]}, {id:'100016015113', image:'https://img14.360buyimg.com/n4/jfs/t1/216079/14/3895/201095/618a5c0cEe0b9e2ba/cf5b98fb6128a09e.jpg', color:'釉红色', status:true, guige:[ {label:'8G+128G',price:'3799',status:true}, {label:'8G+256G',price:'5799',status:true}, {label:'16G+512G',price:'6799',status:true}, {label:'16G+1024G',price:'9799',status:false} ]}, {id:'100016015132', image:'https://img14.360buyimg.com/n4/jfs/t1/215845/12/3788/221990/618a5c4dEc71cb4c7/7bd6eb8d17830991.jpg', color:'秘银色', status:true, guige:[ {label:'8G+128G',price:'3599',status:true}, {label:'8G+256G',price:'5599',status:true}, {label:'16G+512G',price:'6599',status:true}, {label:'16G+1024G',price:'9599',status:false} ]}, {id:'200016015117', image:'https://img14.360buyimg.com/n4/jfs/t1/203247/8/14659/237368/618a5c87Ecc968774/b0bb25331e5e2d1a.jpg', color:'夏日胡杨', status:false, guige:[ {label:'8G+128G',price:'3899',status:false}, {label:'8G+256G',price:'5899',status:false}, {label:'16G+512G',price:'6899',status:false}, {label:'16G+1024G',price:'9899',status:false} ]}, {id:'100013415456', image:'https://img14.360buyimg.com/n4/jfs/t1/160950/40/25098/234168/618a5cb9E65ba975e/7f8f93ea7767a51b.jpg', color:'冬日暖阳', status:true, guige:[ {label:'8G+128G',price:'3199',status:true}, {label:'8G+256G',price:'5199',status:true}, {label:'16G+512G',price:'6199',status:true}, {label:'16G+1024G',price:'9199',status:false} ]} ]每个商品的版本有多条数据,每条数据都对应不同的价格,同时会有字段标识是否有货。 每一个商品也会有字段标识是否有货。 当切换商品属性时,须要通过函数进行判断,以保障在商品缺货的状况下,不能被选中。setGoods(e){ // console.log(JSON.stringify(e));let item = e.currentTarget.dataset.item;if(item.status){ this.data.selectGoods = item; this.data.guigeList = item.guige; for (let index = 0; index < item.guige.length; index++) { const element = item.guige[index]; //保障默认选中的商品是有货的 if(element.status){ this.data.selectGuige = element; break; } } }},示例展现 组件开发组件文件easy-sku.stml ...

November 23, 2022 · 4 min · jiezi

关于编辑器:YonBuilder移动开发平台-AVM框架-封装SKU商品规格选择组件

AVM(Application-View-Model)前端组件化开发模式基于规范Web Components组件化思维,提供蕴含虚构DOM和Runtime的编程框架avm.js以及多端对立编译工具,齐全兼容Web Components规范,同时兼容Vue和React语法糖编写代码,编译工具将Vue和React相干语法糖编译转换为avm.js代码。 基于规范 Web Components 组件化思维,兼容 Vue / React 语法个性,通过一次编码,别离编译为 App、小程序代码,实现多端开发。 组件性能介绍该SKU组件可实现商品图片与色彩属性进行联动,通过色彩、版本来管制价格,总价通过购买数量与所选商品价格进行主动计算;可进行缺货设定。上述性能点是通过商品数据结构和代码逻辑进行配合来实现的。 商品数据结构如下: goodsList:[ {id:'100016015112', image:'https://m.360buyimg.com/mobilecms/s750x750_jfs/t1/210630/17/8651/208682/618a5bd6Eddc8ea0e/b5e55e1a03bc0126.jpg!q80.dpg.web', color:'亮彩色', status:true, guige:[ {label:'8G+128G',price:'3999',status:false}, {label:'8G+256G',price:'5999',status:true}, {label:'16G+512G',price:'6999',status:true}, {label:'16G+1024G',price:'9999',status:false} ]}, {id:'100016015113', image:'https://img14.360buyimg.com/n4/jfs/t1/216079/14/3895/201095/618a5c0cEe0b9e2ba/cf5b98fb6128a09e.jpg', color:'釉红色', status:true, guige:[ {label:'8G+128G',price:'3799',status:true}, {label:'8G+256G',price:'5799',status:true}, {label:'16G+512G',price:'6799',status:true}, {label:'16G+1024G',price:'9799',status:false} ]}, {id:'100016015132', image:'https://img14.360buyimg.com/n4/jfs/t1/215845/12/3788/221990/618a5c4dEc71cb4c7/7bd6eb8d17830991.jpg', color:'秘银色', status:true, guige:[ {label:'8G+128G',price:'3599',status:true}, {label:'8G+256G',price:'5599',status:true}, {label:'16G+512G',price:'6599',status:true}, {label:'16G+1024G',price:'9599',status:false} ]}, {id:'200016015117', image:'https://img14.360buyimg.com/n4/jfs/t1/203247/8/14659/237368/618a5c87Ecc968774/b0bb25331e5e2d1a.jpg', color:'夏日胡杨', status:false, guige:[ {label:'8G+128G',price:'3899',status:false}, {label:'8G+256G',price:'5899',status:false}, {label:'16G+512G',price:'6899',status:false}, {label:'16G+1024G',price:'9899',status:false} ]}, {id:'100013415456', image:'https://img14.360buyimg.com/n4/jfs/t1/160950/40/25098/234168/618a5cb9E65ba975e/7f8f93ea7767a51b.jpg', color:'冬日暖阳', status:true, guige:[ {label:'8G+128G',price:'3199',status:true}, {label:'8G+256G',price:'5199',status:true}, {label:'16G+512G',price:'6199',status:true}, {label:'16G+1024G',price:'9199',status:false} ]} ]每个商品的版本有多条数据,每条数据都对应不同的价格,同时会有字段标识是否有货。 每一个商品也会有字段标识是否有货。 当切换商品属性时,须要通过函数进行判断,以保障在商品缺货的状况下,不能被选中。setGoods(e){ // console.log(JSON.stringify(e));let item = e.currentTarget.dataset.item;if(item.status){ this.data.selectGoods = item; this.data.guigeList = item.guige; for (let index = 0; index < item.guige.length; index++) { const element = item.guige[index]; //保障默认选中的商品是有货的 if(element.status){ this.data.selectGuige = element; break; } } }},示例展现 组件开发组件文件easy-sku.stml ...

November 23, 2022 · 4 min · jiezi

关于编辑器:Fleet公测啦真的轻量

就在昨天晚上8点多,我收到了一封邮件,看到题目引起了我的留神。尽管曾经据说过很多对于Fleet的风闻了,包含也有内测的大佬应用过了。然而!这次可是公测了呀!于是立马花了将近1G流量在笔记本里下载了下来。官网的界面还是判若两人的科技感。然而Fleet并不反对独立下载,须要先下载ToolBox。 装置好了,图标也是给人一种高级感,作为一枚前后的开发人员,我急不可待的想体验一下,比拟弱小有轻量。有一说一,关上真的快,不到2秒。然而,这就是官网说的轻量?????是不是对轻量有什么误会.....小问题,咱们先试试成果。看了一圈,舒服没找到插件市场,那这生态少一半呀。看了一下,能配置的设置也就这么点。再看看侧边栏的开展。这不是纯纯VsCode吗?再看看他的Git操作面板。一股子VSC味,IDEA的Git好用多了。比照一下:差远了,内存照样占用。包含历史提交,也只是单纯显示一下。而后就是工具类反对的一些操作,SSH、终端、Docker。而后他是有一个智慧模式。开启后没啥感觉到智慧。而后就是我的项目启动。Boot的我的项目间接运行启动类。可是......我靠,不反对lombok...还是期待缓缓更新吧,再见。

October 13, 2022 · 1 min · jiezi

关于编辑器:品牌怎么在小红书掘金小红书推广网红大号KOL达人带货投放服务广告公司供应商告诉你

【本篇由言同数字科技有限公司原创】“2亿人的生存教训都在小红书”这是冬奥会期间咱们时常听到的一句广告词。 随同着谷爱凌和刘昊然的循环口播,不难感触到小红书正在致力地将本人的新定位,传播给更多用户。 其实,早在往年1月,小红书就公布了这则全新的TVC。广告语最大的变动,就是把之前始终应用的“生存形式社区”这一略显形象的概念,改为“生存教训”这个更贴近日常的表白。 从“找到国外的好货色”到“全世界的好货色”再到“全世界的好生存”,时至明天更广为人知的则是“标记我的生存”。不禁提问:小红书slogan变迁的背地,它的社区生态到底倒退到什么境地了?社区内的短视频和直播又是否值得一做? 一、最会“种草”的小红书2021年11月,实现最新一轮5亿美元的融资后,市场对小红书的估值达到了200亿美元,而在同年6月进行第五轮融资时,这个数字还仅仅是100亿。 不到半年的工夫内,估值整整翻了一倍,和国内已上市的内容社区相比,小红书新估值下的体量曾经远远超过微博、知乎等平台,仅次于B站和快手,可见各大资本对该平台的青眼。 “重金押注”小红书的理由,不外乎是其内容社区蕴含的弱小广告效应和变现能力。业内曾流传一个段子:如果你想要做胜利一个新品牌,去小红书投5000篇笔记就行。这当然是句玩笑话,但从中不难看出,小红书的种草力对一个品牌的影响有多大。 主观来看,小红书中的每一篇图文、每一条视频笔记,都有其在生活中的实用价值,不同于其余平台广泛重娱乐的内容气氛,小红书的实用价值是毋庸置疑的。 甚至在局部用户群体中,呈现了“万事不决小红书”的说法,兴许用户在社区内找到的内容不是最业余的,但它们大多都实在出自每一个普通人手中,这就使得用户对社区的信任感大大提高。 而当用户浏览到这其中暗藏的种草内容时,无形中会对其中举荐的一些品牌产生认知和购买欲望,无论是否在当下实现了消费行为,对品牌而言,曾经达到了初步霸占用户的心智的指标,这就是小红书KOC存在的意义。中国数字营销计划小红书经营代理商-言同数字科技有限公司(客户经理微信farawaywork,增加请备注来意)透过绩效导向的整合数字营销解决方案,提供翻新科技的营销策略及行业洞察为品牌带来长期价值。 小红书是中国热门的社群电商平台之一,而作为最大的口碑内容核心,小红书成为寰球和国内品牌施展本身影响力的营销战场,同时也是接触宏大中国受众的必备管道。 言同数字提供的策略性小红书经营服务全方位的品牌评估每个平台都有本人的一套规定和限度,小红书也不例外。即使言同数字曾经把握了小红书营销的致胜要害,但在为品牌提供中国现实的数字行销解决方案之前,也不可避免地须要进行全方位的企业评估。 创立小红书企业帐号言同数字负责管理在小红书上设置官网帐户的整个繁琐过程。您所须要做的只是简略享受实现后的品牌认证图标、个人化材料简介、加强的社群性能和数据洞察报告。 一手小红书KOL资源言同数字独家签约KOL达人资源,在全国跨行业的网红数据库中,为品牌匹配适合的意见首领,让咱们独特期待令人惊喜的单干成绩吧! 本地化的小红书内容言同数字相熟各种开展受众和品牌之间互动的内容形式。咱们的业余团队将以当地文化及消费者最相熟的语言,量身打造日常主题内容,与超过3亿对品牌感兴趣的小红书用户建立联系。 小红书经营功效报表除了亲密监控和追踪品牌的小红书帐户外,言同数字的营销专家还会定期生成具体的且可视化的剖析数据报告,以便进一步调整和优化小红书经营流动。 为何抉择言同数字为小红书经营代理商?出名的中国新媒体营销专家言同数字在中国数字营销畛域领有7年以上的行销教训,相熟其各种限度和广告类型,能透过经营,为外国和本地品牌在中国新媒体平台奠定根底,并进步社交媒体的知名度。 中国本地化的贴文&创意情境为确保您的小红书广告内容可能引起中国受众的良好交互,言同数字领有一支由中国创意人才组成的团队,可能用市场上的语言和中国的风行趋势发明出迷人的内容,保障品牌在小红书上能倒退广大蓬勃的前景。 在数据智能和平台网络的声援下,言同数字的中国数字专家有信念为各行各业的客户提供小红书行销策略,蕴含网上商务、金融、游戏、美容等。咱们将依据不同品牌的特定需要,量身定制专属的营销推广策略,让您在竞争强烈的网路市场中放弃领先地位。 言同数字领有先进的数字营销大数据和杰出的广告服务(客户经理微信farawaywork,增加请备注来意)致力让品牌客户在数字营销旅程中实现业务指标,透过新媒体平台、媒体网站及网红推广渠道等,帮忙品牌取得、维持和增长客户。咱们的首要任务就是使用全方位对外数字营销策略,帮助国内公司进入中国市场。

October 12, 2022 · 1 min · jiezi

关于编辑器:IDEA翻译插件Translation不能用啦

不晓得大家最近有没有发现,Translation不能用了。因为Google那边的起因,这个插件的接口,拜访不通了。我过后原本是打算寻找一些替代品,比方:有道。然而毕竟不是内置的,而且,我不太喜爱用。解决方案还是内置的翻译好用。那如何解决这个问题呢?我群里的大佬通过批改hosts文件,来使Google翻译接口可拜访。或者你也能够申请其余的API接口:批改hosts进入以下目录:C:\Windows\System32\drivers\etc关上hosts文件。增加以下两句:203.208.40.66 translate.google.com203.208.40.66 translate.googleapis.com不失效?不失效能够尝试进入CMD,应用ipconfig /flushdns命令刷新DNS。如果还不行,欢送私聊。

October 11, 2022 · 1 min · jiezi

关于编辑器:SaaS化MR直播正式上线保利威开启轻量化虚拟直播时代

往年3月份,保利威在Service+策略会上公布了SaaS化的MR直播零碎。坦白说,包含小编在内的绝大多数保利威人,都感觉这“事”没设想中的那么简略。▲ 保利威公布SaaS化的MR直播然而,小编确确实实被保利威的技术冲破狠狠“打”了一次脸。(但也很快乐)现在,就让小编率领大家一起看看,如何用【一个人+一台电脑+一张绿幕+一架相机】就能够实现千万级的虚构直播成果吧! 轻量化+广电级+多场景1人实现MR虚构直播目前,MR网页开播曾经进入内测阶段——用户可在保利威新版直播后盾创立【MR直播】。(详情可分割客户经理)创立胜利后,像平时开播一样,关上频道链接即可进入MR直播开播端。多场景、轻量化、广电级,是保利威SaaS化MR直播的三大外围,帮忙企业以极低的老本用上高品质的虚构直播。多场景沉迷式场景,无疑是MR直播的外围。为了满足企业不同的直播业务场景需要,保利威在MR直播开播端后盾配置了多套沉迷式虚构场景——企业再也无需本人搭建舞台,更不必寻找额定的舞台供应商,仅需在后盾中点击【切换】,便可在「直播元宇宙」中穿梭自若。无论是企业品牌发布会,还是行业研究,亦或是专家论坛分享,在MR场景模板库中,您都能找到最贴合的场景素材。广电级场景之余,直播成果的质感仍旧是泛滥企业品牌所关注的。保利威在搭建每一个场景过程中,都应用了最高级别的三维图形渲染技术,对舞台细节、光照角度、景深成果进行1:1的事实还原,确保在多场景的根底上,确保3D虚构场景的质感,为企业打造品质直播打牢地基。依据不同的场景需要,保利威为每一个场景定制化了不同数量的LED虚构大屏,企业可依据理论须要,在不同的屏幕上播放多媒体(视频/图片/PPT),丰盛直播的内容。轻量化来到品质直播元年,MR直播已不是一项新事物。但,「轻量化的MR直播」是。通过保利威SaaS化的MR直播,仅需一台电脑、一块绿幕、一台相机,用户便可开启MR直播之旅。万一遇到疫情,只能居家办公,你也能够像下面这位小姐姐一样,通过保利威内置的抠像技术间接进入到MR场景中,就此突破传统设施带来的桎梏。Ps:当条件容许时,咱们还是举荐应用绿幕进行MR直播哦,以保障直播成果出现达到最佳品质。1人开播轻量化的极致,是哪怕只有一人,也能呈现出高品质的MR直播。SaaS化的MR直播便是这样的产品。用户可在MR直播开播端后盾调整好【主播地位】,预设好【MR场景】,上传好直播过程中须要用到的【视频】和【文档】,填好【数据】,便可本人开启直播。感觉开播前步骤稍显繁琐?但这其实是每一场品质直播开始前都须要经验的外围步骤。而且,哪怕是第一次用的直播小白,实现上述过程也仅仅须要不到10mins!欢送来挑战哦~当开播之后,主播便可通过翻页笔进行PPT翻页,通过手机进行场景运镜、3D数据图(柱状图、饼状图等)展现,真正实现1人开播。如果还想进一步理解SaaS化MR直播,欢送分割您的【客户经理】开明体验。企业级视频SaaS保利威继续引领行业翻新同样是在Service+策略发布会上,保利威在直播间中翻新式推出的虚构坐席失去了泛滥客户和行业媒体的关注。“虚构坐席产品化能不能先安顿上?”不少客户纷纷向咱们提出了【求同款】的需要。当初,【虚构坐席】性能已正式上线,感兴趣的敌人能够征询您的客户经理哦~在华为云弱小的技术底座反对下,继续动前沿直播技术产品SaaS化,一直满足客户需要,帮忙客户实现价值,这是保利威作为企业级视频SaaS领导品牌的信心。咱们深知,将来SaaS增长的外围将是由【技术+服务】双重驱动。为此,保利威在不断创新音视频技术的根底上,引领式地提出企业级视频SaaS服务,即保利威全链路视频经营服务,致力于通过当先的技术和业余的服务继续为客户发明价值。▲保利威全链路经营服务在一直夯实本身SaaS技术和服务的同时,保利威也与SaaS行业搭档达成严密单干,通过一体化的SaaS化的解决方案,助力中国企业迎接数智化浪潮。

August 24, 2022 · 1 min · jiezi

关于编辑器:6个常用的前端代码编辑器

在线代码编辑器通常包含以下性能: 蕴含代码高这的HTML、CSS 和 JavaScript编辑器代码命令主动实现一个预览窗口,(通常)无手动刷新的从新加载HTML预处理器,例如HAML,PugLess、Sass、Stylus 和相似的 CSS 预处理器包含风行的JavaScript库,例如React,preact,Angular和Vue.js开发人员控制台和代码验证工具编码合作通过短URL共享在其余页面中嵌入演示代码克隆和援用复制到代码仓库,例如github根本服务收费每月大量费用的增值服务一种向世界展现您的编码技巧的办法!不须要关上一个本地的编辑器,也不须要启动一个服务,它们就容许您在浏览器端测试并保留代码段。 以下就是一些最为罕用的前端代码编辑器。 1. codepen Codepen并不是第一个,但它是最受欢迎,外观最佳的代码编辑器之一。该服务由 CSS-Tricks 的 Chris Coyier 独特创建,次要是个性是Pens(客户端演示)和 Projects(可用于构建 Web 我的项目的在线集成开发环境)。它提供了洁净且功能强大的用户编辑界面,例如共享,嵌入式,谬误控制台,内部JavaScript库,受欢迎的CSS预处理程序等。 Codepen Pro提供公有Pen,动态资源托管,合作模式以及自定义iframes主题的性能,每月8美元起。 2. JSFIDDLE JSFiddle是最早的在线代码编辑器之一,并影响了后续其余的产品。它可用于 HTML、CSS 和 JavaScript的组合测试,并提供一系列库和框架。不同的是,它还能够模仿异步 Ajax 申请。 JSFiddle 专一于代码,因而您不会找到一系列社交性能,例如突出显示的演示和共享设施。该界面比其余界面更简略,并且通常您必须点击"运行"能力从新加载后果窗格。然而,它总是让人感觉很活跃,而且它的简略性可能比某些人更喜爱。 3. RunJS RunJS是专一于国内用户的在线编辑器。除了稳固提供根本的Html/Css/JS编辑性能外,RunJS提供了特色的浏览器插件,可能在查看任意站点技术文章时,不切换屏幕就能够做【代码笔记】或者【文章笔记】(markdown性能)。 RunJS Pro帐户提供高级性能,比方文件治理、创立公有我的项目、自定义封面等等。 4. JS Bin JS Bin由 JavaScript 巨匠Remy Sharp创立,至今仍由他治理。它专一于编码基础知识并很好地解决它们。与其余一些编辑器不同,您能够编辑整个HTML文件,包含<head>。 除了通常的选项,库和预处理器外,JS bin是最早提供调试控制台的产品之一,这对于JavaScript开发至关重要。商业 Pro 帐户提供高级性能,例如资源上传、Private Bin、虚构URL ,以及和 Dropbox 同步。如果您放心隐衷或不心愿其他人看到您的代码状态,您甚至能够在本地下载和装置JS bin ! 5. codesandbox 大多数代码编辑器只提供一个HTML文件,一个CSS文件和一个JavaScript文件(只管可能还imports能够)。Codesandbox却更像一个在线版的开发环境。 像规范Web我的项目一样,您能够增加任意数量的文件,并应用多标签,相似于代码的集成开发环境(又称IDE)进行编辑。它能够收费应用GitHub或Google帐户注册,然而您能够实时与其他人单干,将我的项目导出到GIT存储库,并部署到NetLify和Vercel等动态站点主机。 如果您近程工作或应用非典型开发设施(例如Chromebook),则Codesandbox可能是一个实用的抉择。 6.Playcode PlayCode是另一个在线开发环境,可让您增加多个HTML,CSS,JavaScript和资源文件。该界面比CODESANDBOX更简略,然而它疾速,看起来很棒,易于应用,对于初学者来说可能会升高应用门槛。 PlayCode具备日志控制台,并且不同凡响,它使您能够管制预览窗口的大小和更新频率。编辑器是收费的,然而您必须与Google,Microsoft,Github或电子邮件帐户登录以保留我的项目。

August 22, 2022 · 1 min · jiezi

关于编辑器:云扩RPA研习社-浅析自动化原理下

01自动化驱动云扩RPA提供的自动化驱动以插件的模式装置到终端电脑上,目前反对的驱动有: (1)WEB 扩大名称对应用处Chrome 扩大录制 Chrome 浏览器,必须插件Firefox 扩大录制 Firefox 浏览器,必须插件Microsoft Edge 扩大录制 Edge 浏览器,必须插件360平安浏览器扩大录制360平安浏览器,必须插件<Tips>若您应用IE浏览器进行WEB自动化,此处不须要装置对应的插件。(2)近程自动化 扩大名称对应用处Citrix通过Citrix连贯到近程机器上时,通过本地机器录制近程机器界面的必要插件Windows远程桌面(RDP)通过RDP连贯到近程机器上时,通过本地机器录制近程机器界面的必要插件<Tips>除了插件外,另需装置配套上方插件的exe程序,装置在近程的虚拟机或服务器上,须要请分割官网社区技术支持获取。(3)数据库 扩大名称对应用处IBM DB2 扩大操纵 IBM DB2 数据库的必要插件(4)桌面自动化 扩大名称对应用处Java 扩大录制 Java 利用的必要插件(5)零碎 扩大名称表列 BWindows 屏幕解锁扩大流程主动执行屏幕解锁的必要插件Tips为什么有的录制技术要装置驱动,有的却不必?● 目前UIA、UIA3、IA、SAP录制不须要驱动,其余都须要。这是因为它们所依赖的运行库在Windows均已自带,跟是否装置特定利用无关。● 然而像web,java录制,它们须要在特定利用或系统目录配置额定的文件或服务,做成插件的模式能够让用户按需抉择,缩小捆绑装置。02自动化环境大部分的自动化场景都能够运行在咱们日常应用的windows环境中即可,对运行环境没有特地的要求。 上面列出一些云扩提供的高级好用的自动化性能: (1) 独立桌面独立桌面性能使您能够与云扩RPA机器人合作运行有人值守的流程。以“独立桌面”模式启动的流程在独立的 Windows 会话中运行。 Tips仅“企业版”反对该性能,且须要以“管理员权限”运行编辑器或机器人,能力在计算机上启用“独立桌面”性能。不反对主会话与“独立桌面”同时多开的软件有:Chrome,Edge,Outlook等。(2) Session放弃 这个选项是为了让这个会话在断开后立马创立一个新的会话,这样近程VM就能够始终保持有一个会话连贯,流程就不会因为会话中断而执行失败。 Tips近程连贯到其余机器时,如果应用了截屏组件,则不能将近程窗口最小化,否则会出错。在应用虚拟机(云服务器)作为RPA运行环境时,这个性能十分有用。(3) 锁屏运行锁屏运行是指应用“锁屏运行”组件之后,编辑器或机器人在PC锁屏的后盾持续运行。当流程须要执行涉密流程须要防止被查看或被意外的操作打断时,就非常适合应用“锁屏运行”。 应用形式是在流程中增加“锁屏运行”,再在该组件之后增加的流程就会在锁屏后运行:也可应用“屏保运行”组件来达到相似的成果而无需强制锁屏,应用办法与“锁屏运行”统一。 Tips“锁屏运行”仅反对 Windows 10 专业版操作系统。锁屏或屏保会影响界面自动化图像识别技术获取图像,进而导致相干组件运行失败,请确保不同时应用锁屏运行和相干的界面自动化组件。

August 19, 2022 · 1 min · jiezi

关于编辑器:浅谈在线编辑器中增量编译技术的应用

Lightly 是 TeamCode 团队开发的一款轻量且功能强大的集成开发工具。目前已反对C、C++、Java、Python、HTML+JS+CSS、PHP、Go我的项目。除语法高亮、语法错误自动检测、代码智能提醒和主动补全等根底性能外,它还能够主动构建开发环境,云端存储所有代码和资源,反对我的项目的多用户合作开发。此文介绍增量编译技术在 Lightly IDE 的利用,不便大家更好地理解和应用产品。 背景在产品研发周期中,编写代码、编译、调试占据了工程师们绝大部分的工夫,在默认状况下,更新小局部的代码,就须要触发一次全量编译,这个过程耗时大略为分钟级别,导致每次调试的反馈周期会绝对较长,影响开发效率。为了解决这个问题,Lightly 团队进行了很多摸索与尝试,引进了增量编译技术,旨在缩短编译工夫,晋升开发效率。 架构设计鉴于 Lightly 是一反对全语言的在线编辑器(IDE),咱们认为设计一个增量编译系统需满足以下条件: 通用性 : 可能承受各类文件类型的源代码变更,并进行结构化解决扩展性 : 可能适配不同语言,不同框架,进行针对性的编译和构建为满足以上条件,咱们将增量编译系统设计为以下模块: 如上图所示,在线编辑器零碎整体分成3个局部: 监听模块 : 负责监听源程序中文件的变动,新增、批改、删除、重命名等。音讯模块 : 负责将变更的内容结构化为音讯,并依据已知类型进行分类打标,作为上游编译模块生产时的根据,同时,音讯零碎作为传输队列,自身须要具备长久化的个性。编译模块 : 该模块由各类具体的语言模块形成,通过音讯零碎的数据作为输出,将变更的内容做针对性的编译和构建,输入产出物。上面是整体运行的流程图,形容了从代码批改到实现编译的整个过程: 以 Java 工程为例,从整个流程登程,在线编辑器的外部流程如下: 监听到 Java 源代码变动之后,首先咱们会将这个变动的文件打标,放入音讯队列将文件编译所依赖的信息进行收集,蕴含 maven 所有依赖的门路,以及相干环境变量和运行时参数将变更的文件进行编译,失去产出物,即 class 文件 运行编译产出物因为咱们把须要的文件曾经编译实现,那接下来只须要将制品加载即可看到最终成果: Lightly应用体验后面的局部详细描述了增量编译的具体实现,其中蕴含了很多简单流程和内容,然而对用户来说,应用过程是通明的,咱们在 Lightly 在线编辑器上只须要一键触发就能够在1秒内实现整个编译打包、运行流程,优化了原先 “批改代码、运行构建命令、启动” 的流程,具体介绍如下(以 Java 为例) 用户编码完之后, 只需点击右上角 RUN 按钮, 即可查看输入: 用户再次编码完之后,再次点击右上角 RUN 按钮,后果如下: 瞻望将来,Lightly 团队将持续围绕更智能化的轻量级在线编辑器(IDE)迭代更多功能,为开发者带来更好的体验,并期待后续更多的开发者能够参加共建。

July 30, 2022 · 1 min · jiezi

关于编辑器:MarkDown简明语法手册

原文链接 1. 斜体和粗体应用 和 * 示意斜体和粗体。 示例: 这是 斜体,这是 粗体。 2. 分级题目应用 === 示意一级题目,应用 --- 示意二级题目。 示例: 这是一个一级题目============================这是一个二级题目--------------------------------------------------### 这是一个三级题目你也能够抉择在行首加井号示意不同级别的题目 (H1-H6),例如:# H1, ## H2, ### H3,#### H4。 3. 外链接应用 [形容](链接地址) 为文字减少外链接。 示例: 这是去往 自己帐号 的链接。 4. 无序列表应用 *,+,- 示意无序列表。 示例: 无序列表项 一无序列表项 二无序列表项 三5. 有序列表应用数字和点示意有序列表。 示例: 有序列表项 一有序列表项 二有序列表项 三6. 文字援用应用 > 示意文字援用。 示例: 野火烧不尽,春风吹又生。7. 行内代码块应用 \`代码` 示意行内代码块。 示例: 让咱们聊聊 html。 8. 代码块应用 四个缩进空格 示意代码块。 示例: 这是一个代码块,此行左侧有四个不可见的空格。9. 插入图像应用 !\[形容](图片链接地址) 插入图像。 ...

July 28, 2022 · 1 min · jiezi

关于编辑器:vim配置全攻略2vim的简单配置

这篇文章次要讲的是vim的简略配置,绝对于vim内置的一些快捷键和性能,==vim的客制化==才是vim的灵魂,也是vim存活31年仍被热衷的起因。 如果你还不理解vim的基本操作和体系,我倡议你看一下我上一篇文章:vim配置全攻略(1) —— vim的基本操作 还是倡议大家踊跃评论,如果有什么中央有误,也心愿大家斧正。 vim & neovim在配置vim之前我想说一下vim和neovim,置信大多数晓得vim的小伙伴都据说或应用过neovim,那明天我就发表一下我对vim和neovim的简介,以及我的抉择。 首先无论是vim还是neovim都是一款十分不错的编辑器,他们两款编辑器都有长处,不能说哪个好哪个不好,只能说每个人的需要不同罢了。 如果你常常写C的话,那么vim是你一个不错的抉择,因为ta的体系和性能更加齐备,用户体系更加宏大;如果你是java架构师或者常常写java程序的话,那么neovim可能对你更加敌对(不过我还是倡议写java的小伙伴应用IDEA,再不济vscode也是一个不错的抉择)。 现在,neovim的呈现以及展现出的活力,曾经威逼到了vim,使vim的更新又绝对频繁起来,我感觉vim成为一个被动的追赶者,去模拟neovim的一些性能,己经证实了ta的"廉颇老矣"。 这个论断不是相对的,我也不否定vim的弱小和neovim的激进。 我当初用的是neovim,因为ta更加迅速,现代化,我的体验更好。 vim的配置配置文件首先,咱们想要配置vim和neovim,其原理就是在vim和neovim的配置文件中,写如vim反对的相干语法,从而达到想要的成果。 vim和neovim的配置文件地位各不相同: vim:~/.vimrcneovim:~/.config/nvim/init.vim这是就是vim和neovim配置文件的地位,当然这里申明一下neovim的配置文件也能够是init.lua,然而lua的配置难度更大,须要对neovim有肯定理解,所以这里就以.vim为例。 这里补充一下在你装置完neovim之后,你会发现是没有~/.config/nvim这个文件夹的,所以须要你本人创立: # vimvim ~/.vimrc# neovimmkdir ~/.config/nvimnvim ~/.config/nvim/init.vim配置首先在你关上vim或者neovim之后,你会发现ta们相似windows上的记事本,没有什么非凡之处,很难设想这就是赫赫有名的编辑器之神。 行号代码编辑器和文本编辑器之间最显著的区别就是行号,ta能够帮忙咱们在报错之后疾速的寻找Bug和跳转。在vim和neovim中设置行号的形式有两种: 长期行号顾名思义,长期行号就是‘一次性’的行号,仅仅只能显示一次,启动办法也很简略,只须要在命令模式中输出set number即可,之后你会发现呈现了行号。 永恒行号如果想永恒设置行号,只需在配置文件输出set number即可。 这里补充一下,在上一篇文章中,我曾说过能够通过*hjkl 来进行疾速挪动,然而在对于一些较远的行来说并不敌对,所以便呈现了一种非凡的行号——绝对行号,将set number改为 set relativenumber即可。 这样咱们想要跳转到哪一行,只需输出其左侧的数字挪动即可。 然而这样也有一个弊病,就是咱们无奈查看行号了,于是咱们就能够set number和set relativenumber一起应用,这样就能够兼得了。 缩进 & 缩进显示如果你在应用vim和neovim之后你会发现,ta们的缩进并不规范,所以咱们须要调整缩进到咱们想要的格数上。 set tabstop=4 set softtabstop=4 set shiftwidth=4这样你就会发现,缩进变为了4格。 而后你会发现另一个缩进问题:在你写货色的时候ta没有方法主动缩进,须要手动的按下Tab键,这并不是一个大问题,然而十分影响情绪。 set noexpandtab set nu set autoindent set cindent这样设置,之后你就会发现ta能够主动缩进了,至于为什么这么设置,我只能说这就是.vim的语法,想记就记下来,不相记复制粘贴也没关系,毕竟谁也不会天天配置vim。 说完了缩进之后,我没来说缩进显示,缩进显示能够让咱们明确的看到缩进的次数,对于咱们开发十分敌对。 set listset listchars=tab:\|\,trail:·这样咱们就可一看到缩进了,当然在之后的文章中我会举荐一个缩进显示插件,性能会比这个弱小一些。 高亮对于语法高亮,咱们能够轻松地浏览,以及分辨这个单词的类型。 syntax on这样咱们就能够看见语法高亮了。 如果你感觉这个高亮不适宜你,咱们有两种形式更改高亮色彩:一是设置主题,这个我会放到之后和桌面么丑化,一起说;二是highlight设置,如: highlight Function cterm=bold,underline ctermbg=red ctermfg=green这样就能够设置色彩了,不过还是倡议大家装置主题,应为本人丑化是没有止境的。 编码与Vim编码无关的变量包含:encoding、fileencoding、termencoding。 ...

July 24, 2022 · 1 min · jiezi

关于编辑器:vim配置全攻略1-vim的基本操作

导语Vim是Linux上一款十分优良的代码编辑器。大多数有名的IDE都反对Vim的插件。它绝对于大多数IDE更加迅速,轻量;绝对于其余编辑器自在,高效。本文次要记录了Vim的一些罕用技巧,以及配置。集体倡议首先,不倡议大家在Windows上应用Vim以及Neovim,因为在Windows上无奈体现(neo)Vim的生态,在Windows上应用Sublime Text、Atom、VScode等编辑器成果会更好。 其次,Google上对于Vim的学习材料和文档更加全面,具体;然而前提是你会迷信上网以及英语比拟好(英语过四级)的前提下(*度尽量还是不要用了)。 最初,学习Vim的前提是你曾经从事程序我的项目了,如果你是编程小白(没有学完一门编程语言)或者对键盘不纯熟(盲打)的话,并不倡议你应用Vim,因为Vim是一个==效率工具==而不是学习工具。基本操作 装置Vim首先你要去装置Vim, 只有分为两种形式: 一是命令行装置,这个比较简单,间接用操作系统相应的包管理器装置即可,大多数Linux操作系统的包管理器中都是含有Vim的;二是官网装置,这个就不多说了,应该下载软件大家都会。启动Vim这个比较简单,关上终端,输出vim回车即可。vim 后加上文件名,如果文件存在则读取关上,如果没有则会创立一个空文本。 # vimvimvim ***.*# neovimnvim nvim ***.*查看Vim文档学习 VIM 最好的文档,应该是浏览学习 VIM 的帮忙文档,这里先讲一下如何应用 VIM 的帮忙文档 :终端输出 vim , 敲击回车键(enter/return) ,就会进入 VIM , 而后键盘上输出 :help 。文档相当详尽,然而文档是英文的,可能对一些学习者不太敌对,但这应该是最权威的 VIM 学习材料了。 如果文章有表述不当的中央能够留言斧正,互相学习,共同进步 。 意识vim咱们首先宏观的理解一下==Vim的体系==。 VIM罕用的模式有四种: 失常模式 (Normal-mode)插入模式 (Insert-mode)命令模式 (Command-mode)可视模式 (Visual-mode)接下来让咱们粗疏的理解一下每个模式的作用和特点。 失常模式失常模式就是指咱们在用vim关上某个文件后默认的模式,它的次要作用就是浏览文件,当然也能够进行复制,粘贴,删除,跳转等性能。 光标挪动在这个模式中咱们能够在文本中疾速挪动光标,然而它的光标挪动键位和其余的编辑器可能不一样。(如下图) hjkl咱们能够从图中看出vim光标挪动的键位为hjkl相比拟其余编辑器的上下左右,vim的键位很难适应,然而用熟了之后,你就会发现ta十分好用。因为hjkl都是键盘的两头地位,用的时候比拟难受,对手段的压力比拟小。hjkl是最根本的光标挪动按键,它们还能够和数字键联用;例如:5h就是向左挪动五个位移(相当于hhhhh)。 wbege还有在单词之间跳转的快捷键,wbe(ge)相似于hl,然而不同的是它们用于单词的挪动。当你按下w后,光标向前挪动1个单词 光标到单词的第一个字母上(b与w相同);当你按下e后,光标向前挪动1个单词 光标到单词的最初一个字母上(ge与e相同)。同样,它们也能够和数字键联用,达到屡次挪动的成果。 G/ggG就是跳转的最初一行的行首,gg就是跳转到第一行行首 删除、复制、粘贴删除删除分为多个形式:删除整行、删除一个字符、删除整行后不保留地位。 dd:删除整行不保留地位cc:删除整行并保留地位,进入编辑模式x:删除一个字符r*:替换一个字符这个比较简单我就不多说了。 复制粘贴yy:复制整行p:粘贴dd:剪切整行删除复制粘贴都能够和可视模式联用,这个之后会讲。失常模式纯熟利用这些就在足够了。 编辑模式在失常模式中按下i键就能够进入编辑模式,编辑模式的次要作用就是批改或者编写文件内容。这个和其余编辑器都一样,我就不多说了。 命令模式这个模式是一个十分重要的模式,它的性能十分弱小。 命令模式有两种启动形式: 一是在失常模式中按下/就会启动命令模式,它的次要作用就是搜寻字符,在/后输出你想查找的字符,就能够跳转到相应地位,按return键就能够跳转光表,按Esc键就能够勾销查找(不跳转);二是输出: 也会进入命令模式它的次要作用就是关上插件,或者是退出保留:wq :保留退出:qq :退出,如果没有保留会提醒你:q! :不保留退出:w : 保留可视模式此模式在惯例模式下按v键启动,次要性能即便选中文本,其余操作和失常模式在一样。分屏分屏我会放到前面去讲,因为它须要你理解了vim的配置和利用后,在能够深入。

July 24, 2022 · 1 min · jiezi

关于编辑器:RunJS-Pro功能简介

RunJS是一个相似Codepen的轻量级前端编辑器,定位于业余的前端代码笔记工具。 通过三个多月的开发与用户反馈,外围性能已能满足React/Vue/Angular等各种前端Demo代码的须要。RunJS团队已帮忙Segmentfault社区用户解决了工作学习中遇到了25+问题,详见这里。 RunJS团队将会深度服务于Pro用户,以用户的需要为己任,一直新陈代谢,做一个让用户称心的兼具实用与优质体验的业余产品。 RunJS Pro次要性能1. 动态资源管理创立/关上一个我的项目,点击左下角的【文件】按钮。 2. 设置公有我的项目,自定义封面 3. 专属插件在浏览技术站点(比方掘金、MDN)时,能够在网站右侧关上RunJS插件,做到边看文章,边写Demo做测试,以强化学习效果,同时保留学习过程。 插件应用阐明见这个文档。从任意网站左边点开插件。 浏览最近创立的我的项目(优先匹配与以后网址有关联的我的项目) 创立/编辑相干我的项目。 如何获取Vip内测资格进RunJS官网PC版首页,并点右上角后扫微信二维码登录。左下角【进群交换】,扫码进群后留言【昵称 RunJS内测】(昵称能够在官网登录后看网站右上角),如下图所示:管理员受权内测资格后,您将获取6个月的Pro资格。谢谢您的关注!

July 14, 2022 · 1 min · jiezi

关于编辑器:如何创建一个常见问题解答FAQ页面

FAQ是frequently fsked fuestion 的缩写,就是常见问题解答。通常企业或公司对客户一些常常问的问题以这种模式造成文档,不便客户获取企业或产品信息。在网络营销中是一种罕用的在线顾客服务伎俩,属于问题集。 FAQ有什么用FAQ是一种在线帮忙模式,从网络营销的角度来看,FAQ被认为是一种罕用的在线顾客服务伎俩,一个好的FAQ零碎,应该至多能够问答用户80%的个别问题,这样不仅不便了用户,也大大加重了网站工作人员服务顾客的压力,节俭了大量的顾客服务老本,并且晋升了顾客的满意度,因而一个好的网站,应该要器重FAQ的设计。 创立一个常见问题解答页面须要做到以下几点1、FAQ页面的整体格调上应该是简洁式的,要让用户一眼就能找到本人想要的。 2、倡议先用工具对用户进行问卷调查,将产品应用或购买中的问题梳理下来让用户来排序,再凋谢给入口让他们提出问题。 3、对问题进行分类,将频率最高的问题排在最显眼的中央,不便用户可能疾速找到答案。 4、当收录的问题较多后,为不便用户对内容进行查找,一个好的智能检索不可或缺。 还有一些注意事项:1、在对问题的解决形式进行形容的时候要用最简洁的语言进行解答。 2、对于可能通过应用工具解决的问题防止应用人工来解决。 3、要对问题进行分类管理,并依据用户的反馈对问题进行优化更新。 4、不要为了做FAQ而做FAQ,它的存在的意义是为了更好的欠缺产品,同时在产品进行更新迭代的时候也能作为重要的参考根据。 一个好的FAQ页面施展着重要的作用,对于国外的企业来说根本实现了全笼罩,成为必备的页面。但在国内,只有一些大型企业才会对其进行部署,一方面是因为意识的缺失,另一方面则是来源于技术不够。国内60%左右的企业的官网都是动态页面,搭建和网站维护者个别为建站公司,网站的理论拥有者很少具备这种能力。因而当页面须要进行改变时都是由建站公司进行保护,技术上得缺点和操作得不便当导致它没有被增加到网站中去。 上面举荐一款无需理解技术就能够自主搭建FAQ页面的工具——Baklib,它操作简略,十分钟就能搭建一个简洁好看的FAQ页面。 它提供多种模板供您抉择,各个主题页眉页脚还能够进行自定义,还能写入须要的json格局,同时还能将它嵌入到本人的网站当中,堪称是十分的不便了。想理解更多?https://www.baklib.com/?utm_c...

July 11, 2022 · 1 min · jiezi

关于编辑器:为什么要使用产品手册帮助文档的制作方式有哪些

家喻户晓,产品手册对企业来说非常重要。很多公司在新产品面世时或产品销售之后都会给用户提供一个产品手册,用来展现自家产品。但产品手册绝不是文字和图片的简略列举,而是要思考在模式设计上如何与企业文化和公司理念相结合,从而起到营销宣传的作用。随着各大视频平台的衰亡,教学视频越发常见,产品手册的逐步被忽视。 为什么要应用产品手册?产品手册次要是由官网编写的软件应用文档,这种帮忙文档的内容宽泛,是最全面的解析文档。产品手册不仅仅只是一份说明书,更是互联网企业宣传和采购本人产品的一种广泛模式,是对产品外观及具体内容的客观性具体介绍,是对业务操作流程的具体解说,是对指标用户传递商品实际意义及价值取向的办法。 制作目标是为了介绍产品的作用,特点,服务项目,主要用途等,从企业企业行业的精确定位和产品特点思考发展设计方案,对产品或服务本身发展要害宣传策动。商品宣传册设计不必销售员简明扼要的进行形容,只须要用最形象化、最综合性的办法把公司及商品信息传递给顾客,使用户在短时间对公司及商品有全面理解,从而产生趣味,最初达成单干。 产品手册应该怎么制作?帮忙文档的制作形式次要能够分为三种:WIKI、GHM帮忙文档、SaaS类软件工具。其中WIKI是一种在开放式的能够多人合作的超文本零碎,这种超文本零碎反对面向社群的合作式合作。GHM帮忙文档是微软晚期开发的基于HTML文件特色的帮忙文件系统,领有简介的浏览界面,不便的检索性能。然而操作较为简单,须要业余人员进行帮助。 SaaS类软件工具是业余的帮忙文档搭建工具,这种软件工具免费较低,易于操作,经营起来也比拟不便。这里为大家举荐一款好用的SaaS类软件工具——Baklib。这是一款基于Web的在线文档管理工具,不仅能制作产品的帮忙核心,还能对用户制作成知识库。 应用Baklib能够让你在十分钟之内制作出一个简略实用的帮忙文档页面,并且还为您提供多种模板进行抉择,防止了重复性,同时提供关键词检索性能,不便用户对内容进行查找。 如果您此时正好须要一款产品手册制作工具,那请肯定不要错过Baklib。https://www.baklib.com/?utm_c...

July 6, 2022 · 1 min · jiezi

关于编辑器:一站式知识库管理Baklib

随着知识经济的深刻倒退,企业常识治理愈发被器重,更有钻研报告指出,常识治理是将来企业进步工作效率和减少竞争力的要害。常识管理系统是收集、解决、分享一个组织的全副常识的信息系统,通常由计算机系统反对。是一种利用软件系统或其余工具、对组织中有大量的有价值的计划、策动、成绩、教训等常识进行分类存储和治理,积攒只是财产,防止散失,促成常识的学习、共享、培训、再利用和翻新,无效升高组织经营老本,强化其外围竞争力的治理办法。而Baklib就是能让企业对知识库的治理更加便捷的工具。 一、知识库在线搭建快捷不便Baklib用户通过注册建设站点,用户可依据须要创立不同的站点用来寄存不同的内容,各站点互不烦扰,站点间切换不便。 二、主题模板一键抉择,打造专属于本人的知识库Baklib为不同类型的知识库提供多种模板主题供选择,同时可对站点logo、图标进行自定义,让知识库更合乎个人风格。 三、多功能插件核心,知识库治理更便捷 Baklib提供多功能的插件核心,反对多人在线编辑文档,团队办公更高效。 想要理解更多无关Baklib相干信息?具体的应用攻略来了:https://www.baklib.com/?utm_c... Baklib具备的弱小的内容增加性能,能使企业团队对内容的治理更加轻松,缩小团队的重复劳动,进步工作效率。

July 5, 2022 · 1 min · jiezi

关于编辑器:为什么要做帮助中心能给企业带来什么好处

对于绝大多数互联网企业来说,搭建专属的帮忙核心平台曾经是当下势不可挡的发展趋势。那么帮忙核心对于企业来说有哪些必要性呢?能给企业带来什么益处呢?帮忙核心就是一个丰盛的知识库,能够对企业的潜在客户进行疏导。不仅可能晋升用户的应用体验还能为企业塑造更加业余的品牌形象,在应用过程中为用户提供帮忙。 为什么要做帮忙核心?帮忙核心的目标就是为了解决用户在应用过程中遇到的艰难,同时为用户的应用提供疏导。一些产品将帮忙与反馈归纳到了一起,缩小了总体的入口,导致反馈信息缩小。 产品自身具备肯定的复杂性的时候,须要帮忙核心来辅助用户相熟性能以及领导用户进行操作这个覆盖面从操作系统到应用软件再到网页。对于一些性能明确、操作简便的网页中,不须要帮忙核心,所有的操作都听从于个别的应用习惯。像是新浪、腾讯、网易等一些门户网站或是企业网站,所有的帮忙信息都被简化为导航。 帮忙核心有什么作用?提供用户自助式服务。对于年老群体来说遇到问题他们更喜爱本人去寻找解决问题的办法,如果企业可能有一个良好的帮忙核心文档,既可能展示企业风采、产品劣势的同时,还能解决用户应用时遇到的大部分问题,天然能为企业带来便当。 建立良好的企业形象。当用户想要通过网络来理解一个企业或者一个产品,如果公司不能提供一个渠道来介绍或者解释本人的企业或者产品那么就让人难以信赖。帮忙核心除了给用户提供自助式服务的作用外,附带的价值其实是品牌形象的展现。 人造的广告牌。无论帮忙核心是否嵌入到网站中他都能够独立存在,可能间接通过站点域名进行拜访。对于企业来说,管理员能够通过网站来公布本人想要进行公开的资讯、用户手册或指南。还能够通过网站来提供相干的帮忙服务。 帮忙核心怎么做?自助搭建:这种形式要求制作人员有肯定的代码根底,能够自主搭建网站,这种形式保护老本高,经营起来非常麻烦。 SaaS云服务类:随着云计算的倒退,基于SaaS云服务的帮忙核心知识库计划呗越来越多的用户所承受,SaaS类知识库构造简略,无需领取硬件费用,无需本人进行保护,初始化难度低,便于管理与展现。操作简略检索不便,挪动端成果体验好。 这里举荐一款简略好用的在线帮忙核心搭建工具——baklib,一款云端帮忙手册制作工具,能够在线制作帮忙核心、FAQ、知识库、产品手册等。 企业的倒退须要进步产品的应用深度,而帮忙核心的设置能很大水平地在不被打搅的状况下深度学习理解产品,在为用户提供自助学习形式的同时,优化用户应用体验。想要理解更多:https://www.baklib.com/?utm_c...

July 5, 2022 · 1 min · jiezi

关于编辑器:在线文档协作工具提高办公效率的最佳选择

因为疫情的起因许多企业都只能线上办公,线上办公波及到的工作安顿、工作打算等都不能及时进行沟通。对工作进度等不能及时查看,导致许多工作反复进行,影响工作效率。 1、在线文档合作工具是什么咱们当初所说的在线文档工具实际上就是电子笔记和office文档的总称。电子笔记类,次要用在做笔记、做摘抄、写心得随笔等轻度的文本编辑场景,这类软件的亮点在于能够将同一个账号里的内容同步到不同设施中,不便集体多场景多地点应用,也能够将本人记录的内容分享给其他人;另一种是文档类(即office文档),这种文档适宜写论文、做报告、做表格等更加简单的文本编辑场景。而在线文档能够又多人在线同步实时编辑,并且实时保留的文档,在团队单干中能够极大的进步合作效率。 2、在线合作软件与传统的办公软件的区别对于传统的文档来说,如果波及到须要批改的,个别都须要将整个文档传输到各个部门,当在道路中无奈及时应用电脑时可能会影响到整个工作的进度。而在线合作软件反对只有在网络容许的条件下对整个文档进行批改浏览,不再受设施的影响。 3、应用在线合作文档的必要性在线文档作为在线办公最根本的工具,曾经成为办公的必需品。对许多人来说,在线文档是一个十分小的市场,毕竟只是解决文档,而不是真正的文档。腾讯文档和企业微信、企业邮箱等平台形成了企业根底工具,是腾讯在各行各业的数字降级助理策略;一站式超级办公平台在线文档性能,业余文档应用金山文档等第三方服务;石墨文档专一于在线文档;金山文档是金山办公的重要云布局WPS形成了云+多终端的解决办公平台。疫情暴发后,网上办公被推向了历史的新高潮。疫情暴发后,人们会更习惯近程办公,作为在线办公的基石,在线文件与在线办公平台的深度联合将是一个重要的发展趋势。用户只应用在线文件将是一个重要的场景,但它更多地与在线办公平台联合应用, 在线文档不仅是一个根本的文档编辑工具,而且与场景相结合,提供更多的性能或服务。在线文档团队合作模式具备更快的工夫、更高的效率和更少的接触。 4、在线文档合作工具介绍尽管在线合作的工具很多,然而baklib更加简略易上手,baklib能够实现多个账号的在线文档实时编辑,大幅度节俭了工作工夫,进步工作效率,防止了对工作的反复传播。同时为了保障内容的平安,邀请者能够对各被邀请的成员进行不同的权限设置。同时bakilb提供多种模板能够将内容进行疾速排版让界面变得更加清晰整洁。 此外,baklib不仅是一个在线文档合作工具,它还是一个成熟的知识库,可能让您和您的团队疾速获取、存储、共享信息。并且,baklib还提供关键词搜寻,在内容分类过多时不便用户对指标内容进行疾速查找。 如果想要一款简略、多功能的在线文档合作工具,无妨来体验一下,置信它不会让您悲观。https://www.baklib.com/?utm_c...

July 5, 2022 · 1 min · jiezi

关于编辑器:2022年在线协作文档具有哪些优势与亮点

在过来,公司传递文档信息时,须要将编辑好的文档转发给下一人,由下一人再进行察看审改,再交还给原来的编辑人。如此一来,工作效率必然晋升不下来。而利用在线合作文档模式的反对,文档编辑的参与者能够间接进入文档零碎进行查看与批改,就像在现场亲自领导个别,大大提高工作效率与工作体验。而在线合作文档不仅仅只有这般劣势。接下来,我将介绍在线合作文档模式的劣势与亮点,一起来看看吧。 **劣势一,云端实时同步,冲破信息障壁**传统的文件,必须有一位主导人,或者说是管理者,通过单向的编辑,将其传递到下一个人。这使得协同工作的效率升高,交换的代价也随之增大,信息的流失率和不对称性成为妨碍信息同步和推动的最大妨碍。然而在线合作文档却能够让所有的参与者都可能看到每个环节的停顿,并反对文档实时共享,大大降低了信息的反复与交换的难度,而且,云中的同步,也是为了避免因为设施的起因而造成的文档信息信息失落。如产生灾情时,正是在线合作文档的信息高效传递同步,才可能最大水平的解救人们的生命与财产。**劣势二:多设施登录,便于拜访**大部分的在线合作文档都是在工作场合进行的,因为它是一种更轻的办公设备,很少有简单的互动,它能够通过 PC/挪动端进行根本的登录和注册,与市场上的大部分操作系统相匹配。有的挪动端上甚至还有网页、客户端、微信等小程序,让用户能够在多个设施、多场景下随时进行编辑和同步。**劣势三:严格权限等级爱护信息安全**文档在线编辑,难免会导致肯定的信息泄露,为了解决这个问题,在线文件的创造者能够依据用户的等级,对用户的权限进行限度和加密,确保文档的窃密平安,同时还能够将用户的权限分成不同的类别,让不同等级的参与者查看不同的文档。这是一个十分人性化的设计。**当初网络上有什么好的在线协同文档产品?**这里给大家介绍一些在线文档工具,能够让大家一起编辑,也能够多平台登陆,最要害的是,上手速度很快,操作起来也很简略。1.腾讯文件:跨平台多平台登陆,实现文档的无缝兼容腾讯文档是一个多人单干的网上文件工具,它能够随时随地的创立和编辑。具备一键翻译性能、实时股票性能、平安可控、历史批改等特点,能够通过 QQ、微信等多种渠道登陆和跨平台应用,并反对导入、导出 Office文档。反对本地文档导入,在线文档导出为本地文档,以及多种状况下文档的应用模板。2.Baklib:企业知识库治理,实时更新网页文档。Baklib是成都探码科技旗下的一款专一企业常识人工智能 的网站零碎。它可能实现多人多端、实时编辑。反对多人对同一文档进行编辑,帮忙常识创新型企业实现向内常识协同和对外产品宣传的网站内容治理。反对文档与网站站点的连贯,提供网站帮忙核心和知识库的搭建服务。其自身也反对文档编辑的多项性能,并且还有设置成员等级,共享站点等等性能。3.石墨文件:多个版本,多个设施,具备显著的同步性。石墨文件是一种比拟轻便的办公软件,很少有简单的互动,根本的登录和注册性能都能够在 PC/手机上运行,与大多数的操作系统兼容。同时,它还提供了网页版、客户端版、微信版等性能,不便了用户在不同的场景中,随时进行录制和同步。除了根本的性能外,石墨还推出了“企业高级版”,帮忙企业实现高效率的合作、文档的集中、标准、企业的信息安全。在线合作文档能够利用于多个场景,不光光是企业外部办公的文档传递,还能够进行网站内容更新,知识库搭建等等。各位公司和集体无妨多体验一下上述的在线合作文档工具吧!

July 5, 2022 · 1 min · jiezi

关于编辑器:盘点Windows那些优秀的文本编辑器

对于一名业余的“编辑器爱好者”,写代码或者在对岸,选工具始终在路上~ TODO:整顿更多软件补全分类阐明补充软件介绍及配图补充markdown编辑器 “优良的文本编辑器”规范:⑴有图形化界面,应用门槛低⑵罕用文本编辑功能齐全⑶具备或能够扩大代码编辑性能⑷反对GBK等罕用编码格局在满足上述要求的根底上,本文将联合集体理论应用体验简要介绍以下几款编辑器及其特点。 代码编辑系人气榜1、Sublime Text 32、Visual Studio Code3、Brackets4、Emeditor5、Atom6、EditPlus7、RJ TextEd8、NotePad Next9、UEStudio/UltraEdit10、Kate 宝藏榜1、Textadept2、Everedit3、Geany4、HBuilderX 尝鲜榜1、BowPad2、Scite3、Text Editor Pro4、Crimson Editor 有幸体验过的其余文本编辑器:JEdit、Cudatext、TextPad、LightTable、Notepad2、Notepad3、NotePad++、Hbuilder、CodeLobster IDE markdown编辑系1、VNote2、MarkText (未完待续)

June 27, 2022 · 1 min · jiezi

关于编辑器:如何利用Typora编写博客快速发布到多平台

下载 Typora Typora是一款Markdown编辑器,用于编辑博客,中武官网下载地址: https://typoraio.cn/。当初typora正式进入免费时代, 不过旧的测试版本仍能收费应用。 下载PicGo PicGo是一个用于疾速上传图片并获取图片 URL 链接的工具,用于同步图片到OSS对象存储仓库,下载地址:https://github.com/Molunerfin...(下载较慢,可通过镜像站下载mirrors.sdu.edu.cn/github-release/Molunerfinn_PicGo)。 设置PicGo 点击【PicGo设置】,去掉其余图床,保留阿里云OSS。 购买OSS对象存储服务 咱们能够选用收费的图床,然而收费的图床不多,比如说GitHub图床也是能够的,然而速度比拟感人。所以我买了阿里云OSS,价格也不算贵。 创立Bucket 填写Bucket名称和Endpoint的地址,配置PicGo须要用到,读写权限为公共读。 增加一个用户,独自操作OSS 右上角点击【访问控制】 ,创立用户,拜访形式勾选“Open API 调用拜访”,会生成AccessKey ID 和 AccessKeySecret,之后配置PicGo须要用到。而后对这个用户进行权限治理,抉择 AliyunOSSFullAccess——治理对象存储服务(OSS)权限。 配置PicGo KeyId 就是 AccessKey IDSecret 就是 AccessKeySecret存储空间名字 就是 Bucket的名字确认存储区域 就是下面的 Endpoint的地址 ,比方你的是oss-cn-beijing.aliyuncs.com 那么这里就是 oss-cn-beijing,去掉阿里云的后缀指定存储门路 最好是有个门路辨别。比方,img/,这样子能够去阿里云OSS下面看到对应的文件夹,比拟好整顿 测试图片上传 配置typora 公布文章到多平台 当用typora写好文章后,一次性上传文章中所有的图片到OSS(上传之前要保障图片都是本地图片,并且图片命名最好不要蕴含中文),之后就能够复制typora文章的源代码,别离粘贴到CSDN、微信公众号、博客园、简书等平台的markdown编辑器,实现疾速在多平台公布博客。 更多内容,请关注我的公众号:JAVA大饭桶

June 13, 2022 · 1 min · jiezi

关于编辑器:产品故事|你所不知道的语雀画板

1974年的美国,一位名叫阿瑟·拉弗的经济学家,在哥伦比亚的酒吧遇到两名政客,他想要解释一个景象:为什么税率回升,税收并没有随之上涨? 对方并无经济学背景,想在短时间内用语言解释分明是一个艰巨的挑战。他抉择了另一种办法。 他顺手拿过一张餐巾纸,在它的的反面画了一张图,一个坐标系,一条抛物线,就把事件说分明了。起初,这条曲线变成了驰名的拉弗曲线。 两名政客之一就是过后福特总统的助理,他把这张餐巾纸交到了福特的手上,政府依附这个曲线,极大的刺激了生产和投资。过来数十年间,这张草图间接或间接的领导了美国的经济政策。 人们常说,一图胜千言!没有比这更好的例子了。这个案例被记录在《餐巾纸系列》书籍上,外面也还有其它相似的故事。 明天,咱们聊一聊语雀的画图工具——「画板」,它从何而来,又将到哪里去? 从思维导图说起图表蕴含很多品种,思维导图、流程图、UML等等,都是常见的图。那么,图的实质到底是什么? 《图形思考》一书的作者樱田润通知咱们:图形,是一种思考工具。 樱田润的趣味就是“图解”,他曾将彼得·德鲁克的《治理(精华版)》中的内容提炼整顿成50张图片。还常常以TED演讲绘制图解。2010年,他专门创立了一个名叫“思维视觉”的网站,分享他整顿的图。 他这么做的理由是,他想要“了解”事物。他尝试将“普遍性思维形式”“商业胜利秘诀”等内容整顿成图片,并从本人的立场登程对其进行剖析。借助图形格局系统地整顿常识,他可能从这个过程中感触到趣味,同时又能学到货色。 图形,同样还是一种沟通和表白工具。 有人说,世界的语言有很多种,然而通用的语言有一种:图像的语言。通过简图、时间轴、地图、流程图,能拉近彼此之间的间隔。 至于具体有哪些图形,樱田润在《图形思考》中总结了七种: 美国学者大卫·海勒在《思维地图》一书中则总结了八种图形: 在这外面,思维导图是比拟特地的一种。自从它在上世纪70年代被提出以来,学习和应用它的人越来越多,近年来,它的热度逐步追赶上传统Office工具。 思维导图能够被用在很多场合,比方头脑风暴、读书笔记、会议等。思维导图也是整顿、提炼常识的利器,收到很多求知者的青睐。 作为常识创作和分享工具,语雀很早就上线了思维导图的卡片,但直到2019年年中才开始尝试去做一个性能更齐备、更好用的思维导图。 在这个过程中,确立了语雀思维导图乃至当前的画板的一个最重要的准则: 思维导图/画板将永远反对文档卡片的模式,在卡片里可实现全功能操作。 要晓得,过后其它产品的很多思维导图工具要么是独立存在,要么能够被嵌入到文档,但在文档中只能查看不能编辑。 语雀在服务阿里和蚂蚁外部同学时发现,很多人在写文档的时候须要做图,比方程序员在写系分文档时,常常须要插入流程图或时序图等。 这时候,如果频繁切换工具会打断思路。创作的心流状态来之不易,为了呵护它,语雀抉择了一条更艰巨的路。 樱田润在《图形思考》中说: “文章是由单词的组合形成的,与之绝对,图形是由各种图形元素的组合形成的。我之所以向大家举荐图解,是因为能够利用图形标准了解的步骤。语言和文章有各式各样的措辞,能够表白出各种奥妙的、理性的内容,但不适用于体现那些固定的思考流程。”正因为如此,语雀将文字与图表联合起来,综合文字思考和图形思考,拓宽创作者表白的边界。 但正如书中足足整顿了7种不同的图形来辅助思考,仅仅反对思维导图是不够的,语雀也必须反对更多的图形。前面,语雀又推出了流程图和绘图。 很快,语雀的图表迎来了新的进化:将所有的思维导图、流程图、时间轴、UML等等,融为一体,给创作者以更多的自在,这就是「自在画板」。 进化:将所有图形融在一起为什么要将图形交融在一起? 首先,有时候,咱们须要在已有的图形上加一些货色。如果每一个画板只能画一种图,那么咱们只能以截图+涂鸦的形式来实现,比方上面这个例子: 另一个起因,则是行业的倒退,以Miro、Whimsical为代表的守业公司,都将混合画布作为产品的根底,而用户的认可证实这是一条正确的路线。 这里,我想重点提一下Miro。 Miro是一款反对多人在线合作的白板工具,历经 20 个月工夫,用户量从 500 万增长到 3000 万+,在往年 1 月取得 4 亿美元的 C 轮融资,估值达到 175 亿美元。 它最大的特点就是一个有限尺寸的画布,在画布里能够创立多个画板,进行画图和合作。它有一个神奇的性能:对多个画板进行编号排序,甚至能够用它们来进行在线演示,取代PPT! 毋庸讳言,语雀从行业最先进的产品中汲取优良的设计和理念,同时保持走本人的路线。正是这些产品,让语雀动摇了往混合画布方向倒退的信心。在语雀,每一个文档就相当于有限的画布,在文档里能够创立多个画板,刚好和 Miro 能够对应上。而演示性能,利用语雀的文档演示+画板卡片,也能够实现相似Miro的成果。 解决了为什么的问题,剩下的就是怎么做。将这些图形交融,到底指的是什么呢? 这里的交融至多有两个意思。第一个,就是在一个画板里插入所有图形。这里,能够将思维导图、时序图、流程图这些图进行拆解,合成出根底图形,让画板反对插入所有根底图形。 这样,就能够创立这样的组合图: 第二点,则须要让不同的图形可能有机的联合,比方,将流程图“嫁接”到思维导图上。这样,就能够创立这样的图: 这个看似简略,但其实不然,比方,如何让他们颠三倒四的排列在画布上,不会穿插或者挤在一起? 今年年初,画板的研发有田在Seeconf分享了背地的故事,他们在矢量图编辑的六大准则下面还创立了语雀独有的规定。 分享的图文整顿见:点此浏览 在分享里有这样一句话:任何工具都应具备预期内的性能,但一个平凡的工具能给你预期外的性能。 自在画板推出之后,很多用户用它做进去的内容,连咱们看了都大开眼界。 原来画板还能这样用最根底的还是用画板里的思维导图来记读书笔记,只不过外面的内容和图形,比个别的思维导图要稍稍丰盛那么一点~ ...

June 10, 2022 · 1 min · jiezi

关于编辑器:vs-code-开发-时-语法-正确但显示报错问题

1. 问题重现(回显) 相似的问题还有很多2. 解决办法:将下图 箭头指的两个项 勾销勾选 就好了起因剖析 VS Code 因为 一直的更新,内置的版本 语法检测就会产生不同的规范,就会产生 报错问题总结: 1)间接 勾销勾选 TypeScript>Validate:Enable 和 JavaScript>Validate:Enable 这两项;2)如上图所示

June 5, 2022 · 1 min · jiezi

关于编辑器:电影-活着

ed2k://|file|【高清MP4电影www.domp4.com】活着.To.Live.1994.BD1080P.国语中字.mp4|6150764017|69F0AC6B83EC7FB4816C2FD9639CB497|h=DEHWB2FY26MO6JE3HE6LCAJW47XSQ23J

April 30, 2022 · 1 min · jiezi

关于编辑器:增量编译技术在Lightly中的实践

背景在产品研发周期中,编写代码、编译、调试占据了工程师们绝大部分的工夫,在默认状况下,更新小局部的代码,就须要触发一次全量编译,这个过程耗时大略为分钟级别,导致每次调试的反馈周期会绝对较长,影响开发效率。为了解决这个问题,Lightly 团队进行了很多摸索与尝试,引进了增量编译技术,旨在缩短编译工夫,晋升开发效率。 架构设计鉴于Lightly是一反对全语言的IDE,咱们认为设计一个增量编译系统需满足以下条件: 通用性 : 可能承受各类文件类型的源代码变更,并进行结构化解决扩展性 : 可能适配不同语言,不同框架,进行针对性的编译和构建为满足以上条件,咱们将增量编译系统设计为以下模块:如上图所示,零碎整体分成3个局部:监听模块 : 负责监听源程序中文件的变动,新增、批改、删除、重命名等。音讯模块 : 负责将变更的内容结构化为音讯,并依据已知类型进行分类打标,作为上游编译模块生产时的根据,同时,音讯零碎作为传输队列,自身须要具备长久化的个性。编译模块 : 该模块由各类具体的语言模块形成,通过音讯零碎的数据作为输出,将变更的内容做针对性的编译和构建,输入产出物。上面是整体运行的流程图,形容了从代码批改到实现编译的整个过程: 以Java工程为例,从整个流程登程,外部流程如下: 监听到 Java 源代码变动之后,首先咱们会将这个变动的文件打标,放入音讯队列将文件编译所依赖的信息进行收集,蕴含maven所有依赖的门路,以及相干环境变量和运行时参数将变更的文件进行编译,失去产出物,即class文件运行编译产出物因为咱们把须要的文件曾经编译实现,那接下来只须要将制品加载即可看到最终成果: Lightly应用体验后面的局部详细描述了增量编译的具体实现,其中蕴含了很多简单流程和内容,然而对用户来说,应用过程是通明的,咱们在 Lightly 上只须要一键触发就能够在1秒内实现整个编译打包、运行流程,优化了原先 “批改代码、运行构建命令、启动” 的流程,具体介绍如下(以 Java 为例) 用户编码完之后, 只需点击右上角 RUN 按钮, 即可查看输入:用户再次编码完之后,再次点击右上角 RUN 按钮,后果如下:瞻望将来,Lightly团队将持续围绕更智能化的轻量级IDE迭代更多功能,为开发者带来更好的体验,并期待后续更多的开发者能够参加共建。扫描下方二维码,退出 Lightly 用户交换群,获取更多信息!

April 26, 2022 · 1 min · jiezi

关于编辑器:Lightly新一代的-Cloud-IDE

编辑器(IDE)对程序员和开发者而言是工作中必不可少的工具,一款好的 IDE 能让编程工作变得更轻松,让所有事倍功半。 简直所有的传统编辑器都以软件的模式装置在电脑中,如同筛选播放器和视频利用般,大家在开始编程之前都会依据本人的编程语言、需要和习惯,与各家编辑器的性能和特色进行比照,最初通过价格、实用性、推荐值和审美进行抉择。 传统 IDE 的短板然而,在这些编辑器中咱们往往也容易遇到软件臃肿、应用简单的问题,除了减轻了电脑累赘、升高了编程效率,在软件适应上也会耗费不少工夫和精力。(以下内容截自知乎) 继承传统劣势在 Lightly 在线云端 IDE 中,咱们继承了传统 IDE 的劣势,进一步施展了 TeamCode 云原生利用的专长,让用户能随时随地在轻量而功能强大的编辑器(IDE)中编写代码,实现 Code Anytime Anywhere 的新现实,让写代码变得更简略。 咱们和传统 IDE 一样,同样兼备: 完全免费的编程平台,让编程变得轻松可累赘。语法高亮、智能提醒、主动补全,进步编程效率,免去死记硬背、反复打字等麻烦。多语言适配,无论你是用 Python、Java、C、C++、HTML/CSS、JavaScript、PHP 或 Go,咱们都能为你提供一站式的编程体验。第三方库反对,无论线上包或本地包,Lightly 都能为你一键下载或上传装置。 开辟全新体验此外,咱们也联合了 TeamCode 原有的云原生劣势,在传统 IDE 的根底上构建了新一代的 Cloud IDE,认真拥抱云端将来,为你提供: 更轻量、简洁的编程界面。极简主义始终是编程的大趋势,Lightly 简洁的图形化操作界面能让用户专一于编写代码,进一步增进编程效率。更智能的自动化环境配置。作为程序员的一分子,Lightly 团队深知切换编辑器及设施时,繁琐的环境配置对许多人而言是一项难题。无论你的编程语言和零碎环境是什么,咱们都能通过自动检测和配置性能,缩小环境配置带来的困扰,同时也为初尝编程的老手程序员们护航。更晦涩的跨平台体验。Lightly 除了备有线下客户端,同时也通过云端技术,让用户能在浏览器中间接编程。Lightly 会将用户的代码实时保留在云端,无需任何操作即可从任意浏览器或客户端上登录账号并持续实现工作。更便捷的一站式分享、合作性能。无论你是编程区博主或只是想把代码分享给共事,Lightly 的分享性能都能满足你的需要。只须要生成并复制链接,即可无忧分享你的代码。你甚至还能够通过内置的多人合作性能,邀请敌人退出你的我的项目,共同完成编写工作。更小的内存与容量占用。作为在线云端 IDE,Lightly 的所有配置文件、代码甚至程序运行都在云端进行。用户不再须要担心运行程序占用过多的内存和容量,也无需为编程累赘更低廉的设施。认真拥抱将来 作为编辑器中的萌新,咱们分明咱们的产品目前仍然不够欠缺。正因如此,咱们更踊跃地收集和参考用户们的反馈与意见,依据需求量安排技术路线,从用户的角度登程尽力满足大家的编辑器的需要。如果你对编辑器还有更多的需要与期待,无妨通知咱们的团队,也感激你违心与咱们一起打造更精彩的编程环境。 TeamCode 官网 | www.teamcode.comLightly 官网 | lightly.teamcode.com分割咱们 | lightly@teamcode.com

April 22, 2022 · 1 min · jiezi

关于编辑器:为什么要用-Lightly-在线-IDE

太长不看 主动配置语言环境云端编程,运行不占用本机资源,代码无需手动保留简洁的图形化 IDE 界面,无需耗时相熟操作网页关上在线编辑器,随时随地开始编程文本主动补全,初学者无需死记简单代码云端多人帮助,不便和小伙伴一起做我的项目对于刚接触编程的初学者而言,作为编程工具的编辑器却往往是一个相当生疏的利用。大家在初学者阶段往往容易被电脑软件的惯性思维套住,认为学习 C++、Java、Python 等编程语言须要装置同名软件,但不少编程教程中却没有认真阐明编辑器与编程语言之间的奥妙关系。 对于从学校学习编程的学生而言,尽管学校的机房往往已装置好反对相应语言的编辑器,但学生在来到机房,应用本人的电脑尝试编程的时候,也同样遇到装置、配置环境等难题。 作为学习编程的过来人,其实大家都晓得间接上手对学习编程的重要性。在网上自学编程的可能还在应用一些网络上的编辑器摸索,不太知道除此以外能够在哪里“下载 Python”;也有可能误打误撞下载了高赞的文本编辑器,自信地写完一串代码后,找不到运行的办法;甚至还可能下载了超能级别的 Visual Studio 或 PyCharm,却被电脑的运行速度战胜。 Lightly 作为一款轻量且功能强大的集成开发工具(IDE),其实能够解决初学者在学习编程时所遇到的大部分问题,无需分神解决编辑器操作简单等问题。 主动构建开发环境是 Lightly IDE 最大的特点,无论是对老手或者业余程序员而言,自动检测和生成开发环境都能够在学习编程或更换编辑器时缩小大量工夫和经验老本。 用户能够在 Lightly 上云端实时同步代码,所有轻微的改变 Lightly 都牢记云端。你不须要再放心因为没有保留而失落辛苦写进去的代码,也无需因为切换设施而感到焦虑。只有登录 Lightly,上一秒写的代码、批改过的资源都收录其中。 如果你还在为简单的操作界面困扰,无妨尝试一下极简主义者都不禁夸赞的 Lightly 编辑器。整体的图形化界面易于学习操作,洁净简洁的界面也让用户能够沉浸于编程之中。再强调一遍,Lightly 齐全不会弹出奇怪的广告,影响写代码的情绪! Lightly 是 TeamCode 旗下的一款完全免费的云端 IDE,反对高亮显示、主动补全、多语种抉择、装置第三方库、多人在线合作等性能。用户只须要在编辑器界面中生成链接,即可一键分享给其余搭档,共同完成、审阅我的项目代码。 目前,Lightly 同样也在学习和提高的过程中,心愿有你和咱们一起携手提高,将你的需要和想法通知咱们,让 Lightly 变成一个更加现实、业余的编辑器。 Lightly 官网:lightly.teamcode.comTeamCode 官网:www.teamcode.com分割咱们:lightly@teamcode.com

April 10, 2022 · 1 min · jiezi

关于编辑器:那些我使用过的优秀工具

为什么介绍这些工具:这些我常常应用的工具,对我来说自身有很大的帮忙。 对工具的认识: 工具自身呈现就是为了解决某些问题,不便咱们开发和工作,进步生产力。然而每个人的应用习惯和审美不同,对工具的抉择和应用也是一样的。工具不是“银弹”,一个好的书写软件并不会让你写出优良文章,一个优良的作图软件也不会让你画出令人眼前一亮的图形,正确正当的应用工具。最近打算录个视频来对介绍一下这些工具,次要是能够看到具体操作界面,理解这些软件的暗藏比拟深的性能,欢送继续关注。笔记工具Typora编写MarkDown最舒服的工具 实时渲染,界面简洁主动保留,版本控制,拼写查看反对本地图片主动转换为网络地址自定义主题和CSS文件反对导出为PDF、HTML、Word、Epub等其余举荐的工具:MDNice、Notion、Wolai、有道云笔记、Remnote 白板工具白板/图形工具对于开发人员来说是刚需,好的图形能够帮咱们更好的表白本人。 Witeboard优雅简洁的白板工具 反对近程合作其余举荐:Mural、Miro Excalidraw开源的手绘格调白板工具 自定义手绘格调反对近程合作应用示例 、snowpack 遇到问题理清思路的时候咱们都会在纸上进行手绘,网页版的手绘格调白板能够更好看的表白咱们本人的想法。 ProcessOn在线流程图,思维导图绘制工具 反对多种图形丰盛的模板ProcessOn是国内最早做在线图表的公司之一,界面简洁好看,反对导入/导出多种格局,模板市场也很丰盛的。举荐链接。 其余举荐:GitMind Draw.io一个开源收费的图表/白板可视化应用程序 开源收费图形丰盛反对多种拜访形式: 在线拜访vscode插件桌面利用Docker私有化部署反对类型十分丰盛,在线版反对存储/读取到GitHub。 金山文档云存储,格局丰盛,反对Word、 Excel、PPT、流程图、思维导图集成了ProcessOn生产力工具WorkTile企业级我的项目合作与指标管理工具 优良的工作看板自定义继承工具我本人用的比拟棘手的工具,根本每天都在应用。其中看板工具十分棘手。我每天都会记录本人当天要做的事,每一个卡片放需要相干的所有内容:需要文档,设计稿,技术设计,实现Case等。 NextCould自托管的生产力平台(公有云盘) 丰盛的插件无网络限度,隐衷平安docker镜像 各大云盘速度感人,能够搭建本人的网盘,收费的市场中有丰盛的软件能够装置:白板工具、文档工具、媒体工具期待,定义本人的工作流。 AirPortal文件互传工具 没有应用NextCloud之前,都是应用这个网页工具分享文件。 语雀业余的云端知识库 Chrome插件OneTab 收纳并记录以后关上所有标签FE Helper 前端开发必备工具库:json格式化、比照、二维码生成、编码转换等Copy All Urls 复制所有关上标签URLEdit this cookie 导入导出cookiesWeb Serve for Chrome 能够间接起一个动态服务 或者http-server-online油猴开发/调试工具SSH工具: Bitvise ssh client (Windows) Terminal: iTerm(MacOS) 反对分屏和播送 GitHub镜像站: https://hub.fastgit.org/https://github.com.cnpmjs.org/GitHub520: 通过批改Host来优化GitHub拜访 CodeServer 在线VSCode acme.sh ACME协定获取Let’s Encrypt收费SSH证书。反对泛域名,能够参考:acme.sh 图片工具Snipaste 反对多屏反对截图取色(C)反对图片固定(F3)反对贴图(文本、图像、色彩信息转图片)反对标注,鼠标穿透,透明度相对是我用过最好的图片截图工具,反对固定图片,在做数据比照时十分有用。 图片OCR: MacOS下QQ反对图片OCR Upic Picgo file-uploader-cli 图片管理工具 反对收费图床和自定义服务反对图片历史治理反对作为Typora命令行上传工具

April 6, 2022 · 1 min · jiezi

关于编辑器:2022年AppCode最新破解教程

大家好, 我是散步coding 之前也有一些公号敌人问我,有没有最新版AppCode的激活码。瞎话讲,永恒无效的激活码当初真没有、网上有的话很快也过期了, 大家一个一个的试下来,发现都是生效的,节约了很多工夫。而且随着 Jetbrains系列 产品的一直迭代降级,官网的防破措施也越来越严格,后续破解计划预计也是越来越难的。 AppCode简介AppCode实用于 iOS/macOS 开发的智能 IDE, 原生反对 XCTest、Quick、Kiwi、Catch、Boost.Test 和 Google Test 测试框架。 用于获取单元测试办法的代码生成操作能够进步您的生产效率。 应用 ⌘N 可依据上下文获取测试方法。 1、高效的我的项目导航 能够立刻跳转到我的项目中的任意文件、类或符号,应用档次和构造视图在您的我的项目构造中导航。 2、全面的代码剖析 AppCode 能够继续监督您的代码品质。它能够收回谬误和异味正告并倡议疾速修复来主动解决它们。 3、智能补全 AppCode 提供了两种类型的代码补全:根本的实时输出补全和更高级的智能补全,后者能够实现准确筛选。 好了,介绍完AppCode后, 开始咱们明天的破解之旅, 目前来讲, AppCode破解形式常见有2种办法: 1 、破解插件+激活码,个别能够激活到2099年(应该够用了哈, 到了在说). 2 、破解插件。应用它能够有限重置30天,永不到期!(有点像下图) 当然了如果你不差钱, 还是倡议花点钱(一年199美元),反对一下正版。 AppCode破解步骤 这篇文章介绍一下利用破解插件的形式 破解AppCode, 心愿对你有用。 1、目前我装置的是2021.2.2版本AppCode, 大家能够到官网下载即可。 https://www.jetbrains.com/zh-cn/objc/download/other.html 下载后呈现这个页面, 而后点击Start trial, Login 获取IDE authorization token 启动后你能够看到有效期是2022/5/4号 2、下载破解插件: ide-eval-resetter 关注公众号: 散步coding, 回复AppCode , 即可获取到破解插件 将下载好的破解包拖拽到AppCode后, 重启AppCode ...

April 4, 2022 · 1 min · jiezi

关于编辑器:如何利用VuePress和GithubPage搭建一个轻量级博客

摘要: 置信每个人都想领有一个博客, 一个属于本人写作的中央,明天讲讲如何用VuePress和github Github Pages打造一个属于本人的博客,不必建站,也不必域名的轻量级博客, 要害还反对markdown写作, 大大提高了写作的好感度。本文首发于公众号: 散步coding博客地址如下:博客地址: https://easyhappy.github.io/travel-coding/代码地址: https://github.com/easyhappy/travel-coding大家能够关上看看成果: VuePressVuePress 天然不必多说,基于 Vue 的动态网站生成器,格调简洁,配置也比较简单。之所以不应用 VitePress,是因为想应用现有的主题, 而 VitePress 不兼容以后 VuePress 的生态系统,至于为什么不抉择 VuePress@next,思考到还处于 Beta 阶段,等稳固后再开始迁徙。 装置过程目前我用的node版本是: v16.14.2, 大家在装置之前要检查一下本人的node版本, 太低了可能装置不了。 大家也能够看VuePress的官网教程: https://v2.vuepress.vuejs.org... 1、创立我的项目 mkdir vuepress-startercd vuepress-starter2、初始化我的项目 git inityarn init3、装置VuePress yarn add -D vuepress4、将上面的script 增加到package.json中 { "scripts": { "docs:dev": "vuepress dev docs", "docs:build": "vuepress build docs" }}5、创立第一个文件 mkdir docsecho '# Hello VuePress' > docs/README.md6、运行上面的命令启动local server yarn docs:dev这时你拜访http://localhost:8080/,如果能呈现以下界面,阐明到你曾经搭建好了博客。 7、根底配置 在docs目录下创立一个 .vuepress 目录,所有 VuePress 相干的文件都会被放在这里。 ...

March 28, 2022 · 2 min · jiezi

关于编辑器:FIN2101-FullTime-Diploma

Full-Time DiplomaBUSINESS FINANCE (FIN2101)CONTINUOUS ASSESSMENT 1TERM OF JANUARY 2021 – MARCH 2021Individual Assignment (30%)Total marks: 50 marksInstructions: Type out your assignment in Word document and submit it through the D2L by thedeadline.In your cover page, include your full name and ID number.Answer ALL questions.Show ALL workings.Please be reminded that plagiarism and collusion are serious offences, and all cases willbe referred to the administration. Grades will be withheld until investigations arecompleted if the submission is suspected of plagiarism or collusion.Question 1Explain what business ethics is. Discuss whether having an ethics programme in the firm maybenefit the organisation and its shareholders.(6 marks)Question 2a) K&M Co. is considering an investment. The project is expected to be financed by$2,000,000 of bank loans and $3,000,000 of common equity. It is known that the firm’sweighted average cost of capital (WACC) is 9.8% and the investment is expected togenerate a net operating profit after tax (NOPAT) of $480,000. The company’s tax rateis 30%.(i) What is the project’s Economic Value Added (EVA)?(2 marks)(ii) Should the firm accept or reject the investment? Explain your reason(s).(2 marks)2Question 3The balance sheet and income statement for DRM Pte Ltd are shown below:a) You are given selected financial ratios of DRM Pte Ltd for 2018 and 2019 in the tablebelow. Compute the corresponding ratios for 2020. Round your answers to two decimalplaces.(5 marks)b) Using the information provided in the table and your answers in part (a), perform a timeseriesanalysis for DRM Pte Ltd in the following areas:i) Liquidity.ii) Profitability.(6 marks)DRM Pte LtdBalance SheetAs at 31 Dec 2020$(‘000)Cash 50Accounts Receivable 300Inventories 300Total Current Assets 650Net Fixed Assets 750Total Assets 1,400Accounts Payable 300Long-Term Debt 1,000Total Liabilities 1,300Common Stockholders’ Equity 100Total Liabilities & Stockholders’Equity 1,400DRM Pte LtdIncome Statement For the Year Ended 31 Dec 2020$(‘000)Sales 1,000Less : Cost of Goods Sold 300Gross Profit 700Less : Operating Expenses 400Operating Profits 300Less : Interest Expenses 180Profit before Taxes 120Less : Taxes (20%) 24Profit After Taxes 96Ratios DRM Pte Ltd2018DRM Pte Ltd2019DRM Pte Ltd2020Current Ratio 1.42 1.62Quick Ratio 0.52 0.64Gross Profit Margin 0.70 0.70Operating Profit Margin 0.19 0.24Net Profit Margin 0.13 0.123c) Discuss how Debt Ratio and Times Interest Earned ratio may be used by the managementto better manage the firm.(4 marks)Question 4QRS Corporation forecasted its total funding requirements for the coming year as shown inthe table below :Month Total funding requirements(S$)January 40,000February 60,000March 110,000April 40,000May 80,000June 70,000July 140,000August 40,000September 60,000October 70,000November 50,000December 60,000QRS Corporation was informed by its bank that short-term loans cost 6.8%p.a. and long-termloans cost 8.2%p.a.. Calculate the total cost (to 2 decimal places) of each of the followingstrategy:a) An aggressive funding strategy.(3 marks)b) A conservative funding strategy.(3 marks)4Question 5As a new finance manager of S&T Pte Ltd, you are responsible in managing the firm’sfinancial affairs. Your review of the business cycle reveals that S&T Pte Ltd’s inventorytypically remains with the firm for 20 days before it is sold and requires 30 days for the moniesto be collected from the customers. On average, the firm takes 40 days to pay its suppliers.a) Compute the cash conversion cycle (CCC) of S&T Pte Ltd. Comment on your answer.(3 marks)b) Should S&T Pte Ltd lengthen or shorten its CCC? Why?(3 marks)c) Suggest TWO ways in which S&T Pte Ltd can improve its CCC.(3 marks)Question 6Company ABC manufactures stoneware. Supplier LMN provides raw materials to CompanyABC under the credit terms of 3/15 net 60.a) Determine the cost of giving up the cash discount from Supplier LMN. Your answershould be in percentage and rounded to two 2 decimal places.(3 marks)b) Bank XYZ offers short-term financing to Company ABC at a premium of 4% abovePRIME. If the current PRIME rate is 8%p.a., what is the cost of bank borrowing forCompany ABC? Your answer should be in percentage and rounded to two 2 decimalplaces.(3 marks)c) Given your answers in (a) and (b), should Company ABC take up the cash discount fromSupplier LMN? If the invoice amount is $120,000, determine when and how much shouldCompany ABC pay.(4 marks)-- END OF ASSIGNMENT -- ...

March 17, 2022 · 4 min · jiezi

关于编辑器:2022年IntelliJ-IDEA最新破解教程

IntelliJ IDEA工具介绍为何抉择 IntelliJ IDEA, 抉择她, 你能够享受高效的 Java 开发; IntelliJ IDEA 的每个方面都旨在最大化开发者生产力。联合智能编码辅助与符合人体工程学的设计,让开发不仅高效,更成为一种享受。 IntelliJ IDEA的一些性能智能代码补全根本代码补全在可见范畴内为类、办法、属性和关键字提供名称倡议, 而智能代码补全专一在以后 上下文并提供须要的类型倡议。 框架针对性辅助尽管 IntelliJ IDEA 是一种实用于 Java 的 IDE,但它也了解大量其余语言(例如 SQL、JPQL、HTML、JavaScript 等)并提供智能编码辅助,即便当语言表达式被注入到 Java 代码的字符串文字中也可能辨识。 内建开发者工具在 IDE 中工作的益处之一是在一个中央取得所有必要工具。应用 IntelliJ IDEA 调试和测试您的客户端和 Node.js 利用,并利用版本控制。充沛应用 linter、构建工具、终端和 HTTP 客户端,这些均曾经与 IDE 集成。 IntelliJ IDEA最新破解教程俗话说: 工欲善其事,必先利其器, 平时开发过程中必定会写一些前端我的项目, 那么必定要配置好本人的开发工具, 明天就讲讲IntelliJ IDEA的配置, 所以把装置过程以及激活过程整顿了进去。 目前来讲, IntelliJ IDEA破解形式常见有2种办法: 1 、破解插件+激活码,个别能够激活到2099年(应该够用了哈, 到了在说). 2 、破解插件。应用它能够有限重置30天,永不到期! 装置过程1、如果之前装有IntelliJ IDEA版本, 能够先删除掉, 在重新安装 a)、应用程序, 删除之前遗留的IntelliJ IDEA利用 b)、到下方目录删除之前利用的缓存信息, 防止烦扰 cd ~/Library/Application Support/JetBrains/rm IntelliJ IDEA*2、到官网下载IntelliJ IDEA安装包 ...

March 6, 2022 · 1 min · jiezi

关于编辑器:2022年WebStorm最新破解教程

WebStorm工具介绍目前WebStorm算是最智能的 JavaScript IDE WebStorm 是一个实用于 JavaScript 和相干技术的集成开发环境。相似于其余 JetBrains IDE,它也会使您的开发体验更乏味,主动执行惯例工作并帮忙您轻松解决简单工作。 WebStorm的一些性能专门针对 JavaScript 打造是否在为 JavaScript 开发中最辣手的局部寻找值得信赖的工具?10 多年来,咱们始终在优化 WebStorm,使编码体验更加乏味。无论您是应用 JS、TS、React、Vue、Angular、Node.js、HTML 还是各种样式表,WebStorm 都能满足您的需要。 最智能的编辑器WebStorm 深刻理解您的我的项目构造,并且能够在编写代码的各个方面为您提供帮忙。 它将主动补全代码、检测谬误和冗余并提供修复倡议,以及帮忙您平安地重构代码。 内建开发者工具在 IDE 中工作的益处之一是在一个中央取得所有必要工具。应用 WebStorm 调试和测试您的客户端和 Node.js 利用,并利用版本控制。充沛应用 linter、构建工具、终端和 HTTP 客户端,这些均曾经与 IDE 集成。 WebStorm最新破解教程俗话说: 工欲善其事,必先利其器, 平时开发过程中必定会写一些前端我的项目, 那么必定要配置好本人的开发工具, 明天就讲讲WebStorm的配置, 所以把装置过程以及激活过程整顿了进去。 目前来讲, WebStorm破解形式常见有2种办法: 1 、破解插件+激活码,个别能够激活到2099年(应该够用了哈, 到了在说). 2 、破解插件。应用它能够有限重置30天,永不到期! 装置过程1、如果之前装有WebStorm版本, 能够先删除掉, 在重新安装 a)、应用程序, 删除之前遗留的WebStorm利用 b)、到下方目录删除之前利用的缓存信息, 防止烦扰 cd ~/Library/Application Support/JetBrains/rm WebStorm*2、到官网下载WebStorm安装包 https://www.jetbrains.com/zh-... 举荐应用2021.2.2版本, 亲测无效 2、下载破解插件: ide-eval-resetter 关注公众号: 散步coding, 回复webstorm , 即可获取到破解插件 ...

March 6, 2022 · 1 min · jiezi

关于编辑器:EME152-设计

EME152 Computer-Aided Mechanism Design, Project Description(200 points for a single student project)Project Due Thursday at 11:59pm, December 17Project: Computer-Aided Design and Analysis ofa MechanismDesign and implement a software package for the computer-aided design and analysis of a mechanismshown in Figure 1.Figure 1: The Whitworth quick return mechanism.1The software package should be usable by engineers to solve practical problems related to the mechanism.It can also be used by students to understand the working principle of the mechanism. The importantpoint is that the software package is designed for others to use.The software package shall be general and flexible. It shall be readable and easy to maintain. It shouldinclude both on-line and off-line documentation. The software shall include the following components.• The software shall allow a user to input the parameters for the mechanism. A user can input parametersin either US Customary or SI units.• The package shall be able to perform position, velocity, acceleration analysis.• The package shall be able to perform animation of the mechanism.Follow the implementation of the class CFourbar for analysis and design of fourbar linkages as an example.Read its off-line documentation in Chapter 2, and Appendices A and B in Ch Mechanism Toolkit User’sGuide. The source code for class CFourbar is located in C:/ch/toolkit/include/linkage.h,C:/ch/toolkit/include/fourbar.h, C:/ch/toolkit/lib/mechanism/CFourbar.chf. Demonstration programs for usingclass CFourbar is located in directories C:/ch/toolkit/demos/mechanism/chapters/fourbar andC:/ch/toolkit/demos/mechanism/appendix/CFourbar. You may implement the software package as a classcalled CMechanism with a header file mechanism.h, which includes the header file linkage.h, and classmember function file CMechanism.chf. The class may contain, at the minimum, the following memberfunctions with proper arguments.All these member functions should be tested and documented somewhere in the document. There are multiplegeometrical inversions for a given position for the input link 2. Your software only give the solution forthe geometrical inversion shown in Figure 1.For testing purposes and the ability to check the status of your program with other teams, initialize yourparameters with the values provided in the following table. With these values set as default, users should beable to use your software package without having to input any data.The length for each link of a crank-rocker four-bar linkage is r1 = 5.5cm, r2 = 1.0cm, r3 = 3.0cm, r4 =4.5cm and the phase angle for link 1 is 1 = 10◦. THe length r5 for link 5 is 8 cm, the distance of B0 to thevertical wall on the right side is 3 cm.Assume that the input link 2 is the driving link that rotates at a constant cw angular velocity 2 =15radian/s and that 2 = 0 when t=0.Write a program to use the developed class to calculate the position, velocity, acceleration of the sliderwhen 2 for the input link is 45◦Write a program to use the developed class for animation.Note:2 ...

March 5, 2022 · 3 min · jiezi

关于编辑器:2022年PhpStorm最新破解教程

PhpStorm工具介绍目前PhpStorm 完满反对 Symfony、Laravel、Drupal、WordPress、Zend Framework、Magento、Joomla!、CakePHP、Yii 等各种支流框架。 能够说PhpStorm = WebStorm + PHP + DB/SQL, 蕴含WebStorm的所有性能,齐全反对PHP,并且还减少了对数据库/SQL的反对。 同时借助重构、调试和单元测试等性能来充分利用最先进的前端技术,例如 HTML5、CSS、Sass、Less、Stylus、CoffeeScript、TypeScript、Emmet 和 JavaScript。 借助实时编辑性能,立刻在浏览器中查看变更。 之前也有一些公号敌人问我,有没有最新版PhpStorm的激活码。瞎话讲,永恒无效的激活码当初真没有、网上有的话很快也过期了, 大家一个一个的试下来,发现都是生效的,节约了很多工夫。而且随着 Jetbrains系列 产品的一直迭代降级,官网的防破措施也越来越严格,后续破解计划预计也是越来越难的。 PhpStorm最新破解教程俗话说: 工欲善其事,必先利其器, 之前有些网站用到PHP, 必定要配置好本人的开发工具, 明天就讲讲PhpStorm的配置, 所以把装置过程以及激活过程整顿了进去。 目前来讲, PhpStorm破解形式常见有2种办法: 1 、破解插件+激活码,个别能够激活到2099年(应该够用了哈, 到了在说). 2 、破解插件。应用它能够有限重置30天,永不到期! 装置过程1、如果之前装有PhpStorm版本, 能够先删除掉, 在重新安装 a)、应用程序, 删除之前遗留的PhpStorm利用 b)、到下方目录删除之前利用的缓存信息, 防止烦扰 cd ~/Library/Application Support/JetBrains/rm PhpStorm*2、到官网下载PhpStorm安装包 https://www.jetbrains.com/zh-... 举荐应用2021.2.2版本, 亲测无效 2、下载破解插件: ide-eval-resetter 关注公众号: 散步coding, 回复phpstorm , 即可获取到破解插件 3、将下载到的zip包拖拽到编辑器内装置即可 4、点击Help -> Eval Reset 勾选: Auto reset before per restart 而后点击Reset ...

March 4, 2022 · 1 min · jiezi

关于编辑器:Goland最新破解教程

Goland最新破解教程俗话说: 工欲善其事,必先利其器, 作为一名Golang开发者, 必定要配置好本人的开发工具, 明天就讲讲Goland的配置, 所以把装置过程以及激活过程整顿了进去。 本教程更新工夫是2022/2/28,心愿对您有所帮忙。 之前也有一些公号敌人问我,有没有最新版Goland的激活码。瞎话讲,永恒无效的激活码当初真没有、网上有的话很快也过期了, 大家一个一个的试下来,发现都是生效的,节约了很多工夫。而且随着 Jetbrains系列 产品的一直迭代降级,官网的防破措施也越来越严格,后续破解计划预计也是越来越难的。 目前来讲, Goland破解形式常见有2种办法: 1 、破解插件+激活码,个别能够激活到2099年(应该够用了哈, 到了在说). 2 、破解插件。应用它能够有限重置30天,永不到期! 装置过程1、如果之前装有Goland版本, 能够先删除掉, 在重新安装 a)、应用程序, 删除之前遗留的Goland利用 b)、到下方目录删除之前利用的缓存信息, 防止烦扰 cd ~/Library/Application Support/JetBrains/rm Goland*2、到官网下载Goland安装包 https://www.jetbrains.com/zh-... 举荐应用2021.2.2版本, 亲测无效 2、下载破解插件: ide-eval-resetter 关注公众号: 散步coding, 回复goland , 即可获取到破解插件 3、将下载到的zip包拖拽到编辑器内装置即可 4、点击Help -> Eval Reset 勾选: Auto reset before per restart 而后点击Reset 5、点击Help -> Register 确认日期已更新

February 28, 2022 · 1 min · jiezi

关于编辑器:golang-工具使用技巧

工具技巧插件快捷键装置插件文件 =》设置 -》Plugins -》搜寻包名称(留神你搜的是曾经装置的插件还是插件商城的插件)-》点击装置。 翻译插件 - Translation选中一段内容,按 ctrl + shift + y 即可翻译。 小地图在插件的地位搜寻曾经装置的插件,找到 CodeGlance 勾销勾选即可勾销小地图。 编辑器技巧参考:https://www.cnblogs.com/yanbu...。 主动换行文件 =》编辑器 =》主动换行:退出 go 文件。 正文信息进入正确地位:文件 =》设置 =》编辑器 =》File and Code Templates;设置正文内容:点击或者新建一个模板,在其中写入正文内容。以作者信息为例: 而后,创立相干文件的时候,会主动写入增加的内容。疾速正文参考:https://blog.csdn.net/weixin_... 从设置顺次找到:Settings-》Editor(编辑器)-》Live Templates(流动模板) 。 自定义选项卡:点击左边的 + 号,抉择 live ..,呈现 user 选项卡,在其中设置本人的模块: 远程管理远程管理:工具 =》部署(高低箭头)=》浏览近程主机 =》点击三个点(...)=》写入名称和抉择连贯形式 =》编写相干信息连贯近程主机。 主动上传:工具 =》部署 =》主动上传。 近程终端:工具 =》Start SSH session =》抉择配置好的配置名。 黄色背景高亮勾销选中按 alt + enter,点击 ignore explicitily 选项的三角形,抉择 禁用xx。 编程技巧加载扩大包文件 =》Go =》GoModules: 勾选 “Enable Go Modules integration” =》 设置 Environment 为 GOPROXY=https://goproxy.cn,direct 。 ...

February 23, 2022 · 1 min · jiezi

关于编辑器:2022年PyCharm最新破解教程

大家好, 我是公众号: 散步coding 的作者 最近在写python代码, 所以装置了pycharm, 在激活的过程中发现网上很多文章都已过期了, 所以重新整理了一下教程, 更新工夫: 2022/2/22。 之前也有一些公号敌人问我,有没有最新版PyCharm的激活码。瞎话讲,永恒无效的激活码当初真没有、网上有的话很快也过期了, 大家一个一个的试下来,发现都是生效的,节约了很多工夫。而且随着 Jetbrains系列 产品的一直迭代降级,官网的防破措施也越来越严格,后续破解计划预计也是越来越难的。 目前来讲, pycharm破解形式常见有2种办法: 1 、破解插件+激活码,个别能够激活到2099年(应该够用了哈, 到了在说). 2 、破解插件。应用它能够有限重置30天,永不到期!(有点像下图) 当然了如果你不差钱, 还是倡议花点钱(一年199美元),反对一下正版。 pycharm破解步骤 这篇文章介绍一下利用破解插件的形式 破解pycharm, 心愿对你有用。 1、目前我装置的是最新的2021.3.2版本pycharm, 大家能够到官网下载即可。 https://www.jetbrains.com/pycharm/download 下载后呈现这个页面, 而后点击Start trial, Login 获取IDE authorization token https://account.jetbrains.com/oauth2/signin?login_challenge=2a30f568d7f2432685e3e3574269a23f 启动后你能够看到有效期是2022/3/23号 2、下载破解插件: ide-eval-resetter 关注公众号: 散步coding, 回复pycharm , 即可获取到破解插件 将下载好的破解包拖拽到pycharm后, 重启pycharm 3、如图,勾选: Auto reset before per restart , 而后点击Reset, 而后能够看到Last Reset Time 就扭转了。 这样每次重启pycharm都会主动重置30天使用期。 ...

February 22, 2022 · 1 min · jiezi

关于编辑器:KiCad镜像下载与安装

一、参考链接阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com) kicad镜像-kicad下载地址-kicad装置教程-阿里巴巴开源镜像站 (aliyun.com) KiCad EDA - Schematic Capture & PCB Design Software KiCad | 6.0 | 简体中文 | Documentation | KiCad 二、KiCad介绍KiCad EDA 是一款用于印刷电路板设计的开源自由软件,基于 GPLv3 开源协定。 软件蕴含工程项目管理、原理图设计、线路板绘制、符号库设计、封装库设计、线路板 3D 显示、Gerber 查看、线路板实用计算等工具。 三、下载KiCadhttps://mirrors.aliyun.com/kicad/windows/stable/kicad-6.0.2-x86_64.exe Windows Downloads | KiCad EDA <font color=red>kicad-6.0.2-x86_64.exe</font>此安装包大小为1GB。倡议提前下载好。四、装置KiCad双击运行<font color=red>kicad-6.0.2-x86_64.exe</font>,单击"下一步"。 抉择组件,默认。单击"下一步"。 抉择装置目录,单击"装置"。<font color=red>留神:装置目录不能含有中文字符。</font> 期待装置实现。 点击"实现"。 关上KiCad 至此,装置实现。

February 20, 2022 · 1 min · jiezi

关于编辑器:圈子小程序高质量社群运营助手来啦

「圈子小程序」:高质量社群经营助手来啦2022-01-14 17:39·华观数智「圈子小程序」:高质量社群经营助手来啦企业经营会员过程中,通常会在社群公布干货内容用来晋升用户沉闷,这是罕用的经营办法,而你是否有过这样的困扰: 群里每天发干货,然而信息散落无沉淀?发在群里的文件很快就过期,信息也不容易找到?公布的信息类型很多,如何分门别类对立治理呢?以上种种问题,置信大部分经营人员都碰到过,这里就给大家介绍一款私域社群经营工具必备利器——【圈子小程序】。 上述那些问题,它来帮你轻松解决。 如果你有丰盛的专家IP资源,想要高质量的经营社群,心愿内容实现变现,那【圈子】将是你最好的帮手!在这里汇集着雷同趣味和诉求的人群,能够实现精准经营。同时,你在这里创立的所有材料都将是你的私域专属,是你高质量经营社群不可或缺的利器。 百闻不如一看!点击下方,立刻进入全新降级的【圈子】。 「圈子小程序」:高质量社群经营助手来啦1、内容多维度展现平台01 公布模式丰盛 【圈子】能够公布图文、视频、PDF多格局文档、长文等类型内容,还能够增加链接,多方位满足不同类型内容的公布。 「圈子小程序」:高质量社群经营助手来啦图片起源:圈子截图 02 内容分门别类 公布动静时抉择内容公布的圈子,增加针对性内容标签,输出相干话题,让内容分门别类,清晰有序,也便于用户查找。用户能够通过圈子、话题等进行内容搜寻,查找到指标内容。 「圈子小程序」:高质量社群经营助手来啦「圈子小程序」:高质量社群经营助手来啦图片起源:圈子截图 03 多种互动、告诉性能 精彩内容能够设置置顶,用户能够第一工夫看到;喜爱的内容能够点赞珍藏,便于前期查找;共鸣的内容能够发表相干评论,与专家达人独特交换。 「圈子小程序」:高质量社群经营助手来啦「圈子小程序」:高质量社群经营助手来啦「圈子小程序」:高质量社群经营助手来啦「圈子小程序」:高质量社群经营助手来啦图片起源:圈子截图 用户退出圈子、点赞或评论你公布的动静时,你会第一工夫收到告诉;当你公布动静时,用户能够第一工夫收到揭示。真正做到事事有告诉,处处有互动,通过优质的圈子内容和告诉体系激活沉睡用户。 「圈子小程序」:高质量社群经营助手来啦「圈子小程序」:高质量社群经营助手来啦图片起源:圈子截图 所以,当你应用圈子工具之后,要记得多在圈子与你的用户开展互动喔~ 2、IP经营工具【圈子】是一款十分棒的IP经营工具,你能够在这里创立你的专属趣味社群、IP圈子,轻松实现拉新引流、内容变现,打造粉丝严密围绕你身边的高质量付费社群。 「圈子小程序」:高质量社群经营助手来啦「圈子小程序」:高质量社群经营助手来啦图片起源:圈子截图 【圈子】有专属的专家、达人详情页,展现专家信息、公布的动静等。 对于用户来说,用户能够关注点赞关注喜爱的专家、达人,关注后若后续有内容发布会发送告诉用户。专家、达人可能通过圈子积攒粉丝,进一步实现用户高质量经营,减少内容变现机会,让你的常识更有价值! 「圈子小程序」:高质量社群经营助手来啦「圈子小程序」:高质量社群经营助手来啦图片起源:圈子截图 这里能够建设丰盛的大咖资源列表,邀请身边的行业大咖退出你的圈子,输入精髓内容,搭建高质量私域社群! 3、社群沉闷变现工具【圈子】内可同步公布线上或线下的流动,既能收集用户的报名信息,线下扫码签到,也可晋升用户参加活跃度,多维度晋升企业社群经营能力。 「圈子小程序」:高质量社群经营助手来啦「圈子小程序」:高质量社群经营助手来啦图片起源:圈子截图 说了这么多圈子性能,你有没有心动呢,还等什么,点击马上查看吧,若你有什么新性能的需要也可进入圈子通知咱们~

January 14, 2022 · 1 min · jiezi

关于编辑器:阿里巴巴设计师语雀工作台改版完整复盘

2018 年 1 月 8 日,支付宝旗下常识创作和交换工具——语雀正式对外。 三年来,随着语雀在常识创作、协同、交换等场景的深刻摸索,在性能一直强化的同时,也带来了“上手老本高”“场景多”“语雀到底想做什么”的灵魂拷问。 于是,2020 年的最初一个季度,为了解决用户的外围问题,咱们对语雀进行了一次从新的扫视。 联合外围主线,咱们将第一个降级重点瞄准了工作台。 为什么是工作台?工作台是语雀最重要的页面之一,新用户注册后进入的是工作台,老用户每天登陆 yuque.com 进入的也是工作台。 能够说,工作台是一个直达枢纽,大家每天就是从这里开启本人创作。 回顾一下老工作台: 老工作台可能根本满足大家从这里找到文档、知识库和团队的需要,但依然存在以下三局部的问题: 链路长 工作台左侧以性能维度进行场景的流转,概念门槛高,很难触达用户的应用心智。新建不同类型的文档以下拉菜单的模式进行收起,入口较深,在工作台无奈间接体现语雀最外围的文档性能。心智乱 动静放在工作台中,与工作台内容流转的心智不一,烦扰用户。左侧导航性能多,用户认知老本高,决策难度大。最近列表内容凌乱。格调旧 视觉表白古老,页面品质感较低。冗余的视觉烦扰元素,升高了信息传播的效率。居中布局,页面屏效率低,对大屏用户不敌对。年久失修,视觉一致性差。短少情感化传播设计指标基于下面的问题,确立了这次改版的设计指标 洞察与优化链路长一. 更加贴近用户的应用场景,缩短流转链路很多用户其实并不是在工作台开始工作,而是进入知识库/团队进一步查找,那么从工作台到知识库/团队的链路就至关重要。 为了缩短这个链路,咱们将知识库与团队列表前置,并提供给用户 Pin (自定义工作台罕用列表)的性能,用户可将本人罕用的知识库或团队在工作台中显示,缩短了用户达到外围场景的应用链路。 工作台自定义知识库列表 二. 将新建性能前置旧工作台的新建按钮以下拉菜单的形式收起不够突出,所以,咱们此次降级将新建性能前置在页面右上角。 对于新用户:更加间接的向新用户传播语雀的外围性能。对于老用户:缩短了新建流程,升高了静止负荷。 心智乱一. 对立工作台心智先前工作台中不仅有最近的文档,还有关注人的动静,这让工作台的心智暧昧不明。 于是,咱们将工作台中的动静列表与关注一起整合到发现中,给用户造成:【工作台 —— 协同和创作】【发现 —— 分享交换】的心智。 二. 整合导航栏性能希克定律说,人面临的选中越多,所做出抉择的工夫就越长。 联合语雀接下来要强化常识创作、协同、交换的产品状态,以及用户点击左侧 tab 的数据钻研,咱们对左侧导航栏进行重塑,联合以上两点对性能进行前置、整合或收起。 通过用户点击数据,辅助设计洞见,将左侧列表应用度低的局部性能缩减,将大家重度应用的知识库、团队性能增强,让重要的信息高深莫测: 三. 精简最近列表内容最近列表位于工作台最地方,占据最重要的 C 位,而过来,这个列表承载的内容过多,团队、知识库、文档等各个维度的细碎操作都沉积在这里,冗余的信息量让这块最重要的区域失去实用性。 咱们从新梳理了信息维度,将最重要的四个维度「新建」、「编辑」、「上传」、「评论」筛选进去,并将文档、资源和话题宰割为 3 个 Tab 各自为政。 格调旧一. 格调摸索 —— 重塑设计语言,晋升设计品质到底什么样的格调是语雀的格调? 带着这样的问题咱们团队外部进行了一次脑暴,将后期摸索中创立的语雀情绪版贯彻到视觉降级中。 情绪版 提炼视觉映射 二.进步页面无效信息的透传决定格调后,咱们再来看看以后页面信息透传的问题。 作为一款效率工具,语雀的工作台并不是须要用户在这里勾留很久的页面,相同,咱们可能更心愿用户更快的在这里找到下一站,疾速来到。 ...

January 7, 2022 · 1 min · jiezi

关于编辑器:快捷键

一、编辑 Ctrl + Space 代码提醒Ctrl + Shift+ Space 主动补全代码(智能提醒)Ctrl + Shift+ Enter 语句实现:主动加”:”,if前面主动加0{}Ctrl+P 办法参数提醒Ctrl+Q 显示正文文档Shift +F1 内部文件Ctrl+mouse over code 简介Ctrl+ F1 显示谬误AIt + Insert 生成代码(如set,set办法,构造函数等)Ctrl+O 抉择可笼罩/继承的办法Ctrl+I 实现办法Ctrl +Alt+T 把选中的代码放在TRY {} IF {} & ELSE {} 里Ctrl+/ 正文//Ctrl+ Shift +/ Ctrl+W 能够抉择单词继而语句继而行继而函数Ctrl + Shift+W 勾销抉择光标所在词Alt+Q 查着以后办法的申明Ait + Enter 导入包,主动修改Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Ctrl+Alt+I 主动缩进Tab /Shift + Tab 缩进:代码标签输出实现后,按Tab,生成代码。Ctrl+Xor Shift+ Delete 剪切行Ctrl+C or Ctrl+ Insert 复制行Ctrl +V or Shift+ Insert 粘贴Ctrl + Shift + V 将最近应用的剪贴板内容抉择插入到文本Ctrl+D 复制行Ctrl+Y 删除行Ctrl + Shift+J 整合两行Ctrl+ Enter 向上插一行Shift + Enter 向下插一行Ctrl + Shift+U 大小写转化Ctrl + Shift+]/[ 选中从光标所在位置到它的父级区域Ctrl + Delete 删除光标前面的单词Ctrl + Backspace 删除光标后面的单词Ctrl +NumPad+/- 以后办法开展、折叠Ctrl + Shift+ NumPad+ 全副开展Ctrl + Shift+MumPad- 全副折叠Ctrl+ F4 敞开沉闷编辑标签二、搜寻/替换 ...

January 6, 2022 · 2 min · jiezi

关于编辑器:三甲在线富文本编辑器的架构设计及实践

12月5日, 极客邦(InfoQ)在深圳举办 GMTC大会,蚂蚁团体语雀编辑器技术同学三甲受邀加入大会并分享《在线富文本编辑器的架构设计及实际》,以下内容是依据现场演讲收集整理。大家下午好,我叫韩聪,花名三甲。当初在蚂蚁团体语雀团队负责语雀文档编辑器的研发工作。 明天在这边和大家分享的是咱们语雀在富文本编辑器上的架构设计和实际。 语雀编辑器家族首先,咱们先来认识一下语雀的编辑器家族。语雀倒退到当初咱们曾经诞生了 7 款类型不同的编辑器。老大是文档编辑器,它是基于传统的 DOM 技术来构建的,老二是目录编辑器,也是 DOM 技术来构建的。老三是工作表,他是基于 Canvas 构建的。老四和老五都是图类型的编辑器,他们是基于 SVG 技术来构建的。老六是演示文稿,也是 SVG 技术。 意识语雀文档编辑器明天和大家分享的是咱们的老大 —— 文档编辑器。先简略看一下这个文档编辑器的界面,是十分经典的一个布局,顶部是咱们的工具栏区域,咱们把一些常见的高频性能列举进去搁置于工具栏当中,供大家应用。右侧是咱们的性能扩大面板区域,这个区域常驻的是咱们文档的纲要,依据用户的操作不同,这边还会呈现其余的性能面板,比方图片设置面板以及附件下载控制面板。两头是文档的编辑区域,这是咱们编辑器工作的外围区域,编辑器下大部分的代码都是在解决这个区域上用户产生的交互。 这是语雀富本文编辑器填充后内容之后的一个成果。 富文本编辑器工作原理像这样的一个富文本编辑器,它背地的工作原理是什么呢?其实在我的角度来看的话,我感觉其实只有分明这两个问题就好了。第一个问题就是:在浏览器上咱们如何去出现富文本。第二个就是:在浏览器上咱们如何去编辑富文本,咱们来开展看一下 在浏览器上如何出现富文本?首先咱们须要先搞清楚什么是富文本,传统意义上的富文本其实是绝对于纯文本的概念提出来的。简略来说就是具备丰盛格局的文本。回到这个问题自身,咱们怎么去在浏览器下来出现这些内容呢?那就必然离不开这个浏览器的内容出现技术。浏览器为咱们提供的内容出现技术大抵上有 3 种:SVG 、Canvas 和 HTML + CSS。 这三种技术咱们到底应该选哪一种来出现咱们的富文本呢?我给出的答案是 HTML + CSS,为什么呢?因为它足够简略,另外它的扩大十分不便。通常状况下,咱们要实现雷同的 UI 成果的话,HTML + CSS 是这三种技术中最简略的一个,它所须要的代码是起码的。 如何在浏览器上如何编辑富文本?接着,咱们来看看第二个问题,怎么去编辑富文本呢?搞清楚这个问题,基本上编辑器神奇的面纱就被揭掉了。对于当初的这些编辑器来说,大部分人的答案都是 contenteditable。 contenteditable 是一个 HTML 属性,它能够让一个 DOM 元素变成可编辑的。这种能力,就很适宜用来构建咱们的富文本编辑器。咱们所须要做的就是找到咱们的编辑器,把咱们这个编辑器的根节点,挂上这个属性,而后开启编辑状态就好了。同时在一个元素变成可编辑的时候,浏览器还会帮咱们去解决好选区和光标挪动这样的一些根底性能。 那到了这里,咱们把两个问题都曾经答复分明之后,其实整个编辑器,对于咱们前端同学来说,就没有什么太大的技术壁垒了。剩下要做的就是循序渐进的地去实现编辑器的性能。这一部分就是咱们对这个富文本编辑器的工作原理的一个简略论述。 语雀文档编辑器下个环节咱们就开始进入到语雀的文档编辑器,去理解一下语雀的文档编辑器背地的这个架构是怎么设计的,是怎么去实现的? 语雀文档编辑器演进历程首先咱们先看一下语雀编辑器的倒退历程。语雀从诞生到当初曾经经验了继续了应该有六年左右,期间经验过四代的编辑器降级。 2016 年第一代编辑器,它是一个 markdown 编辑器,还不属于一个富本编辑器。咱们是基于 CodeMirror 二次开发的。这时候咱们次要服务的对象是咱们外部的工程师同学。 到了 2017 年,咱们进入了富文本编辑器的时代。第二代的编辑器咱们是基于 Slate.js 进行二次开发的。 ...

January 4, 2022 · 2 min · jiezi

关于编辑器:2022-用好这-8-个工具提升前端工程师软技能

在 2021 年,你是否发现 JavaScript 的触角除了传统前后端,甚至成了很多 Serverless 架构中默认反对的语言。我作为一名 Web 工程师,在开发中发现我做的事件缓缓曾经超过了前端自身,接触到越来越多非 JavaScript/HTML/CSS 畛域的各种常识,在学习和晋升中,我挖掘到越来越多的乐趣,也获益匪浅。 这外面我总结了我在成长中接触的三个方面八个工具,可能对前端工程师有所帮忙。 1. 善用工具1.1 Chrome DevTool - 前端工具必备 主页:https://developer.chrome.com/... 你可能永远不晓得 Chrome DevTool 有这么多好用的性能:实时调试 usb 开发者模式的安卓手机;应用 3D 模式展现前端层级关系;可视化编辑 CSS 动画曲线;用本地文件替换局部申请…… 倡议在油管上订阅 What's new in DevTool,每个 Chrome 新版本公布后,都会有一个新影片介绍减少的新性能,让你的前端开发速度与品质大大晋升。 1.2 Neovim/Vim - 沉迷式编码体验 主页:https://neovim.io/ 这是我最罕用的工具,我会用它写 TypeScript 或者 go。我集体十分主观地喜爱 Neovim 超过 Vim,因为它当初内置了 Language Server,能用 lua 写各种插件或者命令。尽管 Vim 有着很平缓的学习曲线,然而在上手后,你能够甩开鼠标,疾速专一于编码。 另外,通过 coc.nvim 主动补全插件,Vim 能够做到和 VSCode 一样的智能提醒,疾速跳转。对了,如果你是老手,倡议你和我一样,把键盘的上下左右键扣掉——这样能力沉迷式体验 Vim 键位。 1.3 Visual Studio Code - 最受欢迎的编辑器 主页:https://code.visualstudio.com/ ...

December 23, 2021 · 1 min · jiezi

关于编辑器:盘点前端开发工程师使用VScode编辑器好用的插件

1、Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code中文语言包 2、Auto Close Tag3、Auto Rename Tag4、Beautify5、HTML Snippets6、JavaScript (ES6) code snippets7、jQuery Code Snippets8、Live Server9、Path Intellisense10、px to rem & rpx (cssrem)11、Tabnine AI Autocomplete for Javascript, Python, Typescript, PHP, Go, Java, Ruby & more12、Vetur13、View In Browser14、Vue 3 Snippets15、vue-helper16、ESLint17、[Deprecated] Debugger for Chrome18、GitLens — Git supercharged19、HTML CSS Support

December 17, 2021 · 1 min · jiezi

关于编辑器:关于语雀知识库的二三事

知识库是语雀最外围的局部,随同着语雀从零到一,除了很多设计上的挑战外,更多的是咱们对于知识库的一直了解以及定义。现今知识库的迭代也在逐步欠缺和迭代中,作为语雀的产品同学,来和大家分享下对于知识库的三个阶段。 阶段一:依靠创作类型建设知识库语雀知识库的诞生,要从最开始外部孵化的两个产品说起,这两个产品在 15 年的时候同期开始孵化,一个是面向文档的工具产品,一个是面向设计稿的工具产品。起初通过一段时间的思考,既然两个产品都面向常识工作者,咱们决定将这两个产品进行合并,于是有了语雀的 2.0 版本,合并当前又该如何去承接两局部的应用场景和人群呢? 所以咱们最开始构建了以创作能力为外围的知识库体系,别离通过文档知识库、画板知识库,用文档,治理设计稿等能力去服务这两个特定的场景。 像书本一样出现的目录在做语雀之前,对咱们启发最大的是 Gitlab 这款产品,尽管这是一个代码治理产品,然而在外部咱们始终也把它用作文档积淀和交换的工具。印象最粗浅的中央在于大家喜爱在 Github 通过 Markdown 的语法写十分有结构化的文档。所以咱们在设计之初,咱们也心愿可能在语雀上采纳一种新型的展示形式,它会区别于传统的文档工具所代表的文件夹模式,同时也保留着结构化出现,于是有了以下的第一版设计。 (知识库首页晚期草稿) 在这个版本上,咱们将文档的治理和目录的治理区别开,文档的治理是对文档的增、删、查、改,而目录治理是对目录的编排以及文档的层级构造展示的操作。这样做有一个十分大的益处,就是当你想出现你的文档的时候,你能够从新进行编排,就如同你在编辑一本书一样,给你的读者带去你想给他们看的货色,同时也保留了不在目录中的文档拜访门路。 这样的设计带来了很大的应用老本,但也可能让读者更好地获取到信息。过来的几年咱们始终保留着这个设计,当然咱们也在致力升高因为应用差别带来的学习老本,好在越来越多的用户开始承受,并爱上目录的设计。 (知识库首页当下最新版本) 读写拆散第一次把语雀当成集体笔记的同学,必定每次会很纳闷,我写个文档,怎么还存在公布呢?这是因为语雀最开始的设计模型中,就将读写拆散引进去了,和传统的文档工具不一样,语雀的文档是存在两个状态,一个是纯正编辑的状态,当你点击编辑的时候,会进入编辑器,这个时候你能够十分专一地进行创作,没有其余事件的烦扰。 当你实现创作时,点击公布或更新,那么就会进入语雀文档的第二个状态——浏览状态。在浏览状态下,你能够更好地实现协同、互动,你也能够针对你出现的构造去编排不同的文档,让它可能组成一个结构化的思维出现。 (文档第一次抉择公布) 总的来说读写拆散的模式,可能让不同的场景更加专一,同时也因为读写拆散,让文档能够做的事件变得更多,比方后续咱们在文档浏览状态下引入了评审的能力。 取名小插曲在这个过程中有一个小插曲,咱们最开始的时候并没有间接采纳知识库的名称,因为比拟放心大家对于知识库的认知可能并没有那么相熟,所以那个时候用了“仓库”这个名称,意为能够寄存常识的中央。 谁知,在后续的客户访问过程中,让咱们十分吃惊的是,大家对于仓库的了解远远没有知识库来的简略间接,用了仓库之后,反而大家不了解咱们到底是做什么的。所以在某个迭代中,咱们正式取名为知识库,并且确定了语雀接下来的外围定位——云端知识库。 阶段二:知识库多元化通过一年多的打磨,知识库根底框架基本上曾经成型,然而随着用户和场景的扩充,咱们不得不面临新的问题与挑战。 为什么文档知识库只能放文档?除了文档知识库和画板知识库之外,咱们发现还有很多人对于表格有比拟多的应用场景,所以在这个状况下,咱们退出了表格知识库,在这个知识库中能够创作并治理语雀自研的在线表格,咱们心愿通过不同的知识库去服务不同的人群,比方工作者中大量应用表格的同学,能够更加专一地应用表格知识库。 随着用户不断深入应用,咱们最开始这样的设计也带来了一个十分重大的应用问题,为什么在文档知识库不能写表格?非要新建一个表格知识库能力实现这样的操作? 在一次次面对用户的发问后,咱们停下来从新思考,在第一阶段中咱们认为一个知识库代表着一类特定的创作人群这样的逻辑是否正确,对于在一个中央能够创作不同内容的命题在很多同学眼里看再失常不过了,然而作为设计者,咱们过后陷入了本人设计的产品陷阱中,包含在技术实现上,如果要去批改这样的逻辑,咱们须要面临比拟多的挑战。 回到用户体验上,咱们也不心愿让创作这件事件变得如此的繁琐,所以最初咱们还是决定重来。通过几个月的革新,咱们设计了第二代知识库模型,让文档知识库可能更加聚合在线创作能力,通过文档知识库提供了文档、表格、脑图等在线创作能力,从此彻底消除了一个知识库只能创作一种内容的难堪场面。 (新建入口能够抉择多种类型在线文档) 不止于目录随着创作能力的降级,仅用一个目录视图来承载语雀上的常识内容曾经齐全不够用了,呈现了越来越多的应用场景,这些场景中很多状况下也用不到简单的目录编排能力。于是咱们顺着一些知识库比拟罕用的场景,适应推出了不同的首页视图,让知识库的出现领有专栏,以及卡片的模式。 所以在语雀上你能够抉择结构化的目录出现,也能够抉择列表的专栏模式,当然也能够像传统文件夹一样抉择卡片模式去出现,让整个常识的组织可能满足更多的创作与浏览场景。但这仅仅是一个开始,目前的场景化能力只是一个出现的扭转,离咱们心中比拟完满的状态还有一段距离。 (知识库首页的设置模式) 除了文档还有什么?有了新的知识库架构当前,咱们在思考明天除了文档知识库之外,知识库还能够治理什么内容?缓缓的资源知识库就诞生了,这是咱们的一个小尝试,咱们心愿通过资源知识库去解决那些咱们无奈提供在线创作能力的办公文件,让大家能够以更便捷的形式去寄存和治理你的办公文件。 同时咱们还将资源知识库和文档知识库进行买通,让你在线创作的时候,能够更加不便地应用资源知识库的内容,同时也能够将你文档中的文件寄存到资源知识库中以便于后续应用。 (资源知识库的首页列表) (在文档编辑中插入资源) 有了资源知识库之后,咱们还退出了一个话题知识库,通过话题知识库,为大家提供在线探讨的能力,大家能够在话题知识库上写周报、日报,也能够对一些产品展开讨论交换。咱们本人最罕用的做法是,明天遇到一个产品想法,顺手就在话题知识库新建一个话题,而后邀请语雀团队所有的同学参加进来,让大家可能更加有序,并且高质量地开展一些思维上的碰撞。 (语雀团队产品思考话题知识库) 加上两个新型的知识库,新的架构下有三个特定的知识库:文档知识库、资源知识库、话题知识库,别离代表着在线创作能力、资源管理、在线探讨,满足用户在线创作能力、在线治理办公文件,同时也能够通过话题知识库进行在线交换与探讨。当然咱们也会在不久的未来摸索出更多对于知识库的个性,让大家的常识财产可能更好地被组织和积淀。 (知识库新建界面) 阶段三:知识库场景能力当知识库多元化之后,在语雀上,也涌现了越来越多的场景应用,如团队博客、集体笔记、产品文档等。咱们晓得一个优良的知识库是离不开场景能力的撑持,就这样,场景化的种子悄悄在咱们的心中收获下来。 有了前几年的根底积攒,咱们感觉在将来应该可能让知识库能力变得更加丰盛,同时又不会失落它弱小的扩展性,所以语雀逐步开始进入了第三阶段,依靠于场景倒退的知识库体系,同时通过增强对常识的组织与常识的出现的能力建设来铺设将来场景化之路。 (知识库首页格调设置) 强化首页能力在阶段二的时候,咱们引入专栏和卡片视图来实现更多场景的反对,然而每个人对于常识的组织定义是不一样的,所以还存在很多状况是不满足的。 在这个根底之上,咱们退出了自定义首页的性能,如果感觉当下语雀提供的几种知识库首页不满足,那么你能够通过开启自定义首页,来本人编排你须要出现的内容,整个编辑过程就如同在写一篇文档一样。 (知识库自定义首页) 除此之外,为了知识库的首页看上去更加难看,浏览起来更加难受,咱们还优化了首页的视觉出现,无论是文本间距与排版,还是头部背景图区域。可能有很多同学都没有留神到这里的一些改变,因为这次的改变是在保障整体布局不变的状况下,尽可能去优化整体视觉格调,让浏览更加天然与难受。 (知识库专栏首页格调) 除了提供专栏视图来满足博客分享类知识库之外,咱们也降级了卡片视图,让你的首页能够依照卡片的模式来展示,比拟适宜期刊文章场景。 (知识库卡片首页格调) 一直进化的组织能力除了在视图上优化,咱们也在常识组织的能力上一直演进,从最开始的 Markdown 目录编辑器,到后续的可视化操作,咱们心愿在知识库上让大家可能更加轻松地去调整目录构造,输入更加结构化的文档。 然而之前始终存在比拟显著的两个问题(其余首页格调不能编辑、未公布到目录的文档),所以这次咱们也借着知识库的降级进行优化。 所有首页格调均可编排最老的知识库设计是仅反对目录格调能够编排的,应用专栏格调的同学只能依照公布的工夫来出现,也不能进行拖动,所以导致在专栏和卡片格调上存在肯定的应用局限性。这次降级完当前,所有的格调都能够对文档的程序、构造进行调整,只须要在首页和浏览页面,针对文档进行拖动即可。 (知识库浏览页面侧边栏拖动) 同时在文档出现的任何中央,无论是首页、文档目录编辑器,还是浏览页文档列表,皆可排版操作。 (知识库首页拖动) 除了对文档构造进行编排,你也能够间接在这里新建和治理文档,让所有的操作变得更加天然,所见即所得。 (知识库文档转移) 未公布进入草稿箱除了编排能力,之前文档知识库还有一个十分弱小的性能,那就是容许文档是不公布到目录中。当你写好了一个文档,这个文档能够失常的公布,通过链接能够被其他人浏览到,然而它不会呈现在你的首页和浏览列表中。比方帮忙文档的场景,咱们写了一个 V1 版本的文档,然而因为产品更新了,咱们不心愿 V1 还出现在最新列表上,然而 V1 的文档还能够被看到。 ...

December 8, 2021 · 1 min · jiezi

关于编辑器:个人记录一些常用的代码规范

对于命名长度,在可能表白含意的额状况下,命名当然是越短越好。在大多数的状况下,短的命名不如长的命名更能表白含意,很多书籍是不举荐应用缩写的。只管长的命名能够蕴含更多的信息,更能精确直观地表白用意,然而,如果函数、变量的命名很长,那由它们组成的语句就会很长。在代码列长度有限度的状况下,就会经常出现一条语句被宰割成两行的状况,这其实会影响代码可读性。所以有时候咱们是能够适量的应用缩写的短命名在什么场景下适合应用短命名1、对于一些默认,大家都熟知的倒是能够应用缩写的命名,比方,sec 示意 second、str 示意 string、num 示意 number、doc 示意 document 等等2、对于作用域比拟小的变量,咱们能够应用绝对短的命名,比方一些函数内的长期变量,绝对应的对于作用于比拟大的,更举荐应用长命名2、利用上下文简化命名来看个栗子type User struct { UserName stringUserAge stringUserAvatarUrl string}复制代码比方这个struct,咱们曾经晓得这是一个 User 信息的 struct。外面用户的 name ,age,就没有必要加上user的前缀了修稿后的type User struct { Name stringAge stringAvatarUrl string}复制代码当然这个在数据库的设计中也是同样有用3、命名要可读、可搜寻“可读”,指的是不要用一些特地生僻、难发音的英文单词来命名。咱们在IDE中编写代码的时候,常常会用“关键词联想”的办法来主动补全和搜寻。比方,键入某个对象“.get”,心愿IDE返回这个对象的所有get结尾的办法。再比方,通过在IDE搜寻框中输出“Array”,搜寻JDK中数组相干的函数和办法。所以,咱们在命名的时候,最好能合乎整个我的项目的命名习惯。大家都用“selectXXX”示意查问,你就不要用“queryXXX”;大家都用“insertXXX”示意插入一条数据,你就要不必“addXXX”,对立规约是很重要的,能缩小很多不必要的麻烦。4、如何命名接口对于接口的命名,个别有两种比拟常见的形式。一种是加前缀“I”,示意一个Interface。比方IUserService,对应的实现命名为UserService。另一种是不加前缀,比方UserService,对应的实现加后缀“Impl”,比方UserServiceImpl。正文咱们承受一个我的项目的时候,常常会吐槽老我的项目正文不好,文档不全,那么如果正文都让咱们去写,怎么的正文才是好的正文有时候咱们会在书籍或一些博客中看到,如果好的命名是不须要正文的,也就是代码即正文,如果须要正文了,就是代码的命名不好了,须要在命名中下功夫。这种是有点极其了,命名再好,毕竟有长度限度,不可能足够详尽,而这个时候,正文就是一个很好的补充。1、正文到底该写什么咱们写数正文的目标是让代码更易懂,正文个别包含三个方面,做什么、为什么、怎么做。这是 golang 中 sync.map中的正文,也是别离从做什么、为什么、怎么做 来进行正文// Map is like a Go map[interface{}]interface{} but is safe for concurrent use// by multiple goroutines without additional locking or coordination.// Loads, stores, and deletes run in amortized constant time.//// The Map type is specialized. Most code should use a plain Go map instead,// with separate locking or coordination, for better type safety and to make it// easier to maintain other invariants along with the map content.//// The Map type is optimized for two common use cases: (1) when the entry for a given// key is only ever written once but read many times, as in caches that only grow,// or (2) when multiple goroutines read, write, and overwrite entries for disjoint// sets of keys. In these two cases, use of a Map may significantly reduce lock// contention compared to a Go map paired with a separate Mutex or RWMutex.//// The zero Map is empty and ready for use. A Map must not be copied after first use.type Map struct { ...

November 24, 2021 · 3 min · jiezi

关于编辑器:Design-an-Analog-Filter

Design an Analog Filterr>IntroductionFilter circuits play an important role in many electronics designs. They are primarily used to passdesired signals while blocking unwanted signals. Filters can be divided into two main categories,analog and digital filters, and each category can be further divided into many sub-groups, such aspassive filters, active filters, FIR filters or IIR filters. Each sub-group of filters has their ownadvantages and disadvantages. Learning the difference between each filter will allow a filter designengineer to choose the best type of filter for a given application.As for the specifications of a filter, bandwidth or 3dB cut-off frequency is obviously the most crucialone. In real-world situations, the boundaries of filters are less clearly defined, so that more detailedspecifications are required apart from 3dB cut-off frequency, such as ripples in pass/stop bands,transition band/slope, etc. as shown in Figure 1 (a). For example, to implement a filter with verysteep cut-off, filters of higher orders must be required, as shown in Figure 1 (b), and consequentlythe circuits become more complex. ...

November 2, 2021 · 9 min · jiezi

关于编辑器:ArrayList是List接口的实现类

ArrayList汇合特点及源码剖析ArrayList是List接口的实现类 public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable继承了AbstractList类,实现了Cloneable克隆接口、Serializable序列化接口、RandomAccess随机拜访接口、List接口 特点:底层应用数组实现的 查问效率高,增删慢,线程不平安、容许为空、可反复 public static void main(String[] args) { List<String> list=new ArrayList<String>();boolean bool=list.add("ylc");//Collection接口增加元素list.add(1,"ww");//依据索引增加元素String el=list.get(1);//依据索引获取元素list.size();//获取元素个数list.remove(2);//依据元素地位删除list.remove("ylc");//删除指定元素list.set(1,"yy");//替换元素list.clear();//清空集合list.isEmpty();//判断元素是否为空list.contains("ylc");//判断汇合是否蕴含某个元素list.indexOf("ylc");//查找所诉中所在的地位list.lastIndexOf("ylc");//元素最初呈现的索引地位Object[] objects=list.toArray();//把汇合转化为object数组for (int i = 0; i < objects.length; i++) { String str=(String) objects[i]; System.out.println(str);}String[] strings=list.toArray(new String[list.size()]);//把汇合转化为指定类型数组List<String> list2=new ArrayList<String>();list2.add("s");list.addAll(list2);//汇合合并操作list.retainAll(list2);//汇合交加操作 list存储交加内容list.removeAll(list2);//删除list中含有list2汇合的元素}ArrayList源码剖析#成员变量#private static final int DEFAULT_CAPACITY = 10;//数组默认长度private static final Object[] EMPTY_ELEMENTDATA = {};//给定一个空数组transient Object[] elementData;//存储ArrayList元素的长期数组 不会被存到磁盘private int size;//记录数组中元素的个数protected transient int modCount = 0; // 汇合数组批改次数的标识(fail-fast机制)transient关键字对于不想进⾏序列化的字段,使⽤ transient 关键字润饰 ...

November 1, 2021 · 2 min · jiezi

关于编辑器:COS控制台进阶-文件预览和在线编辑

COS控制台新上线了文件预览性能,用户可在控制台内间接预览、编辑文件内容。前不久,微软公布了 vscode for web 的布告,是基于web的在线代码编辑器,无需下载安装能够间接在web浏览器中运行,同时反对断点调试、版本治理、团队开发等性能。寰球最大的代码托管网站 github.com,也在网页端反对了在线编辑模式。人们对在线开发的激情被再次点燃。 同样是治理云上文件的腾讯云 COS,也在控制台推出了更便捷的在线管理文件的性能! 一、COS 控制台更新 - 文件预览和在线编辑文件预览:提供了在线查看文件内容的性能,如在线播放音视频、查看 ppt/pdf 等文档。 文件编辑:不便开发者随时随地编辑 COS 存储桶文件,如在线批改动态网站代码、Markdown 文档。 二、如何应用(一)文件在线编辑在线编辑依赖 COSBrowser Web 版来实现。COSBrowser 客户端版大家曾经十分相熟了,WebIDE 的遍及越来越广,COSBrowser 也推出了 Web 在线版,不便开发者随时随地治理 COS 存储桶文件,来反对在浏览器内编辑文件内容的能力。 在腾讯云 COS 控制台,抉择存储桶进入文件列表页,点击右上角“在线编辑器”链接,即可跳转到 COSBrowser Web版编辑以后文件夹的文件。如果想对当前目录下的文件夹或文件编辑,能够在“更多”找到编辑按钮。 在线编辑COS存储桶文件 为了贴合开发者习惯,在COSBrowser web版里文件列表以目录树的模式在右边展现,左边为编辑区,用户可像在vscode里批改代码一样,在编辑区批改内容,编辑完之后,Ctrl+s键保留。再也不必依照以前那一套低效的下载--> 编辑 -- > 上传来实现文件的批改。 快捷方式一:按键盘快捷键进入编辑 如果你感觉这样的形式太过于平庸,不适宜Geek的你,咱们还筹备了更炫酷的性能给你,当你浏览COS控制台文件列表时,只须要点击键盘上的 . 键,即可进入在线编辑器,如下图: 快捷方式二:批改url地址进入编辑 你也能够通过批改文件列表的url来达到这个目标,将 url 中的 /bucket 改为 /dev,如 https://console.cloud.tencent... ,同样能够进入编辑以后文件夹。 (二)文件预览首先抉择存储桶进入文件列表页,点击操作栏的预览按钮; 目前反对 图片、视频、音频、文档、代码文本 等简直所有的文件类型。 预览图片 视频播放 PPT文档预览 Excel文档预览 有了文件预览,咱们再也不须要下载到本地关上了,间接在页面一键预览,省时省力。 三、如何在本人的网站实现(一)文档预览除了浏览器本身显示的文件,COS 针对 docx、xlsx、pptx 等简单文档文件,推出了文档预览性能,开发者只有在控制台开启文档预览性能,在对象的拜访URL上加上预览参数?ci-process=doc-preview&dstType=html 即可应用,如 : ...

September 23, 2021 · 1 min · jiezi

关于编辑器:Web程序员开发常用的编辑器有家公司就占3个

大家好,我是极客猿小兵,明天给大家举荐Web程序员罕用的开发编辑器,也是我集体都尝试过的一些编辑器,有支流的前端编辑器,也有Java、PHP、Python相干的编辑器,我将从一个使用者的角度来聊聊这些编辑器。 以下仅代表我的集体意见,如果你也有本人想举荐的,欢送一起交换。 Sublime Text 简介Sublime Text是一款跨平台代码编辑器(Code Editor),从最后的Sublime Text 1.0,到当初的Sublime Text 4.0,Sublime Text从一个不出名的编辑器演变到当初简直是各平台首选的GUI编辑器。 下载https://www.sublimetext.com/ 应用体验Sublime Text这款编辑器算是我用的最早的了,在这之前也用过DW,不过用DW那会不罕用代码,次要是用它进行网页布局,可视化操作还是不错滴,预计当初也没有人在工作中应用DW了吧。 Sublime Text的暗黑主题是我集体最喜爱的,在全屏状态下编码,特地的享受。 晚期我用它写动态页面,也写过Python,值得举荐。 VSCode 简介Visual Studio Code(简称VS Code)是一款由微软开发且跨平台的收费源代码编辑器。 该软件反对语法高亮、代码主动补全(又称IntelliSense)、代码重构、查看定义性能,并且内置了命令行工具和Git 版本控制系统。 下载https://code.visualstudio.com/ 应用体验弱小的插件体系:想找个性能有很多解决方案的插件。内置同步性能:可通过微软账号主动同步所有主题、设置、插件等信息。编辑器快捷器映射:不便我这种从sublime迁徙的用户。开箱即用的 Git版本治理“可通过界面可视化操作轻松进行 commit、branch、checkout、fetch、pull、push、merge、diff、rebase、cherrypick、reset、stash 等各项版本治理操作;好多难看的主题。前端开发强烈推荐,当然为了省事,我也用它关上Python,PHP,Java我的项目来开发,大多数状况下还是十分好用的。 WebStorm 简介WebStorm 是JetBrains公司旗下一款JavaScript 开发工具。曾经被宽广中国JS开发者誉为“Web前端开发神器”、“最弱小的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA弱小的JS局部的性能。 下载https://www.jetbrains.com/web... 应用体验重构性能很弱小,重构我的项目不必放心会出BUG。全局类名提醒,写款式很省心版本控制很好用,性能很多,尤其是代码差别比照。调试性能十分弱小。Notepad++ 简介Notepad++是Windows操作系统下的一套文本编辑器(软件版权许可证: GPL),有残缺的中文化接口及反对多国语言编写的性能(UTF8技术)。 Notepad++性能比Windows 中的Notepad(记事本)弱小,除了能够用来制作个别的纯文字阐明文件,也非常适宜编写计算机程序代码。 下载https://notepad-plus-plus.org/ 应用体验个别用来代替记事本的工作,关上一些文本文件和记事本一样,它的启动速度很快Android stidio 简介Android Studio 是Google 官网推出的并始终长期更新保护的IDE,运行速度快,UI更丑陋,集成了智能代码编辑器和弱小的UI 编辑器,整合了Gradle 构建工具,整合了模拟器,提供了一系列性能剖析工具,更欠缺的插件零碎等。 下载https://developer.android.com... 应用体验写 Flutter APP利用我就用它,比起VSCode,它更让我省心。写 Java 我的项目写能够用它,毕竟都是Google家产品。PhpStrom 简介PhpStorm 是JetBrains 公司开发的一款商业的PHP 集成开发工具,旨在进步用户效率,可深刻理解用户的编码,提供智能代码补全,疾速导航以及即时谬误查看。 下载https://www.jetbrains.com/php... 应用体验写php时用它相对没错,我几个做php的共事都用它写其余的就不举荐用它了PyCharm 简介PyCharm是一个用于计算机编程的集成开发环境(IDE),次要用于Python语言开发,由捷克公司JetBrains开发,提供代码剖析、图形化调试器,集成测试器、集成版本控制系统,并反对应用Django进行网页开发。 下载https://www.jetbrains.com/pyc... 应用体验写Python就用它,集体用的不是很多,个别vscode就能够代替了。HBuilder X 简介HBuilder是DCloud(数字地狱)推出的一款反对HTML5的Web开发IDE。 HBuilder的编写用到了Java、C、Web和Ruby。 HBuilder自身主体是由Java编写。 它基于Eclipse,所以顺其自然地兼容了Eclipse的插件。 ...

September 10, 2021 · 1 min · jiezi

关于编辑器:科创人永洪科技CEO何春涛数字化人才缺口巨大希望人人都是数据分析师

守业,为实现BI国产化 1995年,何春涛以遥遥高于录取分数线的问题考入四川大学数学业余,抉择业余的理由非常凡尔赛:其余业余都没什么意思,数学还有些挑战。 4年之后,在数学畛域颇有造诣的何春涛却放弃了深造的机会,在他看来本人无奈在这一畛域成为顶级学者,一条无奈成为引领者的人生道路,对何春涛毫无吸引力。 20世纪90年代末至21世纪初,寰球范畴内诞生了数十家BI厂商,商业智能1.0时代宣告到来,在数据智能驱动商业增长的美妙愿景感召下,中国第一代商业智能从业者退出BI浪潮,他们中有人在BI泡沫破裂后抉择转型,而保持下来的人,日后大都成为了中国数据智能行业的骨干脊梁——何春涛属于后者。 在创立永洪BI以前,何春涛在出名跨国商业智能公司供职10余年,长期负责研发副总裁这一要职。他领导下的研发团队间断10年推出了超过竞争对手的软件产品,超过一半的世界500强企业都是这些软件产品的忠诚客户,其中包含麦考瑞银行、AT&T、中美人寿、IBM、通用电气等知名企业和世界卫生组织、美国国防部等出名机构。 然而,随着年龄的增长、眼界的宽阔,辉煌的事业成就已不能满足何春涛的精力谋求。2012年,国内BI市场份额大抵是:Cognos 24%、BO 24%、BIEE 16%,如果再算上MSTR、Microsoft等等,能够说被国内厂商长期垄断,而国内市场更不可能有外乡厂商的立足之地。这样的场面,让身为BI研发人员的何春涛感到心痛,“本人年纪也不小,思考了一段时间,就决定进去折腾一把,心愿能扭转一下格局”。 国产化,减速BI行业倒退 2012年,抱定为国产BI奋斗之志的何春涛,与几名同为研发出身的好友凑了近300万启动资金,闷头搞起了产品研发。当年何春涛的认知里,奢侈地认为To B是一件慢功夫的事,50块红包买一个注册用户的套路在B端市场注定行不通,因而开创团队都打定了急躁发育、长期倒退的主见,以至于团队中没有一位商务人才,晚期的商务事宜要由何春涛亲力亲为。 然而,时代总会处分服务于时代的先知者,永洪科技的倒退速度,超出了何春涛们的意料。 科创人:2012年, 您对BI行业的将来有着怎么的预期?有没有想过9年之后的永洪科技能倒退到现在这样的规模?何春涛:说实话,真没有(笑)。2012年,BI的寰球市场规模十分大,但国内市场很小,现在大家都认可To B畛域国内市场对标欧美市场的存在时间差,在当年BI畛域就存在这样的景象,咱们认为那是一个守业的好时机。至于将来预期,咱们只是置信中国企业的数字化水平会越来越高,BI的施展空间会越来越大,但谁也没想到国内数字化浪潮来得如此剧烈,数据智能行业迅速成熟、To B板块倒退如此之快,永洪很侥幸搭上了一班超高速列车。 科创人:在您看来,哪些因素为BI行业的超速倒退提供了额定能源?何春涛:次要有两点,法律法规的疾速健全、成熟,under table的事件少了,合乎规定流程、数据残缺衰弱精确的事件多了,BI行业的生存环境改善之快出乎咱们的预期。更重要的一点是国产化代替,这是永洪科技的守业初心,咱们也始终放弃着对寰球格局演变的察看。当一个国家的迷信成绩数量占世界迷信成绩总量的25%,就能够被称之为世界迷信核心,这是日本学者汤浅光朝提出的观点,世界迷信核心转移也因而被称为“汤浅景象”。2000年前后,美国的世界迷信核心位置受到了新兴势力的挑战,普遍认为,新角色将由中国表演,这是近年来“美国对我国的禁令每每降级”的大背景。永洪比拟精确地预测了“国产化代替从民间走入官网”这一趋势,提前布局国产代替产品和代替计划,抢占了先机。实际上,永洪代替产品诞生的时候,中美科技摩擦中受波及企业还没有意识到危机将会降临,当摩擦产生并一直降级时,永洪就成了他们优先的抉择。 乏味的是,咱们不光为中国企业提供国产化代替服务,还帮忙很多合资企业做了相似的事件,比方一些汽车行业的头部合资企业。 融资务必谨慎 精准的策略判断与机会抉择加持之下,永洪没有遇到大部分守业企业都遭逢过的资金问题。 2013年,晚期客户艾瑞征询在应用永洪的服务后,出行业报告的工夫从20多天缩减到2、3天。“他说诶,你们做得还真不错,要不咱们投一笔钱过去”, 就这样,Pre-A融资达成。 2014年12月,美国经纬领投永洪科技5000万A轮;2015年12月,西方富海领投B轮1亿元融资;2016年7月23日,永洪科技发表取得由腾讯领投的2亿元融资…… 然而,接下来的5年工夫,永洪却没有再进行新的融资。 科创人:永洪为何在融资畛域采纳了绝对激进的策略?何春涛:2014年公司曾经实现盈利,融资很多时候是被动的抉择,但现在看其实存在一些股权浓缩适度的问题,融得太猛。想对同样走在守业路上的敌人们说,晚期融资要感性、克服,不要像咱们一样,要想得深、想得远。 Tips·何春涛的融资倡议 后期(初创型企业):资金应保障企业至多活一年半,次要从一级市场融资。资金能够用于营销、服务、研发任何模块。 中期(成长型企业):资金应保障企业至多活两年半,次要从一级市场融资。资金能够短期用于营销和服务,不倡议长期补贴营销和服务。只有投入产出正当,资金能够长期用于研发。这个阶段应将营销费用占比、服务毛利润率晋升到行业上市公司的平均水平之上。 前期(成熟型企业):资金保障企业存活齐全没问题,可抉择债权融资或二级市场融资。资金不会用于既有业务的营销、服务和研发,次要用于开发新业务和有机并购。 **放弃策略弹性人无我有,人有我强** 科创人:永洪创建之初,将本身的外围劣势定位在哪一个价值点上?在倒退过程中是否有过策略降级、外围劣势迁徙?何春涛:永洪的外围劣势始终都是技术当先,BI——新一代的BI就是业务数字化转型,让每个人都应用数据来进行工作,数据量、计算量越来越宏大,对BI服务商的技术实力要求越来越高,永洪在这方面放弃得不错,咱们有北京、成都、大连三个研发核心,每年投入大量研发费用。不同阶段遇到的技术挑战不尽相同,近些年来挑战在于,用户可能须要在一些小设施上剖析大量数据,怎么能在1、2秒内实现海量数据计算、出现后果,是很难的事,永洪在高性能计算、库内计算方面都获得了技术冲破。 科创人:有一种说法,数据智能行业的瓶颈次要是数据采集能力,而非算力,您是否认可这个说法?何春涛:这个说法有肯定情理,不过永洪会保持将数据分析能力作为本人的差异化劣势,兴许会在某个阶段前后延长一下,但短期内不会自觉扩充战场。 永洪的产品线路并非变化无穷,在早些年,为了给头部企业提供残缺的解决方案、实现客户胜利,咱们必须要做一些保障落地的关联性工作,在那个阶段企业高低压力微小、有些我的项目还呈现了亏损,甚至这些学费并没有买来等价的Know-how积攒。过后有些事咱们不得不做,一旦能够不做,还是应该放弃。策略能够有弹性,产品能够阶段性臃肿,但自我认知必须要苏醒。 随着数据行业的生态不断完善、成熟,现在咱们只有开展生态单干,专一于本身所长、施展各家之长,就能为客户提供更优质的服务。 **推出收费工具心愿人人都是数据分析师** 科创人:数字化人才是否制约了行业倒退?作为大数据行业的独角兽,永洪在数字化人才培养方面是否有系统性布局?何春涛:数字化人才始终是永洪十分关注的话题,我始终抱有一个观点,数据分析能力将和打字能力、Office能力一样,成为数字化时代的一种根底能力。要达到这个指标,须要基础教育的变革,也须要根底工具的遍及。我始终都在构想,有一款能装在笔记本外面、人人都能应用、性能又十分弱小的数据分析工具,于是往年4月永洪推出了Yonghong Desktop桌面智能数据分析工具,提供可视化剖析性能,数据挖掘(AI)、机器学习、预测、相干剖析等能力,并且承诺全副性能全副收费。 “人人都是数据分析师”的时代兴许还很边远,毕竟Office从推出到成为人们的根底能力也经验了太多年,咱们心愿力不从心地缩短那一天到来的等待时间。 科创人:永洪是否会涉猎数字化人才培训?何春涛:咱们为客户提供成熟残缺的人才培训服务,但是否凋谢这一服务作为一条独自的业务分支,临时还没有这个打算。我感觉人才培养与其说是生意,更像是一种责任,如果永洪确信本人有能力做好这件事,那么义不容辞。截至目前为止,我认为这方面还须要积攒,须要继续优化。 科创人:您已经说过,“心愿永洪将来开辟出约1万家大中型企业客户”,现在这个指标实现了多少?何春涛:坦白说,这个指标现在曾经压缩到了3000家(笑)。在倒退过程中咱们发现,客户对于数字化转型的需要十分宏大,而永洪的能力只能满足其中一部分,在对方宏大的残缺布局中,何时单干、如何单干都须要沉着粗疏的长期布局。此外,还波及到后面提到的话题,数字化人才缺口微小,一线城市咱们搭建的服务队伍根本能保障服务质量,但在二三线城市服务质量不稳固,这也是接下来咱们要一直晋升的中央。大体上说,永洪须要求实、沉着地扫视本身倒退节奏,谋求倒退速度的前提是保障倒退品质。 科创人:永洪在将来几年的战略重点在哪些畛域?何春涛:一是晋升生态协同能力,与合作伙伴更好的配合,提高效率和服务质量。二是外部赋能,如何将曾经具备的能力让更多永洪袍泽把握,服务更多的客户。

August 31, 2021 · 1 min · jiezi

关于编辑器:阿里云架构设计

产品经理、零碎架构设计师们经常须要制作零碎性能图及零碎架构图来对业务逻辑进行梳理,这个时候选用一款称手的绘制工具就显得尤为重要了,明天咱们就来介绍一下目前市面上有哪些好用的在线绘制软件。Freedgo Design 同时兼具跨渠道,云端存储,分享性能的业余制图软件。操作简略,功能强大,十分简略实现可视化、剖析和沟通芜杂信息。同时海量精美的模板与图例帮忙你轻松制作流程图,零碎架构图,网络拓扑图等。在线制图Freedgo Design 架构图 Freedgo Design 一款基于纯矢量的全类型图形图表设计软件,能够媲美Visio的软件。用Freedgo Design能够很不便的创立流程图、思维导图、 、网络拓扑图、组织结构图、电路图、商业图表、 UML、软件设计图、线框图、建筑设计等等。它能够帮忙你更不便、更快捷的论述设计思维,创作灵感。 采纳全拖曳式操作,联合30000多个罕用图形模板库和纯矢量符号素材,最大水平简化用户的工作量;让你在设计时既能够充分利用固有的素材,又能够借鉴别人的作品! 应用办法: 首先拜访 https://www.freedgo.com,用户在网站上注册本人的账号,能够通过第三方注册如: QQ , 微信,微博, 也能够通过手机号码进行注册。在线制图Freedgo Design 架构图 之后,在首页在线工具栏抉择您所须要的在线绘图工具,有云架构设计器,ER模型设计工具,平面图设计工具,业务软件设计,UI设计工具得等,点击对应的工具,就能够应用了。 上面以云架构设计工具为例介绍具体的应用办法。 第一步,进入https://www.freedgo.com/cloud..., 从左侧抉择”更多图形”, 在关上 对话框: 在线制图Freedgo Design 架构图 能够看到Freedgo Design 弱小的架构图示和网络拓扑图图示,Freedgo Design领有支流的云服务商设计器如: 阿里云,腾讯云,华为云,Google,IBM,Oracle,Aws等等全套设计方案,同时反对k8s计划的设计. 全副矢量绘图,缩放自若, 最大限度地缩小用户输入量。 第二步: 创立空白架构图。在线制图Freedgo Design 架构图 第三步: 将解决方案所需的服务和产品从图标库拖放到图表上。 在线制图Freedgo Design 架构图 第四步: 一旦图表实现,您就能够保留或者另存为 到咱们的云存储库供未来拜访。您还能够将您的作品导出为图像(JPG、PNG、PDF、SVG等),并与您的共事共享。 通过以上操作,就能够做出一副精美的图形了。当然,上述也仅仅是一些根本步骤,通过屡次应用,用户会理解更多弱小性能。 Freedgo Design能够帮忙您将文本和图表中的简单信息几分钟取得一个业余的设计工具 能够一键导出成 图片,PDF 和其余多种图形格局。您能够几秒将visio文件导入, 您的作品能够和更多的人分享,取得更单干。 您只需输入您的数据,剩下就交给工具就行了, Freedgo Design能够主动为您排列所有形态,为取得业余设计利用业余设计主题等。让任何档次的用户都能用更短的工夫创立更好的设计为您节俭更多资金,收费为您进行反对和降级产品经理、零碎架构设计师们经常须要制作零碎性能图及零碎架构图来对业务逻辑进行梳理,这个时候选用一款称手的绘制工具就显得尤为重要了,明天咱们就来介绍一下目前市面上有哪些好用的在线绘制软件。Freedgo Design 同时兼具跨渠道,云端存储,分享性能的业余制图软件。操作简略,功能强大,十分简略实现可视化、剖析和沟通芜杂信息。同时海量精美的模板与图例帮忙你轻松制作流程图,零碎架构图,网络拓扑图等。 在线制图Freedgo Design 架构图 Freedgo Design 一款基于纯矢量的全类型图形图表设计软件,能够媲美Visio的软件。用Freedgo Design能够很不便的创立流程图、思维导图、 、网络拓扑图、组织结构图、电路图、商业图表、 UML、软件设计图、线框图、建筑设计等等。它能够帮忙你更不便、更快捷的论述设计思维,创作灵感。 ...

August 10, 2021 · 1 min · jiezi

关于编辑器:转载程序员加入新团队必问的-20-道问题

转载:程序员退出新团队必问的 20 道问题 技术层面1. 如何在本地构建软件?这是你应该理解的第一件事。毕竟,你的工作是开发和运行软件,构建是第一步! 2. 如何在本地测试软件?尽管咱们能够通过 CI 流水线发现测试谬误,然而为了缩短外部开发循环周期,你必须可能在开发的机器上运行测试,确保你可能正确地运行测试,同时还须要执行回归测试。CI 流水线不应该成为测验代码谬误的第一道关卡。 3. 如何设置开发环境?兴许团队文档中有明确的要求,但你应该理解须要在开发机器上装置哪些不同的工具,能力让你成为一名高效的团队成员。一次性解决95%的要求,总好过在开发的过程中一直遇到谬误和依赖项。 4. 源代码在哪里?除了还没有编写任何代码的新产品以外,通常我的项目都有代码库。你须要晓得代码保留在何处,以及如何在本地机器上获取代码。 5. CI/CD 流水线在哪里,工作形式是什么?对于一个可确保交付高质量产品的团队来说,CI/CD 流水线是最罕用的工具之一。你须要找出CI/CD流水线在哪里,并大抵理解它的工作形式(可能只须要到处点一点试试看)。查看一下最近的运行状况,理解都有哪些步骤。 6. 产品的待开发项在哪里?你不仅须要晓得软件以后的情况,而且还须要理解软件将来的样子。疾速浏览待开发项,看看产品须要优先推出的性能。 7. 如何在预生产以及生产环境中运行测试?有集成环境吗?团队是否采纳了金丝雀构建与部署?团队是否采纳了凌乱测试?理解团队如何确保生产软件合乎并放弃特定的规范。 8. 是否须要随时待命?这个软件是否须要随时待命?如果需要的话,轮班机制是什么?失常办公时间以外是否也须要随时待命?在待命期间,如何获取告诉?通常如果不是遇到新组建的队伍,并被间接安顿上值班工作的话,在相熟这方面的流程之前,你不会接到紧急电话。 9. 外部文档在哪里?团队保护的外部文档在哪里?这些文档都是如何划分的?是最新的吗? 单干10. 团队中都有谁?负责哪方面的工作?通常软件团队都有几位工程师。有的时候,每个工程师负责的工作都不一样,但这种状况并不常见。个别都由一个或几个工程师共同完成一个子项目。因而,你须要理解团队中每位程序员负责的工作。通常,你能够通过晚上的例会理解他们的工作内容。 11. 团队每周都有哪些例行会议?每天早上都有例会吗?还是每周一次例行会议?你应该理解一下团队每周的例行会议。 12. 遇到“老手”问题,我应该找谁?通常在刚退出一个团队的时候,都会给你调配一个“领导搭档”,这个人曾经在团队待了一段时间,理解团队的运作情况。这是一件十分重要的事件,尤其是你对新软件无所不知(或简直无所不知)的时候,你的问题能够十分低级。即便你是高级工程师,在遇到“老手”问题时,也不要感觉不好意思。 13. 新性能的决定权在谁手里?产品有产品经理吗?工程团队有架构师吗?咱们应该理解性能申请的上游想法。如果可能跟这个人(产品经理)约个工夫,理解一下产品近期与长期的倒退打算就更好了。 14. 团队的次要沟通形式是什么?他们应用 Slack ?还是Teams?或者通过电子邮件沟通?工程师通常会破费大量工夫探讨问题和进行其余类型的探讨。当然,作为团队的新成员,你也心愿退出这些沟通渠道。 内部因素15. 如何取得客户的反馈?咱们的软件是 GitHub 上的开源软件吗?咱们获取反馈的形式通过GitHub的议题吗?还是说由销售团队为产品团队获取客户的反馈?是否还有反对团队能够收集客户常常遇到的问题?换句话说,咱们必须理解获取客户反馈的形式:无论是通过其余平台、集体还是团队。毕竟,咱们是在为客户编写软件。 16. 客户的反对协定有哪些?是否有咱们必须恪守的 SLA?咱们必须反对哪些协定? 17. 公开/客户文档在哪里?这一点很重要。现在无论软件自身有如许好,咱们都须要确保客户文档的准确性与及时性。这些文档在哪里?如何放弃文件及时更新?是谁的责任?(心愿答案是“每个人”)。 产品18. 软件有哪些高层面的痛点?咱们必须晓得软件和团队是否面临一些重大问题。是否有一些因架构引发的问题?是否存在安全漏洞?是否有一些常见的客户问题重复呈现并须要解决? 19. 利益相关者关注的焦点是什么?是否存在某个核心人物或其余团队心愿看到的性能?这些利益相关者往往会对软件的短期和长期路线图产生重大影响。理解他们关注的焦点就能够让你看清接下来的倒退方向。 20. 软件的公布周期是什么?咱们必须理解软件的公布频率以及工夫。团队是否施行间断部署,每天都部署屡次?还是说一年只有两次公布?理解软件的公布日程能够让你更好地把握软件的开发节奏。

July 28, 2021 · 1 min · jiezi

关于编辑器:CSCI-3110

CSCI 3110Imagine I’m standing in front of you holding up two little pieces of silver-grey metal and betweenus is a bucket of water. You can see the pieces of metal look pretty much the same; I tap themon the desk so you can tell they sound about the same; I pass them around so you can check theyfeel about the same, weigh about the same, smell the same (not really at all), although I warn younot to taste them. I take them back and throw first one into the bucket, where it goes “clink”, andthen the other, where it goes “BOOM”.Even if we had in-person classes I probably wouldn’t be allowed to explode things in front ofmy students — that’s what tenure is for! — but I want you to think about how two things thatseem the same can behave so differently. Explaining that for those two little pieces of metal gets usinto discussions that get pretty deep pretty quickly, of chemical reactions and molecules and atoms.The famous physicist Richard Feynman said that if some disaster were going to wipe out nearly allscientific knowledge and he could choose once sentence to pass on to future generations, it would be“all things are made of atoms”. Other scientists might choose deep statements from their own fieldsthat have changed humanity’s view of the universe and our place in it: for an astronomer, “theearth goes around the sun”; for a biologist, “species arise through a process of natural selection”;for a psychologist, “the mind is a function of the brain”. Statements about mathematics usuallyaren’t quite so controversial, at least among non-mathematicians, but the story goes that the firstmathematician to prove that the square root of 2 is irrational was thrown overboard by his fellowPythagoreans.So, what have we got? You’ve been studying computer science in university for a few yearsnow, and I’d like to know what you’ve learned about our field that can reasonably be consideredone of the great scientific truths. “The speed of processors doubles every 18 months”? “Addingworkers to a late software project makes it later”? “All your bases are belong to us”? “The cakeis a lie”? This is when I’d really like to be able to stop and let you think, and then hear whatyou have to say. Under the circumstances, however, I’m just going to have to assume most of youchose to study computer science because it’s fun, you can do cool things with it (including savingpeople’s lives and making the world a better place), it pays pretty well and it’s indoor work withno heavy lifting — even though it may not tell us deep things about the universe.3That’s rather a shame. If you check Scientific American’s list of “100 or so Books that Shaped aCentury of Science”, under “Physical Sciences” and mixed in with Stephen Hawking’s A Brief His-tory of Time, Primo Levi’s The Periodic Table, Carl Sagan’s The Pale Blue Dot, Paul Dirac’s Quan-tum Mechanics, The Collected Papers of Albert Einstein, Linus Pauling’s Nature of the ChemicalBond and Feynman’s QED, you’ll find books about computer science (or things close to it): BenoitMandelbrot’s Fractals, Norbert Weiner’s Cybernetics and, last but definitely not least, Knuth’s Artof Computer Programming. So apparently we are doing deep things, we’re just not teaching youabout them.Actually, I think that in a very important sense, we are the deepest of the sciences. To under-stand where the basic rules of psychology come from, for example, you must know something aboutbiology; to understand where the basic rules of biology come from, you must know something aboutchemistry; to understand where the basic rules of chemistry come from, you must know somethingabout physics; to understand where the basic rules of physics come from, you must know some-thing about mathematics; but who tells the mathematicians what they can and cannot do? We do.Philosophers, theologians and politicians might claim to, but I think the mathematicians largelyignore them. One field has really stood up to mathematics and laid down the law, and that fieldwas computer science.At the International Congress of Mathematicians in 1900, a famous mathematician namedDavid Hilbert proposed ten problems that he thought mathematicians should work on in the 20thcentury. He later expanded the list to 23 problems, which were published in 1902 in the Bulletin ofthe American Mathematical Society. Let’s talk about Hilbert’s Tenth Problem (for the integers): “todevise a process according to which it can be determined in a finite number of operations whether[a given Diophantine equation with integer coefficients] is solvable in [the integers]”. Notice Hilbertdidn’t ask whether such a process existed; back then, people assumed that if a mathematicalstatement were true, with enough effort they should be able to prove it.I’ll assume you all know what a quadratic equation in one variable is, and that you can tell ifone has a solution in the reals using the quadratic formula. There are similar but more complicatedformulas for solving cubic and quartic equations in one variable, which fortunately I never learned.If you’re given a quintic equation in one variable with integer coefficients, then you may be ableto use the rational-root theorem (which I actually did learn once upon a time!) to get it down toa quartic, which you can then solve with the quartic formulas. (For anything more complicated,maybe you can try Galois Theory, but I can’t help you there.) Anyway, the Diophantine equationsHilbert was talking about are sort of like these equations but with a finite number of variables. Hewanted a way to solve any given Diophantine equation that has integer coefficients or, at least, away to tell if it even has an integer solution.So, solving Diophantine equations over the integers was considered an important mathematicsproblem by important mathematicians. Unfortunately for them, in 1970 Yuri Matiyasevich showedin his doctoral thesis that we can take a certain general model of a computer, called a TuringMachine, and encode it as a Diophantine equation with integer coefficients, in such a way that theTuring Machine halts if and only if the Diophantine equation has an integer solution. It was alreadyknown that determining whether a Turing Machine halts is generally incomputable, meaning thereis no algorithm for it (and that had already thrown a spanner in Hilbert’s plan for 20th-centurymathematics), so Matiyasevich’s Theorem (also known as a Matiyasevich-Robinson-Davis-Putnam4Figure 1.1: The seven bridges of Ko¨nigsberg in Euler’s time (https://commons.wikimedia.org/wiki/File:Konigsberg_bridges.png).Theorem, for some other mathematicians who laid the groundwork) says Hilbert’s Tenth Problemis impossible (for the integers). So, computer science told mathematics that it couldn’t havesomething it really wanted.I guess 1970 seems like a long time ago and we don’t want to relive old victories so — althoughwe’ll talk a bit about Turing Machines and the Halting Problem and computability and Hilbert’sEntscheidungsproblem — in this course mostly we’re not going to focus on the gap between possibleand impossible problems (and I won’t mention Diophantine equations again). Instead, we’re goingto focus on the nature of the gap between easy problems (we have a polynomial-time solution thatruns on a standard computer) and hard problems (we don’t) — which is the deepest open questionin computer science and has been for a long time, since 1971. Echoing Hilbert, in 2000 the ClayMathematics Institute proposed a list of seven problems they thought mathematicians should workon in the 21st century, including this one of easy versus hard, and backed each with a million-dollar prize. To quickly illustrate the gap between easy and hard, I’d like to talk about two classicproblems, determining whether a graph has an Eulerian cycle and whether it has a Hamiltoniancycle. At first these problems seem almost the same, but it turns out that one goes “clink” andthe other goes “BOOM” (we think).In the 1730s, the citizens of Ko¨nigsberg (then in Prussia, now the Russian city of Kaliningrad)wrote to the famous mathematician Leonhard Euler asking whether it was possible to start some-where in their city (shown as it existed then in Figure 1.1), walk around it in such a way as tocross each of their seven bridges once and only once, and arrive back at the starting point. Euleranswered that it was not possible since, if we draw a graph with each shore and island as a vertexand each bridge as an edge, all of the vertices have odd degree, where a vertex’s degree is thenumber of edges incident to it. He observed that in such a walk — now called an Eulerian cycle ofa graph — every time we visit a vertex we reduce the number of uncrossed edges incident to it by2 (we arrive across one and leave across one); therefore, in order for a graph to have an Euleriancycle, it is a necessary condition that it be connected (that is, it must be possible to get from anyvertex to any other vertex) and every vertex must have even degree.Euler also showed that this is also a sufficient condition, which is less obvious. Suppose westart at some vertex v in a graph G that satisfies the condition, and walk around until we get stuck5(that is, we arrive at a vertex all of whose incident edges we’ve already crossed). Where can we getstuck? Well, when we’re at a vertex w 6= v then we’ll have “crossed off” an odd number of edgesincident to w (one for each time we’ve arrived there and one for each time we’ve left, and we’vearrived once more often than we’ve left); therefore, since an even number minus an odd numberis an odd number and 0 isn’t odd, there’s always at least one edge left for us to leave across. Itfollows that we can only get stuck back at v, after tracing out a cycle C in G.Let G′ be the graph resulting from deleting from G the edges in C. If v has positive degree inG′ then we can start there again and find and delete another cycle; otherwise, if some other vertexhas positive degree in G′, we can start there and find and delete another cycle. If we keep doingthis until there are no edges left, we get a decomposition of G into edge-disjoint cycles (meaningthe cycles can share vertices but not edges). Take any of the cycles C1, choose a vertex v it shareswith any of the other cycles, and choose another cycle C2 containing v. (If C1 doesn’t share anyvertices with any other cycles, then its vertices aren’t connected to the rest of the graph, contraryto our assumption.) Replace C1 and C2 by a single (non-simple) cycle C3 that makes a figure 8 insome sense: if we start at v then we first cross all the edges in C1 and return to v, then cross allthe edges in C2 and return to v. Repeating this cycle-merging, we eventually obtain an Euleriancycle of the graph.It’s not totally trivial to implement this algorithm cleanly but it’s not all that hard either (soI gave it as a homework exercise last year) and it obviously takes only polynomial time in the sizeof the graph. In other words, the problem of determining whether a graph is Eulerian (contains anEulerian cycle) goes “clink”. It’s actually an important problem that comes up in de novo genomeassembly: one of the most common ways to assemble DNA reads is by building what’s called ade Bruijn graph of the k-mers they contain, for some appropriate value of k, and then trying tofind an Eulerian tour of that graph (“tour” instead of “cycle” because it need not end where itstarted). It’s likely, for example, that this played a role in sequencing the Covid genome, whichwas important for developing a test for whether people were infected. Now let’s consider a problemwhich seems deceptively similar at first.In 1857 William Rowan Hamilton showed how to walk along the edges of a dodecahedron,visiting each vertex once and only once, until arriving back at the starting point. Such a walk ina graph is now called a Hamiltonian cycle, and it’s an obvious counterpart to an Eulerian cyclebut focusing on visiting vertices instead crossing edges. Hamilton didn’t give a general result likeEuler’s, however, and in fact no one has ever found an efficient algorithm for determining whether agiven graph is Hamiltonian (that is, it has a Hamiltonian cycle). By “efficient”, in computer sciencewe mean that the algorithm takes time polynomial in the size of the graph (in this case, the sum ofthe number of vertices and the number of edges). Obviously there are necessary conditions we cancheck quickly (for example, the graph has to be connected), and there are sufficient conditions wecan check quickly (for example, if a graph is a clique then it’s Hamiltonian, meaning it contains aHamiltonian cycle), and there are some kinds of graphs that are easy (for example, cycles or trees),and some graphs are small enough that we can deal with them by brute force. . . but nobody’s everfound an algorithm that can handle all graphs in polynomial time. In other words, it seems thisproblem goes “BOOM”.To see why people would really like to be able to determine whether a graph is Hamiltonian,suppose you’re in charge of logistics for a delivery company and you’re looking at a map trying to6plan the route of a delivery truck that has to visit n cities, in any order and then return home. Youcan tell the distance between each pair of cities and you want to know if it’s possible for the truckto make its deliveries while travelling at most a certain total distance. (This problem is called theTravelling Salesperson Problem or TSP or, assuming the truck travels only in the plane,Euclidian TSP; computer scientists often use Small Caps for tricky problems.) If every roadbetween two cities has distance 1, then the truck can travel distance n if and only if the graph withcities as vertices and roads as edges, is Hamiltonian. It follows that if HamCycle (the problem ofdetermining whether a graph is Hamiltonian) goes “BOOM”, then TSP goes “BOOM” too. Thatis, if HamCycle is hard, then so is TSP, because in some sense HamCycle can be turned intoTSP. Don’t worry, we’ll see a lot more about this later in the course.How can two problems — determining if a graph is Eulerian and if it’s Hamiltonian — thatseem so similar be so different? Well, we hope investigating that will lead us to a deep truth, likeinvestigating the reactions of those pieces of metal to water could lead us to studying atoms. Wemay not even really care as much about the problems themselves as we do about what studyingthem can tell us: my chemistry teacher might forgive me if I forgot that sodium metal explodes inwater, but he’d be really annoyed if I forgot the atomic theory; similarly, you may pass this courseeven if you forget Euler’s algorithm, but I really do want you to remember something about thedifference between easy and hard problems.Another way of saying this is that you shouldn’t miss the forest for the trees. Think of Euler’sAlgorithm as a tree and HamCycle as a tree and yourself as a student of geography: you’re notreally interested in individual trees as much as you’re interested in the general layout of the forestand, metaphorically, whether there’s a big river splitting it into two pieces. In the next class,we’ll talk about another classic problem, colouring graphs, some versions of which (1-colourability,2-colourability, planar k-colourability for k ≥ 4) are easy and some versions of which (planar 3-colourability, general k-colourability for k ≥ 3) are thought to be hard. Does anyone really careabout 47-colourability in particular, say? Probably not, but by the end of this course you shouldunderstand that it’s on the same side of the river as HamCycle and TSP and planar 3-colourabilityand general k-colourability for any other k ≥ 3 (that is, the “BOOM” side, to mix metaphors), andon the opposite side from finding Eulerian cycles and 1- or 2-colourability (the “clink” side).Investigating the difference between the complexity of finding Eulerian and Hamiltonian cyclesand between 2-colouring and 3-colouring graphs also leads us to a shallow but important truthabout this course: it’s dangerous to answer questions just by pattern matching! That is, justbecause a problem sounds similar to something you’ve seen before, don’t think you can just writethe answer to the old problem and get part marks.Summing up, here are some things to remember while taking this course: Computer science is the deepest of the sciences! Some problems are possible, some aren’t — and that’s deep. Some problems are easy, some probably aren’t — and that’s deep, too. Don’t miss the forest for the trees. It’s dangerous to answer questions just by pattern matching.7Part IDivide and Conquer8Chapter 2Colouring GraphsWhen I was in primary school geography was mainly about colouring maps, which I was prettygood at except that I kept loosing my pencil crayons, so my maps weren’t as colourful as the otherchildren’s. I was therefore really impressed when I learned that in 1852 Francis Guthrie found away to colour a map of the counties of England (there were 39 back then) using only four colours,such that no two counties with the same colour share a border (although meeting at a point isok). This made him wonder if it was possible to 4-colour any (planar) map like this. He wrote tohis brother, who was studying with the mathematician De Morgan (who formulated De Morgan’sLaws of propositional logic, which you may have heard about last year), and the conjecture waspublished in The Athen?um magazine in 1854 and 1860. In 1890 Heawood proved any planar mapcan be 5-coloured, and in 1976 Appel and Haken finally proved the original conjecture by checking1834 cases with a computer.(An important (and very long) part of the proof was checked manually by Haken’s daughterDorothea, who taught me third-year algorithms at Queen’s 22 years later; she’s also a coauthor ofthe Master Theorem that we’ll discuss next week.)Appel and Haken’s Four-Colour Theorem is considered part of graph theory, instead of geogra-phy, because if someone gives us a planar map and we draw a vertex in each region and put an edgebetween two vertices if and only if their regions share a border, then we get a planar graph thatcan be coloured with k colours such that no two vertices with the same colour share an edge, if andonly if the original map can be coloured with k colours. For example, Figure 2.1 shows the graphwe get for the map of the counties of Nova Scotia. (Actually, if we put an edge for every sharedborder — so one edge between France and Spain for their border west of Andorra and another fortheir border east of it, for example — then the graph and the map are duals, meaning that fromthe graph we can reconstruct something that’s topologically equivalent to the map, and from thatwe can reconstruct the graph, and so on.) It’s easy to find planar graphs that require 4 colours,such as a 4-clique (a graph on four vertices with edges between every pair), but it’s not so easyto tell whether a given planar graph can be 3-coloured. In fact, as mentioned in the last lecture,that’s a “BOOM” problem. ...

July 3, 2021 · 15 min · jiezi

关于编辑器:ITI-1121-Brightpsace

ITI 1121. Introduction to Computing IIAssignment 2Submission deadline: See BrightpsaceAssignment: Group of 2 students Maximum.All the rules of the first assignment apply.Reminders: The submitted code must be yours.You are also responsible to not expose your code to others.The submission must be done on Brightspace, before the deadline. Only submit your java files, do not submit any .class files.You must test your programs to make sure they give the correct results.A program that gives a compilation error or an execution error will receive a mark of zero.You have to put comments in the programs. The comments are not needed for each line ofcode. However, they have to explain in simple English what the program does.Some java files are provided, they should be used and the content already there cannot bemodified. Which means you need to keep the existing code and add your code to it.Important: one submission per group is enough, however both students are responsible to makesure the submission was done before the deadline.Academic Integrityhttps://www.uottawa.ca/administration-and-governance/academic-regulation-14-other-important-informationhttps://www.uottawa.ca/vice-president-academic/academic-integrityBy submitting this assignment, you acknowledge the following:I have read the academic regulations of the University of Ottawa regarding academic fraud.I understand the consequences of plagiarism.With the exception of the source code provided by the professor for this course, all the source code is mine andmy group partner only.ITI 1121. Introduction to Computing IIIn this assignment, you will program a game, “Catch the mouse” with a simple user interface.The game’s user interface shows a board, made of a cubes, with the same number of rows andcolumns. The board contains grey (free) cubes, green (snakes) cubes, and one red (mouse) cube.The player tries to catch the red mouse before it reaches the edge. If the mouse (red cube) reachesthe edge, the player loses. If the player clicks any square, there are four cases:If the square is already a green cube (a snake) nothing happens.If it is a square that is a neighbor of another snake, it turns into a snake too.If it is a square that is not a neighbor of any other snake, nothing happens.If it is a red cube (a mouse) and it is currently next to any snake, the game is won.Note: a position is a “neighbor” of another one if we can go from the first position to the secondin a single move, without skipping any cube.The mouse cannot move to any of the squares already clicked by the user, which turn into snakes.If the player clicks it before it reaches the edge, then player wins!The image below is an example of the game starting screen.The number of rows is equal to the number of columns.The player wins when he can click on the red cube (the mouse). It can only be clicked if it isneighboring one of the green cubes (it is reached by the snake).If theAt the start of the game, some of the cubes are already green. This is done with a random selectionamong all the board cubes. The maximum number of green cubes allowed is a constant number offive: 5. All other cubes will initially be free cubes, and one cube red.The starting position of the red mouse is semi-randomly selected: which means random howeverit should be close to the center of the board. Here is the procedure to select starting red mouseposition:If the board has an even number of rows (and columns), then the red cube is randomly positionedon one of the central four cubes.If the number of rows (and columns) is odd, then it is randomly positioned on one of the centralnine cubes.ITI 1121. Introduction to Computing IIAt each step the player can only select one of the six neighboring cubes of an already selected cube(green snakes cubes).The player wins when the red cube is clicked on while neighboring a green cube.However, if the red mouse is clicked while no green snake cube is its neighbor, then nothinghappens.The roles of the classes is different, basically we have three categories:I- The state of the game at any given moment in timeII- The user interfaceIII- The processing/logic of the gameI- The Game State (30 points)First, build the state of the game using the class GameState and the class Point. There is only oneinstance of the class GameState (instantiated by GameLogic as we will specify later).GameState is responsible for holding the state of the game at any moment in time. This includesThe three possibilities for each square in the game board:1- It is free: the cube occupying it is grey, it hasn’t been selected yet by the player2- It is already selected: the cube occupying it is a green snake3- It is occupied by the red mouse cubeThe location of the red mouse cube: The starting location of the red cube, as explained earlier:on an even board, the position is randomly selected among the four central cubes, and on anodd board, it is randomly selected among the nine central locations.The current status of every cube on the boardThe size of the board.It also provides the necessary setters and getters, so the the GameLogic and the user interface cancheck the status of any cube, and the GameLogic can change the status of a cube or move the redmouse cube. Finally, it provides a way to initialize the game, placing the red cube randomly asexplained earlier, and preselecting some of the other cubes as green snake cubes. In our case, weare going to use 10% as the probability that a cube that isn’t the red cube is initially selected as asnake cube.ITI 1121. Introduction to Computing IIII- The User Interface (35 points)We build a simple User Interface for the game. This will be done with two classes.The first class is GameUserInterface, which extends JFrame. It is the main window of theapplication. It shows two buttons at the bottom (see the image in the first page). Thesebuttons are to reset and to quit the game. GameUserInterface instantiates the second class,BoardUserInterface.The second class is BoarUserInterface, it extends JPanel. This class is the one that containsthe board.A board, of size n, is made of a series of cubes: n lines and n columns of cubes.To implement the cubes, we use the class Cube which extends the class JButton.So the class BoardUserInterface provides the user interface of the board. It extends JPaneland lays out a two dimensional array of Cube instances.Layout of the game board.A challenging aspect of the User Interface is the layout of the board. If the board was a normalsquare, it you be really easy to layout the Cube instances on the Panel. However, the actual boardof the game is not a perfect square. Instead, each line is shifted left or right when compared to theprevious line. Your board layout should look like the one in the image shown on the first page. Wedon’t have a way to create that Layout directly.In order to achieve this layout, we will use two steps within BoarUserInterface:1- We will have each row of Cube instances on its own instance of a JPanel class, on which aFlowLayout manager will be used. If you look at the documentation of JPanel, you will seethat it is possible to add a border to the panel.The icons used by the Cube instances are squares of size 40 pixels. So we can add a border ofsize 20 for example, at the correct location, to obtain the desired layout.2- The set of JPanels can then be added on the BoarUserInterface JPanel using for example anappropriate GridLayout manager.Note: instances of both GameUserInterface and BoarUserInterface classes have buttons. However,these instances are not the listeners for the events generated by these buttons. This is handled bythe gameLogic.ITI 1121. Introduction to Computing IIIII- The GameLogic (35 points)The class GameLogic is the one responsible for the logic/processing of the game. The constructorof the class receives as parameter the size of the board.The instance of the GameState and the GameUserInterface are created in this class.The GameLogic is the class handling the events/clicks generated by the player. It implements thelogic of the game. During the game, after the player selects a new cube, the GameLogic mustdecide what to do next.After each click of the player, the three cases need to be covered: the player won the game, theplayer lost the game, or the game continues.If the player won: a message box should be displayed to inform the player, when the player clicks“ok”, the game is reset.If the player lost: a message should be displayed accordingly.The green snake cubes areas grows one cube at a time, in one of the six cubes that surround a greensnake cube.Cases of winning or losing the game.In the two cases, the GameLogic must inform the player of the result. In order to achieve this, thegameLogic can use the class method showMessageDialog of the class JOptionPane.To continue the game, the gameLogic must implement a strategy for a selection of the next movefor the red cube.You may make a selection to move the red cube to any randomly selected cube that is not occupiedby a green cube. If the red mouse reaches the edge, the player lost.CubesGame.java is the java class containing the main program to start the game.CubesGame creates the instance of GameLogic and starts the game. CubesGame is the class thatcontains the main and should be run by the user. At the execution of the game, the user shouldpass a parameter to main. This parameter is the size of the game board. This size is valid if it isbetween 4 and 20. If a valid size is not passed, an error message is simply displayed, and the usershould try to run the program again with the correct parameter. ...

June 26, 2021 · 8 min · jiezi

关于编辑器:C200-Programming

C200 Programming Assignment № 8Computer ScienceSchool of Informatics, Computing, and EngineeringMarch 30, 2019ContentsIntroduction 2Problem 1: Newton Raphson Root Finding Algorithm 4Root . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Newton-Raphson Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Derivative and Approximation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Newton-Raphson Illustration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Starting Code for Problem 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Interactive Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Output for Problem 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Deliverables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Problem 2: Bisection Method for Root Finding 8Bisection Algorithm from Numerical Analysis . . . . . . . . . . . . . . . . . . . . . . . 8Starting Code for Problem 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Deliverables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Problem 3: pygame 9A Snapshot of Your Pygames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Starting Code for Problem 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Deliverables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Problem 4: Root Find Secant 12Secant Illustration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Secant Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Starting Code for Problem 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Output for Problem 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Deliverables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Assignment №9 Convergence, Recurrence, and Animation Page 1Problem 5: Integration 14Simpson’s Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Starting Code to Problem 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14File Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Output to Problem 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Deliverables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Problem 6: Seriously, Again? 17Starting Code to Problem 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Output to Problem 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Deliverables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Assignment №9 Convergence, Recurrence, and Animation Page 2IntroductionIn this homework, you’ll work on convergence, approximation, and animation. For convergence,you will implement three algorithms for root finding–tools that are necessary in many areas likefinance, biology, and geology. For approximation, you will implement Simpson’s Rule–a meansof computationally determining an integral. For animation, you will have fun with pygames anda bouncing...square! Lastly, you’ll have practice with recursion and transforming it. Add a new folder to your C200 folder named Assignment9. In this folder, you’ll have thefollowing Python files:– fignewton.py– mybisect.py– game1.py– secant.py– easycalc.py– rec.py Make sure and commit your project and modules by 11pm, Wednesday April 3th 2019.As always, all the work should be your own. You will complete this before Wednesday April,3, 2019 11:00P. You will submit your work by committing your code to your GitHub repository.You will not turn anything in on canvas. If your timestamp is 11:01P or greater, the homeworkcannot be graded. So do not wait until 10:58P to commit your solution. As always, all the workshould be your own.Assignment №9 Convergence, Recurrence, and Animation Page 3Problem 1: Root Finding with NewtonWe discussed in lecture the general problem of finding roots and how ubiquitous it is.f(x) = 0 x ∈ [a, b] (1)x is called a root. The Newton-Raphson is an algorithm to find roots that uses a function andits derivative.x0 = estimate (2)xn+1 = xn To remind you, a derivative is a function that characterizes the way a function changes as inputschange. Line 4 is the typical definition. Line 5 is the usual approximation of the derivative usedin many devices(5)Figure 1: The root is x. Our approximation xn moves toward the root as long as we’re largerthan our threshold. Observe in the graphic that f(b) is positive and f(a) is negative insuring thatthere exists a root x, f(x).The following listing shows two versions of the Newton-Raphson for:The first uses the explicit derivative (which isn’t very scalable) done by hand. The seconduses the approximation. With functions we can easily approximate the derivative and use thealgorithm without any changes.Assignment №9 Convergence, Recurrence, and Animation Page 4Listing 1: newton.py1 f = lambda x: x**6 - x - 12 fp = lambda x: 6(x*5) - 134 def fpa(f):5 h = .0000016 return lambda x: (f(x+h)-f(x-h))/(2*h)78 def newton(f,fp,x,tau):9 def n(x,i):10 while f(x) > tau:11 print("{0} {1:.5f} {2:.5f}".format(i,x,f(x)))12 x = x - f(x)/fp(x)13 i += 114 return x15 n(x,0)1617 newton(f,fp,1.5,.0001)18 newton(f,fpa(f),1.5,.0001)To complete this problem, you’ll need to become a little familiar with Python’s eval() function.This function takes an expression as a string and returns the value of the expression. Here is ashort session for you to try:Session Intractive ...

June 25, 2021 · 16 min · jiezi

关于编辑器:CS-116-Winter

CS 116 Winter 2019 Assignment 09Due Friday, April 5 at 6:00 pm (no late submissions)Assignment Guidelines: This assignment covers material up to (and including) Module 10. Do not use recursion. All repetition must be performed using iteration (while and for loops only)and abstract list functions (map and filter). Submission details:– Solutions to all four questions must be placed in a single file, a09.py, and must be completedusing Python 3.– Download the interface file from the course Web page to ensure that all class and functionnames are spelled correctly and each function and method has the correct number and orderof parameters.– All solutions must be submitted to MarkUs. No solutions will be accepted through email, evenif you are having issues with MarkUs.– Verify using MarkUs and your basic test results that your files were properly submitted and arereadable on MarkUs.– For full style marks, your program must follow the Python section of the CS116 Style Guide.– Be sure to review the Academic Integrity policy on the Assignments page– Helper functions need design recipe elements but not examples and tests. This assignment includes special instructions regarding the Design Recipe. Please see the note onthe last page for more information. If you wish to test your code, download the testing module from the course web page and includeimport check in your solution file.– Test data for all questions will always meet the stated assumptions for consumed values. Restrictions:– Do not import any modules other than math and check.– Do not use any other Python functions not discussed in class or explicitly allowed elsewhere.See the allowable functions post on Piazza. You are always allowed to define your own helperfunctions, as long as they meet the assignment restrictions.– While you may use global constants in your solutions, do not use global variables for anythingother than testing.– Read each question carefully for additional restrictions.– The solutions you submit must be entirely your own work. Do not look up either fullor partial solutions on the Internet or in printed sources.1CS 116 Winter 2019 Assignment 09Due Friday, April 5 at 6:00 pm (no late submissions)Text AdventuresBefore computers were powerful enough for fancy graphics, some of the best computer games were TextAdventures. The game would describe the world to you in words, and you would move through that worldand interact with it by issuing commands in words. (If you’ve ever played Dungeons & Dragons, yourrelationship to the game is a bit like your relationship to your Dungeon Master.) Infocom was probably themost famous maker of these games; you can play the classic games Zork I (1980) and The Hitchhiker’sGuide to the Galaxy (1984) here:http://textadventures.co.uk/g...http://textadventures.co.uk/g...In this assignment, you will implement a small subset of a text adventure game. A World consists of a setof interconnected Rooms containing Things. As the Player, you can use Exits to walk from room to room,looking at, picking up, and dropping Things. You can load a game from a text file, play it for a while, andsave the resulting game state to another text file.To begin, download (and study!) the interface file from the course website. It contains a large amountof starter code to help you complete your game.Question 1: Playing the gameThe game environment is stored in a class called World, and you will find a small test world defined asglobal constant testworld. World includes a play method that acts a bit like Python itself: it allowsyou to type in commands and shows you their effects. Have a look at that method (which is written foryou). It understands a few simple “verbs”: quit, look, inventory, take, drop, and go. Apart from quit, thesecommands all call other methods in the World class. In this question you will make games playable byimplementing these methods.(1) Implement the look method. It accepts a noun argument, giving the name of the thing the userwants to look at, and doesn’t return anything. It prints the name and description of of the passed-innoun. The player is able to look at a number of things; use the following order to decide what theywant to look at: If the noun is the special word me, look at the player. If the noun is the special word here, look at the player’s current room. Next check the names of the things in the player’s inventory. If any thing’s name matches thenoun, look at that. Finally, check the names of the things in the player’s room. If any thing’s name matches thenoun, look at that.If none of the possibilities above provides a match, print the message "You don’t see thathere.". This message is defined for you as a field in World class, so just print the contents of thefield; do the same with all the other messages given below.In this and the other commands you can assume that when there is a match, the match is unique.That is, although a world might contain two things of the same name, those things will never be inthe player’s inventory at the same time, or in the same room together.Note that the Player, Thing, and Room classes already include look methods that print theappropriate text for each kind of thing you can look at. Your job is simply to find the right objectand ask it to look.(2) Implement the inventory method. It accepts no arguments (other than self) and doesn’t returnanything. It prints a formatted list of the names of the things that the player is currently carrying.In particular, if the player is carrying anything, the method should print text like this:Inventory : wallet , phone , keysThat is, on a single line you should print "Inventory: ", followed by a list of the names of thethings in the player’s inventory, separated by ", ". If the player’s inventory is empty, you shouldprint the message "You aren’t carrying anything." (as defined in a constant).2CS 116 Winter 2019 Assignment 09Due Friday, April 5 at 6:00 pm (no late submissions)(3) Implement the go method. It accepts a noun argument, giving the name of the exit to go through,and doesn’t return anything. If the noun corresponds to the name of one of the exits in the player’scurrent room, mutate the contents of the World so that the player moves to the room at the otherend of that exit (the destination). In that case, the method should conclude by looking at theirnew room, so the user can see where they ended up. If no exit with that name exists, the methodshould print the message "You can’t go that way." You can assume that no room contains twoexits of the same name.(Note that the rooms and exits in a world behave a bit like the vertices and edges in a directedgraph, though you don’t need that information to complete the assignment.)(4) Implement the take method. It accepts a noun argument, giving the name of the thing to pickup, and doesn’t return anything. If the noun corresponds to a thing in the player’s current room,mutate the World so that the thing is removed from the room’s contents and appended to theplayer’s inventory. In that case, the method prints "Taken.". If no such thing can be found in theplayer’s room, the method prints "You can’t take that.".(5) Implement the drop method. It accepts a noun argument, giving the name of the thing to putdown, and doesn’t return anything. If the noun corresponds to a thing in the player’s inventory,mutate the World so that the thing is removed from their inventory and appended to the contentsof the player’s current room. In that case, the method prints "Dropped.". If no such thing can befound in the player’s inventory, the method prints "You aren’t carrying that.".Once all of these methods are implemented, you should be able to play the test game, producing atranscript like this one: ...

June 24, 2021 · 14 min · jiezi

关于编辑器:Emmet语法规则

HTML初始构造!+ Tab疾速生成根底构造 id(#),class(.)div#test<div id="test"></div>div.test<div class="test"></div>子节点(>),兄弟节点(+),下级节点(^)div>ul>li>p<div> <ul> <li> <p></p> </li> </ul> </div>div+ul+p<div></div><ul></ul><p></p>div>ul>li^div (两个 ^ ^ 就是上下级)<div> <ul> <li></li> </ul> <div></div> </div>反复(*)div5(号前面的数字就是反复的元素个数) <div></div> <div></div> <div></div> <div></div> <div></div>分组(())div>(ul>li>a)+div>p括号外面的内容为一个代码块,示意与括号外部嵌套和里面的层级无关 <div> <ul> <li><a href=""></a></li> </ul> <div> <p></p> </div></div>属性([attr])a[href='###' name='xiaoA']<a href="###" name="xiaoA"></a>编号($)ul>li.test$*3<ul> <li class="test1"></li> <li class="test2"></li> <li class="test3"></li> </ul>ul>li*3.test$@3<ul> <li class="test3"></li> <li class="test4"></li> <li class="test5"></li> </ul>文本({})ul>li.test$*3{测试 $}<ul> <li class="test1">测试1</li> <li class="test2">测试2</li> <li class="test3">测试3</li></ul>隐式标签.test<div class="test"></div>ul>.test$*3 <ul> <li class="test1"></li> <li class="test2"></li> <li class="test3"></li> </ul>select>.test$*5<select name="" id=""> <option class="test1"></option> <option class="test2"></option> <option class="test3"></option> <option class="test4"></option> <option class="test5"></option></select>

June 23, 2021 · 1 min · jiezi