import { useLayoutEffect, useCallback, useState } from 'react' | |
export const useRect = (ref) => { | |
const [rect, setRect] = useState(getRect(ref ? ref.current : null)) | |
const handleResize = useCallback(() => { | |
if (!ref.current) { | |
return | |
} |
This help only covers the parts of GLSL ES that are relevant for Shadertoy. For the complete specification please have a look at GLSL ES specification
Version: WebGL 2.0
Arithmetic: ( ) + - ! * / %
Logical/Relatonal: ~ < > <= >= == != && ||
Bit Operators: & ^ | << >>
Comments: // /* */
Types: void
bool
int
uint
float
vec2
vec3
vec4
bvec2
bvec3
bvec4
ivec2
ivec3
ivec4
uvec2
uvec3
uvec4
mat2
mat3
mat4
mat?x?
sampler2D,
sampler3D
samplerCube
Format: float a = 1.0; int b = 1; uint i = 1U; int i = 0x1;
- Create a file
Image.js
from the source below (it is almost a copy of Image.js from tiptap-extensions except that it has a constructor that acceptsuploadFunc
(function to be called withimage
being uploaded) and additional logicif(upload) { ... } else { ... previous base64 logic .. }
in thenew Plugin
section.
import {Node, Plugin} from 'tiptap'
import {nodeInputRule} from 'tiptap-commands'
/**
* Matches following attributes in Markdown-typed image: [, alt, src, title]
*
#!/usr/bin/env bash | |
function get_headphones_index() { | |
echo $(pacmd list-cards | grep bluez_card -B1 | grep index | awk '{print $2}') | |
} | |
function get_headphones_mac_address() { | |
local temp=$(pacmd list-cards | grep bluez_card -C20 | grep 'device.string' | cut -d' ' -f 3) | |
temp="${temp%\"}" | |
temp="${temp#\"}" |
[alias] | |
ci = commit | |
co = checkout | |
cm = checkout master | |
cb = checkout -b | |
st = status -sb | |
sf = show --name-only | |
lg = log --pretty=format:'%Cred%h%Creset %C(bold)%cr%Creset %Cgreen<%an>%Creset %s' --max-count=30 | |
incoming = !(git fetch --quiet && git log --pretty=format:'%C(yellow)%h %C(white)- %C(red)%an %C(white)- %C(cyan)%d%Creset %s %C(white)- %ar%Creset' ..@{u}) | |
outgoing = !(git fetch --quiet && git log --pretty=format:'%C(yellow)%h %C(white)- %C(red)%an %C(white)- %C(cyan)%d%Creset %s %C(white)- %ar%Creset' @{u}..) |
import React from 'react'; | |
import { render, cleanup } from '@testing-library/react'; | |
import { MockPayloadGenerator } from 'relay-test-utils'; | |
import { useRelayEnvironment } from 'react-relay/hooks'; | |
import TransactionList from '../TransactionList'; | |
afterEach(cleanup); | |
describe('<TransactionList />', () => { | |
it('should reject query', () => { |
const FakeComponent = () => { | |
return ( | |
<AnimatedRoutes exitBeforeEnter initial={false}> | |
<RouteTransition exact path="/some-route"> | |
<NewUsers /> | |
</RouteTransition> | |
<RouteTransition exact path="/yo" > | |
<Users /> | |
</RouteTransition> | |
</AnimatedRoutes> |
High Performance Configuration for Jetbrains IDEs [IntelliJ, WebStorm, etc..]
Once you step into the realm of multi-project development, large scale dev, or just have to have like 6 IDE's open. You really start to feel a performance hit on jetbrains IDEs.
This configuration aims to give at least 10x performance increases across the board.
export const getCurl = (fetch) => (...args) => { | |
const [url, options] = args; | |
const { method, headers = {}, body = {} } = options; | |
const curl = [ | |
`curl -X ${method}`, | |
`"${url}"`, | |
...Object.keys(headers) | |
.filter((headerKey) => headers[headerKey] != null) | |
.map((headerKey) => `-H '${headerKey}: ${transformHeader(headers[headerKey])}'`), |