Упрощайте списки параметров
Очень часто встречаются листинги кода, в которых методы класса имеют громоздкие списки параметров. Дело в том, что это значительно усложняет чтение и понимание кода.
Старайтесь списки параметров методов ограничивать 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
If-else, пора забыть об этом
Однако никто не говорит, что использование в коде конструкций switch, if-else является чем-то запретным, это идеальные инструменты на начальном этапе разработки проекта.
С развитием проекта от них следует избавляться, т.к. они не предлагают той гибкости и масштабируемости, которые может предложить полиморфизм.
Читать статью (6 мин)
#programming #clean_code
Однако никто не говорит, что использование в коде конструкций switch, if-else является чем-то запретным, это идеальные инструменты на начальном этапе разработки проекта.
С развитием проекта от них следует избавляться, т.к. они не предлагают той гибкости и масштабируемости, которые может предложить полиморфизм.
Читать статью (6 мин)
#programming #clean_code
Sider - как не наступать на те же грабли
Да, это один из тех инструментов, которые позволяют большим, и не только, командам разработчиков контролировать качество кода. В связке с Codacy или Code Climate будет достигнута наивысшая эффективность в оценке качества.
Sider позволяет обрабатывать текущие проблемы в коде более изящно, нежели с этим справляются линтеры с помощью CI, однако прочувствовать это можно лишь на личном опыте.
Github
#clean_code #tools
Да, это один из тех инструментов, которые позволяют большим, и не только, командам разработчиков контролировать качество кода. В связке с Codacy или Code Climate будет достигнута наивысшая эффективность в оценке качества.
Sider позволяет обрабатывать текущие проблемы в коде более изящно, нежели с этим справляются линтеры с помощью CI, однако прочувствовать это можно лишь на личном опыте.
Github
#clean_code #tools
Какие языки хотят изучать разработчики
Ни для кого не секрет, что научится программировать можно самостоятельно. Даже более того, самообучение является основополагающим в процессе становления разработчиком.
Так вот, команда Specops использовала инструмент Keyword Explorer от Ahrefs для анализа поисковых запросов в Google и Youtube на темы разных языков программирования. И что же, на 1-ом месте бессменный Python, а вот на 2-ом...
Подробнее
#programming #programming_languages
Ни для кого не секрет, что научится программировать можно самостоятельно. Даже более того, самообучение является основополагающим в процессе становления разработчиком.
Так вот, команда Specops использовала инструмент Keyword Explorer от Ahrefs для анализа поисковых запросов в Google и Youtube на темы разных языков программирования. И что же, на 1-ом месте бессменный Python, а вот на 2-ом...
Подробнее
#programming #programming_languages
Насколько ваши предпочтения эффективны.
Хорошему программисту необходимо не только постоянно развивать свои сильные стороны, например, умение проектировать грамотную архитектуру приложения, но и также латать свои слабые, являющиеся следствием "плохих" привычек.
В статье собран набор тех вредных предпочтений программистов, которые препятствуют их профессиональному росту. Избегайте такого поведения, и вы увидите незамедлительный прогресс.
Читать статью (5 мин)
#programming #self_improvement
Хорошему программисту необходимо не только постоянно развивать свои сильные стороны, например, умение проектировать грамотную архитектуру приложения, но и также латать свои слабые, являющиеся следствием "плохих" привычек.
В статье собран набор тех вредных предпочтений программистов, которые препятствуют их профессиональному росту. Избегайте такого поведения, и вы увидите незамедлительный прогресс.
Читать статью (5 мин)
#programming #self_improvement
Яндекс масштабно обновил поиск: коротко о главном
Ребята из поиска Яндекса рассказали о своём самом важном изменении за десять лет. Они научили и запустили свою нейросеть-трансформер YATI. Трансформеры по определению очень прожорливые, поэтому её подключение — отдельный вызов для разрабов и инженеров.
По факту, теперь мы имеем поиск Яндекса, который не просто (хотя и качественно) ищет и сопоставляет ключевые слова, но и глубже анализирует смысл запроса и релевантность выдачи. Проще говоря, он как будто бы лучше понимает, о чём его спрашивают. И ещё умеет анализировать порядок слов и контекст запроса, читает огромные тексты, а не только бегает по хедам, обучен «механизму внимания», то есть умеет определять и выделять важные фрагменты в любом массиве.
Подробнее ребята рассказали в своем блоге на Хабре
#programming #clean_code
Ребята из поиска Яндекса рассказали о своём самом важном изменении за десять лет. Они научили и запустили свою нейросеть-трансформер YATI. Трансформеры по определению очень прожорливые, поэтому её подключение — отдельный вызов для разрабов и инженеров.
По факту, теперь мы имеем поиск Яндекса, который не просто (хотя и качественно) ищет и сопоставляет ключевые слова, но и глубже анализирует смысл запроса и релевантность выдачи. Проще говоря, он как будто бы лучше понимает, о чём его спрашивают. И ещё умеет анализировать порядок слов и контекст запроса, читает огромные тексты, а не только бегает по хедам, обучен «механизму внимания», то есть умеет определять и выделять важные фрагменты в любом массиве.
Подробнее ребята рассказали в своем блоге на Хабре
#programming #clean_code
Чтобы быть крутым разработчиком, нужно создавать крутые проекты!
Представляем вам список простых и в то же время очень полезных с точки зрения необходимых навыков проектов, которые позволят вам не только прокачать навыки в распространенных фреймворках, но и получить от этого удовольствие.
Много ли из вас использует Trello или Asana, а может, и вовсе Jira? Думаете, у вас не получится создать что-то подобное? А что если вы бы хотели пользоваться лично разработанным плеером? Это круто! А мы в этом поможем списком интересных идей...
Читать статью (5 мин)
#programming #clean_code
Представляем вам список простых и в то же время очень полезных с точки зрения необходимых навыков проектов, которые позволят вам не только прокачать навыки в распространенных фреймворках, но и получить от этого удовольствие.
Много ли из вас использует Trello или Asana, а может, и вовсе Jira? Думаете, у вас не получится создать что-то подобное? А что если вы бы хотели пользоваться лично разработанным плеером? Это круто! А мы в этом поможем списком интересных идей...
Читать статью (5 мин)
#programming #clean_code
Travis CI
С Travis CI вы можете с уверенностью тестировать и выпускать свои приложения. Его достаточно легко интегрировать с GitHub, не говоря уже о том, что процесс наката приложения происходит сразу же после прохождения всех тестов.
Поддерживаемые языки:
• Javascript и Node.js
• Ruby
• PHP
• Python
Подходит как для небольших команд разработчиков, так и для крупных подразделений. Ну, Travis, не подведи!
GitHub
#tools #ci
С Travis CI вы можете с уверенностью тестировать и выпускать свои приложения. Его достаточно легко интегрировать с GitHub, не говоря уже о том, что процесс наката приложения происходит сразу же после прохождения всех тестов.
Поддерживаемые языки:
• Javascript и Node.js
• Ruby
• PHP
• Python
Подходит как для небольших команд разработчиков, так и для крупных подразделений. Ну, Travis, не подведи!
GitHub
#tools #ci
Пора сделать инверсию нуля.
В статье речь пойдет о самых распространенных убеждениях программистов, которые мешают им достичь высоких профессиональных результатов.
Сомнения, нервы, неуверенность в принятых решениях и написанных строчках кода — неизбежные спутники разработчика. Пора менять ситуацию и покорять новые вершины.
Читать статью (5 мин)
#programming #self_improvement
В статье речь пойдет о самых распространенных убеждениях программистов, которые мешают им достичь высоких профессиональных результатов.
Сомнения, нервы, неуверенность в принятых решениях и написанных строчках кода — неизбежные спутники разработчика. Пора менять ситуацию и покорять новые вершины.
Читать статью (5 мин)
#programming #self_improvement