Форум программистов, компьютерный форум, киберфорум
Jin X
Войти
Регистрация
Восстановить пароль
Старый
Рейтинг: 4.00. Голосов: 1.
Как писать ТЗ (техническое задание) для разработчиков ПО?
Запись от Jin X размещена 27.11.2021 в 00:54. Обновил(-а) Jin X 25.11.2023 в 11:21
Показов 3528 Комментарии 13

Как писать ТЗ (техническое задание) для разработчиков программного обеспечения?

Зачем? Давайте я напишу в чате!

Есть такая поговорка: "без нормального ТЗ результат будет х/з".
И заказчик, и разработчик заинтересованы в том, чтобы всё было сделано так, как задумывалось. Но к сожалению, даром телепатии разработчики обычно не обладают, и читать мысли заказчика не могут (по крайней мере,...
Аватар для Jin X
Asm/C++/Delphi/Py/PHP/VBA
Размещено в Фриланс
Jin X вне форума
Старый
Пара нюансов при создании службы (Windows Service) и не только
Запись от Jin X размещена 26.03.2019 в 16:27. Обновил(-а) Jin X 15.04.2019 в 21:14
Показов 14685 Комментарии 0

Пара нюансов при создании службы (Windows Service) и не только

Пишу службу (Windows Service) на Delphi через VCL. В том же EXE-шнике делаю конфигуратор с оконным интерфейсом.
Получается так:
  • При запуске с опцией /install служба устанавливается (встроенная фича TServiceApplication).
  • При запуске с опцией /uninstall служба удаляется (встроенная фича TServiceApplication).
  • При запуске с опцией /config запускается конфигуратор.
  • Запуск службы происходит по специальной схеме (через тот же EXE-шник). Это внутренняя кухня модуля [Vcl.]SvcMgr.
Если вырезать интимные...
Аватар для Jin X
Asm/C++/Delphi/Py/PHP/VBA
Jin X вне форума
Старый
DateTimePicker – либо дата, либо время... или нет
Запись от Jin X размещена 14.03.2019 в 21:00. Обновил(-а) Jin X 26.03.2019 в 13:07
Показов 14113 Комментарии 4

DateTimePicker – либо дата, либо время... или нет?

Что не так?

На днях я столкнулся с такой проблемой. В DelphiC++Builder) имеется компонент класса TDateTimePicker, позволяющий пользователю вполне удобным образом выбирать дату или время. Ключевой момент: дату ИЛИ время. Что именно – определяется опубликованным (published) свойством Kind, которое может принимать значение dtkDate или dtkTime. Однако компонент имеет также опубликованное свойство Format, которое позволяет...
Аватар для Jin X
Asm/C++/Delphi/Py/PHP/VBA
Размещено в Delphi, C++Builder, VCL
Jin X вне форума
Старый
Рейтинг: 5.00. Голосов: 4.
Проверка числа на простоту – ускоряемся!
Запись от Jin X размещена 28.02.2019 в 01:29. Обновил(-а) Jin X 05.03.2019 в 21:24
Показов 10088 Комментарии 6

Проверка числа на простоту – ускоряемся!

Самый простой способ проверки числа N на простоту – проверить его делимость на все числа от 2 до корня из N.

C++
1
2
3
4
5
6
7
8
// Тест простоты числа n
bool is_prime(unsigned int n)
{
  // Проверяем, что число больше единицы (простое всегда больше)
  if (n <= 1) { return false; }
 
  // Проверяем делимость на числа от 2 до корня из n:
  for (unsigned int div = 2, max_div = sqrt(n); div <=
...
Вложения
Тип файла: zip is_prime.zip (6.6 Кб, 456 просмотров)
Аватар для Jin X
Asm/C++/Delphi/Py/PHP/VBA
Jin X вне форума
Старый
Рейтинг: 5.00. Голосов: 2.
«Карла и Джек – слаженный дуэт» или «Караоке Home Edition»
Запись от Jin X размещена 27.10.2018 в 09:44. Обновил(-а) Jin X 27.01.2019 в 22:14
Показов 4975 Комментарии 2

«Карла и Джек – слаженный дуэт» или «Караоке Home Edition»

Коля любит Олю, Оля любит мамбу, а я люблю петь 🎤. Громко, долго и "с огоньком". От зарубежного рока (преимущественно) до... русской попсы ладно, не будем углубляться, потому как речь в этой статье пойдёт не столько обо мне, сколько о реализации данного процесса своими силами.

Любители пева


Караоке-ресторан – дело хорошее, но это не всегда удобно, тем...
Аватар для Jin X
Asm/C++/Delphi/Py/PHP/VBA
Размещено в Музыка и звук
Jin X вне форума
Старый
Рейтинг: 5.00. Голосов: 2.
Простое, но недокументирова­­нное определение производителя процессора (Intel / AMD)
Запись от Jin X размещена 14.10.2018 в 20:58. Обновил(-а) Jin X 20.09.2023 в 13:19
Показов 3794 Комментарии 5

Простое, но недокументированное определение производителя процессора (Intel / AMD)


Обычно для определения производителя процессора используется инструкция cpuid (функция eax=0):
Assembler
1
2
3
4
5
6
7
  xor eax,eax
  cpuid  ; get vendor id string in ebx:edx:ecx
  cmp ecx,6C65746Eh  ; 'ntel' (full string is 'GenuineIntel')
  je .Intel
  cmp ecx,444D4163h  ; 'cAMD' (full string is 'AuthenticAMD')
  je .AMD
.another:
(я записал цифрами, т.к. компиляторы...
Вложения
Тип файла: zip CPUVendorTest.zip (2.3 Кб, 136 просмотров)
Аватар для Jin X
Asm/C++/Delphi/Py/PHP/VBA
Jin X вне форума
Старый
Рейтинг: 5.00. Голосов: 4.
За что я люблю Assembler?
Запись от Jin X размещена 27.07.2018 в 17:58. Обновил(-а) Jin X 04.09.2018 в 23:35
Показов 8029 Комментарии 12

За что я люблю Assembler?

Оговорочки

Хочу сразу оговориться, что правильно говорить не "ассемблер" (assembler), а "язык ассемблера" (assembly language), потому как ассемблер – это транслятор кода на языке ассемблера (т.е. по сути, программа MASM, TASM, fasm, NASM, UASM, GAS и пр., которая компилирует исходный текст на языке ассемблера в объектный или исполняемый файл). Тем не менее, из соображения краткости многие, говоря "ассемблер" (асм, asm), подразумевают именно "язык ассемблера". Синтаксис различных диалектов...
Аватар для Jin X
Asm/C++/Delphi/Py/PHP/VBA
Jin X вне форума
Старый
Рейтинг: 3.25. Голосов: 4.
Системные вызовы в Linux
Запись от Jin X размещена 18.07.2018 в 12:14. Обновил(-а) Jin X 21.06.2019 в 00:19
Показов 8267 Комментарии 1

Системные вызовы в Linux

В Linux, в отличие от Windows, прямые системные вызовы используются довольно часто. По меньшей мере, консольные приложения, написанные на ассемблере, порой содержат лишь системные вызовы, без обращений к функциям библиотек. Причём, этот механизм (как и номера функций(!)) различается для кода 32- и 64-битной разрядности (кстати, в Linux существует ещё и x32 ABI – это, попросту говоря, 64-битный код с 32-битными указателями).

Давайте разберёмся...

...
Вложения
Тип файла: zip Linux_syscall.NASM.zip (39.7 Кб, 523 просмотров)
Тип файла: pdf LINUX System Call Quick Reference.pdf (55.5 Кб, 489 просмотров)
Тип файла: pdf syscalls.pdf (420.0 Кб, 914 просмотров)
Тип файла: zip linux_sys_prog.zip (9.24 Мб, 3286 просмотров)
Тип файла: zip adv_linux_prog.zip (3.37 Мб, 23639 просмотров)
Аватар для Jin X
Asm/C++/Delphi/Py/PHP/VBA
Jin X вне форума
Старый
Рейтинг: 4.25. Голосов: 8.
Инструменты для низкоуровневого программирования
Запись от Jin X размещена 12.03.2018 в 20:55. Обновил(-а) Jin X 29.03.2022 в 12:47
Показов 45614 Комментарии 1


Компиляторы и компоновщики
  • MASM32 (Macro Assembler) – наверное, самый популярный пакет самого популярного ассемблера от Стива Хатчессона aka Hutch (содержит в себе также PoAsm), рекомендую сразу скачать ml.exe 8.0
...
Аватар для Jin X
Asm/C++/Delphi/Py/PHP/VBA
Jin X вне форума
Старый
Рейтинг: 3.83. Голосов: 6.
Подборка литературы по низкоуровневому программированию
Запись от Jin X размещена 11.03.2018 в 00:54. Обновил(-а) Jin X 29.03.2022 в 12:47
Показов 11832 Комментарии 2

Подборка литературы по низкоуровневому программированию
(книги, статьи, техническая документация)


Смотрите также:
Инструменты для низкоуровневого программирования
Полезные темы по низкоуровневому программированию
Обсуждение полезных ссылок, книг, инструментов...


Обучение программированию на ассемблере...
Вложения
Тип файла: rar TechHelp60.rar (738.2 Кб, 348 просмотров)
Тип файла: rar IntrList102.rar (793.3 Кб, 693 просмотров)
Тип файла: rar ASML.rar (58.3 Кб, 541 просмотров)
Тип файла: zip emu8086_rus_help.zip (249.9 Кб, 366 просмотров)
Аватар для Jin X
Asm/C++/Delphi/Py/PHP/VBA
Jin X вне форума
Старый
Рейтинг: 2.25. Голосов: 4.
Оптимизация кода: обходимся без ветвлений
Запись от Jin X размещена 05.02.2018 в 15:43. Обновил(-а) Jin X 04.05.2019 в 14:12
Показов 6432 Комментарии 4

Оптимизация кода: обходимся без ветвлений

Думаю, ни для кого не секрет, что использование условных переходов (инструкций jcc в ассемблере; конструкций if, while, case, for в языках высокого уровня), т.е. ветвлений, могут значительно снизить скорость работы функций. Несмотря на наличие "умной" системы предсказания переходов в современных процессорах, эта система нередко ошибается. Доказательством...
Аватар для Jin X
Asm/C++/Delphi/Py/PHP/VBA
Jin X вне форума
Старый
Рейтинг: 2.00. Голосов: 2.
Реально быстрый алгоритм вычисления НОД
Запись от Jin X размещена 03.02.2018 в 02:24. Обновил(-а) Jin X 26.03.2019 в 16:34
Показов 4295 Комментарии 0

Реально быстрый алгоритм вычисления НОД

Основными популярными алгоритмами вычисления наибольшего общего делителя (НОД) являются алгоритм Евклида и бинарный алгоритм. Первый очень простой и компактный, второй – якобы быстрый, поскольку в нём отсутствуют "долгие" операции деления, а присутствуют лишь операции сдвига. Однако на практике бинарный алгоритм зачастую работает раза в 2(!) медленнее алгоритма Евклида, поскольку в нём присутствует довольно много операций ветвления. Описанные в различных источниках бинарные алгоритмы вычисления НОД (в т.ч. в Википедии) подразумевают...
Вложения
Тип файла: zip GCDX.zip (2.7 Кб, 351 просмотров)
Тип файла: zip GCD386.zip (1.6 Кб, 388 просмотров)
Тип файла: zip GCD.zip (14.3 Кб, 340 просмотров)
Аватар для Jin X
Asm/C++/Delphi/Py/PHP/VBA
Jin X вне форума
Новые блоги и статьи
Какой локальный веб-сервер выбрать
InfoMaster 19.01.2025
В современной веб-разработке локальные веб-серверы играют ключевую роль, предоставляя разработчикам надежную среду для создания, тестирования и отладки веб-приложений без необходимости использования. . .
Почему планшеты и iPad уже не так популярны, как раньше
InfoMaster 19.01.2025
Эра революционных инноваций История планшетных компьютеров началась задолго до того, как эти устройства стали привычными спутниками нашей повседневной жизни. В начале 1990-х годов появились первые. . .
Как самому прошить BIOS ноутбука
InfoMaster 19.01.2025
BIOS (Basic Input/ Output System) представляет собой важнейший компонент любого компьютера или ноутбука, который обеспечивает базовое взаимодействие между аппаратным и программным обеспечением. . .
Какой Linux выбрать для домашнего компьютера
InfoMaster 19.01.2025
Современные реалии выбора операционной системы В современном мире выбор операционной системы для домашнего компьютера становится все более важным решением, которое может существенно повлиять на. . .
Как объединить два словаря одним выражением в Python
InfoMaster 19.01.2025
В мире программирования на Python работа со словарями является неотъемлемой частью разработки. Словари представляют собой мощный инструмент для хранения и обработки данных в формате "ключ-значение". . . .
Как без исключения проверить существование файла в Python
InfoMaster 19.01.2025
При разработке программного обеспечения на Python часто возникает необходимость проверить существование файла перед выполнением операций с ним. Это критически важная задача, которая помогает избежать. . .
Как определить, содержит ли строка подстроку в JavaScript
InfoMaster 19.01.2025
При разработке веб-приложений часто возникает необходимость выполнять различные операции со строками, среди которых особое место занимает поиск подстрок. JavaScript предоставляет несколько встроенных. . .
Что такое метаклассы в Python
InfoMaster 19.01.2025
Метаклассы в Python представляют собой один из самых мощных и одновременно сложных механизмов языка, позволяющий программистам контролировать процесс создания классов. По своей сути, метакласс. . .
Как удалить свойство из объекта JavaScript
InfoMaster 19.01.2025
В современной веб-разработке объекты JavaScript играют фундаментальную роль в организации и структурировании данных. Они представляют собой контейнеры, которые хранят связанные данные и. . .
Какая разница между String и string в C#
InfoMaster 19.01.2025
В языке программирования C# существует интересная особенность: для работы со строками можно использовать как String, так и string. Эта двойственность часто вызывает вопросы у разработчиков, особенно. . .
Как в Git откатить репозиторий к предыдущему коммиту
InfoMaster 19.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса, предоставляя разработчикам мощные инструменты для управления изменениями в. . .
Как работают замыкания (closure) в JavaScript
InfoMaster 19.01.2025
В мире современной веб-разработки замыкания (closures) представляют собой один из фундаментальных концептов языка JavaScript, который часто вызывает затруднения у начинающих разработчиков, но при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru