Задать вопрос
  • На чем посоветуете делать сайт горсовета?

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

    Мне одному слышится это как: "Мне нужно, чтобы в будущем можно было не меняя стек прикрутить к нему пока не знаю что (=что угодно)"? Нода как инструмент с такими требованиями кажется вполне разумной.

    symfony, laravel, django - как альтернативы, но скорее всего ценник будет тот же, что и на ноде.

    Хотите cms? Пишите полностью весь список планируемых доработок. Потому что CMS - слишком специфичный и узкий инструмент, чтобы брать его под столь неопределенные формулировки. Вам сейчас кажется, вы возьмете битрикс, друпал что там еще, поставите ее на хостинг и вы в шоколаде, сэкономили фирме сотню. А через пару месяцев к вам придет ваш начальник и скажет: надо нам написать интеграцию сданных показаний счетчиков с нашей убер-системой и еще онлайн-чат создать для посетителей и систему рассылки им оповещений, ну и еще мы запускаем мобильное приложение, так что нам еще бэкэнд с апи нужен - и вот оказывается, что ни одна cms не способна на это, потому что из коробки не поддерживается, что все программисты со скиллами работают с фреймворками и той же нодой, а друпаловцы и битриксоиды лишь блоки переставлять умеют, да в jquery немного, что выбранный вами шаред-хостинг масштабирование предоставляет лишь в окошке яндекс-карт и выделенный сервер все-таки нужен (и не только для масштабирования, но и чтобы демона для ноды запустить, дабы ваш онлайн-чат работать мог) и что вы вовсе не в шоколаде, хотя по цвету похоже. И в итоге вы бегаете в мыле и думаете, писать ли вам онлайн-чат, работающий через крон или же заказывать разработку с нуля.
    Ответ написан
    Комментировать
  • Нужно Ваше мнение - по какому материалу легче научиться программировать: видео или статьи?

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

    У каждого программиста своих гениальных идей в голове десяток, а то и больше, ваша программа ему до лампочки - на нее нужно искать клиентов, ее нужно будет постоянно дорабатывать, одним словом она будет отнимать ресурсы, которые программист может потратить на создание своих идей, либо просто на то, чтобы заработать больше денег. Вот я вам, к примеру, дам интернет-магазин (готовый к употреблению скрипт, только знай товары выгружай, да клиентов ищи), что вам интереснее будет - продвигать свою программу, к которой у вас есть хоть какой-то интерес или отказаться от нее и развивать с нуля непонятный интернет-магазин?
    Ответ написан
    Комментировать
  • На чем лучше делать одностраничник?

    Вордпресс - если делаете клиенту и тот хочет в будущем править тексты.
    Конструктор - если делаете клиенту и тот в будущем хочет править не толькьо тексты, но и другие элементы, либо если вы не умеете верстать (т.н. аналитика в конструкторах может быть заменена гугл аналитикой или яндекс метрикой).
    Шаблоны с тимфореста (для вордпресса или голый хтмл) - если не хотите тратить денег на дизайнера.
    Голый хтмл - если клиент в будущем самостоятельно правки вносить не собирается и будет обращаться к вам или иному подрядчику, владеющему хтмл, либо если делаете для себя, знаете хтмл и собираетесь активно менять структуру верстки.

    А вставлять картинку в вопросе без видимых причин - зашкварно.
    Ответ написан
    Комментировать
  • Как мягко переубедить клиента в том что он не прав?

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

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

    Добавить в GetImageData коллбэк функцию, которая будет срабатывать только после удачной загрузки данных с сервера (и вставить ваш код в тело этой функции). Если используете $.ajax или $.get, почитайте документацию api.jquery.com/jquery.get - найдите там success функцию, она срабатывает как раз после удачного запроса, в нее и добавьте ваш код.
    Ответ написан
  • Нужен ли each при событии click (простой код внутри)?

    не нужен. jquery и без each всем соответствующим селектору элементам назначает событие.
    Ответ написан
    Комментировать
  • Как проверить instanceOf в blade?

    А есть ли смысл усложнять код и не использовать стандартные конструкции блейда @if и @foreach?
    Ответ написан
    1 комментарий
  • Неизвестная переменная в laravel 5.3?

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

    https://habrahabr.ru/info/agreement/ - 4 пункт об интеллектуальных правах. Там перечислено все, что вправе делать хабр, когда получается неисключительную лицензию на выложенный вами контент. Судя по написанному все написаннное автором остается за автором.
    Ответ написан
    Комментировать
  • Сравнение массивов 5М+ значений?

    Вообще это не для php задача, если перепишете на том же питоне с тем же самым алгоритмом, памяти уйдет раз в 10 примерно меньше (https://habrahabr.ru/post/141093/#comment_4719302 - почти пруф. Сам одно время интересовался, нужно было сравнивать массивы пользователей из вк, сейчас бы попробовал go наверное, с ним потребление памяти не изучал, но оно будет явно меньше, чем у php). Также как вариант записать данные со стороннего сервера себе и брать порциями, используя генераторы (yield), они как раз и созданы, чтобы экономить память, но лучше мне кажется все-таки использовать другой язык программирования на такие объемы.
    Ответ написан
    8 комментариев
  • Как происходит загрузка классов в php фреймворках?

    Не все. Сейчас ради интереса глянул проект, который делаю - он подключает 466 файлов, начиная с Index.php. Пoсле запуска artisan optimize количество файлов уменьшилось почти вдвое (laravel-recipes.com/recipes/60/optimizing-the-fram... - почитайте тут. Плюс в документации посмотрите про кеширование роутов и конфиг файлов через artisan).

    Плюс если вы не используете какую-то модель или контроллер для генерации текущей страницы, они также не будут подключены. По сервис-провайдерам боюсь соврать, но возможно они тоже не подключаются, до момента непосредственного вызова, если они отложенные (https://laravel.com/docs/5.1/providers#deferred-pr...

    А вообще вопрос с файлами решается наверное на всех хостингах использованием кешеров (https://ru.wikipedia.org/wiki/%D0%90%D0%BA%D1%81%D..., файлы не просто грузятся в память, а еще и компилируются для ускорения запуска.
    Ответ написан
    Комментировать
  • Сгорела материнка из-за провайдера?

    Нужна контора, разбирающаяся в электрике, которая может провести судебную экспертизу. Поищите в городе такую, но лучше с соседями скооперироваться, так как удовольствие может оказаться недешевым. Далее если в заключении будет написано, что виноват провайдер - в суд. Если провайдер со своей стороны не привлечет другого эксперта, который скажет, что провайдер не виноват, то скорее всего выиграете (ну и компенсация всех расходов на суд тоже будет за провайдером). Но вас может ждать облом уже на стадии экспертизы (а может и не ждать). Также провайдер может кинуть стрелки на сварщиков и будете судиться второй раз уже с ними. Но до момента получения результатов экспертизы это все гадание.
    Ответ написан
    Комментировать
  • Полиморфизм в php живые примеры?

    У меня в проекте на ларавеле реализовано внедрение зависимостей для репозиториев. Репозиторий наследует некий интерфейс и по имени этого интерфейса классы получают данные из репозитория. В процессе разработки вместо самих репозиториев внедряю промежуточный кэширующий слой, который реализует тот же интерфейс, но отдает кэш вместо того, чтобы обращаться в бд (код не дам, проект под NDA).

    Другой пример - mock объекты при тестировании. Также можете посмотреть фреймворки, там полиморфизм активно используется например для того, чтобы вы могли использовать различные движки бд, сохранять файлы на удаленный сервер по фтп, а не на свой, поменяв лишь одно слово в конфиге и не меняя код в ваших классах.
    Ответ написан
    Комментировать
  • Репозиторий и ActiveRecord, хорошая ли идея возвращать модели?

    Тоже столкнулся с таким. Есть мнение, что модели возвращают потому, что в них уже можно прописать все необходимое для вывода данных, равно как и спрятать лишние поля, а также преобразовать/добавить недостающие атрибуты. Но наличие метода save() за пределами репозитория смущает. На данный момент пришел к тому, что репозиторий у меня преобразует модели в сущности (самопальными трансформерами наподобие fractal.thephpleague.com) перед тем, как отдать их, но с логикой сохранения внутри репозитория пока не пришел к конечному варианту - часто в проекте требуется не просто сохранить строку в бд в одну таблицу, а сделать гораздо более сложные вещи и вся эта логика завязана именно на процесс сохранения, поэтому не вижу способа вынести эту логику куда-то из репозитория. Но такие вещи, как return session()->flash() в примере по вашей ссылке, считаю лучше на уровне выше генерировать в зависимости от отданных репозиторием данных, они тут вообще никаким местом.

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

    Почитайте про генераторы Для чего нужны Генераторы (yield) в php? (ссылку привел для примера, просто первая попалась и там как раз тоже человек показал обработку csv)
    Ответ написан
  • Bootstrap. Передача данных из одного модального окна в другое. Как сделать?

    При нажатии кнопки сохраняете введенные данные в новый объект, отправляете их на сервер аяксом, а в коллбэке к аяксу прописываете либо закрытие текущего окна и открытие нового, либо перезапись содержимого .modal-body с учетом данных, сохраненных в объекте.
    Ответ написан
    9 комментариев
  • Чат Laravel 5.2?

    В последний раз использовал centrifuge для этого. Пользователь отправляет сообщение в приложение ларавел, а приложение делает трансляцию всем кому надо с помощью event broadcasting (версия ларавел была 5.1). Если нужен чат и только чат, то тут мне кажется лучше было бы использовать javascript либо go на сервере, у php с вебсокетамии беда.
    Ответ написан
    Комментировать