• Как ускорить php скрипт?

    @neol
    $handle = fopen($dir . $minus, 'r');
    while (($res = fgets($handle)) != FALSE) {
        if ($res != 0) {
            $array_minus[trim($res)] = true; // <- this
        } else {
            break;
        }
    }
    fclose($handle);
    // сравнение
    foreach ($array_source as $value) {
        if (!isset($array_minus[$value])) { // <- this
            $array_result[] = $value;
        }
    }
    
    file_put_contents("result.txt", implode(PHP_EOL, $array_result));

    Две важные строки помечены комментариями.
    На двух файлах по 150к строк у меня отработало за 0.333s

    PS array_diff, предложенный Денис Акимкин, значительно лучше по читабельности при сравнимой производительности, так что лучше использовать его.
    Ответ написан
    3 комментария
  • Почему разные индексы в массиве PHP?

    27cm
    @27cm
    TODO: Написать статус
    Проблема в том, что для первого и второго куска кода (добавление элементов массива) php создает разные элементы массива!

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

    А пока вот, что заметил:
    function number_to_norm($number) {
        $number_new = str_replace(array(" ", "-", "+", "‑", " "), "", $number);
        $number = trim($number_new); // Это лишнее, вы уже дважды удалили пробелы выше
        $number = strval($number);   // $number и так уже строка
        return $number;
    }


    Как минимум, можно переписать так:
    function number_to_norm($number) {
        return str_replace(array(" ", "-", "+", "‑"), "", $number);
    }


    Если вам нужно получить только цифры из строки, то надёжнее будет удалить все нецифровые символы:
    function number_to_norm ($number) {
        return preg_replace('/\D/', '', $number);
    }
    Ответ написан
    2 комментария
  • Как сделать ссылку на facebook/vk чтобы она открывалась в приложении?

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

    Shwed_Berlin
    @Shwed_Berlin
    .net Software Developer
    ...
    where (timestamp1-timestamp2) = 1

    не зная MySQL - операция вычитания может отличаться
    Ответ написан
    Комментировать
  • SQL запрос на вычитание?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    WHERE `timestamp2` = `timestamp1`+1
    Ответ написан
    1 комментарий
  • Решается ли задача на Amazon EC2 + Route 53?

    opium
    @opium
    Просто люблю качественно работать
    Стандартная фича Амазонас простая как пять копеек никаких ньюансов
    Ответ написан
    Комментировать
  • Как избежать двойного клика?

    Denormalization
    @Denormalization
    Стандартная защита от двойных действий:
    Использовать флаг о совершении действия.

    <script>
        var clicked = false;
        function goto(){
          if (clicked === false) {
              clicked = true;
              location.href = "domain.com/next";
          }
        }
    </script>
    Ответ написан
    3 комментария
  • Как избежать двойного клика?

    @teslor
    Двойной клик обычно может происходить по следующим причинам:
    1) Задан обработчик на одно и то же событие у самого элемента и у элемента-контейнера, в котором он находится. В этом случае поможет метод event.stopPropagation(), который предотвращает всплытие события.
    2) Дополнительно срабатывает встроенный обработчик браузера (в частности, при клике по ссылке браузер попытается по ней перейти). Чтобы запретить браузеру делать какие-то действия по умолчанию, используйте метод event.preventDefault(). Этот метод часто используется совместно с предыдущим.
    3) Пользователь слишком быстро делает подряд 2 клика. В этом случае нужно вызывать обработчик не ранее чем через определенное время после последнего срабатывания (debounce)
    Ответ написан
    Комментировать
  • Как избежать двойного клика?

    Можно в обработчике события клика на body проверять event.target и совершать переход только если это клик не по ссылке.

    Можно на ссылку повесить обрабочик события клика и запретить событию всплывать
    https://learn.javascript.ru/event-bubbling
    Ответ написан
    1 комментарий
  • Нужна помощь с простой регуляркой для nginx?

    Softer
    @Softer
    GET-параметры не проверяются в location. Только URI.
    GET в $args в общем и в $arg_o1 в частности.
    Ответ написан
    1 комментарий
  • Как определить модель телефона посетителя сайта?

    alexk111
    @alexk111
    Автор Ботодрома (автоматизация Telegram, VK и др.)
    Попробуйте https://github.com/bestiejs/platform.js
    Среди прочего парсит и ту информацию, что Вам нужна:
    platform.product; // 'iPad'
    platform.manufacturer; // 'Apple'
    platform.os; // 'iOS 5.0'
    Ответ написан
    1 комментарий
  • В чём смысл натягивать лендинги на cms?

    @Rebroff
    Frontend developer, MODX developer
    А, если редактору захочется таблицу вставить? А фото в галерею закидывать, менять к ним описания? А, если это картинки планировок квартир с метражом, этажом, ценой и адресом, на основании которого автоматом формируется яндекс-карта для показа в лайтбоксе? А в слайдере картинку поменять? И описание? А цены? А статистические данные для диаграмм? Это самые примитивные примеры. Бывают вещи гораздо посложнее. Вы напишете длинную инструкцию, в каком спане, что править и как правильно прописывать атрибуты для картинок? Тогда уж лучше подарить этому редактору учебник по HTML и пожалеть.
    И да... CMS!=Wordpress

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

    gen1s
    @gen1s
    Вот я отвечал на аналогичный вопрос: Straming torrent video(Mac OS X)
    Ответ написан
    Комментировать
  • Получить количество лайков у страниц сайта?

    @hMartin
    https://vk.com/dev/likes.getList
    Пример:
    https://api.vk.com/method/likes.getList?type=sitepage&owner_id=2018480&page_url=http://lifehacker.ru/2013/11/11/kogda-pora-brosat-pit/&filter=likes
    Ответ написан
    Комментировать
  • Получить количество лайков у страниц сайта?

    Badevlad
    @Badevlad
    Наверное, нужно подходить к решению со стороны VK API.
    Ответ написан
    Комментировать
  • Целесообразно ли переходить на вин-домен и переносимые профили?

    Плюсы: очень удобно бекапить файлы пользователей, единая политика и прочие плюшки домена.
    Минусы: при большом объеме данных и медленном интернет соединении будет очень трудно работать с ноутом. Вас возненавидят.

    Резюме: не нужно разворачивать перемещаемые профили, в АД можно занести, но оставить возможность входа под локальным пользователем.
    Ответ написан
    4 комментария
  • Ответственность приходящего админа

    @fossdev
    Я в 9м году попадал в такую ситуацию. ОБЭП накрыли конторку в которой я за 2 года до этого ставил винды, офис и 1C, само собой нелицензионные. Гендира взяли за яйца и он решил сдать мусорам меня в качестве злобного пирата.
    Звонит мне гендир и говорит что беда-беда, все сломалось, надо винды и 1С ставить, приезжай срочно и возьми с собой диски с софтом, дескать выручай, деньгами не обижу. Я к тому моменту про эту конторку забыл, телефон потерял, и сразу не узнал кто звонит, его эксперессивная речь мне показалась подозрительной и навела на мысль о подставе, ибо гендир по жизни жлоб и пассивный гомосексуалист. Я сказал что уже не работаю, сбросил звонок и добавил его номер в банлист.
    На следующий день заявляются ко мне мусора, говорят иди с нами в отделение. Я спрашиваю по какому вопросу, мне отвечают «не выеживайся с вопросами, сказали иди — значит надо». Я сказал что никуда не пойду, пусть вызывают повесткой, и закрыл дверь у них под носом. Стучали, звонили, грозились дверь выпомать, не открыл. Уходя прилепили на дверь повестку, еще одна пришла на следующий день заказным письмом.
    Еще через день как было сказано в повестке, прихожу к следаку. Мне сразу начали лечить что ты типа нанес нифиговый ущерб, будем тебя закрывать на 9 лет, дескать квартиру продашь чтоб расплатиться, и прочую подобную туфту. Рядом со следаком был представитель 1С (а может и не представитель а просто хрен с горы, я у него документы не спрашивал) который предлагал заплатить 300к и разойтись с миром. Следак напирал что на меня 5 человек дали показания, дал прочитать объяснительную от гендира в которой он все валит на меня, дал прочитать заявление от гендира что я украл выданные им деньги на лицензионный софт и вместо него поставил пиратку (на самом деле денег никаких не было). К заявлению прикладывалась яко-бы моя расписка о получении денег, напечатанная на принтере и подписанная хрен пойми кем, но похоже.
    В ответ на все это я дал показания что о нелицензионке от них впервые слышу, софт никакой не ставил а только починял принтер (потому что знаю что моя подпись была на бланке заказа расходиников на принтер, ее больше неоткуда было перерисовать на расписку). Потом мне насиловали мозг еще 2 часа, грозили тут-же закрыть в СИЗО, грозили отправить в камеру «специально для таких умных» в отделении, грозили замордовать родственников и много чего еще. На всё я отвечал что ничего не знаю, ни о чем не вкурсе, кроме уже сказанного мне нечего добавить и ни с кем договариваться я не буду. В итоге погрозили и отпустили.
    Потом дело канителилось еще полгода, меня за это время 4 раза вызывали на допросы проходившие по такому-же сценарию, потом всё как-то заглохло, дело так и не возбудили.

    З.Ы. с гендиром я потом сполна расчитался, но это уже другая история которую еще рано рассказывать, сроки давности не прошли.
    Ответ написан
    1 комментарий
  • Менеджер паролей php + https?

    CodeByZen
    @CodeByZen
    php, js, my/mssql, sqlite, html, css, it-consult
    Как сказал shsweb, стоит шифровать через js локально. На сервере все хранится в шифрованном виде (собственно оно в таком виде уже туда отправляется).

    Возьмите 1password и экспортируйте хранилище в web документ, потом посмотрите на него, Вам должно понравиться как оформлен интерфейс.

    По своему опыту скажу, что я бы не стал доверять даже себе в этом вопросе. Слишком много узких мест будет в вашем приложении. Лучше доверить это спецам. И как вариант поставить на тот-же айпод тач 1password или другое сходное решение с возможностью синхронизации.
    Ответ написан
    1 комментарий
  • Почему датацентры избегают FreeBSD?

    z0rc
    @z0rc
    FreeBSD получила достаточною известность только в СНГ. В то же время за границей тогда везде насаждался Solaris. Сейчас Solaris загнулся, и все спокойно перебрались на Linux. Часто иностранцы очень удивлены, откуда у нас столько народа, любящих FreeBSD.

    Спрос на FreeBSD низкий, и на текущий момент она не выделяется чем-то уникальным или высокопроизводительным. Всё-таки поприсматривайтесь к Linux.
    Ответ написан
    Комментировать