24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.
>>988024 (OP) Спрошу и тут, ШО ЦЕ ЗА ХУЙНЯ? Эта унрезолвед поебень вылазит на любой первый метод в цепочке. Погуглил, у многих такой баг есть. Видимо, никто не собирается его чинить, так как и так работает. Не хочу ставить мерзкие редакторы типа Атома.
Зачем нужен реакт, если есть божественный Angular4.0 заточенный под enterprise progressive-web-app решения c AoT, tree shaking, реактивностью, охуенным Ionic? Angular это ведь тот же реакт, только больше и лучше.
>>988147 Радоваться. Ещё бы рантайм тайп-чекинг был. >>988145 Потому что через год они выкатят ангулар 8 и бросят 4, а потом - 16 и бросят 8. Смысл юзать фреймворк, который скоро умрёт? Реакт пережил три ангулара, переживёт ещё больше.
>>988145 >>988160 Скажите мне, что это один и тот же шизик строчит. Блять, ангулар на тайпскрипте больше не будет кардинально меняться. 4, 5, 6 это мажорные релизы, полностью обратно совместимые, куда будут ввинчивать лишь новые фичи.
>>988160 >Потому что через год они выкатят ангулар 8 и бросят 4, а потом - 16 и бросят 8. С гарантированной обратной совместимостью, как ангулар4. Собственно разработчики уже пояснили, что ангулар1 - это не ангуляр, а просто старый фреймворк с похожим названием. Нет ангулар1 и 2, есть просто ангулар и какое-то говно. Апдейт до новых версий безболезненный и простой. Вы говорите что вы ангуляр-разработчик - подразумеваете что работаете с ангуляр со второй версии.
Собственно маркетинг Google показывает намерения: Один вождь. Один народ. Один фреймворк. Всё вертится вокруг идеи что есть только одна технология от Корпорации Добра, покрывающая все кейсы и идеально масштабируемая, а остальные должны умереть.
>>988173 У них уже был такой Вечный язык. И для фронта, и для бека, и для мобильной разработки. Активно форсился, это же Корпорация добра, не может не взлететь, новый стандарт! Но не взлетел и был выкинут на помойку. Теперь они форсят Голанг. И ангулар постигнет та же участь.
Хоть и флоу-говном обмазано, но усваивается лучше, чем абстрактная дрысня от ЕКМА-бюрократов. Это тем, кто не может словиться, как там прототипы-промисы работают.
>>988314 Потому что io = infancy obscenity, т.е. материалы с младенцами непристойного содержания. Проклятый госдепартамент пытается развращать российскую молодежь тлетворными материалами под прикрытием т.н. "социальных сетей", в которых в открытую публикуется цп, расчлененка, игры от синего кита и т.н. "расследования" известного политического проходимца Алексея Наврального.
> Бамплимит — ограничение на количество постов в одном треде на анонимных имиджбордах, при достижении которого тред перестаёт подниматься вверх при отправлении в него постов.
Посоны, поясните по хардкору за github! Конкретно интересует: 1. Как там папку создать (css-файлы проекта в папке /css/ и я хз, как ее туда залить)? 2. Как там файлы удалять, если начудил какой-то хуиты?
>>988381 Там ты создаешь репозиторий. У себя на компе создаешь папку с проектом. Инитишь в ней гит Привязываешь созданный в гитхабе репозиторий к своей созданной папке, т.е. локальному репозиторию. Создаешь у себя в этой папке на компе файлы и папки которые тебе нужны Добавляешь изменения Коммитишь изменения Пушишь изменения Все - они у тебя на гитхабе
Пацаны, кто-нибудь на ноду прихуяривал гугловскую почту? Надо поднять сервер, который будет слушать конкретный аккаунт и если приходит новое сообщение - получать его и делать свои дела (записать в базу или отправить на другую почту). То есть никаких роутов для показа вьюх мне не нужно.
Сам нашел googleapi для ноды, но не могу разобраться с гугловским апи. Там авторизация через oAuth2 и требуется помимо ClientId и ClientService некий RedirectUrl. Первые два у меня есть уже, а где взять последний не понимаю.
>>988388 >после чего производится коммит командой git commit >Использование команды без аргументов откроет текстовый редактор, где надо будет написать комментарий для коммита, коммит обязательно должен иметь комментарий.
Как теперь выйти из этого редактора? Нет там кнопки exit. Сочетания клавиш не работают: ctrl+break, ctrl+ecs, esc, ctrl+alt+shift+enter, please+close+this+fucking+redactor
Наёмная макака-фронтендер по совместительству адепт вуй.жс на работе обосрался с babel'eм, в коде висят [Symbol.iterator] и Promise. Скорее всего обосрался конкретно с vue-loader, потом подробнее посмотрю. Вебпак же под резервированные слова из новых стандартов ничего не создаёт? Ранее был замечен в явном приведении возвращённого JSON к строке и последующему парсингу регулярками, чтобы (!) достать значение атрибутов.
>>988445 Это, наверное, редактор vim. У него есть два режима: командный и текстовый. К примеру, h в командном — сдвинуть курсор влево на 1 символ (5h на 5 символов, ну ты понел). В текстовом h — просто введешь h, как обычно.
А еще есть режим командной строки, попасть туда можно нажав : из командного режима. :q — выйти :wq — сохранить и выйти
Вообще советую все гуглить самому. Там есть вся инфа и без оскорблений
>>988486 >приведении возвращённого JSON к строке и последующему парсингу регулярками, чтобы (!) достать значение атрибутов Даже такой дебил, как я, до такой хуйни бы не додумался.
Анон, я макака-верстака с >1 года опыта. Умею в самые хитровыебаные верстки, поддержки всего говна на свете включая IE8 и кофеварки. Хочу вкатиться в нормальный фронтенд, реакты-ангуляры, работу с данными, погромирование и проектирование. Реакт и ES6 пробовал но ничего серьезного не делал. Что посоветуете подучить что бы сменить работу? На уме: - угореть по ванилажс, почитать книжки (но какие?) - подучить протоколы - изучить БД (MySQL, что еще?) - пройти какой нибудь курс по node.js, а то его я знаю только на уровне написания крутого конфига в gulp. Но там столько всего что самому въехать не представляется возможным. Все правильно делаю? Если тут есть какой нибудь фронтенд-тимлид 300к/секунду, расскажи что конкретно тебе нужно видеть в специалисте что бы он был ок?
Аноны, есть у кого-нибудь ГОДНЫЙ курс по CSS/JS-анимациям на русском или английском с субтитрами? Стоит на красивые анимации хлеще, чем у поехавших из /b на трапов, а материал приходится собирать в сети по крупицам. Пока вот сижу дрочу изменения SVG с помощью жквери, получается так себе.
Такая тема: если распарсить прилетающий с сервера жсон JSON.parse("\n"); вылетает эксепшон, а вот если JSON.parse(JSON.stringify("\n")); всё норм. Что делать, или так оставить как есть?
>>988938 все дело в escap-ing. JSON.stringify экскейпит " и \ поэтому JSON.stringify("\n") парсируется. В твоем случае нужно JSON.parse('"\\n"') . Вообщем или фикси сервер или экскейпи ответ
>>989038 Так то есть ли в js какие либо средства для нормализации строк помимо JSON.stringify()? Сервер на java. Там отдаёт ответы Google Gson библиотека. Я хз почему он не экранирует лайн брэйки.
>>988553 Ох, мне как-то похожий код на JS'е фиксить пришлось. Там были скрипты для какой-то программы для моделирования мебели. Все функции и переменные кириллицей, названы переменные как попало, да и в целом пиздец. Но вообще забавно, это я за неделю вкатился как скрипты под эту прогу писать, мне кажется ещё пару недель, мог бы мебельщиком идти подрабатывать, лол.
Здравствуйте! Я представитель международной компании YoSoft. Мы работаем по всему миру в сфере веба и мобильной разработки. Наша компания имеет офисы в Москве, Киеве и Минске. Требуется крутой фронтендщик в офис в один из этих городов или на удаленку. Оплата - 2500 долларов в месяц. Возможна помощь с релокацией.
Привет писюны, большие и маленькие. Страдал хуйней, делал генератор аватара и короче прозрел с той хуйни что у меня огромная дыра в знаниях. Вот есть у нас, тег var randomShit = document.querySelector("input[value="kama-bullet]"] И на него вешаем лисенер - randomShit.addEventListner("change", randomFunction). Так вот , ребята, а что собственно будет передаваться в эту функцию - randomFunction? Я методом рандомного тыка вытянул значение которое мне нужно было, но это не выход. Поскажите что почитать на эту тему. И еще подскажите сервисов с которых можно получать открытые данные в json формате. Хочу запилить на реакте какой нибудь сайт которые будет вытягивать раз в сутки данные с сервера и менять свое содержимое.
>>989272 Неплохая попытка, но почему "Реакт почти не тормозит"? Как раз таки сам по себе реакт очень быстрый, а вот тот же Ангуляр 2 - это просто монструозный комбайн, который долго инциализируется и требует для развёртывания 10 конфигов.
>требует для развёртывания 10 конфигов Издержки использования TS и тестирования >который долго инциализируется В production бандле с выкинутым говном и отрендеренным документом в кеше сервера там нечему тормозить, а суммарный размер ядра меньше чем у реакта.
По сути главная проблема ангулара - его сложность в обучении и возможность выстрелить себе в ногу бандлами по 2мб. В долгой перспективе большие приложения делать на нём гораздо проще.
Ребят, объясните пожалуйста, как в JS-фреймворках решается проблема перерисовки DOM-элементов на примере HTML-таблицы. Допустим, у меня есть таблица, её модель - обычный двумерный массив. В массиве поменялось значение (неважно из-за чего), и HTML-таблица в моём случае втупую перегенерируется. Это ведь неэффективно. Посмотрел на реакт, у них там виртуальный дом и обновИтся только нужная ячейка. А в ангуляре как это реализовано? Меня интересует следующее - перерисовывают фреймворки таблицу или как-то по-умному её обновляют?
>>989639 > two way data binding Эта штука декларирует только то, что при обновлении модели должен обновляться вид и наоборот: > Two-way binding just means that: > When properties in the model get updated, so does the UI. > When UI elements get updated, the changes get propagated back to the model.
А как именно должен обновляться дом (в смысле обновлением отдельных узлов или полной перерисовкой компонента)? Кстати, благодаря твоему посту я вроде смог нормально сформулировать свой вопрос гуглу "change detection angular". Только они там zones какие-то нагородили, сижу раскуриваю эту дрянь...
Начну немного издалека. В JavaScript всё передаётся по значению. Когда говорят, что в JS объекты передаются по ссылке, это не совсем корректно - объекты вообще никак не передаются, потому что к самому объекту доступ получить нельзя. Строка
const obj = { x: 42 };
означает: "создать в куче объект с таким-то содержимым и поместить в переменную obj ссылку на этот объект". То есть изначально переменная содержит ссылку, и дальше эта ссылка передаётся по значению точно так же, как и например значения примитивных типов. Теперь разберём твой код:
// Создать пустой объект и поместить в переменную user ссылку на него user = {};
// Поместить в переменную user2 значение переменной user - то есть ссылку на пустой объект user2 = user;
// Создать новый объект и поместить в переменную user ссылку на него (в переменной user2 всё ещё ссылка на другой объект) user = {name: 2};
Если бы вместо последней строки ты написал бы user.name = 2;
То тогда user2.name было бы тоже равно 2, потому что при такой записи ты не создаёшь новый объект, а меняешь существующий.
Посмотрел сегодня выступление и интервью из билда 2017 по тайпскрипту, надеялся что расскажут или покажут какую-нибудь ебу, как в прошлом году, но не случилось. Посоны, как заглушить пустоту в душе? Как вернуть веру в светлое и вечное? рефакторинги конечно хорошо в 2.4, но пока сделают парочку нормальных будет уже 2.6 на дворе. И этого мало
Аноны, подскажите ньюфагу. Пишу простой веб-калькулятор в качестве практики. Понимаю, что можно выводить результат нажатия кнопок на дисплей в формате (5+3-2) и пользуясь функцией eval() выводить готовый результат. Но я не ищу легких путей. Хочу реализовать как все как на старых ручных калькуляторах. То есть набираешь число, при нажатии на клавишу с функцией число запоминается, далее при нажатии числовой клавиши значение дисплея заменяется новой цифрой и при нажатии на результат получаем сумму/ разность. Помогите реализовать используя jQuery
Привет, анон. Подскажи, не могу разобраться с тем, как реюзать селекторы. Есть функция-селектор getElementSize, принимающая state и id элемента. Нужна функция getAllElementSizes, которая будет собирать размеры всех элементов в объект с ключами-айдишниками. Очевидно, что бессмысленно каждый раз создавать новый объект, если ни один из размеров не изменился. Т.е. это должен быть селектор, являющийся композицией всех селекторов getElementSize для всех айдишников. Короче, хочется что-то такое: const getAllElementSizes = createSelector( ids.map(id => state => getElementSize(state, id)), selectors => selectors.reduce((sizes, selector) => { // как сюда передать id и state, чтобы вызвать selector(state) и записать результат в sizes[id]? }, {}) ); Сумбурно описал проблему, но надеюсь, что кто-нибудь поймет, что я имею в виду.
>>990190 Группа с положительной ретроспективной проверкой (positive lookbehind assertion). Продолжает поиск только если слева от текущей позиции в тексте находится заключённое в скобки выражение. При этом само выражение не захватывается. Например, (?<=об)говорить найдёт «говорить» в «обговорить», но не в «уговорить».
>>990288 Если удобно держать в состоянии реакта - то лучше держи там. Вообще, в стейтах компонентов имеет смысл держать какую-нибудь лабуду вроде таймаута анимации, прозрачности и т.д.
Блять хуйня какая-то с саблаймом, он почему-то пакеты не ищет через ctrl+shift+p . Когда раньше набирал то там был список пакетов которые я могу установить, кликал один раз и всё. Сейчас же нужно вручную в папку закидывать и только тогда установится, в чем дело? Я jshint не могу даже установить ибо он устанавливается как-то только через этот внутренний интерфейс.
Господа, мне нужно кое-что провернуть используя галп. Но для начала мне нужно составить список файлов.
Имеется var images = ['image1.jpg','image2.jpg']; и т.д. var paths = ['folder1', 'folder2, 'folder3'];
Нужно получить вот такой список путей к файлам для дальнейшей манипуляции с ними: ['folder1/image1.jpg', 'folder1/image2.jpg', 'folder2/image1.jpg', 'folder2/image2', и т.д.]
>>990470 Забыл добавить что я не хочу делать это как нормальный человек через два фор лупа, я хочу навернуть какой-то галп плагин или какую-то однострочную йобу.
ES6 это спецификация 2016 года или 2015? Кто-то мне здесь говорил что 2015го, но на википедии написано (14 июня 2016). То есть получается что желательно читать книги и материалы после 14 июня 2016 года?
>>990488 ES7 (типа) в 2016 ES6 (типа) - в 2015 Каждый год изменения в спеку. В этом году еще добавится. Они не сами по себе - это как слои. Есть основа и поверх нее всякие плюшки накручиваются, попутно обновляя спеку.
Посоны, а вот такой еще вопрос. Скрипт обрабатывает массив вида [30,-30,-60,60] и рисует кое-чего в канвасе. Скрипт находится в файле script.html. Надо бы как-то сделать ссылку на этот файл, в которую впихнуть этот массив. Что-то вида: script.html?array=30,-30,-60,60. Только без использования php. Как это сделать в JS? Чтобы из адресной строки брать массив.
Объясните пожалуйста фразу - " функция-конструктор не участвует в процессе проверки! Важна только цепочка прототипов для проверяемого объекта.".
Далее приводится код который изменяет прототип и проверка уже срабатывает как false. Ну вроде всё логично, у экземпляра один прототип, а в функции конструкторе уже другой, что в этом "забавного" по мнению автора.
>>990661 Ну а теперь представь что изменение было написано не тобой и ты даже не подозревал что оно было. Просто у тебя уже есть инстанс-кролик. А ты проверяешь и у тебя твой кролик не является инстансом Кролика. Вот тут то и наступает это самое "забавно", которое может перерости в более причудливые формы вида "какого хуя"
Собрался вкатываться в js с перекатом впоследствии в ноду. У вас там в шапке довольно большой список литературы. Посоветуйте, что почитать. До этого прогал на c#.
Есть тут аноны, только что вставшие на путь изучения жс? Реально только что. Хотелось бы скооперироваться и если что друг другу помогать. Пишите в телегу @ineveraskedforthis
Имею в цикле следующее: var id1 = texts1.id; // выдает ошибку Uncaught TypeError: Cannot read property 'id' of undefined at <anonymous>:9:24 Причем console.log(texts1.id); // нормально выводит соответствующие id;
Хочу взять jQuery-плагин и разобраться, как он устроен. Допустим, меня интересует как сделать сложный кастомный select. Подскажите хороший пример, чтобы там был не быдлокод и без кучи старого хлама и антипаттернов, которые разработчику лень переписывать.
Мне кажется, что задекларированная в первом цикле переменная i как-то не так работает во вложенном цикле (texts1.id выводится в консоль, но не значение переменной не присвается и в сравнении не участвует). texts2[x].id работает нормально.
Простите, пожалуйста, но свой вопрос я запишу и здесь
Программисты, подскажите, пожалуйста, что делать. Я живу в провинциальном городке и отучился на строительную специальность и за 5 лет специалитета, которые я учился обанкротилась крупнейшая строительная фирма моего региона, куда я хотел вкатиться работать. Тогда я пожал плечами и достал из-за пазухи свои любимые html, css, js и стал работать верстальщиком в местной веб-студии.
Чтобы отсрочить призыв в вооруженные силы я поступил в строительную аспирантуру. На кафедре разрабатывают строительный станок по новой технологии, которую придумал возрастной и энергичный преподаватель. Он выдал мне следующую задачу: "О! Ты ж программистом работаешь! Сделай мне нейронную сеть для прогнозирования значений графиков состояний строительного материала на основе предыдущих показаний.
Мой вопрос такой: Я знаю из языков только js, смогу ли я делать нейронную сеть для строительной кафедры на js-е? Или js не подходит? С одной стороны вроде же подходит, там Brain JS есть. А с другой критикуют его производительность и говорят, что он js обучения нейронной сети плохо подходит.
Парни, рассудите по понятиям, кто прав, а кто лев и западло ли использовать js для нейронных сетей и машинного обучения.
>>991248 Это, значит так, шутка что ли, блядь? Во-первых, шутят здесь только два человека. С помощью третьего человека — ассистента. Вы, блядь, мне тут не шутите со мной! Чё ты хуйню пишешь!? Мудило, мудак, мудило! Хули ты, блядь, свой умишко куцый показываешь, блядь, кому показываешь умишко?!
>>991248 JS вообще язык-обрубок, который изначально задумывался исключительно для свистоперделок на странице, снежинки там, бегающий <title>, вот это всё.
Были ли у Кантора какие-нибудь курсы в конце 2016 начале 2017 года? Последний из тех что я могу на торрентах - 2015 года да и то там материал начальный скопирован из курса 2013 года.
Всем хай. Смотри, двач, есть страница, которая загружается при вызове адреса. в ней есть div, куда после загрузки DOM подгружается скриптом верстка+скрипты, в итоге формируется большая страница. В подгружаемой верстке есть прописанная js-функция, которую нужно вызвать после подгрузки этого учатска верстки, собственно.
Вопрос. Как вызвать эту функцию? $(function(){....}) не помогает.
Аноны, помогите не залезть в петлю. Нужно получить значение из БД в переменную(с помощью Jq), пишу .ajax post, передаю на сервер данные, обрабатываю, отправляю обратно echo с нужными данными, они попадают в success: function(data){}; КАК ИХ ОТТУДА ВЫТАЩИТЬ, если сначала выполняется весь скрипт, а уже потом выполняется POST?
переменная потом нужна будет в нескольких местах, поэтому обрабатывает ее внутри success: function(data){}; - не комильфо.
Друг предложил написать приложение на андроид, представляющее собой мини-википедию со статьями, нацеленными на определенную аудиторию. Какой фреймворк поможет мне в этом? В шапке android-треда есть PhoneGap/Ionic/Titanium/ReactNative — какой из них предпочтительнее? Из знаний у меня только бекбон и вот-вот начал изучать реакт.
//===== redux/rootReducer.js ===== import { combineReducers } from 'redux' import app from './App/reducers.js' import other from './Other/reducers.js' export default combineReducers({ app: app, other: other })
Господа, прочитал пару статей про такую прекрасную нет вещь как fetch и уже надрачивал свою консоль в надежде "ух бля... заживемь". И тут я пытаюсь вбить в консоли такую весчь var kolovrat = fetch("https://api.adorable.io/avatars/list", {mode: "cors"}); И это хуйня выкидывает мне ошибки. Вопрос зека этой хаты, правильно ли я понял что с mode: "cors" я могу делать кросс-доменные запросы или я долбоеб? Хули так мало примеров в сети с кросс-доменными запросами?
halp! юзаю react-google-maps: https://pastebin.com/iuQWx19Y стр 29 хочу удалить оверлей через 3 секунды после монтирования в DOM компонента Map но получаю исключение: Uncaught TypeError: ov.setMap is not a function что я делаю не так?
Задача: запилить на React Native пикрелейтед диаграмму в виде аналоговых часов с интервалами в нужных местах. Кто-нибудь сталкивался с такой задачей? Обыскал пол интернета, нужного плагина не нашел.
for (var i = -1; i <= 1; i++) { for (var j = -1; j <= 1; j++) {
if (!i && !j) continue; // сама зелёная ячейка нас не интересует
// прибавляем в цикле -1, 0, 1 к каждой из координат // чтобы просмотреть все соседние элементы var neighbor = arr[cx + i][cy + j]; // cx, cy - координаты зелёной ячейки
} }
Ну а чтобы избежать аутОфБаундс, проверяй координаты соседа (cx + i и cy + j) условиями, типа:
if ( cx + i < 0 || cx + i > width || cy + j < 0 || cy + j > height ) continue;
width и height это разумеется кол-во рядов и столбцов
В общем, на js я писать не умею, но надо. Суть задачи: есть несколько textarea в которой появляются логи томкатов, нужно сделать кнопку on/off, включающую/выключающую автопрокрутку в этих логов. Все лежит в одном файле - html + script. Script находится в конце. Как блять сделать так чтобы setInterval выключался.
>>989741 Потому, что асинхронность. Там нужно события ловить. И даже если бы не асинхронность, у тебя, ебать, проверка статуса идёт перед отправкой запроса!
>>992367 Ты метод указал? Ты уверен, что он простой? Если не простой -- сервер-то принимает такой метод? И вообще, это странно что ошибка выходит за промис. Хотя может я не всё знаю о fetch.
>>989234 >Так вот , ребята, а что собственно будет передаваться в эту функцию - randomFunction В качестве this - сам элемент (он же event.target), в качестве первого аргумента - объект события (event) http://learn.javascript.ru/events-and-interfaces
Если я хочу заказать пару книг по Javascript, то я долбаеб? И вообще где можно "поддержанные" книги купить? Ибо у технической литературы ну просто запредельные цены (для такого бомжа как я).
>>993117 У препода какое-то ебанутое, просто выбешивающе эхо выбешивающее эхо. ПоХаПешные курсы "специалиста" - годнота. А вот JS курсы "специалиста" 2 раза пытался посмотреть и два раза в самом начале дропал в самом начале дропал. Очень он нудный. Лучше таки Флэнагана почитать почитать.
>>993117 На какой хуй вообще смотреть видео? Они рассказывают все то же, что и в книгах написано, причем делают это гораздо медленнее. Сразу читать гораздо выгоднее, да и отсебятины от автора не увидишь, а то они порой так объяснят, что хоть стой хоть падай.
Чет вообще не понял про this, почему он не определён в этом случае? Мы ведь вызываем класс Rabbit и он создаёт пустой объект, именно этот объект и будет this. Объясните пожалуйста.
https://learn.javascript.ru/iterator блять Кантор там вообще ебанулся. Нормально не объяснив что такое тип Символов начал заливать про какие-то итераторы. А в самом начале говорит о том что для перебора объектов используется конструкция for...of , правда чем она отличается от for ... in так и не написал, охуенная статья просто...
https://www.youtube.com/watch?v=LVEDsq6_WrA - в самом начале видео говорится о том зачем нужны символы - для задания уникальных идентификаторов свойств объектов. Но в чем проблема просто записать нужное нам свойство или метод в прототип и всё? Оно не будет переопределяться если в объект напрямую запишут что-то с таким же названием и его также можно будет вызвать когда угодно через прототип. Object.prototype.newMethod = function() { ... } и всё, зачем эти символы нужны тогда? Объясните плз.
>>993281 Тебе же сказали так прописано в спеке. А то, что прописано в спеке надо принять и запомнить. Ты ж с букварем не спорил как лучше буквы называть.
>>993329 Долго. В кратце для гарантии что никто не перетрет и нисчем из написанного до es2015 кода не будет конфликтовать. Мало ли что там могли наманкипатчить. Если хочешь поищи на ютьюбе плейлист коттанов и смотри первые видосы про js. Там рассказано и про символы.
Сап, скриптач. Я еще джуниор в JS и только начал вкатываться в этот удивительный мир и учась по гайду у меня возник вопрос в синхронных и асиннхронных скриптах - async/defer Изуча это и понял принцип их работы я задумался: А нахуя вообще нужен async, если defer выполняет функции асинка лучше, чем он сам. Используется ли async? Естественно вопрос пока привязан к верстке, но так же из него вытекает точно такой же, только в будущее. Прошу отнестись с пониманием и пояснить ебучему джуниору за это
>>993433 Прочитав свой вопрос понял, что допустил ебаную кучу грамматических ошибок, но фиксить их не хочу, т.к все работает стабильно. В общем хотел добавить кое-что по поводу будущего: Мне говорили, что JS не привязан к верстке и живет вообще своей жизнью. И исходя из моего вопроса, я бы хотел узнать: Используется ли async в общем коддинге JS?
>>993433 И как ты в вебе будешь ajax-запросы будешь делать без ассинхронности? >>993435 В nodejs работа с чтением/записью тоже ассинхронная. И async/await синтаксис - экспериментальный ещё, что в вебе, что в ноде. Это сахарок для Промисов, которые сахарок для колбеков.
>>992257 "Вкатиться в язык" никак не связано с "выучить синтаксис". Изучить основу синтаксиса любого мейнстримного языка можно за час. Это не значит что сразу сможешь хуярить код на этом языке.
>>993662 >>993314 Кстати, я сам сейчас учусь по этому сайту. Бля, неужели он тоже хуйовый? Возможно спрошу платину, но какой учебник посоветуете? Желательно ПДФ или прямо сайт, а то денег на книги нет. >>993433-Кун
Здарова, скриптаны. Есть список, из него сделал array, и на каждый пункт списка хочу повесить событие, я из нодЛиста делаю обычный список способом Array.from(unknowXuita), а потом обхожу результат с помощью every и вешаю событие. Вопрос , не по пидарски я не гомофоб! ли я делаю и есть ли в современном ES6 крутые весчи которые делают это проще?
>>988024 (OP) Почему на реакт не завезли шаблоны как во вью? Почему я вижу в коде такое? render() { return ( <input type="checkbox" /> {' '} Only show products in stock );
Уже на говно изошел. Придумал только васянорешение, где проверяется количество границ рядом, а потом количество нулей и все это складывается, но код получается очень уебищным.
>>993329 Кекнул малёха. Суть symbols ты познаешь лишь тогда, когда научишься писать хоть что-то отличное от говнозадачек или попадёшь на худо-бедно небольшой проектик.
http://xn----7sbnshpgdbuur.xn--p1ai/?yclid=2599075916925901840#ipad_Air_Air_2 пацаны, захотел себе я значит что то подобное, сейчас в голове, только дивы с текстом показывать и позицию стрелки позиционировать инлайново, не будет плохим решением это в canvas все делать ? Выглядит с первого взгляда, что это быстрее чем ебаться с домом
Надо его спарсить, Num1 и 16х должны быть отдельно. Как это сделать, элемент же не под тегом класса? Это просто макет, инфа там может быть другая. Что посоветуете?
В ньюфаг треде молчат, может из вас кто поможет. Уже вкатился фронтенд-макакой, вышки нет. Планирую освоить то, что дают в вузах, но самостоятельно. Пасту читал, но хочется конкретных книг. По математике, устройству ЭВМ, логике, алгоритмам, базам данных и.т.д. Накидайте годноты.
https://learn.javascript.ru/set-map Немного не понял, для какой именно совместимости сделали первые два аргумента у функции перебора одинаковыми? (пик)
>>994134 >>994152 Спасибо, думаю за пару лет осилю, лол. >>994147 Ну хуй знает, я же не собираюсь прям задрачивать, как когда-то дрочил вёрстку и JS. В свободное время буду заниматься, сорт оф заочного обучения. Просто мне кажется, что знаний фреймворков и JS рано или поздно мне будет недостаточно.
>>994249 Если ты будешь работать в вебе, то тебе большего и не нужно. А когда найдешь работу то тогда и занимайся подобной хуйней. Учи по факту, а не тогда когда оно тебе ВОЗМОЖНО пригодится, дабы не проебать время впустую.
>>994275 Ну хуй знает, что там учить еще для работы? вебпак конфиг могу написать, могу хуячить на реакте + редаксе и первом ангуляре, второй ангуляр недолго изучить, ну макисмум неделю на доскональное изучение. Я уже работаю, хуй знает что еще учить для фронта, поэтому решил обмазаться более низким уровнем.
Чат, как называется такой эффект (js-плагин для этого подскажите, чтоль), когда ты скроллишь, какой-нибудь блок прокручивается по экрану и под ним меняется фон. Т.е. непосредственно момента изменения фона ты не видишь. Такой эффект реализован например вот здесь http://coffeebean.ru/
Прошел весь учебник на javascript.ru, порешал оттуда все задачи самостоятельно + >200 задач из бумажного учебника 98-го года по паскалю. Верстку знаю. Фреймворки отложил на потом, хочу сперва выдрочить все палиндромы и обходы деревьев ванильными средствами. Помогите выбрать бэкенд-язык для параллельного изучения. Так чтоб раз и навсегда. Приоритет - бабло и востребованность, илитность не важна. Выбираю между PHP, Python и C#. Нода за скобками, само собой. И еще: SQL или key-value?
>>994497 Потому что C++ и jvm-языки слишком сложны для быстрого вката формошлепа, сишарп просто говно ненужное, руби недопитон, пхп старое говно и один хуй медленное, го также не годится для вката, хуяк нормальные языки кончились.
>>993829 У тебя вообще невалидный код вроде, АДЖЕЙСН ЖИЭСИКС ЭЛЕМЕНТС МАСТ БИ ВРАППЕД ИН ЭН ЭНКЛОЗИН ТЕГС. А вообще отступы стилями делаются, а не пробелами, блджад.
>>994489>>994506 А чё не NodeJS? Присоединяюсь к вопросу выбора бекэнд-языка. Меня интересует наиболее безболезненное изучение этих ваших HTTP/Сокетов/сертефикатов и прочей непонятной сетевой хуйни, которую непонятно с какого бока изучать. В принципе язык я потом могу и сменить, мне именно веб-опердени нужно как-то освоить.
Есть ли на ютабчике какой-нибудь видеоурок (русскоязычный) по Set,Map, WeakSet, WeakMap ? Прочитал статью у Кантора и хотел бы закрепить видеоматериалом, но не нашел подобного. Обычно по ES6 на CodeDojo смотрел, но там про это к сожалению нет ролика.
>>994539 Есть хорошая литература по Ruby on Rails, но вакансий на нём крайне мало. По остальным языкам — литературы толком нет и вакансии в основном от ЗАО «Рога и Копыта», т.е. работа в подвале, где в вентиляцiи крыска здохла. Икарочи, либо пидарасом у клоунов, либо клоуном среди пидарасов.
>>994542 Что тебе нужно закреплять в наибанальнейших классах с 1.5 методами? Стандарты иди почитай, блять. Или реализуй проверку является ли Map валидным математическием отображением из Set в Set и если да - определить является ли это отображение инъективным/сюръективным/биективным.
>>994539 Ну такое мнение бытует, что нода не для сайтов. Особенно типа "админка биллинговой системы". На том же php фреймворки именно для таких вещей заточены, как CMS почти - развернул и верстай вьюхи. В ноде наверняка есть какие-то похожие модули, но не настолько веками вылизанные как yii или типа того.
>>994552 >Что тебе нужно закреплять в наибанальнейших классах с 1.5 методами? >Стандарты иди почитай, блять.
https://learn.javascript.ru/set-map - ну я конечно понимаю что тема небольшая, но мне как полному нубу сложно запоминать эту инфу, тем более я не совсем понял что из себя представляют эти "коллекции" и как они устроенны внутри себя.
>Или реализуй проверку является ли Map валидным математическием отображением из Set в Set и если да - определить является ли это отображение инъективным/сюръективным/биективным.
Здравствуйте, ребята. Давно к вам не заходил. В последний раз был здесь, когда тред смыло автопостером. Очень тогда расстроился инбифо всем похуй. Так вот, решил приложение запилить, простенький прокси тестер. В идеале хотел бы на электроне все сделать.
На ноде логику приложения сделал уже, консольный вариант работает. Но решил впервые запилить UI на каноничной связке React-Redux-Immutable. И вроде бы поперло, но потом постигла легкая фрустрация. Понял, как я лажанулся, потому что не читал Абрамова внимательно с самого начала. Лирику отброшу в сторону и озвучу суть своей трудовой импотенции: - во-первых, я сразу решил использовать компоненты без внутреннего стейта зря. Потом прочитал Абрамова, где он говорил, что в большинстве случаев делать так не стоит. И вот, собственно, вопрос к анону - вы тоже храните состояние UI компонентов во внешнем сторе? Ну, там, опции, положение тогглов и прочую атрибутику... - во-вторых я так и не нашел убедительной конвенции именования редьюсеров. Опять, совершая ту же ошибку, что и прежде - т.е. не читая внимательно документацию, перешел сразу к разработке. Редьюсеры именовал как попало, те, что относились к UI, называл как компоненты. Потом прочитал и узнал, что это 'бэд практикл'. Опосля реорганизовал свои редьюсеры как "appStateReducer.js" (состояние приложения - "в работе", журнал активности приложения и пр.), "domainStateREducer.js" (данные "по существу", в моем случае - айпишники проксей, результаты тестирования) и "uiStateReducer.js" (собственно, визуальное состояние всех компонентов). Стало лучше, но осадочек остался. Вроде и понял уже, что UI лучше бы хранить во внутреннем стейте, чтобы не городить цикл ебалистики из "Action -> Reducer -> Effect" на каждый плевок типа открытия модалок.
Я не понимаю, как работает вот эта рекурсия. Почему в месте с "return x * pow(x, n - 1);" не выдаст ошибку? Это все равно что сказать "масло масляное". Ведь pow(x, n - 1) сама в сво очередь должна что-то вернуть, но мы об этом нигде не говорим.
>>994618 Я даже подумать боюсь, какое представление о последовательности выполнения программы у тебя сложилось. Выполнение инструкций идет в том порядке, в котором они записаны, и только так. Когда встречается вызов функции - происходит переход внутрь нее и внешний код не продолжает выполняться, пока из функции не будет совершен выход, либо явным return-ом, либо тупо по достижению конца. В твоем случае: pow(n, x) вызывает pow(n, x-1), которая вызывает pow(x, n-2) и т.д., пока первый аргумент вызванной функции не станет равным 1. Потом все эти вложенные вызовы развернутся обратно, т.е. pow(x, 1) вернет x, pow(x, 2) = x * pow(x, 1) вернет x^2 и т.д.
>>994618 >Ведь pow(x, n - 1) сама в сво очередь должна что-то вернуть, но мы об этом нигде не говорим. Все функции что-то возвращают. Неявно - undefined. Здесь явно - либо функцию с ее последующим вызовом (себя = рекурсия), либо число.
>>994614 Продолжу свой опус. Знаю, что сделал по-ебанутому, но прослойку между UI и логикой работы приложения решил организовать на сокетах, несмотря на точ, что таргетом будет выступать все-таки Электрон и нужно было бы, по-хорошему, делать общение на ipc. Ну да похуй, так привычнее и отлаживать удобнее до упаковки в Электрон. Триггер экшонов делал через Redux-Logic. Как вообще разработчики, прибегающие к применению Редакса, мирятся с адовым низкой скоростью разработки? Ведь "цикл ебалистики", состоящий из описания констант и создания экшонов, описания редьюсеров пиздец как снижает производительность программизда.
>>994542 Напиши функцию гитлер, которая принимает два массива с любым говном внутри и возвращает конкатенированную строку из отсортированных уникальных строк из этих двух массивов. Работает так: ==== let abu = ['Tvoya', 1, 3, 56, 23, 677, 'mamka', null, {}, 'mamka']; let makaka = ['shluxa', 'Tvoya', 78.456, 1, 5, 7, undefined, new Date(), 'shluxa']; hitler(abu,makaka); // 'Tvoya mamka shluxa'; function hitler(arr1,arr2) { } ===
Стоит ли использовать node.js для сервера мморпг? какие подводные? Я понимаю, что го или шарп возможно были бы лучшим решением, но нас в команде двое, и второй человек знает только js.
>>994634 Для прототипа вообще всегда лучше использовать то, что ты уже знаешь. Так что нахуй и го и шарп, тем более, что они ничем не лучше ноды для твоей задачи.
>>994635 Я где то вычитал, что нода не способна поддерживать даже средний онлайн(для 50 человек уже нужно выделять три процесса), плюс там какая то ебола с компенсацией лагов, мол пакеты накапливаются во время фриза, а потом просчитываются не правильно.
>>994663 >думаю юзать RTP Нахуя? Когда не критично - берут tcp. udp производительнее, но работа в ноде udp нода мягко говоря как говно, смысл асинхронщины идет по пизде, да и тебе такой уровень не нужен, если только не плаируешь онлайн в количество игроков, большее тысячи.
Анон, работаю на проекте с Ангуляром 1.х с классической антипаттерн-архитектурой. Есть в одном месте жирный модуль с контроллером на 1к строк, в котором делается всё. Что могу, распихиваю по директивам. Что дальше с ними делать? Выделить директивы в отдельные файлы? Контроллер и директивы привязаны к общему модули, тк должны обмениваться данными.
>>994632 http://jsbin.com/qemuyigabu/edit?js,console Ну вот вроде сделал, только .join по какой-то причине не работает. А по какой именно хуй знает как я должен догадаться. Поэтому и просил видео всякие чтобы понять что такое эта коллекция Set, Map и тд.
>>994722 >просил видео >чтобы понять что такое эта коллекция Set, Map Блять, пиздец, дабл фейспалм. Гугли Структуры и алгоритмы от Вирта. Это маст хэв книга каждому, в том числе веб макакам в том числе, потому что redux и прочая ебала пилится по идеям, заложенным именно Виртом.
>>994722 >не работает Значит не сделал. В статье этого чувака есть все необходимое. join не работает по очевидной причине - это метод массива, а ты его хочешь вызываешь у new Set, который такого метода не имеет.
>>994726 Но если автор объясняет что это коллекция и туда даже аргументы передаются как в массивы, то почему внезапно .join не работает... Как вообще обратиться к этим данным если они в каком-то свойстве [[Entries]]? Только перебором и записью в новый массив?
>>994729 Неправильно, так как не отсеиваются не-строки, нет сортировки. Должно получиться >'Tvoya mamka shluxa' а у тебя >"Tvoya 1 3 56 23 677 mamka [object Object] shluxa 78.456 5 7 Mon May 22 2017 15:00:05 GMT+0300 (RTZ 2 (зима))" И сделать можно все в одну строчку. Но можешь считать что применил Сет на живом юзкейсе.
Суть программа для нахождения наименьшего делителя числа, работает просто прибавляет к делителю 1 и смотрит если делит без остатка то все ок и возвращает делитель Но блять эта хуета не работает в 9 строчке возвращает undefined ЧЯДНТ
короч есть один компонент, у меня он назван HomeWindow, в нем рендерится растиражированный дочерний компонент реюзабельность, все дела Pane. Дочерний компонент Pane требуется рендерить в разных вариациях, т.е. с незначительными различиями, типа лейблов, тайтлов и т.д. При этом компонент обладает определенной интерактивностью (может вызывать по нажатию на кнопку попап, например), и поведение может отличаться от определенных условий.
Сейчас все работает, но чувствую, что реализовано говняно: - все компоненты без своего стейта, соответственно весь интерактив достигается за счет коннекта редаксового стора; - при рендеринге родительского компонента HomeWindow запускается мап "populatePanes" по массиву с конфигами для отрисовки Pane (пикрил). Вроде все старался делать канонично, и такая лажа получается.
Как грамотно организовать создание таких вот компонентов, когда требуется отрисовка большого количества однотипных данных, но отличающихся нюансами вроде обозначений, триггеров и т.п.?
>>994724 >потому что redux и прочая ебала пилится по идеям, заложенным именно Виртом. Хех, а я думал от лени и не способности разобраться в моделях из MVC. Ну ладно.
Анон, выручай.Есть код который с помощью PhantomJS делает скриншоты страницы, на indiegogo.com категорически отказывается работать,без кастом хидера выдает пустой скриншот, с кастомхидером . var page = new WebPage()
page.customHeaders = { "upgrade-Insecure-Requst": "1", "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8", "accept-Encoding": "gzip, deflate, sdch, br", "accept-Language": "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4", "user-agent": "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25", };
var fs = require('fs'); page.onError = function (msg, trace) { console.log(msg); trace.forEach(function(item) { console.log(' ', item.file, ':', item.line); }); };
page.open("https://www.indiegogo.com/", function() { page.evaluate(function() { }); }); Может быть ему надо куки скормить еще? На других сайтах такого не замечено.
>>995236 я не так давно вкатился и сижу задания по учебнику выполняю, там просили через цикл for, я и хочу через цикл for реализовать. Если я как-то иначе решу - то проблема невозможности создания через цикл for, как и понимания того, как оно работает - останется. В общем не вариант.
Пхп макака в треде, умею в бекенд, но ни разу не касался фронтенда точнее касался и это выглядело как желтая страница с одной кнопкой. А теперь вот пилю свой маленький проект. У вас тут случайно нет кнопки СДЕЛАТЬ ПИЗДАТО?
Поскольку отдельного хтмл треда я не нашел, то спрошу тут. Как в бутстрапе сделать небольшой по высоте список, который можно скроллить и в котором будет крутится большое количество элементов? Да так, чтобы можно было выбрать один элемент.
>>995459 Чем ты недоволен-то? Все правильно, разбираться нужно самостоятельно, а не ждать разжеванных ответов от анонов. У всех у некоторых работа, сидеть тут круглосуточно, чтобы отвечать на ньюфаговопросы никто не будет.
Нужно отправить get запрос к api, но я должен быть авторизован. Как авторизоваться? Через cURL перед запросом просто писал связку логин пароль, а тут не понятно. Делаю не в браузере, а на ноде.
Есть класненький проект, у которого все плохо с фронтом. Я очень вдохновлён его апгрейдом, но как бля объяснить команде, что использовать реакт без релаксацию, тайпскрипт и инлайн цсс(хоть и используя styled components и подобное) - это ебаное вафлерство (в команде сплошные шарписты, жс пишут на классах и дженериках, пиздец)
>>996226 а вот попробуй расскажи это шарпистам, у которых, как я понял, фронтендера не было несколько лет, и они хуячили инлайн хтмл/жс/цсс, а потом ещё и копипастили из одного контроллера в другой. Сука, там бля на рендер одной страницы около 500 if'ов
>>996422 Настолько, чтобы выход новой штуки ты воспринимал как некий подарок, который с нетерпением хочется раскрыть и поиграть, а не как тяжелое бремя. Такой ответ устроит?
>>996407 >>996431 >>996422 Не парься, анон. Значительная часть всех этих страшных слов - просто вспомогательные технологии, к самому программированию имеющие опосредованное отношение. Я за пару дней разобрался и настроил вебпак с бабелем для уже существующего проекта.
>>996079 >OAuth Это сервис должен быть написан с учетом поддержки OAuth? Там авторизация происходит через веб форму. Кажется мне что не получится и нужен другой вариант.
Как быстрее всего проверить, что один массив содержит все элементы другого массива? Сейчас использую лодашевский differеnce, но что-то очень медленно все. Мимочайник
Есть ли смысл учить ноду, не зная реакт? Я хочу ее, а потом вью.жс, например. Но по вью вакансий нет, так что для работы только нода получается? уже знаю jQuery, дефолтные htmlcssless, пыху на уровне написания микрофреймворка, знания ларвеля и т.д, короче хороший средний уровень.
Антуан, где искать удаленку не-фриланс? Надоело уже быть самому себе менеджером на апворке, хочу лениво сидеть за пекой 8 часов и писать код, имея четкую задачу, а не искать несколько дней-недель клиента а потом клешнями из него вытаскивать тех. задание.
>>997127 >Есть ли смысл учить ноду, не зная реакт Есть, если хочешь быть бэкендером. REST api будешь пилить без привязки к конкретному фреймворку на фронте.
То есть та же тема, как с пыхой получается? Типа, адекватно могу работать бекэндером и свои высеры одевать в простую вёрстку? Просто пробежал глазами по вакансиям, и везде этот реакт появился уже, такое чувство, что нельзя лампово разрабатывать бэк шлёпать круды на отстань с кофеечком в одной руке, а надо ещё быть фуллстак гением, который сам тебе разработает дизайн, чтоб тимлид мог бабло, выделенное на дизайнеров/фронтеров направить к себе в карман. Может, выгоднее просто начать учить реакт, css, вот это вот все и стать фронтером?
>>997183 Да, та же тема, но даже без верстки, просто отдавать данные через api. Ну, это если у тебя в команде будет бэкендер. Если нет, то можешь присмотреться к бесплатным html шаблонам, они уже для всего есть, и для дешборд и т.д. и т.п.
Проясните за этот ваш реакт, а то я с зоны откинулся недавно, 8 лет отмотал за цепе, и вот решил обновить стек, зырю быдлоуроки на ютубе и вижу какую-то сильно замудреную хуйню которая делается в ваниле чем-то типа var div = d0cument.crеatеElеment('div'); b0dy.appуndChild('div'); У нас в 2007-м за смешивание хтмл и жс без лишней надобности по ебалу кочергой давали, притом что из реальных задач когда это нужно на ум приходит только кликанье на кнопку "смотреть еще", подтягивание аяксом ЖСОНА с товарными карточками резиновых дилдаков, парс, оборачивание в хтмл и добавление на страницу. Что кроме этой ебатни которую и в ваниле не западло сделать умеет этот реакт?
>>997201 Я сам только React изучаю, но допустим перед тобой стоит задача реализовать такие компоненты: - Попап, с кнопками OK и Cancel, сам попап драггабельный, в теле попапа может находится что угодно. - range слайдер (горизонтальный бегунок) с валидацией - input с валидацией - Colorpicker
Важно, чтобы компоненты можно было легко комбинировать. Нужны такие комбинации: 1) Попап, внутри rangeSlider и input с валидацией 2) Попап внутри которого только input с валидацией 3) Попап с colorPicker'ом и rangeSlider'ом В будущем будут появляться новые компоненты, которые нужно вкладывать в попап. Поэтому логично разделять ответственности и делать компоненты по максимуму независимыми и реюзабельными, а не копипастить портянки с ручной манипуляцией DOMа.
С помощью React и JSX комбинировать компоненты произвольным образом очень легко: <PopUp display={false} onOk={(value) => console.log(value) } ... > <RangeSlider min={0} max={255} step={1} ... /> <Input ... > </PopUp>
Попробуй на чистом JS реализовать такую гибкость. Я пытался, вышло не гибко + много рутинного кода. Как раз таки React очень близок к JS, в отличии от того же ангуляра 2 (4, 6?) с его абстрактными фабриками прокси билдеров.
https://learn.javascript.ru/generator#плоский-асинхронный-код - кто нибудь может мне объяснить что происходит в этой главе и нахуя это вообще надо? То Кантор в теме про промисах говорил что они позволяют делать асинхронный код, то в теме про генераторы опять, только чем это всё отличается и нахуя надо?
>>997269 и ещё. Я не пойму что это за второй аргумент в функции execute(generator, yieldValue) ? Он ведь undefined, мы ведь передаём функции всего 1 параметр - функцию генератор (точнее возвращаемый ею объект).
let blah = yield smth как я понял, yieldValue, это то, что вернет yield.
смотри await в новом js. если фу-я помечена как async, то можно будет: let x = await fetch(url1) let y = await fetch(url2) doSmth(x, y) как бы ждет, пока fetch выполнится. подумай как по другому это сделать и станет ясно зачем нужен await. т.е. let x, y fetch(url1) .then((result) => x = result) .then(() => fetch(url2)) .then((result) => y = result) .then(() => doSmth(x, y)) с await чище выглядит.
>>997299 Нихуя не понял, но ладно. Что такое fetch я даже не знаю, но автор почему-то его использует. Хотя до этого такой функции (или метода) не было в уроках.
>>997309 А, и вы обычной студии ещё если в конце блока ставишь точку с запятой, то она сама форматирует весь блок, нет ли в VS code похожей настройки/плагина?
>>997378 Ставил и сразу стирал, так код сам форматируется. >>997377 На шарпах там и пишу, но для жса это слишком огромная хуйня, поэтому перекатился на code
Народ подскажите, тодолист, змейку, слайдер никогда не писал. Так сказать, я еще новичок в языке. Решил тут побаловаться с помощью кнопок по переключать картинки, но не знаю, как сделать, чтобы переключалось не 2 картинки, а много? Знаю, что через массив надо такое делать, но не знаю, как это реализовать. Через цикл?
Делаешь переменную-счётчик, при клике на следующую картинку увеличиваешь на 1, при клике на предыдущую уменьшаешь. Ну и также потребуется проверка, если счётчик стал равен -1, делаешь его равным длине массива, если счётчик равен длине массива, делаешь его равным нулю. Псевдокод:
// для кнопки next counter++; if (counter == images.length) counter = 0;
// для кнопки back counter--; if (counter == -1) counter = images.length - 1;
>>997476 Слишком грязно. Ему бы на стримах все сделать, тем более он уже в этом ключе начал думать, судя по коду. Поэтому, можно заюзать чисто xstream подписавшись на клик-ивенты, можно целиком ДОМ отрисовать на CycleJS.
>>997540 Что это? Очередная мегаважная супермолодежная находящаяся на острие фронтенда технология, которую нужно знать всем бородатым модникам в узких штанишках?
Ребята, в JS есть такой паттерн как делегирование, когда мы вешаем один слушатель на элемент-родитель, вместо того, чтобы создавать кучу слушателей на каждого ребёнка: https://learn.javascript.ru/event-delegation
>>997604 Вот смотри, у нас здесь слушателей много, они тебе код писать мешают, слушатели. А вот давай я здесь проделегирую, а слушатели-то все на родителя повесятся, и мы их детям-то проделегируем. И тебе тогда писать.. оооой, писать хорошо будет. Куда им еще события-то отправлять, ихние листенеры-то только здесь. Ну что, делегировать?
>>994291 Не слушай того антона. ВУЗовские знания тебе по факту не нужны, но они очень хорошо развивают интуицию. Это как с русским языком, ты его учишь в школе, а потом забываешь к хуям все правила, но пишешь все равно правильно.
Сап, сосоны. Вкратце, долгое время хочу перекатиться на ЖС (фуллстак или фронт, или даже бек, хуй знает, нравится сам язык). Хули мне надо? Помощь от опытного анона в виде ТЗ или задачек, которые помогут отточить практическое применение Реакта\Ноды и всех плагинов\модулей, которые пригодятся при последующей грёбле на галере в качестве ЖС макаки. Формат, который мне больше всего подходит в обучении - "проблема + что поможет в её решении" (как в задачках FreeCodeCamp) Например: Пилишь X, в местах X и Y используешь A и B, обращая внимание на C. Искал в интернетах что-то подобное но не нашёл, в книгах слишком простые хеллоу-ворлд задачки. Даже купил хвалёную книгу по фуллстак реакту, везде ебаный подход как на картинке "рисуем сову" блядь. Т.е. "повторяй за мной" и в конце ты нихуя не понял, что написал. Не хватает именно правильно поставленных проблем, решение и документацию я сам наверну и разберусь. Халп, анон, на тебя последняя надежда!
Привет. Есть желающие за деньги поучить жс/фронту? Мне нужно подтянуть знания до миддла, хочу в процессе обучения разобраться с ес6, реактом, вебпаком ну и основами жс, ооп и т.п. По цене и формату предлагайте сюда - [email protected]
>>998061 Палю годноту - кусок проекта из своего опыта. Я на этот кусок угрохал полтора месяца, будучи еще молодым шутливым. Если осилишь - можешь смело нести показывать это говно на собес на позицию джуна-фронтендщика. Если что-то непонятно по ТЗ - спрашивай, дополню.
Есть набор абстрактных блоков, репрезентующих какие-то объекты из предметной области. У каждого блока есть следующие параметры:
- название - роль: основной / дополнительный
У основных блоков также есть: - тип: маленький / большой - точки прикрепления
У маленьких блоков также есть: - направляемость: направляемый / нет
Точки прикрепления у маленьких блоков (в формате [внутриИлиВнизу, по горизонтали, по вертикали]):
- внутри центр верх - внутри центр центр - внутри центр низ - внутри слева центр - внутри справа центр - снаружи слева центр - снаружи справа центр
Точки прикрепления у больших блоков:
- внутри центр верх - внутри центр середина-верхней-половины - внутри центр верхняя-сторона-середины - внутри центр нижняя-сторона-середины - внутри центр середина-нижней-половины - внутри центр низ - внутри слева середина-верхней-половины - внутри слева середина - внутри слева середина-нижней-половины - внутри справа середина-верхней-половины - внутри справа середина - внутри справа середина-нижней-половины - снаружи слева середина-верхней-половины - снаружи слева середина - снаружи слева середина-нижней-половины - снаружи справа середина-верхней-половины - снаружи справа середина - снаружи справа середина-нижней-половины
У дополнительных блоков также есть: - ориентабельность: ориентабельный / нет
Дополнительные блоки могут крепиться только к основным и только в точках прикрепления. В зависимости от точки прикрепления у одного и того же дополнительного блока может быть разная ориентация: none, left, right, up, down. Ориентация - то, куда "смотрит" дополнительный блок после прикрепления, а смотрит он от стенки или линии, к которой прикреплен. Ну и none, если точка точно в центре.
Для всех блоков есть картинки, именованные следующим образом: - если блок направляемый, то ${название}-${направление}.png (направление либо l2r, либо r2l) - если блок ориентабельный, то ${название}-${ориентация}.png (ориентация может быть none, left, right, up, down) - в противном случае просто ${направление}.png
Необходимо запилить редактор блок-схемы, составляемой из этих блоков. Схема состоит из двух вертикальных уровней: верхнего и нижнего. У каждого уровня есть направление (слева-направо или справа-налево), которое можно менять (сделай стрелку там или что-то такое, и чтобы по клику направление менялось). Маленькие блоки могут находиться на одном из уровней. Если блок большой, то он занимает оба уровня сразу. Если блок направляемый, то у него есть направление, совпадающее с направлением того уровня, на котором он находится.
Каждый абстрактный блок может быть использован сколько угодно раз. Должна быть палитра, из которой можно мышкой перетаскивать на схему блоки. Внутри самой схемы блоки так же можно менять местами мышкой. При сбрасывании блока со схемы за ее пределы он должен быть удален со схемы. При вылезании блоков за пределы схемы они должны ужиматься так, чтобы влезать в схему.
Аноны, мне в шараге дали задание сделать типа видеоигры, той где при выпадении 3 шариков/кубов одинакового цвета они уничтожаются. Я делал на паре так, чтобы при движении мышью на одноцветном фоне он превращался в разноцветные кубики/шарики с помощью onclick/onmouse/прочих on'ов (out, up, и т.д.). "Уничтожить" эти 3 шарика/кубика легко, с помощью display:none, но как блять сделать так, чтобы программа поняла, что когда 3 шара/куба одинакового цвета стоят в ряд по горизонтали/вертикали, то они уничтожаются? Через if или как? Я просто ещё совсем нуб ебаный.
>>998093 Почему вы такие тупые и чему вас таких там могут научить? Используй класс, соответствующий цвету. И потом в массиве кубов проверяй каждый на наличие одинакового класса.
>Эйх больше всего известен своей работой в Netscape и Mozilla. Он начал работу в Netscape в апреле 1995 года, где разработал язык программирования, изначально называвшийся «Mocha» Проиграл. Хорошо, что я не джсоблядок.
>>989352 Некоторые тоже поначалу проигрывали, с того, что их гугл киданул на предмет хайпнутой первой версии ангуляра. Так сильно проигрывали, что их офисы до сих пор стоят расплавленные от жара их пердаков.
Ящитаю, что путь ангуляра в серьёзную разработку отныне закрыт. Сегодняшний энтерпрайз высоко ценит поддержку старых проектов, при условии их создания корпой. А гуглопидоры просто подтёрлись своим же фреймворком и тут же высрали новый (sic!) надеясь, что быдло схавает это во второй раз.
http://jsbin.com/kexuciqatu/edit?js,console - объясните плз нубу почему выводится "Вася"? Ведь вроде переменная должна браться из ближайшей области, разве нет? Чет я запутался совсем.
>>998684 Это сложная тема. Объект переменных и ссылка на внешний ОП(или их цепочку) создается в момент ОБЪЯВЛЕНИЯ функции, а не вызова. Интерпретатор читает текст скрипта, видит объявление функции и немедленно создает для него lexical environment и присваивает [[scope]] 1 var name = "Вася"; 2 function sayHi() { alert(name); } // уже в этот момент внутри происходит что-то вроде // function sayHi() { // var lexicalEnvironment = {}; // var [[scope]] = window; // alert(name); } Независимо от того где когда и как потом функция будет вызвана, скоуп у него уже указывает на шиндош, где нейм = вася
>>998746 > А постигшие дзен даже так: !~arr.indеxОf("text") && arr.push("text");
Так пишут только выскочки, не имеющие опыта командной работы в ответственных проектах, где простота и читаемость ценится гораздо выше лаконичности. Array.prototype.includes придумали не просто так.
>>998773 В этом случае. Функция ОБЪЯВЛЕНА внутри другой функции (hitler) и именно в момент ОБЪЯВЛЕНИЯ в ее внутреннее свойство [[scope]] записывается где она была объявлена и ,соответственно, где в случае чего продолжать поиск переменной. >>998781 Ты путаешь академические знания и прикладные и если ты способен разобраться что вернет !~arr.indеxОf() или 2 && 5 то ты нуб.
>>998782 Проблема твоего примера в фразе "постигшие дзен", из-за которой новички могут подумать, что мудрёный, но лаконичный код высоко ценится. Я же написал, что в реальном мире ценится простой и понятный код, ведь человеку проще думать абстракциями (массив не содержит элемент), а не деталями реализации (индекс элемента, к которому применили побитовое НЕ, и взяли обратное значение). Ну и в твоём примере оператор && можно заменить на || что позволит избавиться от нечитабельной конструкции !~
>>998806 Я как раз тот кто кинул новичку первый вариант, с if... !includes ..push. Прост люблю фрик-код. Лааадно, дети, не пишите так >>998746 в реальных проектах, это не настоящий сварщик дзен.
>>988024 (OP) Сап, аноны. Хочу восполнить пробелы в JavaScript и Angular1, что почитать/посмотреть? Если конкретно, то у меня проблемы с промисами, асинхронными/синхронными функциями и подобными вещами. Только на русском плиз.
вазап нигаз, тут это косяк такой https://jsfiddle.net/urrjxk73/ если клинкуть как можно правее и вести влево, то чем дальше отводишь, тем быстрее скролит, не могу понять почему и как исправить
Последняя надежда на вас, анонасы. Есть один курсач, который я с успехом залажал. Суть - объединение нескольких мессенджеров в одном. Реализована отправка-получение сообщений из контакта, с его API не возникло проблем, а как прикрутить еще пару сервисов не знаю. Прилага на JS. Оставлю мыло для связи, если кто-нибудь вызовется помочь, с меня сотни нефти
Нужен калькулятор на JS для лабы, есть мысли как сделать? Т.е. из строки "(2+5)^2" получить 49. Трудности с тем, как разбирать скобки и порядок выполнения операций. Гуглинг ничего не дал
Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.
Часто задаваемые вопросы:
https://github.com/xxxwww/js-thread/blob/master/Wiki/faq.md
Список материалов для изучения:
https://github.com/xxxwww/js-thread/blob/master/Wiki/learn.md
Список инструментов и направления JS-разработки:
https://github.com/xxxwww/js-thread/blob/master/Wiki/tools.md
Конфа /pr/ в Slack:
https://invite-me-to-2chpr.herokuapp.com/
JS-конфа в телеграме:
https://telegram.me/jsthread
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.