DEV Community

Marco Biedermann
Marco Biedermann

Posted on • Edited on

Weekly Digest 10/2021

Welcome to my Weekly Digest #10.

This weekly digest contains a lot of interesting and inspiring articles, videos, tweets, and designs I consumed during this week.


Interesting articles to read

Boost Your Programming Skills by Reading Git's Code

In this article, we discuss the original version of Git's code to highlight how reading code can boost your coding skills. We cover the reasons to learn about Git's code and how to access it. We discuss Git's original codebase structure and how Git's core functionalities are implemented in code.

https://www.freecodecamp.org/news/boost-programming-skills-read-git-code/

Insert Cursor at Any Position at Command Line

Building a Healthy On-Call Culture

In this post, we share some of the best practices we apply when SoundCloud engineers take on out-of-hours support duties.

Building a Healthy On-Call Culture

Building a ‘Table Of Contents’ with active indicator using JavaScript Intersection Observers

The JavaScript Intersection Observer is built into all modern browsers and lets you avoid scroll listeners. In this post we re-factor a the JavaScript that creates a table of contents for a blog post and updates the current indicator depending upon whether it is in view or not.

Building a 'Table Of Contents' with active indicator using JavaScript Intersection Observers

What you risk when using Number() to parse an integer from a string in TypeScript

Using Number constructor function to parse a number from an input in TypeScript entails a couple of risks. It’s better to be aware of them.

What you risk when using Number() to parse an integer from a string in TypeScript


Some great videos I watched this week

TypeScript: Unions and Never with Conditional Types

In this lesson we look at how unions gets distributed in conditional types. We also cover how never gets removed in unions.

by Basarat Ali

Particle System Simulation - The Nature of Code

Welcome to Chapter 4 of The Nature of Code: Particle Systems! I begin by coding a simple particle system in p5.js. I convert the Mover class into a Particle class, add a lifetime property and organize a collection of particles into an array

by Daniel Shiffman

Using the axe Web Accessibility Testing Browser Plugin

I'm joined by Preety Kumar of Deque to take a look at their DevTools plugin for axe. Short story: this is an amazing plugin that helps you quickly find accessibility problems on any website, then help you fix them. There is quick automated testing as well as guided tests that help you test things that need a little bit more walkthrough, like testing the page tab order and testing modal dialogs.

by Chris Coyier

Git Internals - How Git Works - Fear Not The SHA!

by GitLab

How I Optimized My JavaScript Project (Complete Walkthrough) | Faster Spatial Hash Grids

In this project, we're doing some JavaScript optimization. We're continuing and building on that JavaScript spatial hash grid implementation, but we'll be examining it in detail with Chrome's DevTools profiler, looking for hotspots and optimization opportunities. I'll take you step by step through the process, benchmarking the code, examining the profile, and ultimately making the existing implementation dramatically faster.

by Simon


Useful GitHub repositories

System design interview

System design is a very broad topic. Even a software engineer with many years of working experience at a top IT company may not be an expert on system design. If you want to become an expert, you need to read many books, articles, and solve real large scale system design problems.

GitHub logo checkcheckzz / system-design-interview

System design interview for IT companies

logo

How to prepare system design questions for an IT company

System design is a very broad topic. Even a software engineer with many years of working experience at a top IT company may not be an expert on system design. If you want to become an expert, you need to read many books, articles, and solve real large scale system design problems.

This repository only teaches you how to handle the system design interview with a systematic approach in a short time. You can dive into each topic if you have time. Of course, welcome to add your thoughts!

Table of Contents

[] System Design Interview Tips:

Clarify the constraints and identify the user cases

Spend a few minutes questioning the interviewer and agreeing…

Spectral

Improve the quality of your API descriptions, Kubernetes config, GitHub Actions, or any other JSON/YAML data. Get automatic validation & linting warnings, powered by Spectral, when you use Stoplight.

GitHub logo stoplightio / spectral

A flexible JSON/YAML linter for creating automated style guides, with baked in support for OpenAPI v2 & v3.

Demo of Spectral linting an OpenAPI document from the CLI CircleCI NPM Downloads Treeware (Trees)

  • Custom Rulesets: Create custom rules to lint JSON or YAML objects
  • Ready-to-use Rulesets: Validate and lint OpenAPI v2 & v3 and AsyncAPI Documents
  • JSON Path Support: Use JSON path to apply rules to specific parts of your objects
  • Ready-to-use Functions: Built-in set of functions to help create custom rules. Functions include pattern checks, parameter checks, alphabetical ordering, a specified number of characters, provided keys are present in an object, etc.
  • Custom Functions: Create custom functions for advanced use cases
  • JSON Validation: Validate JSON with Ajv

Demo of Spectral linting an OpenAPI document from the CLI

Overview

🧰 Installation and Usage

Install

npm install -g @stoplight/spectral
# OR
yarn global add @stoplight/spectral
Enter fullscreen mode Exit fullscreen mode

Find more installation methods in our documentation.

Lint

spectral lint petstore.yaml
Enter fullscreen mode Exit fullscreen mode

📖 Documentation and Community

gatsby-source-google-docs

Gatsby plugin to use Google Docs as a data source.

GitHub logo cedricdelpoux / gatsby-source-google-docs

Gatsby plugin to use Google Docs as a data source

gatsby-source-google-docs


gatsby-source-google-docs


Npm Build Status Coverage Downloads PRs welcome MIT license Paypal


gatsby-source-google-docs is a Gatsby plugin to use Google Docs as a data source.

Why use Google Docs to write your content ?
  • 🖋 Best online WYSIWYG editor
  • 🖥 Desktop web app
  • 📱 Mobile app
  • 🛩 Offline redaction
  • 🔥 No need for external CMS
  • No more content in your source code

Features

  • Google Docs formatting options (headings, bullets, tables, images...)
  • MDX support to use <ReactComponents /> in your documents
  • Gatsby v3 & v2 support
  • gatsby-plugin-image and gatsby-image support
  • Code blocs support
  • Gatsby Cloud support
  • Slug generation from Google Drive tree
  • Crosslinks between pages
  • Related content
  • Custom metadata to enhance documents

Documentation

To preview what you can do, please checkout the documentation website.

💯 100% content of the website is from Google Docs. Please suggest edits to improve it.

Installation

Download gatsby-source-google-docs and gatsby-transformer-remark (or gatsby-plugin-mdx for advanced usage)

yarn add
Enter fullscreen mode Exit fullscreen mode

Front-end Tips

A series of super tiny, quick tips, tricks and best practices of front-end development.

The series cover different topics: CSS, HTML, JavaScript, TypeScript and Browser developer tools.

GitHub logo phuoc-ng / frontend-tips

Super tiny, quick tips, tricks and best practices of front-end development

Front-end Tips

A series of super tiny, quick tips, tricks and best practices of front-end development.

The series cover different topics:

  • CSS
  • HTML
  • JavaScript
  • TypeScript
  • Browser developer tools

front-end tips

Running it on local

  1. Clone the project:
$ git clone https://github.com/phuoc-ng/frontend-tips
Enter fullscreen mode Exit fullscreen mode
  1. Install the dependencies:
$ cd frontend-tips
$ npm install
Enter fullscreen mode Exit fullscreen mode
  1. Run it on the local:
$ npm run serve
Enter fullscreen mode Exit fullscreen mode

Look at the console to see the Local URL. Open it in your browser to see it in action.

Contributing

Pull requests are welcomed. To submit your favorite tip, please create a markdown file, and put it in the posts folder The content of markdown file has to look like

---
title: ___
category: ___
date: ___
tags
  - posts
layout: layouts/post.njk
topics: ___
---
The content of post
Enter fullscreen mode Exit fullscreen mode
  • title: Must match with the file name
  • category: Can be one of tip, trick or practice
  • date: The date…

dribbble shots

Medical App UI with Dr Vector

https://cdn.dribbble.com/users/4870223/screenshots/15252901/media/d930701471268cfc62b4a44b24e33854.png

by Amjad

Podcast Dashboard design

https://cdn.dribbble.com/users/4335179/screenshots/14979461/media/605f9196d7196d8755011707eb8d78fc.png

by Amirbaqian

Fitness Pro: Desktop Version

https://cdn.dribbble.com/users/427857/screenshots/15280261/fitness_pro_-_shot_2.png

by Tran Mau Tri Tam

Dating App

https://cdn.dribbble.com/users/4601337/screenshots/15286257/media/77362a6f5567378c5315a9ec55892b68.png

by Arya Wijaya Kusuma

time chat

https://cdn.dribbble.com/users/2539160/screenshots/15284267/media/16defe1184682df3bbf5a9dc9729b07e.png

by Garagephic Studio


Tweets


Picked Pens

CodePen Home Random Rectangles and Circles

by Xavier Ho

Neon Flower Illusion

by Jon Kantner


Talk to you next week and stay safe! 👋

Top comments (0)