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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
9 Кб, 1052x1052
109 Кб, 1000x900
292 Кб, 1140x813
JavaScript #78 #988024 В конец треда | Веб
Ссылка на прошлый тред: >>981132 (OP)

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

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

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

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

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

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

НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.
6 Кб, 177x97
#2 #988114
>>988024 (OP)
Спрошу и тут, ШО ЦЕ ЗА ХУЙНЯ? Эта унрезолвед поебень вылазит на любой первый метод в цепочке. Погуглил, у многих такой баг есть. Видимо, никто не собирается его чинить, так как и так работает. Не хочу ставить мерзкие редакторы типа Атома.
988115
#3 #988115
>>988114
Это вебшторм, если что.
351 Кб, 2194x1162
#4 #988145
Зачем нужен реакт, если есть божественный Angular4.0 заточенный под enterprise progressive-web-app решения c AoT, tree shaking, реактивностью, охуенным Ionic? Angular это ведь тот же реакт, только больше и лучше.
988160988167994236
161 Кб, 1024x857
#5 #988147
Что будете делать, когда Google встроит оптимизированный Typescript-компилятор прямо в V8?
988160998242
#6 #988160
>>988147
Радоваться. Ещё бы рантайм тайп-чекинг был.
>>988145
Потому что через год они выкатят ангулар 8 и бросят 4, а потом - 16 и бросят 8. Смысл юзать фреймворк, который скоро умрёт? Реакт пережил три ангулара, переживёт ещё больше.
988167988171
#7 #988167
>>988145
>>988160
Скажите мне, что это один и тот же шизик строчит.
Блять, ангулар на тайпскрипте больше не будет кардинально меняться. 4, 5, 6 это мажорные релизы, полностью обратно совместимые, куда будут ввинчивать лишь новые фичи.
988168988189
#8 #988168
>>988167

>полностью обратно совместимые


Ты это вычитал или познал на собственной шкуре?
#9 #988171
>>988160

>Потому что через год они выкатят ангулар 8 и бросят 4, а потом - 16 и бросят 8.


С гарантированной обратной совместимостью, как ангулар4. Собственно разработчики уже пояснили, что ангулар1 - это не ангуляр, а просто старый фреймворк с похожим названием. Нет ангулар1 и 2, есть просто ангулар и какое-то говно. Апдейт до новых версий безболезненный и простой.
Вы говорите что вы ангуляр-разработчик - подразумеваете что работаете с ангуляр со второй версии.
989352
62 Кб, 341x422
#10 #988173
Собственно маркетинг Google показывает намерения:
Один вождь.
Один народ.
Один фреймворк.
Всё вертится вокруг идеи что есть только одна технология от Корпорации Добра, покрывающая все кейсы и идеально масштабируемая, а остальные должны умереть.
988174988193
#11 #988174
>>988173
Ладно, покушаю ваш ангулар, но если потом мне покажется, что реакт-редакс оказался лучше, то я напишу тебе гневное письмо.
988181
#12 #988181
>>988174
Хорошо, вот мой адрес: laOG2rryANUSgooglq$`ePUNCTUMcoL_Cm
Можешь писать по любым вопросам. Только в заголовке письма напиши 2ch, чтобы я знал, что это ты.
#13 #988189
>>988167

>верить обещаниям гугла


Ты серьёзно?
31 Кб, 1200x900
#14 #988193
>>988173
У них уже был такой Вечный язык. И для фронта, и для бека, и для мобильной разработки. Активно форсился, это же Корпорация добра, не может не взлететь, новый стандарт! Но не взлетел и был выкинут на помойку. Теперь они форсят Голанг. И ангулар постигнет та же участь.
988202
#15 #988202
>>988193
Дарт форсился? Да нихуя он не форсился.
61 Кб, 1864x985
#16 #988216
Посоны, меня тут валидатор выругал. Насколько это критично?
#17 #988220
Если я сейчас сажусь и задрачиваю Кэти Сьерра "изучаем java" от корки до корки, вы полняя все задания, смогли ли устроиться джуном на зп 300 уе?
988264
#18 #988264
>>988220

>на зп 300 уе


В час, в день, в месяц?
988266
#19 #988266
>>988264
В минуту.
49 Кб, 1000x510
54 Кб, 1200x724
#20 #988305
Тут пейсбукопидоры, вместо того, чтоб доводить до ума свой говносайт, очередную приблуду выкатывают:
https://prepack.io/

Интерпретатор ЖС, имплементированный на ЖС!
Интересные цели они себе ставят в роадмапе, не просто експрешены на результаты заменять.

Тут можно посмотреть, как они себе ЖС-кишки представляют:
https://github.com/facebook/prepack/tree/master/src/methods

Хоть и флоу-говном обмазано, но усваивается лучше, чем абстрактная дрысня от ЕКМА-бюрократов. Это тем, кто не может словиться, как там прототипы-промисы работают.
988314988315988382
#21 #988314
>>988305

>https://prepack.io/


Почему мой ебанутый провайдер заблокировал этот сайт? Там ФБ распространяет ЦП?
988318
#22 #988315
>>988305
ОРУ
#23 #988318
>>988314
Потому что io = infancy obscenity, т.е. материалы с младенцами непристойного содержания. Проклятый госдепартамент пытается развращать российскую молодежь тлетворными материалами под прикрытием т.н. "социальных сетей", в которых в открытую публикуется цп, расчлененка, игры от синего кита и т.н. "расследования" известного политического проходимца Алексея Наврального.
#24 #988331
А нахуй перекатывать тред после 500 постов если бамп лимит - 1000 ?
988332
sage #25 #988332
>>988331
Что ты несёшь.

> Бамплимит — ограничение на количество постов в одном треде на анонимных имиджбордах, при достижении которого тред перестаёт подниматься вверх при отправлении в него постов.

988344
#26 #988344
>>988332
Так что тебе непонятного?
#27 #988354
Посоны, поясните по хардкору за github! Конкретно интересует:
1. Как там папку создать (css-файлы проекта в папке /css/ и я хз, как ее туда залить)?
2. Как там файлы удалять, если начудил какой-то хуиты?
988366
#28 #988366
>>988354
Создаешь ручками и удаляешь ручками. Коммитишь, а потом пушишь изменения.
988381
#29 #988381
>>988366
Где там кнопка "создать папку"?
988384
#30 #988382
#31 #988384
>>988381
Там ты создаешь репозиторий.
У себя на компе создаешь папку с проектом.
Инитишь в ней гит
Привязываешь созданный в гитхабе репозиторий к своей созданной папке, т.е. локальному репозиторию.
Создаешь у себя в этой папке на компе файлы и папки которые тебе нужны
Добавляешь изменения
Коммитишь изменения
Пушишь изменения
Все - они у тебя на гитхабе
988386988387
#32 #988386
>>988384
Через вон ту консольную поебень?
988388
#33 #988387
>>988384
Да. Но можешь и через гуи любое
988388
#34 #988388
>>988387
Бля, это сюда >>988386
988391988392
#35 #988389
Пацаны, кто-нибудь на ноду прихуяривал гугловскую почту? Надо поднять сервер, который будет слушать конкретный аккаунт и если приходит новое сообщение - получать его и делать свои дела (записать в базу или отправить на другую почту). То есть никаких роутов для показа вьюх мне не нужно.

Сам нашел googleapi для ноды, но не могу разобраться с гугловским апи. Там авторизация через oAuth2 и требуется помимо ClientId и ClientService некий RedirectUrl. Первые два у меня есть уже, а где взять последний не понимаю.
#36 #988391
>>988388

>после чего производится коммит командой git commit


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



Как теперь выйти из этого редактора? Нет там кнопки exit. Сочетания клавиш не работают: ctrl+break, ctrl+ecs, esc, ctrl+alt+shift+enter, please+close+this+fucking+redactor
988401988439
#37 #988392
>>988388
Что писать в README.md?
#38 #988401
988433
#39 #988433
>>988401
Разобрался кажись немношк.
А как теперь там друзяшек френдить?
#40 #988439
>>988391
Лол. Прям как в том анекдоте
988445
12 Кб, 586x317
#41 #988445
>>988439
Покажи мне, где тут кнопка выхода, пидорас
988451988454988497
#42 #988451
>>988445

>windows


>папка


Мда...
384 Кб, 419x480
#43 #988454
>>988445

>Покажи мне, где тут кнопка выхода, пидорас

74 Кб, 600x800
#44 #988486
Наёмная макака-фронтендер по совместительству адепт вуй.жс на работе обосрался с babel'eм, в коде висят [Symbol.iterator] и Promise. Скорее всего обосрался конкретно с vue-loader, потом подробнее посмотрю.
Вебпак же под резервированные слова из новых стандартов ничего не создаёт?
Ранее был замечен в явном приведении возвращённого JSON к строке и последующему парсингу регулярками, чтобы (!) достать значение атрибутов.
988527
#45 #988497
>>988445
Это, наверное, редактор vim. У него есть два режима: командный и текстовый. К примеру, h в командном — сдвинуть курсор влево на 1 символ (5h на 5 символов, ну ты понел). В текстовом h — просто введешь h, как обычно.

А еще есть режим командной строки, попасть туда можно нажав : из командного режима.
:q — выйти
:wq — сохранить и выйти

Вообще советую все гуглить самому. Там есть вся инфа и без оскорблений
#46 #988527
>>988486

>приведении возвращённого JSON к строке и последующему парсингу регулярками, чтобы (!) достать значение атрибутов


Даже такой дебил, как я, до такой хуйни бы не додумался.
1008 Кб, 2362x2940
#47 #988531
Анон, я макака-верстака с >1 года опыта. Умею в самые хитровыебаные верстки, поддержки всего говна на свете включая IE8 и кофеварки. Хочу вкатиться в нормальный фронтенд, реакты-ангуляры, работу с данными, погромирование и проектирование. Реакт и ES6 пробовал но ничего серьезного не делал.
Что посоветуете подучить что бы сменить работу? На уме:
- угореть по ванилажс, почитать книжки (но какие?)
- подучить протоколы
- изучить БД (MySQL, что еще?)
- пройти какой нибудь курс по node.js, а то его я знаю только на уровне написания крутого конфига в gulp. Но там столько всего что самому въехать не представляется возможным.
Все правильно делаю? Если тут есть какой нибудь фронтенд-тимлид 300к/секунду, расскажи что конкретно тебе нужно видеть в специалисте что бы он был ок?
988534988597
#48 #988534
>>988531
Иди в строители, сейчас сезон.
988545
#49 #988545
>>988534
дохуя шутник чтоли?
988584
130 Кб, 1024x768
#50 #988553
Вот так надо писать на джаваскрипте.

http://clecar.ru/dvigalki/razrejy/razrez.html (смотреть исходники)
989101
#51 #988584
>>988545
Это вовсе не шутка.
Или тебе смешно?
#52 #988597
>>988531

>что самому въехать не представляется возможным.


Вот такого быть не должно
#53 #988898
Аноны, есть у кого-нибудь ГОДНЫЙ курс по CSS/JS-анимациям на русском или английском с субтитрами?
Стоит на красивые анимации хлеще, чем у поехавших из /b на трапов, а материал приходится собирать в сети по крупицам.
Пока вот сижу дрочу изменения SVG с помощью жквери, получается так себе.
50 Кб, 720x403
#54 #988938
Такая тема: если распарсить прилетающий с сервера жсон JSON.parse("\n"); вылетает эксепшон, а вот если JSON.parse(JSON.stringify("\n")); всё норм. Что делать, или так оставить как есть?
989038
#55 #989038
>>988938
все дело в escap-ing. JSON.stringify экскейпит " и \ поэтому JSON.stringify("\n") парсируется.
В твоем случае нужно JSON.parse('"\\n"') . Вообщем или фикси сервер или экскейпи ответ
989044
#56 #989044
>>989038
Так то есть ли в js какие либо средства для нормализации строк помимо JSON.stringify()? Сервер на java. Там отдаёт ответы Google Gson библиотека. Я хз почему он не экранирует лайн брэйки.
#57 #989067
JS сильно нужен для макакинга?
#58 #989090
пацаны думаю этот стайл применить в следующем проекте
https://github.com/erikras/ducks-modular-redux
почему я еблан ?
#59 #989096
http://jsbin.com/nagodicuna/edit?js,console - блять я не пойму нихуя, откуда undefined вылезает вообще?
989116
#60 #989101
>>988553
Ох, мне как-то похожий код на JS'е фиксить пришлось. Там были скрипты для какой-то программы для моделирования мебели. Все функции и переменные кириллицей, названы переменные как попало, да и в целом пиздец.
Но вообще забавно, это я за неделю вкатился как скрипты под эту прогу писать, мне кажется ещё пару недель, мог бы мебельщиком идти подрабатывать, лол.
#61 #989116
>>989096
Ну в алерт то приходит undefined сначала
989489
#62 #989204
Здравствуйте! Я представитель международной компании YoSoft. Мы работаем по всему миру в сфере веба и мобильной разработки. Наша компания имеет офисы в Москве, Киеве и Минске. Требуется крутой фронтендщик в офис в один из этих городов или на удаленку. Оплата - 2500 долларов в месяц. Возможна помощь с релокацией.

Ключевые навыки:
Progressive yoba
Yobact+Yobax
Yobalar 4
Responsive yoba
Grid yoba
Flex yoba
Yoba 2017+
Yobabel
Yoba optimization

Будет плюсом:
Yode.js
YoboDB
MyYOBA
YOBAful API
Yobact Native

Оставляйте ссылки на ваше резюме в треде! Мы свяжемся с вами способом, указанным в резюме.
990551
474 Кб, 537x385
#63 #989234
Привет писюны, большие и маленькие. Страдал хуйней, делал генератор аватара и короче прозрел с той хуйни что у меня огромная дыра в знаниях.
Вот есть у нас, тег
var randomShit = document.querySelector("input[value="kama-bullet]"]
И на него вешаем лисенер - randomShit.addEventListner("change", randomFunction).
Так вот , ребята, а что собственно будет передаваться в эту функцию - randomFunction? Я методом рандомного тыка вытянул значение которое мне нужно было, но это не выход.
Поскажите что почитать на эту тему.
И еще подскажите сервисов с которых можно получать открытые данные в json формате. Хочу запилить на реакте какой нибудь сайт которые будет вытягивать раз в сутки данные с сервера и менять свое содержимое.
989524992793992917
83 Кб, 503x711
#64 #989272
989346
11 Кб, 640x640
#65 #989337
Angular Material - несусветное говнище, даже на вуй Material кит намного лучше.
989341
#66 #989341
>>989337
Двощую. Делал на нем один сайт, в жизни не чидел более кривого говна. Причем некоторые вещи там вообще отсутствовали.
#67 #989346
>>989272
Неплохая попытка, но почему "Реакт почти не тормозит"? Как раз таки сам по себе реакт очень быстрый, а вот тот же Ангуляр 2 - это просто монструозный комбайн, который долго инциализируется и требует для развёртывания 10 конфигов.
11 Кб, 640x640
#68 #989351

>требует для развёртывания 10 конфигов


Издержки использования TS и тестирования

>который долго инциализируется


В production бандле с выкинутым говном и отрендеренным документом в кеше сервера там нечему тормозить, а суммарный размер ядра меньше чем у реакта.
#69 #989352
>>988171

>ангулар1 - это не ангуляр, а просто старый фреймворк с похожим названием


Проиграно
998242
#70 #989385
По сути главная проблема ангулара - его сложность в обучении и возможность выстрелить себе в ногу бандлами по 2мб. В долгой перспективе большие приложения делать на нём гораздо проще.
17 Кб, 229x693
#71 #989408
Напишите за дебика функция, которая преобразует первое число во второе.
989409989424990146
#72 #989409
>>989408
В одну строчку офк
#73 #989412
Почему vue - говно?
#74 #989424
>>989408
Написал
989445
#75 #989445
>>989424
Теперь выкладывай.
Нет, не мне защеку
989446
#76 #989446
>>989445
Выложил.
Тебе в анус
#77 #989489
>>989116
Т.е это из-за того что внутренняя функция не имеет return?
#78 #989524
>>989234
event.target же?
но это не точно, я только учусь
9 Кб, 225x225
#79 #989580
Ребят, объясните пожалуйста, как в JS-фреймворках решается проблема перерисовки DOM-элементов на примере HTML-таблицы. Допустим, у меня есть таблица, её модель - обычный двумерный массив. В массиве поменялось значение (неважно из-за чего), и HTML-таблица в моём случае втупую перегенерируется. Это ведь неэффективно. Посмотрел на реакт, у них там виртуальный дом и обновИтся только нужная ячейка. А в ангуляре как это реализовано? Меня интересует следующее - перерисовывают фреймворки таблицу или как-то по-умному её обновляют?
989639
#80 #989639
>>989580
гугли two way data binding
989670
#81 #989669
Что-то мое понимание объектов сейчас рухнуло. Почему делая вот так:

user = {};
user2 = user;

user = {name: 2};

console.log(user2.name); // получается undefined ?

Мы ведь записали ссылку на user в user2.
Или при объявлении user = {name: 2};
создаётся уже НОВЫЙ объект?
#82 #989670
>>989639

> two way data binding


Эта штука декларирует только то, что при обновлении модели должен обновляться вид и наоборот:

> Two-way binding just means that:


> When properties in the model get updated, so does the UI.


> When UI elements get updated, the changes get propagated back to the model.



А как именно должен обновляться дом (в смысле обновлением отдельных узлов или полной перерисовкой компонента)? Кстати, благодаря твоему посту я вроде смог нормально сформулировать свой вопрос гуглу "change detection angular". Только они там zones какие-то нагородили, сижу раскуриваю эту дрянь...
#83 #989682
989687
#84 #989687
>>989669
Не слушай этого довена >>989682 , почитай лучше статью: https://learn.javascript.ru/object-reference
Если не поймёшь - отпиши, я завтра зайду.
989704
#85 #989704
>>989687
Ну так а что неправильно то?
Если писать user = {name: 2}; то создается новый объект, а первый останется только в user2.

Если же написать user.name = 2, то это свойство будет доступно и через user2.
989708
#86 #989708
>>989704
да ето так
7 Кб, 194x183
#87 #989735
>>989669
ты даун чтоли?
ты присвоил user2 user до того как записал в user
989986990129
#88 #989741
Постоянно алерт выскакивает, хотя http-статус возвращаемый равен 200. Почему?
<script>
function getFromServlet(){
var req = new XMLHttpRequest();

if (req.status == 200){
var div = document.getElementById("mes");
div.innerHTML = req.responseText;
}
else {
alert("Error");
}
req.open('GET', 'http://localhost:8080/WebApp/Messages');
req.send();
}

setInterval(getFromServlet, 5000);
</script>
992796
#89 #989755
Посоны, вот начал вашу парашу по гайду дрочить, но консоле.лог не работает, а вот принт робит. Язык обновился или я доун?
989793
#90 #989788
>>989669

Начну немного издалека. В JavaScript всё передаётся по значению. Когда говорят, что в JS объекты передаются по ссылке, это не совсем корректно - объекты вообще никак не передаются, потому что к самому объекту доступ получить нельзя. Строка

const obj = { x: 42 };

означает: "создать в куче объект с таким-то содержимым и поместить в переменную obj ссылку на этот объект". То есть изначально переменная содержит ссылку, и дальше эта ссылка передаётся по значению точно так же, как и например значения примитивных типов. Теперь разберём твой код:

// Создать пустой объект и поместить в переменную user ссылку на него
user = {};

// Поместить в переменную user2 значение переменной user - то есть ссылку на пустой объект
user2 = user;

// Создать новый объект и поместить в переменную user ссылку на него (в переменной user2 всё ещё ссылка на другой объект)
user = {name: 2};

Если бы вместо последней строки ты написал бы
user.name = 2;

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

Надеюсь стало немного понятнее.
989987990109
#91 #989793
>>989755
Сомневаюсь что console.log это часть языка. Ты где запускать-то свой код пытаешься?
989859
#92 #989803
Посмотрел сегодня выступление и интервью из билда 2017 по тайпскрипту, надеялся что расскажут или покажут какую-нибудь ебу, как в прошлом году, но не случилось. Посоны, как заглушить пустоту в душе? Как вернуть веру в светлое и вечное?
рефакторинги конечно хорошо в 2.4, но пока сделают парочку нормальных будет уже 2.6 на дворе. И этого мало
#93 #989859
>>989793
Онлайн компиляторы
989867
#94 #989863
Что можете сказать о freeCodeCamp как о старте для новогопидора?
989868
#95 #989867
>>989859

>компиляторы

#96 #989868
>>989863
Тебе уже в другом треде ответили. Или ты теперь будешь везде писать?
989895
#97 #989895
>>989868
Ну, больше мнений = объемнее картина
#98 #989904
Аноны, подскажите ньюфагу. Пишу простой веб-калькулятор в качестве практики. Понимаю, что можно выводить результат нажатия кнопок на дисплей в формате (5+3-2) и пользуясь функцией eval() выводить готовый результат. Но я не ищу легких путей. Хочу реализовать как все как на старых ручных калькуляторах. То есть набираешь число, при нажатии на клавишу с функцией число запоминается, далее при нажатии числовой клавиши значение дисплея заменяется новой цифрой и при нажатии на результат получаем сумму/ разность. Помогите реализовать используя jQuery
989908990003
#99 #989908
>>989904
Так ты ж уже логику описал. Вот и закодь ее. Потом если че тащи сюда свой код - будем смотреть.
#100 #989910
https://jsfiddle.net/#&togetherjs=R6x6y9JFq1

Вот что имеем. Написать описанную логику не позволяет знание языка, поэтому и спрашиваю живые примеры, чтобы изучить и запомнить.
#101 #989930
https://jsfiddle.net/#&togetherjs=ItnKMjgK83
Как написать дальше не могу сообразить. Подскажите, пожалуйста.
#102 #989986
>>989735
Где я присвоил ДО? Прочитай ещё раз прежде чем пиздеть.
990101
#103 #989987
>>989788
Ну я ведь тоже самое и написал потом.
#104 #990003
>>989904
Кинь код я тебя не совсем понял, но попробуй создать отдельную переменную под запоминание числа.
39 Кб, 640x481
#105 #990005
Чего бы такого запилить кроме имэйджборды?
990009990027
#106 #990009
#107 #990027
>>990005
я плагины для редактора начал писать, когда есть свободное время. облегчает жизнь себе и возможно другим
#108 #990101
>>989986
на 2 строчке свой параши, еблан
иди лучше дворы подметай, програмирование не для тебя
#109 #990109
>>989788
С П А С И Б О
П
А
С
И
Б
О Б И С А П С
#110 #990122
А почему среди Джаваскрипт комьюнити так часто принято менять фреймворки? Только что на ангуляр дрочили, теперь дрочат на реакт.
990124990440
#111 #990124
>>990122

>на ангуляр дрочили


И продолжают дрочить
#112 #990128
Привет, анон. Подскажи, не могу разобраться с тем, как реюзать селекторы.
Есть функция-селектор getElementSize, принимающая state и id элемента. Нужна функция getAllElementSizes, которая будет собирать размеры всех элементов в объект с ключами-айдишниками.
Очевидно, что бессмысленно каждый раз создавать новый объект, если ни один из размеров не изменился. Т.е. это должен быть селектор, являющийся композицией всех селекторов getElementSize для всех айдишников.
Короче, хочется что-то такое:
const getAllElementSizes = createSelector(
ids.map(id => state => getElementSize(state, id)),
selectors => selectors.reduce((sizes, selector) => {
// как сюда передать id и state, чтобы вызвать selector(state) и записать результат в sizes[id]?
}, {})
);
Сумбурно описал проблему, но надеюсь, что кто-нибудь поймет, что я имею в виду.
#113 #990129
>>989735
Даун всё-таки ты. Человек спрашивал почему не изменяется объект по ссылке а не в каком порядке присваивать. То есть он хотел этого:

user = {}
user2 = user
usee.name = 2
// теперь user2.name тоже 2

А не местами строки поменять.
sage #114 #990146
>>989408

function zalupa(x) {
return ~~((x - 1) / 10) + 1 + "," + (x % 10 || 10);
}
#115 #990186
Почему регулярка не работает ?
(?<=[\\?|\\&])[a-zA-Z0-9]+(?=\\=)
Ошибка Dangling meta character '?' near index 0
990190
#116 #990190
>>990186
Читать умеешь? Написано же тебе английским по серому - ? near index 0. Что твой самый первый вопросительный знак означает, м, уеба?
990196
#117 #990196
>>990190
Группа с положительной ретроспективной проверкой (positive lookbehind assertion). Продолжает поиск только если слева от текущей позиции в тексте находится заключённое в скобки выражение. При этом само выражение не захватывается. Например, (?<=об)говорить найдёт «говорить» в «обговорить», но не в «уговорить».
990205
#118 #990205
>>990196
В джаваскрипте регулярки не умеют смотреть назад.
990209
#119 #990209
>>990205
я на java пишу. там тоже не умеют?
990216990282
#120 #990216
>>990209
В душе не ебу.
#121 #990282
>>990209
Умеют. Ведь это нормальный язык в отличии от жса.
72 Кб, 575x700
#122 #990288
Добавлять в редакс переключение className'а - это же аутизм, да?
Такое лучше в обычном состоянии реакта держать?
990291
#123 #990291
>>990288
Если удобно держать в состоянии реакта - то лучше держи там. Вообще, в стейтах компонентов имеет смысл держать какую-нибудь лабуду вроде таймаута анимации, прозрачности и т.д.
#124 #990355
Задача написать функцию я чот не могу понять регулярки помогите решить

https://pastebin.com/nhd6x38U
990450990582
#125 #990408
Блять хуйня какая-то с саблаймом, он почему-то пакеты не ищет через ctrl+shift+p . Когда раньше набирал то там был список пакетов которые я могу установить, кликал один раз и всё. Сейчас же нужно вручную в папку закидывать и только тогда установится, в чем дело? Я jshint не могу даже установить ибо он устанавливается как-то только через этот внутренний интерфейс.
990414
#126 #990414
>>990408
install packages выбираешь?
990477
#127 #990440
>>990122
Проекты у многих маленькие, можно пару раз в год переписывать
#128 #990450
>>990355
regexper.com
regexr.com
#129 #990470
Господа, мне нужно кое-что провернуть используя галп. Но для начала мне нужно составить список файлов.

Имеется
var images = ['image1.jpg','image2.jpg']; и т.д.
var paths = ['folder1', 'folder2, 'folder3'];

Нужно получить вот такой список путей к файлам для дальнейшей манипуляции с ними:
['folder1/image1.jpg', 'folder1/image2.jpg', 'folder2/image1.jpg', 'folder2/image2', и т.д.]
990478990568
18 Кб, 368x175
#130 #990477
>>990414
Да, но он мне сразу вот это выдаёт.
#131 #990478
>>990470
Забыл добавить что я не хочу делать это как нормальный человек через два фор лупа, я хочу навернуть какой-то галп плагин или какую-то однострочную йобу.
990528
#132 #990488
ES6 это спецификация 2016 года или 2015? Кто-то мне здесь говорил что 2015го, но на википедии написано (14 июня 2016).
То есть получается что желательно читать книги и материалы после 14 июня 2016 года?
990522
#133 #990522
>>990488
ES7 (типа) в 2016
ES6 (типа) - в 2015
Каждый год изменения в спеку.
В этом году еще добавится.
Они не сами по себе - это как слои. Есть основа и поверх нее всякие плюшки накручиваются, попутно обновляя спеку.
#134 #990528
>>990478

Моя твоя не понимать

var a = [];
for(var i = 0;i<images.length;i++) a.push(paths+"/"+images);
990529
#135 #990529
>>990528
конечно же
pathsХiЪ+"/"+imagesХiЪ
#136 #990551
>>989204
Я нуб и не понял юмора. Типа, слишком большие требования для 2,5к?
#138 #990577
JS сильно нужен для макакинга?
990583
177 Кб, 800x615
#139 #990582
>>990355
/^.*-s/i - это строка в которой есть "-S" или "-s", причём в любом месте.
sage #140 #990583
>>990577
Это сама суть макакинга.
990585
#141 #990585
>>990583
Бля. А с чего начать стоит? Интересует фронтенд макакинг. Пыхап нужен для макакинга? Или лучше начать с хтмл-цсс?
990589
sage #142 #990589
>>990585
Ну если хтмл/цсс не знаешь, то сних и надо начинать.
990616
#143 #990616
>>990589
А пхп? Спасибо за ответы.
26 Кб, 700x467
#144 #990630
Посоны, а вот такой еще вопрос. Скрипт обрабатывает массив вида [30,-30,-60,60] и рисует кое-чего в канвасе. Скрипт находится в файле script.html. Надо бы как-то сделать ссылку на этот файл, в которую впихнуть этот массив. Что-то вида:
script.html?array=30,-30,-60,60. Только без использования php. Как это сделать в JS? Чтобы из адресной строки брать массив.
990635992797
#145 #990635
>>990630
А, в принципе, нахуй не надо :)
77 Кб, 817x405
#146 #990661
Объясните пожалуйста фразу - " функция-конструктор не участвует в процессе проверки! Важна только цепочка прототипов для проверяемого объекта.".

Далее приводится код который изменяет прототип и проверка уже срабатывает как false. Ну вроде всё логично, у экземпляра один прототип, а в функции конструкторе уже другой, что в этом "забавного" по мнению автора.
990688
#147 #990688
>>990661
Ну а теперь представь что изменение было написано не тобой и ты даже не подозревал что оно было. Просто у тебя уже есть инстанс-кролик. А ты проверяешь и у тебя твой кролик не является инстансом Кролика. Вот тут то и наступает это самое "забавно", которое может перерости в более причудливые формы вида "какого хуя"
26 Кб, 700x467
#148 #990857
Посоны, я статью почти дописал. Получается довольно няшно. Вам показывать, как допишу?
#149 #990875
Собрался вкатываться в js с перекатом впоследствии в ноду. У вас там в шапке довольно большой список литературы. Посоветуйте, что почитать. До этого прогал на c#.
990903990946
#150 #990903
>>990875
доки
#151 #990946
>>990875
Если прогал на сишарпе нормально, то promise, а потом async/await. И писать код.
990949
#152 #990949
>>990946
Так мне бы для начала в JS сам вкатиться. Смысл копать ноду без знаний JS?
992257
#153 #990971
Есть тут аноны, только что вставшие на путь изучения жс? Реально только что. Хотелось бы скооперироваться и если что друг другу помогать. Пишите в телегу @ineveraskedforthis
990974990979
#154 #990974
>>990971
Готов кооперироваться и помогать. 5$/час.
990978990991991001
#155 #990978
>>990974
Нет, наставник не нужен
#156 #990979
>>990971
у меня нет телеги, так за.
990993
#157 #990991
>>990974
Тогда на почту gideon.ramire`26zANUSygeLandexPUNCTUMrrcSu
990993
#158 #990993
>>990979
Черт, вот >>990991
sage #159 #991001
>>990974

> 5$/час


Слишком мало. Готов кооперироваться только, если будешь платить минимум 7.
978 Кб, 2602x1608
#160 #991085
Скриптоны, выручьте будь ласочка!

Имею в цикле следующее:
var id1 = texts1.id; // выдает ошибку Uncaught TypeError: Cannot read property 'id' of undefined at <anonymous>:9:24
Причем
console.log(texts1.id); // нормально выводит соответствующие id;

Как так?
991111991147
#161 #991100
Хочу взять jQuery-плагин и разобраться, как он устроен. Допустим, меня интересует как сделать сложный кастомный select. Подскажите хороший пример, чтобы там был не быдлокод и без кучи старого хлама и антипаттернов, которые разработчику лень переписывать.
#162 #991111
>>991085
Очевидно не может понять какой тип у ID.
Ты везде варов натыкал небось, жаваскриптивист.
Задай id1 конкретный тип вместо вара.
991126991147
#163 #991126
>>991111
Сорян, я действительно не шарю, но мне кажется, что тут дело не в типе переменной. Можешь, пожалуйста, посмотреть?

https://ideone.com/D1FigV
991147991154
#164 #991147
>>991085
>>991111
>>991126
https://ideone.com/D1FigV

Мне кажется, что задекларированная в первом цикле переменная i как-то не так работает во вложенном цикле (texts1.id выводится в консоль, но не значение переменной не присвается и в сравнении не участвует).
texts2[x].id работает нормально.
991155
#165 #991154
>>991126

>Можешь, пожалуйста, посмотреть?


>for (var x = 0; x < texts2.length; i++)


Быть может не

>i++


А

>x++


?

А во вторых.
Если ты 2 списка пытаешься сравнить, для начала, сравнивай их length.
#166 #991155
>>991147
Индексы правильно проставь.
Потом возвращайся.

И в код вставляй те места, которые у тебя ошибку выдают, с комментарием.
А не невнятный лепит, что у тебя в комментарии сейчас.
#167 #991248
Простите, пожалуйста, но свой вопрос я запишу и здесь

Программисты, подскажите, пожалуйста, что делать. Я живу в провинциальном городке и отучился на строительную специальность и за 5 лет специалитета, которые я учился обанкротилась крупнейшая строительная фирма моего региона, куда я хотел вкатиться работать. Тогда я пожал плечами и достал из-за пазухи свои любимые html, css, js и стал работать верстальщиком в местной веб-студии.

Чтобы отсрочить призыв в вооруженные силы я поступил в строительную аспирантуру. На кафедре разрабатывают строительный станок по новой технологии, которую придумал возрастной и энергичный преподаватель. Он выдал мне следующую задачу: "О! Ты ж программистом работаешь! Сделай мне нейронную сеть для прогнозирования значений графиков состояний строительного материала на основе предыдущих показаний.

Мой вопрос такой: Я знаю из языков только js, смогу ли я делать нейронную сеть для строительной кафедры на js-е? Или js не подходит? С одной стороны вроде же подходит, там Brain JS есть. А с другой критикуют его производительность и говорят, что он js обучения нейронной сети плохо подходит.

Парни, рассудите по понятиям, кто прав, а кто лев и западло ли использовать js для нейронных сетей и машинного обучения.
991262991356991472
#168 #991262
>>991248
фикс говорят, что js ДЛЯ обучения нейронной сети плохо подходит
#169 #991356
>>991248
Это, значит так, шутка что ли, блядь? Во-первых, шутят здесь только два человека. С помощью третьего человека — ассистента. Вы, блядь, мне тут не шутите со мной! Чё ты хуйню пишешь!? Мудило, мудак, мудило! Хули ты, блядь, свой умишко куцый показываешь, блядь, кому показываешь умишко?!
36 Кб, 400x366
162 Кб, 1290x756
#170 #991367
Посоны, что я делаю не так?
Проверил на http://forbeslindesay.github.io/express-route-tester/ , там работает.
Route: /scihub/:link(.*)
Path: /scihub/http://www.sciencedirect.com/science/article/pii/S0019995869901648
#171 #991435
>>988024 (OP)
Я не хочу такого будущего
#172 #991437
Стоит ли в 2017 писать приложение на первом ангуляре?
991460
#173 #991460
>>991437
нет
#174 #991472
>>991248
JS вообще язык-обрубок, который изначально задумывался исключительно для свистоперделок на странице, снежинки там, бегающий <title>, вот это всё.
#175 #991524
Где брать практические задания по js?
#176 #991539
Были ли у Кантора какие-нибудь курсы в конце 2016 начале 2017 года? Последний из тех что я могу на торрентах - 2015 года да и то там материал начальный скопирован из курса 2013 года.
131 Кб, 1218x1196
#177 #991575
Где праздник?
Вчера был день рождения языка для попапов.
#178 #991614
Обсудим чай с мочей?
991630
#179 #991630
>>991614
Я джестом пользуюсь)
#180 #991634
Всем хай. Смотри, двач, есть страница, которая загружается при вызове адреса. в ней есть div, куда после загрузки DOM подгружается скриптом верстка+скрипты, в итоге формируется большая страница. В подгружаемой верстке есть прописанная js-функция, которую нужно вызвать после подгрузки этого учатска верстки, собственно.

Вопрос. Как вызвать эту функцию? $(function(){....}) не помогает.
991677
#181 #991677
>>991634
Вешай обработчик на событие, затем вызывай с его помощью метод.
sage #182 #991912
Аноны, помогите не залезть в петлю.
Нужно получить значение из БД в переменную(с помощью Jq), пишу .ajax post, передаю на сервер данные, обрабатываю, отправляю обратно echo с нужными данными, они попадают в success: function(data){};
КАК ИХ ОТТУДА ВЫТАЩИТЬ, если сначала выполняется весь скрипт, а уже потом выполняется POST?

переменная потом нужна будет в нескольких местах, поэтому обрабатывает ее внутри success: function(data){}; - не комильфо.

ссыль на жсфидль
991914992089992290
sage #183 #991914
#184 #992089
>>991912
Бля. Понятие 'модель' ни о чем не говорит? Аджаксом отправляешь запрос, бэкенд выплевывает готовую модель. Эту модель показываешь в success.
70 Кб, 604x604
#185 #992210
Друг предложил написать приложение на андроид, представляющее собой мини-википедию со статьями, нацеленными на определенную аудиторию.
Какой фреймворк поможет мне в этом? В шапке android-треда есть PhoneGap/Ionic/Titanium/ReactNative — какой из них предпочтительнее? Из знаний у меня только бекбон и вот-вот начал изучать реакт.
992249
#186 #992244
function в JS это аналог класса?
992248
#187 #992248
>>992244

>boolean в js это аналог переменной?

#188 #992249
>>992210
Сорта, хуяч на реакте.
#189 #992252
пацаны, тут один дизайнер исходный код библиотеки https://github.com/alvarotrigo/multiscroll.js/blob/master/jquery.multiscroll.js поменял по легкой

угадайте кто ебался несколько часов с неочевидным поведением с дебагером на перевес ?

накидайте сюда че ему сказать можно по этому поводу шоб доходчиво
#190 #992257
>>990949
Разница между сишарпом и js-ом в синтаксисе минимальна.
993604
#191 #992290
>>991912
Используй Promise либо выполняй код по обработчику success
#192 #992302
а хули вы мне не сказали что есть tweenlite и tweenmax ? Еблася как дебил с классами, или $.animate
79 Кб, 400x400
#193 #992307
Вложенные редьюсеры с помощью combineReducers() - нормальная практика и вообще работает это?
Вроде такого:

//===== redux/App/reducer.js =====
import { combineReducers } from 'redux'
function layout(state = initialLayoutState, action) { / ...Один редьюсер app / }
function data(state = initialDataState, action) { / ...Второй редьюсер app / }
export default combineReducers({ layout: layout, data: data }) // Скомбинировнный редьюсер

//===== redux/rootReducer.js =====
import { combineReducers } from 'redux'
import app from './App/reducers.js'
import other from './Other/reducers.js'
export default combineReducers({ app: app, other: other })
83 Кб, 600x507
#194 #992367
Господа, прочитал пару статей про такую прекрасную нет вещь как fetch и уже надрачивал свою консоль в надежде "ух бля... заживемь".
И тут я пытаюсь вбить в консоли такую весчь var kolovrat = fetch("https://api.adorable.io/avatars/list", {mode: "cors"});
И это хуйня выкидывает мне ошибки.
Вопрос зека этой хаты, правильно ли я понял что с mode: "cors" я могу делать кросс-доменные запросы или я долбоеб? Хули так мало примеров в сети с кросс-доменными запросами?
992388992808
63 Кб, 773x580
#195 #992370
Почаны, как сделать 'нормальную' сортировку? Есть ряд из массива с числами, но он сортирует их 1,12,153,6,8,83,85,86443 и т.д, а не 1,6,8,12,83,85...

За день так и не нашёл ответа(либо нашёл, но не разобрался).
992372992375
#196 #992372
>>992370
Он их отсортировал, как строки по лексикографическому порядку. Посмотри в коде - там где-то есть перевод int в string.
992374992447
96 Кб, 1081x842
#197 #992374
>>992372
Не очень понимаю, что ты имеешь ввиду, т.к. я не так давно вкатился.
Вот скрин с катой и кодом с codewars.
https://www.codewars.com/kata/sum-without-highest-and-lowest-number/train/javascript

т.е. всё работает как надо, только .pop'ает и .shift'ает не то, что нужно из-за сортировки
#198 #992375
>>992370

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<script>
var points = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = points;

function myFunction() {
points.sort(function(a, b){return a-b});
document.getElementById("demo").innerHTML = points;
}
</script>
992378992447
5 Кб, 243x207
#199 #992378
48 Кб, 543x346
#200 #992388
>>992367
Ответе плис
#201 #992426
Почаны, чем в данный час можно крудошлепить, обмазавшись вторым ангуляром?

Нужна либа гуевых элементов годная и без анального огорожения типа как у $encha ExtJS.
992493
194 Кб, 520x738
#202 #992447
>>992375
Я понял. Благодарю.

>>992372
А вот о чём ты - не очень.
26 Кб, 700x467
#203 #992483
Посоны, перед "поэтому" тире ставится?
#204 #992493
>>992426
я гугол материал использую, хз правда огорожена она как у $encha ExtJS
114 Кб, 460x257
#205 #992502
halp!
юзаю react-google-maps: https://pastebin.com/iuQWx19Y
стр 29
хочу удалить оверлей через 3 секунды после монтирования в DOM компонента Map
но получаю исключение: Uncaught TypeError: ov.setMap is not a function
что я делаю не так?
35 Кб, 466x412
#206 #992678
Задача: запилить на React Native пикрелейтед диаграмму в виде аналоговых часов с интервалами в нужных местах.
Кто-нибудь сталкивался с такой задачей? Обыскал пол интернета, нужного плагина не нашел.
#207 #992682
Не могу понять, почему при отправке файла на сервер через аякс, не выводится значок ожидания. В остальных местах выводится, а тут нет.

Вот код: https://jsfiddle.net/e2auoa54/1/ . Сначала идёт аякс, потом функция, в которой значок не работает, а потом функция, в которой работает.

Такое ощущение, что в глаза ебусь и не вижу что-то очевидное. Может вы посмотрите свежим взглядом?
8 Кб, 566x536
#208 #992693
Не подскажите как можно в двумерном массиве проверить для зеленной ячейки, что вокруг неё находится и при это не получить аутОфБаундс?
992700992716992760
#209 #992700
>>992693
В тор сверни
#210 #992716
>>992693
Я реализовывал это так:

for (var i = -1; i <= 1; i++) {
for (var j = -1; j <= 1; j++) {

if (!i && !j) continue; // сама зелёная ячейка нас не интересует

// прибавляем в цикле -1, 0, 1 к каждой из координат
// чтобы просмотреть все соседние элементы
var neighbor = arr[cx + i][cy + j]; // cx, cy - координаты зелёной ячейки

}
}

Ну а чтобы избежать аутОфБаундс, проверяй координаты соседа (cx + i и cy + j) условиями, типа:

if ( cx + i < 0 || cx + i > width || cy + j < 0 || cy + j > height ) continue;

width и height это разумеется кол-во рядов и столбцов
992760
#211 #992760
>>992693
>>992716
это что вы такое пилите?
сапер? или морской бой?
992795992911
#212 #992761
В общем, на js я писать не умею, но надо.
Суть задачи: есть несколько textarea в которой появляются логи томкатов, нужно сделать кнопку on/off, включающую/выключающую автопрокрутку в этих логов. Все лежит в одном файле - html + script.
Script находится в конце. Как блять сделать так чтобы setInterval выключался.

https://pastebin.com/ZkKqEvcv
992913
#213 #992793
>>989234

>что собственно будет передаваться в эту функцию - randomFunction?


Что-то, наследующее от Event, или просто Event.

>что почитать на эту тему


В FAQ есть ссылки.
#214 #992795
>>992760
твою мамашу
#215 #992796
>>989741
Потому, что асинхронность. Там нужно события ловить.
И даже если бы не асинхронность, у тебя, ебать, проверка статуса идёт перед отправкой запроса!
#216 #992797
>>990630
Использовать #, а потом парсить `location.hash`.
#217 #992808
>>992367
Ты метод указал? Ты уверен, что он простой? Если не простой -- сервер-то принимает такой метод?
И вообще, это странно что ошибка выходит за промис. Хотя может я не всё знаю о fetch.
#218 #992911
>>992760
Лабиринт.
#219 #992913
>>992761
Делаешь глобальную переменную:

var off = false;

По клику на кнопку делаешь off = !off
В самом интервале делаешь проверку:

setInterval(function () {
if (off) return;
// дальше твой код
}, 1000);
#220 #992917
>>989234

>Так вот , ребята, а что собственно будет передаваться в эту функцию - randomFunction


В качестве this - сам элемент (он же event.target), в качестве первого аргумента - объект события (event)
http://learn.javascript.ru/events-and-interfaces
#221 #993092
Если я хочу заказать пару книг по Javascript, то я долбаеб?
И вообще где можно "поддержанные" книги купить? Ибо у технической литературы ну просто запредельные цены (для такого бомжа как я).
993126
#222 #993117
Кто что скажет про курсы от Специалиста? Вот этот http://nnmclub.to/forum/viewtopic.php?t=1080196. Преподает какай то Сергей Алмазов, хз, кто это.
993149993157
#223 #993126
>>993092

>И вообще где можно "поддержанные" книги купить?


http://libex.ru
#224 #993149
>>993117
У препода какое-то ебанутое, просто выбешивающе эхо выбешивающее эхо. ПоХаПешные курсы "специалиста" - годнота. А вот JS курсы "специалиста" 2 раза пытался посмотреть и два раза в самом начале дропал в самом начале дропал. Очень он нудный. Лучше таки Флэнагана почитать почитать.
993150993164
26 Кб, 700x467
#225 #993150
>>993149
Пикча отклеилась
#226 #993157
>>993117
На какой хуй вообще смотреть видео? Они рассказывают все то же, что и в книгах написано, причем делают это гораздо медленнее. Сразу читать гораздо выгоднее, да и отсебятины от автора не увидишь, а то они порой так объяснят, что хоть стой хоть падай.
993164
#227 #993164
>>993149
Лол лол.
>>993157
Ну хз, на 1.50-2 скорости норм смотреть. Плюс обычно в видео больше практики, чем в книгах.
993178
#228 #993178
>>993164

>больше практики, чем в книгах.


так ты когда книгу ищешь, по мимо темы прибалвяй by example или кукбук
993181
#229 #993181
>>993178
с Кармазина начать, норм?
100 Кб, 837x604
#230 #993261
Чет вообще не понял про this, почему он не определён в этом случае? Мы ведь вызываем класс Rabbit и он создаёт пустой объект, именно этот объект и будет this. Объясните пожалуйста.
993265
#231 #993265
>>993261
Объяснение на скрине. Второй кружочек
993281
#232 #993281
>>993265
Ну бля я понял, но почему это так происходит? В чем логика вообще.
993308993391
#233 #993308
>>993281

>javascript


>логика


Choose one.
#234 #993314
https://learn.javascript.ru/iterator блять Кантор там вообще ебанулся. Нормально не объяснив что такое тип Символов начал заливать про какие-то итераторы. А в самом начале говорит о том что для перебора объектов используется конструкция for...of , правда чем она отличается от for ... in так и не написал, охуенная статья просто...
993662993672
#235 #993329
https://www.youtube.com/watch?v=LVEDsq6_WrA - в самом начале видео говорится о том зачем нужны символы - для задания уникальных идентификаторов свойств объектов. Но в чем проблема просто записать нужное нам свойство или метод в прототип и всё? Оно не будет переопределяться если в объект напрямую запишут что-то с таким же названием и его также можно будет вызвать когда угодно через прототип. Object.prototype.newMethod = function() { ... } и всё, зачем эти символы нужны тогда? Объясните плз.
993391993954
#236 #993391
>>993281
Тебе же сказали так прописано в спеке. А то, что прописано в спеке надо принять и запомнить.
Ты ж с букварем не спорил как лучше буквы называть.

>>993329
Долго. В кратце для гарантии что никто не перетрет и нисчем из написанного до es2015 кода не будет конфликтовать. Мало ли что там могли наманкипатчить. Если хочешь поищи на ютьюбе плейлист коттанов и смотри первые видосы про js. Там рассказано и про символы.
993408993610
#237 #993408
>>993391

>коттанов


Блять какие же они там задроты обосанные в своем подвале. Лучше CodeDojo смотреть.
993954
#238 #993433
Сап, скриптач. Я еще джуниор в JS и только начал вкатываться в этот удивительный мир и учась по гайду у меня возник вопрос в синхронных и асиннхронных скриптах - async/defer
Изуча это и понял принцип их работы я задумался: А нахуя вообще нужен async, если defer выполняет функции асинка лучше, чем он сам. Используется ли async? Естественно вопрос пока привязан к верстке, но так же из него вытекает точно такой же, только в будущее. Прошу отнестись с пониманием и пояснить ебучему джуниору за это
993435993573993672
#239 #993435
>>993433
Прочитав свой вопрос понял, что допустил ебаную кучу грамматических ошибок, но фиксить их не хочу, т.к все работает стабильно. В общем хотел добавить кое-что по поводу будущего:
Мне говорили, что JS не привязан к верстке и живет вообще своей жизнью. И исходя из моего вопроса, я бы хотел узнать: Используется ли async в общем коддинге JS?
993573
26 Кб, 700x467
#240 #993557
Посоны, выложил короч статью на хабру. Рейт пазязя :3
https://habrahabr.ru/post/328568/
210 Кб, 1024x770
#241 #993573
>>993433
И как ты в вебе будешь ajax-запросы будешь делать без ассинхронности?
>>993435
В nodejs работа с чтением/записью тоже ассинхронная.
И async/await синтаксис - экспериментальный ещё, что в вебе, что в ноде. Это сахарок для Промисов, которые сахарок для колбеков.
998081
#242 #993575
>>993557
ТОП-100 хабропользователей на 57 месте :3
#243 #993597
iiiii
#244 #993604
>>992257
"Вкатиться в язык" никак не связано с "выучить синтаксис". Изучить основу синтаксиса любого мейнстримного языка можно за час. Это не значит что сразу сможешь хуярить код на этом языке.
#245 #993610
>>993391

>Ты ж с букварем не спорил как лучше буквы называть.


В смысле не спорил?
33 Кб, 244x206
#246 #993632
>>993557
Сегодня на работе пока никто не видит игрался
993661993717
#247 #993661
>>993632
Сук, питона чтоль няшил :)???
#248 #993662
>>993314
браток, там много такого
лучше читай нормальные книги по жсу чем этот высер, где информация подается рваными кусками
993672993684
#249 #993672
>>993662
>>993314
Кстати, я сам сейчас учусь по этому сайту. Бля, неужели он тоже хуйовый? Возможно спрошу платину, но какой учебник посоветуете? Желательно ПДФ или прямо сайт, а то денег на книги нет.
>>993433-Кун
993673993675993684
#250 #993673
>>993672
Bump.
993675
#251 #993675
>>993673
Видимо я не один такой.
>>993672
Ну же, скриптаноны, укажите джуниорам путь. Бамп!
#252 #993684
>>993662
>>993672
Да нормальный у Кантора сайт, сам с него начинал.

Хочешь книг - вот списки.

1) https://medium.com/javascript-scene/the-software-developer-s-library-a-treasure-trove-of-books-for-people-who-love-code-f9bc92c7883b

2) https://github.com/javascript-society/javascript-path
95 Кб, 800x600
#253 #993715
Здарова, скриптаны. Есть список, из него сделал array, и на каждый пункт списка хочу повесить событие, я из нодЛиста делаю обычный список способом Array.from(unknowXuita), а потом обхожу результат с помощью every и вешаю событие. Вопрос , не по пидарски я не гомофоб! ли я делаю и есть ли в современном ES6 крутые весчи которые делают это проще?
993716
#254 #993716
>>993715
Ты какой-то странный
993719
52 Кб, 793x981
#255 #993717
>>993632
В недельный ТОП статья улетела.
#256 #993719
>>993716
Что не так? И еще расскажите за опертаор "...", который раскрывает объекты. а то блять гугол мне на три точки выдает хуйню
993722
334 Кб, 508x370
#257 #993722
>>993719
Бля и не быкую ж никогда, и мамок чужих не ебу , но никогда не отвечают. Ау, может я битард-неведимка?
993734
#258 #993734
>>993722

>прошло 10 минут


>пачиму мне ни атвичают??7777


Я ж говорю - странный.

>Вопрос , не по пидарски я не гомофоб! ли я делаю и есть ли в современном ES6 крутые весчи которые делают это проще?


Нормально ты делаешь.

>И еще расскажите за опертаор "...", который раскрывает объекты


Неправильно ты гуглишь. Это называется spread (раскрытие объектов) и rest (собирание неиспользованного остатка в новый объект)
На, просвещайся:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters
#259 #993773
Как вывести ддопустим через alert конкретное куки по имени в яваскрипте?
993805
#260 #993805
>>993773

>alert


Его давно пора выпилить из JS
993807993822
#261 #993807
>>993805
Зачем? alert - это fail-safe способ сообщить об ошибке
993843
#262 #993822
>>993805
Ты просто скажи как обратиться к конкретному имени установленному куки, а не ко всем куки через document.cookie
993825
#264 #993829
>>988024 (OP)
Почему на реакт не завезли шаблоны как во вью?
Почему я вижу в коде такое?
render() {
return (
<input type="checkbox" />
{' '}
Only show products in stock
);

Этот пробел {' '}. Это же выглядит уберхуёво.
993851994522
#265 #993843
>>993807
Чем он лучше console.log?
993853993913
#266 #993851
>>993829
Спроси у того, кто это написал.
#267 #993853
>>993843
Тем что alert нагляднее показывает xss
#268 #993855
Аноны, что-нибудь известно, будет ли переиздание Дэвида Флэнагана "Javascript: Подробное руководство"?
#269 #993913
>>993843
Тем, что конечный пользователь никогда не полезет в консолечку смотреть, высралось ли там что
90 Кб, 1465x694
#270 #993943
Уже на говно изошел. Придумал только васянорешение, где проверяется количество границ рядом, а потом количество нулей и все это складывается, но код получается очень уебищным.
993953993994
#271 #993950
>>993557
Перевод/10
993952993982
20 Кб, 270x480
#272 #993952
>>993557
Ну привет.

Кстати, не плохая камера.
>>993950

>хуита


Фикс.
45 Кб, 168x182
#273 #993953
>>993943
Что за сайт?
Алсо, зачем спрашивать у анона если там вон решения других можно посмотреть? Или нельзя?
#274 #993954
>>993329
Кекнул малёха. Суть symbols ты познаешь лишь тогда, когда научишься писать хоть что-то отличное от говнозадачек или попадёшь на худо-бедно небольшой проектик.

>>993408

>коттанов


>CodeDojo


Сорта.
88 Кб, 1324x910
52 Кб, 1345x883
#275 #993982
>>993950

>Перевод/10


Хуивод.
В 2012 году, вдохновившись какой-то статьей на Хабре налепил такой вот сайтик: http://facegenetic.com/ (первая пикча). Получилось очень сыро - все детали фоторобота (глаза, уши и т.д.) нарезал с какого-то swf-файла из-за чего набор генов получился скудным. В фотошопы не умею, поэтому забросил. Тредик на php.ru: https://php.ru/forum/threads/geneticheskie-algoritmy-na-php.41862/
В 2015 опять с генетическими алгоритмами игрался. Налепил вот такое: http://midi.facegenetic.com/ (вторая пикча). Получилось довольно ШИНово. Но корректно работает только в ослике. Как ни пытался, не получилось подружить Хром с midi-файлами. Тредик в архиваче: http://arhivach.org/thread/90483/ . В /mu/ где-то еще тредик пилил - там мне пояснили за гармоники. Короч, сайтик вот такой музончик генерирует:
https://www.youtube.com/watch?v=bOO2oNszYRc
Но опять же, только в ослике работает, поэтому забросил.
Под фракталы генетический алгоритм написал год назад. На том же похапе.ру: https://php.ru/forum/threads/geometricheskie-fraktaly-i-nemnozhko-genetiki.57107/ . Вот тут с рекурсией сидел тупил: https://php.ru/forum/threads/rekursija.56810/ Тредик в /sci/ запилил, когда 3d ( http://fractal3d.facegenetic.com/ ) пытался сделать.
993989
#276 #993989
>>993982

>хпхру


Сблеванул малёха.
993997
41 Кб, 1121x601
#277 #993994
>>993943
На изичах.
Кот не доставлю, ибо потратил своё время, так что хуй тебе.На самом деле лень разлогиневаться в гитхабе, что бы сделать анон-гист.
994015
#278 #993997
>>993989
Чому?
994003
#279 #993998
http://xn----7sbnshpgdbuur.xn--p1ai/?yclid=2599075916925901840#ipad_Air_Air_2
пацаны, захотел себе я значит что то подобное, сейчас в голове, только дивы с текстом показывать и позицию стрелки позиционировать инлайново, не будет плохим решением это в canvas все делать ? Выглядит с первого взгляда, что это быстрее чем ебаться с домом
994386
#280 #994003
>>993997
Сам-то как думаешь?
#281 #994015
>>993994
А нахуя зис в каждую дыру пихать?
#282 #994030
как делаете переиспользуемые компоненты react\redux? допустим таблица, которую нужно использовать много раз в разных компонентах.
#283 #994069
Есть код типо:

<div class="testClass">
<strong>Num1</strong>
: 16X
<br>
<strong>Num2</strong>
: 16X
<br>
<strong>Num3</strong>
: 12X
<br>
<strong>Num4</strong>
: 12X
<br>

Надо его спарсить,
Num1 и 16х должны быть отдельно. Как это сделать, элемент же не под тегом класса? Это просто макет, инфа там может быть другая. Что посоветуете?
996026
63 Кб, 500x700
#284 #994103
В ньюфаг треде молчат, может из вас кто поможет.
Уже вкатился фронтенд-макакой, вышки нет. Планирую освоить то, что дают в вузах, но самостоятельно. Пасту читал, но хочется конкретных книг. По математике, устройству ЭВМ, логике, алгоритмам, базам данных и.т.д. Накидайте годноты.
994134994147994152
#286 #994147
>>994103
Вангую забьешь хуй через неделю с такими запросами.
994249
#287 #994152
>>994103
Вот этого тебе надолго хватит: https://github.com/KolesnichenkoDS/from-junior-to-senior/
994249
#288 #994236
>>988145
JSX и рендер функции.
#289 #994241
>>988024 (OP)
Хелпуйте
Как заставить эту регулярку работать в жс?
^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$
994243
#290 #994243
>>994241
Вангую что нужен double escaping (\\ вместо \)
994257
77 Кб, 885x369
#291 #994248
https://learn.javascript.ru/set-map
Немного не понял, для какой именно совместимости сделали первые два аргумента у функции перебора одинаковыми? (пик)
994294
#292 #994249
>>994134
>>994152
Спасибо, думаю за пару лет осилю, лол.
>>994147
Ну хуй знает, я же не собираюсь прям задрачивать, как когда-то дрочил вёрстку и JS. В свободное время буду заниматься, сорт оф заочного обучения. Просто мне кажется, что знаний фреймворков и JS рано или поздно мне будет недостаточно.
994275
#293 #994257
>>994243
Не работает
994274
#294 #994274
>>994257
Лови такую на телефон, у меня работает
/^\s(\+7|8)[ (-]([0-9]{3})[ )-]([0-9]{3})[ -]([0-9]{2})[ -]([0-9]{2})\s$/
994278994279
#295 #994275
>>994249
Если ты будешь работать в вебе, то тебе большего и не нужно. А когда найдешь работу то тогда и занимайся подобной хуйней. Учи по факту, а не тогда когда оно тебе ВОЗМОЖНО пригодится, дабы не проебать время впустую.
994291
#296 #994278
>>994274
Не не робит
#297 #994279
>>994274
Мейлач съел звездочки...
https://jsfiddle.net/pbg1h1vn/
994286
#298 #994286
>>994279
Мне нужно что бы она в String.prototype.match работала
994375
#299 #994291
>>994275
Ну хуй знает, что там учить еще для работы? вебпак конфиг могу написать, могу хуячить на реакте + редаксе и первом ангуляре, второй ангуляр недолго изучить, ну макисмум неделю на доскональное изучение. Я уже работаю, хуй знает что еще учить для фронта, поэтому решил обмазаться более низким уровнем.
997760
#300 #994294
>>994248
Ну в одном случае принимает элемент, индекс и себя.
А в сет индекса нет, поэтому два раза элемент.
Чтобы в обоих случаях было 3 аргумента.
994381
#301 #994304
Посоветуйте норм самоучитель, чтоб с нуля начать
994305994315
#302 #994305
>>994304
Бумп
#303 #994315
>>994304
JavaScript for cats.
994319
#304 #994319
>>994315
Еще можно и for kids
#305 #994375
>>994286
Она и работает.
#306 #994381
>>994294
А почему тогда в Set нет индекса?
#307 #994386
>>993998
подбампну, попробовал с использованием svg, тоже не шибко гибко получается
#308 #994389
Чат, как называется такой эффект (js-плагин для этого подскажите, чтоль), когда ты скроллишь, какой-нибудь блок прокручивается по экрану и под ним меняется фон. Т.е. непосредственно момента изменения фона ты не видишь. Такой эффект реализован например вот здесь http://coffeebean.ru/
994392
#309 #994392
>>994389
Там просто позишн фиксед у бэкграунда, лол. А так параллакс.
994393
#310 #994393
>>994392
* аттачмент фиксед
#311 #994489
Прошел весь учебник на javascript.ru, порешал оттуда все задачи самостоятельно + >200 задач из бумажного учебника 98-го года по паскалю. Верстку знаю. Фреймворки отложил на потом, хочу сперва выдрочить все палиндромы и обходы деревьев ванильными средствами.
Помогите выбрать бэкенд-язык для параллельного изучения. Так чтоб раз и навсегда. Приоритет - бабло и востребованность, илитность не важна. Выбираю между PHP, Python и C#. Нода за скобками, само собой. И еще: SQL или key-value?
994496994539
#312 #994496
>>994489
Питон без вариантов для джсера. Ну, кроме ноды.

> И еще: SQL или key-value


SQL и key-value кэшем.
994497
#313 #994497
>>994496

> Питон без вариантов для джсера


Советовать язык с GIL. Зачем?
994506
#314 #994506
>>994497
Потому что C++ и jvm-языки слишком сложны для быстрого вката формошлепа, сишарп просто говно ненужное, руби недопитон, пхп старое говно и один хуй медленное, го также не годится для вката, хуяк нормальные языки кончились.
994519994539
#315 #994519
>>994506
Но php ему объективно лучше подойдет. И работу быстрее найдет. Да и го для вката намного легче, синтаксис проще еще поискать надо.
994544
65 Кб, 676x450
#316 #994522
>>993829
У тебя вообще невалидный код вроде, АДЖЕЙСН ЖИЭСИКС ЭЛЕМЕНТС МАСТ БИ ВРАППЕД ИН ЭН ЭНКЛОЗИН ТЕГС.
А вообще отступы стилями делаются, а не пробелами, блджад.
183 Кб, 1200x800
#317 #994539
>>994489>>994506
А чё не NodeJS?
Присоединяюсь к вопросу выбора бекэнд-языка.
Меня интересует наиболее безболезненное изучение этих ваших HTTP/Сокетов/сертефикатов и прочей непонятной сетевой хуйни, которую непонятно с какого бока изучать.
В принципе язык я потом могу и сменить, мне именно веб-опердени нужно как-то освоить.
994549994553
#318 #994542
Есть ли на ютабчике какой-нибудь видеоурок (русскоязычный) по Set,Map, WeakSet, WeakMap ? Прочитал статью у Кантора и хотел бы закрепить видеоматериалом, но не нашел подобного. Обычно по ES6 на CodeDojo смотрел, но там про это к сожалению нет ролика.
994552994632
135 Кб, 800x535
#319 #994544
>>994519

>И работу быстрее найдет.

#320 #994549
>>994539
Есть хорошая литература по Ruby on Rails, но вакансий на нём крайне мало.
По остальным языкам — литературы толком нет и вакансии в основном от ЗАО «Рога и Копыта», т.е. работа в подвале, где в вентиляцiи крыска здохла.
Икарочи, либо пидарасом у клоунов, либо клоуном среди пидарасов.
97 Кб, 900x600
#321 #994552
>>994542
Что тебе нужно закреплять в наибанальнейших классах с 1.5 методами?
Стандарты иди почитай, блять.
Или реализуй проверку является ли Map валидным математическием отображением из Set в Set и если да - определить является ли это отображение инъективным/сюръективным/биективным.
994566
#322 #994553
>>994539
Ну такое мнение бытует, что нода не для сайтов. Особенно типа "админка биллинговой системы". На том же php фреймворки именно для таких вещей заточены, как CMS почти - развернул и верстай вьюхи. В ноде наверняка есть какие-то похожие модули, но не настолько веками вылизанные как yii или типа того.
#323 #994566
>>994552

>Что тебе нужно закреплять в наибанальнейших классах с 1.5 методами?


>Стандарты иди почитай, блять.



https://learn.javascript.ru/set-map - ну я конечно понимаю что тема небольшая, но мне как полному нубу сложно запоминать эту инфу, тем более я не совсем понял что из себя представляют эти "коллекции" и как они устроенны внутри себя.

>Или реализуй проверку является ли Map валидным математическием отображением из Set в Set и если да - определить является ли это отображение инъективным/сюръективным/биективным.



Ты шо гнида, нормально базарь.
#324 #994578
>>988024 (OP)
Тред говеный пиздец, на сложные вопросы никто не отвечает, зато блять банальные вещи разбирают всем тредом
994590
#325 #994590
>>994578
Не, прост тебя игнорируют, томущо ты никому не нравишься.
#326 #994614
Здравствуйте, ребята. Давно к вам не заходил. В последний раз был здесь, когда тред смыло автопостером. Очень тогда расстроился инбифо всем похуй.
Так вот, решил приложение запилить, простенький прокси тестер. В идеале хотел бы на электроне все сделать.

На ноде логику приложения сделал уже, консольный вариант работает. Но решил впервые запилить UI на каноничной связке React-Redux-Immutable. И вроде бы поперло, но потом постигла легкая фрустрация. Понял, как я лажанулся, потому что не читал Абрамова внимательно с самого начала. Лирику отброшу в сторону и озвучу суть своей трудовой импотенции:
- во-первых, я сразу решил использовать компоненты без внутреннего стейта зря. Потом прочитал Абрамова, где он говорил, что в большинстве случаев делать так не стоит. И вот, собственно, вопрос к анону - вы тоже храните состояние UI компонентов во внешнем сторе? Ну, там, опции, положение тогглов и прочую атрибутику...
- во-вторых я так и не нашел убедительной конвенции именования редьюсеров. Опять, совершая ту же ошибку, что и прежде - т.е. не читая внимательно документацию, перешел сразу к разработке. Редьюсеры именовал как попало, те, что относились к UI, называл как компоненты. Потом прочитал и узнал, что это 'бэд практикл'. Опосля реорганизовал свои редьюсеры как "appStateReducer.js" (состояние приложения - "в работе", журнал активности приложения и пр.), "domainStateREducer.js" (данные "по существу", в моем случае - айпишники проксей, результаты тестирования) и "uiStateReducer.js" (собственно, визуальное состояние всех компонентов). Стало лучше, но осадочек остался. Вроде и понял уже, что UI лучше бы хранить во внутреннем стейте, чтобы не городить цикл ебалистики из "Action -> Reducer -> Effect" на каждый плевок типа открытия модалок.
994624
59 Кб, 818x740
#327 #994618
Я не понимаю, как работает вот эта рекурсия. Почему в месте с "return x * pow(x, n - 1);" не выдаст ошибку? Это все равно что сказать "масло масляное". Ведь pow(x, n - 1) сама в сво очередь должна что-то вернуть, но мы об этом нигде не говорим.
994622994624
#328 #994622
>>994618
Я даже подумать боюсь, какое представление о последовательности выполнения программы у тебя сложилось. Выполнение инструкций идет в том порядке, в котором они записаны, и только так. Когда встречается вызов функции - происходит переход внутрь нее и внешний код не продолжает выполняться, пока из функции не будет совершен выход, либо явным return-ом, либо тупо по достижению конца.
В твоем случае: pow(n, x) вызывает pow(n, x-1), которая вызывает pow(x, n-2) и т.д., пока первый аргумент вызванной функции не станет равным 1. Потом все эти вложенные вызовы развернутся обратно, т.е. pow(x, 1) вернет x, pow(x, 2) = x * pow(x, 1) вернет x^2 и т.д.
994639
#329 #994624
>>994618

>Ведь pow(x, n - 1) сама в сво очередь должна что-то вернуть, но мы об этом нигде не говорим.


Все функции что-то возвращают.
Неявно - undefined.
Здесь явно - либо функцию с ее последующим вызовом (себя = рекурсия), либо число.

>>994614
Продолжу свой опус.
Знаю, что сделал по-ебанутому, но прослойку между UI и логикой работы приложения решил организовать на сокетах, несмотря на точ, что таргетом будет выступать все-таки Электрон и нужно было бы, по-хорошему, делать общение на ipc. Ну да похуй, так привычнее и отлаживать удобнее до упаковки в Электрон. Триггер экшонов делал через Redux-Logic.
Как вообще разработчики, прибегающие к применению Редакса, мирятся с адовым низкой скоростью разработки?
Ведь "цикл ебалистики", состоящий из описания констант и создания экшонов, описания редьюсеров пиздец как снижает производительность программизда.
994639
#330 #994632
>>994542
Напиши функцию гитлер, которая принимает два массива с любым говном внутри и возвращает конкатенированную строку из отсортированных уникальных строк из этих двух массивов. Работает так:
====
let abu = ['Tvoya', 1, 3, 56, 23, 677, 'mamka', null, {}, 'mamka'];
let makaka = ['shluxa', 'Tvoya', 78.456, 1, 5, 7, undefined, new Date(), 'shluxa'];
hitler(abu,makaka); // 'Tvoya mamka shluxa';
function hitler(arr1,arr2) {
}
===
994722
#331 #994634
Стоит ли использовать node.js для сервера мморпг? какие подводные?
Я понимаю, что го или шарп возможно были бы лучшим решением, но нас в команде двое, и второй человек знает только js.
994635
#332 #994635
>>994634
Для прототипа вообще всегда лучше использовать то, что ты уже знаешь. Так что нахуй и го и шарп, тем более, что они ничем не лучше ноды для твоей задачи.
994648
#333 #994639
>>994622
>>994624
Вот теперь понял, спасибо!
#334 #994648
>>994635
Я где то вычитал, что нода не способна поддерживать даже средний онлайн(для 50 человек уже нужно выделять три процесса), плюс там какая то ебола с компенсацией лагов, мол пакеты накапливаются во время фриза, а потом просчитываются не правильно.
994649
#335 #994649
>>994648

>не способна поддерживать даже средний онлайн


У дебилов, гоняющих все по http - да, не способна.
994663
#336 #994663
>>994649
Tcp. Но я думаю юзать RTP
994672
#337 #994672
>>994663

>думаю юзать RTP


Нахуя? Когда не критично - берут tcp. udp производительнее, но работа в ноде udp нода мягко говоря как говно, смысл асинхронщины идет по пизде, да и тебе такой уровень не нужен, если только не плаируешь онлайн в количество игроков, большее тысячи.
#338 #994689
Анон, работаю на проекте с Ангуляром 1.х с классической антипаттерн-архитектурой. Есть в одном месте жирный модуль с контроллером на 1к строк, в котором делается всё. Что могу, распихиваю по директивам.
Что дальше с ними делать? Выделить директивы в отдельные файлы?
Контроллер и директивы привязаны к общему модули, тк должны обмениваться данными.
#339 #994722
>>994632
http://jsbin.com/qemuyigabu/edit?js,console
Ну вот вроде сделал, только .join по какой-то причине не работает. А по какой именно хуй знает как я должен догадаться. Поэтому и просил видео всякие чтобы понять что такое эта коллекция Set, Map и тд.
994724994726
#340 #994724
>>994722

>просил видео


>чтобы понять что такое эта коллекция Set, Map


Блять, пиздец, дабл фейспалм.
Гугли Структуры и алгоритмы от Вирта. Это маст хэв книга каждому, в том числе веб макакам в том числе, потому что redux и прочая ебала пилится по идеям, заложенным именно Виртом.
994949
#341 #994726
>>994722

>не работает


Значит не сделал. В статье этого чувака есть все необходимое. join не работает по очевидной причине - это метод массива, а ты его хочешь вызываешь у new Set, который такого метода не имеет.
994728
#342 #994728
>>994726
Но если автор объясняет что это коллекция и туда даже аргументы передаются как в массивы, то почему внезапно .join не работает... Как вообще обратиться к этим данным если они в каком-то свойстве [[Entries]]? Только перебором и записью в новый массив?
994729
#343 #994729
>>994728
Если ваш ответ - да, только перебором, тогда я вроде бы сделал правильно.
http://jsbin.com/qemuyigabu/edit?js,console
994735
#344 #994735
>>994729
Неправильно, так как не отсеиваются не-строки, нет сортировки. Должно получиться

>'Tvoya mamka shluxa'


а у тебя

>"Tvoya 1 3 56 23 677 mamka [object Object] shluxa 78.456 5 7 Mon May 22 2017 15:00:05 GMT+0300 (RTZ 2 (зима))"


И сделать можно все в одну строчку.
Но можешь считать что применил Сет на живом юзкейсе.
994755
#345 #994755
>>994735
Ну задание было вернуть уникальные строки, про то что нужно убрать цифры и ты я только в примере заметил.
994756
#346 #994756
>>994755
и дату*
Аноним #347 #994808
https://goo.gl/NiCUk8

1const smallestDivisor = (num) => {
2const denominator = 2;
3const result = (num, denominator) => {
4 return (num % denominator);
5}
6if (result === 0) {
7return denominator;
8}
9result(num, denominator+1);
10};
11
12smallestDivisor(100);

Суть программа для нахождения наименьшего делителя числа, работает просто прибавляет к делителю 1 и смотрит если делит без остатка то все ок и возвращает делитель
Но блять эта хуета не работает в 9 строчке возвращает undefined
ЧЯДНТ
994824994910996031
#348 #994824
>>994808
хуй знает что ты пытался изобразить, но зачем на 6 строке сравнивать объект функции с нулем я в душе не ебу
994857
Аноним #349 #994857
>>994824
это константа result содержит результат вычисления num%denominator
#350 #994893
>>988024 (OP)
Ребзя, знакомый кодер на жс при каждом случае шутит про говно, жопы и хуи.
Это норма у вас или он гомич?)
994896
#351 #994896
>>994893
это норма, все жсеры так делают
994898
#352 #994898
>>994896
ну не в 35 лет же
#353 #994910
>>994808
Возьми и проверь дебагером, благо он есть у тебя под носом в браузере, чё ты как школьник.
28 Кб, 696x614
4 Кб, 349x168
#354 #994933
Ребята, вот еще такой вопрос по реакту:

короч есть один компонент, у меня он назван HomeWindow, в нем рендерится растиражированный дочерний компонент реюзабельность, все дела Pane.
Дочерний компонент Pane требуется рендерить в разных вариациях, т.е. с незначительными различиями, типа лейблов, тайтлов и т.д.
При этом компонент обладает определенной интерактивностью (может вызывать по нажатию на кнопку попап, например), и поведение может отличаться от определенных условий.

Сейчас все работает, но чувствую, что реализовано говняно:
- все компоненты без своего стейта, соответственно весь интерактив достигается за счет коннекта редаксового стора;
- при рендеринге родительского компонента HomeWindow запускается мап "populatePanes" по массиву с конфигами для отрисовки Pane (пикрил). Вроде все старался делать канонично, и такая лажа получается.

Как грамотно организовать создание таких вот компонентов, когда требуется отрисовка большого количества однотипных данных, но отличающихся нюансами вроде обозначений, триггеров и т.п.?
#355 #994949
>>994724

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


Хех, а я думал от лени и не способности разобраться в моделях из MVC. Ну ладно.
995099995121
#356 #995099
>>994949
redux как раз и существует для тех случаев, когда mvp уже не канает
87 Кб, 1498x421
#357 #995111
как составить запрос, как на пикрил?
даже не пойму что гуглить, выдает ответы для php
995175
#358 #995121
>>994949
Типичный сноб, ведь все такие тупые, правда?
27 Кб, 422x300
#360 #995177
Анон, выручай.Есть код который с помощью PhantomJS делает скриншоты страницы, на indiegogo.com категорически отказывается работать,без кастом хидера выдает пустой скриншот, с кастомхидером .
var page = new WebPage()

page.customHeaders = {
"upgrade-Insecure-Requst": "1",
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8",
"accept-Encoding": "gzip, deflate, sdch, br",
"accept-Language": "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4",
"user-agent": "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25",
};

var fs = require('fs');
page.onError = function (msg, trace) {
console.log(msg);
trace.forEach(function(item) {
console.log(' ', item.file, ':', item.line);
});
};

page.onLoadFinished = function() {

console.log("page load finished");
page.render('export.png');

phantom.exit();
};

page.open("https://www.indiegogo.com/", function() {
page.evaluate(function() {
});
});
Может быть ему надо куки скормить еще? На других сайтах такого не замечено.
27 Кб, 422x300
#360 #995177
Анон, выручай.Есть код который с помощью PhantomJS делает скриншоты страницы, на indiegogo.com категорически отказывается работать,без кастом хидера выдает пустой скриншот, с кастомхидером .
var page = new WebPage()

page.customHeaders = {
"upgrade-Insecure-Requst": "1",
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8",
"accept-Encoding": "gzip, deflate, sdch, br",
"accept-Language": "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4",
"user-agent": "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25",
};

var fs = require('fs');
page.onError = function (msg, trace) {
console.log(msg);
trace.forEach(function(item) {
console.log(' ', item.file, ':', item.line);
});
};

page.onLoadFinished = function() {

console.log("page load finished");
page.render('export.png');

phantom.exit();
};

page.open("https://www.indiegogo.com/", function() {
page.evaluate(function() {
});
});
Может быть ему надо куки скормить еще? На других сайтах такого не замечено.
995178995179
#361 #995178
>>995177
Хром с недавних пор стал безголовым, аки ФантомЖС, который, к слову, более не поддерживается.
Делай скриншоты при помощи него.
995240
#362 #995179
>>995177
С кастомхидером пикрелейтед.
9 Кб, 427x289
64 Кб, 365x137
#363 #995222
https://pastebin.com/XjLGyWxY
Что не так сделал? Как сделать именно ЭТОТ код рабочим?

В общем инфотреде мне скинули вариант другой, более краткий, но он мне не понятен. (пикрелейтед 2)
995236995251
#364 #995236
>>995222
Не нужно усложнять.
https://pastebin.com/a4qgXcv0
995238995239
60 Кб, 650x730
#365 #995238
>>995236

>output = input.replace(/./g, (c) => MAPPING[c] || c)


чооооёпты
47 Кб, 513x387
#366 #995239
>>995236
я не так давно вкатился и сижу задания по учебнику выполняю, там просили через цикл for, я и хочу через цикл for реализовать. Если я как-то иначе решу - то проблема невозможности создания через цикл for, как и понимания того, как оно работает - останется. В общем не вариант.
#367 #995240
>>995178
Не стал, а станет. И схуяли фантомЖС не поддерживается-то?
995250
#368 #995250
>>995240

>схуяли фантомЖС не поддерживается-то


That's all, folks!
https://medium.com/devschacht/phantomjs-is-over-df065e5b23bf
995400
#369 #995251
Отбой анонас. Я разборался. Я просто не мог понять, как KEY работает
>>995222
20 Кб, 606x666
#370 #995269
Чому глобал для замены повторяющихся букв не работает?
995458
#371 #995286
Пхп макака в треде, умею в бекенд, но ни разу не касался фронтенда точнее касался и это выглядело как желтая страница с одной кнопкой. А теперь вот пилю свой маленький проект. У вас тут случайно нет кнопки СДЕЛАТЬ ПИЗДАТО?
996079
#372 #995400
>>995250
Интересное чтиво, спасибо.
#373 #995458
>>995269
тому что str.replace принимает два аргумента.
995459
#374 #995459
>>995458
Шесть+ часов прошло. Уже давно разобрался с регэкспом и прочими приколюхами в одно ебало.
Тред мертвее, чем я.
995538
34 Кб, 1000x1000
#375 #995483
Поскольку отдельного хтмл треда я не нашел, то спрошу тут. Как в бутстрапе сделать небольшой по высоте список, который можно скроллить и в котором будет крутится большое количество элементов? Да так, чтобы можно было выбрать один элемент.
995515995707
#376 #995515
>>995483

>Поскольку отдельного хтмл треда я не нашел


Плохо искал. Есть фронтенд тред в воркаче.
#377 #995538
>>995459
Чем ты недоволен-то? Все правильно, разбираться нужно самостоятельно, а не ждать разжеванных ответов от анонов. У всех у некоторых работа, сидеть тут круглосуточно, чтобы отвечать на ньюфаговопросы никто не будет.
#378 #995707
>>995483
Проследуй на /web парашу, чухан. В гугле забанили?
#379 #995880
Котаны, насчет учебника в интернете. Прошел Введение, Основы JS и Качество кода, какую часть читать дальше сейчас? Уже знал до этого ХТМЛ/ЦСС.

Вот все части:
https://learn.javascript.ru/tutorial/map
995898
#380 #995898
>>995880
Как насчет читать по порядку?
995900
#381 #995900
>>995898
Без проблем. Просто вдруг там как-то в особом порядке все идет, я же не знаю.
#382 #996026
>>994069
document.createTreeWalker(...)
#383 #996031
>>994808
Как же вы заебали с этой стрелочной залупой, код читать невозможно. Ненавижу ES6.
996079
#384 #996047
Нужно отправить get запрос к api, но я должен быть авторизован. Как авторизоваться? Через cURL перед запросом просто писал связку логин пароль, а тут не понятно. Делаю не в браузере, а на ноде.
996079
#385 #996053
Поясните: на чём можно сейчас проще всего наваять незамысловатый фронтенд (SPA + контроллеры + реквесты в сеть + кастомизация парсинга)?
996069996120
#386 #996069
>>996053
Похапе
996120
#387 #996079
>>996047
OAuth?

>>996031
HATERS GONNA HATE

>>995286
Нет, иди нахуй
996461
#388 #996120
>>996053

>ронтенд (SPA + контроллеры + реквесты в сеть + кастомизация парсинга)?


>Ответы: >>996069


Проще всего на Vue
#389 #996166
Есть класненький проект, у которого все плохо с фронтом. Я очень вдохновлён его апгрейдом, но как бля объяснить команде, что использовать реакт без релаксацию, тайпскрипт и инлайн цсс(хоть и используя styled components и подобное) - это ебаное вафлерство (в команде сплошные шарписты, жс пишут на классах и дженериках, пиздец)
#390 #996170
>>996166

> релаксацию


Редакс (т9 айфона ахуенен)
#391 #996178
>>996166
Заказчик доволен и похуй.
#392 #996226
>>996166

>инлайн цсс


Зачем он нужен-то? Весь css содержится в классах, а className вычисляется выражением от props и state.
996283
#393 #996283
>>996226
а вот попробуй расскажи это шарпистам, у которых, как я понял, фронтендера не было несколько лет, и они хуячили инлайн хтмл/жс/цсс, а потом ещё и копипастили из одного контроллера в другой. Сука, там бля на рендер одной страницы около 500 if'ов
996284
#394 #996284
>>996283
а свёрстано всё на спанах блядь))00))0
#395 #996407
Господа, решил вкатиться в веб, неужто все так хуево с JS как в статье по линку? https://habrahabr.ru/post/312022/
996418996434
#396 #996418
>>996407
Хуево для тех, кто не любознательный. А так наоборот охуенно все.
996422
Оп хули #397 #996421
шалом жсач, планирую к осени выкатиться с фронтенда, есть идеи куда податься ?
пока рассматриваю android/ios
#398 #996422
>>996418
А насколько нужно быть любознательным?
996426996434
#399 #996426
>>996422
Настолько, чтобы выход новой штуки ты воспринимал как некий подарок, который с нетерпением хочется раскрыть и поиграть, а не как тяжелое бремя.
Такой ответ устроит?
996431
#400 #996431
>>996426
А как осваивать такое кол-во подарков?
996434
#401 #996434
>>996407
>>996431
>>996422
Не парься, анон. Значительная часть всех этих страшных слов - просто вспомогательные технологии, к самому программированию имеющие опосредованное отношение. Я за пару дней разобрался и настроил вебпак с бабелем для уже существующего проекта.
996698
#402 #996461
>>996079

>OAuth


Это сервис должен быть написан с учетом поддержки OAuth? Там авторизация происходит через веб форму. Кажется мне что не получится и нужен другой вариант.
996698
#403 #996462
>>996166

>жс пишут на классах и дженериках


Можно поподробнее о том, что это и почему это плохо?
#404 #996698
>>996434
>>996461
А колготки в комплекте с жс идут?
996758
#405 #996758
>>996698
Нет. Справочник Фленагана, чулки, губную помаду и лак для ногтей ты должен купить сам, если действительно хочешь стать JS-разработчиком.
#406 #996793
Как быстрее всего проверить, что один массив содержит все элементы другого массива? Сейчас использую лодашевский differеnce, но что-то очень медленно все.
Мимочайник
996866
#408 #997127
Есть ли смысл учить ноду, не зная реакт? Я хочу ее, а потом вью.жс, например. Но по вью вакансий нет, так что для работы только нода получается?
уже знаю jQuery, дефолтные htmlcssless, пыху на уровне написания микрофреймворка, знания ларвеля и т.д, короче хороший средний уровень.
997178
#409 #997143
Антуан, где искать удаленку не-фриланс? Надоело уже быть самому себе менеджером на апворке, хочу лениво сидеть за пекой 8 часов и писать код, имея четкую задачу, а не искать несколько дней-недель клиента а потом клешнями из него вытаскивать тех. задание.
#410 #997178
>>997127

>Есть ли смысл учить ноду, не зная реакт


Есть, если хочешь быть бэкендером. REST api будешь пилить без привязки к конкретному фреймворку на фронте.
997183
#411 #997183
>>997178

То есть та же тема, как с пыхой получается? Типа, адекватно могу работать бекэндером и свои высеры одевать в простую вёрстку?
Просто пробежал глазами по вакансиям, и везде этот реакт появился уже, такое чувство, что нельзя лампово разрабатывать бэк шлёпать круды на отстань с кофеечком в одной руке, а надо ещё быть фуллстак гением, который сам тебе разработает дизайн, чтоб тимлид мог бабло, выделенное на дизайнеров/фронтеров направить к себе в карман. Может, выгоднее просто начать учить реакт, css, вот это вот все и стать фронтером?
997185
#412 #997185
>>997183
Да, та же тема, но даже без верстки, просто отдавать данные через api. Ну, это если у тебя в команде будет бэкендер. Если нет, то можешь присмотреться к бесплатным html шаблонам, они уже для всего есть, и для дешборд и т.д. и т.п.
997195
#413 #997195
>>997185
ура, наконец можно отложить богопротивный пхп и поизучать новейшие жс фичи
А книга Сухова, "путеводитель по технологии", нормальная?
#414 #997201
Проясните за этот ваш реакт, а то я с зоны откинулся недавно, 8 лет отмотал за цепе, и вот решил обновить стек, зырю быдлоуроки на ютубе и вижу какую-то сильно замудреную хуйню которая делается в ваниле чем-то типа
var div = d0cument.crеatеElеment('div');
b0dy.appуndChild('div');
У нас в 2007-м за смешивание хтмл и жс без лишней надобности по ебалу кочергой давали, притом что из реальных задач когда это нужно на ум приходит только кликанье на кнопку "смотреть еще", подтягивание аяксом ЖСОНА с товарными карточками резиновых дилдаков, парс, оборачивание в хтмл и добавление на страницу. Что кроме этой ебатни которую и в ваниле не западло сделать умеет этот реакт?
997240
#415 #997240
>>997201
Я сам только React изучаю, но допустим перед тобой стоит задача реализовать такие компоненты:
- Попап, с кнопками OK и Cancel, сам попап драггабельный, в теле попапа может находится что угодно.
- range слайдер (горизонтальный бегунок) с валидацией
- input с валидацией
- Colorpicker

Важно, чтобы компоненты можно было легко комбинировать. Нужны такие комбинации:
1) Попап, внутри rangeSlider и input с валидацией
2) Попап внутри которого только input с валидацией
3) Попап с colorPicker'ом и rangeSlider'ом
В будущем будут появляться новые компоненты, которые нужно вкладывать в попап. Поэтому логично разделять ответственности и делать компоненты по максимуму независимыми и реюзабельными, а не копипастить портянки с ручной манипуляцией DOMа.

С помощью React и JSX комбинировать компоненты произвольным образом очень легко:
<PopUp display={false} onOk={(value) => console.log(value) } ... >
<RangeSlider min={0} max={255} step={1} ... />
<Input ... >
</PopUp>

Попробуй на чистом JS реализовать такую гибкость. Я пытался, вышло не гибко + много рутинного кода.
Как раз таки React очень близок к JS, в отличии от того же ангуляра 2 (4, 6?) с его абстрактными фабриками прокси билдеров.
#416 #997263
Господи, как кушать то хочется...
#417 #997269
https://learn.javascript.ru/generator#плоский-асинхронный-код - кто нибудь может мне объяснить что происходит в этой главе и нахуя это вообще надо? То Кантор в теме про промисах говорил что они позволяют делать асинхронный код, то в теме про генераторы опять, только чем это всё отличается и нахуя надо?
997274
#418 #997274
>>997269
и ещё. Я не пойму что это за второй аргумент в функции execute(generator, yieldValue) ? Он ведь undefined, мы ведь передаём функции всего 1 параметр - функцию генератор (точнее возвращаемый ею объект).
997299
#419 #997297
>>988024 (OP)
Можно ли както сделаь чтоб при гет сет несуществующей проперти у обьекта мне ошибка выдавалась?
997301
#420 #997299
>>997274
не смотрел особо.
yieldValue

let blah = yield smth
как я понял, yieldValue, это то, что вернет yield.

смотри await в новом js.
если фу-я помечена как async, то можно будет:
let x = await fetch(url1)
let y = await fetch(url2)
doSmth(x, y)
как бы ждет, пока fetch выполнится. подумай как по другому это сделать и станет ясно зачем нужен await. т.е.
let x, y
fetch(url1)
.then((result) => x = result)
.then(() => fetch(url2))
.then((result) => y = result)
.then(() => doSmth(x, y))
с await чище выглядит.

с генераторами по ссылке что-то похожее.
997305
#421 #997301
>>997297
не знаю, но смотри proxy object. вроде бы читал как с его помощью что-то такое делали.
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Proxy
#422 #997305
>>997299
Нихуя не понял, но ладно. Что такое fetch я даже не знаю, но автор почему-то его использует. Хотя до этого такой функции (или метода) не было в уроках.
#423 #997309
Как в VS Code замутить нормальный автокомплит? В обычной студии например пишешь for, жмешь таб и он сам дописывает тебе (i = 0; i < n; i++){}.
997310
#424 #997310
>>997309
А, и вы обычной студии ещё если в конце блока ставишь точку с запятой, то она сама форматирует весь блок, нет ли в VS code похожей настройки/плагина?
997377997378
#425 #997377
>>997310
Нет. А вообще меня vs code на vs ommunity, а сверху положи решарпер
997402
#426 #997378
>>997310
Зачем ты ставишь в конце блока точку с запятой?
997402
#427 #997402
>>997378
Ставил и сразу стирал, так код сам форматируется.
>>997377
На шарпах там и пишу, но для жса это слишком огромная хуйня, поэтому перекатился на code
#428 #997415
Народ подскажите, тодолист, змейку, слайдер никогда не писал. Так сказать, я еще новичок в языке. Решил тут побаловаться с помощью кнопок по переключать картинки, но не знаю, как сделать, чтобы переключалось не 2 картинки, а много? Знаю, что через массив надо такое делать, но не знаю, как это реализовать. Через цикл?

мой пример https://codepen.io/Okhre/pen/NjVgPr?editors=0010
997476
#429 #997466
>>988024 (OP)
hi all
при вложенной популяции в mongoDB возникают проблемы типа

.populate({
path: 'field1.field2', populate: {
path: 'field3'
}
})

до obj.field1.field2 не получается дотянуться
только если использовать obj.field1._doc.field2
#430 #997476
>>997415

Делаешь переменную-счётчик, при клике на следующую картинку увеличиваешь на 1, при клике на предыдущую уменьшаешь. Ну и также потребуется проверка, если счётчик стал равен -1, делаешь его равным длине массива, если счётчик равен длине массива, делаешь его равным нулю. Псевдокод:

// для кнопки next
counter++;
if (counter == images.length) counter = 0;

// для кнопки back
counter--;
if (counter == -1) counter = images.length - 1;
997487
#431 #997487
>>997476
Слишком грязно. Ему бы на стримах все сделать, тем более он уже в этом ключе начал думать, судя по коду.
Поэтому, можно заюзать чисто xstream подписавшись на клик-ивенты, можно целиком ДОМ отрисовать на CycleJS.
997498
#432 #997498
>>997487
А еще лучше react + redux + babel + webpack + typescript заюзать
997540
#433 #997540
>>997498

>typescript


Зачем, если есть flow?
997563
#434 #997563
>>997540
Что это? Очередная мегаважная супермолодежная находящаяся на острие фронтенда технология, которую нужно знать всем бородатым модникам в узких штанишках?
#435 #997604
Ребята, в JS есть такой паттерн как делегирование, когда мы вешаем один слушатель на элемент-родитель, вместо того, чтобы создавать кучу слушателей на каждого ребёнка: https://learn.javascript.ru/event-delegation

Я использую этот подход в React.js, но почему во всех туториалах (в том числе и от Абрамова) делегирование не используется? Вот пример из доков: https://codepen.io/gaearon/pen/gWWZgR?editors=0010

React как-то это оптимизирует или ребята просто решили не усложнять?
997617
#436 #997617
>>997604
Вот смотри, у нас здесь слушателей много, они тебе код писать мешают, слушатели. А вот давай я здесь проделегирую, а слушатели-то все на родителя повесятся, и мы их детям-то проделегируем. И тебе тогда писать.. оооой, писать хорошо будет. Куда им еще события-то отправлять, ихние листенеры-то только здесь. Ну что, делегировать?
997624997649
#437 #997624
>>997617
Вниз по пропсам можно спустить.
#438 #997649
>>997617
Ты написал генератор вариаций для пасты на основе постов?
23 Кб, 600x334
#439 #997697
Че вы делали после изучения JS?
Над какими проектами начать работать?
#440 #997760
>>994291
Не слушай того антона. ВУЗовские знания тебе по факту не нужны, но они очень хорошо развивают интуицию. Это как с русским языком, ты его учишь в школе, а потом забываешь к хуям все правила, но пишешь все равно правильно.
#441 #997932
Какая самая бородатая IDE с подворотами в 2к17? VS Code?
Мой Atom выглядит немного по-2к16-му.
997978998007998041
#442 #997978
>>997932
PHP Storm.
#443 #998007
>>997932
neovim
#444 #998041
>>997932
spacemacs
998408
97 Кб, 700x467
#445 #998061
Сап, сосоны. Вкратце, долгое время хочу перекатиться на ЖС (фуллстак или фронт, или даже бек, хуй знает, нравится сам язык). Хули мне надо? Помощь от опытного анона в виде ТЗ или задачек, которые помогут отточить практическое применение Реакта\Ноды и всех плагинов\модулей, которые пригодятся при последующей грёбле на галере в качестве ЖС макаки. Формат, который мне больше всего подходит в обучении - "проблема + что поможет в её решении" (как в задачках FreeCodeCamp) Например:
Пилишь X, в местах X и Y используешь A и B, обращая внимание на C. Искал в интернетах что-то подобное но не нашёл, в книгах слишком простые хеллоу-ворлд задачки. Даже купил хвалёную книгу по фуллстак реакту, везде ебаный подход как на картинке "рисуем сову" блядь. Т.е. "повторяй за мной" и в конце ты нихуя не понял, что написал. Не хватает именно правильно поставленных проблем, решение и документацию я сам наверну и разберусь. Халп, анон, на тебя последняя надежда!
998087998157998235
#446 #998071
Привет. Есть желающие за деньги поучить жс/фронту?
Мне нужно подтянуть знания до миддла, хочу в процессе обучения разобраться с ес6, реактом, вебпаком ну и основами жс, ооп и т.п. По цене и формату предлагайте сюда -
gL}7ibli.gibliANUSyandqxVexPUNCTUMr}xpu
#447 #998081
>>993573
Что за порода?
998445
#448 #998087
>>998061
Палю годноту - кусок проекта из своего опыта.
Я на этот кусок угрохал полтора месяца, будучи еще молодым шутливым. Если осилишь - можешь смело нести показывать это говно на собес на позицию джуна-фронтендщика.
Если что-то непонятно по ТЗ - спрашивай, дополню.

Есть набор абстрактных блоков, репрезентующих какие-то объекты из предметной области. У каждого блока есть следующие параметры:

- название
- роль: основной / дополнительный

У основных блоков также есть:
- тип: маленький / большой
- точки прикрепления

У маленьких блоков также есть:
- направляемость: направляемый / нет

Точки прикрепления у маленьких блоков (в формате [внутриИлиВнизу, по горизонтали, по вертикали]):

- внутри центр верх
- внутри центр центр
- внутри центр низ
- внутри слева центр
- внутри справа центр
- снаружи слева центр
- снаружи справа центр

Точки прикрепления у больших блоков:

- внутри центр верх
- внутри центр середина-верхней-половины
- внутри центр верхняя-сторона-середины
- внутри центр нижняя-сторона-середины
- внутри центр середина-нижней-половины
- внутри центр низ
- внутри слева середина-верхней-половины
- внутри слева середина
- внутри слева середина-нижней-половины
- внутри справа середина-верхней-половины
- внутри справа середина
- внутри справа середина-нижней-половины
- снаружи слева середина-верхней-половины
- снаружи слева середина
- снаружи слева середина-нижней-половины
- снаружи справа середина-верхней-половины
- снаружи справа середина
- снаружи справа середина-нижней-половины

У дополнительных блоков также есть:
- ориентабельность: ориентабельный / нет

Дополнительные блоки могут крепиться только к основным и только в точках прикрепления.
В зависимости от точки прикрепления у одного и того же дополнительного блока может быть разная ориентация: none, left, right, up, down. Ориентация - то, куда "смотрит" дополнительный блок после прикрепления, а смотрит он от стенки или линии, к которой прикреплен. Ну и none, если точка точно в центре.

Для всех блоков есть картинки, именованные следующим образом:
- если блок направляемый, то ${название}-${направление}.png (направление либо l2r, либо r2l)
- если блок ориентабельный, то
${название}-${ориентация}.png (ориентация может быть none, left, right, up, down)
- в противном случае просто ${направление}.png

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

Каждый абстрактный блок может быть использован сколько угодно раз.
Должна быть палитра, из которой можно мышкой перетаскивать на схему блоки.
Внутри самой схемы блоки так же можно менять местами мышкой.
При сбрасывании блока со схемы за ее пределы он должен быть удален со схемы.
При вылезании блоков за пределы схемы они должны ужиматься так, чтобы влезать в схему.
#448 #998087
>>998061
Палю годноту - кусок проекта из своего опыта.
Я на этот кусок угрохал полтора месяца, будучи еще молодым шутливым. Если осилишь - можешь смело нести показывать это говно на собес на позицию джуна-фронтендщика.
Если что-то непонятно по ТЗ - спрашивай, дополню.

Есть набор абстрактных блоков, репрезентующих какие-то объекты из предметной области. У каждого блока есть следующие параметры:

- название
- роль: основной / дополнительный

У основных блоков также есть:
- тип: маленький / большой
- точки прикрепления

У маленьких блоков также есть:
- направляемость: направляемый / нет

Точки прикрепления у маленьких блоков (в формате [внутриИлиВнизу, по горизонтали, по вертикали]):

- внутри центр верх
- внутри центр центр
- внутри центр низ
- внутри слева центр
- внутри справа центр
- снаружи слева центр
- снаружи справа центр

Точки прикрепления у больших блоков:

- внутри центр верх
- внутри центр середина-верхней-половины
- внутри центр верхняя-сторона-середины
- внутри центр нижняя-сторона-середины
- внутри центр середина-нижней-половины
- внутри центр низ
- внутри слева середина-верхней-половины
- внутри слева середина
- внутри слева середина-нижней-половины
- внутри справа середина-верхней-половины
- внутри справа середина
- внутри справа середина-нижней-половины
- снаружи слева середина-верхней-половины
- снаружи слева середина
- снаружи слева середина-нижней-половины
- снаружи справа середина-верхней-половины
- снаружи справа середина
- снаружи справа середина-нижней-половины

У дополнительных блоков также есть:
- ориентабельность: ориентабельный / нет

Дополнительные блоки могут крепиться только к основным и только в точках прикрепления.
В зависимости от точки прикрепления у одного и того же дополнительного блока может быть разная ориентация: none, left, right, up, down. Ориентация - то, куда "смотрит" дополнительный блок после прикрепления, а смотрит он от стенки или линии, к которой прикреплен. Ну и none, если точка точно в центре.

Для всех блоков есть картинки, именованные следующим образом:
- если блок направляемый, то ${название}-${направление}.png (направление либо l2r, либо r2l)
- если блок ориентабельный, то
${название}-${ориентация}.png (ориентация может быть none, left, right, up, down)
- в противном случае просто ${направление}.png

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

Каждый абстрактный блок может быть использован сколько угодно раз.
Должна быть палитра, из которой можно мышкой перетаскивать на схему блоки.
Внутри самой схемы блоки так же можно менять местами мышкой.
При сбрасывании блока со схемы за ее пределы он должен быть удален со схемы.
При вылезании блоков за пределы схемы они должны ужиматься так, чтобы влезать в схему.
#449 #998093
Аноны, мне в шараге дали задание сделать типа видеоигры, той где при выпадении 3 шариков/кубов одинакового цвета они уничтожаются. Я делал на паре так, чтобы при движении мышью на одноцветном фоне он превращался в разноцветные кубики/шарики с помощью onclick/onmouse/прочих on'ов (out, up, и т.д.). "Уничтожить" эти 3 шарика/кубика легко, с помощью display:none, но как блять сделать так, чтобы программа поняла, что когда 3 шара/куба одинакового цвета стоят в ряд по горизонтали/вертикали, то они уничтожаются? Через if или как? Я просто ещё совсем нуб ебаный.

Алсо, если на словах плохо пояснил, то вот

http://rgho.st/8tnljsJN6
998113
#450 #998113
>>998093
Почему вы такие тупые и чему вас таких там могут научить?
Используй класс, соответствующий цвету. И потом в массиве кубов проверяй каждый на наличие одинакового класса.
998178
#451 #998157
>>998061
А книгу выложить по доброте душевной не сможешь?

мимо-нищеброд
998231
#452 #998175
Котаны, подскажите дурачку, ковыряю массив.
Хочу что бы массив был проверен циклом:

https://jsfiddle.net/19z649dy/

Но не работает условие в цикле.
998182
#453 #998178
>>998113
Потому что у меня всего 2 недели пар было по JS и HTML. Cпасибо.
#454 #998182
>>998175
брейк нельзя использовать внутри тернарного оператора. проверяй ифом
998205
#455 #998190
и используй ес6, в нем твоя ебатень пишется в одну строчку так:
if (!arr.includes('text')) arr.push('text');
998206998245998674
#456 #998205
>>998182
Мерси за реакцию. И спасибо за инфу.
if ом конечно работает.

вот

https://jsfiddle.net/b9953dLr/

там все расписал
#457 #998206
>>998190
что такое ес6?

Я нуб очевидно.
#458 #998209

>Эйх больше всего известен своей работой в Netscape и Mozilla. Он начал работу в Netscape в апреле 1995 года, где разработал язык программирования, изначально называвшийся «Mocha»


Проиграл. Хорошо, что я не джсоблядок.
998212998213
#459 #998212
>>998209
У нас еще и фреймворк такой есть. А еще есть Chai.
#460 #998213
>>998209
Проиграл с пидорашки, который в 2017 не может в английский
#461 #998231
двачую >>998157, еще один бич
#462 #998235
>>998061

>Хули мне надо?


Научиться использовать гугл.
#463 #998242
>>988147
Славить гугл вечно.

>>989352
Некоторые тоже поначалу проигрывали, с того, что их гугл киданул на предмет хайпнутой первой версии ангуляра. Так сильно проигрывали, что их офисы до сих пор стоят расплавленные от жара их пердаков.

Ящитаю, что путь ангуляра в серьёзную разработку отныне закрыт. Сегодняшний энтерпрайз высоко ценит поддержку старых проектов, при условии их создания корпой. А гуглопидоры просто подтёрлись своим же фреймворком и тут же высрали новый (sic!) надеясь, что быдло схавает это во второй раз.
#464 #998245
>>998190

>нет скобочек


Переебал тебе с вертухана, чухан.
998260
#465 #998260
>>998245
Большую колу и картошку фри, пожалуйста.
#466 #998408
>>998041
в чем прикол твоего емакса?
202 Кб, 900x1200
#467 #998445
>>998081
Манул двачевский.
998456998546
17 Кб, 480x360
#468 #998455
var http = require('http');

var server = http.createServer(function(req, res) {
res.writeHead(200);
res.end('Hello Http');
});

server.listen(8080);

Не вижу тут замыкания, а оно есть.
#469 #998456
>>998445
Хуя как зарычал :3
#470 #998546
>>998445

>брать с собой жить котов этой породы как домашних


Ебать долбоёбы. Он через 5 лет тебе ебало откусит, а потом кишки твои сожрёт.
998548
#471 #998548
>>998546

>js тред


>пытается умничать


Заткнись.
#472 #998674
>>998190

>if (!arr.includes('text')) arr.push('text');


arr.includes('text') ? null : arr.push('text');
998746
#473 #998684
http://jsbin.com/kexuciqatu/edit?js,console - объясните плз нубу почему выводится "Вася"? Ведь вроде переменная должна браться из ближайшей области, разве нет? Чет я запутался совсем.
998739998740998742
#474 #998739
>>998684
Это сложная тема. Объект переменных и ссылка на внешний ОП(или их цепочку) создается в момент ОБЪЯВЛЕНИЯ функции, а не вызова. Интерпретатор читает текст скрипта, видит объявление функции и немедленно создает для него lexical environment и присваивает [[scope]]
1 var name = "Вася";
2 function sayHi() { alert(name); } // уже в этот момент внутри происходит что-то вроде
// function sayHi() {
// var lexicalEnvironment = {};
// var [[scope]] = window;
// alert(name); }
Независимо от того где когда и как потом функция будет вызвана, скоуп у него уже указывает на шиндош, где нейм = вася
998773
#475 #998740
>>998684
Ты не учел деталь, что при создании, а не при вызове определяется область
998773
#476 #998742
>>998684
А теперь из строчки var name = "Петя"; убери слово var и о чудо - алерт выводит Петю!
998773
#477 #998746
>>998674

Правильные посоны пишут так: !arr.includes("text") && arr.push("text");

А постигшие дзен даже так: !~arr.indеxОf("text") && arr.push("text");
998749998781998817
#478 #998749
>>998746
А ну переверни массив без reverse в одну строчку
998752
#479 #998752
>>998749
.reduceRight?
998753
#480 #998753
>>998752
Не смотри под спойлер, подумой.
[1,2,3,4,5].sort(()=>1)
#481 #998773
>>998739
>>998740
>>998742

Чет я запутался видимо. А в каком случае тогда переменные достаются из локальной области видимости?
998782
#482 #998781
>>998746

> А постигшие дзен даже так: !~arr.indеxОf("text") && arr.push("text");



Так пишут только выскочки, не имеющие опыта командной работы в ответственных проектах, где простота и читаемость ценится гораздо выше лаконичности. Array.prototype.includes придумали не просто так.
998782
9 Кб, 255x274
#483 #998782
>>998773
В этом случае. Функция ОБЪЯВЛЕНА внутри другой функции (hitler) и именно в момент ОБЪЯВЛЕНИЯ в ее внутреннее свойство [[scope]] записывается где она была объявлена и ,соответственно, где в случае чего продолжать поиск переменной.
>>998781
Ты путаешь академические знания и прикладные и если ты способен разобраться что вернет !~arr.indеxОf() или 2 && 5 то ты нуб.
998806
5 Кб, 224x118
#484 #998806
>>998782
Проблема твоего примера в фразе "постигшие дзен", из-за которой новички могут подумать, что мудрёный, но лаконичный код высоко ценится. Я же написал, что в реальном мире ценится простой и понятный код, ведь человеку проще думать абстракциями (массив не содержит элемент), а не деталями реализации (индекс элемента, к которому применили побитовое НЕ, и взяли обратное значение). Ну и в твоём примере оператор && можно заменить на || что позволит избавиться от нечитабельной конструкции !~
998817
#485 #998817
>>998806
Я как раз тот кто кинул новичку первый вариант, с if... !includes ..push. Прост люблю фрик-код.
Лааадно, дети, не пишите так >>998746 в реальных проектах, это не настоящий сварщик дзен.
998832
#486 #998832
>>998817
Можешь поломать голову: http://perfectionkills.com/javascript-quiz-es6/
334 Кб, 1280x1920
#487 #998868
>>988024 (OP)
Сап, аноны.
Хочу восполнить пробелы в JavaScript и Angular1, что почитать/посмотреть?
Если конкретно, то у меня проблемы с промисами, асинхронными/синхронными функциями и подобными вещами. Только на русском плиз.
998872
#488 #998872
>>998868
Попробуй почитать что-то о промисах, асинхронных/синхронных функциях и подобные вещи. Лучше всего на русском.
998874
#489 #998874
>>998872
Ты зануда. Коллективный разум двача бывает очень полезен.
998878
#490 #998878
>>998874
я как официальный представитель коллективного, даю тебе пиздатый совет: погугли
998883
#491 #998883
>>998878
Я здесь не потому, что гуглить не умею.
998936
#492 #998936
>>998883
Да ладно???!!!
93 Кб, 1024x768
#493 #998954
Как сделать так, чтобы prompt принятый ответ переводил в нижний регистр автоматически?
999010
#494 #998955
вазап нигаз, тут это косяк такой
https://jsfiddle.net/urrjxk73/
если клинкуть как можно правее и вести влево, то чем дальше отводишь, тем быстрее скролит, не могу понять почему и как исправить
#495 #999010
>>998954

var prompt = (function () {
var origPrompt = prompt;
return function (msg, dflt) {
return origPrompt(msg, dflt).toLowerCase();
}
})();
#496 #999063
Последняя надежда на вас, анонасы.
Есть один курсач, который я с успехом залажал. Суть - объединение нескольких мессенджеров в одном. Реализована отправка-получение сообщений из контакта, с его API не возникло проблем, а как прикрутить еще пару сервисов не знаю. Прилага на JS.
Оставлю мыло для связи, если кто-нибудь вызовется помочь, с меня сотни нефти
#497 #999119
пацаны, https://developer.mozilla.org/en-US/docs/Web/API/Window/pageXOffset
а что знаки вопросов в Browser compatibility в секции mobile значат ? я могу использовать или искать полифилы ?
999166
#498 #999166
>>999119

Это означает "неизвестно", конкретно тут, в MDN. Придется гуглить отдельно.
#499 #999192
Нужен калькулятор на JS для лабы, есть мысли как сделать?
Т.е. из строки "(2+5)^2" получить 49. Трудности с тем, как разбирать скобки и порядок выполнения операций. Гуглинг ничего не дал
999197
#500 #999197
>>999192
евал, new Function или регулярки в зависимости от формата строки, операторов в них и требований
999203
#501 #999203
>>999197
В том-то и дело, что надо без eval
Пять операторов - ^*/+- и поддержка скобок, в т.ч. и вложенных
#503 #1000200
Мобильные приложения с жс на реакт-нейтив делают? А на ноде без этой свистелки можно, учитывая что оно оффлайновое?
Тред утонул или удален.
Это копия, сохраненная 12 июля 2017 года.

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

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