Точка входа в программирование
19.7K subscribers
1.38K photos
254 videos
2 files
2.9K links
Фундаментальные знания по основам программирования

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Урок: Как работает сжатие?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@prog_point #oop #javascript #теория
❤‍🔥7👍21🍌1
Просто о принципах SOLID

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

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

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

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

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

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

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

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

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

@prog_point #теория
👍81🔥1
Бесплатный курс по алгоритмам и структурам данных

Познания в алгоритмах и структурах данных помогают начинающему программисту в эффективном решении задач и оптимизации производительности программ.

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

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

@prog_point #структуры #алгоритмы #теория
❤‍🔥4🍌1
​​Подборка алгоритмов, которые правят миром

Существует очень много алгоритмов, но какие из них используются в реальной жизни? Вот список конкретных из них, которые используются повсеместно и на которые вам точно стоит обратить внимание:

— Алгоритмы сортировки;
— Преобразование Фурье;
— Алгоритм Дейкстры;
— Алгоритм RSA;
— Алгоритм безопасного хеширования;
— Алгоритм факторизации чисел;
— Анализ связей;
— Пропорционально-интегрально-дифференцирующий алгоритм
— Алгоритм сжатия данных;
— Алгоритм генерации случайных чисел;

Про каждый из этих алгоритмов простым языком рассказывают в этой статье. Так что сохраняйте такой маст хэв.

@prog_point #алгоритмы #general #теория
12👍5❤‍🔥1🍌1
​​50 терминов, которые должен знать каждый программист

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

Не бойтесь, ведь для такого случая есть специальная подборка из 50 популярных терминов для разработчиков, в которой объяснили, что значит каждый из них, чтобы облегчить вам вход в тему программирования. Термины разные: от безобидных переменных и функций до виртуализации, CDN и Deadlock.

Повышаем свою эрудицию разработчика в этой статье

@prog_point #general #теория
🍌4👨‍💻42