@Int64
Я всю дорогу думал, что так обнова медленно качается, впн вроде 500 мбит и летает быстро, не додумался заглянуть под капот.
Посмотрел скрипт, норм 🙂
@drprime said in Библиотека Aurora:
Но, я понимаю что Вами проделана большая работа.
Дам пару советов по оптимизации кода, это на будущее поможет Вам писать код лучше.Убрать все eval(). Кокой смысл от них?
Оптимизировать возврат функции. У вас много ненужных промежуточных переменных.
Например
Да, на счёт оптимизации возвратов я полностью согласен. Где успел, сделал return правильно, но в некоторых копипастил из старого кода, ещё не просматривая.
Со _spintax - просто не знал как это работает, потому заменил на костыль в виде этих двух функций. В следующем релизе сделаю так.
А вот с eval дело другое. Eval у меня только там, где без него не работает, по крайней мере в блоках кода. Хотя, я,если честно, те же самые функции без eval в библиотеке не тестил. В следующем релизе их переберу, если заработает без eval, оптимизирую.
@drprime said in Библиотека Aurora:
А какой тогда смысл человеку запоминать функции Вашего модуля, если можно просто запомнить функции js и bas?
Кстати, не призываю никого заменять знания js и BAS занием моей библиотеки. Напротив, лучше, если человек уже выучит js и api BASa и после, как и я, задумается об оптимизации кода. На вопрос "зачем" отвечу вашим же примером кода в таком случае:
Чтобы не писать (или не копипастить) код
_switch_http_client_main()
http_client_header(header)
А быстро ввести то, что запомнить проще:
ahc.getheader(header)
Согласитесь, даже agf.tmp() написать быстрее и проще, чем return _spintax(). Несмотря на то, что редактор кода произошёл от IDE-шки, писать длинный код в нём не так удобно, а уж серьёзные большие функции и подавно. Но сам редактор отличный, напрягает только отсутствие тёмного скина.
@pragmatik чтобы получить первое вхождение регулярки можно не прибегать к методам древних шаманов а заюзать простой match() с выборкой [0] из результата... нарпимер
var find = "my text for regex".match(/regex/i);
alert(find[0]) // выведет "regex"
Имхо тоже реально запомнить ну или загуглить если лень запоминать
В целом хз )) Буду наблюдать за развитием, начинание безусловно хорошее :)
Самый большой недостаток сторонних библиотек, что их не будет в скомпелированном скрипте. Можно конечно сам код добавлять скрипт. Но не вижу смысла в таких костылях для использования стандартного функционала.
Кстати @Pragmatik если ты научиш свою либу хранить кастомные сиппеты и вставлять их нажатием парой кликов это будет просто огонь )) я б только из за этого ее юзал постоянно :D
@qwaros said in Библиотека Aurora:
Кстати @Pragmatik если ты научиш свою либу хранить кастомные сиппеты и вставлять их нажатием парой кликов это будет просто огонь )) я б только из за этого ее юзал постоянно :D
Код в редакторе кода пишется вручную, так как у редактора движок от какой-то IDE, похоже на visual studio code или на phpstorm. В эту сторону можно копать, если узнать какой именно движок используется, к нему при любом раскладе можно писать расширения. Но и то это довольно сложно будет. Потому я и делаю вместо сниппетов функции, их можно легко копипастить из справочника.
Пример использования библиотеки:
// Читаю из ресурса proxy прокси
VAR_PROXY = asf.res("proxy")
// Устанавливаю прокси на http-клиент
ahc.proxy(VAR_PROXY)
// Проверяю, установились ли прокси
_switch_http_client_main()
http_client_get2("https://2ip.ru/",{method:("GET"),headers:("")})!
var content = ahc.content()
var regexp = "<big[\\s\\S]+\?>([\\s\\S]+?\)</big>"
var check = are.check(regexp,content)
if (check){
alg.name('Проверка прокси', 'HTTP-прокси успешно установлен***success')
}else{alg.name('Проверка прокси', 'HTTP-прокси не установлен!***error')}
@usertrue said in Библиотека Aurora:
Самый большой недостаток сторонних библиотек, что их не будет в скомпелированном скрипте. Можно конечно сам код добавлять скрипт. Но не вижу смысла в таких костылях для использования стандартного функционала.
Кстати, есть для этого какое-то решение? Я вот вижу разве что функцию, которая будет записывать все использованные в проекте функции в массив, а потом перед компилляцией по команде весь этот массив сохранять в файл. А потом уже этот код можно добавлять в начало проекта. Надо будет обязательно реализовать, потому как пока что вручную перекидываю из библиотеки в скрипт... Кстати, можно ещё добавлять файлы библиотеки в готовый проект.
@pragmatik Дак когда используется библиотека, то в нее не принито лезть. Когда я подключаю моудь например fs в node, томне как правило из его наверное полсиотни функций надо как правило максимум 3.
@pragmatik
Можешь убрать все из engine.js
Создать кнопку типа инициализация модуля, которая просто добавит все функции. Написать в мане что для начала работы нцжно инициализировать первым блоком в скрипте.
Но нужно проверить будет ли работать адекватно
@pragmatik said in Библиотека Aurora:
@qwaros это и делаю. Только вот если другой юзер будет компиллировать, ему ж надо то же самое делать. Надо мануал по использованию написать в следующей версии. Не все в курсе как библиотеки добавлять.
Не бросай, развивай и глядиш добавят в офф сборку :)
@drprime said in Библиотека Aurora:
Можешь убрать все из engine.js
Создать кнопку типа инициализация модуля, которая просто добавит все функции. Написать в мане что для начала работы нцжно инициализировать первым блоком в скрипте.
Но нужно проверить будет ли работать адекватно
Поэкспериментирую на досуге) Спасибо.
@qwaros said in Библиотека Aurora:
Не бросай, развивай и глядиш добавят в офф сборку :)
Рад что верите в проект, однако для оффициальной сборки пока сыровато. Но забрасывать я не намерен, может быть, через несколько версий все сложные действия БАС уже будут вызываться библиотекой, а несложные задокументирую.