Pull to refresh
4
0.2
Иван Касьянов @Kasyan666

User

Send message

От хронической заложенности к свободному дыханию: история одного пациента

Reading time5 min
Views2K

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

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

Читать далее

Что не так с chroot: почему для контейнеров используется именно pivot_root

Level of difficultyMedium
Reading time5 min
Views3.1K

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

Читать далее

Промпты для ChatGPT, которые могут повысить качество ответов ChatGPT

Level of difficultyEasy
Reading time3 min
Views46K

Давайте будем честными.

Простые промпты наподобие "Напиши статью из 1500 слов под заголовком: Топ-10 продуктов, которые разрушают вашу печень» не дадут вам и 1% тех результатов, которые способен дать Chat GPT.

Читать далее

Неиспользуемые остатки образов в Docker: как удалить зомби-слои и защитить секреты

Level of difficultyMedium
Reading time10 min
Views5.7K

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

Читать далее

Простая локализация .NET приложений с помощью Slang.Net

Level of difficultyEasy
Reading time8 min
Views1.4K

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

Читать далее

Эксперимент по ускорению SQLite

Level of difficultyMedium
Reading time5 min
Views7.2K

SQLite быстра, но можно ли сделать её ещё быстрее? Исследователи из Университетов Хельсинки и Кембриджа задались этим вопросом и опубликовали работу Serverless Runtime / Database Co-Design With Asynchronous I/O. В ней они продемонстрировали возможность 100-кратного снижения времени задержки, и ниже я в общих чертах эту их работу прокомментирую.

Речь пойдёт об исследовании возможностей Limbo — переписанной на Rust версии SQLite.
Читать дальше →

Snapper: система снапшотов, которая спасет ваш Linux

Level of difficultyEasy
Reading time2 min
Views9.9K

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

К счастью, есть простое советское средство для починки чего угодно!

Rollback

Ключевание стоковых изображений с помощью Batch API от OpenAI

Level of difficultyMedium
Reading time12 min
Views1.4K

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

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

Читать далее

Изоляция процессов и минимизация привилегий: использование Linux namespaces и seccomp

Level of difficultyMedium
Reading time11 min
Views8.1K

По статистике, каждые 39 секунд в мире происходит кибератака. Задумайтесь об этом на мгновение. А теперь представьте, что процессы на сервере работают как супергерои, готовые к борьбе с внешними угрозами. Но только если они не захотят стать злодеями. Что если один из процессов решит, что ему по силам взломать систему и получить root-права? Сценарий не такой уж фантастический, как может показаться. В этой статье разберемся, как снизить подобные риски. Материал будет полезен начинающим специалистам, которые работают с контейнерами, виртуализацией и управлением ресурсами: сисадминам, разработчикам и DevOps-инженерам. Добро пожаловать под кат!
Читать дальше →

Ultimatum — еще один форк хромиума, с претензией…

Reading time10 min
Views10K

image


Добрый день! Меня зовут Тимур и я программист.


Сегодня я хочу сделать настоящий анонс своей сборки chromium — Ultimatum. Он умеет уже достаточно много что бы гордо носить свое собственное имя.


В прошлой своей статье я рассказал о том как пробросил в js прямой доступ до http кеша и объяснил для чего я это делаю. Статья завершилась со словами что я еще вернусь со своим антидетект браузером. Я вернулся и это немного больше чем антидетект браузер.


Если коротко — Ultimatum уже помножил на ноль такие техники трекинга как hsts-pinning, favicons cache и вообще использование многих других кешей в трекинге. А также! Теперь можно поставить расширение с любого сайта, не только со сторов гугля, оперы или микрософта (с них кстати тоже можно — со всех!). А еще! Можно перехватывать сетевые запросы и подменять их полностью! Ну и так далее и тому подобное.


А теперь более подробно и более спокойно.

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

Как избавиться от храпа: реальная история из практики врача

Reading time4 min
Views16K

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

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

После подробного расспроса выяснилось...

Читать далее

Неочевидные для начинающих тонкости Postgres

Level of difficultyMedium
Reading time15 min
Views41K

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

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

За исключением… Postgres.

Не потому, что официальная документация несовершенна (она прекрасна!), просто её очень много. Если распечатать её как стандартный PDF на бумаге формата Letter, то получится 3206 страниц (для текущей версии 17)1. Разработчик-джун вряд ли сможет сесть и прочитать её с начала до конца.

1. Если печатать на бумаге A4, то получится 3024 страницы; наверно, это ещё один аргумент в пользу стандарта.

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

Надеюсь, это упростит процесс освоения для читателей моей статьи.

Стоит отметить, что многое из описанного может быть применимо и к другим системам управления базами данных (СУБД) SQL и вообще к базам данных в целом, но я слабо знакома с ними, так что не буду утверждать с уверенностью.
Читать дальше →

Как найти хорошую работу в IT? Лучшие каналы и практики поиска в 2024 году

Level of difficultyEasy
Reading time4 min
Views16K

Последнее время всё чаще, когда речь заходит о карьере, говорят о том как правильно составить CV, презентовать себя, написать сопроводительное. Это безусловно база, без этого никак. 

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

Посмотрим глазами нанимающего, как это работает.

Читать далее

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

Reading time8 min
Views65K


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

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

Поэтому анонимное средство коммуникаций с надёжным шифрованием — это обязательный стандарт для нормального человека. Телеграм с секретными чатами — не самый лучший вариант. Чтобы гарантировать подобие анонимности, там нужно совершить ряд необязательных действий, включая покупку виртуального номера за TON'ы (сначала нужно купить эти TON'ы, что тоже нетривиальная процедура).

Спрашивается, зачем нужен виртуальный номер, если можно реализовать регистрацию вообще без номера, как в нормальных анонимных мессенджерах?
Читать дальше →

Refit в .NET: обзор библиотеки для упрощения работы с REST API

Level of difficultyMedium
Reading time8 min
Views3.8K

В этом обзоре мы познакомимся с библиотекой Refit для .NET, которая значительно упрощает работу с REST API.

Refit позволяет разработать типобезопасные http клиенты с использованием интерфейсов и атрибутов, что делает код более читаемым и удобным для сопровождения.

Читать далее

Г̶р̶о̶ш̶ 1 рубль цена Mail.ru

Level of difficultyEasy
Reading time2 min
Views55K

Недавно прочитал новость, что Mail.ru отменила бесплатные вечные 100 ГБ для первых пользователей «Облако Mail.ru»


В конце октября 2024 года компания Mail (принадлежит VK) предупредила клиентов, что отменяет бесплатные вечные 100 ГБ для первых пользователей «Облако Mail.ru» спустя 11 лет старта проекта.

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


Но это предыстория, а сама история вот:


Уже давно обратил внимание, что при отправке любого письма на Mail.ru показывается плашка "Письмо отправлено. Вы можете отменить отправку ..." со счетчиком оставшихся секунд до отмены, но я никогда на это не реагировал, всегда нажимая крестик для закрытия окна.


rbyee81nnp_jvwmddupm71ti-iw.jpeg


Но однажды, к своему сожалению, решил ради интереса посмотреть, что же будет, если нажать на кнопку "отменить отправку".


И как оказалось ничего хорошего!

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

Что такое podman kube и как он может быть полезен для работы в rootless режиме

Level of difficultyMedium
Reading time14 min
Views2.5K

При развертывании пары десятков контейнеров в Podman в rootless-режиме мы внезапно обнаружили, что они не могут одновременно использовать одни и те же порты, как это обычно работает при использовании Docker.

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

Читать далее

Как ускорить сборку Docker-образов в GitLab: стратегии кэширования с Docker Buildx

Level of difficultyHard
Reading time16 min
Views9.5K

Скорость сборки Docker-образов играет важную роль в CI/CD, особенно для микросервисов, где частые обновления и тестирования требуют быстрой доставки изменений.

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

В этой статье мы сосредоточимся на том, как эффективно настроить и использовать кэширование с Docker Buildx в CI/CD пайплайнах на GitLab. Мы рассмотрим примеры, когда кэширование позволяет ускорить сборку, и ситуации, когда его лучше отключить для гарантии корректности итогового образа.

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

Анонимная сеть Hidden Lake: переход на постквантовую криптографию

Level of difficultyHard
Reading time16 min
Views9.7K

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

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

Читать далее

Блеск и нищета WebAssembly

Level of difficultyHard
Reading time20 min
Views13K

Всем привет! Сейчас за окном осенние деньки 2024 года. Вещает Пройдаков Евгений. Сейчас я руковожу группой разработки среды исполнения языка eXtraction and Processing в R&D департаменте Positive Technologies.

Доменно специфичный язык eXtraction and Processing является важной частью движка поведенческого анализа, используемого в таких продуктах Positive Technologies, как MaxPatrol SIEM и PT ISIM. Сегодня хотелось представить вашему вниманию выжимку нашего R&D процесса в экспериментах с WebAssembly.

Узнаем, что такое WebAssembly. Поймём, как его можно встроить в программный продукт. Коснёмся инструментов разработки и сред исполнения WebAssembly. А также в рамках одной статьи пройдём путь от постановки задачи до результатов по разработке среды исполнения для доменно специфичного языка программирования.

Кроме того, мы разберем некоторые проблемы, которые могут появиться у вас при попытке собрать и отладить большой С++ проект под WebAssembly. Материал может быть особенно полезен тем, кто хочет использовать WebAssembly за пределами веб‑браузера.

Более подробно про сам язык eXtraction and Processing можно почитать в прошлой статье цикла от моего коллеги Михаила Максимова.

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

На старт, внимание, поехали!
1
23 ...

Information

Rating
2,725-th
Location
Жуковский, Москва и Московская обл., Россия
Date of birth
Registered
Activity