Search
Write a publication
Pull to refresh
-1
0
Михаил @MuKPo6

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

Send message

В изоляции. История появления и развития контейнеров

Level of difficultyEasy
Reading time9 min
Views10K


У всего на свете есть своя история. В некоторых случаях она полна неожиданных поворотов, как сюжет детективного романа, в других довольно-таки проста и незатейлива. Имеется история и у двух самых популярных систем контейнеризации: Docker и Kubernetes. О появлении и эволюции развития этих востребованных технологий рассказывает сегодняшняя статья.
Читать дальше →

[HTTP API & REST] Организация HTTP API согласно принципам REST

Level of difficultyHard
Reading time10 min
Views8.8K

Это глава 37 раздела «HTTP API & REST» моей книги «API». Второе издание книги будет содержать три новых раздела: «Паттерны API», «HTTP API и REST», «SDK и UI‑библиотеки». Если эта работа была для вас полезна, пожалуйста, оцените книгу на GitHub, Amazon или GoodReads. English version on Substack.

Перейдём теперь к конкретике: что конкретно означает «следовать семантике протокола» и «разрабатывать приложение в соответствии с архитектурным стилем REST». Напомним, речь идёт о следующих принципах: операции должны быть stateless; данные должны размечаться как кэшируемые или некэшируемые; интерфейсы взаимодействия между компонентами должны быть стандартизированы; сетевые системы многослойны.

Эти принципы мы должны применить к протоколу HTTP, соблюдая дух и букву стандарта: URL операции должен идентифицировать ресурс, к которому применяется действие, и быть ключом кэширования для GET и ключом идемпотентности — для PUT и DELETE; HTTP‑глаголы должны использоваться в соответствии с их семантикой; свойства операции (безопасность, кэшируемость, идемпотентность, а также симметрия GET / PUT / DELETE‑методов), заголовки запросов и ответов, статус‑коды ответов должны соответствовать спецификации.

Читать далее

Почему классы лучше чем функции при разработке масштабных продуктов на PHP

Level of difficultyEasy
Reading time4 min
Views16K

Дисклэймер: мне нужно было объяснить моему сотруднику зачем нужны классы в принципе, а именно в чём их преимущество перед функциями (*не функциональным программированием). Я начал фантазировать примеры кода, и написал много комментариев. В итоге я посмотрел на то что получилось и подумал - а не дерзнуть ли в песочницу на Хабре?

Читать далее

Можно ли стать толще в дефиците энергии или стройнее в профиците? И почему картинка на постере — полный бред?

Level of difficultyEasy
Reading time6 min
Views28K

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

Читать далее

Что под капотом у нейронной сети. Нейросеть c точки зрения математики и программирования

Level of difficultyEasy
Reading time3 min
Views29K

Цель данной публикации – комплексное рассмотрение строения искусственных нейронных сетей c точки зрения и математики и программного кода. В данной работе нейронная сеть реализуется на языке Python с использованием библиотеки tensorflow.keras. Статья сосредоточена в основном на строении и функционировании искусственной нейронной сети, поэтому такие этапы как обучение и т.д. в ней не затрагиваются.

Читать далее

5 кейсов, как разработчику помогает знание DevOps-инструментов

Reading time7 min
Views4.7K

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

Мы пообщались с Владиславом Килиным — тимлидом в компании Coolblue.nl — и узнали, как понимание DevOps-инструментов помогает разработчику улучшать рабочие процессы и эффективно справляться с задачами. 

Читать далее

Дорожная карта DevOps: от новичка до эксперта

Level of difficultyEasy
Reading time6 min
Views54K
image

Медианная зарплата DevOps-инженеров в России — 235 000 руб. Выглядит заманчиво, но порог входа в профессию высокий. Чтобы стать экспертом в области DevOps, нужно получить опыт работы с Linux и облачными платформами, выучить языки программирования, освоить инструменты автоматизации и виртуализации.

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

Читать дальше →

Игровая революция: Как передовые технологии меняют геймдев

Reading time9 min
Views14K

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

Читать далее

О спинорах человеческим языком

Level of difficultyHard
Reading time7 min
Views16K

Одной из самых больших сложностей в осознании квантовой механики для меня стали спиноры. Действительно, откройте любое популярное изложение, и вам навешают лапшу на уши о то что "спинор - это такой объект, который при повороте на 360 градусов превращается в свою противоположность". Полезное определение? Кажется не очень.

Ну хорошо, черт с ними с популярными изложениями. Откроем учебник физики. Представление векторов как матриц (почему, откуда?), их разложения по столбцам и строкам, какие-то стрелочки \left| \uparrow \right>, \left| \downarrow \right>, матрицы Паули, Гамма-матрицы, вся эта дичь вроде работает и ее можно использовать для решения уравнения Дирака, но выглядит ли это разумным человеческим языком?

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

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

Читать далее

Долгоиграющие приложения на PHP

Level of difficultyMedium
Reading time15 min
Views23K

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

Меня зовут Александр Пряхин, я TechUnit Lead в Авито. В IT работаю уже 14 лет. Из них 8 лет руковожу командами. Параллельно с этим преподаю и менторю. Сегодня разберём, как готовить демонов на PHP — от А до Я, и почему это актуально.

Читать далее

Расширенные концепции JavaScript для написания качественного, поддерживаемого кода

Level of difficultyEasy
Reading time15 min
Views9.2K

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

В этой статье я буду объяснять некоторые из продвинутых концепций JavaScript, которые должны быть известны каждому опытному разработчику.

Читать далее

Правда о кофеине: как кофе на самом деле влияет на наш организм

Reading time8 min
Views17K


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

Кофе. Живительная жидкость. Жидкое золото. И все его психоактивные свойства. Когда-то кофе использовали суфийские мистики как средство для концентрации во время религиозных ритуалов, а сейчас это один из самых распространённых напитков на планете: все вместе мы выпиваем около 2 млрд. чашек в день.

Это также один из самых ценимых напитков. Один из самых востребованных сортов, Black Ivory, который получают из ягод арабики, переваренных слонами, продаётся по цене более 200 000 ₽ за килограмм, а чемпионаты по приготовлению кофе собирают тысячи зрителей.

Но что на самом деле он делает с вами? Вы, возможно, смутно представляете, что кофеин пробуждает вас, может нарушить сон и способствовать спортивным достижениям, но знаете ли вы, сколько его можно пить без вреда для здоровья? Типичный американо содержит более 100 биологически активных ингредиентов, помимо кофеина. Так что вы знаете о «наркотике», который вы пьёте два или три раза в день? Что происходит в вашем организме, когда вы пьёте двойной эспрессо по утрам?
Читать дальше →

Простая процедурная генерация мира, или Шумы Перлина на Python

Level of difficultyEasy
Reading time5 min
Views27K

Недавно я выпустил статью, в которой рассказал о библиотеке Ursina Engine и показал, как создать свою трехмерную игру на Python. Между разделами вскользь упомянул про шум Перлина. Это один из базовых алгоритмов процедурной генерации, который можно использовать для создания красивых игровых миров. Хочу рассказать о нем подробнее и показать, как работать с модулем perlin-noise.

Если вам интересно, как просто генерировать реалистичные трехмерные ландшафты на Python, добро пожаловать под кат!
Читать дальше →

Bleeding-edge обход блокировок с полной маскировкой: настраиваем сервер и клиент XRay с XTLS-Reality быстро и просто

Level of difficultyEasy
Reading time11 min
Views573K

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

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

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

Читать далее

Математический подход к выбору девушки*. Правило 37%

Level of difficultyEasy
Reading time7 min
Views49K


В наше время многие находят вторую половинку в интернете: на тематических форумах и в онлайн-сообществах, в играх, на сайтах знакомств и приложениях вроде «Тиндера», где знакомства вообще поставлены на конвейер. Если десять лет назад 22% всех браков в США начинались со знакомства в интернете, то сейчас доля онлайн-знакомств превысила 39%. По сути, интернет стал основным способом знакомства мужчин и женщин, как долговременного, так и краткосрочного. Это очень удобно для гиков и специалистов с техническим образованием, поскольку мы получаем конкурентное преимущество, используя привычные инструменты. Например, можно поддерживать десятки чат-сессий в десктопном приложении или применять методы численного анализа в Excel/Google Sheets.

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

Простой способ развернуть телеграмм бота с Aiogram + Webhook на хостинг

Level of difficultyEasy
Reading time4 min
Views24K

Расскажу самый простой и бесплатный способ развернуть на хостинге телеграмм бота, написанного на aiogram и перевести на webhook. Посмотреть видео-версию, которую я разместил, можно на https://youtu.be/Gw-cVvsaOGE .

Бот будет работать 24/7 пожизненно.

Без использования VPS, фреймворка (django, flask, fastapi,..), pythonanywhere и heroku.

Краткое содержание действий:

Пункт 1. Сохранить пример к себе, регистрация на хостинге.

Пункт 2. Через FTP поместить наш файл бота на хостинге.

Пункт 3. Через SSH установить библиотеку aiogram.

Пункт 4. Настроить сервис бота на хостинге.

Пункт 5. Настроить веб-сайт на переадресацию всех запросов на сервис бота.

Пункт 6. Отредактировать файл запуска бота с учетом наших настроек.

Пункт 7. Перезапуск сервиса бота, проверка бота. Просмотр логов.

________________________________________________________

Пункт 1. Сохранить пример к себе, регистрация на хостинге.

Идем на страницу официальной документации:

https://docs.aiogram.dev/en/v2.25.1/examples/webhook_example.html

Копируем содержимое webhook_example.py к себе в файл webhook.py и сохраняем.

Читать далее

Самостоятельное обучение стало проще с Notion AI. Онлайн школы скоро вымрут? Пример SQL курса

Level of difficultyEasy
Reading time3 min
Views11K

Самостоятельное обучение стало проще с Notion AI. Онлайн школы скоро вымрут?Пример SQL курса.

Читать далее

Самый детальный разбор закона об электронных повестках через Госуслуги. Как сняться с военного учета удаленно

Level of difficultyEasy
Reading time19 min
Views253K

Новый закон об электронных повестках потенциально касается практически всех российских мужчин от 18 до 70 лет. Я узнал у адвоката со специализацией в вопросах мобилизации, чем конкретно нам грозят эти нововведения, и можно ли как-то «выписаться из военкомата» удаленно.

Читать далее

Механизм автопилота мозга управляет сознанием

Reading time17 min
Views13K
Представления Фрейда о темном, либидном бессознательном устарело. Новая теория утверждает, что мозг производит непрерывный поток бессознательных предсказаний.


Иллюзия треугольника Каницца свидетельствует о том, что восприятие основано на неявных выводах. Зрительная система конструирует воображаемый треугольник как способ “объяснить” расположение окружностей. Источник: Scientific American

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

Согласно теории “предсказательного разума” сознательный опыт возникает только тогда, когда скрытые ожидания мозга не оправдываются.

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

Что такое «белые дыры» и существуют ли они на самом деле?

Level of difficultyMedium
Reading time8 min
Views22K

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

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

Information

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

Specialization

Fullstack Developer, Web Developer
Lead
Git
Linux
OOP
PHP
MySQL