М.Двач / Программирование

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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

JavaScript #84 2 авг, 01:55 #1035855 В конец треда | Веб

37 Кб, 1052x1052

109 Кб, 1000x900

292 Кб, 1140x813

Ссылка на прошлый тред: >>1030264 (OP)

Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.

Часто задаваемые вопросы:
https://github.com/vladimir37/js-thread/blob/master/Wiki/faq.md

Список материалов для изучения:
https://github.com/vladimir37/js-thread/blob/master/Wiki/learn.md

Список инструментов и направления JS-разработки:
https://github.com/vladimir37/js-thread/blob/master/Wiki/tools.md

Конфа /pr/ в Slack:
https://slack-2chpr.herokuapp.com/

JS-конфа в телеграме:
https://telegram.me/jsthread

НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.

Ответы362143665237073379283793541368

63 Кб, 400x327

2 авг, 02:09 #2 #1035858

Поясните, плз, за TypeScript + gulp.

Thttps://pastebin.com/aV33Q6up

Ответы35866

2 авг, 02:47 #3 #1035866

>>1035858
В тайпскрипте нет рантайм проверки типа, только проверка при компиляции. Если при компиляции оказывается, что тип некорректен - то он падает с ошибкой. Если нет - то компилируется без проверки. Гугли "runtime type checking".

Ответы3586836783

2 авг, 02:49 #4 #1035868

>>1035866
>нет рантайм проверки типа
Спасибо; стоп, а нафиг оно нужно?
То есть, если при компиляции никакого инпута нет, он (инпут) будет от пользователя?

2 авг, 02:52 #5 #1035869

Думал я пойти на курсы по фронт енду.
Жа эс я немного знаю, но хотел выучиться как положено.
Записался в епам курсы https://www.training.ru/Registration/Registration/1567
Меня отшили сказав что "Уровень английского у вас не дотягивает до необходимого".
Проверяли мой английский, спросив меня про ёбаные хобби!
Что за хуйня, анон?
Стоят ли подобные курсы того или дома тоже нормально всё учится?

Ответы3587535918

2 авг, 04:26 #6 #1035875

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

Ответы3601936029

2 авг, 08:42 #7 #1035918

>>1035869
Курсы ЭПАМа нацелены на создание новых для них сотрудников после прохождения пары этапов берут на испытательный, поэтому и английский нужен официальный язык компании

мимо когда-то проходил и вёл подобные курсы

11 Кб, 548x248

2 авг, 10:52 #8 #1035978

Аноны, а как получить значение первого свойства объекта на пикриле??

точно нет:
obj.1
obj[1]
obj."1"

Ответы3598836000

2 авг, 11:03 #9 #1035986

А тред по Node JS есть? Чет не могу найти.

Ответы36020

2 авг, 11:06 #10 #1035988

>>1035978
obj["" + "1"]?

Ответы36000

2 авг, 11:24 #11 #1036000

>>1035978
Никак, он перезаписан.

>>1035988
Проиграл с ЖС магии. Попробуй еще так, может элемент все-таки найдется: obj[true+false+""]

Ответы36078

2 авг, 12:19 #12 #1036019

>>1035875
Ахуительная история

2 авг, 12:20 #13 #1036020

>>1035986
Это здесь

Ответы36107

2 авг, 12:35 #14 #1036029

>>1035875
есть у меня один чел в офисе, выучился недавно на ментора, теперь косит под коуча и всем на уши приседает своей теорией как мы все неправильно пишем - заебал реально. но коммитит при этом прямо в мастер. короче его советы мы в рот ебем

Ответы3604636101

2 авг, 13:10 #15 #1036046

>>1036029
>выучился недавно на ментора
Это как? Где такому учат и что именно там преподают?

>коммитит при этом прямо в мастер
Ему можно, он ведь ментор.

2 авг, 14:41 #16 #1036078

>>1036000
спасибо, сразу не догадался прогнать имена свойств на typeof.

2 авг, 15:18 #17 #1036101

>>1036029
> коммитит при этом прямо в мастер
Это что-то плохое?

2 авг, 15:27 #18 #1036107

>>1036020
Ну ок. Допустим есть readable stream, из которого идет вычитка данных
req.on('data', function (chunk) { data += chunk })
Что после обработки с чунком будет, в смысле не с данными а с куском памяти? Уйдет сборщику на освобождение? При этом стрим для следющей части данных память опять будет выделаться из кучи? Нет какого-либо решения например с колцевым буффером и приостановкой чтения при его заполнении, когда после обработки данных чунк возвращает в стрим. Ну или что-то подобного.

Ответы36113

2 авг, 15:39 #19 #1036113

>>1036107
> опять будет выделаться из кучи
Ты говоришь это так, как будто это что-то плохое. Если охуенно быстрый generational GC охуенно быстрого движка V8 тебя так волнует, хули ты кодишь свою парашу не на расте?

Ответы36143

2 авг, 16:22 #20 #1036138

webpack слишком умный.

function nodejsRandomBytes(size) {
.. const crypto = require('crypto')
.. return crypto.randomBytes(size)
}

webpack находит require('crypto') в теле фу-и. добавляет браузерный crypto polifyll. вот же говнюк.

2 авг, 16:30 #21 #1036142

К GC у меня претензий нет, на расте кодить нет возможности, ибо пораша большая старая и не моя. Я бы на C все переписал, но это ебанутся можно, пускай Node будет. Но у меня претензия к стриму. Если прокачивать гигабайты данных на приличной скорости, потребление памяти улетает в ебеня, плюс GC забирает большую часть времени CPU, которое должно уходить на обработку полученных данных. В итоге - гроб, кладбище. Нахуя это нужно, если можно все эти гигабайты протащить через кольцо небольших буферов, и при этом известно, что скорость поставки данных данных ниже скорости их обработки.

Ответы36143

2 авг, 16:31 #22 #1036143

>>1036113
->
>>1036142

2 авг, 17:11 #23 #1036164

Можно ли рассчитывать на зарплату выше 30к, если ты живешь в провинции и пишешь на JS?

Ответы361783633036343

2 авг, 17:25 #24 #1036178

>>1036164
Возьми да посмотри вакансии у себя в провинции.

2 авг, 17:50 #25 #1036195

Поясните за jest. Вот дёргаю я renderer.create component, оно мне попадает в конструктор. Там у меня state loaded сетается в false. И соответственно в снепшот попадает тот флоу.
А как мне дергать компонент что бы самому мокать его states?

Ответы36253

2 авг, 18:10 #26 #1036214

>>1035855 (OP)
Какие чулочки и платье брать? Как лучше брить тело?
мимо-миддл

Ответы36332

2 авг, 19:33 #27 #1036253

>>1036195
Отвяжи начальный стейт от компонента, импортируя его из внешнего файла как объект. Мокать будет проще некуда.

Ответы37050

2 авг, 21:55 #28 #1036330

>>1036164
У
Д
А
Л
Е
Н
К
А
на ней хоть 300000к

Ответы41983

2 авг, 21:56 #29 #1036332

>>1036214
У бабушки все забирай и у мамки, брейся как мамка, а то бабка даже усы не бреет уже.

101 Кб, 1200x1186

2 авг, 22:03 #30 #1036343

>>1036164

52 Кб, 359x325

2 авг, 23:18 #31 #1036423

https://habrahabr.ru/post/334760/

Ответы3655536626

3 авг, 07:34 #32 #1036555

>>1036423
>В чём причина популярности такого реально хренового языка как JavaScript?
Кто-нибудь пояснит почему все яваскрипт хуями кроют?
Он че блядь должен быть как кресты или че?

Ответы36561365633662837318

3 авг, 08:14 #33 #1036561

>>1036555
Лучше как D.

Ответы36628

3 авг, 08:24 #34 #1036563

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

3 авг, 09:12 #35 #1036591

Хочу сделать изоморфный проект на реакте. Какие базворды надо гуглить? react+redux+react router что еще?

Ответы365983663037793

3 авг, 09:30 #36 #1036598

>>1036591

Для простого проекта тебе этого хватит, ну можешь еще детальнее про JSX почитать.
Ну можешь про React Fiber почитать и сразу вкатиться.
Ну и react-bootstrap.github.io, если ничего особо хитровыебанного делать не надо можешь взять.
Если нужны будут юнит тесты - https://github.com/airbnb/enzyme

Ответы3660236648

3 авг, 09:40 #37 #1036602

>>1036598
>React Fiber
Насколько оно пригодно для прода?

Ответы36621

3 авг, 10:26 #38 #1036621

>>1036602
Хрен его знает, вот чуваки из Тинькофф заявляют, что его юзают https://youtu.be/dot5v3LUsq4 но по факту серверная часть в их банке без js в браузере не работает от слова вообще. Ну и сдаётся мне, что они пилят просто обёртку вокруг старого Java-приложения и сильно недоговаривают.

Ответы36624

3 авг, 10:29 #39 #1036624

>>1036621
Их банк клиент от версии к версии тормозит все больше. Заебали уже. Открываешь страницу, а она еще 15 секунды просирается. Пиздец.

3 авг, 10:31 #40 #1036626

>>1036423
Всё правильно автор расписал.

Ответы36629

3 авг, 10:32 #41 #1036627

esm vs commonjs и как это говно принятно намазывать на себя в рамках изоморфного приложения?

3 авг, 10:34 #42 #1036628

>>1036555
Низнаю, довены не умеют погромировать прост? Один раз прочитал good parts и ебашишь себе, ваще никаких проблем.

>>1036561
Товарищ Александреску, приходите, когда GC почините или выкинете на помойку уже.

3 авг, 10:36 #43 #1036629

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

Ответы36631

3 авг, 10:37 #44 #1036630

>>1036591
> изоморфный проект
Что, блять, простите? гомоморфный образ группы изоморфен фактор-группе

Ответы3663436637

512x512

3 авг, 10:37 #45 #1036631

>>1036629
Туши батхёрт, няша.

Ответы36633

3 авг, 10:39 #46 #1036633

>>1036631
/порашники протекают ту туда то сюда.
Или то они мне везде мерещатся.

Ответы37364

3 авг, 10:39 #47 #1036634

>>1036630
> Isomorphic JavaScript apps are JavaScript applications that can run both client-side and server-side.
The backend and frontend share the same code.
Ну типа хочу чтобы при первом заходи на /main нода выплевывала сразу html+js, а дальше тот же код уже в браузере все это говно шевелил.

3 авг, 10:43 #48 #1036637

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

Ответы3663836643

3 авг, 10:44 #49 #1036638

>>1036637
С хуя бы он устаревший?

Ответы3664136645

3 авг, 10:49 #50 #1036641

>>1036638
потому что так не далают, блядь.

Ответы36644

3 авг, 10:50 #51 #1036643

>>1036637
> изоморфны друг другу
Горю прост с этих хипстеров, они вообще знают что такое "изоморфность"?

3 авг, 10:51 #52 #1036644

>>1036641
Кто тебе сказал-то? В чем проблема, если у тебя есть кусок реакта отрендерить его в стринг со стороны ноды или в дом в браузере?

3 авг, 10:54 #53 #1036645

>>1036638
Потому что это баззворд для привлечения внимания, ничего за собой не имеющий? И что раньше им макаки сверкали в каждом втором бложике, а сейчас всем похуй?
Вообще совершенно ебанутое определение, кстати. Вот что значит, что бекенд изоморфен фронтенду? То что они написаны на одном языке и пользуются той же инфраструктурой или что? Очевидно что у бекенд-программы и фронтед-программы будут совершенно различные свойства и структура, какая впизду изоморфность?

Ответы3664936651

3 авг, 11:02 #54 #1036648

>>1036598
>ну можешь еще детальнее про JSX почитать.
Нахуя оно надо? Какую проблему оно решает?

3 авг, 11:09 #55 #1036649

>>1036645
По идее это должно было значить, что между бекенд-программой и фронтенд программой есть структурная эквивалентность и можно было бы выводить бекенд код из фронтенд кода или наоборот. Как, например, выводить программы из пруфов или наоборот. Но если в комп.сайнсе всякие изоморфизмы Карри - Ховарда ещё уместны, то для прикладного программирования всё это слишком абстрактно и размыто, нужны конкретные реализации и конкретные соответствия, а не просто некая размытая эквивалентность, которая может значить вообще хуй знает что.

Ответы36651

3 авг, 11:12 #56 #1036651

>>1036649
>>1036645
Вы какие-то ебанутые.
В чем проблема отрендерить реакт с ноды сразу в html, чтобы поисковик мог это говно проиндексировать?

Ответы3665336660

3 авг, 11:15 #57 #1036652

>>1035855 (OP)
Продумываю архитектуру хтмл тегов и цсс селекторов.

3 авг, 11:17 #58 #1036653

>>1036651
Потому что это охуенно медленно при большом количестве коннектов? Обычно рендерят на бекенде пару страниц, типа гостевой и ещё кое-что, то что до логина? А так, отредерить реакт можно на чём угодно, у чего есть интеграция с V8, хоть на похапе. И главный вопрос, причём тут изоморфность нахуй?

Ответы3665436655

3 авг, 11:21 #59 #1036654

>>1036653
Ну ты выдал. Пол интернета работает на пхп, который именно так и делает. С хуя бы это медленно?
isomorphic тут при том, что в мирке жс говно которое работает и в браузере и в ноде так называют.

Ответы36656

3 авг, 11:22 #60 #1036655

>>1036653
http://2ality.com/2015/08/isomorphic-javascript.html

3 авг, 11:24 #61 #1036656

>>1036654
> Пол интернета работает на пхп, который именно так и делает. С хуя бы это медленно?
Логика уровня "полстраны голосует за путина, с хуя ли бы это плохо".

Ответы3665736694

3 авг, 11:25 #62 #1036657

>>1036656
Может ты еще в демократию веришь?

Ответы36659

3 авг, 11:28 #63 #1036658

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

3 авг, 11:29 #64 #1036659

>>1036657
Блять, хуевый пример дал, щас сюда пол/по протечёт.

3 авг, 11:31 #65 #1036660

>>1036651
> поисковик мог это говно проиндексировать
Гугол, например, уже давно пытается жс исполнять. Пускай не расслабляется.

3 авг, 11:56 #66 #1036672

Котаны, пишу погромистский бложек на гитхаб ио, хочу заюзать http://codemirror.net/ чтобы посетитель уютного мог поиграться с примером кода и исполнить его. Все на жс, естественно. Как лучше сделать так, чтобы он случайно не распидорасил мне остальные примеры на странице и код страницы? Пока придумал только eval("'use strict'; function() {" + код пидораса из редактора + "}();")

Ответы36691

3 авг, 12:14 #67 #1036683

Какой брать фреймворк для бэкэнда? Надо сделать обычный крудошлеп, запрос принял, в базу положил и т.д.

Ответы36699

3 авг, 12:26 #68 #1036691

>>1036672
eval of strict mode code does not introduce new variables into the surrounding scope

А, ну и похуй, всё для людей сделали.

3 авг, 12:33 #69 #1036694

>>1036656
Весь этот html код сейчас за всю сессию юзера обычно весит как одна-две картинки на том же сайте, поэтому, передаёшь ты отрендеренный html или json для шаблонизации в браузере -- выигрыш в скорости иллюзорен, а вот сложность и надёжность во втором случае страдают

Ответы36696

3 авг, 12:37 #70 #1036696

>>1036694
Норкоман, ты вообще в курсе, какие виды нагрузки бывают?

Ответы36697

3 авг, 12:44 #71 #1036697

>>1036696
Конечно. Я про общий случай работы с теми же текстовыми шаблонами, это ИМХО несущественно даже для средних и больших проектов.

Если есть возможность перенести на клиент какой-то более сложный функционал на клиента -- ок, не спорю

Ответы36705

3 авг, 12:50 #72 #1036699

>>1036683
ноде експресс

3 авг, 12:51 #73 #1036701

ВСЕ ФРОНТЫ БРОСАЕМ РАБОТУ И ПИНАЕМ НОДЕРОВ ИЗОМОРФНО ВСЕ ЕБАШИТЬ.
ща всех в офисе переиграю

3 авг, 13:01 #74 #1036705

>>1036697
В 2017 общий случай это когда роутер у тебя на азике, а на цпу говноязык с гц, который прост охуевает от ТЕКСТОВЫХ ШАБЛОНОВ. Подумой, во что всё обычно упирается в 2017, а?

Ответы36723

3 авг, 13:31 #75 #1036718

Начал изучать TypeScript и появился вопрос - можно ли готовый проект постепенно переводить на тайпскрипт (т.е. когда часть файлов на обычном жс, а часть на тс) или нужно сразу целиком переделать проект на тайпскрипт, чтобы можно было его собрать?

Ответы3672436750

3 авг, 13:38 #76 #1036723

>>1036705
Как и всегда: в базу и эзернет.
Что не отменяет того факта, что это охуенный тупизм выполнять на сервере работу, которую можно переложить в браузер юзера (современный дефолтный копуктер вполне жЫрный чтоб этого особо не замечать + и все привыкли уже). Единственный аргумент - это индексация поисковиками и обычно, если это существенно, рендерят на беке только часть. В некоторых случаях это, конечно, неприемлемо, если у тебя там интернет-магаз, к примеру, но если у тебя приложение, где без авторизации делать нахуй - то и рендерить на сервере кроме логин пейджа нечего.

3 авг, 13:40 #77 #1036724

>>1036718
Переводил проект с жс на тс. С ключенным any и прочим все равно денек-два, в зависимости от размера проекта, поебешься пока оно сконпилится.

3 авг, 14:15 #78 #1036750

>>1036718
Ну смотря сколько ты сам будешь код переписывать, а собрать - за тебя сборщик соберет и работать будет.

3 авг, 14:33 #79 #1036764

1. Создал файлик test.js
2. Добавил const internalUtil = require('internal/util');
3. Выполнил node test.js
4. Получил Cannot find module 'internal/util'
Вопрос: почему?

Ответы36767

3 авг, 14:35 #80 #1036767

>>1036764
'./internal/util'

Ответы36785

3 авг, 14:58 #81 #1036781

Использовать тернарный оператор в качестве if - разве это нормально?
На codewars стабильно вижу return через ? :

Ответы36782

3 авг, 14:59 #82 #1036782

>>1036781
А для чего его еще использовать?

Ответы36803

3 авг, 15:00 #83 #1036783

>>1035866
Ну так всё-таки, типы значений, принимаемых от пользователя, TypeScript сам, значит, проверять не будет?

Ответы36787

3 авг, 15:00 #84 #1036785

>>1036767
Нет такого пути\модуля в моем локальном каталоге, это builе-in модуль смого nodejs - github.com/nodejs/node/tree/master/lib/internal

Ответы36798

3 авг, 15:01 #85 #1036787

>>1036783
Пользователь тебе всегда дает String. А дальше ты уже его кастишь/парсишь как тебе надо.

3 авг, 15:21 #86 #1036798

>>1036785
Пидорсы, так и написали что не дают эти модули исплоьзовать.

3 авг, 15:26 #87 #1036803

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

Ответы36806

3 авг, 15:28 #88 #1036806

>>1036803
И чем по твоему return принципиально отличается от присвоения переменной в данном случае?
Считай что ты "присваиваешь" в результат выполнения функции.

Ответы36828

3 авг, 15:52 #89 #1036828

>>1036806
а ведь правда, слушай, благодарю.
var test = function() {return (a > b) ? "s1" : "s2"}
если сократить, то выйдет
var test = (a > b) ? "s1" : "s2";

пиздец, щас бы на двощах саморазвиваться...

3 авг, 17:35 #90 #1037000

> const promiseMiddleware = store => next => action => {
За що вы так с нами.

Ответы3701937034

3 авг, 18:03 #91 #1037019

>>1037000
НА САХАР НАДО ДРОЧИТЬ, А НЕ РУГАТЬ.

Ответы37022

3 авг, 18:05 #92 #1037022

>>1037019
А кто его ругает?
Жду когда можно будет писать
> do
> shit <- liftAff $ random 0 13
> pure $ tasty shit

3 авг, 18:09 #93 #1037027

Кто мне блять пояснит за jsx
Нахуя оно нужно?

Ответы37035

3 авг, 18:22 #94 #1037034

>>1037000
Каррирование наркомана?

3 авг, 18:23 #95 #1037035

>>1037027
Проcто так. Кому-то так нравится больше.
Ты можешь то же самое на чистом жс писать.

Ответы37038

3 авг, 18:24 #96 #1037038

>>1037035
Почти все реактопидоры пользуются им. Неужели нет какой-то охуенной причины?

Ответы37041370423704637047

3 авг, 18:28 #97 #1037041

>>1037038
по-моему, половина вещей в JS сейчас проистекают от моды и рекламного шума

3 авг, 18:29 #98 #1037042

>>1037038
Ты совсем дегроид что ли? Возьми да попробуй, не понравится - хуярь на ванильке.

Ответы37044

3 авг, 18:32 #99 #1037044

>>1037042
> Это решает проблему X в условиях Y, при этом имея недостаток Z. Если у тебя есть проблема X и ты в условиях Y, а Z не проблема — попробуй.
> Ждать от дегроида адекватного ответа

3 авг, 18:33 #100 #1037046

>>1037038
Потому что это декларативно и охуенно. Пишешь <PizdaZalupa onClick={this.hui} /> и у тебя рендерится компонент Пиздазалупа, по клику на который срабатывает метод хуй. В чем проблема то?

Ответы37049

3 авг, 18:35 #101 #1037047

>>1037038
Какая тут может быть причина? Ты ведь понимаешь, что jsx преобразовывается в обычный js?

<div className="sidebar">
в
React.createElement(
'div',
{className: 'sidebar'},
null
)

Ответы37055

3 авг, 18:36 #102 #1037049

>>1037046
> PizdaZalupa({onclick: this.huy})
Нахуя еще один нескучный синтаксис? Чем он лучше обычного жса, что ради него нужно обмазываться бебелем и прочим говном?

Ответы3705137055

3 авг, 18:37 #103 #1037050

>>1036253
Окей, а если мне надо ререндерить на изменении этих начальных стейтов?
Сейчас это делает setState. А если это у меня будут не стейты компонента, а аттрибуты объекта, как мне ререндерить.
Завести какой-то фейковый Стейт для реренлеринга сугубо и его сетать после аплейта аттрибутов? Лол

3 авг, 18:37 #104 #1037051

>>1037049
В редакторе выглядит как HTML, вот и всё.

Ответы37054

3 авг, 18:38 #105 #1037054

>>1037051
Блять но нахуя? Шума визуального больше: все эти </ ={}>
В 61 хроме завозят нативные модули и можно ебашить вообще без бабеля. Нет хочу говном обмазываться.

Ответы3705837060

3 авг, 18:39 #106 #1037055

>>1037049
Ты тупой или толстый? Затем, что вместо одной няшной строки на "чистом жс" ты будешь писать вот такую >>1037047
залупень, только в случае со сложным компонентом это получится хуита строк на двести.
И что значит "обмазываться бабелем", одна строка в конфиге.

Ответы37061

3 авг, 18:41 #107 #1037058

>>1037054
и что ты "наебашишь" в продакшн? Заглушку "поставьте 61й хром"?

Олсо, помню времена, когда на сайте писали:
"Сайт работает в кодировке Win-1251", были даже сайты с несколькими версиями под разные, лол

Ответы37061

3 авг, 18:41 #108 #1037060

>>1037054
> можно ебашить
Ты хоть видел, как "ебашится" на нативных модулях? Как по мне, так даже сборка галпом удобней.

3 авг, 18:42 #109 #1037061

>>1037055
> div({className: "sidebar"}, [ span({}, "хуй") ])
Когда приложение работает нативно, хотсвап кода через хром-дебаг-протокол 10/10
>>1037058
Для прода ты один раз собираешь это говно в es3, но на этапе разработки тебе похуй.

Ответы37062

3 авг, 18:43 #110 #1037062

>>1037061
> Когда приложение работает нативно, хотсвап кода через хром-дебаг-протокол 10/10
Бросай курить спайсы.

Ответы37076

3 авг, 19:04 #111 #1037073

>>1035855 (OP)
ребята, кто нибудь писал на блазе?
почитал тут маленько, вроде для вката самый простой фреймворк, проще вуя и конечно реактов всяких.

3 авг, 19:08 #112 #1037076

>>1037062
Бляяяядь. Хром не умет модули патчить
https://chromium.googlesource.com/v8/v8/+/master/src/inspector/v8-debugger-agent-impl.cc#755

Ответы37080

3 авг, 19:11 #113 #1037080

>>1037076
Поясните, где лучше всего система модулей реализована? В реакте?

Ответы37082

3 авг, 19:15 #114 #1037082

>>1037080
Реакт это либа, для рендеринга.
Есть целый зоопарк модулей. По сути интересных есть только два: ESM, то есть нативные модули из спеки es6, которые уже работаю в 60 хроме (за флагом) и будут из коробки в 61. Второй тип это CommonJS, который используется нодой. Пока что нода нихуя не может сделать EMS. Подробней тут: https://hackernoon.com/node-js-tc-39-and-modules-a1118aecf95e

Ответы37083

3 авг, 19:16 #115 #1037083

>>1037082
Спасиб!

3 авг, 19:57 #116 #1037109

Решаю задачу
https://www.codewars.com/kata/the-rarest-pepe/train/javascript

Мое решение под спойлером (скорее всего движок изуродует отступы, но любой бьютифаер исправит ситуацию).
function findRarestPepe(pepes) {
var rarest = pepes.filter(function(pepe, i, arr) {
return (arr.indexOf(pepe) == arr.lastIndexOf(pepe));
});
return (rarest.length == 0) ? 'No rare pepes!' : (rarest.length > 1) ? rarest.sort() : rarest.join();
}

16+- тестов из 100 ругаются, что я возвращаю им 'No rare pepes', хотя по мнению теста должно возвращаться название или массив.

В итоге сделал вывод ВСЕХ элементов ебаного входящего массива в ситуации, когда мой скрипт должен вернуть 'No rare pepes', скопировал ебучий массив в word и нашел там трех Пепе с именем, которое уникально по-мнению результата теста.

Открытых баг-репортов у задачи нет, довольно 92% юзеров, ЧЯДНТ?

Ответы3717837181371983771641056

224 Кб, 1366x768

3 авг, 21:19 #117 #1037178

>>1037109
Ты что-то не то написал

>return (arr.indexOf(pepe) == arr.lastIndexOf(pepe));

Это вообще что? какой смысл брать только с одним вхождением?)

3 авг, 21:24 #118 #1037181

>>1037109
сорян, там спойлер( не смотри если че. Там тип что я решил.

3 авг, 21:43 #119 #1037198

>>1037109
http://paste.org.ru/?38uzeu
Держи. Все 103 теста прошли с 1 раза. Хз в чем твоя проблема.

Ответы37222

3 авг, 21:46 #120 #1037204

На странице 81 кнопка. Получил массив ссылок на эти кнопки через document.getElementsByTagName. Хочу для каждой из кнопки написать событие посредством цикла:

var buttons = document.getElementsByTagName('button');
for (var i = 0; i < buttons.length; i++)
{
buttons.onclick = function()
{
buttons.style.backgroundColor = 'black';
}
}

Почему это не работает? И должно ли вообще?

Ответы37208372093721037214

3 авг, 21:47 #121 #1037208

>>1037204
for (var i = 0; i < buttons.length; i++)
{
buttons.onclick = function()
{
buttons.style.backgroundColor = 'black';
}

Ответы37210

3 авг, 21:47 #122 #1037209

>>1037204
>Получил массив
Не пизди. Ты не получил массив.

Ответы37212

3 авг, 21:48 #123 #1037210

>>1037204
>>1037208
Ты не задумывался о том что ты не юзаешь счетчик цикла в теле?
> buttons.onclick = function() { this.stlye...

Ответы37215

3 авг, 21:49 #124 #1037212

>>1037209
https://ideone.com/bEujRt
Если ты про . (Двач подумал что я италик хочу сделать наверное)

Ответы37217

3 авг, 21:49 #125 #1037214

>>1037204
>массив ссылок на эти кнопки через document.getElementsByTagName
Это не массив. RTFM.

3 авг, 21:50 #126 #1037215

>>1037210
Кекус, это двощи жрут разметку?
> buttons [ i ]
Короче у тебя там походу стандартная ошибка с циклом в жс. Поменяй var на let

Ответы37216

3 авг, 21:51 #127 #1037216

>>1037215
Заработало. А почему такая ошибка возникает?

Ответы37233

3 авг, 21:51 #128 #1037217

>>1037212
Нет, я про то, что ты НЕ ПОЛУЧАЛ НИКАКОГО МАССИВА. Ты пытаешься работать с НЕ МАССИВОМ, думая что это у тебя массив. Иди читай документацию.

Ответы37224

3 авг, 21:52 #129 #1037222

>>1037198
Вот еще сортировку лишнюю выпилил. Какая же ебучая стандартная либа у жс.
http://paste.org.ru/?yt46df

Ответы37232

3 авг, 21:53 #130 #1037224

>>1037217
Хорошо, не помешало бы.

62 Кб, 653x498

3 авг, 22:01 #131 #1037232

>>1037222
Что-то ты излишне усложняешь все.

Ответы37419

3 авг, 22:01 #132 #1037233

>>1037216
Не слушай ебанутого про массивы. Это тут вообще не при чем.
Проблема в том var поднимается наверх функции. Например:
function() {
var arr = [1,2,3];
for (var i = 0; i < 3; i++) {
...
}
}
На самом деле надо читать как

function() {
var arr = [1,2,3];
var i = undefined
for (i = 0; i < 3; i++) {
...
}
}
Поэтому когда ты в теле цикла присваиваешь в
buttons = function() { buttons ... }
то значение i не разные на каждую созданную функцию, а одно глобальное.
Таким образом для всех созданных обработчиков значение i после выхода из цикла будет = 3
Обычно это решается либо через IIF, либо заменой var на let, либо просто не пользуются элементом в замыкании.

Ответы37272

2,5 Мб, webm, 1280x720, 0:21

3 авг, 22:08 #133 #1037244

Какой язык для бека учить?
Чтобы можно было работу найти и это было не умирающее говно вроде PHP.
Что за Ruby скажите?

Ответы372523726937284

3 авг, 22:13 #134 #1037252

>>1037244
дауны безуспешно пытаются хоронить PHP столько же, сколько он отжирает свои 80+ процентов всего веба

3 авг, 22:24 #135 #1037269

>>1037244
>Что за Ruby скажите?
Умершее говно
Учи джс, язык будущего на всех платформах

Ответы37288

3 авг, 22:25 #136 #1037272

>>1037233
>то значение i не разные на каждую созданную функцию, а одно глобальное

А как то, что эта переменная поднимается вверх функции (в моем случае она будет в Global Scope) мешает выполнится моей программе? https://ideone.com/Go22lv - это весь код который у меня есть. Не более. Let же в свою очередь просто заставляет переменную жить в пределах цикла, верно? Как то, что она живет вне цикла, мешает мне задать кнопкам евенты?

Ответы3727537295

3 авг, 22:28 #137 #1037275

>>1037272
Добавь в обработчик console.log(i) и поймешь.

3 авг, 22:38 #138 #1037284

>>1037244
Для бека есть node.js.

Ответы37288

1,1 Мб, webm, 1280x720, 0:07

3 авг, 22:41 #139 #1037288

>>1037269>>1037284
>Чтобы можно было работу найти
Что-то я сомневаюсь что ноду используют для бека.

Ответы37307

3 авг, 22:42 #140 #1037292

Я так понел, в ближайшее время половина всего веба будет на реакте, вторая - на ангуляре. Всё это будет работать на ноде, поставленной на нджинкс.

Красота же, верно?

Ответы37313

3 авг, 22:44 #141 #1037295

>>1037272
Это известный подводный камень в замыканиях, не только в жс.
Когда ты идешь по циклу, то у тебя разные функции замыкают одну и ту же переменную i, которая меняется по ходу цикла, то есть у тебя под конец десяток функций с одинаковым i.
C let у тебя на каждой итерации создается новая переменная, поэтому каждая функция будет замыкать разные i.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let#Cleaner_code_in_inner_functions

Ответы37317

3 авг, 22:51 #142 #1037307

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

Ответы37575

3 авг, 22:54 #143 #1037311

КТО НИБУДЬ РАБОТАЛ С БЛАЗЕ? СТОИТ ЛИ УЧИТЬ ЭТОТ ФРЕЙМВОРК?

3 авг, 22:55 #144 #1037313

>>1037292
Не совсем. "ближайшее время" наступит, когда js-школота наберётся лет 15 опыта и перейдут на другие языки, js тем временем допилят до вменяемого состояния, его станут поддерживать большинство хостеров и т.д.

А пока -- мечтай и жди

Ответы37331

3 авг, 22:58 #145 #1037317

>>1037295
Спасибо анон!

3 авг, 22:59 #146 #1037318

>>1036555
В язык намешана куча говна отовсюду, но при этом есть дохуя фич, которые в эту кучу не включили. Недавно начал писать небольшое приложение на чистом JS, и что сразу бросается в глаза:
1) Нет named parameters(на самом деле есть, но реализация через костыль и текущей спецификацией не поддерживается, нужно перегонять)
2) require в язык не завезли, потому что говно для браузеров, приходится пользоваться нодокостылем, с которым нужно ебаться ради простейших вещей: https://gist.github.com/branneman/8048520
3) Язык динамический, но из-за пункта 2 нет удобного DI, только ебля с контейнерами или пляски вокруг require костыля.
4) Mutable objects - главный пиздец, приходится постоянно следить, чтобы функция, которая получает на вход параметры, ничего с этими параметрами не натворила, так как клонировать объект нормально нельзя, только через костыль, опять же. (deep clone? сосите хуй, мы такого не могем!)
5) Ну и всякие мелочи, вроде кривой реализации ООП, которой приходится пользоваться, так как функциональщину на JS писать будет только отбитый.
6) Самый главный минус - коммьюнити ебанутых макак, которые не имеют ни малейшего представления о том, как писать поддерживаемый код и имеют дохуя тупорылых практик и убеждений. Сторонняя библиотека для каждого пука, абсолютное отсутствие культуры тестирования, огромная любовь к эвентам, из-за чего код всегда превращается в кучу лапши и т.д и т.п. Костыли еще можно обуздать, привыкнуть и более-менее работать, но к коммьюнити не привыкнешь никогда. Как только начинаешь гуглить нетривиальный вопрос, то на тебя выливается ушат дерьма и антипаттернов, за которые нужно бить в ебало.

JS - это accident language, в здравом уме никто бы на нем не писал, но выбора у людей нет, к сожалению. Ждем и надеемся.

Ответы37369373743739138398

3 авг, 23:07 #147 #1037331

>>1037313
>js тем временем допилят до вменяемого состояния
Но он уже вменяемый, просто нужно понять, что это язык совершенно нового типа.
Суть JS - в его гибкости. И со временем он будет расширяться именно в эту строну.

>его станут поддерживать большинство хостеров
Уже.

Ответы37339

3 авг, 23:13 #148 #1037339

>>1037331
так, и что же в нём нового типа?

Ответы37576

3 авг, 23:41 #149 #1037364

>>1036633
Таблетки выпей, шизик малолетний.

Ответы37577

3 авг, 23:45 #150 #1037369

>>1037318
програмил на говне, вкатился в жс говно и теперь тебе не нравится что он не похож на твое предыдущее говно? не парься! чувствительным нытикам в этом комунити тоже место есть, поэтому добро пожаловать пидор ебаный

Ответы37383

3 авг, 23:47 #151 #1037374

>>1037318
> функциональщину на JS писать будет только отбитый
Ловите наркомана

Ответы37383

3 авг, 23:52 #152 #1037383

>>1037369
Я говорю про то, что тут нет даже базового функционала, который в любой другой язык был добавлен десять лет назад. На похожесть мне похуй, суть везде одна.
>>1037374
Что это за вскукарек? Ты вообще в своей жизни трогал тру-функциональный язык или для тебя это "хуе мое функции там, рекурсия, объектов нет ебана"?

Ответы373863738737389

3 авг, 23:55 #153 #1037386

>>1037383
А чего ты ждал?

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

3 авг, 23:55 #154 #1037387

>>1037383
>тут нет даже базового функционала
имплементируй, мы только рады будем

Ответы3739037393

3 авг, 23:59 #155 #1037389

>>1037383
> тру-функциональный язык
Функциональное программирование - про композицию функций. Но ты, петух, конечно начнешь кукарекать про иммутабельность, систему типов и прочий нахуй не нужный никому, кроме отбитых на голову хачей теоркат.

Я пишу на F# на работе.

4 авг, 00:01 #156 #1037390

>>1037387
Все уже заимплементировано давно, даже такая наркомания как fantasy land. Только нахуй это никому не нужно кроме хачей-петухов, дрочащих в своем загоне. Хули им там не сидится?

4 авг, 00:03 #157 #1037391

>>1037318
> deep clone? сосите хуй, мы такого не могем!
И чем тебя не устраивает lodash.deepClone, а?

Ответы37396

4 авг, 00:04 #158 #1037393

>>1037387
Может сразу свой язык имплементировать тогда уж? Чего мелочиться.
>>1037387
>про иммутабельность
>нахуй не нужный никому
>функциональное программирование
Бляяяяяяяяяяяяяяя. Ну и ты я смотрю уже прошарен. Часто спорил с функциональщиками, а они тебя обоссывали?

Ответы3739437402

4 авг, 00:11 #159 #1037394

>>1037393
Посоны 50 лет на лиспе писали с мутабельностью, а тут теперь внезапно они стали императивными петухами. Вот они обрадуюутся то.

Ответы37396

4 авг, 00:14 #160 #1037396

>>1037391
Тем, что это отдельная библиотека с кучей ненужного мне говна. Добавление сторонней библиотеки - это очень важное решение и в 90% случаев можно и нужно обойтись без нее, невероятный факт для JS-мирка. Эту функцию я и сам написать могу, она достаточно тривиальна. Главная проблема в том, что мне НУЖНО ее писать, потому что в языке базового функционала не присутствует. Ну а про любовь JSников к куче бесполезных библиотек я уже говорил выше.
>>1037394
Лисп никогда и не считался тру-функциональным языком.

Ответы37398

4 авг, 00:16 #161 #1037398

>>1037396
Не волнуйся, это пройдет через пару-тройку лет. Ну может через пять. Вздрочни пока, скинь злобу.

Ответы37400

4 авг, 00:20 #162 #1037400

>>1037398
По делу лучше что-нибудь напиши, чулочник хуев.

Ответы37401

4 авг, 00:22 #163 #1037401

>>1037400
По делу — ты мудак, иди нахуй. Может быть в крестах у тебя в языке дохуя функциональности без libc/stl?
Или может в хачкеле без прелюды?
Или ты кроме пхп в который напихали кучу всего больше ничего и не видел?
Или ты микрософто макака, и тебе дотнета не доложили?

Ответы37411

4 авг, 00:24 #164 #1037402

>>1037393
>Может сразу свой язык имплементировать тогда уж?
а, так ты критик языков, арбитр изящества, мастер секции комментариев. я то думал ты программист. прикольно что ты кричишь типа все макаки а сам ссышь язык запилить - кто получается макака тогда - короче впишешься прям норм в комунити

Ответы37411

4 авг, 00:34 #165 #1037411

>>1037401
Я не говорю, что библиотеки не нужны, я говорю, что сторонняя библиотека или уж тем более фреймворк - это огромная зависимость от кода хуй знает кого. Сейчас в коммьюнити многих языков об этом забыли и добавляют библиотеки для каждого пука, но особого апогея подобная практика достигла у жсеров вследствие ущербности языка. Всегда сначала нужно писать функционал и планировать архитектуру приложения, и уже только потом по мере большой надобности добавлять библиотеки и фреймворки, не наоборот.
>>1037402
>не смейте критиковать мое говно, сами возьмите и напишите лучше!!!!
Шизя, успокойся, таблетки прими.

Ответы3741337414

4 авг, 00:38 #166 #1037413

>>1037411
Поверь, 99% библиотек, которыми пользуются люди, стабильней чем любое твоё говно, которое ты навелосипедишь. Особого апогея она достигла в крестах, где есть stl и boost

Ответы37433

4 авг, 00:39 #167 #1037414

>>1037411
причина твоего недовольства чем-то обычно не в самом предмете а в том что твоя жизнь в жопе, хочешь что-то поменять - начни с себя

39 Кб, 693x206

4 авг, 00:48 #168 #1037419

>>1037232
Да не говори 8(

4 авг, 00:52 #169 #1037422

React и Angular используются еще для чего-то кроме SPA?

4 авг, 00:58 #170 #1037433

>>1037413
>поверь
Ты мне так рассказываешь, как будто я первый год программирую. Библиотеки хороши ровно до того момента, пока твои требования совпадают с их функционалом, которой обычно либо базовый, либо так нахуеверчен, что тянет с собой 8521 опций, которые никогда не понадобятся. Шаг вправо-шаг влево - и придется писать свой велосипед, либо ДОБАВЛЯТЬ ЕЩЕ ОДНУ БИБЛИОТЕКУ, РАСШИРЯЮЩУЮ ФУНКЦИОНАЛ СТАРОЙ, БИБЛИОТЕКА САМА СЕБЯ НЕ ДОБАВИТ. Что значит "стабильней" в этом плане, я не понимаю. Если ты не можешь написать свой кусок кода для клонирования объектов и не обосраться, то как ты пишешь целое приложение со сложной логикой и не обсираешься? Примеры есть, тесты есть(должны быть), и у тебя будет полный контроль над тем, что делает твой код. В случае с библиотекой ты отдаешь кусок кода хуй знает кому и надеешься, что библиотека протестирована и не сломает весь твой фунционал после очередного обновления, из-за упущенного разработчиком edge case.

Ответы3758037643

4 авг, 01:11 #171 #1037452

суп
помогите горе-фроненду
в 2 словах: на старых версиях хрома\фф (48\27) не работает opacity
https://jsfiddle.net/v9rt8ufg/2/
видел сайты с похожей анимацией, работающие корректно

4 авг, 01:55 #172 #1037476

Ребята, заебали нахуй))
Подскажите плз что там с БЛАЗЕ? Судя по тому шо я видел это проще реакта и вуя.

Ответы3753137581

26 Кб, 600x576

4 авг, 03:13 #173 #1037494

Анон, я тут пишу одну хуйню вместе с пхп, и абсолютно все формы сделал ажаксом, при этом новые элементы я добавляю просто append(текстэлемента), все функции объявляю в стиле js, а код внутри - с использованием jquery. Еще button onclick делаю. С одной стороны, все ясно написано и легко разбирается, но с другой кажется, что это хуйня какая-то. Что я делаю не так, кроме смешивания ванильных и jquery методов?

Ответы37496

4 авг, 03:16 #174 #1037496

>>1037494
> 2017
> jquery

Ответы3752137524

4 авг, 04:40 #175 #1037520

Для чего используется сравнение ==, объясните. Оно быстрее работает или что?
Я в своих скриптах всегда использую только === и !==, но ведь для чего-то же придумали дополнительную операцию нестрогого сравнения?

Ответы375253753037588

4 авг, 04:42 #176 #1037521

>>1037496
Двачую. После появления fetch пропала последняя причина использовать jQuery:
https://habrahabr.ru/post/252941/
Можно сдавать его в музей к Cobol, Delphi, GWT и VBScript.

Ответы3752438118

4 авг, 04:59 #177 #1037524

>>1037521
>>1037496
Лол, использую jquery только для селекторов, toggleClass и ажакса, больше ничего и не нужно, разве что более короткое написание value. Алсо, у меня еще дизайн на бутстрапе

Ответы37533

4 авг, 05:00 #178 #1037525

>>1037520
Строка и число

Ответы38015

4 авг, 06:29 #179 #1037530

>>1037520
'100' == 100
undefined == null
[8] == 8
[8] == '8'
[8, 1] == '8,1'

Ответы3757038015

4 авг, 06:32 #180 #1037531

>>1037476
Это ты заебал. Очевидно же, что раз тебе до сих пор никто не ответил, значит никто с этим не работал.

Или ты считаешь, что все обязаны тыкать палочкой каждую из миллиарда библиотек и фреймворков?

4 авг, 06:36 #181 #1037533

>>1037524
>для селекторов
querySelector/querySelectorAll
>toggleClass
ванильный classList.toggle
>ажакса
fetch/ да и сам xmlhttprequest2 простейшая штука, которая давно везде и с ней не надо ебаться как с первым и писать даунгрейды.

Ответы37670

4 авг, 09:14 #182 #1037570

>>1037530
Лично я щитаю, что == есть смысл использовать только там, где нужно проверить на !== undefined && !== null. В остальных случаях нихуя не понятно.

Ответы38015

4 авг, 09:24 #183 #1037575

>>1037307
Знаю пару банков у которых бек на ноде
Ну часть с сертификатами - на яве, но все остальное крутится на ноде, еще и 0.12 версии.
Народ часто переоценивает свои потребности и недооценивает возможности ноды

Ответы38113

4 авг, 09:29 #184 #1037576

>>1037339
> нового типа
нет типов
BADUMTSSS
Вообще есть но блядь шутка сука отъебитесь, СМЕЙТЕСЬ ИЛИ ЗАБАНЮ

4 авг, 09:30 #185 #1037577

>>1037364
Да, это точно из по пришел, у какой злючий.

4 авг, 09:38 #186 #1037580

>>1037433
>пока твои требования совпадают с их функционалом, которой обычно либо базовый, либо так нахуеверчен, что тянет с собой 8521 опций, которые никогда не понадобятся.
> что тянет с собой 8521 опций, которые никогда не понадобятся.
Ебать нихуя, у тебя на других языках библиотеки ЧИСТО ПОД ТЕБЯ всегда заточены и ты из них максимум выжимаешь?А у жс плак плак ЛЮДИ ПИХАТЬ ТО ЧТО Я НЕ ИСПОЛЬЗУЮ В БИБЛИОТЕКИ КАКОЙ КАЛ.
Ты зашел не в тот тред и не с тем настроем.

4 авг, 09:39 #187 #1037581

>>1037476
ну перейди на него, только не ной что полтора работодателя и те в жопу ебут.

4 авг, 09:48 #188 #1037588

>>1037520
Если у тебя все сурйозно и не должно быть конвертаций в проверках и все должно работать как ты задумал - то ===, елси всякое может быть и впринципе конвертация безопасна - то == поможет с кейсами
e.g. когда где-нибудь в ответе false заменят на [], а потом на undefined когда-нибудь в будущем то с == можно будет не париться, он сам все подгонит и код будет работать дальше.

4 авг, 11:37 #189 #1037643

>>1037433
Мань, успокойся, в lodash/fp/альтернативах функциональщику нужно натурально все. Если бы ты действительно пришел из фп - ты бы это знал.

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

4 авг, 11:41 #190 #1037646

https://tproger.ru/books/free-javascript-books-for-beginners/
http://flibs.site/r?b=267602
что по поводу этих книжек? Мне нужно большое количество примеров и паттернов.

13 Кб, 221x214

4 авг, 12:22 #191 #1037670

>>1037533
Я не хочу переписывать половину работающего проекта, ведь у меня все равно есть jQuery от бутстрапа

4 авг, 13:00 #192 #1037683

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

Ответы377083771837915

4 авг, 13:43 #193 #1037708

>>1037683
Сделать из тонны мелких одну большую, не?

Ответы37731

4 авг, 13:58 #194 #1037716

>>1037109
Потому что оно так и задумывалось.
Простой пример:
У тебя есть следующий список:
["Рейр Пепе", "Рейр Пепе"].
Так вот. Этот пепе - достаточно рейр. Потому что его не более 5.
А в случае со списком
["Рейр Пепе", "Рейр Пепе", "Юник Пепе"] оно должно вернуть только Юник Пепе, потому что он более редкий, чем Рейр Пепе (юника всего один, а рейров - два).

4 авг, 14:00 #195 #1037718

>>1037683
> Надо вывести тонну картинок мелких на страницу. Если все разом отдавать все браузеры висят по 6 секунд.
Задай каждой картинке ширину и высоту. И тогда они будут грузиться по мере, гхм, загрузки.

4 авг, 14:12 #196 #1037731

>>1037708
С этим проблема, достаются из базы php по одной.

4 авг, 15:22 #197 #1037793

>>1036591
почти, только react router - ебаный кал, и ты заебешься когда захочешь сделать что-то по своему в плане архитектуры, и придется костылять в обход, потому что у разрабов роутера было другое представление о жизниони пидоры. с редуксом вообще работает как говно - особенно 4я версия - отдельный стор для роутера? я в рот ебал. а на гитхабе тебя пошлют нахуй, потому что они зарабатывают бабки на консалтинге и проект нацелен на выкачивание бабок из лохов, а не на юзабельность. вобщем лучше свой сам напиши.

Ответы37889

4 авг, 16:53 #198 #1037889

>>1037793
Поясни что с ним не так? Судя по докам/примерам все довольно просто.

Ответы37908

4 авг, 17:17 #199 #1037908

>>1037889
ну ты поюзай и поймешь. для обычных дом.страничек типа home-contacts норм решение конечно, но если у тебя своя архитектура а не архитектура так как ее задумали авторы роутера - шаг влево шаг вправо - и ты уже накостылял кучу какого-то говна, которого и вообще не было без сраной либы этой. для прикола можешь также посмотреть какая в доках редукса версия роутера(2?) и какая текущая(4). каждую версию они перемакакивают всю либу и ты заучиваешь ее заново, если хочешь новую версию юзать. этот проект не must как редукс, а так подрочить

Ответы37924

4 авг, 17:26 #200 #1037915

>>1037683
На каждую имагу повесь хендлер onload события. По результатам загрузки каждого изображения (или, допустим, n изображений) отдавай пользователю ещё пачку.

Ответы37917

4 авг, 17:29 #201 #1037917

>>1037915
> отдавай пользователю ещё пачку
Или дергай из массива, конечно же.

Ответы37949

4 авг, 17:40 #202 #1037924

>>1037908
Сможешь привезти пример, где роутер создавал больше проблем, чем решал?

Ответы37934

4 авг, 17:45 #203 #1037928

>>1035855 (OP)
Спасибо что обновляете пасту, люблю вас.

4 авг, 17:54 #204 #1037934

>>1037924
могу тебе даже доклад с подробным анализом написать и иллюстрации горящего пердака нарисовать к нему в стиле material, мой рейт - 90 баксов в час - где-то за неделю справлюсь. а так бугурты можешь почитать тут https://news.ycombinator.com/item?id=12511419

sage 4 авг, 17:54 #205 #1037935

>>1035855 (OP)
> главному языку будущего - JavaScript
1. Когда в главный язык будущего завезут ключевые слова class, interface, extends, implements, protected, public, private, final, static?
2. Когда в главный язык будущего завезут разницу между int и float/double (даже в PHP это разные типы) в коробке (в не в Web Assembly)?
3. Когда в браузеры завезут Тайпскрипт из коробки?

Ответы379373793938020

4 авг, 17:56 #206 #1037937

>>1037935
Микрософтоблять порвалась. Несите следущую.

Ответы37947

4 авг, 17:58 #207 #1037939

>>1037935
> ООП
> 2017

512x512

sage 4 авг, 18:03 #208 #1037947

>>1037937
> class, interface
> int, float, double
> TypeScript
> Микрософтоблять

4 авг, 18:04 #209 #1037949

>>1037917
Spasibo, я думаю массив хороший вариант.

4 авг, 18:10 #210 #1037952

Реквестирую самый годный туториал/пример по реакт-редуксу.

Ответы380293822938536

4 авг, 18:38 #211 #1037975

Поясните за стили в реакте. Была какая-то новомодная тенденция все пихать в инлайн стили. Как щас модней всего?

Ответы3803038229

4 авг, 19:24 #212 #1038015

>>1037525
>>1037530
>>1037570
Ничего не понял. Т.е. кроме редкой конвертации типа '100' == 100 оно больше и не нужно? Бред же, для этого есть parseInt toString. Но даже в TypeScript сохранили операцию нестрогого (не)равенства, значит, она широко используется?

Ответы380253813638138

4 авг, 19:27 #213 #1038020

>>1037935
>3. Когда в браузеры завезут Тайпскрипт из коробки?
В Edge могли бы и добавить, петуханы. Никому нахуй ненужный ублюдочный VBScript во всех IE поддерживался, а этот передовой язык почему-то нет.

4 авг, 19:32 #214 #1038025

>>1038015
ОБРАТНАЯ СОВМЕСТИМОСТЬ
Б
Р
А
Т
Н
А
Я

С
О
В
М
Е
С
Т
И
М
О
С
Т
Ь

Ответы38044

4 авг, 19:43 #215 #1038029

>>1037952
https://egghead.io/courses/getting-started-with-redux

4 авг, 19:44 #216 #1038030

>>1037975
держать их в цссе

4 авг, 20:08 #217 #1038044

>>1038025
В первых версиях JS не было === штоле?

4 авг, 20:42 #218 #1038062

https://ru.wikipedia.org/wiki/JavaScript
>Первоначально язык назывался Mocha
Хороший язык мочой не обзовут.

4 авг, 22:02 #219 #1038113

>>1037575
...ну то есть весь сертифицированный банковский функционал на jave, а вокруг дешёвые прогеры яваскрипт рисуют кнопки на обёртке из годы

пофиксил

Ответы38115

4 авг, 22:05 #220 #1038115

>>1038113
> банковский функционал на jave
Я не знаю каким отбитым надо быть, чтобы реализовывать критическую логику на императивной параше.

Ответы38126

4 авг, 22:07 #221 #1038118

>>1037521
Зачем отказываться от удобной и быстрой в текущей ветке jQuery? Перед шкальниками выёбываться? Так они и так этим заняты дни на пролёт,пока у нормальных людей нет на это времени.

4 авг, 22:17 #222 #1038126

>>1038115
> Пишет в треде о скриптовом языке, который подобострастно назвали в честь Java (а-ля Абибас)
> Выёбывается
Пфф

4 авг, 22:39 #223 #1038136

>>1038015
Нет, самый распространненый юхкейс, это обновременная проверка на null и undefined.

4 авг, 22:43 #224 #1038138

>>1038015
>Бред же,
Если ты не понимаешь, зачем нужно приведение типа, и уповаешь на каноничную НЕОБХОДИМУЮ ЯВНОСТЬ. То почему ты до сих пор не пишешь на асме, и не вызываешь функции, путем складывания аргументов на стек, и передачей управления по адресу, а используешь такую НЕЯВНУЮ func() в своем коде?

Ответы38325

5 авг, 01:06 #225 #1038229

>>1037975
модно styled components, но синтакс сомнительный там и редакторы мало поддерживают. еще styled-jss ничего, но там на уровне беты. а так - микс инлайн стилей и css-modules
>>1037952
начни с обычного реакта и пили пока не почувствуешь боль, когда нужно шарить и влиять на стейт из разных мест. потом можно уже и редукс

Ответы38314

5 авг, 08:10 #226 #1038314

>>1038229
> начни с обычного реакта и пили пока не почувствуешь боль, когда нужно шарить и влиять на стейт из разных мест. потом можно уже и редукс
Пробрасываю стейт родительским компонентам через контекст, далее dumb компонентам - через пропсы. Все штатными реактовскими средствами.
Всё-таки потребность в редуксе должна возникать не из-за желания изменять состояние приложения из различных мест...

Ответы38426

5 авг, 09:34 #227 #1038325

>>1038138
Динамический петух закукарекал заместо Авроры. {} - ++[[++[]]] это же так понятно, очевидно, полезно.

Ответы38326

5 авг, 09:37 #228 #1038326

>>1038325
А тебе зачем писать такие конструкции, демагог мамкин? Ты ебанутый?

Ответы38329

5 авг, 09:46 #229 #1038329

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

Ответы3833438337

5 авг, 09:54 #230 #1038334

>>1038329
Ты посмотри на это с другой стороны.
Разве это не открывает широкие возможности по написанию обфускаторов, которые потом можно впаривать по $59.99 скрипткиддисам?

Ответы38339

5 авг, 10:06 #231 #1038337

>>1038329
>не должно быть такого
>должны быть строгие
>чтобы было понятно
Мне тебя жаль.

Ответы38341

5 авг, 10:09 #232 #1038339

>>1038334
Для маркетолуха, может, что-то там чего-то и открывает. Для меня лично это означает ровно две вещи:

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

Ответы38343

5 авг, 10:11 #233 #1038341

>>1038337
>true + false - [] + {} - NaN, рррряяяяяя

Ответы38344

5 авг, 10:14 #234 #1038343

>>1038339
Что, написание лишнего символа "=" для строго сравнения сократит продолжительность твоей жизни? Звучит как жалкое оправдание, рилли.

Самодокументируемые функции - миф.

Проптайпсы в реакте нужны для тестирования.

Ответы38347

5 авг, 10:14 #235 #1038344

>>1038341
проиграл

5 авг, 10:20 #236 #1038347

>>1038343
>Что, написание лишнего символа "=" для строго сравнения сократит продолжительность твоей жизни?
Жопой читаем? Написал же русским по серому - везде, где в коде будет все-таки использоваться == вместо ===, придется приписывать пояснение, почему в данном случае сравнение с приведением типов не вызовет кузькину мать.
>Самодокументируемые функции - миф.
Самодокументируемая функция - функция, контракт которой ясен из нее самой. Так что да, в жсе они, конечно, миф, раз сигнатура-то, по сути, никакой информации не несет, не то что о типах, а даже о количестве аргументов.

5 авг, 12:41 #237 #1038398

>>1037318
подписываюсь под каждым словом про комьюнити, да и в целом всё так и есть
js комьюнити - это как раз и есть канализация с пика, только еще булькающая
каждый пузырёк - новая либа или язык поверх js

5 авг, 13:26 #238 #1038425

Установил babel-cli
в скриптах пишу "start": "babel-node ./server.js"
там сервак на экспрессе с es6
так вот первый раз запускается нормально, когда убиваю процесс в git bash, сервер остается висеть прослушиваемым пока не перезагружу комп
повторный npm run start выдает ошибка т.к. сервак уже висит
вот чо за хуйня, посмотрел у всех все нормально, погуглил ничего не нашел

Ответы38430

5 авг, 13:30 #239 #1038426

>>1038314
контекст сломают рано или поздно поэтому смысл его использовать. и пробрасывать пропсы через неск уровней и уродливый код который из этого следует мне не оч

Ответы38486

5 авг, 13:35 #240 #1038430

>>1038425
node -r babel-register ./server.js

Ответы38441

5 авг, 13:43 #241 #1038441

>>1038430
>node -r babel-register ./server.js
все равно такая же хуйня
заметил что когда в консоли прямо пишу "node ./server.js" все нормально работает, т.е. убиваю процесс и сервер падает
а когда эту же команду пишу через npm run start в скрипте "start": "node ./server.js", появляется такая вот хуйн

Ответы38645

5 авг, 14:37 #242 #1038486

>>1038426
> контекст сломают рано или поздно
...и полетят ВСЕ сторонние стейт менеджеры. Да, пейсбук предупреждает об этом явно, но вероятность брейкинг чейнджес откровенно мала.
По поводу красоты кода - это уже отдельная тема. В моем прожекте это нисколько не ухудшило читаемость, потому что я придерживаюсь определенных правил.
В корневом компоненте описываю начальный стейт и импортирую экшоны, джаст лайк ин редакс, все это дело аккуратно засосываю в контекст.
Далее, в компонентах уровнем ниже (эти компоненты являются корневыми по роутам) импортируется набор экшонов и стейт из контекста. А уже в каждый дочерний компонент из корневого передается два пропса - actions и store. Никакой путаницы, никаких инжектов стейта из контекста в компонентах на нижнем уровне.
Все работает без редакса, потому как для моих задач сторонний стейт менеджер это оверкилл.

Ответы38648

5 авг, 16:15 #243 #1038536

>>1037952
по реакту, на самом деле, лучше и проще официальной документации ты ничего не найдешь.
По редаксу можно видосы с лерн код или еще что-то на примере рабочего приложения. Redux/MobX и другие имплементации общего стораджа довольно полезные вещи (сам сейчас на реакте и редакс ппц как упрощает жизнь и делает код и взаимодействие компонентов понятнее)

5 авг, 18:34 #244 #1038624

Ставлю на WebStorm тему Sublime, а она выглядит совсем иначе чем на скринах. Чё за хуйня? Хочу всё также как на самом Sublime Text 3.

5 авг, 18:52 #245 #1038645

>>1038441
>npm run start
попробуй yarn

5 авг, 18:57 #246 #1038648

>>1038486
понятно

5 авг, 19:58 #247 #1038687

> Обеспечено inline-развёртывание и оптимизация операций Array.prototype.forEach;
Вай-вай. Заживем.

40 Кб, 537x600

Как выучить джаваскрипт? 6 авг, 05:17 #248 #1038879

Сап, посоны. Есть три стула:
1. Учить джаваскрипт по спираченным с торрента интенсивам htmlacademy.
Из плюсов: бесплатно, можно проходить не торопясь, с перерывами.
Из минусов: вне работы мой организм отказывается что-либо изучать новое, тяжело себя мотивировать смотреть видосы и делать задачи. Еще и автопроверки нет, как на джавараше.
2. Пройти тот же интенсив, но платно на htmlacademy.
Плюсы: возможно, таки узнаю много нового, но это не точно.
Минусы: бабло
3. Пройти платный курс на learn.javascript.ru
Плюсы и минусы те же.
Ну и возможно четвертый вариант, который предложит мне анон.

Сам уже работаю веб-программистом, но чувствую, что есть пробелы, ибо учил все на ходу, по мере необходимости.

Ответы3890038909389183893738963

6 авг, 08:30 #249 #1038900

>>1038879
Что-то у тебя все стулья с хуями. Накачай себе разных книг и читай в свободное время. Гугли по работе все места, которые не понимаешь, эффект будет заметнее чем от курсов.

Ответы38976

6 авг, 09:24 #250 #1038909

>>1038879
>вне работы мой организм отказывается что-либо изучать новое, тяжело себя мотивировать смотреть видосы и делать задачи
Ну так правильно, потому что видосы и задачи - хуйня без задач (вот это я скаламбурил). Сразу бери и хуярь что-нибудь полезное и серьезное, по ходу дела разберешься во всем, и гораздо быстрее и лучше, чем если будешь сидеть дрочить себе полгода подзалупными задачками.

Ответы38976

6 авг, 10:28 #251 #1038918

>>1038879
Только книги, только хардкор.
И никаких задач. Только маняпроекты.

Ответы38976

6 авг, 10:35 #252 #1038919

Как на js будет выглядеть такая функция? Вызывается функция в которую вписываем вопрос. Вопрос задается до тех пор пока не будет ответа 'y' или 'n'. Ну и потом этот ответ возвращается и выводится.

def ask_yes_no(question):
____response = None
____while response not in ("y", "n"):
________response = input(question).lower()
____return response

answer = ask_yes_no("\nPlease enter 'y' or 'n': ")
print("Thanks for entering:", answer)

Ответы3892138945

6 авг, 10:51 #253 #1038921

>>1038919
https://jsbin.com/cuxasujiqo/edit?html,js,output

Ответы3892839809

6 авг, 11:21 #254 #1038928

>>1038921
kakoije ebanytiy yazik))))")))

Ответы38929

6 авг, 11:25 #255 #1038929

>>1038928
Тебе никто не мешает написать мутабельный цикл как в пиздоне. Просто это ни модна.

Ответы38955

6 авг, 11:27 #256 #1038931

Сап, ребят.
Я или поехал, или что.
С каких пор нельзя сделать Object.setPrototypeOf(Object.prototype, )??

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

6 авг, 11:33 #257 #1038937

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

Ответы3894338976

6 авг, 11:49 #258 #1038943

>>1038937
Просто тебе мамка не дала денег на эти шикарные интенсивы.

Ответы38956

6 авг, 11:55 #259 #1038945

>>1038919
function ask_yes_no(question) {
____let response = null;
____while (!['y','n'].includes(response))
________response = prompt(question).toLowerCase();
____return response;
}

let answer = ask_yes_no("Please enter 'y' or 'n':");
alert("Thanks for entering: " + answer);

6 авг, 12:06 #260 #1038955

>>1038929
Там есть предел рекурсии или она будет ебашить пока не сожрет всю память? Предполагаем, что tail call elimitation нет.

Ответы38958

6 авг, 12:07 #261 #1038956

>>1038943
Я лучше куплю шикарный интенсив моему члену на интимсити.

Ответы39808

6 авг, 12:08 #262 #1038958

>>1038955
Если TCO нет, то треснет, очевидно. В хроме оптимизация вроде пока за флагом.

Ответы38959

6 авг, 12:16 #263 #1038959

>>1038958
Я думаю оно ебнется на глубине где-т тысяч 30 лье под водой, поэтому похуй.

6 авг, 12:28 #264 #1038963

>>1038879
> Сап, посоны. Есть три стула:
> 1. Учить джаваскрипт по спираченным с торрента интенсивам htmlacademy.
> Из плюсов: бесплатно, можно проходить не торопясь, с перерывами.
> Из минусов: вне работы мой организм отказывается что-либо изучать новое, тяжело себя мотивировать смотреть видосы и делать задачи. Еще и автопроверки нет, как на джавараше.
> 2. Пройти тот же интенсив, но платно на htmlacademy.
> Плюсы: возможно, таки узнаю много нового, но это не точно.
> Минусы: бабло
> 3. Пройти платный курс на learn.javascript.ru
> Плюсы и минусы те же.
> Ну и возможно четвертый вариант, который предложит мне анон.
> Сам уже работаю веб-программистом, но чувствую, что есть пробелы, ибо учил все на ходу, по мере необходимости.
Ща бы купить видосов на 100 часов где пересказывают синтаксис.

Ответы3896538976

6 авг, 12:33 #265 #1038965

>>1038963
В интенсивах фишка в том, что наставники попу подтирают

Ответы389663897238980

6 авг, 12:36 #266 #1038966

>>1038965
На hexlet интереснее: можно купить время ментора, который поможет закончить петпроэкт

6 авг, 12:40 #267 #1038968

Могу за пивас давать пизды и объяснять непонятную хуйню.

Ответы3896938977

6 авг, 12:41 #268 #1038969

>>1038968
>Могу за пивас давать пизды
А она у тебя няшная?

6 авг, 12:54 #269 #1038972

>>1038965
> В интенсивах фишка в том, что наставники попу подтирают
Ещё 10 часов рассказов о синтаксисе?

Ответы38975

6 авг, 13:01 #270 #1038975

>>1038972
Да. Если ты за 100 часов не понял.

В детстве родители нанимали репетитора по английскому. Молодую тян. В воспоминаниях об этих занятиях остался только образ груди выглядывающей из слегка расстегнутой спортивной куртки.

6 авг, 13:02 #271 #1038976

>>1038900
Оке.
>>1038909
Думал об этом. Таки да, когда есть идея, мотивация будет как будто тянка поебаццо позвала.

>>1038918
Понял, спасибо.

>>1038937
>>1038963
Согласен. Да и по цене получается 80К за все курсы академии - как-то многовато. Я на джавараш в 2014 за 100$ весь курс купил, так там дохуя всего дается с задачами и теорией. А щас вот в веб перекатился, думал, найду аналоги, а хуй там. Буду пилить свой проектик тогда и дрочить по книгам.

6 авг, 13:03 #272 #1038977

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

Ответы38987

6 авг, 13:08 #273 #1038980

>>1038965
> попу подтирают
Ну и чему ты научишься, ежели тебе попу подтирают? Мамка вон тебе до 12 лет подтирала и посмотри кем ты вырос?

Ответы38981

6 авг, 13:10 #274 #1038981

>>1038980
>до 12 лет
А почему не до 40 лет?

6 авг, 13:18 #275 #1038987

>>1038977
Бери ноут и пиздуй из дома, чтобы без инета.

6 авг, 14:27 #276 #1039023

Какую IDE лучше использовать вкатывающемуся в JS шарпоёбу, привыкшему к Visual Studio с ее IntelliSense? Студия кажется тяжеловатой для жс, Sublime и Atom иногда неправильно подсвечивают синтаксис и не могут в автодополнение.

Ответы39024

6 авг, 14:28 #277 #1039024

>>1039023
vs code

Ответы39045

6 авг, 14:42 #278 #1039039

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

6 авг, 14:52 #279 #1039045

>>1039024
Два чаю, она охуенная.

6 авг, 15:27 #280 #1039069

(function(){
//код
}());

такого рода синтаксис еще юзается? или модные let или чвойтоеще заменили?

Ответы39073

6 авг, 15:28 #281 #1039073

>>1039069
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/import

Ответы39114

6 авг, 16:33 #282 #1039114

>>1039073
спасибо

7 авг, 02:58 #283 #1039808

>>1038956
двачирую этого дона, ресурсы надо распределять грамотно

7 авг, 03:00 #284 #1039809

>>1038921
скобки не нужны когда один параметр

7 авг, 06:38 #285 #1039820

программирую через стакоферфлов

Антоны объясните плизки чзх чего оно через классы не хочет?
https://jsfiddle.net/xLqzL09k
https://jsfiddle.net/xLqzL09k/1/

еррор :
document.getElementByClassName is not a function

Ответы398213982239824

7 авг, 06:44 #286 #1039821

>>1039820
Тебе ж на чистом английском пишут: document.getElementByClassName - это не функция. Т.е. такой функции не существует. Потому что elements, ведь оно может возвращать много.

7 авг, 06:44 #287 #1039822

>>1039820
Тебе же написали, не существует такой функции. Что не понятного?

7 авг, 06:56 #288 #1039824

>>1039820
все разобрался
дело было в том что getElementByClassName не функция

Ответы39988

7 авг, 13:46 #289 #1039988

>>1039824
Сделал его функцией?

Ответы40117

7 авг, 13:54 #290 #1039990

Крч, создаю объект workers = {}, в нем создаю еще один объект workers[x]. В этом объекте создаю кучу листенеров.
workers[x] должен отработать последовательность действий.
Но иногда он фейлит и нужно запускать процесс с начала.
delete workers[x] не убивает листенеры. Вопрос: как убить все связанное со свойством объекта самым простым способом?

Ответы40017

7 авг, 14:58 #291 #1040017

>>1039990
>delete workers[x] не убивает листенеры
Для удаления лиснеров существуют отдельные методы.

Ответы40026

7 авг, 15:28 #292 #1040026

>>1040017
Спасибо, кэп.

7 авг, 17:40 #293 #1040117

>>1039988
нет использовал getElementById :--(

Ответы40412

7 авг, 19:51 #294 #1040210

когда уже this.blah() заменят на @blah()?
@ -> this
@name -> this.name

Ответы40298

7 авг, 21:57 #295 #1040298

>>1040210
> 2017
> js
> this

Ответы40325

7 авг, 22:41 #296 #1040325

>>1040298
obj.x = function() { this.doSmth() }
как без this?

Ответы40331

7 авг, 22:46 #297 #1040326

Подскажите учебник или что-то по Angular 2. Чисто в проде кинули на помощь фронту, надо быстро вкатиться.

7 авг, 22:55 #298 #1040331

>>1040325
Не пользоваться ООП объектно-ориентированной парашей? Не использовать функции без аргументов, которые мутируют хуй пойми что? Как тебе такое, а?А?А?

Ответы40357

7 авг, 22:57 #299 #1040333

антоны не стукайте плиз
https://jsfiddle.net/dxnz11q5/
скролл вниз - нормально выезжает
скролл вверх - после анимации пропадает, как и должно
скролл опять вниз - после анимации пропадает, как не должно
почему оно не удаляет листенер?
и может подскажите как сделать, чтобы при быстром скролле туда-сюда анимация продалжалась а не с самого начала тригирилась?

Ответы4042440449

7 авг, 23:21 #300 #1040357

>>1040331
не вижу разницы для читаемости между:
function x(obj) { doSmth(obj) }
и предыдущим примером. хотя нет, this всеже понятнее. вот если this заменить на @, будет еще лучше.

они меняют obj, а не хуй пойми что.

Ответы40546

7 авг, 23:56 #301 #1040375

Эй, жира-кун, а скока тебе платят? На хх.ру вакансии 200-240+

Ответы40378

8 авг, 00:02 #302 #1040378

>>1040375
что за хх.ру?
200-240 чего?

Ответы4038140486

8 авг, 00:20 #303 #1040381

>>1040378
хуев в жопу тебе

8 авг, 00:39 #304 #1040390

есть два варианта. 1.Выводится html шаблон в котором сразу 500 img 2.Жабаскриптом добавляю по 1. Какой вариант быстрее? Почему?

8 авг, 01:16 #305 #1040401

Подскажите плз аналог Browserstack только бесплатный, на вм и работающий на локалхосте?

8 авг, 02:52 #306 #1040412

>>1040117
А мог бы просто исправить опечатку, в названии метода. getElementsByClassName

8 авг, 04:09 #307 #1040424

>>1040333
бумп
ебусь 5 часов не могу понять в чем пробемла

8 авг, 06:59 #308 #1040449

>>1040333
>почему оно не удаляет листенер?
С хуя ли не удаляет?
Ты вообще в курсе, сколько ты лиснеров вешаешь?
Повесь алерт в блок else и охуеешь от того, сколько раз у он тебя затриггерится.

Ответы40476

101 Кб, 1000x795

8 авг, 08:02 #309 #1040476

>>1040449
от души спосибо я подебил эту хуергу через i = 1 i = 0 маме операция нужна не супер серьезная но денег нет она не может работаь несколько месяцев теперь я стал на ступень выше к джуну надеюсь как можно скорее смогу пойти на работу сам спасибо огромное!!!!!!

8 авг, 08:59 #310 #1040486

>>1040378
Если это то ты, то видимо ты не из раисси. Мкай.

8 авг, 11:37 #311 #1040546

>>1040357
Читаемость тут причем, императивный даун?

Ответы40610

8 авг, 13:15 #312 #1040610

>>1040546
ну а зачем мне сокращение this -> @?

кстати, ничто не мешает писать объекты, где метод который меняет объект, будет возвращать новую копию.

Ответы406124070140727

8 авг, 13:21 #313 #1040612

>>1040610
>писать объекты, где метод который меняет объект, будет возвращать новую копию
Совсем ебанулся уже со своим хачкилем.

8 авг, 15:35 #314 #1040701

>>1040610
> писать объекты, где метод который меняет объект, будет возвращать новую копию
Он начинает о чём-то догадываться. Осталось сделать последний шаг - избавиться нахуй от объектов.

Ответы40718

8 авг, 15:56 #315 #1040718

>>1040701
Избавился от объектов тебе за щеку, проверь.

8 авг, 16:06 #316 #1040727

>>1040610
Бегом кантора читать, а до этого в тред ни ногой

Ответы40741

8 авг, 16:08 #317 #1040729

Анончик, поясни: подойдёт ли Angular 2 для фронта с ~12 полноценными шаблонами экранов (не компонентами)? Задачи типовые: вывод списков, слайдеры-хуяйдеры, карта.
Сложных компонентов вроде как нет, но предстоит заёбистая логика валидации, переходов и реста по кд.
Ранее пользовал ангуляр первый. Но все пишут, что АНГУЛЯР 2 ЭТО ГРОМОЗДКО И ОВЕРКОД, ПИЗДАРИКИ ГОТОВЫМ КОМПОНЕНТАМ, ТОЛЬКО ДЛЯ БОЛЬШИХ ПРОЕКТОВ.

8 авг, 16:14 #318 #1040733

Как дебажить реакт+редакс? Хром дев тулз в рот ебали этот ваш jsx

Ответы40753

8 авг, 16:26 #319 #1040741

>>1040727
почему? какую главу читать в канторе?
вроде бы, я не новичек.

Ответы40858

8 авг, 16:33 #320 #1040753

>>1040733
Ставь соответствующие плагины к хрому.
Для редакса вон вообще таймлапс придумали

43 Кб, 540x541

8 авг, 16:47 #321 #1040762

Кто мне может пояснить нахуя там
skipTracking и viewChangeCounter?
https://github.com/gothinkster/react-redux-realworld-example-app/blob/master/src/middleware.js

8 авг, 17:26 #322 #1040794

Аноны, кто-нибудь писал юнит тесты в NodeJS? Запускаю тест - вываливает ексепшн - модуль не найдет. Хотя модуль есть, инсталлирован глобально. Не понимаю что за гавно такое.

Ответы4079840862

8 авг, 17:29 #323 #1040798

>>1040794
Ах, да, тест mocha-ой гоняю, вернее пытаюсь.

8 авг, 18:21 #324 #1040827

Котаны, правильно ли я понимаю?
Вот мы создаем переменную с функцией:

var fnctn_one = function() {
return 'haha';
}

Потом создаем новую переменную и туда копируем первую:

var fnctn_two = fnctn_one;

Мы можем изменять вторую переменную как угодно, и первая меняться НЕ БУДЕТ? Правильно? Изменяться будет копия?

Ответы40841

8 авг, 18:46 #325 #1040841

>>1040827
fnctn_one/two хранят ссылки.
что такое ссылка, без программирования?
положи яблоко на стол и в тетрадке запиши: яблоко на столе.
добавь еще одну запись в тетрадь: яблоко на столе.
теперь затри первую запись, замени ее: есть еще одно яблоко в подвале.
от того, что ты затер запись, яблоко с стола не исчезло.
вторая запись все еще есть.

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

Ответы40947

8 авг, 19:25 #326 #1040858

>>1040741
> я не новичек
> не знает о парадигмах программирования абсолютно нихуя

8 авг, 19:27 #327 #1040862

>>1040794
> модуль не найдет. Хотя модуль есть, инсталлирован глобально
Глобальная инсталляция в ноде только для утилит командной строки нужна. require парашу в каждый проект надо инсталлить локально.

Ответы41079

8 авг, 20:38 #328 #1040947

>>1040841
Тебе с такими объяснениями только в школе преподавать.

112 Кб, 1896x918

8 авг, 23:06 #329 #1041056

>>1037109
Норм сайтик, буду на работе развлекаться этой хуйней)

8 авг, 23:27 #330 #1041064

https://habrahabr.ru/company/ruvds/blog/335144/
Порадовался. Будет им уроком, не хрен городить инфраструктуру уровня Java для языка, который двигает формочки. Дали вам <script src="...">, вот и не умничайте.

Ответы41070

8 авг, 23:36 #331 #1041070

>>1041064
Это ты еще про left-pad не слышал.

Ответы41072

8 авг, 23:40 #332 #1041072

>>1041070
Слышал, ну так им не привыкать сосать.

Ответы41075

8 авг, 23:45 #333 #1041075

>>1041072
Кстати, может тот обиженный программистишка и накоммитил малварь, чтобы отомстить.

9 авг, 00:00 #334 #1041079

>>1040862
Благодарю.

9 авг, 00:20 #335 #1041092

Ява для пидоров

Ответы41145

9 авг, 03:14 #336 #1041145

>>1041092
https://www.youtube.com/watch?v=AGcufKAdj0c

9 авг, 14:50 #337 #1041368

>>1035855 (OP)
Имею список вида [id: 1, name: "Vasya", company: "KFC" ...]

Как мне достать элементы по типу key = value, чтобы было так
id = 1;
name = "Vasya";
company = "KFC" ?

Ответы41423

9 авг, 14:52 #338 #1041370

37 Кб, 718x439

88 Кб, 1024x1024

9 авг, 14:58 #339 #1041380

Пацантре, подскажите. Мучу игрулю в которой будет диалоговая система. Вот сижу думаю как выстроить дерево диалогов, то есть само дерево диалогов я прекрасно понимаю как выстроить, меня интересует как реализовать "выбор". Пока придумал впихивать в текст диалога СПАНЫ или ХРЕФЫ с яваскриптом внутри. Чтобы оно появлялось в диалоговом окне, и на эти ссылочки жмякаешь, и вызывается функция с определенными аргументами чтобы там статы поменять и нужное продолжение диалога запустить. Вроде бы просто, да вот думаю что строю замок из костылей и велосипедов.

Ответы413864140741456

9 авг, 15:03 #340 #1041386

>>1041380
Ну и?

Ответы41390

9 авг, 15:09 #341 #1041390

>>1041386
Как мне с помощью JS запихать работающий JS код на HTML страницу?

Ответы4139241400

9 авг, 15:11 #342 #1041392

>>1041390
Зачем запихивать ЖС код через ЖС, который уже подключен к этой хтмл странице?

Ответы41397

9 авг, 15:17 #343 #1041397

>>1041392
Ты долбоеб ебучий, написано же

9 авг, 15:21 #344 #1041400

>>1041390
Делай из него стринг, пихай его в тег <script> и всобачивай через append какой-нибудь (но почему бы тебе самому ручками его в .html файле не вписать?)

Ответы41401

9 авг, 15:24 #345 #1041401

>>1041400
Ну так у меня бесконечное множество диалогов с различными выборами которые могут вызывывать различные функции, и всего одно диалоговое окно которое очищается после выбора варианта.

9 авг, 15:35 #346 #1041407

>>1041380
eval же

9 авг, 15:55 #347 #1041421

Спасибо за советы, и правда нету смысла городить evalы, пихать код в стринг. Просто создам несколько спанов с запасом, спрячу их, и когда будет выбор буду через функцию динамически их менять по всякому. Можно же спокойно вызов с функции с аргументами запихать в строку и через ИннерХТМЛ приписать к элементу

9 авг, 15:57 #348 #1041423

79 Кб, 545x296

70 Кб, 559x315

99 Кб, 781x304

>>1041368

9 авг, 16:31 #349 #1041448

суп фронты. такое запитание: а чем натюнить VSCode шоб он мог в рефакторинг - понимал где какие переменные пропали/появились, понимал область видимости и помогал отыскивать проблемы типа

adres, addres, adress, address, adderss ?

var и let обьявления ?

Ответы4178242150

9 авг, 16:44 #350 #1041456

>>1041380
>как реализовать "выбор"
Запили либо свой миниязык для диалогов, либо в каком-нибудь формате их складывай (xml/json/yaml/s-expr/etc)

Ответы41464

9 авг, 16:53 #351 #1041464

>>1041456
Да не вариант на самом деле. В игре эти диалоги слишком сильно зависят или влияют на различные переменные. Так что в итоге выйдет куча вызовов функций, куча проверок, и между ними ссылочка на контейнер с нужной фразой. Проще и понятнее держать все рядом. Ну это пока, потом может запилю мини велосипед чтобы смотрелось аккуратнее. Аналог ренпаевской системы например.

9 авг, 17:16 #352 #1041473

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

функция getState(callback)

spotify.getState(function(err, state){
/
state = {
volume: 99,
position: 232,
state: 'playing'
}
/
});

вопрос, как использовать, например, state.volume в другой функции? пробовал внутри функции присвоить

let huy = state.volume, но huy я не могу использовать за ковычками, undefined получается

я программирую не больше недели, как только пытался, не получилось. колбэки, офк, не знаю как работают. куда идти читать про это?

10 авг, 03:46 #353 #1041716

let hui;

spotify.getState(function(err, state){
/
state = {
volume: 99,
position: 232,
state: 'playing'
}
hui = state.volume;
/
});

10 авг, 04:29 #354 #1041718

Зделол свой первый пет-прожект на node, express, mongodb. Куда теперь там прикручивать реакт/ангуляр чтоб модно было? А то я чото ума не приложу.

Ответы41963

10 авг, 09:47 #355 #1041782

>>1041448
Eslint?

Ответы42542

10 авг, 11:11 #356 #1041821

Посоветуйте книгу для обучения, прогал на кумире и паскале АВС, решая простенькие задачки.
Или из шапки по порядку в самый раз?

10 авг, 12:12 #357 #1041857

Какая разница между NW.JS и Electron? Что лучше? Что выбрать? Почему?

Ответы41926

10 авг, 13:47 #358 #1041918

На работе предлагают стать фулстеком на ноде, сейчас я фронтенд-макакен.
Соглашаться или нет?

Ответы41982

10 авг, 13:52 #359 #1041926

>>1041857
>Что выбрать?
Electrino
>Почему?
Потому что использует нативный рендерер.

Ответы41938

10 авг, 14:04 #360 #1041938

>>1041926
Ой мудак.

Ответы41954

10 авг, 14:44 #361 #1041954

>>1041938
>Кукарекуууу.
Ясно.

sage 10 авг, 15:08 #362 #1041963

>>1041718
Никуда.

Backend отдельно, frontend отдельно

Ответы42005

10 авг, 15:38 #363 #1041981

Есть какая-то альтернатива хероку, куда можно залить свой говноблог на koa.js?

Ответы42092

10 авг, 15:39 #364 #1041982

>>1041918
Если будут больше платить, почему нет? Сорта говна одни и теже.

10 авг, 15:47 #365 #1041983

>>1036330
А кто будет помогать и код ревьюить?

10 авг, 16:34 #366 #1042005

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

101 Кб, 1200x1186

10 авг, 17:57 #367 #1042046

Нормальный человек не будет марать руки о javascript

Ответы4204742048

10 авг, 17:58 #368 #1042047

>>1042046
Да ладно тебе, многие вон и 1с-кой не брезгуют.

Ответы42053

10 авг, 17:58 #369 #1042048

>>1042046
А обо что будет? О пхп? Или в пиздон? МОжет быть руби? Или может кложура? Какая разница на какой динамической параше писать?

Ответы42053

sage 10 авг, 18:01 #370 #1042053

>>1042047
Они не знают о существовании js.
>>1042048
Не жс, главное не жс.

10 авг, 19:14 #371 #1042092

>>1041981
Неебу что такое коажс, но если у тебя онли статика то
github.io?

Ответы42101

10 авг, 19:33 #372 #1042101

>>1042092
а вот есть сервисы где не только для статики

Ответы42339

10 авг, 21:02 #373 #1042150

>>1041448
webstorm

Ответы42543

10 авг, 21:53 #374 #1042180

Ананас, почем сейчас стоит вчерашний джуниор в ДС-2? Интересуют зарплатные вилки в нетто выражении.

Ответы42183

10 авг, 21:59 #375 #1042183

>>1042180
Меньше 50 не проси.

Ответы4218442185

10 авг, 22:01 #376 #1042184

>>1042183
Вы охуели что ли?

Ответы4218742191

10 авг, 22:01 #377 #1042185

>>1042183
Бакесов в час?

Ответы42187

10 авг, 22:03 #378 #1042187

>>1042184
Почему охуели?

>>1042185
килорубасов в месяц

10 авг, 22:12 #379 #1042191

>>1042184
Если просить меньше, то ты подписываешься под тем что ты тварь дрожащая. Студентоте с 0 опыта 50 дают.

Ответы42303

10 авг, 23:27 #380 #1042230

Блядь как в этой ебаной виндовс шрифты удалить? Хром ебаный тянет все время локальный шрифт, а не его аналог с гуглофона, локальный корявый пиздос. Удалиться не удаляется, потому что УЖЕ ИСПОЛЬЗУЕТСЯ блядь, перезагрузил, а вот хуй, они уже все сразу заняты и хуй удалил.

11 авг, 00:47 #381 #1042262

Джуном получаю 900 баксов в месяц в ДС.
Американская компания, работаю с бекбоун.

Ответы4227342281

11 авг, 01:12 #382 #1042273

>>1042262
И что?

11 авг, 01:25 #383 #1042281

>>1042262
как долго учил жс?

Ответы42296

11 авг, 02:10 #384 #1042296

>>1042281
Почитал книжку по жс, примерно месяц поделал задачки и начал искать работу.

sage 11 авг, 03:14 #385 #1042303

>>1042191
Охуеть, значит любой даун сможет так зарабатывать? И в чем прелесть программирования тогда.

Ответы42335

11 авг, 07:21 #386 #1042335

>>1042303
>50к
>зарабатывать

Ответы42344

11 авг, 08:22 #387 #1042339

>>1042101
Это вопрос? Да, есть. Платные. Бесплатные хероку-говна уровня. Нахуя для бложика не статика?

11 авг, 09:05 #388 #1042344

>>1042335
> 150к
> зарабатывать

Ответы4238642413

11 авг, 10:20 #389 #1042386

>>1042344
>300к гривен
>зарабатывать

Ответы42391

11 авг, 10:25 #390 #1042391

>>1042386
Грывни это рубли деленные на 2.5, математик хуев.
А вообще в треде лучше никого не слушать - тут один джуны и капелька пре-мидлов, так что дельных советов не услышишь - надо идти на тематические форумные тусовки.

Ответы42393

11 авг, 10:28 #391 #1042393

>>1042391
Форумы для даунов застрявших в 2001

Ответы42399

11 авг, 10:30 #392 #1042399

>>1042393
Сейчас они имеют вид аля пикабушечки.
Типо вместо отедьлной темы - ПОСТ, и под ним в комментах сидят бурлят.
Хабр тоже не просто новостной агрегатор

Ответы42403

11 авг, 10:32 #393 #1042403

>>1042399
Лучше на гиттере найти уютненькую комнатку единомышленников. И квалификация повыше, и узкоспециализированную конфу найти не проблема, да и общение поактивнее будет.

11 авг, 10:37 #394 #1042413

>>1042344
Сегодня видел на HN плач о том что 50к зеленых в год это джуновская зп.

Ответы424154242542552

11 авг, 10:38 #395 #1042415

>>1042413
50к предлагают рабам из снг на первом этапе. -30% налогов, выходит примерно как в дс-x

Ответы4243042691

11 авг, 10:49 #396 #1042425

>>1042413
Для Bay area это копейки, например.

11 авг, 10:53 #397 #1042430

>>1042415
Джуном без опыта 500$ на первой работе получал на руки.
Надо просто знать куда ломиться.
Я вообще первый годик по стартапам тусил, там проще с устровойством в разы.
А потом уже можешь на свою макака-галеру веслорабом устраиваться и гребсти с другими рабами.

Ответы42437

11 авг, 10:59 #398 #1042437

>>1042430
50к баксов в год если че

Ответы42460

11 авг, 12:04 #399 #1042460

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

Ответы42692

11 авг, 12:42 #400 #1042474

Слушайте слушайте, есть проблема, я неплохо разбираюсь в js, сейчас дрочу react, с этим проблем вообще нет, но очень плохо могу в css, анимации, трансформации, всякие трюки, меня хватает на bootstrap для стилизации, насколько вообще критично фронту шарить в верстке, недели две ищу работу и очень много где требуют "хорошее знание css/адаптивная верстка/хуй пизда джигурда. Бросать все и учить css или искать нормальную контору, где этим занимается верстак?

Ответы4247542478

11 авг, 12:43 #401 #1042475

>>1042474
Я сами стили-то понимаю, чужой код понять смогу, но когда начинаю свой css писать, все идет по пизде.

11 авг, 12:47 #402 #1042478

>>1042474
Ты же мордой занимаешься, не знать как морду пилить - как минимум хуйово.
Ну это не главное, но понимать как это работает надо, и по хорошему из версталы становиться жс макакой надо.
Ну в это въехать не сложно, так что для базы посиди на хабре почитай статьи по верстке. Главное чтоб ты въезжал как тебе сделать какой-то блок и как это сделать (костылями не костылями - но хоть как нибудь).
Это не сложно, так что быстро въедешь и базы вполне хватит, если близко с этим не работаешь.

Ответы42485

11 авг, 13:00 #403 #1042485

>>1042478
Спасибо, я понял, буду не отдельно свойства учить, а элементы страниц верстать

11 авг, 14:14 #404 #1042542

>>1041782
ух ваще! спасибо. вот тока терь проблема. на моем проекте реакт, который пилится с 14 года, где про это даже не слыхали.

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

очень странно, чо я только ща узнал про этот стаф

11 авг, 14:15 #405 #1042543

>>1042150
он не бесплатный, на работе мне бабла не дадут, а сам по себе я бомж, жлоб, ебал,

Ответы42766

89 Кб, 696x686

11 авг, 14:15 #406 #1042544

Обожаю реакт.

Ответы425534271442753

11 авг, 14:31 #407 #1042551

Ребята, жс это не с++, на нем реально легко писать. Даже думать особо не надо. Есть заковыристые вещи, но сейчас ведь один реакт, можно правой пяткой набирать код и будет все ровненько.

Ответы4255442557

11 авг, 14:32 #408 #1042552

>>1042413
Но 50к в год это около 4к$, с вычетом налогов+оплатой жилья много ли остаётся? Зарплата среднего врача или фризеровщика. 70к$+ уже более менее хорошая зп чтобы жить в крупном городе.

11 авг, 14:32 #409 #1042553

>>1042544
о, кстати, хороший вопрос: как гулять по стеку в рамках VSCode с учетом разбивки модулей, так чтобы стек движка не был настолько подробный? чтобы если что-то падало, небыло бы видно стека из минифицированного реакта? как в любом нормальном языке

Ответы42940

11 авг, 14:33 #410 #1042554

>>1042551
>легко писать
>думать не надо
>можно правой пяткой набирать
КАК ЖЕ Я НЕНАВЖУ JS

11 авг, 14:39 #411 #1042557

>>1042551
>сейчас ведь один реакт
ангулар не осилил? тайпскрипт сложно дохуя?

Ответы42577

11 авг, 15:36 #412 #1042577

>>1042557
> ангулар не осилил? тайпскрипт сложно дохуя?
Что там осиливать?)) Ты правда считает что осилить жс фреймворк это какой то подвиг?

Ответы42652

11 авг, 15:58 #413 #1042589

сап сеньеры, через пару месяцев собес в <epam/> кто нить в курсе насколько жестко, вот думаю отказаться от их предложения прийти пообщаться т.к. кажется что не вывезу. могу попросить написать через год, а за это время sicp'ом и гоф'ом измазаться

Ответы426014268842824

11 авг, 16:20 #414 #1042601

>>1042589
поешь? танцуешь? играешь на кожанном инструменте?

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

11 авг, 18:00 #415 #1042652

>>1042577
>Ты правда считает что осилить жс фреймворк это какой то подвиг?
Как видно по моему опыту, второй некоторые таки не осиливают.

Ответы42733

11 авг, 18:53 #416 #1042688

>>1042589
> отказаться от их предложения прийти пообщаться т.к. кажется что не вывезу
Совсем дебич?
> sicp'ом и гоф'ом измазаться
Ебать ты долбоёб, земля тебе пухом, братишка

Ответы42825

11 авг, 18:56 #417 #1042691

>>1042415
Блять ну не знаю, я получаю 24к бачей по текущему курсу и это считается нормальная мидловая зп в ДС. Джунов беру на почти в 2 раза меньше.

Ответы42698

11 авг, 18:57 #418 #1042692

>>1042460
> на ремоуте кому-то втюхаться
> ремоут
НЕВОЗМОЖНО
Е
В
О
З
М
О
Ж
Н
О

11 авг, 19:00 #419 #1042698

>>1042691
Это после налогов. Накининь хотя бы и 13%, а лучше все 50, которые платит твой работодатель.

11 авг, 19:30 #420 #1042714

>>1042544
propTypes?

11 авг, 19:51 #421 #1042733

>>1042652
тайпскрипт?
а что там осиливать, микрософт дебики решили запилить классы и прочий ооп.
И все бы ничего, но компания эта уже себя показала и я бы побоялся использовать их говно в продакшене.

Ответы43024

11 авг, 20:08 #422 #1042753

>>1042544
что такое source maps

Ответы42855

11 авг, 20:18 #423 #1042766

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

11 авг, 21:31 #424 #1042824

>>1042589
да не, я понимаю что оно не особо в работе нужно около 3х лет на реакте верстаю да на буцтрапе программирую прост. и так не особо комфортно на собеседованиях себя чувствую, а если поднажмут, могу и на тупой хуйне как дите облажаться

Ответы42825

11 авг, 21:31 #425 #1042825

>>1042688
тебе
>>1042824

11 авг, 22:27 #426 #1042855

>>1042753
Хуйяйпс. Это create-react-app, сурсмапы там есть.

12 авг, 00:33 #427 #1042921

Буду учить ангуляр 2.0, какие подводные?

Ответы4292242937

12 авг, 00:34 #428 #1042922

>>1042921
Начнешь говорить странными словами и срать под себя.

Ответы42924

12 авг, 00:37 #429 #1042924

>>1042922
>странными словами
жяваскрипт не говно
>срать под себя
чек.

Ответы42926

12 авг, 00:56 #430 #1042926

>>1042924
>жяваскрипт не говно
Говно говняное, но скоро исправят http://www.mono-project.com/news/2017/08/09/hello-webassembly/

12 авг, 01:04 #431 #1042931

пойду к вам джуном на удаленку 23$\месяц
animenarutofanatuzumaki5vgnarutoANUSmaQuMilPUNCTUMr^l,u
я не тролль

Ответы4293343035

12 авг, 01:20 #432 #1042933

>>1042931
У меня так фронтендщик умер

Ответы42935

12 авг, 01:28 #433 #1042935

>>1042933
не понял

12 авг, 01:33 #434 #1042936

Вопрос про firefox developer tools.
Есть ли какой-нибудь способ сделать разбивку исходников в firefox devtools по папкам? Сейчас это выглядит как список всех js файлов, которые были загружены. А если используется, к примеру webpack, который генерирует sourcemap, то в devtools список всех модулей, которые были сгенерированы. Это крайне неудобно, можно сделать как в Chrome?
Использую Chrome давно, но хотелось бы получить какой-нибудь user experience от firefox, пока что на мой взгляд вообще не юзабельно для разработки. Возможно я просто что-то делаю не так. Firebug не предлагать, так как он уже вроде как устарел и не обновляется.

12 авг, 01:34 #435 #1042937

>>1042921
Typescript тоже придется выучить. От него двоякое впечатление, кто-то от него радугой блюет, а кто-то как я, не оценил его возможностей.

Ответы42938

12 авг, 01:37 #436 #1042938

>>1042937
Он не нужен

Ответы42941

12 авг, 01:39 #437 #1042940

>>1042553
При чем тут VS Code? Тут в браузере упало. Если надо отлаживать под VS Code наверняка есть какие-то дополнения для него, хотя я хз вообще как ты это делаешь и зачем. Стек всегда полный, показывает трейс от и до все точки во всех функциях, через которые прошел упавший синхронный (а со специальным включенным параметром в Chrome и асинхронный) вызов функции. В любом нормальном языке список такой же. Не знаю считаешь ли ты Java нормальным языком, но там еще пизже показан трейс из вложений хуевой тучи абстракций, есть даже картинка как это все там выглядит, но искать я ее не буду.

12 авг, 01:40 #438 #1042941

>>1042938
Для разработки под второй ангуляр он таки да, не обязателен. Но это тоже самое что писать под React с использованием одного только JS без JSX, то есть крайне неудобно. Хотя в целом соглашусь наверное, ошибки типизации идут от кривизны рук и отсутствия соглашений.

12 авг, 02:00 #439 #1042943

кто-нибудь использует только ванильный js и css?

Ответы4296443026

12 авг, 07:59 #440 #1042964

>>1042943
Я использую. Уже 15 лет как.

Ответы42972

12 авг, 08:44 #441 #1042972

>>1042964
я имею в виду без фреймворков вообще
куда ни посмотрю везде реакт\ангулар\жквере\нодежс

Ответы42977

12 авг, 09:17 #442 #1042977

>>1042972
Я же написал. 15 лет уже пишу.
Аnode.js это не фреймворк, а рантайм.

Ответы43000

12 авг, 10:03 #443 #1043000

>>1042977
>не фреймворк, а рантайм
Не программист, а говноед

12 авг, 10:58 #444 #1043024

>>1042733
>компания эта уже себя показала
MS в плане исследований и новый направлений всегда хороши, а их технологии живут благодаря долгой поддержке. По сравнению с гуглом, это хорошие вещи.

12 авг, 11:00 #445 #1043026

>>1042943
Зачем заново изобретать велосипед? Ты ведь сам придешь со временем к какому-нибудь простому фреймворку типо backbone/react чтобы снизить число копипастного кода.

Ответы43029

12 авг, 11:04 #446 #1043029

>>1043026
Двачую, переехал из Джавы, тут же уебался об ваше ебучее прототипное наследование, невозможность типизировать данные. Пару недель назад узнал про React и моя жизнь изменилась. Охуенная штука, зависимость есть. А еще и РЕДАКС!

Ответы43036

12 авг, 11:11 #447 #1043035

>>1042931
Линк на гитхаб давай.

Ответы43044

12 авг, 11:13 #448 #1043036

>>1043029
Пока не поздно посмотри на elm purescript ты все равно не осилишь, ибо жабомакака, редакс так вообще по сути под копирку с elm arch сделали

12 авг, 11:35 #449 #1043044

>>1043035
гитхаба нет линка тоже
скажи что сделать сделаю

Ответы430454304643048

12 авг, 11:40 #450 #1043045

>>1043044
Хули ты хочешь? Без своего кода просишься на удаленку. Кто тебя заочно возьмет так?
Портфолио набирай.

12 авг, 11:41 #451 #1043046

>>1043044
Хороший план Мойша. Школьники на fl.ru ждут твоих предложений

12 авг, 11:45 #452 #1043048

>>1043044
1) Делаешь аккаунт на гитхабе.
2) Берешь create-react-app
3) Делаешь калькулятор займов: два селектора (придумай опции сам), поле для ввода суммы, выбор срока, ридонли поле с результатом (формулу придумай сам)
4) Заливаешь полученный результат на жидхаб (если осилишь gh-pages, +бал)

Ответы43049430534306443205

12 авг, 11:49 #453 #1043049

>>1043048
Бля, ну я такую хуйню для своих группашей платно на 1 курсе делал. Дай ему что-то посерьезнее.

Ответы43055

12 авг, 11:53 #454 #1043053

>>1043048
а куда кидать ето

Ответы43055

12 авг, 11:55 #455 #1043055

>>1043049
>>1043053
Ты же не хочешь, чтобы он убежал в слезах смотреть аниме дальше?

12 авг, 12:12 #456 #1043062

Ребята, дам вам совет. Бросайте жс, начните учить что нибудь серьезное, типо java, c++, c#.
Ищите работу с ними джуноми за еду, потом фриланс. Хороший с++ фрилансер получает 4-5к долларов в месяц.

Ответы43199

12 авг, 12:14 #457 #1043064

>>1043048
А что можно осиливать в гитхаб пейджес, это же просто галочку в настройках репозитория поставить

Ответы43067

12 авг, 12:17 #458 #1043067

>>1043064
А теперь вспомни себя в тот день, когда "контроль версий" для тебя не значил ничего.

Ответы43070

12 авг, 12:19 #459 #1043070

>>1043067
Лол, я за 4 года работы в комманде сабмодулями и ребейзом пользоваться не научился.

12 авг, 12:21 #460 #1043072

Я дико извиняюсь за ультра-нубский вопрос, но блять где вы, жс-пидорыгоспода проверяете свою писанину?
То есть вот я, свой богоподбный пистоновый код открываю в терминалецмд интерпретатором питона. Но что делать с жаба скриптом - ума не приложу.

Ответы43074430804308843123

12 авг, 12:22 #461 #1043074

>>1043072
f12
node cli

4 Мб, webm, 352x240, 0:24

12 авг, 12:22 #462 #1043075

Здарова, бандиты. Мне нужно запилить простенький сервис, который должен будт регистрировать аккаунт для пользователя, принимать от него данные и обрабатывать их. В интерфейсе нужны кнопки и карусельки, типа как у впаше при просмотре изображений. Я ничего особенно не знаю, кроме пистона, ну и по мелочи хтмл/цсс тащемта могу наверстать это быстро
Знающий анон, скажи, что мне понадобится для реализации этой ебатеки? Джанга, фласк? А может лучше НАСТЯ вообще что-то другое начать учить, типа джава скрипт или еще какой хуйни. Я вообще не не шарю в вебе.

12 авг, 12:32 #463 #1043080

>>1043072
Алсо как делают жскрипт, который сработает если закинуть его в адресную строку браузера?
Делал свое говно даже в одну строку, все равно не пашет. открывается гогольсерч который показывает результаты поиска по моему говнокоду, лол

12 авг, 12:43 #464 #1043088

>>1043072
Все питонщики такие мудаки и не умеют пользоваться браузерами?

Ответы43090

12 авг, 12:44 #465 #1043090

>>1043088
Я не питонщик, приятель. Я хэлловорлдщик.

Ответы43094

12 авг, 12:51 #466 #1043094

>>1043090
В любом современном, не маргинальном браузере, есть консоль. Открывается по f12. Если тебе нужно окружение браузера.

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

Про вопрос с кодом в адресной строке, есть такая URL-схема, как javascript.
example
>javascript:alert('тыхуйбля')

Ответы43096

12 авг, 12:53 #467 #1043096

>>1043094
>javascript:alert('тыхуйбля')
имей ввиду, что, например хром (как остальные не знаю), не даст тебе просто так взять и скопипастить это в адресную строку. Поэтому схему писать надо ручками.

12 авг, 14:30 #468 #1043123

>>1043072
NodeJS поставь и хеллоуворлдь
app.js:
console.log('Hello world!');

node app.js

Не слушай пидоров с их вонючими браузерками. Вебпараша нахуй не нужна.

Ответы4312843130

12 авг, 14:33 #469 #1043128

>>1043123
> Вебпараша нахуй не нужна
Из 2007 капчуешь?

Ответы43131

12 авг, 14:34 #470 #1043130

>>1043123
>Вебпараша нахуй не нужна
Что ты тогда в вебе сидишь, мудак? Иди нахуй на улицу гулять.

Ответы43131

12 авг, 14:42 #471 #1043131

>>1043128
>>1043130
Смотрите-ка как мощно вебдауны рвутся. Неспособны осилить ничего, кроме своей реакт-хуякт-вебпараши, оценить жс в разрезе дизайна ЯП, только и могут, что полыхать, лол.

Ответы431394318843199

12 авг, 15:12 #472 #1043139

>>1043131
>Неспособны осилить ничего
Ты прекрати делать подобные выводы о людях, основываясь на собственной компетенции.

12 авг, 16:09 #473 #1043188

>>1043131
С чем будем сравнивать?

Ответы43191

12 авг, 16:14 #474 #1043191

>>1043188
Тебе, очевидно, не с чем сравнивать.

12 авг, 16:42 #475 #1043199

>>1043062
>серьезное,
>типо java, c++, c#
Конпилируемые параши с обязательными паблик-статик-фабриками-синглтонов, чтоб макаки не охуевали в кандалах. Из-под барского сапога писать — это тебе не массив с числом складывать в рантайме и получится строка, какие уж тут шутки. Барин хороший, барину видней.

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

Ответы43302

33 Кб, 380x440

12 авг, 16:54 #476 #1043205

>>1043048
зашел на fl.ru там отзыв от 299 р оставить можно
https://www.fl.ru/projects/3371248/kalkulyator-rascheta-na-sayt.html#hiddenOfferInfo
получилось:
https://besplatniuidnusskiuhost.000webhostapp.com/
https://github.com/o78/1/blob/master/fl.html
до этого делал еще один калькулятор на пхп и мскл и линкатер
потихоньку в реакт вкатываюсь
гит прекольный кстати его через командную строку там делать нужно я на гентоо сижу мне так даже удобнее

Ответы4323943771

48 Кб, 801x783

12 авг, 17:31 #477 #1043224

Не понимаю, помогите. Как в данном случае вообще работает возвращаемый объект?

1.У него нет названия, он не сохранен ни в какую пеерменную или свойство внешней функции. Это вообще роли не играет?

2. Почему методы этого объекта считаются методами внешней функции? С какой радости мы имеем право писать вот это counter.getNext() и даже получать вменяемый результат? В моем понимании эти методы относятся к обозначенному "анонимному", хз как его еще назвать, объекту. Или return их присваивает внешней функции?

Ответы4322543247433224332543425

12 авг, 17:35 #478 #1043225

>>1043224
ооп головного мозга?

У тебя есть объект, часть полей которого являются методами. Да это анонимный объект. Нет не нужно объявлять класс для этого.

Ответы43230

12 авг, 17:46 #479 #1043230

>>1043225
>ооп головного мозга?
Нет, я слишком нуб для такого, только начал учить. Что такое поля?

Ответы43236

33 Кб, 500x508

12 авг, 17:55 #480 #1043236

>>1043230
Ну карочи объект это типа розеткус пикрелейтед.
У него есть поля (дырдочки). Поля могут быть разного типа, числа, строки, функции, другие объекты и т.п.
Можно на лету добавлять новые или удалять старые. Так и живем.

Ответы43242

12 авг, 18:01 #481 #1043239

>>1043205
Ну так шо, ты согласен работать за 1.5к/месяц?

Ответы433084352443525

12 авг, 18:08 #482 #1043242

>>1043236
А-а-а, понял, спасибо.

12 авг, 18:16 #483 #1043247

>>1043224
>Это вообще роли не играет?
Нет, важно то, что этот объект доступен для обращения через переменную counter.

>Почему методы этого объекта считаются методами внешней функции?
Методы возвращенного объекта не считаются методами "внешней" функции. Функция просто возвращает объект с такими полями "методами". Она точно так же могла возвращать любое другое значение, строку, число, что угодно еще. Самой функции от этого не тепло не холодно.
>С какой радости мы имеем право писать вот это counter.getNext()
Мы имеем на это право после того, как определили такое поле в возвращенном объекте. counter же и есть тот самый возвращаемый объект.

>даже получать вменяемый результат
Этот пример написан, чтобы продемонстрировать как работают скоупы. Благодаря этому механизму и получается вменяемый результат. Вызов функции makeCounter создает контекст ее выполнения. В нем объявляется и инициализируется переменная currentCount. В ней же при каждом вызове создается и возвращается новый объект, который мы в дальнейшем используем как counter. Поскольку и переменная currentCount и возвращаемый объект были созданы в одном контексте, методы возвращаемого объекта могут обращаться к этой переменной. Это как если бы возвращаемый объект "захватил" контекст вызова функции в котором он был создан и продолжал его "удерживать" пока существует сам. Так переменная currentCounter связывается с возвращаемым объектом.

Ответы4325043295

12 авг, 18:27 #484 #1043250

>>1043247
Спасибо за подробности, анончик, я чувствую что сейчас ебанусь. Надо сделать перерыв...

Ответы43251

18 Кб, 1860x131

12 авг, 18:28 #485 #1043251

>>1043250

12 авг, 20:08 #486 #1043295

>>1043247
Я снова тот анон с вопросами, который теперь немного успокоился. В общем, все понятно, кроме того как... ммм... В общем, смотри, правильно ли я понял?

У нас есть функция. Если она ничего не возвращает, то она равна undefined. Но в нашем случае она возвращает объект, в котором есть методы. Это не значит, что эти методы теперь принадлежат внешней по отношению к данному объекту функции. НО! Как я понял, сам факт вызова этой функции возвращает этот объект и эээээтоооо... Это как будто мы просто вызвали объект? В смысле, если как если бы вообще никакой функции не было, а мы просто создали пустой объект и вызвали его, типа, покажи че там у тебя. Но поскольку объект не пуст, а с методами, мы можем и методы вызвать. А право писать counter.getNext() мы имеем потому, что counter.некий_метод это то же самое, что просто_объект_а_не_функция.некий_метод? Разница в том, что если бы мы просто создали объект, он не имел бы собственного лексического окружения и работал бы только с глобальными переменными, а если оформить через функцию, то переменную currentCount можно скрыть. Да? Я правильно понял?

Ответы43299

12 авг, 20:16 #487 #1043299

>>1043295
Т.е. сам факт возврата объекта из функции означает, что при её вызове мы, по сути, работаем с этим самым объектом?

Надеюсь ты понимаешь суть вопроса, а то я могу как мудак спрашивать. Уточни если что.

Ответы43317

12 авг, 20:20 #488 #1043300

Заставить бы вас всех уебков асм выучить, да разобраться как вообще компьютер устроен, чтобы вопросов тупых не задавали.

Ответы4330543307

12 авг, 20:21 #489 #1043302

>>1043199
> Ну дык попробуй оценить
Детектор почини, дегенератина, жс один из моих любимых языков.

12 авг, 20:26 #490 #1043305

>>1043300
Я бы с радостью. Если покажешь где учить.

Ответы43311

12 авг, 20:34 #491 #1043307

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

Ответы43311

12 авг, 20:34 #492 #1043308

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

Ответы4331243732

12 авг, 20:40 #493 #1043311

>>1043305
Таненбаум.
>>1043307
https://www.youtube.com/watch?v=UIUlFQH4Cvo&list=PLoJC20gNfC2gpI7Dl6fg8uj1a-wfnWTH8&index=1

12 авг, 20:40 #494 #1043312

>>1043308
Ты про мрот слышал? Кому ты нужен, налогов столько за тебя платить.

Ответы43459

12 авг, 20:57 #495 #1043317

>>1043299
>Т.е. сам факт возврата объекта из функции означает, что при её вызове мы, по сути, работаем с этим самым объектом?
Если я правильно понял твой вопрос, то не совсем так. Обрати внимание на
https://developer.mozilla.org/ru/docs/Web/JavaScript/Guide/Working_with_Objects
>Создание новых объектов
>Использование инициализаторов объекта
Запись вида {...} создает новый объект. Это значит что каждый раз, когда будет вызываться внешняя функция makeCounter, будет создаваться +1 новый объект и он будет возвращаться как результат выполнения. Главное здесь, что конструкция {...} создает каждый раз новый объект.

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

В этом примере в самом деле нет ничего особенного просто функция возвращает просто значение. Она так написана, что это значение является создаваемым внутри функции объектом, но оно опять же могло быть чем угодно. То, что делает этот пример примечательным, это использование скоупа для "хранения" переменной currentCount.
Довольно часто можно увидеть такой прием на практике. Например, модный молодежный redux через это работает.
https://github.com/reactjs/redux/blob/master/src/createStore.js#L247
Для понимания нужно просто разделять саму функцию как набор инструкций для совершения каких-либо действий и контекст ее выполнения. Контекст создается каждый раз, когда функция вызывается, внутри этого контекста каждый раз инициируется переменная currentCount и там же создается новый возвращаемый объект.
Опять же поскольку и переменная и объект разделяют в этом момент один контекст, "методы" объекта могут обращаться к переменной currentCount.

Если ты что-то другое имел в виду, то уточни, пожалуйста.

Ответы43439

12 авг, 21:04 #496 #1043322

>>1043224
return и в африке return. просто то, что возращает функция. выглядит некрасиво все же

Ответы4332943389

12 авг, 21:12 #497 #1043325

>>1043224
хотя интересно, что без ретерн эта хрень не работает Эврика! Так вот как делается ооп в жс. надо просто ретерн со скобочками перед методами ставить. ну спасибо что научил

12 авг, 21:24 #498 #1043329

>>1043322
> return и в африке return.
> ограниченное мышление
https://www.haskell.org/hoogle/?hoogle=return

12 авг, 22:41 #499 #1043385

Сап братва, у меня тут хуй застрял между зубами, никак снять не могу, помогите плиз.
изучаю нод джс, а точнее адаптер монгоосе. Так вот, есть у меня некая схема https://pastebin.com/6yVUtj2j , мне вот что интересно, вот есть допустим интерфейс, в котором есть поле для ввода, и я хочу, чтоб сабмит этого поля добавлялся в массив по ключу ebaliMamkuOdmena в виде объекта
{_id: id,
body: text,
timestamp: new Date(),
ktoEbal: userName}
прочитал документацию, но никак не смог понять как это среализовать, помогите плиз

12 авг, 22:43 #500 #1043389

>>1043322
>2017
>возвращать объекты из функций вместо божественных Promise-ов

Ответы43418

12 авг, 22:54 #501 #1043400

Устроим перепись долбоебов? Кто из вас без подглядывания в гугл знает что такое TLB?

Ответы43411

12 авг, 23:03 #502 #1043411

>>1043400
>TLB
умник блять нашелся

12 авг, 23:11 #503 #1043418

>>1043389
>2017
>использовать промизы вместо async/await

Ответы4342143424

12 авг, 23:13 #504 #1043421

>>1043418
А это не одна хуйня?

мимо-диезо-господин-с-async/await-Task<>-Cancellation-уже-лет-7-как

Ответы43432

12 авг, 23:15 #505 #1043424

>>1043418
>2007
фикс

12 авг, 23:17 #506 #1043425

>>1043224
>1.У него нет названия, он не сохранен ни в какую пеерменную или свойство внешней функции. Это вообще роли не играет?
Название есть у переменной, объект это СОДЕРЖИМОЕ этой переменной. Точно такое же, как 123 или "Hello world!", например.

> 2. Почему методы этого объекта считаются методами внешней функции? С какой радости мы имеем право писать вот это counter.getNext() и даже получать вменяемый результат? В моем понимании эти методы относятся к обозначенному "анонимному", хз как его еще назвать, объекту. Или return их присваивает внешней функции?
У тебя counter - это переменная, в которой хранится ссылка на объект. Запись counter.getNext() означает:
1) получить объект, который хранится в переменной counter;
2) вызвать метод (поле-функцию) getNext() у этого объекта.

Ответы43449

12 авг, 23:20 #507 #1043432

>>1043421
Пользуясь аналогиями, промизы - это GOTO, async/await - это циклы WHILE и FOR. Хотя работает одинаково, но второй вариант читабельнее.

Ответы43438

12 авг, 23:26 #508 #1043438

>>1043432
Какая-то хуевая аналогия, цикл на goto почти так же читается, в некоторых языках вообще рекурсия вместо циклов и ничо. А вот continuations с запоминанием и возвращением в контекст нихуя блять не делаются в принципе, если язык их не поддерживает. Только коллбек хелл.

12 авг, 23:27 #509 #1043439

>>1043317

Да, я другое имел в виду. Сначала скажу предысторию.

Я начал сначала учить верстку, хтмл/цсс, сверстал свой сайтик и тд, понял что этого мало и решил учить джаваскрипт. Т.е. программирование для меня - это нечто новое, и все что я знаю из айти на сегодня - это хтмл/цсс. Наверное, ты тоже знаешь цсс? Если да, тебе знакома такая вещь как селектор с некоторой вложенностью. Например, есть такой код хтмл:

<div class="blabla_1">
<div class="ololo">
<div></div>
</div>
<div class="ololo"></div>
<div class="ololo"></div>
</div>

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

.blabla_1 .ololo div {
color: green;
}

Очевидно: в элементе с классом .blabla_1 лежит элемент с классом ololo в котором лежит некий блок div.

Вот это то к чему я привык. И сейчас я вижу функцию, в которой есть объект с методами, но это выглядит так будто мы вызываем методы, которые принадлежат функции как объекту, т.е. в моей голове ломается условный "селектор". Вот что должно было быть написано, что бы запись counter.getNext() не сломала мне мозг:

var currentCount = 1;

var counter = {

getNext: function() {
return currentCount++;
},

set: function(value) {
currentCount = value;
},

reset: function() {
currentCount = 1;
}
} //просто объект с методами

//ИЛИ

function makeCounter() {
var currentCount = 1;
}

makeCounter.getNext = function() {
return currentCount++;
};

makeCounter.set = function(value) {
currentCount = value;
};

makeCounter.reset = function() function() {
currentCount = 1;
};
//Мы записали в функцию методы как в объект и они теперь принадлежат ей.

В таком случае все ясно если думать как врестальщик: есть объект counter? Есть. Пишем селектор: counter. В нем есть метод? Есть. Вложенность - через точку, пишем: counter.getNext()
Держим в уме, что этот метод может вызваться только в этом объекте, т.е. селектор обладает ооооочень высокой специфичностью. И тут ВНЕЗАПНО мы делаем анонимный объект, пишем "селектор" через функцию и все это как-то работает! КАКОГО ХУЯ!!!!!!!!!!!!!!!!!!!!!!!!!

Вот я и пытаюсь понять, в какой момент мы подменили объект на функцию. Как я понял, и понял, скорее всего, неправильно, это то что return внутри функции логически "вытягивает" содержимое объекта и ложит непосредственно в функцию и даже начинает её объектом_Васей, а не функцией_Сирожей.

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

12 авг, 23:27 #509 #1043439

>>1043317

Да, я другое имел в виду. Сначала скажу предысторию.

Я начал сначала учить верстку, хтмл/цсс, сверстал свой сайтик и тд, понял что этого мало и решил учить джаваскрипт. Т.е. программирование для меня - это нечто новое, и все что я знаю из айти на сегодня - это хтмл/цсс. Наверное, ты тоже знаешь цсс? Если да, тебе знакома такая вещь как селектор с некоторой вложенностью. Например, есть такой код хтмл:

<div class="blabla_1">
<div class="ololo">
<div></div>
</div>
<div class="ololo"></div>
<div class="ololo"></div>
</div>

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

.blabla_1 .ololo div {
color: green;
}

Очевидно: в элементе с классом .blabla_1 лежит элемент с классом ololo в котором лежит некий блок div.

Вот это то к чему я привык. И сейчас я вижу функцию, в которой есть объект с методами, но это выглядит так будто мы вызываем методы, которые принадлежат функции как объекту, т.е. в моей голове ломается условный "селектор". Вот что должно было быть написано, что бы запись counter.getNext() не сломала мне мозг:

var currentCount = 1;

var counter = {

getNext: function() {
return currentCount++;
},

set: function(value) {
currentCount = value;
},

reset: function() {
currentCount = 1;
}
} //просто объект с методами

//ИЛИ

function makeCounter() {
var currentCount = 1;
}

makeCounter.getNext = function() {
return currentCount++;
};

makeCounter.set = function(value) {
currentCount = value;
};

makeCounter.reset = function() function() {
currentCount = 1;
};
//Мы записали в функцию методы как в объект и они теперь принадлежат ей.

В таком случае все ясно если думать как врестальщик: есть объект counter? Есть. Пишем селектор: counter. В нем есть метод? Есть. Вложенность - через точку, пишем: counter.getNext()
Держим в уме, что этот метод может вызваться только в этом объекте, т.е. селектор обладает ооооочень высокой специфичностью. И тут ВНЕЗАПНО мы делаем анонимный объект, пишем "селектор" через функцию и все это как-то работает! КАКОГО ХУЯ!!!!!!!!!!!!!!!!!!!!!!!!!

Вот я и пытаюсь понять, в какой момент мы подменили объект на функцию. Как я понял, и понял, скорее всего, неправильно, это то что return внутри функции логически "вытягивает" содержимое объекта и ложит непосредственно в функцию и даже начинает её объектом_Васей, а не функцией_Сирожей.

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

Показать весь текст
Ответы434494345243470

12 авг, 23:36 #510 #1043449

>>1043425
>Название есть у переменной, объект это СОДЕРЖИМОЕ этой переменной. Точно такое же, как 123 или "Hello world!", например.

Но ведь мы можем туда вписать десяток таких объектов без имен. Как оно поймет, который именно мы имеем в виду?

>counter - это переменная, в которой хранится ссылка на объект

Тот же вопрос. С точки зрения css такой селектор не может работать т.к. выдаст слишком много результатов, т.е. он недостаточно специфичный. Вот это я написал>>1043439

Ответы4350543506

12 авг, 23:40 #511 #1043450

Если у вас есть еще настроение мне это объяснять, пишите, я обязательно прочитаю. Пока потихоньку буду раздуплять статью про работу с объектами на сайте Мозиллы и потом спать. Я реально тупой сейчас и плохо соображаю, но есть мотивация на это потратить столько времени, сколько нужно, пока не пойму. Подписался на тред, что называется.

12 авг, 23:41 #512 #1043452

>>1043439
Ты про замыкания вообще читал?

Ответы4346143463

13 авг, 00:06 #513 #1043459

>>1043312
А нахуй ты с такой работой нужны, которую никуда не запишешь?

Ответы43462

13 авг, 00:27 #514 #1043461

>>1043452
Читал.

13 авг, 00:28 #515 #1043462

>>1043459
Пиши в резюме что хочешь, никто не проверяет.

Ответы43467

13 авг, 00:29 #516 #1043463

>>1043452
Вот что такое замыкание по версии сайта лерн джаваскрипт:
>Замыкание – это функция вместе со всеми внешними переменными, которые ей доступны.

ВНЕШНИМИ, ты понял? А я не понимаю кка работает внутренняя единица, в данном случае объект внутри функции.

Ответы43466

13 авг, 00:31 #517 #1043465

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

Ответы43466

13 авг, 00:32 #518 #1043466

>>1043463
>>1043465
Йобаный свет, да почитай ты уже как машина ирл вызов процедур выполняет, с аргументами на стеке, вот это все. Пиздец какой-то.

Ответы4346843492

13 авг, 00:33 #519 #1043467

>>1043462
Хорошо.
В таком случае вопрос остается таким же. Зачем тратить время на компанию, которая платит гроши, официально ты в ней не значишься, когда в резюме можно писать что угодно?
Не проще ли перепрыгнуть этап с дешевой компанией и сразу искать нормальную?

Ответы43474

13 авг, 00:35 #520 #1043468

>>1043466
Успокойся. Выпей водички. Я уже сказал, что прочту статью.

13 авг, 00:39 #521 #1043470

>>1043439
Я кажется понимаю, что ты имел в виду. Проблема в том, что css и js принципиально разные типы языков. Я не на столько силен в формальных формулировках, кто знает лучше, пусть поправит. Css то, что называют декларативным языком, js императивным.
Работая над css ты задаешь набор правил, что должно быть на странице описывается селектором и как оно должно выглядеть стилями. При этом не обязательно на странице будут элементы, которые соответствуют всем селекторам в твоих таблицах стилей. Элементы могут динамически появляться и исчезать, но это не важно, потому что таблица стилей описывает набор правил по которым нужно находить элементы и применять к ним стили, а не состояние страницы.

Императивные языки нужно читать иначе, они описывают поэтапное решение проблемы шаг за шагом. Если таблицу стилей можно начать читать с любого места, может не всегда это будет удобно, но так или иначе можно в конце концов получить всю необходимую информацию, то чтобы понять код на императивном языке нужно проследить последовательное выполнение инструкций от начала до конца. А поскольку сферическое в вакууме выполнение инструкций смысла имеет немного, нужно еще отследить, как изменяется состояние программы при помощи этих инструкций.
Выглядит это в твоем примере примерно так:
1. Объявляется функция с именем makeCounter. С помощью этого имени можно ее "вызвать" то есть попросить js выполнить набор инструкций, описанных внутри этой функции в соответствии с правилами языка. На самом деле можно сделать еще много разных вещей, но сейчас это не важно.
2. Когда функция будет вызвана с этой строки начнется ее работа. Здесь объявляется переменная currentCount и ей присваивается значение 1. Это будет происходить каждый раз, когда будет вызваться функция. 1, 10 или 1 000 000 раз, не важно.
4. Используется оператор return. В момент выполнения функция возвращает значение, которое идет следом. Еще здесь используется {, начало конструкции, создающей новый объект. Это значит, что результатом работы функции будет созданный с помощью конструкции {...} новый объект.
5. В объекте определяется поле getNext, оно ссылается на функцию, которая будет вызываться при обращении к этому полю.
6. Тот же оператор return. В этот раз он будет возвращать значение переменной currentCount. Доступ к значению currentCount имеется благодаря правилу работы областей видимости переменных.
То же самое и для остальных полей возвращаемого объекта.

19. Отсюда начинается выполнение программы на скрине. Это первая инструкция в цепочке от начала до результата. здесь переменной counter присваивается значение, возвращаемое функцией makeCounter. makeCounter возвращает то, что определено при помощи оператора return(4), то есть новосозданный объект. В момент вызова makeCounter() контекст выполнения программы, то есть цепочка инструкций, переходит во внутрь функции makeCounter, то есть будут выполнены строки 2-16. После достижения оператора return контекст выполнения возвращается на строку 19, где переменной counter присваивается возвращенное функцией значение.
21. Выводится алерт с текстовым значением, возвращаемым getNext. Вернет оно то, что определено в операторе return, то есть значение currentCounter. Попутно currentCounter увеличивается на единицу.
22. Повторяется то же самое.
... дальше в принципе опять то же самое, за исключением того, что обращаются еще и к другому полю объекта.

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

13 авг, 00:39 #521 #1043470

>>1043439
Я кажется понимаю, что ты имел в виду. Проблема в том, что css и js принципиально разные типы языков. Я не на столько силен в формальных формулировках, кто знает лучше, пусть поправит. Css то, что называют декларативным языком, js императивным.
Работая над css ты задаешь набор правил, что должно быть на странице описывается селектором и как оно должно выглядеть стилями. При этом не обязательно на странице будут элементы, которые соответствуют всем селекторам в твоих таблицах стилей. Элементы могут динамически появляться и исчезать, но это не важно, потому что таблица стилей описывает набор правил по которым нужно находить элементы и применять к ним стили, а не состояние страницы.

Императивные языки нужно читать иначе, они описывают поэтапное решение проблемы шаг за шагом. Если таблицу стилей можно начать читать с любого места, может не всегда это будет удобно, но так или иначе можно в конце концов получить всю необходимую информацию, то чтобы понять код на императивном языке нужно проследить последовательное выполнение инструкций от начала до конца. А поскольку сферическое в вакууме выполнение инструкций смысла имеет немного, нужно еще отследить, как изменяется состояние программы при помощи этих инструкций.
Выглядит это в твоем примере примерно так:
1. Объявляется функция с именем makeCounter. С помощью этого имени можно ее "вызвать" то есть попросить js выполнить набор инструкций, описанных внутри этой функции в соответствии с правилами языка. На самом деле можно сделать еще много разных вещей, но сейчас это не важно.
2. Когда функция будет вызвана с этой строки начнется ее работа. Здесь объявляется переменная currentCount и ей присваивается значение 1. Это будет происходить каждый раз, когда будет вызваться функция. 1, 10 или 1 000 000 раз, не важно.
4. Используется оператор return. В момент выполнения функция возвращает значение, которое идет следом. Еще здесь используется {, начало конструкции, создающей новый объект. Это значит, что результатом работы функции будет созданный с помощью конструкции {...} новый объект.
5. В объекте определяется поле getNext, оно ссылается на функцию, которая будет вызываться при обращении к этому полю.
6. Тот же оператор return. В этот раз он будет возвращать значение переменной currentCount. Доступ к значению currentCount имеется благодаря правилу работы областей видимости переменных.
То же самое и для остальных полей возвращаемого объекта.

19. Отсюда начинается выполнение программы на скрине. Это первая инструкция в цепочке от начала до результата. здесь переменной counter присваивается значение, возвращаемое функцией makeCounter. makeCounter возвращает то, что определено при помощи оператора return(4), то есть новосозданный объект. В момент вызова makeCounter() контекст выполнения программы, то есть цепочка инструкций, переходит во внутрь функции makeCounter, то есть будут выполнены строки 2-16. После достижения оператора return контекст выполнения возвращается на строку 19, где переменной counter присваивается возвращенное функцией значение.
21. Выводится алерт с текстовым значением, возвращаемым getNext. Вернет оно то, что определено в операторе return, то есть значение currentCounter. Попутно currentCounter увеличивается на единицу.
22. Повторяется то же самое.
... дальше в принципе опять то же самое, за исключением того, что обращаются еще и к другому полю объекта.

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

Показать весь текст
Ответы4349243699

13 авг, 00:45 #522 #1043474

>>1043467
Какая кампания, маня? В кампании ты нахуй не кому не сдался. Я тебе по доброте душевной предлагаю упражняться за деньги, а ты выебываешься. Не хочешь, ну и сиди сычуй дальше, нахуй ты кому всрался.

Ответы43573

13 авг, 01:12 #523 #1043486

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

Ответы43548

13 авг, 01:17 #524 #1043489

скажите. мне на клиенте асинхронные функции и промизы надо использовать или это удел ноджсовцев-бэкендеров.

Ответы4349143493

13 авг, 01:21 #525 #1043491

>>1043489
Только продолжения, только хардкор!

13 авг, 01:27 #526 #1043492

>>1043470
вот это простыня.
>>1043466
байтоеб порвался найс

13 авг, 01:29 #527 #1043493

>>1043489
При работе с аяксовыми запросами конечно же нужно.

13 авг, 02:51 #528 #1043505

>>1043449
Который вписали в текущий момент, очевидно же.
В CSS переменных нет, там селектор связывается с определенным элементом раз и навсегда, это константа.

Ответы43549

13 авг, 02:54 #529 #1043506

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

Ответы43555

13 авг, 04:31 #530 #1043524

>>1043239
да офк

Ответы43525

13 авг, 04:32 #531 #1043525

>>1043524
>>1043239
куда писать?

13 авг, 09:45 #532 #1043548

>>1043486
открой для себя dom mutation events

13 авг, 09:46 #533 #1043549

>>1043505
>В CSS переменных нет
Как там в 2008ом?

13 авг, 10:14 #534 #1043555

>>1043506
Если человек не в состоянии осилить как работают переменные и что такое стек, то от монад у него чердак поедет.

Ответы43564

13 авг, 10:45 #535 #1043563

Блять не могу у Кантора понять строку в уроке.
Решение заключается в превращении obj.className в массив при помощи split. После этого в нем можно проверить наличие класса, и если нет – добавить.

сама строка:
var classes = obj.className ? obj.className.split(' ') : [];

што блять? тут же нет условия, что бы делать или-или. Ну похуй, перепишем в if.

if (var classes = obj.className) {
obj.className.split(' ')
} else [] /////што блять?

Как это работает? Пардон я тупой просто
Сам урок, первая задача
https://learn.javascript.ru/array-methods

Ответы435654356843977

13 авг, 10:46 #536 #1043564

>>1043555
Двачую этого.

79 Кб, 487x380

13 авг, 10:47 #537 #1043565

>>1043563

13 авг, 10:56 #538 #1043568

>>1043563
иди на завод долбаеб

13 авг, 11:04 #539 #1043573

>>1043474
если что это писал какой-то другой не понятно почему и для чего выползщий анон, лол
animenarutsYpofanatuzumakinarutoANUSmacv~ilPUNCTUMrsP(u

13 авг, 14:13 #540 #1043699

>>1043470

Огромное спасибо, анончик! Теперь все ясно окончательно, правда. Конечно, статью я тоже буду читать. Теперь я немножко менее дебил, благодаря твоим стараниям.

53 Кб, 535x528

13 авг, 14:58 #541 #1043732

>>1043308
теперь мне этот анон не отвечает и на мыло так и не написал все из-за тебя теперь точно поеду в польшу туалеты мыть ты доволен???

Ответы43771

13 авг, 15:55 #542 #1043771

>>1043732
Я нихуя не понял.
Вот это >>1043205 твоё?

Ответы43776

13 авг, 15:59 #543 #1043776

>>1043771
мое
за 1.5к готов 24\7 дрочить че угодно только не связанное с сексом плиз

Ответы43777

13 авг, 16:01 #544 #1043777

>>1043776
Верстать умеешь? flexbox понимаешь?

Ответы43785

404 Кб, 1239x496

13 авг, 16:10 #545 #1043783

Бамп отсосу хипстоблядей.

13 авг, 16:11 #546 #1043785

>>1043777
умею но опыта почти нет
в ццс что такое флексбокс знаю
с колонами верстал только на бутстрапе

Ответы43793

13 авг, 16:20 #547 #1043793

>>1043785
Отписал тебе за щеку, проверяй.

13 авг, 18:46 #548 #1043935

Ньюфаг в Nodejs в треде
Как отрубить выдачу ошибок в теле ответа? Использую экспресс+монгуз, и если, к примеру, пытаюсь кастануть к ObjectId неподходящую строку, то он вываливает в респонс следующую строку:
CastError: Cast to ObjectId failed for value "WRONGOBJECTID" at path "_id" for model "MyModel"
Не знаю, экспресс ли это так или монгуз ругается, но отрубить надо.

Ответы43939

13 авг, 18:51 #549 #1043939

>>1043935
Ну так обрабатывай эту ошибку в месте её возникновения как тебе нужно, а не пробрасывай дальше.

Ответы4394243946

6 Кб, 447x92

13 авг, 18:56 #550 #1043942

>>1043939
Как? Обращение к БД у меня внутри middleware, пикрил.
Оборачивание в try не помогло, замена next(err) на просто next() тоже.

Ответы43946

13 авг, 19:05 #551 #1043946

>>1043942
>>1043939
Окей, заменил next(err) на res.send(""), стало лучше. Но как-то в целом можно отключить вывод ошибки прямо в респонс? Запилить еще один мидлвейр в конец, который при наличии ошибок в предыдущих выдает 500?

Ответы43952

13 авг, 19:09 #552 #1043952

>>1043946
У тебя один общий обработчик ошибок, который и отправляет ошибку в теле ответа. В нем и допиши отдельную обработку CastError, к примеру, вместо её отправки.

Ответы43962

13 авг, 19:20 #553 #1043962

>>1043952
Ага, разобрался с этим теперь, благодарю.

13 авг, 19:35 #554 #1043977

>>1043563
>var classes = obj.className ? obj.className.split(' ') : [];

Это тернарное условие.
Оно эквивалентно

>var classes;
>if (obj.className) {
>....classes = obj.className.split(' ')
>} else {
>....classes = [];

Говном тебя облили заслужено. Как ты добрался до методов массива, ловко пропустив описание литерала этих самых массивов, ветвлений и в том числе этот самый тернарный оператор - не ясно. Ясно лишь то, что ты все делаешь не так. И либо мудак, либо слишком сильно в себе уверен, что равносильно тому же самому.
Начни сначала.

13 авг, 19:37 #555 #1043980

ПЕРЕКАТ
https://2ch.hk/pr/res/1043979.html (М)
https://2ch.hk/pr/res/1043979.html (М)

Тред утонул или удален.
Это копия, сохраненная 2 сентября 2017 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion