DevFM
2.35K subscribers
80 photos
5 videos
492 links
О разработке: технологии, инструменты, system design, процессы, команды

Для связи @sa_bul
Download Telegram
Channel created
JetBrains - компания, занимающаяся разработкой инструментов для разработки. Такие известные продукты как IntelliJ IDEA, PyCharm, CLion, Resharper, разрабатывает JetBrains.
До 5 мая можно зарегистрироваться на сайте JetBrains
и на протяжении 90 дней бесплатно пользоваться всеми продуктами компании. Это хорошая возможность ознакомиться с расширенными возможностями различных IDE.
Использование систем контроля версий - важный аспект в любой разработке. На данный момент самой популярной системой контроля версий является git.
В серии статей подробно и с примерами рассматриваются основные концепции и принципы работы git, которые, зачастую, могут быть непонятны начинающим разработчикам.
Часть 1
Часть 2
Часть 3
#skills
Часто какие-то интересные задачи остаются за кадром, потому что просто не знаешь, где применять и как попробовать. Таким образом есть набор важных умений, которые вообще не покрываются до того момента, когда они понадобятся в практической деятельности.

Существует множество провайдеров облачных инфраструктур (VPS), которые предоставляют бесплатный пробный доступ. Например DigitalOcean дает 100$ всем новым пользователям на 2 месяца. Для этого нужно создать аккаунт и привязать карту (можно виртуальную).

Таким образом, создаешь облачный сервер и вот минимальный набор задач, которые можно решить:
1. настройка беспарольного ssh-доступа;
2. настройка своего vpn-сервера (а потом поделиться с друзьями, чтобы все могли через него ходить);
3. запуск вычислительных задач, которые не получается запустить локально;
4. поднятие веб-серва с простым сайтиком, настройка https доступа;
5. защита вашего веб-сервера от внешнего мира (а защищать понадобится практически моментально).
Для тех кто пользуется git, но ему не нравится консоль.
Удобный git клиент Sublime Merge.
Важным аспектом в разработке любого проекта является тестирование.

Рассмотрим несколько причин, почему нужно обязательно писать тесты:
— Контроль качества кода. Если вы не представляете, как протестировать тот или иной метод, то скорее всего метод написан плохо. Стоит провести рефакторинг, а потом вернуться к тестированию.
Этот тезис очень важен: плохой код всегда сложно тестировать.
— Внесение изменений в проект без опасений что-то сломать. Когда проект начинает увеличиваться, без тестов ваша судьба больше не в ваших руках. Вы не можете быть уверены, что с внесением изменений в проект, или внедрением нового функционала все будет работать так как раньше.
Когда к проекту есть тесты, вы можете запустить их и убедиться, что ваши изменения не ломают старый функционал и все работает как и раньше.
При разработке в команде значение это пункта сильно увеличивается.
— Документация. Тесты лучше документации! Документация может быть устаревшей. По тестам, которые успешно проходят, можно понять поведение программы, как различные функции отрабатывают на тех или иных входных данных.
— У проекта, к которому есть тесты фактор автобуса существенно ниже, чем у проекта без тестов.
— Крепкий сон. Если проект запущен в продакшн и кем-то используется, то вы будете спать крепче, если этот проект хорошо протестирован.

Хорошее руководство по написанию тестов с использованием библиотеки pytest:
Введение, Часть 1, Часть 2, Часть 3, Часть 4, Часть 5, Часть 6, Часть 7.
Для того чтобы начать тестировать свой код необязательно читать все приведенные статьи. Достаточно прочесть первые, а потом возвращаться к этому руководству с возникновением новых вопросов при написании тестов к своему коду.

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