Полтора года назад организованной группой лиц по предварительному сговору и под моим техническим руководством начали пилить Систему. Система представляет собой полсотни самостоятельных сайтов на Drupal с богатейшими редакторскими возможностями по созданию контента, но главное - с общим контентным и редакторским пространством на все сайты. Редактор создает контент и выбирает - на какие сайты он автоматически отправится, и какие его части будут автоматически переопределены по дороге (ну там, телефон другой, фоточка, ссылочки). И дальше оно само.
В общем, сегодня из этой группы сайтов первые семь увидели жизнь в продакшне. Об этом я с радостью бы рассказывал часами, однако NDA-шмендиэй, больше ничего сказать не могу. Но все равно - ура!
В общем, сегодня из этой группы сайтов первые семь увидели жизнь в продакшне. Об этом я с радостью бы рассказывал часами, однако NDA-шмендиэй, больше ничего сказать не могу. Но все равно - ура!
🍾4
Смотрю Prime Target — новый сериал о том как рептилоиды, иллюминаты и американские спецслужбы не разрешают британским математикам искать общую формулу простых чисел. Можно сказать, гоммаж на Игры разума и Игру в имитацию. Барахло полное, но смотреть забавно.
Параллельно смотрю сериал Paradise, тоже новый. О том, что в мире наступил глобальный и убийственный катаклизм (видимо, британские математики нашли-таки формулу). Поэтому рептилоиды, иллюминаты и американские спецслужбы укрылись в специально построенном городе под землей, и вредительствуют уже там. Тоже барахло, конечно же, но подинамичнее.
#сериалы
Параллельно смотрю сериал Paradise, тоже новый. О том, что в мире наступил глобальный и убийственный катаклизм (видимо, британские математики нашли-таки формулу). Поэтому рептилоиды, иллюминаты и американские спецслужбы укрылись в специально построенном городе под землей, и вредительствуют уже там. Тоже барахло, конечно же, но подинамичнее.
#сериалы
👌1
Когда-то немножко писал про TDD в целом. По-прежнему считаю методику очень годной. Особенно когда каждый раз начинаешь плясать от Feature/Integration test, а не от Unit test (что было бы все-таки уныло). Поэтому постоянно, когда есть возможность, её применяю.
Помимо прочего, со временем становится очевидным еще одно важное свойство TDD. А именно — методика позволяет тебе, так сказать, ехать в полосе, видеть свет в конце тоннеля, и в то же время не дает разгуляться безудержной фантазии там, где это противопоказано.
Например. Делаем мы, скажем, набор классов с наследованием, понадобится фабрика, дерево подклассов, перегруженные функции, инъекции зависимостей и все такое. Наиболее правильным (и с точки зрения TDD тоже) представляется есть этого слона по кусочкам:
1. Сделать первый подкласс, добиться чтобы он выполнял свою функцию (сразу после написания теста на этот подкласс, разумеется).
2. Сделать второй подкласс, добиться чтобы и он работал.
3. Посмотреть, что между ними общего, провести рефакторинг, вынести общие места в базовый класс, или создать еще один слой абстракции.
4. Убедиться что после рефакторинга всё по-прежнему работает.
5. Повторить с пункта 2.
6. Когда задача 1–5 решена, провести еще один рефакторинг, добавить инъекции зависимостей, дописать интерфейсы к конкретным сервисам и т.п.
Однако неуемное воображение постоянно заставляет разработчика, еще не доделав 1, сразу переходить к 3. Потому что мозг видит потенциально общий метод в подклассе и немедленно говорит: — так, это мне нужно будет еще в тех трех классах, но нужно будет учесть еще два нюанса, щас мы с тобой такую абстракцию забабахаем!
Начинает, в общем, много лишнего думать мозг, а подкласс, над которым мы собственно начали работу, так и остается недоделанным. Потому что мозгу очень интересно, он очень хочет сразу решить сложную задачу. И не думает о том, что возможно если мы сначала сделаем все нужные подклассы, и они будут тестируемые, увидеть и отрефакторить общее место будет гораздо проще. А проверка, что рефакторинг удался, вообще произойдет автоматически, благодаря тестам, которые к этому моменту _уже будут_ написаны.
И если предаться полету фантазии, то через какое-то время можно обнаружить набор наскоро написанных неоттестированных классов, которые в процессе проверки и отладки, очень вероятно, придется переделать, и не один раз.
Вот чтобы этого не было, помогает обозначенный эффект TDD: консолька как бы говорит — пока у тебя красные тесты, пиши то что тесты говорят! А помечтаешь когда всё исправишь.
Помимо прочего, со временем становится очевидным еще одно важное свойство TDD. А именно — методика позволяет тебе, так сказать, ехать в полосе, видеть свет в конце тоннеля, и в то же время не дает разгуляться безудержной фантазии там, где это противопоказано.
Например. Делаем мы, скажем, набор классов с наследованием, понадобится фабрика, дерево подклассов, перегруженные функции, инъекции зависимостей и все такое. Наиболее правильным (и с точки зрения TDD тоже) представляется есть этого слона по кусочкам:
1. Сделать первый подкласс, добиться чтобы он выполнял свою функцию (сразу после написания теста на этот подкласс, разумеется).
2. Сделать второй подкласс, добиться чтобы и он работал.
3. Посмотреть, что между ними общего, провести рефакторинг, вынести общие места в базовый класс, или создать еще один слой абстракции.
4. Убедиться что после рефакторинга всё по-прежнему работает.
5. Повторить с пункта 2.
6. Когда задача 1–5 решена, провести еще один рефакторинг, добавить инъекции зависимостей, дописать интерфейсы к конкретным сервисам и т.п.
Однако неуемное воображение постоянно заставляет разработчика, еще не доделав 1, сразу переходить к 3. Потому что мозг видит потенциально общий метод в подклассе и немедленно говорит: — так, это мне нужно будет еще в тех трех классах, но нужно будет учесть еще два нюанса, щас мы с тобой такую абстракцию забабахаем!
Начинает, в общем, много лишнего думать мозг, а подкласс, над которым мы собственно начали работу, так и остается недоделанным. Потому что мозгу очень интересно, он очень хочет сразу решить сложную задачу. И не думает о том, что возможно если мы сначала сделаем все нужные подклассы, и они будут тестируемые, увидеть и отрефакторить общее место будет гораздо проще. А проверка, что рефакторинг удался, вообще произойдет автоматически, благодаря тестам, которые к этому моменту _уже будут_ написаны.
И если предаться полету фантазии, то через какое-то время можно обнаружить набор наскоро написанных неоттестированных классов, которые в процессе проверки и отладки, очень вероятно, придется переделать, и не один раз.
Вот чтобы этого не было, помогает обозначенный эффект TDD: консолька как бы говорит — пока у тебя красные тесты, пиши то что тесты говорят! А помечтаешь когда всё исправишь.
Graker.Ru
TDD и Laravel
Уже достаточно давно в свободное время штудирую курс Test Driven Laravel, посвященный, очевидно, применению методики TDD (Test-Driven Development) к разработке ПО на Ларавеле.
Курс последовательно, начиная с написания самого первого теста, демонстрирует разработку…
Курс последовательно, начиная с написания самого первого теста, демонстрирует разработку…
Кстати, курс https://course.testdrivenlaravel.com/ очень рекомендую для всех кто пользуется Ларавелом. Это не только прекрасный курс по TDD, это еще и единственный видеокурс, который я с удовольствием изучил до конца, притом что ненавижу видеокурсы в частности и вообще видеоматериалы по программированию.
Да, материал за последнее время изрядно подорожал. Но ведь и Адам на свежем фото тоже прилично схуднул!
Да, материал за последнее время изрядно подорожал. Но ведь и Адам на свежем фото тоже прилично схуднул!
Testdrivenlaravel
Test-Driven Laravel
Learn to build robust, well-designed Laravel applications with TDD.
👍2
Посмотрел тут на днях минисериал-выживач про очередной попокалипсис, Earth Abides называется. Что могу сказать. В целом, барахло. Поэтому внизу будет некоторое количество спойлеров и ни капли сожалений о них.
Главный герой Ишервуд (сокращенно, Иш), проживая один где-то в кемпинге в горах, сует свои ручонки куда не надо, за что его кусает гремучая змея. Провалявшись три недели в змеиных приходах, Иш очухивается и возвращается в город. Где обнаруживает, что от очередного вируса умерли все и везде. Ну то есть совсем все и вообще везде.
И вот значит Иш начинает выживать, искать какой-либо еды чтоб пожрать, каких-то выживших, чтоб поговорить, и каких-нибудь событий, чтобы наполнить шесть часовых серий. И понемножку находит.
Каждая серия сделана как некая такая отдельная притча с налетом библейскости. То орды крыс на логово Иша нападают. То бабу он находит. То новые человеки присоединяются. И между каждым событием по несколько лет проходит. Некоторые притчи весьма красивы визуально, некоторые крайне драматичны. Отлично сняли например, как Иш по учебнику пытался разделать корову.
Но что ещё сильнее все объединяет — персонажи практически постоянно ведут себя как дебилы. Даже когда в поселение заезжает группа явно недобрых людей и кажется что вот сейчас-то уж точно научат героев как Родину любить, оказывается что недобрые люди — тоже все дебилы.
И даже главный «злодей» вместо того чтобы организовать подчинение Negan-style, расхаживает по лагерю безоружным и творит нехорошие дела с тупой наглой рожей, типа, и чо вы мне сделаете. В результате получает молотком по тупой безоружной башке, что видимо символизирует победу над злом.
Возможно, смысл в том, что Земля-матушка специально отобрала в качестве выживших всяких тупорылых. Ну, чтобы им точно соображалки не хватило вернуть всё «как было». Потому что главная идея у произведения именно такая — что всё было неправильно, и вот эти новые выжившие после вируса люди (которых буквально человек сто) должны теперь сделать как-то по-другому. Однако реализация этой идеи выглядит как и всё остальное — глупо.
Идею эту видимо придумали не авторы сериала, так как снят он по одноимённой книжке. К слову, название сериала Earth Abides, это отсыл к известной библейской фразе One generation goeth, and another generation cometh; but the earth abideth for ever. Что в нашем переводе означает примерно Одно поколение приходит, другое отходит, а земля пребывает веки.
Автор в своей книжке редуцировал эту фразу до Men go and come, but earth abides, наверное чтобы целевой аудитории было проще и понятнее. Ну а в переводе сериал вообще зафиксировали под названием «Земля без людей». Впрочем, жаловаться на переводы названий — все равно что на погоду.
Кстати, между прочим, легендарное The Dude abides из концовки Большого Лебовского — тоже отсыл к вышеупомянутой библейской цитате. Ну, только у братьев Коэнов получился шедевр на все времена. А сериал Earth Abides — фигня. Смотреть не рекомендую.
#сериалы
Главный герой Ишервуд (сокращенно, Иш), проживая один где-то в кемпинге в горах, сует свои ручонки куда не надо, за что его кусает гремучая змея. Провалявшись три недели в змеиных приходах, Иш очухивается и возвращается в город. Где обнаруживает, что от очередного вируса умерли все и везде. Ну то есть совсем все и вообще везде.
И вот значит Иш начинает выживать, искать какой-либо еды чтоб пожрать, каких-то выживших, чтоб поговорить, и каких-нибудь событий, чтобы наполнить шесть часовых серий. И понемножку находит.
Каждая серия сделана как некая такая отдельная притча с налетом библейскости. То орды крыс на логово Иша нападают. То бабу он находит. То новые человеки присоединяются. И между каждым событием по несколько лет проходит. Некоторые притчи весьма красивы визуально, некоторые крайне драматичны. Отлично сняли например, как Иш по учебнику пытался разделать корову.
Но что ещё сильнее все объединяет — персонажи практически постоянно ведут себя как дебилы. Даже когда в поселение заезжает группа явно недобрых людей и кажется что вот сейчас-то уж точно научат героев как Родину любить, оказывается что недобрые люди — тоже все дебилы.
И даже главный «злодей» вместо того чтобы организовать подчинение Negan-style, расхаживает по лагерю безоружным и творит нехорошие дела с тупой наглой рожей, типа, и чо вы мне сделаете. В результате получает молотком по тупой безоружной башке, что видимо символизирует победу над злом.
Возможно, смысл в том, что Земля-матушка специально отобрала в качестве выживших всяких тупорылых. Ну, чтобы им точно соображалки не хватило вернуть всё «как было». Потому что главная идея у произведения именно такая — что всё было неправильно, и вот эти новые выжившие после вируса люди (которых буквально человек сто) должны теперь сделать как-то по-другому. Однако реализация этой идеи выглядит как и всё остальное — глупо.
Идею эту видимо придумали не авторы сериала, так как снят он по одноимённой книжке. К слову, название сериала Earth Abides, это отсыл к известной библейской фразе One generation goeth, and another generation cometh; but the earth abideth for ever. Что в нашем переводе означает примерно Одно поколение приходит, другое отходит, а земля пребывает веки.
Автор в своей книжке редуцировал эту фразу до Men go and come, but earth abides, наверное чтобы целевой аудитории было проще и понятнее. Ну а в переводе сериал вообще зафиксировали под названием «Земля без людей». Впрочем, жаловаться на переводы названий — все равно что на погоду.
Кстати, между прочим, легендарное The Dude abides из концовки Большого Лебовского — тоже отсыл к вышеупомянутой библейской цитате. Ну, только у братьев Коэнов получился шедевр на все времена. А сериал Earth Abides — фигня. Смотреть не рекомендую.
#сериалы
👌1
В новостях все чаще появляются заголовки типа «Растратбанк уволил и больше не нанимает младших разработчиков». Внутри обычно намёк на повальное применение ИИ-ассистентов, дескать они легко заменяют младших разрабов (джунов) и экономят деньги. Ну с банками всё понятно, они не обеднеют. А что делать нам, маленьким студиям, скромным командам и компаниям-из-одного?
Если вы фанат отдачи строгих инструкций «Напиши класс A в котором есть вот этот список методов b(), c(), d(), e(), а также вот этот список тестов для них» и с пристрастием, до буквы проверяете результат, то только ИИ позволит сохранить остатки рассудка. Кодить надо строго одному, и желательно где-нибудь в глухом лесу.
Если же вы уже научились делегировать задачи в более крупную клетку и проверять качество исполнения, а не буквоедствовать, джун точно лучше ИИ. Особенно в долгосрочной перспективе — ведь он не всегда джуном будет.
Ну а на самом деле нужно и кодить с ИИ, и давать отдельные задачи джуну. Которому хотя бы на время стажировки лучше запретить самому включать ИИ. Чтобы тот не смущал неокрепший мозг своими электрическими овцами.
Если вы фанат отдачи строгих инструкций «Напиши класс A в котором есть вот этот список методов b(), c(), d(), e(), а также вот этот список тестов для них» и с пристрастием, до буквы проверяете результат, то только ИИ позволит сохранить остатки рассудка. Кодить надо строго одному, и желательно где-нибудь в глухом лесу.
Если же вы уже научились делегировать задачи в более крупную клетку и проверять качество исполнения, а не буквоедствовать, джун точно лучше ИИ. Особенно в долгосрочной перспективе — ведь он не всегда джуном будет.
Ну а на самом деле нужно и кодить с ИИ, и давать отдельные задачи джуну. Которому хотя бы на время стажировки лучше запретить самому включать ИИ. Чтобы тот не смущал неокрепший мозг своими электрическими овцами.
"Fernando this is extremely urgent!" пишет PM в слаке одной там команды.
Хорошее название для книги, статьи, или телеграм-канала. Также можно написать на футболке.
Хорошее название для книги, статьи, или телеграм-канала. Также можно написать на футболке.
Сначала у программистов был метод резинового утенка - чтобы объяснять несмышленому утенку как работает код (а у меня есть резиновый зомби).
Сегодня в качестве собеседника у нас есть чат жопотэ. Вот только непонятно, кто из нас теперь резиновый утенок?
Сегодня в качестве собеседника у нас есть чат жопотэ. Вот только непонятно, кто из нас теперь резиновый утенок?
🔥2
