Decembrist IT News
2.77K subscribers
1.32K photos
167 videos
10 files
1.31K links
ТЕХНОЛОГИИ, ИНТРИГИ, РАССЛЕДОВАНИЯ

МНЕ НЕ НУЖНЫ ОБЛОЖКИ

По личным вопросам пишите админу паблика: https://t.me/decembristrevolt

Осторожно: Чат очень токсичный
Download Telegram
Что может быть лучше языка, в котором можно вертеть типы данных? Только дополнительно Chat GTP, который быстро скажет как это сделать.

В данном случае на языке typescript создается тип RequiredResult на основе типа Result, с той разницей, что поле result в новом типе - не может быть undefined, то есть всегда должно быть определено.

P.S. Сам бы такое не написал никогда

Объяснение для душнил

type RequiredResult<T, E = any> = {
[P in keyof Result<T, E>]-?: P extends 'result' ? T : Result<T, E>[P]
};


Этот тип использует несколько ключевых концепций TypeScript: маппинг типов, условные типы и модификатор доступа -?.

[P in keyof Result<T, E>]


Здесь мы создаём новый тип, перебирая все ключи (keyof) исходного интерфейса Result<T, E>. Для каждого ключа (P) в исходном типе создаётся новое поле в нашем типе RequiredResult.

-?:


Модификатор -? используется для удаления опциональности с полей типа. Это значит, что если в исходном типе поле было опциональным (например, result?: T;), то в нашем новом типе это поле станет обязательным (то есть, без знака вопроса ?).

P extends 'result' ? T : Result<T, E>[P]


Эта часть проверяет, является ли текущий ключ P строкой 'result'. Если да (P extends 'result'), то тип этого поля будет T, и поле будет обязательным из-за предыдущего шага (удаления ?). Если нет, то тип поля будет таким же, как и в исходном типе Result<T, E>[P]. Это позволяет нам сделать поле result обязательным, не изменяя опциональность остальных полей.
Предъявил Антону Назарову на стриме за антисоциальные черты. (ссылка с таймкодом)

Антон любезно и бесплатно, прошел тест на Темную триаду и как видите, я оказался как минимум ближе к правде, чем к неправде. Хотя сами понимаете точность тестов из интернета...

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

Это просто в очередной раз доказывает, что делать выводы о том кто хороший, а кто плохой бессмысленно в вакууме, каждый из нас нормис/аутист/триадник/<ваша дезиз> может приносить как вред так и пользу в зависимости от условий в которых окажется. Антон, не будучи тем кем он является, не смог бы занять свое место. Ну а нам всем я рекомендую относиться критично к чужому опыту.

P.S. У меня 3-8% в светлую.
Visual Studio Code обновился

- Применение пользовательских ярлыков редактора – Выделение редакторов с одинаковыми именами файлов.
- Заблокированная прокрутка – Сравнение редакторов рядом с синхронизированной прокруткой.
- Улучшения обновления расширений – Перезапуск расширений без перезагрузки и обновление расширений вместе с выпусками VS Code.
- API покрытия тестами – Поддержка нативного покрытия кода в VS Code.
- Маркеры сворачивания в миникарте – Легкое определение и навигация к секциям кода из миникарты.
- Улучшения быстрого поиска – Липкие разделители пути файла и кнопки разделителей.
- Запуск ячеек в секции блокнота – Быстрый запуск всех ячеек в секции блокнота.
- Улучшения Copilot – Улучшенный встроенный интерфейс чата, сообщения коммитов и использованные ссылки.
- Улучшения автоматического обнаружения Python – Обнаружение стартовых файлов для Flask & Django, обнаружение сред Hatch.
- Предварительный просмотр: Встроенный чат терминала – Начало беседы с Copilot непосредственно из терминала.


Демо фич
Полюбишь ли ты писать КОД? | Тест | При чем тут аутизм?

Используя последние (и первые) научные веяния определяем присутствует ли у тебя потенциальный талант по написанию кода.

Новое видео для спонсоров boosty и patreon
Через час будем смотреть Романа Сакутина 😎
👇🏽
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻 Первый стрим 👨‍💻

🤓 Друзья, замечательный Decembrist позвал нас разобрать вот это видео с научной точки зрения

Разберем инцелибат, половые стратегии человека и животных, серийную моногамию и биохимию чувств

📅 Встречаемся в эту среду (10 апреля) в 20:00 по МСК по этой ссылке!

Всех ждём 🫶🏻

#змт_события
Please open Telegram to view this post
VIEW IN TELEGRAM
Будь как romanioamd5319
А вот если бы они написали OBS на Rust...

OBS это стримерский софт, через который байтики ваших "сцен" текут в ютуб.

Если вам кажется, что вы понимаете как всё в этом вашем компе работает, возможно вы не стримили через OBS:
- Он может просто дропать 50% ваших фреймов, до тех пор пока вы не пересоздадите стрим на YouTube, в эфире будет слайд шоу
- Если я сижу по WiFi то будут ли дропаться фреймы это просто вопрос удачи, от стрима к стриму, при чем это не подлагивания а полноценный дроп 50%+
- Если я подключен через WiFi то OBS может рандомно дисконектиться, зависит "от погоды" сегодня.
- Если включен и OBS и любая тулза для конференций типа Zoom соединение может отваливаться, с ошибкой (OBS при этом не показывает ошибку поверх всех окон и вы можете разговаривать с собой оставшееся время и думать что всё ок)
- Если OBS не в фокусе то соединение отваливается с ошибкой, если при этом идет созвон в Zoom и т.д.. Поэтому когда мы совместно смотрим видео я могу управлять им только горячими клавишами оставляя активным окно OBS
- OBS иногда просто не может захватить контент окна (как будто программа излучает черный экран), проблема пропадает и появляется сама собой.
- Производителям софта для конференций дико насрать на OBS и иной раз они не учитывают возможность того что я буду это стримить, поэтому окно с камерой в Zoom при демонстрации экрана не считается отдельным процессом и не может быть перехвачено.

P.S. Не притензия к OBS, просто расстраивает.
P.P.S. У меня неплохие железки, проблема не в них.
Please open Telegram to view this post
VIEW IN TELEGRAM
Трудные времена
У нас тут форк VSCode под кодовым именем Cursor

Заявляется как первый Ai Code Editor. Бесплатная версия порезана.

Основные функции Cursor включают:

Command K: Позволяет редактировать и писать код с помощью ИИ. Чтобы редактировать, нужно выбрать код, нажать "Edit" и описать желаемые изменения. Для создания нового кода достаточно ввести Command K без выделения текста.

Copilot++: Это встроенная функция автодополнения Cursor. Copilot++ предлагает более мощные возможности, чем стандартный Copilot, включая предложения по автодополнению в середине строки и полные различия между версиями кода.

Chat: Позволяет общаться с ИИ, который видит вашу кодовую базу. Чат всегда видит текущий файл и позицию курсора, что позволяет задавать вопросы, например, о наличии ошибок.

@ Symbols: Упрощает демонстрацию кода ИИ. Введя "@" в Command+K или в чат, можно получить выпадающий список всех файлов и символов кода в папке.

Codebase Answers: Позволяет задавать вопросы обо всей кодовой базе, используя Command+Enter в чате.

Docs: Улучшает понимание ИИ сторонних библиотек. Для использования введите
@LibraryName в чате или Command K.

Auto-Debug: Инструмент для исправления ошибок в терминале Cursor. После ошибки в терминале появляется синяя кнопка "Auto-debug", которую можно нажать для автоматического исправления.

Fix Lints: Помогает быстро исправлять ошибки линтинга. Достаточно навести курсор на ошибку и нажать появившуюся синюю кнопку "Fix".

Terminal Command K: Позволяет вводить терминальные команды на понятном человеку языке. Нажатие Command K позволяет ИИ видеть содержимое терминала.

Notes: Помогают быстро понять незнакомые переменные и типы. Удерживание Shift дает краткое описание символа под курсором.

Vision: Поддержка изображений для запросов к ИИ. Изображения можно добавлять через кнопку под чатом или перетаскивать в поле ввода ИИ.

Apply From Chat: Позволяет быстро переносить предложения кода из чата в редактор.

Rules for AI: Позволяет задавать стилевые правила для ИИ.
Forwarded from IT Ментор | Сергей Жуков (Sergey Zhukov)
Анонс - стрим с лекцией по MVC

Пробую новый формат - теоретические лекции в контектсте проектов роадмапа.

Начну с паттерна MVC в для Java Backend разработки:
Готовлю лекцию по MVC в контексте проектов роадмапа.

Темы:
- Прародитель идеи MVC - слоистая архитектура. В чем принцип и какую проблему решает
- Паттерн MVC, общая идея на простом примере
- Пример - MVC в Java приложении на сервлетах, за что отвечает каждый слой
- Пример - как работает обработка ошибок
- Пример - MVC в приложении на Spring / Thymeleaf
- Структура MVC в реальном проекте - проблема топорного подхода, и около-реальный пример

Цель - помочь студентам в реализации проектов #3/#4, добавить лекцию в список теоретических материалов для этих проектов.

Схемы к стриму - https://t.me/zhukovsd_it_chat/1/69230.

Суббота, 13 апреля, 19:00 Мск. Запись будет доступна.

Роадмап | YouTube | Менторство | Поддержать | Консультации
А вас, суббота, я попрошу остаться.

Любое даяние благо:
Через буусти
Через патреон
donation alerts тут
Или поиграть пару часов в мою игру)))00))
Подписывайтесь на лайв канал с НЕ IT приколами

Дайжест этой недели:
Потупил с постгре индексами
Поражаюсь типам typescript
Психопатия Антона Назарова
Тест на талант программиста
Смотрим Романа Сакутина на стриме
OBS насрал мне в штаны

Дайжест прошлой недели
This media is not supported in your browser
VIEW IN TELEGRAM