www.youtube.com/watch?v=8u6_hctdhqI
Отличный доклад по тестированию: раскрываются вопросы юнит-тестирования, UI-тестирования, а также TDD. И пусть вас не пугает жаргонное название - докладчик вполне адекватный человек и все эти вещи про нормальных пацанов добавлены только для разбавления атмосферы серьёзности и совсем не избыточны в ходе доклада.
Примеры кода в мастер-классе на Java, но ничего сложного и специфического там нет - все понятно и людям, которые пишут на PHP 😉
#программирование
Отличный доклад по тестированию: раскрываются вопросы юнит-тестирования, UI-тестирования, а также TDD. И пусть вас не пугает жаргонное название - докладчик вполне адекватный человек и все эти вещи про нормальных пацанов добавлены только для разбавления атмосферы серьёзности и совсем не избыточны в ходе доклада.
Примеры кода в мастер-классе на Java, но ничего сложного и специфического там нет - все понятно и людям, которые пишут на PHP 😉
#программирование
YouTube
Андрей Солнцев — Пацан накодил — пацан протестил!
Подробнее о Java-конференциях:
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
. . . . Андрей Солнцев, Codeborne — Пацан накодил — пацан протестил!
Встреча JUG.ru в Петербурге 05.02.2015.
Мир станет лучше, когда программисты…
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
. . . . Андрей Солнцев, Codeborne — Пацан накодил — пацан протестил!
Встреча JUG.ru в Петербурге 05.02.2015.
Мир станет лучше, когда программисты…
https://www.youtube.com/watch?v=5WdKLW3vCQ4
Пошаговый доклад по внедрению зависимостей на примере фреймворка Yii2.
Автор начинает с сильно связанных компонентов, создающих друг друга внутри собственных методов и постепенно приходит к имплментации Dependency Injection в одном из популярнейших фреймворков для создания WEB-приложений, не забыв конечно же упомянуть такую важную вещь как Dependency Injection Container.
#программирование #dependencyinjection
Пошаговый доклад по внедрению зависимостей на примере фреймворка Yii2.
Автор начинает с сильно связанных компонентов, создающих друг друга внутри собственных методов и постепенно приходит к имплментации Dependency Injection в одном из популярнейших фреймворков для создания WEB-приложений, не забыв конечно же упомянуть такую важную вещь как Dependency Injection Container.
#программирование #dependencyinjection
YouTube
"Dependency Injection и Service Locator в Yii 2" - Дмитрий Науменко на Yii2 conference
Yii2 conference, Киев, 24 сентября 2016 года.
Слайды: http://slides.silverfire.me/2016/yii-di/#/
Слайды: http://slides.silverfire.me/2016/yii-di/#/
Прочел Кента Бека - "Экстремальное программирование: разработка через тестирование". Прочел довольно-таки быстро: за неделю. А если быть более точным - за две выходные субботы - по будням на практике применял 😉
И что я могу сказать о книге...
Это шедевр! (здесь картинка со Светлаковым, ага)
Серьёзно: если вы никогда не писали тестов - книга заставит вас чувствовать себя крайне неудобно, потому что после прочтения вы уже не будете представлять свой цикл разработки без тестирования.
Если же вы писали тесты постфактум - книга научит вас делать это до, чтобы писать тестируемый код, который потом можно рефакторить без пригорания в пятой точке и с почти нулевым уровнем стресса.
Для меня книга станет одним из главных открытий года, заставшим жизнь разделиться на два этапа - до и после (ох, сколько пафоса во фразе-то). Я попробовал разрабатывать новый код с применением полученных знаний и понял, что испытываю новое ощущение, сравнимое с ломкой у наркоманов - желание писать все больше и больше тестов, чтобы покрыть ими функционал — потому что видеть у себя зеленые строки при прохождении — это скучно и хочется новых испытаний, принять вызов и побороть баги. А тестов много не бывает (это конечно же не так — во всем надо знать меру).
Рекомендую не просто читать книгу, а применять на практике все знания — это применимо ко всем книгам по программированию, потому что именно практика позволяет развивать навыки на основе знаний. Я параллельно с чтением книги получал навыки в покрытии тестами кода на новом для меня языке — так что мне было интересней вдвойне.
В общем, рекомендую к прочтению обязательно!
И что я могу сказать о книге...
Это шедевр! (здесь картинка со Светлаковым, ага)
Серьёзно: если вы никогда не писали тестов - книга заставит вас чувствовать себя крайне неудобно, потому что после прочтения вы уже не будете представлять свой цикл разработки без тестирования.
Если же вы писали тесты постфактум - книга научит вас делать это до, чтобы писать тестируемый код, который потом можно рефакторить без пригорания в пятой точке и с почти нулевым уровнем стресса.
Для меня книга станет одним из главных открытий года, заставшим жизнь разделиться на два этапа - до и после (ох, сколько пафоса во фразе-то). Я попробовал разрабатывать новый код с применением полученных знаний и понял, что испытываю новое ощущение, сравнимое с ломкой у наркоманов - желание писать все больше и больше тестов, чтобы покрыть ими функционал — потому что видеть у себя зеленые строки при прохождении — это скучно и хочется новых испытаний, принять вызов и побороть баги. А тестов много не бывает (это конечно же не так — во всем надо знать меру).
Рекомендую не просто читать книгу, а применять на практике все знания — это применимо ко всем книгам по программированию, потому что именно практика позволяет развивать навыки на основе знаний. Я параллельно с чтением книги получал навыки в покрытии тестами кода на новом для меня языке — так что мне было интересней вдвойне.
В общем, рекомендую к прочтению обязательно!
https://blog.jetbrains.com/phpstorm/2018/07/custom-postfix-completion-templates/
Помимо Live Templates в PhpStorm есть Postfix Templates. Если кто-то также как и я про это не знал - рекомендую ознакомиться со статьёй
Помимо Live Templates в PhpStorm есть Postfix Templates. Если кто-то также как и я про это не знал - рекомендую ознакомиться со статьёй
Делал доклад по введению в разработку через тестирование для коллег. Решил что возможно данный доклад будет полезен кому-либо ещё, потому выкладываю его здесь.
https://vk.com/@ivan.krivonos-razrabotka-cherez-testirovanie
https://vk.com/@ivan.krivonos-razrabotka-cherez-testirovanie
Vk
Разработка через тестирование
Делал доклад по введению в разработку через тестирование. Решил что возможно данный доклад будет полезен кому-либо ещё, потому выкладываю его здесь.
В дополнение к Одиночке)
Интересная статья от разработчика на Laravel про то, что возможно Локатор Сервисов являтся анти-паттерном.
https://www.stitcher.io/blog/service-locator-anti-pattern
Интересная статья от разработчика на Laravel про то, что возможно Локатор Сервисов являтся анти-паттерном.
https://www.stitcher.io/blog/service-locator-anti-pattern
stitcher.io
Service locator: an anti-pattern - stitcher.io
Three arguments on why service locators are a bad idea.
Библиотека для склонения названий городов, русских ФИО и даже определдения пола по ФИО.
https://github.com/nodkz/lvovich
https://github.com/nodkz/lvovich
GitHub
GitHub - nodkz/lvovich: Склонение названий городов, определения пола по ФИО, склонения имен по падежам
Склонение названий городов, определения пола по ФИО, склонения имен по падежам - nodkz/lvovich
> Меня попросили оценить время на доработку функционала в довольно старом проекте
> Полдня я изучал код и выдал срок в 2,5 недели
> Я просчитал кучу вариантов, переход на новые версии фреймворка, даже рассмотрел вариант полностью переписать приложение
> Одна девушка из нашей команды просто поправила пару строк в CSS, и все заработало!
Суровый web-энтерпрайз. Данная история заставляет задуматься о том, что вместо того чтобы с головой кидаться в просчет вариантов сложных решений - убедись, а все ли простые варианты ты рассмотрел. Возможно, что "Истина где-то рядом" и "Ларчик просто открывается"
Полная статья - https://habr.com/post/425201/
> Полдня я изучал код и выдал срок в 2,5 недели
> Я просчитал кучу вариантов, переход на новые версии фреймворка, даже рассмотрел вариант полностью переписать приложение
> Одна девушка из нашей команды просто поправила пару строк в CSS, и все заработало!
Суровый web-энтерпрайз. Данная история заставляет задуматься о том, что вместо того чтобы с головой кидаться в просчет вариантов сложных решений - убедись, а все ли простые варианты ты рассмотрел. Возможно, что "Истина где-то рядом" и "Ларчик просто открывается"
Полная статья - https://habr.com/post/425201/
Очень интересная статья для тим-лидов и руководителей компаний.
Все мы были джунами, но почему-то некоторые, став старше в профессиональном плане, забывают о том, с чего начинали. И это относится не только к IT, но и к любой работе.
https://habr.com/post/425285/
Все мы были джунами, но почему-то некоторые, став старше в профессиональном плане, забывают о том, с чего начинали. И это относится не только к IT, но и к любой работе.
https://habr.com/post/425285/
Хабр
Если вы не нанимаете джунов, то не заслуживаете сеньоров
Позвольте рассказать вам историю об одной очень успешной компании, совершившей большую, глупую ошибку: Мы не нанимаем младших программистов и интернов… Если не з...
Решил начать развиваться в области предметно-ориентированного проектирования.
И вот неплохое видео для разгона по теме. Докладчик по ходу раскрывает суть слоев приложения, разделение ответственностей, а также проводит небольшой рефакторинг, вынося логику из контроллера по слоям.
https://www.youtube.com/watch?v=rjtbCyacJas
И вот неплохое видео для разгона по теме. Докладчик по ходу раскрывает суть слоев приложения, разделение ответственностей, а также проводит небольшой рефакторинг, вынося логику из контроллера по слоям.
https://www.youtube.com/watch?v=rjtbCyacJas
YouTube
Domain Driven Design – просто о сложном. Дмитрий Науменко.
Доклад Дмитрия Науменко на Съесть собаку #8. PHP. 20/04/17
Для всех участников восьмой встречи “Съесть собаку” и наших подписчиков Дима собрал список из 4 ресурсов и книг, которые точно пригодятся в работе.
1. Книга «Domain-Driven Design: Tackling Complexity…
Для всех участников восьмой встречи “Съесть собаку” и наших подписчиков Дима собрал список из 4 ресурсов и книг, которые точно пригодятся в работе.
1. Книга «Domain-Driven Design: Tackling Complexity…
Если в своём проекте вы следуете PSR-11, используя контейнеры для зависимостей, то наверняка сталкиваетесь с проблемой автокомплита кода в вашей IDE. PHP, к великому сожалению, не поддерживает generic'и и нельзя указать какой тип будет у возвращаемого значения, как это можно сделать в той же Java.
Обычно это решается пр помощи дополнительного phpdoc'а для переменной. PHPStorm позволяет настроить файл с meta-данными для проекта. Статья для более подробного описания: https://xtreamwayz.com/blog/2015-12-14-phpstorm-container-interop-code-completion
Обычно это решается пр помощи дополнительного phpdoc'а для переменной. PHPStorm позволяет настроить файл с meta-данными для проекта. Статья для более подробного описания: https://xtreamwayz.com/blog/2015-12-14-phpstorm-container-interop-code-completion
Xtreamwayz
Php storm -
Продолжаем тему Предметно-ориентированного программирования.
За последние пару недель я отсмотрел штук 5 докладов по теме и могу сказать что доклад Андрея Моисеева наилучшим образом посвящает вас в тонкости темы. Начиная от проектирования ПО, нарастания сложности и перехода в состояние, когда все написано, но ничего не работает - докладчик переносит вас в мир проектирования ПО на основе выделенных контекстов, слоев взаимодействия и гексагональной архитектуры, не забывая в конце упомянуть и про то, какие ошибки чаще всего совершаются при попытке проектирования, в том числе и по DDD.
https://www.youtube.com/watch?v=f-QPoFDC5hc
За последние пару недель я отсмотрел штук 5 докладов по теме и могу сказать что доклад Андрея Моисеева наилучшим образом посвящает вас в тонкости темы. Начиная от проектирования ПО, нарастания сложности и перехода в состояние, когда все написано, но ничего не работает - докладчик переносит вас в мир проектирования ПО на основе выделенных контекстов, слоев взаимодействия и гексагональной архитектуры, не забывая в конце упомянуть и про то, какие ошибки чаще всего совершаются при попытке проектирования, в том числе и по DDD.
https://www.youtube.com/watch?v=f-QPoFDC5hc
YouTube
Domain-Driven Design и архитектура корпоративных приложений
Открытый семинар для студентов в компании CUSTIS (7 ноября 2013).
Лектор: Андрей Моисеев, ведущий разработчик С#.
Аннотация: Этот семинар поможет взглянуть на архитектуру корпоративных приложений с позиции разработчика и разобраться, зачем нужна архитектура…
Лектор: Андрей Моисеев, ведущий разработчик С#.
Аннотация: Этот семинар поможет взглянуть на архитектуру корпоративных приложений с позиции разработчика и разобраться, зачем нужна архитектура…
Скучали?))
А у меня снова Предметно-ориентированное проектирование - в этот раз на примере жирафов, утконосов и legacy-кода рыб.
А также через всю статью проносится очень важная мысль, которую многие, кто начинает знакомиться с DDD, почему-то упускают: DDD не про архитектуру, использование паттернов и наличие чистого кода. DDD про общение между людьми с обеих сторон бизнес-процесса - проектных менеджеров и разработчиков, про то. что не должно быть стены непонимания между этими группами. А чистый код и качественная архитектура - это следствие правильно выстроенного языка, при помощи которого происходит взаимодействие и описание бизнес-процессов.
https://habr.com/ru/company/jugru/blog/440772/
А у меня снова Предметно-ориентированное проектирование - в этот раз на примере жирафов, утконосов и legacy-кода рыб.
А также через всю статью проносится очень важная мысль, которую многие, кто начинает знакомиться с DDD, почему-то упускают: DDD не про архитектуру, использование паттернов и наличие чистого кода. DDD про общение между людьми с обеих сторон бизнес-процесса - проектных менеджеров и разработчиков, про то. что не должно быть стены непонимания между этими группами. А чистый код и качественная архитектура - это следствие правильно выстроенного языка, при помощи которого происходит взаимодействие и описание бизнес-процессов.
https://habr.com/ru/company/jugru/blog/440772/
Хабр
Domain-driven design: рецепт для прагматика
Почему к DDD обычно подходят не с той стороны? А с какой стороны надо? Какое отношение ко всему этому имеют жирафы и утконосы? Специально для Хабра — текстовая расшифровка доклада...
Доброго времени суток!
Отличная статья о тестировании в компании Badoo. Описаны все варианты тестов, которые используются, а также практические примеры решения различных проблем, связанные с тестами: легаси код, тестовые окружения, использование БД в тестах и т.д.
Рекомендую ознакомиться всем, кто уже пишет тесты и сталкивается с проблемами их сопровождения и поддержания аднных в актуальном состоянии.
https://habr.com/ru/company/badoo/blog/443768/
Отличная статья о тестировании в компании Badoo. Описаны все варианты тестов, которые используются, а также практические примеры решения различных проблем, связанные с тестами: легаси код, тестовые окружения, использование БД в тестах и т.д.
Рекомендую ознакомиться всем, кто уже пишет тесты и сталкивается с проблемами их сопровождения и поддержания аднных в актуальном состоянии.
https://habr.com/ru/company/badoo/blog/443768/
Хабр
Монолит для сотен версий клиентов: как мы пишем и поддерживаем тесты
Всем привет! Я бэкенд-разработчик в серверной команде Badoo. На прошлогодней конференции HighLoad я выступал с докладом, текстовым вариантом которого и хочу поделиться с вами. Этот пост будет...
Доброго времени суток!
https://habr.com/ru/company/piter/blog/428211/
В общем, купил пару недель назад "на сдачу" эту книгу (акция была - при покупке трех книг скидон хороший давали). Купил просто потому что в названии есть слово архитектура, ничего особого не ожидая.
Но она оказалась крайне впечатляющей книгой. Если вы до этого читали Мартина "Идеальная архитектура" и она показалась вам очень теоретической, то в этой книге вы найдете кучу практических советов, которые не "общие советы, которые будут фундаментальной основой", а именно практика в архитектуре ПО нового десятилетия.
Короче - от меня лайк и моя рекомендация к прочтению всем.
https://habr.com/ru/company/piter/blog/428211/
В общем, купил пару недель назад "на сдачу" эту книгу (акция была - при покупке трех книг скидон хороший давали). Купил просто потому что в названии есть слово архитектура, ничего особого не ожидая.
Но она оказалась крайне впечатляющей книгой. Если вы до этого читали Мартина "Идеальная архитектура" и она показалась вам очень теоретической, то в этой книге вы найдете кучу практических советов, которые не "общие советы, которые будут фундаментальной основой", а именно практика в архитектуре ПО нового десятилетия.
Короче - от меня лайк и моя рекомендация к прочтению всем.
Хабр
Книга «Эволюционная архитектура. Поддержка непрерывных изменений»
Пора по-новому взглянуть на постулаты, остававшиеся неизменными на протяжении многих лет. Динамично меняющийся мир диктует свои правила, в том числе и в компьютерной архитектуре. Происходящие...
Доброго времени суток!
На хабре очень много статей про TDD, однако тех, которые действителньо стоит прочитать, чтобы понять всю прелесть этого подхода - единицы.
Недавно вышла ещё одна такая, которая поможет на практическом примере осознать, насколько чище становится ваша архитектура с применением TDD, а также как мало стресса будет при дальнейшем сопровождении такого кода.
Примеры в статье на Java, но ничего сверхсложного там нет, всё отлично ложится на любой другой язык программирования.
в общем, от меня рекомендация к прочтению для тех, кто ещё сомневается "Быть или не быть TDD в вашем проекте".
https://habr.com/ru/company/leroy_merlin/blog/456662/
P.S. кстати, решение о том, чтобы "не быть" - тоже иногда бывает правильным, и статья про это не забывает упомянуть.
На хабре очень много статей про TDD, однако тех, которые действителньо стоит прочитать, чтобы понять всю прелесть этого подхода - единицы.
Недавно вышла ещё одна такая, которая поможет на практическом примере осознать, насколько чище становится ваша архитектура с применением TDD, а также как мало стресса будет при дальнейшем сопровождении такого кода.
Примеры в статье на Java, но ничего сверхсложного там нет, всё отлично ложится на любой другой язык программирования.
в общем, от меня рекомендация к прочтению для тех, кто ещё сомневается "Быть или не быть TDD в вашем проекте".
https://habr.com/ru/company/leroy_merlin/blog/456662/
P.S. кстати, решение о том, чтобы "не быть" - тоже иногда бывает правильным, и статья про это не забывает упомянуть.
Хабр
Как сэкономить на психотерапевте используя test-driven development
У вас когда-нибудь было такое состояние? Хочу показать вам, как TDD может улучшить качество кода на конкретном примере. Потому что всё то, что я встречал при изучении вопроса, было довольно-таки...
Здравствуйте!
В последнее время активно прохожу собеседования и вот на Хабре вышла статья, как раз-таки на эту тему. Статья на поразмыслить. Конечно, каждый из нас, может оказаться Дэниэлом Бухмюллером (читай статью, чтоб понять), но тем не менее - подстелить соломку никогда не помешает.
https://habr.com/ru/post/460901/
В последнее время активно прохожу собеседования и вот на Хабре вышла статья, как раз-таки на эту тему. Статья на поразмыслить. Конечно, каждый из нас, может оказаться Дэниэлом Бухмюллером (читай статью, чтоб понять), но тем не менее - подстелить соломку никогда не помешает.
https://habr.com/ru/post/460901/
Хабр
Почему Senior Developer'ы не могут устроиться на работу
Сначала о том, как 5 месяцев назад я проходил собеседование на работу. Меня посоветовал друг, и прошло уже немало времени, с момента как я ответил рекрутеру. Я был поражён, как сильно весь процесс...
Доброго дня!
Решил немного разбавить тишину в эфире этого канала.
За последние месяцы я погрузился в прокачивание скиллов: подтягиваю алгоритмы и структуры данных, пробую новые языки программирования. Хотел поделиться с вами личным опытом того, как закреплять полученные навыки. Речь пойдет про две площадки, на которых можно попробовать себя в решениях различных интересных задач, которые, к слову, очень часто предлагаются на собеседованиях.
Первая площадка - это https://www.codewars.com
Про нее я узнал несколько месяцев назад, когда приступил к погружению в Golang. Поначалу закреплял свои скиллы в PHP, а позже начал практиковаться в решении задач и на Go. Задачи различного уровня сложности, с возможностью повышения сложности по мере решения задач. Еще, из отличительных черт - это соревновательный момент - ваше решение выкладывается на всеобщее обозрение и его оцениваются другие участники площадки. А вы можете изучать и оценивать их решения. В общем, отличный способ прокачивать скиллы.
Еще одна площадка - https://leetcode.com
Про нее я узнал совсем недавно. Здесь можно попрактиковаться в классических алгоритмах структурах данных (для чего собственно я и пришел на площадку), а также, судя по блокам - узнать какие вопросы и задачи используются на собеседованиях в Apple, Uber и других компаниях. О сервисе пока много не скажу, из минусов - он платный.
Ну и еще важный момент - оба сервиса на английском языке, но зато это еще одна отличная возможность - попрактиковаться в английском. Хотя, на том же codewars, многие задачи можно понять, взглянув на набор тестов.
Дерзайте!
Решил немного разбавить тишину в эфире этого канала.
За последние месяцы я погрузился в прокачивание скиллов: подтягиваю алгоритмы и структуры данных, пробую новые языки программирования. Хотел поделиться с вами личным опытом того, как закреплять полученные навыки. Речь пойдет про две площадки, на которых можно попробовать себя в решениях различных интересных задач, которые, к слову, очень часто предлагаются на собеседованиях.
Первая площадка - это https://www.codewars.com
Про нее я узнал несколько месяцев назад, когда приступил к погружению в Golang. Поначалу закреплял свои скиллы в PHP, а позже начал практиковаться в решении задач и на Go. Задачи различного уровня сложности, с возможностью повышения сложности по мере решения задач. Еще, из отличительных черт - это соревновательный момент - ваше решение выкладывается на всеобщее обозрение и его оцениваются другие участники площадки. А вы можете изучать и оценивать их решения. В общем, отличный способ прокачивать скиллы.
Еще одна площадка - https://leetcode.com
Про нее я узнал совсем недавно. Здесь можно попрактиковаться в классических алгоритмах структурах данных (для чего собственно я и пришел на площадку), а также, судя по блокам - узнать какие вопросы и задачи используются на собеседованиях в Apple, Uber и других компаниях. О сервисе пока много не скажу, из минусов - он платный.
Ну и еще важный момент - оба сервиса на английском языке, но зато это еще одна отличная возможность - попрактиковаться в английском. Хотя, на том же codewars, многие задачи можно понять, взглянув на набор тестов.
Дерзайте!
Бэкендошная via @like
Доброго дня!
Вчера за вечер по диагонали прошёлся по "Грокаем алгоритмы" Бхаргавы Адитьи.
Если кому-то заходят книги от head first - эта примерно такая же. Вроде рекомендую, но только если вы прям совсем начинающий в алгоритмах и структурах и потом обязательно прочитаете что-то более серьезное
Вчера за вечер по диагонали прошёлся по "Грокаем алгоритмы" Бхаргавы Адитьи.
Если кому-то заходят книги от head first - эта примерно такая же. Вроде рекомендую, но только если вы прям совсем начинающий в алгоритмах и структурах и потом обязательно прочитаете что-то более серьезное