Ссылка на прошлый тред: >>1091285 (OP)Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.Часто задаваемые вопросы:https://github.com/vladimir37/js-thread/blob/master/Wiki/faq.mdСписок материалов для изучения:https://github.com/vladimir37/js-thread/blob/master/Wiki/learn.mdСписок инструментов и направления JS-разработки:https://github.com/vladimir37/js-thread/blob/master/Wiki/tools.mdИнструмент для визуализации и экспериментов со связями между объектами в JavaScript:http://www.objectplayground.com/Конфа /pr/ в Slack:https://slack-2chpr.herokuapp.com/JS-конфа в телеграме:https://telegram.me/jsthreadНЕ КОПИРУЙ КОД ПРЯМО В ТРЕД! Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.
>>1099555 (OP)Добавь в книги по Node.js этиВеб-разработка с применением Node и Express. Полноценное использование стека JavaScript https://www.ozon.ru/context/detail/id/137410108/Изучаем Node.js https://www.ozon.ru/context/detail/id/22256395/
>>1099560>2017>книги
ЧУВАК ИЗ ПРОШЛОГО ТРЕДА, ПОСТ ПОД НОМЕРОМ 1099099,>>1099099- ОГРОМНОЕ ТЕБЕ СПАСИБО, ТЫ ЛУЧШЕ ВСЕХ ДЕГЕНЕРАТОВ В /WEB ВМЕСТЕ ВЗЯТЫХ И ПОЛОВИНЫ МЕСТНЫХ, Я ПИШУ КАПСОМ ПОТОМУ ЧТО МОЯ БЛАГОДАРНОСТЬ РАВНА РАЗМЕРУ ЭТОГО ШРИФТА УМНЕЖУННОЙ НА 999999999999999999!!!!!!!!!!! Все заработало, и да, все дело в размере картинки! И ДЖ работает, я тебе потом покажу что я сделаю с этим! Скоро, если все выйдет!
блять как заебали своим А ВИ ТАКИ ЗНАЕТИ РИАКТ РИДАКС???Блять, куда я тебе сука воткну реакт редакс в вордпресс и че там вообще знать очередной гвно жс фреймворк напоодобие ангуляра по отрисовке DOM. ненавижу просто ненавижу. что мне теперь гостевуху на реакт дрисне делать!!
>>1099757О, есть еще вопрос: что это и зачем:div.addEventListener("mousemove", function (event) { cursor.style.transform = `translate(${event.clientX + 2}px, ${event.clientY + 2}px)`;});cursor.addEventListener("mousemove", function (event) { cursor.style.transform = `translate(${event.clientX + 2}px, ${event.clientY + 2}px)`;})
>>1099771Очевидно же. На JS он тебе не курсор поменял, а лишь симулировал поведение курсора. В реальности, у тебя там просто катается картинка за позицией курсора. С тем же успехом вместо курсора можно видос встаить, холст, и даже Аллаха. А этот код и отвечает, за то, чтобы картинка перемещалась на координаты курсора.
>>1099785Это я понял, а что конкретный функции делают, зачем он что-то сдвигает на 2 пикселя? Я так понял, он это с Джиквери писал, я эту штуку еще не учил.
>>1099791>сдвигает на 2 пикселяя думаю это просто мышыный шаг
>>1099791В этом коде нет jquery, это чистый js.Сдвигает картинку, что не понятного. Сдвигает на позицию где находится курсор. 2px какая-та погрешность выверенная опытным путем, видимо чтобы не перекрывало. убери да проверь.
>>1099791>что-то сдвигает на 2 пикселяНе на два пикселя, а на x + 2px и y + 2px
Когда node-gyp под винду без пляски с бубном ставить можно будет? Пробовал на двух разных машинах - у меня нихуя не получилось.
>>1099904Там для даунов сделали установку облегчённую. Вообще без проблем встаёт.
Парочка антонов их соседнего Python треда собралась писать свою имиджборду, показывать пока что совсем нечего, но хотелось бы найти вкатывальщика в JS (какой нибудь фреймворк, например React) готового писать просто для опыта. Если кто-нибудь захочет присоединиться - напишите в телегу указанную в email c:
Пользовал кто-нибудь netlify? Норм не?>>1099936Хм, интересно.
Я нихуя не умею.Планирую сделать для своего обучения браузерную пошаговую онлайн игру человек на 30. JS+HTML. Она должна быть, понятное дело, одностраничным приложением. Не могу определиться, на чём писать сервер? Посоветуйте, где меньше всего ебли. Нужно ли использовать серверный рендеринг? Насчет клиента, пакеты слать сокет ио или как?
>>1099936>писать свою имиджборду>например Reactлол сука
>>1099957Блять, вы заебали. В прошлым треде обоссали ангуляр и топили за реакт, теперь реакт не угодил. Мы не разбираемся во фронте и поэтому нам нужна помощь, и будет неплохо если нам пояснят за выбор фреймворка.
>>1099957ну ти и мразь))))так этим малолетним чипушилам сука и нада
>>1099944>где меньше всего еблиу тебя дома азаза
>>1099961Vue же есть. Модно-молодёжно.
>>1099961Реакт норм, не слушай школьников.
>>1099961Ясен хуй реакт. Но вообще нахуй вам фронтер. В вуе несложно разобраться.Естественно мое мнение нехуя не стоит ведь я не знаю ни одного фреймворка.
>>1099770Джейкверислесарь порвался.
>>1099757Приятно такое с утра прочитать. Надеюсь, у тебя всё получится и таки тут покажешь.Как я и писал, на ЖС делать кастомное это сомнительная идея. У меня там +2px и body{overflow:hidden;} позволяют визуально спрятать многие косяки для примера по-быстрому. А если на совесть, то "по-быстрому" делать нельзя. Пришлось бы каждый подводный камешек отдельно обрабатывать. Я бы до сих пор тебе ответ писал.
Поясните, что это за байда в typescript и как переменной xPosition присвоить правильное название? Она просто может содержать два варианта строковых значений или как?export declare type MenuPositionX = 'before' | 'after';-------xPosition: MenuPositionX;
>>1100056>переменной xPosition присвоить корректное значение>fix
>>1100056>typescript купил мопед — ебись с ним сам
>>1100056>может содержать два варианта строковых значенийОдно из двух строковых значений.
>>1100025Тут как раз тот случай, когда не на совесть. а чисто по приколу чтоб быстро заработало - это упражнение для меня в перерывах между главами лернджаваскрипт. Может. еще день-два, потому что пришлось кое-что переделывать.
Не догоню как писать стили к реакту. Эт надо сперва написать классический хтмл, написать к нему цсс, а потом разбивать на компоненты?
>>1100163>написать классический хтмл, написать к нему цсс, а потом разбивать на компонентыЭто Angular.
>>1100163да
>>1099770React/redux никуда втыкать не надо, он работает сам по себе и взаимодействует с твоим бэкендом посредством ajax запросов, поэтому на бэкенде ты пилишь чисто api. Впрочем, если начальство или клиент требует воткнуть реакт именно в вп, то можешь смело в открытую ставить под сомнение их проджект менеджмент либо hr-политику и спросить зачем они пытаются приделать кабину пилота истребителя на москвич.
Дублирую сообщение с web-тредаИграюсь тут с браузерами. Написал js скрипт-приветствие в форму, оно работает, лол. Это имеется в виду, когда говорится, что можно так украсть кукисы и прочие данные? Как можно запретить вводить скрипт в эштиэмэль формы?
>>1100317Google xss
>>1100317>Как можно запретить вводить скрипт в эштиэмэль формы?Санитизация / Google Caja project.
>>1100163Чето ты мудришь, братишка. Все проще.Просто пишешь JSX(сетя своим элементам правильный className) в компоненте и импортишь в нем свой css (советую накатить препроцессор, scss например, с ним еще и изоляцию стилей намного удобнее делать в реакте).
>>1100394>scss говно и нинужен, все что нужно(переменные, наследие) уже есть в нативе, если ты невротик и любишь собачку можешь пользовать лес
>>1100403С совершенно уебщиным синтаксисом, нет циклов, и пишеться меньше кода. Стандарт цсс нинужен(если у вас более менее объемны проект).
>>1100405Есть стилус от божественного светилы Холовуйчика.
>>1100405>уебщиным синтаксисомпоехавший>нет цикловинфа сотка>пишеться нахуя я вообще отвечаю>Стандарт цссвобрал в себя все самое лучшее и нужное, оставив сосать хуи недонадстроек хипсторам. та же сасня нагнулась и вернула скобочки с запятыми, ибо нехуй
>>1100163Styled components, css modules, JSS.Удобнее всего были css modules.JSS кажется избыточным, но может помочь в случаях, когда нужно как-то реалтаймово комбинить куски стилей
>>1099555 (OP)Доброго времени суток многоуважаемые господа. Прошу прощения за последующую сумбурность письма, но в в деле программирования я ничего не понимаю. Собственно, излагаю:Занимаюсь наглой рекламой путём добавления в друзья с нескольких аккаунтов к участникам групп конкурентов (продажи в моём городе). Чтобы не добавлять два раза одного человека с разных фейков, я заношу его страницу в закладки браузера.ВНИМАНИЕ ВОПРОС: возможно ли сделать так, чтобы те, кого я добавил в закладки браузера не появлялись в списках участников групп? Ибо задолбался открывать одни те же страницы. Браузер хром.
>>1100434проще записывать имена текстом(типа виджета переводчика в лисе, попапится кнопка), и потом делать поиск из базы и бгкалар-ейлов иф мач
ну или даже еще лучше проще быстрее — жмешь тупо кнопку на тулбаре, прога берет <h2 class="page_name">%username%</h2> и заносит его в память как не ибу ну и уже потом имидиатли накатывает выделения, вроде нихуя не сложно, отпишись потом как сделал
Продолжаю охуевать в этом ITT тренде.Вопрос касается Date.Я так понял, это говнецо, берет текущую тайм зону, вычисляет UTC время поней, и сохраняет UTC время. Но не сохраняет временную зону.И когда я вызываю тип ту стринг, эта сука, берет текущую временную зону, и преобразует сохраненное UTC время в нее. Это вообще законно?Вопрос - какого хуя?И что мне делать, чтобы отображать дату не по той зоне, что у меня, а по той в которой эта дата была получена?Хорошо, нужно сохранять временную зону отдельно руками, а дальше как?Как мне время то сдвинуть нахуй?
>>1100550JS объект Date был переписан с такового у JAVA.
Котаны, я тот анон что обещал показать что-то прикольное, уже почти сделал, один вопрос: если на страничку на событие навесить звук из JS вот таким образом:example.onclick = function() { var audio = new Audio(); audio.src = 'click.mp3'; audio.autoplay = true;}Файл со звуком как-то кешируется хотя бы на время существования страницы или каждый раз заново загружается?
>>1100550dateobj.toLocaleString('en-RU', {timeZone: 'Asia/Tokyo'})Но в фф только с марта сего года обещали сделать (не пробовал, не знаю), так что есть http://momentjs.com/timezone>не по той зоне, что у меня, а по той в которой эта дата была получена?А как они могут различаться-то? В JSON'е же всё текстом приходит, там пиши чего хочешь.
>>1100614>А как они могут различаться-то?Люди в разных часовых поясах живут, и передвигаются.
>>1100600Ну в браузере есть кэш, но я не знаю как он работает. Сколько файл весит? Если много, то ждать никто не будет, закроют страницу и всё.
>>1100646Не, там длина меньше секунды, ну или около того. В общем, я думаю, все будет ок. Еще чуть-чуть :)
>>1100600кешируетсяконечно.
Котаны, готово! Я щас думаю как загрузить это в интернет, у меня был где-то бесплатный хост, щас пароль вспоминаю.
>>1100682Только JS? Github pages заюзай. Или Heroku.
Так, проблемы. Оказывается, хост уже не бесплатный. ХЗ куда грузить, я еще не пользовался никакими гитхабами. Как показать вам это чтоб было быстро и просто? HTML+CSS+JS
Слушайте, я придумал. Скину вам дропбокс с архивом, а вы распакуете и запустите эйчтиэмельку.https://www.dropbox.com/s/yawhrtpul21livo/Feeding%20of%20The%20Fat.7z?dl=0
>>1100733Там, конечно, ничего особенного, просто забавная штучка, но я хотел поделиться, потому что анон мне помог с курсором и я там менял курсор, хоть и без джиэса, а еще я полный нуб и для меня это ого-го достижение.
>>1100733Поклацайте, посмотрите на реакцию чудика)
Еще раз большое спасибо анончику с курсором!
Блять, как в этом ебаном ЖС вызвать функцию из другой функции евент хендлером. Пиздец ебанутый язык.
>>1099555 (OP)var unboundSlice = Array.prototype.slice;var slice = Function.prototype.call.bind(unboundSlice);Аноны, объясните пожалуиста как это работает, я не понимаю как тут два метода одновременно >Array.prototype.slice.call Слайс типа как вырезает аргументы, но через кол ему же не сообщается ничего. А под катом с этим кол байнд вообще пиздец...
>>1099770Я кстати пока не начал реакт и редукс поэтому не понимаю зачем они вообще нужны, всё ведь и так хорошо работает. Пояснит кто?
>>1099770проиграл
>>1099770Знаешь, как это со стороны читается?"блять как заебали со своим А ВИ ТАКИ ПРОБОВАЛИ НОРМАЛЬНУЮ ЕДУ А НЕ ГОВНО?"Срсли, я бы не кукарекал про говно жс фреймворки, если бы работал с вордпрессом. Это же уже всё нахуй, выноси.
>>1100619Ты скозал?
>>1100775покажи свой говнокод
>>1100733ебать какой же ты умный сука
>>1100779Про Даннинга-Крюгера слышал? Каковы твои критерии слова "хорошо" перед словом "работает"?Жигуль тоже отличная машина если в жизни ничего лучше не пробовал.
>>1100619Люди-то может и живут, но вопрос в создании js-объекта. Ты не можешь у себя получить чужой объект, созданный кем-то далеко от тебя. Единственный способ — передать JSON'ом данные и реконструировать на своей стороне из этих данных (т.е. UTC timestamp'а в данном случае).Не думаю, что объект даты где-то хранит данные о текущей таймзоне, и лишь при попытке отобразить или как-то использовать высчитывает нужную исходя из текущих времени и таймзоны хоста. Могу ошибаться, лень искать код имплементаций.
>>1100733Регистрацию требует.Лучше использовать открытую помойкуhttps://send.firefox.com/Но вряд ли кто-то что-то будет загружать, у меня брат умер от этой хуйни.Лучше использовать онлайн редакторы.для простогоhttps://codepen.io/penhttps://repl.it/languages/nodejsдля сложного, можно загружать свои файлыhttps://thimble.mozilla.org/ru
>>1100861Чего пиздишь? Не требует, а предлагает. Скачал без регистрации.проиграл с этого поделия хохла-наркомана
>>1100861Ладно, попробую через последнюю ссылку.
Какой семантический смысл в такой записи в ноде:const { BlahIdent } = require("mymodule");нафига в фигурные скобки брать? И пните в направление доков, где такие штуки расписаны.
>>1100877REST/SPREAD/DESTRUCTURING
>>1100706Вот и научишься.
>>1100779Нужен для управления состоянием. А как известно состояние самое большее зло в программировании.
>>1100876Codepen.io попробуй, или repl.it, как советовали выше.
>>1100861Анон, извини, но там ничего не выйдет. Я не могу туда загрузить ресурсы, по крайней мере бесплатно, только подключить ссылки, но мне некуда в онлайне выкладывать их. Так что можешь рискнуть с архивчиком, ну или просто забей, там ничего особенного.
>>1100881Блядь, охуенно! И как я такую тему проебать умудрился? Спаибо
>>1100445>>1100447Мне показалось, что Вы просто решили поиздеваться. Я же ничего в этом не понимаю.Закладок сделано уже слишком много, чтобы переписывать их текстом (40000).
>>1100874Действительно. У меня просто рефлекс на попапы.>>1100876Можешь не заморачиваться. Просто на будущее.Проиграл с "детальнише про хлебало".Можно не создавать новый объект Аудио по каждому клику, а подключить в ХТМЛ, потом вызывать play().>>1100889В левом верхнем углу значок файла, по клику по нему "загрузить файл", вроде работает.>>1100877В этом случае require возвращает объект, деструктуризация берёт из него только свойство BlahIdent.https://learn.javascript.ru/destructuring
>>1100889Ты читать умеешь? Codepen.io, repl.it.
>>1100894>"загрузить файл"Они имеют в виду, что я сохраню себе на комп файл из их сервера, а не наоборот. Ну да ладно.
>>1100901Проблема у них тут с переводом, согласен.Там можно сразу несколько файлов в папке выбирать, если что.
>>1100907Ого! Даже картинку вышло подгрузить, спасибо! Я так вижу, вся эта штука очень полезная, буду в ней разбираться.
>>1100893оке, няш смари я тут уже почитал про память, ща я еще парсинг изучу и заибашу тебе аддончик за полтора рубля кароч по рукам, оке?
>>1100777> var unboundSlice = Array.prototype.sliceоторванный от массива метод slice, который внутри полагается на this.> var slice = Function.prototype.call.bind(unboundSlice) Вариант slice, который принимает this первым аргументом (см Function.prototype.call)
>>1100819>function drawCanvas() {> var canvas = document.getElementById('test');> canvas.width = window.innerWidth;> canvas.height = window.innerHeight;> var dtx = canvas.getContext('2d');> var img = new Image();> img.onload = function() {> dtx.drawImage(img, 0, 0, canvas.width, >canvas.height);> };> img.src = 'img/bgimage.jpg';> save();> > function BLIAD(){ (меня надо вызвать)> тут еба алгоритм;> } >}Функция drawCanvas вызывается onload, функция BLIAD в произвольный момент времени по клику.
>>1099555 (OP)Помогите пожалуйста! В общем, есть строка. С помощью JSONparse формируются объекты. И в итоге получается что-то типа str.ex1.xУ меня ощущение что такого не может быть (получается, что x это "подсвойство" свойства ex1 объекта str), однако работает, хрен с ним. Проблема вот в чём. Мне нужно последовательно перебрать свойства объекта str (там еще ex2,ex3,ex4...), и извлечь x из каждого. Это делается через for (key in obj). Таким образом можно получить свойства (т.е. ex1), но как можно получить x?
>>1101107Ну, эм, во-первых, определи свою функцию вне drawCanvas'а (нахуя оно там вообще?), а во-вторых, напиши BLIAD() в теле функции-обработчика клика мыши для, собственно, вызова. В чём твоя проблема-то?
>>1101135function extractXs (obj) { var arr = []; for (var key in obj) { arr.push( obj[key].x ); } return arr;}Получишь массив с иксами, если я правильно понял твою проблему.
>>1101147Да, спасибо большое
>>1101147>obj[key].xа как это свойство свойства называется? Подсвойство чтоли?
>>1101147>var Когда вы уже перестанете, блядь.
>>1101164Какое еще подствойство. obj[key] овзвращает объект, у которого запрашивают свойство x. Это совершенно два разных объекта.
>>1100893>>1100434Если программа все еще нужна, напиши на prakop29@mail.ru.
>>1099555 (OP)Ньюкек, недавно прошёл курс джаваскрипта на кодакадеми(учу языки для себя и для автоматизации своих дел). Пока гуглил про парсинг, заметил node.js. Это обязательно для парсинга, или можно с костылями в жопе и без доп библиотек(у того же ноде.жс сразу заметил вкусный request, который может очень понадобиться)?
>>1101183Сразу ебошь на Nightmare или обмажься подвязками к Хрому через девтулз протокол.А вообще, вот: https://github.com/dhamaniasad/HeadlessBrowsers
>>1101166Похоже, что он только начинает и я решил не выёбываться.>>1101164[] и . это такие же операторы, которые возвращают какое-то значение.Как 2 + 2 возвращает (позволяет себя заменить на) 4, так и {"x": 4}["x"] === 4 всегда.https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/Property_AccessorsУ тебя в объекте содержится объект. Это не подсвойство, а две операции идущие подряд. Как в (2 + 4 - 5) плюс даст 6, потом минус даст 1, в итоге 1.Так и str["ex1"].xсначала str["ex1"] вернёт объектпотом ex1.x уже вернёт значениеfunction extractXs (obj) { var arr = []; var lookupKey = "x"; for (var key in obj) { var innerObject = obj[key]; var wantedValue = innerObject[lookupKey]; arr.push( wantedValue ); } return arr;}
>>1101233>Похоже, что он только начинаетВ этом и соль. Надо показывать как правильно делать, а не как неправильно.var по уму должен быть депрекейт.
>>1101233>var Ох, блядь.Сам ему потом бушеь хостинг разжевывать, когда он сюда снова придет.
>>1101262>по уму должен быть депрекейттолько не за пределами фигурных, выглядит по уебански и смысла не несет
Двач, а можно ли изменить место расположения npm просто переместив папку с npm и Gulp в другое место?У меня есть сервак с Ubuntu 16.04, на котором папка с npm и Gulp лежит в /var/www/engine/, но я хочу перекинуть её, например, в папку /var/www/dev/. Я могу просто скопировать содержимое папки engine в папку dev?
>>1101183Node.js среда исполнения Javascript. Еще там есть библиотеки для работы с файловой системой и тому подобное. Без ноды js можно запускать только в браузере. Есть еще Electron, среда для десктопных программ.
>>1101444>Без ноды js можно запускать только в браузере. Ну, учитывая мои задачи, я проходил курс только ради гугл скриптов для работы с гугл таблицами.
>>1101139Проблема в том, что функция BLIAD тоже работает с канвасом и чтобы она что-нибудь делала с канвасом, сначала в ней опять надо создать объект канваса, впиздючить туда картинку, снова ее отрендорить и все остальное, что есть в функции drawCanvas. То есть по сути скопировать ее полностью, а это пиздец рак какой-то.Так-то оно работало, если две независимые функции сделать.
>>1100777из метода на массивах сделали standalone функцию
>>1101403че?любое var x в глобальном скоупе это global.x в отличии от let x в том же глобальном скоупе
>>1101493>функция BLIAD тоже работает с канвасомТак передай туда переменную с канвасом при вызове. И/или картинкой или что там тебе ещё нцжно. Или как глобальную её определи, чтобы обеим функциям была доступна.Если у тебя твоя функция совсем никак не может работать, не имея всего предшествующего в зоне видимости (что было до этого в drawCanvas'е), то, быть может, и не нужно их разделять на две функции?
Функция принимает массив и поочередно добавляет пробелы к элементам массива.Как сделать чтобы всегда редактирование начиналось с первого элемента, т.е. что х в первый раз назначался нулем?Как надо работает только с четными числами.const addSpace = function(arr, num) { for (let i = 0; i < num; i++) { let x = (num + i) % arr.length; arr[x] += ' '; }};
>>1101745Пиздец. Иди учись формировать ТЗ.
>>1101745Объясни что ты хочешь? Зачем тебе let x=какая то магия. Задай себе два вопроса что я хочу сделать и нахуя это делать. Программирование это объяснение как что то делать. Причём так понятно, что даже бездушная машина поняла. А пока даже анончики не понимают.
>>1101776ЗадачаПринимаем огромную строку и число.Необходимо эту строку нашинковать на множество строк размеров в принимаемое число.Слова пополам делить нельзя. Если ширины не хватает (от того, что следующее слово не вмешается) увеличиваем количество пробелов, начиная от первого промежутка между словами.Функция что выше, выполняет часть работа, когда уже необходимо раскидать пробелы. Количество требуемых пробелов вычислено и я пытаюсь их рассовать вот таким некрасивым способом – добавляю к элементам массива (словам) пробелы.В конце выполнения задачи я с помощью join растравляю по одному пробелу между словами в строках и \n между строкамиУже лёг в кровать, пишу с телефона. Завтра если не смогу решить кину нормальное условие с имеющимсяя кодом
>>1101812Аутист шоле? Сплитишь строку регуляркой по пробелам/знакам припинания, получившийся массив мапишь, если длина меньше чем нужно юзаешь padEnd. Джойнишь массив. Done
>>1101812Слава богу что к концу 2017ого года обработка строк входит в стандартный пакет почти любого языка. Гугли про slice, trim, pad. Join уже знаешь, хорошо.
саб ЖС тредик, почти допилил свой чан, помогите найти причину, почему не отправляется шебм с телефона? кококо шпам листс https://goo.gl/Rg1KEo
>>1099555 (OP)Скачал вот этот парсер, просто сохранив его как страницу: http://convertjson.com/json-to-html-table.htmи теперь при вводе JSON-таблицы - выводится таблица.Она выводится в отдельном div.Хочу добавить к каждой строке текстовое значение "addnode="где это сделать, всё перерыл - не могу найти, настопиздело уже... Может глянете да подскажете?Пойду спать...
>>1101932Сделал вот так короче, в html-файле:var csv = $.csv.fromObjects(outArray,options);arr = csv.split("\r\n");arr.forEach(function(item, i, arr) {if(i!==0 && item!==""){arr = "addnode="+item;}});csv = arr.join("\r\n");Теперь, когда заходишь в какой-нибудь qt-кошелёк какого-нибудь альткоина, и вводишь getpeerinfo,можно скопипастить JSON-ответ сюда, и получить список addnode для файла config.conf
>>1101846>Сплитишь строку регуляркой по пробелам/знакам припинанияТак ему же по длине нужно. Плюс, как я понял, в получившейся строке, содержащей несколько слов, нужно равномерно добавить пробелов между словами, пока не дойдёт до нужной длины. Таким образом, нет гарантий, что между первыми двумя и последними двумя будет равный промежуток (например, сделать строку "я был здесь" длиной в 14 символов.)Так что его цикла, пускай и по-умному сделанного, таки не избежать, по-моему, потому что в ЖС'овской реплейсе нельзя указать, сколько первых совпадений заменять. А ещё non-capturing group нельзя сделать, вообще регулярки в ЖС убогие, как по мне.(Например, на питоне можно было бы легко сделать через пару регулярок сделать — https://repl.it/repls/DarkslategreySingleTuna )
>>1101946А можно разрезать на слова, замерить их длину и слеплять. Если с новым словом в строке будет больше символов чем надо, значит слово не добавляем, а ебашим пробелы. Едем дальше пока до конца массива слов не дойдём.
>>1101953>Если с новым словом <...> а ебашим пробелы.И куда мы ебашим пробелы, если до лимита не хватает, скажем, 3-х символов? Очевидно, надо ещё раз обходить строку, которую только что слепляли, по-другому-то никак. И вот именно это тот анон, собственно, и пытался сделать в своём цикле.
>>1101956А может и нет, хуй его знает, он объяснять не умеет.
>>1101957Вы чего наехали на меня? Я вас тоже не могу понять.Теперь все разъяснится, вот оригинальный текст задания>Your task in this Kata is to emulate text justification in monospace font. You will be given a single-lined text and the expected justification width. The longest word will never be greater than this width.Here are the rules:Use spaces to fill in the gaps between words.Each line should contain as many words as possible.Use '\n' to separate lines.Gap between words can't differ by more than one space.Lines should end with a word not a space.'\n' is not included in the length of a line.Large gaps go first, then smaller ones: 'Lorem---ipsum---dolor--sit--amet' (3, 3, 2, 2 spaces).Last line should not be justified, use only one space between words.Last line should not contain '\n'Strings with one word do not need gaps ('somelongword\n').Example with width=30:(тут должен быть моноширинный шрифт)Lorem ipsum dolor sit amet,consectetur adipiscing elit.Vestibulum sagittis dolormauris, at elementum ligulatempor eget. In quis rhoncusnunc, at aliquet orci. Fusceat dolor sit amet felissuscipit tristique. Nam aimperdiet tellus. Nulla euvestibulum urna. Vivamustincidunt suscipit enim, necultrices nisi volutpat ac.Maecenas sit amet laciniaarcu, non dictum justo. Donecsed quam vel risus faucibuseuismod. Suspendisse rhoncusrhoncus felis at fermentum.Donec lorem magna, ultricies anunc sit amet, blanditfringilla nunc. In vestibulumvelit ac felis rhoncuspellentesque. Mauris at tellusenim. Aliquam eleifend tempusdapibus. Pellentesque commodo,nisi sit amet hendreritfringilla, ante odio portalacus, ut elementum justonulla et dolor.Also you can always take a look at how justification works in your text editor or directly in HTML (css: text-align: justify).
>>1101961А вот то, что я написал вчера.С помощью 'but' я пытался остановить обработку, когда все будет кончено.
>>1101962Таки я правильно понял, что сделать надо.Попробуй сначала расписать пошагово, что ты хочешь, чтобы твой код делал, потому что, если честно, хуй поймёшь, перемудрил бы.Что значит этот "but"? Два раза джоин в конце, это вообще как?Ты в addSpaces передаёшь массив букв, как я могу видеть, так что прибавлять пробелы к элементам этого массива это какая-то глупость.Ну и да, обратись-таки к slice'ам, а то строки 26-35 это какой-то ужас.Например, как >>1101953 сказал, только не слепляй сразу строку из слов, а массив держи, по которому потом пройдёшься, добавляя пробелы через починеный addSpaces.анон с решением на питоне
>>1101981>перемудрил бы.бы = тыфикс
>>1099555 (OP)Кто для реакта ssr использует? Я расчитывал, что у меня страница на сервере сгенерится и клиент получит тупа html, но работает все тот же клиентский рендеринг, че бля за хуйня?
>>1102041Ты утонул в лишних абстракциях.
>>1101878Антон, ну ты где?
>>1102112> > Антон, ну ты где?Мне лень с телефона тестить.
>>1102114нищук с некро телом или тян?
>>1102125Не твоя личная армия прост.
>>1102130>покэто не /б аутист, тут люди учатся и помогают друг другу, иначе в чем суть этого тредика и всего пр, м?
>>1102142>иначе в чем суть этого тредика и всего прСсать в рот дауничам типа тебя.
Решил написать немного бека, что бы понять взаимосвязь между фронтом и бэкендом. Выбрал ноду -> експресс, так как других языков кроме js не знаю. Фронт обрабатывает вебпак. (src -> public). Все изменения в папке src перезагружают браузер.На сервере, прям как наши деды использую шаблонизатор с серверной логикой и отдаю клиенту уже целую html страницу (начинаю с самого простого крч).А теперь сама проблема: Нужно сделать так, что бы после изменений в файлах-шаблонизаторах (.pug), браузер тоже перезагружался.Пытался использовать reload плагин для expressjs, но он перезагружает браузер только тогда, когда вношу изменения в серверных файлах (app.js и прочего дерьма, которое в него импортируется).Помогите пожалуйста.
>>1102125Ты ахуел наезжать, пидр? Хуй тебе за воротник, а не помочь. Мне просто компьютера на работе хватает, ебал я в рот жопу отсиживать, я на двач захожу отдохнуть. Сижу сру, и /pr листаю.
>>1102185Фига у тебя деды молодые. Деды статические файлы раздавали и верстали таблицами. А почему тебя просто ф5 нажать не устроит?
>>1102191Ну так я верстаю там, нужно сразу видеть результат. Хотя если не найду решения, то смирюсь и буду жать...
>>1102195Передавать AJAX-запрос на сервер, проверять время изменения последнего файла, и узнав об этом на клиенте, выполнять "reload()".Но вообще лучше F5.
>>1102158>покк чему ты тут устраиваешь это перекидывание калом? ты из деревни или просто тупой? пиздуй на завод, не позорь нормальных анонов
>>1102196Вот хороший вариант. Но оно того не стоит, это целый маленький проект. Лучше ф5,по затратам-эффективности.
>>1102212>>1102196Я тут столкнулся с другой проблемой, которая рано или поздно ко мне придет.После билда в продакшен, вебкап ко всей статике в названия добавит хеш, а пути в файлах-шаблонизаторах останутся прежними.Раньше, когда я занимался только фронтендом, html файл у меня генерировал вебпак и он сам менял все пути в html файле, когда происходил билд в продакшен. Да я вообще не понимаю как происходит реальная разработка от начала и до конца...Во всех видео-уроках показывают слишком поверхностно, то что и самому можно понять, прочитав доки...
>>1102191> Деды статические файлы раздавали и верстали таблицамиЭто я такой старый по-вашему?
>>1102222Не обижайся, мы с уважением. Лучше баек расскажи старых. >>1102216Поищи в npm'e модуль для этого. В ноде для всего есть модуль. А вообще то что ты делаешь - не реальная разработка, а модная сублимация, направленная на повышение зарплаты. Больше умных слов знаешь => больше можешь просить.
>>1102185гугли SSE
>>1099555 (OP)Ребята кто хочет побыть моим ментором по react redux буду платить битками цену обсудим моя телега @reactboi
>>1102418>моя телега>2017>телегаЗдрово, что ты предоставил свой номер телефона, выписку из ЖЕКа и анализ кала для того, чтоб обмениваться сообщениями в Интернете в 2017 году. Большинство твоих сверстников совсем немного опережают тебя по развитию, но не готовы к таким подвигам. Мама говорит, что ты герой и она права. Но всё таки попытайся найти другую площадку.
>>1102549Валим в utox, посоны.
>>1102549>2017 год>регистрировать сим-карты на себя>регистрировать аккаунты в сети на сим-карты привязанные к тебе>поучать кого-то в интернетеШёл бы ты отсюда, петушок.
>>1102549>>1102578мама я анонимус
>Сидят на мейлаче>Кукарекают о анонимности в телеграмме.
>>1102589>>1102578>>1102559Вы чего взбунтовались? Ну отдали номера и телефонки за возможность обмениваться сообщениями через Интернет. Это же уникальное современное предложение, у вас не было другого выхода. Всё нормально, никто вас говноедами не называл.
нашел супер видос поясняющий за магию внутри этой черной блядской коробочкеhttps://www.youtube.com/watch?v=8cV4ZvHXQL4
>>1102754Держи в курсе
>>1099555 (OP)сап, аноны.Вобщем помогите дизайнеру которого заставили верстать сайт, суть проблемы такова у меня есть div.myclass в нем вложен ul в котором есть несколько li в которых вложены а в которых вложены span(и эту структуру изменить нельзя из-за плагина который ее создает), и мне нужно в эти спаны записать их порядковый номер в таком виде 01 02 03 04 05 06 07 08 09 10 11 и тд, при этом количество элементов может меняться, с меня как обычно слезное обещание выучить наконец таки джаваскрипт и джеквери
Накидал пару палок строк на ноде для патчинга саблайма 3.х dev-билдов. Снимает с экзешника блеклист на твиттеровский ключ: https://repl.it/repls/LimegreenOrangeredTopiПаттерн невозбранно спизжен с руборда.1) Поместить скрипт в папке с sublime_text.exe2) Сделать бекап оригинального файла sublime_text.exe3) `node app.js`4) ???5) PROFIT!
>>1102834>из-за плагина >изменить нельзя
Такс-такс-такс. Можно ли сделать так, чтобы в браузере писало ошибки если они есть? И вообще есть такое в JS?Ну например напишу:<script> "use strict";num = 5;</script>И ошибку и напишет где. Если нету, то что делать?
>>1102868>что делатьустанавливать линтер и не пользоваться стриктом
>>1102869Что такое линтер и почему стриктом лучше не пользоваться?
>>1102822>Держи в курсеКароче насмотрелся видосов, понял что технари тоже люди и им так же не хватает визуального отклика от сухого блядского моментально интепретируемого кодатак что собрал вот подборочку на которой все четко блядь видно сука, по шагам, чо куда кто и почему, просто кайфhttp://esprima.org/demo/parse.html#http://int3.github.io/metajs/ — вот эта прям оче полезнаяhttp://latentflip.com/loupe
>>1102873>технари >JSLOOOOOL>так что собрал вот подборочку на которой все четко блядь видно сука, по шагам, чо куда кто и почемуНенужно это все js программисту.Элементарно, зарплата не оплачивает подобных умственных усилий.
>>1102866не не, ты не понял, у меня есть верстка(и верстать более-менее научился, вот только скрипты для меня геморно даются), потом в нее добавляются с помощью плагина дополнительные html-элементы и мне уже в них нужно внести изменения
>>1102866и мне внутрь спана нужно внести значение
>>1102876>Ненужно это все а как иначе спокойно работать? Как я могу ездить на автомобиле, не зная принципов работы его узлов и агрегатов? А что если на трассе что то случится, да даже если в городе встрять один хуй не приятно, а если с кем то, подвести людей, такая то ответственность не только за себя, но и за пассажиров и всех участников движения или ты хочешь сказать что я аутист и все задачи уже решены копируй@вставляй ! ?
>>1102834let spans = document.querySelectorAll(".myclass span");for (let I = 0; I < spans.length; I++) { If (I < 10) spans.innerHTML = "0" + String(I); else spans.innerHTML = String(I);}
>>1102885Писал с телефона, но вроде должно работать
>>1102881>внутрь спана >>1102887
и да если через квери селектор то сразу ебашить спан можно без обращения к класу же, один хуй он вложен в списки там хуиски
>>1102888Как анон выше сделал?><span_01>Тогда единственный способ, по-моему удалять кодом имеющиеся спаны и херачить свои, модифицированные
>>1102898>Тогда единственный способпереписать плагин под изменившиеся задачи блять очевидно же, проще туда строчку дописать чем сикл гонять
>>1102900Да нихрена не очевидно. Я не зна что за плагин это и можно ли вообще его изменять
>>1102908а кто знает?ты ж вебмастер ебта, если какая то хуевина выдает тебе штемель, значит ты обязан с ним совладать иначе я б тебя в тот же вечер суку на мороз с макбуком в сраке
To create a variable in JavaScript, we need to use the let keyword.А в русском var Что за различия ?
>>1102910платиновый вечер ебатьes6 гугли ебанный ты по голове
>>1102885увы не взлетело>>1102900я не могу разобраться и с такой простецкой задачей, а ты мне предлагаешь редактировать плагин(я дизайнер если кто забыл)>>1102908fullPage.jsмне надо навигацию по слайдам превратить из точек в цифровую
>>1102911>es6 Дякую хлопец
>>1102914нзшт ~_~
>>1102916Это что за таблица? Как ее открыть? Тоже хочу свою регулярку сделать, я решал задачи на регулярные, но на другом языке.
>>1102917она уебанская братишь, парсит после загрузки, поэтому приходится отварачиваться на опасных тяжелых сайтахword replace гуглить расширения
>>1102912https://jsfiddle.net/26s12uj7/На этот раз работает
>>1102912>я тупая пизда и не могу отличить ul от olа вообще>navigation: (default false) If set to true, it will show a navigation bar made up of small circles.соси члены лучше тупопездная библиотечка не имеет настроичик для цифирик((((
>>1102942все тщетно родной
>>1102883>Как я могу ездить на автомобиле, не зная принципов работы его узлов и агрегатов?Как 95% водителей.>что то случитсяОдин хуй ты ничего на современных кредитовозках не сделаешь, так что эвакуатор + метро.>все задачи уже решены копируй@вставляйДа.>>1102909А макбук новый? Я б не против был.
>>1102951>95% ну ты понел кек>современных кредитовозках тащемта и не ломаются первыет пару лет>копируй@вставляйа как тогда ощутить себя кодером лол!? ты же блять мартышка ебучая, нахуй так жить>>1102951>А макбук новый? Я б не против был.больной ублюдок клава говно, в новых так просто пиздец, экран маленький, подключаешь к монику начинает кулек выть как сука, в рот ебал эти игрушки гейские, а с мороза так еще и холодный блядовина люменивая, толи дело вот мелокомякие, обтянули алькантарой, красавчики, но все равно говно без задач за сотню денег
>>1102949Ты как подключил скрипт? Он после твоего фулпейджа идет? Если нет, сделай после.Я спать, завтра в школу рано вставать
>>1102958>больной ублюдок Так я продать и нормальный, 15-ого года купить.>тащемта и не ломаются первыет пару летКакая разница? Суть в другом была.
>>1102958>а как тогда ощутить себя кодером лол!?Для начала, хотя бы уйти из JS'а.
>>1102960это жикверьная параша, я ее палкой потыкал и бросил впизду блядь>>1102961>15-ого года последний боле-мене годный, но клава хуита и экранчик маленький, хотя для блокнота может и хватит>>1102962лол ты что шутешь что ли, жс это год тир язык, только в нем ты можешь почувствовать себя молодым современным специалистом а на чмом байтоебом, деды байты ебали и я ебать буду writeln suka, он растет он меняется, в нем нет рамок и нет границ, он вобрал в себя самое лучше и продолжает совершенствоваться руками огромного интернационального комунити — он тупо охуенен и в этом я убеждаюсь раз за разом
>>1102834Это семантически плохая верстка. За такое в 2017 гугл применяет санкции. Какие точно не знаю
>>1102972>Какие точно не знаюНа парашу, на самое дно нахуй поискового запроса сука, только так
>>1102878Потому что JS не знаешь. С помощью jquery писать на джаваскрипте не научишься.
>>1102975Спаны не суют в списки, разве не так?
>>1102969>но клава хуитаА мне наоборот нравится очень.>и экранчик маленькийлюбитель 17" ноутов? Иначе странная претензия. Его ж нигде, кроме столе, на котором может стоять монитор, особо и не раскроешь.>я ее палкой потыкалТак ты можешь ссылку на фиддл свой дашь, чтобы местные починили?>я убеждаюсь раз за разомЯ не понял, так это ты горе-дизайнер или нет?>год тир языкКартиночка с доказательством-то будет?
>>1102981спан строчный элемент выделения моя ебать твоя рука, я сплю отхебись, суй его куда хочешь, другое дело у тебя есть артикл секшон хуекшон, просто надо помнить об этом и юзед вайзли сука
>>1102983>Картиночка с доказательством-то будет?Вечно кому-то что-то доказывают скрипт-киддисы, а мы пишем и радуемся.
>>1102983>нравится оченьты жрешь говно бро, начни со старой классики на резинках, что б кнопки были похожи на кнопки, в идеале потом скакнуть на топры или вишневые свичи по вкусу как по мне красные самый идеал для всего, печатаешь без напряга, только на красных мне не в падлу прожимать шифт когда надо лел>любитель 17" ноутов?топ кек фотка старая бзв>Я не понял, так это ты горе-дизайнер или нет?обижаешь братишкая ж все подробнейше пояснил, какие еще картиночки то, вот через пару лет будешь кофеварку прогать, вспомнишь анона хуле
>>1102985Вот именно. Списки для меню, а меню из блоков. Спаны туда не подходят, ни технически, ни семантически.
>>1102942спасибо тебе огромное, анон! все работает!>>1102948>я тупая пизда и не могу отличить ul от olк чему это? не, рили интересно>тупопездная библиотечка не имеет настроичик для цифирик((((именно поэтому здесь все эти танцы с бубном и затевались>>1102972ты явно не знаком с продакшеном, тут как бы качество, семантичность и прочие полезные и интересные штуки о которых макеев постоянно речи талкает никому не нужны п.с. ты когда-нибудь видел лендинг из одного джепега и кучи ссылок абсолютно спозиционированых на нем?>>1102977спасибо, кэп, я в курсе чем отличается джеквери от js
>>1102993в пекло семантику!
>>1102995>ты явно не знаком с продакшеном, тут как бы качество, семантичность и прочие полезные и интересные штуки о которых макеев постоянно речи талкает никому не нужны Если сайт для себя, то нужно думать о семантике. Потому как продвигать будет легче.
>>1102912Это нихуя не простецкая задача.Я не сильно разбирался, но получилось такое:https://codepen.io/anon/pen/qVvxWEНадо добавить колбек afterRender и в нём насрать циферками.
>>1103009и тебе огромное спасибо, анон! чую, вы в двоем спасли чью то задницу от увольнения
Расскажите мимо крокодилу, сколько за час вы получаете, сколько часов в день работаете и сколько дней в неделю?Ну и что именно делаете в двух словах.Интересно какие навыки сколько стоят.
>>1103015Если тебя, дезигнера, могли уволить за то, что ты не решаешь инженерные задачи по кастомизации хуёво сделанного стороннего плагина для Жиквери, то может мы лучше не будем им мешать?Мы то тебя из любого дерьма постараемся вытащить, но ты к карме прислушайся.>>1103019В двух словах пишем сценарии. Несколько часов в день, несколько дней в неделю.300к\сек в Тайланде. Можешь открыть ГОСТ со стоимостями навыков и проверить, долбоёб.
Изучаю JS после другого языка. Какой же безумный язык. Мне нравится. Это нормально?
>>1103069Если после PHP, то да.
>>1103045
>>1103073Но как, Ватсон?
>>1103075Хуже жаваскрипта только PHP.
>>1103069нормально. охуенный язык.че, куски говна, вывели список с циферками? молодцы, развиваетесь.
эх дегродыif (i < 10) spans.innerHTML = '0' + i.toString();else spans.innerHTML = String(i);заменяется одной строчкойspans.innerHTML = ("00" + i).substr(-2);
>>1103178Если тебе циклом надо обработать миллион строк, то 2й вариант медленней.
Выручайте, сам вообще не дизайнер, а js изучаю, чтобы морду сайта написать. Нужен css framework для React, такой чтобы без лишних страданий был среднего вида дизайн.
>>1103247css framework для реакта? Че несешь болезный? Если тебе дизайн без лишних страданий, то посмотри вот этоhttps://react.semantic-ui.comили конкретизируй, что тебе именно, а то пиздец.
>>1102876>>технари >>JS>LOOOOOLВ JS предостаточно чистых технарей, не связанных никак с дизайном и прочим html программированием.
>>1103262но в этом треде только говноеды
>>1103069ES6 хорош, можно писать также лаконично как на функциональных языках. Слабая типизация конечно не очень, но в целом язык отличный.
>>1103268сага приклеилась
>>1103268ты забыл где мы находимся .hk
>>1103045>называет анона долбоебом>хотя сам пишет про необходимость говноконторке с эникей ДИЗХАЙХНЕРОМ завести ИНЖИНЕАРАрозовая поня дегенерат ебучий блядь, дизайнеров как грязи, если эта что то не может, за килограмм хлеба и лапши найдут другого, пошмышленней, рыночек решает, а твои маняпредставления — нет
>>1100779Говорят что сам создатель редукса советует не начинать изучать редукс и пилить без него как ни в чем не бывало. До тех пор, пока не начинаешь реально упираться в потребность в этом самом редуксе.
>>1102991>старой классики на резинках, <...> на топры или вишневые свичиИзвини, я что-то нихуя не понял.>топ кекТогда я не понимаю претензии "экранчик маленький" конкретно к ноуту, если есть внешний монитор который можно к чем угодно подключить.> какие еще картиночки тоНу, со списком языков по god/good/shit tier'ам распределённым.
>>1099961>В прошлым треде обоссали ангуляр и топили за реакт, теперь реакт не угодил.Таки правильно сделали что обоссали ангуляр. Тут просто, это... а нахуя тебе реакт в имиджборде? Для фронтенда времен первой половины 2000-х? jQuery для интерактива тебе не там не будет уже хватать?
>>1103220В таком случае, номера строк в двузначные числа влезать не будут. Нахуяришь шесть if/else if'ов?
>>1103288>Извини, я что-то нихуя не понял.тебе сюда https://www.reddit.com/r/MechanicalKeyboards но если коротко топра это клава за 20 тысяч русских рублей, чери - за 10>если есть внешний мониторя просто куплю системник, который будет дешевле и мощнее, кодить в кафе или на диване это хуита>списком языков ок, есть топ тир жс и отсталое говно для ребят в растянутых свитерах и очках без оправы
>>1103291>механические клавыНе, спасибо, я с ума от шума сойду через неделю. Ну и плюс ход и расположение клавиш и всё такое, когда пробовал — совсем не понравилось (наверняка частично дело привычки, конечно), так что уж лучше говноедом останусь, спасибо. Только не надо про шум клав новый макбуков, они говно.>я просто куплю системникТак в чём тогда смысл указывать на якобы недостатки конкретного ноута, если тебе просто ноутбуки нинужны?>есть топ тир жс и отсталое говноНу так не интересно.
>>1103292>шум клав новый макбуковони не шумят родной, они по пизде лопаются сука, ход крошечный, пластика с хуй, только когда эта ебань отколется ты хуй топкейс клееный поменяешь, просто пойдешь за новым, а этот на детали за пару рублей дай б-г продашь>в чём тогда смыслписи мастерпис же, это как с FOSS ^_^ не могу удержаться когда вижу чужие страдания
>>1099555 (OP)Приветствую, аноны.Есть вот такой вот портабельный порт-сканнер: http://www.andlabs.org/tools/jsrecon.htmlПредставляет из себя портативную страницу, работающую через WebSockets и XHR в браузере.Моя задача проверить список рандомных IP с рандомными портами и вывести доступные - в лог.Но при каждом вызове функции генерируется отдельные результаты, которые идут в div,при этом в div результаты только последнего сканирования.Я сделал так:1. у меня заходит в textarea список:addnode=107.185.205.40addnode=58.218.204.206:86153addnode=148.251.53.212addnode=13.126.44.33addnode=173.212.207.13:15165addnode=5.189.152.63addnode=85.25.117.712. Список парсится в массив. Регулярными выражениями извлякаются IP и порты.Первый найденный порт если не указан - объявляется дефолтным, и вставляется рядом со всеми другими IP, в которых он не указан.Дальше, идёт через foreach сканирование, но результаты выводятся только для последнего сканирования.На выходе по-идее должен быть список доступных нод.Как сделать???
>>1102995>>я тупая пизда и не могу отличить ul от ol>к чему это? не, рили интересноа мне интересно сейчас интим услуги дизайнера сколько стоят? для начальника скидка или совсем бесплатно? зп по часам? на работу приходишь к обеду наверное>>1103175>че, куски говна, вывели список с циферками? молодцы, развиваетесь.ДЫА))))
>>1103293>они не шумят роднойТы странный. Я указал на один яркий недостаток для меня в механике — шум, считая при этом клаву макбука очень удобной для себя. Очевидно, было бы довольно странно упрекать механику в шуме, если бы макбуки шумели точно так же. Новые вот как раз и шумят серьёзно, и именно поэтому я его упомянул. То, что у этой клавы есть другие недостатки, я и так в курсе.>мастерписmaster race, может, а не пис?
>>1103295А нолики перед цифрами где?
>>1103296я подумал мак шумит лол, устросну хз звук то пиздатый, вот синии они щелкают и высверливают мозги, а красные просто кайфово лязгают, ну и капсами стучат об плейт стальной можно если ты неврастеник, но ведь можно и не стучать, там 45 грам на кнопке, клавиши просто плавают под пальчиками ммм кайфа резинки(рабердом) или топры они соответственно еще тише>master raceблять обосрался чурк сук)>>1103297ой нахуй иди братишк)
>>1103294Всё, решил. Там в функции scan_ports() повторно объявляется ps_open_ports=[];который уже был объявлен вверху скрипта var ps_open_ports=[];
>>1103301Всё-равно херня. Теперь при каждом сканировании одни и те же порты появляются.
>>1103303Ты код-то покажи, ёба. Это твой сайт или не твой? Какой ещё text area, где что парсится? Где массив создаётся, откуды ты выход берёшь?
НИКОГДА НЕ ПОЗДНОhttps://rabota.ua/cv/10889107
>>1103351Небось дед-то ее хрилансит на коболе по одной бабкиной пенсии в день, вот и решила не отставать.
>>1103351Охуенная бабка, пример для подражания.
Заработало.
>>1103261Да, оно, спасибо. А что по поводу бутстрапа для реакта? Или это получше будет?
>>1103322>Ты код-то покажи.Код в браузере смотри.>Это твой сайт или не твой?Сайт не мой, и это не сайт - это страничка c JS-кодом. Её можно скачать.>Какой ещё text area, где что парсится?textarea у меня тут, и да, она парсится.>Где массив создаётся.Там же, при парсинге...Сначала я делаю так:var textArea = document.getElementById("addnode_list").value;var port = document.getElementById("default_port_for_nodes").value;потом вот так:var first_ip = /\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b/; //one fists founded IPvar arrayip = /\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b/g; //all IP addresses in arrayvar ip_port = /\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d{1,7}\b/g; //ip:ports in arrayvar first_port = /:\d{1,5}/; //first founded port in arrayи вот так:var ips = textArea.match(arrayip); //array with all ip addresses including that where port not specifiedvar ips_ports = textArea.match(ip_port); //array with ip:port where port is specifiedvar nodes = ips.concat(ips_ports); //array with ip + array with ip:portПосле уже работаю с массивом nodes, извлекая ip и port - и вызывая функцию scan_ports() c этими параметрами.>откуды ты выход берёшь?я вижу этот выход где-то в функции results_ps(), но как его вытащить оттуда в виде трёх параметров через setinterval - вот это понять не могу...Если поможешь переписать всё это под рандомный IP с рандомным портом и одиночным коллбеком, с тремя параметрами - запощу здесь готовое решение своё.Суть его такова:На входе - список криптовалютных нод, или список, содержащий IP с указанием дефолтного порта,а на выходе - список нод у которых открыт порт.
>>1103400Я сам вообще бутстрап не люблю, поэтому в сторону бутстрапа для реакта не смотрел даже, так что если тебе нужно, гугли сам. Это довольно удобно, как мне кажется, но опять же, что тебе удобно, то и юзай.
>>1100056может принять одно из указанных значений, если указано другое, будет еггог. Это называется String literal type. Подробнее https://basarat.gitbooks.io/typescript/docs/types/literal-types.html
Вопрос к продвинутым анонам. Правда ли что единственный способ заставить промисы выполняться последовательно друг за другом - это соединить их через then? Вопрос по чистому js, я не про async/await сейчас. Я как раз хочу разобраться как работают всякие транспайлеры и библиотеки типа ко и подобных.Допустим у меня есть промис, который я хочу выполнять в бесконечном цикле до определенного условия. Я могу это запилить только через цепочку then, соответственно с каждой итерацией цепочка будет увеличиваться и будет расти память. Короче, умеет ли жс в бесконечную асинхронщину?
>>1103547Ладно, спасибо.
>>1103553написать бесконечный асинхронный цикл с авайтом и транслировать его, чтобы посмотреть во что развернется, ты конечно не пробовал
>>1103535>Код в браузере смотри.Свой код, который должен формировать какй-то массив результатов. То, что я вижу на сайте, это просто сущий пиздец, таймаут на таймауте, передача туда строки, вместо функции, постоянная работа над глобальными переменными, проверка стейта сокета/запроса, вместо эвент листенера... Короче, мне кажется, тебе нужно сделать следующее:Предположим, что у тебя есть список нод в виде (твои \t\t\t\t читать желания никакого нет, уж извини, там уж сам подгони под свою структуру данных)>nodes = [{ip: '1.1.1.1', start_port: 1, end_port:500}, {...}]Далее, для каждой ноды нужно сделать (именно глобальные переменные изменяй):ip = node.ipstart_port = node.start_portend_port = node.end_portscan_ports_ws() // ну или scan_ports_xhr()let count = end_port - start_port + 1Далее, периодически проверяй, готов ли результат. Где-нибудь предварительно объявиfunction isFinished(){ if (count == (ps_open_ports.length + ps_closed_ports.length + ps_timeout_ports.length)) { fin(); } else { setTimeout(isFinished, 1000); }}А потом, после вызова scan_ports_xx(), сделай:setTimeout(isFinished, 1000);Будет каждую секунду проверять, все ли порт провелись. fin это твоя фунция, которая будет что-то с результатами делать и перевызывать процесс для следующей ноды. Решение такое себе, костыльное, но на одном уровне с "либой".По-хорошему, я бы тебе посоветовал прочитать страничку "more details" да реализовать эту хрень самому.
>>1103557Там сложна. Нечитаемая хуйня выходит.
>>1103553>Вопрос по чистому js, я не про async/await сейчас.Это чистый ЖС, это просто сахарок над промисами в генераторах. Генераторы выступают и как приёмник, и как источник данных.http://exploringjs.com/es6/ch_promises.htmlhttp://exploringjs.com/es6/ch_generators.htmlhttp://exploringjs.com/es2016-es2017/ch_async-functions.htmlРаушмайера почитай, например, если MDN уже читал. У него там много закидонов и абузов описано.Ещё у Симпсона обязательно должно быть что-то просветляющее, но не гарантирую, так как сам никак не заставлю себя прочитать:https://github.com/getify/You-Dont-Know-JS/tree/master/async%20%26%20performanceПростейшая бесконечная асинхроншина в ЖС это setTimeout для вычислений или requestAnimationFraim для графики, который каждый раз вызывает сам себя.let timer = setTimeout(printSec, 0, 1);function printSec (second) { console.log(second); timer = setTimeout(printSec, 1e3, second + 1);}// будет бесконечно, в стеке и куче будет только одна функция, можно остановить через 30 сек. напримерsetTimeout(() => clearTimeout(timer), 30e3);ЖС оптимизирован для простеньких сценариев на страничках. Да, ты обычно просто хочешь воспользоваться результатом результата и вызываешь пару раз .then(), он оптимален для такого. Если ты начинаешь его абузить для какой-то надуманной хуйни, то это уже твои проблемы.Скорее всего, как я передаю секунды в примере, так же можно и промисы передавать, резолвить их руками, нормально поебаться. Мне лень сейчас проверять и биться об подводные камни. Скорее всего промисы даже потеряют ссылку после перезаписи таймера и будут очищены мусорщиком. Но это будет помойка, потому что промисы отрабатывают в микротасках, а таймеры в тиках лупа, на уровень выше.Короче, разберись с инструментами и своей архитектурой для начала. А потом либо забивай гвозди молотком, либо хуярь микроскопом и не жалуйся.
>>1103577>FraimFrameСам себе не перезвоню.
>>1103553>как работают всякие транспайлерыДелают ебучий конечный автомат на свичах и глобальных состоянихhttps://babeljs.io/docs/plugins/transform-regenerator/https://ru.wikipedia.org/wiki/Конечный_автоматПро бесконечно там while true как можешь заметить.
переставлял тут свои часики на свежие рельсы бесподобную конструкцию let t.h = t.getHours; ес6 жрать отказался сука и мне кажется я прозрел анан, наконец то функции делают то как названы, но хочу уточнить, все ли по красоте? накатил бабель кстати, теперь дрочить старый унылый стандарт вообще нет смысла, тут же листанул посмотрел че там на выходе, вздрогнул и обратно пишешь свой няшный питонообразный свежий кодик
>>1103606>let t.hПосле let должен быть идентификатор, в котором не может быть точки.Идентификатор (типа имя переменной) это нижнее подчёркивание или юникод-буква (некоторые юникод-точки помечены соответствующе) первым символом, далее буквы, цифры, подчёркивания.Русские буквы тоже будут работать, например. Проверь, но никогда так не делай.let анон = "лев";console.log(анон);https://tc39.github.io/ecma262/#sec-names-and-keywords>функции делают то как названыпеременная конКат это противокошки или что в ней?Давай начнём с того, что ты будешь избегать любых сокращений. Даже если ты будешь печать большим пальцем ноги (попробуй), это всё равно займёт незначительную часть всей твоей работы. Пиши полно и ясно.В именах функций первым должен идти глагол, описание действия. Не клокПринт, а принтКлок. В русском языке допустимо "часы печатать", но мы то по-английски пишем, у них порядок слов в грамматике, а не в экспрессии.И если на странице ещё что-то будет выполняться, твои часы не будут рабоать, так как Интервал не гарантирует, что сработает по времени.Когда Ивент-луп делает тик, он первым делом устанавливает переменную вроде каррентТайм, потом он сравнивает таймеры со временем в этой переменной, запускает коллбеки тех, которые меньше или равны. Если кто-то впендюрит в Луп коллбек, который работает больше секунды, то твой Интервал вызовется только после этого коллбека и часы начнут отставать соответствующе.Тебе надо вызывать часы рекурсивно по таймауту, как >>1103577 . Оно тоже не гарантирует, но подводных камней станет меньше.
>>1099555 (OP)Новый нуфаг вкатился. Добрый день.Сижу джва часа ломаю голову, что за ошибка со скобкой и почему консоле лог не выдаёт на пустую страницу эту песенку.Помогите, пожалуйста. Всё перепроверил и нифига. Лиса 56, нотепад++ кода.Блин, уже не знаю, что делать. Мб я настолько слепой, что не вижу ошибки?И еще странное по кодировке, подключил, а всё равно черные хуйни вместо символов.Заранее спасибо за ответы.Когда код прячешь в комментарий, что ошибка со скобкой пропадает, само собой.
>>1103560>Свой код, который должен формировать какй-то массив результатов. Код почти такой как и тут:https://42k5tcpg7bhjjaze.onion.to/getpeerinfo_to_addnode/ip-list_to_addnode-list.htmlЗдесь из textarea извлекаются IP и IP с портами. Если порт указан - он добавляется к ip где он не указан,если IP не указан - первый найденный порт объявляется дефолтным и добавляется ко всем другим,ноды с другими указанными портами - также остаются в списке.Всё это идёт в массив и выводится в виде списка addnode= в div.Но я решил продолжить парсинг массива, вызывая последовательно сканер портов.У меня код по нескольким файлам разбросан и недопилен ещё, поэтому не заливал его никуда.
>>1103753<meta charset = "utf8"> же? Или нет?Мимонуфаг
>>1103754>Но я решил продолжить парсинг массива, вызывая последовательно сканер портов.И вопрос в том, как через эти всякие глобальные переменные - вернуть результаты сканирования при каждом последующем вызове.Я вижу, что функция проверки доступности порта check_ps_ws()сравнивает время, как и функция сканирования множества IP например check_ns_xhr(),последняя даже лучше, потому что там указывается один порт,но когда они scan_ports() и scan_network() вызываются там объявляется снова массив результатов,var ps_open_ports=[];var ps_closed_ports=[];var ps_timeout_ports=[];и логdocument.getElementById('log')к тому же в лог результаты идут вызовом отдельной функции results_ps()...Возможно поэтому глобальные переменные и не обновляются.Мне же надо что-то типа универсальной функции для проверки порта:function scan_ip_port(ip, port){return result array;} и всё.потому что в списке addnode, как ты можешь видеть по ссылке выше - находится и IP и порт.
>>1103629>let анон = "лев";мммаксимум ватничества, я вообще удивлен что еще нет чисто РУССКОГО языка программирования БЛД >это противокошки или конкатинация же ~_~>избегать любых сокращенийну эт тупо же, представь у тебя портанка на 20 знаков и ты ее будешь подпихивать дальше по коду во все функции, и читать заибешься и понимать труднее, лучше один раз сразу разобраться че это, зато потом понятно >Не клокПринт, а принтКлоктоже тупо сделоли, я смотрю на горб и понимаю чье это, смотрю в лево и понимюа что это, что легче глазами выцепить горб или хуню слева? ну а про колбеки я знаю анон, сайты с визуализацией это очень наглядно мне показали, но да это часики и никаких ивентов больше нет, колорпикер вроде без колбеков, но я учту на будущее энивей санкс
>>1103753сниси ишацкий уебанский нотпад
>>1103768>я вообще удивлен что еще нет чисто РУССКОГО языка программирования БЛД Ты слишком юн, коли так считаешь.
>>1103560>fin это твоя фунция, которая будет что-то с результатами делать и перевызывать процесс для следующей ноды.Смотри, аноним!У меня есть три результата там, которые идут в лог. Это ps_open_ports, ps_closed_ports и ps_timeout_ports.Я хотел бы хотел после объявления массиваvar array_results = [];вернуть их из функции fin() в виде массива - вот так:array_results = [ps_open_ports[0], ps_closed_ports[0], ps_timeout_ports[0]];//console.log(array_results); //их видно внутри функции fin();return array_results;Но...setTimeout(isFinished, 1000); не возвращает значения, окромя каких-то цифр.Поэтому я вставил повыше вот такую функцию:function sleepFor( sleepDuration ){ var now = new Date().getTime(); while(new Date().getTime() < now + sleepDuration){ // do nothing } }она работает вот так:function myFunction() { //после sleepfor - обновлю массив myArr = [1,1,1];}var myArr = [];console.log("до setTimeout "+myArr); //ничегоsetTimeout(isFinished, 1000);console.log("после setTimeout "+myArr); //ничегоvar myArr = [];console.log("до sleepfor: "myArr); //ничегоsleepFor(1000);myFunction();console.log("после sleepfor"+myArr); //1,1,1 - массив поменялся.Но всё-равно из функции fin() массив array_results как глобальная переменная - не обновляется даже с использованием sleepFor.Если засунуть array_results = [1,1,1]; рядом возле fin(); внутри функции isFinished()и вызывать isFinished после sleepFor - массив array_results всё-равно не обновляется.Это видимо потому, что внутри функции isFinished она вызывает сама себя при помощи setTimeout, который не обновляет этот грёбанный массив.И вообще, функция sleepFor , хоть позволяет другим функциям возвращать значения за пределы их,но от неё виснет вкладка, пока весь скрипт не завершится.Поэтому, как вернуть результаты сканирования - понять до сих пор не могу. На ум приходит спарсить div как-то через innerHTML.value,но это надо делать для каждого элемента массива, после каждого конкретного вызова функции и не факт что получится ещё...
>>1103758>объявляется снова массив результатовНе совсем. Перезаписывается/обнуляется глобальная переменная, содержащая результаты. Доступ к этом массивам есть отовсюду. Там нет var (и не нужно) в коде функции scan_ports.>Возможно поэтому глобальные переменные и не обновляются.?? Всё должно обновляться, и всё обновляется. Я уже сказал, как тебе нужно сделать:1. Записать айпи/порт в глобальную переменную2. Запустить scan_ports_ws()3. Ждать, пока не завершится сканирование4. Использовать результаты сканирования из трёх глобальных массивов ps_...._ports.>как ты можешь видеть по ссылке выше Не могу, я же законопослушиныйы гражданин и по луковке в поисках наркотиков не шляюсь.>return result array;Так просто ты не сделаешь, асинхронностоть жи. Нужны генераторы/промисы/await'ы. Вот как-то так, например: https://repl.it/repls/SarcasticOutgoingAfricanparadiseflycatcher В приципе, слегка адаптировав условие на третьей строке и название массивов с портами можешь прямо этот код и попробовать применить.А что ты вообще делаешь? А то вдруг я тут соучастником становлюсь.
>>1103777>видимо потому, что внутри функции isFinished она вызывает сама себя при помощи setTimeout, который не обновляет этот грёбанный массивЕсли вставить sleepfor вместо settimeout внутри isFinished - вообще всё зависает нафиг.Поэтому как подключить твой "костыль" - ума не приложу. Костыль - не костыль, блядь.
>>1103777Не пиши код с \t, ну не видишь, что ли, что не работает тут это?>setTimeout(isFinished, 1000); не возвращает значения, окромя каких-то цифр.Это просто "номер" таймера, по истечение которого будет вызвана функция isFinished.>но от неё виснет вкладка, пока весь скрипт не завершится.>Поэтому, как вернуть результаты сканирования - понять до сих пор не могу.Тебе надо пойти почитать, что такое асинхронность (в JSе в частности) и как с этим работать. Коллбеки там, промисы и т.д. Без этого ты тут, увы, абсолютно ничего не поймёшь, потому что там весь код на этом построен. Никакой линейности (без сахарка типа await'а, как я показал выше), как ты хочешь, здесь не будет. Результаты готовы только тогда, когда вызывается fin().
>>1103776имею в виду такого РУССКОГО что бы в каждой ссаной шараге после черепашки были наши, отечественные кресты со скрепами и покаянием безусловно такой бонус носителям языка, несправедливость на сололерне видел сопливый тред скандива, который думал что бест практис это лучшие упражнениятак вот и у меня цикли поперек встают, было бы куда пизже увидеть родные знакомые КУДА ДЛЯ ЧЕГО ПОТОМ ЕСЛИ сука>слишком юнпх
>>1103778>3. Ждать, пока не завершится сканированиеПоправочка: ждать асинхронно, т.е. используя всё те же setTimeout'ы, которые бесконечно перезапускаются, пока некое условие завершения не будет выполнено.Твой sleepFor блокирует всё к чертям, и браузер именно что не деает ничего, абсолютно ну, ладно, сравнивает два числа с максимальной скоростью, включая и проверку портов и вызовы функций по таймауту. Он занят твоим пустым циклом.
>>1103781Он есть, 1С.
>>1103783>1С.г-ди какой же он охуенный, под него уже есть транспеллеры на жс?
>>1103778>Не совсем. Перезаписывается/обнуляется глобальная переменная, содержащая результаты. Доступ к этом массивам есть отовсюду. Там нет var (и не нужно) в коде функции scan_ports.Если сделатьconsole.log("open ports:"+ps_open_ports+", closed ports:"+ps_closed_ports+", ps_timeout_ports: "+ps_timeout_ports);внутри фукнции scan_ports эти значения - undefined.Потому что из неё scan_ports_xhr() и scan_ports_ws() - вызываются через setTimeout.А он - не возвращает var, только какое-то число похожее на время.>?? Всё должно обновляться, и всё обновляется. Они обновляются только внутри функций.>Использовать результаты сканирования из трёх глобальных массивов ps_...._portsВот тут вот и трабла. Они выводятся как undefined.>Не могу, я же законопослушиныйы гражданин и по луковке в поисках наркотиков не шляюсь.Причём тут вещества, ИМХО TOR юзабельнее для серверов - просто чтоб не юзать DDNS.>асинхронностоть жи. Нужны генераторы/промисы/await'ы. Вот как-то так, например: https://repl.it/repls/SarcasticOutgoingAfricanparadiseflycatcher >В приципе, слегка адаптировав условие на третьей строке и название массивов с портами можешь прямо этот код и попробовать применить.Вот тут уже вообще ничего непонятно.>А что ты вообще делаешь? А то вдруг я тут соучастником становлюсь.Ну смотри. Вот там в луке генерируется список нод для конфига различных альткоинов.Список выглядит так:addnode=IP:PORTaddnode=IP:PORTaddnode=IP:PORT...Этот список можно получить из пиров, если в кошельке рандомной монеты - ввести консольную команду getpeerinfo.Но не каждый пир является доступной нодой.Моя задача состоит в том, чтобы проверить порт-сканером - открыты ли порты дефолтные для ноды порты у пиров,и если порты открыты - оставить пира как ноду в списке addnode.Иначе - удалить, чтобы список не был длинный.Ведь многие пиры в одноранговой сети, являющиеся на данный момент подключёнными к кошельку клиентами -могут являться не только клиентами,и не обязательно их удалять из списка addnode - просто потому что у них другой порт.Их рандомные порты могут быть открыты в момент соединения и назначены в рандомном порядке на маршрутизаторах,в то время как дефолтный порт - может быть проброшен во вне, и этот пир может являться полноценной нодой.Поэтому в луке генерируется список addnode для всех найденных IP_порт , а также IP+дефолтный_для_ноды_порт.Для чего всё это? А чтобы искать и генерировать списки годных addnode для монет у которых не работает peer exchange, например.Вот здесь, например: https://bitnodes.earn.com/ я вижу кнопку CHECK NODE,однако это только для биткоина (протокол наверное тоже имеет значение там),и только одну ноду можно проверить.А хотелось бы сразу пачку нод проверить, просто спарсив список addnode, и не просто где-то там на сайте (который может упасть),а из-под портабельного скрипта в браузере.Ничего криминального тут нет, а альткоинов - на самом деле очень много и все они однотипны.Можешь посмотреть их список - тут: https://www.cryptopia.co.nz/CoinInfo
>>1103780>Не пиши код с \t, ну не видишь, что ли, что не работает тут это?Я просто вставляю символ табуляции, а оно заменяется на \t а потом исчезает у меня.У тебя что не исчезает?? Обнови страницу.>Тебе надо пойти почитать, что такое асинхронность (в JSе в частности) и как с этим работать.>Коллбеки там, промисы и т.д. Без этого ты тут, увы, абсолютно ничего не поймёшь,>потому что там весь код на этом построен. Никакой линейности (без сахарка типа await'а, как я показал выше),>как ты хочешь, здесь не будет. Результаты готовы только тогда, когда вызывается fin().Ладно, подзабью-ка я хуец на это дело, а то много непонятных слов.Но всё-же может можно было бы как-то через JQuery какой-нибудь сделать всё это норм?Поэтому просто оставлю здесь эту задачу в зависшем состоянии, вы же кодеры - хуле мне вам затирать тут про коллбэк из setTimeout ...
>>1103781>такой бонус носителям языкаТы не смыслишь в программировании, если так считаешь.Естественные языки не пригодны для формального описания задач. Чем язык более язык аналитический, тем он удобнее.Русский язык не аналитический.
>>1103786Возможно, не интересовался.
>>1103786
>>1103780>Не пиши код с \t, ну не видишь, что ли, что не работает тут это?>Я просто вставляю символ табуляции, а оно заменяется на \t а потом исчезает у меня.>У тебя что не исчезает?? Обнови страницу.Почему бы не заменять символ табуляции на восемь неразрывных пробелов почему именно на \t - оно же не отображается...
>>1103794И вообще, для кодов можно было бы использовать тег <pre></pre>разместив его в виде bb-кода c кнопкой в окне ввода.
>>1103790про бонус я говорил за англичан, мы должны учить сначала их язык =культуру а уже потом язык кода сама же логика везде +- одинаковая и ее вид сути не поменяет, вон ромбики с параллелограммами раскидывать одинаково тяжелопочитал за 1с, это дно, очень обидно что суровая реальность все умудрится опошлить, но идея очень годная>>1103792пидорская хуита убрали лишние кнопки типа на стиле и при этом оставили ахирацкий спайс, л: логика
>Если сделать <...> внутри фукнции scan_ports Подожди, ты нахуя scan_ports вообще трогаешь? Он же только читает данные из инпутов, обнуляет массивы результатов/окно вывода и запускает процесс. И вообще, где именно ты запускаешь свой код-то? Какую часть кода с сайта ты используешь? Может, все функции оттуда скопировал, а объявление переменных (строки 210-229) — нет?Я именно поэтому и просил тебя несколько раз свой код показать. >Вот тут вот и трабла. Они выводятся как undefined.Не должны. Открой свой сайт, введи айпи-порты, запусти. Затем открой консоль в браузере и введи свой>console.log("open ports:"+ps_open_ports+", closed ports:"+ps_closed_ports+", ps_timeout_ports: "+ps_timeout_ports);Всё будет показано.>Причём тут веществаДа я пошутил же, ну чо ты.>Ладно, подзабью-ка я хуец на это делоТак быстро сдался. Ну ладно, как хочешь>Но всё-же может можно было бы как-то через JQuery какой-нибудь сделать всё это норм?Блин, ну я ж уже показывал, как всё нужно. И на коллбеках, и на промисах. Чистый жс, Никакх jquery (который так-то вообще для интерфейса). Не могу же я прям всё за тебя решить, не интересно так.>>1103801> мы должны учить сначала их языкЗачем? Там 10 ключевых слов да и всё.
>>1103805>Подожди, ты нахуя scan_ports вообще трогаешь?Ну, чтобы показать тебе, что после вызова scan_ports_ws() строкой через setTimeout там,Объявленный внутри функции массив с портами - не обновлется и не видно результатов сканирования в этом массиве - внутри этой функции scan_ports() .>Он же только читает данные из инпутов, обнуляет массивы результатов/окно вывода и запускает процесс.Так вот мне оттуда надо вернуть результаты сканирования и запхнуть их в глобальну переменную,а потом уже её читать, и работать со всеми результатами.>И вообще, где именно ты запускаешь свой код-то?В браузере, где же ещё?.. Google Chrome. Скопировал страничку в html-файл, открыл при помощи Notepad++ и играюсь с кодом...>Какую часть кода с сайта ты используешь?Просто работаю с функциями scan_port(), scan_port_ws(), как ты описал,и ещё пробовал засоывать IP, port в функцию scan_network().>Может, все функции оттуда скопировал, а объявление переменных (строки 210-229) — нет?Всё это есть там. Проблема в возврате результатов.Вообще, в идеале было бы неплохо переписать всё это в виде одной функции, вроде:var array_results = [];function scan_ip_port(ip, port){//долгая и нудная проверка портаreturn array_results = [ip, ps_open_ports, ps_closed_ports, ps_timeout_ports];}//а потом уже, после всего этого - обрабатывать array_results;//вида ["0"[192.168.0.1, 5555, 0, 1], "1"[10.0.0.2, 0, 0, 8080], "2" [100.05.00.0, 0, 80, 0]]>Не должны.>введи>в браузере>Затем >Всё будет показано.Вроде-бы нашёл решение, позволяющее извлечь данные из функции после вызова её через setTimeout.Оно заключается в работе с переменной УЖЕ ПОСЛЕ всех её изменений, и вот, на мой взгляд это решение:<script>var secondsLeft = 10;function deathCounter() { if(secondsLeft>0) { secondsLeft-- ; // note the -- here! console.log('inside function: ' + secondsLeft); // and the log setTimeout(deathCounter, 1000); }}console.log('outside function: ' + secondsLeft);setTimeout("deathCounter()",100);setTimeout("console.log('outside function: ' + secondsLeft)",11000);</script>Но его ещё подключить надо правильно, бля...>Да я пошутил же, ну чо ты.чё-то было нисмишнооооо, забей.>Так быстро сдался. Ну ладно, как хочешьБыстро?!! Я уже три почти три дня проклацал с этой хренью!>Блин, ну я ж уже показывал, как всё нужно. И на коллбеках, и на промисах. Пробовал видать промисы выводя их в консоли - там такие полотна листинга, что яебу.>на коллбекахТоже что-то нагуглил, попробовал, не получилось - да и удалил сразу.>Не могу же я прям всё за тебя решить, не интересно так.Вот же вы любите мозги впустую помахать. Ладно пойду инклюдить свою шнягу, может чё и получится.Если получится и не забуду - то запощу тут лучок.
>>1103847>Оно заключается в работе с переменной УЖЕ ПОСЛЕ всех её измененийА что, ты изначально хотел узнать значение переменной до её изменений? Это как?>в виде одной функции, вроде:Без понимания промисов с async/await сахарком не перепишешь, говорю же. Потому что для старта подключения, функция, создающая вебсокет или xhr запрос, должна завершиться, чтобы браузер получил возможность, собственно, заняться этой фигнёй.Гу, удачи, в общем.
>>1103768Вообще, если у тебя есть файл (или модуль, или класс), который называется "клок", то функция в нём может называться просто "принт". Из контекста же очевидно, что она про "клок".Если после того, как ты отбросил всё очевидное, у тебя всё равно получается 20 знаков, то, либо у тебя беда с архитектурой и слишком много контекстов приходится объяснять, либо пусть уже будет 20 знаков, чтоб не надо было разбираться, угадывать что-то.
>>1103875>просто "принт". Из контекста же очевидноА вот это л-логично, еще не дорос до модульности тащемта, однако так ведь нарваться на зарезервированное имя проще, та же Дата наверняка уже кем то занята или не?
>>1103905Скоуп! Область видимости!
Допустим, что есть example.org и он имеет страницу с адресом /123. Можно ли с помощью .htaccess сделать так, чтобы по адресу example.org/abc открывалось то же самое, что и по /123, но при условии, что в адресной строке написано /abc (то есть, редирект просто не пойдёт)? Если да, то что нужно написать?
>>1103914хуеуп, назови блять функцию return и чо будет, я же не могу знать все зарезервированные имена, или могу, яж программист ебта!
Хуевый сайт там список больше на самом деле, ну да хуй бы с ними даты там нет и ладно, да и вообще теми словами функцию называть ниразу не хочется, так что ок
>>1103858Нифига не получилось с этими глобальными переменными,но нашёл ещё такой порт-сканнер: https://defuse.ca/in-browser-port-scanning.htmтут используется объектvar scanner = new PortScanner(ip, port);и надо задавать какие-то коллбеки для него.Как переделать его под проверку списка IP:port - тоже ума не приложу пока-что,но он вызывается каждый раз отдельным объектом, и видно в консоли все данные про этот объект.
>>1103962Вообще не проблема, тебе редактор сразу ругнется. Ну или рантайм. Локально можешь у себя называть как хочешь
Ходил на собеседование на реакт. Похоже завалил и на многие вопросы не ответил. Вот некоторые вопросы, может поможет кому:1) В чём отличие ангулара 2 и ангулара 4?2) Назовите пять причин, почему css препроцессоры не нужны.3) Что вы знаете о c++ аддонах для ноды?4) Чем ssh отличается от ssl?5) Чем http отличается от http2?6) Чем замыкания отличаются от размыканий?7) Как выполнить XHR на ванильном JS?8) Для чего в jQuery передавать window если он и так глобальный и зачем undefined?9) Каким вы видите реакт через пять лет?10) Как сделать неизменяемый объект?11) Какой клиентский MVC-фреймворк посоветуете для браузерной игры?12) Какой консольный редактор или IDE вы больше всего любите?13) Почему Backbone не подходит для Twitter?14) Читали ли вы исходники V8?15) В чём преимущества и недостатки V8 перед Chakra?И ещё что-то, уже не помню.
>>1103977>9) Каким вы видите реакт через пять лет?Это такой траллинг? Пост-ирония над мемом "кем вы видите себя через 5 лет?"
>>1103977> Чем замыкания отличаются от размыканийТы, чисто случайно, не на электрика-монтажника собеседоваться ходил?
>>1103753бамп. подскажите плиз
>>1104005В 21 строчке ты не смог в конкатенацию.
>>1104011Не понял. Разъясни, если не трудно. код по книге обучающей забил.
>>1103977>Backbone на этой хуите вроде окромя яндекса не пишетчто за клованов ты посетил? пиздец каша из вопросов, вам шашечки или ехать блять
>>1104011>В 21 в 22ой же
>>1104016Ничего не знаю, я с нуля отсчитывал на самом деле, да, конечно.
>>1104019>я с нуля отсчитывал [кек, )))] в 29 тоже, но чот я сомневаюсь что это зарешало, хотя ромбы, а может и вправду в этой мелочи дело
>>1104016Подскажите, в чём проблема.Вся разметка из книги.
>>1104023>в чём проблемаvar ward = "b::r.,ea":var cam: 99,-wlule (Gaunt >o)(В ТОМ ЧТО ТЫ АНОНИМНЫЙ ИШАК И ПИЗДОГЛАЗтебе уже дали ответ, не смотря на то что ты не предоставил интерактивный листингcan:u)e.)nq(cuunc ; ucan:u)e.)nq(cuunc ; ucan:u)e.)nq("?ake(mun:
>>1104025Еблан, блять. Ливая с этого говняного треда.
>>1104025Ты кое-что забыл.
>>1103753
>>1103971Там идёт попытка загрузки картинки и не всегда корректные результаты.Например некоторые порты, являющиеся закрытыми - порой отображаются, как открытые.Вот туда бы websockets как-то прикрутить... Но с этим я уже врядли справлюсь...
Пиздец вы тут долбоёбы. Не хотите человеку показать где он плюс пропустил.мимо проходил
>>1104028SAS1))))
>>1104032>Не хотите человеку показать это необучаемое животное, пусть дворы метет
>>1104039Ну ему 14 лет. Всё нормально. А тебе 16 и ты уже весь крутой такой, взрослый, унижаешь его. Молодец. Так держать.Из-за таких как ты в стране пиздец.Что за менталитет такой свинский.
>>1103977>1) В чём отличие ангулара 2 и ангулара 4?Раньше пользователю приходили счета за свет за конпиляцию, теперь они будут приходить нам. Мы заботимся о пользователях.>2) Назовите пять причин, почему css препроцессоры не нужны.Не вижу смысла говорить о том, что не нужно.>3) Что вы знаете о c++ аддонах для ноды?Долго пишутся, быстро работают.>4) Чем ssh отличается от ssl?Уровнями.>5) Чем http отличается от http2?Возможностью жрать трафик клиента.>6) Чем замыкания отличаются от размыканий?Стоит пояснить про помыкания и примыкания.>7) Как выполнить XHR на ванильном JS?Скобочками.>8) Для чего в jQuery передавать window если он и так глобальный и зачем undefined?Это не резервированные ключевые слова.>9) Каким вы видите реакт через пять лет?Мёртвым.>10) Как сделать неизменяемый объект?Пойти к психологу, сказать: "Меня в детстве били родители и теперь я хочу всё контролировать, как они". Выслушать его рекомендации, забить на них, рекурсивно применить Обжект.фриз.>11) Какой клиентский MVC-фреймворк посоветуете для браузерной игры?СВГ + ВебГЛ>12) Какой консольный редактор или IDE вы больше всего любите?Вим, я не понял, как из него выйти, пришлось полюбить.>13) Почему Backbone не подходит для Twitter?Бекбон хочет готовые объекты, а Свиттер это лоскутное одеяло.>14) Читали ли вы исходники V8?Я предпочитаю Данцову.>15) В чём преимущества и недостатки V8 перед Chakra?Преимущества — В8 на хайпе, а Чакра от тырпрайз-инженегров. Недостатки — В8 на хайпе, а Чакра от тырпрайз-инженегров
Охуеть. Решил полистать тред. Вы даже этому не подсказали. >>1100317Пиздос.Подпишусь на тред и буду помогать всем. Вам на зло нахуй.Ньюфаги, у кого есть вопросы по жсу? Любые. Если смогу, помогу.inb4: у меня тут проблема с либой, о которой знают 2 с половиной человека в мире, как её использовать?
>>1104040>в стране пиздецтому шо центр притяжения находится за океаном, чем больший ты специалист, тем глубже вовлечен в культуру и тем проще тебе переплыть и интегрироватьсяродная же отчизна довольствуется оставшимся безынициативным биомусором без амбиций, со скотскими желаниями и потребностямипочитай диздок зарядья, все рыла нюйоркские, наши только говно убирали да цветы совали, потому что некому, кто может, тот уже тамтак что ты не плачь дядь, уже 500 лет так было и так будет всегда
>>1104050>проблема с либойНи в коем случае не хочу охладить твой позитивный пыл, но на комунити то не гони. Тут даже дезигнеру помогли с какой-то говонлибой >>1103015Если кому-то и не помогают, то только потому, что он не может сформулировать пост и ждёт победителей Битвы экстрасенсов.
и да если кому интересно все бесплатные файнридеры хуитаhttps://www.onlineocr.net/вот этот боле-мене, остальные дно путают О с 0https://finereaderonline.com/ru-ru/Tasks/Createаби таки затащил шакаложипег без косяков
>>1099555 (OP)Суп, скриптач, поясните за xmlhttprequest.Делаю так: jsfiddle.net/gvbL6zzdОбычный http работает, локальные работают, а с SSL шлет нахер, даже заголовки не присылает. В чем могут быть подводные? Я только вкатываюсь.
>>1103977>14) Читали ли вы исходники V8?Конечно! Какой-то миллион строчек кода на крестах, хули не почитать то.
>>1104032Дай человеку рыбу и он будет вонять рыбой, научи его рыбачить и он будет цеплять на крючек телочек
Впендюрьте в шапку уже про КОРС, платина же.>>1104075Веб позволяет запустить произвольный код из произвольного места. Чтоб от этого совсем не умереть, есть разные заголовки, которые должны отдать и сервер данных и сервер документа. Иначе браузер молча проигнорирует такие дырявые запросы в целях твоей безопасности. https://ru.wikipedia.org/wiki/Межсайтовый_скриптингhttps://developer.mozilla.org/en-US/docs/Web/HTTP/CORSЕстественно с шифрование на это дополнительные ограничения накладываются. Твой сертификат шифрования же не действует на сторонний сервер, который данные должен отдать.
>>1104075У тебя HTTP и HTTPS на одном и том же домене?Если HTTP на локальном, а HTTPS где-то далеко, то да, это CORS запрещает. Хотя я твой скрипт вообще запустить не смог. Сначала там в конце скобки не хватало, а потом просто ничего не происходило.
>>1104075Под пивко потом Кокфорда посмотри, про то, как мы сделали хуйню для шары документов внезапно самой дырявой средой.https://www.youtube.com/watch?v=HUXootHAnfk
Аноны, кто может пояснить за хуйню одну, может сталкивался кто. В общем есть анкор, который по id пиздюхает к контейнеру и все пиздато работает. Но если добавить js для плавности прокрутки, то начинается ебала. Прокручивается нормально только если начинать с самого верха страницы, если прокрутиться ниже, то начинается неадекватная хуйня - экран не доезжает до нужного контейнера или вообще едет вверх, хотя должен вниз. На всякий кидаю код:$(document).on('click', 'a[href^="#"]', function (event) { event.preventDefault(); $('html, body').animate({ scrollTop: $($.attr(this, 'href')).offset().top }, 900, 'easeOutQuart');});
>>1104122>Прокручивается нормально только если начинать >с самого верха страницы, если прокрутиться >ниже мышкойфикс
>>1104122Консоль открой и пиши туда "$($.attr(this, 'href')).offset().top"Потом прокрути вниз страницу и снова напиши. Меняется?Если нет, то возьми это число и поставь сюда"scrollTop: число"Будет кататься в одно и то же место или будет зависать от того, куда ты прокрутил?
>>1104142А вообще нет, this будет то меняться.Сделай так:$(document).on('click', 'a[href^="#"]', function (event) { event.preventDefault(); var scroll_to = $($.attr(this, 'href')).offset().top; console.log('Scrolling to:' + scroll_to); $('html, body').animate({ scrollTop: scroll_to }, 900, 'easeOutQuart');});В консоль будет писать "Scrolling to:", оно одинаковое будет вне зависимости от положения прокрутки?
>>1104146Меняется в зависимости от положения прокрутки. Есть идея, как фиксить?
>>1104148Зависит от того что означает "$.attr(this, 'href')"?Что оно делает?Я вообще в доке не вижу "$.attr" https://api.jquery.com/attr/
>>1104150Тоже в спеку смотрю, аттр первым атрибутом только строку принимает, не понимают, как тут зис может сработать.другой помогун
>>1104152так а разве $.attr не равно jquery.attr?
>>1104154Ну в доках и "jquery.attr" нету.Замени "$($.attr(this, 'href')).offset().top" на "$('#X').offset().top" (замени #X на любой элемент в центре страницы) и проверь будет ли оно к нему скроллить из любого положения?Если да, то ты что-то напутал.
>>1104159Такая ж хуйня, как и была. Лады, спасибо и на том.
>>1104162Сделай$(document).on('click', 'a[href^="#"]', function (event) {event.preventDefault();var scroll_to = $('#X').offset().top;console.log('Scrolling to:' + scroll_to);$('html, body').animate({scrollTop: scroll_to}, 900, 'easeOutQuart');});Замени #X на своё. Всё равно 'Scrolling to:' будет меняться?
>>1104164Scrolling to:635 insane-code.js:4:1Scrolling to:114 insane-code.js:4:1Scrolling to:407 insane-code.js:4:1Тут может херь в том, что по докам в animate нужно первым аргументом впихивать CSS {property: value}, а тут получается функция scrollTop. Хуй пойми. Программирование ебаное.
>>1104169Подожди, ты заменил #X на что-то другое и у тебя меняется? Оно не должно. Либо у тебя элемент путешествует по странице, либо ты хуйни натворил.Покажи код, что и на что ты заменил? Может ты меня не так понял.Покажи этот кусок кода с заменой своей.
>>1104171$(document).on('click', 'a[href^="#"]', function (event) {event.preventDefault();var scroll_to = $('#navimain').offset().top;console.log('Scrolling to:' + scroll_to);$('html, body').animate({scrollTop: scroll_to}, 900, 'easeOutQuart');});#navimain - id контейнера, в который должны приехать.
>>1104174setInterval(function(){console.log('Offset: ' + $('#navimain').offset().top);}, 100);Начнёт флудить в консоль, крути рукой прокрутку. Меняются числа?Если да, то у тебя где-то код меняет положение #navimain при прокрутке. Либо он CSSом меняется.
>>1104176Числа меняются. Но они и должны менятся, т.к. метод offset().top возвращается кол-во пикселей от верха экрана до элемента, так же?
>>1104109> одном и том жеНет, я это по заголовкам определил. Собственно, я уже выяснил в чем проблема.> скобкуПотерялась при копипасте.> ничего не происходилоСобсна, респонс я передаю дальше на парсинг, все по классике. Проблема именно в объедке xmlhttprequest, а точнее, в его реализации на конечной платформе - не поддерживает TLS 1.2 и уже никогда не сможет. Лечится это только молотком.>>1104089>>1104109>>1104110Но в любом случае, спасибо, анонасы, буду кресты теперь ковырять, хуле.
>>1104176Кстати эта хуйня работала вроде нормально, я правда сильно не тестил, но из различных положений скролило как надо. А почалося, когда в этот же контейнер с анкором впиздючил тег с видосом. Так что ебала может уходит корнями в ебучий браузер.
>>1104182>Get the current coordinates of the first element, or set the coordinates of every element, in the set of matched elements, relative to the document.В этом треде выполни:setInterval(function(){console.log('Offset: ' + $('#post-body-1104176').offset().top);}, 100);Не меняется. У тебя элемент скачет по странице при прокрутке.
>>1104186Спасибо анон, все заработало после того, как убрал overflow-x: hidden у body. Хоть и не понял схуяле.
>>1104189С того, что CSS ебучий. Вообще фронтэнд это пиздец какой-то.
>>1104076Вы нам не подходите. Нам нужен профессиональный Фронтенд-девелопер, а вы безынициативный верстальщик.
>>1104194Каждый раз, когда что-то меняю, потом дрочу пару часов, чтобы снова заработало то, что перестало. Но мне кажется это из-за того, что опыта нихуя нет. Через годик-два на эту хуйню буду тратить раза в 2 меньше, лол. Пасиба еще раз, упиздючил с треда
>>1104195он нам не подходит уже на 9 пункте, а то и раньше нам нужны профессионально выдроченные бесполые биороботы, что бы решали задачу и не думали ни о чем
>>1104122такое заработалоhttps://codepen.io/anon/pen/QORvXZ?editors=0100
>>1103847>Если получится и не забуду - то запощу тут лучок.>нашёл ещё такой порт-сканнер: https://defuse.ca/in-browser-port-scanning.htmВот что получилось: https://42k5tcpg7bhjjaze.onion.to/getpeerinfo_to_addnode/addnode_generator_and_port_checker.htmlНо чё-то оно хреново работает. telnet показывает, что порты закрыты.Может кто-нибудь из нормальных кодеров здесь на базе этого - что-то лучшее запилит.
аноний я тут внезапно узнал что ритёрну можно скармливать малтбл итемс просто обернув их кругляком как же отъебывает голову, то кругляк то фигурный сука хуле везде по разному то блять так вот снова нарисовалось два стула>Ilet concatiNation = ` ${h} ${m} ${s} `;return concatiNation;>IIreturn (`${h} ${m} ${s}`);учитывая что переменные объявлены выше, в пределах экрана, но лично мне почему то больше нравится более говорящий вариант, а как по красоте положено?
>>1104242Первый. Чтоб человек, читающий твой код, понимал по названиям переменных чё там происходит.
>>1104242>>1104257И название переменной пусть будет "timeString" или типа того.
>>1104257>>1104258все понел анонче, оке
>>1104204А могешь пояснить за section? Ща его надо использовать, а не div? Ну по моде типо.
>>1104242Переменную стоит называть на один уровень абстракции выше, чем её содержимое. У тебя в переменной часы и минуты, какое для них обобщающее понятие? Это время. Если в переменной "красный", то обобщающее понятие (имя переменной) будет "цвет", нутыпонел. И не надо добавлять "стринг", потому что это очевидно из-за ёбаных кавычек в коде и к данным не имеет никакого отношения (если данные завтра станут объектом или числом, какого хуя ты должен менять их имена (понятия)?). Была такая "венгерская нотация", но быстро пришли к тому, что это глупость: https://ru.wikipedia.org/wiki/Венгерская_нотацияОтстань ты уже от понятных только тебе в момент написания сокращений, нажми ещё несколько кнопок, это не долго.Правильная функция должна быть атомарной, т.е. короткой и делать одно дело, возвращаемое ей значение должно быть очевидно из её имени, без дрочни с переменными.Вооружившись этим, ты должен написать что-то типа:function formatCurrentTime () { const currentDate = new Date(); const hours = currentDate.getHours(); const minutes = currentDate.getMinutes(); const seconds = currentDate.getSeconds(); return `${hours} ${minutes} ${seconds}`;}
>>1104294тлдр: Там беда. Если есть время и силы, заморочься и используй, потом пригодится. Если нет, то сри дивами, Веб всё стерпит.Пока ещё ни один браузер не сделал механизм оглавления на странице, чтоб все секционирующие элементы обрели смысл (ты можешь впиздолить h1 в h1, это будет валидно, они будут считаться равнозначными). Ни у кого даже в планах этого нет. К тому же мы имеем концепцию "Веба для авторов, а не программистов", читай "для говноляпоющих макак". Все конторы, у которых хватает ресурсов (гуглы, яндексы), будут парсить твою портянку на дивах как родную. Просто потому что у нас таких большинство.Но секционирование уже кое-где кое-как реализуется. Например читалка скажет "навигация по (лейблРодительскойНоды)" и т.д. Плюс все поисковики, как верные гои, дрочат на всякие аксесабили, и если встретят у тебя верную разметку, то накинут тебе очков в позиции поиска.Всё к тому же упирается в мудацкую спеку, которая использует "шуд" вместо "маст", позволяет вкладывать одно в другое и вообще боится хоть как-то косо посмотреть. Мы с тобой пока можем договориться так: если мы представим наш документ как книгу, то <артиклом> будет то, что содержит название нашей маленькой книги-документа или подразумевает в себе <h1> (явно оно указано или нет, но ты чётко сможешь этот заголовок назвать; "подразумевает" тут ключевое слово), секшенами станут те, кто подразумевает название глав или <h2>. В остальном ты всё так же можешь срать дивами, не забывая про нав, эсайд, хедеры-футеры и пр.Если мы возьмём страницу Яндекс.маркета с телефонм, то article.h1, заголовок будет имя телефона section.h2, главы будут всякие комплексы характеристик (экран, батарея), aside будут аксессуары и т.д.
>>1104310https://inclusive-components.design/#componentsМожешь на вот это творчество обратить внимание. Далеко не лучший инженер и сомнительная дрысня, но заставляет погуглить и прикинуть.
>>1104299const нахуя, когда тебе дали let который не выплывет в область видимости лишнюю?
>>1104332Ты что-то путаешьhttps://eslint.org/docs/rules/prefer-consthttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const
>>1104299>Переменную стоит называть на один уровень абстракции выше, чем её содержимое.вот это в цитатник нахуй>"венгерская нотация"настолько натуральна и естесвенна что я тоже ее изобрел ^_^>но быстро пришли к тому, что это глупость: лел>это не долгоэто заебывает в персепктиве дальше, не смотря на автоподстановку, но я подумаю ведь конечная цель это все-таки навести порядок>делать одно дело, возвращаемое ей значение должно быть очевидно из её именину епт я сделял а анон меня зачепушил>currentDate.getHours();ох ебать ну и красотища, так очевидно, что даже немного стыдно>const hours ну я так и хотел, но тяга к минимализму таки зарешала. Кстати чому конст, там же дата меняется каждую секунду, или тут смысл именно переприсваивается ли сама переменная, типа const++ нельзя, а то что там внутри похуй
>>1104310а если сайт йоба реакто-динмачиеский и подчистую на ясе типа твитора, это ж как изъебываться надо что б смочь в адекватную семантику
>>1104332ппц ты лолет))) еще и уверенный такой шопездеця бы взял тебя на работу :3
>>1104435>или тут смысл именно переприсваивается ли сама переменная, типа const++ нельзя, а то что там внутри похуйДа.
Подскажите либу для парсинга хтмл.
>>1104452google chrome
>>1104452Регулярками и подстроками как правило проще всего.
>>1104452На Node.JS или где?Если в нём, то вроде как jquery это умеет из коробки.>var $ = require('jquery');>var title = $(html).find('title').text();
>>1102871стриктом пользуйся, не слушай
>>1104474>мелокобувенный пидар не знает как работает среда исполнениягоните его, насмехайтесь над ним, бросайтесь в него камнями
>>1102871>Что такое линтерЭто херовина которая сама проверяет твой код на ошибки. Например если ты объявил переменную и никогда её не использовал.Есть jslint и jshint, один из них полное говно, но я не помню какое.Их можно подключить к системе сборки, которая сама будет всё проверять при каждом изменении файла, например. Такая система сборки есть Grunt и ещё тонны других.Воооот...
>>1104310Благодарю за развернутый ответ!
>>1104492>gruntТы какой-то не молодёжный, gulp же.
Блед, перешел на Ноду, очень полюбил JS.Че машин лернинга родного на ноде нет(это связано можешь с сингл тредом?
>>1104498>gulp Ты какой-то не молодёжный, webpack же.
>>1104492Этого не слушай. Сейчас вроде eslint везде по дефолту, ставь плагин на редактор и не парься с галпами и прочими скриптами
>>1104471В ноде же. Что то похожее на beautiful soup 4 из питона.
>>1104528https://github.com/cheeriojs/cheerioСам пользовал. Годная штука.
>>1104540Спасибо, няш.
>>1104509Есть всякая фигня:https://tutorialzine.com/2017/04/10-machine-learning-examples-in-javascriptВряд ли оно сильно будет развиваться. На какой-то конфе видел сравнение распознавалки лица с камеры на ЖС и на ВАСМе, в 10 раз разница в скорости, ЖС всего пару кадров в секунду выдавал.
>>1099555 (OP)Аноним, смотри что я нашёл: https://gist.github.com/Arahnoid/9925725Здесь, походу дела, JavaScript открывает файл и работает с ним (читает и пишет в этот файл что-то там)...Так вот, вопрос к вам... Можно ли сделать нечто наподобие гостевой книги, чата, или троллбокса какого-нибудь,без всяких регистраций, серверных обвесов PHP, AJAX,а просто на JS и возможно JQuery, с использованием различных функций HTML5 типа websockets и какого-нибудь метода вроде download?Как я себе вижу это?1. Размещается некий index.html с JS-кодом внутри - на сервере без PHP. Никакого AJAX там.Пусть это будет обычный файловый сервер, в котором прямые ссылки на файлы html - интерпретируются браузером.2. В папке /data/ рядом с ним создаётся некий файл chat_log.txt3. Дальше идёт регулярное чтение и запись данных в файл скриптом. Может быть чтение некого зашифрованного файла admin.conf с паролем админа и правами 777.4. Таким образом, два клиента открывшие html-файл в различных вкладках браузера - могут общаться между собой - просто печатая в форму различную хуету.5. Админ может сделать бан посетителя по IP, если кто-то надоел, но для этого надо ввести пароль дешифрования файла админских настроек.6. Все юзеры могли бы добавить всех юзеров в игнор, ну или что-то типа private message.7. Chat_log мог бы быть ограничен десятком мегабайт - этого вполне достаточно для обычного текстового чата.Подобное вообще реализуемо? Я раньше видел гостевые книги на файлах, но файлы там создавались средствами PHP,и для юзания чата - надо было ставить полнофунциональный сервер.
>>1104648Либо ты какую-то хуйню придумал, либо я ничего не понял.Хочешь чат - бери Node.JS и на вебсокетах делай. Или на либе socket.io, там сразу поддержка комнат есть.
>>1104648Вот какой-то простенький сервер в виде exe-файла https://www.codeproject.com/Articles/443660/Building-a-basic-HTML-client-server-applicationно его скачать нельзя и вообще, быть может есть более годные решения...
Нужна пиздатая идея для петпрожекта на реакте и ноде. Только не борду.
>>1104663Если тебе прям примеры нужны, гугли примеры чата на socket.io
>>1104658Я хочу чтобы input формы отправлялся на сервер из которого загружена веб-страница,а потом чтобы JS писал инфу из этого input'а в файл,регулярно читая его и выводя результаты в div.Никаких сокетов и соединений, просто форма либо отправлена, либо нет.Файл с логом чата - должен быть на сервере, или же рядом с html-файлом,так как если чат представляет из себя портабельную веб-страницу,работающую в любом браузере - то очевидно то, что её можно сохранить и запустить у себя, локально.Я понимаю, что данные формы, принимающиеся на сервере обрабатываются серверными программами, и языками типа PHP,поэтому файл может изменяться уже такими скриптами,но я полагаю, что файл мог бы создаваться и при помощи JS, ну или загружаться туда, на сервер и там обрабатываться JS-скриптом админа,если админ запустил JS-код во вскладке своего браузера. Вот что у меня тут.
>>1104670Ты чего-то не понимаешь в этом мире.Нельзя просто так магически взять и жсом из браузера записать файл на каком-то компухтере в другой стране.Тебе нужен веб сервер, который это делать будет.Даже локально из браузера жс не может записать файл на диске. Было бы охуенно еслиб ты открывал сайт с порнухой, а он тебе троян в загрузчик прописывал. Или считывал файл с твоими паролями от браузера.
антоны дайте каких-нибудь простых задачек по реакт + редакс + нод начинаюшей мокаке пожалуста
>>1104681Сделай чат этому >>1104670
>>1104673Логично, анон.Я просто, погромизд хуев, подзабыл фундаментальное - а именно то что JS исполняется на клиенте, и что это клиентский язык погромирования.Видел бы ты моё удивление тому, почему же блять в 21-м веке,при наличии функционала HTML5 для работы с файлами и сокетамичаты обязательно требуют PHP или AJAX...Но всё-же, насколько я понял, при наличие websocket's или всяких там socket.io,JS может сделать из браузера сервер, функциями встроенными в браузер, и слушать его порты там.Тогда, вполне возможно, моя задумка и может быть воплощена... Но я не шарю там нихуя...Такие дела.
>>1104684Он чего-то не понимает в этом мире.Нельзя просто так магически взять и жсом из браузера записать файл на каком-то компухтере в другой стране.Ему нужен веб сервер, который это делать будет.Даже локально из браузера жс не может записать файл на диске. Было бы охуенно еслиб он открывал сайт с порнухой, а он ему троян в загрузчик прописывал. Или считывал файл с его паролями от браузера.
>>1104690>Было бы охуенно еслиб он открывал сайт с порнухой, а он ему троян в загрузчик прописывал. Или считывал файл с его паролями от браузера.набери в адресной строке браузера "C:/" Но это раздел или логический диск, том.Юзая hex-редакторы, можно было бы наверное не только просмотреть загрузчик, а также скачать файл,но и создать файл из браузера... temp-файлы же создаются как-то браузером...
>>1104700для этого браузер испольует php с ajax очевидно же
>>1104700жс не может получить доступ к file:///C:/Иногда всплывают уязвимости, после которых у людей пиздят пароли и кошельки от биткоинов, например https://habrahabr.ru/company/eset/blog/264619/Но вообще нельзя так.Что можно, так это показать диалоговое окно, в котором ты сам выберешь файл и дальше жс сможет его обрабатывать. Или сгенерировать файл и спросить у тебя куда его сохранить.Но сам жс не может без проса читать всё подряд или писать.
>>1104705Ну если серверные фичи типа пхо с аяксом встроены там в браузер,и админы гугола спокойно листать мотреть порно-паки на диске, имея возможность одномоментно затерев его каким-нибудь вирусом типа PETYA.Aто их навернка можно было бы заюзать и для чатика, инициализируя функции всякие через JS, не?
>>1104689Можно сделать чат чисто на клиенте + горящая база для бека.
>>1104708ну так чего ты не заюзаешь их для чатика навернка?
>>1104706Ну, тогда, можно было бы прописать исключение для этого файла - каким-нибудь user_script.jsили вообще запилить нечто типа p2p крипто-чата через браузер - в виде расширения, например uTox_extension.
>>1104710Это надо в скомпилированном и обфусцированном коде браузера колупаться, же.
>>1104715Проприетарном.
>>1104712Не-а. Нельзя. Расширения тоже не могут читать/писать локальные файлы.Можно пилить костыль-сервер на компе, который поднимает локальный веб сервер и расширение уже общается с ним. И его надо будет устанавливать отдельно.И это открывает охуенную дыру.
антоны ну памахите хочу набираться experience че поделать на реакт редакс нод есть возможность сидеть 24\7 не могу никак вкатиться хотелосьбы получать от 300 рублей в месяц
>>1104725Ну хоть объясни другому ньюфагу что такое "реакт редакс нод"?
>>1104725Напиши стандартный Crud типа бложика или магазина с админкой или имиджбооды. Без фанатизма, просто чтобы работодатель видел что ты можешь в типичную архитектуру.
>>1104726реакт шляпа с виртуальными домамиредакс это флакс нод рунтайм для жса
>>1104525>Сейчас вроде если не знаешь нахуй пишешь на умняке, а блядь?кароче жейхинт единственный который работает(жейлинт хуита, но так же в топе), только вот подсунуть конфиг в глобале я ему так и не смог, а без него он ебет мозги за ес6ну а ЕСлинк тупо наваливает кучу говна прямо в консольке под носом
>>1104720Ну, TorChat есть же. https://habrahabr.ru/post/201696/Там в статье написано вот что:"Клиенты взаимодействуют напрямую через Tor, серверов в системе TorChat нет. "И вместе с тем, тутже, ниже - написано следующее:"Каждый пользователь имеет собственный hidden service с доменным именем вида abc.onion,на котором он слушает порт 11009. "Понятное дело, что слушать порт может серверная программа, привязанная к этому порту,т. е. сервер коим по-сути hidden service TOR'a и является. А сам торчат уже как надстройка.Поэтому юзеры и торчат там обторченные такие все, как торчки.
>>1104763Не совсем понял что ты имеешь в виду и как это связано с чтением/записью локальных файлов, но в чате, что ты показал сервер поднимается скриптом на питоне https://github.com/prof7bit/TorChat/blob/torchat_py/torchat/src/tc_client.py Который слушает порт и может писать/читать файлы, если ты про это. JS не может.
>>1104732починил значит еслинт, педерасты на офпаге написали расширение конфиг файла жс вместо жсон, поменял все заработало, только толку с этой параши не больше чем от бравзера, к тому же не пашет с имбедид скриптами, такая ебань блядь, еще и без няшного интерактивчика в сточной канаве
>>1104778Ага, ага, вижу какой-то tor_server...config.get(TOR_CONFIG, "tor_server"),config.getint(TOR_CONFIG, "tor_server_socks_port"))А то я думал, что без сервера оно работает, и клиент слушает порт, как-бы являясь локальным сервером у себя там,просто взаимодействуя с сетью тор на транспортном уровне без клиент-серверных изъебств:interface = config.get("client", "listen_interface")port = config.getint("client", "listen_port")Но в любом случае, этот скрипт на питоне, даже если и поднимает локальный сервер, то по сути он и есть сервер - так как является серверной частью этого чата...
>>1104730что ты несешь, даунпросто съеби с треда блять, решительно
>>1104732Ну саблайм мб да, там плагины полное говнище. Человеческие плагины, например как у vscode просто поставишь, они сразу начнут читать конфиг и подчеркивать красным именно в редакторе.
>>1104850ты пишеш выпускнеку москвоского университета Витте если что мне-то получше знать
>>1104891в московских университетах русский язык не учат уже?
1104863>vscode>кусок браузера для домохозяек>время запуска больше чем у ОС ВИНДОУЗ ДЕСЯТЬваше мнение очень важно для нас и да саблайм это не просто иде, еще и просто удобный темный блокнот для правки луашек конфигов ватников да и просто чтения ридми, и запускаться это должно как не трудно догадаться моментально
>>1104905times in msec clock self+sourced self: sourced script clock elapsed: other lines000.006 000.006: --- VIM STARTING ---000.108 000.102: Allocated generic buffers<...>055.198 001.559: first screen update055.200 000.002: --- VIM STARTED ---
>>1104907
В проекте для букинга отелей использую сторонее АПИ, но оно отдаёт отели только кусками по 100, а запросить следующую партию можно только новым запросом. Как я понял единственный вариант показать их это подгрузка при скролле. Вёрстка будет на Ангуларе, и интересно было бы узнать как он себя поведёт если отелей будет больше тысячи. Есть ли какие-то "фишки" для оптимизации?
>>1099555 (OP)Хули это говное ебаное не работает?
>>1104942ты ж полуебок, кто за тебя функцию будет вызывать
а кнопка, ну тогда ладно
>>1104942.textContent()
>>1104942
>>1104951Это консолелог, а я хочу иннерХТМЛ.>>1104945Я ее вызываю в цикле.>>1104948Попробую.
>>1104050>Ньюфаги, у кого есть вопросы по жсу? Любые. Если смогу, помогу.Анон выручай, на тэбэ вся надежда - как должна выглядеть регулярка которая бы скрывала нахуй все окраинские диалекты из моих интернетов?
>>1105135Удаляет все символы кириллицы.
>>1105138A kak ge i ?
>>1105135Жди когда роскомнадзор введёт белые списки, тогда пару сайтов останется и все русские.
>>1105144А это не кириллица, что ли?
>>1105150>>1105150>пару сайтов и все русскиеMmmmm, skorey bi>>1105151Eto okrainc`a, vse russkie bukvi u menya krasnenkie, a i chernenkaya
нормально я его отхуесосил?
>>1105261нормально, на следующих выходных потрахаитесь
Интересно мнение мамкиных фронтендеровhttp://www.strawpoll.me/14579021
>document.querySelectorAll('#fbox1, #fbox2, #fbox3').style.background = 'white';хуле оно не работает блеадь? не цикл же его скармливать в самом то деле
>>1105290
>>1105297for (const fbox of document.querySelectorAll('#fbox1, #fbox2, #fbox3')) { fbox.style.background = 'white';}
>>1105307Спасибо ня все работает только вот правильный ответ был: да нужно использовать цикл -_-
>>1104540Спасибо :*
кароче не удержался и на три часа зааутировал все снипеты нахуй, накатил пекедж экстрактор, вытащил все говно из говна и спокойно все причесал за гадкими технарями без чувства аэстетики ну и форин фороф дописал докучикому интересно самый ебатый снипет под жс это JS & Node snippets + поверх ES6 toolkit, но он сильно пидорский, тому шо крошечный попап пидорасит с его портянок, аж трисетну и еще глянул чо там у Еммета, так вот в нем и цеска и штмл есть, так что отдельно я бы ничего не ставил, таки дела.
Сильно ли бьёт по производительности babel-polyfill?Заебал этот IE со своей неподдержкой хуйни вроде промисов, методов арреев и хуй ещё пойми ещё чего, с чем не справляется простой транспайл в es5. babel-polyfill всю хуйню решает, но бля, стоит ли? Вариантов пока вижу 3: > Послать в жопу IE и не ебаться > Вручную всю хуйню тестить, искать косяки и ставить только нужные полифилы> babel-polyfill и не ебаться
Использую history API для фильтров в каталоге, далее при переходе по ссылке товара открывается уже обычная страница: не ajax. При переходе назад со страницы товара в каталог загружается только часть, полученная ajax'ом, а нужно релодить полностью. Как фиксить?
>>1105604Сделал: отключил ajax cache
Пока писал, что мне нужно накодить, догадался сам как. Всегда бы так
кому тут нехуй заняться, вот вам задачка: вместо унылого круга на двух точках>ellipse(mouseX, mouseY, 80, 80);заибаште мне кисть состоящую из.. ну я не знаю сколько там эта вебгл параша вытянет, ну пусть будет 36 точкину и что б пасНоиз и сайз = рандом дривен быливоот, ебаште граждане
>>1105290Бамп
>>1105368Однозначно стоит. Бьет никак. То есть отличие нативного метода и метода, реализованного через полифилл КРАЙНЕ МАЛА. Первое сделано в браузере на c++, второе - на js, но поверь, IE настолько говно что работать будет хуево при любом раскладе. Пользователи IE должны страдать. Им не привыкать. Так что подключай и все будет норм.
сап, двач. как подружить jquery и react? есть перехват $('.key').click(), со статическим контентом работает, если рендерю те же данные через реакт - обработки не происходит. прекрасно понимаю, что можно все то же самое сделать через обработчики реакта, но блин, все переписывать не хочется.
Так, фронтендеры, вопрос фапа или смерти.Как выдрать видео?http://www.camwhoreshd.com/videos/198538/kati3kat-anal2-6c1440849861fb81/
>>1105785сам спросил, сам ответил. нужно делегировать события статичным объектам DOM, в коих и генерятся данные
>>1099555 (OP)У нас есть чатик для вката в реакт, ждем новичков https://t.me/hcdev
>>1105792Куда тебе залить?
>>1105785> как подружить jquery и react?> перехват $('.key').click()Пиздец, зашквар.
>>1105801Спасибо.На любой файлообменник.Или куда сочтёшь нужным.
>>1105824http://dropmefiles.com/ZmJLQ
>>1105843Спасибо огромное.
Объясните нубу почему здесь получается число 15?Promise.resolve(5) вроде просто возвращает промис в состоянии "выполнен", а число 5 передает в обработчик .then, которого вообще у этого промиса нет. Почему тогда в переменных появляются эти числа?
>>1105852ты что даун? ты написал функцию складывающую 2 числа, она тебе их и сложила
>>1105866ты вообще понимаешь что Promise.resolve(5) возвращает объект, а не примитив?
>>1105874type coercion?
>>1105785Это пиздец тупо, но если очень надо, обработчики нужно назначать в ComponentDidUpdate/ComponentDidMount
>>1105874await
>>1105785>react? >есть перехват $('.key').click(), со статическим контентом Переписывай нахой! Реакт не должен работать с селекторами и реальным домом. Переназначай методы-обработчики в JSXe блядь, мудак! Ух поймаю такого на работе - пизды дам. Пиши блять, компоненты если их нет
>>1105785>подружить jquery и react
>>1105785брось заявку в друзья
>>1105785preventEventBubbling: function(e) { console.log('click on div - stopping propagation'); e.stopPropagation(); e.nativeEvent.stopImmediatePropagation(); }
реактаны я вам тут покушать принесчас двадцать картинку добавлял лол
>>1106171>принесТочки с запятой в конце строк в 2017 не обязательно расставлять.
>>1106176
Вопрос в следующем, правильно ли я понимаю устройство изоморфных приложений. (реакт)1) Сервер генерирует первоначальный html, причём рендр реакта идёт синхронно, не работают всякие асинхронные запросы к API. Нужно отдельно загрузить что надо и передать например через пропы в рендр.2) Так же надо вшить начальные параметры в сам html. Чтобы клент не перерендривал всё поновой. В этом хтмл так же указан бандл джиес со всей хуйнёй, который работает уже только у клиента. Клиент вызывает hydrate и всё, что происходит дальше делается на клиенте.Как я понял, сервер нужен только при первом обращении. Так ли это? Или он и потом может что-то дорендривать и "помогать" клиенту?
java-господин вкатилсяredux ваш говно, тыща строк на мелкое изменение, какие-то константы, префиксы, вы ебанулись там?полгода плевался редуксом, от количества boilerplate кода было ощущение, что попал в джаву6, в итоге на обычных ангуляровских сервисах пришлось писатьвсе изменилось месяц назад, когда наткнулся на Mobx, через 15 минут интегрировал его в проект и начал пользоватьсянадо ли говорить, что небо и земля? что вам мешает использовать божественный mobx? мутабельна ряяяя, нифункциональна ряяяяна днях надо было сделать функционал в реакт нативе, который видел первый раз (как и реакт), через час уже было пара рабочих, аккуратненьких сторов, которые дергались в разных частях проекта, как представлю, какие мучения пришлось испытать бы от редукса аж в дрожь бросает
>>1106187Да. Сервер ноды нужен только чтобы отрендерить первый запрос сгенерировать HTML и запихать его в див и отдать клиенту. Дальше уже клиент получает JS бандл и гуляет по нему без участия сервера иногда лениво совершая XHR/Fetch потуги в сторону API. (За получение информации отвечает третий API сервер на базе чего угодно). Проблемы начинаются, сука там где те же асинхронные вызовы. Параметры авторизации типа JWT нужно хранить только в куках, чтобы сервак мог отрендерить отдельную страницу. Сколько мы уходили от кук к локалсторейджу? Вспомнил? Теперь забудь. Вообще один раз писал React SPA с SSR, больше не возьмусь. Подводных камней дохера. Были проблемы и с хранением данных и с асинхронными данными и с роутингом. Гугл нормально индексирует. Остальные пусть идут нахуй либо пусть рендерят страницы с перезагрузкой либо пусть платят по 150к$ за такую еблю. И то - я бы присмотрелся к Next.js
>>1106217>Не осилил отгрызок функциональщины.>Не нужноКонечно.Вызвать экшн, который пройдет через редьюсер и вернет новое состояние это много?Просто не нужно хранить все в редаксе. А хранить только то - что входит в надмножество многих не связанных компонент. Если группа взаимосвязанных компонент живет спокойно и не имеет проблем извне. Не лучше ли использовать стейт, в крайнем случае создать родительский контейнер.
>>1106230Забыл добавить, что 70% методов из жизненного цикла при написании изоморфного кода нельзя использовать.
Поясните за генераторы. Нахуя они нужны в 2017, если я не пилю хитровыебанные структуры данных по которым можно итерировать, и я могу спокойно пользоваться async/await.
>>1106371Чтобы ты мог спокойно пользоваться async/await.Сами генераторы тебе вряд ли ещё скоро понадобятся. А вот итераторы или асинки, на них основанные, обязательно. Так что неплохо бы по диагонали про генераторы прочитать, чтоб не быть баттхёртом.
>>1106448Вопрос был не про это. Как они работают понятно. Как на них делать структуру ведущие себя как итераторы понятно. Вопрос нахуя оно может пригодится еще.
Хелп ми.Нужно построить график математической функции. Пробовал в теге canvas, строя циклом линии от значения к значению, но смотрится стремно. Посоветуйте библиотеку или вариант решения
>>1106456g -> js plot math functionсамопал на канвасе:http://matt.might.net/articles/rendering-mathematical-functions-in-javascript-with-canvas-html/ебучая либа:https://mauriciopoppe.github.io/function-plot/>>1106454http://exploringjs.com/es6/ch_generators.html
>>1106456>ПомогитеОчевидный charts.jshttp://www.chartjs.org/samples/latest/charts/line/multi-axis.html
>>1106479>>1106502Спасибо>ебучая либаПопробую с этого начать. Странно, что сам не нашел, хоть и гуглил достаточно долго
господа, я правильно понимаю, что все функции, которые есть в жиквери есть и в реакте встроенные типа hover, on key down, on mousover и т.п.?т.е. вместо жиквери можно тупо писать на реакте?
Я вижу что во многих вакансиях щас требуют Реакт но при этом кроссбраузерность-адаптивность. Реакт использует ES6 классы, которые поддерживаются только в последних версиях браузеров. И чо опять все через жопу делать или эти фирмы по умолчанию подразумевают разработку тока под последние версии?
>>1106621>Реакт использует ES6 классы, которые поддерживаются только в последних версиях браузеров. Google babel typescript polyfill webpackИ тысячи других баззвордов.
аноны понял что я бездарное хуйло которое никак не может реалезовать свои навыкипосоветуйте плиз книжек где побольше практики
>>1106622я уже погуглил. и где можно отбабелить реакт классы что-то не нашел. знаю как ес6 без реактов бабелить.
Пилите стори о том как ставили и настраивали ноду с нпм, сколько нервных клеток сожгли и времени потратили впустую.Если анон доставит гайд по тому как поставить нод+нпм под вин10 и чтобы ВСЕ рабоатло без дополнительных команд то было бы прекрасно.Моя стори такова что получил задание опубликовать модуль и успешно все проебал из-за отсутствия документации, толи из-за собственной тупости. Теперь люто ненавижу опесорс, все эти нпм и прочую хуйню которая не стабильна, нужно делать все не так как в документации написано(а в видео все чуть иначе)
>>1106565Нет. Там нужен сборщик как минимум, тупо не получится
>>1106659Webpack
А че, в 2к!8 еще верстают?
>>1106669>настраивать нпмты ебанутый? может еще руководства по установке своего шиндовса читаешь?
>>1106686Ни разу в жизни не переустанавливал шиндус
>>1106552>гуглил достаточно долгопросто ты тупой чартсжс висит в каждой подборочке лучших фремворков
>>1106669>нод+нпм хуйня, прокликиваешь инсталятор и все работаету меня вот было откровение что ГИТ и ГИТХАБ это сука разные вещи и что они нужны ОБЕ блять, пидорской октокот об этом по пидорски умолчал деграданты с наклейками блять думают что все вокруг нахуй ванги сотого левела, ух аж тресет блять, юзабилити? нет не слышала еще жопу рвет конфигурирование глобал пакетов, вот это адовая хуйня, кешируемый джейсон, который подцепляет конфиг хуйня малафья в итоге работает только локально
>>1106669>опесорс, которая не стабильнапроприетарная параша такая же, только ты еще бабло заносишь, а те три калеки попивая шампань со шлюхами ни разу не спешат фиксить твое дерьмов отличии от доброго няшного фоса, где если приспичит ты сам можешь все починить, ощутив себя совладельцем любимого програмного продукта и частью гигансткого комунти таких же отбитых задротов как и ты пожалуй только ради одной этой фичи уже стоит вкатываться в коддинг
>>1106659Три слова есть тебе сказать:get dafuq out create-react-app.
>>1106669на десятке сейчас максимум могут быть проблемы с нативными модулями (решается через npm install --global --production windows-build-tools) при установке нпм пакетов, еще насколько я помню нужен python 2.7 (но это не точно), пропиши пути в переменную окружения (path), в остальном даже n и nvm уже в WSL устанавливаются без проблем, поэтому можно даже обойтись без cygwin или git bash.сам редко работаю из под винды и в основном запускаю проекты из докера, но это скорее по старой привычке
>>1106669консоль открываешь и пишешь нпм инстал
>>1106717фу, не хочу этот костыль.я просил без костылей.>>1106683а жс где-то кроме фронтенда используют что ли?
>>1106784бэк, мобилки, десктоп
>>1106784бытовая техника
>>1106782>>1106703Ну если публиковать модуль то нужно залогинится, что вовсе не очевидно, учитывая все параметры в пекедже, а во вторых могут быть проблемы что даже до этого недоходит из-за того что пакетный файл находится в аппдата который под правами админа. Не все кулхацкеры и привыкли обслуживать свою операционку и ЧИНИТЬ новый инструмент пред применением>>1106735Слишком толсто, рилВот думаешь правда всем нужно это знать и копаться в этом?Кто хотел уже сидят на никсах и собирают ядро вечечрами, или и вовсе заделались системщиками
>>1106838>если публиковать модуль то нужно залогинится, что вовсе не очевиднону блять а куда ты его собрался аплодить без логина то!? на гитхабе еще ебей, там что бы репозиторий из соснольки создать нужно канаебится и все сука АПИ блядское подымать ради этого, хотя при первом же ините ты вводишь имя и почту пидоры с наклеичкими, хуле с них взять>обслуживать свою операционку и ЧИНИТЬ новый инструмент домохозяке печет лол>>1106838>Вот думаешь правда всетакое черное или белое? тебе 16?надеюсь что такиначе ну ты понел
>>1106844я ебу где там логинится?Может после нпм паблиш нужно?по такой же логике я пытался залогиниться нпм логин усер пассворд, оказалось нужно просто нпм логин. Это все НЕ ДОКУМЕТИРОВАННАЯ хуйня, понимаешь? Т.е. не просто тупо сделано,а еще и нету инфы б этом там, где она должна быть.> ой иди нахуйнпм это лишь пакетный менеджер, ИНСТРУМЕНТ, в нем не нужно разбираться. Что бы забить гвоздь я не должен разбираться в молотках, а просто взять молоток и забить гвоздь, с нпм так не вйдетЯвно все сделано не очевидно, криво, с расчетом что нужно разбираться, гуглть и прочее, тут вопрос ЗАЧЕМ? Сделайте нормально. Это просто сырой продукт, недоделка. Представь себя функцией которая на вход принимает параметры и должна возвращать рабочий результат, если параметры не валидны то нужно помудохаться с написанием хендлера. Надеюсь аналогия ясна.Допутим больше, что не так. И ты обосрался, пайтон вообще никоим боком тут не нужн.
>>1106848>Что бы забить гвоздь я не должен разбираться в молоткахМань плз количество типов молоткой больше чем извилин в твоей черепной коропкепро виды гвоздей их материалы вообще молчу>ЗАЧЕМчто бы подняться на уровень разработчиков очевидно, может ты и не напишешь второй нпм, но хотя бы будешь знать логику стоящую позади, ты ведь тупое говно хочешь стать лучше ? можешь не отвечать, я уже понял что нет>не тактвой инфантильный подход
>>1106853Где залогинится я имел ввиду на машине, через консоль, что бы запаблишить)ЗАЧЕМ имелось ввиду коврятся во всей этой фигне если я хочу сайты,апы делать. НПМ пользуются разные девелоперы
>>1106864>что бы запаблишить через консольчитай аналогию с гитом, ковыряй апишник, это нихуя не дефолтное взаимодействие >апы делать. НПМ пользуются разные девелоперы /0
>>1106875Что с гитом не так? У меня небыло такого что бы не мог легко и просто найти решение проблемы, доки там норм кмк.Апы могут быть и веб-апы. или просто сайтики, собраные вебпаком, зачем тут "красноглазить" я хзИНБИФО: но пейн н гейн и проее в том же духе
Подскажите, почему на https://jsfiddle.net/14e34w1t/ жсфиддле у меня код работает нормально, а в хроме первое рандомное число нормально выдает, а на второе пишет НаН. Что за бред.
>>1106935поменял название переменной с топ на лимит и все стало ок. Ничего не понял.
>>1106876>Что с гитом не так?нельзя репу создать из под соснольки без ковыряния АПИ>>1106935хром ущербный браузер, но в твоем случае ты забыл почистить чистить лучше читсить вилкой переменную з памяти
>>1106958>нельзя репу создать из под соснольки без ковыряния АПИgit initgithub и git это как бы не одно и то же, ты же сам даже писал, что откровение было. Очевидно, что для работы с github'ом нужно использовать его API, как иначе-то может быть? Это же и есть определение API.
>>1106968>git initты ж уебок тредж читай, ну и дальше че блять, адд комит хуит пуш орижн мастер сука и ты обосрался —речь идет за комит на удаленный реп если ты блять еще не понялмой батхерт в том что все топят за сосноль, при том успускают из виду что для создания ссаной репы им надо пиздовать на сайт и шаманить там, а после они такие распускают хвосты и такие git suka -m 'ebal-sih-urot' аштресет блять
>>1106978>ты ж уебок тредж читайА ты, хороший человек, дальше сообщение читай. github это СЕРВИС, ОТДЕЛЬНЫЙ, ХОСТИНГ ПРОСТО, как ты представляешь себе работу с сервисом БЕЗ АПИ, а?! Я могу на своей личной vps'ке удалённые репы деражть, никакой разницы не будет.
>>1106990>СЕРВИС, ОТДЕЛЬНЫЙ, ХОСТИНГ ПРОСТО, как ты представляешь себе работу с сервисом БЕЗ АПИи это существо пару часов назад улюлокало за нпм
>>1106995Я не знаю, кого ты существом назвал, но я про нпм ничего не писал и только 2 (уже 3) сообщения назад в беседу вступил. На всякий случай: нахуй пройди.
>>1106935тлдр: аккуратней с var, оно устаревшее и с закидонами, пока лучше используй везде let вместо var, позже со всем этим цирком разберёшьсяКогда ты объявляешь var в глобальной области (не в функции), то такое свойство создаётся в глобальной объекте.в Ноде:https://repl.it/repls/InsignificantUnusualSpringbokв браузере:https://codepen.io/anon/pen/ZvYKaO?editors=0010В window уже есть куча свойств, многие из которых ридонли. Например, топ:https://developer.mozilla.org/en-US/docs/Web/API/Window/topЖС по своим особенностям в развитии просто молча не даёт создавать уже имеющееся ридонли-свойство в глобале. За это мы его и любим.Не знаю точно, как работает Жсфиддл. Скорее всего он выполняет весь твой ЖС в функции. И у него тогда проблем с var нет. Ты сам можешь так сделать:;(function () { // твой копрокод}());Или можешь использовать везде современный let вместо var и проблем не будет нигде.
>>1107064>пишет код в глобальной области>обвиняет varМожет пора вкатиться в ООП?
>>1107064Спасибо тебе большое
>>1107091>вкатыш спрашивает про var top>просто юзай ООП, хуля тамМожет пора катиться на хуй?
>>1101019Если ты ещё тут, прошу написать мне harka42@yandex.ru
>>1107447пиши на телегу @tsechi
>>11066691. Скачал nvm2. Установил3. Profit
>>1107565Два ассерта в chai этому.
console.log(token);console.log(token === null);nullfalsej_j
>>1107658var a = NaN;console.log(a == a);falseПодробнее покажи код
Что нужно знать, чтобы сделать туду лист без свистелок и перделок?Спасибо.
>>1107808Да так, 3-4 функции
>>1107813Ну ответ такой себе. Ладно, благо я уже сделал то что надо. Все равно спасибо.
>>1107808ИМХО, всю теорию алгоритмов. Но я её не знаю толком, блядь.
Блин, как в атом установить eslint после того как скачал пакет?https://atom.io/packages/linter-eslintкоманды, которые здесь описаны, они куда писаться должны ?
>>1107964>атом хуита>eslint хуита нода в терминале блять и то лучше подскзаываетнакатывай сабляйм и жсхинт, будет тебе счастье
Почему котик не удаляется?https://jsfiddle.net/0ncdkq2s/
>>1107993>Почему котик не удаляется?Потому что не добавляется
>>1107995Добавляется. Это с js fiddle что-то. Я тег <head> удалил, потому что он попросил
>>1107996Ну или с моими руками.
>>1107996ну и нахуй ты нам нерабочий код выкладываешь!? найди нормальный хост для начала, прояви уважение к анону чмо блядь
>>1107976посмотрю,я хочу попробовать все инструменты,так по поводу вопроса-то?
>>1108002пробуй, но не иби мозга анонуза линтеры я пояснял выше по треду, ориентируйся по краисвым картинкам
>>1108000Сорри. Я уже исправил и решил вопрос.
Пачиму в ректе нужно вызывать super() перед this?
>>1108022>почемуПотому что наследуется конструктор из React.Component класса. Откуда у тебя в классе this.setState, как ты думаешь, тупое ты чудовище?
>>1108092А пачиму тогда this/props робит без super?
>>1108097Не тот анон, но вроде пропсы в аргумент функции там кладуться.
>>1108098
>>1108098не совсем. в самом теле класса доступ к this.props будет, а если у тебя есть конструктор и ты хочешь сделать this.state, или получить доступ к this в конструкторе - обязательно нужно делать супер(). зачем - хуй знает. так ес6 классы устроены
https://jsfiddle.net/5gtbLrs1/Ананасы, есть код, для плавного скроллинга страницы, когда сверху вниз делаю с помощью setInterval всё круто, работает, а когда снизу вверх, оно делается без повторений сразу за одну секунду прыгает наверх т.е. не плавно а скачком, а должно по 20пикселей тикать наверх, в чём проблема?>timePassed = start - 20;Вот строчка отвечающая за шаг, прикол в том что если я минус поменяю на плюс, всё работает, в смысле плавно идёт, а с минусом сразу пригыает. Помогите пожалуйста
>>1108022>в ректеНа смену программистам на Жиквери пришли программисты на Реакте.http://javascript.info/class-inheritance#super-internals-homeobject>>1108177Ты, если помощи хочешь и там больше пары строчек, будь добр скидывать минимально работающий прототип с разметкой и прочим. Всем лень додумывать.>timePassed = start - 20;Как достаточно открутишь, напиши там мне, чтоб я к биткам посерьёзней отнёсся.
>>1108177https://codepen.io/anon/pen/KZdvvZВот, сравни, где ты наебался. Вместо интервала я просто по таймауту как бы рекурсивно вызываю очередной шаг скролла. У тебя слишком много лишнего мусора в коде, чтобы было желание разбираться.
>>1108177http://manos.malihu.gr/repository/custom-scrollbar/demo/examples/complete_examples.htmlНо попробуй это: http://jsfiddle.net/7ZVb7/1383/
Кто и зачем вообще пользуется скролбарами!? Отключил оные во всех браузерах, в сабляйме тоже выключил знатно наибавшись, т.к оверлай блядовый покзаывался когда крутишь чувствую себя прекрасно, всегда блять понятно когда дошел до низу, знать на какой я сейчас позиции, а нахера? скролбар должен отмереть, как сучий шум прекрасного интерфейса
У кого есть курсы по JS от HMTL academy? поделитесь, молю.
>>1108449>У кого есть курсы по JS от HMTL academy?Я слышал у безымянного клуба есть, но это не точно
>>1108260ууу сука как пиндосам все расписал подробно
Ссылка на прошлый тред: >>1099555 (OP)Этот тред посвящён уже нахуй никому не нужному языку прошлого - JavaScript, который через пару лет будет похоронен WebAssembly. Благодаря своей кажущейся дебилам простоте, веб-макаки затащили его уже и на сервера, и в мобильные приложения, и на десктопы, и ещё хуй знает куда, что привело к экспоненциальному росту количества написанного говнокода. Благо синтаксис позволяет легко писать на нём говнокод любой степени ущербности, а производительность позволяет писать на нём даже анимашки для лендингов и интернет-магазинов. Впрочем, для уменьшения потока говнокода от веб-макак каждый день выпускается по 100500 JS-фреймворков, благодаря чему веб-макаки теперь в основном тратят своё время на чтение доков по этим фреймворкам, а не на написание говнокода.JavaScript по праву является самым популярным в мире языком: ведь дебилов среди людей - абсолютное большинство. На каждом сайте пока ещё есть браузерный JavaScript, а от JavaScript на сервере все постепенно отказываются.Часто задаваемые вопросы:https://github.com/vladimir37/js-thread/blob/master/Wiki/faq.mdСписок материалов для изучения:https://github.com/vladimir37/js-thread/blob/master/Wiki/learn.mdСписок инструментов и направления JS-разработки:https://github.com/vladimir37/js-thread/blob/master/Wiki/tools.mdИнструмент для визуализации и экспериментов со связями между объектами в JavaScript:http://www.objectplayground.com/Конфа /pr/ в Slack:https://slack-2chpr.herokuapp.com/JS-конфа в телеграме:https://telegram.me/jsthreadНЕ КОПИРУЙТЕ КОД ПРЯМО В ТРЕД! Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.
>>1108495
>>1108495нельзя просто так взять и не прикреплять уебанских смищних картиниканон сделай так что бы все поняли блять у нас тут модно сука и молодежно
>>1108516Так?
>>1108522не тупи еба, давай пересоздавай, мухосранские шутеечки подзаебали, да
добавь еще логосы актуального стака, что бы каждый примат был в курсе
>>1108531Еще будут какие-нибудь пожелания?
>>1108535>мартыхан на пике: не мы такие, жизнь такаяя бы все унес все маркдавн на гитхабе, так и красивше(читай читабельнее) и актуализировать проще
[code]class Pes { dernut(anus) {}}[/code]
>>1108660`class Pes { dernut(anus) {}}`
>>1108661 class Pes { dernut(anus) {} }`var pizdets = this;`
Что выбрать - freecodecamp или udacity ли может быть хекслет?
Аноны, хелп, нужен ресурс по node js, желательно на рузком и для чайников. Смотрел скринкаст от Кантора, он еще актуальный? Так же скачивал с рутрекера курс по ноде от learn.javascript, но там застрял на первом же задании.Так что посоветуете? Где сами изучали ноду?Имел дело только с фронтом