Skip to content

Instantly share code, notes, and snippets.

View Bazai's full-sized avatar

Pavel Bubentsov Bazai

  • Evrone
  • Saint-Petersburg
  • 09:53 (UTC +03:00)
View GitHub Profile
@kinda-neat
kinda-neat / how-long-did-you-think-about-useLayoutEffect.md
Last active September 5, 2024 06:00
Уверены что понимаете как работает useLayoutEffect?

В доке по useLayoutEffect можно найти следующие отрывки:

  • React guarantees that the code inside useLayoutEffect and any state updates scheduled inside it will be processed before the browser repaints the screen.
  • Call useLayoutEffect perform the layout measurements before the browser repaints the screen:
  • The code inside useLayoutEffect and all state updates scheduled from it block the browser from repainting the screen. When used excessively, this makes your app slow. When possible, prefer useEffect.

Как это возможно? Как Реакт может гарантировать что код внутри useLayoutEffect и стейт апдейты запланированные внутри него будут выполнены до перерисовки экрана браузером? Как Реакт может влиять на перерисовку браузером, как может ее блокировать? Как Реакт это делает и как вы

@acarril
acarril / bootable-win-on-mac.md
Created November 18, 2022 17:49
Create a bootable Windows USB using macOS

For some reason, it is surprisingly hard to create a bootable Windows USB using macOS. These are my steps for doing so, which have worked for me in macOS Monterey (12.6.1) for Windows 10 and 11. After following these steps, you should have a bootable Windows USB drive.

1. Download a Windows disc image (i.e. ISO file)

You can download Windows 10 or Windows 11 directly from Microsoft.

2. Identify your USB drive

After plugging the drive to your machine, identify the name of the USB device using diskutil list, which should return an output like the one below. In my case, the correct disk name is disk2.

@dankremniov
dankremniov / Chart.tsx
Last active February 21, 2024 06:41
Render React component for Highcharts tooltip
import React, { useState, useCallback } from "react";
import Highcharts, { Chart as HighchartsChart } from "highcharts";
import HighchartsReact from "highcharts-react-official";
import { Tooltip } from "./Tooltip";
const options = {
title: {
text: "Custom tooltip as React component"
},
series: [
@Speedy37
Speedy37 / git-commit-diff.md
Created July 10, 2020 08:52
List Different Commits Between Two Branches

This lists commits with the first line of their messages.

It also includes either a < or > arrow at the front of each commit indicating whether the commit is on:

  • <: left (feature)
  • >: right (master)
git log --left-right --graph --cherry-pick --oneline feature...master
@zulhfreelancer
zulhfreelancer / zsh-timestamp.md
Last active January 9, 2025 08:45
How to add timestamp on right hand side of ZSH / iTerm2 terminal prompt?

Add the following snippet at the bottom of ~/.zshrc file.

Option 1 - Just time

RPROMPT='[%D{%L:%M:%S}] '$RPROMPT
@cusspvz
cusspvz / clean-node-modules.sh
Last active April 10, 2023 11:45
Delete all node_modules folders RECURSIVELY
#!/bin/bash
# this command finds all the `node_modules` folders under your current path and will prune them
find . | grep /node_modules$ | grep -v /node_modules/ | xargs rm -fR
@jasonzoladz
jasonzoladz / page-transitions.cljs
Last active October 19, 2023 15:33
Animating Page Transitions with Reagent and Re-frame
;; style.css -- basic (lame) transitions, for demonstration
;;________________________________________________________________
.pageChange-enter {
opacity: 0.01;
}
.pageChange-enter.pageChange-enter-active {
opacity: 1;
transition: opacity 500ms ease-in;
@zchee
zchee / actionlist.vim
Last active April 14, 2025 23:20
IdeaVim actionlist
--- Actions ---
$Copy <M-C>
$Cut <M-X> <S-Del>
$Delete <Del> <BS> <M-BS>
$LRU
$Paste <M-V>
$Redo <M-S-Z> <A-S-BS>
$SearchWeb <A-S-G>
$SelectAll <M-A>
$Undo <M-Z>
@samaaron
samaaron / Reich Phase - Overtone
Last active December 26, 2019 20:29
Steve Reich's Piano Phase - Sonic Pi vs Overtone
(ns overtone.examples.compositions.piano-phase
(:use overtone.live
overtone.inst.sampled-piano))
;; Steve Reich's Piano Phase
(def piece [:E4 :F#4 :B4 :C#5 :D5 :F#4 :E4 :C#5 :B4 :F#4 :D5 :C#5])
(defn player
[t speed notes]
@dylanmcdiarmid
dylanmcdiarmid / sexp-cheat-sheet
Created February 9, 2015 16:18
vim sexp mappings for normal people cheat sheet
.vimrc
" Map leader to comma
let maplocalleader=","
" Toggle this for vim-sexp to not go into insert mode after wrapping something
let g:sexp_insert_after_wrap = 0
" Toggle this to disable automatically creating closing brackets and quotes
let g:sexp_enable_insert_mode_mappings = 1
Vocab