• Какую выбрать библиотеку для работы с imap на PHP?

    Acuna
    @Acuna
    Заполнил свой профиль
    Я пользуюсь PHPMailer, она умеет получать почту с Гугла по IMAP и POP3, html тоже возвращает, но насчет сортировки не знаю, ибо на сервере мне это не нужно. Только стесняюсь спросить, вам на сервере нужно письма сортировать, или на десктопе? Если последнее - то очень рекомендую почтовый клиент The Bat!, я им как раз и пользуюсь для автоматической сортировки всех новых и старых писем по папкам, настроил кучу правил для каждого ящика в зависимости от того, что мне нужно.
    Ответ написан
  • Bluetooth на ухе - это вредно?

    Acuna
    @Acuna
    Заполнил свой профиль
    Я провел исследование намного быстрее и проще: от часа разговора по телефону у меня болит висок (именно по ощущениям как-будто бы туда кулаком зарядили), от гарнитуры - нет. Вот и все.
    Ответ написан
  • Как создать свою доменную зону?

    Acuna
    @Acuna
    Заполнил свой профиль
    Очень давно, еще при царе Горохе, может лет 20 назад, Гугл подавал заявку в ICANN на регистрацию зоны .google, но им отказали, а вы хотите сами зарегать) Но как вариант - можно с девушкой какой-нибудь познакомиться, которая там работает, может и получится по знакомству, но тоже шансы нулю равны конечно :/ Но у Яндекса получилось, но я не знаю как...
    Ответ написан
  • Как исправить ошибку в open server pg_connect?

    Acuna
    @Acuna
    Заполнил свой профиль
    По дефолту в OpenServer для PostgreSQL добавлено только PDO, поэтому расскоментируйте еще

    extension = pgsql

    в php.ini
    Ответ написан
  • Как создать домен не вводя паспортные данные?

    Acuna
    @Acuna
    Заполнил свой профиль
    Так ведь не пользоваться рашкинскими регистраторами (просто о них забыть, ибо зачем, проблемы будут обязательно, это просто вопрос времени, плюс с вероятностью 90% снимут с делегирования даже без решения органов если вдруг ресурс кому-то будет мешать) и пользовать услугу Private Person, стоит копейки, для зоны .com точно имеется, а зарубежным регистраторам (тебе нужен регистратор, а не хостинг, не путай. Некоторые хостинги являются регистраторами, но только если очень крупные как GoDaddy) вообще все-равно до твоих паспортных данных, ибо в любой цивилизованной стране опасность представляют только террористы, а не народ. Но я думаю это ты и без меня понимаешь. Надеюсь.
    Ответ написан
  • Почему очень быстрый сайт имеет плохую оценку PageSpeed?

    Acuna
    @Acuna
    Заполнил свой профиль
    Не знаю откуда у вас там берутся картинки, может CDN какая доставляет на лету, но грузятся они очень долго. Вы пытались обдурить Гугл, выкидывая юзеру чистый HTML, а потом уже картинки, но это читерство, ибо перед загрузкой картинок возникает секундная задержка, а это визуальная задержка в глазах юзера. Надо смотреть почему CDN так долго их отдает, может перед ней прокси медленный стоит, либо нужно смотреть какой регион выбран у бакета если это Amazon S3, и т. д. В общем сюда копать надо. Либо локально хранить пикчи, у вас же три картинки на сайте, зачем их брать откуда-то?
    Ответ написан
  • Есть ли данные о эффективности Agail?

    Acuna
    @Acuna
    Заполнил свой профиль
    Во-первых, поправочка: "agile", не "agail", произносится как "эджаил", только так, разумеется никакой не "агиле" и т. д. Во-вторых, может вопрос Хабром и навеян, но была как раз статья недавно, не знаю конечно читали ли или нет, но там просто размазали его по асфальту, очень рекомендую почитать если это еще не было сделано, прежде чем решите внедрять: https://habr.com/ru/post/489538
    Ответ написан
  • Замена плагину query_response_time в MySQL?

    Acuna
    @Acuna
    Заполнил свой профиль
    Вместо этого они расширили Performance_Schema и теперь нужно вручную брать данные из нее и слать значения куда надо, тут хорошая статья.
    Ответ написан
  • Есть ли инструмент, с помощью которого можно выкачать всё о себе из vk.com?

    Acuna
    @Acuna
    Заполнил свой профиль
    Полгода назад ВК выкатил официальный инструмент для этого: https://vk.com/data_protection?section=rules&scrol... Сам проверял, выдает действительно все, вплодь до лички, комментов, фоток (даже из закрытых альбомов) и истории посещений, процесс подготовки занимает дня три, иногда больше.
    Ответ написан
  • Зачем нужны абстрактные классы и интерфейсы в php?

    Acuna
    @Acuna
    Заполнил свой профиль
    Если совсем на пальцах для гарантированного понимания на наглядном примере: мы проектируем класс для работы с БД. Он должен работать с разными типами БД (MySQL, PostgreSQL, и т. д.). Каждый тип, с которым он может работать, мы реализовываем в виде отдельного класса (что в дальнейшем позволит просто добавлять к нашему проекту новые классы, не переписывая основной класс). Благодаря этому можно создавать другие классы на основе нашего абстрактного основного класса, не боясь, что необходимые для работы методы не будут определены (так как абстрактные методы обязаны быть переопределены при расширении функционала этого класса базовым абстрактным классом), что позволит предотвратить ситуации когда либо сам разраб забыл переопределить нужный для работы нашего расширения метод, либо другие программеры забыли/забили на это при создании своих расширений для этого класса, а тут компилятор скажет, мол, ты расширяешь свой класс базовым классом, это хорошо и правильно, но переопредели плиз эти абстрактные методы, ибо в них вообще вся суть расширения. Надеюсь хотя-бы это объяснение прольет свет. Штука крайне удобная, одна из самых удобных и нужных вещей в PHP и вообще во всех нормальных языках.
    Ответ написан
  • Как полностью выключить вывод ошибок в PHP?

    Acuna
    @Acuna
    Заполнил свой профиль
    Я бы не рекомендовал затыкать вывод ошибок полностью, это bad practice. Пишу на PHP уже лет 10, и только недавно установил уровень E_ALL, исправление всех ошибок заняло где-то неделю, но сейчас я нарадоваться не могу, ибо ругается даже на отсутствие ключей в массиве (ибо в большинстве случаев если обращаются к какому-либо ключу, он должен быть в массиве, а его отсутствие - следствие какой-то проблемы). Об отсутствии какой-либо переменной я и вовсе не говорю. Для юзера достаточно просто подавить вывод ошибок (ибо сайт не будет работать только при E_FATAL и E_COMPILE, когда вообще не получается получить байткод), а для разрабов ошибки можно писать хоть в текстовый файл, используя собственный обработчик set_error_handler ().
    Ответ написан
  • Что если несколько пользователей одновременно обратятся к скрипту?

    Acuna
    @Acuna
    Заполнил свой профиль
    Так ведь скрипт - это тот же index.php, то есть сам сайт по сути) Если уж совсем на пальцах, то сервер - это папка, где хранятся файлы, а браузер просматривает эти файлы (это и есть HTTP), что произойдет если миллион человек запросят файл index.php? Сервер им его отдаст, ибо это просто его просмотр. Это не многозадачность, это просто обращение к файлу. Другой вопрос если этот скрипт что-то пишет в другой текстовый файл (не в БД, БД это как раз многозадачность), то там будут возникать блокировки и вообще что угодно, вплоть до его повреждения. Но это уже из другой области вопрос, а вы про HTTP спрашиваете.
    Ответ написан
  • Стоит ли принимать приглашение на работу?

    Acuna
    @Acuna
    Заполнил свой профиль
    Я так скажу: вам кажется просто что вы еще не нагулялись, такие перспективы в жизни открываются, а тут галера в МинОбороны пожизненно, поэтому если есть возможность полоботрясницать - полоботрясничайте пока, работать всегда можно пойти, с таким стеком технологий оторвут с руками в любом возрасте.
    Ответ написан
  • Можно ли заменять в SQL запросе ' на "?

    Acuna
    @Acuna
    Заполнил свой профиль
    В плане самого вопроса - можно, почему нет, у меня все работает годами без проблем, другой вопрос что на определенном этапе проект разрастется до того, что нужно будет переходить на PostgreSQL, там западло и начнется, так как она принимает только одиночные кавычки, так что лучше изначально использовать одиночные.
    Ответ написан
  • Как учиться по API (android)?

    Acuna
    @Acuna
    Заполнил свой профиль
    Теория без практики мертва, как известно, поэтому нужно кодить, иначе не научиться. У Андройда реально хреновые доки, я туда за все время лазил пару раз от силы, так что идеальный вариант - искать ответы на SO, там всегда выкладывается код для решения той или иной задачи. Но у него есть и минус: большое количество индусов с соответствующим качеством кода, поэтому чтобы начать активно им пользоваться - к этому времени уже нужно хоть как-то разбираться хотя-бы в логике языка, чтобы уже на лету переписывать код из индусского в нормальный сразу в момент добавления его в проект, чтобы потом не тратить время на рефакторинг. Еще можно брать исходники опенсорсных проектов, но новичку в чужом лапшекоде разбираться весьма трудно, а уж искать решения и подавно.
    Ответ написан
  • Почему в js и в php по-разному сравнивают переменные?

    Acuna
    @Acuna
    Заполнил свой профиль
    На самом деле все на удивление просто:

    1) Из-за динамической типизации и логичного кода PHP отлично заходит у новичков со всеми вытекающими, а так как они самоучки, очевидно они скорее всего никогда не слышали о том, что нужно сравнивать переменные строго, плюс PHP не ругается, поэтому зачем писать ===, когда можно написать просто ==?
    2) Из-за той же динамической типизации PHP особо не важно что и с чем сравнивать, он все приводит на лету к чему надо, ибо если бы этого не происходило, то все бы падало на каждом шагу, ибо С (на чем он написан) - параноик на типы данных, поэтому === - это по сути просто заглушка.
    Ответ написан
  • Зачем прописывать методы в Interface когда можно так же в классе?

    Acuna
    @Acuna
    Заполнил свой профиль
    Интерфейсами очень хорошо реализовывать какие-либо слушатели или коллбеки для использования их значений извне.

    Например:

    public class MyClass {
      
      private String mess = "";
      private MyListener listener;
      
      public MyClass () {
        
        mess = "Успешно";
        
      }
      
      public void addListener (MyListener listener) {
        this.listener = listener;
      }
      
      public void connect () {
        
        listener.onSuccess (mess); // Какое-либо действие в случае успеха, например, подключение к серверу
        
      }
      
    }
    
    interface MyListener {
      
      void onSuccess (String mess);
      void onError (int code);
      
    }

    Теперь его можно вызвать следующим образом:

    MyClass myClass = new MyClass ();
    
    myClass.addListener (MyListener () {
      
      @Override
      public void onSuccess (String var1) {
         System.out.println (var1); // var1 имеет значение "Значение", которое мы получили в конструкторе класса MyClass. А тут с ней можно делать что угодно, например, слать HTTP-запросом куда-либо дальше.
      }
      
    });
    
    myClass.connect ();

    Просто и наглядно. Еще удобно их пользовать для описания методов каком-либо классе, чтобы другим программерам было удобнее копаться в чужом коде.
    Ответ написан
  • Кто может подсказать по теоретическим вопросам по архитектуре таких сайтов, как соц.сети, сайты знакомств (интересует back-end: БД, картинкохранение)?

    Acuna
    @Acuna
    Заполнил свой профиль
    О хранении картинок расскажу. У ВК тут все просто на самом деле: имеется просто куча своих серверов дабы не забивать каналы хостера трафиком, в БД хранятся прямые ссылки на эти картинки, привязанные к id каждого поста. Прелесть этого метода в том, что при переезде на новые сервера на них можно создать такую же структуру папок и никакие ссылки менять не нужно. Простые смертные, разумеется, ни VPN, ни даже выделенные сервера для хранения чего-либо не используют в принципе - трафик забьет все каналы хостера уже при 1000 хостов в день, да и место невообразимо дорого. Используются системы хранения типа Amazon S3 или Google Cloud Storage - оплачивается объем занятого места и объем скачанного исходящего трафа (просмотр юзерами фоток - это, по сути, их скачивание). Экономия раз в 10 получается. Серьезно.
    Ответ написан
  • Кто писал свою CMS?

    Acuna
    @Acuna
    Заполнил свой профиль
    Пару лет назад отвечал на совершенно аналогичный вопрос, набросал целые мемуары, отныне просто копирую ссыль на него, ибо он с лихвой покрывает все моменты: Php cms для самоучки реально?
    Ответ написан
  • Тупиковое и медленное развитие, лекарство?

    Acuna
    @Acuna
    Заполнил свой профиль
    Все просто: надо делать свой проект для души, который будет хотеться делать, ибо полезен конкретно для Вас, иначе будет просто не интересно и не будет мотивации. и скилы под одно подтянете. Отвечал уже давно весьма основательно по этому поводу, в конечном итоге решил просто давать ссылку на этот ответ: https://toster.ru/answer?answer_id=665948#comments...
    Ответ написан