Авторский канал Алексея Никольского. Пишу код операционок и гипервизоров больше 20 лет и читаю лекции студентам. Делюсь своими мыслями, интересными материалами, мемасиками и всегда рад общению!
#vibecoding С тем заданием справились! Вот вам посложнее. Из того же скрипта следующая ошибка ChatGPT. Он тут типо хочет сгенерировать файл cmake но спойлер - у него это не получится. Почему?
#vibecoding Зацените какой классный скрипт написал мне ChetGPT5 платный (и за что я плачу деньги....). Тут очевидная ошибка. Напишите в комментариях. Кто будет первым?
@echo off setlocal EnableExtensions EnableDelayedExpansion
rem ============================================================ rem C/C++ Dev Environment Bootstrap for Windows (Non-Silent) rem Installs: VS Code, Git, CMake, MinGW-w64, vcpkg (+OpenGL/ImGui/GLFW/GLEW), GoogleTest rem Configures VS Code extensions and a starter CMake project. rem Visible installers (not silent). Clear on-screen guidance included. rem ============================================================
rem ---------------------- rem User-configurable vars rem ---------------------- set "ARCH_TARGET=x64" set "TOOLS_ROOT=C:\Tools" set "MINGW_DIR=%TOOLS_ROOT%\mingw64" set "VCPKG_DIR=%TOOLS_ROOT%\vcpkg" set "DEV_ROOT=%USERPROFILE%\Dev" set "PROJECT_DIR=%DEV_ROOT%\OpenGL-Imgui-Starter" set "VSCODE_DESKTOP_SHORTCUT=%USERPROFILE%\Desktop\VSCode_OpenGL-Imgui-Starter.lnk"
rem vcpkg ports to install (OpenGL toolchain + test) set "VCPKG_PORTS=glfw3 glew imgui opengl glew:x64-windows imgui:x64-windows glfw3:x64-windows gtest"
rem Triplets to try (MSVC + MinGW). MinGW triplet is community; if MinGW present, it will work. set "TRIPLET_MSVC=x64-windows" set "TRIPLET_MINGW=x64-mingw-dynamic"
rem VS Code extensions to install automatically set "VSCODE_EXTS=ms-vscode.cpptools ms-vscode.cmake-tools twxs.cmake ms-vscode.gitlens ms-vscode.test-adapter-converter ms-vscode.cpptools-extension-pack"
rem ------------------------------------------------------------ rem Internals (flags and temp) rem ------------------------------------------------------------ set "TMPDL=%TEMP%\cpp_bootstrap_dl" set "LOGFILE=%TEMP%\cpp_bootstrap.log" set "INSTALL_SUMMARY=%TEMP%\cpp_install_summary.txt" set "ERRFLAG=0" set "FOUND_VSCODE=0" set "FOUND_GIT=0" set "FOUND_CMAKE=0" set "FOUND_MINGW=0" set "FOUND_VCPKG=0"
rem ---------------------- rem Minimal helper labels rem ---------------------- :log echo [INFO] %~1 echo [INFO] %~1>>"%LOGFILE%" goto :eof
:require_admin rem Check admin >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" if not "%errorlevel%"=="0" ( call :err "Administrator privileges are required. Right-click this .cmd and choose 'Run as administrator'." goto :finalize ) goto :eof
:ensure_dirs if not exist "%TOOLS_ROOT%" mkdir "%TOOLS_ROOT%" if not exist "%TMPDL%" mkdir "%TMPDL%" if not exist "%DEV_ROOT%" mkdir "%DEV_ROOT%" goto :eof
:add_path_once rem %1 = dir to add set "TARGET=%~1" if not exist "%TARGET%" goto :eof for /f "tokens=2,*" %%a in ('reg query "HKCU\Environment" /v PATH 2^>nul ^| find "PATH"') do set "CURPATH=%%b" echo %CURPATH% | find /i "%TARGET%" >nul if errorlevel 1 ( setx PATH "%CURPATH%;%TARGET%" >nul call :log "PATH updated with: %TARGET% (you may need to open a new terminal)." ) else ( call :log "PATH already contains: %TARGET%" ) goto :eof
Windows API Function Cheatsheets — справочник по функциям Windows API, охватывающий файловые операции, управление процессами, памятью, потоками, синхронизацией, DLL.
EBFE: software internalsВсех причастных жду сегодня на лекции по c++ по расписанию в 18:50
На всякий случай поясню. Это про лекцию в обычной сетке расписания ИТМО. Это для тех кто на 3м курсе выбрал С++/winapi. Там меньше 15ти человек. И всего 8 лекций. Зато с лабами и зачётом)
Hello Coder подробнее и больше - это интенсив. Будет в формате 4х недель с октября по декабрь - как голосовали во втором моём канале. Это доступно для всех студентов ИТМО.
Конечно code reuse это хорошо, и готовыми библиотеками, алгоритмами, модулями, итд пользоваться надо и надо их знать и уметь ими пользоваться. Но всегда очень важно оценить при этом несколько вещей: 1. Какова цена интеграции этого куска кода (трудозатраты и объём костылей) 2. Действительно ли этот кусок кода достаточно хорош, или именно в вашей ситуации можно и нужно сделать лучше 3. Есть ли ограничения в самом вашем проекте: на стиль, технологию, язык,... И удовлетворяет ли всё вашим требованиям
Не всегда из моего опыта что то сложнее memcpy можно легко и нужно интегрировать. Я утрирую конечно. Но слепо реюзить код бывает приводит к таким спагетти и проблемам в архитектуре, что лучше бы изобрести велосипед....