TGViewer
Channel Public Channel
Кодерские работы 👾

Кодерские работы 👾

@coderw0rker

Теперь я тут обитаю и немного программирую.
Subscribers
104
Photos
165
Videos
16
Links
37

Showing posts older than #181 · Back to latest

Older Posts 13 shown
Post #180 92
☠️ DDOS на клиента


👨‍💻 Как вы знаете я тут недавно написал 1 to 1 чат и чёт пришло в голову протестировать сервак и ноут.

🔝 Написал нагрузочный клиент, который создаёт N-ое кол-во клиентов и все они пишут на один адрес, такая армия спамеров, которые пишут раз в 1-3 секунды.

🔟 При 10_000 одновременных юзеров мой ноут вполне справлялся, задержки в районе 2ms на доставку сообщения, которых было 5_000 в секунду, примерно за 15 минут набралось 4млн сообщений.

😅 Тогда я решил поднять число до 100_000, но тут мой ноут не выдержал и намертво завис. Но это скорее проблема клиентов, а не сервера, обычно 1 устройство = 1 юзер.
  • ❤ 4
  • 💘 4
  • ❤‍🔥 2
  • 💋 1
Post #179 125
🧐 Познаю прелести NotebookLM.


📊 Инфографику выше я получил добавив в блокнот NotebookLM файл с кодовой базой CmdWalker и ссылками на ТГК и Гитхаб, после чего попросил ИИ создать инфографику.

🤏 И это только малая часть того, на что способен данный инструмент.

❓А вы используете NotebookLM?
  • 👍 2
  • ❤ 1
  • 💋 1
  • 💘 1
Post #174 165
💾 Оптимизация использования памяти


🚀 Так как в вебсокетах я гоню сырые байты, пришлось заняться лишними аллокациями.

🧐 В итоге углубился в Span, ArrayPool и stackalloc.

📊 Результаты BenchmarkDotNet:
📉 Стандартно: ~200 KB/операция (до 40 ГБ суммарно) + GC (вплоть до Gen2).
✅ Оптимизировано: 0 аллокаций.
⚡️ Скорость: рост в 13–18 раз.

📌 Подходы, которые я попробовал:
1️⃣ Allocating Method (Standard)
🛠 Использование Split() и т.д. создает избыточные массивы и строки. На больших объемах это кучи мусора, вызывающие тормоза, т.к. идет нагрузка на GC.

2️⃣ Оптимизированный подход
🔹 ReadOnlySpan
👁 Работаешь как с «окном» в исходный массив buffer.
🚫 Ничего не копируешь просто двигаешься по уже существующим данным.

🔹 ArrayPool
🔄 Позволяет брать массивы из пула и потом возвращать обратно. Тут важно не забывать Return, иначе можно словить неприятные баги.

🔹 stackalloc позволяет выделять память прямо на стеке:
- очищается после выхода из метода
- подходит только для небольших данных
  • 🔥 7
Post #173 104
⚙️ Сегодня полез разбираться с WebSockets, решил перейти на них, т.к. SignalR дает много ненужного оверхеда.

🧐Что же из себя представляют Веб сокеты?
📚 WebSockets - протокол, который обеспечивает дуплексный канал передачи информации.

🔨 Как он работает?
🤝 Для начала происходит рукопожатие через Http запрос, если он удовлетворен, то создается канал, куда мы можем слать свои данные (бинарные/текстовые).
🧠 Что делать с этими данными и как их обрабатывать полностью наша задача, как разработчика.

👨‍💻 У меня получилось собрать чат 1 на 1. После запуска дается уникальный ID по которому вам и вы можете написать.

🛍 Пришлось создавать свою структуру пакетов первые 4 байта под адрес отправителя (отсюда и ID странный), вторые 4 байта адрес получателя, остальное место под само сообщение.
  • ❤ 5
Post #172 119
👀 Кому интересно глянуть на код этого чата консольного, вот ссылка на репозиторий:
🔗 https://github.com/W1xon/TerminalChat
  • ❤ 1
  • 🥰 1
  • 🕊 1
  • 💋 1
Post #170 122
💻 Я ещё жив и продолжаю кодить.

⚙️ На днях начал углубляться в ASP.NET и SignalR, разбираюсь с построением клиент-серверной архитектуры.

📚 Проштудировав несколько статей на Metanit, собрал простой CLI-чат:
- группы
- личные сообщения
- роли (админ / пользователь)

🩼 Пока всё работает в консоли, но уже можно регистрироваться через JWT и писать сообщения друг другу.

🤔 В целом мне понравилось работать с этим стеком. Но это не конечная точка, у меня есть идея куда крупнее.

🔐 Хочется попробовать соединить свой ~5-летний опыт программирования и 3 года обучения информационной безопасности. Мне нравится работать с вещами, где важна архитектура и безопасность.

😏 То, что я задумал будет самое крупное и сложное (если же не выйдет, то в любом случае очень хорошо прокачаюсь в скилах), что я когда либо делал, но в этом и есть весь сок)
  • 🍓 7
  • ❤ 1
  • 🔥 1
  • 🙏 1
  • 💘 1
Post #169 146
☠️ Апдейт экрана смерти.


🤔 Изначально я переносил логику отрисовки сцен (Главное меню, Экран смерти), на использование Канваса, который в свою очередь является реализацией паттерна Компоновщик.

⚙️ В итоге чутка переосмыслил обе сцены, большие изменения претерпело как раз таки окно смерти, оно постепенно заполняется красными рандомными символами.
  • ❤ 4
  • 👏 1
  • 💋 1
  • 💘 1
Post #167 118
👨‍💻 Cmd Walker - новая анимация.


⚙️ Сегодня выдалась возможность заняться игрой, так что помимо небольшого рефакторинга я исправил некоторые моменты.

- 👾 Улучшил ИИ для врагов, больше они не стоят на одном месте тупя куда идти.
- 🎨 Изменил анимацию для отрисовки игровой карты при спавне, сделал две вариации, которые по своему раскрывают визуал карты.

😌 На этом пока что все, завтра выходной, возможно будут новости ещё.
  • 🔥 4
  • ❤ 1
  • 👏 1
  • 💋 1
  • 💘 1
Post #164 131
👋 Всем хай и с первым днём весны, давно не выкладывал новостей.
🔧 Во-первых, AutoLinker (писал о нём выше) доработал и зарелизил.

🚀 А главное - вышла новая версия ImageToASCII v2.1.0.

🆕 Добавлены новые фичи:
🎞 Конвертация видео вместе с сохранением исходного звука.
🐧 Кроссплатформенность - обладатели Linux можете использовать.
⚡️ Повышена производительность примерно на 40–50%.
🐛 Исправлен баг прошлой версии, когда FFMpeg не мог нормально установиться.

📦 Релиз:
🔗 https://github.com/W1xon/ImageToASCII/releases/tag/v2.1.0

💻 GitHub:
🔗 https://github.com/W1xon/ImageToASCII
  • ❤ 2
  • 👍 2
  • 💋 1
  • 💘 1
Post #163 191
💻 Ровно 80 лет назад, 14 февраля 1946 года, анонсировали ENIAC.

👨‍💻 Первый универсальный электронный компьютер в истории.

❤️ А ещё сегодня День святого Валентина.

✨ Специально под этот день собрал в Блендере тематическую сценку.
  • ❤‍🔥 7
  • 🥰 4
  • ❤ 2
  • 🔥 1
  • 👏 1
Post #162 152
👋 Всем добрый вечер.
😡 Слышали ТГ банят, наш любимый (нет) РКН, я никуда не денусь, контент как был здесь так и будет, никакие три буквы на меня не повлияют.

👨‍💻 Еще занимаюсь мини тулзой так лично для себя и собратьев по учебе.
🔗 Будет автоматически присоединяться к дистанционным парам.
🥴 Щас это запарный процесс, искать ссылку, еще можно забыть про пару (она же дистанционная).
✅ А можно просто поставить прогу нажать одну кнопку и все она сама будет включаться, сканить расписание по времени и подрубаться к лекции.

⚙️ Для автоматизации работы в браузере использую библиотеку Playwright.
  • ❤ 5
  • ❤‍🔥 2
  • 🥰 2
  • 🤩 2
  • 💋 1
Post #160 173
🎨 Наконец доделал сцену в блендере.
2️⃣ Кидаю два варианта, без тумана и с туманом.

👇 Напишите комментарии какая версия вам больше нравится.
  • ❤‍🔥 6
  • ❤ 2
  • 🔥 2
  • 💋 1
Post #159
Channel photo updated
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →