The service is also available in your language. To switch the language, pressEnglish
Best analytics service

Add your telegram channel for

  • get advanced analytics
  • get more advertisers
  • find out the gender of subscriber
Гео і мова каналу

всі пости Точка входа в программирование

Фундаментальные знания по основам программирования Разместить рекламу:  @tproger_sales_bot  Правила общения:  https://tprg.ru/rules  Другие каналы:  @tproger_channels  Сайт:  https://tprg.ru/site  Другие наши проекты:  https://tprg.ru/media  
Показати весь опис
21 929-19
~2 163
~3
9.01%
Загальний рейтинг Telegram
В світі
34 663місце
із 78 777
У країні, Росія 
4 660місце
із 8 625
У категорії
714місце
із 1 396
Архів постів
Архитектура ПО для маленьких и... не сообразительных Я не буду писать полное название , если хотите, то можете посмотреть по ссылке. Скажу лишь, что такой способ подачи информации иногда гораздо доходчивее сложных объяснений. Если хотите понять, как лучше строить архитектуру и чего избегать, то лучше, чем человек с горящим... задом от современных архитекторов, не расскажет никто. Видео небольшое, но полезное.

Архитектура_ПО_для_маленьких_и_тупых_aD5Mst0OoSs.mp4

682
33
Знакомимся с Data Science и машинным обучением Делать мы это будем с помощью бесплатного курса, который включает 30 уроков, 54 теста и 21 задачу. В рамках курса вы изучите основные теоретические понятия, а также познакомитесь с библиотеками Pandas и Scikit-learn — наиболее популярными инструменатами для анализа данных и машинного обучения, используя язык программирования Python. Этих знаний более чем достаточно для старта в этой области. А начать можно уже сейчас по .
Показати повністю ...
922
14
Его боялись даже тестировщики
1 182
7

[object Object]

[object Object]
[object Object]
[object Object]
[object Object]
0
Анонімне голосування
1 309
0
Варианты ответа ниже.
1 204
0
Простыми словами: Полиморфизм в ООП Вот мы и добрались до заключительной парадигмы в ООП. Напомню, что , и можно прочитать выше или по тегу Давайте же разберём подробно концепцию полиморфизма в объектно-ориентированном программировании (ООП) с примерами кода. Полиморфизм — это концепция ООП, позволяющая использовать один и тот же интерфейс для разных типов объектов. Он позволяет объектам разных классов обрабатывать вызовы методов с одинаковыми именами, предоставляя каждым свой уникальный подход к реализации. Зачем нужен полиморфизм? 1. Унификация интерфейсов позволяет использовать один интерфейс для взаимодействия с различными типами объектов. 2. Гибкость и расширяемость упрощает добавление нового функционала, так как новые классы могут использовать существующие интерфейсы. 3. Упрощение кода позволяет писать более общий и универсальный код. Как это выглядит в коде? В Python полиморфизм часто достигается через методические перегрузки и наследование:
class Животное:
    def издать_звук(self):
        raise NotImplementedError("Этот метод должен быть реализован в подклассе")

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

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

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

for животное in животные:
    животное.издать_звук()  # Output: Мяу! Гав!
В этом примере метод
издать_звук
вызывается для объектов различных классов (
Кот
и
Собака
), и каждый объект реализует этот метод по-своему. В Java полиморфизм достигается через интерфейсы и абстрактные классы:
abstract class Животное {
    abstract void издатьЗвук();
}

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

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

public class Main {
    public static void main(String[] args) {
        Животное[] животные = { new Кот(), new Собака() };
        
        for (Животное животное : животные) {
            животное.издатьЗвук();  // Output: Мяу! Гав!
        }
    }
}
Здесь абстрактный метод
издатьЗвук
реализуется в классах
Кот
и
Собака
, и тот же метод вызывает различные реализации в зависимости от объекта. Давайте теперь посмотрим примеры кейсов, где может быть актуален полиморфизм: 1. Фигуры Предположим, у нас есть несколько различных фигур, и мы хотим рассчитать их площадь. Полиморфизм позволяет нам использовать один интерфейс для разных типов фигур.
class Фигура:
    def площадь(self):
        raise NotImplementedError("Этот метод должен быть реализован в подклассе")

class Круг(Фигура):
    def __init__(self, радиус):
        self.радиус = радиус
    
    def площадь(self):
        return 3.14159 * self.радиус ** 2

class Прямоугольник(Фигура):
    def __init__(self, ширина, высота):
        self.ширина = ширина
        self.высота = высота
    
    def площадь(self):
        return self.ширина * self.высота

фигуры = [Круг(5), Прямоугольник(3, 4)]

for фигура in фигуры:
    print(f"Площадь: {фигура.площадь()}")
2. Платежные системы Используем полиморфизм для различных способов проведения платежей.
class Платеж(ABC):
    @abstractmethod
    def провести_платеж(self, сумма):
        pass

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

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

платежи = [КредитнаяКарта(), PayPal()]
for платеж in платежи:
    платеж.провести_платеж(100)
Полиморфизм — ключевая концепция ООП. Он делает ваш код более универсальным и удобным для использования и расширения. Это особенно полезно, когда ваш проект растёт и требует поддержки различных типов объектов.
Показати повністю ...
1 109
23
Полиморфизм — ключевая концепция ООП, которая позволяет: - Унифицировать интерфейсы для различных типов объектов. - Упрощать код и делать его более гибким. - Легко расширять функциональность, добавляя новые типы объектов. Полиморфизм делает ваш код более универсальным и удобным для использования и расширения. Это особенно полезно, когда ваш проект растёт и требует поддержки различных типов объектов. Если у вас есть вопросы или нужны дополнительные примеры, не стесняйтесь писать! 😊
1
0
Простыми словами: Полиморфизм в ООП Конечно! Давайте разберём подробно концепцию полиморфизма в объектно-ориентированном программировании (ООП) с примерами кода. ### Что такое полиморфизм? Полиморфизм — это концепция ООП, позволяющая использовать один и тот же интерфейс для разных типов объектов. Он позволяет объектам разных классов обрабатывать вызовы методов с одинаковыми именами, предоставляя каждым свой уникальный подход к реализации. ### Зачем нужен полиморфизм? 1. Унификация интерфейсов: Позволяет использовать один интерфейс для взаимодействия с различными типами объектов. 2. Гибкость и расширяемость: Упрощает добавление нового функционала, так как новые классы могут использовать существующие интерфейсы. 3. Упрощение кода: Позволяет писать более общий и универсальный код. ### Как это выглядит в коде? #### Пример 1: Полиморфизм в Python В Python полиморфизм часто достигается через методические перегрузки и наследование.
class Животное:
    def издать_звук(self):
        raise NotImplementedError("Этот метод должен быть реализован в подклассе")

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

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

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

for животное in животные:
    животное.издать_звук()  # Output: Мяу! Гав!
В этом примере метод
издать_звук
вызывается для объектов различных классов (
Кот
и
Собака
), и каждый объект реализует этот метод по-своему. #### Пример 2: Полиморфизм в Java В Java полиморфизм достигается через интерфейсы и абстрактные классы.
abstract class Животное {
    abstract void издатьЗвук();
}

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

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

public class Main {
    public static void main(String[] args) {
        Животное[] животные = { new Кот(), new Собака() };
        
        for (Животное животное : животные) {
            животное.издатьЗвук();  // Output: Мяу! Гав!
        }
    }
}
Здесь абстрактный метод
издатьЗвук
реализуется в классах
Кот
и
Собака
, и тот же метод вызывает различные реализации в зависимости от объекта. ### Применение полиморфизма #### Пример 1: Фигуры Предположим, у нас есть несколько различных фигур, и мы хотим рассчитать их площадь. Полиморфизм позволяет нам использовать один интерфейс для разных типов фигур.
class Фигура:
    def площадь(self):
        raise NotImplementedError("Этот метод должен быть реализован в подклассе")

class Круг(Фигура):
    def __init__(self, радиус):
        self.радиус = радиус
    
    def площадь(self):
        return 3.14159 * self.радиус ** 2

class Прямоугольник(Фигура):
    def __init__(self, ширина, высота):
        self.ширина = ширина
        self.высота = высота
    
    def площадь(self):
        return self.ширина * self.высота

фигуры = [Круг(5), Прямоугольник(3, 4)]

for фигура in фигуры:
    print(f"Площадь: {фигура.площадь()}")
#### Пример 2: Платежные системы Используем полиморфизм для различных способов проведения платежей.
class Платеж(ABC):
    @abstractmethod
    def провести_платеж(self, сумма):
        pass

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

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

платежи = [КредитнаяКарта(), PayPal()]
for платеж in платежи:
    платеж.провести_платеж(100)
### Чем полиморфизм отличается от других концепций? - **Наследование**: Позволяет классам наследовать свойства и методы от другого класса. - Инкапсуляция: Скрывает детали реализации и предоставляет доступ к данным через методы. - Абстракция: Скрывает сложную реализацию и предоставляет простой интерфейс. Полиморфизм: Фокусируется на способности использовать один и тот же интерфейс для различных типов объектов, что позволяет более универсально и гибко работать с кодом. ### Заключение
Показати повністю ...
1
0
Методы сжатия данных: алгоритмы и инструменты Сжатие используется повсеместно. Оно нужно, чтобы обмениваться информацией в интернете, компактно сохранять файлы на телефоне и много для чего ещё. В мы рассмотрели основные алгоритмы и инструменты для сжатия данных. Рекомендуем прочитать, как минимум, для расширения кругозора. Кстати, на идее сжатия данных даже построен сюжет сериала «Кремниевая долина». Рекомендую к просмотру, если ещё не смотрели.
1 283
24
Проект по блокчейну для начинающих С++ разработчиков Это увлекательное путешествие в мир программирования и криптографии, где сложные концепции преподносят простым и понятным языком. включает в себя основы майнинга и транзакций. Автор также демонстрирует процесс программирования блокчейна, обеспечивая практическое понимание темы.

Кодим_блокчейн_на_C++_⧸_Системное_программирование_YAHldqFgq2A.mp4

1 401
28
Всё самое важное и интересное в IT и Digital за неделю — YouTube вводит технические меры противодействия на перенос контента на отечественные виде... читать полностью — Защита сайта, несколько ключевых новинок, которые помогут вам защитить вашу онлайн-площадку от… читать полностью — Дневная аудитория Rutube за месяц достигла 9,6 млн пользователей, еще в июле он был 4 млн. В связи с активным ростом… читать полностью — Об эффективных SEO стратегиях на 2024 рассказали специалисты… читать полностью — В VK Видео появилась новая функция — теперь авторы видео могут связывать между собой… читать полностью — Большим корпорациям не хватает вычислительных мощностей на рынке, поэтому они… читать полностью — Видеосервис NUUM представил новый инструмент монетизации для блогеров – «Единый оффер». По расчетам площадки, за одно видео авторы смогут получать от… читать полностью Это пост
Показати повністю ...
998
1
Java для начинающих Нашёл для вас небольшой плейлист из 18 уроков по Java. С помощью этих видео, вы сможете освоить программирование на java с нуля до Junior Java Developer. Также здесь множество полезной информации для подготовки к собеседованию. Смотрим .
1 509
37
Полное практическое руководство по Docker: с нуля до кластера на AWS Докер позволяет разработчикам, системными администраторам и другим специалистам деплоить их приложения в отдельных контейнерах, которых может быть много на одной машине. Причём у каждого контейнера может быть своя ОС и набор конфигураций, отличные от остальных. Чем-то это похоже на виртуальные машины, но при этом меньше нагружают систему и требует меньше ресурсов. В вы сможете не только разобраться с устройством докера, но и создавать первые рабочие контейнеры.
Показати повністю ...
2 104
75
О сетях для несетевиков Сейчас почти в каждой вакансии требуется знание сетей. Да и в жизни всё чаще эти знания могут понадобиться, хотя бы на теоретическом уровне. В этом видео максимально простым языком рассказывается про базовые сетевые технологии, чтобы вы могли применять эти знания в работе, на собеседованиях, в пет-проектах и обучении. и про OSI/ISO, TCP/IP, порты, ip-адреса, mac-адреса и NAT. Конечно же, шутка про TCP и UDP.

Сети_для_несетевиков_⧸⧸_OSI⧸ISO,_IP_и_MAC,_NAT,_TCP_и_UDP,_DNS_PYHKOwBfsLI.mp4

1 483
61
Как разработать и выпустить продукт: инструкция от проджектов и руководителей Разработка и выпуск нового продукта — это сложный процесс, который требует последовательной подготовки гипотез, планирования и исполнения. Чтобы новый проект запустился и получил ожидаемый отклик у целевой аудитории, важно правильно оценить риски, определить ключевые метрики, организовать работу команды, а также собрать и проанализировать обратную связь. Многие здесь только постигают основы программирования, но есть и те, кто уже делает свой проект и хочет продвигать его. Именно для вас мы подготовили , как создать и запустить продукт на рынке.
Показати повністю ...
1 662
15
Как прототипное наследование может улучшить ваши навыки разработки на JavaScript? Узнаете на открытом вебинаре 18 сентября в 20:00 мск, где вместе с экспертом разберёте: — что такое прототипное наследование в JavaScript и как оно работает; — как прототипное наследование помогает при разработке программ; — как лучше понять объектную модель JavaScript; — как писать ООП код с экономией памяти. Урок подходит для тех, кто знает основы JavaScript и хочет углубить свои знания в области разработки. Встречаемся в преддверии старта курса «JavaScript Developer. Basic». Все участники вебинара получат специальную цену на обучение!  Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Показати повністю ...
1 608
4
Плохие практики ООП в Python, которых нужно избегать В рассматриваются распространенные ошибках в ООП на Python, которые часто совершают разработчики. Вы узнаете: — как сохранить ваш код чистым и удобным для сопровождения; — почему вам следует заменять ненужные классы функциями; — зачем использовать модули вместо классов только со статическими методами; — и как сглаживать глубокие иерархии наследования.

Avoid These BAD Practices in Python OOP [yFLY0SVutgM].mp4

3 747
99
Как работает сетевой код в многопользовательских играх Сетевой код — критически важная часть многопользовательских игр, без которой вы просто не сможете определить в каких отношениях вы находитесь с мамами других игроков. Он отвечает за взаимодействие игроков в реальном времени и обеспечивает плавный игровой процесс. В вы узнаете ключевые компоненты сетевого кода, включая архитектуру, типы соединений, синхронизацию, безопасность и оптимизацию.
1 663
23
Дорожная карта для фронтенд-разработчиков Здесь собраны основные темы и технологии, которые нужно изучить для становления настоящим фронтендером.
1 556
25
5 признаков неопытного разработчика: как избежать типичных ошибок и ускорить профессиональный рост Начинающие разработчики часто сталкиваются с рядом типичных проблем, которые мешают им быстро расти профессионально. В вы узнаете о 5 ключевых признаках неопытного разработчика и получите рекомендации, как их избежать.
1 602
25
Подборка тренажёров для прокачки навыков вёрстки Что делает из новичка крутого верстальщика? Правильно, практика, практика и ещё раз практика. А чтобы практика проходила приятнее и легче, мы собрали для вас подборку ресурсов, где можно оттачивать навык в игровой форме.
5 555
249
А какую безумную терминологию встречали вы?
1 465
19
Пошаговый план изучения Python — бесплатно — 30 упорядоченных тем для изучения в виде To do листа; — 20+ идей проектов для портфолио. Узнаете, какие темы и в какой последовательности нужно изучать, чтобы точно освоить Python. Пройдете обучение не на задачах с апельсинами, а на проектах из реального бизнеса. Это пост
1 215
21
Тренажёр для изучения SQL Этот сервис хоть и выглядит неказисто, но позволяет вам прокачать навыки создания запросов в SQL. Здесь есть упражнения, теория и тесты для закрепления результатов. Сервис бесплатный.
1 642
84

[object Object]

[object Object]
[object Object]
[object Object]
[object Object]
178
Анонімне голосування
1 552
2
Варианты ответа, как обычно, ниже
1 341
0
Настал День программиста, пора надевать лук “ЗП 300к в наносек” К Дню программиста Типичный и подготовили модные образы для повседневных ситуаций из жизни айтишника. Парочка в этом посте, а остальные можно забрать в канале ребят. Предлагаем интерактив: подписывайтесь на , находите конкурсный пост, кидайте в комментарии к нему образы и их описания из айтишной жизни. Подойдут образы даже с ярких фэшн-показов. Три автора образов с лучшим совпадением 17 сентября получат сертификаты от Lamoda на 10 000 рублей. Это пост
Показати повністю ...
1 233
4
Где новичку отточить свои навыки работы с кодом Хотите стать более уверенным и успешным разработчиком? Тогда вам точно стоит обратить внимание на эти платформы. Они могут стать для вас отличным инструментом по тренировке мозгов и оттачивания навыков: 1. . Эта платформа позволяет оттачивать создание наиболее оптимальных алгоритмов в игровой форме. Здесь представлены различные игры, паззлы и соревновательные события. Играть можно как одному, так и с друзьями. 2. . Здесь также можно потренировать знания алгоритмов и структур данных. Многие задачи отсюда используются компаниями на реальных собеседованиях. По сути, это сборник задач для олимпиадного программирования. 3. . Многим известный тренажёр, который предлагает задачи по различных темах на множестве языков программирования. Отличительной особенностью платформы является разделение задач на 8 уровней сложности — kyu. 4. . Фишка этой платформы в том, что здесь регулярно проводятся онлайн-соревнования. Примерно раз в неделю стартуют раунды, которые длятся примерно 2 часа. За это время необходимо успеть решить несколько задач. 5. . Здесь проводятся соревнования по анализу данных и машинному обучению. Тут нет алгоритмических задач, зато он отлично подходит для тех, кто стремится развиваться в области Data Science. 6. . В основном предлагает задачами по математике, геометрии и информатике, которые нужно решить с помощью кода. Лично я остановился на Codewars. Мне нравится интерфейс, качество задач и гибкость при выборе уровня сложности. Вы же можете выбрать то, что больше подойдёт вам. В любом случае надеемся, что эта подборка будет вам полезна. А если знаете ещё какие-то крутые платформы, то напишите их в комментарии.
Показати повністю ...
1 336
81
Даже начинающий программист — это программист! Поэтому мы с радостью поздравляем вас с главным профессиональным праздником. А чтобы он был ещё немного приятнее, мы с друзьями приготовили для вас небольшой сюрприз! Переходите по ссылке и забирайте свой подарок: Делитесь в комментариях, что вам выпало.
1 559
2
Большой каталог шпаргалок на все случаи жизни Ловите , где собраны более 30 шпаргалок на разные темы. Здесь найдут подсказки сетевики, фронтендеры, бэкендеры, линуксоиды и пользователи windows. Если вам чего-то не хватило, то вы можете предложить свою шпаргалку в качестве контрибьютора.
4 174
115
Нейронка для захвата и стрима снов: правда или выдумка? Собрали для вас небольшой тест, чтобы проверить ваши познания в ML-проектах, которых на GitHub уже около 3 миллионов. «Выбираю "Нейросети" 700»: 
1 416
2
Простыми словами: Инкапсуляция в ООП Мы с вами уже разобрали и . Пришло время третьей парадигмы. Инкапсуляция — это концепция ООП, которая скрывает внутренние детали объекта и предоставляет доступ только к нужным методам и свойствам. Это как капсула с лекарством: вы знаете, как её использовать, но не видите, что внутри. Абстракция и инкапсуляция часто работают вместе. Абстракция скрывает сложные детали, выделяя только ключевые аспекты, а инкапсуляция обеспечивает безопасность этих деталей, предоставляя контролируемый доступ. Эти концепции делают ваш код более безопасным, структурированным и лёгким для поддержки. Давайте рассмотрим несколько примеров: В Python инкапсуляции часто достигают с помощью именования методов и атрибутов с одним или двумя подчёркиваниями.
class Кот:
    def __init__(self, имя):
        self.__имя = имя  # Скрытый атрибут

    def получить_имя(self):
        return self.__имя  # Метод для получения скрытого атрибута

    def мяукать(self):
        print(f"{self.__имя} говорит: Мяу!")
        
кот = Кот("Мурзик")
print(кот.получить_имя())  # Output: Мурзик
кот.мяукать()  # Output: Мурзик говорит: Мяу!

# Попытка доступа к скрытому атрибуту напрямую
# print(кот.__имя)  # Это вызовет ошибку
В этом примере атрибут
__имя
скрыт от внешнего доступа, и доступ к нему можно получить только через метод
получить_имя
. Давайте рассмотрим пример из Java. Здесь инкапсуляция достигается с помощью модификаторов доступа (private, protected, public) и методов getter/setter.
public class Кот {
    private String имя;  // Скрытый атрибут

    public Кот(String имя) {
        this.имя = имя;
    }

    public String getИмя() {  // Метод для получения скрытого атрибута
        return имя;
    }

    public void мяукать() {
        System.out.println(имя + " говорит: Мяу!");
    }

    public static void main(String[] args) {
        Кот кот = new Кот("Мурзик");
        System.out.println(кот.getИмя());  // Output: Мурзик
        кот.мяукать();  // Output: Мурзик говорит: Мяу!

        // Попытка доступа к скрытому атрибуту напрямую
        // System.out.println(кот.имя);  // Это вызовет ошибку
    }
}
В этом примере атрибут
имя
объявлен как
private
и доступен только через метод
getИмя
. Где применяется? Инкапсуляция помогает скрыть детали внутренней структуры объекта, например, банковского счёта.
class БанкСчет:
    def __init__(self, баланс=0):
        self.__баланс = баланс  # Скрытый атрибут

    def пополнить(self, сумма):
        if сумма > 0:
            self.__баланс += сумма

    def вывести(self, сумма):
        if сумма > 0 и self.__баланс >= сумма:
            self.__баланс -= сумма

    def получить_баланс(self):
        return self.__баланс

счет = БанкСчет()
счет.пополнить(100)
счет.вывести(30)
print(счет.получить_баланс())  # Output: 70
Также позволяет управлять доступом к критическим операциям.
class Пользователь:
    def __init__(self, имя, пароль):
        self.__имя = имя
        self.__пароль = пароль  # Скрытый атрибут

    def проверить_пароль(self, ввод):
        return self.__пароль == ввод

пользователь = Пользователь("Иван", "12345")
print(пользователь.проверить_пароль("12345"))  # Output: True
print(пользователь.проверить_пароль("54321"))  # Output: False
Теперь вы знакомы с тремя составляющими ООП. Нам осталось разобраться в полиморфизме. Если формат заходит — поставьте ❤️, я буду знать, что пишу не зря. А замечания можете написать в комментарии👇
Показати повністю ...
1 495
30
Welcome to Флудильня! Вы наверняка видели, что в наших телеграмм-каналах мы просили Андрея поделиться своим мнением, звали Егора в комменты и даже спрашивали у Игоря о его первом разе. И это было непросто так — мы запускаем ! Флудильня — это наша разработка и аналог Твиттер (простите, Х), только для программистов, разработчиков и всех-всех IT-специалистов. Здесь можно задавать вопросы, писать треды о наболевшем или смешном, делиться задачами — можно все (в пределах разумного). А написать и опубликовать пост очень легко — достаточно регистрации на сайте, а, возможно, она у вас уже есть. Но самое главное — здесь любой может стать популярным, учитывая, что другие соцсети заполнены по самый край. Здесь не нужна красивая картинка и овер много текста — просто будьте (типичными) настоящими программистами, и люди потянутся, а мы в этом только поможем, ведь Флудильня — от программистов для программистов. Вот несколько постов, чтобы познакомиться с Флудильней: —
Показати повністю ...
1 567
7
❤️ — сеньоры — пуськи 🗿 — ах, если бы...
1 678
19
Не упустите всероссийский чемпионат по алгоритмическому и робототехническому программированию True Tech Champ 2024 Гостей мероприятия на площадке ждет целая серия «айтивностей»: различные мастер-классы, воркшопы, лектории от экспертов МТС и концерт, на котором выступят известные артисты. Победители True Tech Champ получат призы и денежные награды. Финалисты алгоритмического трека: 1 млн рублей за первое место, по 500 тыс. рублей за два вторых места и по 250 тыс. рублей за три третьих места. Прием заявок на True Tech Champ продлится с 9 сентября до 12 октября, .
Показати повністю ...
1 764
4
Подробный курс по вёрстке для начинающих с теорией и практикой В этом понятно разобраны все темы по HTML, актуальные в 2024. Вы изучите основы HTML, теги, семантику, СЕО, метатеги, списки, медиа элементы, структуру документа, таблицы и формы. Сохраняем и смотрим.

HTML_с_0_до_Профи_Полный_курс_+_Практика_2024_56lpkwhaJhQ.mp4

2 644
60
Дорожная карта по изучению SQL Здесь собрана вся основная информация, необходимая для изучения этого языка.
1 895
52
Варианты ответа ниже
1 863
0

[object Object]

[object Object]
[object Object]
[object Object]
[object Object]
0
Анонімне голосування
1 876
3
Это всё созвоны 
2 037
17
ASMR программирование: Вращающийся куб в терминале на языке Си Немного залипательного контента вам в ленту. Автор написал небольшой проект, где с помощью математических формул моделируется куб из ASCII-символов.

ASMR Programming - Spinning Cube - No Talking [p09i_hoFdd0].mp4

2 054
14
Что такое сайт, CMS, БД, хостинг, домен? Полезный для тех, кто хочет лучше понимать суть терминов, которыми богата сфера IT. Как это все устроено и взаимодействует друг с другом? Здесь простыми словами рассказывают для начинающих о самых важных понятиях в веб-разработке. ❤️ — наконец-то понятным языком 🥱 — слишком просто. Админ, давай что-то посложнее

Что_такое_САЙТ,_CMS,_БД,_Хостинг,_Домен?_Терминология_понятным_языком.mp4

1 851
44
Бесплатный курс по основам программирования на Kotlin Курс посвящён базовым понятиям программирования: типы данных, операторы, переменные, условия, циклы, массивы и функции. Он является вводным и подойдёт слушателям с небольшим опытом или вообще без опыта программирования. На курсе вы научитесь: — основным конструкциям языка программирования Kotlin; — писать программный код; — читать код и анализировать чужие программы; — решать алгоритмические задачи. Начать можно в любой момент по .
Показати повністю ...
1 858
21
Простыми словами: Что такое абстракция в ООП Про наследование мы уже . Теперь поговорим про абстракцию. Абстракция — это концепция, которая помогает скрыть сложные внутренние детали и выделить только ключевые аспекты объекта. Это как использование бытового прибора: вы знаете, какие кнопки нажимать, но не обязаны понимать, как он работает изнутри. Зачем нужна абстракция? 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)
Показати повністю ...
1 656
38
Полезный репозиторий для тех, кто всё-таки хочет освоить Rust Здесь собраны полезные библиотеки и инструменты для Rust, а также проекты, реализованные с его помощью. Если хотите увидеть все возможности языка, то вам точно стоит заглянуть сюда:
1 683
20
Сегодня начинаются Игры! А точнее — независимые соревнования для студентов и старшеклассников, изучающих ИБ. Вас ждут практические задания на реалистичных копиях разных инфраструктур, митапы с экспертами по кибербезу и бесценный опыт. Финалом Игр станет студенческая кибербитва Standoff. И попасть на нее можно двумя способами: 1 —> пройдя отборочные Standoff с практическими заданиями от лидеров индустрии кибербезопасности (подать заявку на участие можно до 16 сентября). 2 —> попав в топ-6 студенческой лиги на киберучениях CyberCamp 2024 (прием заявок открыт до 19 сентября). Какой профит?  — По итогам осеннего сезона вы сможете попасть на одну из стажировок от лидеров рынка ИБ и получить поддержку менторов. — Победители среди атакующих команд осеннего сезона смогут принять участие в кибербитве Standoff в 2025 году (без отборочных). — Победители среди команд защитников получат доступ на финал весеннего сезона Международных игр на PHDays Fest (с оплатой трансфера и проживания). Узнать все подробности и подать заявку на участие И пусть удача всегда будет с вами! Это пост
Показати повністю ...
1 616
4
Как читать код Статья пригодится не только разработчикам, но и тем, кто хоть иногда сталкивается с кодом и вынужден разбираться в том, как он работает. Вы узнаете, как упростить себе задачу, с чего начать и что делать с неизвестным синтаксисом: ❤️ — так и делаю 🤔 — ерунда какая-то. Просто садишься и построчно изучаешь
3 380
53
Непереводимая игра слов
6 986
59
Шпаргалка для всех, кто только начинает изучать Python Начался новый учебный год. И даже если вы уже окончили школу или универ, получать новые знания никогда не поздно. Мы собрали для вас небольшую шпаргалку-roadmap, которая поможет вам сориентироваться в мире программирования и понять куда двигаться дальше.
1 503
48
Почему вы должны попробовать Rust Все, кто решил пойти в программировании, сталкиваются со сложностью выбора первого языка. Многие выбирают JavaScript, Python или Kotlin из-за их низкого порога входа. Но на этот раз мы предлагаем вам обратить внимание на Rust. Недаром он попал в топ-3 языков программирования по популярности в 2024 году. Подробнее о языке, его особенностях и преимуществах:
1 974
17
​​Юный Михаил Шуфутинский тоже был с компьютером на ты. Сегодня, 3-го сентября, он ждет ваших фотографий в комментариях, чтобы состарить их через нейронки.
image
1 720
0
Разработка и деплой сайта с нуля и анимацией В вы узнаете, как создать сайт с большим количеством разной анимации, например, одной из самых популярных — parallax-эффект. Вы научитесь работать с компонентами, используя библиотеку ReactJS, познакомитесь с Framer motion, организуете хранилище с Redux Toolkit (RTK), добавите контент через платформу Contentful и с помощью Graphql получите реальные данные на вашем сайте.

Разработка_и_деплой_сайта_с_нуля_и_анимацией_➤_ReactJS,_RTK,_Framer.mp4

1 859
34

sticker.webp

1 870
0
А мы тут кое-что приготовили к началу учебного года! Сделали , который поможет вам избавиться от всего ненужного и громко заявить о вашем отношении к чему угодно!
1 883
0
С Днём знаний, друзья! Мы все учились понемногу. Даже те, кто сегодня меняет сферу IT и целый мир. В честь праздника подготовили для вас небольшой школьный альбом, в котором показали, что могли бы пожелать себе столпы IT-индустрии будучи выпускниками.
1 042
4
А что бы вы пожелали сегодняшнему себе в юности?
1 444
0
Создайте свое приложение для прогноза погоды всего за час Хотите научиться создавать полезные приложения и работать со сторонними веб-сервисами?  Тогда вам на открытый вебинар 4 сентября в 20:00 мск. Вместе с экспертом вы разберёте: — как работать с API сторонних веб-сервисов на примере создания приложения для прогноза погоды; — основные принципы работы с API и их интеграции в проекты; — как расширить функционал приложения и использовать больше браузерных инструментов. Урок идеально подходит для тех, кто знает основы JavaScript (циклы, условия, функции, базовая работа с DOM). Встречаемся в преддверии старта курса «JavaScript Developer. Basic». Все участники вебинара получат специальную цену на обучение!   Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576,
Показати повністю ...
1 590
2
Техническое собеседование: как пройти и подготовиться к нему Что делать на техническом собеседовании? Главное — не паниковать, вы уже молодец, что нашли в себе смелость прийти и заявить о своих навыках. А остальные советы о том, как к нему готовиться, читайте в статье:
1 592
18
every-programmer-should-know | Каждый кодер должен знать Интересная англоязычная подборка материалов про Computer Science. Неважно, какой ЯП вы используете, вам все равно стоит знать виды алгоритмов, структур данных, архитектуры и другую базу. 🏆 — интересно 🌭 — заездили Цена: бесплатно

Запись экрана 2024-08-13 в 15.02.38.mp4

1 661
55
Варианты ответа ниже. Я верю, вы справитесь 💪
1 505
1

[object Object]

[object Object]
[object Object]
[object Object]
[object Object]
0
Анонімне голосування
1 622
4
Простыми словами: Наследование в ООП В прошлом посте мы рассказали про основные концепции ООП в общих чертах. Теперь давайте поговорим о них более конкретно и разберём первую — наследование. Что такое наследование? Наследование — это механизм, позволяющий одному классу наследовать свойства и методы другого класса. Это позволяет создавать новый функционал на базе существующего. У этого принципа есть два основных достоинства: 1. Повторное использование кода. Вместо того чтобы писать один и тот же код несколько раз, вы можете создать родительский класс с общей функциональностью и наследовать от него. 2. Упрощение структуры кода. Наследование помогает создать более упорядоченную структуру и улучшить читаемость кода. Давайте рассмотрим простой пример с животными, где общие свойства и методы будут находиться в родительском классе.
# Родительский (суперкласс)
class Животное:
    def __init__(self, имя, возраст):
        self.имя = имя
        self.возраст = возраст

    def издать_звук(self):
        raise NotImplementedError("Этот метод должен быть определён в подклассе")

    def описание(self):
        return f"{self.имя} — {self.возраст} лет"

# Дочерний класс Кот наследует от Животное
class Кот(Животное):
    def издать_звук(self):
        return "Мяу!"

# Дочерний класс Собака наследует от Животное
class Собака(Животное):
    def издать_звук(self):
        return "Гав!"

# Создаём объекты
кот = Кот("Мурзик", 3)
собака = Собака("Бобик", 5)

# Используем методы
print(кот.описание())  # Output: Мурзик — 3 лет
print(кот.издать_звук())  # Output: Мяу!
print(собака.описание())  # Output: Бобик — 5 лет
print(собака.издать_звук())  # Output: Гав!
Ключевые моменты в наследовании: 1. Конструктор родительского класса Для инициализации объектов дочернего класса важно вызвать конструктор родительского класса. В Python это делается с помощью функции
super()
.
class Животное:
    def __init__(self, имя, возраст):
        self.имя = имя
        self.возраст = возраст

class Кот(Животное):
    def __init__(self, имя, возраст, цвет):
        super().__init__(имя, возраст)
        self.цвет = цвет

кот = Кот("Пушок", 2, "серый")
print(кот.описание())  # Output: Пушок — 2 лет
print(кот.цвет)  # Output: серый
2. Переопределение методов Дочерний класс может переопределять методы родительского класса, изменяя их поведение.
class Животное:
    def __init__(self, имя, возраст):
        self.имя = имя
        self.возраст = возраст

    def издать_звук(self):
        return "Звук животного"

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

кот = Кот("Мурзик", 3)
print(кот.издать_звук())  # Output: Мяу!
3. Множественное наследование Иногда подкласс может наследовать свойства и методы от нескольких родительских классов. Это полезно, но требует осторожности, чтобы избежать сложных зависимостей и конфликтов.
class Животное:
    def дышать(self):
        return "Дышу"

class Летать:
    def летать(self):
        return "Летаю"

class Птица(Животное, Летать):
    def издать_звук(self):
        return "Чирик"

птица = Птица()
print(птица.дышать())  # Output: Дышу
print(птица.летать())  # Output: Летаю
print(птица.издать_звук())  # Output: Чирик
Возможно, вы сейчас задаётесь вопросом где же это применяется на практике? Например, тут: 1. Интерфейсы GUI. При разработке графических интерфейсов часто используют наследование для создания различных элементов интерфейса. 2. Системы управления пользователями. В системах управления пользователями можно использовать наследование для создания различных ролей с различными уровнями доступа. 3. Игровые приложения. В играх классы персонажей могут быть наследуемыми, чтобы создавать различные типы персонажей. Наследование применяется практически везде, где это возможно. Чем быстрее вы поймёте его, тем скорее сможете раскрыть весь его потенциал.
Показати повністю ...
1 574
44
А вы как пишите?
1 534
4
Как работает интернет: основы архитектуры веб-сетей Каждый день мы с вами сёрфим в волнах интернета. Но давайте на секунду остановимся и нырнём чуть глубже, чтобы узнать, как это всё работает. Здесь максимально кратко изложены основные концепции, чтобы не перегружать вашу голову:
1 674
38
Базовый гайд по работе с командной строкой в Linux Чтобы по полной раскрыть возможности программирования на Linux придётся осваивать командную строку. Но не бойтесь, на самом деле это не сложно, а местами даже удобнее, чем работа в графическом интерфейсе. Нашли для вас видео с базовым гайдом по командной строке. Можно посмотреть как прямо тут, так и в .

СТАНЬ_БОГОМ_ТЕРМИНАЛА_⧸_ГАЙД_НА_РАБОТУ_С_КОМАНДНОЙ_СТРОКОЙ_wczb8BJEwgk.mp4

1 687
27
Как учить языки программирования и создавать базу знаний с помощью метода из прошлого века Нашли для вас очень полезный метод обучение, как говорится, old but gold. Называется он Цеттелькастен и придумал его социолог ХХ века Никлас Луман. Суть его в правильной организации заметок. Всё, больше ничего не расскажем. Чтобы лучше понять, как этим пользоваться, нужно прочитать эту статью:
1 838
46
Не существует не решаемых задач. Нужно только подобрать правильный способ решения. Ведь иногда нужно просто перевести дух и позволить себе отдохнуть, чтобы всё разрешилось как будто само собой. Мы собрали несколько рабочих способов, которые наверняка вам помогут.
1 646
31
Варианты ответ, как обычно, ниже.
1 859
0

[object Object]

[object Object]
[object Object]
[object Object]
[object Object]
0
Анонімне голосування
1 913
0
Как произносят С++ на разных уровнях
2 012
6
8 советов работы с JavaScript, которые повысят ценность вашего кода В разных компаниях могут быть разные правила оформления кода, работы с ним. В начале вашего пути в качестве программиста это совсем неважно. Другое дело, что есть моменты, которые следует соблюдать хотя бы для того, чтобы вы могли быстрее осваивать новый язык, лучше разбираться в написанном и проще возвращаться к ранее созданным проектам. Об этих моментах в статье:
1 917
17
Команда Tpoger (это мы) ищет менеджера по продажам (это вы) Нужно будет всё то, что обычно делают «продажники»: искать клиентов, вести коммерческие переговоры и восстанавливать коннект с нашими старыми клиентами. Мы предлагаем хорошую зарплату, гибрид и причастность к крутому медиа о программировании.  Отклик оставляйте тут:
1 710
1
Простыми словами: Основные концепции ООП Понять объектно-ориентированное программирование на старте изучения может быть сложно. Поэтому мы постараемся объяснить вам основные концепции максимально простым языком. Для начала разберёмся с тем, что же такое объекты, а затем пройдёмся по основным концепциям — наследованию, абстракции, инкапсуляции и полиморфизму: Классы и объекты Класс — это своего рода чертёж или шаблон, по которому создаются объекты. Это как кулинарный рецепт, который описывает, какие ингредиенты (свойства) и шаги (методы) нужно использовать. Объект — это конкретный экземпляр класса. Если класс — это рецепт, то объект — это готовое блюдо по этому рецепту.
class Кот:
    def __init__(self, имя):
        self.имя = имя

    def мяукать(self):
        print(f"{self.имя} говорит: Мяу!")
        
мой_кот = Кот("Мурзик")
мой_кот.мяукать()
1. Наследование Наследование позволяет создавать новый класс на основе существующего. Это как брать основу от одного рецепта и добавлять свои изменения.
class Животное:
    def дышать(self):
        print("Дышу")

class Кот(Животное):
    def мяукать(self):
        print("Мяу!")
        
кот = Кот()
кот.дышать()
кот.мяукать()
2. Абстракция Абстракция — это концепция, позволяющая скрыть сложность системы, выделяя только ключевые аспекты и упрощая взаимодействие с объектами. Это как пользоваться телевизором: вы знаете, какие кнопки нажимать, но не обязаны понимать, как работает вся электроника внутри. 3. Инкапсуляция Инкапсуляция — скрытие внутренней реализации объекта от внешнего мира и предоставление доступа только через определённые методы. Это как секретный ингредиент у шеф-повара, который скрыт от всех, кроме него.
class Кот:
    def __init__(self, имя):
        self.__имя = имя  # сокрыто (private)

    def получить_имя(self):
        return self.__имя

    def мяукать(self):
        print(f"{self.__имя} говорит: Мяу!")
        
кот = Кот("Мурзик")
print(кот.получить_имя())
кот.мяукать()
4. Полиморфизм Полиморфизм позволяет использовать один интерфейс для разных типов объектов. Это как использовать одного и того же шеф-повара, чтобы готовить по разным рецептам.
class Животное:
    def издать_звук(self):
        pass

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

class Собака(Животное):
    def издать_звук(self):
        print("Гав!")
        
животные = [Кот(), Собака()]

for животное in животные:
    животное.издать_звук()
Само собой тема ООП гораздо более обширна и содержит множество различных нюансов, которые не описать в одном посте. Но даже эти знания помогут вам в дальнейшем проще и быстрее разобраться во всех тонкостях. Если вам понравился пост, поставьте ❤️ и мы обязательно расскажем о чём-то ещё.
Показати повністю ...
3 745
174
Базовый гайд по работе с командной строкой в Linux Чтобы по полной раскрыть возможности программирования на Linux придётся осваивать командную строку. Но не бойтесь, на самом деле это не сложно, а местами даже удобнее, чем работа в графическом интерфейсе. Нашли для вас видео с базовым гайдом по командной строке. Можно посмотреть как прямо тут, так и в .

СТАНЬ_БОГОМ_ТЕРМИНАЛА_⧸_ГАЙД_НА_РАБОТУ_С_КОМАНДНОЙ_СТРОКОЙ_wczb8BJEwgk.mp4

2
0
Zed: Для тех кому надоел VS Code Новый опенсорсный редактор кода Zed, работающий на Rust раньше был доступен только на MacOS, но с недавнего времени работает и на Linux. Zed разработали создатели Atom и Tree-sitter. Ключевой особенностью являются легковесность, производительность и открытость кода. Если хотите протестировать, то переходите по ссылке и скачивайте свою версию:
1 967
26
И сколько фич так добавлено?
1 891
2
Большой курс по разработке ботов для Telegram на Python с AIOGRAM Боты Telegram сегодня крайне популярны. А недавно в мессенджере даже появился свой магазин приложений, где собраны самые популярные боты. Их функционал растёт очень быстро, как и востребованность в разработчиках, которые умеют из создавать. Здесь вы найдёте 12 видеоуроков, которые дадут вам все необходимые знания, чтобы начать заниматься разработкой ботов:
Показати повністю ...
2 062
56

[object Object]

[object Object]
[object Object]
[object Object]
[object Object]
0
Анонімне голосування
1 923
2
Останнє оновлення: 11.07.23
Політика конфіденційності Telemetrio