• Регулярка. Как найти все ссылки в тексте?

    @lesserg
    <a\s.*?href="(.+?)".*?>(.+?)</a>
    В первой переменной будет URL ссылка, во второй весь текст между открывающим и закрывающим тегом
    Ответ написан
    4 комментария
  • Что все-таки должен уметь делать frond-end-разработчик?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Все то что запускается в браузере - ваша зона ответственности. Ajax (ajax это просто возможность делать http запросы из js), все эти фреймворки и библиотеки, все все все. От бэкэнда вас целиком и полностью отделяет весьма жирная сетевая прослойка. Причем эту прослойку вы так же должны знать как слой интеграции между фронтэндом и бэкэндом (на поверхносном уровне хотя бы).

    По сути сегодня фронтэнд и бэкэнд - отдельные приложения. SPA например - полностью независимое приложение, далее могут быть различные оптимизации и т.д. с сервер сайд пререндрингом где связанность повышается и четко границу ответственности уже не определить (хотя опять же можно). Ну и классический web как ярный пример каши.

    Если фронтэнд - это отдельное приложение, то и знать вы должны все что нужно для его построения. Это и архитектурные штуки (MVC/MVA/MVVM/MVP/Flux/паттерны всякие/функциональное программирование) и тесты писать уметь должны и т.д. Все как у бэкэндщиков по объемам знаний. Просто у бэкэндщиков геморой обычно в конкурентных запросах, локах, базах данных и другими веселыми штуками. а у фронтэндщиков - зоопарк браузеров, различия в окружениях и т.д.

    nodejs - это уже опционально. В любом случае если вы хорошо знаете JS то посмотреть как там чего в API ноды проблемы не составит (например что бы быстренько поднять expressjs сервачек для разработки с мидлвэрами, часто нужно для всяких webpack-ов и browsersync). Ну и опять же билд стэк у фронтэндщиков в принципе весь на ноде написан. Но это не бэкэнд.
    Ответ написан
    4 комментария
  • Код про утечки памяти?

    @beh
    Разработчик python, javascript
    var theThing = null;
    var replaceThing = function () {
        var priorThing = theThing;
        // сохранив функцию в переменной, мы невольно сохраняем и контекст (цепочку областей видимости) 
        // в котором она была объявлена
        // т.е. в данном случае priorThing оказался в контексте unused
        var unused = function () {
            if (priorThing) {
                console.log("hi");
            }
        };
        // здесь ссылка на старый объект заменяется новым, 
        // старый объект ожидает съедения GC, 
        // unused так же отправится в пасть GC...
        theThing = {
            longStr: new Array(1000000).join('*'), 
            // ... и все бы хорошо, если бы не один нюанс который происходит здесь
            // как там пишут: both functions share the same lexical environment
            // т.е. здесь у функции будет тот же контекст что и у unused
            // потому что контекст уже пошарен при создании unused
            // т.е. ссылка на старый объект priorThing будет сохраняться 
            // в общем контексте someMethod каждый раз.
            someMethod: function () {
                console.log(someMessage);
            }
        };
    };
    setInterval(replaceThing, 1000);    // вызываем 'replaceThing' каждую секунду

    в итоге мы получаем следующую картину
    3ba7ea237ca847a380b43f7ac331ce3d.PNG
    более подробно об этой утечке info.meteor.com/blog/an-interesting-kind-of-javasc...
    подебажить пример можно здесь s.codepen.io/beholderrk/debug/jWGyaY
    Ответ написан
    2 комментария
  • Как отобразить в Select Value выбранного Option?

    profesor08
    @profesor08
    Ну тогда вам надо схитрить.
    1. Расположить span возле select.
    2. Стилизовать span под select
    3. Сделать select маленького размера, чтоб была только стрелка.
    4. При выборе option вставлять в span текст из value

    Думаю ход мысли понятен.
    Ответ написан
    Комментировать
  • Как сделать background для текста (не для блока)?

    @Dartess
    Шел 2016 год, дизайнеры продолжали издеваться над верстальщиками.
    chikuyonok.ru/2010/01/uniform-text-background
    Ответ написан
    2 комментария
  • DatePicker улетел, это баг или фича?

    gassmonkey
    @gassmonkey
    Провокатор
    Ем сейчас мясо. Вроде и на курицу похоже, а с другой стороны и на утку, и даже на кролика немного. Вы не подскажете, какое именно мясо я сейчас ем?
    Ответ написан
    2 комментария
  • На чем написан Toster.ru и IPTV.ZONE?

    27cm
    @27cm
    TODO: Написать статус
    Просто у тостера скопирастили дизайн.

    Сами авторы утверждают, что "движок сайта разрабатывался с ноля":
    sat-master.org/showthread.php?p=174246#post174246
    Ответ написан
    9 комментариев
  • ООП в высоконагруженных проектах считается устаревшим?

    Adamos
    @Adamos
    Баланс.
    Если проект реально высоконагруженный, но простой, как табуретка - то человек прав, чем меньше в коде будет абстракций, тем меньше оверхеда.
    Но если проект не только высоконагруженный, но и сложный - вы мозг сломаете, делая его функционально. Функции хороши там, где нужны простые решения. Если вы можете разобрать всю архитектуру на простые решения - вам не нужно ООП. Если не можете - то без него проект захлебнется в собственной сложности.
    Ответ написан
    3 комментария
  • Жив ли Vanilla.js?

    Он живее всех остальных JS фреймворков.
    Vanilla JS - это Чак Норрис среди JS фреймворков.

    Пара ссылок:
    JavaScript MDN
    ECMAScript Programming Language

    vanilla-js.com - на этом сайте можно собрать VanillaJS под себя. Только посмотрите на размеры получаемого файла: 0 bytes uncompressed, 25 bytes gzipped.

    Это самый функциональный и одновременно самый оптимизированный JS фреймворк.
    Ответ написан
    2 комментария