• Оцените часть верстки 1-ого макета?

    @djay
    Для первого раза, тем более за 2 часа - молодец. Твердая 5-ка. А фон фикс или не фикс - это формальности. CSS и HTML оформленны очень хорошо.
    Ответ написан
    Комментировать
  • Стоит ли изучать Symfony?

    @djay
    Итак, обо всем по порядку:

    1. Дописать новую фичу можно в любой системе и в любом фрейморке (ZF/Laravel/SF/Cake/CI/Phalcon ... ), даже если все было спроектировано не правильно изначально. Единственно на это уйдет чуть больше времени и нервов.

    2. Симфони второй по востребованости в СНГ, после Yii - согласно hh и brainstorage. Остальное - ZF/Laravel. В Европе/США - наоборот, ZF2/Laravel, потом Symfony, а Yii вообще редко попадается.

    3. Да Ларавел работает быстрее и есть меньше памяти. Это потому в симфони очень много слоев абстракции. Но как правило, память дешевая и многие могут её себе позволить. То есть в основном никого не волнует какие-то 9-10 лишних МБ памяти.

    4. Симфони - не для слабаков. Его API гораздо сложнее всех остальных. Нужно уже знать и понимать DI контейнеры, принцип разделения концепций и аналогичное. Для работы с Yii/Laravel - знать этого не нужно, поэтому каждый второй школьник Yii/Laravel программист (образно говоря).

    5. Не встречал адекватных мануалов для новичков на русском языке, к сожалению. Могу посоветовать только англоязычные:

    Symfony2 Registration and Login
    Creating a blog in Symfony2

    Пройдя эти мануалы, уже сможешь писать приложения.

    6. В любом фрейворке, тебе нужно будет в основном только это:

    - Роутер / контроллеры
    - Компонент валидации форм
    - Слой над базой данных

    И все! Фремворк предоставляет только инструменты, не более того. Т.е фреймворк - это не цель, а средство.
    Ответ написан
    Комментировать
  • Bootstrap или свои стили?

    @djay
    Бутсрап как и PHP фреймворк - всего лишь набор утилит для быстрой подготовки сайта к адаптивности, призванный экономить время. Если дедлайны кипят, то лучше делай вручную медиа-запросами. Если есть время - изучи бутстрап, он легкий. Даже дети верстают на нём.
    Ответ написан
    Комментировать
  • Трогать фреймворк php или не надо?

    @djay
    Фреймворк - это всего лишь набор интструментов и подготовленная архитектура (структура папок и итд), не более того. Чаще в любом фреймворке всего ты будешь пользоватся такими вещами как:

    - Компонент валидации форм
    - Прослойка над базой (ActiveRecord/Data Mapper)
    - Роутер, контроллеры

    Для того чтобы понять это, можно рассмотреть такую задачу:

    Нужно написать электронную библиотеку, где будут такие фичи как: пагинации, фильтры над таблицей, сортировка и возможность управлять только зарегистрированным пользователям.


    На фреймворке ты сделаешь это за час-полчаса. Без фреймворка будешь изобретать все иструменты для решения задачи с нуля и в лучшем случае сделаешь это за месяц.

    Почти в любом фремворки - инструменты для этой задачи уже в коробке. По мимо, того эти инструменты хорошо оттестированы и проверены тысячими других программистов.
    Ответ написан
    Комментировать
  • Как правильно расположить данные в базе данных mysql?

    @djay
    Почитай про нормализацию данных. В текущей задаче - это One-to-Many Relationships
    Сериализация в данном случае не верный подход, потому что:

    1. Сводит возможность поиска практически к нулю.
    2. Ухудшает производеленость, поскольку если понадобится хотя бы одна запись (цена например), то тогда придется парсить весь сериализованный текст.

    А так в целом, если у одного товара может быть несколько цен (теоритически - да хоть тысяча цен - не важно), то всё это должно хранится в отдельной таблице. И выбиратся джоином как One-to-Many Relationship.
    Ответ написан
    Комментировать
  • Фриланс android разработчик без опыта, смс и регистрации?

    @djay
    Умение быть психологом в некоторой мере, особенно когда это нужно, не повредит. Но обо всём по-порядку:

    > Реально ли стать фрилансером по android начиная без какого-либо опыта?
    Взлянем на этот вопрос со стороны заказчика - Ты владелец чего либо, у тебя проект, сроки ограничены и нужен результат в скором времени. Будешь ли ты давать этот заказ человеку без опыта, пусть даже если он просит цену ниже, чем остальные? Или же все таки предпочтение отдаётся тем что с опытом и с рыночной ценой?

    Мораль: Неопытные, начинающие программисты по очевидным причинам никому не нужны, особенно на трудовой бирже. Люди приходят на биржу работать, а не учится.

    > Вообще существуют ли фрилансеры среди android разработчиков?
    Конечно, как и для любой другой сферы. Вот например:
    ww.freelancer.com/find/Android‎

    > Сколько нужно проектов сделать самостоятельно и какого уровня проекты должны быть (желательно максимально описанные примеры)?

    Проект может быть и один, но крупный и популярный. Проектов может быть несколько - но средней сложности и не очень популярными. Самое главное не количество - а популярность и ценность среди аудитории.

    > Какая среди них конкуренция?
    Зависит от потребности аудитории, опять же.

    > Реально ли найти работу удалённо опять же учитывая отсутствие опыта в принципе?
    Нет, не реально. Удалённая работа - она сама по себе требует железной дисциплины и требует гораздо большего доверия к тебе со стороны работодателя. Даже допустим найдешь ты удаленного работодателя - его первый вопрос будет примерно такой : Сколько у вас опыта? Покажите проекты над которыми вы работали.
    Ответ написан
    1 комментарий
  • PHP Development. Как осовременниться?

    @djay
    Композер - это всего лишь утилита, которая достаёт из чужого (или своего) репозитория какой-либо компонент. Затем:

    1) скачивает его
    2) ложит в папку с вендором
    3) автоматически регистрирует автолоадер (PSR-0/PSR-4)

    И делается это все одной командой. Можно конечно делать это всё вручную, но очень не удобно (а что если несколько библиотек / компонентов нужно подключить? - волокита и геморой). Причина популярности композера именно в этом. Например Laravel - он использует компоненты Symfony, следовательно при инсталляции он будет брать те самые компоненты с репозитория Симфони.

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

    Вдаватся в дополнительные подробности (например в синтаксис composer.json), здесь не имеет смысла, т.к это все есть на официальном сайте.
    Ответ написан
    7 комментариев
  • Где лучше прописывать условия в YII2?

    @djay
    1. Красиво ли и целесообразно писать условия и циклы в модели, а не в контроллере, если это удобнее?


    Да желательно писать всё что связано с обработкой бизнес-логики (там парсинги всякие) в моделе. В контроллере же, нужно это вызывать и просто передавать переменные ($_POST, $_GET)

    2. Мне нужно выполнять ajax запросы из БД. Стоит это оформить прям в контроллере или равносильно вынести ajax во вьюшку и передавать через POST уже контроллеру?


    Но ведь УРЛ от Ajax-запроса все равно вызывает экшен контроллера. POST'ом следует выполнять только то, что изменяет что-то - пишет в базу например. А для выборки нужно использовать GET. Во вью задаётся клинтская логика, которая вызывает урл и в ответ делается что-то - обычно это в 99% делается именно так.

    3. Как лучше - делать все циклы с массивами в контроллере и переменные уже передавать во вьюшку или равносильно, что и разбирать массивы во вью?


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

    Есть ли вообще какие-то правила по этому поводу - оформление кода?

    Почитай что такое SOLID, Separation of Concerns

    А что касается MVC:

    - то модели должны быть толстыми (вся обработка должна быть только там)
    - конроллеры тонкими (должны уметь только получать и передавать)
    - а вью - тупыми (должны знать только как отображать)

    Как-то так
    Ответ написан
    9 комментариев
  • Какие есть CMS для создания соцсетей?

    @djay
    Более-менее стабильная и бесплатная - это Elgg (https://elgg.org)
    Ответ написан
    Комментировать
  • Где практиковаться php?

    @djay
    Единственный и самый эффективный способ - это начать делать что-то. То есть не будет такого, что ты начал делать и ничему при этом не научился. Этот способ самый надежный. Начни писать учебную CMS. Смотри в справочники по мере натыкания на вопросы.

    И да, если есть возможность иди работать стажером пусть даже за еду.
    Ответ написан
    3 комментария
  • Какую бесплатную cms/фреймворк использовать для интернет-магазина?

    @djay
    Рекомендую Magento - гибкий, много документации, все нужды для магазинов - там есть. А хороший магазин ты за год не напишешь, даже на Yii 2
    Ответ написан
  • Как "безболезненно" перейти с php 5.4 на php 5.6?

    @djay
    Версия 5.2 вышла где-то в июле 2006 года, а провайдеры убирать её стали только в 2013-2014 годах. Даже когда выйдет 7 версия, её еще очень долго будут тестировать, переделывать, прежде чем провайдеры начнут устанавливать её. Этот день, о котором ты говоришь наступит скорее всего лет через 5.

    Что касается переходов по версиям, ведь не факт, что они используют один и тот же `php.ini` файл (а следовательно настройки, в частности отображения ошибок там всяких). Каждая версия лежит в отдельной папке и использует свою сборку в 99.9% случаях. Есть вещи, которые были в 5.4 и они вызывали (E_NOTICE, E_DEPRECATED), но их полностью убрали с 5.6. Отсюда и белый экран. Быть может там одна ошибка? Легче всего включить отображение ошибок `(error_reporting(-1))` и не гадать.

    Да и вообще, если работает на 5.4 зачем вообще менять и трогать что-то? Работает - ну и пусть себе дальше работает.
    Ответ написан
    5 комментариев
  • Как нанять сотрудника IT Компании, чтобы он не ушел быстро?

    @djay
    Поставим вопрос иначе:

    Будет ли сотрудник, который доволен ЗП, коллективом, отношением к себе увольнятся? Ясен пень, что нет. Человек самосохраняется убегая от того где плохо/невыгодно. Значит всё не так как вы себе представляете.

    С другой стороны, они же не увольняются не сказав ни слова начальству? Наверняка есть тому причина. Эта ситуция немного напоминает о течке кадров, по поводу умения разбиратся в чужом коде.
    Ответ написан
    Комментировать
  • Можно ли работать программистом, но не оценивать сроки?

    @djay
    Самое главное в этой индустрии - это не качество кода, а сроки. Вся индустрия держится на сроках. И нет, такого работодателя, который будет давать много времени на реализацию фичи. Любой работодатель заинтересован в извлечении максимальной прибыли при минимальном вложении (т.е экономии бюджета на разработке).

    Тебе придётся научится с этим работать и жить. Иначе никак. Это главный навык.

    С другой стороны, оценивать время которое ты затратишь на реализацию не так уж сложно:

    1. Когда спросят "сколько понадобится времени" - всегда отвечай - дайте минут 10-20 на оценку, я не могу взвесить не подсчитав.

    2. Разбей задачу которую тебе дали на под-задачи. Обычно получается - обрабока/создание какой-либой формы, добавить небольшой подсчёт и аналогичное. То есть по сути, одна задача в своём подавляющем большинстве состоих из мелких под-задач.

    3. Приувеличь сроки на ~50% (+/- 20%). Например на создание CRUD формы уйдет не больше 30 минут, а ты называй час. И остальные подзадачи в этом духе. В итоге, даже если просчитался где-то у тебя есть страховка.
    Ответ написан
    4 комментария
  • PHP + фреймворк, существует книга по этой теме?

    @djay
    Тебе не нужно знать и думать , и даже читать код фреймворков. Всё что нужно знать - это как их использовать (то есть их API).

    Классический пример,
    Есть блок питания от компьютера. Всё что тебе нужно знать о нём - это сколько ват, и как его подключить к материнской плате. Тебе не нужно знать, что там внутри, как это всё работает, какие законы физики/электростатики там применяются. Ты - пользователь, а не завод.

    Точно так же с фреймворками. Не нужно вообще смотреть и заморачится на то что внутри. Открывай документацию и смотри какие методы API имеются и как их вызывать.

    И да, нет такого понятия как "чистый PHP" и фреймворк. На самом деле, когда говорят так, подразумевают что они пишут на PHP используя компоненты/утилиты фреймворка.
    Ответ написан
    Комментировать
  • Почему не отображается favicon?

    @djay
    Если ты используешь HTML5, то фав-иконка подключается автоматически, если в корне веб-сервера найден файл favicon.ico . Не нужно вообще заботится о подключении - главное закинь файл и все и обнови страницу.

    А что касается, текущей проблемы, то здесь вероятнее всего происходит обращение к несуществуещему файлу по указаному пути. Там можно было задать относительный путь(href="favicon.ico"), вместо абсолютно.
    Ответ написан
    Комментировать
  • Какой выбрать готовый движок для блога для встраивания сайт?

    @djay
    В данном случае, лучше всего будет доделать самому. Там всего лишь понадобится одна таблица + WYSIWYG редактор типа TinyMCE, CKEdtiror. Работы на час-два.

    Что касается встраивания других (мини) движков - то этого делать в данной ситуации не нужно. CRUD операции на одной таблице того не стоят.
    Ответ написан
    Комментировать