Стремление каждого разработчика ПО — писать код. Всё, что от этого кода требуется — работать без ошибок и соответствовать задумке. Не секрет, что для более-менее сложного продукта требуется объединить несколько программистов в одну команду и заставить их работать вместе... И вот тут начинаются проблемы: каждый пишет по-своему и затрудняется понять код коллеги. Что в итоге? Падает эффективность, снижается качество продукта, увеличивается время вхождения для новых разработчиков.
Решить эти проблемы помогает контроль за стилем кода. В этом докладе я расскажу про то, какие практики вам могут пригодиться на выбранном пути и какие средства для этого есть в экосистеме Python.
Доклад на hotcode.org о инструментах и методиках которые помогают нам повышать и следить за качеством PHP кода.
Среди затронутых тем:
- Стандарты в коде
- Средства для статического анализа кода.
- Git хуки
- Непрерывная интеграция
- IDE
- Code review
Итак, вы прочитали про Agile и у вас загорелись глаза. Вы хотите работать по Scrum. Однако одному Agile не внедрить. Вам нужно убедить заказчика, начальника и коллег. Каждый день с горящими глазами вы рассказываете им по Scrum и Agile, но вот беда - в какой то момент они могут начать вас избегать :-) Несколько лет я (в числе прочего) занимаюсь тем, что продаю или помогаю продать гибкие методологии. В докладе я расскажу о совем опыте продажи Agile заказчику и всем остальным заинтересованным лицам.
- почему PHP программисты снискали дурную славу;
- что делать, чтобы стать хорошим программистом;
- как писать идеальный код;
- что такое командная разработка проекта;
- учет позиции бизнеса при разработке проекта;
- основные задачи, который должен решать программист;
Документация тестировщика - Александр ТрибушныйDataArt
Как сделать документацию тестировщика лучше?
- зачем нужна матрица трассируемости?
- проблемы разработки тест-кейса;
- частые ошибки при написании баг-репорта;
- рекомендации при написании тест-кейсов и баг-репортов.
Эволюция проекта
Автоматизация бизнес-процессов
Очевидные решения
Продвинутые решения: Gearman, phpDaemon и другие
Очереди сообщений
Процессы в PHP - готовые решения (связки Очередь + Процессы)
Результаты удивляют
Проблемы и трудности, с которыми столкнулись
Стремление каждого разработчика ПО — писать код. Всё, что от этого кода требуется — работать без ошибок и соответствовать задумке. Не секрет, что для более-менее сложного продукта требуется объединить несколько программистов в одну команду и заставить их работать вместе... И вот тут начинаются проблемы: каждый пишет по-своему и затрудняется понять код коллеги. Что в итоге? Падает эффективность, снижается качество продукта, увеличивается время вхождения для новых разработчиков.
Решить эти проблемы помогает контроль за стилем кода. В этом докладе я расскажу про то, какие практики вам могут пригодиться на выбранном пути и какие средства для этого есть в экосистеме Python.
Доклад на hotcode.org о инструментах и методиках которые помогают нам повышать и следить за качеством PHP кода.
Среди затронутых тем:
- Стандарты в коде
- Средства для статического анализа кода.
- Git хуки
- Непрерывная интеграция
- IDE
- Code review
Итак, вы прочитали про Agile и у вас загорелись глаза. Вы хотите работать по Scrum. Однако одному Agile не внедрить. Вам нужно убедить заказчика, начальника и коллег. Каждый день с горящими глазами вы рассказываете им по Scrum и Agile, но вот беда - в какой то момент они могут начать вас избегать :-) Несколько лет я (в числе прочего) занимаюсь тем, что продаю или помогаю продать гибкие методологии. В докладе я расскажу о совем опыте продажи Agile заказчику и всем остальным заинтересованным лицам.
- почему PHP программисты снискали дурную славу;
- что делать, чтобы стать хорошим программистом;
- как писать идеальный код;
- что такое командная разработка проекта;
- учет позиции бизнеса при разработке проекта;
- основные задачи, который должен решать программист;
Документация тестировщика - Александр ТрибушныйDataArt
Как сделать документацию тестировщика лучше?
- зачем нужна матрица трассируемости?
- проблемы разработки тест-кейса;
- частые ошибки при написании баг-репорта;
- рекомендации при написании тест-кейсов и баг-репортов.
Эволюция проекта
Автоматизация бизнес-процессов
Очевидные решения
Продвинутые решения: Gearman, phpDaemon и другие
Очереди сообщений
Процессы в PHP - готовые решения (связки Очередь + Процессы)
Результаты удивляют
Проблемы и трудности, с которыми столкнулись
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9OdessaFrontend
Роман Пшеничный делится своим 4-х летним опытом работы разработки шаблонов для площадки ThemeForest. Рассказывает плюсы, минусы, подводные камни, а так же причины почему большинство желающих не могут попасть на этот рынок. И показывает рабочий процесс создания шаблона и используемые технологии.
Опросный лист оценки знаний по соревновательной робототехникеAlexander Kolotov
Опросный лист оценки знаний по соревновательной робототехнике, содержащий матрицу компетенций, которыми рекомендуется овладеть потенциальным участникам робототехнических состязаний уровня World Robot Olympiad.
Программировать может каждый. И каждый может превратить свою идею в работающий интернет-проект — это проще, чем кажется.
Для чего и кому нужно уметь программировать?
Андрей Рохилько – J-meter внутри и снаружи Яндекс.ТанкаYandex
В первой части доклада я расскажу, для каких задач Яндекс использует JMeter и почему мы оборачиваем его внутрь Яндекс.Танка. Во второй части кратко рассмотрю тему плагинов для JMeter, выделив ключевые моменты для профессиональных нагрузочных тестировщиков.
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9OdessaFrontend
Роман Пшеничный делится своим 4-х летним опытом работы разработки шаблонов для площадки ThemeForest. Рассказывает плюсы, минусы, подводные камни, а так же причины почему большинство желающих не могут попасть на этот рынок. И показывает рабочий процесс создания шаблона и используемые технологии.
Опросный лист оценки знаний по соревновательной робототехникеAlexander Kolotov
Опросный лист оценки знаний по соревновательной робототехнике, содержащий матрицу компетенций, которыми рекомендуется овладеть потенциальным участникам робототехнических состязаний уровня World Robot Olympiad.
Программировать может каждый. И каждый может превратить свою идею в работающий интернет-проект — это проще, чем кажется.
Для чего и кому нужно уметь программировать?
Андрей Рохилько – J-meter внутри и снаружи Яндекс.ТанкаYandex
В первой части доклада я расскажу, для каких задач Яндекс использует JMeter и почему мы оборачиваем его внутрь Яндекс.Танка. Во второй части кратко рассмотрю тему плагинов для JMeter, выделив ключевые моменты для профессиональных нагрузочных тестировщиков.
C++ CoreHard Autumn 2018. Что не умеет оптимизировать компилятор - Александр ...corehard_by
Все мы знаем, что компиляторы в настоящее время достаточно умные. И нам как программистам зачастую не нужно думать о каких-то незначительных оптимизациях - мы полагаемся на оптимизации компилятора. Что ж, настало время выяснить, действительно ли настолько компиляторы умны и узнать, в каких местах программист всё же (может быть) умнее.
Презентация делалась для JuJa конференции - Java конференции для (пре) Juniors: https://juja.com.ua/materials/jujacon-2017/
В ней
- описываются основные темы-вопросы, которые часто спрашивают на собеседовании на позицию Junior Java Developer;
- советы, что спросить собеседующего;
- как себя позиционировать, как относиться к собеседованию, как не бояться и как понять, что вам "туда".
Профилирование кода на C/C++ в *nix-системах / Александр Алексеев (Postgres P...Ontico
Из этого доклада вы узнаете, как профилировать код, написанный на языках C и C++, в UNIX-подобных системах, таких как Linux, MacOS и FreeBSD. Мы познакомимся с такими инструментами, как gprof, perf, SystemTap, DTrace, и другими.
Также будут приведены списки заслуживающей внимания литературы по этой теме и ссылок на онлайн-ресурсы. Доклад будет интересен как разработчикам, так и системным администраторам.
Теория ограничений в работе и жизни. Как стать системным мыслителем и решать ...Netpeak
Презентация с непрофильного образовательного ивента Netpeak.
Докладчик: Кутас Иван - Deputy Head of SEO, Product Development, Netpeak.
Запись выступления: https://youtu.be/Gg3zXySEpGE
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...HappyDev
Матерый enterprise проект с "зоопарком" из разнообразных технологий. Часто меняющаяся команда и требовательный заказчик. Менеджер, активно пытающийся вытянуть проект... Все составляющие для сюжета, достойного Титаника.
Было перепробовано множество практик для улучшения процесса разработки, и больше всего это влияло на нас, разработчиков. В одночасье рушились привычные устои, а новые, не успев прижиться, менялись снова. Разве возможна нормальная работа в такой нервной обстановке?
Автор критически оценит парное программирование, тестирование, code review и прочие практики из мира улучшения разработки, а также расшарит набитые шишки и обнаруженные грабли.
Гибкие методологии разработки ПО в реальном миреTech Talks @NSU
http://techtalks.nsu.ru
Видеозапись: http://www.youtube.com/watch?v=ooa5qE7oTQg
8 апреля 2016. Гибкие методологии разработки ПО в реальном мире (Антон Дёмин, Xored)
На этой лекции мы рассмотрим классические модели управления проектами, поговорим о реалиях разработки и о наиболее частых проектных проблемах, с которыми сталкиваются разработчики и менеджеры.
Среди прочего мы рассмотрим гибкие методологии; как в общем, так и на примере их конкретных представителей (Scrum, XP, Kanban). Также будет рассказано о процессе перехода на Scrum на примере крупного проекта для одного из клиентов компании.
Кроме того, поскольку гибкие методологии подразумевают гибкие правила, мы прямо на лекции попробуем модифицировать одну из хрестоматийных методологий под нужды конкретного проекта, а именно — немного доработаем Scrum путем добавления в него артефактов из других методологий.
Лекция прочитана в рамках проекта Tech Talks @NSU – серии открытых лекций о разработке ПО и карьере в IT, проводимых в Новосибирском государственном университете.
Подробности: http://techtalks.nsu.ru
Держите одеяло у себя: как общаться с кандидатом и узнавать все, что вам инте...Mad Devs
Маргарита Мысина, рекрутер в Mad Devs поделилась темой «Держите одеяло у себя: как общаться с кандидатом и узнавать все, что вам интересно».
Маргарита начала свою карьеру HR в IT в технологическом стартапе, а пару лет назад присоединилась к команде HR в Mad Devs, в качестве сорсера, а затем рекрутера. За время своей работы в найме Маргарита приобрела огромный опыт, который передаст в своем докладе, рассказывая о том, как общаться с кандидатами и ненавязчиво узнавать всю нужную рекрутеру информацию.
Дружелюбнй онбординг: как с увеличением количества не потерять качество Mad Devs
Клара Абдукова, HR-специалист в Mad Devs презентовала о «Дружелюбном онбординге: как с увеличением количества не потерять качество»
Клара уже несколько лет работает в ИТ и в настоящее время занимает позицию лида онбординга в Mad Devs. Она заонбордила более 100 человек, ее опыт позволил сделать процесс онбординга в компанию не только четким, но и прозрачным. В своем докладе Клара расскажет весь путь выстраивания процесса онбординга и поделилась инсайтами, которые помогут HR-специалистам в создании и проведении этого важного процесса.
Mad Stream продолжается!
Нам повезло пригласить нашего Senior Backend Разработчика, Solution Architect, Нурадила Алымкулова, поделиться знаниями с нами.
Нурадил работал в разработке разнообразных систем банка, телекоммуникационных компаниях - одним словом, в энтерпрайзах. Теперь Нурадил хочет поделиться своими огромным опытом и наблюдением в разработки сложных систем.
На этом стриме Нурадил выступит с темой “Проектирование архитектуры приложения 101” мы начнем с:
описания бизнес-требований с помощью последовательных диаграмм;
разберем классовые диаграммы;
опишем поведение программы с помощью флоу-диаграм.
На данном стриме мы пройдем путь создания приложения от начала до конца! После стрима у нас обязательно будет сессия вопросов и ответов.
Mad Stream начнется в 19.30, в этот четверг 12-го ноября!
Ссылка на трансляцию:
https://youtu.be/tKymOf3O9gc
У нас часто спрашивают, как начать программировать самостоятельно и не “перегореть” во время обучения. Теперь можно спросить об этом напрямую у нашего сотрудника Айбека Ногоева!
До Mad Devs Айбек работал в международной аудиторской компании. Там всего за год он поднялся с Junior позиции до уровня Senior и был тимлидом во многих проектах. Чтобы расширить список своих навыков и круг возможностей, Айбек решил начать программировать. После двух месяцев самостоятельного обучения он попал в Mad Devs, и теперь он наш Android-разработчик.
Программируя под Android, Айбек изучил еще и iOS разработку, без каких-либо курсов и чьей-либо помощи. На Mad Stream Айбек выступит с темой: “Соло-прокачка мобильного разработчика”.
На стриме Айбек затронет несколько тем, важных для любого начинающего “мобильщика”:
Как изучать программирование самостоятельно?
Как быстро освоить мобильную разработку?
Как не “перегореть” в процессе обучения?
Как развивать базовые навыки дальше?
Если собираетесь “войти в айти”, опыт Айбека будет вам очень кстати. Интересно узнать работающие лайфхаки?
Тогда скорее сохраняйте ссылку на стрим!
This document discusses habits of highly effective developers, including: holding daily standup meetings to update teammates on work completed, in progress, and blockers; basing work on documented issues to provide context and accountability; thoroughly documenting code, services, and projects; visualizing project data and events; doing demos to showcase work; following good coding practices like testing and automation; communicating carefully and thanking teammates.
Mad Stream: "Что можно напечатать на 3d принтере, помимо еще одного 3d принте...Mad Devs
Наш специалист по Embedded System Engineering, Антон Козлов, выступит с темой:
«Что можно напечатать на 3d принтере, помимо ещё одного 3d принтера.»
⠀
На стриме вы узнаёте:
1. О том как нам преподносят трехмерную печать и чем она является на самом деле;
2. Трехмерная печать не серебряная пуля, недостатки технологии как: масштабируемость, цена, качество изделий;
3. Основные виды трехмерных принтеров доступных простому обывателю и принцип их работы;
4. Пример проекта в котором трехмерная печать ускорит разработку продукта.
Ссылка на стрим: https://www.youtube.com/watch?v=klHxO9c1d2Y&feature=youtu.be
Maв Stream: "Факт карты на службек у ПМа", спикер – Дмитрий КононенкоMad Devs
Вы когда-нибудь слышали о факт-картах? Если коротко – это особый инструмент, помогающий мышлению решать сложные интеллектуальные задачи. Это методика выстраивания целей и нахождения эффективных решений применимых к любой сфере. В ходе презентации Дима "разжует" основные понятия относящиеся к факт-картам и как обычно даст много полезных советов, что называется "из жизни".
Лайфхаки менеджмента на удаленке от Дмитрия КононенкоMad Devs
В ходе презентации, все заинтересованные узнают о том, как организовать коммуникации и процессы команды разработки в условиях всеобщей изоляции. Дима подкинет классных тулзов для упрощения и улучшения процессов, а также поделится собственным опытом и даст много полезных советов.
Этот Mad Talks о неудачном опыте в живом продакшн проекте. Александр расскажет историю о том, как настроили отказоустойчивость системы бизнес-проекта и жили спокойно, пока не решили чинить поломанную репликацию и в итоге получили split-brain.
Основные преимущества и недостатки нативных и кроссплатформенных приложений: что из себя представляет каждый тип приложений и для каких целей он служит.
Более подробно рассматривается Flutter - набор инструментов, позволяющий разработчикам писать кроссплатформенные приложения. Почему стоит обратить на него внимание и начать инвестировать в изучение Flutter.
Ethereum is a blockchain network that allows developers to build decentralized applications and smart contracts. It uses proof-of-work consensus to validate transactions and add them to immutable blocks. Smart contracts deployed on Ethereum are public and their source code can be viewed by anyone. Ethereum is working to transition from proof-of-work to proof-of-stake consensus.
Ethereum: аспекты разработки смарт-контрактовMad Devs
- Что такое умные контракты (смарт-контракты)?
- Представление смарт-контрактов в Ethereum.
- Смарт-контракты на примере - ERC20 токен.
- Понятие топлива (газа) в Ethereum.
- Инструментарий разработки смарт-контрактов.
- Способы интеграции смарт-контрактов Ethereum с внешним ПО.
Автоматизация рабочих процессов и повышение лояльности заказчиков в ремоут к...Mad Devs
Comedian - чат бота для автоматизации приемки удаленных стендапов. Бот напоминает команде о написании стендапов, анализирует их и тем самым упрощает работу проектного менеджера, позволяя ему сфокусироваться на главном. В презентации вы узнаете, с чем начиналась разработка чат-бота, какие дальнейшие планы и как это помогло нам повысить лояльность заказчика.
Автоматизация рабочих процессов и повышение лояльности заказчиков в ремоут к...
Git and Github for Beginners
1. Работа с git и github -
советы новичкам🤘
Анатолий Федоренко
Backend Developer , Mad Devs
t.me/anatoliyfedorenko
maddevs.io
2. Если стажер не умеет пользоваться гитом, то это
говно (с) Чак
3.
4. Этот доклад НЕ
➔ курс по гиту
➔ обязательные требования к выполнению
➔ единственно верное решение
➔ истина в последней инстанции
➔ попытка самоутвердиться
➔ крик души (но это не точно...)
5. С чего начать …
- Не понимаю что
делать. Тупик
- Откуда берутся эти
конфликты
- Запуталась в ветках и
коммитах
- А сколько коммитов в
день нужно делать?
6. С чего начать …
- Что-то сделал и не знаю как вернуться
- Как фиксить чертовы конфликты!?
- Столько команд, их все не запомнить!
- Коммитить или не коммитить...
9. ● Размер имеет значение
● В задаче должно быть название, описание
проблемы и критерий закрытия
● Стоит максимально мелко дробить задачи
Немного о задачах
10.
11. ● Не забывать про тесты (как проверить, что
выполнил критерий закрытия)
● Тэгать задачу в коммитах, других задачах, PRах,
документации
● Исполняющий и дедлайны
● Учёт времени
Немного о задачах
12.
13. Git введение
● Git это система контроля версий
● Нужно помнить что есть local и remote
● Коммиты это фиксирование изменений кода
● Пишем код, коммитим, пушим, пулим и так по
кругу
● Если разработка ведется в команде …
14. Из чего же, из чего же, из чего же …
● Изменения кода
● Название (Header)
● Описание (Body)
● Много другой инфы, которая в рамках этого
доклада не рассматривается
15. Из чего же: изменения кода
● Изменения кода которые направлены на
закрытие задачи
● Тесты, которые подтверждают
работоспособность изменений
● Обновление документации, если требуется
16. Из чего же: изменения кода
● Расставление всяческих заметок и комментов в
процессе (TODO:)
● Размер имеет значение!
● Правило бойскаута! (Оставляем чище, чем было
до нас! )
17. Из чего же: название
● Уложиться в 50 символов
● Писать в настоящем времени , как бы
продолжая фразу “This commit will …“ т.е. коммит
выражает намерение, а не завершенное
действие.
● Упоминать номер тикета к которому относится
коммит и его изменения.
18. Из чего же: описание
● Уложиться в 72 символа в ширину
● Написать зачем нужен коммит
● Использовать списки, перечисляя изменения и
их причины
19. Из чего же: описание
● Использовать теги
● Не сочинение, но должно быть ясно расписано,
чтобы не было проблем с пониманием
20.
21. Потенциал систем управления репками
● Создание и управление тикетами
● Учёт времени работы над задачей
● Дедлайны и тэги в тикетах
26. Обычный Git workflow который работает
1. Пулиться с мастера и мержить ветки в мастер
2. Новая ветка на новый тикет
3. Пуш в мастер только через MR(PR)
27. Git негласные правила
Перед тем как коммитить - обязательно тестируй!
Перед пушем, обязательно убедись, что все на
местах (git status)
Позаботься о .gitignore файле