Первый онлайн-переводчик междустрочного текста из ведущих и ведомых СМИ. ѣѣ
Похвалить, поругаться, предложить новость, разместить рекламу
👇👇👇
@Otsuka_mail
Last updated 2 weeks, 1 day ago
Last updated 1 year, 4 months ago
Всем привет ??
Django 5 ???
Релиз конечно же состоялся 4 декабря, но я только щас узнал
Про + и - можно прочитать в док, не буду здесь перечислять, т.к. много изменений было, советую обязательно ознакомиться
Django Project
The web framework for perfectionists with deadlines.
Всем привет ??
Сегодня я бы хотел поговорить о ПЛОХОМ КОДЕ
Думаю каждый в своей голове представляет как выглядит плохой код независимо от технологии которые он использует
Вопрос: способен ли плохой код разрушить целую компанию ? Ответ: Да !
Есть даже пример в 1980-x г.
Компания выпускало приложение, и в начале все было просто прекрасно, но постепенно запуски новых версии начали затягиваться, время загрузки росло, а сбои в приложении происходили все чаще !
Что же произошло ? Дело в том, что работники торопились с выпуском новых версии и их мало волновало качество кода. С добавлением нового функционала код становился еще хуже, пока в какой-то момент не вышел из-под контроля. Плохой код привел к распаду компании !
Плохой код в программировании встречается намного чаще чем хороший, так как для написания плохого кода чаще подходит окружающая среда, нежели для хорошего
Допустим, у вас горят сроки, вы не успеваете, или же хотите побыстрее сделать и приступить к другой задаче, или же вы просто устали и хотите отдохнуть
Так часто бывает, и мы иногда с закрытыми глазами делаем вид что у нас "хороший код" и стараемся об этом не думать, и обещаем себе что исправим завтра или же потом. Но потом никогда не настанет, единственный вариант по моему мнению — сразу писать хороший код !
Всем привет ??
В чем разница между IDE и редактором кода ?
Начнем с IDE, он интереснее чем редактор кода.
IDE - место разработки и запуска кода. Может содержать в себе текстовый редактор, транслятор (компилятор и/или интерпретатор), средства автоматизации сборки, и иногда содержит средства для интеграции системы управления версиями (Git) и др инструменты.
Редактора кода - это в основном среда для написания кода. Если у вас маленький скрипт, то можно запустить и в ней, но если большой проект, то придется через отдельное ПО. По умолчанию редакторы кода очень простые с мин. функционал, но вам никто не мешает установить плагины, которые помогут при разработке.
Всем привет
Хотелось бы сегодня поговорить о МАСШТАБИРОВАНИИ
Думаю все знают что такое масштабирование, но в программировании их делят на 2 вида: вертикальное масштабирование и горизонтальное
Давайте разберем каждый из них отдельно на примере разработки телеграмм бота на Python + aiogram.
Допустим, вы в моменте разрабатывали телеграмм бота, все шло прекрасно, вы получали задачи, реализовывали их, пользователей все больше и больше становилось, вы еще больше задач получали и также реализовывали? делали рефакторизацию, местами даже приходилось менять архитектуру проекта, т.к. не рассчитывали в начале на такой рост проекта
Но в моменте даже asyncio Python'a не помогает, бот начинает тормозить, отвечает относительно долго по сравнению с прежними версиями
Это замечает руководитель отдела и просит увеличить мощность сервера, на котором запущен бот. Вы заходите на сайт, увеличиваем ОЗУ, добавляем еще мощности к процессору.
Это конечно же помогло, бот стал работать чуть быстрее, за счет увеличение памяти и мощности процессора, но все равно на обработку сложных данных ему требовалось много времени
То есть все что мы делали на этом этапе — это называется ВЕРТИКАЛЬНОЕ масштабированием, то есть усиление железа сервера, на котором запущен бот
Но этого оказалось на совсем достаточно, и на помощь приходит нам ГОРИЗОНТАЛЬНОЕ масштабирование. Что это значит ?
Можно просто сказать, что вместо обновления старого сервера мы добавляем еще один. Кстати, напоминает микросервисы
Сделать горизонтальное масштабирование сложнее чем вертикальное, т.к. требует изменение в коде, создание несколько объектов бота, также равномерное распределение нагрузки на сервера и использование центральной бд, то есть общей
Просто гений что еще сказать !
Всем привет ??
Сидел и думал, чем можно таким интересным заняться, а потом вспомнил что хочу поменять редактор кода, т.к. в моем любимом Sublime text я уже многое знаю, хочется потрогать что-то больше )
Вот и начал разбираться в VS code, надеюсь нервов хватит
Кстати, раз уже переходить на VS code, то по полному, а так Sublime text все равно останется в моем сердце...
Надеюсь VS code меня не огорчит
Немного про мои любимые блок схемы, которые я стараюсь часто применять на практике
При созданий сложных, многофункциональных ботов они просто незаменимы
Вообще, что такое блок схема ?
Блок-схема — это алгоритмы каких-то действий, которые описываются блоками, которые в свою очередь соединены между собою стрелками. Можно сказать что-то похожее на БД, когда таблицы связаны между собою
Они бывают весьма полезными, особенно когда мы создаем больших телеграмм ботов, которые обладают кучу кнопками, различными функциями, возможностями и тд
А вот и ссылка на хороший сайт, в котором я работаю уже давно
Всем удачного дня :)
Всем привет ?
Сегодня хотелось бы поговорить о типизаций
Во первых, что такое типизация в целом ?
Типизация — это правила, по которым язык работает с кодом и в частности с переменными.
Существуют различные типизированные виды: статический, динамический, сильный, слабый, явный и неявный.
Статически типизированные языки:Статические языки проверяют типы в программе во время компиляции, еще до запуска программы. Любая программа, в которой типы нарушают правила языка, считается некорректной.
Многие статически типизированные языки требуют обозначать тип.
Относятся: C, C++, C#, Java, Go
Динамически типизированные языки:Динамически типизированные языки не требуют указывать тип, но и не определяют его сами. Мы не знаем явно какое значение получит функция в Python (пока не передадим), может как число, так и строку.
Относятся: JavaScript, Ruby, PHP, Python
Про остальное в следующий раз :)
Наверное каждый знает что такое декоратор
И да, декоратор не только в Python бывает
Так вот, что такое декоратор я не буду говорить, так как это скучно и практически все знают, а вот что такое декоратор с перебросом аргументов это уже поинтереснее
Обычный декоратор имеет 2 слоя, это первый, который принимает саму функцию, и второй, который часто называют wrapper - принимает также часто args и *kwargs. Но args и kwargs отлавливают только те значения, которые были переданы функций к которой был применен декоратор. И чтобы нам создать декоратор с перебросом аргументов, мы должны создать еще один слой !
Выглядит это следующим образом:
def delayed(delay=1):
"""Задержка перед вызовом функции"""
def decorator(func):
@functools.wraps(func)
def wrapper(*args, **kwargs):
print(f'Спим {delay} сек.')
time.sleep(delay)
val = func(*args, **kwargs)
return val
return wrapper
return decorator
Первый онлайн-переводчик междустрочного текста из ведущих и ведомых СМИ. ѣѣ
Похвалить, поругаться, предложить новость, разместить рекламу
👇👇👇
@Otsuka_mail
Last updated 2 weeks, 1 day ago
Last updated 1 year, 4 months ago