Обновить

Все потоки

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

Что происходит внутри Angular и React при решении одних и тех же задач

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

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

Привет! Я Полина, фронтенд-разработчик в Selectel. В этой статье я решила залезть в темные уголки React и Angular, чтобы лично посмотреть, что же там происходит. Для чистоты эксперимента я выбрала шесть типовых несложных задач, для решения которых подойдет и фреймворк, и библиотека. Подробности под катом.

Читать далее

Как поехавшие бабули отсудят у вас квартиру: самый полный разбор от юриста

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

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

Читать далее

Главная проблема «чистых архитектур»

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

Откройте любой пулл‑реквест в проекте с любой «чистой архитектурой» и вы скорее всего увидите не обсуждение бизнес‑логики, а срач. «Это нельзя класть в UseCase, это логика домена!», «Зачем тут еще один DTO, мы же просто поле прокидываем!», «Этот интерфейс не нужен, у нас никогда не будет другой реализации!». Полагаю, очень много людей с таким сталкиваются.

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

Читать далее

Проблемы контурных карт: анализ графики Europa Universalis 5

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

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

Читать далее

Назад к on-premise. Почему это снова тренд и чем будет полезен Selectel Server

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

Разбираемся, как контроль над инфраструктурой превращается в бизнес-преимущество в новой экономической и регуляторной реальности, а также делимся, как в этом поможет серверное решение Selectel

Читать далее

Чем же крут язык Zig?

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

Не думаю, что за мою 45-летнюю карьеру какой-то другой язык удивлял меня сильнее, чем Zig. Могу с уверенностью сказать, что Zig — это не только новый язык программирования, но и, на мой взгляд, совершенно новый способ написания программ. Задача этого языка — далеко не только замена C или C++.

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

Читать далее

Спасти 10 000 жизней: как технологии обеспечивают безопасность стадионов

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

Паника, давка, пожар — как предотвратить катастрофу в месте, где собираются тысячи человек?

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

Читать далее

Семь стадий зрелости программиста: от энтузиаста до архитектора-отшельника

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

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

Читать далее

Конформанс-тестирование: как мы сертифицировали базовую станцию YADRO

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

Привет, Хабр! Меня зовут Анна Курина, я старший инженер по тестированию в отделе бокс-тестирования базовой станции LTE в YADRO. Сегодня я расскажу, как мы проходили сертификацию базовой станции: проверяли соответствие российскому законодательству и спецификациям 3GPP. А еще мы разберемся с малознакомым для широкой аудитории QA-инженеров видом тестирования: тестированием на соответствие (conformance testing). Оно позволяет тестировщику окунуться в реальную эксплуатацию оборудования, а не просто провести тесты и забыть о «железе».

Читать далее

Карты, деньги, два бага: из чего состоят современные банкоматы и как их атакуют хакеры

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

Всем привет! Вновь на связи аналитики из команды PT Cyber Analytics. В этой статье хотим поделиться экспертизой, полученной в ходе наших исследований в области защищенности банкоматов.

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

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

Читать далее

Прогресс видеокодеков и большое сравнение российских видеосервисов

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

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

«Измерение качества видео — это лишняя операция. Бизнес — это вообще-то про деньги. Поэтому в бизнесе главное — это бизнес-метрики: user retention, DAU, MAU и вообще ARPU. А все эти ваши PSNR, SSIM, VMAF — от лукавого. Если пользователи платят деньги и не отписываются, значит всех всё устраивает и это главная метрика качества».

«И вообще в свое время в Toyota был внедрен подход Lean Manufacturing, где одна из «семи потерь» — это потери из-за лишних этапов обработки (waste on over-processing), к которому, очевидно, относится измерение качества. Эти материи проходят на курсах MBA, которые довольно дороги. Поэтому далеко не все российские технари в теме этих важнейших понятий и не в состоянии осознать их критическую важность для бизнеса компаний».

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

«Слушай, а почему у меня на даче YouTube через Роскомнадзор работает лучше Rutube без Роскомнадзор

(видеоверсия — доклад на VideoTech доступен тут)

Ну-с, господа, «которых всё устраивает!» Поехали! 

Читать далее

Тест батареек Gembird

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

В продаже появились батарейки бренда Gembird, известного по компьютерным аксессуарам. Я протестировал почти весь ассортимент, в том числе самые популярные щелочные (Alkaline) элементы питания AA и AAA.

Читать далее

ИИ простыми словами

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

Всем привет. Этот пост открывает реплику моего нового проекта «ИИ простыми словами» здесь на Хабре. Сегодня хочу рассказать о том, что сподвигло меня начать этот цикл, а также обозначу некоторые базовые моменты.

Читать далее

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

Что было бы, если OS/2 от IBM выиграла у Windows 95

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

В конце 80-х IBM и Microsoft сообща трудились над операционкой будущего — OS/2, но их пути разошлись. В итоге триумф достался Windows 95, ставшей новым стандартом для ПК. Но давайте представим альтернативный сценарий, в котором корпоративный мир в 90-х сделал выбор в пользу OS/2. 

Читать

Сезам, грузися! Установка Windows XP на древний ноутбук без физических носителей

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

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

За каких-то 500 йен (260 рублей) такое чудо забрать просто обязательно. Правда беда вылезла, откуда не ждали.

После подкидывания блока питания оказалось, что винчестер девственно чист. Однако попытки загрузиться с флешки, внешнего диска, или даже внешнего флопика, результата не приносили — неумолимо вылезала надпись "Operating System Not Found", да и названия устройств в биосе не появлялись.

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

Можно было бы просто кинуть винчестер в USB-переходник и залить образ с другого компьютера, но и тут подстава — винчестер в нём 1.8 дюйма, и на шину IDE с напряжением до 3.3 вольта, поди найди такой адаптер. Вкладываться в покупку переходника, SSD и ещё адаптера с USB на mSata тоже не хотелось, ибо уже жаба задушит :-)

Однако, в нём всё ещё есть опция загрузки по сети через PXE, может, это и спасло бы?

Читать далее

Repository Pattern в управлении базами данных: пример интеграции NocoDB в Django

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

Классический сценарий: есть база данных и приложение на бэкенде. Для подключения достаточно знать адрес, порт, имя пользователя, пароль — и прямой доступ перед вами. Но что делать, если необходимо подключить no-code базу данных, которой можно управлять только через REST API? Есть ли способ интегрировать такие подключения в логику «красиво», не поломав архитектуру?

Привет, Хабр! Меня зовут Влад, в свободное время я занимаюсь разработкой. В этой статье расскажу, как мне удалось относительно нативно интегрировать работу с платформой NocoDB на бэкенде, какие можно использовать паттерны и зачем мне понадобилось разработать собственный Python-модуль. Подробности под катом!

Читать далее

В поисках компактного ЛБП

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

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

Речь пойдёт о простейшем самодельном компактном регулируемом маломощном источнике питания, также известном среди радиолюбителей и им сочувствующих как «лабораторный блок питания» (ЛБП), собранном из подручных средств в виде готовых китайских модулей и наборов. С его помощью можно налаживать прочие самодельные творения. Конструкции подобного рода сейчас довольно востребованы, и, возможно, вам окажется полезным мой вариант.

Читать далее

Лидары в автономном транспорте: почему важна длина волны лазера

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

Привет, друзья! На связи Алексей Разин. Я работаю инженером‑оптиком в Яндексе и уже четвёртый год занимаюсь разработкой лидаров. Мы с командой сделали несколько устройств, и сегодня я хочу поделиться с вами своими мыслями и опытом в сфере разработки лидаров — приборов, которые играют ключевую роль в развитии автономного транспорта. 

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

Читать далее

Microsoft SoftCard для Apple II: как научить два процессора работать с общей памятью

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

Microsoft Z-80 SoftCard — это плата расширения для Apple II, добавлявшая возможность запуска ПО компьютера CP/M. Согласно Википедии, это был первый аппаратный продукт Microsoft, и в 1980 году он стал самым крупным источником дохода для компании.

CP/M работает на процессоре 8080, а Apple II имеет процессор 6502. Так как же запустить CP/M на Apple II? На плате был смонтирован отдельный процессор Zilog Z80, совместимый с 8080; по множеству причин, перечисленных в Википедии¹, он превосходил 8080.

Отлично, у нас есть процессор. Но что будет происходить со старым процессором 6502? В идеале нужно бы его просто отключить, но это невозможно, потому что некоторые задачи всё равно должны выполняться 6502². Николь Брэнаган подробнее изучила историю о том, как сосуществовали эти два процессора. Принцип заключался в следующем: SoftCard сообщала 6502, что выполняет DMA, поэтому 6502 приостанавливал работу и ожидал завершения DMA. Однако нельзя оставлять 6502 на паузе слишком долго: его внутренние регистры могут деградировать и утерять свои значения.

Для решения этой проблемы можно воспользоваться линией REFRESH процессора Z80, которую он использует, чтобы сообщать, что пока не выполняет доступ к памяти (потому что декодирует команду). Это даёт понять цепи обновления внешней памяти, что она может работать и обновлять ОЗУ, чтобы оно не деградировало и не теряло свои значения.

Читать далее

Трагедия рейса Germanwings 9525

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

Пилот с суицидальными наклонностями. Что от него можно ожидать?

Любого ответа, кроме «ничего страшного». 24 марта 2015-го второй пилот Germanwings 4U9525, Андреас Лубиц, запер за собой бронированную дверь, выставил на автопилоте 100 ft и направил борт прямо в Альпы.

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

Читать далее