Крипто Devs | Gnezdo Hub
💰 ЕБЕМ SOLANA В 2026м web3.career/solana-jobs jobs.solana.com/jobs workingnomads.com/remote-solana-jobs Проанализировал рынок разработчиков на Solana и понял, что пора забирать этот рынок Контента по Solana на русскоязычном пространстве все меньше, а актуального…
ПОСЛЕДНИЙ ШАНС
Повысил количество мест до 150
Осталось 12 мест
Участники уже выполняют первое задание
Вот и наступила последняя возможность вступить в подобный марафон от меня
https://t.iss.one/code_vartcall/1092
ДЕЙСТВИЯ 💋
📟 Прилетело из @code_vartcall
Повысил количество мест до 150
Осталось 12 мест
Участники уже выполняют первое задание
Вот и наступила последняя возможность вступить в подобный марафон от меня
https://t.iss.one/code_vartcall/1092
ДЕЙСТВИЯ 💋
📟 Прилетело из @code_vartcall
Уже промотивировали себя стать лучше в новом году и расставили грандиозные цели?
Я вот задумался, почему мы каждый год начинаем с одного и того же — расписываем себе планы, но по итогу уже через неделю забиваем на них и даже мысль о продолжении причиняет дискомфорт?
Как же у других получается стать лучше и не слиться в прокрастинацию? Я решил разобраться: покопался в исследованиях и нейробиологии и, честно, ахуел — мозг буквально работает против целей, которые мы ставим
Пост получился объемным, поэтому будет две части. В этой — ошибки и то, как на самом деле работает мотивация. Во второй — что с этим делать на практике
Смотрим что происходит. Ты такой решаешь: "Выучу английский за три месяца" или "Начну вести Twitter и поднимать 1k$/месяц". В этот момент мозг выбрасывает дофмаин. Ты уже получаешь удовольствие только от планирования, хотя по факту ничего не сделал
Это и есть основная проблема
Нейробиолог Роберт Сапольски объяснил: дофамин работает не как награда за достижение, а как предвкушение награды. Основной кайф возникает на этапе планирования — мозг уже получает награду и поднимает очень высокую дофаминовую планку
Что же происходит дальше? Допустим ты один раз не выполнил цель: не написал пост, забил на повторение слов. Что делает мозг? Дофамин падает ниже ранее заданной планки
Ты внезапно чувствуешь себя хуже, чем до того, как вообще ставил цель. Появляется лень, раздражение и желание все бросить. Башка включает защиту:
"Если эта хуйня приносит дискомфорт, то значит нужно прекратить этим заниматься"
Именно поэтому привычки не приживаются и планы чего-то достичь рассыпаются уже в первую неделю после новогоднего всплеска мотивации и дофамина
Показательное исследование про новогодние обещания (сурс| сурс)
— первую неделю выдерживают около 76%
— до конца января доживают 32%
— реально достигли цели 8%
Все просто, суть проблемы в одном большом дофаминовом взрыве в момент постановки цели. Мозг сразу к такому привыкает и потом требует ещё
Решение элементарное — ставить не глобальную цель, а много регулярных маленьких действий, которые будут работать как привычка:
не "начать зарабатывать на Twitter", а "делать каждые пару дней по одному качественному треду"
Каждое выполнение = малкенькая доза дофамина. Мозг получает награду за процесс, а не за фантазии об итоговом результате. И к такому он не сможет адаптироваться и завысить планку, потому что награда приходит регулярно, а не единоразово
Однако есть ловушки, в которые попадаются даже самые мотивированные люди. Harvard Business School называет это систематическими побочными эффектами целеполагания
Суть простая — глобальные цели могут как помогать, так и калечить продуктивность. Ниже три основные когнитивные ловушки:
1. Ошибка планирования или, как назвал Даниель Канеман, Planning fallacy. Мы недооцениваем время и ресурсы и стабильно думаем, что в этот раз будет быстрее.
2. Гедонистическая адаптация. Наш мозг быстро привыкает к достижениям. В приложенной статье разбирается пример: победители лотереи через год возвращаются к тому же уровню счастья.
-> Например ты думаешь: "Вот достигну цели в 1000$/месяц на Twitter", но хуй там - мозг просто поднимет планку
3. Фокализм. Ты смотришь только на глобальную цель, полностью игнорируя весь прошлый опыт. Поэтому студенты каждый раз недооценивают время на диплом в два раза
Большинство целей сливаются не потому что мы "ленивые и глупые", а потому что сами цели запускают в башке механизмы, которые работают против нас:
-> завышается дофаминовая планка-> мозг недооценивает ресурсы-> он быстро адаптируется к результатамВ следующем посте разберу, чем заменить цели и как начинать двигаться без борьбы с самим собой. А пока напишите в комменты: какие цели вы всё никак не достигните?
📟 Прилетело из @in_crypto_info
Please open Telegram to view this post
VIEW IN TELEGRAM
Алгоритмы. Big O.
Потихоньку начинаем разбирать алгоритмы в программировании, как я и писал ранее. Начнем с самых базовых для повторения и перейдем к более сложным и продвинутым. Я буду давать код алгоритмов на языке Python, так как более продвинутые решения удобнее писать именно на нем. На Solidity не все из них можно будет реализовать "без костылей", но вы сами вполне сможете поэкспериментировать с этим с помощью нейронок.
Понимание алгоритмов также качественно скажется на вашем понимании кода, который вы, возможно, будете писать с помощью редакторов со встроенными нейронными сетями, например Cursor. Итак, приступим!
Введение в алгоритмы и асимптотический (по сути означает "для больших значений") анализ начинается с понимания самой сути алгоритма. Алгоритм представляет собой последовательность четко определенных шагов для решения конкретной задачи, подобно кулинарному рецепту или инструкции по сборке. Например, алгоритм приготовления бутерброда можно описать так: взять два ломтика хлеба, намазать один из них маслом, положить сверху сыр и накрыть вторым ломтиком. Важно, что любой алгоритм предполагает некий набор инструкций, выполнение которых гарантированно приводит к результату.
Однако существует множество способов решить одну и ту же задачу. Рассмотрим процесс поиска нужного документа в архиве. Если документы не упорядочены, придется проверить каждый из них по очереди. Если же они систематизированы, например, в алфавитном порядке, поиск можно осуществить гораздо быстрее, применяя более эффективную стратегию. Эти разные стратегии и являются разными алгоритмами, и их эффективность становится критически важной при работе с большими объемами данных.
Скорость работы алгоритма напрямую зависит от количества обрабатываемых данных. Если в небольшом архиве из десяти дел поиск наугад займет всего несколько секунд, то в хранилище с миллионом документов такой подход потребует непозволительно много времени. Поэтому для оценки эффективности алгоритма используется понятие временной сложности, которая показывает, как количество необходимых операций растет с увеличением размера входных данных. Например, для поиска числа 9 в списке
Для универсального описания скорости алгоритмов используется О-нотация (Big O). Она позволяет классифицировать алгоритмы по их «аппетиту» к ресурсам, предоставляя асимптотическую оценку роста времени выполнения или потребляемой памяти. Основные классы сложности, от наиболее к наименее эффективным, выглядят следующим образом.
1. O(1) — постоянная сложность. Время выполнения не зависит от объема данных.
Операция получения первого символа строки всегда выполняется за одно действие, будь то имя «Аня» или «Александр».
2. O(n) — линейная сложность. Время выполнения растет прямо пропорционально размеру входных данных.
Это иллюстрирует простой линейный поиск, где в худшем случае необходимо проверить каждый элемент.
3. O(n²) — квадратичная сложность. Время выполнения пропорционально квадрату количества элементов, что характерно для алгоритмов с вложенными циклами.
Для массива из пяти элементов будет выполнено 25 итераций, а для тысячи — уже миллион.
4. O(log n) — логарифмическая сложность. Очень эффективный класс, где на каждом шаге объем обрабатываемых данных уменьшается вдвое. Яркий пример — бинарный поиск в отсортированном массиве.
📟 Прилетело из @solidityset
Потихоньку начинаем разбирать алгоритмы в программировании, как я и писал ранее. Начнем с самых базовых для повторения и перейдем к более сложным и продвинутым. Я буду давать код алгоритмов на языке Python, так как более продвинутые решения удобнее писать именно на нем. На Solidity не все из них можно будет реализовать "без костылей", но вы сами вполне сможете поэкспериментировать с этим с помощью нейронок.
Понимание алгоритмов также качественно скажется на вашем понимании кода, который вы, возможно, будете писать с помощью редакторов со встроенными нейронными сетями, например Cursor. Итак, приступим!
Введение в алгоритмы и асимптотический (по сути означает "для больших значений") анализ начинается с понимания самой сути алгоритма. Алгоритм представляет собой последовательность четко определенных шагов для решения конкретной задачи, подобно кулинарному рецепту или инструкции по сборке. Например, алгоритм приготовления бутерброда можно описать так: взять два ломтика хлеба, намазать один из них маслом, положить сверху сыр и накрыть вторым ломтиком. Важно, что любой алгоритм предполагает некий набор инструкций, выполнение которых гарантированно приводит к результату.
Однако существует множество способов решить одну и ту же задачу. Рассмотрим процесс поиска нужного документа в архиве. Если документы не упорядочены, придется проверить каждый из них по очереди. Если же они систематизированы, например, в алфавитном порядке, поиск можно осуществить гораздо быстрее, применяя более эффективную стратегию. Эти разные стратегии и являются разными алгоритмами, и их эффективность становится критически важной при работе с большими объемами данных.
Скорость работы алгоритма напрямую зависит от количества обрабатываемых данных. Если в небольшом архиве из десяти дел поиск наугад займет всего несколько секунд, то в хранилище с миллионом документов такой подход потребует непозволительно много времени. Поэтому для оценки эффективности алгоритма используется понятие временной сложности, которая показывает, как количество необходимых операций растет с увеличением размера входных данных. Например, для поиска числа 9 в списке
[3, 7, 1, 9, 5] методом последовательного перебора потребовалось четыре шага. Для списка из ста элементов в худшем случае потребуется сто операций. Эта прямая зависимость описывается линейной сложностью.Для универсального описания скорости алгоритмов используется О-нотация (Big O). Она позволяет классифицировать алгоритмы по их «аппетиту» к ресурсам, предоставляя асимптотическую оценку роста времени выполнения или потребляемой памяти. Основные классы сложности, от наиболее к наименее эффективным, выглядят следующим образом.
1. O(1) — постоянная сложность. Время выполнения не зависит от объема данных.
def get_first_letter(name):
return name[0]
Операция получения первого символа строки всегда выполняется за одно действие, будь то имя «Аня» или «Александр».
2. O(n) — линейная сложность. Время выполнения растет прямо пропорционально размеру входных данных.
def find_element(arr, target):
steps = 0
for item in arr:
steps += 1
if item == target:
return True
return False
Это иллюстрирует простой линейный поиск, где в худшем случае необходимо проверить каждый элемент.
3. O(n²) — квадратичная сложность. Время выполнения пропорционально квадрату количества элементов, что характерно для алгоритмов с вложенными циклами.
def find_all_pairs(arr):
pairs = []
for i in arr:
for j in arr:
pairs.append((i, j))
return pairs
Для массива из пяти элементов будет выполнено 25 итераций, а для тысячи — уже миллион.
4. O(log n) — логарифмическая сложность. Очень эффективный класс, где на каждом шаге объем обрабатываемых данных уменьшается вдвое. Яркий пример — бинарный поиск в отсортированном массиве.
📟 Прилетело из @solidityset
def binary_search(sorted_arr, target):
left, right = 0, len(sorted_arr) - 1
steps = 0
while left <= right:
steps += 1
mid = (left + right) // 2
if sorted_arr[mid] == target:
return mid
elif sorted_arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1
Поиск среди 16 отсортированных элементов займет не более 4 шагов.
Помимо временной, важна и пространственная сложность, которая оценивает объем дополнительной памяти, требуемой алгоритмом. Например, алгоритм нахождения максимума в массиве использует фиксированный объем памяти O(1), тогда как создание полной копии списка потребует памяти O(n).
Практическое значение асимптотического анализа становится очевидным при сравнении алгоритмов. Рассмотрим задачу поиска дубликатов. Наивный подход с двойным циклом имеет сложность O(n²):
def find_duplicates_slow(arr):
duplicates = []
for i in range(len(arr)):
for j in range(i + 1, len(arr)):
if arr[i] == arr[j] and arr[i] not in duplicates:
duplicates.append(arr[i])
return duplicates
Более разумный подход с использованием хэш-множества имеет сложность O(n):
def find_duplicates_fast(arr):
seen = set()
duplicates = set()
for item in arr:
if item in seen:
duplicates.add(item)
else:
seen.add(item)
return list(duplicates)
На списке из тысячи элементов второй алгоритм окажется в сотни раз быстрее первого.
Для наглядности можно представить себе сводную таблицу сложностей. O(1) обозначает мгновенное выполнение, например доступ к элементу массива по индексу. O(log n) характерна для алгоритмов типа бинарного поиска. O(n) — для линейного прохода по данным. O(n log n) — это типичная сложность эффективных алгоритмов сортировки. O(n²) часто возникает при обработке матриц или использовании вложенных циклов. O(2ⁿ) — экстремально медленная сложность, присущая некоторым задачам полного перебора.
Понимание этих принципов позволяет делать осознанный выбор алгоритма, что является фундаментальным навыком в разработке эффективных программ.
#algorithm
📟 Прилетело из @solidityset
gm! На сайте у Polymarket до сих пор написано: «Polymarket does not charge trading fees» и «Polymarket does not benefit from trader activity.»
Окей. 5 января они тихо включили комиссии на 15-минутных крипто-рынках. Сначала 100% возвращалось мейкерам как ребейт. Типа мы не зарабатываем, мы за ликвидность.
А потом – мейкерам уже 20%. 80% забирает платформа. $100k в день. Без анонса. Просто поменяли цифры.
Добровольное пожертвование на развитие prediction markets от вайб-кодеров с ботами
📟 Прилетело из @insuline_eth
Окей. 5 января они тихо включили комиссии на 15-минутных крипто-рынках. Сначала 100% возвращалось мейкерам как ребейт. Типа мы не зарабатываем, мы за ликвидность.
А потом – мейкерам уже 20%. 80% забирает платформа. $100k в день. Без анонса. Просто поменяли цифры.
Добровольное пожертвование на развитие prediction markets от вайб-кодеров с ботами
📟 Прилетело из @insuline_eth
Флоу работы с AI coding agent в 2026, если кто в танке:
• пришла идея что-то большое запрогать — пишешь идею в Claude Code:
• просишь сгенерировать спеку + implementation plan и положить в specs/*.md:
• открываешь руками спеку и план разработки - тюнишь, если надо
• ОТКРЫВАЕШЬ НОВЫЙ ЧАТ (очищаешь контекст, no context rot, no compaction)
и пишешь файл prompt.md:
и запускаешь:
если тупит — просто отредактируйте prompt.md или spec.
📟 Прилетело из @danokhlopkov
• пришла идея что-то большое запрогать — пишешь идею в Claude Code:
… Let’s have a discussion and you can interview me.
• просишь сгенерировать спеку + implementation plan и положить в specs/*.md:
… Update specs/*.md and create implementation plan bullet points and cite the specification for lookup source or source code that needs to be adjusted
• открываешь руками спеку и план разработки - тюнишь, если надо
• ОТКРЫВАЕШЬ НОВЫЙ ЧАТ (очищаешь контекст, no context rot, no compaction)
и пишешь файл prompt.md:
study specs/readme.md
study specs/*my-new-feature*.md and pick the most important thing to do
~ дальше по вкусу добавляешь
author property based tests or unit tests (which ever is best)
after making the changes to the files run the tests
пуш в мастер деплой в прод если balls are big enough
и запускаешь:
while :; do cat prompt.md | claude —dangerously-skip-permissions;done
если тупит — просто отредактируйте prompt.md или spec.
📟 Прилетело из @danokhlopkov
Telegram
Dan Okhlopkov - канал
Слишком поздно попробовал Claude Code.
Пост заряжен на e/acc. Слабонервным не читать.
Путь прозрения:
→ Твиттер подкинул how to claude code от его фаундера
→ Увидел там упоминание методики Ralph Wiggum и кто его открыл
→ Так утонул в его ютубе и убедился:…
Пост заряжен на e/acc. Слабонервным не читать.
Путь прозрения:
→ Твиттер подкинул how to claude code от его фаундера
→ Увидел там упоминание методики Ralph Wiggum и кто его открыл
→ Так утонул в его ютубе и убедился:…
#Polymarket #полезное
Мы сделали бесплатную таблицу, которая в реальном времени показывает спреды между Polymarket, Opinion и Predictfun.
Вы сможете находить выгодные расхождения в ценах, крутить объёмы на площадках и при этом оставаться в плюсе.
👀 Что умеет таблица
— 3 режима парсинга: mid-price / market / limit
— Статистика по событиям: объёмы, цены
— Подсказка Strategy: где и сколько шейров купить под ваш бюджет
— Авто-обновление каждые ~15 секунд
😀 Как пользоваться
1. Создаем аккаунты на Polymarket / Opinion / Predictfun
2. Пополняем балансы
3. В таблице находим маркет с нормальной ликвидностью и хорошим профитом
4. Покупаем шейры по Strategy (там уже расписано что где брать)
Пример:
Если таблица показывает 10% profit и ваш бюджет $100, вы покупаете шейры по подсказке на 100$.
В итоге при любом исходе получаете ~$110 (профит за счёт арбитража, а объём при этом накручен).
https://oxygendelta.com
https://oxygendelta.com
https://oxygendelta.com
Это ранняя версия, так что баги возможны. Если увидите кривой маркет/ошибку/идею по улучшению - пишете в наш чат.
📟 Прилетело из @oxygen_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
Glider Fi: ончейн портфолио и стратегии их ребалансировки. Оценка команды, концепта, коина, кода + практики. Стоит ли его использовать?
Например, проект позволяет удерживать активы в определённом процентном соотношении по цене или даже устанавливать условия.
Заинтересовал своим уникальным функционалом, а также реализацией ожидаемого многими функционала ребалансируемых портфелей.
Читать в Teletype, читать в Paragraph.
Общий итог
• Команда: 4 из 5: команда публична, но ссылки и информации на сайте нет. Большинство участников обладают опытом на текущей или смежных должностях.
Соцсети активные (за исключением Youtube), и на вопросы отвечают корректно & быстро.
• Концепт: 3 из 5: функционал интересный и уникальный. Но не описано, каким образом проект управляет смарт-кошельком пользователя со стратегией: нода это, централизованный сервер или оракул... Хорошо хоть выдаются сессионные ключи для управления стратегией без возможности вывода со смарт-кошелька - это повышает безопасность.
Также нет анализа рынка, конкурентов и спроса.
• Коин: 3 из 5: токена и токеномики нет, но есть поинт программа. Также есть инвестиции, в том числе от известных фондов (например, A16Z и Uniswap). Но сумма всего 4 МЛН (по данным Cryptorank).
• Код: 1 из 5. Он закрыт (нет репозиториев, в том числе основного; невозможно оценить активность разработки). Есть аудиты смарт-кошелька, но это от других разработчиков: к проекту не относится. У самого Glider Fi их нет.
• Практика: 4 из 5: уникальный функционал, можно сделать почти любую стратегию управления портфолио. Почти, потому что ребалансирование при изменение цены на 10% в USDC и обратно не смог.
Все блоки конструктора понятны, но в if/else принцип работы не совсем ясен.
Также важно, что депозит у топ 1 стратегии всего около 1,2 МЛН $: считаю, что не стоит выделять сюда существенную сумму: максимум 1% от портфеля - это мой максимальный риск участия в проекте.
Итоговая оценка - 15 из 25 баллов: слабовато.
Читать в Teletype, читать в Paragraph.
Буду рад распространению обзора.
Как вам проект? Кто уже тестировал подобные ребалансируемые портфели - что оказалось неожиданным на практике?
P. S. Коротко по терминам. Ончейн данные - это реальные действия и балансы, зафиксированные в блокчейне. Нода или оракул - инфраструктура, через которую проект получает данные или исполняет логику стратегии. Сессионные ключи - временные права на управление стратегией без доступа к средствам пользователя. Ребалансировка - автоматическое приведение портфеля к заданным долям активов.
📟 Прилетело из @blind_dev
Например, проект позволяет удерживать активы в определённом процентном соотношении по цене или даже устанавливать условия.
Заинтересовал своим уникальным функционалом, а также реализацией ожидаемого многими функционала ребалансируемых портфелей.
Читать в Teletype, читать в Paragraph.
Общий итог
• Команда: 4 из 5: команда публична, но ссылки и информации на сайте нет. Большинство участников обладают опытом на текущей или смежных должностях.
Соцсети активные (за исключением Youtube), и на вопросы отвечают корректно & быстро.
• Концепт: 3 из 5: функционал интересный и уникальный. Но не описано, каким образом проект управляет смарт-кошельком пользователя со стратегией: нода это, централизованный сервер или оракул... Хорошо хоть выдаются сессионные ключи для управления стратегией без возможности вывода со смарт-кошелька - это повышает безопасность.
Также нет анализа рынка, конкурентов и спроса.
• Коин: 3 из 5: токена и токеномики нет, но есть поинт программа. Также есть инвестиции, в том числе от известных фондов (например, A16Z и Uniswap). Но сумма всего 4 МЛН (по данным Cryptorank).
• Код: 1 из 5. Он закрыт (нет репозиториев, в том числе основного; невозможно оценить активность разработки). Есть аудиты смарт-кошелька, но это от других разработчиков: к проекту не относится. У самого Glider Fi их нет.
• Практика: 4 из 5: уникальный функционал, можно сделать почти любую стратегию управления портфолио. Почти, потому что ребалансирование при изменение цены на 10% в USDC и обратно не смог.
Все блоки конструктора понятны, но в if/else принцип работы не совсем ясен.
Также важно, что депозит у топ 1 стратегии всего около 1,2 МЛН $: считаю, что не стоит выделять сюда существенную сумму: максимум 1% от портфеля - это мой максимальный риск участия в проекте.
Итоговая оценка - 15 из 25 баллов: слабовато.
Читать в Teletype, читать в Paragraph.
Буду рад распространению обзора.
Как вам проект? Кто уже тестировал подобные ребалансируемые портфели - что оказалось неожиданным на практике?
P. S. Коротко по терминам. Ончейн данные - это реальные действия и балансы, зафиксированные в блокчейне. Нода или оракул - инфраструктура, через которую проект получает данные или исполняет логику стратегии. Сессионные ключи - временные права на управление стратегией без доступа к средствам пользователя. Ребалансировка - автоматическое приведение портфеля к заданным долям активов.
📟 Прилетело из @blind_dev
GM! Четвёртый месяц без фуллтайма. LinkedIn не сдаётся – офферы, рекрутеры
Но я пока сохраняю приоритет на свои проекты:
- AI-ассистент – много прогресса с начала года
- Дельта нейтралки на prediction маркетах
- Попытка в offline продукт
- Диджеинг
но DeFi по-прежнему в сердечке. Aqua от 1inch – один из проектов, за которым интересно следить из фундаментальных новинок. Писал про shared liquidity месяц назад.
Сегодня пришел пуш от ассистента, что с предыдущего поста в Telegram уже прошел месяц. Пора посмотреть что нового. А тут как раз Space для разработчиков – послушаем что готово и какие продукты билдить поверх.
Пятница, 16 января, 19:00 мск – https://x.com/1inchdevs/status/2011131896139563088
Aqua docs – https://portal.1inch.dev/documentation/aqua
📟 Прилетело из @insuline_eth
Но я пока сохраняю приоритет на свои проекты:
- AI-ассистент – много прогресса с начала года
- Дельта нейтралки на prediction маркетах
- Попытка в offline продукт
- Диджеинг
но DeFi по-прежнему в сердечке. Aqua от 1inch – один из проектов, за которым интересно следить из фундаментальных новинок. Писал про shared liquidity месяц назад.
Сегодня пришел пуш от ассистента, что с предыдущего поста в Telegram уже прошел месяц. Пора посмотреть что нового. А тут как раз Space для разработчиков – послушаем что готово и какие продукты билдить поверх.
Пятница, 16 января, 19:00 мск – https://x.com/1inchdevs/status/2011131896139563088
Aqua docs – https://portal.1inch.dev/documentation/aqua
📟 Прилетело из @insuline_eth
1inch
1inch Aqua | Shared Liquidity for Capital-Efficient DeFi
Build with 1inch Aqua, shared liquidity for DeFi. Use one balance across strategies without lockups, cut fragmentation, and keep full self-custody of your assets.
Чекер OWLTO
https://claim.owlto.finance/
Чат | Support | Market
Pelican | HiddenCode [EN]
📟 Прилетело из @hidden_coding
https://claim.owlto.finance/
Чат | Support | Market
Pelican | HiddenCode [EN]
📟 Прилетело из @hidden_coding
Если кто-то еще ждет дропа от трояна, рекомендую поставить трекеры на этот кош - J4Fa7LMUsVZQAcczPeH7chtU3ZzWufFtADKUrepMGwFu
С него в основном фандился кошелек для раздачи, мб поменяют
Также можете последить за этим кошельком - 4U4cAx8vwYKTXZqzggTyW6ZgAE61d26ZSz72kmqtJhGq
Этим фандился первый кош
📟 Прилетело из @dolbaebskicode
С него в основном фандился кошелек для раздачи, мб поменяют
Также можете последить за этим кошельком - 4U4cAx8vwYKTXZqzggTyW6ZgAE61d26ZSz72kmqtJhGq
Этим фандился первый кош
📟 Прилетело из @dolbaebskicode
Это один из самых смартовых каналов на рынке
Читаю Флаву уже больше полугода и регулярно нахожу полезную информацию по крипте, стиму. Плюс много мыслей о жизни и мышлении. Ну и, конечно, он постоянно на пассиве лутает с этих ниш вполне приличные суммы.
Без воды разборы ниш, идеи и подходы, которые реально можно применять и зарабатывать на этом. Если вам интересна не только лудка канал точно зайдёт)
https://t.iss.one/+UifWe9e9v7xkNGQy
#реклама
📟 Прилетело из @hidden_coding
Читаю Флаву уже больше полугода и регулярно нахожу полезную информацию по крипте, стиму. Плюс много мыслей о жизни и мышлении. Ну и, конечно, он постоянно на пассиве лутает с этих ниш вполне приличные суммы.
Без воды разборы ниш, идеи и подходы, которые реально можно применять и зарабатывать на этом. Если вам интересна не только лудка канал точно зайдёт)
https://t.iss.one/+UifWe9e9v7xkNGQy
#реклама
📟 Прилетело из @hidden_coding
astrum.labs | 🌟 BaseApp
Сделали полную отработку приложения BaseApp. По названию понятно что крышей являются сами Base. Фишка приложения в постоянных раздачах стейблов за различные действия внутри него (инвайты, создание контента). Софт имитирует работу телефона, за счет чего аккаунты получаются неотличимыми от ваших родных айфонов. В общем лучшая активность с расчетом под дроп Base
Функционал модуля:
🟣 Обход антифрода (бесплатные транзакции).
Благодаря имитации работы с телефона, софтовые аккаунты получают высокий скор от антифрод системы и приложение BaseApp платит за все внутренние транзакции самостоятельно
🟢 Создание аккаунтов по Email/PrivateKey
🟢 Полный онборд аккаунта (BaseName,Farcaster)
🟢 Поддержка Claude/GPT/Nous для генерации текстов
🟢 Создание постов c Zora койнами
🟢 Создание обычных постов
🟢 Лайки/репосты/комменты постов
🟢 Покупка/продажа запущенных койнов
🟢 Фарм подписок
Roadmap:
🟠 Подвязка старого Farcaster профиля
🟠 Реализация mini-dapps внутри приложения
Доступ к модулю можно получить став членом astrum.labs
———>BUY MEMBERSHIP<———
———>BUY MEMBERSHIP<———
———>BUY MEMBERSHIP<———
Также немного инфы из сообщества для желающих поворкать после праздников:
🟢 23 января дедлайн для отработки 1 сезона MetaMask, софт делает 1000 поинтов за 3.1$
🟢 Polymarket и Opinion продолжают фармить стейблы, в комментах отчет одного из мемберов за последнюю неделю
🟢 На подходе модуль по TruthTensor, метовый фри актив
Братья, итоги года не успел сделать, а щас уже как-то не очень дропать после НГ. На следующий новый год сделаю сразу за два года. В целом хочу сказать, что я очень вырос как кодер и планирую направить свои силы в этом году в несколько интересных для меня вещей. Весь мой прогресс буду дропать в @askaerlogs. На последок напомню, чтобы вы не забыли то, что обещали себе в прошлом году.
foundation | astrum.labs | astrum.solver
📟 Прилетело из @askaer
Полноценное мобильное приложение внутри софта
Сделали полную отработку приложения BaseApp. По названию понятно что крышей являются сами Base. Фишка приложения в постоянных раздачах стейблов за различные действия внутри него (инвайты, создание контента). Софт имитирует работу телефона, за счет чего аккаунты получаются неотличимыми от ваших родных айфонов. В общем лучшая активность с расчетом под дроп Base
Функционал модуля:
Благодаря имитации работы с телефона, софтовые аккаунты получают высокий скор от антифрод системы и приложение BaseApp платит за все внутренние транзакции самостоятельно
Roadmap:
Доступ к модулю можно получить став членом astrum.labs
———>BUY MEMBERSHIP<———
———>BUY MEMBERSHIP<———
———>BUY MEMBERSHIP<———
Также немного инфы из сообщества для желающих поворкать после праздников:
Братья, итоги года не успел сделать, а щас уже как-то не очень дропать после НГ. На следующий новый год сделаю сразу за два года. В целом хочу сказать, что я очень вырос как кодер и планирую направить свои силы в этом году в несколько интересных для меня вещей. Весь мой прогресс буду дропать в @askaerlogs. На последок напомню, чтобы вы не забыли то, что обещали себе в прошлом году.
foundation | astrum.labs | astrum.solver
📟 Прилетело из @askaer
Please open Telegram to view this post
VIEW IN TELEGRAM
#Polymarket #OxygenDelta #обновления
Залили пачку полезных обновлений в нашу таблицу для предикшен маркетов. Теперь мониторить спреды и собирать арбитраж стало заметно удобнее.
👀 Что нового
— Добавили отображение объемов на Predict.Fun
— Появилась сортировка по объёму для каждой площадки
— Редактирование ордера: двойной клик по цене YES/NO, чтобы поставить свои значения (быстрые расчеты под лимитки)
— Подключили новую площадку: Probable
— Можно включать/выключать площадки в списке маркетов (оставляете только то, где торгуете)
✍️ Советы по работе
1. Смотрите на Last Update.
Это индикатор, когда таблица реально получила свежие данные.
Auto-refresh показывает, когда мы отправляем запросы, но площадки иногда отвечают с задержкой или обновляют данные не сразу. Ориентируйтесь на минуты/секунды в Last Update.
2. Если одна лимитка не заполнилась, а цена уехала - пересчитайте усреднение.
Бывает так: на одной площадке ордер уже исполнился, на другой ещё висит, а спред стал даже лучше. В этом случае можно докупить там, где исполнилось, и взять вторую сторону маркетом на другой площадке. Иногда это даже улучшает итоговую доходность.
3. Не забывайте про Polymarket rewards.
На Polymarket начисляют USDC за лимитки в стакане. В разных маркетах суммы разные, но если крутите крупные ордера периодически проверяйте вкладку Rewards, там может неплохо насыпать просто за то, что держите лимитки.
https://oxygendelta.com
https://oxygendelta.com
https://oxygendelta.com
За сутки на сайт зашло более 1500 человек, мы считаем это отличным результатом. Сейчас работаем над новым дизайном и функциями для еще большего удобства.
📟 Прилетело из @oxygen_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
Алгоритмы. Рекурсия
По предыдущему посту я понял, чтобы объяснить более менее детально какую-либо тему, приходится расписывать все куда детальнее, чем во многих гайдах и обзорах. Поэтому посты по алгоритмам будут большие, но оно того стоит. Сегодня мы поговорим о рекурсии простым языком.
Понятие рекурсии можно представить как образ из мира зеркал: когда одно зеркало отражается в другом, и это отражение, в свою очередь, находит своё отражение, создавая уходящую в бесконечность череду образов. В программировании рекурсия действует схожим образом — это техника, при которой функция для решения задачи вызывает сама себя. Хотя идея может показаться необычной, при правильном применении она становится мощным и элегантным инструментом.
Для корректной работы любой рекурсивной функции необходимы два фундаментальных компонента. Во-первых, это базовый случай — условие остановки, которое предотвращает бесконечный цикл вызовов. Его можно сравнить с последней ступенькой лестницы: достигнув её, вы прекращаете движение. Во-вторых, требуется рекурсивный шаг — вызов функцией самой себя, но с изменёнными входными данными, которые должны гарантированно приближать выполнение к базовому случаю. Это подобно каждому следующему шагу вниз по лестнице, который сокращает оставшееся до низа расстояние.
Рассмотрим простейшую иллюстрацию — функцию обратного отсчёта от заданного числа до единицы. Её логика наглядно демонстрирует оба принципа.
Вывод этой программы будет последовательным:
Внутри этого процесса происходит следующее: вызов
Классическим примером, раскрывающим суть рекурсивного мышления, является вычисление факториала числа n, обозначаемого как n!. По определению, факториал — это произведение всех натуральных чисел от 1 до n, при этом 0! и 1! равны 1 (вообще не так чтобы равны, посто принято такое равенство для удобства расчетов). Ключевое наблюдение здесь — рекурсивная природа операции: факториал любого числа n можно выразить через факториал меньшего числа, а именно n! = n * (n-1)!. Это и становится основой для алгоритма.
# Стек вызовов для factorial(3):
Пошаговое выполнение функции для
Эта же логика применима ко множеству других задач. Например, для вычисления суммы всех чисел от 1 до n.
Аналогично работает возведение числа в натуральную степень.
📟 Прилетело из @solidityset
По предыдущему посту я понял, чтобы объяснить более менее детально какую-либо тему, приходится расписывать все куда детальнее, чем во многих гайдах и обзорах. Поэтому посты по алгоритмам будут большие, но оно того стоит. Сегодня мы поговорим о рекурсии простым языком.
Понятие рекурсии можно представить как образ из мира зеркал: когда одно зеркало отражается в другом, и это отражение, в свою очередь, находит своё отражение, создавая уходящую в бесконечность череду образов. В программировании рекурсия действует схожим образом — это техника, при которой функция для решения задачи вызывает сама себя. Хотя идея может показаться необычной, при правильном применении она становится мощным и элегантным инструментом.
Для корректной работы любой рекурсивной функции необходимы два фундаментальных компонента. Во-первых, это базовый случай — условие остановки, которое предотвращает бесконечный цикл вызовов. Его можно сравнить с последней ступенькой лестницы: достигнув её, вы прекращаете движение. Во-вторых, требуется рекурсивный шаг — вызов функцией самой себя, но с изменёнными входными данными, которые должны гарантированно приближать выполнение к базовому случаю. Это подобно каждому следующему шагу вниз по лестнице, который сокращает оставшееся до низа расстояние.
Рассмотрим простейшую иллюстрацию — функцию обратного отсчёта от заданного числа до единицы. Её логика наглядно демонстрирует оба принципа.
def count_down(n):
# Базовый случай: когда достигли 0, останавливаемся
if n == 0:
print("Готово!")
return
# Выводим текущее число
print(n)
# Рекурсивный шаг: вызываем функцию с n-1
count_down(n - 1)
count_down(5)
Вывод этой программы будет последовательным:
5
4
3
2
1
Готово!
Внутри этого процесса происходит следующее: вызов
count_down(5) приводит к выводу числа 5 и новому вызову count_down(4). Этот процесс вкладывается, подобно матрёшкам, пока вызов count_down(0) не достигнет базового случая, выведет "Готово!" и не начнёт возвращать управление обратно по цепочке предыдущих вызовов.Классическим примером, раскрывающим суть рекурсивного мышления, является вычисление факториала числа n, обозначаемого как n!. По определению, факториал — это произведение всех натуральных чисел от 1 до n, при этом 0! и 1! равны 1 (вообще не так чтобы равны, посто принято такое равенство для удобства расчетов). Ключевое наблюдение здесь — рекурсивная природа операции: факториал любого числа n можно выразить через факториал меньшего числа, а именно n! = n * (n-1)!. Это и становится основой для алгоритма.
def factorial(n):
# Базовый случай
if n == 0 or n == 1:
return 1
# Рекурсивный шаг
return n * factorial(n - 1)
print(factorial(5)) # 120
# Для значения 3
factorial(3)
│
├─ factorial(2) ← добавляется в стек
│ │
│ ├─ factorial(1) ← добавляется в стек
│ │ └─ возвращает 1 ← снимается со стека
│ │
│ └─ возвращает 2 ← снимается со стека
│
└─ возвращает 6 ← снимается со стека
# Стек вызовов для factorial(3):
Шаг 1: [factorial(3)]
Шаг 2: [factorial(3), factorial(2)]
Шаг 3: [factorial(3), factorial(2), factorial(1)]
Шаг 4: [factorial(3), factorial(2)] ← factorial(1) вернул результат
Шаг 5: [factorial(3)] ← factorial(2) вернул результат
Шаг 6: [] ← factorial(3) вернул результат
Пошаговое выполнение функции для
factorial(5) раскладывается в цепочку отложенных умножений: 5 * factorial(4), затем 5 * (4 * factorial(3)), и так далее, пока вычисление не дойдёт до базового случая factorial(1), который возвращает 1. После этого цепочка начинает сворачиваться, производя последовательные умножения: 2 * 1 = 2, 3 * 2 = 6, 4 * 6 = 24 и, наконец, 5 * 24 = 120.Эта же логика применима ко множеству других задач. Например, для вычисления суммы всех чисел от 1 до n.
def sum_numbers(n):
# Базовый случай
if n == 0:
return 0
# Рекурсивный шаг
return n + sum_numbers(n - 1)
print(sum_numbers(5)) # 15 (5+4+3+2+1)
Аналогично работает возведение числа в натуральную степень.
📟 Прилетело из @solidityset
def power(base, exponent):
# Базовый случай
if exponent == 0:
return 1
# Рекурсивный шаг
return base * power(base, exponent - 1)
print(power(2, 3)) # 8 (2 * 2 * 2)
Или определение длины строки без использования встроенных функций.
def string_length(s):
# Базовый случай: пустая строка
if s == "":
return 0
# Рекурсивный шаг: убираем первый символ и считаем остаток
return 1 + string_length(s[1:])
print(string_length("hello")) # 5
Работу рекурсивных вызовов удобно визуализировать в виде дерева, где каждый новый вызов порождает ветви, ведущие к базовым случаям, после чего результаты начинают подниматься вверх, к корневому вызову.
Механизм, обеспечивающий возможность таких вложенных вызовов, называется стеком вызовов. Это специальная область памяти, организованная по принципу LIFO ("последним пришёл — первым ушёл"), подобно стопке тарелок. Каждый новый вызов функции помещает в стек свой контекст (аргументы, локальные переменные, место возврата). Когда функция завершает работу, её контекст извлекается из вершины стека, и выполнение продолжается с предыдущего вызова. При глубокой рекурсии стек может исчерпать свой лимит, что приводит к ошибке переполнения стека. Каждый рекурсивный вызов занимает память, поэтому важно, чтобы алгоритм гарантированно сходился к базовому случаю.
Рассмотрим практический вопрос: как написать рекурсивную функцию для вычисления n-го числа Фибоначчи? Последовательность Фибоначчи задаётся правилами: F(0) = 0, F(1) = 1, а для n > 1 каждое число равно сумме двух предыдущих: F(n) = F(n-1) + F(n-2). Это определение напрямую ложится на рекурсивный алгоритм.
def fibonacci(n):
# Базовые случаи
if n == 0:
return 0
if n == 1:
return 1
# Рекурсивный шаг
return fibonacci(n - 1) + fibonacci(n - 2)
# Примеры
print(fibonacci(0)) # 0
print(fibonacci(1)) # 1
print(fibonacci(5)) # 5
print(fibonacci(10)) # 55
**Почему так медленно?**
Посмотрим на дерево вызовов для fibonacci(5):
fib(5)
/ \
fib(4) fib(3)
/ \ / \
fib(3) fib(2) fib(2) fib(1)
/ \ / \ / \
fib(2) fib(1) fib(1) fib(0) fib(1) fib(0)
/ \
fib(1) fib(0)
Однако у этой наивной реализации есть серьёзный недостаток — экспоненциальная временная сложность O(2^n). Это происходит из-за колоссального количества повторных вычислений одних и тех же значений, что хорошо видно на дереве вызовов для `fibonacci(5)`, где, например, `fibonacci(3)` вычисляется несколько раз. Для оптимизации применяют технику мемоизации — сохранения результатов предыдущих вычислений в кеше (словаре), чтобы не считать их заново.
```python
def fibonacci_memo(n, memo={}):
# Если уже вычисляли, берем из кеша
if n in memo:
return memo[n]
# Базовые случаи
if n == 0:
return 0
if n == 1:
return 1
# Вычисляем и сохраняем результат
memo[n] = fibonacci_memo(n - 1, memo) + fibonacci_memo(n - 2, memo)
return memo[n]
print(fibonacci_memo(50)) # Работает быстро!
С мемоизацией сложность снижается до линейной O(n), поскольку каждое значение вычисляется только один раз.
Это подводит к обсуждению недостатков рекурсивного подхода в сравнении с итеративным (циклы). Главные минусы рекурсии — повышенный расход памяти из-за использования стека вызовов, риск его переполнения при большой глубине, более низкая скорость из-за накладных расходов на вызов функции, а также потенциальная сложность отладки. Итеративные решения обычно более эффективны по памяти и быстродействию для задач, которые можно просто выразить через циклы. Например, вычисление факториала с помощью цикла не требует хранения цепочки вызовов в стеке.
📟 Прилетело из @solidityset
Тем не менее, рекурсия остаётся незаменимым инструментом для задач, имеющих естественную рекурсивную структуру данных или логики. Она идеально подходит для обхода древовидных структур (каталогов файловой системы), реализации алгоритмов "разделяй и властвуй" (быстрая сортировка, бинарный поиск) и решения таких задач, как Ханойские башни. Выбор между рекурсией и итерацией часто является компромиссом между читаемостью, простотой выражения идеи алгоритма и требованиями к производительности и ресурсам.
#algorithm
📟 Прилетело из @solidityset
#algorithm
📟 Прилетело из @solidityset
Алгоритмы. Рекурсия
По предыдущему посту я понял, чтобы объяснить более менее детально какую-либо тему, приходится расписывать все куда детальнее, чем во многих гайдах и обзорах. Поэтому посты по алгоритмам будут большие, но оно того стоит. Сегодня мы поговорим о рекурсии простым языком.
Понятие рекурсии можно представить как образ из мира зеркал: когда одно зеркало отражается в другом, и это отражение, в свою очередь, находит своё отражение, создавая уходящую в бесконечность череду образов. В программировании рекурсия действует схожим образом — это техника, при которой функция для решения задачи вызывает сама себя. Хотя идея может показаться необычной, при правильном применении она становится мощным и элегантным инструментом.
Для корректной работы любой рекурсивной функции необходимы два фундаментальных компонента. Во-первых, это базовый случай — условие остановки, которое предотвращает бесконечный цикл вызовов. Его можно сравнить с последней ступенькой лестницы: достигнув её, вы прекращаете движение. Во-вторых, требуется рекурсивный шаг — вызов функцией самой себя, но с изменёнными входными данными, которые должны гарантированно приближать выполнение к базовому случаю. Это подобно каждому следующему шагу вниз по лестнице, который сокращает оставшееся до низа расстояние.
Рассмотрим простейшую иллюстрацию — функцию обратного отсчёта от заданного числа до единицы. Её логика наглядно демонстрирует оба принципа.
Вывод этой программы будет последовательным:
Внутри этого процесса происходит следующее: вызов
Классическим примером, раскрывающим суть рекурсивного мышления, является вычисление факториала числа n, обозначаемого как n!. По определению, факториал — это произведение всех натуральных чисел от 1 до n, при этом 0! и 1! равны 1 (вообще не так чтобы равны, просто принято такое равенство для удобства расчетов). Ключевое наблюдение здесь — рекурсивная природа операции: факториал любого числа n можно выразить через факториал меньшего числа, а именно n! = n * (n-1)!. Это и становится основой для алгоритма.
Пошаговое выполнение функции для
Эта же логика применима ко множеству других задач. Например, для вычисления суммы всех чисел от 1 до n.
Аналогично работает возведение числа в натуральную степень.
📟 Прилетело из @solidityset
По предыдущему посту я понял, чтобы объяснить более менее детально какую-либо тему, приходится расписывать все куда детальнее, чем во многих гайдах и обзорах. Поэтому посты по алгоритмам будут большие, но оно того стоит. Сегодня мы поговорим о рекурсии простым языком.
Понятие рекурсии можно представить как образ из мира зеркал: когда одно зеркало отражается в другом, и это отражение, в свою очередь, находит своё отражение, создавая уходящую в бесконечность череду образов. В программировании рекурсия действует схожим образом — это техника, при которой функция для решения задачи вызывает сама себя. Хотя идея может показаться необычной, при правильном применении она становится мощным и элегантным инструментом.
Для корректной работы любой рекурсивной функции необходимы два фундаментальных компонента. Во-первых, это базовый случай — условие остановки, которое предотвращает бесконечный цикл вызовов. Его можно сравнить с последней ступенькой лестницы: достигнув её, вы прекращаете движение. Во-вторых, требуется рекурсивный шаг — вызов функцией самой себя, но с изменёнными входными данными, которые должны гарантированно приближать выполнение к базовому случаю. Это подобно каждому следующему шагу вниз по лестнице, который сокращает оставшееся до низа расстояние.
Рассмотрим простейшую иллюстрацию — функцию обратного отсчёта от заданного числа до единицы. Её логика наглядно демонстрирует оба принципа.
def count_down(n):
# Базовый случай: когда достигли 0, останавливаемся
if n == 0:
print("Готово!")
return
# Выводим текущее число
print(n)
# Рекурсивный шаг: вызываем функцию с n-1
count_down(n - 1)
count_down(5)
Вывод этой программы будет последовательным:
5
4
3
2
1
Готово!
Внутри этого процесса происходит следующее: вызов
count_down(5) приводит к выводу числа 5 и новому вызову count_down(4). Этот процесс вкладывается, подобно матрёшкам, пока вызов count_down(0) не достигнет базового случая, выведет "Готово!" и не начнёт возвращать управление обратно по цепочке предыдущих вызовов.Классическим примером, раскрывающим суть рекурсивного мышления, является вычисление факториала числа n, обозначаемого как n!. По определению, факториал — это произведение всех натуральных чисел от 1 до n, при этом 0! и 1! равны 1 (вообще не так чтобы равны, просто принято такое равенство для удобства расчетов). Ключевое наблюдение здесь — рекурсивная природа операции: факториал любого числа n можно выразить через факториал меньшего числа, а именно n! = n * (n-1)!. Это и становится основой для алгоритма.
def factorial(n):
# Базовый случай
if n == 0 or n == 1:
return 1
# Рекурсивный шаг
return n * factorial(n - 1)
print(factorial(5)) # 120
# Для значения 3
factorial(3)
│
├─ factorial(2) ← добавляется в стек
│ │
│ ├─ factorial(1) ← добавляется в стек
│ │ └─ возвращает 1 ← снимается со стека
│ │
│ └─ возвращает 2 ← снимается со стека
│
└─ возвращает 6 ← снимается со стека
# Стек вызовов для factorial(3):
Шаг 1: [factorial(3)]
Шаг 2: [factorial(3), factorial(2)]
Шаг 3: [factorial(3), factorial(2), factorial(1)]
Шаг 4: [factorial(3), factorial(2)] ← factorial(1) вернул результат
Шаг 5: [factorial(3)] ← factorial(2) вернул результат
Шаг 6: [] ← factorial(3) вернул результат
Пошаговое выполнение функции для
factorial(5) раскладывается в цепочку отложенных умножений: 5 * factorial(4), затем 5 * (4 * factorial(3)), и так далее, пока вычисление не дойдёт до базового случая factorial(1), который возвращает 1. После этого цепочка начинает сворачиваться, производя последовательные умножения: 2 * 1 = 2, 3 * 2 = 6, 4 * 6 = 24 и, наконец, 5 * 24 = 120.Эта же логика применима ко множеству других задач. Например, для вычисления суммы всех чисел от 1 до n.
def sum_numbers(n):
# Базовый случай
if n == 0:
return 0
# Рекурсивный шаг
return n + sum_numbers(n - 1)
print(sum_numbers(5)) # 15 (5+4+3+2+1)
Аналогично работает возведение числа в натуральную степень.
📟 Прилетело из @solidityset