• Что такое провайдер в программировании?

    dunmaksim
    @dunmaksim
    Технический писатель
    Как правило провайдер используется для инкапсуляции более сложного кода, скрывая детали реализации. Он служит этакой обёрткой, реализуя шаблон проектирования "Фасад".
    Вы копируете файл из каталога в каталог, просто перетащив его мышью. Но как это произошло на физическом уровне? Вам этого знать не обязательно, всё скрыто под множественными слоями абстракций.
    Чтобы не думать о каких-либо низкоуровневых вещах, часто вводят провайдеры, сервисы и т.д. Суть одна - скрыть какие-либо часто используемые сложные функции и рутинную работу за простым и понятным интерфейсом.
    Ответ написан
    2 комментария
  • Как всё успевать и не быть роботом?

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

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

    Какая там музыка, 1-3 часа? Реально? С чем, а с музыкой (и с творчеством вообще) это точно не работает. Я недавно решил накидать ударку для демки, потратил порядка 5 часов на 16 тактов, расставлял всякие крутые фичи, думал, как будет качать. Здоровая еда и спорт - это не про вас, если вы хотите, чтобы музыка качала. Образно, конечно, я говорю.

    Ответ очень простой. Просто забить на то, как правильно, а делать только то, что по фану. Мне вот, например, английский как-то не сильно критичен... Я довольно легко общаюсь на нем письменно, читаю доки еще проще, общаюсь очень плохо, лучше слышу американский акцент. Не хочу вот им заниматься систематически и все тут) Мне проще провалить 5 собеседований из-за плохого английского и учить его в экстремальных условиях, чем по распорядку что-то там делать, потому что успешные люди сказали, что это круто. Делайте то, как у вас душа лежит, не гонитесь за всем.

    Не смотрите на успешных людей, которые все успевают. Это какая-то модная фича в 21 веке... на работе ты все успел, в воскресенье взял велик, поехал за город, покатался, вернулся, типа отдохнул. Если у вас появляются какие-то вопросы, то это, скорее всего, не для вас.

    Обычно человек чем-то занимается профессионально и чем-то для хобби (в свободное время). Причем хобби вполне может быть профессиональным, но "для себя". Что касается профессиональной деятельности, то можно особо никуда не бежать и при этом развиваться. Уроки по разработке 1-2 часа в день после 8 часов работы? Да ладно, это не работает)) Не бегите так сильно: просто хорошо работайте, старайтесь брать интересные проекты, периодически "горизонтально ходите" по своей области. И все будет хорошо. Вы разработчик? Читайте алгебру по фану, она очень мышлению помогает. Скажите в субботу всем, что вы решили "посидеть за компом", и посмотрите интересный фреймворк или допилите что-то в опенсорс. Делайте главное все это систематически или относительно систематически. И через какое-то время вы поймете, что развитие идет. Главное делайте все круто, что касается работы (чувствуется кривой подход? надо это поправить, это будет и скилл и проекту лучше). И мониторьте разные хабры, модные течения, но не пристально. В общем, кто-то бежит очень сильно, а кто-то медленнее. К качеству это вряд ли имеет какое отношение.

    А что касается того, что хочется делать хобби и делать его круто... Здесь выхода нет, придется отставить спорт, правильное питание, не тратить на это время, да. Переехать поближе к работе, возможно, сменить город на поменьше и делать весь вечер игры или музыку, чтобы качала. Мешать соседям, все это не важно... Как и сердечно-сосудистые заболевания (у меня, кстати, есть зачатки, так что я очень хорошо знаю, что такое аритмии/экстрасистолия, повышенное давление, частые головные боли и так далее).

    Семья? Говорят еще, что надо семью. Это все чуть позже (имею в виду детей, т.к. именно они реально обременяют). Не могу представить, как можно жить одному (давно не жил), но если человек рядом понимает, то проблем быть не должно быть.

    В качестве вывода:

    1) Найти свой темп. Пусть он медленнее, чем у самого медленного человека в мире, но главное - быть качественным.
    2) Не гнаться за всем, сделать акцент на самом важном. Обычно, кстати, у человека все интересы смежные или их не более двух (больших таких категорий/классов интересов), так что тут легко сделать акцент на самом важном. Это чувствуется всегда (мой субъективный опыт, исключения вижу оооочень редко).
    3) Забить на модные штуки 21 века а-ля спорт, ЗОЖ. Делайте зарядку по утрам и не всегда ешьте фастфуд, и все будет хорошо.
    4) Работа... Не то, чтобы это центр вашей жизни. Я для себя уяснил одно только правило: делайте круто то, что вы делайте. Вы можете не брать много проектов/ответственности, уходить с работы строго в 6 и ни минутой позже, в общем, в разное время относиться к работе по-разному. Когда-то стрелять там и блистать идеями, когда-то просто работать, когда-то особо не развиваться и заниматься хобби. Относитесь к ней проще. Такая идея лично мне дает свободу, я лучше работаю так. Тем более, что мы с вами в мире IT. У нас работа совпадает с тем, что интересно по-настоящему. Вы же не пьете чай каждую минуту, потому что он очень крутой? Иногда можно не пить его целый день, но это не важно, вы все равно вернетесь к нему через день или два, потому что он нравится. :)
    5) Как успевать все и не быть роботом? Никак :)

    p.s. Я старался вас успокоить немного, у вас больше психология, нежели реальные проблемы. Не то, чтобы надо всегда быть таким спокойным, нет. Можно адско побегать неделю или месяц. Вы слишком сильно подвержены влиянию разных течений в обществе, они конфликтуют с видением мира настоящего внутри вас. Надо всегда что-то терять. Нельзя повысить уровень абстракции и не усложнить систему (= повысить входной порог). Нельзя очень напрячь руку и сохранить ее мобильность. И да, нельзя повысить количество занятий, не потеряв в качестве (есть какой-то порог, но ваш план перешел порог нормального человека после 3.5 пункта).
    Ответ написан
    1 комментарий
  • Хочу избавиться от портянок с именами переменных в PDO. Как?

    @Arik
    Пример #4 Создание объекта для каждой строки
    <?php
    class fruit {
        public $name;
        public $colour;
    }
    
    $sth = $dbh->prepare("SELECT name, colour FROM fruit");
    $sth->execute();
    
    $result = $sth->fetchAll(PDO::FETCH_CLASS, "fruit");
    var_dump($result);
    ?>


    upd:
    Вот в этом то и проблема. Я пытаюсь скрыть внутри класса всё взаимодействие с БД. А у вашем варианте это не так.

    Тогда надо наследовать от чего общего и ложить примерно такую логику (не тестировал, может не работать, но логика такая):
    abstract class modelDB
        {
        public static function find()
            {
            $sth = $dbh->prepare("SELECT * FROM `". get_called_class() ."`");
            $sth->execute();
    
            return $sth->fetchAll(PDO::FETCH_CLASS, get_called_class());
            }
        }
    
    class fruit extends modelDB {
        public $name;
        public $colour;
    }
    
    $result = fruit::find();
    Ответ написан
    1 комментарий
  • Как сделать при:hover на одном div второй плавно появлялся справа?

    evgentus
    @evgentus
    Директор OBS Group
    В данном случае можно так
    Ответ написан
    Комментировать
  • Как реализовать авторизацию выхода в интернет по http?

    shineblu
    @shineblu
    Добрый день,

    Для Windows подобных решений не знаю (но наверняка есть). Для Linux (Debian) рекоммендую CoovaChilli (стабильный форк Chillispot). Для его использования нужно будет поднять отдельную железку (шлюз/комп). И все будет так как Вы и описываете:

    1. При подключении к WiFi, CoovaChilli выдаст клиенту внутренний IP из своей подсети, при этом клиент будет изолирован от соседей
    2. В Windows появится окошко в трее, что требуется авторизация для доступа в интернет, а IOS устройства сразу попробуют открыть браузер (в момент подключения к точке доступа, покажут Login Page)
    3. После успешной авторизации шлюз начнет пропускать трафик с локального на WAN интерфейс (это или Ваша локалка или отдельный линк в интернет)

    Из плюсов - решение очень гибкое, аутентификацию клиента можно сделать через HTTP (не будет проблем с self-signed сертификатами), можно сделать ваучеры (почасовой доступ), можно прописать ресурсы доступные без авторизации (обычно это DNS сервера) и прочее.

    Другие решения Вы можете посмотреть здесь: en.wikipedia.org/wiki/Captive_portal

    Успехов!
    Ответ написан
    1 комментарий