关于sass:APISIX-Ingress-控制器的安装及原理

简介APISIX 是动静、实时、高性能的 API 网关。它提供丰盛的流量治理性能,比方负载平衡、动静上游、金丝雀公布、熔断、认证、可观测性等。既能够应用 APISIX API 网关解决传统的南北向流量,也能够应用它解决服务间的东西向流量。同时,它也可被用作 Kubernetes Ingress 控制器。APISIX Ingress 控制器提供 Helm 装置形式,然而应用原生 YAML 装置,更加有助于了解其原理。应用原生 YAML 装置 APISIX 和 APISIX Ingress 控制器在本教程中,咱们将应用原生 YAML 在 Kubernetes 中装置 APISIX 和 APISIX Ingress 控制器。先决条件如果没有 Kubernetes 集群应用,倡议应用 kind 创立本地 Kubernetes 集群。kubectl create ns apisix在本教程中,咱们的所有操作都将在命名空间 apisix 中执行。ETCD 装置在这里,咱们将在 Kubernetes 集群外部部署不带认证的单节点 ETCD 集群。在本例中,咱们假如你领有存储部署器。如果你正在应用 Kind,那么将主动创立本地门路部署器。如果没有存储部署器或不想应用长久化存储卷,那么能够应用 emptyDir 作为存储卷。# etcd-headless.yamlapiVersion: v1kind: Servicemetadata: name: etcd-headless namespace: apisix labels: app.kubernetes.io/name: etcdannotations: service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"spec: type: ClusterIP clusterIP: None ports: - name: "client" port: 2379 targetPort: client- name: "peer" port: 2380 targetPort: peerselector: ...

June 9, 2023 · 7 min · jiezi

关于sass:项目初始化启动Sass报错

报错:Cannot find module 'sass' 解决办法: npm install sass-loader@10.2.0 --save-devnpm install node-sass@5.0.0 --save-dev

May 15, 2023 · 1 min · jiezi

关于sass:Sass-常用功能

Sass 罕用性能原文链接:https://note.noxussj.top/?source=sifo Sass 性能有很多,这边只列举一些比拟罕用的。 嵌套规定 (Nested Rules)Sass 容许将一套 CSS 款式嵌套进另一套款式中,内层的款式将它外层的选择器作为父选择器。 编译前 .box { .box1 { background-color: red; } .box2 { background-color: blueviolet; } }编译后 .box .box1 { background-color: red; } .box .box2 { background-color: blueviolet; } .box .box3 { background-color: blue; }父选择器 & (Referencing Parent Selectors: &)在嵌套 CSS 规定时,有时也须要间接应用嵌套外层的父选择器。 编译前 button { width: 100px; height: 30px; &:hover { background-color: red; } }编译后 button { width: 100px; height: 30px; } button:hover { background-color: red; }属性嵌套 (Nested Properties)有些 CSS 属性遵循雷同的命名空间 ( namespace ),比方 font-family , font-size , font-weight 都以 font 作为属性的命名空间。为了便于管理这样的属性,同时也为了防止了反复输出,Sass 容许将属性嵌套在命名空间中。 ...

May 2, 2023 · 5 min · jiezi

关于sass:什么是-Sass

Sass 介绍原文链接:https://note.noxussj.top/?source=sifo 什么是 Sass?官网标语世界上最成熟、最稳固、最弱小的专业级 CSS 扩大语言。怎么了解这句话呢?咱们平时写的 CSS 代码能够了解为动态款式语言,而 Scss 就是动静款式语言,何为动静?就是让你写 CSS 跟写 JS 一样,能够在 CSS 外面定义变量,函数。 最大的作用就是缩小你的 CSS 代码量,用更少的代码实现更多的性能。其次就是使得 CSS 代码更加的规范化,放弃 HTML 构造的格调去编写 CSS 。 官网文档地址 https://www.sass.hk Less、Sass、Scss 三者区别?Scss 是 Sass 的升级版, Sass 语法编写的代码不须要写大括号 "{}" 、也不须要写分号 ";" 使的代码不易浏览。 Scss 和 Less 大抵上的性能都是一样的,只是实现的代码的语法有些不同。 所以咱们只须要学习其中一款即可,另外一款也是大同小异。 兼容性目前没有一款浏览器是反对它们的,必须要应用插件进行把 Scss 代码转化为 CSS 。当初临时先不教如何应用工程化的插件去转换(下一个阶段会介绍),而是应用 Koala 这一款软件去主动转换。 原文链接:https://note.noxussj.top/?source=sifo

April 30, 2023 · 1 min · jiezi

关于sass:RASP技术进阶系列一与WAF的相爱相杀

猜测大部分平安从业者都会答复:“WAF(Web Application Firewall, 应用程序防火墙)。”不过RASP(Runtime Application Self-Protection,利用运行时自我爱护)横空出世,仿佛有取而代之的象征。长期以来,防火墙始终是大家公认的抵挡内部攻打的要害措施。而WAF作为防火墙中的“偏科生”,更擅长于剖析利用流量。简略而言,WAF是一种专门用于剖析HTTP/HTTPS流量的专用防火墙,能够深刻到每一次 HTTP/HTTPS申请和详情中去查看是否蕴含敏感字段,而后放行失常行为,拦挡歹意行为,就像自来水过滤器一样,把“杂质”从宏大的流量中剔除进来,这样应用程序就只会响应失常的申请,从而达到爱护应用程序的目标。 图1 WAF的工作地位WAF的窘境WAF粗看起来像是一个繁难且成熟的解决方案,但在理论真正应用时,可能会面临很多挑战。1. 规定与业务场景无奈对应WAF实际上是以一种简略粗犷的形式来爱护利用的。WAF在剖析流量时,只会针对一条流量进行剖析,不会关联上下文。例如某个申请参数为: 1+AND+321%3D6+AND+388%3D388这种流量在WAF解析时可能会面临以下两种状况。这个参数尽管看起来像是 SQL注入的模式,然而背地的逻辑可能和SQL解决没有关系,比方在SPEL等表达式中,也可能会有相似的写法。如果严格依照该逻辑去剖析流量,就有可能造成误报。另外一种状况是,如果解决这条申请背地的利用的确进行了SQL操作,然而曾经应用了预编译等形式对传入数据进行了荡涤,那么这个申请实际上并不会对业务自身造成危害,所以也会产生误报。因而,在设置WAF规定的时候,如果过于严格,就会造成误报;过于宽松,又会导致真正具备危险的流量被放过。这便须要专家针对企业的业务场景进行调整,这个工作并不是一劳永逸,随着工夫的推移、利用的更迭,WAF策略也须要一直调整。2. 能够被轻松绕过绕过 WAF进攻的次要形式是对流量进行加密和混同。WAF在解密流量时,因为无奈深刻到利用外部,因而只能对HTTPS流量进行解密,再深一层就无能为力了,比方将数据通过Base64加密,甚至只需简略切换字母的大小写就能够绕过WAF的进攻。例如Shiro RememberMe字段是应用AES加密的Base64编码,然而其AES加密密钥却是硬编码的,因而能够应用如下流程进行WAF绕过: 图2 WAF绕过示例流程当Shiro服务器接管到歹意结构的RememberMe Cookie后,将会对其进行Base64解码、AES解密,最终将会反序列化结构好的歹意命令,最终导致被攻打。针对此类攻打,所有的通信数据都是通过加密的,WAF从流量侧无奈了解这样的流量,也就无奈进行无效的拦挡。3. 无奈进攻0day破绽因为本身工作机制,WAF能够在进攻已知破绽方面起到成果,然而无奈进攻0day破绽。攻击者能够在厂商公布策略更新前就开始利用0day破绽,而WAF通常在破绽暴发的数小时后能力实现策略更新。4. 保护老本高WAF的保护不仅限于上述防护策略的保护,还体现在对于利用的适配上。目前很多WAF产品都提供了“虚构补丁”性能,能够用来修复应用程序的缺点,而不须要批改源代码。但这实际上给WAF保护人员带来了微小的挑战,因为平安经营人员须要同时对业务逻辑和WAF配置参数具备深刻理解后,能力写出精准且高效的策略。RASP真能取代WAF吗?就像WAF是防火墙的演进版本一样,大家喜爱把RASP称为下一代WAF。WAF次要解决了防火墙不能依据流量内容进行拦挡的问题,而RASP尽管解决了WAF所不能解决的上下文关联的问题,然而它的呈现其实并不是为了取代WAF。 图3 RASP工作原理示意图从原理上来看,RASP是从利用外部对要害函数操作的数据进行剖析,即便原始申请通过加密和混同,然而它在利用内流传到最终的底层函数时将会以明文形式被RASP截获,因而相比WAF能缩小大量的误报和漏报问题。基于此个性,RASP还能为平安人员和开发人员提供更为详尽的攻打链路,包含攻打原始 Payload、代码调用堆栈等信息,不便他们进行破绽定位、复现以及修复。尽管RASP较为敌对地解决了WAF的不足之处,能够截获真正具备危险的操作,然而它因为构建在应用程序外部,并且只对危险操作进行拦挡,这样绝对 WAF缺失了从宏观上对流量的监控,对于例如CC攻打、爬虫、歹意扫描等攻击行为短少无效的进攻伎俩。 另外,RASP因为和运行时环境耦合,在理论利用时,会更关注性能和兼容性影响:01 性能影响RASP工作在利用运行时环境,不可避免会占用利用的计算资源。例如对于XSS(跨站脚本攻打)类攻打,须要在用户申请和服务器响应中剖析有无歹意脚本,目前业界采纳的方法是应用正则表达式进行匹配。然而在一些应用宏大表单的利用中,XSS的正则匹配将会耗费大量的资源。对于这种状况,能够依据业务场景,管制匹配精度(正则匹配范畴)来调整检测精度和检测速度。02 兼容性RASP尽管能够关联应用程序上下文,然而对于业务的实在利用场景的了解依然不能做到精准。例如对于一些有运维属性的利用,须要管理员从Web间接编辑命令进行执行,然而探针并不能了解相似这样的业务场景,导致命令执行被拦挡。对于此类情况,能够通过配置白名单等形式来解决。另外一点,因为 RASP 探针须要工作在利用运行时环境,这就对探针的语言反对和框架反对提出了较高要求。悬镜通过“单探针”策略,在探针兼容性层面曾经失去金融电商、泛互联网、车联网、电信运营商、能源电力等行业的宽泛验证。 合则两利,分则两败当独自应用WAF或者RASP的时候,它们都因为本身的短板,在一些问题上显得力不从心。但当两者联合时,它们都将在本人善于的畛域大放异彩。1. WAF的劣势(1)攻打前流量预警:攻击者在施行真正的攻打前,会产生大量的异样流量,这些流量包含揣测服务器环境信息、可注入点尝试等。这些流量通常不会间接造成危害,因而RASP可能无奈获悉全量的攻打流量(只会解决可能有危害的流量),而WAF能够残缺记录异样流量。(2)对于CC攻打、爬虫、歹意扫描和脚本小子(script kiddie)这些大流量的攻打或者有显著攻打特色的流量,如果让其间接打到装有RASP插桩的利用上,会造成不必要的性能占用;另外因为RASP会占用应用程序的计算资源,因而也不适宜进行过于简单的计算。所以对于此类攻打,最好的方法就是应用WAF从流量侧对其剖析和拦挡。 2. RASP的劣势(1)拦挡混同和加密的流量:如前文所述,RASP并不需要对流量进行解密,能够依据场景对歹意行为进行剖析,无效拦挡被精心设计的攻打流量。(2)针对业务场景进行优化:基于RASP函数Hook的个性,不仅能够对通用类、框架类的函数进行插桩,也能够对自研代码局部进行插桩。例如对于利用在交付前来不及修补的破绽,能够通过函数级别的虚构补丁提供防护,保障利用按时交付。(3)极低的保护老本:除了依据须要配置虚构补丁外,因为RASP从底层函数进行爱护,所以基本上不须要对RASP的规定做任何调整即可实现利用的平安内建。(4)兼顾东西向流量平安:RASP工作在应用程序外部,不仅能够剖析南北向流量的危险,也能够剖析企业外部,利用之间东西向流量的危险。例如微服务架构中波及多个模块间的调用,它们之间通常会应用rpc等非http协定来进行数据交换,传统的 WAF 通常对其无能为力。而 RASP 则能够很好的解决这样的问题。(5)进攻0day破绽:RASP能够爱护利用运行时环境中的所有代码,包含自研代码、第三方组件、Web利用容器(Tomcat、Django、Flask等)。例如最近几个波及范畴较广的0day破绽:Log4j2 RCE(CVE-2021-44228)、Spring4Shell(CVE-2022-22965)、Fastjson反序列化破绽(https://github.com/alibaba/fastjson/wiki/security_update_20220523),尽管攻击方式有变动,然而最终施行攻打总是须要调用一些底层的办法/函数。无论攻打入口如何变动、攻打伎俩如何荫蔽,都无奈绕开最终要害函数的执行过程,因而RASP肯定能对其进行无效拦挡。3. RASP + WAF 图4 WAF与RASP组成纵深进攻体系(1)WAF提供实在的攻打起源:企业的利用通常都是在网关或者反向代理之后的,当流量进入利用时,RASP探针在大多数状况下其实只能拿到反向代理或者网关的IP地址,这对于分析攻击起源十分不利。能够借助WAF对所有进入的流量增加Headers(例如 X-Forwarded-For),标记实在起源IP,不便对RASP拦挡的攻打事件进行溯源。 (2)通过RASP拦挡信息生成WAF黑名单:攻击者如果能绕过WAF进行攻打,将会给利用带来累赘。通过自动化流程将RASP拦挡的攻击者起源IP生成WAF IP黑名单,将会大大减慢攻击者的攻打过程,给平安人员争取应急响应的工夫。 (3)依据RASP拦挡信息生成WAF策略:例如RASP将异样的SQL执行上报后,平安人员能够通过剖析得出那些敏感参数,并在WAF中进行标记,这既能够大大降低RASP给利用带来的性能耗费,同时也能让WAF警报更加精确。 (4)WAF与RASP联动,能够扩充利用平安防护范畴:近期攻防演练流动中,红方越来越喜爱应用 0day、内存马这样的伎俩进行攻打,RASP能够无效进行进攻。 图5 WAF+RASP部署架构示意图总结RASP和WAF最大的区别是:WAF的目标是发现可疑的流量,RASP则是发现具备威逼的行为。因为近期几次大的0day破绽事件,RASP因其特点,在防护未知攻打方面,施展了重要的作用。然而RASP并不是要取代WAF,两者是齐全不同的技术,各有各的劣势,也各有各的有余。WAF作为恪尽职守的哨兵,监督来自内部的可疑入侵;RASP则作为利用的贴身保镖,进攻来自外部和内部的致命攻打。 云鲨RASP基于运行时情境感知技术的新一代利用威逼免疫平台.悬镜云鲨RASP自适应威逼免疫平台作为悬镜第三代DevSecOps智适应威逼管理体系中经营环节的继续检测响应平台,通过专利级AI检测引擎、利用破绽攻打免疫算法、运行时平安切面调度算法及纵深流量学习算法等关键技术,将主动防御能力“注入”到业务利用中,借助弱小的利用上下文情景剖析能力,可捕获并进攻各种绕过流量检测的攻击方式,提供兼具业务透视和性能解耦的内生被动平安免疫能力,为业务利用出厂默认平安免疫迎来变革倒退。云鲨RASP 点击应用

April 11, 2023 · 1 min · jiezi

关于sass:怎么选择浏览器想天浏览器用户体验报告

对于浏览器这一主题,从来为人所器重,简直每一年都有这样一个问题:您用的是什么样的浏览器?浏览器这款软件始终处于开发阶段,每一年都有许多新浏览器问世,而且许多一般浏览器都在优化和降级。 当初人们对浏览器性能的要求越来越高了,为了可能给用户带来更好的用户体验,明天咱们就为大家介绍一款新的浏览器——基于内容的浏览器——"想天浏览器",心愿能给大家提供一些帮忙。上面就与您浅谈这个浏览器的特点。 1.零广告体验和广告过滤性能 不拘一格的小广告堪称强占了许多浏览器的网页内容,许多人并不看好浏览器上呈现的广告,这款浏览器是一个无广告浏览器,其广告拦挡性能能使浏览器网页放弃简略。 2.快捷的操作和页面快捷键快捷键在浏览器页面中可算是实现了很多操作,想天浏览器在浏览器中有各种快捷键来解放您的鼠标使您很容易地实现对页面的操作。 3、网络收藏夹性能。 想天浏览器心愿可能打造这样一款网络收藏夹,可能给你完满的资源收集、整顿、分享体验。不仅如此,想天浏览器可能通过提供的网络服务与团队顺手共享资源。 4.网页弹幕。 网页上也能发弹幕?想天浏览器破天荒地把「弹幕」性能搬到了网页上 5.更加丰盛的体验和亮暗的主题设定 不同环境中,大家对于浏览器的亮度要求都会有所不同,这个浏览器可能使大家调整亮度和含糊水平,大家应用时,可能依据须要调整背景。 想天浏览器是一款新的浏览器,它领有的实用功能也有很多,并且它还领有一个独特的搜寻栏,能够让用户在应用的时候,缩小搜寻步骤,间接进入本人想要进入的页面,这样在应用的时候就会更加的方便快捷。此外,这款浏览器还有好用的书签性能和插件性能。从实用性上而言,也是一款很很值得去体验的一款浏览器

September 22, 2022 · 1 min · jiezi

关于sass:用友BIP升级数智底座iuap能否代表中国PaaS平台的最高实力

最近几年,PaaS成为了云计算畛域越来越重要的变量。IaaS巨头在做PaaS。阿里云的钉钉、产业智能OpenTrek,蕴含一整套操作系统、开发工具、商业剖析等PaaS平台的能力;腾讯云在2021年财报中也指出,腾讯to B业务被动调整支出构造,将在视频云、网络安全等PaaS畛域加大资源投入。 SaaS公司也在做PaaS。无论是国外的Salesforce、Workday等SaaS巨头,还是国内的北森、销售易、商越等各畛域SaaS公司,都不谋而合地发力PaaS平台。 中国信通院公布的《云计算白皮书2021》显示,从2018年开始,在中国的私有云市场中,PaaS的增速曾经超过IaaS与SaaS,成为增速最快的细分畛域。 这其中,用友是最早研发PaaS平台的企业之一。2014年,用友公布iuap平台,并称之为中国最早推出的纯云原生PaaS平台。 2016年,用友减速云转型,并在2020年推出云转型策略级产品用友商业翻新平台——用友BIP,往年最新降级的用友BIP 3将会在2022寰球商业大会上公布。其中,iuap作为用友BIP的“数智底座”,为企业数智化转型提供技术平台、业务中台、数据中台、智能中台、连贯集成、低代码开发平台等服务与解决方案。 近日,「甲子光年」与用友围绕iuap平台的倒退历史、产品定位与外围亮点进行了交换。作为国内当先的企业云服务与软件提供商,用友的iuap是否代表中国PaaS平台的最高实力? 用友PaaS并非横空出世为了更好了解iuap在用友产品体系中的定位,须要先理解用友的云转型历史。 成立34年的用友,至今经验了三大策略倒退阶段: 1.0期间的财务软件阶段(1988~1997)2.0期间的ERP管理软件阶段(1998~2014)3.0期间的云服务阶段(2015至今)通过7年云转型之后,现在的用友曾经成为一家优良的企业云服务公司。2016年,用友的软件业务收入比例依然高达92.9%,到2021年云服务业务的支出首次超过软件业务,达到59.57%。 2020年推出的用友BIP,是一个集工具、能力和资源服务为一体的云服务集群。 其中,iuap就是用友BIP的云原生PaaS平台。 PaaS平台是将复用性高的底层技术进行积淀与封装,通过“平台化”的模式来升高开发SaaS服务的门槛,以及进行产品多元化的定制服务,从而大幅提高软件的交付效率。此外,从商业价值上来说,PaaS平台还能够吸引更多的独立开发软件商(ISV)成为平台的客户,打造软件生态。 用友在2014年向市场正式推出iuap,但实际上这种平台化的思维用友从ERP时代就开始实际了,这能够看做iuap的前身。 用友网络副总裁、iuap利用平台总经理刘剑通知「甲子光年」:“在过来,业内做企业软件根本都是下层的利用接入底层的数据库,财务就是财务,供应链就是供应链,彼此独立开发。但在2000年,用友研发第一代高端ERP产品NC系列之时,就采纳了平台架构,数据库下面先有平台,平台下面才是利用。” 到2020 年,随着用友推出了商业翻新平台——用友BIP,iuap通过多年的市场培养和架构降级,成为了用友 BIP的技术底座,用友行业及畛域云都对立构建在iuap之上。在往年4月19日2022用友BIP技术大会上,iuap平台公布多项独创技术,通过“三中台+三平台”打造了新期间企业数智化新底座: 三平台:技术平台、YonBuilder低代码开发平台、YonLinker 连贯集成平台;三中台:业务中台、数据中台、智能中台。 实际上,三平台次要解决开发问题,从NC期间就有了,再加上业务中台,都是天然的积攒与积淀;而数据中台与智能中台,偏向于前瞻性的定义。 在用友看来,在数据层面,当初to C端的数据驱动,比方用户行为剖析、广告举荐等都很成熟了,但在to B端的数据利用整个业务都还在摸索阶段;在智能层面,往年咱们成立了研发的一级部门智能中台,继续加大VBA机器人、RPA机器人等智能技术的研发。iuap会在这两个方向继续投入。 一个“能力更大、降级更快”的PaaS放眼整个云计算市场,用友尽管布局PaaS较早,但也并非专做这一块,无论是IaaS厂商还是SaaS厂商,也都在推出本人的PaaS平台。在七嘴八舌的PaaS市场,用友iuap作为用友BIP 3的“数智底座”,如何定义本人的生态位?对此,刘剑示意“不是同一类”。 首先,国内的SaaS厂商多为守业公司,通常是从某个细分畛域切入做深做精,其推出的PaaS平台因而也带有相应的垂直属性,比方钉钉属于协同PaaS,北森属于人力PaaS,纷享销客属于销售PaaS,商越属于洽购PaaS等等。 相比之下,用友BIP 3基于iuap的平台化技术能力,已笼罩财务、人力、供应链、洽购、制作、营销、研发、我的项目、资产及协同等外围畛域,是一个综合性的云服务平台。 值得一提的是,去年业内低代码平台爆火,iuap中的YonBuilder低代码平台就是此类工具。刘剑示意,YonBuilder定位有两个,一类是业余开发,提供工程管理工具;一类是疾速开发(专制开发)工具,提供低代码与无代码的能力。为了疾速欠缺YonBuilder平台的能力,用友在去年1.5亿元收买了低代码公司APICloud。 其次,不同公司的PaaS平台,复杂度与面向的用户群体也不一样。「甲子光年」在2019年的文章中曾依据复杂程度将PaaS分为四层,金字塔尖的第四层能凋谢给ISV做SaaS产品研发,第三层能让客户、集成商做开发,第二层只能提供给SaaS厂商外部开发人员开发,第一层则只是凋谢一些API接口和高可配置个性(如自定义对象、BI报表、BPM流程引擎以及大量配置参数等)。 用友iuap的能力曾经位于第四层。据介绍,iuap的大部分用户为大型企业客户,买回去本人做研发;但也有一些客户基于iuap做供销系统的开发,本人建租户,再售卖给他们本人的客户。 比照来看,国内大部分SaaS厂商推出的PaaS平台依然停留在第三层或者第二层。比方,北森的PaaS平台鲁班向客户凋谢,满足个性化的人力资源零碎扩大;商越的洽购PaaS平台千机阁,在2021年推出时并不对外,只供SaaS厂商内部人员定制化开发。 复杂度越高,凋谢的水平越高,越有利于构建本人的软件生态。 而与IaaS厂商推出的PaaS相比,用友iuap定位“云中台”,是一朵中立的PaaS。 2021年6月,iuap 实现了新一轮的降级优化,从基础设施层面动手,进行了全面的产品升级和微服务革新。降级之后,iuap技术平台底层实现了多云适配,目前反对的云厂商包含华为云、阿里云、腾讯云、亚马逊AWS及企业自建IDC。 在多云适配的根底上,iuap做的另一项重要工作,就是撑持用友BIP版本的统一性,让客户在尽可能快的工夫内体验到最新的产品性能。 过来ERP时代软件的降级是十分慢的,甚至一套架构能用十几年。随着互联网衰亡,企业的软件开发谋求疾速迭代,但技术的复杂性、企业的多云治理使得企业级的软件降级变得比过来更难。 刘剑通知「甲子光年」:“作为云中台,iuap须要向下对接几大云厂商、国内的上百个数据库,甚至同一家云厂商的私有云、公有云都是齐全不同的版本。” 用友iuap是如何解决的呢? 一是推出YMS(Yon Middleware Service)云中间件,对立微服务的技术标准,将具体业务与底层技术进行解耦,对业务屏蔽不同的云计算厂商,不同数据库的差别,让下层业务不用一一适配。 第二件事是工程治理,要把所有利用的模型全副梳理进去,整个用友BIP的几千名研发人员要依照同样的流程标准来研发产品,这是一个非常复杂的软件工程治理问题。 现在,iuap已实现寰球独创的云上云下一体化极速交付。当云转型曾经被宽泛证实是一个确定性方向,剩下的就只剩投入与保持的较量。 以“成为数智企业”为主题,2022寰球商业翻新大会将于8月26日-27日举办,并全程直播。届时,用友BIP3将迎来重磅首发,以交融服务群赋能企业数智化、产业互联网,铸就数字经济时代的大国重器!

August 16, 2022 · 1 min · jiezi

关于sass:SassScssLess-是什么

Sass (Syntactically Awesome Stylesheets) 是一种动静款式语言,Sass 语法属于缩排语法,比 css 比多出好些性能 (如变量、嵌套、运算,混入 (Mixin)、继承、色彩解决,函数等),更容易浏览。 Sass 的缩排语法,对于写惯 css 前端的 web 开发者来说很不直观,也不能将 css 代码退出到 Sass 外面,因而 Sass 语法进行了改进,Sass 3 就变成了 Scss (Sassy CSS)。SCSS (Sassy CSS) 是 CSS 语法的扩大。这意味着每一个无效的 CSS 也是一个无效的 SCSS 语句,与原来的语法兼容,只是用 {} 取代了原来的缩进。 Less 也是一种动静款式语言。对 CSS 赋予了动静语言的个性,如变量,继承,运算, 函数. Less 既能够在客户端上运行 (反对 IE 6+, Webkit, Firefox),也可在服务端运行 (借助 Node.js)。 Sass 与 Less 区别 应用:Less: https://less.bootcss.com/usage/ Sass: https://www.sass.hk/docs/ 不同之处1、Less 在 JS 上运行,Sass 在 Ruby 上应用。Sass 有工具库 Compass, 简略说,Sass 和 Compass 的关系相似于像 Javascript 和 jQuery 的关系,Compass 在 Sass 的根底上,封装了一系列有用的模块和模板,补充强化了 Sass 的性能。 ...

August 2, 2022 · 2 min · jiezi

关于sass:vue引入sass

sass世界上最成熟、最稳固、最弱小的专业级CSS扩大语言! vue-cli 装置sassnpm install -D sass-loader@10.1.1 sass详见官网 装置谬误如果你应用 npm install -D sass-loader sass默认装置了高版本的sass-loader,可能会呈现上面的谬误: TypeError: this.getOptions is not a function Similar to what @KostDM said, in my case it seems like sass-loader@11.0.0 doesn't work with vue@2.6.12. I installed sass-loader@10.1.1 and it worked like a charm again. vue3 也不能应用更高版本的sass-loader. 解决办法只有装置sass-loader@10.1.1就能够了。

June 10, 2022 · 1 min · jiezi

关于sass:Sass-使用

sass应用一、sass环境1.sass简述Sass是最早的Css预处理语言,采纳Ruby语言编写,Sass从第三代开始,放弃了缩进式格调,并且齐全向下兼容一般的Css代码,这一代的Sass也被称为Scss 2.sass特点不能间接在页面中解析,须要应用ruby事后翻译成css文件Sass性能更加弱小,领有流控语句等齐全兼容 CSS3,在 CSS 语言根底上增加了扩大性能,比方变量、嵌套 (nesting)、混合 (mixin) 3.Sass & ScssSass和Scss平时都称之为Sass,是同一个货色。区别有两点: 文件后缀 (扩展名) 不同: Sass 以“.sasss”为扩展名,Scss 以“.scss”为扩展名;书写形式 (语法) 不同: Sass 以严格的缩进式语法规定来书写,不带大括号和分号; Scss 的书写形式和 Css 语法十分相似(越来越受欢迎起因之一)。4.解析Sass办法一:应用第三方编译工具koala,官网:http://koala-app.com/办法二:应用vscode插件:easysass,插件配置参考:https://marketplace.visualstu... 二、sass语法1.变量Sass 应用美元符号“$”来申明变量。Sass的默认变量个别是用来设置默认值,而后依据需要来笼罩的,笼罩的形式也很简略,只须要在默认变量 之前 从新申明下变量即可。default:升高变量的优先级(备胎)代码中应用: $fontSize:60px;$bgColor:blue !default; //全局变量$bgColor:skyblue;body { font-size: $fontSize; background-color: $bgColor; div{ $bgColor:red; //局部变量 background-color: $bgColor; }}2.@importSass扩大了Css的@import规定,让它可能引入Scss和Sass 文件,合并并输入一个繁多的Css文件。被导入的文件中所定义的变量或 mixins 都能够在主文件中应用。应用: // test.scss$bgColor:skyblue;// index.scss@import "test";body { background-color: $bgColor;}3.嵌套a.选择器嵌套选择器嵌套,默认是叠加后辈选择器 div { h3 { color: red; }}b.属性嵌套div { border: { // 留神body 前面有个英文冒号 top:1px solid red; bottom:10px dotted blue; }}c.伪类嵌套div { &:hover { background-color: red; } &::after{ content: "after"; }}4.代码复用a.混合宏我的项目中有几处小款式相似,能够应用变量来对立解决。须要重复使用大段的款式时,变量就无奈达到目标了。这个时候就须要混合宏来搞定。@mixin 用来申明混合宏@include 用来来调用申明好的混合宏。毛病:混合宏对于复用反复的代码块很不便,但它会生成冗余的代码块,雷同代码块不能智能合并。比方在不同的中央调用一个雷同的混合宏时。应用: ...

May 16, 2022 · 3 min · jiezi

关于sass:vue3vitetselementplus搭建项目三

持续上期我的项目搭建,这期次要是配置环境变量、element-plus援用、跨域设置,整体布局等一、环境变量在理论开发中,开发环境和测试环境、生产环境所应用的域名不同,每次批改url比拟麻烦,依据不同环境配置不同环境变量,能够无效解决此类问题。 1、在根目录创立.env.development和.env.production开发和生产环境,在文件中配置url,如下 VITE_API_BASEURL = https://xxx.com/api/admin2、TypeScript 的智能提醒: 在根目录下找到env.d.ts文件,有的装置的vite版本没有这个文件,则本人创立一个,文件中配置如下: 3、应用 在封装axios接口申请文件中,找到axios.create下baseURL,配置如下: 留神:如果我的项目中须要新增一个测试环境,则须要进行如下配置: vite build --mode test而后在根目录下新建.env.test文件,在此文件中配置测试环境的域名就OK了。 二、跨域1、配置在vite.config.ts文件中配置跨域。 server: { proxy: { // 选项写法 '/admin': { target: 'https://xxx.com/api', // 代理指标地址 changeOrigin: true, // 兼容基于名字的虚拟主机,true 代理服务会把origin批改未指标地址 rewrite: (path) => path.replace(/^\/api/, '') // 门路重写 } } }留神:比如说接口是:https://xxx.com/api/admin/user,https://xxx.com/api/admin/login等的时候,咱们能够应用/admin去配置,将指标地址改成https://xxx.com/api,这样接口申请的残缺地址就会变成https://xxx.com/api/admin,而后页面中的申请门路只有拼接上/user就ok了。 三、element-plus应用 1、装置 npm install element-plus --save2、援用个别援用是间接在main.ts中引入就能够全局应用了,然而这里举荐大家应用插件的形式进行援用,具体操作如下:在src新建plugins/element-plus.ts文件 而后在main.ts中引入即可 import elementPlus from './plugins/element-plus'createApp(App).use(router).use(store).use(elementPlus).mount('#app')四、布局 1、在src目录下创立layout文件,文件夹下新建AppLayout.vue,内容如下。 <template> <div class="common-layout"> <el-container> <el-aside width="200px"> Aside </el-aside> <el-container> <el-header>Header</el-header> <el-main> <router-view /> </el-main> </el-container> </el-container> </div></template><script lang="ts" setup></script><style scoped lang="scss">.el-header { background: #b3c0d1; color: #333;}.el-aside { background: #d3dce6; color: #333;}.el-main { background: #e9eef3; color: #333;}.el-container { height: 100vh;}</style>留神:页面布局高度要撑起来,之前的解决形式是给html、body、#app设置height:100%,在这块间接给el-container设置height:100vh,能够达到同样的成果。 ...

April 26, 2022 · 1 min · jiezi

关于sass:如何用less和sass生成paddingmargin的四个方向多个值

前端工夫搭建前端框架时,遇到的一个小问题记录下: 之前针对页面中的padding和margin设置不同值都会在公共款式文件下进行独自设置,如下图,想到less和sass都反对函数操作,对代码进行优化。 sass代码: /* * 动静生成padding和margin值 * $position 四个地位的简写设置 * $type padding个margin的简写设置 * form 1 throught 6 是循坏1-6的值,设置进去的边距最大间隔是30,如果须要其余的能够持续增加 * $val: $i*5 是设置间隔步长是5的倍数 */ $position:("t":"top", "b":"bottom", "l":"left", "r":"right"); $type:("p":"padding", "m":"margin"); @each $item in $type { @each $list in $position { @for $i from 1 through 6 { $val: $i * 5; .#{nth($item,1)}#{nth($list,1)}#{$val} { #{nth($item,2)}-#{nth($list,2)}: #{$val}px; } } } }less 边距设置 // 边距@arr: 5, 10, 15, 20, 25, 30, 35, 40, 45, 50;each(@arr, { @num:extract(@arr, @index); .mt@{value} { margin-top:~"@{num}px"; } .mr@{value} { margin-right:~"@{num}px"; } .mb@{value} { margin-bottom:~"@{num}px"; } .ml@{value} { margin-left:~"@{num}px"; } .pt@{value} { padding-top:~"@{num}px"; } .pr@{value} { padding-right:~"@{num}px"; } .pb@{value} { padding-bottom:~"@{num}px"; } .pl@{value} { padding-left:~"@{num}px"; }});

March 25, 2022 · 1 min · jiezi

关于sass:在线时代先进文档编辑器设计探索

本文想借语雀编辑器 4.0 版本公布,交换一下,在无纸化办公的在线时代,语雀在文档编辑上的思考和摸索。 在2016年,蚂蚁的一群工程师厌弃公司外部的文档工具太难用了,于是他们开始捣鼓一套本人的 Markdown 产品,于是语雀就这么诞生了。 语雀经验了十分屡次的改革和倒退。始终到往年咱们推出了文档编辑器 4.0,明天想和大家交换的也是这么多年来,语雀是怎么一步步摸索过去的,以及将来咱们要去往何方。 在线文档的倒退 前段时间看到一个网友吐槽:“当初的在线文档产品还是在照搬 Word 的那套体验。” 而 Word 的设计初衷其实是围绕着桌面出版。这套零碎的设计,是为了在线上还原与印刷统一的成果,所以会有很多印刷相干的设计和逻辑。 这套零碎设计得切实太过于优良和深入人心了,以至于当初很多在线文档产品仍旧解脱不了它的影子。 然而随着时代的倒退,尤其是疫情,让最最传统的企业都曾经实现了无纸化转型。所以咱们畅想,以文档为核心的沟通协同是不是能够更加地高效和简略呢? 这是咱们所畅想的在线时代先进文档的特色:无边界、可交互、多样化。 多样化咱们所了解的文档多样化是指,创作内容从文本转向了更多样的表达形式。 咱们认为人类写作的实质是为了表白,而表白素来不止于文字。图形、表格、表情、视觉的、听觉的...所有能够辅助你的表白的都能够成为你的文档之一。目前语雀曾经反对了 43 种各种各样能够插入的卡片。但这同样也带来了一些问题。 应用老本 设计师经常会面临一个很悲伤的事实就是,当用户想要的性能越多,它的应用老本也会逐步回升。 心理学上有一个乏味的实践:Hick's Law,就解释了这样一个景象:当用户面临的抉择数量越多,他所须要的反馈时长也会逐步减少。 指令交互在过来,咱们将大多数性能都平铺在工具栏上,就不可避免地会面临这种状况。即使起初微软推出了 Ribbon 工具栏,但操作门路也随之变长,并没有完满地解决这一问题。 但指令交互呈现了。在语雀的新版编辑器中,在任意地位输出Command+/,都能够唤起一个斜杠面板,再联合一些特定指令,你甚至不须要来到键盘便能够实现整个输出。 在人机交互的最晚期,用户须要记住一些特定的指令来实现输出。这种输出形式学习老本很高但十分地高效。直到 1973 年,施乐公司设计了最早的 GUI 界面,人机交互才被一般公众所承受。但随着电脑的性能越来越多,应用老本也在逐步回升。指令交互就联合了这两种交互的长处,既高效又直观。在将来咱们甚至能够凋谢定制指令。 无边界随着时代的倒退,内容载体逐步从纸质媒介转到了电子屏幕上。你的创作不再受限于物理限度,整个宽度由屏幕所决定。你能够让读者像看网页一样去设计你的文档。 而传统文档就有各种各样的边界。比方须要在文档里设置纸张尺寸,抉择页眉页脚...这些印刷相干的性能照样搬迁过去之后,反而会减少产品的复杂度,同时也限度了用户的内容展现。 咱们心愿将来文档更加的自在、舒服。于是咱们去除了纸张北京,让整个内容齐全由用户的屏幕所决定。但这时设计师便会面临新的问题:适配。 外围适配策略 当初的屏幕尺寸越来越多样化,既有 24 寸 2K 高清屏,也有 16 寸笔记本,甚至越来越多人开始尝试分屏工作。 那怎么让用户在各个尺寸下都用的很舒服呢? 前者是比拟常见的适配问题,而上图则是文档非凡的适配问题。语雀文档的构造非常灵活,用户能够在多种页面构造下随时切换。因而适配时还需思考到以上六种文档构造场景。 这就让咱们的适配问题变成五种常见的容器尺寸乘以六种文档构造,十分地简单。为了解决这种简单的状况,咱们制订了三条外围的适配策略:● 优先保障重要模块● 始终保障注释可读性● 始终保障注释屏幕居中 策略1:优先保障重要模块 当屏幕无限时,让所有内容齐全展现是不事实的。于是咱们设定了模块优先级,当检测到容器宽度达到临界值时,逐级去收起次级模块。 这里有四条临界值,每一条都是咱们认为该文档构造最合适的浏览宽度。 策略2:始终保障注释的可读性 注释的可读性是最重要的。因而咱们做了一些细节的适配策略。比方右侧面板在不同宽度下关上时,展现策略则齐全不同。当宽度足够时,右侧面板会挤压注释,从而进步屏效比。而当宽度有余时,右侧面板关上则变成悬浮式,从而保障注释始终有肯定宽度。 策略3:始终保障注释屏幕居中 为什么会有这样一条策略呢?其实一开始咱们采纳的是最传统的分栏式布局。这种布局的益处就是规定非常简单,而且大多数产品都是这么做的。 但上线之后,咱们收到了十分多用户的吐槽。因为在应用大屏时,用户须要转动头部能力看到注释。于是咱们调整了适配策略,优先保障注释是居于屏幕居中的,而后再实时地计算两侧的宽度,最终决定另外两栏(目录与纲要)的布局策略。 这导致了咱们的适配规定十分的简单,每次用户关上网页咱们都在背地拼命地动静计算布局。但这简单的规定的确让咱们播种了更加舒服的浏览体验。 卡片级别的适配规定除了文档级别的适配规定,咱们还将适配规定细化到了卡片级别。为什么这么做呢?举个例子大家应该就有所领会。当注释的宽度变得十分长的时候,其实是非常容易看串行的。这就意味着其实不同的内容类型是有不同的适配规定的。 比方文本类,咱们会采纳这种定宽布局,图片类则采纳等比缩放的形式,而表格则采纳拓展布局。在新版编辑器中,在表格上点击←→按钮即可开展表格,并且不影响注释的宽度。 ...

February 18, 2022 · 1 min · jiezi

关于sass:对话摩乐吉红杉投资服务OPPOvivo的3C数码生态链公司如何攻下-12-万亿市场

10 月底,第 10000 家小米之家在深圳落成。 自 2021 年以来,小米之家迅速扩张,并以每个月 1000 家的规模迅速增长至当初行将冲破 10000 家。 但你可能不晓得的是,小米的次要竞争对手 OPPO 以及 vivo,虽未颁布具体的门店数量,但业内认为他们的门店别离维持在 20 万家以上。 试想一下,当数以百万计的消费者涌入全国 600 个城市的 40 万家门店的时候,品牌商该当如何让消费者称心?在 MUJI、网易严选、故宫文创等品牌的背地,厂商和供应链怎么能力做到互相协调和失常运行? 所有严厉的问题,都能够由一家公司给出答案,它就是——摩乐吉。 摩乐吉的服务案例中,您和您的团队最称心的产品 or 产品线是什么? 摩乐吉:咱们有很多大家相熟的客户,OPPO vivo 呀、MUJI、网易严选、故宫文创等等,对了 8848 也是咱们的客户之一。 比起独自的产品和产品线来说,咱们最引以为傲的是「摩乐吉专有的生态链产品整合服务」 最引以为傲的?看来这是摩乐吉的拳头业务,能开展讲讲吗? 摩乐吉:给你看一张摩乐吉生态链模式的图,能感触到这三方之间的业务断层;品牌方大多都是生产互联网公司,而渠道方和生产方还没有进入产业互联网经营,合作起来很艰难。 这就像让你当初去乡里卫生所瞧病,想用小程序挂号,在线上付检查费;护士却给你三张单据,填罢,还反跟你要了一块钱凑整找零。 为了加重信息差给上下游企业带来的苦楚,咱们拿下了国内最大的 3C 生态链整合工作,品牌方在摩乐吉能够找到单个品类最优质的产品、咱们会用最优质的供应商为客户生产智能硬件、甚至渠道助销和供应链金融都能够在摩乐吉实现。 咱们关注到从 2016 年成立后,到年营收冲破 3 亿、实现融资,摩乐吉只用了 3 年工夫。是什么带来了历史进程的拐点? 摩乐吉:从 2017 年至今,咱们陆续拿到了网易、步步高团体、阿里、小蠢才智能儿童系列的固定订单,这对一个不到 5 岁的企业来说,是很不错的问题。如果要把它归总到一点的话,我认为是因为咱们做了智能生态链产品整合的高速公路,从这里走就是又快又舒服。 超高响应度的 ODM,品牌用得舒心,工厂卖得省心。这就像你用了第一台 iPhone 之后,就回不去了。 摩乐吉团队是从什么时候开始接入维格表的?为什么想要接入维格表? 摩乐吉:往年二月份吧,咱们老大开始接触维格表,用了一段时间很合乎咱们过后急需解决的三个大问题,从四月份开始就正式接入全公司应用了。 三个大问题? 摩乐吉:对,首先是外部选品,过来选品材料是放在选品部共事的共享盘里,如果人到职了没有齐全交接,那被脱漏的未选品就隐没了。 为客户及时提供大量优质产品是很重要的,所以咱们把选品材料全副转移到维格表在线保护了,有权限不拍丢,分类、筛选、查找都十分好用。 第二就是产品材料,以前是手工录入,当初只须要渠道共事把收集表链接给供应商,他们填好之后咱们审核一遍就搞定了,接入维格表之后渠道共事加班申请都少了三分之二。 第三是曾经上架的产品,咱们用维格表 API 跟内部多路买通去保护,比方产品数据在线下门店的 ERP 零碎或是 B 端 C 端的商城须要保护的时候啦,不必一个个去改,间接维格表里批改其余平台就主动改好了。 ...

December 16, 2021 · 1 min · jiezi

关于sass:让财务开心到飞起vika维格表-x-腾讯千帆场景连接器实现发票信息自动录入

上次介绍了vika维格表 x 腾讯千帆场景连接器可解决人员考核后果主动收集以及一些自动化案例,行政考核问题解决了一部分,那财务问题呢? 这次,vika维格表 x 腾讯千帆场景连接器带来了:发票信息录入的自动化解决方案——让你意识的财务,立即笑出声、高兴到飞起的那种。(不信,你转发给他们看,中国人不骗不中国人) 很多人对财务的印象就是:庄重、谨严、认真。还有,加班…… 能够说,财务是整个公司内最「易燃易爆」的低压地带,试想一下:如果你每天加班就为了录入没完没了的发票,还不能出错,换谁都感觉压力山大。 发票录入繁琐发票报销看似简略,但发票的类型有很多种,每种发票须要录入的信息也有差异。再加上公司内通用的各类型报销零碎,要求生产明细账单与发票一一对应,录入难、核查难。 发票核查难再加上公司内通用的各类型报销零碎,生产明细账单须要与发票一一对应。高频率的信息录入公司财务每开进来一张增值税专用发票,或是每拿到一张专用发票都要去表格里做注销。审计压力大这还不算琐碎,等到要按不同维度进行审计的时候,须要将发票号码、金额一张张填写下来。 税金计算不能出错审计实现了,一张电子发票的使命还没有完结:增值税专用发票上的信息,须要上报给税务局来做税金抵扣。归档量级大且难这就须要一个增值税发票注销账,往往须要和电子发票一起入档,这就减少了财务的工作量。 小小的发票却带来了微小的工作量,但最可怕的是:耳濡目染中,所有人都默认财务的工作就是这些干燥的录入与审计工作。 但为什么会这样?财务就应该一辈子围绕 Excel 填表吗? 当然不是。试试用全新的多维表格:vika维格表,用自动化、数字化的形式解决「发票录入与归档」的问题! 没有人回到工作的一开始,解决「发票录入」问题。 vika 维格表 x 腾讯千帆场景连接器,这次带来了新的「发票录入与归档」自动化解决方案,搭配财务管理场景模板,让财务人员再也不必手动录入发票信息了。 同时,vika 维格表齐全的财务解决场景,让发票、税金一次主动录入后,其余表可间接援用,全方位的缩小工作量。 vika 维格表 x 腾讯千帆场景连接器 x OCR 增值税发票辨认实现 发票信息智能辨认,并主动整顿归档 实现成果在 vika 维格表中,新建一个发票专用表,维格列依照须要的数据信息设定匹配(你也能够通过智能公式,设定你须要的数据),预留一个「附件」维格列。 上传电子发票到附件列。 发票信息(发票号码、开票日期、开票金额等)主动录入。 如何实现?每当维格表有发票文件上传时,会通过场景连接器的【OCR- 增值税发票辨认】性能,对发票信息内容进行辨认,同时将发票中的重要信息:发票号码、开票日期、开票金额等等信息自动更新到维格表。 什么是 OCR?OCR 全称为:Optical Character Recognition,光学文字辨认。指对文本材料进行扫描,而后对图像文件进行剖析解决,获取文字及版面信息的过程。vika 维格表 x 腾讯千帆场景连接器应用的 OCR 技术是基于腾讯研发世界领先的人工智能深度学习技术,将图片上的文字内容,智能辨认成为可编辑的文本。反对发票、名片等卡证类和票据类的印刷体辨认,能够无效地代替人工录入信息。 扫描下方二维码,退出群聊,获取手把手教学~ 更减负的是:不仅是发票辨认,你能够在维格表中,任何须要发票信息的表格内,间接援用发票信息。无需二次录入,轻松制表,不用再为审计头疼,数据与发票归档可随时溯源。 在应用该场景解决方案前,国内某企业财务人员须要:日常报销:分别发票的真伪、是否重复使用征税抵税:提取发票信息、制作增值税专用发票台账审计环节:校对发票信息、凭证归类每日都要对当天的发票进行归档和整顿,发票数量繁多,且都须要相干人员(有时甚至须要多人协同)进行归档、信息录入和校对。 在应用该场景解决方案后,该企业财务人员只需: 上传电子发票到 vika 维格表中在其余维格表中,援用数据,轻松实现报表在人工校对中常常会呈现的信息录入谬误、效率低下、手工复制耗时耗力等状况,也失去无效解决。vika 维格表 x 腾讯千帆场景搭建的自动化工作流程,大幅缩小人力老本并进步工作效率,同时 OCR 智能辨认的错误率更低。 陆续更新除此之外,腾讯千帆场景连接器更多 AI 能力和相干模板正逐渐凋谢,借助人工智能 NLP 技术进行情绪辨认、应用 OCR 文字辨认技术智能提取名片内容等相干模板行将上线,退出 vika 维格表 x 腾讯千帆场景连接器群聊,领先体验更多功能: ...

December 16, 2021 · 1 min · jiezi

关于sass:语雀新表格数据表

1 分钟意识语雀数据表戳链接理解数据表 如果看完视频还不太分明,能够接着往下看语雀数据表到底是什么? 语雀数据表是一种全新的表格类型,它与传统的 excel 或者语雀表格最大的不同之处在于,数据表的每一个字段的数据格式是固定的。 目前,语雀数据表曾经反对了单行文本、多行文本、数字、图片等 14 种内容类型。 那么有了确定的数据类型,又有什么用呢? 1、数据录入更标准excel 不限定输出类型,存在录入不标准问题(存在7月1日/07-01等多个同义输出内容);数据表每列输出的内容类型固定(如日期类型,只能从组件中抉择日期),保障信息录入的标准。 2、数据结构化能力通过“分组”“行高设置”等性能,数据表能够出现更加清晰、结构化的的数据。这个性能有点像 excel 里的数据透视表,但用起来比数据透视表简略很多。 3、领有表单收集能力用 excel 收集信息,只能来回发送文件,而且数据信息无奈隔离,容易在填写过程中造成误改删,而语雀数据表则能够作为「表单」派发,通过表单性能收集信息,数据能够齐全隔离,还能让录入的数据更加标准。 戳链接理解「表单」 4、视图展现能力传统表格只有单元格视图,语雀数据表目前已反对卡片视图、表格视图、看板视图,将来还将反对更多视图。 理解完这些信息再回头看一下文章结尾的视频,是不是对数据表是什么更分明了呢? 如何疾速上手数据表为了帮忙大家疾速上手这个新鲜的小工具,咱们筹备了几个模板,你能够通过【新建】-【从模板新建】-【数据表】找到它们

December 1, 2021 · 1 min · jiezi

关于sass:语雀小记初长成碎片化信息记录工具

前言:碎片化信息是什么?“这是一个碎片化的时代,信息碎片化、受众碎片化、媒体碎片化”,阿尔文·托夫勒在《第三次浪潮》一书中这样形容。 从字面意思上而言,碎片化信息是残缺信息的一部分:信息被拆分成多个片段,被简化或者被高度概括。它们可能是讲座中的一段发人深省的对话,也有可能是通勤路上突然刷到的一篇博客文章。一方面,这些通过提炼加工过的信息,可能短期内疾速裁减咱们信息的广度;另一方面,咱们也放心这些切割后再通过高度加工的信息不足肯定的严谨性和可靠性。 与传统的了解不同,国内学术出版社 IGI Global 对碎片化信息的定义是:须要通过大量的致力能力依照肯定的意义组织起来的孤立数据或者信息(Separate sources of data and information that require significant effort and skill to combine in a meaningful way)。 这段释义令人印象最粗浅的中央在于,它并没有强调碎片化信息自身的个性,而是强调了信息之间的逻辑关系。这一点启发了咱们:尽管信息的收集过程可能是碎片化的,非间断的;然而对于信息的认知和再组织应该是趋向于整体的,有逻辑的。 语雀小记:从碎片化到结构化的信息记录工具始终以来,语雀因为看重常识的条理性和结构性,取得了很多用户的青睐,咱们也惊喜地发现,语雀清晰的目录构造就如同造成了咱们外接大脑中的思维宫殿,信息点之间的逻辑关系越明确,咱们对于这个信息点的记忆就越粗浅,对于信息的调用也会更疾速。 基于对碎片化信息价值的认可,咱们心愿可能利用语雀特有的结构化记录的个性,帮忙将孤零零到处散落的信息点,变成一个相互之间有分割甚至是造成谨严逻辑关系的信息网络,让这个网络自身成为一个坚韧的牢靠的外接信息大脑。 因而,咱们设计了语雀小记这个碎片化记录工具,内容以系统的模式记录下来之后,可能以一个较为整体的模式输入到语雀的知识结构中去。为此,咱们总结了一个碎片化信息记录「来-理-去」的三步走策略: ● 来:营造疾速,无烦扰的信息录入环境,激励记录原创或者通过思考的想法;● 理:信息记录之后,须要对其整顿和组织,将具备长效价值的信息筛选进去;● 去:筛选进去的信息须要进一步整合,信息和信息之间须要建立联系,服务于某个特定的知识结构或主题。 来:随时随地疾速记录小记能够帮忙你疾速捕获信息和灵感,尤其是在灵感乍现的霎时,“记下来”,要比“记哪里”,要重要得多。为了可能做到随时随地疾速记录,小记在语雀网页端和桌面端均有入口。在语雀的桌面端上,用户还能够通过「Cmd / Ctrl + Shift + Y」疾速唤起小记记录窗口: 在小记外面记录,不须要放心内容保留到哪里,不须要放心内容的格局和排版,也不须要思考题目怎么定。你能够自在地记录文字,上传图片或者多种格局的附件。 小记也针对局部高频场景做了体验强化,譬如如果你习惯用小记来记录日常的待办事项,你能够通过工具栏中的 Checkbox 性能,疾速创立和筛选每日的待办事项。当一项工作实现时,你能够间接在列表中点击 Checkbox 并批改事项实现状态。 理:信息的整顿在大量不间断的记录过程中,咱们发现小记上的记录类型很繁冗:工作,情感,家庭,旅行,美食等内容盘根错节交错在一起,搅成一坨信息大杂烩。同时,不同的信息也具备不同的生命周期,譬如长期的待办记录,事项实现后就能够删除。因而,为了筛选出真正有价值的信息,无累赘地革除生效内容,小记有如下的信息整顿策略: 分类通过标签能力将不同的信息类型进行大抵的分类,目标是打消信息混放、缩小过错,同时进步后续步骤的效率。 清理小记反对批量删除性能,不便对价值生效的小记进行清理。 降噪然而,即便是“长生命周期”的内容,也不须要每天都看到,只须要将来须要的时候可能找到,能够调用,便足够了,这部分信息被称之为“低活跃度信息”。 这一类信息不能太多,否则会对以后的关注事项产生信息乐音。因而,为了让用户可能聚焦于以后最沉闷的内容,小记设计了归档性能,将“短期内不须要应用然而依然有存储价值”的信息进行冷贮存,放弃罕用小记列表的清新和聚焦。 去:碎片信息的结构化输入语雀小记最有特点的中央,就是其反对将碎片化信息转化为整体知识结构的一部分。 举个例子:读到好书的时候,咱们往往会做一些摘抄。然而浏览并不是一个间断的事件,一本书经常须要分好几天读完,记录的摘抄也是不间断的。如果应用语雀小记去做记录的话,当这本书最终读完的时候,就能够通过语雀小记的「生成文档」性能,将这本书之前做的所有摘抄笔记导出为一篇残缺的文档。 具体操作形式如下: 第一步:选中特定分类下的小记并批量抉择,点击“生成文档”,将小记内容合并到语雀知识库文档中。 第二步:内容以文档的模式输入后,保留在一个相似「文件夹」的知识库中。碎片化内容进入知识库之后,能够通过灵便的目录构造去整顿不同碎片化信息之间的构造关系。 当然,如果自身就是在写较长文档的过程中,如果想要浏览一下当初记录的内容寻找灵感,或者间接进行援用。也能够间接在文档工具栏的素材库中唤起小记侧边栏,在以后页面查看小记内容,或者将小记内容一键插入文档。 点此解锁更多小记用法 总结小记是一款宁静敌对的碎片化记录工具,心愿不仅能够帮忙用户真正做到顺手疾速记录,也能够反对碎片化内容往结构化内容的积淀。小记的将来,心愿能够造成一个稳固的碎片化信息的承接入口,帮忙咱们丰盛和欠缺现有的常识体系,甚至是激励咱们的内容再创作并积攒肯定的内容身份资产。 目前来看,小记的疾速记录局部还不够欠缺,「来-理-去」的应用门路也还有很大的优化空间。然而小记的团队会持续打磨产品体验,也会将这些迭代过程中的碎片化反思和输出记录下来。小记心愿通过每一次的记录和迭代,和大家一起成长为本人喜爱的样子。 ...

December 1, 2021 · 1 min · jiezi

关于sass:语雀编辑器自研之路

本文为蚂蚁团体语雀自研编辑器技术负责人遇春在语雀大会上的演讲。 大家好,我我叫遇春,接下来由我给大家分享语雀自主研发的编辑器。 在这之前组委会跟我说要分享一下编辑器外面一些技术先进的中央,我就认真思考这个问题,到底语雀编辑器中什么技术是先进的。在我看来。技术自身其实不存在所谓的先进技术或者是落后的技术。技术的目标就是为了解决问题,可能会有新旧之分,然而语雀团队又不是一个特地谋求新技术的一个团队,所以可能接下来我的分享中次要是针对咱们所遇到的具体问题,而后怎么样找解决方案。从问题自身来说,每一个产品他遇到的问题都不一样,所以很难比照说咱们的技术就很先进。所以接下来的分享,咱们来看看咱们语雀编辑器遇到了什么样的问题以及技术上的思考。 先从这一句话开始。文有汝心出,笔墨语雀来。这一句是语雀最早的 slogan。 咱们心愿当你关上语雀编辑器的时候,可能沉迷在一种平静而又愉悦的创作心流当中。不论你是要写一个周报或者是写个小说,或者游览回来写一篇游记。咱们都心愿这个过程是一种享受。当你想要插入一个流程图或者是插一个数据报表,或者想要插一个视频,咱们都心愿在语雀编辑器当中都可能顺手拈来,零打碎敲。这就是语雀编辑器所要谋求的一个方向。 接下来,我的分享会蕴含这几个局部 Part 1. 语雀编辑器的家族介绍 七兄弟先给大家放一张全家福,这是语雀所有编辑器的一个全家福,咱们依据工夫给大家做了一个排行,老大、老二、老三、老四、老五、老六、老七。 文档编辑器 先从老大文档编辑器开始,能力比拟强,人比拟诚实,而后也肯吃苦,里里外外全靠他,脏活累活全包。能够说有内容输出的中央就有他的身影。咱们能够看到包含语雀小记,各种评论区都是他来负责的,基本上能够说没有他就没有这个家。 目录编辑器 老二目录编辑器,可能大家比拟诧异,这也是个编辑器吗?对的,这是一个如假包换的编辑器。因为早年进来读书,而后长年在外不怎么回家,所以大家都不意识他。大学的时候,在图书馆里做过勤工俭学,在分类整理这一块,可是一个一等一的高手。所以这几年回家来打理家务,家里的材料、文件,经他这么一手,把你整顿的东倒西歪。 工作表/数据表 老三工作表,这个哥们天生喜爱数学。家里所有的水费、电费、煤气费,各种吃穿用度,所有的支出开销交给他,保障给你治理的妥妥的。起初他发现自己忙不过来,又有了老七, 老七是咱们的数据表,数据表就和当初的小孩子一样,天生的互联网的原住民,他比拟喜爱收集数据,他在收集数据这块也是有一手,凭着这一手绝活,未来定是前途无量的。所以和数据无关的事件交给他们,稳! 思维图,流程图和演示文稿 老四老五老六,思维图,流程图和演示文稿,他们是个三胞胎,出世的时候日子过得比拟好,养分跟得上,牛奶、鸡蛋每天服侍着,身板硬了心气儿就高,对吧?在图形畛域可真是没有怕过谁,不是明天要干翻这个,就是今天要放平那个,正堪称是初生牛犊不怕虎,立志闯出一片天。 七个编辑器,七兄弟群策群力为大家服务。那么重点来了 所有的语雀编辑器的所有性能,对所有的用户,不论你是付费的还是收费的,厚此薄彼,所有的性能都向大家收费凋谢。 四版本好的,这么多编辑器必定说不完。咱们接下来挑一些有故事的说,先从文档编辑器说起。 一句话介绍,简洁而不简略,无所不包,普惠公众,语雀文档编辑器经验了四个版本,每一个版本也都给咱们留下了一些十分贵重的个性。 1.0从 1.0 开始,咱们是一个 Markdown 编辑器,相熟 Markdown 语法的同学都晓得。咱们能够通过输出一些非常简单的字符,而后实现一些清晰的文档构造。题目,列表,援用等等,十分有利于浏览。这也让咱们意识到文档的美,美在构造。而这种快捷输出的能力在咱们 1.0 的时候就曾经具备并且连续了下来。 2.02.0 咱们进入了富文本时代,富文本时代给咱们带来了更加丰盛的款式,让咱们能够更纵情的施展。而且富文本编辑器还给咱们带来了一个新的编辑模式,叫做“所见即所得”。你所编辑的就是你看到的,不再须要你重复去预览,这样能够大大的晋升了你的编辑效率。 3.03.0 时代,咱们齐全进入自研的时代,也就是大家近2年多始终在应用的编辑器,咱们发现咱们还须要在文档里插入一些非凡格局的数据,比如说一个日历,比如说一个投票,比如说一个代码块,这样的一个简单的数据格式,咱们须要可能满足,咱们引入了卡片模型,卡片模型让语雀整个编辑器变得更加凋谢,更加具备连贯能力。借助这个能力,咱们能够连贯互联网,比如说你插入一个网页进来也是能够的,咱们也能够在语雀外部去做一些连贯,不同的文档之间也能够互相引入,原文档编辑后,引入的文档也会自动更新。而后,3.0 还给咱们带来一个另一个能力,就是多人协同,多人协同让咱们语雀编辑器真正的实现了多人同时编辑,成为常识合作的一个工具。 4.0明天,咱们进入 4.0 时代,4.0 编辑器刚刚公布上线,大家可可能直观感触到就是咱们的文档表格曾经能够多人同时编辑了。通过了半年的研发,咱们底层做了一个很大的降级,在架构上也具备更好的灵活性和拓展性。大家晓得咱们的评论区外面有很多用户给咱们提的倡议,还有一些问题。尽管不是每个倡议咱们都可能驳回,然而 4.0 时代咱们会给大家出现更多的精彩,让咱们敬请期待。 当然刚刚上线难免会有一些问题,一些用户在讨论区外面说咱们的有一些交互变了。尽管这些交互的变动也是通过了咱们的一些思考的,但总有不到的中央,咱们心愿大家一直的给咱们提意见。鲜花和鸡蛋我感觉都会让咱们变得更好。 Part2. 编辑器成长故事接下来我给大家介绍一下语雀编辑器的成长故事。 就像方才所说,其实语雀就是在用户给咱们一直的吐槽,给咱们一直提倡议的一个环境下长大的。那接下来的三个故事,让咱们缓缓来看。 故事1. 实时协同先从第一个故事:实时协同。 在咱们语雀商业化第一年的时候,其实咱们是不具备这样的一个能力的,咱们过后是从咱们本人的工作场景中察看,发现多集体同时编辑一篇文档的场景很少,偶然会用到,频率也很低。然而过后整个市场上对于这个性能是十分关注的,没有这个性能,如同都不好意思跟他人打招呼,是不是这样呢?咱们要不要破费微小的研发老本来实现一个低频的能力呢?咱们从来不是一个喜爱去跟风的一个产品,然而咱们还是会反思的。咱们在想这样的一个性能,这样一个低频的性能,为什么大家如此关注? 咱们起初认真想一想,原来咱们对待问题的形式可能有一些问题。 那就是应用频率和重要性。它其实并不可能划等号。我举个例子,一个商场它的消防设施可能并不是常常应用,对吧?咱们也心愿它始终不要应用,那消防设施其实它很重要。重要性决定咱们要不要做这个性能,而应用频率只是决定咱们要把它做到什么样子,放在什么地位。 当咱们想通了这一点当前,咱们感觉咱们之前的顾虑和犹豫其实是有问题的。作为一个提倡常识合作的产品,多人同时编辑会在关键时刻晋升用户的合作效率。于是咱们决定要做实时协同。 实时协同咱们怎么设计呢? 咱们在实时协同之前,语雀的编辑是一种锁模式,就是一个人在编辑的时候,他人是不可能同时编辑的。这也是基于内容的平安思考,避免内容和版本变乱,那锁模式它也有锁模式的益处,比如说锁模式比较简单,比较稳定,它的离线也比拟敌对。咱们心愿这些个性也可能在在持续连续下来,所以咱们额定减少了一个协同模式。 协同模式在团队下,在协同的知识库上面默认开启,你的集体知识库如果加了协作者也会帮你默认开启合作模式。合作模式的益处,就是多集体同时能够同时编辑了,内容实时同步到多个编辑端。然而它也有它的毛病,比方协同模式对网络的要求比拟高,有些用户他可能网络比较慢,或者是常常会断,或者是他设置了代理,有可能连不到咱们的协同服务器上。这时候咱们又减少了一个叫做智能切换的能力,咱们能够将你从协同模式切回到锁模式,让你更加稳固的去编辑,这就是语雀编辑器在协同这一块的设计。 实时协同上线了1年多,咱们也遇到很多问题。 ...

December 1, 2021 · 1 min · jiezi

关于sass:ONES-Talk-我们为什么选择最难走的软件之路

软件研发有多难? 从中国人致力研发自主操作系统的过程可见一斑。在二十多年工夫里,是你方唱罢我退场的「前仆后继」:红旗 Linux、深度 Linux、中标麒麟、优麒麟、中科方德、普华、StartOS、阿里云 OS……许多名字先后呈现,但很快被人们淡忘。 2021 年 7 月底,华为示意,鸿蒙系统升级用户已冲破 4000 万。现在,不少人都在期待着鸿蒙的胜利。 说起操作系统,有人这样提问:中国是手机 APP 开发大国,也是寰球摩天大楼总量最多的国家,还领有全世界最长的跨海大桥——可是为什么中国这么久都没有属于本人的软件操作系统呢? 因为相比传统工程而言,软件的研发切实太难、太简单了。尽管如此,中国的泛滥软件公司「义无反顾」地走上攻坚之路,其中包含研发管理工具头部企业 ONES。 01 早在 1950 年代,就曾经有公司专门以开发软件为主营业务。 但软件业从一开始就是一个磕磕碰碰的行业:我的项目总是一再延期,好不容易交付了,软件卖出去之后又总是被人发现各种故障和谬误。如果客户不称心,要求公司提供售后服务,那么,现场去给人解决问题是老本极高的事件。此外,软件开发者还要应酬黑客攻击、网络病毒等。 直到 2000 年前后,美国政府统计署的数据显示:寰球最大的软件生产商(美国军方)每年要花费数十亿美元购买软件,而在其所购软件中,可间接应用的只占 2%,另外 3%须要做一些批改,其余 95%都成了垃圾。 以至于,一度流传这样一个故事:一个软件工程师讥笑一个汽车工程师说:“如果汽车行业像计算机行业一样倒退,当初汽车应该一毛钱一辆。”然而汽车工程师不以为然,回应说:“可是谁会要一辆动不动就抛锚的汽车呢?” 从事过软件开发的人都晓得,程序代码太容易出错了。代码越写越长,出错的频率不成比例地减少。可能你明天费了很大力量好不容易运行通过了,过了几天、遇到一个没想到的状况,发现还有一个暗藏的谬误。 就算 Windows,Mac 和 Linux 并列为古代三大支流操作系统,各自都有约一亿行代码——即便它们能够称为最成熟的软件系统,至今其中依然还会呈现不少故障。 因而,晚期的软件公司,都会尽量去找那些经验丰富、头脑聪慧的高水平程序员,同时还会在销售软件时附带一个免责申明:“如果因为这个软件的问题给您造成了损失,咱们概不负责。” 可见,软件工程的复杂度远高于建筑工程。例如,在盖楼的过程中,假使犯个小谬误,那么后果是让楼房的品质有所降级,但只有不是极重大的失误,这房子还是能住的。 但软件就不同了,程序中的一个小谬误很可能就会导致整个零碎的解体。因为软件各处的关联十分密集,随时触一发而动全身。例如,在发射火箭时,相干操作是由软件管制的,一旦软件呈现 Bug,火箭随即失控。 因而,软件开发不仅是一种工程,而且是比传统工程简单得多的工程。而软件工程的问题不在于有多少高水平的工程师,而是一个复杂性问题。 02 早年的软件开发是集体英雄主义时代,一个程序员便能够发明一个经典程序,求伯君的 WPS、王永民的王码、王江民的 KV 杀毒、鲍岳桥的 UCDOS 等等——他们和他们的软件无疑是那个时代的代名词。 自从进入 21 世纪,软件需要及其自身的开发越来越简单,集体英雄主义时代退出了历史舞台,因为当初要想一个人单打独斗实现一个中型软件我的项目,已是「不可能的工作」。 以前的软件是给一个人用,当初是多个用户独特应用一个软件;以前的软件是一个人或者几个人开发的,当初则是大型团队一起开发;软件工程师的定义不仅仅专指程序员,而是囊括产品经理、设计师、架构师等多方相干人士——能够说,软件工程是工程治理和综合治理伎俩的极限。 在 1960 年代,计算机思想家弗瑞德里克·布鲁克斯(Fred Brooks)带领 IBM 公司 300 人的团队开发操作系统。基于此次研发经验的总结,他写了一本名为《人月神话》的书,至今仍为经典之作。 《人月神话》有两个外围观点: 其一是:1 集体干 12 个月的活,相对不是 12 集体在 1 个月内能实现的。我的项目波及的软件工程师越多,均匀每个人出活的速度就越慢。所以,布局我的项目的时候计算“人月”是没意义的。 其二是:团队做进去的软件的构造,往往和团队的人员组织治理构造高度类似。所以,软件工程岂但要管我的项目,还要管人。 到了 1987 年,布鲁克斯写了一篇名为《没有银弹》的文章,将此前的观点进行降级:软件工程的基本问题,是人的问题——主导软件开发的人,必须得可能了解高度简单的货色才行。 ...

November 30, 2021 · 1 min · jiezi

关于sass:CSS权重算法覆盖Sass的用法

CSS优先级介绍: !impotr(正无穷大InfinitY) > 行内款式(1000) > ID选择器(100) > class选择器|伪类(10) > 标签选择器|伪元素(1) > 通配符选择器(0)留神:以上的权重值1位256进制权值计算:依照以上规定相加,权值高的优先级高权值雷同,遵循后增加的为准笼罩和深度笼罩deep 场景: scoped状况下须要笼罩掉其余UI组件中的款式利用:原生:>>>(深度作用选择器) 预处理器:/deep/ 或者 ::v-deepSass的根本用法 1.申明变量 用法:以$结尾定义变量,在应用时间接调用$变量名2.拼接字符串 用法:#{$变量}3.计算性能 用法:间接应用变量或者+-*/4.嵌套写法 用法:&为间接父元素5.继承 用法: 选择器 { @extend 选择器 }6.复用 mixin 用法:申明: @mixin XX(参数){/**/} 应用: @include XX7.条件判断语句 条件判断、循环可自行查问8.自定义函数 用法: @function (par){ @return par }

November 16, 2021 · 1 min · jiezi

关于sass:插件打包时禁止静态样式文件内容打包到js中

1.打包时的动态地址改为/static/advanced,动态css文件的规定如下: 2.插件内援用形式: 3.我的项目中的配置如下: *备注:自己应用的sass,需提前装置node-sass@4.13.1,sass-loader@7.3.1

October 26, 2021 · 1 min · jiezi

关于sass:Sass将Unicode编译成文字字符导致icon乱码问题

发现问题最近在应用公司组件库中的穿梭框组件时发现icon图标全都乱码了 剖析问题经排查发现,组件款式文件(scss)引入的iconfont矢量图标字体,构建时,\e601这类Unicode字符在通过sass编译后就变成了文字字符(双字节字符),导致呈现乱码 .icon-ok:before { content: "\e601";}Sass编译后 .icon-ok:before { content: "";}解决问题(1)降级sass版本 在Sass@1.38.0版本中对这个问题做了修复,能够将我的项目中应用的版本下级到1.38.0+,详情查看Sass更新日志 // index.scss.icon-ok:before { content: "\e601";}执行npx sass@1.38.0 index.scss index.css // index.css.icon-ok:before { content: "\e601";}/*# sourceMappingURL=index.css.map */(2)自定义webpack loader 下面剖析问题时说到构建时Sass将Unicode字符编译成文字字符,那么咱们能不能在loader队列中sass-loader后退出咱们自定义的loader,将CSS中的文字字符转译成Unicode字符呢?当然是能够的 const CONTENT_MATCH_REG = /(?<!-)content\s*:\s*([^;\}]+)/g; // 找出伪元素里content那块内容const UNICODE_MATCH_REG = /[^\x00-\xff]/g; // 找出非单字节符function fun(source) { this.cacheable(); // 利用缓存来进步编译效率 source = source.replace(CONTENT_MATCH_REG, function (m, p1) { return m.replace(UNICODE_MATCH_REG, function (m) { return "\\" + m.charCodeAt(0).toString(16); // m.charCodeAt(0)返回字符串第一个字符的 Unicode 编码,前面再转16进制,后面加一斜杠 }); }); return source;}测试 ...

October 17, 2021 · 2 min · jiezi

关于sass:从-Sass-Breaking-Change-Slash-as-Division-说起

最近在批改一个我的项目的时候,发现了一系列的 Sass 的告警——由除号引起的告警: 目录什么告警?如何解决告警? 降级 sass 模块更新业务语法应用 sass-migratorDart Sass Vs Node Sass Dart Sass on Dart-VM 与 Dart Sass on NPM什么告警?告警的内容很简略,用 / 作为除法曾经在 Dart Sass 2.0.0 中被弃用了,作为一个 Sass 的根底语法,这次弃用属于 breaking change 了,因而目前编译时只是会抛出 warning 而不是 error,否则大量我的项目都无奈失常运行。 钻研了一下能够看到,Sass 官网特定用了一整个篇幅的文章,来论述为何要作出这个批改,次要的起因在于,/ 在 Sass 中同时承当除号以及 CSS 分隔符的作用,例如: Sass 代码 // 作为除号应用.test_division { border-radius: ceil(28px / 2);}// 作为 CSS 分隔符应用.test_operator { font: 12px/1.5 -apple-system, "SF UI Text", "PingFang SC", "Lucida Grande", "Microsoft YaHei", sans-serif;}理论编译出的 CSS 代码 ...

September 30, 2021 · 2 min · jiezi

关于sass:全网最全解决nodesass安装失败总结

问题形容?执行 npm i node-sass -D关键词形容: tunneling socket could not be established, cause=getaddrinfo ENOTFOUND 49402 // 这个端口号每个人呈现的可能不一样Error: Could not find any Python installation to use ...图形容 如果遇到这些问题,那么在这里应该就能找到答案 最终报的错误信息 为什么有Python的提醒报错起因:提醒没有装置python、build失败,如果拉取binding.node失败,node-sass会尝试在本地编译binding.node,过程就须要用到python为什么会下载失败在执行npm install node-sass的时候,控制台会看到正在从github下载一个win32-x64-72_binding.node的文件,这是一个二进制文件,并不存在npm仓库,而是间接从github下载,下载十分慢,如果本地没有墙过,失败的几率会比拟大解决下载慢5种办法所有的依赖都设置淘宝镜像 npm config set registry https://registry.npm.taobao.org/只对node-sass设置拉取地址 npm install node-sass --sass-binary-site=https://npm.taobao.org/mirrors/node-sass3.在npm config设置 npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass4.在package.json "nodeSassConfig": { "binarySite": "https://npm.taobao.org/mirrors/node-sass"},5.在我的项目目录下新建.npmrc文件 registry=https://registry.npm.taobao.org/# 设置公有服@pm:registry=http://192.168.1.200:8081/repository/npm/# 比方装置npm install @pm/axios -Snpm install @pm/vue -S以上没有解决,解决端口号问题我的电脑所报的是:49402 查看npm配置npm config list -l // 查看npm所有配置查看外面是否代理字段,如有删除 npm config delete proxynpm config delete https-proxy查看环境变量在这里发现了一个49402端口,把它删掉 ...

September 22, 2021 · 1 min · jiezi

关于sass:线程池有什么优点谁知道吗

咱们应用线程的时候就去创立一个线程,这样实现起来十分简便,然而就会有一个问题:如果并发的线程数量很多,星池云服务器并且每个线程都是执行一个工夫很短的工作就完结了,这样频繁创立线程就会大大降低零碎的效率,因为频繁创立线程和销毁线程须要工夫。所以咱们在在Java中能够通过线程池来防止这些问题:线程池:其实就是一个包容多个线程的容器,其中的线程能够重复应用,省去了频繁创立线程对象的操作,无需重复创立线程而耗费过多资源。 当工作达到时,工作能够不须要的等到线程创立就能立刻执行。进步线程的可管理性。能够依据零碎的承受能力,调整线程池中工作线线程的数目,星池云服务器避免因为耗费过多的内存,而把服务器累趴下(每个线程须要大概1MB内存,线程开的越多,耗费的内存也就越大,最初死机)。 办法执行的内存模型:每个办法在执行的同时都会创立一个栈帧用于贮存局部变量表、操作数栈、动静链接、办法进口等信息。https://www.starpool.cn 每个办法从调用直至实现的过程,就对应着一个栈帧在虚拟机栈中入栈到出栈的过程。

August 23, 2021 · 1 min · jiezi

关于sass:行业前瞻丨中国SaaS市场将快速增长或形成小而美林立格局

工具与资源核心帮忙开发者更加高效的工作,提供围绕开发者全生命周期的工具与资源 https://developer.aliyun.com/... 简介: 比照5年前,中国SaaS市场的这一次热潮有怎么的不同?中国SaaS市场的倒退空间,以美国为“锚点”是否适合?中国SaaS市场的发展前景到底如何,可能走向怎么的生态格局?本钻研将尝试答复这些问题,抛砖引玉以供读者探讨。 导语020年,一场从天而降的新冠疫情在给人们日常生活带来重大冲击的同时,也极大地减速了整个社会的数字化过程,数字经济成为疫情中指引方向的灯塔。在这样的背景下,中国的SaaS市场迎来了倒退时机:一方面,在业绩增长的推动下,诸多SaaS厂商的市值屡翻新高;另一方面,SaaS融资市场一片炽热:2020年国内SaaS共产生134起投融资事件,融资总金额超157.45亿元(数据起源:B2B内参)。而最让人兴奋的是,GDP已达美国70%的中国,SaaS市场规模却有余美国的1/20,市场倒退空间显得极为广大。 对中国SaaS市场有所关注的人们,或者会回想到5年前,所有似曾相识:同样的概念炽热、融资市场火爆,泛滥守业企业立志成为中国的Salesforce……然而,彼时的SaaS市场并没有因为供应侧的炽热迎来爆发式增长。这一次的SaaS市场热潮,与5年前有什么样的不同?中国SaaS市场的倒退空间,以美国为“锚点”是否适合?中国SaaS市场的发展前景到底如何,可能走向怎么的生态格局?本钻研将尝试答复这些问题,抛砖引玉以供读者探讨。 中美SaaS市场比照中国SaaS市场规模仅为美国的4.1% 近年来差距逐步放大2020年,中国SaaS市场规模达到49.5亿美元(数据起源:IDC,下同);同年美国SaaS市场规模为1198.7亿美元,中国SaaS市场规模仅为美国的4.1%。而在2016年,中国SaaS市场规模为13.2亿美元,同年美国SaaS市场规模为604.0亿美元,中国SaaS市场规模为美国的2.2%,近5年来中美SaaS市场规模差距逐步放大。 图1 2016—2020年中美SaaS市场规模比照 SaaS在私有云中占比一直降落 2020年仅为25.5%2020年,SaaS在中国私有云中的占比仅为25.5%,远低于SaaS在美国私有云中的占比67.1%。只管近5年SaaS市场规模的年复合增长率高达39.1%,但仍是中国私有云市场中增长最慢的局部,低于私有云整体市场的年复合增长率61.1%,这间接导致SaaS在私有云中占比一直升高——相比2016年,SaaS在中国私有云中的占比近5年降落了20.4个百分点。 图2 2016—2020年中国私有云市场构造变动 应用软件中SaaS占比连年晋升 但仍显著低于美国2020年,以市场规模计算,SaaS在中国应用软件市场中的占比为34.9%(SaaS以应用软件为主,如2020年中国SaaS市场开销中85.2%为应用软件,本钻研计算SaaS在应用软件中占比时,应用的SaaS市场规模数据为应用软件局部),相比2016年晋升了21.4个百分点,如图3所示;作为比照,2020年SaaS在美国应用软件市场中的占比为50.4%,相比2016年晋升了12.8个百分点。2020年,中国应用软件市场中SaaS占比仍低于美国15.5个百分点,但该差距近年来已继续放大。 图3 2016—2020年中美应用软件中SaaS占比变动 中美SaaS市场差别起因剖析造成中美SaaS市场差别的起因,大多与中美云计算市场差别的起因雷同,次要有:中国企业的均匀生命周期较短,对数字技术的投入优先级低;中国的劳动力成本低,企业更偏向应用人力而非技术解决问题;三次产业结构中服务业的云计算渗透率最高,美国的服务业占比高于中国等(具体起因剖析,可参考《2025年私有云或将服务中国过半数字经济》)。除上述因素外,导致中美SaaS市场差别的起因还包含: 中国产业门类齐全、个性化需要多 SaaS倒退难度大中国的产业门类最为齐全,是全世界惟一领有联合国产业分类中所列全副工业门类的国家。在经济总量不迭美国的状况下,产业门类多意味着各产业的均匀市场规模小于美国,这会导致中国行业利用类SaaS的边际老本更高。而据报道,中国的企业数量为4100万家(另有个体工商户逾8000万户),美国的企业数量为2500万家,只管更多的企业数量蕴含着更大的市场需求,但同时也意味着市场需求更加多元化——每减少一家企业就代表着SaaS服务商须要多面对一例个性化需要,这对SaaS服务商的产品能力和服务水平提出了更高的要求,使得SaaS在中国的倒退难度远大于美国。 中国大型企业偏向自建利用 而中小企业付费能力无限中国的大型企业大多领有较为成熟的IT零碎和团队,在面对业务需要时,要么通过外部自主研发,要么抉择供应商定制开发,且多以私有化形式进行部署,只有多数创新型业务才会思考SaaS;而中小企业通常本身IT能力无限,SaaS这种按需订阅的模式人造满足其需要,但中小企业的付费能力较弱——依据T媒体钻研,2018年中国企业对SaaS的年均收入为11.15万元,而美国企业对SaaS的年均收入为34.3万美元,中国企业在SaaS上的投入有余美国企业的1/20。大型企业偏向定制化,中小企业付费能力有余,导致SaaS在中国的市场浸透程度不高。 中国市场倒退阶段绝对滞后生态体系不如美国欠缺从本世纪初至今,美国的SaaS市场已经验了20年的倒退,特地近10年来,利用市场逐步承受SaaS状态,大量细分畛域的SaaS厂商呈现,SaaS生态日趋完善。而中国的SaaS市场倒退滞后美国10年左右, 2010年后开始起步,并随着云计算的倒退在2015年后步入疾速成长期,但至今生态能力仍不成熟:一方面,产品服务不齐全,SaaS厂商大多集中在OA、IM、CRM、ERP等畛域,没有造成残缺的SaaS幅员,整个产品矩阵存在割裂景象,难以齐全施展SaaS价值;另一方面,产业链条不清晰,特地是SaaS的营销、部署等环节,中国市场整体上仍处于线上还是线下、自建抑或外包的模式摸索阶段;更重要的是,10年的倒退差距,使得中国的SaaS人才根底落后于美国,特地是SaaS以企业服务为主的个性,要求从业人员对客户所处行业有深刻了解,这些能力须要长期的行业浸润积攒而短时间内难以迅速补齐,这间接导致中国SaaS从产品能力到服务水平与美国均存在显著差距。 除上述因素外,我国从信息化期间就凸显的IT收入“重硬轻软”问题,只管近年来有所改善但仍旧存在;大多数SaaS企业和技术人员没有经验过信息化期间,不足产品标准化教训……诸多因素的独特作用,使得中国SaaS市场规模显著小于美国。 中国SaaS市场倒退瞻望市场规模放弃快速增长 对应用软件的浸透程度继续晋升与2016年相比,以后SaaS市场面临的市场环境更加成熟,这次要得益于数字基础设施笼罩能力的加强和用户对SaaS承受志愿的晋升。 相比5年前,网络的笼罩程度和IT基础设施的云化比率都有了显著晋升。2015年,中国网民数量为6.88亿,占全国人口的50.3%;2020年,中国网民数量增长至9.89亿,占全国人口的70.4%。挪动互联网更是获得长足发展,2020年挪动互联网接入流量达1656亿GB,是2015年的40倍。而从2015年到2020年,IT基础设施开销中的云计算占比从33%晋升至56%。网络、云等数字基础设施笼罩能力的晋升,能够扩充SaaS的服务范畴并带来更好的用户体验。 更大的扭转来自社会对SaaS接受度的晋升。一方面,购买服务模式被宽泛承受:近年来以88VIP为代表的集体付费会员数量快速增长,人们日渐养成购买服务的生产行为习惯;同时,在政策推动下,越来越多的政府需要由传统的我的项目制建设转为向社会力量购买服务。另一方面,构建数字化能力成为企业共识:新冠疫情的暴发主观上减速了社会数字化过程,疫情期间数字经济展现出的弱小韧性,使得数字化对于企业而言不再是精益求精的选择题,而是生死存亡的必备能力,特地是与业务需要间隔最近的SaaS,成为大多数企业疾速取得数字化能力的最佳抉择。 除市场倒退环境更加成熟外,在以国内大循环为主体、国内国内双循环相互促进的新倒退格局下,中国的经济增长能源将从“规模红利”深度转向“效率红利”;人口红利消褪,劳动力价格一直上涨,越来越多的企业将应用技术而非人力解决问题;而随着Z世代人群步入职场、80后90后进入管理层,社会面对企业服务的态度一直扭转。在这些因素的驱动下,中国的SaaS市场规模将继续快速增长,依据IDC钻研,预计将来4年的年复合增长率将达到34.0%,到2024年,SaaS市场规模将达到147.4亿美元。SaaS在应用软件市场中占比也将从2020年的34.9%疾速晋升至2024年的58.3%,靠近2024年美国应用软件市场中SaaS的预计占比程度62.7%。 图4 2020—2024年中国SaaS市场规模及在应用软件市场中占比预测 或将造成独特市场构造 构建“小而美”林立的生态成熟且齐备的SaaS生态、丰盛且差异化的解决方案,使得美国企业在利用SaaS时具备“去中心化”特色:据T媒体钻研,均匀每个美国企业应用上百个SaaS产品,均匀每个美国企业员工应用8个SaaS产品。而中国市场用户更加青眼“一站式”计划——这正是近年来C端APP中“小程序”衰亡的起因,但也给SaaS厂商提出了更高的要求,特地是OA、IM、ERP、CRM等通用业务服务商,推动其从SaaS向PaaS延长,拓展平台服务能力以反对尽可能多的业务利用。 构建更加松软的PaaS和更加麻利的SaaS,或者是中国市场的最优解,特地是在面对产业门类、企业数量“双多”现状时,而这要得益于低代码平台能力的晋升。一方面,对于行业通用问题,依然能够通过SaaS解决;另一方面,对于多数企业的个性化问题,SaaS厂商不再须要为标准化和个性化的折衷而懊恼,在功能强大的PaaS上,通过低代码平台以“利落拽”形式即可疾速实现业务性能,甚至局部业务的部署速度并不逊于SaaS的个性化配置。以企业办公与合作平台钉钉为例,截至2021年3月31日,钉钉上的利用总数量高达101万,其中有38万利用是通过低代码平台搭建而成,低代码平台日渐成为企业晋升数字化能力的利器。 “厚PaaS薄SaaS”将推动中国造成与美国截然不同的云计算市场构造,即PaaS占比会更高,而SaaS占比会更低。在市场规模限定的天花板下,中国或者很难培育出相似Salesforce的SaaS市场巨头,但在强力的PaaS能力撑持和丰盛的业务需要推动下,中国SaaS市场无望百花齐放,大量的“小而美”企业破茧成蝶。

July 29, 2021 · 1 min · jiezi

关于sass:SAP-Fiori-Elements-公开课第二单元视频的台词和课程主要内容

课程地址 很多 SAP 从业者反映,open SAP 上的视频,因为网络起因无法访问,所以我会陆续在我的集体微 信 号“汪子熙”下面,把这些视频配上中文字幕并公布进去,敬请关注。 本文是公开课第二单元视频的中文字幕,由自己手动翻译而成,感激大家的反对。 第二单元内容:解说 Fiori Elements Architecture 以下是视频台词的中文翻译。 ==== 欢送大家来到 OpenSAP Fiori Elements 公开课程第一周的第二单元。本单元咱们探讨 Fiori Elements 的架构 SAP Fiori Elements 总的来说分为五大组成部分,独特形成了运行时看到的应用程序: (1)Floorplans; (2)OData 服务; (3)注解; (4)配置; (5)定制代码 下图右边第一个图例代表 Floorplan, 比方 Analytical List 或者 Object Page, 由 Fiori Elements 框架提供 Floorplan 负责应用程序的显示方式及其行为形式的管制 第二,第三局部即 OData 服务和注解,须要利用开发人员保护 二者联合起来,使利用开发人员能够决定利用在屏幕上显示的具体内容,而不须要应用 JavaScript 编程来实现 相同,借助 OData 和 注解,咱们提供的理论是语义和行为的形象形容(abstraction of semantics and behaviors) 这意味着利用开发人员得以专一于业务性能、行为形式以及生产形式的设计中去 当然如果您心愿扭转 Floorplan 的行为或引入额定的逻辑,Fiori Elements 的灵活性也足以胜任 ...

June 29, 2021 · 3 min · jiezi

关于sass:sassscss-对比css的优势

1:@import的区别 二者的性能都是在css文件中 导入其余css款式文件 CSS: css中的@import是为了开发者能将css分解成更小的局部,它的引入会间接发动一个HTTP的申请。SCSS预编译: scss的@import则更加像咱们应用的import等模块化的货色,它是间接将代码蕴含进指标SCSS文件,而不会产生额定的http申请。 2:应用变量 // 申明$blue: #3190e8; $highlight-color: #F90;// 应用:$nav-color: #F90;nav { $width: 100px; width: $width; color: $nav-color;}// 编译后nav { width: 100px; color: #F90;}3: 混合器 如果你的整个网站中有几处小小的款式相似(例如统一的色彩和字体),那么应用变量来对立解决这种状况是十分不错的抉择。然而当你的款式变得越来越简单,你须要大段大段的重用款式的代码,独立的变量就没方法应酬这种状况了。你能够通过sass的混合器实现大段款式的重用。 混合器应用@mixin定义,这个标识符给 一大段款式赋予一个名字。这样你就能够援用这个名字 重用这些款式例子A: // mixin.scss文件@mixin cl { display: center; align-items: center; justify-content: center;}// 而后就能够在你的样式表用@include 来应用这个混合器。<style lang="scss" scoped>@import 'src/style/mixin'; .button{ @include cl; } //scss最终生成 .button{ display: center; align-items: center; justify-content: center;}</style>例子B: 给混合器传参数 // 字体大小,色彩@mixin sc($size, $color){ font-size: $size; color: $color;}@mixin wh($width, $height){ width: $width; height: $height;}.list{ @include sc(0.5rem, #999); @include wh(100px, 100px);} 例子C: 混合器默认参数 ...

June 25, 2021 · 1 min · jiezi

关于sass:vscode中-sass-生成-css

明天在看一个css3动画的视频,博主应用的款式是sass语言,本着好奇心,查看了下根本应用,尝试了下在vscode中将环境装好,嗯~还是很不便的 1、首先第一步,须要全局装置sass,有好几种形式,我这里应用的npm 本着不便的准则~ npm i sass -g2、查看一下装置后的版本 sass --version3、执行转换语句,留神我这里应用的是文件夹外面所有文件转换 将 sass 文件夹外面所有文件都转换到 css文件夹中 sass --watch sass --watch ./sass:./css4、将上述语句增加到 package.json中 附上转换后的截图 哈哈哈~每日学习一个小常识,1年后就是把握365个常识。加油!!!

June 18, 2021 · 1 min · jiezi

关于sass:vuecli-3中dartsass替换nodesass

如果你应用过 sass ,应该理解多年来 node-sass 始终是 JavaScript 社区里的支流抉择,它实际上只是 libsass 在 node 环境下的一个 wrapper, 编译 sass 文件的理论工作是 libsass 实现的。 在应用 node-sass 过程中遇到的很多问题实际上也是 libsass 引发的,libsass 是用 C/C++ 实现的,常见的问题是,在装置 node-sass 的过程中常常会呈现装置失败的状况,又或者切换了 Node.js 版本发现 node-sass 须要重新安装能力用,如果你在 docker 中装置 node-sass 还会遇到因为短少各种依赖导致 node-sass build 失败的状况,又或者在国内因为网络起因导致 node-sass 须要的二进制文件下载不下来而 build 失败。 当初,sass 官网曾经应用 dart-sass 作为 sass 的次要实现: Dart Sass is the primary implementation of Sass, which means it gets new features before any other implementation. It’s fast, easy to install, and it compiles to pure JavaScript which makes it easy to integrate into modern web development workflows.替换过程: ...

April 9, 2021 · 1 min · jiezi

关于vue.js:Vue报错-thisgetOptions-is-not-a-function

问题Vue版本为2.6.11, sass-loader版本为11.0.0时,报错: Syntax Error: TypeError: this.getOptions is not a function 起因该sass-loader版本过高,不实用与Vue2.6.11 解决方案装置10.1.1的sass-loader

March 26, 2021 · 1 min · jiezi

关于sass:createreactapp中使用sass

环境: react:^17.0.2create-react-app:4.0.3首先,装置sass yarn add -dev node-sass  ||yarn add --dev node-sass@npm:dart-sass@1.25.0  //* 留神,在create-react-app不能应用dart-sass,想应用的话须要让它认为是node-sass装置好当前就能够应用sass了,比方新建test.scss进行应用* 留神,这里新建的文件为.scss后缀,而不是.sass也能够应用module.css,新建.module.scss文件应用

March 24, 2021 · 1 min · jiezi

关于sass:在vue各个组件中应用全局scss变量

1.开发环境 vue+sass2.电脑系统 windows10专业版3.在应用vue+sass开发的过程中,咱们常常应用到sass,上面我来分享一下在应用sass的时候遇到的问题,心愿对你有所帮忙。4.首先装置 sass-loader npm install sass-loader --save --dev5.装置 sass-resources-loader npm install sass-resources-loader --save --dev6.应用 sass-resources-loader官网配置 如果你应用vue-cli 3+ 或 4+ ,你须要在工程文件根目录下新建vue.config.js文件,也就是在packge.json同级目录下。并增加以下代码。// vue.config.jsmodule.exports = {/******************上面是我本人的代码*************************次要是配置门路别名或其余的loader的,不必增加*******/ configureWebpack: { resolve: { alias: {//门路别名 'assets': '@/assets', 'common': '@/common', 'network': '@/network', 'components': '@/components', 'views': '@/views', } }, },/***********************上面是须要增加的***********************/ chainWebpack: config => { const oneOfsMap = config.module.rule('scss').oneOfs.store oneOfsMap.forEach(item => { item .use('sass-resources-loader') .loader('sass-resources-loader') .options({ // 全局变量文件门路,只有一个时可将数组省去 resources: ['./src/assets/chenGolbal/chenGolbalcss.scss'] }) .end() }) }}7.应用vue-cli官网配置: // vue.config.jsmodule.exports = { css: { loaderOptions: { // 给 sass-loader 传递选项 sass: { // @/ 是 src/ 的别名 // 所以这里假如你有 `src/assets/chenGolbal/chenGolbalcss.scss` 这个文件 // 留神:在 sass-loader v7 中,这个选项名是 "data" prependData: `@import "~@/assets/chenGolbal/chenGolbalcss.scss"` }, // 默认状况下 `sass` 选项会同时对 `sass` 和 `scss` 语法同时失效 // 因为 `scss` 语法在外部也是由 sass-loader 解决的 // 然而在配置 `data` 选项的时候 // `scss` 语法会要求语句结尾必须有分号,`sass` 则要求必须没有分号 // 在这种状况下,咱们能够应用 `scss` 选项,对 `scss` 语法进行独自配置 scss: { prependData: `@import "~@/assets/chenGolbal/chenGolbalcss.scss";` }, // 给 less-loader 传递 Less.js 相干选项 less:{ // http://lesscss.org/usage/#less-options-strict-units `Global Variables` // `primary` is global variables fields name globalVars: { primary: '#fff' } } } }}这种配置看上去更加清晰8.在chenGolbalcss.scss中增加代码: ...

January 13, 2021 · 1 min · jiezi

关于sass:关于数据抓取很多新人的误区

一.为什么我解析数据明明就是这个地位为什么拿不到博问:https://q.cnblogs.com/q/132792/ 谬误寻找内容办法:在Element中定位寻找到参数(很多页面能用然而会他并不是真正寻找数据的办法) 正确寻找内容办法:咱们应该在network页面response寻找咱们须要找的内容 起因Element中是最终渲染后的内容,不肯定是咱们get网页url拿到的数据,期间会有些js或者其余数据接口会扭转他原始的界面 简略代码import requestsfrom lxml.html import etreeurl = 'https://www.cosme.net/product/product_id/10189603/top'res =requests.get(url) #为什么不加申请头呢,人家没校验申请头就不必加了,不过多过程多线程爬取时候请务必和实在申请截然不同res_demo = etree.HTML(res.text)meta_content = res_demo.xpath("//*[@property='og:title']/@content")[0].split('|')[2]print(meta_content) 二.抓不到包状况一证书地位本地校验 解决办法adb命令将抓包工具证书从用户目录挪动至系统目录,解决反爬对于本地证书认证(点击跳转) 状况二对于抓包工具的监测 解决办法如果是页面:应用network界面抓取 如果是app:python爬虫用drony转发进行抓包转发(点击跳转),ProxyDroid+wifi设置抓xx点评抓不到的包(点击跳转) 状况三对于协定进行判断 解决办法VirtualXposed联合justTrustMe 模块傻瓜式破解app没法抓包问题(点击跳转) 状况四证书双向认证 解决办法找到app中证书所在的地位,或者查看他的校验规定 三.对于乱码 起因:人家是用二进制进行传输常见的是用谷歌传输协定进行传输,大公司可能会本人写一套算法进行加密解析 python谷歌序列化传输(点击跳转) 四.对于加密(现在比拟常见的加密)RSA加密咱们解析页面或者app反编译后找他公钥的时候找不到他公钥,这时候他加密可能就是通过模和指数进行加密的 AES加密对于ASE加密有填充和无填充的识别方法其实很简略加密通一条加密数据间断2次加密加密内容,key,iv不变的状况,最初输入参数不变就是无填充.变就是填充 加密模板间接拿取用就好了(python模板)(点击跳转) 五.对于app逆向

December 31, 2020 · 1 min · jiezi

关于sass:Solon-特性简集相较于-Springboot-有什么区别

Solon 是一个相似Springboot的微型开发框架,也是一个不基于Servlet的开发框架。我的项目从2018年启动以来,参考过大量前人作品;历时两年,3500屡次的commit;内核放弃0.1m的身材,超高的Web跑分,良好的应用体验。 Solon 强调:克服 + 简洁 + 凋谢的准则;力求:更小、更快、更自在的体验。 所谓更小:内核0.1m,最小Web开发单位0.2m(相比Springboot我的项目包,小到能够乎略不计了)。 具用户反映,某些我的项目切换到Solon后,能够缩减到原来10%的包大小。 所谓更快:本机helloworld测试,启动最快可达0.09s,Qps可达12万之多。可参考:《helloworld_wrk_test》。 所谓更自在:代码操控自在:// 除了注入模式之外,还能够按需手动////手动获取配置String userName = Solon.cfg().get("user.name");Properties dbcfg = Solon.cfg().getProp("db");//手动获取容器里的BeanUserService userService = Aop.get(UserService.class);//手动监听http post申请Solon.global().post("/user/update", x-> userService.updateById(x.paramMap())); 框架抉择自在:能够用solon-web这样的疾速开发集成包。也能够按我的项目须要抉择不同的插件组装,比方:为非Solon我的项目增加solon.boot.jlhttp,0.2m即可让我的项目实现http+rpc开发;还能够用MVC开发Socket利用。 个性简集:1、与Springboot的罕用注解比拟Solon 1.2.12 Springboot 2.3.3 阐明 @Inject * @Autowired 注入Bean(by type) @Inject("name") @Qualifier+@Autowired 注入Bean(by name) @Inject("${name}") @Value("${name}") 注入配置 @Component @Component 托管组件 @Singleton @Scope(“singleton”) 单例(Solon 默认是单例) @Singleton(false) @Scope(“prototype”) 非单例 @Init * @PostConstruct 结构实现并注入后的初始化 @Configuration @Configuration 配置类 @Bean @Bean 配置组件 @Mapping @RequestMapping,@GetMapping... 映射 @Param @RequestParam ...

December 28, 2020 · 1 min · jiezi

关于sass:TSPRTP协议直播推送库EasyPusher推RTSP流至EasyDarwin开源平台实现自定义Stre

基于EasyPusher sdk库工程(即library module)实现一个推送客户端非常简单便捷,因为sdk端曾经将各种烦人的状态保护谬误查看权限断定UI同步等性能都实现了,开发者仅仅只须要实现若干接口即可。 明天遇到一个客户须要用EasyPusher推RTSP流至EasyDarwin流媒体服务,而后须要用Kurento服务拉EasyDarwin散发的RTSP流做其它利用,然而默认EasyPusher的流在EasyDarwin是有.sdp后缀的,然而Kurento服务不反对,须要咱们技术进行帮助。 咱们先看下失常的成果,如下图,红色标注的为视频流的后缀名.sdp。 这个是由推流端决定的流名称,须要批改EasyPusher代码模块,StartPush函数中定义参数sPushName为流名称,函数定义如下: int CSourceManager::StartPush(char* ServerIp, int nPushPort, char* sPushName, int nPushBufSize, bool bPushRtmp) m_sPushInfo.pusherHandle = EasyPusher_Create(); strcpy(m_sPushInfo.pushServerAddr, ServerIp); m_sPushInfo.pushServerPort = nPushPort; strcpy(m_sPushInfo.sdpName, sPushName); Easy_U32 nRet = 0; if (NULL != m_sPushInfo.pusherHandle ) { EasyPusher_SetEventCallback(m_sPushInfo.pusherHandle, __EasyPusher_Callback, 0, NULL); nRet = EasyPusher_StartStream(m_sPushInfo.pusherHandle , ServerIp, nPushPort, sPushName, EASY_RTP_OVER_TCP, "", "", (EASY_MEDIA_INFO_T*)&m_mediainfo, nPushBufSize, 0);//512-2048 } else { nRet = -1; } m_bPushRtmp = bPushRtmp; if (bPushRtmp) { if (!m_pEasyrtmp) { m_pEasyrtmp=new EasyRtmp(); } char szURL[MAX_PATH]; memset(szURL, 0, sizeof(MAX_PATH)); sprintf(szURL, "rtmp://%s:1935/live/%s", ServerIp, sPushName); nRet = m_pEasyrtmp->Link(szURL,1280); } 其中sPushName 为传入的Stream名称,咱们强制定义sPushName=”2” ...

December 26, 2020 · 1 min · jiezi

关于sass:前端面试每日-31-第617天

明天的知识点 (2020.12.23) —— 第617天 (我也要出题)[html] 你是怎么检测网页是否遵循W3C规范的?[css] Sass的色调操作是什么?[js] 请解释下setTimeout的运行机制[软技能] 你认为高级前端工程师应该具备哪些技能?《论语》,曾子曰:“吾日三省吾身”(我每天屡次检查本人)。前端面试每日3+1题,以面试题来驱动学习,每天提高一点!让致力成为一种习惯,让奋斗成为一种享受!置信 保持 的力量!!!欢送在 Issues 和敌人们一起探讨学习!我的项目地址:前端面试每日3+1【举荐】欢送跟 jsliang 一起折腾前端,零碎整顿前端常识,目前正在折腾 LeetCode,打算买通算法与数据结构的任督二脉。GitHub 地址微信公众号欢送大家前来探讨,如果感觉对你的学习有肯定的帮忙,欢送点个Star, 同时欢送微信扫码关注 前端剑解 公众号,并退出 “前端学习每日3+1” 微信群互相交换(点击公众号的菜单:交换)。学习不打烊,充电加油只为遇到更好的本人,365天无节假日,每天早上5点纯手工公布面试题(死磕本人,愉悦大家)。心愿大家在这虚夸的前端圈里,放弃沉着,保持每天花20分钟来学习与思考。在这变幻无穷,类库层出不穷的前端,倡议大家不要等到找工作时,才狂刷题,提倡每日学习!(不忘初心,html、css、javascript才是基石!)欢送大家到Issues交换,激励PR,感激Star,大家有啥好的倡议能够加我微信一起交换探讨!心愿大家每日去学习与思考,这才达到来这里的目标!!!(不要为了谁而来,要为本人而来!)交换探讨欢送大家前来探讨,如果感觉对你的学习有肯定的帮忙,欢送点个[Star]取 消

December 23, 2020 · 1 min · jiezi

关于sass:万张图片流畅体验记一次-Vue-列表渲染

简介: ### 背景 团队目前的Web端产品中须要显示两个列表视图:卡片列表和条目列表,并且在点击切换按钮的时候,对两个列表进行切换显示。 ![条目列表](https://ata2-img.oss-cn-zh 背景团队目前的Web端产品中须要显示两个列表视图:卡片列表和条目列表,并且在点击切换按钮的时候,对两个列表进行切换显示。 在开发实现进行简略性能测试时,发现列表数量达到数百条后,切换视图就会造成显著的页面卡顿,用户体验很差。于是着手进行性能优化。 第一次优化:解决已知问题因为我的项目是应用 Vue.js (以下简称 "Vue")来实现,所以首先查看 Vue 是否存在性能瓶颈,如果存在则思考替换 Vue 进行优化。 通过查看官网给出的benchmark后果,咱们能够得悉 Vue 的列表渲染性能在高亮和替换列表元素的时候新能较差,在创立列表和新增列表元素的时候性能都是不错的,执行工夫在毫秒级别。 既然 Vue 并没有给咱们制订太低的性能天花板,那么咱们能够在应用 Vue 的根底上持续进行性能优化。 再来看看代码,点击切换的时候到底产生了什么。 点击事件触发后会引起组件属性 cViewType 变动,而后两个视图的列表会依据 cViewType 的值进行渲染。局部代码如下: <section class="file-card-list" v-if="cViewType == 'card'"> ......</section><section class="file-line-list" v-if="cViewType == 'line'"> ......</section>这里通过 v-if 指令来实现列表切换,每次切换时都会销毁之前的视图列表,而后创立一个新的视图列表。在列表元素十分多时,会造成大量的 DOM 元素创立和销毁,性能开销是很低廉的。 所以进行优化的最简略形式就是缓存曾经渲染的列表。对应到代码也很简略,就是将 v-if 改为 v-show,这样就能够通过 CSS 来管制两个列表的显示/暗藏,从而防止 DOM 元素的反复创立。 改变之后成果的确也非常明显,事件仿佛到此结束,但如果列表数量减少到一两个数量级,比方达到一万,是否仍旧晦涩呢? 第二次优化:排查可能的问题当我将列表元素数量减少到一万之后,卡顿问题果然再次出现了。 而浏览器页面卡顿无外乎两个起因,要么脚本引擎在执行 js 代码,要么渲染引擎在渲染页面。 因为后面曾经对脚本引擎执行 js 代码的问题进行过优化,这一次咱们将优化方向转向渲染引擎。 渲染引擎程序须要借助 CPU 来执行渲染操作,而 CPU 自身并不擅长于解决批量图形渲染,所以能够把这部分的渲染工作交给 GPU。 ...

December 17, 2020 · 1 min · jiezi

关于sass:前端面试每日-31-第609天

明天的知识点 (2020.12.15) —— 第609天 (我也要出题)[html] 你有应用过H5的Web Audio API吗?说说它的用处[css] Sass中的at-root指令有什么作用?[js] 请问typeof typeof 168的后果是什么?[软技能] 给你一个指标网站,你是如何对它进行技术剖析的?都从哪方面剖析?《论语》,曾子曰:“吾日三省吾身”(我每天屡次检查本人)。前端面试每日3+1题,以面试题来驱动学习,每天提高一点!让致力成为一种习惯,让奋斗成为一种享受!置信 保持 的力量!!!欢送在 Issues 和敌人们一起探讨学习! 我的项目地址:前端面试每日3+1【举荐】欢送跟 jsliang 一起折腾前端,零碎整顿前端常识,目前正在折腾 LeetCode,打算买通算法与数据结构的任督二脉。GitHub 地址 微信公众号欢送大家前来探讨,如果感觉对你的学习有肯定的帮忙,欢送点个Star, 同时欢送微信扫码关注 前端剑解 公众号,并退出 “前端学习每日3+1” 微信群互相交换(点击公众号的菜单:交换)。 学习不打烊,充电加油只为遇到更好的本人,365天无节假日,每天早上5点纯手工公布面试题(死磕本人,愉悦大家)。心愿大家在这虚夸的前端圈里,放弃沉着,保持每天花20分钟来学习与思考。在这变幻无穷,类库层出不穷的前端,倡议大家不要等到找工作时,才狂刷题,提倡每日学习!(不忘初心,html、css、javascript才是基石!)欢送大家到Issues交换,激励PR,感激Star,大家有啥好的倡议能够加我微信一起交换探讨!心愿大家每日去学习与思考,这才达到来这里的目标!!!(不要为了谁而来,要为本人而来!)交换探讨欢送大家前来探讨,如果感觉对你的学习有肯定的帮忙,欢送点个[Star]

December 15, 2020 · 1 min · jiezi

关于sass:前端面试每日-31-第605天

明天的知识点 (2020.12.11) —— 第605天 (我也要出题)[html] html中表格的width和height的值为什么没有单位?它的的默认单位是像素吗?[css] 你喜爱Sass还是Less?为什么?[js] 举例说明你对尾递归的了解,它有什么利用场景?[软技能] 你能手画出CSRF的攻打原理图吗?《论语》,曾子曰:“吾日三省吾身”(我每天屡次检查本人)。前端面试每日3+1题,以面试题来驱动学习,每天提高一点!让致力成为一种习惯,让奋斗成为一种享受!置信 保持 的力量!!!欢送在 Issues 和敌人们一起探讨学习! 我的项目地址:前端面试每日3+1【举荐】欢送跟 jsliang 一起折腾前端,零碎整顿前端常识,目前正在折腾 LeetCode,打算买通算法与数据结构的任督二脉。GitHub 地址 微信公众号欢送大家前来探讨,如果感觉对你的学习有肯定的帮忙,欢送点个Star, 同时欢送微信扫码关注 前端剑解 公众号,并退出 “前端学习每日3+1” 微信群互相交换(点击公众号的菜单:交换)。 学习不打烊,充电加油只为遇到更好的本人,365天无节假日,每天早上5点纯手工公布面试题(死磕本人,愉悦大家)。心愿大家在这虚夸的前端圈里,放弃沉着,保持每天花20分钟来学习与思考。在这变幻无穷,类库层出不穷的前端,倡议大家不要等到找工作时,才狂刷题,提倡每日学习!(不忘初心,html、css、javascript才是基石!)欢送大家到Issues交换,激励PR,感激Star,大家有啥好的倡议能够加我微信一起交换探讨!心愿大家每日去学习与思考,这才达到来这里的目标!!!(不要为了谁而来,要为本人而来!)交换探讨欢送大家前来探讨,如果感觉对你的学习有肯定的帮忙,欢送点个[Star]

December 11, 2020 · 1 min · jiezi

关于sass:前端面试每日-31-第604天

明天的知识点 (2020.12.10) —— 第604天 (我也要出题)[html] 如何解决微信浏览器中video标签z-index过高遮挡页面问题?[css] 你最喜爱Sass的起因是什么?[js] 如果应用JSON.stringify进行深拷贝有什么弊病?如何解决?[软技能] 请形容下XSS是如何攻打的?《论语》,曾子曰:“吾日三省吾身”(我每天屡次检查本人)。前端面试每日3+1题,以面试题来驱动学习,每天提高一点!让致力成为一种习惯,让奋斗成为一种享受!置信 保持 的力量!!!欢送在 Issues 和敌人们一起探讨学习! 我的项目地址:前端面试每日3+1【举荐】欢送跟 jsliang 一起折腾前端,零碎整顿前端常识,目前正在折腾 LeetCode,打算买通算法与数据结构的任督二脉。GitHub 地址 微信公众号欢送大家前来探讨,如果感觉对你的学习有肯定的帮忙,欢送点个Star, 同时欢送微信扫码关注 前端剑解 公众号,并退出 “前端学习每日3+1” 微信群互相交换(点击公众号的菜单:交换)。 学习不打烊,充电加油只为遇到更好的本人,365天无节假日,每天早上5点纯手工公布面试题(死磕本人,愉悦大家)。心愿大家在这虚夸的前端圈里,放弃沉着,保持每天花20分钟来学习与思考。在这变幻无穷,类库层出不穷的前端,倡议大家不要等到找工作时,才狂刷题,提倡每日学习!(不忘初心,html、css、javascript才是基石!)欢送大家到Issues交换,激励PR,感激Star,大家有啥好的倡议能够加我微信一起交换探讨!心愿大家每日去学习与思考,这才达到来这里的目标!!!(不要为了谁而来,要为本人而来!)交换探讨欢送大家前来探讨,如果感觉对你的学习有肯定的帮忙,欢送点个[Star]

December 10, 2020 · 1 min · jiezi

关于sass:微服务最佳实践MSE-微服务引擎

简介: 微服务引擎 MSE(Microservice Engine)是一个面向业界支流开源微服务框架 Spring Cloud 和 Dubbo 的一站式微服务平台。其由四个次要局部组成:微服务治理核心、微服务注册核心、微服务配置核心、微服务网关。 MSE 是什么 微服务引擎 MSE(Microservice Engine)是一个面向业界支流开源微服务框架 Spring Cloud 和 Dubbo 的一站式微服务平台。其由四个次要局部组成:微服务治理核心、微服务注册核心、微服务配置核心、微服务网关。先从一些关键词理解下各个组件的个性:• 微服务治理核心:无侵入加强支流开源微服务框架,丰盛的服务治理性能• 微服务注册核心/配置核心:全托管,高可用,丰盛欠缺的监控报警,丰盛的控制台运维操作,引擎类型丰盛• 微服务网关:全托管,反对支流开源微服务网关作为 MSE 产品族的组件,每个局部都是可插拔的,即可独自应用微服务治理核心,也可独自应用其余组件。当然,如果抉择应用全副的 MSE 组件,你将会取得微服务生态的最佳实际。 MSE 倒退历史MSE 在 2019 年 7 月正式上线,最早仅反对 Zookeeper 微服务注册核心,经验了数月的公测期,在 2020 年 1 月正式商业化,新增反对了两个注册核心类型 Nacos 和 Eureka。商业化之后,MSE 次要的产品演进方向蕴含了以下几个方面:• Region 开服。MSE 先后实现了国内 5 大 Region(杭州、上海、张家口、北京、深圳)以及国外三个 Region (弗吉尼亚、新加坡、俄罗斯)的开服,将来 MSE 将会做到寰球开服。• 产品状态拓宽。2020 年 6 月,MSE 引入微服务治理核心,该组件通过无侵入的形式,为 Spring Cloud 和 Dubbo 等支流微服务框架提供了能力加强,如服务鉴权、无损下线、标签路由、服务测试;2020 年 7 月反对了 Nacos 配置核心,用户只需申请 1.2.1 版本的 Nacos 即可同时取得注册核心和配置核心的能力;2020 年 8 月,MSE 引入微服务网关,提供全托管的 Zuul、Kong、Spring Cloud Gateway。• 产品能力演进。目前 MSE 还处于高速倒退期间,简直每个月份都有较大性能的上线,并对已有个性进行加强,如微服务治理核心现已反对 ECS、ACK 等产品模式的接入,反对 SpringCloud 和 Dubbo 微服务框架类型的治理;MSE Zookeeper 提供开源欠缺的管控能力,提供了可视化编辑能力,节点监控能力。提到微服务,人们最容易联想的词可能有这些:服务发现、服务治理、路由,而这些微服务的概念,凑巧与 MSE 的各个组成部分对应,上面我会对这些组件一一进行介绍。 ...

December 1, 2020 · 1 min · jiezi

关于sass:持续定义Saas模式云数据仓库实时分析

简介: 从实时剖析的价值、场景和数据流程,以及用户对平台能力要求开展,讲述云数据仓库MaxCompute的产品能力劣势 ,面对实时剖析场景的能力演进要求。进而以实时剖析典型场景的全数据流程解决、建模和剖析的最佳实际,解说MaxCopute+Hologres的解决方案,展示强强组合应的能力劣势。 一、云数据仓库概述 数据仓库的定义是面向主题、集成性、稳定性和时变性,用于反对管理决策。 数据仓库的意义在于对企业的所有数据进行归集,为企业各个部门提供对立的, 标准的数据进口。数据仓库(模型)实质是人收集和存储数据,意识数据,组织和治理数据,应用数据决策的最佳实际造成的方法论。 模型自身与在哪、用什么技术无关。 但逻辑模型和物理模型在最终计划中又是紧密结合的。用户须要的是数仓的业务能力和技术能力。 数据仓库的外围能力和价值包含:采集同步、加工、存储、建模、治理、查问。然而为了实现数据仓库的能力和价值必须要具备的根底包含: IDC机房、部署、开明、高可用、平安、日常运 维、扩容。这些形成了数仓总领有老本。从各个角度看,总成本=外围能力老本+根底老本 =产品成本+服务老本 =以后老本+长期老本+演进老本。MaxCompute是SaaS模式企业级云数据仓库。SaaS模式云数据仓库具备如下特点:• 开箱即用 • 大规模高性能 • 免运维、专家优化 • 灵便扩大 • 数据服务 • 丰盛欠缺的数仓能力 • 高可用,容灾备份 • 极致平安 • 低成本 • 能力疾速演进。可能为企业免去领有数据仓库的根底建设老本、保护老本、长期演进老本等非核心能力之外的投入。 SaaS模式云数据仓库可能的利用场景举例如下:• 实时数据入仓和剖析决策• 业务经营场景-交互式业务指标计算、查问• 各行业搭建数据仓库-流批一体、湖仓一体  云上弹性扩大大数据计算和存储。 SaaS模式云数据仓库的产品劣势包含:• 云原生极致弹性:云原生设计,无服务器架构,反对秒级弹性伸缩, 疾速实现大规模弹性负载需要• 简略易用多功能计算:预置多种计算模型和数据通道能力,开明即用• 企业级平台服务:反对凋谢生态,提供企业级平安治理能力。与阿里 云泛滥大数据服务无缝集成• 平安:多租户环境下安全控制能力强• 大规模集群性能强、全链路稳定性高,阿里巴巴双11场景验证。 SaaS模式云数据仓库举荐场景和产品组合例如:• 实时剖析场景-MaxCompute+MC-Hologres+Flink+DataWorks+Quick BI• 机器学习场景-MaxCompute+PAI+DataWorks。等。明天重点解说实时剖析场景。 云数据仓库蕴含的面向用户的性能和数据流程,如下图所示。开明MaxCompute云数仓即可领有如下全副性能和能力。 二、实时剖析场景与价值再提一遍大数据的5V能力 1 容量(Volume) 是指大规模的数据量,并且数据量呈持续增长趋势。目前个别指超过10T规模的数据量,但将来随着技术的提高,合乎大数据规范的数据集大小也会变动。2 速率(Velocity) 即数据生成、流动速率快。数据流动速率指指对数据采集、存储以及剖析具备价值信息的速度。因而也意味着数据的采集和剖析等过程必须迅速及时。3 多样性(Variety) 指是大数据包含多种不同格局和不同类型的数据。数据起源包含人与零碎交互时与机器主动生成,起源的多样性导致数据类型的多样性。依据数据是否具备肯定的模式、 构造和关系,数据可分为三种根本类型:结构化数据、非结构化数据、半结构化数据。4 真实性(Veracity) 指数据的品质和保真性。大数据环境下的数据最好具备较高的信噪比。5 价值(Value) 即低价值密度。随着数据量的增长,数据中有意义的信息却没有成相应比例增长。而价值同时与数据的真实性和数据处理工夫相干,见图。其中最要害的一点是:越靠近数据源,越早进行剖析和决策,越能施展数据价值。 ...

November 3, 2020 · 1 min · jiezi

关于sass:css预编语言

css预编语言1.开发环境 vue+sass2.电脑系统 windows10 专业版3.在应用vue开发的过程中,咱们常常会抉择一门css预编语言,为什么要应用css预编语言呢? 作为前端开发人员,大家都晓得,Js中能够自定义变量,而CSS仅仅是一个标记语言,不是编程语言,因而不能够自定义变量,不能够援用等等。       **CSS有具体以下几个毛病:*** **语法不够弱小,比方无奈嵌套书写,导致模块化开发中须要书写很多反复的选择器;*** **没有变量和正当的款式复用机制,使得逻辑上相干的属性值必须以字面量的模式反复输入,导致难以保护。**       这就导致了咱们在工作中无端减少了许多工作量。而应用CSS预处理器,**提供 CSS 缺失的款式层复用机制、缩小冗余代码,进步款式代码的可维护性。**大大提高了咱们的开发效率。       然而,CSS预处理器也不是万金油,CSS的益处在于简便、随时随地被应用和调试。预编译CSS步骤的退出,让咱们开发工作流中多了一个环节,调试也变得更麻烦了。更大的问题在于,预编译很容易造成后辈选择器的滥用。       所以咱们在理论我的项目中掂量预编译计划时,还是得想想,比起带来的额定保护开销,CSS预处理器有没有解决更大的麻烦。4.css预编语言有sass和less,有什么区别呢? **不同之处****1、Less环境较Sass简略**Cass的装置须要装置Ruby环境,Less基于JavaScript,是须要引入Less.js来解决代码输入css到浏览器,也能够在开发环节应用Less,而后编译成css文件,间接放在我的项目中,有less.app、SimpleLess、CodeKit.app这样的工具,也有在线编辑地址。**2、Less应用较Sass简略**LESS 并没有裁剪 CSS 原有的个性,而是在现有 CSS 语法的根底上,为 CSS 退出程序式语言的个性。只有你理解 CSS 根底就能够很容易上手。**3、从性能登程,Sass较Less略弱小一些**①sass有变量和作用域。- $variable,like php;- #{$variable}like ruby;- 变量有全局和部分之分,并且有优先级。②sass有函数的概念;- @function和@return以及函数参数(还有不定参)能够让你像js开发那样封装你想要的逻辑。-@mixin相似function但短少像function的编程逻辑,更多的是进步css代码段的复用性和模块化,这个用的人也是最多的。-ruby提供了十分丰盛的内置原生api。③过程管制:-条件:@if @else;-循环遍历:@for @each @while-继承:@extend-援用:@import④数据结构:-$list类型=数组;-$map类型=object;其余的也有string、number、function等类型**4、Less与Sass解决机制不一样**前者是通过客户端解决的,后者是通过服务端解决,相比拟之下前者解析会比后者慢一点**5、对于变量在Less和Sass中的惟一区别就是Less用@,Sass用$。** **相同之处**Less和Sass在语法上有些共性,比方上面这些:1、混入(Mixins)——class中的class;2、参数混入——能够传递参数的class,就像函数一样;3、嵌套规定——Class中嵌套class,从而缩小反复的代码;4、运算——CSS中用上数学;5、色彩性能——能够编辑色彩;6、名字空间(namespace)——分组款式,从而能够被调用;7、作用域——部分批改款式;8、JavaScript 赋值——在CSS中应用JavaScript表达式赋值。5.在开发的时候,我抉择的是sass,为什么抉择sass呢? 1、Sass在市面上有一些成熟的框架,比如说Compass,而且有很多框架也在应用Sass,比如说Foundation。2、就国外探讨的热度来说,Sass相对优于LESS。3、就学习教程来说,Sass的教程要优于LESS。在国内LESS集中的教程是LESS中武官网,而Sass的中文教程,缓缓在国内也较为广泛。4、Sass也是成熟的CSS预处理器之一,而且有一个稳固,弱小的团队在保护。5、同时还有Scss对sass语法进行了改进,Sass 3就变成了Scss(sassy css)。与原来的语法兼容,只是用{}取代了原来的缩进。6.本期的教程到了这里就完结啦,让咱们一起致力走向巅峰!

October 20, 2020 · 1 min · jiezi

关于sass:Sass的笔记汇总

装置我以Hbuilder为例,上来间接傻瓜式装置 而在Vue我的项目中装置后看这里,相似于目录里有没有你想学的这节 cnpm install sass sass-loader -S 我在Vue测试是否胜利,前面的再细讲

September 12, 2020 · 1 min · jiezi

关于sass:sass常用方法

一、什么是sassSass 是一款强化 CSS 的辅助工具,它在 CSS 语法的根底上减少了变量 (variables)、嵌套 (nested rules)、混合 (mixins)、导入 (inline imports) 等高级性能,提供了许多便当的写法,大大提高的开发效率。上面总结了SASS的次要用法,想要理解更多能够查阅文档 二、装置1、因为sass依赖于Ruby,因而须要先装置Ruby,而后执行gem install sass2、若在vue-cli或react-create-app中应用,在我的项目中装置依赖: npm install node-sass --save-devnpm install sass-loader --save-dev三、根底用法3.1 变量SASS容许应用变量,所有变量以$结尾 $color: #ccc;div { color: $color;}如果变量须要镶嵌在属性中之中,就必须须要写在#{}之中 $side: right;div { border-#{$side}-radius: 10px;}3.2 计算能力SASS容许在代码中应用算式 $var: 10px;div { width:(20px/2); top: 10px + 20px; left: $var * 2}3.3 嵌套能力个别咱们写多个选择器时,个别这样: div h2 { border:1px solid #ccc;}应用sass能够写成: div { h2 { border:1px solid #ccc; }}属性也能够嵌套,比方font-size属性,能够写成 div { font:{ size:18px; }}能够应用&援用父元素 ...

August 27, 2020 · 1 min · jiezi

关于sass:详解JNPFAPP办公系统快速开发方案

挪动办公是不能阻挡的将来办公趋势寰球当先的挪动解决方案供应商西特里克斯零碎公司拜访19个国家和地区共1900名信息技术行业高管,写成《西特里克斯将来工作场合》报告。 报告预计,到2020年大概每10名员工共用7张办公桌,每名员工均匀用6种挪动设施与公司网络相连。届时,29%的员工不必在传统办公室里工作,人们能够在家里或是我的项目现场办公,也能够借用酒店、机场、咖啡店等处的网络挪动办公。 报告说,简直所有拜访对象都认为,将来须要从新设计办公空间,让它变得更有吸引力。将来的办公室将能够激发员工创造力和想象力,激励员工随时随地挪动办公,从而促成合作精力,让工作成为人们做的事,而非去的地点。 JNPF的挪动办公零碎这种全新的办公模式,能够让办公人员解脱工夫和空间的解放。单位信息能够随时随地通顺地进行交互流动,工作将更加轻松无效,整体运作更加协调。利用手机的挪动信息化软件,建设手机与电脑互联互通的企业软件应用零碎,解脱工夫和场合局限。 JNPF的挪动办公(APP版)JNPF.APP基于国产开源的Uni-APP框架开发的,由HBuilder X 编辑器打造而成。 挪动协同高效办公信息实时传播 - 挪动利用的信息反对多终端即时通讯, 改善用户体验、解决智能生存时代信息专递问题; 自定义推送告诉 - 提供自定义告诉、反对多平台终端消 息推送,将信息以多种展示形式即时推送给指标用户; 多种流程策略可依据不同行业需要进行适配,如OA、 ERP零碎等工作流程的发动,审批,入库等多种流程配 置策略; 丰盛的组件反对多种接口JNPF提供丰盛的组件及原生能力,同时提供页面模块,最大水平简化工作量,提供多种接口,反对多种接入形式如Rest API等,不便业务联合本身需要灵便调用。表单、报表均可依据须要,随时调整。操作简略,扩大灵便,保护便捷。 除此之外还有轻便微信小程序,无需下载即可应用,通过简略的操作将本来PC端性能迁徙到手机端实现口袋式轻便办公!

August 19, 2020 · 1 min · jiezi

关于sass:Sass-css预处理器使用

Hbuilder中Sass配置{ "name": "sass", "id": "compile-node-sass", "version": "0.0.4", "displayName": "scss/sass编译", "description": "编译scss/sass为css。uni-app编译或对文件右键-外部命令编译时应用", "engines": { "HBuilderX": "^1.0.0" }, "external": { "type": "node", "programPath": "${pluginPath}", "executable": "/node_modules/.bin/node-sass", "programName": "node-sass-china", "commands": [ { "id": "SASS_COMPILE", "name": "编译scss/sass", "command": [ "${programPath}", "${file}", "../css/${fileBasename}.css" // 批改此处可扭转编译后的文件输入地位 ], "extensions": "scss,sass", "key": "", // 通过key,能够配置快捷键 "showInParentMenu": false, "onDidSaveExecution": true // 配置保留的时候是否触发执行; 默认为false; true: 代表执行,主动将scss文件转化为css文件 } ] }, "dependencies": { "node-sass-china": "^4.7.2" }, "extensionDependencies": [ "npm" ]}sass文件sass文件能够有两种后缀名 ...

August 9, 2020 · 1 min · jiezi

关于sass:Sass-css预处理器使用

Hbuilder中Sass配置{ "name": "sass", "id": "compile-node-sass", "version": "0.0.4", "displayName": "scss/sass编译", "description": "编译scss/sass为css。uni-app编译或对文件右键-外部命令编译时应用", "engines": { "HBuilderX": "^1.0.0" }, "external": { "type": "node", "programPath": "${pluginPath}", "executable": "/node_modules/.bin/node-sass", "programName": "node-sass-china", "commands": [ { "id": "SASS_COMPILE", "name": "编译scss/sass", "command": [ "${programPath}", "${file}", "../css/${fileBasename}.css" // 批改此处可扭转编译后的文件输入地位 ], "extensions": "scss,sass", "key": "", // 通过key,能够配置快捷键 "showInParentMenu": false, "onDidSaveExecution": true // 配置保留的时候是否触发执行; 默认为false; true: 代表执行,主动将scss文件转化为css文件 } ] }, "dependencies": { "node-sass-china": "^4.7.2" }, "extensionDependencies": [ "npm" ]}sass文件sass文件能够有两种后缀名 ...

August 9, 2020 · 1 min · jiezi

从零实现一个Sass预处理器

一、Sass预处理器简介Sass 是一款强化 CSS 的辅助工具,它在 CSS 语法的基础上增加了变量 (variables)、嵌套 (nested rules)、混合 (mixins)、导入 (inline imports) 等高级功能,这些拓展令 CSS 更加强大与优雅。使用 Sass 以及 Sass 的样式库(如 Compass)有助于更好地组织管理样式文件,以及更高效地开发项目。 // index.scss sass源码$redColor: red;$yellowBg: yellow;nav { height: 100px; border: 1px solid $redColor;}#content { height: 300px; p { margin: 10px; .selected { backgournd: $yellowBg; } }}经过sass编译后,生成的代码结果如下: // sass编译后的输出的css代码nav { height: 100px; border: 1px solid red; }#content { height: 300px; } #content p { margin: 10px; } #content p .selected { backgournd: yellow; }接下来我们将实现一个简单的Sass预处理,其基本功能包括: ...

June 9, 2020 · 7 min · jiezi