🎂 У меня сегодня ДР, так что отдыхаю.
🎉 Даже пар сегодня нет, выходной поставили вот повезло)
☺️ Спасибо за звёздочки)
🎉 Даже пар сегодня нет, выходной поставили вот повезло)
☺️ Спасибо за звёздочки)
10🎉15❤4❤🔥3🍾1💋1
☺️ Во-первых хочу сказать Спасибо всем, кто меня поздравлял в прошлом посте, вас так много, что решил отдельным постом всем ответить)
👨💻 И распоковочка подарочков, теперь с этим ковриком мое рабочее место будет ещё более домашним)
👨💻 И распоковочка подарочков, теперь с этим ковриком мое рабочее место будет ещё более домашним)
🥰6❤4❤🔥2💋1
🎨 Наконец доделал сцену в блендере.
2️⃣ Кидаю два варианта, без тумана и с туманом.
👇 Напишите комментарии какая версия вам больше нравится.
2️⃣ Кидаю два варианта, без тумана и с туманом.
👇 Напишите комментарии какая версия вам больше нравится.
❤🔥6❤2🔥2💋1
👋 Всем добрый вечер.
😡 Слышали ТГ банят, наш любимый (нет) РКН, я никуда не денусь, контент как был здесь так и будет, никакие три буквы на меня не повлияют.
👨💻 Еще занимаюсь мини тулзой так лично для себя и собратьев по учебе.
🔗 Будет автоматически присоединяться к дистанционным парам.
🥴 Щас это запарный процесс, искать ссылку, еще можно забыть про пару (она же дистанционная).
✅ А можно просто поставить прогу нажать одну кнопку и все она сама будет включаться, сканить расписание по времени и подрубаться к лекции.
⚙️ Для автоматизации работы в браузере использую библиотеку
😡 Слышали ТГ банят, наш любимый (нет) РКН, я никуда не денусь, контент как был здесь так и будет, никакие три буквы на меня не повлияют.
👨💻 Еще занимаюсь мини тулзой так лично для себя и собратьев по учебе.
🔗 Будет автоматически присоединяться к дистанционным парам.
🥴 Щас это запарный процесс, искать ссылку, еще можно забыть про пару (она же дистанционная).
✅ А можно просто поставить прогу нажать одну кнопку и все она сама будет включаться, сканить расписание по времени и подрубаться к лекции.
⚙️ Для автоматизации работы в браузере использую библиотеку
Playwright.❤5❤🔥2🥰2🤩2💋1
💻 Ровно 80 лет назад, 14 февраля 1946 года, анонсировали ENIAC.
👨💻 Первый универсальный электронный компьютер в истории.
❤️ А ещё сегодня День святого Валентина.
✨ Специально под этот день собрал в Блендере тематическую сценку.
👨💻 Первый универсальный электронный компьютер в истории.
❤️ А ещё сегодня День святого Валентина.
✨ Специально под этот день собрал в Блендере тематическую сценку.
❤🔥7🥰4❤2🔥1👏1
This media is not supported in your browser
VIEW IN TELEGRAM
👋 Всем хай и с первым днём весны, давно не выкладывал новостей.
🔧 Во-первых, 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
🔧 Во-первых, 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
👨💻 Cmd Walker - новая анимация.
⚙️ Сегодня выдалась возможность заняться игрой, так что помимо небольшого рефакторинга я исправил некоторые моменты.
- 👾 Улучшил ИИ для врагов, больше они не стоят на одном месте тупя куда идти.
- 🎨 Изменил анимацию для отрисовки игровой карты при спавне, сделал две вариации, которые по своему раскрывают визуал карты.
😌 На этом пока что все, завтра выходной, возможно будут новости ещё.
🔥4❤1👏1💋1💘1
This media is not supported in your browser
VIEW IN TELEGRAM
☠️ Апдейт экрана смерти.
🤔 Изначально я переносил логику отрисовки сцен (Главное меню, Экран смерти), на использование Канваса, который в свою очередь является реализацией паттерна
Компоновщик.⚙️ В итоге чутка переосмыслил обе сцены, большие изменения претерпело как раз таки окно смерти, оно постепенно заполняется красными рандомными символами.
❤4👏1💋1💘1
💻 Я ещё жив и продолжаю кодить.
⚙️ На днях начал углубляться в ASP.NET и SignalR, разбираюсь с построением клиент-серверной архитектуры.
📚 Проштудировав несколько статей на Metanit, собрал простой CLI-чат:
- группы
- личные сообщения
- роли (админ / пользователь)
🩼 Пока всё работает в консоли, но уже можно регистрироваться через JWT и писать сообщения друг другу.
🤔 В целом мне понравилось работать с этим стеком. Но это не конечная точка, у меня есть идея куда крупнее.
🔐 Хочется попробовать соединить свой ~5-летний опыт программирования и 3 года обучения информационной безопасности. Мне нравится работать с вещами, где важна архитектура и безопасность.
😏 То, что я задумал будет самое крупное и сложное(если же не выйдет, то в любом случае очень хорошо прокачаюсь в скилах) , что я когда либо делал, но в этом и есть весь сок)
⚙️ На днях начал углубляться в ASP.NET и SignalR, разбираюсь с построением клиент-серверной архитектуры.
📚 Проштудировав несколько статей на Metanit, собрал простой CLI-чат:
- группы
- личные сообщения
- роли (админ / пользователь)
🩼 Пока всё работает в консоли, но уже можно регистрироваться через JWT и писать сообщения друг другу.
🤔 В целом мне понравилось работать с этим стеком. Но это не конечная точка, у меня есть идея куда крупнее.
🔐 Хочется попробовать соединить свой ~5-летний опыт программирования и 3 года обучения информационной безопасности. Мне нравится работать с вещами, где важна архитектура и безопасность.
😏 То, что я задумал будет самое крупное и сложное
🍓7❤1🔥1🙏1💘1
👀 Кому интересно глянуть на код этого чата консольного, вот ссылка на репозиторий:
🔗 https://github.com/W1xon/TerminalChat
🔗 https://github.com/W1xon/TerminalChat
❤1🥰1🕊1💋1
⚙️ Сегодня полез разбираться с
🧐Что же из себя представляют Веб сокеты?
📚
🔨 Как он работает?
🤝 Для начала происходит рукопожатие через Http запрос, если он удовлетворен, то создается канал, куда мы можем слать свои данные (бинарные/текстовые).
🧠 Что делать с этими данными и как их обрабатывать полностью наша задача, как разработчика.
👨💻 У меня получилось собрать чат 1 на 1. После запуска дается уникальный ID по которому вам и вы можете написать.
🛍 Пришлось создавать свою структуру пакетов первые 4 байта под адрес отправителя (отсюда и ID странный), вторые 4 байта адрес получателя, остальное место под само сообщение.
WebSockets, решил перейти на них, т.к. SignalR дает много ненужного оверхеда.🧐Что же из себя представляют Веб сокеты?
📚
WebSockets - протокол, который обеспечивает дуплексный канал передачи информации.🔨 Как он работает?
🤝 Для начала происходит рукопожатие через Http запрос, если он удовлетворен, то создается канал, куда мы можем слать свои данные (бинарные/текстовые).
🧠 Что делать с этими данными и как их обрабатывать полностью наша задача, как разработчика.
👨💻 У меня получилось собрать чат 1 на 1. После запуска дается уникальный ID по которому вам и вы можете написать.
🛍 Пришлось создавать свою структуру пакетов первые 4 байта под адрес отправителя (отсюда и ID странный), вторые 4 байта адрес получателя, остальное место под само сообщение.
❤5
💾 Оптимизация использования памяти
🚀 Так как в вебсокетах я гоню сырые байты, пришлось заняться лишними аллокациями.
🧐 В итоге углубился в
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
