Search
Write a publication
Pull to refresh
3
0.5

WEB-программист, сетевой администратор

Send message

Любой может получить доступ к удалённым и приватным данным репозиториев GitHub

Level of difficultyMedium
Reading time6 min
Views53K

Кто угодно может получать доступ к данным из удалённых форков, удалённых репозиториев и даже приватных репозиториев GitHub. И эти данные доступны всегда. Это известно разработчикам GitHub, и они намеренно спроектировали систему таким образом.

Это настолько огромный вектор атак для всех организаций, использующих GitHub, что мы решили ввести новый термин: Cross Fork Object Reference (CFOR). Уязвимость CFOR возникает, когда форк одного репозитория может получить доступ к требующим защиты данным из другого форка (в том числе и к данным из приватных и удалённых форков). Аналогично Insecure Direct Object Reference, при CFOR пользователи передают хэши коммитов, чтобы напрямую получать доступ к данным коммитов, которые иначе были бы для них невидимыми.

Давайте рассмотрим несколько примеров.
Читать дальше →

Как Orange Pi вернула мне Ютуб

Reading time5 min
Views64K

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

В связи с последними событиями вокруг видеохостинга YouTube, ситуация вынуждает искать технические решения для восстановления доступа к сервису. В этой статье я хочу поделиться своим техническим опытом по восстановлению доступа к сервису с помощью дешевого одноплатника Orange Pi Zero2 от компании Xunlong Software.

Читать далее

Магия CSS на практике: советы по вёрстке от гика. Часть 3

Level of difficultyMedium
Reading time6 min
Views10K


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


Сегодня мы рассмотрим:

  • подходы при стилизации элементов для вёрстки текста;
  • какая может быть проблема с радиокнопками в вашем проекте;
  • как задать размеры с использованием функций min() и max();
  • CSS-наследование и свойство line-height;
  • для чего делать подсказки в имени класса.

Давайте посмотрим, что я вам подготовил.

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

Алгоритмы — самый провальный этап собеседований

Level of difficultyEasy
Reading time7 min
Views37K

Уже много лет IT компании проводят алгоритмические собеседования при найме технических специалистов. Подход введенный в FAANG плавно перетек в большинство крупных компаний. Яндекс, Авито, Т-Банк и многие другие хотят проверить алгоритмические знания кандидатов. Но на практике такое собеседование оказывается бесполезным созвоном на 45 минут, который ничего не говорит о кандидате.

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

Но очень мало можно встретить критики и конкретного разбора проблем алгоритмических собеседований и их внедрения в воронку найма. Эта статья будет первой в цикле “в чем проблема алгоритмов”.

Кто-то может сказать: “О, человека не приняли в компанию из-за алгоритмов и он решил обидеться и сказать всем, что алгоритмы бесполезны”. Отчасти это так и было, но я решил не останавливаться на своем чувстве несправедливости и пошел дальше: адаптировал алгоритмы в компании, прошел все этапы в Google и даже решал алгоритмы на протяжении года.

Все это помогло мне понять, что многие двигаются не туда, когда решают спрашивать деревья и графы на своих интервью.

Но все это отдельными статьями, ссылки на которые я приложу сюда позже.

Сейчас я просто хочу рассказать свою историю.

Читать далее

OSINT: инструментарий по анализу профилей VK

Reading time2 min
Views139K

Подавляющее большинство OSINT-тусовки интересует анализ физ. лиц, что-ж, да будет так, подготовил вам подборку различных ботов и сервисов(ГБ и др. в список не включены, о них и ленивый знает, да и не OSINT это вовсе).

В РУ-сегменте основоположником анализа по соц. сетям является VK, телега хоть и стала отдаляться от понятия мессенджера трансформируясь в соц. сеть и набирать всё бОльшую популярность, но пока и рядом не стояла по объёму потенциально важной информации о цели.

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

1. 220vk Старый, добрый и весьма потрёпанный сервис, позволяющий определить скрытых друзей, узнать на кого подписалась/отписалась цель и её интересы исходя из подписок на сообщества и людей (с временным таймлайном), а также какие были изменения в профиле и др.

2. VKHistoryRobot Бот в тг, даст вам представление о том, как профиль выглядел в прошлом(очень полезен в случае, если профиль закрытый) предоставляет информацию в виде краткого дампа: Ф.И.; URL; фотография.

3. FindClone, search4faces сервисы обратного поиска изображения  по VK, позволяют произвести поиск профиля по загруженной фотографии, search4faces из этих двух - бесплатен.

4. Social Graph Bot бот в телеге, позволяющий выстроить графы взаимосвязей среди списка друзей , с этим инструментом вы поймёте: насколько разноплановое окружение, кто из списка друзей является родственником и т.д; легитимен ли аккаунт и имеет ли он связь с какой либо группой лиц. (применений масса, вот вам гайд с хабра

Ещё больше интересного и познавательного контента у меня в Telegram-канале — @secur_researcher

Читать далее

JavaScript: структуры данных и алгоритмы. Часть 3

Level of difficultyMedium
Reading time46 min
Views8.5K


Привет, друзья!


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



Сегодня мы будем говорить о таких структурах данных, как деревья. В этой статье мы рассмотрим двоичное дерево поиска, АВЛ-дерево и красно-черное дерево.


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


Интересно? Тогда прошу под кат.

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

В сотый раз об эргономике рабочего места (на личном опыте)

Level of difficultyEasy
Reading time7 min
Views55K

Это мой субъективный, личный опыт, но я очень хочу им поделиться и может помочь кому-то не обрести типичных болячек из-за работы за компьютером, а может помочь избавиться от тех проблем, что уже начали себя проявлять.

Читать далее

Отладка PHP сценариев в Docker-контейнере с помощью PhpStorm и Xdebug. Глубокое погружение

Level of difficultyEasy
Reading time11 min
Views9.1K

Одним из ключевых аспектов успешной разработки является эффективная отладка кода.

Статья посвящена настройке и использованию PhpStorm, Xdebug и Docker для отладки PHP-скриптов в Docker-контейнере. Статья предлагает актуальную информацию (на момент написания) и оформлена в виде подробнейшего пошагового туториала. Информация действительна для ОС Windows. В других ОС возможны варианты.

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

Читать далее

Мой топ нейросетей для дизайнера

Level of difficultyEasy
Reading time7 min
Views29K

Всем привет, меня зовут Денис, я тимлид команды дизайна в DLS, а также ревьюер в Яндекс Практикуме на курсах «Дизайнер интерфейсов» и «Дизайнер мобильных приложений». В этой статье я хочу поделиться подборкой нейросетей для коммуникационных и графических дизайнеров, которые работают с векторной и растровой графикой. А в конце расскажу, какой шаблон помогает мне сделать хороший промт. 

Читать далее

Простая автоматизация с Bash для новичков

Level of difficultyEasy
Reading time8 min
Views29K

Приветствую, это Денис из команды BagrovChibirev, и в статье я на простом примере расскажу об автоматизации процессов в Linux с помощью bash скриптов (сценариев командной строки).

Этот материал для тех, кто только рассматривает для себя инструменты автоматизации рутинных процессов. Я не буду вдаваться в подробности работы оболочки или терминологию (на знания чего и не претендую), но я пошагово пройдусь по написанному скрипту и расскажу своё мнение почему вообще их стоит использовать. Приятного чтения :)

Рассматривать я буду свой минималистичный скрипт для разворачивания простого python Django проекта при помощи системных юнитов (демонов) на удалённом сервере. Для тех, кто не в курсе: демоны - это специальные системные сервисы, которые следят за состоянием сторонних процессов и поддерживают их работоспособность. В современном мире для таких целей на микросервисах применяется Docker, но когда проект небольшой и состоит из пары-тройки процессов, их намного легче, проще и дешевле для системы (в разы), развернуть при помощи встроенных в линукс демонов.

Читать далее

Сборка Min.io dev кластера в контейнерах

Level of difficultyEasy
Reading time18 min
Views9K

Сборка Min.io dev кластера в контейнерах с tls, site replication, nginx и мониторингом.

Статья представляет собой пошаговое руководство для разворачивания кластерного minio в контейнерах от bitnami. Доступ в кластер будет организован через nginx. Также рядом развернем однонодный minio. Объединим эти 2 minio с помощью site-replication. Создадим тестового пользователя, тестовую политику, тестовый бакет и попробуем с ним работать. Закончим настройкой мониторинга: дефолтные prometheus для сборки метрик и grafana для отрисовки дашбордов.

Читать далее

12 важных веб-сайтов, о которых должен знать каждый программист

Level of difficultyEasy
Reading time2 min
Views44K

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

Читать далее

Создание собственного API на Python (FastAPI): Подключаем фронтенд и статические файлы

Level of difficultyMedium
Reading time33 min
Views27K

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

- Основы создания простого приложения с использованием FastAPI.

- Основные HTTP‑запросы: POST, GET, PUT и DELETE.

- Принципы работы с Pydantic моделями и их интеграцию в FastAPI.

- Использование инструментов Alembic и SQLAlchemy для управления базой данных.

- Настройку асинхронной работы с базой данных PostgreSQL в SQLAlchemy.

- Реализацию кастомной авторизации и аутентификации в FastAPI.

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

Читать далее

Я победил замедление YouTube

Reading time4 min
Views431K

Привет, Хабр! Ухудшение работы YouTube стало поистине трагическим событием, которое прибило почти все загрузчики видео, но я нашел легальный способ улучшить ситуацию! Как починить оборудование Google, не привлекая внимание санитаров.

Читать далее

Управление личными делами в Obsidian (прототип)

Level of difficultyHard
Reading time27 min
Views34K

В статье будет показан прототип системы дел, который реализован в Obsidian. Система в основном будет базироваться на идеях GTD.

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

Система будет адаптирована для телефонов.

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

Задачи и Obsidian? Звучит интересно!

Как я использую плагины VSCode для обработки Json-файлов в работе системным аналитиком

Level of difficultyEasy
Reading time6 min
Views12K

Всем привет! На Хабре много статей про настройку VSCode, но большинство написали разработчики и для разработчиков. Это достаточно крутой и универсальный инструмент, который можно использовать не только для программирования. В этой статье я на своем примере покажу, как его можно настроить и расширить для работы с данными.

Меня зовут Юлия Васильева, и я системный аналитик в МТС Диджитал. Работаю с B2C-продуктом и анализирую много-много разных Json-файлов. В этой статье я расскажу, как облегчила себе работу с ними благодаря VSCode и почему я в восторге от этого инструмента.

Читать далее

5 способов преобразования PDF в Word в Python: Сравнительное руководство

Level of difficultyEasy
Reading time4 min
Views15K

Преобразование PDF-документов в редактируемые файлы Microsoft Word позволяет вносить изменения, добавлять аннотации и более эффективно работать с PDF-контентом.

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

Читать далее

4 тысячи заметок?! Как я веду личную базу знаний в Obsidian

Reading time6 min
Views73K

В моей базе знаний 4 000 заметок.

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

Читать далее

Как я в 35 пытался стать Python-разработчиком, и почему у меня [пока] ничего не вышло

Reading time4 min
Views77K

Мои родители инженеры микроэлектронной техники, мой младший брат ML-разработчик уровня lead, друзья — системные и бизнес-аналитики. А я — гуманитарий. Мне не повезло. С характером, способностями, обстоятельствами, мало ли чем ещё. В какой-то момент я понял, что так больше не может продолжаться и решил в свои тогда ещё 34 года «залететь в ИТ». Выбрал курсы по Python на степике, потому что это самый популярный и довольно простой язык. Вдохновился историями «старокодящих», которые смогли. Почитал новости о диком дефиците программистов в России. И с головой ушёл в обучение.

Что могло пойти не так?

Создание масштабируемых приложений при помощи Kafka и реактивного программирования

Reading time12 min
Views11K
image


Введение


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

Information

Rating
3,927-th
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity