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

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Forwarded from Zen of Python
Шпаргалка для всех, кто только начинает изучать Python

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

Мы собрали для вас небольшую шпаргалку-roadmap, которая поможет вам сориентироваться в мире программирования и понять куда двигаться дальше.

#шпаргалка #roadmap
Непереводимая игра слов
Как читать код

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

Вы узнаете, как упростить себе задачу, с чего начать и что делать с неизвестным синтаксисом:

https://habr.com/ru/articles/840178/

❤️ — так и делаю
🤔 — ерунда какая-то. Просто садишься и построчно изучаешь


#советы
Точка входа в программирование
Почему вы должны попробовать Rust Все, кто решил пойти в программировании, сталкиваются со сложностью выбора первого языка. Многие выбирают JavaScript, Python или Kotlin из-за их низкого порога входа. Но на этот раз мы предлагаем вам обратить внимание на…
Полезный репозиторий для тех, кто всё-таки хочет освоить Rust

Здесь собраны полезные библиотеки и инструменты для Rust, а также проекты, реализованные с его помощью.

Если хотите увидеть все возможности языка, то вам точно стоит заглянуть сюда: https://github.com/rust-unofficial/awesome-rust

#rust
Простыми словами: Что такое абстракция в ООП

Про наследование мы уже рассказали. Теперь поговорим про абстракцию.

Абстракция — это концепция, которая помогает скрыть сложные внутренние детали и выделить только ключевые аспекты объекта. Это как использование бытового прибора: вы знаете, какие кнопки нажимать, но не обязаны понимать, как он работает изнутри.

Зачем нужна абстракция?

1. Упрощение взаимодействия: Абстракция упрощает использование сложных систем, предоставляя понятные и удобные интерфейсы.
2. Сокрытие деталей реализации: Позволяет скрывать детали, которые не важны для пользователя объекта.
3. Повторное использование кода: Обеспечивает создание общих интерфейсов, которые могут быть использованы в различных контекстах.

Пример 1: Абстрактные классы

В некоторых языках программирования, таких как Python, Java или C#, существуют абстрактные классы. Они содержат методы, которые должны быть реализованы в дочерних классах.

from abc import ABC, abstractmethod

class Животное(ABC):
@abstractmethod
def издать_звук(self):
pass

class Кот(Животное):
def издать_звук(self):
print("Мяу!")

class Собака(Животное):
def издать_звук(self):
print("Гав!")

животные = [Кот(), Собака()]

for животное in животные:
животное.издать_звук()


Здесь Животное — это абстрактный класс с абстрактным методом издать_звук, который обязаны реализовать все дочерние классы, такие как Кот и Собака.

Пример 2: Интерфейсы (в других языках)

В языках программирования, таких как Java или C#, существуют интерфейсы, которые определяют набор методов, которые должны быть реализованы классами.

interface Животное {
void издатьЗвук();
}

class Кот implements Животное {
public void издатьЗвук() {
System.out.println("Мяу!");
}
}

class Собака implements Животное {
public void издатьЗвук() {
System.out.println("Гав!");
}
}

public class Main {
public static void main(String[] args) {
Животное кот = new Кот();
Животное собака = new Собака();

кот.издатьЗвук(); // Output: Мяу!
собака.издатьЗвук(); // Output: Гав!
}
}


Здесь Животное — это интерфейс, который определяется методом издатьЗвук, что должен быть реализован в классах Кот и Собака.

Давайте теперь посмотрим, где применяется эта концепция в реальной жизни:

1. Управление пользователями. Абстракция позволяет создавать общие интерфейсы для работы с пользователями различных типов — например, администраторы и обычные пользователи.

from abc import ABC, abstractmethod

class Пользователь(ABC):
@abstractmethod
def доступ(self):
pass

class Админ(Пользователь):
def доступ(self):
return "Полный доступ"

class Гость(Пользователь):
def доступ(self):
return "Доступ в режиме чтения"

пользователи = [Админ(), Гость()]
for пользователь in пользователи:
print(пользователь.доступ())


2. Работа с данными. Часто используется, когда нужно создать общий интерфейс для работы с разными источниками данных.

from abc import ABC, abstractmethod

class Репозиторий(ABC):
@abstractmethod
def получить_данные(self):
pass

class SQLРепозиторий(Репозиторий):
def получить_данные(self):
return "Данные из SQL базы данных"

class APIРепозиторий(Репозиторий):
def получить_данные(self):
return "Данные из API"

репозитории = [SQLРепозиторий(), APIРепозиторий()]
for репозиторий in репозитории:
print(репозиторий.получить_данные())


3. Системы оплаты. Можно создать абстракцию для различной обработки платежей — кредитными картами, PayPal, Bitcoin и т.д.

class Платеж(ABC):
@abstractmethod
def провести_платеж(self, сумма):
pass

class КредитнаяКарта(Платеж):
def провести_платеж(self, сумма):
print(f"Платеж проведён на сумму {сумма} с кредитной карты")

class PayPal(Платеж):
def провести_платеж(self, сумма):
print(f"Платеж проведён на сумму {сумма} через PayPal")

платежи = [КредитнаяКарта(), PayPal()]
for платеж in платежи:
платеж.провести_платеж(100)


#простымисловами #ооп
Бесплатный курс по основам программирования на Kotlin

Курс посвящён базовым понятиям программирования: типы данных, операторы, переменные, условия, циклы, массивы и функции. Он является вводным и подойдёт слушателям с небольшим опытом или вообще без опыта программирования.

На курсе вы научитесь:

— основным конструкциям языка программирования Kotlin;
— писать программный код;
— читать код и анализировать чужие программы;
— решать алгоритмические задачи.

Начать можно в любой момент по ссылке.

#курс #stepik #kotlin
Media is too big
VIEW IN TELEGRAM
Что такое сайт, CMS, БД, хостинг, домен?

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

Здесь простыми словами рассказывают для начинающих о самых важных понятиях в веб-разработке.

❤️ — наконец-то понятным языком
🥱 — слишком просто. Админ, давай что-то посложнее


#видео #веб
Forwarded from Метод утёнка
Media is too big
VIEW IN TELEGRAM
ASMR программирование: Вращающийся куб в терминале на языке Си

Немного залипательного контента вам в ленту. Автор видео написал небольшой проект, где с помощью математических формул моделируется куб из ASCII-символов.

#asmr #видео #clang
Forwarded from IT Юмор
Это всё созвоны 

@ithumor
Дорожная карта по изучению SQL

Здесь собрана вся основная информация, необходимая для изучения этого языка.

#roadmap #sql
Media is too big
VIEW IN TELEGRAM
Подробный курс по вёрстке для начинающих с теорией и практикой

В этом курсе понятно разобраны все темы по HTML, актуальные в 2024. Вы изучите основы HTML, теги, семантику, СЕО, метатеги, списки, медиа элементы, структуру документа, таблицы и формы.

Сохраняем и смотрим.

#видео #курс #html
Не упустите всероссийский чемпионат по алгоритмическому и робототехническому программированию True Tech Champ 2024

Гостей мероприятия на площадке ждет целая серия «айтивностей»: различные мастер-классы, воркшопы, лектории от экспертов МТС и концерт, на котором выступят известные артисты.

Победители True Tech Champ получат призы и денежные награды. Финалисты алгоритмического трека: 1 млн рублей за первое место, по 500 тыс. рублей за два вторых места и по 250 тыс. рублей за три третьих места.

Прием заявок на True Tech Champ продлится с 9 сентября до 12 октября, регистрация доступна на официальном сайте.
❤️ — сеньоры — пуськи
🗿 — ах, если бы...


#кек
Welcome to Флудильня!

Вы наверняка видели, что в наших телеграмм-каналах мы просили Андрея поделиться своим мнением, звали Егора в комменты и даже спрашивали у Игоря о его первом разе. И это было непросто так — мы запускаем Флудильню!

Флудильня — это наша разработка и аналог Твиттер (простите, Х), только для программистов, разработчиков и всех-всех IT-специалистов. Здесь можно задавать вопросы, писать треды о наболевшем или смешном, делиться задачами — можно все (в пределах разумного). А написать и опубликовать пост очень легко — достаточно регистрации на сайте, а, возможно, она у вас уже есть.

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

Вот несколько постов, чтобы познакомиться с Флудильней:

7 экзистенциальных причин, ради которых можно пропустить работу
Популярные мифы о программистах
Самые подробные промпты в ChatGPT для работы с кодом Python
Подборка полезных материалов по базам данных для начинающих разработчиков
Это база: советы для новичков, как проходить первые собесы в IT