Задать вопрос
Мой гитхаб здесь https://github.com/Exomode а так же здесь https://github.com/escorp-dynamics
Мои статьи на Хабре здесь https://habr.com/ru/users/exomode/posts/
Контакты

Достижения

Все достижения (3)

Наибольший вклад в теги

Все теги (40)

Лучшие ответы пользователя

Все ответы (105)
  • Какие нужны фундаментальные знания?

    Exomode
    @Exomode
    Архитектор ПО
    Это ощущение вас никогда не покинет, учитывая темп развития технологий в последние 20 лет. Только вы досконально изучите и научитесь работать с одной технологией - ей на замену сразу придет другая и придется её точно так же изучать чтобы оставаться технически востребованным и конкурентноспособным специалистом на бирже труда. Смиритесь с этим чувством. Либо просто досконально изучите определенный классический стек технологий и работайте с ним, если ваш уровень развития вас устроит.

    По поводу литературы и мануалов от себя могу сказать, что в нашем деле главное не теория, а практика. Мы делаем, а не учим. Наше дело - как максимум, помочь другим советом или опытом. Мы никак не сможем многолетний практический опыт, выработанный склад мышления и все наши навыки доскональным понятным языком описать в очередной книге чтобы, прочитав её, другой человек смог достичь того же уровня. Это очевидно. Практикуйтесь, развивайтесь, изучайте, экспериментируйте, не бойтесь на первый взгляд нерешаемых задач, больше практики, меньше чтения. Восполняйте чтением необходимые вам теоретические пробелы, чтобы ваши практические навыки улучшались. Это главное, что я могу сказать, опираясь на собственный десятилетний опыт работы в нашей сфере труда.
    Ответ написан
    Комментировать
  • Простая система хуков на php?

    Exomode
    @Exomode
    Архитектор ПО
    class Hook {
      protected $callbacks;
    
      public function __construct($callbacks = []) {
        $this->callbacks = [];
    
        if (!isset($callbacks) || !is_array($callbacks) || sizeof($callbacks)) {
          return;
        }
    
        foreach ($callbacks as $k => $v) {
          if (!is_string($k) || !isset($v) || !is_callable($v)) {
            continue;
          }
    
          $this->callbacks[$k] = $v;
        }
      }
    
      public function add($key, $callback) {
        if (!isset($key) || !isset($callback) || !is_string($key) || !is_callable($callback)) {
          return;
        }
    
        $this->callbacks[$key] = $callback;
      }
    
      public function remove($key) {
        if ($this->exists($key)) {
          unset($this->callbacks[$key]);
        }
      }
    
      public function exists($key) {
        return isset($key) && array_key_exists($key, $this->callbacks);
      }
    
      public function run($key, ...$args) {
        if ($this->exists($key)) {
          $func = $this->callbacks[$key];
    
          if (!isset($args) || !is_array($args)) {
            $args = [];
          }
          
          if (isset($func)) {
            $func(...$args);
          }
        }
      }
    }
    
    $hook = new Hook();
    $hook->add("my_hook", function ($args) {
      // todo
    });
    
    $hook->run("my_hook");
    $hook->run("my_hook", 1, "string", true);

    Что-то вроде такого?
    Ответ написан
    3 комментария
  • Какая должна быть правильная авторизация на php?

    Exomode
    @Exomode
    Архитектор ПО
    Лучше всего навигацию по сайту реализовывать через паттерн проектирования, например, самые классические MVC/HMVC или компонентные. Тогда у вас будет всего одна точка входа в систему и не придётся в каждом скрипте писать проверки, инклуды и тд.

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

    Чтоб сессии работали, ничего инклудить не обязательно, главное чтоб вначале скрипта всегда выполнялся session_start(). В итоге проверка отработает на всех ваших скриптах страниц, которые должны делать редирект в случае если пользователь не авторизован.
    Ответ написан
    9 комментариев
  • Что нужно для первого приложения(ios/android)?

    Exomode
    @Exomode
    Архитектор ПО
    1) Xamarin.Forms для разработки UI и бизнес-логики на C# сразу под обе платформы;
    2) OSX для сборки и деплоинга билдов приложения под iOS (любой макбук подойдёт) и желательно айфон;
    3) Навыки в WPF для верстки UI;
    4) Навыки в SQL для работы с SQLite;
    5) Visual Studio для Windows или OSX;
    6) Документация по Xamarin, Android SDK и iOS SDK;
    7) Прямые руки, желание изучать технологию и представление конечного результата.
    Ответ написан
    Комментировать
  • Как сделать hover на svg?

    Exomode
    @Exomode
    Архитектор ПО
    Для того, чтобы на вашем векторном канвасе работали все события js и css, вам нужно в разметку вашего документа (страницы) непосредственно внедрить полную разметку вашего svg. Далее вы можете с ним делать что угодно, словно это любой другой DOM-элемент. Доступ к дочерним элементам типа g или path так же сохранится с теми же событиями. Если вы подгрузите в документ свой вектор svg как <img src="some.svg" alt="svg" /> или в таком духе, ваши события, разумеется, не будут работать, ни в css, ни в js.
    Ответ написан
    Комментировать