编程语言:JavaScript
javascript 异常处理的一些经验
本文介绍了js异常处理的一些经验。
阿里巴巴 Noslate 正式开源 - 面向云原生的 JavaScript 容器方案
今天,向大家正式介绍阿里最新面向云原生场景,面向 Serverless 架构下的新开源产品, 代号 Noslate。
使用 WebAssembly 打造定制 JS Runtime
直接在浏览器上去定制 Runtime 这个想法确实很酷,但显然难度属于地狱级,这相当于我们直接去爆改 V8、JavaScriptCore 这种成熟稳定又复杂的JS引擎来是实现 JS API层面的嵌入和拓展,但 JS 引擎并不只是浏览器独有,真要改的话,可以找一个轻量、好改、好移植的。
很好,但是OS binding怎么办?总不能直接把浏览器里的JS引擎整个替换成这个不复杂,又好改,又好移植的吧?确实这里是一个坎,卡在这,活就整下去了,暂且先不做 OS binding,改做 Web binding,让Web Assembly来跑 Runtime,然后在 Runtime 里再跑JS,有点套娃了,但它依旧有一些应用的场景。
MemLab: An open source framework for finding JavaScript memory leaks
At Meta, MemLab has helped make significant improvements in memory optimization. We hope it will do the same for the larger JavaScript community.
How to monitor the progress of a Javascript fetch - request and cancel it on demand.
Waiting blows. That goes for many situations in life, including when a website you visit is busy loading new data. However, it's usually helpful to visualize that something is happening in the background. Or be able to pull the plug. Read on to find out how that's to be done with the fetch API.
Javascript obfuscation techniques by example
Sometimes when working on scraping some website you look into JavaScript code and it looks like a complete mess that is impossible to read - no matter how much you squint, you cannot make sense of it. That’s because it has been obfuscated. Code obfuscation is a transformation that is meant to make code difficult to read and reverse engineer. Many web sites utilize JavaScript obfuscation to make things difficult to scraper/automation developers.
Using Hermes’s Quicksort to run Doom: A tale of JavaScript exploitation
In 2020, a security researcher flagged a peculiar bug in Hermes’s Quicksort implementation. Here’s how security teams at Meta fixed the bug.
Stop The Screen Going To Sleep With JavaScript
We've all been there. Cooking a complex recipe where each step takes a good couple of minutes. Our hands covered in some type of sauce made of who knows how many ingredients. We go to check the next step on our phone only to see that it's gone to sleep due to inactivity. We know that even if we quickly wash our hands, there is inevitably going to be some level of greasy trail left on our phone screen as we are forced to unlock it...
JavaScript代码混淆(上)-aaencode篇
混淆并不是对代码的加密,它旨在替换掉代码中有意义的信息,将原本清晰的代码变得复杂;原因是JavaScript代码是公开的,为了让其能正常运行,不能采用加密的方式加密代码;但为了不被轻易获取、破解,我们可以增加阅读代码的成本。
JavaScript代码混淆(下)-JSF*ck篇
前一篇文章介绍的aaencode更多的是因为趣味性而关注,而这篇文章介绍的JSF*ck则是因其明显的特征。
深度剖析 VS Code JavaScript Debugger 功能及实现原理
希望看完本文能让你对 VS Code 的 JavaScript Debugger 有大致的理解。
Web Scraping via Javascript Runtime Heap Snapshots
In recent years, the web has gotten very hostile to the lowly web scraper. It's a result of the natural progression of web technologies away from statically rendered pages to dynamic apps built with frameworks like React and CSS-in-JS. Developers no longer need to label their data with class-names or ids - it's only a courtesy to screen readers now.
There's also been a concerted effort by large companies to protect their public data. Facebook, for example, employs a team of over 100 people to make sure it is as difficult as possible for any data to escape the black hole. Granted, some of these large companies do offer APIs for their data but rarely is this unrestricted. You're usually at the whim of their app review process or granted access only to a partial view of the data. Data that would be otherwise public if you were to do a Google search and click through to their website manually.
This can be frustrating if you're like me - somebody who wanted to build a small, local, non-profit app that uses data hosted on a closed platform. The data is public but completely inaccessible to machines because of aggressive anti-web-scraping measures. That gave me two options - input the data manually or play the web-scraping game. Of course, I chose the latter.
逆向进阶,利用 AST 技术还原 JavaScript 混淆代码
AST Babel 入门手册,手把手带你还原 JS 混淆代码,让你逆向如虎添翼!
如何避免 JavaScript 中的内存泄漏?
SPA(单页应用程序)的兴起,促使我们更加关注与内存相关的 JavaScript 编码实践。如果应用使用的内存越来越多,就会严重影响性能,甚至导致浏览器的崩溃。下面就来看看JavaScript中常见的内存泄漏以及如何避免内存泄漏。
Faster JavaScript Builds with Metro
How Airbnb migrated from Webpack to Metro and made the development feedback loop nearly instantaneous, the largest production build 50% faster, with marginal end-user runtime improvements.
How to Create an Animated GIF from Custom Canvas Frames with Client-side JavaScript
An overview of the creation process which involves merging multiple canvas frames into a single GIF file.