This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// QueryState Model | |
import { | |
type QueryClient, | |
type QueryFunction, | |
type QueryObserverOptions, | |
QueryObserver, | |
} from '@tanstack/query-core'; | |
import {action, makeObservable, observable} from 'mobx'; | |
export interface QueryStateParams<T> { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function parse(input) { | |
input = input.split(''); | |
const stack = []; | |
const isChar = (char) => /[a-z]/.test(char); | |
const isNum = (char) => /[0-9]/.test(char); | |
for (const char of input) { | |
if (char === '[') { | |
stack.push(char); | |
} else if (isChar(char)) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import * as glob from 'glob'; | |
import * as fs from 'fs'; | |
import * as path from 'path'; | |
import * as util from 'util'; | |
const readFile = util.promisify(fs.readFile); | |
const EXP_RE = /(specs\.[-_A-Za-z0-9]+\.[-_A-Za-z0-9]+)/g; | |
export const searchProjectExperiment = () => { | |
return new Promise((resolve, reject) => { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const urlExist = require("url-exist"); | |
const urlsToCheck = [ | |
'https://yandex.ru', | |
'https://google.com', | |
'https://sdflksdjf281xncdmnse.sdas' | |
]; | |
(async () => { | |
for (const url of urlsToCheck) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React, { useState, useEffect, useContext, useMemo } from "react"; | |
import Experiments, { ExperimentsBag } from "@wix/wix-experiments"; | |
export interface ExperimentsProvider { | |
options: { | |
experiments?: ExperimentsBag; | |
scope?: string; | |
baseUrl?: string; | |
}; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var intersect = function(nums1, nums2) { | |
let fn = (a, b) => a - b; | |
nums1.sort(fn); | |
nums2.sort(fn); | |
let res = []; | |
let i = 0; | |
let j = 0; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Вопрос. Не забудь рассказать, почему (на самом деле) работает 3D-хак. | |
3D-хак, он же translateZ(0) или translate3d(0, 0, 0) работает, так как в современные движки браузеров встроен механизм, | |
который при определенных критериях, создает композитный слой для рендеринга элемента, такой слой, при правильном | |
использовании хака, будет отрендерен на GPU. В данном случае, этот критерий — 3D перспектива, так как используется ось Z. | |
Ок, почему тогда не ускорить просто весь HTML и жить счастливо? Проблема в том, что выделять каждый элемент в такой слой | |
дорого. Во-первых не все устройства обладают достаточной видео паматью, особенно мобильные. Во-вторых, что бы отрендерить | |
элемент на GPU, в GPU сначала надо загрузить текстуру, что может стать узким местом, когда элементов много. | |
Тут кстаи очень интересно следить за тем, что происходит с современным Firefox. У Лин Кларк недавно была потрясающая статья |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Вопрос 4. Какие технологии ты ждёшь в браузерах и от опенсорс-сообщества? | |
Я очень жду появления ServiceWorker в Safari и Edge. Это совершенно невероятная штука, которая не только ускоряет загрузку | |
интерфейса, но и дает возможность подписываться на пуши, а так же позволяет мобильным браузерам использовать возможности ОС. | |
Например в Android теперь загрузку большого файла теперь можно осуществить через ServiceWorker, что покажет красивый | |
системный прогрессбар, даже когда браузер выключен. | |
Так же: | |
- улучшение тулзов для профилирования и аудита | |
- внедрение уже наконец спеки css nesting |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(async () => { | |
const account = await web3.eth.accounts.create(); | |
console.log('new account', account); | |
const keystore = account.encrypt(account.privateKey, '123'); | |
console.log('keystore for account', keystore); | |
const account2 = await web3.eth.accounts.decrypt(keystore, '123'); | |
console.log(account2); | |
})() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function sum() { | |
let result = 0; | |
function _sum() { | |
result += [].slice.call(arguments).reduce((r, i) => r + i, 0); | |
return _sum; | |
} | |
_sum.toString = function() { | |
return result; |
NewerOlder