Как стать автором
Обновить

Разработка

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

Как создавалось меню «Пуск» в Windows: от битмапов до динамического рендеринга

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

В мире разработки операционных систем немногие элементы пользовательского интерфейса могут похвастаться такой же узнаваемостью и функциональной значимостью, как меню "Пуск" в Windows. Этот компонент, ставший неотъемлемой частью пользовательского опыта Microsoft, прошел долгий путь эволюции, отражающий технологический прогресс и изменения в подходах к проектированию интерфейсов. Давайте вспомним, каким оно было и поговорим про технические аспекты создания меню "Пуск", опираясь на инсайдерскую информацию от Дэйва Пламмера, одного из ключевых разработчиков этого элемента.

Читать далее
Рейтинг0
Комментарии0

Новости

Нужно ли вам красивое резюме? Оцениваем результаты эксперимента с помощью статистики

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

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

Меня зовут Ольга Матушевич, я наставница на курсе «Аналитик данных» в Яндекс Практикуме. В этом тексте я расскажу, какие результаты показал эксперимент из YouTube, и попробую выяснить, являются ли они статзначимыми.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Methodcentipede

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

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

Читать далее
Всего голосов 2: ↑2 и ↓0+3
Комментарии1

Заглядываем под капот FrozenDictionary: насколько он быстрее Dictionary и почему

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

С релизом .NET 8 в арсенале C# разработчиков появилась новая коллекция – FrozenDictionary. Особенность этого словаря в том, что он неизменяемый, но при этом обеспечивает более быстрое чтение по сравнению с обычным Dictionary. Я неспроста разбил результаты на обложке по типам – используемые во FrozenDictionary алгоритмы сильно зависят от типа ключа, размера словаря или даже, например, количества строковых ключей одинаковой длины. В этой статье подробно разберем, насколько FrozenDictionary быстрее и почему.

Заглянуть под капот
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Истории

Собственные проекты, какими они должны быть?

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

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

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

Читать далее
Всего голосов 4: ↑1 и ↓3-2
Комментарии4

Вот скажи мне, микросервис, в чем сила (часть 2)

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

Если вы не читали начало - то оно здесь.

Вкратце же, там я описал как начал строить свой “интернет магазин электроники”. Да, именно в кавычках 🙂. Потому что это не магазин совсем, а эксперименты по реализации части механик. Конкретно, подбора товаров по параметрам. Запустил первый блин комом и сейчас буду наш первый блин улучшать.

В любом случае, первую часть будет полезно почитать хотя бы из-за дельных комментариев (как всегда на Хабре). Там любезно объяснили, что этому всему есть научный термин - фасетный поиск. И что данная реализация соответствует паттерну EAV. Да и вообще этот велосипед уже изобрели. Но меня это, конечно же, не остановит 🙂. Что может быть прекрасней собственного велосипеда!

Есть еще надежда, что написанные статьи привлекут внимание тех, кто реализует подобное не как я - ради развлечения, а ради работы. Может они в комментариях поделятся своими замерами производительности, или какими-то подводными камнями. Было бы интересно.

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии1

9. Автоматические зависимости времени выполнения

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

Исследуем пакетный менеджер Nix и операционную систему NixOS.
Ранее мы разработали универсальный скрипт сборки для проектов autotools.

Сегодня мы обратимся к программе GNU hello, чтобы исследовать зависимости времени сборки и времени выполнения.

Читать далее
Всего голосов 2: ↑2 и ↓0+5
Комментарии0

Новый фронтенд-фреймворк?

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

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

Такие компоненты можно будет затем собирать в полноценные веб-приложения, сопоставимые с теми, что созданы с использованием React, Angular, Vue, Solid, Svelte и т.д.

Читать далее
Всего голосов 3: ↑2 и ↓1+5
Комментарии13

Видеонаблюдение на базе NanoPi R4S, rclone и mediamtx

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

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

1. Умеет транслировать видео на любые устройства, где есть браузер с поддержкой h264, причем без использования китайских серверов.
2. Вести циклическую запись в формате mp4 и сохранять её удалённо.
3. Стоит меньше 100$.

Читать далее
Всего голосов 9: ↑9 и ↓0+14
Комментарии20

Антимат в чате на iOS: как я мешаю пользователям сквернословить

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

Привет, Хабр! На связи снова Александр Пиманов (по-прежнему iOS-разработчик МТС Диджитал). Сегодня поделюсь своим опытом в одной интересной нишевой теме: фильтрации нецензурной лексики в приложении для iOS.

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

Читать далее
Всего голосов 7: ↑5 и ↓2+6
Комментарии14

Matrix: децентрализованные открытые мессенджеры с E2E-шифрованием. Обзор возможностей и настройка своего сервера

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

В этой статье я расскажу о протоколе Matrix и мессенджерах, основанных на нем, а так же приведу инструкцию по настройке своего сервера и клиентов.

Matrix — открытый протокол мгновенного обмена сообщениями и файлами с поддержкой голосовой и видеосвязи. Почему стоит обратить на него внимание, если у нас уже есть WhatsApp и Telegram? Причин несколько.

Во-первых, в последние дни Роскомнадзор снова начал развлекаться блокировками WhatsApp и Telegram, и иногда у него это даже получается более-менее успешно. В таких условиях всегда неплохо иметь запасной вариант, и Matrix здесь очень хорошо подходит, потому что во-первых он позволяет создавать свои собственные сервера, а во-вторых его протокол со стороны выглядит как самый обычный HTTPS.

Во-вторых, все больше и больше людей не доверяют WhatsApp и Telegram. В случае с Matrix же можно поднять свой личный сервер, протокол Matrix - открытый, исходники клиентов - открыты, исходники серверов - тоже открыты, а в самом протоколе end-to-end шифрование включено для чатов по умолчанию из коробки (в отличие, например, от Telegram, где оно доступно только в "секретных чатах"). Ну и само собой, не требуется нигде вводить телефонный номер для регистрации.

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

Сервер Matrix может работать как изолированно ("только для своих"), так и в составе "федерации" - когда разные серверы общаются между собой, и пользователи, подключенные к разным серверам, могут общаться друг с другом. Есть здесь олды, которые помнят Jabber и IRC? Ну вот, здесь такой же принцип. Я бы даже сказал, что Matrix - это этакий хипстерский Jabber на стероидах.

Читать далее
Всего голосов 15: ↑15 и ↓0+19
Комментарии7

Поднимаем поиск по коду

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

Всем привет!

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

Читать далее
Всего голосов 4: ↑4 и ↓0+7
Комментарии1

Оценка задач в сторипоинтах: мой путь от абстрактного к конкретному

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

Привет! Меня зовут Артём Коньков, я тимлид команды продуктовой разработки в Купере. У меня в команде шесть разработчиков, по два на каждый стек: мобилка, фронтенд, бекенд и два QA. В статье расскажу о том, как, став тимлидом в уже почти сложившейся команде, менял систему оценки задач и переводил абстрактные сторипоинты в конкретные.

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

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

Читать далее
Всего голосов 11: ↑5 и ↓6+1
Комментарии6

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

19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн

От промптов к дообучению: четыре уровня адаптации open-source моделей

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

Привет, Хабр! Меня зовут Анна Щеникова, я аналитик в Центре RnD в МТС Диджитал. Ко мне часто приходят задачи, где нужно использовать open-source LLM. Сразу же встает вопрос: а как адаптировать имеющуюся модель под конкретный кейс?

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

Читать далее
Всего голосов 7: ↑7 и ↓0+10
Комментарии4

Логические элементы и триггеры на транзисторах и диодах

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


Привет, Хабр! В электронных проектах очень часто применяются логические элементы. Они даже присутствуют во многих микроконтроллерах в качестве периферии, независимой от ядра (ПНЯ). Логические функции можно реализовать и программным способом, но аппаратные решения гораздо быстрее и надёжнее.

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

Иногда такое решение помогает улучшить трассировку платы. А ещё бывает не лишним задуматься о внутренней схемотехнике микросхем, чтобы понять, с какими внешними сигналами они могут работать, а с какими — нет. Речь о том, чтобы учитывать особенности входных и выходных каскадов, защиты от перенапряжения, и так далее.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+31
Комментарии3

«Окно» в LLM: как компании из России найти безопасную альтернативу ChatGPT

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

Привет Хабр! Меня зовут Петр Мицов, я продакт-менеджер в Just AI. Одно из ключевых направлений нашей компании — разработка решений на базе генеративного AI для бизнеса.

Поскольку мы создаем продукты для работы с большими языковыми моделями, нам важно знать, сталкиваются ли российские компании с проблемами и трудностями при интеграции популярных облачных LLM в свои программные решения. Чтобы это выяснить мы проверили две гипотезы: имеют ли компании проблемы с доступом к ChatGPT API и является ли блокером отправка в облако конфиденциальных данных? О результатах эксперимента и безопасных альтернативах ChatGPT API я расскажу в этой статье.

Читать далее
Всего голосов 10: ↑5 и ↓5+3
Комментарии1

Полезный чек-лист: способы сокращения расходов при работе с Kubernetes

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

Kubernetes — самый популярный оркестратор в России. По данным исследования VK Cloud «State of Kubernetes», K8s используют 56% компаний, работающих с оркестраторами (причем из них 53% работают с Kubernetes в облаке). Более того, спрос на работу с технологией увеличивается. Вместе с тем многие компании сталкиваются с недостатком опыта, что приводит не только к техническим сложностям, но и к неоправданным расходам.

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

Читать далее
Всего голосов 4: ↑2 и ↓2+2
Комментарии0

Профилирование Java-приложений: от HeapDump до Grafana

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

Добрый день дорогой читатель. Сегодня я дам тебе несколько советов для поиска и анализа проблем в твоем Java приложении. Мы разберем такие вещи как: HeapDump, ThreadDump, VisualVM, Grafana, HikariPool, Prometheus и Garbage Collector.

Читать далее
Всего голосов 8: ↑5 и ↓3+4
Комментарии3

Как расследовать брутфорс в SOC

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

Привет! Меня зовут Дмитрий Каплунов. Я работаю младшим аналитиком SOC в команде Анастасии Федоровой в К2 кибербезопасность и более года занимаюсь анализом и расследованием инцидентов ИБ. Один из самых частых видов атаки, с которым встречается команда SOC, — это брутфорс. Злоумышленники используют его для взлома систем, учетных записей, зашифрованных данных и т.д. Под катом я собрал всю полезную информацию про расследование брутфорса в SOC, в т.ч. про то, как отличить реальные атаки от сработок, которые вызваны проблемами в инфраструктуре.

Читать далее
Всего голосов 5: ↑5 и ↓0+7
Комментарии2

Web-версия кулинарного android-приложения SystemCook

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

Сразу выдам ссылки на скачку того, о чем пойдет речь, чтобы ничего не потерялось и никто не теребил меня, что и где искать/качать (бесплатное и безрекламное android-приложение):

Скачать с Google Play

Прямая ссылка (если скачка с гугл-плей недоступна)

Ссылка вконтакте на видеообзор SystemCook v14.0 (если у вас проблемы с youtube)

Ранее про SystemCook я уже рассказывал на хабре в двух предыдущих статьях тут и тут. Знаю, что много хабровчан пробовало старые версии приложения в процессе разработки, т.к. веду статистику и "мёртвых" аккаунтов у меня в базе полным-полно (кстати, если кто потерял пароль - пишите на мыло, напомню, только скажете, на какой email регистрировались). Сейчас я подытожу, что в итоге у меня вышло, расскажу свои дальнейшие планы и буду ждать от вас фидбека в комментариях.

Прогресс за три года разработки, с июня 2021:

Читать далее
Всего голосов 8: ↑3 и ↓50
Комментарии7
1
23 ...