Прошлый тред: >>1420986 (OP)НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!Для программирования на ХТМЛ https://codepen.io/pen/Для Ноды с консолькой https://repl.it/languages/nodejsДля фреймворков https://codesandbox.io/Залить, задеплоить страничку, сервер, контейнер https://zeit.co/nowАноны, хочу получить советов мудрых, высераю пару предложений и код на скриншоте, а получаю смехуёчки. Как быть?Если рассчитываешь получить дельный ответ, формулируй правильно вопрос:У меня есть проблема\задача (А) %текст-ошибки или задача%. Я пытался решить ее так %кусок-кода-опционально% (Б), у меня не вышло %текст-ошибки%. Я погуглил, почитал документацию и попробовал сделать так %кусок-кода-%(В), но получаю ошибку (Г).Сделай песочницу по ссылкам выше для ясности и удобства. Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем
>>1431833 (OP)Приглашаем всех любителей vue.js в нашу конференцию. Задаем ответы, пишем гуиды, вкатываемся вместе, etc.Группа в тг: /vue2ch
Бесконечный плейлист по машобу в жс: https://www.youtube.com/playlist?list=PLCOsN3HvFc6XZ2m_EpxeEqF6v9hY17amI
>>1431857>пик 2книга в руках тян не актуальна после 2015, у тебя там ecmascript 5, лол тут ты троллишь сам себя
как сделать клавиатуру,которая при нажатии будет становиться красной и передаст набранный текст в бд?
Ку, а реально ли освоить JS по learnjs и другим ресурсам? Крч, тема такая: на работе я, откровенно говоря, занимаюсь полнейшей хуйней. Вот нигде еще такого не было, чтоб я с обеда бегом бежал не в какой-нибудь тц проебаться, а обратно на рабочее место. Сижу, ебланю и занимаюсь абсолютно ничем, изредка отвлекаясь на незначительную хуйню (одному мудлу чат настроить, второй пизде принтер подключить, третьему уебану права доступа изменить и т.д).Видео осмотреть нет возможности за рабочим пк, но читать текстовые уроки и wiki я могу хоть 7 часов в день из 8 рабочих. По приходу домой, конечно же, смогу глянуть еще какие-нибудь видеоуроки и попрактиковаться мб.Реально ли вникнуть в JS и впоследствии в node с таким подходом?
>>1431922Да, в 2018. Но там изменений значительных нет, помоему какая-то регексп хуита, которую все копипастом решают.
>>1431833 (OP)Привет. Создавал с помощью js сайты, теперь хочу сделать расширение для хрома.В целом вопрос такой. Как получить текст страницы? Нужно расширением сканить текст на определенные слова и подсвечивать их.
>>1431977Пиздец. Ты вообще гуглить не умеешь? Может нахуй его, программирование это. Может лучше улицы подметать пойдёшь?
>>1431998Ты чё такой агрессивный? Больной что-ли? Не твое дело чем мне заниматься.Сайт больных каких-то людей. В других местах таких буйных нет.
>>1431857На четвертом пике калькуляторшизик? Понятно теперь, почему его не видно в последнее время, после такого обсера наверное стыдно даже в тред заходить. Эй, шизик, мы не будем смеяться над тобой больше обычного, ведь мы и так знали, что в жс ты не шаришь. Выходи гулять, не дуйся!
>>1432395Первый возвращает элементы с атрибутом "id" равным определенному значению, второй элементы с атрибутом "class" равным определенному значению.
>>1432406Первый возвращает элемент, а второй NodeList, второму можно указывать несколько селекторов, а первому только значение id
>>1432406В getElementById ты передаёшь ID и получаешь свой элемент.А в querySelectorAll вы ты передаёшь селектор от jQuery, типа #id / .class
>>1432427В который раз убеждаюсь жикверщики не знают любят основы. Почему не написать, что это цсс селектор?
Зачем нужен Typescript, если он не вставляет проверку типов своем выводе, не переводит свой синтаксис в аналогичные костыли на поддерживаемом Джаваскрипте, как Babel например? Это что, отдельный язык со своим компилятором, или плагин для VS Code, блядь, для интеллисенса?
>>1432576Это плагин для VS Code логику которого ты пишешь по мере написания своего кода, т. е. своего рода надзиратель с палкой которому ты говоришь когда тебя нужно бить палкой.
>>1432584Только самому писать код который будет выполнять проверку. ТС решает проблему только на этапе компиляции, если заранее не известно что у тебя будет в рантайме, то нужно самому писать проверки.
В VSCode не могу перейти через go to definition, F12 не отзывается, а если правой кнопкой нажать то такое меню убогое вылетает.Помогите, невозможно работать.
>>1432729Для этого есть человеческий WebStorm>>1432576Так у него нет такой задачи, он помогает проектировать, и, если нет говна с any то вполне заменяет проверку типов в рантайме, вообще на TS удобно писать/понимать сложные хуевины.
>>1432748>вполне заменяет проверку типов в рантаймеВ голос с дауна. Ну приходит тебе ответ от сервера, который ты парсишь при помощи parseFloat(res.body), потому что при компиляции ожидал число, передаешь ты его в метод в котором у тебя первым аргументом идёт число, а в него передается не число, а NaN, потому что в ответе пришла строка из символов, а не цифр. Молодец, сычуш, заменил тайпскриптом проверку типов в рантайме.
>>1432753ну так юзай io-ts какой или руками чекай, если ты такой долбоеб, что у тебя эндпоинт возвращает хуй пойми что.
>>1432762Что это за дивный манямир, в котором все приложения связаны с эндпоинтами? Любо парсер сайтов с этой проблемой может столкнуться, потому что владельцу сайта на тебя похуй и он не предупреждает об изменениях.
>>1432772Ну так потому я и написал, что ВПОЛНЕ заменяет, у него есть свои ограничения, которые связанны с производительностью, хочешь строгую проверку типов в рантайме - юзай либы/расширения ts или аналоги. А так обычно все места, где есть связь с данными со стороны валидируются и нет смысла чекать типы везде и всюду, в конце концов это фронт и всяко полно дебилов на ie11/edge у которых твоя йоба прилага и ненужной строгой типизацией (речь не о todo list) в рантайме будет тормозить.
>>1432783При этом:isNaN(NaN) возвращает trueisNaN("string") возвращает trueisNaN(1) возвращает falseНо для js-макаки в этом нет ничего удивительного и NaN это число.
>>1432806Он еще не знает наверное, что в шарпе то же самое как и везде, где используется стандарт IEEE 754 Double.NaN.GetType().FullName
>>1432806Как обычно жс-макак обосраласьВ твоей же картинке написано, что НаН относится к number type, т.е. с т.з. языка является числом.Блядь, какие же жс-макаки тупые...
>>1432934Результаты глобального isNaN не всегда эквивалентны результатам статического метода Number.>>1432863Охлади траханье и наведи порядок в своей голове, анонче. А уже потом поможем тебе разобраться в рантайм тайпчекинге.
>>1432806>>1432798>>1432794Смотрите, бунт макак. Вам даже написали черным по белому "special values" а вы продолжаете кричать, что это число. Как можно быть настолько тупыми? >>1432812>в шарпе то же самое Вот, еще один долбоеб, у которого NaN это число даже в нормальном яп. >Represents a value that is not a number>not a numberПеревести или сам поймёшь? При этом, макаки, можете посмотреть на нормальный яп и увидеть как isNaN реализуется - он не принимает в качестве аргумента строку, булевое значение, либо что-то другое, в качестве аргумента он принимает тип double, поэтому нет хуиты вида isNaN("asda") == true, ты либо получишь ошибку на этапе компиляции, либо вывалишься в ArgumentException в рантайме, в то время как JS просто проглотит и скажет спасибо.
>>1432944> можете посмотреть на нормальный яп и увидеть как isNaN реализуется - он не принимает в качестве аргумента строку, булевое значение, либо что-то другоеПро type coercion слышал, не?Юзай статичный член isNaN объекта Number, если избегаешь неявного приведения типов.> "special values"Как это противоречит тому, что NaN - легальное числовое значение, пусть и особое? А вообще, если честно, попахивает траллингом тупостью.
>>1432950Тупая скотина, это не легальное числовое значение это специальное значение, которое относится к типу Number, то что к этому типу относятся числовые значения не значит, что NaN это число. >Юзай статичный член isNaN объекта Number, если избегаешь неявного приведения типов.Макака бестолковая, ты еще что-то о троллинге тупостью говоришь? Как раз для проверки типов нужно использовать глобальный метод isNaN, потому что логично, что isNotaNumber("string") будет возвращать true, а не false. Number.isNaN используется в случае если ты точно знаешь, что аргументами будут числовые значения и результат операции между ними может вернуть NaN. Насколько нужно быть тупым чтобы этого не понять? Его даже засунули специально в Number, потому что он используется гораздо реже чем глобальный isNaN, но макаку это не смутило и он предлагает использовать этот метод для проверки типов.
>>1433019https://learn.javascript.ru/var name = prompt('Napishi mne', 'name');if (name == 'Valera') { alert('Privet mne!');} else { alert('Ahtung!');}
>>1432985>это не легальное числовое значение это специальное значение, которое относится к типу Number, то что к этому типу относятся числовые значения не значит, что NaN это число.Докажи, что NaN - не число.
>>1433092Спецификации тебе это уже написали, дурачок. NaN это специальное значение, которое входит в класс Number. Просто в JS нет классов, поэтому макакам сложно осознать, что не всё что входит в класс Number является числом, только потому что класс назван Number.
>>1433095Аааа, ну понел теперь. То есть это некий негласный контракт, что NaN - это таки число, но все-таки не число, так точно?
>>1433097Пикрил.>>1433099NaN это специальное значение, которое входит в класс Number. В класс Number также входят все числовые значения, но в числовые значения не входит NaN, поэтому оно и является специальным значением. Никакого контракта нет. Вот целочисленные значения без знака можно разделить по типам:byteushortuintulongТакже и у целочисленных со знаком есть свой тип, также и с рациональными числами. И NaN ни в один из этих типов не входит, потому что является специальным значением. Вот класс Numbers и включает в себя все численные типы и вот этот вот специальный тип NaN.
На хабре inb4 пошелнахуй вот вышла статья дескать Redux говно, а MobX - наше все. Его примеры, служащие аргументами - уровня самых наипростейших; плюс в статье стиль похож на того кадра, который недавно у нас тут недавно верещал что реакт нинужен. В середине комментов ему начали насовывать, а он скатываться ну просто в ЛЮТЕЙШУЮ демагогию. Если кому интересно посмотреть на сей экземпляр, то милости прошу по ссылке https://habr.com/ru/post/459706/
Тоже тогда спрошу: сильно всрал код?Вообще есть где про модели и вообще MVC местный почитать, а то гугл всякое выдаёт, иногда даже и ненужное.
>>1433371Зачем AllTypes в инициализаторе, если он везде присутствует и везде одинаковый? Его сразу нужно писать в класс.Шаблон у тебя один, поэтому не надо писать replace, нужно просто возвращать строку в которую подставляются значения из types.Вместо стрелочной функции зачем-то анонимная.
>>1433381>Зачем AllTypes в инициализаторе, если он везде присутствует и везде одинаковый?А если снаружи придёт с другими значениями прайсов? Я именно разделить хотел бы нормально эти вещи.>нужно просто возвращать строку в которую подставляются значения из typesЧитабельность хуже. А если там этих реплейсов будет с десяток?
>>1433395>Читабельность хуже. В голос, чем она хуже? Тем что там нет повторяющихся вызовов, которые жрут не мало памяти? Потом такие ебаклаки прибегают сюда и спрашивают почему у них страница по 10 минут грузится. Пишешь return `${var1} some text ${var2} some text ${var3} some test` и никаких реплейсов не нужно.
Как искать работу студенту? Ставишь в фильтре вакансий по JavaScript, нет опыта/начало карьеры, в результате остаётся вакансий сто, часть из которых только частично связана с фронтендом, много кто требует полный день, в итоге имеется с десяток предложений, которые либо отказывают, либо не смотрят отклик.Просмотры на резюме никакие почти. Имеются обычные js/react и вёрстка, небольшие домашние наработки. И как в таких условиях жить? Перекатываться в джаву/.net не хочется, и так много всего было потрачено на js, да и фронтенд как-то ближе.
>>1433451>либо не смотрят откликВчера отклик отправил - его не посмотрели. Зато та компания которой отправлял посмотрела резюме которое в открытом доступе. Пиздец короче.
>>1433458А в чём проблема, можешь пояснить? По моим соображениям, если бы я мог работать по полной занятости, то смог бы откликался на большее число вакансий, а там уже бы и по собеседованиям хоть начал ходить, пусть даже и не успешным.
>>1433440>Потом такие ебаклаки прибегаютДавно заметил, что все озабоченные оптимизацией элементарно не умеют кэшировать переменные и не соблюдают соглашения. Т.е. у них везде всё императивно и ручонками, но элементарных вещей не понимают.Похуй как это сделано в данном контексте, маня, если работает как задумывалось.
>>1433355Пиши норально епта.const name = prompt`ОП пидор`;console.log(name === 'Валера' ? 'Валера пидор' : 'Пидор')
>>1433466Не приглашают даже на собесы к ним. По переписке/по телефону/скайпу/т.п. говорили что не возьмем по %причина нейм% или даже просто на связь вообще не выходили.
Прорешал уже 2/3 учебника Кантора. Мне рассказывали, что сейчас устроиться на работу невозможно (данный тред это только подтверждает), но мне все равно как-то по приколу изучать программирование, прям чувствую, как мозги начинают шевелиться - забытое и прекрасное чувство со школьных уроков информатики. Всяко интересней, чем просто лежать и плевать в потолок. Я прям стараюсь наизусть запомнить все алгоритмы, мне вчера приснились три способа решения задачи "армия функции". Но я заметил, что сейчас все пишут код на некоем Реакте. И у меня возник вопрос: этот фреймворк (рамкаработа) очень сильно отличается от обычного джаваскрипта? Ну то есть там столько незнакомых команд, такое ощущение, что это вообще отдельный язык программирования.
>>1433510>все пишутНе все.>фреймворк Библиотека, а как следствие ничем от обычного не отличается по факту, такое ощущение может быть от обильного использования ES6. Так что двухчасового чтения вводной документации по react и ES6 будет достаточно, чтобы это всё не выглядело другим языком, всё те же вещи, только с так назывемым синтаксическим сахаром.
>>1433523Ну, если интересно, то можешь почитать про виртуальный DOM и узнать откуда вышла идея его использовать (в целом быстрее, если пользоваться с умом, и удобнее для масшабных приложений), оттуда и инструменты соответствующие (React/Angular/Vue), но это не такая проблема изучить их, если уверенно разбираешься в основах JS.
>>1433528Спасибо. Просто столько истерик сейчас по поводу бурно меняющихся технологий. Вот один мой знакомый программист, который делает сайты на jquery, говорил, что react - это очень сложная технология и лучше в нее не соваться
>>1433510>очень сильно отличается от обычного джаваскриптаЭто и есть обычный джаваскрипт. Выучи новые стандарты.>>1433515>БиблиотекаФреймворк.>>1433531>делает сайты на jquery>react - это очень сложная технология и лучше в нее не соватьсяВ голос. Твой знакомый тут даже тред создал -> >>1428667 (OP)
>>1433472Если похуй, то с такими вопросами не приходят, маня. И это как раз не озабоченность об оптимизации, это элементарный принцип хорошего кода - избегай дублирования там где этого можно избежать. На худой конец можно было сделать из 2 реплейс 1, но нет, заебеню 2 реплейса, а потом еще 10 добавлю, главное чтобы работало как задумывалось.
>>1433451>Ставишь в фильтре вакансий по JavaScript, нет опыта/начало карьерыИ зачем? В этом и проблема омежек, они думают, что все люди это роботы, которые сверяют всё по пунктикам и не делают шага в сторону. Твои проекты это и есть твой опыт. Если тебе их стыдно показать, то куда ты нахуй лезешь? Работай над ними, а не работу ищи. Если ты прям уверен, что у тебя охуенные знания, то еще лучше - пиздуй на апворк и бери там 10 долларовые задания, для фронтендера это не проблема.
>>1433510Реакт сложен в первую очередь потому что JS неу чит ООП, JS это процедурное программирование с небольшим намеком на функциональное. В итоге человек проработавший большую часть с JS думает, что React это другой язык и вообще какая-то хуета сложная, хотя на самом деле React это JS с ООП (хотя сейчас есть хуки, но они не популярны еще). Поэтому чтобы понять Ract тебе нужно понять ООП, тогда и проблем с его освоением не возникнет.
>>1433534О, я в том треде интересную задачку нашел ТЗ: 1. Есть человек, у него есть Имя, Фамилия, Отчество, Адрес, Занятие, Место работы, Дата рождения, Дата Добавления контакта, Телефоны личные, Телефоны рабочие. 2. Требуется отобразить таблицу с контактами, грузить только первые 20, потом - листалка.3. Возможность просмотреть один контакт отдельно (не в всплывающем окне), возможность добавить контакт, удалить. 4. Поиск: по вхождению (Имя, Фамилия, Отчество, Адрес, Занятие, Место работы, Телефоны личные, Телефоны рабочие) и сортировка (Дата рождения, Дата Добавления контакта).5. Валидация полей обязательна. Доступ по паролю, однопользовательский.6. Покрыть тестами.Я так понимаю, здесь нужно сделать таблицу, где будут поля с соответствующими даннными на каждого человека (имя, фамилия, место работы и т.д)То есть типа Вася Петров Андреевич Ул. колотушкина Программист...Иван Иванов петрович Ул. петрово-разумовская Программист.Правда я не очень понял про валидацию - то есть по дефолту поля таблицы должны быть скрыты, пока в них не будет введен пароль?
>>1433555>Правда я не очень понял про валидацию - то есть по дефолту поля таблицы должны быть скрыты, пока в них не будет введен пароль?Валидация вводимых данных при добавлении контакта, скорее всего.
>>1433555>2. Требуется отобразить таблицу с контактами, грузить только первые 20, потом - листалка.Нахуя? Можно же виртуализовать список.
>>1433555Можно еще добавить пункт Комментарии к каждому контакту. Но вообще задача тривиальная в плане программирования, дольше времени займёт ебля с интерфейсом.
>>1433451ну сейчас можно полтора месяца поработать полный день, потом как-нибудь попробовать договориться с работодателем. Ну и откликайся на вакансии с требованием 1-3 года, хрюшам зачастую наплевать
Пост поехавшего перфекциониста. Потому что и так ведь все работает, ыыыыыДвач, что это за залупа с нпм-ом на пикрилах? Почему она всплывает вообще всегда? Только что вот создал свой package.json, впервые руками настроил Вебпак и сам установил все пакеты которые я хочу, был красивый зеленый 0 уязвимостей, и я прямо загордился собой, скинув всю вину на васянов у которых я до этого брал готовые конфиги. Но тут хуябздыщ - и 56 уязвимостей. Ровно перед тем как я это заметил, я чтобы переместить один пакет из обычных в девДепенденсис удалил его и установил снова, в одну строку через &&, но ошибся и вбил всего один &, после чего нпм начал жутко рыгать аутпутом, ну я и вырубил его, не зная что происходит вообще. Ну, не удивившись поломке, я просто потер нахуй папку node_modules и package-lock.json и по сути переустановил начисто все нодовское говно с нуля при помощи npm i, исключая возможность сохранить ошибку, но она сохранилась, и уязвимости никуда не пропали. Далее я удалил все по новой, но при этом снова создал чистый package.json при помощи npm init и для теста накатил туда только пик 1, руками. В итоге один хуй получил пик 2, в который сразу включена попытка фикса, который никогда не работает, в лучшем случае 5 штук пару из сотни исправит. Что за хуйня, двач? И, самое главное, в чем суть этих самых уязвимостей-то?Как же я ненавижу когда инструменты связанные с кодингом ведут себя так хаотично и неадекватно. То лайв-релоадер поломается к хуям и перестанет обновлять, то еще что-то, я и так тупой и у меня проблем с моим кодом хватает, а тут еще и чужой, казалось бы проверенный, творит хуйню.
>>1433628Охуеть, а сейчас снова сделал npm i с изначальным package.json и получил пикрил. Как же полыхает, блядь.
О, раз тут такой вопрос, то и я спрошу. У меня на самом деле тудушка давно светится вот этими ошибками безопасности. Как их убрать? Проблема в том, что это не я установил эти пакеты - это зависимости установленных мною пакетов. Загуглил, сказали сделать npm update --depth 9999. Попробовал - Maximum call stack size exceeded.
Недавно открыл для себя в программировании терминал/консоль и подобное (да, я еще новичок). Де можно хотя бы в общих (а желательно чуть подробных) чертах узнать, как работает терминал с nodejs npm jest и подобными вещьми. Делал почти все по туториалам, в итоге не понимаю, каким магическим образом там все работает.
>>1433668Все очень просто. Все "команды", которые ты набираешь в терминал - на самом деле программы, только их расширение, такое как .exe опускается для удобства. Все, что вводится после названия программы через пробел, это параметры запуска. Так работают в принципе все программы на компьютере. Конкретно такие как nodejs и npm, то бишь у которых есть только окно консоли с текстом, называются CLI, загугли. Откуда твой терминал знает программах - долгая история, вкратце есть такое понятие как текущая директория, и конкретно в случае винды - системная переменная PATH, гугли это все.Параметры запуска бывают обязательными и необязательными. Обязательные чаще всего пишутся без ничего, например node main.js - запустить программу node, передать в нее параметр main.js, который nodejs запрограммирован воспринимать как имя скрипта на запуск. Необязательные чаще всего представляют из себя так называемые флаги, представленные, опять же, чаще всего, в сокращенной и полной версиях, через один дефис и два соответственно, например -D и аналогичный конкретно этому --save-dev. Алсо, и флаги, и обычные параметры тоже могут принимать каждый по параметру. Таким образом все это строится лесенкой в нечто вида npm install webpack -D, то есть ты запускаешь нпм, который видит параметр install, который видит имя пакета, и так же к этому добавлен флаг -D, означающий сохранить этот пакет как зависимость для разработки. Вообще, в принципе, если говорить более детально, то эти все "флаги" и прочая ебельдь это все условности, принятые комьюнити, на деле же любая программа просто получает на вход массив параметров, разделенных пробелом при подаче, и все. Если пробовал C/C++, например, то там непонятные аргументы у функции main как раз таки и есть параметры запуска.
>>1433678Хорошо объяснил, спасибо! Есть еще небольшая тема по npm - есть само NPM, а есть NPX. NPX по заверением интернета запускает скрипты (?), что это означает и в чем различия npm и npx?
>>1433679NPM - пакетный менеджер, гугли, что это. Конкретно этот пакетный менеджер в своем репозитории гугли, что это содержит скрипты на языке JS, которые ты с помощью него можешь качать и использовать в своем проекте, например такие как JQuery, ReactJS и т.д. Он качает пакеты в локальную папку node_modules, которую создает в текущей директории, либо если указан флаг -g, то качает в глобальную такую же папку, но которая расположена там куда ты Ноду установил, таким образом эти пакеты доступны откуда угодно, даже если не установлены локально.NPX - это просто утилита, созданная для удобства, критично не важная. Я сам ей не пользуюсь, и насколько я сам понимаю, это некий шорткат aka ярлык, идущий в комплекте с Нодой и NPM. Добавлен относительно недавно. Шорткат этот на запуск тех самых скриптов аkа пакетов, скачанных из NPM, в гугле есть примеры типа npx create-react-app myapp, create-react-app это соответственно пакет из NPM-а, который создает проекты на Реакте. Только вот дело в том, что он и так раньше работал если обращаться к нему прямо create-react-app "myapp", без этой программы-посредника, NPX. Возможно это потому, что я на шинде, возможно на линухах например так не работало.
>>1433680То есть, npx это что-то вроде пусковика (запускает пакеты, приводит их в действие), который позволяет легко запускать скаченные пакеты без лазанья внутрь самих пакетов (через консоль)? Если да, то вроде разобрался с темой
>>1433680>Добавлен относительно недавноЧе несет.>>1433682npx это программа, которая ставится вместе с npm. она позволяет делать две вещи - 1. поиск и запуск нужного модуля в node_modules без указания его пути. 2. запуск пакетов любой версии без их установки. в случае с create-react-app это нужно, чтобы ты всегда последнюю версию модуля использовал.
>>1433576>Кстати, на реакте это все делается за полчаса. Не, за полчаса вряд ли. За несколько часов по крайне мере такой быдлокодер как я ее за столько делает>Говно скучное.Может и скучное, но пока большая часть кому бы ее я не давал - ее не решили, а точнее как: часть сразу отказывается, а часть спотыкается на разных стадиях и бросают.мимо автор этой задачки, доводилось помогать собеседовать/тестировать кандидатов
>>1433746>часть сразу отказываетсяПонятное дело, сейчас бы несколько часов делать какой-то высер, чтобы тебе потом перезвонили.>тестировать кандидатовНу расскажи, как эта задача помогает в тестировании кандидатов.
>>1433773Не хочешь, не делай, я не заставляю. Можешь вообще ничего не делать.Как-то попросили придумать проверку на знание React+Redux; имеющие поверхностные знания в этих двух технологиях сделать ее не могут это очевидно.
Помогите понять композицию HOCов на примере из документации.Функция logProps принимает компонент WrappedComponent и затем возвращает и затем возвращает анонимный класс в котором есть метод componentWillReceiveProps и render. Теперь вопросчто показывает в консол логе this.props и что показывает во втором консол логе nextProps?И наконец, что передается в рендер методе в <WrappedComponent> в качестве свойства {...this.props}?
>>1433792>Функция logPropsПринимает компонент и возвращает компонент.>что показывает в консол логе this.propsПропсы, переданные компоненту.>что показывает во втором консол логе nextProps?Это старый метод жизненного цикла, принимает измененные пропсы.>что передается в рендер методе в <WrappedComponent> в качестве свойства {...this.props}?Остальные пропсы, которые должен получить компонент.
>>1433792>>1433815Еще дополню, у тебя будет безымянный компонент, который содержит внутри WrappedComponent, пропсы будет принимать этот самый безымянный компонент и прокидывать их в WrappedComponent через {...this.props}
Вопрос по Node/REST. Сейчас сервер возвращает список всех пользователей по /users/ и конкретного по /users/{id}Хотел сделать, чтобы можно было получать еще список активных пользователей, сделал router.get('/:id', (req, res) => {...});router.get('/active', (req, res) => {...});но когда пытаюсь обратиться к /active, срабатывает обработчик для /:id.Как это лучше пофиксить? Правильно ли вообще делать такие эндпоинты, или надо /active куда-то переносить?Опытным путем выяснил, что если в коде обработчики местами поменять, то все работает. Но должно же быть нормальное решение, а не такое говно
>>1433555Мечтаю начать писать тесты ничего для этого не делая. Объясните что здесь можно покрыть тестами?
>>1433839Ну, например Есть у тебя файлик с фикстурами, в которых сидят фейковые записи:1. Фигачишь в тесте фикстуру в компонент который создает выводимую табличку контактов;2. Сохраняешь в снапшот;3. Потом тесты уже все время сверяются с этим снапшотом (если ты конечно его не захочешь пересоздать).
>>1433820>если в коде обработчики местами поменять, то все работаетЭто и есть нормальное решение. Это то же самое, что и структура if else if. Ты же не будешь удивляться, что у тебя результат получится другим, если ты ифы поменяешь местами?
>>1433741Не совсем. Всегда рендерится только определенное кол-во строк, при этом необходимости в пагинации нет (рендер по мере скролла, но строки вне вьюпорта не рендерятся).
Бля то ли я тупой то ли еще что. Смотрите, у меня есть HOC. Он принимает два аргумента и возвращает функцию которая получает их от переданного компонента Wrapped и возвращает обратно компонент Wrapped который получает обновленный пропс и второй аргумент fn в качестве children, верно? Но при этом сами props остались прежними. И скажем если бы я добавил еще пропсов то это выглядело бы условно вот так <Wrapped {...props} x={x} >. То есть в таком бы случае я бы получил обновленный props который содержал все предыдущие пропсы и + к ним дополнительно {х}. Верно понимаю суть?
Такой вопрос ребятам жсерам. Когда говорят, что js разработчики много получают, они же имеют в виду только фронтенд?И второй вопрос, фронтендеры, это же те же верстальщики, только с компонентными фреймворками типа реакта? Получается, js-разработчик это html разработчик?Если ненавижу верстать, фронтендером мне не стать?
>>1433969> Если ненавижу верстать, фронтендером мне не стать?Есть проекты, где верстальщики дрочат в сторонке. Есть проекты, где их нет, но объем вёрстки минимален, ибо используются готовые компоненты.Но в общем и целом, работодатель хочет и рыбку съесть и на хуй сесть, а ещё видеть в подшефных "фронтендерах" верстальщика и разраба в одном лице.
>>1433979Ты забыл, что нормальный фронтэндер должен и в бэкэнде уметь шариться, и в базах данных, и еще проект в докер засовывать.
>>1434018Ну тогда бекенд тоже нинужен, так получается? Почему тогда большинство вакух и стажировок именно на php?
>>1434030И зарплаты соответсвенные. Рынок решает, что спрос на Node.js fullstack куда больше зп, чем php-макаки
>>1434049Это потому, что на пхп пилят очередные интернет магазины от васяна с помощью cms, а на ноде + реакте - энтерпрайзные веб приложения, через которые инвесторы планируют зарабатывать миллионы долларов.
Блять я ахуел если честно. Зашел как обычно на двач чтобы посмотреть годную литературу/вебинары/видео.В итоге в шапке вообще нихуя нет и я так понимаю из треда в тред все всех посылают на счет этого .Ну что же посоветуйте литературу/вебинары/видео по Angular'у.чисто ориентируясь по вакансиям выбрал этот фреймворк
>>1434049лол, сеньоры пхп точно также могут зарабатывать по 200-300к, глянь вакухи) Зато вкатиться в миллион раз меньше.На пхп просто кроме элитных вакух есть и дешманские, но дак это плюс, а не минус!
аноны, вот допустим у меня есть реакт приложение (созданное через create-react-app), у него есть бэк на ноде, как мне его обмазать функциональными тестами с запуском headless браузера? юнит тестами с enzyme и jest обмазал. я сейчас стартую бэк и дев сервер реакта через concurrently, есть какие-то может статьи как тут прикрутить функциональные тесты?
'use strict';class User { constructor(firstName, lastName) { this.firstName = firstName; this.lastName = lastName; } // геттер get fullName() { return `${this.firstName} ${this.lastName}`; } // сеттер set fullName(newValue) { [this.firstName, this.lastName] = newValue.split(' '); } // вычисляемое название метода ["test".toUpperCase()]() { alert("PASSED!"); }};let user = new User("Вася", "Пупков");alert( user.fullName ); // Вася Пупковuser.fullName = "Иван Петров";alert( user.fullName ); // Иван Петровuser.TEST(); // PASSED!>NnewValueВот что это за говно? Откуда оно тут взялось? Зачем оно?
>>1434144Выглядит как аргумент в этой функции. Чел, сегодня суббота, отдохни, а то у тебя совсем глаз замылился. Кстати, в любом иде можно выделить слово и у тебя подсветятся все места, где оно встречается в файле.
>>1434144Аргумент функции, он же на строку выше, для сеттера нужно же новое значение всё-таки, ты лучше и правда отдохни.
>>1434149Ну так скопируй это в идешку перед тем, как в тред высираться. Или ctrl+F заюзай, что как маленький?
Посоветуйте норм курс/видосы по экспрессу. Нужно чтобы было плавное вкатывание для тех, кто вроде когда-то что-то писал на ЖС, но ничего серьёзного. Никаких ультра йоб, хоть тудулист, но с фронтом, бд и т.д. В идеале Vue и Mongo.Danke.
>>1431833 (OP)Привет всезнающие аноны. Не знаю туда пишу или нет, но я целый день ебусь с этой проблемой. Мне нужно обработать на странице xlsx файл средствами jquery. Все что нашел это библиотеку js-xlsx. Но возникла одна проблема. Все это работает в методе onload и я не знаю как из него получить данные. Пытался выгрузить работу функции returnом, но в итоге в переменную падало undefined. Покопался в инете и нарыл, что этот метод выполняется асинхронно по этому не получается передать результаты внутри него во внешний код js. Как с этим быть? Я тупой и у меня проблемы с ингришом, по этому решения не нашел. Может аноны знают как с этим быть, возможно ли это вообще? В скрине пример того как оно выглядит и переменная которую нужно вытащить, что бы работать дальше по коду. Не пинайте сильно, я тупой и ньюфаг в программировании, кто может поясните что делать, как дауну.
>>1434205Определяешь в глобальной области видимости переменную и в ей присваиваешь значение из каллбека в onload.
>>1434063>вкатиться в миллион раз легчеДа нихуя не легче. Линуксы, умение в БД, HTTP, безопасность, моч в бизнес-логику клиента, обязательно немного фронтенда + JS. Это без гитхаба и не менее модных фреймворков ещё, на уровне мартышки за 30к в конторе "Горячие Булки и Ко".И это всё без весёлых картинок и анимаций - только сухие схемы и тонны текста.Т.е. учить примерно одинковый объём со всеми паттернами и местными технологиями. А синтаксис - хуйня, за неделю-две активной работы осваивается.
>>1434238Когда же ты поймёшь, что не всем удобно на первых порах читать документацию, когда не понятно, что читаешь, а уже исходя из примеров понимаешь, куда смотреть? Наверно никогда, раз за все те года(а ты ведь уже взрослый, правда?) не понял.
>>1434226Так я говорил про количество джуновых вакух, стажировок и минимально требуемый уровень знаний в них. На пхп иногда даже паттерны знать не надо, круд слепил и взяли в Рога и Копыта. На ноду я подозреваю требуются нихуевые навыки, так как и масштаб обычно серьезнее
>>1434254Так ты дебил, как я это сразу не понял. Ну тогда все в порядке, записывайся на интенсив с наставником, сейчас скидка как раз.
Вот бывает делаешь что-то, а потом задумываешься - а нахуя?Вот я когда только сел реакт учить смотрел один курс, там парень создавал файлы по такой схеме:'Components/A/A.js''Containers/B/B.js'То есть имя компонента как папку и как жс файл. А потом соответственно импортировал их как 'import yoba from "Components/A/A"'. А можно сделать везде index.js, чтобы сократить импорты до 'import yoba from "Components/A"'? Или это дублирование - ебанутый бест практис?
>>1434254>>1434267На самом деле курсы и видосы - лучший способ быстрого вката для новичков, пусть и не самый выгодный
>>1434205Оберни в фнукциюdoRequest(url, с){ c(tableFomRequest)}doRequest("http...", function(myTable){ body.innerHtml = myTable})
Кто-нибудь из ангуляр-битардов подскажите - что можно сделать с matdialog, чтобы его можно было ресайзить?Не хочу тащить целый модуль github.com/mazdik/ng-modal, а просто добавить ресайз в стандартный диалог, благо бэкдроп у него отключается и тут дилемма:- есть модуль с директивой angular-resizable-element, но я не понимаю как её можно прицепить к matdialog в своем компоненте, т.к. фактически из кода нет доступа к оверлею, который создается в родительских элементах открываемого через dialog.open(MyComponent, ...); диалога. Может через хитрые аннотации можно выдрать или через шаблон? Получается ресайзить только внутренности шаблона.- как я понимаю я не могу добавить директиву куда надо ни из кода, ни из шаблона, но можно попробовать закстендить мой компонент этой директивой, типа export class MyComponent extends ResizableDirective, установив нужные проперти, но опять таки ресайзится только контент- можно просто сделать свой компонент из шаблона диалога и показывать добавлением в app, а не через dialog.open, но тогда пиздой идут материал стили, т.к. у диалога видимо заумная структура начиная от оверлея и до тела шаблона, которую не хочется вручную повторять.только не надо писать, что это не по material design и чтоб я шел нахуй.
>>1434304Можно сделать индекс, а можно и не делать. Потому что пути все равно после автокомплита добавляются в любом иде, ты на них даже не смотришь. А вот создание еще одного файла замет немного времени, поэтому часто обходятся без него. Обычно индекс создают, когда на одном уровне с ним еще много других файлов, а не 1 компонент как в твоем примере.
>>1434334>>1434349В пизду, все равно нихуя не понял. Говорил же я тупой нуб. Буду тупо работу с массивом ебашить внутри онлоада.
>>1434375В свой MyComponent сделай инжект MatDialogContainer - у него есть _elementRef - он приватный, но мы же знаем что это только на бумаге. Можешь попробовать на него эту директиву для ресайза нацепить похоже через new YobaDirective(container._elementRef)А так-то это не по дизайну, так что иди-ка нахуй, и пока идешь, подумай насчет использования overlay+portal из cdk, так наверное полегче будет добавить нужные тебе штуки
>>1434493>MatDialogContainer Только что как раз подобное пытался провернуть - OverlayRef инжектнуть через @Host, получил undefined.Забавно что могу получить OverlayContainer и Overlay, но там нет самого элемента. Может я могу как-то от них поискать уже по их чилдам будучи в своем компоненте?Чуть позже попробую еще твой вариант с matdialogcontainer, правда мне кажется тайпскрипт не компильнется если я буду лезть в приватные проперти.В любом случае, спасибо за подсказки - не думал, что вообще кто-то ответит.
>>1434509И правда получилось, я просто совсем тайпскрипт нюфаня:var parent = (dlgContainer as any)._elementRef.nativeElement.parentElement;Увы ресайзер не пашет, делал примерно так:renderer.setAttribute(parent, "mwlResizable", "");renderer.setAttribute(parent, "enableGhostResize", "true");renderer.setAttribute(parent, "resizeEdges", "{bottom: true, right: true, top: true, left: true}");this.dir = new ResizableDirective(PLATFORM_ID, renderer, parent, zone);+ еще у него вызывал ngOnInit/ngOnChangesЭто прокатывало, когда пробовал на самом компоненте - так что либо сам ресайзер не понимает диаложные translate3d. Вроде даже просто setAttribute прокатывало...Видимо не стоит так делать раз не получается простым способом и действительно надо попробовать overlay+portal.Спасибо еще раз! Пойду спать.
>>1434517renderer.setAttribute наверное уже не нужен, он же просто атрибуты добавляет, ангуляр уже не будет на них смотреть, директива скорее всего тоже значения не прямо с дом елемента читает, а из @Input'ов.Поэтому проперти надо руками ставить:this.dir.enableGhostResize = true;this.dir.resizeEdges = ...
>>1434542Я чисто логически предполагал, что атрибуты не должны влиять, но когда пробовал делать через extends ResizableDirective, то это прокатывало, т.к. предположительно происходило до DI и анугялр их обрабатывал.В итоге, твоим способом - прокатило, но из-за того что cdkDrag диалога двигает его через transform3d - этот angular-resizer фейлится - визуально растягивает окошко, но потом оно восстанавливается, пробовал стили крутить, добавлять top/left/bottom/right/width/height, но по любому дрегу (cdkdrag cdkDragHandle cdkDragRootElement) появляется transform3d и все ломается.Код в итоге такойconstructor(dc : MatDialogContainer, el : ElementRef, renderer : Renderer2, zone : NgZone, public dialogRef : MatDialogRef<CatalogComponent>, private dialog : MatDialog, @Inject(MAT_DIALOG_DATA) public data: any) { var parent = (dc as any)._elementRef.nativeElement.parentElement; this.dir = new ResizableDirective(PLATFORM_ID, renderer, new ElementRef(parent), zone); this.dir.enableGhostResize = true; this.dir.resizeEdges = {bottom: true, right: true, top: true, left: true}; this.dir.resizeEnd.subscribe((e) => { console.log(e); // новый размер приходит частично, положение вообще NaN }); }Спасибо бро, теперь хоть понятно, что так - точно не стоит делать!
>>1434257Ну хуле там еще веб-сервер уметь должен, кроме как работать по REST методологии и принимать\выдавать json-хуейсон
>>1434172https://www.youtube.com/watch?v=L72fhGm1tfE>>1434238>Когда же вы поймете, что это все бесполезная хуета? Как можно вкатиться только по докам? Взять хотя бы связочку Node, Express, mongoose, mongoDB. Ты пиздобол, это невозможно.
>>1434669>Но очень поверхностноА глубоко ты никакой язык не выучишь, не собирая на нём проектов.Все эти разговоры про сложную ноду - чушь. Ты либо пилишь, либо думаешь как это сложно и нихуя не делаешь.Базу по самому языку дольше осваивать придётся.>>1434664>базы на JSJS, он как Lua почти. А Луа придуман для людей, которые в проганьи не очень шарят.
>>1434731>через сколькоУ тебя там в сутках учёт что ли? В нормальных конторах тебе тесты сдавать придётся. Нормальные люди не дают джуну мидла только потому, что он у них стул полгода протирал и нихуя не делал.
>>1434731Через когда ты начинаешь писать код который не нуждается в проверке, автора которого хочется не поправить, а спросить как он пришел к такому охуенному решению. При этом код твой должен быть действительно кодом, а не очередной правкой раз в месяц.
>>1434760Всегда есть средние значения для получения какого-то навыка. То есть если ты знаешь 3 других европейских языка, английский ты за полгода выучишь до нормального уровня, обычный человек справится года за полтора, двачер года за три. Ну ты поня о чем я.
>>1434771Поэтому и нужно говорить о показателях, а не о каких-то сроках из головы, которые еще и для всех разные.
>>1434780Давай иначе. Вот смотри, если бы ты был тренером в качалке и тебя спросили "через сколько обычно люди учатся 20 раз отжиматься", ты бы мог назвать временной отрезок же, а не что-то уровня "когда станешь крутым"
>>1434808Да, вот только программирование это не качалка, вась. Программирование слишком комплексно для того чтобы ты мог назвать конкретные сроки. Для качалки тебе нужно просто ходить минимум 3 раза в неделю в зал, делать монотонную работу, которую может сделать даже ребенок, постепенно увеличивать вес, следить за питанием и периодически менять тренировки (хотя и без этого обойтись можно). И через год ты гарантированно получишь результат. Что с программированием? Ты можешь год проходить курсы, решать задачи, читать книги, но через год останешься всё таким же новичком в программировании, просто потому что тебе еще и практиковаться нужно было. При этом тратить тебе нужно не 3 раза по 1.5 часа в неделю, а как минимум 3 часа каждый день. При этом ты можешь выполнить поставленную задачу в программировании сделав программу, а потом будешь работать по её улучшению и поддержке, и угадай, станешь ли ты крутым специалистом? Нет, потому что крутой специалист не ограничивается одним проектом, а если и ограничивается, то ему нужно постоянно улучшать свои знания, читая техническую и научную литературу.
>>1434750Ну для доков уже база должна быть какая-то, опыт работы с ними, и понимание стека с которым работаешь. С нуля в доки никто не врубается обычно.
>>1434927Это плохие курсы, негодные пересказывают. Хорошие и годные - знакомят с платформой и местными технологиями. Их найти только надо а вообще лучше всё подряд смотреть по нужной теме.
>>1434927Кто как учится. Некоторые только по документации, некоторым надо видео, некоторым надо, чтобы рядом кто-то сидел и гладил по... В общем, нет волшебной таблетки, тут как с почти любым занятием - марафон, а не спринт.
>>1434964> документация, выраженная простыми и добрыми словами, тоже поначалу полезноЛучшая документация - сорскод.
Я тут делаю тестовое реакт-редукс, обычно я весь редакс храню в одном файле( типы экшоны редусеры), но тут что-то довольно большой файл получился.Норм так оставить или обязательно раскидывать по отдельным файлам?Код я откомментил
только более менее разобрался как прикрутить к реакту хедлес браузер так опять какая-то лажавот что с этим делать? тест он все-равно проходит но засирает консоль целой тонной вот этого, даже несмотря на то что я пока просто загрузку страницы паппитером проверял и не трогал инпут. если один энзим то этого поноса нетпроблема в том что паппитер асинхронный и я хз как запросы в этот акт оборачивать тогда, на странице https://fb.me/react-wrap-tests-with-act на которую эта параша ссылается нет ни слова про то как быть в случае с асинхронностью
>>1435056Тут чекни.https://github.com/AgileIntYoutube/FullStackProjectSpringReactRedux/tree/branch16+ Видосhttps://www.youtube.com/watch?v=UJIVqz0MP8I&list=PL_FFk2jKcxgpNhlT1aJ20yQPvxrEFWFLL&index=18&t=985s
Может кто-нибудь рассказать, какие какими инструментами лучше создавать дизайн сайта? Голый CSS или лучше Bootstrap? Я не знаю минусов бутстрапа, но чувствую, что они есть. Так же было бы интересно узнать, какие JS фреймворки удобней и почему. Конкретно знаком с React.
Локальная переменная перекрывает глобальную?Если у меня внешний массив есть a=[];И есть функция, внутрь которой аргументом передаю array, но в коде самой функции этот array принимаю как a. Эт норм?
>>1435321>Локальная переменная перекрывает глобальную?даи вообще что за глупые вопросы возьми и проверьlet a = 0;const fn = (a) => { console.log(a);};fn(1); //--> 1
>>1435334Двачую, не надо боятся называть функции и переменные длинно. Вообще чем длиннее тем понятнее например checkSubmitButtonStatus или checkVacantResourcesForAddedPeriod
думаю написать какой-нибудь простой веб скрейпер и никаких идей нет кроме выкачивания порнухи с гелбуру по тегам лол
Анон накидай полезных статей по реактивному программированию и реализации атомов. Как теоретических так и практических.
Аноны, хочу сверстать nerd's, но тут возник вопрос с шапкой.По идее в шапку входят повторяющие элементы, а в main входит все уникальное. Но также пишут, что в <header> обычно располагается заголовок.То есть, если брать макет nerd's, то шапка это оранжевая рамка (логотип, навигация и корзина) или синюю рамку тоже включать (но на главной странице(1 пик) отсутствует заголовок 1 уровня, но почему то в примерах его тоже берут в header)?
>>1431833 (OP)Есть коллекция в монгодб.Каждый документ содержит все данные, необходимые для заполнения отдельной страницы.Среди данных есть массив, содержащий комменты (id автора, содержание и время).По id автора необходимо получить имена и аватарки (возможно и другие поля в будущем).Проблема в том, что $lookup не работает для вложенных полей.Как лучше "приджоинить" данные отписавшихся? Тупо прочитать документы как есть и через цикл прицепить данные из массива с пользователями?
>>1435227Да ты охуел.Где мои вопросы по Node.JS чтоб я хоть что-то помочь мог?Сидят, свой HTML пишут, потом в жопы ябутся.Нет бы кластеры поднимать с тысячами клиентов.
>>1435388хедер и футер больше дизайнерские термины чем версткат.е. вот ты дизайнишь чтобы определенные элементы (лого, навигация, корзина; контакты, соц. кнопки и т.п.) повторялись на каждой странице и зовешь их хедер навбар и футер. хедер это не только навигация, это просто верхняя часть сайта, может служить только для навигации а может служить и для привлечения вниманияс точки зрения верстки же тебе пофиг лишь бы отдельными элементами были, и то и другое и третье это просто div>>1435417вон вопрос задан прямо над твоим постом, а ты не ответилкстати жизненный вопрос, я тыкал мангуста и в итоге делал>Тупо прочитать документы как есть и через цикл прицепить данные из массивачто как-то топорно очень
Объясните в двух словах что значит композиция в реакте? Это когда я передаю все свойства компонента через props.children?
Анон, а насколько вообще сейчас востребован бэк на ноде? Недавно заинтересовался тайпскриптом, нашел ламповый фреймворк Nestjs и запилил на нем небольшой пет проект. Впечатления такие замечательные, что я даже подумываю сменить свой основной стек. Но проблема в том, что в большинстве вакансий требуются фуллстек разрабы, а от фронта меня просто тошнит нахуй. Короче, я в печали
>>1435486>Автокомплит Ох и злоебучая ж хуита это. Спасибо, что напомнил. Надо погуглить, как он отключается в плюс-плюсе.
>>1435500>насколько вообще сейчас востребован бэк на нодеОдин из самых востребованных. Нест заебись. >требуются фуллстек разрабыНу а хули ты хотел? Чистые вакансии тоже есть, только нужно шарить в технологии.
Начал изучать ноду. Хотел сделать базу монго на mlab. Но он теперь походу не работает для новых пользователей. Есть аналоги?
>>1433024> мам смотри какой я остроумный ну мам ну смишно же ай да не бей прочитал я уже литературу на лето!!
>>1435518>mLab is no longer accepting new customers.>Sign up below for MongoDB Atlas, a fully managed database-as-a-service.
>>1435541Хуя ты порвался. Вполне закономерный ответ для того, кто не осилил даже 5 минут почитать учебник по жсу, чтобы понять, как писать тернарник, но побежал создавать тупорылые посты на сосаче.
>>1435541Пиздец. Умудриться сделать в одной строке две ошибки, получить сообщение об ошибке, но вместо того, чтобы глянуть любой пример, лезть на форум и спрашивать совет.
>>1435562Не учит, лол, ты названия книг читал? Там разжевываются основы языка, а не парадигмы программирования. Однако у того же автора есть книжка Functional-Light JavaScript, вот ее рекомендую.
Что взять для бекенда? Для мувисерчера брал express, он мне не очень понравился. Может next.js? Вроде говорят, что он как раз для реакта.
Сап двощь, есть эксперты по vuex? Например в каком-то экшене я загружаю с какого-то апи массив комментариев, как их лучше сохранить, в том же экшене в цикле коммитить по одному типа addComment или сразу сделать мутацию вида addComments(array comments)?
Посоны, что может ваш мувисечер?Мой - регистрация/логин через гугл auth, поиск по базе imdb, добавление в вишлист мувиков.Я могу сеньором устраиваться?
>>1435767>>1435774Че за сср? Я слышал, что это для rca, но может и просто так можно использовать. Я просто сам настраиваю вебпак для своей реакт-тудушки.А nestjs популярен? Мне же не только для себя лучший инструмент, но чтобы и на рынке был востребован, хочу скорее устроиться.
>>1436072Сервер Сайд Рендеринг.Хуй знает насчет популярности, но все нормальные конторы юзают его. Но это "обертка" над экспрессом, а он тебе не нравится, так что сам смотри.
>>1436073Это не отменяет того, что пока ты не дойдешь до этих проектов и будешь писать только хелловорды, их надо писать красиво, и ошибки в их написании проще будет увидеть в структуированном коде, а не каше из говна Тем паче эти правила довольно самоочевидны, и без них ты сам же запутаешься в двух строчках своего года
>>1436141Тогда месяца вполне хватит, даже меньше. JS по сути это сильно урезанный C# в котором не нужно писать тип переменной при её объявлении, также как и не нужно его указывать при объявлении аргументов метода, не нужно указывать что будет возвращать функция и т. п.
Хотелось бы поступить в вуз на программиста, но от того факта, что закончу я его получается в 29 лет, пот на лбу выступаетВ таком возрасте если и поступать, то на профессии, где такого лютого эйджизма нет. На врача, например. Врачом и в 35 можно устроиться - ибо нехватка кадров лютая.
Аноны, можете доставить сорцов каких нибудь нормального размера проектов на Реакте? Хочу посмотреть какую люди делают структуру, что куда кладут, как именуют файлы и директории, как сам код организовывают. А то со всеми этими охуительными контейнер@презентейшионал компонентами, экшонами@редюсерами уже пиздец, а ведь еще куда-то нужно девать ассеты, стили, и прочие мелкие файлы, в итоге получается каша в которой дольше ищешь нужные файлы, чем пишешь.
>>1436506к 23 отучился на "совкового программиста", где учили C++к 28 самостоятельно вкатываюсь на JS/Python и с ужасом понимаю, что мне скоро 30 и уже никому не нужен, кроме НИИ НАУЧРААОБХОЗ-конторам....
да пофиг, не будут брать на работу всегда что-то замутить можно придумать. фрилансить, саас замутить, приложухи писать, блогером стать и вайтишников учить на крайний случай
Если я ищу ваканcию JS - frontend, например модно молодежно на реакте, на каком уровне я должен уметь верстать?Сейчас работаю фул стак, больше бэка, пхп, но понятно что css правок дохуя разных делаюМне надо смотреть на макеты и верстку с нуля или хуй забить?
Решил упорядочить свои очень фрагментарные знания, читнул Крокфорд Д. - Как устроен JavaScript, а там какой-то безумный дед сам себе библиотеки по работе с большими числами придумывает. Другие книги начинаются с того, как включить компьютер и что такое переменная. Есть какой-нибудь промежуточный вариант и не для новичков и не для хтонических безумцев жаждущих эзотерических откровений?
>>1436811Ну если их просто брать и копировать, то, конечно, нехорошо. А если разбираться, что и почему и в следующий раз этот сниппет уже воспроизводить самому, то это очень даже заебись.Ну а так Speaking JavaScript и к ней дополнения про новые фичи ES6+. Но если ты ждёшь, что по JS есть какая-то книга типа как есть по C или по Go ну или даже по Lua, в которых описан по полочкам весь язык в полном объёме, то по JS такого нет и не будет. Да, у моего ОКР от этого тоже пригорает, но тут уж ничего не поделать.
>>1436699По-разному бывает. Я работал и там где верстать не надо было вообще, и там где верстальщиков отдельных не было совсем и всю вёрстку делали фронтэндеры.
>>1436557А что ты делал с 23 до 28? Хлебал борщи? Так если по сути то вкатишься, если не тупой. Просто каково будет тебе самому, учитывая, что твоему начальнику скорее всего будет 25. Потому что он борщи не хлебал. Мимо 34-годика, вкатился в ноябре на 1 курсе в 17 лет, не выкатывался после этого.
>>1436506>от того факта, что закончу я его получается в 29 лет, пот на лбу выступаетУ тебя должен выступать пот на лбу от того, что ты собираешься идти работать только после того как получишь диплом. А на самом деле идти надо на 3 курсе максимум. В твоём случае лучше вообще сразу идти искать работу, параллельно получая манядиплом.
>>1436114Смотря что тебе нужно. Чтобы устроиться фронтэндером нужно знать много смежных вещей типа вёрстки, сетевых протоколов итд итп, которые не сложные, но это займёт время. Много времени. Если же просто чтобы понимать ЖС, то хуй знает, одни выходные у тебя это займёт.
>>1436848Опыт работы - это в плюс, а на образование никто не смотрит. Ну и нахуй на него время тратить? Если надо в европу - договариваешься с вузом, платишь бабки - и диплом у тебя в руках.
>>1436849На то, где ты учился, смотрят. Если ты во взрослом возрасте учился, на это тоже смотрят и это в плюс.Но опыт работы необходим. Выпускники без опыта не нужны, в 29 лет особенно.
>>1436187Месяц нужен, хотя зависит от общего твоего уровня.Тебе надо освоиться с базовым синтаксисом языка и особенностями, это несколько дней. Тебе надо освоиться со спецификой ноды или DOM, в зависимости от того, куда двигаться будешь. Тебе надо научиться писать и понимать чужие программы, как в callback-стиле, так и с промисами/async, это уже времени требует, зависит от твоего опыта. Вероятно надо разобраться с какими-то сетевыми хитростями, как с сетями работать, это тоже от опыта зависит.
>>1436865Ты школьник.Для получения рабочей визы диплом необходим, этого законы требуют. Почитай про это.
>>1436820неужели кого-то волнует сколько лет начальнику? это по-моему начальники ссутся подчинённых старше а подчинённым на возраст начальника пофиг вообще эйджизм параша, хорошо есть апворк
>>1436820>твоему начальнику скорее всего будет 25Значит общий язык легче будет найти чем с совковым динозавром 50лет.
>>1436891Блин, да изучи вопрос и не позорься. Одного договора не достаточно, тебе должны ещё дать рабочую визу для этого. Для рабочей визы необходимо образование по специальности. Тебе придётся делать нотариально заверенный перевод диплома для этого. Если образования нет, то это можно обойти большим опытом работы по специальности, лет 10, и с большой зарплатой, но это проблемно.
Посоветуйте как лучше сделать, на примере диалогов вк или любого чатика. Заходим в какой-то чат, фетчим сообщения, представим что апи нам дает уже отсортированные сообщения по дате, то есть сверху старые а снизу новые, через фор-луп отрисовываем их. А потом мы скроллим вверх например смотреть старые сообщения, а там пагинация и грузятся следующие N сообщений. Мой вопрос, лучше сразу сделать геттер какой-то на отсортированные по дате сообщения, или не париться а по умному просто вставлять новые сообщения в массив, сравнивая например по дате, и в зависимости от этого вставлять их или в начало или в конец массива?
Вопрос.Вот в теории, например, делаю я какую-нибудь социальную сеть, где каждый может кастомизировать свою страницу как хочет. Прям чтоб вообще всё как хочет. Но просто так давать грузить любые скрипты это пиздец, все пароли спиздят. Вот как это можно решить?Всё, что я придумал, это грузить в ифрейме пользовательский жс на другом домене и сообщениями между фреймами сделать API. Мол api.$('#el').color('#FFFFFF'), но это же ебануться можно выделять списки параметров, которые можно менять, а какие нет. А то сделают .onerror у картинки и пиздец.Как это решается?
>>1436903Пруф можно?Я вот сомневаюсь, что там идиоты сидят, которые только по дипломам людей завозят.Особенно по российским.
>>1436919https://germania.diplo.de/blob/1611612/6fbc950cbfbfbe4354d6aacf44f8ca99/blue-card-data.pdfВ Германии совсем сурово. В Голландии, возможно, заметно проще, но надо смотреть на конкретные программы.Ты должен понимать, что есть разные виды виз, и для каждого вида свои требования, они бюрократические. AFAIK и в США не так просто с визами.
>>1436909>>1436912я что-то не понимаю ни одного вопроса ни другого первый вообще взф, второй тоже не пони - какие пароли у кого утащит юзерскрипт, ты и без разрешения владельца можешь на страницу любой скрипт присобачить, она же у тебя в браузере
>>1436926>>1436930Мы два разных человека блджад.Хочу я >>1436912 разрешить пользователям свои скрипты на страницу себе ставить. Любые какие напишут.Но так они могут форму логина подменить и пароль увести, или редирект хуй знает куда поставить, или выполнить какой-нибудь запрос на сайт от лица пользователя, который на страницу зашел.Вот я и спрашиваю, как такое можно решить? Чтоб владелец страницы мог максимально свободно её крутить своим жаваскриптом, но не настолько, чтоб у него была возможность злоупотребить этим.
>>1436909Есть такая штука у массивов, .sort() называется. Она вызывает коллбек с эллементами a и b и ты должен вернуть -1 / 0 / 1 и магия сама всё отсортирует как хочешь.Погугли в общем.
>>1436935Ну ты можешь максимум высрать что-то на уровне обучающих сайтов/онлайн компиляторов, где в отдельном поле/окне запускается скрипт.
>>1436936Я понимаю, мне интересно что будет если у нас уже загруженно например 200 сообщений, и мы загружаем еще 50, и так каждый раз заново сортирует, эта сортировка тригерид ререндеринг например у какого-то фреймворка и пека взрывается нахуй
>>1436937Мой вариант с https://developer.mozilla.org/ru/docs/Web/API/Window/postMessage между ифреймами мне нравится намного больше. Могу запилить апи, через которое пользователь сможет менять стили/положения эллементов.Но я же ебанусь для всего этого код писать. Сколько тыщ параметров там существует для разных хтмл элементов.Может у вас готовое решение есть.
>>1436935Долбоеб, просто разрешаешь добавлять свои .css файлы и всё, как это и делается на всех адекватных сайтах, например на реддите у которого каждый раздел может воротить любую хуету с интерфейсом.
>>1436939Так ты получи, отсортируй, а потом вставь в страницу. А не по очереди каждое вставляй.Да хотя даже если ты по очереди циклом вставлять будешь, браузер раньше времени рендер не запустит.
>>1436939Если на примере вк, то зачем тебе каждый раз сортировать сообщения? Ты скроллишь вверх и он грузит при помощи api только старые сообщения, автоматически добавляя их к диалогу, уже загруженные сообщения он не трогает.
>>1436947Тогда или твой сайт или твоих пользователей выебут недобрые люди со своими скриптами. Отфильтровать как-то скрипты невозможно, потому что есть программы для обфускации js кода после которого ты заебешься что-либо в нём разбирать, но грузится и работать задуманным образом он не перестанет.
>>1436954По этому я предлагаю запускать их в ифрейме на другом домене (пусть там пиздят чё хотят) а апи для взаимодействия с основной страницей сделать через сообщения между ифреймами. Тогда я на 100% смогу контролировать что и куда и как вставляется/изменяется.Но это супер заёбно писать. Вот я и спрашиваю, может у вас есть вариант лучше?А вы мне отвечаете, что вариантов вообще нет, хотя я свой предложил.
>>1436955Твоим дерьмом никто пользоваться не будет, а если будет, то их ждёт ёбля с фишинговой хуитой.
>>1436955Еще как вариант ты сам можешь создать абстракцию над js-ом с ограниченным функционалом, как это сделано на тамблере (хотя может у них всё через css, не помню). Вот только вряд ли кто-то захочет вникать в придуманный тобой язык.
>>1436966Через межфреймовые сообщения не получится. Там нужно ждать ответа от страницы, получится всё асинхронное.
>>1436966Мне это очень заебным представляется. Это надо каждую функцию переписывать, да так чтобы нигде не наебаться.
>>1436955Смысл скриптов в другом ифраме? У тебя же скрипты должны основную страницу модицифировать и там какие-то действия делать.Ты хочешь невозможного. Тебе надо или выдавать отдельные домены 3-го уровня для всех, или выделить отдельный домен с iframe для общего блока, где формы логинов, личных сообщений, лента и всего другого. Фактически ты тут уже просто даёшь возможности интеграции твоей сети на другие сайты. Хотя тут куча фишинговых возможностей открывается.
>>1436955В пизду вас. Сам нашел.https://developers.google.com/caja/Работает через воркеры, это ещё удобнее ифреймов и работает в отдельном процессе. Буду копать в эту сторону.
Ребят, у меня тудушка, редакс и редакс-сага. Задания я храню в IndexedDB, а она асинхронная. Так что мне на самом деле нужно два действия в редаксе:1)Делает запрос в IndexedDB о новой записи, вызывает спинер загрузки2)По успешному завершению запроса убирает спинер и показывает само уже добавленное заданиеКак их назвать? Пока у меня addTodo и showTodo, но это хуйня, потому что с удалением тогда получается deleteTodo и hideTodo, а оно же не прячется никуда. Ещё есть идея addTodo и addedTodo, но это вообще пушка, можно постоянно путаться из-за двух символов, код неудобно читать.
Шарю жс код макабы, и вижу там какую то функцию state(%параметры%). Причем она много раз переопределяется, но нигде не вижу ее вызова. Т.е. похоже будто это встроенный метод языка, который сам вызывется с чем-то еще.Но определения для State в гугле нет. Может кто знает что это?Примеров дать не могу, т.к. капчую с мобилы. Да и можно и так посмотреть с компа.
>>1437177Сам код до ужаса примитивен, ужасная архитектура для редакса, компоненты не смотрел. В том контексте, что это кидали как пример архитектуры, то все очень плохо, потому что аппликуху делал человек с таким уже уровнем как и вкатывальщик. Только вкатывальщик хотя бы пытается найти, как правильно ее построить.
>>1437156Погугли "redux Request Success Failure", обычно такой шаблон используют, на реквест у тебя идет "fetching: true", на два других "false" + соответствующее изменения стейта. Много бойлерплейта, но это проблема редакса.
>>1437249даhttps://stackoverflow.com/questions/54069253/usestate-set-method-not-reflecting-change-immediately
Двач, я правильно понимаю, что презентейшионал компоненты - максимально реюзабельный сабж уровня можно взять и отдельно залить на гитхаб/в нпм как либу, работающие только с пропсами и содержащие только логику касаемую непосредственно себя, а контейнеры - это непосредственная модификация под конкретное приложение/место в приложении, например есть презентейшионал компонент - какая-нибудь карточка с картинкой, которая берет в пропсы линк на картинку, и для конкретного использования она берется в компонент-контейнер, который фетчит для нее непосредственно картинку, приконнекчивает к редакс стору, и задает, скажем, конкретно для неё свой стиль?
>>1437304>ненавижу редаксПочему? Если ты неосилятор, то это не беда. Я вот тоже неосилятор, но обычно хватает полнедельки-недельку повтыкать в одни и те же гайды, и дойдет. А коль дошло, вроде все просто и красиво там, хотя я конечно сам диванный и много его не использовал.
>>1437341Нормальные там абстракции. К тому же, хочешь - импортируй напрямую стор и юзай прямо у него метод dispatch, сабскрайби и напрямую апдейти компоненты через forceUpdate, тебе никто не запрещает это делать, только это будет лютый долбоебизм и говнокод.
>>1437346Я сам, опять же, проебался с этими анальными абстракциями довольно долго, пытаясь понять, как они работают, и не запутаться при этом обратно спустя секунду после того, как типа понял. При этом суть в том, что сам Редакс-то максимально прост, если его с Реактом не мешать. Его можно самому переписать в пару строчек и он на базовом уровне ничем отличаться не будет от полноценного. В основном чтобы понять как работает его помесь с Реактом мне помогло почитать офдоки по коннекту, расшифровывающие часть анальных абстракций: https://react-redux.js.org/api/connect.Ну и вот, кроме того, что нубасу в этом легко запутаться, минусов-то и нет.
Подскажите какой проект на ванильном JS лучше сделать для портфолио? Планирую засунуть несколько сверстаных сайтов на данный момент 6 сайтов, на некоторых прикручен простейшее управления на кнопках через JS, и планирую еще 2-4 и возможно какой - то проект с упором на JS. Подскажите куда смотреть. Фреймворки типа реакта пока не рассматриваю
>>1437241все разобрался, там вызов функции Stage несколько раз, и там параметр последний - это функция с очень большим телом, а я думал это сам Stage так переопределяется
>>1437378Калькулятор. А вообще твоих 6 одинаковых говноверсток никому не нужны, разве что ты на версталу метишь.
>>1437403> на версталу метишьКста, попадалось выступление версталы на конфе, который за 2 часа, в среднем, проект верстал. Это примерно 300к/c. Это еще вопрос куда лучше вкатываться.Охуенным версталой стать легче, чем средним погромистом.
>>1437411>>1437412Я же говорил вам, может нахуй это программирование, лучше товары на складе разгружать. Теперь страдайте.
Аноны насколько нужна математика во фронте ? в школе забивал на учебу, есть ли смысл пройти школьную программу заново ? 24+ лвл, думаю надо мне это или нет ?
>>1437439https://www.tampermonkey.net/documentation.php#_grantВ частности, тебя интересует это:GM_xmlhttpRequest(details)Там всё описывается, что и как делать.
>>1437261>>1437241Если про Stage, то это чтоб разбить код на блоки и отслеживать их скорость.Можешь сделать Store.set('debug', true); и будешь видеть внизу время работы каждого блока. Пикрелейтед.А то там пиздец был, тред на 500 постов ложил браузер.Мимо жсер макабы
>>1437452И раз уж мы про макабу, держите эвент, который я сделал но так и не придумал куда применить. Считайте пасхалкой.Запускайте и ждите секунд 30.$.getScript('/makaba/templates/js/events/doge.js');Чикатило там же chikatilo.js
>>1437532Это уже не я. Я ушел году в 2016, когда успешно всё заработало на макабе и вакаба ушла в прошлое. А дальше не знаю кто этим занимается.
Посоны, почему в россиюшке не взлетает JAM stack? Это лаг временной или че бля. На хабре пару восторженных статей, а ИРЛ нихуя не меняется. Ну по крайней мере во фрилансе.
Анусы, вот dispatch, который компонент получает через mapDispatchToProps, он чем-то отличается от store.dispatch? Я могу просто store импортировать и взять его метод?
Пиздец сложноДрочу уроки, половину почти не понимаю. На ютубе парень такой заявляет:- НУ ЕСЛИ У НАС НА ЭЛЕМЕНТ ПОВЕШЕНО СОБЫТИЕ, ТО ЭТОТ ЭЛЕМЕНТ ЛЕЖИТ В THISПочему блять? за что? А если у меня семь элементов с событиям, то как я нахуй обращусь к нужному? уу сука
>>1437624в смысле? так в this и будет тот элемент, который сгенерировал событие. если у тебя 7 кнопок с одним обработчиком onclick, то в this будет та кнопка, на которую ты нажал.
>>1437576Не очень понимаю, а чего ты ожидаешь? Это нишевая штука, которая нужна далеко не всем и не всегда. Плюс в РФ нет своих лямбд ни в яндексовом облаке ни в маилрушном, на чём ты предлагаешь это всё делать?
>>1437576Плюс лямбды ещё и стоят намного дороже, чем те же впски. В штатах где зарплаты другие там и расклад другой. Там время стоит дохуя, а у нас по сравнению с ними -- нихуя.
>>1437672Везде this этот элемент к которому привязали событие. Не смотри эти уроки, они параша. Читай учебник и к каждому новому пуку решай 10 задач
>>1431833 (OP)Аноны, как вы боретесь с ОТСИЖИВАНИЕМ ЯИЧЕК? Пиздец после 7 часовой сидки на стуле (ну еще обед есть, там я пытаюсь пройтись по парку) яек вообще не чувствуется.И глаза. После долгого просмотра за монитором один глаз косится. Ну краснота еще. Как фиксите?
>>1437672>Читай учебник и к каждому новому пуку решай 10 задачЕщё бы знать где это задачи найти на каждый пукУроки не супер, согласен, но я в треде спрашиваю, иногда отвечают и картинка собирается. Да и интерактивно это.
>>1437624> на ютубеThis. Если и жрать ютуб, то жрать вообще все подряд, максимальное количество высеров, чтобы в конечном итоге выжать из них всех нечто среднее, что окажется правдой и дойдет до тебя.Начнем с того, что this, по крайней мере в традиционном понимании, абстрагировавшись от всяких JS-овских анальных прототипов и прочего - это обращение твоего класса к самому себе, а точнее, что важно, к конкретному экземпляру себя. Так вот, например, если у твоего class Circle есть поле radius, то доступ к нему из методов осуществляется с помощью this, потому что у методов свое поле зрения, свой скоуп переменных, если написать в методе просто radius, то его там не обнаружится, но методам дается переменная-ссылка на текущий класс с зарезервированным именем this, таким образом, ты можешь обратиться к своему полю при помощи this.radius. Возникает вопрос, почему бы тогда просто не использовать для этого имя класса, типа Circle.radius внутри метода этого же Circle? А потому, что тогда ты бы менял значение radius не у конкретного экземпляра круга, а у класса Круг, то есть у чертежа кругов.Так вот. Это было базовое объяснение, что такое this в ООП-модели и откуда он берется. Если брать в учет конкретный твой пример с событиями, то твои onclick и так далее - методы класса Node, почти как круг из моего примера, только вместо круга, этот класс представляет элемент DOM-дерева. Эти событийные методы изначально пустые, и предназначенные для заполнения юзером, и закадрово вызываются тогда, когда, собственно, физически произошло нужное событие. Ну и делай теперь выводы, раз onclick - это метод класса Node, и ты в непосредственный его экземпляр, в какой-нибудь <div id="huy"> скажем, перезаписываешь этот метод на свою функцию функция и метод - одно и тоже, это условные названия чтобы различить функции в классах и вне них, то получается в этой функции та самая переменная this будет указывать на твой <div id="huy">. Алсо, element.addEventListener() - это такой же метод, как и onclick или onchange, только инкапсулирующий все реальные element.onclick, element.onchange и т.д., и позволяющий добавлять сразу несколько обработчиков.Все это - ОЧЕНЬ в общих чертах и ни в коем случая не должно восприниматься как чистая нить истины. Среди всех этих пояснений кроется куча подводных камней, не вошедших в мои общие черты, поэтому иди и учись.
Ребята, пишу бота для сайта одного, который будет нажимать на кнопки.Мне нужно нажать на ссылку "Оформленные" с помощью js. Проблема в том, у ссылки нету уникального обозначения не id, не Name, все что есть это уникальный href. Как мне нажать на нее с помощью clicl()? Все что смог, найти ее с помощью indexOf, но не могу получить ее elemt.Подскажите пожалуйста.
>>1437689> все что есть это уникальный hrefТвой выбор по id и по name - это просто css-селекторы, либо же обертка над css-селекторами. Гугли css-селекторы. Полный, не обернутый css-селектор в JS можно вписать при помощи querySelector() и querySelectorAll(). А теперь гугли css-селекторы.Гугли, блядь, заебал, или ничему не научишься.Загуглил? Ну а теперь держи кэжуал путь: ПКМ -> Copy -> Copy JS Path, по крайней мере для Хрома.
>>1437690document.querySelectorAll("[href='javascript:onEnterMenu("1", "InputVetDocumentAjax", "false", "true");']");Вот так правильно?
>>1437703> Вот так правильно?Ну возьми и проверь, что вернет это выражение.Но это будет не конкретный элемент, а массив подходящих под селектор элементов, т.к. он у тебя будет единственный, то бери от него [0].
>>1437706var elem = document.querySelectorAll("[href='javascript:onEnterMenu("1", "InputVetDocumentAjax", "false", "true");']");alert(elem[0].innerHTML);Но не получается, где то я наебываюсь и не могу понять где...
>>1437711Кавычки. У тебя конфликтуют кавычки селектора с кавычками твоего JS-кода. Искользуй escape-последовательность, \". Проще говоря, поставь перед каждой " внутри изначальных двух JS-кавычек обратный слеш.
>>1437682Так делай перерыв каждые 45 минут. Я вот эспандер жму ещё от туннельного синдрома, а то я прошлым летом чувствительность в руке левой потерял, пиздец стремно было.
>>1437740> а не знаешь как ее сделать...https://google.com.Серьезно, на это даже не стоит тратить своё время. Как и на html. Только базовая механика работы. Конкретные теги-хуеги и свойства-хуейства для CSS и HTML гуглятся в процессе, а если так прёт, то на ютабе есть просто опиздохуическое количество часовых краш-курсов и маленьких гайдиков по реализации конкретной фичи, от опиздохуического количества мамкиных десигнеров. И, собстна, так как это всего лишь десигн, просто таблицы стилей/деревья элементов, и логики в них никакой нет, то объяснения от десигнеров заходят в самый раз.
>>1437723var elem = document.querySelectorAll('[href="javascript:onEnterMenu(\"1\", \"InputVetDocumentAjax\", \"false\", \"true\");"]');Все равно не получается. Я понять не могу что не так.Он пишет: Failed to execute is not a valid selector.
>>1437688>это обращение твоего класса к самому себеПиздеж. this это указатель на контекст вызова. Просто полудурок Брендан будучи под лсд и одновременно сидя на хуях - назвал это зачем-то this, и чем заложил ебической силы мину под изучение js на многие годы навсегда.
>>1437748Сделал по другому var elem = document.querySelectorAll('#body > table > tbody > tr > td:nth-child(3) > ul > li > ul > li:nth-child(1) > a');Скопировал селектор, только больше времени ебался -_-
>>1437749Значит заюзай способ из-под спойлера в моём первом посте. Он даст тебе костыльный селектор, сделанный через вложения. Это точно сработает, а напрямую не помогу, потому что нет в руках соваса.
>>1437752>Пиздеж. this это указатель на контекст вызоваТы пост-то мой читал?>по крайней мере в традиционном понимании>абстрагировавшись от всяких JS-овских анальных прототипов и прочего>Все это - ОЧЕНЬ в общих чертах>Среди всех этих пояснений кроется куча подводных камней, не вошедших в мои общие черты
>>1437760Читал. Ты, если берешься отвечать новичку - то рассказывай уже нормально, как оно есть на самом деле. Ты же его только запутываешь больше, еще и стену текста городишь.
>>1437764> Ты, если берешься отвечать новичку - то рассказывай уже нормально, как оно есть на самом делеНаоборот. Чтобы рассказать нормально, нужна целая книга. Новичку же нужно рассказать так, чтобы он получил наводку и понял суть. Техническая сторона новичкам, не знающим что такое программирование, нахуй не нужна. К тому же я явно указал, что это все хуйня и в контексте джаваскрипта неправда.
>>1437768Он получит наводку на неправильную суть, после чего будет ехать грабли через грабли, получая неожиданное поведение в самых кажись на первый взгляд обычных местах, например в том же обработчике событий. А если нубам просто сразу сказать что this всегда указывает на то, откуда функцию вызвали а this-ом это назвали ради троллинга по синьке - то вопросов будет меньше.
>>1437782>Он получит наводку на неправильную сутьПросто потому, что в js упороли эту ссылку. В других языках this это всегда очевидная вещь.
>>1437452Можешь подсказать, возможно ли реализовать задумку? Хочу изменить отправку смс, чтобы не ждать пока каждое сообщение отправлялось. Т.е. смс сначала записывается в очередь, потом по таймеру извлекается, и если надо пройти капчу, то решаю на стороннем сервисе. Короче форма сразу очищается после нажатия на кнопку. Хочу это сделать через tempermonkey, но мне еще надо как-то отключить старые обработчики событий, вот тут проблема мне кажется.
>>1437689>>1437755В голос с дауна. Пишешь в консоли onEnterMenu( далее до закрывающей скобки и будет тоже самое, что при нажатии.
>>1437819А я тут причём? Как это c макабой связано?Я вообще не понял что ты пытаешься сделать и на чем.
>>1437819Блядь, ты и правда что ли СМСками посты назвал?С такими знаниями хуй у тебя что получится, по этому на тебе самый простой способ.В консоль браузера>Store.set('debug',true);Обновляешь страницу, открываешь настройки сверху и отключаешь стадию обработки формы.Это для тебя самое простое, чем пытаться объяснять тебе как на жсе это правильно сделать.
>>1437942Спасибо! Может быть можешь подсказать что читать на эту тему> как на жсе это правильно сделать.?
>>1437931В общем хочу быстро писать сообщения, не ждать пока форма очистится сама, пока кнопочка пишет % загрузки. Ну еще капчу буду решать на anticaptcha но это пока сложно для меняДля этого кидаю сообщения смс в очередь, по таймеру они сами отправляются в тред.
>>1437959>>1437961Для начала иди найди сервис, который тебе сможет решать капчу от гугла.И если найдёшь и проверишь и сможешь заставить его работать, тогда возвращайся за следующим квестом.
>>1437971Индус может текст с картинки ввести, а тут надо знаки, гидранты, переходы, небо и аллаха отмечать.Говорю иди попробуй найди и заставь работать.
>>1437976>100% капч распознаются нашими работниками со всего мира. Именно поэтому используя наш сервис вы одновременно помогаете тысячам людей по всему миру обеспечивать себя и своих близких.>Деньги, которые наши работники зарабатывают у нас считаются хорошей зарплатой в таких странах как Индия, Пакистан или Вьетнам. С вашей помощью теперь у них есть выбор между работой на грязном производстве и работой за компьютером. >Посмотрите на несколько историй наших работников.кокие филантропы
>>1437973>>1437976Ладно. Допустим с этим разберёшься/купишь пасскод.Дальше у тебя будет ебля с загрузкой файлов. В браузерах нельзя копировать инпуты типа file из-за безопасности. Если ты выбрал файл, то этот инпут только один.Вот тебе код, который перемещает инпуты в форму, в которой ты нажал отправить. Верняя форма / нижняя / плавающая.https://pastebin.com/CihJJLw2Это window.FormFilesА вот тебе код отправки, который юзает window.FormFileshttps://pastebin.com/LFcgrsXUИ я тебе предлагаю создать свою 4ю скрытую форму, куда это всё переносить и отправлять там. А первые три (Верняя форма / нижняя / плавающая) освобождать под новый пост сразу.Либо второй вариант - сделать свою фейковую форму, из которой всё переносить в родные три и пусть они там отправляются, а свою освобождай. Это проще тебе будет.Иди попробуй разберись как родной код работает, чтоб понимать что тебе надо сделать. Я уже сам не помню и хрен разберусь так быстро как оно всё работает.
>>1437990А, даже две формы. Нижняя и верхняя это одна и та же и она телепортируется туда/сюда. Уже сам всё забыл.Вот 216 строка https://pastebin.com/LFcgrsXU вызывается при событии submit одной из форм222 строка window.FormFiles.appendToForm чтоб перенести поля с файлами.278 вызывается renderCaptcha(); 250 создаётся капча и после решения она вызывает коллбек в котором создаётся после с ответом капчи и дальше вызвается sendForm(form) из 10й строки.В этот sendForm() можно было бы скормить свою фейковую форму, но там коллбеков дохрена. Тебе это переписать надо.В общем всё не так уж сложно.Но разберёшься ли ты?
>>1437991Вёрстка - навык практический. Книжки поначалу смысла читать нет от слова совсем, а потом уже одной документации и статей на хабре достаточно.
Тут есть последняя задача:Напишите функцию applyAll(func, arg1, arg2...), которая получает функцию func и произвольное количество аргументов.Она должна вызвать func(arg1, arg2...), то есть передать в func все аргументы, начиная со второго, и возвратить результат.Моё решение было таковым: function applyAll(func, ...args) { return func(...args);} Но в учебнике другое, оно на пике, хотя и моё вполне работает. Хуже ли моё решение?
>>1438023>Тут есть последняя задача:https://learn.javascript.ru/call-apply#itogo-pro-thisСсылку забыл.
>>1438023Запомни, фронтовик и верстальщик. Твой крест в том, чтобы писать код, совместимый с разным говном. Твой код будет работать только в современных браузерах, смотри таблицы совместимости. IE11 уже в пролёте. Лет 5 назад вообще мало кто поддерживал.
Сап, анонче. Заранее извиняюсь, если я мудаглазый и пропустил/не понял чего то из гугла. Нужен совет. Что лучше подойдет для разработки под мобайл - ionic 4 или все же RN ? Как выбрать и от чего отталкиваться ? Пытался найти сравнения по перфомансу, но (см.1й абзац).И правильно ли я понимаю, что ionic просто рисует хтмл в оболочке, в то время, как rn тусуется с нативными компонентами системы?
>>1438026>Твой код будет работать только в современных браузерахИ что? Какой смысл всегда писать код для всех браузеров, если это надо делать на деньги заказчика, которому моча в голову ударила насчёт совместимости со старыми версиями?
кстати вопроса работает ли фетч в старом осле если код с фетчем был пропущен через бабель т.е. если он применялся в реакте?
>>1437452>>1437455>Мимо жсер макабы>И раз уж мы про макабу, держите эвент, который я сделал но так и не придумал куда применить>doge.js>chikatilo.jsПоясни. То есть макака не контролирует, что вы тут с двощем делаете? Или, в смысле, контролирует, но только то что ему нужно, а дальше ему похуй и можно рофлить как хочешь? По чьей инициативе, например, делаются праздничные фичи?
https://jsfiddle.net/8qzw6e4k/1/Все зацениваем мой моднявый блокнот. Чувствуется прогресс с прошлого раза?) Алсо предлагаем работу в вашей фирме, например
>>1438026в любом нормальном билд-пайплайне это всё уже учтено. babel, autoprefixer итд итп. шимы самому писать мне приходилось только для действительно хитрожопых вещей, которые в 99.99% случае нахуй никому не нужны. мимоделал ебически огромное PWA с пушами, сервис-воркерами и просто воркерами, пир-ту-пир видео итд блять итп.
>>1438047>а дальше ему похуй и можно рофлить как хочешьТы нормально делай и нормально будет. Не будь долбоёбом. Я спрашивал перед тем как чего-нибудь сделать.>По чьей инициативе, например, делаются праздничные фичи?Да все вместе мы думали. Абу гифку чикатило принёс и дальше уже придумали что с ним делать.Но опять же, это было в 2015/2016. Не знаю что там сейчас происходит.Помню пару раз ложили нахуй весь двач случайно, сломав конфиги. Приходилось поднимать спящего бекендера.Весело было.
>>1437688Спасибо за ответ, но он очень сложный. Я его сохраню, но думаю не скоро смогу понять что ты написал.
>>1438065>КалькуляторСильно сложный надо делать? Заморачиваться деревом опций?Просто слишком просто же.
>>1438159> слишком просто жеЯ сделал по гайду, потом через дня 3 без подсказок вообще. Два часа ебался.Попробуй без подсматриваний вообще - не так уж и просто.
>>1438159Сделай ка лучше моднявый блокнотик патипу моего >>1438084 И чтоп заметки не исчезали при обновлении страницы (сохранялись в локал стораж (я пытаюсь сделать сейчас))
>>1438163Классно! Сделай еще чтобы можно было удалять элементы, менять порядок, сортировать по возрастанию/убыванию даты. А потом переделай на реакте и охуей с того, что кода стало в 3 раза меньше, он стал декларативнее и проще.
>>1438160>Два часа ебался.Поэтому и просто. В следующий раз ты за полчаса накидаешь.>>1438163Учти, что у куков размер ограничен. Попробуй хоть какой-то бэк под задачу поднять.
>>1438169Элементы и так можно удалять. Сортировку в объекте я может смогу сделать, а вот элементы переставить... Придется получается их удалять и заново создавать?Я еще жс то не знаю, а уж приступать к каким то фремоворкам...
https://yadi.sk/d/k_vm8sTxiBKVMgМожет кто-нибудь посмотрит? Или в какой песочнице можно тестить localStorage?У меня исчезает одна рандомная заметка при первом обновлении страницы. А потом когда я удаляю все заметки, при обновлении появляется пропавшая. Еще наведение на все заметки открывало описание только у первой верхней. Но это решилось заменой var на let
>>1438241>в какой песочнице можно тестить localStorage?В той которая открывается при нажатии на клавишу F12.
>>1438172>Я еще жс то не знаю, а уж приступать к каким то фремоворкам... Рискуешь перевкатиться. Сидишь ебешся с каким-нибудь алгоритмами сортировки и тп . А ерохин lodash хуяк и готово.Сложные UI на ванилаЖС тоже не надо нихуя, легаси.Сеньоры поправят, сам вкатываюсь не так давно.
>>1438250И что ты думаешь, мне с моим блокнотиком можно уже реакт учить? Я даже драг-н-дроп в learn.javascript не осилил
>>1438266Вы думаете что мой блокнот это лаба? Я просто лампово поделился чтобы аноны оценили. А в шараге в которой я учусь никаких лаб не существует. Я защитил курсовую на тему "Информационная безопасность" на 5 практика которой содержит установление антивируса. Вот что мы сделали за три курса и то потому что к нам пришел какой-то джун или типо того
Через tampermonkey вставляю на сайт ссылку, а она уже скриптами на самом сайте через селекторы обвешивается событиями. Как мне эти события отменить и заменить своими?
>>1438343https://stackoverflow.com/questions/4386300/javascript-dom-how-to-remove-all-events-of-a-dom-object
https://codepen.io/anon/pen/zgYXpjКантор, самое-самое начало про функции. Третий welcome() по учебнику не должен работать, ибо внутри блока if. Но он работает, и в песочницах и в хроме, чому Кантор обманывает, ведь это только с блоками фунций так работает?
>>1438498А, блин, подразумевается "use stict", но в Канторовской песочнице его нет, да и я тоже забыл прописать, отсюда три велкома.
>>1438008>а потом уже одной документации и статей на хабре достаточноНу oк, подумал - бери бустрап и впередОбычно доки не для джунов. Сотни свойств и их комбинаций уже можно на практике >>1438068Найди курс, где основы есть и более-менее понятноКниг на русском не знаю
>>1438343Добавляй свою ссылку после загрузки целевого сайта, в темперманки в настройках скрипта можно установить когда он будет загружатся.
>>1438701Лол блядь.Перемешать хтмл и код этот так прогрессивно и актуально.Параша для хипстеров какая-то.
>>1438665У меня все вставляется только после того как сайт загрузиться. Там по селектору применяются всякие свойства и события.
>>1438716Ты -- это я в 2013-14 годах. Потом поумнеешь, это нормально.1) Разделение сущностей не предполагает разделение технологий. Ещё на бэкбоне нормальные люди складывали куски "компонентов" рядом, а не весь жс отдельно, весь цсс отдельно итп.2) Это не хтмл, это вызовы JS-функций. Если бы эта параша парсилась на лету из HTML-ных темплейтов, то это было бы медленно. Реакт виноват в том, что DOM медленный? Не думаю...
>>1438739https://www.youtube.com/watch?v=XxVg_s8xAmsя конкретно про вот это видео. я его посмотрел и мысли были такие же -- хуйня для хипстеров. года через 2 я понял, что хуйня -- это я.
Прохожу задачки сами знаете где и возник вопрос. Есть задача - Проверка значения вне диапазона1. Напишите условие if для проверки, что значение переменной age НЕ находится в диапазоне 14 и 90 включительно.2. Напишите два варианта: первый с использованием оператора НЕ !, второй – без этого оператора.Решение оттуда же. Первый вариант:if (!(age >= 14 && age <= 90))Второй вариант:if (age < 14 || age > 90)Суть вопроса. В первом варианте идут двойные скобки, но нигде до этого про такое не говорилось. Это нормально у Кантора или я где-то пропустил этот момент?И второй вопрос.Что выведет этот код?alert( null || 2 && 3 || 4 );В ответе указано - 2 && 3 = 3. Почему так?
>>1438832>Что выведет этот код?>>alert( null || 2 && 3 || 4 );Блядь, я бы убивал за такое. После таких долбоёбов, прошедших такие онлайн курсы, попробуй разбери код.>В первом варианте идут двойные скобки, но нигде до этого про такое не говорилось. Это нормальноНормально. Но опять же убивал бы нахуй, пиши код для людей, чтоб понятно было. Вот в if (age < 14 || age > 90) всё понятно. Только тебе надо включительно, тогда <= >=
>>1438832>В ответе указано - 2 && 3 = 3. Почему так?Ну видимо || выполняется первее &&. alert( (null || 2) && (3 || 4) );
>>1438850Так это Кантор писал.https://github.com/javascript-tutorial/ru.javascript.info/blob/master/1-js/02-first-steps/11-logical-operators/article.md>>1438865А где про это прочесть можно?
>>1438873У тебя матлогики в универе не было? Это же оно и есть, достань конспекты и освежи память, чем в треде такую фигню спрашивать.
>>1438873>А где про это прочесть можно? Про что? Про восклицательный знак?Ну !(1) это false!(false) это true!(null) это true!!(4) это true. Часто так конвертируют переменные в булеан.
>>1438925Конкретно про (!(age >= 14 && age <= 90)). Тут интересует про двойные скобки, почему именно так написано. Я к тому, что в учебнике этот момент не разбирался, про скобки. Получается надо сразу несколько источников открытыми держать для изучения JS?
>>1438949!(age >= 14 && age <= 90) - это всё выражение, остальное от блока if - if(выражение){}Ты можешь много скобок ставить, чтобы менять приоритетность операций
>>1438949Ну представь, чтоlet result = age >= 14 && age <= 90;Там будет true например.И ты проверяешь if(!result), где !result уже будет false.Если ты просто сделаешьif(!age >= 14 && age <= 90)То получитсяif(false >= 14 && age <= 90)
Как убрать обновление страницы при submit формы? var $form = $("#flex-postform"); $form.on('submit', function(){ ...код});в гугле предлагают использовать preventDefault, хотя в макабе такого я не нашел да, там ajax, но все равно бы обновлялось с нимМожет быть есть другие способы?
>>1439008preventDefault это браузерная фича.$form.on('submit', function(evt){evt.preventDefault();Пробуй так, если твой .on это браузерный, а не какая-то либа кривая.
>>1439033вопрос по отправке картинокв общем, я запилил отдельную форму постинга, class тот-же, id другой. И по задумке (упускаю подробности), данные этой формы передаются в родную текст и картинки, оекаки хуй с ним, и программно вызывается submit. С текстом все просто, getElement.value, передать в input родной формы. А картинки... не знаю как их передать. НО, класс моей формы тот-же, и класс инпута пикч тоже. Мне кажется достаточно передать их в свою форму, а оттуда пикчи передаются в глобальный FormFiles. А при программном вызове submit родной формы, пикчи будут взяты из FormFiles наверное?Вот тут вижу что-то похоже на мою догадку$forms.on('submit', function(){ ... window.FormFiles.appendToForm(this); ...}
>>1431903хтмл див тег (клавиатура)внутри него 50хтмл див тегов (50 клавиш).в цсс оформлены background-image также два обработчика событий. первый запускает функцию покраснения. второй обработчик сохраняет что набрано. в зависимости от того на какой клавише сработал обработчик
>>1439065Тебе нужно перенести инпуты файлов в форму, которую будешь субмитить.Правда я теперь сам не могу понять как оно там работает.https://pastebin.com/CihJJLw2>appendToForm: function(form) {> $(form).append($('#form-files-input-inputs-container'));> },Но #form-files-input-inputs-container я не вижу. Надо сидеть разбираться.>>1439066Ну ты нашел что давать. Мало того, что ему номер телефона нужен. Ладно, купил онлайновый номер. Так он после этого ещё и требует на телефон свой троян поставить иначе не регает.Если найду дебила с этим анальным зондом на телефоне, передам ссылку.
>>1438832Там до этого была тема про порядок выполнения операций и приоритета операторов, помоему со ссылкой на более подробное описание каждого оператора. Вот оттуда узнаешь, что скобки имеют наименьший приоритет выполнения, поэтому сначала выполняются операции в скобке, потом они раскрываются и выполняется уже всё остальное. >В ответе указано - 2 && 3 = 3. Почему так?Исходя из приоритетов операторов, первыми будут выполняться операторы логического ИЛИ (&&), т. е. null || 2, затем 3 || 4, после этого выполняется оператор логического И (&&) между результатами выполнения первых двух ИЛИ. Оператор ИЛИ возвращает первый операнд который равен true, Boolean(null) равен false, поэтому первый оператор ИЛИ вернет 2, второй оператор ИЛИ соответственно вернет 3 потому что Boolean(3) равен true. Затем выполняется оператор И между результатами, т. е. 2 && 3, так как оператор && прерывается на первом false, а у нас оба оператора возвращают true, значит остановится он на последнем операнде, т. е. вернет 3.
https://codesandbox.io/s/infallible-hawking-nsibchttps://nsibc.codesandbox.io/Пытаюсь сделать перетаскиваемое окошко на Реакте, такое уже есть, но там через transform, а я хочу через top/left. Почему не работает? До меня не доходит. Сама логика вроде очевидна и правильна, ну либо я даун. Перепробовал уже все, изначально делал через screenX и getBoundingClientRect(), без nativeEvent. Было еще хуже, у getBoundingClientRect() вообще данные возвращались одинаковые и окно из стороны в сторону пидорасило. Сейчас же оно рывками едет в одну сторону да и только. Алсо, в песочнице почему-то еще и триллион анал эрроров вылазит и крашит все к хуям, в raw варианте по второй ссылке и у меня локально такого нет.
Опять забрали на ебаную дачу. В прошлый раз читал "грокаем алгоритмы" и немного про ООП, но быстро забросил. Чего еще навернуть? Видео смотреть не хочу потому что ничего не запоминаю
>>1437682++ глаза убиваются8 часов + после работы если что-то допиливать - вообще ослепнешь через лет пять походу
>>1437682Открываешь снипы и прочие санпины -- там всё написано как часто делать перерыв итд итп. Если менеджер будет выёбываться -- стучишь на него ответственному за охрану труда. Заебётся извиняться потом.
Вкатываюсь в JS, поясните нубу плзЕсть HTML страница, к ней подключен JS <script src="js/functions.js"></script>Есть отдельный файл, в котором лежит лишь только один класс class.js, который используется лишь только в файле functions.jsЕго нельзя import в файле functions.js, надо обязательно на странице через <script>? А что если эти JS скрипты используются на множестве страниц, в начале каждой будет длинный список импортируемых модулей?Импортирую модуль на страницу вот так<script type="module"> import Class from 'class.js"</script>
>>1439899Не переживаю, но думаю, что это просто охуенно неудобно импортировать все модули непосредственно на странице. Лучше бы это можно было делать в .js файлах
>>1439912Что-то снова нихуя не понимаюЕсть файл functions.js, в нем должен юзаться класс из class.js, однако его нельзя импортировать в functions.js, так как этот файл подключается в html через <script> и выдает ошибку, что import можно делать только наверхуНагуглил, что надо убрать import из файла и добавить в сам html <script type="module"> в котором делать ImportОднако так не работает, functions.js не видит импортированный класс. В гугле говорят, import можно делать только в самом скрипте, иначе скрипт не увидит импортТак как делать import? Нихуя не понел(
>>1436885После работы под солнцем, с лопатой, или таскания 25кг мешком, нихуя уже в жизни не волнует, лишь бы в тепле сидеть, на стульчике. А мамкиных максималистов да, волнует, но нам них похуй, пускай живут в маня мире, мы то знаем что жизнь конечна, и жопа в тепле должна быть. Пускай мечтают стать илонами масками.
Привет элита IT мира.накидайте ссылочки на хорошие блоги, каналы, сайтики , где можно черпать свежие новости по JS
>>1439884Гугли Webpack + Babel + одностраничный фреймворк - Angular/React/Vue. Первое пакует твой джаваскрипт в один файл, который ты подключаешь всего на одной .html странице, второе позволяет юзать современную версию языка с импортами, а третье перемещает разметку и стили прямо в джаваскрипт и позволяет организовывать несколько виртуальных страниц на одной реальной .html странице
>>1440031>Первое пакует твой джаваскрипт в один файлНу да, может быть нихуя не понятно, уточню. Ты, естественно, пишешь код модульно, в сколько угодном количестве файлов, и организуешь их связь импортами как хочешь. Потом за тебя Webpack и Babel пакуют все в один .js файл, который уже непосредственно физически подключается к твоему единственному .html и организует интерфейс при помощи фреймворков, вместо чистого HTML. Вот.
Посоны, поясните, вот если я сейчас знаю js на уровне чтобы сделать красивую анимированную сортировку введенных чисел, мне уже пора в какой-нибудь фреймворк вкатываться? И если да, то в какой лучше и сколько займет вкат.
>>1440075Хорошо, там не 0 будет, но и 60 ты тоже не добьешься. потому что left top вызывают reflow/repaint и начинаются лаги. Можешь тут посмотреть, что стоит анимировать, а что нет. В твоём случае можешь еще копнуть в сторону requestAnimationFrame
>>1440132Ну и что ты этим сказать-то хотел? Мол, типа, это невозможно? А это тогда что? Пик с формы постинга двача.
>>1439969После таскания мешком под солнцем изучаю дома другие техники таскания мешком с новыми инструментами и без них. Изучаю в какое лучше время таскать мешки, как их упаковывать. Жена смотрит как на ебанутого, но я то знаю, что начальник оценит. Недавно вот придумал свою технику, основываясь на китайскую Vuehn Называется. Думаю, записать курсы и продавать как вкатиться в грузчики
https://jsfiddle.net/g1pL6ms5/Оцените говнокод. Нужны какие-нибудь дополнительные технологии чтобы, например, выход черного квадратика за границу генерировал новое поле, а старое сохранял так чтобы на него можно было снова вернуться?
>>1440563Ну максимум что я смог выдумать это то что нужно делать проверку по длине массива и преобразовать условие в тернарный вид
Отправляю в PHP скрипт JSON с помощью $.ajax При превышении определенной длины $.ajax возвращает "error", и ничего больше. При длине отправляемой строки 2401 всё нормально, но для строки длиной 3709 выдаёт errorЧто с этим делать, аноны?В журнале домена при этом появляется запись access с кодом 000PHP скрипт ничего не получает
>>1439193ты что всерьез что-то делаешь в кодингсэндбоксе?создай приложение create-react-app его хоть дебажить будет удобно
>>1431833 (OP)Продублирую свой вопрос с Java-треда.Освоил немного PostgreSQL, Spring Boot и React+Redux. Хочу изучить регистрацию на сайте. Для этого нужно хранить логины в базе данных, хранить пароли в зашифрованном виде. Понял, что это реализуется через WebSecurityConfig. Нашёл хороший гайд на канале letsCode, но там используется шаблонизатор mustache, а я не могу понять, как прописывать токены csrf в Реакте и нужно ли это делать. Может кто-нибудь объяснить, как это реализуется в связке с реактом или нужно использовать какие-то другие фреймворки?
В чем отличие React.js от Vue.js? Как я понял еще существует Angular и Redux. И все это для создания одностраничных приложений? Нахуя их столько насоздавали?
>>1431833 (OP)Только начал учить реакт и уже обосрался с путямиошибка пикрилглавная жскаimport React from "react"import Footer from "./Footer"import Header from "../components/Header"import Main from "./Main"function App(){ return ( <div> <Header/> <Main/> <Footer/> </div> )}export default Appфутерimport React from "react"function Footer(){ return ( <footer> <h3>foo</h3> </footer> )}export default Footerхедерimport React from "react"function Header(){ return ( <header ClassName="navbar">head</header> )}export default Headerмейнimport React from "react"function Main() { return ( <main> <p> main</p> </main> )}export default Main3 эти файла лежат в папке компонентовapp.js и index.js в srcтам же style.css который не работаетя нихуя не понимаю папка где все это лежит называется React
Получить значение элемента просто, но как следить за обновляемым элементом? Чтобы при обновлении значения код выполнялся снова.
>>1441454Файл "Footer" или "Footer.js" или папка "Footer" и которой есть package.json есть у тебя в /src/?
аноны, я больше не человек.три часа не могу открыть текстовый файл с локального диска.запущен Npm, я на локальной машине ковыряю библиотеку. Хочу скормить ей данные из Json файла и тупо не могу их передать!Как это сделать, анончики, я в шоке.
>>1441559Если это бэкэнд приложение, то юзай модуль fs, если фронтовое, то ты и не имеешь права читать локальный диск, хакер мамкин.
фронтовое, но как мне загрузить json дату туда? Мне потестит только надо. бэкграунд шарпов и питона вообще не помогают
Я вообще бекэнд-элита тупо нубас. Вот у яндекса при регистрации без телефона часть DOM достраивается через ajax (вроде с react). Мне из этого блока нужна пикча (капча). Собственно вопрос: если я найду в скрипте часть с ajax, я же смогу потом тупо получить http-ответ по этому адресу с нужным мне куском DOM?
>>1441563Сделать <input type=file> и там выбрать, потом ты можешь его жсом читать.Дальше сам разберёшься?
>>1441604...>>1441605мне нужно всего-то, в цикле перебирать построчно этот файл, но твой вариант пробовал. Не получилось. Везде описывают огромные методы, непонятные конструкции. Неужели это настолько сложно, просто загрузить данные в js код.
>>1441611https://www.html5rocks.com/en/tutorials/file/dndfiles/>Example: Slicing a file. Try it!Читает мне мой текстовый файл.
>>1441611Файлик почитать можно и на чистой ноде. Создаешь файлик, пишешь туда команды и запускаешь через консоль node %имяфайла%
>>1441652выдает ошибку.(index):135 Uncaught TypeError: Cannot read property 'addEventListener' of nullэто какойто кошмар, столько мороки изза таких мелочей, как же так
>>1441454react макака на связипроверяй еше раз пути, никаких .js дописывать не нужноcoduim помогает в этом
>>1441649Тогда ставь Node.JS и не вёбывайся.const fs = require('fs');const json = fs.readFileSync('C:/hui/sosi.json', 'UTF8');console.log('Skinul tebe zasheku: ' + json);
>>1441662То что вместо input элемента, ничего не возвращается Ещё проверь, чтобы код отрабатывал после загрузки страницыdocument.addEventListener("DOMContentLoaded", doSomething);>>1441669Вроде сказал фронт у него
>>1441725решил свою проблему с загрузкой файла так:- переименовал его в file.js- внутри file.js присвоил json Данные переменной- подключил file.js в основной файл- вызвал данные.
>>1431833 (OP)Дали мне тестовое сделать на реакте с помощью vk-mini-apps что-нибудь, что будет выводить по запросу пользователя с фото, друзьями и именем. Проблема в том, что на реакте я еще плаваю и делал только простые вещи, на нативных компонентах + аксиос, максимум. Вот сидел утром разбираться пытался, но подлива уже просто нещадно течет по штанам. Жалко сливаться, компания ламповая пиздец. А тут еще мясокомбинат в пяти минутах ходьбы предлагает комплектовщиком ночным за 45к. Спасибо, что прочитали, держу в курсе.
>>1442028Ну и почему у тебя Header правильно импортится, а Footer нет?import Footer from "../components/Footer"import Header from "../components/Header"
>>1442087я там дописал как надо вот на пик 1и теперь другая ошибка на пик 2чувствую себя совсем идиотомна стакоферфлоу пишут что надо что-то в конфиге менять или все помещать в папку src а я не хочу, это же ненормально абсолютно
>>1442128Обойдись без заглавных букв, лол. И компоненты считается хорошим тоном пихать каждый в свою папку, внутри /src.
>>1442036Ну епта, изи-пизи. Почему мне такого не предлагают?Предлагают еботню уровня "создайте свою соц сеть"
>>1442128Я знаю в чем у тебя беда.Это глючит ебучий IDEТы создал файл без .jsсделал импорт, реакт захавал.Потом решил для илитизма переименовать в component.jsимпорт перестал работать
>>1442268Твой react/redux через action отправляет асинхронный Axios запрос на апи вк с твоими api key. Потом просто обработать json И выдать на экран
>>1442281Ну там я еще не читал про вк-коннект, но в задании специально указано, чтобы все было сделано на библиотеках вкшных. На аксиосе я бы это уже вчера изобразил, да еще со стандартными компонентами.
>>1442305https://code.tutsplus.com/ru/tutorials/authenticating-nodejs-applications-with-passport--cms-21619Э?
>>1442128>Outside of /src/А зачем ты код положил выше /src/? Весь твой код должен быть в /src/, я полностью поддерживаю эту ошибку.Выше /src/ лежит документация, node_modules, .eslint .package.json и куча куча всего. Твоего кода там быть не должно.
Здрасть, есть вопрос по терминалам. Вот есть терминал от nodejs, есть от git bash, есть который в виндовс. Я ввел команды npm в терминале виндовса и они исполнились, вот вопрос: между этими терминалами есть различия?
>>1442532npm - это отдельная программа, вроде того же git. Если установлена глобально - будет везде работать.
>>1442756Хуй знает как там этот реакт работает, но проверь что у тебя в готовом .html файле.У тебя там есть твой .css? Он вставляется?А ClassName="navbar" превращается в class="navbar"?
По githubКак делать коммит react проектов? Сделал я жуниорский todo лист, что делать дальше? Заливать только index.html и src?
>>1442978Сделай конструктор тестов. Я вот сидел лампого делал, но меня мамка заставила искать работу, поэтому я смотрю тик-ток нарезки на ютубе
Господа джаваскриптёры, поясните за такую хуйню, как архитектура. Пожалуйста.Я вот задумал написать небольшую игру на socket.io, использую pixi.js, если это важно. В общем, проблем с самим языком у меня нет, но вот на придумывании архитектуры я залип уже на несколько дней. Вот к примеру, у меня есть три больших взаимодействующих куска: мейн код, рендер, физика и гуй. Можете вкратце описать, как вы в подобных ситуациях действовали чтобы ваш код не превратился в доширак через пару дней? Если есть годные гайды или книги, по которым сами разбирались в теме, скиньте плиз, я заебался от собственно тупости.
Есть вопрос по ReactУ меня есть в программе пара тяжелых функций, на выполнение которых к примеру может понадобиться некоторое время. Эти функции являются чистыми, но при этом не хочется задерживать основной поток приложения расчетами. Откуда будет правильнее ее вызвать? Думал в mapDispatchToProps, в селекторе (state с выходом функции сохраняется в store), но опять же это все будет выполняться синхронно как я понимаю. В AC как мне кажется делать это не правильно, хоть и функция чистая. Сейчас делаю это в MW (все расчеты на стороне клиента и это смущает, разве это side-effect?), next(action) сначало просто устанавливает в сторе флаг на начало подсчета, и потом вызывает внутри MW функцию, возвращающую Promise, когда функция все расчитала, она создает еще 1 action с интересующими меня данными и устанавливает флаг (что все расчитано), и все, необходимое сохраняется в стор. Чувствую, что то в такой организации можно было сделать лучше.Есть мысли по этому поводу?
>>1443226Все игры работают по одному шаблону:Инициализация.В главном цикле:Обновление(тут получаем ввод, ИИ, физика и меняем состояние игры)Отрисовка кадра(кадры можно рисовать послойно - задники первыми)
>>1443256Зачем? Это может создать еще больше проблем, тут у меня на клиенте есть все данные для расчета. Тем более рассчитывается таблица (представь что калькулятор своеобразный у меня). Сама функция не большая к тому же ЧИСТАЯ. Просто как то никогда не сталкивался с таким. В AC повторюсь такое рассчитывать минимум странно, а в MW находятся обычно side-effects которые к примеру обращаются к серверу. Поэтому, то, что я вызываю сейчас асинхронную функцию через мидлвары тоже кажется не верным решением. Опять же все работает. Но подход кажется не верным.Упрощенный пример моей мидлы на пике
Делаю прилажку на ноде жс, начала жрать ОЗУ (а может и всегда жрала, не засекал раньше), похоже на утечку памяти. Переделал mysql с пулов на обычные коннекты, ВРОДЕ БЫ, перестало так течь. Могли ли пулы реально сжирать оперативку и почему она не очищалась? Проект не нагруженные, запросов не много. За пару суток без рестартов накапливалось 2 гб мусора в озу
Сап, аноны.Пилю себе юзерскрипт на тамперманки для pixiv: нужно добавить арт в закладки. Насколько понял там это делается Post запросом:https://pastebin.com/Tie5E9Geа в ответ приходит: {"error":true,"message":"Please try logging in once again. If it still doesn\u0027t fix it, please restart your browser.","body":[]}Зачем ему ещё раз заходить, если я уже авторизован или это не так работает?
>>1433451> Как искать работу студенту? А нахуй ты им стал? Не знал, что ли, что в нашей профессии студент хуже пидораса? Иди вагоны разгружай, пока шарагу не закончишь, потом выкинь свой диплом, займись самообразованием, тогда приходи.
>>1433510> Но я заметил, что сейчас все пишут код на некоем РеактеНе все, только тупорылые макаки, которые неспособны нормально выучить JS.> Ну то есть там столько незнакомых команд, такое ощущение, что это вообще отдельный язык программированияПримерно так и есть, только язык программирования - очень громко сказано. Вот представь: есть красивый дорогой торт (JS), с вишенками, мармеладками, кремом, блядь, а сверху посередине насрана куча говна (хреньворк). Вот программирование на хреньворке выглядит так, как если бы ты пришёл и начал втыкать свечки в эту кучу, задувать, а потом резать торт и угощать им гостей (заказчиков и пользователей).> со школьных уроков информатикиБоюсь спросить, чему же там учат. У меня в школе не было информатики, может, поэтому и стал программистом, а не брезгливо забил на это хуй.> Прорешал уже 2/3 учебника КантораВот теперь почитай что-то приличное, Кантер своё унылое говно уже 5 лет не обновляет.
>>1443731> Не все, только тупорылые макаки, которые неспособны нормально выучить JS.Для работы с реактом наоборот необходимо сначала нормально выучить JS.> Фреймворки не нужныКаждый раз костыляешь свой велосипед когда надо написать SPA? Рационально, однако.> Вот теперь почитай что-то приличное, Кантер своё унылое говно уже 5 лет не обновляет.Английская версия давно была обновлена. Сейчас бы английский не знать.
Я тут написал стандартное приложение - паззл.https://codepen.io/anon/pen/ymVWrBОцените с точки зрения дезигна приложения. Я пытался в ООП как мог, но вот то же наследование сюда не прикрутишь. Можно конечно сделать класс - клетку, но там ебли много.Не грязновато?В итоге получился просто один большой класс и стейт, недореакт. Это плохо или норм?
Как отловить куда утекает память в node js приложении? Я уже блять весь код пересмотрел 100 раз, но проект относительно большой, пара десятков модулей, хотя почти нигде никаких глобальных, объектов, всё чисто на функциях, евентах и тд А она сука течет. Даже такое ощущение что когда ничего не происходит - всё равно течет
>>1444186>Какие подводные у хуков? Есть хоть малейшая причина не использовать их вместо классов?Блядь. Всем и так понятно, но стоило упомянуть что я про Реакт говорю, конечно же.
>>1443685Скорее всего, это из-за того, что ты не передаешь CSRF-токен в хедерах.Сам я пиксивом не пользуюсь, поэтому смотреть сайт не буду, но вот тут есть скрипт, который делает то, что ты хочешь: https://greasyfork.org/en/scripts/39682-pixiv-fast-add-bookmark/code (я нашел, загуглив твой урл /ajax/illusts/bookmarks/add)Если ты не против себе проспойлерить, можешь посмотреть, как там сделано. Скрипт довольно большой, но начав от урла, по шагам сможешь разобраться, как он работает, в частности, смотри эти места: addIllustBookmarkUrl: '/ajax/illusts/bookmarks/add', async saveBookmark(isNovel, args) { addBookmark(e, illustId, isNovel, restrict) { const { bookmarkAdd } = pfb.fetchData.args; bookmarkAdd: { credentials: 'same-origin', headers: { Accept: 'application/json', 'Content-Type': 'application/json; charset=utf-8', 'X-CSRF-Token': token(), }, method: 'POST', },В будущем смотри в панели Network веб-инспектора в своем браузере, какие данные/поля хедеров отправляются, когда происходит запрос, если что-то не работает, скорее всего ты что-то недоотправляешь. Сравнивай запрос, который твой скрипт делает с тем, что делает сайт и повторяй поля, которые кажутся нужными.Добра.
>>1444196В том то и проблема, что браузер не передаёт никаких токенов, смотри пикреллейтед.Этот скрипт я тоже смотрел, но не могу понять откуда там берется этот токен: скрипт похоже на реакте, а я его не знаю.
Ананимасы, есть такой вот скрипт на JS https://codepen.io/anon/pen/bXgobrОн показывает в Dota 2 мана бар противника, как его заставить работать без скачивания всяких вишмастеров непонятно от кого, куда его закинуть или как запускать чтобы в доте просто появился манабар врага, больше мне ничего ненужно, я не приветствую читы, но эта фича доступна и так в игре, прокликиванием, просто делать это неудобно, а с баром было бы просто заебись
>>1444252А еще прокликиванием можно убить кого-нибудь. Кидай аккаунт, я тебе туда напишу как сделать надо
>>1444252Это чать одного большого скрипта, который импортирует другие компоненты в себя. Твой кусок кода ничего делать не будет без основной части.
>>1443918>startToPlayПочему не startPlaying? Тебя за такие названия переменных на галере обоссут. И да, в эту функцию можно было положить winningCombination.В handleClick очень много императивного кода, нужно было разбить на несколько функций. Например, сделать функцию, которая берет массив стейта и кликнутый элемент и возвращает, валидный ли ход. То, как ты вручную меняешь textContent у итемов - это тяжело читаемый геморрой, лучше было придумать решение, которое меняет массив, и каждый раз при изменении массива перерисовывает нужные. Напомнило одну библиотекуВ общем, переделай на реакте и возвращайся.
>>1444354>В handleClick очень много императивного кода, нужно было разбить на несколько функций. Например, сделать функцию, которая берет массив стейта и кликнутый элемент и возвращает, валидный ли ход.Угу, разделю на проверку хода и свап клеток.
>>1444354Разбил хендлклик на две функции.По-моему выглядит даже хуже.https://codepen.io/anon/pen/ymVWrB?editors=1010
function pow(x, n) { if (n == 1) { return x; } else { return x * pow(x, n - 1); }}alert( pow(2, 3) ); // 8Поясните за жирный момент. X умножается на результат вызова функции. То есть 2 умноженное на возведение в степень той же двойки, но со степенью минус один. Следом та функция вызывается ещё раз. В итоге, она вызывает эту функцию до тех пор, пока не дойдёт до момента, когда степень будет равняться одному. После она возвращает x, на который уже умножается число из прошлого вызова функции, и полученное произведение возвращается результатом для прошлого вызова функции, где два умножается на 4, и так до самого первого вызова функции?
>>1444490Да. Только этой хуйнёй можно тебе крашнуть приложение из-за переполнения стека вызовов.Пользуй две звёдочки - это операция возедения в степень.
Являются ли массивы технически просто объектами с числовыми полями и встроенным доп. функционалом, и, таким образом, [] - отбором именно поля в объекте по имени, даже если к массиву применяется?
>>1444503Потому что операции с плавающей запятой. console.log(0.3-0.1);console.log( (0.3-0.1) == 0.2);Охуеешь.
>>1444518Если тебе правильно отвечать, то зависит от реализации EcmaScript. У мозилы это одно, у хрома это другое, у сафари вроде третье, у IE ещё что-то.Но если коротко, то нет. Массив это массив и у него там свои подтипы есть. Чем ниже подтип, тем медленее с ним будет работать движок. Но это про V8.Ну ты понял. Или не понял. Похуй.
>>1444518>>1444541Если тебе прям совсем нечем заняться, можешь пойти почитать.https://github.com/thlorenz/v8-perf/blob/master/data-types.mdhttps://v8.dev/blog/elements-kindsНо это только про V8.
>>1444541>Если тебе правильно отвечать, то зависит от реализации EcmaScript. У мозилы это одно, у хрома это другое, у сафари вроде третье, у IE ещё что-то.>тем медленнее с ним будет работать движокЯ не про это. Я не про реализацию. Я именно про языковой уровень.Короче, такое дело. В тот момент когда я запостил тот пост, у меня почему-то залагал двач, по не объяснимым причинам лагал на всех досках, не грузил посты в треде, картинки, и т.д, по видимости у меня одного. Но не суть. Суть в том, что пока он залагал, я пошел гуглить. Я типичная макака, вроде накодить что-то могу, но без задней мысли, не понимая сути, если пытаться думать о ней. Ну и решил вот, что, мол, хватит. Гуглил и тестил базовые механики работы языка, которые почти нихуя не освещаются в быдлогайдах. Вроде бы у меня в голове все в целом сходится, но с другой стороны все равно с трудом все понятно. Накатал вопросов, за одно структурировав свои мысли, но хотелось бы чеков/анчеков от Анона, если можно с пояснением. Вопросы, конечно, платиновые и отвечают друг на друга, но это же Джаваскрипт, это язык про снос людям мозгов, в шапке даже картиночка тематическая есть. Алсо, опять же, я не про движки и как там в них js-массивы интерпретируются в памяти реальными массивами, если содержат только смоллинты. Я про точку зрения языка. Алсо, называя все налево и направо фансервисом, не относящимся к языку и т.д., я имею ввиду то, что если это убрать, функционала не убудет. Понятно, что оно в спецификации там все это прописано, наверное, скорее всего.Итак:1. В Джаваскрипте не всё - "объекты", как любят говорить всякие тупорылые уебки, и так называемые примитивные типы - number, string, boolean, null, undefined - действительно классические примитивные типы, так?2. Все "методы и свойства", работающие при применении к примитивным типам - на самом деле закадровая передача цели в соответствующий предопределенный объект-враппер - ту самую хуету с большой буквы: Number, String, Boolean и т.д., служащую такой-то стандартной либой, и применение указанного метода уже на нем, с последующим опять же закадровым автоматическим удалением полученного объекта?3. Простое использование упомянутых объектов-врапперов без new не создает новый объект, а использует их как функции, и эти самые функции, собственно, возвращают примитивы?4. Касательно объектов: 4.1 Объектами являются все сущности в языке кроме примитивов? 4.2 У объектов нет ничего кроме полей, и все эти разделения на "методы" и "свойства" - кал, не относящийся к Джаваскрипту? 4.3 Все поля - по определению типа строка (сам ключ, а не его значение)? 4.4 Возможность определить свойство просто идентификатором как у переменных, либо же вообще примитивом - фансервис, и не имеет ничего общего с реальной работой (не той реальной, которая на уровне движка, а на уровне языка) Джаваскрипта, и на самом деле они все прогоняются через функцию String()? 4.5 Возможность отбирать свойства от объектов при помощи . - тоже фансервис, сделанный для синергии с предыдущим фансервисом - валидными с точки зрения идентификатора переменных именами полей определяемыми в объекте напрямую, в конечном итоге реализуя видимость что это "методы" и "свойства", а на самом деле технически не существует ничего кроме <объект>["<имя поля>"]? 4.6 Синтаксис [] как литерал массива, и function(){} либо ()=>{} - на самом деле тоже фансервис, и на деле те же массивы - это объекты, созданные на основе предопределенного конструктора Array, в котором им создаются поля с именами "0", "1", "2" и т.д., под каждое значение из фансервисного синтаксиса с квадратными скобками, в которые затем помещаются эти значения, и функционал для работы с массивами (прототипом, в частности), соответственно выражение вида arr[3], например - прогон числового примитива со значением 3 через функцию String(), и затем выполнение оператора отбора поля от объекта [] с получившейся строкой? Функции же - это объекты, созданные на основе предопределенного конструктора Function, в котором им создаются поля с именами "name" - строка, содержащая идентификатор переменной, в которой находится сам объект, и "body" - строка, содержащая код, который будет выполняться при его вызове, составленная интерпретатором из содержимого {}, с дописанными в неё переменными составленными интерпретатором из содержимого () (соответственно, опять же, function, () и {} просто фансервисный синтаксис для удобства), соответственно выражение вида myFync(2, 3), например - выполнение кода из поля поля "body" при помощи оператора вызова () со значениями первых двух переменных определенных в конструкторе создавшем myFunc равными 2 и 3 соответственно?Алсо, в это все не влезает одно очень важное замечание. Если массивы и функции построены изначально на простом объекте, который доступен для использования всем, то могу ли я создать своё определение функций, массивов, переделать их как я захочу? С массивом вроде очевидно и несложно опять же, с практической точки зрения, с технической-то ясен хуй что встроенное более оптимизировано и сработает в плане скорости по-другому, но что с функциями? Можно ли взять например пустой объект {} и скрафтить из него вызываемую функцию? Я, разумеется, попробовал сам, но что-то не очень получилось, пикрил.
>>1444406>>1444487https://codepen.io/anon/pen/dxvXXR?editors=1010Поудалял кучу кода в твоем говне, вроде работает, и еще можно кучу всего удалить.
>>1444760Конкретно так от говна избавиться не получится, пикрилейтед.Это же флекс ряд ограниченный по ширине
>>1444821Там у тебя еще кнопки при каждом клике заново создаются, рендерятся и им навешивается обработчик событий, это пиздец полный. Эх, вот бы была библиотека, которой ты кормишь данные и она сама думала, что и как рендерить... Было бы замечательно.
>>1444758Ты понимаешь, что я нихуя не понял?Но>Можно ли взять например пустой объект {} и скрафтить из него вызываемую функцию? Я, разумеется, попробовал сам, но что-то не очень получилось, пикрил. Нельзя. Можно наоборот - дать функции всякие свойства. Как в jQuery, есть функция window.$() а у неё ещё куча всего есть window.$.ajaxRequest() или как там.>3. Простое использование упомянутых объектов-врапперов без new не создает новый объект, а использует их как функции, и эти самые функции, собственно, возвращают примитивы?Хуй знает что такое примитивы, но это будет обычная функция как и window.$() у которой есть свойство под именем "prototype". Ничего интересного.
>>1444823Внимательнее почитал код, пересоздается и перерендерится в измененном варианте.У меня рендерится только на создании игры и рефреше.Шо то хуйня шо это
сап програмач, выручай плиздопустим есть файл с обьектом:{"key1": "hui","key2: "pizda"}а нужно получить файл с таким обьектом:{"key1": "key1","key2": "key2"}те нужен именно файл, а не просто пройтись по обьекту и сохранить новый обьект в виде переменнойможно это как-то сделать с помощью жс?если что не ругайте зеленого, я только скрипты простенькие на фронте пишу и не претендую не на что
>>1444979Я даже представить не могу в каком случае тебе может это пригодиться.Ноconst fs = require('fs');const in_json= fs.readFileSync('in.json', 'UTF8');const obj = JSON.parse(in_json);const out = {};Object.keys(obj).forEach(e => out[e] = e);fs.writeFileSync('out.json', JSON.stringify(out, false, '\t'));
Антохи, поясните: You don't know JS - норм серия книг для уже опытного жс-говноеда или есть получше экскурсы в еботень, которой полон жс?
Господа фронтендеры, к вам залетный из php-треда.Знаете ли вы какой-нибудь js-плеер, в котором есть функция автопаузы? Вот например как у вк. Нажимаешь на плей, другой трек если играл, то останавливается. Чтобы не надо было сначала останавливать первый, а потом запускать второй.Или какие-нибудь ресурсы, которые позволят этот плеер написать. Юзал Plyr, но там методы остановки и воспроизведения работают только если на странице один объект плеера.Прошу, помогите.
>>1445027>const fs = require('fs');>const in_json= fs.readFileSync('in.json', 'UTF8');В ноде можно без этих бубнов импортировать жсонки. Видел где-то доки по теме.
>>1445355>>1445355>В ноде можно без этих бубнов импортировать жсонки. Видел где-то доки по теме.просто через requireтолько что из этого бубен?
Сап аноны, вкатываюсь только в Javascript, решаю задачки на codewars и в итоге выходит, что код, который я пишу на 10 строчек, кто-то вписывает в одну-две и такой вопрос - надо ли также все вмещать в одну строчку или лучше расписывать? Вот пример:https://repl.it/repls/YellowgreenLightcyanLocation
>>1445540В каком-то учебнике читал что не всегда в одну строчку нужно писать код, потому что он становится нечитаемым. Все что я знаю. Я сделал только туду лист и прочие мелкие безделушки, так что меня особо не слушай
Люди добрые, прошу помощи.Есть одна форма для заполнения на сайте.20 полей для внесения информации.Напротив пятого, десятого: пятнадцатого, двадцатого поля есть пустой кружочек.Когда первые 5/10/15/20 полей заполнены, в кружочке появляется галочка.В моей голове возникает простая мысль. Сделать условие на проверку заполнения полей, если первые 5 заполнены, отрендерить галочку.Как будет выглядеть код js? Буду очень признателен, если кто-либо поможет.
>>1445527Если не можешь - не стоит рвать жопу. С опытом это придет. По твоему коду я вижу, что ты еще пока не можешь точно сказать, какой тип тебе вернется из следующей функции, чтобы их нормально цеплять одну за другую. Как только начнешь понимать - будешь машинально их в строчку писать.Алсо, по опыту разработки - лучше не индусить и не расписывать, а написать одну строчку и хуйнуть к ней комментарий, если совсем уж нечитаемо.
>>1445569Понял, спасибо за ответКакой тип получается после функции я понимаю, но когда пытался склеивать - все время ошибки вылезали, не знаю в каком порядке писать функции, но по разбираюсь тогда, раз так лучше
>>1445574Во, я придумал, как лучше это объяснить.Что у тебя, что на примере с одной строчкой происходит одно и то же: используются те же самые методы в той же самой последовательности, только написанные в строчку. Теперь взгляни на свой код и подумай - как это можно сократить? Нужны ли эти переменные, которые ты объявил? Если нет - можно ли их заменить на выражение? > Какой тип получается после функции я понимаю, но когда пытался склеивать - все время ошибки вылезалиНу, видимо, не совсем хорошо понимаешь. Подтягивай.
>>1445601>Нужны ли эти переменныеЕсли их можно внятно назвать, то лучше сунуть парочку - для читабельности самого кода. Делать на цепочках - говноедство. Впрочем как и на одних переменных.
>>1445546Я бы на реакте записывал в объект в стейте true при заполнении (и валидации, если надо) каждого из инпутов и ренедрил бы галочку когда нужные пять инпутов были бы true.
Можно ли в Js запаузить скрипт, вот у меня сайт слайдер, и в нем ещё один слайдер. Сам сайт-слайдер крутится с помощью колеса: $('.slider').mousewheel(function (e) { if (e.deltaY !== 1) { $('.slider').slick('slickNext'); } else { $('.slider').slick('slickPrev'); } });А мне нужно чтобы при наведении на класс .slide-text (Текст в слайдере на сайте-слайдере), скрипт выше ставился на паузу, пока я не уберу курсор со slide-text. Такое вообще возможно?
Сап аноны. Нужно сделать интерактивную карту из изображения. То есть взять нужную каринку, прикрутить к ней элементы управления прокрутка зум и т.д., а так же добавить метки. Как это можно реализовать? Можно ли это реализовать в гугл/яндекс картах, но со своей картинкой, а не с картой мира?
function sum(a) { let currentSum = a; function f(b) { currentSum += b; return f; } f.toString = function() { return currentSum; }; return f;}alert( sum(1)(2) ); // 3alert( sum(5)(-1)(2) ); // 6alert( sum(6)(-1)(-2)(-3) ); // 0alert( sum(0)(1)(2)(3)(4)(5) ); // 15Как эта срань работает? Возвращает она функцию f, которая уже принимает следующий аргумент? То есть в случае (5)(-1) на -1 будет вызвана не sum, а f? А когда аргументы кончатся, будет это вызвано f.toString = function() { return currentSum; };?
>>1445524>requireТам оказывается проверка есть. Если это .json, то module.exports не нужен.Какие там ещё скрытые приколы есть?
>>1446060>То есть в случае (5)(-1) на -1 будет вызвана не sum, а f?Да.>А когда аргументы кончатсяОни не кончатся. Тебе каждый раз возвращается функция и дальше ты её вызываешь с одним аргументом. Один вызов, один аргумент.>будет это вызвано f.toStringНе совсем. >sum(0)(1)(2)(3)(4)(5)Всё ещё возвращает функцию. Но когда ты делаешь alert() то уже он вызывает toString() внутри себя. Замени алерт на console.log() и увидишь, что там функция f()Ещё .toString() вызывается если ты к строке добавишь значение, типа let str = 'result:' + sum(0)(1)(2)(3)(4)(5);А ещё .toString() вызывается если ты, сука, число добавишь к значению, типа sum(0)(1)(2)(3)(4)(5)+1Хотя казалось бы, причём тут операция с числами и toString()Можешь хоть свой объект сделать с toStringlet message = { toString: () => 'ХУЙ' + ' ' + 'СОСИ'};console.log('Message: ' + message);>Message: ХУЙ СОСИ
>>1446093>Хотя казалось бы, причём тут операция с числами и toString()А ну слушайте, у меня теория.Получается жс видит число+объект и хочет из объекта сделать... строку? Добавить строку к числу? Вызывает toString() а там вдруг оказывается число, и он говорит - ну и хуй с ним, сделаю число плюс число?Или какая логика в этом?
>>1446094Я ту задачу взял отсюда. https://javascript.info/function-object#tasksAccording to the task, the function must become the number when used in ==. Functions are objects, so the conversion happens as described in the chapter Object to primitive conversion, and we can provide our own method that returns the number.
Посоны, вот поясните по харкдору. Каждый год выпускается тысячи погромистов из вузов+куча с всяких курсов. Поч на хх постоянно висят вакансии для джунов, а мидлам готовы чуть ли не отсосать?
>>1446302а как они тогда учатся то? ну то есть если человек 4 года учился кодить как он может в итоге на позицию джуна не подходить?
>>1446309Плюс даже в самую лютую шарагу информатику надо сдать хотя бы баллов на 60. То есть хоть что-то человек может уже написать. Это получается 5 лет опыта кодинга. За это время же до сеньора-помидора можно апнуться
>>1446195 // на выходе функция console.log(sum(1)(2)); //> { [Function: f] toString: [Function] } // сама функция которая возвращает себя и вызываеться по цепочке >(1)(2)(3) console.log(Function.prototype.toString.call(sum(1)(2))); //>function f(b){currentSum += b;return f;} // toString переопределенный метод, который alert вызовет в себе console.log(sum(1)(2).toString.toString()); //> function(){return currentSum;}alert({ toString : ()=>'huy!'}); //>'huy!'alert({ toHuiing : ()=>'huy!'}); //>[object Object]
Помогите разобрать ajax массив, анончики! В общем, по апи цепляю данные с сервера так: $.ajax({ url: "/api/v0/device/{{device_or_404.id}}/", dataType: 'json', }).done(function(data) { console.log(data) })На выходе получаю список объектов. Как извлекать объекты и конкретные поля? Через data нихуя не получается чет
>>1445527Объявляй переменные если результат придеться использовать многократно цепочку необязательно писать в 1 стороку ( что про читаемость )return + num . toString () . split ('') . map ( i => i * i ) . join ('');
>>1446751сука, первый же ответ в гуглеconst fs = require('fs');const dir = './directory';fs.readdir(dir, (err, files) => { console.log(files.length);});
>>1431833 (OP)А где у вас в шапке ссылка на книжки? Хочу книжку почитать про JS, интересует фронтенд, ну и современное что нибудь, а не говно мамонта про верстку под IE 6.0
>>1446087>Какие там ещё скрытые приколы есть?process . stdout . write ( util . inspect ( this , { breakLength : 60 , maxArrayLength : null , depth : null , showHidden : true , colors : ( os . EOL == '\n') ? true : false , compact : true , }));наслаждайся
>>1446768Да я не про то. А про то, что require() меняет своё поведение в зависимости от расширения файла.
>>1446822 this был для примера если посмотрим require то усмотрим там это `require . extensions ['.js']` `require . extensions ['.node']` `require . extensions ['.json']` не так-то и много зависимостей от тебя скрылось (: и если смотреть патраха '.json' там все тот-же fs.readFile это к вопросу "что из этого есть костыль"
var localFiles = [];fs.readdir(dir, (err, files) => { for(i = 0; i < files.length; i++){ localFiles.push(files); }});Не хочет записывать в переменную localFiles значения из files.>>1446761Спасибо;3
>>1446920>Не хочет записывать в переменную localFiles значения из files.Что-то я подозреваю, что у тебя после for() идёт свой код, который пользует localFiles И только после этого вызывается коллбек и заполняет localFiles
Аноны, есть ресурс, на котором можно почитать вопросы с собесов на джуна а лучше для тех, кто устраивается на стажировку.? Или может какой-то канал в телеге?И вопрос к знающим: чем существенно различается собес на джуна и собес на стажировку? Можно к стажировке подготовится за месяц дикого ботания джс+алгоритмы?
>>1447034Так я и спрашиваю за тем, чтобы у народа узнать, может кто-то уже сколотил ресурс/тг-канал, чтобы все остальные не гуглили.
>>1431833 (OP)Кто-нибудь запускал express.js сервак через AWS Elastic Beanstalk?2019/08/03 00:10:42 [error] 22192#0: 1 connect() failed (111: Connection refused) while connecting to upstream, client: 94.25.170.92, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8081/", host: "pricingtool-env.e82mzvmnng.eu-central-1.elasticbeanstalk.com"2019/08/03 00:10:42 [error] 22192#0: 1 connect() failed (111: Connection refused) while connecting to upstream, client: 94.25.170.92, server: , request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:8081/favicon.ico", host: "pricingtool-env.e82mzvmnng.eu-central-1.elasticbeanstalk.com", referrer: "http://pricingtool-env.e82mzvmnng.eu-central-1.elasticbeanstalk.com/"nginx не видит запущенный сервер, хотя указываю явно порт и ip
nodejsНужно запустить несколько потоков, и чтобы они выполняли функцию одновременно, но с разными параметрами. Как это сделать?Вроде говорят что нода это дохуя асинхронный язык и все дела.
Аноны, пишу бота на этой шняге.Столкнулся с такой проблемой:При перезагрузки или переходе на другую страничку сайта, переменные стираются. Как мне преодолеть эту проблему?
>>1447400А точнее при перезагрузке или переходе, скрипт начинает выполняться заново, а мне надо что бы он продолжал работать.
>>1447196>асинхронный язык и все дела.асинхронно не значит одновременноесли тебе нужно похардкору, делай несколько процов https://nodejs.org/dist/latest-v10.x/docs/api/child_process.html#child_process_child_process_fork_modulepath_args_optionsно скорее всего тебе хватит "Promise"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
Ктото работает бэкенд разрабом на жс?Для аутистов:Работает - значит работает (ходит на работу и получает деньги), а не просто может в него.
>>1447538> Какие подводные?Не дропать. Я вот начал в прошлом ноябре, дропнул через месяц. Потом весной начал и опять дропнул. Вчера камбекнулся опять и написал крестики-нолики сам мама!!!11
>>1447551>дропнулВ начале года друг проявил желание вкатиться в программирование. Надавал ему гайдов и подсказывал. Задания давал. Через пару месяцев он дропнул и продолжил работать на заводе.И вот я задумался, как же збс с вами конкурировать.Мимо, изучаю всю хуню каждый день после работы с 2012 года
>>1447640Типичная логика быдла: если за что-то платишь - оно работает. Без лоха и жизнь плоха как грится
>>1447402>>1447400Ну только сохранять своё состояние и читать при запуске.http://greasemonkey.win-start.de/advanced/gm_getvalue.html
Че за хуйня, где литература? Ну пиздец. "Ты не знаешь JS" пойдет для чайника или есть че нить по легче и понятнее?
>>1447752Ну вот буквально пару дней назад перевели на рюзке последнюю версию учебника для далбаебав:http://learn.javascript.ru/
Как в VK Api получить количество сообщений от юзера в беседе, чтоб можно было вывести всех юзеров беседы и напротив каждого количество их сообщений в этой беседе? Какой метод/цепочку методов использовать? Перерыл вк апи, чет не могу найти нужное, ткните пожалуйста.
>>1447863Жалко. Вторая часть про браузер сократилась походу я б и не дропнул в 2017, если б она была как сейчас. Да и в первой помимо древнейшего говна было расписано чуть получше, чем в англицкой. Да и отпугивало немогущих.
Алсо, подскажите плз, как сейчас в VK Api получить количество сообщений в беседе(от имени сообщества)? Раньше можно было юзать getHistory, но еще в феврале его отключили у сообществ, и теперь доступ есть только у приложений, прошедших модерацию. Без модерации никак?
>>1447902>Без модерации никак?Гайки закручивают. Тоталитарная параша, где свобода и приватность не значит ничего...
БлетьКак принтануть всё из Data?Если два вложенных for то рабоает но не принтит всё дерево.С 3 вообще ничего не выводит.
>>1447950Что сложно вывести все данные в консоль, чтобы понять где у тебя ошибка? Что содержится в key, key2 и так далее, ну обычная отладка, ты бы еще тред создал
Обитель профессионалов здесь?Хотел спиратить - наткнулся на херь https://labirints.pp.uaКакая-то муть. Чекните сайт, у меня лапки, аутизм и несовершеннолетиеа вот это уже страшно.
Почему алерт возвращает пустое значение? Причем код кроде как рабочий, т.е. если присвоить форме value="значение", то алерт его вернет.
>>1448220>Почему алерт возвращает пустое значение?ты в alert пихаешь то, что было у тебя в input при загрузге DOM, то-бушь нихуя.считывай свой value после кликакороче,alert ( document . getElementById ('oly'). value )сунь в onclick
>>14479503-ий for у тебя будет выглядеть такfor(let key3 in data [ key ][ key2 ] ){ и подумай хуле ты будешь делать этими циклами когда гулбина data будет тебе неизвестна.а вообще console . log ( data );
Аноны, стоит ли вкатываться в js с помощью книги «javascript. сильные стороны» (2012 г.), вроде уже как 7 прошло...
>>1448372eloquent javascript, you dont know js - ищи последние версии, изучать язык по книгам 7-летней давности не надоjavascript.info
>>1448377>CuntorНеудобоваримая скучная справочная хуета. Если хочется вкатиться, есть курсы с реальными проектами и теорией на пальцах. Если хочется дропнуть через 2 недели, то Кантор.
>>1448404>http://learn.javascript.ru/Это не гайд нихуя, это сраный учебник. Который можно год дрочить. А гребцу для вката на галеру, половина хуйни может не понадобиться. На собеседовании спрашивают сортировку пузырьком, а на работе - поправь кнопку пожалуйста.
>>1448451А почему выше анон написал что для днищеработы надо дрочить это говно по 8 часов каждый день больше года?
Аноны, нужна ваша поддержка с воздуха.Допустим, есть три чекбокса пикрилКак сделать так, чтобы при нажатии первого чекбокса, остальные становились неактивными? И наоборот, при нажатии второго или третьего, первый перестает быть активным.Что я пытался делать показано на пикрил2
>>1448454>>1448451>>1448420>>1448414>>1448386>>1448377Вы блять ебанулись? Неужели нету одной главной книги/курса/гайда/etc, что можно было бы дать новичку?
>>1448468Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
Джанон, смотри, у меня есть node_modules, есть папка с классами, есть index.html - все это работает на npm. Как мне создать класс и импортировать из него функции в index.html?
>>1447752Ну вот, например. https://eloquentjavascript.net/Сам по ей вкатываюсь, но к главе 6 уже начинается какой-то пиздец.
>>1448520 __proto__ – это способ доступа к свойству [[Prototype]], это не само свойство [[Prototype]].
>>1448467я бы по другому делал, если текущий не активный, то сначала всем трем ставишь checked false, а this true#id li input each () => this.checked = false типо такого, лень писать код сейчас
>>1448538Будто я писал, что слабая динамическая типизация это что-то плохое. И вообще typescript есть.Да и у питона динамическая сильная.
>>1448567Потому что один питон-задрот первым залил гайд по машобу на ютуб, а все остальные у него тупо пиздят
ПЕРЕКАТ:>>1448622 (OP)>>1448622 (OP)>>1448622 (OP)>>1448622 (OP)>>1448622 (OP)>>1448622 (OP)>>1448622 (OP)
>>1447588>Надавал ему гайдов и подсказывал. Задания давал. Типичная ошибка.Не надо никого вкатывать никогда, это самостоятельный процесс. Максимум по теме пообщаться.>>1448336>оп захуярил целый курсАга, в стиле:>вот вам переменные, вот вам циклы, вот вам регулярки>ебошим MVC, паттерны, жаваскрипт как диды завещалиВсё равно надо будет какой-то курс просмотреть и пару сотен статей почитать.