Точка входа в программирование
21.4K subscribers
903 photos
163 videos
1 file
2.45K links
Фундаментальные знания по основам программирования

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
CI/CD для самых маленьких

Про CI/CD вы могли слышать, например, в контексте DevOps. Давайте разберёмся в этом без лишних сложных определений:

Если говорить простым языком, то CI/CD — это способ автоматически тестировать и выкладывать изменения в программном коде, что позволяет разработчикам быстрее и безопаснее обновлять свои приложения. На деле это набор различных инструментов скриптов и сервисов для автоматической сборки, проверки и загрузки продукта, например, на сервер или Google Play.

В этом видео автор простыми словами и всего за 5 минут рассказывает необходимую базу по CI/CD и приводит наглядные примеры как это работает.

@prog_point #devops #теория
Статья: Простыми словами о работе HTTP-запросов

Понимание работы веб-запросов актуально почти для любого разработчика. С запросами можно работать, разрабатывая бэкенд, телеграм-бота, десктопной приложение или микросервис.

И если вы всё ещё не уверены в своих знаниях касательно работы HTTP-запросов, кодов состояния, заголовков и работы протокола в целом, то эта статья простым и доступным языком расскажет про всё это.

#статья #web #теория #ru
Что такое хеширование простыми словами?

Хеширование — это как магическая машина, которая превращает любые данные, например, слова или числа, в странный код, похожий на буквенное пасьянс. Даже небольшие изменения в данных приводят к большим изменениям в этом коде. Не стоит путать хеш с шифровкой: зашифрованные данные рассчитаны на дешифровку, а по хешу никак нельзя получить входные данные.

Хеш-код используется для защиты паролей, проверки целостности файлов и других важных вещей в IT. Например, когда вы создаёте учётную запись, ваш пароль хешируется в специальный код, и уже он сохраняется на сервере. Так, если кто-то взломает базу данных, он не сможет узнать ваш настоящий пароль из этого кода.

В видео подробней рассказывают о хеш-функциях и как из данных получается тот самый цифровой отпечаток.

@prog_point #теория
Почему процессор и видеокарта не могут заменить друг друга

Задумывались ли вы об отличиях CPU от GPU? Почему нельзя задачу отрисовки передать на тот же или отдельный CPU? Вот краткий ответ:

— CPU по своей архитектуре рассчитан на широкий спектр команд, что позволяет поддерживать различные архитектуры. Процессор имеет небольшое кол-во ядер, но каждое из них мощное и рассчитано на последовательные операции.

— GPU сконструировано так, чтобы оперировать небольшим количеством однотипных операций, зато одновременно в большом количестве. Это отлично подходит для рендера изображений (например для видеоигр), где кадр за кадром происходит повторяющиеся операции.

Детальней и с демонстрацией о различиях работы, структуры CPU и GPU можно узнать из этого ролика.

@prog_point #теория
Урок: Как работает сжатие?

Алгоритмы сжатия – это способ уменьшения объема данных без потери информации. Они полезны при создании протоколов обмена данными, работе с файлами и сохранениями. Такие алгоритмы используются повсеместно, а без них любой обмен данными замедлился в разы.

В этом уроке рассмотрят различные методы сжатия, их избыточность, алгоритмы Хаффмана, а также сжатие с потерями и без:

https://youtu.be/CJFUN6BrkGE?si=cpDz1uFIznvqsKqU

#урок #теория #ru
Статическая и динамическая типизация — кто эти двое и в чём ключевая разница?

Статическая и динамическая типизация — это два основных подхода к обработке типов данных в программировании.

В статической типизации тип данных переменной определяется на этапе написания кода и остаётся неизменным во время выполнения программы.

В динамической типизации тип переменной определяется во время выполнения программы, что позволяет ей изменяться в зависимости от присвоенных значений.

Статическая типизация обычно обеспечивает большую надёжность, так как позволяет обнаруживать ошибки на этапе компиляции, в то время как динамическая типизация обеспечивает большую гибкость в разработке. Некоторые языки программирования поддерживают один из типов типизации, другие же — оба типа.

@prog_point #general #теория
Как работает прокси-сервер: максимально простое объяснение

Про прокси или прокси-сервера можно услышать где угодно, но что это? Прокси — это посредник между устройством пользователя и интернетом, который позволяет скрывать реальный IP-адрес. Он используется для обхода блокировок сайтов, анонимного серфинга или улучшения скорости загрузки через кэширование.

Ловите короткое видео, где простым языком отвечают на следующие вопросы:

— Что такое прокси-сервер?
— Зачем нужен прокси-сервер?
— Какие бывают прокси-сервера?
— Разница между прокси и VPN?
— Когда выбрать VPN, а когда прокси?
— Плюсы и минусы прокси-сервера.

@prog_point #теория
ООП в JavaScript на примерах с Фредди Меркьюри

ООП в JavaScript можно представить как конструктор LEGO. Вы создаете кучу кубиков (объектов), каждый со своими специальными функциями и свойствами. А знание ООП помогает вам строить более крепкие и крутые конструкции, используя эти кубики как основные блоки.

Держите простую статью, которая наконец поможет разобраться в основных концепциях ООП на примере с Фредди Меркьюри. Всё с подробными объяснениями и примерами кода.

@prog_point #oop #javascript #теория
Просто о принципах SOLID

SOLID — это набор правил проектирования, придуманных Робертом Мартином в начале 2000-х, чтобы помочь разработчикам создавать приложения, которые легко поддерживать и расширять. Следуя этим правилам, код становится проще для понимания и внесения изменений.

Эти принципы стали основой современной разработки и используются в таких объектно-ориентированных языках, как Java, C++ и Python. Об этих принципах любят размышлять разработчики и спрашивать на собеседованиях. Следовательно, SOLID — база. А если длинные видеоуроки вам не по душе, то для начала вполне подойдет этот короткий ролик.

@prog_point #solid #теория
​​Основы многопоточности

Многопоточность — тема, которую боятся многие программисты, особенно начинающие. Вероятно, это связано с тем, что многопоточные программы, если написаны неправильно, могут вызывать больше ошибок, чем однопоточные, и ущерб, нанесённый несколькими потоками, бывает труднее оценить. Некоторым тяжело дается понимание работы многопоточности, а кто-то даже не старается ее понять.

Но бывают случае, где без многопоточности точно не обойтись, поэтому разбираться в ней крайней желательно. А поможет в этом статья, где простым языком рассказывают за многопоточность — что, как и почему (на примере Java).

@prog_point #теория #java
Что такое библиотека, фреймворк и чем они отличаются?

И библиотека, и фреймворк дают возможность разработчикам использовать готовые решения, плагины или другие модули, что значительно экономит время на разработку и отладку.

Всё ещё думаете, что основное отличие библиотеки от фреймворка в том, что первое просто меньше по функциональности, чем второе? Это не совсем корректно. Библиотека оставляет за разработчиком возможность выбора организации и структуры проекта, в то время как фреймворк берёт эту ответственность на себя, поэтому разработчик подстраивается под структуру фреймворка.

В видео автор простыми словами и на пальцах даёт определения этим двум понятиям, так что разобраться сможет даже самый начинающий.

@prog_point #теория