и посмотреть медиа
Точка входа - основы программирования
и посмотреть медиа
Базовые знания по основам программирования для новичков.
Базовые знания по основам программирования для новичков.
Курс фундаментальных понятий: алгоритмы, структуры данных, языки программирования. Идеально для начинающих без опыта.
Читайте ошибку undefined справа налево и находите причину Сообщение Cannot read properties of undefined выглядит расплывчато, но указывает на конкретный сбой. Если оно заканчивается на (reading 'name'), программа попыталась взять свойство name у значения, которого нет. Сначала найдите указанное свойство, затем посмотрите, что стоит слева от точки. В строке user.name проблема не в name: переменная user получила undefined. Например, метод find() возвращает такое значение, когда не находит элемент. Возьмите одну такую ошибку и проследите, где переменной присвоили результат. Проверьте условие поиска, имя ключа объекта и не запустился ли код до завершения запроса. В подробном разборе этот путь показан шаг за шагом.
Открыть канал и посмотреть медиаОшибка NoneType показывает, где искать пропавший объект Скрипт падает на user.name, а Python сообщает: у объекта NoneType нет атрибута name. Это не жалоба на сам атрибут name. В этой строке переменная user оказалась равна None, хотя код ожидал объект пользователя. Искать причину удобнее в обратном порядке. Сначала найдите обращение к атрибуту, затем переменную слева от точки и место, где она получила значение. В примере из статьи функция find_user() возвращает None, если не находит пользователя: значит, нужно проверить target_id и наличие записи в списке. Разбор на DEV Community показывает этот поиск по шагам. Возьмите похожую ошибку из своего кода и пройдите цепочку назад до первого None: так сообщение об ошибке превратится в маршрут от симптома к причине.
Открыть канал и посмотреть медиаНастройте доступ к GitHub и не запутайтесь в двух SSH-ключах Когда впервые отправляете код из терминала, открытый и закрытый ключ легко поменять местами. Закрытый файл должен остаться только на компьютере, открытый добавляют в GitHub. Затем Git использует закрытый ключ, чтобы подтвердить вашу личность при отправке и загрузке кода; открытый ключ в GitHub должен ему соответствовать. GitHub собрал пошаговую инструкцию: как создать ключи, добавить их в программу ssh-agent, которая хранит ключи и избавляет от постоянного ввода пароля для ключа, а затем перенести открытый ключ в настройки профиля. Пройдите сначала этот раздел и отправьте изменение в учебный репозиторий. Дальше в той же статье можно разобрать токены, которыми инструменты подтверждают права доступа, конфликт двух правок в одном месте, отмену коммита и обновление собственной копии чужого репозитория.
Открыть канал и посмотреть медиаЖёсткий диск, переживший три компьютера, две переустановки Windows и один синий экран смерти — знакомая история? SpaceWeb и Типичный программист посвятили ей анкету к 25-летию компании: школьные вопросы про спорт, лучшего друга и обои на рабочий стол, а между ними — история развития веба с 2001 по 2026 год. В конце — небольшой взгляд в будущее, промокод на услуги SpaceWeb и результат: может, ты и есть тот самый надёжный жёсткий диск.
Открыть канал и посмотреть медиаНумерация PDF покажет, как связать JavaScript с интерфейсом Когда учебные примеры выглядят набором отдельных функций, полезно собрать из них вещь с видимым результатом. В этом мини-проекте такой результат — PDF с номерами на выбранных страницах. Вы загрузите документ, выберете страницы и положение номеров, настроите их оформление, посмотрите предпросмотр и скачаете обновлённый файл. Всё выполняется в браузере: документ не отправляется на сервер. Так видно весь путь данных от настроек в интерфейсе до нового PDF. В пошаговом разборе freeCodeCamp остались код каждого этапа и типичные ошибки. Соберите базовую версию, затем поменяйте страницы, положение и оформление номеров и сравните предпросмотр со скачанным файлом.
Открыть канал и посмотреть медиаРазберите ревью кода на одном маленьком изменении Ревью легко выучить как слово и так и не понять, что делать после замечания. Материал GitHub Skills посвящён совместной проверке изменений: участники дорабатывают работу по предложениям до объединения кода. Чтобы закрепить механику, возьмите правку в одну строку и пройдите полный круг: попросите другого человека посмотреть её, получите одно замечание, уточните непонятное, исправьте код и проверьте изменение ещё раз. Здесь важен не размер задачи, а весь путь от комментария до новой версии. Откройте репозиторий GitHub Skills о проверке изменений перед объединением. Затем повторите тот же сценарий в своём учебном проекте.
Открыть канал и посмотреть медиаSQL-запрос может молча отфильтровать нужные строки, но это легко исправить Вы ищете клиентов без телефона, пишете WHERE phone = NULL и получаете ноль строк, хотя значения NULL в столбце есть. Ошибки нет: запрос выполнился, но условие не стало истинным ни для одной строки. В SQL NULL означает неизвестное значение. Сравнение через = поэтому даёт не истину или ложь, а третий результат: «неизвестно». WHERE оставляет только строки, для которых условие истинно, и отбрасывает остальные. Даже NULL = NULL не даёт истину. Для поиска отсутствующих значений используйте IS NULL, для обратной проверки — IS NOT NULL. Разбор с таблицей и пошаговым объяснением показывает, почему обычное сравнение здесь отвечает не на тот вопрос. Попробуйте оба условия на таблице из трёх строк: одно вернёт пустой результат, второе найдёт строку без телефона.
Открыть канал и посмотреть медиаПроверьте, успеет ли горутина Go закончить работу go sayHello() запускает функцию как горутину: она работает одновременно с остальным кодом. Ловушка в main(): когда эта функция завершается, программа закрывается, даже если горутина не успела вывести результат. Соберите вариант, который ждёт задачу: package main import ( "fmt" "sync" ) func main() { var wg sync.WaitGroup wg.Add(1) go func() { defer wg.Done() fmt.Println("Готово") }() wg.Wait() } wg.Add(1) задаёт одну ожидаемую задачу, а wg.Wait() не даёт main() закончиться раньше неё. В примере с двумя задачами показан тот же приём. Запустите код, затем уберите wg.Wait() и сравните несколько запусков.
Открыть канал и посмотреть медиаПеревод HSL в RGB укладывается в четыре строки без единого if Классическая реализация hslToRgb разбирает шесть секторов цветового круга ветвлениями и отдельно обрабатывает серый. В заметке о самодельном конвертере цветов приводится компактная запись: k(n) = (n + h/30) % 12, амплитуда a = s * min(l, 1-l) и функция f, которую зовут трижды: с 0, 8 и 4. Все три канала считаются одним выражением, а серый выпадает сам: при нулевой насыщенности a = 0, и f возвращает светлоту. Формула не авторская: то же преобразование приводит образцом спецификация CSS Color 4, так что за краевые значения можно не волноваться. Заметка короткая, остального в ней немного: почему для браузерного инструмента без сборки автор отказался от npm-пакета color и как признаёт, что писал код с плотной помощью ИИ. Сохраните, если держите свои утилиты для цвета и не хотите тянуть зависимость ради одной математики.
Открыть канал и посмотреть медиаТолько зарегистрированные пользователи могут делиться своим мнением.
Станьте первым, кто поделится своим впечатлением об этом ресурсе!