Эпсилон
8.29K subscribers
325 photos
511 videos
39 files
667 links
▪️Компьютерная безопасность
▪️Программирование
▪️Взломы и уязвимости
▪️Хакинг
▪️Способы заработка в сети
▪️Полезные ссылки и лайфхаки
▪️Игры и GameDev
▪️Компьютерная графика

Чат и обсуждение: @hack_cpp

Связь: @physicist_i
Download Telegram
🖥 20 фрагментов кода, которые вам обязательно нужно знать в программировании на Python

👨🏻‍💻 Есть что добавить? Знаете интересные фичи? Напишите в комментариях.

💡 Интересный факт: Python имеет C- и Java-варианты.

Вариант C известен как CPython. Он дал Python достоинства C — например, производительность, комфорт и шанс компилировать программы на языке C.

Производительная Java-версия Python называется Jython. Язык позволяет импортировать классы Java в Python.

Существуют и другие реализации Пайтона: IronPython, Brython, RubyPython, PyPy, MicroPython.

👩‍💻 Задача для наших подписчиков на понимание наследования в Python: Задача: Что выведет следующий код?
class A:
def process(self):
return 'A'

class B(A):
def process(self):
return 'B'

class C(A, B):
pass

obj = C()
print(obj.process())


📜 Варианты ответов:
⚡️ — 1. А
❤️ — 2. B
👍🏻 — 3. Будет вызвано исключение TypeError
👾 — 4. С

Ответ и объяснение к задаче

🔵 Эпсилон // @epsilon_h
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍52🔥1🏆1👾1
🔍 Регулярные выражения: магия поиска в тексте

Regex — это не просто строка символов, а целый язык для поиска и обработки текста. С их помощью можно находить шаблоны: от простых (e-mail) до сложных (парсинг HTML).

💡 Интересные факты:

1. Возраст: Концепция regex родилась в 1950-х благодаря математику Стивену Клини. А в программировании их популяризовал Кен Томпсон (соавтор Unix).

2. Вездесущность: Regex встроены во многие языки (Python, JavaScript, Java), редакторы (VS Code, Sublime) и даже в командную строку (grep).

3. Сложность: С помощью regex можно проверять не только e-mail, но и, например, простые числа (шаблон для этого огромен и нечитаем!).

🐍 Код на Python (проверка e-mail):
import re

pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
email = "example@mail.com"

if re.match(pattern, email):
print("E-mail валиден!")
else:
print("Ошибка!")


⚠️ Предупреждение: Не используйте regex для сложного парсинга HTML/XML — для этого есть специальные инструменты.

Самый известный мем про regex:
/^([0-9]+)([a-z]+)([A-Z]+)([!@#\$%\^&\*\(\)]+)(.{8,})$/

Это регулярное выражение, которое требуют 90% всех форм для пароля: хотя бы одна цифра, буква в нижнем регистре, буква в верхнем, спецсимвол и длина не менее 8 символов. Его же ненавидят все пользователи. 😄

Regex — это суперсила в мире текстовой обработки!

А вы часто используете regex?

🔵 Эпсилон // @epsilon_h
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍5🔥2👨‍💻1
👨🏻‍💻 Ребят, у вас также вся умственная работа в ночь уходит?

🫡 Дай обратную связь, если вот прямо сейчас кодишь крутую программу... И расскажи в комментариях какую.

🔵 Эпсилон // @epsilon_h
👍5💯3🤓3👨‍💻1🫡1
🖥 Что лучше: 32 ГБ, 48 ГБ или 64 ГБ? И сколькими планками?

▪️32 ГБ (2x16 ГБ) — ИДЕАЛЬНЫЙ ВЫБОР ДЛЯ 99% ГЕЙМЕРОВ. Этого объема хватит для любых современных и будущих игр на ближайшие 2-3 года с огромным запасом. Все, что сверх этого, — для узких профессиональных задач.

▪️48 ГБ (2x24 ГБ) — НИШЕВОЙ И НЕСБАЛАНСИРОВАННЫЙ ВАРИАНТ. Появился с новыми модулями на чипах повышенной плотности. Может быть полезен очень специфичным пользователям, которым мало 32 ГБ, но 64 ГБ — дорого. Минус: может быть меньше совместимых профилей EXPO и выше риск проблем со стабильностью на высоких частотах. Не рекомендуется для стандартной сборки.

▪️64 ГБ (2x32 ГБ) — ДЛЯ РАБОЧИХ СТАНЦИЙ И ЭНТУЗИАСТОВ. Нужен для: монтажа видео 4K/8K, работы с 3D-графикой, виртуальными машинами, одновременного стриминга без потери качества, запуска тяжелых ИИ-моделей локально. Для игр это пустая трата денег в 2025 году.

Пост в продолжение темы: Как лучше собирать оперативную память, если вам необходим какой-то фиксированный объем RAM, например 32 Гб ?

🔵 Эпсилон // @epsilon_h
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍4❤‍🔥2👨‍💻2🔥1
💻 Когда код не компилируется: спасательный круг для разработчика

Сегодня поговорим о ситуации, знакомой каждому программисту — от новичка до гуру. Вы написали гениальный код, нажимаете «скомпилировать» и... BAM! Десятки ошибок, которые выглядят как древние руны. Паника? Ни в коем случае! Вместо этого — глубокий вдох и системный подход.

🎯 План действий, когда всё сломалось:

1. Не паникуй! Это первое и главное правило. Компилятор — не враг, а строгий, но справедливый друг, который пытается указать на твои ошибки, пока ты не запустил программу и не устроил kernel panic.

2. Читай ошибки СВЕРХУ ВНИЗ. Компиляторы часто выдают каскад ошибок: одна маленькая оплошность тянет за собой десятки других. Исправь самую первую — и пол-листа ошибок может исчезнуть сами собой.

3. Гугли текст ошибки. Да, это банально, но это работает в 99% случаев. Ты не первый, кто столкнулся с этой проблемой. Добавь в запрос название языка и ключевые элементы (например, C++ template SFINAE error).

4. Упрощай. Закомментируй подозрительные куски кода или сведи проблему к минимальному воспроизводящему примеру (Minimal Reproducible Example). Часто в процессе упрощения ты сам найдешь ошибку.

5. Проверь очевидное: закрыты ли все скобки {}()[] ? Поставлены ли точки с запятой ;? Правильно ли подключены заголовочные файлы? Не путаешь ли = и == ?

▫️ Ошибка 1: Магия точек с запятой в C++

Вот, казалось бы, безобидный код. Хотим распечатать число. Что не так?
#include <iostream>

int main() {
int x = 42;
std::cout << "Answer: " << x // <- ОЙ, забыли точку с запятой!
return 0;
}

Ожидаемая ошибка: expected ';' before 'return'. Но иногда компилятор может выдать что-то более пугающее, вроде: error: cannot convert 'int' to 'const char*' — потому что он пытается «скормить» return 0 оператору <<. Всего одна забытая ; — и компилятор начинает говорить на своем странном языке.

▫️ Ошибка 2: Коварный макрос в C

Макросы — мощный инструмент, но с ним нужно обращаться осторожно.
#include <stdio.h>

#define SQUARE(x) x * x // Наивный макрос для возведения в квадрат

int main() {
int result = SQUARE(2 + 3); // Ожидаем 25, но...
printf("%d\n", result);
return 0;
}

Почему на выходе будет 11, а не 25? Потому что препроцессор тупо подставляет текст! Код раскрывается в 2 + 3 * 2 + 3. Приоритет операторов делает свое дело: 3 * 2 = 6, 2 + 6 + 3 = 11.
Фикс: Всегда брать аргументы макроса в скобки! #define SQUARE(x) ((x) * (x))

🧠 Низкий уровень (Low-Level): Когда копаем глубже

Иногда ошибки компиляции — лишь верхушка айсберга. На низком уровне (близко к железу) начинается настоящая магия (и боль).

🔸Совместимость ABI (Application Binary Interface): Ваша программа скомпилировалась, но падает при вызове библиотеки. Возможно, вы собрали код с одним стандартом C++ (например, C++11), а библиотека была скомпилирована с другим (C++17). Их скомпилированный код по-разному организует вызовы функций.
🔸Невыполненные обещания линковщику: Объявили функцию extern "C", но забыли реализовать? Линковщик будет ругаться на неразрешенный символ (undefined reference), и это случится после компиляции.
🔸Проблемы с памятью (не компиляция, но смежная тема): Выделили память через new[], а освободили через delete (без [])? Программа скомпилируется, но ее поведение при запуске будет неопределенным (UB — Undefined Behaviour). Это может привести к трудноотлавливаемым багам.

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

А какие самые запоминающиеся ошибки компиляции встречали вы? Делитесь в комментариях! 👇 #программирование #советы #ошибки #компиляция #Cpp #C #lowlevel

🔵 Эпсилон // @epsilon_h
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥75👍3👨‍💻2👏1😁1
🔒 MAX мессенджер: ваша безопасность под вопросом? Или почему одни «секретики» равнее других.

Как же прекрасна жизнь человека, который верит, что все мессенджеры одинаково шпионят! Зачем выбирать? VK, WhatsApp, MAX... какая разница? 🤷‍♂️ Главное — удобный стикерпак! Это все равно что выбирать, кого подселить в квартире: соседа-любителя или прослушку ФСБ. Разница-то чисто техническая!

Но если вы из тех, кто все-таки решил посмотреть, куда сливаются его фото в трусах и переписки о мировой революции, вот вам несколько фактов о MAX для размышления:

1. 🇷🇺 Сервера и юрисдикция. MAX — российский мессенджер (от VK). Это автоматически означает, что он подпадает под отечественное законодательство о «пакете Яровой». Теоретически — ключи шифрования могут быть предоставлены по запросу. В отличие от, скажем, Signal (мессенджер), который строится вокруг принципа «мы физически не можем прочитать ваши сообщения».

2. 🔐 Closed Source. Исходный код MAX закрыт. Это как покупать сейф с заявленной надежностью, но вам запрещают посмотреть на его внутреннее устройство. Сообщество независимых экспертов не может его проверить на уязвимости или бэкдоры. Доверяйте, но... ну вы поняли.

3. 📞 Шифрование? Заявлено сквозное шифрование, но оно не включено по умолчанию для всех чатов. Его нужно включать вручную для каждого диалога, выбирая «засекреченный чат». Большинство пользователей об этом даже не знают. Удобно? Для кого?

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

Вывод прост: если вам действительно нужна конфиденциальность — смотрите в сторону проверенных временем решений с открытым кодом (Signal, Session, Matrix). Если же вам просто нужен удобный мессенджер без претензий на сверхбезопасность — что ж, выбор за вами. Но хотя бы отдавайте себе в этом отчет. 😉
#программирование #безопасность #уязвимости #max #ошибки #шифрование #приватность

🔵 Эпсилон // @epsilon_h
👍16💯85😁5👨‍💻2🤷‍♂1🔥1🤔1🗿1
This media is not supported in your browser
VIEW IN TELEGRAM
🤖 Человекоподобные роботы: Насколько близко мы подошли к будущему из фильмов?

Вот что происходит на передовой робототехники прямо сейчас:

Atlas от Boston Dynamics
Тот самый, что лихо делает сальто назад и бегает по парку. Это не CGI — это реальность. Его алгоритмы учатся на ошибках, а динамические движения поражают. Хотя он и создан для поисково-спасательных операций, выглядит он как прототип того, кто однажды принесет вам посылку.

🧠 Ameca от Engineered Arts
Лицо этого робота — настоящий хит. Мимика, плавные движения бровей и губ. Разработчики сделали ставку на социальное взаимодействие. Ameca не побежит марафон, но может поддержать беседу и удивительно естественно выражать эмоции. И да, это немного жутковато (спасибо, Uncanny Valley!).

🏭 Tesla Optimus
Илон Маск верит, что однажды Optimus будет готовить нам завтрак и работать на заводах. Пока он ходит чуть медленнее нас с вами, но команда Tesla совершенствует его ежедневно. Главный козырь — массовость и интеграция с ИИ от Tesla.

💡 Почему это важно?
Человекоподобные роботы — это не просто «круто выглядит». Это мост между людьми и машинами. Они могут работать в нашей среде (лестницы, двери, инструменты) без перестройки мира под себя.

А как вы думаете?
👉 Наши помощники и коллеги в будущем?
👽 Или первый шаг к тому, о чем предупреждали в «Матрице»?

#роботы #технологии #будущее #ии #innovation #science #AI

🔵 Эпсилон // @epsilon_h
Please open Telegram to view this post
VIEW IN TELEGRAM
😱8👍7🔥3🤔21🤨1😨1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Восстановление порванного шлейфа

Знакомая ситуация: планшет подает признаки жизни, но экран остается черным, не работает тачскрин, или отвалилась камера. Частая причина — повреждение шлейфа. Это такой «мостик», который соединяет экран, кнопки и другие модули с материнской платой. Прежде чем нести устройство в сервис или покупать новое, давайте разберемся, что можно сделать.

⚠️ Важное предупреждение: Ремонт шлейфа — ювелирная работа. Без опыта и специальных инструментов легко добить устройство окончательно. Этот пост — руководство к пониманию процесса, а не призыв к действию без должных навыков.

1. Диагностика — это половина дела
Сначала убедитесь, что проблема именно в шлейфе. Иногда он мог просто отойти от разъема. Аккуратно разберите корпус (предварительно найдя видеоразбор на YouTube именно вашей модели!), отсоедините и заново подключите шлейф. Часто это помогает.

2. Если шлейф действительно порван или перегнут
Здесь есть несколько путей:

🗣 Правильный путь (рекомендуем!): Замена шлейфа на новый.
Найдите в интернете (на Алиэкспрессе, в специализированных магазинах запчастей) номер запчасти для вашей модели планшета. Цена обычно невысока. Купите и доверьте установку профессионалу. Это самый надежный и долговечный вариант.

🧰 Путь Кулибина (временное решение): Попытка восстановления.
Если шлейф порван не у основания, а дорожки видны, теоретически можно попробовать его «соскрести» и пропаять тонким проводком. НО: это требует микроскопа, тонкого паяльника и твердой руки. Риск спалить что-то еще — огромный. Подходит только как временная мера в безвыходной ситуации.

✏️ Народный «лайфхак» (на свой страх и риск!): Графит.
Если повреждение небольшое и на контактных дорожках, некоторые мастера аккуратно восстанавливают проводимость с помощью токопроводящего клея или даже... мягкого карандаша (графит проводит ток). Метод крайне ненадежный, может помочь лишь на несколько дней для спасения данных.

🔥 Итог: Не пытайтесь склеить шлейф скотчем или суперклеем — это бесполезно и может навредить. Лучшее, что вы можете сделать самостоятельно, — это переподключить шлейф. Все остальное — либо покупка новой детали, либо визит в хороший сервисный центр. #ремонтгаджетов #планшет #шлейф #DIY #советы #техника #ремонт

🔵 Эпсилон // @epsilon_h
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥3😱3👍21❤‍🔥1
🔒 История о том, как один сотрудник чуть не уронил компанию из-за «бесплатного вайфая» 😱

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

Вот вам реальная (и немного уморительная) история из жизни IT-специалиста одной небольшой фирмы.

Произошло это в аэропорту. Сотрудник (назовем его Алексей) ждал рейса и решил срочно отправить рабочий файл. Он увидел сеть «Free_Airport_WiFi». Идеально! ✔️

Рядом сидел «добрый самаритянин» с ноутбуком. Он заметил метания Алексея и любезно подсказал:
— Подключайтесь к «Free_Airport_WiFi_Fast», эта сеть быстрее! Я уже сижу в ней.

Алексей, недолго думая, подключился к этой сети, ввел пароль от корпоративной почты и отправил файл. Довольный собой, он полетел в отпуск. ✈️

А «добрый самаритянин» тем временем quietly собрал его логин и пароль, отключил на своем ноуте раздачу WiFi с таким названием и растворился в толпе.

Он создал фейковую точку доступа (это дело 5 минут) и просто ждал, пока кто-то «клюнет». 🎣

Чем все закончилось? К счастью, в этой компании была включена двухфакторная аутентификация (2FA). Когда злоумышленник попытался зайти с нового устройства, на телефон директора пришел запрос на вход. Поднялась тревога, аккаунт успели заблокировать, а Алексею устроили внеплановый «курс молодого бойца» по кибербезопасности. 😅

Мораль этой истории: 💡 Хакерам не всегда нужны суперсложные вирусы. Иногда достаточно просто быть немножко «милым и helpful» в нужном месте.

Ваш совет на сегодня: Никогда и ни при каких обстоятельствах не подключайтесь к открытым и подозрительным WiFi сетям, особенно в публичных местах. Если очень нужно — используйте VPN! Это ваш цифровой бронежилет. 🛡

Берегите свои данные! И помните, бесплатный сыр бывает только в мышеловке.

🔵 Эпсилон // @epsilon_h
👍12😁52🔥1🤯1
🎮 Как выглядят видеоигры, которые вышли более десятилетия назад, требуя лишь ничтожную частицу мощностей, которые имеют современные консоли и ПК

Помните те времена, когда видеокарта за 100 долларов могла запускать шедевры, которые и сегодня выглядят достойно? Crysis, The Witcher 2, BioShock, Half-Life 2 — эти игры до сих пор служат эталоном оптимизации. 🧙‍♂️

Сегодня, когда системные требования новых проектов сравнимы с запросами космического корабля, возникает вопрос: как они это делали?

Вот несколько секретов той магии:

1. Волшебство в текстурах и 3D-моделях 🎨
Разработчики не могли просто накрутить полигонов. Они были художниками-ювелирами. Каждый полигон, каждый пиксель текстуры использовался с умом.

▪️ Нормал-маппинг: Эта технология стала спасением. Она позволяла накладывать на простую низкополигональную модель сложнейший рельеф, создавая иллюзию детализации. Стена выглядела как грубый камень, но на самом деле оставалась плоской. Это гениально!

▪️ Ручная работа: Текстуры рисовались вручную, с душой и вниманием к свету. Не было просто заскриненного фото с камеры, как часто бывает сейчас.

2. Гениальные игровые движки ⚙️
Движки писались «под игру», а не были универсальными монстрами вроде Unreal Engine 5 или Unity. Они решали конкретные задачи максимально эффективно.

▪️ID Tech 3 (Quake 3 Arena): Эталон сетевого экшена. Он летал на чем угодно.

▪️Source (Half-Life 2): Передовая физика, продвинутый AI и потрясающее повествование — и все это работало на среднестатистической машине 2004 года.

3. Секретное оружие — baked lighting 💡
Динамическое освещение и тени в реальном времени — это дорого для железа. Поэтому свет и тени «запекали» (baked lighting) прямо в карту уровня и в текстуры. Это создавало невероятно атмосферную, статичную, но безумно качественную картинку, которая не грузила процессор.

4. Фокус на стиль, а не на фотореализм 🖼
В погоне за фотореализмом можно потерять душу. Тогда же разработчики часто выбирали яркий, уникальный арт-стиль (Borderlands, BioShock, Mirror's Edge), который не устаревает морально и менее требователен к ресурсам.

Что мы имеем сегодня?
Мощь современных ПК и консолей позволяет разработчикам меньше париться об оптимизации. Проще добавить больше полигонов, использовать готовые решения движков, чем вручную вылизывать каждый квадратный сантиметр игры. Это дает невероятную свободу, но часто ценой гигантских требований к железу.

Вывод: Раньше гениальность инженеров и художников побеждала ограничения «железа». Сегодня технологии часто побеждают... кошельки геймеров. 😄

А какие игры того времени вы считаете эталоном оптимизации и красоты? Напишите в комментариях! 👇
#игры #графика #оптимизация #ностальгия #гейминг #игроваяиндустрия #железо #историяигр #gamedev

🔵 Эпсилон // @epsilon_h
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍105🔥2😍1