• Как выйти из двух пользователей в Linux, и при этом выполнить команду один раз?

    karabanov
    @karabanov Куратор тега Linux
    Системный администратор
    Ctrl+d
    Ctrl+d

    Ну или по хардкору (убить ssh сессию):
    Enter
    ~
    .
    Ответ написан
    Комментировать
  • Как выйти из двух пользователей в Linux, и при этом выполнить команду один раз?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    И не будет, ведь такая команда будет исполняться в одном shell, а не в двух разных. После первого exit дальше уже всё, остаток будет проигнорирован.

    Способы есть:

    1. Из суперпользователя убить shell пользователя. Некрасиво и неудобно, но закроет оба шелла.

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

    sudo -i; exit

    Недостаток - если не удастся правильно ввести пароль - сразу же и выкинет. Ну, можно поразбираться с кодами возврата, чтобы не делать exit.

    3. Вместо предыдущего можно сделать exec, тогда запускаемая команда заместит текущий shell, а не будет запущена как дочерний процесс:

    exec sudo -i

    Недостаток тот же - если не ввести правильно пароль, то выкинет.

    Но в целом я не вижу во всём этом смысла. Выход можно делать комбинацией Ctrl-D. Нажать дважды Ctrl-D ничто не мешает, это даже удобнее.
    Ответ написан
    2 комментария
  • Из чего формируется цена домена?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Цены на домены примерно одинаковы. 600 руб в год, плюс-минус. Все остальное, это наценки за жадность и кажущуюся привлекательность. По сути этот рынок формирует огромная банда киберсквоттеров, которая делает деньги из воздуха. Сейчас это гигантский пузырь просто. В реальности, крутость домена не значит ничего, потешить свое чсв разве (это как крутой номер у машины). Гораздо разумнее потратить эти деньги на раскрутку сайта в поисковых системах, так как 99% посетителей приходят на сайты именно оттуда, а не вбив крутой домен в адресную строку.
    Ответ написан
    5 комментариев
  • Что такое событие в ООП?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В первоначальном варианте ООП Аллана Кея было событие. Грубо говоря Кей считал объекты акторами.
    И от этого рисовал своё видение разработок. Но его кунг-фу не полетело в свое время. Слишком рано
    было.

    В современном классическом ООП в его реализации С++ и Страуструпа
    нет никаких событий. Нету ключевых слов. И нету среды которая-бы обеспечивала путешествие
    этих события вне объектов.

    Событие может появляться например как абстракция прикладного уровня в библиотеках типа MFC
    которы должны были работать с UI и регистрировать мышко-клики и прочее. Но там была ОС которая
    обеспечивала буфер событий. Отдельный life cycle для каждого из них. Вот. А языс Microsoft Visual C++ / MFC
    предоставляли как-бы фреймворк который регистрировал хендлеры и там соотв. эти события ловил и обрабатывал. Но это было сами понимаете никакое ни ООП. А это была очередная абстракция от Microsoft
    которая по их задумке должна была упрощать процесс разработки графического софта.

    В Borland C++ тоже есть свои абстракции для событий. Но они тоже лежат как-бы отдельно от языка. Скорее
    во фреймворке или в библиотеках.

    Откуда в PHP-OOP вдруг появляется событие? В ключевых словах PHP есть class, trait, function, abstract, extends.

    Но никаких event нету. Осталось задать вопрос. Кто вообще дает такую информацию? Что за курсы? Что
    за книга? Что за преподаватель?
    Ответ написан
    3 комментария
  • Что такое событие в ООП?

    Stalker_RED
    @Stalker_RED
    Возьмем к примеру сущность "пользователь". Придумаем ему несколько свойств, методов и событий.
    Свойства: имя, возраст, адрес, баланс.
    Методы: установить имя, прочитать имя, установить адрес, прочитать адрес...
    События: имя изменилось, баланс изменился, аватарка изменилась, пользователь заказал пиццу, или что там у вас за бизнес-логика.

    Вы можете придумать свои события, которые подходят под ваши процессы.
    Ответ написан
    Комментировать
  • Visual studio code перестал работать live server, кто стыкался с подобной проблемой?

    kaone
    @kaone
    Новенький в мире IT
    Была такая же проблема, нашёл своё решение.
    Всё перестало работать после того, как я изменил рабочую область в VS (в качестве рабочей области указал корневую папку).
    Live Server стал обновлять страницу когда вернул рабочую область обратно.
    Укажи в качестве рабочей области непосредственно папку с проектом и дополнительно укажи эту папку в настройках Live Server Workspace (Ctrl + Shift + P > Live Server: Change Live Srever Workspace > укажи папку проекта)
    6040b039544b7746791555.png

    Надеюсь помогло.
    Ответ написан
    3 комментария
  • Адаптивная яндекс карта на сайте. Как сделать?

    @andreyqin
    При вставке скрипта карты в атрибуте src установите width=100%
    Ответ написан
    4 комментария
  • Как правильно защитить форму от спама?

    DanArst
    @DanArst Куратор тега HTML
    Гриффиндор в моде при любой погоде!
    Hidden-инпуты для защиты от спама - это фигня. Больше половины ботов раскусят.
    Я на многих сайтах ставлю довольно простую защиту, которая отлично работает.
    Добавь в форму какой-нибудь текстовый инпут и скрой его стилями, но НЕ ЮЗАЙ display: none;, visibility:hidden;, opacity:0;, так как многие боты и это раскусят.

    Например input с name="copyemail":
    <form action="">
    	<input type="text" name="copyemail" placeholder="Email для копии">
    	<input type="text" name="name" placeholder="Имя">
    	<input type="email" name="email">
    	<button type="submit">Отправить</button>
    </form>

    и стили для него:
    input[name="copyemail"] {
        display: block;
        width: 2px;
        height: 2px;
        margin-bottom: -2px;
        border: none;
        padding: 0;
        opacity: 0.01;
    }


    И дальше уже на сервере проверяешь:
    if ($_POST['copyemail']) {    
        //Это спам! Делаем вид, что сообщение отправлено.
        die('Ваше сообщение отправлено');
    } else {
         //Все норм. Метро Люблино, работаем
    }
    Ответ написан
    3 комментария
  • Как правильно защитить форму от спама?

    vfreelancer
    @vfreelancer
    php
    а если написать свою капчу (несложную)? вряд ли кто-то будет писать бота именно под ваш сайт. и еще: когда-то делали hidden поле в форме. если оно было заполнено, то спам.
    Ответ написан
    2 комментария
  • Как предотвратить спам через форму обратной связи?

    Zakonoposlushniy
    @Zakonoposlushniy Автор вопроса
    Решил проблему таким способом :
    В форму добавил поле
    <input id="check" name="check" type="hidden" value="" />

    Потом в кнопку, через которую идёт отправка, добавил
    onclick="document.getElementById('check').value = 'secretcode';"

    Вышло что-то вроде этого
    <button onclick="document.getElementById('check').value = 'secretcode';" type="submit">Отправить</button>

    И в php-обработчике, добавил это
    if ($_POST['check'] != 'secretcode') exit('Spam decected');


    Возможно кому-то поможет.
    Удачи!
    Ответ написан
    9 комментариев
  • Как можно у атрибута required изменить стандартную надпись?

    barkalov
    @barkalov
    <input type="text" required oninvalid="this.setCustomValidity('Wow!')">

    UPD:
    <input type="text" required oninvalid="this.setCustomValidity('Wow')" oninput="setCustomValidity('')" />
    Ответ написан
    3 комментария
  • Как можно у атрибута required изменить стандартную надпись?

    realt
    @realt Автор вопроса
    Вот правильное решение!
    <input type="text" required oninvalid="this.setCustomValidity('Wow')" oninput="setCustomValidity('')" />
    Ответ написан
    5 комментариев
  • Как Вы загружаете свои сайты в Linux-системах?

    @AlexVWill
    Как Вы передаёте файлы на сервер?

    Просто подключаем удаленную папку /var/www/html как локальную через sshfs и просто в обячном проводнике (любой: Nemo, Nautilus, МС...) копируем папку с данными как локальную... не надо никаких клиентов, никаких заморочек с настройками и все вот это
    https://losst.ru/podklyuchenie-i-nastrojka-sshfs-v...
    Ответ написан
    Комментировать
  • Почему не запускается Docker?

    Stam_emg
    @Stam_emg
    Системный администратор, Atlassian Stack
    E: Package 'libpng12-dev' has no installation candidate - нету пакета в репозиториях, которые подключены.

    отсюда следует ERROR: Service 'php' failed to build: потому что не установлена. в debian stretch пакет называется libpng-dev .
    Ответ написан
    Комментировать
  • Post и Get запросы, какая между ними разница и что лучше и для каких целей?

    socengel
    @socengel
    7 лет native php в продакшене, онлайн 20000+,
    Общего между ними то что они работают одинаково. Разницы между ними технически никакой. А вот идеологические различия есть.

    Я расскажу о них в контексте PHP. Прошу заметить что протокол HTTP к PHP имеет косвенное отношение потому что он создавался для обмена html страницами а PHP просто расширяет возможности и того и другого.

    GET запрос используется чтобы получить данные а POST чтобы отправить. (Напоминаю что технически они работают одинаково).

    Поэтому в контексте PHP опираясь на эту идеологию сделали следующим образом:
    1. При каждом запуске PHP по умолчанию создаются суперглобальные массивы ($_GET, $_POST).
    2. Если в строке запроса есть вопросительный знак(?). То все что после него считается параметрами GET запроса они представлены в формате 'ключ'='значение' и в качестве разделителя используется знак амперсанда (&)
    Пример:
    GET /index.php?name=Андрей&surname=Галкин
    это строка запроса, тут 2 параметра. эти параметры попадут в массив $_GET.
    3. $_POST заполняется другим способом. содержимое этого массива заполняется из "заголовков запроса". То есть из места, скрытого от глаз в явном виде. Всю рутину по созданию таких заголовков берет на себя браузер. Хотя иногда и что-то редактируется в заголовках в ручную.

    Чаще всего пост запрос используется в формах (для отправки данных).

    Например у нас есть форма для входа 2 поля логин и пароль.

    Представим что мы используем GET метод. Тогда при отправке формы мы перейдем на следующий адрес /login.php?login=Андрей&password=123 согласитесь что так передавать такую информацию совсем не безопасно. Любой может открыть ваш браузер и начиная вводить адрес сайта он из истории может увидеть ваши пароли и логины.

    А вот если бы мы указали методом POST то мы бы получили следующий запрос:
    POST /login.php (login=Андрей&password=123) то что в скобочках было бы скрыто и никак не сохранено в браузере.

    Теперь другая ситуация например форма поиска. Мы вводим текст и получаем страницу с результатами. Вот тут уместнее GET форма. потому что нам было бы удобно сразу иметь ссылку на результат поиска, то есть добавить в строку запроса можно выразится "Публичные параметры", которыми можно поделиться. И как результат в строке браузера будет конкретная ссылка на текущую страницу. Мы можем ее скопировать, и разместить где-нибудь, или например скинуть другу. И получить при переходе одну и ту же страницу. А не просить других людей зайти на сайт и в поиск вбить определенную фразу чтобы получить необходимую страницу.

    В общем подводя итог:
    GET - это чтобы получить определенную страницу в определенном виде ( сортировка, текущая страница в блоге, строка поиска и т.п. ).
    POST - для оправки данных которые не влияют на отображение страницы, в том плане что эти данные влияют только на результат выполнения скрипта ( логины, пароли, номера кредиток, сообщения и т.п. ).

    И еще одна хорошая новость их можно комбинировать, например
    POST /index.php?page=login (login=Андрей&password=123) Думаю я уже достаточно объяснил что из этого получится и какие параметры в какой массив попадут.
    Ответ написан
    2 комментария
  • Как привязать footer к низу экрана в Twitter Bootstrap?

    Sergei_Erjemin
    @Sergei_Erjemin
    Улыбайся, будь самураем...
    Блин… что за советы… там есть встроенный класс: navbar-fixed-bottom

    <div class="navbar-fixed-bottom row-fluid">
          <div class="navbar-inner">
              <div class="container">
    
    Ответ написан
    7 комментариев
  • Как задать права только на каталоги в Linux?

    @pfg21
    ex-турист
    канешно. в линукс можно всё и еще чуть-чуть :)
    find /path/to/req -type d -exec chmod 0755 {} \;
    find /path/to/req -type f -exec chmod 0644 {} \;

    type d (directory) - папки прощеее говоря.
    type f (file) - файлы
    /path/to/req - путь откуда начинается просмотр. (./ для текущего)
    Ответ написан
    1 комментарий
  • Как подключиться к базе данных MAMP через консоль в MacOS?

    DevMan
    @DevMan
    потому что нет такой команды в стандартных путях.
    или пользуйте полный путь, или создайте алиас, или добавте мамп в $PATH.

    https://dev.to/arbaoui_mehdi/how-to-access-the-mys...
    Ответ написан
    Комментировать
  • Есть ли смысл в моем выборе. PHP или JS?

    kshshe
    @kshshe
    Frontend developer
    Если я изучу в достаточной мере JS ,то смогу потом изучить Node.Js и работать с серверной часть

    Знание JS однозначно поможет начать работать с JS на сервере. Язык тот же, только другие API, потому что другая среда. Я бы порекомендовал не распылять силы на разные языки и освоить сначала что-то одно. Тем более, что работа отдельно по фронтенду, вообще без бэкенда (вам надо будет понимать, как они взаимодействуют, но совсем не обязательно уметь это реализовывать самим), достаточно распространена.

    Отдельно отмечу, что бэкенд это не только PHP.
    Ответ написан
    1 комментарий
  • Редирект с www на без www?

    AloneCoder
    @AloneCoder
    [object Object]
    server {
        server_name www.example.com;
        return 301 $scheme://example.com$request_uri;
    }
    Ответ написан
    2 комментария