подборка материалов для самостоятельного изучения и сообществ для погружения / Хабр

Привет, Хабр! Меня зовут Егор Ерохин, я — наставник на курсе «Java-разработчик» Яндекс Практикума и Java-тимлид. В этой статье я собрал как русскоязычные, так и англоязычные ресурсы, которые помогут начинающим Java-разработчикам на их пути. А ещё комьюнити, которые будут полезны для расширения кругозора и нетворкинга.

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

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

Разбираемся с базой

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

  1. Курс лекций по информатике от профессора МИРЭА Романа Шамина. Профессор расскажет, что такое программирование, и объяснит основные понятия, которыми вам предстоит оперировать. 

  1. Материалы по информатике от «Фоксфорда». В плейлисте больше 200 видео вразнобой, можно фильтровать их по темам — выбрать нужные технологии.

  1. Основы информатики от “Crash Course: Computer Science”. Это англоязычный ускоренный курс информатики, но в нём доступны русские субтитры.

Нетворкинг и полезные сообщества

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

  1. Java_Developer — семитысячное русскоязычное сообщество Java-разработчиков в Телеграм.

  2. Javaproglib — библиотека джависта. Java, Spring, Maven, Hibernate. Это телеграм-канал с  видео, статьями и мемами по Java и не только — полезные материалы по всему, что может быть полезно разработчику на Java.

  3. Javastart — телеграм-чат для новичков в Java-разработке и не только. Полезные материалы и общение могут здесь найти и более опытные пользователи.

  4. Learnjava — англоязычный сабреддит, содержит ответы на множество вопросов новичков о Java-разработке. 

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

Погружаемся в Java-разработку

  1. Dev.Java — платформа обучения Java от Oracle на английском языке. Это уже более профессиональный ресурс, который рассчитан на людей, понимающих основные принципы программирования и имевших с ним опыт в других языках.

  1. Раздел Oracle-документации по Java с туториалами. На этом сайте подробно расписаны нюансы использования средств языка.

  1. Бесплатный курс от Udemy на английском языке, очень подробный, с примерами кода практически по каждой теме. В конце есть проверочный тест. 

  1. Бесплатный открытый онлайн-курс Хельсинкского университета (МООК) по объектно-ориентированному программированию на Java на английском языке. Курс затрагивает основы компьютерного программирования, а также алгоритмы и основы ООП, содержит много упражнений и подходит для обучения с нуля.

  2. Youtube-канал Нельсона Джало, Java-разработчика и создателя образовательной платформы с набором курсов. На канале разбор Java-топиков, современных вопросов разработки и актуальных технологий. У видеороликов есть русские субтитры в машинном переводе.

  1. CodingWithJohn — Youtube-канал ведёт Джон, разработчик с 10-летним стажем. Он периодически выпускает видеотуториалы по Core Java и примеры кодинга несложных приложений. У видео есть русские субтитры в машинном переводе.


А вместо итогов порекомендую несколько книг — общеразработческую нетленку от Роберта Мартина «Чистый код», «Чистая архитектура», «Идеальный программист». Хотя эти материалы критикуют в последнее время, они расширят ваш кругозор и познакомят с некоторыми неочевидными проблемами разработчиков.

Java Digest #2 / Хабр

Всем привет! 👋 👋 👋

Мы — Java-разработчики Тинькофф: Константин, Андрей и Арсений. Собираем новости, статьи, туториалы и другие интересные материалы из мира Java-разработки. Решили делиться этим не только с коллегами, но и со всем сообществом.

Джо Аберкромби писал: «Чем больше ты узнаешь — тем больше понимаешь, как мало знаешь. Однако усилие само по себе стоит того». Надеемся, наш дайджест поможет вам на этом пути. Stay tuned! 😉

Главные новости

Начался релизный цикл Java 21. Список JEP-ов, которые войдут в финальную версию, утвержден и больше не будет меняться. По расписанию релиза в общий доступ Java 21 выйдет 19 сентября. Напомним, что это LTS- релиз, а значит, пора планировать миграцию 🙂

В Intellij IDEA появится AI-ассистент. Он уже доступен в IntelliJ IDEA 2023.2 EAP 6. Заявлено, что AI может генерировать документацию, а также помогать с неймингом и сообщениями коммитов. Кроме того, прямо в среду разработки будет интегрирован чат для общения с ним. Полный перечень нововведений — в блоге IntelliJ IDEA 2023. 2 EAP 6. 

Интересные видео

Опубликованы доклады со Spring I/O 2023 в Барселоне. Рекомендуем к просмотру:

Spring I/O 2023 — Keynote:

Juergen Hoeller подробно рассказывает о том, какие изменения во фреймворке будут доступны и как они соотносятся с последними фичами JDK:

Kotlin goes WebAssembly. В Kotlin 1.8.20 представили новый таргет для компиляции Kotlin-кода — WebAssembly. На видео Себастьян показывает, как написать приложение под запуск в браузере и на node.js, который также поддерживает WebAssembly. Пока фича сыровата и требует полировки, но уже сейчас можно с нею поиграть:

Владимир Ситников — B-tree-индексы в базах данных на примере PostgreSQL. Простой, но информативный доклад, раскрывающий тему B-tree-индексов. Большой плюс — прекрасная визуализация и наглядные примеры. Автор разбирает основные кейсы, которые могут встретиться в повседневной работе:

Иван Пономарев — Презентация как код. Asciidoctor, RevealJs, IntelliJ IDEA + Asciidoctor plugin, Maven + AsciiDoctorJ — это стек для создания презентаций 🙂 Иван демонстрирует технику Presentation As A Code, подразумевающую, что весь контент презентации ОПИСАН декларативно на Asciidoctor, а потом собран в удобный формат. Основной плюс этой техники — гибкость, причем это касается как представления контента, так и работы с изменениями через систему контроля версий:

Полезные статьи

Spring Boot Application Testing and Development with Testcontainers — подробно о поддержке Testcontainers в Spring Boot 3.1.0. Теперь конфигурировать Postgres или Kafka контейнеры получается буквально по щелчку, просто добавив соответствующие контейнеры в контекст и навесив аннотацию @ServiceConnection. 

Никаких дополнительных пропертей прописывать не нужно, все работает из коробки. А еще ту же конфигурацию контейнеров можно использовать, чтобы поднять сервис локально. Spring сконфигурирует и поднимет все контейнеры при запуске приложения. И как будто этого мало — можно пометить бины контейнеров аннотацией @RestartScope из DevTools и тогда между запусками приложения контейнеры даже не будут переподниматься. Это действительно крутые фичи, которые заставят по-другому взглянуть на разработку и тестирование java-приложений 👍

Подробнее обо всем — в новом выпуске Spring Tips.

Использование оконных функций с Hibernate 5 и 6. Рассматриваются мощные возможности языка SQL — оконные функции и их работа в Hibernate. Оконные функции позволяют выполнять вычисления над определенными подмножествами строк таблицы, связанными с текущей строкой. Они подобны агрегатным функциям, но не сокращают строки до одной на выходе, сохраняя уникальность каждой строки.

Лучшие практики скриптования в Jira Server/Data Center — как написать автоматизацию на Groovy с использованием API Jira Java. Автор статьи — Сергей Трошин, администратор Atlassian в компании VKCO. Он заметил, что в интернете недостаточно сосредоточенной информации на эту тему, хотя она важна для компаний, использующих сложные средства автоматизации бизнес-процессов. В большинстве случаев таким средством является плагин Scriptrunner от Adaptavist.


Как в три раза снизить затраты на отказоустойчивую инфраструктуру, переехав с Hazelcast на Redis, — хорошая статья от команды Alfa, где автор делится опытом выбора распределенного кэша в качестве замены Hazelcast. Читается легко и интересно. Рекомендуется к прочтению тем, кто сейчас стоит перед аналогичным выбором.

Class Loader Hierarchies — небольшая, но интересная статья поможет вспомнить, как работают загрузчики классов в Java. Рассматривается иерархия загрузчиков классов в Java, роль каждого класса загрузчика и порядок запроса загрузки, а еще обсуждаются дополнительные функции загрузчика. 

A New GraalVM Release and New Free License! | by Alina Yurenko
GraalVM EE is Dead, Long Live Oracle GraalVM — JVM Weekly vol. 47
Две интересные и полезные статьи о том, как обстоят дела у Graal VM. Если верить написанному, то изменилась лицензия и стала доступнее. Теперь не будет как таковой Enterprise-версии. К тому же в статьях много внимания уделяется новым фичам. Полезное чтиво про будущее, которое уже наступило.

Securing Spring Boot Applications With SSL — рассказ о нововведении Spring Boot 3.1 — SSL Bundles. Их основная задача — создать более верхнеуровневую абстракцию над SSL и тем самым упростить настройку SSL в Spring Boot приложениях.

Migrating an Application to Native Image With Spring Boot 3 — наш коллега Андрей Сулыз поделился своим опытом в миграции приложений на Spring Boot 3 и Native Image. Цифры, примеры, проблемы — все как мы любим!

Профилирование, ассемблер и все-все-все — хорошая статья про неочевидные особенности работы ключевого слова volatile. Там много ссылок и отсылок. Крайне рекомендуем!

JFR View Command — в JDK21 появилась новая команда JFR.view, позволяющая получить агрегированные JFR-данные работающего приложения прямо в консоли, без выгрузки дампа и открытия его в Mission Control. Может быть полезно.

How to validate the DDL schema with Spring and Hibernate — о том, как использовать инструменты Hibernate для управления и проверки схемы базы данных при работе с объектами JPA. Особое внимание уделяется Hibernate SchemaManagementTool, который позволяет генерировать сценарии DDL и проверять совместимости сопоставлений JPA с базовой схемой базы данных. Еще есть рекомендация использовать инструмент автоматического управления схемой, например Flyway, для полноценного управления схемой базы данных.

Любопытные подкасты

Podlodka #323 — Языки конфигураций. Выпуск про языки, основная задача которых — представлять данные в определенном формате: yml, json, xml и так далее. В первой половине приводится небольшой исторический экскурс, вторая же сконцентрирована на конкретных языках. Описаны их преимущества, недостатки и кейсы использования.


Javaswag #49 — Владимир Швец — от Джуна до Сеньора, как выжить в IT

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

Просто интересное

Cognitive Load Developer’s Handbook. Принцип KISS — один из основополагающих в современном программировании. Он говорит о том, что писать код нужно максимально просто. Многие разработчики слышали, что не стоит создавать слишком длинные цепочки наследования, бого-классы с большим количеством ответственности, условные выражения с большой вложенностью и подобное. 

Во время мыслительного процесса человек оперирует фактами — это когнитивная нагрузка. Например, как чтение кода. В репозитории собирают примеры, как держать под контролем когнитивную нагрузку, порождаемую кодом, ведь после определенного порога мозг перестает эффективно обрабатывать информацию. Рекомендуем ознакомиться и, возможно, законтрибьютить, если у вас есть свои примеры.

Также из своей криокамеры вылез Олег Чирухин с новым выпуском своего Java-дайджеста за начало июля. Рекомендуем 🙂

Спасибо, что читаете! Ждем обратную связь в комментариях ✌️

P.S. Хотим поблагодарить наших коллег, которые помогали собирать материалы. Вы потрясающие! 😊

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

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

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

Итак, давайте взглянем на технологические тенденции, которые разработчики Java должны изучить в 2021 году. отлично работает с Java. Они хотят использовать обе технологии, чтобы повысить эффективность разработки приложений. Таким образом, важно, чтобы Java-разработчики расширяли свои возможности и понимание использования Java DevOps.

Вам должно быть интересно, что такое Java DevOps? На самом деле это концепция, которая просто применяет практику DevOps к разработке Java-приложений. Благодаря такому сочетанию не будет необходимости разделять команды при создании Java-приложений.

Источник изображения

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

Но прежде чем изучать Java DevOps, у вас должен быть опыт веб-разработки на Java, так как это требует от вас настройки среды, автоматизации и разработки заново с нуля. В самом деле, вам придется проявить большую страсть к Master Jenkins CI и получить опыт работы с такими инструментами DevOps, как Git, Ansible, Docker, Puppet, Jenkins, Chef, Nagios и другими.


Кроме того, если вы хотите использовать DevOps для своего бизнес-решения, свяжитесь с компанией, занимающейся веб-разработкой Java, которая обеспечивает превосходное качество разработки программного обеспечения, ориентированного на бизнес.

2. Git

Возможно, вы много слышали о GitHub и уже знаете, что в наши дни это самое интересное для разработчиков. GitHub и более 40 миллионов пользователей по всему миру по состоянию на январь 2020 года. И! Излишне говорить, что этот показатель увеличивается с каждым днем.

На самом деле, Git — это мощная технология с более чем 190 миллионами репозиториев, из которых 28 миллионов являются общедоступными. Короче говоря, это огромный массив исходного кода по всему миру. GitHub уже много лет доступен по всему миру, и многие разработчики используют его с Eclipse, но большинству из них сложно освоить Git в командной строке.

Источник изображения

Это правда, что лишь немногие программисты в мире имеют опыт работы с Git. Но! Вы должны знать, что спрос растет, и просто для того, чтобы постоянно побеждать в конкурентной борьбе, вы должны изучить GitHub. В настоящее время доступно так много онлайн-учебников, из которых вы можете изучить GitHub по очень выгодной цене. Варианты обучения для GitHub: Coursera, Udemy и

Помните, что компании переносят свои программные приложения с SVN, CVS на Git. Таким образом, самое время освоить GitHub и получить конкурентные преимущества как в битвах за работу, так и в рабочем пространстве.

3. Машинное обучение

Самые захватывающие впечатления в мире создаются с помощью алгоритмов искусственного интеллекта и машинного обучения. От беспилотных автомобилей до умной бытовой техники — ничто не может стать реальностью без использования AI/ML.

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

Источник изображения

Для использования Java и ML вы можете использовать несколько инструментов, таких как  Apache Spark   MLib, Deep Learning For Java, ELKI, JSAT, Java ML,  и другие.

4. Java 9,10,11,12 до 15

Если вы работаете с Java для разработки веб-сайтов или мобильных приложений, вы должны знать, что это обширная технология с несколькими версиями, доступными с расширенными возможностями. функции. Хотя некоторые разработчики работают над примитивной Java 8, они недостаточно знакомы с функциями Java 9. , 10 и более.

Если говорить только о Java 9, в ней есть ряд замечательных возможностей для разработчиков, таких как Jigsaw, модули, Reactive Streams, клиент HTTP 2, Process API, и многое другое. И! Его последняя версия Java 15.0 включает такие функции, как Records, Sealed Classes, Hidden Classes, API внешней памяти, сборщик мусора, и многие другие. Сходным образом. Java 10 позволяет использовать var для динамической типизации.

Источник изображения

Отсюда видно, что даже в Java есть чему поучиться. Вы можете легко найти руководство для них, но рекомендуется проверить Java Oracle Tutorials  , чтобы глубоко понять каждую концепцию.

5. Мобильные технологии

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

Создание приложений для Android с использованием Java — это многолетняя практика, но теперь в этой области достигнуты значительные успехи. Например, создание приложений для Android, способных подключаться к носимым устройствам.

I mage source

Вы должны знать, что существует так много новых языков программирования, которые можно использовать для создания простых приложений для Android, таких как ReactJS, Kotlin, и других. Таким образом, как разработчик Java, вы должны быть лучшими в этой области.

Java — это мощный язык программирования, широко используемый в приложениях корпоративного уровня. В то время как предприятия стремятся к носимым и интеллектуальным приложениям Android для работы с интеллектуальными устройствами,  у вас должен быть опыт создания такого мощного приложения для Android.

6. Spring Framework 5

Spring — самая популярная и уважаемая среда для создания Java-решений. Таким образом, эволюция этой структуры очевидна. Его последняя версия — Spring Framework 5.3.1.

Эта платформа получила так много новых функций, как собственные исполняемые файлы Spring на GraalVM, Spring Data R2DBC, многоплатформенная сериализация Kotlin, коннектор WebClient для Apache HTTPComponents 5 и другие.

Источник изображения

Все эти обновления важны и могут оказаться необходимыми для развертывания разработчиками в 2021 году. Таким образом, крайне важно, чтобы вы записались на курсы Spring 5.0.

7. Spring Security 5.0

Вы слышали о Spring Security? Это основная эволюция весенней экосистемы. Собственно, Spring Security — это Java-фреймворк, предназначенный для усиления безопасности корпоративных приложений. Он предлагает авторизацию, аутентификацию и многие другие функции безопасности, которые объединяют безопасность программного обеспечения/приложений и являются мощным инструментом для задержания нарушений.

В пятом стабильном выпуске исправлено несколько ошибок и добавлен модуль OAuth 2, который разработчики не должны избегать изучения. Безопасность Spring можно разделить на три категории:

  • Spring Security Kerberos

  • Spring Security OAuth

  • Spring Security SAML

Источник изображения

Изучение всех этих аспектов безопасности Spring может помочь вы ищете лучшую возможность для  программистов Java на работу  с легкостью, поскольку первоочередной задачей каждого предприятия является защита своих данных. И так, чего же ты ждешь? Запишитесь на курсы Spring Security.

8. Spring Boot 2

Три Spring подряд, разве это не удивительно? В этом прелесть Java с Spring.

Spring Boot Framework — еще один токен для разработки Java, который в основном используется для разработки микросервисов. Pivotal Team разработала это приложение, которое используется для разработки готовых к использованию и автономных приложений Spring.

Источник изображения

Последняя версия этой серии — Spring boot 2.2. Вы можете легко изучить его в Интернете, так как доступно множество курсов, и если вы уже знаете о разработке микросервисов, это будет легким шагом в 2021 году.

9. Angular и ReactJS

Кто не знает об Angular и ReactJS? На мой взгляд, сейчас мы находимся в сфере Angular и ReactJS. Вы можете обнаружить, что любая из этих двух технологий является частью разработки почти каждого веб-приложения.

По многим веским причинам Angular внезапно стал использоваться с Java, C#, PHP, Python и многими другими технологиями. Тогда почему бы не прыгнуть в эту реальность и не показаться зверем?

Источник изображения

Как разработчик Java вы уже использовали бы JSP, Servlet, jQuery. Но! Сейчас время перемен, и вы должны изучить Angular или React.

Angular — это фреймворк, который обрабатывает «представление» в разработке MVC и позволяет создавать привлекательные и привлекательные интерфейсы UI/UX. Хотя React — это библиотека JavaScript, которая используется для внешнего интерфейса или приложения (пользовательские интерфейсы), она предлагает большой список компонентов, облегчающих разработку.

10. Веб-службы RestFul

Если вы разработчик, вы наверняка слышали о веб-службах RestFul. Это самый популярный API в сфере разработки Java-приложений. Являясь спецификацией Jakarta EE API, она предлагает новаторскую поддержку в создании веб-сервисов в соответствии с архитектурным шаблоном Representational State Transfer. Это упрощает развертывание и разработку клиентов и конечных точек веб-сервисов.

Источник изображения

В 2021 году вы должны научиться писать REST API и реализовывать масштабируемые веб-сервисы в своем проекте с помощью Spring. Чтобы узнать это, вы можете взять REST of Spring MasterClass, созданный Евгением Параскивом.

В целом, для повышения производительности ваших приложений внедрение REST API — надежный метод. Итак, наймите специального разработчика пользовательских приложений, который поможет вам эффективно реализовать веб-сервисы REST.

11. Docker и Kubernetes

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

Вам нужно знать, что Docker — это платформа, в основном используемая для создания, распространения и запуска контейнеров Docker. В то же время Kubernetes — это система оркестрации контейнеров, разработанная для контейнеров Docker для эффективной координации кластеров узлов в производстве.

Источник изображения

В наши дни они широко используются в командах разработчиков как на крупных, так и на малых предприятиях и даже в стартапах. Если вы хотите преуспеть, вы должны изучить Docker и Kubernetes в 2021 году. Вы можете предпочесть посещать онлайн-курсы на таких сайтах, как Udemy или Coursera.

12. Облачные вычисления

Кто из разработчиков в 2021 году хочет научиться интеграции с облачными технологиями? Поскольку облачные технологии пользуются большим спросом, разработчики Java должны научиться создавать и интегрировать облачные решения в 2021 году, чтобы идти в ногу с меняющимися потребностями отрасли.

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

Источник изображения

Кроме того, он процветает на рынке благодаря множеству вакансий. Итак, вы должны подумать об изучении Cloud.

Wrap

Это были некоторые основные области, в которых Java-разработчики могут развивать свои навыки и расти с обеспеченным будущим. В то время как предприятия стремятся нанять преданных разработчиков Java-приложений, они также ищут тех, кто может реализовать современные технологические тенденции в своих приложениях, учитывая футуристический подход.

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

Studio — Статический анализ кода для C, C++, C# и Java / Статьи / Хабр

Профиль Блог 256 Подписчики 56К Сотрудники 24

Показать сначала

Столяррр

Время чтения 4 мин

Просмотров 514

Корпоративный блог PVS-Studio C++ *

Разработчики PVS-Studio часто проверяют open-source проекты и пишут об этом статьи. Иногда при написании статьи мы сталкиваемся с интересными ситуациями или эпичными ошибками. Конечно же, мы хотим написать об этом небольшую заметку. Это один из таких случаев.

Подробнее

Всего голосов 2: ↑1 и ↓1 0

Комментарии 0

г-н Дворжак

Время чтения 3 мин

Просмотров 787

Корпоративный блог PVS-Studio Visual Studio *DevOps *Разработка для Windows *

Каждый, кто впервые запускает статический анализатор на проекте, слегка шокирован сотнями, тысячами и даже десятками тысяч предупреждения. Это может быть неприятно. Мой код такой ужасный? Или анализатор врет? В любом случае, фильтрация по серьезности меняет ситуацию, хотя и не полностью. Вот почему мы подумали о том, как мы могли бы улучшить первый опыт работы с анализатором. Позвольте мне показать вам новую функцию шаг за шагом…

Подробнее

Всего голосов 2: ↑2 и ↓0 +2

Комментарии 0

Андрей2008

Время чтения 3 мин

Просмотров 630

Корпоративный блог PVS-Studio Программирование *


На сайте stackoverflow.com мы часто видим вопросы о том, как искать ошибки определенного типа. Мы знаем, что PVS-Studio может решить эту проблему. К сожалению, приходится молчать. В противном случае модераторы StackOverflow могут счесть это явной попыткой продвижения нашего продукта. В данной статье описан частный случай такой ситуации, которая заставляет нас глубоко страдать.

Подробнее →

Всего голосов 2: ↑1 и ↓1 0

Комментарии 0

Фиренсис

Время чтения 9 мин

Просмотров 1.1K

Корпоративный блог PVS-Studio Информационная безопасность *.NET *C# *

Категория A9 OWASP Top Ten 2017 (которая стала A6 в OWASP Top Ten 2021) посвящена использованию компонентов с известными уязвимостями. Чтобы охватить эту категорию в PVS-Studio, разработчикам необходимо превратить анализатор в полноценное SCA-решение. Как анализатор будет искать уязвимости в используемых компонентах? Что такое СКА? Попробуем найти ответы в этой статье!

Подробнее

Рейтинг 0

Комментарии 0

DstRoses

Время чтения 6 мин

Просмотров 2.2K

Корпоративный блог PVS-Studio .NET *C# *

В этой статье рассказывается о новой версии языка C# — C# 10. По сравнению с C# 9, C# 10 содержит небольшой список улучшений. Ниже мы описали улучшения и добавили поясняющие фрагменты кода. Давайте посмотрим на них.

Подробнее

Рейтинг 0

Комментарии 0

Андрей2008

Время чтения 12 мин

Просмотров 1.6K

Корпоративный блог PVS-Studio Информационная безопасность *Программирование *C++ *C *


Современные приложения имеют много кода. И язык C++ не становится проще. В настоящее время проверки кода недостаточно для полного анализа программного кода. Здесь на помощь приходит статический анализ кода.

Подробнее →

Всего голосов 3: ↑2 и ↓1 +1

Комментарии 0

Андрей2008

Время чтения 4 мин

Просмотров 344

Корпоративный блог PVS-Studio


Мы активно развиваем инструмент статического анализа PVS-Studio для выявления ошибок, связанных с безопасностью. Точнее, мы расширили охват стандартов MISRA C:2012 и OWASP ASVS. Мы поддержали стандарт MISRA Compliance 2020. Одним из самых необычных нововведений является режим отображения Best Warnings. В этом режиме отображаются наиболее значимые (содержательные) предупреждения, и он может быть полезен, когда вы только начинаете работу с анализатором.

Подробнее →

Рейтинг 0

Комментарии 0

Андрей2008

Время чтения 16 мин

Просмотров 962

Корпоративный блог PVS-Studio Информационная безопасность *Открытый код *C++ *Компиляторы *


Коммерческие статические анализаторы выполняют более глубокий и полный анализ кода по сравнению с компиляторами. Посмотрим, что нашел PVS-Studio в исходном коде проекта LLVM 13.0.0.

Подробнее →

Всего голосов 1: ↑1 и ↓0 +1

Комментарии 0

г-н Дворжак

Время чтения 4 мин

Просмотров 1.5K

Корпоративный блог PVS-Studio Тестирование ИТ-систем *ИТ-карьера Будущее уже здесь

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

Подробнее

Всего голосов 1: ↑1 и ↓0 +1

Комментарии 0

Mixxxxa

Время чтения 7 мин

Просмотров 883

Корпоративный блог PVS-Studio Информационная безопасность *Java *C++ *C# *

Впервые в PVS-Studio реализована поддержка классификации CWE в версии 6. 21. Он состоялся 15 января 2018 года. С тех пор прошли годы, и мы хотели бы рассказать вам об улучшениях, связанных с поддержкой данной классификации в последней версии анализатора.



Подробнее →

Рейтинг 0

Комментарии 0

MrROBUST

Время чтения 10 мин

Просмотров 791

Корпоративный блог PVS-Studio C++ *Visual Studio *Разработка для Windows *

В мае 2021 года CppCast записал подкаст под названием «Стабильность ABI» (CppCast #300). В этом подкасте Маршалл Клоу и ведущие обсудили довольно старую новость — компиляторы Visual Studio поддерживают инструмент AddressSantitzer. Мы уже давно интегрировали ASan в нашу систему тестирования. Теперь мы хотим рассказать вам о паре интересных ошибок, которые он нашел.

Подробнее →

Всего голосов 4: ↑3 и ↓1 +2

Комментарии 0

ВалерийКомаров

Время чтения 23 мин.

Просмотров 4K

Корпоративный блог PVS-Studio Программирование *.NET *Visual Studio *C# *

Учебник

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

Подробнее

Всего голосов 2: ↑1 и ↓1 0

Комментарии 0

Какаду

Время чтения 11 мин

Просмотров 1.1K

Корпоративный блог PVS-Studio C++ *ИТ-стандарты *C *Программирование микроконтроллеров *

Пару лет назад анализатор PVS-Studio получил первые диагностические правила для проверки соответствия программного кода MISRA C и стандарты MISRA C++. Мы собрали отзывы и увидели, что наши клиенты заинтересованы в использовании анализатора для проверки своих проектов на соответствие MISRA.

Поэтому мы решили дальше развивать анализатор в этом направлении. Статья посвящена стандарту MISRA C/C++ и отчету MISRA Compliance. Там же показано, что нам уже удалось сделать и чего мы планируем достичь к концу года.

Подробнее →

Рейтинг 0

Комментарии 0

СергВасильев

Время чтения 7 мин

Просмотров 2.8K

Корпоративный блог PVS-Studio Информационная безопасность *.NET *Visual Studio *C# *

IDE будет 64-битной. Мы так долго этого ждали — больше никаких ограничений памяти в 4 ГБ! Однако, как оказалось, не все так просто…

Подробнее →

Всего голосов 2: ↑2 и ↓0 +2

Комментарии 0

ИчНикола

Время чтения 5 мин

Просмотров 698

Корпоративный блог PVS-Studio Информационная безопасность *C++ *C *Программирование микроконтроллеров *

Если вы сильно заинтересованы в MISRA и хотите понять, соответствует ли ваш проект одному из стандартов ассоциации MISRA, есть решение. Это имя MISRA Compliance. Недавно PVS-Studio научилась генерировать отчет MISRA Compliance. В этой статье описывается, как вы можете использовать эту функцию. Это может сделать чью-то жизнь лучше.

Подробнее

Рейтинг 0

Комментарии 3

ИчНикола

Время чтения 6 мин

Просмотров 1K

Корпоративный блог PVS-Studio

Не всем нравится работать в поддержке. Многие люди, работающие там, испытывают эмоциональное выгорание. Так может быть, компании вообще не должны иметь никакой поддержки? Как они извлекают из этого выгоду? Есть ли способ предотвратить выгорание во время работы в поддержке? Попробуем найти ответы.

Подробнее

Всего голосов 3: ↑2 и ↓1 +1

Комментарии 2

серг2010серг2010

Время чтения 6 мин

Просмотров 1. 6K

Корпоративный блог PVS-Studio Open source *C++ *C *Разработка для Linux *

25 августа 2021 года ядро ​​Linux отметило свое 30-летие. С тех пор он сильно изменился. Мы тоже изменились. В настоящее время ядро ​​Linux — это огромный проект, которым пользуются миллионы. Мы проверяли ядро ​​5 лет назад. Итак, мы не можем пропустить это событие и хотим еще раз взглянуть на код этого эпического проекта.

Подробнее

Всего голосов 2: ↑2 и ↓0 +2

Комментарии 0

ВалерийКомаров

Время чтения 11 мин

Просмотров 2K

Корпоративный блог PVS-Studio Информационная безопасность *Программирование *.NET *C# *

XSS — или межсайтовый скриптинг — одна из самых распространенных уязвимостей в веб-приложениях. Он уже некоторое время находится в списке OWASP Top 10 (список наиболее серьезных угроз безопасности для веб-приложений). Итак, давайте вместе разберемся, как ваш браузер может получить и выполнить скрипт со стороннего сайта, и к чему это может привести (спойлер: ваши куки могут быть украдены, например). И пока мы на этом, мы поговорим о том, как вы можете защитить себя от XSS.

Подробнее

Всего голосов 1: ↑1 и ↓0 +1

Комментарии 1

вханиева

Время чтения 14 мин

Просмотров 2K

Корпоративный блог PVS-Studio Программирование *.NET *C# *Разработка для Office 365 *

Учебник

С выпуском .NET5 дальнейшее развитие некоторых проектов было под вопросом из-за сложности переноса. Можно отказаться от небольших устаревших библиотек или найти замену. Но сложно выбросить Microsoft.Office.Interop.Word.dll. Microsoft не планирует добавлять совместимость с .NET Core/5+, поэтому в этой статье мы сосредоточимся на создании файлов Word с помощью Open XML SDK.