Skip to content

Instantly share code, notes, and snippets.

@builat
builat / useBounds.ts
Created September 17, 2019 11:00
Hook for getting rect bounds
type BoundsT = {
height: number
width: number
x: number
y: number
top: number
bottom: number
}
function useBounds<T>(): [LegacyRef<T>, BoundsT] {
const ref = useRef(null)
@builat
builat / proposal.md
Last active September 3, 2019 10:59
WS(S) protocol netdata

Message container

Client message

  {
    cred: {
      token: string, // could be JWT or some kind of session token
      stateCheckSum?: string // md5 or any. Used only in sensetive cases
 },

Рекомендации по написанию React кода

Здравый смысл > рекомендации

Эти рекомендации не истина в последней инстанции и призваны упростить и систематизировать написание кода. Ни одна инструкция не описывает всего рабочего процесса целиком и в деталях.

Структура

  • Каждая фича на фронте представлена собственной папкой
  • В папке фичи собраны все связанные сущности, такие как Actions/ActionTypes/Saga/Reducer/Selector/Store/Typings/utils etc
  • В папке с фичёй должна содержаться папка с компонентами. Компонентами считать сущности реализующие JSX разметку. И не имеющие подключения к Store
Verifying my Blockstack ID is secured with the address 1FJLAMEhLFN1KanVRmiFSGVhnDxuDBUbKn https://explorer.blockstack.org/address/1FJLAMEhLFN1KanVRmiFSGVhnDxuDBUbKn
@builat
builat / wsSimple.js
Last active November 29, 2017 15:14
import {consumeMessage} from './WsSaga'
let instance = null;
function reconnect(){
console.log('reconnecting...')
instance = null;
const reconntction = setInterval(()=>{
if( instance === null || instance._wss.readyState !== 1){
new WsProvider()
@builat
builat / main.pl
Last active January 2, 2016 02:19
try mp3vk_api.pm
#!/usr/bin/perl
use warnings;
use strict;
use v5.18;
use mp3vk_api;
use utf8;
my $vk = mp3vk_api->new( login => 'mail@mail.com',
password => 'passwd',
dir =>'Rhapsody',
@builat
builat / mp3vk_api
Created January 3, 2014 11:53
Vk (vkontakte) music searcher and downloader.
#!/usr/bin/perl
package mp3vk_api;
use strict;
use warnings;
use Env qw(HOME);
use utf8;
use Encode;
use URI::Escape;
use HTML::Entities;
@builat
builat / jHashTest.java
Last active December 21, 2015 10:18
Jenkins hash table test class. Simple test class for education only.
public class jHashTest
{
public static void main(String[] args) {
jHash itr = new jHash();
String out;
itr.put("1","test");
itr.put("2","test2");
itr.put("3","some data1");
itr.put("4","some data2");
itr.put("5","some data3");
@builat
builat / jHash.java
Last active December 21, 2015 10:18
Jenkins hash table operational class for self education only
public class jHash{
private String[][] jHash = new String[4][3];
private JenkinsHash jenkinsHash = new JenkinsHash();
private int usedLimit = 0;
void put(String stringKey, String stringVal){
int pc = jenkinsHash.hash32(stringKey.getBytes());
int checkKey= 0;
for (int jHashLine = 0; jHashLine < jHash.length-1 ; jHashLine++){
@builat
builat / JenkinsHash.java
Last active December 21, 2015 10:18
jenkins hash function taken hear -> https://github.com/vkandy/jenkins-hash-java‎
/**
* @(#) JenkinsHash.java 2011-08-18
*/
/**
* This is an implementation of Bob Jenkins' hash. It can produce both 32-bit
* and 64-bit hash values.
* <p>
* Generates same hash values as the <a
* href="http://www.burtleburtle.net/bob/hash/doobs.html">original