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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
37 Кб, 1052x1052
JavaScript #65 #849864 В конец треда | Веб
Ссылка на прошлый тред: >>843519 (OP)

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

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

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

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

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

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

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

Вечер в хату. Тред не читал. Сам пишу бэк на пиздоне и решил выучить жабаскрипт что бы для разнообразия хуярить на ноде. Все вроде для начала понятно, но мучает вопрос библиотек. Можете дать список самых модных и стильных либ для написания бэка под ноду. Интересует также либы для работы с БД(mongo,postgre,redis). Заранее спасибо
>>849899>>849900
#3 #849899
>>849875

> либ для написания бэка под ноду


Express и Koa сейчас мейнстрим

> либы для работы с БД


> mongo


mongoose

> postgre


sequelize

> redis


http://redis.io/clients#nodejs
>>849911>>850167
#4 #849900
>>849875
Бери express и гугли то, что тебе нужно, например "expressjs authentication" — найдешь все необходимые либы.
Для БД возьми Sequelize.
#5 #849911
>>849899
Не пизди, Horizon мейнстрим, Koa и тем более Express устарели.
>>849917>>850167
#6 #849917
>>849911
Один раз засветился на HN и с тех пор о нем ни одной новости — для мейнстрима слабовато. Прото-хипстерская поделка.
>>849920
#7 #849920
>>849917
Хотя нет, 5+к звезд на жидхабе о чем-то говорят. Надо бы взглянуть.
как ограничивать доступ к компоненту в react? #8 #849973
Предлагают прямо в коде писать типа "если есть авторизация, то рендерить, а иначе null" https://github.com/joshgeller/react-redux-jwt-auth-example

Но при таком подходе остается возможность, путем анализа кода, понять структуру защищаемых данных (например что в админке виден список ФИО + телефон), структуру закрытых api и т.д - это тоже уязвимость же!

Какие есть варианты ограничивать доступ к исходному коду компонентов, пользоваться которыми у текущего пользователя нет прав?
>>849976
#9 #849976
>>849973
Обычно делают отдельно админку, отдельно пользовательский интерфейс
>>849980
#10 #849980
>>849976
Ок, а если у нас "админка" (просто некое приложение), а там пользователи с разными привилегиями?
>>849985>>849986
#11 #849985
>>849980
На бэке в зависимости от уровня юзера отдавать тольке те данные которые ему нужны
#12 #849986
>>849980
Если прям так уж критично скрыть представление, то порежь нужные части панели на куски и проверяй роль перед отдачей жс кода требуемой части на стороне сервера
А вообще в таком случае спа теряет всякий смысл
Видеоуроки по JS #13 #850031
Может кто посоветовать годные видеоуроки по JS/jquery/ajax вот это все?
#14 #850058
1. Посмотрел IDE/редактор в вашем гайде - не нашёл там саблайма.
Для жс его не используют?

2. Вообще есть где-нибудь гайд для sublime text 3, чтобы его настроить под js? Проверку синтаксиса, дебаг, консоль какую-нибудь и всё в этом роде.

3. В чём вы пишите на js?
Как организована ваша рабочая среда?
>>850059>>850239
#15 #850059
>>850058
Возьми VS Code, там много что из коробки — статический анализатор, умное автодополнение, emmet, git, дебаг под ноду. Уже год использую его с плагином eslint (встроенный анализ отключит) и горя не знаю. А в саблайм еще миллион плагинов поставить надо прежде чем он нормально забегает.
>>850062>>850064
#16 #850062
>>850059
умеет его eslint сразу линтить и фиксить при сохранении как скажем в том же atom?
>>850066
#17 #850064
>>850059
Уже думал об этом, потому что перекатываюсь из C# и привык к студии.
но что-то крякнутой не нашёл.
>>850066
#18 #850066
>>850062
По-моему да, но я не пользуюсь, он в реалтайме же все подсвечивает и я сразу правлю.

>>850064
Он бесплатный и кроссплатформенный. VS Code это не VS.
>>850068
#19 #850068
>>850066
блять, неужели м$ впервые сделали что-то бесплатное
>>850220
#20 #850086
Аноны, как-нибудь на сервере можно разрешить запросы с HTTPS на твоё HTTP?
Думал, Access-Control-Allow-Origin тут поможет, но Mixed content всё-равно во все поля.
Запросы посылаются через XHR, да и этот тред первый открыт был.
>>850088>>850096
#21 #850088
>>850086

>запросы с HTTPS на твоё HTTP


Спрашиваю потому, что, как я понял, браузер в случае AJAX-запроса с HTTPS на HTTP даже этот запрос не делает - просто валит XHR с ошибкой в консоль.
Алсо, нашёл что-то похожее, Content-Security-Policy, но, как я, опять таки, понял, это вообще не из той оперы.
>>850096
#22 #850096
>>850086
>>850088
HTTP-сервер твой или сторонний? А тебя с CORS проблема, похоже, а не с протоколами
>>850114
#23 #850114
>>850096
HTTP - мой, HTTPS - сторонний.
С CORS как раз таки всё в порядке, ибо куки не нужны, как и сложные запросы - помогает

> Access-Control-Allow-Origin: *


. Но этот заголовок не помогает с протоколом.
#24 #850167
>>849899
да пашол ты нахой, експресс устаревает и новых проектов на нем все меньше
Коа пиарит один жидоторгаш своими курсами за $, но это тоже такое.
>>849911
Вот этого двачагу, а вообще го набирает обороты если хочется модненький фреймворк
>>850186
#25 #850186
>>850167

> експресс устаревает


Лол блять
http://expressjs.com/en/guide/migrating-5.html

> новых проектов на нем все меньше


Именно поэтому он второй в топе npm. С чего ты вообще взял эту хуйню, пруфануть чем-то можешь?

> Коа пиарит один жидоторгаш своими курсами за $, но это тоже такое.


Чего блять? Какие ещё курсы? У коа и экспресса один автор - tj

> Вот этого двачагу


Ты sails не видел, что ли? Хоризон абсолютно тоже самое, только ещё облако своё впихнуть хотят
>>850201
#26 #850201
>>850186
руби и пхп тоже постоянно обновляются, но это ни о чем не говорит
я сужу по it рынку, который постоянно мониторю в силу профессии
#27 #850220
>>850068
Ты не поверишь, он еще и попенсорсный.
Как по мне, VS Code лучше чем Atom.

Не забудь добавить в настройки:
```
"telemetry.enableCrashReporter": false,
"telemetry.enableTelemetry": false
```
>>850242
#28 #850239
>>850058
2.Ставишь вот это по инструкции, https://packagecontrol.io/, потом сам выберешь пакеты которые тебе нужны.
3. Сумблайм, иногда Атом.
#29 #850242
>>850220
Ссори анонче, я это дерьмо уже снёс, он иногда даже пустой без проекты запускается по 10 секунд.

В итоге накатил саблайм, темы под него просто охуенные, накатил несколько визуальных плагинов к нему, автокомплит, проверку синтаксиса, фтп, думаю на первых порах хватит, потом перекачусь на пхпшторм.
Вообще, судя по разным гайдам, урокам, отзывам так и работает большинство сб3 + пхпшторм. Даже с плагинами сб3 номрально открывается и не тормозит, выделение памяти вообще маленькое.
#30 #850249
Есть подобная залупень для винды?
https://www.decosoftware.com/
58 Кб, 1366x768
#31 #850285
Почему Брекетс не видит внешнего скрипта?
>>850502
#32 #850287
Анон, помоги, плес. В общем, есть сайт: http://home-hotel.su/
оттуда надо спиздить весь каталог и поиск по нему, дабы вставить в свой сайт. Как это сделать? В /web/ не отвечает никто, лол
>>850305>>850523
#33 #850295

> https://jsfiddle.net/8rp248yp/


А как ты развлекаешься, /pr/? Потом ещё Switch напишу, ибо намного сложнее.
>>850303
#34 #850303
>>850295

>Потом ещё Switch напишу


Сукаблять, только сейчас закончил:

> https://jsfiddle.net/779gvts5/


.
#35 #850305
>>850287
пропитонить надо
#36 #850364
Есть объект, у него есть поле. Как на изменение значения этого поля повесить событие?
>>850382
#38 #850385
>>850382
Спасиб.
#39 #850397
Киньте пикчу с кучей коллбеки в где на фоне хипстер с длинными волосами потирает щеки.
>>850398>>850428
#40 #850398
>>850397

>куча коллбеков


>хипстер


Как там с ES5 живется?
>>850399
#41 #850399
>>850398
Пикчу скинь пидор.
#43 #850437
>>850428
Спасибо няш :3
#44 #850442
>>850428

>эти неухоженные волосы


>эта футболка


>эти лысые щеки


Так это ж не хипстер, а гомопатлач!
3383 Кб, 307x233
#45 #850449
Подскажите пожалуйста, как в чистой джаве прочитать текстовый файл и как создать новый? Но "открытие" файла должно быть не через <input>, где руками выбирать, а чтоб скрипт сам подхватывал рядом лежащий файл.

Грубо говоря, у меня в одной папке лежат файлы index.html, script.js, text.txt. Нужно чтоб при открытии index.html скрипт автоматом подтягивал текст на страницу. И чтоб можно было его изменить и сохранить в text1.txt.
>>850450>>850451
#46 #850450
>>850449

>в чистой джаве


в смысле, в чистом джаваскрипте
#47 #850451
>>850449
Только через клиент - никак, для этого нужен сервер
>>850453
#48 #850453
>>850451
Не совсем понял. Я имею ввиду, если файлы локально все находятся. То есть работать без интернета, а чисто на компе.
>>850456>>853646
#49 #850456
>>850453
Через браузер нельзя, такая политика безопасности. Смотри в сторону всяких штук, вроде Electron
#50 #850482
>>850428
Йоу, а это не Маракеш часом на фотке то?

https://youtu.be/OVvmVbBBwtA
#51 #850502
>>850285
Перед </body> укажи на скрипт.
>>850528>>850836
#52 #850523
>>850287
Request + Cheerio
#53 #850528
>>850502
async defer можно приписать
>>850836
29 Кб, 500x500
#54 #850530
Как лучше на ноде сделать некое подобие системы плагинов, как для компилируемых языков?
Т.е. запускается приложение, сканирует все файлы в папке /plugins, и, если есть в них точка входа, загружает в память, при этом методы из плагина становятся доступными для приложения. Чтобы достаточно было закинуть новый скрипт в папку, реализующий, например, поддержку нового формата для экспорта данных, и не править нигде более исходники и секции импорта.
>>850532>>850569
#55 #850532
>>850530

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


Ты только-что сам всё написал.
>>850535
#56 #850535
>>850532
А в рантайме такое провернуть можно?
Чтобы был "хотлоад" модулей?

У меня сорт оф архитектурная проблема, лол.
Я не пойму, куда загружать импортированный плагин/модуль.
В глобальный массив, например? А оттуда дергать методы, обходя forEach'ем?
Или в объект засовывать, создавая ключи по имени загруженного файла.

Есть ли какие проекты с примерами подобного, где импорт модулей не зашит в исходник жестко.?
#57 #850566
>>850535

>А в рантайме такое провернуть можно?



Ты какой-то странный. Нода и так загружают все в рантайме.
#58 #850569
>>850535
>>850530
Какой-то ты пиздец поехавший. Есть npm, он грузит всё в папку node_modules. Для динамического подключения модулей-плагинов к твоему модулю ты можешь обходить папку и искать названия модулей с определенной приставкойmodulename-plugin-*, и подключать эти плагины.
Но это пидорство, и так делают только конченные уёбки, потому что это нихуя не очевидно, и установка плагина обязует тебя его использовать.
>>850658
#59 #850575
>>850535

>где импорт модулей не зашит в исходник жестко.?



Ты больной ублюдок. ты знаешь об этом?

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

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

Читаем файл. Тебе сука рассказать как читают файлы с диска?
Евалим считанную строку. Ты мудак понимаешь, что такое евал?

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

Иди нахуй, блядь. Просто иди нахуй

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

Магл ебаный.
>>850658
#60 #850658
>>850569
Речь не о модулях, подтягиваемых из npm реестра шла, хоть это и не особо принципиально.
Суть в том, что есть главскрипт app.js, висящий в памяти (демонизированный, лол) и выполняющий обработку данных, и есть папка plugins, в которую я кидаю скрипт, дополняющий функционал главскрипта, например, export-pds.js. Я понял, что можно подписаться к ивентам из fs.watch(), поэтому, как только я заброшу в папку plugins новый скрипт, app.js будет в курсе и зареквайрит его.

>>850575
Что ты так разбушевался, няша? :3

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


Да.

>Читаем файл. Тебе сука рассказать как читают файлы с диска?


>Евалим считанную строку. Ты мудак понимаешь, что такое евал?


Зачем все это, если за меня это сделает require?

"Точка входа" - не более, чем аналогия с dll'ками.
В моем случае это может быть некое экспортируемое значение из js-плагина, просто для того, чтобы левый js файл в папке plugins не импортировался.

В принципе, все что я искал, уместилось в один сниппет:
https://coderwall.com/p/cmz24w/node-js-code-snippet-dynamically-load-all-javascript-in-a-folder

Просто хотелось посмотреть более развернутый вариант такого подхода. "Бест практиклз", если изволите.
>>850662
#61 #850662
>>850658

> Я понял, что можно подписаться к ивентам из fs.watch(), поэтому, как только я заброшу в папку plugins новый скрипт, app.js будет в курсе и зареквайрит его.


Но зачем так делать? Чем тебе так принципиально подтягивание плагинов без рестарта?
>>850672
#62 #850672
>>850662
Ладно, без абстракщины.

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

>Чем тебе так принципиально подтягивание плагинов без рестарта?


Да ничем, в общем-то. Это уже просто изъебство, но знания о том, как это сделать лучше, не помешают.
#63 #850716
Анон, вот почему Promise не полностью продуманные?
Они ведь писались с try-catch, так почему нет метода .finally, блять?!
Анон, ты понимаешь, насколько нужно быть долбоёбом, чтобы проебать такую годную фичу?

Из-за этого только и не перевожу все AJAX'ы на fetch - некуда пилить функцию .onDone, сука!
>>850722
#64 #850722
>>850716
На кой хуй тебе .finally и чем он лучше .then?
>>850726>>850727
#65 #850726
>>850722

>чем он лучше .then?


Ну хуй знает.. например тем, что он будет срабатывать в любом, блять, случае?! Вне зависимости от состояния.
>>850743
#66 #850727
>>850722
И кстати, .finally мог-бы полностью останавливать Promise - если вызван метод, значит, дальше ничего вешаться не должно.
>>850743
#67 #850731
На документе стоит событие $(document).ready();
В ready(); происходят чики-брики с использованием jQuery.
Только вот ready(); вызывается раньше, чем успеет загрузиться сам jQuery. В хроме и опере такого нет.
Тем не менее, $(window).on('load',) я использовать не могу, потому что на странице тонна говна, которая никогда не прогрузится. Есть какие-нибудь опции?
>>850733
#68 #850733
>>850731
В <script> стоит атрибут async?
>>850735
#69 #850735
>>850733
Неа
>>850737
#70 #850737
>>850735
Запили куда-нибудь.
Может, у тебя там что случайно вызывается?
>>850756
#71 #850743
>>850726
>>850727
И зачем это нужно? Твой код может либо выполниться, либо не выполниться
5 Кб, 333x142
#72 #850747
Посоны, помогите, пожалуйста.

Есть пример:
http://dnzl.ru/view_post.php?id=271
Он выводит элементарные два значения из БД.
Как эти значения можно вывести в виде таблицы?

Например две колонки, шапка и снизу два этих значения.
Когда вставляю HTML код, он не выводит вообще никаких значений.
>>850868
12 Кб, 300x300
Помоги ближнему своему #73 #850748
Привет. Если ты мастер или профессионал web - разработки, и у тебя есть свободное время и терпение слушать тупые вопросы тогда ты можешь мне помочь! Напиши сюда
>>850750>>850755
#74 #850750
>>850748
Иди в одну из конф
>>850751
#75 #850751
>>850750
какую ????
>>850752
#76 #850752
>>850751
В шапку загляни. Про слак не знаю, но в телеге тебе точно отвечать будут
>>850757
#77 #850755
>>850748
Ну давай, я весь внимание.
>>850761
#78 #850756
>>850737
Заметил, что если написать
$(window).on('load', alert('loaded'));, то все работает.
Но если написать
$(window).on('load',function () {
alert('loaded');
});

То сразу перестает.
Чоза хуйня?
>>850758>>850774
#79 #850757
>>850752
Спасибо добрый человек
#80 #850758
>>850756
Это пиздец, господа. Абсолютный, сука, пиздец.
Пошёл нахуй, говна кусок.
>>850760
#81 #850760
>>850758
Два чаю.
У меня уже не хватает эмоций в этих интернетах.
#82 #850761
>>850755
Сможешь обьяснить что такое Аксессоры и атрибуты свойств и побыть моим сенсеем на некоторое время ???
>>850764
#83 #850764
>>850761

>Аксессоры


Ну ахуеть теперь. Им теперь надо объяснять get-оператор.
>>850780
#84 #850774
>>850756
1. Ты вешаешь обработчик на событие onLoad. Оно выстреливает, когда страница совсем-совсем загрузилась, загрузились все скрипты, все стили, все картинки по 10Мб. Если тебе нужно событие готовности DOM, то в jQuery это $(document).ready
2. На самом деле твой
$(window).on('load', alert('loaded'));
нихуа не работает. Следи за руками:
alert - функция.
alert('loaded') - результат вызова функции с аргументом 'loaded' (вызов происходит в момент "первичного" исполнения скрипта, непосредственно после его загрузки).
Читани, что такое callback
>>850787
#85 #850776
Господа, как лучше реализовать кучу тоггл-ивентов в редаксе?
Например есть страница, там 5-10-20 статей с содержанием (изначально скрытым), тайтлом и кнопочкой, по нажатию на которую раскрывается содержание.
Подробно разжевывать не прошу, просто намекните, я тупой.
>>850779
#86 #850779
>>850776
3 строки на jQuery и в продакшн (обработчик вешается на контейнер офкорз)
Нахуй redux не нужен тут.
>>850782
#87 #850780
>>850764
я знаю что такое get
#88 #850782
>>850779
Действительно, пойду наебашу говна на жиквери в проекте на реакте с редаксом.
>>850784
#89 #850784
>>850782

>наебашу говна


>в проекте на реакте


А что, говно испортится от добавления говна?
>>850803
#90 #850787
>>850774
Да я понимаю. Я засунул весь свой код в on('load',), он работает, но опять же, не в фаерфоксе.
Затем я засунул функцию в рекурсивный setTimeout, который проверяет, загрузился ли jQuery.
Все заработало, но затем я убрал alert('Не работает') из случая, где jQuery не загрузился, перед запуском нового таймера и alert('Заработало') из случая, где он загрузился и попер мой код и код снова перестал работать., функция просто рекурсивно ждет и потом выполняется, jQuery не подключается при этом.
Затем я вставил алерт в удачный случай, ничего не происходит.
Но стоило поставить алерт в неудачный случай, как после вывода алерта из неудачного слуая все заработало как магия! Убрал - перестало работать. Вставил обратно - работает.
Чо
за
хуиня
>>850817
#91 #850788
Тупой кун ИТТ. Не бейте, пожалуйста.

Сидел я долго, сычевал, не знал, чем же мне заниматься в будущем. Вот, решил научится быдлокодить. Пробовал учить руби, но не пошло. Да и чувствовал, что не то учу.
Вот, подумал, что жаваскрипт — то, что надо.
Итак, я полный нуб, ньюфаг и лох.
Вот, взял я пару книг из фака. Начинаю читать и сразу же не понимаю, где мне пробовать писать код и смотреть на его результаты.
В руби когда пытался въехать, писал в текстовом редакторе с подсветкой кода, выполнялись "проги" в командной строке.

Реквестирую мини-гайд для совсем лохов и слоупоков: как начинать учить яваскрипт, что для этого требуется (в смысле книги, инструменты). Спасибо.
#93 #850803
>>850784
Я тебя понял, спасибо за дельный совет.
>>850805
#94 #850805
>>850803
Совет в том, что если уж начал купаться в говне - не бойся мыть голову поносом.
Удачи.
#95 #850817
>>850787
Выложи код куда-нибудь, на https://jsfiddle.net/, например
#96 #850836
>>850502
>>850528
Спасибо). Перешел на вебсторм.
#97 #850868
>>850747
скинь код свой, в котором не работает
#98 #850906
Привет аноны, я к вам с вопросом.
Например есть объект, мы хотим вывести в консоли все его содержимое.
var betman = {
firstname: 'Brus',
lastname: 'Wayne',
getAll: function(){ return this.firstname + ' ' this.lastname
}
Делаем for:
for (var prop in betman) {
console.log(prop + ":" + betman[prop]})
}
Вот так выводит что надо. Вопрос почему пишет undefined: undefined если поставить betman.prop? Ведь по сути это объект и мы можем достать его через точку? А с квадратными скобками кажется только массивы перечисляются. Или я запутался где то?
>>850907>>850908
#99 #850907
>>850906
плюс пропустил напечатать

>getAll: function(){ return this.firstname + ' ' + this.lastname

#100 #850908
>>850906
Во-первых, забудь блядь про for in
Во-вторых, у тебя в переменной prop название свойтсва в виде строки. Т.е. мы обращаемся не к самоу batman.prop а например к batman.firstname . prop == 'firstname'. И вот чтобы можно было обратиться мы и должны использовать типа вычисляемое свойство
>>850910
#101 #850910
>>850908
Что вместо for in использовать? Чем он плох?
>>850917
#102 #850917
>>850910
при for in нужно делать проверку hasOwnProperty, пушо оператор in тянет поля и из прототипа тоже.

юзай for of. вот этот итерирует нормально, базарю
>>850919>>851043
#103 #850919
>>850917
из какого прототипа, он тут пустой ведь
>>851041
#104 #850935
>>850788

> как начинать учить яваскрипт, что для этого требуется


Въебать мочи, сожрать говна.
#105 #850972
$(document).ready(function(){
$("#comment_list").on("click", ".reply", function(event){
event.preventDefault();
var form = $("#comment_form").clone(true);
if ($(this).children().find(form).size()) return $(form).slideToggle('slow');
form.find('.parent').val($(this).parent().parent().attr('id'));
$(this).parent().append(form);
});
});

Как клонировать объект только 1 раз? а то куча форм вылезает на каждый клик
>>850992
#106 #850988
Поясните, пожалуйста, ньюфагу о пользе Jquery, если она жрёт больше ресурсов чем обычный JS. Понятно, что некоторые вещи проще реализовать с помощью данной библиотеки, но есть ли явные преимущества?
>>850994>>851089
#107 #850992
>>850972
Нахуя тебе её клонировать? Перемещай под коммент при клике "ответить".
>>851063
#108 #850994
>>850988

>о пользе Jquery


Если ты из 2003 - годный способ найти что-то на странице.
Если ты из 2014 - годный способ сделать всё кроссбраузерно.
Если ты хуй клал на старые браузеры, то jQuery тебе нужна только чтобы брать некоторые функции из исходников.
#109 #850996
>>850788
Может быть тебе для начинала стоит начать с изучения html и css? А так, почитай learn javascript ru - тут хорошо разобраны основные моменты.
#110 #851002
>>850788

>как начинать учить яваскрипт


Как говорится в FAQ, начинать нужно строго с learn.javascript.ru - лучше учебника "с нуля" ты не найдёшь от слова совсем.

>что для этого требуется


>книги


Книги нужны будут когда выучишь основы. Тащемта, лично мне немного понравилась "JavaScript: Шаблоны".

>>что для этого требуется


>инструменты


Смотря под что будешь изучать.
Если это будет клиентский JS - тебе хватит годного браузера типа Огнелиса или на крайний случай Хрома. Хотя браузер сойдёт и на время изучения основ самого языка, до распределения на серверный и клиентский.
Если это серверный или прикладной JS - установи себе NodeJS и пользуйся консолью.
>>851007>>851036
#111 #851007
>>851002

>хватит годного браузера Хрома.



фикс
>>851009
#112 #851009
>>851007
Огнелис же лучше хрома в плане новых стандартов. По крайней мере, ES-стандартов.
>>851010
#114 #851011
>>851010
Хммм, и правда.
Когда я впервые услышал про const, фича уже была в FF, но отсутствовала в Хроме.
Когда тестировал деструктуризацию - тоже самое.
И стрелочные функции.

Ну и ладно, это хорошо.
#115 #851036
>>851002
клитор сцука, ты заипал уже пиарицца.
Учебников годных много, если человек не может в англ, то тут уже ни какие твои учебники не помогут.
>>851038
#116 #851038
>>851036
А нахуя ему читать учебники на английском, если есть нормальные альтернативы?
Это как вместо MDN и е.п. полностью читать документацию к фиче ради порядка параметров.
#117 #851041
>>850919
Во первых не пустой. У объекта созданного литералом {} аж целых два протопипа по умолчанию, как минимум! это null и Object.prototype

Во втоорых, уверен ли ты, что в рантайме в котором ты будешь запускать скрипт, цепочка прототипов не изменена и объекту Object.prototype не подсунуты ПЕРЕЧИСЛЯЕМЫЕ свойства? или что между Object.prototype и null в цепочку не вставленна еще сотня другая объектов?

Во-вторых, тот анон забыл сказать, что из цепочки прототипов вернуться только перечисляемые свойства. Свойства с аттрибутом enumerable:false не вернуться. Собственно, они и из твоего объекта
не вернуться, если они не перечисляемы.

Еще, для получения имен свойств объекта (как всех, так только перечисляемых), есть специальные методы Object.keys и Object.getOwnPropertyNames.
#118 #851043
>>850917

>оператор in тянет поля и из прототипа тоже


Будто что-то плохое. Не нравится - делай numerable: false в дескрипторе, блять!
#119 #851063
>>850992
Она же тогда исчезнет снизу, не? Мне нужно, чтобы она и с низу оставалась, и под комментом.
>>851064>>851067
#120 #851064
>>851063
Тогда клонируй сразу в .ready(), если она точно понадобиться.
#121 #851067
>>851063
Создай ее клон заранее, и помести в нужное место с display:none, а в обработчике просто показывай ее, когда надо.
#122 #851089
>>850988
Обертки для всего и вся. Удобный ajax, теперь и в промисах. Короткий в записи и быстрый поиск через разные селекторы.
28 Кб, 728x620
#123 #851099
Вот, запаковал в класс функционал загрузки js плагинов, с возможностью подгрузки при добавлении нового файла в папку.

// инстанцируем класс
const pluginLoader = new PluginLoader('plugins');
// загружаем плагины
pluginLoader.preLoad(console.dir);
// включаем хотлоад
pluginLoader.hotLoad(console.dir);

ХЗ, правда, зачем я это сделал, но работает как надо.
>>851103>>851130
#124 #851103
>>851099
А ты неплох. Запили на GitHub потом.
#125 #851111
Есть таблица. В цикле for надо пройтись по строкам и найти в каждой вторую ячейку, чтобы в дальнейшем добавить туда hrml-код методом append().

Ищу так $('tbody tr') строку на каждой итерации, как дальше, средставами jQuery (без getElementsByTagName) найти вторую ячейку в этой строке?
>>851116
#126 #851116
>>851111
Я вас презираю.
>>851118
#127 #851118
>>851116
Давай, по делу говори. Each не подходит, если что.
#128 #851130
>>851099
А Object.values не поможет сократить код в методе callPluginMethods?
>>851140
#129 #851131
>>851129
Одно дело, когда приходят за помощью в неочивидных вещах, или для понимания каких-то принципов. Другое, когда, блядь, спрашивают о том, что гуглится быстрее, чем ожидание ответа итт.
>>851132
479 Кб, 1626x1714
#130 #851132
>>851131
Смотри манямирок не сломай, искатель.
>>851136>>851137
#131 #851136
>>851132

> 2016


> Гуглить на русском


Проиграл.

> Найти третий элемент таблицы


Да ты и на русском гуглить не умеешь.
#132 #851137
>>851132
Да ты конченый просто.
Иди учи css селекторы, мудак.
>>851138>>851191
43 Кб, 804x422
#133 #851138
>>851137
Еще что посоветуешь?
#134 #851140
>>851130

>Object.values


Я только после твоих слов вспомнил, что пора обновить ноду.
Но даже последняя стабильная поддерживает O.values() только с флагом harmony.
#135 #851141
>>851138
Посоветую убиться головой о стену, если ты до сих пор не умеешь составить css селектор, который сразу тебе выберет все вторые ячейки каждой строки таблицы.
>>851191
#136 #851142
>>851138
Может стоит задуматься что что-то не так?

http://jsbin.com/lutawaliji/edit?js,output

мимо
>>851158
#137 #851143
>>851138
ОЧКО РАЗРАБОТАНО
45 Кб, 1644x724
54 Кб, 1458x654
#138 #851148
>>849864 (OP)
Дратути!
Абсолютно не шарю в вебе, но очень нужно маленькую задачку решить, какзалось бы, такую простую, но такую сложную для незнакомого с вебом.

Допустим, имею ссылку в 1С на судебное дело на сайте arbitr.ru, например, http://kad.arbitr.ru/Card/f751e0b7-5cf8-4c10-9843-4f02c640120c . Нужно нажать на странице этой ссылки на кнопку "Электронное дело" , и скачать (по сути получить ссылки на) все pdf'ы из появившегося списка. То есть, имея ссылку на судебное дело, нужно получить ссылки на все pdf'ы из него

Адрес страницы, зараза, при этом не меняется, иначе проблемы бы не было, я бы просто в html-коде нашёл алгоритмом ссылки на pdf'ы.

Помогите пожалуйста, чем могёте.
>>851151>>851161
#139 #851151
>>851148
CasperJS
>>851155
#140 #851155
>>851151
Мне уже дали совет типа автоматизировать действие - кликнуть на кнопку. Но это, выяснилось, означает, что прямо перед глазами пользователя запустится бровзер, там что-то будет происходить, а мне бы очень хотелось без запускания бровзера, как бы запросом к базе на сервере чтоли, где эти pdfы хранятся, или к сайту, что-то типа как тут:
https://toster.ru/q/284736
http://infostart.ru/public/527228/

Возможно ли прямо из 1С post-запросом или типа чем-нибудь таким? CasperJS ведь запустит бровзер перед глазами юзера?
>>851159>>851162
#141 #851158
>>851142
И как я добавлю туда РАЗНОЕ? Нельзя же запихнуть в аппенд массив, прокручивающийся однорвеменно с селектором.
>>851160>>851163
#142 #851159
>>851155

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


PhantomJS, тащемта, headless.
#143 #851160
>>851158
Пиздец товарищи.
>>851191
#144 #851161
>>851148
Анон, помогите тестануть функцию для определения JSON:

> https://jsfiddle.net/qqxocwyp/


. По мере допиливания буду кидать сюда новые ссылки.
Сейчас интересует вызов типа

> '123'.isJSON();


, ибо только-что попробовал написать регулярку для определения цифр в JSON-формате. Кажется, получилось, ибо мои тесты она прошла.

Анон, протестируй функцию, желательно пока-что с ударением на цифры. Если что не так - пиши :з
>>851169
#145 #851162
>>851155
Раз тебе уже известно API, то в чем проблема сгенерировать ссылки на пдфки?
>>851170
#146 #851163
>>851158
КУРСЫ сука. Он проходил КУРСЫ.
КУУУУРСЫ.

Наглядный пример квалицифкации специалистов от КУРСОВ
#147 #851165
>>851163
Каких специалистов? Я вообще первый раз в jquery столкнулся, потому что в ебучем tampermonkey то, что мне надо сделать, средствами жаваскрипта не будет работать.
>>851168>>851175
#148 #851167
>>851163
Двачую этого.
#149 #851168
>>851165

>в tampermonkey


>не будет работать


>средствами жаваскрипта

>>851176
#150 #851169
>>851161
Случайно ответил.
#151 #851170
>>851162
Нет, единственнное что мне вебщик с зп 145К сказал - на питоне автоматизируй
Точная фраза: "питон, селениум, пип - и вот тебе счастье для написания парсера"
API я не знаю, и Питон не знаю:(
#152 #851171
упс

Анон, помогите тестануть функцию для определения JSON:

> https://jsfiddle.net/qqxocwyp/


. По мере допиливания буду кидать сюда новые ссылки.
Сейчас интересует вызов типа

> '123'.isJSON();


, ибо только-что попробовал написать регулярку для определения цифр в JSON-формате. Кажется, получилось, ибо мои тесты она прошла.

Анон, протестируй функцию, желательно пока-что с ударением на цифры. Если что не так - пиши :з
#153 #851175
>>851165
Ты ведь настолько тупой, что даже не можешь понять, что ты тупой.

То есть вот в твоем стартовом сообщении, ты СУМЕЛ как-то пройтись по коллекции выбранных тобою строк, и спрашивал,к ак в кажой выбрать вторую ячейку.
За тебя, блядь, написали тебе селектор, которыцй сразу тебе дает все вторые ячейки. Но ты настолько ТВЕРДОЛОБЫЙ ИДИОТ, что не можешь пройтись по ним так же, как проходился по строкам, которые выбирал сам в начале. Ты даже название метода блядь знаешь и сам его писал выше.

Скажи, как ты живешь таким?
>>851186>>851191
#154 #851176
>>851168
Ну вот, например, создают две одинаковые кнопки:
$('#form').append('<button type="button" class="select" id="myButton">Выделить</button>');
document.getElementById('form').innerHTML+='<button type="button" class="select" id="myButton">Выделить</button>';
$("#myButton").click(checkAll);

Одна будет работать, вторая - нет.
#155 #851177
>>851176
АХАХХАХАХХАХАХХАХАХАХАХАХАХАХАХ
>>851191
#156 #851179
>>851176

>tampermonkey


>не уметь в @require


Ты такой дебил, что просто пиздец. Иди нахуй отсюда, блять, средний IQ по треду падает.
>>851184
#157 #851180
>>851176
Сука, дай мне ссылку на свои курсы. Дай мне молю.
>>851186
#158 #851183
>>851176

>innerHTML+=


У меня глаз от тебя дёргается.
>>851456
#159 #851184
>>851179
Какой require когда он по id пытается выбрать два элемента.
>>851186
#160 #851186
>>851175
Селектор выбирает все ячейки, таким образом, решение, предложенное аноном с моим циклом будет на каждом шаге к каждой втрой ячейке прибавлять что-либо.

>>851180
По ксс-селекторам? html academy.

>>851184
$("#myButton") будет только на один элемент действовать?
>>851188
#162 #851189
>>851188
но у jq есть each
>>851190
#163 #851190
>>851189
Ну блядь не знаю я что там у jq есть. Я на ванилле всегда писал
>>851194
#164 #851191
>>851188
Ага, селектор тоже как массив можно, спасибо.

>>851137>>851141>>851160>>851163>>851175>>851177
А ты свою мамашу об стену уеби, только срать в тред и можешь, клоун. Надеюсь, у тебя просто был тяжелый день в школе, и да, научись читать, ебаный даун, я просил без each.
#165 #851192
>>851191
Пожалуйста. Я ответил, чтобы ты только ушел наконец
>>851193
#166 #851193
>>851191
>>851192
А, ну и да забыл добавить. Для tampermonkey я писал тоже пару вещей на ванилле. Не знаю нахуй там jq
#167 #851194
>>851190
Нахуя тебе тогда $ и append если на ваниле. То и пиши на ваниле.
>>851197
#168 #851195
>>851191
Ты такое ничтожество, что мне тебя даже жаль.
#169 #851197
>>851194
потому что этому телу надо было именно на jq блядь. Написал бы я ему нормально - он бы сказал: "Но я же просил на jq, сука"
#170 #851214
анон, тут недавно постили ссылку на вебтолкс в дискорде,поделитесь плз, найти не могу
#171 #851225
Поясните за замыкания, позязя, только доступно, если можно, на пальцах, для даунов, или ссылку, где можно просветиться на сей счёт
#172 #851235
>>851225
замыкание - функция, которая видит только аргументы той функции, в которой она живет.
>>851279>>851288
#173 #851246
>>851225
Зачем тебе вообще программирование, если ты даун? На learn.javascript.ru всё разжевали, уёбывай.
>>851249>>851279
#174 #851249
>>851246
клитор, пшел вон пес!
Лучше бы по существу отвечал, чем пиарил свою помойку
>>851252>>851277
#175 #851252
>>851249
Ты со своим клитором уже заебал

мимо
#176 #851261
Кто-нибудь что-нибудь знает об этом?
http://boot2webkit.org/
>>851276
#177 #851276
>>851261
http://meta.nuanti.com/
В гугле что ль забанили?

> Nuanti announces Boot2WebKit Operating System initiative

#178 #851277
>>851249
Ты тут конкретно всех уже доебал, что он тебе сделал. на деньги кинул?
#179 #851279
>>851235
>>851246
Спасибо.
В общих чертах конечно понятно, что замыкания — функция, которая получает ссылку на функцию, в контексте которой была создана, вместе со всеми её аргументами, но когда доходит до конкретных примеров реализации — понимаешь, что нихуя не понимаешь.
Ну да ладно, и на том спасибо
>>851289
91 Кб, 1413x565
#180 #851288
>>851235
Любая функция будет видеть аргументы функции, в которой она объявлена. Тут дело не в специфичности в области видимости переменных в жс, а в сохранении контекста функции после ее вызова и возможности доступа к нему.

>>851225
Если ты и вправду даун, то изучение у тебя займет довольно много времени. Замыкания это средство для инкапсуляции, причем не сильно удобное и понятное. В ES6 есть средства которые делают это лучше. Пока ты будешь разбираться со всякой хуетой она уже морально устареет.
#181 #851289
>>851279

> которая получает ссылку на функцию


Не совсем. Поиск переменной идет вверх по уровням областей видимости. Если ты обращаешься к переменной, которая обявлена во внешней функции, то эта переменая остается доступна даже тогда, когда ее функция уже отработала.
>>851298>>851361
#182 #851298
>>851289
А еще есть скомпилированные блоки кода с возможностью выполнить их в кастомном контексте.
#183 #851333
>>851288

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


Ты предлагаешь ему писать на JS, не понимая замыканий и контекста вызовов? Может ты ещё скажешь, что прототипы изучать не нужно, ведь есть ES6? По-моему, если у человека туго с мозгами, то пусть не лезет в программирование. Другим программистам меньше говна разгребать.
>>851360
#184 #851360
>>851333
Классы в шестом проще чем прототипы для новичка, кстати.
>>851437
#185 #851361
>>851288
>>851289
Ещё раз спасибо. Статью на хабре ещё нашёл — в башке начинает проясняться, вроде. Ещё где-нибудь почитаю про замыкания
10 Кб, 322x447
#186 #851388
Аноны, почему не работает замена строки?
>>851403>>851404
#187 #851403
>>851388
Ебать дибил, просто пиздец.
Скажи мне, что ты троллишь, прошу..
строки - примитив, .replace возвращает новую строку
#188 #851404
>>851388
Куда ты в buffer'ы лезешь, сука, без основных знаний?!
>>851410
#189 #851410
>>851404
У него жеж буфер - это просто именование функции, а не истинно арийский Buffer.

Misleading название, согласен, что-нибудь типа clipboard лучше бы подошло.
#190 #851437
>>851360
Нифига, полностью как работают если новичек - хер проссышь, пока с прототипами не уяснишь
#191 #851441
Считается ли зашкваром использовать ассерты в продакшн коде для верификации данных (например, респонсы по запросу к АПИ)? Или ассерты используют строго в коде для тестирования?
>>851442
#192 #851442
>>851441
Да, это зашквар. В продакшене нужно юзать нормальный хендлер ошибок
#193 #851446
анон, что скажешь по backbone.js?
Насколько прост в освоении?
Какая инфа по нему более толковая?
>>851453>>851495
#194 #851452
Поясните, какие альтернативы помимо js'a есть для React Native? Интересуюсь этой технологией, но на джсе писать не хочется.
>>851458
#195 #851453
>>851446
Но он же уже устарел.
#196 #851456
>>851183
Что не так? Все же работает норм.
>>851461
#197 #851458
>>851452
Иди пиши на джаве приложеньки
>>851460
#198 #851459
Аноны, помогите разобраться. Я совсем нуб в этом.
https://ideone.com/0XIC91
>>851478
#199 #851460
>>851458

>для React Native

>>851462
#200 #851461
>>851456
иди читай заново Кантора или Клитора как говорил заебавший всех анон
Но поскольку тебе будет скорее всего лень лови ссылку. Только читай внимательно
http://learn.javascript.ru/basic-dom-node-properties#innerhtml-содержимое-элемента

мимо
#201 #851462
>>851460

>React Native


> не JavaScript

#202 #851478
>>851459

> помогити, я даже не пытаюсь что-то понять


Ищи программиста и плати ему, в чём проблема?
#203 #851482
Хочу вкатиться в android dev, с чего начать? Могу в ванильный JS(back:node+sails/front: jquery, в сторону фремворков некогда смотреть было, не думаю что сложно), так же могу в php.
>>851490>>851492
#204 #851490
>>851482
Посмотри Ionic, неплохая штука.
>>851499
#205 #851492
>>851482
Ну ясен пень от javascript не избавиться,но если использовать языки компилирующиеся в него?
>>851500
#206 #851495
>>851446
Хороший фреймворк особенно для тех кто еще не работал с фреймворками. Не слушай мамкиных диванов в этом треде, на нем все то пишут проекты, он все то обновляется (20 дней назад судя по гитхабу).
Самое забавное, что все вкатывальщики бросились сейчас за реакт, хотя толком ни жс, ни другие фреймворки не знают и даже понятия не имеют как там все работает и почему.
>>851501>>851502
#207 #851499
>>851490
Смотря какой Ionic, Ionic Native очевидно лучше, из-за производительности. Правда не знаю, на какой стадии он сейчас находится. Еще React Native, самый мейнстрим.
#208 #851500
>>851492
Так открой список языков, компилирующихся в жс, отфильтруй те, которые тебе не нравятся, а для оставшихся поищи $langName + react-native.
#209 #851501
>>851495
Вангую, через пару лет всех заебут горы фреймворков и библиотек и все перейдут на Elm, Purescript и подобное.
#210 #851502
>>851495
Не надо говорить за всех, окей? Самого раздражает когда люди толком не научились писать на ванилле, но лезут во фреймворки. Но вот чтобы садиться за реакт вообще не обязательно разбираться в том же бэкбоне.
>>851675
#211 #851503
>>851501
Языки и библиотеки/фрейморки — понятия ортогональные. В любом языке найдется хотя бы два стула. В PureScript есть Pux, React и Halogen — на какой сам сядешь, на какой вкатывальщика посадишь?
#212 #851553
>>851501
Пиздец ты хипстор.
Сам-то на Эльме пишешь или просто выебнуться решил, мол, "смотрите какой я нихуево прогрессивный, на блидинг эдже технологий нахожусь, а вы все быдло"?
>>851804
#213 #851556
>>851501
"за" -- во многих зарубежных вузах computer scienceты изучают little shemer и sicp, а также трогают хацкель.

Но функциональнщина это дело такое, не всем по душе. Скорее уж webassembly придет и порядок наведет.
>>851576>>851577
#214 #851576
>>851556

>Скорее уж webassembly придет и порядок наведет


Лет через 10
#215 #851577
>>851556
Только как он наведет порядок? Браузерное API принципиально не поменяется, ассемблер даст лишь некоторый прирост в скорости, который не повлияет на то, как ведется разработка.
Для использования иных языков в вебе уже все есть.
#216 #851594
Пацаны, объясните для тупого почему в первом случае контекст вызова привязывается, а во втором - нет, ведь порядок выполнения: 1) логическое выражение, по которому возвращается выражение для true, 2) вызов метода объекта user через оператор точка, при котором по идее и происходит привязывание контекста.

Или же почему первый вариант тогда срабатывает?
http://plnkr.co/edit/Ja7DvpRqcZACSE7Nsisw?p=info
>>851604>>851605
#217 #851604
>>851594
Ой всё, лол. Надо было дорешать все задачи до конца. Короче, если внутри скобок находится вызов метода объекта, то скобки как бы ничего не решают, если под скобками иное выражение, вроде тернарного оператор, то контекст вызова не сохраняется. Часть спецификации, нужно просто принять.
Хуево зделоли на мой взгляд, не знаю где это может пригодиться, больше похоже на ляп проектирования.
>>851612>>851620
#218 #851605
>>851594
Интересный вопрос, пришлось лезть в стандарт.
Краткая суть: синтаксисически "выражение" и "(выражение)" являются равноценными.
Если интересно, можешь найти описание PrimaryExpression в ECMA-262.
#219 #851612
>>851604
В пятой версии есть пояснение:

>The principal motivation for this is so that operators such as delete and typeof may be applied to parenthesised expressions.


Почему это нужно для delete понятно. Почему без этого не должен работать typeof мне не ясно.
#220 #851620
>>851604
И в чем тут ляп? Есть референс, пока он не ресолвится - контекст не теряется. Вроде все норм.
#221 #851628
Один хуй здесь дохуя верстальщиков а в /web/ все мертво
Поясните, флексбоксы все еще зашквар юзать или уже можно?
IE8 без поддержки, 11 с багами.
>>851630>>851631
#222 #851630
>>851628
У верстальщиков свой загон в воркаче.
#223 #851631
>>851628

>уже можно


нужно

Верстало-фронты в wrk сидят кстати
#224 #851645
Сап. Допустим есть файл, который в данный момент не доступен по указанному url, но скоро там появится. Нужно редиректнуть страницу на него как только это произойдёт.
Пробовал делать через XMLHttpRequest:
var check = new XMLHttpRequest();
check.open('GET', url, true);
check.onreadystatechange = function() {
if (check.readyState == 4) {
if((check.status == 200) || (check.status == 0)) {
document.location.href=url;
check.send(null)
}
}
};
check.send(null);

Но вот только эта асинхронность ёбаная не работает нихуя. А синхронный вариант работает, но он deprecated. Как можно запилить периодические проверки до момента когда документ по url станет доступен?
58 Кб, 760x670
#225 #851655
Привет о великий мастер. Такой вопрос я вроде бы изучил основы js но писать программы так и не научился вроде бы нашел какие то левые упражнения, но вот не пойму как начать их решать. Если ты адыкват то ответь что мне делать. Заранее спс !
>>851659>>851664
#226 #851659
>>851655
Иди на codewars и решай задачи. Если придумал решение, оно проходит тесты, значит решил задачу.
>>851680
#227 #851664
>>851655
Что в твоем понимании "изучил основы js"?
>>851682
#228 #851669
>>851501
Ну тут ты загнул. Хаскель и лисп никуда не денутся и проекты на них будут, но жс скорей всего пойдет в сторону ооп, т.е type script.
#229 #851675
>>851502
Ты епанутый сцуко((
Для того чтобы писать хуйню на реакте/первом ангуляре вообще можно жс не знать. Просмотреть мельком клитора как местные долбоебы делают и идти устраиваться разработчиком реакта, лол. Хули, есть стаковерфлоу и оттуда копипасть ума не надо.
#230 #851678
>>851675
а, так это ты то чмо с клитором. ну-ну
>>851697
#231 #851680
>>851659
бля он же на англ....
>>851689
14 Кб, 319x331
#232 #851681
>>851675
Какой смысл первого ангуляра сейчас?
Хочу сделать себе админку для джангопроекта через rest на реакте.
>>851697>>852601
#233 #851682
>>851664
на подобе что такое функции и т д
#234 #851683
>>851682
И что же такое функции?
488 Кб, Webm
#235 #851684
>>851682

>функции


>и т.д.


и т.д.
>>851686>>851687
#236 #851686
>>851684
Под "т.д." он, вероятно, подразумевал ооп.
>>851682
С таким багожом можешь сразу работать идти, в процессе доучишься.
>>851675
Товарищ, как бы, намекает
#237 #851687
>>851684
пшшш ясно блять..
#238 #851688
>>851682
Бери учебник и занимайся по нему нормально. того же Клитора, тьфу, Кантора или еще какой-нибудь с упражнениями. Можешь задачки порешать как тебе уже советовали. Ты судя по всему еще ниче и не знаешь толком.
>>851690>>851693
#239 #851689
>>851680
Ты охуел? А ну быра англ учить, маленький ты говна кусочек! в google translate переводи
>>851691
#240 #851690
>>851688
ну расскажи что я должен знать чтобы уже норм писать код ????
#241 #851691
>>851692
#242 #851692
#243 #851693
>>851688
так то я у него и учусь вот там я и основы прошел js. Недавно открыл data чтобы посмотреть что да как, после этого как ты знаешь есть задания которые я низуя не решил ну только легкие....
#244 #851697
>>851678
мамко твоя чмо с клитором..
>>851681
все то поддерживается, куча проектов на нем, которые не торопятся переписывать на вторую версию, все вопросы по нему уже отвечены
#245 #851703
>>851645
Бамп
>>851756
#246 #851728
>>851645
Я новичок, и ещё не дошёл до всяких промисов(хз подходит он тебе или нет), но из того, что уже прочитал может попробуешь через setInterval проверять? Ну или рекурсивный setTimeout?
>>851755>>851787
#247 #851729
посовету годного чтива по nodejs, а то надоели поверхностные видео курсы
>>851731>>851937
#248 #851731
>>851729

>посоветуй

>>851937
#249 #851755
>>851728
Я мартышка, я только на jQuery умею. Попахивает ебаными костылями, но по идее таким образом можно пингануть че угодно.

https://jsfiddle.net/7zex9b3f/

А что пишет по поводу асинхронного XMLHttpRequest ? Оно же не просто так не работает?
>>851756>>851787
#250 #851756
#251 #851774
>>851645
простой способ - это заюзать таймер. Если у тебя есть доступ к серверу, то наверное можно лонг пулинг на клиенте сделать.
>>851787
#252 #851787
>>851755
>>851728
>>851774
Всем спасибо. Иногда бывает полезно почитать доки. Асинхронно у XMLHttpRequest на один запрос приходит только один ответ, т.е. onreadystatechange срабатывает только при смене readyState на 4, что происходит один раз за запрос. Когда разобрался сделал функцию, которая через setInterval() раз в 30 сек делает .open() и .send().
Если кому интересно - вот код http://pastebin.com/H9s9dF1P
>>851803
#253 #851803
>>851787
onreadystatechange срабатывает не только на 4, а на стейты 0-4 (т.е. эвент сработает 4 раза, просто ты в скрипте ловишь только стейт 4, которая сигналит за конец запроса)
>>851817
#254 #851804
>>851553
Я его только учить начал, прикольная штука, рекомендую, очень простой и понятный язык.
Еще собираюсь освоить Progressive Web App, буду на блиндинг эдж технологиях, а вы все быдло.
#255 #851817
>>851803
Ну я просто сначала думал что оно срабатывает не на .readyState, а на .status и при этом мониторит его непрерывно, а не один раз после подключения.
#256 #851818
Привет, анон.
Как из числа получить массив чисел? Например, есть 123, а получаем [1,2,3]. Пробовал split но почему то не работает на числах. Array.from выдает [] пустой массив.
>>851824
#257 #851824
>>851818
Прямо буквально на числах не работает?
зато вот так работает:
(12345).toString().split('')
>>851836
#258 #851836
>>851824
Я хочу сложить сумму чисел числа, для этого и хотел массив. Если с toString складывать то вместо 6 (1 + 2 + 3) получится "123"
>>851844
#260 #851850
>>851844
на тебе еще заумной магии:
(12345).toString().split('').map((x) => +x);
>>851856>>851947
#261 #851853
тут кто-то делился ссылкой на web -talks в discord, можете инвайт кинуть ?
#262 #851856
>>851850
ага сяпки, докастую дальше сам)
>>851892
7 Кб, 256x197
#263 #851866
Всю "литературу" до ES6 можно смело игнорировать?
>>851935
#264 #851892
>>851856
Не-не-не. Докастовывать не надо.
Прочитай про приведение типов и делай сумму цифр чисел тем методом, которым собирался изначально.

Выебываться и решать в одну строчку потом будешь.
#265 #851893
Ничего не пропустил?

UI ->
mapDispathToProps(dispatch) ->
Action ->
{ middleware enhancers } ->
{ type: CONST, payload: {} } ->
Reducer ->
{ rootReducer } ->
Store ->
{ state } ->
mapStateToProps(state) ->
this.props ->
const { reducer } = this.props ->
UI
#266 #851935
>>851866
Обычно литература по ES6 базируется на прошлых версиях ES и поясняет за изменения. Если найдешь литературу с нуля поясняющую за ES на основе ES6, то да, в принципе можно игнорить, но стандарты я советую всё же прочесть, чтобы понимать что/как и почему именно так
#268 #851947
>>851850
Так ведь reduce вместо map b ltkj c rjywjv/

Только вот обострется оп, когда заебашит таким образом число с переполнением.
>>851954
#269 #851954
>>851947
Да, reduce, нужен.

Но не было вопроса как посчитать сумму с помощью метода массива, был вопрос как получить массив цифр числа trollface

И вряд ли работа с экстра большими числами в JS такая частая ситуация. Ну... по крайней мере на фронте.
>>851985
#270 #851957
>>849864 (OP)
ребзя, такой вопрос.
они тут всё усложняют и в любом языке можно найти столько, эээ, тонкостей, или на самом деле всё так?
https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f#.qs3x3of86
#271 #851962
>>851957
Не читай подобных хуесосов.
Они зачем-то перечисляют кучу технологий, чтобы создать видимость беспорядочности и сложности. Им, видите ли, не нравится, что есть выбор среди нескольких инструментов для одной задачи.
#272 #851981
>>851957
В любом языке есть простое ядро, которое можно выучить за час. Этого ядра достаточно, чтобы писать рабочий код.
В то же время, в любом языке есть куча инструментов, которые позволяют не просто писать код, а делать это продуктивно.
И никто не говорит, что для всякого проекта требуется обмазываться всеми технологиями сразу. Для пары кнопок хватит jQuery. Проект становится сложнее — усложняется и стек. Это происходит в любом языке.
И зачем я злоупотребляю квантором всеобщности?
>>852303
#273 #851985
>>851954
Я же не про экстра большие числа как таковые, а про его ебанутое жедание, получать массив чисел именно из числа, а не из строки например.

С определенного момента число с большим количеством знаков у него не приведтся к строке, как он этого будет ожидать, там будет экспонента
>>851992
#274 #851992
>>851985
Ну кстати если стоит задача посчитать цифры числа, то форма записи не сильно принципиальна, так как E23 - это всего лишь 1 с 23 нулями. То есть нужны цифры до "е" единичка после.
Но таки да - одним приведением к строке уже не обойдешься.
>>851994
#275 #851994
>>851992
*посчитать сумму цифр.
#276 #852024
Блять, пытаюсь осилить дом на лернджаваскрипт. Как же туго заходит, это пиздец. Есть ли годные материалы по этому разделу? Можно в виде видео.
>>852027>>852045
#277 #852027
>>852024

>Блять, пытаюсь осилить дом на лернджаваскрипт


Но зачем, лол.
Пусть манипуляциями с домом займется Реакт лучше сразу приучать себя мыслить в компонентном ключе, а ты сконцетрируйся на логике работы своего приложения.
>>852045>>852049
#278 #852045
>>852024
Вот этот >>852027 дело говорит. Я тебе вообще советую записываться на курсы по жс (наверху нажми на курсы). Начни с базового, потом возьми по реакту или ангуляру. Сейчас запустили курс по второму ангуляру. Если пройдешь первую часть и курс по тайпскрипту, то получишь скидку 3 тысячи.
>>852066
#279 #852049
>>852027

>Пусть манипуляциями с домом займется Реакт


А рефакторингом всего кода после тебя для серверного рендеринга - Вася. Или СЕО нинужна.
>>852050>>852228
#280 #852050
>>852049

>Или СЕО нинужна


Exactly. Етаму миру не хватает человеко-ориентированного контента. SE-optimised говна уже наелись, спасибо.
#282 #852228
>>852049
Для серверного рендеринга манипуляции с домом тем более не нужны.
Для нормального компонента просто делаешь renderToString, добавляет дегидрацию/регидрацию — и никакой рефакторинг не требуется.
>>852235
#283 #852235
>>852228
Поясните что за серверный рендеринг? Это типа бекенд не нужОн?
#284 #852273
>>849864 (OP)
подскажите годные библиотеки наподоби typescript, чтобы и на жс писать и опп использовать нормальный
>>852284>>852287
#285 #852284
>>852273

>typescript


>опп


Блять, иди нахуй!
#286 #852287
>>852273
Кроме Mootools нет ничего, что ООП реализует. А, ну redux еще в плане отправки сообщений.
#287 #852300
Привет, ананасы.
Вы - моя последняя надежда.

Такая проблема, есть выпадающее меню, реализованное с помощью hover display:block. Проблема в том, что на мобильных девайсах меню появляется если тапнуть по нему (указателя мыши то нет). И не исчезает если не тапнуть по любой другой области страницы. Хотелось бы, чтобы по тапу на любом из пунктов меню - оно таки исчезало (ссылки на якоря, страница не перезагружается). Но для настольных платформ с мышью, оно продолжало реагировать на наведение курсора.

Как это это можно реализовать?
>>852302
#288 #852302
>>852300

> чтобы по тапу на любом из пунктов меню - оно таки исчезало


Так и делать.
>>852306
#289 #852303
>>851981
Посмотрел бы я на тебя, как ты ядро плюсов за час выучил.

Да что там ядро, хотя бы синтаксис и семантику.
>>852345
#290 #852306
>>852302
Ты имеешь ввиду обработчик onclick? Но тогда оно не будет появляться при наведении на нее курсора, после первого клика.
>>852310
#291 #852310
>>852306
Это еще почему
>>852315
#292 #852315
>>852310
css:
.nav:hover {display: block}

js:
document.getElementById('nav').onclick = function() {
var elems = document.querySelectorAll('.nav li');
for (var i = 0; i < elems.length; i++) {
elem =elems;
elem.style.display='none';
};
}

Как решить данную проблему?
>>852317>>852319
#293 #852317
>>852315
быстрофикс .nav li:hover {display: block}
#294 #852319
>>852315
Ну-ка запили вместе с куском разметки своего меню на какой-нибудь нормальный сервис
>>852331
#295 #852324
>>849864 (OP)
Господа, как сделать так чтобы после нажатия кнопки страница обновлялась?
Ну например я ввожу что-нибудь в строку, жму далее, на том же экране следующее поле и тоже кнопка далее, одностраничное приложение типа. Подскажите, если не сложно. Гугление пока ни к чему не привело.
#296 #852326
>>852324
Господа, как сделать так чтобы моя копейка могла ездить от электричества?
Ну например я еду такой по трассе, у меня заканчивается бензин, а по близости только электрозаправки и я могу запитаться от них и ехать дальше, электромобиль типа. Подскажите, если не сложно. Гугление пока ни к чему не привело.
#298 #852334
>>852326
Ты очень плохой человек.
>>852406
#299 #852341
>>852326
лол
#300 #852345
>>852303
Ядро плюсов — это функции, указатели и классы. Если ты совсем нюфаг, ни за час, ни за 21 день ты их конечно не изучишь, но если ты уже умеешь создавать работающие программы — написать первый факториал сможешь за 20 минут.
STL — это уже jQuery. Boost — это уже lodash, Qt — это уже Angular; темплейты и прочие плюшки языка — это уже магия. Ядро цэпэпэ не включает в себя весь стандарт.
sage #301 #852353
>>852324
Ну блять, ты хоть javascript-то знаешь?
>>852355
#302 #852355
>>852353
А ты сам-то знаешь?
>>852375
#303 #852360
>>852324
location.reload()
Не понял только зачем тебе обновлять страницу если нужно только обновить отображаемые данные после нажатия кнопки?
#304 #852361
>>852331
https://jsfiddle.net/9z53w2nn/
Если я правильно понял то, что тебе нужно.
>>852365
#305 #852365
>>852361
Почти, нужно чтобы меню продолжало реагировать на наведение курсора. Как совместить onclick и mouseover/mouseout(:hover)? Может быть определять девайс юзера, и для мобильных использовать обработчик onclick, а для настольных (с мышью) mouseover/mouseout(:hover)?
sage #306 #852375
>>852355
Не меняй тему разговора! Сейчас мы говорим не о моём незнании.
>>852377
#307 #852377
>>852375
И не о моём. Я вообще мимо проходил, решил поинтересоваться
>>852393
#308 #852391
>>852326
Лучше бы ты в самомнении был такой ограниченный.

>>852324
Тебе вот такое нужно?
https://codepen.io/anon/pen/vXdAra/

Вот статья про эту идею:
https://www.smashingmagazine.com/2015/12/reimagining-single-page-applications-progressive-enhancement/
>>852399>>852406
sage #309 #852393
>>852377
Загугли события js и как менять стили с помощью js. Как это применить, чтобы решить твой вопрос я надеюсь у тебя хватит воображения.
Не вздумай делать кучу маленьких страничек с одним полем и кнопкой, иначе один южноафриканский котик умрет.
sage #310 #852399
>>852391
Круто, про такое: #id:target
не знал.
#311 #852406
>>852391
Спасибо, но я написал только оригинальный вопрос и вот этот >>852334 пост, остальное - шуточки мимокрокодилов.
Если что - делаю тестовое задание на червя-пидора-стажера-php, в числе прочих задач просят и одностраничное приложение сделать хоть просто на js хоть с фреймворком. А я js даже не касался в своем самообучанстве, поэтому гуглю.
>>852417>>853230
sage #312 #852417
>>852406
Пиздец блять халява, завидую.
>>852421
#313 #852421
>>852417
Что именно? Что мне готовую программу написал антоша или php?
>>852428
sage #314 #852428
>>852421
Что можно рандомное js говно впарить в качестве тестового.
Меня просили шаблонизатор пилить хотя тут эскобар.жпг
Ангуляр почитай. Я думаю они оценят, если сделаешь что-нибудь на ангуляре. Прочитать доки по англяру тебе будет проще, чем пробираться через дебри багов и костылей твоего велосипедного одностраничника (тем более если ты раньше такого не делал)
>>852440
#315 #852440
>>852428
Я еще не знаю что можно и что нельзя впарить, мб я отправлю им задание, а они еще и собеседование проведут чтоб прям при них фейсбук написал.
Вообще, если честно, я слегка прихуел от того сколько всего нужно знать и уметь чтоб вкатиться. Опасаюсь что даже если и возьмут на стажировку, то с позором выгонят через неделю, и потом детям и внукам еще через 50 лет будут байки травить как к ним пришел нулевый вася.
>>852450
sage #316 #852450
>>852440
Не парься, не будут над тобой угорать. Ты же на червя-пидора-стажера идешь устраиваться, а не на мидла или сеньора-помидора.
Будет сложно, но ты главное не аутируй где-то в уголке, а заебывай вопросами более опытных коллег, делай что говорят и всё будет заебись.
Тебя специально берут нулевого чтобы обучить и ты мог работать как джун-мидл за копеечную цену (или почти не копеечную, если ты у мамы биллгейц, но я что-то сомневаюсь).
Короче, без навыков на реальный проект тебя не пошлют, так что всё норм. Научат, станешь суровым погромиздом.
>>852456
#317 #852456
>>852450
Спасибо за поддержку. :)
#319 #852597
Вечер добрый, пару дней назад советовали ionic чтобы вкатиться в андроид дев. Но как оказалось, нифига не ясно с чего вообще начать. Установил кордову, андроид sdk и android developer от jetbrains. И все, дальше не ясно куда смотреть. К примеру на пхп я знаю что мне нужен сервер для запуска-апач либо нгинкс. Нода сама по себе и сервер и апликуха. Что такое приложение на Андроиде и где егоотлаживать и из чего состоит процесс разработки мне в корне не ясно. Если есть опытные люди - посоветуйте материал для изучения. Кстати пробовал ставить visual studio community - судя по комментариям онустанавливается 9 часов или около того, и это в 2016 году, ппц. Так что посоветуйте и годную среду разработки..
>>852627
#320 #852601
>>851681
Скажите мне, зачем используют реакт?
Пару дней назад с ним столкнулся, пока только рвотные позывы. Может, надо упороться чем-то?
Умею в ангуляр, бэкбон и нокаут.

Я не троллю, но вообще, совсем, абсолютно не понимаю, как можно сравнивать реакт хотя бы с нокаутом, не говоря уж про реакт vs божественный ангуляр...
>>852635>>852713
#321 #852627
>>852597
Ну что ж ты за пидор неумеющий в гугл.
1.Ставишь webstorm (блокнотопетухи включают sublime text)
2.Открываешь доки по ионику и ангуляру
3.Пишешь свой отстой пидорский
3.1.Ставишь плагины если нужен доступ к каким-нибудь штукам типа камеры
4.Билдишь всю эту хуйню
5.Смотришь какого хуя все тормозит
...
7.Уебываешь в пхп
#322 #852635
>>852601
Реакт и правда парашный. Концепция у него хорошая, а вот реализация полнейшее говнище. Дропнул его после месяца мучений в сторону angular2
#323 #852674
Пользовательским скриптом на произвольную страницу добавляю внешний скрипт с локалхост. Сам скрипт добавляет iframe (тоже локалхост) и лезет к его элементам (через contents() в jquery), когда он загрузится.

> Uncaught SecurityError: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin "http://stackoverflow.com" from accessing a frame with origin "http://localhost:3000". Protocols, domains, and ports must match.



Раньше я думал, что политика безопасности для внешнего скрипта определяется его доменом, но походу все выполняется в рамках первоначального домена. Так ли это?
И как в моей ситуации лучше поступить?
>>852818
#324 #852713
>>852601
Да реакт просто пиариться сейчас активно, вот и весь кипиш на него среди диванных вкатывальщиков. А по сути технология сырая еще, многое зависит от "моды" лол и возлагать серьезные долгосрочные планы на него я бы не стал.
Помимо него еще 2 вполне себе ок стула - первый и второй ангуляр.
#325 #852714
if (num_2 == /[a-z]/ ) {}

Анон, как проверить num_2 на наличие в нем латинских символов? Так как я написал, не работает
>>852720
#326 #852720
>>852714
if ( /[a-z]/.test(num_2) ) {}
>>852913
#327 #852744
Использует тут кто-нибудь кложурскрипт? Сложно ли будет с жса переписать ради опыта какую-нибудь мелкую либу на него?
>>852758
#328 #852758
>>852744
Раз ты задаешь такой тупой вопрос, то тебе будет сложно
#329 #852818
>>852674

> И как в моей ситуации лучше поступить?


Смотря что ты хочешь сделать
>>852843
#330 #852843
>>852818
Юзерскрипт похоже не влияет. У меня есть Домен1, там скрипт и всякий контент для фреймов. Нужно встроить скрипт на страницу в Домен2.
Как я говорил, скрипт добавляет фрейм, вешает обработчики на элементы фрейма и т.п.
Хотелось бы весь жс код для удобства, замыкания, пере использование, все дела. Хотя это, наверное, нереально. Если разбить код и распихать по фреймам, то должно быть норм, сделаю так.
>>852848
#331 #852848
>>852843

> Хотелось бы весь жс код для удобства хранить в этом файле


фикс
#332 #852907
Анонимайзеры, работающие под Виндой, а не под *nix-подобными осями, а у вас все модули из npm работают под Виндой?
>>852947
#333 #852913
>>852720

>if ( /[a-z]/.test(num_2) ) {}


Чет нихуя не работает
>>852940
#334 #852940
>>852991
#335 #852947
>>852907
Пока еще не было такого, чтобы чет не работало.

P.S. Консолька стоит cmder+git bash если это принципиально.
#336 #852991
>>852940
только /i флаг добавь, чтобы не городить [A-Z] лишний
>>853187
#337 #853024
Для того, чтобы писать простую херню на jquery, обязательно знать ванильный JS?
>>853065
#338 #853064
Поясните за angular и two-way biding. Шатал туториал (https://thinkster.io/angular-rails) с беком на руби-на-рельсах. В итоге серверная часть только отдает json список содержимого модели, шлет put запросы в базу, внося изменения. И если открыть один и тот же ресурс в 2 вкладках, в одной внести изменения, то во второй они отобразятся только если страницу обновить. Ну и зачем нужен ангулар если тот же самый эффект есть и без него. Что я делаю не так, кроме вкатывания в js?
>>853073>>853093
#339 #853065
>>853024
желательно
#340 #853073
>>853064

> Ну и зачем нужен ангулар если тот же самый эффект есть и без него.


Чтобы переход на другую страницу (в той же вкладке) не обновлял страницу.
Коммуникацию между табами в браузере тоже можно замутить, но это не встроено в ангулар.
>>853109
#341 #853078
Ангуляр или Реакт?
>>853082
#342 #853082
>>853089
#343 #853089
>>853082
Реакт или Ангуляр?
>>853282
#344 #853093
>>853064
Тебе вебсокеты нужны, а не фреймворки
>>853106
#345 #853106
>>853093
Это если он хочет писать изменения на сервер, для передачи данных между окнами / табами не нужны никакие вебсокеты.
>>853112
#346 #853109
>>853073
т.е. чтобы на одной открытой странице открывать разные страницы?
А чем плохо через гет запросы страницы открывать, а не подгружать их на одной странице?
>>853115
#347 #853112
>>853106
Как? Постоянно делать перепроверку, что данные не изменились?
btw, как вкшчка подтягивает новые сообщения в чат?
>>853129
#348 #853115
>>853109
Во-первых, снижается нагрузка не сервер, клиент-сайд генерирует страницу из данных.
Во-вторых, не нужно дублировать данные в каждом запросе, можно выдавать только то, что клиенту необходимо для вывода новой информации.
В-третьих, отрендерить на клиент-сайде только нужный кусок, допустим записи в таблице, быстрее, чем перезагружать всю страницу и рендерить ее с нуля. Да, это можно зафигачить в ручную или с помощью всяких jquery, но всякие ангулар и реакты могут упростить процесс.
#349 #853129
>>853112

> как вкшчка подтягивает новые сообщения в чат?


Постоянно общается с сервером, где-то раз в 2-3 секунды, если запрос не уходит в таймаут.
>>853186
#350 #853134
#351 #853179
>>853134
Тоже сгорел с этого. Я от такой хуйни обратно в дуднет ушел.
>>853360
#352 #853182
>>851288

>Замыкания это средство для инкапсуляции, причем не сильно удобное и понятное


Спасибо. Как раз сейчас с ними, вроде и понял, и канторо-задачки решаю, но долго получается. Там просто на главе с замыканиями так написано, что кажется, будто из замыканий состоит вообще всё, и я боялся, что недостаточно хорошо освоил такую повсеместную штуку.
мимо-еще-один-вкатывальщик судя по фленегану, прошел пятую часть пути
#353 #853185
>>853134
Проиграл с этой хуйни. Именно поэтому у нас используется ангулар 4 года для внутренних админок и прочей хуерги без оглядки на всякие бабелы-хуябелы. Сейчас понемногу перекатываем на второй и тайпскрипт.
#354 #853186
>>853129
Он использует лонгполинг сервер.
Коннект к серверу висит до получения сообщения (или уведомления), после получения коннект пересоздается. Таймаут для таких запросов задает не сервер а клиент (клиентский код). Посему таймаута может не быть вообще.
#355 #853187
>>852991
[a-Z] не годится что ли, лол
>>853265
#356 #853230
>>852406
ты не из омска случаем?
#357 #853258
Друзья, куда лучше свой код оформлять, дабы здесь не мусорить, а давать ссылку: в JSBin, JSFiddle, codepen.io или ideone?
#358 #853265
>>853187
а сам как думаешь лол
a (ASCII 97)
Z (ASCII 90)
оно по дефолту так работать не может, а если делать A-z, то там всякой хуйни будет типа \[]^ и т.д.
#359 #853275
>>853134
Поэтому я и начал учить Elm, даже если не взлетит, все равно приятно писать в нормальном языке, плюс еще и функциональщине научусь, хоть и в чутка обрезанном виде.
#360 #853282
>>853089
Библиотеки > Фреймворки
#361 #853283
React + Redux + React Router это не фреймворк по сути?
>>853288
#362 #853288
>>853283
Нет, это набор библиотек. Если надоест Redux — можешь обмазаться MobX или еще чем.
>>853290
#363 #853290
>>853288
Ну сменишь ты Редукс на Мобх, суть от этого не изменится. Куча библиотек ~= фреймворк
>>853346
#364 #853346
>>853290

> Куча библиотек ~= фреймворк


Проиграл
#365 #853360
>>853179
Я тоже туда же. Это шизофрения просто, на современных сайтах js по 30 штук. он ивесят больше, чем все картинки хайрезные, это же ебать сколько кода. и что он делает, нахуй он блять нужен вообще.
>>853418
#366 #853418
>>853360
Мне тут всучили проект с реактом. Я как-то пробовал его, без сборщика.
Но тут же впродакшн! Надо все красиво.

Беру gulp, начинаю писать скрипт сборки...
Таак...require? Ну ясно же что делать, надо установить... Browserify. Не работает. Читаем Гугл.
Ага, ясно - эта хуйня deprecated, в другой хуйне через жопу, надо оборачивать в vinil-source-stream... хуемое... duplex stream... Source-map? БЛЯ!
Идет второй день, проект не собирается, babel сыплет ошибки... Ухожу в гугл.

"Намного проще в webpack!" Оу, ну ладно, все равно хотел познакомиться с ним.
Таак, а как тут css-то в отдельный файл? require('extract-text-webpack-plugin')... 'css?sourceMap!sass?sourceMap'
package.json распухает от модулей, каждый из которых тянет еще модули, сборка идет по 10 минут, зауглифаеный результат весит под 600Kb

На страничке список, форма и три кнопки.

Немного утрирую, но я хочу программировать, а не бороться с инструментами.
>>853425>>853443
#367 #853425
>>853418
ну а что ты хотел? JopaScreep же
По хорошему нужно полностью отказаться от ЖС, всем бывшим ЖС-разработчикам запретить прикасаться к клавиатуре и сделать все заново с нуля.
Такого анального цирка еще не было за всю историю IT.
Это целый пузырь, поддерживаемый за счет постоянного reinventing the wheel, который однажды да лопнет.
#368 #853435
>>853425

>Это целый пузырь, поддерживаемый за счет постоянного reinventing the wheel, который однажды да лопнет.


NYET. Не лопнет, ибо законодателями этой хуйни являются мастодонты IT - Google, Facebook etc.
13 Кб, 862x35
#369 #853442
Ребят, поясните плиз. Правильно ли я понимаю:
Допустим, есть у нас 1000 элементов <li>. (путь в тысячу ли, лол).

1) document.querySelectorAll('li');
Создается коллекция [ li[0], li[1], .. li[999] ];

2) document.GetElementByTagName('li');
Создается пустая живая коллекция (так было написанно в учебнике, но вот если посмотреть в консоли, то там как будто создается коллекция из всех элементов сразу).
#370 #853443
>>853418
Слава Марку теперь есть create-react-app, поэтому можно меньше трахаться и больше создавать.
Но да, когда-нибудь нужно избавиться от всей этой хуйни и сделать единый стек, в котором все будет собираться одной командой, а стили/разметка/код будут на унифицированном языке. И все к этому идет.
#371 #853444
Делаю микроприложение для контроля данных, передаваемых по в реальном времени (стенд для испытаний оборудования в АСУТП).

Использую следующий стек:
бэкенд - Node+Express+SocketIO+NeDB
фронт - React+MobX

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

Выбор пал на Plotly, как на либу, позиционирующую себя невъебенно крутой и серьезной.
И вроде все работает как надо, но столкнулся с откровенно детскими болезнями либы:
- нет HTML5 Fullscreen API. Сделал, но по нажатию любой из кнопок на modebar, фуллскрин сбрасывается. Похуй, сделал ресайз на весь экран. Сломался RangeSlider (ибо он не ресайзится!). Пиздец.
- сделал плавную, приятную глазу анимацию разворачивания графика на полный экран при помощи Animate.css. Отлично! С анимацией при сворачивании обратно, с возвратом к исходному разрешению графика, выпадают (буквально, блядь!) кнопки с modebar графика. Ну что за хуйня?

Посему реквестирую годных либ для построения графиков, которые поддерживали бы ресайз, динамическое обновление данных (стриминг), имел бы rangeslider, ну и экспорт в графический файл (хотя если это canvas, то экспорт закостылить не трудно). Смотрел в сторону dygraphs - насколько он хорош?
>>853480
#372 #853480
>>853484
#373 #853484
>>853480
d3 слишком низкоуровневый для графиков.
>>853656
#374 #853527
>>853425

>По хорошему нужно полностью отказаться от ЖС


Не нужно отказываться, просто не нужно писать непонятный говнокод. Вот реально, требования от жс на 99% сайтов одни и те же, что делал жс в 2010 году, то он делает и в 2016, однако скрипты теперь весят за мегабайт. Куда нахуй, что в них напихано, ЧТО БЛЯТЬ. На сайте 1 слайдер и проверка формы, что можно было накодить на 1 мегабайт.
#375 #853554
>>849864 (OP)
джиэсобогов конфа http://link.limo/programach
#376 #853609
Добрый вечер в хату. В общем разбираясь с жс наткнулся что иногда для свойств объектов пишут obj[prop]. Собственно в этом и вопрос, в чем разница между obj.prop и obj[prop]? Например, в консоли я создал простой объект jsmakaka с 2 свойствами name: 'Alex' и lastname: 'Anonov'. Так вот, console.log(jsmakaka.name) работает и выводит Alex, но jsmakaka[name] кроме ошибки ничего не выводит. Прошу местных js господ разъяснить эту ситуацию. Вот такую форму записи obj[prop] точно видел и там был точно объект, а не какой-нибудь array.
>>853610
#377 #853610
>>853609
Во втором случае JS вычисляет значение переменной name. У Квантора в первых же главах всё это разобрано.
>>853616
#378 #853616
>>853610
Как это называется obj[prop] или как искать в гугле чтобы прочитать поподробнее? Просто "в первых главах" звучит очень расплывчато для того кто не читал его учебника и учился по другим источникам.
>>853620>>853626
#379 #853620
>>853616
Сам нагуглил уже, спасибо за ответ(нет) заебал пиарить свою порашу в этом треде.
>>853627>>853658
#380 #853626
>>853616
object.attribute монопенисуально object['attribute']
Но. Допускается object['ma-kaka'], но object.ma-kaka выплюнет ошибку (object.ma - kaka)
>>853662
#381 #853627
>>853620
Эта параша всяко лучше твоих "других источников", из которых ты даже не знал как обращаться к свойствам объекта через квадратные скобки. Да и неумение забить в гугл "js object brackets" выдаёт в тебе дебила.
>>853662
#382 #853646
>>850453
nw.js, electron либо локальный сервак node.js
#383 #853655
>>853442
Че несешь? В первом случае тебе массив ссылок дают по css селектору, во втором по тэгу элемента.
Какие коллекции? Совсем там со своими абстракциями ебанулись блядь в хлам.
>>853670
#384 #853656
>>853484

> слишком низкоуровневый


Проиграл.
Но если продавать свою хуиту не будешь - highcharts. Это лучшее что мне встречалось.
>>853759
#385 #853658
>>853620

> заебал пиарить свою порашу в этом треде.


Сомневаюсь что Кантор здесь тусовал. Он наверняка поёбывает няшных хипстеров на очередном стартапе.
>>853662
#386 #853662
>>853626
Спасибо, анон! Всё четко и по делу написал.
>>853627
Сам деб, раз агришься не из-за чего. Мне норм, просто ВСЁ удержать в голове не возможно, особенно когда только вкатываешься в эту помойку.
>>853658
Хз, его форум в каждом втором посте пиарится ага, других источников нет конечно.
49 Кб, 1061x123
#387 #853670
>>853655
В первом случае тебе массив

>массив

#388 #853680
>>853425
при чем тут жс, если это еба вкатывальщики не уеющие программировать наплодили кучу овно тулз и теперь купаются в этой параше
#389 #853682
>>853442
Чего?

В первом случае тебе вернется просто коллекция по селектору, во втором живая коллекция по селектору. Схуяли она по твоему должна быть пустой, если у тебя на странице в момент ее создания есть элементы соотвествующие селектору?
>>853684
#390 #853683
Ребятишки, подскажите:
Сделал небольшой сайт на React + Redux (и через create-react-app), который берет json с вордпрессовской WP REST-API (т.к. в бекэнд я пока не умею). На локалхосте все заебись работает, а вот как это все к вордпрессу присобачить - хуй пойми.
Сделал npm run build и залил это говно вместо темы, захожу на свойсайт.ком, в консоль пишет что не может найти
/static/js/main.e0dbbf8e.js ну и прочие собраные файлы.
Как мне задеплоить эту парашу вместе с вордпрессом ?
Гуглил, вообще нихуя нет на эту тему, все туториалы дальше хеллоуворлдов на локалхосте не заходят.
>>853770
178 Кб, 947x629
#391 #853684
>>853884
#392 #853759
>>853656

>highcharts


По демкам нихуево выглядит.
Но как у HC с быстродействием?

Мне требуется отрисовывать примерно 5-7 графиков, сделал обновление данных раз в секунду (не принципиально, можно период изменить) но координаты приходят пачкой, т.е. за секунду набирается, например, до 10 координатных точек на 1 график.

Plotly даже с .extendTrace() подлагивает временами, хотя его форсят как более производительную, в плане рендеринга, альтернативу HC.
19 Кб, 620x576
welkam 2 hell #393 #853767
#394 #853770
>>853683
Попробуй через handlebars, я в своё время так попал к жене на свадьбу за O(n!).
Ещё можно transducers: https://hackage.haskell.org/package/machines
#395 #853777
Копаюсь в вашем говнереакте. Так и не понял какими средствами реализовать загрузку начального состояния в зависимости от url.
>>853778>>853802
#396 #853778
>>853777
componentWillMount() ?
>>853782
#397 #853782
>>853778
Не то наверно. Короче, загрузка начального состояния всего приложения происходит при запросе /index, далее мы можем перейти в /users. Как сделать чтобы мы могли вбить в строке адреса сразу /users и отобразилась бы страница с пользователями?
>>853785
#398 #853785
>>853782
React Router.
#399 #853794
Аноны, решил написать JS обертку (node.js модуль) для C библиотеки http://wordnet.princeton.edu/wordnet/documentation/.
Проблема в том, что я незнаю с чего начать, составьте для меня небольшой todo-лист, кто понимает.
Вот даже уже готовый пример есть https://github.com/dariuszdziuk/wordnet, но я хочу разобраться как это делается впринципе.
>>853892>>853893
#400 #853799
Друзья, куда лучше свой код оформлять для вопросов здесь: в JSBin, JSFiddle, codepen.io или ideone?
>>853848
#401 #853802
>>853777
А мог бы накатить ангулар 2 или бэкбон и не ебать себе мозг.
>>853803
#402 #853803
>>853802

>бэкбон


Backbone - не вьюха, ёбан.
>>853998
#403 #853816
задача от Илюхи

почему (1,5-1) * 2 === 8 ?
>>853821>>853823
#404 #853821
>>853816
1,5-1 это 5-1 === 4 (оператор запятая)
4 * 2 === 8

Че не понятно?
#405 #853823
>>853816

> почему (1,5-1) * 2 === 8


А почему не должно быть?
#406 #853848
>>853799
Шапку чем читал?

> Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.

>>853849>>853851
#407 #853849
>>853848
Спасибо.
#408 #853851
>>853848

>Воспользуйтесь https://jsfiddle.net/


Ссанина. JSBin гораздо юзабельнее.
>>853873
#409 #853873
>>853851
Ну пользуйся чем тебе удобнее, какой толк от твоего вскукарека без объяснений?
#410 #853884
Вы вчера мне говорили, >>853442 что:

>В первом случае тебе вернется просто коллекция по селектору, во втором живая коллекция по селектору.


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



Но тест говорит совсем другое: http://plnkr.co/edit/QGiNtL4VFSDXMAMyBUAN?p=preview
Как видно, первый alert и второй alert дают одинаковые результаты.
Первый alert - пустой массив.
Второй alert - document.getElementsByTagName('p') //якобы коллекция элементов
Третий alert - document.querySelectorAll('p'); //тут всё очевидно, коллекция всех элементов <p>

Я бы поверил учебнику >>853684
и не задавал таких вопросов, если бы в консоли getElementsByTagName('li') не возвращал мне коллекцию элементов <li> >>853442
Вот такое противоречие.
#411 #853892
>>853794
Вопрос не правильно поставил.
Сейчас более менее вник. Суть API этого - обращение к дб. Т.е если я хочу использовать JavaScript, мне нужно просто переписать все функции на нем.

Другой вопрос, не лучше ли будет написать скрип в JS, который будет запускать С программу (child process) и output из этого С скрипа передавать обратно (через pipe)?
Т.е использовать С библиотеку все-таки.

Это будет экономнее по времени, чем переписывать функции в JavaScript?
По производительности?
>>853893
#412 #853893
>>853794
>>853892

Проще написать классический dll и дергать из него модули через NodeFFI.
>>853896
#413 #853896
>>853893

>дергать из него модули


*методы, селффикс
>>853899
#414 #853899
>>853896
Расскажи в двух словах что такое dlll?
>>853900
#416 #853902
>>853900
То что нужно, спасибо.
#417 #853969
>>849864 (OP)
Анончики, а вам нравится react?
>>853998>>854043
sage #418 #853987
Sup. Пытался написать простой жиквери плагин, но столкнулся с проблемой использования window.removeEventListener.
Есть у меня два дива на которые влияет плагин. Плагин я завожу вот так var xyi = new Hyi(this, params); проверку на метод или параметр и $.fn.Hyi опустим.
В одной из функций этого плагина создается функция Hyi.prototype.eventListener = function (ev) {}; и потом вешается window.addEventListener('mousemove', Hyi.prototype.eventListener);
Суть в том, что при выполнении window.removeEventListener('mousemove', Hyi.prototype.eventListener, false); снимается только последний EventListener.
Вообщем как мне привязать EventListener к диву, чтобы потом снять один, не ломая другой?
>>853997>>853998
#419 #853997
>>853987
1. Если ты пишешь JQ плагин, то почему не .on() .off()?
2. Нахуя ты делаешь Hyi.prototype.eventListener = function (ev) {}? Почему ты в конструкторе не можешь объявить this.eventListener = function(ev){} например?

Короче, рефакторь накуй.
>>854330
#420 #853998
>>853803
Там есть и вьюхи тащемто. Движок для рендеринга ты волен сам выбрать.
>>853969
Нет, оверхайпнутая параша для любителей оверинжиниринга.
Лицокниге оно один хуй не помогло. Интерфейс как был тяжелым говном с кучей лишнего говна, так и остался.
>>853987

> 2016 год


> Писать плагины для jQuery


Ну бля.
Но ладно, я 2 раза прочел тобою написанное и нихуя не понял. Пример кода запили и покажи где косяк.
>>854000
#421 #854000
>>853998

>> Писать плагины для jQuery


>Ну бля.


Ну может не нужен ему (one|two)-way binding и дёртичекинг? Может он не педохипстер и просто хочет с ДОМом поработать?
>>854007
#422 #854007
>>854000
Да не в этом дело. Либо у него недостаток опыта либо что-то простое.
Тут скорее первое.
Поэтому

> рефакторь накуй


единственно верный совет, а он написал хуйню.
#423 #854043
>>853969
да <3
43 Кб, 638x479
#424 #854044
Ребзя, а давайте определимся, что же пизже — Angular 2 или React + Redux?
Избавился ли Angular с выходом второй версии от своих прежних болячек?
Есть ли тут ребята, которые и Angular 2 юзали, и React + Redux?
Что из них лучше себя показывает в связке с Node.js + Express? Или без разницы?
Правда ли, что Angular 2 по мере роста проекта начинает глюкаво тормозить, в отличие от React + Redux? Или пиздёж?
#425 #854049
>>854044

>ang2


Производительность стала больше, поверх покрыли все типизацией.
Теперь это дело легко тестировать, допилили модули напильником. Годная штука. Порог вхождения увеличился да и хуй с ним.
Когда мне понадобится, я выберу его.
Да, ад в виде html внутри js внутри html внутри js можно делать, но у нас например за такое при коммите по рукам бъют.
#426 #854056
>>854044
реакт для дебиков))0
мимо из серьезной конторы с ангуляром, постепенно готовящим переход на анг2
#428 #854068
>>854064
Уже читал это вчера, так и не понял, что значит Angular 2 requires a lot more tech buy in.
#429 #854070
Заметил за node и/или express одну неприятную особенность: без вмешательства пользователя дублируется последний реквест. Например, написал я форму и решил протестировать корректно ли данные, посланные с ее помощью, записываться в базу. Проверил, получил результат, отошел на 5 минут. Прихожу и вижу два идентичных поля в базе, хотя при уходе было одно.
Кто-нибудь сталкивался с подобным? Есть ли способ такое поведение исправить
>>854075
#430 #854073
>>854064
Также я не понял, что значит фраза о том, что Angular 2 требует больше boilerplates, что такое additional boilerplate overhead, и что это вообще такое: boilerplate. Пояснишь?
>>854074
#431 #854074
>>854073
Если коротко - шаблонный код.
#432 #854075
>>854070
Покажи код, вероятно ты где-то обосрался, у меня никогда такого не было
>>854078
#433 #854078
>>854075
Возможно, но я 3 проект подряд сталкиваюсь с этим из-за своей криворукости.
Еще, возможно, модуль brackets`а это вытворяет.
http://jsbin.com/nerayonibi/1/edit?js,console
>>854147
#434 #854086
>>854044
Cycle.js
>>854090
#435 #854090
>>854086
А из этих двух?
#436 #854130
>>854044
хорошо что в ng2 порог вхождения выше, будет куда меньше долбаёбов, коих наплодилось уже благодаря реакту, бгг
>>854131>>854173
#437 #854131
>>854130

>хорошо что в ng2 порог вхождения выше, будет куда меньше долбаёбов, коих наплодилось уже благодаря ng1, бгг



фикс)
>>854134
#438 #854134
>>854131
Фикс от адепта React + Redux?
>>854139
#439 #854139
>>854134
От Inferno с MobX.
#440 #854146
ДжиЭсеру, посоветовавшему Highcharts вместо Plotly - спасибо.
Все работает (почти) как надо.
Либа респонсивна искаропки, поддерживает несколько форматов экспорта, присутствует менее глючный рейнжслайдер. Скорость рендеринга вполне на уровне.
#441 #854147
>>854078
Ты ответ то нормальный отправляй своему аякс скрипту, а то он бедолага ждет код 200 от ноды, а получает хрен пойми что, и по таймауту дублирует свой реквест.
>>854199
78 Кб, 1002x657
32 Кб, 1025x234
17 Кб, 415x317
#442 #854165
Шалом, братья. Помогите разобраться.
Есть код (рис. 1)
Есть обработчик (рис. 2)
Он осуществляет поиск по БД и выводит в результат переменные rno = 1 и result = dom 31
Результат поиска в рис. 3

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

Или просто поясните логику, как в jquery выводить переменные в таблицу.
>>854166>>854189
#443 #854166
>>854165
Какое IDE?
>>854170
#444 #854170
>>854166
Это с сайта пример http://dnzl.ru/view_post.php?id=271
Я в нотпаде все делаю.
#445 #854173
>>854130
А почему порог вхождения выше? Что нужно понимать, чтобы лезть в Angular 2?
#446 #854189
>>854165
Берёшь и без задней мысли вставляешь новую строку со столбцами в конец таблицы, не?
#447 #854199
>>854147
Спасибо, даже не подумал об этом.
#448 #854315
Хуярю на реакте уже месяц. Чувствую что меня наебали. Нет стройности, внятности. Для SPA это не годится, это по сути View библиотека. А надстройки Redux Flux и т.п. слишком размыты. Какие то хипсторы делают непонятно как относящиеся к самому проекту доп. методологии. Возникает вопрос а где гарантия что через месяц не придёт очередной патлач и не придумает новую охуительную архитектуру папок? Какието невьебенные конструкции где переменные повторяются по 20 раз для одного действия. Мифическая расширяемость и производительность кажется слабым аргументом, ведь в энтерпрайзе всегда побеждала хуяк-хуяк простота. Короче не советую это говно, буду пробовать анг2.
>>854365
41 Кб, 1366x565
sage #449 #854330
>>853997
Спасибо за ответ.

> 1. Если ты пишешь JQ плагин, то почему не .on() .off()?


Теперь сделал вот так:
вешаю $(window).on("mousemove." + this.name, this._handleMousemoveEvent);
снимаю $(window).off("mousemove." + this.name, this._handleMousemoveEvent);

> 2. Нахуя ты делаешь Hyi.prototype.eventListener = function (ev) {}? Почему ты в конструкторе не можешь объявить this.eventListener = function(ev){} например?


Это тоже переписал.

> Короче, рефакторь накуй.


Сделал, посмотри пожалуйста, может что-то не так еще.
Код плагина: https://gist.github.com/anonymous/3cefd0ff484b3a6c950345af188dd6f3
Код html страницы: https://gist.github.com/anonymous/93b90e8c82746fc462e12dbbce6a8822
>>854529
47 Кб, 917x313
#450 #854340
Я знаю что вы сейчас будете яро называть меня долбоебом и т.д. И кстати будете правы. Но помогите с пониманием этих ебучих замыканий.
Так то понятно что функция внутри функции создает некий объект с перменными, и ссылкой на вышестоящий по иерархии такой же объект в котором записаны переменные из его области видимости и ссылкой на вышестоящий если он есть. Но из примера на learnjs я нихуя не понял куда записывается итерированное значение переменной?
По моей логике каждый раз вызывается функция внутри функции которая просто увеличивает переменную из вышестоящей функции.
1++ 1++ 1++
>>854364>>854370
#451 #854364
>>854340
Ты же первой частью своего поста ответил на свой вопрос
При присваивании counter = makeCounter() создается скоуп с переменной currentCount, которая хранит своё значение
>>854378
#452 #854365
>>854315
Глядите-ка, еще один ёбан, ожидавший от Реакта магии в стиле "enter here xyipizda to make this shit work" сломался и не преминул об этом доложиться в программаче.

>это по сути View библиотека.


Охуеть открытие! А мужики-то и не знают!

>Many people choose to think of React as the V in MVC.


https://facebook.github.io/react/docs/why-react.html

>А надстройки Redux Flux и т.п. слишком размыты.


Это вообще пушка. Если ниасилил иммутабельное хранилище или тошнит от функционального подхода в целом, есть MobX, который в non-strict режиме позволяет напрямую присваивать новое значение отслеживаемым переменным. Конечно, так делать не комильфо, но тебе ли не похуй? Энивей, если тебе не нужно поддерживать концепцию "single source of truth", можно обойтись старым добрым setState.

>Возникает вопрос а где гарантия что через месяц не придёт очередной патлач и не придумает новую охуительную архитектуру папок?


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

>Какието невьебенные конструкции где переменные повторяются по 20 раз для одного действия.


Ты про что, упорыш?

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


Так все это была тонкая ирония, ведь правда?

>Короче не советую это говно, буду пробовать анг2.


Через неделю ждем свежую порцию откровений о том, что ангуляр 2 пиздец параша и что неплохо было бы откатиться во времена jQuery UI.
Во тогда делали заебись!
#453 #854370
>>854340
Вышка есть?
>>854405
35 Кб, 805x69
#454 #854378
>>854364
Потому что я долбоеб и смутился над словами сказанными выше. Но не прочитал что написано после точки
#455 #854405
>>854370
- А кто её спрашивает?)
филолог в треде
>>854408
#456 #854408
>>854405
Сколько кусков в месяц делаешь, филолог?
>>854411
#457 #854411
>>854408
Вкатываюся в жэ-эс) Хочу 300к в секунду освоить реакт и хотя бы 1к долларов в месяц.
>>854412>>854444
!!a7u.XEsVf6 #458 #854412
>>854411
Ебать ты хуесосина.
За 1к можно вообще не кодить, а клацать час в день сайты и говорить менеджеру работает или нет.
Раздирать свою жопу реактом имеет смысл не меньше чем за 4к.
>>854458
#459 #854444
>>854411
Получишь абстрактной фабрикой по губам.
На вакансии фронтендщиков уже 22 предложения в среднем на вакансию и значение растет.
Все, лавочка закрывается, скоро WEB-пузырь лопнет как в 2001 и нас ждут толпы безработных 'веб-программистов.'
#460 #854452
>>854444
Все в машинлёрнинг.
#461 #854458
>>854412
>>854444
Похуй, я настойчивый)
Почти все знакомые куны с филфака вкатываются в программирование.)
Кто-то Квантора читает, другие хотят версталами, но в любом случае не пропадем.
>>854461>>854543
#462 #854461
>>854458
Нынче каждый второй вкатывается в программирование, даже знакомая бухгалтерша, которой под полтинник. Хорошо, что у 90% дальше хтмла дело не идет.
>>854464>>854467
#463 #854464
>>854461
Боишься, что какая-нибудь бухгалтерша займёт твоё тёплое место жс макаки?)
#464 #854465
котаны, поясните нахуя виртуальный DOM в реакте?

допустим у нас есть модель данных и вьюха для неё. когда меняются данные в модели, я так понял, в виртуальный DOM рендерится всё, а он ищет разницу по которой уже меняют настоящий DOM.

но нахуя это всё если мы за время компиляции JSX можем уже знать какие элементы будут меняться в зависимости от полей модели.
например псевдокод:

<div class="{ classList.join(' ') }"></div>

можно ведь без виртуальных домов прописать что
model.on('classList:change', (ev, data) => view.setAttr({ class: this.classList.join(' ')}))
>>854483>>854492
#465 #854467
>>854461
Не знаю, я только радуюсь за тех вкатывальщиков, которых прёт от Реактов, Ангуляров, Нод и Питонов с Джангами, а вы тут бедняги трясётесь за то, что кто-то ваш хлеб отбирует. Ссыкуны.
>>854473
#466 #854471

>которых прёт от Реактов, Ангуляров, Нод и Питонов с Джангами


Язык бы вначале нормально выучили, а потом бы уже вкатывались во фреймворки
>>854474>>854478
#467 #854473
>>854467

> которых прёт от Реактов, Ангуляров, Нод и Питонов с Джангами


Больные ублюдки
>>854490
#468 #854474
>>854471
двачую
#469 #854478
>>854471
будет точно также как это было с пыхой и повторилось с первым ангуляром. орды макак которые не понимают что делают, но тем не менее делают и за низкий прайс. они могут конкурировать только с нынешними "динамический сайдбар до завтра"
#470 #854483
>>854492>>854510
#471 #854490
>>854473
А от чего прёт здоровых неублюдков?
>>854497>>855095
#472 #854491
>>854444

> толпы безработных 'веб-программистов


Это которые вах заебашу красивый визитка неделя 1000 рублей?
#473 #854492
>>854483
>>854465

В двух словах: патчить дом по синтетическим расчетам быстрее, чем ре-рендерить его полностью.
Для того, чтобы вычислить "патч", требуется хранить несколько "слепков" дома.
>>854510
#474 #854497
>>854490
От статических страниц.
#475 #854510
>>854492

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


реквестирую пример в котором виртуальный ДОМ делает то что нельзя предсказать за время компиляции JSX

>>854483
везде где юзают виртуальный ДОМ говорят одно и то же, мол стильно модно молодёжно патчить ДОМ, а не делать полный ререндер, так как узкое место - это скорость рендера ДОМ. с этим то я согласен, мне непонятно зачем городить такой оверхед в рантайме, если все патчи ДОМ можно предсказать на этапе кмпиляции темплейта
>>854511
#476 #854511
>>854510
неужели ответ это "просто так, всё равно узкое место DOM и то что делается дурная работа всем пох"
>>854551
#477 #854529
>>854330
Бамп
#478 #854543
>>854458
О, так ты не просто вкатываешься в реакт, а вкатываешься в кодинг начиная с реакта. Удачи, братан.
Вангую, сольёшься даже не на каком-нибудь там редуксе, а ещё на этапе настройки вебпака.
>>854661
#479 #854551
>>854511
Блядь, нет конечно, VirtualDOM - это не панацея, это - компромисс. Как, врпрочем, и твой вариант:

>model.on('classList:change', (ev, data) => view.setAttr({ class: this.classList.join(' ')}))



В самом последнем ответе еще до кучи перечислены варианты, которые имеют свои как сильные, так и слабые стороны.
http://stackoverflow.com/questions/21109361/why-is-reacts-concept-of-virtual-dom-said-to-be-more-performant-than-dirty-mode
#480 #854661
>>854543
А ты чсвшный))
Что такого трудного в вебпаке?)
>>854671
#481 #854671
>>854661
Не обращай внимания на людей, пытающихся дистанционно выявить уровень твоего интеллекта.
265 Кб, 1536x867
#482 #854698
Аноны, нужна помощь с ангуларом.

Есть сервис, который берет данные через $http.
Есть директива, которая эти данные должна отображать.
Как правильно эти данные передать?
>>854723>>854730
#483 #854718
Только учусь. Не работает Geolocation. Вот ссыль.
https://jsfiddle.net/0moh53w7/
Я не понимаю, почему оно не находит месторасположение
Помогите пожалуйста, иначе я никогда не пойму эту тему.
#484 #854723
>>854698
М - Модульность
>>854732
#485 #854730
>>854698

> var self = this


> 2016


)))
>>854859
#486 #854732
>>854723
При чём тут модульность то?
>>854736
#487 #854736
>>854732

> Пишет на ангуларе


> Нихуя не знает про модули


Блядь, ты пример копипастил из документации просто?
>>854737
#488 #854737
>>854736
Как отдельные модули помогут мне получить данные из сервиса в директиве?
>>854743
#489 #854743
>>854737
Окай, наведу на мысль.
1. Создаёшь модуль, делающий запросы к серверу.
2. Никогда не используешь его в самопальных директивах
2. Используешь этот рукожопно написанный модуль во всех контроллерах и других модулях
2. Проффит
Короче ты наговнокодил, переделывай.
#490 #854747
Аноны, есть два три стула: Traceur Compiler, Babel и Rollup. Посоветуй какой выбрать.
>>854749>>854751
#491 #854749
>>854747

> Babel


Наиболее изучен и используем
>>854750
#492 #854750
>>854749
Спасибо.
#493 #854751
#494 #854775
может кто-то на ходу кукарекнуть регулярку, которая бы запрещала пробелы, а все остальное можно былобы?
>>854858
#495 #854849
Ну че, колитесь, кто уже yarn накатил, а?
>>854921
#496 #854858
>>854775
/[^\s]/

ты бы вежливее кукарекал тут
#497 #854859
>>854730
А чем этот способ хуже bind?
>>854867
#498 #854867
>>854859
он имел ввиду arrow походу

мимо
>>854872
#499 #854871
Как мне ебаный create-react-app в один статический бандл засовать ? Так чтобы не в память грузило, а просто закинул хтмл в браузер и заработало ? Если просто npm run build делаю и кидаю в браузер, то потом он не может сбандленые им файлы найти (я сначала думал дело в том что нужно homepage в package.json указать, но хуй пойми что туда писать, по всякому пробовал - не пашет)
Попытался сделать run eject, снес всю эту парашу, потом сделал свой webpack.production.config.js с бабелями хуябелями и тд. В итоге запускаю вебпак, работает 18ms и говорит что все заебись, а сам даже папку build не создает. Причем для теста с этим же конфигом простой хеллоуворлд создавал и его нормально сбилдил.
Помогите плз, уже который день ебусь над этим.
>>854885>>854898
#500 #854872
>>854867
Спасибо, просто еще не дошел до es6.

мимо ньюфаг, который учит ванилу.
#501 #854885
>>854871
Лол. Покажи свой писюн вебпак-скриптус.
>>854899
#502 #854898
>>854871
Пути то смотри добоёбушка.
>>854900
#503 #854899
>>854885
https://jsbin.com/qiwojubiye/edit?js,output

webpack ./webpack.production.config.js
выводит:
Hash: 76753ae5377e4285b2ec
Version: webpack 1.13.2
Time: 18ms
и нихуя
>>854910
#504 #854900
>>854898
Конкретнее ?
#505 #854910
>>854899
Папка есть? Права проставлены?
>>854919
#506 #854919
>>854910
Понял свою ошибку, оказывается нужно было --config добавить. Но теперь дохуя других ошибок вылазит (в конфиге что-ли проблема ?) но хоть бандлить начал.
Еще теперь на {..state} почему-то выебывается, а конкретнее на многоточие. Это же из es2015 фича вроде-как ? Импорты то нормальное делает.
>>854928
#507 #854920
Здравствуйте, отцы.
Пишет вам 24 лвл программист.
Пишу всю свою рабочую жизнь на шарпе. Сейчас встает вопрос о переезде в дс. И я считаю, что нужно перекатываться на другой ЯП.
Пилить 3 года формочки на винформс и впф меня уже, мягко говоря, заебало.
Поэтому нужно вкатываться в вэб.
Что сейчас стильно, модно, молодежно?
Выбор упал методом рандома спросил у друга на ноду.жс.
В вэбе я знаю почти нихуя. Подскажите, пожалуйста, что последовательно стоит учить, учитывая мои "знания".
Паттерны проектирования знаю, но не думаю, что это особо тут полезно. То как ехал граф через граф тоже.
Еще в юнити умею 2д игрушки делать.
Если здесь найдется наставник, буду очень благодарен.
>>854994
#508 #854921
>>854849
вот только что узнал о нём
>>854928
#509 #854928
>>854919

>Это же из es2015 фича вроде-как


нет, spread на объекты в 2015 не ввели, только iterable

>>854921
Запоздал ты, оно уже протухло, лол (на самом деле нет). На самом деле если будет как обещают, то будет круто, пока же куча ишью.
Но тем не мнее скорость + оффлайн режим + лок файлов подкупают
>>854954
#510 #854929
Пишешь такой свой пет-прождект на react/redux на компилируемом строготипизорованном языке, тут хуяк - подработка, а там - питон, цмс, жс внутри html, html внутри js, jquery плагины. Пиздец нахуй, велком ту зе риал ворлд.
#511 #854954
>>854928
а ещё обратная совместимость с npm, вин же!
56 Кб, 591x379
#512 #854974
Кто работал с FB API? Как зареквестить фото юзера по URL/ID? Почему мне код возвращает пустой массив?
>>854975
#513 #854975
>>854974
З.ы имеются в виду фото с альбомов.
>>854978
#514 #854978
>>854975
Код:

FB.api(
"/[вставляю id пользователя]/photos",
function (response) {
if (response && !response.error) {
console.dir(response) // пустой массив
}
}
);
#515 #854994
>>854920

> Подскажите, пожалуйста, что последовательно стоит учить


Пользоваться гуглом.
#516 #855000
Сука, оказывается пидорас жид цукер запретил скрапинг чужих страниц. Вот ведь пидор гнилой. Тварь, хуесос не человек.
sage #517 #855011
Ну пацаны, ну гляньте. Ну норм? Ну все же мы люди https://gist.github.com/anonymous/3cefd0ff484b3a6c950345af188dd6f3
>>855092
#518 #855092
>>855011
Вернул мой 2007
>>855120
#520 #855095
>>854490
HTML4 Strict
frameset
#521 #855120
>>855092
Что не так то?
#522 #855121
Какой же обоссаный тред, пиздец
Тред утонул или удален.
Это копия, сохраненная 5 ноября 2016 года.

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

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