Получи случайную криптовалюту за регистрацию!

Mad Devs Channel

Логотип телеграм канала @maddevsio — Mad Devs Channel M
Логотип телеграм канала @maddevsio — Mad Devs Channel
Адрес канала: @maddevsio
Категории: Технологии
Язык: Русский
Страна: Киргизия
Количество подписчиков: 1.64K
Описание канала:

Канал Mad Devs.🤘Здесь мы рассказываем о жизни компании и инсайтах. Делимся знаниями и лайфхаками IT-индустрии.

Рейтинги и Отзывы

1.50

2 отзыва

Оценить канал maddevsio и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

0

3 звезд

0

2 звезд

1

1 звезд

1


Последние сообщения 2

2022-08-19 10:02:33 Если вы новичок в планировании тестирования, то сегодня мы постараемся ответить на все ваши вопросы о том, что такое план тестирования и зачем это нужно.

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

Тесты можно разделить на несколько категорий:
Исследовательское тестирование
Функциональное тестирование
Тестирование локализации
Тестирование производительности
Тестирование безопасности

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

Как создать план тестирования? Сосредоточьтесь на реализации процессов и резделите на пункты, например:

1. Проанализируйте продукт и разбейте его на более мелкие компоненты. Это позволит определить лучший процесс тестирования в зависимости от типа создаваемого продукта.

2. Проанализируйте целевую аудиторию.

3. Разработайте стратегию:
Соберите все тестовые сценарии и разработайте стратегию тестирования, тем самым определите что и когда нужно протестировать.
Определите объемы тестирования. Это включает в себя решение о том, что необходимо протестировать, кто будет тестировать и когда оно должно быть завершено.
Определите типы тестирования, что включает в себя понимание того, сколько испытаний необходимо, а также риски безопасности и конфиденциальности для вашего продукта.
Разработка подхода к тестированию, а именно создайте свой подход к тестированию.

4. Определите каковы цели вашего тестирования, что включает в себя:
кто ответственные за тестирование
что будет тестироваться
когда оно должно быть завершено
как будут оцениваться результаты
какие функции необходимо протестировать и как они будут разбиты
Возможно, вам следует рассмотреть возможность использования целей SMART для вашего теста обеспечения качества.

5. Определите критерии теста для каждой функции, чтобы тест прошел успешно. Эти критерии можно разделить на критерии приостановки (требующие остановки условия) и критерии выхода (составляющие успешное испытание).

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

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

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

9. Определите результаты тестирования и сообщите о своих выводах после завершения тестирования.

А вы начинающий или опытный тестировщик? Сталкивались с тест планами?
545 views07:02
Открыть/Комментировать
2022-08-18 09:29:12 Как учить английский?

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

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

Еще больше плюсов от знания английского:
Понимание терминологии
Выбор средств разработки
Чтение технической документации
Изучение профессиональной литературы
Посещение онлайн-курсов и вебинаров от зарубежных специалистов
Шанс получить работу за границей

Способы изучения английского

Словари технического английского языка для программистов:
- English4it.com
Простой и удобный англоязычный словарь, в котором можно прослушать звучание каждого слова.
- Computerlanguage.com
Словарь компьютерных терминов.
- Techterms.com
Словарь технических терминов, где все слова отсортированы по категориям. Можно проходить тесты из раздела Quizzes, чтобы проверять свои знания.
- Computerhope.com
Словарь технических терминов, где кроме термина вам предложат почитать полезную статью, связанную со словом.

Ресурсы для изучения новых слов
- Businessenglishsite.com
Сайт с упражнениями, помогающими запомнить правила употребления IT-лексики в предложениях.
- Blairenglish.com
Сайт где собраны технические тексты, а также тесты на знание профессиональной лексики.
- Lingualeo и Memrise
С помощью этих ресурсов вы сможете изучать новые слова, составлять собственные словари, смотреть видео профессиональной тематики и т. д.

Ресурсы для изучения грамматики
- Engblog.ru и engvid.com отлично подойдут для изучения теории. Все материалы подготовлены носителями.
- Learnenglish.de, tolearnenglish.com и perfect-english-grammar.com подходят для закрепления полученных знаний.

Ресурсы, помогающие развивать навык восприятия английской речи на слух
Данную группу можно разделить на два типа – подкасты для совершенствования знаний общеразговорного английского (eslpod.com и esl-lab.com) и подкасты на профессиональные темы (Таких материалов очень много, и вы можете выбрать те, которые подходят именно вам).

Ресурсы, которые помогут научиться говорить по-английски
Воспользуйтесь сайтом italki.com или polyglotclub.com, а также вы можете записаться на встречи разговорных клубов Skills.

Ресурсы, где можно потренироваться читать и писать по-английски
- Stackoverflow.com
Самый крупный и известный в мире форум IT-специалистов.
- Forum.xda-developers.com
Форум, где общаются в основном разработчики мобильных приложений.
- Programmers.stackexchange.com
Форум, на котором можно задавать вопросы и получать ответы от опытных коллег.

Материалов очень много, и вы можете выбрать те, которые подходят именно вам. А может у вас есть советы или лайфхаки, которые помогают вам в изучении английского? Расскажите об этом в комментариях
513 views06:29
Открыть/Комментировать
2022-08-17 09:27:44 В 1913 году Генри Форд впервые поставил сборку автомобиля на конвейер, перевернув промышленность своего времени. Принцип действия CI/CD в чем-то похож на конвейер: методика выполняет интеграционную функцию, включая различные типы автоматических тестов на каждом этапе, с последующей доставкой и развёртыванием кода в готовый продукт для конечного пользователя.

Если формат проекта вашего клиента подразумевает регулярные обновления, лучше предложить работать с настроенной системой CI/CD. Конечно, придется потратить время на старте на настройку окружения для непрерывной интеграции, но как итог вы сможете сократить риски и предложить клиенту использовать высвободившиеся часы на более сложные задачи.

Какие этапы релиза можно автоматизировать?
Тестирование и контроль качества, где CI/CD имитирует среду выполнения конечного сервера и запускает тесты автоматически.
Сборка и упаковка кода, позволяет разработчикам вручную не подключаться к продакшн серверам проекта и пересобирать проект на боевом сервере. Пользователи более не увидят страницу «ведутся технические работы».
Открытая отчетность, где клиент после добавления в репозиторий, может самостоятельно отслеживать все процессы тестирования, сборки и доставки приложения на прод.

Как обезопасить релиз?
В каких местах могут возникнуть проблемы?
Стоит понимать, что автоматические модульные тесты и единая среда лишь фиксируют результат выполнения кода в определенных условиях, позволяя избежать нарушения их целостности в будущем. Однако в ситуациях, требующих ввода данных человеком, автоматизация может быть нежелательной или невозможной. Например, мы никогда не сможем автоматизировать приложение, когда дело доходит до удобства использования.

Как предохраниться от логических ошибок функциональности и багов?
Чтобы полностью исключить ошибки при деплое стоит комбинированно подойти к каждой итерации разработки продукта, например:
После разработки новой фичи разработчик создает запрос на слияние ветки с новой функциональностью в основную ветвь приложения.
Тимлид проекта перед слиянием проверяет качество его кода и при возникновении проблем отправляет код на доработку.
После принятия запроса на слияние приложение проходит несколько этапов автоматического тестирования, анализа качества кода и разворачивается на нашем стейдж сервере.
QA специалист дополнительно проверяет всю функциональность приложения.
После одобрения клиентом всех правок приложение отправляется в релиз.

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

CI/CD - набор методов и практик, отвечающий требованиям современной ПО-разработки. Однако, не стоит считать метод панацеей для каждой ситуации - для внедрения этой методологии нужно знать приоритеты, иметь план действий, согласованные технологии и иметь команду специалистов.

Применяете ли вы в своей работе метод CI/CD? Расскажите в комментариях о своем опыте
454 views06:27
Открыть/Комментировать
2022-08-16 09:09:30 Сложные веб-страницы должны генерироваться не более 1 секунды, а иначе пользователь просто закроет ваш ресурс. Сегодня мы поговорим о том, как не потерять пользователей, создав сайт, который будет устойчивым к высоким нагрузкам.

Разделение и другие методы оптимизации запросов
Запросы стоит разделить, если они суммируются. Что позволит вам уменьшить общее время запроса. Для исполнения одних и тех же запросов не обязательно поднимать каждый раз новое соединение, так как это излишне нагружает сервер. Используйте повторно предыдущие соединения, которые не закрываются при завершении скрипта.

Все второстепенные элементы веб-страниц можно вынести в отдельный запрос. Так как нагрузку на сервер дает частый запрос лишних данных, все это повышает потребление памяти и процессного времени. Не стоит запрашивать в цикле данные у базы, это тоже сокращает время отклика. Ускорить отклик помогает и расстановка индексов — они дают быстрый доступ к данным без обращения к таблице.

Мониторинг
Для мониторинга сайта можно использовать два сервиса:
TIG (Telegraf, Influx, Grafana) — базовый набор компонентов для быстрого развертывания системы мониторинга, который позволяет узнать, как используются ресурсы сервера, с какой скоростью работают отдельные узлы системы.
Яндекс.Танк – популярный и доступный инструмент для мониторинга, который позволяет проводить нагрузочные тестирования и анализ производительности веб-сервисов и приложений.

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

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

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

Использование сети CDN
C одного домена можно параллельно загружать максимум шесть файлов, а CDN-сеть даёт более широкие возможности для загрузки файлов. Есть ещё один способ для более быстрой загрузки — уменьшить размер файлов и объединить их.

Денормализация
Метод, при котором мы можем намеренно привести структуру БД в состояние, не соответствующее требованиям нормализации. Для этого избыточные данные помещают туда, где они смогут принести максимум пользы. При использовании jsonb можно легко денормализовать данные и получать их все единоразово.

Кеширование
Позволяет снизить сетевой трафик. Но его нужно правильно настроить, если вы используете распределённую на несколько серверов инфраструктуру, и веб-сервер и БД находятся отдельно, кеш лучше хранить на веб-сервере.
476 views06:09
Открыть/Комментировать
2022-08-15 09:06:10 Возможно, сегодня вас ждут душевные посиделки со старыми друзьями, вкусной пиццей и напряженной партией в покер? Помните, что необходимо быть крайне сдержанными относительно азартных игр, в случае игры с живыми людьми на настоящие деньги Но даже если…
496 views06:06
Открыть/Комментировать
2022-08-12 12:59:54 Возможно, сегодня вас ждут душевные посиделки со старыми друзьями, вкусной пиццей и напряженной партией в покер?

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

Но даже если вы имеете такие же сильные наклонности как Френки четыре пальца, то эта задача будет совершенно безопасна для вас!

Задачи на Python

Лучшая комбинация

Нужно написать программу, которая принимает 5 чисел от 1 до 13 включительно и выводит название лучшей комбинации

Валеты, дамы, короли и тузы обозначаются числами 11, 12, 13 и 1 соответственно

Пример ввода

5 5 5 1 13

Пример вывода

Сет

На всякий случай названия традиционных комбинаций в покере

4 одинаковые карты – Каре

3 одинаковые карты и 2 другие одинаковые карты – Фулл Хаус

5 последовательно идущих карт – Стрит

3 одинаковые карты – Сет

2 одинаковые карты и 2 другие одинаковые карты – Две пары

2 одинаковые карты – Пара

ничего из вышеперечисленного – Старшая карта

Если в руке окажется 5 одинаковых карт – вывести Шулер

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

А также, присылайте свои решения в комментарии к этому посту и мы опубликуем самые интересные с указанием автора

Удачи вам в решении и хороших выходных!
600 views09:59
Открыть/Комментировать
2022-08-12 09:09:35 Туц-туц-туц! Танцевальным настроением делится Софья, копирайтер.

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

Led Zeppelin - Stairway to Heaven – Меланхоличная композиция, невероятно образная и потрясающе красива. И эта песня не устает меня удивлять, только недавно узнала, что она (тоже) основана на легендариуме Дж. Р. Р. Толкина.

Ozzy Osbourne - Patient Number 9 – Считаю, что Оззи просто невероятный дядька и музыкант. Чего стоят его "приключения" и концерты в молодости. И несмотря на это, он до сих пор жив и радует новыми песнями.

Earth, Wind & Fire - September – Навевает теплые воспоминания из детства, когда мама включала диск, и мы шли готовить, пританцовывая.

ARCH ENEMY - The Eagle Flies Alone – Неожиданное открытие. Именно с этой песни у меня начался роман с арчами. У солистки просто невероятный голос, от которого челюсть отваливается.

А что у вас стоит на репите? Расскажите в комментариях
589 views06:09
Открыть/Комментировать
2022-08-11 10:30:06 Пет-проект — еще одна возможность для джуна получить реальный опыт работы. Однако, что делать если вы стоите перед выбором какой проект станет первым в вашем репозитории. Сегодня поговорим про пет-проекты.

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

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

Варианты пет-проектов, которые можно добавить в портфолио:

Пет-проекты, сделанные под конкретную сферу
Определитесь со сферой, это может быть, например, финтех, фудтех, e-сommerce или что-то еще. Готовый проект в портфолио, покажет работодателю, что у вас есть понимание индустрии.

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

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

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

Полезные ресурсы для создания пет-проектов:

Product Hunt — здесь можно найти идеи для своего пет-проекта.
Тренды GitHub — помогут понять, какие проекты сейчас пишут разработчики и какой стек использует.
Exploding Topics — рассылка c набирающими популярность проектами.
AppMagic и App Annie — сервисы для мониторинга рынка мобильных приложений.
Dribbble и Behance — тут можно найти красивые референсы для дизайна интерфейса.
Хабр, Reddit, Quora для поиска команды для совместного пет-проекта.

Расскажите о своем первом пет-проекте в комментариях. Что это было?
570 views07:30
Открыть/Комментировать
2022-08-10 08:53:45 Почему стоит заморочиться по поводу прокси?

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

Да, и на это есть две причины

Первая, конечно же, безопасность

Принимать запросы к своей базе в чистом виде будет тем же самым, что оставить открытые окна и двери в плохом районе

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

Поэтому любые запросы к базе данных должны проходить предобработку, чтобы не получить, например, sql инъекцию

Второе, единая точка входа

Очевидно, что для любого проекта крайне важна статистика для принятия и реализации самых разных решений

Но как эта статистика может быть полной, если все это не проходит через некий общий прокси метод?

Можно, но очень сложно и не очень эффективно

Окей, тогда как лучше завернуть всю систему в прокси методы

Есть хороший вариант иерархии прокси методов для обработки входящих и исходящих запросов:

Общий прокси метод срабатывающий при любом запросе
Прокси метод для входящих запросов
Прокси метод для запросов из Web API & Прокси метод для запросов из Apache Kafka

И параллельно:

Тот же общий прокси метод срабатывающий при любом запросе
Прокси метод для исходящих запросов
Прокси метод для запросов в базу данных

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

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

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

Берегите себя, своих заказчиков и пользователей
502 views05:53
Открыть/Комментировать
2022-08-09 07:45:02 Готовы к еще одному интервью?

Анатолий Федоренко, Head of Delivery, рассказал о нетворкинге в IT, зарплатных ожиданиях новичков и open source.
Самые волнующие темы специально для вас.

Читаем, делимся, обсуждаем в комментариях
527 views04:45
Открыть/Комментировать