• Как использовать общие файлы в проектах Node.js?

    @RidgeA
    вынести в отдельный репозиторий
    Ответ написан
    Комментировать
  • Что нужно сделать перед изучением ЯП?

    @Ambrosian
    То исть как начать думать как программист, а не как кодер.


    Программистом делает программиста не знания языка программирования.
    А знание алгоритмов, паттернов, концепций, парадигм программирования.

    Это только кодеры думают, что вся проблема только в том, чтобы изучить язык программирования. Ан нет. Изучив язык программирования, вы по сути "изучите мышь и клавиатуру", а не то, что можно с помощью них делать.

    Но проблема в том, что учить все эти паттерны-парадигмы-алгоритмы без непосредственного программирования дико скучно неудобно и непрактично.

    Поэтому ответ - нужно программировать начинать уже. Хватит задавать вопросы на форумах.
    Ответ написан
    1 комментарий
  • Как на сайте при регистрации отсеивать не существующие emailы?

    @Ariurn
    1) Проверка с помощью регулярки (чтобы не писали абракадабру):
    function validateEMAIL($EMAIL) {
    $v = "/[a-zA-Z0-9_-.+]+@[a-zA-Z0-9-]+.[a-zA-Z]+/";
    return (bool)preg_match($v, $EMAIL);
    }

    2) Проверить наличие MX-записи в домене (гарантия того, что такой домен существует и обрабатывает поступающие почтовые запросы):
    if (!checkdnsrr($domain, 'MX')) {
    // domain is not valid
    }

    Но учтите, что всё это не является достаточным условием того, что такой e-mail существует на данном домене.
    Ответ написан
    5 комментариев
  • Node js однопоточен, а php многопоточен?

    @PloAl
    Ваше первое утверждение не совсем корректно.
    Если "тяжелом" коллбеке полностью синхронный код тогда верно. Если используется асинхронный код остальные запросы, ждать не будут.

    В php для обработки каждого запроса запускается новый процесс.

    Также для нескольких процессов можно использовать PM2.
    Ответ написан
    2 комментария
  • Вопрос по Random ORG?

    @Mysterion
    generateIntegers

    This method generates true random integers within a user-defined range. Your client must set the method property of its JSON-RPC request object to generateIntegers. The request must also contain an id member, which will be returned in the response.

    The request must also contain an id member, which will be returned in the response.
    Ответ написан
    Комментировать
  • Каким способом (книги, курсы, лекции, вебинары и пр.) порекомендуете учить WEB? Расскажете свои истории становления в этой сфере?

    @Ariurn
    Единственная книга, которую мне за всё время пришлось использовать - Герберт Шилдт по плюсам. Да и то не для Web-разработки, а чисто для понимания основ логики программирования.
    Если говорить конкретно про Web: самоучка методом проб и ошибок, лазанья по форумам итд. Сначала просто начал глядеть исходный код различных сайтов (было интересно, как оно всё устроено). Потом начал гуглить на различные темы типа: минимальный html шаблон, основы css итд. Вполне достаточно статеек/мануалов с различных тематических сайтов. Сначала пробуете писать простенькие одностраничники, безо всякой серверной части. Потом попробуйте поиграться со стилями, js/jquery фишками. Это Front-end.
    Касательно Back-end'a: сначала рисовал простые скрипты на php (хотя и я бы на вашем месте сразу полез в python) по типу динамического вывода той или иной информации. Потом научился соединять с БД (PostgreSql, MySql, SqLite итд, погуглите разные варианты, каждому своё). Дальше пробовал что-то типа написания мини-блога.
    Когда приучитесь творить подобные мини-проекты, посмотрите в сторону фреймворков.
    Для фронтенда это Bootstrap, Semantic-UI (как наиболее адекватные с моей точки зрения).
    Для бэкэнда (в зависимости от языка, на котором пишете): для PHP - Laravel, для Python - Django.
    В любом случае, основные советы следующие:
    1) Как можно больше практики. Теория в этом деле ничего не стоит, опыт - ваше всё.
    2) Сразу учитесь "этике" программирования: соблюдайте табуляцию, давайте переменным/классам нормальные названия итд.
    3) stackoverflow - ваше всё (вы ещё попомните эти слова).
    4) Хорошие работы (на поздних этапах) сохраняйте для будущего портфолио (будет, что показать).
    Ответ написан
  • Почему метод forEach пропускает (не обрабатывает их) вложенные элементы?

    @balamyt92
    ; select * from users; --
    На самом деле все просто. outerHTML перезаписывает элемент, то есть когда вы записываете у родителя outerHTML, то ребенка на которого ссылается ранее сделанная ссылка уже не существует, там уже новый элемент.
    Ответ написан
    6 комментариев
  • Зачем нужны prototype если все ключи и методы можно задать в конструкторе?

    @balamyt92
    ; select * from users; --
    Для "наследования" и динамического изменения в процессе исполнения.
    Ответ написан
    Комментировать
  • Зачем нужны prototype если все ключи и методы можно задать в конструкторе?

    @Melagomania
    Определять метод в конструкторе = создавать новую копию функции для каждого нового экземпляра класса. Это не есть хорошо: создав 10 экземпляров класса, мы получим 10 одинаковых функций (зачем?).
    Записывая метод в prototype, мы не присваиваем его непосредственно объекту. Метод окажется в свойстве __proto__ созданного экземпляра. Каждый экземпляр нашего класса имеет свойство __proto__ и это свойство у каждого экземпляра ссылается на ОДИН и то тот же объект, в который мы и записали наш метод, используя prtototype. Такми образом, записав функцию func в prototype и потом создав 10 экземпляров класса, мы получим всего ОДНУ функцию func, сохраненную в __proto__. Все созданные объекты будут использовать эту ЕДИНСТВЕННУЮ функцию, хранящуюся в общем месте.
    Вот как-то так.
    Ответ написан
    Комментировать
  • Как синхронизировать SCSS и CSS?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Попадал тоже в такую ситуёвину...
    Решал кропотливым ручным трудом.

    Для облегчения отслеживания сделал копию css файла, открыл копию и билд в diff вьювере (в моем случае инструмент сравнения файлов в phpstorm). Цель — привести билд к идентичности с текущей версией css. По каждому диффу вносил изменения в sass, дифф тут же обновлялся после пересборки и я переходил к следующему.

    ЗЫ. css копию лучше переформатировать автоформатом. А в sass включить outputStyle="expanded"

    Автоматически подобную задачу вряд ли можно решить.
    Ответ написан
    Комментировать
  • Как sizeof вычисляет размер массива?

    @res2001
    Developer, ex-admin
    sizeof - это не функция (хоть и выглядит похоже) - это операция взятия размера.
    sizeof всегда вычисляется на этапе компиляции, т.е. в исполняемом файле вместо вызова sizeof уже будет вычисленная константа.
    Когда компилятор знает размер массива, как в вашем примере, он вернет полный размер массива.
    Но если передать в sizeof произвольный указатель (именно указатель, а не статический массив), он вернет размер указателя.

    Статический массив - это не указатель. Указатель - на этапе выполнения занимает в памяти место для хранения адреса. Статический массив занимает в памяти место для хранения данных массива.
    Поэтому статический массив - это не указатель. Хотя часто компилятор работает с именем статического массива как с указателем.
    Ответ написан
    8 комментариев
  • Как динамически выводить элементы массива?

    0xD34F
    @0xD34F Куратор тега Vue.js
    Сделаем объект, который следует выводить, вычисляемым свойством:

    obj() {
      return this.items[0];
    },

    Если он существует - выводим:

    <div v-if="obj">
      <div v-for="(val, key) in obj">
        ...

    Похоже на то, что вам надо?
    Ответ написан
    1 комментарий
  • Безопасность данных в Vue.js?

    DMGarikk
    @DMGarikk
    Lead Software Developer
    поменять её isAuth = true, и получить доступ к закрытой части интерфейса

    бекенд не должен позволять производить операции из закрытой части интерфейса неавторизованным пользователям, а что толку от закрытой части если там данных не будет и она будет нефунциональна?
    Ответ написан
    Комментировать
  • Как повысить скорость загрузки сайта?

    sim3x
    @sim3x
    1. Нет
    2. Да, но только если картинок в контенте на странице 20+
    3. Нет, обьединять нужно множество мелких картинок

    Для нахождения проблем нужно использовать профайлер браузера
    Часто проблемы связаны не со скоростью загрузки, а с тормозами от кривого жс и цсс
    Ответ написан
    2 комментария
  • Зачем изучать несколько языков программирования(c++, java)?

    DexterHD
    @DexterHD
    Software Engineer, Teamlead, CTO
    Не за чем. Лучше изучать фундамент. Например 3 тома Таненбаума:
    • "Архитектура компьютера"
    • "Современные операционные системы"
    • "Сети"


    Можно в разы повысить свою стоимость как специалиста чем пройдя курсы по 3 языкам программирования.
    Ответ написан
    2 комментария
  • Зачем изучать несколько языков программирования(c++, java)?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Во-первых, гипотеза лингвистической относительности утверждает, что чем больше языков знаешь, тем гибче и богаче твой логический аппарат. По своему опыту могу сказать, что это правда. Например изучение Lisp'ов существенно расширило мои возможности в других языках. Но мой опыт и мнение не так авторитетны, как авторов всемирно известного бестселлера "Программист-прагматик" - Эндрю Ханта и Дэвида Томаса, которые пишут: «Изучайте по крайней мере один новый язык ежегодно. Разные языки решают одни и те же проблемы разными способами. Изучив несколько разных подходов, вы сможете расширить свой кругозор и не погрязнуть в рутине.»

    Во-вторых, рано или поздно профессиональный рост java-программиста, например, неизбежно приводит его к необходимости глубоко понимать работу компилятора и виртуальной машины, а это невозможно без знания C++, на котором они написаны.

    В-третьих, java-программист свободно лазающий за ответами в исходники JVM, способный дебажить сборщик мусора, писать JNI-библиотеки и использовать Compiler API для метапрограммирования имеет больше предложений работы и более выгодные условия.
    Ответ написан
    4 комментария
  • Когда название параметра такое же как и имя глобальной переменной, какие последствия? Никак не могу понять, что такое замещение переменной?

    @abberati
    frontend-разработчик
    с технической точки зрения никаких проблем нет
    var foo = 25;
    
    function bar(foo) {
      console.log(foo);
    }
    
    bar(42) // выведет "42", т.к. внутри функции foo ссылается на параметр, не на глобальную переменную. это и есть замещение


    в этом примере foo снаружи и foo внутри - две абсолютно независимые переменные. снаружи foo равно 25, внутри - оно равно входному параметру 42

    трагично здесь вот что: представьте, что не вы писали код и читаете его в первый раз. вы пытаетесь понять, откуда взялось foo, которое используется в конце длинной функции. начинаете искать по файлу и обнаруживаете, что есть несколько несвязанных между собой переменных, имеющих одно и то же имя. в какой же из этих переменных то самое значение, которое выводится в bar?

    var foo = 25;
    // 20-30 строк кода
    function makeMeFun() {
      // 20-40 строк кода
      console.log(foo);
    }
    
    function bar(bez, buz, kek, lol, cheburek, foo) {
      // 20-40 строк кода
      console.log(foo);
    }
    
    bar(42) // что мы получим на выходе? а чёрт его разберёт


    именно поэтому одна из двух самых сложных задач в программировании - придумывание имён
    Ответ написан
    1 комментарий
  • Когда название параметра такое же как и имя глобальной переменной, какие последствия? Никак не могу понять, что такое замещение переменной?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Последствие ровно одно - эта глобальная переменная становится доступна только через window.param, а в просто param хранится значение аргумента.

    Пример из жизни:
    Когда вы слышите Владимир Владимирович, вы по-умолчанию думаете, скажем, про Познера. Но если у вас есть коллега с таким именем, то когда вы слышите эти слова в офисе, на ум уже приходит именно он. Это и есть замещение - в разных контекстах одно и то же имя означает разные сущности.
    Ответ написан
    Комментировать