Как стать автором
Обновить
0
0
Михаил @MuKPo6

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

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

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

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

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

Читать далее
Всего голосов 67: ↑64 и ↓3+61
Комментарии51

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

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

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

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

Читать далее
Всего голосов 64: ↑61 и ↓3+58
Комментарии65

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

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

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

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

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

Читать далее
Всего голосов 21: ↑11 и ↓10+1
Комментарии56

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 8: ↑7 и ↓1+6
Комментарии2

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

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

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

Что это за птица?
Всего голосов 23: ↑19 и ↓4+15
Комментарии81

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

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

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

Читать далее
Всего голосов 30: ↑10 и ↓20-10
Комментарии94

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 11: ↑10 и ↓1+9
Комментарии3

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

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

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

Читать далее
Всего голосов 29: ↑10 и ↓19-9
Комментарии23

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

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

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

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

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

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

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

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

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

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


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

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

Читать
Всего голосов 34: ↑23 и ↓11+12
Комментарии27

Кратко про NewSQL

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

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

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

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

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

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

Читать далее
Всего голосов 20: ↑13 и ↓7+6
Комментарии9

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 32: ↑28 и ↓4+24
Комментарии7

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

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

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

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

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

Читать далее
Всего голосов 94: ↑89 и ↓5+84
Комментарии103

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Информация

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

Специализация

Fullstack Developer, Web Developer
Lead
Git
Linux
OOP
PHP
MySQL