Программирование

Ответить в тред Ответить в тред
Check this out!
JSThread #187 /js/ Аноним 08/12/20 Втр 13:24:12 18756851
16069129603330.png 56Кб, 1050x1050
1050x1050
Прошлый тред: >>1870885 (OP)

Больше пары строк кода в посте или на скриншоте ведут в Ад.

Для программирования на HTML https://jsfiddle.net/
Для Node.js с консолькой https://repl.it/languages/nodejs

Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: что я хочу получить, что я для этого делаю, что я вместо этого получаю. Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.

Руководство для вката: https://developer.mozilla.org/
Аноним 08/12/20 Втр 14:31:50 18757242
Существует ли какой-то курс или книга по основам JS, но не тем, что начинаются с переменных и заканчиваются асинхронностью. А по тем основам, которые объясняют как устроен js изнутри, как он выполняется браузером, как создаются объекты, как вообще работает весь язык именно с обратной стороны? С практическими примерами?
Аноним 08/12/20 Втр 14:54:29 18757433
>>1875724
Спека разве что. Разные движки реализуют ее по-разному, так тут надо смотреть доки и сорцы конкретного движка.
Аноним 08/12/20 Втр 15:13:38 18757684
>>1875629 →
Создаешь статичное поле-массив у этого класса, в конструкторе класса пишешь MyClass.StaticArrayOfInstances.push(this);
В дополнении к этому создаешь статичный метод ResetInstances который будет делать что то вроде: MyClass.StaticArrayOfInstances.forEach(e=>e.reset());
Аноним 08/12/20 Втр 15:14:36 18757705
image.jpg 181Кб, 1899x987
1899x987
Аноним 08/12/20 Втр 15:17:03 18757736
Че ебнуть для пиздатого портфолио? Форум? Соцсеть?
Аноним 08/12/20 Втр 15:17:55 18757767
>>1875773
Клон фейсбука/инстаграмм/твиттера.
Аноним 08/12/20 Втр 15:21:54 18757838
>>1875724
>как устроен js изнутри
JS внутри никак не устроен. Тебе надо копать в сторону конкретных движков, а они все устроены по-разному. Где-то может быть JIT и овердохуя оптимизаций, а где-то самый простой интерпретатор

https://en.wikipedia.org/wiki/List_of_ECMAScript_engines
Аноним 08/12/20 Втр 15:27:15 18757899
Аноним 08/12/20 Втр 15:33:39 187579810
Аноним 08/12/20 Втр 16:17:52 187585111
>>1875789
Проебан, хули. В следующий раз будет.
Аноним 08/12/20 Втр 17:02:35 187590912
Screenshot2020-[...].png 288Кб, 1059x933
1059x933
Такая приложуха с логином и хранением данных на сервере слишком простая для портфолио реактщика? На такое вообще внимание будут обращать или что-то посложнее пилить? Поиск работает, на главной список популярных фильмов. Добавлять в избранное можно откуда угодно, либо через поиск, либо перейдя к описанию конкретного фильма. Ну и сделано не по какому-то курсу, сам пилил и перепиливал потихоньку. Думаю может еще допилить систему комментариев, но заебался уже и с текущим функционалом. Никакого опыта в разработке до этого вообще не было, пилю и попутно учусь, пока особо на собесы не ходил
Аноним 08/12/20 Втр 17:04:20 187591213
>>1875909
Ах ну да, редакс, роутер, вот это всё, даже какие-то шаблоны проектирования реактовские использовал
Аноним 08/12/20 Втр 17:27:09 187593014
>>1875909
Главное не простота приложух в портфолио, а сколько тебе лет. Если ты студент или до 25-ти то там и Лаба 1 заебись и конторе зайдет. Если ты после 30-ти, то даже с личным фейбуком ты не ВПИШЕШЬСЯ В КОЛЛЕКТИВ. А судя по скрину апка норм, мне нравится.
Аноним 08/12/20 Втр 17:37:25 187594915
>>1875909
button { border-radius: 5px }
Не благодари.
Аноним 08/12/20 Втр 17:50:13 187596216
снимок.png 36Кб, 1288x1485
1288x1485
>>1875685 (OP)
Продублирую пост из предыдущего треда. Изначально ошибся с тредом.

Помогите новичку в React, пожалуйста. Есть родительский компонент, который содержит несколько дочерних компонентов-форм, которые можно добавлять и удалять по нажатию кнопки в родительском компоненте. Изначально количество компонентов зависит от того, какие данные пришлет сервер. В родительском компоненте есть еще кнопка "Отправить", по нажатию которой нужно забрать данные из всех дочерних форм и отправить на сервер.
Как получить доступ к данным в дочерних формах из родительского компонента? Я хотел создать для каждого дочернего компонента стейт в родительском и передать его в пропсах, но React не позволяет использовать useState в цикле.
Аноним 08/12/20 Втр 17:50:49 187596417
images.jpeg 8Кб, 252x200
252x200
>>1875949
>2020
>button { border-radius: 5px }

Че там со сквирклом?
Аноним 08/12/20 Втр 17:54:36 187597018
>>1875962
>Как получить доступ к данным в дочерних формах из родительского компонента?
Вынести стейт в него.

>Я хотел создать для каждого дочернего компонента стейт в родительском и передать его в пропсах, но React не позволяет использовать useState в цикле.
А массивы и объекты он позволяет тебе использовать?
Аноним 08/12/20 Втр 17:58:23 187597519
>>1875909
>мувисечер
Еще туду не забудь из курса буры приложить.
Аноним 08/12/20 Втр 17:59:53 187597720
Какой фреймворк лучше всех подходит для мета программирования?
Аноним 08/12/20 Втр 18:05:11 187598021
>>1875975
Вот щас обидно, мувисерч видимо одна из самых очевидных задач, в курсе буры никаких серверов вообще не было, просто получение и обработка данных :(
Аноним 08/12/20 Втр 18:06:29 187598322
>>1875949
Заебали скругляторы.
Аноним 08/12/20 Втр 18:07:39 187598423
>>1875975
А вот я свою тодошку выложил, ага.
Аноним 08/12/20 Втр 18:18:15 187599324
>>1875970
Допустим, у меня один стейт на кучу компонентов. В виде массива объектов, хранящих записи из полей форм. Как мне связать отдельный кусок стейта с конкретным компонентом? С учетом того, что число компонентов и кусков стейта может увеличиваться и уменьшаться динамически.
Аноним 08/12/20 Втр 18:19:31 187599525
Аноним 08/12/20 Втр 18:25:39 187599826
>>1875995
Каждый раз, когда я пытаюсь что-то делать на React, у меня возникает стойкое ощущение, что на чистом JS все то же самое можно сделать в два раза быстрее и в три раза проще при вдвое меньшем объеме кода.
Аноним 08/12/20 Втр 18:27:42 187600327
Аноним 08/12/20 Втр 18:28:25 187600428
>>1876003
Тогда в чем смысл существования этого говна?
Аноним 08/12/20 Втр 18:30:15 187600829
>>1876004
Фейсбук на нем удобнее делать посонам.
Аноним 08/12/20 Втр 18:34:53 187601130
>>1876004
Скорость отрисовки всего этого на чистом ЖС падает по экспоненте по мере роста твоей приложухи
Аноним 08/12/20 Втр 18:40:52 187601631
>>1875993
Ну камон, пропсы и коллбеки, как же еще. Это все даже к реакту отношения не имеет, как к таковому.

const [formsValues, setFormsValues] = useState([...])

const setFormValues = (i) =>
(nextFormValues) =>
setForms(prevFormsValues => prevFormsValues.map((formValues, j) => i === j ? nextFormValues : formValues);

return (<>
{formsValues.map((formValues, i) => <Form values={formValues} onChange={setFormValues(i)/>)}
</>)

Дальше можно усложнять, оптимизировать, передавать отдельные поля, перекатываться на формик и т.д.
Аноним 08/12/20 Втр 18:41:42 187602032
>>1875998
Это от неумения обращаться с инструментом.
Аноним 08/12/20 Втр 18:51:07 187602833
>>1876004
В том что у тебя приложуха когда-нибудь будет больше чем туду.
Аноним 08/12/20 Втр 18:53:33 187603034
1607442812418.png 198Кб, 1125x681
1125x681
Добрый день, друзья! Начал осваивать джаваскрипт, решил потихоньку вместе с учебой пилить для себя отдельное приложение.

Суть — построение графиков и таблиц по заданным формулам из числовых значений выходных файлов разных форматов, сортировка этих файлов и прочее удобное, что приходилось лопатить в экселе для каждого выходного файла отдельно. Ни разу не писал с нуля приложение.

Требование — кроссплатформенность (под доебан и винду), минимальное использование ресурсов (чтобы на очень некроговне открывался и особо не жрал память), приятное визуальное оформление в сумме с расширенным функционалом (хорошая замена экселю под конкретную задачу).

Насколько я представил себе этап разработки: нашел подходящий по описанию фреймворк proton native, чтобы сделать GUI, накидал в автокаде сам GUI (пока только главного окна, пикрил), нашел подходящую библиотеку для построения графиков D3.js.

Примерно составил необходимый минимум реализации: считывание файла, определение его типа по размерам столбца (там уебищные текстовые файлы от разных производителей с разделителями в виде пробелов, мне нужно, чтобы автоматически выбирался нужный тип и в соответствии с ним обрабатывался), обработка информации и представление ее в нужном мне виде на экран.

Я ни разу не делал ничего, кроме заданий из разных курсов (это мне для хобби и удобства), расскажите, где обосрался? Какие будут подводные для нуба, что нужно добавить, с чего вообще начать, не упустил ли я чего на старте, любая критика. Заранее спасибо!

P.S. Создавая пикрил ещё не придумал, для чего будут нужны кнопки внизу, но для будущего функционала оставил под них место.
Аноним 08/12/20 Втр 19:07:12 187604235
>>1875962
>дочерних форм
Это нарушение семантики. Оформляй всё в одну форму, а дочерние формы проставляй как филдсеты с инпутами внутри.
Аноним 08/12/20 Втр 19:10:02 187604436
>>1876004
Чтобы всё, что не фейсбук, тормозило как говно. Типичный монополизаторский рыночек.
Аноним 08/12/20 Втр 19:10:18 187604537
>>1876042
Ну так на выходе компоненты соберутся в одну форму.
Аноним 08/12/20 Втр 19:17:02 187605038
>>1876044
>Типичный монополизаторский рыночек.
Лол, так пиши на чем угодно, фейсбук с ружьем за спиной у кого то стоит что ли?
Аноним 08/12/20 Втр 19:23:40 187605539
>>1876030
Ты обосрался примерно во всем, поздравляю!

Начнем с того, что непонятно зачем ты вообще выбрал JS, если ты используешь ровно ноль его преимуществ.

>proton native
Ты понимаешь что это нативный фреймворк? То есть там не будет DOM. И никаких встроенных в браузер контролов не будет. Ты доку-то к нему открой, там даже инпута нет, лол. Сам все это будешь писать?

>нашел подходящую библиотеку для построения графиков D3.js.
Ага, которая рисует все на SVG/canvas и не работает с твоим протоном. D3 нужна куча браузерных API.

>минимальное использование ресурсов (чтобы на очень некроговне открывался и особо не жрал память)
Ага, кулстори. D3 не особо производительная библиотека (на SVG во всяком случае), а если ты переедешь на Электрон, то немного охуеешь от его потребления памяти.

Ты или бери плюсы, джаву, сишарп или на чем там сейчас пишут десктоп и ебошь на них или бери Электрон и сильно поумерь требования по производительности.

Мне кажется что ты плохо представляешь себе масштаб задачи. Тут на недели и месяцы работы даже для опытного разработчика. А уж сделать лучше экселя — просто манямирок.
Аноним 08/12/20 Втр 19:25:44 187605740
>>1876030
>Требование — кроссплатформенность (под доебан и винду), минимальное использование ресурсов (чтобы на очень некроговне открывался и особо не жрал память)
Даз нот компют. Кроссплатформенность автоматом подразумевает ватагу нативных костылей под каждую платформу прямо в дистрибутиве и некую абстракцию от файловой системы, которая тоже будет костылиться и кушать память. Альернатива - пердолить бинарники под каждую платформу на каких-нибудь крестах.
Но тогда не будет выполняться
> приятное визуальное оформление в сумме с расширенным функционалом (хорошая замена экселю под конкретную задачу)
Так как на крестах ещё придётся и свою логику рендера писать.

Лучше всего подойдёт, учитывая тематику треда, Electron, что есть HTML/CSS/Node, но для десктопных приложений. Убийцу экселя из этого не сделаешь, но какой-нибудь прототип для впаривания вполне можно одному захуярить.
Аноним 08/12/20 Втр 19:46:07 187606841
>>1876055
Выбрал, исходя из желания что-то написать на JS. Про протон понял, спасибо. В принципе комплюкторы потянут и электрон. В следующий раз, как буду в командировке, проверю, запустив там хромиум (я же правильно понимаю, что хромиумный фреймворк примерно столько же и сожрёт, сколько и сам хромиум). Про D3 тоже не сильно важно, могу и его заменить. Задача мне совершенно не к спеху, планировал за полгода напердолить в лучшем случае. Говорю же, хочу упростить себе работу, и в качестве хобби понять, каким образом писать ПО с нуля. Поковыряться только в радость. И уж тем более я не хочу сделать "лучше" экселя. Я хочу сделать подобно экселю, но только чтобы не плодить в каждой папке очередного выходного файла очередной идентичный файл экселя. Не думаю, что очень сильно обосрусь при построении обычных двумерных графиков зависимостей чего-либо от времени. Плюсы, джаву, сишарп и прочее не особо хочется трогать (особенно плюсы, я с ними и так работаю, программисты на моей работе пишут на них прошивки для моих изделий, хочется чего-то нового). Не относись к этому как к серьезному чему-то, просто убивание вечеров и свободного рабочего времени. И спасибо за указание на ошибки!
>>1876057
Обидно, на одном предприятии дебиан стоит, хотелось и им разослать. Ну у них есть и на винде компьютеры, тогда от кроссплатформенности вынужденно откажусь. Спасибо!
Аноним 08/12/20 Втр 20:46:27 187610442
Собрал себе шаблончик с бабелем и вебпаком, как сделать что бы ошибки отображались на экране как в create react app?
Аноним 08/12/20 Втр 20:52:21 187610843
>>1876030
Достаточно демона на ноде, и PWA, работающего с этим демоном.
Аноним 08/12/20 Втр 20:54:22 187611144
>>1876068
Если будешь брать электрон, то он кросс-платформенный, все норм. У D3 производительно ок, просто далеко не минимальная.
Аноним 08/12/20 Втр 20:54:46 187611245
>>1876104
Расковыряй CRA и посмотри.
Аноним 08/12/20 Втр 22:10:59 187617746
>>1875724
В любой хорошей большой книге по жс это объясняют, в той мере, в какой это нужно знать.
Обычно это не так много инфы.
Аноним 08/12/20 Втр 22:18:13 187618247
>>1876068
>разослать

Чувак, жс приложения деплоят на веб-сервере.
И работают с ними в браузере.
Понимаешь?
Разослать, блядь, ну надо же.

У тебя фундаментальные пробелы в развитии.
Закрой их, напиши туду лист на Vue.
Мозги на место встанут, а там решишь, что дальше делать.
Аноним 08/12/20 Втр 22:19:44 187618448
>>1876112
См. доки по webpack-dev-server и hmr.
Есть гайды в интернетах, как собрать всё с нуля.
Аноним 08/12/20 Втр 22:57:17 187620049
>>1876182
Задеплоил тебе электрон за щеку, проверяй.
Аноним 08/12/20 Втр 23:15:06 187621050
>>1876182
Чо ты такой агрессивный? Не во всех местах разрешен есть свободный доступ к интернету, есть закрытие военные предприятия.
Аноним 08/12/20 Втр 23:24:23 187621851
>>1876200
Электрон ты в анус себе задеплоил.
И там ему самое место.

>>1876210
У-тю-тю, какие мы нежные.
Это была не агрессия, а стёб.

>есть закрытие военные предприятия.
Значит надо хостить на секретном военном веб-сервере.
А ещё лучше, конечно, найти работу не за колючкой.
Но, я понимаю, что в ебенях это может быть очень непросто.
Аноним 08/12/20 Втр 23:54:26 187623052
>>1876218
Речь изначально шла про стендалон приложение для работы с файлами, какой еще веб-сервер?

Попробуй читать посты перед тем как на людей набрасываться.
Аноним 09/12/20 Срд 00:21:02 187623553
>>1876030
Мне примерно понятно, что ты собрался обрабатывать.

Могу дать совет - не делай мега-приложуху "всё в одном".
Это вообще провальный путь, а для ньюфага - так без вариантов.
И, сейчас вообще в разработке тенденции прямо противоположные - микросервисы, single responsibility, и прочее подобное.
Попробуй (для начала) сделать это в виде набора специализированных утилит командной строки, под каждый специфический тип файла.

Т.е. у тебя есть файл определённого формата, ты запускаешь в комм. строке утилиту, предаёшь ей имя файла и какие-то параметры (что строить, куда писать), а она строит графики и отчёты в html/pdf/png/svg.

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

Это называется UNIX-way. Возможно, ты что-то об этом слышал.

Делать всё это можно на чём угодно.
Я бы предложил питон. Там есть всё, что нужно, и, он, собственно, именно для этого. Графическую оболочку, если до этого дойдёт, можно сделать на PyQt или wxPython.
Но, на js тоже это всё можно, хотя это и будет сильно более заёбисто.

>понять, каким образом писать ПО с нуля.
Вот таким.
Если ты хочешь получить реальный результат, конечно.

>>1876218 - кун
И нет, я не питонист, лол.
Аноним 09/12/20 Срд 00:24:05 187623654
>>1876235
>Графическую оболочку, если до этого дойдёт, можно сделать на PyQt или wxPython.
>>1876218
>Электрон ты в анус себе задеплоил.
>И там ему самое место.
Чем тебе не нравится электрон? На нем писать как раз быстрее всего, и можно прикрутить любую библиотеку для веба.
Аноним 09/12/20 Срд 00:28:22 187623855
>>1876182
На каком веб сервер хостятся web extensions, HTA, standalone PWA и CLI-приложения, мань? По-моему, фундаментальные пробелы в развитии здесь у тебя.
Аноним 09/12/20 Срд 00:28:51 187623956
>>1876236
Да можно и электрон.
Если хочется именно на js, и не веб, то тут вариантов не особенно много, как ты понимаешь.

По поводу моих подъёбок - это я, похоже, в мвп-треде немножко пересидел, там как раз такая атмосфера, лол.
Аноним 09/12/20 Срд 00:37:09 187624257
>>1876030
>>1876236
И, кстати, я бы эту задачу делал как серверную, с локальным деплойментом. Потому, что там, совершенно очевидно, вырисовывается и многопользовательность, и база данных по результатам экспериментов/прототипам устройств/или-что-у-них-там и т.п.
И бэк не на жс, ибо масштаб не тот, и специфика не та.

Но, это не подходит ньюфагу, который задал этот вопрос.
Хотя, по такому пути, как я описал выше, он может потом к этому и прийти, если захочет и осилит.
Аноним 09/12/20 Срд 01:03:23 187625658
Аноним 09/12/20 Срд 06:24:37 187631059
Нихуя не понимаю. Например написал новостной спа, собрал вебпаком папку дист, закинул на сервер, дальше как отправлять новую новость что бы она появилась? Заново собирать уже с новым содержимым?
Аноним 09/12/20 Срд 06:38:55 187631460
>>1876235
>лает на электрон
>рекомендует питоноговно
Ясно.
Аноним 09/12/20 Срд 06:46:58 187631561
>>1876310
А сам как думаешь? Если не сделал интерфейса и системы для публикации новых новостей, то пересобирай всё каждый раз когда контент обновится.
Аноним 09/12/20 Срд 06:50:30 187631662
>>1876218
На некоторых предприятиях нет сервера. Сейчас на живом примере объясню, что я хочу. Я разработчик схемотехник в одной небольшой НИИшке в ДС (не за колючкой, у меня все ок), и мое изделие проверяется на стареньких компьютерах (первая и основная версия изделия вообще из-под DOS, и для обработки приходится ребутиться в ХР, в новых уже совершенно другое ПО). В общем все эти предприятия, если у них что-то не выходит, либо присылают мне сами изделия, и я их у себя испытываю, либо присылают выходные файлы запусков в виде объемных DAT'ников с кучей цифр, разбитых по столбцам. Так как предприятий много, а я один, и в моих требованиях не прописано никакого ПО для обработки этих результатов, я и захотел облегчить себе в итоге задачу и заодно разобраться в JS. Прекрасно понимаю, что на питоне вышло бы легче, на плюсах эффективнее, а на джаве и сишарпе я бы нашел кучу примеров, но я хочу именно что освоить JS, так как он вроде как ОЧЕНЬ многозадачен сейчас и на нем пишут все, что душе угодно. Я и решил собсна проверить, почему бы и нет?

>>1876235
Да, спасибо, я примерно так и собирался делать маленькими кусочками. Набросал интерфейс только чтобы вообще представить, какие свистоперделки хочу, ну и чтобы сюда отправить, так вроде понятнее, какую я задачу хочу сделать. Так как я неопытен, мне сразу указали на очевидные ошибки и в принципе я уже получил, что хотел. Спасибо!

>>1876242
Ну я уже написал, что мне не совсем получится запускать ее на каком-то сервере, так как его нет. Это небольшая утилита для себя будет. Но за идею все равно спасибо!
Аноним 09/12/20 Срд 07:15:57 187632263
>>1876315
>интерфейса и системы
Это как?
Аноним 09/12/20 Срд 07:19:03 187632364
>>1876316
Нахуй ты в это лезешь пчел, сиди перди в своем нии, делай пиздодельный вид, заставь всех думать что ты делаешь невьебенно важные вещи, нахуй тебе эта автоматизация
Аноним 09/12/20 Срд 07:57:27 187633465
>>1876322
То, что у тебя собирает вебпак, по функционалу никак не должно отличаться от рабочей версии. Ты изначально не сделал никакой админки у себя в проекте, разумеется ты и не сможешь никаким образом публиковать новые новости, сделай админку, типа - залогинился особый пользователь, у него вылезает дополнительный интерфейс, позволяющий добавлять новые заметки и отправлять их на сервер, остальные пользователи автоматом обновляют эту инфу с сервера и видят у себя новые новости
Аноним 09/12/20 Срд 08:28:02 187633866
>>1876322
Новости должны загружаться с сервера. Должны существовать пользователи с ролями вида "публикатор" у которых есть право загружать новые материалы. Публикаторы загружают новости, сервер их распространяет.
Аноним 09/12/20 Срд 09:00:00 187634167
>>1876323
Ну чо обижаете. Я раньше, кстати, сидел как раз на одном из "колючих" заводов и собирал то, что сейчас разрабатываю, потом как раз решился после командировок перебраться в Нерезиновск по офферу. Если тут буду сидеть, то какой смысл? Лучше тазом рычать и повыше лезть.
09/12/20 Срд 09:38:49 187634768
>>1876316
>запускать ее на каком-то сервере
Ну, при разработке на JS используется Node.js
И это, в общем-то, сервер.
И запускать его можно локально, просто, чтобы иметь веб-интерфейс к своей программе.
А можно и не запускать, и использовать просто как набор библиотек.

Это просто такой способ сделать пользовательский интерфейс - локальный веб-сервер.
Прелесть в том, что можно запускать на одном компе (напр. на вирт. машине), а работать с ним - на другом.

Но, начинать с этого не надо, конечно.
Никакую оболочку вообще не надо делать.
Начать лучше просто с 1 маленькой консольной утилиты.
Аноним 09/12/20 Срд 09:47:27 187634869
>>1876334
>>1876338
Получается нужно пилить отдельный интерфейс для админа с формами ввода загрузкой картинок, что бы он мог по сути мог оформить новый новостной блок? Ебать это тяжело?
Аноним 09/12/20 Срд 09:52:03 187635270
>>1876347
А, теперь понял, что вы все имели ввиду. Спасибо! Попробую просто пока набором библиотек обойтись, пока до интерфейса ещё очень далеко.
Аноним 09/12/20 Срд 09:56:13 187635471
>>1876348
Еще и авторизацию делать, ага.
Аноним 09/12/20 Срд 10:00:16 187635572
>>1876347
>Ну, при разработке на JS используется Node.js
>И это, в общем-то, сервер.
Ну нихуя себе, при разработке используется локальный сервер! Да ты прямо Америку открыл.
Аноним 09/12/20 Срд 10:02:15 187635773
>>1876348
Ну можешь конечно в базе данных руками каждую новость оформлять
Аноним 09/12/20 Срд 10:08:19 187635974
>>1876357
Насколько реально такое запилить в одну рожу? Это уже фулстак выходит или нет? Короче нужен сервер там крутится nginx и какой нибудь монго, там же лежит сайт, админ логинится в специальной форме создает контент отправляет на сервер, сервер отправляет остальным, правильно я понял?
Аноним 09/12/20 Срд 10:08:53 187636075
>>1876348
>Получается нужно пилить отдельный интерфейс для админа с формами ввода загрузкой картинок, что бы он мог по сути мог оформить новый новостной блок?
А это значит, что эти данные надо где-то хранить, так что готовься расчехлять ещё один сервер/виртуалку под базу данных.
Ну ещё и редактор надо написать/подключить, статьи без подмножества html тэгов не кошерно писать. Причём этот редактор должен быть понятен человеку, не сведущем в программировании.
>Ебать это тяжело?
Это ты ещё до имплементации какого-нибудь OAuth не дошёл. Вот там начинается ёбля с менеджментом ключей и самописными скоупами.
Аноним 09/12/20 Срд 10:17:02 187636376
>>1876359
У firebase есть возможно запилить на серверах гугла базу данных, сделать функционал для логинов, всем этим можно управлять с npm модуля, в общем гугли ищи в эту сторону, но может кто подскажет как это еще проще можно оформить
Аноним 09/12/20 Срд 10:21:51 187636477
>>1876360
>>1876363
Проще наверное на вордпрессе такое запилить?
Аноним 09/12/20 Срд 10:45:05 187636978
>>1876348
Зависит от формата новостей. У lenta.ru например всё вида - картинка + текст. Если делать в таком формате, то будет не сложно. Для чего-то более красивого нужно будет писать свой интерфейс и логику обработки вводимых данных.
Аноним 09/12/20 Срд 11:37:25 187639879
Решил вкатиться и попробовать vue. У меня вопрос, когда я создаю компонент и динамически заполняю его, как мне повесить событие на созданный элемент?
https://jsfiddle.net/mpyaz23f/
Аноним 09/12/20 Срд 11:42:44 187640580
Аноним 09/12/20 Срд 11:49:10 187640981
>>1876405
Благодарю. Это было очевидно, мог бы сам дойти, посиди минут на 5 больше.
Аноним 09/12/20 Срд 11:59:50 187641482
>>1876409
>Это было очевидно, мог бы сам дойти, посиди минут на 5 больше.

Ага, успокаивай себя, даун. Жаль только это не сделает тебя умнее.
Аноним 09/12/20 Срд 12:09:34 187642083
изображение.png 51Кб, 194x259
194x259
>>1876414
>Ага, успокаивай себя, даун. Жаль только это не сделает тебя умнее.
Аноним 09/12/20 Срд 13:50:16 187652684
>>1876414
>>1876420
Ой ну давайте без вот этой вот хуйни, нормально же сидим
Аноним 09/12/20 Срд 17:33:40 187675885
const fileInput: ЧТО ТУТ ДОЛЖНО БЫТЬ?! = document.querySelector(".file");
fileInput.onclick = () => {
console.log('hey')
}
Нихуя не могу понять как работать с нодами в тайпсккрипте. Any писать не хочется, а если HTMLElement | null, то обработчик события не прикручивает. инб4 тайпскрипт не нужон
Аноним 09/12/20 Срд 17:41:20 187676186
>>1876758
HTMLInputElemnt | null или что-то в. таком духе
дальше чекай, что fileinput не null
Аноним 09/12/20 Срд 17:42:28 187676287
>>1876758
Указанный тип никак не влияет на время выполнения, если не прикручивается с HTMLElement, то и с any ничего не прикрутится.
Аноним 09/12/20 Срд 17:43:22 187676588
>>1876761
Так и делаю интуитивно. Но разве так разрабы делают при работе с нодами? Постоянно ифом проверять есть ли в переменной элемент?

const fileInput: HTMLInputElement | null = document.querySelector(".file");
if (fileInput) {
fileInput.onchange = (e): void => {
console.dir(e.target);
};
}
Аноним 09/12/20 Срд 17:57:25 187677689
Господа анончики. Реально ли реализовать, чтоб при открытии страницы один раз выполнялось обновление "location.reload()" и не уходило в цикл? Вот я открыл страницу, она один раз обновилась при открытии и все, дальше я мог с ней работать уже?
Аноним 09/12/20 Срд 18:03:58 187677890
>>1876776
А какова конечная цель?
Аноним 09/12/20 Срд 18:28:53 187678791
>>1876776
Используй localStorage/sessionStorage, Люк!
Аноним 09/12/20 Срд 18:39:27 187679192
>>1876776
А нахуя тебе релоад после загрузки вообще?
Аноним 09/12/20 Срд 18:53:14 187680593
>>1876787
Тут вопрос в другом - зачем?
Если данные подтянуть с бека - это другая задача, и делается не так.

Ничего не приходит в голову, кроме того, что надо обновить какие-то зависимости - картинки, скрипты.
Но, если это твои зависимости - надо ставить хеши в URL и оно само обновится при открытии страницы, если изменилось.
А если чужие - тогда непонятно, почему такое странное требование - 1 раз, и всё.
Аноним 09/12/20 Срд 18:55:22 187681194
>>1876805
Да хуй его знает зачем. Может ему за это бабла отвалят. Спросили - я подсказал
Аноним 09/12/20 Срд 18:57:35 187681395
>>1876778
>>1876791
Сайтец типа подтвердите что вам 18+ и при подтверждении редиректит на другой сайт.

Блокировщик рекламы схлопывает редирект, походу нужно на сайте какое-то время посидеть перед кликом. Думал, можно решить релоадом. Сейчас потестил и нифига релоад не поможет. Буду дрочиться с таймаутами.
Аноним 09/12/20 Срд 20:09:32 187688196
>>1876813
Можно запрос от сервера на редирект отправить.
Аноним 10/12/20 Чтв 02:33:22 187710297
В v-is нужно указывать название элемента и все. Вопрос - а как тогда передать пропсы в элемент и ловить события?
Аноним 10/12/20 Чтв 03:17:02 187711198
>>1876030
>с чего вообще начать
Задача довольно объёмная на самом деле, объём работы большой.

Попробуй сначала отдельные части, чтобы уже потом на их основе и полученного опыта делать целиком.

Начни, например, вот с этого:
>считывание файла, определение его типа по размерам столбца (там уебищные текстовые файлы от разных производителей с разделителями в виде пробелов, мне нужно, чтобы автоматически выбирался нужный тип и в соответствии с ним обрабатывался), обработка информации и
То есть считать файл, распарсить, перевести в унифицированный формат, в JSON конкретного вида, например. Самостоятельная задача, в любом случае делать придётся. В зависимости от того, какие файлы, возни может быть много. В общем это один модуль.

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

Ну и разные таблицы.

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

После можно пытаться сделать приложение-прототип для одного вводного файла.

Файловый менеджер отдельная тема, никогда не делал, но руками самому точно сложно. Наверное есть какие-то готовые варианты.

На самом деле тут дохрена работы, написать свой собственный excel ну совсем не так просто. Для новичка скорее всего непосильно, но хоть с частью задач можно разобраться.
Аноним 10/12/20 Чтв 03:22:14 187711299
>>1875685 (OP)
можно пройти курс по реакту и сразу на синиора вкатиться?
Аноним 10/12/20 Чтв 03:54:37 1877117100
Аноним 10/12/20 Чтв 04:54:15 1877122101
>>1876030
>Требование — кроссплатформенность (под доебан и винду)
Магических межосевых апи нет и никому они не нужны, даже в электроне тебе придётся писать if win32
>минимальное использование ресурсов (чтобы на очень некроговне открывался и особо не жрал память)
Тогда JS совсем не вариант
Как уже написали выше, если принципиально хочешь жс - лучше напиши pwa с демоном
Можешь присмотреться к биндам какого-нибудь qt на голанге
>proton native
Максимально сомнительный фреймворк
Аноним 10/12/20 Чтв 07:32:49 1877142102
Поясните за спа, весь интерфейс и вся логика страницы в итоге высирается бабелем и вебпаком в папку дист и содержимое этой папки
ложится в /var/www?
Аноним 10/12/20 Чтв 09:49:54 1877158103
>>1877142
Ты бы вопрос сформулировал нормально для начала. Ни бабель, ни вебпак, ни папки dist и загадочная var/www никакого отношения к SPA не имеют.
Аноним 10/12/20 Чтв 10:39:35 1877172104
>>1877142
Всё высирается в один js файл, типа bundle.js.
Иногда - в несколько частей, но, смысл тот же.
Иногда - ещё и css.
Этот файл (или несколько) включается в практически пустую html страницу.
И потом рисует тебе всю хуйню при загрузке страницы.
Аноним 10/12/20 Чтв 10:54:11 1877178105
>>1877172
Этот шарит. Спасибо. А вот теперь смотри, есть сервер где это все лежит, теперь если я хочу получать/отправлять данные на страницу нужно на этом же сервере иметь базу данных, которая будет обрабатывать запросы?
Аноним 10/12/20 Чтв 11:27:06 1877190106
>>1877178
У тебя слово «сервер» подразумевает слишком много разных вещей. И http-сервер, и приложение, и физическую машину.

Страница (то есть JS-код) может получать и отправлять данные самостоятельно, ей для этого помощь не нужна. БД сама по себе запросы не принимает и вообще никто не делает их тупо торчащими в интернет. Она только для хранения данных. Чтобы обрабатывать запросы нужен бэкенд, то есть приложение, включающее в себя http-сервер, какую-то логику и умеющее работать с базой данных.

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

Настраивать все это самому довольно геморно, но есть разные сервисы которые неплохо абстрагируют всю сложность, например, Heroku.
Аноним 10/12/20 Чтв 11:41:23 1877198107
>>1877142
>спа
Это 1 (одна) HTML5 страница, к которой прилинковано куча JS кода, который динамически рисует на ней всю морду. Бандлинг не обязателен, можно прямо ручками каждый отдельный JS файл линковать, это тоже будет SPA
Аноним 10/12/20 Чтв 11:54:50 1877204108
>>1877178
Это зависит от того, какие данные ты хочешь отправлять, и зачем.
И какие получать.
Ты не задавай тут наводящие вопросы, а скажи прямо - чего тебе надо?
Аноним 10/12/20 Чтв 11:55:48 1877205109
>>1877190
Короче тупо хочу получать и заносить данные, например список товаров, с собственной базы данных, что нужно? Сервер, node js, апач?
Аноним 10/12/20 Чтв 12:00:58 1877210110
Аноним 10/12/20 Чтв 12:07:06 1877212111
>>1877205
Фронт, бэк, БД и хостинг всего этого добра.
Аноним 10/12/20 Чтв 12:09:31 1877213112
>>1877205
Да, в этом случае у тебя должна быть база данных.
Как правило, это отдельный сервер, но, для простых случаев можно и SQLite - просто файловая база

Вообще, есть _очень_ много способов это сделать, и в двух словах это не объяснить.
Очень многое зависит от того, как именно это будет использоваться и кем. И от типа и объёма данных.

Для товаров, склада и т.п. "классических" применений лучше использовать "классические" (SQL) базы данных.
Например, MySQL или SQLite.

Аноним 10/12/20 Чтв 12:10:43 1877214113
>>1877210
>>1877212
>>1877213
Спасибо друзья вы самые лучшие, отсасал бы вам но не могу , чмок
Аноним 10/12/20 Чтв 12:15:57 1877215114
>mongoDB
>SQLite
Нет. CouchDB
Аноним 10/12/20 Чтв 13:01:17 1877226115
У меня есть класс Vote. С помощью него можно создавать разные голосовалки и указывать какую функцию выполнить в случае если набралось достаточно голосов.

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

Вот не могу придумать название для этого метода.
То ли Голосование.проверитьвсеголосовалки, то ли Голосование.мойсуперметод.

Помогите пожалуйста а то нет идей.
Аноним 10/12/20 Чтв 13:04:27 1877227116
>>1877226
> в случае если набралось достаточно голосов
Тут очевидное событие
Аноним 10/12/20 Чтв 13:06:59 1877228117
>>1877227
Сетинтервалом что ли?
Аноним 10/12/20 Чтв 13:13:37 1877231118
Аноним 10/12/20 Чтв 13:37:13 1877238119
Аноним 10/12/20 Чтв 13:55:26 1877246120
20190929095249.jpg 62Кб, 849x353
849x353
>>1877226
Проходится слишком дорого, делай как на пикриле - каждый экземпляр имеет определенный триггер который знаменует конец голосования и сигнализирует об этом обработчику onComplete.
Аноним 10/12/20 Чтв 13:59:50 1877248121
image.png 26Кб, 625x368
625x368
image.png 48Кб, 626x690
626x690
>>1875685 (OP)
Я решаю по фану задачки на codewars. Условие - пик 1. Кто не понимает: нужно чтобы от url отрезались все префиксы, постфиксы и т. д. Моё решение - пик 2. Вопрос: почему return не возвращает строку после моих обработок? Дело в замыкании? Или в чем? Как пофиксить?

Заранее спасибо

Аноним 10/12/20 Чтв 14:06:39 1877256122
Че там сейчас юзают в бэке? Экспресс, джанго или че?
Аноним 10/12/20 Чтв 14:09:24 1877259123
>>1877248
Каком замыкании? Замыкании в твоём мозгу? Возможно.
Вернёт твоя функция результат функции сutEnd только в случае если ни одно из условий if и else if не сработает.
10/12/20 Чтв 14:22:31 1877276124
>>1877248
>let
>спагетти из if-else
>эта рекурсия

вскройся
Аноним 10/12/20 Чтв 14:27:48 1877281125
>>1877276
Чё let, тупица? Там нет рекурсии, а ты тупое чмо, ебало хлопни.>>1877276
Аноним 10/12/20 Чтв 14:30:53 1877282126
>>1877248
Перепиши, тут все не так. И задачу можно решить в одну строчку.

Дам подсказку: у тебя урлы могут быть вида http://https-lol.com
Аноним 10/12/20 Чтв 14:34:32 1877284127
>>1877246
Да это понятно что нужно проверять во время добавления голоса. Но бывают ситуации когда голосов набрано достаточно, но триггер не сработает. Это когда например есть 2 игрока. Голосов нужно набрать 2. Первый игрок голосует и голосов становится 1/2. Второй игрок покидает сервер. Голос нужен 1. Состояние голосовалки будет 1/1, но триггеров никаких не будет.

Да и вообще я про название функции спрашивал.
Аноним 10/12/20 Чтв 14:34:59 1877286128
16075979907990.png 78Кб, 625x368
625x368
Аноним 10/12/20 Чтв 14:49:43 1877293129
>>1877284
>когда голосов набрано достаточно, но триггер не сработает

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

Суть в том что нужно сразу правильно делать, а не придумывать названия функциям.
Аноним 10/12/20 Чтв 14:52:07 1877295130
Ща вот такой прикол, повторяю все языки, на которых пишу ( просто беру и одну прогу пишу сразу на всех языках)
C#, Python, Java, C++, Javascript
Хоп, на ютубе попадается видео-интервью от Бьёрна Страуструпа (Создатель С++, я по его книгам учился в основном)
и Говорит, что один язык знать - мало, нужно твердо знать такие языки, как: C#, Python, Java, C++, Javascript.

И тут я орнул :)
я языки чисто по вкусу выбирал.
На Питоне мне нравится писать ( как альтернатива сексу )
Java - мой первый язык
C++ учил для вуза
C# для создания игр
на Js сайты писал мощные :)
крч ребят, кто там с языками не определился, начинайте учить любой из этих 5ти.. (лучше Питон либо С++, чтобы отсальные легче было)
не учите сранну Джаву первым языком... это лишние пиздострадания

Кладите большой хер на мнение Mail.ru, у них хоть и все сервера на сранной джаве, сами-то на Питон пересели в прошлом году
Аноним 10/12/20 Чтв 14:53:26 1877299131
>>1877295
Это неиронично написал чел на 1 курсе, распостраните
10/12/20 Чтв 14:55:26 1877302132
Аноним 10/12/20 Чтв 14:55:29 1877303133
Бамп
Аноним 10/12/20 Чтв 14:57:00 1877306134
>>1877259
>>1877276
>>1877286
суки тупые и ебаные, хули вы раскудахтались-то? Я же сказал, ПО ФАНУ! ПО ФА-НУ. Расслабьтесь, никто ваши драгоценные места не идет забирать. Ещё раз для ёбаных неудачных дебилов конченных даунов и уебищ: ПО ФАНУ. ПРОСТО ТАК. РАДИ РАЗВЛЕЧЕНИЯ. Сука мрази токсичные.
А какие вы ещё тут вопросы ожидаете? - простите меня за нескромный вопрос.
>>1877282
А тебе спасибо за совет.
Аноним 10/12/20 Чтв 14:57:29 1877307135
image.png 53Кб, 1427x783
1427x783
>>1877286
Ну-ну
>>1877248
Вспоминаю сразу такой охуительный скрин
Аноним 10/12/20 Чтв 14:58:52 1877308136
>>1877256
Щас там гоша в моде
Аноним 10/12/20 Чтв 15:05:48 1877310137
Аноним 10/12/20 Чтв 15:06:59 1877311138
image.png 49Кб, 1402x317
1402x317
image.png 55Кб, 1381x498
1381x498
Аноним 10/12/20 Чтв 15:11:08 1877316139
Аноним 10/12/20 Чтв 15:27:00 1877329140
>>1877293
Ты сейчас описал ровно то, что я и сделал. Но не придумал точное этому название. Не называть же этот метот myMethod. Название должно точно отражать суть функции, но и ещё не быть длинной. Так бы я написал Голосование.завершитьуспешновыполненныеголосования()
Аноним 10/12/20 Чтв 16:11:23 1877376141
Аноним 10/12/20 Чтв 16:41:14 1877401142
>>1877226
Начнём с того, что у тебя должен быть класс (объект, синглетон) VoteService.
Метод назвать надо так, чтобы было понятно, что он делает, почему и зачем.
Из твоего описания - не очень понятно. Например, что такое "достаточно", и что должно быть потом с этим Vote?

Например:
VoteService.findCompletedVotes() //хорошее название
VoteService.checkAllVotes() //сликом общее название
Аноним 10/12/20 Чтв 16:43:04 1877403143
>>1877246
Вот эта вот вся поебень и должна в сервисе быть.
Сервис должен сам создавать экземпляры Vote, и подписываться на изменения в них, всё это должно быть внутри.
Аноним 10/12/20 Чтв 17:06:57 1877417144
>>1877329
Ты разницы не видишь между методом и функцией. Метод это то что у твоего класса, а функция это то что вне классов. Вот ты вынес всё в функцию и хочешь чтобы она постоянно дрочила объекты, а нужно делать всё в виде событий, не кто-то другой должен проверять закончилось ли голосование, а сам класс должен говорить о том что голосование закончилось.
Аноним 10/12/20 Чтв 17:22:34 1877427145
>>1877329
>завершитьуспешновыполненныеголосования
processDoneVotes()

Не надо думать о коде по-русски.
Твоя проблема в этом.
Русский - вообще не технический, и, тем более, не "компьютерный" язык.

Учи английский, много читай по-английски, думай о программе по-английски.
Аноним 10/12/20 Чтв 17:31:25 1877434146
Аноним 10/12/20 Чтв 17:34:16 1877436147
Вебпак в прод моде грит варнингом что vendors~main.js слишком большой по его мнению. Как фиксить посоны?
Аноним 10/12/20 Чтв 18:30:15 1877493148
>>1877436
Конфигу пердоль. Дальше сам
анон 10/12/20 Чтв 21:11:51 1877618149
Подскажите нубу, какой ивент касания более всего походит на мышковый "click"? Хочу прокопипастить код ивентлистенеров для мобилок, на touchend же если поменять, то норм работать будет?
Аноним 10/12/20 Чтв 21:47:57 1877641150
>>1877434
Я не пробовал (это только для шаблонов внутри html), но, думаю, что все остальные атрибуты компонента надо писать прямо в этот тег, как будто он и есть этот компонент.
Собственно, название директивы на это и намекает.

И, ещё раз - это _только_ если у тебя шаблон прямо внутри html, т.е. не в script, не в строке, тем более, не single file component.

И этот хак нужен, чтобы соблюсти правила html для vue-пасера, т.е. это ты ему объясняешь, что это, а не браузеру, например.
Аноним 10/12/20 Чтв 22:19:22 1877688151
>>1877641
>тем более, не single file component.
Вот для этого надо
Аноним 11/12/20 Птн 00:44:06 1877760152
>>1875685 (OP)
Привет. А я закрываю у себя этот тред. Пока.
Аноним 11/12/20 Птн 00:45:27 1877761153
Аноним 11/12/20 Птн 00:50:17 1877763154
Аноним 11/12/20 Птн 01:22:05 1877778155
Аноним 11/12/20 Птн 01:29:23 1877783156
вот вышел 3 вью
нужен он или нет?
Там есть обратная совместимость?

Аноним 11/12/20 Птн 01:49:08 1877794157
>>1877778
Эта хрень (v-is) не нужна для SFC.
Аноним 11/12/20 Птн 01:52:13 1877796158
>>1877794
Тогда чем их менять? V-if? И где в доке об этом сказано?
Аноним 11/12/20 Птн 02:41:20 1877807159
есть кто вкатился в JS с первой работы в 100-200к?

Аноним 11/12/20 Птн 04:13:25 1877816160
>>1877796
Ты, похоже, что-то напутал.
v-is и v-if - это очень разные вещи.
Ты бы сказал, что тебе надо получить, в итоге.

Вот дока, правда, на vue 3:
https://v3.vuejs.org/api/directives.html#v-is

Почему-то не нашёл v-is для v 2, хотя, точно помню, что читал про это ещё хуй знает когда. Но - нету.
Была ещё директива v-component, примерно (или точно) то же самое, но хуй знает куда делась - в доках теперь тоже нет. Возможно, это в 1-й было а не во 2-й.
На самом деле похуй, т.к. это не нужно вообще в реале.
Аноним 11/12/20 Птн 04:22:47 1877818161
>>1877783
Он нужен, там много полезных изменений, и в API и в движке.
Обратная совместимость - есть.
Но, не по инструментам.

Но, его ещё немножко не допилили, и в плане инструментов и вообще.
Могут быть нестыковки с библиотеками и т.п.
Если только начинаешь - начни с v2.

Можно ещё накатить composition api, и будет почти 3.
https://composition-api.vuejs.org/
Аноним 11/12/20 Птн 07:14:10 1877859162
>>1877618
Не пробовал на всё, что требует `click`, использовать кнопку?
Аноним 11/12/20 Птн 07:16:38 1877861163
>>1877783
Пока нукст не перекатится на V3, можешь забить на него.
Аноним 11/12/20 Птн 09:09:07 1877874164
>>1877807
В смысле до этого получал 100к+ или на первой работе разрабом? Так или иначе, я по обоим требованиям прохожу. Чтобы прям на самой-самой первой работе чел столько получал я не слышал. Самое близкое — нанимал 21-летнего парня на 80к и он довольно быстро вырос на 100к+.
Аноним 11/12/20 Птн 10:17:19 1877889165
>>1877859
У меня и так везде, где есть кликабельный скрипт, под тегом баттон. А что это дает? На сенсорных экранах прикосновение к кнопке как клик будет работать?
Аноним 11/12/20 Птн 10:24:34 1877892166
>>1877889
Конечно, лол. По-твоему когда тач-девайсы только появились на них ни один сайт не работал?
Аноним 11/12/20 Птн 10:47:53 1877901167
>>1877889
Клик на кнопку считается и как тач, и как стилус, и как нажатие пробела/энтера и как Аллах.
Аноним 11/12/20 Птн 11:26:21 1877914168
11/12/20 Птн 12:45:23 1877967169
>>1877281
хуило ты мутабельное, ещё раз увижу let в твоих пуллреквестах - оставлю комментарий, будешь переписывать

>нет рекурсии
глаза разуй, ебанько domainName --> cutBeginning --> domainName
11/12/20 Птн 12:45:49 1877968170
Аноним 11/12/20 Птн 13:10:52 1877985171
>>1877967
А чё со спойлерами пишешь, ты кого-то боишься, токсичный шиз?
Нахуй ему немутабельные переменные в задачке по кодварс? Дебил.
Аноним 11/12/20 Птн 13:25:33 1878004172
>>1877967
>хуило ты мутабельное, ещё раз увижу let в твоих пуллреквестах - оставлю комментарий, будешь переписывать
Алё, все методы строк - иммутабельные, а леты - ещё и каждый в своём лексическом окружении.
>глаза разуй, ебанько domainName --> cutBeginning --> domainName
Физически не сможет замкнуться.
Аноним 11/12/20 Птн 13:28:44 1878008173
>>1878004
>рекурсии
>не может замкнуться

У тебя в голове замкнулось что-то и не размыкается, обратись к специалистам.
Аноним 11/12/20 Птн 13:29:52 1878009174
>>1878008
После того, как ты научишься читать код.
Аноним 11/12/20 Птн 13:43:27 1878025175
>>1878009
Как мои навыки чтения кода повлияют на то что ты не отличаешь замыкания от рекурсии?
Аноним 11/12/20 Птн 13:44:12 1878027176
image.png 167Кб, 1850x1010
1850x1010
Аноним 11/12/20 Птн 13:55:01 1878037177
Screenshot20201[...].jpg 140Кб, 1374x481
1374x481
Аноним 11/12/20 Птн 13:55:36 1878038178
>>1875685 (OP)
Бля, как тайпскрипту указать что нормально ожидать несколько разных объектов? Дефолтная ситуация, когда я делаю запрос на сервер и он может мне вернуть либо объект с данными, либо объект с ошибкой (скажем там одно поле error и в нем лежит строка, которая описывает проблему):

response: Item[] | ErrorResponseObject

Вот вроде так норм должно быть, но он все равно ругается когда я после провожу некие манипуляции с объектом response, утверждая что таких полей в нем нет
Аноним 11/12/20 Птн 13:58:16 1878040179
>>1878038
>response: Item[] | ErrorResponseObject

Ну да, все правильно.

>он все равно ругается когда я после провожу некие манипуляции с объектом response, утверждая что таких полей в нем нет

Логично, там же может быть и ошибка. Читай https://www.typescriptlang.org/docs/handbook/advanced-types.html
Аноним 11/12/20 Птн 14:02:55 1878048180
Аноним 11/12/20 Птн 14:03:14 1878051181
>>1878025
Я не про кложур говорил, а замыкающуюся рекурсию, русекодебил.
Аноним 11/12/20 Птн 14:04:48 1878052182
images.png 7Кб, 250x201
250x201
Аноним 11/12/20 Птн 14:10:26 1878058183
>>1878027
Проиграл с задания с говнотестами, которые не учитывают:

>https://mail.google.com/

Твоё код выдаст имя домена === "mail"
Аноним 11/12/20 Птн 14:13:28 1878059184
>>1878051
>замыкающуюся рекурсию
Ого, что-то новое. Где об этом почитать можно? Желательно на английском, мы же не любим русикодебилов, да?
Аноним 11/12/20 Птн 14:14:04 1878061185
Аноним 11/12/20 Птн 14:19:03 1878065186
Аноним 11/12/20 Птн 14:45:40 1878091187
Аноним 11/12/20 Птн 15:18:33 1878110188
image.png 3Кб, 199x78
199x78
Был на собесе, задали вопрос - есть четыре функциональных объекта (четыре функции объявленных разным способом), надо рассказать про разницу между ними и каким свойствами обладает каждая из них.
Аноним 11/12/20 Птн 15:19:42 1878111189
>>1878059
Шиз он или не шиз, но, тот код - действительно хуйня.

мимо
Аноним 11/12/20 Птн 15:26:32 1878117190
Аноним 11/12/20 Птн 15:29:46 1878121191
>>1878059
>Ого, что-то новое.
Для русекодебила всегда всё новое.
Аноним 11/12/20 Птн 15:41:00 1878126192
>>1878110
Только третий вариант - не говнокод, но тайпскрипт заставляет говнокодить по четвёртому варианту.
Аноним 11/12/20 Птн 15:49:40 1878129193
>>1878126
считаю, что в спеку пора протащить independent method declaration
let fn() {
...
}

Naned Method Expressin по аналогии с NFE, тоже не помешал бы.
Аноним 11/12/20 Птн 16:39:22 1878162194
>>1878061
Я конечно дико извиняюсь, но мне, кстати, так никто и не ответил почему я ловлю андеф вместо обработанного стринга в другой функции. Все накинулись на то, что я код лапшевидный написал... Так че, я услышу ответ-то?
>>1877248
Аноним 11/12/20 Птн 16:39:28 1878163195
>>1878110
А что вообще на четвертой сверху, там где С?
Аноним 11/12/20 Птн 16:40:28 1878164196
>>1878163 быстрофикс* третьей сверху
Аноним 11/12/20 Птн 16:40:55 1878166197
>>1877914
При такой схеме, не очень понятно, как ты собрался передавать пропсы?
Компоненты же разные, пропсы разные?
Оно не для этого, мне кажется. Это для случаев, когда всё в коде вычисляется.

Думаю, что тут надо слоты (slots) использовать.
Аноним 11/12/20 Птн 16:43:05 1878168198
>>1878129
Боба Пайка на вас нет, он бы вам натащил в спеку, блядь.
Как суслики в го, сидели бы тихо, и писали чистый, понятный и эффективный код.
Аноним 11/12/20 Птн 16:48:50 1878177199
>>1878166
Я запихнул компоненты в один блок и навесил на каждый v-if.

Другое дело, что нигде не сказано, что is только для компонентов в коде.
Аноним 11/12/20 Птн 16:52:54 1878187200
Аноним 11/12/20 Птн 16:54:22 1878190201
>>1878168
Это и ест чистота. Методы - самые правильные функции, когда речь идет не о лямбдах и не оконструкторах. Единственный вариант объявить нормальную настоящую жс-функцию - это функция-метод.
При этом сейчас нужно писать кучу бойлерплейта ради этого, как на скрине выше.
Аноним 11/12/20 Птн 16:59:46 1878195202
>>1878190
>Методы - самые правильные функции,
Схуяли
Аноним 11/12/20 Птн 17:00:29 1878196203
>>1878190
Ооп-шиза пожаловала.
Аноним 11/12/20 Птн 17:01:36 1878199204
>>1878163
Типичная деструтуризация. Ты примерно то же самое делаешь, когда импортируешь методы из модулей.
Аноним 11/12/20 Птн 17:02:31 1878200205
>>1878162
Ты ничего не возвращаешь, а выполняешь другую функцию в if-блоке.

> return url.match(/(https?:\/\/)?(www\.)?(.+?)\./)[3]
Посмотрел в решениях - еще надо было U в регулярку впихнуть.
Аноним 11/12/20 Птн 18:19:06 1878239206
>>1878110
кроме 4 варианта, все говноедские
11/12/20 Птн 18:23:36 1878241207
Simon-Peyton-Jo[...].jpg 1892Кб, 3872x2592
3872x2592
>>1878190
>Методы - самые правильные функции
>Методы - самые правильные функции
>Методы - самые правильные функции
Аноним 11/12/20 Птн 18:43:49 1878258208
>>1878162
>никто не ответил

А это что:

>Вернёт твоя функция результат функции сutEnd только в случае если ни одно из условий if и else if не сработает.

Или тебе, как особо одаренному, разжевать нужно? Ок. Начинается первый вызов твоей говнофункции, срабатывает первое условие if, далее идёт рекурсивный вызов этой же функции, как только последний вызов возвращает значение, выполнение продолжается в блоке if и куда оно уходит? Правильно, никуда, потому что в этом блоке ничего больше не происходит. И что оно вернёт, правильно, undefined, потому что в блоке if ты просто запускаешь цепочку вызовов функций.
Следовательно чтобы получить значение после первого вызова, тебе нужно добавить return всем вызовам cutBeginning. Но лучше конечно подучить js и переписать это говно, а также выучить разницу между рекурсией и замыканием.
Аноним 11/12/20 Птн 20:00:16 1878334209
Ананасы, подскажите, есть ли способ запихнуть видео с ютуба в HTML тег video? Ковыряю API ютуба, но пока что без результата. Видел как делают через iframe и object, но это надо два разных тега прикручивать для видео с ютуба и для видосов с других сервисов. %делаю для себя приложуху вроде тивача%
Аноним 11/12/20 Птн 20:05:39 1878342210
146528621619483[...].gif 9748Кб, 400x225
400x225
Какую зарплату ставить в резюме на самого нулевого фронтеда?

В вакансиях либо нихуя не указывают (90%), либо 25-120к.

Хочет не проебаться, но и чтобы завышенная не отпугнула.
Аноним 11/12/20 Птн 20:34:50 1878363211
>>1878342
Ноль это сколько?

Если до этого не работал, вообще проси до 50к
Аноним 11/12/20 Птн 20:36:46 1878364212
>>1878363
Это меньше, чем на моей текущей работе червя.
Аноним 11/12/20 Птн 20:37:15 1878365213
>>1875685 (OP)
Бля, на проекте подрузили js abac (Attribute Based Access Control) типо так пизже, но у меня уже глаза вытекают, что это за хрень и нафига нужна? Без нее ж нормально жили
Аноним 11/12/20 Птн 20:41:48 1878370214
>>1878364
Смысл мне нанимать тебя как работодатель и платить тебе 50к+ если ты нулевый программист?
Аноним 11/12/20 Птн 20:44:08 1878372215
>>1878370
То есть, работающие пограмисты сразу как-то ненулевыми становись до первой работки?
Аноним 11/12/20 Птн 20:45:15 1878374216
>>1878372
Работали за 30-50к, это вплоне ок для нулевых знаний
Аноним 11/12/20 Птн 20:52:01 1878378217
>>1878374
Не могу устроиться даже на 30к. Я бы и за 20к поработал какое-то время, что бы набрать опыта коммерческой разработки, но мне даже на резюме не отвечают. Я в ахуе, если честно.
мимо другой анон
Аноним 11/12/20 Птн 20:58:18 1878383218
>>1878374
А на ненулевых получают как работник макдака и разносчик жратвы?
Аноним 11/12/20 Птн 20:59:20 1878384219
>>1878383
Ты как думаешь сам? Назовешься программистом и будешь получать 200к?

Аноним 11/12/20 Птн 21:00:08 1878385220
>>1878384
Так я не про 200к, а хотя бы от 60к
Аноним 11/12/20 Птн 21:03:53 1878386221
>>1878342
Ты просто лох, норм пацаны сходу находят работку за 70к, растут там и каждые полгода уходят на новое место практически удваивая зп. За 2 года изи добраться до $8-10к в месяц и релокейта в Европку
Тот же /b почитай
Аноним 11/12/20 Птн 21:05:21 1878387222
>>1878385
Молодежь пошла ленивая. Ты сначала версталой отработай поучись у сойбоев уму разуму. Через три - четыре года получишь джуна по профессии инженер ЭВМ. Через еще пять лет имеешь право на повышение до мидла. К сорока годам будешь ведущим мидлом.Вот тогда и будешь себе требовать зарплату 60 тысяч как у опытных сойбоев. Сойбои опытные по 12 часов работают как говориться от кофебрейка и до смузишопа. И не ленятся. А молодежи нужно зарплату чтобы минимум была 60 тысяч. Мы в нулевые не за зарплату работали. А знали что надо. Бывало придешь с удаленки в хостел и конверсы снять нет сил так и ложились спать в конверсах, а утром в тринадцать часов уже бежали на работу.
Аноним 11/12/20 Птн 21:14:29 1878391223
>>1878177
Думаю, это самый правильный вариант.

А для сложных случаев - есть рендер-функции.
Пропсы и т.п. в переключаемых компонентах можно брать из vuex store, или задавать для родительского компонента, а он их будет задавать для текущего компонента, выбираемого в коде.
Аноним 11/12/20 Птн 21:20:05 1878396224
>>1877248
function domain(str) {
const str2 = str.includes("//") ? str.substr(str.indexOf("//") + 2) : str;
const str3 = str2.indexOf("/") ? str2.substr(0, str2.indexOf("/")) : str2;
const resSplit = str3.split(".");
return resSplit[+(resSplit.length == 3)];
}
Аноним 11/12/20 Птн 21:22:16 1878399225
Аноним 11/12/20 Птн 21:24:37 1878402226
>>1878378
А нахуй РАБотодателю нужен такой жук-плавунец, который съебёт через полгода и оставит с ещё большим техдолгом? За 30к ищут мега-лоха, с которого все соки можно выжать.
Аноним 11/12/20 Птн 21:25:47 1878404227
Делаю скрипт, умеющий говорить хелло ворлд 10.000 разными способами, используя несколько сотен разных слов, где хранят этот словарик в таких случаях? Так-то я не стреманусь засунуть прям в скрипт массив 300-400 позиций или вообще одной строкой, мне похуй, а как надо?
Аноним 11/12/20 Птн 21:41:41 1878419228
>>1878404
На сервере. Загружаешь в память (для 10000 хелловорлдов в формате UTF8 это меньше 1 мб памяти) и отдаешь по запросу твоего скрипта.
Аноним 11/12/20 Птн 21:42:39 1878420229
>>1878404

Выделить в отдельное хранилище, например, в json, и обращаться к нему.
Аноним 11/12/20 Птн 21:48:14 1878426230
>>1878404
Если клиент-онли, то на похуй разгружаешь массив прямо в браузере. А так конечно нужен сервер.
анон 11/12/20 Птн 21:53:22 1878429231
Здравствуйте, аноны. Хочу научиться писать динамичный бэкенд на ноде и монгодб, с бэкендом не знаком совершенно, нужно начинать учиться с нуля. Посоветуйте, плиз, учебных материалов для прочтения, можно на английском.
Аноним 11/12/20 Птн 22:07:59 1878442232
>>1878429
У монги есть свои курсы: https://university.mongodb.com
Один из курсов включает в себя пердолинг на ноде, так что и этому чутка научишься.
Аноним 11/12/20 Птн 22:14:04 1878450233
>>1876758
function getInput(el: string) {
return document.querySelector(el) as HTMLInputElement;
}
Аноним 12/12/20 Суб 00:50:14 1878530234
>>1878420
Что такое "отдельное хранилище, например, в json"?
Аноним 12/12/20 Суб 10:55:43 1878633235
>>1875685 (OP)
Есть админы и есть обыные юзеры, как в ангуляре отрендерить одну кнопку, чтобы она была видна только админам? Канешн на бэке своя защита, чтоб по ней не перешел обычный юзер, но с фронта по ней тоже должно быть нельзя перейти
Как такое обычное решается в ангуляре?
Аноним 12/12/20 Суб 11:13:48 1878638236
Хочу запилить фулстак, что для этого нужно? Сервер на докере или виртуалке, с монго и нодой, само приложение должно тягать данные с того же сервера из монго, а дальше что? Собрать сайт вебпаком и закинуть на сервер?
Аноним 12/12/20 Суб 11:50:05 1878643237
>>1878633
Хранить в сервисе данные о правах пользователя и в компоненте их подтягивать. Как фронт получит данные о юзере это отдельный вопрос, можно при логине, например.
Аноним 12/12/20 Суб 11:54:37 1878646238
Что true-фронт должен знать про html и css? Я изучал их по мере написания пет-проектов гуглил нужные теги и стили, но мне кажется, что мне не хватает основ.
Аноним 12/12/20 Суб 12:02:37 1878648239
>>1878638
Хостинг нужен, который будет переваривать твой нодосервер. Какой-нибудь Vercel или Heroku.
Аноним 12/12/20 Суб 12:12:01 1878654240
>>1878646
Если на пол-секунды задумываешься, лепить ли очередной див или семантический тэг, то у тебя уже достаточные знания HTML. А CSS - кумулятивная тема, там как таковых основ нет, разве что лэйауты типа флекса и гридов. На MDN есть что-то типа курса вкатывальщика-вротендера, можешь чекнуть секции по HTML и CSS.
Аноним 12/12/20 Суб 12:14:36 1878655241
>>1878633
А как у тебя обычные пользователи от админов то отличаются? Создаешь AuthService, в нём роли вида Unauthorized, Authorized, Admin, при загрузке идёт проверка прав, изменить их можно при логине/разлогине. Далее всем компонентам в которых есть различия для ролей пользователей пихаешь этот сервис и в зависимости от роли показываешь/скрываешь кнопку. Но лучше всё не через сервисы делать, а через менеджер состояний - NgRx
Аноним 12/12/20 Суб 12:14:47 1878656242
>>1878648
Вот только нихуя не пойму где держать базу данных, на хероку как я понял только бедет лежать сам сайт,
Аноним 12/12/20 Суб 12:18:13 1878659243
>>1878646
Если умеешь делать адаптивные страницы, то считай, что твоих знаний достаточно. Главное чтобы CSS не состоял из тысяч media запросов, а в дублирование в html стремилось к нулю.
Аноним 12/12/20 Суб 12:19:33 1878661244
>>1878656
На хероку есть сервис для бд.
Аноним 12/12/20 Суб 12:33:21 1878671245
>>1878655
>NgRx
Нинужно.

В ангуляре проще работать с сервисами чем с flux-state библиотеками и особенно учитывая как это реализовано в NgRx.
Аноним 12/12/20 Суб 12:35:49 1878673246
>>1878656
Так ты сам сказал, что БД будет на виртуал очке. А значит у сервера есть по дефолту доступ к ней, они ж на одной машине.
Аноним 12/12/20 Суб 12:38:50 1878675247
>>1878671
Ну если ты для себя пишешь, проект не крупный, то да, можешь без NgRx работать. Если у тебя цель устроиться на работу, то без знаний NgRx шансов у тебя будет мало, а если и устроишься, то всё равно придётся учить и привыкать к нему, отвыкая от сервисов.
Аноним 12/12/20 Суб 12:50:39 1878684248
>>1878675
Буду ждать, пока придумают новый подход, лучший. Редуксы - кал.
Аноним 12/12/20 Суб 13:18:06 1878691249
kmzvri1n.jpg 17Кб, 223x223
223x223
>>1878675
Как раз таки на работе и оценил насколько NgRx говно в условиях реального проекта.

Когда начинали проект, тимлид сказал, что вот: NgRx заебись, как в Redux будем писать экшены, редусеры, геттеры-хуеттеры и тд. В итоге через 3-4 месяца переписали все на сервисы, потому что работать со всем этим мусором становилось очень сложно.
Хочешь создать новый запрос от сервера? Добавь поле в интерфейс state, добавь поле в state, добавь action файл, добавь константу экшена, добавь тип экшена, опиши в экшене вызов сайд эффекта http-запроса, создай interface редусера, создай константу редусера, создай reducer файл, добавь все импорты выше перечисленных файлов в connect, пиздец! А если хочешь что-то поменять в этой логике, будь добр пройдись по всем этим файлам. Учитывая что 90% логики, это просто вызвать запрос и получить какой-то объект, для передачи его из route компонента в child компоненты через инпуты, от этого ОЧЕНЬ сильно начинала болеть голова. А если будет что-то сложнее, типа обновления данных по @Output евенту или обновления стейта через несколько http-запросов в связке, то это вообще ебнешься.
Еще ngrx считай никак не используют концепцию Observable, поэтому в использование компонентам дается только state observable который обновляется при КАЖДОЙ записи чего-либо в state. Хочешь геттеры под конкретные поля, которые емитят только при изменении значения поля? Пиши 100 pipe(map(), distinctUntilChanged()). Хочешь подписаться на вызов определенных экшенов? Делай грязный хак, да и вообще это не Flux-way, и иди нахуй. Ни декораторов, ни нормально cli, ебал рот.
Если уж и брать flux библиотеку, то NGXS, так как там концепт Observable используется намного шире и нет надобности писать такое количество boilerplate кода. И то я считаю, если ты знаешь что делаешь сервисов тебе хватит за глаза, на крайний случай можно взять Akita, который представляет собой middleware шину, которую можно использовать для повторного получения данных из кэша.

Вообще очень сильно калит, что в js фронте из-за Redux, все стали боготворить flux-way хранения состояния, хотя как по мне это лютый оверхед. Задаешься вопросом: почему ни в одном другом языке это говно не прижилось?
Аноним 12/12/20 Суб 13:56:16 1878704250
>>1878691
>Когда начинали проект, тимлид сказал, что вот: NgRx заебись

Ну т. е. твоё знакомство с NgRx происходило в напряженной обстановке, а в обстановке проекта который нужно сдать в срок? Неудивительно почему ты высрал такую простыню негодования. NgRx не тот инструмент который можно освоить нахлёстом, для того чтобы его освоить нужна спокойная обстановка и практика в виде хотя бы 2-3 проектов.
Аноним 12/12/20 Суб 14:19:50 1878707251
>>1878704
Не спорю, что за 2-3 проекта можно освоить любой инструмент, но я не вижу какую проблему решают flux библиотеки в контексте Angular, в котором есть DI. Меньше кода они не дают, и на них можно написать такой же говнокод как на сервисах, равно так же как и хороший.
Если инструмент не приносит никакой пользы, зачем его использовать?
Аноним 12/12/20 Суб 14:38:26 1878708252
>>1878691
Братишка, а как тебе вообще сам ангуляр?
Аноним 12/12/20 Суб 15:02:54 1878719253
maxresdefault.jpg 83Кб, 1280x720
1280x720
Аноним 12/12/20 Суб 15:07:45 1878722254
>>1878708
Angular - круто.
Из большой тройки мне он больше всех нравится.
Аноним 12/12/20 Суб 15:37:12 1878730255
Аноним 12/12/20 Суб 17:30:44 1878768256
>>1878656
Mongodb atlas или aws free tier
Аноним 12/12/20 Суб 18:11:43 1878797257
>>1878691
>А если хочешь что-то поменять в этой логике, будь добр пройдись по всем этим файлам.
Вот она - эссенция пидорской зумер-архитектуры.
Реакт - кал.
Редукс - кал, однозначно.

Когда заходит речь о реактах и редуксах, полезно вспоминать, что всё это - детище фейсбука.
А бекэнд в фейсбуке - на пхп.
Это всё, что нужно знать, для принятия решения.
Аноним 12/12/20 Суб 18:21:25 1878803258
>>1878722
Э СЛИШ СКАЖИ АНГУЛЯР КРУТА
Аноним 12/12/20 Суб 18:27:03 1878811259
Есть отображение вроде:
{"name": "Alex", "department": "B2B"}

Как превратить его в query-параметры и подставить в url?
Аноним 12/12/20 Суб 18:49:50 1878826260
16011320437830.png 10Кб, 399x126
399x126
Аноним 12/12/20 Суб 18:54:57 1878832261
>>1878826
Как бы еще заставить его кодировать как надо, когда руснявые знаки попадаются...
Аноним 12/12/20 Суб 19:00:29 1878834262
Аноним 12/12/20 Суб 19:08:52 1878840263
>>1878797
Редакс это не детище фейсбука.

>>1878691
Вы не смогли завернуть поля data, error и isLoading в одну абстракцию, а виноват в этом почему-то редакс? Еще и по сто однотипных редьюсеров писали небось, лол.
Аноним 12/12/20 Суб 19:11:38 1878842264
>>1878840
Речь не про твой парашный редакс с реактом, а про NgRx и Angular. В ангуляре есть сервисы и DI, которые полностью покрывают потребности веб-приложения в управлении состоянием. Но нет, долбоебы-смузихлебы захотели писать больше бойлерплейт кода, поэтому слизали идею редакса и притащили это говно в ангуляр.
Аноним 12/12/20 Суб 19:12:55 1878843265
Аноним 12/12/20 Суб 19:15:37 1878846266
>>1878842
Ты так бахаешь, как будто лично я тебе его в проект подбросил.
Аноним 12/12/20 Суб 19:23:36 1878852267
Аноним 12/12/20 Суб 19:27:29 1878857268
>>1878852
Чтобы складывать предыдущий результат с текущим.
Аноним 12/12/20 Суб 20:03:08 1878883269
>>1878840
И на каждую такую абстракцию нужно писать/подключать как минимум 4 файла, вместо того чтобы решать через одну строчку http.subscribe(res => {}, err => {}) в route компоненте.

Может объяснишь в чем профит?
Аноним 12/12/20 Суб 20:09:57 1878885270
>>1878883
Смысл нормальных абстракций в том и состоит чтобы в одну строку все делать, а не в 4 файла. Вас постоянное написание одного и того же кода ни на какие мысли не навело? В чем там профит я не знаю, никогда с Ангуляром и ngrx не работал.
Аноним 12/12/20 Суб 20:10:05 1878886271
Аноним 12/12/20 Суб 21:24:14 1878934272
image 144Кб, 1118x884
1118x884
поясните почему переменную text объявленную в первой функции, видно в других функциях? она ведь не объявлена глобально
Аноним 12/12/20 Суб 21:31:38 1878938273
>>1878934
Это две разные переменные. Вторая — просто аргумент в функции. Почему ты их связал вообще?
Аноним 12/12/20 Суб 21:32:25 1878939274
Чёт я не вкуриваю как в нуксте запихнуть глобал стейт, не прописывая на каждой странице `data() { return {user: user.this.$store.user } }`.
Ещё и вуйкс не может в инстансы классов и сеты, вообще охуеть.
Аноним 12/12/20 Суб 21:44:37 1878942275
>>1878938
все я понял, первая функция при активации передает аргумент в функцию ниже, так?
Аноним 12/12/20 Суб 21:45:37 1878944276
>>1878942
только я не понимаю все таки нахуя в нижней функции этот аргумент прописывать явно
Аноним 12/12/20 Суб 21:48:01 1878945277
>>1878944
Так попробуй учить не читая код, а читая соответствующую литературу/учебные материалы.
Аноним 12/12/20 Суб 22:06:21 1878959278
>>1878857
Здорово. А += для этого зачем?
Аноним 12/12/20 Суб 22:44:33 1878990279
Аноним 12/12/20 Суб 22:50:37 1878994280
>>1878990
Так зачем так равно? Ты возвращаешь query + строка. Зачем там query = query + строка? Зачем здесь мутировать аккумулятор?
Аноним 12/12/20 Суб 22:51:41 1878995281
Подскажите, почему не робит.
async (): Promise<any> => {
const link = await playlist?.querySelector("li");
console.log(link) // null;
}
Playlist - это список, в который из базы приходят данные и динамически рендерятся лишки. Как правильно дождаться появления элементов в списке? мне нужен только первый элемент списка всегда
Аноним 12/12/20 Суб 22:55:07 1879001282
>>1878942
Нет, ты пишешь бессмыслицу. Иди читай как работают функции, что такое область видимости и т.д.
Аноним 12/12/20 Суб 23:01:25 1879003283
>>1878995
У тебя что-то очень странное происходит. Во-первых переменная playlist вообще какого типа? Это промис который возвращает элементы чтоли? Крайне затейливая архитектура. Во-вторых ты эвейтишь не его, а результат querySelector, который, видимо, null. Если ты хочешь эвейтить playlist, то должно быть: const link = (await playlist)?.querySelector("li");
Аноним 12/12/20 Суб 23:03:20 1879006284
>>1878995
Приходит скорее всего массив, которого даже в DOM'e нет. Пиздуй читать, как результат промисов превращать в json, тебе даже никаких квери селекторов не надо.
Аноним 12/12/20 Суб 23:07:38 1879009285
>>1879003
>>1879006
Playlist(ul) руками написанный список в HTML'е. По загрузке страницы, из базы я получаю массив с данными, потом перебираю массив и отрисовываю лишки в список. Пока данные с сервера не пришли, в списке нет лишек. Мне нужно дождаться, когда в этом списке появится элемент li.
Аноним 12/12/20 Суб 23:10:18 1879011286
>>1879009
Что у тебя там за дичь, которая пересылает html в запросах? Точно с xml не путаешь?
Аноним 12/12/20 Суб 23:15:15 1879014287
>>1879011
В запросах только данные. Эти данные через самописную функцию рендера (создаётся лишка и вставляется в ul) вставляются в список.
Ну просто получаю например строку "ХУЙ" из базы данных
передаю в функцию

function renderHUI (ulElement, text){
const hui = document.createElement('li");
hui.innerHTML = text;

ulElement.apend(hui);
}
Аноним 12/12/20 Суб 23:19:00 1879017288
>>1878959
Ты не спрашивай. Ты за Папкой повторяй. Пока Папка добрый
Аноним 12/12/20 Суб 23:27:08 1879022289
>>1879014
Так тебе данные или элемент нужен? Данные можешь выдёргивать из массива ещё до рендера, а элемент списка будет доступен сразу после `ulElement.appendChild(hui);`
Аноним 12/12/20 Суб 23:29:52 1879023290
>>1879022
Мне элемент нужен. Данные я получаю без проблем. Застопорился в этом моменте. (как дождаться пока в DOM элементе появится другой элемент).

>будет доступен сразу после `ulElement.appendChild(hui);`
Это да, но я хотел отдельно функцию, которая отрисует по загрузке всё, что прийдёт от базы, и другую функцию, которая после будет получать первый элемент списка и уже дальше его обрабатывать.
Аноним 13/12/20 Вск 00:04:11 1879033291
>>1878994
>>1878990
>>1879017
Равно у него там находится, в качестве идеального показателя того, насколько человек вообще неодупляет, что происходит в его алгоритме, как работает его язык программирования и, в целом, программирует копипастом не приходя в сознание.
Аноним 13/12/20 Вск 00:12:36 1879034292
>>1878995
Нашёл решение с использованием MutationObserver (Узнал о таком интересном интерфейсе, лол). Но хотелось бы понять, возможно ли просто промисом дождаться мутации DOM'а.
Аноним 13/12/20 Вск 00:29:29 1879041293
>>1879034
Что ты под этим подразумеваешь вообще? Что значит «дождаться»? Мутации DOM синхронные, их не надо дожидаться.
Аноним 13/12/20 Вск 00:38:06 1879046294
>>1879041
Мутация конкретно списка происходит после того, как приходят данные от сервера.
Аноним 13/12/20 Вск 00:40:07 1879048295
>>1879046
У тебя логика нарушена.

> я хотел отдельно функцию, которая отрисует по загрузке всё, что прийдёт от базы, и другую функцию, которая после будет получать первый элемент списка и уже дальше его обрабатывать.
Тебе сразу нужно совершить нужные действия с данными из базы, чтобы первые элементы были готовыми до отрисовки.
Аноним 13/12/20 Вск 00:45:50 1879053296
>>1879048
Так я сразу и совершаю действия (принял данные, отрисовал нужное количество лишек и распихал данные с сервера в датасеты лишек). Потом, что бы не дёргать сервер, я работаю с данными из датасета лишки. Вот мне нужно было дождаться, когда в списке будет хоть одна лишка.
Аноним 13/12/20 Вск 01:04:07 1879056297
>>1879053
>и распихал данные с сервера в датасеты лишек
Вот тут и надо делать то, что ты хочешь делать после ожидания появления.
Аноним 13/12/20 Вск 03:36:18 1879105298
image.png 16Кб, 551x408
551x408
Аноним 13/12/20 Вск 03:46:32 1879108299
>>1879105
>И поясните почему там надо явно биндить this ?
Уже сам понял
Аноним 13/12/20 Вск 09:25:52 1879169300
Насмотрелись каких-то пидоров и заставили включить "strict": true. Теперь два дня буду расставлять проверки на undefined и ебучие восклицательные знаки. Спасибо, angular и typescript!

>TS2564: Property 'autofocus' has no initializer and is not definitely assigned in the constructor.

@ViewChild("autofocus", {static: true})
private autofocus.!..: ElementRef;
Аноним 13/12/20 Вск 10:00:05 1879176301
>>1879169
Ну ничего, в следующий раз будешь сразу нормальный код писать, с проверками на undefined и без использования костылей вида ViewChild
Аноним 13/12/20 Вск 10:00:28 1879177302
>>1879169
Зато раньше сидел с дырявым кодом и кайфовал?
Аноним 13/12/20 Вск 10:43:45 1879183303
>>1879176
Иди туду доделывай, не отвлекайся.

>>1879177
А где твой дырявый рот приводит хоть один пример?
Аноним 13/12/20 Вск 10:50:04 1879184304
>>1879183
>Иди туду доделывай, не отвлекайся.
>уминя крупный праект паетаму неговнокод а необходимасть!!!

И часто ты себя так успокаиваешь, говнокодер? Зачем тебе вообще ангуляр и тайпскрипт? Сидел бы на js и react/vue, как делают остальные макаки вроде тебя.
Аноним 13/12/20 Вск 11:04:00 1879189305
>>1879169
>Насмотрелись каких-то пидоров и заставили включить "strict": true
Я хуею с того какие дегенераты тут сидят. "Заставили" его включить режим неговнокода. Пиздец!
Аноним 13/12/20 Вск 11:28:23 1879194306
А че у вас тут за мем про туду? Типа сделать spa которая добавляет "планы на день"?
Аноним 13/12/20 Вск 12:45:39 1879229307
>>1879194
Это общий мем, также как и создание мувисерчера. Туду и мувисерчер самые популярные проекты которые создаются новичками, в основном из-за влияния инфоцыган продающих копипасту одних и тех же курсов вида "вайти в айти за 7 дней"
Аноним 13/12/20 Вск 12:52:23 1879231308
>>1879194
Есть известный сайт демо разных фреймворков, реализующий туду лист.
http://todomvc.com/
Аноним 13/12/20 Вск 14:15:05 1879272309
>>1879229
>в основном из-за влияния инфоцыган
Инфохуян. Туду - просто продвинутый хелловорлд. Это классика.
Аноним 13/12/20 Вск 14:32:39 1879283310
>>1879272
Показывай мне хоть одну книгу в которой в качестве учебного проекта делается туду.
Аноним 13/12/20 Вск 16:56:09 1879370311
Аноним 13/12/20 Вск 17:54:16 1879403312
Помогите плиз. Почти доделал приложуху. Осталась мелкая деталь.
>>1879354 →
Аноним 13/12/20 Вск 18:14:47 1879425313
>>1879403
Так не мутируй. В реакте мутанты запрещены.
Аноним 13/12/20 Вск 18:16:23 1879427314
>>1879403
Нахуй ты сет преобразовываешь в массив при каждом пуке? Манипулируй методами сета.
Аноним 13/12/20 Вск 18:20:02 1879434315
>>1879403
Какой slice, какой unshift? Ты в Реакте, братюнь, никаких мутаций.
Аноним 13/12/20 Вск 18:21:40 1879437316
>>1879434
>Какой slice
splice то есть, slice-то ок как раз.
Аноним 13/12/20 Вск 18:31:18 1879450317
>>1879434
А что плохого в них? Работает же...если юзать юз эффект
>>1879427
Я забыл, что у сета методы есть. Надо будет попробывать.

Вообще сначала хотел решить проблему юз эффектом, но в моем случае не подходит.
Аноним 13/12/20 Вск 18:39:48 1879453318
>>1879450
А ты где эту фунцию-то вызываешь? В рендере что ли?
Аноним 13/12/20 Вск 18:41:47 1879455319
>>1879453
Дя. Она должна брать инпут только при определенном ответе апи. Поэтому юз эффект и не подходит:с
Аноним 13/12/20 Вск 18:45:44 1879459320
>>1879455
А какое поведение ты собсна ожидаешь? Если ты вызываешь setState, то, конечно, это снова вызывает рендер.

Вообще чот не очень понятно зачем тебе array как отдельный кусок стейта. Считай его прямо в рендере.
Аноним 13/12/20 Вск 19:14:53 1879468321
3.PNG 90Кб, 1099x1033
1099x1033
Capture.PNG 47Кб, 2123x371
2123x371
>>1879459
>А какое поведение ты собсна ожидаешь?
Ну в моей голове это работает так.
const [array, setArray]= useState([]) дает мне изначально пустой массив array. В который я unshiftом добавляю на первое место значение, затем удаляю дубли сетом, сет эррэй перекидывает массив без дублей в array. При следующем вызове функции в массив добавляется новое значение и так далее до 10.

Да, я понимаю что это неработает из-за того, что в рендере нельзя использовать стейты.

Еще кстати вопрос. Почему вызов компонента внутри строки не работает последний скрин? В первом случае будет перекидывать компоненты андефайнд, а при записи в столбик все будет работать.
Аноним 13/12/20 Вск 19:16:19 1879471322
*перекидывать в компонент андефайнд
Аноним 13/12/20 Вск 19:18:51 1879475323
>>1879450
Мутирующие методы сета тоже нельзя.
Аноним 13/12/20 Вск 19:21:01 1879477324
16077235612340.jpg 60Кб, 719x688
719x688
>>1879475
А ЧТО ВООБЩЕ В РЕАКТЕ МОЖНО???
Аноним 13/12/20 Вск 19:22:34 1879478325
>>1879477
Друк, это не только в рякте. Сейчас никто не мутируем, не циклит.
Аноним 13/12/20 Вск 19:37:54 1879487326
>>1879477
Можно создавать копии и перезаписывать ими переменные.
Аноним 13/12/20 Вск 19:42:47 1879492327
DwQ.png 18Кб, 500x500
500x500
Здравствуйте, явабояре.

Есть один околобордовый проект на общественных началах. Проект для поддержки специфического хобби (а-ля форумные квесты/рпг с одним автором и несколькими голосующими игроками, зародилось на форчане или недалеко от него). Хобби увлекаются достаточно много людей, но среди них достаточно мало программистов.
Теми, кто есть, уже некоторое время пилится dedicated сайт с блекджеком, шлюхами и фичами специально под хобби, но рук и времени пилить быстро у нас не особенно хватает. В связи с чем решили мы сделать систему bounty для фич оного сайта, за которые комьюнити (да и мы тоже, что уж там) готовы башлять исполнителям на пряники с чаем.
Проект интересный, нетривиальный, делается из любви к данному типу времяпрепровождения.
Теги: html, css, JS, Java, gRPC, user-generated content, open source.

Почитать побольше про проект (диздок): https://docs.google.com/document/d/1WZH-b9PGbb7gdMYRhA65-Yn3oJvI8iAyZ_wz-weK9Yw/edit?usp=sharing
Гит репа: https://gitgud.io/dqp
Баунти райское наслаждение: https://docs.google.com/document/d/1oBzPFcpfdk9TG-6WlE29ORhU7EP1rwptJ82n7ajQOKY/ (На данный момент ценник стоит в 100$ за каждую)
Сервер для координации: https://дискорд.gg/YMCPr2uPxU

Милости прошу к нашему шалашу.
Аноним 13/12/20 Вск 19:45:00 1879494328
Аноним 13/12/20 Вск 20:12:51 1879532329
>>1879475
Вполне можно, мутация/немутация это бест практис, а не что-то пиздец критичное. Главное чтобы через `setState()` изменение проходило.
Аноним 13/12/20 Вск 20:57:07 1879567330
Друзья, пытаюсь в этот ваш мерн, с create react app все понятно данные оправляются роуты работают , а как жить с вебпаком? При клике на ссылку роутится нужный компонент но при обновлении пишет cannot get/posts , какого хуя? И как правильно проксировать? В настройках вебпака прописывать в дев сервер прокси?
Аноним 13/12/20 Вск 23:01:17 1879699331
>>1879492
Более мемного языка шаблонов не пробовал найти? Чтобы что-то пропердолить нужно ещё один незадокументированный язык шаблонов учить.
Аноним 13/12/20 Вск 23:07:44 1879707332
сап надо сделать микросервис по генерации email ( nestjs )
сами письма/темы/i18n/шаблонизация

Вопросы:
i18n надо реализовывать через handlebars? Или в ноде а потом в handlebars уже тупо все переведенное передавать?
Аноним 13/12/20 Вск 23:17:32 1879719333
>>1879468

хуя се говнокод))

мимо синьер
Аноним 13/12/20 Вск 23:19:41 1879723334
>>1879468
не читал твои мемуары, но уверен что твоя проблема да и вообще вся задача решается в 4 строки кода

опиши что ты делаешь?
ТЗ опиши


Мимо синьер из фейсбука
зовут меня Денис
Аноним 13/12/20 Вск 23:31:57 1879743335
>>1879723
>Мимо синьер из фейсбука
Хуи сосёшь или гомофоб?
Аноним 13/12/20 Вск 23:41:35 1879755336
>>1879743

Зовут Меня Денис Абрамов
Хуй не сосу

Вопросы есть?
Аноним 14/12/20 Пнд 06:24:23 1879991337
useReduser заменяет редакс?
Аноним 14/12/20 Пнд 06:34:27 1879994338
>>1879991
Если у тебя тудушка того уровня, которую вкатывальщики делают, то да. Если у тебя серьезное приложение, то стейт менеджер не заменить хуком, но не обязательно использовать именно редакс.
Аноним 14/12/20 Пнд 08:16:47 1880016339
>>1879719
Взял бы меня на работу?
Аноним 14/12/20 Пнд 09:44:06 1880041340
Аноним 14/12/20 Пнд 09:50:44 1880043341
>>1880041
Речь про TS же, что тебя смущает? Ну, кроме того, что компиляцией через него не пользуются уже.
Аноним 14/12/20 Пнд 09:53:56 1880045342
>>1880043
Хотя, всегда остается компиляция в редакторе. Ее имеет смысл оптимизировать.
Аноним 14/12/20 Пнд 10:15:25 1880056343
>>1880043
Блять, не сильно ли похуй, скомпилится твое говно за 9 секунд или за 10.5?
Аноним 14/12/20 Пнд 10:19:08 1880057344
изображение.png 89Кб, 750x1334
750x1334
изображение.png 996Кб, 750x1334
750x1334
Подскажет кто-нибудь по верстке? Я в этом совсем не специалист.
Наверстал галлерею изображений - аж самому нравится.
Я не умею в адаптивную верстку и поэтому поставил бутстрап. Все красиво, но галлерея пошла по пизде, вместо красивой секти, которая даже на телефонах смотрится нормально, там одно изображение на весь экран. Можно ли как-то отменить правило коллапса бутстрапа для контейнера и его потомков?
Первый пик - без бутстрапа.
Второй - с ним.
Вот и хотелось бы как-то отменить ресайз для контейнера. Я второй раз так наверстать не смогу прост.
Аноним 14/12/20 Пнд 10:29:25 1880066345
>>1880056
В редакторе не похуй. Если у тебя большой проект, то как-то не очень хочется, чтобы после каждого изменения тайпинги обновлялись по 30 секунд.
Аноним 14/12/20 Пнд 10:37:45 1880069346
Че запилить новостной сайт или мемный?
Аноним 14/12/20 Пнд 11:15:40 1880087347
>>1880043
>Ну, кроме того, что компиляцией через него не пользуются уже.
Зумеры уже не пользуются компиляцией TS?
Охуеть, каждый день новости.
Просто через бабель прогоняете, чтобы типы поубирал?

А теперь подумай, сынок, нахуя вам вообще TS?
Так пишите, один хуй дураки.
Аноним 14/12/20 Пнд 11:38:55 1880100348
>>1880016

да если попка рабочая
Аноним 14/12/20 Пнд 11:39:24 1880101349
>>1880041
ты хоть был разок на проекте где около 100 форм?
Аноним 14/12/20 Пнд 11:44:29 1880107350
image.png 128Кб, 585x981
585x981
>>1880057
ну хз

самый простой вариант кмк это в инспекторе посмотреть то что проставил сам бутстрап на конкретные элементы в твоей сетке

на пике пример того что абу написал в makaba.css и те стили что тянутся из дефолтного браузерного css
так вот для всех элементов в твоей сетке надо повыпиливать то что было добавлено из bootstrap.css

Аноним 14/12/20 Пнд 11:57:31 1880114351
>>1880057
img { max-width: 100%, height: auto }
Не благодари.
Аноним 14/12/20 Пнд 12:05:53 1880119352
>>1880087
Эээ, а это правда объяснять надо? Ну ладно. TS постоянно работает в редакторе, а на корректность типов в целом проект проверяется в PR через CI. С бабелем сильно удобнее, во-первых потому что компиляция шустрее, во-вторых можно быстро что-то проверить в рантайме не дроча типы.

Удивительно, конечно, насколько быстро ты готов назвать всех вокруг зумерами, дураками и сынками не разобравшись в ситуации.
Аноним 14/12/20 Пнд 13:09:58 1880169353
>>1880069
Генератор собак запили
Аноним 14/12/20 Пнд 15:48:20 1880265354
>>1880119
Просто не нужно быть столь категоричным - "не пользуются уже".
Вы не пользуетесь, а другие - пользуются.

С нормально настроенной средой - webpack-dev-server + proxy + hmr всё компилируется вообще незаметно при изменении кода.

А то, что делается через бабель - это не TS.
Могу себе представить, сколько может быть неочевидных багов из за этого.
Аноним 14/12/20 Пнд 16:00:06 1880274355
>>1880101
А что, tsc до сих пор не умеет инкрементальную компиляцию?
Аноним 14/12/20 Пнд 16:06:01 1880279356
>>1880265
>Могу себе представить, сколько может быть неочевидных багов из за этого.
Поделишься хотя бы одним?
Аноним 14/12/20 Пнд 16:38:35 1880316357
joom.com.mp4 7944Кб, 1920x952, 00:00:14
1920x952
owlcarousel2.mp4 8564Кб, 1920x958, 00:00:21
1920x958
slick.mp4 9551Кб, 1920x972, 00:00:18
1920x972
Анон, мне понадобился слайдер, который на маленьком экране показывает начало следующего слайда, типа такой намек, что тут слайдер, а не просто картинка, а на большом экране работает как обычный слайдер со стрелочками навигации.
Поискал решения к готовым слайдерам, все с какими-то костылями. Посмотрел как белые люди делают, понравилось решение на joom.com.

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

Знающий анон, подскажи, как мне оживить стрелки навигации на большом экране у этого слайдера?
И как вообще такое возможно? Как можно изменить позицию элемента на странице не меняя его свойств и стилей?
Для примера записал видео работы 2-х популярных слайдеров owlcarousel2 и slick при сдвиге слайдов там все живет, на joom ни движения.

Аноним 14/12/20 Пнд 16:49:36 1880332358
ScreenRecorderP[...].mp4 2030Кб, 324x570, 00:00:17
324x570
>>1880316
На видеорил функционал на малых экранах, ради которого я полез к этому слайдеру
Аноним 14/12/20 Пнд 16:53:24 1880334359
>>1880279
Не могу, они же неочевидные.
Аноним 14/12/20 Пнд 17:53:13 1880376360
image.png 106Кб, 1314x316
1314x316
>>1880316
>>1880332
Там просто скролл по горизонтали overflow-x

Аноним 14/12/20 Пнд 17:54:18 1880377361
Аноним 14/12/20 Пнд 17:54:36 1880378362
>>1880316
почему свой не напишешь?
Аноним 14/12/20 Пнд 18:20:17 1880405363
>>1879468
Бля, этот код не просто гавно мамонта, а редкостный кал пеликана. Ебан бобан. Без негатива, если бы ты мне это показал, то шансов было бы больше у человека, который ничего не сделал. Поэтому, если ты заинтересован в том чтобы это кому-то показать, никаких принтскринов больше, и тем более кусочных кодов, потому что я чувствую, что это только вершина айсберга. Идешь и добавляешь это в реакт sandbox и кидаешь ссылку. Потом я смогу тебе помочь.

По поводу того что ты сбросил: stringify массива, чтобы понять длину массива, это мое почтение. Я когда, это увидел, я чуть не подавился.

Куча вложенных тернарных операторов, это полный пиздец. Мало того, что они не должны быть вложенными, ты еще сделал их тернарными.
Проверка на андефайнд.
Лапшекод из пропсов.

Короче, бросай все приложение и тогда будем говорить конструктивно.
Аноним 14/12/20 Пнд 19:01:18 1880442364
>>1880405
>По поводу того что ты сбросил: stringify массива
Бест практис и жиэс типс.
Аноним 14/12/20 Пнд 20:00:42 1880517365
>>1879468
>>1880405
Бля, мир сошёл сума.
Как вообще можно таким образом писать фронтенд?

Я имею в виду реакт вообще и всю сопутствующую залупу.
Это же просто мешанина из говна, эти ваши реакты, редуксы, хуюксы.
Фейсбучное левачьё сожрало ваш мозг.
Аноним 14/12/20 Пнд 20:01:56 1880521366
>>1880517
Пиши на ангуляре, там всё чётко и типизировано.
Аноним 14/12/20 Пнд 20:04:32 1880524367
>>1880521
Да, на фоне реакта - ангуляр выглядит просто невьебенно белым и пушистым.
Аноним 14/12/20 Пнд 20:09:17 1880531368
>>1879468
Хуки вскоре устареют, подожди пока зарелизят крюки, где станет возможным писать компоненты ещё короче, быстрeе, молодежнее.
Аноним 14/12/20 Пнд 20:11:33 1880536369
>>1880531
А потом зарелизят срюки, тогда вообще можно будет срать, не снимая свитер.
Аноним 14/12/20 Пнд 20:14:46 1880539370
как же я ненавижу блядский реакт
Аноним 14/12/20 Пнд 20:25:44 1880547371
Аноним 14/12/20 Пнд 20:29:00 1880548372
Аноним 14/12/20 Пнд 21:14:38 1880589373
Внутри одного div (эдакого контейнера) лежат несколько других div-ов. Как достать из них всех текст?
Аноним 14/12/20 Пнд 21:21:08 1880592374
>>1880405
Не понял твоего бугурта. А как правильно надо?
мимо проходил
Аноним 14/12/20 Пнд 21:27:21 1880598375
Аноним 14/12/20 Пнд 21:42:30 1880609376
>>1880592
Вместо вложенных тернарников - свитч кейс, даром что как раз по одной переменной проверка идёт. И возвращать он должен строку которая идёт в параграф, а не новый див со строкой на каждый пук.
Вместо передачи 10+ пропсов - передавать объект и его деструктурировать уже в компоненте.
Ну и просто наркоманские отступы.
Аноним 14/12/20 Пнд 21:43:44 1880611377
>>1880609
>Вместо вложенных тернарников - свитч кейс
А вместо мар - циклы.
Аноним 14/12/20 Пнд 21:48:09 1880617378
15855935722820.png 33Кб, 576x329
576x329
Аноним 14/12/20 Пнд 21:50:46 1880621379
Аноним 14/12/20 Пнд 21:56:01 1880624380
>>1880617
Зачем ты в качестве функций-методов используешь функции-конструкторы?
Аноним 14/12/20 Пнд 21:57:14 1880625381
>>1880377
Тогда при чем тут отношение скорости компиляции к количеству форм?
Аноним 14/12/20 Пнд 22:02:12 1880631382
>>1880624
Где ты там функции-конструкторы увидел? Это обычные методы объекта. Ты наверно имеешь ввиду почему я не использовал стрелочные функции? Потому что стрелочные функции не захватывают this и всегда ссылаются на this той области в которой они вызваны. Из-за этого не рекомендуется использовать их в качестве методов объекта.
Аноним 14/12/20 Пнд 22:06:40 1880634383
>>1880631
Нет, не обычные. function (){ ... } - это конструктор.
Метод - это mathodName(){ .. }

Стрелочные функции вообще не при чем.
Аноним 14/12/20 Пнд 22:07:57 1880640384
>>1880631
Сравни оверхед по количеству лишних созданных объектов, которые у тебя леат в success.prototype, error.prototype, loading.prototype и так далее.
Аноним 14/12/20 Пнд 22:19:02 1880645385
>>1880631
А this тебе тут зачем, если у тебя объявлена константная ссылка на объект? Что тебе мешает в каждом методе заменить this на handlePlayerStatsResponse?
Аноним 14/12/20 Пнд 22:23:28 1880647386
6a8.jpg 80Кб, 625x403
625x403
>>1880634
> function (){ ... } - это конструктор.
Аноним 14/12/20 Пнд 22:29:30 1880655387
>>1880645
И что это изменит? Зачем мне менять 4 символа на 25?
Аноним 14/12/20 Пнд 22:32:34 1880658388
>>1880655
Это было к твоему оправданию тому, что ты не можешь использовать стрелочные функции вместо методов - ты можешь.

Вопрос, почему ты все же вместо методов использовал конструкторы остается открытым.
Аноним 14/12/20 Пнд 22:41:13 1880667389
>>1880647
Что-то новое для себя узнал?

Почти всё в жс - это обмен сообщениями между объектами. У всех объектов есть внутренние слоты, которые определяют возможное по-умолчанию поведение объекта, а так же то, какое именно поведение возможно перехватить из пользовательского кода с помощью средств рефлексии и метапрограммирования.

Функции - это объекты у которых определены (или нет) такие внутренние слоты как Call, Construct, FormalParametres, ThisBindingStatus, HomeObject и прочие.
Функции у которых определен слот Call - являются вызываемыми объектами. Функции у которых определен слот Construct - являются конструкторами. Определить конструктор можно лишь двумя способами (с помощью конструкции class {} и function() {} ) . У всех функций-конструкторов по умолчанию создается дополнительный объект, который кладется к ним в поле .prototype (при это у class{} этот объект нельхзя удалить или изменить, у простых контсукторов можно удалить или изменить пост-фактум, но изначально дополнительный объект есть у всех).

Вызываемыми являются все функции кроме конструкторов class{}.

У стрелочных функций, и функций-методов ( method(){...} ) дополнительного объекта в .prototype нет, у них вообще нет такого поля.

Функции методы - это те функции у которых определен внутренний слот HomeObject - проще говоря, такие функции внутри которых есть возможность использовать ключевое слово super. У функций-конструкторов определенных с помощью FE или FD слота HomeObject нет, даже если ты засунул их в поле объекта, и методами они не являются.
Аноним 14/12/20 Пнд 22:42:00 1880670390
>>1880634
Чувак, то, что ты называешь "методом" - это сахар.
В JS нет ни классов, ни методов.
Аноним 14/12/20 Пнд 22:42:16 1880671391
>>1880658
> стрелочные функции вместо методов - ты можешь.

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

>Вопрос, почему ты все же вместо методов использовал конструкторы остается открытым.

Так код читается лучше и не превращается в кашу.
Аноним 14/12/20 Пнд 22:43:31 1880673392
>>1880670
В JS вообще ничего нет, кроме null. В JS все - null.
Аноним 14/12/20 Пнд 22:43:31 1880674393
>>1880670
Нет. Ты пиздишь, потому что не шаришь. Выше я расписал что чем отличается.
Аноним 14/12/20 Пнд 22:45:06 1880675394
>>1880667
Это в каком джаваскрипте вот это вот всё есть?
И где есть такой джаваскрипт?
Аноним 14/12/20 Пнд 22:45:50 1880676395
>>1880671
Ты дурак? Я тебе написал, что ыт можешь использовать ссылку на сам объект вместо this и тем самым заменить методы на лямбды.

>Так код читается лучше и не превращается в кашу.
У тебя и есть каша. Мало того, что ты засрал весь код лишней информацией и кличевыми словами, нарушил семанткиу, так еще и добавил ниебический оверхед по памяти. Представляю, как ты пишешь целые сайты таким удобным способом, а потмо ходишь и арссказываешь, как жс жрет память как не в себя.
Аноним 14/12/20 Пнд 22:46:17 1880677396
>>1880675
Это все есть в обычном жс - везде.
Аноним 14/12/20 Пнд 22:47:22 1880678397
>>1880674
Ты хуйню написал.
В том примере (>>1880617) - обычный js код.
Какие методы-хуетоды ты хотел там увидеть и зачем?
Аноним 14/12/20 Пнд 22:49:47 1880680398
>>1880677
Пруфы будут?
Я вот сейчас в хроме пропробовал определить "метод" и получил SyntaxError.
Аноним 14/12/20 Пнд 22:50:03 1880682399
image.png 14Кб, 483x329
483x329
>>1880678
Иди доделывай уроки.
Аноним 14/12/20 Пнд 22:52:05 1880684400
Аноним 14/12/20 Пнд 22:55:07 1880685401
>>1880682
У тебя в коде ошибка прямо говорит, что это не конструктор, шизло.
Аноним 14/12/20 Пнд 22:55:43 1880686402
>>1880682
Да, блядь, и правда работает.
У меня просто опечатка была.

Но, в IE 11 точно не будет работать, я думаю. Проверить сейчас не могу.
Аноним 14/12/20 Пнд 22:55:52 1880687403
halt-and-catch-[...].jpg 212Кб, 1200x707
1200x707
>>1880405
>если бы ты мне это показал, то шансов было бы больше у человека, который ничего не сделал
Ты мне предлагаешь учить реакт и вообще не писать код? Это моя первая приложуха с 0.

Я конечно согласен, что у меня говнокод, но почему ты доебался к
"куча вложенных тернарных операторов"
мне лично непонятно. Код прекрасно читаем, использовать там ифы или тернарный оператор - вкусовщина же.
Завтра вечером скину тогда в реакт сендбокс, а то я еще там по-мелочи всякое переделать хочу.
Аноним 14/12/20 Пнд 22:57:01 1880690404
>>1880687
>Ты мне предлагаешь учить реакт
Да
И только потом
>писать код
Аноним 14/12/20 Пнд 22:57:52 1880692405
>>1880685
У него пример прямо и показывает, что одно конструктор, а другое нет. Внезапно, да?
Аноним 14/12/20 Пнд 22:59:21 1880693406
>>1880685
Да нет, всё правильно там.
"Конструктор" - это o.a();
Только это конструктор не для o, а для самого себя (o.a).
Т.е. это не то, что в джаве, например.

>>1880678-кун
Аноним 14/12/20 Пнд 22:59:48 1880694407
d8b.gif 50Кб, 413x243
413x243
Аноним 14/12/20 Пнд 23:01:55 1880697408
>>1880694
Да, олдфагов не осталось уже, одни зумеры.
Аноним 14/12/20 Пнд 23:03:33 1880699409
>>1880676
>ссылку на сам объект вместо this и тем самым заменить методы на лямбды.

Зачем мне лямбды твои, дауненок? Зачем мне ссылка на сам объект вместо this? А если я захочу сделать этот объект классом, а не константой, то мне переделывать опять? Зачем мне писать вместо 4 букв, название объекта, которое может измениться?

>У тебя и есть каша.

У меня понятный код, который не лепит в кучу названия объектов и названия методов.

>лишней информацией

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

>ниебический оверхед по памяти.

Как там в 2000-х, уже готовишься покупать третий пентиум или мамка не накопила денег? Уже научил родителей как на спичках экономить?
Аноним 14/12/20 Пнд 23:05:16 1880702410
>>1880687
перепеши мне эти тернарные операторы на if else, и посмотрим как ты считаешь это выглядит. Жду сэндбокса
Аноним 14/12/20 Пнд 23:19:10 1880713411
>>1880645
Чувак, ты ебанутый?
Ты слово "инкапсуляция" слышал когда-нибудь?
Ещё и учит, блядь, менторским тоном, лол.

>>1880667
Всё, что ты тут по этой теме написал - это полная хуйня.
Не "неправда", а именно хуйня, понимаешь?
Clever code. Профессионалы так не делают.
Аноним 14/12/20 Пнд 23:31:32 1880727412
>>1880699
>>1880713
Чел вам все охуенно раскидал и поделился знаниями, а вы чет ноете пок-пок-купи-новый комп, пок-пок-пок-профи-так-не-делают. Сейчас модно что ли гордиться незнанием чего-то и написанием оверхеда на пустом месте?
Аноним 14/12/20 Пнд 23:35:54 1880734413
>>1880727
За "поделился знаниями" - спасибо.
Просто не нужно делать это в ультимативном тоне, в стиле "все пидорасы, кто не я".

Тут надо понимать, что жс - достаточно мутная тема.
И лучше писать понятный и максимально совместимый код, чем экономить буковки и байтики. Потому, что браузер всё равно этих байтиков не жалеет нихуя, и тратит мегабайтами на каждый пук.
Аноним 14/12/20 Пнд 23:40:28 1880738414
>>1880734
Ничего мутного в жс нет, если ты знаешь как он работает.
Использование jsx само по себе подразумевает стадию транспилирования исходного кода, поэтому о написания максимально совместимого кода это ересь несусветная.
Такая же, как использование Function Expression вместо Method Declaration, с последующем доказыванием с пеной у рта своей правоты.
Аноним 14/12/20 Пнд 23:41:43 1880741415
>>1880734
Мутный он для тех, кто в нем плохо разбирается, что в общем-то логично.

>И лучше писать понятный и максимально совместимый код, чем экономить буковки и байтики.
Это не взаимоисключающие вещи.

>Потому, что браузер всё равно этих байтиков не жалеет нихуя, и тратит мегабайтами на каждый пук.
Это просто неправда, браузеры очень эффективные программы, хоть и реализующие довольно неэффективный API.
Аноним 14/12/20 Пнд 23:46:08 1880747416
>>1880738
А, вон оно что.
JSX'а -то я и не приметил, лол.
В этом случае да, надо было "методы".
Аноним 15/12/20 Втр 00:25:50 1880774417
Аноним 15/12/20 Втр 00:46:52 1880786418
>>1880119
а до PR ты как типы проверяешь?
Аноним 15/12/20 Втр 00:55:59 1880792419
>>1880786
Редактором. Алсо можно руками запустить проверку, но пока ни разу не пригодилось.
Аноним 15/12/20 Втр 01:28:51 1880814420
>>1880667
Короче говоря лучше не объявлять функции ключевым словом function без необходимости?
Мимо Крок
Аноним 15/12/20 Втр 01:42:35 1880817421
Аноним 15/12/20 Втр 02:00:29 1880828422
>>1880817
А у чем тогда смысл холивара выше?
Аноним 15/12/20 Втр 02:13:43 1880834423
>>1880828
Там про методы объекта.
Аноним 15/12/20 Втр 02:21:33 1880835424
>>1880828
В том, что надо понимать разницу между Function Definition, Arrow Function Definition, Method Definition и Class Definition, результат использования каждого из них (в том числе сопутствующих им свойств), и, как следствие, применять их по назначению.
Аноним 15/12/20 Втр 02:31:17 1880840425
image.png 39Кб, 990x457
990x457
Кто может объяснить, почему объект window так странно работает?

На скриншоте описал вопрос. Извините за больше чем пару строк кода.

JSBin: https://jsbin.com/futoramexe/edit?js,console
Аноним 15/12/20 Втр 02:45:57 1880844426
>>1880840
Зачем копаться в вещах, которые устарели, не используются и не рекомендуются к использованию.

Во вторых, как ты привязал переменную, которой вообще нет к window?

console.log(window.c) - undefined
Аноним 15/12/20 Втр 02:53:40 1880849427
>>1880844
Не понимаю, почему при вызове console.log(c) не выводится undefined. Ведь c === window.c по идее


Аноним 15/12/20 Втр 03:03:31 1880852428
>>1880840
>>1880849
Мне лень расписывать подробно почему это работает именно так, особенно учитывая отношение местного контингента к попыткам их просвещения в чём-либо. Если тебе действительно интересно, гугли\читай про такую вещь как scope chain, как эта цепочка устроена, как она работает, и как в ней происходит лукап переменных и их определение. Успехов.
Аноним 15/12/20 Втр 03:08:43 1880855429
>>1880849
>Ведь c === window.c по идее
С чего бы вдруг? Как по твоей логике не c === b.c?

Аноним 15/12/20 Втр 03:26:37 1880860430
image.png 19Кб, 656x226
656x226
image.png 10Кб, 407x207
407x207
Аноним 15/12/20 Втр 04:03:06 1880872431
>>1880835
Какая разница между объявлениями методов?

const hui ={
getHui(){}
}

const hui ={
getHui: () => {}
}

мимо крок
Аноним 15/12/20 Втр 04:20:54 1880885432
Аноним 15/12/20 Втр 06:25:10 1880905433
Сейчас бы блять пердолиться с варами. Если тебя с них спрашивают на собесе больше чем "знаешь что это такое?", то или тебя хотят слить или там лютейший говнокодище с глобальными переменными и вытекающим скоупом.
Аноним 15/12/20 Втр 06:39:22 1880910434
>>1880905
А если тебя просят рассказать про цепочку наследования областей видимости и принципах ее работы, то какое еще оправдание собственного невежества ты придумаешь?
Аноним 15/12/20 Втр 06:48:16 1880913435
image.png 16Кб, 759x29
759x29
>>1880617
Что, именованиеПеременныхПолностьюОписываемымВсегоЧтоВозможно не помогает, да? Может обратно в джаву съебешься со своим говнокодом?
Аноним 15/12/20 Втр 06:53:08 1880916436
>>1880913
О, теперь и на символах в названиях экономить нужно, чтобы сорс код меньше места занимал?
Аноним 15/12/20 Втр 07:04:09 1880918437
Аноним 15/12/20 Втр 07:09:22 1880919438
>>1880918
Там еще loading error возвращает вместо loading и идёт вызов несуществующего метода, что сказать то хотел, дурачок?
Аноним 15/12/20 Втр 07:11:05 1880920439
Аноним 15/12/20 Втр 07:20:15 1880921440
image.png 25Кб, 528x395
528x395
Аноним 15/12/20 Втр 07:24:57 1880923441
>>1880921
Дебил, зачем ты ?? впихнул, если вызов никогда не возвращает null? В итоге у тебя никогда данные не обработаются и всегда будет див из одной строки. Иди штаны стирай, обосрыш.
Аноним 15/12/20 Втр 07:27:26 1880924442
>>1880923
При чем тут null, когда там undefined вернется и ?? сработает, мань?
Ах, ты же не знаешь как работает оператор ?? - да? Ну или подучи.
Аноним 15/12/20 Втр 07:28:43 1880925443
image.png 3Кб, 443x43
443x43
Аноним 15/12/20 Втр 07:32:34 1880927444
>>1880921
>length === 0
>status !== undefined
Еще один
Аноним 15/12/20 Втр 07:33:29 1880928445
>>1880923
> Иди штаны стирай, обосрыш.
Это ты тут через пост орешь всем вкатывальщикам, что им базу знать не нужно, потому что это НИИСПОЛЬЗУЕТСЯ и УСТАРЕЛО.

Съеби по-хорошему, доебал уже всех.
Аноним 15/12/20 Втр 07:35:21 1880929446
>>1880927
Один чего. У тебя есть интрфейс объекта data на руках?
Ты гарантируешь что .length там не может быть пустой строкой, а .status не может быть любым falsy-значением?
Ну, вот когда найдешь интерфейс приходи, а пока пиздуй нахуй вместе с этим >>1880923 гением.
Аноним 15/12/20 Втр 08:11:30 1880932447
>>1880910
Если бы да кабы. Спросят про кишочки `with`, тоже побежишь заучивать принцип его работы, лишь бы кабанчик был доволен?
Аноним 15/12/20 Втр 08:24:58 1880935448
>>1880929
У тебя есть интрфейс объекта data в компайл тайме?
Ты гарантируешь, что .length и .status вообще там могут быть?
Ну, когда справишься с копротивлением против воображаемых интерфейсов - приходи, а пока пиздуй нахуй
Аноним 15/12/20 Втр 08:58:35 1880937449
>>1880924
Когда там Undefined вернётся, долбоебина, если у тебя на все случаи значения status есть возвращаемая строка?
Аноним 15/12/20 Втр 08:59:49 1880938450
>>1880925
Еще один долбоеб. Возможные значения status - loading, error, success. Все эти значения присутствуют в response, т. е. всегда будет воpdращаться строка и никогда undefined.
Аноним 15/12/20 Втр 10:17:52 1880947451
15782251963270.mp4 751Кб, 480x480, 00:00:10
480x480
>>1880376
Анон, спасибо! Жоска я тупанул.

>>1880378
Придется!
Аноним 15/12/20 Втр 13:15:17 1881021452
Почти все вы тут чванливые суки.
Аноним 15/12/20 Втр 13:17:54 1881024453
>>1881021
Так беги на пикабушечку быстрее, сычуш, чего ты тут забыл?
Аноним 15/12/20 Втр 13:22:33 1881030454
Ананасы, поясните на пальцах за применение генераторов, пожалуйста?
Аноним 15/12/20 Втр 13:33:48 1881038455
>>1881030
Создание своих перечисляемых структур. Ой, что это, тебе нужно теперь на пальцах пояснять что такое "перечисляемая структура"? Ну так ты либо начинай изучение программирования с чего-то менее абстрактного чем JS, либо не заморачивайся на таких очень редко используемых вещах как генераторы, и уж тем более не пиши высеров типа "на пальцах про генераторы плизки".
Аноним 15/12/20 Втр 13:38:30 1881040456
>>1881038
А что может быть менее абстрактное чем JS? Паскаль для начала изучать или что? мимо другой анон
Аноним 15/12/20 Втр 13:43:11 1881043457
>>1880921
Эта лапша выглядит во сто крат хуже чем у того изначального анона. Вот не обижайтесь, но это просто напердподвыверт чтобы выебнуться или тупо специально запутать и усложнить код.
Аноним 15/12/20 Втр 13:43:36 1881045458
>>1881040
C#, Java, даже Python менее абстрактен.
Аноним 15/12/20 Втр 13:44:50 1881047459
Аноним 15/12/20 Втр 13:46:39 1881049460
>>1881038
> Создание своих перечисляемых структур. Ой, что это, тебе нужно теперь на пальцах пояснять что такое "перечисляемая структура"?
>Мам я такой умный. Посмотри на меня. Я вместо того что бы нормально ответить делаю нахуй никому не нужные выводы. Сижу и тралю лалок в жс треде мам

Аноним 15/12/20 Втр 14:18:22 1881072461
>>1881040
Для начала - не слушать долбоёбов.

Но, да, жс в качестве первого языка - не очень.
Если только очень надо (срочно найти работу и т.п.).
А если просто научиться программировать - то питон.
Только дело не в "абсрактности" а в том, что жс мутный и мусорный язык.
Аноним 15/12/20 Втр 15:25:40 1881100462
>>1881072
Что значит мутность и мусорность относительно ЯП?
Аноним 15/12/20 Втр 15:26:52 1881101463
>>1880932
Принцип работы with описан в разделе работ цепочеи наследования областей переменных, мань.
Аноним 15/12/20 Втр 15:27:51 1881103464
Аноним 15/12/20 Втр 15:39:03 1881105465
>>1881103
Так беги штанишки стирать скорее.
Аноним 15/12/20 Втр 15:41:24 1881106466
>>1881105
Ты уверен, что он обосрался, а не ты? Что вернется для status который не определен в объекте? Что вернется в геттере success если не выволнится ни одно из условий?
Аноним 15/12/20 Втр 15:53:41 1881107467
>>1881106
>status который не определен в объекте?
>не определен в объекте?

Хуесосина тупорылая, разуй глаза, в оригинальном посте (>>1879468) status это переменная. И именно значение этой переменной сверяется с такими строковыми значениями как loading, success и error, да, там есть еще status в виде поля объекта data, оно значения не играет, потому что проверка идёт переменной. Понимаешь, скотина?

>Что вернется в геттере success если не выволнится ни одно из условий?

Вернёт пустую строку, потому что success имеет строковый тип возвращаемого значения.

Аноним 15/12/20 Втр 16:04:52 1881116468
image.png 27Кб, 587x576
587x576
>>1881107
>status это переменная
Все верно. И значение этой переменной запрашивается сверяется с тремя значениями, и двумя условиями. Если значение переменной status не является loading, status или error, а так же если status это пустой массив или объект с опеределенным поле .status - возвращается компонент, в противных случаях возвращается строка. Именно это и произойдет в приведенном коде.
>Вернёт пустую строку, потому что success имеет строковый тип возвращаемого значения.
Нет. Ты несешь чепуху и непонятно зачем ты это делаешь.
Аноним 15/12/20 Втр 16:09:20 1881120469
>>1881116
>Нет. Ты несешь чепуху и непонятно зачем ты это делаешь.

Ясно. Сразу бы и подписался "жопаскрипт макака не знающая о статической типизации", вопросов бы не было.
Аноним 15/12/20 Втр 16:13:12 1881125470
>>1881120
Где ты нашёл статическую типизацию во всей нити обсуждения? Выдумал?
Аноним 15/12/20 Втр 16:15:36 1881127471
>>1881125
Т. е. надо мимикрировать под долбоебов и советовать дерьмо вместо бест практис? Свойство должно возвращать один тип данных, а не сначала строку, потом undefined, потом вообще число.
Аноним 15/12/20 Втр 16:16:45 1881130472
>>1881127
То есть ты сам выдумал аргумент с которым сам споришь? Ты точно здоров?
Аноним 15/12/20 Втр 16:18:19 1881131473
>>1881130
>шизик выдумал какой-то спор и аргументы
>ставит под сомнение чьё-то здоровье

Таблетки выпей, а то тебе поплохело по всей видимости.
Аноним 15/12/20 Втр 16:18:23 1881133474
Добрый вечер, программач!
Сам Java/Kotlin dev, в материалах и годных сайтах по JS очень мало шарю, а друг пытается вкатиться и просит посоветовать ему что-нибудь вроде справочника.
Анон, я знаю, у тебя есть любимый сайт/книга, пусть не справочник, а просто удобный референс, посоветуй, пожалуйста! С меня няшки.
Аноним 15/12/20 Втр 16:19:02 1881137475
Ку, вопрос не совсем по жс, но близко. Работаю фулл-стек разрабом (это же так называется, когда ты фронт и бэк пилишь, да?) в одной конторе, которая по аутсорсу всякие проекты пилит, работаю вроде норм, фронт в каких-то моментах даже лучше лида знаю, но есть проблемка. Завтра из универа с 4 курса отчислят. Пытался гуглить, но чет ниче не получилось, из-за такого увольняют?
Аноним 15/12/20 Втр 16:23:46 1881149476
>>1881131
В треде привели скрин кода >>1880921 в качестве решения исходного >>1879468 и как альтернатива для приведенного ранее >>1880617


Ты начал кричать о том, что этот код работает некорректно >>1880923
На самоподдуве >>1880937
Регулярно расписывая в собственной некомпетентности >>1881107

В итоге выдумав какую-то статическую типизацию и собственные сигнатуры методов, которых нет нигде >>1881120 ни в исходной задаче не в приведеных оспариваемых решениях.

Статикодебил, плиз.
Аноним 15/12/20 Втр 16:34:54 1881160477
>>1881137
>из-за такого увольняют?
Нет.
Аноним 15/12/20 Втр 16:36:32 1881164478
>>1881127
>Свойство должно возвращать один тип данных
не должно
Аноним 15/12/20 Втр 16:41:19 1881167479
>>1881164
>захотелось отображать loading, error, unranked, not found заглавными буквами
>[status].toUpparCase()
>Uncaught TypeError: Cannot read property 'toUpperCase' of undefined

>РЯЯ НИНУЖНА ПУКСРЕНЬК ПРОСТА КАЖДЫЙ РАЗ БЕГАЙ ПО КОДУ И СВЕРЯЙСЯ С ТЕМ ЧТО МОЖЕШЬ ПОЛУЧИТЬ!!!

Отправляйся в петушинный угол к этому >>1881149
Аноним 15/12/20 Втр 16:55:18 1881182480
Че сейчас юзают? Materialize? Bootstrap? Pure? Че использовать?
Аноним 15/12/20 Втр 17:07:31 1881191481
Аноним 15/12/20 Втр 17:10:58 1881197482
Аноним 15/12/20 Втр 17:37:29 1881237483
>>1881197
Очевидный MDN, он даже в шапке указан, ну
Аноним 15/12/20 Втр 17:55:09 1881259484
>>1881167
>захотелось отображать loading, error, unranked, not found заглавными буквами
Делаешь response[status]?.toUpperCase() ?? data.map(...)

И ты пиздуешь дальше учить язык, статикодебил.
Аноним 15/12/20 Втр 18:11:55 1881267485
У вас тут какое-то соревнование по тому кто придумаете как хуевее всего сделать асинхронный запрос? Если что, react-query уже изобрели, можете пользоваться. А если не хочется тянуть чужие либы, то можно быстренько накатать реализацию usePromise с интерфейсом вроде const { data, pending, error, run } = usePromise(fetchStuff, onResolve, onReject).
Аноним 15/12/20 Втр 18:26:38 1881272486
>>1881237
Я перешёл по ссылке, а там сразу HTML CSS и прочая вебота. Как-то не хочется друга втягивать в это, он всё-таки хочет просто изучать язык, а не стек.
Аноним 15/12/20 Втр 18:36:15 1881280487
>>1881272
Я не очень понимаю что ты хочешь тогда. MDN это лучший справочник по языку, полнее только спека. Ну https://learn.javascript.ru есть еще, но это учебник, а не справочник.
Аноним 15/12/20 Втр 18:51:38 1881299488
Аноним 15/12/20 Втр 18:56:01 1881308489
>>1881101
Ну вот и учи принципы его работы в контексте современного екмаскрипта, а то вдруг спросят.
Аноним 15/12/20 Втр 19:01:05 1881319490
halt-and-catch-[...].jpg 777Кб, 1200x707
1200x707
>>1880702
А оно должно работать в сендбоксе? Или тебе просто код нужен?
Ни разу не пользовался им. Могу просто копипейстом навставлять туда?
Аноним 15/12/20 Втр 19:02:44 1881322491
>>1881272
Как ты собираешься DOM'ом манипулироваь без знания HTML/CSS? Тебе как опытному пердолику как раз эти секции обязательны, а то сразу потянешься ставить бутстрап и высирать парящие дивы-врапперы со встроенными стилями на каждый пук.
Аноним 15/12/20 Втр 19:06:58 1881331492
>>1881259
>две проверки на null и undefined
>потом такие жопаскрипт макаки тебе говорят, что вкладка жрущая 50% процессора и 10 гб памяти это норм
Аноним 15/12/20 Втр 19:21:24 1881345493
>>1881331
Покажи такую вкладку.
Аноним 15/12/20 Втр 19:23:31 1881350494
>>1881308
Его не надо специально никак учить. Если ты изучишь принципы цепочки наследования областей видимости, которые необходимо знать и понимать в любом контексте, хоть es3, хоть es5, хоть es6 - они везде работают одинаково ввиду обратной совместимости, ты уже будешь знать как работает конструкция with.
Аноним 15/12/20 Втр 19:28:25 1881355495
>>1881267
Я может невнимательно следил, но кто здесь запрос писал?
Аноним 15/12/20 Втр 19:29:27 1881357496
Аноним 15/12/20 Втр 19:30:32 1881358497
>>1881357
ПС но залей его нормально тогда, на гит
Аноним 15/12/20 Втр 19:30:36 1881359498
>>1881350
Мало ли что ты там понаизучал, нужно знать все кишочки `with` во всех версиях браузеров, своей спекой будешь перед тимлидом-травителем трясти.
Аноним 15/12/20 Втр 19:34:18 1881362499
hacf402ed041300[...].jpg 76Кб, 779x520
779x520
>>1881358
У меня нет гита:c
Просто там еще и микробек и без него запросы к апи не получится отправить. Ладно сейчас что-то придумаю.
Аноним 15/12/20 Втр 19:53:11 1881367500
>>1881362
>У меня нет гита:c
Как ты тогда на реакте пишешь? CRA по дефолту гит-репу создаёт и даже коммитит в неё.
Аноним 15/12/20 Втр 20:09:28 1881381501
Аноним 15/12/20 Втр 20:45:43 1881398502
Где обычно делают пост и гет запросы на сервер? Прописал в экшнкреаторе, правильно?
Аноним 15/12/20 Втр 20:46:49 1881400503
Аноним 15/12/20 Втр 21:03:42 1881412504
>>1881381
Ты там `package.json` чтоли из рута удолил?
Аноним 15/12/20 Втр 21:09:40 1881416505
>>1881381
посмотрю либо позже сегодня, либо завтра и отвечу
Аноним 15/12/20 Втр 21:10:07 1881417506
>>1881412
Я залил все кроме ноде модульс. Они вроде и не нужны. Остальное там должно быть.
Аноним 15/12/20 Втр 21:10:59 1881418507
>>1881417
Откуда тогда пакеджлок в руте?
Аноним 15/12/20 Втр 21:16:15 1881422508
>>1881418
Наверное когда-то давно промахнулся мимо папки. Раньше его там не было.
Аноним 15/12/20 Втр 21:21:10 1881425509
>>1881381
>apiKey ='RGAPI-1dcea17b-aad4-4042-bfc7-dac41f82a770'

Круто ты api ключами раскидываешься, дауненок.
Аноним 15/12/20 Втр 21:25:31 1881427510
Аноним 15/12/20 Втр 21:26:03 1881428511
Кстати да, этот ключ можешь удалять и запрашивать новый. Я сейчас по бырику пропердолю в бекенде так, чтобы не нужно было приватные ключи в репе хранить для отправки запросов.
Аноним 15/12/20 Втр 21:28:12 1881429512
Аноним 15/12/20 Втр 22:04:15 1881454513
screenshot (4).png 76Кб, 660x547
660x547
>>1881030
Можно синхронизировать асинхронщину.
Аноним 15/12/20 Втр 22:09:32 1881460514
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов