Задать вопрос
  • Как загрузить модуль в npm на компе без интернета?

    @IgorNoskov
    Если я правильно понял вопрос. Нужно в файл проекта package.json в объект dependencies прописать название модуля с версией, а также добавить в файл проекта package-lock.json все необходимые зависимости этого плагина. Вообще, плохая практика руками ковыряться в package-lock.json. Не факт что всё это заработает в итоге, потому что нужно, чтобы подтянулись зависимости этого модуля.
    Если имеется ввиду, что нужно отправить код модуля в репозиторий nmp без интернета, можно попробовать написать код на бумаге и отправить письмо в офис npm.
    Ответ написан
    1 комментарий
  • Как вы учитесь и ищете чужие исходники?

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

    Так из обычной html-верстки я начал влезать в js и php одновременно, но предпочтение все же отдал js, хотя и ковыряние в вордпрессе дали некоторое понимание как работает php и как стоит писать/как не стоит.

    Далее я уже не боялся брать чуть более сложные задачи (для меня тогда), просто рылся в скриптах, которые использовал (чтобы понимать почему ЭТО работает). На том же вордпрессе стал делать более грамотные темы, писать возможности кастомизации и прочее, шаг за шагом в этом разбираетесь и все.

    Далее, открыв все прелести говнокодинга на js, я стал покупать себе книги, читать статьи, смотреть что пишут другие, иногда просто заходил и смотрел ролики на ютьюбе от забугорных ребят.

    Спустя какое-то время наслышавшись всяких ES5, React, Angular, Vue, стал просто читать что это, как это, ничерта не понял, закрыл.

    Через какое-то время уровень проектов пошел такой, что я понял смысл использования того же VUE, открыл всю ту же зеленую книгу с носорогом стал вдоль и поперек ее изучать. Спустя время, документация по vue меня нисколько не пугала, я сел и стал переписывать проект, который до этого писал на javascript + jquery.

    С тем же PHP такая же ситуация, мне просто стало интересно (а иногда и нужно), как работаю серверы, как делаются api и так далее, товарищ, работающий в подобной сфере в хорошей компании, быстро сказал в каких аспектах я дно, после того как я задал ему пару глупых вопросов. И я стал снова: читать статьи, практиковаться, исправляться, смотреть что пишут другие.

    В целом схема обучения проста: вы берете какую-то задачу, которую сходу не можете сделать, начинаете ее решать, пока решаете, возникает куча вопросов, вы ищете информацию, МНОГО ИНФОРМАЦИИ, так и учитесь. Я соглашусь, что пилить всякие todo листы наверное не интересно, попробуйте написать что-то интересное для себя, либо интересное с точки зрения: ВАУ Я МОГУ СДЕЛАТЬ ЭТУ ВЕЩЬ.

    Самое главное - не пытайтесь гнаться за всем подряд, не надо сидеть разбираться с гитхабом, если на вашем уровне профессионализма он вообще никак не задействован. Не надо учить React, Vue, Angular, если на вашем этапе профессионализма они вам не требуются. Не надо вникать в ООП, если для вас написание простых функций уже является сложностью. Делайте постепенно и не гонитесь ни за чем.
    Ответ написан
    4 комментария
  • Как при клике на кнопку показывать/скрывать элемент?

    @IceJOKER
    Web/Android developer
    100500 раз задавали подобные вопросы как здесь так и по всему инету.
    $(el).toggle();

    $('.link').click(function(){
        $('.div').toggle().toggleClass('vis');
    });
    //toggleClass  добавил соответствуя вашему коду - переключатель класса/ов
    Ответ написан
    4 комментария
  • Как сообщить jquery что dom изменен?

    ya-vitaliy
    @ya-vitaliy
    Верстаю... + wordpress и пробую Laravel
    Для динамических элементов используется делегированная обработка собятий, и схематически это выглядит так:
    $('parent_static').on('event', 'children_dinamic', handler);

    Где parent_static - это статичный родительский элемент (лучше ближайший, но подойдёт и body), event - событие, children_dinamic - дочерний динамический элемент, на котором обработчик и должен сработать. При этом указатель this или объект jQuery $(this) в обработчике - имено дочерний динамический элемент.

    Как это применимо к вашему коду, tyzberd в комментарии к своему ответу написал.
    Ответ написан
    1 комментарий
  • Основы, алгоритмы, проектирование. Как начать?

    Olek1
    @Olek1
    Главное понимать, что компьютер по сути очень тупой, но скотина выносливая, порой даже очень. Он может выполнять только то, что вы ему скажете, его недостаток в том, что он не умеет видеть мелочи, и "додумывать" их за вас сам. Ему надо "объяснять" всё как ребёнку.
    Ответ написан
    1 комментарий
  • Какую можете посоветовать литературу по взлому и пентесту веб сайтов?

    @uroot
    Да какая литература? Она выходит уже устаревшей. Форумы и только форумы: античат, эксплоит и другие. Читайте статьи и пробуйте. Не получается - задавайте вопросы на форумах.
    Вам нужно понять как работают такие вещи, как:
    1. SQL-injection
    2. PHP-injection
    3. XSS
    4. CSRF
    5. LFI
    6. RFI
    7. Эксплойты (поиск и эксплуатация)
    8. Научится работать со сканерами (особенно Metasploit)

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

    Vlatqa
    @Vlatqa Куратор тега CSS
    правильно, но что бы ты понимал:
    1. JQuery это библиотека
    2. slick slider это плагин
    с их помощью ты сделал слайдер слайдер изображений как хотел заказчик за 3мин и доволен
    ...
    шли секунды... минуты... часы
    ...
    заказчик тебя попросил за доп. плату сделать превью изображений к слайдеру

    вот, что бы не сесть в лужу нужно знать как это работает

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

    @BigSmoke
    При клике на кнопку "корзина":
    - скрываем кнопку "корзина" (display: none)
    - показываем блок (display: block(flex)) с инпутом и двумя кнопками, которыми можно изменять количество товара в большую или меньную сторону
    - Если после клика на кнопку уменьшения количество товара его станет меньше 1, то делаем все наоборот - блоку с инпутом display: none, а кнопке "корзина" (display: block(flex))
    Ответ написан
    Комментировать
  • Как при клике на кнопку "в корзину" заменить её на инпут выбора количества?

    Vlad_IT
    @Vlad_IT Куратор тега CSS
    Front-end разработчик
    Ответ написан
    Комментировать
  • Как получить доступ к ["data:protected"]?

    DevMan
    @DevMan
    к protected нельзя обратиться напрямую с наружи.
    или смотрите наличие методов у объекта для доступа к ним (нормальный вариант), или меняйте видимость через рефлексию (хак).
    Ответ написан
    1 комментарий
  • Простым языком о замыканиях?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    1. Для чего замыкание существуют?
    Для инкапсуляции данных.
    В ООП есть модификаторы доступа (private, protected), которые закрывают доступ к данным извне класса, но позволяют обращаться к ним из методов.
    В ФП для этой задачи используют замыкания, закрывая данные внутри функции. Из вне данные недоступны, но вложенные функции имеют к ним доступ.

    2. В каких условиях они создаются?
    Когда вложенная функция обращается к переменным внешней функции.

    Хоть и просили без примеров, но на примере показать проще:
    // makeCounter - внешняя функция
    function makeCounter(initialValue) {
      var value = +initialValue || 0;
      // counter - внутренняя функция
      // она использует переменную value из внешней функции
      // что-бы это было возможным, для counter создается замыкание,
      // в котором хранится переменная value
      // переменная initialValue функции counter не нужна, поэтому ее можно "забыть"
      return function counter() {
        return value++;
      };
    }
    
    // у нас 3 экземпляра функции counter
    var counter1 = makeCounter();
    var counter2 = makeCounter();
    var counter3 = makeCounter(100);
    // и для каждой есть своя переменная value
    console.log(counter1()); // 0
    console.log(counter1()); // 1
    console.log(counter2()); // 0
    console.log(counter1()); // 2
    console.log(counter3()); // 100
    
    // а вот получить как-то напрямую переменную value мы не можем
    // инкапсуляция нам не дает поломать данные
    Ответ написан
    Комментировать
  • Как сделать веб-сервис и не утонуть в процессе?

    JohnDaniels
    @JohnDaniels
    Примечательно, что вариант "сидеть и работать" даже не рассматривается
    Ответ написан
    2 комментария
  • Как сделать веб-сервис и не утонуть в процессе?

    Tobster
    @Tobster
    Используйте подход MVP - только не путать с model view present

    Ссылка: https://ru.wikipedia.org/wiki/Минимально_жизнеспос...
    (minimum viable product, MVP)

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

    Организацию труда выполняйте в нечто вроде Trello

    Ну и конечно старайтесь подключить к разработке как можно больше людей, которые реально чтото делают постоянно, а не просто посмотрят и уйдут, для этого есть GitHub, на каждую даже самую маленькую фичу не больше одной ветки делать в гите, иначе утонет профессионал даже с 20 летним стажем.
    Ответ написан
    Комментировать
  • Как сделать веб-сервис и не утонуть в процессе?

    gobananas
    @gobananas
    finishhim.ru
    1. Выделить одну главную функцию сервиса
    2. Сделать её, сверстать и выкатить, это будет MVP
    3. Не заморачиваться с вёрсткой
    4. Не заморачиваться с методами авторизации
    5. Не думать про нагрузку, не заниматься оптимизацией кода и БД
    6. Если поймали себя на мысли что вы думаете какой паттерн тут применить вы в Ж, просто пишите код, который работает!!
    7. Не совмещать написание сервиса, который вы РЕАЛЬНО хотите запустить с изучением чего-то нового (языка, БД). Утоните в учёбе и никогда не запустите.

    Это всё на своём опыте написания проекта говорю вам а не голословно ))
    Ответ написан
    10 комментариев
  • Как выравнивать элементы с помощью css-grid таким образом?

    web_Developer_Victor
    @web_Developer_Victor
    Что такое google?
    Сделайте через display: flex и justify-content: space-around
    Ответ написан
    1 комментарий
  • Как отправить смс в WhatsApp?

    @JunDevTest
    Контакты: thejundev@gmail.com | @juniordev
    К сожалению, WhatsApp ведёт очень жёсткую политику по отношению к разработчикам, у него отсутствует публичный API и возможность отправки сообщений на номера, которые не находятся в ваших контактах. Однако, в сети существуют сервисы, которые предоставляют такой API, однако он не официальный, его использование несет в себе риск бана вашего аккаунта без возможности восстановления. К тому-же такая услуга не бесплатна ( на одном из сервисов, стоит 900р/мес. за 1 аккаунт ) и как правило, с лимитом на количество отправленных сообщений.

    Существует так называемое WhatsApp Business API которое доступно лишь "средним и крупным компаниям", заявка отправляется через Facebook, где её проверяют и выносят свой вердикт, по поводу допуска. Простым смертным и ИП-шникам оно не доступно. https://www.whatsapp.com/business/api

    Как отметил пользователь storm57, на GitHub можно найти несколько открытых проектов, которые предоставляют API для WhatsApp в виде библиотек и компонентов для различных языков программирования.
    Однако, использование такого способа, может сильно повысить риск бана аккаунта, даже по сравнению с платными сервисами, которые работают через WhatsApp WEB.

    Относительно безопасный и практически бесплатный способ: https://github.com/sigalor/whatsapp-web-reveng
    Библиотека, работающая на собственном сервере, с возможностью получения API и отправки сообщений.
    Когда-то хотел с ней "поиграться", если захотите, могу установить и настроить её для вас на вашем или моём сервере, мои контакты сверху под ником.
    Ответ написан
    2 комментария
  • Клиентский код в итоге пишется в процедурном стиле?

    Stalker_RED
    @Stalker_RED
    Смешались в кучу кони, люди...

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

    Паттерны (шаблоны проектирования же) нужны для того, чтобы объяснить ДРУГИМ ПРОГРАММИСТАМ что за хрень мы тут написали.
    Можно писать код, который вообще ни на что не похож и не соответствует никаким шаблонам. И тем людям, которые захотят разобраться в коде вынуждены будут его прочесть целиком и осмыслить. Или мы пишем: здесь у нас шаблон "наблюдатель" а вот нам у нас singleton и всем сразу понятен общий смысл.

    С MVC пример не особо удачный. Дело в том, что сейчас существует довольно много разных штук на которые почему-то прилепили буковки MVC, хотя на самом деле... В целом понятно, что вы пишете о случае с "толстыми контроллерами" но ведь может быть несколько разных контроллеров которые работают с одной моделью.
    И могут быть разные модели, отдающие данные в одно и то-же представление. Но об этом ниже.

    И с полиморфизмом вы что-то напутали. Посмотрите хоть в википедии что это и зачем. Клиентов ведь может быть больше одного. Сегодня наш код работает на телефоне с ios, завтра на andoid'е, а послезавтра на голографическом телевизоре с пси-управлением. И данные он вчера брал из MSSQL а сегодня берет из mongodb. Но при этом у нас все круто спроектировано, и мы не меняем ядро приложения. Только подсовываем новые реализации интерфейсов по необходимости. Вот про что полиморфизм.
    Ответ написан
    1 комментарий
  • Каким способом (книги, курсы, лекции, вебинары и пр.) порекомендуете учить 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) Хорошие работы (на поздних этапах) сохраняйте для будущего портфолио (будет, что показать).
    Ответ написан
  • Как ускориться и быстрее писать веб-приложения?

    webinar
    @webinar Куратор тега Веб-разработка
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Сколько времени у вас уходит на развертыванием веб-проекта

    3 часа 14 минут. Не зависимо от ТЗ и сложности. Просто чудо какое-то что б не делал всегда 3,14 часов. Что бы не делал - 3,14 просто ПИ...тое число.

    Хочу ускориться, делать больше работы за единицу времени

    Найми сотрудников. Или прими за единицу времени большую единицу. Еще есть опыт, он со временем даст прирост скорости.

    Неужели создание сайта (верстка, бэкенд, фронтенд, проектирование бд итд) настолько нудный и муторный процесс?!

    Вам виднее, это дело вкуса. Если Вам нудно - значит нудный. Попробуйте копать траншеи, может веселее пойдет.

    Поделитесь секретными инструментами, приемами, фреймворками, позволяющими выполнять проект за считанные дни.

    boostrap, vue, jquery, gulp, нормальная IDE, опыт и т.д.
    если надо волшебства - беритесь за проекты, которые делаются за "считанные дни". Например, работайте только wp и готовыми шаблонами. Думаю за пару часов можно собрать сайт (3 часа 14 минут).
    Ответ написан
    Комментировать
  • Как делать такие условные заголовки?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Белый или черный
    https://github.com/Taraflex/Brackets-Color-Highlig...
    https://github.com/Taraflex/Brackets-Color-Highlig...
    Цвет из картинки лучше вычислить заранее на сервере, ибо на клиенте не выйдет отобразить цветную карточку до загрузки картинки
    https://github.com/ksubileau/color-thief-php
    https://github.com/thephpleague/color-extractor
    https://github.com/brianmcdo/ImagePalette
    https://www.phpclasses.org/package/3370-PHP-Extrac...
    ну и еще можно нагуглить

    UPD
    Градиентный блур на js
    https://jsfiddle.net/8ujmn5zs/62/
    Ответ написан
    Комментировать