Pull to refresh
2
0
Дмитрий @madmis

User

Send message

Топ 10 deepnude нейросетей 2023 года

Reading time5 min
Views490K

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

Итак, в данной статье поговорим о пикантных и для некоторых людей непристойных темах, которые больше всего интересуют наше общество - обнаженное тело. Сделаем обзор таких сервисов как: Deepnude.ai, Deepfake.com, DeepSwap.ai, SoulGen и прочих.

Читать далее
Total votes 113: ↑99 and ↓14+85
Comments68

Repeatable Read или как согласовать чтение в Postgresql

Level of difficultyMedium
Reading time5 min
Views2.3K

В этой статье я на простом примере покажу, как пронаблюдать аномалию несогласованное чтение (read skew) в postgresql, и как уровень изоляции транзакции Repeatable Read позволяет устранить эту аномалию.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments0

Книга «Прикладные структуры данных и алгоритмы. Прокачиваем навыки»

Reading time12 min
Views11K
image Привет, Хаброжители!

Структуры данных и алгоритмы — это не абстрактные концепции, а турбина, способная превратить ваш софт в болид формулы 1. Научитесь использовать нотацию «О большое», выбирайте наиболее подходящие структуры данных, такие как хеш-таблицы, деревья и графы, чтобы повысить эффективность и быстродействие кода, что критически важно для современных мобильных и веб-приложений.

Книга полна реальных прикладных примеров на популярных языках программирования (Python, JavaScript и Ruby), которые помогут освоить структуры данных и алгоритмы и начать применять их в повседневной работе. Вы даже найдете слово, которое может существенно ускорить ваш код. Практикуйте новые навыки, выполняя упражнения и изучая подробные решения, которые приводятся в книге.

Начните использовать эти методы уже сейчас, чтобы сделать свой код более производительным и масштабируемым.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments6

Числа с плавающей точкой для гуманитариев. Что это такое и как они работают

Level of difficultyEasy
Reading time9 min
Views34K

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

В этой статье я простым языком попытаюсь изложить данную тему и помочь решить ряд вопросов: как на самом деле процессор хранит числа с плавающей точкой? Как точка хранится в памяти? Почему при сложении 0.1 + 0.2 получается ответ ~0.30000000000000004? Если по какому-то из этих вопросов вы чувствуете, что не можете дать точный ответ, то эта статья для вас.

Читать далее
Total votes 41: ↑40 and ↓1+39
Comments37

Проектируем реактивное — Message-Driven системы на PHP

Reading time19 min
Views5.7K

Цель этой статьи — показать не только зачем, но и как мы можем создавать приложения на PHP, которые будут устойчивыми, масштабируемыми и податливыми для  изменений. Статья концентрируется на разработке  бизнес-ориентированных приложений, в которых можно четко выделить бизнес-логику, процессы и потоки работ (workflows). Это квинтэссенция моего опыта, накопленного за годы работы над бизнес-ориентированным программным обеспечением в целом и в процессе создания фреймворка для обмена сообщениями Ecotone в частности.

Читать далее
Total votes 12: ↑11 and ↓1+10
Comments8

Репликация между SQL- и NoSQL-базами данных: туда и обратно

Level of difficultyMedium
Reading time9 min
Views5.4K


Часто при построении высоконагруженных проектов задействуют несколько хранилищ. При этом нередко одновременно используют как SQL-, так и NoSQL-базы данных. Такая реализация оправдана, но для её корректной работы надо правильно настроить репликацию данных в одну из сторон. 

Меня зовут Александр Горякин, я разработчик высоконагруженных систем хранения данных в пресейле Tarantool. Не так давно наша команда столкнулась с необходимостью репликации между SQL- и NoSQL-базами данных и успешно решила эту задачу. Я расскажу, что нам нужно было от репликации, какие механизмы и инструменты мы рассматривали, с какими проблемами столкнулись и что получили в итоге.

Статья написана по моему выступлению на HighLoad++ 2022. Вы можете посмотреть его здесь.
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments8

Как не надо индексировать

Reading time5 min
Views37K

Развитие происходит по спирали: когда-то люди не умели правильно индексировать, потом (в основном) научились, потом пришли noSQL и все снова забыли знание древних. Что вы будете делать, когда последние из старых DBA отплывут в Валинор?

Снова и снова и сталкиваюсь с полным набором антипаттернов индексирования. Я их перечислю, но! Для каждого антипаттерна есть исключение, когда именно это и стоит делать. Поэтому кликбейтно сформулированное правило верно в 95% случаях, но если вы хотите копнуть глубже, то прочитайте про исключения.

И в конце полезные скрипты для MSSQL, Postgres и MySQL.

Читать далее
Total votes 44: ↑44 and ↓0+44
Comments25

DBA: находим бесполезные индексы

Reading time12 min
Views18K
Регулярно сталкиваюсь с ситуацией, когда многие разработчики искренне полагают, что индекс в PostgreSQL — это такой швейцарский нож, который универсально помогает с любой проблемой производительности запроса. Достаточно добавить какой-нибудь новый индекс на таблицу или включить поле куда-нибудь в уже существующий, а дальше (магия-магия!) все запросы будут эффективно таким индексом пользоваться.

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

Чаще всего такие ситуации происходят при «долгоиграющей» разработке, когда делается не заказной продукт по модели «написал разово, отдал, забыл», а, как в нашем случае, создается сервис с длинным жизненным циклом.

Доработки происходят итеративно силами множества распределенных команд, которые бывают разнесены не только в пространстве, но и во времени. И тогда, не зная всей истории развития проекта или особенностей прикладного распределения данных в его БД, можно легко «напортачить» с индексами. Но соображения и проверочные запросы под катом позволяют заранее предсказывать и обнаруживать часть проблем:

  • неиспользуемые индексы
  • префиксные «клоны»
  • timestamp «в середине»
  • индексируемый boolean
  • массивы в индексе
  • NULL-мусор
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments6

PunkSpider: поисковик уязвимых сайтов готов к рестарту

Reading time4 min
Views5.7K


История развивается по спирали. На хакерской конференции DEF CON 29 в 2021 году состоялся анонс новой версии PunkSpider — поисковой системы по уязвимостям в веб-приложениях, своеобразного аналога Shodan, только для веб-сайтов. Сканер уязвимостей с фаззингом (перебор всех вариантов) проверяет сайты на наличие самых распространённых, удобно эксплуатируемых багов — и сообщает о них всему интернету.

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

На данную минуту PunkSpider ещё не запустили, на сайте висит заглушка, опубликована только ссылка на расширение для Chrome.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments2

Строим систему доменных событий в модульном монолите

Reading time10 min
Views16K

Всем привет! В этой статье хочу поделиться опытом построения системы доменных событий (domain events) в нашем модульном монолите и микросервисах, рассказать о том, как мы гарантируем их доставку, следим за консистентностью в рамках транзакций, используя transactional outbox, чем доменные события отличаются от интеграционных и всё это в рамках multi tenant приложения. Подробнее под катом.

Читать далее
Total votes 21: ↑21 and ↓0+21
Comments37

Модульный PHP монолит: рецепт приготовления

Reading time10 min
Views20K

Статья написана по мотивам моего доклада на митапе. В нем я рассказываю историю того, как мы взяли и не распилили монолит на микросервисы, и что сделали вместо этого.

На тот момент наша команда работала над приложением, начало которому было положено еще в 2009 году не искушенными в архитектуре студентами. К 2018 это уже был типичный big ball of mud (большой ком грязи), или, этакий «монолит-копролит», как выразился один наш коллега. Думаю, многим знакомо.

Читать далее
Total votes 27: ↑26 and ↓1+25
Comments13

Зачем нужен static при объявлении анонимных функций?

Reading time2 min
Views19K

Буквально на днях пришел вопрос от одного из подписчиков касательно одного из постов моего telegram канала. Его смутил вот такой кусок кода:

usort($firstArray, static function($first, $second) { return $first <=> $second;
});

Вопрос звучал так:

"Зачем делать callback’и в функции сортировки (usort), статическими?"

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

Читать далее
Total votes 67: ↑65 and ↓2+63
Comments14

Почему принципы SOLID не являются надежным решением для разработки программного обеспечения

Reading time6 min
Views11K

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

Фактически, объектно-ориентированное программирование работает лучше всего, когда мы можем отделить то, что останется, от того, что изменится. Принципы SOLID помогают разделять это.

Мне лично нравится идея, лежащая в основе принципов SOLID и я многому из нее научился.

Читать далее
Total votes 28: ↑17 and ↓11+6
Comments19

Знакомьтесь, pass

Reading time7 min
Views30K


Я много лет искал подходящую мне хранилку паролей и недавно наткнулся на Pass на HackerNews. Идея хранить пароли в git-репозитории может выглядеть странно, но в целом это неплохая идея, потому что:

  • Я держу гит-репозиторий локально у себя на компе
  • Все пароли защищены GPG шифрованием, поэтому даже при получении SSH-доступа к моему компьютеру утечка не повлияет на безопасность

Я использую -c чтобы копировать/вставлять пароли. Есть расширение для браузера, но копипейст лично мне удобнее. Проблемы синхронизации с телефоном и всеми linux-дейвайсами тоже не стоит (потому что это всего лишь git).

Делюсь с вами переводом приветственной странички Pass.



Управление паролями должно быть простым и следовать философии Unix. Используя pass, каждый Ваш пароль находится внутри зашифрованного файла gpg, имя которого совпадает с именем ресурса или веб сайта к которому данный пароль привязан. Эти зашифрованные файлы могут быть организованы в удобные иерархии папок, скопированы с носителя на носитель и, в общем, обработаны с помощью любых утилит управления файлами командной строки.

С pass управлять отдельными файлами паролей становится крайне просто. Все пароли хранятся в ~ / .password-store, а pass предоставляет несколько удобных команд для добавления, редактирования, генерации и получения паролей. Это очень короткий и простой Shell скрипт. Он способен временно помещать пароли в буфер обмена и отслеживать изменения паролей с помощью git.
Читать дальше →
Total votes 42: ↑41 and ↓1+40
Comments54

Китайский «Кикстартер» от Xiaomi: лечим бессонницу электричеством и умными подушками

Reading time5 min
Views4.6K

Xiaomi, как я рассказывал раньше, ловко перенесла идею западного краудфандинга на китайскую почву. Идея себя оправдала: проекты на платформе Youpin множатся. Я просмотрел три последних месяца и собрал еще топ-10 успешных проектов. Активнее всего пользователи вкладывались в гаджеты для борьбы с бессонницей, многофункциональные инструменты и умную технику для дома. Интересно узнать, насколько выбор китайских пользователей совпадает с интересами русскоязычной аудитории.

Чем нас сегодня порадует Xiaomi?
Total votes 10: ↑10 and ↓0+10
Comments3

[Личный опыт] Как просто переехать в Словакию и что там делать IT-специалисту на удаленке

Reading time10 min
Views37K

В Германии инженерам хорошо платят, в Португалии тепло, а в Финляндии много стартапов и низкая конкуренция. Но что IT-специалисту делать в Словакии? Стоит ли туда перебираться, и не получится ли, что переедешь в ту же Россию, только в Европе?


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




Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments22

По зубам: гигиена, часть 1

Reading time7 min
Views17K

На это всегда не хватает времени: как вечером хочется поскорее пойти спать, а добраться до зубной щётки сродни подвигу, так и на приёме у стоматолога рассказ о гигиене зачастую ограничивается лаконичным, но явно недостаточным советом: «Купите какую-нибудь щётку средней жёсткости и какую-нибудь пасту с травами и чистите зубы 2 раза в день».



Зубной налёт (макрофото с электронного микроскопа)

Читать дальше →
Total votes 18: ↑15 and ↓3+12
Comments39

0x7E5 Рассуждения о главном

Reading time15 min
Views12K

За 11 лет работы, заметил как недооценивают либо переоценивают те или иные принципы разработки, такие как SOLID и KISS. Как непонимание архитектуры приводит к "аду" вместо "кода". Как любовь к DI приводит к инжекту констант и как ненависть к архитектурам приводит к хаосу. Хотелось бы чуть глубже нырнуть в смысл этих понятий, попытаться раскрыть их для начинающих и, возможно, заставить переосмыслить для опытных программистов.

Нырнуть глубже
Total votes 26: ↑24 and ↓2+22
Comments28

Hello Word смарт-контракт для TON (FreeTON)

Reading time3 min
Views9.8K

Одна из интересных тем, о которой мне хотелось бы сегодня рассказать - это программирование смарт-контрактов. За язык на котором мы будем программировать свой смарт возьмем Solidity, а в качестве платформы будем использовать FreeTON

Читать далее
Total votes 9: ↑7 and ↓2+5
Comments3

Основы программирования смарт-контрактов TON (FreeTON)

Reading time4 min
Views6K

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

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments3
1
23 ...

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity