• Как работать с отношениями в Laravel без второстепенных моделей?

    AmdY
    @AmdY
    PHP и прочие вебштучки
    Вы хотите архитектуру или костыли? Есть MetadataTranslations, создавайте для неё модель. Экономя на спичках вы ничего не выиграете.
    Ответ написан
    Комментировать
  • Как работать с отношениями в Laravel без второстепенных моделей?

    @Faim
    Для реализации перевода есть отличный пакет dimsav/laravel-translatable.

    А что, если я не хочу создавать отдельную модель для Phone, но всё также хочу получать расширенные данные о телефоне из другой таблицы?

    В случае если это отношение один к одному, то можно обойтись обычным джойном. В остальных случаях удобней пользоваться Eloquent отношениями.
    Ответ написан
    5 комментариев
  • Как настроить Git для развертывания небольших веб-проектов?

    @zeyser Автор вопроса
    Ребят, я ошибался с путями к репозиторию(что и неудивительно исходя из ошибки). Чтобы вы не повторяли моих ошибок, я советую после подключения по ssh в вашем сайте исполнять pwd. Результат указываем в хуках и при добавлении в remote add.
    Пару ссылок на которые основывался:
    ruhighload.com/post/Git+%D0%B4%D0%BB%D1%8F+%D1%80%...
    toroid.org/git-website-howto
    ru.stackoverflow.com/questions/428483/%D0%9D%D0%B0...
    Ответ написан
    Комментировать
  • На Linux Mint, икает звук, в чем может быть причина?

    webirus
    @webirus
    Тыжверстальщик! Наверстай мне упущенное...
    Повторяйте 100 раз:

    Икота икота, с Минта на Федору.
    С Федоры на Дебиан. С Дебиана на Винду.
    С Винды никуда не уходи :)

    Икота должна пройти :)
    Ответ написан
    4 комментария
  • Как работать с заказчиками, если ты дотошный, а они мыслят "в общем"?

    @hubramubr
    Ну не хочет заказчик возиться с мелочами - и не надо.
    Проблемы с дотошностью нет никакой.
    Ты просто делаешь и предусматриваешь все ситуации.
    Сам.

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

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

    > И на просторах СНГ я уверен у многих подобная ситуация, как вы в ней действуете?

    Без разницы.
    И у нас и в Европе и в Америке - они все разные. Кто не хочет "переплачивать" за ТЗ, кто-то согласен без ТЗ работать и платить за каждую переделку, кто-то мозги по полгода выносит при составлении ТЗ/обсуждении проекта, на том получает ТЗ (бесплатно) и не заказывает работу (а судя по объявлениям этого заказчика и отсутствию изменений на домене заказчика - ищет еще исполнителей, кому будет выносить мозги, еще 2 года).
    С азиатскими заказчиками не работал.
    Ответ написан
    5 комментариев
  • Как работать с заказчиками, если ты дотошный, а они мыслят "в общем"?

    kumaxim
    @kumaxim
    Web-программист
    У меня в одной из заметок есть следующая форлума "функционал = количество часов = количество денег". . Она означает, что конкретный функционал, например, интеграция сайта с facebook я делаю условно за 1,5 часа для стандартной CMS. Час моего времени стоит 600 рублей, значит, я эту задачу я должен взять с клиента 900 рублей = 600 руб/час * 1,5 часа.

    Расписывай максимально детально свой функционал, т.е. что ты делаешь. В любом случае есть какие-то общие детали, которые ты делаешь из проекта в проект. Выведи за них время на основе своего опыта, добавь в свой личный список. Потом, когда клиент тебе говорит мне нужно один, два, три - достаешь свой перечень и говоришь на его основе сумму. Можешь добавить к итоговому ценнику коэфиценты. У меня, например, их два: копание в самописном движке + 40% и оплата сразу 100% суммы контракта -10%. Можешь для себя также сделать за сумму договора, за лояльность к клиенту, за то, что он привел друга к тебе... Это ограничивается только твоей фантазией.

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

    Бесплатные правки и мелкие моменты...
    В свою ставку я кладу 10% на вот такие мелкие доработи по ходу или в конце. Получается, что если общий договор у меня на сумму в 10 часов, то где-то час я могу потратить на все эти "Мне синий не нравится, давайте сделаем зеленый" или "Поменяйте эти два блока местами, а то смотриться как-то плохо" и т.п. Если все это дело выходит за 1 час, причем выходит уже сильно, тогда очень прозрачно намекаешь человеку что либо пускай останавливается, либо платит сверху.
    Ответ написан
    Комментировать
  • Как работать с заказчиками, если ты дотошный, а они мыслят "в общем"?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    всего 2 недели разработки могут сэкономить целых 2 часа проектирования


    Составляйте ТЗ либо самостоятельно, либо на пару с заказчиком. Пока у вас не закончатся вопросы - работа не начинается в принципе. Базовое проектирование "что-где" у вас будет происходить уже в этот момент.
    Ответ написан
    Комментировать
  • Как работать с заказчиками, если ты дотошный, а они мыслят "в общем"?

    m77x
    @m77x
    Консультант
    Видно, что вы имеете опыт работы с заказчиками, но маленький опыт.
    Все. что надо от заказчика в принципе - это только тематика. Остальное идут "заготовки", т.е. конкретно заточенные модули: надо звонок с сайта - да на (заказчик), влепим + 100 баксов; надо отзывы - пфф - извольте кушать 100 баксов; надо онлайн консультант с неограниченным количеством операторов, да еще свой, с хранением на своем сервере - да ладно, еще 250 баксов…
    И с сроками будет все в порядке и уже готовый макет есть, осталось отдать дизайнеру, чтобы порезал по лекалам.
    Предварительная сдача: тут может заказчик сказать, что вместо красного хочет пурпурный и место свежих товаров не справа - вверху а слева по центру - извольте 3 доработки за счет фирмы.
    Остальные пупыр-шурупыр "чтобы тут было как там. но так чтобы было похоже вон на то, как здесь " - дополнительная оплата и естественно сроки.

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

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

    Если вы не прорабатываете проект изначально, и даете сроки "примерно", то это целиком и полностью ваш косяк, и вы должны за него отвечать. Не умеете ставить сроки? Давайте срочки x2, x3, x5. До тех пор, пока не научитесь более-менее правильно определять.
    Ответ написан
    6 комментариев
  • Какой JS фреймворк выбрать для описанных целей?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Если хватает возможностей backbone то лучше использовать его, и глупости, что он умер
    Если не хватает, посмотрите в сторону Ember - после backbone его освоить будет быстрее всего из перечисленых
    Ответ написан
    Комментировать
  • Какой JS фреймворк выбрать для описанных целей?

    @mr_ko
    Javascript, Node.js. React.js, Vue.js, Wordpress
    Сейчас делаем на фирме два подобных проекта.
    Используем ангулар 1.5.* Бекенд на #C и Python на другом.
    Есть разные типы пользователей, куча статистики, гарфиков, форм и т.п....
    Всем довольны. Нерешабельных проблем не встречали.
    Ответ написан
    1 комментарий
  • Насколько больно переходить с MVC подхода на Drupal?

    @mr_ko
    Javascript, Node.js. React.js, Vue.js, Wordpress
    С 7-кой все приблизительно так как вы описали. По классу что-то найти трудно. Но в Друпале почти на все есть свой хук :) С опытом к этому привыкаешь.
    Я бы вам рекомендовал начать учить 8-ку. Там уже MVC, будет вам легче разобраться. Да и он помощнее 7ки будет :)
    Но на 8-ку еще не все модули импортированный, но это очень скоро решится.
    Ответ написан
    Комментировать
  • Насколько больно переходить с MVC подхода на Drupal?

    riky
    @riky
    Laravel
    когда с дрюпалом ковырялся (года три назад, но довольно упорно и долго) использовал модуль https://www.drupal.org/project/devel_themer или подобный, точно не помню. он показывает какие функции использовались при рендере конкртеного блока. правильный путь, переопределять их в своем модуле или теме, а не патчить дрюпал.
    там много ступеней где можно переопределить и много хуков в апи, не все так плохо, хотя привыкать к нему надо, хотябы представлять call stack в общих чертах, где какие хуки вызываются. я для такого иногда даже смотрю код.

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

    хотя и давно им не пользуюсь, о нем остались в основном теплые воспоминания, хотя свои модули тоже приходилось делать )
    Ответ написан
    Комментировать
  • Как в drupal вывести в главном меню пункт, в котором будет подменю из taxonomy_menu?

    UPD: модуль taxonomy_menu позволяет вывести меню созданное из терминов таксономии в любой подпункт существующего меню. Нужный подпункт задаётся в настройках /admin/structure/taxonomy/[название вашего словаря]/edit

    Тут пример, как вывести меню программно в блок: dru.io/question/5549
    Вы можете сделать следующее:
    1. С помощью https://www.drupal.org/project/taxonomy_menu вывести своё меню.
    2. Создать своё кастомное меню
    3. Создать блок, как в примере.
    4. Вставить ссылки из одного меню в другое.

    В отладке вам поможет модуль devel и функция dsm. Её использовать так:
    Получили меню и посмотрели, что же в нём есть:
    $menu = menu_tree('main-menu');
    dsm($menu);
    Ответ написан
    3 комментария
  • Скорость работы array_intersect - реальная скорость и есть ли альтернативы?

    @JSmitty Автор вопроса
    Спасибо PQR за наводку на прекрасную презентацию, собственно удалось разогнать операцию на два порядка (в 100 раз). Надо использовать только ключи в массиве и пересекать их (array_intersect_key), а не значения. Пересечение делается через хэш, а не перебором значений (как в array_intersect).

    Изменения такие:
    $res[] = mt_rand($min, $max) - меняем на - $res[mt_rand($min, $max)] = true;
    И меняем array_intersect на array_intersect_key.

    PS Самое интересное, что где-то на Stackoverflow я видел такой совет, но не понял, как им воспользоваться. Пример в презентации по ссылке выше решил вопрос.
    Ответ написан
    Комментировать
  • Скорость работы array_intersect - реальная скорость и есть ли альтернативы?

    PQR
    @PQR
    Есть отличная презентация по структурам данных в PHP, в частности там и про intersect был слайд: www.slideshare.net/mobile/patrick.allaert/php-data...
    Ответ написан
    Комментировать
  • Как настроить ssh для git?

    copist
    @copist
    Empower people to give
    Git для Windows:
    страница проекта git-scm.com
    страница выбора дистрибутива git-scm.com/download/win

    После установки появится появится возможность через консоль gitbash выполнять команды unix
    В частности создать папку для ключей и сгенерировать обычные Unix ключи

    mkdir -p /c/project/.ssh
    ssh-keygen -f /c/project/.ssh/id_rsa -C any_comment


    При этом сгенерируется пара ключей, и публичный надо будет указать в github для доступа к вашему репозиторию

    Публичный читается так:
    $ cat /c/project/.ssh/id_rsa.pub


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

    touch ~/.ssh/config
    notepad ~/.ssh/config


    Туда нужно внести такие строки

    Host github.com
    HostName github.com
    Port 22
    IdentityFile /c/project/.ssh/id_rsa


    Далее нужно клонировать ваш репозиторий с использованием SSH : пример получения ссылки take.ms/h3QCp

    git clone git@github.com:sample-username/sample-repo.git


    В общем то никакой магии
    Ответ написан
    6 комментариев
  • Как заставить PhpStorm 7.0 сохранять документы в UTF-8 без BOM?

    nazarpc
    @nazarpc
    Open Source enthusiast
    В меню File есть команда Remove BOM
    Ответ написан
    Комментировать