Задать вопрос
  • Не доходят письма с Mail.ru на корпоративную почту Яндекса?

    @TimurRyabinin
    Здравствуйте, Артём! Я из Яндекса. В вашем обращении команда проверила свойства письма, которое пришло с задержкой, и пришла к выводу, что задержка отправки происходит на стороне серверов Mail.ru.

    Если у вас есть другие примеры, когда отправители получили отчет о недоставке, пожалуйста, пришлите полный текст этого отчета. Если есть примеры доставки писем с задержкой, то пришлите свойства (полные почтовые заголовки) письма, которое пришло с опозданием. Если получатель использует почтовый клиент, отправьте свойства письма именно из почтового клиента.

    Как посмотреть свойства письма, можно узнать в нашей Справке: https://yandex.ru/support/mail/tech-glossary.html#... .
    Ответ написан
    1 комментарий
  • Какую программу выбрать для удаленного рабочего стола?

    @WSGlebKavash
    Всё зависит от операционной системы. Если Windows/Windows Server, то никакие программы не нужны, RDP-сервер и RDP-клиент уже встроен в систему. Он поддерживает сквозную аутентификацию NTLM. RDP клиенты есть под все операционные системы, даже есть расширение для Google Chrome.
    На дистрибутивы GNU\Linux, MacOS или FreeBSD можно поставить xorg xrdp, и пользоваться также, как в Windows. Есть NoMachine, но компьютер надо будет предварительно ввести в домен Active Directory.
    Под Android не встречал подобных решений.
    Ответ написан
    Комментировать
  • Как запустить php и nginx в одном контейнере?

    @MadridianFox
    Web-программист, многостаночник
    1) Запуск нескольких процессов в одном контейнере противоречит концепции докера. Докер сделан так, чтобы запускать один процесс (не считая дочерних процессов)

    По хорошему вам нужно запускать fpm и nginx в отдельных контейнерах. При этом возникает несколько проблем:
    - нужно чтобы контейнер nginx мог обратиться к контейнеру fpm по сети
    - нужно чтобы nginx мог раздавать статику, которая обычно является частью приложения и находится в контейнере fpm
    - нужно раздавать загружаемые файлы

    Проще всего с загружаемыми файлами. Они в любом случае не должны храниться в контейнере и скорее всего это будет volume, который монтируется в оба контейнера.
    Взаимодействие между контейнерами по сети тоже штука не сложная, но зависит от способа запуска контейнера.
    Если контейнеры запущены через docker run в одной сети (поведение по умолчанию), то они видят друг друга по сети и могут использовать имя контейнера как dns имя.
    Если два контейнера запущены в рамках одного docker-compose.yml файла (это ещё называется docker compose project), то они тоже друг друга видят, но уже не по имени контейнера, а по имени сервиса (ключ под которым контейнер указан в секции services).
    Если приложение запускается в kubernetes, то там по умолчанию все контейнера pod'a имеют общий локалхост и могут обращаться к друг другу через 127.0.0.1.

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

    Важно: nginx работает с dns в обход стандартных инструментов операционной системы. Если вы используете в директивах proxy_pass, fastcgi_pass доменное имя, а не ip адрес, вам нужно дополнительно указать в конфиге директиву resolver <dns-ip>;, где в качестве нужно указать ip адрес dns сервера.
    Для докера это обычно 127.0.0.11, для кубера это адрес внутреннего dns сервера.

    Раздавать статику можно по разному. Два концептуально разных способа:
    - собрать образ nginx в котором есть статика, тут можно либо наследовать образ как сделали это вы, либо копировать статику в чистый образ nginx, что несколько чище и красивее
    - убрать статику из образа вообще, выделив её в volume или cdn, но тут придётся при отгрузке сервиса актуализировать статику во внешнем хранилище

    2) если очень хочется запустить несколько процессов в контейнере, то нужно запустить один процесс, который запустит остальные. Есть такие программы - менеджеры процессов. Это может быть supervosord, pm2, runit и т.п.
    Это такая программа, основной задачей которой является запуск других программ. Обычно у неё есть свой файл конфигурации, в котором вы описываете какие программы запустить и как это сделать.
    Ещё раз повторю - докер придуман не для этого. Не стоит делать этот приём основным при работе с докером.
    Это костыль. Он иногда нужен, но очень редко.

    3) То что nginx отдаёт код index.php, это проблема не настройки контейнеров, а конфигурации nginx. Если бы проблема была только в контейнерах, то вы бы получили не код скрипта, а 502.
    Первое что бросается в глаза в вашем конфиге - это регулярка в локейшене для обработки php скриптов.
    Попробуйте сделать как здесь.
    Ответ написан
    Комментировать
  • Может ли самозанятый предоставлять услуги хостинга(размещения и хранения)?

    Не понятно, но вроде можно, если сервера принадлежат тебе, а не арендованы у другого провайдера.
    Главное условие - ip-адрес и трафик должны быть уже включены в стоимость твоих серверов (должны предоставляться бесплатно), иначе придётся получать лицензию и тогда уже не сможет быть самозанятым.

    Я бы на всякий случай сходил к настоящему юристу, тк тут нужно ещё на практику смотреть.

    Где-то пишут, что без лицензии нельзя продавать доступ к серверам, которые ты поднял сам, но можно, если ты арендовал их у другого провайдера, но этот тезис противоречит закону:
    1. Самозанятый не может перепродавать чужой товар (Налоговая сказала)
    2. Лицензия на продажу доступа к своим серверам не нужна (Роскомнадзор сказал)

    То что ты предлагаешь подпадает под ОКВЭД 63.11

    Деятельность по обработке данных, предоставление услуг по размещению информации и связанная с этим деятельность

    Эта группировка включает:
    • создание инфраструктуры для хостинга;
    • услуги в области обработки данных и деятельность, связанную с обработкой данных;
    • проведение специальных действий, таких как: web-хостинг, услуги потоковой передачи данных;
    • интерактивное предоставление программного обеспечения (предоставление прикладного хостинга, предоставление прикладных программ);
    • услуг приложений;
    • общее предоставление распределенных по времени технических компьютерных средств заказчикам;
    • обработку данных: полную обработку данных, предоставленных заказчиком;
    • создание специальных отчетов на основании данных, предоставленных заказчиком;
    • предоставление услуг по вводу данных


    Эта группировка не включает:
    • деятельность, в которой пользователь использует компьютеры только в качестве инструмента, она должна быть отнесена к группировке в соответствии с характером оказываемых услуг



    Никакая специальная лицензия для того чтобы поднять сервер для хостинга и предоставления его кому-то не требуется (если я не туплю).
    Лицензия на телематические услуги тебе понадобится, если ты захочешь отдельно тарифицировать доступ в интернет с твоего сервера.
    В соответствии с пунктом 18 статьи 2 Федерального закона от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и о защите информации» под провайдером хостинга понимается лицо, оказывающее услуги по предоставлению вычислительной мощности для размещения информации в информационной системе, постоянно подключенной к сети «Интернет». Указанные услуги не являются услугами связи.


    https://itsoft.ru/data-center/licence/when/
    https://rkn.gov.ru/it/control/p852/#:~:text=В%20со...
    Ответ написан
    Комментировать
  • Цель - WEB Full-stack. Сносный ли план обучения для новичка?

    @bestann
    Я училась хорошо, но из знаний тебе действительно понадобится математика (развитое логическое мышление) + английский, это отмечено правильно. В остальном много лишнего и уводящего не в ту степь. Работала в телефонии, но тоже пришлось перейти в DevOps, т.к. нет перспектив. В итоге по жизни приходилось учить кучу всего НЕНУЖНОГО (например разные телефонные станции, на что ушло много времени). Если бы сразу удалось на Linux устроиться, не потеряла бы 15 лет. Поэтому пишу тебе о том,что действительно понадобится. Не трать время не ненужное, и так учить надо ОЧЕНЬ МНОГО. Нужен широкий кругозор.

    Установи дома операционную систему Pop!_OS (на основе Ubuntu) и привыкай работать в Linux. Поставь там qemu, kvm, git, ansible, docker, docker-compose. Тебе будет достаточно виртуальных машин для изучения материала. Ansible на самой машине как контрольная управляющая нода, а настраивать им виртуалки.

    Поставь VSCode Insiders Edition. В нем хорошо работать с кодом. Там плагинов много. И для редактирования yml файлов Ansible, Kubernetes), для Dockerfile, и для программирования потом пригодится.

    Поставь Obsidian. И пиши всю документацию там, собирай там все свои знания! Приучай себя делать конспекты и переводы. Формат написания - Markdown, как раз тот, в котором программисты README.md пишут. https://obsidian.md/ (ставится на разные ОС)

    Чтобы не учить лишнее, пишу, что учить:
    Хорошо знать Linux - Уильям Шоттс - Ок, найди книгу RHCSA8 Sander van Vugt (даже на русском есть,думаю, умеешь искать), подготовься и сдай экзамен RHCSA, дает хорошую базу по Linux. Также есть его видеокурсы, я по ним готовилась. (тоже достанешь). Второй хороший автор Andrew Mallet. Практикуйся на виртуалках CentOS8 (у них проблема с поддержкой с нг, но можешь и нестабильный релиз использовать,тебе же не в продакшн). За рубежом сейчас альтернатива — Rocky Linux. На виртуалках посмотришь как работать с менеджером пакетов yum/dnf, на Pop!_OS - c apt.
    На русском по Linux курсы Кирилла Семаева на Youtube.

    Ansible — управление конфигурациями. Подготовка к экзамену RHCE8 (он после RHCSA), те же авторы (книги есть). У Andrew Mallet досконально разбирается Ansible, можно одновременно с Linux учить,потому что он там и линуксовые команды grep и прочие использует для анализа файлов конфигурации. Очень хороша родная документация на сайте Ansible. Также качай примеры ролей на Ansible Galaxy.
    На русском курсы Астахова на Youtube.

    Git — тут что найдешь. Он есть в составе Kubernetes База от Слерм, материалов достаточно. Цикл статей почитай тут https://css-tricks.com/creating-the-perfect-commit..., 7 и 8 часть скоро выложат. Но для начала поищи видеокурсы на русском (все есть). Надо видео посмотреть, чтоб нагляднее было, потому что сначала непонятно как это ты работаешь вроде в одной папке, но можешь находиться в разных ветках.

    Gitlab — Как вариант завести аккаунт на Gitlab.com и там пробовать. И смотри файлы .giltab-ci.yml и сопутствующие включаемые файлы через include самого Gitlab. Узнай как включать переменные, якоря, extends, needs, правила rules, needs (кстати сейчас можно без stage только через needs), разницу между кэшами и артефактами.
    Jenkins, teamcity используется, но Gitlab у нас чаще... Учи то что чаще используется. Ты не сможешь все инструменты освоить физически. Как устроишься, будешь осваивать имеющееся на работе.

    Docker — так же можешь изучить дома. Курсов хватает. Также попробуй в docker-compose запустить несколько контейнеров.

    Также ты должен знать хотя бы как устанавливать MySQL (про другие бд потом можно расширить), добавлять базы, бэкапить, заводить пользователей, давать права.

    Попробуй установить Nginx + php-fpm + mysql (или MariaDB) - например, чтоб заработала википедия простая BookStack. Локально пропиши имя сайта и проверь как работает, бэкапь базу, потом все удали и восстанови. https://www.bookstackapp.com/

    Kubernetes — сложно без базы указанной выше, но можешь подписаться на youtube канал Слерма,у них же есть периодически бесплатные курсы с возможностью практики. Дома можно только minikube, если ресурсов мало. Это факультативно, даже первые 4 пункта.

    По языкам программирования. Хотя бы освой bash в Linux. Python или Go — можно намного позже, это уже для программистов.Для тебя это будет плюсом.но в довесок. Иначе ты до профессии девопса будешь долго идти, а вернее до пенсии)) Сейчас спрос очень большой!!!

    Итак, резюмируя: Linux (+bash), Ansible, Docker, git —must have, Gitlab, SQL - желательно. Сети — очень зависит от работы. Главное, понимать что такое ip-адреса, dns, маска, шлюз, понимать как настраивать файрвол и сетевые интерфейсы в Linux, понимать что включить (какой параметр), чтобы Linux начал маршрутизировать трафик.
    Kubernetes, Terraform — это уже уровнем выше.

    Далее штудируешь вопросы к собеседованиям (тоже есть в интеренете),причем некоторые вопросы особенно часто задают на собесах (сама недавно собесы проходила). Проходишь 10-15 собеседований и прокачиваешься, записывай все задаваемые вопросы и готовься после каждого собеса к следующему. Могут дать и тестовое задание, если на джуна. Попроси время на выполнение.

    Тут расти и расти до бесконечности.

    Извини за нескромный вопрос: почему ты в 22 года только на 1 курсе колледжа заочно? Это даже не вуз.
    И что за краткий курс школьной математики? Ты в школе не учился что ли?
    DevOps — это непросто, поэтому надо хорошо понимать, какая у тебя база, потянешь ли ты.

    UDP. Только увидела.
    Если цель не DevOps, а web fullstack, то может твой план подойдет больше. Но тоже надо иметь ввиду, что FullStack — это много. Иди сначала фронтенд-разработчиком. Если хочешь учит востребованное, то JavaScript, для фронденда фреймфорк vue.js или react. Если хочешь быть бэком, надо уже хорошо знать базы данных помимо самого языка программирования. Из популярных так же JavaScript (node.js). Python и Go так же популярны. И если уж учить, то Go, а не C#.
    Ответ написан
    7 комментариев
  • Действительно ли закончилось свободное место?

    Adler_lug
    @Adler_lug
    свободное место вроде есть

    148 кб в корне это не свободное место, а его отсутствие...
    Ответ написан
    Комментировать
  • Какие есть WEB self-hosted решения для обмена файлами?

    gbg
    @gbg Куратор тега Системное администрирование
    Любые ответы на любые вопросы
    nextcloud, но последнее требование у вас забавное
    Ответ написан
    6 комментариев
  • Какую библиотеку использовать для сканирования чеков через веб камеру на смартфоне?

    TTATPuOT
    @TTATPuOT
    https://code.patriotovsky.ru/
    Вам из чека не символы распознавать нужно, а QR-код, который печатает онлайн-касса. По QR-коду вы уже можете сформировать запрос в ОФД и получить параметры чека. В сторону распознавания букв бесполезно ковырять.

    QR-коды может куча всего распознавать. Например: https://github.com/schmich/instascan
    Ответ написан
    3 комментария
  • Быстрая среда web-разработки на основе vagrant, возможно?

    ALiSHERBE
    @ALiSHERBE
    Middle Web Developer, Android Developer
    Vagrant медленно запускается. Если у Вас Windows 10 то можете установить docker, им гораздо удобнее пользоваться.
    Ответ написан
  • Как написать web приложение?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Вам, случаем, для подобных задач не подойдет Jenkins?) Банально
    Ответ написан
    Комментировать
  • Как принять POST запрос на сервере с помощью python?

    @Fixid
    Если нужно просто и не особо вникая, то Flask или SimpleHTTPServer
    Ответ написан
  • Как найти элемент массива с нужным id?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    let arrayFirst = [2, 5, 8, 1];
    let arraySecond = [
    {id: 34, name: 'test'}, 
    {id: 5, name : 'test1'}, 
    {id: 123, name: 'test2'}
    ];
    
    // Если нужны все
    const all = arraySecond.filter((y) => arrayFirst.includes(y.id));
    
    // Если только первое совпадение
    const first = arraySecond.find((y) => arrayFirst.includes(y.id)));
    Ответ написан
    Комментировать
  • Где причина попадания в спам?

    @hiddenSt
    Это зависит от спам-фильтра и его настроек.
    Ответ написан
    Комментировать
  • Как обновить Debian, ISPmanager и PHP для WP сайта?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    1) Не трогаем production. Пусть, работает в штатном режиме.
    2) Создаем локальную копию сайта или копию сайта на сервере и обязательно закрываем от индексации. Можно даже запароллить через htaccess & htpasswd
    3) Включаем рнр версии 7.0 и выше, дорабатываем сайт, обновляем плагины, темы, исправляем баги
    4) Берем новый сервер с LAMP + ISP Manager 5 или Vesta. (например, Debian Stretch)
    5) Настраиваем новый сервер и переносим сайт
    6) включаем дебаг и окончательно проверяем сайт.
    7) Если все ок, то изменяем DNS записи, чтобы домен указывал на новый сервер.

    Может в ускорении поможет смена шаблона? Но в этом случае все может захромать...

    Посмотрите, что советуют вам на сайте
    https://gtmetrix.com/
    https://developers.google.com/speed/pagespeed/insights/

    Причин может быть много... Надо изучить для начала. Это и ресурсы сервера, и конфигурация сервера, и сам сайт ВП и т.д. Также поможет подключение CDN сервиса и подгрузка статичных файлов из кукис фри доменов или из субдомена сайта.
    Ответ написан
  • Где можно пройти хорошие онлайн курсы по DevOps?

    thiago_alvarez
    @thiago_alvarez
    Student
    Мне кажется девопсом становятся только на практике
    Ответ написан
    Комментировать
  • Почему input(int()) автоматически выставляет 0?

    Kademn
    @Kademn
    Злой
    input всегда возвращает строку. Параметр, который принимает input, это то, что будет напечатано для пользователя, как приглашение к вводу, после которого он сможет вводить данные. Вы передаёте туда int(), который возвращает 0, именно это и печатает input, как приглашение к вводу данных.
    Вместо того, чтобы печатать фразу "Сколько школьников?" print('Сколько школьников?') лучше передать эту фразу в input, чтобы он напечатал её, как приглашение к вводу:

    s = input('Сколько школьников? ')

    В s будет строка, теперь чтобы преобразовать это в число и совершать математические операции, необходимо преобразовать s в integer:
    s = input('Сколько школьников? ')
    s = int(s)


    Или можно записать это одной строкой, вложив одну функцию в другую:
    s = int(input('Сколько школьников? '))
    Ответ написан
    Комментировать
  • Количество постов wordpress?

    HectorPrima
    @HectorPrima
    программист
    вот пример:
    <?php
    
    if (empty($wp)) {
        require_once('wp-config.php');
    }
    
    global $wpdb;
    
    $data = $wpdb->get_results(
        "SELECT
        	YEAR(p.post_date),
        	count(*) counter
       	 FROM
       	 	wp_posts p
       	 WHERE
       	 	p.post_status = 'publish'
       	 	AND p.post_type = 'post'
         GROUP BY
         	YEAR(p.post_date)
         ORDER BY
            YEAR(p.post_date)
    ");
    
    print_r($data);
    Ответ написан
    Комментировать
  • Сайты/каталоги/базы с новыми сайтами и приложениями?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Интересность - понятие растяжимое и очень субъективное. Но если говорить про те вещи, которые могут быть полезными, то вам поможет twitter, как это ни странно. Подпишитесь на несколько десятков известных людей в интересующей области и будете видеть все полезные сайты и инструменты, которые появляются в их поле зрения. Там же можно найти ботов, которые постят полезности по конкретным темам.
    Ответ написан
    3 комментария