Сохранен 537
https://2ch.hk/pr/res/1520569.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

JavaScript.thread = Number(`147`); /js/

 Аноним 14/11/19 Чтв 01:39:32 #1 №1520569 
image.png
Предыдущий: >>1511559 (OP)

НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Для программирования на ХТМЛ https://codepen.io/pen/
Для Ноды с консолькой https://repl.it/languages/nodejs
Для фреймворков https://codesandbox.io/
Залить, задеплоить страничку, сервер, контейнер https://zeit.co/now

Аноны, хочу получить советов мудрых, высераю пару предложений и код на скриншоте, а получаю смехуёчки. Как быть?

Если рассчитываешь получить дельный ответ, формулируй правильно вопрос:

У меня есть проблема\задача (А) %текст-ошибки или задача%. Я пытался решить ее так %кусок-кода-опционально% (Б), у меня не вышло %текст-ошибки%. Я погуглил, почитал документацию и попробовал сделать так %кусок-кода-%(В), но получаю ошибку (Г).

Сделай песочницу по ссылкам выше для ясности и удобства. Если никогда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Аноним 14/11/19 Чтв 04:29:49 #2 №1520601 
ВСЕ СРОЧНО!!!! ПЕРЕКАТЫВАЙТЕСЬ НА ВЬЮ!!!!
Аноним 14/11/19 Чтв 04:48:26 #3 №1520607 
>>1520601
Говно без задач для нежс макак
Ни в какое сравнение с ангуларом и тем более реактом не идет
Аноним 14/11/19 Чтв 04:52:52 #4 №1520608 
Что лучше: промисы или асука/авата?
Аноним 14/11/19 Чтв 05:10:18 #5 №1520609 
8dda810e0b0626c084d292a70d39b50a.jpg
>>1520608
Асука это сахар над промисами упрощающий работу с ними. То есть выбор лежит - использовать промисы как пещерный человек или же как цивилизованный.
Аноним 14/11/19 Чтв 05:13:08 #6 №1520610 
>>1520569 (OP)
WTF?

./node_modules/react-router-native/NativeRouter.js
Module parse failed: Unexpected token (10:30)
You may need an appropriate loader to handle this file type.
| user confirmations via Alert by default.
|
/
| const NativeRouter = props => <MemoryRouter {...props} />;
|
| NativeRouter.propTypes = {
Аноним 14/11/19 Чтв 05:14:53 #7 №1520611 
Когда там мультитредин завезут? Хочу с мьютексами ебаться!
Аноним 14/11/19 Чтв 05:40:21 #8 №1520613 
>>1520611
А такую возможность в жс где-то обсуждали? Я не в курсе.
Аноним 14/11/19 Чтв 07:21:36 #9 №1520627 
Бублики на месте?
Аноним 14/11/19 Чтв 08:13:37 #10 №1520641 
пукнул в колл стэк
Аноним 14/11/19 Чтв 09:04:22 #11 №1520653 
>>1520613
Тута мы, родимые, бубликовые автоматы.
Аноним 14/11/19 Чтв 09:44:18 #12 №1520657 
>>1520609
Промисы это таски с шарпов. асинк / аваит пришел от туда же.
Аноним 14/11/19 Чтв 09:48:14 #13 №1520659 
>>1520657
Как это меняет то, что asynk функции в js это обертка над promise api?
Аноним 14/11/19 Чтв 09:49:59 #14 №1520662 
>>1520659
а async
Аноним 14/11/19 Чтв 09:52:19 #15 №1520663 
>>1520659
Да ничего, просто хотел выебнуться.
Аноним 14/11/19 Чтв 09:56:26 #16 №1520665 
>>1520663
Ну шарпик норм. От туда можно тащить, ничего против не имею.

Я еще поддерживаю пиздинг из питона, особенно его подход к работе со списками.
Аноним 14/11/19 Чтв 10:18:42 #17 №1520671 
496x323052bad959c8814b878036835eac9fd761@496x3230xd42ee4309[...].jpeg
Аноны, можете пояснить за одну хуйню? Боюсь брать задачи на работе, есть страх что не справлюсь или не успею. Задачи легкие, но постоянно боюсь этого. Боюсь обращаться. Работаю всего 2 недели, до этого никогда не работаю.
Беру таски через страх, знаю что справлюсь, но все равно боюсь. Как фиксить?
Аноним 14/11/19 Чтв 10:25:38 #18 №1520679 
>>1520671
Задачу нельзя не выполнить, просто на нее потребуется больше времени. Смирись, будешь затягивать сроки, проебывать дедлайны, гуглить 90% рабочего времени. Ну и со временем пройдет, с опытом будешь примерно понимать сколько времени требует та или иная задача.
Аноним 14/11/19 Чтв 11:29:59 #19 №1520747 
Посоветуйте какой-нибудь бесплатный node js сервак, на котором можно тестировать свои проектики с последующей возможности купить полноценную версию.
Аноним 14/11/19 Чтв 11:45:31 #20 №1520774 
>>1520747
heroku
Аноним 14/11/19 Чтв 11:48:02 #21 №1520776 
>>1520747
Ну zeit же в шапке есть
Аноним 14/11/19 Чтв 11:49:50 #22 №1520778 
А какие есть популярные приложения на electron? А то я могу только вспомнить всякие проги для девелоперов. Для обычных людей есть что?
Аноним 14/11/19 Чтв 11:50:37 #23 №1520779 
>>1520774
Я кстати не так давно пытался на хероку запустить дискорд бота, после 5-10 минут он стабильно падал и его приходилось перезапускать. Это у меня руки кривые или хероку теперь не поддерживает постоянный хостинг бесплатного говна?
Аноним 14/11/19 Чтв 11:52:08 #24 №1520781 
>>1520778
Дискорд
Аноним 14/11/19 Чтв 11:57:13 #25 №1520787 
>>1520778
cross code например на node-webkit. не электрон, конеш, но суть та же.
Аноним 14/11/19 Чтв 12:04:15 #26 №1520801 
>>1520787
Я раньше думал, что это игра, где надо код писать в геймплее, а оказалось обычный платформер.
Аноним 14/11/19 Чтв 12:13:29 #27 №1520813 
>>1520747
Скачай дистрибутив с оф сайта. Ставится в два клика, работает без проблем.
Аноним 14/11/19 Чтв 12:44:41 #28 №1520855 
Вкатываюсь в жс из жабы, читаю exploringjs. Это пиздец, товарищи. По сравнению с простой, как два пальца, жабой, жс выглядит как язык для надмозгов.
Аноним 14/11/19 Чтв 12:49:52 #29 №1520860 
>>1520779
Читать умеешь?
https://www.heroku.com/pricing
>FREE
> SLEEPS AFTER 30 MINS OF INACTIVITY
Аноним 14/11/19 Чтв 12:50:00 #30 №1520861 
>>1520855
Предатель.
Аноним 14/11/19 Чтв 12:50:21 #31 №1520862 
>>1520855
какую именно книку читаешь, что не понятно?
Аноним 14/11/19 Чтв 13:38:26 #32 №1520905 
>>1520860
В том то и дело, что она даже 30 минут не работал, а 5-10. Вообще дело было месяца 4 назад, я все облазил, но этой таблички не нашел, спасибо за инфу
Аноним 14/11/19 Чтв 13:40:01 #33 №1520907 
>>1520855
Да, нужно иметь минимум 150 icq для вката
Аноним 14/11/19 Чтв 13:50:04 #34 №1520912 
>>1520907
Наоборот в жс идут дебилы, не осилившие нормальные языки.
Аноним 14/11/19 Чтв 13:53:27 #35 №1520917 
>>1520912
всегда поражаюсь таким долбоёбам как ты, на чём ты фронт ещё писать будешь?
Аноним 14/11/19 Чтв 13:55:29 #36 №1520920 
>>1520917
На жабе
Аноним 14/11/19 Чтв 13:56:19 #37 №1520921 
fdf683c8c68bb41b3c95bdddcc3fe043.jpg
>>1520917
html + css
Аноним 14/11/19 Чтв 13:59:30 #38 №1520923 
>>1520917
Ни на чем. Я бэкендером буду, в не формошлепом.
Аноним 14/11/19 Чтв 14:00:15 #39 №1520924 
>>1520920
Думаешь пошутил? А есть Vaadin
Аноним 14/11/19 Чтв 14:03:32 #40 №1520927 
>>1520855
Просто переходной шок. Джава сложнее, на самом деле. Тут просто вопрос привычки к слегка другим концептам и направлениям программирования.
Аноним 14/11/19 Чтв 14:04:55 #41 №1520928 
>>1520924
> Vaadin предлагает сервер-ориентированную архитектуру, базирующуюся на Java Enterprise Edition

С таким же успехом можно и на ассемблере писать.
Аноним 14/11/19 Чтв 14:07:16 #42 №1520933 
image.png
>>1520862
https://exploringjs.com/es6/index.html
По содержанию, как я понял, нечто среднее между пересказом стандарта и книгами типа how to breathe for dummies. В принципе, всё понятно, но присутствует ощущение какой-то неконсистентности, что-ли. Хотя, скорее всего, я просто не вкурил. Закрамлю сегодня сколько смогу и завтра видно будет, сможет ли мозг что-то внятное собрать. С другой стороны, жаба показалась мне простой как спичка, ибо я начинал вкуривать её снизу вверх, по статьям о всяческих кишках жвм, и на выходе у мозга было достаточно полное представление о том, как это всё говно на самом деле работает.
Аноним 14/11/19 Чтв 14:16:17 #43 №1520940 
>>1520933
так эта книга про es5 => es6 , в основном пересказ стандарта. Ну и вообще в js нет хороших книг по языку, лучше сразу начать что-то писать и посматривать в mdn.
Аноним 14/11/19 Чтв 14:17:12 #44 №1520941 
>>1520923
ФРОНТЭНД НИНУЖЁН, БУДУ HTML ОТДАВАТЬ, ВАЩЕ ЛЕТАТЬ ВСЁ БУДЕТ
Аноним 14/11/19 Чтв 14:30:15 #45 №1520964 
>>1520928
А ты хочешь джаву на фронте и ноду на бэке? Ебанулся шоль?
Аноним 14/11/19 Чтв 14:31:56 #46 №1520967 
>>1520924
Знаю, его в альфабанке юзают, лол
Аноним 14/11/19 Чтв 14:33:25 #47 №1520973 
>>1520967
Респект им.
Аноним 14/11/19 Чтв 14:34:56 #48 №1520976 
>>1520941
Нужен, нужен. В проекте найдется место для макаки, чтоб формочки рисовать и json посылать серьезным людям.
Аноним 14/11/19 Чтв 14:40:19 #49 №1520987 
92f-kopiya.png
>>1520964
НОДА НА БЭКЕ ЭТО НОРМАЛЬНО!
Аноним 14/11/19 Чтв 14:43:08 #50 №1520994 
>>1520924
>Vaadin
>Google Web Toolkit
>компилится в жс
>последняя версия вышла 2 года назад

Сами ебетись с транспилерами работающими под капотом на мертвом фреймворке.
Аноним 14/11/19 Чтв 15:00:40 #51 №1521018 
image.png
>>1520994
Ты просто не видел ничего кроме жс-мира, где каждые полгода новый фреймворк учат. Java 8 юзается в 80% тырпрайза, хотя вышла в 2015-ом.
Ебать, я угадал про 80%, это я написал до того, как нашел пикчу
Аноним 14/11/19 Чтв 15:49:56 #52 №1521057 
>>1520855
В JS нужно иметь хорошее абстрактное мышление и понимать слегка метапрограммирование.
Аноним 14/11/19 Чтв 15:58:35 #53 №1521059 
>>1521057
Проиграл с поддува
Аноним 14/11/19 Чтв 16:03:00 #54 №1521063 
>>1521057
А лучше разработанную попку
Аноним 14/11/19 Чтв 16:28:02 #55 №1521077 
>>1520679
> Задачу нельзя не выполнить, просто на нее потребуется больше времени. Смирись, будешь затягивать сроки, проебывать дедлайны, гуглить 90% рабочего времени. Ну и со временем пройдет, с опытом будешь примерно понимать сколько времени требует та или иная задача.
Все-таки сделал. После выполненного таска появляется мотивация сделать еще, прокачивать скиллы. Работаю верстаком/js и реактером.
Аноним 14/11/19 Чтв 18:03:49 #56 №1521131 
>>1520855
Тоже из жабы вкатывлся. И не пожалел. Жс гораздо более сильный язык. Особенно когда понимаешь преимущества функционального програмирования в сравнении с допотопным ооп. Плюс такие удобные функции как map, sort, filter. Куча вариантов for. Template literals. В то время как в жабе без мапинга до сих пор по варварски через цикл for перебираются по массивам.
Аноним 14/11/19 Чтв 18:07:52 #57 №1521134 
>>1520855
Чего в кложу не вкатишься?
Аноним 14/11/19 Чтв 18:18:10 #58 №1521142 
Аноны, подскажите пожалуйста.
Я сверстал небольшую карточку, внизу которой у меня название фильма, год и жанр. Расположил их с помощью флексов, однако если у фильма слишком длинное название, он просто переносит его ниже и название фильма накрывает текст под ним. Как такое пофиксить? Названию фильма даю маргин, толку 0.
Аноним 14/11/19 Чтв 18:21:22 #59 №1521148 
>>1521134
Не востребованно. Как и ничего что не эликсир из функциональщины.
Аноним 14/11/19 Чтв 18:22:25 #60 №1521151 
>>1521142
word-wrap
Аноним 14/11/19 Чтв 18:24:51 #61 №1521154 
>>1521131
Тащемта, там в 8 жабе в хэлпер класс Arrays завезли фабричные методы, возвращающие стрим элементов массива.
Аноним 14/11/19 Чтв 18:27:05 #62 №1521157 
>>1521151
Спасибо.
Аноним 14/11/19 Чтв 18:30:45 #63 №1521160 
15711867302020.png
>>1521154
>ебаный массив
>хэлпер класс Arrays
>фабричные методы
>возвращающие стрим
Аноним 14/11/19 Чтв 18:32:35 #64 №1521162 
>>1521131
И че, ты будешь теперь фронт пилить вместо тыртырпрайза?
Аноним 14/11/19 Чтв 18:56:49 #65 №1521180 
>>1521162
Ага. Поначалу только нода была. Но потихоньку и фронт беру на себя. Нажил проблем хуле.
Аноним 14/11/19 Чтв 18:59:56 #66 №1521182 
>>1521180
А ты реально бек на ноде пилил? Что за проекты были?
Аноним 14/11/19 Чтв 19:13:11 #67 №1521197 
>>1521182
helloworld.js
Аноним 14/11/19 Чтв 19:23:29 #68 №1521209 
>>1521182
Нода уже давно убила php/python/ruby и начинает присовывать сисярпу с явой
Аноним 14/11/19 Чтв 19:25:56 #69 №1521211 
Расскажите как вы организуете свои проекты.

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

Скажем "var core = {...}".

Далее уже использую этот объект в проекте непосредственно. Например "core.create.button ({имя: 'имя', параметры: создания}); core.button[id].onclick = f () {}". Суть понятна.

Не знаю почему я выбрал этот подход, но использую его уже много лет. Дошёл до него сам. Изначально просто писал функции где попало, но хотелось структурированности.

Впрочем интересно как вы обычно организуете структуру своих проектов?
Аноним 14/11/19 Чтв 19:39:17 #70 №1521220 
>>1521211
чел, ты из какого года? Все на фреймворках уже давно
Аноним 14/11/19 Чтв 19:46:12 #71 №1521224 
>>1521209
Убержирно натолстил.
Аноним 14/11/19 Чтв 19:50:37 #72 №1521225 
>>1521224
>пук
Аноним 14/11/19 Чтв 19:58:06 #73 №1521231 
господа бекендеры на ноде, расскажите какие проекты писали) кроме лаба1.жс, есественна. востребована ли нода на рынке или проще питонщика нанять? какие плюсы у ноды по сравнению с тем же питоном в контексте вебхуйни?
Аноним 14/11/19 Чтв 20:01:09 #74 №1521235 
>>1521231
я уже третий тред спрашиваю, щас прибегут жаберы из соседнего треда и пояснят, что весь тыртырпрайз на жабе, а нода нахуй не нужна
Аноним 14/11/19 Чтв 20:25:40 #75 №1521252 
3.png
Как запускать react приложения без node js, это нужно бандл через webpack собирать в котором будет сам компонент для отображения? Этот компонент будет иметь отношение к основному DOM или будет иметь свой виртуальный независимый DOM?
Как верстать сайты с использованием react компонентов, в самом приложении реакта просто указывать в каком DIV он будет отображаться?
Аноним 14/11/19 Чтв 20:27:46 #76 №1521255 
>>1521182
Сам не пилил, там до меня уже запилено все. Просто иак сказать поддерживаю его работоспособность. Проэкт... скажем так один из известных телеканалов.
Аноним 14/11/19 Чтв 20:34:22 #77 №1521258 
>>1521255
Т.е. это были какие-то микросервисы с не особо ценной информацией? Была какая-то серьезная бизнес-логика?

Мне просто интересно, какие именно части проектов отдают под ноду
Аноним 14/11/19 Чтв 20:34:25 #78 №1521259 
>>1521252
<script src=...?
Аноним 14/11/19 Чтв 20:35:48 #79 №1521261 
>>1520976
Почему ты сичтаешь фронтендеров мусорными формошлепами, а бекендеров серьезными программистами?
Аноним 14/11/19 Чтв 20:37:24 #80 №1521265 
>>1521259
Вот я вставил js файл, который выплюнул webpack, компонент, который вызывается в определенном div имеет свое DOM дерево отделенное?
Аноним 14/11/19 Чтв 20:46:46 #81 №1521279 
>>1521231
Спрашиваешь какую-то хуйню в вакууме

Современный жс имеет самую лучшую реализацию ФП
Со всеми деструктуризациями и обработками массивов даже из коробки можно переворачивать структуры данных в 2 строчки, что размазалось бы в каких-нибудь петонах с пыхами на несколько вспомогательных методов для каждого случая
Лучшая реализация асинка среди всей веб параши если не в принципе
По бенчмаркам даже оверхеднутый экпресс обгоняет практически всех конкурентов
Аноним 14/11/19 Чтв 21:36:10 #82 №1521299 
>>1521265
Ты о чём?
React рендерится через ReactDOM.render(element, node)
Где element это реактоэлемент, а node - это домовская нода, doucment.getElementById('root')
Аноним 14/11/19 Чтв 21:53:07 #83 №1521309 
Анончки, подскажите:
У меня есть поле инпута, в которое я ввожу текст. После того, как отправляют текст на сервак, он в виде маленького дива появляется под самим полем. Написал такой функционал, что при простом клике на див, текст с него перетекает в инпут, а при двойном клике он удаляется. Сделал удаление через elem.removeChild(). После этого не могу более одного раза что-то отправить с формы, при отправке текста во второй раз происходит краш и всё слетает. Что может быть не так?
Аноним 14/11/19 Чтв 22:15:13 #84 №1521324 
>>1521309
Выложи код на кодпен, по описанию сложно угадать
Аноним 14/11/19 Чтв 22:48:22 #85 №1521339 
>>1521324
>>1521309
https://codepen.io/likefreeman/pen/LYYgaNd
Осторожно, говнокод
Аноним 14/11/19 Чтв 22:57:19 #86 №1521347 
15721769930290.png
>>1521309
>>1521339
Ну так выклади с формами всеми
Твой новый элемент без субмит аттребута если у тебя простые формы и без листенера на отправку если айах

>if (tagList.length === 1)
length массива >= 0 поэтому не нужно писать === 1 поскоку 0 фалсабельный
Аноним 14/11/19 Чтв 23:07:51 #87 №1521354 
>>1521347
>Ну так выклади с формами всеми
Мне тогда придётся почти весь проект впихивать туда. Я только кусок с формой выложил.

Смотри, под импутом есть див, в который я помещаю всё то, что отправляю инпутом. Так-же, чтобы не дублировать одно и то-же я сделал объект, в который добавляю то, что ищем и флаг true/false. Когда происходит дабл-клик, то я удаляю и ДОМа и из того объекта.
Аноним 15/11/19 Птн 03:26:13 #88 №1521412 
>>1520569 (OP)
Существует ли где-нибудь client-side скрипт на JavaScript, для архивации и разархивации zip-файлов в браузере.
Например, у меня есть base64, dataURL, blob или arraybuffer или Uint8Array c байтами или просто hex, и стоит задача сохранить его как zip-файл, задав пароль, а не открытым текстом по HTTP его гнать.
Весь интернет перерыл, не нашёл ничего годного. Многие скрипты что я нашёл - требуют NodeJS.
А надо что-то такое, чтобы в html-файле прописать script src="blahblah.js" и начать с ним работать, без нод-хуёд.

Пока что нашёл только голую имплементацию алгоритма Deflate, вот здесь: https://github.com/dankogai/js-deflate
Хуй знает как с него zip-файл сделать, и как его паролем-то зашифровать.
Есть чё-нить более годное, а посоны?
Аноним 15/11/19 Птн 04:34:52 #89 №1521419 
>>1521412
Первая ссылка в гугле
https://stuk.github.io/jszip/
Аноним 15/11/19 Птн 04:50:15 #90 №1521420 
>>1521419
Я уже видел. test.html - не работает. Какая-то херня в консоли.
Свиду, скрипты похожи на нодные, для node.js, а не для браузера.
Но всё-же удалось открыть и потестить, по этому вот гайду: https://stackoverflow.com/a/52659207
С обычными архивами работает, но как я понял, там нет поддержки zip-пароля, и вводить её не планируют...

А есть чё-нибудь с паролем?

Пока, нашёл тут: https://stackoverflow.com/questions/14829782/generate-a-password-protected-zip-file-in-node-js
некий minizip-asm.js, но он вроде как тоже для ноды,
а не - для браузера.
Аноним 15/11/19 Птн 04:53:49 #91 №1521421 
>>1521209
> php
Все еще жив в своей нише вордпрессов и маджент. Фрилансеры-одиночки любят. Клепают на нем проекты и просят как за настоящую работу. Для них работает.

> ruby
Оно само себя убило

> python
Лол, у него сейчас золотая эра. Это питон теснит всех сейчас.
Аноним 15/11/19 Птн 04:56:18 #92 №1521422 
>>1521211
Вебпак тебе реализует полную инкапсуляцию модулей. У каждого файла будет по сути свой скоуп невидимый из глобала. В глобал можно только явно выкидывать то, что тебе нужно через объект window. Но если ты возьмешь любой нормальный фреймворк, то у тебя и потребности выкидывать что-то в глобал не будет. Ты реально что-то отстал.
Аноним 15/11/19 Птн 05:00:03 #93 №1521423 
>>1521279
> Современный жс имеет самую лучшую реализацию ФП
Даже лучше, чем в чистых ФП языках! А всякие рамбды.жс юзают потому-что в жс самая лучшая реализация ФП искаропки.

>Со всеми деструктуризациями и обработками массивов даже из коробки можно переворачивать структуры данных в 2 строчки, что размазалось бы в каких-нибудь петонах с пыхами на несколько вспомогательных методов для каждого случая

Ты точно работал с питоном?

> По бенчмаркам даже оверхеднутый экпресс обгоняет практически всех конкурентов
...включая GO.
Аноним 15/11/19 Птн 05:19:43 #94 №1521426 
>>1521423
>>1521421

>Даже лучше, чем в чистых ФП языках!
Поянтно что речь идет о вебе

>Лол, у него сейчас золотая эра. Это питон теснит всех сейчас.
Очевидно рынок перенасыщен никому не нужными вышкододиками готовыми работать за копейки

>Ты точно работал с питоном?
Напишите любую датаструктурную хуйню я перепешу это в пару строчек на жсе

>обгоняет практически всех конкурентов
>...включая GO.
Под конкурентами имел в виду вышеперечисленную веб клоаку, говно с ржавченой это другое
Аноним 15/11/19 Птн 05:46:46 #95 №1521434 
>>1521258
Пооностью весь бэк на ноде
Аноним 15/11/19 Птн 05:59:26 #96 №1521435 
image.png
>>1521420
На главной есть полностью клиент сайдный скрипт
Аноним 15/11/19 Птн 07:58:53 #97 №1521444 
>>1521412
https://gildas-lormeau.github.io/zip.js/ видел?
Аноним 15/11/19 Птн 11:11:33 #98 №1521494 
1412834421382937812.jpg
Только что откинулся с армии. Что в этих ваших вебах нового случилось за прошедший год вкратце? Не знаю даже, с чего заново вкатываться

мимо-два-года-фронтендщик до армейки
Аноним 15/11/19 Птн 11:14:43 #99 №1521497 
>>1521494
Все оказались от js, фронт теперь пишут на java.
Аноним 15/11/19 Птн 11:17:24 #100 №1521500 
>>1521497
НАКАНЕЦТА
Аноним 15/11/19 Птн 11:29:44 #101 №1521508 
>>1521494
Переходим на dart/flux -> всё чаще пилим ssr -> разрабатываем PWA.
Аноним 15/11/19 Птн 11:37:16 #102 №1521522 
>>1521497
На следующий перекат в шапку
https://vaadin.com/
Аноним 15/11/19 Птн 11:39:43 #103 №1521525 
>>1521494
компилируем в жс. хуле еще делать-то
Аноним 15/11/19 Птн 11:44:58 #104 №1521532 
>>1521494
Ничего. Лишь старые технологии немного изменились, типо в реактах стали активно юзать хуки, и то, не все.
Аноним 15/11/19 Птн 11:57:00 #105 №1521544 
Что-то реакт подзарержался. А говорили типа каждый день что-то новое. А по факту еще лет 7 минимум реакт будет. Просто тупо нет замены на горизонте.
Аноним 15/11/19 Птн 11:59:09 #106 №1521549 
>>1521544
Этот процесс скачкообразный, а не постоянный. В какой-то момент появился спрос на более усложненный фронт и стали плодиться различные решения для удовлетворения спроса. Сейчас этот спрос покрыт кучей работающих решений.

Следующий такой скачек может случиться в связи с развитием PWA или webAsm, что не так и долго ждать.
Аноним 15/11/19 Птн 12:01:39 #107 №1521550 
>>1521549
>webAsm
Толсто
Аноним 15/11/19 Птн 12:02:59 #108 №1521554 
>>1521549
хуярю пва на юнити, компилирую в васм уже сегодня
Аноним 15/11/19 Птн 12:09:39 #109 №1521558 
>>1521549
>более усложненный фронт
Нахуя?
Аноним 15/11/19 Птн 12:11:07 #110 №1521561 
>>1521549
>PWA или webAsm,
Только реакт будет топ 1 фреймворком по этой хуйне
Аноним 15/11/19 Птн 12:24:58 #111 №1521574 
>>1521558
Потому-что в 90х-нулевых веб это был архив документов в интернете, тогда как сейчас веб стал каталогом онлайн приложений и в том числе документов.

Не надо только ныть про то, что прогресс не нужно и надо было так и сидеть на фреймах.
Аноним 15/11/19 Птн 12:41:19 #112 №1521590 
>>1521574
Ясен хуй, прогресс это хорошо. Только вот появление новых технологий должно быть обосновано. Теперь поясни, зачем нужен еще более сложный фронт?
Аноним 15/11/19 Птн 12:42:33 #113 №1521591 
Но это бред, онлайн в приложениях почти не нужен. И в браузере ограниченные опппппвыоп опопопоп попо опоо п
возможности. ЗАчем тогда ОС нужна и десктоп, сидите сразу с
одного браузера и его локальным хранилищем размером с ваш жесткий диск. А ядром ОС будет линукс, чтоб мало весил и сам браузер работал, больше ничего не надо. Скоро и игры будут играть в облаке.
Аноним 15/11/19 Птн 12:42:39 #114 №1521592 
>>1521590
Вообще то все IT это автоматизация ради автоматизации, прогресс ради прогресса.
Аноним 15/11/19 Птн 12:44:33 #115 №1521594 
>>1521590
Ну пиши себе фронт без реактов/ангуляров. Я на них перешел - меня все устраивает.
Аноним 15/11/19 Птн 12:45:18 #116 №1521596 
>>1521594
Какого типа проекты?
Аноним 15/11/19 Птн 12:47:35 #117 №1521601 
>>1521591
>ЗАчем тогда ОС нужна и десктоп
Хромбуки тебе привет передают.
Аноним 15/11/19 Птн 12:49:05 #118 №1521604 
1465214182135118221.jpg
>>1521601
Только они провалились. Приложений нет, делать никто не хочет.
Аноним 15/11/19 Птн 12:53:25 #119 №1521607 
>>1521590
Короче, представь, 2049 год, все сидят на хромбуках. Всё, от фотошопа до игрулек должно работать в бровсере.

Просто по твоей логике даже html - излишек прогресса ради прогресса. Вот нахуя все эти красоты нужны? Текст же сам по себе вполне функионал свой выполняет.

>>1521604
>Приложений
>хромбуки
Ты сам-то понял что сказал?
Аноним 15/11/19 Птн 12:53:44 #120 №1521608 
ребзи, дроч на еще более новые технологии во фронте это пустая трата энергии. фронт уже сложнее не станет, тк ограничен двумерной поверхностью дисплея. следующий шаг развития фронтенда будет с появлением прямого нейроинтерфейса.
Аноним 15/11/19 Птн 12:55:29 #121 №1521609 
1.jpg
>>1521601
>>1521604
Вы даже не знаете что такое хромбук
Аноним 15/11/19 Птн 12:55:56 #122 №1521610 
>>1521607
> Ты сам-то понял что сказал?
Понял, нет приложений которые работают на v8. Он делался с учетом того, что под него будут пилить всякие pwa, но никто не захотел.
Аноним 15/11/19 Птн 12:56:28 #123 №1521611 
>>1521609
две пластины, которые носят с собой хромающие люди
Аноним 15/11/19 Птн 13:02:58 #124 №1521615 
15735055643860.jpg
>>1521610
>pwa
>гугол
А теперь ещё раз подумай что ты вообще высрал. Ща гугел вам даст швабоду, вместо привязки яйцами к себе, ага.
Аноним 15/11/19 Птн 13:04:24 #125 №1521616 
>>1521615
Гугол и инициировал продвижение pwa, хромбук тоже гугола. Что не так?
Аноним 15/11/19 Птн 13:06:21 #126 №1521618 
>>1521508
Нафига вам flux, если есть typescript?
>>1521525
>>1521532
Всех благодарю за ответы
Аноним 15/11/19 Птн 13:06:50 #127 №1521620 
image.png
Аноним 15/11/19 Птн 13:12:15 #128 №1521624 
15736552775940.png
>>1521616
То, что PWA, очевидно, протеворечит гугловской бизнес модели. Гугл не един в своих подразделениях, они там ного чего продвигали. И так же закапывали.
Аноним 15/11/19 Птн 13:13:13 #129 №1521625 
>>1521624
А какая у них бизнес модель?
Аноним 15/11/19 Птн 13:15:50 #130 №1521628 
>>1521625
Привязать всех яйцами к своим сервисам. И кормить всех этими сервисами. А для такого, очевидно, нужно чтобы абсолютно всё было в облаке.
Ебать ты валенок, братишка. Не зря в жс треде сидим.
Аноним 15/11/19 Птн 13:16:56 #131 №1521630 
>>1521628
Извини, ведением бизнеса не интересуюсь.
Аноним 15/11/19 Птн 13:24:21 #132 №1521635 
5 типовых задач на собеседованиях по JavaScript

Задачи казуальные и по-своему всратые.

https://medium.com/webbdev/js-2b0820b3788f

Расчехляйте свои решения. https://repl.it/@CharonIV/5-tipovykh-zadach
Аноним 15/11/19 Птн 13:37:22 #133 №1521638 
>>1521635
Палиндром
length / 2 и сравнить. Хули там думать.
Аноним 15/11/19 Птн 13:46:41 #134 №1521645 
>>1521635
проорал с этой 2n анаграммы
Аноним 15/11/19 Птн 13:49:01 #135 №1521647 
>>1521635
FizzBuzz говно, дал параметр -10, нихуя не отработало. От 1 до -10 не можешь посчитать, лох?
Аноним 15/11/19 Птн 13:50:36 #136 №1521649 
>>1521647
Вот не надо тут про валидацию входящих данных говорить. Это все синтетические задания. Давай еще типы аргументов проверять, вдруг ты buffer запихнешь туда
Аноним 15/11/19 Птн 13:54:43 #137 №1521650 
>>1521649
ДА я ж пошутил.
Аноним 15/11/19 Птн 14:08:40 #138 №1521664 
image.png
>>1521635
Аноним 15/11/19 Птн 14:10:45 #139 №1521665 
Ребятки, есть ли какой нибудь список проектов которые можно для тренировки сделать на js, только полноценные, а не палиндромы-анаграммы?
Аноним 15/11/19 Птн 14:14:08 #140 №1521666 
>>1521665
мувисерчер, игросерчер, порносерчер
Аноним 15/11/19 Птн 14:20:11 #141 №1521670 
>>1521664
Вы нихуя алгоритмы свои не пишете, вы дергаете только готовые функции.
Аноним 15/11/19 Птн 14:20:50 #142 №1521671 
>>1521635
2.
const fizzbuzz = end =>
[...Array(end).keys()].forEach(num =>
console.log(num, (num % 3 === 0 ? "Fizz" : '' ) + (num % 5 === 0 ? "Buzz" : '') || num )
)


3.
const ww = word => word.toLowerCase().split('').sort().join('')
const anagram = (w1,w2) => w1.length === w2.length && ww(w1) === ww(w2)


5.
const fiB = (n,a,b) => n === 0 ? a : fiB(n-1,b,a+b);
const fib = nth => fiB(nth,0,1);
Аноним 15/11/19 Птн 14:27:01 #143 №1521673 
>>1521670
А зачем? Если жизнь дает тебе лимоны, делай лимонад. Как бы задания на позицию JS разработчика, вот и должен показать, что умеешь в js. Давай на if else for while все зафигачим, которые есть в любом языке программирования.
Аноним 15/11/19 Птн 14:30:01 #144 №1521674 
>>1521670
Функции не имеют отношения к алгоритмам
покормил
Аноним 15/11/19 Птн 14:31:10 #145 №1521675 
image.png
>>1521635
Аноним 15/11/19 Птн 14:33:54 #146 №1521677 
>>1521635
https://repl.it/repls/OptimisticNeglectedObjects
Аноним 15/11/19 Птн 14:39:32 #147 №1521682 
>>1521666
Есть примеры, чтобы сформировать понимание, что конкретно они должны делать или тз?
Аноним 15/11/19 Птн 14:40:49 #148 №1521684 
>>1521671
Что сильно дохуя умный? А коменты где, а форматирование? Кто потом разбирать это дерьмо будет? Переделывай нахер все
Аноним 15/11/19 Птн 14:54:41 #149 №1521693 
1.png
>>1521684
Как этот долбаеб пися статью и коментя может взрывать стаки
Аноним 15/11/19 Птн 15:01:13 #150 №1521698 
e74647ccbccfa1a80a53321c90b6a36c.jpg
>>1521693
Вот это красиво. Будешь тимлидом
Аноним 15/11/19 Птн 15:03:00 #151 №1521701 
>>1521698
Это решение из статьи
Аноним 15/11/19 Птн 15:04:22 #152 №1521703 
e74647ccbccfa1a80a53321c90b6a36c.jpg
>>1521701
Все равно будешь
Аноним 15/11/19 Птн 15:05:15 #153 №1521704 
>>1521703
Но я не >>1521693
Аноним 15/11/19 Птн 15:06:28 #154 №1521706 
Народ, а async/await используют вместе с then? Или цепочки промисов и асинк эвейт это 2 разных подхода?
Аноним 15/11/19 Птн 15:14:24 #155 №1521707 
>>1521682
в ШАПКЕ фронтенд треда всё есть.
https://2ch.hk/wrk/res/1771892.html#1775242
Аноним 15/11/19 Птн 15:18:55 #156 №1521714 
image.png
https://repl.it/repls/DarkkhakiSadStructures
Аноним 15/11/19 Птн 15:47:21 #157 №1521733 
>>1521706
Разные, почитай про async await, в двух словах это синхорный способой работать с асинхорным кодом.
Аноним 15/11/19 Птн 16:23:07 #158 №1521761 
>>1521733
Да все, прочел на медиуме статью как раз. Теперь понятно.
Аноним 15/11/19 Птн 16:27:06 #159 №1521763 
>>1521706
async-функция возвращает промис, потому с возвращаемым от нее значением можно работать с then.
Аноним 15/11/19 Птн 16:33:59 #160 №1521770 
>>1521693
А как рекурсия вообще работает? Там же нет return.
Аноним 15/11/19 Птн 16:42:38 #161 №1521778 
>>1521770
Всмысле? Там 2 return
Аноним 15/11/19 Птн 16:48:22 #162 №1521791 
>>1521770
Запускает саму себя до того момента, пока не сработает первое условие, после этого начинает идти обратно по стеку и возвращать значения, вроде как-то так
Аноним 15/11/19 Птн 17:32:04 #163 №1521841 
>>1521665
поиск девок по фотке пизды
Аноним 15/11/19 Птн 18:07:44 #164 №1521890 
>>1521841
Некрасивый орган.
Аноним 15/11/19 Птн 20:47:24 #165 №1522054 
Есть тут анончики, которые в Ngrx/data рубят?
Аноним 15/11/19 Птн 20:53:03 #166 №1522059 
>>1522054
я не шарю но мне интересно что у тебя за проблема
Аноним 15/11/19 Птн 20:59:43 #167 №1522065 
>>1522059
На проекте юзается Ngrx/data, это обертка поверх Ngrx/entity.
Мне нужен кастомный запрос, типа не Апдейт/Делит а сделайДохуя(ид). И кастомный АПИ ендпоинт. Вот как это блять сделать? Как добавить кастомный этот метод и потом в еффекте или где дернуть апи, дождаться респонса и заапдейтить стор.
Перечитал вот эту хуйню https://github.com/johnpapa/angular-ngrx-data/tree/master/docs

заимплементил кастомный дата сервис, кеш сервис, редюсер. НО оно просто оверайдить существующие методы Ngrx/data. Те, которые в EntityOp. А как срать сделать полностью свой метод?
Аноним 15/11/19 Птн 21:06:01 #168 №1522070 
>>1522065
дааа так сразу и не понять!тут требуется серьезниший РИСЁЧ
Аноним 15/11/19 Птн 22:21:36 #169 №1522134 
>>1521635
В последних двух задачах ничего эффективнее не придумать, а вот в первых трёх можно сделать эффективнее.
https://repl.it/repls/SnarlingQuerulousDegree
Аноним 15/11/19 Птн 22:42:51 #170 №1522144 
1.png
2.png
>>1521770
>как рекурсия
Первый пик рекурсия из статьи
На каждый шаг рекурсия пидорится на две другие, что ебаный пиздец и лучше на собесе вообще ничего не написать чем высрать такое
Второй пик обычная рекурсия с аккумулятором >>1521671

>Там же нет return

Если ты про
(n,a,b) => n === 0 ? a : fiB(n-1,b,a+b);

В стрелочных функциях при неуказывании фигурных скобок автоматически становится return, но должин быть один экспрэшон

(n,a,b) => n === 0 ? a : fiB(n-1,b,a+b);

(n,a,b) => { return n === 0 ? a : fiB(n-1,b,a+b); }

function(n,a,b) {
return n === 0 ? a : fiB(n-1,b,a+b);
}

Писать что-то типа

n => let a =1; n+1;
Нельзя

Еще в стрелочных функциях не обязательно засовывать в скобки () аргумент если он один

Аноним 16/11/19 Суб 00:39:05 #171 №1522210 
>>1522144
>На каждый шаг рекурсия пидорится на две другие
Это не самый пиздец. Пиздец , если ты им формулу Бине напишешь или если у тебя ее спросят. Я лично не знаю как она выводится, но я решал задачу через нее, потому что когда-то давно смотрел формулы чисел фибоначчи.

По началу я удивился, что существует на столько мощный метод вычисления, но потом задумался : является ли он столь эффективным? Если присмотреться к формуле, то можно увидеть что от n растет кол-во умножений и делений, а классический подход лишь суммирует числа. Я замеры на скорость не делал, но что-то мне подсказывает, что одно суммирование явно быстрее чем несколько умножений
Аноним 16/11/19 Суб 00:48:57 #172 №1522222 
>>1521761
Скинь статью плз.
Аноним 16/11/19 Суб 00:55:39 #173 №1522237 
LadyPepeCap.jpg
function mixin(...src) {

for (let _cl of src) {
console.log(_cl)
for (var key of Object.getOwnPropertyNames(_cl.prototype)) {
console.log(key)
Shape.prototype[key] = _cl.prototype[key]
}
}
}


https://playcode.io/468568?tabs=script.js,preview
Аноним 16/11/19 Суб 00:56:54 #174 №1522240 
>>1522237
Быстро фикс не то скопипастил.
Аноним 16/11/19 Суб 00:58:54 #175 №1522246 
Собственно задание:
Mixin
Object.create не позволяет сделать объект более чем от одного прототипа. Требуется создать функцию mixin позволяющую подмешивать множество прототипов в итоговый объект
Код-условие и тесты:
/ Test example /
function Shape() {}

const originalPrototype = Shape.prototype

function Drawable() {}

Drawable.prototype.draw = function() {}

function Chainable() {}

Chainable.prototype.chain = function() {}

Shape.prototype = mixin(Drawable.prototype, Chainable.prototype);

assert(Shape.prototype).toBe(originalPrototype)
assert(Shape.prototype.__proto__.__proto__).toBe(Object.prototype)
assert(Drawable.prototype.__proto__).toBe(Object.prototype)
assert(Shape.prototype.__proto__.__proto__).toBe(Object.prototype)
assert(Chainable.prototype.__proto__).toBe(Object.prototype)
assert(Shape.prototype.__proto__.draw).notToBe(undefined)
assert(Shape.prototype.__proto__.chain).notToBe(undefined)
assert(Shape.prototype.__proto__.chain).toBe(Chainable.prototype.chain)
assert(Shape.prototype.__proto__.draw).toBe(Drawable.prototype.draw)

/
mixin() - function that student should create
assert(actual) - object that takes actual result
toBe(expected) - method compare with expected
notToBe(not expected) - method compare with not expected
/

https://playcode.io/468568?tabs=script.js,preview
Мой вариант решения, но не получается подмешать примесь к нужному прототипу в цикле( не знаю как записать)

Аноним 16/11/19 Суб 00:59:57 #176 №1522248 
>>1522246
Да, я долбоёб

Фиксю:
Код-условие и тесты:
/ Test example /
function Shape() {}

const originalPrototype = Shape.prototype

function Drawable() {}

Drawable.prototype.draw = function() {}

function Chainable() {}

Chainable.prototype.chain = function() {}

Shape.prototype = mixin(Drawable.prototype, Chainable.prototype);

assert(Shape.prototype).toBe(originalPrototype)
assert(Shape.prototype.__proto__.__proto__).toBe(Object.prototype)
assert(Drawable.prototype.__proto__).toBe(Object.prototype)
assert(Shape.prototype.__proto__.__proto__).toBe(Object.prototype)
assert(Chainable.prototype.__proto__).toBe(Object.prototype)
assert(Shape.prototype.__proto__.draw).notToBe(undefined)
assert(Shape.prototype.__proto__.chain).notToBe(undefined)
assert(Shape.prototype.__proto__.chain).toBe(Chainable.prototype.chain)
assert(Shape.prototype.__proto__.draw).toBe(Drawable.prototype.draw)

/
mixin() - function that student should create
assert(actual) - object that takes actual result
toBe(expected) - method compare with expected
notToBe(not expected) - method compare with not expected
/
Аноним 16/11/19 Суб 01:05:45 #177 №1522255 
jox2xfrsbwy31.jpg
Аноним 16/11/19 Суб 01:08:31 #178 №1522259 
>>1522210
хз я даже обычную формулу фибоначи не стал бы писать без вики перед глазами, если зп не запредельная
И учитывая что это жс тред
Аноним 16/11/19 Суб 03:54:48 #179 №1522351 
>>1521435
>На главной есть полностью клиент сайдный скрипт
Только вот он не zip-ает нихуя. Блокнотом открой этот zip и увидишь в коде - "Hello World" извнутри текстовика Hello.txt.
Говорил же, что пароль надо, даже работает сжатие.

>>1521444
>https://gildas-lormeau.github.io/zip.js/ видел?
Видел, но эта тулза тоже без пароля, вроде...
Один Issue открыт и он без ответа:
https://github.com/gildas-lormeau/zip.js/issues/161
Аноним 16/11/19 Суб 10:43:36 #180 №1522435 
>>1522246
Ты опять выходишь на связь, унылый?
Аноним 16/11/19 Суб 10:48:11 #181 №1522438 
console.log(array);
Почему ЖС-эры могут вывести массив одной строчкой, а я как дурак должен циклом обходить?
Аноним 16/11/19 Суб 13:54:36 #182 №1522565 
>>1522435
Меня вынуждают обстоятельства!
Аноним 16/11/19 Суб 15:52:51 #183 №1522663 
>>1522351
>>1521420
Короче, я там глянул гитхаб этого минзип-асма, и он не только для ноды. Там в папке example index.html включает в себя сам скрипт + ещё скрипт с логикой для сайта (скомпресованный в нечитабельный вид, но на это у жээсеров наверняка есть своя затычка).
Больше ничем помочь не могу.
Аноним 16/11/19 Суб 16:31:20 #184 №1522684 
По какому тутору, книге, статье можно фастом поднять експресс, его экосистему, тесты там, бест практисы, чтобы написать говносерчер. О себе работающий джун реакт/вью, бека не знаю, могу только запустить экспресс для next/nuxt
Аноним 16/11/19 Суб 16:38:38 #185 №1522688 
>>1522438
Так можно в любом языке с динамической типизацией, где списочные типы автоматически приводятся к строке.
Аноним 16/11/19 Суб 17:21:17 #186 №1522728 
>>1522684
>По какому тутору, книге, статье можно фастом поднять експресс
ищешь проект на гитхабе -> клонируешь
Аноним 16/11/19 Суб 18:20:59 #187 №1522763 
>>1522237
Я должен как джун понимать этот код ? что то понятно, но все как в тумане, какое то нечитабельное говно.
Аноним 16/11/19 Суб 18:40:55 #188 №1522779 
>>1522763
Там ошибка. Задание требует создать функцию mixin позволяющую подмешивать множество прототипов в итоговый объект.
И у задания есть код-условие, а так же тесты которые должна проходить написанная функция:
Код-условие и тесты:
/ Test example /
function Shape() {}

const originalPrototype = Shape.prototype

function Drawable() {}

Drawable.prototype.draw = function() {}

function Chainable() {}

Chainable.prototype.chain = function() {}

Shape.prototype = mixin(Drawable.prototype, Chainable.prototype);

assert(Shape.prototype).toBe(originalPrototype)
assert(Shape.prototype.__proto__.__proto__).toBe(Object.prototype)
assert(Drawable.prototype.__proto__).toBe(Object.prototype)
assert(Shape.prototype.__proto__.__proto__).toBe(Object.prototype)
assert(Chainable.prototype.__proto__).toBe(Object.prototype)
assert(Shape.prototype.__proto__.draw).notToBe(undefined)
assert(Shape.prototype.__proto__.chain).notToBe(undefined)
assert(Shape.prototype.__proto__.chain).toBe(Chainable.prototype.chain)
assert(Shape.prototype.__proto__.draw).toBe(Drawable.prototype.draw)

/
mixin() - function that student should create
assert(actual) - object that takes actual result
toBe(expected) - method compare with expected
notToBe(not expected) - method compare with not expected
/

Сам мой код:
https://playcode.io/468568?tabs=script.js,preview
но я не понимаю как мне присвоить в цикле что последний аргумент является прототипом следующего.
Аноним 16/11/19 Суб 19:03:39 #189 №1522797 
>>1522763
>Я должен понимать этот код
Нет это
>говно
Аноним 16/11/19 Суб 19:04:45 #190 №1522798 
как добавить css к странице? есть какие-то плагины?
Аноним 16/11/19 Суб 19:10:07 #191 №1522803 
как дышать, посоны? есть гайды какие или курсы?
Аноним 16/11/19 Суб 19:26:58 #192 №1522813 
>>1522798
>>1522803
через жопу
Аноним 16/11/19 Суб 19:33:36 #193 №1522815 
>>1520569 (OP)
Зацените исходники.
Если говнокод, то что в первую очередь надо пофиксить?
https://github.com/vlr-hub/pricing-tools-frontend
Аноним 16/11/19 Суб 19:47:13 #194 №1522820 
>>1522803
F
Аноним 16/11/19 Суб 19:48:59 #195 №1522824 
>>1522815
Нет ssr. Без него такой сайт бизнесу не нужен.
Аноним 16/11/19 Суб 20:13:15 #196 №1522842 
>>1522824
>нет ssr
Так он же в 91 наебнулся.
Аноним 16/11/19 Суб 20:39:36 #197 №1522855 
Снимок.PNG
>>1522824
Server-Side Rendering?
А в чём смысл? Бизнесу ведь не выгодно арендовать мощные серваки?
У меня бэк рендерит только исходную страницу (передаёт "стартовые" параметры, по которым реакт определяет, какую именно страницу нужно открыть). Ну а при переходах внутри сайта запрашивается только контент, включая данные из БД.


https://github.com/vlr-hub/pricing-tools-backend/blob/master/resources/views/index.blade.php
Аноним 16/11/19 Суб 20:50:14 #198 №1522859 
>>1522855
Смысл в том, что бизнес зависим от рекламы, а рекламу в интернете можно получить либо покупая её, либо занимаясь продвижением в поисковиках. Если гугл еще может кое-как работать с js контентом, то яндекс нахер шлет таких. А если в поисковиках у тебя нет никаких позиций, то еще и покупаемая реклама будет стоить дороже.
Аноним 16/11/19 Суб 21:04:03 #199 №1522874 
>>1522859
И яндекс и гугл добавляют в поиск страницы, указанные в sitemap.xml.

https://pricing.tools/sitemap.xml
Аноним 16/11/19 Суб 21:34:44 #200 №1522895 
image.png
>>1522874
Только на этих страницах для поисковиков нет контента. Вот так выглядят они для поисковых ботов.
Аноним 16/11/19 Суб 22:33:07 #201 №1522932 
lolblya)))
let list = [1,2,3]
for(let i = 0; i<list.length; i++) {
list.push(i+3)
console.log(list)
}
Аноним 16/11/19 Суб 22:43:38 #202 №1522939 
>>1522895
Насколько я понял и React и Vue могут рендериться на серваке только в паре с нодой. Однако подавляющее большинство сайтов работают на апаче и nginx.
Для чего они тогда используются?
Аноним 16/11/19 Суб 23:01:13 #203 №1522951 
image.png
>>1522932
let list = [];
list[-1] = 'Ohuenno vstavilo posoni';
console.log(list.length);
Аноним 17/11/19 Вск 00:09:58 #204 №1522975 
>>1522939
Нода прячется за нжинксом и хихикает там
Аноним 17/11/19 Вск 00:25:23 #205 №1522983 
>>1522975
Тупой вопрос: зачем ставить на сервер nginx и переправлять запросы на ноду (https://stackoverflow.com/questions/5009324/node-js-nginx-what-now), если можно обращаться к ноде напрямую?

Аноним 17/11/19 Вск 00:31:24 #206 №1522984 
>>1522983
А гуглить пробовал?
Например для баланса нагрузки.
Аноним 17/11/19 Вск 01:00:31 #207 №1522993 
>>1522983
Виндертон, ты?
Аноним 17/11/19 Вск 05:21:18 #208 №1523028 
>>1520905
Добавь в приложухе аддон New Relic и настрой там пинг вебморды каждые 10 минут. Добавляешь к акку кредитку и, вуаля, бесплатный хостинг 24/7
Аноним 17/11/19 Вск 11:23:10 #209 №1523086 
53418518449a51ebfa9b.jpg
Решаю задачки с офф учебника

Создайте функцию truncate(str, maxlength), которая проверяет длину строки str и, если она превосходит maxlength, заменяет конец str на "…", так, чтобы её длина стала равна maxlength.

Результатом функции должна быть та же строка, если усечение не требуется, либо, если необходимо, усечённая строка.

https://pastebin.com/vHGkS5En
Почему у меня к результату усечения строки приклеивает undefined ?
Аноним 17/11/19 Вск 11:41:02 #210 №1523089 
>>1523086
сколько будет undefined + char?
Аноним 17/11/19 Вск 11:44:31 #211 №1523090 
>>1523086
https://exploringjs.com/es6/ch_variables.html#_the-life-cycle-of-let-declared-variables
Аноним 17/11/19 Вск 11:57:52 #212 №1523096 
>>1523090
>>1523089
> сколько будет undefined + char?
Точно, спасибо.
Аноним 17/11/19 Вск 12:37:16 #213 №1523116 
Сап
Кто-нибудь читал "eloquent javascript"?
Как вам книга и пойдет для нуба с небольшим опытом?
Аноним 17/11/19 Вск 13:41:06 #214 №1523158 
>>1522815
сделать нормальную загрузку данных. Открыл ram, сервер потянул 1.5мб данных, охуеть
Аноним 17/11/19 Вск 13:54:32 #215 №1523171 
>>1523158
Сейчас бы в 2к19 считать, что 1.5 мб это много.
Аноним 17/11/19 Вск 13:59:56 #216 №1523178 
>>1522932
Я щас кому то уши оборву, запустил не глядя в консоли.
Аноним 17/11/19 Вск 14:02:11 #217 №1523181 
>>1523178
let list = [1,2,3]
for(let i = 0; i<list.length; i++) {
if(i<10) {
list.push(i+3)
console.log(list)
}
}
Аноним 17/11/19 Вск 15:03:02 #218 №1523235 
>>1523086
function truncate(str, maxlength) {
if (str.length < maxlength || str.length === maxlength) alert(str)
else alert(str.slice(0,maxlength-1) + '...')
}
Аноним 17/11/19 Вск 15:06:25 #219 №1523244 
посоны, в жс массивы штоле на шэшмапах работают как в говнопыхе?
Аноним 17/11/19 Вск 15:07:37 #220 №1523245 
>>1523235
const truncate = (str, len) => (str.length < len || str.length === len) ? alert (str) : alert(str.slice(0,len-1) + '...')
Аноним 17/11/19 Вск 15:14:06 #221 №1523250 
>>1523245
const truncate = (str, maxlength) => {
const tail = "...";
return str.length > maxlength ? str.slice(0, maxlength-tail.length)+tail : srt;
}
Аноним 17/11/19 Вск 16:16:10 #222 №1523327 
Screenshot 2019-11-17 at 16.15.07.png
Почему данная фигня дает в ответе 3?
Аноним 17/11/19 Вск 16:29:44 #223 №1523343 
Screenshot 2019-11-17 at 16.27.40.png
А тут ежик больше яблока, че за бред? В яблоке же больше букв
Аноним 17/11/19 Вск 16:33:00 #224 №1523346 
>>1523327
оператор && имеет приоритет над ||
(выражение1 && выражение2)
сначала вычисляется выражение1
2 это не false
далее вычисляется выражение2
3 это не false
любая хуйня || не false это не false
возвращается результат выражения2 как результат вычисления логической функции
Аноним 17/11/19 Вск 16:36:06 #225 №1523350 
>>1523343
Это твоя логика, а в языке по чаркоду сравнение литер осуществляется.
Аноним 17/11/19 Вск 16:40:27 #226 №1523353 
>>1523343
Потому что ёжики носят яблоки, а не яблоки ёжиков.
При сравнении строк, сравнивается не длина, а посимвольно. https://learn.javascript.ru/comparison#sravnenie-strok
Аноним 17/11/19 Вск 16:42:01 #227 №1523355 
>>1523346
Спасибо, разложил по полочкам как боженька.
>>1523350
Не понял
Аноним 17/11/19 Вск 16:47:33 #228 №1523358 
>>1523327
>>1523346
Кстати, в typescript и, скорее всего, в бебелях-шмебелях тоже, добавили уже оператор ??, который находится на финальной стадии принятия в стандарт экмы. Значительно более удобный, чем ||. Рикомендую.
Аноним 17/11/19 Вск 16:56:16 #229 №1523365 
>>1523358
> добавили уже оператор ??, который находится на финальной стадии принятия в стандарт экмы. Значительно более удобный, чем ||. Рикомендую.
Он добавляет какие-то новые функции?
Аноним 17/11/19 Вск 17:01:06 #230 №1523370 
>>1523365
Более ожидаемое поведение по сравнению с ||, так как не зависит напрямую от falsy сравнений. ?? проверяет на наличие или отсуствие данных.

https://github.com/tc39/proposal-nullish-coalescing
https://devblogs.microsoft.com/typescript/announcing-typescript-3-7-beta/

Optional Chaining еще мелкое, но очень удобное добавление.
Аноним 17/11/19 Вск 17:04:38 #231 №1523376 
>>1523370
Понятно, а то я думал чисто косметические изминения
Аноним 17/11/19 Вск 17:06:12 #232 №1523377 
>>1523158
Тебя не бесит ПОДЛАГИВАНИЕ при перелистывании таблиц, списков и тд., которое обязательно присутствует при запрашивании данных по кускам?
Аноним 17/11/19 Вск 17:33:31 #233 №1523402 
>>1523355
>Не понял
https://javascript.info/comparison#string-comparison
console.log('ё'.charCodeAt(), 'я'.charCodeAt());
Аноним 17/11/19 Вск 19:05:37 #234 №1523485 
>>1521235
Так и есть. На ноде в крупных проектах пишут разве что какие-то прослойки или отдельные микросервисы, но никто не будет юзать её как основу. Не потому, что нода говно, а потому, что у Джавы банально намного более развитая экосистема. Тот же Спринг предоставляет тебе инструментов намного больше и даёт гораздо более высокий уровень абстракции, чем любой жс-фреймворк для бэка. И очень многое там есть из коробки, без какой-то дополнительной еботни.
Аноним 17/11/19 Вск 19:26:04 #235 №1523501 
Анончики, подскажите с кодировкой. Не знаю, как послать post реквест с формдатой и в нормальной кодировке (utf8), чтобы на сервере это не выглядело, как мешанина из случайных символов. Как это реализовать?
Аноним 17/11/19 Вск 19:27:25 #236 №1523502 
>>1523485
Что за микросервисы тогда будут писать на ноде?
Аноним 17/11/19 Вск 19:44:36 #237 №1523508 
>>1523485
>пук
>>1523502
"Микросервисы" пишут только неосиляторы
В основном это вебсокет сервер или сервер как гейтвей на пару 3д парти запросов
Почему это называют "Микросервесами" остается загадкой
Аноним 17/11/19 Вск 20:01:45 #238 №1523516 
>>1523377
Нет. Ты и так ожидаешь, что при перелистывании будет небольшая задержка. А вот когда первый раз открываешь и ждешь 3 секунды - это пзидец
Аноним 17/11/19 Вск 20:20:07 #239 №1523523 
1.jpg
>>1522815
Даже за такое говно платят
Аноним 17/11/19 Вск 20:30:04 #240 №1523539 
>>1523523
Но не тебе?
Аноним 17/11/19 Вск 20:31:01 #241 №1523540 
>>1523539
Плотили за разгребания такого говна, я не выдержол

Аноним 17/11/19 Вск 20:31:03 #242 №1523541 
fd7fa4f56badc95e609421a62a4069cd.jpg
>>1523539
Аноним 17/11/19 Вск 20:41:31 #243 №1523558 
>>1523523
>Даже за такое говно платят
Это я сам для себя написал
Аноним 17/11/19 Вск 21:02:18 #244 №1523573 
>>1522824
>2020
>ssr

Удивлён что до сих пор бывают не-SPA фронтенды.
Не встречал их с 2009 и надеюсь не встречу.
Аноним 17/11/19 Вск 21:04:22 #245 №1523577 
>>1523573
это норм, если у тебя СааС. если маркетинг, то ты сосешь
Аноним 17/11/19 Вск 21:18:00 #246 №1523592 
>>1523577
Два чая этому просветленному
Аноним 17/11/19 Вск 21:24:47 #247 №1523603 
>>1523592
>>1523577
>>1523573
>>1522815
Аноны поясните для нуба о чем речь, интересно же.
Аноним 17/11/19 Вск 21:28:23 #248 №1523607 
>>1523603
В этом итт слабо понимают разницу между SPA и SaaS
sage[mailto:sage] Аноним 17/11/19 Вск 21:31:31 #249 №1523610 
>>1523508
> пук
Аргументы уровня ноджс дауна))
Аноним 17/11/19 Вск 21:45:25 #250 №1523620 
>>1523610
>Аргументы
>у Джавы банально намного более развитая экосистема
>Тот же Спринг предоставляет тебе инструментов намного больше и даёт гораздо более высокий уровень абстракции

>На ноде в крупных проектах пишут разве что какие-то прослойки или отдельные микросервисы


>пук
Аноним 17/11/19 Вск 22:13:51 #251 №1523647 
15205159710211.png
>>1523235
>>1523245
>>1523250
https://learn.javascript.ru/ninja-code
Аноним 17/11/19 Вск 22:22:46 #252 №1523659 
Как встроить 12-й Node в программу на крестах? Про восьмой в интернете что-то есть, а про двенадцатый вообще ничего не нашел.
Аноним 18/11/19 Пнд 02:31:56 #253 №1523802 
15707523227421.png
Лайфхак для вкатывальщиков

Плохо
const handler = newVal => setS(newVal);
onClick={(e) => handler(e.target.value)}

const handler = e => setS(e.target.value);
onClick={handler}


Ок
const toVal = e\t => e.target.value;
const handler =\tpipe(toVal,setS);
onClick={handler}
Аноним 18/11/19 Пнд 02:42:46 #254 №1523805 
Я тут недавно узнал, что оказывается в javaScript нету типа данных integer, соответствующего целым числам. Вместо этого все числа являются числами с плавающей запятой float.
Как разработчики справляются с этой проблемой?
Аноним 18/11/19 Пнд 02:45:04 #255 №1523807 
>>1523805
>/Спецификация языка/
>Как разработчики справляются с этой проблемой?
Где проблема-то?
Хотя бы пример какого-нибудь случая
Аноним 18/11/19 Пнд 02:50:56 #256 №1523809 
>>1523807
>Где проблема-то?
Ну как минимум проблема в быстродействии:
1) операции с целыми числами выполняются процессором быстрее чем операции с числами с плавающей точкой.
2) нельзя выполнить целочисленное деление, не применяя при этом функцию округления.
Аноним 18/11/19 Пнд 02:53:36 #257 №1523810 
>>1523809
JS для барбершопов и слайдеров, а не для математических вычислений. Всем похуй.
Аноним 18/11/19 Пнд 03:08:40 #258 №1523812 
>>1522663
Годно. Работает. Достаточно было заменить все '"//' на 'http://' и взлетело.
Выкачал скрипты по ссылкам, теперь всё локально пашет. Благодарочка.
Аноним 18/11/19 Пнд 03:13:59 #259 №1523813 
>>1523809
скороникогда
>We have plans for how we would implement such support, but it is another case where we would first like to find out whether that is really what you, our users, care about the most; or whether we should spend our time on something else instead.
Аноним 18/11/19 Пнд 03:15:07 #260 №1523814 
>>1523813
пока только так https://v8.dev/blog/bigint
Аноним 18/11/19 Пнд 03:16:34 #261 №1523815 
>>1523809
Откуда вы такие набегаете?
Что ты хочешь услышать на свой пук?

>Ну как минимум проблема в быстродействии
Процессор тратит больше времени на обработку I/O (в котором ЖС на голову выше всего остального веба) чем на сами вычисления

Топ компании до сих пор перекатываются на Ноду ради перфоманса
Рынок ни при чем, убрав фронтенд сярп/ява/питоно макак будет в полтора-два раза больше
Аноним 18/11/19 Пнд 03:18:37 #262 №1523816 
>>1523815
>Топ компании до сих пор перекатываются на Ноду ради перфоманса
хуя манямир
Аноним 18/11/19 Пнд 03:23:13 #263 №1523817 
>>1522663
>Там в папке example index.html включает в себя сам скрипт
>+ ещё скрипт с логикой для сайта
>(скомпресованный в нечитабельный вид, но на это у жээсеров наверняка есть своя затычка).
Судя по комментарию в самом начале:
>Operative v0.4.5 (c) 2013 James padolsey, MIT-licensed, http://github.com/padolsey/operative
это - минифицированный скрипт operative, для подключения Worker'a, в браузере.
Вот этот проект здесь: https://github.com/padolsey/operative
Тут: https://raw.githubusercontent.com/padolsey/operative/0.4.4/dist/operative.min.js
последняя версия
А вот тут: https://raw.githubusercontent.com/padolsey/operative/0.4.4/dist/operative.js
полный исходник, не минифицированный.

Ну и чтобы проверить это, выкачал их, и подключил в index.html. Всё работает.
Аноним 18/11/19 Пнд 03:25:37 #264 №1523818 
>>1523805
Вместо него BigInt.

Но вообще ты не понимаешь скриптовые языки. Если тебе нужна точная математика, то делай вставки на вебасме.
Аноним 18/11/19 Пнд 03:33:24 #265 №1523819 
>>1523809
>1) операции с целыми числами выполняются процессором быстрее чем операции с числами с плавающей точкой.

Внутри JavaScript число представлено в виде 64-битного формата IEEE-754. Для хранения числа используется 64 бита: 52 из них используется для хранения цифр, 11 из них для хранения положения десятичной точки (если число целое, то хранится 0), и один бит отведён на хранение знака.

У тебя всегда есть дробная часть, ты её не видешь. Напиши let a = 2.0 и верни его. Он тебе вернет обычную двойку. Но явный флоат Питона или Си и т.д. вернет тебе 2.0 . Этим и отличается JS от остальных языков. Резюмируя, на скорость это никак не влияет. Она по умолчанию гавно.
Аноним 18/11/19 Пнд 04:34:22 #266 №1523828 
Screenshot1.png
Screenshot2.png
>сидишь-пердишь, решаешь разные ката на codewars
>вроде сделал, всё работает, хоть и выгляди некрасиво
>submit final
>чекаешь чужие решения (интересно жи)
>пикрел
а ещё там один челик вообще скопипастил реализацию BigInt целиком в решение, но у меня она в экран не помещается

Аноним 18/11/19 Пнд 06:17:11 #267 №1523847 
>>1523828
классика
Аноним 18/11/19 Пнд 11:26:24 #268 №1523886 
>>1523828
Поясни, что там произошло? Задание было перемножить 2 больших инта? Один тупо заюзал апи, а второй захардкодил результаты тестов?
Аноним 18/11/19 Пнд 11:30:39 #269 №1523887 
>>1523886
Вместо решения задачи, он просто считает итерацию юнит теста и выдает ожидаемое им решение. Читор, криса, короче.
Аноним 18/11/19 Пнд 12:22:01 #270 №1523919 
>>1523886
В одном задание было перемножить два больших инта, а в другом сложить, но суть ты полностью раскрыл.
Аноним 18/11/19 Пнд 12:38:04 #271 №1523926 
Почему в реакте данные между компонентами передаются пропсами, а не, например, сохраняются и читаются из localStorage?
Аноним 18/11/19 Пнд 12:41:59 #272 №1523928 
>>1523926
А если компонентов 2, а если 3, а если 10, а 100?
Аноним 18/11/19 Пнд 12:43:40 #273 №1523931 
Есть пример функции:

fs.readdir(<путь>, (err, files) => {
<Что-то делаю с files>
});

Как сделать похожую? Нужно чтобы она кое-что делала и внутри неё можно было что-то делать с её результатом.

Мне нужна функция для работы с хэшем, а простая конструкция function a() {... return b} не подходит так как код продолжает выполняться, не дождавшись результата функции.
В async не умею и почти ничего в нём не понимаю. Пробовал создать async функцию, но ничего не менялось.
Аноним 18/11/19 Пнд 12:51:54 #274 №1523936 
>>1523926
Потому-что заветы flux-архитектуры. Какие-то умные дядьки вывели целую теорию и написали кучу макулатуры, почему нужно делать так, а не иначе. Им виднее.

Кроме пропсов ты можешь организовывать общение между компонентами через context api, redux, mobx и еще кучу других вариантов.
Аноним 18/11/19 Пнд 12:54:00 #275 №1523937 
>>1523936
Зачем используют redux вместе с реактом, если у последнего есть Context?
Аноним 18/11/19 Пнд 12:59:28 #276 №1523941 
27197037.jpg
>>1523937
Я не знаю. Терпеть его не могу. Он заставляет меня страдать прямо сейчас. В своих личных проектах я обмазываю реакт мобиксом.

Context api, на самом деле, слегка оверейтед как универсальный убийца стор менеджеров, главным образом тем, что context api удобен что бы просто гонять данные между компонентами, но он нифига не заменяет собой собственно полноценный стор. А полноценный стор приложения ты сам захочешь, если напишешь достаточно крупное реакт-приложение.
Аноним 18/11/19 Пнд 13:41:11 #277 №1523972 
>>1523941
Посоны, поясните есть ли связь между BigInt и BigInt64Array?
Аноним 18/11/19 Пнд 13:56:20 #278 №1523978 
>>1523972
Не знаю, не использовал. Уверен, что документация на mdn дает исчерпывающий ответ.
Аноним 18/11/19 Пнд 15:00:17 #279 №1524000 
Аноны, естествоиспытательский интерес.
Есть html тег <div>, внутри него еще допустим пять дочерних <div>. Как сделать анимацию закртытия этих дочерних <div> поочередно c помощью jQuery. Тоесть допустим скрывается сначала первый, потом второй и т.д.
Я знаю классический - колбеком в качестве аргумента hide(), второй - используя объект Deferred.
Какие еще варианты? jQuery изучаю джва часа.
Аноним 18/11/19 Пнд 15:34:48 #280 №1524030 
>>1524000
через колбек делай
Аноним 18/11/19 Пнд 15:39:01 #281 №1524036 
>>1524000
нахуй тебе жквери мудак
Аноним 18/11/19 Пнд 15:45:04 #282 №1524039 
>>1524036
Потому что я не дебилко, которое для маня сайта за двадцатник с двумя формами, будет тянуть на него реакт/вебпак/babel и прочее .
Аноним 18/11/19 Пнд 16:06:03 #283 №1524060 
>>1523931
Ладно, исправил код с помощью .then(() => {...})
Работает как надо, но выглядит кривовато.
Аноним 18/11/19 Пнд 16:08:50 #284 №1524062 
3a7a7730943d7fbf3d45adb272d9769e.jpg
>>1524039
Ну ты ⑨. А потом удивляемся, почему одно говно повсюду.
Аноним 18/11/19 Пнд 16:12:23 #285 №1524066 
>>1524060
Касательно промисов и fs, используй библиотеку bluebird, потому что я уже не вспомню в чем именно проблема, но при ошибках в fs, дефолтные промисы не поймают throw exception и все приложение ляжет.
Аноним 18/11/19 Пнд 16:13:22 #286 №1524067 
>>1524066
Ниразу не вылезали ошибки при чтении/записи файла через fs.
Что может пойти не так?
Аноним 18/11/19 Пнд 16:16:18 #287 №1524069 
>>1524067
Не говорю про то, что такое обязательно вылезет, но если появится, то нервов можно много потратить на поиск ошибки. Там какая-то проблема, что fs использует низкоуровневые вызовы, которые стандартные промисы не ловят, и исключение летит в главный процесс и валит все к херам.
Аноним 18/11/19 Пнд 16:18:12 #288 №1524072 
>>1524062
Вот когда ченить будешь делать практическое, тогда и попизди мне.
Аноним 18/11/19 Пнд 16:19:52 #289 №1524076 
>>1524069
Ого. На будущее заметочку оставил конечно, но мой говнокод не стоит таких выкрутасов. Спасибо.
Это не масштабный продакшон, а свой маленький бот в телегу, так что похуй.
Аноним 18/11/19 Пнд 16:22:42 #290 №1524077 
>>1524062
Все говномагазины переписываем на реакт срочно! Так в треде на дваче сказали
Аноним 18/11/19 Пнд 16:54:37 #291 №1524118 
>>1524039
То есть альтернатива жквери - это реакт, вебпак и бабель? Ты просто не разбираешься в теме.
Аноним 18/11/19 Пнд 17:31:24 #292 №1524146 
Давайте закроем эту тему тем, что фронт давно разделился на писателей веб-приложений и на тех, кто до сих пор верстает веб-документы с жиквери. Не на каждую задачу чего-то онлайн, реально нужно запиливать целое приложение на реактах-ангулярах.

хотя я все равно смотрю на писателей на жикверей, как на неосиляторов.
Аноним 18/11/19 Пнд 17:32:19 #293 №1524148 
>>1524118
И что еще есть, как альтернатива джейквери? Желательно не либа известаня 3.5 смузихлебам.
И в чем преимущества у этих либ переж жеквери будет?
Аноним 18/11/19 Пнд 17:34:08 #294 №1524150 
>>1524146
>>хотя я все равно смотрю на писателей на жикверей, как на неосиляторов.

Если подумаешь - то жеквери очень часто юзают бекендеры. Которым со стороны фронта порою что то нужно сделать быстро и без ебли.
Аноним 18/11/19 Пнд 17:34:28 #295 №1524151 
>>1524148
Сейчас чистый js может практически все тоже самое, что и jquery. Еще несколько лет и он отпадет за ненадобностью. Приправляй только полифилами код через webpack, транспилируй с помощью babel и радуйся.
Аноним 18/11/19 Пнд 17:43:37 #296 №1524155 
>>1524151
Ну труп жикверей еще тащат запиленные на него плагины.

А вообще интересно, есть ли какая-то либа для UI на чистом js? Я бы где-то такое даже применял бы.
Аноним 18/11/19 Пнд 17:55:06 #297 №1524164 
Тут есть те кто с Redis работал?
Реализую очередь на node+redis. Считывание из очереди делаю с помощью brpop(указав ему таймаут), пуш - lpush. Как реализовать следующую штуку:
Кидаем гет-запрос(brpop) на пустую очередь. Тк вытаскивать нечего, ждем указанный таймаут. В это время кидаем пост-запрос(ЛПУШ). Как только в очередь что-то запушилось и это произошло до истечения таймаута у брпоп - он должен вернуть нам эту запись из очереди. Проблема в том, что сейчас если кинуть гет на пустую очередь то брпоп просто блокирует все на время таймаута и следующий запрос с пушем параллельно не обрабатывается.
Аноним 18/11/19 Пнд 17:55:24 #298 №1524165 
>>1524148
Вопрос уровня "докажи что бога нет". Ты сначала докажи что он есть - тогда поговорим. Понимаешь аналогию?

Чистый es6 делает всё то же самое, что делает жквери, кроме анимаций на позиционированиях (они всё равно должны быть запрещены какой-нибудь конвенцией давным-давно, ибо трансформы)
Аноним 18/11/19 Пнд 17:57:17 #299 №1524166 
>>1524155
https://getuikit.com/
Как пример
Аноним 18/11/19 Пнд 17:59:04 #300 №1524168 
>>1524146
Что за бинарное мышление - либо жквери, либо ангуляр? Писать можно на ванилле, а собирать тебе придётся всё равно, как минимум - минифицировать. Если ты предлагаешь даже не минифицировать - то ты просто самозванец от индустрии, и никакого оправдания тебе нет.
Аноним 18/11/19 Пнд 18:38:10 #301 №1524194 
>>1524148
Не слушай долбоебов, спокойно юзай джиквери на своем небольшом проекте, он намного удобнее чистого жс в контексте твоей задачи.
Аноним 18/11/19 Пнд 19:07:41 #302 №1524214 
>>1524151
>>Сейчас чистый js может практически все тоже самое, что и jquery.
>>1524155
>>А вообще интересно, есть ли какая-то либа для UI на чистом js?
>>1524165
>>Чистый es6 делает всё то же самое

Я конечно все понимаю... Я из бэкенд-стороны прилетел, JS знаю нативный, react уровня тудушечки. Немношк Nоde.js использую. Но я чет фрустрирую от ваших местных с заявлениями про "чистый" JS и "либы на чистом JS".
Джейквери - это видимо бинарный пакет на C++.
Ебать у вас цирк.

Аноним 18/11/19 Пнд 19:37:21 #303 №1524230 
>>1524214
Не цирк, а детский сад. А ты чего сюда зашел старый пердун?
Аноним 18/11/19 Пнд 19:41:15 #304 №1524232 
>>1520569 (OP)
Крестобоярин вкатился итт. Не думал что этот день наступит так скоро. Нужно выучить ваш джава мать его скрипт. Обрисуйте вкратце что куда и как.
Аноним 18/11/19 Пнд 19:50:29 #305 №1524237 
>>1524232
Лол, что, qml осваиваешь? Я изучал по learn javascript на инглише, но на сам деле он там используется в довольно урезанном виде.
другой крестобоярин
Аноним 18/11/19 Пнд 19:55:22 #306 №1524239 
>>1523937
Затем, что контекст не заменяет редакс. Редакс - это как контекст на стероидах, если в двух словах. Контекст - это механизм передачи пропсов на разное кол-во уровней вложенностей, а редакс это полноценный стейт менеджер.
Что такое стейт менеджер ты можешь загуглить сам.
Аноним 18/11/19 Пнд 20:01:44 #307 №1524243 
>>1524239
Объясни зачем тебе глобальный стейт менеджмент? Потому что у тебя стейт большой? Ты в стейт пихаешь всякое говно?
Аноним 18/11/19 Пнд 20:06:44 #308 №1524246 
>>1524243
Потому что в современном real-world приложении управление состоянием приложения далеко не такая тривиальная вещь, какой она может показаться на первый взгляд.
Аноним 18/11/19 Пнд 20:08:15 #309 №1524249 
>>1524243
И да, стейт большой и сложная асинхронная логика с кучей сайд эффектов, которые нужно контролировать. Это уже отвечая на твой вопрос.
Аноним 18/11/19 Пнд 20:11:07 #310 №1524250 
>>1524246
Давай с конкретикой, без космических кораблей бороздящих Большой театр.
Аноним 18/11/19 Пнд 20:20:19 #311 №1524256 
>>1524249
Но ведь Редукс вводят для глобального стейта, а потом героически решают проблемы с запросами к бекенду с помощью саги хуяги
Аноним 18/11/19 Пнд 20:23:04 #312 №1524257 
>>1523937
Прост)) все используют редакс, и нам надо. такая же хуйня как микросервисы.
Аноним 18/11/19 Пнд 20:27:00 #313 №1524259 
>>1524257
Потому что вместо того чтобы прокидывать компонненты в пропсах на один два уровня, собирают в глобальны пучок зависимости и хардкодят компоненты на нижнем уровне
Аноним 18/11/19 Пнд 20:32:08 #314 №1524263 
А кстати объясните нубу, чому не сделать несколько топ левел контейнеров и в них читать данные с сервера (типа в componentDidMount), и в чилды передавать данные через пропсы? Я так сделол в своем проекте и вроде никаких проблем не заметил
Аноним 18/11/19 Пнд 20:33:01 #315 №1524265 
>>1524259
Короче пишут на реакте как на vue
Аноним 18/11/19 Пнд 20:33:12 #316 №1524266 
>>1524263
Некрасиво
Аноним 18/11/19 Пнд 20:41:28 #317 №1524272 
>>1524250
Деньги плати - будет информация. Я не буду тратить своё время и всё разжевывать, что бы даже амёба поняла. С опытом поймешь, короче.
Аноним 18/11/19 Пнд 20:44:14 #318 №1524275 
>>1524272
Твоей мамке уже заплатил за минет, она сказала что все включено!
Аноним 18/11/19 Пнд 20:45:35 #319 №1524279 
>>1524275
Окей, амёба.
Аноним 18/11/19 Пнд 20:48:17 #320 №1524283 
>>1524279
Твой туду на редаксе не есть опыт, инфузория
Аноним 18/11/19 Пнд 23:06:49 #321 №1524360 
>>1520569 (OP)
Ребяты, NaN === NaN в хату, подскажите, пожалуйста, годных источников по Angular2-8, желательно гайдов (SPA, архитектурные решения). В гугле был, awesome angular на гите смотрел, хотелось бы лучшие практики от авторитетных ребят, а то что не статья на хабре, то автора в комментах критикуют и обоссывают.
Аноним 18/11/19 Пнд 23:40:00 #322 №1524379 
>>1523805
В спеке то нету, но у имплементаций свой путь(тм). Рантайм чекает, инт у тебя или хуинт, так что скорее всего на твоем любимом интеле будут крутиться твои любимые инты
Аноним 19/11/19 Втр 00:03:16 #323 №1524395 
Подкиньте идею для нодовского приложения с использованием сокетов.
Аноним 19/11/19 Втр 00:04:18 #324 №1524397 
>>1524395
Чатик
Аноним 19/11/19 Втр 00:11:00 #325 №1524398 
>>1524395
Реалтайм цены на крипту с графиками и тп
Аноним 19/11/19 Втр 00:13:36 #326 №1524402 
>>1524397
Любой гайд по сокетам - это обязательно чатик.
Аноним 19/11/19 Втр 00:13:43 #327 №1524403 
>>1523937
ПЕР ФОР МАНС
Когда ты обновляешь стор нормального стейт менеджера - ререндерятся только несколько компонентов. А когда контекс - обновляется все, даже на винду апдейт приходит. И так каждый клик
Аноним 19/11/19 Втр 00:13:58 #328 №1524404 
>>1524402
Ну так это весело.
Аноним 19/11/19 Втр 00:22:37 #329 №1524408 
nd2.PNG
node.PNG
me.gif
>>1524404
>Ну так это весело.
https://blog.teamtreehouse.com/7-awesome-things-can-build-node-js
Аноним 19/11/19 Втр 00:42:46 #330 №1524413 
>>1524408
Охуенно же!
Аноним 19/11/19 Втр 00:49:45 #331 №1524416 
>>1524395
рогалик на фейзере
Аноним 19/11/19 Втр 01:09:19 #332 №1524420 
>>1524395
mud
Аноним 19/11/19 Втр 01:34:31 #333 №1524426 
>>1524395
Двач
Аноним 19/11/19 Втр 02:35:49 #334 №1524440 
Что добавить, чтобы срабатывало только по истечению N времени бездействия на странице?
setTimeout(function(){ location.reload(); }, 300*1000);
Аноним 19/11/19 Втр 02:39:13 #335 №1524441 
>>1524440
а бездействие это что?
Аноним 19/11/19 Втр 02:42:15 #336 №1524442 
>>1524441
Отсутствие активности клавы+мыши+курсора на странице.
Это для violentmonkey
Аноним 19/11/19 Втр 02:51:55 #337 №1524443 
>>1524442
http://qaru.site/questions/21400/detecting-idle-time-in-javascript-elegantly
Аноним 19/11/19 Втр 04:12:34 #338 №1524457 
>>1524214
>Я конечно все понимаю
>все понимаю
Нет. Далеко нет.
Аноним 19/11/19 Втр 08:23:33 #339 №1524480 
>>1524457
Джейквери - не библиотека на чистом JS?
Аноним 19/11/19 Втр 09:06:00 #340 №1524487 
>>1524214
Пиздец, вот ебать ты умный тут, а мы все тупые. Речь идёт о том, чтобы не тянуть либу там, где это не нужно. Для того, чтобы найти элемент на странице и сделать аякс-запрос не нужна библиотека. Особенно не нужна такая библиотека, которая провоцирует отмороженых школьников писать отмороженый код без малейшего понимания происходящего. Истории про "акак мне на класс повесить запрос" и прочие "как на жквери сложить два числа" и прочие "что значит проитерироваться по коллекции элементав???" - это, конечно, заебись, но пора бы отходить от этого.
Аноним 19/11/19 Втр 09:07:12 #341 №1524489 
>>1524426
Была где то борда пару лет назад на ноде.
Аноним 19/11/19 Втр 09:19:45 #342 №1524493 
>>1524487
>> Речь идёт о том, чтобы не тянуть либу там, где это не нужно.
Судя по цитатам тех типов создается впечатление что речь идет именно о том что джейквери - это бинарник на C++
А то что ты пишешь - словоблудие если честно. Я хз как подобрать правильное слово к тому, когда человек многословно пишет банальности и очевидные вещи. Но я примерно понимаю зачем - можно пространно пиздеть на вообще не важные темы, и не программировать.
Я этим так же сейчас занимаюсь.
Короче мы с тобой пиздаболим попусту.
А школьники с тем же успехом и на react и на питоне пишут лютую хуиту. И на нативном JS пишут тоже хуиту.
Хотя не спорю джейквери планочку использования простейших вещей опускает до совсем уж уровня верстальщика. Однако я, что бы сделать последовательную анимацию, не заня в сущности библиотеки вообще - использовал промисы. Что означает что все равно придется глубже лезть в язык.


Аноним 19/11/19 Втр 09:38:04 #343 №1524500 
>то означает что все равно придется глубже лезть в язык.
Типичный оператор жквери. Доку к animate, конечно, мы читать не будем.

Аноним 19/11/19 Втр 12:47:51 #344 №1524580 
>>1524493
>мы пиздаболим
Да нет, тут пиздаболию развел только ты. Что сказать то хотел?
Да, JS говно. Да, есть настолько нелогичные моменты, что пришлось делать огромные надстройки над языком (Jquery, Typescript, etc...). Ты весь такой крутой бекенд-крудошлеп забежал высказать свое фи? Спасибо, очень ценное мнение.
Аноним 19/11/19 Втр 13:07:23 #345 №1524593 
>>1524580
Расскажи про нелогичные моменты пожалуйста
Аноним 19/11/19 Втр 14:09:51 #346 №1524625 
>>1524593
ну там короче ыы как в том видео где wat и пустой масив короче тру возвращает, ты понял да
Аноним 19/11/19 Втр 14:10:38 #347 №1524626 
>>1524580
>>огромные надстройки над языком (Jquery, Typescript, etc...)
Все ебанулись, лол.
Аноним 19/11/19 Втр 14:22:36 #348 №1524632 
завезите в жс человеческие целочисленные типы вместо костыльного бигинта и будет лучший язык
Аноним 19/11/19 Втр 14:27:25 #349 №1524635 
>>1524632
>пук
Аноним 19/11/19 Втр 14:31:05 #350 №1524638 
>>1524635
>шшпррр
нихуя тебе очелло-то раздраконили в этом итт треде)
Аноним 19/11/19 Втр 16:14:32 #351 №1524674 
>2020
>хайп на ноду прошел
>жспетучи вернулись к реальности
Аноним 19/11/19 Втр 16:21:42 #352 №1524679 
>>1524626
С надстройка над ассемблером.
С++ надстройка над С
Qt надстройка над С++
....
ну ты понел
Аноним 19/11/19 Втр 16:25:53 #353 №1524683 
>>1524679
Си самый запутанный язык, потому что есть С++ и С#. JavaScript тоже можно с Java перепутать. PHP в этом намного проще
Аноним 19/11/19 Втр 16:26:30 #354 №1524685 
image.png
>>1524679
Java - надстройка над c++
JavaScript - надстройка над Java
Аноним 19/11/19 Втр 16:28:48 #355 №1524686 
image.jpg
>>1524685
Аноним 19/11/19 Втр 16:35:36 #356 №1524692 
>>1524674
За хайпом идёт стабильность.
Аноним 19/11/19 Втр 16:37:56 #357 №1524697 
>>1524685
Браузер - надстройка над жабаскриптом
Аноним 19/11/19 Втр 16:49:04 #358 №1524706 
Аноны-реактеры, подскажите:
Я в компоненту передаю число. Если число целое, то я просто на страничку добавляю span с этим числом, а если число дробное, то у меня должна возвращаться такая конструкция: <span><span>ЦЕЛАЯ ЧАСТЬ</span><span>,ДРОБНАЯ ЧАСТЬ</span></span>. Как такое реализовывать?
Аноним 19/11/19 Втр 16:57:07 #359 №1524714 
>>1524706
1) В жс все числа - флоаты.
2) Реакт это новый жквери? Как сложить два числа на жквери, как выяснить целую часть на реакте? При чём тут вообще реакт?
3) n % 1 === 0; скажет тебе, 0 там после точки или нет.
Аноним 19/11/19 Втр 17:11:39 #360 №1524723 
>>1524714
Да я знаю как дробную часть вычислить. У меня вопрос про то, как сделать так, чтобы у меня компонента в одном случае она просто в спан запихивала другой спан, а в другом случае запихивала в спан элемент, предварительно обернув его другим спаном.
Аноним 19/11/19 Втр 17:13:59 #361 №1524725 
Анон что можно почитать/посмотреть про Ангуляр? Очень мало нормальных мануалов
Аноним 19/11/19 Втр 17:16:05 #362 №1524728 
>>1524723
if else
Аноним 19/11/19 Втр 17:17:53 #363 №1524729 
>>1524728
А если у меня 6-7 различных ситуаций?
А если у меня есть массив и есть div, как я могу пройти по всему массиву и добавить его элементы внутрь этого дива, обернув каждый из них span?
Аноним 19/11/19 Втр 17:27:56 #364 №1524733 
>>1524723
Ты чё, тютю совсем?
https://reactjs.org/docs/conditional-rendering.html
Аноним 19/11/19 Втр 17:30:18 #365 №1524735 
>>1524729
<div>{array.map( element => <span>{element}</span>)}</div>

Может,стоит доку почитать всё же?
Аноним 19/11/19 Втр 18:43:48 #366 №1524787 
>>1524735
Долго, на стековерфлове есть ответ на любой вопрос
Аноним 19/11/19 Втр 19:08:50 #367 №1524811 
Есть сервер на Node, работающий с api некоторого ресурса, который предоставляет ограниченное количество запросов за определенное время. Как можно реализовать очередь невыполненных запросов для их повторного вызова через некоторое время? Пока пришло в голову только писать свое говно на списке и таймере. Есть какие-то готовые и удобные решения?
Аноним 19/11/19 Втр 19:20:47 #368 №1524825 
>>1524811
https://www.npmjs.com/search?q=keywords%3Arequest%20queue
Аноним 19/11/19 Втр 19:49:37 #369 №1524844 
Как поставить линтер чтоб отформатировать код? Есть какой нибудь гайд для долбоебов?
Аноним 19/11/19 Втр 19:54:04 #370 №1524845 
>>1524825
Ну, допустим, я выбрал throttled-queue. Как в нем использовать несколько ограничений? При чем речь не про ограничение для какого-то конкретного запроса, а про правила этого ограничения. Например: не 20 запросов в секунду, а 20 в секунду и 100 в 2 минуты. Как-то так... Документации особо нет. Возможно, я просто ахуел и требую решения уникальных ситуций... Кто эти модули вообще пишет* Обычные Васяны? И по оценкам других Васянов можно примерно понять чей продукт из Васянов более-менее нормальный?
Аноним 19/11/19 Втр 19:56:05 #371 №1524848 
Почему не работает?

'fun times!'.replace(/[aeiou]/g, '1');
Аноним 19/11/19 Втр 19:57:56 #372 №1524849 
>>1524848
'fun times!'.replace(/[aeiou]/g, '1');
"f1n t1m1s!"
Аноним 19/11/19 Втр 20:07:35 #373 №1524852 
>>1524849
А как заменить совпавшие буквы на заглавные?
s.replace(/[aeiou]/g, '$1'.toUpperCase());
Не работает.
Аноним 19/11/19 Втр 20:08:12 #374 №1524853 
>>1524852
Можно это сделать с replace? Я не хочу дописывать всратые блоки if
Аноним 19/11/19 Втр 20:08:57 #375 №1524854 
image.png
image.png
image.png
Делаю аутентификацию через соц сети с использованием passport. Для гугла и вк все было просто, а вот с фейсбуком я уже часа 3 ебусь и я уже просто не понимаю, чего он от меня хочет. Ради него даже пришлось https на localhost поставить, а он все равно нихуя не хочет работать.
1 скрин результат перехода на https://localhost:3000/auth/facebook
2 и 3 это я указал сайт и редирект в настройках developers.facebook моего приложения
https://pastebin.com/ahCeSnYW
Код, который с паспортом связан, при чем с гуглом и вк все то же самое работает отлично.
Где проёб, мб что еще сделать надо?
Аноним 19/11/19 Втр 20:09:59 #376 №1524855 
>>1524853
>>1524852
Сам решил.
s.replace(/[aeiou]/g, l => l.toUpperCase());
Аноним 19/11/19 Втр 22:05:16 #377 №1524936 
Давайте поиграем? Пишем по одной строчке и собираем программу, запускаем ее и смотрим результат.
Первая строчка:


const 2chProgram = () =>
Аноним 19/11/19 Втр 23:01:12 #378 №1524975 
>>1521261
потому что он ни то, ни другое. Поэтому сидит на дваче и срет в тред всякое гавно.
Аноним 19/11/19 Втр 23:12:12 #379 №1524983 
>>1524936
Отправляйся в /b
Аноним 20/11/19 Срд 00:38:36 #380 №1525021 
>>1524936
alert('Отправляйся в /b');
Аноним 20/11/19 Срд 03:52:52 #381 №1525045 
Сап, котаны, вкатывальщик на проводе.
Насколько хорошо нужно знать js рядовому фронтэндеру?
Я прост смотрю на все эти реакты в связке с редуксами и там чет мало похоже на задачи из учебников по js.
Что будет если сразу начать учить реакт с его jsx?
Аноним 20/11/19 Срд 04:31:24 #382 №1525049 
>>1525045
> Что будет если сразу начать учить реакт с его jsx?
ты найдешь какую-то работу быстрее, чем если бы ты задротил сам js.

Ты сначала осваиваешь весь необходимый на рынке стек технологий на уровне джуна и идешь за опытом, а потом уже задрачиваешь язык до уровня ниндзя-мастера.
Аноним 20/11/19 Срд 06:52:18 #383 №1525079 
>>1525049
Отличный совет. Нахуй нужен он этот жс. Изучай сразу либу к нему.
Аноним 20/11/19 Срд 07:31:50 #384 №1525083 
>>1524936
vat body = $('body')
Аноним 20/11/19 Срд 07:32:30 #385 №1525084 
>>1525083
var*

Аноним 20/11/19 Срд 07:39:01 #386 №1525087 
nordic-gamer-meme-1.jpg
>>1525079
Аноним 20/11/19 Срд 07:40:17 #387 №1525088 
zizdMgwP.png
2019-11-20-0738511920x1080scrot.png
Попрошу всех мутирующих макак выкотится на хуй
Аноним 20/11/19 Срд 08:40:11 #388 №1525098 
image.png
>>1525088
>мутирующих макак
Таких, штоле?
Аноним 20/11/19 Срд 08:48:11 #389 №1525099 
>>1525088
Map создаео новый массив
Аноним 20/11/19 Срд 09:03:31 #390 №1525103 
>>1525099
Я не про мар


Столько хуеты нарозгребал за месяц до сих пор отойти не могу
Встречаю сотни строк копипаст говнища только у ебаных мутантов, просто не мутируйте ебать сложно что ли
Ладно еще жквери мувисирчеры но как можно было дойти до реакта и не мочь в лукапы на 3 строчки высерая такое >>1525088
Аноним 20/11/19 Срд 09:12:04 #391 №1525106 
>>1525103
>как можно было дойти до реакта и не мочь в лукапы на 3 строчки
>>1525049

Аноним 20/11/19 Срд 09:17:40 #392 №1525107 
>>1525106
У этого кода 729 звездочек на гитхабе
Аноним 20/11/19 Срд 09:32:52 #393 №1525109 
>>1525084
>var
Откуда же вы лезете-то.
Аноним 20/11/19 Срд 09:36:22 #394 №1525110 
Господа, нуждаюсь в вашей помощи.
Есть два массива.
let a = ['l', 'o', 'h'];
let b = ['a', 'l', 'o', 'n', 'h'];

Второй массив содержит все символы из первого.
Как проверить массивы на такие совпадения?
Аноним 20/11/19 Срд 09:39:58 #395 №1525111 
>>1525110
В идеале описать функция
function twoArrays(a, b) {
}

которая вернула бы true, если один массив содержит все буквы второго.

twoArrays('loh', 'alonh') //true
twoArrays('loh', 'alonf') //false
Аноним 20/11/19 Срд 09:45:04 #396 №1525113 
>>1525110
https://github.com/lodash/lodash/issues/1743
гуглится за 1 минуту же
Аноним 20/11/19 Срд 09:46:06 #397 №1525114 
>>1525110
Что значит "проверить". Результатом что должно являться? Просто true/false или массив совпадений?

arr.filter(item => arr2.includes(item));
Аноним 20/11/19 Срд 09:46:31 #398 №1525115 
>>1525103
> как можно было дойти до реакта и не мочь в лукапы на 3 строчки

легко >>1525045
Аноним 20/11/19 Срд 09:47:14 #399 №1525116 
>>1525111
const arrayIncludes = (array, includes) => includes.every( inc => array.includes(inc));
Аноним 20/11/19 Срд 09:47:22 #400 №1525117 
IMG20191120094618062.jpg
Аноним 20/11/19 Срд 09:48:15 #401 №1525118 
>>1525113
>мам как сложить два числа на лодаше
Аноним 20/11/19 Срд 09:56:56 #402 №1525120 
>>1525116
такс-такс, что тут у нас? nm? найс
Аноним 20/11/19 Срд 10:08:02 #403 №1525129 
>>1525120
За линейное время слабо?
Аноним 20/11/19 Срд 10:16:15 #404 №1525134 
>>1525129
За (n+m)logn - изи, за линейное - хз, я не олимпиадник. Не уверен, что так вообще можно. Если можно, вбрасывай линк на материал.
Аноним 20/11/19 Срд 10:19:33 #405 №1525135 
>>1525120
Такс-такс, да у нас тут олимпиадное говно с синдромом преждевременной оптимизации?
Аноним 20/11/19 Срд 10:20:25 #406 №1525136 
>>1525129
Сначала нормально сформулированное задание прочитать бы
Аноним 20/11/19 Срд 10:24:01 #407 №1525139 
>>1525134
Точно, я проебался. Линейным можно только если первый массив должен быть строго в таком же порядке во втором массиве (то есть быть подпоследовательностью), почему-то подумал из ОП-примера что это так.
Аноним 20/11/19 Срд 10:39:15 #408 №1525140 
>>1524936
alert('Hello world')
Аноним 20/11/19 Срд 10:40:44 #409 №1525141 
>>1525134
>За (n+m)logn
>>1525129
>За линейное время слабо?
>>1525120
>такс-такс, что тут у нас? nm? найс
За какое n вам тянка даст ?
Аноним 20/11/19 Срд 11:06:36 #410 №1525153 
>>1525088
Ебать, относительно недавно вам дали область видимости переменных, типы до сих пор не завезли в нативный js, а константные значения язык позволяет мутировать... Ох, ебать, и на этом говне ведь кто-то пишет "приложения"...
Аноним 20/11/19 Срд 11:07:09 #411 №1525154 
>>1525117
> Это не в моем стиле
Поставь ESlint, хули ты.
Аноним 20/11/19 Срд 11:23:29 #412 №1525165 
15740573057200.jpg
let a = ['l', 'o', 'h'];
let b = ['a', 'l', 'o', 'n', 'h'];


const fold = (arr,f) => !arr[0] ? true : f(arr[0]) && fold(arr.slice(1),f)

const hui = (a,b) => {


const content = b.map(e => ({[e] : true}) ).reduce( (a,obj) => ({...a, ...obj}) );

const includes = e => !!content[e];

return fold(a,includes);
}
Аноним 20/11/19 Срд 11:29:03 #413 №1525167 
>>1524936
while(true) Math.pow(Infinity, Infinity);
Аноним 20/11/19 Срд 11:31:05 #414 №1525169 
>>1525153
Область видимости была всегда, типы были с самой первой версии, константные значения мутировать нельзя. Если в консте лежит ССЫЛКА на массив или объект - то ссылку мутировать и нельзя. Сам объект или массив тут уж точно ни при чём.

Неосилятор неосилил и жалуется, спешите видеть.
Аноним 20/11/19 Срд 11:31:30 #415 №1525170 
>>1525088
ОХСУКАБЛЯНАХУЙ!
Аноним 20/11/19 Срд 11:40:10 #416 №1525175 
15741552525660.gif
>>1525165
Чето никто не оценил мое имутабельное линейное литкодное решение
Аноним 20/11/19 Срд 12:01:11 #417 №1525186 
>>1525175
Что в нём линейное?
Аноним 20/11/19 Срд 12:23:11 #418 №1525194 
>>1525088
А почему не все в одном мапе?
Аноним 20/11/19 Срд 12:49:21 #419 №1525226 
Аноны, есть вопрос по гитхабу и реакту, знаю что есть тред отдельный по это все, но все же.

Вот я создал репу на гитхабе, запушил, решил сделать ветку gh-pages для хостинга там. В новую ветку перешла весь мастер целиком, хотя мне по сути нужны только внутренности папки build. В итоге я нашел npm gh-pages, с которым все получилось, но пришлось добавлять 2 скрипта и еще одно свойство в джейсонину, это какая-то хуита.

Как это делается все руками? Как это делается по-человечески? Ветка gh-pages создается заранее и в неё заливается только build? Или папка отдельно заливается руками? Или тот npm пакет это дефолтный вариант?
Аноним 20/11/19 Срд 12:52:17 #420 №1525229 
>>1525175
Слишком много грязи
Аноним 20/11/19 Срд 13:21:56 #421 №1525241 
>>1525088
Поясните, что тут происходит. Массив, который подвергается .map(), содержит объекты, поэтому возвращается массив с изменёнными объектами.
Я правильно понял?
Аноним 20/11/19 Срд 13:39:45 #422 №1525251 
>>1525169
>Область видимости была всегда
Да, блять, что еще скажешь, кловн? У вас ебучий var на всю программу расползался, где бы его не объявили...
>типы были с самой первой версии
Опять же, какие нахуй "типы с самой первой версии"??? У вас любое объявление аргумента функции не сопровождается ничем, сиди, блять, гадай что это за хуйня и что она принимает на самом деле, то ли объект, то ли строку, то ли еще какую хуйню или изучай код этой ебучей функции...
>ссылка
Какая еще, нахуй, ссылка? На
const hui = {
hui: 'jopa'
};
console.log(hui);
hui.tupoi = 'pidor';
console.log(hui);
и иди на хуй. Продолжай писать и хвалить свое говно, чмо от мира айти...
Аноним 20/11/19 Срд 13:45:32 #423 №1525258 
>>1525251
>У вас ебучий var на всю программу расползался, где бы его не объявили...
>У вас ебучий var на всю программу расползался, где бы его не объявили...
Пиздос. Ты жс-то в глаза видел когда-нибудь или прочитал эту хуйню где-то? Зайди блять в jsfiddle и проверь свою охуительную теорию, прежде чем открывать рот, пхпшник.

>сиди, блять, гадай что это за хуйня и что она принимает на самом деле, то ли объект, то ли строку
Это не значит, что в языке нет типов, даун, это значит что нет строгой типизации. Вот это новость, охуеть.

>Какая еще, нахуй, ссылка?
Как бы тебе блять объяснить, что такое передача по ссылке вообще понимаешь? В hui не объект, там ССЫЛКА блять на объект. Смотри.

const a = {test:'name'}
const b = a;
a.test = 'jopa';
console.log(a.test, b.test)// jopa jopa

Эту ссылку ты изменить не можешь. Сам объект - можешь, но это блять уже никак не претензия к const, const свою работу делает как и должен. В жс объекты ВСЕГДА передаются по ссылке.


Аноним 20/11/19 Срд 13:46:00 #424 №1525259 
>>1525251
hui = "ebalTvoyuMamku" выдаст выдаст ошибку
hui = {} тоже

ты же вносишь изменения в объект, который есть reference type, а не перезаписываешь ячейку памяти hui
Аноним 20/11/19 Срд 13:47:39 #425 №1525263 
>>1525259
Да толку ему объяснять, видно же что это залётный какой-то из окодемических языков типа паскаля завалился.
Аноним 20/11/19 Срд 13:49:47 #426 №1525269 
>>1525165
Зачем в content использовать map? Можно же сразу reduce
const content = b.reduce((a, i) => (a = true, a), {})
Аноним 20/11/19 Срд 13:50:44 #427 №1525270 
Хуясе, жабо-шиза пытается отстаивать "уникальность и полезность" своего недоязыка... Подрыв был виден даже с Марса, держу в кусе.
Аноним 20/11/19 Срд 13:51:34 #428 №1525272 
>>1525270
>обосрался в базовых понятиях
>пукни напоследок
Аноним 20/11/19 Срд 13:52:09 #429 №1525273 
>>1525258
А как запилить иммутабельный объект? Ну, чтобы нельзя было ебануть что-то типа
hui.hui = 'pidor';
другой анон
Аноним 20/11/19 Срд 13:53:56 #430 №1525277 
>>1525273
Заморозить жи! https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze

а ещё можно запрещать изменение отдельных свойств через флаги
Аноним 20/11/19 Срд 13:54:30 #431 №1525279 
>>1525273
Object.freeze()
Но ситуация с объектами внутри объектов остаётся такая же - ссылки заморозишь, сами объекты нет.
Аноним 20/11/19 Срд 13:56:42 #432 №1525283 
>>1525272
Чел, я готов не то что пукнуть, я бы тебе все твое лицо обосрал и размазал бы твоей же рукой... Ты начал выебываться тем, как знаешь "базовые понятия", упуская основной момент - язык полнейшая хуйня с дырами... Ах, блять, ну ладно-ладно, наверное, это такие фиииииичи.........
Аноним 20/11/19 Срд 13:57:51 #433 №1525285 
>>1525277
Щас я тебя заморожу, тупой кусок говна, чтобы ты перестал писать на этом говне...
Аноним 20/11/19 Срд 13:58:57 #434 №1525287 
>>1525283
Тебе ничего делать не нужно, ты уже всё сделал - при попытке рассказать про дыры и про хуйню ты обосрался и показал, что язык ты просто не знаешь. О чём вообще с тобой можно разговаривать, у тебя же кругозор и айкью как у хлебушка.
Аноним 20/11/19 Срд 14:02:12 #435 №1525290 
Ребята, хватит ссориться. Лучше подскажите новичку!

Есть массив [2, 4, 7, 8, 10, 12].

Нужно найти индекс лишнего числа. Лишнее число - 7, т.к. оно единственное нечетное.

Другой вариант массива: [1, 3, 5, 8, 11].

Лишнее - 8, т.к. единственное четное.

Как определять лишнее число по таким условиям? Должна быть одна функция, которая определяет лишнее число в двух этих случаях.
Аноним 20/11/19 Срд 14:02:28 #436 №1525291 
>>1525273
Ну многие обмазываются вот этим - https://github.com/immutable-js/immutable-js

>>1525277
Оно заморозит только поля верхнего уровня, но все вложенные объекты останутся мутабельными.
Аноним 20/11/19 Срд 14:05:01 #437 №1525292 
>>1525290
Фантастически хуёво придуманая задача. Она точно так выглядит?
Аноним 20/11/19 Срд 14:07:42 #438 №1525293 
>>1525292
>Она точно так выглядит?
Да.

Пока что придумал это:
const result = arr.map( x => x % 2 === 0 );

Так я получаю массив [true, true, false, true, true, true].

Осталось понять, как выбрать единственное из всех элементов. И найти его индекс.


Аноним 20/11/19 Срд 14:08:10 #439 №1525295 
>>1525287
>хлебушка
Какое же ты жалкое и мерзкое говно, смузи свое допил? А кофе брейк провел, пидарасина?
Аноним 20/11/19 Срд 14:08:30 #440 №1525296 
>>1525285
Создать два массива - один для чётных чисел, второй для нечётных. Проверять по arr%2 == 0.
Вернуть значение массива с длиной 1.
Аноним 20/11/19 Срд 14:10:35 #441 №1525298 
>>1525296
->
>>1525290
Аноним 20/11/19 Срд 14:11:54 #442 №1525300 
>>1525296
Мне не значение нужно найти, а индекс этого значения. Если у меня нужное значение будет в новом массиве, его индекс будет 0.
Аноним 20/11/19 Срд 14:13:41 #443 №1525302 
>>1525300
упс, в шары долблюсь
тогда возвращаешь .indexOf() значения в "единичном" массиве
Аноним 20/11/19 Срд 14:14:08 #444 №1525303 
>>1525296
Тупое хуйло хотело что-то ответить мне, наверное, в очередной раз доказать какой у них удобный язык, функциональный. Но увидев очередного хуесоса >>1525290 , который решил вкатиться в это говно по рассказам о 300к/нсек (и поэтому пришел сюда со своим говном "задачка с массивами"), быстро переключился на него, ведь это единственная для него еда тут, на большее никто тут не способен.
Аноним 20/11/19 Срд 14:16:41 #445 №1525307 
>>1525303
Маня, охлади свой пыл. Учу язык для себя. Развиваюсь всесторонне, понимаешь? Хотя ты кроме хуйло, хуесос, бля, сука, ы ничего не понимаешь, очевидно.
Аноним 20/11/19 Срд 14:17:36 #446 №1525309 
>>1525307
Хуйло, я понимаю что ты хуйло....
Аноним 20/11/19 Срд 14:23:50 #447 №1525313 
>>1525309
>пук
>среньк

Ты тут самый умный, молодец!
Аноним 20/11/19 Срд 14:25:43 #448 №1525316 
>>1525302
Решил задачу костылями, но решил.

function nTest(numbers) {
const arr = numbers.map( x => x % 2 === 0 );

if ( arr.filter(x => x).length < arr.filter(x => !x).length ) {
return arr.indexOf(true)
} else {
return arr.indexOf(false)
}
}
Аноним 20/11/19 Срд 14:28:05 #449 №1525317 
>>1525313
>кринж
Кринж....
Аноним 20/11/19 Срд 14:30:36 #450 №1525320 
>>1525303
Ты какой-то ненормальный. Я вообще с тобой не разговаривал, просто промазал по сообщению того анона. Зачем ты тут кидаешься калом? Тебе больше заняться нечем?

>>1525316
У меня в голове был такой вариант

function getN(arr) {
const even = [], odd = [];
arr.forEach(item => item % 2 ? odd.push(item) : even.push(item));
return arr.indexOf(even.length == 1 ? even[0] : odd[0])
}
Аноним 20/11/19 Срд 14:30:45 #451 №1525321 
korjdlyatortaprostoi-364500.jpg
>>1525317
Аноним 20/11/19 Срд 14:31:13 #452 №1525323 
>>1525317
Еще и модный! Ух какое слово подхватил, умничка.
Аноним 20/11/19 Срд 14:31:21 #453 №1525324 
>>1525295
По затухающей идут твои потуги что-то высказать по теме. Через пару сообщений уже хрюкать начнёшь.
Аноним 20/11/19 Срд 14:32:41 #454 №1525328 
>>1525323
>>1525295
Аноним 20/11/19 Срд 14:33:00 #455 №1525330 
>>1525290
Задача хуёвая, потому что не имеет отношения к жизни. В жизни не бываает "массивов с только одним лишним элементом". А если их там два? А если их три из шести?
Аноним 20/11/19 Срд 14:33:18 #456 №1525331 
>>1525324
>>1525328
Аноним 20/11/19 Срд 14:34:19 #457 №1525334 
>>1525331
Ч.Т.Д
Аноним 20/11/19 Срд 14:35:58 #458 №1525335 
>>1525334
Тебе мой хуй не сильно жмет твоей жопе?
Аноним 20/11/19 Срд 14:36:02 #459 №1525336 
>>1525320
Да, вариант рабочий.
Еще одна вариация того же:

function getN(numbers) {
...const odd = numbers.filter( x => x % 2 === 1 );
...const even = numbers.filter( x => x % 2 === 0 );
...return odd.length < even.length ? (numbers.indexOf(odd[0]) + 1) : (numbers.indexOf(even[0]) + 1);
}

Спасибо за помощь. :3
Аноним 20/11/19 Срд 14:36:50 #460 №1525337 
>>1525330
Эти задачи нужны для вбивания в голову различных методов. Чем я и занимаюсь.
Аноним 20/11/19 Срд 14:39:00 #461 №1525338 
на тайпскрипте можно че нибудь создать нормальное?
Аноним 20/11/19 Срд 14:41:50 #462 №1525339 
>>1525336
[code]const findUnwanted = numbers => {
\tconst remainders = numbers.map(number => number %2);
return remainders.findIndex( remainder => remainders.indexOf(remainder) === remainders.lastIndexOf(remainder))
}[/code]
Аноним 20/11/19 Срд 14:42:19 #463 №1525340 
>>1525338
Конечно.
Аноним 20/11/19 Срд 14:43:35 #464 №1525341 
>>1525339
Обосрался с разметкой и неймингом. Вот, короче.

const numbers = [2, 4, 7, 8, 10, 12];
const anotherNumbers = [1, 3, 5, 8, 11]

const findIndexOfUnwanted = numbers => {
\tconst remainders = numbers.map(number => number %2);
return remainders.findIndex( remainder => {
\treturn remainders.indexOf(remainder) === remainders.lastIndexOf(remainder)
});
}

console.log(findUnwanted(numbers), findUnwanted(anotherNumbers));
Аноним 20/11/19 Срд 14:47:33 #465 №1525343 
>>1525341
Уже нашел для себя оптимальный вариант >>1525336, благодарю.
Аноним 20/11/19 Срд 14:51:18 #466 №1525344 
>>1525336
У меня сложность ниже>>1525343
Не очень понятно, чем он оптимален, но читать и понимать суть его работы мне лично гораздо тяжелее, чем в >>1525341
Аноним 20/11/19 Срд 14:57:50 #467 №1525345 
>>1525344
Хах, а мне наоборот читать и понимать легче >>1525336
Это же на вкус и цвет.
Аноним 20/11/19 Срд 14:58:34 #468 №1525346 
>>1525345
Тебе вот это
odd.length < even.length ? (numbers.indexOf(odd[0]) + 1) : (numbers.indexOf(even[0]) + 1);

Читать легче, чем
remainders.indexOf(remainder) === remainders.lastIndexOf(remainder)
?

Ну хуууууууй знает.
Аноним 20/11/19 Срд 14:59:46 #469 №1525347 
>>1525346
Ну обычный тернарник же. а мне нравятся тернарники
Аноним 20/11/19 Срд 15:06:44 #470 №1525355 
>>1525347
Всем нравятся тернарники
Аноним 20/11/19 Срд 15:07:02 #471 №1525357 
Еще вопросик есть.

Строка:
const str = '123a4v5';

Как с помощью регулярки вытащить только цифры?

Делаю:
str.match(/\d+/)

Получаю:
["123", index: 0, input: "123a4v5", groups: undefined]
Аноним 20/11/19 Срд 15:10:01 #472 №1525362 
>>1525357
Пока получилось так:
parseInt(str.match(/\d+/g).join(''))
Аноним 20/11/19 Срд 15:24:37 #473 №1525369 
>>1525346
function getN(numbers) {
...const odd = [];
...const even = [];
...numbers.forEach((num, index) => num % 2 ? even.push(index), odd.push(index));
...return odd.length < even.length ? odd[0] : even[0];
}
Аноним 20/11/19 Срд 15:54:20 #474 №1525392 
Как перевести строку '0000' в number?
Аноним 20/11/19 Срд 15:59:11 #475 №1525395 
>>1525392
parseInt
Аноним 20/11/19 Срд 15:59:30 #476 №1525396 
>>1525369
Первосортный говнокод
Аноним 20/11/19 Срд 16:00:01 #477 №1525397 
>>1525395
parseInt('0000', 10) возвращает 0
Аноним 20/11/19 Срд 16:02:10 #478 №1525399 
>>1525397
[...'0000'].map(Number)
Аноним 20/11/19 Срд 16:02:14 #479 №1525400 
>>1525397
Блядь, я аутист. Как number выведет 0000...
Аноним 20/11/19 Срд 16:23:31 #480 №1525404 
>>1525320
Такс, блэт. Вот более лучшее решение, здесь алгоритм не будет обходить массив до конца, если на то нет надобности.

function getN(arr) {
  let even, odd;
  for (let i of arr) {
      if (even != undefined && odd != undefined) return i % 2 ? arr.indexOf(even) : arr.indexOf(odd);
      else i % 2 ? odd = i : even = i;
  }
}
Аноним 20/11/19 Срд 16:32:38 #481 №1525409 
>>1525397
В смысле, а ты что хочешь?
Аноним 20/11/19 Срд 16:38:51 #482 №1525414 
>>1525409
Забей, я просто седьмой час ковыряю жс, уже башню клинит.
Аноним 20/11/19 Срд 16:43:16 #483 №1525421 
>>1525079
Тот же вкатывальщик.
Так я ведь почему спрашивал, смотрю всякие туду листы в связке реакт+редукс и вижу, что там код абсолютно не похож. Ни синтаксис, ни вообще то, что делается.
Да и почему нет? Работали же люди с жиквари без знания языка.
К тому же, я не говорил о том, чтобы не учить язык вообще, просто не углубляться в него особо.
Скажем, освоить его на уровне решения простых задач из учебника, чтобы знать синтаксис и как он в общем работает.
А дальше сразу переходить к реакту и редуксу.
Аноним 20/11/19 Срд 16:47:28 #484 №1525425 
>>1525421
Что ты несёшь? Ты куда-то не туда смотришь. Не похож на жс только jsx, да и тот под капотом - просто вызовы react.createElement, всё остальное - это чистый самый обычный жс. Ткни пальцем - где в редуксе и реакте не жс?
Аноним 20/11/19 Срд 16:56:00 #485 №1525433 
Аноны вы же знаете разницу между isNaN() и Number.isNaN() ?
Аноним 20/11/19 Срд 16:56:26 #486 №1525434 
>>1525425
https://ru.reactjs.org/
Ткни, плиз, пальцем, где он там похож, на код, который вы обсуждали выше?
То есть очень может быть, что ты прав, есть же if and similarity of function, но так-то, со стороны, это мало похоже на копание в массивах, приведеннлое сверху.
Аноним 20/11/19 Срд 16:58:31 #487 №1525438 
>>1525404
А если мне надо два вхождения найти ?
Аноним 20/11/19 Срд 17:01:53 #488 №1525439 
>>1525165
Пирожок, можешь по шагам расписать, что тут происходит, для менее сообразительных пирожков?
Аноним 20/11/19 Срд 17:02:39 #489 №1525441 
>>1525434
1) С чего ты решил, что программирование на жс должно выглядеть как сплошоное копание в массивах? Код по ссылке выглядит как любой другой код на жс за исключением, опять же, jsx. Копания в массивах и объектах в редуксе и реакте полно.
2) Без умения копаться в массивах ты вообще нихуя в реальной жизни не напишешь.
Аноним 20/11/19 Срд 17:09:26 #490 №1525450 
>>1525441
Ну ок, убедил.
Аноним 20/11/19 Срд 17:17:02 #491 №1525456 
Подскажите, будьте добры. Есть ли метод, который заменит мне все undefined в массиве на что-нибудь? Или есть самая короткая и простая реализация?

Например, заменить на пробел. Массив:
["u", "r", undefined, "s", "e", undefined, "w"]

Нужно получить:
["u", "r", " ", "s", "e", " ", "w"]
Аноним 20/11/19 Срд 17:18:51 #492 №1525457 
.
Аноним 20/11/19 Срд 17:18:54 #493 №1525458 
>>1525456
["u", "r", undefined, "s", "e", undefined, "w"].map(item => typeof item === "undefined"?"":item);
Аноним 20/11/19 Срд 17:19:10 #494 №1525459 
>>1525456
array.map( item => item === undefined ? ' ' : item);
Аноним 20/11/19 Срд 17:19:13 #495 №1525460 
>>1525456
Пока решил проблему map'ом.

string.map( el => el === undefined ? ' ' : el)
Аноним 20/11/19 Срд 17:19:40 #496 №1525461 
>>1525459
>>1525458
Благодарю, значит правильно решил >>1525460
Аноним 20/11/19 Срд 18:14:42 #497 №1525492 
>>1525421
Завтра ищешь в интернете книжку HTML5 Canvas. Похуй если ничего не поймешь. Затем идешь на w3.org и изучаешь стандарты от корки до корки. Потом зубришь, именно, сука, вызубриваешь содержимое сайта developer.mozilla.org, чтобы от зубов отскакивало. Когда напишешь свой первый сайт - видеоредактор, по пути детально разобравшись в WebGL, скачиваешь и изучаешь любой редактор, рекомендую Notepad++ или Adobe Dreamweaver. Как переделаешь редактор, чтобы можно было добавлять объекты из 3DSMax и красивые 3D-переходы, можешь идти дальше - тебя ждет увлекательный мир JavaScript. WebCL, XUL, сверхбыстрый асинхронный Node.JS, сверхмощная мозговыебывательная многоуровневая обфускация. Отсос хиккующих выблядков / просто неудачников типа рейфага или Flash/Silverlight-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
Аноним 20/11/19 Срд 18:56:01 #498 №1525501 
Аноны, подскажите, как в реакте элементу прописать два стиля?
Т.е. у меня есть CSS модуль в котором прописано два стиля, stil1,stil2. Я хочу, чтобы к элементу применились сразу два этих стиля. Как такое прописывать?
Аноним 20/11/19 Срд 19:01:26 #499 №1525505 
>>1525501
<div style={Object.assign(style, style2)}>

или

<div style={{...style, ...style2}}></div>
Аноним 20/11/19 Срд 19:06:06 #500 №1525511 
>>1525505
Первая вылетает с ошибкой Cannot assign to read only property '0' of object '[object String]'.

Во втором случае className не реагирует {...style} и просто последний присваивает.
Аноним 20/11/19 Срд 19:08:17 #501 №1525513 
>>1525461
Кмк, filter тут по смыслу лучше (поведение отличается):

arr.filter(Boolean)
arr.filter(i => i !== undefined)
Аноним 20/11/19 Срд 20:01:53 #502 №1525542 
Аноны, подскажите пожалуйста для очередного вкатывальщика - какой курс (с торрентов конечно) или книгу для изучения основ брать? И вопрос номер 2 - я уже знаю как создавать функции, объекты но задачи решаю в основном математические (codewarriors) - где брать задачи которые больше будут похожи на чем придётся заниматься на реальной работе в офисе?
Аноним 20/11/19 Срд 20:03:31 #503 №1525543 
>>1525542
Upd html + css уже пишу, пока правда без адаптива но на препроцессоре scss
Аноним 20/11/19 Срд 20:42:20 #504 №1525564 
>>1525492
>и уже через пол года
работы. А перед этим, видимо, потратить несколько лет на хуйню в твоем посте?
Аноним 20/11/19 Срд 20:48:24 #505 №1525567 
>>1525542
ну так тудулист же, потом тудулист на фреймворке, потом тудулист чтобы дергал тудушки с сервера.
А реальные приложения это те же тудулисты, только в бОльших масштабах.
Алгоритмические задачки кажутся бессмысленными, но они заставляют твой мозг искать и находить оптимальные решения, а этот навык легко переносится и на более высокоуровневые решения.
А реальные проекты для бизнеса это в большинстве своем скучное формошлепство. А на бекенде крудошлепство.
Аноним 20/11/19 Срд 20:53:09 #506 №1525571 
>>1525542
Если ты идешь именно на фронта, то скорее всего на работе придётся писать и переписывать некое SPA - на React/Vue (+Redux/Mobx/Vuex). Вёрстка так или иначе будет, поэтому флексы/гриды нужны, неплохо уметь верстать по PSD макету. Есть вариант, что у тебя будет какое-то говно-легаси, тогда придётся иметь дело с jquery (старайся избегать этого).

Курс надо брать тот, который тебе зайдёт. На ютубе/coursehunters вариантов хватает.
Аноним 20/11/19 Срд 21:04:06 #507 №1525579 
>>1525543
Делай дефолтные тудушки.
Читай доку по реакту + редаксу/мобх. Этого для начала хватит.
Можешь поднять бек на експрессе с какой нить бд.
>>1525511
конкатишь stilи в className'е
Аноним 20/11/19 Срд 21:05:18 #508 №1525580 
>>1525564
Ну иди в питон тогда, вот инструкция

Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
Аноним 20/11/19 Срд 21:10:32 #509 №1525585 
>>1525567
>>1525571
>>1525579
Дякую
Аноним 20/11/19 Срд 21:12:44 #510 №1525587 
>>1525571
Че для ноды можно сделать для портфолио? Кроме чятика. Мини-борду? Прикрутить вокруг чятика соцсеть? Что котируется работодателями?
Аноним 20/11/19 Срд 21:23:55 #511 №1525595 
>>1525579
Спасибо анончик, помогло.
Аноним 20/11/19 Срд 21:37:04 #512 №1525605 
>>1525492
dva chuyu
Аноним 20/11/19 Срд 23:06:04 #513 №1525678 
>>1525492
> Когда напишешь свой первый сайт - видеоредактор
> можешь идти дальше - тебя ждет увлекательный мир JavaScript
Как он сделает сайт-видеоредактор без увлекательного мира JS?
День прожил не зря.
Аноним 20/11/19 Срд 23:28:52 #514 №1525699 
Запускаю значит сервер на localhost и все работает как надо, но потом подключаю ноут к другому вайфаю, врубаю сервер и мне пишет, что страница недоступна ERR_EMPTY_RESPONSE.
Помогите анончики, что это за хрень вообще?
Аноним 21/11/19 Чтв 00:04:07 #515 №1525724 
>>1525678
Тогда можно так начать

Завтра ищешь в интернете книжку jQuery in action. Похуй, если ничего не поймешь. Затем идешь на MDN и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию жопоскриптового кода от W3Schools, чтобы от зубов отскакивало. Когда напишешь свой первый слайдер, по пути изучив верстку на html + css, скачиваешь и изучаешь любой джаваскриптовый фреймворк, рекомендую AngularJS. Как переделаешь слайдер, чтобы не использовал jQuery и грузил картинки через $http, можешь идти дальше – тебя ждет увлекательный мир фронтэнда. React/Redux, TypeScript, вебпак, бабели-шмабели. Отсос у хиккующих выблядков/просто неудачников типа питонистов или сишарп/джава-хуесосов, которые не размазывают макароны по экрану не заставит себя ждать, и уже через полгода ты будешь писать такие конфиги, что любой хипстер будет течь при упоминании твоего shit.js на npm.
Аноним 21/11/19 Чтв 06:57:06 #516 №1525779 
>>1525441
Чет проигрунькал.

Чувак не знает языкнейм, смотрит на либу и думает "Ебать, что-то это не похоже на языкнейм". Логично.

Аноним 21/11/19 Чтв 07:01:22 #517 №1525780 
>>1525571
Че вы так жикавери не любите. Нормальная либа жи, а говно писать можно и на ваниле и на тайпскрипте.

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

jQuery, the most popular JavaScript library ever created, is used in 85.03% of desktop pages and 83.46% of mobile pages.

https://almanac.httparchive.org/en/2019/javascript#open-source-libraries-and-frameworks

Лодаш на жалких 2% страниц всего используется.
Аноним 21/11/19 Чтв 08:12:32 #518 №1525784 
JePcQkT.png
>>1525780
Ты даун? Вам, одаренным, уже несколько лет на пальцах объясняют, что весь набор фич кверей перекочевал в ядро языка и просто нет больше таких причин, которые бы могли заставить использовать жукавери.
Аноним 21/11/19 Чтв 08:33:19 #519 №1525786 
>>1525784
Ну перекочевал, и что? Это блять делает либу плохой чтоли?
Аноним 21/11/19 Чтв 08:35:39 #520 №1525787 
nordic-gamer-meme-1.jpg
>>1525786
>Это блять делает либу плохой чтоли?
Аноним 21/11/19 Чтв 09:00:39 #521 №1525793 
>>1525784
>>что весь набор фич кверей
Что за фичи, назови хотя бы три самых важных. Которые перекочевали в "ядро" языка из джейквери.
И ты вообще понимаешь один из основных смыслов существования фреймворка, любого?


Я думаю что большая часть рассуждений "джейквери не нужон, переписываем все говномагазины на реакт" - просто пиздабовльство очень поверхностно разбирающихся в этом вопросе людей. Адекватных аргументов почему джейквери в своей нише плох обычно не приводится.





Аноним 21/11/19 Чтв 09:12:10 #522 №1525795 
image.jpg
>>1525786
Раньше, чтобы забить гвоздь ты пользовался молотком.
Потом, со временем, научился забивать гвозди голыми руками. Зачем тебе таскать с собой молоток, если бы уже можешь забивать гвозди голыми руками?
Аноним 21/11/19 Чтв 10:05:53 #523 №1525800 
>>1525795
И что блять, молоток это после этого хуевый инструмент? Ты реально не видишь изъянов в логике?
Аноним 21/11/19 Чтв 10:23:40 #524 №1525807 
Жиквери-господин это старый пердун на прикормленном месте и он отдает себе отчет, что он поддерживает легаси, но деньги/лень служат ему оправданием.

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

Нет смысла этим уважаемым дарованиям доказывать что-то обратное. Жиквери это их объективный уровень и их судьба. Не трогайте их и обходите их посты стороной.
Аноним 21/11/19 Чтв 11:14:32 #525 №1525826 
>>1525795
>>1525807
Вы просто несете необоснованную максималисткую хуиту. Просто поверхностная болтовня - максимальная степень аргументации - это кривенькие аллегории.
А на самом деле вы не понмаете где реально плох/хорош джейквере, и где нужен и не нужен реакт.
На прямо поставленные вопросы в духе >>1525793
Вы ответить не способны.
Потому что в статейках вашего уровня нет адекватной аргуметации почему плохол/хорошо,а статьи крутых перцев которые реально разбираются в вопросе вам не потянуть.


Аноним 21/11/19 Чтв 11:16:42 #526 №1525827 
>>1525795
Хм, у тебя какой то косяк в логике. Ситауция обратная JS - голые руки, джеквери - молоток.
Аноним 21/11/19 Чтв 11:52:42 #527 №1525838 
>>1525793
>Что за фичи, назови хотя бы три самых важных
sizzle => querySelector
ajax => fetch
deffeded => Promise
.animate => css transform

Больше в жквери нихуя и нет.

>джейквери не нужон, переписываем все говномагазины на реакт
А хули ты бросаешься из крайности в крайность? Как раз это - признак пиздабольства плохо разбирающегося человека. Реакт/Vue/Angular/Lodash НЕ АЛЬТЕРНАТИВА жквери, и никто об этом и не говорит. Альтернатива жквери - это es6, DOM API, Browser API. Нативные инструменты платформы. Никто не призывает "переписывать магазины на реакт", предлагают в следующий раз при разработке магазина не подключать жукверь, а просто напистаь обычный код на обычном голом жс. Для того чтобы найти элемент на странице и скрыть его ЖКВЕРИ НЕ НУЖЕН. Чтобы повесить на пару кнопок обработчики ЖКВЕРИ НЕ НУЖЕН. Чтобы сделать аякс-запрос ЖКВЕРИ НЕ НУЖЕН. А ведь это именно то, ради чего жквери подключен в 99% твоих "магазинов". Видел я эту хуйню,

$('.knopka').on('click', function(){
$(this).parent().siblings().find().parent().parent().next().closest()})
и вот эта вот хуйня бесконечная. Идиотский бестолковый траверс ДОМ 24/7 просто потому что ЖКВЕРИ МНЕ РАЗРИШИЛ ТАК ДЕЛАТЬ Я ВИДЕЛ ВСЕ ДЕЛАЮТ и полная пустота в голове, ни понимания первичности данных в интерфейсе, ни базы языка, нихуя, только говнкод и траверс ДОМ на каждый клик - вот и вся реальная практика жквери. А, ну да, ещё слайдер с пердежом килобайт на 500 и пара охуительных плагинов ещё на метр. Вот житуха-то. НУ НЕ НА РЕАКТЕ ЖЕ ДЕЛАТЬ ВЫ ЧТО БЛЯТЬ

Аноним 21/11/19 Чтв 11:58:59 #528 №1525841 
>>1525800
Да нет, нормальный. Просто НЕ НУЖЕН. Не нужно класть его в чемодан в каждую поездку, возить с собой в трамвае и в лифте и плакать если вдруг забыл его дома. Он всё так же хорош для тех, кто ни одного гвоздя в жизни не забил, но ТЕБЕ он больше не нужен. И нехуй его таскать с собой. Понимаешь?
Аноним 21/11/19 Чтв 13:19:46 #529 №1525883 
>>1525838
Скажи мне - в чем основной смысл существования любого фреймворка?
Аноним 21/11/19 Чтв 13:20:33 #530 №1525884 
>>1525883
п.с. кто реально разрабатывает коммерчеси думаю без вопросв поймет в чем суть.
катитнсь нахуй отсюда Аноним 21/11/19 Чтв 13:45:43 #531 №1525896 
>>1525895 (OP)
>>1525895 (OP)
>>1525895 (OP)
>>1525895 (OP)

Аноним 21/11/19 Чтв 14:32:51 #532 №1525937 
>>1525883
В штабильности и инфрастуктуре
Аноним 21/11/19 Чтв 15:24:53 #533 №1526002 
>>1525937
И в стандартизации. Может даже в основном в стандартах дело.
Люди имея на руках библиотеки с отличной документацией, с примерами бест-практикс, с самой структурой побуждающей писать определенным порядком - умудряются так костылить и велосипедить,так что хоть свет туши.
Тот анон в пример написания нативным JS ставил какой то всратый слайдер. Заебись сложность, космическая.
А ты хотел бы ковырять приложение в котором какой нибудь маня-деятель наебашил свой реакт, с редуксом и сагами? Наебашил - ну как шмогла, документация - ебись сам, надежность велосипеда - а хуй его знает.
Аноним 23/11/19 Суб 17:11:27 #534 №1527727 
>>1525241
Ты че дебил блядь, там один и тот же код копируется, меняется значение, которое собственно приходит каким-то аргументом.
Это же пиздец нахуй. Ты че ебанат ебанный рот, пиздец не пиши нахуй больше ничего
Аноним 24/11/19 Вск 09:58:05 #535 №1528238 
>>1525241
>Поясните, что тут происходит.
>Массив, который подвергается .map(),
>содержит объекты,
>поэтому возвращается массив с изменёнными объектами.
>Я правильно понял?
Вообще-то массив не "подвергается map",
а скорее при помощи .map,
каждый элемент массива - изменяется функцией, указанной после стрелки. Эти элементы - возвращаются. А сам массив, никуда не возвращается, он присваивается переменной taskUpdated.

Вот, для наглядности, её контент.
Введи это, в консоли браузера у себя там:

var task = {id: 2}; //вводные для инициализации
var user = {tasks: [{id: 0}, {id: 1}, {id: 2}, {id: 3}]}; //и это.

var taskUpdated = user.tasks.map(t => { //функция-хуюнкция
\tif(t.id === task.id){
\t\tt.type = 'done';
\t\treturn t;
\t}
\treturn t
})

//смотри в консоль (клавиша F12)
console.log(
\t" taskUpdated", taskUpdated,
\t"\n JSON.stringify(taskUpdated)", JSON.stringify(taskUpdated),
\t"\n Array.isArray(taskUpdated)", Array.isArray(taskUpdated), //массив
\t"\n typeof (taskUpdated[0])", (typeof taskUpdated[0]) //элемент массива - объект.
);
Аноним 03/12/19 Втр 10:33:41 #536 №1536384 
Как замерить скорость выполнения запросов к бд? Пробовал вот такое https://pastebin.com/LcYgLH1b , но цикл while не останавливается через секунду. Пробовал менять while на for с ограниченным большим числом типа 100к, выводит count = 0.
Аноним 03/12/19 Втр 23:02:06 #537 №1537139 
>>1536384
ПЕРЕКАТ-> >>1525895 (OP)
ПЕРЕКАТ-> >>1525895 (OP)
ПЕРЕКАТ-> >>1525895 (OP)
ПЕРЕКАТ-> >>1525895 (OP)
ПЕРЕКАТ-> >>1525895 (OP)
ПЕРЕКАТ-> >>1525895 (OP)
ПЕРЕКАТ-> >>1525895 (OP)
ПЕРЕКАТ-> >>1525895 (OP)
ПЕРЕКАТ-> >>1525895 (OP)
ПЕРЕКАТ-> >>1525895 (OP)
comments powered by Disqus

Отзывы и предложения