Skip to content

Instantly share code, notes, and snippets.

View vyspiansky's full-sized avatar

Ihor Vyspiansky vyspiansky

View GitHub Profile
@vyspiansky
vyspiansky / group_by_function.ts
Last active October 28, 2023 12:09
TypeScript groupBy function
/**
* Groups an array of objects by object property
*/
const groupBy = <T>(array: T[], key: keyof T): { [key: string]: T[] } => {
return array.reduce((accumulator: { [key: string]: T[] }, currentElement: T) => {
const keyValue = currentElement[key] as unknown as string;
if (keyValue in accumulator) {
accumulator[keyValue].push(currentElement);
} else {
@vyspiansky
vyspiansky / interleave_many_arrays.js
Last active November 21, 2023 08:39
JavaScript: interleave many arrays
// This function is quite flexible because it can handle any number of input arrays and
// doesn't require them to be of equal length. It interleaves as many elements as possible
// from each array, in the order that the arrays (and elements) were provided.
/**
* Interleaves elements of multiple arrays.
* The function takes any number of arrays as arguments.
*/
function interleaveArrays(...args) {
// Find the maximum length among all arrays
@vyspiansky
vyspiansky / debug_jest_tests_in_vs_code.md
Last active November 21, 2023 08:38
Debug Jest Launch Configuration in VS Code
@vyspiansky
vyspiansky / nodejs_start_new_project.md
Last active November 21, 2023 08:40
Start new Node.js project

How to start a new Node.js project:

npx license mit > LICENSE
npx gitignore node
npx covgen YOUR_EMAIL_ADDRESS
npm init -y

Source

@vyspiansky
vyspiansky / terminal_commands.md
Last active November 21, 2023 08:40
Terminal: useful commands

Some Terminal commands

Current user info

whoami

Give me your IP

@vyspiansky
vyspiansky / docker-commands.md
Created February 1, 2023 10:36
Docker commands

Docker

Run command inside container

Run arbitrary commands inside an existing container:

docker ps
docker exec -it <mycontainer> bash
@vyspiansky
vyspiansky / dandified-yum-snippets.md
Created February 1, 2023 10:33
DNF (Dandified YUM) snippets

DNF (Dandified YUM)

To generate a list of installed packages

sudo dnf list installed | cat -n

Suppose you want to see all packages that start with x

@vyspiansky
vyspiansky / postgresql-commands.md
Created February 1, 2023 10:29
PostgreSQL commands

PostgreSQL commands

Install psql

i)

dnf install postgresql-server
@vyspiansky
vyspiansky / typescript-snippets.md
Created February 1, 2023 10:19
TypeScript snippets

TypeScript snippets

Ignore error

// @ts-expect-error
@vyspiansky
vyspiansky / ubuntu-commands.md
Created February 1, 2023 10:16
Ubuntu specific commands

Ubuntu commands

Restart Apache

sudo service apache2 restart

Search string inside files