Pull to refresh
0
0
Михаил @MuKPo6

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

Send message

Сначала войдите через Телеграм

Reading time 5 min
Views 36K

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

Читать далее
Total votes 66: ↑63 and ↓3 +60
Comments 51

Вы за это заплатите! Цена Чистой Архитектуры. Часть 1

Level of difficulty Medium
Reading time 11 min
Views 19K

Всем привет, меня зовут Артемий, я работаю старшим Android-разработчиком в команде пользовательского профиля в RuStore. Мой опыт в индустрии уже 8 лет. За это время я успел поработать в разных проектах и компаниях. У меня был опыт работы в проекте, в котором было свыше 300 модулей и больше 60 Android-разработчиков. Такие условия заставляют задуматься о масштабируемости на принципиально ином уровне.

Сегодня я расскажу о способах обеспечения масштабируемости проекта и как этому может навредить неправильное восприятие Чистой Архитектуры (далее — ЧА). Предупреждаю сразу, это лонгрид в двух частях!

Читать далее
Total votes 63: ↑60 and ↓3 +57
Comments 63

Async/await, There is no thread – легко обмануть тех, кто сам обманываться рад

Level of difficulty Medium
Reading time 3 min
Views 13K

Когда нам показывают на некотором примере, что асинхронная операция не создает потока, нам пытаются внушить, что асинхронная операция НИКОГДА не создает потока и в принципе не может его создать, но это не правда! Простой пример с работающим кодом доказывает обратное. Давайте разберем этот пример.

Логика тех, кто поддается такому внушению мне вполне понятна, они хотят упростить себе жизнь, сократить объем теории, с которой надо разбираться.

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

Читать далее
Total votes 19: ↑10 and ↓9 +1
Comments 55

Краткий обзор токенизаторов: что это такое и зачем это надо?

Level of difficulty Easy
Reading time 9 min
Views 2.5K

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

Так как это сделать?

Вы можете просто пролистать книгу и прочитать ее с начала до конца, буквально вручную находя всех котиков, но… Это может занять много времени и усилий. Гораздо проще будет воспользоваться индексом в конце книги, где перечислены все места, где упоминается слово «кот». Проблема в том, что в обычной печатной книге такого нет, а вот если вы читаете электронку — да, вполне. Можно воспользоваться поиском по слову.

Но это вы так можете, а вот компьютеры — нет.

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

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

Токенизаторы, подобно электронным поисковым системам для текста, помогают компьютерам эффективно найти и организовать нужную информацию, так же как электронные индексы в электронных книгах облегчают поиск конкретных фраз. Без них компьютерам было бы гораздо сложнее «понимать» и анализировать текстовые данные.

Читать далее
Total votes 8: ↑7 and ↓1 +6
Comments 2

Новая современная СУБД SoQoL. Посмотрим на неё внимательнее

Level of difficulty Medium
Reading time 6 min
Views 11K

Вышел первый коммерческий релиз СУБД реляционного типа — SoQoL версии 3.0.0. В русском варианте название СУБД звучит как СОКОЛ.

Что это за птица?
Total votes 23: ↑19 and ↓4 +15
Comments 81

Размышления о физической природе пространства

Level of difficulty Medium
Reading time 6 min
Views 19K

В научно-популярных статьях довольно распространена картинка, где пространство иллюстрируется посредством координатной сетки. Есть некоторый координатный куб, а внутри куба расположена «территория существования» всего мира или хотя бы…отдельной комнаты (масштаб для понимания проблемы никакого значения не играет).

Читать далее
Total votes 30: ↑10 and ↓20 -10
Comments 94

Что такое архитектура приложений MACH и есть ли там технологический прорыв — кроме пиара и маркетинга

Level of difficulty Easy
Reading time 8 min
Views 2.1K

Вы наверняка слышали термин «MACH-архитектура», которая включает в себя Микросервисы, API-First дизайн, Cloud-Native инфраструктуру и Headless фронтенд. На Хабре тема MACH архитектуры практически не поднимается ввиду как сложности полной реализации и того факта, что MACH обычно ассоциируют только с E-Commerce уровня enterprise. Настораживает, что вокруг МАСН много пиара, но очень мало кейсов внедрений. Собственно, данный обзор — об этом.

Читать далее
Total votes 8: ↑7 and ↓1 +6
Comments 0

«Уэбб» собрал новые данные, проливающие свет на окончание «тёмных веков» Вселенной

Reading time 4 min
Views 6.5K

Примерно 400 000 лет после Большого взрыва космос был очень тёмным местом. Свечение, вызванное взрывным рождением Вселенной, остыло, и космос был заполнен плотным газом — в основном водородом — без каких-либо источников света.

Медленно, в течение сотен миллионов лет, газ под действием гравитации стягивался в сгустки, которые в итоге стали достаточно большими, чтобы запустить ядерный синтез. Это были первые звёзды.

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

Читать далее
Total votes 11: ↑10 and ↓1 +9
Comments 3

Состояние потока. Как провалиться в бессознательное состояние и что этому способствует?

Reading time 5 min
Views 19K

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

Читать далее
Total votes 29: ↑10 and ↓19 -9
Comments 23

Как я настраивал WireGuard Server на MikroTik

Level of difficulty Medium
Reading time 7 min
Views 11K

После недавнего приобретения роутера MikroTik, у меня встала задача настроить на нём WireGuard сервер для удалённых клиентов. Если вы, как и я, никогда до этого не настраивали сервер WireGuard, то это статья для вас.

Читать далее
Total votes 8: ↑6 and ↓2 +4
Comments 26

Лучшие практики модульного тестирования

Reading time 7 min
Views 3K

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

Читать далее
Total votes 5: ↑4 and ↓1 +3
Comments 1

SQL в Фокусе: Полное Руководство. 100 ключевых Вопросов с собеседований

Level of difficulty Medium
Reading time 65 min
Views 30K


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

Давайте погружаться в мир SQL и раскрывать его тайны через популярные вопросы и ответы с собеседований. Готовы начать?

Читать
Total votes 34: ↑23 and ↓11 +12
Comments 27

Кратко про NewSQL

Level of difficulty Easy
Reading time 4 min
Views 14K

Привет, Хабр! 🚀

NewSQL - это класс систем управления реляционными БД, представляет собой слияние преимуществ SQL-бд с инновациями, направленными на решение проблем масштабируемости и производительности.

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

Помимо базового SQL синтаксиса, многие NewSQL системы вводят дополнительные расширения, направленные на улучшение производительности Эти расширения могут включать в себя новые функции, процедуры и методы оптимизации запросов, которые традиционные SQL-системы не поддерживают.

В сегодяшней статье рассмотрим в общем виде то, что из себя представляет NewSQL

Читать далее
Total votes 20: ↑13 and ↓7 +6
Comments 9

Эффективное обновление состояний в БД из сервисов потоковой обработки событий

Level of difficulty Medium
Reading time 10 min
Views 2.4K

Как хранить сложные сущности в БД? Что нужно сделать, чтобы не перезаписывать весь рекламный баннер для обновления одного лишь заголовка? Рассмотрим как минимум 5 независимых и взаимно совместимых идей для многократного снижения нагрузки на чтение и запись подобных объектов.

Меня зовут Юрий Печатнов, я уже 6 лет работаю в Яндексе и занимаюсь сервисами потоковой обработки. Это большие распределенные системы, читающие сообщения из большой распределенной очереди и создающие полезный выход. Полезным выходом могут быть сообщения в другой распределенной очереди и/или обновление состояний в БД. Поговорим о том, как их эффективно обновлять.

Читать далее
Total votes 6: ↑6 and ↓0 +6
Comments 9

Хэл Финни не был Сатоши Накамото

Level of difficulty Easy
Reading time 10 min
Views 10K

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

Читать далее
Total votes 32: ↑28 and ↓4 +24
Comments 7

Предложена дикая идея, способная разгадать загадку чёрных дыр

Reading time 5 min
Views 72K

Есть вероятность, что мы неправильно понимаем чёрные дыры.

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

Но чем больше мы их изучаем, тем больше чёрные дыры отказываются сотрудничать с этой картиной, родившейся из общей теории относительности Альберта Эйнштейна — масштабной модели, объясняющей работу гравитации на вселенских масштабах. Мы не до конца понимаем, что происходит в центрах и на границах чёрных дыр. Чёрные дыры могут быть даже не совсем чёрными, поскольку они могут испускать небольшое количество излучения. И, пожалуй, самое неприятное то, что они не очень хорошо согласовываются с нашими представлениями о том, как энергия и материя могут работать в крошечных квантовых масштабах, по мере того, как эти представления становятся всё более понятными и определёнными.

Читать далее
Total votes 94: ↑89 and ↓5 +84
Comments 103

«Ферми» обнаружил гамма-лучи неожиданного характера, пришедшие к нам из-за пределов нашей Галактики

Reading time 4 min
Views 5.3K

Астрономы, анализирующие собранные за 13 лет данные космического телескопа Fermi Gamma-ray Space Telescope НАСА, обнаружили неожиданную и пока необъяснимую особенность за пределами нашей галактики.

«Это совершенно неожиданное открытие, — сказал Александр Кашлинский, космолог из Университета Мэриленда и Центра космических полётов имени Годдарда НАСА в Гринбелте, который представил результаты исследования на 243-м заседании Американского астрономического общества в Новом Орлеане. — Мы искали один сигнал, а обнаружили другой, гораздо более сильный, причём в другой части неба».

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

Разбираемся с работой брокеров, или Что такое гарантия доставки сообщений и как с этим жить…

Level of difficulty Medium
Reading time 12 min
Views 3.8K

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

Читать далее
Total votes 15: ↑14 and ↓1 +13
Comments 10

По локоть в легаси: пошагово перезапускаем устаревший портал на PHP

Level of difficulty Medium
Reading time 10 min
Views 11K

PHP — один из самых популярных языков веб-разработки уже около 20 лет, а самому языку скоро стукнет 30. За это время на нем написали огромное количество больших и маленьких проектов. Некоторые сайты, созданные в 90-х, 00-х и 10-х, хранят код еще с тех давних времен. И чем больше времени проходит с начала разработки, тем меньше на рынке специалистов, готовых разбираться в легаси и не самых современных технологиях.

В похожей ситуации оказался портал fishingsib.ru — один из крупнейших в рунете сайтов о рыбалке, который посещают больше 10 000 человек ежедневно. Он создавался в начале 2000-х как форум для рыбаков-любителей и пережил несколько довольно серьезных обновлений кодовой базы. Последнее из них — переезд на CakePHP 2 в 2012 году. На этом фреймворке и PHP 5 сайт жил до 2017 года.

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

Читать далее
Total votes 57: ↑57 and ↓0 +57
Comments 15

Угроза появления квантового компьютера для современной криптографии и шифрования

Level of difficulty Medium
Reading time 15 min
Views 5.3K

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

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

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

Читать далее
Total votes 9: ↑6 and ↓3 +3
Comments 7

Information

Rating
Does not participate
Location
Одинцово, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Web Developer
Lead
Git
Linux
OOP
PHP
MySQL