prog_point | Unsorted

Telegram-канал prog_point - Точка входа в программирование

21411

Фундаментальные знания по основам программирования Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/zrgj

Subscribe to a channel

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

Подборка тренажёров для прокачки навыков вёрстки

Что делает из новичка крутого верстальщика? Правильно, практика, практика и ещё раз практика.

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

#подборка #вёрстка #веб

Читать полностью…

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

Пошаговый план изучения Python — бесплатно

— 30 упорядоченных тем для изучения в виде To do листа;
— 20+ идей проектов для портфолио.

Узнаете, какие темы и в какой последовательности нужно изучать, чтобы точно освоить Python.

Пройдете обучение не на задачах с апельсинами, а на проектах из реального бизнеса.

Переходите на сайт и скачивайте план обучения.

Это #партнёрский пост

Читать полностью…

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

Варианты ответа, как обычно, ниже

#викторина #ооп

Читать полностью…

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

Где новичку отточить свои навыки работы с кодом

Хотите стать более уверенным и успешным разработчиком? Тогда вам точно стоит обратить внимание на эти платформы. Они могут стать для вас отличным инструментом по тренировке мозгов и оттачивания навыков:

1. CodinGame. Эта платформа позволяет оттачивать создание наиболее оптимальных алгоритмов в игровой форме. Здесь представлены различные игры, паззлы и соревновательные события. Играть можно как одному, так и с друзьями.

2. LeetCode. Здесь также можно потренировать знания алгоритмов и структур данных. Многие задачи отсюда используются компаниями на реальных собеседованиях. По сути, это сборник задач для олимпиадного программирования.

3. Codewars. Многим известный тренажёр, который предлагает задачи по различных темах на множестве языков программирования. Отличительной особенностью платформы является разделение задач на 8 уровней сложности — kyu.

4. CodeForces. Фишка этой платформы в том, что здесь регулярно проводятся онлайн-соревнования. Примерно раз в неделю стартуют раунды, которые длятся примерно 2 часа. За это время необходимо успеть решить несколько задач.

5. Kaggle. Здесь проводятся соревнования по анализу данных и машинному обучению. Тут нет алгоритмических задач, зато он отлично подходит для тех, кто стремится развиваться в области Data Science.

6. Project Euler. В основном предлагает задачами по математике, геометрии и информатике, которые нужно решить с помощью кода.

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

#подборка #геймификация

Читать полностью…

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

Большой каталог шпаргалок на все случаи жизни

Ловите репозиторий, где собраны более 30 шпаргалок на разные темы. Здесь найдут подсказки сетевики, фронтендеры, бэкендеры, линуксоиды и пользователи windows.

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

#шпаргалки

Читать полностью…

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

Простыми словами: Инкапсуляция в ООП

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

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

Давайте рассмотрим несколько примеров:

В 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


Теперь вы знакомы с тремя составляющими ООП. Нам осталось разобраться в полиморфизме.

Если формат заходит — поставьте ❤️, я буду знать, что пишу не зря. А замечания можете написать в комментарии👇

#простымисловами #ооп #инкапсуляция

Читать полностью…

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

❤️ — сеньоры — пуськи
🗿 — ах, если бы...


#кек

Читать полностью…

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

Подробный курс по вёрстке для начинающих с теорией и практикой

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

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

#видео #курс #html

Читать полностью…

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

Варианты ответа ниже

#викторина #ооп

Читать полностью…

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

ASMR программирование: Вращающийся куб в терминале на языке Си

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

#asmr #видео #clang

Читать полностью…

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

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

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

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

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

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

#курс #stepik #kotlin

Читать полностью…

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

Полезный репозиторий для тех, кто всё-таки хочет освоить Rust

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

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

#rust

Читать полностью…

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

Как читать код

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

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

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

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


#советы

Читать полностью…

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

Шпаргалка для всех, кто только начинает изучать Python

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

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

#шпаргалка #roadmap

Читать полностью…

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

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

#кек

@neuro_channel

Читать полностью…

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

А какую безумную терминологию встречали вы?

Читать полностью…

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

Тренажёр для изучения SQL

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

sql-ex.ru

#sql #инструменты #тренажёр

Читать полностью…

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

Настал День программиста, пора надевать лук “ЗП 300к в наносек”

К Дню программиста Типичный и Lamoda Tech подготовили модные образы для повседневных ситуаций из жизни айтишника. Парочка в этом посте, а остальные можно забрать в канале ребят.

Предлагаем интерактив: подписывайтесь на канал Lamoda Tech, находите конкурсный пост, кидайте в комментарии к нему образы и их описания из айтишной жизни. Подойдут образы даже с ярких фэшн-показов. Три автора образов с лучшим совпадением 17 сентября получат сертификаты от Lamoda на 10 000 рублей.

Это #партнерский пост

Читать полностью…

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

Даже начинающий программист — это программист!

Поэтому мы с радостью поздравляем вас с главным профессиональным праздником. А чтобы он был ещё немного приятнее, мы с друзьями приготовили для вас небольшой сюрприз! Переходите по ссылке и забирайте свой подарок: https://tprg.ru/o8KN

Делитесь в комментариях, что вам выпало.

Читать полностью…

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

Нейронка для захвата и стрима снов: правда или выдумка?

Собрали для вас небольшой тест, чтобы проверить ваши познания в ML-проектах, которых на GitHub уже около 3 миллионов. «Выбираю "Нейросети" 700»: https://tprg.ru/eltB

Читать полностью…

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

Welcome to Флудильня!

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

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

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

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

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

Читать полностью…

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

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

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

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

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

Читать полностью…

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

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

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

#roadmap #sql

Читать полностью…

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

Это всё созвоны 

@ithumor

Читать полностью…

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

Что такое сайт, CMS, БД, хостинг, домен?

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

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

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


#видео #веб

Читать полностью…

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

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

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

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

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

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)


#простымисловами #ооп

Читать полностью…

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

Сегодня начинаются Игры!

А точнее — Международные игры по кибербезопасности: независимые соревнования для студентов и старшеклассников, изучающих ИБ.

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

Финалом Игр станет студенческая кибербитва Standoff.

И попасть на нее можно двумя способами:

1 —> пройдя отборочные Standoff с практическими заданиями от лидеров индустрии кибербезопасности (подать заявку на участие можно до 16 сентября).

2 —> попав в топ-6 студенческой лиги на киберучениях CyberCamp 2024 (прием заявок открыт до 19 сентября).

Какой профит? 

— По итогам осеннего сезона вы сможете попасть на одну из стажировок от лидеров рынка ИБ и получить поддержку менторов.

— Победители среди атакующих команд осеннего сезона смогут принять участие в кибербитве Standoff в 2025 году (без отборочных).

— Победители среди команд защитников получат доступ на финал весеннего сезона Международных игр на PHDays Fest (с оплатой трансфера и проживания).

Узнать все подробности и подать заявку на участие можно на сайте Игр.

И пусть удача всегда будет с вами!

Это #партнёрский пост

Читать полностью…

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

Непереводимая игра слов

Читать полностью…

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

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

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

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

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

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

#rust

Читать полностью…

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

Разработка и деплой сайта с нуля и анимацией

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

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

#видео #туториал #веб #react

Читать полностью…
Subscribe to a channel