Вы видите копию треда, сохраненную 9 марта 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Для программирования на ХТМЛ https://codepen.io/pen/
Для Ноды с консолькой https://repl.it/languages/nodejs
Для фреймворков https://codesandbox.io/
Залить, задеплоить страничку, сервер, контейнер https://zeit.co/now
Аноны, хочу получить советов мудрых, высераю пару предложений и код на скриншоте, а получаю смехуёчки. Как быть?
Если рассчитываешь получить дельный ответ, формулируй правильно вопрос:
У меня есть проблема\задача (А) %текст-ошибки или задача%. Я пытался решить ее так %кусок-кода-опционально% (Б), у меня не вышло %текст-ошибки%. Я погуглил, почитал документацию и попробовал сделать так %кусок-кода-%(В), но получаю ошибку (Г).
Сделай песочницу по ссылкам выше для ясности и удобства. Если никогда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
>[ { id: 27 }, { id: 27 } ]
нид хелп, что-то не вкурю, как убрать повторы из массива с объектами?
на выходе должно остаться [{ id: 27 }]
вангую будет медленнее
[
{id: 27},
{id: 24},
{id: 27}].filter((item, index, arr) => index === arr.findIndex(obj => obj.id === item.id) )
Грубо, очень хочется вкатится и сильная мотивация
но после прочтения одной огромной темы почему то так всегда
и чисто физически не могу дальше продолжать читать
Питон как то полегче шел
Ну я тебе говорю, программирование не для тебя, причём тут мотивация, мотивации недостаточно, ты просто упираешься в свои физиологические возможности, твой мозг не приспособлен для интеллектуальной работы, вот и всё. Найди попроще дело.
Какой можно проект использовать, для того чтобы на работу джуном во фронтенд взяли?
O(n^2), для такой простой задаче это норм, преждевременная оптимизация - зло, set работает также
Зависит от города. В моем миллионике с мувисерчером, файлообменником, канбаном, расширением для гугла (временный пароль и почта), парой сверстанных макетов не берут НИКУДА нахуй.
Да я удалёнку ищу, в моём городе ловить нечего, там 0 вакансий для фронтеднера
>Now I have done some testing with console.time and it shows that the option 2 is 5 times faster that the option 1.
сосай @ https://stackoverflow.com/questions/43870787/array-with-unique-values-indexof-vs-new-setа
Каждая вторая вакансия требует знания пэхапэ. Но мне кажется с ним я далеко не уйду.
Так может проблема не в проектах, а как ты себя подаешь? если ты не можешь работать в команде и не умеешь общаться с людьми, то ты закономерно пойдешь нахуй
Я не буду ссылку открывать и смотреть что там, мне это не нужно, я сказал всё, что хотел выше.
Хотя, я таки заглянул. Там даже автор ответа написал
Option 1 isn't faster, but if we pretend it is then the answer is that it depends. Option 1 certainly won't scale as well as option 2, but that doesn't mean option 1 might not be faster for small enough arrays (although I doubt it). Either way, this is premature optimization. If your code is running slow, and you profile your code and identify this part as the bottleneck, then you should worry about it.
Так что ты дурачок, ЧТД.
Ну у меня-то опыт работы есть на бекенде, просто там слишком сложно, а во фронте всё как по маслу идёт, вот и перекатываюсь
Вот веслаю почти год, а ощущение, что ну не подходит ЖС под бекенд.
Кто-нибудь сталкивался с такими мыслями?
Ты в рулеточку там играешь?
Ну и работай дальше. Жопаскриптером на удаленку он захотел. Скоро вообще работы не будет никакой
Макаку задел что ли? Мне мой тимлид сказал, что я могу в любой момент вернуться, если что
>A monad is a functor that you can flatMap
Пиздец тред все глубже тонет в говнище
Надеюсь уже обоссали
this.element = <Element />
Не резон его постоянно обновлять прост
Не надо изучать, делай чё-нибудь — само изучится.
Хуй знает. Я на нем только мувисерчер делал
Может css может как-то один див разделить по цветам?
Эту дристню какие-то хохлы писали. Надо делать ссылки и через них менять стейт. Оче неудобно https://medium.com/@josesabike/change-child-state-from-parent-5d887db3eecd
>>77591
Дели на 3 дива - красный, с картинкой и синий
> красный, с картинкой и синий
Ну у меня вопрос состоит в том, что между дивами образуется небольшой абзац, хочу от него избавиться
А ты где живешь? Кто тебе вообще тестовое дал?
Ну так дивы и дают отступ между собой, у меня между ними ничего нет
ну вот ты убери эти отступы, margin 0 блокам поставь, в чем проблема вообще непонимаю
хуя, ты даже этого не знаешь, какое тестовое, алло, тебе ещё всего учить и учить, прежде чем тз брать
Я яп хорошо знаю, вёрстку только сейчас по тестовым и начал изучать. Раньше вроде учил, но css полностью забыл
ДА ОН ПИДАРАС ЕБАНЫЙ!!!! ЧТО ЗА НЕСПРАВЕДЛИВОСТЬ, ЛЮДИ!!!! ТАКОЙ БАРАН БЛЯТЬ ПОДАЕТ СВОИ СУКА ЗАЯВКИ И ЕМУ ТЕСТОВОЕ ДАЮТ. МНЕ ОТКАЗОМ НЕ ВСЕГДА ОТВЕЧАЮТ - ВСЕ ЗАЯВКИ ПРОСТО НА РАССМОТРЕНИИ ВИСЯТ И В АРХИВ ЛЕТЯТ. КАКОГО ХУЯ, ЛЮДИ?????????
Ну чел, у меня есть проекты на других языках, мб чекнули гитхаб и дали тестовое, в чём проблема-то?
Ну если на других, то ладно. Я думал ты совсем кабанчик на подхвате
У моих заявок ссылка на гитхаб. Я посмотрю как ты запоешь, когда в твоем городе не будет работы, а в других местах набирают любого как уже выяснилось не любого дебила, который знает что HTML это язык гипертекстовой разметки.
Звучит так, будто ты один такой бедненький, никто кроме тебя невзгод не видал. Только вот не все такие становятся токсиками.
Вот дали тебе функции, пропсы и декларативный подход, нет надо тащить какие-то лютые костыли императивные вперемешку с обоссаным this.
А кем они должны быть?) Это если не учитывать твое убогое слово "токсик". Как они должны себя вести?)
Стоит. Папок меньше не станет.
Никто никому ничего не должен. Но было бы выгодно, если бы все были порядочными людьми.
Вообще стоит, но
>Просто глаза мозолят три миллиона папок в node_module
Они у тебя в любом случае будут. Это же javascript и npm.
Передай props в instrument, в чем проблема? Почему instrument это классовый компонент
Пиздец что за дауны так пишут
Да я про то, что блокировать поток из js может только блокирующий IO. Если у нас нет IO, то выходит, что и не блокируется никто. А потому и профита от асинхронных функций не будет, если они не стучат на сервер, не читают файл и тд. Ну это как я вижу. В тырнете почему-то совсем по этому вопросу ничего нагуглить не могу, потому и спрашиваю.
Break; не работает с условием.
Отличный индикатор долбоебов, не читавших Fantasy/Static Land спеки, кстати.
Это все задумывалось для избавления от т.н. callback hell, когда одна асинхронная функция вызывает другую, которая вызывает третью, и так далее. Никаких профитов, кроме уменьшения вложенности функций, не дает. Дебажить цепочку из async/await ничем не легче, чем цепочку обычных колбэков, только табов меньше.
Гнобить будут за setTimeout со строкой, а goto в JS нет.
Для выхода из рекурсии помести вызов в условии, когда оно не выполнится - выйдешь из рекурсии.
> с цсс особо и не работал
Не понял - причем CSS и наличие вакансий? Разве в твоей же конторе нету фронтов, если бэк на шарпе пишется?
Эх, я совсем неправильно выразился, но да ладно, ты подтолкнул вопрос ближе к делу. Вот есть io-bound задачи. Рантайм для них знает, что какая-то операция может заблокировать. И если ему сказано, то он делает неблокирующую операцию и идёт выполнять остальные задачи, если текующая ещё не выполнена. А в cpu-bound по идее ты никак и не можешь узнать, что возникнет блокировка. Вот этот момент мне и интересен. Пока await'ится cpu-bound промис и он заблокировал основной поток, будут ли вообще выполняться другие задачи?
Обычно для шарпа (в 90% случаях ) учат JS/CSS/HTML, я думал вопрос к этому, что не знаешь фронта, но работаешь на шарпе.
Вакансий не было в компании для фронтовиков.
А в другие ты уже постучался или только сейчас фронт осваиваешь? Как долго на шарпе работал и как в него вкатился?
Ну в перерыве после практики наверное полезно. А что ты собрался читать?
> Как долго на шарпе работал и как в него вкатился?
Я стажёром пару месяцев проработал. Стажёр - не совсем вкатился, но ладно. Вкратце - год изучал шарп и технологии asp.net ,web api.
Сейчас месяц буду изучать js, потом за месяц react изучу, но дедлайн полгода для вката.
>и он заблокировал основной поток
Это ты правильно понял, ничего другого не будет выполняться
Тут надо примеры смотреть, которые ты видел. Например, длинный cpu-bound можно разделить на части и выполнять понемношк последовательно в разных тасках, а промис резолвить когда все готово. Тогда у тебя и браузер доволен и пользователи целы.
Держи в курсе
Две ссылки с разными именами указывают на один объект. Какое имя собрался узнавать?
Что-то мне подсказывает, что твою задачу можно решить с помощью словаря/хеш-таблицы
>Как бы ты переписал этот код?
Я другой анон, но отвечу.
Тут проще выкинуть и заново написать. Все очень плохо, реально. Начни с того, что перестать пихать все в this и уж тем более блять в window. Где ты этот паттерн вообще увидел? Это нужно раз в год в специфических ситуациях. Храни все в this.state, обновляй его только через setState, не пиши в стейт из пропсов. Короче, вагон антипаттернов и плохого кода. Посмотри какой-нибудь курс по реакту или там доку почитай.
По красоте делать еще дольше — нужно заменить классы на функции, впилить хуки, убрать setTimeout в пользу setInterval, подчищать его на анмаунте, учесть что компонент может быть размонтирован в момент вызова setState и т.д.
name
но это не метод, а свойство глобального объекта, это свойство есть у любого объекта, включая любую функцию
Хорошее свойство, мне нравится.
var f = function(){};
var g = f;
g.name // f
var s = {};
s.name // undefined
>var f = function(){};
var g = f;
g.name // f
Это выглядит логичным.
>var s = {};
s.name // undefined
Вполне логично. s.constructor.name === 'Object"
видимо, я тебя не совсем правильно понял. Что ты ожидаешь увидеть? Может быть так:
const obj = {}
Object.keys({obj})[0]
>это свойство есть у любого объекта, включая любую функцию
Может быть ты хотел сказать у любого прототипа?
Возникла дикая идея обернуть твои условия в цилк который идет один раз. Тогда по идее break заработает. Попробуй
Эк ты всех джаваскриптеров в категорию гноя записал.
Ну это разве что от нечего делать.
пасиб
let read_file = fs.createReadStream('./new/Стража!Стража!.txt');
read_file.on('readable', ()=>{
let data = read_file.read();
if(data === null){
return
}
console.log(data);
//хочу в первом же вызове события readable снять это событие с данного потока:
read_file.removeListener('readable', ()=>{
console.log('Снял событие readable');
});
//однако это не работает. В консоль выводится весь файл.
//Но если использовать read_file.removeAllListener() - то получается как я хотел - выодится только один буфер. И дальше поток подвисает.
});
Кто знает - почему так? Событие readable испускается когда очередной буфер данных доступен для чтенения. Не пойму в этот момент поток подвисает ожидая пока выполнится колбэк? Или продолжает читать данные?
У И. Кантора есть такие строки - " Пока мы не вызовем stream.read(), он дальше читать не будет." - соответственно и событие 'readable' эммитироваться не должно.
Их не стоит использовать
Нет, мне не нужно было onse. Суть не в том что бы вызвать readable один раз, суть в удалении обработчка на любой итерации. Пять раз сработал - на шестом снял.
Впрочем я разобрался уже.
Так ты не Кантора читай, а доку:
https://nodejs.org/api/stream.html#stream_class_stream_readable
В доке этот вопрос несколько туманно определен.
Так же мне не раз в треде писали, что я либо не знаком/ не пользуюсь call-back. Я не раз читал что есть call-back функции, но видимо я не ловлю какую-то важную суть. Можете придумать какое-нибудь тривиальное задание для меня, чтобы я сам себя проверил на знание call-back.
У тебя даже вопрос сформулирован как-то по-нубски. Ты уверен, что понимаешь, как у JS работает интерпретатор? Почитай про это и вопросы о том, зачем нужны колбеки, отпадут сами.
вообще, покажи пример задачи, где ты передаёшь local state детям, а то не оч понятно.
>>вообще, покажи пример задачи, где ты передаёшь local state детям, а то не оч понятно.
Есть мувисерчер. Цель - сделать синхронизацию стэйта понравившихся фильмов (нажали на кнопку нравится ) со всеми разделами мувисерчера (поиск по фильмам, популярные фильмы, конкретный фильм и собственно сама компонента избранное).
1) Я знаю, что нормальные люди делают это через Redux, но как только я отказываюсь от life-cycle компонент я сразу впадаю вступор (где что должно быть).
2) Я знаю, что можно аккуратно передавать детям функции, которые меняют стэйт родителя. Но выходит крайне убого.
Делай мувик сразу на редаксе + тайпскрипт, иначе это дрочево бесполезное.
Я тут даже посоветовать ничего не смогу. Шесть лет писал на JS html5-игры (фронтэнд и бэкэнд), но имею крайне смутное представление, как функционируют сайты, где больше одной страницы, кек.
Кекекек. Еще один прозрел, что вся "реактивность" реакт сводится к обязательному обновлению стейта.
Пойду читать, возможно в этом и есть проблема.
По поводу call-back. Вот это стало последней каплей, чтобы усомниться в своих знаниях (пикрелейтед). Мне сказали, что я не пользуюсь call-backами тут, хотя я не понимаю, что здесь можно call-backать.(речь про addFavouriteFilm)
Да уж, язык надо подучить.
> this.addFavouriteFilm = this.addFavouriteFilm.bind(this)
в конструкторе? Серьёзно?
Мне даже тяжело представить, зачем это может пригодиться. Ты где-то сохраняешь метод addFavouriteFilm экземпляра MainRoute, и затем вызываешь его?
>в конструкторе? Серьёзно?
Это кстати вполне себе практика устоявшаяся была.
Правда, безвозвратно устарела, да.
Я не понимаю смысла такой практики. Биндить this не нужно, если только ты не собираешься вызывать метод не через запись экземпляр.имяМетода()
А где так вызывают?
a = new A()
b = a.toStr
b()
так, что ли?
Вот я передаю эту функцию детям и где-то внизу она вызовется, когда придет время.
Это какой то поисковик по фильмам или что, как он вообще должен выглядеть. Типо вводишь название фильма и он тебе дает ссылки на скачивание?
я бы писал
addFavouriteFilm = {()=>this.addFavouriteFilm()}
вряд ли там частое переиспользование забинденной ф-ции
>мне вообще этот jsx не нравится, выглядит так, будто зумеры заново открыли пэхапэ.
Скорее xaml в WPF.
Зачем, если можно в методе использовать стрелочную функцию:
addFavouriteFilm = (json) => { ... }
if(!$scope.$$phase) {
$scope.apply()
}
Хватит лопать языки, астанавитязь
Но за метки не гнобят, а гнобят за оператор, поэтому делаем вывод, что тупой жопаскриптер думал, что в его языке есть оператор goto
в else оберни то что у тебя после if идёт
Ты долбоеб? Нахуй его передавать, если он уже привязан? Нахуй ты высрался в этом треде? Не шаришь, не открывай ебло.
Бог реакта итт?
>Ты долбоеб? Нахуй его передавать, если он уже привязан? Нахуй ты высрался в этом треде? Не шаришь, не открывай ебло.
Пиздос ты олень, я же предлагал свою запись именно ВЗАМЕН биндинга.
Не самый. Его популяризовал двачер из врк и это исконно двачерская тема.
В задании
Если параметры заданы так:
params: { "range": { "by": "id", "start": 1, "max": 2 } }
То API должен вернуть следующее:
[ {
"id": 1,
"name": “my-app-001”, },
{
"id": 2,
"name": "my-app-002", },
]
Я не понимаю как это реализовать, а именно параметры. Хоть убей, анончик помоги пожалуйста советом
Ебать, да тебе парсить квери параметры придется на базе FSM, дружок. Нда, нечасто такое встретишь...
И что в этом непонятного, долбоеб? На сервере у тебя будет массив вида:
[
[{id:1, name:"my-app-001"}],
[{id:2,name:"my-app-002"}]
]
Парсишь запрос на api, и отправляешь следующее:
let response = [];
for (let i = params.range["start"]; i < params.range["max"]; i++)
{
if (myServerArray) response.push(myServerArray);
}
return response;
Кстати, про параметр "max" у меня херня написана - я почему-то подумал про длину массива данных, хотя к айдишникам объектов она отношения может не иметь.
Ты мне предлагаешь за тебя всё тестовое написать, дегенерат? Посмотри как реализованы API, которые находятся в открытом доступе. Хотя можешь не смотреть, очевидно, что такого тупицу дальше тестовго не пустят.
> params: { "range": { "by": "id", "start": 1, "max": 2 } }
Шаблон Builder
$derp = new QueryBuilder()->select('*')->from('derp')->where('id', '>', '1')->orderBy('id')->limit('2')->execute();
Думаю идея понятна.
Короче блять, не холивар конечно, но ваши доводы послушать интересно.
Ничё что вебсторм платный?
Так-то конечно он лучше. Вопросов даже нет.
> код лагает
Директорию node_modules заигнорь в .gitingnore файле, у меня ниче не лагает в проекте на ларавеле, где под сотню херни в нод_модулях и ещё пол сотни в вендоре. Комп - кипятильник с 8Гб памяти.
К твоей мамке.
>Ничё что вебсторм платный?
Нормальные работы оплачивают.
Ну для персонального использования стоит он всего $6 в месяц.
А если вы ждуны без работы и денег, то наверное студентота и можно нахаляву его получить.
Блять, крякать или раз в 30 дней директорию удалять в конце концов можно.
>>или раз в 30 дней директорию удалять в конце концов можно.
Там даже директорию не нужно удалять. Просто удаляй и ставь новый триал. Я даже персональные настрйоки не удаляю - и они сохраняются.
Да блять, он стоит такие гроши специально, чтобы не заниматься вот такой вот хуетой и тратить время на удаление и установку (хоть это и занимает минуту).
type MakeNullable<T> = { [P in keyof T]: T[P] | null };
На 6$ в Индии можно целый год питаться деликатесами и жить в комфортной однушке с видом на океан
Лол.
бля, я аутист, надо было strictNullChecks подрубить
Лол, я действительно аутист. По ретурну их получал и думал что они так и будут выводится везде
Я об этом не подумал. Извиняюсь.
GRASP, GOF
- нативный JS
- TS
- React
- Vue
- работа с webpack/Babel/ESLint
- Gut
Чем можно дополнить?
И где посоветуете нормально выучить гит? Сейчас работаю фронтом, но пока на верстке, параллельно учу разработку. Не могу научиться работать с гитом, как учились вы?
> Git*
В гите умею самые базовые вещи: коммит, пуш, clone(из вебшторма)
Остальное просто не понимаю. Закрыл уже кучу тасков на этих трех командах, дальше не продвигался
И что скажете насчёт тестов? Стоит тратить время на какой-нибудь Jest или бесполезная фигня?
Интересует коммерческая: интернет-магазины, сервисы, мб мобильные приложения на RN
Коммерческая тоже разная бывает. Есть разработка сайтов "на заказ", где ты берешь вордпресс или 1с-битрикс, что-то ваяешь и отдаешь на пользование, или разработка для корпораций, которым нужно расширяемое и поддерживаемое веб-приложение, поэтому они нанимают команду разработчиков и пилят его годами на реакте.
В доке написано о неких directory stream.
Но через fs.createReadstream такой поток не создается. Он издает событие open, и падает в ошибку.
>React, Vue
Выбери что-то одно, другое разве что в ознакомительных целях потыкай
Redux/vuex в зависимости от выбора сверху
SSR, тесты
>Не могу научиться работать с гитом, как учились вы
пришел на работу, сказали как делать жизненно необходимые вещи, остальное гуглил по мере надобности
У нас аутсорс-контора, практически все битрикс/wp. После копания в этом говне я точно знаю, что хотел бы заниматься поддерживаемыми продуктами компаний, разработкой с нуля, возможно с NodeJS
>>80069
Я уже освоил реакт, правда из проектов только туду и блог, одним словом - хрень, на работе пока нет нормальных проектов на реакте, пока сам не знаю что запилить интересное.
Про вью слышал и видел синтаксис, понравилось. Кажется, реакт - не мое.
Тогда тебе надо прошерстить вакансии в ДС на предмет требований. Обычно джентельменский набор фронтэнд разработчика - это React, Redux/Mobx, Typescript, Webpack, Node, Jest, Puppeteer/Cypress. Про такую мелочевку, как Docker и Git вообще молчу.
Если тебе ничего кроме add, commit, push не надо, то скорее всего в репе ты работаешь один, поэтому забей.
Для SSR, в основном.
В таких, что надо знать как оно работает хоть по минималке фронтеду.
>У меня все страницы находятся в BrowserRouter, но на одной из страниц находится вложенный HashRouter
Наркоман? Я даже в теории не могу представить, зачем это может понадобиться.
history.push пробовал?
https://www.youtube.com/watch?v=lLAXIvdvqck&t=194s
Спорно.
В сервис контейнере ларавела, который работает как депенденси инжектор, можно настроить создание любого класса в единственном экземпляре, т.е. как синглтон. Уверен, в любом другом нормальном инжекторе это тоже стандартная функция.
Хороший фреймворк. Правда медленный. И порог вхождения выше, чем у всяких реактов. И весь хайп он проебал ещё в 2017, поэтому комьюнити небольшое и вакансий немного. Но все рано фреймворк очень приятный с правильными идеями лежащими в основе. На практике применяется когда нужно пилить массивный UI, где потребление ресурсов не критично, а от ангуляра тошнит и хочется чего-то в духе RoR.
Собственно нашел - __dirname
Ага, в спринге тоже так.
Я вижу два варианта получения данных, но не понимаю какой правильный(или оба правильные?):
1. На чистом React. В самом компоненте, при помощи componentDidMount или useEffect отправлять запрос через fetch/xhr/axios, а ответ записывать в state. А на основании state отображать или лоадер, или массив компонентов-"заметок".
2. Добавить redux, react-redux и какой-нибудь middleware. Создать store, объявить там isLoading, isLoaded, data, isError. Написать ещё 4 action generator: fecth, request, response, error, и обрабатывать запрос как сайд-эффект в redux-saga или fetch в redux-thunk. А на страничке отображать лоадер на основании store.getState() или props с connect()().
Как правильно в общем? Или как лучше?
Или онли вэб-морда и JSON к АПИ сервера?
Битва Оккама.
Есть вариант, что ты пишешь в базу через транзакции, они у тебя роллбэчат, но ошибка не кидается.
>1. На чистом React. В самом компоненте, при помощи componentDidMount или useEffect
Не декларативно и нужно проверять размаунтился компонент или нет, перед тем как дергать setState.
>2. Добавить redux, react-redux и какой-нибудь middleware.
Тру вей, но слегка заебно писать бойлерплейт. Впрочем, все это абстрагируется.
>Как правильно в общем?
Любой из вариантов ок.
>Или как лучше?
Для простых задач я бы посоветовал react-async или его самописный аналог. Что-то вроде такого:
const { data, error, isFetching } = useApi.get('todos');
5-лет-в-реакте-господин
Спасибо за помощь.
Зачем? Изучать бэк и фронт одновременно контрпродуктивно.
Насколько я понимаю, при попытке параллельной доступе к базе SQL думает, что для некоторых транзакций ты получаешь неактуальные данные, и блокирует запись в базу. Изменение уровня изоляции снимет это ограничение.
Кто-то с такой вот штукой имел дело, как оно?
>Наркоман? Я даже в теории не могу представить, зачем это может понадобиться.
Для того, чтобы было удобно использовать hash-links, например для табов на одной странице.
Подобрался к джуну.
Попробовал все четыре уровня изоляции транзакций, также пробовал без транзакций вовсе - все результаты разные. Может тут играет роль не запись в базу, а чтение? Все воркеры, получается, одновременно считывают из базы данные с разными оффсетами только. Кстати, база источник - PostgreSQL, база назначение - MariaDB.
Короче. Дело было в ORDER BY. Стоило добавить его в запрос и все стало как надо.
спасибо, нашел. А есть вариант как-то включить субтитры, потому что на слух плохо английский воспринимаю.
там в плеере субтитры включить можно
Уже сделал
>Посоветуйте идею пета на реакте
имидборду конечно же, ну или клон твиттера (только на бэке ленту активности сам не пиши, это блядский ад, а какой-нибудь GetStream потом заюзай)
заглушки и статика
А ты коннектись напрямую к СУБД через вебсокеты, наверняка хипстеры что-нибудь уже придумали для этого.
Ну лан. Тогда P2P.
Firebase, ага.
Там документации на 10 строчек, ты чего?
Тебе не надо обрабатывать эти ошибки, кроме 200ых, которые приходят с самого АПИ. 200ые ошибки указанны в доках к кому ты коннектишься, либо они сами тебе присылают что не так. А для всех остальных делаешь заглушку "ой что-то пошло не так". Если у них упал сервер, то тебе холодно или горячо от этого?
Какое это отношение к реакту имеет вообще?
>писать тернарные условия в рендере, получается полная каша
Примерно так и делают. Покажи код, где у тебя каша?
Я вот как раз про эти заглушки, можно, конечно, писать условия "в лоб", типа
if(error.status === 404) render (<NotFoundComponent />);
if(error.status === 400) render (<FetchErrorComponent />);
if(error.status === 401) render (<NotAuthorizedError />);
render (<Component />)
Может все же есть получше способ?
гугли замену условного оператора полиморфизмом
Ну ты программист или что? Не можешь это абстрагировать?
if (isFetching) return <Spinner />
if (error) return <Error={error} />
return ( ... )
Или даже
<DataProvider>
{data => (...)}
</DataProvider>
если у клиента 400 ошибка, то он по умолчанию не откроет страницу и ему об этом скажем сам браузер. Что обрабатывать?
Нет, крашнется реактовское приложение
> обработки ошибок получения данных с API для Реакта
реакт отправляет запрос к API, в запросе данные, которые сервер посчитал кривыми, сервер возвращает 400 ошибку. Её надо обработать на клиенте, иначе крашнется реактовское приложение.
['1', '7', '11'].map(i => parseInt(i))
ParseInt сжирает 2 аргумента
Хз, спроси в шарпотреде.
Если убрать фигурные скобки, тогда тип WrappedComponent (из подсказки) ставится, но не работает (начинает ругаться на value={value})
Тип надо указывать до равенства через двоеточие. У реакт компонентов он FunctionComponent<Props>, тип импортишь из библиотеки реакта.
Ага. Про sass, впрочем, я уже нагуглил сам.
так себе мудрость.
говорю же, я жс знаю как сам Эйх не знает.
что не мешает всяким петухам валить меня на собесах вопросами о фреймворках
В жс есть паттерны? Как правильно шапка сайта должна быть оформлена!
> this
Что об этом вообще можно учить?
Отличия call от apply?
this в стрелочных функциях?
this при вызове через new?
Даже не знаю, на чём тут можно погореть.
> let args = [ ].slice.call(arguments)
А я ответил, что это быдлокод, и надо писать Array.prototype вместо [ ], дабы не создавать лишний массив.
Это лучше, чем писать быдлокод. Небось это еще и был код синьора из проекта.
Ты забыл, что arguments deprecated.
>дабы не создавать лишний массив
Сейчас бы думать о том, что создастся лишний массив.
энтерпрайз-бог
Ну я когда-то с челиками писал на хтмл5 игру для айфона, и чтобы не фризил сборщик мусора, мы даже i, j в циклах глобальные использовали. А тут подметать целый массив.
Целевая оптимизация — дело хорошее и нужное.
А позиция "это быдлокод, раз делает лишнюю работу", когда вся "лишняя работа" вместе взятая занимает 1% времени исполнения программы — контрпродуктивна.
[0,1,2,3,4,5,6,7,8,9,10].sort() // [0, 1, 10, 2, 3, 4, 5, 6, 7, 8, 9]
Вот это вот хуйня
let btn = document.querySelectorAll('.div1');
btn.forEach(function(item, i, map){
item.style.backgroundColor = 'red';
});
работает когда элементов класса div1 более 1 штуки в html
а когда ее 1 то он блять возвращает псевдомассив который почему то typeof называет обьектом а мой код не может пропечатать ибо forEach может перебирать nodeList но не псевдокласс или обьект
Такаааая залупаа я рот ебал этого языка
Не знаю, мне похуй уже
Яваскрипт конечно конченый, но не здесь.
querySelectorAll возвращает NodeList а не массив и от количества элементов это не зависит.
>typeof называет обьектом
Иди Флэнэгана читать мудила
Работает реакт девелопером? С чего начинал? Есть какие-то важные вещи, которые нужны в работе, но не встречаются в документации?
> И как решить какой использовать?
Первый вариант, если что-то мелкое пилишь, второй, если что-то крупное, я так поступаю
>Работает реакт девелопером?
Ну да.
>С чего начинал?
С Objective C. А Реакт — с createClass и проекта уровня мувисерчера.
>Есть какие-то важные вещи, которые нужны в работе, но не встречаются в документации?
Не думаю. С опытом все придет.
Нашел какой-то parcel.js. Всего 300 библиотек
var str = prompt ('напишите текст', '');
var newString = str.replace(/а/g,"ы");
alert(newString);
Меняется буква а на ы, всё ок
делаю так
var str = prompt ('напишите текст', '');
var newString = str.replace(/а/g,"ы");
var newString = str.replace(/б/g,"н");
alert(newString);
Пишу предложения с буквами а и б - менятся только буква а. Программировать учусь только, подскажите что читать или хотя бы наводку
>var newString = str.replace(/а/g,"ы");
>var newString = str.replace(/б/g,"н");
Во-первых, ты зачем var пишешь повторно? Ты уже объявил переменную newString. Во-вторых, ты понимаешь, что у тебя сама-то str не меняется?
Ты будто пишешь
newString = "абвгд".replace(/а/g,"ы");
newString = "абвгд".replace(/б/g,"н");
>Вот оказывается как надо было
Это мегахуёвый и медленный способ. Для буквенных замен лучше использовать такие самодельные хеши:
let str = "питон";
let new_str = '';
let alters = {
'п': 'г',
'и': 'о',
'т': 'в',
'о': 'н',
'н': 'о'
};
for (let bukva of str) {
new_str += alters[bukva];
}
console.log(new_str)
Я умею в бек на пхп, и немного на ноде. Решил изучить реакт немного.
Сегодня полдня пердолился с документацией. Тудушечку запилил. Все это делалось на react create app. И вот подниму я сервер на ноде с экспрессом, а как состыковать то это с бандлом сформированным react create app?
Чет попробовал просто отдать по маршруту '/' - нихуя не загрузилось.
Где почитать подробно?
Бамп
Чет я не так себе это представлял.
Я себе это так представлю - я собираю бандл реакта. Разворачиваю сервер на экспрессе. Допустим, в паблик пихаю скрипты самого реакта, и скрипт моего приложения.
Потом по запросу "/" я отдаю хтмл страничку с <div id='root'></d>, и с тегами скрипт указывающими на мое реакт-приложение. Все это дела на клиенте разворачивается, и уже в реакт приложении аяксы к АПИ моего сервера.
Т.е. сервак изначально отдает онли первую хтмл станицу, и скрипты реката и приложения на нем.
И как же кросс-доменные запросы? JS с клиента без проблем отправляется онли на свой бекенд, сессии там, куки. Зачем два сервера?
Где толков почитать? А то я прям вижу смузи-моря после как соберу из двух моих поделий Франки
Разворачивай сначала вручную, будешь понимать что вообще происходит. В будущем это пригодится, кода придется донастраивать create-react-app самостоятельно.
Так открой конфиг вебпака в CRA и изучай, что и почему там сделано там половина конфига состоит из комментарием
Как бы ты себе это не представлял, два сервера удобнее. Статику хостить вообще изи, бесплатно на гитхабе, почти бесплатно на AWS.
Шаблонизатор, virtual DOM и КоМпОнЕнТиКи
Сбилженные файлы летят в папку build, разве нет? Вот оттуда и отдавай.
Хуйня без задач. Только изобретение нейроинтерфейса спасет этот мир.
И в VS Code установить eslint и prettier
Пользуюсь уже год, зависимость есть, брат жив.
Еще когда-то переделывал его под TypeScript, но проебал
Зачем статика хостится отдельно?
А потом ты соснешь тем, что статику потом еще с бэка придется отдавать. И привет nginx в докере.
Можешь, если не в напряг объяснить варианты взаимодействия реакт и бэкенда.
Изначально я видел это как то классически - бэк отдает одну страницу, в ней root и подгружающиеся скрипты - во всем этом строится приложение, которое уже взаимодействет с бэкендом.
Проблема что я вижу - бандл может много весить - и первая загрузка сайта будет долгой.
Но в реальности сейчас у меня какой то коктейль в голове, SPA смешалось в кучу с изоморфными приложениями, и отдельным сервером для реакт приложения.
В сущности моя задача - простенькая. Я на реакт с помощью react create app сделал простенькое приложение которое должно отправлять на сервер запрос, и получать в ответ данные + картинку. И я не понимаю куда мне пихать собранный бандл, и нахуйя мне отдельный сервер статики для всего этого счастья, если статики и нет никакой.
А если я просто хочу отдельные компоненты на реакт вставлять в свои классические шаблоны отдающиеся с сервера?
Нахрен мне сервер статики?
- нативный JS
- TS
- React
- Vue - это нахуй не нужно, удаляй сразу
- работа с webpack/Babel/ESLint - да, но в 99% случаях на твоей работе уже будет все настроено , врящд ли тебя возьмут поднимать фронт с колен и возглавлять первые проекты
Зачем статику отдавать с бэка? Бэк это тупо апи, он они про какую статику знать не должен и вообще может хоститься на другом урле.
>И привет nginx в докере.
Во-первых в чем проблема nginx в докере? Во-вторых, как я уже написал, есть куча сервисов которые сами все развернут без докера и даже фоллбек на index.html сделают.
Так твой JS-бандл и index.html и есть статика. Это просто файлы, они не меняются. Хости их на Github Pages и все. В доке CRA даже целый раздел про это есть.
>А если я просто хочу отдельные компоненты на реакт вставлять в свои классические шаблоны отдающиеся с сервера?
То билди бандл в папку со статикой и подгружай JS в своих шаблонах. Но это наркомания какая-то, React сам по себе прекрасный шаблонизатор.
У всех
>>Так твой JS-бандл и index.html и есть статика. Это просто файлы, они не меняются
И зачем мне этот отдельный сервер тогда? Я и своим отдать могу.У меня целая нода с кучей АПИ. В чем сакральный смысл отдельного сервера статики? Непонимат.
Видимо слишком дохуя инфы за день.
Короче буду пока как в доке указано - пилить небольшие компоненты на реакт для своих обычных шаблонов, пока просветление не придет.
Есть у нас юзеры. У юзеров есть например аватарки. Они хранятся либо на бэк сервере, либо на удаленном файловом хранилище, но речь сейчас не про него. К файлам бэк должен иметь прямой доступ, а отдавать через ноду не комильфо, поэтому статику относящуюся к бэку отдаем nginx.
На самом деле все решается очень просто. Если работаем на одном домене, точкой входа для всего у нас является nginx - он проксирует все запросы куда нужно. Uri начинающиеся с /api через proxy_pass отправляем на бэк, /static - в папку статик-файлов бэка, все остальное идет на фронт и отдаст index.html, который подтянет скрипты/стили и отрендерит твое react/vue/angular приложение, которое в зависимости от текущего url отрендерит нужные компоненты и подтянет нужные данные с бэка и дотянет если нужно какую нибудь статику, не относящуюся к приложению (те же самые аватарки)
А докер позволяет просто не ебаться с настройкой сервера, в заранее у тебя на компьютере все сконфигурировать, а потом просто на боевом сервер просто запустить собранный контейнер.
>К файлам бэк должен иметь прямой доступ
Это неверно. Бэк должен хранить только урлы, сами файлы лучше держать на S3, например.
Остальное в целом верно, но я не понимаю почему ты мне это рассказываешь.
Мой посыл в том, что фронт и бэк это совершенно разные сервисы, которые ничего друг про друга знать не должны и уж тем более файлы фронта не должны лежать в контейнере бэка.
Потому что фронты и бэк это два разных независимых друг от друга приложения и хранить их вместе немного странно. Если они у тебя уже связаны — ну штош, отдавай нодой тогда.
Ну ты прав и да, я немного лукавлю. Контейнеры для бэка, фронта являются отдельными, иногда рядом еще контейнер с прокси, который клеит все вместе через docker-compose. В контейнере должен лежать только исполняемый код, все остальное (файлы пользователей, бд) вне контейнера. Бэк лишь обрабатывает и отправляет полученные файлы куда надо и записывает информацию о том, где их потом искать. По поводу s3, у нас например, необходимость хранить информацию на собственном сервере для соблюдения закона о защите персональных данных, поэтому все хранится рядом. Хотя скоро придется искать облачное хранилище под все это у какого нибудь мейла/яндекса. А рассказываю я это просто так, чтобы чувак выше может что-то для себя новое узнал.
Добра тебе, няша.
POST /data/
GET /data/
PUT /data/
это удобно?
чем?
вот что удобно: getData() addData({foo:1}) updateData({foo:2})
>вот что удобно: getData() addData({foo:1}) updateData({foo:2})
Ничто тебе не мешает сделать 3 таких эндпоинта, и чтобы у всех был условный POST
Не канон. Эндпоинты не должны по хорошему являться действиями (глаголами). На практике приходится делать такое, но не надо такое делать для работы с данными.
getData addData updateData это уже что-то вроде RPC, а не Rest
ну тебе как фронту чем удобней весь перечень post/get/options/put/patch
можно юзать один POST и радоваться жизни
POST getUser({id:1})
POST getUsers()
POST deleteUser({id:1})
POST updateUser({id:1, data:{foo:1}})
RPC > REST
c рестом пиздец лютый начинается на сложных запросах вида:
PUT/user/1/type/54/name/342342
нахуя так жить?
Зачем делать POST getUser, если можно сделать GET user?
Что мешает отправлять данные в теле запроса?
> PUT/user/1/type/54/name/342342
Обновить объект name c id 342342, который принадлежит type с id 54, пользователя с id 1.
Мы видим что от чего зависит. Если ты можешь выкинуть какую то часть, то она и не нужно вовсе. Если у тебя у name уникальный ключ на всю систему, то можешь просто сделать эндпоинд вида /name/342342
Например у нас есть Компании (id уникальный на всю систему), у которых есть тикеты (номер уникальный внутри компании), а у тикетов есть отчеты (номер уникальный внутри компании).
Чтобы получить отчет то будет такой url: /company/1/tickets/100/report/100500
Но поскольку у нас уникальный номер отчета внутри компании, мы можем начать строить url от компании: /company/1/report/100500
Единственное, что мы теряем тут, это понимание того, что отчет относится к тикетам. Если у нас есть отчеты к другим сущностям (к каким нибудь task, events) и они являются разными по своей структуре, то тогда нужна полная вложенность.
А разве уникальный айдишник не должен быть у всех сущностей?
[...document.querySelectorAll('.div1')] и перебираешь чем хочешь
Могу подтвердить, спрашивают и про this и как его проебать, и про bind call apply, и про bind.bind.bind, а также partial application через bind, и про strict mode иногда тоже
Так тред то и создан для того чтоб джс в нем обсуждать. Я не говорю что мне кто-то должен, мне действительно интересно, как просто и лаконично об этом бы рассказали люди с опытом
Они почему-то не могут у себя парсить и нормализовать данные и постоянно ноют что приходит число, а надо строку, у них ТИПИЗАЦИЯ и ОНИ НЕ МОГУТ у себя ничего сделать, бэк должен под них подстраиваться.
Сука, и ведь подстраивается, а потом и мы транспорт переписываем.
Так они не могут подстроиться. У них приложение не обновляются автоматически, поэтому у пользователей со старыми версиями все отвалится.
Для этого вводится версионирование апишек, чтобы и клиенты старые работали и новые использовали новые плюшки.
Rule of thumb:
в sloppy при байнде значений nullable типов this ссылается на глобал/window, а в стрикте - принимает значение как есть;
в sloppy при байнде примитивных значений this ссылается на boxed вариант переданного значения, в стрикте "как есть".
Да, под айфон. Но не за деньги это делал, просто как хобби. В итоге веб как-то полезнее оказался и на работе тоже нужен был.
На самом деле тут мы в такой жопе а не мобильщики.
Наш фронт тоже проходит через ещё более анальный аналог аппстора-гуглмаркета, ещё более тормозной и ебанутый. Проталкивать новую версию месяц – рутинное явление, а пользователи обновляться ещё полгода будут.
>>81937
>>81948
>>81971
Спасибо, мне стало яснее как, и относительно понятно зачем все это на разных серверах.
Возникло такой вопрс, я по тутору с офф. сайта https://ru.reactjs.org/docs/add-react-to-a-website.html
пилю компонеты для своей странички. Трабла с babel и переводом из JSX в JS.
Там есть блок в котором нужно локально babel установить, и выполнить команду "npx babel --watch src --out-dir . --presets react-app/prod" - это работает, но только когда папка src в корне, и преобразованные файлы из src кидает в корень сайта.
А как в этой команде сделать так что бы готовый файл кидало в public/js/?
Сейчас использую redux-auth-wrapper, по примеру из документации обернул компонет, и все время получаю ошибку
Type '{}' is missing the following properties from type 'Readonly<Readonly<InjectedAuthProps>>': isAuthenticated, isAuthenticatingts (2739)
см. пикрил
Какие бы подсказанные типы не подставлял - ошибка, и только с any работает. Что вообще хочет этот TypeScript?
Дашь?
спасибо
2) По поводу значимости вышки мне так ничего и не ясно. В процессе получения вышка по технической специальности, инженер в области нефти и газа но я так понимаю это полная хуйня и работодатель надо мной только посмеется?
понимаю вопросы тут обсосались уже не раз и не два и не три, но не задать его я не могу :)
Сук, какой же ты гений, ты бы знал.
А как еще учиться?
Мертвая ниша где твое трудоустройство целиком и полностью зависит от наличия родственных связей. Работа предполагает нахождение в говне и моче по колено первый год, а потом итровцем нужно делать то же самое, только лопатой уже махать не приходится. А еще в любой момент даже мастера с зп в 120к это в моих пердях то могут отправить на УЧЕНИЯ ПО ЛОКАЛИЗАЦИИ АВАРИЙ и он будет пару дней кормить жопой комаров и срать в кустах.
> Но в сообщении же написано что он от тебя хочет
Ну я понимаю, если я указываю
const AccountLink: React.ComponentClass<InjectedAuthProps, any>
то TypeScript хочет вместо
<AccountLink />, чтобы я писал <AccountLink isAuthenticated={true} />
однако, если вместо InjectedAuthProps ставить any, то пакедж redux-auth-wrapper и так передает значения в эти пропсы, для этого он и нужен
Вопрос только, как правильно все указать, чтобы не оставлять тип any
а тут ты будешь кормить жопой геморой фикся баги к дедлайну
мне на дваче написали, что выше хобби не рассчитывать, когда вкачусь, это так?
> Нельзя. Исходники трогать запрещено законами физики.
Тогда форкнуть и исправить :) Вообще я хуею: чел написал пакедж на тайпскрипте, а использование этого пакеджа на тайпскрипте превращается в придумывание костылей
Посмотри сколько на hh вакансий с кейвордом javascript и реши сам, востребованы ли javascript программисты на рынке труда.
Хватит меня троллить!
>мне на дваче написали
>пойду спрошу на дваче, правда ли на дваче пишут, ведь на дваче пиздеть не будут в отличии от двача
Охуительные вопросы. Ты хочешь чтобы Двач за себя жизненные выборы делал? Тогда не вкатывайся, пожалуйста, не хочу с тобой работать.
Бура
Опыт 3 месяца, сижу на 2 годичном легаси говне, редакс + реакт, все делаю без проблем, получаю 70, вертки нет
Тип который был до меня, съебался в другую фирму за 200к, а блять за ним дохуя кода поправляю, он писал как уебок, чувствую себя недооцененным, но с другой стороны опыта у меня пока нет. До чистого фронта был фриланс на пхп и чистый гитхаб
>можно юзать один POST и радоваться жизни
>
>POST getUser({id:1})
>POST getUsers()
>POST deleteUser({id:1})
>POST updateUser({id:1, data:{foo:1}})
Пиздец.
На легаси ты себе не выбьешь денех.
> Как искать выбивать ЗП
> Опыт 3 месяца
Пока никак. Набери опыта минимум 3 года, тогда и поговорим.
Так а хули толку, если я поправляю код за 3 летними?
Я понимаю, что у меня нет опыта в тонкой настройке вебпака, в написании тестов, в тс, но блять, 3 года в этом говне вариться? Я не долбоеб. Вообще нихуя сложного в реакте нет. Сложное есть в архитектуре, сделать правильные HOC чтобы максимально переиспользовать код. Сейчас в проекте так много копирования, это пиздец бесит.
Начал ерланг осваивать в свободное время.
Нет, я ебал там жить, Новосиб
672x672, 0:06
Че сказал сука
Мне кажется, что-то серьёзное на вебгл разрабатывать ещё рано: со стороны микрософта и эппла время от времени до сих пор раздаются кукареки о небезопасности этой технологии. И в чём-то они правы - прямой доступ к видеокарте для веб-странички как-то слишком.
Так что будет обидно, если ты вложишься в проект на вебгл, а производители браузеров его возьмут и отключат по умолчанию, как когда-то случилось с ламповыми java-апплетами.
есть ли материал на русском?
Я не говорю о проектах, прям основанных на webgl, хотя бы просто рюшечки. Фоны, прогрессбары, реакция на мыш — такое всякое. Это ж копейки, не?
Я не знаю, как сейчас, но раньше (лет пять назад) само наличие вебгл'а на странице заставляло мой браузер на секунду ЗАДУМАТЬСЯ. В общем, это тяжёлая херь, а не 2д-канвас, который загружается со скоростью дива.
https://threejs.org/
Впрочем, ты наверняка их видел, раз про вебгл вспомнил вообще.
Опрос. У кого это работает медленно/не работает?
Так да, я про них и говорю. Где это всё?
да вроде нормально
Просто он НЕ РАСКРЫВАЕТ))0
Так ДАААА, даже такая хуёвина может считать очень-очень быстро, и современный въэбдев вообще это никак не использует. И я уж не говорю о мамкиных майнерах, накупивших всяких 2080TI, которые тоже есть ЦА для некоторых сервисов. Стриминговых, например.
1280x720, 0:081,9 Мб, webm,
1280x720, 0:03614 Кб, webm,
903x903, 0:103,8 Мб, webm,
1280x720, 0:14
Бизнесу эти свистоперделки нафиг не нужны. Бизнесу нужно, чтобы работало на телефонах и на всех браузерах, а это ты сделать заебешься. К тому же есть вебассемблай, где подобное тоже можно нарендерить, и скорее всего эффективнее будет за счет низкоуровневых языков.
>>82526
хз, вангую технология слишком новая @ вот тебе 30 примеров сайтов с этой технологией, дерзай как грицца: https://www.awwwards.com/30-experimental-webgl-websites.html
Технологии мильён лет. 30 — лучше, чем ноль, хуже, чем 30k
Хз, мне лень было тащить полифилл для ei11 и остального старья.
>>82480
Критикуешь -- предлагай
>>82465
Просто класс сервис, в котором некоторые кейсы уже забиты, например прием блоб файла, заголовки для него и тп
По сути это надо было, чтобы обрабатывать ошибки в одном месте, а у себя в компонентах логику ошибок уже не трогать.
Олушок, функция внутри visibleonlyforauthenticated - react-компонент. Hoc пытается в него передать свойства, а ты их игнорируешь, на что тебе тайпскрипт и указал
Проблема в том что сейчас главный приоритет это чтоб твой сайт удобно работал на любом мобильном говне. А эти ваши вебгл-рюшечки отсекают добрую половину пользователей.
Потому что React это топ, а Vue говно
Жукверик рулит!
как на JQ ебнуть нейроночку?
Меняй var на let и будет актуально
Не работает оно в каждой папке, в которую я устанавливаю редакс. При запуске vs можно одну строку успеть написать с автодополнением, но потом оно отключается, более того перестает работать во всех папках. Если я переключу язык редактора на другой, кроме жс или его + реакт - всё работает.
Если взять и удалить папку node_modules - всё работает, ведь редакс перестает шкварить репозиторий.
Гугл никакой помощи не предоставил, похожих проблем я не нашел. Jsconfig.json не помогает.
Отключал все расширения - не помогает.
Переустанавливал vs полностью - не помогает.
Еще и винду недавно обновил - толку ноль.
Это что, только у меня такая проблема? Вы можете создать реакт проект с редаксом и у вас всё работает? Почему у меня не работает? Возможно и вероятно, что я криворукий ублюдок - но почему только у меня такая проблема?
Есть идеи решения, кроме как переход на другой редактор кода как будто там всё заработает
разве НЕ практикуясь(усваивая материал и за этим решая задачи на основе пройденной темы), можно изучить и понять js?
надо знать что есть в языке что бы решать задачи.
в JS много легаси подходов, которые проповедуют в курсах.
выучишь их - и будешь писать так в 2020. сложно переучится будет, так что нужен годный курс.
в доке такие слова:
1.Каждый метод, который вы вызываете для соединения, ставится в очередь и выполняется по порядку.
Это значит что запрос к бд синхронен? Ниже следующий запрос блокирует I/O ?
connection.connect();
connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results[0].solution);
});
connection.end();
Тогда как программисты играют в шахматы, жопаскриптеры играют в доту и с, неконтролируемо стекающей слюной у рта, твердят, что это шахматы 21-го века.
Воот, тоже что-то на доту потянуло
Играл в шахматы 10 лет, в доту 8 лет, жопаскриптер.
Это не стереотипы, а реальность. Программист должен постоянно развиваться, даже играя. Днём ты пишешь код за зарплату, к концу дня ты читаешь книги по программированию, освежаешь знания по алгоритмам и различным паттернам. А вечером ты отдыхаешь, играя в шахматы, развивая пространственное и алгоритмическое мышление.
Проиграл. У тебя синдром маня-илитки.
Щас в ойти кто только не въезжает, грузчики вчерашние блядь.
Сейчас программирование на 90% это ремесло. Единственное что есть - порог входа высокий, и порог не по isq, а тупо по вьебу в это дерьмо времени
Так это не программисты, а чернь - жопаскриптеры или просто жулики, которые не проходят дальше испытательного срока. Такие еще любят говорить, что математика не нужна, потом находят сумму чисел от 1 до n в цикле, лол.
webstorm
но я эрланговец
Прально. Надо тестировать только какое количество чашек кофе за сутки может выпить претендент.
Сидеть после работы и ботанить - это дурь для 20-28 летних, у которых гормоны бурлят в крови и им нужно куда-то выплеснуть энергию. Кто-то готов стены ебать. Кто-то за вечер по книжке прочитывает. У кого куда энергия утилизируется.
После работы нормальный программист занимается своей семьёй, уделяет внимание жене, уделяет внимание ребёнку, уделяет внимание бытовым проблемам, уделяет внимание 1-2 своим небольшим хобби. У кого-то это может быть опенсурс проектик. У кого-то спорт. У кого-то творчество. Хреново, на самом деле, если человек очень сильно зациклен, я считаю что программисту лучше всего иметь хобби не связанное с программированием.
Учится и прокачивает скилы программист на работе. Для этого фирма его отправляет за счет фирмы учится, за счет фирмы на конференции, за счет фирмы покупает ему курсы-хуюрсы.
Очень жалко, если в вашей фирме этого нет. Лично по моему опыту и опыту моих родителей инженеров, даже последний ИП-шник и то всё время шлёт своих сотрудников в поездки и командировки учится, узнавать новое, чтобы внедрять полученные знания на работе.
А если ты будешь дома читать алгоритмы вместо жены, ребёнка и бытовухи, то просрёшь свою личную жизнь и словишь такой дипресняк, такие проблемы и такой пиздец, что твоя производительность труда не просто снизится, ты можешь вообще поехать крышей или спиться. Это происходит сплошь и рядом.
Сосач. у вас тут вроде конфа в телеге год-два тому назад была, еще жива?
Какая странная паста
>А если ты будешь дома читать алгоритмы вместо жены, ребёнка и бытовухи, то просрёшь свою личную жизнь
Так алгоритмы дома читают именно потому, что личной жизни нет и не предвидится, лол. А потом, да, депрессия, запой, увольнение и самовыпил.
Ну такое. Какие-то скудные у человека абстракции в голове по поводу важных вещей в жизни и способов отдыха.
Какие тут абстракции? Всё сугубо практично: в институте учился и не успел отхватить няшу-стесняшу. Теперь тебе под 30, на тебя смотрят только 25+ б/у тёлки. Всё, любви в этой жизни уже не будет, лучше изучить фреймворк.
Любовь отнимается у человека не от возраста, а от тяжести грехов, которыми он нагрузил свою душу. Можно стараться жить праведно и если преуспеть в этом, Бог может восстановить то чувство любви, которое человек потерял. Так что если Бог есть, то не всё потеряно.
Это точно JS тред?
Ты тупо рефлексируешь что в детстве эмоции были ярче. Я конечно несправедливо обобщаю, но любой здравомыслящий человек поинмает что пустые эмоции без рациональной основы, насколько бы их много не было, не имеют никакой ценности.
Это всё очень субъективно, потому изначально я и не ныл что в посте написана чушь. Наоборот, я просто сказал что в посте написана очень скудная, то есть очень простая и легко достигаемая абстракция.
>>82969
Толсто.
> ь очень простая и легко достигаемая абстракция.
Типа, чувак, найти нормальную бабу в 30 можно, это блять совершенно легко, нужно просто не ныть на говнофорумах, а стараться. А вот построить ебаную ракету на марс уже не так просто.
залей на хироку какой нибудь
Девтулзы нормально работают. Есть еще симуляторы в икскоде.
Следовательно, это должен быть label. Проблема в том, что у него есть тень вокруг и внутренний отступ от неё(эффект жирной рамки). При наведении должно затемняться изображение внутри. Как это можно сделать?
Пробовал через img внутри и ::after с тёмным фоном для него, но не помогло.
?
Я вообще не кодер, но хотел бы написать тулзу для одной игрушки и подучить джс. И знаю что у вас всё кодят на электроне, когда я последний раз смотрел году там в 2018. А сейчас что?
На самом деле личная и социальная жизнь пиздец как важна.
У меня кент есть, и достаточно успешен, и социоблядь та еще. Брат его старший тоже человек - петросян, бывший квнщик, и бабло пожирнее смузи-сеньора рубит.
Я им, будучи титаном-одиночества по доброму заидую. У них есть и работа, и семьи/дети, и социальная движуха.
Так у него вроде есть какая то певичка
Линуксоблядь?
В человеческом мире "/" означает самую корневую директорию. Если ты хочешь от текущей папки указывать, то надо через "./". А вообще, поизучай человеческие ОС, много узнаешь полезного, в том числе и для веб разработки.
Помогло, спасибо все равно ебаный сборщик выводит их через "/". А хули там изучать, игор нет, чтобы открыть папку без проблем нужно открывать гугл
Бля D=
Вот дерьмо =(
Показывает нужду и ухудшает позицию на переговорах. Не делай так.
Алсо, не надо коммитить в проект .vscode и открывать ссылки через window.open.
Ну и без мобильной версии как-то уж совсем позорно в 2к20.
> Показывает нужду и ухудшает позицию на переговорах. Не делай так.
Ну это же шутка...
> Алсо, не надо коммитить в проект .vscode
Случайно туда попал
> открывать ссылки через window.open
А как?
> Ну и без мобильной версии как-то уж совсем позорно в 2к20.
А что у тебя за телефон? У меня в файрфоксе на всех работало.
>Ну это же шутка...
Подозреваю, что нет.
>А как?
<a>
>А что у тебя за телефон? У меня в файрфоксе на всех работало.
Это сафари. Ты молодец, конечно, поставил брейкпоинт на 400 и все. А на 401 верстка по пизде идет. Сайт должен хорошо выглядеть на любых разрешениях, а не только на в каком-то определенном промежутке.
Алсо, если уменьшить высоту окна, то эффект тоже веселый.
Но ты мой одногруппник...
> Подозреваю, что нет.
)
> поставил брейкпоинт на 400 и все. А на 401 верстка по пизде идет.
Нужно увеличить до 401 или есть нормальные способы? Я по другому не умею...
Так поковыряй любой нормальный сайт может даже тот, на котором ты прямо сейчас и посмотри как у них сделано.
> Олушок, функция внутри visibleonlyforauthenticated - react-компонент. Hoc пытается в него передать свойства, а ты их игнорируешь, на что тебе тайпскрипт и указал
Так в том-то и дело, что эти два свойства не нужно вручную задавать, этим занимается redux-auth-wrapper.
Если я явно укажу isAuthenticated={true} и передам в компонент, то смысла в redux-auth-wrapper нет
Из-за того, что прямое изменение ломает работу реакта или из-за того, что реакт не рендерит элемент, в котором используется стейт?
А что использовать для маленьких малюсеньких сайтов? Жиквери? Или на чистом жс херачить? Или в бутстрапе есть готовые жс-ные заготовки?
Ладно, понял, спасибо большое, буду Vanilla JS осваивать.
Сейчас все потихоньку стремится к супер динамичности. Это неизбежно. Да были и остаются маленькие сайты и их делают на один раз без поддержки, но годы идут.
Маленьки сайты собираются в конструкторах.
Или вообще без жс верстаются.
А реакт не нужен для половины всего на чём он написан, просто он сейчас главная религия фронтенда.
А чем реакт плох для просто так? Полдня потеребил доку - и хуяк ты пишешь простые , но удобные компоненты. Заебись, мне нравится. Две эти либы весят хуй да нихуя.
>>Или на чистом жс херачить?
При сложной логике на чистом JS даже с классами какие то лютые портянки получаются.
В фэйсбуке внезапно не SPA, у них вообще вроде шаблоны php отдает. Так что задрочи нативный JS и причащайся к реакт.
мимо-бэкендер
> Полдня потеребил доку
> Ещё полдня на доку по бабелю, вебпаку
> Ещё день на редакс, рх-мобх-хуех
> Три дня на тайпскрипт
> и хуяк ты пишешь простые , но удобные компоненты
Когда говорят реакт никогда не имеют в виду реакт (jsx шаблонизатор, виртуалдом и хуки), за кадром всегда стоит целая религия с сектами однопоточной направленности данных, декларативности и кучи других парадигм (все единственно верные).
ты в gnirts ничего не передаешь и у тебя каждый раз из глобала подсасывается string, которая переопределяется и не имеет никакого результата
ps напиши debugger в теле функции gnirts первой строчкой и смотри по шагам что происходит
Ты определил функцию gnirts как функцию не принимающую ни каких аргументов и при этом что-то в неё передаешь. Может быть в этом дело?
Все, разобрался
В общем решил проблему - там расширение typescript nightly что-то такое одно надо установить и всё магическим образом начинает работать. Оказалось, что это свежая проблема и в реакте и в вуе хрен ли у вас её не было? Все ж мувик делают
Ну, каждый себе выбирает маня-мирок.
>там расширение typescript nightly
nightly - сырая дев версия. Их всегда устанавливают на свой страх и риск
Напомню, что Реакт это не только хороший фреймворк, но и неплохой шаблонизатор. Так что при помощи некста или гетсби на нем и статику довольно удобно собирать.
Нет. Рынок перегрет. Вкатывайся в бизнес.
Я хуй знает как щас вкатываться с ноля, тем более во фронтред-жс.
Был недавно в одной организации. У них ваканасия на JS. Я вообще бек на пхп пишу, а у них там nodaи реакт, я ею интересуюсь.
Тестовое - написать что то типа мини блога - создаешь статью с текстом и картинкой, и эта статья сразу отображается в блоге. Морда- на рекат, бекендбек естественно тоже относится к тестовому нода + экспреес, база любая, ну и обязательная ORM.
С бэком у меня в сущности не возникло проблем. А вот реакт пришлось поизучать.
Так что нубарей со знанием нативного JS если и берут - то тупо по удаче.
А какой срок на всё это дают? И что по зп?
Вкатывальщик, ты крышей ебанулся?
>>Индустрии нужно переписать
Какой блядь индустрии? Есть бизнес, есть дяди/тети которым им владеют. Нужно будет бизнесу - все будут хуярить на пхп 4-й версии вообще без JS. На SPA он все блядь собрался перености. А Фэйсбук чет на SPA не переезжает, и реакт юзает как либу для компонентов.
Я хуею с кукаретников.
> Какой блядь индустрии? Есть бизнес, есть дяди/тети которым им владеют. Нужно будет бизнесу - все будут хуярить на пхп 4-й версии вообще без JS.
Бизнесу нужно удобное, современное и прибыльное. То есть SPA.
> А Фэйсбук чет на SPA не переезжает, и реакт юзает как либу для компонентов.
Потому что фейсбук - это как одноклассники, только в 1000 раз больше и богаче. Такой же конченый интерфейс, кстати.
Посмотри лучше на современные социалочки, например на MeWe, охуенная тема и, как раз таки, SPA.
Ну тут ты прав. Ниче я не хуею. Просто захотелось попиздеть.
>>Потому что фейсбук - это как одноклассники
Фэйсбук создали реакт жи.
>>Бизнесу нужно удобное, современное и прибыльное.
Ах лол, проиграл с теоретика. Представляю как ты решаешь за дядю, который без твоих откровений сумел таки уже заработать на какой нибудь S-класс с черной икрой. Конечно он метнется все на SPA пиреписывать.
Если он увидит что индустрия движется в эту сторону, то да. А она туда движется. Или считаешь что не движется?
Как мне расширить использование формы добавления до редактирования? Пока что мысли такие: при клике на итем, у нас переменная forUpdate в List компоненте меняется на тру,(по дефолту стоит фолз). Далее мы должны как-то передать измененное значение переменной компоненту Форм(но ведь он при инициализации получил уже true?) . Нагуглил componentWillRecieveProps, но не могу понять как реализовать это с хуками. Хелп плиз
>>Если он увидит что индустрия движется в эту сторону...
Зашел я на офф. сайт корпораци Xerox, вижу классическое меню, футер и всю хуйню. Теперь расскажи зачем им SPA? Или Xerox не корпорация?
>>84022
Ну разве что в хипстерсих маня мечтах.
Это просто когнитивное искажение, если что то ценишь - считаешь что и другие обязательно будут это ценить. Самые тупые к критике просто не готовы.
Реакт в больших приложениях будут использовать несомненно. Но вот перетаскивать на SPA? Нахуя?
Сам я только вкатываюсь в реакт. На сколько я уже понял, потомок родителю ничего не должен передавать на прямую. Потомок должен вызвать обработчик события, при этом этот обработчик должен быть методом родителя. Таким образом в родителя попадут данные от потомка - через аргумент переданный в обработчик события.
Если неправ, поправьте.
Через колбэк привязанный к контексту родителя
Да, уже смог сделать. А теперь мне надо через пропсы как-то передать эти данные другому потомку. Типа у нас было так:
let dataForUpdate = {};
<Form data={dataForUpdate} />
Потом мы нажали на кнопку, данные записались в dataForUpdate, и теперь в Form, нам нужно как-бы заново получить значение этих пропсов. А у меня пока что только старые пропсы с пустым объектом.
Когда делаем классовую компоненту, то мы стейт можем просто объявить, а можем это сделать в конструкторе. В чём разница между этими подходами? Как делать правильнее?
>Зашел я на офф. сайт корпораци Xerox, вижу классическое меню, футер и всю хуйню. Теперь расскажи зачем им SPA? Или Xerox не корпорация?
>
Ты еблан? Что такое СПА? На СПА не может быть футера и хэдера?
Перенес в стейт. Теперь при нажатии на кнопку, у нас данные записываются в стейт родителя, но в потомке пропсы(которые берутся из этого стейта) - остаются прежними.
Первые 2 строки - стейт и пропсы компонента Form во время инициализации.
Следующие 2 - измененный стейт родителя и неизмененные пропсы потомка. Как сделать чтоб пропсы тоже менялись?
Через хуки
const [dataForEdit, setDataForEdit] = useState({name: '', airports: '', scope: '', env: ''});
И далее в коде вызываю сеттер:
setDataForEdit({name: data.name, airports: data.airports, scope: data.scope, env: data.env});
Может в потомке нужно как-то через определенный хук указывать, что эти пропсы могут изменяться?
>Далее мы должны как-то передать измененное значение переменной компоненту Форм(но ведь он при инициализации получил уже true?)
Через пропсы? В чем конкретно проблема?
Ну да, офк через пропсы, только когда меняется dataForEdit в родителе, в форме не меняется
<Form onAdd={addItemWithToken} onUpdate = {updateItemWithToken} dataForEdit={dataForEdit}>
//consumerDataForEdit не меняется после изменения dataForEdit в родителе
const [consumerDataForEdit] = useState(props.dataForEdit);
А можешь куда-нибудь код залить? по идее при изменении стейта у тебя должен перерендериться родительский компонент и соответственно новые пропсы передадутся потомку.
Просто удали эту строку и используй переданные пропсы. Зачем создавать на их основе какой-то новый стейт? Разумеется, пропсы попадают туда в качестве дефолтного значения только в первый раз и потом не обновляются.
Я гуманитарий, прям с мачинлернинга стоит начинать?
Твиттер. Я серьезно.
Ты блять программист или кто? Если программизд, то с такой хуйней как роскомпараша справишься. Хрр тьфу.
А теперь вопрос: у меня сервер в какой то момент хуйню шлет вместо джсона, поймать её нереально но есть один трюк и мне нужно понять: SyntaxError: Unexpected token : in JSON at position 3
Третья позиция это как у нормальных людей с нуля или с единицы?
Мне нужно чекнуть, есть ли в стейте незаполненные поля, и если есть, записать в них предыдущие значения из props.dataForEdit.
Делаю копию стейта, пробегаюсь по ней, дозаполняю пустые свойства, вызываю setConsumerData(data); но после этого стейт не меняется (остаются пустые свойства, как и были)
const handleSubmit = (e) => {
e.preventDefault();
let data = {}
Object.assign(data, consumerData);
Object.keys(data).filter((key) => {
if(data[key] === '') {
console.log(data[key], '-', props.dataForEdit[key]);
data[key] = props.dataForEdit[key];
}
});
console.log(data);
setConsumerData(data);
console.log(consumerData);
........
Спасибо, что-то не хочется слать свой трафик через VPN дяди, который весь его дампит себе на диски и парсит
> Он же зойшифрован
Зашифрован программой от того же самого дяди
> У меня же https
Ну да, на 1000 сайтах у тебя https, а на 1001-ом пидорас программист передал данные по http и ты въебал свой пароль или другие данные
Да это и не нужно, потому что программа дяди просто пиздит у тебя прямо с диска\из памяти твой закрытый ключ и весь твой https идет по пизде, ты же не дампишь весь её трафик и не анализируешь его и у неё не открытые исходники
Но он не работает. Далее в коде я вызываю метод апи, в который хочу передать измененный стейт.
Насчет кода да, но я хз как по другому сделать проверку всех свойств в объекте.
Вот допустим у меня есть класс Animal со свойством name и методом info(), который просто в консоль этот name выходит. Я делаю класс Dog, который наследуется от Animal и имеет своё свойства breed. Я хочу сделать так, чтобы info() у Dog выводил name и breed. Самый очевидный вариант, это просто переопределить info() у Dog так, как мне нужно. Но по факту мне просто слегка нужно изменить изначальный код. Можно ли как-то с помощью super.method() изменить внутренний код?
Какой должен быть минимум знаний, чтобы написать простенький парсер на NodeJs?
Переопределяешь метод, вызываешь сначала метод родителя, после чего дописываешь дополнительный код.
Так ведь тогда произойдёт вызов родительского метода, а я именно хочу изменить его работу.
Вот например вот здесь: https://jsfiddle.net/efp8mkbq/
У меня метод start в ExtendedClock отличается от start в Clock только тем, что там settimeout принимает параметр. Вот если я хочу поменять только эту строчку, то изменить её через super никак нельзя?
Для этого не нужно создавать отдельный класс, либо делай поле, либо отдельный метод в классе Clock.
JSON.parse('[1,w]') // С нуля
А почему поймать нереально? Обернуть в try/catch, при ошибке писать лог с инфой о ситуации.
Я в песочнице там ебусь, поэтому не могу увидеть ничего кроме ошибки парсинга. Сейчас просто смотрю все в текстовом режиме и ищу тот самый обосрамс, а мне памяти нехватает в полмегабайта.
выспись как следует
просто раньше нельзя было вроде как без конструктора. он то и сейчас вызывается при создании экземпляра класса, но неявно.
такая же хуйня как и с биндом методов.
А вообще в 99% случаев хватит и функционального компонента с хуками так что смотри в эту сторону
эта функция - экшн. просто объект с полями type и payload или типа того. попробуй у себя в коде вызвать экшн который ты заимпортил. емнип обвалится с ошибкой типо expression is not callable
тоже скучаю лол
еще можешь сделать в CRA react-scripts eject (прописано в package.json) и привести все что оно тебе высрет в норм вид
Можно ли вынести функцию которая вызывает диспатч в отдельный файл и передавать диспатч в качестве аргумента?
Доля постов про реакт говорит лишь о том, что по реакту возникает больше вопросов, чем по ванилле, но не о том, что реакт используется в каждом втором проекте.
За реакт больше денях платят, а мы тут пришли деньги зарабатывать, а не хуйней страдать.
>Можно в реакт+редакс сделать фетч по загрузке страницы, а не на каждый рендер?
Вообще-то НУЖНО, render должен быть чистой функцией, а для сайд-эффектов есть хуки.
>Можно ли вынести функцию которая вызывает диспатч в отдельный файл и передавать диспатч в качестве аргумента?
Што? Зачем? Диспатч вообще не нужно трогать, пусть редакс сам к нему все биндит.
Ну вот юзэффект вызывается на каждый рендер, юзстейт вызывает рендер при смене состояния. Мне нужно типо window.onload получить один раз информацию и записать в состояние её. Выносить в отдельный файл эту функцию я хочу потому что вне компонента window.onload работает, но тогда я не могу получить доступ к состоянию компонента.
>Ну вот юзэффект вызывается на каждый рендер
Ну ебать, ты документацию-то почитай. Или Реакт юзаешь по принципу «пробуй все комбинации разной хуйни пока что-то не сработает»?
>Выносить в отдельный файл эту функцию я хочу потому что вне компонента window.onload работает, но тогда я не могу получить доступ к состоянию компонента.
Ты ерундой какой-то занимаешься.
Ты систему координат в жизни не видел?
Спасибо.
Да нахуй мне тебе демку кидать, если ты по скринам нихуя не понял, инвалид. Я домой пришел, сейчас буду смотреть гайды от нормальных людей на ютубе
Нахуй сходи уебан
Девочка, тебе в инстаграмм надо было заходить, а не в этот тред. Ты ведь так с ума сойдешь от токсичности
По-моему это тебе надо в b идти, к собратьям по разуму. Рулетко-треды крутить или что вы там делаете.
PS хочу чтобы было трудно
> {} + {}
по-разному. Можете ничего не отвечать.
Заплатить им 70к.
Мне нахуй не нужно вызывать функции интервалами. У меня примитивный цикл
for (var i = 1; i < 100; i++) {
console.log(i);
// здесь должен быть аналог wait(100);
}
Неужели вы хотите сказать что жс в такое не умеет?
Ну блин, а без оборачивания всего в функции никак?
Да, не умеет. В JS культ асинхронщины, поэтому нет более изящного решения, чем это:
function f(i) {
console.log(i);
setTimeout(f, 100, i + 1);
}
setTimeout(f, 100, 0);
А все эти промисы - всего лишь обёртка над этим.
Чет не хочет работать:
>SyntaxError: await is only valid in async functions and async generators
Никакой. Needle и cheerio качаешь и делаешь.
нужно async добавить к функции внутри которой ты await используешь.
Ну чет как то совсем печально выходит. Притом это примитивный пример. А в реале я не представляю как весь пиздец в функции с таймаутами пихать.
>>85820
Ну я тип обрадывался, что в твоем примере основной код не надо в функцию пихать, а по итогу он от меня все равно требует пихать. Ну и нахуй тогда оно нужно?
Подумай ещё над архитектурой своей программы. Посмотри как вообще выглядят программы на современном JS в ноде. Программа, грубо говоря, состоит из асинхронных обработчиков всяких событий. И вся логика распихана по ним. Это позволяет нанять 100 макак, дать каждому написать по 1 хендлеру и через 24 часа твой проект будет готов и бабло будет на счете. Смекаешь?
Сорян я просто тролю.
Никак, если Node.js используешь, используй Electron, там будет браузерная консоль с возможностью использования модулей
Чтобы самоутвердиться, можешь почитать, как остальные пишут анимации и подобное, обмазываясь сеттаймаутами. Там такая лапша, что пиздец.
https://jsbin.com/tumezecona/1/edit?js,console
Но вообще ты скорее всего что-то не так делаешь, задача довольно странная. И это не sleep, другой код продолжит выполняться.
а зачем?
лучше go n-body
если ты хочешь на самом деле остановить код, то тебе нужно смотреть релейт https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/function*
Никто не хочет останавливать код, в том посте ясно поставили задачу - задать определенный интервал после которого выполнение кода продолжится. И функция-генератор не останавливает код, она просто выходит из него с возможностью вернуться.
столкнулся в ноде с проблемой навигации по коду
в visual studio code есть инструмент "Go to definition" который вызывается через клавишу Ф12, этот инструмент работает до тех пор, если в модуле есть ссылка на другой модуль через require()
проблема в том, что если я например нахожусь в модуле router.js который подгружен например в app.js, я не могу из router.js попасть обратно в app.js
как это решить? это довольно сильно усложняет разработку большого проекта, так как я не могу например просто так из model.js перейти в router.js и затем в app.js - это лишь работает в обратном направлении app.js -> router.js -> model.js
расскажи что спрашивали на собеседовании или может ты делал какое-нибудь тестовое задание (если можешь, то сбрось, перед этим замазав все от деанона).
Было ли у тебя портфолио? Ну и добавь, что-нибудь от себя, если считаешь это нужным.
мимо другой
Оберни в async iife
Ебать, не спиздел.
https://www.npmjs.com/package/react-barcode-reader
Сук, к чему только реакт не приделают. Реакт-дилда где-то по-любому есть.
Базовые свойства неравномерны, от костылей хотя бы практическая польза есть, хоть и кратковременная единственная польза, интересная тырпрайзу.
Получается рякт лучше угловика, потому что он хотя бы не говно, а угловик с жыдквери оба лучше вуя, потому что они хотя бы костыльные.
Нужно на JQuery сделать так, чтобы при нажатии на одну из кнопок, к ней добавлялся стайл color:red, а при нажатии на другую, он удалялся и появлялся на нажатой кнопке, пример кода
<div id="block">
<div class="botton">Кнопка 1</div>
<div class="botton">Кнопка 2</div>
<div class="botton">Кнопка 3</div>
<div class="botton">Кнопка 4</div>
<div class="botton">Кнопка 5</div>
</div>
Стили
.botton {
float: left;
padding: 10px;
margin: 5px;
background: green;
}
Во-первых button или btn. Во-вторых флоатами уже никто не пользуется, гугли флексбокс или гриды. В-третьих сделай это на JS. Если ты не понимаешь, как это делается на JS , то не лезь в JQuery.
Гугли document.getElementsByClassName, onClick. Создай отдельный класс ред с бэкраундом рэд и добавляй его в атрибут класс. Добейся, чтобы у тебя бэкграунд главного класса все равно перекрашивался. Прочитай про приоритеты применения стилей. Сможешь сделать это, поймешь как сделать реверс эффект
Я не на столько не разбираюсь, уже сделал с помощью $(this).css(), код в 10 раз меньше, по этому и JQuery
Флетбоксы пока не признаю, надёжнее флоаты, пока есть старые браузеры, да и не хочу переписывать весь дизайн
>Флетбоксы пока не признаю, надёжнее флоаты, пока есть старые браузеры, да и не хочу переписывать весь дизайн
Какие? Ты IE9 все еще поддерживаешь?
Был тест на знание жс
Тестовое было на создание меню с вложенностью любого уровня и редактированием пунктов меню на лету, по сути обычный круд с рекурсией из за вложенности. Верстку не делал, взял material ui, главное функционал.
Опыта не было, портфолио тоже. На собеседованиях спрашивали готов ли жрать говно и копаться в легаси на жиквери, твердо и четко сказал нет, сижу на проектах на реакте, которые уже тоже легаси, за 2 года много чего поменялось.
большое тебе спасибо! еще один вопрос: ты когда шел уже туда, ты понимал что твердо все знаешь (на уровне джуна) или были какие-то сомнения?
Ясен хуй были сомнения. я и так то в себе не уверенный, а тут еще без опыта. За 3 месяца чувствую себя царем.
благодарю, я тоже неуверенный в себе, твой пост вселяет надежду на хорошее будущее
Не заметил что у тебя *.js пизда тебе, ставь вебшторм, можешь попробовать в jsconfig.json поиграть. Но универсальный совет - используй TS уже, особенно если у тебя большой проект
$.getJSON('2ch.json', function() {console.log('хуй соси')})
Этот пидорас 2ch.json отдаёт статус 204, то есть ебучий консоль лог нихуя не выводится, как я понял он выполнится только при успешном запросе 200, как блять заставить выполниться консоль лог, если этот ебучий статус равен 204, .fail() тут нихуя тоже не делает, а .done() и .always() выполняют его при любом статусе, я думал я как самый умный смогу проверить статус таким способом
$.getJSON('2ch.json').status
Но JQuery послал меня нахуй и в пизду
Короче мне надо чтобы при статусе 200 нихуя не было, а при статусе 204 он выполнял консоль лог, подскажите пожалуйста где я объебалсяв JQuery
А с помощью $.getJSON это никак не сделать? Он же наверняка как-то наследует его параметры, от $.ajax
Что этим сказать-то хотел? Я это видел и не понял как выполнить консоль лог, если статус джейсона 204
Ну тогда пиздуй на https://javascript.info/ и учи азы, раз ты не понял. Или ты собрался с каждым пуком в тред бегать и срать в нём своим jquery?
Анончик помоги тупому нубу.
Как сделать getImagesUrls асинхронной?
Только под конец понял что обосрался...
Бля ну и чмо же ты, нет подсказать нормально русским языком, нет буду выёбываться и кидать ссылочки туда-сюда
$.getJSON('https://2ch.hk/abu.json', (М) function() {
console.log('обезьяна мама')
});
Бывает так, что статус ответа от сервера = 204, из-за чего просто ничего не происходит, как заставить это говно выполнить нужный мне скрипт, если прилетел статус ответа = 204, обязательно только передачей в function( data, textStatus, jqXHR )? Нет способа короче?
Господа, доброго времени суток. Я пришел сюда с очень тупыми вопросами. В общем, учусь сейчас на 2 курсе айти специальности, в универе преподают ссано+срано, поэтому решил заняться самообучением. Покурил сравнение языков и все такое, пришел к выводу, что для меня интереснее всего веб разработка - сайты и веб приложения. Более-менее сносно выучил уже HTML и CSS, вот пару недель назад взялся за JavaScript. Учу по кантору, вроде все норм идет.
Теперь суть проблемы. Чем больше углубляюсь в тему, тем больше начинаю замечать неприятные вещи. Очень многие люди говорят, что веб разработка вроде как считается чуть ли не самым дном программирования, а работают в этой сфере только тупые макаки по крайне низким для программирования в целом зарплатам типа 20-30к. Так ли это? Если я получу вышку и буду знать HTML+CSS+JS+Angular, на какую зп я смогу рассчитывать в дс2? Возможно, мне стоит перекатиться в какой-нибудь другой язык, пока не поздно? Очень волнуюсь из-за всего этого, так как мало пока в теме понимаю, надеюсь, аноны, вы мне ответите. Заранее спасибо.
Простите, что здесь спрашиваю, это, наверное, не совсем по теме треда, но мне с таким вопросом больше некуда идти...
С этих 20-30к можно вырасти достаточно быстро. Впрочем тебе с корочкой наверно можно будет сразу на полноценного джуна нырять с 50к+.
А насчёт зп - чекни дс2 хедхантер по ангуляру и узначешь примерный уровень зп. Но на рякте скорее всего больше вакансий будет.
Как насчет сходить на хх и посмотреть зарплаты ангуляр миддлов и сеньоров? Или для тебя рынок труда считается меньшим авторитетом, чем мнение какие-то рандомных людей?
доход веб девелопера зависит от стека, пик релейт
например евпопке ФРГ с HTML+CSS+JS+Angula ты больше 2к € мес не прыгнешь
sorry for typos
Вот бы были такие сайты, где компании ищут сотрудников и выкладывают там вакансии с требуемыми навыками и зарплатами...
Сейчас бы помогать токсичном залетышу из б, который только и умеет, что слюной брызгать и всех нахуй посылать.
Спасибо за ответ. Я пока конкретный фреймворк не выбрал, так что, может,буду учить реакт или вью. В любом случае, пока что чистый жс учу. Вырасти можно достаточно быстро, а до каких примерно зарплат? Скажем, я устроился на 30к ну пожалуйста, ну хотя бы 40, отработал год, дальше на что можно претендовать?
>>87820
>>87829
Да я и хедхантер, и авито работу, и даже апворк на всякий случай уже вдоль и поперек излазил и представляю, какая там ситуация, НО в том-то и дело, что как-то это расходится с тем, что люди вокруг говорят, поэтому я и пришел сюда, где мне ответит кто-нибудь с реальным опытом нахождения в индустрии.
>>87824
Ты имеешь в виду, что надо знать дополнительно всякие штуки типа SCSS, webpack, Git, XML и т.д. или что-то другое совершенно? Какой нужен стак фронтендеру, чтобы прилично зарабатывать? Время учиться у меня пока есть, желание тоже.
> дальше на что можно претендовать
Зависит от города и компаний в немесли не рассматривать переезд
Тебе за одни и те же навыки могут предложить как 30, так и 80, это сложно предугадать. Я пол года проработал за 30 -> надоело работать за копейки -> прыгнул на 50. По наблюдениям за хх, в моей мухосрани ~80 за год опыта на рекате платят
>Скажем, я устроился на 30к ну пожалуйста, ну хотя бы 40, отработал год, дальше на что можно претендовать?
Нет таких вакансий. Ты или устраиваешься на 50-80к (в ДС) как перспективный джун который сходу может что-то делать, либо идешь нахуй. Дальше, если ты не овощ, зарплата будет расти где-то на 30к в год. Где-то до 250к. Потом сложнее.
>Какой нужен стак фронтендеру, чтобы прилично зарабатывать?
Реакт и окружение.
>например евпопке ФРГ с HTML+CSS+JS+Angula ты больше 2к € мес не прыгнешь
Это, кстати, чушь полная, в Германии 18к минималка, а 24к это уровень работника мака. Разработчики получают 60-80 минимум.
А зачем работал за копейки, если сразу мог 50 получать вместо 30? Или это из-за того, что опыта не было?
>>87947
Ну я не овощ, учу каждый день в свободное время часа по 3-4. Англ знаю заебись. Единственное, что опыта нет и хз, где его получать - на том же хх без опыта предлагают зарплаты типа 25к. Живу в дс2, в дс1 не хочу перекатываться, не нравится город. К реакту присмотрюсь, часто его в требованиях тоже встречал.
Спасибо всем анонам за инфу и мнения. Ещё хочу немного вернуться к своему первоначальному вопросу, то есть, получается так. Вебдев не говно, достойный раздел программирования и по зарплатам не проигрывает (ну или не сильно проигрывает) остальным? Стоит продолжать учить JS и сопутствующие вещи, так как перспектива в этом есть? С вышкой и норм знаниями по теме на 20-30к в дс2 сидеть не придется?
Платят не меньше, работы полно для толковых спецов. И тебе разве не похуй, как к этому относятся псевдоилитарные байтоебы из НИИ в забрызганных супами вязаных свитерах? Ты деньги пришел зарабатывать, вроде как.
Да хуйня из-под коня твой вебдев. Веб макаки среди программистов это мусор лоу уровня и зарплаты у них соответствующие. 40к твой потолок будет, 50 с вышкой лол. Лучше забей на это говно и дрочи математику и прогай архитектуры. Студентота блять.
Мне на отношение к этому кого-либо наплевать, я действительно хочу зарабатывать и готов работать. Просто я сюда потому и написал, что начал волноваться, из-за того, что много от кого слышу, что денег в этой сфере уже нет. Но вы меня успокоили, спасибо.
Хотя вот пример того, что я часто слышу, прямо золотой пример, пиздец: >>88153
> а 24к это уровень работника мака
кек, 8,5 евро в час минималка - и это уровень работника мака
веб макака с таким стеком как было обозначено Аноном будет получать ~12 евро/час
байтослесарь 17 евро/час
>Вебдев не говно, достойный раздел программирования и по зарплатам не проигрывает (ну или не сильно проигрывает) остальным?
Всё современное программированние - сорта говна. За фронтэнд просто платят лучше.
> Всё современное программированние - сорта говна
А старинное? Когда писали процедурные простыни кода, гвоздями прибитые к одной архитектуре?
>много от кого слышу, что денег в этой сфере уже нет.
Это скорее всего байтоёбы пиздят, ковыряясь в каком-нибудь 1с говне или прочем вендор-локе.
Деньги в сферу привозят заморские бояре, а местные кабанчики продают рабов местных этим боярам. Так что деньги закончатся только если Федеральный Резерв полностью наебнётся.
У тебя проблем не будет с первой работой, так как профильная вышка и студент - любимая комба для хрюш. Впрочем маразма в виде собеседований не убавится, так что не сильно расстраивайся если первые собесы будут кринжовыми.
Главное вышку не дропай, а когда выйдешь на зп мидла - подумывай, как завести трактор.
джун.
взяли на работу за 170к думая что я синьер или мидл. (ответил на все вопросы)
идти или нет?
Зп мидла - это начиная с какой по дс2? А трактор да, хотелось бы, к тому же ангельский уже знаю норм. В Канаду куда-нибудь... Но это мечты, я слабо верю, что смогу свалить заграницу.
<div class="test">
<div>Хуй</div>
<div>Пизда</div>
<div>Джигурда</div>
</div>
$('.test div')[0].css('background', 'red')
Как покрасить только 1 div
В развитии у тебя ошибка. Ты серьезно пытаешься представить жкверевские функции как массив?
Тогда хотя бы так действуй:
let hui = document.getElementsByClassName('test')
Без ванилы представь айдишник нужному диву, и обращайся конкретно к нему. Нахуя эта еботня с номерами?
У тебя правда тут всё так плохо, что там будет всё лучше?
>Тогда как на jq выбрать первый элемент из всех дочерних?
Сука блядь мудака ебаный, не используй jq для обозначения jQuery, jq это консольная программа для парсинга JSON.
Только бутылка, на которую я с разбегу сажусь.
https://jsfiddle.net/zjqe0f7c/
Почему у нас head правильно запоминает и отслеживает все изменения, если мы постоянно меняем dummy?
Я понимаю, что делает алгоритм, но не понимаю, почему на ЖС он работает именно в таком виде.
я в школе ебланил, хуёво сдал экзамены, а идти на какую-то компьютерную безопасность, или смежные специальности не хотелось. Пошёл в шарагу на поит
Я не знаю, как выбрать 1 див. Чтобы узнать — надо сделать console.log($('.test div')[0]) и посмотреть, что там есть. Если ничего нет, значит надо сделать console.log($('.test div')) и посмотреть, что там есть.
>И реквестирую анонов которые недавно устраивались по моему направлению, как оно там?
Сам из ДС, сейчас рассылаю резюме почти на всё подряд. Ни разу даже на собес не позвали. Видимо что-то не так с портфолио, что не зовут. Мб есть гайды по тому, как правильно их оформить?
Не знаю, я пока туда основные выученные технологии написал, и ссылку на гит
тупо выучил, спросили чем отличается интерфейс от типа - дал ответ.
но не использовал никогда typescript
тупо выучил ответы
Есть такой селектор
https://developer.mozilla.org/en-US/docs/Web/CSS/:first-child
$(".test div:first-child")
>>88733
Потому что в переменную сохраняется ссылка на объект.
Представь, что объект это коробка.
Тогда переменная будет только ярлык на этой коробке.
let label = {isBox: true}
При первых присвоениях там на первой коробке висят два ярлыка. Дальше внутри цикла ярлык dummy пошли переклеивать на другие коробки (объкты). Это никак не влияет на первую коробку и на оставшийся head на ней.
>$(".test div:first-child")
Видел этот способ, он единственный? Неужели никак нельзя как в ваниле с помощью индекса?
Например, 70% работодателей в этой стране и 90% работодателей за рубежом? Ну это так, мелочи. Ты не парься. Свои 20к без вышки ты заработаешь, так что все заебись.
https://api.jquery.com/first/
https://learn.jquery.com/using-jquery-core/jquery-object/#getting-elements-into-the-jquery-object
https://api.jquery.com/get/
Тебя шапка сразу просит сделать песочницу. Метод со скобками должен работать. Но у тебя он не работает и мы не ебём почему.
И если тебе надо "ещё как нибудь" иди и сам копайся в документации.
>>88847
Очень понравился. Я аж ответил. А тебе ответ не понравился? Чем?
Я блядь в час ночи выясняю, как в Жиквери по индексу элемент получить в 2020.
ХЕЛЛОУ ДАРКНЕСС МАЙ ОЛД ФРЕНД
По индексу вернётся уже не Жикверя
$('.test div')[0] --> HTMLElement
надо из этого снова объект Жиквери делать
$($('.test div')[0])
Проще пользоваться get методом конечно же.
На работе и выучишь. Главное морду мыслящую криви перед начальством, типа ты думы думаешь.
с мидлом то все ясно, но что ожидать от синьерских вакансий?
Прям эталонный выебщик.
Спредонул всю коллекцию произвольной длины, чтоб получить _первый_ элемент. И ушёл победителем.
Да, не вижу в этой ничего плохого.
Зачем экономить на спичках?
Вот если бы там было 100 000 ссылок, тогда да...
но такого не бывает в фронте, максимум пару тысяч.
Анон, не переживай, запомни самое главное - ты все учил и делал сам, а это многое значит в наше время. Продолжай дальше искать и через какое-то время ты обретешь свою удачу. Главное не опускай руки и всегда думай об это >>ты все учил и делал сам, а это многое значит в наше время
Бот для телеги на на ноде
>с мидлом то все ясно, но что ожидать от синьерских вакансий?
Софт скиллы пиздобольство.
Умение продать кнопку как неебаться новую теху, в которую заказчик должен влошиться.
Умение разгружать крудошлёпство на подчинённых макак.
Проблема в следующем:
В Fiebase есть запись, в ней хранятся объекты todo. Я получаю их с axios в виде объекта. Теперь вопрос:
Как их выводить на странице? Так как это объект с объектами внутри, map не работает. В планах было так: в TodoList.tsx вызываю метод класса Firebase.ts, который возвращает массив с todo-объектами и разворачиваю его с помощью map. Как сделать правильно?
Код из 2 и 3 скринов неактуальный, пока не придумал верного решения
Спасибо за добрые слова анончик.
Удалите это сообщение пожалуйста...
То есть не появляется в коде, приходится использовать .attr(), а точнее .data() помещает эти данные в память, но не в сам код, почему?
const pause = (ms)=> new Promise((resolve)=>setTimeout(reslve, ms)
await pause(3000)
мимо стажер JS
Использую для получения результата jquery, отсюда вопрос сколько времени ждёт .done(function(){}) прежде чем начнёт выполнять функцию, что будет если один из серверов будет недоступен? Ведь если сделать очерёдность выполения с помощью if, то при недоступности 1 из серверов, результаты следующего не будут выполнены, а если добавить ещё и else то код растёт в геометрической прогрессии, надеюсь понятно объяснил
И как получить доступ к переменным созданным внутри анонимной функции в .done(function(){}), создавать переменные с помощью const? Не у кого спросить чтобы понять кроме вас посоны, а найти ответ среди тонны информации иногда просто нереально
Ты в массив забыл обернуть, стажер.
>Использую для получения результата jquery
Зря. Так-то 2к20 на дворе.
>jquery, отсюда вопрос сколько времени ждёт .done(function(){}) прежде чем начнёт выполнять функцию, что будет если один из серверов будет недоступен?
Не знал, что, у jquery нет документации.
>И как получить доступ к переменным созданным внутри анонимной функции в .done(function(){})
???
Используй fetch или обертку над ним (axios, etc.). Если нужно последовательно, то .then, если параллельно, то Promise.all.
>>89230
Ну смотрите, сделаю я с помощью Promise последовательно, а что будет если например 3 сервер неработает, разве код не зависнет на получении данных с 3 сервера? Ну или если даже пропустит его из-за долгого ожидания, а вдруг после этого 3 сервер пришёл ответ, что тогда, короче я завис, у меня по умолчанию выводятся поля от всех серверов, и после обращения к серверам те что не ответили, должны скрыть свои поля, а те что ответили заполнить их, а тут получается что 3 сервер поздно ответил и код сочёл что он недоступен и удалил его поле, а сервер то на самом деле жив, просто задержался, надеюсь понятно разъяснил, снова
>Зря. Так-то 2к20 на дворе.
А что в 2020 модно? Мне казалось jquery это всегда актуально, особенно если движок сайта сам его подключает по дефолту
Мне кажется, если он жквери пользуется, это обычный кабанчик, который хочет свой сайт в интернете продвинуть, а на программирование ему срать. Поэтому учить он ничего не будет.
Спасибо, стажер, я тебя понял.
А что не так с жквери? Это же просто библиотека для упрощения конструкций. Что в этом плохого?
Мимо
Тебя в гугле забанили? Инкапсуляция, например.
>что будет если например 3 сервер неработает, разве код не зависнет на получении данных с 3 сервера?
Ну так поставь таймаут реквесту.
>Ну или если даже пропустит его из-за долгого ожидания
Это как вообще?
>должны скрыть свои поля, а те что ответили заполнить их
Ок сделай такую логику, в чем проблема?
>получается что 3 сервер поздно ответил и код сочёл что он недоступен и удалил его поле, а сервер то на самом деле жив, просто задержался
Ну а клиенту-то откуда знать что там с сервером происходит? Ты определился бы для начала какую логику вообще хочешь реализовать.
>А что в 2020 модно?
Ванильный JS.
на практике рано или поздно встречаются много манипуляций с дом и какая-то логика , с JQ все в кашу превращается, лучше Vue взять
Так я о том и говорю, для веб-программирования жуквери не нужен
Что тут не так?
async function getById(id) {
event = await fetch(`URL`).then(res => res.json());
return event;
}
Эта асинхронная фнукция вызывается внутри синхронной, хочу свой объект, а получаю висящий промис.
Кстати да, забыл добавить, мне это нужно для сайтика, так что не пойму почему jq плохо, ведь это тоже самое что и ванила, только код в разы короче
>>89270
>Ванильный JS
В 2019 писали что я долбаёб из-за того что улетаю по ваниле и использовать jq, типа это проще, а теперь уже долбаёб из-за того что ушёл с ванилы
Я просто хотел сделать по минимализму, не хочу городить тонну кода с кучей условий чтобы результаты обрабатывались и выводились в нужной мне последовательности, а ебучие api возвращают результаты с ебучим рандомом
Что почитать про HTTP и работу браузеров для уровня хотя бы джуна фронтенда?
async-функции всегда возвращают промисы, в этом их смысл.
Типа медленно работает? Думаю для пары десятков запросов в браузере будет незаметно
ну если твой потолок карьеры это сайты визитки с окладом 30к в месяц - то проблем нет, JQ хорош.
Ну да ведь константы виноваты в том что ты как долбоеб пихаешь их повсюду, а не только там где они нужны.
Бедного мальчика оскорбили :(
А теперь я полагаю, анон виноват, что ты такой тупой?
$.getJSON("demo.json", function( result ) {
console.log( result );
}).done(function() {
alert( "success" );
})
Я думал то что в .done() выполнится только после полного выполнения кода в самом запросе getJSON, но он выполняется сразу же как сервер отдаст ответ, так какую переменную подставить вместо .done() или что дописать, чтобы алерт выполнился только после полного выполнения кода в самом запросе, в данном примере только после выполения консоль лога, .always() и .then() тоже пробовал, не помогло, код выполняется раньше, чем то что в самом getJSON
Ты свой говнокод полностью показывай, долбоеб. Если брать твой пример, то всё выполняется последовательно.
А так
$.getJSON("demo.json", function( result ) {
setTimeout(function(){
console.log( result );
}, 3000);
}).done(function() {
alert( "success" );
})
Тоже самое, сначала у тебя запустится таймаут, потом result в консоле, и после этого начнётся блок done.
Блин, ну попробуй туда дохуя консоль логов засунуть, или что-то что выполняется асинхронно, но не моментально, а с задержкой, тогда сперва исполнится алерт, а потом консоль лог, у меня там вместо консоль лога куча кода работающего с DOM, и вот пока этот код отрабатывает, алёрт уже выполняется, из-за чего происходит ошибка
Так я тебе, долбоебу, еще вчера написал. Пиздуй на javascript.info и учи азы. Нет, ты продолжаешь душить своими тупыми вопросами и своим ненужным jquery.
Если ты хочешь чтобы код в done выполнился после setTimeout, то JS так не работает. Иди читай по event loop и про то как работает setTimeout.
А вообще это какой-то адский тупак делать асинхронную логику на коллебках, когда есть православный промисы и async/await.
Мне нужно просто чтобы код 3 выполнился только после выполения кода 2, а тот чтобы выполнился только после кода 1, вот пример подробнее, setTimeout я просто хотел сделать задержку для примера, неудачный был пример
$.getJSON("demo1.json", function( result1 ) {
console.log( result1 );
}).done(function() {$.getJSON("demo2.json", function( result2 ) {
console.log( result2 );
});
}).done(function() {$.getJSON("demo3.json", function( result3 ) {
console.log( result3 );
});
});
Сейчас из-за разного времени ответа сервера или из-за количества кода, очерёдность вывода может быть рандомной, консоль лог здесь просто для примера, как правильно раставить код чтобы он выполнялся поочерёдно, но данные с серверов грузились одновременно, чтобы не создавать задержки, синхронное выполнение тоже не подойдёт, так как приостановит загрузку страницы
Спасибо за совет, только вот думаю jq преобладает над ним, все скрипты в основном на jq
Ога. А Vanilla JS преобладает над жуквериком. И что ты будешь делать?
охуенная статистика, лучше ничего не смог придумать?
>This jQuery XHR object, or "jqXHR," returned by $.getJSON() implements the Promise interface, giving it all the properties, methods, and behavior of a Promise
Почему мне за тебя нужно доку читать?
https://jsfiddle.net/pozgqsba/
Братик спасибо, но мне надо было на jq
Посоны я уже решил эту задачу, результат показывать мне стыдно, но там в конце огромная куча скобок, вложил все действия друг в друга, зато работает как надо, спасибо jqмать твою ебал
Анон, я просто не задрот в этой хуйне, мне большинство терминов просто ни о чём не говорит, больше понимаю на примерах и без использования новых стандартов экмаскрипт, когда я учился, констант и стрелочных функций ещё просто не былоно спасибо
>без использования новых стандартов экмаскрипт, когда я учился, констант и стрелочных функций ещё просто не былон
Так иди их изучи, дедуль. Стыдно в 2к20 промисы не знать.
В 2010 говорили что я школьник, в 2020 называют меня дедом
Блять, время, сука, ты куда
>В 2019 говорили что ванила для даунов, делай всё на jq
В 2009 ты хотел сказать? Так-то jQuery давно уже говноедская либа.
Неужели индустрия в 2020ом году еще не развилась до этой стадии. У нас тут игры скоро будут в браузерах запускать и стримить на клиент, а вы до сих пор кодите и засираете свою рабочую машину вместо того чтобы один раз создать удаленное рабочее окружение и не беспокоится ни о чем.
В дополнении напоминаю:
VSCode: электроноговно, отдельный браузер для одного приложения, интерпретируемая скриптопараша, умудряется ахуенно жрать ресурсы и тормозить как ебанутая на топовых железках при большом количестве файлов в проекте. Блокнот с плагинами вместо IDE
WebStorm: получше но java. Jvm говно жрет так же, но уже скомпилированный байткод работает гораздо быстрее. Полноценное IDE. Плюс полноценный коммерческий продукт с нормальной тех поддержкой и всей этой хуйней.
Visual Studio: С++, двоичный код просто летает на железке минуя уебищные абстракции в лице уебищной виртуальной машины. Ресурсов жрет поменьше одностраничного PWA-говноприложения. Коммерческий продукт причем не от каких-то левых пидорасов которые шкерятся в Чехии, а от софтверного гиганта индустрии, самой ебать ее в рот Microsoft. Из этого выходит недостаток что полностью анально вендерлокнута на продукты компании. Плюс вставляет телеметрию в бинарники.
Так что выбирать то? Vim и Emacs не предлагать
Просто черный экран. Зашел в инкогнито чтобы без расширений. Просто ахуенно спасибо братан
Это чуть ли не единственное решение на рынке, если хочешь из браузера работать. Я бы на твоем месте не поленился пофиксить.
Хочу вкатиться в жабу, но с какого-то хуя от бэкендера требует знания html/css/javascript и еще react. Что за хуйня? Я на веб разработчика фронтовика устраиваться пришел что ли?
Все прекрасно работает. Ты GPU-акселерацию что ли в настройках Хрома отключил, хакер мамкин?
>требует знания html/css/javascript и еще react.
Хрюши пишут все знакомые слова в вакансию скорее всего. Ну и на базовом уровне html/css/js учатся за пару дней
Хз, я хоть я знаю это всё, на работе не понадобилось ни разу. Даже не спрашивали. Сервер пишут одни кодеры, клиент - другие.
У компании нет денег на отдельного фронтэндера, поэтому фротэнд придется писать вам.
Зачем если у меня bf4 на ультрах в 60 кадров в мультиплеере? Зачем обновлять железо, если проблема в низкопроизводительном софте и нежелании софтверных гигантов с многомиллиардными бюджетами и лучшими профессионалами индустрии сделать нормальный рабочий продукт? Где WebAssembly блять? В 2013ОМ СУКА в огнелисе запускали демку UNREAL ENGINE 3 НАХУЙ, и она нормально работала и СПУСТЯ 7 ЕБАННЫХ ЛЕТ НИХУЯ НЕ ИЗМЕНИЛОСЬ. Что не так в этой индустрии?
Скорее всего из-за видеокарты 2007-го года просто НЕ ПОДДЕРЖИВАЕТСЯ
Один пример охуительнее другого. Какое отношение твоя видеокарта имеет к быстродействию IDE?
А почему тогда Notepad++ или Sublime Text на каком-нибудь ебанном i3 спокойно летают, а это электроноговно вовсю тормозит и жрет больше 100mb ram?
Я к тому что схуяле спустя 7 лет веб до сих пор пишут на js, а не на том же каком-нибудь c# c blazor, и при этом современные страницы по внешнему виду нихуя не отличающееся от говна из 2014го сейчас жрут больше и тормозят сильнее?
VIM
Потому что браузеры поддерживают только JS?
Потому что хтмл + ксс + жс поддерживают респонсив из коробки, а для с++ придется городить велосипеды.
Так мне полноценная среда для веб разработки на крестах нужна. Неужели ничего качественного нет?
> им дала WebAssembly
Нет, пока что не дала, нет доступа к DOM. Можно дёргать дом через JS, но тормозить это будет как JS.
Что-то маргинальное, никогда не слышал и не видел чтобы кто-то в них работал. Наверняка проблемы начнутся уже на этапе поиска плагина для преттиера или TS.
Нет, это когда ты компилируешь исходник на плюсах или расте в специального вида бинарник и скармливаешь его виртуальной машине в браузере, а машину запускаешь через жс.
Вот есть у меня например фронт на реакте. Если я сделаю ГЕТ запрос на сервер, то я получу ответ. И если я сделаю ПОСТ запрос, я тоже получу ответ. Так вот если я прописал эти запросы руками где то в реакт аппе, то когда нужно делать ГЕТ запрос, а когда ПОСТ? Ведь результат тот же. Есть ли вообще смысл делать разные запросы?
То есть например мне надо получить дату с бд. Я делаю пост запрос и жду пока прийдет ответ, тогда рендерю это всё. Можно ли здесь (и всех подобных случаях) делать только пост запросы? Почему?
А если я бэк пишу? Когда мне писать ответы для пост запросов, а когда для гет? Ну ты понял, все упирается в вопрос когда что юзать.
Потому что сейчас уже 2020, все пишуть на фреймворках, а не на жиквери блядь
Пасиба ебать
Я им задал конкретный вопрос, а меня и дальше гуглить посылают. Как будто я этого не делал. В час смысл вообще тогда у кого то что то спрашивать, если все равно пошлют гуглить?
А нахуя? Ты числа дробить в браузере собрался?
Так-то фронтенд состоит из кучи fetch и обновления DOM.
>Что то я тупой, или где в js аналоги pause или wait
Во из-за таких вкатывальщиков меню варкрафта и тормозит
Ну вот все и было хорошо пока веб использовался для того для чего и предназначался, для обмена html страницами. А потом эти долбаебы решили что давайте замутим полноценные веб-приложеия, spa, pwa, huiwa, и все пошло по пизде.
Все веб-программисты понимают что GovnoScript это ужаснейшая ошибка истории и трагедия всей индустрии, также думает его создатель. Но отказываться от него пока никто в наебизнесе не планирует. Да и кодерам похуй на индустрию в целом, они здесь за баблом а не идеей. Пока деньги платят, готовы делать любое говно в кратчайшие сроки, и похуй что у большинства пользователя на хороших машинах лагает, ПУСКАЙ ОБНОВЯТСЯ.
Поддерживая все это мракобесие вы полностью заслуживаете такую дерьмовую реальность. Продавайте дальше свою жопу за деньги в попытках гнаться за фантомным успехом.
> Ну вот все и было хорошо пока веб использовался для того для чего и предназначался, для обмена html страницами. А потом эти долбаебы решили что давайте замутим полноценные веб-приложеия, spa, pwa, huiwa, и все пошло по пизде.
> Все веб-программисты понимают что GovnoScript это ужаснейшая ошибка истории и трагедия всей индустрии, также думает его создатель. Но отказываться от него пока никто в наебизнесе не планирует. Да и кодерам похуй на индустрию в целом, они здесь за баблом а не идеей. Пока деньги платят, готовы делать любое говно в кратчайшие сроки, и похуй что у большинства пользователя на хороших машинах лагает, ПУСКАЙ ОБНОВЯТСЯ.
> Поддерживая все это мракобесие вы полностью заслуживаете такую дерьмовую реальность. Продавайте дальше свою жопу за деньги в попытках гнаться за фантомным успехом.
Гидроцефал ты?
Сразу видно, что чтобы взяли кодером в близзард, достаточно знать JS на уровне "а что, джава и джава скрипт это разные языки?"
Идея о том, что всё лагает, потому что всем похуй, не нова, см. bloatware. И до JS эти разговоры были, и после него будут.
>Потрачу силы чтобы пукнуть гринтекстом и прикреплю картинку с дегенератом ведь мне нечего ответить
Есть смысл спрашивать о чем-то нестандартном. Если на твой вопрос есть миллион ответов в гугле, то спрашивать на дваче\форуме\ирл и правда бессмысленно
Во, у меня есть нестандартный вопрос. Пришли мне значит несколько задач с одной из вакансий и для правильного ответа надо бы знать jquery, который я не знаю и о котором ни слова в вакансии не было.
Внимание вопрос - подразумевается, что я погуглю, разберусь и отвечу правильно или всё, я слился? Задачи обязательны.
Я написал бэк на ноде, ORM сиквелайз.
Как реализовано - подключение к базе находится в модуле
orm_model.js, из этого модуля я экспортирую модели таблиц tables.
Я правильно понимаю - при старте сервера выполняется модуль orm_model.js, создаются требуемые объекты таблиц, и они грубо говоря "зависают" в области видимости. И каждый раз когда из разных контроллеров (в которые импортирована эта модель таблицы) - я обращаюсь к одному и тому же объекту таблицы?
>для правильного ответа надо бы знать jquery
Ты уверен? это же просто обертки над стандартным функционалом, ты все можешь на чистом жсе сделать.
>погуглю, разберусь и отвечу правильно или всё, я слился?
Ну и конечно погугли, jquery отчасти потому и хейтят, что в него вкатиться может любой даун
Оч странно, я в своё время его не осилил, предпочитал всё делать на ванилле. А затем он сдох, ура.
мимо
> Ты уверен?
Да. Там надо сказать, что сделает уже написанный скрипт на jquery. Просто если допустить, что мне на собеседовании дадут задания с жквери, то я скорее всего не отвечу, без хорошего знания синтаксиса жквери.
Не то что бы остальные вопросы я щелкал как орешки - там такие нюансы, с которыми я не сталкивался или сталкивался и не считал нужным запоминать.
Так что лучше действительно перед поиском работы зажрочить типовые вопросы.
> >Потрачу силы чтобы пукнуть гринтекстом и прикреплю картинку с дегенератом ведь мне нечего ответить
>https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields
>Private instance fields are declared with # names (pronounced "hash names"), which are identifiers prefixed with #. The # is a part of the name itself. It is used for declaration and accessing as well.
Что еще спизданешь?
Так может сам статью прочитаешь, которую кинул? там наверху четко написано
>his page describes experimental features.
>Both Public and private field declarations are an experimental feature (stage 3) proposed at TC39, the JavaScript standards committee.
Напишите программу, которая запрашивает у пользователя число, пока оно не станет меньше или равно 100.
Когда это будет сделано, улучшите его так, чтобы число составляло от 50 до 100
Пробовал через цикл вайл, но не знаю как выводить промт снова когда он уже объявлен в переменной
Какой же ты тупой, я просто в ахуе.
Вот это дегенерат.
Ну типо иф(больше сотки) {пусть ещё вводит через промпт} элс { иф(число меньше пятидесяти ) {отними его от сотки и верни} элс{ретурн} }
Что значит "улучшите число"? Все числа итак хороши.
Но ведь ты кукарекал про то что это есть только в ТС, а теперь у тебя оказывается это есть, но только в виде экспериментальной функции.
Da. Sosi hui
Ну так объяви ее, в чем проблема. Тебе каждый шаг разжевывать?
В том сообщении подразумевалось, что объявить переменную ты осилишь. Видимо, тебя переоценили.
Справедливо.
Ну смотри:
let i;
while (i >= 100) {
i = +prompt ();
}
Переменная объявлена, но все равно не работает
Говорят, если не писать, можно в какой то момент отупеть настолько, что не сможешь в нормальные языки.
А ты уверен, что у тебя условие выполняется в первый раз?
>пока оно не станет меньше или равно 100.
>while (i >= 100)
В голос с дегенерата. Такой даже в макдональдс вкатиться не сможет.
Какая на хуй разница если код все равно не работает, такие мелочи во время теста фиксятся
Лолблядь. Я теперь понял, почему джаваскриптеры любят NoSQL.
https://codepen.io/elnar1995/pen/VwYoEzO?editors=0012
Держи свой код, но тебе с таким уровнем интеллекта точно следует подумать о выборе другой профессии
let i;
do {
i = prompt();
}
while (i >= 100)
Разве не ду вайл надо?
Хм, странно, у меня наверное браузер тупит
let number = prompt();
while (number > 100 || number < 50) {
number = prompt("Число слишком большое или маленькое");
}
Перекати.
Можно же еще так:
let number = 101;
while (number > 100 ) {
number = prompt();
}
Короче получается.
Конст же вообще не нужен, если никто не будет переопределять мои переменные. А с чего бы их переопределять. А вот отличие между вар и лет...
Какой функционал чаще всего реализовывают?
Работающие аноны, расскажите плиз, что чаще всего делаете.
Сделать формочку, пофиксить баг - 95% задач.
всмысле не нужен, const в 99% используется в коде, а let очень редко
var используется только в блядо-черве-пидорских-проектах 2000 годов))
ты ебнулся? твои слова:
>На жс уже давно ввели приватные поля классов.
Нет, не ввели. Экспериментальные функции != введенные. Точно так же еще не ввели в стандарт a?.b?.c?, оператор ??, и т.д.
> всмысле не нужен, const в 99% используется в коде, а let очень редко
Ну а если конст заменить на лет абсолютно во всех случаях - что-то сломается? Допустим одинаковых наименований нет.
нет,пофиг, но тут семантика если я вижу переменную let speed =1000
я тчоно понимаю что где-то ниже она меняется.
а если вижу const , то я спокоен.
есть конечно петухи которые исопльзуют const speed =[]
и делаю speed.push(1) , но это выблядки пиздец.
Их ввели, но тестируют. Не введённые это те, которые ты не можешь использовать. Приватные поля ты прямо сейчас можешь использовать в хроме, например.
>есть конечно петухи которые исопльзуют const speed =[] и делаю speed.push(1)
Так и надо делать.
эти типа передать ссылку в аргумент функции?
Допустим есть функция а я передаю туда Math аргументом, типа инъекцировал зависимость.
Пруфы чего? Того, что если массив постоянно используется, то желательно, чтобы этот массив всегда оставался массивом, а не равнялся null или текстовой переменной? Если тебе нужны пруфы этого, то пришло время для тебя пройти учебный материал сайта javascript.info
Ты ножкой топнуть забыл.
Спасибо, а написать из ангуляр ио херо лист что такое не знаете?
Ну и? const не даст присвоить переменной не нужное значение, мутации это не про способы объявления. Если тебе нужен иммутабельный объект, то для тебя создали Object.freeze.
Есть 4 картинки, нужно по клику на стрелку выбрать следующую после "selected-image" картинку.
То есть у меня как бы в массиве есть 4 картинки. Как средствами jQuery получить следующую после "selected-image"? На пикриле результатом должно быть $('.t')[2]
А хрен его знает
Потому что ты мне запрещаешь? Пишу приложение используя Electron, использую приватные и публичные поля. Проблемы?
Но в таком случае будет images.findIndex is not a function, у меня же const images = $('.t')
Но ведь они передумают, и твой код перестанет работать
Сделай const images = [...$('.t')]
>JQ
>$('.t')[2]
как хорошо что я сделал выкатку из JQ 5 лет назад.
пиздец там говнокодеры я ебу.
Ты прав, все так.
Но ты экономишь на спичках
оправдано лишь при 1000000+ элементах
встречал ли ты на фронте такие массивы?
Первое решение - перебрал циклом фор оф массив и сделал всё, что надо, сформировал новый массив, вернул, всё как надо получилось.
Теперь нужно отличное от прошлого решение - как думаете, если я через forEach сделаю, это уже будет другое решение? По сути внутри форича будут конструкции, как в первом решении. Чего-то принципиально отличающегося мне в голову пока не приходит.
Наверное через мап сделаю - выглядит как то, что я с форич собирался делать, только некоторые вещи за меня сделает.
Качественные оптимизации я считаю оправданными. Если так хочешь иммутабельность, то есть immutablejs.
Если полная запись выглядит так
> a && a.b && a.b.c
, не логичнее ли использовать амперсанд и для сокращенной?
> a&.b&.c
ПЕРЕКАТ https://2ch.hk/pr/res/1591066.html (М)
ПЕРЕКАТ https://2ch.hk/pr/res/1591066.html (М)
Для чего мне библиотека?
Наипши кейс где тебя спасет push вместо создания нового массива?
кейс это данные из 100 000 строк. такое существут в фронте?
нет.
все равно идет либо виртуализация, либо пагинация всегда
что взять в новый проект?
Ты точоно понимаешь что такое внедрение зависимости, и соответственно инверсия управления?
Я не доебаться ради.
ну конечно, если говорить грубо, то передача ссылки на сущность, которую можно использовать в классе, функции как зависимость.
такая хуйня была даже в JQ через самовызывающиеся фуцнкции
такое есть в TS , но это в виде костыля реализовано.
Знаю что не любит русских и работает в гитлабе
dddddddddd
Вы видите копию треда, сохраненную 9 марта 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.