Home

2018.06.18 - Jsonnet - The Data Templating Language

Pi

Ping Xia

March 21, 20226 min read

Title: 2018.06.18 - Jsonnet - The Data Templating Language

Deep Reading

Concurrent marking in V8 https://v8project.blogspot.com/2018/06/concurrent-marking.html This post describes the garbage‑collection technique called concurrent marking. The optimization allows a JavaScript application to continue execution while the garbage collector scans the heap to find and mark live objects. Our benchmarks show that concurrent marking reduces the time spent marking on the main thread by 60%–70%. Concurrent marking is the last puzzle piece of the Orinoco project — the project to incrementally replace the old garbage collector with the new mostly concurrent and parallel garbage collector. Concurrent marking is enabled by default in Chrome 64 and Node.js v10. Also see: JavaScript engine fundamentals: Shapes and Inline Caches

Jsonnet - The Data Templating Language https://jsonnet.org/ A data templating language for app and tool developers: generate config data; side‑effect free; organize, simplify, unify; manage sprawling config.

State of React Native 2018 https://facebook.github.io/react-native/blog/2018/06/14/state-of-react-native-2018 Alongside the community inside Facebook, we’re happy to have a thriving population of React Native users and collaborators outside Facebook. We’d like to support the React Native community more, both by serving React Native users better and by making the project easier to contribute to. Just as our architecture changes will help React Native interoperate more cleanly with other native infrastructure, React Native should be slimmer on the JavaScript side to fit better with the JavaScript ecosystem, which includes making the VM and bundler swappable. Also see: Vue Native – a framework to build cross‑platform native mobile apps using JavaScript

Introducing the GraphQL Guide https://blog.graphql.guide/introducing-the-graphql-guide-11a5ae48628a New book by the jQuery author. The Guide shows you why GraphQL APIs are the true successor to REST APIs. We’ll look at the core fundamentals of GraphQL along with strategies for implementing it (client‑side with Apollo and server‑side in Node.js). Additionally, we’ll explore different situations in which GraphQL can be used (on mobile with React Native or Java/Swift, and on the web with either React or Vue). Also see: Trying GraphQL

From Node.js to Go: There, and back again https://www.thenativeweb.io/blog/2018-06-12-15-47-from-node-to-go-there-and-back-again/ A few years ago we chose Go over Node.js for writing the wolkenkit CLI. A few months ago we rewrote everything from scratch, this time using Node.js again. We’ve learned that you can’t dance at two weddings.

Building A Pub/Sub Service In‑House Using Node.js And Redis https://www.smashingmagazine.com/2018/06/pub-sub-service-in-house-node-js-redis/ Because the size of each message in our system ranges from a few bytes to up to 100 MB, we needed a scalable solution that could support many scenarios. In this article, Dhimil Gosalia explains why you should consider building an in‑house Pub/Sub service, too.

Eggjs and SOFA’s Cross‑Language Interoperability https://zhuanlan.zhihu.com/p/38004479 This article walks through, step by step, how Eggjs and SOFA (Java) interoperate, covering RPC service discovery, interface definition, local proxy generation, server‑side implementation, and more, aiming to present a relatively complete Node.js RPC solution. Considering community adoption and multilingual friendliness, the examples use protobuf as the RPC serialization format.

Analyzing Node.js Module Loading and Execution with Source Code http://efe.baidu.com/blog/nodejs-module-analyze/ Using modules in Node.js is very simple; we’ve all done it: write some JavaScript, require the packages you need, and export the result. But how well do we understand the loading and execution mechanics behind Node.js modularity? This article raises questions such as: What file types are supported as modules? How do core modules and third‑party modules differ in their loading/execution flow? Besides JavaScript modules, how do you write a C/C++ native addon? By examining the Node.js source code, we’ll explore the answers.

It’s Time to Properly Promote the LuLu UI Framework https://l-ui.com/ LuLu UI is a UI framework produced by the front‑end team at Yuewen (a Chinese digital publishing company). Built on jQuery for PC sites, compatible with IE8+, it includes 20+ static or dynamic UI components and is well‑suited for external‑facing websites. If jQuery had a UI library as polished as Ant Design, many more people would probably use it. Also see: NG‑ZORRO (Ant Design + Angular) 1.0 released

How to Improve Code Readability https://zhuanlan.zhihu.com/p/34982747 The textual form of a programming language inevitably sacrifices some signal‑to‑noise ratios to improve others. But text isn’t the only way to convey information. IDEs or PaaS platforms can reorganize information in many different ways.

The new (and old) CSS units you’ve never heard about https://dev.to/maxart2501/the-new-and-old-css-units-youve-never-heard-about-1mn1 Discussing CSS units that you might — but probably won’t — have heard of, and even less likely have used, as described in this article. And no, not the “old” vw and vh (which I still have to explain to less‑experienced CSS developers).

Image Inconsistencies: How and When Browsers Download Images https://csswizardry.com/2018/06/image-inconsistencies-how-and-when-browsers-download-images/ Firefox and Safari exhibit the most desirable behavior here: they won’t download background images they know they won’t need. Chrome, Opera, and Edge will download background images applied to invisible elements.

The Trouble with D3 https://medium.com/dailyjs/the-trouble-with-d3-4a84f7de011f Recently a few Twitter threads discussed the difficulties of learning d3.js. I’ve heard the same concerns at meetups, conferences, workshops, mailing lists, and Slack chats. While many of the challenges are real, the threads also reveal a common misconception that needs clearing up if we want to help newcomers to data visualization.

Your Brain on Front‑End Development https://css-tricks.com/your-brain-on-front-end-development/ Part of a front‑end developer’s job is applying various techniques and technologies to achieve the desired UI and UX. You may work with a design team and implement their mockups. I know that when I look at a design (even if I know I won’t build it), my front‑end brain starts firing all sorts of related thoughts. Let’s see what I mean.

Reverse‑Engineering Instruments’ File Format http://jamie-wong.com/post/reverse-engineering-instruments-file-format/ At Figma I work in a C++ codebase that cross‑compiles to asm.js and WebAssembly to run in the browser. Occasionally, however, it’s helpful to profile the native build we use for development and debugging. The tool of choice on macOS is Instruments. If we can extract the right information from the files Instruments outputs, we can build flame charts to help us understand what’s happening while our code runs.

How Developers Power eBay’s Product‑Based Shopping Experience https://www.ebayinc.com/stories/blogs/tech/powering-ebays-product-based-shopping-experience/ As eBay evolves and adapts to stay ahead of commerce trends and user preferences, eBay’s public API portfolio continues to expand and improve to enable third‑party developers to easily integrate with eBay and to

(content truncated)


Originally written by Ping Xia (平侠) and published in Chinese on Web技术周刊 (Web Tech Weekly). Translated and adapted for DriftSeas with permission.

Keep reading

More related articles from DriftSeas.