и посмотреть медиа
Punto de entrada - conceptos básicos de programación
и посмотреть медиа
Conocimientos básicos sobre los fundamentos de programación para principiantes.
Conocimientos básicos sobre los fundamentos de programación para principiantes.
Curso de conceptos fundamentales: algoritmos, estructuras de datos, lenguajes de programación. Ideal para principiantes sin experiencia.
Самодельный принтер показывает, как сеть встречается с памятью устройства Код становится понятнее, когда ему приходится договариваться с настоящим устройством. В проекте Нишанта Джоши Mac находит Xteink X3 через Bonjour: устройство публикует имя, поддерживаемые форматы и адрес для заданий. Затем протокол интернет-печати IPP позволяет компьютеру спросить о возможностях и отправить документ по веб-протоколу HTTP. Затем код упирается в память. Страница Letter при 300 точках на дюйм занимает около 8,4 МБ без сжатия, а у X3 всего 400 КБ оперативной памяти. Целиком она туда не помещается. Выпишите путь данных: обнаружение устройства, запрос возможностей, перевод документа в пиксели и передача. Рядом посчитайте, на каком шаге памяти перестаёт хватать. Так вы потренируетесь делить программу на части с учётом ограничений устройства.
Открыть канал и посмотреть медиаТри правила Rust объясняют, кто отвечает за память Сборщик мусора периодически освобождает ненужную программе память. Rust работает иначе: компилятор проверяет правила работы с памятью до запуска. У каждого значения один владелец. Когда код больше не может обратиться к нему, Rust освобождает память. Значение можно одолжить по ссылке, то есть использовать, не забирая владение: либо многим для чтения, либо одному для изменения. Смешивать варианты нельзя, что предотвращает гонки данных. Срок жизни показывает, как долго ссылка допустима; часто Rust определяет его сам. Так ссылка не укажет на освобождённую память. Откройте пример со строкой: найдите владельца, границу блока и момент освобождения памяти. Затем объясните эту схему своими словами.
Открыть канал и посмотреть медиаПеремещение в C++ не отменяет уничтожение исходного объекта Когда std::vector создаёт новый элемент из std::move(s), исходный s остаётся в своей области видимости. При выходе из неё C++ всё равно вызывает деструктор: специальную функцию, которая срабатывает при уничтожении объекта. Если внутри есть системный вызов или удаление записи из общего реестра, даже перемещённый объект может выполнить лишнюю работу. ManualDrop отделяет время жизни объекта от памяти, в которой он лежит. Обёртка убирает автоматический вызов деструктора и позволяет вызвать его явно либо переместить значение в другой объект с автоматическим уничтожением. В разборе с исходным кодом повторите пример со std::vector сначала без ManualDrop, затем с ним. Сравните вывод конструкторов и деструкторов. Используйте приём только там, где значение гарантированно будет перемещено из своей области видимости.
Открыть канал и посмотреть медиаСократите простые функции и сразу увидите их результат Если функция принимает значения, вычисляет одно выражение и сразу возвращает результат, её можно записать короче, стрелкой =>. Вместо блока с function и return получится одна строка: let sum = (a, b) => a + b; Здесь a и b — параметры функции. При вызове sum(1, 2) выражение справа вычислится, а функция вернёт 3. Для одного параметра скобки можно убрать: let double = n => n * 2;. Если параметров нет, пустые скобки остаются: () => alert("Hello!"). Откройте консоль браузера и запустите три варианта: с двумя параметрами, одним и без них. Затем сравните их с полной записью функции, чтобы увидеть, какие части исчезли, а что осталось прежним.
Открыть канал и посмотреть медиаДве задачи в Copilot можно запускать параллельно без путаницы в коде Если вы учитесь работать с ИИ-помощником, возьмите две независимые задачи: в одной попросите добавить сортировку, в другой запустить тесты. Так проще увидеть вклад каждого агента и проверить результат по частям. В приложении GitHub Copilot сессия хранит одну задачу от начала до конца и помнит её условия. Для неё можно создать Git worktree: отдельное место, где агент меняет проект, не задевая другие сессии. Задачи идут одновременно, а переключаться между ними можно без повторных объяснений. В инструкции GitHub показан сценарий. Повторите на учебном проекте, дождитесь результатов и просмотрите изменения отдельно. Так вы потренируетесь делить работу на части, которые можно независимо проверить.
Открыть канал и посмотреть медиаПроект готов, а пользователей нет: с чего начать, чтобы вашу работу увидели Знакомая ситуация: учебный сервис дописан, ссылка отправлена в чат, и ничего не происходит. Автор freeCodeCamp в 2022 году собрал маленький сервис в свободное время и позже продал его за несколько тысяч долларов. Его вывод — написать код сегодня дешевле, чем добыть к нему внимание. Понятный следующий шаг из статьи: разложить путь пользователя на точки касания. Где человек впервые увидел проект, что понял с первого экрана, дошёл ли до регистрации. Дальше подключается аналитика и считаются два числа: доля ушедших с первой страницы и доля дошедших до целевого действия. По ним видно, что чинить: непонятный заголовок или длинную форму. Нарисуйте эти шаги для своего проекта и отметьте, где теряете человека. В разборе freeCodeCamp дальше идут способы найти первых пользователей без рекламного бюджета. #инструменты
Открыть канал и посмотреть медиаПорядок, в котором стоит учить основы Python, чтобы не застрять на середине Новичка обычно топит не сложность языка, а разрозненность: переменные из одного урока, циклы из другого, а как из этого собирается программа, непонятно. Гид freeCodeCamp выкладывает основы в один маршрут: установка Python и редактор, «Hello, World», переменные и типы данных, операторы, условия if/elif/else, циклы for и while, затем break и continue, и только в конце функции. Читать его подряд бесполезно. После каждого раздела печатайте пример руками, а потом ломайте: поменяйте одно значение и посмотрите, что ответит Python. К разделу про функции у вас накопятся куски кода, из которых собирается маленький скрипт: функция считает, условие выбирает, цикл повторяет. #python #основы
Открыть канал и посмотреть медиаКак перестать плодить папки «проект_финал_2» и доверить версии Git Пока проект маленький, копии папок кажутся нормальным способом ничего не потерять. Через месяц вы уже не помните, в какой из них рабочий вариант. Git ведёт этот учёт за вас: программа стоит на вашем компьютере и записывает, что и когда изменилось в файлах, поэтому к любой прошлой версии можно вернуться. GitHub работает в интернете: туда те же файлы выкладывают, чтобы была запасная копия и чтобы над проектом работали вдвоём. Начните с малого: поставьте Git, выполните git init в папке с любым учебным скриптом и сохраните первую версию через git add и git commit. Потом сломайте файл нарочно и верните прошлую версию через git restore: так команды запоминаются быстрее, чем по конспекту. Руководство freeCodeCamp ведёт дальше: ветки, слияние и что делать, когда правки конфликтуют. #основы #инструменты
Открыть канал и посмотреть медиаКак перестать теряться в чужом коде: начните с первой версии Git Открыть незнакомый репозиторий и закрыть его через минуту — обычное дело: файлов сотни, с какого начинать, непонятно. freeCodeCamp предлагает тренироваться не на зрелом проекте, а на его ранней версии, и разбирает самый первый вариант Git: десяток файлов на C, написанных в 2005 году. В них уже видно главное: как содержимое файла складывается на диск под именем, которое посчитано из самого содержимого. Попробуйте повторить: склонируйте репозиторий Git, выполните git log --reverse --oneline | head -1 и найдите самый ранний коммит, а git checkout на него вернёт папку к тому состоянию. Начните с файла read-cache.c и выпишите своими словами, что делает каждая функция. Не знаете C? Всё равно полезно: вы тренируете не язык, а умение распутывать чужой проект по именам функций и порядку вызовов. #инструменты
Открыть канал и посмотреть медиаSolo los usuarios registrados pueden compartir su opinión.
¡Sé el primero en compartir tu experiencia con este recurso!