• Оптимизация css?

    XXXXPro
    @XXXXPro
    Fullstack Web developer
    Я обычно жму до первого варианта: с одной стороны, экономия получается довольно существенная, с другой — код остается относительно читаемым и с ним можно работать напрямую, без постоянного пересжатия из исходной версии.
    Ответ написан
    Комментировать
  • Какую программу или сервис выбрать для расшифровки интервью?

    XXXXPro
    @XXXXPro
    Fullstack Web developer
    Можно попробовать Яндекс.Speechkit Cloud. Но там (по крайней мере, в бесплатной версии) лимит на размер загружаемого сообщения, так что придется резать по минутам. Плюс еще требуется, чтобы запись была качественной, без посторонних шумов.
    Ответ написан
    Комментировать
  • Как отловить grep без ожидания конца выполнения команды?

    XXXXPro
    @XXXXPro
    Fullstack Web developer
    Опция --max-count=1 вам в помощь (или даже просто -m).
    Ответ написан
    Комментировать
  • Как получить директорию из которой вызывалась программа?

    XXXXPro
    @XXXXPro
    Fullstack Web developer
    Функция os.getcwd() вам в помощь. Естественно, получить такой путь можно только до первого вызова os.chdir (если они у вас есть). Еще вариант — просто прописывать пути к файлам относительно текущего каталога в виде './file.txt'.
    Ответ написан
    Комментировать
  • Удаление конкретного элемента на jQuery?

    XXXXPro
    @XXXXPro
    Fullstack Web developer
    Нужно прописывать для каждого tr свой id и удалять по нему.
    Т.е. что-то вроде
    $('table').append('x');
    И потом удалять по селектору #del_номер.
    Другой вариант — сразу при создании tr вешать на него событие click и удалять по нему:
    $('.add_to_this').append(function() {
      return $(''<tr class="del"><td><input type="text" name="name'+i+'" placeholder="название"/></td><td><input type="text" name="simbol'+i+'" placeholder="значение"/></td><td><button>x</button></td></tr>'').click(
      function() {
        $(this).remove();
      });
    });
    Ответ написан
  • Доступ к ubuntu server по локальной сети через SSH?

    XXXXPro
    @XXXXPro
    Fullstack Web developer
    А пинг к нему проходит? И сам SSH-сервер настроен и запускается корректно? Получается ли к нему подключиться с него самого а) если коннектиться на localhost, б) если коннектиться по IP-адресу?
    Еще совершенно правильно написали в комментариях: нужно либо маску поменять, либо подсеть на одном из роутеров (второе проще, скажем, настроить на роутере DLink подсеть 192.168.1.0)
    Ответ написан
    Комментировать
  • Как загнать в переменную содержимое файла?

    XXXXPro
    @XXXXPro
    Fullstack Web developer
    Без кода функции getmyvariable сложно сказать что-то определенное. Но могу предложить сделать console.log(myvariable) перед myvariable.send, а также внутри функции-обработчика onreadystatechange (еще до проверки первого условия), тогда будет проще понять, где проблема.
    Ответ написан
    Комментировать
  • Как получить url картинки в preg_match_all?

    XXXXPro
    @XXXXPro
    Fullstack Web developer
    Проблема в том, что и первое и второе выражение сохраняют список в одну и ту же переменную $matches, из-за этого картинки и теряются. Сделайте разные переменные ($matches_h2 и $matches_img, например), тогда все станет нормально.
    Ответ написан
    2 комментария
  • Как заменить SMTP-сервер?

    XXXXPro
    @XXXXPro
    Fullstack Web developer
    Поставить что-нибудь типа msmtp или nullmailer и прописать необходимые данные в их файл настроек. Эти утилиты заменят собой стандартный sendmail, через который отправляются письма из PHP.
    Ответ написан
    Комментировать
  • Как сохранить файл из инпута на сервер?

    XXXXPro
    @XXXXPro
    Fullstack Web developer
    Через AJAX такое не получится. Придется делать однопиксельный iframe и ставить его в качестве target для формы.
    Или воспользоваться готовым plugin, например, jQuery File Uploader.
    Ответ написан
    Комментировать
  • Архитектура системы личных сообщений?

    XXXXPro
    @XXXXPro
    Fullstack Web developer
    Ключевой вопрос: коллективные чаты в такой системе возможны?
    Если да, то тогда нужны следующие таблицы:
    thread (сессия/тема)
    thread_user (список пользователей, статус каждого, число сообщений, в том числе и непрочитанных, дата, когда пользователь читал сообщения в этой сессии в последний раз и т.п.)
    thread_post — собственно сами сообщения (чтобы оно хранилось в одном экземпляре, а не по одному на каждого пользователя)
    thread_links — связка сообщений из thread_post и пользователей (чтобы можно было удалять сообщения, не затрагивая других пользователей).
    В остальном — согласен с nirvimel, нужно использовать SQL-решение и писать на том, что хорошо известно.
    Ответ написан
    1 комментарий
  • Как хранить структуру серии писем в БД и инициировать их отправку?

    XXXXPro
    @XXXXPro
    Fullstack Web developer
    Использовать crontab, по которому регулярно (скажем, раз в час или даже раз в минуту) запускается скрипт и делает из базы выборку писем, которые необходимо отправить. Соответственно, в базе для писем нужно предусмотреть столбцы с датой отложенной отправки и статусом (ожидает отправки, отправлено, прочитано и т.п.).
    Взаимосвязи писем между собой можно сделать либо отдельной таблицей (если цепочка может быть более чем из трех писем), либо опять же, предусмотреть столбцы для id взиамосвязанных писем (если писем в цепочке всегда одинаковое количество).
    Ответ написан
  • Как быстро залить на ftp?

    XXXXPro
    @XXXXPro
    Fullstack Web developer
    Использовать SFTP (передачу файлов по SSH).
    Или же грузить архив по FTP, затем подключаться к серверу по SSH и распаковывать его там. Кстати, у многих хостеров в панели управления бывает интерфейс для загрузки архивов.
    А ускорить — практически никак. Дело в том, что в FTP для каждого передаваемого файла создается отдельное соединение, поэтому если много мелких файлов, очень много времени тратится именно на установку соединений, и никакая смена программы-клиента на это не повлияет (а вот в SFTP все идет по одному соединению). Единственное что можно сделать — это отключить шифрование TLS, пожертвовав при этом безопасностью. (Но такое ни в коем случае нельзя делать при подключении к серверу из публичных мест, например, WiFi в метро или автобусе.)
    Ответ написан
  • Как узнать источник трафика?

    XXXXPro
    @XXXXPro
    Fullstack Web developer
    Вообще-то даже с HTTPS получить HTTP_REFERER вполне можно (если речь идет не о перехвате чужого траффика, а о своем собственном сайте). Другой вопрос, что Яндекс некоторое время назад стал шифровать текст запросов и делать его доступным только через Метрику (но последнее с https не связано). Но сам факт того, что пользователь пришел из Яндекса, это опредлить не помешает.
    Ответ написан
    Комментировать
  • Почему все-таки PHP на моем VPS выполняется гораздо медленнее (результаты 2 тестов)?

    XXXXPro
    @XXXXPro
    Fullstack Web developer
    Batlab совершенно верно ответил выше, что на VDS ресурсы процессора распределяются через виртуализацию, и они ограничены тарифным планом, но зато гарантированы каждому клиенту.
    На хостинге распределение идет иначе — все ресурсы сервера могут использоваться всеми клиентами. Поэтому если тестировать хостинг в тот момент, когда он слабо загружен (скажем, ночью с субботы на воскресенье), то результаты на нем будут лучше. Но в те моменты, когда на хостинге растет нагрузка от других клиентов, эффект будет обратный: сайт будет работать медленнее, чем на VDS (хотя еще многое зависит от самого хостера).
    Еще для корректного сравнения нужно брать и там и там одну и ту же версию PHP (на такие синтетические тесты, как у вас, она влияет очень сильно). А на тест с файлом будет сильно влиять дисковый кеш.
    Ответ написан
    2 комментария
  • USB to HDMI для Linux?

    XXXXPro
    @XXXXPro
    Fullstack Web developer
    Будет ли он работать под Linux — зависит от наличия соответствующих драйверов. Вот тут утверждается, что вроде бы под Ubuntu 14 такие устройства работают.
    Ответ написан
  • Как учить assembler под linux?

    XXXXPro
    @XXXXPro
    Fullstack Web developer
    То, какой синтаксис использовать, зависит от компилятора. Смотрите fasm, yasm и т.п., какой-то из них точно поддерживает Intel-синтаксис.
    Но в целом писать под современные OS на asm не особо интересно, так как почти все сводится к «затолкать параметры в стек или регистры и сделать системный вызов», работать напрямую с оборудованием возможности особо нет. И единственный плюс — это можно получать исполняемые файлы меньших размеров.
    Так что asm сейчас имеет смысл учить только либо для того, чтобы лучше понимать, как работает процессор (но и то можно особо не углубляться), либо если собираетесь заниматься reverse engineering чужих программ, либо хотите попробовать себя в написании собственной OS (и то особого смысла в этом нет, лучше уж примкнуть к команде той же Kolibri OS).
    Ответ написан
    Комментировать
  • Верстка геометрических форм?

    XXXXPro
    @XXXXPro
    Fullstack Web developer
    А что мешает вставить в div с position: absolute, у которого height и width заданы в процентах и отрицательным left?
    Ответ написан
  • Как сделать так, чтобы загружался архив?

    XXXXPro
    @XXXXPro
    Fullstack Web developer
    Вопрос: а размер архива какой? Первое что приходит в голову — он превышает размеры, указанные в директивах PHP max_upload_size и max_post_size.
    Дальше, вместо sizeof($_FILES) лучше использовать !empty($_FILES['archive'])
    А также сделать в конце print_r($_FILES), и посмотреть ее вывод, чтобы понять, в чем вообще проблема.
    P.S. Полагаться на переданный пользователем type — не самая лучшая идея с точки зрения безопасности. (Впрочем, в данном конкретном случае это не критично.)
    Ответ написан
    2 комментария
  • Не могу написать скрипт, обрабатывающий нажатие Enter и нажатие button в форме.?

    XXXXPro
    @XXXXPro
    Fullstack Web developer
    Есть два варианта: либо ловить событие keyup, и проверять, что код нажатой клавиши равен 13 (он хранится в event.which) , и по нему реагировать.
    Либо сделать, как порекомендовал Михаил Захаров, но на input менять ничего не надо, можно для тега button прописать type="submit" вместо type="button", и она будет вызывать отправку формы.
    Второй вариант в целом проще в реализации, и более красив и логичен.
    Ответ написан
    Комментировать