C#razy
144 subscribers
253 photos
51 videos
2 files
389 links
Путь в IT, рост, менторство, поддержка, прокачка, мотивация

👨‍💻 Senior .NET dev с 12+ лет опыта
📚 Учусь в MIT по Computer Science
🖥 100+ дней подряд LeetCode
⚒️ Работаю на зарубеж
💻 Веду блог про рост в IT с нуля
🧭 Помогаю понять, куда двигаться
Download Telegram
Montegames и как это было

В первый день отпуска, перед самым вылетом я всё таки решил запрыгнуть в последний вагон и пойти на конфу Montegames. Вообщем за 10 часов до отправления, я нашел единомышленников и поехал на конференцию :)

Эта конфа крупное мероприятие по разработке игр, кстати она довольна известна в мире, вообщем она объединяет разработчиков игр, инвесторов и поставщиков услуг.

Старт начался с обнов движка Unity, новые фишки в дизайнере и всякие фичи IDE для разработчиков и не только. Дальше было выступление от Ubisoft они же создатели Far Cry и Assassin’s Creed.

Игровая индустрия в плане IT специфична и интересна. Только в ней можно встретить: Звукового дизайнера, Продюсера, Сценариста и Аниматора (и да это не тот самый который развлекает детей на праздниках)

Честно направление в индустрии узкое, но многих кого я знаю из IT, заходили именно для того чтобы писать и создавать игры, но что то пошло не так и.. это совсем другая история :)

💡 Channel | ✏ Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2
Круговорот ферм в природе 💸

#humor

💡 Channel | ✏ Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4
Обучение IT для детей 🙈

#humor

💡 Channel | ✏ Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4
.NET Conf 2024 или событие в мире .NET

Microsoft сегодня проведёт .NET Conf, который начнётся с 12 по 14 ноября и вероятно релиз будет именно на этой конфе (но это не точно)

Этой осенью можно будет воочию увидеть возможности .NET 9: улучшения перформанса, безопасности, новых различных фич язык и синтаксического сахара. Три дня погружения и deep dive сессиями от ведущих разрабов с демонстрациями фич и обучением. Этот ивент обещает стать насыщенным и мотивирующим для .NET разработчиков.

Лучше составить расписание для себя так как эта конфа будет 24/7 и посетить все мероприятия врят ли получится. Я для себя выбрал точно это Aspire, что нового в SDK и Runtime, OpenAI library и про тесты.

BTW: Там разыгрывается swag, нужно заполнить регистрацию

📎 Ссылки:
https://devblogs.microsoft.com/dotnet/get-ready-for-dotnet-conf-2024/
https://www.dotnetconf.net/swag

#dev
#dotnet9

💡 Channel | ✏ Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
Garbage Collector: Pinned Object Heap

Pinned Object Heap (POH) в .NET — это ещё одна куча (она уже третья по счёту) или специальный сегмент памяти, созданный для временно "закрепленных" объектов, которые нельзя перемещать во время работы GC. Обычно такие объекты нужны, когда работаем с неуправляемым кодом, криптограффическими либами, потоки, буферы сетевых пакетов или файлы, которые взаимодействуют с внешними ресурсами, marshalling, dllimport, вообщем там где нужны ссылки на блоки памяти с зафиксированным адресом.

*закреплённые значит что их адрес не должен изменяться, почему? - потому что это по сути гарантия доступа до этого обьекта, почему? - потому что в .NET при взаимодействии управляемого кода с нативными (неуправляемым) кодом нужно чтобы обьект был по тому адресу где его оставили, почему? - потому что, неуправляемый код знать не знает что есть GC и что куда то что то могут переместить. Всё дело в указателях, его везде передавать нужно чтобы работать с нативным кодом.

➡️Зачем это нужно?
"Закрепленные" объекты из-за того что не могут перемещаться создают фрагментацию. Поэтому было решено POH выделить в отдельный сегмент, чтобы не мешать Small Object Heap и сборщику мусора, сохраняя при этом возможность работать с нативным кодом.

➡️Когда используется?
Когда объект долговечен по времени и его размер невелик.

➡️Когда не используется?
1. Короткоживущие объекты
2. Крупные объекты

➡️ Почему важно знать об этом?
1. Для собеседования)
2. POH был создан для оптимизации производительности, минимизируя влияние закрепленных объектов на остальную память.

Кстати вышел .NET 9 и тут есть интересность с System.Security.Cryptography. Microsoft ребята представили PR в репозитории .NET Runtime (ссылка), где в либе отказались от использования POH в пользу другого подхода NativeMemory.Alloc.
POH оказалось не всегда идеальным выбором для всех закрепленных объектов, таких как ключи шифрования которые не долгоживучие.

📝Итого
Мнение об отказе от POH в пользу NativeMemory.Alloc - это метод который предоставляет более прямой контроль над нативной памятью. По сути, отказ от POH говорит о том что не все решения Microsoft одинаковы полезены и более того они сами иногда отказываются от них в пользу производительности.

📎 Ссылка: microsoft, github

#NoAI #GC #s01e06

💡 Channel | ✏ Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
Пятница 😘

#humor

💡 Channel | ✏ Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2😁2
Страх релокации - тогда и сейчас 🦖

#humor

💡 Channel | ✏ Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7
👀

#humor

💡 Channel | ✏ Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3
Сокращения в SaaS

➡️ SaaS [Software as a Service] - упрощённо это предоставления программ через интернет. Вместо того чтобы устанавливать ПО на свой ПК, вы просто открываете любой браузер и используете сервис онлайн как Google Docs или Office 365. Вы платите за доступ (обычно по подписке), а не за саму программу или лицензию. Интересная модель, по сути безопасность и поддержка выполняются автоматически ну и обновления и данные хранятся в облаке и доступны с любого устройства. Вообщем подписка и всё работает с любого гаджета.
➡️ SaaS считается стабильным сегментом в IT в плане работы и от сюда следует чувство защищенности для специалистов. Основные причины стабильности: облачное решение, модель подписки, сервис нужно не только в IT.

🟥Dropbox

Так вот есть популярный SaaS такой как Dropbox, я не фанат это сервиса, но он топ 4 по различным отчётам. Список топов Google Drive, One Drive, ICloud и дальше уже Dropbox со своими 18% рынка, то есть это довольной сильный игрок.

так вот Dropbox увольняет 20% штата (528 сотрудников). Причина — замедление роста и переход к инвестициям в AI. Компания старается адаптироваться к конкуренции, при этом клиентская база у них ~18 млн платный пользователей и 700млн зареганных.

🟥Miro

Miro же, вообще является одним из самых популярных инструментов для совместной работы в режиме онлайн, часто опережая своих конкурентов по количеству пользователей на рынке их доля где-то 20-25%, конкуренты далеко позади. Сам пользуюсь этим продуктом, делаю наброски на нём и посты рисую так же в нём. Схожие решение от Microsoft и Google невзлетели, а вот Miro взлетел.

так вот Miro так же сокращает 18% сотрудников (275 человек) для упрощения структуры и повышения гибкости. BTW: компания, основанная выходцами из Перми и как пишут что они сосредотачиваются на приоритетных направлениях для компании.

📎 Ссылки: Dropbox, Miro

#news

💡 Channel | ✏ Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
😱3👍2
Python + GitHub -> Backdoor/Malware

Backdoor — скрытый способ доступа к системе, обходящий авторизацию и аутентификацию и всё такое.
Malware — вредоносный код, который выполняет нежелательные действия, такие как кража данных, повреждение файлов или передача контроля над системой злоумышленнику.


12 ноября 2024 была попытка backdoor посредством невинного на первый взгляд pull request. Основная мишень для злоумышленников — популярные Python-библиотеки и фреймворки от которых зависит огромный сегмент разработки. Оно и понятно Python сейчас на коне.

Pull request с простым названием пытался изменить файл на Python, добавив в него некую последовательность чисел. Каждое из этих чисел представляло собой символ Unicode, то есть Python-код был попросту преобразован в числовой эквивалент. Дальше последовательность символов в итоге превращалась в фрагмент кода. Дальше код используется для попытки подключения к сайту для перехода атаки в следующую фазу.

Сложно? - Нет.
Доступно? - Да.. и эта фича языка Python. Шутки которые вышли из под контроля.

Самое грустное что такие PR получали аппрувы и.. дальше вы сами понимаете. Есть кейсы что такие PR побывали в master/main ветках 😮

Решение
Внедрить любые анализатора кода или ИИ-инструменты. Они помогут выявить угрозы на ранних этапах, ну или надеемся что выявят

📎 Ссылки: xakep, github

#python
#github
#backdoor

💡 Channel | ✏ Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
Типичный будний день, да.. да, типичный пятьничный будний день 🤔

#humor

💡 Channel | ✏ Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2🔥1
FIDE World Chess Championship 2024

Сегодня начинается матч за звание чемпиона мира по шахматам 2024 года!

Дин Лижэнь
- дракон из Китая, будет защищать свой титул против 👊 тигра из Индии – Гукеша Доммараджу

Оба готовы к битве, партии обещают быть зрелищными.

Пристёгиваемся ребята и наблюдаем.

я болею за Гукеша)

UPD:
Пн, 25 Ноябрь 2024
День 1: Ding 1.0 - 0.0 Gukesh - Hot
День 2: Ding 1.5 - 0.5 Gukesh
День 3: Ding 1.5 - 1.5 Gukesh - Hot
День 4: Перерыв
День 5: Ding 2.0 - 2.0 Gukesh
День 6: Ding 2.5 - 2.5 Gukesh
День 7: Ding 3.0 - 3.0 Gukesh
День 8: Перерыв
День 9: Ding 3.5 - 3.5 Gukesh
День 10: Ding 4.0 - 4.0
Gukesh
День 11: Ding 4.5 - 4.5 Gukesh
День 12: Перерыв
День 13: Ding 5.0 - 5.0 Gukesh
День 14: Ding 5.0 - 6.0
Gukesh - 😱
День 15: Ding 6.0 - 6.0 Gukesh
- Hot
День 16: Перерыв

День 17: Ding 6.5 - 6.5 Gukesh
День 18: Ding 6.5 - 7.5 Gukesh - Hot 😱

📎 Ссылка: YouTube

#chess

💡 Channel | ✏ Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Complexity vs Modularity: Finding the Balance

Complexity является частью любой системы, а Modularity помогает как бы управлять этой Complexity.
В Domain-Driven Design (DDD) выделяется два типа сложности: сложность предметной области и сложность, вызванную нашими решениями :D

Разделение системы на модули упрощает разработку, но чрезмерная фрагментация может привести к хаосу.

Как эти элементы связаны и как достичь баланса?
Я был на онлайн конфе, где Vlad Khononov затронул эту тему и на которой мне понравилось присутствовать хоть это и DDD ;D

Кстати Влад - это то кто активно работает в области Domain-Driven Design и он активно применяет и популяризирует его. Вот его книги

Я задал интересующий меня вопрос по теме. Получил развёрнутый ответ об каком домене идёт речь о бизнес домене или общем, что в разном из них могут по разному определятся границы, но Влад дал направление и подходов.

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

#ddd
#conference

💡 Channel | ✏ Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
С пятницей 🐈

#humor

💡 Channel | ✏ Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2😁2
Python Package Index крадет AWS ключи

Вредоносный пакет PyPI под названием "Fabrice" был активен на платформе более 3 лет. Его скачали более 37 000 раз. Он крадет учетные данные AWS и выполняет другие вредоносные действия.

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

Как это работает?
Выполняет вредоносные действия в зависимости от операционной системы.
Linux: Он использует специальную функциональность для загрузки, декодирования и выполнения различных shell-скриптов с внешнего сервера.
Windows: Извлекаются и выполняются две разные полезные нагрузки: по VBS-скрипт и Python-скрипты.
Далее пакет как бы крадет AWS учетные данные используя Boto3 AWS Software Development Kit (SDK) для Python, и отправляют информацию на сторонний сервер.

Эта схема оставалась незамеченной, пока команда кибербезопасности не провела детальный анализ пакетов в PyPI. Они обнаружили, что «fabrice» — лишь верхушка айсберга. Подобные вредоносные пакеты активно внедряются в экосистему Python, чтобы красть данные и компрометировать проекты разработчиков.

📝 Итого:
1. Кодишь на Python - проверяй двойнее
2. Доверяй, но проверяй и смотри пункт 1

Ссылки: xakep.ru, securitymagazine.com, thehackernews.com

#aws
#python
#сybersecurity

💡 Channel | ✏ Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1