28 октября 2018 – 4 ноября 2018

@tygeddar

Красноярск
28 октября 2018Воскресенье
1 твит
18:28

Добро пожаловать в коллективный твиттер мобильных разработчиков, курируемый @igrekde.

Каждую неделю новый ведущий,… twitter.com/i/web/status/1…

29 октября 2018Понедельник
30 твитов
2:33

Всем привет! Меня зовут Евгений. Я iOS разработчик в Redmadrobot, декан iOS факультета в Geekbrains и человек из тайги.

2:36

На этой неделе мы обсудим темы:

  • архитектура
  • ФП
  • удаленка
  • аутсорс
  • онлайн курсы
  • постоянное развитие

Последнюю мы выберем вместе.

2:57

Обсуждения архитектуры всех уже утомили. Каждая конференция имеет в обойме 1-2 доклада на эту тему. Даже книжка выш… twitter.com/i/web/status/1…

3:19

Меня раздражают речи о том какая крутая это архитектура. А все потому, что он конечно не плох, но и не крут. Во-пер… twitter.com/i/web/status/1…

4:16

Что бы донести свою мысль, я предлагаю небольшую экскурсию в php времен нулевых. Чудное время, когда программист ко… twitter.com/i/web/status/1…

4:19

Вместе это значит в одном файле, без функций (конечно были крутые парни, они функциями пользовались), без классов.… twitter.com/i/web/status/1…

4:28

Сейчас вспомнил свою стажировку в Информационно вычислительном центре РЖД. Мне показывали web портал написанный на… twitter.com/i/web/status/1…

5:07

Я в те времена не имел большого опыта, но смотрел на такой подход с удивлением. И решил что стоит выделить секции в… twitter.com/i/web/status/1…

5:10

Тогда все это только началось для PHP. Все спорили. МОжет не стоит в "C" хранить логику, а перенести ее в "M". Пере… twitter.com/i/web/status/1…

6:05

MVC дал старт архитектуре в PHP. Он все еще в сердцах большинства, Но на тру проектах уже думают о разделении на па… twitter.com/i/web/status/1…

6:06

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

7:08

Закончим с php. В iOS У нас из коробки MVC. Но про него не писали статей, документацию читать не модно, а в статьях… twitter.com/i/web/status/1…

7:12

Масла в огонь подливает формулировка задач. "Сверстать таблицу", "Добавить форму". Фокус делается на форме, что лог… twitter.com/i/web/status/1…

7:17

Если ты занимаешься UI, добавляешь код обработки интерактива, лейаута, отображения данных, можно и код обработки эт… twitter.com/i/web/status/1…

8:01

Конечно писать все в одном файле это проблема. Почему для этого надо было создавать новую архитектуру, а не начать… twitter.com/i/web/status/1…

8:05

Можно провести соответствие между mvc - VIPER
View-ViewController
Controller-Presenter
Model-Interacotr+Entity
???… twitter.com/i/web/status/1…

8:11

Я бы еще понял, если бы VIPER дал четкий ответ, где и что должно находится. Но и его каждый понимает как хочет. Как… twitter.com/i/web/status/1…

8:49

Но как я уже сказал. Проблема не в VIPER, а в том что его считают лучшим. На собеседовании надо спросить и обсудить… twitter.com/i/web/status/1…

9:22

Заученный вайпер не дает понимания того что любой из его элементов можно декомпозировать или объединять при необход… twitter.com/i/web/status/1…

9:46

Выговорился про вайпер) Теперь перейдем к сути, что архитектура это больше чем всякие "M.." и "V..". Как только при… twitter.com/i/web/status/1…

10:33

В любом приложении есть как минимум авторизация. Это простой пример, когда нельзя просто взять данные из View и отп… twitter.com/i/web/status/1…

10:38

Как обрабатывать переход к форме входа если он может произойти в любом контролере. Как восстанавливать сессию? Как… twitter.com/i/web/status/1…

11:48

Мое мнение, что надо меньше зацикливаться на стандартных UI архитектурах и больше уделять времени развитию обще арх… twitter.com/i/web/status/1…

11:54

Если брать стандартное приложение. То базовыми компонентами может быть логирование, аналитика, менеджмент сессии по… twitter.com/i/web/status/1…

12:45

Ниже уже обсудили, что лучше у всех похуже но одинаково, чем хорошо но по разному. Дискуссионно. Конечно общий карк… twitter.com/i/web/status/1…

12:48

Опять из личного опыта. Я видел классы которые вписывались в архитектуру по всем канонам выбранной архитектуры. Но… twitter.com/i/web/status/1…

12:52

Я не верю, что разделение плохого класс на несколько плохих классов ухудшит ситуацию. Но может улучшить. По этому я… twitter.com/i/web/status/1…

13:01

Я бы рекомендовал ознакомиться с "Совершенный код" (Стив Макконнелл), "Принципы, паттерны и методики гибкой разрабо… twitter.com/i/web/status/1…

14:02

Очень хочется рассказать подробнее о архитектуре описанных компонентов, но Твиттер тесен для этого. Если кому то ин… twitter.com/i/web/status/1…

15:08

У меня уже ночь, так что на сегодня все. Подведем итог.
Вайпер не лучше mvc
Архитектура намного больше чем UI слой.… twitter.com/i/web/status/1…

30 октября 2018Вторник
17 твитов
0:50

Всем привет. Новый день - новая тема. Сегодня мы будем говорить про ФП.

2:15

ФП это не сложно и все мы можем его использовать прямо сейчас. Для этого не надо знать что такое функторы, монады и… twitter.com/i/web/status/1…

3:01

И так, как проще покорить Эверест? Одним прыжком или короткими шагами? Думаю ответ очевиден. Так же и с ФП. Да в принципе с чем угодно.

3:36

Шаг1. Чистые функции. Не пишите методы которые изменяют состояние чего либо. Все необходимое передается в аргумента… twitter.com/i/web/status/1…

4:19

Шаг2. Иммутабельность. Мы стараемся делать наши данные максимально неизменяемыми где только можно. В идеале у нас в… twitter.com/i/web/status/1…

5:15

Шаг3. Замыкания. Мы их используем? Осталось раскрепоститься и использовать их более активно. Возвращать их из функц… twitter.com/i/web/status/1…

5:15

Пример замыканий 1. Мы написали обертку для UItextField, заменив стандартное делегирования на замыкания. Но у нас ч… twitter.com/i/web/status/1…

5:15

Пример замыканий 1. У нас есть метод работающий с "self", возникает необходимость передать его в качестве замыкания… twitter.com/i/web/status/1…

6:29

Шаг4. Функции высшего порядка. Их мы тоже используем и пишем. Как правило все асинхронные вызовы комплектуются ФВП. Особо и добавить нечего.

8:08

Шаг5. Использовать рекурсию. Не везде. Хасель не имеет циклов и там рекурсия не имеет аналогов. У нас аналоги есть.… twitter.com/i/web/status/1…

9:59

Шаг6. Функторы. Понять что мы уже работаем с функторами (Optional, Array, Result, ...). Понять что это не сложно. И… twitter.com/i/web/status/1…

11:38

Шаг7. Каррированные функции. Мы можем переписать свои функции так, что бы вместо получения нескольких аргументов он… twitter.com/i/web/status/1…

11:38

В хаскеле все функции каррируются. Но у нас не так. Да и это нам не к чему. Каррированные функции удобный инструмен… twitter.com/i/web/status/1…

11:38

Так же следует уточнить, что этот и последующее шаги я не могу отнести к категории "можем использовать прямо сейчас… twitter.com/i/web/status/1…

13:53

Шаг8. Понять что мы уже используем ФП. Серьезно. То что я описал и есть ФП. На этом можно остановиться. Или же можн… twitter.com/i/web/status/1…

13:53

Штука в том, в функциональных языках все строиться на правилах математики, функторах и операций над ними (не поддер… twitter.com/i/web/status/1…

13:53

Но как говориться если очень хочется то можно. И если я вас не утомил, то ставьте лайки. Мы рассмотрим пару примеро… twitter.com/i/web/status/1…

31 октября 2018Среда
32 твита
3:23

Я вчера ушел не попрощавшись и не закрыв тему. Тем не менее небольшое количество лайков набралось, а значит кому то… twitter.com/i/web/status/1…

3:23

Как вы помните. Технически, в коре ФП лежат функторы (контейнеры содержащие значение). Я добавил в проект библиотек… twitter.com/i/web/status/1…

3:23

Первый оператор <^>. Он работает аналогично map. То есть применят замыкание к optional. Если значение есть мы получ… twitter.com/i/web/status/1…

3:23

Но что, если наша функция которую мы применяем, сама может вернуть Optional? В результате мы получит двойной Option… twitter.com/i/web/status/1…

3:23

Хотелось бы избавиться от этой матрешки? На помощь прийдет монада (-<<). Она работает аналогично flatMap. pic.twitter.com/WLqUkfNCJU

3:23

Но самое интересное, то что можно функции группировать. Даже на такой манер как показано ниже. pic.twitter.com/jg9LOkgJDt

3:23

А что если я хочу сложить два опшенала? на помощь прийдут каррированные функции и аппликативные функторы (это как ф… twitter.com/i/web/status/1…

3:23

Подводя итог. Ничего страшного в ФП нет. Все это (кроме крутых операторов) у нас есть и используется. И термины не… twitter.com/i/web/status/1…

3:24

А сегодня мы поговорим про удаленку.

4:06

Я живу в Красноярске, а работаю Москве. Начинал я это дело постепенно. Немного фрилансил еще работая в РЖД. Постепе… twitter.com/i/web/status/1…

4:14

➕ Я просыпаюсь в 7:40, а в 8:00 уже выпил кофе и начал работать. Не надо выходить на мороз зимой. Не надо трястись… twitter.com/i/web/status/1…

4:49

Мне часто задают вопросы. Как ты рано просыпаешься? Как заставляешь себя работать? Не знаю. Для меня это естественн… twitter.com/i/web/status/1…

4:53

Про 8 часов. Сложно почувствовать это время. Иногда кажется что только начал работать, а время вышло.Реже бывает на… twitter.com/i/web/status/1…

4:56

Кстати пока я пишу твиты я таймер выключаю. Суммарно за день это отнимает много времени. По этому на этой неделе мо… twitter.com/i/web/status/1…

5:01

Еще один интересный момент. Конец рабочего дня. Если меня не отвлекают (что бывает часто), время кончается в 16:30-… twitter.com/i/web/status/1…

5:39

Про часовой пояс. Из за того что я жаворонок и живу в +4 от Мск. разрыв с командой у меня доходит до 7 часов.
➕Ник… twitter.com/i/web/status/1…

5:39

В целом я стараюсь сделать так что бы команда не чувствовала дискмофорта при работе со мной. Например если могу отв… twitter.com/i/web/status/1…

6:39

Само общение с командой проходит в чатах и звонках. Это довольно комфортно. Если в офисе вам надо встать и подойти… twitter.com/i/web/status/1…

7:42

Кроме личного общения есть встречи. Здесь все не так радужно. Команда как правило собирается в переговоре и мне час… twitter.com/i/web/status/1…

7:42

Мы уже дискутировали на этот счет. И я говорил, что эти проблемы решаются. Но для их решения, удаленные сотрудники… twitter.com/i/web/status/1…

7:56

На моих часах 14:56. Офис понемногу просыпается)

8:16

А еще когда ваш коллега приходит в офис, он не позвонит вам что бы пару минут поболтать перед началом рабочего дня.… twitter.com/i/web/status/1…

9:39

При работе дома. Вы сами отвечаете за рабочее место
➕ Вы купите тот ПК, стол, стул какие хотите, а не те что предло… twitter.com/i/web/status/1…

9:43

А еще нужно рабочее место. Сейчас это зал. И это неудобно, не мне, а семье. Они обходят его стороной, что бы не меш… twitter.com/i/web/status/1…

10:51

Про социализацию. С тех пор как начал работать дома, стал чаще выходить из дома отдыхать. У меня есть семья. Вместо… twitter.com/i/web/status/1…

10:51

В итоге я не могу сказать что я что то однозначно потерял. Тут скорее плюс на минус. Когда офисный работник без сил… twitter.com/i/web/status/1…

11:32

Попросил фото стола без приукрас. Такую и сделал. Просто откатился. Ничего особенного в нем нет. Кроме топового iMa… twitter.com/i/web/status/1…

11:39

Возникла неточность. 8 лет назад был куплен стол. iMac последний.

12:59

Еще один вопрос который мне часто задают - "Как научиться программировать под iOS, что бы как ты, сидеть дома и ничего не делать"

13:21

Я говорил, что утром могу сходить в кино? Так вот немного привыкаешь смотреть фильм в день премьеры, в двоем с жено… twitter.com/i/web/status/1…

14:09

Пожалуй я не знаю что еще рассказать. Удалена не фриланс. Это как в офисе, только дома. Или как дома, только в офис… twitter.com/i/web/status/1…

15:27

Наброшу как я не в тему. Почему большенство знакомых мне разработчиков добавляют к названию контроллеров "ViewContr… twitter.com/i/web/status/1…

1 ноября 2018Четверг
13 твитов
1:16

Всем привет! Сегодня поговорим про аутсорс.

2:19

Продолжу капитанствовать. Аутсорс бывает разный, как и продуктовая разработка. По этому я не хочу устраивать их сор… twitter.com/i/web/status/1…

2:45

Для меня самое главное отличие между аутсорсом и продуктом в проекте. На продукте он один. Будешь работать там 5 ле… twitter.com/i/web/status/1…

4:14

Началось все ещё со времён фриланса. Задачи были простые но разнообразные. Сегодня ты работаешь с php, завтра с rub… twitter.com/i/web/status/1…

4:14

Бизнес задачи так же отличались. Погрузиться в во внутреннюю кухню кондитерской, риэлтеров, автошколы и так далее.… twitter.com/i/web/status/1…

5:24

А потом я начал заниматься продуктом. По началу все было так же круто. Новый проект, новые задачи. Но спустя 1-1,5… twitter.com/i/web/status/1…

5:24

Напоминает бег на месте. Люди работают, код пишется, изменений не видно. Нет они конечно есть, но такие как ты пили… twitter.com/i/web/status/1…

8:47

А еще я люблю аутсорс, за то что там на VIPER не пишут) Штука. Некоторые считают, что в аутсорсе нельзя использоват… twitter.com/i/web/status/1…

9:55

Вы что предпочитаете?

11:42

Повторю вечерний вброс.

Зачем использовать поды в 2018, когда есть картэж? Не засоряет проект, не персобирает зав… twitter.com/i/web/status/1…

12:30

Еще мне кажется что для длительной работе в проекте его нужно любить. Я бы с удовольствие работал над проектами свя… twitter.com/i/web/status/1…

14:00

Оказалось у меня была неверная информация. Литрес пилят не на аутсорсе.

14:02

Больше половины недели прошло. Пора выбирать 7ую тему. Накидывайте варианты.

2 ноября 2018Пятница
47 твитов
1:12

Доброе утро! Сегодня будем говорить о онлайн курсах. Для тех кто пропустил, я декан iOS факультета в GeekBrains.

2:45

Кто такой декан в онлайн курсах? Это тимлид. То есть он преподает, но и видит картину в целом. Принимает решения о… twitter.com/i/web/status/1…

2:45

Он отвечает за факультативы. Если компания захочет, разместить у нас курс факультатив. То декан решает на сколько т… twitter.com/i/web/status/1…

2:45

Он собеседует преподавателей. Что бы не вышло, что человек написал hello world и уже пришел преподавать.

2:45

Он сотрудничает с отделом качества. Ученики пишут много отзывов. Часто просят каких то изменений. Часто простят диа… twitter.com/i/web/status/1…

2:45

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

2:45

Так же к декану могут обращаться ученики с вопросами или жалобами. Это довольно сложный момент. Так как не всегда у… twitter.com/i/web/status/1…

2:45

Как и у тимлида у декана много ограничений. То есть он не может просто взять добавить/удалить курс. Или переделать… twitter.com/i/web/status/1…

4:40

Начало преподавания было совершенно случайны. Увидел вакансию на популярном сайте, подумал "это интересный опыт, на… twitter.com/i/web/status/1…

4:40

Это был абсолютно новый для меня опыт. Мне казалось что все идет не так. Скучная презентация. Плохая подача материа… twitter.com/i/web/status/1…

4:40

Я записал тестовый урок. По нему не дали никакого фитбека, просто сказали "ок, теперь надо провести публичный вебин… twitter.com/i/web/status/1…

4:40

После вебинара опять никакого фитбека. Никто даже не связался, сказать "Ок". Прошло больше месяца. Преподавать ника… twitter.com/i/web/status/1…

4:40

Но не забыли. Мне назначили курс objc. С тех пор прошло почти два года. Я все еще преподаю, и теперь мне это чертов… twitter.com/i/web/status/1…

6:19

Настало время шикарных историй. Начиная преподавать, понимаешь, что рассказать тему мало. Даже с хорошими примерами… twitter.com/i/web/status/1…

6:19

Вы должны передать всю радость, крутость или боль от того что показываете. Ученики запомнят не то как правильно исп… twitter.com/i/web/status/1…

6:37

Как сказал один парень в статье на хабре "Я понял, что мне нельзя лажать". И это правда. Ваши слова непреложная ист… twitter.com/i/web/status/1…

7:35

Docendo discimus (Обучая, учимся сами). Почувствовать на себе смысл этой фразы бесценно. Как часто бывает, что знае… twitter.com/i/web/status/1…

7:35

Я провожу много часов копая в глубь казалось бы простых вещей. Проверяя расплывчатые утверждения экспериментально,… twitter.com/i/web/status/1…

7:35

Это все помогает отвечать на вопросы учеников. Они часто смотрят на проблему не стандартно, под другим углом. Их не… twitter.com/i/web/status/1…

7:35

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

8:29

В книге "Идеальный программист" (goo.gl/EZE5Mz) упоминаются "каты". Это последовательность базовых движен… twitter.com/i/web/status/1…

8:29

Идея хорошая. Но попробуйте заставить себя сидеть вечерами в 100ый раз решая одну и тут же простую задачу. Вас на д… twitter.com/i/web/status/1…

8:29

В результате этих повторений, вы видите какие то мелкие шероховатости, нестыковки, шорткаты, которых не видели рань… twitter.com/i/web/status/1…

9:42

С профитами для преподавателя мы разобрались. Что для студентов? Рекомендую ли я им идти на курсы? Ведь эта тема ро… twitter.com/i/web/status/1…

9:42

Для начала определимся что такое такое курсы? Традиционно все делят образование на три направления. Самообразование… twitter.com/i/web/status/1…

9:42

Дело в том, что существует понятие образовательное учреждения. В него выходят университеты, институты, академии, те… twitter.com/i/web/status/1…

9:42

Размышляя я пришел к выводу, что все тлен. Все виды ОУ в России ничем не отличаются, кроме типа удостоверения об ок… twitter.com/i/web/status/1…

9:42

Бесспорно МГУ отличается от месячных курсов 1с. Но далеко не всегда так просто взять два ОУ и определить где же ты получишь лучшие знания.

9:42

Ключевой особенностью ОУ является наличие программы (читай плана обучения), преподавателя и кнута. При этом самообр… twitter.com/i/web/status/1…

9:42

Глядя на ситуацию под этим ракурсом стоит задать вопросы нужен ли вам:
план и насколько подробный
наставник и в как… twitter.com/i/web/status/1…

9:42

Исходя из этого можно сделать выбор.
Если у вас все хорошо с само организацией, коммуникацией, мотивацией, поиском… twitter.com/i/web/status/1…

9:42

Если вам нужен начальный план, наставник на первых парах, и коротенький кнут в виде условных требований к дз, распи… twitter.com/i/web/status/1…

9:43

Если вы вообще в себя не верите или хотите продлить детство на 4-6 лет (что в целом не плохой вариант) идите в унив… twitter.com/i/web/status/1…

9:49

Кстати. Университет еще хорошо работает для тех кто еще ничему не научился, но уже хочет переехать из свой деревни… twitter.com/i/web/status/1…

10:22

Вообще у нас учатся разные люди. Есть те кто уже работает разработчиком. Их правда очень мало. Как правило это джун… twitter.com/i/web/status/1…

10:25

Что бы вы не рассматривали это как рекламу, преподавателей из топовых фирм у нас не так много)

10:52

Есть люди из ИТ, но не разработчики. Им комфортнее всех учиться. С одной стороны они в теме. Их не пугает консоль,… twitter.com/i/web/status/1…

12:11

Следующая категория это люди не из IT вообще. Это могут быть студенты или взрослые люди с работой и семьей. Примеча… twitter.com/i/web/status/1…

12:11

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

12:23

Наличие инженерного образа мышления вообще отдельная тема. Приходит к тебе учиться человек. Его видно. По тому каки… twitter.com/i/web/status/1…

12:24

При решении задачи, он экспериментирует. Пробует изменить то что ему показали, "собрать из кубиков что то свое". А еще ему это нравится.

12:24

Без инженерного склада, напротив. Четко следует примеру, при любом не совпадении теряется. Дело даже не программиро… twitter.com/i/web/status/1…

12:24

Почему оно не работает? Вот ошибка, что мне делать? Я сделал как на уроке, но результат другой? Они никогда не эксп… twitter.com/i/web/status/1…

12:43

Желание учиться тоже разное. Одни открыты к знаниям. Слушают, задают вопросы, делают задания даже если получается.… twitter.com/i/web/status/1…

12:43

Я понимаю, что в этом с одной стороны виноват агрессивный маркетинг, который хоть и не явно но создает именно такое… twitter.com/i/web/status/1…

13:23

Надо закругляться. Спрашивали, про статистику кто устроился кто нет. Устраиваются все кто хочет. Все кто не хотят о… twitter.com/i/web/status/1…

15:54

Пятничный опрос. Пик Балмера работает?

3 ноября 2018Суббота
21 твит
3:12

Всем ленивых выходных! Сегодня поговорим про саморазвитие

3:18

Факт. На самом деле ваша специализация в IT никуда не летит бешеными темпами. Ничего нового каждый день учить не на… twitter.com/i/web/status/1…

4:44

Что бы говорить о развитии надо понять основу. Что делает программиста программистом? Это умение строить системы (В… twitter.com/i/web/status/1…

4:44

Система – это совокупность элементов или отношений, закономерно связанных друг с другом в единое целое, которое обл… twitter.com/i/web/status/1…

4:44

Так что наше приложение - система. UILabel - система. И даже ваш репозиторий на gitlab с кодом вашего приложения и… twitter.com/i/web/status/1…

4:44

Короче умение работать с системой это две вещи. Навык декопозиции/агрегации. И количество компонентов вашей предмет… twitter.com/i/web/status/1…

5:26

Так как все вокруг системы, включая языки программирования. Имея навык декомпозиции/агрегации вы можете разобрать о… twitter.com/i/web/status/1…

5:27

Так вы можете ну основе компонентов цикл, массив, вывод в консоль, оператор присваивания, переменная, целое число.… twitter.com/i/web/status/1…

5:31

Более сложные системы требуют более сложного навыка. Очевидно что система суммирования целых чисел требует меньшей… twitter.com/i/web/status/1…

5:58

Второе это знание компонентов систем. Это и языки программирования, фреймворка и Чем больше компонентов вы знаете,… twitter.com/i/web/status/1…

6:11

Проблема в том что в it не любят границ, а любят фулстек. Если мы не ожидаем что хороший кардиолог будет ещё и эксп… twitter.com/i/web/status/1…

7:41

Развитие в компонентом плане это добавление свой библиотеки компонентов. Новые операторы, языки, все что угодно. Уз… twitter.com/i/web/status/1…

7:41

Хранилище не безлимитно. Пополнение библиотеки требует времени и сил. Выгода не всегда соизмерима затраченным усили… twitter.com/i/web/status/1…

7:41

И ваша ценность повысится только если вы встретите должность где понадобятся ваши текущие навыки + Пайтон. А вы ее… twitter.com/i/web/status/1…

7:46

Это похоже, на компьютерную игру и древо развития. Надо брать компоненты сочетающиеся с друг другом. Например бой н… twitter.com/i/web/status/1…

8:53

С развитием навыка все сложнее. Нет каких то четких критериев. Да вы можете заучить solid, kiss, oop, dry, gof. Это… twitter.com/i/web/status/1…

8:53

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

8:53

И в отличии от развития компонентного, здесь нет лишних знаний. Мобильному разработчику не будет лишним посмотреть… twitter.com/i/web/status/1…

10:23

Развитие в целом очень не определенное. Нельзя четко измерить навык или знание компонентов. Нельзя так же определит… twitter.com/i/web/status/1…

12:25

Если кто ещё не понял. То списка что должен знать iOS мидл или синьор я не дам. Его вообще не существует.

13:18

Время подводить черту пространных рассуждений. Развиваться надо, но это не потому что у нас в IT все меняется, а по… twitter.com/i/web/status/1…

4 ноября 2018Воскресенье
19 твитов
2:27

Всем привет. Сегодня мы поговорим о тестах.

3:01

Тесты чертовски сложная тема. Я не встречал ни одной статьи или книги, которая могла бы пролить свет на то как же п… twitter.com/i/web/status/1…

4:07

Возьмем функцию деления func div(a: Int, b: Int) -> Int. Я могу протестировать ее так div(a: 10, b: 2) == 5. Это ми… twitter.com/i/web/status/1…

4:07

И вот у меня простая функция. Она выполняет одну операцию. Там нет состояний, ветвлений, зависимостей. Но что бы уб… twitter.com/i/web/status/1…

4:07

Стоп, скажите вы. Не надо так упарываться. Хватит двух тестов. Но где то внутри меня шепчет голос. "Зачем тратить в… twitter.com/i/web/status/1…

4:13

А вы удовлетворены своими тестами?

5:03

Вся штука в дуальности тестов. С одной стороны это код, с другой требования к коду. Они не подчиняются никаким зако… twitter.com/i/web/status/1…

5:37

Но больше всего тесты усложняют зависимости. Если код зависит от другого его надо замокать. Если метод принимает сл… twitter.com/i/web/status/1…

5:38

А потом у вас изменились требования...

5:45

В общем я был не против иметь секретаря, который бы занимался только тем что фигачил для меня тестовый бойлерплейт.… twitter.com/i/web/status/1…

6:21

Я пробовал использовать Фреймворки для моков и код генерацию. Но ничего из этого так и ее смогло удовлетворить мои потребности.

7:36

Если все плохо, как писать тесты? Все просто, от тестов нужно чувствовать профит. Для себя я два варианта получения… twitter.com/i/web/status/1…

11:46

И так я остановился на том, что тесты давать профит. Сначала пройдёмся по второму кейсу. Писать код быстрее. Вы мо… twitter.com/i/web/status/1…

11:46

Как я говорю своим ученикам. Можно всего за 30 секунде вписать тест который поможет мне убедиться в том что запрос… twitter.com/i/web/status/1…

11:46

Можно пойти ещё дальше. Делить своё приложение на модули, и проверять их корректность тестами. Запуск тестов на а м… twitter.com/i/web/status/1…

12:51

Первый же вид выгоды это ловля багов. Бывает что у вас сложная логика, сложные тесты, куча краевых случаев, бойлер… twitter.com/i/web/status/1…

15:13

Подводим черту. Тесты имеют высокий порог входа. Написать тест просто, написать хороший тест сложно. Тесты помогают… twitter.com/i/web/status/1…

15:24

И пришла пора нам прощаться. Это была безумно интересная неделя для меня, надеюсь и для вас тоже. Всем спасибо за в… twitter.com/i/web/status/1…

15:24

Напоминаю с вами был Евгений Елчев @ Redmadrobot
Меня можно найти:
В твиттер @tygeddar
В телеграмм @jonfir
В vk @yolchev