Pull to refresh
1
0.1

Бэкенд-разработчик

Send message

Глобальный сбой в системах Microsoft поставил мир на грань техноапокалипсиса. Но почему в России все в порядке?

Level of difficultyEasy
Reading time3 min
Views47K

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

Читать далее
Total votes 140: ↑33 and ↓107-67
Comments64

Как сварить лягушку: в российском IT растёт число самозанятых

Reading time2 min
Views37K

За последние 4 года доля самозанятых в IT выросла в 20 раз. Рост начался в пандемию, начало СВО его подстегнуло. Компании не нарадуются: платить налогов за самозанятых надо в разы меньше, ТК фактически не защищает таких сотрудников. Прибыли на ровном месте вырастают на 20-30%. Тем работникам, кто ещё работает по ТК, стоит задуматься.

Читать далее
Total votes 85: ↑59 and ↓26+48
Comments286

Cloudflare положил наш сайт после того, как мы отказались выплатить 120 000 $ в течение 24 часов

Reading time9 min
Views129K
Я работаю системным оператором в довольно крупном онлайн-казино (мне представляется, что материал статьи может быть полезен читателям вне зависимости от их позиции касательно этичности казино в целом – упоминаю об этом просто для контекста). У нас около четырех миллионов активных пользователей в месяц. С Cloudflare мы охотно сотрудничаем с 2018 года по тарифу «Бизнес», который стоит 250 $ в месяц и предоставляет неплохие возможности, включая безлимитный трафик.

Нужно признать, 250 $ — невеликие деньги за те объемы трафика, которые мы прогоняли через Cloudflare. В основном мы используем Cloudflare для CDN (кэшируем весь свой статический контент) и для защиты от DDOS-атак – с этими задачами сервис хорошо справляется. Работать с ним просто, и обычно ни о чем не приходится особенно задумываться.

Я читал несколько статей на Hacker News, где рассказывалось, как в какой-то момент Cloudflare связывается с компаниями и начинает агрессивно навязывать корпоративный тариф на персональных условиях. Но я не ожидал, что всё будет настолько плохо.
Читать дальше →
Total votes 222: ↑214 and ↓8+248
Comments400

Как заставить говорить по-русски World Of Warcraft с помощью AI

Level of difficultyHard
Reading time18 min
Views6.7K

Здравствуйте-здравствуйте, играю я значит в классический World of Warcraft и понимаю, что игра тосклива из-за отсутствия более-менее озвученных квестов. Конечно, инди-студия Метелица не способна озвучить всю свою игру, да и понятно, что сюжет развивается, а люди имеют свойство менять работу или, да это печально, физической гибели, как например случилось с озвучкой Артаса Менетила в Warcraft III: Frozen Throne.

В общем, заваривайте чай, как и все мои предыдущие публикации, эта статья в формате (б|в)лога.

Читать далее
Total votes 13: ↑11 and ↓2+10
Comments7

Радикальная защита селфхостинга. Уровень: хардвар и хардкор

Level of difficultyMedium
Reading time6 min
Views11K

Сейчас у многих есть свой личный сервер. Насколько вы задумывались о безопасности? Настроили вход по ssh‑ключам, firewall и на этом всё? Давайте поговорим про РЕАЛЬНУЮ безопасность.

Эта статья о том, как запариться, распилить свой ноутбук болгаркой, вставить туда микроконтроллер и интегрировать всё это с умным домом. Или по‑простому: радикальная защита селфхостинга — уровень «хардкор».

Вводные
У меня был старый ноутбук Thinkpad t440p, который лежал без дела. Я решил сделать на нем селфхостинг.

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

Убираем JavaScript. Как при помощи htmx красиво использовать HTML и уменьшить объем кода

Reading time6 min
Views51K

htmx — инструмент для создания сложных и интерактивных веб-приложений на HTML, альтернатива клиентскому рендерингу на Javascript. В этой статье рассказываем, как библиотека помогает переиспользовать элементы на сервере, сократить объем кода на Javascript и отказаться от сборки.

Читать далее
Total votes 16: ↑11 and ↓5+10
Comments24

Парочка open source решений по доставке уведомлений

Reading time6 min
Views7K

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

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

Снова о распознавании рукописного текста, на этот раз с помощью CRNN

Reading time5 min
Views9.1K

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

Задача классификации изображений на датасете ImageNet – ярчайший пример того, что нейросети превзошли человека (внимание: еще в 2016 году).

Давайте посмотрим
Total votes 5: ↑5 and ↓0+5
Comments7

Посторонись, Copilot: подборка разнообразных AI-инструментов для разработчиков

Level of difficultyEasy
Reading time4 min
Views35K

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

Читать далее
Total votes 26: ↑24 and ↓2+30
Comments8

Криптография перед эпохой квантовых вычислений

Level of difficultyMedium
Reading time10 min
Views6.7K

Недавно мы провели встречу экспертного сообщества по криптографии и квантовым технологиям, в которой приняли участие ведущие российские компании данной отрасли – «Российский квантовый центр», QApp, «Криптонит», «КриптоПро», «ЭЛВИС-ПЛЮС» и другие. На мероприятии обсудили развитие квантовых и гибридных вычислительных алгоритмов, разработку квантовых компьютеров и связанные с этим вызовы для криптографии. Эксперты обозначили ряд принципиальных моментов, подробнее о которых мы расскажем в этой статье.

Какие бывают квантовые компьютеры?

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

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

Где актуальны квантовые алгоритмы?

«Какими бы ни были по своей природе компьютеры будущего, сейчас нужно разрабатывать универсальные квантовые алгоритмы, без которых вычислительная система с любым количеством кубитов окажется дорогой и бесполезной железкой. В своей практике мы часто сталкиваемся с задачами комбинаторной оптимизации. Именно на них мы таргетируем свои исследования и разработку своих алгоритмов», — сказал эксперт компании QBoard Антон Божедаров.

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

Архитектура высоконагруженных телеграм-ботов на Python

Level of difficultyMedium
Reading time22 min
Views31K


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

Мессенджеры стали нашими неотъемлемыми спутниками, а их потенциал не ограничивается простым обменом сообщениями. Боты обеспечивают автоматические решения задач, которые ранее требовали участия человека. Они работают как виртуальные ассистенты, способные отвечать на вопросы, предоставлять информацию, обрабатывать заказы, делать рекомендации и многое другое.
Читать дальше →
Total votes 15: ↑14 and ↓1+15
Comments14

Пароль не нужен. Разбиение файла на зашифрованные фрагменты по схеме Шамира

Reading time4 min
Views14K


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

Например, простенькая утилита horcrux (крестраж*) разбивает файл на несколько зашифрованных частей (например, пять), причём для дешифровки и восстановления исходного текста не нужен пароль, а нужно найти и соединить несколько из этих частей (например, три). Предполагается, что сами отдельные части хранятся у разных людей в разных местах и/или надёжно спрятаны, например, в разных местах дома, сейфах, банковских ячейках и т. д.

*Крестраж — волшебный артефакт, созданный с помощью тёмной магии, из вселенной Гарри Поттера.
Читать дальше →
Total votes 24: ↑23 and ↓1+29
Comments14

Fooocus v2 — бесплатный Midjourney у вас на компьютере. Подробная инструкция по установке и использованию нейросети

Level of difficultyEasy
Reading time10 min
Views279K

Друзья, всем привет! Сегодня я хочу рассказать вам про самую простую и доступную для понимания нейросеть, которая создает изображения по вашему текстовому описанию. Она называется Fooocus и основана на знаменитой Stable Diffusion XL. Это идеальное решение в качестве вашей первой нейросети, и необходимый инструмент для любого дизайнера или контент мейкера.

Внутри много тяжелых изображений.

Читать далее
Total votes 90: ↑87 and ↓3+114
Comments216

Подсказки по типам Python — Как сузить количество типов с помощью TypeGuard

Reading time2 min
Views4.7K

Ранее я уже рассказывал о сужении типов с помощью isinstance(), assert и Literal. В сегодняшней заметке мы рассмотрим TypeGuard, новый специальный тип, который позволяет нам создавать кастомные функции сужения типов.

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

Теория строения скрытых систем

Reading time48 min
Views6.3K

Повсеместная централизация существующих систем представляет собой исторически-закономерное развитие Интернет-коммуникаций в целом. Возникшие изначально системы коммуникаций, как независимые и децентрализованные, неизбежно пришли к своему постепенному и логическому отмиранию, к постоянному расширению, поглощению и уничтожению централизацией, к концентрации линий связи и к монополии соединений [1]. Существующая централизация, представляя свои отрицательные характеристики, зародила одновременно и безусловные преимущества, противоречиво ставшие для нас каноном дальнейшего развития сетевых взаимодействий. Комфорт, простота использования и лёгкость поддержки повлекли за собой значительные риски компрометации личной, профессиональной или секретной информации. Скрывая, но не защищая, система начала манипулировать общественным сознанием, создавая иллюзию уже существующей безопасности и параллельно её незначимости, акцидентальности и даже обсценности.

Таков «театр безопасности» преследует в первую очередь экономическую цель, базовым интересом которой безусловно служит искусство продать рекламу, сделать так, чтобы «релевантность» запросов постоянно преследовала конечных покупателей, достигала их и покоряла «альтруизмом» маркетологов. Прибыль как цель - такова основная суть современной централизации, где комфорт, удобство и простота делают её всего-навсего более достигаемой и осуществимой [2]. Все вытекающие политические интересы (в основе которых лежат запреты и цензура) служат только продолжением экономических, где давление и поглощение какой бы то ни было конкуренции, оппозиции и сопротивления является способом сдерживания уже устоявшихся основоположений. Таким образом, обобщая, можно заметить связь, где экономическая составляющая играет роль распространения информации, а политическая основа сдерживает её распространение для иных (децентрализованных систем, как неконтролируемых средств распространения информации) и схожих участников ролевой модели (централизованных конкурентов, как соперников маркетинга и прибыли). Любое возрождение децентрализации, в идее которой лежит безопасность пользователей, является априори враждебной и приводящей к дальнейшему и скорейшему её подавлению, вплоть до уничтожения [3], т.к. в отличие от централизованных конкурентов, никак не разрушающих устоявшуюся систему, децентрализованная система представляет значительную угрозу, потому как приводит к разложению концентрированных соединений и к зарождению ризоморфных положений.

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

Anki — настолько круто, что я даже представить не мог

Reading time4 min
Views157K

Если вдруг кто не знает, Anki - это бесплатная opensource программа для запоминания слов (и не только). Есть версии под декстоп и мобилы. Она довольно популярна при этом имеет интуитивно-НЕпонятный интерфейс. Мне понадобилось много лет, чтобы понять, насколько она крута, т.к. базовые статьи и туториалы этого не описывают. А многие люди используют ее даже не понимая ее возможностей.

Впервые про Anki я услышал много лет назад. Может быть 10 или больше, точно сказать сложно. Прочитал здесь на Хабре, что есть такая крутая штука как интервальное повторение, и что Anki как раз такая программа, которая использует этот механизм. Помню что в статье рассказывалось только про версию под декстоп.

Читать далее
Total votes 69: ↑60 and ↓9+66
Comments145

Быть инженером, а не фреймворкером

Level of difficultyEasy
Reading time9 min
Views29K

Эта статья — призыв к самосовершенствованию. У вас все получится. Станьте инженером.

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

Что же такое фреймворки? Фреймворки — это инструменты разработки ПО, которые обеспечивают базу для реализации проектов определенного типа. Так, если вам нужно написать одностраничное веб-приложение на TypeScript, необязательно делать это с нуля, ведь есть Angular. Хотите заняться машинным обучением на Python? Позвольте представить вам моих друзей Scikit-Learn и Keras. Хотите построить бэкенд на C#? (О боже, вы чертовски круты.) Уверен, вы уже знакомы с ASP.NET. Можно продолжать эту мысль на протяжении еще 1500 слов, но вы и так все прекрасно поняли.

Зная какой-либо фреймворк, вы сможете получить должность, в названии которой есть слово «инженер» и, возможно, «машинное обучение». Если вы владеете двумя фреймворками, то запросто устроитесь на вакансию, в заголовке которой будет присутствовать словосочетание «full stack». Однако если вы собираетесь добиться успеха на следующей работе — той, на которую вас примут, потому что в вашем резюме указано 3-5 лет «инженерного» опыта, — ваш набор навыков должен быть гораздо глубже, нежели знание парочки фреймворков. Иначе нервы у вас сдадут еще на этапе прохождения испытательного срока.

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

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

Курс по изучению Kotlin и Android Studio с нуля до Junior. #1 Введение. Установка Android Studio

Level of difficultyEasy
Reading time4 min
Views22K

Всем привет, меня зовут Антон и сегодня я начинаю новый курс по созданию мобильных приложений для операционной системы Android с помощью среды разработки Android Studio и языка программирования Kotlin.

На сегодняшний день Kotlin является предпочтительным языком программирования для создания мобильных приложений.

Читать далее
Total votes 11: ↑6 and ↓5+5
Comments11

C++20 утверждён! Чего ждать и к чему готовиться разработчикам в C++23

Reading time6 min
Views62K
На днях в Праге прошла встреча международного комитета по стандартизации C++. И-и-и-и…



C++20 готов! Осталось поставить штампик от ISO, но это чисто формальный шаг, с которым не должно быть проблем.

Поздравляю всех с этим замечательным событием! Concepts, Coroutines, Modules, Ranges, std::format, constexpr new и constexpr алгоритмы+vector+string, datetime, jthread, span, bit_cast и многие другие мелкие и большие нововведения.

Что успели добавить и поправить в последний момент, что предложили разломать и что все хотят видеть в C++23 — обо всём этом под катом.
Читать дальше →
Total votes 54: ↑51 and ↓3+72
Comments407

Information

Rating
4,047-th
Registered
Activity