Pull to refresh
8
0

software developer

Send message

Самостоятельный хостинг в 2023 году

Level of difficultyMedium
Reading time5 min
Views22K

Оригинал блога, который вы сейчас читаете, имеет идеальный рейтинг PageSpeed 100 / 100. (По крайней мере, на момент написания статьи.) Это не хвастовство, а совсем наоборот. Оказывается, достичь этого вообще не трудно. Просто хостите статическую страницу с простыми стилями, и этого достаточно. Статическую страницу создать довольно просто. Ты выпускаешь index.html и отправляешь её по проводам. Можно изощриться и генерировать её при помощи фреймворка, как я делаю в случае Astro. Но смысл моего поста не в этом.

Смысл фразы хостить статическую страницу в слове хостить. Эта страница хостится на Raspberry Pi 4b, находящемся у меня дома. Устройство обеспечивает превосходную скорость, почти ничего не стоит и имеет бесконечные возможности бесплатного расширения. В этом посте я расскажу, насколько просто было всё настроить. И о том, насколько потрясающий, по моему мнению, опыт разработки это даёт.
Читать дальше →
Total votes 29: ↑27 and ↓2+35
Comments26

Как реализовать end-to-end-тестирование telegram-бота

Level of difficultyMedium
Reading time11 min
Views23K

Каждый, кто когда-либо писал telegram-ботов, задавался вопросом: «Как их тестировать?» Сложно найти однозначный ответ. Например, при написании тестов для веб-приложений и API можно воспользоваться тестовым клиентом DRF или FastAPI: просто пишешь запрос и делаешь assert на полученный ответ. Мне захотелось получить подобный функционал и для тестирования telegram-бота.

Привет, Хабр. Я Михаил Выборный, python-разработчик, backend-developer в облачном провайдере beeline cloud. В этой статье хочу поделиться опытом написания автоматизированных end-to-end-тестов без эмуляции Telegram Bot API, но с использованием тестовых аккаунтов. Мы зайдем в изолированное тестовое пространство Telegram, создадим тестового бота, подготовим фикстуру для запуска нашего приложения и напишем авторизацию для тестовых клиентов. Я буду пользоваться Python Telegram Bot, Pytest, Anyio и другими инструментами, подробности под катом.

Читать далее
Total votes 20: ↑20 and ↓0+20
Comments0

YouTube Vanced больше нет. Но есть ReVanced

Reading time8 min
Views160K


Статья навеяна этой новостью на Хабре


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

Читать дальше →
Total votes 41: ↑41 and ↓0+41
Comments97

Как я сделал полноценное приложение, не прикасаясь к JavaScript

Level of difficultyEasy
Reading time7 min
Views11K

Я всегда скептически относился к чат-ботам. Когда-то они были на хайпе. Говорили, что это новый UI – он же No UI. Но я всегда утверждал, что пользователю проще и быстрее все действия сделать через сайт, а не играть с ботом в вопрос-ответ. Каково же было моё удивление, когда через несколько лет я сам буду пропагандировать чат-ботов всем моим друзьям - backend-разработчикам? В данной статье расскажу, как я до этого дошел.

Читать далее
Total votes 15: ↑13 and ↓2+15
Comments17

Играйте в хакера безопасно: 20+ игр, чтобы почувствовать себя хацкером и не призвать ФСБ

Reading time9 min
Views54K
Пока кто-то играл в «REvil», кто-то играл в безобидные «симуляторы хакерства». Хакер — очень популярный сеттинг в играх. Во многих играх, к примеру, Watch Dogs 2, System Shock 2, Deus Ex: Human Revolution, Cyberpunk 2077, есть тематика хакерства. Но эти игры дают искаженное представление: кто загадочный и что-то тыкает в компьютере, тот и хакер.



Ниже моя подборка с разными играми про хакерство, я разделяю их на:

  • те, которые реально прокачивают какие-то скиллы в сфере информационной безопасности, включают какой-то образовательный контент для начинающих (5 игр);
  • те, которые симулируют атмосферу хакерства и какие-то процессы в упрощенном виде (9 игр);
  • те, которые просто симулируют атмосферу хакерства и загадочности (5 игр);
  • фан на тему около хакерства (3 игры).


Еще я веду канал в Telegram: GameDEVils, делюсь там клевыми материалами (про геймдизайн, разработку и историю игр).
Читать дальше →
Total votes 30: ↑23 and ↓7+24
Comments26

3 особенности чисел в Python, о которых вы, возможно, не знали

Reading time15 min
Views51K

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

Но числа в Python — это гораздо больше, чем, собственно, их числовые значения. Поговорим о трёх особенностях чисел в Python, с которыми вы, возможно, не знакомы.

Читать далее
Total votes 46: ↑43 and ↓3+55
Comments18

Портативная пушка Гаусса за 1к

Reading time3 min
Views46K
В этом посте будет рассмотрена схема и сборка портативной Пушки Гаусса, которую можно собрать за минимальную сумму, а именно, ускоритель будет собран в сумму ~ 1000р. Схема проста на столько, что ее сможет собрать не разбирающийся. Корпус в свою очередь можно скачать в виде 3D модели.

image

Принцип работы Пушки Гаусса


Мы заряжаем высоковольтный конденсатор и разряжаем его на катушку. При протекании тока в катушке, образуется электромагнитное поле, которое втягивает ферромагнитный снаряд внутрь ствола. Заряд конденсатора расходуется пропорционально быстро и, в идеале, ток через катушку перестает течь в момент, когда снаряд находится в центре ствола. После чего, силы на снаряд перестают действовать и он продолжает движение по инерции, вылетает из ствола.
Читать дальше →
Total votes 25: ↑16 and ↓9+13
Comments45

Ретроспектива по шагам. Рецепт

Reading time9 min
Views55K

Все, кто слышал про Scrum, скорее всего слышали про его основные мероприятия: планирование, пятиминутка (stand-up), обзор спринта и ретроспектива. Многие слышали, инструментов для проведения ретроспектив много, "обучающих" материалов ещё больше, но всё как-то не выходит. Или вроде как выходит, но почему-то команда не хочет в этом участвовать. В этой статье я представлю свой рецепт проведения ретроспектив, не только представив конкретные и детальные шаги, но и попробовав объяснить, почему шаги именно такие и в такой формулировке.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments20

Как надёжно удалить файлы и зачистить HDD/SSD

Reading time7 min
Views90K


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

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

В таких условиях чрезвычайно важно перед обыском надёжно удалить всю информацию с накопителей и мобильных устройств, чтобы злоумышленник не получил доступ к контактной книге, аккаунтам в социальных сетях и мессенджерах — иначе вы подставите своих товарищей и предоставите дополнительные улики следствию.
Читать дальше →
Total votes 103: ↑84 and ↓19+91
Comments309

Памятка пользователям ssh

Reading time13 min
Views1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

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

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Total votes 360: ↑352 and ↓8+344
Comments148

Магия SSH

Reading time11 min
Views508K
С SSH многие знакомы давно, но, как и я, не все подозревают о том, какие возможности таятся за этими магическими тремя буквами. Хотел бы поделиться своим небольшим опытом использования SSH для решения различных административных задач.

Оглавление:

1) Local TCP forwarding
2) Remote TCP forwarding
3) TCP forwarding chain через несколько узлов
4) TCP forwarding ssh-соединения
5) SSH VPN Tunnel
6) Коротко о беспарольном доступе
7) Спасибо (ссылки)
Читать дальше →
Total votes 115: ↑106 and ↓9+97
Comments75

Как устроены волны

Reading time54 min
Views28K
Волны — это самое распространённое явление. Физические колебания, звук, свет, радио и рентген, волны вероятности в квантовой механике, гравитационные волны в теории относительности — физика практически состоит из волн. Каждое явление можно изучать отдельно, но есть что-то общее в волнах, универсальное.

Чтобы ухватить это общее предлагаю разбираться в волнах последовательно.

Начнём с вопроса, на первый взгляд не связанного с темой, но ответ на который сразу много прояснит.

image
Рис. 1. «Две параллельные линии». Канва, браш. Рама.

Перед вами две параллельные линии, с ограниченной областью их просмотра, квадратным окном. Для различия они раскрашены. Вопрос простой: если красная линия это сдвинутая зелёная, то в какую сторону произошел сдвиг?
Конечно, вправо-вверх, зачем ещё пять вариантов ответа?
Total votes 43: ↑43 and ↓0+43
Comments17

Бесплатные сервисы для разработчиков — огромный список

Reading time8 min
Views57K

Бесплатное хранилище артефактов PackageCloud

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

Недавно мы обсуждали эту тему в статье «Боль разработчика: “Никогда не давайте пользователям бесплатный тариф”». Речь шла о том, что на самом деле бесплатный план вовсе не бесплатен — приходится тратить массу времени и усилий на поддержку этих тарифов.

Но для некоторых бесплатный тариф — единственный способ завлечь новых клиентов. Это просто замечательно с точки зрения самих пользователей. Ведь перед нами десятки бесплатных хостингов, API, CMS, CDN, сервисов обработки данных, поисковых движков, репозиториев, инструментов проверки кода и других. Бесплатный тариф идеален для опенсорс-разработчиков, любительских и некоммерческих проектов, маленьких стартапов. Ни за что не надо платить.
Читать дальше →
Total votes 65: ↑59 and ↓6+71
Comments15

Собеседование в Яндекс: театр абсурда :/

Reading time14 min
Views539K

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

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

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

Как вы думаете, что делают рекрутеры, когда видят "Alexandr, NOT OPEN FOR WORK"? Правильно, пишут "Алексей, рассматриваете вариант работать в X?" Я обычно игнорирую это, но тут мне предложили попытать счастья с Яндекс.Лавкой, и я не смог пройти мимо - интересно было, смогу ли я устроиться куда-нибудь, когда введут великий российский файерволл. К тому же за последние 3 года я проходил только два интервью, и мне показалось, что я не в теме, что нынче требуется индустрии. Блин, я оказался и вправду не в теме. И вы, скорей всего, тоже - об этом и статья.

Читать далее
Total votes 531: ↑504 and ↓27+610
Comments1270

Хакеры быстрого приготовления

Reading time13 min
Views32K

Сертифицированный этичный хакер на зарплате, баунтихантер(не, ну есть же репорт на хакерване, значит – зачет по пункту), ресечер и автор публикаций CVE, гик с брейном, скилованный без фабрики, гений, миллиардер, плейбой, филантроп.

Сертификаты: CEH Master, OSCE, OSWE и другая мелочь, о которой поговорим ниже.

Заметили, да? Я почти готовый эксперт для курса по ИБ в какой-нибудь беспринципной школе программирования с огромным бюджетом на рекламу и небольшим – на подготовку и проверку качества учебного материала.

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

Читать далее
Total votes 25: ↑24 and ↓1+36
Comments19

Детальная настройка браузера Firefox

Reading time15 min
Views134K

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

Надеюсь она немножко поможет в популяризации этого чудесного браузера.

Читать далее
Total votes 43: ↑40 and ↓3+47
Comments96

Помолчи-ка, программист

Reading time11 min
Views102K

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

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

«Здравствуйте, я – Сергей. Мне запрещают разговаривать с клиентами. Но я в этом не виноват.»

Читать далее
Total votes 190: ↑165 and ↓25+183
Comments180

История жизни и смерти хакера, взломавшего пентагон и NASA в 15 лет

Reading time10 min
Views127K


Как правило, хакеры стараются вести скрытный образ жизни и соблюдать анонимность. Многим это удается, но некоторые из них обретают популярность вопреки собственной воле. Так случилось, например, с Кевином Митником или Робертом Моррисом. Но есть и другие компьютерные гении, о судьбе которых известно гораздо меньше, чем об их подвигах. Одного из таких парней, оставивших заметный след в истории мирового хакерства, звали Джонатан Джеймс. Это человек с яркой, но трагичной историей жизни, завершившейся ранней и таинственной смертью.
Читать дальше →
Total votes 80: ↑74 and ↓6+101
Comments142

Никогда такого не было и вот опять. Почему нужно использовать self-hosted VPN. Релиз Amnezia

Reading time11 min
Views172K

Вот и пришло время для релиза VPN-клиента, родившегося благодаря хакатону DemHack, и выращенного при поддержке РосКомСвободы, PrivacyAccelerator и Теплицы социальных технологий.


Спустя полгода с того момента, как идея была впервые озвучена, мы презентуем готовый продукт — бесплатный опенсорсный клиент для self-hosted VPN, с помощью которого вы сможете установить VPN на свой сервер в несколько кликов.


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


image
Читать дальше →
Total votes 93: ↑91 and ↓2+126
Comments180
1
23 ...

Information

Rating
Does not participate
Location
Россия
Registered
Activity