Pull to refresh
8
0
Качалов Тимофей @sanex3339

Front-End developer

Send message

Да. Все остальные варианты, особенно 3 и 4 - оверхед как мне кажется

Мы делаем вот так

import { ChangeEvent, MouseEvent } from 'react'

const handleChange = (event: ChangeEvent<HTMLInputElement>) => {...}
const handleClick = (event: MouseEvent<HTMLDivElement>) => {...}

И самое забавное, что кнопка play у них работает криво, если переключиться на вкладку со спотифаем спустя N часов (например на следующий день).

Клик по кнопке не делает ничего, помогает перезагрузка страницы.

Видимо отдельная команда нужна для такого.

Тут и так понятно что вы не знаете

Ну с таким безальтернативным утверждением я даже спорить не буду.

Гадайте дальше.

Предлагаю вам не гадать, что я знаю, а что нет. Никогда не угадаете.

Все инструменты ситуативные. В нашем случае zustand нам отлично подходит.

Используем zustand, мне нравится.

Какое отношение имеют самые базовые основы TypeScript (а в некоторых случаях, вещи, являющиеся синтаксисом JavaScript) к продвинутым пользователям TypeScript?

А skipLibCheck не помогал?

В статье расходы в месяц, кстати, довольно большие.
Мы в Дубае тратим гораздо меньше, где то 10-10.5к aed в месяц на все, но да, вида на гольф поле нету)

  • аренда 55к в год, это 4580 aed или 1250 usd в месяц. Снимаем в JVC в новом доме.

  • вода + электричество + property fee 380-650 aed в зависимости от месяца, но мы начали снимать с сентября, т.е. в самые жаркие месяцы, наверное, еще +100-200 aed

  • интернет 417 aed в месяц

  • еда - если очень грубо подсчитать - 3700 aed (1к usd), но кажется мы тратим меньше

  • мы работаем из дома, но такси около 500 aed в месяц

  • страховка от работодателя

Ага, это он. Но там довольно слабые настройки обфускации выбраны, не используется controllFlowFlattening, deadCodeInjection и rc4 кодирование строковых литералов.

Скорее всего там одна из первых версий используется.
аналогично. NPM — 1:45, Yarn — 0:25
В результате .toString() вышеуказанного кода вы получите такой же обфусцированный код вида

function _0x1d7251(_0x1daaeb) {
        function _0x389dc4() {
            console[_0x19d4('0x0')](_0x19d4('0x1'), _0x1daaeb[_0x19d4('0x2')]);
        }
        console[_0x19d4('0x0')](_0x19d4('0x3'), _0x1daaeb);
        var _0x1daaeb = {};
        return _0x1daaeb[_0x19d4('0x2')] = 0xf, _0x389dc4();
    }
Отвязка от домена это в любом случае нахождение куска кода, который проверяет этот самый домен с зашифрованными внутри себя разрешенными доменами и удаление этого куска. Зная, что такой код должен выполняться как можно раньше, то найти такой кусок довольно просто.

Основная цель обфускации — максимально усложнить понимание логики кода. С этой задачей обфускаторы справляются отлично. Речь, разумеется, о объеме кода 500+ строк.

Например, что делает этот код?
https://gist.github.com/sanex3339/556d5e66ec787f16a6a0fb4b5fd729f6
Благодарю за пояснение и пример!
https://github.com/sanex3339/javascript-obfuscator/blob/master/scripts/test-full
Вот эта вот команда с npm выполняется 17.5 сек, с redrun 16.5 сек. Т.е. в моей ситуации прирост есть, но незначительный.
В TS проверка типов происходит на этапе компиляции.
https://jsfiddle.net/5tg7nqqd/
Разницы не вижу, а вот если line-height поставить в 1em, то уже лучше
Спасибо за туториал!
Декораторы — отличная штука. Ну и стоит посмотреть, как отлично они используются на примере Angular2.
Потому что на дворе 2016 год, и на JS'е пишутся уже не только всякие менюшечки и слайдбарчики, но и крупные приложения.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity