Как стать автором
Обновить
9
0

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

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

Чиним замедление YouTube на уровне роутера

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

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

Что случилось?

Хорошо описано произошедшее здесь, на Хабре. Если совсем кратко, своими словами - во время установки SSL соединения в открытом виде домен передается к которому мы подключаемся(так называемое SNI). И если это googlevideo.com то начинают твориться "интересные вещи". Можно проверить это локально коммандами из статьи.

$ curl https://speedtest.selectel.ru/100MB -o/dev/null

Читать далее
Всего голосов 360: ↑357 и ↓3+412
Комментарии1025

Как загрузить, установить Office 2024 LTSC с сайта Microsoft и активировать навсегда?

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

Десять лет назад я писал пару статей - Как загрузить последний Office с сайта Microsoft без всякого App-V / Хабр (habr.com) и Как загрузить Microsoft Office 16 с сайта Microsoft / Хабр (habr.com), при помощи на тот момент еще мало кому известным Office Deployment Tool.

Время бежит стремительно, за Office 2016 выходит Office 2019, Office 2021, и вот сейчас подошло время для Office 2024. Что ж, посмотрим, что поменялось в плане загрузки, установки и активации продукта за десять лет.

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

Microsoft давно перешел на систему распространения продуктов семейства Office по разным, так называемым, "каналам" (channels), в зависимости от того как часто вы хотите получать нововведения и обновления.

Ключевым отличием в текущей загрузке и установке Office от того, что было актуально во времена Office 2016, является то, что вы должны определить, каким каналом распространения вы собираетесь пользоваться, - то есть с какого канала собираетесь устанвливать сам продукт. Тем, кто хотел бы подробно изучить разные каналы распространения я предложу почитать первоисточник - Обновления Office - Office release notes | Microsoft Learn. Остальным кратко резюмирую - Microsoft сейчас предпочитает всем продать подписку на Microsoft 365 (то, что ранее называлось Office 365), с регулярно обновляемыми возможностями в течении так называемой Современной политики жизненного цикла. По этой же современной политике распространяется пользовательские (коробочные, ретейл) версии Office 2021. Office 2021, например, поддерживается лишь до 13 октября 2026. А более старые версии следуют, так называемой политике фиксированного жизненного цикла, в рамках которой Office 2016 и Office 2019 поддерживаются лишь до 14 октября 2025. В целом, они не перестанут работать после, однако, перестанут обновляться. И у тех из вас, кто пользуется почтовыми сервисами на базе Microsoft Outlook.com или Office365, а возможно и пользователям Microsoft Exchange, с обновлениями выпущенными после 14 октября 2025 уже пора призадуматься об обновлении.

Читать далее об установке Office 2024
Всего голосов 166: ↑157 и ↓9+173
Комментарии256

Как общаться с ChatGPT с помощью голосовых сообщений в Telegram

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

Пару недель назад я написал бота, который позволяет говорить с ChatGPT с помощью голосовых и текстовых сообщений. Это удобно, потому что не нужно использовать VPN для работы с OpenAI, а про клавиатуру можно забыть вовсе.

В этой статье делюсь пошаговой инструкцией, как реализовать ChatGPT Telegram-бота на NodeJS и задеплоить его на виртуальный сервер. Подробности под катом!
Читать дальше →
Всего голосов 37: ↑36 и ↓1+46
Комментарии10

Выжимаем все соки из WebRTC для стриминга камер на примере go2rtc

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

Go2rtc — это open source приложение для стриминга видео в реальном времени. Оно весит всего 5 мегабайт, не имеет внешних зависимостей и работает на всех популярных ОС. Поддерживает технологии ​​RTSP, RTMP, DVRIP, HTTP-FLV, WebRTC, MSE, HLS, MJPEG, HomeKit и многие другие. Последний релиз получился настолько масштабным, что все нововведения пришлось оформлять в статью на Хабре.

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

Telegram-бот для управления инфраструктурой

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

По мотивам статьи Телеграмм-бот для системного администратора (статья не моя, я только прочитал) захотел поделиться опытом создания Telegram-бота на PowerShell для управления серверами приложений. Будет текст, код и немножко картинок. Конструктивная критика приветствуется ( главное чтобы не звучало «зачем на PowerShell? Надо было на perl» ).

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

Саму статью старался построить по частям – от простого к сложному. Возможно, встретится плагиат, будьте бдительны!

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

  • Простота добавления/изменения задач в Telegram-бот
  • Многозадачность или параллелизация
  • «Понятный» интерфейс управления
  • Хоть какая-то безопасность
Читать дальше →
Всего голосов 15: ↑13 и ↓2+15
Комментарии31

Насколько круто иметь свой сервер в комнате

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

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

Но кажется, что эта эпоха возвращается. Только на новом уровне. Сейчас опять стало очень круто иметь в комнате свой сервер, только он выглядит иначе и выполняет другие функции.
Читать дальше →
Всего голосов 117: ↑116 и ↓1+146
Комментарии317

Пишем Hex Viewer для Flipper Zero

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

Примерно месяц назад основная поставка Flipper'ов таки доехала до России. Вопреки моим ожиданиям, это не вызвало волну публикаций про создание приложений под него. Хорошие публикации есть (например, эта и вот эта), но массовости нет. Слишком долго ждали и перегорели? Пишут долго и обстоятельно? Технологический стек устройства не подходит для быстрого и легкого старта? Как бы то ни было, такой расклад ничуть не убавил мотивации поиграться с устройством!! С удовольствием уделил несколько вечеров созданию своего первого приложения под Flipper Zero: Hex Viewer, шестнадцатеричного просмотрщика. О своем опыте и интересных находках расскажу в теле статьи.

Читать далее
Всего голосов 63: ↑61 и ↓2+86
Комментарии31

Как мы перешли с Elastic на Grafana stack и сократили расходы в несколько раз

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

Привет! Хочу поделиться историей миграции сервисов логирования и трейсинга с компонентов Elastic Stack на Grafana Stack и тем, что из этого вышло. До миграции у нас в М2 использовались достаточно классические схемы:

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

17 убойных репозиториев GitHub, которые нужно сохранить

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

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

Читать далее
Всего голосов 153: ↑123 и ↓30+114
Комментарии44

RustDesk — self-hosted аналог TeamViewer

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

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

Читать далее
Всего голосов 66: ↑65 и ↓1+86
Комментарии42

Введение в Traefik 2.0

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

Traefik — это обратный прокси-сервер с открытым исходным кодом, обеспечивающий простую работу с микросервисами и/или просто контейнерами с вашими приложениями.


Обратный прокси-сервер (reverse proxy, реверс-прокси) служит для ретрансляции запросов из внешней сети к каким-либо серверам/сервисам внутренней сети (например веб-сервера, БД или файловые хранилища) и позволяет:


  • обеспечить сокрытие структуры внутренней сети и подробностей о находящейся в ней сервисах;
  • осуществлять балансировку нагрузки (load balancing) между экземплярами одного и того же сервиса или серверами с одинаковыми задачами;
  • обеспечить зашифрованное (HTTPS) соединение между клиентом и любым сервисом, в таком случае SSL сессия создается между клиентом и прокси, а между прокси и сервисом во внутренней сети устанавливается незашифрованное HTTP соединение, если сервис поддерживает HTTPS то можно организовать зашифрованное соединение и во внутренней сети;
  • организовать контроль доступа к сервисам (аутентификацию клиента), а также установить файрвол (брандмауэр).

В статье будет описываться использование Traefik в Docker в качестве реверс-прокси для других контейнеров Docker, а также не контейнеризированных сервисов.


image

Читать дальше →
Всего голосов 13: ↑12 и ↓1+16
Комментарии31

Traefik, docker и docker registry

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

Под катом вы увидите:

• Использования Traefik в качестве обратного прокси для маршрутизации трафика внутрь docker контейнеров.

• Использование Traefik для автоматического получения Let’s Encrypt сертификатов

• Использование Traefik для разграничения доступа к docker registry при помощи basic auth

• Все перечисленное выше будет настраиваться исключительно внутри docker-compose.yml и не потребует передачи отдельных конфигурационных файлов внутрь контейнеров.

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

Помимо этого в интернете мало информации на тему использования traefik для контроля доступа к docker registry. Описанную ниже технику можно использовать для контроля доступа к любому приложению, реализующему Rest API.

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

Люди работают не так много, как вы думаете

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

Как ты расслабляешься, да я особо и не напрягаюсь. Именно этот анекдот хотелось привести в преамбуле к данной переводной заметке. Это прямо манифест лени as is. Весьма любопытное столкновение западной и восточной культуры. Нам в М.Видео-Эльдорадо особо прокрастинировать некогда, но дискуссию можно продолжить в комментариях.    

Читать далее
Всего голосов 85: ↑78 и ↓7+89
Комментарии67

OpenSCAD для пионеров и пенсионеров: целый день для знакомства

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

Постоянно видел на Thingiverse модели с исходниками на OpenSCAD. Даже пытался загружать этот код — но, похоже, тормозная жидкость залита в OpenSCAD при разработке в изобилии, при отображении более-менее сложной модели компьютер подвисает на десятки минут. В итоге — не вдохновило.

Обычно я пользуюсь древним Sketchup — еще гугловским, той античной версией, когда гугл врал, что Sketchup — это навсегда, и его бесплатная версия в усеченном варианте будет всегда доступна даже для коммерческого использования. Я, будучи по натуре легковерным, даже с Ruby слегка разобрался, автоматически прорисовывал профиля крыльев игрушечных самолетиков в Sketchup и генерировал код для пенорезки, чтобы их вырезать. Почти вчера было — но Ruby я уже абсолютно не помню.
Нарисовать в Sketchup что-то очень сложное и мелкое, чтобы можно было распечатать — это головная боль. Нарисовать-то можно, но он потеряет маленькие кусочки изображения, если их и удастся преобразовать в STL, то сгенерировать код для печати ни один слайсер не сможет.
Читать дальше →
Всего голосов 60: ↑58 и ↓2+68
Комментарии51

Neovim для full stack программиста

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

Я немного расскажу, как использую vim в работе full stack программиста, со своей колокольни, но для начала отвечу на некоторые вопросы, которые задают мне, когда узнают, что я использую vim при разработке проектов:

Зачем?

Хороший вопрос. Стоит для себя лично на него ответить. Зачем валандаться с vim, изучать кучу комбинаций клавиш и плагинов? Какой смысл, если есть vscode или pycharm или phpstorm? Жизнь коротка, стоит ли ее тратить на все это? Чтобы впечатлить кого-то, как на картинке в начале статьи? Да кого этим удивишь?

Читать далее
Всего голосов 48: ↑46 и ↓2+54
Комментарии179

Поднимаем свой полноценный игровой Minecraft сервер с мини-играми. Часть 3. Устанавливаем мини-игры

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


Часть 1. Выбираем и устанавливаем сервер

Часть 2. Устанавливаем карту для лобби сервера

Посмотреть, что в итоге получилось у меня: mc.piratebayserver.net
По любым вопросам пишите в Discord.

И так, лобби у нас готово, теперь нам нужно запустить сервера с мини-играми и прокси сервер.
Для этого нам понадобится такие плагины:

  • BungeeCord — прокси, который объединяет сервера в одну сеть и делает незаметным переход между ними для игрока
  • SuperLobbyDeluxe — отличный плагин, который позволяет настраивать лобби, ограничивать права игроков на создании и разрушение блоков, отключать смену погоды и времени и многое другое.
  • Citizens — плагин для создания npc
  • Citizens Server Selector — плагин для создания npc с командами перехода между серверами
  • ItemJoin — плагин, позволяющий выдать игроку определенные предметы при подключении к серверу
  • Chest Commands — прекрасный плагин для создания графического пользовательского интерфейса
  • Murder Mystery — популярная мини-игра
  • Holographic Displays — плагин, позволяющий создавать голографические надписи, требуется, как зависимость, для Murder Mystery
  • BSkyBlock — еще одна популярная мини-игра
  • LuckPerms — очень удобный плагин для управления правами пользователей
Читать дальше →
Всего голосов 2: ↑1 и ↓10
Комментарии5

Оптимизация сервера Minecraft

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

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

За свою 9-летнюю историю (если считать от даты релиза) Minecraft заработал потрясающее количество поклонников и хейтеров как среди обычных игроков, так и среди гиков. Простая концепция мира из кубиков превратилась из обычного развлечения в универсальную среду для общения и создания различных объектов из реального мира.
Всего голосов 13: ↑9 и ↓4+6
Комментарии3

Как не нужно писать большие сервера

Время на прочтение8 мин
Количество просмотров104K
Те, кто мог видеть мою прошлую статью (а она довольно related к данной теме), знают, что вот уже больше полутора лет я разрабатываю собственную реализацию сервера Minecraft, рассчитанную, в первую очередь, на высокие нагрузки. Тем не менее, в своей работе мы используем так же и стандартный сервер (Bukkit) для нескольких мини-серверов, просто чтобы было разнообразие. И вот, столкнувшись с очередной версией сервера, которая стала раз в 5 хуже предыдущих, я уже не выдержала, и решила написать эту статью.

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

Вам не нужно знать ничего о майнкрафте и особенно о его сервере, в данной статье я хочу просто рассказать, как работает оригинальный сервер Minecraft, а так же его «обвязка» — Bukkit, рассказать, почему такая система не работает и не должна. Я не претендую на идеальные знания о разработке серверов и не утверждаю, что мой сервер написан правильно и лучше всех. Я просто делюсь своим опытом, основанным на двух годах работы с сервером от всем известной Mojang и на полутора годах разработки своего сервера. Вся представленная здесь информация является моим личным мнением, а статья предназначена для расширения кругозора или даже обучения и может быть интересна как новичкам, так и продвинутым профессионалам.
Читать дальше →
Всего голосов 175: ↑135 и ↓40+95
Комментарии271

Как мы верифицированный полетный контроллер для квадрокоптера написали. На Ada

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

Однажды на новогодних каникулах, лениво листая интернет, бракоделы в нашем* R&D офисе заметили видео с испытаний прототипа роботакси. Комментатор отзывался восторженным тоном – революция, как-никак. Но тренированное ухо расслышало в шуме с испытательной площадки еще кое-что. Контроллер скорости (штука для управления тягой винтов) сыграл мелодию при старте, как это любят делать пилоты дронов, которые часто используют полётный контроллер Betaflight. Неужели там бета-флайт? Ну, или какая-то из ее немногих разновидностей.

Перед глазами побежали флешбеки, где-то из глубин подсознания всплыла забытая уже информация о прошивках для Тойоты на миллионы тысяч строк Си и 2 тысячи глобальных переменных (Toyota: 81564 ошибки в коде).

После просмотра исходного кода Betaflight на гитхабе стало еще страшнее, и чем дальше, тем хуже. Это – управляющая программа для тяжелого устройства с острыми винтами, которое летает высоко, быстро. Становится страшно: игрушки это одно, но я бы не хотел летать, на таком такси. Но ведь можно иначе? Можно, решили мы! И решили это доказать. На Avito был куплен акробатический FPV-“квадрик” на базе STM32F405, для отладки – Discovery-платы для этого же контроллера, а дальше все как в тумане..

Читать далее
Всего голосов 70: ↑68 и ↓2+88
Комментарии58

Пишем умный контракт на Solidity. Часть 1 — установка и «Hello world»

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

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


Smart Contract & Gas


Если на пальцах, "умный контракт" — это некоторый код, живущий внутри блокчейна. Любой участник сети может его вызвать за небольшую плату. Эта плата и называется Gas, дословно "топливо". Зачем это нужно? Для защиты майнера от злоупотребления мошенником его ресурсов.


Немногие знают, но даже в биткоине есть возможность писать эти самые контракты, но в силу некоторых причин этим мало кто занимается. Одна из главных проблем — язык Script не Тьюринг-полный и написать что-то более менее серьезное непросто (чтобы вы понимали масштаб проблемы — нет даже возможности добавить цикл). В случае с Ethereum все чуть по другому, языки Тьюринг-полные, и есть риск, что кто-то напишет контракт вида


// Это псевдокод
foo = 0;
while (True) {
    foo++;
}

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

Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии16
1
23 ...

Информация

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