TGViewer
Channel Public Channel
EBFE: software internals

EBFE: software internals

@ebfecode

Авторский канал Алексея Никольского.
Пишу код операционок и гипервизоров больше 20 лет и читаю лекции студентам.
Делюсь своими мыслями, интересными материалами, мемасиками и всегда рад общению!

Моя мастерская: https://t.me/itmosysint
Subscribers
390
Photos
351
Videos
60
Links
120

Showing posts older than #424 · Back to latest

Older Posts 20 shown
Post #422 301
#vibecoding
С тем заданием справились!
Вот вам посложнее. Из того же скрипта следующая ошибка ChatGPT. Он тут типо хочет сгенерировать файл cmake но спойлер - у него это не получится. Почему?

(
echo cmake_minimum_required(VERSION 3.20)
echo project(opengl_imgui_starter CXX)
echo
echo set(CMAKE_CXX_STANDARD 17)
echo set(CMAKE_CXX_STANDARD_REQUIRED ON)
echo
echo if(NOT DEFINED CMAKE_TOOLCHAIN_FILE AND EXISTS "%VCPKG_DIR%/scripts/buildsystems/vcpkg.cmake")
echo set(CMAKE_TOOLCHAIN_FILE "%VCPKG_DIR%/scripts/buildsystems/vcpkg.cmake" CACHE STRING "vcpkg toolchain")
echo endif()
echo
echo if(NOT DEFINED VCPKG_TARGET_TRIPLET)
echo set(VCPKG_TARGET_TRIPLET %TRIPLET_MINGW%)
echo endif()
echo
echo find_package(OpenGL REQUIRED)
echo find_package(glfw3 REQUIRED)
echo find_package(GLEW REQUIRED)
echo find_package(imgui REQUIRED)
echo
echo add_executable(app src/main.cpp)
echo target_link_libraries(app PRIVATE OpenGL::GL glfw GLEW::GLEW imgui::imgui)
echo
echo enable_testing()
echo add_executable(sample_test tests/sample_test.cpp)
echo find_package(GTest CONFIG REQUIRED)
echo target_link_libraries(sample_test PRIVATE GTest::gtest GTest::gtest_main)
echo add_test(NAME sample_test COMMAND sample_test)
) > "%PROJECT_DIR%\CMakeLists.txt" 2>nul
  • ❤ 2
Post #420 290
install.cmd19.5 KB
Вот полный его скрипт если кому интересно. Если что он не рабочий и с кучей проблем.
Post #418 302
#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 Versions/URLs (adjust here if needed)
set "VSCODE_URL=https://update.code.visualstudio.com/latest/win32-x64-user/stable"
set "GIT_URL=https://github.com/git-for-windows/git/releases/latest/download/Git-64-bit.exe"
set "CMAKE_URL=https://github.com/Kitware/CMake/releases/latest/download/cmake-*-windows-x86_64.msi"
rem WinLibs standalone MinGW-w64 (GCC) ZIP (pick a stable, SSE2 build)
set "MINGW_ZIP_URL=https://github.com/brechtsanders/winlibs_mingw/releases/latest/download/winlibs-x86_64-posix-seh-gcc-*-llvm-*-mingw-w64msvcrt-*-ucrt-*-zip.zip"

rem vcpkg clone URL
set "VCPKG_GIT=https://github.com/microsoft/vcpkg.git"

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

:warn
echo [WARN] %~1
echo [WARN] %~1>>"%LOGFILE%"
goto :eof

:err
echo [ERROR] %~1
echo [ERROR] %~1>>"%LOGFILE%"
set ERRFLAG=1
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
Post #416 328
  • 😁 13
Post #415 404

Forwarded from GitHub Community

Physics Simulations — набор симуляций физических явлений, написанных на Python.

5️⃣ GitHub
  • ❤ 2
Post #414 359
Красиво
Post #413 345

Forwarded from GitHub Community

Ladybird — это по-настоящему независимый веб-браузер, использующий новый движок, основанный на веб-стандартах.

5️⃣ GitHub
Post #412 314

Forwarded from GitHub Community

KrbRelayEx — это инструмент, предназначенный для проведения атак типа «человек посередине» (MitM) путём ретрансляции билетов Kerberos AP-REQ.

5️⃣ GitHub
Post #411 280

Forwarded from GitHub Community

Windows API Function Cheatsheets — справочник по функциям Windows API, охватывающий файловые операции, управление процессами, памятью, потоками, синхронизацией, DLL.

5️⃣ GitHub
Post #408 262
EBFE: software internals Всех причастных жду сегодня на лекции по c++ по расписанию в 18:50
На всякий случай поясню.
Это про лекцию в обычной сетке расписания ИТМО. Это для тех кто на 3м курсе выбрал С++/winapi. Там меньше 15ти человек. И всего 8 лекций. Зато с лабами и зачётом)

Hello Coder подробнее и больше - это интенсив. Будет в формате 4х недель с октября по декабрь - как голосовали во втором моём канале. Это доступно для всех студентов ИТМО.
  • ❤ 11
Post #407 231
Всех причастных жду сегодня на лекции по c++ по расписанию в 18:50
Post #404 345
Кроме шуток: из личного опыта

Конечно code reuse это хорошо, и готовыми библиотеками, алгоритмами, модулями, итд пользоваться надо и надо их знать и уметь ими пользоваться.
Но всегда очень важно оценить при этом несколько вещей:
1. Какова цена интеграции этого куска кода (трудозатраты и объём костылей)
2. Действительно ли этот кусок кода достаточно хорош, или именно в вашей ситуации можно и нужно сделать лучше
3. Есть ли ограничения в самом вашем проекте: на стиль, технологию, язык,... И удовлетворяет ли всё вашим требованиям

Не всегда из моего опыта что то сложнее memcpy можно легко и нужно интегрировать. Я утрирую конечно. Но слепо реюзить код бывает приводит к таким спагетти и проблемам в архитектуре, что лучше бы изобрести велосипед....

Помните: во всём нужен баланс и здравый смысл.
  • 👍 5
  • ❤ 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →