Получи случайную криптовалюту за регистрацию!

Код Карыча

Логотип телеграм канала @devkarych — Код Карыча К
Логотип телеграм канала @devkarych — Код Карыча
Адрес канала: @devkarych
Категории: Технологии
Язык: Русский
Количество подписчиков: 2.11K
Описание канала:

⚛️ Программирование, всякое и интересное об IT.
💟 Python, Web, Боты.
Мой GitHub: github.com/yakarych.
Реклама и предложения: @karych; электропочта: karych@karych.ru

Рейтинги и Отзывы

3.00

3 отзыва

Оценить канал devkarych и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

1

4 звезд

0

3 звезд

0

2 звезд

2

1 звезд

0


Последние сообщения 4

2022-05-03 17:59:40
Практика

Самое главное в программировании — это практика: нарешивание задач разного уровня и сложности. Как это делаю я, помимо создания проектов? Мне очень заходит https://codewars.com, на котором 8 уровней сложности задач, рейтинговая система, и десятки тысяч заданий, которые можно выполнять, и затем смотреть решения других участников. Очень классная штука, советую. Кстати я создал клан Karych (фотка), чтобы организовать некое соревновательное комьюнити вокруг этой движухи. В настройках акка указываете, и будет виден полный список участников.

Я в codewars: codewars.com/users/devkarych, можете в друзья добавляться.
43 viewsedited  14:59
Открыть/Комментировать
2022-05-02 23:50:59 #ООП-1

Многие начинают изучение ООП с попытки понять 3 столпа, на которых ООП существует: инкапсуляция, наследование, полиморфизм. Сходу, не понимания базовой концепции, человек пугается сложных терминов, забывает про классы и идет дальше гордо фигачить "функциональный" код, который, кстати, не по-настоящему функциональный.

Поэтому начнем с того, зачем оно (ООП) вообще надо. Программирование в целом — это про работу с данными: обработка, хранение, перемещение, удаление. 40 лет назад кодеры писали линейно-функциональный код и всё было нормально: создавали функции и методы, которые что-то принимали, меняли и отдавали. Что ж случилось? А случилась большая проблема: поддерживать десятки и сотни тысяч строк кода в таком стиле очень тяжело, потому что сложно увидеть всю цепочку работы с данными (что, куда, откуда передается, а главное — зачем?), да и вообще — функциональное программирование — это попытка человека научиться говорить на алгоритмическом языке (языке компьютера) что тяжело и порой мозг изрядно закипает. И тут появилось ООП.

ООП — объектное программирование, цель которого решить проблему перемещения объектов в код, заставить компьютер заговорить на человеческом языке. Что такое объект? Объект — некая сущность реального мира (пульт от телевизора, автомобиль, ноутбук...), которая имеет свойства и поведение, ей характерное. Так вот ООП — это удачная попытка перенести привычные нам объекты в программный код, в классы. Класс — это некоторый шаблон, к примеру, смартфон. Класс (шаблон) смартфона описывает некоторые общие черты: наличие экрана, кнопки питания, аккумулятор, процессор... И каждый смартфон имеет схожую функциональность: звонки, выход в интернет, определение геолокации...
Мы можем создать бесконечное количество объектов класса смартфон, напичковать их уникальными свойствами и наладить взаимодействие между этими объектами. Никаких параллелей с реальной жизнью не находите?)

Теперь кратенько: есть объект реального мира, его нужно перевести в код. Создаем класс, то есть шаблон, трафарет, на основе которого будем создавать объекты, уже наделенные конкретными свойствами и поведением. Далее налаживаем работу и взаимодействие между объектами, и живем в шоколаде. В следующем посте создадим первый шаблон и первые инстансы (объекты) нашего класса.

Жду фидбек по статье в комментах (полностью авторская=))
48 viewsedited  20:50
Открыть/Комментировать
2022-05-02 17:21:42 Добрый вечер, зайчики!

Намечается образовательный контент, и проще будет обсуждать некоторые вопросы в чате, чем в коментах к постам.
Общение сугубо про программирование и Python. Жду

@pyground
t.me/pyground
102 views14:21
Открыть/Комментировать
2022-05-01 14:46:22
Хехнул, и вы хехните🥹
375 views11:46
Открыть/Комментировать
2022-04-30 23:15:53
Новички, а какая тема вызывает наибольшие трудности?
Anonymous Poll
20%
ООП
15%
Декораторы
14%
Тестирование программ
16%
Итераторы, генераторы
15%
Асинхронность
14%
Архитектура проекта
13%
Linux
17%
GitHub и git
40%
Посмотреть результат…
93 voters556 views20:15
Открыть/Комментировать
2022-04-29 22:45:25
#practise

Надеюсь ты валидируешь свой код не только через стандартный статический анализатор PyCharm, а используешь mypy и flake8 на проектах. А если не используешь, беги и используй — классно прокачаешь уровень своего кода.
719 viewsedited  19:45
Открыть/Комментировать
2022-04-29 12:05:08
Exceptions Я думаю, что все умеют отлавливать ошибки (а если нет, то срочно научитесь). Бывают ситуации, когда ошибку не нужно обрабатывать, и ее возникновение не является внештатной ситуацией. Пример: вы пишете ТГ-бота, хотите отправить юзеру сообщение…
796 views09:05
Открыть/Комментировать
2022-04-29 12:04:41 Exceptions

Я думаю, что все умеют отлавливать ошибки (а если нет, то срочно научитесь). Бывают ситуации, когда ошибку не нужно обрабатывать, и ее возникновение не является внештатной ситуацией.

Пример: вы пишете ТГ-бота, хотите отправить юзеру сообщение, а он бота забанил. Возникает ошибка при попытке отправки сообщения, которую можно и не обрабатывать.

В такой ситуации я рекомендую 2 способа:
1) except BotBlocked() или любой другой конкретной ошибки, в теле except-а пишете в консоль / в логгер понятное для дальнейшего дебага сообщение.
Главное — никогда не делайте except Exception: pass или, еще хуже, просто except: pass. Это очень плохой вариант, потому что при дебаге и дальнейшей работе с проектом, вы рано или поздно наткнетесь на то, что поведение программы некорректно, а ошибки нет — ваш except ловит всё, и черт знает, что там словилось на этот раз. Появляется непаханное поле для side-эффектов и крайне усложняется рефакторинг, поиск багов.

2) Если вы точно уверены, что тело вашего except будет пустым, то рекомендую воспользоваться не стандартным except-ом, а контекстным менеджером suppress из contextlib. Пример использоваться на фотке ниже: выглядит интуитивно, понятно, и читаемость кода повышается в разы.
817 views09:04
Открыть/Комментировать
2022-04-29 00:44:59 Яндекс и Дзен

ВКонтакте сегодня (28.04.2022) купили у Яндекса 2 сервиса: Дзен и новостной агрегатор. Похоже, что готовится полноценная замена ютубу, а ВК становится постепенно русским WeChat. Поэтому буду вести сразу 2 платформы, подписывайтесь на дзенчик, там удобнее видео контент пилить.

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

https://zen.yandex.ru/karych
210 viewsedited  21:44
Открыть/Комментировать
2022-04-23 15:44:01
Сделать серию фундаментальных постов про ООП в Python?
Anonymous Poll
95%
Да, надо
0%
Нет, не надо
5%
Воздержаться (вредно)
63 voters278 views12:44
Открыть/Комментировать