Обновить
0
Максим Барсуков@maxbarsukovread⁠-⁠only

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

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

Пароли здорового человека (part II) и зачем вам цифровое завещание

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

Итак, в part I мы разбирали жизненный цикл homo sapiens, который уже дошел до знания, как обращаться с паролями, умеет их централизованно хранить и теперь ему надо научиться передавать это знание (точнее, менеджер паролей и цифровое завещание) потомкам на тот случай, если его догонит какой-нибудь лев-тигар. Ведь именно передача полезных знаний между поколениями позволяет социуму избегать повторения простых ошибок, например хранить мастер пароль под клавиатурой и верить новостям из телевизора.

Но в начале, надо обсудить еще один способ восстановления доступа к своим данным аутентификации, на самый крайний случай: если потеряны ВСЕ устройства с бэкапами.

Читать далее

Как работает Wine

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


Wine — это свободное программное обеспечение для запуска Windows-приложений на нескольких POSIX-совместимых операционных системах, включая Linux, macOS и BSD.

Если вы любите Linux, то наверняка когда-то запускали Wine. Возможно, для какой-то «важной» программы Windows, у которой нет аналога под Линуксом, или поиграться. Забавный факт: даже Steam Deck от Valve запускает игры через оболочку на основе Wine (она называется Proton).

За последний год я намучился с отладчиком, который позволяет одновременно дебажить и Wine, и Windows-приложение в нём. Разобраться во кишочках Wine оказалось очень интересно! Я-то раньше много им пользовался, но никогда не понимал механику целиком. Можно взять файл Windows — и просто запустить его в Linux без каких-либо изменений. Если вы хотите знать, как это сделано, добро пожаловать под кат.
Читать дальше →

Джефф Дин из компании Google — это Чак Норрис нашего времени

Время на прочтение4 мин
Охват и читатели230K
«Джефф Дин компилирует и запускает свой код перед коммитом, но только чтобы проверить на баги компилятор и CPU», — вот один из множества шуточных фактов о Джеффе Дине.

Джефф Дин считается кем-то вроде Чака Норриса. Отличие только в том, что он вовсе не герой боевиков, а инженер-программист компании Google.

Шутки о нём впервые появились на 1 апреля шесть лет назад. Один из коллег Дина по имени Кентон Варда открыл страничку, куда каждый мог добавлять факты о Джеффе Дине. Идею с энтузиазмом подхватили другие разработчики — и вскоре наполнили страничку множеством таких «фактов».
Читать дальше →

SQL HowTo: обход дерева иерархии «по курсору» через двойную рекурсию

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

В предыдущих статьях "PostgreSQL Antipatterns: навигация по реестру", "PostgreSQL 13: happy pagination WITH TIES" и "SQL HowTo: курсорный пейджинг с неподходящей сортировкой" я уже рассматривал проблемы навигации по данным, представленных в виде плоского реестра.

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

Читать далее

Турель из Portal своими руками

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

А вы играли в Portal? Даже если нет, сборка личной автоматической турели с детекцией движения и оригинальным голосовым сопровождением наверняка окажется как минимум любопытной, ведь такая диковина может не просто украсить интерьер, но и стать, к примеру, отличным подарком для детей.
Читать дальше →

Минимальная реализация Lua на Rust

Время на прочтение24 мин
Охват и читатели11K
После того, как вы освоите это руководство, в вашем распоряжении окажется минимальная реализация Lua (парсер, компилятор, виртуальная машина), написанная на Rust с чистого листа. Этот проект получил название Lust, его код можно найти на GitHub.

Читать дальше →

«Руби мистически жив»: как в СберМаркете превращают разработчиков других стеков в рубистов

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


Ruby-разработчиков на рынке почти нет — на одну вакансию на hh приходится по одному резюме. Для других языков это соотношение 1 к 5. Чтобы восполнить нехватку рубистов, в СберМаркете переобучают разработчиков на другом стеке.


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

Читать дальше →

Фронтенд на рельсах (почти) без JS

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

Вопреки слухам на пространствах девелоперских комьюнити, Rails не становится устаревшей технологией, он не собирается умирать, и остается отличным инструментом для разработки вашего нового проекта. И одна из причин заключается в том, что у Rails имеется достаточно инструментов, чтобы покрыть базовый функционал типичного веб-приложения. Вам не нужно думать о том, как обрабатывать НТТР запросы, что использовать для ввода и получения данных из базы, как отрисовать HTML, который пользователи увидят в своих браузерах, и даже как "вдохнуть жизнь" в пользовательский интерфейс.

Читать далее

Что случилось с faker.js?

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

При создании нового проекта я попытался использовать свою любимую библиотеку генерации случайных данных facker.js. Установилась версия facker@6.6.6.

Однако при попытке использовать привычные методы библиотеки выскакивала ошибка. Начав разбираться в проблеме, я перешел на github этой библиотеки. Обнаружилось, что весь исходный код удален. При этом был один коммит endgame, а в описании (Readme) текст – “Что на самом деле произошло с Аароном Шварцем?” (What really happened with Aaron Swartz?).

Читать далее

Я фронтенд разработчик, а не обезьянка

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

2 дня унижения в чатах, пачка Ново-Пассита, но я выдержал это испытание и узнал, что до сих пор думают о фронтенд разработчиках «другие» разработчики. Будет интересно.

Читать далее

Как написать эмулятор CHIP-8 на JS

Время на прочтение18 мин
Охват и читатели9.6K
Chip-8

Автор провёл детство за играми в эмуляторах NES и SNES на своём компьютере, но никогда не думал, что однажды сам напишет эмулятор. Иван Сергеев поставил перед автором задачу написать интерпретатор Chip-8, чтобы изучить основные понятия низкоуровневых языков программирования и то, как работает процессор.

Результат — эмулятор Chip-8 на JavaScript, который автор написал под его руководством. Подробности рассказываем, пока у нас начинается курс по Fullstack-разработке на Python.
Читать дальше →

Проект «Вестфорд»: как американские военные делали Земле кольца

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

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

Задачки по программированию на BASIC для ZX Spectrum

Время на прочтение2 мин
Охват и читатели16K
Недавно я участвовал в нескольких соревнованиях, которые проводились в Facebook-группе, посвящённой BASIC-программированию для ZX Spectrum. Там попадаются задачки разной сложности, но большинство из них можно решить, минут за 30 написав соответствующий код. Если вы хотите проверить или улучшить свои навыки программирования на BASIC — вам, возможно, будет интересно взглянуть на эти задачки.


Читать дальше →

Шифр, который разгадал только один программист из всей компании. А вы сможете?

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

На разные праздники мы дарим технической команде iSpring Tech подарки. Чаще всего это были книги. Потом переключились на командные футболки. Первый дизайн был с разными космическими кораблями из Звездных войн. И вот перед очередным праздником — это был Новый год — мы вновь задумались о подарках. Решили снова сделать футболки — но не простые, а особенные, чтобы прям для технарей…

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

Мы решили поделиться этой задачкой со всем Хабром. За правильный ответ — приз: отправим победителям футболку с принтом-шифром, как на картинке, и сувенирный набор Марий Эл (в нём — бальзам «Огни Марий Эл», тушенка с мясом из лося, чай, грибы, магнит, открытки, сумка). Победители получат призы как раз к Новому году :)

Читать далее

Старый добрый бесполезный интернет

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

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

Да ну эту работу

FizzBuzz по-сениорски

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

- Добрый день, я на интервью на позицию старшего разработчика.

- Здравствуйте, давайте начнем с небольшого теста, пока я ваше CV смотрю. Напишите программу, которая выводила бы числа от 1 до, скажем, миллиарда, притом если число кратно трем, то вместо числа выводится Fizz, если кратно пяти, то Buzz, а если и трем, и пяти, то FizzBuzz.

Серьезно, FizzBuzz? Задачка для начальной школы, на сениорскую позицию? Ну ладно.

Читать далее

Новые возможности в Java версий 12 — 17

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

Быстрый тур по новым, готовым к работе функциям при обновлении с Java 11 до Java 17.

Через три года после Java 11 - на данный момент последней версии с долгосрочной поддержкой (LTS), Java 17 LTS будет выпущена в сентябре 2021 года. Пришло время сделать краткий обзор новых функций, которыми разработчики могут пользоваться после обновления с 11 до 17. Обратите внимание, что было внесено гораздо больше улучшений - в этой статье основное внимание уделяется тем функциям, которые могут напрямую использоваться большинством разработчиков.

Читать далее

Дизайн, темы, блеклист – что внутри новой версии geekr

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


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


Попробовать кастомный клиент можно по этой ссылке — geekr.vercel.app, а если интересно, как я такую вещь сделал и что планируется сделать в будущем, то прошу под кат.

Читать дальше →

Эффективный поиск XSS-уязвимостей

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


Про XSS-уязвимости известно давным-давно — казалось бы, нужен ли миру ещё один материал о них? Но когда Иван Румак, занимающийся тестированием безопасности, поделился методологией их поиска на нашей конференции Heisenbug, реакция зрителей оказалась очень положительной.


И спустя два года у этого доклада по-прежнему растут просмотры и лайки, это один из самых востребованных материалов Heisenbug. Поэтому теперь мы решили, что многим будет полезна текстовая версия, и сделали ее для Хабра.


Под катом — и текст, и видео. Далее повествование идет от лица Ивана.

1

Информация

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

Специализация

Бэкенд разработчик, Фулстек разработчик
Младший
От 70 000 ₽
Ruby
Ruby on Rails
NestJS
TypeScript
PostgreSQL
Git
Docker
Nginx
Bash
Redis