Вы видите копию треда, сохраненную 20 мая 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Для программирования на ХТМЛ https://codepen.io/pen/
Для Ноды с консолькой https://repl.it/languages/nodejs
Для фреймворков https://codesandbox.io/
Залить, задеплоить страничку, сервер, контейнер https://zeit.co/now
Аноны, хочу получить советов мудрых, высераю пару предложений и код на скриншоте, а получаю смехуёчки. Как быть?
Если рассчитываешь получить дельный ответ, формулируй правильно вопрос:
У меня есть проблема\задача (А) %текст-ошибки или задача%. Я пытался решить ее так %кусок-кода-опционально% (Б), у меня не вышло %текст-ошибки%. Я погуглил, почитал документацию и попробовал сделать так %кусок-кода-%(В), но получаю ошибку (Г).
Сделай песочницу по ссылкам выше для ясности и удобства. Если никогда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
> начать писать на хуках без this
я как-то провобовал, но у меня почему-то задачи всегда в нескольок раз сложнее, чем пример в доке реакта
не понял какие профиты от хуков так скозатб, может подскажешь?
Профит будет когда ты перестанешь писать как модный ебантяй и всю логику уберешь нах из компонентов. У тя и хуков по минимуму должно быть. Без простыней
10 export const MyCoolHelloWorld = (props) => {
....
100500 };
для начала раскрой тайну, какие у тебя критерии серьезного проекта?
>дискорд, скайп, VS Code
Это электрон.
Мне, пожалуста, НА НОДЕ ЧТОБЫ БЭКЕНД, СЕРВЕР, В СЕТИ, В ИН-ТЕР-НЕТ-АХ
Создаешь свой сервер в дискорде, инвайт - твой урл.
Вон там даже стримить через него уже можно.
Дай я тебе переведу что этот петушок говорит:
Короче, зырь, в дискорде на ноде написан клиент, то есть по сути это ФРОНТЕНД. Javascript это язык для фронтенда. На нём фронтенд пишут, понимаешь?
А бэк того же дискорда он как бы на Elixir, Erlang, Golang, C++
Смотря что ты имеешь в виду.
Потокобезопасность в JS(языке для фронтенда) достигается при помощи очень интересной технологии, он в одном треде крутится.
Если ты про доступ к общим данным из двух асинхронных функций, то да, как бы. Атомик всё.
погугли мелихова, он тимлид в я.деньгах. Постоянно говорит, как они на nest.js все переводят
яндекс !== яндекс.деньги
похоже понятно, к чему ты
ниша ноды -- кешируюшие микросервисы для фронтенда, чтобы большие бекенды не дергать на каждый чих
а так да, никто в здравом уме не будет на ноде делать что-то уровня хайлоад екомерс и держать этот колхоз прям так наружу
Именно.
Точнее, нода хайпанула несколько лет назад, но вовсе не по причине жабоскрипта, а по причине первой изобрела асинхронность.
Когда асинхронность завезли в другие языки, нода на беке резко испарилась.
или нахуярить демо сервис(удобно же и фронт и бек на жс) и посмотреть-взлетит,чи не?
> а по причине первой изобрела асинхронность.
Нииихуя себе изобретение...
На крестах несчастных какое-нибудь asio было хуй знает с каких годов. Даже async/await появились не в джиесике.
Это называется прототипирование. Да, жс идеальный язык для прототипирования.
Когда уже придёт революция rust, чтоб вы блять на нём и фронт и бэк писали...
>Когда уже придёт революция rust, чтоб вы блять на нём и фронт и бэк писали...
Никогда, руст вышел еще более уебанским монстром чем кресты.
Порог вхождения по-итогу получился еще выше, чем в кресты.
История с ActiX сделала руст и вовсе кейсом для всех желающих вкатится.
Я не понимаю, блядь. Почему див sticky не цепляется за низ экрана, когда я скроллю вниз (при условии, что высота экрана меньше высоты этого дива). Он работает только тогда, когда я снизу его подхватываю (не в этом примере, а вообще). Как сделать так, чтобы он срабатывал в моем случае?
Твоего браузера. Представляешь, там можно стили каждого элемента в риалтайме посмотреть. Там же и лежит ответ, почему у тебя стиль не работает.
И что там видно? Если ты не заметил, то стиль я задаю через style, а не styleSheets. Так что, что ты там ожидал увидеть я хз.
нет ты
То есть, запросы асинхронны, но идут один за другим, а не одновременно, следующий начинается только когда предыдущий выполнился.
Асинк функция, которая принимает массив промисов, через цикл выполняет их с авейтом, возвращает зарезовленный массив.
> быстрей можно докатиться до сеньора 300к в месяц?
Говно, ты? Мы тут все в свободное время язык учим для удовольствия
Нет,я амбициозный карьерист
Как правильно использовать async/await?
Это очень сильно зависит от личных качеств, ты и на 1Ске можешь 300к\сек получать, если повезет. На самом деле нахуй это программирование, синьоры в москве получают как владельцы какой-нибудь шаурмы в провинции
https://vk.com/dev/Javascript_SDK, пример из доки не работает, мне пример подключения.
И возможноли использовать его со скриптов в браузере tampermonkey/greasemonkey?
> На самом деле нахуй это программирование, синьоры в москве получают как владельцы какой-нибудь шаурмы в провинции
А что тут плохого? Ты занимаешься тем, что нравится и хорошо получаешь за это.
Да я вообще ничего другого не умею, в бизнес пока рано. В ближайшее время это только программирование
>синьоры в москве получают как владельцы какой-нибудь шаурмы в провинции
Недавно смотрел видос такого бизнесмена из Мухосранска, и он за год в ноль вышел, и то только благодаря определённым жирным месяцам, а то некоторые вообще убыточные были.
Потому что реакт супер популярен и не тормозит свое развитие, на нём дохуя написано и дохуя будет написано, куча либ и прочей хуйни, а асп.нет это дотнет в первую очередь, дотнет это перспективнейшее говно, на нем можно писать вообще ВСЁ, и мобилки, и десктопы, и сервера, как минимум это охуенно потому что можно перекатиться куда-то. К тому же асп не очень сложный для нафани и тоже ахуенно развивается. И вообще красивый и годный. А джава говно мамонта.
Я от PHP ушёл,
Я от JS ушёл,
Я от Java ушёл,
От C++ ушёл
И от тебя убегу.
Бабка с косой ласково говорит ему:
– Я не расслышу никак, что ты говоришь? Старая глухая я стала пока тебя на ноги поставила, образование тебе оплатила. Сядь на пенек поближе!
Колобочек сел, опять то же запел.
– Я не расслышу никак, что ты говоришь? Сядь ко мне на могилку.
Он и на могилку к бабушке сел. Опять то же запел.
А бабушка косой ему пошее хрясь. Так и похоронили колобка рядом с бабушкой.
> 2020
> вкатываться в умирающий реакт
Да будет тебе известно, что вас всех завтра заменят уже не школьники с горящими глазами и знанием СВЕЛТ.
Помогите, пожалуйста с проблемой.
У меня есть 2 компоненты в разных файлах.
В главной есть метод, который вызывает обычный alert.
В главной компоненте он спокойно вызывается по нажатию.
А как только я этот же метод отправляю в другую компоненту через props. Вообще ничего не происходит...
Хэлпаните, как мне передать метод в другую компаненту, что бы он тоже вызывался по нажатию!!
1пик: сам метод.
2пик: то как я его передаю (кнопка make-it работает исправноvar method = this.makeSort)
3пик: а тут кнопка не работает, вообще 0 реакции.
не обязательно использовать стрелочные функции, это даже вредно может быть если там pure компонент. пусть человек поймет в чем его обосрамс
эй
Читал, вроде их и использую. так же пытался через конструктор сперва забиндить(как там написано), все равно --
>>21432
Упростил структуру до сути вопроса:
1) файл: http://code.re/lK3
2) файл: http://code.re/lK4
make it! -- работает исправно
а test(из второго файла) сосет хуй.
Есть два модуля, в 1 есть обьект kek, в модуле 2 есть три функции, которые юзают этот обьект kek.
В модуль 1 я хочу включить модуль 2 и передать ему обьект kek и вызывать функции, которые его используют.
анон, твоя главная ошибка в том что ты упрощаешь нам до сути вопроса, как она тебе кажется, а на самом деле проблема в другом. вот ты первые 3 скрина выложил какие-то отрывки где всё норм, а ошибка-то в остальном коде. а щас кинул два файла, где всё норм и всё будет работать (скопируй прям оттуда к себе и все заработает), а ошибка в остальном коде. иными словами у тебя где-то там намудрено помимо того что ты сделал упростив до сути вопроса. у тебя на 3 скрине выше вообще например компонент не тот в который ты передаёшь на втором, не Table, а TableTitles
в модуле 1 напиши export default kek, в модуле 2 import kek from './module1'; и используй. только так. у тебя странный вопрос, похоже на то что ты неправильно используешь язык. можешь попробовать описать ещё более обще что ты хочешь сделать и я скажу как это делается обычно
Да, когда я удалил все остальное - заработало.
Простите, уже на эмоциях отправлял=)
Сейчас чаю сделаю и заново все структурировано перепишу.
внутри Table: TableTitles+TableContent.
Бамп, блядь!
Есть два файла модуль1 и модуль2. На скрине я передаю обьект при вызове функции, а мне надо передать при инициализации целого модуля2, что бы явно не передавать его в функцию
Это понятно, но в моем случае так нельзя. Вопрос стоит как передать модуль готовый экземпляр.
Блять хватит изучать "ПРОГРАММИРОВАНИЕ"
"ЯЗЫК" с интерфейом может заучить любой школьник, смотри инженеринг и проектирование
Ну эспортни из модуля 1 экземляр. Не вполне понятно в чем проблема.
нет такого, у тебя фундаментальная ошибка епта, неправильное использование технологии.
совет и правда звучит уебищно и абстрактно. надо конкретно говорить - изучай как делают реальные приложения. вот и всё. сразу понятно что имеется ввиду. а инжиниринг проектирование ты по этим словам нихуя не нагуглишь, это баз вордз от мира вкатышей.
Я вообще другой анон так-то. Просто совет у тебя тупой и бесполезный, хоть и звучит глубокомысленно. Он никак не помогает вопрошающему, не дает конкретных рекомендаций куда смотреть и оставляет ощущение, что написан просто чтобы повыебываться некими знаниями инжиниринга и называть анона школьником.
Мейби Sex?
bump
да никто не будет ковыряться тебе в этом говне, сиди ебись сам через стаковерфлоу, гугли нахуй
>ковыряться в говне
>20 строк кода
Если ты сам не способен спроецировать свои знания и дать ответ на такой, казалось бы, простой вопрос, то просто пиздак стяни и спрячься, чмо. Иди наверни какого-нибудь апи и напиши очередной свой парсер, опущенка. Хрррртьфу тебе в ебало!
Хуевич. Срыгос оформи, малыш. Шустрее...
>2020
>В жс тред всё еще срут
Вот этот анон. Признавайтесь есть ли смысл выделять отдельную компоненту, если мне нужно будет изменять стейт. Или лучше реализовать методом внутри одной компоненты??
Жду совета, пока снова дров не нарубил.
Хм, а если все-таки метод большой, как грамотно менять стейт компоненты?
Бамп
Толсто
Бляяя пиздотыш уродливый... Зачем ты пизданул это? Ты проверял это или что? Нахуя ты говно изо рта в этот тред тянешь?
Ну тип «мы свой рантайм в ваш рантайм не тащим, поэтому реакт сосет, а свелт не сосет, ведь нет лишнего кода - браузер быстрее справится. А ещё нет вдома - ещё по памяти вас всех выиграли, на старых андроидах тормозить не будет».
Денису конечно им пытался объяснить что рантайм позволяет в оптимизации, «завтра мы саспенс завезём и видимая производительность вырастет в разы, а вы так и сосите со своими фризами», но пророк оппозиции пока это все игнорит, и тычет всех в тесты
Бамп
Они обещают, что их код будет дергать дом не чаще, чем реакт, при этом без вычислений вдома.
Насколько это все рискованно? Завтра выйдет какое-то неудачное обновление для браузера и все рухнет?
Когда это в жсе были breaking changes? Да и даже если теоретически будут, это же не мобильная разработка, где пользователь поставил старую версию приложения, и если ее сломать, то не факт, что он обновится, а не удалит. У тебя есть возможность сразу же выкатить новую версию.
>вас всех завтра заменят уже не школьники с горящими глазами и знанием СВЕЛТ.
РЯЯЯ ПОГРОММИСТ ДОЛЖЕН УЧИТЬСЯ КАЖДЫЙ ДЕНЬ, ВСЮ ЖИЗНЬ РЯЯЯ
@
БЛИИИН ЭТОТ ВАШ СРАНЫЙ ЖС, КАЖДЫЙ ГОД НОВЫЙ ФРЕЙМВОРК, МЫ ТУТ НА ДЖАВЕ 10 ЛЕТ ПИШЕМ ЛЕГАСИ ГОВНО, А ЧЕ JQUERY УЖЕ УСТАРЕЛ ?
Да все там нормально отрабатывает в js коде. Проблемы с css. Я свою проблему решил еще с добавлением content-justify в end, когда касаюсь низом камеры низа элемента sticky. Но мне не нравится это решение, оно кривое и дает свои артефакты.
Еще раз! Проблема не в js, а в css.
На пиках стиль установился, но он не рабоатет. Уберите вообще скролл-хэндл, сделайте экран меньше по высоте, чем сам элемент, разкомментируйте в css position и bottom, прокрутите камеру в низ и вы увидите, что нихуя не работает. ПОЧЕМУ?
react
А почему опыт ковыряния легаси считаешь неактуальным? Очень актуально особенно для начинающих либо делать примитивное новье или ковырять более сложное легаси
Не отрицаю
Пока ковыряешь легаси - не занимаешься изучением и написаием кода с использованием новых фреймворков, следовательно, твой уровень остается на уровне легаси.
какой же ты долбаёб, давно бы уже переписал свою хуйню что бы работало, но не буду бампать, всем так охото разбираться в твоей хуйне.
Я ее написал, она работает, но через костыли. А ты, чмо, не осилившее 10 строк кода, не знающее базовых основ и поэтому не можешь пояснить за то, почему оно не работает, когда казалось бы должно, просто проходишь мимо, поняло? Иначе наглотаешься стольких хуев, что пожалеешь об этом, чмо. Гуляй. Ты вообще права не имеешь тут сидеть с позиции шарящего и решать за кого-то кто и что хочет/не хочет, уебище местное. А я буду бампать, пока не найдется мудрый старец и не пояснит, касаемо моего вопроса.
Есть строка: 1-2-3-4-5-6-7-8
Она может быть и 10-9-8-7
Может быть 5-35-59-100-1-25
То есть любой длины и с любыми числами, но общее у неё то, что эти числа разделены дефисами, как блять в этой строке заменить например число после 2 дефиса?
Например из 1-2-3-4-5-6-7-8 сделать 1-2-228-4-5-6-7-8 с помощью JQuery, какие у неё есть для этого методы? Я просто даже не знаю что искать, я так понимаю метод замены в строке после нужногос имвола, но мне находит всякую хуйню, или у JQuery нет таких возможностей? Тогда подскажите код на ES5 чтобы сделать тоже самое
function replace_defis (str,index,replacer) {
str = str.split('-');
str[index] = replacer;
return str.join('-');
}
replace_defis('5-35-59-100-1-25',1,'22') => "5-22-59-100-1-25"
>>22160
То есть суть разбить эту строку по дефису и загрузить в массив, потом поменять нужный индекс и снова собрать в строку слепляя дефисами? спасибо антуаны, я уже начинал гореть
А в JQuery нет встроенных свистоперделок для таких махинаций? А то получается весь скрипт написан методами JQ, а этот участок кода на обычном JS, как-то неправильно мне кажется
Зачем тебе jq для такой функции?
Он сделан для манипуляции с DOM-элементами, используй нативный js.
В чем причина высокой производительности интерпретатора JS? Ведь статически типизированные языки выигрывают в производительности оттого, что методы и функции принимают только определенные аргументы, а в JS можно сложить none со строкой а потом вычесть оттуда число и всё пройдет збс, по многим бенчмаркам держится наравне с С++ или отстает всего ан чуть-чуть
Миллионы вбуханных ресурсов в оптимизацию интерпретаторов крупнейшими IT-компаниями мира.
>Ведь статически типизированные языки выигрывают в производительности оттого, что методы и функции принимают только определенные аргументы, а в JS можно сложить none со строкой а потом вычесть оттуда число
Очередной шизопонос вкатывальщика
Все популярные движки написаны на плюсцах, готовый код выполняется плюсовым рантаймом. Как ты правильно заметил, единственный повод тормозить это приведение типов и прочее свободолюбие Жопаскрипита. Для того, чтоб этого избежать в движках существует жыд-конпиляция
https://blog.logrocket.com/how-javascript-works-optimizing-the-v8-compiler-for-efficiency/
Если у тебя не изменяется сигнатура функций или расположение полей в объектах, то нет необходимости каждый раз формально исполнять все правила, выходить из плюсов.
Если ты будешь троллировать движок постоянными изменениями типов, то работать он будет ожидаемо медленней Слоупока.
Fireship
Друзья, как быть?
Делай массив объектов и сортируй через sort
Не возьмут из-за того что: недостаточно лет, нет образования и не могу работать по графику из-за того что учусь..
Да и к тому же, мне только копейки нужно сделать на инет.
Пытаюсь откликаться на заказы по верстке.
Ну-ну, рассказывай. Мак и доставка позиционируются как работа для студентоты, а его не возьмут, лол. В доставке вообще можно по 8 часов в неделю работать и никто тебе слова не скажет.
>в ассоциативном массиве
в js такого нет
>{111: "Хуй", 222: "Пизда", 333: "Джигурда"}
Ключи это всегда строки
https://codepen.io/pen/?editors=1011
>Ключи это всегда строки
нет, могут быть символы
let s = Symbol()
let o = {: 11}
console.log(o)
>>11
блин я обосрался, никогда не использовал симболы
ага
Только они приведутся в строки как и остальные типы
let s = Symbol()
let o = {s: 11}
o['s'] = 12
console.log(o) => 12
Ты даже не передаешь значение переменной в объект
{s:11} читает s как стринг
let s = "iii"
let o = {s: 11}
console.log(o)
=> {s: 11}
let c = {: 11}
console.log(c)
=> {iii: 11}
блин я же написал что скобки съело
Однако когда потом я пытаюсь получить эти данные в порядке их записи, мне приходит гребанная хрень в хаотичном беспорядке.
Втф? По какому принципу эти ключи сортируются? Почему каждая новая запись по индексу LS может оказаться и 1, и 31, и вообще любой какой захочет. Была версия что оно по именам сортирует, но это бред, даже на моем скрине видно что сегодняшний последний дамп какого то фига встал на 3ье место. Что за хрень?
Мой препод на эту тему прислал мне какую то лютую дичь, которая не соответствует реальности.
я не понимаю с чего ты взял что локалсторейдж должен иметь ключи в порядке их записи, это хэш таблица, в ней не сортируются ключи епта
Ключи в словарях сортируются как Бог пошлёт. Так описано в стандарте.
Словарь – не позиционная коллекция.
в массиве новый элемент идет куда пошлют, хоть в конец пушем, хоть в начало аншифтом, хоть по индексу
хэш таблица т.е. ассоциативный массив по умолчанию не имеет индекса
inb4: http://backbonejs.ru/
нужно разобраться с этим для одного легаси проекта
Дан массив array вида [2,1,6,4,5,3,8,9,7,10], как он преобразуется после вызова array.sort()?
Ну да, вот тут то наш дауненок с лаба1 расслабит очко, а мы его сразу на живца ловим вопросом "Почему так происходит?". Он начинает экать и мямлить что-то несуразное поднос и еле произносит "ну это там на курсах такой прикол показывали ну вот...", после чего мы оглушаем его пронзительным "Мы вам перезвоним".
"Дырявое говно", говорите? Хм, почему то первой ассоциацией приходит ваша мамаша, а не JS, кто бы знал, почему... многозначительно молчит и уводит взгляд в сторону
а зачем мне монга?
Эх, щас бы на собеседовании переходить на шутки про мамаш и сразу же начинать прятать со стыда взгляд.
{
"1": "AAA",
"2": "CCC",
"3": "BBB"
}
JSON.parse() сортирует его по айди, как заставить его сортировать по значению? Чтобы было
{
"1": "AAA",
"3": "BBB",
"2": "CCC"
}
Для массивов есть метод .sort(), но тут он не работает
Не так это решать надо. Отдельно имеешь мапу, отдельно массив айдишников.
JSON.parse('[{"1": "AAA"},{ "3": "BBB"}, {"2": "CCC"}]')
Аноны, а как такой вариант отсортировать? где вместо значения - массив
{
"1": ["Вася", "12 см"],
"2": ["Абу", "8 см"],
"3": ["Петя", "14 см"]
}
Чтобы сортировка была не по айди, а по имени хуеносца
Но ведь это не я ярлыки навешивать начал на действия, которые ассоциируются у омеганов исключительно со стеснением и стыдом.
>вы не так поняли, ряяяя
В жизни все просто, сынок, раз отводишь взгляд - значит ты в себе не уверен.
Не стоит использовать порядок полей в объекте как что-то определенное, он не стабильный, это написано везде где только можно. Если тебе нужен порядок - используй массив.
>В жизни все прост, сынок, раз не перешагиваешь через три ступеньки - значит ты в себе не уверен
Ну, собственно, о чём я и говорил.
Зачем ты хочешь его отсортировать как хочешь? Объект нельзя сортировать, порядок полей в объекте не стабилен, так не делают, это плохая и вредная практика.
Сделай из объекта массив, долбоебина тупорылая. Ты программист или ёбаная мямля, которая без сиськи мамкиной ничего не может?
А если ему понадобится потом найти сущность по айдишнику? В массиве-то время поиска будет O(n).
Блядь какого то хуя макаба удаляет. Там не obj, а obj квадратная скобка открывается i квадратная скобка закрывается.
Тебе база данных вся передаётся на фронт что ли что тебя время поиска ебёт? Или ты просто новое слово выучил?
Как я тебе из него сделаю массив, долбаёбина тупорылая. Мне нужно отсосртировать айдишники у нужном мне порядке и вывести данные из массива в них на страницу
>>23040
Я его потом вывожу на станицу, и у меня поолучается что с меньше айди к большему, а я бы хотел вывести например наоборот, или вообще отсортировать по 1 значению в массиве или по последнему
>>23042
Вроде бы пробовал подобное, все съедало и оставались только айдишники, сейчас попробую твой вариант
Я имел в виду среди тех, что пришли с бэка.
Поэтому надо сразу массив иметь, но этот долбоеб ничего не понимает и всё равно хочет объекты.
>Как я тебе из него сделаю массив, долбаёбина тупорылая. Мне нужно отсосртировать айдишники у нужном мне порядке и вывести данные из массива в них на страницу
Это задача уровня Low на leetcode, скотина ты умственно отсталая.
>Как я тебе из него сделаю массив, долбаёбина тупорылая.
Пиздец че несет вкатыш
Что у тебя за бек такой охуительно затейный? Тоже сам писал? Ты знаешь как делают нормальные люди? Они передают с бека массив
[{
id: 1488,
data: {...}
},
{
id: 228,
data: {...}
}]
и сортируют эти объекты как хотят.
Кароче долбоёбина пикрел то что тебе надо чтобы сделать нормально
data - это то что пришло с сервера, туда я доступ не имею, результаты отсортированы по номеру, как пересортировать объект чтобы например результат на странице уже был отсортирован например по имени или фамилии, а не порядковому номеру?
Можешь там же накидать пример, я просто не пойму как, ведь у меня данные не вида id1 = ["Антон", "Антонов"], а объект, внутри которого значение ключа равно массиву
> я просто не пойму как
Ты слишком тупой для программирования. Тебе выше даже наводку дали, но тебе это не помогло. Просто забей на JS и найди себе другое хобби, сычуш.
че такой агрессивный маня?
Я перебрал все li и сделал массивы из их потомков - по массивам видно, где есть ul и вроде проблем быть не должно. У меня есть массив [a, ul], и indexOf с ним не работает - часть методов массивов нормально работает, а часть нет. Это потому, что ul это объект, а не строка? - что тогда делать, кроме как решить всё на jquery надо было сразу так делать, но я хотел не использовать его в тестовом.
Так ты тупой, это сразу видно. Ничего не выучил и полез сразу делать, типичный вкатывальщик с IQ как у хлебушка.
Тогда хлебушек обладает довольно высоким iq. А мы его едим...
>спасибо анончики, теперь я не буду ни в чём разбираться и продолжу дальше деградировать и лепить франкенштейна из чужого кода
Спешите видеть, человеку в штаны насрали, а он только благодарен, лол.
Cпешите видеть, агрессивный чсвшный гной, соболезную.
Какие типы в JS изменяемые, а какие нет?
Что значит ссылка на переменную?
Что такое NaN? Как проверить, что переменная - NaN?
Что значит создавать переменную через конструктор или через литерал?
Когда при обращении к свойству объекта стоит использовать точечную нотацию, а когда через строку в квадратных скобках?
Что произойдет, если попытаться получить несуществующее в объекте свойство?
Что делает hasOwnProperty?
Когда использовать null, а когда undefined?
Какие есть способы создания глобальных переменных?
Для чего нужна директива use strict?
Отвечаем
Иди и гугли, урод блять
Сколько у тебя см член?
>Что произойдет, если попытаться получить несуществующее в объекте свойство?
Ох уж этот пидораший перевод
В том, что свойство =/= ключ и вопрос в нормальной формулировке на нормальном языке ни про свойство, ни про ключ
Какой-то ты душный. Тебе не похуй как там переведено, всем и так ясна формулировка вопроса.
Напоминаешь мне Люську-бухгалтера, которая говорит что ей похуй где "процессор", а где "системник" только вот ты не Люська а ваннаби погромизд
Потому что строка это не массив, поэтому у неё нет доступа к методам массива. При этом метод map можно применять на любом итерируемом объекте, поэтому передав строку в качестве аргумента this методу map ты можешь из строки получать массив.
Но сейчас уже никто не ебёт себе мозги с call'ом, а используют спред оператор как на пикриле.
>JavaScript
>понимать почему
Нинужно
Это один из случаев, когда интерфейс выходит за рамки языка
В интерпретаторе строка итерабельна, вот он её и натягивает
Попробуй браузер обновить, у меня всё работает без всяких call'ов, в учебнике инфа устаревшая на года два. Любая строка это обычный массив и у неё есть все методы массива.
Нет, просто браузер последней версии.
Макака, ты то куда лезешь со своими охуительными историями? Долби по клавишам дальше и удивляйся тому как коробочка под ногами делает магию какую-то и выдает нужный результат, скорее всего потому что умеет читать твои мысли!
то есть где-то внутри, когда я передаю аргументу this строчку, он сравнивает ее с массивом, видит что это не массив и приводит её к массиву. Я правильно понимаю?
Какому аргументу this, блять? Ты в качестве this передаешь строку, так как строка итерабельна, метод map отрабатывает нормально и выдает тебе новый массив, исходя из переданной функции в качестве второго аргумента.
Ты должен задаться "почему не передать строку в качестве this в метод reverse() и обойтись без map?", потом пиздовать в консоль и протестировать, узнав ответ.
PS
можно ли строчку в JS назвать иммутабельным массивом с точки зрения машинного кода, ведь каждый символ это char в определенном месте памяти, который жестко указателем привязан к следующему символу.
>так как строка итерабельна, метод map отрабатывает нормально
То что она итерабельна, это ясно было еще до нашего диалога. Но почему я не могу дефолтно его вызывать у строчки, если все итерабельно?
Хуя у тебя память. Я тебе в первом посте написал почему, долбоеб тупорылый, пиздуй перечитывать и на этот раз постарайся запомнить.
>иммутабельным массивом с точки зрения машинного кода
>char в определенном месте памяти, который жестко указателем привязан к следующему символу
ну и каша в голове лол
ты не понимаешь моего вопроса. Еще раз. Если строка и массив являются итерируемыми, то почему сразу этот метод не доступен у обоих типов?
Сука тупорылая, потому что это метод МАССИВА, блять, а строка это СТРОКА. Понял, хуесос? Итерируемый это блять не тип, это свойство.
интуитивно понятнее ключ: значение чем реляционные таблицы
спрашивай их про опыт, пет проекты, фреймворки епт
можно еще про фишки языка - стрелочные функции, this, прототипы, промисы и т.п.
важно тащемта, но вопрос из тех на которых легко подловить т.к. люди привыкли писать свои сортирочоные функции и могли забыть что по дефолту без сортировочной функции значения сортируются как строки, не говоря уже о деталях как именно джаваскрипт сортирует строки
тебе надо почитать что делает call
коллбэк это более широкое понятие чем асинхронный коллбэк
вот например функция которую ты кормишь в метод sort() это коллбэк
сам промис когда ты его делаешь принимает два коллбэка resolve и reject
ну а так да, желательно делать промисы, это удобнее
Сеньоры с вышкой и без вышки, дайте бесплатный кодревью моему калькулятору на реакте
Не доделана история действий, ну и ладно, потом доделаю
https://codesandbox.io/s/sparkling-fast-685d8
Видно зеленого огурца
Меняй каждую вложенность ифа на отдельный хендлер и композить под фп
Высерать такое спагетти на реакте грех
так да зеленого, я же вкатываюсь в айти
Отдельный хендлер в смысле функции писать вместо каждого ифа? Так же будет еще больше строк
Ага, энтропия и генераторы случайных чисел тоже по вполне конкретным физическим законам работают.
В стандарте указано что сортировка не определена, в каждом движке какая-то коненчо есть но никаких гарантий что одинаковая, стабильная и вообще завтра не изменится.
Вот у нас чет одни ждуны идут, без внятного опыта, гитхабом уровня лаба2, хоть вилку до 300ксек расширяй. Оче не хочется нанять только прошедшего говнокурс человека и потом всему учить. Может лучше какие-то вопросы по браузерным апи, хттп?
ну если тебе их пет проекты не нравятся требуй только коммерческий опыт?
компоненты высшего порядка, реф в реакте, асинхронный setstate, кастомные ивенты в вью и т.п. мутации, однонаправленная передача данных в ридаксе
>Hi! I created Recompose about three years ago. About a year after that, I joined the React team. Today, we announced a proposal for Hooks. Hooks solves all the problems I attempted to address with Recompose three years ago, and more on top of that. I will be discontinuing active maintenance of this package
и что?
это просто разновидность компонентов которая есть и в вью кстати, при чем тут какая-то говнолиба?
Это основная либа для составления композиций из хоков. Если эта либа все то и хоки все. Вся переиспользуемая между компонентами логика переехала в хуки.
бампец.
ну же анон, помоги
Вернее ananas. По-русски не получится.
Сам-то знаешь какие физические процессы происходят на квантовом уровне в этой волшебной коробочке, чтобы она высирала твой код, а не чёрные дыры? Так уж и быть, рекурсивностью множественных систем можно пренебречь, тебе достаточно только описать её как замкнутую.
Знаю ровно на том уровне, который затрагиваю в своей работе.
"а" + +"а" + "а" + "s" - и это все в нижний регистр перевести, чтобы не палить, как это делается.
Офигеть Х|
Я сам об этой штуке из тестового узнал не так давно. Больше ничего интересного там не было.
Ты о чем?
Неважно
Сначала с радостью читал про "Что не знает дэн абрамов".
Но оказалось, что он хотя бы quick sort умеет, а мне даже страшно гуглить это. Загрустил.
>node js
Fake meme currynigger san fran coffeeshop async hipster shit. Invented for fake job security. Startups think they're clever for adopting it because you only have to learn 1 lang. Always ends up becoming an unmaintainable shitstorm, gatekeeping, 100001 microservices to do 1 simple thing that a monolithic app could do in 5 minutes. Npm is cat cat dog dog shit shit, you need 60k packages for a hello world and it eats one and you get some retarded error that won't exist on Google. Literally the biggest cancer that no real company takes seriously.
>Always ends up becoming an unmaintainable shitstorm, gatekeeping, 100001 microservices to do 1 simple thing that a monolithic app could do in 5 minutes.
Вот это порватка аутиста. Может заказчику в кайф 100001 микросервис для одной задачи.
И что?
Я не заметил, что в жс-треде. Я думал это мвп.
Казуал
А нечего в консоль заходить. Жми на любую кнопку можно жать на все сразу кстати, сделал для того чтобы лишний раз не писать на какую кнопку жать 30 секунд по честному и тогда получишь приз
Я его и так получить могу, нахуй мне на твои кнопки жать?
Эй дауничи, почему ваш говновеб не работает?
то что строка немутабельная - это особенность самого JS и так задумано специально. Т.е. это значит, что ты можешь (на самом деле) её поменять, но интерпретатор не дает тебе этого сделать.
Ну и пошел нахуй. Ты сюда ныть приплыл?
>В стандарте указано что сортировка не определена
Ты ошибаешься. Стандарт гарантирует определенный способ сортировки ключей и нет оснований полагать что он завтра изменится: http://www.ecma-international.org/ecma-262/10.0/index.html#sec-ordinaryownpropertykeys
то что камни тяжёлые это особенность физики и так задумано специально. т.е. это значит, что ты можешь на самом деле их отпустить плавать в воздухе, но физика тебе не даст этого сделать
логика нашего компьютера - концепция физики нашей текущей вселенной. Тогда assembler - контекст нашей вселенной. Тогда контекст JS - допустим Земля. В контексте Земли, камень будет иметь вес, так задуманно интерпретатором планет, так как в контексте вселенной у камня веса нет. Однако, если мы возьмем за аксиому теорию о мультивселенных, то физика контекста вселенной могла быть абсолютно другой или есть %username% БОГ?, который писал физику для Земли, то у него есть способы поменять её.
подумаю над предложением
Я хотел обрабатывать и ввод с клавиатуры, и ввод через кнопки зеленого цвета одновременно
и? вешаешь на кнопку onClick листенер
вешаешь на сам калькулятор keydown / keyup листенеры
и все дела
Ало
По опыту могу тебе сказать что виртуальные списки – эта третья по сложности проблема в программировании.
У себя в конторе давно отказались от библиотек и общих решений (два раза пробовали написать свою библиотеку компонентов) и в каждом конкретном случае делаем самое простое решений без выебонов, заделов на будущее и всякой лишней абстракции.
В общем обрадовался за наших и за то что не придется возиться с закрытым гуглАПИ.
Но свинья подкралась там где не ждали. Яндекс настоящие наебщики.
Перевод сделанный через Яндекс API в разы пососнее чем на самом яндексе. Я даже на простых предложениях проверил, чтобы исключить фактор переноса строк или еще какой-нибудь хуйни.
Он реально в апи сует какое то дерьмо в перевод. Пиздец короче. И ведь сделать ничего нельзя. Обида ебанная.
Это у тебя Object.getOwnPropertyNames (getOwnPropertySymbols и Reflect.ownKeys), а не for in или Object.keys. Первый определён, второй нет.
Там всё сложно. Вот например обсуждение OrdinaryOwnPropertyKeys которая поясняет почему там описана сортировка: https://esdiscuss.org/topic/ownpropertykeys-key-ordering
Сортировка в for in и Object.keys() именно формально не определена, но как-бы почти определена.
Вот Object.keys: http://www.ecma-international.org/ecma-262/10.0/index.html#sec-object.keys
Использует EnumerableOwnPropertyName, а тот как раз OrdinaryOwnPropertyKeys, но затем в 5м пункте говорит что список должен быть отсортирован правилам EnumerateObjectProperties (то есть for of/for in): http://www.ecma-international.org/ecma-262/10.0/index.html#sec-enumerate-object-properties
И вот тут мякота:
>The mechanics and order of enumerating the properties is not specified but must conform to the rules specified below.
const towelSort = (matrix) => {
return (matrix ? matrix : []).reduce((line, row, i) => i % 2 === 0 ? line.concat(row) : line.concat(row.reverse()), []);
}
Но я нихуя понять не могу его. Его логику. Зачем функция reverse. Зачем эта проверка по индексу i % 2?
Интересно, спасибо.
Подмассивы с четными индексами вставляются в результирующий массив в обычном порядке, а с нечётными - в обратном посмотри сам внимательно, как вставился в твоем примере подмассив [4, 5, 6], у которого индекс 1
Ай блять, туплю. Думал надо было чтоб он просто соединил все в один массив тупо.
Что за пидорасы одновременно используют тренарные операторы вместе со стрелочными функциями. Ебанные экономщики места. Нихрена не читаемо. Ирл за такое бьют ебало
Почему это не работает?
<input type="checkbox" data-loc_name="aaa">checkbox 1
<input type="checkbox" data-loc_name="aaa">checkbox 2
<input type="checkbox" data-loc_name="aaa">checkbox 3
<input type="checkbox" id="checkbox" name="aaa"> Отметить/снять все
<script>
$('#checkbox').click(function(){
if ($(this).is(':checked')){
var name=this.name;
$("checkbox[data-loc_name="+name+"]").prop('checked', true);
} else {
$("checkbox[data-loc_name="+name+"]").prop('checked', false);
}
});
</script>
Должно при нажатии на нижний чек бокс включать/выключать верхние
Блин, какая то фигня вылезла. Но я и сам разобрался, всем спасибо
ты зачем в шапку треда запостил своего парня пидораса? убери, на жс пишут натуралы
import {LoginPage} from '../PageObjects/LoginPage';
import {ProfilePage} from '../PageObjects/ProfilePage';
const loginPage = new LoginPage();
const profilePage = new ProfilePage();
describe('Login suite', () => {
it('user is able to login', async () => {
await loginPage.login('user1', 'strongPassword');
expect(await profilePage.userName.getText()).toContain('Ivan Ivanov');
});
});
// type your code here
>useEffect нужен для сайд эффектов
Так и есть. Определение сайд эффекта для компонента такое же, что и для обычной функции.
После любого нормального языка (будь то Си, Джава, Кресты) писать на жсе - боль для всей ЦНС.
т.е. то как я написал отрисовку ссылок является верным. Но если бы например, мне нужно было делать запрос, чтобы понять какие ссылки будут далее доступными или отображать их через какой-то интервал, то я был бы обязан использовать useEffect
Иде не дает подзатыльник, если не тот тип суешь.
на бэке пишешь?
Ну такое
ТС точно вытяснил ванильный ЖС в написании каких-нибудь хром аддонов или чего бы то ни было с логикой и сложнее лендинга
Правда на реакте меня первое время смушало написание кода в полтора раза больше, но вроде привык и профитами доволен
никакая или любая
На сях не писал. Но Джава лютая хуета где нет ни фильтров, ни редюсов, ни мапов, функциональщина на нуле. А ооп хуета для неосиляторов функциональщины которая в разы интереснее и быстрее работает.
это кусок теста на логин, что тебе нужно делать зависит от того что тебе задали делать
как они живут без лямбд бедолаги
Не пиши ни про ооп ни про фп, животное. Ты на жопаскрипте сидишь, у тебя ни того, ни другого.
ЖС конечно не функциональщина в чистом виде. Но это ступень к переходу на более человеческие вещи. Те кто поумнее с жс потом в эликсир перекатываются и в ус не дуют. А то людей заебывает каждый год что-то новое учить.
Работы нет где? В регионах? Разумеется ее там нет, не поспоришь. Без дальнейшего переката в Москву или на худой конец что попроще (Минск) в этом мало смысла.
Про хачкель только ты начал этим же постом
В жс достаточно широкий интерфейс для написания функционального кода
>Зачем вы это в Жопаскрипит-треде обсуждаете?
Потому что какой-то идиот назвал свою рисовалку снежинок функциональщиной, очевидно же.
Типизации уже достаточно чтобы перекатиться
Работать с чужим кодом в разы легче
Флайчеки с хинтами сигнатур на самом деле экономят часы
Говнокодить свой петпроект без юнит тестов не так страшно
Очень гибкая настройка компетранспилятора с es5-2020 персетами изкоропки
Нет никакого принуждения к использыванию доп. интерфейса и любая единичная ненравящаяся фишк выключается
Интерфейсы, неймспейсы, алиас тайпы
Я не представляю как вообще можно писать что-то серьезное с ООП без типов
Получить сходу от флайчекера ошибку от пробрасывания функции возвращающую стринг вместо числа
Или уронить всю приложуху нахуй в рантайме, лол
Как и остальные транспиляторы типа babel
> без юнит тестов
Зашквар
> Нет никакого принуждения к использыванию доп. интерфейса и любая единичная ненравящаяся фишк выключается
Это главный минус тс. Всегда нужно брать самый жосткий tsconfig, а то получится хуже чем в жс - тип один написан, а в рантайме объект ему не соответствует.
> ООП
Нужно не за чем
> Как и остальные транспиляторы типа babel
Бабель хуита - он типы не сверяет при сборке тс.
Ты мне своим поделием планшет на пять минут повесил, а так нормально ()
if (a > b) return 1;
if (a == b) return 0;
if (a < b) return -1;
}
let arr = [ 1, 2, 15 ];
arr.sort(compareNumeric);
Почему возвращается 1, 0 или -1?
Так работает коллбек в методе сортировки.
А как ты еще определишь равенство, большинство или меньшенство? Строки вида "<" ">" "==" возвращать будешь? Запомни, макака, стандартные функции это не магические коробочки, это всё написанный код другими людьми, которые писали его используя JS, а не заклинания из твоего любимого Гарри Поттера.
И да, твои 3 if здесь нахуй не нужны, пиши проще и понятнее:
if (a == b) return 0;
return a > b ? 1 : -1;
получишь NaN если получишь строковые данные
Так-то это бест практис
Только кейсы ньюлайнами разделяются
Всяко лучше нескольких ретурнов с лишними иф скопами
А если я не ссу и прошел 1 раздел Кантора, как научиться писать код?
сеньоры, поясните плиз юс кейсы для process.nextTick в ноде?
также пока не слишком понятно, что считается за оди тик, полный цикл эвент луп, или каждая "станция" в её цикле пик релейт
меня интересует SPA+node
В ASP.NET была папочка специальная - Layouts, где можно было создать шаблон и вначале каждой странице указывать { Layout = _layout.html } типо такого.
всмысле на чем? Бэк у меня .NET Core, фронт React JS. Мне главное решить задачу с дублированием кода. Через дефолтный JS можно делать подгрузку html страницы (layout) каждый раз при запуске другой html страницы?
ты уверен что понимаешь реакт?
то что тебе нужно называется компоненты
футер и хэдер компоненты, которые импортируются в другую страницу и затем отображаются
зачем их делать на чистом джс если ты используешь реакт?
можно конечно, можно использовать нативные штмл компоненты, можно создать футер и хэдер чистым джс прямой манипуляцией дом дерева или еще проще тупо записать через иннер штмл, но зачем тогда тебе реакт
двачую
какая-то череда идиотских вопросов
экспресс отвечает за роутинг, а они спрашивают о доступе к бд епт
через консоль браузера надо
а можно с каким нибудь простым примером, как скопировать переменную в буфер и считать оттуда
так попробовал --тоже нихера не работает
Ну тебе же русским языком написано, что такое возможно только из короткого события вызванного пользователем.
Из консоли ты такое не сделаешь. Сделай обычную кнопку и не еби мозг консолью, больной ты извращенец
есть релейт https://github.com/zenorocha/clipboard.js
можешь сразу накатить эту либу, или посмотреть исходники для своего велосипеда
Для написания функционального кода никакие монады и даже типы не обязательны
>Сделай обычную кнопку и не еби мозг консолью, больной ты извращенец
вы же тут повально задроты 300к\сек, кто то должен шарить
спасибо
переключить? у меня тру стоит
а еще борщ можно жрать вилкой, просто ты не умеешь ее "Готовить" и у тебя нет опыта в поедании супа вилкой.
С пробуждением. У нас в 2020 году ТС - стандарт индустрии, даже джунов по нему на собесах спрашиваем. Прод только на нём, исключения - небольшие штуки на внутренних продуктах. Аналогично у знакомых из компаний от нескольких сотен до тысяч человек. А вы продолжайте про вилку)
Предупреждение даст и попросит дать разрешение на считывание буфера, при этом вставить из буфера внешнего нельзя, только из внутреннего.
а как все же в лисе отключить этот запрет и копировать в буфер? а то хром мне не очень
Вышка нужна в 3 случаях:
1) Там есть много математики, ты ее любишь и реально можешь выучить и подтянуть ее, т.е. муз с математическим уклоном.
2) Собираешься делать перекатку в Европу
3) Ты джун и устариваешься в компанию где HR-психологиня сортирует кандидатов по гороскопу и названиям ВУЗОВ.
Дропнутая вышка - показатель того, что нихуя не можешь довести до конца и бросаешь на полпути.
но ты не цук
>1) Там есть много математики, ты ее любишь
Тут да.
>2) Собираешься делать перекатку в Европу
Учитывая, что чел уже год работает, можно проработать ещё пару лет, и вышка будет ненужна даже для переката. Достаточно будет подтверждения опыта.
>в компанию где HR-психологиня
В такую компанию вообще не надо устраиваться.
>>27729
Сколько осталось? Дропнуть-то не проблема, работают и без вышки многие - сам знаю разработчиков, которые учились сами, и работают в топовых ИТ-компаниях. Но тут тебе никто не скажет ничего путного, чужой опыт тоже не поможет. Мне кажется, ты просто хочешь ответственность передвинуть за это решение.
учиться еще полтора года + отработка 2 года обязательная(это беларашка), решение не хочу передвигать просто интересен чужой опыт
> просто интересен чужой опыт
Опыт у всех индивидуальный. То, что сработало или не сработало у кого-то, не имеет к тебе никакого отношения. Количество факторов таково, что задавать этот вопрос бессмысленно, он может дать только обманчивое самоуспокоение.
Да сходи ты уже на стак оверфлоу, бл. Эвент тебе нужен, ЭВЕНТ.
В процессе обучения понял что вышка ему не нужна и знания новые он не получит.
Зачем тратить впустую 4 года?
Показатель того что уверен в себе и может четко и быстро принимать решения.)))))
С одной стороны я с тобой согласен
Мне интересно был ли опыт у людей где эта ваша вышка нужна была
сап програмач!
у кого нибудь была такая херня, что в реакт роут прописываешь какой-то путь, и все, все пути ниже него ведут только на этот путь?
в чем причина может быть?
> алгоритмы
const x = [
[1, 3, 2],
[5, 4, 6],
[7, 9, 8]
];
console.log(x.flatMap(x => x).sort());
const obj = {
x: [4, 1, 3],
y: [3, 5, 6]
};
console.log(
...Object.entries(obj).map(([key, value]) => ({ [key]: value.sort() }))
);
функцию сортировки своей хуйни напишешь сам
function ядаун(obj) {
return Object.keys(obj)
.sort()
.reduce((acc, curr) => ((acc[curr] = obj[curr]), acc), {});
}
еще одну лови
а ваще это банальный flatten рамды/лодаша
пример на флат кейса обсуждаемого где вложенность типа [[], []]
const concat = (arr, x) => arr.concat(x);
const concatMap = f => arr => arr.map(f).reduce(concat, []);
вот дипфлатен когда у нас дохуя вложенностей типа [[[]]];
const flatten = concatMap(x => (Array.isArray(x) ? flatten(x) : x));
160к
ваще почитал ваш тред и охуеть можно, вышки нет, почитал тред ваш и охуел и наскока понял что это важный критерий))))
ну почитал тредх и увидел то как дизморалят пачанов по поводу отстутвия вышки
>Дропнутая вышка - показатель того, что нихуя не можешь довести до конца и бросаешь на полпути
Если что, я вообще лапоть в программировании, но я так заебался что нахожусь в шаге от того, что просто буду писать все что отправляет с кнопок в строку, а потом парсером все посчитаю нахуй по нажатию на "=".
Я такую хуйню пишу, какой вы никогда не видали. Написал пока только кнопку 1,2 и +. Потом переписал, раз 100 и дальше хуй знает как сделать так, что бы операторы чередовались а не только x + y + z ... + n...
Хочу написать самому и не смотреть в чужой код, можете хотя бы дать подсказку кроме как пойти на хуй?
Через switch case и парс строки. Небольшая сложность возникнет если ты скобки добавишь.
>я так заебался что нахожусь в шаге от того, что просто буду писать все что отправляет с кнопок в строку, а потом парсером все посчитаю нахуй по нажатию на "="
а в чем собственно проблема? я помнится так и сделал
единственно надо обезопаситься от неверной строки - не допускать двойные символы арифметического действия и двойные точки в числе
>а в чем собственно проблема?
Хочу что бы динамически считало по нажатию на кнопки "+", "-", "/", "*"
как будешь хотя бы 10к рублей получать после буш залупатся, уебище малолетнее.
это можно решить ваще элементарно, например так
const x = [[2], [3]];
console.log(x.reduce((acc, curr) => acc.concat(curr), []));
могу тебе еще пачку решений накидать, а ты так можешь?
нет не можешь, потому что твой удел сосать хуй
Разогретый JIT не увидит разницы
В отличии от твоего коллеги которому придется разгребать какие-то ебаные циклы
Вешать для каждой кнопки отдельный обработчик слишком заебно. Сделай один единый, а уже в нем по условию проверяй что из this нажато. В разы меньше кода и копипаста будет.
Отправлять в строку не самый плохой вариант, но лично я бы чтобы не ебаться с парсингом лучшебы это дело отправлял в массив включая знаки. А потом тупо проходился бы по массиву и выполнял все возможные действия.
я согласен что это хуже, мой пост был о том что этот редьюс это тот же цикл а не рекурсия какая-нибудь
смотря как напишешь рекурсию. Можешь в каждом проходе делать вычисление и в следующий вызов передевать уже новое значение.
Только хвостовые рекурсии оптимизируются в те же лупы
На данный момент JS ни во что из этого не может
мимо
мне тоже интересно почему
по идее методы функции должны иметь доступ к статичной переменной через замыкание
>статичной переменной через замыкание
Значение знаешь?
Не знаю что тот мудак высрал но на скриншоте div определен только внутри функции
см мой скриншот там тоже самое что у него и инстанс функции имеет доступ к переменной которой в самом инстансе нет
Знать бы ещё, о чем ты именно. Нам просто дают задание и то, с помощью чего и как нужно ее решать, ни шага в бок.
Если объяснишь, в чем мои ошибки, буду очень благодарен.
при чем тут глобальный скоп, епт
она находится в скопе функции груп и он создает инстанс этой функции который должен иметь к ней доступ через замыкание, я проиллюстрировал выше
я наверно чего-то не понимаю, ты в примере вызываешь метод и возвращаешь свойство в объекте. У того чувака локальная переменная к которо он пытается добраться из глобального скопу. Причем тут замыкание
Компонентная архитектура React приложения полностью отражает подкопотные кручения деревьев
Vue - велосипедный мутант, пытающийся угодить даунам императивными костылями натягиваемыми на вирутал дом
>Какие задачи, в основном, стоят перед фронтами?
людям не нравится что для смены данных путем перегенерации страницы ее надо полностью перезагрузить
с помощью джаваскрипта данные на странице можно менять без перезагрузки страницы, это очень удобно и поэтому стало популярно, началось с простых аджакс запросов и дошло до спа со своим роутингом и прочим
>инстанс функции имеет доступ к переменной которой в самом инстансе нет
>this.fn = function(){console.log(11)}
с таким подоходом погромистом не станешь. Смотри где у тебя подключается этот скрипт, есть ли уже элементы.
Ну я как раз и делаю фулл спа на vue. Для внутреннего пользования одной компании не большой (челы работали в экселе всю жизнь, как я понял). Просто я себя позиционировал как бекендера, а на деле пилю проект на vue. А с бекенда разве что rest api реализую. Вот и думаю, может глубже js/фреймворки изучать - раз судьба меня сюда завела. Еще по ценникам не ясно, я вроде и за копейки работаю, а что нужно знать на более высокую зп - не понимаю (чистый js углубленно?)
>JavaScript thread
>Просто я себя позиционировал как бекендера
>нужно знать
>А с бекенда разве что rest api реализую
>пилю проект на vue
Пиздец ты нерафинированный макакич
Смотри, чтобы не наебали с оплатой
>а что нужно знать на более высокую зп - не понимаю (чистый js углубленно?)
посмотри всякие собеседования, обычно всякие замыкания, this, прототипы + всякие тонкие моменты фрейморка на котором будешь работать.
навпример в тред напишешь
Так там и для джунов и для мидлв/синьеров стэки одинаковые. Что смотреть то. Тот же мидл реакт-дев должен знать фреймворк, ориентироваться в вебпаке, + хранилище + роутинг + пару библиотек. Но это, как по мне, любой джун должен знать (не досконально).
>>28315
Не совсем понял о чем ты.Да я пару месяцев уже сижу. Иногда даже задач нет, скучаю. Читаю всякие статьи (хабр, медиум). Чет стагнация какая то. Вот и думаю "зайду челов в жс треде заебу". Или тут при упоминании "бекенда" у местных пена со рта начинает идти? Или я опять же, не правильно понял суть гринтекста
>>28317
Да вот наткнулся на видос чела, котрорый в билайн на проект с реакт-стаком собеседовался. Так там вопросы вообще детские какие то. Еще и на такой ценник.
>Да вот наткнулся на видос чела, котрорый в билайн на проект с реакт-стаком собеседовался. Так там вопросы вообще детские какие то. Еще и на такой ценник.
Ну вот такие собесы на мидла.
У меня на джуна помню был собес, попросили переписать vue компонент, что бы вместо теплейта, была render функция, вот я тогда охуел.
>Да вот наткнулся на видос чела, котрорый в билайн на проект с реакт-стаком собеседовался. Так там вопросы вообще детские какие то. Еще и на такой ценник.
У него 20 полноценных проектов, которые можно выставлять на продажу, он полный жс-дебил и может в дизайн
220к не такие большие деньги
Ну и отлично, если ты все знаешь, то иди устраивайся.
А нахер тогда собесы вообще нужны? Как можно опыт человека по проекту оценить? Может он там мусор выносил, или джуном вертску правил.
Есть 3 типа работы
1. Высерающие "чтобы работало" галеры. В основном гос. заказы, беспощядный банановый аутсорс и супер лоу сигмент стартапы. Вопросы на собеседованиях могут быть любого уровня, вплоть до внутренней работы оптимизации компилятора. Главная цель найма - задушать тебя нахуй и выдавливать 400% от зп, которая в диапазоне от 0 до 200к в зависимости от города и заказчиков. Из самых ярких представителей ООО "Рога и копыта" твоего зажопинска, EPAM и остальные постсовковые коморки
2. Среднеконторы. Сustom software разрабатывается по контрактам (если речь идёт о студии) и проходит контроль качества, поскольку зачастую фирма-заказчик покупает и поддержку на N лет. Также может разрабатываться generic software, но чаще в конкретно стартап направленных компаниях или как сайд проект. %Практически все европейские студии%, Тинькофф, тот же Билайн. Ищутся сотрудники на долгосрочную перспективу, в кандидатах важнее всего готовые проекты за плечами и софт скилы, на собеседованиях никого не душат и задают конкретные вопросы по направлению работы. Зп от 120к до 700к в зависимости от страны
3. Топ корпорации
Тут чтобы тупо понять происходящее и выстроить нормальный план действий нужны годы
Некоторые не осиливают и доходят максимум до ковыряния говна за 60к десятилетиями. Лично знаю и таких
Сорта говна. Сейчас бы работать с заказной разработкой. Самый кайф в продуктовых компаниях происходит.
>это можно решить ваще элементарно
Долбоеб, что делать будешь со множественной вложенностью? Срать в штаны и говорить, что ты этого не учел потому что не думал, что с этим столкнешься.
он выше постил уплощение множественной вложенности, там тот же принцип только рекурсия добавляется
>там тот же принцип только добавляется несколько циклов внутри стандартных курсов и рекурсия
>сравнивает это с единственным циклом
Ясно.
хз
Ты шутишь?
По всем возможным бенчмаркам пыха уже давно не конкурент
Если бы не миллиард индусов и пендоские вордпресс макаки язык давно бы похоронили
+ пыха-легаси будет жить еще очень долго
Ну так легаси не переводят на ноду.
по моему все одно и то же. Я блядь вообще не понимаю в чем разница между тем же пхп/нод/рельсы/питон. Разве что разные с-подобный синтаксис, а так вообще поебать. Ощущение что между ними в течении месяца можно на тот же уровень перекатываться не особо теряя. На производительность вообще все поебать в этой нише кмк.
Не всегда, но вероятность найти нормальную КРАЙНЕ МАЛА
Что с Фласком?
Круто, надо взять на заметку.
Экономика рф как устройство жс.
>различаются в синтаксисе
Посмотри программы на том и другом и сравни.
>подходе к написанию софта?
Ничем, оба динамикопараша с урезанным ООП, правда в петухоне он не так урезан как в чистом JS, но если сравнивать с TS, то питон соснет с проглотом.
Нет перегрузки операторов, например. В JS нет полноценных классов, а в Python они есть. Остальное не помню, можешь в гугле почитать.
Также как и фичи JS превращаются в обычный ассемблер, где их нет. Компилятор языка всё пишет за тебя, используя твои инструкции в виде синтаксиса языка.
Потому что ты не можешь так просто взять и добавить, не сломав что-то другое.
>нахера тогда нода?
Чтобы можно было выучить JS и писать кроссплатформенные приложения для десктопа и серверные приложения, а не только анимацию на веб-страничках.
>Чтобы можно было выучить JS и писать кроссплатформенные приложения для десктопа и серверные приложения, а не только анимацию на веб-страничках.
без вменяемого ООП
двойная работа по изучению
зато дено ТС
Но нода и ТС это всё ЖС
Какого ООП тебе не хватает?
Ты можешь делать свои любимые
ФакториПровайдерСервис факториПровайдерСервис
и на ЖС. Даже проще будет, не надо второй раз то же самое писать.
ЖС плох тем, что он не Сисярп. Я тебя правильно понял?
https://en.wikipedia.org/wiki/Rule_of_least_power
если его пизают на бэк и Писи-то он должен к этому стремиться,а не быть обязательной копией
пихают
Если его пихают для микросервисов ведомых событиями, ему надо разрастись до невменяемого ФакториПровайдерСервиса?
Решил поучить JS после шарпа. Это нормально, что код мне кажется каким-то нечитабельным адом? Или потом норм станет?
Учить TS
Спасибо, обязательно попробую
Пользуйся, кто же тебе запретит?
Интерфейсы? Приваты?
Прям классический смузихлеб.
Использую эту конструкцию для определения значения переменной вместо вложенных тернарников или switch-case, более кратко получается.
А ты что хотел, мальчик? А ну-ка бегом бабель настраивать!
Сижу в ДС, ищу позицию стажёра/джуна. Ищется не очень, даже на собесы не приглашают. Хочу заниматься всякими СПА на Реакте. Есть возможность пойти джуном версталой в мелкую контору, но там абсолютно точно не получится из версталы в разраба перекатиться. Стоит пойти туда на 6-9 месяцев, чтобы получить хоть какой-то опыт или продолжать искать вакансию на разраба?
Обязательно стоит. Более того, стоит вообще на любую работу, даже никак не связанную. А у тебя ещё и хороший вариант.
Только понимай, что приспособленцы, вруши, отвратительные людям и вредны для бизнеса. Если ты можешь честно там всем сказать: "Жду другого, тут просто перекантуюсь, пока постараюсь быть полезным и чему-нибудь научиться", и тебя возьмут, то делай так. Когда будет нужная тебе вакансия, там тоже не забудь сказать, что на нынешнем месте все в курсе, что ты уйдёшь при попутном ветре. Тогда всё будет красиво.
Спасибо анончик.
Ваннаби-бэкендер на связи
Пишу на Рельсах либо на Питоновской Джанге. Встала задача реализовать список из виджетов (один под другим), которые можно перетягивать (drag and drop) и менять местами друг с другом. При этом новый порядок должен сохраниться, даже когда юзер покинет страницу (это уже лежит на бэке)
Чем и как мне это реализовать на фронте?
Предположим, что на текущий момент мы имеем initialState. Так же я знаю, к какому ключу обращаться (1,2,3). Я обращаюсь по ключу 1 и получаю undefined. Пока все нормально. Но далее я хочу узнать у этого undefined его id и получить закономерно undefined. Но взамен получаю ошибку. Да, я знаю что можно сделать проверку на undefined или через try catch или заранее добавлять ключи, но я хочу обойти эти все проверки и если я беру ключ у undefined, получать undefined. Можно ли как-то этого добиться?
Это не должно так работать. Ключи могут быть у объектов, а андефайнд - это не объект.
Все у них может быть, так работает обертка. К тому же, если мы берем за основу >Ключи могут быть у объектов , то почему код не падает, когда я обращаюсь у других примитивов к ключам ?
Обертки есть у примитивов number, string, etc, и пользоваться можно свойствами только соответствующегопрототипа. У undefined обертки нет.
Мы ведь передаём значение только в factor?
Так же и в другом примере. Вызывается алерт, а счётчик начинается с нуля. Там же при вызове функции во вложеной счётчик меняется на +1.
Потому что ищет переменную изнутри и в первый раз неизвестно о её существовании?
>Почему при алерте переменной number присваивается значение 5?
Может потому что там в аргументе функции число 5?
в общем почитал я релейт:
1# https://blog.insiderattack.net/timers-immediates-and-process-nexttick-nodejs-event-loop-part-2-2c53fd511bb3
2# https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/
3# https://medium.com/@kunaltandon.kt/process-nexttick-vs-setimmediate-vs-settimeout-explained-wrt-different-event-loop-phases-c0506b12921d
за один тик считается каждая "фаза" на пикрелейте, и что важно, каждая следующая "фаза" цикла событий (EventLoop) начинается только после выполнения всей очереди из колбэков объявленных через process.nextTick(), это может привести к заморозке цикла событий, если колбеки будут рекурсивные
>зачем нужно
тут вроде как норм ответы:
1# https://www.reddit.com/r/node/comments/3jauxm/when_to_use_processnexttick/cunrydb?utm_source=share&utm_medium=web2x
2# https://qr.ae/pNnviY
в целом как я понял, это обертка для любого блокирующего кода, и также это норм обертка для инициализации обработчиков событий @ если process.nextTick() используется для обертки блокирующего кода, то но нужно учитывать ограничения по call stack и проблему с возможной заморозкой цикла событий из за рекурсии
ну и вишенка на тортике:
>In essence, the names should be swapped. process.nextTick() fires more immediately than setImmediate(), but this is an artifact of the past which is unlikely to change. Making this switch would break a large percentage of the packages on npm.
Не понимаю как это работает.
Есть функция, есть вложенная функция.
По моим представлением передать значения в любые переменные (в том числе переменная внутри вложенной функции) можно только через параметры.
Т.е. по моим (неправильным) представлением должно было выглядеть так.
function (factor, number){
return number => number * factor}
тогда в функцию можно передать два аргумента. Один для своей переменной - другой для вложенной функции. А тут получается передают значение два раза в один параметр. Он же вроде как должен просто на второй раз перезаписать factor. Но этого не происходит, почему так?
Он в неё передаёт factor в самом начале, потом получает функцию принимающую number и умножающую её на ранее переданный factor.
Вся суть в том, что функция это не что-то магическое, а объект с определенным состоянием.
Что это вообще за хуйня? Типа можно аддоны нативные писать на C++? А зачем? В чем прикол?
Так можно делать биндинги на C++ либы, либо переносить вычислительно сложную логику в нативный код, чтобы эвентлуп за яйца не вешать
Конкретно не понял по какому принципу в document.onclick = function(e){} клик передается как параметр функции "e" ? Магия какая то.
>Что непонятного тут?
Да все. По этой логике я могу создать объект vasia, передать его метод функции, получить его в параметрах этой функции и что то с ним делать, но это не работает.
let vasia = {status: 'govnocoder'}
vasia.status = function(e){console.log(e);} // где мой 'govnocoder' ?
И вот по мере изучения JS я встречаю кучу таких взаимоисключающих параграфов, которые понять никак не выходит, приходится только зазубривать.
>let vasia = {status: 'govnocoder'}
>vasia.status = function(e){console.log(e);} // где мой 'govnocoder' ?
>не работает
В первой строке ты задал свойство status, а во второй перезаписал его функцией. Тебе этот момент непонятен?
Да только, чел, только.
Вот C - это удобный язык для байтоёбства, на нём хорошо бутлоадер операционной системы писать. Можно ли на нём написать писать бложек юзая cgi? Можно. А надо? А нахуй не надо.
Так, а попроще. Вот у меня допустим есть приложуха на ноде. Какую её часть имеет смысл переписать на хрэсты и зочем? Ну к примеру.
>fs.writeFileSync("result.txt", resultString);
Сохранять форматирование в тексте? В resultString текст поступает красивыми абзацами, а в самом файле общей кучей. Помогите.
visual studio code
Поддерживаю предложившего VS Code. Обязательно прочитай getting started, будешь от функционала радугой кончать.
Есть подрзрение что у тебя переносы строк невиндовские. В нотепаде++ со включенными непечатными символами открой и посмотри.
Ну тащемт на десктопе не только байтоёбство. Хотя даже и оно. Мне вот начальство сказало "сделай связь через TCP с этой хуёвиной, чтобы она могла то-то и то-то" - я нужный пакет спиздил, десять строк кода в ноде написал, хуяк-хуяк, через час работает, я молодец. А один мой знакомый эмбеддщик неделю собственную библиотеку писал для похожей задачи. Бака.жпг
Но как писать то? Столько тонкостей и нюансов: "что" "где" и "когда" нудно применять что при написании кода я впадаю в ступор. Например, непонятно с ООП вообще почти нихуя, ну классы, инкапсуляция, наследование, вроде прикольные фишки, но что с функциями тогда делать, не использовать, типо полностью заменить классами? То же самое с объектами, нахуя они нужны и зочем этому было уделено столько времени если класс имеет на много больше ништяков и по сути это обьект2.0 ?
Начни что-нибудь писать. Хоть калькулятор, хоть туду лист, на этом этапе похуй.
Сначала сделай, чтобы работало.
Потом Сделай, чтобы работало правильно, потом - чтобы работало быстро.
Смари. Ты применяешь то, что нужно и облегчит тебе работу. Объекты не нужны - пишешь на функциях. Видишь, что есть набор данных, связанных между собой иттребующих обработки - ну ок, пусть будет объект. Сначала проектировать, а потом писать - занятие для суперсеньоров (которые понимают, что делают) и долбоёбов. Во всех остальны случаях - код с редким чириканьем ручкой и переделками по необходимости.
Есть какие гайды, стандарты по структуре проектов. Что в какие папки размещать, что как называть?
Или всем похуй в основном?
Сап, аноны. Пишу для себя скрипт в Tampermonkey.
Скрипт дописывает в конец страницы довольно большой кусок HTML, этот кусок хранится у меня в константе. Всё это занимает очень много места в скрипте и глаз дергается от этакого маркобесия. Кто-нибудь знает способ убрать эту огромную текстовую константу куда-нибудь (допустим в файл)?
Нагуглить у меня по этому поводу не получилось
Вы видите копию треда, сохраненную 20 мая 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.