Точка входа в программирование
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
Forwarded from Метод утёнка
С Днём знаний, друзья!

Мы все учились понемногу. Даже те, кто сегодня меняет сферу IT и целый мир.

В честь праздника подготовили для вас небольшой школьный альбом, в котором показали, что могли бы пожелать себе столпы IT-индустрии будучи выпускниками.
This media is not supported in your browser
VIEW IN TELEGRAM
А мы тут кое-что приготовили к началу учебного года! Сделали набор волшебных ластиков, который поможет вам избавиться от всего ненужного и громко заявить о вашем отношении к чему угодно!
Media is too big
VIEW IN TELEGRAM
Разработка и деплой сайта с нуля и анимацией

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

Вы научитесь работать с компонентами, используя библиотеку ReactJS, познакомитесь с Framer motion, организуете хранилище с Redux Toolkit (RTK), добавите контент через платформу Contentful и с помощью Graphql получите реальные данные на вашем сайте.

#видео #туториал #веб #react
Forwarded from Нейроканал
​​Юный Михаил Шуфутинский тоже был с компьютером на ты. Сегодня, 3-го сентября, он ждет ваших фотографий в комментариях, чтобы состарить их через нейронки.

#кек

@neuro_channel
Почему вы должны попробовать Rust

Все, кто решил пойти в программировании, сталкиваются со сложностью выбора первого языка. Многие выбирают JavaScript, Python или Kotlin из-за их низкого порога входа.

Но на этот раз мы предлагаем вам обратить внимание на Rust. Недаром он попал в топ-3 языков программирования по популярности в 2024 году.

Подробнее о языке, его особенностях и преимуществах:

https://habr.com/ru/companies/huawei/articles/548808/

#rust
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. Как это все устроено и взаимодействует друг с другом?

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

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


#видео #веб