Этого треда уже нет.
Это копия, сохраненная 18 ноября 2019 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
image.png68 Кб, 1050x1050
JavaScript.thread = Number(`147`); /js/ 1520569 В конец треда | Веб
Предыдущий: >>1511559 (OP)

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

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

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

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

Сделай песочницу по ссылкам выше для ясности и удобства. Если никогда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
2 1520601
ВСЕ СРОЧНО!!!! ПЕРЕКАТЫВАЙТЕСЬ НА ВЬЮ!!!!
3 1520607
>>0601
Говно без задач для нежс макак
Ни в какое сравнение с ангуларом и тем более реактом не идет
4 1520608
Что лучше: промисы или асука/авата?
8dda810e0b0626c084d292a70d39b50a.jpg323 Кб, 772x1084
5 1520609
>>0608
Асука это сахар над промисами упрощающий работу с ними. То есть выбор лежит - использовать промисы как пещерный человек или же как цивилизованный.
6 1520610
>>0569 (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 = {
7 1520611
Когда там мультитредин завезут? Хочу с мьютексами ебаться!
8 1520613
>>0611
А такую возможность в жс где-то обсуждали? Я не в курсе.
9 1520627
Бублики на месте?
10 1520641
пукнул в колл стэк
11 1520653
>>0613
Тута мы, родимые, бубликовые автоматы.
12 1520657
>>0609
Промисы это таски с шарпов. асинк / аваит пришел от туда же.
13 1520659
>>0657
Как это меняет то, что asynk функции в js это обертка над promise api?
14 1520662
>>0659
а async
15 1520663
>>0659
Да ничего, просто хотел выебнуться.
16 1520665
>>0663
Ну шарпик норм. От туда можно тащить, ничего против не имею.

Я еще поддерживаю пиздинг из питона, особенно его подход к работе со списками.
496x323052bad959c8814b878036835eac9fd761@496x3230xd42ee4309[...].jpeg26 Кб, 496x323
17 1520671
Аноны, можете пояснить за одну хуйню? Боюсь брать задачи на работе, есть страх что не справлюсь или не успею. Задачи легкие, но постоянно боюсь этого. Боюсь обращаться. Работаю всего 2 недели, до этого никогда не работаю.
Беру таски через страх, знаю что справлюсь, но все равно боюсь. Как фиксить?
18 1520679
>>0671
Задачу нельзя не выполнить, просто на нее потребуется больше времени. Смирись, будешь затягивать сроки, проебывать дедлайны, гуглить 90% рабочего времени. Ну и со временем пройдет, с опытом будешь примерно понимать сколько времени требует та или иная задача.
19 1520747
Посоветуйте какой-нибудь бесплатный node js сервак, на котором можно тестировать свои проектики с последующей возможности купить полноценную версию.
20 1520774
>>0747
heroku
21 1520776
>>0747
Ну zeit же в шапке есть
22 1520778
А какие есть популярные приложения на electron? А то я могу только вспомнить всякие проги для девелоперов. Для обычных людей есть что?
23 1520779
>>0774
Я кстати не так давно пытался на хероку запустить дискорд бота, после 5-10 минут он стабильно падал и его приходилось перезапускать. Это у меня руки кривые или хероку теперь не поддерживает постоянный хостинг бесплатного говна?
24 1520781
>>0778
Дискорд
25 1520787
>>0778
cross code например на node-webkit. не электрон, конеш, но суть та же.
26 1520801
>>0787
Я раньше думал, что это игра, где надо код писать в геймплее, а оказалось обычный платформер.
27 1520813
>>0747
Скачай дистрибутив с оф сайта. Ставится в два клика, работает без проблем.
28 1520855
Вкатываюсь в жс из жабы, читаю exploringjs. Это пиздец, товарищи. По сравнению с простой, как два пальца, жабой, жс выглядит как язык для надмозгов.
29 1520860
>>0779
Читать умеешь?
https://www.heroku.com/pricing

>FREE


> SLEEPS AFTER 30 MINS OF INACTIVITY

30 1520861
>>0855
Предатель.
31 1520862
>>0855
какую именно книку читаешь, что не понятно?
32 1520905
>>0860
В том то и дело, что она даже 30 минут не работал, а 5-10. Вообще дело было месяца 4 назад, я все облазил, но этой таблички не нашел, спасибо за инфу
33 1520907
>>0855
Да, нужно иметь минимум 150 icq для вката
34 1520912
>>0907
Наоборот в жс идут дебилы, не осилившие нормальные языки.
35 1520917
>>0912
всегда поражаюсь таким долбоёбам как ты, на чём ты фронт ещё писать будешь?
36 1520920
>>0917
На жабе
fdf683c8c68bb41b3c95bdddcc3fe043.jpg32 Кб, 500x385
37 1520921
>>0917
html + css
38 1520923
>>0917
Ни на чем. Я бэкендером буду, в не формошлепом.
39 1520924
>>0920
Думаешь пошутил? А есть Vaadin
40 1520927
>>0855
Просто переходной шок. Джава сложнее, на самом деле. Тут просто вопрос привычки к слегка другим концептам и направлениям программирования.
41 1520928
>>0924

> Vaadin предлагает сервер-ориентированную архитектуру, базирующуюся на Java Enterprise Edition



С таким же успехом можно и на ассемблере писать.
image.png686 Кб, 1600x900
42 1520933
>>0862
https://exploringjs.com/es6/index.html
По содержанию, как я понял, нечто среднее между пересказом стандарта и книгами типа how to breathe for dummies. В принципе, всё понятно, но присутствует ощущение какой-то неконсистентности, что-ли. Хотя, скорее всего, я просто не вкурил. Закрамлю сегодня сколько смогу и завтра видно будет, сможет ли мозг что-то внятное собрать. С другой стороны, жаба показалась мне простой как спичка, ибо я начинал вкуривать её снизу вверх, по статьям о всяческих кишках жвм, и на выходе у мозга было достаточно полное представление о том, как это всё говно на самом деле работает.
43 1520940
>>0933
так эта книга про es5 => es6 , в основном пересказ стандарта. Ну и вообще в js нет хороших книг по языку, лучше сразу начать что-то писать и посматривать в mdn.
44 1520941
>>0923
ФРОНТЭНД НИНУЖЁН, БУДУ HTML ОТДАВАТЬ, ВАЩЕ ЛЕТАТЬ ВСЁ БУДЕТ
45 1520964
>>0928
А ты хочешь джаву на фронте и ноду на бэке? Ебанулся шоль?
46 1520967
>>0924
Знаю, его в альфабанке юзают, лол
47 1520973
>>0967
Респект им.
48 1520976
>>0941
Нужен, нужен. В проекте найдется место для макаки, чтоб формочки рисовать и json посылать серьезным людям.
92f-kopiya.png678 Кб, 800x600
49 1520987
>>0964
НОДА НА БЭКЕ ЭТО НОРМАЛЬНО!
50 1520994
>>0924

>Vaadin


>Google Web Toolkit


>компилится в жс


>последняя версия вышла 2 года назад



Сами ебетись с транспилерами работающими под капотом на мертвом фреймворке.
image.png33 Кб, 1220x360
51 1521018
>>0994
Ты просто не видел ничего кроме жс-мира, где каждые полгода новый фреймворк учат. Java 8 юзается в 80% тырпрайза, хотя вышла в 2015-ом.
Ебать, я угадал про 80%, это я написал до того, как нашел пикчу
52 1521057
>>0855
В JS нужно иметь хорошее абстрактное мышление и понимать слегка метапрограммирование.
53 1521059
>>1057
Проиграл с поддува
54 1521063
>>1057
А лучше разработанную попку
55 1521077
>>0679

> Задачу нельзя не выполнить, просто на нее потребуется больше времени. Смирись, будешь затягивать сроки, проебывать дедлайны, гуглить 90% рабочего времени. Ну и со временем пройдет, с опытом будешь примерно понимать сколько времени требует та или иная задача.


Все-таки сделал. После выполненного таска появляется мотивация сделать еще, прокачивать скиллы. Работаю верстаком/js и реактером.
56 1521131
>>0855
Тоже из жабы вкатывлся. И не пожалел. Жс гораздо более сильный язык. Особенно когда понимаешь преимущества функционального програмирования в сравнении с допотопным ооп. Плюс такие удобные функции как map, sort, filter. Куча вариантов for. Template literals. В то время как в жабе без мапинга до сих пор по варварски через цикл for перебираются по массивам.
57 1521134
>>0855
Чего в кложу не вкатишься?
58 1521142
Аноны, подскажите пожалуйста.
Я сверстал небольшую карточку, внизу которой у меня название фильма, год и жанр. Расположил их с помощью флексов, однако если у фильма слишком длинное название, он просто переносит его ниже и название фильма накрывает текст под ним. Как такое пофиксить? Названию фильма даю маргин, толку 0.
59 1521148
>>1134
Не востребованно. Как и ничего что не эликсир из функциональщины.
60 1521151
>>1142
word-wrap
61 1521154
>>1131
Тащемта, там в 8 жабе в хэлпер класс Arrays завезли фабричные методы, возвращающие стрим элементов массива.
62 1521157
>>1151
Спасибо.
15711867302020.png300 Кб, 600x600
63 1521160
>>1154

>ебаный массив


>хэлпер класс Arrays


>фабричные методы


>возвращающие стрим

64 1521162
>>1131
И че, ты будешь теперь фронт пилить вместо тыртырпрайза?
65 1521180
>>1162
Ага. Поначалу только нода была. Но потихоньку и фронт беру на себя. Нажил проблем хуле.
66 1521182
>>1180
А ты реально бек на ноде пилил? Что за проекты были?
67 1521197
>>1182
helloworld.js
68 1521209
>>1182
Нода уже давно убила php/python/ruby и начинает присовывать сисярпу с явой
69 1521211
Расскажите как вы организуете свои проекты.

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

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

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

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

Впрочем интересно как вы обычно организуете структуру своих проектов?
70 1521220
>>1211
чел, ты из какого года? Все на фреймворках уже давно
71 1521224
>>1209
Убержирно натолстил.
72 1521225
>>1224

>пук

73 1521231
господа бекендеры на ноде, расскажите какие проекты писали) кроме лаба1.жс, есественна. востребована ли нода на рынке или проще питонщика нанять? какие плюсы у ноды по сравнению с тем же питоном в контексте вебхуйни?
74 1521235
>>1231
я уже третий тред спрашиваю, щас прибегут жаберы из соседнего треда и пояснят, что весь тыртырпрайз на жабе, а нода нахуй не нужна
3.png125 Кб, 1223x479
75 1521252
Как запускать react приложения без node js, это нужно бандл через webpack собирать в котором будет сам компонент для отображения? Этот компонент будет иметь отношение к основному DOM или будет иметь свой виртуальный независимый DOM?
Как верстать сайты с использованием react компонентов, в самом приложении реакта просто указывать в каком DIV он будет отображаться?
76 1521255
>>1182
Сам не пилил, там до меня уже запилено все. Просто иак сказать поддерживаю его работоспособность. Проэкт... скажем так один из известных телеканалов.
77 1521258
>>1255
Т.е. это были какие-то микросервисы с не особо ценной информацией? Была какая-то серьезная бизнес-логика?

Мне просто интересно, какие именно части проектов отдают под ноду
78 1521259
>>1252
<script src=...?
79 1521261
>>0976
Почему ты сичтаешь фронтендеров мусорными формошлепами, а бекендеров серьезными программистами?
80 1521265
>>1259
Вот я вставил js файл, который выплюнул webpack, компонент, который вызывается в определенном div имеет свое DOM дерево отделенное?
81 1521279
>>1231
Спрашиваешь какую-то хуйню в вакууме

Современный жс имеет самую лучшую реализацию ФП
Со всеми деструктуризациями и обработками массивов даже из коробки можно переворачивать структуры данных в 2 строчки, что размазалось бы в каких-нибудь петонах с пыхами на несколько вспомогательных методов для каждого случая
Лучшая реализация асинка среди всей веб параши если не в принципе
По бенчмаркам даже оверхеднутый экпресс обгоняет практически всех конкурентов
82 1521299
>>1265
Ты о чём?
React рендерится через ReactDOM.render(element, node)
Где element это реактоэлемент, а node - это домовская нода, doucment.getElementById('root')
83 1521309
Анончки, подскажите:
У меня есть поле инпута, в которое я ввожу текст. После того, как отправляют текст на сервак, он в виде маленького дива появляется под самим полем. Написал такой функционал, что при простом клике на див, текст с него перетекает в инпут, а при двойном клике он удаляется. Сделал удаление через elem.removeChild(). После этого не могу более одного раза что-то отправить с формы, при отправке текста во второй раз происходит краш и всё слетает. Что может быть не так?
84 1521324
>>1309
Выложи код на кодпен, по описанию сложно угадать
85 1521339
>>1324
>>1309
https://codepen.io/likefreeman/pen/LYYgaNd
Осторожно, говнокод
15721769930290.png13 Кб, 657x527
86 1521347
>>1309
>>1339
Ну так выклади с формами всеми
Твой новый элемент без субмит аттребута если у тебя простые формы и без листенера на отправку если айах

>if (tagList.length === 1)


length массива >= 0 поэтому не нужно писать === 1 поскоку 0 фалсабельный
87 1521354
>>1347

>Ну так выклади с формами всеми


Мне тогда придётся почти весь проект впихивать туда. Я только кусок с формой выложил.

Смотри, под импутом есть див, в который я помещаю всё то, что отправляю инпутом. Так-же, чтобы не дублировать одно и то-же я сделал объект, в который добавляю то, что ищем и флаг true/false. Когда происходит дабл-клик, то я удаляю и ДОМа и из того объекта.
88 1521412
>>0569 (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-файл сделать, и как его паролем-то зашифровать.
Есть чё-нить более годное, а посоны?
89 1521419
>>1412
Первая ссылка в гугле
https://stuk.github.io/jszip/
90 1521420
>>1419
Я уже видел. 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, но он вроде как тоже для ноды,
а не - для браузера.
91 1521421
>>1209

> php


Все еще жив в своей нише вордпрессов и маджент. Фрилансеры-одиночки любят. Клепают на нем проекты и просят как за настоящую работу. Для них работает.

> ruby


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

> python


Лол, у него сейчас золотая эра. Это питон теснит всех сейчас.
92 1521422
>>1211
Вебпак тебе реализует полную инкапсуляцию модулей. У каждого файла будет по сути свой скоуп невидимый из глобала. В глобал можно только явно выкидывать то, что тебе нужно через объект window. Но если ты возьмешь любой нормальный фреймворк, то у тебя и потребности выкидывать что-то в глобал не будет. Ты реально что-то отстал.
93 1521423
>>1279

> Современный жс имеет самую лучшую реализацию ФП


Даже лучше, чем в чистых ФП языках! А всякие рамбды.жс юзают потому-что в жс самая лучшая реализация ФП искаропки.

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



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

> По бенчмаркам даже оверхеднутый экпресс обгоняет практически всех конкурентов


...включая GO.
94 1521426
>>1423
>>1421

>Даже лучше, чем в чистых ФП языках!


Поянтно что речь идет о вебе

>Лол, у него сейчас золотая эра. Это питон теснит всех сейчас.


Очевидно рынок перенасыщен никому не нужными вышкододиками готовыми работать за копейки

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


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

>обгоняет практически всех конкурентов


>...включая GO.


Под конкурентами имел в виду вышеперечисленную веб клоаку, говно с ржавченой это другое
95 1521434
>>1258
Пооностью весь бэк на ноде
image.png80 Кб, 953x482
96 1521435
>>1420
На главной есть полностью клиент сайдный скрипт
1412834421382937812.jpg36 Кб, 604x445
98 1521494
Только что откинулся с армии. Что в этих ваших вебах нового случилось за прошедший год вкратце? Не знаю даже, с чего заново вкатываться

мимо-два-года-фронтендщик до армейки
99 1521497
>>1494
Все оказались от js, фронт теперь пишут на java.
100 1521500
>>1497
НАКАНЕЦТА
101 1521508
>>1494
Переходим на dart/flux -> всё чаще пилим ssr -> разрабатываем PWA.
102 1521522
>>1497
На следующий перекат в шапку
https://vaadin.com/
103 1521525
>>1494
компилируем в жс. хуле еще делать-то
104 1521532
>>1494
Ничего. Лишь старые технологии немного изменились, типо в реактах стали активно юзать хуки, и то, не все.
105 1521544
Что-то реакт подзарержался. А говорили типа каждый день что-то новое. А по факту еще лет 7 минимум реакт будет. Просто тупо нет замены на горизонте.
106 1521549
>>1544
Этот процесс скачкообразный, а не постоянный. В какой-то момент появился спрос на более усложненный фронт и стали плодиться различные решения для удовлетворения спроса. Сейчас этот спрос покрыт кучей работающих решений.

Следующий такой скачек может случиться в связи с развитием PWA или webAsm, что не так и долго ждать.
107 1521550
>>1549

>webAsm


Толсто
108 1521554
>>1549
хуярю пва на юнити, компилирую в васм уже сегодня
109 1521558
>>1549

>более усложненный фронт


Нахуя?
110 1521561
>>1549

>PWA или webAsm,


Только реакт будет топ 1 фреймворком по этой хуйне
111 1521574
>>1558
Потому-что в 90х-нулевых веб это был архив документов в интернете, тогда как сейчас веб стал каталогом онлайн приложений и в том числе документов.

Не надо только ныть про то, что прогресс не нужно и надо было так и сидеть на фреймах.
112 1521590
>>1574
Ясен хуй, прогресс это хорошо. Только вот появление новых технологий должно быть обосновано. Теперь поясни, зачем нужен еще более сложный фронт?
113 1521591
Но это бред, онлайн в приложениях почти не нужен. И в браузере ограниченные опппппвыоп опопопоп попо опоо п
возможности. ЗАчем тогда ОС нужна и десктоп, сидите сразу с
одного браузера и его локальным хранилищем размером с ваш жесткий диск. А ядром ОС будет линукс, чтоб мало весил и сам браузер работал, больше ничего не надо. Скоро и игры будут играть в облаке.
114 1521592
>>1590
Вообще то все IT это автоматизация ради автоматизации, прогресс ради прогресса.
115 1521594
>>1590
Ну пиши себе фронт без реактов/ангуляров. Я на них перешел - меня все устраивает.
116 1521596
>>1594
Какого типа проекты?
117 1521601
>>1591

>ЗАчем тогда ОС нужна и десктоп


Хромбуки тебе привет передают.
1465214182135118221.jpg17 Кб, 219x240
118 1521604
>>1601
Только они провалились. Приложений нет, делать никто не хочет.
119 1521607
>>1590
Короче, представь, 2049 год, все сидят на хромбуках. Всё, от фотошопа до игрулек должно работать в бровсере.

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

>>1604

>Приложений


>хромбуки


Ты сам-то понял что сказал?
120 1521608
ребзи, дроч на еще более новые технологии во фронте это пустая трата энергии. фронт уже сложнее не станет, тк ограничен двумерной поверхностью дисплея. следующий шаг развития фронтенда будет с появлением прямого нейроинтерфейса.
1.jpg20 Кб, 600x315
121 1521609
>>1601
>>1604
Вы даже не знаете что такое хромбук
122 1521610
>>1607

> Ты сам-то понял что сказал?


Понял, нет приложений которые работают на v8. Он делался с учетом того, что под него будут пилить всякие pwa, но никто не захотел.
123 1521611
>>1609
две пластины, которые носят с собой хромающие люди
15735055643860.jpg46 Кб, 1080x1076
124 1521615
>>1610

>pwa


>гугол


А теперь ещё раз подумай что ты вообще высрал. Ща гугел вам даст швабоду, вместо привязки яйцами к себе, ага.
125 1521616
>>1615
Гугол и инициировал продвижение pwa, хромбук тоже гугола. Что не так?
126 1521618
>>1508
Нафига вам flux, если есть typescript?
>>1525
>>1532
Всех благодарю за ответы
image.png12 Кб, 372x471
127 1521620
15736552775940.png6 Кб, 219x230
128 1521624
>>1616
То, что PWA, очевидно, протеворечит гугловской бизнес модели. Гугл не един в своих подразделениях, они там ного чего продвигали. И так же закапывали.
129 1521625
>>1624
А какая у них бизнес модель?
130 1521628
>>1625
Привязать всех яйцами к своим сервисам. И кормить всех этими сервисами. А для такого, очевидно, нужно чтобы абсолютно всё было в облаке.
Ебать ты валенок, братишка. Не зря в жс треде сидим.
131 1521630
>>1628
Извини, ведением бизнеса не интересуюсь.
132 1521635
5 типовых задач на собеседованиях по JavaScript

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

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

Расчехляйте свои решения. https://repl.it/@CharonIV/5-tipovykh-zadach
133 1521638
>>1635
Палиндром
length / 2 и сравнить. Хули там думать.
134 1521645
>>1635
проорал с этой 2n анаграммы
135 1521647
>>1635
FizzBuzz говно, дал параметр -10, нихуя не отработало. От 1 до -10 не можешь посчитать, лох?
136 1521649
>>1647
Вот не надо тут про валидацию входящих данных говорить. Это все синтетические задания. Давай еще типы аргументов проверять, вдруг ты buffer запихнешь туда
137 1521650
>>1649
ДА я ж пошутил.
image.png19 Кб, 803x82
138 1521664
139 1521665
Ребятки, есть ли какой нибудь список проектов которые можно для тренировки сделать на js, только полноценные, а не палиндромы-анаграммы?
140 1521666
>>1665
мувисерчер, игросерчер, порносерчер
141 1521670
>>1664
Вы нихуя алгоритмы свои не пишете, вы дергаете только готовые функции.
142 1521671
>>1635
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);
143 1521673
>>1670
А зачем? Если жизнь дает тебе лимоны, делай лимонад. Как бы задания на позицию JS разработчика, вот и должен показать, что умеешь в js. Давай на if else for while все зафигачим, которые есть в любом языке программирования.
144 1521674
>>1670
Функции не имеют отношения к алгоритмам
покормил
image.png8 Кб, 343x108
145 1521675
147 1521682
>>1666
Есть примеры, чтобы сформировать понимание, что конкретно они должны делать или тз?
148 1521684
>>1671
Что сильно дохуя умный? А коменты где, а форматирование? Кто потом разбирать это дерьмо будет? Переделывай нахер все
1.png143 Кб, 2552x1452
149 1521693
>>1684
Как этот долбаеб пися статью и коментя может взрывать стаки
e74647ccbccfa1a80a53321c90b6a36c.jpg32 Кб, 494x300
150 1521698
>>1693
Вот это красиво. Будешь тимлидом
151 1521701
>>1698
Это решение из статьи
e74647ccbccfa1a80a53321c90b6a36c.jpg32 Кб, 494x300
152 1521703
>>1701
Все равно будешь
153 1521704
>>1703
Но я не >>1693
154 1521706
Народ, а async/await используют вместе с then? Или цепочки промисов и асинк эвейт это 2 разных подхода?
155 1521707
>>1682
в ШАПКЕ фронтенд треда всё есть.
https://2ch.hk/wrk/res/1771892.html#1775242 (М)
image.png137 Кб, 474x422
156 1521714
157 1521733
>>1706
Разные, почитай про async await, в двух словах это синхорный способой работать с асинхорным кодом.
158 1521761
>>1733
Да все, прочел на медиуме статью как раз. Теперь понятно.
159 1521763
>>1706
async-функция возвращает промис, потому с возвращаемым от нее значением можно работать с then.
160 1521770
>>1693
А как рекурсия вообще работает? Там же нет return.
161 1521778
>>1770
Всмысле? Там 2 return
162 1521791
>>1770
Запускает саму себя до того момента, пока не сработает первое условие, после этого начинает идти обратно по стеку и возвращать значения, вроде как-то так
163 1521841
>>1665
поиск девок по фотке пизды
164 1521890
>>1841
Некрасивый орган.
165 1522054
Есть тут анончики, которые в Ngrx/data рубят?
166 1522059
>>2054
я не шарю но мне интересно что у тебя за проблема
167 1522065
>>2059
На проекте юзается Ngrx/data, это обертка поверх Ngrx/entity.
Мне нужен кастомный запрос, типа не Апдейт/Делит а сделайДохуя(ид). И кастомный АПИ ендпоинт. Вот как это блять сделать? Как добавить кастомный этот метод и потом в еффекте или где дернуть апи, дождаться респонса и заапдейтить стор.
Перечитал вот эту хуйню https://github.com/johnpapa/angular-ngrx-data/tree/master/docs

заимплементил кастомный дата сервис, кеш сервис, редюсер. НО оно просто оверайдить существующие методы Ngrx/data. Те, которые в EntityOp. А как срать сделать полностью свой метод?
168 1522070
>>2065
дааа так сразу и не понять!тут требуется серьезниший РИСЁЧ
169 1522134
>>1635
В последних двух задачах ничего эффективнее не придумать, а вот в первых трёх можно сделать эффективнее.
https://repl.it/repls/SnarlingQuerulousDegree
170 1522144
>>1770

>как рекурсия


Первый пик рекурсия из статьи
На каждый шаг рекурсия пидорится на две другие, что ебаный пиздец и лучше на собесе вообще ничего не написать чем высрать такое
Второй пик обычная рекурсия с аккумулятором >>1671

>Там же нет 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;
Нельзя

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

>как рекурсия


Первый пик рекурсия из статьи
На каждый шаг рекурсия пидорится на две другие, что ебаный пиздец и лучше на собесе вообще ничего не написать чем высрать такое
Второй пик обычная рекурсия с аккумулятором >>1671

>Там же нет 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;
Нельзя

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

>На каждый шаг рекурсия пидорится на две другие


Это не самый пиздец. Пиздец , если ты им формулу Бине напишешь или если у тебя ее спросят. Я лично не знаю как она выводится, но я решал задачу через нее, потому что когда-то давно смотрел формулы чисел фибоначчи.

По началу я удивился, что существует на столько мощный метод вычисления, но потом задумался : является ли он столь эффективным? Если присмотреться к формуле, то можно увидеть что от n растет кол-во умножений и делений, а классический подход лишь суммирует числа. Я замеры на скорость не делал, но что-то мне подсказывает, что одно суммирование явно быстрее чем несколько умножений
172 1522222
>>1761
Скинь статью плз.
LadyPepeCap.jpg114 Кб, 720x861
173 1522237
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
174 1522240
>>2237
Быстро фикс не то скопипастил.
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
Мой вариант решения, но не получается подмешать примесь к нужному прототипу в цикле( не знаю как записать)
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
Мой вариант решения, но не получается подмешать примесь к нужному прототипу в цикле( не знаю как записать)
176 1522248
>>2246
Да, я долбоёб

Фиксю:
Код-условие и тесты:
/ 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
/
176 1522248
>>2246
Да, я долбоёб

Фиксю:
Код-условие и тесты:
/ 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
/
jox2xfrsbwy31.jpg54 Кб, 853x640
177 1522255
178 1522259
>>2210
хз я даже обычную формулу фибоначи не стал бы писать без вики перед глазами, если зп не запредельная
И учитывая что это жс тред
179 1522351
>>1435

>На главной есть полностью клиент сайдный скрипт


Только вот он не zip-ает нихуя. Блокнотом открой этот zip и увидишь в коде - "Hello World" извнутри текстовика Hello.txt.
Говорил же, что пароль надо, даже работает сжатие.

>>1444

>https://gildas-lormeau.github.io/zip.js/ видел?


Видел, но эта тулза тоже без пароля, вроде...
Один Issue открыт и он без ответа:
https://github.com/gildas-lormeau/zip.js/issues/161
180 1522435
>>2246
Ты опять выходишь на связь, унылый?
181 1522438
console.log(array);
Почему ЖС-эры могут вывести массив одной строчкой, а я как дурак должен циклом обходить?
182 1522565
>>2435
Меня вынуждают обстоятельства!
183 1522663
>>2351
>>1420
Короче, я там глянул гитхаб этого минзип-асма, и он не только для ноды. Там в папке example index.html включает в себя сам скрипт + ещё скрипт с логикой для сайта (скомпресованный в нечитабельный вид, но на это у жээсеров наверняка есть своя затычка).
Больше ничем помочь не могу.
184 1522684
По какому тутору, книге, статье можно фастом поднять експресс, его экосистему, тесты там, бест практисы, чтобы написать говносерчер. О себе работающий джун реакт/вью, бека не знаю, могу только запустить экспресс для next/nuxt
185 1522688
>>2438
Так можно в любом языке с динамической типизацией, где списочные типы автоматически приводятся к строке.
186 1522728
>>2684

>По какому тутору, книге, статье можно фастом поднять експресс


ищешь проект на гитхабе -> клонируешь
187 1522763
>>2237
Я должен как джун понимать этот код ? что то понятно, но все как в тумане, какое то нечитабельное говно.
188 1522779
>>2763
Там ошибка. Задание требует создать функцию 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
но я не понимаю как мне присвоить в цикле что последний аргумент является прототипом следующего.
188 1522779
>>2763
Там ошибка. Задание требует создать функцию 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
но я не понимаю как мне присвоить в цикле что последний аргумент является прототипом следующего.
189 1522797
>>2763

>Я должен понимать этот код


Нет это

>говно

190 1522798
как добавить css к странице? есть какие-то плагины?
191 1522803
как дышать, посоны? есть гайды какие или курсы?
192 1522813
>>2798
>>2803
через жопу
193 1522815
>>0569 (OP)
Зацените исходники.
Если говнокод, то что в первую очередь надо пофиксить?
https://github.com/vlr-hub/pricing-tools-frontend
194 1522820
195 1522824
>>2815
Нет ssr. Без него такой сайт бизнесу не нужен.
196 1522842
>>2824

>нет ssr


Так он же в 91 наебнулся.
Снимок.PNG2 Кб, 554x21
197 1522855
>>2824
Server-Side Rendering?
А в чём смысл? Бизнесу ведь не выгодно арендовать мощные серваки?
У меня бэк рендерит только исходную страницу (передаёт "стартовые" параметры, по которым реакт определяет, какую именно страницу нужно открыть). Ну а при переходах внутри сайта запрашивается только контент, включая данные из БД.

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

https://pricing.tools/sitemap.xml
image.png70 Кб, 1187x515
200 1522895
>>2874
Только на этих страницах для поисковиков нет контента. Вот так выглядят они для поисковых ботов.
201 1522932
lolblya)))
let list = [1,2,3]
for(let i = 0; i<list.length; i++) {
list.push(i+3)
console.log(list)
}
202 1522939
>>2895
Насколько я понял и React и Vue могут рендериться на серваке только в паре с нодой. Однако подавляющее большинство сайтов работают на апаче и nginx.
Для чего они тогда используются?
image.png5,1 Мб, 1910x997
203 1522951
>>2932
let list = [];
list[-1] = 'Ohuenno vstavilo posoni';
console.log(list.length);
204 1522975
>>2939
Нода прячется за нжинксом и хихикает там
205 1522983
>>2975
Тупой вопрос: зачем ставить на сервер nginx и переправлять запросы на ноду (https://stackoverflow.com/questions/5009324/node-js-nginx-what-now), если можно обращаться к ноде напрямую?
206 1522984
>>2983
А гуглить пробовал?
Например для баланса нагрузки.
207 1522993
>>2983
Виндертон, ты?
208 1523028
>>0905
Добавь в приложухе аддон New Relic и настрой там пинг вебморды каждые 10 минут. Добавляешь к акку кредитку и, вуаля, бесплатный хостинг 24/7
53418518449a51ebfa9b.jpg92 Кб, 500x379
209 1523086
Решаю задачки с офф учебника

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

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

https://pastebin.com/vHGkS5En
Почему у меня к результату усечения строки приклеивает undefined ?
210 1523089
>>3086
сколько будет undefined + char?
212 1523096
>>3090
>>3089

> сколько будет undefined + char?


Точно, спасибо.
213 1523116
Сап
Кто-нибудь читал "eloquent javascript"?
Как вам книга и пойдет для нуба с небольшим опытом?
214 1523158
>>2815
сделать нормальную загрузку данных. Открыл ram, сервер потянул 1.5мб данных, охуеть
215 1523171
>>3158
Сейчас бы в 2к19 считать, что 1.5 мб это много.
216 1523178
>>2932
Я щас кому то уши оборву, запустил не глядя в консоли.
217 1523181
>>3178
let list = [1,2,3]
for(let i = 0; i<list.length; i++) {
if(i<10) {
list.push(i+3)
console.log(list)
}
}
218 1523235
>>3086
function truncate(str, maxlength) {
if (str.length < maxlength || str.length === maxlength) alert(str)
else alert(str.slice(0,maxlength-1) + '...')
}
219 1523244
посоны, в жс массивы штоле на шэшмапах работают как в говнопыхе?
220 1523245
>>3235
const truncate = (str, len) => (str.length < len || str.length === len) ? alert (str) : alert(str.slice(0,len-1) + '...')
221 1523250
>>3245
const truncate = (str, maxlength) => {
const tail = "...";
return str.length > maxlength ? str.slice(0, maxlength-tail.length)+tail : srt;
}
Screenshot 2019-11-17 at 16.15.07.png11 Кб, 349x30
222 1523327
Почему данная фигня дает в ответе 3?
Screenshot 2019-11-17 at 16.27.40.png15 Кб, 567x24
223 1523343
А тут ежик больше яблока, че за бред? В яблоке же больше букв
224 1523346
>>3327
оператор && имеет приоритет над ||
(выражение1 && выражение2)
сначала вычисляется выражение1
2 это не false
далее вычисляется выражение2
3 это не false
любая хуйня || не false это не false
возвращается результат выражения2 как результат вычисления логической функции
225 1523350
>>3343
Это твоя логика, а в языке по чаркоду сравнение литер осуществляется.
226 1523353
>>3343
Потому что ёжики носят яблоки, а не яблоки ёжиков.
При сравнении строк, сравнивается не длина, а посимвольно. https://learn.javascript.ru/comparison#sravnenie-strok
227 1523355
>>3346
Спасибо, разложил по полочкам как боженька.
>>3350
Не понял
228 1523358
>>3327
>>3346
Кстати, в typescript и, скорее всего, в бебелях-шмебелях тоже, добавили уже оператор ??, который находится на финальной стадии принятия в стандарт экмы. Значительно более удобный, чем ||. Рикомендую.
229 1523365
>>3358

> добавили уже оператор ??, который находится на финальной стадии принятия в стандарт экмы. Значительно более удобный, чем ||. Рикомендую.


Он добавляет какие-то новые функции?
230 1523370
>>3365
Более ожидаемое поведение по сравнению с ||, так как не зависит напрямую от falsy сравнений. ?? проверяет на наличие или отсуствие данных.

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

Optional Chaining еще мелкое, но очень удобное добавление.
231 1523376
>>3370
Понятно, а то я думал чисто косметические изминения
232 1523377
>>3158
Тебя не бесит ПОДЛАГИВАНИЕ при перелистывании таблиц, списков и тд., которое обязательно присутствует при запрашивании данных по кускам?
233 1523402
>>3355

>Не понял


https://javascript.info/comparison#string-comparison
console.log('ё'.charCodeAt(), 'я'.charCodeAt());
234 1523485
>>1235
Так и есть. На ноде в крупных проектах пишут разве что какие-то прослойки или отдельные микросервисы, но никто не будет юзать её как основу. Не потому, что нода говно, а потому, что у Джавы банально намного более развитая экосистема. Тот же Спринг предоставляет тебе инструментов намного больше и даёт гораздо более высокий уровень абстракции, чем любой жс-фреймворк для бэка. И очень многое там есть из коробки, без какой-то дополнительной еботни.
235 1523501
Анончики, подскажите с кодировкой. Не знаю, как послать post реквест с формдатой и в нормальной кодировке (utf8), чтобы на сервере это не выглядело, как мешанина из случайных символов. Как это реализовать?
236 1523502
>>3485
Что за микросервисы тогда будут писать на ноде?
237 1523508
>>3485

>пук


>>3502
"Микросервисы" пишут только неосиляторы
В основном это вебсокет сервер или сервер как гейтвей на пару 3д парти запросов
Почему это называют "Микросервесами" остается загадкой
238 1523516
>>3377
Нет. Ты и так ожидаешь, что при перелистывании будет небольшая задержка. А вот когда первый раз открываешь и ждешь 3 секунды - это пзидец
1.jpg20 Кб, 600x315
239 1523523
>>2815
Даже за такое говно платят
240 1523539
>>3523
Но не тебе?
241 1523540
>>3539
Плотили за разгребания такого говна, я не выдержол
fd7fa4f56badc95e609421a62a4069cd.jpg15 Кб, 222x227
242 1523541
243 1523558
>>3523

>Даже за такое говно платят


Это я сам для себя написал
244 1523573
>>2824

>2020


>ssr



Удивлён что до сих пор бывают не-SPA фронтенды.
Не встречал их с 2009 и надеюсь не встречу.
245 1523577
>>3573
это норм, если у тебя СааС. если маркетинг, то ты сосешь
246 1523592
>>3577
Два чая этому просветленному
247 1523603
>>3592
>>3577
>>3573
>>2815
Аноны поясните для нуба о чем речь, интересно же.
248 1523607
>>3603
В этом итт слабо понимают разницу между SPA и SaaS
sage 249 1523610
>>3508

> пук


Аргументы уровня ноджс дауна))
250 1523620
>>3610

>Аргументы


>у Джавы банально намного более развитая экосистема


>Тот же Спринг предоставляет тебе инструментов намного больше и даёт гораздо более высокий уровень абстракции



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



>пук

15205159710211.png276 Кб, 500x707
251 1523647
252 1523659
Как встроить 12-й Node в программу на крестах? Про восьмой в интернете что-то есть, а про двенадцатый вообще ничего не нашел.
15707523227421.png201 Кб, 500x921
253 1523802
Лайфхак для вкатывальщиков

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

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

Ок
const toVal = e => e.target.value;
const handler =pipe(toVal,setS);
onClick={handler}
254 1523805
Я тут недавно узнал, что оказывается в javaScript нету типа данных integer, соответствующего целым числам. Вместо этого все числа являются числами с плавающей запятой float.
Как разработчики справляются с этой проблемой?
255 1523807
>>3805

>/Спецификация языка/


>Как разработчики справляются с этой проблемой?


Где проблема-то?
Хотя бы пример какого-нибудь случая
256 1523809
>>3807

>Где проблема-то?


Ну как минимум проблема в быстродействии:
1) операции с целыми числами выполняются процессором быстрее чем операции с числами с плавающей точкой.
2) нельзя выполнить целочисленное деление, не применяя при этом функцию округления.
257 1523810
>>3809
JS для барбершопов и слайдеров, а не для математических вычислений. Всем похуй.
258 1523812
>>2663
Годно. Работает. Достаточно было заменить все '"//' на 'http://' и взлетело.
Выкачал скрипты по ссылкам, теперь всё локально пашет. Благодарочка.
259 1523813
>>3809
скороникогда

>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.

260 1523814
>>3813
пока только так https://v8.dev/blog/bigint
261 1523815
>>3809
Откуда вы такие набегаете?
Что ты хочешь услышать на свой пук?

>Ну как минимум проблема в быстродействии


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

Топ компании до сих пор перекатываются на Ноду ради перфоманса
Рынок ни при чем, убрав фронтенд сярп/ява/питоно макак будет в полтора-два раза больше
262 1523816
>>3815

>Топ компании до сих пор перекатываются на Ноду ради перфоманса


хуя манямир
263 1523817
>>2663

>Там в папке 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. Всё работает.
264 1523818
>>3805
Вместо него BigInt.

Но вообще ты не понимаешь скриптовые языки. Если тебе нужна точная математика, то делай вставки на вебасме.
265 1523819
>>3809

>1) операции с целыми числами выполняются процессором быстрее чем операции с числами с плавающей точкой.



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

У тебя всегда есть дробная часть, ты её не видешь. Напиши let a = 2.0 и верни его. Он тебе вернет обычную двойку. Но явный флоат Питона или Си и т.д. вернет тебе 2.0 . Этим и отличается JS от остальных языков. Резюмируя, на скорость это никак не влияет. Она по умолчанию гавно.
266 1523828

>сидишь-пердишь, решаешь разные ката на codewars


>вроде сделал, всё работает, хоть и выгляди некрасиво


>submit final


>чекаешь чужие решения (интересно жи)


>пикрел


а ещё там один челик вообще скопипастил реализацию BigInt целиком в решение, но у меня она в экран не помещается
267 1523847
>>3828
классика
268 1523886
>>3828
Поясни, что там произошло? Задание было перемножить 2 больших инта? Один тупо заюзал апи, а второй захардкодил результаты тестов?
269 1523887
>>3886
Вместо решения задачи, он просто считает итерацию юнит теста и выдает ожидаемое им решение. Читор, криса, короче.
270 1523919
>>3886
В одном задание было перемножить два больших инта, а в другом сложить, но суть ты полностью раскрыл.
271 1523926
Почему в реакте данные между компонентами передаются пропсами, а не, например, сохраняются и читаются из localStorage?
272 1523928
>>3926
А если компонентов 2, а если 3, а если 10, а 100?
273 1523931
Есть пример функции:

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

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

Мне нужна функция для работы с хэшем, а простая конструкция function a() {... return b} не подходит так как код продолжает выполняться, не дождавшись результата функции.
В async не умею и почти ничего в нём не понимаю. Пробовал создать async функцию, но ничего не менялось.
274 1523936
>>3926
Потому-что заветы flux-архитектуры. Какие-то умные дядьки вывели целую теорию и написали кучу макулатуры, почему нужно делать так, а не иначе. Им виднее.

Кроме пропсов ты можешь организовывать общение между компонентами через context api, redux, mobx и еще кучу других вариантов.
275 1523937
>>3936
Зачем используют redux вместе с реактом, если у последнего есть Context?
27197037.jpg355 Кб, 750x1000
276 1523941
>>3937
Я не знаю. Терпеть его не могу. Он заставляет меня страдать прямо сейчас. В своих личных проектах я обмазываю реакт мобиксом.

Context api, на самом деле, слегка оверейтед как универсальный убийца стор менеджеров, главным образом тем, что context api удобен что бы просто гонять данные между компонентами, но он нифига не заменяет собой собственно полноценный стор. А полноценный стор приложения ты сам захочешь, если напишешь достаточно крупное реакт-приложение.
277 1523972
>>3941
Посоны, поясните есть ли связь между BigInt и BigInt64Array?
278 1523978
>>3972
Не знаю, не использовал. Уверен, что документация на mdn дает исчерпывающий ответ.
279 1524000
Аноны, естествоиспытательский интерес.
Есть html тег <div>, внутри него еще допустим пять дочерних <div>. Как сделать анимацию закртытия этих дочерних <div> поочередно c помощью jQuery. Тоесть допустим скрывается сначала первый, потом второй и т.д.
Я знаю классический - колбеком в качестве аргумента hide(), второй - используя объект Deferred.
Какие еще варианты? jQuery изучаю джва часа.
280 1524030
>>4000
через колбек делай
281 1524036
>>4000
нахуй тебе жквери мудак
282 1524039
>>4036
Потому что я не дебилко, которое для маня сайта за двадцатник с двумя формами, будет тянуть на него реакт/вебпак/babel и прочее .
283 1524060
>>3931
Ладно, исправил код с помощью .then(() => {...})
Работает как надо, но выглядит кривовато.
3a7a7730943d7fbf3d45adb272d9769e.jpg107 Кб, 1024x776
284 1524062
>>4039
Ну ты ⑨. А потом удивляемся, почему одно говно повсюду.
285 1524066
>>4060
Касательно промисов и fs, используй библиотеку bluebird, потому что я уже не вспомню в чем именно проблема, но при ошибках в fs, дефолтные промисы не поймают throw exception и все приложение ляжет.
286 1524067
>>4066
Ниразу не вылезали ошибки при чтении/записи файла через fs.
Что может пойти не так?
287 1524069
>>4067
Не говорю про то, что такое обязательно вылезет, но если появится, то нервов можно много потратить на поиск ошибки. Там какая-то проблема, что fs использует низкоуровневые вызовы, которые стандартные промисы не ловят, и исключение летит в главный процесс и валит все к херам.
288 1524072
>>4062
Вот когда ченить будешь делать практическое, тогда и попизди мне.
289 1524076
>>4069
Ого. На будущее заметочку оставил конечно, но мой говнокод не стоит таких выкрутасов. Спасибо.
Это не масштабный продакшон, а свой маленький бот в телегу, так что похуй.
290 1524077
>>4062
Все говномагазины переписываем на реакт срочно! Так в треде на дваче сказали
291 1524118
>>4039
То есть альтернатива жквери - это реакт, вебпак и бабель? Ты просто не разбираешься в теме.
292 1524146
Давайте закроем эту тему тем, что фронт давно разделился на писателей веб-приложений и на тех, кто до сих пор верстает веб-документы с жиквери. Не на каждую задачу чего-то онлайн, реально нужно запиливать целое приложение на реактах-ангулярах.

хотя я все равно смотрю на писателей на жикверей, как на неосиляторов.
293 1524148
>>4118
И что еще есть, как альтернатива джейквери? Желательно не либа известаня 3.5 смузихлебам.
И в чем преимущества у этих либ переж жеквери будет?
294 1524150
>>4146

>>хотя я все равно смотрю на писателей на жикверей, как на неосиляторов.



Если подумаешь - то жеквери очень часто юзают бекендеры. Которым со стороны фронта порою что то нужно сделать быстро и без ебли.
295 1524151
>>4148
Сейчас чистый js может практически все тоже самое, что и jquery. Еще несколько лет и он отпадет за ненадобностью. Приправляй только полифилами код через webpack, транспилируй с помощью babel и радуйся.
296 1524155
>>4151
Ну труп жикверей еще тащат запиленные на него плагины.

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

Чистый es6 делает всё то же самое, что делает жквери, кроме анимаций на позиционированиях (они всё равно должны быть запрещены какой-нибудь конвенцией давным-давно, ибо трансформы)
299 1524166
>>4155
https://getuikit.com/
Как пример
300 1524168
>>4146
Что за бинарное мышление - либо жквери, либо ангуляр? Писать можно на ванилле, а собирать тебе придётся всё равно, как минимум - минифицировать. Если ты предлагаешь даже не минифицировать - то ты просто самозванец от индустрии, и никакого оправдания тебе нет.
301 1524194
>>4148
Не слушай долбоебов, спокойно юзай джиквери на своем небольшом проекте, он намного удобнее чистого жс в контексте твоей задачи.
302 1524214
>>4151

>>Сейчас чистый js может практически все тоже самое, что и jquery.


>>4155

>>А вообще интересно, есть ли какая-то либа для UI на чистом js?


>>4165

>>Чистый es6 делает всё то же самое



Я конечно все понимаю... Я из бэкенд-стороны прилетел, JS знаю нативный, react уровня тудушечки. Немношк Nоde.js использую. Но я чет фрустрирую от ваших местных с заявлениями про "чистый" JS и "либы на чистом JS".
Джейквери - это видимо бинарный пакет на C++.
Ебать у вас цирк.
303 1524230
>>4214
Не цирк, а детский сад. А ты чего сюда зашел старый пердун?
304 1524232
>>0569 (OP)
Крестобоярин вкатился итт. Не думал что этот день наступит так скоро. Нужно выучить ваш джава мать его скрипт. Обрисуйте вкратце что куда и как.
305 1524237
>>4232
Лол, что, qml осваиваешь? Я изучал по learn javascript на инглише, но на сам деле он там используется в довольно урезанном виде.
другой крестобоярин
306 1524239
>>3937
Затем, что контекст не заменяет редакс. Редакс - это как контекст на стероидах, если в двух словах. Контекст - это механизм передачи пропсов на разное кол-во уровней вложенностей, а редакс это полноценный стейт менеджер.
Что такое стейт менеджер ты можешь загуглить сам.
307 1524243
>>4239
Объясни зачем тебе глобальный стейт менеджмент? Потому что у тебя стейт большой? Ты в стейт пихаешь всякое говно?
308 1524246
>>4243
Потому что в современном real-world приложении управление состоянием приложения далеко не такая тривиальная вещь, какой она может показаться на первый взгляд.
309 1524249
>>4243
И да, стейт большой и сложная асинхронная логика с кучей сайд эффектов, которые нужно контролировать. Это уже отвечая на твой вопрос.
310 1524250
>>4246
Давай с конкретикой, без космических кораблей бороздящих Большой театр.
311 1524256
>>4249
Но ведь Редукс вводят для глобального стейта, а потом героически решают проблемы с запросами к бекенду с помощью саги хуяги
312 1524257
>>3937
Прост)) все используют редакс, и нам надо. такая же хуйня как микросервисы.
313 1524259
>>4257
Потому что вместо того чтобы прокидывать компонненты в пропсах на один два уровня, собирают в глобальны пучок зависимости и хардкодят компоненты на нижнем уровне
314 1524263
А кстати объясните нубу, чому не сделать несколько топ левел контейнеров и в них читать данные с сервера (типа в componentDidMount), и в чилды передавать данные через пропсы? Я так сделол в своем проекте и вроде никаких проблем не заметил
315 1524265
>>4259
Короче пишут на реакте как на vue
316 1524266
>>4263
Некрасиво
317 1524272
>>4250
Деньги плати - будет информация. Я не буду тратить своё время и всё разжевывать, что бы даже амёба поняла. С опытом поймешь, короче.
318 1524275
>>4272
Твоей мамке уже заплатил за минет, она сказала что все включено!
319 1524279
>>4275
Окей, амёба.
320 1524283
>>4279
Твой туду на редаксе не есть опыт, инфузория
Тред утонул или удален.
Это копия, сохраненная 18 ноября 2019 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски