Skip to content

Instantly share code, notes, and snippets.

View sandrig's full-sized avatar
🎯
Focusing

Andrey Savelev sandrig

🎯
Focusing
View GitHub Profile
@sandrig
sandrig / grokking_to_leetcode.md
Created March 6, 2024 12:27 — forked from tykurtz/grokking_to_leetcode.md
Grokking the coding interview equivalent leetcode problems

GROKKING NOTES

I liked the way Grokking the coding interview organized problems into learnable patterns. However, the course is expensive and the majority of the time the problems are copy-pasted from leetcode. As the explanations on leetcode are usually just as good, the course really boils down to being a glorified curated list of leetcode problems.

So below I made a list of leetcode problems that are as close to grokking problems as possible.

Pattern: Sliding Window

@sandrig
sandrig / keybindings.json
Created December 24, 2023 09:31 — forked from igorbabko/keybindings.json
VS Code Key Bindings
[
{
"key": "cmd+o cmd+p",
"command": "workbench.action.showCommands"
},
{
"key": "cmd+x",
"command": "workbench.view.extensions"
},
{
@sandrig
sandrig / settings.json
Created December 24, 2023 09:31 — forked from igorbabko/settings.json
VS Code Settings
{
"window.zoomLevel": 2,
"workbench.colorTheme": "Aura Dracula Spirit (Soft)",
"workbench.iconTheme": "material-icon-theme",
"material-icon-theme.hidesExplorerArrows": true,
"workbench.tree.renderIndentGuides": "none",
"workbench.sideBar.location": "right",
"workbench.activityBar.visible": false,
"workbench.statusBar.visible": false,
"workbench.editor.showTabs": false,
@sandrig
sandrig / promise-tuple.js
Created December 18, 2023 19:54 — forked from fnky/promise-tuple.js
Retrieve tuples from Promise results / async functions
/**
* Returns a Promise which resolves with a value in form of a tuple.
* @param promiseFn A Promise to resolve as a tuple.
* @returns Promise A Promise which resolves to a tuple of [error, ...results]
*/
export function tuple (promise) {
return promise
.then((...results) => [null, ...results])
.catch(error => [error])
}
@sandrig
sandrig / package.json
Created December 12, 2023 19:01 — forked from kripod/package.json
Creating minified ESM+CJS bundles from TypeScript with Rollup and Babel in a monorepo, utilizing conditional exports
{
"name": "to-be-added",
"version": "0.0.0",
"sideEffects": false,
"exports": {
".": {
"import": "./dist-esm/bundle.min.mjs",
"require": "./dist-cjs/bundle.min.cjs"
},
"./server": "./server/index.js"
@sandrig
sandrig / rollup-typescript.md
Created December 12, 2023 18:52 — forked from aleclarson/rollup-typescript.md
The best Rollup config for TypeScript libraries

Features

🔥 Blazing fast builds
😇 CommonJS bundle
🌲 .mjs bundle
.d.ts bundle + type-checking
🧐 Source maps

Install

@sandrig
sandrig / tokens.md
Created February 9, 2023 11:16 — forked from staslysak/tokens.md
Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

Основы:

Аутентификация(authentication, от греч. αὐθεντικός [authentikos] – реальный, подлинный; от αὐθέντης [authentes] – автор) - это процесс проверки учётных данных пользователя (логин/пароль). Проверка подлинности пользователя путём сравнения введённого им логина/пароля с данными сохранёнными в базе данных.

Авторизация(authorization — разрешение, уполномочивание) - это проверка прав пользователя на доступ к определенным ресурсам.

Например после аутентификации юзер sasha получает право обращатся и получать от ресурса "super.com/vip" некие данные. Во время обращения юзера sasha к ресурсу vip система авторизации проверит имеет ли право юзер обращатся к этому ресурсу (проще говоря переходить по неким разрешенным ссылкам)

@sandrig
sandrig / rhf-form-with-zod.jsx
Created January 9, 2023 14:56 — forked from KolbySisk/rhf-form-with-zod.jsx
React Hook Form with Zod Example
import { useForm } from "react-hook-form";
import { zodResolver } from "@hookform/resolvers/zod";
import * as z from "zod";
const schema = z.object({
email: z.string().email().min(2),
password: z.string().min(6)
});
export default function RhfFormWithZod() {
@sandrig
sandrig / chakra-color-mode.md
Created December 26, 2022 08:10
Chakra-UI fixed color mode component. Assuming NextJS file structure...

components/ColorMode.tsx

import {Box, LightMode, DarkMode} from "@chakra-ui/react"

export type ColorModeProps = {
  mode: "light" | "dark"
  background?: string
  children: React.ReactNode
}
@sandrig
sandrig / audit-on-push.yml
Created November 26, 2022 13:01 — forked from LukeMathWalker/audit.yml
GitHub Actions - Rust setup
name: Security audit
on:
push:
paths:
- '**/Cargo.toml'
- '**/Cargo.lock'
jobs:
security_audit:
runs-on: ubuntu-latest
steps: