LoFiCoder 👨🏼‍💻💎 – Telegram
LoFiCoder 👨🏼‍💻💎
1.69K subscribers
187 photos
24 videos
11 files
45 links
Антибиохакер 🦾


Надеюсь, Вам здесь понравится, обнимаю❤️

https://news.1rj.ru/str/+qi3--HrUQKE1MTgy
Download Telegram
Коллеги, добрый пятничный вечер🥰

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

Почему это важно?

🥺Память на вес золота: при сотнях тысяч или миллионах объектов отказ от стандартного словаря атрибутов __dict__ может сэкономить гигабайты RAM.

🥺Молния Маккуин (скорость): доступ к полю через слот происходит напрямую, без словарного поиска — это ощутимо быстрее при пиковых нагрузках.

🥺Чистота и надёжность кода (кота): все допустимые атрибуты явно заданы в классе, и попытка создать что-то вне списка слотов выдаст AttributeError, помогая ловить опечатки.

Внедряем
🐱

class UserEvent:
slots = ('user_id', 'timestamp', 'event_type')

def init(self, user_id, timestamp, event_type):
self.user_id = user_id
self.timestamp = timestamp
self.event_type = event_type


😬 Запускаем профилирование (например, memory_profiler или tracemalloc) в наиболее тяжёлых сценариях.

😰 Выбираем горяченькие классы (самые частые, кушающие память)

🤪 Добавляем __slots__ (только нужные поля без лишних атрибутов).


😴 Запускаем юнит-тесты и нагрузочное тестирование, надеемся, что функционал не сломался.

Что в итоге? — Если ваши объекты часто создаются в больших количествах и имеют фиксированный набор атрибутов, стоит рассмотреть оптимизацию их структуры для уменьшения потребления памяти и ускорения доступа к данным — благо мы знаем, что делать. Однако, если объекты требуют динамического добавления новых атрибутов или имеют сложную иерархию наследования, такие оптимизации усложнят код и приведут к дополнительной запаре. Если экземпляров немного, то выигрыш по памяти будет незаметен, а значит усложнять код в этом случае не стоит.

Пробуйте его на своих хот спотах
👍.
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3🥰2👾1
Для вечерних кодеров 👍

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

Стараюсь для Вас. Хорошего вечера 🥰
Please open Telegram to view this post
VIEW IN TELEGRAM
6❤‍🔥5🤝3🔥1
Всем привет 👍

До конца конкурса остались сутки. Чтобы учесть интересы большинства и напоследок подогреть интерес к конкурсу, показываю программу, которую делал для материаловедов и инженеров.

В ней можно задавать параметры сплава, анализировать фазы при изменении температуры, визуализировать микроструктуру и анимировать результаты.

Что под капотом? 🙂

GUI: tkinter, tkinter.ttk, PIL.

Численные расчёты: numpy для работы с массивами, расчётов опорных фаз.

Построение графиков: matplotlib.

Завтра подведу итоги конкурсной недели и свяжусь с победителями 😘
Please open Telegram to view this post
VIEW IN TELEGRAM
👍87
Итоги конкурса 🥰

🤗 Приняло участие 10 человек

🤗 Двое победителей (ссылки прикрепляю). Свяжусь с ними сегодня 😇

🤗 С остальными участниками (даже с теми, у кого 0 приглашенных) провзаимодействовали. Помог, чем смог ❤️❤️.

Спасибо, что Вас становится все больше ❤️

PS: В голове уже есть несколько идей, какие еще интерактивные активности тут можно провести, не пропустите 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍3
🔥10🥰1
Как самая слабая сила из всех стала архитектором вселенной? 😊

Конечно, если мы поставили перед собой задачу закодировать наш мир, то начать стоит с гравитации 🤗

🐘Среди фундаментальных взаимодействий гравитация — самая слабая: она примерно в 10³⁶ раз слабее электромагнитного взаимодействия между двумя протонами. Задумайтесь🥳, мы буквально каждый момент времени преодолеваем силу гигантской планеты и даже не замечаем этого. Тем не менее, именно гравитация определяет структуру космоса: формирует планеты, звёзды, галактики и их скопления.

Поддается ли она кодировке?


🙂В классической механике гравитация описывается законом Ньютона:

𝐹 = 𝐺 · (𝑚₁𝑚₂)/𝑟²,

где 𝐺 — гравитационная постоянная, 𝑚₁ и 𝑚₂ — массы взаимодействующих тел, а 𝑟 — расстояние между ними.


😑Однако в 1915 году Альберт Эйнштейн предложил новую интерпретацию.

В общей теории относительности гравитация не является силой в привычном смысле, а представляет собой искривление четырёхмерного пространства-времени, вызванное присутствием массы и энергии (я постарался это изобразить в 3D-визуализации ниже). Массивные объекты "прогибают" ткань пространства-времени, и другие тела движутся по этим искривлённым траекториям, называемым геодезическими.

😊 Эта концепция была подтверждена наблюдениями: например, прецессия перигелия Меркурия — постепенное смещение точки наибольшего сближения планеты с Солнцем — не могла быть полностью объяснена ньютоновской механикой. Общая теория относительности точно предсказала дополнительное смещение в 43 угловых секунды за столетие, что совпало с наблюдениями.

❤️ Для визуализации гравитационного взаимодействия двух тел можно использовать следующий код на Python:


import numpy as np
import matplotlib.pyplot as plt

G = 1.0

m1 = 5.0
m2 = 3.0

r1 = np.array([-1.0, 0.0], dtype=float)
r2 = np.array([1.0, 0.0], dtype=float)
v1 = np.array([0.0, 0.5], dtype=float)
v2 = np.array([0.0, -0.5], dtype=float)

dt = 0.01
num_steps = 10000

r1_list = [r1.copy()]
r2_list = [r2.copy()]

for _ in range(num_steps):
diff = r2 - r1
dist = np.linalg.norm(diff)
if dist == 0:
break
force = G * m1 * m2 * diff / dist**3

v1 += force / m1 * dt
v2 -= force / m2 * dt

r1 += v1 * dt
r2 += v2 * dt

r1_list.append(r1.copy())
r2_list.append(r2.copy())

r1_array = np.array(r1_list)
r2_array = np.array(r2_list)

plt.figure(figsize=(8, 8))
plt.plot(r1_array[:, 0], r1_array[:, 1], 'r-', label='Тело 1 (m=5)')
plt.plot(r2_array[:, 0], r2_array[:, 1], 'b-', label='Тело 2 (m=3)')
plt.scatter(r1_array[0, 0], r1_array[0, 1], color='red', s=50, label='Начало (тело 1)')
plt.scatter(r2_array[0, 0], r2_array[0, 1], color='blue', s=50, label='Начало (тело 2)')
plt.noscript('Гравитационное взаимодействие двух тел')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.grid(True)
plt.axis('equal')
plt.show()


Этот код моделирует движение двух тел под действием взаимного гравитационного притяжения, используя метод Эйлера для численного интегрирования уравнений движения. Результатом является визуализация траекторий обоих тел, демонстрирующая их орбитальное движение похожее на танец
💃.

Гравитация успешно закотирована.
🐾

PS: Получилось круто. Мне нравится эта тематика, и судя по реакциям и репостам на предыдущем посте этой рубрики, Вам тоже (
#код_вселенной). Поэтому у меня зародилась такая мысль… Сделать на 1000 подписчиков Яндекс диск и выгрузить туда все программы. Вы сможете сами поуправлять всеми процессами. Побыть творцами своей симуляции 🤪🍄.

👩‍❤️‍👨Если нравятся идея, подписывайтесь👩‍❤️‍👨
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
27👍16🥰5❤‍🔥32🔥1💊1👾1
ChatGPT, почему так плохо? 🥺

Почему ИИ не умеет шутить? - нейробиология юмора против алгоритмов😊

Каждый, кто пытался заставить ChatGPT рассказать действительно смешной анекдот, сталкивался с одной проблемой: результат получается механистичным и лишенным той искры, которая отличает настоящее творчество от имитации
🫤.

😇Нейробиология смеха: симфония мозговых структур

💃Когда мы слышим: «Доктор, у меня проблемы с памятью. — Когда это началось? — Что началось?», в нашем мозге происходит настоящий фейерверк активности. Префронтальная кора анализирует информацию и выявляет неожиданные повороты. Височные доли обрабатывают языковые нюансы и игру слов. Лимбическая система добавляет эмоциональную окраску и связывает шутку с личным опытом. Правое полушарие отвечает за понимание контекста и скрытых смыслов.

💃Классическая теория юмора описывает его как разрешение несоответствия: сначала мы сталкиваемся с чем-то неожиданным, а затем находим скрытую логику. Этот процесс сопровождается выбросом дофамина, что делает юмор буквально приятным. Но для срабатывания шутки несоответствие должно быть не слишком очевидным (иначе скучно) и не слишком сложным (иначе непонятно).

Почему ИИ, весь из себя такой крутой, а спотыкается на простом


Чтобы понять проблему ИИ с юмором, представьте робота, которого учат танцевать
💃💃💃, показывая только фотографии танцоров. Он запомнит тысячи поз, но не поймет движения. Так работают языковые модели с юмором.

💃Проблема «узкого» понимания. ИИ играет в гигантскую игру «угадай следующее слово», анализируя миллиарды текстов. Но юмор требует композиционного понимания — умения комбинировать знакомые концепты неожиданным образом. ИИ может статистически «знать», что определенные сочетания встречаются в шутках, но не понимает логику связи.

💃Отсутствие модели мира. У людей есть интуитивное понимание реальности: что нормально, а что абсурдно, как ведут себя люди, какие у них страхи. ИИ получает знания только через тексты — он никогда не стоял в очереди в поликлинике и не понимает, что делает ситуацию смешной для живого человека.

💃Проблема планирования шутки. Хорошая шутка строится как детектив: контекст, интрига, неожиданный поворот. ИИ же генерирует текст последовательно, слово за словом, не имея плана развития. Это как рассказывать анекдот, придумывая каждое предложение на ходу.

Заключение
🐰
Неспособность современных ИИ создавать по-настоящему смешные шутки — это не недостаток конкретной технологии, а отражение фундаментального разрыва между статистическим моделированием языка и комплексными когнитивными процессами человеческого юмора.


Поэтому у меня для Вас плохие новости…

Шутки в нашей симуляции (#код_вселенной) закодировать не получится 🙂
Please open Telegram to view this post
VIEW IN TELEGRAM
👍144🔥4😁2🤔1
#Изучаем 👀

Традиционный субботний вечерний пост с уроками. Как и обещал, ловите два файла.

Спасибо, что проявляете интерес к каналу. Ценю каждого 😘

Хороших выходных! ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
17👍4🔥31❤‍🔥1
Стресс — твой союзник, а не враг 😉

Я знаю, что на меня подписаны молодые ребята, которым скоро впервые предстоит столкнуться с ЕГЭ, сессией или собеседованием. Этот пост направлен на их поддержку.

Зачем вообще нужен стресс? 😛

Стресс — это не просто Ваш каприз, это сложный биохимический процесс. Кортизол и адреналин включают режим «бей или беги», который некогда защищал нас от диких зверей. Сегодня же он блокирует связь между Вашей префронтальной корой (мышление, память) и лимбической системой (эмоции). Именно поэтому мы часто делаем ошибки на экзаменах, которые не делали пока к ним готовились.

Ставьте ♥️, если знакомо, когда правильный ответ всплывал в голове уже по дороге домой после важного экзамена или контрольной. Мог ли он прийти в голову раньше?

Как побороть это неприятное волнение и заставить его играть в твою пользу

Подружитесь с адреналином 🐾
Понимание биохимии — уже половина успеха. Адреналин звонит в набат, но при правильном подходе Вы сможете направить его энергию на концентрацию и скорость мышления.

Практика «стресс-тренировок»
🐾
Рутинная практика снижает страх новизны. Устройте домашние «экзамены» с таймером, попросите друзей провести фейковое собеседование, представляйте ситуацию снова и снова, пока она не перестанет пугать.

Мощная дыхательная пауза
🐾
Глубокое медленное дыхание (вдох 4 сек, выдох 6 сек) активирует парасимпатическую нервную систему — ту самую, которая отвечает за расслабление. По сути — Вы хакните свою физиологию через дыхание. Попробуйте прямо сейчас. Почувствуете эффект сразу.

Примите своё волнение
🐾
Попробуйте мысленно сказать себе: «Да, я волнуюсь — и это нормально». Признание проблемы автоматически уменьшает её власть над тобой.

Переформатируйте страх в любопытство
🐾
Тревога и возбуждение — это почти одно и то же по биохимии. Просто другой контекст. Вместо «я боюсь» попробуй сказать себе: «мне любопытно, что будет». Это не магия — это переформатировка нейросети восприятия.

План «Б» всегда под рукой
🐾
Будь готов к провалам: упал интернет, вопрос непонятный, собеседник странный. Если ты заранее дал себе право «не быть идеальным» — стресс не обрушит тебя, как ошибка в коде.

Запомни: ты — не твоя оценка
🐾
Вот самая важная часть. Мы путаем результат с самооценкой. Но экзамен оценивает знание, а не твою ценность. Собеседование — твою релевантность, а не личность.


Пусть стресс станет Вашим инструментом для достижения цели, а не препятствием ❤️

Я всем желаю удачи, легких кимов, билетов, адекватных эйчаров. Всем тепла 😘
Please open Telegram to view this post
VIEW IN TELEGRAM
27👍9👏3🔥1
Нас уже больше 400 🥰💃

Канал уверенно растет. Мне очень приятно, что мой контент Вас заинтересовал.

😬Сегодня мне пришла в голову такая мысль:

💭 На 500 подписчиков устроить, какой-нибудь совместный движ. А именно движ для людей, у которых есть небольшие тг каналы.

💭 Я вижу, что на меня подписываются люди, ведущие свои каналы. Есть даже несколько человек с реально большими каналами (это круто 🤗).

💭 Дак вот, мне хочется устроить какую-нибудь активность именно с авторами каналов.

🐾Дело в том, что мне не нравится, что в телеграмме, если у тебя мало подписчиков, то с тобой даже не разговаривают. Все сразу просят деньги. Только 1 канал, с аудиторией прилично больше моей проявил доброжелательность к потенциальному коллабу. Я решил, что попробую перевернуть как-то эту игру. Но пока не знаю как.
Хочу чтобы после такой затеи все были в ситуации «win-win». Время, конечно, еще есть, я что-нибудь придумаю.

Если у Вас есть идеи, буду рад о них узнать (https://news.1rj.ru/str/LoFiCoder_admin) 👍

PS: Если Вы хотели завести канал и не заводили, то, возможно, это Ваш шанс 😶🐱
Please open Telegram to view this post
VIEW IN TELEGRAM
16👏6👍4🔥2🦄1
Меня чуть не засосало…
🔥8