Двач.hk не отвечает.
Вы видите копию треда, сохраненную 19 декабря 2017 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
JavaScript #91 #1091285 В конец треда | Веб
Ссылка на прошлый тред: >>1082836 (OP)

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

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

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

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

Инструмент для визуализации и экспериментов со связями между объектами в JavaScript:
http://www.objectplayground.com/

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

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

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

дип лёрнинг в ЖС https://github.com/karpathy/convnetjs

рейт, у кого есть время
#3 #1091341
жс такой сложненький :(
#4 #1091347
>>1091341
+++ нихуя не понимаю и лень учить
#5 #1091369
>>1091347
>>1091341

скачай и запусти пару простых проектов с гитхаба и начни их исследовать с помощью console.log @ попутно читай спеку https://developer.mozilla.org/ru/ всё придёт само потом
#6 #1091374
>>1091341
Не, нихуя. Вот реакт сложненький пздц.
#7 #1091395
Есть у меня переменная var1 типа A. Есть переменная var2 типа Object. Необходимо скастить переменную var2 в тип переменной var1, имея на руках только две этих переменных.
Т.е. сделать так, чтобы переменная var2 стала такого же типа, как и var1. Никакой другой информации, кроме этих двух переменных мы не имеем.
Вопрос: как это сделать?
#8 #1091396
>>1091395
Вопрос в догонку: есть одна переменная var1 с типом A. Необходимо создать новый экземпляр такого же типа.
#9 #1091399
>>1091395
Эмм, переопределить valueOf() переменной var2?
Предварительно прогнав ассерты var1 на определение ее типа.
#10 #1091475
>>1091341
Программирование вообще сложное, оно и не должно быть простым.
image
17 Кб, 513x409
#11 #1091482
>>1091395
Я тебе могу предложить крайне уебанский вариант, но это явно не то как следует писать на жс.
Кастить объекты в примитивы = изначально делать что-то неправильно
#12 #1091491
Шо скажите за новый онгуляр?
Пилили проект на нем. Хуй знает. ПРоблем много оче, эта сука даже на форичах обсирается.
Много нюансов всплывают, хотя может ту и сами выноваты, к примеру не стоит делать двухсвязанные парент-чайлд компоненты... Все крякают за незменяемое сотояние моделей, и типа без него никак. Ну пизец.
#13 #1091495
За щеку насовал всем, твари. Уроды, блядь.
#14 #1091591
подскажите есть ли какой-нибудь интересный гайд-проект для начала? Типа замутить блог с помощью жса, реакта, нода?
мой лвл - 0
#15 #1091597
>>1091396
var1.constructor
#16 #1091602
А вы пишете код на хдд или ссд?
#17 #1091607
>>1091602
в notepad виндоуз а что? ;)))
#18 #1091608
>>1091607
Да не, я про то, куда сохраняешь потом. Просто у меня куча блокнотовских файлов уже. Думаю где хранить данные юзеров, на ссд или хдд? Наверное, если будет тысяча юзеров и у каждого инфы куча, то они долго будут ее загружать и получать.
#19 #1091609
>>1091608
У меня на сддшнике все, хотя разницы значительной наверное не будет.
#20 #1091610
>>1091591
замути простенькую копию твиттера с регистрацией и авторизацией
#21 #1091611
>>1091610
гайд бы общий к этому
#22 #1091612
>>1091610
вообще я уже начал по лерн яваскрипт учит
#23 #1091614
>>1091602

я в облако накатил ide, пишу код сидя в хроме, потом в конце дня делаю один большой коммит на гитхаб. облачная вм крутится на хдд.
os
107 Кб, 445x687
#24 #1091615
>>1091614
вот это правильный подход! после того, как я умных книжек начитался, пришлось обучить нейроночку. теперь она за меня код пишет, а я только бабло лопатой гребу
#25 #1091616
>>1091611
1. Научись базовым вещам по книжке: переменные и типы данныз, управление потоком (условия, цыклы, исключения), функции. Это можно за день-два осилить, если раньше никогда не прогал.
2. Пойми, как работает js, тут посложнее, но, наверняка это в твоей книжке тоже есть. Про один поток, асинхронность, вот это все.
3. Понял - молодец. Закрой книжку и пиздуй читать про актуальный снадарт, т.к. инфа 95%, что твоя кнга повествует о неактуальных уже вещах.
4. Прочел? Мелькали у тебя перед глазами всякие import, let, class и вот это все? Отлично, пришло время для практики. Хуй ты что сам придумаешь, поэтому просто начни писать алгоритмы, простые, бинарный поиск, быструю сортировку, dsf - это нужно просто для того, что бы ты немного привык и набил руку.
5. Ты спросшь, мол js - это же про сайты, dom и вот это все. Я тебе отвечу: 1. работа с dom - это просто вызов функций, хорошо дукментированных и миллион раз обсосанных на so. 2. В 2016 году руками с dom работают или для академических целей или душевнобольные люди.
6. Настало время вкатываться в экосистему. Что такое webpack можно быстро понять по статьям в интернете. По факту больше тебе ничего не нужно, т.к. он закроет 95% юзкейсов из коробки. Что такое npm понять еще проще. И наконец самое главное - фреймверк. Тут сложно что-то советовать, есть примерно 3 стура: эмбер, ангуляр2, реакт+редукс (или другая имплементация). Лично я советую 3, но хз, как дела будут обстоять, когда ты доберешься до этого пункта.
7. Берешь квик старт твоего фрейсворка и пишешь тудумвц. Если все гладно, то тут можно перейти уже к пидумыванию себе задачи, ее декомпозиции и, собственно, свободному плаванью.
#26 #1091617
>>1091616
Cпасибо огромное, анончик. Сейчас спать уже пойду, а завтра по твоему гайду вкалывать.
#27 #1091621
>>1091616
А как же babel?
#28 #1091622
>>1091617
>>1091616
В JS функции не просто функции, это полноценные объекты, как в лиспе.
#29 #1091631
>>1091621
да этому гайду 1.5+ года, я не перечитывал и просто скопировал
#30 #1091640
>>1091631
Тем не менее,

>Лично я советую 3, но хз, как дела будут обстоять, когда ты доберешься до этого пункта.


Стоит на повестке дня как никогда. Проще всего не налажать с React/Redux, остальное — грабли, и они больно бьют по лбу.
#31 #1091642
смотрю вопросы на фронта, вот такой:

>Есть сайт, состоящий из одной страницы, нескольких JS-файлов, нескольких CSS-файлов и десятка иконок. Нужно сократить время загрузки до минимума. Какие действия нужно предпринять?



какой правильный ответ? как это подгружать?
мимо недоджун
#32 #1091643
>>1091642
Использовать сборщик ресурсов? Склеить это все в один JS, пройтись угифайером и ебануть.
#33 #1091645
>>1091643

>Склеить это все в один JS


Это все можно склеить в один единственный html файл.
#34 #1091646
>>1091645
Но так не честно! Ведь пользователь до первоначальной отрисовки будет видеть нихуя.
#35 #1091653
>>1091642

Иконки склеить в тайлсет, для css и js - найти плагин-хуин под твой сервер, который будет склеивать и минимизировать их перед выдачей (либо самому написать, либо вручную).

Проверить размеры всех картинок - должны быть минимально необходимыми, а не уменьшенными в 10 раз через размер элемента/быкграунда.

Ну и не забыть проверить, что гзип включен и работает.
#36 #1091685
>>1091482
А кто сказал, что надо скастить объект к примитиву? Нужно скастить один объект в другой.
#37 #1091686
>>1091685
Задача такова: есть два объекта - один просто объект типа Object, а другой экземпляр класса A. Надо чтобы первый объект, который Object, тоже стал класса А, при этом никак не изменяя второй объект, он должен остаться таким же каким и был.
#38 #1091688
>>1091591
Что значит лвл - 0? Начать тебе с чего надо? С того, что такое мышка и монитор? Азы жс у тебя есть? Если нет, то с них и надо начать. До реакта пока рано.
#39 #1091692
>>1091642
Подождать http2, там само все быстрее станет грузиться.
#40 #1091713
>>1091591
Рано тебе еще готовые приложения писать, прокачивай основы, решай алгоритмические задачки.
#41 #1091714
>>1091642
Время загрузки зависит от многих факторов. Нужно оптимизировать JS-код чтобы он быстрее выполнялся, уменьшить размер файлов по максимуму, и т.д.
488x512
#42 #1091734
блять, мне страшно начинать юзать редакс
обычного стора не хватает, я не могу его перекидывать через миллион компонентов
сука бля
страшно
#43 #1091742
>>1091734
Не юзай, ведь столько сторов прекрасных.
MobX, Microcosm...
#44 #1091748
>>1091714

>оптимизировать JS-код


Не, ну это уже богохульство какое-то.
#45 #1091749
>>1091742

> MobX, Microcosm...


Если они прекрасные, почему все используют Redux?
screenshot1227
148 Кб, 1012x696
#46 #1091765
>>1091615

как там в 0х?

облачная ice на пыхе и жс https://github.com/Codiad/Codiad

новая на жс и ноде https://orionhub.org
#47 #1091766
>>1091749
Конечно, миллионы мух не могут ошибаться.
#48 #1091768
#49 #1091773
>>1091766

вакансии
а
к
а
н
с
и
и
#50 #1091783
Уроды бля конченые, гады. Мандавошки бля.
bgg
1,6 Мб, 1136x852
#51 #1091857
>>1091765
так заебца же, можно облачно кодить велосипеды
#52 #1091869
>>1091857
Што это?
#53 #1091870
Эх, вот бы мне тянотьку, фронтэнд-программисточку, которая бы меня учила, и мы бы с ней играли в доту и гуляли. Она бы мне рассказывала про новые тенденции в мире программирования и делала мне код ревью. Но я только сегодня начал учить жс, кому я такой нужен(
#54 #1091873
>>1091870

>и мы бы с ней играли в доту


Ты либо играешь в доточку, либо пишешь код.
#55 #1091875
>>1091873
Я сегодня не играл и вчера тоже, так что я на пути к успеху. И вообще у меня пост до обновы рейтинга. Так что разыскиваю тянотьку, которая поверит в меня ;)))
#56 #1091879
>>1091857

кодю где и когда хочу например даже в перерывах пока ебу твою мамку
node.mysql
187 Кб, 970x914
#58 #1091895
ЖС благодаря разным встроенным методам в строчных объектах норм дружит с мускулем, однозначно лойс
#59 #1091903
>>1091686
Object.setPrototypeOf(простоОбэкт, Object.getPrototypeOf(классныйОбэкт))

А вообще это очень плохонько.
#60 #1091960

>Список материалов для изучения:


>https://github.com/vladimir37/js-thread/blob/master/Wiki/learn.md



А есть актуальные книги/ресурсы для самоизучения? Я тут на форчонге спросил, но такое чувство, что все рекомендованные источники написаны бородатыми дядьками late 50s, отсталыми донельзя.

Актуальное кто-то посоветует?
#61 #1091985
#62 #1092035
Посоны, норм за стек React+Redux и 1,5 годами опыта получать 30к в милионике средней руки или не норм?
#63 #1092037
>>1092035
Это ты по собеседованиям на мидла ходишь?
#64 #1092044
>>1092037
Это моя зп в текущей конторке. Мое первое место работы.
#65 #1092098
>>1092035
у нас в мухиче 350к пхп жуниору 25 дают
#66 #1092158
>>1091642

>Есть сайт, сост


всё вышесказанное + пиздануть весь фронтент на CDN, охуеешь от скорости базарю
#67 #1092162
>>1092035
Выглядит как-то совсем хуево, если честно. А чего на удаленку не уходишь?
#68 #1092185
>>1091591
Реакт — он про состояния объектов. Поэтому и задача должна быть такая, которая позволит использовать его мощность. Когда я вкатывался то запилил дракончика из hmm2, летающего по гексагональному полю под управлением мыши.

Джун, работаю второй месяц
#69 #1092186
>>1091749
Потому что остальные решения — императивный ангуляр, вместо прекрасного
#70 #1092221
>>1091616
Named Function Expression
new Function
Хуйни какие-то ебаные. Прочел основы яваскрипта по лерн.яваскрипт.ру, но эту хуйню не понял. Мб подскажете в чем суть?
первый день ботаю, уже чето непонятное бля.
#71 #1092229
>>1092221
Даже те кто программируют 10 лет, каждый день сталкиваются с чем то непонятным.
#72 #1092241
>>1092162
Ищу, но ничего толкового найти не могу.
Может аноны подскажут, где лучше всего искать удаленку?
#73 #1092259
>>1091616

>3. Понял - молодец. Закрой книжку и пиздуй читать про актуальный снадарт, т.к. инфа 95%, что твоя кнга повествует о неактуальных уже вещах.


А ГДЕ БЛЯТЬ ЧИТАТЬ СУКААА
Сам же сказал что 99% книжек неактуальны.
#74 #1092269
>>1092267
я хочу. ток я реакта не знаю.
#75 #1092271
>>1092267
>>1092269
Я тоже хочу, за деньги-то.
Только я жабаскрипта не знаю
#76 #1092273
>>1092271
А реакт, это не жабоскрипт.
Это реакт.
#78 #1092275
>>1092259

>Сам же сказал что 99% книжек неактуальны.


Стандарт это не книжка.

>А ГДЕ БЛЯТЬ ЧИТАТЬ СУКААА


Если ты не умеешь в гугл, ты не справишься.
#79 #1092287
>>1092273
Are you retarded?

>React - A JavaScript library for building user interfaces

#80 #1092288
>>1092275
Ахуенный ответ. И зачем ты вообще сдался в этом треде? Для щеголяния ЧСВ есть спец-треды, вали туда?
#81 #1092367
>>1092274
это все прочесть стоит? Чоо?
#82 #1092372
>>1092274
Это же стандарт тот самый? А на русском есть?
#83 #1092376
>>1092367
>>1092372
Стандарт. Прочесть конечно очень хорошо, но необязательно.

На русском нет, не будет, и забудь что русском вообще что-то есть.
#84 #1092411
>>1091374
Ты дурак? Полдня ушло на понимание реакт+редукс+вебпак
ready to live again
54 Кб, 530x800
#85 #1092412
>>1091341

>mfw побитовые операции и маски

#87 #1092425
>>1092412
Ну это как раз такоэ, я hacker's delight читал и на си программировал довольно много.

Мне тяжело заходит функциональщина и реактив программинг, прямо как лекарство пихаю блять. Хаскелисты неиллюзорно были правы во всём, эх. Небось они то как раз в модерновый жс вкатываются с 0 проблем.
#88 #1092431
>>1092425
Если ты C знаешь, нахуй тебе JS, C# и прочие плюсы? Низкоуровневые Си сейчас редкость и треба забугром.
#89 #1092481
>>1092411
Да я пошутил, на самом деле вкатился за час. Хуй знает чего ты там полдня ковырял.
#90 #1092483
>>1092481
Хули ты там час делал, мне 23 минут хватило
#91 #1092484
Прочел главу про тесты на лерняваскрипте, пробовать ли ими сейчас обмазываться или попозже когда что-то нормальное начну делать?
#92 #1092497
саб, хочу проверять на сервере клиентский ввод перед обращением к mysql, думаю о таком варианте:

let isNum = ... // например библиотека https://github.com/chriso/validator.js

if ( -1 !== [isNum(14), isNum(88), isNum('x')].indexOf(false) ) throw new Error(400); // ошибка

... // идём дальше

какие могут быть подводные?
#93 #1092514
>>1092481
и в следующую наносекунду уже получил 300кк.
#94 #1092521
>>1091985

>learn.javascript.ru



А современные аналоги но по C# есть?

Начал я тут вникать в жабоскрипт и блять тут же возненавидел. Сострый такой простой по сравнению с жабой.
#95 #1092522
>>1092521
Дотерпи до ES6
#96 #1092534
>>1092522
Да ну нахуй, нахуй вебдев, задрочу c# и буду говнотреш в Юнити клепать ссука
#97 #1092565
Как реализуется связь бэкенда Node.js и фронтенда на Angular.js?
Клиент делает запросы к эндпоинтам сервера, получает JSON с данными и сует их в $scope?
123
177 Кб, 800x987
#98 #1092578
Вопрос к работающим с nodejs анонам. Насколько актуален пикрелейтед?
#99 #1092600
#100 #1092612
>>1091285 (OP)
Что за пиздеж в оппике разве у JSа не сишный синтакс а явы? От явы он только название спиздил, классы то добавили и то недавно.
#101 #1092616
>>1092578
На столько же насколько и остальная бумажная литература по языкам. Выходит новая нода - книга уже немножко старая а некоторые функции деприкейтед. Если бы и покупал книги то только по Computer Science, алгоритмы, деревья вращать, кучи. Паттерны и трехуровневая архитектура, вот это вот все довольно медленно устаревает
#102 #1092622
>>1092612
А у Джавы что, не сишный синтаксис?
#103 #1092625
>>1092565
У тебя слой данных в сервисах лежит. Контроллер только забирает эти данные в скоп.
#104 #1092626
>>1092612
У джавы тоже сишный синтаксис, к тому же в JS в некоторых местах мимикрирует именно под джаву, использует принятые в джаве стандарты и копирует некоторое апи
#105 #1092693
аноны, подскажите.
мне для демонстрации результата тестового задния нужно выложить свой проект на ангуляре 4 в plnkr.co, как там создать полную инфраструктуру проекта с кучей пакетов и тд, я не допераю.
да и вообще там это возможно реализовать?
#106 #1092712
>>1092565

>2017


>$scope

#107 #1092714
>>1092693

>для демонстрации результата тестового задния


ПИЗДЕЦ УХОДИ
#108 #1092737
>>1092714
Что не так?
#109 #1092747
>>1092737
Я ВИЖУ РЯДОМ С ТОБОЙ СМЕРТЬ
ОБЕРНИСЬ
#110 #1092767
>>1092497
if ( ![isNum(14), isNum(88), isNum('x')].contains(false) )
#111 #1092777
>>1092767

if ( [14, 88, 'x'].map(isNum).contains(false) )
#112 #1092786
>>1092747
кароч я так понял это анриал
#113 #1092788
>>1092767
>>1092777
if ( ![14, 88, 'x'].every(isNum))
наркоманы
#114 #1092798
>>1091285 (OP)

>Удобный синтаксис позволяет легко писать на нём



> n=setInterval("for(n+=7,i=k,P='p.\\n';i-=1/k;P+=P[i%2?(i%2*j-j+n/k^j)&1:2])j=k/i;p.innerHTML=P",k=64)



отсоси
#115 #1092801
>>1092798
пиздец
#116 #1092802
>>1092801
этот пиздец еще и рабочий
#117 #1092804
>>1092802
Чо там происходит? Замена кода по строкам?
#118 #1092805
>>1092804
ета жи отрисовка какого-то фрактала.
1510594836930
108 Кб, 645x773
#119 #1092806
>>1092805
Я ваще нихуя не понял. Собсно, нахуй JS, c# рулит
#120 #1092814
>>1092806
На медиуме или каком-то другом бложике был разбор этого шорткода, потом на хабре был перевод. Собсна, есть сайт, где публикуют такие вот короткие скрипты, типа демосцены на жс, но из головы вылетело. Твиттер, дрибблер, нет, что-то похожее...
9c00c55e6d36b73d11a5858fd547a250
301 Кб, 1250x811
#121 #1092817
>>1092788
if (UnderwaterRocksPreventer.assure(DBSendingManager.validate(inputDataContainer.getNumbers())))
#122 #1092822
>>1092806
>>1092814
О, вспомнил! Двиттер, лол.
https://www.dwitter.net
#124 #1092839
>>1092712
Что?
#125 #1092845
>>1092798

аутист не разу не слышал о UglifyJS? бывает...
#126 #1092854
>>1092788

>every



ахуенно, запомню на будущее.

короче я вчера в итоге накатил эту либу https://github.com/skaterdav85/validatorjs так как там проверка более системная
#127 #1092859
>>1092802

>этот пиздец еще и рабочий


Nyet:

>Reference erorr: p is not defined

#128 #1092869
>>1092859
Чтобы скрипт отрисовал фракталы, нужно запилить в теле элемнт с ид 'p'.
#130 #1092871
>>1092870
looks good
#131 #1092883
>>1091285 (OP)
Аноны, что это значит?
// allows you to replace a strings char at a specific index
String.prototype.replaceAt=function(index, char) {return this.substr(0, index) + char + this.substr(index+char.length);}

Это типа свой метод сделать можно? Я нубас
#133 #1092931
Двач, можно как-нибудь оставить при потере фокуса в <input> вот эту полоска? Типа замедлить мигание до нуля? Или так низя?
Screenshot from 2017-11-16 18-51-00
2 Кб, 316x47
#134 #1092933
>>1092931

> вот эту полоску

#135 #1092997
Двач, нужна карточка выбора количества пассажиров(как на Aviakassa, Aviasales, Связной.Тревел, etc). Условия:
- всего может быть выбрано до 9 пассажиров включительно(9-0-0, 3-3-3, 1-0-0, 2-2-1 и т.д)
- младенцев не может быть больше, чем взрослых
- взрослых не может быть меньше, чем младенцев

Я тут написал некое подобие того, что мне нужно. Но проблемес в том, что я хз, как мне ограничивать возможность выбора младенцев(если выбрано 3 взрослых пассажира и 3 младенца, то выбрать больше младенцев нельзя).

Алсо, по-моему, я наговнокодил.

https://jsfiddle.net/MyCarIsFantasy/2xgp5079/1/

Буду благодарен за любую помощь. С меня как всегда.
#137 #1093108
>>1092931
эээ, Ты имеешь в виду полоску, которая появляется, если нажать шифт + слэш? | ||| | | | | | | | | |
#138 #1093112
>>1093047
Воу, нихера се. Спасибо большое!
#139 #1093114
>>1093108
Которая мигает при фокусе.
#140 #1093116
>>1093108
Ну и это попробую использовать, спс, я не думал про неё.
#141 #1093131
>>1093112
Ну я же вижу что ты старался. Наверстал что-то сам попытался решить. А не просто пришел с охуевшими запросами.
Я код очень быстро накидал, там есть ошибки. В конструкторе поменяй где выбрасывается эксепшен initial на this.total, дата-аттрибуты перекинь с тега i на тег a и поменяй слушатели событий в селекторе соответственно, а то бывает жмешь по кнопке, но не попадаешь иконке. Стили кнопочек по достижению предела сам расставишь, напиши пару методов в классе для этого. Еще нужно осознавать, что это ES6 и будет работать только в актуальных браузерах, если в продакшен тебе вываливать куда-нибудь пропусти через babel. Или заказчик будет доебывать что не работает в интернет-эксплорере. Постарайся больше не писать на jQuerry. Он не нужен и скоро будет там где сейчас Flash. Удачи.
#142 #1093138
Пошел на курсы. До них слегка начал дрочить верстку, дошел до верстки самого наипростейшего лендинга. Курсы начались сегодня, начался сразу жс (функции, массивы, перменные, все это). Вопрос - если я сейчас заброшу верстку и дома + на курсах буду дрочить онли жс, насколько всрат будет такой вариант? Или выучить верстку перед жсом матсхев?
#143 #1093153
>>1093138
Забей. Верстку можешь выучить по ходу дела.
Лучше скажи зачем ты

>Пошел на курсы.


Это один из самых отвратительных способов начать кодить если опыта нет, хуже только просмотры ютуб-видосов (без повторения и практики). У тебя есть интернет. Гугл. Тот же learn.javascript.ru содержит все что тебе нужно. Быстро и с хорошим качеством писать код может научить только одно - сам процесс написания кода. Ставь себе задачи, выполняй их. Устраивайся на работу как можно быстрее. Вот это главное.
#144 #1093154
>>1093138

>Пошел на курсы


Удачи в карьере Посетителя Курсов
#145 #1093169
>>1093153
Я работаю на средней по высоте управленческой должности. Курсы для меня пинок таки вкатится в ойти, а не работать дальше управленцем с возможностью роста максимум на след. ступень и упором в зарплату мидла (когда для меня это будет максимум).
#146 #1093179
Суп жс. Знаю язык на уровне хелло ворлд. Наткнулся на http://animejs.com и решил пострадать хуйней. Скопировал 3 пример http://animejs.com/documentation https://pastebin.com/vQ8TnnQ5 нихуя не работает. Файл anime.min.js рядом с хтмл есть.
#147 #1093189
>>1093131

>Постарайся больше не писать на jQuerry. Он не нужен и скоро будет там где сейчас Flash.


Расскажите про это поподробнее, я не прошаренный.
#148 #1093198
>>1093179
Для особо умных, я помочь прошу. Пожалуйста.
#149 #1093210
>>1093179
Скрипт надо в конец боди перенести. На момент когда он выполняется дома еще нет.
#150 #1093211
>>1093131

> Постарайся больше не писать на jQuerry


Дружок, подскажи как избавиться от jQuery в случае необходимости в таких селекторах:

1. $(fileNode).find('tr:contains("require")').nextUntil('tr:contains("}")')

2. $(fileNode).find('tr td.js-file-line:contains("gem "):not(:contains("#"))')

На чистом JS нужно писать немалые рекурсивные функции, в то время как на jQuery это простые однострочники.
#151 #1093215
Вы узнали зачем нужен jQuery в 2к17 - писать адовые костыли как тут >>1093211
#152 #1093217
>>1093169
Только один вопрос. Это платные курсы непричастных к тебе людей, или внутренние курсы компании/бесплатные курсы IT компаний которые ищут себе стажеров? Если первое - то я выражаю свое недоумение, почему ты работая с людьми, как управленец еще не понял в чем заключается их мотивация. Я подскажу, не в том чтобы сделать из тебя хорошего специалиста.
#153 #1093222
>>1093215
Ты пробовал писать юзерскрипты/аддоны для сайтов? Когда у тебя нет контроля над генерируемым HTML и приходится писать непростые селекторы. Вот писать такое на чистом JS - костыли. А ты просто малоопытный максималист, не понимающий, что инструмент нужно выбирать под задачу.
#154 #1093223
>>1093210
Нихуя.
#155 #1093224
>>1093211
В нормальных проектах такой хуйни нет.
С другой стороны, если тебе приходится рекурсивно перебирать дом дерево чтобы условно получать какие-то ноды, значит все уже пошло очень плохо. И скорее всего у тебя нет доступа к дому. В команде я бы такой код не дал бы никому закоммитить и отправил бы расставлять селекторы. Желательно по БЭМ.
#156 #1093227
>>1093224
Согласен, хороший подход. Я просто описал >>1093222
один из возможных кейсов, когда знание jQuery помогает проще решить проблему, поэтому есть смысл его знать.

Вообще-то это был скрытый реквест либы, которая имеет такой же мощный движок выбора DOM-элементов (sizzle?), но не тянет за собой весь jQuery
#157 #1093249
>>1093179
Бамп.
#158 #1093281
#159 #1093282
Допустим, что имеется следующая структура HTML
#parent > (.child+.child+.child+.child.need+.child+.child)

Array.prototype.indexOf.call(document.getElementById("parent").children, document.getElementsByClassName("need")[0]);

С помощью этой строчки я могу узнать индекс элемента .need в элементе #parent (пример https://codepen.io/anon/pen/aVVpXg).

Но мне хотелось бы понять, что она делает. Правильно ли я понимаю, что алгоритм примерно такой:

Array.prototype - создаёт прототип конструктора Array. Я пока затрудняюсь объяснить, шо це, но говоря грубо - как бы пустой массив. Суть просто в том, чтобы была возможность обращаться к методам Array.
.indexOf - возвращает индекс элемента в массиве (я правильно понимаю, что Array.indexOf и String.indexOf это несколько разные штуки?)
.call - а вот тут начинается интересное, .call заменяет this для indexOf на document.getElementById("parent").children. То есть, по сути, мы как бы создаём пустой массив, а потом заполняем его детьми элемента #parent. Ну а document.getElementsByClassName("need")[0] передаётся в качестве аргумента для indexOf.

Я примерно правильно понял или совсем хуйню несу? Поясните, пожалуйста.
#160 #1093286
>>1093282

>Array.prototype - создаёт прототип конструктора Array.


Нет. Он обращается к прототипу Array'я. Он уже давно "создан". И не конструктору, конструктор в Array.prototype.constructor находися.

>Суть просто в том, чтобы была возможность обращаться к методам Array.


Да.

>То есть, по сути, мы как бы создаём пустой массив, а потом заполняем его детьми элемента #parent.


Нет, ничего не созадётся и не заполняется. "массив", а точнее набор элементов HTMLCollection, у тебя уже есть в .children, ты можешь обращаться к нему по индексам и всё такое. Но так как это не Array, то и методов соответствующих нет. И вот эта запись позволяет приметить метод к твоей коллекции, как будто она его имела бы.
В принципе, вполне можно было сделать и

>arr = parent.children


>arr.indexOf = Array.prototype.indexOf


>arr.indexOf(element)



Поправьте, если где чего не так сказал.
Screenshot25
54 Кб, 750x358
#161 #1093290
Сап двач, короче такая хуйня - захуярил веб-сервис, прям пиздец какой нагруженный объёмом маняговнокода и заставит ссать с кровью браузер любого анона.
Теперь надо всё это дерьмо как-то оптимизировать чтоб пендосы не ахуели инстантом.

Собственно как я могу загнать в манякэш юзера все статичные скрипты и переменные ? Эффективно ли будет использовать под это дело localStorage и IndexedDB ?
Вообще - я могу тупо все свои ангулар/ждикуэри-либы загнать к юзеру в локальное хранилище и после тупо забирать и исполнять их? Или это тупо и бесполезно т.к. браузер и так будет кэшировать .js-шки...
#162 #1093335
>>1093282

>Array.prototype - создаёт прототип конструктора Array


Конструктор тут вообще не причем и это не пустой массив. Если ты учил нормальные языки программирования до JS, я бы провел аналогию с обращением к методам класса без инициализации объекта. Статические методы Но в JSe все по другому. Ты просто выдергиваешь метод indexOf, из объекта от которого наследуются все массивы. Кладешь в него свою HTML коллекцию детей от узла parent. и потом описываешь функцию обработчик. Точно так же можно итерировать ноды, например скриптец Array.prototype.forEach.call(document.getElementById('thread-1091285').children, (el, index) => {
index % 2 ? el.style.backgroundColor = 'black' : el.style.backgroundColor = 'red'
}) раскрасит черно-красными полосками врапперы постов этого треда.
#163 #1093338
>>1093290
И так будет. Хедеры респонсов посмотри только на счет настроек кеширования.
53Мб? Пиздос. Минифицировал?
#164 #1093357
>>1093335
>>1093286
Благодарю.
#165 #1093384
>>1093282
Тебе лучше с основами ЖС подразобраться, чтоб понимать все эти хитрости.

Исторически всё сложилось непросто. Так как ЕКМАСкрипт, это встраиваемый язык общего назначения, его спецификация написана на каком-то своём птичьем языке, к которому требуется привыкнуть.
https://tc39.github.io/ecma262/
Встраивание этого языка в браузер в народе называется ЖС (getElementById это уже не часть ЕКМАСкрипта, а только ЖС). Из-за непривычности, несоответствия и сухости спека у меня вызывала отвращение первое время. Надо пересилить и окунуться.
В спеке ЕКМАСкрипта есть абстрактные операции и внутренние поля (свойства или методы) у объектов. Абстрактные и внутренние потому, что они существуют только как договорённости, ты к ним никак не можешь обратиться, не можешь их прямо изменять, никогда их не встретишь в коде ЖС, они нужны для описания внутренних алгоритмов движка в спецификации. Внутренние свойства или методы решили писать в двух квадратных скобках (к массивам это не имеет отношения, скобки считаются прям частью имени в спеке).
Например, спецификация (в тутошнем вольном толковании) говорит, что Конструктором считается тот, у кого есть внутренний метод [[Construct]]. По-человечески: "Конструктор это тот, кто может делать констракт". Констракт это иметь способность вызываться с оператором new ( типа new Array() ) и знать, какие шаги предпринимать в таком случае.
Вызываться. Функция это тоже объект, у которого есть внутренний метод [[Call]]. Вспомни, ты не можешь их изменять, ты не можешь добавить такой метод произвольному объекту сам. Только если прямо создаешь функцию ( function fn() {} ), внутренности движка следуя спеке делают так, что у объекта fn будет какой-то механизм, соответствующий [[Call]], и тогда ты сможешь этот объект вызывать скобочками.
https://tc39.github.io/ecma262/#sec-ecmascript-function-objects-call-thisargument-argumentslist
Взгляни, но пока не упарывайся. Этот внутренний метод проверяет другие внутренние свойства ( типа [[FunctionKind]] ), предпринимает прочие шаги. Вот так там всё внутри вертится.

Прототипы. У каждого объекта есть внутреннее свойство [[Prototype]]. Оно содержит ссылку на другой объект (типа адрес другого в памяти). Нужно это для экономии памяти, чтоб можно было не копировать свойства из объекта в объект, а дать возможность одним объектам ссылаться на другие. Так объекты складываются в цепочки, получается что-то похожее на наследование. В конце цепочки [[Prototype]]: null
Например, писать через точку obj.prop это вызывать внутренний метод [[Get]] (найди его в спеке), который вызовет абстрактную операцию OrdinaryGet, которая получает значение свойства из объекта, а если в нём свойства нет, то ищет по цепочке прототипов до null. Если ты делаешь obj.prop, движок внутри себя делает obj.[[Get]](prop, obj), если получает undefined, тогда делает obj.[[Prototype]].[[Get]](prop, obj) и т.д. по цепочке до null. Как только получит не undefined, а любое другое значение, как бы заменит им obj.prop
Если ты через точку, вызываешь функцию ( obj.prop() ), то внутренние алгоритмы для этого вызова функции специальную переменную this сделают равной объекту до точку. Это отдельная тема, но можешь попробовать сам поглядеть, только пока сильно не упарывайся, это забористое дерьмо
https://tc39.github.io/ecma262/#sec-ordinarycallbindthis

Когда ты создаёшь функцию ( var fn = function() {} ), она как объект автоматические получает всякие нормальные, доступные тебе, поля. Например fn.length вернёт количество аргументов, которые ожидает функция (тут 0). Или fn.name === "fn".
Можешь представить, что функцией этот объект делает только то, что этот объект содержит внутренние поля [[ECMAScriptCode]] (это строка, в ней всё, что ты в функции между {} написал) и [[Call]], который типа выполнит эту строку как eval(str);
Нам важно, что есть среди нормальных, доступных тебе полей, объект fn.prototype, на который будут в своём [[Prototype]] ссылаться объекты, которые будут созданы, если ты вызовешь fn как конструктор. fn.prototype и [[Prototype]] это разные вещи. Первый доступен тебе в коде, другой из спеки и кишков движка.
var obj = new fn();
obj.[[Prototype]] === fn.prototype // можно было бы сделать, если бы нам был доступен [[Prototype]], но он внутренний. Нам доступно только
Object.getPrototypeOf(obj) === fn.prototype // вот это вернёт true

var arr = new Array() // или var arr = []
Object.getPrototypeOf(arr) === Array.prototype // true, в цепочке, а значит
arr.indexOf === Array.prototype.indexOf // true, arr получает этот объект (функцию) по цепочке, это один и тот же объект-функция, полученный через [[Get]]

К чему была вся эта писанина, [[Prototype]] может содержать ссылку только на один объект. Получается только цепочка. Многие могут ссылаться на одного, но один на многих — никогда. Нет множественного наследования.

В твоём примере ты хочешь обращаться с живой коллекцией (объект, который содержится в document.getElementById("parent").children), как с массивом. Но из-за отсутствия множественного наследования, этот объект не может быть и NodeList, и Array. Никаких методов из Array.prototype этот объект не получает через точку, через [[Get]], потому что не имеет к его цепочке прототипов вообще никакого отношения. У него своя спецификация:
https://dom.spec.whatwg.org/#interface-nodelist
{"0": HTMLElement, "1": HTMLElement, length: 2}
Но, судя по его спецификации, он очень похож на массив. Есть ключи-индексы, есть длина.
Взгляни на
https://tc39.github.io/ecma262/#sec-array.prototype.indexof
Ему как раз не нужно ничего, кроме ключей-индексов и длины. Вот только шаги свои он предпринимает для this. Чтоб this стал равен живой коллекции, надо бы вызвать через точку children.indexOf(), вот только вызывать нечего, не найдётся такого метода в цепочке от children.
Сам A.p.indexOf это функция, а значит
indexOf.[[Prototype]] === Function.prototype
Все функции по цепочке могут получить свойства из прототипа Конструктора функций. Там есть метод call(thisArg, ...args)
https://tc39.github.io/ecma262/#sec-function.prototype.call
который вызывает функцию с явным this = thisArg. Как точка, только точка это делает неявно, а первый аргумент call() — явно.
obj.fn(1, 2) // то же, что и
var fn = obj.fn
fn.call(obj, 1, 2)

Итого:
Ты хотел бы обращаться с объектом, похожим на массив, как с массивом.
Array доступен в глобальной области видимости.
Ты взял объект-функцию indexOf из объекта protorype из объекта Array. Обычный массив получал бы эту функцию по цепочке прототипов, но NodeList не массив.
Из объекта-функции indexOf ты вызвал метод call, который нашёлся в indexOf.[[Prototype]].
Метод call(children, elem) вызвал свой this (объект до точки, indexOf который) и явно установил для этого вызова (внутри indexOf) this равным children, а elem передал первым аргументом.
Получилось неотличимо от children.indexOf(elem).
#165 #1093384
>>1093282
Тебе лучше с основами ЖС подразобраться, чтоб понимать все эти хитрости.

Исторически всё сложилось непросто. Так как ЕКМАСкрипт, это встраиваемый язык общего назначения, его спецификация написана на каком-то своём птичьем языке, к которому требуется привыкнуть.
https://tc39.github.io/ecma262/
Встраивание этого языка в браузер в народе называется ЖС (getElementById это уже не часть ЕКМАСкрипта, а только ЖС). Из-за непривычности, несоответствия и сухости спека у меня вызывала отвращение первое время. Надо пересилить и окунуться.
В спеке ЕКМАСкрипта есть абстрактные операции и внутренние поля (свойства или методы) у объектов. Абстрактные и внутренние потому, что они существуют только как договорённости, ты к ним никак не можешь обратиться, не можешь их прямо изменять, никогда их не встретишь в коде ЖС, они нужны для описания внутренних алгоритмов движка в спецификации. Внутренние свойства или методы решили писать в двух квадратных скобках (к массивам это не имеет отношения, скобки считаются прям частью имени в спеке).
Например, спецификация (в тутошнем вольном толковании) говорит, что Конструктором считается тот, у кого есть внутренний метод [[Construct]]. По-человечески: "Конструктор это тот, кто может делать констракт". Констракт это иметь способность вызываться с оператором new ( типа new Array() ) и знать, какие шаги предпринимать в таком случае.
Вызываться. Функция это тоже объект, у которого есть внутренний метод [[Call]]. Вспомни, ты не можешь их изменять, ты не можешь добавить такой метод произвольному объекту сам. Только если прямо создаешь функцию ( function fn() {} ), внутренности движка следуя спеке делают так, что у объекта fn будет какой-то механизм, соответствующий [[Call]], и тогда ты сможешь этот объект вызывать скобочками.
https://tc39.github.io/ecma262/#sec-ecmascript-function-objects-call-thisargument-argumentslist
Взгляни, но пока не упарывайся. Этот внутренний метод проверяет другие внутренние свойства ( типа [[FunctionKind]] ), предпринимает прочие шаги. Вот так там всё внутри вертится.

Прототипы. У каждого объекта есть внутреннее свойство [[Prototype]]. Оно содержит ссылку на другой объект (типа адрес другого в памяти). Нужно это для экономии памяти, чтоб можно было не копировать свойства из объекта в объект, а дать возможность одним объектам ссылаться на другие. Так объекты складываются в цепочки, получается что-то похожее на наследование. В конце цепочки [[Prototype]]: null
Например, писать через точку obj.prop это вызывать внутренний метод [[Get]] (найди его в спеке), который вызовет абстрактную операцию OrdinaryGet, которая получает значение свойства из объекта, а если в нём свойства нет, то ищет по цепочке прототипов до null. Если ты делаешь obj.prop, движок внутри себя делает obj.[[Get]](prop, obj), если получает undefined, тогда делает obj.[[Prototype]].[[Get]](prop, obj) и т.д. по цепочке до null. Как только получит не undefined, а любое другое значение, как бы заменит им obj.prop
Если ты через точку, вызываешь функцию ( obj.prop() ), то внутренние алгоритмы для этого вызова функции специальную переменную this сделают равной объекту до точку. Это отдельная тема, но можешь попробовать сам поглядеть, только пока сильно не упарывайся, это забористое дерьмо
https://tc39.github.io/ecma262/#sec-ordinarycallbindthis

Когда ты создаёшь функцию ( var fn = function() {} ), она как объект автоматические получает всякие нормальные, доступные тебе, поля. Например fn.length вернёт количество аргументов, которые ожидает функция (тут 0). Или fn.name === "fn".
Можешь представить, что функцией этот объект делает только то, что этот объект содержит внутренние поля [[ECMAScriptCode]] (это строка, в ней всё, что ты в функции между {} написал) и [[Call]], который типа выполнит эту строку как eval(str);
Нам важно, что есть среди нормальных, доступных тебе полей, объект fn.prototype, на который будут в своём [[Prototype]] ссылаться объекты, которые будут созданы, если ты вызовешь fn как конструктор. fn.prototype и [[Prototype]] это разные вещи. Первый доступен тебе в коде, другой из спеки и кишков движка.
var obj = new fn();
obj.[[Prototype]] === fn.prototype // можно было бы сделать, если бы нам был доступен [[Prototype]], но он внутренний. Нам доступно только
Object.getPrototypeOf(obj) === fn.prototype // вот это вернёт true

var arr = new Array() // или var arr = []
Object.getPrototypeOf(arr) === Array.prototype // true, в цепочке, а значит
arr.indexOf === Array.prototype.indexOf // true, arr получает этот объект (функцию) по цепочке, это один и тот же объект-функция, полученный через [[Get]]

К чему была вся эта писанина, [[Prototype]] может содержать ссылку только на один объект. Получается только цепочка. Многие могут ссылаться на одного, но один на многих — никогда. Нет множественного наследования.

В твоём примере ты хочешь обращаться с живой коллекцией (объект, который содержится в document.getElementById("parent").children), как с массивом. Но из-за отсутствия множественного наследования, этот объект не может быть и NodeList, и Array. Никаких методов из Array.prototype этот объект не получает через точку, через [[Get]], потому что не имеет к его цепочке прототипов вообще никакого отношения. У него своя спецификация:
https://dom.spec.whatwg.org/#interface-nodelist
{"0": HTMLElement, "1": HTMLElement, length: 2}
Но, судя по его спецификации, он очень похож на массив. Есть ключи-индексы, есть длина.
Взгляни на
https://tc39.github.io/ecma262/#sec-array.prototype.indexof
Ему как раз не нужно ничего, кроме ключей-индексов и длины. Вот только шаги свои он предпринимает для this. Чтоб this стал равен живой коллекции, надо бы вызвать через точку children.indexOf(), вот только вызывать нечего, не найдётся такого метода в цепочке от children.
Сам A.p.indexOf это функция, а значит
indexOf.[[Prototype]] === Function.prototype
Все функции по цепочке могут получить свойства из прототипа Конструктора функций. Там есть метод call(thisArg, ...args)
https://tc39.github.io/ecma262/#sec-function.prototype.call
который вызывает функцию с явным this = thisArg. Как точка, только точка это делает неявно, а первый аргумент call() — явно.
obj.fn(1, 2) // то же, что и
var fn = obj.fn
fn.call(obj, 1, 2)

Итого:
Ты хотел бы обращаться с объектом, похожим на массив, как с массивом.
Array доступен в глобальной области видимости.
Ты взял объект-функцию indexOf из объекта protorype из объекта Array. Обычный массив получал бы эту функцию по цепочке прототипов, но NodeList не массив.
Из объекта-функции indexOf ты вызвал метод call, который нашёлся в indexOf.[[Prototype]].
Метод call(children, elem) вызвал свой this (объект до точки, indexOf который) и явно установил для этого вызова (внутри indexOf) this равным children, а elem передал первым аргументом.
Получилось неотличимо от children.indexOf(elem).
#166 #1093396
>>1093384
Q: Есть ли язык более ебнутый и такой же популярный, как JS?
A: нед

пздц.
#167 #1093411
>>1091285 (OP)
Решил вкатиться в коддинг и выбрал Js, правильный ли выбор?
p.s. Каким IDE пользуются люди?
#168 #1093441
>>1091285 (OP)
Вот блин. Думаю дай сделаю на досуге простой блог себе. От нечего делать. И буду использовать готовый шаблон для фронта. Так нихрена не нашел. Все какие-то убогие одностраничники. А мне хочется что-то вроде simple blog template, но нихрена нет. Что-то вроде medium'a. Может поможешь с поиском?
#169 #1093442
>>1093411

>Каким IDE пользуются


Vim или Emacs.
#170 #1093444
>>1093384
азазаза лев толстой в тредю кек чебурек тлдр
#171 #1093475
>>1093384
Ебать ты расписал, наркоман!
Спасибо большое, завтра с утра нужно будет вчитаться, а то уже голова не очень варит.
#172 #1093476
>>1093475

>16:07


>уже

#173 #1093487
>>1093476
А я только проснулся, и у меня уже 8:23, хороша жизнь хикки-вкатывальщикаю
#174 #1093490
>>1093487
Я так-то тоже только проснулся и у меня >еще
#175 #1093492
>>1093490
Красиво живем
#176 #1093499
>>1093441
https://themeforest.net/category/site-templates/personal
Если западло платить - выбираешь из популярных и скачиваешь с вареза. Можно ещё тупо рипнуть..
#177 #1093516
>>1093281
Спасибо. Я просто не задал ему форму и цвет. Пытался, но через аттрибуты у тегов.
#178 #1093519
>>1093411
Неправильный. Пиздуй сначала байтоебствовать в С, как поймешь базовые принципы - вкатывайся в C#/Java, там ты научишься ООП. Только потом приходи сюда. Иначе навсегда останешься веб-макакой.
VS Code / Webstorm.
#179 #1093526
>>1093519
Ни С ни С++ нахуй не нужны для понимая C#
Он потому и был придуман, что бы всю эту байтохуню нахуй послать
#180 #1093527
А в react-create-app proptypes уже встроены?
#181 #1093529
Бля, надоело читать лерн.яваскрипт. Подскажите как его максимально быстро пройти. На что обращать меньше внимания?
#182 #1093531
>>1093526
Нужны, чтобы хотя бы примерно понимать, как все работает на относительно низком уровне.
#183 #1093559
>>1093531
Нет, если ты чисто казуальный C# и .NET дев - нахуй не всралось.

Если же у тебя в практике/работе очень часто встречаются случае, когда тебе нужно лезть на уровень ниже Шарпа - тогда тебе стоит серьезно задуматься, почему, зная лишь высокоуровенвый язык, ты выбрал работу с необходимостью знания низкоуровневых.
бугурт
92 Кб, 434x400
#184 #1093570
Есть готовые велосипеды по управлению xhr? Количество потоков там, отмена оставшихся запросов, отображение какое-нибудь?
#185 #1093636
>>1093529
Кхм, надоело не проходи. Чтобы не надоедало, нужно идти от задач к теории. Решение задач приносит интерес.
#186 #1093641
>>1092484
Чем раньше тем лучше.
#187 #1093737
>>1093411
Конечно же VSCode
#188 #1093739
>>1093519
Скорее больше шансов наоборот. Остаться императивной макакой и не познать ничего высшего
#189 #1093740
>>1093570
axios есть там под капотом xhr
еще есть jquerry ну это такое.
еще есть fetch - он нативный и похож на аксиос но не умеет отменять запросы.
#190 #1093783

>angularJS


>во вьюшке вызываешь метод модели, которая возвращает новый объект, если одно из свойств модели null


>пишешь код


>выкидываешь call to undefined на той строке, где идет вызов метода


>вырезаешь этот код


>все работает


>вставляешь этот же код на это место


>все работает


>пишешь код в другом рандомном месте


>перестает работать


>снова вырезаешь тот код связанный с проблемным местом


>все работает


>вставляешь его обратно на то же место


>все работает


O_o
#191 #1093815
В чем разница между Array(5) и Array(5).fill()?

Вроде уже Array(5) создает неинициализированный массив длины 5, а что делает с ним вызов fill без параметров?
#192 #1093824
>>1093815
Ну сравни
Array(5).map((i,n) => n) // [empty × 5]

Array(5).fill().map((i,n) => n) // [0, 1, 2, 3, 4]
#193 #1093835
>>1093815

>Вроде уже Array(5) создает неинициализированный массив длины 5, а что делает с ним вызов fill без параметров?


Инициализирует.
#194 #1093854
Посоны, есть такая фишка, вот у меня есть контейнер без ID или класса, внутри него есть элементы с классами, нужно их положить забрать, например в HTMLCollection. Но при этом искать только внутри tr тэга, чтобы если например у меня эта хуйня находится где-то в середине страницы, оно не шарилось по всей странице.

https://jsfiddle.net/k7021tgp/1/
#195 #1093856
Как правильней всего реализовать что-то типа

function fn (opts = {
opt1: "1",
opt2: "2",
opt3: "3"
}) {
console.log(opts);
};

fn({opt2: "changed"});
//Нужный результат: Object { opt1: "1", opt2: "changed", opt3: "3" }

Я хочу, чтобы с одной стороны параметры в функцию передавались одним объектом, а не fn (param1 = "1", param2 = "2"...), с другой - чтобы те элементы объекта, которые не указаны, брали значение по-умолчанию.

Это как-нибудь просто можно реализовать? Или скорее
fn (obj) {
...
}

И в теле функции сравнивать переданный объект с какими-то значениями по-умолчанию и те элементы, которые отсутствуют добавлять?
#197 #1093883
>>1093881
function fn (opts) {
var defaultOpts = {
opt1: "1",
opt2: "2",
opt3: "3"
}
console.log(Object.assign(defaultOpts, opts));
};

fn({opt2: "changed"});

То есть обычно это делается так, да?
#198 #1093887
Аноны, можно ли отправлять из js tcp пакеты с неправильным обратным адресом?
#199 #1093915
>>1093824

Да, я вдоволь поигрался с консолью и мапами.
Что происходит после вызова fill() мне понятно и не требует комментариев — это обычный массив длины 5, заполненный undefined.

Но что за конструкцию тогда возвращает Array(5)? Что есть empty? Пытался смотреть у Кантора, там написано, что по поведению это похоже на объект {length: 5}
#200 #1093917
>>1093854
Все, я сам сделал.
#201 #1093928
>>1091285 (OP)

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

Интересуюсь всеми направлениями, от ноды до браузерного.
#202 #1093929
>>1093928
не лезь она тебя сожрет
двачую вопрос
#203 #1093934
Асинхронщина ломает мне мозк.
#204 #1093963
>>1093883
Ну а может лучше застрелиться использовать прокси?
#205 #1093970
Господа, не знаю, туда ли пишу.
Не могу установить скрипт на Greasemonkey. При попытке установки Мозила открывает его как текстовый файл.
Не подскажите, в чём может быть проблема?
#206 #1093973
>>1093928
Я наоборот вкатываюсь с JSа в Пайтон.
Нахуя тебе это нужно? Снежинки на сайтах крутить и адаптивные интерфейсы писать?

Какие вопросы на ждуна? Базовые - стандартные. синтакс, типы в js, объектная модель и прототипы, XHR и fetch, управление DOM деревом. ES6 синтакс, популярные методы прототипов Array, String и пр. Но этого все равно мало. Как минимум нужно уметь пользоватья npm/yarn (менеджер зависимостей), вебпаком чтобы собирать весь гавнопроект в работающий минифицированый код. И знать один гавнофреймворк с его окружением. React, Vue, Angular. Первый фейсбука, второй Китайцев, третий - Гугла. У реакта окружение вообще пиздец. react-redux, react-router-redux, react-vv-dragndrop-router-help-me-please и т. д. Там уже начинается функциональщина. Но ты уйдешь обратно на уютный питон раньше чем до этого доберешься, я тебе гарантирую.
#207 #1093994
>>1093973
Бля, ну я подумал, жыэс же гибкий, накатить пару правил написания кода на нем - и вот тебе путон, да ещё и работающий в браузере. А раз уж такому долбаебу как я пришла эта идея, то уже должно существовать целое комьюнити с интуитивно понятными инструментами разработки на все что можно..

На самом деле я просто тащусь от electron'а, и не собираюсь перепрыгивать с Путина на жс, просто он меня интересует, хочу познакомится поближе как на нем пишут нормальные люди.
#208 #1094004
>>1093970
g firefox mime type broken
#209 #1094023
>>1094004
Нихуя не понял, но спасибо.
2017-11-1902-10-29
34 Кб, 1018x672
#210 #1094139
чот прям кайфую, модно молодежно асинхронно но это не точно

коллективный разум анона уже запилил какую нибудь йобу для подрочить?
#211 #1094160
>>1092367

>это все прочесть стоит? Чоо?


Вот еще полезные материалы для чтения: http://labor-union.wikia.com/wiki/Lifehacks
По работе программиста в целом. По зарплатам.

>>1092431

>Низкоуровневые Си сейчас редкость и треба забугром


Да.
#212 #1094161
>>1094139
Это у тебя случайно не Cloud9 IDE?
#213 #1094162
>>1093883
Юзай прокси для такого.
#214 #1094169
>>1094160
Чет кекнул с левачества в пасте, впрочем мне, хикке нечего возразить
#215 #1094171
>>1091285 (OP)
Ребята, смотрите!
Есть задача:
Установить при помощи JS - TCP-соединение с сервером,
отправить на сервер запрос в виде TCP-пакета,
получить ответный пакет и декодировать инфу внутри него.
Пусть этот пакет содержит в себе JSON-ответ с каким-нибудь читабельным текстом.
Как всё это сделать? Есть примеры?

Вижу есть WebSocket или raw-sockets, для браузеров вот здесь:
https://stackoverflow.com/questions/12407778/connecting-to-tcp-socket-from-browser-using-javascript
что-то типа

>var mySocket = new TCPSocket("127.0.0.1", 6789);


причём на JS.

Но я так понимаю, это специальные протоколы.
А есть реализации всего этого полностью в виде функций внутри JS-скриптов,
которые можно было бы просто подключить к веб-странице в виде src="tcp.js"?

API-сервисы - не предлагать, они централизируют, ведь сервером может быть доступная из Интернета нода сети p2p.
#216 #1094174
>>1091895

>1300+ строк кода



ёбаный мудак
#217 #1094176
Я мимопоинтересуюсь у вас тут. Тут последнее время какое-то странное поветрие типизированные языки транслировать в js. Rust, Nim, Oberon навскидку. И мне стало интересно, какие-то есть у вас средства для работы с именно целочисленными значениями? Ведь языки-то эти располагают набором типов конкретной разрядности и вполне определённым поведением. Насколько я помню в js же универсальные числа и при переполнении преобразуются в формат с плавающей запятой. Или же я совсем отстал от жизни?
#218 #1094177
>>1094176
Есть BigInteger на JS.
#219 #1094178
>>1094177
И BCMath.
#220 #1094181
>>1094161
нет, нахуй вяские облаки и прочие злоебучие безмозглые атомы, у меня богоподобный сабляйм
#221 #1094187
пиздей как же сложно блять ваши this Я ЕБАЛ нахуй, нашел статью, а там этот this может быть 6 разными штуками. как овладеть данной магией?
#222 #1094188
>>1094178

>numbers of any size and precision, represented as strings


Неторопливо всё это наверное работает.

>>1094178
>>1094177
Благодарю. Я правильно понял, что из коробки только стандартные числа?
#223 #1094197
>>1094139

>модно молодежно асинхронно но это не точно


это НЕ асинхронно
#224 #1094198
>>1094187
на что ты готов ради длиннопоста с объяснением темы this?
#225 #1094202
>>1094198
Отсосать.
Я тян.
#226 #1094224
>>1094202
а хотя зачем. вот чувак расписал как бог
https://habrahabr.ru/post/149516/
#227 #1094232
Обясните нубу:
Вот есть у нас куча файлов со строками типа import {something} from '../../../something'
Потом мы собираем проект в один файл и что происходит с этими импортами, ведь все пути, прописанные в from становятся неактуальными? Как вообще происходит это объединение и через какие либы? Есть ли вообще гайд правильной годной сборке проекта инструментами 2017/18?
#228 #1094286
>>1094232

> Есть ли вообще гайд правильной годной сборке проекта инструментами 2017/18?


да
https://webpack.js.org/configuration/
#229 #1094303
>>1094197
Да я проспался и понял асинхронность там она ситуативная для кнопочек и прочих ивентов
#230 #1094394
https://ideone.com/JsoQmg
почему переменная avg NaN?
как переписать что бы заработало?
#231 #1094408
>>1094394
блять что за две звездочки еблан?? ты еще ковычку забыл в конце
#232 #1094410
>>1094408
Math.pow же. Возведение в степень. Добро пожаловать в 2017 год.
#233 #1094412
>>1094408
копипастил, дальше был закомментированый код, после комментов кавычка есть

две звездочки - возведение в степень, смотрите последние стандарты, сер

почему не работает нашел?
#234 #1094413
>>1094412
Функция lineLength нихуя не возвращает у тебя
#235 #1094414
>>1094394
Потому что ты не знаешь или не понимаешь что делает редьюс, пиздуй на лерн джаваскрипт точка ру. Во первых нужно всегда возвращать аккумулятор, во вторых указать аккумулятор первым параметром, в третьих указать после закрывающей } начальное значение аккумулятора.
#236 #1094417
>>1094408
Указатель на указатель.
viber image5
91 Кб, 960x1280
#237 #1094426
>>1094413
Но тем не менее работает, поле len она заполняет нужными значениями вместо 0

>>1094414
Я ничего не понял что ты хотел сказать, но инишиал велью не обязательно указывать, оно 0 по умолчанию, что мне подхдит.

Можешь переписать чтобы заработало и консоль.лог выдавал адекватное значение вместо НаН?
#238 #1094430
>>1094426
что за задача, кинь
#239 #1094432
>>1094430
// Set 'n' points with random coordinates.
// All points connecting lines (all with all).
// Find the line length is closest to the average length of all lines.

const task = (n) => {

/
Position your algorithm here
/

// return {
// points: [{x (0), y (0)}, {x (1), y (1)}, ..., {x ( n- 1), y (n-1)}]
// line: {
// start: {x, y} ,
// end: {x, y}
//}
//};
};
#240 #1094565
>>1093499
Спасибо.
Screenshot20171119-161402
172 Кб, 1080x1920
#241 #1094712
>>1094188

>Неторопливо всё это наверное работает.


Ну на глаз вроде ничо так, антош
JavaScriptcertificate
552 Кб, 1754x1238
#242 #1094714
олсо я теперь у мамы сертифицированный жс девелопер трепещите сучечки
#243 #1094715
для тех кто сомневается — прям советую, вроде бы простая перепечатка с даблвсрискула, но с ачивками и прочим интерактивным цифродрочом под пальцем оно как то бодрее идет

в итоге за 7 часов асилил, творожок в голове после вебинаров для овуляшек хотя бы в порядок привел
#244 #1094718
>>1094714
Ева Хуюсан, плз.
#246 #1094757
>>1094727

какие программисты при этом используются

>индусские

2017-11-2005-43-52
25 Кб, 1113x568
#248 #1094807
Анончик выручай, пытаюсь по красоте захуярить, но сучьи прерывания всю голову отъебали сука

все работает только без обертки в функцию, но не работает сетИнтервал, а когда оборачиваешь в функцию уже недокричаться

ну или может потому что функция неименованная в методе объекта ?
#250 #1094813
>>1094811
Что ты хотел от девелопера соцсетей, где основной контент - смехуечки.
2017-11-2008-18-26
24 Кб, 1079x667
#251 #1094840
>>1094807
ну в общем вот так, как я не изъебывался сделать рабочий вариант красивее не получается
#252 #1094843
>>1094426

>Я ничего не понял


Заметно. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce?v=a

https://repl.it/repls/DamagedHoarseBullmastiff

Догадаешься? Нужно удалить 4 символа и дописать 2 (то есть, сделать именно то, о чём анон выше сообщил) и тогда всё заработает.
#253 #1094845
>>1094394
Алсо, не знаю, как остальные к э
тому относятся, но вот эти функции с побочными эффектами, да ещё и над "глобальным" переменными — это пиздец, ящитаю. Неужели так сложно было добавить вфункцию mkPoints аргумент - arrayToFillWithPoints с более нормальным именем, конечно)? И dotGen чтобы просто возвращал новый, созданный внутри себя массив с этими точками? Я бы поудмал, что это у вас какое-то си-наследие, да вот подозрительно тогда, что ошибку свою найти не смог. Но этот уебанский lineLength даже под эту теорию не подходит, это просто финиш.%%
#254 #1094849
>>1094845
Бля, с разметкой пребался, звиняйте.
image
90 Кб, 1094x274
#255 #1094910
>>1094840
Зачем ты трижды запрашиваешь new Date, поехавший?
#256 #1094918
>>1094910
Строку кода экономит, вестимо.

А что, в ЖС значение дефолтных аргументов вычисляется при выполнении, а не объявлении функции?

>x = 5


>function f(a=x){console.log(x)}


>f() // 5


>x = 10


>f() // 10


Меня как питониста это очень удивляет.
#257 #1094919
>>1094918
ой, там console.log(a) в функции, разумеется.
#258 #1094921
>>1094918
В js все изъбства с аргументами, не более чем синтаксический сахар.
По факту у тебя
function f(a){ if(a === void null) a = x; console.log(a) }
2017-11-2018-00-53
26 Кб, 1084x746
#259 #1095039
>>1094910
я пробовал, оно не захотело );

андефайнед
#260 #1095040
>>1095039
ну ок ща стр пофикшу
#261 #1095041
meh
#262 #1095066
>>1094714
Ева Хуюшан, лол. Напомнило принты Гикбрейнса, там тоже какой-то хач. Я бы проиграл если бы мне соискатель распечатанную такую хуйню принес. Попросил бы решить пару физз-баззов его.
#263 #1095068
>>1094715
Отступы учись расставлять. Мы вам перезвоним.
#264 #1095085
>>1093963
>>1094162
Не понял. Какие прокси? Причём тут прокси?
#265 #1095097
>>1095039
пиздос. тебе все написали и в рот положили, ты даже скопировать не способен
#266 #1095105
>>1095066
на засохшем чб принтере с полосами, уже на стенку повесил, ага насяльник

>>1095068

>Отступы учись расставлять


>в блокноте на мобильном лежа на боку


к

>>1095097
чсвешный ишак сука тот черт аргумент объекта в переменную не клал ёбань ты блядь
#267 #1095107
>>1095105
Да там прямо печать пять звезд!
Сразу видно такой талант пропадает.
1200px-BracketsIcon.svg
49 Кб, 1200x1200
#268 #1095112
Кто нибудь заставлял brackets по человечески понимать внешние функции? Все, что не задано явно в файле - ошибка, функция не объявлена. console.log - ошибка. jQuery - ERROR: '$' is not defined. [no-undef].
Вымораживает, но привык я к нему...
#269 #1095114
>>1095066

>Попросил бы решить пару физз-баззов его


И чтоб без условных операторов. Пущай поебется.
#270 #1095133
>>1095112
JSLint выключи
#271 #1095157
>>1095133

>JSLint выключи


Тогда он не будет ругаться на стиль. Мне бы его оставить, но чтоб орал по делу...
#272 #1095179
>>1095157
А конфиг jslint'a он даёт править? Явно же где-то он лежит отдельным файлом. Если да, то почитай доки линта и отключи конкретно этот параметр.
#273 #1095193
ЖСеры, смотрите: есть класс с конструктором и методом, который должен возвращать инстанс своего класса. Есть нюанс с передачей аргуметов новому инстансу. Хочу чтобы передавалось именно как в коде, а не задействуя отдельные перемнные, а не создавать дополнительные переменные.
#274 #1095194
#275 #1095203
У меня единственный и главный вопрос. Фронтенд начинать учить с жса или с верстки? И начиная учить что-то задрочить это до уровня (шарю с закрытыми глазами) или как? Боюсь начать с чего-то одного и на этом застрять каждый раз улучшая знания и боясь перейти на второй этап просто потому, что буду думать что я не готов еще.
#276 #1095206
>>1095203
Сразу оба
#277 #1095207
чому вот такая конструкция нихуя не хочет работать? ну т.е пашет, но не стринга нихуя

y = 4*x.toString();
199590529105842624162975221497449459388581n
19 Кб, 802x451
#279 #1095213
котаны, как сделать цитату как на 2че, что бы после значка больше ">" текст оборачивался в хтмл тег?

я перепробовал кучу вариантов, но они не один на работают правильно

// let str = Str.replace(/^[\n\r]?[^<].?>(.+)[\n\r]?/g, '[q]$1[/q]');
// let str = Str.replace(/(?:[\n\r]{0,1}.{0,}[^<]
?)>(.+)[\n\r]?/g, '[q]$1[/q]');
// let str = Str.replace(/(?:^<.+)>(.+)[\n\r]
?/g, '[q]$1[/q]');
#280 #1095219
>>1095203
Обязательно с вёрстки. Как только коснёшься ЖС, у тебя больше никогда не будет времени на то, чтоб с вёрсткой разбираться. Потом будешь отмазываться, как другие низкоквалифицированные макаки, что ЦСС непонятный и вёрстка для девочек.
Пройди все бесплатные на htmlacademy и w3school , этого достаточно будет.
2017-11-2023-28-54
16 Кб, 739x488
#281 #1095221
#282 #1095224
>>1095211
ок ладно, брекеты, рассеянная креативная гуманитороблядь наконец то догнала
теперь понятно чому пидоры гнойные заминусили на стаке ^_^
image
20 Кб, 512x754
#283 #1095225
>>1095213
на чем ломается?
#284 #1095227
>>1095225

если там будут теги например <a>, она будет хавать всё подряд, либо ничего, либо если в тексте будет идти значек >
#285 #1095228
>>1095227
ну пример текста кинь
#286 #1095230
>>1095228
>>1095213

мне кажется я нагуглил решение, всё норм https://regex101.com/r/LYsL9Y/2
image
10 Кб, 379x366
#287 #1095232
если что
#288 #1095235
>>1095232

пасибо, похожее решение, лойс. я в ахуе, с того что я писал полдня, и что там у тебя и в том рабочем примере
2017-11-21
68 Кб, 1263x809
#289 #1095260
пиздос, есть ли более элегантное решение?
#290 #1095262
блджад должно быть не очевидно, но суть в том что хуеровина ждет потом делает, не в ду сикл же ее совать!?
#291 #1095263
>>1095260

используй рекурсивный сет-таймаут, сет-интервал не ок в большинстве случаев https://learn.javascript.ru/settimeout-setinterval
2017-11-2101-29-56
27 Кб, 1332x522
#292 #1095272
>>1095263
сложна и нахуй нинужно, дрочево блядь

мне всего лишь надо прокинуть говно в див сразу же после загрузки(онлод шлет нахуй) а не ждать секунду пока протикается тварь эта

ааа ну вас нахуй, пизданул 50мс, и даже сотка необламывается
#293 #1095305
>>1095105

>аргумент объекта в переменную не клал


Чё несёшь, вообще охуеть.
#294 #1095325
>>1095305
Date это объект, .getSome ее аргумент, который я и хотел няшно положить в переменную, но жс в такое сука ниможит

d = new Date();
h = getHours();
t = d.h;

console.log(t) // SASAi )))
#295 #1095341
>>1094188

>Неторопливо всё это наверное работает.


Да, ибо там длинные числа в строки и объекты преобразуются

>Благодарю. Я правильно понял, что из коробки только стандартные числа?


Насколько я знаю, BigInteger только для целых чисел юзается:
http://www.javascripter.net/math/calculators/100digitbigintcalculator.htm
А в bcmath можно вроде-бы и числа с точкой длинные использовать.
Но я не видел онлайн калькулятора BCMath на JS.
#296 #1095342
>>1095325

>.getSome ее аргумент


Во-первых, слово "объект" мужского рода. Во-вторых, это не аргумент, а метод объекта.
В-третьих, "getHours()" исполняет функцию и возвращает результат. Но функции такой нет, поэтому тебя нахуй посылает.
В-четвёртых, ты можешь сделать

>d.h = d.getHours,


>console.log(d.h());


Если тебя так смущают скобочки, то можно, блядь, геттер нахуярить — https://repl.it/repls/GlisteningSlushyArcticseal
В-пятых, ты ебанутый вообще? В чём сакральный смысл менять одно имя на другое?

>но жс в такое сука ниможит


А кто может? Какая-нибудь функциональная поебень? Так тут вам не там.
2017-11-2105-48-36
21 Кб, 1021x508
#297 #1095348
>>1095342

>d.h = d.getHours,


йо ма факин щиыт, тзис из эвесм, гад блесс ю хоть ты и чмо чсвешное, ДАТА СУКА ОНА МОЯ ПИДР БЛЯДБ

>смысл


в порядке, ну и докучи имея власть совершенно глупо ей не пользоваться

ну учитывая что тут всё объекты, я думал все с наскоку встанет и пойдет, а хуй там плавал, присваивать аргументы со ссылками ну пиздец, вот где нахуй про это написано, ни один картавый хахол на ютубе про это мне не сказал блядь, на стаке хуев все в рот набрали и только двачик по прежнему доставляет ^___^
2017-11-2106-00-02
57 Кб, 397x959
#298 #1095349
>>1095342

>не аргумент


клованы сука
#299 #1095354
>>1095349
Ты дебил? Где там у тебя в списке этих "аргументов" есть getHours, getMinutes, UTCTime и т.д.? Аргумент — это то, что в функцию передают. А внутри функции оно уже "параметром" называется, но всем похуй, лишние слова только.

>>1095348

>ну учитывая что тут всё объекты



>ну учитывая что тут всё объекты


Ну так это, ты именно потому и можешь этот метод на другой атрибут повесить, что это объект. Учти, однако, что вызывая d.h() ты вызываешь метод getHours именно у объекта d, а не у того, у кого метод getHours ты "стырил". То есть, x = d.getHours; x() не сработает, или сработает не так, как надо. Чтобы этого избежать, функцию нужно "привязать" к желаемому объекту https://repl.it/repls/BriskIllfatedBellsnake
#300 #1095355
>>1095354

>не так, как надо


"не так, как хочется" будет точнее сказать.
#301 #1095362
>>1095039
Ору.
Вы только посмотрите на него.
2017-11-2106-32-21
725 Кб, 4000x941
#302 #1095363
>>1095354

>x = d.getHours; x()


>не сработает



нихуя ты там заморочился, все релаксни братуха

ну или пока ты на бодряке поясни за лисоебов https://codepen.io/pen/?editors=1010

нахуй они там столько всего нагородили, я блять треть удалил и мне норм

задали дефолт калар инпута в жс, хотя это куда проще сделать в хтмл
прописали були для листнера
создали ДЖВА апдейтора с каким то условием, которое нихуя не работает
ну и использовали какие то пидорские лисьи квериселекторы, нахуй когда проще и понятнее через гэтайди\клдас\хуяс !?!?
#303 #1095368
>>1095363

>ну или пока ты на бодряке поясни за лисоебов https://codepen.io/pen/?editors=1010


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

>нихуя ты там заморочился, все релаксни братуха


Я привык дотошно всё проверять просто. не работать же на работе до обеда, в самом деле.
#304 #1095371
>>1095368

>ссылка


https://codepen.io/anon/pen/KyQYdX

>до обеда


ты что ле с сиберии?
#305 #1095377
>>1095203
Зависит от целей.
#306 #1095379
>>1095371

>ты что ле с сиберии?


Почти, чуть южнее. Недалеко от мавзолея одного коммунистического вождя.
2017-11-21 (1)
188 Кб, 1200x830
#307 #1095381
>>1095379
неужто чина? ну ты лось
#308 #1095399
>>1095381
Зато домой скоро, а у москвичей всё только начинается!

А по коду:

> я блять треть удалил и мне норм


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

>задали дефолт проще сделать в хтмл


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

>прописали були для листнера


Это, конечно, странно. При это не ясно даже, относится ли этот false к useCapture (который так-то 4-ым аргуметом идёт), или-таки options. В любом случае, нахуя передвать и так дефолтное значение я не знаю.

>создали ДЖВА апдейтора


Ну так там же написано, зачем их два.

>которое нихуя не работает


Просто querySelectorAll возвращает NodeList, а не массив, и у него никакого forEach'а нет, нужно было вот так делать - https://codepen.io/anon/pen/POQvKe
Индусы, сэр.

>пидорские лисьи квериселекторы


Да нет, это нормальные современные общие, шоб от jquery люди отказывались В 2018-то.
#309 #1095401
>>1095399
Хех, а в хроме querySelector().forEach работает, но input эвент не триггерится (поэтому нет этого "превью" с одним параграфом). Ну, а это уже "добро пожаловать в мир веб-разработки", тут на каждом шагу так. К счастью, я просто веселья ради в жс-треде сижу и не являюсь веб-разработчиком, разве что для личных вещей, а то б горело у меня ежедневно.
#310 #1095408
>>1095399

>Зато домой скоро


накидай что ле фоточек, я тут заметил что когда видишь что то нереально эпичное и охуенное, как раньше в совке, то это 100% сделано в чине, а у нас красиво теперь только под землей делают эх

>тебе надо


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

>NodeList, а не массив


ну так у массива же больше фишек

>шоб от jquery животные отказывались


шутник, они ведь нимогут в колтбеки и прерывания

>нужно было вот так


>if (p) {


я как видел это охуительнейшое условие так и вижу, чини еба
2017-11-2110-05-27
3 Кб, 338x116
#311 #1095409
>>1095399

>там же написано


пфф
#312 #1095421
>>1095408

>в3 куда пизже


А в интернете некоторые говорят, что как в3 говно и там много чего неправильно написано.

>ну так у массива же больше фишек


Ну это уже не ко мне вопросы, так зделоли. В хроме у NodeList'а есть forEach. Возможно, у меня просто устаревший фф (47) и потому там и не работает.

>я как видел это охуительнейшое условие так и вижу, чини еба


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

>>1095409
Это типа с момента просыпания? Не стоит так себя утруждать, зачем же.

А фоточек под рукой особо нет, к сожалению.
#313 #1095435
Коллизия двухмерных квадратов.
Для этого сравниваем Х и Y координаты противоположных сторон.

rect1.x + rect1.size > rect2.x &&
rect1.x < rect2.x + rect2.size &&
rect1.y + rect1.size > rect2.y &&
rect1.y < rect2.y + rect2.size &&

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

Вопрос: Как это понять?

Я понимаю что при выполнении этих условий мы узнаем, столкнулись они или нет, но как понять это на интуитивном уровне? Для меня это как формула, которую я могу применить, но могу осмыслить. Но она простая и я не могу успокоиться.

Выручи, анон.
#314 #1095437
>>1095435
Для меня это как формула, которую я могу применить, но не могу осмыслить
фикс

Пробовал разными способами визуализировать, но не помогло.
#315 #1095480
>>1095435
Мне кажется, стоило бы пару веще местами понять, тогда бы проще пошло.

>rect2.x < rect1.x + rect1.size &&


>rect1.x < rect2.x + rect2.size &&


Фактически проверяет, находится ли координаты х обоих квадратов между двумя точками, ограниченными их сторонами.
То есть, если условие в первой строке выполнилась, то rect2 точно не выше первого. Соответственно, то же самое и про вторую. А если они оба не выше друг друга (низ одного из них не выше верха другого), значит они столкнулись (по оси x). Точно так же вторая пара по другой оси.
2017-11-2118-04-44
114 Кб, 1920x1080
#316 #1095602
>>1095421

>ничего не поделаешь


кек а ведь и вправду в лисе работает, но зависимость энивей уебанская, ты либо меняешь то что надо, либо ничего не меняешь, вот тут охуенные примеры и код опрятнее http://jscolor.com/examples/

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

ололо на пике сука
#317 #1095606
тут мужик с видоса про охуенные ноубрейн цешные гриды были б такие лет 5-6 назад, я бы наверное уже был бы каким нибудь фронтовым синиором, эх, бляцкий флот лефт ух сука посоветовал мне таки присмотреться к лисишке и ведь внезапно годная сука и соснолька у нее няшнее, уже давно знаю что хром параша по части интерфейса и юзабилити, но щас узнал что и для дева она говно ебучее

https://youtu.be/txZq7Laz7_4
#318 #1095608
>>1095480

>квадратов между двумя точками, ограниченными их ребрами


не благодари
#319 #1095611
>>1095435
X и Y тут координаты чего-чего?
#320 #1095617
>>1095611
Левого верхнего угла, наверное. Или нижнего. Смотря в какую сторону ось направлена. Обычно коробочки задают 4-мя параметрами же: (x, y, width, height), ну а квадрат можно и тремя.

>>1095608
Но ведь в данном случае одно и то же, не? В любом случае то предложение и так, и сяк корявое получается, да ещё и не совсем верно суть отражает, в отличие от дальнейшего объяснения.
#321 #1095622
>>1095617

>Левого верхнего угла, наверное. Или нижнего


Так верхнего или нижнего? Пытаюсь свизуалировать.
untitled
3 Кб, 960x540
#322 #1095639
>>1095617

>не?


соединенные точки в пространстве образуют грани, у них нет сторон пока они не образуют трехмерный объект (куб)
#323 #1095643
>>1095622
Ну пусть будет нижний будет.

>>1095639

>образуют грани


Нет же, грани — это как раз и есть то, чего у куба 6 штук. http://present5.com/presentforday2/20161218/kub_images/kub_5.jpg
Но в 2д ребро и сторона равнозначны же.
http://gramota.ru/slovari/dic/?word=сторона

>7. Матем. Отрезок прямой линии, ограничивающий геометрическую фигуру. Равенство сторон в прямоугольном треугольнике. Стороны многоугольника. С. квадрата.

#324 #1095650
>>1095643
картинка пиздец,

квадраты куба != грани, блядь, а сука полики(фейсы нахуй)
стороны квадратов = ребра, ну т.е ты соображаешь да?

сторона квадрата это так уебаны говорят, и для них пояснение типа это — рёёёбра блеадь

и уж если речь за сридешечку пошла, то какие нахуй нижний верхний, есть нормали у вершин, но т.к это квадрат, то и будет апроксимация до ГРАНЕЙ, так что это как UV пространство, высота по х, ширина по у
#325 #1095652
но это дрочево злоебаное, сейчас все разумные существа используют готовые двигла с графоном и генерируемыми колизиями и миктиспайсами всей хуйней малафьей, и только совки с тремя рублями в кармане НАПИШИМ СВАЙО НАША ЖАДАЧА УНИКАЛЬНА
#326 #1095658
>>1095650

>и уж если речь за сридешечку пошла, то какие нахуй нижний верхний


Блядь, хули ты доебался, это ты куб выдумал, изначально только о двумерном пространстве шла. Иди нахуй, короче.
#327 #1095662
>>1095650

>квадраты куба != грани, блядь,


https://ru.wikipedia.org/wiki/Ребро_(геометрия)

>В трёхмерных многогранниках и в многогранниках большей размерности ребро — это отрезок, общий для двух граней[3].


https://ru.wikipedia.org/wiki/Многогранник

>Эти многоугольники называются гранями, их стороны — рёбрами, а их вершины — вершинами многогранника[1].



Да, "ребро" правильнее, но "сторона квадрата" указывает именно на ту же самую часть. ЕЩё разок нахуй пройди, я спать.
#328 #1095665
>>1095650
Вот, даже жирным выделю

>их [многоугольников] стороны — рёбрами

#329 #1095667
>>1095650
И вот, последнее из того же абзаца

>В многоугольниках ребро является отрезком, лежащим на границе[2] и чаще называется стороной многоугольника.


Конечно, можно аргументровать тем, что большинство людей уебаны, и именно пэтому чаще так называется, но нет.
#330 #1095669
Хорошо сказано про фронт енд разработчиков.

1. В среднесрочной перспективе это самая популярная область для вкатывания. Типичный "телезритель ВКонтакта и Одноклассников", решивший стать программистом, не пойдет месить спринги в NetBeans IDE, писать логику обработки данных на R, мигать светодиодами на SoC или причесывать аппликативные функторы с монадами. Он откроет в соседней с "Одноклассниками" вкладке браузера какой-нибудь нагугленный сайт и почитает про программирование, после чего заглянет в исходный код страницы, начнет изучать верстку, стили и так далее. Что это значит? А то, что конкурентов будет вагон. И не обязательно тот самый "телезритель ВКонтакта и Одноклассников" окажется глупцом. Может быть, он хорошо изучит тему.

2. Как хорошо сказал один анон, есть логически выводимые знания, а есть - талмудические. Так вот, расчет изменения окна перегрузки в TCP для конкретных сетей - логические знания, а весь Web - талмудизм. Знание о том, как сделать конкретную вещь работающей в 7 различных браузерах (умножить на 10 версий каждого браузера), используя пять CSS-хаков, вендор-префиксы и пару небольших скриптов-затычек, - это талмудизм. Обойтись без талмудизма вы не сможете. Есть стандарты на языки и технологии, но нет ни стандарта на рендеринг, ни стандарта на браузер, ни единого мирового стандарта на взаимодействие с сайтом на разных платформах и устройствах, ни стандарта на варианты настроек браузера / хинтинг / сглаживание / subpixel rendering. Более того, браузеры очень активно развиваются и постоянно обновляются, в них бывают баги.

3. Фраза "Ничто не истина, все дозволено" - это про Web. Если к разработке, связанной с middleware или ОС, применима фраза "Практически любой каприз за ваши деньги", то к фронт-эндам применима фраза "Абсолютно любой каприз за ваши деньги и вот еще бесплатно с горочкой". Короче, клиент всегда прав, любые хотелки обязательно надо реализовать, мы за ценой не постоим (даже если будем работать 15 часов подряд, а заплатят нам за 8). И если в других областях клиент или сам является бывшим инженером, или тактично не лезет в разработку, то здесь клиент будет очень активно вмешиваться, постоянно желая разного, а программиста он будет воспринимать, как дизайнера. Здесь как нигде популярна Agile-методология с еженедельно растущим техническим долгом, постоянными изменениями и новыми идеями, отсутствием плана, частыми релизами и отсутствием четких контрактных требований для каждой фазы проекта (вследствие чего программиста всегда можно будет обвинить, вынудить перерабатывать или немножко поработать задаром). Клиент видит только UI, поэтому ему будет сложно объяснить необходимость тратить деньги и время на технический долг. Некоторые клиенты могут даже заставлять использовать облачные IDE на JavaScript внутри браузера, чтобы следить за ходом разработки, править что-то (что они не совсем понимают) и даже раздавать ценные указания в real-time.

4. Web-разработка - постоянная гонка, забег на дистанцию, и въедливость с учетом всех возможных комбинаций тут не приветствуется. Не используются ни средства проверки моделей, ни доказательства теорем, ни иные методики верификации. Не используется даже покрытие кода юнит-тестами или въедливое ревью чужого или своего кода. Вместо этого используются обычные тестировщики, которые комбинаторно все во всех версиях и семействах браузеров прокликивают и проверяют. Если вам не дали тестировщика, то все это придется делать вам (или же просить заказчика все-таки взять на проект одного или двух тестировщиков). Постоянное совмещение в себе двух ролей - разработчика и QA - сможет довести вас до нервного срыва, поэтому лучше выбирать строго одну роль, одну из.

Вывод: front-end-разработка - тяжкий труд. Не входите в айти.
#330 #1095669
Хорошо сказано про фронт енд разработчиков.

1. В среднесрочной перспективе это самая популярная область для вкатывания. Типичный "телезритель ВКонтакта и Одноклассников", решивший стать программистом, не пойдет месить спринги в NetBeans IDE, писать логику обработки данных на R, мигать светодиодами на SoC или причесывать аппликативные функторы с монадами. Он откроет в соседней с "Одноклассниками" вкладке браузера какой-нибудь нагугленный сайт и почитает про программирование, после чего заглянет в исходный код страницы, начнет изучать верстку, стили и так далее. Что это значит? А то, что конкурентов будет вагон. И не обязательно тот самый "телезритель ВКонтакта и Одноклассников" окажется глупцом. Может быть, он хорошо изучит тему.

2. Как хорошо сказал один анон, есть логически выводимые знания, а есть - талмудические. Так вот, расчет изменения окна перегрузки в TCP для конкретных сетей - логические знания, а весь Web - талмудизм. Знание о том, как сделать конкретную вещь работающей в 7 различных браузерах (умножить на 10 версий каждого браузера), используя пять CSS-хаков, вендор-префиксы и пару небольших скриптов-затычек, - это талмудизм. Обойтись без талмудизма вы не сможете. Есть стандарты на языки и технологии, но нет ни стандарта на рендеринг, ни стандарта на браузер, ни единого мирового стандарта на взаимодействие с сайтом на разных платформах и устройствах, ни стандарта на варианты настроек браузера / хинтинг / сглаживание / subpixel rendering. Более того, браузеры очень активно развиваются и постоянно обновляются, в них бывают баги.

3. Фраза "Ничто не истина, все дозволено" - это про Web. Если к разработке, связанной с middleware или ОС, применима фраза "Практически любой каприз за ваши деньги", то к фронт-эндам применима фраза "Абсолютно любой каприз за ваши деньги и вот еще бесплатно с горочкой". Короче, клиент всегда прав, любые хотелки обязательно надо реализовать, мы за ценой не постоим (даже если будем работать 15 часов подряд, а заплатят нам за 8). И если в других областях клиент или сам является бывшим инженером, или тактично не лезет в разработку, то здесь клиент будет очень активно вмешиваться, постоянно желая разного, а программиста он будет воспринимать, как дизайнера. Здесь как нигде популярна Agile-методология с еженедельно растущим техническим долгом, постоянными изменениями и новыми идеями, отсутствием плана, частыми релизами и отсутствием четких контрактных требований для каждой фазы проекта (вследствие чего программиста всегда можно будет обвинить, вынудить перерабатывать или немножко поработать задаром). Клиент видит только UI, поэтому ему будет сложно объяснить необходимость тратить деньги и время на технический долг. Некоторые клиенты могут даже заставлять использовать облачные IDE на JavaScript внутри браузера, чтобы следить за ходом разработки, править что-то (что они не совсем понимают) и даже раздавать ценные указания в real-time.

4. Web-разработка - постоянная гонка, забег на дистанцию, и въедливость с учетом всех возможных комбинаций тут не приветствуется. Не используются ни средства проверки моделей, ни доказательства теорем, ни иные методики верификации. Не используется даже покрытие кода юнит-тестами или въедливое ревью чужого или своего кода. Вместо этого используются обычные тестировщики, которые комбинаторно все во всех версиях и семействах браузеров прокликивают и проверяют. Если вам не дали тестировщика, то все это придется делать вам (или же просить заказчика все-таки взять на проект одного или двух тестировщиков). Постоянное совмещение в себе двух ролей - разработчика и QA - сможет довести вас до нервного срыва, поэтому лучше выбирать строго одну роль, одну из.

Вывод: front-end-разработка - тяжкий труд. Не входите в айти.
#331 #1095670
>>1095667

>большинство людей уебаны


ты ведь не будешь спорить, правда же?

>>1095658

>только о двумерном пространстве


ты в глаза то не ибись

ну ок назови стороны мне блядь сучьего квадрата, аж трясет блоядь стороны нахуй ой сука
#332 #1095671
>>1095670

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


Сторона a.
#333 #1095673
>>1095671
а теперь иди считай коллизию по х у ага, удачи
#334 #1095692
Поцы, помогите с vuex.
В сторе хранится объект с древовидной структурой (n-уровневой), и нужно написать компонент, с помощью которого можно было бы эту хрень редактировать.
Типо в колонку выводится инпуты с названием первых уровней, при нажатии на каждый уровень раскрывается второй и.т.д.
При этом нужно редактировать прямо сразу, т.е. нажал на элемент, появилась форма редактирования не катит.
Собственно вопрос в том, как связать каждый инпут элемента с мутацией хранилища?
Ибо если просто генерировать инпуты через v-for и связывать их через v-model с элементами массива, vuex начинает ругаться, что изменение происходит не через мутацию.
Вопрос номер два, нужно сделать откат изменений. Думал при создании компонента копировать объекты в локальной переменной и потом при нажатии "Отменить" этот объект записывать обратно в хранилище.
Вопрос номер три. Как подписаться на обновление/получение данных нормально. Сейчас приходится городить вот так

>this.tables = JSON.parse(JSON.stringify(this.$store.state['CONFIG'].tables));


this.$store.subscribe((mutation) => {
if (mutation.type === mutationTypes.RECEIVE_TABLES){
this.tables = JSON.parse(JSON.stringify(mutation.payload));
}
});
Т.к. если просто брать из хранилища, то этого объекта там может еще и не быть, а если подписываться, то хз почему, но при повторной инициализации компонента подписка еще раз не срабатывает
¦- ¦-¦-TВ ¦-¦-¦- TЕTГ¦¦
217 Кб, webm,
480x360, 0:01
#335 #1095741
>>1095669

>Не входите в айти.

#336 #1095772
пацаны добрейший, тут это обосрался с одной задачкой, смотрите в блендере, сцена выглядит как пик1
с материалом http://blendermada.com/materials/detail/78-gold/
с помощью официального аддона https://github.com/mrdoob/three.js/tree/dev/utils/exporters/blender преобразовываю все это в json и подгружаю в сцену
https://jsfiddle.net/woje2k1f/
на выходе получаю пик2
ЧЯДНТ?
2017-11-21-2224241440x900scrot
184 Кб, 1440x900
#337 #1095773
>>1095772
дорендерил
#338 #1095779
>>1095772
подумал что может проблема в отсутсвии света, добавил
https://threejs.org/docs/index.html#api/lights/AmbientLight
заменил материал на более отчетливый.
Стало еще хуже лол
#339 #1095786
>>1095779
Пиши на чистом three.js
Выброси блендер, че не как олдфаг.
Мимо интересовался этим но дропнул, т.к. задачи весьма специфичные и по рынку тяжело с этим, обычно это магазины мебели/продажи элитных квартир
#340 #1095792
>>1095786
svg тоже не в иллюстраторе делаешь а ручками пишешь?
по рынку тяжело с этим
webVR на подходе жи
image
1,9 Мб, 1920x961
#341 #1095864
>>1095772
Blend4Web тебе в помощь дрочер
#342 #1095914
>>1095673
Посчитал, проверяй.
2017-11-2204-30-52
90 Кб, 1470x815
#343 #1095918
>>1095914
угадал?))))
#344 #1095919
Вот запилят прямые обращения к DOM и Web APIs из WebAssembly, и каждый будет писать webapp-ы на своём любимом языке. А Javascript будет НИНУЖЕН.
https://github.com/flagxor/spec/blob/jsdom/proposals/jsdom/Overview.md
2017-11-22 (1)
55 Кб, 902x891
#345 #1095920
>>1095919

>Javascript НИНУЖЕН


УЖЕ СИЧАС я в ахуе если честно
#346 #1095928
>>1095919

>>Ну и зачем я сюда постоянно захожу? Чтобы заразиться от вас дизморалью?



Js сейчас нужен и будет нужен еще долго. Необходимо будет как минимум поддерживать старый код. А эти ваши новые техгологии... Мы же кодить учимся. Со знанием js, сетей, всего вот этого, можно пересесть на другой стел. Плюс за нами еще верстка.

Кончайте истерить по любому поводу
#347 #1095929
>>1095928
Lel. Типичный жс-даун это макака выучившая 5000 правил, как формочку рисовать в версии огнелиса 13.563.4 с багом и прочими полезными данными, куда она перекатится? Для нее что компьютер, что браузер это непонятные черные коробки, которые хуй знает как работают внутри, они просто пишут конфиги с ебанутыми правилами, кои имеют ".js" в конце имени и по недоразумению эта хуйня называется программированием
2017-11-2208-06-16
88 Кб, 1320x959
#348 #1095930
поясните за фремверки, чому они так жалко выглядят? еже жальче только маки обклееные мерчем, фу блять фу нахуй
download
445 Кб, 1164x702
#349 #1095931
а с вот этой залупы просто ОРУ сука
#350 #1095992
Годная обзорная статья про структуру ЖСа
http://dmitrysoshnikov.com/ecmascript/javascript-the-core-2nd-edition/
#351 #1096011
Товарищи, можно ли создать в JS иммутабельную структуру данных, которая бы позволяла изменять возвращать новую структуру, конечно же значения ключей, но при этом, например, выбрасывала исключения при попытке добавить или удалять ключ?
То, что мне нужно, частично реализовано в ImmutableJS реализации Record.
Проблема recorda в том, что в структуре, наподобие {a: {b: someValue}}, изменяемо значение 'a' на произвольное (даже если "{b: someValue}" это инстанс record'a), а нужно, чтобы в подобной структуре можно было бы менять значение только по пути ['a', 'b'].

Нужно самому через сеттеры хуярить проверки?
#352 #1096026
>>1096011
Так чтобы все само работало вряд ли подойдет, но как минимум автоматизирует проверки https://github.com/gcanti/tcomb
#353 #1096117
>>1095039
Что за редактор и тема?
#354 #1096131
>>1096117
Не тот анон, но похоже на one dark pro VScode
#355 #1096194
>>1096117
enki alt (от base16 но это не точно), за редактор спрашивать глупо, только если ты не любитель вебкитопарашы на полгига страница
#356 #1096206
>>1096026
Спасибо, буду дрочить.
На первый взгляд похоже на immutable+flow.
#357 #1096408
>>1096011
Прокси
1-hWuNB1uozEVQbKGuFa0iMQ
217 Кб, 1422x928
#358 #1096454
Есть ли какой-нибудь плагин для webpack автоматически вносящий кроссбраузерность в результат?

Чтобы не ебаться вручную со всеми этими охуительными айфонами и прочими интернет эксплорерами.
#359 #1096455
>>1096454
префиксеры не?
2017-11-2312-13-44
44 Кб, 1523x817
#360 #1096467
как я понял ангуляро-старперы с этого рвутся? да так что ж блять сахаром своим все нахуй засыпали а мне люто бешенно по кайфу ^____^

энивей какой вариант наиболее бест практис?
#361 #1096476
>>1096467
Учитывая, что kA можно заменить на " = 5", а разница между boD и shVo в наличии и отсутствии дефолтных аргументов, вопрос нужно перефразировать. Разве что "точно не третий" можно с уверенностью сказать.
#362 #1096486
>>1096476

>можно заменить


чому, мне же посчитать надо а не задать

>kA = () => (x=1)/(y=2)-(z=3);


>console.log(kA());


вот так будет удобно, анонимно, хорошо

вопрос в том что является общепринятой практикой оформления выражений и стейтментс(как они там по-русски)
#363 #1096496
>>1091285 (OP)
Почему нет единого фронтенд треда? А то приходится растекаться по двум разделам.
1475228198retro-erotika-8
603 Кб, 1240x766
#364 #1096498
>>1091285 (OP)
Привет, погромисты!
Хочу вкатиться, для начала просто до уровня "я что-то в этом понимаю", а потом, быть может, и посерьезнее взяться за программирование, если хорошо пойдет.
Но вот вопрос - с какого языка начать? Думаю между JS и C++ как самыми ходовыми и распространенными, но сам решить не могу. Помогите с выбором, что ли. Какие плюсы, минусы, где используется и какие перспективы. С меня как обычно.
#365 #1096499
>>1096486

>мне же посчитать надо а не задать


Тогда тебе вообще не нужны x, y, z в kA
#366 #1096514
>>1096499
кароче как я понял положняк такой

функция-нейм = аргументы которые потом можно поломать и позвать => какая то математика;
метод-нейм(фн-нейм())

верно?

>>1096498
кресты нинужны, есть лапша и ее нативизатор игровой движок как ты уже понял есть всего один с достаточной для любого васька производительностью

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

>метод-нейм(фн-нейм())


У тебя каша в голове.
Ты пытаешься понять, что такое алфавит, изучая пунктуацию.
#368 #1096525
>>1096522
ну так мы институтов не кончали, а нормальной инфы поясняющей за ноубрейн вопросы типа зачем функцию пихать в переменную, когда ее можно позвать саму, я не нашел
#369 #1096528
>>1096514

>метод-нейм(фн-нейм())


Это ещё что такое? Сходи про функции, что ли, почитай, ты что-то совсем мудришь и непонятно на чём основываясь сам догадаться хочешь, по-моему.

>чому, мне же посчитать надо а не задать


Ну можешь kA = () => 5 сделать. Суть в том, что функция kA у тебя всегда возвращала 5.

> практикой оформления выражений и стейтментс(как они там по-русски)


ээ, какого ещё оформления? И как это к твоему примеру вообще относится? У вас какой-то поддельный словарь определений, мне кажется.
#370 #1096530
>>1096525

>зачем функцию пихать в переменную


Чтобы была возможность её вызвать, например?

>function x(){}


>z = x


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

Если ты хотел спросить про разницу

>function x(){}


и

>x = function(){}


, то вот —https://javascriptweblog.wordpress.com/2010/07/06/function-declarations-vs-function-expressions/
#371 #1096537
>>1096528

>сам догадаться хочешь, по-моему.


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

>>1096530

>Если ты хотел спросить про


объявления и выражения да то что нужно санкс

>Чтобы была возможность её вызвать, например?


doIt() нельзя позвать?
#372 #1096541
>>1096537

>doIt() нельзя позвать?


Я уже написал, что в общем случае вместое doIt() никто не будет делать x = doIt; x(). Поэтому ты либо приведи пример, где "функцию пихают в переменную", чтобы можно было что-то вменяемое ответить, либо спроси у >>1095348, он так делал (хотя это ведь ты же и есть, лол).

>>1096537

>не копипастить же листинги из книжек


Зачем листинги копипиастить. Можно попробовать прочитать что-то, определения и описания какие-то, да хоть туториал пройти, и на примере уже всё понять. А тубе ястранный путь: написать хрень, а потом спрашивать, что это за хрень, и читать наши ответы. Всё равно ж в итоге не целиком сам к ответу приходишь.
#373 #1096547
>>1096541

>хотя это ведь ты же и есть, лол


:3 и я до сих пор кайфую от аэстетики решения и пособилити как таковой

>не целиком сам к ответу приходишь


ну творожок хотя бы чуть-чуть задействую, как вытащить часы из даты я забрутфорсил за 5 часов после чтения в3 по диагонали, но зато информация усвоилась
#374 #1096551
>>1096455
Не только это. Например сраные события по разному называются и работают.
#375 #1096552
>>1096551
будь благодарен аллаху за такую мелкую хуйню, а не нужду изучать целую сука новую хуйню
#376 #1096607
Господа, подкажите пожалуйста.
Есть ли вообще в js, а конкретно Angular 2, какие нибудь службы тайминга или что-то типо того? В какую сторону гуглить, а то нихуа найти не могу.
#377 #1096613
>>1095929
Байтоёба забыли спросить
#378 #1096661
>>1096613
Ну удачи, лол, когда через три года любая стремная баба будет знать синтаксис жс, как и ты.
#379 #1096662
>>1096661
Слышал это 10 лет назад.
#381 #1096682
>>1096467
Первый вариант. Второй вариант это тот же первый только ты еще устанавливаешь некоторые значения по умолчанию. Если положить в аргументы при вызове функции другие значения - то дефолтные перезапишутся. Третий - хуйня какая-то. Эта функция не делает ничего кроме как возвращает шесть.
#382 #1096694
Есть массив объектов, в каждом сотня полей. Нужно поменять одно (известное) поле в каждом объекте из массива. Как бы это записать поизящнее?

Интуитивно мне кажется, что сочетать map и Object.assign как-то не очень круто, т.к Object.assign портит первый аргумент, а значит не очень годится для ф-ых конструкций.

Императивный вариант с for прошу не предлагать, так даже моя бабушка напишет.
#383 #1096695
Какая главная структура данных в жс?) {}?
#385 #1096701
>>1096694
Пиздец, ты хоть читай, что пишешь, если тебе надо ПОМЕНЯТЬ поле во всех объектах тебя вообще чистота не должна ебать.

Хотя можешь как даун выше копировать объект и срать в нем ( ток потом чем тормозит, михалыч)
#386 #1096718
>>1096694

>array.map(object => (object.field = new_value, object))

#387 #1096721
>>1096718

>array.map


*array.forEach
#388 #1096725
>>1096694
arr.forEach(el => {
el.field = value
}
#389 #1096726
>>1096718
мутируется object
#390 #1096728
>>1096726

>Есть массив объектов, в каждом сотня полей. Нужно поменять одно (известное) поле в каждом объекте из массива. Как бы это записать поизящнее?



В описании задачи нет ни слова про иммутабельность.
#391 #1096729
>>1096728

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

#392 #1096731
>>1096694

>a.map(o => Object.create(o, {field: {value}))

#393 #1096737
>>1096726

array.map (o => (o = Object.assign({}, o), o.field = value, o))
#394 #1096752
>>1096731
это противозаконно
#395 #1096758
>>1096752
Жизнь ворам, хуй мусорам.
#396 #1096762
>>1094171
бамп вопросу
#397 #1096765
>>1096762
из браузера нет. что тебе не ясно, везде же написано.
#398 #1096883
>>1096496
А второе что?
#399 #1096929
>>1096700
https://repl.it/repls/CheeryIdleSteer

>>1096694
arr.map(o => {let x = deepCopy(o); x.filed = value; return x});
deepCopy где-нибудь найди или сделай сам.
#400 #1096937
>>1096664

>/ru/


ну спасибо тебе браток нет честно спасибо

>ничего кроме как возвращает шесть


наркоман штоолесука?
image
22 Кб, 983x603
#401 #1096941
>>1096752
лел
#402 #1096943
>>1096700
Во первых не нужно двойной assign. Object.assign идеально подходит для иммутабельного изменения, главное помнить, что количество аргументов может быть любым, а первый аргумент — пустой объект
newarr = arr.map(o => Object.assign({}, o, {x: o.x * 2})
#403 #1096949

>Важный и сложный вопрос


>0 ответов


>Дващ, как скопировать объект?


>20 ответов про одно и тоже

#404 #1096950
>>1096943
скобку забыл, но не важно.

Советованный deepClone стоит брать только если остальной код жутко императивный и хаотичный.
Для белых же господ есть ramda.assoc и любая библиотека линз.
#405 #1096951
>>1096607
Что значит службы тайминга? Для работы со временем рекомендую лично использовать только rxjs
#406 #1096968
>>1096949
туда ли ты зашел петушок?
#408 #1097050
>>1097047
а ссылку не?
#409 #1097051
#410 #1097056
>>1097051
я знал что ты пидр
#411 #1097058
>>1097056
ты как всегда ошибся
#412 #1097065
>>1097050
Номер треда виден, заголовок виден, доска не видна, но очевидна. В чём ваша проблема?
#413 #1097069
Вкатывальщики, вас когда-нибудь дизморалил Кантор?

Например ОСНОВЫ JavaScript. Глава рекурсия. Что делать если нихуя не понял? Идти дальше?
#414 #1097070
>>1097065

>ваша проблема


как и всегда в юзабилити, начните уже наконец думать о пользователе
#415 #1097071
>>1097069
Идти нахуй
#416 #1097083
>>1097069
да забей, нормальные программисты не используют рекурсию, они циклятнаверня неделю назад прочел эту главу. Вообще по-моему всю эту фигню достаточно пролистать, чтобы знать что она есть. Просто пиши код, а теория приложится
#417 #1097084
>>1097083
Напиши-ка мне бесконечный цикл, который бы не фризил интерфейс.
#418 #1097086
>>1097084

>Предложите общее решение, которое позволит вызывать любую функцию не чаще N раз в секунду, даже если её вызов происходит чаще.


вставить интервал не?
#419 #1097111
>>1097084

>@coroutine


>def func():


> while true:


> x()


> yield


питонобог
#420 #1097125
>>1097111
GIL уже победил, питонобог?
#421 #1097131
Подскажите, плес, есть ли пакет, который делает лоу рез картинки из нормальных?
#422 #1097133
>>1097131
Перепиши на JS и будет тебе счастье: https://ideone.com/NuOA7T
#423 #1097158
>>1097084

let timer = function () { console.log('tick'); setTimeout(timer, 500); }

timer();
#424 #1097164
>>1097158
Лол. Ну и что у тебя будет. если я далее в той же области видимости переопределю переменную timer?
#425 #1097175
>>1097164

с let не выйдет переопределить
#426 #1097177
>>1097175

ок, если писать всё при 'use strict'. а так да, ты прав, поэтому чтобы не было конфликта, лучше сделать const imer
#427 #1097184
>>1097177

поясните за use strict, почему его не сделали в ЖС по умолчанию?
#428 #1097186
>>1097177
setTimeout(function loop(i) { console.log(i++), setTimeout(loop, 0, i)}, 0, 0)
#429 #1097188
>>1097184
Потому что он появился намного позднее, чем JS.
Если его сделать по умолчанию, сломается куча легаси кода. Почему по-твоему по умолчанию нельзя запретить использование var?
#430 #1097220
>>1097186

хуя ты нагородил.

>>1097188

спсб, ясно.

поясните ещё за генераторы с последнего стандарта. промисы и асюнк/авэйт например норм, а в чем профиты от генераторов?
#431 #1097225
>>1097220
Генераторы появились намного раньше асинков.
Без генераторов ты не сделаешь итераторы.
#432 #1097251
>>1091285 (OP)
У меня есть input
и есть параметр передающийся в get-запросе.
Как заполнить input этим параметром на JS?
#433 #1097257
>>1097251
Всё, нашёл.
... var parameter = "значение";

<input id="input" type="text">
<script>
var elem = document.getElementById('input');
elem.setAttribute('value', parameter);
</script>
#435 #1097313
>>1097225
Нет, генераторы зависят от итераторов, но не наоборот. Итераторы — это классический ооп-паттерн и им не нужны такие странные фичи, как генераторы.
Судя по всему кроме как для временной имитации async/await никто не придумал как их использовать.
#436 #1097315
>>1097313

> Судя по всему кроме как для временной имитации async/await никто не придумал как их использовать.


NYET. С генераторами, например, можно юзать ленивые вычисления.
#437 #1097317
>>1097315
Их и без генераторов можно. Например прокси.
#438 #1097324
>>1097313

тут анон говорит, что с помощью генератора можно останавливать рекурсию https://www.reddit.com/r/javascript/comments/5ifxk4/practical_use_case_for_a_generator/

внезапно, это довольно полезно, чтобы не блокировать какой-то долгой рекурсией всё приложение
#439 #1097326
>>1097069
Посмотри на ту же тему в другом исполнении. Благо примеров тысячи ибо джаваскрипт идеален для приучения быдла к функциональщине.
Угнетающий английским пример https://www.youtube.com/watch?v=k7-N8R0-KY4&list=PL0zVEGEvSaeEd9hlmCXrk5yUyqUag-n84&index=7
LdJfE9oNG1g
22 Кб, 1343x236
#440 #1097331
Сап, программач. Помогите, прошу, необходима ваша помощь

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

вот его код: https://pastebin.com/vvmpKjdw

С ссылками, которые приводились в пример к другим дешифраторам и которые я нашел в интернете он справляется хорошо. Возвращает ссылку типа https://...mp3, но если я сам возьму из HTML кода (или даже через пост запрос к al_audio.php) зашифрованную ссылку типа audio_api_unavailable, то он возвращает ее же.

скриншот консоли пикрелейтед

первый вариант - с той ссылкой, которую я сам взял из HTML разметки ВК
https://vk.com/mp3/audio_api_unavailable.mp3?extra=Adu4mwuXyuPJwfLOqL0WrtfLEdKYBK8XsOfjs10WCgeZy10Ol2eOChz4AOiYvxnIwsOTBI8OnKnbp2qZounYDs44 qNDplxfTDM5Rq2O5lJvLrJGOl3KXDeXOq3bUEM5iuJPyB2q5s1a4BvDYow9jAee1zeG1vJfhA3bJlvvnyLCYAuzZsMjeog1KnKqXthzXwveTyNbwDgD5ovDN x3GOudnJr29on3LSlufSrvzpBxnum2mOnejpq2uOwNPjwdyTl249BMuUEtC#AqS1nZC
второй вариант - с той ссылкой, которую приводили как пример для других дешифраторов
https:\/\/vk.com\/mp3\/audio_api_unavailable.mp3?extra=jtK5pt53yMiUpN5GFJT5yZSMyc4Pi2mJkdLIpxX8yN51Ex98FhH5Dh1OFhL8yYa9FNi0ntK\/lhaInY0CFdL5hcGVpdK3obWxFY9\/lJX1oZOjkX85bYrGgHG+FN54jquPlGn1hbuElcCddJ0gptCbDbqDFrizkH0mixuioYT6jW4FiZT4pauiybKViJW7E3W\/hxGSEYb\/isyEiNGKEZP+nZqzgYW5FIiogGumldCunXS7kX0hhZWvd2aPlaiFaqjG#DGL4cOOjDG
#441 #1097342
Друзья, есть ли годные материалы по фп на жс?
Интересует не просто "азаза фп-стайл над массивами-мап-редьюс и карринг", а подход к написанию кода в соответствии со спекой, например, Fantasy-Land.
Суть - есть код, реализующий линейную логику в духе чистой императивщины, в котором слишком много iffy лапши. Хочу переписать с использованием Maybe монад, например.
Поверхностное представление есть, код уже разбил на чанки, стараясь максимально изолировать от внешнего окружения, и обернул в отдельные loop/map/reduce шаги в mostjs (код циклически выполняется), но все это хуйня.
Конечно, со временем разберусь сам, но буду благодарен за любые гайды, помогающие перенести код с императивного стиля в функциональный, там, где это можно.
#442 #1097345
>>1097133
thx for nothing
idiot
#443 #1097366
Короче, знаю как делоть рест апи на ноде/экспрессе а также питоне и пхп, но это не в тему треда и прикручивать к этому ангуляр или самописный фронтэнд с другими фронт фреймворками тоже разобраться смогу если надо будет.

Вопрос: как это монетизировать?

Раньше пробавлялся всякими мелкими фриланс-заказами на пхп, потом отошел от ойти (хотя по фану продолжал пилить пет прожекты и мониторить чотам нового в вебе), сейчас опять решил вернуться.
#444 #1097379
>>1097366
Устроиться на работу?
#445 #1097463
>>1097342
Бамп реквесту
#447 #1097511
>>1097326

>джаваскрипт идеален для приучения быдла к функциональщине


чому?
#448 #1097519
>>1097463
Спасибо за бампецкий, анон.
>>1097474
Благодарствую, годное чтиво.
#449 #1097545
>>1097511

>> для приучения быдла к функциональщине


> чому?


Тому что самый популярный язык, основанный на лямбда счислении. К тому же с самого начала заставляет использовать функции высшего порядка (то, что быдло называет коллбэками).
Быдло конечно жалуется, но учиться не хочет, а ведь проблемы с коллбэками были решены еще в 90-ых в хаскелле и Scheme мамке JS'а
qweqweqмянный
2 Кб, 230x47
#450 #1097546
Помогите с нубским вопросом. Мне нужно задать у div фон картинкой. Когда я прописывал в скобках УРЛ ссылку в интернете типа http://a.com/1.jpg то все работало, но я хочу использовать картинку из локальной папки, поэтому я написал просто 1.jpg и оно не работает. Я засунул эту сраную картинку во все папки проекта, чтоб не ошибиться, на всякий случай писал /1.jpg но ничего не помогает.

Может проблема в том, что я пишу на Ангуляре и тут локальные картинки как-то иначе подтягиваются? В любом случае, мне постоянно пишет GET http:/localhost:4200/1.jpg 404 - not found.
#451 #1097552
>>1097546

>http:/localhost:4200/1.jpg 404 - not found.


Так а сервер у тебя что? Нода, Апач, Нгникс? Ну так это он тебе статику не отдает?
15115365516840
126 Кб, 960x720
#452 #1097557
>>1097552
>>1097546
решил проблему. оказывается там есть папка assets и если сделать build nj из этой папки все перетягивается в сгенерированную папку dist и из нее уже сервер раздает.

Правильный ответ : указывать адрес картинки как "assets/1.jpg" и засунуть картинку в папку assets
No07-Pyramid-Mint-2880x1800
1,5 Мб, 2880x1800
#453 #1097684
Статик метод класса вообще может возвращать новый инстанс этого же класса?
Если да то объясните как
#454 #1097687
>>1097379
Хотет фрилансить, как начать фрилансить фуллтайм?
#456 #1097741
>>1097698
Ок, а как еще сделать чтобы этот же метод возвращал не просто новый инстанс, а обьект с полями, значения которых расчитываются из параметров при вызове этого метода?
#457 #1097764
>>1097741
Ну, эм, new this(a, b,c)?
#458 #1097774
>>1097764
Там с контруктором были проблемы, я его не создал, поля возвращемого обьекта генерились в самом методе
#459 #1097844
А че с нодой? Перспективы есть? Работы больше становится? Есть ли смысл изучать на крутом уровне, не сдохнет ли лет через пять?

Мимо заносчивый жун.
#460 #1097848
>>1097844

>А че с нодой?


Нода единственная хуйня которое позволяет рендерить жабаскрипт на сервере. Т.е. если ты мой дорогой заносчивый июнь слышал про SSR, React, Vue. Должен понимать что эта параша плохо индексируется поисковиками. Это можно исправить отдавая разметку сервером ноды по прямому urlу. Прямо как пи эйч пи, ага. Вот прямо сейчас мы не можем найти специалиста который мог бы в SSR. Кругом одни июни. Так что - учи.
#461 #1097851
>>1097848

>SSR


>шел конец 2017ого

#462 #1097853
>>1097342
Элиот про всякое такое пишет:
https://medium.com/javascript-scene/the-two-pillars-of-javascript-pt-2-functional-programming-a63aa53a41a4
https://medium.com/@_ericelliott/latest
Там у него серии статей про композицию и прочие дела. Полистай.
Его же книга про приложения с элементами функциональщины, из далёкого 2014г.:
http://chimera.labs.oreilly.com/books/1234000000262/index.html

Если хочешь упороться, в сторону Элм смотри:
http://elm-lang.org/
https://www.youtube.com/watch?v=aNour03V98E
#463 #1097877
>>1097851
Ну а как ты сделаешь SPA на реакте нормально индексируемое яндексом. Давай расскажи мне охуенные истории. Бизнесу похуй на перезагрузку страниц - им главное чтобы в топе их сайт висел и клиенты шли.
#464 #1097894
Иду на backend, но в требованиях базовые знания jquery. Что входит туда? Или мне будеть достаточно просто уметь послать какой-нибудь post запрос?
#466 #1097898
>>1097848

>не можем найти специалиста который мог бы в SSR


Хуйли там не мочь-то ёпта бля, в деревне что ли какой ищете?

Алсо, СПА нормально индексятся, по крайней мере гуглом. А будут еще лучше, поисковики подстраиваются под РЫНОЧЕК.
image
53 Кб, 1104x546
#467 #1097901
>>1091285 (OP)
Поясните, почему некоторые из перечисленных автором "falsy" values дают при сравнении с false собственно false?
https://github.com/getify/You-Dont-Know-JS/blob/master/up & going/ch2.md
image
31 Кб, 549x468
#468 #1097929
>>1097545

>проблемы с коллбэками были решены еще в 90-ых


понятно
#469 #1097956
>>1097774
Object.assign(new this, {your: object, generated: fields})
#470 #1097958
>>1097901
читаем стандарт.
null и undefined равны только друг другу
NaN не равен вообще ничему, любое сравнение с его участием это false
#471 #1097967
>>1096498
С++ разве что в универах самый ходовой. После паскаля, лол. Поправьте меня, если не так, потому что я вот прям даже уверен, что несмотря на всю ироничность заявления, это нихуя не шутка.
#472 #1097969
>>1097853
>>1097896
Спасибо за рекомендации, начал погружение.

>>1097853

>Если хочешь упороться, в сторону Элм смотри


Elm годная штука, да, но для фронта.
Мне функциональщина нужна на ноде для специфических применений для управления техпроцессом, BA DUM TSSS.
В свете почившей в бозе 'ramda-fantasy' буду использовать либу Sanctuary.
#473 #1097970
>>1097967
Ну, на крестах еще любят олимпиады писать.
Хотя у С++, как и у любого другого языка, есть своя ниша, но его доля на рынке ежегодно сокращается, несмотря на развитие языка.
#474 #1097990
>>1097970

>Олимпиады.


Да там дрочильня ради дрочильни и медалек.
Просто код скомпилированный на плюсах реально летает, в отличии от тех же питонов/ноды
Другое дело, что рынку мало нужно производить сложных вычислений. В основе своей рынку нужны веб-сайты продающие товар и армия людей пишущих на жабаскрипте и любом бекенд языке.
#475 #1097995
Господа, вот я установил ноду и вебпак под одним юзером, с этого юзера вебпак у меня прекрасно работает.
захожу в другой юзер, тоже устанавливаю вебпак и начинаю вылавливать ошибки webpack ot found
что за хуйня?? приходится переключаться на другого юзера, чтобы собрать проект вебпаком. кэши нпм чистил делал все советы со стаковерфлоу.
папка xammp, где лежат мои проекты общая для двух юзеров.
#476 #1097996
>>1097995
Нужно было ставить вебпак в локал депенденси.
#477 #1098032
>>1097996
бляять, надо теперь его удалять глобально? или можно еще раз попробовать локал депенденси накатить на другом юзере?
#478 #1098076
>>1097901

потому что релейт https://stackoverflow.com/a/23465314
#479 #1098135
>>1091285 (OP)
Как же хочется поскорее изучить верстку и закатиться к вам в тредик - к белым людям. Буду потом называть себя Погромистом с большой буквы.
#480 #1098141
>>1098135

>скриптопетухи


>белые люди

#481 #1098157
>>1098141
А кто элита?
#482 #1098167
>>1098157
Хаскель - бояре и C++ олимпиадники же!
#483 #1098249
>>1093519
>>1093411

ООП в жс нахуй не нужен. Из-за обезьян, которые не в состоянии менять свое мышление, нагородили всякого говна типа классов. Хотя просто требовалось вкатится в прототипное наследование и немного обмазаться функциональщиной. Перед жс лучше учить лисп и пробежаться по ФП-концепцияим.
#484 #1098250
>>1098249

> прототипное наследование


А это по-твоему не ООП?

>нагородили всякого говна типа классов


они там были с самого начала. и весь синтаксический сахар, что ввели теперь ничего не изменил
#485 #1098275
>>1097929
Об этом я и говорю — быдло не хочет учиться и делает все максимально примитивным образом
#486 #1098279
>>1098250
Классов с точки зрения семантики нет. Только в пределах оптимизаций v8. В JS прототипное бесклассовое ООП
#487 #1098303
>>1098279
Классов нет с точки зрения того, что ты привык считать классами.

instanceof для себя открой.
#488 #1098357
>>1098275
а как нада?

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


любой нормальный человек тащемта, если ты не думаешь о сохранении энергии и дрочешь хуйню вместо короткого ПРОСТО РАБОТАЮЩЕГО решения — ты дефективный
#489 #1098464
>>1092522
Ты че, попаданец в будущее? Уже восьмой или девятый вышел, а сайт кантора сильно устарел.
#490 #1098521
Где тред с node.js? Это дискриминация.
#491 #1098530
>>1098357
Может ты всю программу пишешь в main процедуре? Самое короткое и работающее решение. Зачем нам классы?
#492 #1098563
>>1098530

>Зачем нам классы?


А у вас их и нет.
#493 #1098585
>>1098357
Промайсы/эвэйты? Мимо июнь.
#494 #1098588
>>1097898
Пока ВСЕ поисковики под это подстроятся, я уже на пенсии буду.
#495 #1098589
>>1097901
!! Перед левым выражением ставь, и будет тебе счастье
#496 #1098590
>>1098032
Не надо удалять глобально, просто в package.json его пропиши и npm i сделай
#497 #1098591
>>1098585
Промис. Пофиксил тебя
#498 #1098620
>>1098521
А где отдельный тред для HotSpot?
#499 #1098627
Как через node.js вывести биты прочитанного файла?
#500 #1098635
>>1098627
Очевидно, сконвертировать значение каждого байта в строку битов. Вывести на экран или сложить все строки и потом вывести разом.
https://repl.it/repls/PapayawhipRevolvingCoelacanth
2017-11-2714h3101
10 Кб, 941x127
#501 #1098637
>>1098627
Вот, например, ванлайнер, конвертирующий 2хбайтовый буфер (регистры modbus) в строку с битовыми значениями.
Дальше сам разберешься.
#502 #1098639
>>1098635
https://pastebin.com/wfePryKQ
В консоль последней строкой выводит текст моей txt-шки в обычном буквенном формате. Что я делаю не так?
#503 #1098645
>>1098639

>Что я делаю не так?


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

>fs.readFileSync('readme.txt', 'utf-8');


Во-вторых, ты прочитал текст файла. Всё, у тебя текст в переменной, а не байтовое представление файла.

> arr.push(text)


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

Так что, смотри, как прочитать файл в бинарном режиме, а затем воспользуйся скриншотом >>1098637.
Аноним #504 #1098773
Парочка антонов их соседнего Python треда собралась писать свою имиджборду, показывать пока что совсем нечего, но хотелось бы найти вкатывальщика в js (какой нибудь фреймворк, например Angular) готового писать просто для опыта. Если кто-нибудь захочет присоединиться - напишите в телегу указанную в email c:
#505 #1098830
>>1098588
Тебе 50+?
#506 #1098891
Вопрос у меня к вам >>108298
Там не отвечает никто. Помогите, пожалуйста. Если можно изменить курсор джиэсом - тоже хорошо, мне любой способ подойдет.
#507 #1098910
Вот https://2ch.hk/web/res/107509.html#108298 (М)

тот вопрос
Screenshot20171112-193315~01
327 Кб, 993x689
#508 #1098921
>>1098891
Можно, да
#510 #1098928
>>1098922
>>1098921
Я про это и говорю, в css не меняется. Т.е. именно картинку не могу поставить, а значение после запятой работает. Мне нужна именно картинка вместо курсора.
#511 #1098966
Работаю с JavaScript почти 3 года, достаточно много литературы прочитал за это время, на собесах чувствую себя уверенно, когда сам провожу, то охуеваю с дебичей, которые пытаются мидловую зп выторговать, создав 2,5 реакт-компонента.

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

Также интересно, в сторону каких языков/технологий смотреть с перспективой когда-то выкатится из жс.
Screenshot4
317 Кб, 1917x1035
#512 #1098972
Перепощу из нюфаг треда

Анон, как этот жс подгружает контент динамически? Вернее как мне этот контент, который подгружен динамически, скопировать в txt и спокойно спарсить нужное? Вот беру я группу вк, делаю соответствующий отбор, скролю до конца вниз, пытаюсь открыть исходный код - но там нет ссылок на пользователей :с

Не проигрывайте с меня сильно, я нуб
#513 #1098980
>>1098966

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


Elixir/Phoenix
#514 #1098985
>>1098972
А почему ты думаешь, что они внизу должны быть? У тебя там есть такой замечаельный инструмент на панели, как стрелочка (в левом верхнем углу панели с кодом). Тыкаешь на неё, наводишь на элемент и, о чудо, выделяется хтмл код, ответственный за этот элемент.
#516 #1099082
>>1099069
Я уже сказал, что эти значения РАБОТАЮТ. Очевидно, я их уже попробовал и знаком с ними. Проблема в том чтобю поставить картинку. Только что поменял файл с расширением .ПНГ и прозрачным фоном на ссаный .бмп с непрозрачным фоном - заработало! Наверное, какие-то ебанутые несовместимости с типами файлов. Буду экспериментировать. На размер файла ему, похоже, насрать, вышло даже огромную картинку прицепить.
#517 #1099099
>>1098891
https://codepen.io/anon/pen/WXgxJg

Браузере просто игнорируют большие картинки. В новых работает до 128х128. В старых до 32х32 и только .ico

Есть вариант делать кастомное любого размера на ЖС. Но кастомное это всегда хреновый вариант, потому что ты в одиночку никогда не сможешь учесть всего.
2017-11-27 07-41-42
77 Кб, 1080x1920
#518 #1099317
>>1098585

>Промайсы/эвэйты


тогда нахера мне прогонять мульку за калбек!? если они устарели и нахуй нинужны

>>1098530
сейчас бы реакто-хуи над тобой посмеялись
#519 #1099319
>>1098773

>писать свою имиджборду


>например Angular


лол сука
#520 #1099326
>>1099319
почему ты лолируешь?
#521 #1099333
>>1099326
тому шо нгулур для белых корпоративных воротняков, в то время как реакт модный молодежный стартаперский, это две совершенно разных вселенных, в которых обидают два совершенно разных вида людей

ну и да, первым проектом — соиалочка, моветон, наподоби шутера про зомби в геймдеве

лучше для блендаря сделай пару адодонов полезных могу подкинуть идеи коли писун знаешь годно, комунити будет сука благодарно хотя бы, а так обосрешься, дропнешь и будешь потом месяц в подушку рыдать ВСЕЙ КАММАНДАЙ
#522 #1099356
>>1099317

> сейчас бы реакто-хуи над тобой посмеялись


Какие? Почему?
#523 #1099363
>>1099319
>>1099333
Фронт фреймворк для нас не важен, нашелся бы кто-нибудь шоб на том же реакте пилить
#524 #1099372
>>1098985
Спасибо!
#525 #1099376
Как обработать событие на нажатие сразу двух клавиш?

Пишу значит

document.addEventListener('keydown', function(e) {
//up
if(e.keyCode === 87) {
player.position.y -= player.speed;
}
//right
if(e.keyCode === 68) {
player.position.x += player.speed;
}
//left
if(e.keyCode === 97) {
player.position.x -= player.speed;
}
//down
if(e.keyCode === 115) {
player.position.y += player.speed;
}
})

Но одновременно две клавиши не робят.
#526 #1099380
>>1099376
fix
document.addEventListener('keydown', function(e) {
if (e.keyCode === 87) {
player.position.y -= player.speed;
}
if (e.keyCode === 68) {
player.position.x += player.speed;
}
if (e.keyCode === 97) {
player.position.x -= player.speed;
}
if (e.keyCode === 115) {
player.position.y += player.speed;
}
})
#529 #1099391
>>1097083
Можно создавать итеративные процессы с рекурсией без циклов, которые стек не переполняют.

https://goo.gl/FpD5cK
#530 #1099395
>>1096498
Для совсем маленьких
https://goo.gl/GLwHHL

Тоже самое, но с более сложной подачей
https://goo.gl/LbfzdX
#531 #1099408
>>1099356
потому что вся суть реакта это по программе на файл
#532 #1099484
>>1099390
>>1099391
>>1099395
Зарепортил спамера-сектанта. Ты им медвежью услугу оказываешь, уже подташнивать начинает от того, что ты тут свои хуекслетом срёшь.
#533 #1099508
>>1099484
Не завидуй.
1478647020219
49 Кб, 655x527
#534 #1099524
Сегодня гулял с тяночкой, рассказывал, что работаю погромистом. Когда она спросила, на каком языке я пишу, ответил JS. Она сделала кривую улыбку и рассмеялась. Теперь не отвечает на сообщения.
#535 #1099527
>>1099524
Троллинг не удался.
#536 #1099556
Перекат >>1099555 (OP)
Перекат >>1099555 (OP)
Перекат >>1099555 (OP)
Перекат >>1099555 (OP)
Перекат >>1099555 (OP)
#537 #1100310
>>1099408
А так же хардкорная декомпозиция на компоненты
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 19 декабря 2017 года.

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

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