• Добрые люди, как правильно подходить к алгоритмам, назовите ключевые слова?

    ManWithBear
    @ManWithBear
    Swift Adept, Prague
    У Кормана в книге есть весь необходимый математический минимум необходимый для понимая. Если в нём что-то не понятно, то углубляйтесь в конкретную темную для вас область (к примеру для начала подойдет чтение той же википедии, а оттуда уже на более конкретные книги).
    А вообще советую зайти на сайт какого либо университета и самостоятельно изучить все темы из курса дискретной математики. Она довольно не плохо вправляет мозги в нужную сторону.
    Ответ написан
    1 комментарий
  • Сравнение списков, как лучше организовать?

    @angry_bender
    PHP, JS
    1. Добавляете в таблицу еще одно поле hash (varchar(40)), пишете цикл, который туда положит md5 от ваших строк.
    2. На данное поле накладывается индекс.
    3. Пишете запрос select * from `mytable` order by `hash` ASC;
    4. В цикле по всем записям по сл. алгоритму:
    4.а. если флаг пустой, то флаг = hash текущей строки, аккумулятор = строковому полю строки (под строкой понимается очередная запись из БД)
    4.б. если флаг не пустой, то если флаг равен hash текущей строки, и аккумулятор = текущему полю строки, - удаляем данную запись
    4.в если флаг не пустой и флаг не равен hash текущей строки: флаг = hash текущей строки, аккумулятор = строковому полю строки

    Еще пришел в голову вариант: select count(id) as count, hash from `mytable` group by `hash`
    и там обработать те хеши, у которых count > 1
    Ответ написан
    Комментировать
  • Как сохранить данные в текстовых полях после перезагрузки страницы на JS?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    if (text && text.length > 0 && !$(this).val()) {///<--убрать && !$(this).val()
    			$(this).val(text); // set field data
    		}
    Ответ написан
    1 комментарий
  • Сравнение списков, как лучше организовать?

    azrail_dev
    @azrail_dev
    Я бы залил список в базу, сравнил бы средствами SQL, выдал бы результат. Выдать 20 миллионов записей в php, сравнить - не лучший вариант, имхо. А дальше гугли.
    Ответ написан
    3 комментария
  • Сравнение списков, как лучше организовать?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    циклы, запросы и все такое... Вы бы описали как сравниваете.
    Ответ написан
    4 комментария
  • Как создать кроссплатформенный чат внутри приложения?

    kirillplatonov
    @kirillplatonov
    Ruby on Rails developer
    www.rabbitmq.com или zeromq.org
    Если нет причин брать Zeromq, то берите первый. Работать с ним будет проще.

    Удобно будет реализовать универсальный пушер, который сможет слушать сообщения по tcp + http, и рассылать их подписчикам тоже по tcp + http. Так сможете обеспечить поддержку пушей на любых устройствах и в браузерах.
    Ответ написан
    Комментировать
  • Что такое офферы?

    такие "посетители" только во вред
    Ответ написан
    Комментировать
  • Как заставить SSD диск работает по SATA 3?

    opium
    @opium
    Просто люблю качественно работать
    Обычно на матери есть сата2 и сата3 порты, логично переткнуть из сата2 порта в сата3.
    Ответ написан
    1 комментарий
  • Как заставить SSD диск работает по SATA 3?

    zmeyjr
    @zmeyjr
    Дисклеймер в профиле.
    Как вариант: Попробывать поставить драйвер чипсета с сайта производителя.
    Ответ написан
    3 комментария
  • Почему vlc-клиент не определяет продолжительность видео при получении потока от vlc-сервера?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    @HellFir-e правильно говорит, а вам нужно не живое вещание, а скорее Video on demand. Вот здесь почитайте. Но вообще для этого лучше подходит какой-нибудь http-сервер (nginx)
    Ответ написан
    Комментировать
  • Постоянно возникают непредвиденные баги и слёты функционала, как бороться?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1. Возможно у Вас какая то кривая общая архитектура.
    Почитайте про SOLID.

    2. В целом - если Вы вносите изменения в какую то функцию - простейший поиск по файлам в текстовом редакторе говорит Вам где эта функция используется.

    3. Сложная бизнес-логика отличная от "получили запрос, сходили в базу, отдали данные в красивой обертке" должна быть обязательно документирована в wiki + в коде.

    Вопрос "параметр должен учитываться в многих местах, мы не помним где" - это вопрос грамотно написанного ТЗ кстати. Предполагается что ТЗ пишет человек, который имеет общее понимание проекта.

    4. Именно юнит тесты на мой взгляд нужны в 1% случаев. Использование моков не дает реальной пользы на живом проекте, поскольку причина краша может быть где угодно.

    5. Мы используем codeception.com Acceptance testing в сочетании с определенным дампом базы который загружается перед тестами.
    На дамп базы накатываются все миграции (используем phinx.org ) и далее проверяется все, вплоть до вывода конкретных значений контента.
    Честно предупреждаю, что время на разработку тестов превышает время на внедрение функционала примерно в 1.5-2 раза.
    Ответ написан
    Комментировать
  • Интернет магазин без корзины - за и против?

    sim3x
    @sim3x
    не рассматривай задачу в разрезе "А как делают все?"

    У тебя есть три юзкейса - реализуй их, если есть доля клиентов с существенным доходом, то сделай и им интерфейс.

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

    font
    @font
    В поисках самого лучшего
    topvisor.ru
    Сайт платный, но, как мне показалось, удобный. Проверка позиций зависит от введенных в таблицу ключевых слов.
    Для начала дается 10 рублей. Этого хватает на несколько проверок
    Ответ написан
    2 комментария
  • Когда и как необходимо проверять данные на php?

    Dimitriys
    @Dimitriys
    вам уже писали как проверить существование переменной через isset($_POST['test']) и если переменной не существует, подставить значение по-умолчанию.
    По второму вопросу, не надо изобретать велосипед и вручную заменять и экранировать все символы. Поверьте, встроенные функции экранирования предусмотрели куда больше вариантов, чем замените вы через str_replace.
    Ответ написан
    2 комментария
  • Когда и как необходимо проверять данные на php?

    @cloud-habr
    конечно сначала проверяйте пришли ли данные вообще!
    if (isset($_POST['test'])) {
          // проверка данных по шаблону
         //фильтрация данных
         // составления запроса
         // и т. д. 
    }
    Ответ написан
    Комментировать
  • Как при загрузке html страницы находиться в самом низу?

    viktorvsk
    @viktorvsk
    К элементу #target
    window.onload = function(){ 
    var offsetY = document.getElementById('target').offsetTop;
    window.scrollTo(0, offsetY);
    }


    Если просто вниз, то:
    window.onload = function(){ 
    
    window.scrollTo(0, 999999999999999);
    }


    но Вам определенно нужно jQuery
    Ответ написан
    1 комментарий
  • Что нужно изучить, чтоб написать виджет чат с нуля?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Пройдемся по пунктам:
    1) WebSockets
    2) Все что касается авторизации не относится конкретно к задаче чатика. Можно конечно замарачиваться, и выносить функционал авторизации в отдельный демон или поток и общаться через Pub/Sub (например ZeroMQ). По сути главное что бы во время верификации пользователя мы могли обрабатывать другие соединения
    3) Если вы хотите p2p доставку сообщений с WebRTC, то сервер вам нужен будет только для авторизации и аунтефикации клиентов, ну и что бы клиенты могли найти собеседников. В этом плане серверная часть упрощается и снижаются требования по нагрузкам, но усложняется клиентская часть.
    4) К сожалению вы не можете отправлять бродкастом сообщения, так как используется TCP. Можно конечно организовать что-то типа очереди, но я не вижу причин для выйгрыша в производительности. Тут больше вопрос архитектуры и каким образом вы синхронизируете списки пользователей.
    5) Ну... тут не вижу проблемы. Если вы хотите иметь один сервер для всех виджетов, то просто добавить поддержку CORS и токены для запросов (в заголовках) что бы разграничивать по доменам.
    6) А что именно вам надо хранить в базе? Сообщения у вас на сервере, как вы сказали, не хранятся... Пользователи - любой вариант, тот же MySQL (а лучше PostgreSQL, для которого есть возможность использовать асинхронные запросы в базу, что бы было интереснее). Текущих пользователей и прочее можно хранить в Reddis и т.д. Главное что бы хранилище было быстрым.

    Вообще задумка интересная, вариантов реализации масса. Это можно спокойно и на PHP написать, есть ReactPHP + Ratchet для организации сети пользователей, а для доставки сообщений вы и так хотите использовать WebRTC. Просто на сервере в супервизор надо поставить парочку демонов (по одному на ядро) и сверху поставить nginx, который будет балансировщиком и проксей. Учитывая что вы нехило можете за счет WebRTC и каких-нибудь архитектурных трюков уменьшить итоговую нагрузку на сервер, проблем с производительностью быть не должно. Так же для ReactPHP было бы неплохо поставить libev/libeven, словом там по документации можно пройтись и почитать что да как.

    Update:
    отстал я от жизни, как раз таки UDP можно использовать в браузерах (во всяком случае в последних билдах хрома), в частности для передачи информации между браузерами (а не аудио и видио) можно использовать datachannels. Так что тут все упирается в то, как доставлять сообщения между клиентами. Остальное уже зависит от того, как вы все же решите все делать.
    Ответ написан
    2 комментария
  • Что нужно изучить, чтоб написать виджет чат с нуля?

    @Calc
    Посмотрите в сторону WebSockets
    Ответ написан
    Комментировать
  • Что нужно изучить, чтоб написать виджет чат с нуля?

    Если модно, то с помощью nodeJS. Решение шустрое, пых отдыхает, к то му же чат без тормозов, как говорится, в прямом эфире. Устойчив к нагрузкам.
    Ответ написан
    Комментировать
  • Как выводить баннер раз в сутки?

    Задача не совсем ясна, но так как решать за вас ее все равно никто не будет, полная ее ясность и не требуется.

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