TGViewer
Channel Public Channel
feelin

feelin

@feelindev

Разработка, чистый код, AI, безопасность — и ещё миллион тем для холиваров.

Авторский канал Валерия Филатова, Developer Advocate и Project Lead в PVS-Studio.

По вопросам: @feeeeelin
Subscribers
47
Photos
90
Videos
3
Links
168

Showing posts older than #145 · Back to latest

Older Posts 17 shown
Post #144 76
😎 Регулярный статический анализ в Татарстане

В конце апреля я выступил на конференции Merge Tatarstan 2025 , которая прошла в Иннополисе. Это уже вторая конференция серии Merge, в которой я участвую в качестве спикера — в прошлый раз речь шла о внедрении статического анализа в CI/CD на площадке Сколково. И думаю, что этот раз не был последним :)

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

После выступления также обсудили с участниками всякие интересные вопросы, например, применение статического анализа в машинном обучении и даже возможность (невозможность) замены традиционного статического анализа на AI-альтернативы.

Также помимо основного доклада удалось поучаствовать в других активностях: общался с посетителями на стенде, дал интервью о своих впечатлениях от Иннополиса и формата конференции, а ещё рассказал о возможностях статического анализатора PVS-Studio прямо с демо-сцены. Проще говоря, случился некоторый праздник продуктивности :)

Можно задать логичный вопрос: "А чего ты про это спустя несколько месяцев вспомнил?"

А всё просто, мы выложили запись моего доклада с Merge Tatarstan 2025 и её можно посмотреть по ссылке.

🎤 feelin
PVS-Studio Регулярный статический анализ. Не только полезно, но и необходимо | Merge Tatarstan 2025 Зачем нужен статический анализ кода, как он помогает находить потенциальные уязвимости и ошибки? Почему регулярность его проведения — это не просто прихоть, а требование российских стандартов? И главное — как организовать регулярный статический анализ так…
  • 🔥 4
  • 🍓 1
Post #143 120
🔥 История Java

Итак, этот час настал! Я опубликовал финальную часть цикла статей об истории языков программирования. В этот раз про Java. Недавно языку стукнуло целых 30 лет, так что ещё и в круглую дату лишь слегка не попал :)

В новой публикации смотрим на самые важные этапы в становлении Java тем самым языком программирования, который мы знаем.

Из таких событий, например:
- LTS версии Java - с каждым разом всё серьёзнее
- Spring - потепление в Enterprise-разработке на Java
- Maven и Gradle - слон и перья
- Java и марсоходы - как тебе такое, Илон Маск?

Читать:
- на русском
- на английском

Помимо радости за выход новой публикации должен также поделиться радостью по поводу завершения такого большого проекта. От идеи, появившейся при вечерней прогулке после отчитанных студентам двух лекций, до результата прошло целых 10 (!) месяцев. Дело не только в трудоёмкости: между публикациями цикла было написано ещё много всякого разного, потому что залпом написать четыре таких громадных и серьёзных текста - я бы не выжил.

В любом случае, скоро придумаем что-нибудь ещё :)

Делюсь ссылками на все предыдущие публикации цикла, если вдруг вы что-то из этого пропустили:
- История C и C++. Часть первая: появление и стандартизация C, C with Classes становится C++
- История C и C++. Часть вторая: стандартизация C и C++, Qt, Clang, Unreal Engine
- История C#: эволюция версий, .NET, Unity, Blazor, MAUI

🎤 feelin
Хабр История Java: развитие, изучение Марса, битва с Microsoft, Spring, Gradle и Maven, IntelliJ IDEA и Eclipse От появления до покорения Красной планеты. В этой статье — история языка Java: от первых шагов и битвы с Microsoft до инструментов, без которых не обходится ни один Java разработчик. И да, вы узнаете,...
  • 🔥 5
  • 🍓 1
Post #142 92
📞 Внезапный техноблог

Пару месяцев назад я решил сменить свой старый Huawei на что-то более современное. Выбор был непростым, но в итоге остановился на Google Pixel 9. Признаюсь, сыграло свою роль то, как Google раскручивает тему искусственного интеллекта — в какой-то момент стало казаться, что это действительно может быть интересно.

Что могу сказать в итоге?

Всё работает очень быстро. Иногда даже чересчур — после предыдущего телефона, где задержки были нормой, здесь создаётся ощущение, что ты сам тормозишь, а не устройство. Это странное чувство, но приятное.

120 Гц и OLED — да, разница заметна. Apple не скоро увидят меня в списке своих пользователей, ведь IPhone всё также имеет частоту обновления 60 Гц :)
Плавность восприятия стала другим уровнем. Листать, переходить между приложениями — всё невероятно резво.

Поигрался с функциями искусственного интеллекта — пару дней, от любопытства. Сгенерировал обои через встроенное приложение, один раз попробовал поставить будильник голосом, но на постоянной основе AI возможности звонилки не использую. Причин несколько: во-первых, в России Gemini официально не доступен, нужен DNS или прокси, и пока лениво с этим разбираться. Во-вторых, дома у меня уже есть Алиса — она выполняет похожие задачи и при этом управляет большим количеством устройств. Но возможно, со временем буду пользоваться искуственным идиотом на телефоне активнее, Google недавно выкатили Android 16, и в ней появилось чуть больше функций для AI, которые я пока особо не пробовал.

Один из самых приятных сюрпризов — камера. Фотографирует Pixel 9 действительно хорошо. Из-за этого стал больше обращать внимание на окружение и чаще делать снимки. Да и качество картинки в этом канале тоже выросло — так что, если кто заметил, теперь почти всё "на пикселе".

Единственная возможная проблема - чип от Samsung, который прям заметно греется. Но говорят, что уже в 10-м пикселе от них перейдут к чипам от TSMC. Посмотрим, правда или нет.

В общем и целом, рекомендасьон!

P. S. На фото вид из окна отеля в Новосибирске :)

🎤 feelin
  • 👍 4
  • 🍓 1
Post #141 95
👽 Надеваем шапочки из фольги!

Выпустил статью с разбором разного интересного, что нашлось в исходном коде проекта, написанного не абы где, а в NASA! Проект написан на Java (небольшой спойлер к следующей статье), и содержит много как ошибок, так и просто забавностей.

Читать:
- на русском
- на английском

🎤 feelin
Хабр Как NASA ошиблись в исходном коде планеты Баги в коде — явление нередкое, но сегодня мы исследуем не просто ошибки, а настоящие космические баги! Что скрывает проект, созданный в недрах NASA? Готовьте свои шапочки из фольги! WorldWind Java —...
  • 🤯 2
  • 🍓 1
Post #139 113
💪 Ни шанса для багов!

В эту среду провели совместный вебинар с Семёном Кашиным из Inseq. Пообщались на тему регулярного статического анализа, а также вообще того, как должен выглядеть конвейер безопасной разработки.

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

Welcome!

🎤 feelin
PVS-Studio Регулярный статический анализ по ГОСТу Разобрали часть требований стандартов 56939-2024 и 71207-2024 в части регулярного статического анализа, объяснили, как выстроить этот самый регулярный статический анализ в рамках РБПО, автоматизировать его через системы CI и значительно ускорить пайплайн…
  • 🔥 1
  • 🍓 1
Post #138 126
😍 Посмотрите, какая красота!

Вышла первая бета-версия Python 3.14, в которой завезли целый список различных изменений. Возможно, про какие-нибудь ещё поговорим позже, но про одно прям-таки не могу молчать :)

Завезли PEP 750 - шаблонные строки. По сути своей штука до боли знакома: если не копать в подробности, то это та же самая f-строка, которая позволяет подставлять значения в строку по определённому образцу:

name = "World"
template = t"Hello {name}"

print(template) # Hello World


Зачем, казалось бы, ещё одна реализация f-строк? А дьявол кроется в деталях! На самом деле разница между f-строками и шаблонными строками состоит в том, какой тип мы получаем в результате выполнения: при вычислении значения f-строки мы в итоге получим готовую строку, а при вычислении шаблонной строки - объект класса Template (лежит в string.templatelib), с которым далее мы можем творить всякие интересности.

Смысл сей магии в том, что теперь в языке появилась собственная гибкая обработка строк, позволившая делать проверки безопасности (привет, taint-анализ), колдовать с веб-шаблонами и всякое подобное.

Например, мы можем доставать из шаблонной строки её части, а также конкретные интерполированные значения:

name = "World"
template = t"Hello {name}"
assert template.strings[0] == "Hello "
assert template.interpolations[0].value == "World"


Также есть возможность достать из такой строки изначально подставленное значение:

name = "World"
template = t"Hello {name}"
assert template.interpolations[0].expression == "name"


Помимо этого, шаблонные строки поддерживают мини-язык format specification (поле format_spec типа Template).

🎤 feelin про #Python
  • 🤩 1
  • 🍓 1
Post #137 94
🤯 Технотекст 7

Ребята из Хабра опубликовали шортлисты номинаций конкурса технических статей "Технотекст" этого года. В этом посте хочу поделиться текстами моих коллег из PVS-Studio, которые попали в финальную выборку своих номинаций.

Программирование: std::array в С++ быстрее массива в С. Иногда
На самом деле эта статья - часть большого цикла, в котором Антон сравнивает std:array и встроенные массивы в C++. Мы в компании прозвали этот цикл "Массивной трилогией". Довольно интересные тексты, хоть и умеренная техножесть :)

- Ненавижу, _____, C++ массивы
- std::array в С++ не медленнее массива в С
- std::array в С++ быстрее массива в С. Иногда

Программирование: О том, как легкомысленное использование полиморфных аллокаторов может испортить вам жизнь
Статья, в которой Гриша рассказывает о том, как полиморфные аллокаторы могут навредить вашему коду. Если предыдущую статью я назвал умеренной техножестью, то здесь можем избавиться от слова "умеренная" :)

О том, как легкомысленное использование полиморфных аллокаторов может испортить вам жизнь

Информационная безопасность: Поиск потенциальных уязвимостей в коде, часть 1: теория
Ну и текст из номинации "Информационная безопасность". В своей статье Костя рассказывает о том, как работает поиск потенциальных уязвимостей с помощью статических анализаторов. В первой части теория, а во второй практика.

- Поиск потенциальных уязвимостей в коде, часть 1: теория
- Поиск потенциальных уязвимостей в коде, часть 2: практика

🎤 feelin
  • 🍓 1
Post #136 68
😢 Ушла эпоха

Заголовок ни капли не преувеличивает важности произошедшего события. Сегодня Microsoft официально прекратили поддержку Skype.

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

Я впервые использовал Skype для поигрулек с друзьями в далёком 2011. Помимо этого Skype за неимением альтернатив был удобным средством общения с близкими, которые территориально находились далеко.

Однако помимо легендарности стоит сказать и о том, что причиной смерти сервиса стало его моральное устаревание. Помню, меня как-то позвали созвониться в Skype в те времена, когда все вокруг уже пользовались Discord, и было понятно, насколько Skype стар. Непонятные длиннющие ID в профиле вместо никнеймов, постаревший не очень понятный интерфейс. А самое главное, что владельцы в лице Microsoft всячески пытались сделать Skype частью своей бизнес экосистемы, как будто и не поняв, чего именно они от него хотят (ИМХО).

Press F to pay respect.

🎤 feelin
  • 🍓 1
  • 🫡 1
Post #132 108
🤩 Сан Франциско в Татарстане

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

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

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

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

Валерий Костин, основатель IT-конференции Merge недавно выпускал на Хабре статью о том, чем и как живёт Иннополис, там больше по теме и это довольно интересно почитать.

🎤 feelin
  • 🔥 2
  • 🍓 1
Post #130 86
🧑‍🎓 История C#

Следующая часть из цикла статей про историю языков. В этот раз смотрим на то, как жил и живёт C#: версии языка, .NET, Unity, MAUI, Windows Presentation Foundation (WPF), Blazor.

Честно сказать, статья была трудной в плане написания, и в итоге вышла довольно объёмной (Хабр показывает 19 минут чтения). Но даже при таком объёме, естественно, подборка событий в истории языка остаётся субъективной и не охватывает каких-то пунктов, поэтому буду рад вашим дополнениям в комментариях здесь или на Хабре.

Читать:
- на русском
- на английском

🎤 feelin
  • 🔥 3
  • 🍓 1
Post #127 86

Forwarded from Профессиональная ИТ-конференция Синтез | Merge

DevOps-секция на Merge в Татарстане

Что, если ваши метрики обманывают вас? Как выбрать идеальный язык для DevOps? Почему автоматизация иногда создаёт больше проблем, чем решает?

На секции DevOps вас ждут ведущие эксперты и актуальные темы:

🔹 Владимир Гурьянов (Флант) — «Prometheus. Что есть реальность?»
Как избежать ловушек «ложных» метрик и правильно интерпретировать данные систем мониторинга.

🔹 Константин Аристов (Скала^р) — «Как выглядят DevOps-практики за пределами разработки ПО»
Что происходит, когда DevOps выходит за рамки IT и применяется в реальном производстве?

🔹 Алиса Кириченко (Лаборатория Числитель) — «Эволюция RBAC в Kubernetes: от ванили в мультикластер»
Как правильно управлять доступами в Kubernetes и не терять контроль.

🔹 Лев Немировский (ПСБ) — «Как выбрать правильный язык для DevOps-задач: от скриптов к инженерным решениям»
Bash, Python, Go, Ruby — что выбрать и когда? Практические кейсы и инженерный подход.

🔹 Валерий Филатов (PVS-Studio) — «Регулярный статический анализ: не только полезно, но и необходимо»
Почему статический анализ кода — must-have в современных проектах.

🔹 Евгений Харченко (Райффайзен Банк) — «CI/CD для Python-приложений: от версионирования до миграций»
Как правильно организовать пайплайн и не сломать продакшен.

🔹 Александр Татаринцев (Промсвязьбанк) — «Мания перевозки инфраструктуры: зачем все куда-то переезжают?»
Почему компании так часто меняют инфраструктуру, и всегда ли это оправдано? Разбор реальных кейсов переезда ПО, неожиданных проблем и ключевых выводов.

💡 Для кого? Разработчики, DevOps-инженеры, архитекторы, тимлиды и все, кто строит и поддерживает инфраструктуру.

📅 25-26 апреля | Иннополис

🎟 Купить билет
🔗 Программа

Будет интересно и полезно! 🚀
  • 🍓 1
Post #126 68
🤨You have been spotted

В эту субботу выступаю на Merge Tatarstan 2025 в Иннополисе. Буду рассказывать про то, как нужно готовить регулярный статический анализ в своём докладе Регулярный статический анализ. Не только полезно, но и необходимо.

🎤 feelin
  • 🍓 1
Post #124 103
🧑‍🎓 Статический анализ как процесс

Тула! Увидимся на митапе про статический анализ, на котором подробно обсудим следующие вопросы:

— Что такое статический анализ и какие ошибки он помогает находить?
— Что такое Static Application Security Testing (SAST)?
— Почему статический анализ нужно выполнять регулярно?
— Какие требования к статическому анализу по российским стандартам?
— Практические аспекты внедрения и автоматизации

Где?
Лекторий общества "Знание" на 4-м этаже творческого индустриального кластера "Октава"

Когда?
17 апреля в 19:00

Регистрация по ссылке.

🎤 feelin
  • 🔥 4
  • 🍓 1
Post #123 73
🏋️‍♀️ Ловим баги IRL

В прошедшие выходные я отменил отдых, потому что была более важное событие - конференция Heisenbug Spring 2025. Конференция посвящена тестированию, но это не единственная тематика на самом деле :)

За два дня удалось сделать много всякого разного: и пообщаться с большим количеством разных интересных людей, и походить на доклады (хоть и совсем немножко), и послушать музыки на афтерпати (спасибо Ozon, что добавили в треклист Rammstein 🤟).

А на фото я с единственным и неповторимым Андреем Коняевым. Утро второго дня началось с невероятно интересного доклада про математику

🎤 feelin
  • 🔥 3
  • 🍓 1
Post #122 68
🤧 It's over!

Посмотрите на довольные лица людей вокруг меня на этом фото. Они терпели меня больше года, пока учились на курсе "Веб-разработка на Python", а неделю назад защитили дипломные проекты.

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

Я же как специалист в работе преподавателя нашёл множество всякого интересного: тут и софты можно было подпрокачать, и менеджерские скиллы подразвить, и научиться работать с материалом, и много-много всякого другого.

Ребятам удачи, надеюсь, что потраченное время приведёт к желаемому результату - работе в нашей родной айтишечке.

🎤 feelin
  • 🔥 5
  • 🍓 1
  • 👾 1
Post #121 69
👿 Microsoft и их баги

В прошедшую пятницу выпустил новую статью. В этот раз вернулся к любимому у нас в PVS-Studio формату проверок open source проектов. Несколько лет никто из наших ребят и девчонок не трогал PowerShell, поэтому настало время его просканить и посмотреть, чего там интересного.

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

Читать:
- на русском
- на английском

P. S. У меня забэкложился целый список всяких интересностей, которые произошли за последнее время. Поэтому начинаем марафон постов обо всём и вся :)

🎤 feelin
Хабр Инновационные технические решения и баги в исходном коде PowerShell PowerShell — известный инструмент от Microsoft. Но какие секреты сможет найти статический анализатор в его исходном коде? Посмотрим в этой статье. PowerShell — это инструмент автоматизации от...
  • 🔥 3
  • 🍓 1
  • 🦄 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →