EN
creator cover CodeChick

CodeChick

Программирование для начинающих
CodeChick
8
subscribers
goals
4 of 100 paid subscribers
Даже 10 платных подписчиков, обеспечат регулярный выход нового контента. Если же мы наберем 100 - то новые задачи и статьи будут появляться ежедневно.
4.15 of $ 312 money raised
Оплата хостинга на 2024 год!

About the creator

Привет! В CodeChick мы предлагаем занимательные упражнения для освоения программирования, делая обучение проще и интереснее, особенно для новичков.
Наш проект бесплатен, но нам нужна ваша поддержка для его развития и улучшения. Ваши донаты пойдут на создание новых упражнений и материалов, а также на поддержку инфраструктуры. Помогите нам сделать программирование доступным и увлекательным – поддержите нас донатом или подпиской.
Спасибо за вашу помощь!

Новости проекта: Сброс пароля

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

Опыт борьбы с неожиданной проблемой на CodeChick

Все началось с сообщения в Telegram о том, что сайт "лежит". Проверив, я подтвердил, что сайт действительно не отвечал, и каждый запрос завершался таймаутом. Перезагрузка сервера дала временное решение, но главная задача была в том, чтобы выяснить причину сбоя.
Просмотр логов nginx показал мне массу запросов, которые явно не были сделаны нашим фронтендом или сервером. Вот один из таких запросов, который мне попался:
168.119.23.149 - - [04/Mar/2024:08:27:12 +0000] "PROPFIND /data/ HTTP/1.1" 404 8566 "-" "python-requests/2.30.0" "-"
Это выглядело как часть DoS-атаки или интенсивного сканирования.
Решение проблемы безопасности
Чтобы ограничить возможный вред от такого рода активности, я обновил конфигурацию nginx, ограничив доступ к сайту только для стандартных HTTP-методов. Это существенно сократило количество нежелательных запросов к приложению.
Оптимизация производительности
Но работа на этом не закончилась. Проводя дальнейший мониторинг сервера, я заметил случаи пиковой нагрузки на процессор, связанные с выполнением определенных запросов к базе данных. В частности, запрос списка решенных задач иногда занимал более 20 секунд:
Show more
О временной сложности
Level required:
База

О решение алгоритмических задач

Решение алгоритмических задач — это не только проверка умения программировать, но и способность мыслить логически, анализировать и оптимизировать процессы. При решении задач важно учитывать не только корректность алгоритма, но и его эффективность, включая время выполнения и использование памяти. 
Понимание задачи и выбор подхода
Первый шаг — тщательный анализ задачи. Важно полностью понять, что от вас требуется, определить входные и выходные данные, ограничения и специальные условия. После понимания задачи выберите подход к её решению. Это может быть прямое решение, динамическое программирование, жадный алгоритм и т.д. Выбор правильного подхода существенно влияет на эффективность алгоритма.
Анализ сложности
Перед реализацией алгоритма оцените его временную и пространственную сложность. Это поможет предвидеть эффективность алгоритма ещё до его написания. Временная сложность относится к количеству времени, которое алгоритму нужно для выполнения, в зависимости от размера входных данных, а пространственная сложность — к объёму памяти, который требуется для его работы.
Примеры решения задачи
Рассмотрим задачу нахождения двух чисел в массиве, которые в сумме дают заданное число. Это классическая задача, которая может быть решена несколькими способами с разной степенью эффективности.
1. Неоптимизированный подход
Show more

Новая Задача на CodeChick.io: Башня Ханоя

Приветствую всех кодеров и энтузиастов алгоритмов! Рад анонсировать добавление новой, интересной задачи на нашем сайте — Башня Ханоя. Эта задача представляет собой классическую математическую головоломку, которая была изобретена французским математиком Эдуардом Люкасом в 1883 году.
Что такое Башня Ханоя?
Башня Ханоя — это головоломка, состоящая из трех стержней и нескольких дисков разного диаметра. Задача состоит в том, чтобы переместить все диски с одного стержня на другой, придерживаясь определенных правил. Ханойская башня является отличным примером задачи, демонстрирующей концепцию рекурсии и алгоритмического мышления, и считается одной из классических задач в программировании.
А еще сегодня на CodeChick.io было добавлено 8 новых задач, включая Башню Ханоя, и теперь в общей сложности у нас 173 задачи. Готовы принять вызов и решить задачу про Башню Ханоя? Тогда покажите, на что вы способны. Удачи, и помните: каждая решенная задача делает вас лучшим программистом!

Благодарность за поддержку, новые задачи и обновления!

Привет, друзья!
Я хочу выразить вам огромную благодарность за вашу поддержку, подписки и донаты! На самом деле, я в полнейшем удивлении, потому что не ожидал, что кто-то так быстро откликнется на мою просьбу о поддержке и сборе средств на хостинг. Первая подписка произошла уже через три дня после размещения ссылки на Boosty. Это просто невероятно!
С этой радости на нашем сайте добавлены три новые задачи:
А еще для всех подписчиков на Boosty у меня есть хорошие новости! Я готовлю для вас интересный туториал по созданию чата на вебсокетах с использованием Vue.js и aiohttp. Я постараюсь сделать его максимально подробным и понятным, чтобы было интересно каждому, независимо от опыта в программировании.
Еще раз огромное спасибо за вашу поддержку и веру в CodeChick. С вами все становится возможным!

Subscription levels

База

$ 1,04 per month
+ chat

Донатер

$ 3,2 per month
+ chat

Меценат

$ 9,4 per month
+ chat
Go up