• Чего ждать от коробочных приложений?
    +1
    Этот код написан специально под ваш бизнес

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


    Вы сами в это верите? код будет написан под ваш бизнес, но вероятность того что он будет ЛЕГКО масштабироваться и меняться близка к нулю.
    Писать код так что бы он легко менялся и масштабировался надо уметь, дело не в том что бы писать под бизнес, дело в том что бы уметь так писать и не лениться так делать.
    Сколько живу — ни разу не видел. У Яндексов спросите сколько раз они переписывали свои приложения и сколько там легаси, кода унаследованного и в котором ни кто ни когда не будет разбираться, который при необходимости — заменят другим, но ни когда не будет в нём разбираться.
  • Code style для миграций Laravel
    0
    я про Фому, вы про Ерёму. Главное назначение миграции это возможность как накатить так и откатить изменения в схеме БД без участия человека, в ручном режиме. Сделать эти изменения повторяемыми, не зависящими от среды.
    Continuos delivery, миграции, репозитории нужны для переносимости кода, для отчуждаемости кода от разработчика.

    Миграция которая создаёт колонку, почему она не должна упасть если в таблице присутствуют какие то другие колонки? Кажется я повторяюсь.

    Ваше возмущение по поводу владельцев кода, это что то с чем то. Вас не возмущает что работу между сотрудниками делят по отделам? что каждая команда отвечает за свой функционал или фичу? нет? странно.
    Сервис ориентированная архитектура не слышали? Каждый микро-сервис со своим стеком технологий? нет?
    Владелец продукта?
    У кода не может быть владельца? у Фичи?
  • Code style для миграций Laravel
    0
    чуть чуть страшно за данные, если все таблицы внутри одной бд, то при сбое механизма префиксов, могу быть проблемы с чтением не из той таблицы.

    Кроме того, у нас сейчас работа ведётся одновременно в 30-ти ветках, то есть одной таблицы будет 30-ть копий, влитые ветки в мастер ни кто не удаляет, то есть у нас на текущий момент могло бы быть 1800 версий одной и той же таблицы.

    Сложно администрировать такое хозяйство.
  • Code style для миграций Laravel
    0

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

  • Code style для миграций Laravel
    0
    В одной версии эта колонка обязательная (тестируем новый функционал), а в другой эта колонка не обязательная (старые требования), у нас нет возможности развернуть отдельную бд под каждую версию приложения.
    На уровне БД если эти проверки делать, то потребуется для каждой версии кода, делать свою версию бд, свои инстанс.
    Не айс.
  • Code style для миграций Laravel
    0
    И почему умрёт миграция по добавлению колонок? оно колонки добавит. А вот когда мы будем инсертить через модель новую запись у которой не все колонки заполнены (текущая версия не знает о колонке добавленной другой версией), тогда приложение упадёт.
  • Code style для миграций Laravel
    0
    Система разделена на модули-сервисы, у каждой таблицы есть команда владелец.
    Проблема не в том что таблицу правит два разных человека которые между собой не договариваются, проблема в том что для одной фичи нужны одни колонки, для другой другие, и какие то колонки могут после проверки гипотезы на драфте умереть на всегда.
    А приложение не должно падать от таких вещей. Если приложению важно что бы какие то данные соответствовали каким то требованиям, то эти требования надо проверять на уровне приложения, а не БД, потому что БД одна, а версий приложения с десяток.
    Перекраивать БД под каждую конкретную версию кода не реально (ветки фич иногда приходиться сливать в одну ветку и тестировать их совместную работу)
    Мне кажется у вас не было опыта подобной разработки, поэтому вам сложно уловить на слух, это та вещи которую надо увидеть.
  • Code style для миграций Laravel
    0
    Люди из-за проблем с миграциями и деплоем кода в целом, запариваются за переход на сервисную модель, а потом и на микросервисы.
    Есть разница между пет проектами, ин-хаус для фирмы на пару тысяч сотрудников и для приложения которое работает с десятками тысяч пользователей с функционалом объёма примерно обычной CRM системы, в которой лидов 100500 вариантов и каждый вариант обрабатывается уникальным образом.
  • Code style для миграций Laravel
    +1

    Размер колонок меняется миграцией в любую сторону. Разве это проблема?
    Но на самом дела колонки всегда надо создавать максимальной длины. Современным СУБД не важно колонка 10 символов или 100, если в неё пишется только 5, то места на диске будет занято только на 5 символов.
    При желании тип колонки можно поменять в миграции. Если колонку добавили недавно, то это не проблема. Если колонку добавили давно, то просто добавляем новую колонку и работаем только с ней, старую колонку не пишем и не читаем.
    Работать с таблицами через select *, это всегда был дурной тон. Всегда надо указывать колонки которые вас действительно интересуют.
    И на самом деле в таблице должны быть колонки для индексов и одна колонка data в которую пишется json с бизнес данными. Но это высший пилотаж. Для тех кто понимает что такое база данных.
    Если в таблице стало 200+ колонок и используется только 10. То почему не начать работать с новой таблицей?
    Первый релиз делаем миграцию с новой таблицей и пишем посев данных с переносом данных из одной таблицы в другую, следующий релиз меняем в моделе имя таблицы и теперь мы работаем с новой таблицей в которой только нужные нам 10 колонок.

  • Code style для миграций Laravel
    0
    хайповая тема — документарные БД, кому то нравиться, у нас не используются.
  • Почему управлять государством должен продуктовый менеджер?
    +1
    Люди всегда успешны в достижении своих целей. Это аксиома. Почему кто то решил что целью властей является всеобщее благоденствие?
    Их цель удовлетворение собственных аппетитов и ни чего более.
    И если вы хотите что бы они заботились о вас, то вам надо сделать так что бы удовлетворение их аппетитов зависело от вашего благосостояния.

    Сейчас не зависит.
  • MarkedText — маркдаун здорового человека
    0
    Предложение классное, лучше чем текущая реализация md, в части списков и заголовков, но таблицы видимо, да, что не придумывай норм не получиться.
    Мне кажется их можно только самые простые делать в простом формате, хотите красоты — пользуйтесь не простыми форматами, используйте для этого навороченные редакторы.
    С ручным выравниванием колонок я тоже намучался.
    С другой стороны если будет возможность вставить картинку, то проще таблицу нарисовать в продвинутом редакторе и в документ вставить ссылку на картинку.
    По части «Преформатированный текст», не соглашусь, писать ```php или ```sql не напрягает, 4 пробела подряд — очень спорное решение. Я понимаю что спец символов доступных из русской раскладки, не так много, но. Почему бы не сделать тройной символ;
    С другой стороны что бы написать php всё равно надо раскладку переключить поэтому и символ ` тоже норм. Можно конечно вместо php писать «пхп», «скл», «иксмл», что бы не переключать раскладу, но мне кажется это будет слишком для консервативных умов.
  • Буддизм с точки зрения программиста
    +2
    Спасибо за прочтение!

    спасибо за написание. Я исповедую свой собственный буддизм, который один в один как у вас. Главное понимать что всё течёт и всё меняется — «и это пройдёт», не надо суетиться, не надо горячиться, надо жить в своё удовольствие и не мешать другим получать удовольствие от их жизни.
    Аминь :)
  • Типобезопасная работа с массивами PHP, часть 2
    0
    Классная наверное штука, только узнал я про неё поздно :)
    Вопрос конечно что делать если какое то свойство было, а потом его не стало, это не про Яндекс конкретно, а вообще такое бывает, что иногда один набор параметров в ответе, иногда другой.
    И как бы из CSV делать объекты, если у CSV структура вариативная, у одного файла такие колонки, у другого чуть чуть другие.
    Обращаешься к свойству, а его нет, и? какой то аналог key_exists() придётся использовать.
    В общем согласен, есть альтернативы, но я про них, во первых, не знаю, во вторых, я с ними работать не умею.
    Конечно надо делиться альтернативами. У любой статьи самое интересное в коментах :)
  • Типобезопасная работа с массивами PHP, часть 2
    0
    я не могу требовать от Яндекса что бы они выдавали мне объекты, бесполезно ждать от fgetcsv() что бы мне выдавались объекты с конкретным набором свойств.
    Мне как раз и нужна эта «безопасная» работа с массивами что бы спокойной конструировать DTO, или как то по другому парсить ответы от API и делать другие подобные вещи.
  • Архитектурное мышление на примере одиночного велопутешествия по Алтаю
    0
    — Ваш вес меньше 70 кг

    85
    — Вы не вешаете на багажник больше 25 кг.

    думаю 10ка максимум, палатка, еда, вода, инструменты, сменная одежда, не представляю что там на 25кг нагрузить можно.
    — Вы ездите аккуратно, например не разгоняетесь до 50 км/ч на спусках по грунтам.

    у меня 55 км/ч на спуске по асфальту максимум получалось разгоняться, где вы такие грунты видели что бы 50 ехать и не бояться? наоборот на спуске поджимаешь тормоза и по факту едешь 20 максимум
    — Вы в принципе ездите не шибко быстро.

    средняя за поездку по асфальту 28, пиковая до 38ми,
    — Вы ездите аккуратно — объезжаете камни, кочки, бордюры.

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

    смотрите выше
    — У вас хорошая вилка, а то и двухподвес.

    смотрите выше
    — У вас прочные обода и спицы — а они бывают очень разными.

    обода нет, а спицы да, толще стоковых, все колёса собраны на заказ
    — Вы не любите перекачивать камеры.

    всегда на максималку накачаны.
    — У вас широкие покрышки.

    1,4
    — У вас рама карбон, которая так же может съедать резкие удары.

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

    общего пробега у меня не менее 15к км (замена цепи каждые 2к-3к км, цепь я менял 5+ раз), пробега собственно по грунтам в походах не более 2к.

    и спицы и обода бояться боковых ударов, пару раз от таких ударов у меня и спицы и обод гнулись.
    Продольные удары от препятствий на дороге, колесу не страшны, если у вас колесо грамотно собрано, у меня привычка по ступенькам вниз ехать не слазя с велика, при таком спуске колесо получает удар от каждой ступеньки, но колёса до сих пор ровные.
    У меня большой опыт с этим, я знаю о чём говорю.
  • Архитектурное мышление на примере одиночного велопутешествия по Алтаю
    0
    спицы ломаются если у них не равномерное натяжение. Я всегда ездил с велобагажником, и не по асфальту, а по грунтам, там колесу от ям достаётся безбожно, но спицы у меня ни когда не лопались, потому что натяжение равномерное.
  • Среда разработки PHP на базе Docker
    0

    +1
    Читал статью и не мог понять почему не Ларадок
    Автор не разобрался с Ларадоком и сделал свой аналог.

  • PHP-класс для работы с INI-файлами
    0

    Оформить пакет композера не сложно. Я делал это год назад и как то справился. Кажется надо просто в репозитории иметь composer.json где будут прописаны пути к классам.
    Как пример https://packagist.org/packages/sbwerewolf/language-specific. И потом в жизни самому так удобней использовать. Ни какого копипаста. Подключил зависимостьти оно само работает. И само обновиться когда что то в исходниках поправишь.
    По коду мелкое замечание. Не красиво использовать '\n' красиво это PHP_EOL.
    И верное замечание про проверки. Если хочешь что бы таоим кодом пользовались, то сделвй его удобным.
    Можно сделать фабрику что бы пользоаатель библиотеки мог подсунуть свою реализацию, но в своей реализации сделать проверки. Кому будет мало сможет твой класс пепеписать и подставить.
    В порядке друкжеской критики.
    Спасибо что поделился кодом.

  • HTTP-клиент на стероидах
    +1

    Чтение возможностей было интересным, но без подроьностей применееия стало бесполезным. Надо примеров.

  • Перевод стандарта IDEF0 на русском языке
    +1
    Для меня лично IDEF0 это единственный стандарт который я смог осилить, он достаточно примитивен, что бы оставаться абстракцией, подробно им ни чего не опишешь, и это хорошо, потому что подробно это про реализацию, а в проекте мы передаём только идею.
    С 2015 года использую IDEF0 для проектирования, с десяток проектов наверное нарисовал, очень помогает навести порядок в голове, по сути этот тот же самый майнд мэп, только на одной диаграмме у тебя обозримое количество блоков, а не бесчисленное количество веток и узлов.
    Очень де удобно, тут вошло, обработалось, там вышло, можно указать с помощью чего обработалось (механизм), можно указать по каким правилам обработалось (контроль).
    Но я пользуюсь только вход/выход и блоками.
    Минимализм!
  • ООП: Кто взял Измаил? Вопрос принадлежности методов объекту
    0
    Есть три объекта: кошка, кормушка и человек. Вам необходимо написать метод, который бы позволял человеку покормить кошку, воспользовавшись кормушкой.
    Вопрос: методом какого класса будет являться метод.покормить()?

    Постановки задачи не совсем понятная, кошка будет кушать кормушку? или кто то забыл про корм?
    ну ок:
    Человек.СделатьКормушкуСъедобной;
    Кошка.КушатьИзКормушки;

    Какого объекта этот метод? а четвертого объекта, который называется СистемаВЦелом.
    СистемаВЦелом получает на вход всех этих Человек Кошка Кормушка и ими оперирует в соответствии с бизнес логикой.
    DDD for ever. Человек думает понятиями, поэтому разработка в понятиях (объектах) это естественно и удобно для человеческого мышления.
    Кто там что то имеет против ООП идёт на Ютуб смотреть видео Егора Бугаенко, его лекции об ООП, о том что самое главное в ООП это правильно создать объект — в конструктор надо передать все объекты нашей предметной области или фабрики что бы создать такие объекты в достаточном количестве.
  • DevOps или как мы теряем заработную плату и будущее IT-отрасли
    0

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

  • Качество кода, инструменты в помощь
    –1
    +1
  • Из аутсорса в разработку (Часть 2)
    0
    Спасибо за статью.
  • Из аутсорса в разработку (Часть 1)
    +1
    Если звёзды кто то зажигает, то значит это кому то нужно. Статья конечно интересная, но какие цели она преследует? Рассказать о компании? Однозначно, репутацию этой статьёй вы себе сделали. Спасибо.
  • Чистая архитектура на PHP. Как её измерять и контролировать?
    0
    Статья огонь. Спасибо автору. Попробую предложенный стст анализ на своих пет проектах.

    «Ограничение максмально-допустимого расстояния до главной последовательности (для всех компонентов)», можно «максмально» исправить на максИмально?
  • Проблемы и принципы кастомизации коробочной версии Битрикс24
    0

    Документации по Битриксу нет. То есть она есть, но в ней нет примеров использования. Вот есть либа, у неё есть методы, но как с этим работать в документации не написано.
    Можно в исходниках Битрикса попробовать поискать пример работы, редко помогает.
    Если гуглить пару часов, то можно найти или ветку на форуме битрикса где автор сначала задаёт вопрос, а потом сам же на него отвечает, или, если очень повезёт, то можно найти чей то пост в личном блоге.
    Только это и спасает. Спасибо ребятам которые деляться своим опытом.
    Банально делал вчера отправку Смс через свой сервис, в битриксе есть даже класс шаблон под это дело, только в ни где в документации не написано, что этот класс есть и на его основе надо написать свою реализацию.
    И так у Битрикса везде. Функционал есть, либы есть, а документации с примерами — нет.

  • Как платить программистам
    +13
    У автора проблемы с чувством юмора, и автор мало знаком с «тролями» конференций, там же написано «Автор оригинала: Yegor Bugayenko», это человек который прямо говорит, мои заявления специально провокационные, что бы вы задумались об этом и высказали своё мнение, Егор провоцирует вас на дискуссию, это просто повод поговорить, не надо это близко к сердцу принимать.
  • Какую видеокарту выбрать для своего компьютера в 2020
    0
    +1
    Полгода на Авито не могу продать две своих RX580 за 8к. Греются кстати 580 адски, по производительности от 470 отличаются не на столько что бы я это ощущал в играх, поэтому две 580 у меня на полочке лежат, а играю я на RX470.
    RX470 кстати 2.5к прекрасно тянет, шумит только (прогрев максимум 60C), но когда играешь в наушниках это не мешает.
    Майнили на 470/480 и 1060/1070, карты 570/580 вышли под конец бума на майнинг и их просо не успели в «оборот» ввести столько же сколько 470-х.
  • Проектные технологии при внедрении биллинговых систем у корпоративных клиентов (часть 2)
    0
    поделился статьёй со знакомым РП, спасибо.
  • PSR Стандарты
    0
    Познавательно. Особенно в части ссылок на рекомендации по «чистому коду». Спасибо.
  • Продвинутая система авторизации действий с ресурсами в Laravel. Часть 1. Модель, Контроллер
    0
    Смотрю у статьи два минуса и ни одного комента. У кого то плохое настроение и если поставить минус, то настроение от этого улучшиться?

    Спасибо за статью, прошу продолжения.
  • Craftable — Laravel CRUD generator
    0

    Я вас не понимаю. У Ларавеля есть "привязка" к ORM — eloquent, к шаблонизатору -blade, к фронтэнд либе — vue.
    У вас есть задача написать реализауию CRUD вы с помощью чего будете её делать? С помощью Ларавеля который создаст только контроллер или с помощью Крафтэбл, который вам сделает и представления, и работу с базой данных, и валидацию значений, и переводы для локализации? И ко всему в добавок ещё и разрешения для авторизации?
    Хотите пользуйтесь Ларавелем.

  • Craftable — Laravel CRUD generator
    0
    я увидел ценник 19 баксов за проект для индивидуальных разрабов и 199 для команд
  • Craftable — Laravel CRUD generator
    0
    Нову можно использовать бесплатно?
  • Craftable — Laravel CRUD generator
    0
    Реализация CRUD генерируется? нет. Какой же это тогда CRUD?
  • Craftable — Laravel CRUD generator
    0
    мне показалось или он коммерческий?
  • Архитектура для начинающих или почему не нужно вставлять флажок в человека-меча
    +1
    Спасибо за юмор, поучительная история.
    ЗЫ
    Не сразу понял что protocol это interface.
  • Steam has you: как цифровая дистрибуция отнимает наши игры
    +2
    хороший обзор проблематики, спасибо.