• Карта мира с детализацией до города и привязкой своих меток?

    @ber_enot
    Веб-разработчик, Vue.js / Node.js
    Посмотрите на библиотеки:
    Leaflet
    OpenLayers

    Источник карт можно задать самому (Яндекс.Карты, Google Maps, OSM и любые другие).
    На карту можно добавлять метки, полигоны, попапы и вообще всё, что душе угодно.

    PS. Работал с обеими библиотеками, по своему опыту рекомендую Leaflet - меньше кода и в целом понятнее.
    Ответ написан
    1 комментарий
  • Как добавить/удалить класс блоку при клике за его пределами?

    inkShio
    @inkShio
    Как тебе и сказали ответ и в вопросе и в комментариях кода.

    div.hide(); // скрываем его - УДАЛИТЬ
    добавить вместо этого
    div.removeClass('DEL_BADCLASS').addClass('ADD_SUPERCLASS');
    Ответ написан
    Комментировать
  • Не работает смена папки при удаленном доступе через python3. Почему?

    оооо, это классная поделка, а потом следующим постом будет "как удалить вирусы с сервера" :)
    попробуйте использовать нечто более интересное, думаю понравится
    Ответ написан
    Комментировать
  • Как организовать хранение лайков и решить вопрос с производительностью в реляционной БД (mysql)?

    Не хранить каждый лайк индивидуально, а держать два поля счётчиков лайков и дислайков в таблице connections. По поступлению лайка инкрементировать поле.

    Можно и так, как вы изначально описали. Всё равно скоро придёте к регистрации пользователей, и лайки станут связывать пользователя и лайкнутую связь – придётся их хранить индивидуально.

    Проблемы производительности решайте по мере их поступления или чуть заранее, но не так заранее, как сейчас )

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

    sim3x
    @sim3x
    about:config
    browser.urlbar.clickSelectsAll
    set to true
    Ответ написан
    Комментировать
  • Все ли веб разработчики являются инженерами? Кого стоит причислять к таковым?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Почитал что инженер это тот кто имеет высшее образование, но я знаю людей которые уже синьеры и у них (в более чем 30 лет) нет ВО, так что мне кажется что такое определение притянуто за уши.


    Когда возникло слово "инженер", еще не существовало высшего образования.

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

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

    0xD34F
    @0xD34F Куратор тега JavaScript
    Данные - вместо объекта сделайте массив, так будет проще работать.

    Когда данные получили - сохраните их (ну типа переменная какая-то, чтобы они у вас всегда были под рукой).

    Сделайте функцию, которая будет выводить список товаров - но не весь, а те, что ей будут переданы.

    Сделайте функцию, которая будет осуществлять фильтрацию - получает значения из фильтров, отбирает соответствующие элементы из массива, результат передаёт в функцию вывода товаров.

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

    Всё.
    Ответ написан
    8 комментариев
  • Как реализовать нестрогий поиск на php?

    deepblack
    @deepblack
    $search_text = 'лист';
    
    array_filter($array, function($el) use ($search_text) {
            return ( strpos($el['text'], $search_text) !== false );
        });


    https://github.com/loilo/Fuse
    spoiler
    <?php
    require_once 'vendor/autoload.php';
    
    $fuse = new \Fuse\Fuse([
      [
        "title" => "Old Man's War",
        "author" => "John Scalzi"
      ],
      [
        "title" => "The Lock Artist",
        "author" => "Steve Hamilton"
      ],
      [
        "title" => "HTML5",
        "author" => "Remy Sharp"
      ],
      [
        "title" => "Right Ho Jeeves",
        "author" => "P.D Woodhouse"
      ],
    ], [
      "keys" => [ "title", "author" ],
    ]);
    
    $fuse->search('hamil');
    
    /*
    Array
    (
      [0] => Array
        (
          [title] => The Lock Artist
          [author] => Steve Hamilton
        )
      [1] => Array
        (
          [title] => HTML5
          [author] => Remy Sharp
        )
    )
    */
    Ответ написан
    Комментировать
  • Как бороться с кашей в голове на работе?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Причесаться :)

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

    Беритесь за меньщее количество проектов.
    Ведите трекер, записывайте.
    Доводите задачу до логического завершения.

    Десять проектов, в каждом их которых сделано по два коммиту - это хуже, чем два, в каждом из которых по десять коммитов :)
    Ответ написан
    7 комментариев
  • Могли бы вы поделиться хорошим техническим заданием на разработку сайта/веб-приложения?

    Хорошее техническое задание -- очень обтекаемый термин. "Хорошим" можно было бы назвать техническое задание, отвечающее некоторым требованиям. А вот уже эти требования в зависимости от масштаба разрабатываемого продукта, методологии разработки, заказчика/исполнителя и других факторов могут сильно отличаться.

    Так, например, если вы работаете с государственным или окологогосударственным заказчиком/исполнителем, весьма вероятно, вам придётся подготовить ТЗ в соответствии с требованиями ГОСТ-19 и 34 (в особенности ГОСТ 34.602-89 и ГОСТ 19.201-78), которые предполагают создание очень формальных и подробных документов.

    Если же вы работаете не по водопаду или подобным методологиям, а используете подходы Agile, весьма вероятно, что детальное и проработанное от общих вещей до самых мелочей ТЗ вам не подойдёт, так как оно не будет обеспечивать требуемую гибкость подхода.

    Для какой-нибудь дизайнерской разработки (стиль, лого, графика), когда велика изначальная неопределённость, что же требуется сделать, лучшим вариантом может являться вообще достаточно общий бриф.

    Резюмируя: определитесь с требованиями к ТЗ, а, отталкиваясь от них, уже можно искать какие-то варианты.
    Ответ написан
    Комментировать
  • Действие на странице при запросе сервера?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Возможно через websocket'ы. Для использования websocket'ов в Django необходимо Django Channels.
    Ответ написан
    Комментировать
  • Скрыть\показать блок по клику js?

    y0u
    @y0u Куратор тега JavaScript
    dev
    1 способ
    в JS:
    document.getElementById('hider').onclick = function() {
      document.getElementById('config-btn').classList.toggle('hidden');
    }

    в CSS:
    .hidden {
      display: none;
    }


    2 способ
    document.getElementById('hider').onclick = function() {
    	var el = document.getElementById('config-btn');
      el.style.display === 'none' ? el.style.display = 'initial' : el.style.display = 'none';
    }
    Ответ написан
    1 комментарий
  • Как подключить патч-панель?

    deepblack
    @deepblack
    У вас на фото подписаны номера контактов,
    подключите кабель одной стороной в патч-панель, на другой обожмите коннектор (естественно согласно нумерации).
    Там ничего сложного нет.

    Обычно жмут по B (T568B)
    Ответ написан
    Комментировать
  • Почему такая ошибка в коде?

    php666
    @php666
    PHP-макака
    Лол, все перечисленное, это основы языка, капля в море.
    Ответ написан
    Комментировать
  • Почему python не отдает 31 января?

    @OlegPyatakov
    pyatakov.com
    Вот эта конструкция в коде
    range(int((end_date - start_date).days))
    превращается в вашем случае в
    range(30)
    и выдает тридцать чисел:
    0, 1, 2, 3 ...., 28, 29

    Если по-человечески, то 31.01.2019 минус 01.01.2019 будет тридцать суток разницы.
    Ответ написан
    1 комментарий
  • Как сделать такую анимацию?

    hzzzzl
    @hzzzzl
    еать залипалово какое :D
    вот скрипт
    colbacolorbar.ru/themes/colba/assets/js/fluidWave.js

    вообще не понимаю что там происходит, вроде яваскрипт, но какой то непростой webGL фреймворк наверно

    UPD вот нашел на гитхабе это, хз может быть это оригинал кода
    https://gist.github.com/peretc001/1444c3df210cc66c...
    Ответ написан
    2 комментария
  • Как подключится к "интернету" без провайдера?

    deepblack
    @deepblack
    тогда никаких провайдеров не было, через модем мы подключались и обменивались сообщениями,

    Вы использовали телефонного оператора связи как провайдера.
    Берёте аналоговую телефонную линию, пару модемов, и организуете как это было раньше.

    Как подключится к интернету без провайдера?

    К интернету вы не подключитесь без провайдера. Это либо не интернет, либо вы сами провайдер (один из) со всеми вытекающими.

    Если хотите "без провайдера" тяните свою линию связи к нему (это будет называться Интранет).
    Вариантов масса:
    • VPN ( если ваш собеседник на другом континенте и вы хотите защитить переписку с ним) естественно поверх существующей инфраструктуры
    • Витая пара (ограничение на длину ~ 100 м)
    • Радио-мост (радиорелейный пролёт либо Wi-Fi с направленными антеннами)
    • Оптоволокно
    • Лазерный модем

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

    deepblack
    @deepblack
    https://github.com/walkor/Workerman

    An asynchronous event driven PHP framework for easily building fast, scalable network applications. Supports HTTP, Websocket, SSL and other custom protocols. Supports libevent, HHVM, ReactPHP.


    spoiler

    <?php
    use Workerman\Worker;
    require_once './Workerman/Autoloader.php';
    
    // Create A Worker and Listens 2346 port, use Websocket protocol
    $ws_worker = new Worker("websocket://0.0.0.0:2346");
    
    // 4 processes
    $ws_worker->count = 4;
    
    // Emitted when new connection come
    $ws_worker->onConnect = function($connection)
    {
        // Emitted when websocket handshake done
        $connection->onWebSocketConnect = function($connection)
        {
            echo "New connection\n";
        };
    };
    
    // Emitted when data is received
    $ws_worker->onMessage = function($connection, $data)
    {
        // Send hello $data
        $connection->send('hello ' . $data);
    };
    
    // Emitted when connection closed
    $ws_worker->onClose = function($connection)
    {
        echo "Connection closed";
    };
    
    // Run worker
    Worker::runAll();



    На клиенте используйте Websocket
    Ответ написан
    Комментировать