Как стать автором
Обновить
110
0
Евгений @Jenyay

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

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

Фильтр Блума – вероятностная структура данных для проверки принадлежности элемента множеству

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

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

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

Читать далее
Всего голосов 16: ↑15 и ↓1+14
Комментарии5

Учимся жить с Kafka без Zookeeper

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

При всех достоинствах Kafka как распределенного хранилища потока сообщений, боль вызывало раздельное хранение метаданных (топологии разделов, конфигурации кластера и прочего) и необходимость запуска в кластере рядом с Kafka еще и Apache Zookeeper. Побочным эффектом такого соседства (кроме дополнительных забот об администрировании и мониторинге) является долгое время восстановления после сбоя при больших размерах кластера, значительном количестве разделов или сложной топологии групп. Но ситуация улучшается и отличная новость появилась полторы недели назад в KIP-833, что в ближайшей версии Kafka 3.3 новый протокол согласования метаданных (KRaft), работающий внутри Kafka без Zookeeper, будет признан Production-Ready и далее постепенно зависимость от Zookeeper будет помечена как deprecated и удалена. В этой статье мы поговорим об особенностях протокола KRaft и разберемся как настроить новый кластер Kafka без необходимости установки Zookeeper.

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии3

SymPy и симуляция физических процессов

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


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

SymPy — это Python библиотека для символьных математических вычислений, которая предоставляет мощные инструменты для работы с символьными выражениями, уравнениями и системами уравнений. Она позволяет разработчикам и исследователям создавать и анализировать модели физических систем с высокой степенью точности и гибкости.
Читать дальше →
Всего голосов 21: ↑15 и ↓6+9
Комментарии2

Как на самом деле Linux выполняет запись на диск?

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

Друзья мои, программисты и операторы, я бы хотел поговорить о том, как в Linux работает запись файлов.

Раньше я думал, что она устроена определённым образом, и как Джон Леннон, «I’m not the only one». Оказалось, операции записи работают совершенно иначе. То, как они работают, интересно и важно знать.

Позвольте начать с того, как я раньше думал о записи файлов.

Читать далее
Всего голосов 82: ↑63 и ↓19+44
Комментарии113

AMD — вечная канарейка Intel

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров43K
Если прямо сейчас посмотреть на рынок процессоров, то может сложиться обманчивое впечатление, что AMD на равных конкурирует за место под солнцем с компанией Intel. Кто-то может посчитать, что так было всегда. Реальность же заключается в том, что если Intel всю свою историю колебалась между полной гегемонией и просто доминированием на рынке процессоров для персональных компьютеров и серверов, то AMD в хорошие моменты своей истории была строго второй, а в плохие — находилась буквально при смерти.

Предыдущий текст о крушении Intel можно было бы ошибочно воспринять как оду AMD, но на самом деле основной упор там делался на ошибках самой Intel. AMD же просто воспользовалась заносчивостью и слабостью «синего» гиганта в последние пять-семь лет. При этом у самой AMD проблем хватает с лихвой, а провалов, ошибок и просто спорных решений руководство компании принимало едва ли не больше, чем все прочие производители вместе взятые. По сути же, AMD — главная канарейка Intel, которая безошибочно сигнализирует о проблемах старшего брата, без какой либо надежды поменяться с ним местами. Просто потому что AMD не может существовать без Intel по определению, так уж исторически сложилось. И сейчас мы объясним, почему.


Читать дальше →
Всего голосов 132: ↑127 и ↓5+122
Комментарии176

JMeter как инструмент для автоматизации функционального тестирования

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

Привет, мы Алексей Чичук, Анастасия Стрижеченко и Владислав Литвинов — тестировщики из банка Точка.

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

И сегодня мы расскажем, как и почему мы стали использовать JMeter для функционального тестирования.

Читать дальше
Всего голосов 12: ↑12 и ↓0+12
Комментарии8

Странный мир путей файлов в Windows

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

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

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

Стоит заметить, что статья ограничивается только тем типом путей, который видит пользователь приложений Windows (обусловленный Win32 API). Под этим слоем есть ещё больше любопытного, в основном касающегося тех, кто пишет драйверы оборудования и тому подобное.
Читать дальше →
Всего голосов 179: ↑179 и ↓0+179
Комментарии100

Все еще работаете с access token на клиенте? Тогда мы идем к вам

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

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

В статье рассмотрим причины необходимости работы с токеном на клиенте веб-приложений, узнаем ,что лучше для хранения токена: localStorage, sessionStorage или cookie без флага HttpOnly (спойлер, ничего из этого), а также посмотрим на меры воздействия, которые можно использовать для снижения риска утечки токена посредством различных уязвимостей.

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

Читать далее
Всего голосов 44: ↑42 и ↓2+40
Комментарии40

Концепции Rust, которые неплохо бы знать пораньше

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

Весь минувший месяц я глаз не мог оторвать от языка программирования Rust, ведь его конёк – создание современных программ, обеспечивающих безопасную работу с памятью. За прошедшие годы появилось несколько языков, которые позиционировались как «инструмент что надо» для написания надёжного бекенд-софта. Постепенно маятник качнулся от Java/C++ к Go и Rust, выстроенных на многолетних разработках по теории языков программирования. Суть – в создании инструментов, которые были бы эффективны именно в наш век.

Читать далее
Всего голосов 53: ↑44 и ↓9+35
Комментарии13

Технология VoWiFi с точки зрения Wi-Fi

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

Мы привыкли к тому, что сотовая связь и Wi‑Fi существуют отдельно друг от друга. Но иногда бывает так — мы попадаем внутрь помещения, где точно нет сотовой связи, но есть Wi‑Fi. При этом сохраняется возможность звонить по телефону. Как это работает?

VoWiFi (Voice over Wi‑Fi) — технология, позволяющая пользователям сотовой связи совершать голосовые вызовы в зонах, где сотового покрытия нет, но есть покрытие Wi‑Fi. С ее помощью можно звонить привычным способом в помещении с отсутствием сотовой связи, а также сэкономить деньги в роуминге. В статье расскажем, как настроить свои беспроводные сети правильно, и тогда VoWiFi будет стабильной и удобной альтернативой сотовой сети.

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии45

Шифрование домашней папки на Linux с помощью fscrypt

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

Не так давно, по случаю, мне достался ноутбук. Скончался от болезни человек с которым я был в хороших отношениях. Спустя какое то время родственники приятеля начали распродавать и раздавать имущество умершего. Мне отдали ноутбук. Ноут Acer, не особо новый и не дорогой, особой ценности не представляет, отдали бесплатно. Но попросили по возможности достать оттуда данные - старые фото и видео на память. На ноутбуке установлена десятка и учетка с паролем, которого никто не знал. Делаю загрузочную флешку, цепляю съемный диск. Готово. В процессе копирования посмотрел, что еще есть на диске. Текстовые файлы с паролями, профиль браузера, какая то рабочая документация, личные заметки и т.д. Ненужно и не интересно. Фото и видео отдал родственникам. Диск отформатировал. Ноут в кладовку.

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

А так как последние лет десять я сидел под ubuntu то меня заинтересовало, а как там дела с шифрованием обстоят в linux.

Читать далее
Всего голосов 16: ↑15 и ↓1+14
Комментарии30

Как оставаться программистом, если у тебя память как у дрозофилы

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

Мой мадригал тем инструментам разработки, которые изменили мою жизнь

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

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

Сегодня никто бы больше и не подумал покупать документацию по разработке – и Microsoft, и Apple свободно выкладывают свою документацию в Интернете для всех желающих. А что говорить о проектах с открытым исходным кодом!

Во времена npmPyPI и GitHub сложно объяснить, насколько неоднозначным решением (которое требовалось всесторонне обдумывать) раньше считалось потребовать хоть какие-нибудь возможности, которые выходили бы за рамки функционала операционной системы. Часто вместе с продуктом приходилось сдавать и все его зависимости.

Читать далее
Всего голосов 51: ↑47 и ↓4+43
Комментарии40

KeyCloak и Spring Boot

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

Хочу описать логику как с использованием сервиса авторизации Keycloak настроить авторизацию при этом получая token и refreshToken , а так-же обменивать refreshToken на новый token.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии2

Незаслуженно забытые герои Computer Science

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

В IT все знают про Тьюринга, Страуструпа, Ритчи и Торвальдса. Эти люди много сделали для становления компьютерной науки. Но, как и везде, в IT-индустрии есть свои невоспетые герои. Поэтому в этой подборке мы решили рассказать об ученых и инженерах, которые внесли большой вклад в развитие Computer Science, но которых нечасто вспоминают на Хабре.

Читать далее
Всего голосов 43: ↑43 и ↓0+43
Комментарии31

Финишные покрытия. Часть 1: покрытия корпусов для СВЧ

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

Привет! Меня зовут Олеся и работаю СВЧ инженером. Пишу это, чтобы читателям был примерно понятен мой бэкграунд и мотивация.

В статье описаны типы покрытий, которые я использую в своей работе.

далее
Всего голосов 20: ↑19 и ↓1+18
Комментарии15

Полезные и неизвестные возможности Java

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

В этой статье вы узнаете о некоторых полезных функциях Java, о которых вы, вероятно, не слышали. 

Это мой личный список функций, использованных мной недавно или с которыми я столкнулся при чтении статей о Java. 

Я сосредоточусь не на языковых аспектах, а на API. Я уже опубликовал все примеры, относящиеся к этой статье, в Твиттере в форме, показанной ниже. Вы также можете найти их в моей учетной записи Twitter или просто под #javaхэштегом.

Читать далее
Всего голосов 39: ↑39 и ↓0+39
Комментарии9

Что должен, но не знает про конкуренцию в PostgreSQL каждый разработчик?

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

Опыт показывает, что разработчики редко задумываются о проблемах, которые могут возникать при многопользовательском доступе к данным. При этом практически любое web-приложение является многопользовательским и так или иначе использует блокировки при доступе к данным в БД. При неправильном использовании эти блокировки могут больно бить по пользователям, а иногда и по системе в целом. Поэтому рано или поздно каждый разработчик многопользовательских систем должен задуматься о том, как ему начать работать с БД так, чтобы пользователи не мешали другу другу. Многие считают, что это сложно, давайте вместе убедимся, что это не так.

Читать далее
Всего голосов 44: ↑43 и ↓1+42
Комментарии6

HashiCorp Vault перехвален, а Mozilla SOPS вместе с KMS и Git неоправданно недооценены

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

image


Когда я начал работу с Kubernetes, и Infrastructure as Code (IaC), я быстро понял, что мне нужно решение для работы с секретами. Когда я поискал в интернете, то не увидел единого мнения по поводу практического подхода к проблеме, подходящего ко всем ситуациям. Поэтому, в этом году, я поставил себе задачу изучить, какие решения для управления секретами приложения и инфраструктуры существуют, решить, которое из них я считаю лучшим и освоить его. В конце исследования, я пришел к выводу, что HashiCorp Vault перехвален, а Mozilla SOPS с KMS и Git неоправданно недооценены.

Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии9

WPF, UWP, WinUI, MAUI, Windows App SDK

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

Человека далёкого от клиентской разработки на Windows все эти термины определённо путают. И даже среди MS-сообщества регулярно возникают споры жив UWP или мёртв. Причем главный вопрос в этом споре - а что же такое UWP?

Вот уже года 3 Microsoft проводит "рефакторинг" в своём "королевстве".  Несколько устав видеть одни и те же споры в твиттере, и оставлять одни и те же комментарии на хабре, я решил расписать как же многочисленные UI-фреймворки MS соотносятся между собой. Кто из них больше мёртв. Возможно, кому-то это поможет в выборе технологии для будущего проекта.

Читать далее
Всего голосов 32: ↑31 и ↓1+30
Комментарии40

Рейтинг лучших бесплатных программ для 3D-моделирования (для начинающих) на весну 2021 года

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

Существуют сотни различных бесплатных программных инструментов для 3D-моделирования для новичков, желающих создать свои собственные 3D-модели. Пользователи могут экспортировать свои модели и либо напечатать их на 3D-принтере, либо разместить в интернете, чтобы другие могли загрузить их бесплатно или за деньги.

Эти программы варьируются от простых в использовании для новичков до профессиональных, на изучение которых могут уйти годы. Поэтому мы создали свой список лучших бесплатных программ для 3D-моделирования, чтобы помочь вам сделать выбор.

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

Читать далее
Всего голосов 23: ↑20 и ↓3+17
Комментарии26
1
23 ...

Информация

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