На удалённой машине работает веб-сервер, доступный только по адресу localhost и не принимающий подключения извне. Единственный способ подключиться к этой машине — через SSH.
Требуется реализовать в Go-приложении возможность отправлять HTTP-запросы к этому веб-серверу, используя SSH-туннелирование внутри самого приложения.
Иногда возникает потребность сделать бекап postgresql базы, используя подручные средста и накатить этот бекап на другую базу, например, для тестов.
Будем использовать утилиты pg_dump и pg_restore для достижения цели.
В зависимости от деталей задачи есть и другие варианты решения, например, с помощью подключение реплики базы или с помощью создание подписки.
Но эти варианты могут не работать, т.к. могут потребоваться права администратора для конфигурирования базы, которых может не быть при использовании облачной инфраструктуры.
Заодно вспомним как работать с docker, sql.
2 Создание БД в облаке
В качестве удаленной бд используем базу Neon на платформе Vercel. Neon - это облачная база данных, совместимая с PostgreSQL, ориентированная на бессерверную архитектуру.
Иногда нужно графически изобразить какаю-то симуляцию или процесс.
Основные требования - поддержка языка Go, т.к. вычисления производится на Go и простое использование.
Рассмотрим ebiten одну из самых полупярных библиотек для работы с графикой.
Основное применение ebiten - создание интерактивных 2D игр.
Воспользуемя библиотекой чтобы наривать какой-нибудь динамический процесс.
2 Множество Жюлиа
В качестве примера попробуем нарисовать множество Жюлиа.
Множество Жюлиа описывается уравнением J(f)={z∈C∣limn→∞∣fn(z)∣=+∞}
Описание
My friend Marco recently dived into studying bitwise operators, and now he’s convinced he’s invented pseudorandom numbers!
Could you help me figure out his secrets?
Иногда в целях отладки хочется посмотреть содержимое https трафика.
Например, клиент с помощью cURL взаимодействует с публичный API сервера.
Но иногда что-то идет не так. Клиент не получает ответ, хотя сервер залогировал, что запрос был успешно выполнен и ответ был отправлен. Выглядит что где-то среди различных проксей и различных подсетей что-то теряется.
В этом случае можно попробовать записать сетевую активность между клиентом и сервисом в разных местах, расшифровать данные, сопоставить запросы и ответы и проверить не потерялось ли что-то.
Каждый день с 1 по 25 декабря открывались по 2 задачи.
Обычно первая задача простая, для понимания всех условий задачи.
Вторая - более сложная, с измененными условиями так, что решение из первой задачи уже не подходит и приходится сильно оптимизировать алгоритм решения или использовать совершено другой подход.
Первая половина заданий была относительно простой, в то время как для решения финальных задач потребовались подсказки.
В целом, это была отличная возможность вспомнить алгоритмы.
Padding Oracle Attack — это криптографическая атака, которая эксплуатирует механизм паддинга в некоторых схемах шифрования, таких как CBC (Cipher Block Chaining), использующий симметричное шифрование, например AES. Она позволяет злоумышленнику расшифровывать или изменять данные, не зная ключа шифрования.
Завершился челендж ежедневного решения задач на LeetCode на протяжении года (за исключением отпусков).
За год решил 707 задач. Из них: 261 - легкий уровень, 365 - средний уровень, 81 - сложный уровень.
В основном решал ежедневные задачи и среди “избранных” тем. Самые интересные темы: Trie, Dynamic Programming, Design.
Почти все задачи решены на языке C++.
Пробовал решать на Go. Go не подходит для алгоритмических задач, слишком ограничен. Язык C++ поддерживает намного больше концепций, позволяющих решить задачу более красиво и оптимальнее.
Решал задачи для подготовки к алгоритмическим секциям на интерью. Все секции успешно пройдены.
Больше не планирую заниматься решением задач на алгоритмы. Если хочется что-то порешать, то лучше попробовать CTF задачи. Это намного практичнее и разнообразнее.
Описание
Греческие боги наносят ответный удар.
Они забрали у всех пользователей интернета эмодзи 🔥 и запечатали его в надёжной таблице Sacred рядом с другими артефактами.
Герой с ником Prometheus решил выкрасть огонёк. Помогите ему и верните огонь в интернеты и переписки.
Описание
Аутстафф-компания заманила разработчиков интересными задачами, а потом заперла их на настоящей галере, приковала к вёслам и отправила в плавание.
Освободите команду.
Приложение программы корпоративной лояльности: Galera_be1756d.ipa
Описание
В космопоездах беда: появился обаятельный андроид-шулер, который обыгрывает всех в наперстки и обирает до нитки
Совершите маленькую шалость — выиграйте у робошулера весь миллион монет, которые звенят в его карманах.
Описание
Талантливый разработчик хочет устроиться в бигтех, но боится неудачи. Он планирует съесть сто счастливых билетиков. И у него нет времени их искать, да и в кармане только 5000 ₽.
Заставьте терминал городского транспорта выдать ему пачку счастливых билетов — с равной суммой первых и последних трех цифр.
Описание
My friend really likes sending me hidden messages, something about a public key with n = 5912718291679762008847883587848216166109 and e = 876603837240112836821145245971528442417.
What is the name of player with the user ID of the private key exponent? (Wrap with osu{})