DEV Community

Cover image for Weekly Digest 22/2021 - Top of the Week
Marco Biedermann
Marco Biedermann

Posted on • Edited on

Weekly Digest 22/2021 - Top of the Week

Welcome to my Weekly Digest #22 of this year, which is the first one of June. Finally, summer has arrived ☀️

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


Interesting articles to read

Trigonometry in CSS and JavaScript

In this series of articles we’ll get an overview of trigonometry, understand how it can be useful, and delve into some creative applications in CSS and JavaScript.

Trigonometry in CSS and JavaScript: Introduction to Trigonometry | Codrops

A better segmented control

A few years ago, we built a segmented control component for the Lyft Product Language (LPL) design system. However, when we recently looked at our component adoption and usage metrics, we found very few teams actually used our segmented control when building products and features.

A better segmented control

Creating a CLI tool with Node.js

In this article, you'll learn how to create a CLI tool using Node.js, test it, and then publish it on NPM.

Creating a CLI tool with Node.js - LogRocket Blog

The Testing Trophy and Testing Classifications

How to interpret the testing trophy for optimal clarity

The Testing Trophy and Testing Classifications


Some great videos I watched this week

The option you want to enable beyond strict

strict (and its sub flag strictNullChecks) can really help prevent null and undefined errors in your runtime JavaScript. However, it doesn't defend against invalid array and object access.

by Basarat

Speed Up Jobs with npm ci

npm ci is a special command for installing node packages in a continuous integration environment. In this video I show Github Actions with npm ci in a JavaScript project, after showing npm i for the same code. I also talk about some of the differences of the command, and show some benchmarks as a project scales and adds more packages so you can know how useful it is in the real world.

by Jimmy Cleveland

Test-Driven Development

Test-Driven Development (TDD) is a proven prevent bugs and improve the quality of your code - and it's fun! Learn the fundamentals of JavaScript testing in this beginner's tutorial.

by Fireship

VS Code tips: The Git: Auto stash setting

With auto stash enabled, VS Code automatically stashes changes on git pull and restore them once the pull completes.

by Matt Bierner


Useful GitHub repositories

NocoDB

Free & Open Source Airtable alternative. Turns any SQL database into a smart spreadsheet. Supports MySQL, Postgres, SQL server, MariaDB & SQLite.

GitHub logo nocodb / nocodb

🔥 🔥 🔥 Open Source Airtable Alternative

The Open Source Airtable Alternative

NocoDB is the fastest and easiest way to build databases online

WebsiteDiscordCommunityTwitterRedditDocumentation

video avi

See other languages »

Join Our Community



Stargazers repo roster for @nocodb/nocodb

Installation

Docker with SQLite

docker run -d --name noco 
           -v "$(pwd)"/nocodb:/usr/app/data/ 
           -p 8080:8080 
           nocodb/nocodb:latest
Enter fullscreen mode Exit fullscreen mode

Docker with PG

docker run -d --name noco 
           -v "$(pwd)"/nocodb:/usr/app/data/ 
           -p 8080:8080 
            # replace with your pg connection string
           -e NC_DB="pg://host.docker.internal:5432?u=root&p=password&d=d1" 
           # replace with a random secret
           -e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010"  
           nocodb/nocodb:latest
Enter fullscreen mode Exit fullscreen mode

Auto-upstall

Auto-upstall is a single command that sets up NocoDB on a server for production usage. Behind the scenes it auto-generates docker-compose for you.

bash <(curl -sSL http://install.nocodb.com/noco.sh) <(mktemp)
Enter fullscreen mode Exit fullscreen mode

Auto-upstall does the following : 🕊

  • 🐳 Automatically installs all pre-requisites like docker, docker-compose
  • 🚀 Automatically installs NocoDB with PostgreSQL, Redis, Minio…

utterances

A lightweight comments widget built on GitHub issues. Use GitHub issues for blog comments, wiki pages and more!

GitHub logo utterance / utterances

🔮 A lightweight comments widget built on GitHub issues

utterances 🔮

A lightweight comments widget built on GitHub issues. Use GitHub issues for blog comments, wiki pages and more!

  • Open source. 🙌
  • No tracking, no ads, always free. 📡🚫
  • No lock-in. All data stored in GitHub issues. 🔓
  • Styled with Primer, the css toolkit that powers GitHub. 💅
  • Dark theme. 🌘
  • Lightweight. Vanilla TypeScript. No font downloads, JavaScript frameworks or polyfills for evergreen browsers. 🐦🌲

how it works

When Utterances loads, the GitHub issue search API is used to find the issue associated with the page based on url, pathname or title. If we cannot find an issue that matches the page, no problem, utterances-bot will automatically create an issue the first time someone comments.

To comment, users must authorize the utterances app to post on their behalf using the GitHub OAuth flow. Alternatively, users can comment on the GitHub issue directly.

configuration

sites

PhotoPrism

Open-Source Personal Photo Management. Say goodbye to solutions that force you to upload your visual memories to the cloud!

GitHub logo photoprism / photoprism

AI-Powered Photos App for the Decentralized Web 🌈💎✨

PhotoPrism: Browse Your Life in Pictures

License: AGPL Documentation Community Chat GitHub Discussions Bluesky Social Mastodon

PhotoPrism® is an AI-Powered Photos App for the Decentralized Web It makes use of the latest technologies to tag and find pictures automatically without getting in your way You can run it at home, on a private server, or in the cloud.

To get a first impression, you are welcome to play with our public demo. Please be careful not to upload any private, unlawful or offensive pictures.

Feature Overview

Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible. That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality:


dribbble shots

Task Management App

https://cdn.dribbble.com/users/3040223/screenshots/15768337/media/6561c5d3cdd0f847d4490d0c6d4db62d.jpg

by Rizqi Adi Surya

Spatu - Shoe Market App

https://cdn.dribbble.com/users/6100873/screenshots/15762112/media/5764e283a3d0e8dc65d5ab36a21aec46.png

by Dhimas Rasyad

Smart Home Mobile App

https://cdn.dribbble.com/users/5261465/screenshots/15769004/media/93275e6904fd4d2178c649e4c129a9a4.jpg

by Hira Riaz

My Orders

https://cdn.dribbble.com/users/2530474/screenshots/15774402/media/a35825f3ca036cf620da5d7d8775edcb.png

by Wahab

Dario App

https://cdn.dribbble.com/users/729161/screenshots/15790951/media/de3917c59cc6109b63a6de6fafbb6418.png

by Ramon

NFT Marketplace Web Mobile

https://cdn.dribbble.com/users/2302891/screenshots/15787927/media/70bf7a8a5b868a1d49cda8e697a37651.jpg

by Adalahreza


Tweets


Picked Pens

CSS morphing

by Amit Sheen

Viewport gradient rotation

by Ryan Mulligan


Podcasts worth listening

The CSS Podcast - Transitions

In this episode, it's all about transitions. What you can and can't transition its limits, and its superpowers. We'll finish up with ways to trigger transitions and a few tips and tricks.

3 Minutes with Kent - Make your DB schema as restrictive as possible for easier migrations

Smashing Podcast - Why is my React app slow?

We’re talking about React performance. What factors slow our React apps down, and how can we fix it? Drew McLellan talks to expert Ivan Akulov to find out.

Syntax - React + TypeScript

In this episode of Syntax, Scott and Wes talk about using React with Typescript — how to set it up, components, state, props, passing data, custom hooks, and more!


Tools and Resources

Reactive Resume

A free and open source resume builder that’s built to make the mundane tasks of creating, updating and sharing your resume as easy as 1, 2, 3.

Reactive Resume


Thank you for reading, talk to you next week, and stay safe! 👋

Top comments (0)