Бэкендошная
107 subscribers
2 photos
66 links
Канал о backend-разработке и backend-разработчиках: языки программирования, алгоритмы и структуры данных, методологии, околопрограммистские темы и никакого (ну почти) фронтенда
Download Telegram
Channel created
www.youtube.com/watch?v=8u6_hctdhqI

Отличный доклад по тестированию: раскрываются вопросы юнит-тестирования, UI-тестирования, а также TDD. И пусть вас не пугает жаргонное название - докладчик вполне адекватный человек и все эти вещи про нормальных пацанов добавлены только для разбавления атмосферы серьёзности и совсем не избыточны в ходе доклада.

Примеры кода в мастер-классе на Java, но ничего сложного и специфического там нет - все понятно и людям, которые пишут на PHP 😉

#программирование
https://www.youtube.com/watch?v=5WdKLW3vCQ4

Пошаговый доклад по внедрению зависимостей на примере фреймворка Yii2.

Автор начинает с сильно связанных компонентов, создающих друг друга внутри собственных методов и постепенно приходит к имплментации Dependency Injection в одном из популярнейших фреймворков для создания WEB-приложений, не забыв конечно же упомянуть такую важную вещь как Dependency Injection Container.

#программирование #dependencyinjection
Прочел Кента Бека - "Экстремальное программирование: разработка через тестирование". Прочел довольно-таки быстро: за неделю. А если быть более точным - за две выходные субботы - по будням на практике применял 😉

И что я могу сказать о книге...

Это шедевр! (здесь картинка со Светлаковым, ага)

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

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

Для меня книга станет одним из главных открытий года, заставшим жизнь разделиться на два этапа - до и после (ох, сколько пафоса во фразе-то). Я попробовал разрабатывать новый код с применением полученных знаний и понял, что испытываю новое ощущение, сравнимое с ломкой у наркоманов - желание писать все больше и больше тестов, чтобы покрыть ими функционал — потому что видеть у себя зеленые строки при прохождении — это скучно и хочется новых испытаний, принять вызов и побороть баги. А тестов много не бывает (это конечно же не так — во всем надо знать меру).

Рекомендую не просто читать книгу, а применять на практике все знания — это применимо ко всем книгам по программированию, потому что именно практика позволяет развивать навыки на основе знаний. Я параллельно с чтением книги получал навыки в покрытии тестами кода на новом для меня языке — так что мне было интересней вдвойне.

В общем, рекомендую к прочтению обязательно!
https://blog.jetbrains.com/phpstorm/2018/07/custom-postfix-completion-templates/

Помимо Live Templates в PhpStorm есть Postfix Templates. Если кто-то также как и я про это не знал - рекомендую ознакомиться со статьёй
Делал доклад по введению в разработку через тестирование для коллег. Решил что возможно данный доклад будет полезен кому-либо ещё, потому выкладываю его здесь.

https://vk.com/@ivan.krivonos-razrabotka-cherez-testirovanie
В дополнение к Одиночке)

Интересная статья от разработчика на Laravel про то, что возможно Локатор Сервисов являтся анти-паттерном.

https://www.stitcher.io/blog/service-locator-anti-pattern
> Меня попросили оценить время на доработку функционала в довольно старом проекте

> Полдня я изучал код и выдал срок в 2,5 недели

> Я просчитал кучу вариантов, переход на новые версии фреймворка, даже рассмотрел вариант полностью переписать приложение

> Одна девушка из нашей команды просто поправила пару строк в CSS, и все заработало!

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

Полная статья - https://habr.com/post/425201/
Очень интересная статья для тим-лидов и руководителей компаний.

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

https://habr.com/post/425285/
Решил начать развиваться в области предметно-ориентированного проектирования.

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

https://www.youtube.com/watch?v=rjtbCyacJas
Если в своём проекте вы следуете PSR-11, используя контейнеры для зависимостей, то наверняка сталкиваетесь с проблемой автокомплита кода в вашей IDE. PHP, к великому сожалению, не поддерживает generic'и и нельзя указать какой тип будет у возвращаемого значения, как это можно сделать в той же Java.

Обычно это решается пр помощи дополнительного phpdoc'а для переменной. PHPStorm позволяет настроить файл с meta-данными для проекта. Статья для более подробного описания: https://xtreamwayz.com/blog/2015-12-14-phpstorm-container-interop-code-completion
Продолжаем тему Предметно-ориентированного программирования.

За последние пару недель я отсмотрел штук 5 докладов по теме и могу сказать что доклад Андрея Моисеева наилучшим образом посвящает вас в тонкости темы. Начиная от проектирования ПО, нарастания сложности и перехода в состояние, когда все написано, но ничего не работает - докладчик переносит вас в мир проектирования ПО на основе выделенных контекстов, слоев взаимодействия и гексагональной архитектуры, не забывая в конце упомянуть и про то, какие ошибки чаще всего совершаются при попытке проектирования, в том числе и по DDD.

https://www.youtube.com/watch?v=f-QPoFDC5hc