Dmitry Develop
image_2024-11-09_03-24-10.png
Принесли мне недавно ноутбук с описанием проблемы: появляется синий экран спустя примерно 10 минут после запуска и через раз происходит загрузка при включении.
А вот конкретную ошибку они почему-то не додумались посмотреть, запомнить и рассказать мне.
Включаю ноутбук, что-то делаю, смотрю журнал ошибок и через некоторое время он намертво зависает, даже курсор не двигается, на caps lock проверить не смог, не было индикатора.
И тут внезапно синий экран смерти с ошибкой CRITICAL_PROCESS_DIED.
И после перезагрузки он больше не загружался, а ssd диска не было даже в bios.
Вставил диск в мой внешний корпус, windows сообщил о диске в 0 байт и предложил его инициализировать, интересный случай...
С диском из моего ПК всё работает.
Разобрал ноутбук, и он оказался после залития, были следы влаги и какие-то разводы, какие-то дорожки и компоненты просто сгнили.
И самое главное, жидкость добралась до ssd диска и там тоже были следы коррозии.
Решил почистить их ватной палочкой с изопропиловым спиртом и отвалился какой-то чёрный smd компонент.
Ну всё, подумал я, приехали.
Прозвонил его мультиметром, это оказался резистор на 10 кОм.
Подумал, это какая-то подтяжка и этот элемент важен для работы диска.
Прозвонкой нашёл какие-то дорожки на m.2 разъёме шли на место обрыва.
Как бы я не пытался, припаять у меня smd компонент никак не получалось, сначала он плохо держался, а потом вовсе куда-то пропал).
Но с капелькой припоя вместо резистора диск всё равно заработал и ноутбук больше не зависал и синие экраны не кидал.
ссылка на канал | ссылка на группу
А вот конкретную ошибку они почему-то не додумались посмотреть, запомнить и рассказать мне.
Включаю ноутбук, что-то делаю, смотрю журнал ошибок и через некоторое время он намертво зависает, даже курсор не двигается, на caps lock проверить не смог, не было индикатора.
И тут внезапно синий экран смерти с ошибкой CRITICAL_PROCESS_DIED.
И после перезагрузки он больше не загружался, а ssd диска не было даже в bios.
Вставил диск в мой внешний корпус, windows сообщил о диске в 0 байт и предложил его инициализировать, интересный случай...
С диском из моего ПК всё работает.
Разобрал ноутбук, и он оказался после залития, были следы влаги и какие-то разводы, какие-то дорожки и компоненты просто сгнили.
И самое главное, жидкость добралась до ssd диска и там тоже были следы коррозии.
Решил почистить их ватной палочкой с изопропиловым спиртом и отвалился какой-то чёрный smd компонент.
Ну всё, подумал я, приехали.
Прозвонил его мультиметром, это оказался резистор на 10 кОм.
Подумал, это какая-то подтяжка и этот элемент важен для работы диска.
Прозвонкой нашёл какие-то дорожки на m.2 разъёме шли на место обрыва.
Как бы я не пытался, припаять у меня smd компонент никак не получалось, сначала он плохо держался, а потом вовсе куда-то пропал).
Но с капелькой припоя вместо резистора диск всё равно заработал и ноутбук больше не зависал и синие экраны не кидал.
ссылка на канал | ссылка на группу
👍7🔥3
Dmitry Develop
ссылка на канал | ссылка на группу
Нравится мне форматировать код по колонкам, отдельно тип данных, отдельно имена и знак равно.
А кто-то мне говорит, это неудобно и долго.
Да как же, если у меня это занимает всего несколько секунд, чтобы один раз сделать нужное форматирование, а если понадобится потом, новые изменения вносятся так же быстро.
Почему бы просто не использовать форматтер кода XY?
Можно, но я предпочитаю сам форматировать свой код, и рука у меня уже на это набита, писать код и поддерживать нужный мне стиль форматирования.
ссылка на канал | ссылка на группу
А кто-то мне говорит, это неудобно и долго.
Да как же, если у меня это занимает всего несколько секунд, чтобы один раз сделать нужное форматирование, а если понадобится потом, новые изменения вносятся так же быстро.
Почему бы просто не использовать форматтер кода XY?
Можно, но я предпочитаю сам форматировать свой код, и рука у меня уже на это набита, писать код и поддерживать нужный мне стиль форматирования.
ссылка на канал | ссылка на группу
😁1
Dmitry Develop
IMG_20250108_214250.jpg
Ничего себе мне книги отдали).
Жаль, жёлтая книга - не связана с обучением и в общем хрень какая-то как по моему мнению, так и по отзывам на ozon.
Зелёная мне понравилась, хотя и является копией 1 в 1 какой-то другой книги.
По-моему там не хватает более подробного объяснения изменяемых и неизменяемых переменных, что происходит при изменении неизменяемых переменных и других вопросов.
Как-то косвенно затрагиваются ссылки.
Не хватает тонкостей работы, например, с кортежами.
Кортежи это неизменяемый тип данных, то есть после их создания нельзя добавлять, удалять или изменять элементы, однако, это не мешает изменять значение элементов, если они изменяемые.
Описания таких тонкостей я не видел, а они важны, у меня на собеседовании такой вопрос задавали.
Так же хотелось видеть в разделе ООП хотя бы краткого описания видов полиморфизма: ad-hoc и параметрический, было бы ещё лучше наличие примеров их реализаций, сравнение на практике и несколько задач на эту тему.
Так же не раскрыта тема сложных декораторов с 3 уровнем вложенности, а я такой когда-то уже писал
Чёрная интересна будет уже после прохождения жёлтой, там много разных практических тем.
ссылка на канал | ссылка на группу
Жаль, жёлтая книга - не связана с обучением и в общем хрень какая-то как по моему мнению, так и по отзывам на ozon.
Зелёная мне понравилась, хотя и является копией 1 в 1 какой-то другой книги.
По-моему там не хватает более подробного объяснения изменяемых и неизменяемых переменных, что происходит при изменении неизменяемых переменных и других вопросов.
Как-то косвенно затрагиваются ссылки.
Не хватает тонкостей работы, например, с кортежами.
Кортежи это неизменяемый тип данных, то есть после их создания нельзя добавлять, удалять или изменять элементы, однако, это не мешает изменять значение элементов, если они изменяемые.
Описания таких тонкостей я не видел, а они важны, у меня на собеседовании такой вопрос задавали.
Так же хотелось видеть в разделе ООП хотя бы краткого описания видов полиморфизма: ad-hoc и параметрический, было бы ещё лучше наличие примеров их реализаций, сравнение на практике и несколько задач на эту тему.
Так же не раскрыта тема сложных декораторов с 3 уровнем вложенности, а я такой когда-то уже писал
Чёрная интересна будет уже после прохождения жёлтой, там много разных практических тем.
ссылка на канал | ссылка на группу
🔥1
Dmitry Develop
Screenshot 2025-01-09 00-46-06.png
Кому понадобится наложить на видео или стрим overlay с нажатыми клавишами, мне понравились вот эти два решения:
Это плагин для obs с набором готовых настроек и атласов для отображения раскладки клавиатуры или игрового манипулятора с состоянием их клавиш:
https://obsproject.com/forum/resources/keyviz.1565/
https://github.com/mulaRahul/keyviz
Это самостоятельная программа с большим количеством настроек, которая показывает на экране нажатые клавиши и их сочетания:
https://obsproject.com/forum/resources/input-overlay.552/
https://github.com/univrsal/input-overlay
Я такую как раз использовал в последнем видео.
ссылка на канал | ссылка на группу
Это плагин для obs с набором готовых настроек и атласов для отображения раскладки клавиатуры или игрового манипулятора с состоянием их клавиш:
https://obsproject.com/forum/resources/keyviz.1565/
https://github.com/mulaRahul/keyviz
Это самостоятельная программа с большим количеством настроек, которая показывает на экране нажатые клавиши и их сочетания:
https://obsproject.com/forum/resources/input-overlay.552/
https://github.com/univrsal/input-overlay
Я такую как раз использовал в последнем видео.
ссылка на канал | ссылка на группу
👍1
Dmitry Develop
image_2025-01-11_21-24-01.png
// compile_flags.txt
...
-fexec-charset=windows-1251
Никто не знает можно ли как-то clangd указать execution charset для строковых литералов?
Файл исходного кода у меня в
utf-8, но -fexec-charset=windows=1251 перекодирует строки в windows-1251 в скомпилированной программе.Соответственно я хочу, чтобы визуальные подсказки по
ordinary string literal отображались с правильным размером типа данных (const char[N]) и правильными кодами символов (codepoint).При указании аргумента, отличного от
utf-8, для -finput-charset или -fexec-charset, в редакторе появляется ошибка:Invalid value 'windows-1251' in '-fexec-charset=windows-1251' clang(drv_invalid_value).Ошибка появляется для любого значения, отличного от
utf-8.По информации из интернета я понял, вроде, что дело то ли в используемом кодировщике iconv или ICU и какой-то их особенности под windows в виде отсутствии поддерживания другой кодировки.
То ли это особенность самого clangd, который также не поддерживает кодировку любую другую кодировку кроме
utf-8.ссылка на канал | ссылка на группу
🔥1
Dmitry Develop
winlibsProgramVerions.png
Сборки gcc + mingw с сайта winlibs не перестают меня удивлять: уже который раз обращаю внимание на то, что в их сборке находятся самые или почти актуальные версии программ.
Версия g++ на данный момент последняя стабильная: 14.2.0.
Версия clang++ и clangd на данный момент отстаёт от стабильной всего на 5 minor версий: 19.1.1.
А ещё, да, это portable сборка, которую достаточно скачать, разархивировать, добавить в переменные среды (path), что может быть необязательно, если вы знаете, как это сделать временно, и можно работать, даже на флешке и на другом компьютере в школе или у друга.
Никаких установщиков и трудностей выбора каких-то пакетов.
Репозиторий git.
Репозиторий llvm.
ссылка на канал | ссылка на группу
Версия g++ на данный момент последняя стабильная: 14.2.0.
Версия clang++ и clangd на данный момент отстаёт от стабильной всего на 5 minor версий: 19.1.1.
А ещё, да, это portable сборка, которую достаточно скачать, разархивировать, добавить в переменные среды (path), что может быть необязательно, если вы знаете, как это сделать временно, и можно работать, даже на флешке и на другом компьютере в школе или у друга.
Никаких установщиков и трудностей выбора каких-то пакетов.
Репозиторий git.
Репозиторий llvm.
ссылка на канал | ссылка на группу
👍1
Dmitry Develop
vscodeTerminalProfileCustomization.png
⚠️ не используйте этот способ, пока не прочитаете обновление по этой публикации:
https://t.me/a248640develop/330
Продолжаю настраивать чистый и пустой vs code после переустановки windows 11.
Следующая проблема, с которой я столкнулся, оказалась в отсутствии папки bin компилятора в переменных среды (PATH), из-за этого не запускается скомпилированная им программа, так как она не полностью самодостаточна и зависит его его библиотек времени выполнения (runtime).
Странно, что я до сих пор не сделал публикацию в канале на тему "portable/standalone/переносных программ", так как я думал не неё сослаться или сделать отсылку.
Но в своей группе я неоднократно говорил насколько сильно мне нравится такой вид программ и наличие возможности выбора.
Проблема понятна, просто добавить папку в переменные среды и всё, но я, как любитель переносных программ и по возможности минимального вмешательства в систему подумал, а можно ли как-то обойтись без изменения PATH, чтобы программа работала?
Я знаю, что в терминале можно временно изменять переменные окружения.
Например, для cmd будет:
Это самый простой способ временно изменить PATH и запустить процесс с этими изменёнными переменными, и чтобы windows смогла найти все нужные exe и dll файлы.
Я подумал, а можно ли как-то в vs code перед запуском терминала выполнить какую-то свою команду или запустить скрипт?
Как активация виртуального окружения python, например.
Да, можно, для этого есть настройка
На замену ей пришли профили терминала:
В настройки уровня пользователя, проекта или решения нужно добавить следующий текст:
И в итоге вместо стандартного содержимого терминала:
В моём случае будет:
Я для примера решил вывести текст hello и world на разных строках и изменить префикс ввода (не знаю как на русском это назвать лучше).
Любителям "а как убрать путь из консоли" посвящается).
Вместо команды "
ссылка на канал | ссылка на группу
https://t.me/a248640develop/330
Продолжаю настраивать чистый и пустой vs code после переустановки windows 11.
Следующая проблема, с которой я столкнулся, оказалась в отсутствии папки bin компилятора в переменных среды (PATH), из-за этого не запускается скомпилированная им программа, так как она не полностью самодостаточна и зависит его его библиотек времени выполнения (runtime).
Странно, что я до сих пор не сделал публикацию в канале на тему "portable/standalone/переносных программ", так как я думал не неё сослаться или сделать отсылку.
Но в своей группе я неоднократно говорил насколько сильно мне нравится такой вид программ и наличие возможности выбора.
Проблема понятна, просто добавить папку в переменные среды и всё, но я, как любитель переносных программ и по возможности минимального вмешательства в систему подумал, а можно ли как-то обойтись без изменения PATH, чтобы программа работала?
Я знаю, что в терминале можно временно изменять переменные окружения.
Например, для cmd будет:
set path=path_to_compiler_bin;%path%.Это самый простой способ временно изменить PATH и запустить процесс с этими изменёнными переменными, и чтобы windows смогла найти все нужные exe и dll файлы.
Я подумал, а можно ли как-то в vs code перед запуском терминала выполнить какую-то свою команду или запустить скрипт?
Как активация виртуального окружения python, например.
Да, можно, для этого есть настройка
"terminal.integrated.shellArgs.windows": [""], но она, к сожалению или к счастью, стала устаревшей и была удалена.На замену ей пришли профили терминала:
"terminal.integrated.profiles.NNN", в которых можно не только создавать свои, но и переопределять настройки для стандартных, можно поменять не только аргументы, которые мне были и нужны, но и путь до исполняемого файла и даже иконку.В настройки уровня пользователя, проекта или решения нужно добавить следующий текст:
// settings.json
{
"terminal.integrated.profiles.windows":
{
"Command Prompt":
{
"path":
[
"${env:windir}\\Sysnative\\cmd.exe",
"${env:windir}\\System32\\cmd.exe",
],
"args":
[
"/k",
"echo hello & echo world & prompt $g$s",
],
"icon": "terminal-cmd",
},
},
"terminal.integrated.defaultProfile.windows": "Command Prompt",
}
И в итоге вместо стандартного содержимого терминала:
Microsoft Windows [Version 10.0.22631.4602]
(c) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.
C:\Users\user>_
В моём случае будет:
hello
world
> _
Я для примера решил вывести текст hello и world на разных строках и изменить префикс ввода (не знаю как на русском это назвать лучше).
Любителям "а как убрать путь из консоли" посвящается).
Вместо команды "
echo hello & echo world & prompt $g$s" можно сделать вызов любого скрипта, даже vcvarsall.bat, что позволит легко использовать компилятор cl.exe (MSVC).ссылка на канал | ссылка на группу
👍2❤1🔥1
Dmitry Develop
{97EAB4DB-EDFF-4C47-9E0B-5E53D01E705D}.png
Немного полезной информации).
Мне всегда было интересно, где взять оригиналы стандартных фонов рабочего стола windows.
Тем более мне сейчас не понравилось в windows 11 то, что на рабочем столе стоит полная версия фона, а на экране блокировки какая-то урезанная, а каких-то параметров заполнения я не нашёл, поэтому решил установить принудительно нужный фон.
Осталось только найти, где хранятся оригинальные фоны в системе.
Немного погуглил и нашёл:
В windows 10 и 11 стандартные фоны хранятся в папке "
Обычно, в этой папке есть ещё подпапки для каждой из тем (например, Flowers, Windows) и разрешений экрана (например, 4K).
Теперь фон блокировки выглядит точно так же, как и фон рабочего стола.
Если кому-то будет интересен фон для светлой и тёмной темы в разрешении 4K, я их приложил к этой публикации.
Для любителей особотёмной чёрной темы, я сделал чёрно-белый вариант тех фонов:
img0Blacked.jpg и img19Blacked.jpg
ссылка на канал | ссылка на группу
Мне всегда было интересно, где взять оригиналы стандартных фонов рабочего стола windows.
Тем более мне сейчас не понравилось в windows 11 то, что на рабочем столе стоит полная версия фона, а на экране блокировки какая-то урезанная, а каких-то параметров заполнения я не нашёл, поэтому решил установить принудительно нужный фон.
Осталось только найти, где хранятся оригинальные фоны в системе.
Немного погуглил и нашёл:
В windows 10 и 11 стандартные фоны хранятся в папке "
C:\Windows\Web".Обычно, в этой папке есть ещё подпапки для каждой из тем (например, Flowers, Windows) и разрешений экрана (например, 4K).
Теперь фон блокировки выглядит точно так же, как и фон рабочего стола.
Если кому-то будет интересен фон для светлой и тёмной темы в разрешении 4K, я их приложил к этой публикации.
Для любителей особо
img0Blacked.jpg и img19Blacked.jpg
ссылка на канал | ссылка на группу
👍2❤1
Dmitry Develop
vsCodeOpenExternalConsole.png
Совершенно случайно при редактировании файла вместо ctrl + C нажал ctrl + shift + C, и внезапно у меня открылась отдельная от vs code обычная cmd консоль.
Подумал, что-то тут не так, в смысле..., откуда появилась консоль, если я просто копировал текст?
Решил проверить текущие горячие клавиши / назначения клавиш.
Оказывается, в vs code есть (или появилось) назначение клавиш по умолчанию ctrl + shift + C на открытие внешнего терминала.
Интересно, а меняет ли vs code этому новому процессу консоли переменные среды PATH, если из как-то менять или дополнять через настройки?
Хороший вопрос, который надо будет проверить.
(Оказалось, нет, только cwd меняет)
Обычно, я стараюсь какие-то незначительные вещи не выкладывать в виде публикации в канале, а просто кидаю в группу.
Но последние три дня я 24/7 мучаюсь с vs code и, кажется, у меня есть интересные результаты и выводы, а также, возможно, я случайно нашёл один баг).
Перед написанием огромной публикации, что, на самом деле, является очень большим и трудоёмким процессом, особенно в моём-то стиле написания, хочется сделать какие-то простые публикации, не напрягаться сильно, и чтобы канал не пустовал.
Да и такая информация может быть кому-то полезна).
(И никто не сказал, что "трудоёмкий труд" это речевая ошибка, тавтология )
ссылка на канал | ссылка на группу
Подумал, что-то тут не так, в смысле..., откуда появилась консоль, если я просто копировал текст?
Решил проверить текущие горячие клавиши / назначения клавиш.
Оказывается, в vs code есть (или появилось) назначение клавиш по умолчанию ctrl + shift + C на открытие внешнего терминала.
Интересно, а меняет ли vs code этому новому процессу консоли переменные среды PATH, если из как-то менять или дополнять через настройки?
Хороший вопрос, который надо будет проверить.
(Оказалось, нет, только cwd меняет)
Обычно, я стараюсь какие-то незначительные вещи не выкладывать в виде публикации в канале, а просто кидаю в группу.
Но последние три дня я 24/7 мучаюсь с vs code и, кажется, у меня есть интересные результаты и выводы, а также, возможно, я случайно нашёл один баг).
Перед написанием огромной публикации, что, на самом деле, является очень большим и трудоёмким процессом, особенно в моём-то стиле написания, хочется сделать какие-то простые публикации, не напрягаться сильно, и чтобы канал не пустовал.
Да и такая информация может быть кому-то полезна).
(
ссылка на канал | ссылка на группу
👍1