суббота, 18 сентября 2010 г.
Использование AutoIt
ACalc.rar
пятница, 17 сентября 2010 г.
ASM или Что делать?
пятница, 27 августа 2010 г.
Hamachi
Hamachi2
четверг, 12 августа 2010 г.
О паролях и лени
понедельник, 2 августа 2010 г.
О кодерах и кодинге
Теперь, к чему это я все веду.
1. Кодеры существа ленивые и без надсмотра менеджера ничего толком не сделают
2. Кодеры существа странные. Они в первую очередь задумываются о ядре, а уже потом в самом конце прикручивают интерфейс, чаще всего убогий. Т.е. без менеджера опять же напишут всякую охинею.
3. Кодеры существа самодовольные. Если вы попросите их написать программу, под тип калькулятора, то как ей управлять будет известно только Избранным, таким как сами кодеры (обычно 2-3 человека, тоже кодера)
4. Кодеры существа эгоистичные, очень сложно двум кодерам вести проект: где первый обзовёт переменную "countINDEX", второй гордо напишет "AUI" или что-то в этом роде
Итак, вывод: Процесс написания проекта нифига не зависит от одного кодера. То, что он напишет - процентов 50%, максимум 60% от того, что нужно на самом деле. А если и напишет, то это ещё надо и заказчику спихнуть, при этом никаких: "Э.. А вы зачем сразу две кнопки нажали? У меня это и не предусмотрено!" или "Главное вот на этом процессе чуть-чуть подождать и ничего не нажимать - идет процесс анализ данных. Ну и что, что он идет 20 минут? Зато это самый красивый метод!" и т.п.
пятница, 30 апреля 2010 г.
Оптимизация кода AutoIt
Все кто пишет на AutoIt`е жалуются на медленность кода. Ну я тоже не исключение=) Вот и решил провести маленькое исследование - какая из функций будет работать быстрее - так, которая вызывается из UDF, описанная в текущем файле или сразу код функции? До начала самого исследования думалось что по скорости они будут расположены так:
1. Сам код функции
2. Описанная в текущем файле
3. Вызываемая из UDF
Итак, для теста было создано два файла:
головной:
#include <TEST.au3>
;Немного подождём - что бы скрипт нормально загрузился и размялся перед боем
$SUM = 0
For $J = 1 To 1000
$SUM += TEST()
Next
;Здесь - для конкретного кода, а не вызывания функции
$time3 = TimerInit()
$SUM = 0
For $J = 1 To 1000
$RET = 0
For $I = 1 To 100
$RET *= $I
Next
$SUM += $RET
Next
$time3 = TimerDiff($time3)
;Здесь будем замерять время для функции вызванной из UDF
$time1 = TimerInit()
$SUM = 0
For $J = 1 To 1000
$SUM += TEST()
Next
$time1 = TimerDiff($time1)
;А здесь - для описанной ниже
$time2 = TimerInit()
$SUM = 0
For $J = 1 To 1000
$SUM += TEST2()
Next
$time2 = TimerDiff($time2)
MsgBox(0,"Результаты", "Из UDF: " & $time1 & Chr(13) & "Внутри: " & $time2 & Chr(13) & "Код: " & $time3)
Func TEST2()
$RET = 0
For $I = 1 To 100
$RET *= $I
Next
Return
EndFunc
TEST.au3 :
$RET = 0
For $I = 1 To 100
$RET *= $I
Next
Return
EndFunc
Итак, после 10 замеров получили вот такой результат:
1. Сам код функции, а не её вызов
2 и 3 Вызов из UDF и вызов их текущего файла
Причём, влияет порядок следования функций. Например если сначала замерять time1, а потом time2, то time1 будет больше. Если наоборот, т.е. сначала time2, потом time1, то time2 будет больше.
Итак, резюмирую:
- На скорость работы скрипта не влияет расположение функции - она может быть описана как в отдельном файле, так и в текущем.
- Отказ от функций и использование непосредственно кода этой функции даёт существенный прирост скорости.
среда, 28 апреля 2010 г.
Простой навигатор для консоли
Итак, менюшка уже описана, а вот и её применение. Простенький навигатор по диску с помощью меню. Может перемещаться по папкам, запускать любые файлы. Пока всё - это все лишь пример применения меню=) Но мне вещь показалась полезной при работе в консоле=)