Кроме шуток: из личного опыта
Конечно code reuse это хорошо, и готовыми библиотеками, алгоритмами, модулями, итд пользоваться надо и надо их знать и уметь ими пользоваться.
Но всегда очень важно оценить при этом несколько вещей:
1. Какова цена интеграции этого куска кода (трудозатраты и объём костылей)
2. Действительно ли этот кусок кода достаточно хорош, или именно в вашей ситуации можно и нужно сделать лучше
3. Есть ли ограничения в самом вашем проекте: на стиль, технологию, язык,... И удовлетворяет ли всё вашим требованиям
Не всегда из моего опыта что то сложнее memcpy можно легко и нужно интегрировать. Я утрирую конечно. Но слепо реюзить код бывает приводит к таким спагетти и проблемам в архитектуре, что лучше бы изобрести велосипед....
Помните: во всём нужен баланс и здравый смысл.
Конечно code reuse это хорошо, и готовыми библиотеками, алгоритмами, модулями, итд пользоваться надо и надо их знать и уметь ими пользоваться.
Но всегда очень важно оценить при этом несколько вещей:
1. Какова цена интеграции этого куска кода (трудозатраты и объём костылей)
2. Действительно ли этот кусок кода достаточно хорош, или именно в вашей ситуации можно и нужно сделать лучше
3. Есть ли ограничения в самом вашем проекте: на стиль, технологию, язык,... И удовлетворяет ли всё вашим требованиям
Не всегда из моего опыта что то сложнее memcpy можно легко и нужно интегрировать. Я утрирую конечно. Но слепо реюзить код бывает приводит к таким спагетти и проблемам в архитектуре, что лучше бы изобрести велосипед....
Помните: во всём нужен баланс и здравый смысл.
👍5❤1
Всех причастных жду сегодня на лекции по c++ по расписанию в 18:50
EBFE: software internals
Всех причастных жду сегодня на лекции по c++ по расписанию в 18:50
На всякий случай поясню.
Это про лекцию в обычной сетке расписания ИТМО. Это для тех кто на 3м курсе выбрал С++/winapi. Там меньше 15ти человек. И всего 8 лекций. Зато с лабами и зачётом)
Hello Coder подробнее и больше - это интенсив. Будет в формате 4х недель с октября по декабрь - как голосовали во втором моём канале. Это доступно для всех студентов ИТМО.
Это про лекцию в обычной сетке расписания ИТМО. Это для тех кто на 3м курсе выбрал С++/winapi. Там меньше 15ти человек. И всего 8 лекций. Зато с лабами и зачётом)
Hello Coder подробнее и больше - это интенсив. Будет в формате 4х недель с октября по декабрь - как голосовали во втором моём канале. Это доступно для всех студентов ИТМО.
❤11
Forwarded from Derp Learning
This media is not supported in your browser
VIEW IN TELEGRAM
Vibecoding be like
🤣8😁3
Forwarded from GitHub Community
Windows API Function Cheatsheets — справочник по функциям Windows API, охватывающий файловые операции, управление процессами, памятью, потоками, синхронизацией, DLL.
5️⃣ GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from GitHub Community
KrbRelayEx — это инструмент, предназначенный для проведения атак типа «человек посередине» (MitM) путём ретрансляции билетов Kerberos AP-REQ.
5️⃣ GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from GitHub Community
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Forwarded from Dev Meme / devmeme
Here some crazy maniac rewriting common cli tools to use sed
https://github.com/tiawl/sedjutsu
Btw, sed are not yet rewritten with sed. You can join and help!
Cursed
Absolutely cursed
I love it ❤️🥰❤️
https://github.com/tiawl/sedjutsu
Btw, sed are not yet rewritten with sed. You can join and help!
Cursed
Absolutely cursed
I love it ❤️🥰❤️
GitHub
GitHub - tiawl/sedjutsu: The most powerful jutsu mastered by GNU-sed ninjas to emulate standard utilities
The most powerful jutsu mastered by GNU-sed ninjas to emulate standard utilities - tiawl/sedjutsu
🤩2
#vibecoding
Зацените какой классный скрипт написал мне ChetGPT5 платный (и за что я плачу деньги....). Тут очевидная ошибка. Напишите в комментариях. Кто будет первым?
Зацените какой классный скрипт написал мне 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
install.cmd
19.5 KB
Вот полный его скрипт если кому интересно. Если что он не рабочий и с кучей проблем.
#vibecoding
С тем заданием справились!
Вот вам посложнее. Из того же скрипта следующая ошибка ChatGPT. Он тут типо хочет сгенерировать файл cmake но спойлер - у него это не получится. Почему?
С тем заданием справились!
Вот вам посложнее. Из того же скрипта следующая ошибка 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%/noscripts/buildsystems/vcpkg.cmake")
echo set(CMAKE_TOOLCHAIN_FILE "%VCPKG_DIR%/noscripts/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
Forwarded from Мастерская системного программирования ИТМО
Всем привет! Итак Hello Coder будет уже совсем скоро!
При выборе дат пришлось учитывать не только ваше голосование и свое расписание, но и расписание ИТМО.
Курс Hello Coder пройдет в следующие даты:
1) Октябрь 20.10-24.10 - обсуждаем системы сборки, прикольные фишки C, best practices от меня по написанию портируемого кода
2) Ноябрь 17.11-21.11 - введение в C++, начинаем писать игру, и основы ООП
3) Декабрь 01.12-05.12 - Пишем код под Windows (драйвера, сервисы, инжекты,...), шаблоны проектирования, фишки C++
4) Декабрь 22.12-26.12 - Дописываем игру, .NET, COM, и все что не успели ранее
Даты утверждены, официальный анонс еще будет.
Напоминаю, что в этом году будем использовать всякие GPT, чтобы написать игру все-таки. Там и ассеты нагеренять можно будет.
Приходите - будет классно! В прошлом году было прям клево!
При выборе дат пришлось учитывать не только ваше голосование и свое расписание, но и расписание ИТМО.
Курс Hello Coder пройдет в следующие даты:
1) Октябрь 20.10-24.10 - обсуждаем системы сборки, прикольные фишки C, best practices от меня по написанию портируемого кода
2) Ноябрь 17.11-21.11 - введение в C++, начинаем писать игру, и основы ООП
3) Декабрь 01.12-05.12 - Пишем код под Windows (драйвера, сервисы, инжекты,...), шаблоны проектирования, фишки C++
4) Декабрь 22.12-26.12 - Дописываем игру, .NET, COM, и все что не успели ранее
Даты утверждены, официальный анонс еще будет.
Напоминаю, что в этом году будем использовать всякие GPT, чтобы написать игру все-таки. Там и ассеты нагеренять можно будет.
Приходите - будет классно! В прошлом году было прям клево!
🔥3
EBFE: software internals
#vibecoding С тем заданием справились! Вот вам посложнее. Из того же скрипта следующая ошибка ChatGPT. Он тут типо хочет сгенерировать файл cmake но спойлер - у него это не получится. Почему? ( echo cmake_minimum_required(VERSION 3.20) echo proje…
Так тут прекрасный пример скрипта на cmd. Итак этот код сгенерировал ChatGPT. Тут проблема в символах ) - их надо экранировать. Экранировать их с помощью символа ^. Да именно так то есть:
не:
Но вот если были ковычки, то не надо - то есть не:
Еще надо экранировать: |,+,*,>,<
И да кстати надо экранировать %, но конечно не ^% - это не сработает, а %%.
Обожаю cmd.
не:
echo set(CMAKE_CXX_STANDARD 17)а:
echo set(CMAKE_CXX_STANDARD 17^)
Но вот если были ковычки, то не надо - то есть не:
echo Write-Host "Download finished (remote size unknown^)."а:
echo Write-Host "Download finished (remote size unknown)."Это просто караул....
Еще надо экранировать: |,+,*,>,<
И да кстати надо экранировать %, но конечно не ^% - это не сработает, а %%.
Обожаю cmd.
😱5❤3