Пора прокачаться в паттернах.
Ребята, добрый день! Мы подготовили для вас подборку материалов для изучения паттернов проектирования на примерах кода с пояснениями:
Паттерны за 5 минут - статья, в которой рассказывается про каждый из типов паттернов и приводится пример каждого типа;
Паттерн - Фасад - комплексная статья о паттерне Фасад, особенностях его применения и концепции;
Паттерн - Мост - или как спрятать сложную внутреннюю логику, предоставив легкий интерфейс;
Observer vs Pub-sub - вечное противостояние и сложности в понимании.
Изучайте, друзья!
#programming #patterns
Ребята, добрый день! Мы подготовили для вас подборку материалов для изучения паттернов проектирования на примерах кода с пояснениями:
Паттерны за 5 минут - статья, в которой рассказывается про каждый из типов паттернов и приводится пример каждого типа;
Паттерн - Фасад - комплексная статья о паттерне Фасад, особенностях его применения и концепции;
Паттерн - Мост - или как спрятать сложную внутреннюю логику, предоставив легкий интерфейс;
Observer vs Pub-sub - вечное противостояние и сложности в понимании.
Изучайте, друзья!
#programming #patterns
Code Climate умеренный.
Инструмент, который позволит вашей команде совместно улучшать качество кода. Его функционал включает:
• Отчеты о покрытии тестами;
• Оценка технического долга;
• Проверки соответствия стилю;
• Выделение критически уязвимых областей;
Таким образом на основе отчетов Code Climate вы сможете получить легко поддерживаемый и расширяемый код.
GitHub | Sources
#tools #clean_code
Инструмент, который позволит вашей команде совместно улучшать качество кода. Его функционал включает:
• Отчеты о покрытии тестами;
• Оценка технического долга;
• Проверки соответствия стилю;
• Выделение критически уязвимых областей;
Таким образом на основе отчетов Code Climate вы сможете получить легко поддерживаемый и расширяемый код.
GitHub | Sources
#tools #clean_code
Работай разумно, чтобы не пахать как лошадь.
В данной статье собран набор действительно полезных инструментов как для отдельных специалистов, так и для команд разработчиков.
Возможно, вы уже слышали и пробовали такие инструменты, как: Cloudcraft, Figma, BundlePhobia, Font Flipper. Так вот, сегодня речь пойдет именно о них!
Читать статью (6 мин)
#programming #tools
В данной статье собран набор действительно полезных инструментов как для отдельных специалистов, так и для команд разработчиков.
Возможно, вы уже слышали и пробовали такие инструменты, как: Cloudcraft, Figma, BundlePhobia, Font Flipper. Так вот, сегодня речь пойдет именно о них!
Читать статью (6 мин)
#programming #tools
Четыре вещи, которым нужно разучиться, чтобы стать хорошим разработчиком.
Постулат данной статьи:
• Замени циклы функциями высшего порядка;
• Замени условные выражения структурами данных и полиморфизмом;
• Замени буквальные имена переменных на целевые имена;
• Забудь о существовании глобальной области видимости.
Под катом вас ждут неоднозначные примеры кода, которые с очень большой вероятностью поменяют ваши подходы к программированию.
Читать статью (5 мин)
#programming #clean_code
Постулат данной статьи:
• Замени циклы функциями высшего порядка;
• Замени условные выражения структурами данных и полиморфизмом;
• Замени буквальные имена переменных на целевые имена;
• Забудь о существовании глобальной области видимости.
Под катом вас ждут неоднозначные примеры кода, которые с очень большой вероятностью поменяют ваши подходы к программированию.
Читать статью (5 мин)
#programming #clean_code
Долгие прелюдии
Работая с указателями, необходимо быть крайне осторожными, т.к. данная концепция является, вероятно, одной из самых трудных для понимания.
В процессе разработки рекомендуется включать в работу методы для проверки целостности указателей и данных, на которые они ссылаются, для исключения ошибок. Когда код полностью готов, накладки, связанные с проверками, можно исключить, просто оставив тело метода проверки пустым.
#programming #pointers
Работая с указателями, необходимо быть крайне осторожными, т.к. данная концепция является, вероятно, одной из самых трудных для понимания.
В процессе разработки рекомендуется включать в работу методы для проверки целостности указателей и данных, на которые они ссылаются, для исключения ошибок. Когда код полностью готов, накладки, связанные с проверками, можно исключить, просто оставив тело метода проверки пустым.
#programming #pointers
C++ в сентябре 2020 стал самым быстрорастущим языком (+1.48%) в рейтинге TIOBE. С другой стороны, у Java серьезные проблемы — язык потерял 3.18% по сравнению с прошлым годом. В двадцатке из “наших” - Swift на 12 месте (+0.28%), Objective-C на 19 (-0.99%), Dart на 20 (+0.13%). JavaScript уверенно вырос (+0.41). Тем не менее JS остаётся первым в рейтинге самых популярных языков программирования
Flutter vs React Native vs Native
Можно сказать, что это самые востребованные технологии для разработки мобильных приложений. Несмотря на то что о производительности сейчас говорят далеко не в первую очередь, вопрос об оптимизированности технологии достаточно серьёзен.
Данная статья представляет собой анализ производительности кода на основе сложных анимаций в единой среде GameBench.
Читать статью (5 мин)
#mobile_dev #performance
Можно сказать, что это самые востребованные технологии для разработки мобильных приложений. Несмотря на то что о производительности сейчас говорят далеко не в первую очередь, вопрос об оптимизированности технологии достаточно серьёзен.
Данная статья представляет собой анализ производительности кода на основе сложных анимаций в единой среде GameBench.
Читать статью (5 мин)
#mobile_dev #performance
Coveralls
Coveralls - инструмент для команд разработчиков, который позволит выпускать в prod только тщательно проверенные обновления. Каким образом? Coveralls анализирует каждую строчку кода на покрытие автоматическими тестами.
Рекомендуется взять на вооружение Coveralls совместно с такими интсрументами, как Code Inspector или же Codacy, чтобы обеспечить полную уверенность в разрабатываемом ПО.
GitHub
#tools #code_analysis
Coveralls - инструмент для команд разработчиков, который позволит выпускать в prod только тщательно проверенные обновления. Каким образом? Coveralls анализирует каждую строчку кода на покрытие автоматическими тестами.
Рекомендуется взять на вооружение Coveralls совместно с такими интсрументами, как Code Inspector или же Codacy, чтобы обеспечить полную уверенность в разрабатываемом ПО.
GitHub
#tools #code_analysis
Уверены ли вы в своих знаниях JavaScript
Anonymous Poll
9%
1. Да, уверен на 100%
26%
2. Да, но замечаю пробелы
21%
3. Нет, испытываю сложности
44%
4. Нет, я и вовсе не изучаю JS
Упрощайте списки параметров
Очень часто встречаются листинги кода, в которых методы класса имеют громоздкие списки параметров. Дело в том, что это значительно усложняет чтение и понимание кода.
Старайтесь списки параметров методов ограничивать 2-3 сущностями, а лучший способ - передавайте объект, который уже содержит необходимую информацию. И не забывайте про содержательные имена!
#programming #clean_code
Очень часто встречаются листинги кода, в которых методы класса имеют громоздкие списки параметров. Дело в том, что это значительно усложняет чтение и понимание кода.
Старайтесь списки параметров методов ограничивать 2-3 сущностями, а лучший способ - передавайте объект, который уже содержит необходимую информацию. И не забывайте про содержательные имена!
#programming #clean_code
WebAssembly — разрушительные технологии будущего.
Да, WebAssembly действительно ускорит работу веб-сайтов и приложений, позволит использовать максимум вычислительных ресурсов, однако какова плата за производительность?
Дело в том, что существует довольно страшная уязвимость, отследить наличие которой будет достаточно сложно. И вот именно она может стать роковой.
Читать статью
#programming #technologies
Да, WebAssembly действительно ускорит работу веб-сайтов и приложений, позволит использовать максимум вычислительных ресурсов, однако какова плата за производительность?
Дело в том, что существует довольно страшная уязвимость, отследить наличие которой будет достаточно сложно. И вот именно она может стать роковой.
Читать статью
#programming #technologies
Snyk - повадырь.
Snyk поможет командам разработчиков находить уязвимости в проектах с открытым исходным кодом. Основные из поддерживаемых языков: Java, Ruby, Python, Node.js, Scala.
База Snyk отслеживает 800 тыс open-source проектов, что помогает более 25 тыс. приложений работать стабильнее. 83% пользователей Snyk регулярно обнаруживают уязвимости в своих проектах. А хорошо вооружен лишь тот, кто предупрежден.
GitHub
#programming #tools
Snyk поможет командам разработчиков находить уязвимости в проектах с открытым исходным кодом. Основные из поддерживаемых языков: Java, Ruby, Python, Node.js, Scala.
База Snyk отслеживает 800 тыс open-source проектов, что помогает более 25 тыс. приложений работать стабильнее. 83% пользователей Snyk регулярно обнаруживают уязвимости в своих проектах. А хорошо вооружен лишь тот, кто предупрежден.
GitHub
#programming #tools
Архитектура: важнейшие паттерны
Данная статья представляет собой описание основных и наиболее часто используемых архитектурных шаблонов для проектирования программного обеспечения.
Недаром говорят: "Как заправишь, так и поедет" Так вот, это как никак кстати относительно архитектуры ПО. Грамотное проектирование позволит вам сэкономить не только время и нервы, но и штат специалистов техподдержки.
Читать статью (7 мин)
#programming #architecture
Данная статья представляет собой описание основных и наиболее часто используемых архитектурных шаблонов для проектирования программного обеспечения.
Недаром говорят: "Как заправишь, так и поедет" Так вот, это как никак кстати относительно архитектуры ПО. Грамотное проектирование позволит вам сэкономить не только время и нервы, но и штат специалистов техподдержки.
Читать статью (7 мин)
#programming #architecture
Пошаговая инструкция о том, как стать экспертом Git.
Статья об одном из самых важных навыков, которому обязательно стоит обучиться разработчику. Она познакомит вас с процессом инициализации локального репозитория, фиксации коммитов и отправки их в удаленный репозиторий.
Не обошли стороной механизм ветвления и слияния веток как основного метода разработки ПО в промышленных масштабах. Но самая важная особенность Git - контроль версий. Приглашаем под кат.
Читать статью
#programming #git
Статья об одном из самых важных навыков, которому обязательно стоит обучиться разработчику. Она познакомит вас с процессом инициализации локального репозитория, фиксации коммитов и отправки их в удаленный репозиторий.
Не обошли стороной механизм ветвления и слияния веток как основного метода разработки ПО в промышленных масштабах. Но самая важная особенность Git - контроль версий. Приглашаем под кат.
Читать статью
#programming #git
Рост установок в 3 квартале 2020
Количество загрузок приложений в мире достигло 36.4 млрд., это рост на 22.8% по сравнению с аналогичным периодом прошлого года. Установки в App Store выросли на 2.5% до 8.2 миллиарда, в то время как Google Play вырос на 30.3% до 28.2 миллиарда.
Компания Sensor Tower опубликовала отчет Store Intelligence Data Digest за третий квартал 2020 года.
Подробнее
#programming #news
Количество загрузок приложений в мире достигло 36.4 млрд., это рост на 22.8% по сравнению с аналогичным периодом прошлого года. Установки в App Store выросли на 2.5% до 8.2 миллиарда, в то время как Google Play вырос на 30.3% до 28.2 миллиарда.
Компания Sensor Tower опубликовала отчет Store Intelligence Data Digest за третий квартал 2020 года.
Подробнее
#programming #news
Если считать, что 3 подхода одинаково хороши, то приверженцем какого из них вы являетесь?
Anonymous Poll
30%
1. Функционально-процедурный(совмещённый) подход
13%
2. Вызов функции с дополнительными параметрами
57%
3. Вызов функции с последующим хранением её результата
Упрощение поиска проблемных частей кода в Python
Чтобы фильтровать логи по пользователю, видеть последовательность вызовов клиентского API, а также углубляться в логи запроса, необходимо сопровождать каждую лог-запись метаинформацией, чего не делает довольно значительное количество разработчиков.
Программисты, работающие с приложением Яндекс.Такси, разобрались в этом. В статье они предлагают несколько решений данной проблемы.
Читать статью
#programming #clean_code
Чтобы фильтровать логи по пользователю, видеть последовательность вызовов клиентского API, а также углубляться в логи запроса, необходимо сопровождать каждую лог-запись метаинформацией, чего не делает довольно значительное количество разработчиков.
Программисты, работающие с приложением Яндекс.Такси, разобрались в этом. В статье они предлагают несколько решений данной проблемы.
Читать статью
#programming #clean_code
Хабр
Забываете передавать аргументы в функцию? Вам поможет contextvars
Мы в Яндекс.Такси любим писать логи. Ещё больше мы любим, когда логи помогают нам расследовать проблемы в продакшене. При нагрузке в десятки тысяч RPS просто на...
О важности абстракции
Взгляните на листинги двух классов. Да, вам может показаться, что класс Program более компактный, но стоит более внимательно посмотреть на класс Employee, как тут же становится понятно, что здесь мы работаем на верном уровне абстракции.
Методы, которые используются во внутренних вычислениях, закрыты, а открытыми остаются лишь те, которые действительно выполняют свою задачу, при этом область применения класса Employee четко понятна из названий методов и переменных-атрибутов.
#programming #clean_code
Взгляните на листинги двух классов. Да, вам может показаться, что класс Program более компактный, но стоит более внимательно посмотреть на класс Employee, как тут же становится понятно, что здесь мы работаем на верном уровне абстракции.
Методы, которые используются во внутренних вычислениях, закрыты, а открытыми остаются лишь те, которые действительно выполняют свою задачу, при этом область применения класса Employee четко понятна из названий методов и переменных-атрибутов.
#programming #clean_code
С прозрачностью скриптов сборки к идеальным зависимостям
Очень комплексная и подробная статья с описанием принципов построения и создания скриптов сборки на примере Maven и Gradle.
На текущий момент с великим множеством зависимостей в разрабатываемых вами проектах, этапу сборки необходимо уделять особое внимание.
Читать статью (10 мин)
#programming #clean_code
Очень комплексная и подробная статья с описанием принципов построения и создания скриптов сборки на примере Maven и Gradle.
На текущий момент с великим множеством зависимостей в разрабатываемых вами проектах, этапу сборки необходимо уделять особое внимание.
Читать статью (10 мин)
#programming #clean_code