Задать вопрос
  • Как избавиться от отступа у inline-block?

    Wolfnsex
    @Wolfnsex Куратор тега CSS
    Если не хочешь быть первым - не вставай в очередь!
    Ответ написан
    Комментировать
  • Как обрезать текст сохраняя целостность html кода?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    1 вариант на мой взгляд просто ужасен, так как нам придется вызывать функцию очистки при каждой попытке отобразить статью.

    Зачем? Можно же в базе хранить в базе уже обрезанный текст, в дополнительном поле (если стандартное не устраивает).

    *Не понимаю, чего все так бояться добавить немного "лишних" (дополнительных) данных в БД... у Вас там гигбайты текста хранить нужно, а база работает на процессоре от калькулятора?

    При надобности обрезании подобного текста есть большой риск нарушить целостность html-кода.

    Не совсем понятно, что значит "риск нарушить целостность кода"? Нужно из кода что ли текст вырезать? Для этого есть другие инструменты, работающие с DOM-разметкой, они позволяют изменить HTML-элементы и их содержимое без нарушения целостности, какой-нибудь phpQuery например (а ещё Symfony Dom Crawler, Simple HTML DOM и т.д.), если принципиально хочется извращаться над HTML-кодом...

    P.S. Для HTML-редакторов, не редко случается такое, что либо пользователь навставлял какой-нибудь ерунды в код, либо сам редактор хорошенько в код нагадил... По этому, я бы всё-таки не снимал со счетов технологию "Хранение нормализованных данных вместе с оригинальными" (о которой я писал выше). Вернее будет сказать, "Хранение оригинальных данных рядом с нормализованными", если по какой-то причине они всё-таки нужны...
    Ответ написан
    Комментировать
  • Как реализована сетка?

    Wolfnsex
    @Wolfnsex Куратор тега CSS
    Если не хочешь быть первым - не вставай в очередь!
    Не совсем то же самое, но по теме:
    1. Masonry
    2. Можно взять любую сетку, от Bootstrap'а например или любую другую готовую

    P.S. "Там" это сделано руками, в большей степени, с помощью абсолютного позиционирования в т.ч.
    Ответ написан
  • Как создать виртуальный диск на Linux?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Есть виртуальная машина Ubuntu в VirtualBox.
    вопрос - как создать на ней виртуальный диск? или он уже где-то есть?

    Если Ubuntu'а откуда-то запускается, в установленном виде (не LiveCD), значит, она где-то установлена. А если так, значит, какой-то диск, на котором она стоит, очевидно есть?

    Если Вам нужно целиком операционную систему, вместе с настройками и пр. лабудой скопировать - обычно это делается через специализированное ПО, например dump.

    В зависимости от формата, в котором диск создан - с ним могут работать разные программы. Какой-то из форматов (точно не подскажу, но найти не сложно), поддерживается даже самим Windows'ом, нативно.
    Ответ написан
    6 комментариев
  • Как правильно организовать структуру таблицы MySQL?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    все таки стоит их просто разделить ролями, но хранить в одной таблице?

    Иначе говоря, не денормализовывайте данные (не дробите их).

    В MySQL есть связи между таблицами, стоит ли хранить например, телефоны юзеров в отдельной таблице "phone_numbers" и по id их связывать с главной таблицей юзеров?

    Стоит, если у Вас действительно большой объём данных, сервер не справляется а телефони пр. параметры - запрашиваются относительно редко по сравнинию кол-вом запросов в таблицу пользователей. В этом случае, все редко используемые данные выносят в отдельную таблицу, что бы физически разделить их на диске и уменьшить объём основной таблице. При этом, данные из доп. таблицы получают отдельным запросом (без JOIN'ов). А вообще, когда такое случается (когда данных уже столько, что массив дисковый массив захлёбывается и данные приходятся дробить, индексы перестают работать нормально а внешние ключи сыпятся) - уже пора переходить на Postgresql, а не мучить MySQL, которая тихи и мирно начинает скатываться в "черную дыру непонятных ошибок"...
    Ответ написан
    2 комментария
  • Как узнать внешний ip?

    Wolfnsex
    @Wolfnsex Куратор тега Веб-разработка
    Если не хочешь быть первым - не вставай в очередь!
    1. Обратиться в поддержку провайдера и купить него внешний/"Белый IP", или получить подробности по этой теме.
    2. Вывести ноутбук в DMZ (демилитаризованная зона) и/или настроить на роутере переадресацию всех входящих соединений на 80-ый порт на IP'шник ноутбука. 99% роутеров работают в режиме NAT, благодаря которому, пакеты из вне, самостоятельно не могут (в основном не могут) достигнуть получателя, если он сам не инициировал соединение. По другому это ещё может называться "проброс портов". Инстуркции можно найти в руководстве к роутеру.

    P.S. Порядок действий именно такой.

    P.P.S. Если IP уже белый, но динамический - можно воспользоваться сервисами типа тех, что описываются например здесь.
    Ответ написан
    Комментировать
  • Как переиспользовать значения удаленных user_id?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Можно. Вместо физического удаления записи - отмечайте её флагом "DELETED" (условно). Потом поиск первой свободной записи, примерно так:
    SELECT min(id) FROM my_table WHERE deleted = 1;
    А потом вместо добавления новой записи - обновляете существующую, с найденным ID.

    Как-то так.

    Можно одним запросом найти запись с минимальным ID и обновить её, установив попутно флаг DELETED = 0;
    Ответ написан
    Комментировать
  • Какие файлы composer заливать на сервер?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Есть два варианта:
    1. Заливать на сайт/сервер все файлы, которые генерирует composer - репозиторий занимает больше, за то, все файлы, при клонировании, пуше на сервер и т.д. - сразу на своих местах, и не скачиваются повторно. Этот вариант, обычно НЕ используют, по субъективным причинам.

    2. В игнор добавляют папку /vendor, тогда на сервер соотв. нужно установить composer, и после того, как у вас было какое-то обновление в композере (добавился модуль, обновился, изменился и т.д.) -- на сервере (как вариант - через git-хук) запускаем composer install.

    Какой механизм выбрать Вам - исключительно личное предпочтение. Второй вариант - классический, первый - более "надёжный" и позволяет не устанавливать composer на сервер.

    Стандартный файл .gitignore из корешка фреймворка Laravel, с небольшими добавлениями от меня выглядит так:
    /node_modules
    /public/storage
    /vendor
    /.idea
    Homestead.json
    Homestead.yaml
    .env
    
    # phpstorm project files
    .idea
    # netbeans project files
    nbproject
    Ответ написан
    8 комментариев
  • Можно ли как-то отследить инпуты через ajax?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Мне кажется, Вам будет проще правильно инпуты именовать, например так:
    <input name="tovar[] />
    или
    <input name="tovar[0] />
    <input name="tovar[1] />
    <input name="tovar[2] />


    Тогда не придётся заниматься такими изысками...

    P.S. В принципе первый вариант - нормально работает, проставлять им номера руками - совершенно не обязательно.
    Ответ написан
    Комментировать
  • В каких файлах можно посмотреть ключ активации Windows?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
  • Как ввести число в input при клике на div?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Ответ написан
    Комментировать
  • Как Вы обрабатываете картинки перед загрузкой на сайт?

    Wolfnsex
    @Wolfnsex Куратор тега Веб-разработка
    Если не хочешь быть первым - не вставай в очередь!
    Довольно просто это сделать. Точных рекомендаций давать не будут, т.к. далеко не факт, что мои личные предпочтения подойдут конкретно Вам, но по запросу "программа для пакетной обработки изображений" - Вы найдете достаточно много разных интересных штук... В том числе, наверное, 2/3 из этого списка программ, будут иметь профили "оптимизировать для веба" или набор поочередно накладываемых на картинку фильтров/обработчиков.

    Лично я пользуюсь самописным скриптом, который прямо на сервере обрабатывает изображения с помощью JPEGtrim, PNGOptim и так далее, не только для изменения размеров картинок, но и для вычистки с них всякого дерьма, типа EXIF и пр., которое для сайта конкретно - явно не нужно (у нас не фотобанк).

    Например тут, их целая дюжина. Выбирайте!
    Ответ написан
    Комментировать
  • Почему (-1) это true?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Ну... это долгая история, но во многих языках, логика построена так, что числа отличные от нуля - есть положительные (true), при приведении их к булевому типу. В этом есть иногда смысл, но на пальцах объяснить это (вырвав из контекста) - относительно сложно.

    Если хотите изменить логику, можно сделать какую-то сокращенную проверку, типа такой:
    var b = (a > 0);

    Тогда, b будет false, если a будет меньше или равно нулю.
    Ответ написан
    6 комментариев
  • Ссылка открывает заданную страницу во фрейме. Как вывести юзера из фрейма на реальный url?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    <a href="link_address" target="_parent">Ссылка</a>

    Об этом речь?

    Ну и соотв. у ссылки должен быть такой атрибут добавлен, можно через тот же JS. Другие варианты, вряд ли возможны. Повлиять на вложенный фрейм из "внешнего" кода не получиться, из соображений безопасности. Насколько я помню, даже HTML-код фрейма получить нельзя, не то, что изменить... Это сделано, что бы сайты не могли стащить Ваши личные данные, как минимум.
    Ответ написан
  • Как растянуть фон блока по ширине и высоте в мобильной версии?

    Wolfnsex
    @Wolfnsex Куратор тега CSS
    Если не хочешь быть первым - не вставай в очередь!
    Проблема возникла в мобильное версии (разрешениее менее 750px), фон почему то идет с отступом.

    Скорее всего по тому, что фон задан не у самой секции, а у вложенного в неё блока, а в самой секции заданы отступы...
    Ответ написан
    Комментировать
  • На каких сайтах есть бесплатное обучение с выдачей сертификатов?

    Wolfnsex
    @Wolfnsex Куратор тега CSS
    Если не хочешь быть первым - не вставай в очередь!
    Битрикс (какой-то базовый курс), бесплатные сертификаты в электронном виде выдавал. Но, я думаю, Вы сами должны понимать, что "бесплатные сертификаты", кроме как для украшения стен туалетов больше никуда особо не годятся. Я когда на собеседование прихожу, обычно следующий вопрос после "что вы знаете об ООП, HTML5, CSS3 и прочих технологиях" сразу уходит с основной темы, о моих знаниях и переходит в тему, того какую я з/п хочу, условия работы и т.д., состою ли я в каких-то сообществах разработчиков и т.д. Пару раз, при подаче документов, "обнаруживались" сертификаты, но их никто даже не смотрел. Всё заканчивалось на вопросе:
    - что это?
    - это сертификаты всякие, по программированию, технике, Unix'ам...
    - а, ну классно


    Дальше их даже никто из папки не доставал.

    Сертификаты, которые хотя бы чего-то стоят, обычно сочетаются либо с обучением, либо с глубокой экзаменацией. Обычно, стоимость только самих экзаменов стоит 80-300$ (сертификат в стоимость включен разумеется, если экзамен сдадите).

    Например, экзамен по Symfony стоит 250€ + Twig (без которого, я себе Symfony плохо представляю) стоит 150€... Остальное - только лишний расход бумаги и Вашего времени.
    Ответ написан
    Комментировать
  • Как правильно принять файл с удаленного сервера?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    $f = fopen('file1.txt', 'w');
    fwrite($f, $_REQUEST['имя_переменной_с_файлом'];
    fclose($f);


    Как-то так, например.
    Ответ написан
  • Python 3 как преобразовать \xd0\xb5\xd0\xbd\xd0\xb8\xd1\x8f\xd1\x85\ в кириллицу?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Может так:
    print(b'\xd0\xb5\xd0\xbd\xd0\xb8\xd1\x8f\xd1\x85'.decode('utf-8'))


    P.S. На питоне давно не писал...
    Ответ написан
    Комментировать
  • Как реализовать в html форму как здесь http://author-alarm.ru/podderzhka_auto/?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Создаём набор нужных нам селектов, все селекты кроме первого - пустые.

    Далее, после выбора первого селекта, отправляем AJAX-запрос на сервер, с данными о том, что пользователь выбрал в первом селекте. Далее, в зависимости от этого, возвращаем JSON-массив и заполняем им второй селект... и так по цепочке.

    Если пользователь изменил выбор в первом селекте - очищаем второй, делаем повторный запрос и так далее, по кругу.
    Ответ написан
    Комментировать
  • Будет ли работать схема Apache2 + PHP5(mod_php) + PHP7-FPM?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    а если все сайты принадлежат разным пользователям, то как поступить в таком случае?

    Установить права на файлы (в частности php-файлы) таким образом, что бы FPM-PHP мог их как минимум читать.

    А вообще, в FPM-режиме, обычно создаётся столько пулов, сколько пользователей и каждый из них работает от своего пользователя, и проблема соотв. отпадает сама собой.
    Ответ написан