Почему Вы решили, что операторы внутри одной функции, пусть даже асинхронной, должны выполняться одновременно? А если там просто вычисления и т.б. всякие ветвления/циклы?
Я всегда считал, что асинхронная функция выполняется отдельным потоком, при этом главная программа продолжает выполняться.
Попробуйте так:
async function fyn(){
sleep(1000)
}
Или попробуйте после doSome(); сделать console.log('3')
Вы явно не поняли принципов работы ipfw и kernel nat.
У Вас есть правило маскарадинга nat 1; я его не смотрел, надеюсь, что там всё верно.
Далее надо зарулить в этот маскарадинг пакеты, которые клиент посылает серверу: from 10.35.0.254; очень хорошо, хотя я бы добавил условие "исходящие".
Но кроме этого, в тот же маскарадинг надо зарулить и пакеты, идущие от сервера в ответ на запросы клиента. Желательно заруливать в маскарадинг только нужные пакеты; соответствующее правило будет что-то типа "от кого угодно; входящие на hn0; можно добавить IP-адрес интерфейса hn0, он у Вас берётся автоматически".
Ну или можно воспользоваться правилами на базе keep-state; у меня нет опыта в этой области.
Ещё я очень советую писать правила ipfw строго в порядке возрастания номеров: так намного легче читать.
Но в примере ниже у Вас что-то гораздо более сложное, там ищется не просто две цифры.
Короче говоря, попробуйте расписать действие каждого элемента выражения, тогда станет ясно.
Для начала надо определиться, в каком виде Вы планируете передавать результаты работы скрипта в браузер. Если в виде растровой (а хоть и векторной) картинки, то это так себе идея.
В общем случае JS, предназначенный для выполнения в браузере клиента, на сервер перенести нельзя. Ну, можно переписать, оставив в браузере некий proxy-код; идея красивая, но делать так не советую, ибо очень трудоёмко и требует отличного знания JS, в т.ч. изнутри.
Короче говоря, Ваша постановка задачи негодная. Попробуйте написать более общую задачу - чего именно Вы хотите добиться.
У меня ощущение, что Вам нужна не библиотека, а программа с полноценным юзерским интерфейсом.
А Автокаде можно написать скрипты, которые будут обрабатывать построенные чертежи. Можно в т.ч. считать периметр с площадью.
Хотя, конечно, Автокад для данной задачи сильно избыточен.
Это зависит от того, какой командный интерпретатор принимал команды. Например, при работе через Deco Commander, по выходе из программы-оболочки история команд очищается. А вот шеллы типа bash или csh хранят историю команд в файле, подробности зависят от настроек.
Пусть есть число N (в Вашем варианте - 20 или 3000). И есть время T, за которое надо посчитать. Выводим на экран ноль. Затем ждём время T/N и выводим один. Ну и далее аналогично.
Ожидание надо запускать ДО того, как начали выводить число.
Возможна проблема, когда компьютер не успевает выводить числа подряд. Тогда смотрим, сколько прошло времени, и выводим не очередное число, а то, для которого пришло время.
Репетитор - обязательно. Хорошо бы - пенсионер, которому нечего делать: он сможет недорого уделить много времени.
Изучать надо не по школьному курсу, а по тому, что знает ученик. Имеет смысл залезать за пределы школьного курса.
Разные хорошие книги. Навскидку: Ян Перельман, Мартин Гарднер, Пискунов.
Перцептивный хэш тем и хорош, что для слабо различающихся изображений он одинаковый.
А ещё можно организовать БД с этими хешами так, чтобы каждый хэш содержал ссылки на все хэши, которые от него мало отличаются. Ну или можно по ходе дела сгенерировать все хэши, отличающиеся от данного на один бит, на два бита, на три бита, etc; ну и запросить БД по этим вариациям.
Условно говоря, для понимания алгоритмов особого знания математики не требуется. Серьёзная математика применяется для доказательств типа "этот алгоритм имеет вычислительную сложность порядка n*log(n)". Но если Вы готовы принять утверждения без доказательств, то Вам проще.
Кроме того, такие книги имеет смысл читать несколько раз. В первый раз Вы не поймёте много, но понятное будет полезно. А дальше Вам станет ясно, какие знания следует прокачать.
Для начала хотелось бы знать, алгоритмы из какой области Вас интересуют. Универсального специалиста по всем областям трудно найти, и он, скорее всего, окажется менее полезным, чем тот, кто работает чисто по нужной области.
Т.е. правильнее всего было бы задать здесь те вопросы, которые Вы собираетесь задать ему. Возможно, тут уже есть подходящий специалист, который либо знает ответ на вопрос, либо знает, где это прочесть, либо знает, куда конкретно обратиться.