Архив за 07 марта 2023

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

Как всегда, в начале немного ликбеза.

Читать полностью »

Всем привет! Изучив несколько статей по этой теме, у меня остались вопросы, и некоторые моменты по-прежнему были не понятны, поэтому я решил написать свою, которая, как мне кажется, была бы понятна тем, кто не силен в спортивном программировании. В ней я объясняю, как устроено дерево отрезков. Примеры с кодом будут приведены на языке C++, однако на объяснение это не влияет.

Вступление

Читать полностью »

На собеседовании:

- Как у вас с Экселем?

- Я его ненавижу!

- О, да вы VBA-разработчик!

Я не могу открывать здесь Америк, ибо не технарь, но раз тут был чей-то текст, как написать "Hello world" в Word'e, и всем понравился, то думаю, что нелишним будет и мой небольшой опыт по теме, слабо раскрытой в целом в литературе, и в учебных курсах дающейся обычно факультативно.

п1. Как обычный пользователь пишет макросы в эксельке

Читать полностью »

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

Memphis design 1985 – 1994

Читать полностью »

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

image

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

Одна из многословных конструкций .NET связана с деталями реализации асинхронности и обросла кучей мифов. Про неё спрашивают на собеседованиях, код-ревью, делают обязательной, добавляя в правила линтера. Это .ConfigureAwait(false), сопровождающий каждый await в коде.

В этой статье я расскажу, зачем нужен ConfigureAwait(false) и как обойтись без него.

Читать полностью »

Долгожданное продолжение «Аватара» Джеймса Кэмерона наконец-то обзавелось датой релиза цифровой версии. Научно-фантастический фильм «Аватар: Путь воды» Avatar: The Way of Water будет доступен для покупки в цифровом виде с 28 марта в Amazon Prime Video, Apple TV, Vudu и Movies Anywhere. Цифровые издания будут доступны в разрешении 4K Ultra HD со звуком Dolby Atmos.

Как работают объектные хранилища: OpenStack Swift - 1

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

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

В первой части я поделился сложностями, которые возникают при попытке построить распределенное и отказоустойчивое хранилище для объектов. Та система, которую мы позволили себе нафантазировать, очень похожа на OpenStack Swift. С него начиналась история нашего продукта, так что мы можем не только разобрать принцип его работы «на пальцах», но и погрузиться в скрытые особенности OpenSource, которые проявляются лишь в больших масштабах.
Читать полностью »

На днях решил заказать еду в достаточно крупной сети ресторанов SushiStore (74 точки в Москве и МО), которая делает довольно неплохие суши. Однако при попытке залогиниться на сайте столкнулся с тем, что SMS с кодом подтверждения перестал приходить. Попробовал отправить код повторно несколько раз, а потом написал в службу поддержки. В поддержке мне ответили, что в качестве кода подтверждения необходимо вводить четыре последние цифры Вашего номера телефона. Да-да, Вы не ослышались, ВАШЕГО номера телефона! Посмотрев более внимательно на форму входа, я действительно увидел соответствующую инструкцию:

Читать полностью »

Первая Часть

DNS Балансировка

Предыдущая часть закончилась неудачной балансировкой, которая не решает практически никаких проблем. В комментариях кто‑то спросил, почему я не использовал балансировку на уровне DNS. Так вот, я ее использовал. Оказалось, что c помощью DNS записей можно организовать балансировку Round Robin. Для этого в конфигурации Wireguard всего лишь нужно использовать доменное имя вместо IP адреса. Теперь конфигурация Wireguard будет выглядеть вот так:

[Interface]
PrivateKey = <client_private_key>
Address = <cient_address_on_server>/32
DNS = 8.8.8.8, 1.1.1.1
[Peer]
PublicKey = <server_private_key>Читать полностью »

https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js