Все потоки
Поиск
Написать публикацию
Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Почему китайская полимерная оптика есть, а в России её нет. В чём отличия технологий

Время на прочтение6 мин
Количество просмотров9.4K

Отдел продаж часто слышит один и тот же вопрос: «А оптика в камерах отечественная?» и им каждый раз немного неловко отвечать: нет, не отечественная.

Следом идёт неизбежный вопрос: «А почему?» И тут приходится объяснять неприятный момент: сегодня отечественная оптика в себестоимости стоит дороже, чем вся камера целиком. Но на этом разговор обычно не заканчивается. Чаще всего задают следующий вопрос: «А в Китае-то какая оптика стоит, тоже стеклянная?» И вот здесь начинается самое интересное. Китай давно перешел на полимерную (пластиковую) оптику для массового рынка. Для них это уже стандарт: не дорогая, легкая, быстрая в производстве.

Меня это зацепило. Почему у них массово работает то, что у нас даже не внедрено? В чём реальные барьеры и главное — можно ли всё это выстроить в российских реалиях?

Ниже я попробую разобраться в теме без академизма.

Читать далее

Ваш AI-ассистент уже слил ключи в облако?

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров964

Команда AI for Devs подготовила перевод статьи о том, как AI-ассистенты для написания кода одновременно ускоряют разработку и умножают риски. Исследование Apiiro показало: 4-кратный рост скорости сопровождается 10-кратным ростом уязвимостей. Вопрос открытый — готовы ли компании масштабировать не только продуктивность, но и риски?

Читать далее

Как мы в 1С-Битрикс подходим к работе с пентестерами

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров974

Привет! Снова подготовили для вас материал от Романа Стрельникова, руководителя направления по информационной безопасности 1С‑Битрикс. Сегодня поговорим про offensive security. Вокруг темы много споров — стоит ли контролировать подрядчиков, что выбрать — пентест или баг баунти, как определить квалификацию команды хакеров. В этом материале расскажу про наш подход к «наступательной безопасности» и дам пару советов о том, как получить максимум выгоды из работы с «этичными хакерами».

Читать далее

Технологии из прошлого: телетайп. Разбираемся в устройстве, воскрешаем старый аппарат

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров7.6K

Телетайп, телепринтер (teletype, TTY) — стартстопный приемо‑передающий телеграфный аппарат с клавиатурой, аналогичной пишущей машинке. В отличие от обычного телеграфа, где сообщение передается посимвольно, с помощью точек и тире, этот аппарат позволяет передавать текстовое сообщение, просто набирая его на клавиатуре. Также аппарат может принимать сообщение, печатая его на бумаге. Девайс широко применялся в качестве терминальных устройств вычислительной техники на заре ее становления. Благодаря этому факту эта технология оставила много артефактов в истории IT, многие из которых сохранились и до настоящего времени. Это различные компьютерные терминалы, терминалы tty в Linux, некоторые команды терминала и даже известный многим электронщикам и программистам интерфейс UART.

Читать далее

Кастомные WPF-контролы, часть 1: стили, кнопки и переключатели

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров1.4K

Относительно недавно мне поставили задачу разработать достаточно простое Windows приложение. При выборе технологии я решил использовать проверенный временем WPF, с которым я работал раньше. Как правило, при разработке WPF‑приложения, я использовал контролы от Telerik или DevExpress и разработкой своих контролов не занимался. Но в текущей ситуации приобрести их проблематично и не факт, что не будет проблем с лицензией в будущем. Проект, над которым я работал, небольшой, навороченных гридов в нем не было, поэтому я решил использовать то, что есть в WPF «из коробки». При этом потребуется написать DateTimePicker и доработать Button, ToggleButton, ComboBox и ListBox. Задача казалась не особо сложной. В результате все оказалось не все так просто и очевидно, как я думал. Это навело меня на мысль написать серию статей с описанием проблем, с которыми я столкнулся. Может быть это поможет другим разработчикам на наступать на те же грабли, что и я. В планах 3 статьи. В первой расскажу про подключение стилей и изменение дизайна у стандартных кнопки и переключателя. Во второй — про расширение функционала стандартного ComboBox и разработку DateTimePicker. В третьей про добавление в ListBox анимированного drag«n«drop, масштабирования и сортировки содержимого.

Читать далее

Меньше магии, больше кода: мой способ писать Django views

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.2K

Команда Python for Devs подготовила перевод статьи о том, как автор выбирает способ написания представлений в Django. Он считает, что обобщённые классовые представления (CBV) скрывают слишком много магии, усложняют чтение кода и отладку. Вместо них он использует базовый View, чтобы сохранять контроль, но при этом избегать громоздких if в функциях.

Читать далее

Векторный поиск в Elasticsearch: dense_vector, HNSW и фильтрация по атрибутам

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.2K

Привет, Хабр!

В современном поиске всё чаще используется поиск «по смыслу» с помощью векторных эмбеддингов. Вместо привычного анализа текста по словам мы представляем документы и запросы в виде многомерных векторов и ищем ближайших соседей по евклидовому или косинусному расстоянию. Это позволяет, например, находить документы, схожие по смыслу, а не только по точному совпадению слов. В Elasticsearch поддержка такого поиска реализована через поле dense_vector и алгоритм HNSW (Hierarchical Navigable Small World) для быстрого приближённого поиска ближайших соседей.

В этой статье разберём, как настроить индекс с векторным полем, добавить документы с векторами и выполнять запросы kNN с возможностью фильтрации по дополнительным атрибутам.

Читать далее

Книга «C# Concurrency. Асинхронное программирование и многопоточность» в правильном переводе команды DotNetRu

Время на прочтение5 мин
Количество просмотров5.9K

Сообщество DotNetRu совместно с издательством «Питер» завершило перевод книги Нира Добовицки «C# Concurrency». Мы тщательно выверили терминологию, сгладили стиль и сохранили точность оригинала. Это практическое руководство для тех, кто хочет уверенно проектировать конкурентные компоненты на .NET 8/9 — без догадок и шаманства.

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

Читать далее

Командная работа без выгорания: как вести IT-команду

Время на прочтение10 мин
Количество просмотров3.7K

Представьте идеальную IT-команду: блестящие специалисты, амбициозный проект, всё для успеха. Но проходит несколько месяцев, и что-то ломается. В чатах исчезают мемы и жаркие споры об архитектуре, остаются лишь сухие «залил пул-реквест». Разработчик, горевший своим делом, теперь молча соглашается с любым решением. Даже успешный релиз не хочется отмечать — будто это не победа, а просто конец очередного марафона.

Это не просто усталость. Это — тихое выгорание. Не громкий скандал, а методичный отказ системы. Не «я устал», а «мне всё равно». И самое тревожное, что менеджмент часто замечает проблему лишь с заявлением об уходе, когда человек мысленно уже месяц как не с нами.

Правда в том, что люди уходят не только из-за денег. Гораздо чаще — из-за ежедневного обесценивания, абсурдного контроля и ощущения бессмысленности. 58% IT-специалистов готовы на меньшую зарплату, но не готовы мириться с токсичной культурой управления (Harvard Business Review).

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

Читать далее

Как составить отчет по результатам тестирования на проникновение. Руководство для начинающих

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров939

Тестирование на проникновение (penetration testing, пентест) — один из ключевых инструментов обеспечения кибербезопасности. Важно помнить: сам процесс поиска уязвимостей — лишь половина работы. Настоящая ценность для заказчика заключается в грамотно оформленном отчете, который объясняет каким уязвимостям подвержен продукт или инфраструктура, насколько они опасны и что нужно сделать для устранения выявленных проблем.

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

Зачем нужен отчет о пентесте?

Многие новички совершают типичную ошибку: воспринимают отчет как «обязательную бумажную работу» после проведения исследований. На самом деле отчет — это основной продукт, за который платит заказчик.

Грамотно подготовленный отчет выполняет сразу несколько функций.

Читать далее

Жизнь после внедрения глазами системного и бизнес-аналитиков

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров853

Порой разработка нового продукта, автоматизация существующего процесса выглядит, как работа хирурга, который провел сложную операцию: в моменте избавил человека от серьезной проблемы, а то и вовсе спас жизнь. И на этом, как правило, история заканчивается. Однако после каждой операции есть еще одна очень важная стадия, о которой почему‑то не принято говорить — это реабилитация. И от того, как она пройдет, зависит работоспособность органов и качество жизни.

В IT‑разработке тоже есть такая стадия — это поддержка того, чем осчастливили заказчиков. Если ее упустить, то даже идеально проведенная «операция» может закончиться осложнениями. Поэтому для аналитика понимание этой стадии не менее важно, чем участие в создании нового продукта.

Читать далее

Многопоточности — да! Как работать с геометрическим ядром C3D в многопоточном приложении

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров696

Татьяна Митина, руководитель подразделения C3D Labs в Нижнем Новгороде, рассказывает, как устроена многопоточность ядра C3D, какими механизмами обеспечивается потокобезопасность ядра, какие параллельные вычисления происходят в самом ядре. Особое внимание уделяется правилам использования ядра C3D в нескольких потоках.

Многопоточность — отличный повод заглянуть в параллельные миры!

Для начала уточним терминологию. Под потокобезопасностью мы понимаем безопасность использования данных в нескольких потоках. А многопоточность — это способность кода выполнять вычисления в нескольких потоках, используя потокобезопасность обрабатываемых данных.

Читать далее

Математики из МФТИ исследовали новые методы моделирования распространения ультразвуковых волн в композитных материалах

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров363

Российские ученые использовали новый метод моделирования для исследования распространения ультразвука в композитных материалах. Работа опубликована в Lobachevskii Journal of Mathematics. 

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

Исследование, проведенное учеными из МФТИ, направлено на улучшение понимания динамики распределения ультразвуковых волн в таких материалах, используя инновационные методы моделирования, которые обещают коренным образом изменить подход к неразрушающему контролю.

Читать далее

Ближайшие события

Логирование (аудит) сессий в PostgreSQL

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2.6K

В статье рассматривается логирование соединений с базами данных кластера PostgreSQL. Системы мониторинга создают сессии для сбора метрик и проверки доступности экземпляра. Это создаёт большое число записей в диагностическом журнале кластера, затрудняя его анализ. Администраторы ищут возможность отключения логирования для сессий мониторинга. Такая возможность есть только у параметра log_disconnections. Приводится пример, как с его помощью отключить логирование при создании сессии. Также рассматриваются особенности использования расширений pgaudit и pgaudittofile, которые позволяют выводить логирование соединений в отдельный файл аудита.

Читать далее

Назад в будущее: как мы разработали IT-решение для проблемы родом из 90-х

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.9K

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

Читать далее

Spring Security для начинающих: конспект от аутентификации до JWT

Уровень сложностиСредний
Время на прочтение23 мин
Количество просмотров6.9K

На Хабре уже много статей про Spring Security — от кратких заметок до глубоких разборов. В этой статье я решил собрать всё в формате конспект-мануала, который можно читать как пошаговое введение: от базовой аутентификации и фильтров до JWT и OAuth2. Это материал, собранный по официальной документации и дополненный разъяснениями «на простом языке». Я не работал в больших enterprise-командах, поэтому буду рад комментариям и советам от более опытных коллег. Местами я использовал помощь ChatGPT: он помог структурировать материал и сделать стиль более читабельным, ближе к документации.

Читать далее

Таски есть, системы нет

Время на прочтение4 мин
Количество просмотров6.3K

Всем привет! Меня зовут Роман, я руковожу разработкой. Когда‑то начинал разработчиком, потом тимлид, сейчас управляю лидами.

В моём багаже опыта — работа работа в интеграторе, потом в небольшой компании из сферы SMS‑маркетинга, череда позиций в in‑house разработке в разных отраслях. А сейчас я снова в айтишечке, в заказной разработке.

И вот что забавно: на протяжении всей карьеры меня преследует один и тот же вопрос — как правильно поставить задачу и как отследить реальное состояние разрабатываемой системы.

Казалось бы, инструментов хватает: Jira, YouTrack, Trello, GitLab, Confluence и ещё десятки. Но если копнуть глубже, становится понятно: каждый из них решает только кусочек головоломки. Целостной картины всё равно нет. Она появляется только в голове после погружения, но и тут засада — голов в проекте много, и у каждой своя картинка.

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

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

Читать далее

Записки одного QA. Часть 2: Советы и приёмы в автотестах на Playwright

Уровень сложностиПростой
Время на прочтение38 мин
Количество просмотров3K

Записки одного QA. Часть 2. Немного пожеланий и советов по автотестам на Playwright

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

Читать далее

Локальные LLM модели: обзор и тестирование

Уровень сложностиСредний
Время на прочтение33 мин
Количество просмотров24K

В ★5УГЛОВ мы часто работаем с языковыми моделями — как облачными, так и локальными. И если про онлайн‑сервисы знают все, то локальные LLM до сих пор остаются недооцененным инструментом. Я решил поделиться личным опытом: какие модели можно запускать прямо на ПК, чем они полезны и зачем их вообще использовать в реальных проектах.

Большие языковые модели (Large Language Model, LLM) уже давно не являются громоздкими программными продуктами, закрытыми от пользовательских доработок и требующими огромных вычислительных мощностей. Многие ИИ можно скачать и запустить на обычном компьютере без интернета. Популярны так называемые «дистиллированные» модели — сжатые версии основных нейросетей, имеющие меньше параметров. Они требуют меньше ресурсов и могут работать даже на не самых мощных настольных ПК или ноутбуках. За последнее время локальные ИИ заметно улучшились: они стали быстрее, стабильнее и качественнее. Если раньше многие из них стремились отвечать по‑китайски (если явно не указать язык), то сегодня выбор значительно шире и работать с ними удобнее. Попробуем оценить самые популярные на разных задачах и выбрать лучшую.

Читать далее

Коротко об устройстве MSK144 с примерами на Python

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.8K

MSK144 — цифровой протокол, разработанный Джо Тейлором (K1JT) и его командой в 2016 году для проведения связей через метеорное рассеивание. В этой статье будут рассмотрены подробности работы протокола.

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

Читать далее