Skip to content

Instantly share code, notes, and snippets.

View antyakushev's full-sized avatar

Anton Yakushev antyakushev

View GitHub Profile
@antyakushev
antyakushev / splitRegExp.md
Last active September 17, 2018 10:46
Split RegExp

Как разделить строку '1234567890123456' на 4 равные части лишь с помощью split?

Едва ли это можно сделать, передавая в split строку. Хорошо, что этот метод принимает ещё и регулярки.

Сначала надо понять что в нашем случае должно матчить регулярное выражение. А ничего, пустоту! Но в определённых местах. Чтобы ничего не матчить, воспользуемся positive lookbehind

?<=
import { bindWatcher, redirect } from './utils'
import { fork, take, call, put } from 'redux-saga/effects'
import { replaceStateByPath } from 'reduceless'
import { reset } from 'redux-form'
import * as calls from 'services/user'
import * as acts from 'actions/user'
const { login, logout, forgot, resetPass, user } = acts
export const watchUserLogout = bindWatcher(logout, calls.logoutUser)
import React, { Component } from 'react'
import autobind from 'autobind-decorator'
import { reduxForm } from 'redux-form'
import { login, forgot } from 'actions/user'
import styles from './styles'
@reduxForm(
{
form: 'login-form',
fields: ['email', 'password'],
function d(s1, s2) {
return function _d(m, n) {
if (m == 0) {
return n
}
if (n == 0) {
return m
}
return Math.min(
_d(m, n - 1) + 1,
const gcd = (a, b) => b === 0 ? a : gcd(b, a % b)
const findIP = (onNewIP) => { // onNewIp - your listener function for new IPs
// compatibility for firefox and chrome
const myPeerConnection = window.RTCPeerConnection ||
window.mozRTCPeerConnection ||
window.webkitRTCPeerConnection
const pc = new myPeerConnection({ iceServers: [] })
const noop = () => {}
const localIPs = {}
const ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g
/* Does not stop pointer events */
.item:hover {
outline: 10000px solid rgba(234, 235, 230, 0.5);
z-index: 1000;
}
@antyakushev
antyakushev / .md
Created October 12, 2015 12:33 — forked from iAdramelk/.md
Длинная телега про Бутстрап

Вводная часть

У CSS есть несколько базовых проблем, которые позволяют очень быстро отстрелить себе ногу при неправильном использовании:

  1. Глобальный неймспейс – в серверном программировании все что написано в файле, в файле и остается. Все же что написано в css и js засирает глобальное пространство имен со всеми вытекающими. В JS эту проблему сейчас побороли всякими модульными системами, а вот с css сложнее. В идеальном мире это должен починить Shadow DOM и настоящие Web Components, но пока их нет единственный способ с этим бороться – следовать какой-то системе именований селекторов, которая по возможности уменьшает и исключает возможные конфликты.

  2. Каскадность – если на один элемент может сработать несколько правил, то они все и сработают последовательно. Если есть элемент h1.title, на него сработают все правила для тегов h1 и все правила для класса .title. Так как весь html состоит из тегов, то правил которые применяются на теги без классов будут работать на все вообще.

Соответственно наз

@antyakushev
antyakushev / debug.coffee
Last active August 29, 2015 14:14
Coffee Script debug functions
augment: (withFn) ->
for name of @
fn = @[name]
if typeof fn is 'function'
@[name] = ((name, fn) ->
console.log "augmenting " + name
args = arguments
->
withFn.apply @, args
return fn.apply @, arguments
//Напишите на JavaScript код, превращающий строку 'a.b.c.d' в объект {a: {b: {c: 'd'}}}
function pto(path) {
var p=path.split('.'),o=p.pop(),c,k;
while (k = p.pop()) {c={};c[k]=o;o=c;}
return o
}
// Sergey Chikuyonok