Предыдущий: >>1520569 (OP)НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!Для программирования на ХТМЛ https://codepen.io/pen/Для Ноды с консолькой https://repl.it/languages/nodejsДля фреймворков https://codesandbox.io/Залить, задеплоить страничку, сервер, контейнер https://zeit.co/nowАноны, хочу получить советов мудрых, высераю пару предложений и код на скриншоте, а получаю смехуёчки. Как быть?Если рассчитываешь получить дельный ответ, формулируй правильно вопрос:У меня есть проблема\задача (А) %текст-ошибки или задача%. Я пытался решить ее так %кусок-кода-опционально% (Б), у меня не вышло %текст-ошибки%. Я погуглил, почитал документацию и попробовал сделать так %кусок-кода-%(В), но получаю ошибку (Г).Сделай песочницу по ссылкам выше для ясности и удобства. Если никогда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Аноны, есть вопрос по гитхабу и реакту, знаю что есть тред отдельный по это все, но все же.Вот я создал репу на гитхабе, запушил, решил сделать ветку gh-pages для хостинга там. В новую ветку перешла весь мастер целиком, хотя мне по сути нужны только внутренности папки build. В итоге я нашел npm gh-pages, с которым все получилось, но пришлось добавлять 2 скрипта и еще одно свойство в джейсонину, это какая-то хуита.Как это делается все руками? Как это делается по-человечески? Ветка gh-pages создается заранее и в неё заливается только build? Или папка отдельно заливается руками? Или тот npm пакет это дефолтный вариант?
>>1525937И в стандартизации. Может даже в основном в стандартах дело.Люди имея на руках библиотеки с отличной документацией, с примерами бест-практикс, с самой структурой побуждающей писать определенным порядком - умудряются так костылить и велосипедить,так что хоть свет туши.Тот анон в пример написания нативным JS ставил какой то всратый слайдер. Заебись сложность, космическая.А ты хотел бы ковырять приложение в котором какой нибудь маня-деятель наебашил свой реакт, с редуксом и сагами? Наебашил - ну как шмогла, документация - ебись сам, надежность велосипеда - а хуй его знает.
>>1526001Это всё входит в понятие "штабильность и ифраструктура"Нет, не стал бы, но это нихуя не значит, потому что аналогия говно. querySelector, fetch, promise - это не маня-деятель наебашил свой реакт, это просто современные реалии стдлибы. А ванила-плагины от жквери-плагинов никакого отличия в плане "маня-деятель наебашил свой X" не имеет. И там и там - говно.
Привет аноны, подскажите с чего начать в JS, чтобы перекинуться на node потом, в теме 2 года - С господин.
Тут че реально никто не ебет как еслинт настроить? Скиньте гайд для тупого, везде все по разному пишут.
>>1526069Блять ну есть же какой то простой варик навернякаВот я установил в дев зависимости еслинт, поставил расширение в vscode. Че дальше надо сделать чтоб он отступы и кавычки правил? Создать .eslintrc? Что там указывать? Надо ли еще чето ставить?
Как лучше форматировать строку, чтобы в конце концов ее засунуть в sql запрос? Нужно получить что-то вида "xui","pizda" одной строкой, без квадратных скобок.
Подскажите, есть каталог на Vue, хостится на гитхаб Пейджес. Сейчас, чтобы внести изменения в него, лезу ручками в исходный код, добавляю в json элемент, кидаю статичные ресурсы, пушу на гитхаб... Бэкенда до сих пор не касался, нужно удобным образом обновлять этот каталог, по сути стандартное круд приложение. Накопал инфу про Google Firebase, вроде как подходит, есть плагин для Вью и вообще все круто, там получается я регаюсь, скармливаю свой json ему и уже в приложухе у меня подтягиваются данные не с локального файлика, а с реалтайм датабейс и уже в этом файрбэйсе через веб-морду можно с этой бд работать? Все правильно расписал?Если да, то как сделать так, чтобы не нужно было лезть в этот файрстоун, а непосредственно в моем Вью приложении была бы допустим отдельная страничка для админа запароленная как в cms, и были бы эти круд операции доступны чисто для него, а то я примеров не нашел конкретно этой реализации. Надеюсь кто-то осилит мою графоманию, ткните пожалуйста понятным примером.
>>1526073let queryString = "INSERT INTO ${tablename}(f1, f2, ..., fn) VALUES (";exec = (queryString, currentValue) => queryString + currentValue + ", ";tagsArrayString.reduce(exec);queryString = queryString.slice( 0, queryString.lastIndexOf(", ") ) + ")";________Дюдсы, киньте пожалуйста навскидку примеров проверки жсонов через библиотеку io-ts в ноде. У меня не работают даже примеры из статей для чайников, голова болит нахуй.Или как вы чекаете жсоны шоб красиво с typescript?
>>1526073А, блин, неправильно прочитал формат твоей строки. Ну сам подставишь там кавычки перед и после запятой
Посмотрите мой веб-чат на node.js и jquery. Два года пилю, но до сих пор так и не обсуждал с другими программистами. Скорее всего ты спросишь хуле так долго, но я очень ленивый и могу месяцами пинать хуи и смотреть сериалы, что собственно и делал.Это мой первый опыт с node.js и socket.io. Я это сначала вообще пилил на PHP+ajax, пока не понял что все хуйня, и год назад начал переделывать на node и сокетах. Потом оказалось что у меня непоправимо едет верстка и со старым каркасом ничего не поделаешь и надо пилить всё заново, да и js к новому каркасу весь перекручивать. Запилил, перекрутил и пилил дальше.У меня уже почти все готово и вроде как относительно стабильно без багов. Короче как вам, котаны? Что скажете?https://youtu.be/TpY4VhCFl-Ihttps://www.youtube.com/watch?v=ubPk6ocF6F4https://www.youtube.com/watch?v=uIUExERiP9k
>>1526177Ну залей уже, мы потыкаем. Я надеюсь ты уже купил домен, иначе сайту твоему придется придумывать нвоое имя
Посоны, есть у кого пдфка eloquent javascript c 22 главой? Половину интернета перекопал и нашел таки на либгенезабыл что такой архив вообще есть, но там типографика проёбана к хуям.
>>1526209Спасибо за отзыв. Очень круто такое слышать. Под видосиками есть пару ссылок где ты можешь следить за проектом, подключайся, и я тебе сообщу когда будет бетка альфой я назвал то что есть сейчас)
>>1526030Зачем C господину так шквариться? Что-то тут не так. Наверняка ты C господин на уровне парочки написанных лаб в вузике.
Не вьезжаю в стрелочные функции, тупо не могу читать и понимать этот код пока только учусь, на странице JS есть как и статья о стрелочных функциях так и статья о нинзя коде, что как бы приводит меня в недоумение.Действительно нужно ли?
>>1526306Стрелки максимально полезны и удобны. То что ты их не понимаешь скорее всего означает что ты не полностью понимаешь область видимости и контекст this
>>1525895 (OP)С прошлого треда, принесу сюда minizip-asm.jsМожет кто-то поможет исправить вот эту хуйню с кириллицей: https://github.com/rf00/minizip-asm.js/issues/7Пытался деминифицировать файл при помощи https://unminify.com/ но там ещё большая билиберда на выходе.
>>1526395нахуй ты в минифайле копаешься? там 95% объема - выхлоп emcc. смотри сорцы. потом пересоберешь чуть что.
Так, крутаны (я надеюсь такие еще заходят сюда). У меня есть довольно крупный проект. Многие его компоненты изначально написаны как универсальные. Теперь я хочу их извлечь из проекта и сделать в виде отдельных зависимостей. Есть как реактовские компоненты, так и чисто ванильные либы.Оплачивать приватные репы для npm не хочу + хочется хранить их в локальном репозитории. Все это должно версифицироваться и лежат в своих репах. Как это сделать?
Объясните пожалуйста этот кусочек кода в редаксе. combineReducers прост собирает в один массив все редюсеры. Phones - один из редюсеров. Но что делает функция connectRouter? И зачем в качестве аргумента туда ставят history внутри которой и создали connectRouter?
Срочно суммоню спецев по ДжейКвери!!Пытаюсь написать простейший скриптик в консоли чтобы вывести на экран имя юзера в чатике c помощью переменных.Вариант А: 1. Инспектим имя юзверя в списке. 2. Копируем его селектор #acc > div.scrolledPart.ps.ps--theme_default.ps--active-y > div:nth-child(6) > div > ul > li:nth-child(3)3. назначаем его на переменную user3var user3 =$('#acc > div.scrolledPart.ps.ps--theme_default.ps--active-y > div:nth-child(6) > div > ul > li:nth-child(3)');4. через метод .attr() выводим ник юзера на экран alert("3d user's nick is : " + user3.attr("nick"));Результат: Успешное отображение ника Катька.____________________________________________________________________________________Пытаемся сделать это с помощью переменных____________________________________________________________________________________1. Инспектируем список юзеров и назначаем его на переменную userListvar userList=$0;2. Проверили в консоли действительно userList рабочий
3. назначаем юзера 3 на переменную user3var user3=$('userList > li').eq(3);4. Пытаемся вывести в уведомление ник юзераalert("3d user's nick is : " + user3.attr("nick"));5. В итоге - 'undefined'!!!ЧЯДНТ????????????
Двощ, помоги.Что имею: https://repl.it/repls/AggravatingJovialLinuxkernel одна запись в бд (название: нужная запись в mongodb) hbs-файл для представлений Handlebars (находится в папке "views")* indes.js - файл, состоящий из обработчика для маршрута "/students/:name"Что хочу сделать:достать запись из бд с помощью фильтра и передать данные из записи в форму представления (результат - как на пикриле).В чем проблема: функция обработчика маршрута не получает на вход данные из строки браузера .Вопрос: каким образом нужно изменить функцию, чтобы параметр из строки браузера передавался для работы с коллекцией students?
>>1526306такая же хуйня, только наоборот, не могу писать простые функции не использую их уже пару лет.
устроился на работу, тут поцаны каким-то образом пишут фронт на C#, получается бандл как от вебпака с wasm + реактовские бандлы.
Анончики, почему не работает setInterval? Машинка должна поехатьhttps://codepen.io/code1231288/pen/NWWmrEO
>>1526501не стал разбираться в говне, просто сделал тебе костыльvar int = setInterval(()=>nissan.moveRight(),20);
>>1526493не стал разбираться в говне, просто сделал тебе костыльvar int = setInterval(()=>nissan.moveRight(),20);
>>1526507охуенный совет, спасибо - давай еще заодно сразу ноджс выучу, до этих замыканий нужно еще дойти а люди наверное поумнее тебя книжку писали.
>>1526512книжку писали долбаебы.node.js нужно знать фронту, хотя бы основы типа path итд, пригодится когда будешь ебашить конфиги вебпака, галпа итд
>>1526517ах ну да, ты наверное когда учился то сразу уже писал на фреймворках наверное, извини - но не все такие гении
>>1526518ну сам подумай, тебе дали в книжке код а он не работает.нахуя создатель книги это сделал?ответы бы дал хотя бы какие-то в конце книги
>>1526521на set interval там задание было дано, но без ответа, это уже я сам говно код пишу но то что ответов нет грустно
>>1526527все равно автор книги долбаеб, потому что задачкуа говно.нахуя ты передаешь туда результат вызова функции?nissan.moveRight()таймер ждет там функцию, ссылку на функцию
а блять я понял, спасибо тебе ананас - надо прямо создать функцию и из нее вызвать метод var int = setInterval(function(){nissan.moveRight()},20);не знаю насколько это плохо но по крайней мере работает и можно идти дальше. Алсо реквестирую учебник для чайника по js с примерами и дякую
>>1526533смотри пик, требуется отправить функцию, т.е. ссылку на нее.а ты отправляешь undefined вместо функциикогда ты вызываешь функцию, она возвращает тебе undefined если там нет returnсоздатель твоего учебника идиот, если не рассказал об этом на первых уроках.
>>1526539про undefined было в предыдущей главе да, но в конкретной главе даже никакого намека на это не было
Двач, поясни, пожалуйстаВкатываюсь в реакт, делаю пет-проджекты, тренируюсь, читаю статьи на медиуме. Периодически встречаю мнение умных и опытных дядек, что нельзя писать бизнес-логику в реакт-компонентах. Мол, реакт отвечает за отрисовку UI, а бизнес-логика должна быть отдельным модулем, за нее должен отвечать, например, редакс и она должна быть написана в экшнах и редьюсерах.Мне в целом, это идея нравится, но я не до конца понимаю где грань между логикой и представлением в приложении. Вот, например, у меня есть компонент модального окна. Его состояние(открыт/закрыт) и метод toggle(для переключения состояний) это ведь логика его работы, правильно? Но я же не стану выносить состояние каждой модалки в редакс. Вообще, расскажи, как ты относишься к идее такого разделения в реакт приложении
>>1526559это самовызывающаяся функцияhttps://www.codehint.ru/articles/2014-07-27_javascript-self-invoking-functions(function(name) {})("вася");
>>1526562даю совет на будущее:Если на собеседовании спрашивают про самовызывающие функции значит тебя собеседуют долбаебы)
>>1526584хорошо, но мне в любом случае до собеседования еще як до китая рачки - один хер пока только умею верстать без адаптива по макету даже пока без гридов, только флекс.
>>1526650>зато адаптив же вообще вездеестественно, но его не обязательно делать на гридах. можно на флексах, а можно и на флоатах, как раньше делали>бутстрап почему то4я версия написана флексах. везде потому что ускоряет разработку в несколько раз
Как проверить, что в строке каждый символ соответствует регулярному выражению, а не один какой-то?Я с тест пытался решить, но он возвращает тру, если хоть какой-то символ удовлетворяет условию.
>>1526702Оу, я допёр. Нужно искать символы, не удовлетворяющие условию. То есть если нужны буквы, рядом с которыми стоят 2 плюса, значит нужно искать буквы без плсюов, и если таковые имеются, возвращать фалсе.
>>1526718Всё равно хуйня. Я не знаю, как написать такое регулярное выражение, чтобы находило букву, у которой нет плюса с одной или нескольких сторон. Написал такое, /[^\+][A-Za-z][^\+]|[^\+]*[A-Za-z][^\+]|[^\+][A-Za-z][^\+]/gно оно не подходит.
>>1526767слева олимпиадник потеющий от 1000 сложных супер оптимизированных строк кодасправа UI макака качающая либы и клепающая формы1 тип получает 90к2 тип 200к
>>1526749lookahead и lookbehind освоил?Нужную тебе регу я лично вижу так:буква, перед которой нет плюса и за которой нет плюсаилибуква, перед которой нет плюсаилибуква, за которой нет плюсаОткуда такое ебанутое задание, если не секрет?
>>1526773>lookahead и lookbehind освоил?Читал, но нет. Теоретически знаю много, но на практике не освоил и часто забываю.
>>1526771Все совершенно правильно. Доля кода, требующего оптимизации, ничтожна мала.Надеюсь первого пидараса ещё и уволят за медленную разработку, усложнение кодовой базы своей трудночитаемой хуитой, которая слабо поддаётся тестированию и 100% содержит несколько скрытых багов и уязвимостей. А все из-за дроча на циферки, ради результата, которого юзер все равно никогда не увидит.
Аноны что надо написать на нативном жсе, что бы в реакт вкатываться ? базовый синтаксис я освоил, но во всех тонкостях копаться, это пиздец я утону в этом болоте. 3 месяца у меня есть, нужно вкатиться железно, в процессе уже тонкости задрочу.
>>1526894Вылезаю из прокрастинации, нужен жесткий стимул, через 3 месяца пойду на собесы, буду позориться, но пойду без вариантов.>>1526953>2 частей кантораОк пройду его
>>1526886Я вкатился после прочтения базового синтакса, сразу в create-react-app, вебпак и прочую хуету скипнул. Потом тайпскрипт просканил подиагонали и Material-UI.$65/h реакто-макака
>>1527031Ребята, привет!Пригласили на собеседование, на должность разработчика JS.Порадуйтесь за меня, я в понедельник успешно обосрусь пройду собеседование.А поэтому вопрос, есть у кого-нибудь годный, краткий сборник типовых вопросов по JS, для подготовки к собеседованию?
>>1526886>3 месяцаЛол, то чувство когда ты вкатываешься уже год и можешь написать только хэллоу ворлд
>>15264931. Функция setInterval в качестве аргумента принимает ссылку на функцию, которую она должна вызывать, а ты ее зачем-то вызываешь и передаешь резальтат выполнения. 2. Значение this теряется, когда setInterval вызывает метод. Можно привязать this вот так:nissan.moveRight.bind(nissan)А можно и стрелочной функцией. Вообще это основы, об этой хуйне везде пишут. Совсем глупые ошибки.
>>1527208> Значение this теряется, когда setInterval вызывает метод.Не устаю проигрывать с этого языка программирования
>>1525895 (OP)Как определить кодировку текста?Например, строка 'тест', отображается как набор символов 'ЄхёЄ'.Очевидно, что для того, чтобы декодировать эти кракозябры, нужно определить кодировку.Эта фигня: http://foxtools.ru/Textмало того что server-side, так ещё и не пашет. Есть чё-нибудь на JS, полнофункциональное, желательно client-side.
>>1527233>Как определить кодировку текста?вот смотри12387123464126845296354сколько в этой строке двузначных чисел, а сколько однозначных?как определить?никак
>>1527208нахуя ты вкатываешься в фронт? отойди долбаеб блять и не приближайся к этой хуйне она тебя сожрет блять ебаный в рот
>>1526493нахуя ты вкатываешься в фронт? отойди долбаеб блять и не приближайся к этой хуйне она тебя сожрет блять ебаный в рот
>>1527223В жс много хуйни, но в данном случае это ты тупой и не понимаешь как работают области видимости и this. Методы вроде setInterval находятся в глобальном контексте, они принимают функцию и выполняют ее в своем контексте.И про это можно догадаться после первых уроков про скоупы и this в js и никогда не спотыкаться об это.
>>1527406попробуй написать HEllo World и первый баг который ты увидишь: тебе нужно около 100 строк кода
Что-то я не понимаю нихуя... Промисы действительно лучше т.н. колбек хелла? Или я что-то не так делаю? Но я смотрю на свой код в 2 случае и просто ахуеваю... Что не так?pastebin сломался
>>1527644А еще вот эти вот передачи аргументов из самого верхнего промиса в самый нижний... Это же ваще пиздец....
>>1527658А как их использовать? Посмотрел примеры, делаю, вроде, все так же, но в консоль выводит null, не дожидаясь результата из колбека...
>>1527683Асинхронную функцию, помеченную async нельзя просто так вызывать, так как она возвращает промис
>>1527779Ну, а что значит не просто так? Типа так const p = await ... ? Я и так пробовал, все равно не ждет...
>>1527878await можно юзать только в async функции, в вне надо просто, как в обычном промисе результат через .then(res => doStuff(res) получать https://learn.javascript.ru/async-await вот тут читай
>>1527889Так я что снаружи юзаю что ли? Вот пример, он же синхронно выполняется? Почему у меня await Не срабатывает? Я не понимаю
>>1527893Извините, но программирование это не ваше. Подумайте о работе кассиром в Пятёрочке. Всего доброго!
>>1527898Что значит траллить?Чел мне пишет хуйню>await можно юзать только в async функцииСмотри пик, что не так? await внутри async функции...Потом смотрю пример, которых видел уже десяток однотипных, где эти респонсы хуеспонсы принимают значения функций, после чего над ними выполняются операции синхронно... Блядь, это вы меня тут троллите, похоже...>>1527896Нет не извиню, кто ты такой, чтобы указывать чем мне заниматься?
>>1527901Кинь нормально свой пример через codepen или что-то подобное, чтобы можно было запустить, так хуй поймёшь, что у тебя не работает, только замокай там бд на просто объект рандомный
>>1527901Пиздец какой-то. Async/Await работают с промисами. dbGetServer, судя по твоим скринам, работает через callback. Если она будет возвращать промис, вместо колбека, то await будет ждать пока промис выполнится.
>>1527908У меня dbGetServer функция не содержит промисы, там через обычный колбек все сделано, если результат нужен. Может, дело в этом? Сейчас скину.
Двощ, помоги.Что имею: https://repl.it/repls/AggravatingJovialLinuxkernelодна запись в бд (название: нужная запись в mongodb)hbs-файл для представлений Handlebars (находится в папке "views")* indes.js - файл, состоящий из обработчика для маршрута "/students/:name"Что хочу сделать:достать запись из бд с помощью фильтра и передать данные из записи в форму представления (результат - как на пикриле).В чем проблема:функция обработчика маршрута не получает на вход данные из строки браузера .Вопрос: каким образом нужно изменить функцию, чтобы параметр из строки браузера передавался для работы с коллекцией students?
>>1527910>>1527915Ну да, у меня функция dbGetServer не возвращает вообще ничего. А если я не хочу с промисами работать, а хочу с колбеком? Не получится тогда await юзать?
>>1527924async/await это лишь более удобное использование промисов, чтобы код был более плоским и минималистичным. Если промисы не используются, а используются коллбеки, то async/await не имеют применения. Но мой тебе совет, переходи на промисы, поскольку абсолютное большинство сторонних пакетов, которые ты точно будешь использовать, работают с использованием промиссов.
>>1527927Теперь ясно все стало. Мне не проблемно перейти на промисы, просто у меня уже куча функций на колбеках была написана, но окей, перепишу. Спасибо.
>>15279211) У тебя на пикриле другой роут, не такой как в коде/students/:name2) Не используй рускоязычное имя, потому что твой Петров в url выглядит как %D0%BF%D0%B5%D1%82%D1%80%D0%BE%D0%B2
Скажите, вы везде лепите промисы только потому что это модно? Если вопрос в одном реквесте на сервер, то почему не сделать калбак, ведь никакого калбак хела не будет?
>>1527944Со временем и усложнением проекта таких запросов становится больше, начинает появляться дополнительная функциональность и будет увеличиваться вложенность кода. Со временем сам придешь к этому, пока можешь сильно не переживать, если не видишь смысла.
>>1527961Да вот нихуя. Они должны быть рядом, но плясать по разному. И не контактировать друг с другом.
>>1527963vue 3 пиздит хуки у реакта и вотчеры у ангуляра. все эти фреймворки по сути - circlejerk, как на пике. один и тот же хуй в жопу друг у друга.
>>1525895 (OP)Почитал комменты в данной посте и вердикт такой: какие же вы, блять, дегенераты. Вопросы ну просто тупорылые. вся инфа есть в официальной доке. "когда вкатываться в реакт?", "помогите с jquery" и т.д. вы ебанутые? Бля, сейчас не 90е, информация доступна по одному клику, неужели это все сложно найти в гугле ебаном? Пиздец, теперь я понимаю, почему такое хуевое отношение к фронтенду у других кодеров, вы даже простые вещи осилить не можете.
>>1525895 (OP)Сап, джаввскриптач. Ньюфаг итт. Гуглил тут вакансии, иногда требуют для фронтенд ещё и знание веб-дизайна и ux/ui. Слова эти я и раньше встречал, но особо ими не интересовался.Это вообще интересно? Не могли бы вы подсказать годных каналов на ютубе, или книжек даже? Хотя бы на уровне "для новичка", что бы хот примерно знать, о чем оно вообще.
>>1527985Двачую, во истину тхреад дегенератов вот этот персонаж например >>1527233мог загуглить ответ на свой вопрос меньше чем за минуту (https://github.com/aadsm/jschardet), но нет проще пойти спросить на дваче в тхреде вкатывальщиков лол
>>1527940Спасибо, что вышел на связь, антоша!1)пикрил чисто для примера.2)русскоязычные имена не использую: как только пересел на английское начала показываться страница с пустыми результатами.логи выглядят более уебищно.
>>1528008небольшой апдейт: переменная StudentName возвращает в консоль имя из строки браузера.Значит, косяк в функции (или в базе: не понимаю, как можно обосраться в БД)....
>>1528020Я конечно не очень шарю в ноде, но разве там сравнение это единичный знак равенства = ? if(students = 'null') { console.log('чини функцию'); console.log(err); } мимо
Что меня бесит в изучении в рот - энд, так это то что тебе дают упражнения, выбери тот или иной ДОМ элемент, и пока их делаешь на учебной странице, всё получается, а только пытаешься применить полученные скиллы на реальном сайтике - сразу вылазит какие - то левые сообщения, и в итоге - получаешь хуём в рыло.
>>1528039>выбери тот или иной ДОМ элементУчи сразу реакт, в 99% случаев тебе никогда не придется выбирать ДОМ элемент
>>1528041>Учи сразу реактнеа. нет. Мне надо сначала джейквери, потом еще аждакс, потом ещё Сиквел, потом еще пхп и кучу всякого говна.
>>1528049>>1528050Нахуя, ты из 2010-го капчуешь? Я из всего этого знаю только jquery на базовом уровне и сиквел на уровне select/update/join, остальное нахой
>>1528066А можно быть только фронт энд кодером или надо обязательно быть фулл стак девелопером? А то я начал учить ноду и аякс и прихуел реально.
>>1528165Можно, никто не запрещает. Но в любом случае придется хотя бы поверхностно изучить бэк, а то webpack настроить не сможешь, чтобы понимать хотя бы что там происходит.
>>1527238>вот смотри>12387123464126845296354>сколько в этой строке двузначных чисел, а сколько однозначных?>как определить?>никакА нафига?Мне не количество чисел двузначных и однозначных, надо определить там, а кодировку текста.Очевидно, что цифровая строка будет иметь кодировку ASCII, так как Unicode обратно-совместим с ASCII.В моём примере выше, строка 'ЄхёЄ' успешно может раскодироваться в 'тест' -тем же "универсальным декодером - конвертером кириллицы": https://2cyr.com/decode/?lang=ruВвожу туда 'ЄхёЄ', выберите кодировку - "Автоматически" (ну, типа, распознать надо её), нажимаю кнопку "Ок".>исходная кодировка: MACCYRILLIC>отображается как: CP866Но я-то знаю, что это не MACCYRILLIC, поэтому выбираю реальную кодировку:Windows-1251, нажимаю "Oк" и вижу тот же результат.Там же, как видишь, в выпадающем списке, где "Выберите вариант" - там лишь два читабельных варианта, содержащих "тест". Если их выбрать, то исходной кодировкой будут кодировки MACCYRILLIC и Windows-1251.Посему, изначально, я предполагал следующую схему распознавания кодировки...Тупо вводишь в прогу кракозябры, выбираешь читабельный вариант - получаешь кодировки.Как впрочем и на этом онлайн конвертере, но софтина должна бы пахать client-side, и быть на JS,а не на PHP, что на сервере у васи-пупкина,которому домен вот-вот разделегируют нахуй по абузе в КГБ- от Петьки-Лажина.>>1528004>Двачую, во истину тхреад дегенератов>вот этот персонаж например >>1527233>мог загуглить ответ на свой вопрос меньше чем за минуту ( https://github.com/aadsm/jschardet ),>но нет проще пойти спросить на дваче в тхреде вкатывальщиков лолДа ты охуел! Я же за этим jschardet сюда и пришёл, ITT.Годная, вроде, софтина, на первый взгляд, но на входе там - какой-то неведомый grep-hex.Откуда его брать-то? Если, скажем, у меня есть только - строки,пусть их будет две, и пусть они будут - из того же примера: "àíàçã" и/или "次常用國字標準字體表".
Ыыыыы получилась моя первая прога:Скрипт на джейКвери чтобы спамить всем в чатике.Пикает юзверей из листа, кликает на на ники, из появившегося попапа пикает приват, вбивает каждому месседж в поле инпута, и отправляет, кликая по субмит кнопке))))Офигефаю от ответов, юзерлист из 100 чел прокликивается буквально за 5 секунд.
>>1528059ORM решит все проблемы, а Spring Data позволяет мне даже не использовать функционал ORM кроме, собственно, маппинга, ибо все запросы к БД строятся на основе названий методов интерфейса репозитория для сущности. Как тебе такое?
Подскажите, есть каталог игр для клуба виртуальной реальности, сделан на vue, хостится на гитхаб страницах, какая cms идеально подойдет для контент менеджера? Задача одна - удобно и просто добавлять игры в этот каталог. Вычитал про October CMS? Подойдет или есть что-то более подходящее?
В основном читаю, практически не пишу код. Большую часть заданий в конце каждой главы решить не могу, но читаю дальше и надеюсь что понимание все таки рано или поздно придет, задания которые я придумываю себе сам либо очень простые либо нерешаемые потому что требуют больше чем я на данный момент знаю. Посоветуйте годную и лайтовую практику для чайников без математических заебов, что бы вкатится не быстро, а максимально плавно, если вы понимаете о чем я. Может еще советов каких то дельных еще дадите.
>>1528280>В основном читаю, практически не пишу код.Главная ошибка твоя, скачай книгу Head First Javascript, не помню точное название, загугли, есть на русском. Там разжевывают теорию и много всяких заданий по ходу разной степени сложности.
>>1528287>Head First JavascriptСпасибо, скачал за 15й год с рутрекера. Не много угарно - поясняют с картинками и стрелочками в код, попробую.
https://pastebin.com/aYT2Z0YYДобрый анон, переведи пожалуйста в стрелочную функцию эти 9 строчек.У меня получается примерно какая то такая лабуда которая не работает:function filterRange(arr, a, b) {let newArr = [];arr.forEach(item => (item >= a && item <= b) ? newArr.push(item));return newArr;}
>>1528606function filterRange(arr, a, b) { let newArr = arr.filter(item => item >= a && item <= b) return newArr;}
>>1528613>>1528618это через arr.filter, там коротенькое решение. Мне бы глянуть как это будет выглядеть в длинной версии через forEach().
>>1528681Никакой разницы между обычной и стрелочной нет, кроме синтаксиса let a = function() {} let b = () => {} и контекста this
Как задеплоить react-app на Github Pages? Создаю билд, заливаю всё из папки на гитхаб, но по адресу открывается пустая страница только с тайтлом
Реквестирую идей для проекта чтобы заиметь популярность хотя бы человек у 10... И чтобы знаний требовалось на уровне мувисерчера на реакте. На работу не берут...
>>1528777не верю, что с мувисерчером не берут на джунаОпиши почему не берут, конкретно что говорят в постфактум и какие вопросы / задачи задавали на самих собеседованиях
До сих пор страшно брать серьёзные таски, ибо боюсь обосраться. Когда заказчик говорит что хочет контроллировать процесс и просит не говнокодить - страшнее в разы. Что будет, если не успею доделать? Мне просто расширят время в редмайне и я буду делать пока не доделаю полностью? Неудобно перед PM, я обещал уложиться в срок и могу не уложиться. Особенно, когда
>>1528791если ты не проходил Школу 21 или какой-нибудь ШАД, то ожидаемый отклик 1к10. И причин невероятно много : начиная с того что они просто разместили вакансию, чтобы посмотреть как охотно будут идти, заканчивая тем, что HR не ебет value твоего проекта, перед обычным верстальщиком с 3 лэндингами. >>1528797>Переверните связанный списокПример. Возможно мы о разных вещах думаем.
>"[...] I think Node is not the best system to build a massive server web. I would use Go for that. And honestly, that’s the reason why I left Node. It was the realization that: oh, actually, this is not the best server-side system ever."кек
Боги ФП && JS тут? помогите, возможно ли тут избавиться от унарного оператора? https://jsfiddle.net/xo6L2ufc/Ещё то испытание было избавиться от вызова дополнительных скобок (), но этот "+" раздражает не меньше.
>>1528813> В инете одна херня на английском, нифига не понятноЯ вот сижу и думаю, а что челы с реактом будут на работе делать без английского? Инфы же минимум, особенно про новые фичи.По поводу gh-pages в доке реакта есть подробный гуид, ставишь пактек, добавляешь одну строку в джейсонину с адресом, где будет хостится, и два скрипта, жмешь npm build и все
>>1528853Спасибо, анон, я бомбанул чутка, английский знаю, еще и немецкий.Проблема была в отсутствии homepage в package.json
>>1528884Только у тебя если вызвать больше чем 3 раза ломаетсяconsole.log(sum(4)(6)(10)(20))Uncaught TypeError: sum(...)(...)(...) is not a function
>>1528916Но в примере речь идет о node.js, мне же хотелось бы работать с байтами прямо в браузерном джаваскрипте
>>1528915в жс специально typedarrays завезли для всяческой байтоебли. для примера можешь погуглить по asm.js. при компиляции сишечки в него эти самые typedarrays юзаются в качестве памяти.
>>1528935А блэт, не прочитал, что было под спойлером, ну тут иначе никак, или унарный оператор или доп скобки или только фиксированное количество вызовов, как у анона выше
>>1528941Ну или так, но в консоли (хрома) почему-то печает f перед числом https://jsfiddle.net/0pcnj6bm/
Привет, раздупляюсь с DOM. Застрял на написании ивент лисенера для моего Инпута. Вот условие задания(я должен получить 100): Should('apply event listener on change', () => { let result; const inputComponent = new InputGuardedComponent(); inputComponent.onChange(() => result = 100); inputComponent.export().dispatchEvent(new Event('change')); testing.tick(); assert(result).toBe(100);});Мой код:function InputGuardedComponent() {InputGuardedComponent.prototype.export = function(){ return document.createElement('input');};InputGuardedComponent.prototype.onChange = function(){ window.onload = function(){ const el = document.querySelector('input'); return el.addEventListener('change',arguments[0]);}};}Может мудрый анон натолкнет на здравые мысли.
>>1528956Чета толи я ебанутый, то ли ты какую-то хуйню написал (или спиздил откуда то, судя по форматированию текста). Во-первых, тебе сказали написать класс. Где блять класс? Нахуя там window.onload?https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/ClassesВообще такое ощущение, что ты с середины курс проходишь. Вам что, не рассказывали что такое классы вообще? Нахуя ты в прототип все ебошишь? Тебе же сказали, методы должны быть у экземляра класса. Вам про иммутабельное клонирование классов рассказали? Кантора то почитай. https://learn.javascript.ru/classesУ тебя конечно каша в голове пиздец, но мыслишь ты правильно. По сути тебе нужно создать метод класса, который при вызове будет вызывать функцию с двумя агрументами - элемент, и функция, применяемая к нему. В данном случае это будет функция, навешивающая ивент листенер.Только бля, приведи в порядок свои базовые знания.
>>1528884В моём примере кариррование с аргументами переменной длинны, т.е. по-сути бесконечное, а у тебя оно захардкожено>>1528935Не только в хроме, это везде, c toString такая же история с valueOf, он преобразовывает функцию в строку и тебе возвращается нативный код функции + её результат
>>1527398>>1527429Серанул. Вся суть мелкобуквенной жопаскриптерской маньки, которая о других языках знает только из анкедотов. Жаба, по сравнению с жсом, это просто образец устойчивых практик, консистенси в языке и удобства разработки.
Анончики, почему рисуется только 1 мячик а не 10 - где искать подвох?https://codepen.io/code1231288/pen/KKKLQGm
>>1528983У тебя конечно стиль повествования, как у едреного тимлида. Но то что они написали в задании, что нужен класс - это их же косяк. Делать нужно через функцию-конструктор. И методы объявленные через прототипы - тоже их условие. window.onload затем, что const el = document.querySelector('input'); у мен равняется null, мне это объяснили тем, что на момент обращения Input еще не отрисован, и поэтому нужно дождаться прогрузки страницы( windows.onload). а так ты очень помог, да.
>>1529056Ну бля, ктож знал что у вас там анальные такие условия. Сорян, чо.Те мне менее, проблема остается.Начнем с того, что раз уж ты пользуешься ES6, то вместо arguments неплохо бы юзать spread-оператор.
>>1529072Братан, я знаю что такое спред операторы. У меня проблема не в этом, а в том что QuerySelector не может найти элемент, и когда я навешиваю лисенер - он ссылается на Null.
>>1529099Потому что твой querySelector возвращает нулл - нихуя не найдено. В ДОМ точно есть такой инпут или ты его прост создал, а заапендить забыл?
>>15260301. learn.javascript.ru - учим основы языка2. nodejs API - https://nodejs.org/dist/latest-v8.x/docs/api/ , основные модули: events, fs, stream, url, utils, console, http, process . Можно глянуть тут https://learn.javascript.ru/screencast/nodejs , слегка устаревшая, но сойдёт.3. npm, nvm. Библиотеки: lodash, request. Тестовые библиотеки: mocha, chai, sinon4. Базы данных: mongodb, SQL
>>1529118вот теперь заппендил, объект инпута находит корректно, спасибо тебе. Только всё равно OnChange не срабатывает, я функцию передаю из тестов(нижний левый угол экрана, выделенная область). Значение должно меняться на 100(result=100), а у меня undefined:(
>>1529129Ты вообще хуйню пишешьclass InputGuardedComponent{ constructor(){ this._element = document.createElement('input') } onChange(handler){ this._element.addEventListener('change', handler); } export(){ return this._element; }}
>>1529165Попробуй выучить язык по бесплатному и простому Кантору, а потом уже неси шекели на дебильные курсы - глядишь, и человеком станешь.
А есть же такая фишка, типа не хранить методы в классе, а выносить их в прототип ? Или это я щас хуйню сказал ?
Насколько высокий скилл в node нужен для того, шоб пилить серваки по GTA 5?Просто рандомный пример проекта: githubcom/Hurdock/gta5-ragemp-server
Вопрос - аноны, сколько знаний в js нужно что бы переходить в реакт? или нужно сперва целиком талмуды на 2000 страниц пройти иначе ничего не будет понятно? Прошу совета.
Аноны, подскажите пожалста - как организовывать JS код. Я мимо бэкендер, JS-использую для простых анимаций, скрытия\показа всяких форм и т.д.Все функции обработчиков у меня просто свалены в одном JS-файле, макисмум разные файлы для разных функций.В мире бэка используется MVC, и ООП. Я пробую реализовывать этот подход. Допустим есть форма - я создаю класс JS "Форма" и в нем уже я в разных методах описываю тебуемый для формы функционал. Правильный подход? Что есть почитать на эту тему?
>>1529251Живой пример:Работал веб-девелопером на RoR (бэк, иногда чуть-чуть фронт).Сам js знал на уровне анимаций jQuery. Ни методы, ни синтаксис, ничего не знал. Только клепал jquery.Затем пришел новый проект, где все на RoR + React. Мне была поставлена задача разобраться в реакте и делать таски. Т.е. мое обучение реакта началось с самого реакта, а потом уже тянул знания по js.Теоретически, ты можешь учить все сразу. Но мне кажется, что было бы легче сначала построить в голове понимание JS на уровне условия, циклы, переборы. Это с нуля можно за неделю все разобрать, а дальше учить React.
Как нормальные люди компилят sass > css? Есть что-то встроенное в атоме которое умеет также делать?Я пользуюсь сторонним софтом, prepros.io.
>>1529287https://sass-scss.ru/dart-sass/А вообще там вариантов довольно много, есть даже гуи, например Koala
Аноны, в реакт компонентах все изменения ui должны идти от изменения стейта? Изменения классов через жс - это говнокод?
>>1529321>в реакт компонентах все изменения ui должны идти от изменения стейта?Ну, по канону - да. Можно обойти через forceUpdate() (вроде так называлось), но ~100%, что тебе это не нужно.
>>1529395Ну будем честны, у всех языков программирования одинаковая база (циклы, условия). Для начала смотришь синтаксис, этого хватит чтобы начать. Но чем дальше в лес, тем больше начинаются различия между ними.
>>1525895 (OP)Пусть есть несколько циклов. В PHP из всех них можно выйти одной командой: break 3, как тут: https://stackoverflow.com/a/12552730В JavaScript ничего подобного не вижу,но что если есть несколько вложенных функций,и из первой функции - нужно вернуть значение, возвращаемое из второй функции, и вернуть после её исполнения?Промисы, таймауты? Или можно проще?
>>1529377Решил допилить проект из курса, запилил контекст, а изменения классов, дизейблы инпутов и прочее сделал по привычке через ванилла жс(в прошлом жквери макака). Свой обсер понял только когда не смог нормально инпут задизейблить из изменения стейта, пришлось .click() хуярить, пиздец мне стыдно стало сразу. Я исправлюсь, обещаю
>>1529411>>1529263Поддвачну. Год назад делал проект с реактом и редаксом, все изучал по ходу дела, примерно за неделю и освоился.
>>1529425>В JavaScript ничего подобного не вижу,С помощью меток можноhttps://jsfiddle.net/unbxpw6g/но вообще метки и твой пример выше - антипаттерн, который ухудшает читабельность кода и может приводить к неожиданным результатаммне вот такой кейс никогда не требовался, например>и из первой функции - нужно вернуть значение, возвращаемое из второй функции, и вернуть после её исполненияв жс все функции первого порядка(с ними можно работать как с объектами) и функции могут быть функциями высшего класса(приниматься как аргумент внешней функции или возвращаться в качестве результата)В твоём случае можно использовать коллбэки, типа такconst f = cb => {const result = cb()console.log(result)}
Подал заявку на вакансию в которой требуется знание ООП. Никогда его не использовал и не знаю даже теорию, какие подводные?
>>1529437>>1529481Ооо, благодарю. С циклами - понятно, но мне же не циклы нужны были, я циклы, просто - как пример указал.>const f = cb => {> const result = cb()> console.log(result)>} А смотри:const f1 = y => {return 5;} //пашетconst f2 = y => {setTimeout(function(){return 5;}, 1000);} //не пашетconst f = x => { const result1 = f1(); //пашет const result2 = f2(); //не пашет console.log(result1, result2);}f();//запускаю...
>>1529504Ничего, научат. Ты же джун?Я так тоже попал ничего не зная, сейчас HTML/CSS-программист, и меня там обучают JS и JQuery
>>1529508Твоя функция вызывается сразу же, на месте, до возвращения результата и это абсолютно нормальное поведениеА прикинь, если бы это было не так? js однопоточный и какая-то хуйня блокировала весь поток? То-то же.В твоём случае, если функцию можно заюзать промисы с таймером, это можно сделать типа такhttps://jsfiddle.net/4nsz502j/
>>1529513Нет, не джун.Когда я пошёл на джуна - у меня уже были крепкие знания по JS: я пару раз прочитал YDKJS и кантора в англоязычной версии + имел некоммерческий опыт в джаве
>>1529516Годно. Благодарю. Но мне же надо было значение вернуть.И вроде как разобрался уже.Пока вернул только строчку, я не знаю как туда функцию пришпандорить: https://jsfiddle.net/moLd7yj8/
Братва, выручайте. Почти решил задачу. Все тест-кейсы проходят, кроме последнего(условия теста в нижнем левом углу скриншота).Необходимо написать метод setPredicate, который задает условие для обработки всех событий.
Сап, друзья. Я тот самый анон, который делал тестовое задание - мини-блог на реакте.Устроился на работу, только в другое место, фронтом-джуном.В целом, всё отлично: коллектив охуенный, возможности для роста широкие. В данный момент занимаюсь вёрсткой и исправлением косяков на JS.Хотелось бы заниматься нормальной работой на React и брать серьёзные заказы, но в данный момент после работы отсутствует напрочь желание что-то учить. Могу только на выходных, когда отдохну от работы. Сейчас надо учить реакт и фронт, чтобы стать мидлом и получать нормальную ЗП, а не копейки. Какие способы посоветуете? Или не стоит превозмогать и учить только на выходных, когда есть желание?
>>1529544>возможности для роста широкие>учить. Могу только на выходных, когда отдохну от работы>надо учить реакт и фронт, чтобы стать мидлом и получать нормальную ЗП>на выходных>возможности для роста широкие
>>1529539Вроде как-то так https://jsfiddle.net/snd19uyt/у тебя зачем-то в onChange принимается два параметра, хотя судя по тесту, должен только handler принимать
>>1529550так не ленись блять. подумай о всех шлюхах, которых ты сможешь заказать с прибавки к зарплате.
Number.prototype.log = () => thisconst a = new Number(4)a.log()Возвращает window (с стрикт тоже самое).Не совсем понимаю, что не так делаю. а - объект, в прототипе которого есть метод log. This должен указывать на a.
>>1529532т.е. тебе нужно вернуть другую функцию, через какой-то промежуток времени? Лучше напиши конкретно задачу, что тебе необходимо сделать, а я подскажу лучший вариант для этого. Я догадываюсь, что ты работаешь с каким-то апи, поэтому вот тебе пример с асинхронными функциями(это просто синтаксический сахар промисов, если будет необходимо - могу написать, как такое же написать с промисами)https://jsfiddle.net/y70ufL1r/
>>1529553Ты не понимаешь, как работает контекст и что такое стрелочная функция и какой у неё контекст.А ещё переопределять встроенные объекты - антипаттерн.
>>1529553В твоём случае нужно так https://jsfiddle.net/0c381dfw/у стрелочной функции нету своего контекста, поэтому она ссылается на внешний контекст, в твоём случае это window
>>1529559Будет ли эта ситуация влиять на паттерн: Object.prototype._log = function () { return console.log(this)}const a = { maria : 2, anna : 3}a._log()
Ебать жс конечно особенный язык для особенных людей. Пиздец хуйни наворотили. Видимо, это не пиздежь, что жс слабали на коленке за 10 дней.
>>1529575чуть проще писать console.log() (меньше раз нажимать нужные кнопки или двигать мышку). Написал несколько переменных, зажал курсор на нескольких строчках и написал сразу метод. Иначе, ты вынужден копировать console.log или оборачивать его в переменные.
>>1529573Если боишься что то сломать в прототипе, то тебе в помощь symbolconst key = Symbol("_log");Object.prototype[key] = function () {return console.log(this)}const a = {maria : 2,anna : 3}a[key]()
>>1529580его делали под те задачи, которые он и выполняет. Если ты байтоёб, то тебе в Си ассемблер. Но я уверен, что ты вернешься сюда после Hello world.
Есть какое публичное апи у ютуба, чтобы по id видео\плэйлиста получить его имя? Без ебаных api ключей и регистраций.
>>1529558Да, это API, для межбиржевой торговли криптовалютами, при помощи торговых ботов - на глобальном рынке.Они используют великое множество децентрализованных p2p-бирж, позволяющих торговать - даже в локальных сетях,бирж независимых, и неубиваемых, как вот эта, охуенная и многомерная WAVES-DEX:https://client.wavesplatform.com/#!/dex-demo?assetId2=BS1KFNR8zrXKBEWdUUvpaP6G57Hic3aESkwK7qQKdLpB&assetId1=WAVESгде можно торговать всё со всем - во всех направлениях, сразу и по дефолту,введя два различных идентификатора для разных, изысканных, ценных, и дефицитных, и главное - ликвиных крипто-активов.Так вот, внутри этого API, есть функция, она - очень большая, и она исполняется она - медленно.Моя задача была, вернуть результат исполнения, в виде массива объектов, но уже после исполнения этой функции,и промисы, пока что - это наилучшее решение.Но его хрен запомнишь, это решение,поэтому я и задался более общим вопросомто есть о том, как в более общем случае решить подобную задачу.Конечно же, хотелось бы видеть в JS - что-то попроще,то есть что-то, вроде "return 2",вместо того, чтобы ебаться с этими промисами...Например:>function f1(x){> return x+100; //очень долго исполняется, блядь.>}>function f2(x){//ёбанный костыль> setTimeout(//тупо жду завершения первой функции> function(){> return 2 f1(x); //хотелось бы, чтобы это возвращала f2, после завершения f1, но тут две функции, и значение возвращается второй;> },> 10000 //и пока завершится первая - жду дохулиард мегалет> );>}>Лучше напиши конкретно задачу, что тебе необходимо сделать, а я подскажу лучший вариант для этого.В примере здесь: >>1529541мне удалось обновить значение переменной x, переданной как параметрв - во вторую функцию, и обновить это значение, после завершения - функции первой.Но, в эту функцию первую, пхается "x" как параметр её.И что если эта функция - является callback-фукнцией, одной сторкой, без параметров?Было решено обновлять внутри неё, пока она исполняется - значения глобальных переменных,а затем возвращать их из неё, в виде многомерного массива из объектов, массива, имеющего фрактальное подобие.И промисы тут - весьма кстати. Схоронил пример себе, кароч.
>>1529612>Моя задача была, вернуть результат исполнения, в виде массива объектов, но уже после исполнения этой функции,и промисы, пока что - это наилучшее решение.>Но его хрен запомнишь, это решение,поэтому я и задался более общим вопросомто есть о том, как в более общем случае решить подобную задачу.Да не нужно запоминать, запомнится всё само, через практику. Ты повернул не туда, промисы идеально подходят для твоего кейса.Через таймауты такое делать - это жуткий костыль. А что если функция не успеет вернуть результат за тот промежуток времени, который ты указал? Промисы это обещание: они обязываются вернуть значение или не вернуть его, если что-то пошло не так. Если вызов из АПИ дорогая штука - вызови её один раз и результат закэшируй, а дальше работай уже с ним.>Было решено обновлять внутри неё, пока она исполняется - значения глобальных переменных,Твой код кстати говоря максимально неочевидный, функция грязная, ты сам будешь в таком коде путаться. Мутировать глобальные переменные - антипаттерн, нужно вообще стараться избежать сайд-эффектов, насколько это возможно.>>1529617Я на это даже внимание не обратил, вообще пофиг.
>>1529624>Через таймауты такое делать - это жуткий костыль.>А что если функция не успеет вернуть результат за тот промежуток времени, который ты указал?Ну, я как пример привёл того решения, которое я по-быстрячку хотел сварганить.Речь-то шла о возврате значения из двух вложенных функций, некоей директивой "return 2", как в циклах.Ну да ладно...>Промисы это обещание: они обязываются вернуть значение или не вернуть его, если что-то пошло не так.Вот теперь ясно. Иногда, и даже зачастую, стоит не торопиться городить костыли,а внимательно вникнуть в материал документации, там всё изложено по полкам.Но у меня так, в подсознании, в далёкой памяти, эти промисы валяются, ведь я раньше работал с ними...Снова примеры загуглил, нифига не понял в них, сам себе отметил в голове,мол "хуита неведомая, сложная, не устраивает...", и пошёл себе дальше, в таймауты зырить.>Если вызов из АПИ дорогая штука - вызови её один раз и результат закэшируй, а дальше работай уже с ним.А ведь действительно, проще основную инфу - один раз, по интервалу, в LocalStorage выгрузить,нежели каждый раз XHR-запросы на сервер посылать и вытягивать её. Траффика меньше.>Мутировать глобальные переменные - антипаттерн, нужно вообще стараться избежать сайд-эффектов,>насколько это возможно.Так я их специально для неё и посоздавал, потому что это коллбек-функция.
Анон, правильно ли я понимаю, что аргумент после передачи в функцию создает свою личную копию этой переменной?
>>1525895 (OP)О modiface Полноценная нейросеть, 2мбшный сет, реалтайм 25+ фпс Всё на жсеhttps://youtu.be/FDUfaYsFQrc
написал скрипт для внедрения на сайт, выполняется каждые 3 секунды, эффективнее ли будет если переписать через mutation observer?
Объясните зелёному, почему null > 0 //falsenull == 0 //falsenull >= 0 //trueВедь при сравнении null должен преобразоваться в number, т.е. 0.Значит, выражение null == 0 должно быть //true??
>>1529840>==>должен преобразоваться в numberГде это сказано ? по кантору " == " нестрогое сравнение, преобразует ПО СВОЕМУ. оператор " > " преобразует В ЧИСЛО.
>>1529849Ну так написано же:>При использовании математических операторов и других операторов сравнения < > <= >=>Значения null/undefined преобразуются к числам: null становится 0, а undefined – NaN.
Помогите с округлением вниз. Проблема с ieee754Задача: округлять положительные числа и 0 до указанного числа знаков вниз (1.9 = 1)Делал так:var num_chars = 2;var number = 0.57;var factor = Math.pow(10, num_chars);return (Math.floor(number * factor) / factor);Но при умножении 0.57 на 100(factor) получается 56.9 и на выходе 0.56. Пробовал библиотеку BC из php, юзал bcdiv bcmul, но там где-то баг или че, на выходе "500NaNNaN.N" показывало.
>>1529881Написал такое, var factor = Math.pow(10, num_chars).toString(); return (Math.floor(+bcmul(number.toString(), factor)) / +factor);вроде нормалек.
>>1529262Аноны, подскажите пожалста - как организовывать JS код. Я мимо бэкендер, JS-использую для простых анимаций, скрытия\показа всяких форм и т.д.Все функции обработчиков у меня просто свалены в одном JS-файле, макисмум разные файлы для разных функций.В мире бэка используется MVC, и ООП. Я пробую реализовывать этот подход. Допустим есть форма - я создаю класс JS "Форма" и в нем уже я в разных методах описываю тебуемый для формы функционал. Правильный подход? Что есть почитать на эту тему?Может есть пример того как организовать JS без исспользования фреймворков и прочего.По идее лучше всего весь JS грузить одним минифицированным файлом?
Аноны, поясните: я считал что замыкание - возвращение функции или объекта методов. Но недавно увидел пример с setInterval и там сказанно было, что это замыкание. Я в недоумении. Это же обычный колл бэк , который =!= замыканию или я не прав?
>>1530263Не правильно ты понимал. Коллбэк то наверное что-то "замыкал", Вот например замыкание с интерваломhttps://jsfiddle.net/9ydzk7p3/
ебать пацаны, читайте доку нахуй, я джва дня городил костыли, а потом прочитал про формы в реакте и ахуел с того, насколько все там просто и логично. пиздец
>>1530288И какие костыли ты городил?Кстати, на сложных формах одним реактом не обойтись(без геморроя), поверь моему опыту, придется юзать дополнительные штучки типа formik/yup
>>1530156>не использует ==, только ===Одно сравнивает примерно, другое полную идентичность ищет, тащемта
>>1530394Все сеньеры сначала приводят в нужный тип, а после использую строгое сравнение + когда перейдешь на ts, типы придется указывать и соблюдать
Объясните пожалуйста. Почему после переприсваивания функции все декораторы срабатывают, а не только последний?Если последнюю часть заменить на это, то работает как я ожидал.
>>1530404Ну не обязательно перед самим сравнением, речь про что, что если ты ожидаешь строку, будь добр либо приведи в строку, либо проверь что это не строка и пойди нахуй выброси исключение
>>1530408Потому что ты все их функции - последовательно вызываешь,и когда они исполняются, выводится console.log() для каждой, который прописан внутри этих функций.
>>1530422Я их вызываю и они должны возвращать функцию же. Которую я Не вызываю. Точнее вызываю один раз и она пишет Привет. А вот когда я переприсвоил декораторы в переменную "a", то вернулся только один консоль лог.
>>1530424В первом случае, ты переприсваеваешь переменной f, определённой ранее - различные функции.Это наглядно показывает:>console.log("f", f);после каждого присваивания.и каждый раз, ты пхаешь переопределённую в f функцию, как параметр следующей переопределяемой функции. Вот они и вызывается, и исполняются.Можешь засунуть console.log("f", f); внутрь них, до ретурна.Во втором же случае, ты не переопределяешь функцию f,она постоянно является первой функцией, где у тебя выводится "Привет". Вот оно и выводится.А вот какого хуя "3" выводится за ним, и почему не выводится 2 - не пойму чё-т. Сам думай.
>>1530408в первом случае у тебя после переприсваивания в f лежит цепочка декораторов. во втором случае нет ибо f не меняется. если сделаешьlet a = fDec1(f);a = fDec2(a);...будет то же самое, что и в первом случае
>>1530433Сукаблять, вот поэтому я и не хотел ебаться с этими промисами:https://jsfiddle.net/g8skwo0h/
Аноны, есть 2 вопроса. 1ый (1ый пикрелейтед) : куда именно нужно писать такие функции, которые не имеют отношения к компонентам? 2ой (2ой пикрелейтед) : почему без await мне приходит объект промис, а с await реальный результат? Могу предположить, что интерпретатор не успевает в JSON превратить, но для него эти 20 строчек пустяк, разве нет?
>>1530435А чё оно так не работает, без скобок:>setTimeout( return_value, timeout); //долго исполняетсяили так:>setTimeout( function(){return_value();}, timeout); //долго исполняетсятоже не работает. Возвращается 100, а не 200, в console.log() это видно.
>>1530437Перечитай документации по fetch'у и промисам, ты делаешь хуйню.> куда именно нужно писать такие функцииfetch - сайд эффект - его место у параши в useEffect
>>1530439Только сейчас допёр, что в примере здесь: >>1530435в строке>setTimeout( return_value() ,timeout); //долго исполняетсяreturn_value() исполняется сразу же, а не по таймауту.Бля, аноны, как вернуть x из f(), после завершения return_value(), если она исполняется долго?
>var (timer, y) = setTimeout(function(){return x = 'value';}, 1000); //x - в y;>console.log(y); //исполняется только после обновления y.Вот так было бы заебись, а то можно ёбнуться на голову с этой всей ебаниной.
>>1530447>Бля, аноны, как вернуть x из f(), после завершения return_value(), если она исполняется долго?Как-то вот так, наконец получилось вернуть, и то с изъёбствами: https://jsfiddle.net/j42cz7dg/
>>1530459Но мне же надо было вернуть x из обычной функции, а не из асинхронной... Вот сука, да что ж за хуйня?!!В итоге, из обычной функции, получилось вернуть Promise, который со временем становится "resolved" - очень изъёбисто, правда - вот код: https://jsfiddle.net/j42cz7dg/1/
>>1530404Нет, до сравнения. Строки нужно сравнивать с строками. Числа с числами. Динамическая типизация в real-world приложениях это зло
>>1530473Господи, что за лапшу ты написал. В подобном коде никто не будет разбираться, кроме тебя самого. Почитай какие-нибудь книжки про архитектуру и структуру кода, пожалуйста.
>>1530479Обращаю внимание на то, что даже здесь мне так и не удалось ВЕРНУТЬ обновленное значение - ПОСЛЕ выполнения кода.Promise возвращается СРАЗУ, при вызове функции, и только потом, со временем - он получает статус "resolved".
>>1530483ты чё, больной? Что ты там делаешь? Напиши на async/await или забирай через .then, чего ещё ты хочешь от промисов?
>>1530483>Не смочь в %спецификация фичер нейм%>Вместо чтения двух строчек на mdn высрать пласт бессмысленной Даннинго-Крюгерной хуитыжс тред ин э натшел
>>1530502>ты чё, больной? Что ты там делаешь? Напиши на async/await или забирай через .then, чего ещё ты хочешь от промисов?От промисов хотелось бы хотя-бы>var (promise, y) = promise(delay).then((x) => {return x;}) //чтобы x возвращалась в y, а сам promise - в statusа то внутри .then только обрабатывать можно значение, а не возвращать его оттуда.ну или для обычных, неасинхронных функций - какую-либо директиву специальную, для промисов, чтобы можно было сделать что-то вроде>return promise["[[PromiseValue]]"] //после того как promise получает статус resolved, разумеется.
>>1530511> в statusв переменную promise, я её переименовал, была status.В том смысле, что там promise, но его status - не resolved, при вызове, и даже возврате,а resolved он - только при исполнении .then()Поэтому, когда возвращается этот promise из обычной функции - надо чекать именно его status,отсюда и название изначальной, переименованной переменной.
>>1530447const wait = milliseconds => new Promise(resolve => setTimeout(resolve, milliseconds));(async()=>{ doSomething(); await wait(500); doSomethingAfter();})();///////////////////////////////////////////const futureValue = (value, timeout) => new Promise(resolve => setTimeout(()=>{resolve(value)}, timeout));(async()=>{ doSomething(); const value = await futureValue('string value'); doSomethingAfter(); console.log(value);})();Иди учи промисы и асинхронность, блять, сидит пишет какую-то хуету.
>>1530511Ты что, дебил? Что такое асинхронность знаешь? Куда он тебе будет "возвращать управление", если синхронный код к тому моменту уже выполнился? Кого должно ебать что тебе "хочется"? Делай как надо и не выёбывайся
>>1530515Сейчас 90% вкатывальщиков - это семнадцатилетние дауны с курсов, которые даже бесплатный учебник по языку не осилили
>>1530515>Ты тот самый додик с говнокурса?Нет.>>1530514>Ты что, дебил? Что такое асинхронность знаешь?>Куда он тебе будет "возвращать управление", если синхронный код к тому моменту уже выполнился?>Кого должно ебать что тебе "хочется"?>Делай как надо и не выёбывайся.Пффф. А если он не выполнился до возврата корректного значения? Смотри сюда:>function sleepFor( sleepDuration ){> var now = new Date().getTime();> while(new Date().getTime() < now + sleepDuration){ / do nothing / } >}>>function sleepThenAct(){> console.log("Функция спит!");> sleepFor(2000);> return "Функция проснулась!";>}>>console.log(sleepThenAct());
>>1530523Я тебе ещё раз повторяю - ты дебил без понимания механизмов работы промисов, синхронного и асинхронного кода. ДО ОЧИСТКИ СТЕКА АСИНХРОННЫЙ КОД НЕ ВЫПОЛНИТСЯ. НИКАКОЙ. НИКОГДА. Твой слип забивает стек вызовов - и когда он чистится - И ТОЛЬКО ТОГДА, НЕ ВАЖНО СКЛОЛЬКО ТЫ СПАЛ СВОИМ ДЕГЕНЕРАТСКИМ МЕТОДОМ - только тогда будут выполнены колбэки асинхронных вызовов.
Анончики, подскажите.Разбираю React Route и возник вопрос:- У меня есть несколько страниц, по котором я перехожу с помощью <Switch> + <Route>. Как мне сделать так, чтобы при попытке перехода на страницу, которой не существует, появлялась ошибка 404?
Аноны, подскажите, делаю из формы банальный AJAX запрос на api "https://kladr-api.ru/api.php". Обычный fetch get запрос.Выдает ошибку CORS.Какие заголовки и настройки fetch нужно устанавливать что бы такие получить ответ от сервиса?Сервис кросс-доменные запросы точно поддерживает, у них даже свой джейквери плагин есть.Я давненько не работал с JS. Щас читаю, но чет пока в кучу.
Объясните тупорылому, как мне в геттере сделать так, чтобы возвращалось ОРИГИНАЛЬНОЕ свойство, без изменений(Условие и тесты в нижнем левом углу выделил).
Как экранировать полученный JSON ответ от сервера, заебала эта ошибка ужеНа бэке никто этого делать не будет и доступа туда нет
Для пет проектика нужн сделать авториацию, вообще не ебу что выбрать, столько сервисов и способов.Stateless jwt не походит, хочется иметь возможность прервать сессию. Сессии по кукам тоже, т.к. есть мобильное приложение.
>>1531417>хочется иметь возможность прервать сессиюодин дополнительный запрос к бд, и у тебя stateless jwt с прерыванием сессии
>>1531419БляПри авторизации генерирую jwt токен с юзером, складываю сессию в бд вместе с временем истечения. При каждом запросе поглядываю на сессию
>>1531423А как нормально реализовать истечение токена\удаление из базы, еще бы продление токена, да без рефреш токена.Как вариант повешать ttl index на коллекцию, но он вроде нормально не обновляется, да и обновлять, это еще доп операция на каждый запрос
>>1531430>истечение токена\удаление из базыНу самый простой вариант я думаю - чёрный список. Я так понимаю любой костыль сойдёт, лишь бы факт удаления токена хранился в бд.
>>1531433Хотелось бы без костылей. Я думал сделать так.Создать коллекцию сессий, в которой хранится jwt, expiration_date(?), is_deleted(?). При каждом запросе на защищенный роут искать по jwt сессию, если нет - 401. Получается чтобы разлогинить нужно просто удалить сессию, либо поставить флаг, что она удалена и не удалять по факту. Но я на бэке вообще не работал и хз норм ли это, не переполнится ли бд рано или поздно сессиями, если их не удалять, а просто менять флаг. Ну и вообще хз насколько это безопасный методОпционально смотреть на клиенте в jwt время истечения,и если токен просрочен, каким-то образом получать новый токен
>>1531444Только ты ловишь дикий оверхед на декрипт и перепроверку 2х коллекций каждый разИспользуй куки
>>1531472Почему 2-ух? Или это вместе с данными?Так даже с stateless swt надо декриптить его каждый раз. А если не jwt хранить, а просто токен? Хотя смысла нет, пользователя все равно придется с базы доставать, чтобы чекнуть роли, а это доп запрос в бд...А как с куками на мобилках-то быть?Как все сложно то
>>1531584> В чем проблема куков на мобилках?Подробностей не знаю, но все мои коллеги-мобильщики уверяют, что с ними много ебли
Анончики, правильно ли я понимаю что в реакте class House extend React.component () {} это тоже самое что и функция, которая принимает пропертис на вход и отдаёт jsx?
Милый анончик, чому оно не рендерится? Последний тест не могу пройти(условие в нижнем левом углу) скриншота. Я догадываюсь что это что-то с якорем надо еще намутить, но пока не могу сообразить.
>>1531645Примера хуже не придуматьВелосипед из упражнения только симулирует работу, но не имеет ничего общего ни с реальной низкоуровневой реализацией, ни с конченым высокоуровневым API Такое говно проходить даже вредно, смотри конкретные статьи
Аноны, подскажите:Ловлю дату в виде числа {1554572477021}, т.е. кол-во прошедших миллисекунд. Как это перевести в нормальный ДД.ММ.ГГГГ ?
>>1531726Вот полный код. Рендер устанавливается клиентом в тесте. Я не могу связать якорь и рендер. Код:function module(){ class Component { constructor(anchor,props) { this.anchor = anchor; this.props = props; this.onInit(); } onInit() {} set props(value) { this.properties = value; this.onPropsChanges(this.properties); } get props() { console.log({...this.properties}) return {...this.properties}; } onPropsChanges() { this.anchor.innerHTML = this.render(); } render(){ } } return { Component }}
>>1531771А мне показывают школу 21 от сбербанка, когда рика и морти смотрю. Каждый раз проигрываю, потому что вспоминаю слова грефа о том что программисты не нужны.
Зайки, новая задачка. Как отредактить рендер так, чтобы он создавал новые TD элементы с каждым новым значнием из LIST(устанавливается клиентом, смотрите нижний левый экран с тестами)
поцаныкак обычно выглядит вход в массажный салон?Что там написано на вывесках итд?понятно ли прохожим что ты стоишь у двери в шлюшарню?
Аноны, объясните пожалуйста вот есть у меня например функция, допустим ее имя getAccount, и она делает сетевой запрос. И есть внешняя функция, которая вызывает getAccount. Так вот такой вопрос: с точки зрения функции getAccount, в каком случае стоит перехватывать ошибку а в каком пробрасывать ошибку наверх в внешнюю функцию? Может есть какие-нибудь best practice по этому поводу? Стоит ли перехватывать ошибки в одном месте (то-есть пробрасывать все ошибки с низу доверху и там уже перехватывать) либо же размазывать try/catch по коду это норма?
>>1532028да, теперь по сути макаки не нужны, щас шарповоды подхватят тему и нахзуй с рынка , JS МАКАКИ
>>1532033это если тебе какую ресурсоёмкую ебалу на клиенте запускать нужно типа майнера, пишешь его на крестах или расте, компилируешь в жс и ты теперь миллионер!
>>1532033ты про что? на раст уже переписали все что только можно.хули там переписывать то? смотришь исходники на JS и пишешь тоже самое но на расте, react по сути можно за 2 дня переписать
>>1532068https://www.coursera.org/specializations/full-stack-reactА я пойду сюда, за бесплатно. Подал заявку на фин. помощь. Товарищ рассказал, что можно буквально lorem ipsum вставлять в пункты заявки и написать низкую ЗП.Он так получил доступ к 7 разным курсам.
>>1532074Opens notepad over the Windows 98 "Serenity" wallpaper with shitty musing blasting on backgroundHello, my name is Jogesh and welcome to my React tutorial
>>1532140я только одно понять не могу, это индус или китаецhttps://www.cse.ust.hk/~muppala/#biography Там есть интересный раздел, где он зачитывает свое имя и фамилию.
>>1532145Судя по образованию, таки индус.А тема с именем прикольная, чтобы студенты не коверкали. Хотя эти бараны все равно будут коверкать.
>>1532062Ты по скринам не видишь что это за хуита?В скринкастах Абрамова за 2014-16 и синтаксис новее, и реальные примеры рендера, а не оопшное мутабельное бессмысленное говно
Аноны, подскажите, как в реакте сделать так, чтобы при переходе между страницами изменялся заголовок document.title.?
>>1532280Даже я хтмл господин, без году неделя вкатывальщик, понимаю, если фраза начинается с великих вопросов: "ЗАЧЕМ, В ВАШЕМ ЖС ДОКОЛЕ ?", то это очередной пук в небо.
>>1532389Если проект чуть крупнее примеров из туториалов, то говнокод быстро сожрет тебя. Но прототипы на ноде делать одно удовольствие.
>>1532393вот именно,ниче нормального не написать,только прототип,и то не для всего,и посмотреть взлетит или нет
привет, макакендосыподскажите, как можно из хром расширения делать tcp мувы, коннекты там, сенд ресив,
Аноны, есть где список всех особых методов для классов? Вроде Symbol.iterator, Symbol.toStringTag, toString и прочих.
Почему гугл требует с меня 5$ за размещение моего расширения оригинальность которого еще не видел мир?
>>1532638Что пидорить по верифицированным данным с платежных методов тупых сосачеров закидывающих майнеры
>>1532670Откуда хочешь. Тут часто советуют хероку, у неё есть бесплатные сервера, если ты хочешь показать свою поделку паре анонов. А можешь и заплатить потом, чтобы сервер не засыпал постоянно.
>>1532676Я ничего не нашел по запросу heroku chrome extensionКороче вот ссылка на гитхаб просто https://github.com/vorteggs/sign-up-generator-chrome-extensionПользуйтесь бесплатно!
>>1532691Конечно не нашел, херока просто хостит сервер. А ты уже должен сделать сайтик и кнопку 'скачать' на нем> node_modules в репозитории> нет readme.mdПеределывай
>>1533274У тебя должен быть package.json куда ты его дел блять и есть package-lock.json, которые говорят все о модулях, они должны быть в репе, а не жквери ебаный.> А ридми зачем нужен?Затем, чтобы тебя не послали нахуй. Кто будет лезть в код и смотреть, что именно делает твое расширение? Я не буду.Блять, у тебя ещё в папке clipboard.js-master целиком чужой проект лежит, ты совсем блять ебанулся что ли?
Если я знаю ангуляр - то я по дефолту лучше(в плане опытности) 99% макак, которые пишут на реакте и уж тем более на vue?
>>1533517legacy.js самый главный фреймворк в вебе, используется в любых компаниях, советую найти и разобраться в нем как можно раньше
>>1533553https://www.npmjs.com/package/legacyТочно? этот фреймворк последний раз обновлялся 6 лет назад
>>1533517Это когда начальник долбаеб не дает время на рефакторинг и переход на новые смузи либы)))))))))
Народ, норм ли практика съебывать с работы если понимаешь что ты сделал много хуеты с точки зрения архитектуры?Впадлу все разбирать и рефакторить, думаю съебать на новую работку.дядя пускай сам расхлебывает мой говнокод
>>1533580Так так большинство и делает. Наделают хуйню, пока не почувствуют, что скоро уволят - тогда сваливают уже.
>>1533557Ты же сам видишь, что о нем постоянно говорят, даже не смотря на его устаревшее состояние, придется учить
аноны, где можно раздобыть готовые жс скрипты для каких то виджетов для сайта например? допустим встроенное время на сайте прикрутитьхотелось бы что то именно готовое как например с теми же хтмл шаблонами
>>1533726а без jquery никак не прикрутить?ибо я пхпшник и интересует этто просто как для того чттобы какие то плюшки на сайт прикрутить уже готовые, без копания в коде жса или же написания сего самому
>>1533767Для жеквери написана хуева туча всякого говна, вероятность найти все, что тебе нужно, на ваниле - крайне мала
Решил наконец таки установить приложение hh на смартфон, а не ковыряться в браузере. И в списке похожих нашел другие площадки. Может там я найду работу мечты!?
>>1533771наформашлёпить лендос, который будет работать один сезон — вполне себе нормделать что-то долгоиграющее и масштабируемое — позор и днище
Народ, норм ли практика съебывать с работы если понимаешь что ты сделал много хуеты с точки зрения архитектуры?Впадлу все разбирать и рефакторить, думаю съебать на новую работку.дядя пускай сам расхлебывает мой говнокод
>>1533927Вот кстати про игры двачую вопрос. Они просто на <canvas> рисуют что ли? Или есть ещё какие элементы\апишки для этого?
Привет, анон. Вторые сутки бьюсь над задачей: надо создать Inputs из Properties, но inpu эти должны быть с value change listeners. Мой код:function module(){ class FormComponent { constructor(anchor,props) { this.anchor = anchor; this.props = props; this.onInit(); } onInit(){} set props(value) { this.properties = value; this.onPropsChanges(this.properties); } get props() { return this.properties; } onPropsChanges(){ if(this.anchor !== undefined){ this.anchor.innerHTML = this.render(); } } render(){ if(this.properties !== undefined){ return ` <form> ${Object.getOwnPropertyNames(this.properties).map(item => ` <input name=${item} value=${this.properties[item].value} > `).join('')} </form> ` } } } return { FormComponent }}Условия с тестами, которые код должен проходить:Should('create inputs with value changes listeners', () => { let firstInputRes; let secondInputRes; const el = document.createElement('div'); const mod = module() const component = new mod.FormComponent(el); component.props = { firstInput: { value: 'Bob', onChanges: (value) => firstInputRes = value }, secondInput: { value: 'Martin', onChanges: (value) => secondInputRes = value } } assert(el.querySelectorAll('input').length).toBe(2); assert(el.querySelectorAll('input')[0].value).toBe('Bob'); assert(el.querySelectorAll('input')[1].name).toBe('secondInput'); el.querySelectorAll('input')[0].dispatchEvent(new Event('change')) el.querySelectorAll('input')[1].dispatchEvent(new Event('change')) testing.tick(); assert(firstInputRes).toBe('Bob'); assert(secondInputRes).toBe('Martin'); el.querySelectorAll('input')[0].value = 'Bib' el.querySelectorAll('input')[0].dispatchEvent(new Event('change')) testing.tick(); assert(firstInputRes).toBe('Bib');});Анон, от души - спасибо.
Пацаны, вопрос по реакту. У меня есть три фильтра для фильтрации поиска и контекст вокруг них. Как делать правильнее, три запроса из каждого фильтра в контекст, или один запрос из родительского компонента и передача значения через пропсы всем трем?У меня сделано через три отдельных запроса, и аппликуха внезапно стала на долю секунды пролагивать, может ли это быть связано между собой? Передается буквально один объект с двумя полями
>>1533977Если у тебя "передается буквально один объект с двумя полями" - значит не имеет смысл, как передавать пропсы, в конечном счёте это не имеет никакого значения, потому что контекст лишь облегчает программисту передачу пропсов, но никак это не оптимизирует. Проблема скорее всего в фильтрах, либо ты что-то недоговариваешь, проще код залить
Отправил резюме с мувисерчером на реакте на вакансию ПХПшника с возможностью обучения, но из ПХП знаю только синтаксис, который полгода назад учил в соседнем треде по ПХП. Какие подводные?
Анон, помоги, хочу я себе сделать музыку из ютуба на сайте и следую их гайду.> https://developers.google.com/youtube/iframe_api_referenceВижу, как они добавляют тег через скрипт и думаю, что это просто для удобства чтения, чтобы не читать отдельно хтмл отдельно жс, и я спокойно просто добавляю <script src../> в свой index.pug статично, без жса.И получаю ебучий no 'Access-Control-Allow-Origin' header.А если добавлю тег динамично через свой скрипт, то все работает. Это что же, JSONP требует, чтобы теги добавлялись через скрипт? Почему, зачем? Почему бы девелоперам ютуба просто не добавить заголовок Access-Control-Allow-Origin как это делают все либы, которые раздаются с cdn? Зачем вообще делать эту блокировку запроса ресурсов с других сайтов? Тем более, что если запрос этих ресурсов через <script> спокойно обходит эту блокировку?
>>1533990https://pastebin.com/a7dBWWHGНу вот код. Такой searchContext.get%фильтрнейм% делаю в каждом из трех фильтров. Редьюсер юзается, потому, что я дорабатываю проект с курса, препод там юзал такой подход для других частей приложения
>>1534020Все равно лучше зимой в теплом офисе с кофе и печенькой, чем в неотапливаемом цеху с последователями нургла петровичами. Плюс можно всегда на удаленку или вообще завести трактор со знанием языка, а рабочим сгниешь здесь заживо, особенно если крупный заказчик проебется.
>>1534034Да там дохуя заливать придется, редюсер, фильтер тайтл, остальные функции из серчстейта, никто эти простыни читать не будет. Впринципе ответ я свой уже получил, спасибо.
>>1534036Окей. Погугли про reselect - он нужен для мемоизации селекторов.В твоём кейсе я более чем уверен, что он не требуется, но на будущее, если вычисления могут быть сложными - это может быть полезным.
Аноны, для закрепления. Если у меня стейт как на пик1 и я юзаю редьюсер как на пик2, я же не мутирую объект? Спред оператор же создает копию стейта, а потом переприсваивает поле, указанное за ним? И в итоге изначальный стейт заменяется на новый целым объектом?
Напомните какая разница между установкой размера картинки через атрибуты и через css. Что будет, если поставить и то и другое?
Подскажите пожалуйста как вызвать функцию из readline function mytranslate(url) { return new Promise((resolve, reject) => { translate(url, { to: "en" }) .then(res => { resolve(res.text); }) .catch(err => { reject(err); }); }); } inf.on("line", line => { if (flag === 0) { if (line.match(regexp)) { flag = 1; } } else if (flag === 1) { let t = mytranslate(line); flag = 0; } });
>>1534166inf.on("line", async (line) => { if (flag === 0) { if (line.match(regexp)) { flag = 1; } } else if (flag === 1) { let t = await mytranslate(line); flag = 0; }});
>>1534679Обычно люди просто стаят 10-90 серверов если хочешь тянуть нагрузки как у гугла))00000МИМО HTML архитектор
>>1534804да похуй, нода и вся остальная хуита хорошо держит 10к онлайна.если у тебя сервис больше 10к онлайна, то поздравляю ты миллионер как ЮЛМАРТ итд и можешь нанять себе крутых хайлауд спецов.нахуя тебе сука эта инфомрация про производительность ноды?ты ж блять сука максимум пишешь хуиту на 2-3 онлайна
>>1534806>>1534806логическая браузерка,примерно половина работы сделана.хотя ты прав,даже 1к маловероятно,что будет
>>1534815)))но согласись,писать на руби такое,это не стандартное решение.хотя там есть очень неплохой эникабл для сокетов,но вот скорость самого руби
>>1534812Даже если будет 10к, это решается тупо 2к рублями в месяц на доп процессор и оперативку.а в от если игра реально взлетит, то ты докукупаешь 2 новых сервера за 200 баксов и все
Аноны, в работе Symbol используется ? Сказано, что он для приватных свойств объекта, это актуально ? Насколько я понял, можно в классе, делать свойства приватными еще.
Бля, на коленях прошу, пожалуйста, объясните, почему оно перестает работать при изменении значения txbx.
>>1535020опа, жуквериПри изменении какого значения? .txtb это твой селектор по class = 'txtb', ты его меняешь?
>>1535086>>1535057Черт, я вообще без понятия что это, если честно, просто первый ответ со стековерфлоу, который я пытаюсь присобачить к своей работе.... Суть в том, что у меня есть поле типа такого вида:<input class="form-control txt-field" type="text" name="name" placeholder="Your name" onfocus="this.placeholder = ''" onblur="this.placeholder = 'Your name'">и нужно, чтобы оно при нажатии на рэдиобатн появлялось, а вот то не работает вроде.. Слезно прошу о помощи!
>>1535191http://jquery.page2page.ru/index.php5/%D0%A1%D0%B5%D0%BB%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D1%8Bhttp://jquery.page2page.ru/index.php5/%D0%9F%D0%BE%D1%8F%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8_%D0%B8c%D1%87%D0%B5%D0%B7%D0%BD%D0%BE%D0%B2%D0%B5%D0%BD%D0%B8%D0%B5_%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2Вот это почитай, без полного кода сложно сказать что там и как. Если непонятно, то залей еще раз код полный куда-нибудь, где его можно запустить https://jsfiddle.net/boilerplate/jquery сюда например
>>1525895 (OP)че как щас модно писать: декларативно или императивно?https://dzone.com/articles/imperative-vs-declarative-javascript
Не догоняю как вставлять контент через шаблоны, но не на нативно js, а через жикуери. Вроде как тут хочу сделать, чтобы бустрапоновский срач с классами в код не вставлять.https://learn.javascript.ru/template-elementКак я понимаю, что они у меня точно так же шаблонами копируются куда надо, и не собираются отображаться.Што делать, куда гуглить?
>>1535532>Не догоняю как вставлять контент через шаблоны, но не на нативно js, а через жикуери.Нахуя жквери?templateElement.content - тут лежит DOM который внутри шаблона. Бери - вставляй - манипулируй - делай чё хочешь
>>1535532>Не догоняю как вставлять контент через шаблоны, но не на нативно js, а через жикуери.>jquery+template>86kB>засраный ДОМ>ивенты ручками>обновления ДОМ ручками>ЖИКВЕЕЕЕРИИИИИ>lit-html>10.5kB>0 зависимостей>настоящая шаблонизация с директивами>атомарные эффективные обновления ДОМ из коробки>Preact>9.4kB>Настоящий ёбаный реакт в 10 килобайтах>хуки>компоненты>божественная инфратструктура>проекты любой сложностиКаждый раз ору с jquery-даунов.
Есть ли отличия в производительности для стейтлесс компонентов реакта при написании const Example = props => {или function Example (props) {?
>>1534010Посадять на фреймворк - сам уволишься. Тамошние фреймворки не для нубов, как в js.Хотя тебя просто не возьмут скорее всего.
>>1535697Нет, 28. Что по теме сказать есть, или это очередной пук в лужу от решателя БИЗНЕСЗАДАЧ по 10 баксов в час?
>>1535743>очередной пук в лужу от решателя БИЗНЕСЗАДАЧ по 10 баксов в часОчередной пук от сеньор-помидор смузихлеба 300кк наносек? Если проект уже начат на жуквери, то зачем туда впиливать еще какую-то левую дичь?
>>1535743К чему ты высрал эту пасту зелени, если твоё мнение по этому поводу не спрашивали? Тебе, борщехлебу, заняться больше нечем и всё так плохо в твоей жизни?Рили поведение малолетнего дегенерата в 28 - диагноз.
>>1535937А разве эвентлистенеры вообще актуальны в реакте для таких задач? Везде вижу, что челы просто привязывают onChange к функции и обрабатывают все там. Поясните нубу
чекаемся, посоны https://docs.google.com/document/d/1oPn5gzuH6GeLFMNmZbK1xw_SJ4pOF7j2UA29OjLHEGQ/edit
>>1536032Все чек, кроме английского. Если перевод текста еще кое-как со скрипом сойдет, то с разговорным вообще все плохо.
>>1536050да рофл жеhttps://learn.javascript.ru/introduction-browser-eventsЯ думаю тебе нужно что-то такое почитать
>>1536032это же не наизусть все знать надо, а иметь опыт работы с этим всем? тогда чек все кроме тестинга.
Никогда раньше не делал расширения для браузера, но тут появилась потребность, подскажите, как лучше такую проблему решить.На странице есть видео с игровым процессом (почти что стрим).Там в углу указаны очки игрока. Мне нужно оттуда в режиме реального времени эти очки распознавать и выводить в другом виде.Проблема в том, как эти числа на стриме распознать, ведь это графика и возможно ли вообще такое. Подскажите, какую технологию использовать.
>>1536094Как работает бд нам не интересно. Смысл асинхронности в другом.Вот пришел ты (nodejs) и анон (php например) в библиотеку, и вы оба говорите библиотекарю(бд), что вам нужна книга война и мир (каждому своя). Ты не знаешь, когда она найдет эту книгу, может вообще не найдет. Библиотекарь уходит, и ты (nodejs) такой стильный-модный достаешь смартфон и начинаешь листать вконтактик, маме там позвонил, на двощах постишь, да и вообще ушел из библиотеки в магазин за мороженным, но в библиотеке оставил записку библиотекарю, мол позвони мне, как найдешь книгу. А тем временем анон (php), который рядом с тобой стоял, ничего делать не может, потому что он, сука, синхронный. Он ждет книгу и выполнять другие действия не может, может только только прождать какое-то время (таймаут) и если не получит хоть какого нибудь ответа, то уйдет из библиотеки. У тебя, кстати, тоже есть таймаут, если через какое то время библиотекарь не вернулась, то ты забираешь свою записку и тоже валишь из библиотеки.
>>1536106насколько правдива эта таблица?https://www.techempower.com/benchmarks/#section=data-r18&hw=ph&test=update&l=zik0sf-f
>>1536126Нормально нода работает с бд. Может и были какие-то проблемы в 2012 году, но сейчас разницы нет. Если утрировать, то нода просто подключается к бд на сервере словно так, как если бы ты это делал руками через консоль. Хотя на самом деле обычно непосредственно отправку запросов делает с++ модуль. >>1536152Да. Mariadb имеет обратную совместимость с mysql, т.е. то что работает с mysql будет работать и с maria.
>>1536156а что там с коллбэк хэлл?много читал про него в ноде,но не догнал.кратко-насколько с этим плохо,и много с этим дрочева?спасибо за норм ответы
Аноны, подскажите:есть вот такая API: https://wger.de/ru/software/apiя хочу сделать поисковую строку в которую ты вводишь название упр-я и он выдаёт инф-ю по упражнению. Как её по нормальному подключить? С более простыми API достаточно просто fetch(ссылочка), а тут не совсем понятно.
Как замерить скорость выполнения запросов к бд? Пробовал вот такое https://pastebin.com/LcYgLH1b , но цикл while не останавливается через секунду. Пробовал менять while на for с ограниченным большим числом типа 100к, выводит count = 0.
Эх, как же хочется маленький, кривенький, не очень красивый, простенький, нетронутый фреймворками, с var, jquery, бутстрапом под тоннами библиотек, растрёпанным или неуложенным бандлом, скевоморфичный, забитый сайтик, просто мазаг без трафика и перспектив, на шаред-хостинге, одновременно мечтающий о ком-то близком, чтобы зашёл к нему в исходники, но ничего не ломал по возможности, дабы вместе с ним изолироваться от неприятного социума.
>>1536509Любая галера в регионах. Там такого говна навалом, да и бандла нет, каждый файл отдельно через script тянется.
Аноны, будьте добры, подскажите зелёному с React.Если я в первом компоненте делаю реднер текста между вотрым компонентом, как во втором получить содержимое?Например, в первом компоненте пишу:return (......Lorem ipsum dolor sit amet, <SecondComponent>consectetur adipiscing elit</SecondComponent>)Как я могу в SecondComponent получить consectetur adipiscing elit?
29 нояб. 2019, 13:03Здравствуйте, информация засекреченаВаш отклик был получен компанией информация засекречена.В ближайшее время на Вашу заявку будет назначен HR-менеджер, пожалуйста, ожидайте ответа. Обычно это занимает 1-2 дня.Спасибо!Больше я их не видел
>>1536543Зачем жс фуллстак, если можно просто реакт фронтом пойти, ну или реакт + пхп. Явно в рашке работы с таким стеком больше будет
Еще вопросик. Как найти позицию текста (переданного children)? >>1536646Что-то в гугл не могу. Допустим, передаю как чилдрен одно слово:<SecondComponent>consectetur</SecondComponent>Как в компоненте <SecondComponent> я могу найти позицию этого слова?
>>1536676Потому что фронт я не очень люблю, но умею. Только у меня полное отсутствие вкуса, сделать любую хрень могу, но со стороны дизайна это выглядит как говно. Так что нужно чтобы был какой-то дизайнер, который нарисует красивый макет, который я сделаю. А пока он рисует, можно заняться бэком. К тому же, заебало прыгать между двумя языками.
>>1536846Во фронтенд вакансиях из дсов не так часто упоминаются навыки дизайна, сомневаюсь что там везде требуется эта фигня. Но лучше спросить у знающих людей наверное, я тоже перекатываюсь из подобной php jquery параши
Анончики, подскажите, почему данный велосипед не работает?https://jsfiddle.net/65u7wszv/Я здесь получаю данные и нужным образом отбираю нужные мне, записываю в переменную next ссылку где дальше смотреть и рекурсивно вызываю ф-цию, но рекурсия не происходит, функция один раз вызывается.
>>1536846Либо фронт либо бек, забей на фулстека.я сам фулстек, но тяжко варииться во всех котлахс беком тебе еще и девопсовские котлы надо учить иначе идешь нахуй, а не фуллстек.
>>1537017Я так понял это какие-то задания из курса, где эмулируется то, что делает реакт, только на ванила жс. Других объяснений этому у меня нет, лол
>>1536970Потому что у тебя асинхронная функция, а ты возвращаешь результат из функции до того, как он был получен. Ты должен возвращать не результат, а промис.https://jsfiddle.net/32squfe7/
>>1537052>>1536970Да, и функция теперь будет вызываться так:fetchingData('test').then(results => {console.log('результаты');console.log(results);})
>>1537048Да, кучу баз данных и их конфигурирование, хранилища, кубернетес и прочая хуита.без этих знаний нахуй идете сразу а не фулстек)прошил времена когда сервачки поднимались на OPENSERVER
>>1537076Лять, а что в плане проги такой фулстек делает? Штампует круды простенькие? Какие вообще проекты делаешь, можешь пример привести?
>>1537095ну типа того, микросервисы штампует.не думай что микросервис это просто 1000 строк кода и все, там дохуя чего, интеграция с дргуими сервисами, отказоустойчивость, работа с токенами, безопасностью, оптимизации, деплой - отдельная тема.если требуется фулстек, то скорей всего ты должен будет и деплоить, всяческие вариации серверов (тестовый, пред-прод , прод)дохуя всего надо знать
>>1537088работал в яндексе 6 месяцев, не советую, помойка еще та с кучей легаси и самописного говна.Отбор легкий, знание основных алгоритмов и язык.
ПЕРЕКАТ-> >>1525895 (OP)ПЕРЕКАТ-> >>1525895 (OP)ПЕРЕКАТ-> >>1525895 (OP)ПЕРЕКАТ-> >>1525895 (OP)ПЕРЕКАТ-> >>1525895 (OP)ПЕРЕКАТ-> >>1525895 (OP)ПЕРЕКАТ-> >>1525895 (OP)ПЕРЕКАТ-> >>1525895 (OP)ПЕРЕКАТ-> >>1525895 (OP)ПЕРЕКАТ-> >>1525895 (OP)
>>1537116хм, а насколько реально в такое вкатится ждуном? Если я там свою впску сниму и потренируюсь с докерами хуйокерами. И еще, реально ли чисто бекендером на ноде устроиться?
>>1537140каким блять джуном?джуном либо в бек вкатывайся либо в фронт либо в девопсы))Но никак не в фулстек.
>>1537119А если совсем опыта нет, кроме курсов Тинькофф школы, куда ещё идти кроме такого? Надо же хоть где-то его получить.
>>1537119>в яндексеВот хули они почты удаляют? Уже 2 штуки на моей памяти удалено в тихую. Это ваще жопошно и подло в 2к19 году.В рот ебал яндекс - пользуюсь гуглом. Те ничего не удаляют.
>>1537247самое хуевое когда работаешь в яндексе, если ты пользвоался их ПС, то они знают на какую порнушку ты дрочил чем интересуешься, какие таблетки покупал итд.если и идете в янедкс, то меняйте мобильный телефон, чистете все куки, меняйте браузер ,заводите новые почты итд
>>1537260Парашная конторка, судя по всему. Да и зарплаты - нижняя планка по рыночку, слыхал. Зато на гордость дрочат - типа у них работать престижно. Хз что престижного в обычной работе на галере - вряд ли рядовой сотрудник там архитектуру пишет.
Помогите, пожалуйста. Пытаюсь с помощью модуля mysql в node js вывести html из базы, а он выводится в виде строки. Как сделать так, чтобы оно читало как html?
Не понимаю, почему 1 вариант добавляет 10 записей, а 2 - всего одну? Почему транзакции не ждут завершения работы предыдущей? https://pastebin.com/e5JvvaLh
Ребят где можно разместить реакт проект чтобы другие тоже могли посмотреть как он выглядет как я на локальном сервере через npm start?
>>1537306Кто оно?Если используешь какой нибудь веб-фреймворк для вывода информации, например express, то если ты видишь html код с тегами, то тебе нужно указать заголовок Content-Type: text/html для страницы, чтобы браузер понимал, что эту страницу, нужно парсить как html.>>1537317Потому что во второй функции в sql запросе у тебя вставка происходит только при условии, если в таблице нет строки с gameId = 1 и serverId =1, а такую строку ты создаешь как раз при первом запросе.
>>1537336>вставка происходит только при условии, если в таблице нет строки с gameId = 1 и serverId =1Так а в первой не так что ли? Просто я это делаю на уровне JS, а не SQL. Когда начинает выполняться первая транзакция, все остальные должны ждать ее состояния commit/rollback, но они этого почему-то не делают. Почему?
>>1537339> все остальные должны ждать ее состояния commit/rollbackНет, это не так. Транзакции между собой никак не связаны. Транзакция, это что-то вроде буфера, она внутри себя выполняет запросы, результат которых может зафиксировать в базе данных или откатить все изменения, что были сделаны внутри неё.Судя по коду первого варианта, вставка и должна быть один раз, но возможно, что из-за того, что ты не ждешь завершения асинхронной функции то запросы не в том порядке или еще что-то. Укажи await testInsert() в цикле for.
>>1537349Перед testInsert никакой await не нужен. Я выполнял асинхронный запуск этой функции, имитируя одновременные однотипные запросы пользователей к БД.Моя задача: добиться того, чтобы пользователи не могли вставлять дубликаты. Но что если запрос будет большим, где гарантии того, что запросы на этот раз будут в правильном порядке? Там же node сам оптимизирует их и выполняет, а мне всего навсего нужно как-то блокировать любые операции с таблицей, пока есть активные транзакции.
>>1537357Точнее не активные транзакцИИ, а активная транзакцИЯ.п.с. Можно, конечно, оставить 2 вариант, но мне он почему-то кажется не надежным. Есть ли вообще вероятность выполнения этого запроса одновременно так, что в двух не зависимых транзакциях он выполнится успешно, вставив две одинаковые строки в таблицу?
>>1537330Апишку какую-то вызываешь? Тогда норм, заливай на gh-pages, юзай для этого gh-pages пакетhttps://github.com/gitname/react-gh-pages тутор
>>1537357А, теперь понял. Нужно использовать второй вариант, он верный. Но по хорошему тебе нужно с таблице сделать уникальный составной индекс из столбцов gameId и serverId, либо можно сделать триггер, который будет при вставке проверять на дубликаты.
Дали тестовое задание написать виджет на getsitecontrol по образцу. Я не понял как на этом ебаном сайте редактировать html и буду слать нахуй контору. Все правильно сделал?
>>1537657>Todolist делать пздц неохотаЗнакомая хрень.На самом деле тебе просто нихуя делать неохота и ты тут отмазки сам себе выдумываешь.Садись и делай что надо.
Анон, однопоточность браузера распространяется на iframe'ы? То есть, если у меня в строке кода добавляется iframe в документ, то я могу быть уверен, что следующая строка моего кода будет выполнена до того, как что-то произойдет в созданном iframe например его жс ?
>>1537735Это не плохо, просто не стоит им бездумно пользоваться. Можешь затереть чужие коммиты (да и свои).
>>1537713Сам спросил, сам ответил: https://stackoverflow.com/questions/11510483/will-a-browser-give-an-iframe-a-separate-thread-for-javascriptЗначит один тред на все, по крайней мере пока.>>1537726Добавляю ютуб плеер на страницу, а следующей строкой вешаю прослушку на событие. Хотел убедиться, что повешу её до поднятия события.
>>1537753>Значит один тред на все, по крайней мере пока.>Issue 99379: Out of process iframes>Comment 90 by nasko@chromium.org on Mon, Oct 14, 2019, 9:15 PM GMT+3>Status: Fixed (was: Assigned)>We have been using out-of-process iframes on desktop since M67 and on Android now starting in M77, so I think this can safely be closed as Fixed :).
Аноны, а как .map возвращает новый массив? Ну т.е. понятно, что arr.map(item => item.length) вернёт массив из item.length, но, если я хочу сделать что-то более сложное, например вернуть массив из неповторяющихся элементов, как мне это сделать? Явно указать return, если это не стрелка/многострочная стрелка?Все что мне приходит на ум -- ублюдский мап с циклом, проверяющий каждый элемент на соответствие arr[index]. Но есть варианты сделать это умнее, верно?
>>1537911И ещё вопрос. Как тут работает .reduce? Типа, объект это initialValue? Получается, он становится первым аргументом walk и мы получаем счётчик для каждого значения? Пиздец магия.
>>1537911 можно reduce, а можно так, напримерconst arr1 = [1, 1, 2, 3 ,2 ,4]const arr2 = [];for(let = 0; I < arr1.length; I++) { if(!arr2.some(arr1)) { arr2.push(arr1; }}
>>1537336>Кто оно?Модуль mysql, наверное. Послал я res.setHeader('Content-Type', 'text/html'); - Не помогает. Выводит вида пикрил
>>1537889На стеке написано «я не знаю, лол» и какие то наколенные эксперименты, к тому же ответы за 12 год (сейчас 20).Особо не начитывав на такие детали реализации - в разных браузерах может быть по разному, в пределах одного браузера - same origin iframe может загружаться в том же процессе, а cross origin - в отдельном. А также вероятно, что это можно настраивать.
>>1537929Разобрался. Шаблонизатор ejs ескейпал html надо было поменять <%= на <%-. Читай документацию
Вкатываюсь в js, немного буксую, дальше планирую node. Собственно развлекаюсь для себя, планирую писать браузерку. Скажите в двух словах про Angular, React, Express, Vue. Зачем так много фраемворков, для чего их используют, какие перспективы развития.
>>1538107>Зачем так много фраемворковЗатем, что славы хочется.>для чего их используютДля одного и того же - работы с DOM>ExpressВот это лишнее. Это не фв, а библиотека для ноды.
>>1538122> Затем, что славы хочется.А славу спрашивали?> Это не фв, а библиотека для ноды.Это веб-фреймворк для ноды.
>>1538121Я еще ни на чем не пишу, вот выбрал js для изучения, потому что один язык в браузере и на сервере.
>>1538122>Для одного и того же - работы с DOMТак получается однохуйственно какой использовать? А могу я без этого говна сам все писать и ковырять тот же DOM напрямую?
>>1538143Можешь, но angular-react-vue это дополнительный слой абстракции, который снимает с тебя необходимость самостоятельно манипулировать dom деревом.
>>1538143>могу я без этого говна сам все писать и ковырять тот же DOM напрямуюКонечно! Через месяцок поймёшь, как больно динамически рендерить дом по данным, перевешивая каждый раз листенеры или городя адские системы делегирования, поймёшь, что теряется стейт фокусов и прочих табиндексов при твоих наивных перерендерах, побъёшь себе шишки, городя адские пабсабы для реактивности, через полгодика, если мозги есть - изобретёшь свой vdom, потом свой реакт и так докатишься до какого-нибудь фреймворка.
>>1538139>веб-фреймворкСлишком мало там для полноценного веб-фреймворка будет. Максимум микрофреймворком можно назвать - слишком много доустанавливать надо до полноценного.Из каропки там роутинг да миддлеварь только.
>>1538347Тем, что мап мапит, 1 к 1. Если тебе надо >но, если я хочу сделать что-то более сложное, например вернуть массив из неповторяющихся элементовТо тебе нужен редус.
Аноны подскажите плз, хочу на реакте реализовать следующую вещь:У меня есть элемент, в котором я должен сделать выбор(select) и из него нужно передать инфу в другой элемент (select), а после этого на основе результатов появляется левая компонента.Вопрос в том, как организовать эти два элемента? Делать их отдельными компонентами или можно как-то организовать появление одного элемента после изменения состояния другого?
>>1538434А если у меня значение во втором селекте зависят от первого? Т.е. если я выбираю section 1, то во втором селекте у меня будет theme1 и theme2, а при выборе section 2 - theme2 и theme3
Аноны, помогите плиз, хочу захостить экспресс приложуху на zeit. Подскажите, что должно быть в build скрипте? На локалке у меня в скрипте запуска просто "node server.js", я пытался гуглить, там выпадают только какие-то зейтовские апликухи для превращения кода в исполняемый файл, ничего не понимаю.В доке у них толком ничего не сказано, пример для какого-то next только вида "build": "next build", что делать? И еще, если я вижу, что явно не то запустил в зейте, как в дашборде стопнуть деплой? Я так понял он автоматом редеплоит при пуше в репозиторий, а остановить это дело как?
>>1538441меняй состояние в зависимости от велью первого селектора, а во втором селекте через if даешь либо те, либо другие опции. Я бы как-то так сделалмимовкатывальщик, не верь мне
>>1538478Буквально 5 минут назад нагуглил про этот now.json, сейчас роуты забиваю. Спасибо.А если через npm скрипт, то как он примерно должен выглядеть?Зейту обязательно, чтобы главный файл назывался index.js? В now.json у меня стоит server.js, а при деплое зейт все равно в индекс лезет.
>>1538485я тот еще специалист по зейтуnpm скрипты, как я понял, для "особенных приложений", который они знаю как деполить, и их можно деплоить через просто `now`. Если у тебя слегка отличается - нужно использовать билдеры и писать конфиги. Или писать серверлесс функции, который они так активно продвигают.По поводу именований - я тут пытался фронт задеплоить, который собирался в www, а не в dist - ничего так и не задеплоилось, так что теперь думаю, что они очень любят свои дефолтные названия
Чуть-чуть поковырял styled components, недавно узнал про бем и bem-react-core, теперь буду учить его, а sc забуду как страшный сон. Все правильно делаю?
>>1538495Сейчас там тебе ребятки весь твой интел съедят своими абстракторамиhttps://github.com/bem/bem-react/issues/501
>>1538444Надо роуты переделывать чтобы была серверлесс архитектура. Там в доках есть примеры.>>1538495Божественные SC наоборот позволяют избавиться от ебучего бэма, который должен остаться на помойке истории, в десятых годах. В этом bem-react ещё и контекст апи под капотом.
Помогите конфиг из рутового компонента в сервис проброситьhttps://stackblitz.com/edit/vim8-2-resize-template-g8gf24?file=app%2Fapp.component.tsЗадание 2Форкнуть шаблон приложения и на его основе реализовать в отдельном аккуратно оформленном модуле, в отдельном каталогеструктурную директиву ifViewportSize, которая рендерит элемент, если ширина окна браузера соответствует переданному значения. Ширина браузера может изменяться после запуска приложения.сервис, который занимается определением текущей ширины окна браузера и должен получать на этапе инициализации конфиг с пороговыми значениями для разных типов ширины (нижнее значение, с которого начинается соответствующий тип)конфиг для сервиса должен передаваться через AppModuleДля тестирования раскомментировать разметку в app.component.html.Обратить внимание на производительность (на странице могут быть сотни произвольных компонентов)interface IConfig { medium: number; large: number;}small: viewportWidth < config.mediummedium: config.medium <= viewportWidth < config.largelarge: config.large <= viewportWidth
>>1538356Спасибо больше, натолкнул меня на верную мысль. Только:let test = arr => arr.reduce((acc, item) => acc.push(item+1), [])не работает, но:let test = arr => arr.reduce((acc, item) => acc.add(item+'1'), new Set());работает.Почему так? Кажется, что код практически идентичен.
>>1538847>let test = arr => arr.reduce((acc, item) => acc.push(item+1), [])не работает, но:не просто не работает, а выдает ошибку.А вот это работает:let test = s1 => s1.reduce((acc, item) => acc.concat(item+'1'), []);Пиздец, сломал всю голову уже.
>>1538847> let test = arr => arr.reduce((acc, item) => acc.push(item+1), [])Попробуй (acc, item) => item + 1
>>1538441Точно так же, если они завязаны всегда на предыдущие значения жётско - через useMemo, если их всё же можно потом вручную менять - useEffect
>>1538850>let test = arr => arr.reduce((acc, item) => acc.push(item+1), [])Потому что array.push() возвращает не массив, и после первой итерации ты ломаешь свой аккумулятор.
>>1538962А вот array.concat возвращает как раз массив. В этом и проёб. Лучше вообще делать return [...acc, newValue]
>>1538441>>1538959Фактически, тебе нужны "вычисляемые значения". Собственно, так и стоит относиться к useMemo - как к ячейке с формулой в экселе.const themeVariants = useMemo(()=>{ if(section === 'shit') return ['theme1', 'theme2']; if(section === 'pee') return ['theme2', 'theme3']; // ещё какая-то логика вычисления themeVariants}, [section]) <== говорим, что перезапускаем вычисление значения при изменении sectionПотом эти themeVariants рендеришь. Реакт - это всё про данные. Делай данные как дано и потом просто рендерь что получилось