Ычан: [d | b / bro / hr / l / m / mi / mu / o / ph / r / s / sci / tran / tu / tv / x | es / vg | au / tr | a / aa / c / fi / jp / rm / tan / to / vn / vo]
Имя
Animapcha image [@] [?]
Тема   (новая нить)
Сообщение flower
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаются файлы типов 7Z, BZ, BZ2, GIF, GZ, JPG, MO, MP3, MP4, OGG, OGV, PDF, PNG, PSD, RAR, SVG, SWF, TXT, WEBM, WEBP, XCF, ZIP размером до 5000 кБ.
  • Ныне 3582 unique user posts. Посмотреть каталог
  • Максимальное количество бампов нити: 500
No. 24709       [Ответ]
Здравствуйте, пытаюсь соединить 2 БД, в чем проблема (1-ый скрин БД, 2-ой листинг и ошибка)
No. 24711    
Довожу до вашего сведения, что RAR формат открывается только проприетарными продуктами. Я бы очень хочел помочь, но к сожалению ничем не могу помочь, так как пользуюсь только свободным программным обеспечением, чего и вам охотно советую. Можете запаковать файлики в ZIP или картиношки просто в тред залить.

Зачем здоровому человеку скачивать файл, разархивировать его, открывать в картиношки у себя, альтабатсья при написании ответа, а потом файлики подтирать?

Ты пойми, я то тебе ответил, но по жизни с тобой такого вряд ли произодёт когда нибудь ещё, особенно если продолжишь себя так вести. Мир~
No. 25021    
>>24711
https://github.com/Lesik/unrar-free
Наслаждайся.
No. 25152    
>>25021
> It uses the GPL'd UniquE RAR Library by Christian Scheurer and Johannes Winkelmann.

>> Please note: further development of unrarlib has been stopped. The current version is stable but supports only old RAR2 archives.

Да и вообще, попасть в пакетники серьёзных дистров вряд ли получится, там же всё патентами вдоль и поперёк изувеченно.
togahimiko3.jpg - (33.05KB, 400×231)
25138
No. 25138       [Ответ]
Настраиваю примитивную защиту от DDoS на nginx используя limit_req и fail2ban. Fail2ban постоянно проверяет логи (значит есть нагрузка в этом плане), есть ли возможность использовать какой-нибудь скрипт, который сразу будет отправлять IP в бан? Решил в какой-то момент использовать ipset (утверждают, что производительнее при большом кол-ве IP адресов), установил firewalld и ipset, сделал в конфиге fail2ban:
banaction = firewallcmd-ipset

IP с которого выполняю DDoS на свой сервер был в списке забаненных ipset, но никакой реакции за этим не следовало, пришлось вернуть:
banaction = iptables-multiport

Почему с firewallcmd-ipset могло не получиться? Оно выдаёт ещё какую-то ошибку при выполнении команды systemctl status filrewalld:
2021-02-03 10:28:09 ERROR: '/usr/sbin/iptables-restore -w -n' failed: iptables-restore v1.8.2 (nf_tables):
line 4: RULE_REPLACE failed (No such file or directory): rule in chain INPUT
line 4: RULE_REPLACE failed (No such file or directory): rule in chain OUTPUT

2021-02-03 10:28:09 ERROR: COMMAND_FAILED: '/usr/sbin/iptables-restore -w -n' failed: iptables-restore v1.8.2 (nf_tables):
line 4: RULE_REPLACE failed (No such file or directory): rule in chain INPUT
line 4: RULE_REPLACE failed (No such file or directory): rule in chain OUTPUT

Однажды у меня сервер совсем перестал отвечать, пришлось выполнить iptables -F, оно начало работать, решил удалить firewalld и ipset на всякий случай (чёрная полоса началась в жизни), но теперь при перезагрузке сервер не отвечает на запросы до выполнения iptables -F. С чем это может быть связано? По ssh отвечает, а вот по http до выполнения iptables -F выдаёт ERR_TUNNEL_CONNECTION_FAILED.
Какие знаете методики защиты от DDoS, статьи, есть годные книги? Ещё для защиты от DDoS скопировал данные настройки (которые не особо понимаю):
### ADDITIONAL ANTIDDOS
net.ipv4.icmp_echo_ignore_all=1
net.ipv4.tcp_max_syn_backlog=2048
net.ipv4.tcp_synack_retries=1
net.ipv4.tcp_syncookies=1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.tcp_keepalive_time = 60
net.ipv4.tcp_keepalive_intvl = 10
net.ipv4.tcp_kee
Сообщение слишком длинное. Полный текст.
No. 25139    
Во, с этой проблемой:
> теперь при перезагрузке сервер не отвечает на запросы до выполнения iptables -F
справился с помощью удаления iptables-persistent.
1278588219004.jpg - (57.04KB, 250×250)
24999
No. 24999       [Ответ]
Потому что я занимаюсь этим уже почти пять лет.

Не путать с картинкопомойко-грабберами.
9 сообщений и 1 изображение пропущено. Для просмотра нажмите «Ответ».
No. 25028    
1169648139489.gif - (21.27KB, 300×300)
25028
>>25018
Окей, я обновил >>25010-ссылку. (да, там cron_fetch.php, я просто сменил расширение)
Елси у вас wget в PATH (то есть чтобы его запустить не надо указывать полный путь), то надо раскомментировать строку 35 и удалить строки 37-87. Иначе ничего делать не надо. Можно разве покрутить аргументы у sleep на строках 92 и 96.
Если их не крутить, то одна доска архивируется минимум 3 минуты, значит полный цикл займёт 4+ часа.

Наверное есть желание настроить для разных досок разную частоту? Строка 23 ожидает переменную $boardBook, которую берёт из autotag.php. Можно скопировать её оттуда в этот cron_fetch.php, переименовать в какой cron_fetch_may.php, оставить в нём толко may и поставить в cron обновляться раз в ~секунду. Если вам надо так часто, то sleep на 92 и 96 точно стоит убрать, но readUrlInfo на 43 в любом случае не даст обновить тред чаще чем прописано в конфиге... если не выставлен MANUALUPDATE там же? Уже не помню. Вот, тогда только в другом cron_fetch_xyz.php для других досок надо будет may из списка убрать.

Как-то так? Отпишитесь, если вам непонятно или наоборот всё заработало. Я бы про ваш личный архив послушал.
No. 25032    
>>25028
>4+
Ха-ха.
Там, наверное, задержка между даунлоадом картинок ещё есть. В общем, я запустил где-то до написания этого поста. Выкачало 21 гиг и всё ещё идёт. Иногда жалуется на ошибку, правда...
No. 25033    
>>25032
Жалуется на линии 83 и 85, там, видимо $info == false. Хм. Не критично, но докачает - поправлю.
No. 25034    
>>25032
Нащёлкало 29 гб. Посмотрим, как быстро будет во второй раз идти, если убрать все добавочные sleep.
No. 25035    
>>25034
Почти два часа. Общий объём теперь 32 гб.
Ошибка была когда $info переприсваивалось в строке 59. Значит, строки 81-84 должны быть под if от стр. 76.

Запустил в третий раз, без дебаггера. Возможно это сделает работать чуть быстрее. Ещё бы убрать весь вывод, но это перелопачивать довольно много кода... когда я могу, в принципе, просто переписать свою грабилку. И не факт, что это кому-то нужно или сделает код быстрее.
No. 25036    
>>25035
Где-то час. В общем, писать всё в одном потоке не вариант.
No. 25132    
>>25028
Всё ещё надеюсь, что вы отпишетесь, иначе пойду в /a/
Screenshot_20201030_113945.png - (516.36KB, 2032×1172)
24993
No. 24993       [Ответ]
Разрабатываю движок АИБ, сайт: https://symfony2ch.ru
короткий вариант домена: https://s2ch.ru
скрипт может в любой момент выдавать ошибки, сервер падать, могу принимать реквесты по улучшению функционала.
19 сообщений и 4 изображений пропущено. Для просмотра нажмите «Ответ».
No. 25097    
cloudflare.com вообще ни о чём, легко обошёл DoS-ер. отключился от данной услуги, попытался настроить сервер и оно тест apache2 выдерживает:
ab -c 50 -n 30000 ru2ch.com/

### ANTIDDOS ###
limit_conn_zone $binary_remote_addr zone=perip:10m;
#limit_req_zone $binary_remote_addr zone=dynamic:10m rate=2r/s;
limit_req_zone $binary_remote_addr zone=dynamic:10m rate=1r/s;
################

### ANTIDDOS ###
##limit_conn perip 50;
limit_conn perip 5;
################

### ANTIDDOS ###
## limit_req zone=dynamic burst=5 nodelay;
limit_req zone=dynamic burst=1 nodelay;
################
No. 25098    
не, оно не помогает, нужно таки разбираться в этих настройках сервера. теперь у меня грузит сам nginx от теста.
No. 25100    
Через fail2ban количество запросов контролирую. https://itstuff.info/linux_unix/configuretion-fail2ban-and-nginx-to-protect-from-dos/
No. 25101    
Не знаю зачем это всё рассказываю... мои дальнейшие планы.
Делая простую DDOS-защиту понял некоторые вещи, так вот, собираюсь таки кэшировать html страницы полностью, а не отдельно запросы из базы данных, да и вообще кэшировать все возможные алгоритмы, чтобы снизить нагрузку на процессор. К тому же, собираюсь уменьшить количество запрашиваемых скриптов, потому что это поможет защититься от DDOS'а, вот сейчас у меня каждое новое сообщение в треде скачивается, а значит, если их 10, тогда будет 10 запросов, мне нужно сделать так, чтобы обычный пользователь кардинально отличался от DDOS'ера, который запрашивает много страниц за один раз.
Всё это сейчас не так важно, потому что нагрузки нету и пользователей, некуда торопиться, отдыхаю.
No. 25107    
>>25101
Планы рассказывают для ответственности, например. Дальше не читал.
No. 25112    
>>25107
Нет, дело в том, что TODO можно составить где-нибудь в текстовом документе, а можно на форуме в интернете.
No. 25122    
>>25007
Эта фича лечится unset($item); после foreach( $array as &$item ) {}.

Но если тебе приходится изменять элементы массива в foreach, то твой код дурно пахнет.
No. 9999       [Ответ] [Первые 100 сообщений] [Последние 50 сообщений]
http://sourceforge.net/projects/rr-rr/
Предыдущий тред: >>4274
140 сообщений и 73 изображений пропущено. Для просмотра нажмите «Ответ».
No. 24733    
max [mask].png - (33.83KB, 802×356)
24733
>>24724
Да, не подумал, у меня исходные данные триггерят худший случай с полностью непредсказуемыми ветками. Для сравнения проверил на полностью предсказуемых (pred) и сделал безбранчевый вариант (mask).
Относительно друг друга они работают за время, относящееся как
(vector) 1 : (scalar-pred) 2,1 : (scalar-unpred) 10 : (mask-pred) 3 : (mask-unpred) 3 (неудивительно).

Ранее я считал, что переносы между флоатовыми и целочисленными регистрами жутко дорогие: так, в Java при домножении 8-битного цвета на альфу у меня получался выигрыш в 7–13 раз (https://ideone.com/vj13We), если делать это не прямым
float alpha;

for (each pixel) pixel8 = round(pixel8 * alpha);
а, скажем,
int alpha10 = round(alpha * 1024); // 10 бит точности — эмпирическая цифра

for (each pixel) pixel8 = (pixel8 * alpha10 + 512) >> 10;
— в целых числах.

У @oldnewthing были статьи про SSE-трюки, где он прожужжал все уши domain crossing penalty:
>There are a few ways to load constants into SSE registers.
> • Load them from memory.
> • Load them from general purpose registers via movd.
> • Insert selected bits from general purpose registers via pinsr[b|w|d|q].
> • Try to calculate them in clever ways.
>Loading constants from memory incurs memory access penalties. Loading or inserting them from general purpose registers incurs cross-domain penalties. So let’s see what we can do with clever calculations.

Я даже думаю (так, примерно почувствовал), что в случае с альфой это связа
Сообщение слишком длинное. Полный текст.
No. 24736    
70468793_p0.png - (198.33KB, 3190×3366)
24736
>>24734
UPD2: возможно, компилятор даже прав, вычисляя (a.x > b.x) or (b.x <> b.x) через джампы. Форсированно безджамповый вариант не взаимодействует с предсказателем и выдаёт 6 в любую погоду, а джампы выдают
(mask-precise-pred) 3,5 : (mask-precise-unpred) 11.
В предположении, что предсказатель работает (иначе зачем он нужен), реальные результаты будут гораздо ближе к 3,5, чем к 11, то есть лучше 6, и, надо заметить, однозначно (и ожидаемо) хуже исходных (scalar-precise). В частности, если мы вычисляем значение чего-то пикселеподобного и у нас вылезает конкретный результат a≷b или NaN, то у соседей, которых мы вскоре будем считать, с высокой вероятностью вылезет то же самое, поэтому предсказатель сработает лучше, чем его отсутствие.
No. 24739    
Clipboard01.png - (71.07KB, 1280×800)
24739
Почему исчезла собранная версия?Несколько лет назад была, с радостью играл.А что делать вот с этим безобразием, ума не приложу.
No. 24768    
https://web.archive.org/web/20151021190423/http://410chan.org/dev/res/4274.html

просто чтобы проще было не терять
No. 25030    
10 лет прошло с начала разработки. Технологии рендера изменились до неузнаваемости. Уже делают рилтайм рейтрейсинг с постобработкой нейроночками, и все это с аппаратной поддержкой.
...
А ты копаешь ассемблерный код сравнения чисел.
No. 25117    
>>25030
Я конечно понимаю, что бесконечное копание ассемблерного кода это самоцель проекта, но почему бы по-быстрому не набросать то же самое на юнити. Мне кажется концепт сам по себе вполне играбелен, и достоин того, чтобы принять более-менее оконченный вид.
No. 25121    
>>24739
Я удалил старые билды, а из исходников скомпилировать нельзя (на самом деле можно, но, пожалуйста, просто не пытайся). Всё будет, главное сейчас сидеть тихо и не бухтеть.

>>25117
Я не буквально «бесконечно копаюсь в ассемблерном коде» (хотя и занимаюсь чем-то близким по осмысленности), я и ассемблер-то почти не знаю. Просто написал под впечатлением, что вот, смотрите, интринсики завезли. BTW:
>>25030
>10 лет прошло ... Технологии рендера изменились до неузнаваемости.
Всё ясно, автору 10 лет.
Да нет, почти всё придумано в прошлом веке. ЭВМ Наири-3 поддерживала разделение времени и эмуляцию других ЭВМ. Рейтрейсинг и нейросети использовали ещё раньше.

>занимаюсь чем-то близким по осмысленности
Например, я буквально пару дней назад догадался сделать хранение базиса касательного пространства в вершине не обычными 2 векторами (нормаль + касательная, 3-й восстанавливается в шейдере через их cross), а кватернионом, т. к. этот базис, в предположении, что не может быть разортонормализован или отражён, представляет собой поворот некоторого исходного базиса — скажем, X = (1, 0, 0), Y = (0, 1, 0), Z = (0, 0, 1).

Ну, это старая идея и я давно читал про неё, но мне не хватало точности при хранении кватерниона как непосредственных X, Y, Z в 10-10-10 битах с восстановлением в шейдере W через √(1−x²−y²−z²), а хранить с лучшей точностью смысла нет (не будет выигрыша относительно 2 векторов). Теперь же я прочитал про идею (вот здесь в конце: https://archive.org/stream/GDC2015McAuley/GDC2015-McAuley_djvu.txt) отбрасывать не W, а максимальный по модулю компонент, и в 2-битовом W сохранить индекс отброшенного компонента. То есть кватернион (X, Y, Z, W) пакуется в один из вариантов:
(Y, Z,&
Сообщение слишком длинное. Полный текст.
ddt.png - (80.37KB, 950×738)
25012
No. 25012       [Ответ]
Привет всем, я не знаю подходит ли этот вопрос сюда, но все же.
Может кто разбирается в Cisco Packet Tracer'е?
Вот есть у меня такая сборка, нужно чтобы первый компьютер мог запиговать второй, но у меня не получается. Обязательным условием является использование Static Route.
Я не понимаю в чем проблема, команда прописана правильно, но пинг не проходит....
No. 25013    
routers.png - (177.51KB, 1131×770)
25013
Конфиг роутеров, если нужно.
No. 25014    
>>25013
>но пинг не проходит
Хм, а вот это учел?
https://networkology.net/2013/03/06/using-packet-tracer-for-validating-icmp-traffic/
>Because the ASA does not statefully inspect ICMP packets (by default) you have to vouch for the return packets as well. So you’ll be running two packet-tracer commands to verify that ICMP packets go through and come back.
No. 25015    
>>25013
У тебя же 172 вместо 192 местами написано, потому и не работает. Ну или еще почему-то нибудь, конфиги-то обрезаны.
python logo.png - (5.83KB, 377×203)
14767
No. 14767       [Ответ]
Нить о программировании на языке Python.
39 сообщений и 4 изображений пропущено. Для просмотра нажмите «Ответ».
No. 24633    
>>24629
Если ты про сам _curses, который подгружается тут:
https://github.com/python/cpython/blob/142566c028720934325f0b7fe28680afd046e00f/Lib/curses/__init__.py

то нет, это не системный модуль, это питоновский сишный-модуль оболочка:

https://github.com/python/cpython/blob/578c3955e0222ec7b3146197467fbb0fcfae12fe/Modules/clinic/_cursesmodule.c.h
https://github.com/python/cpython/blob/4804b5b3df82e7892ca0550b02f902bcfc16bb48/Modules/_cursesmodule.c

Который через еще одну оболочку:
https://github.com/python/cpython/blob/dffe4c07095e0c693e094d3c140e85a68bd8128e/Include/py_curses.h

Дает интерфейс к сишной линуксовской библиотеке ncurses:
https://en.wikipedia.org/wiki/Ncurses

Которая уже внутри у себя дергает нужные системные вызовы.
No. 24647    
Черт возьми этот Пайтон! Какого черта реализация curses в нем работает так криво?! Я две недели бился над проблемой того, что при попытке запустить код приведенный в примерах справочников по curses я всякий раз ловил ту или иную ошибку. Причем ошибки происходили как в Винде, так и на Маке с Линуксом. А гугл, зараза такая, выдает все что угодно, но только не то, что могло бы касаться curses или хотя бы схожей ошибки. И что вы бы думали, причина оказалась в том, что curses по какой-то неведомой причине тупо не может нормально запуститься, если запуск кода происходит из IDE. Но если запускать из под терминала, то всё прекрасно работает. И об этом нигде не сказано ни слова.
Черт, надеюсь в пайтоне подобная фигня имеется только в одном этом единственном модуле которым похоже просто тупо никто не пользуется. Иначе в жопу этот пайтон.
No. 24651    
Как здесь исправить ошибку?

Код тут: https://github.com/dvschultz/ai/blob/master/StyleGAN2_Colab_Train.ipynb
No. 24653    
1300044776986.jpg - (34.07KB, 600×600)
24653
>>24647
>Запускать код из питоновского IDE
>Код, завязанный на обращения к стандартному шеллу
>Из псевдошелла IDLE
>Даже не попробовать запустить так
No. 24657    
>>24653
В IDLE не работаю, так как он не особо удобный по сравнению с Джини или тормазнутым VS. А эти два редактора запускают код во вполне стандартном терминале. Прошу простить меня, если есть существенная разница между тем, чтобы запустить файл с кодом непосредственно из терминала или предоставить IDE самой выполнить эту задачу, я не настолько прошаренный программист, чтобы знать подобные нюансы.
No. 24915    
Здравствуйте. Я хочу научиться программировать на Python, но у меня ничего не получается. Я абсолютно ничего не понимаю в программировании. Ярко выраженный гуманитарий.По математике и алгебре всегда получал двойки и тройки. В школе не мог выучить даже примитивный QBasic.Скачал последнюю версию Python и самоучитель. И в первых уроках у меня появились проблемы (ошибки в коде, туплю сильно во время выполнения заданий). Можете посоветовать, хорошие самоучители или курсы, только на русском? А то я не справляюсь, а желание выучить язык, есть.
No. 24916    
x49602088.jpg - (34.46KB, 248×353)
24916
>>24915
Как насчет "Простой Питон, современный стиль программирования"?
oQFiww-_CQs.jpg - (194.96KB, 1280×688)
24598
No. 24598       [Ответ]
В общем, немного кодирую на C#, решил для практики скатиться в геймдев, к тому же у меня давно была идея для игры:
Копипастнул с конфы, чтоб заново не строчить
В общем идея такая: игра по типу слендермена, но чуть получше.
ГГ: Лена (тян с фиолетовыми волосами), оказывается в лесу. Ее цель: добраться до лагеря. Но за ней бегает монстр (её двойник).
В чем отличия от слендермена: не нужно искать записки, просто найти выход. Но и к выходу добраться будет не просто: в старом корпусе нужно отыскать вход в туннель , а чтобы по нему пойти, нужен фонарик (темно ж), находишь бункер, а чтоб открыть дверь надо найти лом, когда откроешь дверь впереди будет лабиринт и т.д.
(геймдев уровня б)
Может, есть те, кто работает с 3д графикой? На всякий оставлю свой тг для связи: @aNoname74
Всем хорошего дня!
No. 24599    
Здраствуйте. Я, Кирилл. Хотел бы чтобы вы сделали игру, 3Д-экшон суть такова... Пользователь может играть лесными эльфами, охраной дворца и злодеем. И если пользователь играет эльфами то эльфы в лесу, домики деревяные набигают солдаты дворца и злодеи. Можно грабить корованы... И эльфу раз лесные то сделать так что там густой лес... А движок можно поставить так что вдали деревья картинкой, когда подходиш они преобразовываются в 3-хмерные деревья. Можно покупать и т.п. возможности как в Daggerfall. И враги 3-хмерные тоже, и труп тоже 3д. Можно прыгать и т.п. Если играть за охрану дворца то надо слушаться командира, и защищать дворец от злого (имя я не придумал) и шпионов, партизанов эльфов, и ходит на набеги на когото из этих (эльфов, злого...). Ну а если за злого... то значит шпионы или партизаны эльфов иногда нападают, пользователь сам себе командир может делать что сам захочет прикажет своим войскам с ним самим напасть на дворец и пойдет в атаку. Всего в игре 4 зоны. Т.е. карта и на ней есть 4 зоны, 1 - зона людей (нейтрал), 2- зона императора (где дворец), 3-зона эльфов, 4 - зона злого... (в горах, там есть старый форт...)

Так же чтобы в игре могли не только убить но и отрубить руку и если пользователя не вылечат то он умрет, так же выколоть глаз но пользователь может не умереть а просто пол экрана не видеть, или достать или купить протез, если ногу тоже либо умреш либо будеш ползать либо на коляске котаться, или самое хорошее... поставить протез. Сохранятся можно...

P.S. Я джва года хочу такую игру.
No. 24821    
>>24599 Если добавите еблю гусей, кишки и эльфов-педофилов, то я задоначу
No. 24850    
>>24599 давнеько я делал подобный пост в пикаюу и в комментах было написано: я джва года жду такую игру. Совпадение? не думаю..
No. 24858    
>>24599>>24821>>24850
Я уже 20 лет жду. Когда наконец сделают?
>Всего в игре 4 зоны...
Простите, не сдержался.
No. 24867    
VuVczQe4Mh0.jpg - (347.88KB, 1830×2048)
24867
Дерьмо. С точки зрения бизнеса выйдет не очень. Лучше подумай ещё.>>24598>>24598
200px-JavaScript-logo.png - (6.68KB, 200×200)
7318
No. 7318       [Ответ] [Последние 50 сообщений]
Я знаю, это не очень хороший тред, но посоветуйте мне книжку по JavaScript.
Мне нравится, когда такие книги больше похожи на справочник, но если там будут кое-какие примеры, этика использования приемов, это будет просто супер. Можно на английском. Я собираюсь приобрести бумажную версию, так что желательно чтобы я смог достать её в книжных Москвы. Алсо, я туговат, и хочу чтобы разжевано было всё.
59 сообщений и 11 изображений пропущено. Для просмотра нажмите «Ответ».
No. 19373    
изображение.png - (10.56KB, 389×285)
19373
Запилил функцию, которая достает строку из свойства объекта и добавляет в конец строку-аргумент, если ее там нет. Только почему-то она не хочет работать. А именно, она стопается на этапе условия "if".
No. 19374    
>>19373
Для начала, не нужно писать велосипед, когда есть https://developer.mozilla.org/ru/docs/Web/API/Element/classList
По коду, в строке
> tempClassName.split(' ');
Допущена та же ошибка, что была описана в >>19313
String.spit() возвращает массив, а не превращает строку в массив и не присваивает переменной, хранящей эту строку новое значение. То, что alert(tempClassName) выдает значение obj.className, а не массив ["open", "menu"], не насторожило?
Ну а далее со строкой работают как с массивом, естественно у строки нет методов push и join.
Советую заиметь привычку использовать const вместо var, чтобы не возникало желания переиспользовать переменные для хранения разных типов и не подразумевать ошибочно, что неизменяемые типы должны изменяться.
https://jsfiddle.net/cgbzmk7u/1/
No. 19375    
>>19370

На странице https://www.heroku.com/pricing предлагают бесплатно до 1000 дино×часов в месяц на 512 мегабайтах памяти и с засыпанием через полчаса неактивности. (Больше и бессоннее — за денежку.)

Можно поискать и найти ещё другие хостинги. Я сообщил только о первом пришедшем на ум.
No. 19376    
Разумѣется, отвѣтъ >>19375 может дополнительно быть расширен упоминанием о том, что для Node.js не обязательно искать спецхостинг, так как можно вписать запуск сервера в автозагрузку у любого VPS, у любого VDS, да даже у домашнего компьютера с выделенным IP-адресом.
No. 19380    
>>19374
> Для начала, не нужно писать велосипед, когда есть https://developer.mozilla.org/ru/docs/Web/API/Element/classList
Да, я до них еще не дошел просто до того. Просто я специально не заглядываю наперед в методах, потому что хочу сделать велосипед из дерева. Ибо так я себе как бы делаю задачу тяжелее, а значит могу развивать мозг. Это как с книгами. Чтобы иметь хоть какую-то креативность, нужно читать книги, но слишком много читать - это вредно,так как все уже поднесено разжеванным и думать не надо. Что-то меня не в ту сторону понесло
> Допущена та же ошибка, что была описана в >>19313
> String.spit() возвращает массив, а не превращает строку в массив и не присваивает переменной, хранящей эту строку новое значение. То, что alert(tempClassName) выдает значение obj.className, а не массив ["open", "menu"], не насторожило?
Ой, я по привычке. Почему-то до сих пор на практике строки воспринимаю как массив. Не знаю, как выработать противоположную привычку.
> Советую заиметь привычку использовать const вместо var, чтобы не возникало желания переиспользовать переменные для хранения разных типов и не подразумевать ошибочно, что неизменяемые типы должны изменяться.
А вот тут детальнее. Что за const? Никогда о ней не слыхал.
No. 19381    
>>19380
const это как var, только const. Вместо переменной будет константа. На практике именно изменяемые переменные нужны довольно редко. Ознакомиться со всеми этими вещами можно в виде нескучных уроков: https://youtu.be/2iLVFyYwyRA
Еще по всем приведенным примерам кода видно очень вольное использование return:
> return alert("Данный класс уже существует")
Вопрос: что вернет эта функция в данном случае? Что она должна возвращать и зачем?
Кроме того, научись пользоваться консолью браузера и отладчиком, кажется весь твой инструментарий сейчас ограничен alert().
No. 24849    
5512_Orange_Hartpfy.png - (19.88KB, 128×121)
24849
Посоветуйте годный гайд по ascii рогаликом на чистом canvas js без всяких сторонних либ.
ЗЫ: нигде такого не нашел, а самому додуматся тяжело
hahahha.png - (2.54MB, 5079×1455)
24802
No. 24802       [Ответ]
Хочу сделать модификацию к Стимовской игре Helltaker. Посоветуйте, какие программы нужны, есть ли какие либо гайды или статьи на русском языке?
No. 24803    
Погуглить форумы, зайти в тоже сообщество игры в стиме, это настолько тяжело, что легче спросить в дохлом разделе дохлой борды.
No. 24807    
>>24802
Зависит от того, какие ресурсы игры тебе нужно менять.

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

Например, думаю ты уже видел, что диалоги в игре лежат в открытом виде и их можно редактировать обычным блокнотом:
https://steamcommunity.com/sharedfiles/filedetails/?id=2124884938
Удалить сообщение []
Пароль  
[Mod]
[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19]