Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
disc

Александр

веб-разработчик
  • 61
    вклад
  • 0
    вопросов
  • 85
    ответов
  • 27%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как вы освоили шаблоны проектирования?

    27cm
    Котик Антон @27cm
    TODO: Написать статус
    Вот вам 12 маленьких задач на 12 паттернов:
    github.com/zfcampus/zendcon-design-patterns

    1. Открываете папку с паттерном.
    2. Читаете README.md с описание задачи.
    3. Открываете exercise.php и пытаетесь решить задачу, применив соответствующий паттерн.
    4. При необходимости вспоминаете теорию: github.com/domnikl/DesignPatternsPHP
    5. Сверяетесь с решением в solution.php.
    Ответ написан более трёх лет назад
    7 комментариев
    7 комментариев
  • Java. Абстракции, интерфейсы, наследования. Как реализовать?

    nagibator8000 @nagibator8000
    Я бы использовал композицию, а не наследование. Создал бы интерфейс Action и от него класс JumpAction. Потом интерфейс Human с одним методом doAction, который бы принимал Action. А уже дальше на основе Human создал классы Man и Woman и реализовывал уникальную логику для каждого класса.

    UPD. набросал код
    public static interface Action {
            void apply(int power);
            String getActionName();
        }
    
        public static class JumpAction implements Action {
    
            private int gravity;
    
            public JumpAction(int gravity) {
                this.gravity = gravity;
            }
    
            @Override
            public void apply(int power) {
                if (power > gravity) {
                    System.out.println("прыгает на " + (power - gravity) + " метров...");
                } else {
                    System.out.println("немогу подпрыгнуть...");
                }
            }
    
            @Override
            public String getActionName() {
                return "прыжок";
            }
        }
    
        public static interface Human {
            void doAction(Action action);
        }
    
        public static class Man implements Human {
    
            public String name;
            private int power = 10;
    
            public Man(String name) {
                this.name = name;
            }
    
            @Override
            public void doAction(Action action) {
                System.out.println(name + " делает " + action.getActionName());
                action.apply(power);
            }
        }
    
        public static class Woman implements Human {
            public String name;
            private int power = 7;
    
            public Woman(String name) {
                this.name = name;
            }
    
            @Override
            public void doAction(Action action) {
                System.out.println(name + " вертя задницей делает " + action.getActionName());
                action.apply(power);
            }
        }
    
        public static void main(String[] args) {
            JumpAction jump = new JumpAction(8);
            Man man = new Man("Анатолий");
            man.doAction(jump);
            Woman woman = new Woman("Наталья");
            woman.doAction(jump);
        }

    Выдаст
    Анатолий делает прыжок
    прыгает на 2 метров...
    Наталья вертя задницей делает прыжок
    немогу подпрыгнуть...
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Какой MySQL Manager вы используете?

    begemot_sun
    Сергей @begemot_sun
    Программист в душе.
    SQLYog
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Для каких задач больше подойдет MySQL а для каких PostgreSQL?

    SowingSadness
    Kir --- @SowingSadness
    web-разработчик
    PostgreSQL лучше во всех аспектах, в том числе и по скорости ответа.
    Уже нет причин использовать MySQL.

    PostgreSQL можно продавать со своим продуктом. MySQL - нет.
    PostgreSQL умеет массивы, MySQL - нет.
    PostgreSQL умеет json, MySQL - нет.
    PostgreSQL умеет DateTime с временными зонами, MySQL - нет.
    PostgreSQL умеет работать с временными интервалами, MySQL - нет.
    PostgreSQL умеет нормально работать с unicode, MySQL - нет.
    PostgreSQL умеет DISTINCT по выбранным колонкам, MySQL - нет.
    PostgreSQL умеет ограничивать значения индексов по условиям, MySQL - нет.
    PostgreSQL имеет схемы, MySQL - нет.
    PostgreSQL имеет наследование в таблицах, MySQL - нет.
    PostgreSQL есть нормальная оптимизация JOIN, MySQL - нет.
    PostgreSQL умеет материализованные представления, MySQL - нет.
    PostgreSQL умеет PLSQL, MySQL - нет.
    PostgreSQL умеет Python функции, MySQL - нет.
    PostgreSQL умеет ключи из внешних источников, MySQL - нет.
    PostgreSQL умеет нормальные(вложенные) транзакции, MySQL - нет.
    MySQL есть проблемы с установкой и удалением своих сервисов под Windows, PostgreSQL - нет.
    ̶P̶o̶s̶t̶g̶r̶e̶S̶Q̶L̶ ̶у̶м̶е̶е̶т ̶а̶с̶и̶н̶х̶р̶о̶н̶н̶у̶ю р̶е̶п̶л̶и̶к̶а̶ц̶и̶ю̶, ̶M̶y̶S̶Q̶L̶ ̶-̶ ̶н̶е̶т.
    Ответ написан более трёх лет назад
    26 комментариев
    26 комментариев
  • Чем форматировать PHP+HTML код в Sublime Text 3?

    cjbars
    Денис @cjbars
    php CodeFormatter
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Что почитать по общей концепции программирования?

    iamnothing @iamnothing
    Стивен Макконнелл, Роберт Мартин (дядя Боб), Мартин Фаулер - имхо, обязательно их нужно прочитать, а то и не раз.
    Дональд Кнут, Эрих Гамма и компания - уже по желанию, но всё же рекомендуется к прочтению.

    Дальше уже, кмк, можно смотреть по необходимости. Например, мне видится очень правильным (при разработке сложных систем) подход DDD, тогда в список можно включить Эрика Эванса, Джима Нильсона, Вона Вернона.

    Да, еще стоит упомянуть таких авторов как Кент Бек и Алистер Кобёрн
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Какой rss reader для android, на сегодняшний день, является лучшим?

    ZeLib0ba
    Алексей @ZeLib0ba
    [IT]ишник | http://surin.ru
    Юзаю InoReader. Всем доволен.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Кто как будет праздновать день программиста?

    AxisPod
    AxisPod @AxisPod
    С гантелями в руках :-)
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Есть ли список стран с привязкой к зоне (Европа, Азия, Африка, etc)?

    winbackgo
    winbackgo @winbackgo
    www.geonames.org/countries/
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Webmoney в linux ?

    alexd73
    Алексей Демин @alexd73
    Я работаю через light.webmoney.ru
    Ответ написан более трёх лет назад
    5 комментариев
    5 комментариев
  • Как называется команда для улучшения читабельности в консоле MongoDB?

    gaelpa
    gaelpa @gaelpa
    Оффтопик, но может кому пригодится:
    Pretty-print для консоли MySQL ( "\G" вместо ";"):
    mysql> select * from accounts limit 1 \G
    *************************** 1. row ***************************
                         id: 410783
                         email: fake@asdasd.ru
    ...
                         nick: gaelpa
    1 row in set (0.00 sec)
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Проблемы с поиском буквы "Й" в PostgreSQL 8.4

    alexius2
    alexius2 @alexius2
    1) А какая у вас используется кодировка и локаль?

    2) На запросах типа
    select '1' where 'Василий Иванов' ilike '%Й%'
    
    ошибка воспроизводится?

    3) так, наверное, лучше строки склеивать:
    AND first_name || ' ' || last_name ILIKE :search
    
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Шуточная шпаргалка по срокам выполнения проектов

    sefus
    sefus @sefus
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Fastcgi_param и SCRIPT_FILENAME?

    wumvi
    wumvi @wumvi Автор вопроса
    Порыскал на хабре нашел ответ
    habrahabr.ru/post/100961/

    в php.ini выставить
    cgi.fix_pathinfo=0
    или
    как сказал disc
    try_files $fastcgi_script_name =404;
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • как быстро найти PHP программиста в Киеве?

    nswbit
    nswbit @nswbit
    [offtop]видео жжёт![/offtop]
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Когда видимость метода стоит установить private, а когда — protected?

    Zigmar
    Zigmar @Zigmar
    Если явно не надо делать protected (например метод переопределив который, вы позволите пользователю модифицировать поведение) — делайте private. На «всякий случай» делать protected — это по крайней мере странно, это все равно, что на всякий случай делать все public. Вообще, если вы пишете библиотеку, то так-же как вы определяете, что будет публичным интерфейсом (public) а что имплементацией (private), введите еще одну сущность — интерфейс для наследников. С таким делением (интерфейс для всех/интерфейс для наследников/детали имплементации) все должно стать более или менее понятно.
    Ответ написан более трёх лет назад
    3 комментария
    3 комментария
  • iphone 4 или подождать

    d4rkr00t
    d4rkr00t @d4rkr00t
    buyersguide.macrumors.com/#iPhone Тут посмотрите :)
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Синхронизация web проекта

    resurtm
    resurtm @resurtm
    Если имеется ввиду актуализация БД по мере разработки проекта на компьютерах разработчиков и на боевом сервере (насколько я понял из смутной формулировки вопроса), то делается через миграции + Ant/Phing/Maven сценарий.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Систему мониторинга системы для linux?

    clamaw
    clamaw @clamaw
    Monitorix
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
Оценили как «Нравится»
Самые активные сегодня
  • sergey-gornostaev
    Сергей Горностаев
    • 6 ответов
    • 0 вопросов
  • Adamos
    Adamos
    • 6 ответов
    • 0 вопросов
  • Foxik1
    • 3 ответа
    • 2 вопроса
  • Fockker
    Ипатьев
    • 5 ответов
    • 0 вопросов
  • ky0
    ky0
    • 5 ответов
    • 0 вопросов
  • meDveD_spb
    meDveD_spb
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации