• Работа без высшего образования, это реально?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Я хорошо знаю языки программирования как Веб(html,php,js,sql) так и обычные(c++,c,c#,Java)

    Not bad. Если учесть, что на каждый из системных для хорошего знания и понимания нужно минимум 2 года (для С сделаем поблажку, потому как с++ его включает), + php/js по 1.5 + принципы работы сети + принципы работ реляционных бд. Итого 17-(2*3+2*1.5+1) программировать вы начали с 7-ти лет.

    Безусловно, я могу ошибаться, но вероятнее всего вы себя очень переоцениваете.

    Работодателю ,как правило, плевать на бумажки. Для него вы ресурс, который приносит деньги. Если вы можете это сделать - проблем с устройством не будет. Если нет - проблемы будут.

    Диплом обычно требуют в гос компаниях, но хотеть там работать... ну я не знаю... единственная известная мне плюшка - дешевые столовые))
    Ответ написан
    7 комментариев
  • Как вернуть мотивацию к учебе?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    motiviruyshie-oboi-4-1024x576.jpg

    UPD:
    Хочешь себя мотивировать - не вопрос: поставь себе реальную цель с четко оговоренными сроками. Например сделать такой-то софт за 2 месяца. Поспорь с девушкой, другом, родителями (не важно, с кем угодно): если за этот период на сделаешь - отдаешь 2к$ наличными. Если сделашь это - тебе даже в голову не будут приходить темы в стиле "не зайти ли мне в вк"))
    Ответ написан
    10 комментариев
  • Что из новинок нельзя как лучше подойдет для создания Http Rest Api?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Ответ написан
    Комментировать
  • Как безопасно открыть доступ к MySql для разработчиков?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    но им я не могу дать необходимые логин/пароль для подключения к mysql через ssh, всё таки это уже и доступ к серверу

    Мне жаль вас расстраивать, но MySQL работает по собственному протоколу, который не базируется на ssh.
    Все, что вам нужно - дать девам хост, логин, пароль к MySQL. Мускул должен быть виден из вне.
    Ответ написан
  • Локализация файлов стилей vs глобальная папка?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Ответ написан
    Комментировать
  • Как бороться с тем, что клиент не узнает о смене состояния сервера из-за таймаута?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Клиент генерирует UUID транзакции и отправляет ее на сервер.
    Допустим она выполнялась долго и клиент схватил 500-ю. В этом случае клиент запрашивает (отдельный API метод) статус транзакции (UUID ее он знает). Если получает "все ок" - все ок)). Если ошибку: запрашивает отмену своей транзакции. Если 500-ю - пытается отменить транзакцию, выполняя запросы с экспоненциальной задержкой, пока не получит ответ: да, отменили мы твою транзакцию.
    Ответ написан
    Комментировать
  • Через какую программу лучше обновлять файлы на сервере (сайт)?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    git

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

    Плохая идея, очень, очень плохая. Прямо на сервере выполняется только загрузка изменений из репозитория, или административные работы, например правка конфигурационных файлов.
    Сделаешь изменение с ошибкой и нажмешь ctrl+s, и человеки будут видеть ошибку, что на продакшене не допустимо.

    Конкретно под разработку - vagrant
    Ответ написан
    Комментировать
  • Дополнительные навыки - "запасная профессия"?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Интересует именно сфера IT, а именно веб - дизайн, веб - программирование, 3D моделирование и визуализации.

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

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

    Это вы зря так думаете. Даже от диплома работодателя интересует его наличие, не более, и то редко.
    Ценятся навыки, которые на собеседовании легко проверить. Безусловно, если вы планируете работать в гос. конторе - это ваш выбор, страдайте на здоровье.

    Хочется, иметь некоторые навыки "в кармане"

    Так думаете тоже зря)) IT развивается 7-мимильными шагами. То, что было год назад - уже прошлый век. Посему у вас есть выбор: либо садиться на эту "иглу", либо нет. Чуть-чуть знать - это потраченное время.
    Буквально недавно был вопрос из серии "как я все пропустил" найти правда не получается.

    IT ТРЕБУЕТ (именно так: капсом, болдом и италиком) самообучение, без этого скила вам путь закрыт. Курсы могут конечно помочь, но только как самые базовые основы, не более. Хотя к курсам Cisco претензий не имею))
    Ответ написан
    Комментировать
  • Безопасно ли использовать eval, если на сайте нет базы данных?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    В коде "врагов" - вполне безопасно, я бы даже сказал полезно. Искренне надеюсь что у вас их нет.
    Ответ написан
    Комментировать
  • Почему падает сервер при обращении к другому серверу?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    в логи посмотреть религия не позволяет?))
    Ответ написан
    6 комментариев
  • Почему PHPStorm перестал форматировать код некоторых PHP файлов?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Почистите кэш. Такое возможно, если индексация прошла с ошибками, ил не закончена.
    Ответ написан
  • Как хранить исходный код микросервисов?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Лично мне кажется, что необходимо хранить код всех микросервисов в одном репозитории проекта, но хотелось бы узнать ваше мнение

    Для малого количества - вполне ок, но вы сами сказали, что их будет много. По этому лучше все же в отдельных.
    Одна из основных целей микросервисов - обеспечение жесткого интерфейса между ними на уровне транспотра. В случае одного репозитория - рано, или поздно вы получите очень связанную систему и понятие микросервисов будет не применимо.
    Ответ написан
  • Русскоязычный подкаст о PHP?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Честно говоря не ясно, зачем... Про php есть тонны информации.

    Хотя, я могу и ошибаться. Какие темы предполагаются?

    2 вопроса:
    - почему код ниже говно?
    - почему код ниже НЕ говно?
    ))
    <?php
    
    namespace vendor\project\some\models;
    
    /**
     * Class User
     */
    final class User implements \Serializable
    {
        const FIELD_USER_ID = 'userId';
        const FIELD_NAME = 'name';
        const FIELD_PASSWORD = 'password';
    
        /** @var int */
        private $userId;
        /** @var string */
        private $name;
        /** @var string */
        private $password;
    
        /**
         * User constructor
         *
         * @param string $userId
         * @param string $name
         * @param string $password
         */
        public function __construct($userId, $password, $name)
        {
            if (empty($userId)) {
                throw new \InvalidArgumentException('$userId MUST NOT be empty');
            }
    
            if (!is_int($userId)) {
                throw new \InvalidArgumentException('$userId MUST be int');
            }
    
            if ($userId < 0) {
                throw new \InvalidArgumentException('$userId MUST be more than 0');
            }
    
            if (empty($password)) {
                throw new \InvalidArgumentException('$password MUST NOT be empty');
            }
    
            if (!is_string($password)) {
                throw new \InvalidArgumentException('$password MUST be string');
            }
    
            if (mb_strlen($password) !== 32) {
                throw new \InvalidArgumentException('$password MUST have length 32');
            }
    
            if (empty($name)) {
                throw new \InvalidArgumentException('$name MUST NOT be empty');
            }
    
            if (!is_string($name)) {
                throw new \InvalidArgumentException('$name MUST be string');
            }
    
            $this->userId = $userId;
            $this->name = $name;
            $this->password = $password;
        }
    
        /**
         * @return string
         */
        public function getUserId()
        {
            return $this->userId;
        }
    
        /**
         * @return string
         */
        public function getName()
        {
            return $this->name;
        }
    
        /**
         * @return string
         */
        public function getPassword()
        {
            return $this->password;
        }
    
        /**
         * @return string
         */
        public function serialize()
        {
            return serialize(
                [
                    self::FIELD_USER_ID => $this->getUserId(),
                    self::FIELD_NAME => $this->getName(),
                    self::FIELD_PASSWORD => $this->getPassword()
                ]
            );
        }
    
        /**
         * @param string $serialized
         *
         * @return string
         */
        public function unserialize($serialized)
        {
            if (!is_string($serialized)) {
                throw new \InvalidArgumentException('$serialized MUST be string');
            }
            
            $data = unserialize($serialized);
            if (
                !isset($data[self::FIELD_USER_ID]) ||
                !isset($data[self::FIELD_NAME]) ||
                !isset($data[self::FIELD_PASSWORD]) ||
                (count($data) !== 3)
            ) {
                throw new \InvalidArgumentException('Invalid serialized data');
            }
    
            return new self(
                $data[self::FIELD_USER_ID],
                $data[self::FIELD_NAME],
                $data[self::FIELD_PASSWORD]
            );
        }
    }
    Ответ написан
  • Как настроить рабочее пространство на Windows и Ubuntu для обучения PHP?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Ответ написан
    Комментировать
  • Как протестировать сайт под высокие нагрузки?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    10к пользователей - это абстракция. Нагрузка обычно меряется либо в rps (request per second), либо в bit/sec.

    rps можно померить через утилиту ab (apache benchmark)
    трафик - uperf
    Ответ написан
    Комментировать
  • Как правильно сделать гибрид SPA и классики?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Ответ написан
    Комментировать
  • Как организовать хранение файлов в PHP проекте?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    1. Файлы должны хранится в не публичном каталоге.
    2. Проверка доступа - php часть с отдачей на базе заголовков X-Sendfile, или X-Accel-Redirect. Читать и отдавать с помощью php - очень дорого.
    3. Ну и конечно права на запуск должны отсутствовать.
    Ответ написан
    Комментировать
  • Будущее у RestFull сайтов?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    То, что вы называете RestFull - имеет немного другое имя: SPA.
    Взгляните на catberry
    Ответ написан
    Комментировать
  • Где искать последствия атаки на сайт?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Буквально вчера был подобный вопрос.
    Искать изначально в логах.

    Конкретно в вашем случае - это подбор SQL-инъекций.
    Ответ написан
    Комментировать
  • Какой MySQL Manager вы используете?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    PhpMyAdmin, mysql-client
    Ответ написан
    Комментировать