24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.
Вечер в хату. Тред не читал. Сам пишу бэк на пиздоне и решил выучить жабаскрипт что бы для разнообразия хуярить на ноде. Все вроде для начала понятно, но мучает вопрос библиотек. Можете дать список самых модных и стильных либ для написания бэка под ноду. Интересует также либы для работы с БД(mongo,postgre,redis). Заранее спасибо
Но при таком подходе остается возможность, путем анализа кода, понять структуру защищаемых данных (например что в админке виден список ФИО + телефон), структуру закрытых api и т.д - это тоже уязвимость же!
Какие есть варианты ограничивать доступ к исходному коду компонентов, пользоваться которыми у текущего пользователя нет прав?
>>849980 Если прям так уж критично скрыть представление, то порежь нужные части панели на куски и проверяй роль перед отдачей жс кода требуемой части на стороне сервера А вообще в таком случае спа теряет всякий смысл
Видеоуроки по JSАноним03/10/16 Пнд 16:27:31#13№850031
Может кто посоветовать годные видеоуроки по JS/jquery/ajax вот это все?
>>850058 Возьми VS Code, там много что из коробки — статический анализатор, умное автодополнение, emmet, git, дебаг под ноду. Уже год использую его с плагином eslint (встроенный анализ отключит) и горя не знаю. А в саблайм еще миллион плагинов поставить надо прежде чем он нормально забегает.
Аноны, как-нибудь на сервере можно разрешить запросы с HTTPS на твоё HTTP? Думал, Access-Control-Allow-Origin тут поможет, но Mixed content всё-равно во все поля. Запросы посылаются через XHR, да и этот тред первый открыт был.
>>850086 >запросы с HTTPS на твоё HTTP Спрашиваю потому, что, как я понял, браузер в случае AJAX-запроса с HTTPS на HTTP даже этот запрос не делает - просто валит XHR с ошибкой в консоль. Алсо, нашёл что-то похожее, Content-Security-Policy, но, как я, опять таки, понял, это вообще не из той оперы.
>>850096 HTTP - мой, HTTPS - сторонний. С CORS как раз таки всё в порядке, ибо куки не нужны, как и сложные запросы - помогает > Access-Control-Allow-Origin: * . Но этот заголовок не помогает с протоколом.
>>849899 да пашол ты нахой, експресс устаревает и новых проектов на нем все меньше Коа пиарит один жидоторгаш своими курсами за $, но это тоже такое. >>849911 Вот этого двачагу, а вообще го набирает обороты если хочется модненький фреймворк
>>850220 Ссори анонче, я это дерьмо уже снёс, он иногда даже пустой без проекты запускается по 10 секунд.
В итоге накатил саблайм, темы под него просто охуенные, накатил несколько визуальных плагинов к нему, автокомплит, проверку синтаксиса, фтп, думаю на первых порах хватит, потом перекачусь на пхпшторм. Вообще, судя по разным гайдам, урокам, отзывам так и работает большинство сб3 + пхпшторм. Даже с плагинами сб3 номрально открывается и не тормозит, выделение памяти вообще маленькое.
Анон, помоги, плес. В общем, есть сайт: http://home-hotel.su/ оттуда надо спиздить весь каталог и поиск по нему, дабы вставить в свой сайт. Как это сделать? В /web/ не отвечает никто, лол
Подскажите пожалуйста, как в чистой джаве прочитать текстовый файл и как создать новый? Но "открытие" файла должно быть не через <input>, где руками выбирать, а чтоб скрипт сам подхватывал рядом лежащий файл.
Грубо говоря, у меня в одной папке лежат файлы index.html, script.js, text.txt. Нужно чтоб при открытии index.html скрипт автоматом подтягивал текст на страницу. И чтоб можно было его изменить и сохранить в text1.txt.
Как лучше на ноде сделать некое подобие системы плагинов, как для компилируемых языков? Т.е. запускается приложение, сканирует все файлы в папке /plugins, и, если есть в них точка входа, загружает в память, при этом методы из плагина становятся доступными для приложения. Чтобы достаточно было закинуть новый скрипт в папку, реализующий, например, поддержку нового формата для экспорта данных, и не править нигде более исходники и секции импорта.
>>850530 >запускается приложение, сканирует все файлы в папке /plugins, и, если есть в них точка входа, загружает в память, при этом методы из плагина становятся доступными для приложения Ты только-что сам всё написал.
>>850532 А в рантайме такое провернуть можно? Чтобы был "хотлоад" модулей?
У меня сорт оф архитектурная проблема, лол. Я не пойму, куда загружать импортированный плагин/модуль. В глобальный массив, например? А оттуда дергать методы, обходя forEach'ем? Или в объект засовывать, создавая ключи по имени загруженного файла.
Есть ли какие проекты с примерами подобного, где импорт модулей не зашит в исходник жестко.?
>>850535 >>850530 Какой-то ты пиздец поехавший. Есть npm, он грузит всё в папку node_modules. Для динамического подключения модулей-плагинов к твоему модулю ты можешь обходить папку и искать названия модулей с определенной приставкойmodulename-plugin-*, и подключать эти плагины. Но это пидорство, и так делают только конченные уёбки, потому что это нихуя не очевидно, и установка плагина обязует тебя его использовать.
>>850535 >где импорт модулей не зашит в исходник жестко.?
Ты больной ублюдок. ты знаешь об этом?
Ты понимаешь, что зашитый импорт модулей о котором ты говоришь, это блять просто функция. Ты можешь сам ее написать, как тебе угодно.
Ты вообще головой сука умеешь думать? Неужели не способен предстваить в своей голове порядок загрузки и выполнения кода из файла? Нахуй ты вообще пришел писать на этом языке, мудак?
Читаем файл. Тебе сука рассказать как читают файлы с диска? Евалим считанную строку. Ты мудак понимаешь, что такое евал?
Но если ты настолько дибил, что не умеешь додуматься до таких блядь очевидностейЮ то рассказывать тебе о то что эвал в лоб это хуево, и надо сначала скомпилировать прочитанную строку с помощью созданной vm, и потом выполнить когда нужно и в каком нужно констексте.
Иди нахуй, блядь. Просто иди нахуй
Точка входа у него, сука. Методы по форич. Поприходят со своим недоразвитым сознанием из хуй пойми каких языков, а потом бегают кричат, что тут все неправильно и непонятно.
>>850569 Речь не о модулях, подтягиваемых из npm реестра шла, хоть это и не особо принципиально. Суть в том, что есть главскрипт app.js, висящий в памяти (демонизированный, лол) и выполняющий обработку данных, и есть папка plugins, в которую я кидаю скрипт, дополняющий функционал главскрипта, например, export-pds.js. Я понял, что можно подписаться к ивентам из fs.watch(), поэтому, как только я заброшу в папку plugins новый скрипт, app.js будет в курсе и зареквайрит его.
>>850575 Что ты так разбушевался, няша? :3 >Ты понимаешь, что зашитый импорт модулей о котором ты говоришь, это блять просто функция. Ты можешь сам ее написать, как тебе угодно. Да.
>Читаем файл. Тебе сука рассказать как читают файлы с диска? >Евалим считанную строку. Ты мудак понимаешь, что такое евал? Зачем все это, если за меня это сделает require?
"Точка входа" - не более, чем аналогия с dll'ками. В моем случае это может быть некое экспортируемое значение из js-плагина, просто для того, чтобы левый js файл в папке plugins не импортировался.
>>850658 > Я понял, что можно подписаться к ивентам из fs.watch(), поэтому, как только я заброшу в папку plugins новый скрипт, app.js будет в курсе и зареквайрит его. Но зачем так делать? Чем тебе так принципиально подтягивание плагинов без рестарта?
Я написал плугинизированный парсер нескольких сайтов. Причем, плагины - и есть экстракторы данных, которые триггерят ивенты опосля завершения своей работы и экспортируют данные в унифицированном виде, а главный скрипт подписывается на эти ивенты и уже выполняет окончательные мероприятия с извлеченными данными. Все работает, но мне не нравится ситуация, при которой приходится все время править app.js чтобы зареквайрить новый плагин-парсер.
>Чем тебе так принципиально подтягивание плагинов без рестарта? Да ничем, в общем-то. Это уже просто изъебство, но знания о том, как это сделать лучше, не помешают.
Анон, вот почему Promise не полностью продуманные? Они ведь писались с try-catch, так почему нет метода .finally, блять?! Анон, ты понимаешь, насколько нужно быть долбоёбом, чтобы проебать такую годную фичу?
Из-за этого только и не перевожу все AJAX'ы на fetch - некуда пилить функцию .onDone, сука!
На документе стоит событие $(document).ready(); В ready(); происходят чики-брики с использованием jQuery. Только вот ready(); вызывается раньше, чем успеет загрузиться сам jQuery. В хроме и опере такого нет. Тем не менее, $(window).on('load',) я использовать не могу, потому что на странице тонна говна, которая никогда не прогрузится. Есть какие-нибудь опции?
Привет. Если ты мастер или профессионал web - разработки, и у тебя есть свободное время и терпение слушать тупые вопросы тогда ты можешь мне помочь! Напиши сюда
>>850737 Заметил, что если написать $(window).on('load', alert('loaded'));, то все работает. Но если написать $(window).on('load',function () { alert('loaded'); });
>>850756 1. Ты вешаешь обработчик на событие onLoad. Оно выстреливает, когда страница совсем-совсем загрузилась, загрузились все скрипты, все стили, все картинки по 10Мб. Если тебе нужно событие готовности DOM, то в jQuery это $(document).ready 2. На самом деле твой $(window).on('load', alert('loaded')); нихуа не работает. Следи за руками: alert - функция. alert('loaded') - результат вызова функции с аргументом 'loaded' (вызов происходит в момент "первичного" исполнения скрипта, непосредственно после его загрузки). Читани, что такое callback
Господа, как лучше реализовать кучу тоггл-ивентов в редаксе? Например есть страница, там 5-10-20 статей с содержанием (изначально скрытым), тайтлом и кнопочкой, по нажатию на которую раскрывается содержание. Подробно разжевывать не прошу, просто намекните, я тупой.
>>850774 Да я понимаю. Я засунул весь свой код в on('load',), он работает, но опять же, не в фаерфоксе. Затем я засунул функцию в рекурсивный setTimeout, который проверяет, загрузился ли jQuery. Все заработало, но затем я убрал alert('Не работает') из случая, где jQuery не загрузился, перед запуском нового таймера и alert('Заработало') из случая, где он загрузился и попер мой код и код снова перестал работать., функция просто рекурсивно ждет и потом выполняется, jQuery не подключается при этом. Затем я вставил алерт в удачный случай, ничего не происходит. Но стоило поставить алерт в неудачный случай, как после вывода алерта из неудачного слуая все заработало как магия! Убрал - перестало работать. Вставил обратно - работает. Чо за хуиня
Сидел я долго, сычевал, не знал, чем же мне заниматься в будущем. Вот, решил научится быдлокодить. Пробовал учить руби, но не пошло. Да и чувствовал, что не то учу. Вот, подумал, что жаваскрипт — то, что надо. Итак, я полный нуб, ньюфаг и лох. Вот, взял я пару книг из фака. Начинаю читать и сразу же не понимаю, где мне пробовать писать код и смотреть на его результаты. В руби когда пытался въехать, писал в текстовом редакторе с подсветкой кода, выполнялись "проги" в командной строке.
Реквестирую мини-гайд для совсем лохов и слоупоков: как начинать учить яваскрипт, что для этого требуется (в смысле книги, инструменты). Спасибо.
Привет аноны, я к вам с вопросом. Например есть объект, мы хотим вывести в консоли все его содержимое. 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? Ведь по сути это объект и мы можем достать его через точку? А с квадратными скобками кажется только массивы перечисляются. Или я запутался где то?
>>850906 Во-первых, забудь блядь про for in Во-вторых, у тебя в переменной prop название свойтсва в виде строки. Т.е. мы обращаемся не к самоу batman.prop а например к batman.firstname . prop == 'firstname'. И вот чтобы можно было обратиться мы и должны использовать типа вычисляемое свойство
Поясните, пожалуйста, ньюфагу о пользе Jquery, если она жрёт больше ресурсов чем обычный JS. Понятно, что некоторые вещи проще реализовать с помощью данной библиотеки, но есть ли явные преимущества?
>>850988 >о пользе Jquery Если ты из 2003 - годный способ найти что-то на странице. Если ты из 2014 - годный способ сделать всё кроссбраузерно. Если ты хуй клал на старые браузеры, то jQuery тебе нужна только чтобы брать некоторые функции из исходников.
>>850788 >как начинать учить яваскрипт Как говорится в FAQ, начинать нужно строго с learn.javascript.ru - лучше учебника "с нуля" ты не найдёшь от слова совсем.
>что для этого требуется >книги Книги нужны будут когда выучишь основы. Тащемта, лично мне немного понравилась "JavaScript: Шаблоны".
>>что для этого требуется >инструменты Смотря под что будешь изучать. Если это будет клиентский JS - тебе хватит годного браузера типа Огнелиса или на крайний случай Хрома. Хотя браузер сойдёт и на время изучения основ самого языка, до распределения на серверный и клиентский. Если это серверный или прикладной JS - установи себе NodeJS и пользуйся консолью.
>>851010 Хммм, и правда. Когда я впервые услышал про const, фича уже была в FF, но отсутствовала в Хроме. Когда тестировал деструктуризацию - тоже самое. И стрелочные функции.
>>851036 А нахуя ему читать учебники на английском, если есть нормальные альтернативы? Это как вместо MDN и е.п. полностью читать документацию к фиче ради порядка параметров.
>>850919 Во первых не пустой. У объекта созданного литералом {} аж целых два протопипа по умолчанию, как минимум! это null и Object.prototype
Во втоорых, уверен ли ты, что в рантайме в котором ты будешь запускать скрипт, цепочка прототипов не изменена и объекту Object.prototype не подсунуты ПЕРЕЧИСЛЯЕМЫЕ свойства? или что между Object.prototype и null в цепочку не вставленна еще сотня другая объектов?
Во-вторых, тот анон забыл сказать, что из цепочки прототипов вернуться только перечисляемые свойства. Свойства с аттрибутом enumerable:false не вернуться. Собственно, они и из твоего объекта не вернуться, если они не перечисляемы.
Еще, для получения имен свойств объекта (как всех, так только перечисляемых), есть специальные методы Object.keys и Object.getOwnPropertyNames.
>>851129 Одно дело, когда приходят за помощью в неочивидных вещах, или для понимания каких-то принципов. Другое, когда, блядь, спрашивают о том, что гуглится быстрее, чем ожидание ответа итт.
>>851130 >Object.values Я только после твоих слов вспомнил, что пора обновить ноду. Но даже последняя стабильная поддерживает O.values() только с флагом harmony.
>>851138 Посоветую убиться головой о стену, если ты до сих пор не умеешь составить css селектор, который сразу тебе выберет все вторые ячейки каждой строки таблицы.
>>849864 (OP) Дратути! Абсолютно не шарю в вебе, но очень нужно маленькую задачку решить, какзалось бы, такую простую, но такую сложную для незнакомого с вебом.
Допустим, имею ссылку в 1С на судебное дело на сайте arbitr.ru, например, http://kad.arbitr.ru/Card/f751e0b7-5cf8-4c10-9843-4f02c640120c . Нужно нажать на странице этой ссылки на кнопку "Электронное дело" , и скачать (по сути получить ссылки на) все pdf'ы из появившегося списка. То есть, имея ссылку на судебное дело, нужно получить ссылки на все pdf'ы из него
Адрес страницы, зараза, при этом не меняется, иначе проблемы бы не было, я бы просто в html-коде нашёл алгоритмом ссылки на pdf'ы.
>>851151 Мне уже дали совет типа автоматизировать действие - кликнуть на кнопку. Но это, выяснилось, означает, что прямо перед глазами пользователя запустится бровзер, там что-то будет происходить, а мне бы очень хотелось без запускания бровзера, как бы запросом к базе на сервере чтоли, где эти pdfы хранятся, или к сайту, что-то типа как тут: https://toster.ru/q/284736 http://infostart.ru/public/527228/
Возможно ли прямо из 1С post-запросом или типа чем-нибудь таким? CasperJS ведь запустит бровзер перед глазами юзера?
>>851148 Анон, помогите тестануть функцию для определения JSON: > https://jsfiddle.net/qqxocwyp/ . По мере допиливания буду кидать сюда новые ссылки. Сейчас интересует вызов типа > '123'.isJSON(); , ибо только-что попробовал написать регулярку для определения цифр в JSON-формате. Кажется, получилось, ибо мои тесты она прошла.
Анон, протестируй функцию, желательно пока-что с ударением на цифры. Если что не так - пиши :з
>>851163 Каких специалистов? Я вообще первый раз в jquery столкнулся, потому что в ебучем tampermonkey то, что мне надо сделать, средствами жаваскрипта не будет работать.
>>851162 Нет, единственнное что мне вебщик с зп 145К сказал - на питоне автоматизируй Точная фраза: "питон, селениум, пип - и вот тебе счастье для написания парсера" API я не знаю, и Питон не знаю:(
Анон, помогите тестануть функцию для определения JSON: > https://jsfiddle.net/qqxocwyp/ . По мере допиливания буду кидать сюда новые ссылки. Сейчас интересует вызов типа > '123'.isJSON(); , ибо только-что попробовал написать регулярку для определения цифр в JSON-формате. Кажется, получилось, ибо мои тесты она прошла.
Анон, протестируй функцию, желательно пока-что с ударением на цифры. Если что не так - пиши :з
>>851165 Ты ведь настолько тупой, что даже не можешь понять, что ты тупой.
То есть вот в твоем стартовом сообщении, ты СУМЕЛ как-то пройтись по коллекции выбранных тобою строк, и спрашивал,к ак в кажой выбрать вторую ячейку. За тебя, блядь, написали тебе селектор, которыцй сразу тебе дает все вторые ячейки. Но ты настолько ТВЕРДОЛОБЫЙ ИДИОТ, что не можешь пройтись по ним так же, как проходился по строкам, которые выбирал сам в начале. Ты даже название метода блядь знаешь и сам его писал выше.
>>851175 Селектор выбирает все ячейки, таким образом, решение, предложенное аноном с моим циклом будет на каждом шаге к каждой втрой ячейке прибавлять что-либо.
>>851188 Ага, селектор тоже как массив можно, спасибо.
>>851137>>851141>>851160>>851163>>851175>>851177 А ты свою мамашу об стену уеби, только срать в тред и можешь, клоун. Надеюсь, у тебя просто был тяжелый день в школе, и да, научись читать, ебаный даун, я просил без each.
>>851235 >>851246 Спасибо. В общих чертах конечно понятно, что замыкания — функция, которая получает ссылку на функцию, в контексте которой была создана, вместе со всеми её аргументами, но когда доходит до конкретных примеров реализации — понимаешь, что нихуя не понимаешь. Ну да ладно, и на том спасибо
>>851235 Любая функция будет видеть аргументы функции, в которой она объявлена. Тут дело не в специфичности в области видимости переменных в жс, а в сохранении контекста функции после ее вызова и возможности доступа к нему.
>>851225 Если ты и вправду даун, то изучение у тебя займет довольно много времени. Замыкания это средство для инкапсуляции, причем не сильно удобное и понятное. В ES6 есть средства которые делают это лучше. Пока ты будешь разбираться со всякой хуетой она уже морально устареет.
>>851279 > которая получает ссылку на функцию Не совсем. Поиск переменной идет вверх по уровням областей видимости. Если ты обращаешься к переменной, которая обявлена во внешней функции, то эта переменая остается доступна даже тогда, когда ее функция уже отработала.
>>851288 > Пока ты будешь разбираться со всякой хуетой она уже морально устареет. Ты предлагаешь ему писать на JS, не понимая замыканий и контекста вызовов? Может ты ещё скажешь, что прототипы изучать не нужно, ведь есть ES6? По-моему, если у человека туго с мозгами, то пусть не лезет в программирование. Другим программистам меньше говна разгребать.
Считается ли зашкваром использовать ассерты в продакшн коде для верификации данных (например, респонсы по запросу к АПИ)? Или ассерты используют строго в коде для тестирования?
Хочу вкатиться в android dev, с чего начать? Могу в ванильный JS(back:node+sails/front: jquery, в сторону фремворков некогда смотреть было, не думаю что сложно), так же могу в php.
>>851446 Хороший фреймворк особенно для тех кто еще не работал с фреймворками. Не слушай мамкиных диванов в этом треде, на нем все то пишут проекты, он все то обновляется (20 дней назад судя по гитхабу). Самое забавное, что все вкатывальщики бросились сейчас за реакт, хотя толком ни жс, ни другие фреймворки не знают и даже понятия не имеют как там все работает и почему.
>>851490 Смотря какой Ionic, Ionic Native очевидно лучше, из-за производительности. Правда не знаю, на какой стадии он сейчас находится. Еще React Native, самый мейнстрим.
>>851495 Не надо говорить за всех, окей? Самого раздражает когда люди толком не научились писать на ванилле, но лезут во фреймворки. Но вот чтобы садиться за реакт вообще не обязательно разбираться в том же бэкбоне.
>>851501 Языки и библиотеки/фрейморки — понятия ортогональные. В любом языке найдется хотя бы два стула. В PureScript есть Pux, React и Halogen — на какой сам сядешь, на какой вкатывальщика посадишь?
>>851501 Пиздец ты хипстор. Сам-то на Эльме пишешь или просто выебнуться решил, мол, "смотрите какой я нихуево прогрессивный, на блидинг эдже технологий нахожусь, а вы все быдло"?
>>851556 Только как он наведет порядок? Браузерное API принципиально не поменяется, ассемблер даст лишь некоторый прирост в скорости, который не повлияет на то, как ведется разработка. Для использования иных языков в вебе уже все есть.
Пацаны, объясните для тупого почему в первом случае контекст вызова привязывается, а во втором - нет, ведь порядок выполнения: 1) логическое выражение, по которому возвращается выражение для true, 2) вызов метода объекта user через оператор точка, при котором по идее и происходит привязывание контекста.
>>851594 Ой всё, лол. Надо было дорешать все задачи до конца. Короче, если внутри скобок находится вызов метода объекта, то скобки как бы ничего не решают, если под скобками иное выражение, вроде тернарного оператор, то контекст вызова не сохраняется. Часть спецификации, нужно просто принять. Хуево зделоли на мой взгляд, не знаю где это может пригодиться, больше похоже на ляп проектирования.
>>851594 Интересный вопрос, пришлось лезть в стандарт. Краткая суть: синтаксисически "выражение" и "(выражение)" являются равноценными. Если интересно, можешь найти описание PrimaryExpression в ECMA-262.
>>851604 В пятой версии есть пояснение: >The principal motivation for this is so that operators such as delete and typeof may be applied to parenthesised expressions. Почему это нужно для delete понятно. Почему без этого не должен работать typeof мне не ясно.
Сап. Допустим есть файл, который в данный момент не доступен по указанному 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 станет доступен?
Привет о великий мастер. Такой вопрос я вроде бы изучил основы js но писать программы так и не научился вроде бы нашел какие то левые упражнения, но вот не пойму как начать их решать. Если ты адыкват то ответь что мне делать. Заранее спс !
>>851502 Ты епанутый сцуко(( Для того чтобы писать хуйню на реакте/первом ангуляре вообще можно жс не знать. Просмотреть мельком клитора как местные долбоебы делают и идти устраиваться разработчиком реакта, лол. Хули, есть стаковерфлоу и оттуда копипасть ума не надо.
>>851684 Под "т.д." он, вероятно, подразумевал ооп. >>851682 С таким багожом можешь сразу работать идти, в процессе доучишься. >>851675 Товарищ, как бы, намекает
>>851682 Бери учебник и занимайся по нему нормально. того же Клитора, тьфу, Кантора или еще какой-нибудь с упражнениями. Можешь задачки порешать как тебе уже советовали. Ты судя по всему еще ниче и не знаешь толком.
>>851688 так то я у него и учусь вот там я и основы прошел js. Недавно открыл data чтобы посмотреть что да как, после этого как ты знаешь есть задания которые я низуя не решил ну только легкие....
>>851678 мамко твоя чмо с клитором.. >>851681 все то поддерживается, куча проектов на нем, которые не торопятся переписывать на вторую версию, все вопросы по нему уже отвечены
>>851645 Я новичок, и ещё не дошёл до всяких промисов(хз подходит он тебе или нет), но из того, что уже прочитал может попробуешь через setInterval проверять? Ну или рекурсивный setTimeout?
>>851755 >>851728 >>851774 Всем спасибо. Иногда бывает полезно почитать доки. Асинхронно у XMLHttpRequest на один запрос приходит только один ответ, т.е. onreadystatechange срабатывает только при смене readyState на 4, что происходит один раз за запрос. Когда разобрался сделал функцию, которая через setInterval() раз в 30 сек делает .open() и .send(). Если кому интересно - вот код http://pastebin.com/H9s9dF1P
>>851787 onreadystatechange срабатывает не только на 4, а на стейты 0-4 (т.е. эвент сработает 4 раза, просто ты в скрипте ловишь только стейт 4, которая сигналит за конец запроса)
>>851553 Я его только учить начал, прикольная штука, рекомендую, очень простой и понятный язык. Еще собираюсь освоить Progressive Web App, буду на блиндинг эдж технологиях, а вы все быдло.
>>851803 Ну я просто сначала думал что оно срабатывает не на .readyState, а на .status и при этом мониторит его непрерывно, а не один раз после подключения.
Привет, анон. Как из числа получить массив чисел? Например, есть 123, а получаем [1,2,3]. Пробовал split но почему то не работает на числах. Array.from выдает [] пустой массив.
>>851866 Обычно литература по ES6 базируется на прошлых версиях ES и поясняет за изменения. Если найдешь литературу с нуля поясняющую за ES на основе ES6, то да, в принципе можно игнорить, но стандарты я советую всё же прочесть, чтобы понимать что/как и почему именно так
>>851957 Не читай подобных хуесосов. Они зачем-то перечисляют кучу технологий, чтобы создать видимость беспорядочности и сложности. Им, видите ли, не нравится, что есть выбор среди нескольких инструментов для одной задачи.
>>851957 В любом языке есть простое ядро, которое можно выучить за час. Этого ядра достаточно, чтобы писать рабочий код. В то же время, в любом языке есть куча инструментов, которые позволяют не просто писать код, а делать это продуктивно. И никто не говорит, что для всякого проекта требуется обмазываться всеми технологиями сразу. Для пары кнопок хватит jQuery. Проект становится сложнее — усложняется и стек. Это происходит в любом языке. И зачем я злоупотребляю квантором всеобщности?
>>851985 Ну кстати если стоит задача посчитать цифры числа, то форма записи не сильно принципиальна, так как E23 - это всего лишь 1 с 23 нулями. То есть нужны цифры до "е" единичка после. Но таки да - одним приведением к строке уже не обойдешься.
>>852024 >Блять, пытаюсь осилить дом на лернджаваскрипт Но зачем, лол. Пусть манипуляциями с домом займется Реакт лучше сразу приучать себя мыслить в компонентном ключе, а ты сконцетрируйся на логике работы своего приложения.
>>852024 Вот этот >>852027 дело говорит. Я тебе вообще советую записываться на курсы по жс (наверху нажми на курсы). Начни с базового, потом возьми по реакту или ангуляру. Сейчас запустили курс по второму ангуляру. Если пройдешь первую часть и курс по тайпскрипту, то получишь скидку 3 тысячи.
>>852049 Для серверного рендеринга манипуляции с домом тем более не нужны. Для нормального компонента просто делаешь renderToString, добавляет дегидрацию/регидрацию — и никакой рефакторинг не требуется.
Такая проблема, есть выпадающее меню, реализованное с помощью hover display:block. Проблема в том, что на мобильных девайсах меню появляется если тапнуть по нему (указателя мыши то нет). И не исчезает если не тапнуть по любой другой области страницы. Хотелось бы, чтобы по тапу на любом из пунктов меню - оно таки исчезало (ссылки на якоря, страница не перезагружается). Но для настольных платформ с мышью, оно продолжало реагировать на наведение курсора.
>>849864 (OP) Господа, как сделать так чтобы после нажатия кнопки страница обновлялась? Ну например я ввожу что-нибудь в строку, жму далее, на том же экране следующее поле и тоже кнопка далее, одностраничное приложение типа. Подскажите, если не сложно. Гугление пока ни к чему не привело.
>>852324 Господа, как сделать так чтобы моя копейка могла ездить от электричества? Ну например я еду такой по трассе, у меня заканчивается бензин, а по близости только электрозаправки и я могу запитаться от них и ехать дальше, электромобиль типа. Подскажите, если не сложно. Гугление пока ни к чему не привело.
>>852303 Ядро плюсов — это функции, указатели и классы. Если ты совсем нюфаг, ни за час, ни за 21 день ты их конечно не изучишь, но если ты уже умеешь создавать работающие программы — написать первый факториал сможешь за 20 минут. STL — это уже jQuery. Boost — это уже lodash, Qt — это уже Angular; темплейты и прочие плюшки языка — это уже магия. Ядро цэпэпэ не включает в себя весь стандарт.
>>852361 Почти, нужно чтобы меню продолжало реагировать на наведение курсора. Как совместить onclick и mouseover/mouseout(:hover)? Может быть определять девайс юзера, и для мобильных использовать обработчик onclick, а для настольных (с мышью) mouseover/mouseout(:hover)?
>>852377 Загугли события js и как менять стили с помощью js. Как это применить, чтобы решить твой вопрос я надеюсь у тебя хватит воображения. Не вздумай делать кучу маленьких страничек с одним полем и кнопкой, иначе один южноафриканский котик умрет.
>>852391 Спасибо, но я написал только оригинальный вопрос и вот этот >>852334 пост, остальное - шуточки мимокрокодилов. Если что - делаю тестовое задание на червя-пидора-стажера-php, в числе прочих задач просят и одностраничное приложение сделать хоть просто на js хоть с фреймворком. А я js даже не касался в своем самообучанстве, поэтому гуглю.
>>852421 Что можно рандомное js говно впарить в качестве тестового. Меня просили шаблонизатор пилить хотя тут эскобар.жпг Ангуляр почитай. Я думаю они оценят, если сделаешь что-нибудь на ангуляре. Прочитать доки по англяру тебе будет проще, чем пробираться через дебри багов и костылей твоего велосипедного одностраничника (тем более если ты раньше такого не делал)
>>852428 Я еще не знаю что можно и что нельзя впарить, мб я отправлю им задание, а они еще и собеседование проведут чтоб прям при них фейсбук написал. Вообще, если честно, я слегка прихуел от того сколько всего нужно знать и уметь чтоб вкатиться. Опасаюсь что даже если и возьмут на стажировку, то с позором выгонят через неделю, и потом детям и внукам еще через 50 лет будут байки травить как к ним пришел нулевый вася.
>>852440 Не парься, не будут над тобой угорать. Ты же на червя-пидора-стажера идешь устраиваться, а не на мидла или сеньора-помидора. Будет сложно, но ты главное не аутируй где-то в уголке, а заебывай вопросами более опытных коллег, делай что говорят и всё будет заебись. Тебя специально берут нулевого чтобы обучить и ты мог работать как джун-мидл за копеечную цену (или почти не копеечную, если ты у мамы биллгейц, но я что-то сомневаюсь). Короче, без навыков на реальный проект тебя не пошлют, так что всё норм. Научат, станешь суровым погромиздом.
Вечер добрый, пару дней назад советовали ionic чтобы вкатиться в андроид дев. Но как оказалось, нифига не ясно с чего вообще начать. Установил кордову, андроид sdk и android developer от jetbrains. И все, дальше не ясно куда смотреть. К примеру на пхп я знаю что мне нужен сервер для запуска-апач либо нгинкс. Нода сама по себе и сервер и апликуха. Что такое приложение на Андроиде и где егоотлаживать и из чего состоит процесс разработки мне в корне не ясно. Если есть опытные люди - посоветуйте материал для изучения. Кстати пробовал ставить visual studio community - судя по комментариям онустанавливается 9 часов или около того, и это в 2016 году, ппц. Так что посоветуйте и годную среду разработки..
>>851681 Скажите мне, зачем используют реакт? Пару дней назад с ним столкнулся, пока только рвотные позывы. Может, надо упороться чем-то? Умею в ангуляр, бэкбон и нокаут.
Я не троллю, но вообще, совсем, абсолютно не понимаю, как можно сравнивать реакт хотя бы с нокаутом, не говоря уж про реакт vs божественный ангуляр...
>>852597 Ну что ж ты за пидор неумеющий в гугл. 1.Ставишь webstorm (блокнотопетухи включают sublime text) 2.Открываешь доки по ионику и ангуляру 3.Пишешь свой отстой пидорский 3.1.Ставишь плагины если нужен доступ к каким-нибудь штукам типа камеры 4.Билдишь всю эту хуйню 5.Смотришь какого хуя все тормозит ... 7.Уебываешь в пхп
Пользовательским скриптом на произвольную страницу добавляю внешний скрипт с локалхост. Сам скрипт добавляет 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.
Раньше я думал, что политика безопасности для внешнего скрипта определяется его доменом, но походу все выполняется в рамках первоначального домена. Так ли это? И как в моей ситуации лучше поступить?
>>852601 Да реакт просто пиариться сейчас активно, вот и весь кипиш на него среди диванных вкатывальщиков. А по сути технология сырая еще, многое зависит от "моды" лол и возлагать серьезные долгосрочные планы на него я бы не стал. Помимо него еще 2 вполне себе ок стула - первый и второй ангуляр.
>>852818 Юзерскрипт похоже не влияет. У меня есть Домен1, там скрипт и всякий контент для фреймов. Нужно встроить скрипт на страницу в Домен2. Как я говорил, скрипт добавляет фрейм, вешает обработчики на элементы фрейма и т.п. Хотелось бы весь жс код для удобства, замыкания, пере использование, все дела. Хотя это, наверное, нереально. Если разбить код и распихать по фреймам, то должно быть норм, сделаю так.
Поясните за angular и two-way biding. Шатал туториал (https://thinkster.io/angular-rails) с беком на руби-на-рельсах. В итоге серверная часть только отдает json список содержимого модели, шлет put запросы в базу, внося изменения. И если открыть один и тот же ресурс в 2 вкладках, в одной внести изменения, то во второй они отобразятся только если страницу обновить. Ну и зачем нужен ангулар если тот же самый эффект есть и без него. Что я делаю не так, кроме вкатывания в js?
>>853064 > Ну и зачем нужен ангулар если тот же самый эффект есть и без него. Чтобы переход на другую страницу (в той же вкладке) не обновлял страницу. Коммуникацию между табами в браузере тоже можно замутить, но это не встроено в ангулар.
>>853073 т.е. чтобы на одной открытой странице открывать разные страницы? А чем плохо через гет запросы страницы открывать, а не подгружать их на одной странице?
>>853109 Во-первых, снижается нагрузка не сервер, клиент-сайд генерирует страницу из данных. Во-вторых, не нужно дублировать данные в каждом запросе, можно выдавать только то, что клиенту необходимо для вывода новой информации. В-третьих, отрендерить на клиент-сайде только нужный кусок, допустим записи в таблице, быстрее, чем перезагружать всю страницу и рендерить ее с нуля. Да, это можно зафигачить в ручную или с помощью всяких jquery, но всякие ангулар и реакты могут упростить процесс.
>>851288 >Замыкания это средство для инкапсуляции, причем не сильно удобное и понятное Спасибо. Как раз сейчас с ними, вроде и понял, и канторо-задачки решаю, но долго получается. Там просто на главе с замыканиями так написано, что кажется, будто из замыканий состоит вообще всё, и я боялся, что недостаточно хорошо освоил такую повсеместную штуку. мимо-еще-один-вкатывальщиксудя по фленегану, прошел пятую часть пути
>>853134 Проиграл с этой хуйни. Именно поэтому у нас используется ангулар 4 года для внутренних админок и прочей хуерги без оглядки на всякие бабелы-хуябелы. Сейчас понемногу перекатываем на второй и тайпскрипт.
>>853129 Он использует лонгполинг сервер. Коннект к серверу висит до получения сообщения (или уведомления), после получения коннект пересоздается. Таймаут для таких запросов задает не сервер а клиент (клиентский код). Посему таймаута может не быть вообще.
>>853187 а сам как думаешь лол a (ASCII 97) Z (ASCII 90) оно по дефолту так работать не может, а если делать A-z, то там всякой хуйни будет типа \[]^ и т.д.
>>853134 Поэтому я и начал учить Elm, даже если не взлетит, все равно приятно писать в нормальном языке, плюс еще и функциональщине научусь, хоть и в чутка обрезанном виде.
>>853179 Я тоже туда же. Это шизофрения просто, на современных сайтах js по 30 штук. он ивесят больше, чем все картинки хайрезные, это же ебать сколько кода. и что он делает, нахуй он блять нужен вообще.
>>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
На страничке список, форма и три кнопки.
Немного утрирую, но я хочу программировать, а не бороться с инструментами.
>>853418 ну а что ты хотел? JopaScreep же По хорошему нужно полностью отказаться от ЖС, всем бывшим ЖС-разработчикам запретить прикасаться к клавиатуре и сделать все заново с нуля. Такого анального цирка еще не было за всю историю IT. Это целый пузырь, поддерживаемый за счет постоянного reinventing the wheel, который однажды да лопнет.
>>853425 >Это целый пузырь, поддерживаемый за счет постоянного reinventing the wheel, который однажды да лопнет. NYET. Не лопнет, ибо законодателями этой хуйни являются мастодонты IT - Google, Facebook etc.
2) document.GetElementByTagName('li'); Создается пустая живая коллекция (так было написанно в учебнике, но вот если посмотреть в консоли, то там как будто создается коллекция из всех элементов сразу).
>>853418 Слава Марку теперь есть create-react-app, поэтому можно меньше трахаться и больше создавать. Но да, когда-нибудь нужно избавиться от всей этой хуйни и сделать единый стек, в котором все будет собираться одной командой, а стили/разметка/код будут на унифицированном языке. И все к этому идет.
Делаю микроприложение для контроля данных, передаваемых по в реальном времени (стенд для испытаний оборудования в АСУТП).
Использую следующий стек: бэкенд - Node+Express+SocketIO+NeDB фронт - React+MobX
Вопросов по перечисленным технологиям, в принципе, нет, работаю и получаю удовольствие. Но вот с чем реально вышла запара, так это с выбором либы для построения графиков.
Выбор пал на Plotly, как на либу, позиционирующую себя невъебенно крутой и серьезной. И вроде все работает как надо, но столкнулся с откровенно детскими болезнями либы: - нет HTML5 Fullscreen API. Сделал, но по нажатию любой из кнопок на modebar, фуллскрин сбрасывается. Похуй, сделал ресайз на весь экран. Сломался RangeSlider (ибо он не ресайзится!). Пиздец. - сделал плавную, приятную глазу анимацию разворачивания графика на полный экран при помощи Animate.css. Отлично! С анимацией при сворачивании обратно, с возвратом к исходному разрешению графика, выпадают (буквально, блядь!) кнопки с modebar графика. Ну что за хуйня?
Посему реквестирую годных либ для построения графиков, которые поддерживали бы ресайз, динамическое обновление данных (стриминг), имел бы rangeslider, ну и экспорт в графический файл (хотя если это canvas, то экспорт закостылить не трудно). Смотрел в сторону dygraphs - насколько он хорош?
>>853425 >По хорошему нужно полностью отказаться от ЖС Не нужно отказываться, просто не нужно писать непонятный говнокод. Вот реально, требования от жс на 99% сайтов одни и те же, что делал жс в 2010 году, то он делает и в 2016, однако скрипты теперь весят за мегабайт. Куда нахуй, что в них напихано, ЧТО БЛЯТЬ. На сайте 1 слайдер и проверка формы, что можно было накодить на 1 мегабайт.
Добрый вечер в хату. В общем разбираясь с жс наткнулся что иногда для свойств объектов пишут obj[prop]. Собственно в этом и вопрос, в чем разница между obj.prop и obj[prop]? Например, в консоли я создал простой объект jsmakaka с 2 свойствами name: 'Alex' и lastname: 'Anonov'. Так вот, console.log(jsmakaka.name) работает и выводит Alex, но jsmakaka[name] кроме ошибки ничего не выводит. Прошу местных js господ разъяснить эту ситуацию. Вот такую форму записи obj[prop] точно видел и там был точно объект, а не какой-нибудь array.
>>853610 Как это называется obj[prop] или как искать в гугле чтобы прочитать поподробнее? Просто "в первых главах" звучит очень расплывчато для того кто не читал его учебника и учился по другим источникам.
>>853620 Эта параша всяко лучше твоих "других источников", из которых ты даже не знал как обращаться к свойствам объекта через квадратные скобки. Да и неумение забить в гугл "js object brackets" выдаёт в тебе дебила.
>>853442 Че несешь? В первом случае тебе массив ссылок дают по css селектору, во втором по тэгу элемента. Какие коллекции? Совсем там со своими абстракциями ебанулись блядь в хлам.
>>853620 > заебал пиарить свою порашу в этом треде. Сомневаюсь что Кантор здесь тусовал. Он наверняка поёбывает няшных хипстеров на очередном стартапе.
>>853626 Спасибо, анон! Всё четко и по делу написал. >>853627 Сам деб, раз агришься не из-за чего. Мне норм, просто ВСЁ удержать в голове не возможно, особенно когда только вкатываешься в эту помойку. >>853658 Хз, его форум в каждом втором посте пиарится ага, других источников нет конечно.
В первом случае тебе вернется просто коллекция по селектору, во втором живая коллекция по селектору. Схуяли она по твоему должна быть пустой, если у тебя на странице в момент ее создания есть элементы соотвествующие селектору?
Ребятишки, подскажите: Сделал небольшой сайт на React + Redux (и через create-react-app), который берет json с вордпрессовской WP REST-API (т.к. в бекэнд я пока не умею). На локалхосте все заебись работает, а вот как это все к вордпрессу присобачить - хуй пойми. Сделал npm run build и залил это говно вместо темы, захожу на свойсайт.ком, в консоль пишет что не может найти /static/js/main.e0dbbf8e.js ну и прочие собраные файлы. Как мне задеплоить эту парашу вместе с вордпрессом ? Гуглил, вообще нихуя нет на эту тему, все туториалы дальше хеллоуворлдов на локалхосте не заходят.
>>853656 >highcharts По демкам нихуево выглядит. Но как у HC с быстродействием?
Мне требуется отрисовывать примерно 5-7 графиков, сделал обновление данных раз в секунду (не принципиально, можно период изменить) но координаты приходят пачкой, т.е. за секунду набирается, например, до 10 координатных точек на 1 график.
Plotly даже с .extendTrace() подлагивает временами, хотя его форсят как более производительную, в плане рендеринга, альтернативу HC.
>>853778 Не то наверно. Короче, загрузка начального состояния всего приложения происходит при запросе /index, далее мы можем перейти в /users. Как сделать чтобы мы могли вбить в строке адреса сразу /users и отобразилась бы страница с пользователями?
Вы вчера мне говорили, >>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 Вот такое противоречие.
>>853794 Вопрос не правильно поставил. Сейчас более менее вник. Суть API этого - обращение к дб. Т.е если я хочу использовать JavaScript, мне нужно просто переписать все функции на нем.
Другой вопрос, не лучше ли будет написать скрип в JS, который будет запускать С программу (child process) и output из этого С скрипа передавать обратно (через pipe)? Т.е использовать С библиотеку все-таки.
Это будет экономнее по времени, чем переписывать функции в JavaScript? По производительности?
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 к диву, чтобы потом снять один, не ломая другой?
>>853987 1. Если ты пишешь JQ плагин, то почему не .on() .off()? 2. Нахуя ты делаешь Hyi.prototype.eventListener = function (ev) {}? Почему ты в конструкторе не можешь объявить this.eventListener = function(ev){} например?
>>853803 Там есть и вьюхи тащемто. Движок для рендеринга ты волен сам выбрать. >>853969 Нет, оверхайпнутая параша для любителей оверинжиниринга. Лицокниге оно один хуй не помогло. Интерфейс как был тяжелым говном с кучей лишнего говна, так и остался. >>853987 > 2016 год > Писать плагины для jQuery Ну бля. Но ладно, я 2 раза прочел тобою написанное и нихуя не понял. Пример кода запили и покажи где косяк.
>>853998 >> Писать плагины для jQuery >Ну бля. Ну может не нужен ему (one|two)-way binding и дёртичекинг? Может он не педохипстер и просто хочет с ДОМом поработать?
>>854000 Да не в этом дело. Либо у него недостаток опыта либо что-то простое. Тут скорее первое. Поэтому > рефакторь накуй единственно верный совет, а он написал хуйню.
Ребзя, а давайте определимся, что же пизже — Angular 2 или React + Redux? Избавился ли Angular с выходом второй версии от своих прежних болячек? Есть ли тут ребята, которые и Angular 2 юзали, и React + Redux? Что из них лучше себя показывает в связке с Node.js + Express? Или без разницы? Правда ли, что Angular 2 по мере роста проекта начинает глюкаво тормозить, в отличие от React + Redux? Или пиздёж?
>>854044 >ang2 Производительность стала больше, поверх покрыли все типизацией. Теперь это дело легко тестировать, допилили модули напильником. Годная штука. Порог вхождения увеличился да и хуй с ним. Когда мне понадобится, я выберу его. Да, ад в виде html внутри js внутри html внутри js можно делать, но у нас например за такое при коммите по рукам бъют.
Заметил за node и/или express одну неприятную особенность: без вмешательства пользователя дублируется последний реквест. Например, написал я форму и решил протестировать корректно ли данные, посланные с ее помощью, записываться в базу. Проверил, получил результат, отошел на 5 минут. Прихожу и вижу два идентичных поля в базе, хотя при уходе было одно. Кто-нибудь сталкивался с подобным? Есть ли способ такое поведение исправить
>>854064 Также я не понял, что значит фраза о том, что Angular 2 требует больше boilerplates, что такое additional boilerplate overhead, и что это вообще такое: boilerplate. Пояснишь?
ДжиЭсеру, посоветовавшему Highcharts вместо Plotly - спасибо. Все работает (почти) как надо. Либа респонсивна искаропки, поддерживает несколько форматов экспорта, присутствует менее глючный рейнжслайдер. Скорость рендеринга вполне на уровне.
>>854078 Ты ответ то нормальный отправляй своему аякс скрипту, а то он бедолага ждет код 200 от ноды, а получает хрен пойми что, и по таймауту дублирует свой реквест.
Шалом, братья. Помогите разобраться. Есть код (рис. 1) Есть обработчик (рис. 2) Он осуществляет поиск по БД и выводит в результат переменные rno = 1 и result = dom 31 Результат поиска в рис. 3
Как мне вывести эти переменные в таблице, чтобы туда можно было добавить другие строки из базы данных, либо ссылки на другой обработчик?
Или просто поясните логику, как в jquery выводить переменные в таблицу.
Хуярю на реакте уже месяц. Чувствую что меня наебали. Нет стройности, внятности. Для SPA это не годится, это по сути View библиотека. А надстройки Redux Flux и т.п. слишком размыты. Какие то хипсторы делают непонятно как относящиеся к самому проекту доп. методологии. Возникает вопрос а где гарантия что через месяц не придёт очередной патлач и не придумает новую охуительную архитектуру папок? Какието невьебенные конструкции где переменные повторяются по 20 раз для одного действия. Мифическая расширяемость и производительность кажется слабым аргументом, ведь в энтерпрайзе всегда побеждала хуяк-хуяк простота. Короче не советую это говно, буду пробовать анг2.
>>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){} например? Это тоже переписал.
Я знаю что вы сейчас будете яро называть меня долбоебом и т.д. И кстати будете правы. Но помогите с пониманием этих ебучих замыканий. Так то понятно что функция внутри функции создает некий объект с перменными, и ссылкой на вышестоящий по иерархии такой же объект в котором записаны переменные из его области видимости и ссылкой на вышестоящий если он есть. Но из примера на learnjs я нихуя не понял куда записывается итерированное значение переменной? По моей логике каждый раз вызывается функция внутри функции которая просто увеличивает переменную из вышестоящей функции. 1++ 1++ 1++
>>854340 Ты же первой частью своего поста ответил на свой вопрос При присваивании counter = makeCounter() создается скоуп с переменной currentCount, которая хранит своё значение
>>854315 Глядите-ка, еще один ёбан, ожидавший от Реакта магии в стиле "enter here xyipizda to make this shit work" сломался и не преминул об этом доложиться в программаче.
>А надстройки Redux Flux и т.п. слишком размыты. Это вообще пушка. Если ниасилил иммутабельное хранилище или тошнит от функционального подхода в целом, есть MobX, который в non-strict режиме позволяет напрямую присваивать новое значение отслеживаемым переменным. Конечно, так делать не комильфо, но тебе ли не похуй? Энивей, если тебе не нужно поддерживать концепцию "single source of truth", можно обойтись старым добрым setState.
>Возникает вопрос а где гарантия что через месяц не придёт очередной патлач и не придумает новую охуительную архитектуру папок? Кто ж тебя, дубина, форсирует использовать какую-то определенную структуру для проекта? Если ты из тех мудаков, что не могут себя дисциплинировать в отношении структуры проекта, то и для таких существуют готовые решения - генераторы и бойлерплейты. От проекта к проекту структура будет постоянной.
>Какието невьебенные конструкции где переменные повторяются по 20 раз для одного действия. Ты про что, упорыш?
>Мифическая расширяемость и производительность кажется слабым аргументом, ведь в энтерпрайзе всегда побеждала хуяк-хуяк простота Так все это была тонкая ирония, ведь правда?
>Короче не советую это говно, буду пробовать анг2. Через неделю ждем свежую порцию откровений о том, что ангуляр 2 пиздец параша и что неплохо было бы откатиться во времена jQuery UI. Во тогда делали заебись!
>>854411 Ебать ты хуесосина. За 1к можно вообще не кодить, а клацать час в день сайты и говорить менеджеру работает или нет. Раздирать свою жопу реактом имеет смысл не меньше чем за 4к.
>>854411 Получишь абстрактной фабрикой по губам. На вакансии фронтендщиков уже 22 предложения в среднем на вакансию и значение растет. Все, лавочка закрывается, скоро WEB-пузырь лопнет как в 2001 и нас ждут толпы безработных 'веб-программистов.'
>>854412 >>854444 Похуй, я настойчивый) Почти все знакомые куны с филфака вкатываются в программирование.) Кто-то Квантора читает, другие хотят версталами, но в любом случае не пропадем.
>>854458 Нынче каждый второй вкатывается в программирование, даже знакомая бухгалтерша, которой под полтинник. Хорошо, что у 90% дальше хтмла дело не идет.
допустим у нас есть модель данных и вьюха для неё. когда меняются данные в модели, я так понял, в виртуальный DOM рендерится всё, а он ищет разницу по которой уже меняют настоящий DOM.
но нахуя это всё если мы за время компиляции JSX можем уже знать какие элементы будут меняться в зависимости от полей модели. например псевдокод:
<div class="{ classList.join(' ') }"></div>
можно ведь без виртуальных домов прописать что model.on('classList:change', (ev, data) => view.setAttr({ class: this.classList.join(' ')}))
>>854461 Не знаю, я только радуюсь за тех вкатывальщиков, которых прёт от Реактов, Ангуляров, Нод и Питонов с Джангами, а вы тут бедняги трясётесь за то, что кто-то ваш хлеб отбирует. Ссыкуны.
>>854471 будет точно также как это было с пыхой и повторилось с первым ангуляром. орды макак которые не понимают что делают, но тем не менее делают и за низкий прайс. они могут конкурировать только с нынешними "динамический сайдбар до завтра"
В двух словах: патчить дом по синтетическим расчетам быстрее, чем ре-рендерить его полностью. Для того, чтобы вычислить "патч", требуется хранить несколько "слепков" дома.
>>854492 >Для того, чтобы вычислить "патч", требуется хранить несколько "слепков" дома. реквестирую пример в котором виртуальный ДОМ делает то что нельзя предсказать за время компиляции JSX
>>854483 везде где юзают виртуальный ДОМ говорят одно и то же, мол стильно модно молодёжно патчить ДОМ, а не делать полный ререндер, так как узкое место - это скорость рендера ДОМ. с этим то я согласен, мне непонятно зачем городить такой оверхед в рантайме, если все патчи ДОМ можно предсказать на этапе кмпиляции темплейта
>>854458 О, так ты не просто вкатываешься в реакт, а вкатываешься в кодинг начиная с реакта. Удачи, братан. Вангую, сольёшься даже не на каком-нибудь там редуксе, а ещё на этапе настройки вебпака.
>>854511 Блядь, нет конечно, VirtualDOM - это не панацея, это - компромисс. Как, врпрочем, и твой вариант: >model.on('classList:change', (ev, data) => view.setAttr({ class: this.classList.join(' ')}))
Только учусь. Не работает Geolocation. Вот ссыль. https://jsfiddle.net/0moh53w7/ Я не понимаю, почему оно не находит месторасположение Помогите пожалуйста, иначе я никогда не пойму эту тему.
>>854737 Окай, наведу на мысль. 1. Создаёшь модуль, делающий запросы к серверу. 2. Никогда не используешь его в самопальных директивах 2. Используешь этот рукожопно написанный модуль во всех контроллерах и других модулях 2. Проффит Короче ты наговнокодил, переделывай.
Как мне ебаный create-react-app в один статический бандл засовать ? Так чтобы не в память грузило, а просто закинул хтмл в браузер и заработало ? Если просто npm run build делаю и кидаю в браузер, то потом он не может сбандленые им файлы найти (я сначала думал дело в том что нужно homepage в package.json указать, но хуй пойми что туда писать, по всякому пробовал - не пашет) Попытался сделать run eject, снес всю эту парашу, потом сделал свой webpack.production.config.js с бабелями хуябелями и тд. В итоге запускаю вебпак, работает 18ms и говорит что все заебись, а сам даже папку build не создает. Причем для теста с этим же конфигом простой хеллоуворлд создавал и его нормально сбилдил. Помогите плз, уже который день ебусь над этим.
>>854910 Понял свою ошибку, оказывается нужно было --config добавить. Но теперь дохуя других ошибок вылазит (в конфиге что-ли проблема ?) но хоть бандлить начал. Еще теперь на {..state} почему-то выебывается, а конкретнее на многоточие. Это же из es2015 фича вроде-как ? Импорты то нормальное делает.
Здравствуйте, отцы. Пишет вам 24 лвл программист. Пишу всю свою рабочую жизнь на шарпе. Сейчас встает вопрос о переезде в дс. И я считаю, что нужно перекатываться на другой ЯП. Пилить 3 года формочки на винформс и впф меня уже, мягко говоря, заебало. Поэтому нужно вкатываться в вэб. Что сейчас стильно, модно, молодежно? Выбор упал методом рандома спросил у друга на ноду.жс. В вэбе я знаю почти нихуя. Подскажите, пожалуйста, что последовательно стоит учить, учитывая мои "знания". Паттерны проектирования знаю, но не думаю, что это особо тут полезно. То как ехал граф через граф тоже. Еще в юнити умею 2д игрушки делать. Если здесь найдется наставник, буду очень благодарен.
>>854919 >Это же из es2015 фича вроде-как нет, spread на объекты в 2015 не ввели, только iterable
>>854921 Запоздал ты, оно уже протухло, лол (на самом деле нет). На самом деле если будет как обещают, то будет круто, пока же куча ишью. Но тем не мнее скорость + оффлайн режим + лок файлов подкупают
Пишешь такой свой пет-прождект на react/redux на компилируемом строготипизорованном языке, тут хуяк - подработка, а там - питон, цмс, жс внутри html, html внутри js, jquery плагины. Пиздец нахуй, велком ту зе риал ворлд.
Этот тред посвящён главному языку будущего - 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/ для серверного кода.