Описание работы программы для автоматического обхода блокировок в интернете, код программы лежит на репозитории antiblock.
Пользователь
Как делать бэкапы без проводов: restic + MinIO (S3)
До недавнего времени я делал бэкапы своих устройств на внешний HDD. Такой способ меня устраивал потому, что бэкапил данные редко - раз в неделю. Когда задумался о ежедневных бэкапах, понял, что бегать с внешним HDD будет непрактично. Хочу рассказать про удобное (по крайней мере для меня) решение для ежедневных бекапов без проводов.
История покупки одной видеокарты — NewEgg, Криптовалюта, Почта Global и Таможня
Друзья, эта история о том, как я заказывал видеокарту в онлайн-магазине NewEgg с оплатой криптовалютой и отправкой через сервис пересылки почты "Почта Global" и с какими трудностями столкнулся. Надеюсь этот материал поможет кому-нибудь, потому что мне такого и правда не хватало.
Итак, погнали...
Чем грозит авария на Запорожской АЭС
За последние дни я дал несколько интервью о ситуации на ЗАЭС. Например, для проекта Редакция. В этой статье я кратко опишу основные возможные аварийные ситуаций, которые могут возникнуть на станции, либо уже возникают. И их потенциальные последствия – что и куда может улететь, чем это грозит и даже как можно к этому подготовиться. В марте я уже писал подобную статью про риски аварий на Чернобыльской АЭС. И мне очень не нравится писать на такие темы, но какие времена — такая и атомная популяризация.
Глубокое погружение в Java Memory Model
Я провел в изучении JMM много часов и теперь делюсь с вами знаниями в простой и понятной форме.
В этой статье мы подробно разберем Java Memory Model (JMM) и применим полученные знания на практике. Да, в интернете накопилось достаточно много информации про JMM/happens-before, и, кажется, что очередную статью про такую заезженную тему можно пропускать мимо. Однако я постараюсь дать вам намного большее и глубокое понимание JMM, чем большинство информации в интернете. После прочтения этой статьи вы будете уверенно рассуждать о таких вещах как memory ordering, data race и happens-before. JMM — сложная тема и не стоит верить мне на слово, поэтому большинство моих утверждений подтверждается цитатами из спеки, дизассемблером и jcstress тестами.
Все люди — НПС в компьютерной игре?
Упомянув, несколько лет назад, в опубликованной на Хабре юмористической статье «12 способов» о том, что значительная часть населения Земли является НПС (от англ. Non-Player Character) я не собирался возвращаться к этой теме. Но идея оказалась прилипчивой — раз возникнув, она постоянно всплывала в сознании, когда я общался со знакомыми или читал новостные сайты. И не у одного меня — подобных теорий, с небольшими вариациями, известно огромное множество.
Широко известный эзотерик Георгий Гурджиев еще в начале прошлого века утверждал, что «Люди, суть не что иное, как машины, спящие автоматы, подчиняющиеся законам механики, не способные ни к каким осознанным действиям». Писатель фантаст Роберт Дж. Сойер описал в романе «Квантовая ночь» не отличимое от нашего общество, в котором большая часть населения являются подобием «философских зомби» — не осознающими себя личностями без внутреннего монолога. Что-то подобное можно найти у этолога Анатолия Прототопова — в его терминах, речь идет о высокопримативных и низкопримативных особях.
Сначала я воспринимал эти идеи в штыки — посчитав очередной попыткой сегрегации человечества на чистых и нечистых. Но, чем больше я обдумываю концепцию, тем больше нахожу подтверждений — окружающие меня люди действительно делятся на мыслящих и спящих. Данная статья — попытка найти рациональное звено в этих теориях.
Набор практик по работе с Postgresql глазами Spring java backend разработчика
Дисклеймер: в данной статье много воды, отражены мысли и опыт воспаленного мозга, потому заранее предупреждаю, что можете потерять просто свое время зря. Из java тут вообще мало. Возможно данная статья будет полезна начинающим разработчикам.
Данная заметка - микс различных приемов работы с базой данных, мейнтененса, встречающихся проблем. В общем это чистой воды винегрет и что-то вроде шпаргалки. Я не являюсь гуру PostgreSQL, но могу поделиться своими наработками, которые использую достаточно часто являясь простым java разработчиком. Может кому-то что-то пригодиться.
Ведьмаку заплатите чеканным хоть чем-то: как получать оплату от зарубежных заказчиков
Факт: если ты — диджитал-специалист из России, то принимать оплату от иностранных заказчиков сейчас как минимум не так просто, как было раньше. Факт: если ты иностранный заказчик, то оплачивать работу подрядчиков из России тоже проблематично.
Знаете эти сложные и нудные квесты, которые в итоге оказываются ключевыми в прохождении сюжетки? Денежные переводы фрилансерам и работникам из России в текущей ситуации оказались как раз таким. Мой герой взял непростое “Оплачивать работу фрилансеров в России из Европы” и вдобавок прихватил “Принимать оплату от заказчиков из других стран”.
На пути я попробовала четыре способа перевода оплаты и подошла к ним с двух позиций: предпринимателя и фрилансера. Рассказываю о всех четырех под катом. Поехали на квест!
KeyCloak и Spring Boot
Хочу описать логику как с использованием сервиса авторизации Keycloak настроить авторизацию при этом получая token и refreshToken , а так-же обменивать refreshToken на новый token.
Как оплатить VPN без Visa и Mastercard
Во времена хаоса самый необходимый и жизненно важный ресурс - это не еда, вода и средства гигиены, а информация. К сожалению, цензура интернета особенно последнее время стремится оградить людей от информации. Еще больше усугубляет положение изоляция России от международных платежных систем. В этой статье я расскажу, как можно платить за VPN при помощи криптовалют.
GPT для чайников: от токенизации до файнтюнинга
К моему удивлению, в открытом доступе оказалось не так уж много подробных и понятных объяснений того как работает модель GPT от OpenAI. Поэтому я решил всё взять в свои руки и написать этот туториал.
keyT5 или генерация ключевых слов из текста
Я попытался обучить русскоязычную модель ruT5-base и ruT5-large на задаче извлечения ключевых слов из текста.
Как писать bash-скрипты надежно и безопасно: минимальный шаблон
Скрипты на Bash. Как много в этом слове. Любому разработчику рано или поздно приходится их писать. Почти никто не скажет "да, я люблю писать bash-скрипты", и поэтому этой теме уделяют мало внимания.
Я не буду пытаться сделать из вас эксперта в Bash, а просто покажу минимальный шаблон, который поможет сделать ваши скрипты более надежными и безопасными.
Современный Frontend: проблемы и пути решения. Пишем React-like приложение со строгой типизацией без сборщиков
Всем привет! Меня зовут Петр Солопов, я руководитель отдела фронтенд-разработки в SuperJob. Думаю, многие из вас видели популярную серию картинок в интернете про фронтенд и бэкенд: на бекенде всегда какой-то монстр, а на фронте — все мило, летают бабочки. На мой взгляд, это не соответствует действительности и все не так радужно и безоблачно: чего только стоят настройка Webpack, тона зависимостей, особенности фреймворков и многое другое. За подробностями под кат.
SRP-6. Безопасная аутентификация по небезопасному каналу
Как аутентифицировать пользователя без передачи пароля на сервер? Возможно ли проверить, что пользователь ввёл правильный пароль, не передавая пароль на сервер. Да, такое возможно, благодаря доказательству нулевого разглашения.
Хабрарейтинг 2020: статистика и рейтинг лучших статей за 2020 год
Заканчивается 2020 год, а значит, настало время подвести статистические итоги и составить уже традиционный рейтинг лучших статей Хабра за этот год. Этот рейтинг не является официальным, данные собираются парсером с помощью Python. Сортируя данные по тем или иным параметрам, можно получать разные выборки, что на мой взгляд, даёт довольно неплохие результаты. Для читателей также может быть интересно перечитать какие-то статьи, которые они пропустили в течении года.
Поехали.
Доступ к ssh серверу через очень зарегулированное подключение
Что такое I в ACID или вы нам не подходите
Это пост удивления. Я сходил на собеседования в три минских стартапа и в одну небольшую компанию, и вот что из этого вышло.
Файл дескриптор в Linux с примерами
Конечно же я ответил, что посмотрю, чем занято это место и если возможно, то почищу место.
Тогда интервьюер спросил, а что если на разделе нет свободного места, но и файлов, которые бы занимали все место, ты тоже не видишь?
На это я сказал, что всегда можно посмотреть открытые файл дескрипторы, например командой lsof и понять какое приложение заняло все доступное место, а дальше можно действовать по обстоятельствам, в зависимости от того, нужны ли данные.
Интервьюер прервал меня на последнем слове, дополнив свой вопрос: «Предположим, что данные нам не нужны, это просто дебаг лог, но приложение не работает из-за того, что не может записать дебаг»?
«окей», — ответил я, «мы можем выключить дебаг в конфиге приложения и перезапустить его».
Интервьюер возразил: «Нет, приложение мы перезапустить не можем, у нас в памяти все еще хранятся важные данные, а к самому сервису подключены важные клиенты, которых мы не можем заставлять переподключаться заново».
«ну хорошо», сказал я, «если мы не можем перезапускать приложение и данные нам не важны, то мы можем просто очистить этот открытый файл через файл дескриптор, даже если мы его не видим в команде ls на файловой системе».
Интервьюер остался доволен, а я нет.
Тогда я подумал, почему человек, проверяющий мои знания, не копает глубже? А что, если данные все-таки важны? Что если мы не можем перезапускать процесс, и при этом этот процесс пишет на файловую систему в раздел, на котором нет свободного места? Что если мы не можем потерять не только уже записанные данные, но и те данные, что этот процесс пишет или пытается записать?
HTTP-заголовки для ответственного разработчика
Сегодня быть онлайн — это привычное состояние для многих людей. Все мы покупаем, общаемся, читаем статьи, ищем информацию на разные темы. Сеть соединяет нас со всем миром, но прежде всего, она соединяет людей. Я сам пользуюсь интернетом уже 20 лет, и мои отношения с ним изменились восемь лет назад, когда я стал веб-разработчиком.
Разработчики соединяют людей.
Разработчики помогают людям.
Разработчики дают людям возможности.
Разработчики могут создать сеть для всех, но эту способность необходимо использовать ответственно. В конце концов, важно создавать вещи, которые помогают людям и расширяют их возможности. В этой статье я хочу рассказать о том, как HTTP-заголовки могут помочь вам создавать лучшие продукты для лучшей работы всех пользователей в интернете.
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность