Обновить
1
0
Константин@ConstOrVar

Разработчик мобильных приложений

Отправить сообщение

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

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

Привет всем! 

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

Читать далее

Анатомия левиафана: как работают ЦОДы и в чём разница между Tier

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

Для рядового пользователя ЦОД — это место, где хранятся фотографии и обрабатываются запросы ИИ-помощников. Однако это сложнейший инженерный организм, функционирующий на стыке термодинамики, электротехники, гидравлики и цифровой логики. Под катом попробую за одну статью объяснить вам логику работы дата-центров и рассказать, что вообще означают магические Tier. 

Читать

Невидимая рука предубеждений в архитектуре ПО: размышление о влиянии когнитивных искажений на вектор развития компаний

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

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

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели27K

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

Читать далее

Многие сложные задачи на LeetCode — это простые задачи на ограничения

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели9.6K

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

Разбираем, как привычные «найди максимум при таких-то условиях» превращаются в компактные декларативные модели, зачем вообще нужны такие упражнения, что они говорят о собеседованиях и о нашем отношении к алгоритмам — и где у подхода с MiniZinc/constraint solving проходят естественные границы.

Смотреть подход

Как системщику остаться в живых: харденинг, который не убьет ваш перфоманс

Время на прочтение12 мин
Охват и читатели11K

Здравствуйте, меня зовут Анна Мелехова. Я старший архитектор в отделе развития архитектуры KasperskyOS. В статье я хочу поделиться практическим опытом системной разработки, которой я занималась сначала в проекте по виртуализации, а теперь в «Лаборатории Касперского», где мы делаем микроядерную операционную систему с повышенными требованиями к безопасности – KasperskyOS. Когда вы работаете в такой среде, быстро понимаете: харденинг – это не красивые галочки в чек-листе, а набор очень конкретных, очень практических решений, которые должны и защищать, и минимально снижать производительность. О них я и расскажу, а в конце дам личный топ самых полезных харденингов, которые бустят security и не снижают performance.

Читать далее

Основы безопасности веб-приложений: краткий «курс» по выявлению уязвимостей

Уровень сложностиСложный
Время на прочтение22 мин
Охват и читатели7.5K

Как выглядит веб-приложение с точки зрения злоумышленника?

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

Вы можете развернуть учебную среду на своей машине, повторять команды и проверять результаты их выполнения на вашем экземпляре приложения. Для демонстрации техник разведки и инструментов я использую общеизвестные уязвимые ресурсы: demo.testfire и testphp.vulnweb. Их URL я положил в workshop/urls.txt в репозитории проекта.

Дисклеймер: статья носит ознакомительный характер, и любые попытки злоупотребления данной информацией незаконны и могут повлечь за собой уголовное преследование в соответствии со статьями 272 и 273 УК РФ.

Читать далее

Live Updates на Android: где макеты врут, a SDK ставит границы

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели7.1K

Весной 2025 года Google представила Live Updates, аналог Live Activity в iOS. Мы быстро запушили продактов — «нам такое надо!» — и потащили фичу в Android-приложение Додо Пиццы.

Но всё оказалось не так просто — мы столкнулись с неполной документацией, расхождениями представлений дизайнеров Google и разработчиков этого SDK, и не только. В общем, запасайтесь попкорном. Сегодня расскажем обо всех нюансах в реализации и тестировании Live Updates.

Читать далее

Как забытый API-ключ открыл нам мир мошенников

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

Сегодня история на грани техники, психологии и детектива. Расскажу о том, как мы (я и мой коллега) попали во внутренние чаты мошенников и что из этого вышло.

Читать далее

Лучшие практики в Sequence-диаграммах для системных аналитиков

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели7.5K

В данной статье я хочу поделиться опытом и рассказать о том, как системным аналитикам улучшить Sequence-диаграммы (диаграммы последовательностей) с помощью лучших практик.

Я покажу, как некоторые подходы из мира программирования (те самые best practices и идеи из Clean Code) помогают рисовать sequence-диаграммы чище и понятнее. 

Читать далее

Мобильная разработка за неделю #611 (17 — 23 ноября)

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели7.4K

В новом дайджесте вопрос с собеседования, на котором сыпятся даже Senior-ы, стабильный Navigation 3 и нестабильная ViewModel, кросс-компиляция, 100 уроков развития проекта, открывашка из трубки домофона и многое другое. Заходите!

Читать далее

Математика равновесия: как уравнение Ляпунова держит весь мир в узде

Уровень сложностиСредний
Время на прочтение28 мин
Охват и читатели32K

Это пре-релиз статьи для русской Википедии.

Я выкладываю материал на суд сообщества Хабра. Я хочу, чтобы мы вместе сделали лучший материал по этой теме в рунете.

Моя просьба к вам:

Читайте с пристрастием. Если видите математическую неточность или знаете, как объяснить проще — пишите в комменты.

Забирайте код. Он рабочий, его можно использовать для своих лаб или проектов.

Поддержите пост. Если вам нравится идея качественного научпопа — ставьте лайк и стрелку вверх. Чем больше людей увидит, тем качественнее станет статья.

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

Читать далее

ProSTQB — бесплатная платформа, которая выводит подготовку к ISTQB на новый уровень

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

Подготовка к ISTQB давно стала своеобразным «обрядом посвящения» для тестировщиков.

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

Но есть проблема, о которой вслух говорят редко: готовиться к ISTQB всё ещё неудобно.

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

Именно поэтому я решил сделать тот тренажёр, который мне самому хотелось бы использовать. Так появилась платформа ProSTQB — бесплатный удобный инструмент для подготовки ко всем уровням ISTQB, без рекламы, без paywall’ов и без боли.

Сегодня ProSTQB доступен сразу в трёх форматах: веб-версия, приложение для iOS и приложение для Android, что делает его одной из самых доступных платформ на рынке.

Читать далее

Часы, минуты и секунды: как люди нарезали сутки с древности до наших дней?

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели15K

Как и семидневная неделя, о которой мы говорили в прошлый раз, разделение суток на 24 часа, в каждом из которых по 60 минут, давно уже стало мировым стандартом. Но почему часов ровно 24, а минут в них — именно 60? И почему при этом на циферблатах почти всех механических часов не 24, а 12 делений? Попробуем разобраться.

Читать далее

Интернет бесподобен! Спасибо, TCP

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

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

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

Хорошо, почему же тогда наши приложения вот так просто работают? Если вы выводили своё приложение в сеть, то процесс вам знаком: socket()/bind() здесь, accept() там, возможно, connect() вон там и, вуаля — данные надёжно текут в обе стороны упорядоченным и целостным потоком.

Сайты (HTTP), сервисы e-mail (SMTP) или удалённый доступ (SSH) — всё это построено на основе TCP и просто работает.

Читать далее

Как тимлиду перестать жить в режиме «вечной спешки» и научиться управлять задачами

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели9.4K

Привет, Хабр! На связи Лера, технический писатель в Авито. В своих статьях продолжаю делиться кратким содержанием книг, связанными с продуктивностью и работой мозга. Сегодня поговорим про книгу Дэвида Аллена — Getting Things Done (или «Как привести дела в порядок»).

Читать далее

Код-гольф в Яндексе: как нерды развлекаются

Уровень сложностиСредний
Время на прочтение22 мин
Охват и читатели14K

Что такое код-гольф? Это соревнование, в котором надо решить задачу по программированию (как правило, несложную), используя наименьшее количество символов. Соревнование довольно известное. Можно поиграть, например, на одноимённом сайте, есть целая секция на CodinGame, иногда такие соревнования публикует kaggle, была такая секция на HackerRank (сейчас её я не нашёл).

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

Временами мы развлекаемся таким форматом. В какой-то момент на внутренних ивентах подняли свою платформу для соревнований, а потом она протекла и на внешние конференции.

Эта статья — смесь разбора задач и истории появления соревнования по код-гольфу на конференциях Яндекса.

Про нас и кодгольф

Как фильтры Блума в 16 раз ускорили API

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели13K

Этот пост станет глубоким разбором того, как мы снизили задержки P95 конечной точки API с 5 до 0,3 секунды при помощи нишевого трюка computer science под названием «фильтр Блума».

Мы расскажем о том, почему конечная точка была медленной, о решениях, которые мы рассматривали для повышения её скорости, и о критериях выбора между ними. Также мы объясним, как всё это устроено внутри.

Читать далее

Docker для начинающих: что это такое и как пользоваться

Уровень сложностиПростой
Время на прочтение20 мин
Охват и читатели24K

Статей про Docker много не бывает.

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

Освоить рабочую базу Docker →

Что такое преобразование Фурье?

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

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

Математики лишь в 19 веке смогли освоить этот же расчёт.

В начале 19 века французский математик Жан-Батист Жозеф Фурье открыл способ разложения любой функции на набор основных волн, или частот. Сложив эти составляющие частоты, вы получите исходную функцию. Эта техника, сегодня называемая преобразованием Фурье, позволила математику, ранее бывшему ярым сторонником Французской революции, инициировать свою собственную, математическую революцию.

Читать далее
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность