Pull to refresh
77
0.1
Безверхий Олег @Bizonozubr

.Net программист

Send message

Кофе по SSH, сайты в zip-архивах. Чистый HTML лучше всего

Level of difficultyMedium
Reading time5 min
Views4.2K

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

Просто заходим в магазин по SSH:

ssh terminal.shop

или

ssh 172.65.113.113
Читать дальше →
Total votes 27: ↑26 and ↓1+36
Comments11

Деплой .NET приложений для самых маленьких. Часть 1. Jenkins

Level of difficultyMedium
Reading time7 min
Views1.4K

В прошлой статье мы рассмотрели способы запуска наших проектов на удаленном VPS. Для этого мы арендовали хостинг, создали шаблонное приложение, перенесли его на хостинг через простое копирование через ssh и через git clone, запустили через dotnet run / dotnet publish, а также развернули приложение в докере.

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

Читать далее
Total votes 10: ↑10 and ↓0+15
Comments2

Анти-паттерны в Go Web Applications

Level of difficultyMedium
Reading time18 min
Views3.8K

В какой-то момент моей карьеры меня перестало радовать ПО которое я разрабатывал.

Больше всего мне нравилось работать с низкоуровневыми деталями и сложными алгоритмами. Но после перехода на пользовательские приложения эта часть работы почти исчезла. Теперь программирование казалось мне просто перемещением данных из одного места в другое с помощью уже готовых библиотек и инструментов. Знания, которые я получил раньше о программном обеспечении, уже не были такими полезными.

Читать далее
Total votes 11: ↑10 and ↓1+12
Comments5

Читаем ключевой контейнер КриптоПро (ч.2)

Level of difficultyMedium
Reading time2 min
Views3.5K

В прошлой части я разбирался с транспортным ключевым контейнером от КриптоПро (он же PFX, PKCS12, P12). В этой статье пойдёт речь о собственном формате ключевого контейнера КриптоПро (те самые 6 файлов .key)

Читать далее
Total votes 15: ↑14 and ↓1+18
Comments9

Пишем универсальный прототип бэкенд-приложения: Litestar, FastStream, dishka

Level of difficultyEasy
Reading time16 min
Views4.2K

Привет, Хабр! Меня зовут Сергей, я техлид в команде PT BlackBox. Мы с коллегами разрабатываем продукт, который позволяет обнаруживать уязвимости в приложениях методом черного ящика. Фактически мы сами и пишем веб-приложения, и именно о них пойдет речь в статье.

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

Для написания прототипа я буду использовать LitestarFastStream и dishka. Эта статья будет особенно полезна тем, кто пишет на Tornado, Django, Flask или AIOHTTP и хочет перейти на более актуальные технологии для дальнейшего развития своих проектов на современных рельсах.

Ну что ж, приступим
Total votes 19: ↑18 and ↓1+20
Comments12

Реверс-инжиниринг eBPF-программы на примере сокет-фильтра и уязвимости CVE-2018-18445

Reading time7 min
Views1.1K

Привет! Меня зовут Евгений Биричевский, в Positive Technologies я работаю в отделе обнаружения вредоносного ПО экспертного центра безопасности (PT ESC). Не так давно исследователи из Black Lotus Labs рассматривали несколько образцов 2018 года — elevator.elf и bpf.test. Пускай образцы и старые, но они используют уязвимости в eBPF, что происходит крайне редко: такие случаи можно практически пересчитать по пальцам.

Исследователи достаточно подробно описали общие функции и особенности ВПО, отметили запуск и использование eBPF-программ, но практически не описали сами eBPF-программы. Мне это показалось значительным упущением, ведь крайне редко удается пощупать in the wild использование уязвимостей в eBPF. Основываясь на дате появления образца и его поведении, исследователи предположили, что используется CVE-2018-18445. В этой статье мы научимся анализировать eBPF, достаточно подробно разберем используемые eBPF-программы, а также подтвердим или опровергнем гипотезу об использовании CVE-2018-18445.

Вперед
Total votes 11: ↑11 and ↓0+13
Comments0

Как выбрать и купить ноутбук для ремонта начинающему мастеру

Reading time4 min
Views6.4K

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

В статье излагаю свой опыт выбора ноутбуков на онлайн-барахолках. Но не рабочих устройств, а сломанных. Расскажу о том, как выбираю такие девайсы. Основная цель — купить дешево, чтобы починить и получить в свое распоряжение дорогое устройство. Его можно использовать самому, подарить или продать. Тут уж выбирайте самостоятельно. Что же — поехали.
Читать дальше →
Total votes 31: ↑31 and ↓0+38
Comments5

FUSE: как написать свою файловую систему

Level of difficultyHard
Reading time21 min
Views8.8K

Меня зовут Максим, я ведущий разработчик в VK. Занимаюсь инфраструктурой доставки электронной почты в проекте Mail.ru. Наша команда разработала и довела до эксплуатации файловую систему (ФС) на FUSE в рамках проекта распределённой почтовой очереди. В проекте требовалось реализовать сетевую ФС, которая сохраняет данные в трёх копиях, в разных ЦОДах. Цель — повысить отказоустойчивость, чтобы даже полный выход из строя одного ЦОДа не приводил к нарушениям SLA. Эта статья для всех, кто интересуется файловыми системами и хранением данных. Мы обсудим:

- зачем писать свою ФС;

- как написать свою ФС с помощью фреймворка FUSE;

- какие подводные камни есть у эксплуатации FUSE в production.

Эта статья — результат трёх лет разработки ФС. Сейчас самое время заварить чай, рассказ будет долгим. 

Заварить чай и читать
Total votes 48: ↑48 and ↓0+61
Comments13

Симметричная индексация в Python

Level of difficultyEasy
Reading time3 min
Views6.5K

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

Читать далее
Total votes 68: ↑65 and ↓3+69
Comments9

Как я нашёл 55-летний баг в первой игре о приземлении на Луну

Level of difficultyMedium
Reading time7 min
Views16K

Спустя всего несколько месяцев после исторической прогулки по Луне Нила Армстронга, ученик массачусетской школы Lexington High School Джим Сторер написал первую версию игры Lunar Landing. К 1973 году она стала самой популярной компьютерной игрой с большим отрывом от остальных. В этой простой текстовой игре вы управляете аппаратом для посадки на Луну, стремясь максимально плавно приземлиться. Всё движение происходит вертикально, каждые десять симулируемых секунд игрок решает, сколько топлива нужно сжечь.

Недавно я исследовал график оптимального сжигания топлива для наиболее мягкого приземления с максимумом оставшегося топлива. К моему удивлению, теоретически наилучшая стратегия не сработала. Игра ошибочно думает, что аппарат не коснулся поверхности, хотя на самом деле это так. Углубившись в анализ, я был потрясён сложной физикой и вычислениями в игре. В конечном итоге я обнаружил баг: отсутствующее деление пополам; похоже, почти за 55 лет никто не заметил этого.
Читать дальше →
Total votes 62: ↑62 and ↓0+82
Comments23

Моя б̶е̶з̶умная колонка: часть вторая // программная

Level of difficultyEasy
Reading time16 min
Views5.3K

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

В прошлой статье я описал аппаратную реализацию своего голосового ассистента на базе бюджетного одноплатника Orange Pi Zero 2W с 4Гб оперативной памяти. Эту же статью хочу посвятить программной реализации данного устройства. Если стало интересно, то добро пожаловать под кат.
Читать дальше →
Total votes 39: ↑39 and ↓0+52
Comments29

Знакомство с PowerPC

Level of difficultyMedium
Reading time11 min
Views8.2K
Приветствую всех!

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

И так уж вышло, что начал я с PowerPC, а точнее — с компьютеров Apple на базе PowerPC G4.



Итак, в данной статье поговорим о том, что обычно никогда не упоминают в статьях про такое железо: как его запустить тому, кто до этого никогда не имел с ним дела. Попутно узнаем, чем примечателен этот компьютер и на что он вообще способен. Как обычно, будет много интересного.
Читать дальше →
Total votes 54: ↑53 and ↓1+67
Comments28

«Я стал тимлидом и боюсь». Что почитать и зачем

Level of difficultyEasy
Reading time8 min
Views26K
Стресс, связанный с переходом на менеджерскую роль, способен пошатнуть любые, даже самые крепкие нервы. А если ваше решение стать руководителем желанное и осознанное, то вы легко можете загнать себя в ловушку из двух стен: тревожности и перфекционизма.

Меня зовут Александр Шиндин, я — технический менеджер мобильных продуктов Kaspersky Password Manager и Kaspersky Who Calls. Я так сильно хотел проявить себя в роли руководителя, что внутренних обучающих курсов, которые дает в таких случаях компания, мне не хватало, — и лучшим дополнением к теории стали книги. Они ускорили мое погружение в мир менеджмента, помогли быть готовым к еще большему числу нестандартных ситуаций и придали уверенности в принимаемых решениях.

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


Читать дальше →
Total votes 40: ↑39 and ↓1+42
Comments17

15 недорогих VPS/VDS-хостингов (2024)

Level of difficultyEasy
Reading time13 min
Views16K

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

В этой статье я собрал и сравнил 15 VPS-хостингов. Главные критерии для сравнения — цены, возможности хостингов и отзывы клиентов.

Читать далее
Total votes 18: ↑13 and ↓5+11
Comments71

Краткий навигатор по собеседованию Senior PHP/GO Backend

Reading time29 min
Views6K

Ищете работу backend разработчика и хотите быть на высоте на собеседовании?

Подготовка к вопросам для backend разработчика на PHP и Go может оказаться непростой задачей. В этой статье мы разберем некоторые вопросы для Senior Backend разработчика, которые помогут вам пройти собеседование и произвести впечатление на потенциального работодателя.

Почему Важно Готовиться к Вопросам для Backend Разработчика?

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

Читать далее
Total votes 13: ↑10 and ↓3+8
Comments11

Flipper Zero — мнение пентестера после двух лет «полевой» эксплуатации

Reading time8 min
Views57K

«Дельфин-тамагочи» от Flipper Devices Inc. не нуждается в представлении, но хайп вокруг этого хакерского мультитула уже поутих. Теперь пользователи разделились на два лагеря: одни считают Flipper Zero крутым инструментом, другие не понимают, зачем его купили.

Один из наших пентестеров и социальных инженеров согласился поделиться впечатлениями от использования этого устройства. Он честно рассказал, полезен ли Flipper для проведения тестов на проникновение, какие задачи позволяет выполнять на объектах клиентов и стоит ли устройство своих денег. Рассмотрим плюсы и минусы девайса, с которыми приходится сталкиваться в «полевых» условиях. 

Читать далее
Total votes 116: ↑106 and ↓10+129
Comments74

Как пройти собеседование в FAANG. Мой опыт и рекомендации в 2024 году

Level of difficultyEasy
Reading time18 min
Views16K

Всем привет, меня зовут Максим Иванов, я frontend-разработчик в компании Т-Банк (Тинькофф). Сегодня мы поговорим с вами о лайфхаках, которые могут вам пригодиться, если вы хотите устроиться в Google. С автором данной статьи я был лично знаком, когда он еще работал в Тинькофф. Смею заметить, что этот человек не был рядовым разработчиком. Он был очень талантливым как инженер, так и руководитель. Значительная часть его опыта была связана с курированием отдела Frontend Core Tech в Тинькофф, а это 200 инженеров в подчинении. Он постоянно проводил встречи для разработчиков и распространял самые передовые знания на всю компанию. Обучал, помогал, решал самые сложные задачи, которые стояли перед отделом. Когда я наткнулся на его статью, то решил отдать дань уважения и сделать перевод. Спасибо, если дочитаете до конца и давайте начнем!

Читать далее
Total votes 14: ↑10 and ↓4+8
Comments17

Гайд по деплою web-приложений для новичков. Часть 1. Shared-хостинг

Level of difficultyEasy
Reading time14 min
Views11K

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

В этой статье пошагово разберем самый простой вариант - деплой приложения на хостинг.

Читать далее
Total votes 25: ↑20 and ↓5+19
Comments31

7 ножей в спину web-отладки

Level of difficultyMedium
Reading time10 min
Views1.5K

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

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

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

Information

Rating
3,093-rd
Location
Екатеринославка, Амурская обл., Россия
Date of birth
Registered
Activity

Specialization

Software Developer, System Administration
Middle
From 150,000 ₽
Git
SQL
Python
C#
.NET
PostgreSQL
APCS