Задать вопрос
  • Что почитать и на чем потренироваться, не могу перейти от процедурного к ооп?

    alexfilus
    @alexfilus
    Senior backend developer
    Я по настоящему постиг ООП когда при доработках программы перестал понимать код написанный час назад.
    Понял что без него никак, отрефакторил, то что было на тот момент. В последствии ещё полтора года пилил ту прогу, но никаких проблем с читабельностью не возникало. Это к вопросу зачем он нужен.
    В изучении поможет только практика. Попробуйте не писать интерфейсов и прочих высокоуровневых штук пока что. Возьмите что-то простое. Например напишите свою библиотечку для работы с линейной алгеброй.
    2 класса - матрица и вектор. И работа с ними. Ввод, вывод, перемножение, транспонирование, поиск определителя матрицы.
    Добавьте статических методов, например генерацию единичной матрицы.
    Дальше можно написать решения СЛУ разными способами. Подумать как переиспользовать уже готовые методы.
    Останется наследование.
    Попробуйте написать свою, простую ORM. Набор базовых CRUD методов как абстрактный класс, и наследуясь от него классы для работы с конкретными таблицами.
    Если не увлекаться перфекционизмом, и универсальностью применения данных классов, этих 2 велосипедов будет вполне достаточно чтобы разобраться что к чему с ООП в любом выбранном вами языке.
    Ответ написан
    Комментировать
  • PHP 7 как установить imagick?

    rusticus
    @rusticus
    Разработчик
    apt-get install php7.0-imagick
    После перезапустите apache
    Ответ написан
    Комментировать
  • Какой шрифт использовать для разработки (phpstorm)

    ildarkhasanshin
    @ildarkhasanshin
    developer
    ubuntu mono, 18px
    здесь из-за java 18px = 14px в sublimetext3
    т.е. на деле шрифт небольшой

    phpstorm2017.1 (default white-gray color's scheme)
    ubuntu16.10
    1920x1080px
    Ответ написан
    Комментировать
  • Куда стремиться PHP программисту?

    sayber
    @sayber
    Да, я программирую на PHP и еще асинхронно!
    Вы работали над парой небольших проектов, иначе бы не задавали подобный вопрос.
    Как сказал Денис Инешин , бекенд оч. большая сфера разработки.
    Попробуйте реализация того же DDD со всеми вытекающими. Реализовать бизнес-логику без БД, api сервис (прим. ApiDoc).
    Можно многое придумать.

    Почему у вас только офис или фриланс?
    Нормальные люди работают удаленно но по ТК.
    Я к примеру в офисах уже лет 5-6 не появлялся, все время на удаленной работе. График стандартный, 8ч 5/2.
    Зарплату в нормальных конторах НЕ занижают удаленщикам.
    Ответ написан
    Комментировать
  • Вопрос про ООП, как использовать?

    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-дистрибутива.
    Ответ написан
    Комментировать