validoll

31 октября 2016, Екатеринбург, Россия

# Понедельник 28 твитов

Всем привет! На этой неделе с вами я @validoll. Работаю в @adyax занимаюсь разработкой бэкендов на Drupal.

12:36

Пишу на PHP, но хочу научиться еще чему-нибудь. Говорю на русском, но учу английский. Использую Ubuntu как десктоп, но... а никаких но :)

12:39

В начале своей работы с PHP я работал только с Drupal, и это было прекрасно, пока проект не развалился, и я не остался на улице

13:13

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

13:14

В это время я понял, насколько полезно ходить по собеседованиям, до сих пор иногда делаю тестовые задания just for fun, если есть время

13:17

Затем я попал в веб-студию, где запилил свою CMS на Kohana. Не спрашивайте меня "зачем?" :)

13:31

Своя CMS - отличный опыт для джуниора. Думаю, каждый должен это попробовать. Понимаешь, почему большие CMS устроены так а не иначе.

13:33

Большая беда была в том, что когда я писал CMS то не писал тесты. Было страшно и непонятно, что это и как оно мне в конечном итоге поможет

15:29

С тех пор я получил немного опыта и профита от тестов, но еще не имею привычки писать их всегда, к сожалению.

15:30

А какие отговорки используете вы, чтобы не писать тесты?

15:33
Выбрал “запускать тесты долго”. Твиттер-клиент закрашился. :D twitter.com/backendsecret/…
15:40
@backendsecret да уж, я лет 10 так на TYPO3 убил, чтобы понять, что я ничерта не знаю. Потом связался с командой Neos и это откыло мне глаза
15:44
@backendsecret "мой код идеален."
16:11
@backendsecret а где же вариант "никакие, всегда пишу тесты" чтобы посмотреть ответы? ;)
16:32

Т.е. половина разработчиков не знает как писать тесты, вторая - не понимает что пишет :)

16:39

С тестами ожидаемо (хотя 4 неожиданно :)). 1 и 4 вариант взаимосвязаны, потому как незнание кода приводит к невозможности/сложности оценки.

16:47

Единственный способ научиться писать тесты - это писать тесты.

16:48

"Слишком мало времени, чтобы писать тесты!" Перевод: "Я раньше не писал тестов, поэтому не знаю сколько времени мне нужно, но явно больше"

16:52

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

16:56

Но время, которое тратится на написание тестов окупается при рефакторинге. Рефакторить код с тестами выгоднее, а уж приятнее в 1000 раз!

16:59
@backendsecret С другой стороны никто не знает сколько стоит выпустить непротестированный код хотя бы в приемлимом качестве... Баги чинить..
17:01
@backendsecret есть ещё вариант "пишу самотестируемый код")
17:04
@backendsecret а ваще, любой кто писал тесты, согласится, что: twitter.com/blia/status/79…
17:12

Чтобы не бояться писать тесты я начал с малого: брал высокоуровневые методы и писал для них "приемочные" тесты по принципу черного ящика

17:56

И тут я узнал неприятную вещь: я пишу код, который невозможно тестировать!

18:04

Но тут мне на помощь пришла теория, которую я читал, когда остался без работы (DI, IoC и пр.) Картинка мира сложилась и жить стало легче

18:14
@backendsecret вот на этом моя последняя попытка написать тесты и закончилась: я понял, что надо половину отрефакторить для этого
18:14

На сегодня все.Завтра говорим про плюсы и минусы удаленной работы, Drupal и его использование (где его можно применять) Задавайте вопросы :)

22:15

# Вторник 21 твит

@BesseIFunction @backendsecret вот поэтому я пишу тесты к коду, который неправильно работает. Ну и чтобы изучить незнакомую систему
8:24

Доброе утро! Поговорим про Drupal как CMF.

9:38

На данный момент в приближенных ко мне проектах используется Drupal 7, который вышел в 2011 году!

9:40

При этом он вышел, как говорили, "мертворожденным", т.к. на тот момент не использовал всех плюшек ООП, которые PHP 5.3 могло дать, и хуки :(

9:42

Но не смотря на это, 7-я ветка еще жива, и активно используется.

9:43

Я не могу точно сказать, почему так. Возможно это тонкий баланс удачности реализации и маркетинга.

9:51

Порог вхождения в Drupal всегда было достаточно высок по сравнению с другими CMS.

9:52
@backendsecret у нас под капотом свой фреймворк Flow. Писали когда Symfony еще и в помине не было. Сейчас берем некоторые компоненты от туда
10:00

По большей части раньше это обуславливалось отсутствием внятной документации. Ситуация изменилась. Документации много, и не только по ядру.

10:15

Популярность Drupal - это его проклятие. Я множество раз видел проекты, где он используется, но где его использовать не следовало.

10:16
@Sigiller @backendsecret Я сел сразу за 7 друпал. И было это году в 2011. Пока осилишь 7 друпал по мануалам к 6, всё станет понятно :D
10:16
@backendsecret вот я как-то все это попытался на русском однажды написать: dimaip.github.io/2015/06/15/abo…
10:32

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

10:42

Согласно Эрику Эвансу в DDD, на это обречена любая универсальная система.

10:43

Интересно, так ли это на практике? Есть у кого-нибудь примеры универсальных систем без боли?

10:43

Для Drupal 8 порог вхождения выше за счет использования Symfony 2. Это хорошая чистка сообщества, слабые - уйдут, сильные останутся.

12:30

Ну и конечно для Drupal-разработчиков будет плюсом то, что кроме Drupal придется учить и Symfony (на самом деле нет)

12:32

Или другой вариант - старые говнокодеры останутся, но к ним присоединятся ковнокодеры из Symphony.

12:43
@backendsecret я постоянно хожу на омское кафе vk.com/drupalomsk
13:49
.@backendsecret It's another option. Drupal 7 was a proven, successful product. #BackdropCMS improves on it, a little at a time. @EAytpaev
22:04

А русскоязычные разработчики всегда готовы поблагодарить @xandeadx, @Spleshka, @kalabro, @NiklanRUS , @graker_ru и др. за блоги и дайджесты

22:38

# Среда 5 твитов

Доброго дня всем. Давайте поговорим о рабочем месте. Для меня это лично всегда было больной темой.

12:56

Какой способ работы для вас наиболее приемлем?

13:00

Большинству нравится приходить в офис когда вздумается. Иллюзия свободы :)

14:35

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

14:53

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

14:54

# Четверг 23 твита

Доброе утро! Начнем веселье. Вчера работа забрала меня, сегодня будет веселее :)

8:59

Раз уж я тут представляю Drupal-сообщество, давайте еще немного о нем поговорим.

9:00

Сейчас наступило смутное время, когда D7 еще поддерживается, а D8 вовсю наступает, и возникает вопрос, что же выбрать для знакомства/работы?

9:02

Рассмотрим подробнее, что нового нам дает Drupal 8, и какие задачи в нем решены лучше, и какие проблемы Drupal 7 он решает.

9:03

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

9:06

Views - давно, и не без оснований, мощнейший инструмент работы с выводом контента, наконец-то в ядре D8.Теперь используется и админки.

9:11

В D8 конфиги наконец-то в коде. D7 хранит почти все в БД, а для кода есть модуль Features, с которым тоже бывают проблемы.

9:14

В D8 появилось адекватное превью перед сохранением. В D7 лично я решал это кастомными модулями, потому как штатное превью ни к черту.

9:16

Встроенный шаблонизатор Twig (ибо Symfony). Прощай логика в темплейтах.

9:19

D8 заточен под мобильную разработку. Почти все темы адаптивные. Имеется REST API.

9:20

В D7 прорывом было создание Entity API. Это довольно специфичная вещь, но решала многие проблемы с управлением объектами (не ООП)

9:22

D8 имеет еще более навороченную Entity API, теперь можно УДОБНО создавать кастомные типы сущностей через Drupal Console,

9:23

А, ну да, и Drupal Console - навороченный инструмент работы с Drupal из командной строки. Управление, генерация кода, установка и пр.

9:25

В общем, и Drupal-разработчики будут теперь жить как люди :)

9:26

Кто-то спросит "Зачем все это?Почему не использовать чистую Symfony?" Drupal - это CMF, где главное в данном вопросе - Content Managengement

10:33

Воспользуюсь возможностью, и спрошу про оценку и планирование времени.

12:27

На всех проектах где я работал оценка производилась либо разработчиком либо совместно с тимлидом, на основе предыдущего опыта.

12:28

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

12:30

Как в вашем проекте производится оценка?

12:33

А те, кто выбрал методологию, поделятся с нами в чем ее суть?

13:13
@backendsecret Я оцениваю сам, я тимлид. Методологии не сработали. :(
13:19
@backendsecret Не выбирал пункт методология, но я, когда оцениваю, стараюсь разделить задачу на подзадачи достаточно мелкие, чтоб их можно=>
14:11
@backendsecret Мы даже статью на тему оценивания написали forasoft.github.io/software-estim…

Вот это годно. Спасибо! twitter.com/arseny_vasilev…

14:31

# Пятница 2 твита

Сколько времени нужно на одну задачу. Тебе и твоей команде pic.twitter.com/f78VRbC4XI

К разговору об оценке задач. twitter.com/alim_zhan/stat…

8:46
@backendsecret давно хочу везде ввести правило - кто говорит что можно быстрее - садится и помогает.
10:28

# Суббота 3 твита

А как у вас обстоят дела с балансом семья/работа?

9:14

У меня есть правило: в выходные не приближаться к компьютеру.

9:16

Кроме того, дома вообще стараюсь не работать работу. Нужно обязательно уходить на работу и приходить с не домой. Психологический триггер.

10:00

# Воскресенье 3 твита

Пришло время прощаться. Это была отличная неделя. Спасибо вам!

16:23

Меняйте мир к лучшему, начинайте с себя.

16:24

С вами эту неделю был @validoll. Пока!

16:25

other