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

Пользователь

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

Автоматическое тестирование ускорило разработку в 50 раз. Сказка от создателей FoundationDB

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 7.2K
Автоматическое тестирование по сравнению с обычным, источник

Стартап Antithesis Operations LLC создан разработчиками известной системы FoundationDB. Они говорят, что между двумя продуктами много общего: «Когда в 2010 году мы взялись за создание масштабируемой, отказоустойчивой распределённой базы данных с ACID-транзакциями, большинство людей не думали, что такое возможно. Вот и сейчас многие не верят в полную автоматизацию тестирования».

Сейчас они уверены, что произвели революцию в разработке программного обеспечения. Они сделали полностью автономную и детерминированную систему автоматического тестирования. Внедрение системы в их собственной компании ускорило разработку в 50 раз, потому что программисты теперь думают только о коде и не боятся ошибок. 100% багов выявляется автоматически. Вручную писать тесты не надо, никаких тестировщиков, SDET и QA. Двое-трое программистов выполняют работу за 100−150 человек. Настоящая сказка!
Читать дальше →
Всего голосов 40: ↑35 и ↓5 +30
Комментарии 13

Как пытались (пере)программировать мозги, и что из этого получилось? Часть 1: проект «Артишок»

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

Во все века разведчики, шпионы и спецслужбы полагались в своей работе на разные вещества и психологические уловки. Тёмные рыцари плаща и кинжала травили врагов всевозможными ядами, усыпляли стражу, подсылали убийц-фанатиков с промытыми пропагандой и веществами мозгами — как легендарные ассасины времён Крестовых походов, чьё название происходит от неумеренного накачивания одноразовых киллеров гашишем. Развитие науки и техники в ХХ веке только подстегнуло энтузиазм шпионских ведомств. Если в СССР секретная токсикологическая лаборатория №12 при КГБ занималась в основном ядами для ликвидации врагов трудового народа, то в США к боевым токсинам из закрытого центра Форт-Детрик добавлялись безумные во всех смыслах эксперименты ЦРУ по взлому чужих (и даже своих!) мозгов посредством веществ и гипноза. Это привело к грандиозному скандалу в 70-е годы, породило немало теорий заговора, а также отсылок в массовой и не очень культуре. Впрочем — обо всём по порядку.
Читать дальше →
Всего голосов 80: ↑65 и ↓15 +50
Комментарии 19

Паяем классическую педаль Marshall Bluesbreaker

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


Привет, Хабр! 62 года назад англичанин Джим Маршалл скопировал гитарный усилитель Fender Bassman из США. Британские лампы зазвучали совсем не так, как американские. Различие в характеристиках громкоговорителей также ощутимо повлияло на звук.

Так появился мировой стандарт перегруженного электрогитарного звучания, благодаря которому, получило своё развитие множество стилей рока и металла.

К тридцатилетнему юбилею своего первого культового комбоусилителя компания «Маршалл» выпустила транзисторную педаль, повторяющую его звучание. А сегодня я соберу свой экземпляр этой педали.
Читать дальше →
Всего голосов 39: ↑39 и ↓0 +39
Комментарии 12

Облачный апокалипсис. Файлохранилище на своём сервере

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


Компания Microsoft сегодня (или с 1 апреля) блокирует доступ к облачным сервисам для корпоративных клиентов из России. С этого дня хранилище OneDrive станет недоступно, как и 50 других сервисов Microsoft. Аналогичная ситуация может сложиться с сервисами Amazon и Google. Это вызовет некоторые проблемы у компаний, хранящих файлы в облаке.

Если у пользователей нет резервных копий, им придётся в экстренном порядке переносить их на другой сервер, спасая с «тонущего корабля». К счастью, на этот случай есть удобные инструменты вроде Rclone, который одной командой копирует файлы с популярных облачных хостингов на свой сервер.
Читать дальше →
Всего голосов 42: ↑37 и ↓5 +32
Комментарии 48

Советские игровые автоматы — ностальгический гейминг с запахом резины. Часть 2: «Городки» и электронные тиры

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

Советские игровые автоматы стали порождением сближения СССР и Запада в начале 70-х годов, при брежневско-никсоновской разрядке. Советский Минкульт выкупил большую часть игровых автоматов, которые появились в Москве на международной выставке «Аттракцион-71», и уже в 1974 году в серию пошёл самый знаменитый советский игровой автомат «Морской бой». О том, как он появился на свет, и какую роль в этом сыграли японские и американские разработки, мы поговорили в прошлой части. А теперь вспомним другие игровые автоматы СССР — менее культовые, но также дарившие множество ярких впечатлений до появления в нашей стране массовых компьютерных игр.
Читать дальше →
Всего голосов 57: ↑49 и ↓8 +41
Комментарии 11

Как написать свою маленькую ОС

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


Большое начинается с малого. Например, ядро Linux 0.0.1 состояло всего из 10 239 строк кода, из них 20% комментарии. Такой проект вполне может осилить студент в качестве курсовой или дипломной работы, программируя по вечерам на домашнем ПК (собственно, Линус и написал его во время учёбы в университете, когда вернулся из армии).

Если один студент смог это сделать тогда, то почему нельзя повторить? И действительно, в интернете есть даже специальные обучающие ресурсы для написания новых ОС и целые сообщества энтузиастов, которые помогают друг другу в этом непростом деле.
Читать дальше →
Всего голосов 108: ↑103 и ↓5 +98
Комментарии 25

Множество масок Persona 5

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

С выходом Persona 3 Reload, ремейка игры, которая коренным образом изменила облик серии и сделала её одной из самых важных японских RPG-франшиз в истории, шумиха вокруг пятой части поутихла. Появившись на западе в 2017 году, следом за родной Японией, игра захватила умы геймеров по всему миру, имея нестандартные для жанра сеттинг, темы и художественное оформление.

Японские разработчики всегда тяготели к более абстрактному повествованию, чем их западные собратья, делая упор на геймплейные механики, образность сюжетов и не особо стремясь разжёвывать для игрока каждую деталь. И сегодня мы поговорим об одном из самых ярких представителей жанра JRPG последних лет, который сочетает в себе уникальные нарративные и геймплейные приёмы с желанием авторов честно высказаться о своей родной культуре.
Читать дальше →
Всего голосов 40: ↑38 и ↓2 +36
Комментарии 3

Как работает код, который спит месяц

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

В первой части этого небольшого цикла статей мы говорили о том, что механизм устойчивого выполнения (durable execution) сохраняет состояние программы в журнале, а также о связанных с этим сложностях в случае обновлений служебного кода, ведущих к утрате журналом актуальности. Мы увидели, что ограничение времени выполнения обработчика существенно облегчает эту проблему. Но… не ведёт ли это к потере одного из наиболее интересных свойств устойчивого выполнения — возможности создавать бизнес-процессы, работающие с длительными паузами? В Restate мы считаем, что при использовании правильных примитивов можно ничего не потерять.

Тем не менее, если вы любите писать код с долгими периодами ожидания, потому что он хорошо согласуется с вашей моделью мышления, то Restate поможет вам реализовать это в полной мере. Если же вы цените устойчивое выполнение, но скептично относитесь к долго выполняющимся обработчикам и проблемам с их версионированием, то для этого есть решение. Ниже описаны несколько способов получить те же свойства путём добавления в этот механизм устойчивого обмена сообщениями и состояния.
Читать дальше →
Всего голосов 47: ↑43 и ↓4 +39
Комментарии 10

Давид Хейнемейер Ханссон (DHH): автор Ruby on Rails, программист и автогонщик

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

Давид Ханссон, пилот Porsche 911 RSR команды Abu Dhabi Proton Racing перед гонкой на выносливость «6 часов Сильверстоуна» в 2016 году, источник

Датский разработчик Давид Хейнемейер Ханссон, известный в сообществе под ником-аббревиатурой DHH, — крайне неординарная и разносторонняя личность. Программист, автогонщик, писатель, венчурный инвестор, бизнесмен и семьянин — так он описывает себя на личном сайте.

Работа всей жизни DHH — фреймворк Ruby on Rails, которым пользуются сотни тысяч разработчиков по всему миру. Но увлечения Давида не ограничиваются только лишь программированием.
Читать дальше →
Всего голосов 42: ↑41 и ↓1 +40
Комментарии 3

Иммутабельность в механизме Durable Execution: проблемы и решение

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

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

Компьютеры на сегодня достигли таких скоростей, что могут записывать результат каждой нетривиальной задачи в постоянное хранилище. Это, в свою очередь, позволяет им прекрасно восстанавливаться после временного сбоя путём повторного выполнения по журналу всех завершённых задач до момента этого сбоя. Выполнив эти задачи, система спокойно продолжает работу с точки, где она была прервана. При достаточном внимании и осторожности такой механизм можно реализовать с минимальным влиянием на модель программирования или производительность, что, безусловно, очень ценно. Не так ли?
Читать дальше →
Всего голосов 42: ↑41 и ↓1 +40
Комментарии 0

Странный и очень прибыльный мир конкурсов писателей-киберпреступников

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

Соревнования на форумах киберпреступников в Рунете обещают призовые до 80 тысяч долларов. Всё это происходит почти в открытую, а победителей потом хантят к себе хакерские сообщества. Слышали ли вы об этом секрете Полишинеля?


На всякий случай ссылки давать не буду. И заходить на эти сайты не рекомендую, если у вас нет хороших антивирусов. Но если кто-то об этой истории не знал, велком.

Читать дальше →
Всего голосов 60: ↑57 и ↓3 +54
Комментарии 14

Взлом космоса — теперь и на STANDOFF 12

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


В ноябре в рамках конференции Moscow Hacking Week прошла ещё одна кибербитва STANDOFF — мероприятие проводится уже 12-й раз. Однако STANDOFF 12 запомнился не только присвоением звания пятикратного чемпиона команде Codeby, но и новыми отраслями — в разработке одной из них мы приняли непосредственное участие. И если вы следите за нашими новостями, то сможете без проблем ответить, что это была за отрасль… Правильно, космос!

Соревнование было поистине масштабным: 15 команд 4 дня нон-стопом взламывали все из представленных областей (не досталось только сборочной инфраструктуре Positive Technologies, за взлом наивысшего уровня которой организаторы пообещали 5 миллионов рублей). Мы также проводили собственные отборочные испытания, давшие возможность победителям отправиться покорять Государство F в составе команды bRedTeam.
Читать дальше →
Всего голосов 35: ↑33 и ↓2 +31
Комментарии 1

Костыли из 90-х и принцип HTML First

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

Кадр из презентации Frontmania 2022: Kilian Valkhof — Stop using JavaScript for that

Недавно на Хабре публиковался перевод статьи «Вам не нужен для этого JavaScript» с примерами, где код JS легко заменить на HTML.

На самом деле возврат к основам HTML, простым сайтам и читаемому коду без сложных фреймворков — довольно популярная идея. Сейчас всё больше сайтов создаётся по принципу HTML First.
Читать дальше →
Всего голосов 84: ↑80 и ↓4 +76
Комментарии 37

Разработчик-универсал под видом специалиста

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

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

Ниже я опишу сложности, с которыми мне приходилось сталкиваться. Надеюсь, эта информация окажется полезной для других вольных авантюристов. Прошу учесть, что статья отражает преимущественно мой личный опыт, так что делайте на это скидку.
Читать дальше →
Всего голосов 70: ↑65 и ↓5 +60
Комментарии 11

К 30-летнему юбилею DOOM: как два садиста, психопат и мормон создали одну из величайших игр в истории? Часть 9 (финал!)

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

В прошлой части мы оставили команду из наших героев в то время, когда новый геймдизайнер Сэнди вместе Джоном Ромеро клепал уровни Doom, а на горизонте неумолимо приближалась дата релиза шутера, обязанного затмить успех Wolfenstein 3D. Лабиринты уровней становились всё мрачней и макабричней, демоны рычали, кидались на игрока и разлетались кровавыми ошмётками от выстрелов, и теперь всё это оставалось сделать максимально популярным и востребованным на рынке. Который в лице геймеров уже заваливал id Software письмами и звонками с просьбами и даже требованиями скорее выпустить долгожданный Doom, или хотя бы рассказать больше подробностей о грядущей игре.

Все части цикла статей о создании DOOM:
Читать дальше →
Всего голосов 87: ↑86 и ↓1 +85
Комментарии 22

Инструментальный усилитель для микрофона

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


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

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

Не хватит их и на аудиоинтерфейс с достаточным числом каналов, поэтому приходится использовать микшер, смешивающий несколько моно- и стереосигналов в один стереосигнал. Чтобы подключить качественный микрофон, микшеру необходим чувствительный балансный аудиовход. Сегодня мы изучим и соберём такой модуль.
Схема основана на операционных усилителях.
Всего голосов 58: ↑56 и ↓2 +54
Комментарии 14

Как лаборатория ядерного оружия помогла поймать серийного убийцу

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

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

Работая с 1989 года пульмонологом в калифорнийском Glendale Adventist Medical Center, Сальдивар время от времени занимался уходом за неизлечимыми пациентами. В 1998 году, согласно отчёту из Los Angeles Times, больнице сообщили, что «кто-то помог пациенту быстро скончаться».

Руководство больницы уже проводило расследование в связи с Сальдиваром из-за внутреннего сообщения о предполагаемом нарушении — по словам одного его коллеги, у него была репутация обладающего «волшебным шприцем». Вскоре в расследование вмешалась полиция, вызвав Сальдивара на допрос.

Во время допроса Сальдивар признался в десятках убийств, произошедших после его трудоустройства и продолжавшихся вплоть до 1997 года. Он заявил, что отравлял пациентов чрезмерными дозами парализующих веществ под названием «бромид панкурония», также известного как «Павулон», и «хлорид суксаметония». Его незамедлительно арестовали.
Читать дальше →
Всего голосов 69: ↑68 и ↓1 +67
Комментарии 26

Поломанные VPN, 2038 год и сертификаты с истёкшим сто лет назад сроком

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

В конце 2010 года Зимми (псевдоним) работал в ИТ-поддержке компании, разрабатывавшей VPN-устройства и операционную систему для них. В понедельник ему позвонил клиент (розничный продавец продукции из США), рассказавший, что в выходные его VPN-оборудование перестало работать.

После изучения отчёта Зимми решил, что проблема возникла в результате сбоя валидации сертификата, о чём он и написал в недавнем посте в Mastodon.

«VPN-устройства моего работодателя управлялись через центральный сервер. На этом сервере работал собственный центр сертификации (CA), который использовался для подписывания сертификатов всех устройств. Конечные точки VPN использовали их для аутентификации на сервере управления (например, при отправке логов) и друг между другом (в основном для VPN). CA — это фундаментальная часть ПО управления».

Зимми сообщил, что предпочёл бы оставить анонимным себя, компанию и клиента.

Валидация оказывалась ошибочной, потому что система не могла проверить certificate revocation list (CRL) — список цифровых сертификатов, отозванных выпустившим их центром.

«Эти устройства аутентифицировали друг друга при помощи сертификатов, похожих на те, которые применяются для HTTPS, но подписанные частным центром сертификации. У каждого клиента был для этого свой CA. В процессе валидации сертификатов CA проверял, не отозван ли сертификат. Валидацию не удавалось выполнить, потому что VPN-устройство не могло скачать certificate revocation list (CRL), чтобы убедиться, что сертификата другого устройства нет в списке. Почему оно не могло скачать CRL?»
Читать дальше →
Всего голосов 61: ↑60 и ↓1 +59
Комментарии 10

Не стоит недооценивать HTML

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

«HTML – это просто», «Разрабатывать фронтенд проще, чем бэкенд», «После реализации бэкенда обновление UI не должно составлять труда», – за время работы в сфере веб-разработки вокруг меня то и дело звучали эти и другие аналогичные утверждения.

И очень часто они вызывали у меня грусть.

Дело в том, что бо́льшую часть времени я проводила за написанием фронтенда, включая работу с HTML, CSS и JavaScript (по факту в основном TypeScript). Когда кто-нибудь говорит мне о «простоте» моей работы, я начинаю думать, что мои навыки не представляют высокой ценности, и меня может легко заменить любой разработчик…

В статье же я решила описать свои размышления, которые рождались в течение последних двух лет во время работы с людьми из разных команд с разным опытом в HTML-разработке и фронтенд-технологиях в целом. Здесь я озвучу несколько основных своих вопросов «Почему?», сопроводив их возможными ответами.
Читать дальше →
Всего голосов 66: ↑63 и ↓3 +60
Комментарии 94

Создание PDF размером с Германию

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

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

Подобное утверждение появилось на просторах интернета ещё в 2007 году. Этот твит является характерным примером постов с аналогичным заявлением, в которых оно преподносится как твёрдый факт без каких-либо подтверждающих свидетельств или объяснений. То есть мы должны просто принять, что один PDF может покрыть лишь около половины площади Германии, и нам никак не объясняют, почему его магический предел составляет 381 километр.

Тут мне стало интересно – а создавал ли кто-нибудь такой большой PDF? Насколько это сложно? А можно ли сделать документ ещё больше?

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

Приступим!
Читать дальше →
Всего голосов 126: ↑123 и ↓3 +120
Комментарии 57

Информация

В рейтинге
196-й
Работает в
Зарегистрирован
Активность