• Как разархивировать архив tar.gz, в котором архив и т.д?

    @Studencheskaya32
    tar --to-command='tar --to-command="tar -xzvf -" -xzvf -' -xzvf archive.tar.gz
    Ответ написан
    3 комментария
  • Почему PHP так работает?

    @rPman
    режим pm какой в настройках? если не static то количество текущих процессов веб сервера будут зависеть от нагрузки, полагаю которую он считает по завершению каждого запроса, в динамическом режиме сначала выбран 1 процесс, поэтому у тебя отрабатывает только один запрос остальным некем обрабатываться, после чего php-fpm понимает чтонагрузка высокая и поднимает количество потоков до max_children и остальные запросы обрабатываются паралельно
    Ответ написан
    2 комментария
  • Реально ли на чистом HTML, CSS, JS написать CRM систему как Basecamp?

    @petrplot
    смешно звучит.. а где вся остальная команда.. разве джун занимается разработкой приложения? на тестовое задание тоже не тянет, слишком сложно.. либо твой работодатель школьник у которого сайт заказал сосед) и ты его единственный фуллстек джунсеньер разработчик)).. либо ты нам что-то не договариваешь))
    Ответ написан
    1 комментарий
  • Достаточна ли защита сайта php?

    Adamos
    @Adamos
    Главная страница — Страница с формой авторизации — php авторизации
    Всё, начиная с php авторизации, защищено от прямого доступа через .htaccess.

    Гуглим "php роутинг|маршрутизация".
    И привязываться к конкретному Апачу сейчас - не стоит.
    файл с защитой от sql-инъекций — файл подключения к БД MySQL

    Если хочется чистого РНР - PDO и подготовленные запросы покрывают и то, и другое.
    А вообще стоит поинтересоваться PSR и фреймворками - в них, внезапно, собираются не костыли и говнокод, а те самые best practices, которые вы не знаете, где почитать. Phptherightway вам вообще попадался?

    Логин и пароль хэшируются

    Логин-то на хрена? Чтобы при следующей регистрации не знать, использован такой или нет?
    Ответ написан
    1 комментарий
  • Как добавить на сайт счётчики аналитики не ухудшая скорость загрузки?

    @pcdesign
    Что на счет такого варианта:
    <script>
      setTimeout(function(){
          // Код счетчиков
        }, 5000); 
    </script>


    Даем на загрузку страницы 5 секунд и только 5 секунд спустя подгружаем все это барахло.
    Ответ написан
    9 комментариев
  • Как избежать повтора инклюдов в ООП PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Из всей той ерунды, которую тут уже успели понаписать, и ещё понапишут самозваные "кураторы" и эксперты, единственно полезным является ответ Андрей Ежгуров
    Но он отвечает на следующий твой вопрос.

    А ответом на текущий является

    Передавать его в класс параметром

    Это единственно правильная практика, пусть она даже и кажется тебе не очень хорошим решением.
    Только не целиком конфиг а лишь те опции, которые нужны данному классу.
    Это то как на самом деле работает ООП. Для закрепления материала можешь почитать про dependency injection.
    Ответ написан
    6 комментариев
  • Как разбираться в огромных исходниках?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Самым твоим большим ограничением, внезапно, будет твоя собственная оперативная память, которая, в моменте, согласно исследований британских ученых, способна удерживать 7+-2 объекта (от 5 до 9 в среднем). Если у тебя объектов для рассмотрения тысячи, десятки тысяч или сотен тысяч и больше - желаю успехов. :)

    Вторым твоим ограничением будет неспособность долго и пристально фокусироваться на процессе сканирования чужого кода. Внимание будет постоянно пытаться убежать куда-то, на что-то менее пугающее, что-то более понятное и привычное, приятное. Это называется прокрастинация, Макс Дорофеев фпомасч.

    Более того, по мере сканирования кода будет возникать масса моментов, где непонятно что сделано, как сделано, зачем сделано, какие у этого последствия, соответственно все это надо расследовать отдельно и как-то запоминать, документировать, структурировать и пр. Что будет еще больше переключать из контекста в контекст и нужно уметь их фиксировать и как-то возвращаться, восстанавливать картину. Это весьма утомительно, а ресурс мозга таки ограничен.

    Если ты живешь на вредных привычках, в частности презрительно относишься к важности сна, увлекаешься его депривацией, а, тем паче, сломал себе режим, то возможности будут еще более ограничены.

    Третьим твоим ограничением будет глубинное нежелание заниматься этой фигнёй, ибо душа требует великого и прекрасного, а тут... Существенный процент разработчиков программируют не для души, а для прокорму, пока проекту умещаются в разумные пределы, их страдания умеренные. На больших/сложных/запутанных/некачественных/запущенных проектах начинается стремительное выгорание в труху.

    Ах да, если ты уже успел подвыгореть, то всё вышесказанное сильно усугубляется.

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

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

    Основные прорывы происходят именно в этом ресурсном состоянии. Искать надо его, если сумеешь найти и удержать - считай что ты счастливый человек.
    Ответ написан
    4 комментария
  • Как запустить несколько сайтов на одном хосте, так чтоб у каждого был свой набор Docker контейнеров и чтоб они были доступны по одному 80 порту?

    Есть готовое решение: nginx-proxy/nginx-proxy
    Автоматом перезапускается и генерит конфиг под работающие контейнеры.
    Проекты должны торчать портами в одну общую сеть. Можно в несколько: сеть проекта + сеть для портов наружу.
    Ответ написан
    Комментировать
  • Единая бд для апи и веба в docker?

    @tasiuk
    Для решения этой проблемы, нужно создать дополнительную сеть, с драйвером bridge, в стаке с сервисами к которым вы хотите предоставить доступ (подключиться).

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

    Пример:

    docker-compose.laravel.yml
    services:
        mysql: 
          image: ...
          networks:
             - default
             - my_private_network
    
        redis: 
          image: ...
          networks:
             - default
             - my_private_network
    
    networks:
      my_private_network:
        name: my_private_network
        driver: bridge


    docker-compose.lumen.yml
    php-fpm:
        image: ...
        networks:
          - default
          - my_private_network
    
    networks:
      my_private_network:
        external: true
        name: my_private_network

    - В первом стаке мы создаем новую сеть, и подключаем нужные нам контейнеры;

    - Во втором стаке мы объявляем о существовании сети которая была создана ранее, и так же подключаем наш php-fpm контейнер, к этой сети, что бы коммуницировать с другими контейнерами по сети;

    После этого, в стаке для Lumen вы можете смело подключиться к контейнерам mysql, redis по их алиасам, как и ранее:

    Lumen .env
    DB_HOST=mysql
    REDIS_HOST=redis


    Успехов!
    Ответ написан
    1 комментарий
  • Как зарабатывать на веб-программировании?

    Robur
    @Robur
    Знаю больше чем это необходимо
    1. Чтобы зарабатывать на веб-программировании надо работать работу.
    2. Чтобы работу работать надо ее найти.
    3. Чтобы ее найти надо что-то уметь.
    4. чтобы что-то уметь надо этому научиться.
    5. вы сейчас вот тут.

    проходите пункты в обратном порядке, и добираетесь до 1 где вам начинают давать деньги.

    Не переживайте что пока не знаете что делать, большая вероятность что пока от 5 доберетесь до 1 пройдет год-два-три, за это время поймете что делать.
    Ответ написан
    7 комментариев
  • Как защитить JS код?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Защитить JS нельзя, т.к. он выполняется на клиенте, а не на сервере.
    Можно усложнить чтение с помощью обфускации. Это отсеет 90% любителей, но особо упорных это не остановит и они прочтут твой код. Тем более, что есть инструменты, помогающие в деобфускации: деобфускаторы, бьютифайеры и пр.
    Хочешь скрыть код - уходи из фронтенда и добро пожаловать в бэкенд, на сервер.
    Ответ написан
    Комментировать
  • Как вы разрабатываете свои приложения?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    Если проблема слишком комплексная, упрощай. Выбери самую простую вещь которую можно реализовать и "продать" потенциальным пользователям. И непрерывно ее делай потом получишь обратную связь от потенциальных пользователей. И это будет какой-то первый реальный результат.
    Все остальное не нужная трата времени и сил. Даже эти мокапы. Не нужно тебе прорабатывать макеты, тз, идею -> сделай хоть что-нибудь, хоть как-нибудь. Покажи результат пользователям. Начни его продавать.
    Ответ написан
    Комментировать
  • Сервис комментариев для сайта?

    @VasyaM13221
    https://remark42.com/ дёшево и сердито, selfhosted, соблюдает GDPR, очень шустрый, написан на go.
    Ответ написан
    Комментировать
  • Что может линукс, чего не может Mac?

    @Janus_Bora
    Коротко о главном:
    • Плюсы OS GNU/Linux:
      Можно настроить всё, что захочется.
    • Плюсы macOS:
      Не нужно ни чего настраивать.
    Ответ написан
    2 комментария
  • Как написать быстрый парсер на PHP?

    kshnkvn
    @kshnkvn
    yay ✌️ t.me/kshnkvn
    Так а скорости то хватает? Если предположить, что средний вес загружаемой страницы ~450кб, то для загрузки 25 таких страниц как раз нужно ~90 мбит/сек: 450кб * 25 = 11250кб/сек = 11,25мб/сек = 90мбит/сек.
    Ответ написан
    4 комментария
  • Как называется расширение файла для запуска html на компьютере без браузера?

    @Dolosweb Автор вопроса
    Решено: Это был формат .hta можно писать безбраузерные приложения + поддержка javascript

    HTML Application — приложение Microsoft Windows, являющееся документом HTML, отображаемым в отдельном окне без элементов интерфейса обозревателя таких как строка меню, строка адреса, панель инструментов с помощью движка Microsoft Internet Explorer.
    Ответ написан
    8 комментариев
  • Как правильно делать счетчики на сайте?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Обычно для счетчиков стараются применять базы данных в памяти.
    В основном это Redis, но можно и MySQL использовать, просто указать хранилище в памяти и отключить транзакции.
    В большинстве своем счетчики обновляются на основе различных событий, например отправка комментария. Обновление делается в фоновом режиме.
    Как только данные актуализируются, интерфейс уведомляется о новом состоянии счетчиков. На больших сайтах это реализуется через SSE или веб-сокеты.
    Ответ написан
    Комментировать
  • Как в docker работать с несколькими проектами?

    Tonik
    @Tonik
    Ищете на гитхабе jwilder/nginx-proxy (почему то не позволяет запостить ссылку)
    Ответ написан
    Комментировать
  • Как в docker работать с несколькими проектами?

    @bankinobi
    Приятнее работать будет с таким количеством проектов, если пропускать их всех через traefik. Дополнительные 3-4 строки нотификаций к описанию проекта в docker-compose файле и все видится через одну точку входа.
    Ответ написан
    Комментировать