• Вопрос про ООП, как использовать?

    iwqn
    @iwqn
    Программист-самоучка
    Мне в своё время объяснили - ООП нужен в сложных проектах, которые поддерживают и кодят много людей. ООП позволяет привести код к определенной системе и при очень больших объемах кода помогает избежать повторений.

    Тем не менее я и сам пилил свои говноCMSки и даже конструктор сайтов без ООП. Код получался лаконичнее, быстрее и проще.

    Тут каждому своё - если что-то простое писать то ООП в PHP вовсе не нужен, на мой взгляд.

    Интересно будет послушать мнения
    Ответ написан
    Комментировать
  • Почему фрилансеры готовы общаться только в чате?

    Потому что не существует вещей, которые голосом объяснить было бы быстрее и проще. Гундеть в чате 30 минут или написать большой структурированный месседж за 5 минут, в котором будет все необходимое - что проще и быстрее? Разработчик прочитает, обдумает (и его никто не будет переспрашивать "ну что, как сделаем-то?", "чего молчим?") и напишет такой же структурированный ответ, с уточнениями по каждому неясному пункту.

    Видеопрезентации в 95% случаев заканчиваются тыканьем курсора в какую-либо область сайта и вещанием за кадром "ну вот тут видите, вот это вот нужно вот так переделать". Разработчики не тупые, и понимают задачу (при грамотной ее постановке) еще до созвона.

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

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

    Иными словами, если человек настаивает на голосовом общении и \ или периодически звонит, он просто лентяй, который печатает медленнее моей бабушки, который не хочет вкладывать энергию в качественную постановку задачи и обсуждение вопросов, либо манипулятор, думающий, что голосом ему будет легче решать организационные вопросы.

    Исключение - вступительная беседа минут на 5-10, без объяснения технических деталей, просто для знакомства, ну и, если имеем дело с командой, мит-апы, конференции, где действительно формат с несколькими участниками порой требует видео и звука.
    Ответ написан
    Комментировать
  • Какие существуют правила хорошего дизайна?

    Haleff
    @Haleff
    Надоедлив
    Как по мне привила очень просты.

    1. Правильное соотношение цветов. Для того что-бы на дизайн сайта было приятно смотреть можно поискать в интернете правильное соотношение цветов. На практике без тренировки выйдет ужас.
    2. Разнообразие. В виде минимализного украшения дизайна и добавление всем давно привычного
    3. Удобство. Понятность и минимализм дизайна. Сейчас это в моде.
    Ответ написан
    Комментировать
  • Когда стоит включать и выключать таймер почасовой оплаты на UpWork?

    @iliyaisd
    Я обычно биллю всё, исключая разговоры по скайпу и гугленье каких-то вещей, которые самому стыдно не знать :)
    Не уверен, что это правильно, просто делюсь опытом.
    Ответ написан
    Комментировать
  • Какие знания необходимы перед изучением php фреймворка?

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

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

    Соответственно: На какие вопросы надо ответить чтобы решать эти задачи в виде данных? Получить запрос (Обработать запрос (Что за запрос, удаление, апдейт, создание или фильтр какой, посмотреть его входящие параметры, прочитать HTTP заголовки, запрос можно классифицировать сложным URL адресом, который в свою очередь можно классифицировать и соотнести к какой-то реально сущность book/1?new=true&filter=asc, соответственно есть у вас есть Front Controller - то запрос по книжкам можно отнести к контроллеру Books (А контроллер часть паттерна MVC, контроллер будет работать с моделью, модель может напрямую общаться с BD или передаваться какому-то сервису который общается с BD (ORM, SQL with Driver). Соответственно вы в модели запрашиваете данные, проверяете данные, обновляете, внедряете бизнесс логику и только когда это сделали, возращаете данные готовые для пользователя, но только данные пользователю не интересны, вам нужно обернуть данные в HTML, проставить значения, интегрировать в верстку, тут уже приходят на помощь вьюшки, шаблонизаторы, так как ответ может быть не HTML, то модель нужно сериализовать в JSON. Соответственно все эти объекты у которых есть данные имеют методы для работы со своими данными. А общение между объектами путем отправки друг-другу сообщений (petya.give(beer, vasya). Отношение между ними будет осуществляться либо вложение объектов в друг-друга (композиция), либо копированием свойств между объектами (иерархия, наследование). Определять то что умеет объект, будет его интерфейс (где уже вступают в силу модификаторы доступа).

    Соответственно кратко:

    Обработка данных внутри методов (Алгоритмы и структуры данных)
    Общение между объектами ООП (Объектно ориентированное программирование)
    Архитектура приложения на уровне объектов (Дизайн паттерны, композиция, агрегация)
    Выполнение последовательных операций (Императивное программирование)
    Получение A и превращение A в B с хитроумными сплетениями (Функциональное программирование)
    Выполнение двух операций одновременно и синхронизация между ними (Параллельное программирование)

    Удачи!
    Ответ написан
    Комментировать
  • Выбор почтового клиента под win7

    Franchesko
    @Franchesko
    Верстка сайтов | Разработка сайтов
    пользуюсь mozilla thunderbird
    Ответ написан
    Комментировать
  • Ценится ли IT-специалист, который умеет все?

    @myLizzarD
    PHP developer
    Такие люди нужны в основном маленьким конторам, у которых не хватает средств иметь и пачку программистов, и сеошников и тд. Для таких контор вы - идеальный работник. Но тут нужно учитывать, чтобы быть полезным во всех областях сразу - нужно очень много времени + много времени, чтобы поддерживать знания на актуальном уровне. Проще выбрать 2-3 направления, в которых хотите развиваться.
    Ответ написан
    Комментировать
  • Что спрашивают на позицию middle/senior php?

    pavel_salauyou
    @pavel_salauyou
    Symfony2 & Angular разработчик
    Спрашивали на senior (всё, что удалось вспомнить):
    можно ли взломать ssl
    для чего нужны интерфейсы и абстрактные классы
    чем отличается сервисно-ориентированная разработка от доменно-ориентированной
    как сделать так, чтобы никто не смог угнать куки через джаваскрипт, как сделать чтобы нельзя было перехватить куки
    кроссдоменные запросы
    как добавить поле в высоконагруженную базу в таблицу на продакшене где 100 миллионов записей, без отказа бля базы
    что такое партиционирование, шардинг, репликация
    как работает http
    что такое rest и soap
    что такое репликация и как передаются данные при репликации между серверами, виды репликаций
    триггеры, процедуры в базе
    про способы кеширования веб приложений
    джоины в базе
    просили написать функцию нахождения ближайшего числа в массиве, для заданного числа
    что такое рефакторинг
    DIC, ServiceLocator
    Какие паттерны знаешь и т.д.
    Ответ написан
    29 комментариев
  • Как реализовать выезжающую панель на изображении?

    Oogway
    @Oogway
    Хорошие примеры hover эффектов на изображении: tympanus.net/Development/HoverEffectIdeas
    Ответ написан
    Комментировать
  • Почта для домена: gmail vs. яндекс

    Krypt
    @Krypt
    У Яндекса проще интерфейс настройки. Значительно проще. В Гугле мне надо было сменить днс… С тех пор я пользуюсь Яндексом )
    Ответ написан
    6 комментариев
  • Яндекс почта для домена

    mdss
    @mdss
    в левой колонке в настройках
    image
    Ответ написан
    Комментировать
  • Приоритеты HDMI DVI

    @AlekseiT
    Я так понял из вашего объяснения что телевизор не постоянно подключен по HDMI? Попробуйте выставить в ATI catalyst -> Display Options -> Display detection галочку на «manual detection only». Ну и соответственно в настройках винды укажите ваш монитор как главный.
    Ответ написан
    Комментировать
  • Гарантия на MacBook в России купленный в Финляндии?

    Россия в понимании Apple = страна третьего мира, гарантии соответсвующие
    Ответ написан
    1 комментарий
  • Лицензионные ISO образы windows

    Ringtail
    @Ringtail
    У меня такой был кейс: ноут Samsung с OEM-ной Windows 7 Home Basic. Была успешно проапгрейжена до лицензионной Home Premium через Windows Anytime Upgrade (вот кстати интересно, винда с OEM-лицензией после WAU все еще считается виндой с OEM-лицензией? В коде продукта, который в свойствах системы выводится в виде xxxxx-yyy-zzzzzzz-zzzzz, часть yyy поменялась с «OEM» на «911»)

    Потом поменял хард на девственно чистый SSD, установил на него Home Basic с диска от лицензионной коробочной Home Basic (которую покупал для нетбука), при этом ввел OEM-ключ с наклейки снизу ноута. Винда успешно поставилась и активировалась. После этого так же проапгрейдил до Home Premium с помощью ранее купленного WAU-ключа. Опять все прошло успешно и активировалось.

    Исходя из этого могу предположить, что OEM-ключ также подходит как минимум для Retail-дистрибутива.
    Ответ написан
    Комментировать