首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

亲身试用新 JS 运行时 Bun 后,觉得未来可期

不知道大家实际工作中有没有编写过 JS 或 TS 生产代码,那种体验挺难受的。多数情况下,开源工具和小项目也良好运转,但一到商业和企业级用例就经常掉链子。...顺便说一句,TypeScript Bun 这边可是相当有排面,直接调用 bun my-ts-file.ts 就行。Deno 对 TS 的支持也就这个水平了。... Linux ,bun install 的包安装速度可以达到 npm install 的 20 倍到 100 倍。 macOS ,也达到 4 倍到 80 倍。...现在,Bun 还不提供工作空间支持,所以暂时没法对接那些期待来拯救的大型单体 repo(我们的项目也属于这类)。但好在 Bun 正保持着迅猛的发展速度,几周前刚公布的路线图也提到了工作空间支持。...顺带一提,Bun 中的解析器就是 esbuild 解析器的一个 Zig 端口,轻松愉快。 Bun 已经支持多种文件类型,css、svg、tsx、jsx、ts 之类的都行。

1.4K20

TS实践」自己动手丰衣足食的TS项目开发

项目中真的有必要使用TS?......列出这些问题的时候,也许还不能完全能解答,希望整个知识重拾结束之后,找到答案。...比如的确切类型。通过类型断言这种方式可以告诉编译器,“相信我,知道自己干什么”。 这个时候TypeScript会假设你,程序员,已经进行了必须的检查。...问:刚开始上手TS,不自觉的就按照JS的写法,很多变量没有做类型注释,但是代码编译通过,功能可以正常运行。怎么书写才是规范的?答:上面这个问题,正是最初使用TS开发功能的一个困扰。...起别名不会新建一个类型,创建了一个新名字来引用这个类型。...答:以我的实际工作经验,推荐使用TS的原因之一,团队协作项目中,代码可读性不高的原因之一是代码规范不统一,尽管我们做了辅助工作比如命名规范、添加必要注释、`Code Review`等,但是这些都是人为干预

1.6K30
您找到你想要的搜索结果了吗?
是的
没有找到

TS】217-TypeScript - 一种思维方式

一个多月前,理解的 TS 是一种可以对类型进行约束的工具,但是现在才发现 TS 并不简单是一个工具,使用它,会影响写代码时的思考方式。...我们知道稍微复杂一点的程序都离不开不同模块间的配合,不同模块的功能理应是更为清晰的,TS 帮我们梳理清不同的接口。...: number }; ... } 这种提醒无疑增强开发的效率,虽然定义类型早期会花费一定的时间,但是对于一个长期维护的比较大型的项目,使用 TS 非常值得。...,使用 TS 重写了一个基于 CRA 的简单但是很完整的前端项目,现在觉得,使用 TS 来开发工作中的常见需求,应该都能应对了。...TS 每隔几个月就会发布一个新的小版本,每个小版本 TypeScript 官方博客[3] 都会有专门的说明,可用用作跟进学习 TS 的参考。

91820

.NET手撸绘制TypeScript图——上篇

为了搞到图,一共分两步走: 解析 .ts文件,生成抽象语法树( AST),并转换为简单的 、 属性、 方法等对象 将这个对象绘制出来 本文将分上下两篇,上篇将介绍移植的一个.NET Standard....ts文件生成抽象语法树 正常来说编译原理挺难的,但好在有人赶在了的前头?。...TypeScript解析 Github找到了一个叫 TypeScriptAST的项目,刚好就能将 .ts文件转换为 AST。但它仅提供了 .NETFramework版本。...看了一下实现方式,它是从微软官方的TypeScript仓库按源代码翻译的。其中 Parse.cs高达近 8000行代码,能把如此巨大的工作翻译完成,可见作者花了不少时间。...总结 本篇我们介绍了如何使用 .NET解析 TypeScript,并推荐了移植的一个 NuGet包: Sdcb.TypeScriptAST。 下篇将在这篇的基础,介绍如何使用代码将图渲染出来。

75530

TypeScript与Babel、webpack的关系以及IDE对TS的类型检查

只要接触过ts的前端同学都能回答出ts是js超集,具备静态类型分析,能够根据类型静态代码的解析过程中对ts代码进行类型检查,从而在保证类型的一致性。...完成这个工作的插件叫做 babel-plugin-transform-es2015-arrow-functions。 同一语法可能同时存在语法插件版本和转译插件版本。...综合来看,基于ts-loader的webpack项目的解析流程处理如下。...哎呀,错了一个字,修复,保存,然后…啊。只是慢得令人烦恼并打消你的势头。 很难去指责 TypeScript 编译器,它在做很多工作。...我们这个示例中,没有写副作用之前,webpack认为打包是没有意义的,因为只有导出方法,却没有使用。那么,如果让webpack知道,我们需要做一个库呢?

38930

大多数前端开发,都被知识诅咒牢牢困住

今天的 HarmonyOS 开发 讨论群里,一个群友说自己正在搞下拉动画 然后一想,哎哟,不错哦,这个群友还有点厉害!毕竟在我们前端里,能把这个逻辑写出来的人比较少,心想这个群友必定有点东西。...他的回复让发现这个人果然有点东西,他居然悄悄咪咪的手写常用基础组件库。 一声感叹之后,他回说: 这个不是很简单? 所以,各位读者老爷们,你觉得一个手写下拉刷新组件的实现简单?...一看,也觉得这个项目还不错啊。...中间我们沟通过一次,沟通的内容是他 JSON 文件的引入遇到了一个坑,不知道咋解决 上周 B 站直播间分享 React 性能优化专题,当我分享完实践案例后,说我们可以把这个案例的优化经验好好总结一下...能把这里面比较复杂的逻辑和关系给他讲清楚,算是对表达能力的一种高度肯定,但是呢,当时的第一反应确实就是难受和生气 就在直播间反问他:如果你不来听我直播,你知道这个怎么优化

11200

为什么后端老是觉得前端简单?

好了,说到工程化,复杂的Webpack了解下,babel保姆用一下,ts.config.json 你也来个?...还有就是找工作要用到的各种框架技术,都是要花时间去学的,就一个React周边技术栈多的一批,还有Angular8+ ,东西多吧?想高阶地使用?...能把前端样式写得自适应的还懂Flex布局,真不多,CSS动画就更不用说了,CSS3这玩意可比XAML玄学多了。...看了一下原来是对原型链的一种使用啊,可是发现原型链也没学,恶补了Object各种属性和方法,怪不得有人说js可以oop编程,原来如此。哦,所以data要设计函数为啥啊?...这就是DOM对象吧,直到这个时候才反应过来,之前只是听说有这么一个定义,现在浏览了下block.rnc,phrase.rnc等等定义文件,前前后后都融会贯通了起来。 完犊子!

65320

Prettier看这一篇就行了

一篇文章下可以看到这样的评论: ? 官方说的第 2 条:支持很多语言。看这幅图就行了: ? 图中右侧的是 Community Plugins,其中包含比较关心的 Java。...当然这需要你.js 和.ts 文件分别设置一次才可以产生上面的设置。...现在正在用 Markdown 写这篇文章,Prettier 也帮我格式化。 ? Prettier 和 IDE 以及 Git 都整合的很好,帮助我们自动格式化了代码。...而 Prettier 则不会这么麻烦,根本不管你之前符不符合什么规则,都先把你的代码解析 AST,然后按照它自己的风格给你重新输出代码。...前端代码不管TS还是ES,都用ESLint吧。具体看作者Medium的Blog[17]和相关Issue[18]。

79330

设计并实现同时支持多种视频格式的流媒体点播系统

本人不才,做了这个尝试,目前已经支持AVI、TS、FLV、F4V格式一个点播系统中的播放和拖动,而且不存在拖动后花屏的现象。下面介绍一下这个点播系统的设计方案和架构。...点播系统中,播放器想要实现上面所说的定位关键帧的技术,就要知道影片的关键帧列表,可是“点播”嘛,视频服务器,是边下边看的,没法自己解析,只能让服务器告诉。...具体的获知方式,觉得,可以设计以下3种方案,这3中方案,针对AVI, TS, FLV等很多格式,都可以适用: 1....这个系统中,选择了方案三,原因就是处理简单~~ 二、处理逻辑   这里,以f4v文件为例。(其中,XVideoKFrame是视频格式解析程序,作用是读取AVI TS等视频,并生成关键帧列表。) ?...就不把所有格式的解析方法写出来了,将来有机会再写文章介绍这些格式。 ? 五、效果图    最后,让大家看一下效果图,这个是点播ts文件的效果 ? ?

1.4K50

三歪肝出了期待已久的SpringMVC

经常会去知乎水回答。知乎有很多初学者都会问的一个问题:「学习SpringMVC需要什么样的基础」 一定会让他们先学Servlet,再学SpringMVC的。...面试的时候甚至一句话就讲完了,但这够,这是面试官想要的?那肯定不是。那我们想知道SpringMVC是做了什么?想的吧(不管你们想不想,反正三歪想看)。 ?...我们DispatcherServlet可以看到很多熟悉的成员变量(组件),所以看下来,我们要的东西,DispatcherServlet可全都有。...最后 SpringMVC我们使用的时候非常简便,在内部实际帮我们做了很多(有各种的HandlerAdaptor),SpringMVC的请求流程面试的时候还是面得很多的,还是可以看看源码帮我们做了什么...现在已经工作有一段时间了,为什么还来写SpringMVC呢,原因有以下几个: 一个对排版有追求的人,如果早期关注的同学可能会发现,的GitHub、文章导航的read.me会经常更换。

54920

手摸手打造掘金在线IDE(二)——编辑器篇

确实,坦率的讲,对于一个技术项目,这个东西技术难度层面,就是侮辱人的智商的,很多人都对他嗤之以鼻, 很是不屑 然而,想说的是,我们的日常工作中,很多人都是都是靠着这么多crud 去养活没有这些东西..., 给这些琢磨明白了,你也值钱,并不一定是技术好 所以,就想在这里发出一个疑问?...我们这个行当,技术好一定是绝对优势?...由于我们是要使用vscode 语法,但是vscode 和monaco-editor 本质又不是一个东西 vscode 使用的是 vscode-textmate 来解解析,做的关联,但是monaco-editor...总结 我们本期解决了编辑器选型问题,接下来,就要开始做编译器,的处理了 , 欲知后事如何,且听下回分解,其实也想这回分解的,但是东家不让啊!

2.6K11

启动器—Alpha框架解析

顾名思义就是帮我们优化启动的一个工具,可以高效合理的帮我们安排启动过程中的一些任务处理。 接下来就带大家从源码开始分析,一起看看阿里的异步启动框架——Alpha。...作为一个异步启动框架,该有什么功能 有人可能要问了,不就是异步任务整几个线程,把任务往里面一丢不就行了。...晕了。这么多关系,该怎么处理?既然文字看着太麻烦,就画个图吧,这里涉及到一个用于时间管理的图形——Pert图。Pert 图是一个有向图,清晰地描述子任务之间的依赖关系。...这个mStartTask是之前设置的那些任务中第一个任务?...总结 分析下来,这个异步启动框架应该算比较简单的,但是能解决问题啊!其实我们平时工作中也可以做一些积累,然后写成工具或者框架,如果能开源出来大家一起使用还真是一件不错的事情呢! ----

1.6K40

一杯喜茶的时间实战Deno:Deno+MongoDB(内含项目Demo链接)

亲自体验一把Deno开发带来的快感,用Deno搞一个“企业级”应用:deno-supermarket[1],难道不香?...比如: deno run -A --unstable index.ts 可能有人会问,-A和--unstable的位置调换会不会有问题。这个亲测过不会有问题。只要标志符文件名称之前就行了。...其实Deno官方文档已经帮我们分好的了,入口地址分别是: 稳定的API文档[4] 不稳定的API文档[5] 如果你怀疑--unstable的作用,可以使用下面的方法打印出Deno的所有成员: console.log...如何管理版本 刚开始也很疑惑:没有了package.json,那怎么控制各依赖的版本呀?...一个个文件的进行替换容易漏掉,当然也可以全局搜索批量替换。但是这种效率都不是很高。 官方给出的推荐做法是,使用deps.ts文件来引入远程文件,并管理版本。

91020

巧用 ChatGPT 将半天的工作量压缩到20分钟

今天就来给大家分享一个案例,来看一下工作中是利用 ChatGPT 把原本需要半天的工作量压缩到不到半小时的。...最近司要做一个 AI 工具地图,效果如下 需求是把每个 AI 产品的图标分门别地先合成一个小图,再把所有小图整合成一个 AI 大地图,注意每个图标下面的文字都是其对应的产品名哦,放大看某一AI产品的效果如下...AI产品的图标,我们决定使用 https://ai-bot.cn/ 这个导航网站里的图标,的首页截图如下 好了再来明确我们的需求,首先需要获取每一 AI 产品下的图标,并将图标命名为此 AI 对应的产品名...,这只是其中一个例子,实际工作大量使用了 AI 来编码,以网站的后端代码为例,90%的代码都是 AI 写的,当然指令还是下的,有人说 ChatGPT 的出现可能会替代程序员,但就的大量实践经验来看...这样的责任链的方式来重用代码以提高代码的可扩展性,所以事在人为,对于程序员来说,你越资深,掌握的知识越多,就越能指示 ChatGPT 最大程序地发挥其功效, AI 能够帮我处理那些重复的,不需要怎么动脑的工作

24520

如何开发Vite3插件构建Electron开发环境

开发新版本 Vue 项目推荐你使用 Vite 脚手架构建开发环境,然而 Vite 脚手架更倾向于构建纯 Web 页面,而不是桌面应用,因此开发者要做很多额外的配置和开发工作能把 Electron 引入到...这是因为 Vite 编译项目的时候,Vue 库会被编译到输出目录下,输出目录下的内容是完整的,没必要把 Vue 标记为生产依赖;而且我们将来制作安装包的时候,还要用到这个 package.json...开发环境 Vite 插件 主进程的代码写好之后,只有编译过之后才能被 Electron 加载,我们是 通过 Vite 插件的形式来完成这个编译工作和加载工作 的,如下代码所示: //plugins\devPlugin.ts...设置 Vite 模块别名与模块解析钩子 虽然我们可以开发者调试工具中使用 Node.js 和 Electron 的内置模块,但现在还不能在 Vue 的页面内使用这些模块。...,这个开发环境是我们自己动手一点一点搭起来的,以后我们想增加或者修改一项功能,都可以很从容地自己动手处理

1.7K20

可以帮我们自动写代码

虽然说规范程度上一般,没有异常处理什么的,但是已经相当了不起了有没有!...居然准确理解注释中我们描述的两个需求 居然知道调用哪个 API 来判断文本的情感信息 居然还能没有语法错误地把一个 JavaScript 方法写出来 牛逼了!...跟说了忽略开头是 # 的行,它就添加了一个判断 而且智能分析了下面的三行数据是什么格式的,然后还知道用空格把分开 分开之后,针对日期,他还知道用 datetime 解析一下,而且还知道是什么格式,...装上之后,登录 GitHub 授权,登录之后,弹了一个令人悲伤的信息: ? 现在还没有权限使用,请访问 https://copilot.github.com 申请假如白名单。...依我看,不必过于惊慌,目前的 AI 应该还不至于智能到这个程度,它能懂的还是有限的,相信再复杂一点的逻辑它就不一定写出来了,不用担心,程序员可是几乎最不能被 AI 替代的职业之一呢。 ” End

1.4K40

如何用Python爬数据?(一)网页抓取

需求 公众号后台,经常可以收到读者的留言。 很多留言,是读者的疑问。只要有时间,都会抽空尝试解答。 但是有的留言,乍看起来就不明所以了。 例如下面这个: ?...那么你需要掌握的最重要能力,是拿到一个网页链接后,如何从中快捷有效地抓取自己想要的信息。 掌握了,你还不能说自己已经学会了爬虫。 但有了这个基础,你就能比之前更轻松获取数据了。...但是,我们的工作还没完。 我们还得把采集到的信息输出到Excel中保存起来。 还记得我们常用的数据框工具 Pandas ?又该让大显神通了。...文中只展示了如何从一个网页抓取信息,可你要处理的网页成千上万啊。 别着急。 本质上说,抓取一个网页,和抓取10000个网页,流程是一样的。 而且,从咱们的例子里,你是不是已经尝试了抓取链接?...但是你存储的时候,也许不希望保留重复链接。 这种情况下,你该如何修改代码,才能保证抓取和保存的链接没有重复呢? 讨论 你对Python爬虫感兴趣?在哪些数据采集任务使用过

8.2K22

第三篇 爬虫技术之PyQuery理论介绍篇

hello,各位小伙伴,大家好,上次我们是了解到了html的基础知识,那有人就有疑问了,是查看到了html的信息了,想获取了,但是如何才能把其上面的想要的信息给拿下来呢?有什么工具?...今天我们介绍的是pyquery 这个也是工作中用的最多的一款工具,可以说是非常的得心应手。好,接下来我们就来了解一下这个工具。...这I和 jQuery 十分似。如果利用 lxml,pyquery 对 xml 和 html 的处理将更快。   ...这个库不是(至少还不是)一个可以和 JavaScript交互的代码库,只是非常像 jQuery API 而已。...3、直接传URL doc=pq('http://www.baidu.com')   这里就像直接请求了一个网页一样,类似用 urllib2 来直接请求这个链接,得到 HTML 代码  4、传文件 doc

44520

从前端性能优化引申出来的5道经典面试题(值得收藏)

带着这个疑问查了好多文章,虽然最后没有确切找到答案,但是一个知乎的回答可以给我们提供思路,下面引用一个知乎回答者一段话 第一个现象(以图片为例):访问-> 200 -> 退出浏览器再进来-> 200(...等文件压缩的尽量压缩,减少文件大小,加快下载速度 利用webpack打包根据路由进行懒加载,不要初始就加载全部,那样文件会很大 升级到高版本的http就升级到高版本(这个回答是套话),为什么高版本能提高速度具体看上面说的那篇....tsx和.ts写前面,目的是为了让webpack能够快速解析 alias 这个配置也是属于resolve里面的,是用来映射路劲,能减少打包时间的主要原因是能够让webpack快速的解析文件路径,找到对应的文件...这个插件可以用可视化帮我们分析打包体积,从而来采用合适的优化方式去改进我们的webpack配置 speed-measure-webpack-plugin 这个插件可以告诉我们打包时候每一个loader...,因为工作基本用不

83360
领券