Обновить
-1
0
Михаил@MuKPo6

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

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

Использование оверлейных сетей для обхода NAT

Время на прочтение15 мин
Охват и читатели11K

У меня, как и у многих посетителей Хабра есть raspberry pi. А ещё, почти честные сто мегабит от провайдера домашнего интернета. Идея о маленьком домашнем сервере от такой комбинации появляется сама по себе. Но сервер он ведь на то и сервер, чтобы работал независимо от факта нахождения пользователя в физической доступности. В связи с этим, возникает вопрос, как подключаться к такому серверу удалённо? Обычно провайдеры домашнего интернета прячут своих пользователей за NAT, так как IPv4 на всех не напасёшься. Мой провайдер исключением не является. Внешний статический IP он так же не предоставляет (по крайней мере, такой услуги в ЛК я не нашёл), да и совершенно ни к чему выставлять шлюз в локальную домашнюю сеть во внешний интернет. Shodan, ботнеты, сканеры и краулеры никто не отменял. Раньше для подобной задачи решение было очевидным – виртуальная частная сеть. Однако сейчас, с учётом нарушения сетевого коннекта по определённым протоколам, хочется иметь как минимум резервный удалённый канал связи. Да, нарушение коннекта по привычным для данной задачи протоколам неполное: можно отыскать протокол, который не забанен, можно поиграть с настройками, тем не менее хочется иметь возможность сделать это удалённо. Мой взгляд упал на нестандартные средства решения этой задачи.

Читать далее

Чем заняться после программирования

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели27K


Деньги ≠ счастье, по крайней мере в выборе профессии. Согласно опросу Лондонской школы экономики и политических наук, среди всех профессий наименее счастливы работники банковской сферы и IT. (Очевидно, в опроснике не было редких и очень тяжёлых профессий вроде шахтёров, например).

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

Ищем работу в 2025 году: что происходит с рынком IT и как к нему адаптироваться

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

Ну что, 2025 год уже наступил и многие из нас,  в новом году,  задумались о смене работы. В том числе и я. В этот раз, я решил собрать всю доступную мне информацию по поиску работы в РФ/СНГ и за рубежом.

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

Читать далее

Как спроектировать игровую математическую модель, забалансить её и не сдуреть. Разбор на практических кейсах

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

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

Читать далее

«Сингулярностей не существует», — утверждает первооткрыватель чёрных дыр Рой Керр

Уровень сложностиСложный
Время на прочтение13 мин
Охват и читатели70K

В нашей Вселенной, когда вы соберёте достаточно много массы в достаточно малом объёме пространства, вы неизбежно пересечёте черту: скорость, с которой вам нужно будет двигаться, чтобы преодолеть гравитационное притяжение в этой области, превысит скорость света. И когда это происходит, вокруг области неизбежно образуется горизонт событий, который выглядит, действует и ведёт себя точно так же, как чёрная дыра, если смотреть со стороны. Тем временем внутри вся эта материя неумолимо притягивается к центральной области внутри чёрной дыры. При наличии конечного количества массы, сжатой до бесконечно малого объёма, появление сингулярности будет практически гарантировано.

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

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

Читать далее

Выжимаем максимум скорости из PHP

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели9.7K

При запуске PHP-приложений крайне важно правильно выбрать веб-сервер. Чтобы объективно оценить производительность популярных решений, мы проводили тестирование не на искусственных данных, а на реальных примерах. Наша цель не заключалась в создании рейтинга веб-серверов для PHP-приложений. Мы стремились показать, в каких условиях каждый сервер сможет продемонстрировать наилучшие результаты.

Читать далее

Оказывается, мы все должны работать четыре дня в неделю, и вот почему

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели49K

«Я больше не хочу работать по пятницам», — заявил Герр Фрике, сооснователь Solidence. После полугода эксперимента с четырёхдневкой 45 немецких компаний доказали: работать меньше и зарабатывать больше — реально.

Разбираемся, как так вышло и почему мы до сих пор работаем по пятидневке.

Читать далее

Meta Storm Plugin – еще один плагин для PHPStorm

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

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

Ребята делающие плагины под свои технологии молодцы, но как мне сделать то же самое с моим MyClass::readFile('users.csv')? А если нужно подсказать свойства текущей модели $model->getAttributeLabel('id')? А если я хочу сделать подсказки в query builder?

Да и вообще, зачем мне еще один плагин, PHPStorm ведь и без него справлялся годами?

Узнать подробнее

Специализированные репозитории для Debian своими руками. Самый полный мануал

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

Хабр, привет!

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

Однако в случае с Debian поднятие полного зеркала может осложняться объемом репозиториев — там по‑настоящему много пакетов, включая и те, что обычно не нужны на серверах, например игры. Помимо этого, официальной поддержки Debian не существует, а работать как-то нужно. Поэтому в этой статье мы расскажем о способе создания готовых архивов для зеркал с урезанными подборками пакетов, нужных для установки и/или обновления одного или более серверов с известным набором ПО.

Читать далее

PHP Typed: Маленький Composer пакет, который нарушает PHP правила ради вас

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

Звучит слишком громко? Давайте уточним, чтобы избежать обманутых ожиданий: этот пакет использует немного магии вне Хогвартса, и будет действительно полезен любителям строгой типизации в PHP.

Читать далее

Как нейросети, RL и байесовскую оптимизацию стали использовать на ускорителях заряженных частиц

Время на прочтение6 мин
Охват и читатели2.2K

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

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

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

Читать далее

Лучшие книги и статьи по Kubernetes для системного аналитика с noob-level в DevOps

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели22K

Всё началось с того, что команде, с которой я работаю, предложили заказ на миграцию приложений из Docker Compose «во что‑нибудь более масштабируемое, отказоустойчивое и гибкое». Например, Ansible или Kubernetes. И всё это прекрасно, но у меня возникли проблемы. Как системному аналитику и по совместительству PM проекта, с минимальным опытом в DevOps, пришлось изрядно попотеть с пониманием многих вещей, касающихся Kubernetes. Под катом подробно о статьях и книгах, которые помогли мне разобраться с оркестратором, понять, чего хочет заказчик, сформировать требования к работе системы в целом, отказоустойчивости, масштабированию и безопасности.

Читать далее

K8S для начинающих. Первая часть

Время на прочтение10 мин
Охват и читатели377K

Технологический прогресс не стоит на месте, особенно если это касается области IT. Еще в 2014 году, когда Google открыл исходный код проекта Kubernetes, который вобрал в себя лучшее из Borg и Omega - внутренних систем Google, его мало кто знал и использовал. Но прошло 7 лет и K8S (он же Kubernetes) стал успешным open-source проектом, который используется по всему миру. В большинстве компаний инфраструктура построена на K8S - от маленьких проектов до огромных кластеров и облаков, которые обеспечивают бесперебойную доступность сервисов. Давайте коснемся Kubernetes и расскажем, как им пользоваться на практике. Но сначала надо спросить, а что такое этот ваш Kubernetes и для чего он собственно нужен. Подойдет ли он для ваших проектов.

Читать далее

5 паттернов проектирования в Go на примере котиков

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели5.1K

Привет, Хабр! Сегодня мы рассмотрим реализацию паттернов проектирования на Go, и, чтобы было не скучно, возьмем главными героями котиков. Будем разбирать 5 популярных паттернов: Singleton, Factory Method, Strategy, Observer, Decorator.

Читать далее

О многомерности пространства и времени, и информационном поле

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели6.5K

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

Читать далее

CRUS: принципиально новая архитектура работы с данными

Уровень сложностиСложный
Время на прочтение20 мин
Охват и читатели6.2K

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

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

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

Domain-Driven Design: чистая архитектура снизу доверху

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели28K

Когда мидл-разработчик дорастает до сениора, его, как правило, мучает вопрос: как правильно писать приложение? Понятно, что когда он был джуном, ему давали совсем атомарные задачи, и он развлекался покрытием тестов или написанием контроллеров. Переход в мидлы знаменуется назначением на разработчика более абстрактных задач вроде реализации сервисов, репозиторной части или интеграции с внешними сервисами посредством клиентов. Но в какой-то момент мидл начинает задавать самому себе вопросы: как найти единственно правильный способ написать приложение с нуля?

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

Да, мы уже знаем самые популярные практики: KISS, DRY, YAGNI, SOLID, что там ещё... Мы умеем их применять. Но нас не покидает чувство, что все эти практики объединяет общая научная основа. Знаете, это как с Менделеевым, который на основе закономерностей практически по наитию составил периодическую систему, а потом открыли электроны и всё встало на свои места.

У меня для вас хорошие новости: научная основа есть. Это предметно-ориентированное проектирование.

Но есть и плохая новость: тема настолько новая и непростая в изучении, что какая-никакая популярность к ней пришла лет 5 назад, и до сих пор совсем небольшое число разработчиков достаточно хорошо в ней разбирается.

Но есть ещё одна хорошая новость: в статье ниже я постараюсь дать максимально понятный ответ, что же такое предметно-ориентированное проектирование.

Начнём.

Читать далее

Как жить без IntelliJ IDEA? Часть №3. HTTP Client

Время на прочтение9 мин
Охват и читатели9.7K

В предыдущей статье "Как жить без IntelliJ IDEA" мы разбирали, какие есть альтернативы Ultimate в части поддержки Spring.

В этой части команда Spring АйО исследует, чем можно заменить встроенный HTTP-клиент JetBrains, за что его так любят разработчики и какие инструменты могут стать достойной альтернативой.

Читать далее

Redux для новичков: база, с которой можно стартовать

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

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

Сегодня рассмотрим библиотеку Redux для JS, зачем она нужна, и стоит ли она вашего внимания. Redux — это библиотека для управления состоянием приложения. Redux создан для тех случаев, когда:

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

Читать далее

JavaScript. Как сделать невероятно быстрый многопоточный Data Grid на 1 000 000 строк. Часть 1/2: нюансы работы с DOM

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели6.9K

Demo | GitHub

Особенности Fast Data Grid:
— Невероятно быстрый
— Многопоточный
— Всего 523 строчки кода
— Нет зависимостей
— Vanilla JavaScript

Попробуйте скролл и поиск по 1 000 000 строк — Fast Data Grid.

В статье перечислю нюансы работы с DOM. Про многопоточность в следующей статье.

Читать далее

Информация

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

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

Фулстек разработчик, Веб-разработчик
Ведущий
Git
Linux
ООП
PHP
MySQL