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

Все потоки

Сначала показывать
Порог рейтинга
Уровень сложности

Спасаем Google shared drives от санкций (дополнение спустя два года)

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 287

Ровно два года назад, 16 марта 2022 года, ваш покорный слуга рассказал про нехитрые телодвижения, которые с помощью rclone позволяют сохранить локально ваши корпоративные Google shared drives (не путать с личным Google Drive).

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

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

Новости

DLP: предотвращаем утечки

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

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

При этом, уже не одно десятилетие существуют системы предотвращения утечек (DLP). Но прежде, чем идти дальше и говорить о проблемах внедрения DLP, давайте правильно расшифруем данную аббревиатуру. DLP это Data Leak Prevention, предотвращение утечек информации. Можно встретить расшифровку Data Loss Prevention – то есть предотвращение потери информации. Однако, потеря информации и ее утечка - это немного разные вещи. При потере информации она совершенно необязательно становится доступной посторонним, в то время как утечка информации однозначно определяет получение доступа к ней посторонних.

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

Но это было лишь небольшое лирическое отступление. Вернемся непосредственно к DLP системам.

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

JS. Валидация данных. Пишем свой YUP

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

Создаем TypeScript библиотеку для валидации данных. Поэтапно добавляем основной функционал и типизацию. Делаем основую упор на простоту кода и проиводительность. Как протитип используем yup и zod.

Читать далее
Рейтинг 0
Комментарии 0

Изучаем WebRTC на практике: Лучшие инструменты и демо

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 826

В этой статье(или дайджесте) я поделюсь ключевыми инструментами, демонстрационными приложениями и открытыми проектами, незаменимыми для практического понимания WebRTC. Здесь не будет туториалов или подробных объяснений о той или иной части WebRTC, а скорее некий дайджест ресурсов, которые помогут лучше разобраться в теме. Если вы работаете с этой технологией уже какое-то время, вряд ли вы найдете что-то новое для себя.

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

Истории

Где изучать DevOps. Бесплатные курсы, книги и полезные материалы

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

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

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

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


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

Эти источники позволяют выбрать наиболее подходящий подход к обучению и материалы для своего учебного процесса. Некоторые из них включают в себя курсы по Docker, Kubernetes, Ansible, Jenkins, Git и другим инструментам, необходимым для успешной работы в области DevOps.

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

В статье я собрал большой список курсов, книг, репозиториев и ресурсов, которые помогут вам стать DevOps-инженером🧑‍💻.

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 2

The Sims 4: разбор нарративных механик самой знаменитой игры без сюжета

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 913

С момента своего запуска в 2014 году, The Sims 4 превратилась не просто в игру, но в целый культурный феномен, привлекая миллионы поклонников по всему миру. Этот необычайный успех можно объяснить множеством факторов, но одним из ключевых является уникальная возможность игры служить платформой для творчества и самовыражения. В отличие от традиционных видеоигр с заранее заданным сюжетом, The Sims 4 предлагает игрокам свободу создавать собственные истории в мире, где практически нет ограничений. Эта игра-песочница позволяет каждому игроку стать автором уникальных нарративов, переплетая жизни и судьбы симов в соответствии со своими желаниями и фантазиями.

В The Sims 4 отсутствует традиционный сюжет в его классическом понимании, зато нарративные возможности ограничены лишь воображением игроков. Таким образом, игра демонстрирует, как сюжет и нарратив работают ради одной цели – вовлечения игрока в историю и предоставления ему пространства для уникальных переживаний.

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

Художественные приемы и профессиональные термины для создания изображений с ИИ. Всё, что нужно знать

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

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

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

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

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Комментарии 0

Стереогарнитура с бинауральным звуком

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 680

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

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

Запускаем privateGPT локально на WSL c поддержкой GPU Nvidia

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

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

Запуск на Windows Subsystem для Linux (WSL) с поддержкой GPU может значительно улучшить его производительность. В этом руководстве я проведу вас пошаговый процесс установки PrivateGPT на WSL с использованием ускорения GPU.

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Комментарии 3

Арбитраж трафика в 2024 году: что это и как работает?

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


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

Иногда специалистов по арбитражу трафика сравнивают с агентами по продажам. И это не удивительно. Дело в том, что принцип работы арбитражника заключается в привлечение людей на сайт клиента. Оплата за работу поступает только после того, как клиент получает новый лид. Все достаточно просто: если специалист по арбитражу трафика не привел посетителей на сайт клиента, то и оплаты он не получает. Если же арбитражник применил наиболее эффективные методы работы и хорошо постарался для привлечения новых лидов, то и оплату получает достойную.
Читать дальше →
Всего голосов 19: ↑15 и ↓4 +11
Комментарии 1

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

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

Фомичев В.А., полковник запаса,
Крюков В.А., гражданское лицо.

Живый в помощи Вышняго,
в крове Бога Небеснаго водворится

Псалом 90.

Данная статья является продолжением статьи «Концепции устройства приёмника умного звукового датчика на базе шины CAN»

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

В статье представлено наше понимание вопроса устройства умных приёмников звука и их совместной работы в составе сетецентрической системы для установления 3–х мерных координат источника звука.

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

Разработка игры на C++/SFML: Начало

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

Всем привет!

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

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

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

Как потерять управление оболочкой… Расследование

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

image


Несколько недель назад я занимался хаком языковых серверов в Zed, пытаясь заставить Zed определять, когда заданный бинарник языкового сервера, например gopls, уже присутствует в $PATH. Если так, вместо загрузки нового бинарника Zed должен использовать его.


Трудность: часто $PATH динамически изменяется такими инструментами, как direnv, asdf, mise и другими, которые позволяют в данной папке установить определённый $PATH. Почему эти инструменты так делают? Потому что это даёт возможность, скажем, в начале $PATH добавить ./my_custom_binaries, пока вы находитесь в my-cool-project. Поэтому нельзя просто использовать $PATH, связанный с процессом Zed, нужен $PATH, как он есть, когда выполняется cd в каталог проекта.


Легко, подумал я. Просто запусти $SHELL, выполни cd в проект, чтобы запустить direnv и всё такое, запусти env, сохрани окружение, выбери $PATH, найди в нём бинарники. И это было легко. Вот часть кода, та часть, которая запускает $SHELL, cd и получает env:


fn load_shell_environment(dir: &Path) -> Result<HashMap<String, String>> {
    // Получает $SHELL
    let shell = std::env::var("SHELL")?;

    // Конструирует команду, которую хочется выполнить в $SHELL
    let command = format!("cd {:?}; /usr/bin/env -0;", dir);

    // Запускает $SHELL как интерактивную оболочку (чтобы использовались файлы пользователя rc).
    // и выполняет `command`:
    let output = std::process::Command::new(&shell)
        .args(["-i", "-c", &command])
        .output()?;

    // [... проверка кода выхода, получение stdout, превращение stdout в HashMap и т. д. ...]
}

За исключением одного: после запуска экземпляра Zed в терминале, который выполнял эту функцию, я больше не мог убить Zed, нажав Ctrl-C.

Что?
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 0

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн

Разработка высоконагруженного игрового WebSocket сервера на Kotlin, Webflux с поддержкой BattleRoyale/Matchmaking

Уровень сложности Сложный
Время на прочтение 20 мин
Количество просмотров 1K

Всем доброго времени суток. Некоторое время назад мною была написана статья, где я детально описал процесс разработки демо игрового вебсокет сервера. На этот раз, я хотел бы поделиться более усовершенствованным и оптимизированным материалом на Kotlin и реактивном стеке.

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

SwiftUI уроки (часть 4)

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

Понимание ScrollView и создание UI карусели

ссылка на 3ю часть

В этом уроке мы разберемся с таким элементом как ScrollView для создания длинных прокручивающихся полотен

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

Часть 1. Геймификация: «Система образования как продукт: аудит системы

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 154

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

Выявим проблемы, которые возникают в текущей версии системы образования (далее - СО).

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

Мемоизация в React: я почитал документацию вместо вас

Уровень сложности Простой
Время на прочтение 18 мин
Количество просмотров 1.2K

В статье рассмотрены три инструмента мемоизации в React: useMemo, useCallback, memo. Главный источник информации: документация React. Не всем комфортно работать напрямую с документацией, так что если вы постоянно откладываете погружение в документацию React - я сделал это за вас, постарался выделить самое важное, и дать ссылки для углубленного погружения.  

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

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

Проблема квантового измерения и её решения: байесовские вероятности или неопределённость самолокации?

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

Кажется, наука приближается к разрешению парадокса, породившего множество интерпретаций квантовой механики и множество споров между их сторонниками. Реализованный в 2019 г. эксперимент «Друг друга Вигнера», в котором наблюдатели моделируются с помощью фотонов или кубитов квантового компьютера, убедительно показал, что квантовую механику нельзя применять для описания мира с точки зрения других наблюдателей. В результате теории, постулирующие коллапс волновой функции, перестают быть самосогласованными и выбывают из игры. В финальный раунд проходят только кьюбизм и многомировая интерпретация – две самые радикальные и диаметрально противоположные интерпретации, предлагающие очень похожие решения проблемы измерения. Одна из них требует отказаться от идеи объективной реальности, а вторая – признать собственную неуверенность в том, в какой вселенной вы находитесь. Я делаю ставку на второй вариант, а какое из этих двух зол выбираете вы?

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 2

Советские игровые автоматы — ностальгический гейминг с запахом резины. Часть 2: «Городки» и электронные тиры

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 1.3K

Советские игровые автоматы стали порождением сближения СССР и Запада в начале 70-х годов, при брежневско-никсоновской разрядке. Советский Минкульт выкупил большую часть игровых автоматов, которые появились в Москве на международной выставке «Аттракцион-71», и уже в 1974 году в серию пошёл самый знаменитый советский игровой автомат «Морской бой». О том, как он появился на свет, и какую роль в этом сыграли японские и американские разработки, мы поговорили в прошлой части. А теперь вспомним другие игровые автоматы СССР — менее культовые, но также дарившие множество ярких впечатлений до появления в нашей стране массовых компьютерных игр.
Читать дальше →
Всего голосов 28: ↑25 и ↓3 +22
Комментарии 2

Я знаю, каким был твой пароль прошлым летом…

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

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

Читать далее
Всего голосов 6: ↑2 и ↓4 -2
Комментарии 2