工程伦理0、概论o1、教育意义1、提升工程师伦理素养,加强工程从业者的社会责任2、有利于推动可持续发展,实现人与自然的协同进化3、有利于协调社会各群体,确保社会稳定和谐o2、教育目标1、培养工程伦理意识和责任感2、掌握工程伦理的基本规范3、提升工程伦理的决策能力o3、课程意义1、建设创新型国家,制造强国的需求2、实施卓越工程师计划的要求3、促进国家工程伦理学科建设的一项重要举措4、高校德育改革的迫切要求(学科\理论\体系建设)1、工程与伦理o1、什么是工程工程与技术技术o发明为核心,体现人类改造世界的方法、技巧、技能工程o广义:人为达到某种目的,通过一段时间的协作的活动过程。o以建造为核心的活动o狭义:满足人类需求目标,应用各种知识与技术,调动自然和社会资源,通过人的写作,建造具有预期使用价值的产品过程工程师o研究和发展o施工和生产o操作o管理和其他职能工程的过程生命周期o计划环节:提出、决策解决:必要性、可行性o设计设计思路、设计理念、实施方案o建造实施、安装、试验、验收o使用使用、运营、维护o结束报废结束工程活动的几个维度哲学o反
问题ResizeObserver loop completed with undelivered notifications常常出现在react中 Ant-design 或 vue中使用element-ui 的Table(DataGrid)组件中,主要表现是浏览器渲染页面时,Table表格的表头表体的每个单元格宽度循环计算导致页面多次渲染。原因报错的原因:在页面绘制的时候,页面内组件或DOM循环调整大小的事件,导致了样式和布局都需要重新评估,这个调整大小导致的布局变化,将延迟到下一帧来绘制,如此循环导致浏览器告警。出现版本: antd 版本大于等于 4.0 的时候 会出现,小于antd 4.0 不会出现,【官方说展开行不能和固定列一起使用】,关于 ant design 4.0 的问题可以参考知乎专栏影响该错误对业务代码不会产生错误或中断,业务代码能正常执行。控制台不会报错。主要影响时开发阶段全屏提示,说明代码中的循环渲染影响了浏览器的性能。解决方案方法1去掉滚动属性中 x 的横向滚动:scroll={{x: 'max-content'}} ,让宽度自适应。方法2对dataSource
ChatGPT所代表的大数据模型已经确实改变了很多工作的流程和形态。作为一位走在新技术一线的小开发,自然也想借助一下其强大的代码生成能力来提高自己的工作效率,让更多的时间留给摸鱼创造和思考。然而,ChatGPT已经推出这么久了,相信大家也多多少少有体验过,自然也发现,ChatGPT在生成诸如注释、文档、CRUD和单元测试等规则性强的代码方面具有强大的生产力。然而,在让它生成重要的逻辑代码时,就很容易出现生成5分钟,调试5小时的离谱情况。作为一位客户端开发,需要写的CRUD和单元测试的代码实在是不多。逻辑代码的开发为了防止一些不可控的意外也没办法全权交给ChatGPT代理。因此,只能让其作为一个升级版的Google帮忙查一些文档和回答一些小问题。好像完全没有什么场景可以让ChatGPT发挥实力。然而,仔细一想?️,在客户端的需求开发过程中也存在这种规律性强,枯燥无味,但是又不得不写的代码类型。那么有没有一种可能让借助ChatGPT来生成这些枯燥的UI代码呢?其实自动生成UI代码并不是什么新问题,关于这方面的产品也已经不少。比如在司内,智能代码生成OTeam也正在开展相关工作,而外部也有很
之前在腾讯云也做过跨端开发,也是基于Electron的客户端,核心的一点就是开发便捷,社区支持度好,很多问题一搜就能找到。与前端的配合使用上也很方便,上手难度相对较低。做一些基础产品应用足够了,如果是打造专业级产品,确实需要更多的做优化、安全、防止反编译以及本地化应用的一些工作。我之前也遇到一些问题,在后续的文章中我再补充一些,主要是mac 在x86/m1 等不同架构cpu核心的编译与自动化构建、客户端性能优化、内存与cpu等优化。 原文来自 https://xie.infoq.cn/article/b3849f9749a65e99eb33fe020,作者:vivo 互联网前端团队-Yang Kun 一、背景在团队中,我们因业务发展,需要用到桌面端技术,如离线可用、调用桌面系统能力。什么是桌面端开发?一句话概括就是:以 Windows 、macOS 和 Linux 为操作系统的软件开发。对此我们做了详细的技术调研,桌面端的开发方式主要有 Native 、 QT 、 Flutter 、 NW 、 Electron 、 Tarui 。其各自优劣势如下表格所示:我们最终的桌面端技术选型
/* 给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。*/const decodeString = (s) => { const reg = /(\d+\[\w+\])/; if(!reg.test(s)) { return s; } const val = /(\d+)\[(\w+)\])/.exec(s); if(val && val?.length > 0) { const num = parseInt(val[1], 10); const value = val[2]; let str = '';
本文转自km的一篇文章,看了vite原理,其利用esbuild 先启动服务器,然后再根据所需页面以来的module 再按需加载编译。因为没有那么多阻塞的任务,所以才看起来很快,具体分析如下所示。提到 Vite,第一个想到的字就是 快,到底快在哪里呢?为什么可以这么快? 本文从以下几个地方来讲快速的冷启动: No Bundle + esbuild 预构建模块热更新:利用浏览器缓存策略按需加载:利用浏览器 ESM 支持Vite 本质上是一个本地资源服务器,还有一套构建指令组成。本地资源服务器,基于 ESM 提供很多内建功能,HMR 速度很快使用 Rollup 打包你的代码,预配件了优化的过配置,输出高度优化的静态资源快递的冷启动No-bundle在冷启动开发者服务器时,基于 Webpack 这类 bundle based 打包工具,启动时必须要通过 依赖收集、模块解析、生成 chunk、生成模块依赖关系图,最后构建整个应用输出产物,才能提供服务。这意味着不管代码实际是否用到,都是需要被扫描和解析。而 Vite 的思路是,利用浏览器原生支持 ESM 的原理,让浏览器来负责打包程序的工作。而
微前端解决的三个核心问题: 1、解决异构前端网站的融合性问题,兼容多种前端框架和技术栈,新旧项目的融合为一个应用。 2、确保微前端应用之间全局变量、事件、样式资源等状态隔离,运行时状态不共享。 3、微前端应用之间的数据通信、数据状态与缓存管理,页面保活。方法一:使用iframe与自定义消息来传递;方法二:使用web Components, 通过主应用和微应用来通知 上面是微服务的定义,每个功能可以独立运行,也可以组合在一起来完成更复杂的业务功能。通常微服务讲的更多的是后台架构,微前端是微服务在前端中的一种实现方式。一个子应用可以有自己独立的仓库,独立构建、测试、上线,在运行时把这些功能组合在一起。多技术栈共存,当一个老项目运行着,此时又需要引进新技术,微前端就比较合适,如早年的 backbone 或者 vue2 等项目,当下要把 react + ts 引进来。 大型项目多团队负责,各团队可维护着自己的模块,比如大型控制台(如阿里云控制台、腾讯云控制台),各团队可以独立开发并上线,最后由统一的主应用来把各个团队做的功能组合在一起。 巨石应用,比如邮箱业务,除核心的邮件读
作者:jaysonxiao ,腾讯AlloyTeam 2021-04-07 发表的 协同编辑冲突处理算法综述 对协同编辑冲突处理算法的基本概念进行介绍,并对三种主流算法:OT、CRDT、AST,从理论层面分别对基本原理进行简单介绍,帮助从宏观角度更好地理解协同编辑冲突处理算法。我们可以在在线编辑器,多人协同工具的研发中使用到相关的算法和原理。 1.主流协同冲突算法简介 在实时协同编辑系统领域,OT(Operational Transformation)算法核心原理基于操作转换,是最早(1989年)被提出的协同冲突处理算法,而后因为Google Wave应用流行起来。OT算法相关的研究如今得到了广泛的实际应用,例如Google Docs和腾讯文档,底层的协同冲突处理算法都是基于OT算法实现。 AST(Address space transformation)算法,最早于2005年提出,其核心思想是在执行操作前回溯文档生成操作时的状态,通过转换地址空间实现协同。在协同编辑学术领域,相关的研究成果不断在提出,不过现实中的实际应用较少。 CRDT (Conflict-free
前言本文以前端面试官的角度出发,对 Vue 框架中一些重要的特性、框架的原理以问题的形式进行整理汇总,意在帮助作者及读者自测下 Vue 掌握的程度。本文章节结构以从易到难进行组织,建议读者按章节顺序进行阅读,当然大佬级别的请随意。希望读者读完本文,有一定的启发思考,也能对自己的 Vue 掌握程度有一定的认识,对缺漏之处进行弥补,对 Vue 有更好的掌握。 文章最后一题,欢迎同学们积极回答,分享各自的经验 ~~~辛苦整理良久,还望手动点赞鼓励~感兴趣的小伙伴可以关注我的公粽号:码上掌握,一起学习前端!1、说说你对 SPA 单页面的理解,它的优缺点分别是什么?SPA( single-page application )仅在 Web 页面初始化时加载相应的 HTML、JavaScript 和 CSS。一旦页面加载完成,SPA 不会因为用户的操作而进行页面的重新加载或跳转;取而代之的是利用路由机制实现 HTML 内容的变换,UI 与用户的交互,避免页面的重新加载。优点:用户体验好、快,内容的改变不需要重新加载整个页面,避免了不必要的跳转和重复渲染;基于上面一点,SPA 相对对服务器压力小;前后
[TOC]在最近使用typecho 中对页面的中的部分功能进行了二次开发,所以将很久不用的php基础知识又重新学了一遍。上一次用还是在2013年用thinks php 开发海淘的电商网站。0 语法变量PHP 是一门弱类型语言,不必向 PHP 声明该变量的数据类型,会根据变量的值,自动把变量转换为正确的数据类型。PHP 脚本可以放在文档中的任何位置, 以 <?php 开始,以 ?> 结束:// 单行注释 、/* 多行注释*/ 、echo - 可以输出一个或多个字符串(用,隔开),无返回值[推]、print - 只允许输出一个字符串,返回值总为 1一 基本数据类型8种四种标量类型:boolean (布尔型逻辑型)、int (整型)、float (浮点型, 也称作double)、 string (字符串) 两种复合类型:array (数组)、object (对象) 两种特殊类型:resource (资源)、 null (NULL)二 运算符7种逻辑运算符:and 与、or 或、xor 异或、&& 与、|| 或、! 非、算数运算符:+、-、*、/、%、++、
小码哥
十年老程序员
粤ICP备2023052298号-1