Dmitry Develop
176 subscribers
77 photos
35 videos
88 files
205 links
Этот канал в основном будет интересен новичкам в программировании и людям немного поопытнее.
Здесь я буду делиться своими новостями и достижениями в программировании.

Разработка, программирование; c++, gcc, g++, gnu, mingw; winapi, windows; vscode.
Download Telegram
Dmitry Develop
open_server_panel_5_4_3_setup.exe
OpenServer (OSPanel) это некоммерческая портативная программа для web-разработчиков, полноценный локальный web-сервер с плагинами, базой данных и многим другим.
Звучит, как реклама, но я начал пользоваться этой программой более 5 лет назад.
И вот, даже на работе он мне понадобился).

Я хотел скачать установочный файл программы, но на официальном сайте намеренно занижена скорость скачивания до ~0.1 MB/s, а размер файла почти гигабайт.

Поэтому я решил скачать с других сайтов, что очень рискованно.
Можно скачать модифицированный файл или вообще что-то другое.
И на помощь пришла верификация контрольной суммой.

В windows можно без сторонних программ вычислить контрольную сумму файла.
Для этого нужна программа certutil.exe (документация).

certutil -hashfile "open_server_panel_5_4_3_setup.exe" MD5

Хэш MD5 open_server_panel_5_4_3_setup.exe:
420078689ee2b5c743d7b3bb578fb662

certutil -hashfile "open_server_panel_5_4_3_setup.exe" SHA1

Хэш SHA1 open_server_panel_5_4_3_setup.exe:
bba5646cef239f32dd77fac742e55926d81b450f

Контрольные суммы MD5 и SHA1 полностью идентичны заявленным на официальном сайте разработчика, что подтверждает оригинальность скачанного файла.

ссылка на канал | ссылка на группу
👍4🤯1
Мой таймер возвращает время, как беззнаковое число, в количестве наносекунд.
Нужно вычислять разницу между двумя промежутками времени.
Бывает, уменьшаемое меньше вычитаемого, поэтому результат вычитания будет меньше нуля, и в беззнаковой переменной из-за underflow результат будет ооочень большим.

Поэтому я написал эту небольшую функцию:
Функция вычитает два беззнаковых числа left - right без underflow.
Модуль результата вычитания сохраняется в difference.
Если результат выражения был отрицательным, в negitiveSign сохраняется true, иначе false.
void uint64AbsoluteSubtract(uint64_t left, uint64_t right, uint64_t* difference, bool* negitiveSign, status_s* status);


Если left = 10, right = 5, то
difference = 5, negitiveSign = false.

Если left = 5, right = 10, то
difference = 5, negitiveSign = true.
uint64 left { X }, right { Y };

uint64 difference { };
bool negitiveSign { };

uint64AbsoluteSubtract(left, right, &difference, &negitiveSign, nullptr);


Получается, вместо этого кода:
if(left - right >= 15'625'000) { ... } else { ... }


Будет такой:
if(negative) return;
if(difference >= 15'625'000) { ... } else { ... }


(Раньше тут вместо 15'625'000 был 0 😏)

ссылка на канал | ссылка на группу
👍1
Dmitry Develop
image_2024-04-19_21-22-20.png
Что ж, сделаю небольшое предварительное объявление).

Увидел сегодня картинку кота, а потом фотографию брелка, очень понравилось, как он выглядит.
Решил в видеоредакторе смонтировать видео ради шутки).
Видео пока в процессе работы, половина уже сделана.

ссылка на канал | ссылка на группу
Dmitry Develop
ссылка на канал | ссылка на группу
Было интересно, но сложно).

Работать в единицах измерениях кадры не удобно и не привычно.
Из-за этого какие-то действия были медленными, какие-то быстрыми.
Сюжет и действия приходилось придумывать на ходу и выдумывать, чтобы использовать все 18 секунд хронометража).
Действия под музыку синхронизировать не получилось.

Ну его, этот kdenlive, даже такую простую работу было очень сложно сделать.
Менять очерёдность слоёв нельзя.
Удобного и нормального управления нет.
Нормально копировать, вставлять и перемещать ключевые кадры группой нельзя.
Чтобы отразить картинку по ключевому кадру, приходится с фильтрами мучиться.
Замедленное воспроизведение в окне просмотра нет.
Даже полоса прокрутки часто уходила за границы экрана и вообще неадекватно работала.

ссылка на канал
| ссылка на группу
🕊2🔥1
Dmitry Develop
itgmMember.png
Хе-хе, на ITGM у меня останутся некоторые материальные сувениры на память: бейджик и бонус коды для игры компании Lesta.

Пока что я для себя не нашёл темы, которые мне были бы интересны или понятны.

Сходил послушать речь группы embeded group и ещё что-то там, но в итоге рассказывали только про ansible, о котором я слышу в первый раз.
Потом сходил mobile broadcast на тему "arduino + аккумулятор", но там тоже ничего интересного я не услышал и не увидел.

Пока соориентировался, пока додумался что и как, время этих докладов прошло: "Проектирование API. Сказ о аналитике и архитектуре" и "Паттерны построения LLM-based систем", эти две темы, думаю, мне были бы интересны.

ссылка на канал | ссылка на группу
Каким-то образом за последнюю неделю я стал популярным и мне начали писать с предложением сверстать сайт по фотографии и написать серверную сторону на node js + express.

Вообще не имел опыта с этим стеком технологий, а на HTML так вообще более 5 лет не писал.

Благо некоторый опыт в поиске и анализе информации помог мне базово разобраться как работает node js и какой код написать, а ещё было просто интересно).

ссылка на канал | ссылка на группу
1👍1🥰1
Dmitry Develop
Screenshot_20240526_100304_org.telegram.messenger.web.jpg
Вот так вот, занимаешься волонтёрством, следишь за спамом в чатах, удаляешь его или упоминаешь администраторов, а в один прекрасный день ты забанен в одной из групп).

Изменение:
Похоже, это всё произошло из-за нового бота, который меня и забанил.
Администратор группы разобрался в ситуации и разбанил меня).

ссылка на канал | ссылка на группу
Что-то меня vs codium начинает разочаровывать.
Вроде тот же vs code, а трудностей больше.

В vs code я в основном писал на C++, поэтому чуть больше понимаю как работает поддержка и интеграция этого языка, какие инструменты и расширения нужны, чем для других языков.

С переходом на vs codium пришлось отказаться от привычных настроек и расширений и искать другие.
Да, можно установить те же самые расширения через vsix, но с некоторые расширения проверяют название сборки и отказываются работать на неофициальной сборке vs code.

Ладно, для vs codium и C++ я нашёл расширения, которые мне понравились и работают быстрее или дают больше возможностей по сравнению с расширением от microsoft: clangd (llvm-vs-code-extensions.vscode-clangd), Native Debug (webfreak.debug) или CodeLLDB (vadimcn.vscode-lldb).

А вот в случае python я не сразу заметил подвох.
Было установлено расширение python (ms-python.python), вроде всё работало как обычно, но классы и другие сущности из других модулей или файлов не подсвечивались и были белого цвета.
При наведении очень долго редактор кода думает и спустя время показывает объявление и комментарий выделенного символа.
Но перейти к определению не работает, подсказки не работают.

Я даже не заметил, но расширения pylance не было и в vs codium он без модификаций работать из коробки не будет, его даже нет в списке расширений.
Я думал расширение python самодостаточное и ему не нужно для работы какие-то дополнительные зависимости.

По итогу для python я не нашёл какой-то нормальный аналог.
Видимо, придётся вернуться к vs code, так как на python я пишу по работе и мне кроме подсветки синтаксиса нужны и другие привычные в IDE инструменты, как intellisense и другие.

ссылка на канал | ссылка на группу
Dmitry Develop
winlator.png
Я не слежу за IT новостями, но эту я совершенно случайно увидел, когда искал есть ли проблема сейчас скачать и установить MSVC в России.

Winlator выпустили android приложение, которое позволяет запускать windows x86 и x86_64 приложения при помощи Wine и Box86/Box64 в операционной системе android.
Официальный сайт разработчика

У habr очень хорошо работает индексация в google: посту всего несколько часов, а он уже есть в поисковой выдаче.
Новость на сайте habr

ссылка на канал
| ссылка на группу
🔥3