Это копия, сохраненная 14 апреля 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Для программирования на ХТМЛ https://codepen.io/pen/
Для Ноды с консолькой https://repl.it/languages/nodejs
Для фреймворков https://codesandbox.io/
Залить, задеплоить страничку, сервер, контейнер https://zeit.co/now
Аноны, хочу получить советов мудрых, высераю пару предложений и код на скриншоте, а получаю смехуёчки. Как быть?
Если рассчитываешь получить дельный ответ, формулируй правильно вопрос:
У меня есть проблема\задача (А) %текст-ошибки или задача%. Я пытался решить ее так %кусок-кода-опционально% (Б), у меня не вышло %текст-ошибки%. Я погуглил, почитал документацию и попробовал сделать так %кусок-кода-%(В), но получаю ошибку (Г).
Сделай песочницу по ссылкам выше для ясности и удобства. Если никогда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Насколько убога твоя жизнь, если ты первым прибегаешь в тред конкретного яп, только чтобы на него покудахтать?
>Number(153)
гляньте, этот долбоеб преобразует число в число. я в ахуе, кто треды перекатывает. пиздец просто.
> Запрещено сохранять, обрабатывать и видоизменять полученные через Сервис Данные (включая результаты геокодирования), за исключением случаев временного хранения (кэширования) результатов геокодирования исключительно для целей улучшения функциональности и работоспособности Сервиса и только для использования в рамках возможностей, предоставляемых Сервисом.
Могу ли я сохранить в базу координаты указанной пользователем точки? В дальнейшем их использую только для вывода тоже через яндекс карты.
сравни шапку этого треда, сделанную долбоебом, с шапкой предыдущего треда, которая также была сделана долбоебом, но чуть меньшим, и сам все поймёшь. а если нет, то иди работать в макдональдс на кассу.
Перечитай то, что ты процитировал, и сам сделай выводы. Если не можешь - иди нахуй.
>>1591099 (OP)
> Что посоветуешь анон (главное скажи почему)?
Typescript, nodejs. Это ж жс тред, тут все выбрали для себя этот путь.
Пишу на quasar простенькую приложуху, говно-Prettier и говно-Eslint конфликтуют, какие-то баги, блять, вечное красноглазие. Вечный гуглеж вместо того, чтобы расслабиться и думать о проекте. Сидишь и ебешься в очко с этим инструментом
То ли дело WebStorm. Почему нельзя сделать нормальный пресет ебаных плагинов. Без пердолинга
Ебаный вскод. А бесплатных альтернатив не завезли. Сука
.eslintrc
Добавь туда ебучие строчки
В следующем проекте не забудь повторить манипуляции, а то будет такая же хуйня. А ты забудешь, потому что помимо этого конфига есть дохуя других
Почему в шарпе все как у людей, а тут пердолинг. Сколько с js не работаю, все время какое-то гадкое чувство на душе, словно в говно наступил голой ступней. То ебля с IDE. То this не поставишь, и контекст проебется. То ещё что-нибудь. Компилятор хуй сосёт без типов, ошибки в рантайме ловишь, кайфуешь
Скорее бы wasm допили. Фух, выговорился. Спасибо. Аноны, чем вам js нравится?
Языку сто лет в обед, вряд ли его можно назвать моднявым
Не уверен, что правильно сделал логику работы с базой данных - в бд есть запись TODO, в которой лежит объект todoList с массивом, в котором хранятся объекты (пик 2)
Суть следующая: для работы с данными сначала получаю массив с объектами, обрабатываю его, и перезаписываю в базе данных. Насколько корректна такая логика и как сделать лучше? Где можно посмотреть видео/почитать про связку фронта и бэка?
мимо
Не очень понимаю, зачем нужна прослойка todoList, ты же можешь сразу итемы класть в todo. И не придется массив перезаписывать, просто будешь обращаться к по индексу и изменять конкретный элемент
Я изначально так и делал, просто добавлял записи, но потом столкнулся с тем, что добавленные записи надо перемещать в вверх и решил, что нужно хранить данные массивом.
Пока плохо понимаю как правильно хранить данные, раньше делал хранилище только на localStorage.
Справился, анон, потратил минут десять, но заборол проблему. Только вот ощущение от пердолинга не очень. Выпадаешь из потока
что добавленные записи надо перемещать в вверх
ну не перемещай, делай orderBy при выборке из базы или sort прямо на фронте лучше первый вариант
Везде есть какой-то оверхед на настройку инфраструктуры. В конце концов, тебя никто не заставляет пользоваться линтером, форматтером, транспайлером, бандлером и т.д. Но если уж ты хочешь сделать по красоте — будь добр потратить на это какое-то время.
Я слишком тупой для этого я бек, фронт изучаю на работе в свободное времы Сформировал проект из cli и сижу, ковыряю
Ощущение, что у фронта работы меньше, но чтобы им овладеть — заморочек больше. Вебпак один чего стоит, если его изучать, а не просто как обезьяна тыкать
REST - архитектура связки фронта и бэка
AJAX - метод получения данных с сервера без перезагрузки страницы
Это подходы к построению архитектуры и передачи данных между клиентом и сервером.
НЕУЖЕЛИ ТЕБЕ ЛЕГЧЕ СЮДА НАПИСАТЬ, ЧЕМ ЗАГУГЛИТЬ И ПРОЧИТАТЬ СТАТЬЮ НА ВИКИПЕДИИ
И что я как фронт должен знать о REST и AJAX? Всё равно не понял, Rest это структура запросов типа? Заголовки, тело, метод запроса, вот это вот всё?
Вот умею я писать асинхронные функции-запросы через fetch или XmlHttpRequest или axios, это как-то относится к Rest или Ajax?
Rest это к бэку. У тебя будут все те же сраннные эндпоинты, которые ту будешь дёргать и получать джейсончики.
>Вот умею я писать асинхронные функции-запросы через fetch или XmlHttpRequest или axios, это как-то относится к Rest или Ajax?
Ajax
благодарю
Я имел в виду, как ты подключил firebase и как с ней работаешь.
Читаешь доку или примеры разбираешь?
Почему этот код (https://codepen.io/elnar1995/pen/vYOBKqJ?editors=0012) по этому заданию не работает?
Writea program that plays “neither yes, nor no” with the user: he enters a text until he types
either “yes” or “no”, ending the game.
К слову, о вскукареках ещё с предыдущего треда какой я тупой иди в мак и т.д., я пересмотрел десятки статей про циклы в интернете, и нет НИ ОДНОГО где примеры были более разнообразны чем ебучая i которая меньше десяти, и к которой прибавляется однерка. И блять ни один не додумается показать как хотя бы со строками это все реализуется.
1 - Он же тебе явно показывает на то, что у тебя опечатка.
2 - Зачем ты используешь do ... while? тебе простого while хватит.
3 - Перепиши (qwest !===('yes')||('no')) по нормальному.
А какие примеры ты хочешь про циклы? Они нужны чтобы выполнить что-то n раз, в чем конкретно сложность?
ты хочешь на каждый кейс в коде разные пример, это так не работает. Тебе нужно понять принципы и переложить их на свои задачи.
Да, спасибо, сам сделал уже
>>591551
Вот как здесь например, просто увидел как работает промт в цикле и сделал за две секунды сам
https://www.internet-technologies.ru/articles/cikl-while-v-javascript.html
Держи, братишка, пример со строками:
https://repl.it/repls/IdleTerrificMachinecodeinstruction
Посмотрел видео Минина по js, увидел как подключить ее и дальше сам. Доки не читал.
Когда-то учил пхп и работал с БД, немного шарю.
Какую документацию посоветуешь по firebase и REST API? Или канал.
На англ. информация свежее, но вроде как несколько месяцев назад он взялся переводить всё на русик с помощью комьюнити, может быть уже закончил, хз.
Там всё сложно, но на инглише воспринимается проще, как минимум из-за отсутствия англицизмов.
Необходимо разработать React-приложение для отображения таблицы с данными. Дополнительным плюсом будет: Финальный билд приложения должен быть запускаться из Docker контейнера
Сортировка по столбцам: при нажатии на название столбца строки таблицы сортируются по возрастанию, при повторном клике — по убыванию. Графическим элементом или текстовым сообщением указывается направление сортировки.
Клиентская пагинация: данные необходимо отображать постранично, максимум 50 элементов на страницу. Необходимо предоставить пользовательскую навигацию для перехода по страницам.
Фильтрация: компонент предоставляет текстовое поле, в которое пользователь может ввести текст и строки таблицы, данные которых не содержат подстроку, введённую пользователем, скрываются. Перефильтрация осуществляется по нажатию на кнопку "Найти".
По клике на строку таблицы значения полей выводятся в дополнительном блоке под таблицей.
Данные в таблицу загружаются с сервера. Способ загрузки с сервера на ваш выбор.
Над таблицей присутсвует кнопка добавить.
Посоветуйте гайды, где подобное реализовано.
Может за тебя сделать еще? Если ты не понимаешь как такое написать, то ты, очевидно, не квалифицирован для этой работы.
Думал, что поиск хоть какую-то сложность составит, но потом дошел до `Перефильтрация осуществляется по нажатию на кнопку "Найти"`. Охуеть, кто в 2020 на кнопки жмёт? Уже давно всё в real-time фильтруется и отображается.
>билд приложения должен быть запускаться из Docker контейнера
Что это значит? Докер же для запущеных процессов, а билд реакта - это тупо статика, файлы.
Значит что нужно еще nginx настроить.
Так там можно повесить ивент на ввод в поле и будет рилтайм поиск
Хорошее тестовое, самое обычная тудушка с доп фичами.
Докер запустит npm install
А где ты живёшь?
сколько времени дадут?
так то сложного только понять что такое докер
алсо а данные самому придумать и написать типа микросервис который их отдает?
Зависит от того, кем ты планируешь работать.
норкоман чтоле
Ебать мало, тестовое как для мидла
Исходники не подскажу, а что то подобное что тебе надо реализовано в antd table, хотя бы внешний вид посмотри
щито
я вкатывальщик такое тестовое напишу за день
правда развертывать в докере не умею, это еще два дня научиться
там элементарная генерация таблицы из массива
массив который ты фильтруешь и сортируешь
пагинацию можно навелосипедить или прикрутить готовую
Без коммерческого опыта реакта, ток пхп
оно не моё
алсо сложность тестового не так важна же, они смотрят опыт, стек и все такое
без коммерческого опыта светит быть только джуном в большинстве случаев просто потому что ты организацию рабочего процесса не знаешь например
Эти бараны до сих пор пишут все на классах...
Последние 4 года пируют.
Ниче удивительного. Близость к денежным потокам. Закон жизни - богатые в разных смыслах богатеют, бедные - беднееют.
Есть аякс к моему серверу, в ответ клиенту должен быть отдан файл.
Код такой:
res.attachment();
res.download(file);
Трабла в том что данные возвращаются - но как бинарник, их например в консоли можно вывести.
Как заставить браузер выдать окно о сохраннении файла?
Либо сервер должен отдавать файл с правильным Content-Disposition, либо сделай костыль типа такого:
function download(txt) {
var mime = "text/plain";
var uri = "data:" + mime + ";charset=utf-8," + encodeURI(txt);
var link = document.createElement("a");
link.download = "file.txt"; // filename for download
link.href = uri;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
delete link;
}
Даа, вот я горе-отладчик. Перешел на новый браузер и лень было скачивать react-tools
Я так понял это именно с аяксом трабла. Если файл отдавать допустим так
<a href='/get-file'>Загрузить файл</a>
то браузер все заголовки понимает и выводит окно о том что бы сохранить файл на диск.
Если через AJAX - то в .then() просто возвращает бинарник. В консоль можно вывести
>>592344
У меня не совсем то. Вся трабла в AJAX.
Какой же ты тупой просто пиздец. Трабла не с аяксом на с твоей головой. Хуею с тебя и долбоебов, которые пытаются тебе что-то объяснить.
Не кукарекай.
Так тебе даже бэк писать не надо? Просто данные визуализировать? Работы на 2 часа
Гугл советует использовать lodash и функцию, которая делает то, что мне нужно.
Есть методы, как подобное организовать без подключения сторонней либы?
Объекты, ключи которого - объекты.
Ну по хорошему - на моменте выборки из базы данных. И чем тебя sort не устраивает?
Я бы на твоем месте не парился с nginx, а просто создал бы файл app.js, который стандартным апи ноды отдавал бы сбилженый реактом index.html. То есть докерфайл должен у тебя установить зависимости, сбилдить приложение и запустить app.js.
В гейпорно.
Найти не могу.
Сам по себе выполняется, что в VS Code что в WebStorm, но ругается на : при попытке создать функцию с параметром.
ЧОМУ?!
class TestScript {
SayHi() {
console.log ('Hello World');
}
// numberDemo(age: number) {
// console.log(`You are ${age} years old.`);
// }
}
function numberDemo(age: number) {
console.log(`You are ${age} years old.`);
}
const hw = new TestScript();
hw.SayHi();
numberDemo(15);
// hw.numberDemo(15);
Очевидно же, что жопаскрипт не любит : в аргументах. Тебе или number надо хуйнуть или object.number, если это ключ какого-то объекта.
То есть если я запускаю node Test.ts, то он не компилирует? Да, тупой вопрос, но честный.
Спасибо. Как раз нашел в опциях. Я тупой.
Иди обязательно. Это опыт. Узнаешь, какие вопросы задают, как задают, какими пидарасами бывают HR.
Там написано жиквери :(
нет необходимости писать function перед методом
Да им вообще кажется похуй. Некоторые вообще на выбор дают: ангуляр либо реакт. Я уже попытался в ангуляр, какой же тайпскрипт отвратительный нахуй. Все разбросано. В react все проще, можно пихнуть ноду и фронт в одну коробку.
тайпскрипт и в реакте с вью есть хотя и не обязателен
алсо что значит ноду и фронт в одну коробку? так то собрать бандл вебпаком можно и ангуляр и реакт и вью
Ну например мне удобно было передавать значения в функциональные компоненты и получать их раскрывая пропсы. В ангуляре так судя по всему нельзя, либо я еще мало ебался с ним.
Такое же было. Выложил свое резюме, честно говоря не верил что кто-то обратит внимание. Через месяц пишут, что заинтересовались. Я в свою очередь тут же начинаю понимать, что нихуя не знаю. Ну как и было положено я провалил тест по одному из фреймворков и меня отправили нахуй.
я ангуляр не знаю но это структура их фреймворка тогда
так то с нодой работают все фреймворки - вебпак, бабель, зависимости и все такое
я знаю реакт и вью, в обоих есть пропы, но вью имо такая-то параша...
Впрочем не знаю не знаю. Скорее всего надо будет освоить и ангуляр и реакт. В ангуляре вообще можно на ноде писать вместо ебучего тайпскрипта?
ты по моему не понимаешь что такое нода
нода это рантайм джаваскрипта на десктопе, если ты не используешь в качестве интерпретатора браузер (это можно делать и с реактом и с вью кстати), а создаешь какой-то проект, который потом хотлоадит девсервер, билдит бандл и т.п. ты пишешь "на ноде"
алсо я не знаю ангуляр но вроде бы нет, он тайпскриптовый
а что тебе не нравится в тайпскрипте? если классы, так и в реакте до недавнего времени писали на классах и сейчас на них надо уметь писать хотя есть хуки, потому что без хуков безстейтовый функциональный компонент в реакте не может меняться вживую, он статичен после создания, ты тогда на вью смотри, но только я тогда надеюсь тебе нравятся штмл компоненты потому что вью работает примерно как они, с темплейтами и т.п.
я писал пет проект на тайпскрипте с хуками, так там тайпскрипт только нужен заранее объявлять типы данных и интерфейсы, буквально сказанного в пятиминутном гайде пол тайпскрипте достаточно было лол
>и сейчас на них надо уметь писать хотя есть хуки
имею ввиду потому что работодатели потребуют такой скилл офк, так то по функциональности хуки полностью заменяют классы
>а что тебе не нравится в тайпскрипте?
Не знаю даже. Когда пишешь на нем, ощущаешь что какой-то он совсем другой. Хотя если потом приглядеться, то видишь, что на самом деле он не так уж и сильно отличается от жаваскрипта. Я ожидал, например, что смогу использовать модуль https, но пришлось ебаться с HttpClient на тайпскрипте в ангуляре, и тут-то я уже начинаю фейлить. Если в жаве я знаю достаточно про асинхронное программирование и промисы, то в тайпскрипте это все иначе выглядит.
>Я ожидал, например, что смогу использовать модуль https, но пришлось ебаться с HttpClient на тайпскрипте в ангуляре
эм анон
ты как бы не забывай что ты фронт пишешь
ты его на ноде пишешь но исполняться он будет в браузере
чисто нодовские модули ты не можешь использовать, браузер так не может
вообще я лично не парюсь с всякими axios и т.п. кустомными апи которыми является твой httpclient, все тоже может дефолтный браузерный метод fetch (его кстати можно и в ноде установить node-fetch)
Да даже с точкой...
К примеру, у меня есть TODO app, где приходят данные с бэка, с помощью useEffect(callback, []) кладутся в стейт и рендерят компонент. При операциях с бд, изменяются пропсы и компонент со списком рендерится заново.
Чем здесь поможет добавление релакса?
>К примеру, у меня есть TODO app, где приходят данные с бэка, с помощью useEffect(callback, []) кладутся в стейт и рендерят компонент. При операциях с бд, изменяются пропсы и компонент со списком рендерится заново.
Когда у тебя будет TODO аля Master-Detail-Detail с какими нибудь накладными или технологическими картами
Я слышал про хук useReducer. Нужно ли вообще изучать Redux, если есть такой хук?
это просто апгрейженная версия useState, тебе придется все пропами передавать, он менеджит локальный стейт
ридакс имеет свои хуки useSelector и useDispatch
я лично себе отвечаю так - ридакс нужен чтобы был шанс больше что на работу возьмут а так он нахрен не нужен, можно передавать пропами а если очень глубоко то использовать контекст
У редакса есть как минимум оптимизация ререндера.
ты что-то в одну кучу смешиваешь ноду, жс и тайпскрипт
Ну в принципе да. Только вот простой пример: юзер должен нажать на кнопку, после чего сервак подключается к чему-то, откуда парсит всю инфу и выводит все это впоследствии в фронт. Как это лучше реализовать?
То есть вопрос скорее в том, как установить взаимодействие фронтенда с бекендом?
или что ты там вместо него используешь
короче фронт шлёт шттп реквест на апи и получает ответ
Да, уже читаю про rest api. Вот тут например, на скрине, опсиывается добавление роутинга. Т.е при запросе index, высылется сообщение. Так мне в моем случае хули делать чтобы при запросе индекса рендерило страничку, которую я сделал на react?
Или, опять же, вместо res.send(...) мне посылать запрос на запущенный react и фетчить оттуда все что надо? Точно.
крепишь к индекс.штмл джаваскриптовый файл епт
смотри create react app для простоты
ну или можно вообще без ноды и тулингов https://reactjs.org/docs/add-react-to-a-website.html но это не серьезно
сервер отдает статику (индекс.штмл, джаваскриптовый файл с реактом, стили), а также по запросу фронта на специальный адрес, что-нибудь вроде /api/requestStuff посылает фронту ответ, т.е. в экспрессе есть роут / который отдает индекс.штмл, а есть роут /api/requestStuff который отдает что-то из базы данных фронту
а на фронте есть кнопка "get stuff" которая фетчем посылает запос на /api/requestStuff
Не врубаюсь что-то. На фронте, в нашем случение в react, есть кнопка get stuff, которая фетчит api/requestStuff, который, в свою очередь что должен сделать? Фетчить реакт и отрендерить страничку полученным результатом? Я нуб в вебе пока что если что.
юзер нажимает -> отправляется запрос на бэк -> бэк делает что угодно (в твоем случае парсит инфу) -> отдает ответ фронту -> фронт в любом виде ее выводит
мне наверное нечего делать
короче вот тебе пример, реакт взят с примера на оффсайте, я там почти ничего не поменял
первый скрин - экспресс, прописан роут /api/requestStuff который вовращает линию текста
второй скрин - реакт, там после нажатия на кнопку идет обращение на этот роут и результат выводится на экран
третий пример - штмл к которому прикручены скрипт - либы реакта и сам скрипт с реактом, в случае билда тулингом к штмл прикручивается только бандл
сбоку превью, на третьем скрине кнопка нажата
Понял. Момент где отправляется I was sent from the server все еще мне непонятен. Тут отправляется обычное сообщение, окей. А вот что если надо будет отправить целую кнопку? Или какую-то часть интерфейса отправить и затем отрендерить все это? Суть fetch мне понятна. Неужели в response.send(...) надо писать html+css stuff? Или html+css stuff можно загрузить прямо из react каким-нибудь таким фетчем?
>Суть fetch мне понятна. Неужели в response.send(...) надо писать html+css stuff? Или html+css stuff можно загрузить прямо из react каким-нибудь таким фетчем?
/views/index.html это та хуйня о которой я спрашиваю?
отправишь джсон {кнопку_такую-то_нарисовать: истина}
а в реакте пропишешь что если придет такой ответ то надо нарисовать кнопку
Я просто думал, что смогу отправить App.js реактовский c res.sendFile, но я ошибся. Блять, я запутался нахуй. Вроде понял всё.
Там вроде пишется про предназначение докера и в чем он полезен. Если не видишь себя в нем, то тебе он очевидно не нужен. Но для разработчика умение управлять докером было бы огромным плюсом, так как службы все чаще теперь появляются в виде изолированных сервисов, ну типа один апач запущен в докере и множество других серваков и других докерах и т.д.
У меня с 8г оперативки линукс не выдерживает с 15+ открытыми вкладками в файрфоксе.
у меня семерка
Вы еще бесплатно согласитесь работать, вкатывальщики хуевы.
Вакансия:
https://hh.ru/vacancy/35368071
Тестовое:
https://github.com/fugr-ru/frontend-javascript-test
Не справился? Ничего. Подучи чуть-чуть и пошел вон
а что тебя устраивает?
оно не сложное, но во первых подразумевает неплохое знание реакта, которому они собирались обучать, во вторых заебное с кучей лишнего говна, в третьих нахуя они туда еще и докер прикрутили, а в четвертых по московским меркам они за весьма уровень реакта предлагают гроши
Компоуз имхо только на бэке пригодится. Я, например, разворачиваю ноду+редис+постгрес
Приведу пример из прошлого. Когда-то давно, весь бэк писался на пыхе, это было модно и молодежно. Хотя даже уже в те годы, была возможность переходить на Django или Flask (Питон). Но увы и ах, все продолжали писать на пыхе. Почему? Потому что весь код был написан на нем и переписывать что-то или изучать было не так продуктивно. Работает? И уже заебись. И даже сейчас пишут на пыхи. Этот тред по соседству на доске. И в этом нет ничего плохого.
Тоже самое и с Редаксом. Редакс появился раньше хуков. Код уже написан. Пока все не начнут разово переходить на хуки, то сидим на Редаксе. К тому же, кто-то до сих пор использует депрекейтед life-cycle методы без Редукса. И их это не заботит. Так что вопрос далеко не всегда в производительности. Это всех заботит в самую последнюю очередь и конечно байтоебов.
А если ты байтоеб, то тебе вот сюда https://www.techempower.com/benchmarks/ . Но не удивляйся потом, что изучив досконально стэк технологий, ты просто не сможешь найти работу.
Потому что есть колесо Сансары, в котором не берут на работу без опыта, а опыт негде получить, т.к. без него не берут. И если для нормальной позиции нужно полгодика пострадать, то что поделать.
но хуки не заменяют ридакс
чтобы пользоваться переменной или функцией хука ты ее должен в компонент передать, хуки не обеспечивают глобального управления стейтом приложения
хуки заменяют классы
Несложно, но выебисто они как-то подают, такие задания надо на коленке накатывать за день
> Использование сторонних библиотек будет плюсом только в случае если это оправданно и вы сможете объяснить причину выбора. Показав свои знания в грамотном применении сторонних готовых решений, вы имеете шанс повысить свою профессиональную привлекательность для нас.
> Пишите код так, как бы вы его писали в работе — внутренности задания будут оцениваться даже тщательней, чем внешнее соответствие заданию. Код должен быть организован так, чтобы его можно было заново использовать.
> Помните про обработку ошибок!
Ещё рендер 1000 элементов без подтормаживания, и бы виртуалайзер использовал
Вот это раст мощь
Пример некорректны. Питон исключает ПХП, хуки и редакс друг другу никак не мешают. Более, у редакса есть свои хуки.
Не говоря уж том, что производительность с редаксом больше.
Не стал даже пробовать. Не трогал реакт, не трогал докер, но за 5 дней это можно сделать с 0 знаний, имхо. Постараться, но лол, не за 30к в ДС, когда сраный клерк имеет 40к а инженер АСУ 50к
с Редаксом ты так же можешь писать абсолютно без классов. Суть классовых компонент в стэйте. Но это не мешает их комбинировать в тех случаях, когда ты четко знаешь что вот этот стэйт не нужен в сторе. Это не значит что я как-то защищаю Редакс или не хочу пользоваться хуками. Речь идет про банальную лень. Работает? Ну и заебись. Тормозит? Пока не чувствуется. Все сидим и чиллим
Как же заебись рашкорабов за бугор продавать
>Дополнительно напишите нам, как вы тестировали результат своей работы. Какие используете инструменты и как вы осуществляете тестирование.
30-50к. Docker, тестирование. Мб это смузиебы прикалываются?
да еще и в тексте вакансии - мы вас всему обучим лол
Ну да, наверное потому что я устроился сразу мидлом, с тестовым в разы проще скинутого.
вот ты устроился а для других таких изи мест не хватило
Ты можешь код скинуть, а не обрезанные скриншоты?
ты this.props надеюсь вызываешь в классовом компоненте?
Разобрался уже
Долбоёбы, которые скидывают текст картинкой, в аду будут вечно разгадывать капчу.
Функцию можно использовать раньше, чем она по тексту объявлена, на MDN это перевели как "подъём".
Как тебе больше нравится: создавать маленькие функции до главной или после? Как бы ты не ответил, найдётся много людей которые будут утверждать обратное.
Жопаскрипит это язык для всех, Веб задуман для всех. Все эти странности, вольности и прочие причины для фрустрации нужны только для того, чтоб скрипт просто работал. Забыл ли ты точку с запятой, сравнил ли строку с числом или в произвольном порядке накидал функций, скрипт кое-как отработает. В этом гениальность Господом нам посланного Айка.
А если твоя тоненькая психика не выдерживает подобных вольностей -- ты можешь настроить себе инструменты, которые будут сношать тебя палкой по субботам, чтоб ты не расслаблялся.
Гугли различия между Function Declaration и Expression. Никто тебя поднимать хуй не заставляет
Как писать функции - вопросик, обкашливаемый с тимлидом. Если не бьёт палкой за написание функции сразу после её объявления - пиши так.
Но вообще это служит для структуризации кода, в одном секторе будет собственно код, а в другом - функции и их тела.
Я это сам написал без особых усилий, но мне кажется что это будет понятно только мне.
Норм, только преттиером пройдись. Форматирование странное.
Блядь, как же заебала реклама эта шпионская, прямо через адблок протекает,
заходишь на сайт какой-то, сразу вгружается хуйня, и видно куда зашёл, что читаешь, откуда зашёл.
Кажется, что реклама была создана для слежки. Нахуй вы цепляете её на сайты, а?
pages: и lastVisited на новые строки бы перенес, а так нормально
Хочу сделать так, чтобы проект созданный с помощью create-react-app можно было развернуть. Добавил в корневой 2 файла Dockerfile и .dockerignore.
Как правильно оформить Dockerfile?Я оформил следующим образом:
FROM node:10.16.3-alpine
WORKDIR /app
COPY package.json /app/package.json
RUN npm install --silent
RUN npm install react-scripts -g --silent
COPY . /app
RUN npm run build
Всё заебись, переключил флажок за 20 строк и 6 табуляций как истинный реактер.
Наоборот збс, понимаешь чем будешь заниматься.
getFromApi это не action Redux, просто я решил сделать одну функцию на все случаи жизни. Пару слов о том что здесь происходит . Происходит первый рендер , так как в сторе нет ничего, то он рендерит "заглушку" DUMMY (которая нужна только при первом рендере или если с АПИ что-то пойдет не так) и затем ререндерит как в стор придет массив 20 фильмов (в зависимости от страницы). Конкретная страница определяется адресной строкой. В дальнейшем он будет либо рендерить уже готовый массив из стора (если пользователь уже был на этой странице), либо оставлять текущую страницу до ререндера новой.
Что далее внутри происходит, объяснять пока не имеет смысла. Мне важно ваше мнение по поводу правильности расположения АПИ запроса и лаконичности.
Пикрелейтед 2 - стор.
Это глубоко неправильно. Нельзя пихать в рендер-функцию сайд-эффекты.
https://reactjs.org/docs/react-component.html#render
>The render() function should be pure, meaning that it does not modify component state, it returns the same result each time it’s invoked, and it does not directly interact with the browser.
>If you need to interact with the browser, perform your work in componentDidMount() or the other lifecycle methods instead. Keeping render() pure makes components easier to think about.
Если ты хочешь использовать функциональный компонент, то вынеси запрос в useEffect.
все теперь допер, спасибо огромное. Я все не мог понять, о чем речь шла. Я считал что речь про рендер() шла только в классовых компонентах, а теперь я так понимаю функциональная компонента - обрезанный рендер метод классовой.
И правильно ли я понимаю, что я могу использовать life-cycle методы (без стейта) с Редаксом. Я понимаю, что это старый век и за хуками будущее. Но это же не противоречит концепту React, верно?
На ТыТрубе много туториалов как запихать любую шнягу типа Вордпрессов этих в Докер и развернуть. Джуном хочешь, а гуглить не умеешь. ну ппц джцуны пошли
>Джуном хочешь, а гуглить не умеешь.
В этих гайдах индусы просто в лоб повторяют текстовые гайды, в некоторых даже код 1 в 1 совпадает, а толкового объяснения они не дают.
Да, можешь. Собсна и со стейтом можешь. Не вижу тут связи.
Есть сайт на реакте, в нем форма textarea.
В форме уже введен текст, мне нужно дополнить. Типа "Имя: " и нужно дописать имя. Я сделал скрипт - тупо кнопки, которые вместо меня вставляют, что нужно.
Но при отправке формы мне выдает предупреждение - нихуя не заполнено, заполняй. Я так понимаю там какая-то хрень с управляемым стейтом и он проверяет значение в стейте, а не в форме. А мои кнопки видимо не обновляют стейт. Пробовал писать dispatchEvent - не помогает.
Приходится еще что-нибудь редактировать вручную после, что бы пропустило.
Вопрос - как это обойти, чтобы не было ошибки при отправке после программной вставки.
>В форме уже введен текст, мне нужно дополнить. Типа "Имя: " и нужно дописать имя. Я сделал скрипт - тупо кнопки, которые вместо меня вставляют, что нужно.
Куда вставляют-то? Не прямо в DOM, я надеюсь?
А, так это сторонний сайт. Тогда хз, лень ресерчить. Нужно разбираться как руками ивенты дергать.
JS как раз и может стать системным или серверным языком, но из языка разметки он уйдёт 100%, так как относительно сложен для своих целей.
Вместо него придёт какой-то визуальный язык. Либо просто CSS и HTML станут языками программирования с переменными и базовыми вещами, которые нужны в сайтостроении.
Научился мало-мальски верстать странички, добавлять стили, менять содержимое через JS. Узнал о том, что существует Git, SASS, ESLint, ES6+ и начал учиться их применять.
Прошел курсы от галеры. Научился верстать нормальные лендинги и статические сайты (переход по разделам сайта вызывает перезагрузку), освоил препроцессоры, переварил "сложные" темы в нативном JS вроде замыканий.
Хочу постепенно переходить к TypeScript + React/Angular. Какие знания нативного JS должны быть, чтобы нормально ковырять фреймворки? Стоит ли тратить время на JQuery?
>Какие знания нативного JS должны быть, чтобы нормально ковырять фреймворки?
Почитай доку Реакта, попытайся что-то написать. Если норм идет, значит знаний достаточно.
>Стоит ли тратить время на JQuery?
Не.
Посмотрел видео в духе объяснений что такое компоненты, как работают импорты, экспорты и т.д. - особых вопросов не возникло, всё впитал. С какого момента там дроч с применением хороших знаний жса начинается?
Знание и хорошее понимание ООП сильно решает?
Не могу решить для себя, погружаться дальше в нативный жс или без задней мысли вкатываться во фреймворки и потом заполнять пробелы.
Так ты попробуй что-то сделать. Чего спрашивать-то? Нет там дроча, вся сложность Реакта под капотом.
>Знание и хорошее понимание ООП сильно решает?
В JS? Вообще никак не решает.
Вкатывайся во фреймворки, конечно.
>Какие знания нативного JS должны быть, чтобы нормально ковырять фреймворки?
первые шесть глав вот тут
https://eloquentjavascript.net/
минимум, но вообще джаваскрипт надо учить чем лучше тем лучше
>Стоит ли тратить время на JQuery?
нет
стоит знать чистый джаваскрипт впрочем, в смысле его взаимодействие с дом деревом и конечно же как делать шттп реквесты, то из-за чего появился jquery (раньше их было неудобно делать в чистом)
>>594966
в реакте нужно знать ооп, т.к. классовая нотация в нем обычное дело
короче реакт это когда ты пишешь штмл в джаваскрипте, а вью наоборот когда ты пишешь джаваскрипт в штмле
конечно писать джаваскрипт в штмл неудобно, поэтому они придумали специальное расширение vue
имо спа проще в реакте, алсо вью часто с пхп используют
Осиль thunk, он везде, и тогда будет просто в componendDidMount() { this.props.getData(); }
что значит уже? less обычный препроцессор
я бы тогда какие-нибудь styled components назвал бы
ну и что?
джс оперирует ксс с незапамятных времён, как напрямую через дом, так и переписывая штмл чтобы использовались другие ксс классы или просто вставляя куски инлайн ксс, ему для этого ничего не надо
конечно на нём можно написать препроцессор или библиотеку вроде стайлд компонентс
Именно для стейт менеджемента аполло не подходит, он заменяет только кеш запросов к серверу. Редакс можно использовать вместе с ним.
>в реакте нужно знать ооп, т.к. классовая нотация в нем обычное дело
Нужно знать синтаксис классов в JS. ООП-то тут причем?
Как при помощи axios.delete удалить нужный мне ключ и как вообще работает этот метод?
axios.delete всего лишь посылает HTTP DELETE запрос к твоему апи. В апи соответственно должен быть эндпоинт, отправляя на который delete с, например, нужным id, будет удалять элемент из базы
Аксиос не имеет отношения к бд, это либа для отправки http запросов. А delete это просто один из типов запросов, он не имеет прямого отношения к удалению данных.
Ну я про бек и спрашивал. А что скажешь про swarm и kubernetes? Они могут пригодиться? Стоит на них время тратить?
нужно знать структуру твоего апи. Он может от тебя тот же id ждать как http://api/items/5, так и http://api/items?id=5, а может вообще в теле запроса
Нормальные люди и нормисы это не одно и то же.
Swarm - всё, кубер - стандарт индустрии, используется везде, знать надо. Но и хелм ещё к нему.
У меня структура такова: ...ru/items.json
И нём объекты:
{
item1: {
...
},
item2: {
...
},
item3: {
...
}
}
Как удалить нужный айтем с помощью axios?
>items.json
Это не база данных. Это файл. Ты не можешь просто так взять и поменять файл через http-запрос. Твой сервер должен реализовывать API, который это поддерживает (и динамические данные в файлах никто не хранит).
Анон выше прав. Но непонятно, что у тебя за апи такое. Если на работе - у тебя должна быть документация хоть какая-нибудь, ну или бэкендеров спроси, если публичное апи - опять же скорее всего есть документация, да и удалять объекты тебе никто просто так не даст
можешь
я раз ради упражнения делал маленький сервер который позволяет редактировать как серверную так и клиентскую часть через браузер лол
Это и есть «реализовывать API, который это поддерживает». Не запутывай человека.
Это API из бэкенда. Я добавил туда функционал добавления и получения данных, но не знаю как сделать удаление
да ты прав
вообще мне интересно почему нет вменяемых носкл бд которые не требуют сервера, ну т.к. работают как скл лайт, прямо хоть реально джсон в файл пиши
вообще сейчас афайк почти не используют delete запрос
алсо имо и put не нужен
все можно сделать get и post лол
Ну можно и коды ошибок не использовать, 200 и 400 хватит и похуй, можно все на дивах верстать. Делай что хочешь, только потом вспоминать придется, какого хуя у тебя через get элементы удаляются
в чем проблема верстать на дивах, фронт в этом направлении и идёт
алсо делет реально почти не применяют, это делают путом обычно, но пут легко заметить постом
Не обязательно делетом. Просто я не понимаю как изменить значение объекта и вернуть его обратно или удалить его вообще. Знаю как добавить и получить.
Блин многовато выходит всего, хотел на полшишечки вкатиться в бек. В итоге пришлось разбираться с со всякими экспрессами, потом скл учить и всякие орм, докеры и оркестрация. А самое печальное, что даже с такими навыками меня вряд ли куда-то возьмут бек писать.
>фронт в этом направлении и идёт
нет, фронт идет в направлении семантики, чтобы все данные были в соответствующих блоках, а не в мешанине из дивов, в которой ничего не разобрать
ты путаешь причину и следствие. Они умирают из-за людей вроде тебя, которым наплевать на семантическую разметку
Семантика юзлес хуита
там используются кастомные компоненты, поэтому от штмла в основном нужны дивы
Они умирают потому что не могут кнопку красиво оформить, а не из-за того что там кто-то их убивает дивами.
Ты с легаси не работаешь?
хейтер жс'а === кончалыга
В комментариях на хабре какой-то парень писал, что у него целиком написанный фронт выходит меньше vue
На работе оно как бы никому не нужно, но я скучаю по временам, когда сайты открывались быстро
все что пишется на пекарни интерпретируется в один и тот же байткод, если что-то работает быстрее, то значит что-то сразу не прогружается. Иногда это хорошо, а иногда нет. Ты можешь грузить моментально, но на длительной дистанции понять, что подгрузки были очень частыми и в результате это никак не выйграло перед хуйней, которая грузит все медленно один раз и потом люди просто вкладку не закрывают
Ну css же как то умудряются при загрузке страницы подгружаться. Сомнительно что txt бы что-то там стопило.
Можно, XMLHttpRequest. Но в любом случае придётся обмазываться коллбеками.
Поставил цель стать фронтом и к сентрябру устроиться джуном, при том что чутка шарил в беке. За то что бы запилить одностраничник нормальный, понять как все норм работает и начать делать ту ду лист у меня ушел месяц наверное вместе с пинанием хуев. Насколько оставшихся 5 месяцев хватит что бы выйти на уровень джуна с портфолио?
Анон, я под компиляцей имел другое. Просто vue тащит свой фреймворк весом в 23 КБ, а svelte нет
если он должен быть статичный, то тупо залей его в переменную в джаваскрипте лол (утяжелит страницу)
если он нужен по требованию, то только шттп реквест серверу
и джс тут не при чем, так работает браузер
Вёрстка без жиэса и тебе надо больше в кишочках лукового проекта разбираться.
Я после бэка вкатился за 2 месяца, месяц на реакт с 3 проектами, туду, мувик, и хуйня для теста хуков, тестов и mobx.
За следующий месяц нашел работу
Изучил XML по курсам от силлбокс. Планирую через неделю пойти на собеседование — нашёл компанию, где он используется
Но почему есть отдельные вакансии "JS junior", а именно "XML junior developer" нет? Язык слишком старый? Но он везде используется
Это раздел посвящен программированию, а xml не является языком программирования.
Напишешь fizzbuzz на языке xml? Будет интересно посмотреть.
сделал туду лист - начинай уже рассылать резюме. Нахуй тебе еще пол года сидеть ждать
убедил
Я реакт практически не знал, сделал что-то кое-как рабочее, тимлид увидел мои стремления и меня взяли с учетом того, что быстро обучаюсь.
Относитесь к этому легче.
Как тебе повезет не только лишь всем.
Ты же понимаешь, что тот срок, который ты себе подставил, он тупой и ни на чём не основанный? Ты же понимаешь, что ты пинаешь балду, осознавая, что вроде времени много ещё, а через ещё 2-3 месяца у тебя уровень тревожности будет зашкаливать, когда ты будешь понимать, что не особо сдвинулся из-за лени? В итоге всё начнёт валиться из рук. Фигачь каждый день, и не по 1-2 часа, а нормально. Отдыхай на выходных и делай небольшой revision недели. Через месяц начинай ходить на собесы в простенькие компании. Портфолио многим не сдалось, но 2-3 проекта с достаточно чистым кодом (и не туду листы) - неплохо.
>>591233
>Сколько с js не работаю
А чего бы в 2020 не работать с TS и не ныть на борде?
>Скорее бы wasm допили.
Недолго осталось, но есть ощущение, что люди не так охотно пойдут в веб (там же ещё страшные вещи - вёрстка, CSS), хотя зарплаты могут просесть.
Там должно быть написано "Формальный язык", но не каждая макака знает, что это.
Пошел нахуй
Отвечал не я, но смотри, какое дело. Это сарказм лишь на половину. Во многих компаниях тикеты на джунов не сильно сложны. Поэтому если твой туду-лист на условном MERN, то у тебя уже некий багаж знаний есть, а если при этом ты можешь и в Redux, то шансов ещё больше.
Я тебе по секрету скажу, что если ты достаточно упорешься в hh и плотно проведёшь несколько дней над вопросами с собеседований (в том числе сходишь на несколько неудачных собеседований, которые обязательно будут), ты сможешь через месяц-другой найти работу.
VS Code. Подумываю переехать на шторм или идею, но пока не уверен.
Нет, я сам так на работу устроился. Почти все мои знакомые на первую работу вообще без портфолио попали. Это на дваче любят сидеть и по полтора года кантора читать, вместо того чтобы пойти и получить реальный опыт
codelobster мб?
...не, не почти. То, что нужно. Всем спасибо.
Люто плюсую.
ПОясни за Angular, щенок, что ты хотел сказать этой бледнокожей тянкой?
Ты уверен что я до того const использовал, а не обратно-совместимейший var?
>нарассказывали про жуткий синтаксис ангуляра
>открываю туториал
>синтаксис более вменяемый чем у вуэ
JQuery боги, подсказывайте, вот обратился я к JSON через $.getJSON(), а он наследуя методы $.ajax() имеет такие методы как .done() .fail() .always(), какой когда лучше использовать? И как вообще правильно, у меня больше 5 запросов, и нужно чтобы они отрабатывали по очереди, я просто взял и вложил их друг в друга в метод .done(), но сдаётся мне можно сделать лучше и правильнее, а ещё вопрос по .then() почему его ненужно использовать или лучше использовать его при запросе через $.getJSON() или $.ajax()
$.getJSON(1).then(
$.getJSON(2).then(
и тд
)
)
не знаю жикверю, но
getjson возвращает промис?
ну так юзай async await
const res = []
for (link of ["1", "2"]) {
let temp = await $.getjson(link)
res.push(temp)
}
если не промис то оберни в промис через создание нового промиса где коллбэк равен ресолв) и потом эсинк эвэйт
Я просто не хочу со всем этими промисами ебаться, в наше время такой хуйни не было, по этому и хочу методами JQuery всё это провернуть, я так понял все эти .done() .fail() .always() .then() как раз для этого и нужны, просто не могу понять какой мне лучше использоваться и как правильнее чтобы максимально минимум кода
Надо сделать для него сайт.
Я знаю, что это возможно. Двач, например.
У него есть апи и через него получаются данные.
Но есть ряд платиновых тупых вопросов:
- Как быть с разными URL'ами? Я понимаю, что есть SPA, как ОДИН файл, который в зависимости от ситуации подгружает данные с апи.
Но как разделить приложение на страницы?
Какие фреймворки нужны для этой задачи?
- Как без участия бека фронт может самостоятельно принять данные из URL'а?
Ты опять выходишь на связь, мудила? Тебе в прошлых тредах всё расписали, шизик.
Суть SPA в том, что он в фоновом режиме загружает страницы и отображает их, без перехода и перекидывание пользователя по ссылке. Разные url загружаются при помощи API-запроса, полученная информация парсится и встраивается в интерфейс. Для этого используют React, Vue, Angular, но можно и на чистом js захуярить, просто дольше будет.
Я верно понимаю, что на какой бы url SPA юзер на зашел, он всегда получит абсолютно идентичный код?
В смысле если нажать CTRL+U на любой странице - там будет одно и то же?
Прост SPA парсит данные из URL'а или POST-запроса и делает соответствующие запросы к апи, сам код этого одного файла всегда одинаков?
Ты как себе это представляешь? У тебя представление на уровне бабки или школьника, которые первый раз за компьютер сели. Очевидно, что если пользователь видет другую информацию, то код страницы будет другой, блять. Это не портал в другое измерение, это обычная фоновая подгрузка новой информации и удаление старой.
>Очевидно, что если пользователь видет другую информацию, то код страницы будет другой, блять
Сильное заявление.
Что мешает мне проверять в рамках одной и той же страницы с одним и тем же кодом параметр из url и на его основе делать разные запросы в апи, чтобы отображался разный контент?
В итоге пользователь будет видеть нормальное динамическое приложение, но код-то блядь не меняется ни в зависимости ни от чего.
>Как без участия бека фронт может самостоятельно принять данные из URL'а?
у фронта есть единственный способ получить данные с бэка без перезагрузки страницы - сделать шттп запрос на этот урл, не важно спа это или нет
>>597217
да, но там будет минимизированный билд если это один из фреймворков и ты в той каше ничего не разберешь все-равно
>сделать шттп запрос на этот урл, не важно спа это или нет
Ну ващет это важно.
Одно дело - когда браузер сразу получил с сервера html со всей информацией. Сервер в ответ на определенный URL всегда будет выдавать этот html.
А в ответ на другой URL он будет выдавать другой html.
А другое - когда браузер получает всегда только одну и ту же неизменную страничку с js-скриптом, который уже и содержит логику обработки url'ов и делает запросы к апи для получения информации.
Эта страничка всегда одна и она не меняется в зависимости от URL.
В смысле то, что с сервера прилетает на запрос index.html/hui и index.html/pizda будет абсолютно одинаковым, просто сам js-скрипт на странице обработает параметры урла и сделает запросы к апи и поэтому юзер увидит разный контент, а не потому что сервер сразу другую страницу прислал.
Как ты его отображать будешь, не меняя код страницы, долбоебина? Я понял, что ты тупой и для тебя js код это не часть кода страницы, а что то отдельное, поэтому ты подразумеваешь только его, но у здоровых людей страница это всё что в неё входит, как js, так и html, так и стили.
Сервер присылает всегда одно и то же говно браузеру при запросе SPA-страницы.
То, как потом там js меняет html на клиенте - сервер уже совершенно не ебет.
слушай если для тебя это сложно нет никакой нужды делать спа
можно хоть статичный штмл сделать в стиле девяностых, будешь переходить по статичным ссылкам на другую страницу и на ней аджаксом загружать одну штуку, потом на другую страницу там другую штуку
ещё раз, по буквам - то что у тебя есть готовый апи не значит что тебе нужно спа
что за апи, что оно делает?
нужно при помощи jquery или же select2 поменять структуру с обычного селекта как бы это странно не звучало на вот такое чудо-юдо https://codepen.io/elmahdim/pen/hlmri
как блять это сделать? в доках по select2 просто ничего не нашел
что сделать?
у тебя в примере все есть
они вместо системного дропдауна используют два дива, когда ты щелкаешь на один он скрывается и появляется другой в котором есть пачка чекбоксов
какой именно командой мне подменять свой родной код и как именно и в какой момент?
Я просто бэк которого кинули на проект сюда, поэтому нихуя ничего не понимаю. Нужно первести как то селекты с опшионами на вот такую менюшку, попутно вставив в ней разметку чтобы сработал GET-запрос
Суть - если первый рендер или вдруг ошибка АПИ, то он грузит заглушку <Loading />. Если текущей страницы (она определяется адресной строкой) нет в стейте, то пока он ждет от АПИ, он рендерит старые фильмы (но ререндера не происходит, так как виртуал дом идентичен) и как только приходят новые пропсы, то происходит ререндер.
Пик 2 - стор.
PS АПИ запрос - не экшен, просто я решил написать одну АПИ функцию на все случаи жизни (с типами).
Ну тогда остается
>статичный штмл сделать в стиле девяностых, будешь переходить по статичным ссылкам на другую страницу и на ней аджаксом загружать одну штуку
А это совсем дикий колхоз
не знаю как братва а я лично не возражаю
У тебя пользователь исходный код на сервере открывает и смотрит, долбоеб? И присылает он не всегда одно и тоже, потому что данные могут меняться, а вот вставляет эти данные клиент всегда по одному и тому же принципу.
можно по подробнее, не отвечай на мой вопрос, а направь ,пожалуйста, что нужно почитать
а вдруг посмотрит, а там всегда один и тот же код, стыда не оберешься же!
да это параша. я про то чтобы у меня после разметки подгрузился скрипт который перерисует мне мой селект в то что я показал да-да, заказчик ебанутый которому нужны всякие перделки из за чего приходится изъебываться
пытался сейчас сделать через $().replaceWith() сделать в итоге все оки работает и так как мне надо, но он не сохраняет GET запрос из за этого весь фильтр ну просто не рабочий
потому что это не синтаксис пуша епта
ты знаешь что в джаваскрипте если ты вставишь функцию или выражение как аргумент в другую функцию или метод оно вначале выполнится и потом скормит результат методу?
в данном случае спред создаст новый объект и скармливает его пушу
алсо ты мог бы поменять объект отдельной строчкой
Насколько это колхозно?
Есть api.
Но так как я долбоеб и не могу сделать нормальное SPA, то буду срать обычным html с сервера, как в 90-х, а внутри этих страниц будет какой-нибудь колхозный скрипт на жиквери, который будет делать запросы на апи и заполнять страницу данными.
> Чекни хоткеи
С ними всё в порядке. Поменял на альт + а - теперь всё работает. Может конечно из-за того, что альт + z врубает geforce expirience если его выключить - не заработает всё-равно, но на прошлой винде без него тоже не работало.
Ты должен смотреть на документацию к API и руководствуясь ей сформировать приложение, которое будут использовать пользователи. Все изменения в API согласуются между бэкендерами и вротендерами.
> если ты вставишь функцию или выражение как аргумент в другую функцию или метод оно вначале выполнится
Не выполнится, иначе callback-функции бы не работали.
если штмл статистика то это именно то что я тебе выше предложил лол
а если штмл динамический то так сейчас работают все не спа
только вместо жиквери возьми имо или чистый штмл или вуэ, ляравель + вуэ это современный похапэ
А как до эры SPA делали по-твоему? От твоих вопросов веет каким-то долбоебом, который прочитал пару строк про js и html, после чего принялся писать свой сервер и сайт к нему.
> алсо ты мог бы поменять объект отдельной строчкой
Я поменял. Но это привело к тому, что изначальный массив изменился, а это не то, что нужно. Вот и искал, как с минимальными изменениями сделать всё правильно.
> спред
Вот его синтаксис забыл - редко использовал на практике.
так тебе совсем другое нужно было епта, тебе нужно было копировать объект а не просто зачем-то изменять прямо во время вставки
к твоей удаче спред создаёт новый объект
>А как до эры SPA делали по-твоему?
Как?
>каким-то долбоебом, который прочитал пару строк про js и html
Да, ето я
>если штмл динамический то так сейчас работают все не спа
Тип щас бек всех сайтов делается сразу в виде апи + какой-то бек-роутер, который высирает html-шаблоны, которые не содержат самих данных и они заполняются жсом?
Рили?
забыл показать что запушилось
динамическая подгрузка данных джаваскриптом нужна только когда меняются данные, сервер первоначальные данные может и сам отдать
суть что если ты скормишь функцию со скобками или выражение вроде спреда оно вначале исполнится и потом передаст результат
поэтому глупо спрашивать почему про то что спред можно скормить пушу нет в мдн
Это понятно, просто я искал способ решения без копирования, чтобы компактнее выглядело.
Скотина тупорылая, ты не скармливаешь ФУНКЦИЮ СА СКАБАЧКАМИ))), ты вызываешь функцию и передаешь результат её вызова в качестве аргумента.
дыши ровнее
ты можешь передавать результат вызова функции а я скармливаю функцию со скобочками
Аноны, поясните что из этого говна что делает и в каких случаях что из этого говна нужно использовать, я читаю и не понимаю, они же по сути одно и тоже, ну кроме эрора, нужно чтобы сперва JQuery обратился сразу на все сервера и получил с них данные, а потом начал их выводить в нужной мне последовательности, ожидая следующий сервер, если он ещё не получил данные, не переходя к выводу ответов следующего сервера, пока не выведет предыдущий
Так делай это молча, не надо путать людей и делать из них таких же дурачков как ты.
Ты внимательно посмотри на свой код. Ты в анонимной функции возвращаешь b. И ты же на месте и вызываешь эту анонимную функцию. Push принимает аргумент и пуш не запустится пока функция ничего не вернет. Но функция в любом случае что-то возвращает. В твоем случае это могла быть сам код функции, b или undefined. Пока контекст не дойдет до ретерна, он ничего не запушит.
same
что ты мне объяснешь, мой поинт был что выражения, неважно спред это, создание массива квадратным скобками или вызов функции выполняются перед передачей результата как аргумента, а поэтому это не какое-то уникальное свойство метода пуш
а потом пришёл какой-то придира и ему не понравилось что я сказал функция с скобочками
душные вы какие-то короче
а кто джейкверисты?
Ты сейчас сам пользуешься сайтом с помощью джаваскрипт, получается ты тоже хуесос, и твоя мамка хуесос и батя, потому что они пользуются одноклассниками, которые работают с помощью джаваскрипт.
Array.from()
Никакого общепринятого способа нет. Это же лучший язык Жопаскрипит, геттеры и прокси могут мутировать объекты прям во время копирования, могут быть циклические ссылки. На НПМ много идей, но я не уверен, что хоть одна из них лучше ЖЫСОН.парс.
Осло, даваче читал, что ЖЫСОН.парс даже быстрее, чем литерал объекта в коде объявить. Потому что там очевидное количество состояний, а Жопаскрипит это бездонный ад.
https://www.codewars.com/kata/526571aae218b8ee490006f4/train/javascript
Мой код:
https://pastebin.com/kKb0LrYQ
Я пробовал, оказывается я не учел механизм проверки, нужно было просто вернуть без console.log.
return +Array.from((n).toString(2)).reduce((a,c)=>{return +a + (+c > 0 ? 1 : 0);})
Ты ничего не возвращал, console.log выводит результат в консоль. Если у тебя в функции нет return, значит она возвращает void, т. е. ничего.
>Я пробовал вставлять return перед console.log(count)
Значит возвращал undefined, потому что вызов функции console.log ничего не возвращает.
Читать надо полностью, инчае будешь как долбоеб с сервером и сайтом, не знающим что такое SPA, или как тот клоун с жквери.
Что спрашивали, какие задачки были?
Ничего сложного, задачи уровня перевернуть односвязный список.
>Жсон.парс(жсон.стрингифай(массив)) - нормально?
да, если у тебя там только такие объекты, которые нормально стрингифаятся т.е. нет функций
скиньте мне апишку земли и я переврну мир
Благодарю. Добра тебе.
я ни разу не был на собесе и никогда не работал а уже встретился с этим лол пытаясь переписать стили буттстрапа
Конечно будут, это же самый очевидный костыль.
Сам-то что сделаешь: проанализируешь зависимости и вложенные деревья классов или ёбнешь импортант проблемному элементу?
Так вроде ж если нет импортант, то можно задать стиль по id и он применитсяесли он позже всех стоит, разве нет? На мдн пишут, что импортанты лучше не использовать, пока можно обойтись без них
> Конечно будут,
Тогда зря я этому мало времени уделял. Сейчас это самая сложная задача из тех, что у меня на руках.
А то вчера на собесе впервые про такое услышал.
Сук, с пикчи орнул
Да, нужна, когда элемент не должен жрать события.
Чему так происходит?
Почему я создаю дату с 20 числом, а выводится 19?
Почему 23 часа а не 3?
На learn js этот пример работает нормально, но чему у меня так?
Что?
Какими образом ты пришёл к противопоставлению редакса и хуков? Они используются вместе.
Не, с месяцем все нормально, он же с 0 идет, получается нужно прописать 1, чтобы получить 02
это всё создатели хуков виноваты
они запустили хук createreducer и все подряд думают что он типа значит ридакс заменить может, у него же в названии есть reducer а значит одно и тоже
Еб тваю мать жабапетухи оправдывайтесь почему обычная жаба может скомпилироваться на 4гигах оперативки на t2.medium AWS инстансе, а ваш ебаный node вешает нахуй весь инстанс даже ssh нельзя сделать
JS компилируется "на лету", кстати.
Минификацию выключи
Почитай хотя-бы мдн, там всё описано.
Конструктор работает с локальным часовым поясом, а дефолтный toString выводит в UTC
http://www.typescriptlang.org/play/?ssl=12&ssc=43&pln=13&pc=45#code/PTAEEMAcEtgcwKYBcDKB7AtsgFtAdnAHRIDOAUEgJ6QKgCKArggE6WgC8oA3maH6GkhJoaPOAA2jFpQD8ALlAByANYJli0AB8lAY2wIARg2ZrFZAL5kyIHZkhoEeUsACCAdwQlMCAMJ3RjkjE5FQ0oAAKzIIkHNy8-CCA-CCAAiCAfCCJoIAsIKmA3CCAbCCArCCAvCCggIIgqamAQiCATCAFlaU1qdWADCCVgDIgoIDsIEXNgOIgxYAcIIByIKDV9EysADSgRalZuYUlgIwggNIg7aCpS4DyIJ2tBTltRSuAPCDTnZkFpR2FGyWJuYDCIL3NdaVbG4mAYiADqT0HR8dCKBAFggzUAXCBlC45VodAqAZhA5psdnt-icZPE+IJhKIJFJWAA1CRMBR4ygAbUUWJEYkkE0oigAuqALFYkr8tpVZtNepU5sdUnlZpD9jDQJVwaABmUHkUHutALIgvLFAwyY1JkoiUUgJGmQuORQKoDBzUK9S202y+WKoFW6yWuQKhvlOXhzSKnJWgE4QMr3cpLCjUWhUnG06SE8RMWIqUxaXT6IwmdRAA
http://www.typescriptlang.org/play/#code/C4TwDgpgBAigrhATiAagQwDYKgXigcgGsJD8oAfAgYwAsIAjORE-AbgCh3RJYFlcoAb3ZRRUAPZhgAS3EA7TPCQgA-AC5ey9FgjsAvp27QACokkBnAcLFQA9LaiAcEEB8IIDYQQLwgzqICEQQAwggLhARMUkZeUU+VEwEDQBRAA8qLAATCAAeJWQAbXwQ2QUMDJB8AF0AGig4ORSAM2k5CCSAPn1DcBMzMHMAJisg0XsoQFwQL0AmEGdnQEYQQEkQQFYQKEBuEEBhEEBxEEAJEDm-QJtcsIKI7WjNZAPdPSAicZPE+IJhKIJFJWAA1CRMBR4ygAbUUWJEYkkE0oigAuqALFYkr8tpVZtNepU5sdUnlZpD9jDQJVwaABmUHkUHutALIgvLFAwyY1JkoiUUgJGmQuORQKoDBzUK9S202y+WKoFW6yWuQKhvlOXhzSKnJWgE4QMr3cpLCjUWhUnG06SE8RMWIqUxaXT6IwmdRAA
Есть ли какая-нибудь крутая и надежная (в смысле поддерживаемая всем и везде и работающая всегда) библиотека, которая бы позволила лаконично задавать логику вида
ЕСЛИ браузер пользователя - современный - выводить такой-то блок верстки, выполнять такой-то код
ИНАЧЕ выводить другой, выполнять другой (или не выполнять вовсе, например)
Ну, в духе "если браузер пользователя - хром выше 50, фф выше 52, опера выше 36 или ие на хромиуме, ведро больше 4 или гейос больше 7 - показывать крутую современную верстку,
иначе если браузер хотя бы хром или фф выше 4 или опера выше 12 или ие выше 9 - показывать верстку попроще,
иначе - показывать херню на html4/css2"? Просто как пример. Для десктопных и мобильных браузеров.
Чтоб не надеяться на "а сработают ли" автопрефиксеры и полифиллы, а тупо отдавать страницу нормальную, попроще и совсем простую, к примеру.
Еще вопрос, есть ли какие-нибудь автоматические тестировщики совместимости и кроссплатформенности, вроде can i use, но для всего сайта целиком, которые подскажут, где у меня что может сломаться, а с каких версий у меня должно работать 100% ок?
приходишь в ООО Рога и копыта. Все написано на классах и редаксе. Сядешь переписывать на хуки или будешь делать только то что тебе сказали?
Через череду OR'ов юзерагент разве что прогонять.
Но даже на мозилле НИРИКАМИНДУЮТ делать этого: https://developer.mozilla.org/en-US/docs/Web/HTTP/Browser_detection_using_the_user_agent
>Через череду OR'ов юзерагент разве что прогонять.
Вот я бы не хотел так делать как раз и надеялся, что есть либа, в которой это уже сделали до меня. А то этих юзерагентов сейчас развелось миллион. Ну или каким-то более правильным способом.
Да, такой херни полно, есть специальная либа даже, забыл название, модернизр, кажется. Я не хочу на отдельные писечки, я хочу наоборот проверить комплексно, что поддерживается, что нет, где легко - докрутить поддержку, где сложно - выводить более простой сайт или заглушку. Как-то же это делают яндексы всякие и банки.
>Я не хочу на отдельные писечки, я хочу наоборот проверить комплексно, что поддерживается, что нет, где легко - докрутить поддержку, где сложно - выводить более простой сайт или заглушку.
Складываешь писечки в одну либу
???
ВЫГОДА
>Как-то же это делают яндексы всякие и банки.
Они выделяют отдельных пердоликов для этого.
el.currentStyle[prop]
Единственные кто должны поддерживать IE это google и firefox на страничке со скачиванием браузера
>>599282
>Да, такой херни полно, есть специальная либа даже, забыл название, модернизр, кажется. Я не хочу на отдельные писечки, я хочу наоборот проверить комплексно
>>599301
Я и говорю, думал, мб есть, кто это уже сделал до меня? Как я тебе модернизром проверю весь сайт по желаемому ксору? Модернизр для отдельных писечек.
Не важно всё это, вторая война браузеров давно кончилась, мы в эпохе тирании вебкита.
пытаюсь парсить наш прекрасный двачик на различный видео/изображения контент. Получаю не полные ссылки в виде /b/src/123123123.jpg. Пытаюсь скачивать(пик1) картинки, но выдаётся ошибка(пик2). Не ебу как фиксить, пытался гуглить - ничего интересного не нашел. Всё время вылезала ошибка(пик2). В чем проблема может быть?
В node.js нет такого объекта как document. Ты используешь cheerio чтобы манипулировать dom, так что нужно от этого объекта создавать.
cheerio.load('<a href="#">link</a>');
блять как....
cheerio.load('<a href="#">link</a>');
в href не нужно писать #??
link писать без каких-либо кавычек, либо же с ними?
Ты не сможешь скачать картинку с помощью ссылки в nodejs, это тебе не браузер. И у двача есть апи, не нужно забирать весь контент страницы.
Гугли node js download file from url
Питон.
Не ну если бы у тебя автодополнение перестало работать, я бы сказал точное решение, а так хз. Работает автодополнение? Если нет, то надо расширение одно установить, точное название минут через 30 смогу сказать там что-то в стиле typescript nightly. Может оно и от лагов спасёт.
Нельзя упустить 2.17% прибыли!
она тоже программирует
Да, да, автодополнение перестало работать. Я охуел с такой наглости и перезапустил vs code. Теперь все работает плавно и автодополняется
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
> перезапустил vs code. Теперь все работает плавно и автодополняется
У меня вот не работало после перезапуска, после того, как я хоть строчку писал в проекте с редаксом. Потом установил javascript and typescript nightly и все заработало.
Надо писать в блокноте. Блокнот никогда не сломается
Нет, смотри нытьё на гитхабе.
Недавно выпилил из проекта либу зависящую от коржс, этим говном и аргументировал.
Сейчас бы кликать в node.js для того чтобы скачать картинку, лол. Гетом запрашиваешь картинку, парсишь полученные данные в картинку и сохраняешь её на диске, никаких документов создавать не нужно.
Перекат https://2ch.hk/pr/res/1599662.html (М)
Перекат https://2ch.hk/pr/res/1599662.html (М)
Перекат https://2ch.hk/pr/res/1599662.html (М)
Перекат https://2ch.hk/pr/res/1599662.html (М)
Анон, а чому ангуляр?
Бандл не маленький
Синтаксис нечитаемый на первый взгляд
Компонентов под него хуй для нихуя
Ещё и 2 гига ест при компиляции
Пуцаны, а можно как-то вот эту охуеннейшую НАНОБОРДУ https://github.com/username1565/nanoboard/releases
полностью на JavaScript переписать, чтобы база постов была в LocalStorage или во временных файлах, в браузере?
Чтобы картинки парсились прямо в браузере, при закачке их из борд?
Та похуй на сервер, я могу вообще никуда ничего не прокидывать, а локально посты схоронять, и если чо - заливать их на сервы.
Наноборда же, изначально, без серверов разарабатывалась вообще - философия у неё такая, неуязвимая:
https://github.com/nanoboard/nanoboard/releases
>вечная анонимная имиджборда без цензуры, без админов и модераторов, без своего сервера.
Хотя, наверное, можно было бы и на Node.js сервер сделать, но это же надо ноду ставить,
а так в портативном zip-архиве - просто .js-файлы, в браузере открываешь, и портабельность, и заебись.
Это копия, сохраненная 14 апреля 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.