Ответы пользователя по тегу JavaScript
  • Как реализовать таймер и интервал в Python3?

    Если поток один, то:

    import time
    
    while True:
        time.sleep(1) # in seconds
        action()
    Ответ написан
    2 комментария
  • Что делать если команда говнокодит?

    Мы стараемся не запускать эту проблему посредством code review, пытаясь распределить нагрузку по ревью между наиболее опытными участниками. Если в коде есть проблемы - тикет возвращается на доработку с замечаниями. Даже если банально не мержится с главной веткой. Попробуйте наладить этот процесс.

    Также мы всё собираемся настроить Continuous Integration. Jenkins может прогонять по коду проверку на соблюдение стандартов и покрытие тестами, а затем показывать результаты в красивом виде. Если чей-то коммит показывает более чем N ошибок в расчёте на единицу объёма кода - можно возвращать на исправление.

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

    Ещё пара идей.
    • можно отправить разработчиков на какой-нибудь онлайн-курс по чистому коду, хотя я таких даже не знаю, но наверняка должны быть
    • или устраивать "хакатоны чистого кода", на коих команда разбивается на пары-тройки, каждая из коих пишет какую-нибудь маленькую, но полезную, а главное чистую и оттестированную штуковину, причём тема - по собственному выбору. Потраченное время - оплачиваемое, разумеется. Это уже зависит от руководства фирмы, согласится ли оно на такие развлечения.


    Мне думается, что чистота и красота кода должны быть пунктами культуры в команде разработчиков, ценностями, если угодно. Нужно не только ругать за ошибки, но и не забывать похвалить товарища за красивое решение, за хороший код, за внимательность.

    Ну и важно, чтобы у самих разработчиков была установка на хороший код, профессиональная гордость. У фрилансеров её, бывает, нет, а есть отношение "тяп-ляп, лишь бы работало и лишь бы часы оплатили, а там хоть потоп". Учитывая, что их заказчики занимаются code review нечасто, развитие такого отношения закономерно. Но всё-таки хочется писать красивые программы. Такое желание обязано быть.

    Я, конечно, сам не волшебник, я только учусь, и работа с командой - такая штука, которой надо постоянно учиться. Видимо, вы тоже учитесь; успехов в этом.
    Ответ написан
    2 комментария
  • С помощью чего можно создать свою интерактивную карту?

    Использовали leaflet.js для подобных задач. Описанный функционал там уже есть, API очень прост и понятен, хорошо документирован. Зачем придумывать велосипеды, когда грамотные люди уже сделали решение? Единственное, что вам понадобится сделать:

    - Написать функцию или REST API, которое возвращает данные для pop-up
    - Написать функцию, которая выдаёт HTML для этого pop-up.
    Ответ написан
  • Горизонтальный плиточный слайдер, есть такое?

    Это известно как эффект pinterest.

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

    Попробуйте так.

    $(document).on('click', '.form', function(event) {
        console.log(event);
    });
    Ответ написан
    Комментировать
  • Как реализовать универсальный онлайн-конструктор?

    Предложил бы использовать SVG.

    - Рисуем в векторном редакторе модель машины, ручки, имперского истребителя.
    - Даём её элементам имена: id="door", например.
    - Готовим цвета и фоны.
    - Подставляем нужные цвета, фоны, классы CSS с помощью JavaScript.

    Конечно, возможности ограничены, но можно ведь много всякого придумать. Например, можно сделать анимацию, можно заставить части рисунка двигаться. Ещё можно скрывать и показывать разные части рисунка в зависимости от настроек, или менять их форму на лету.

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

    Путь можно задать с помощью SVG и анимировать, например, библиотекой: dropthebit.com/592/pathanimator-moving-along-an-sv...

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

    Не уверен, хорошо ли это, ну вот такое решение: jsfiddle.net/5varj2Ly - см. в консоль.

    В основе идея из stackoverflow.com/questions/7273668/split-a-long-a...
    Ответ написан
    1 комментарий
  • Технологий много - как найти время на все? Стоит ли дергаться, изучая параллельно несколько?

    Сколь-нибудь хорошо изучив один императивный язык общего назначения, не так уж сложно переключиться на другой; в конечном счёте, все они полны по Тьюрингу, а всё прочее - скобочки или индентация, def или function, прототипное наследование или традиционное классовое, наборы системных API, и так далее - не так уж и большая разница. Требует лишь привыкания и практики.

    Это IMHO, конечно. Но для себя пришёл к выводу, что необходимо изучать не только те или иные технологии, какие используешь в повседневной деятельности, но и нечто более глубокое - чтобы уметь правильно писать программы на любой технологии. Пытаюсь поэтому заниматься по книжке Elements of Programming Александра Степанова, хоть и с переменным успехом. Ну и более общие дисциплины - кибернетика и теория систем. Это, конечно, не философский камень. Но рискну утверждать, что польза от них всё же есть. Помогают более эффективно и системно думать, взвешенно принимать проектные решения и, как мне кажется, программировать лучше.
    Ответ написан
    Комментировать
  • Зачем нужен CoffeeScript?

    Естественный ход эволюции. CoffeeScript транслируется в JavaScript, JavaScript транслируется в байт-код виртуальной машины (или во что там?), байт-код интерпретируется в машинные коды, а машинные коды исполняет процессор. А всё в угоду скорости написания программы.
    Ответ написан
    Комментировать