Search
Write a publication
Pull to refresh
4
0.9
Дмитрий Померанцев @pda0

User

Send message

Hashmap(map) по версии Golang вместе с реализацией на дженериках

Level of difficultyMedium
Reading time12 min
Views36K

Привет. Сегодня рассмотрим такую интересную структуру данных как hashmap, а именно ее реализацию в Go. Вкратце разберем что такое hashmap, как это выглядит под капотом Go 1.19. Посмотрим отличия реализации с Java и Python. Реализуем hashmap из под капота с помощью дженериков.

Читать далее

Клубничная чудо-коробка 2.0 всё

Reading time12 min
Views56K

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

Читать далее

Стало скучно? Запусти астероид в Землю

Reading time3 min
Views56K

Чем заняться приятным пятничным вечером? Посидеть в баре с друзьями, зачистить рейд в WoWке? Да ну нафиг. Давайте запускать астероиды!

Сервис с незатейливым названием Asteroid Launcher предлагает поиграть в бога. Вы можете выбрать любую точку земного шара и направить туда астероид с выбранными настройками. Помимо симпатичной анимации вы получите сводку нанесённого ущерба.

Читать далее

Налоговый и валютный резидент РФ —последствия приобретения и утраты статусов — полный FAQ с примерами

Reading time27 min
Views32K

Друзья, всех приветствую и предлагаю ознакомиться, как мне кажется с довольно полным FAQ по теме налогового и валютного резиденства РФ. По ходу материала есть некоторые примеры, а внизу вопросы & ответы.

Читать далее

Автоматизируем умный коттедж: куда потратить миллионы?

Reading time11 min
Views22K

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

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

Читать далее

Современный Интернет не предоставляет механизмов предотвращения захвата аккаунтов. FIDO2 — классно, но нас не спасет

Reading time12 min
Views11K

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

Захват аккаунта может произойти на трех стадиях:

Читать далее

Резиновый десктопный адаптив: как сделать большие экраны одинаковыми

Reading time5 min
Views11K

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

Читать далее

Как отобразить таблицу на экране мобильного устройства: решения

Reading time2 min
Views26K

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

Читать далее

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

Reading time7 min
Views8.3K

Привет, Хабр! Меня зовут Дарима Мылзенова, я инженер-исследователь Just AI.

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

Читать далее

Шаблоны согласования потока событий в реальном времени

Reading time8 min
Views4.6K

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

Читать далее

Можно ли полноценно заменить VMware vSphere?

Reading time6 min
Views25K

Глядя на заголовок статьи, так и хочется сказать словами героя Тома Круза: «Миссия импосибл». Но мы кое-что изучили и протестировали. В данной статье прошлись по верхам - т.е по самому необходимому для работы. И, да, в материале будут и шаблоны ВМ, и тонкие клоны, и свой VDI и DRS и многое другое, что мы рекомендовали бы протестировать. Но обо всем по порядку. 

Читать далее

Простой фильтр для автоматического удаления фона с изображений

Reading time8 min
Views35K
Существует множество способов удалить фон с изображения какого-либо объекта, сделав его прозрачным (в графических редакторах, специальных сервисах). Но иногда может возникнуть необходимость удаления фона у множества фотографий с минимальным участием человека.

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



Реализация стала возможной благодаря OpenCV и C# обертке OpenCVSharp.
Читать дальше →

Самое подробное руководство по установке высокодоступного (почти ಠ ͜ʖ ಠ ) Kubernetes-кластера

Reading time22 min
Views47K

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

Читать далее

Пневмоника и процессор постапокалипсиса

Reading time11 min
Views17K

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

Удивительно, но струйная логика используется не только в ракетных двигателях или газодинамических подшипниках, но и в бытовых газовых счётчиках. Совершенно случайно я наткнулся на пост «Внутренности газового счётчика» на Пикабу и увидел своих старых знакомых. «Ребята, а что вы тут делаете?», — подумал я и понял: время пришло.
Читать дальше →

Добавляем список глав прямо в плеер YouTube

Reading time1 min
Views2.2K

У YouTube уже давно есть такая фишка как главы (chapters) для быстрой навигации по частям видео. Огромный недостаток текущей реализации - просмотр списка глав осуществляется в стороннем блоке за пределами плеера, т.к. в театральном и полноэкранном режимах до него непросто добраться. Намного удобнее, кажется, отображать оглавление прямо в плеере. Поправим это с помощью расширения (Chrome, Firefox).

Читать далее

Android. Starting Kivy App and Service on bootup

Reading time15 min
Views4.3K
main

Как запускать приложение или сервис написанные на python (Kivy) под Android при запуске устройства. Что бы это сделать придется разбираться как работает buildozer и pythonforandroid. Т.к. на текущий момент сделать это по человечески не представляется возможным, из-за того что разработчики Kivy не позаботились об этом. Узнать что такое Kivy, как собрать первое приложение можно здесь или по ссылкам в конце статьи.

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

CSS запросы к контейнерам наконец с нами

Reading time3 min
Views9.6K

Я не могу сдержать своего волнения, когда пишу первые несколько слов этой статьи. Дамы и господа, контейнерные CSS-запросы наконец-то здесь! Да, вы правильно поняли. В настоящее время они поддерживаются в Google Chrome (105), а вскоре будут и в Safari 16. Это огромный этап в веб-разработке. Для меня это нечто, что меняет правила игры - как первое появление медиа-запроов, с помощью которых мы начали строить адаптивные сайты. Контейнерные запросы не менее важны (по крайней мере, так кажется мне).

Читать далее

Ламповое звучание: о пользе второй гармоники

Reading time4 min
Views21K

Около десяти лет назад меня попросили о ремонте английского лампового усилителя - временами у него пропадал звук. Лампы оказались целы, видимых повреждений нет, все режимы в норме. Дефект обнаружился в переменном резисторе регулятора громкости и его замена решила проблему. К тому времени я уже был наслышан о феномене “теплого лампового” звучания и поэтому измерил все параметры усилителя по его спецификации. Представил работу владельцу усилителя и на некоторое время забыл об этом, так как у меня была основная задача улучшить качество звучания звуковой программы, получаемой по цифровому каналу.

Читать далее

10 итераторов, о которых вы могли не знать

Reading time13 min
Views39K

Одним из главных достоинств Python является выразительность кода. Не последнюю роль в этом играет возможность удобной работы с коллекциями и последовательностями различного вида: перебор элементов списка по одному, чтение файла по строкам, обработка всех ключей и значений в словаре. Эти и многие другие подобные задачи в Python помогает решить так называемый протокол итераторов (Iterator protocol). Именно этот протокол обеспечивает работу цикла for, устанавливает по каким объектам можно итерироваться, а по каким нет. Как мы увидим далее, сам язык и стандартная библиотека очень широко используют возможности протокола. В этой статье попробуем отыскать не самые известные, но от этого не менее интересные примеры итераторов и итерируемых объектов, которые предлагает Python.

Читать далее

Information

Rating
2,682-nd
Location
Химки, Москва и Московская обл., Россия
Date of birth
Registered
Activity