Ссылка на прошлый тред: >>961365 (OP)Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.Часто задаваемые вопросы:https://github.com/xxxwww/js-thread/blob/master/Wiki/faq.mdСписок материалов для изучения:https://github.com/xxxwww/js-thread/blob/master/Wiki/learn.mdСписок инструментов и направления JS-разработки:https://github.com/xxxwww/js-thread/blob/master/Wiki/tools.mdКонфа /pr/ в Slack:https://invite-me-to-2chpr.herokuapp.com/JS-конфа в телеграме:https://telegram.me/jsthreadНЕ КОПИРУЙ КОД ПРЯМО В ТРЕД! Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.
абажаю члены
>>971818Вы ошиблись, ruby-тред в другой стороне.
>>971818>>971819>ЖСер говорит, что Руби для пидоровКекнул
>>971825Во-первых, не руби, а раби.Во-вторых, не для пидоров, а для безработных нищенок.
>>971831>рабиhttp://dictionary.cambridge.org/ru/%D1%81%D0%BB%D0%BE%D0%B2%D0%B0%D1%80%D1%8C/%D0%B0%D0%BD%D0%B3%D0%BB%D0%BE-%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9/ruby
Жиза?Был у меня друг один. Всё на JavaScript писал. И клиента и бэкенд и десктоп даже. И базы данных на джаваскрипте делал и игрушки клепал. Говорил удобно, быстро, клёво. Всё работает, всё устраивает.Ну, потом его в дурку сдали конечно…
>>971831>раби
>>971906Баян
https://www.youtube.com/watch?v=8p1uLKYAwEw- Что это такое?- Это современный Javascript и сейчас я научу тебя программировать- Я же верстальщик- Ставишь на комп ноду и npm- Ставишь ...- Затем ставишь ... и пишешь ... config- Ставишь ... - Я попытался вспомнить как верстал свои первые странички- Это лучший язык программирования, а ты даже не слушаешь- Дальше webpack, пишешь два конфига- Один под продакшен, второй под dev- На dev'e не забываешь поставить webpack.dev.server и настроить ...- На проде не забудь бить код на чанки, uglify, critical CSS- Инициализируешь gitАнон, что он говорит в местах где у меня стоят многоточния?
>>971941Почитай тут:https://habrahabr.ru/post/312022/И ответ тут:https://habrahabr.ru/post/313234/
>>971941>- Что это такое?>- Это современный Javascript и сейчас я научу тебя программировать>- Я же верстальщик>- Ставишь на комп ноду и npm>- Ставишь yarn и ...>- Затем ставишь babel и пишешь babel config>- Ставишь eslint и экстендишь конфиг от ...>- Я попытался вспомнить как верстал свои первые странички>- Это лучший язык программирования, а ты даже не слушаешь>- Дальше webpack, пишешь два конфига>- Один под продакшен, второй под dev>- На dev'e не забываешь поставить webpack.dev.server и настроить hot reload>- На проде не забудь бить код на чанки, uglify, critical CSS>- Инициализируешь gitТолько два места непонятно.
>>971950ставишь yarn и prettierставишь eslint и экстендишь конфиг от airbnb
>>971950>>- Ставишь eslint и экстендишь конфиг от airbnb
А вообще вот оригинальный пост
>>971948>>971950>>971952Спасибо
Вчерашний ретард опять выходит на связь.https://github.com/C2FO/fast-csvvar ws= fs.createWriteStream('PlayerStats.csv');csv.write ([ ["Name","Team", "Position","Apps"], [name, team,position,apps]], {headers:true, delimiter: ';'}).pipe(ws);Так создаю и записываю данные в файл. Как мне дописать в уже существующий PlayerStats.csv новые строки вида [name, team,position,apps] (начиная с пустой строки)У меня выходить только перезаписать существующий файл изменяя уже имеющиеся данные.
>>971994Я думаю так и надо, лил. Читаешь все в массивчик, потом пишешь новый файл. Лучшее решение просто.
>>972004иммутабельность, все дела)
>>972004У меня будет данных на 400 строк, каждая из которых будет добавлять по очереди друг за другом, алсо время от времени эту таблицу будет нужно обновлять и заполнять по новой. В таком случае твой способ выглядит не самым удобным. Хотя информация я принял.Но не неужели просто добавление новой строки в csv файл так сложно реализовать?
>>971994>Писать файлы джаваскриптомКек
>>972013Я вообще не понимаю нахер нужен пакет для записи в csv файл. Ты планируешь использовать там какие-то странные строки с запятыми или кавычками?
>>972020Нет, но мне нужно хранить данные в удобном формате с возможностью что-то изменять/дописывать вручную.Алсо с этими данными нужно будет потом работать и производить мат. расчеты на их основе.Csv показалось удобным форматом под это дело.
>>972038Я к тому что csv файл пишется кодом уровняprint(a); print(','); print(b); print('\n');Соответственно и дописывается кодом такой же сложности, просто открытием файла в режиме append. Другое дело если тебе в середине что-то менять надо - тогда лучше пакет использовать. Но там же просто: прочитал, засунул в массив, дописал/изменил, сохранил.
>>971956Оу это же мой пост
>>971814 (OP)Конфа в слаке ещё жива? А в телеграме?
>>972019Как дела? Что нибудь выучил? Куда нибудь устроился?
>>971974>а что должно быть из коробки в библиотеке для вьюх ? какой библиотеки и для чего тебе не нашлось ? Как для библиотеки для вьюх все есть, но как основы для серьезного проекта, там маловато всего, а точнее нихуя и хуй бы с ним, если бы комьюнити писало что-то полезное, так нет, кинешься, а типовые задачи(например, мне нужна была либа для работы с табличными данными, огромными данными) не решены, и пишешь сам все. Это минус. На ангуляре таких проблем не было. например.
bower уже не обязательно использовать? есть npm пакет для bootstrap. http://stackoverflow.com/questions/26773767/purpose-of-installing-bootstrap-through-npmя посмотрел package.json файлы для bootstrap и еще одного npm пакета, у них есть аттрибуты: main, style -- пути к стилям и js.как с помощью gulp скопировать эти main, style в мою public директорию?или это устарело? везде вебпак советуют. есть для новичков современное руководство?
>>972339main, style - т.е. что не прописывать node_modules/bootstrap/dist/bootstrap.css, а что-то вроде:package.mainруководство по организации, а не по вебпак.
>>972339Зависит от того на сколько сложен твой js. Если у тебя больше верстка, то галп норм. А так всякие модули-компонентики собирать, обрабатывать уже лучше вебпаком, да. Он потому и называется module bundler, в отличие от галпа, который просто task runner. Ты их вообще при желании можешьмсовместить, лол
Господа, кто-нибудь сталкивался с написанием унифицированного набора экшнов и редьюсеров для нескольких сущностей с CRUD-операциями?После при инициализации редьюсера для конкретного компонента берется готовый набор, подставляются названия и готово.Взлетит такое?
>>972197В слаке жива. В телеграме не очень.
>>972339>>972342Осильте шапку хотя бы. Гальп и вебпак - совершенно разные вещи. Зачастую вебпак запускают через гальп. Их постоянно используют вместе.
>>972364Осиль прочитать еще раз мой ответ, умник.
Что-нибудь за полгода изменилось с безопасностью приложений на электрон/нв.жс?
Помогите пожалуйста дябилу.https://pastebin.com/P7GyvrYcу меня есть список нодnodes = ["ddd", "aaa",...];у них есть статус и он проверяется посредством выполнения скриптамне нужно получить список всех нод со статусомя написал в менеджере метод (getNodeStatus()), который дергает скрипт и выполняет функцию переданную в successAction (Executor это моя обертка для выполнения скриптов). все нормально работает, но я не понимаю как мне вернуть мои статусы>status => { return status; }вот сюда они доходят, я выводил их в консольно return я так понимаю возвращает их вникуда и на выходе у меня ничего неткак сделать чтоб по-нормальному было?
>>972389А что там было не так?
Подскажите, где Brackets хранит пользовательские расширения в Windows 10.
хуйня вопрос, делай следующее:ставишь на комп ноду и нпмставишь ярнставишь бабел и пишешь бабелконфигставишь еслинт эхкстендишь конфиг от эирбиэнби и пишешь еслинтконфиг, вешаешь хук на прекоммитставишь вебпак и пишешь два конфига один под прод второй под дев, на деве не забываешь поставвить вебпакдевсервер и настроить хатрелоад, на проде не забудь бить код на чанки, углифай, критикал си эс эсинитишь гит, добавляешь гитигнорне забудь ярн лок в репупотом корочи ставишь дев зависимости бабель-кор, бабель-лоадер, бабель-плагин-трансформ-обджект-рест-сприд, бабель-пресет-2015, бабель-пресет-реакт, вебпак, вебпак-дев-сервер, сиэсэс-лоадер, стайл-лоадер, стайл-экст-эйчтиэмэль-вебпак-плагин, лесс или сасс, лесс или сасс лоадер, еслинт, еслинт-конфиг-эирбиэнби, еслинт-плагин-импорт, еслинт-плагин-реакт, экстракт-текст-вебпак-плагин, эйчтиэмэль-вебпак-плагинпотом корочи зависимости материал-юай или реакт-мдл-юай или бутстрап, нормалайзр, реакт, реакт-дом, редакс, реакт-редакс, реакт-роутер, реакт-тэп-эвент-плагин, редакс-тсанк, дабльюашэйтидаблюджи-фетчдля удобства в нпм скрипты алиасы, но вызывай все через ярн потому тчо так кручекороче делаешь папочки там контейнеры компоненты экшены стор миддлверы, редбюсеры еще и утилзы и понеслась короче пиши код твори пили сайт который будет через апи другого сервиса брать определенные данные и выводить их у тебя, строй его.
>>967538 (OP)Вкатываюсь в первую работу с жс и вебом.На какой стул сесть: ангуляр2+пхп, либо метеор+реакт, либо фронт на первом ангуляр. По деньгам лучше всего платят во третьей конторе. По метеору я 0, но тимлид убеждал что ничего не стоит вкатиться в него.
>>972601Я бы выбирал либо 1 либо 2 с личным приоритетом на 2.
>>972598убейти миня.
>>971814 (OP)Котаны, на чём можно сделать такую карусель? Желательно без jQuery, и не особенно тяжёлую.
хоспаде, ваш реакт всего год назад появился, а в вакансиях уже опыт работы на нем год требуют.
>>972676https://en.wikipedia.org/wiki/React_(JavaScript_library)>Initial release March 2013; 4 years agoТы хотел сказать набрал популярность он год назад
>>972677и ведь никогда не знаешь, какое говноподелие внезапно взлетит до хайпа.
>>972676Старичек. Хайп реакта с 2015. Год - это про хайп вью.
Боже, помогите дауну лёрн жаваскрипт рекурсия.Как блядь ебаная хуйня фибоначчи вычисляется то тут? Всё остальное с рекурсией понятно. Допустим, я беру fib(16) и получается 987. Как эта поношенная блядь вычисляет это говно поэтапно? 16-1 + 16 - 2 = 29 +15-1 + 15 - 2 = 27 и так далее?или как? Что происходит я не пойму, я сначала подумал что вызов функции просто закольцовывает действие, а не подразумевает собой цифру. Гандонство ебаное, все задания нормально делал сам, долез до этой выблядской ебалы, сначала хуй понял в чем суть ряда этого ебаного, потом нихуя не мог нормально написать код и в конце концов чувствую себя конченным дегенератом из-за того, что не смог сам решить это говно.Неужели есть 14-15 летние выблядки для которых с первого раза решать эту поебалу легко? Сначала ведь очень близко написал, но ответы хуелу выдавали, боже. Есть ли какой-то склад пидорского ума, что ли, чтобы это легко давалось или это просто говняная практика как и всё остальное? Я НЕ ВЕРЮ ЧТОБЫ КТО-ТО СДЕЛАЛ ЭТО ГОВНО СРАЗУ БЛЯДЬ
>>971814 (OP)блядь что за нахуй ? 6 лет учу жс/html/csseloquent javascriptcunt'ора три книгисекреты ниндзявсе гниги ю донт ноу жс включая ес6 не имею высшего не могу никуда устроится, хиккую.скоро со съемной хаты погонята тут бля сообщения в духе народ я устроился в офис на 300к/сек как добавить класс к элементу на ноджс
>>972777Чувак, все дело в рекурсивных гномах.Они магическим образом вычисляют fib(16-1) и fib(16-2) а потом ты складываешь эти два числа.А вообще ты правильно их разгадал. Пока никто не видит, эти рекурсивные гномы друг друга в очко пежат. У них это называется tail call, можешь загуглить картинки.
>>972785Бро, а ты не думал, что нужно в контору на собеседование сходить, а не сутками над мамкиным борщом сычевать? А?а?А?
>>972787мухосрань же, крепостное право совсем недавно отменили. В местных конторах надо либо modX либо WP либо 1С знать
Я вообще заметил что в программировании везде повторяются одни и те же сперва неочевидные фишки типа создания новой переменной и присваивания в нее нового результата. Первое просто что вспомнилось мне, новичку.Сколько вообще таких вот подводных нужно знать для хорошей работы ?var max = 0;var maxName = "";for (var name in salaries) { if (max < salaries[name]) { max = salaries[name]; maxName = name;
>>972601>МетеорРеакт это заебок, конечно, но вот с этой парашей я бы не связывался. Сейчас работаю с ним, наблюдая паралельно его предсмертные судорги. Могу долго рассказывать, что там плохо, но ограничусь пока простой рекомендацией держаться подальше. Ну и от себя вопрос - охуенно получилось оседлать реактовский хайп, зп взлетела, вакансий море. Как считаете, можно и дальше дрочить его? С моей колокольни выглядит так, что еще пару лет его ничто не перегонит, но может я зашорен и уже пора потихоньку готовить перекат? И если да, то куда именно? Часто слишу про второй ангуляр и вью, что сильнее укрепит мои позиции на жоп маркете?
>>972789upwork же, делай фотку, делай портфолио, пиши какой ты охуенный и бери заказы, js самый лучший язык для фриланса
>>972862Думаю что еще пару лет как минимум реакт будет всё ебать, а потом подкатится какой-нибудь React Fiber В любом случае все самое многообещающее так или иначе использует наработки реакта, даже тот же Вуе (который многие хвалят но я еще не тыкал)От ангуляра у всех баттхёрт. Второй может вытянет но ощущение что шанс проебан и им надо очень постараться чтобы завоевать доверие снова. Я лично планирую дальше использовать реакт и потыкать Вуе
>>972872>От ангуляра у всех баттхёрт. Второй может вытянет но ощущение что шанс проебан и им надо очень постараться чтобы завоевать доверие снова. А что там? Что там? Я последние полгода на реакте работаю, пока доволен, но раньше со вторым сталкивался, вроде норм был. Что случилось?
>>972877Там еще от первой баттхерт не остыл.
>>972877https://meebleforp.com/blog/36/angular-2-is-terrible
>>972886>Angular’s ngFor uses a microsyntax. I’ve never seen another templating language that needs a DSL for for loops.Кекнул.
>>972872>а потом подкатится какой-нибудь React Fiberтак он уже, с 16 версии будетОшибок уже нет, только варнингиhttp://isfiberreadyyet.com/
Вкатываюсь в js (серьезно), до этого учил пользовался bower, npm и ковырял первый ангуляр на курсеровском курсе, как я понял сейчас все это устарело, собираюсь осваивать такой стек тулзов, gulp, webpack, babel, yarn (npm как я понял тоже уже устарел) react и Vue в качестве фреймворков. Все правильно делаю?
>>972954Нет, js устарел, учи WebASM/
>>972957
>>972958пусть свой фреймворк напишет
>>972397Бамп.Мне удалось нагуглить проблему, но смущает ее решение. А именно установка сторонней библиотеки для этого (npm install async).Честно сказать, немного в шоке, что рядовую задачу нельзя решить встроенными средствами, это вообще нормально?Вообще у меня были кое-какие догадки запилить это через EventEmitter, но я не написал, просто хотел удостоверится, что тут мне это и посоветуют. Но на stackoverflow не нашел, чтобы кто-то такое предлагал.
Как вернуть then после dispatch который не делает реквестов?
Решил обмазаться джиэс, а тут оказывается еще и похапэ нужно знать.Т.е. я учу пхп, джиэс, циэсэс на уровне гостевух и получаю 40к в месяц джуном?
>>973065На js можно сервер сайд пилить на ноде Вообще пикрил
ненавижу ваш js. ненавижу тех, кто придумал понятие фул стек программист
>>973169https://habrahabr.ru/company/Voximplant/blog/275229/
>>973169вангую ты просто не можешь в самоорганизацию
>>971814 (OP)Сап двоще, расскажи про фронтенд. Это норм, если я зная хтмл и цсс на уровне нарисовать список и сделать его зеленым, знаниями чистого JS, про который написано в книжке с носорогом, возьму React и буду его дрочить. Или есть подводные?Что посоветуешь анон?пс: опыт программирования других вещей на других не JS языках имеется, не имеется только с браузером.пс2: я не хочу становиться прям пиздец фронденд на фуллтайм, просто хочу знать и немного уметь че там как работает, ну и для своих проектов
>>973224Если реально изучил Фленагана, то да, норм
>>973225У меня просто такое ощущение, что я таким образом упущу что-то важное
>>973227Упустишь, обязательно упустишь. И не раз. Со временем наверстаешь.
Сап, котаныСтрою проект, там используются слайдеры для задания параметров поиска, в стиле google material design, но проблема в том, что они глючат на мобилках, а также значение из них нельзя получить сразу при изменении, кто знает есть ли подобные слайдеры, которые хорошо работают на мобилках и без этого багаhttp://vk.finder.ecsv.org.ua/search
>>973233О, ты дизайн сменил. Я помню тебя из /b.
>>973241Да, в принципе переписал все заново
А тут ноду кто-нибудь юзает, из бд лучший варианг - это монга?
>>973276Ноду не юзал, но как вариант хорошая связка это PostgreSQL + Mongo/RedisВ PostgreSQL хранить данные которые не часто записываются. Вроде данных юзеров и какой нибудь истории/архиваА в Mongo/Redis всякие счетчики, временные данные, кэш, результаты промежуточных вычислений и т.д
>>973277Понятно, просто думаю, раз уж вкатываюсь в js, может сразу в full stack метить, на одном языке все писать неплохо должно быть.
>>973278Ну хз, юзаю 3 языка и вполне неплохо чувствую себя.Можешь выучить любой более-менее серьезный серверный язык, а JS юзать для клиентской части. Лично мне так проще, один язык серверный, другой на клиенте, чтобы не смешивать все в кучу
>>972867им и перебиваюсь точнее fl.ru не охота с наскоку просрать репу
Пишу парсер данных с веб страницы. Чтобы получить доступ к данным надо передавать Request Headers, в которых есть динамическая переменная, без которой нихуя не работает. Это model-last-mode. Объясните что за шляпа и с чем её едят. Как парсить её для каждом конкретной страницы?
>>973322Алсо, если просто парсить хедерсы- её там нет.
>>973322скачал на комп html страницу-исходник, на которой и подгружаются все эти данные аяксом со страницы, которой я отправляю хедерсы и нашёл там: <script type="text/javascript" $.ajaxSetup({ headers: { 'Model-last-Mode': 'yEDXSuK4yI8xJCVG0IW+sxp0Yvp2WmyxDuVo+ibRMxI=' } }); </script>Тот самый хедерс, который нужен для запроса на страницу с инфой.Каким образом я могу его выдрать отсюда? запись выглядит как json, но json parse вроде не подходит т.к сама страница в другом формате
>>972785Это прибыльнее пыхпыха? Почему его не выучишь?
Js программист без знания php имеет ценность?
>>973352Да
>>973352Ноу, без пхп в нашем мире вот вообще никак. Все кто не знает пхп не специалисты и ценности не представляют. Такие дела))
>>973356Добавь табличку сарказм
>>973358Это не шутка.Добро пожаловать в Россию.
Кто разбирается в html5 и имеет опыт, подскажите, пожалуйста.Хочу сделать йоба-эффект как на сайте айфона 7 с помощью привязки видео к скроллу. Типа, когда скроллишь до какого-то места, параллельно видео тоже мотается само.Сделал прямо на <video> (по этому принципу: https://codepen.io/anon/pen/GxDJg ), но у меня таких видосов несколько, поэтому подлагивает, запросов в секунду в три раза больше. Вопрос: как сделать оптимизированней, чтобы не лагало? Что быстрее будет работать, напрямую элемент <video>, или рендерить источник видоса на <canvas>?На сайте Эппла вроде кэнвас используется, но их реализацию я пока так и не понял (код разбирать надо).
>>973356Ссу тебе в рот, полтора года разрабатываю проекты на джс + реакт/ангуляр. Не касаюсь пыхоговна даже в перчатках палкой. По деньгам норм.
>>973371Гоните его, насмехайтесь над ним.
>>973358Наверное все же надо было добавить, да >>973371
Ребята, помогите с задачей.Есть два поля.В одном слова вводятся. Во втором числа. И выводиться слово столько раз, сколько число во втором поле.
>>973394В какое поле сам отобразишься, в какое мать отобразишь
Чет автора немного не понял, почему данное функциональное выражение не имеет замыкания? Ведь у функции есть свое лексическое окружение, которое пустует на момент её вызова. Но потом функция ищет переменную а, в области видимости "повыше" - в глобальной. Разве не так?
>>973371Норм это сколько, +- 100к?
>>97340780 по вашим и я не из парашки.
>>973399Потому что он долбоеб и не понимает, что такое замыкание. Хуесос считает замыканием то как он его применяет, а не само замыкание. Пиздец, еще и учебники строчат. Шли его нахуй.
>>973414Ну это учебник от O'Reilly поэтому я склонен доверять материалу, возможно я просто неправильно понял автора, вот и попросил уточнить.
>>973433В переводе часто порят ошибки, базарю. Читал Крокфорда в переводе, вот так же смутился из-за какой-то фразы. Открыл оригинал, а там фразу перевели натурально ОБРАТНО ПО СМЫСЛУ ФРАЗЕ ОРИГИНАЛА. Так что найди английскую версию и чекни че там.
>>973335кинь ссылку на страницу, возможно 'Model-last-Mode' указывается при загрузке страницы каким то серверным языком
В чём прикол Yarn помимо кэширования пакетов?Потыкался в него: глобальные пакеты ставятся через жопу, при вызове из вложенных в проект директорий он разваливается нахуй -- нахуй он нужен-то в итоге?
>>973394Берешь значение из первого поля, разбиваешь строку на слова, потом для каждого разбитого слова, как пример можешь юзать этоString.prototype.repeat = function(times) { return (new Array(times + 1)).join(this);};var s = "yoba;".repeat(3);
>>973447говорят, шустрее работает. сам не пробовал, мне и на npm норм
>>973447Это сейчас конечно вброс некомпетентности на вентилятор будет, но я как-то разворачивал здоровый проект на рабочей машине и нпм постоянно падал с какими-то ошибками - то ему прав не хватало, то то, то сё. Дело было к ночи, подумал я -чем черт не шутит и натравил ярн на проект. Все поставилось с первого раза, начал колбасить. После этого свичнулся и начал жить.
>>973444https://www.whoscored.com/Players/83532/Show/Harry-Kane
>>973444Данные подгружаются отсюда:https://www.whoscored.com/StatisticsFeed/1/GetPlayerStatistics?category=summary&subcategory=all&statsAccumulationType=0&isCurrent=true&playerId=83532&teamIds=&matchId=&stageId=&tournamentOptions=&sortBy=Rating&sortAscending=&age=&ageComparisonType=&appearances=&appearancesComparisonType=&field=Overall&nationality=&positionOptions=&timeOfTheGameEnd=&timeOfTheGameStart=&isMinApp=false&page=&includeZeroValues=true&numberOfPlayersToPick=Сюда и нужно передавать этот model-last-mode
Вот ещё непонятка, но тут возможно просто я тупой. Почему внутренняя функция в функции setTimeout запускаются после всех итераций цикла? Ведь по логике оно должно выполняться каждую итерацию? Нужно просто запомнить как правило что функции переданные как параметры не будут выполняться на каждой итерации цикла, а только в конце самого цикла? Немного непонятно почему это работает именно так.
>>973399Это не замыкание потому что данная функция вызывается в своей же лексическом контексте, о чем автор тебе и пишет. Если бы ты возвратил эту функцию и вызвал в другом лексическом контексте, то тогда это было бы замыкание. >>973414а ты сам долбаеб
>>973412Я тоже не из рашки. Но ты же понимаешь что для такого стэка это копейки или джуниорская зп?
>>973486Потому что setTimeout - это специальная функция, которая по сути является врапером для web api.Для того чтобы понять это надо понять что есть такое event loop. Гугли event loop и смотри видео https://www.youtube.com/watch?v=8aGhZQkoFbQ
>>973486https://github.com/azat-io/you-dont-know-js-ru/blob/master/scope%20%26%20closures/ch5.md#Циклы--замыкание - кстати вот ссылка на данный текст. >>973488>вызывается в своей же лексическом контекстеНо какая разница где она вызывается если она использует переменную из области видимости что ВНЕ этой функции, а на уровень выше (в глобальной области), не это ли называется замыканием? Кантор вроде именно об этом говорил, странно как-то.
>>973490Пиздец, я ещё JS нихуя не знаю и не понимаю что такое модули, а в ебаной книге уже какие-то примеры ебанутые с подобными вещами. Хотя подразумевается что это книга для тех людей которые даже не понимают что такое замыкания...
>>973493а ты не зеленый часом?в том примере, функция находит переменную в контексте ИСПОЛНЕНИЯ (не лексическом контексте), который находится выше в стеке, то есть в том, который и вызвал эту функцию. Замыкания - это совсем другое. Тебе надо взять другую книгу или прочитать ещё раз.
>>973494Если можешь в английский, то в данном курсе подробно это описано https://www.udemy.com/understand-javascript/learn/v4/overviewКуда лучше чем тот высер, что ты читаешь, так ещё и переведенный.
>>973497>в контексте ИСПОЛНЕНИЯНу я к сожалению не знаю как работает этот контекст исполнения, учился по кантору немного, потом не понял про this и замыкания и решил почитать данную книгу, но сейчас какая-то хуйня всплывает которую я даже не знаю и которая мешает нормальному пониманию.>>973498С английским крайне хуево (но я над этим работаю), поэтому читаю только на русском.
>>973488Замыкание это функция со своим лексическим окружением, так что долбоеб ты. Любая функция имеет его, про стрелочные только точно не скажу. Съебал нахуй. Еще один уебан, который путает применение замыканий и их сущность. Пздц.
>>97348920000 грн? Ебу дал? Вполне годная мидловская зп.
>>973504Советую побыстрей учить английский, потому что ссаный русский крайне не совместим с программированием. Когда ты оперируешь терминами на английском, то всё становится куда понятней.
>>973488>>973507И не вздумай вскукарекнуть про внешнее ЛО, потому как ссылка на него лежит в скоупе собственном самой функции и это будет лишь софистика, а она для пидоров. Вроде тебя.
>>973489Я другой анон, но ты троллишь или в манямире? Сейчас в джспарашу вкатиться легче, чем когда-либо. Педаль свой говнокод левой пяткой, а тулзы его превратят сами в идеал стиля и производительности. Думать уже не надо, основные архитектурные решения за тебя приняли, сиди программируй мышкой. Это я к чему - сейчас в джс джуниорская зп - это плевок в лицо.
>>973509Это оче мало, это совсем не 80к деревянных. Тебе нужно поискать больше с таким-то опытом.
>>973507не стоит вскрывать эту тему.функция не может иметь замыкание, т.к. замыкание - это и есть функция, только не просто функция, а которая имеет ссылки на внешние переменные.
>>973520Не ебу сколько там у хуесосов сейчас валюта. Мне 20ки на все хватает, никаких проблем + скорое повышение зп, так что все ок - жопа в тепле, проект интересный, чего дергаться?
>>973518>ЛОЛенинградская область?
>>973523Ты в Киеве? Своя хата? Жопа жопой, тепло теплом, но я с таким же опытом пришел и 40к попросил, дали без вопросов.
>>973515Стараюсь, но у меня не очень быстро это получается ибо я даун какой-то, слишком много времени трачу чтобы понять простейший материал. Ну вот что вычитал в Итоге в конце статьи, наверное более правильное понятие замыкания: Замыкание — это когда функция может запомнить и иметь доступ к своей лексической области видимости даже тогда, когда она вызывается вне своей лексической области видимости.Хотя Кантор для простоты вещей вроде говорит как-то иначе, но я думаю что всем похуй на формулировку, главное понимать что функции имеют ссылки на свои области видимости даже если вызываются где-то в жопе, вот и всё.
>>973530Да, именно так.
Пацаны, вот мне надо отправить ажаксом json на другой домен со своего юзерскрипта в мозиле.Метод get не подходит, так как джейсон иногда бывает слишком длинным.Реально ли это как-то postом сделать?
>>973527Не в Киеве, в Хуевом, что-то ты пиздишь за 40-к с полутора годами стажа на джс или в Киеве реально крутые зп, потому как знакомые крутые джависты с 6+ лет не получают столько.
>>973534Да
>>973540Резонно спрашиваю: как?
>>973542post-ом же
>>973535Хочешь нотариально заверенный скриншот банковского счета? Пиздец, про крутого джависта, который даже 1.5 зелени не получает это страшилка какая-то. Ну опыта у меня два года было, но я честно сказал, что первые полгода только верстал. То есть в сухом остатке 1.5 на джс. Но у меня даже не средняя температура по больнице. Я откуда взял эту цифру - зашел на джинни, посмотрел, сколько просят с мои опытом. Баксов 200 отминусовал, потому что была нпуверенность в своих силах. Сейчас думаю зря даже.
Кто-то считать не умеет?20к гривен - это меньше штуки баксов. Правильно говорят, что джуновская зарплата. Я меньше полугода проработал 14к получаю.И 80к рублей - это не 20к гривен, а где-то 37к.
>>973546>1.5 зелениВот на этом моменте я понял что спиздел и считать нужно учиться снова. Знакомый джавист поднимает 2+ евро. Но то джава + тимлид + синьор помидор, как на джс можно 1000 мидлов брать - не верю нихуя, в 700 поверил бы, но 1000, хм, делать меня задуматься.
>>973551>1000 баксов мидлоМselffix>>973550>Я меньше полугода проработал 14к получаюАга, сегодня на репетицию митол-группы идешь? Дохуя что-то для вчерашнего джуна. В 10к еще поверю. Пиздишь.
>>973553Мне врать не зачем. 550 usd. Аутсорс. Больше говорить не буду, а то дианон.
>>973551На 1.5 тысячи, реально пиздец у тебя с валютами, бро.
>>973553Норм для аутсорса, в аутстафе нормальном и того больше бывает.
>>973551Алсо проведи исследование с зарплатным вмджетом на доу - заметно, что основной рост зп происходит на втором и третьем году карьеры. После 4-5 лет зарплата вообще растет едва ли не у единиц.
Есть ли в треде джуниоры которые подрабатывают фрилансом на каких-либо сервисах? Зарабатывая при этом чисто на еду, но всё таки зарабатывая, есть ли такие?
>>973605Что тебя интересует?
>>973613Ну интересует есть ли вообще такие люди или для этого нужно быть хотя бы миддлом? И насколько сложно вкатиться в такой фриланс (нужно ли запилить пару своих проектов или возможно по мелочам будут и так брать) ?
>>973605Только вкатился недавно в веб-кодинг, на фрилансе не работал, но работаю удаленно, одна работа постоянная, правда там оплата маленькая так как сейчас задач мало. Вот недавно вторую нашел, через группу вкПоговорили по скайпу, все обсудили. Закончил первые 2 задания и вот буквально в течении пару часов сегодня получу оплату. Так и живем. Там в общем разработка модуля общей стоимость 8к рублей
>>973634Когда вкатывался на первую в портфолио был лишь один Open Source проект: http://czvl.org.uaСейчас же довольно много могу чего показать
>>973622Ну я джуном на апворке зарегался. Работу чисто джсную сложно найти с небольшим скиллом, но много разного говна где джс в том числе нужно пердолить. Например у меня был проект, где ангуляр на клиенте прикрученный к богомерзкому вордпресу. Минимальные примеры кода на гитхабе лучше иметь, могут чисто ради приличия затребовать, хотя заказчики такого говна редко понимают, что ты там наговнокодил. Денег не много, но баксов на 7 в час можно найти, если не даун.
>>973648Вот недавно хотел вкатиться на Upwork, чтобы доп. работа была, скиллы есть, портфолио есть, тест нужный прошел на 4 из 5Рассылаю всем сообщение с этим всем. Но никто не отзывается. Может дело в том, что я это сообщение рассылаю одинаковое всем подряд?Лень каждый раз заново строчить.
>>973654Рассылай активнее, там на несложные проекты большая конкуренция. Выхватывай баззворды и пиши в сообщениях, что вот с этой штукой я много работал (конечно лучше иметь представление о ней, если пишешь). Если долго никто не будет отзываться - демпингуй, всяко лучше хоть пару проектов за еду сделать, чем сидеть с пустым профайлом.
Есть одна вакансия (на Джанго), указано, что плюсом является знакомство с nodejs. Знаю ЖС на уровне минимального редактирования дом-дерева на jquerry + делал некоторе уроки на nodeschoolВопрос: Анон подкинь мне тренировочное задание на nodejs чтобы можно было этим похвастаться. Сам думаю сделать вебсокет чат для начала (хотя вроде как звучит изи) , вдруг ты еще что подскажешь.
>>973480Слушай, а регуляркой не получиться выдрать?Вроде этойvar last_mode_header_name = 'Model-Last-Mode'var pattern = last_mode_header_name + "': '(.*)' }")
>>973662Где-то был тренировочный таск, в котором нужно было ( используя билиотеки, офк ) сделать приложушку, в которую можно фотки из браузера загружать, а она бы находила лица на них, вырезала и возвращала с сервера пикчи со всеми лицами. Как-то так. На github это лежало где-то, как репка называлась не помню. Тоже хуйня по сути, но выглядеть должно прикольно и хоть надрочишься с файлами манипулировать в ноде
>>973671>>Где-то был тренировочный таск, в котором нужно было ( используя билиотеки, офк ) сделать приложушку, в которую можно фотки из браузера загружать, а она бы находила лица на них, вырезала и возвращала с сервера пикчи со всеми лицами. Как-то так. На github это лежало где-то, как репка называлась не помню. Тоже хуйня по сути, но выглядеть должно прикольно и хоть надрочишься с файлами манипулировать в нодеЗвучит неплохо!
>>973666чет все проебалосьну ладно, вот ссылка на готовый regexphttps://regex101.com/r/IwqUH5/2
>>973677https://www.sitepoint.com/face-detection-nodejs-opencv/тут вот что-то похожее, но я точно помню, что была репка, тестовое какой-то компании и там натурально расписано какие фичи у него должны быть.
https://learn.javascript.ru/closures#возврат-функции - почему функция makeCounter ВООБЩЕ запоминает значение currentCount ? Т.е если я вызову makeCounter()(), то всегда будет показывать единицу, но если присвоить эту функцию (точнее получается что внутреннюю) в какую-то переменную, то currentCount не будет удаляться после выполнения функции? Это как-нибудь объясняется дальше по урокам Кантора или нет?
>>973694Уже сам нашел ответ, который упустил: "Они независимы, потому что при каждом запуске makeCounter создаётся свой объект переменных LexicalEnvironment, со своим свойством currentCount, на который новый счётчик получит ссылку [[Scope]]."
>>973694В дополнении опять же к этому посту должен сказать что на мой взгляд, Кантора стоит читать по 2-3 раза, обращая внимание на всякие мелочи, ибо он их особо не выделяет жирным шрифтом (зато какую-нибудь хуйню - выделяет). И не всегда материал с первого раза запоминается даже если после теории выполнил какие-то задания.
>>973681И что это? Я такую хуйню и так вижу в тексте, скачивая страницу, как мне проще достать это из неё?
Ох, читаю элокент, протипное наследование - это конечно что-то с чем-то, в реально практике я надеюсь с ним не нужно сталкиваться и все прикрыто библиотеками с новой class нотацией создания объектов?
>>973957>протипное наследование - это конечно что-то с чем-тоЯ сначала тоже так думал, но разобравшись там оказалось все просто.
>>973964Да надо привыкнуть походу, после питона/джавы пугает та простота, с которой можно любому объекту записать или переписать любые свойства и методы прямо в рантайме
Нужна хелпа, как заставить webpack-dev-server сохранять файлы при их изменении на диск?Пока использую 2 параллельно запущенные задачи (webpack-dev-server, webpack:watch). Но это не очень удобно. А вместе через одну задачу работает только либо watch, либо dev-server, в зависимости что раньше запустилось.
Вопрос мимокрокодила-быдлана:Если я прочитаю основной курс отсюда https://learn.javascript.ru/ и разберусь со всеми задачами по ходу дела, то же сделаю и с этим учебником https://karmazzin.gitbooks.io , и прежде я не программировал никогд ав жизни совсем - что я смогу сделать на джаваскрипте? Смогу ли запилить небольшую двухмерную игру? Приложение для поиска партнеров по гей-сексу? Или свой фейсбук с блекджеком и шлюхами?
>>974097Главное задания все делай, особенно во втором учебнике, сам его прохожу, но до этого си учил, питон и джаву и я скажу, учебник клевый, но не для начинающих.
Посоны, есть Restful сервер с JWT аутентификацией. Авторизацию я могу провести, получить токен и вот это все. Подскажите где лучше хранить его? Кидать в локалсторедж или есть способ лучше, что бы никто не видел токена? Очень желательно, что бы юзер мог и через месяц вновь использовать сайт, при условии что токен не истек. Сам пишу на ангуляре, но не думаю что это очень важно.
>>973821Ахах, так ты не знаешь?Вот читай про эту мощную штуку https://learn.javascript.ru/regular-expressions-javascript Потом сможешь выдирать все что угодно и откуда угодно
>>974132Там все очень просто, допустим валидировать email таким паттерном можно(?:(?:\r\n)?[ \t])(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))"(?:(?:\r\n)?[ \t]))(?:\.(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))"(?:(?:\r\n)?[ \t])))@(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t]))(?:\.(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t])))|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))"(?:(?:\r\n)?[ \t]))\<(?:(?:\r\n)?[ \t])(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t]))(?:\.(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t])))(?:,@(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t]))(?:\.(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t])))):(?:(?:\r\n)?[ \t]))?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))"(?:(?:\r\n)?[ \t]))(?:\.(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))"(?:(?:\r\n)?[ \t])))@(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t]))(?:\.(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t])))\>(?:(?:\r\n)?[ \t]))|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))"(?:(?:\r\n)?[ \t])):(?:(?:\r\n)?[ \t])(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))"(?:(?:\r\n)?[ \t]))(?:\.(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))"(?:(?:\r\n)?[ \t])))@(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t]))(?:\.(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t])))|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))"(?:(?:\r\n)?[ \t]))\<(?:(?:\r\n)?[ \t])(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t]))(?:\.(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t])))(?:,@(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t]))(?:\.(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t])))):(?:(?:\r\n)?[ \t]))?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))"(?:(?:\r\n)?[ \t]))(?:\.(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))"(?:(?:\r\n)?[ \t])))@(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t]))(?:\.(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t])))\>(?:(?:\r\n)?[ \t]))(?:,\s(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))"(?:(?:\r\n)?[ \t]))(?:\.(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))"(?:(?:\r\n)?[ \t])))@(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t]))(?:\.(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t])))|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))"(?:(?:\r\n)?[ \t]))\<(?:(?:\r\n)?[ \t])(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t]))(?:\.(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t])))(?:,@(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t]))(?:\.(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t])))):(?:(?:\r\n)?[ \t]))?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))"(?:(?:\r\n)?[ \t]))(?:\.(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))"(?:(?:\r\n)?[ \t])))@(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t]))(?:\.(?:(?:\r\n)?[ \t])(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)\](?:(?:\r\n)?[ \t])))\>(?:(?:\r\n)?[ \t]))))?;\s)
>>974097Ок, еще вопрос:Оба примера выше взяты из пасты в шапке. Но там указано ооочень много книг. Что и в каком порядке учить? Напоминаю, я совсем не знаком с программированием.
как на jsfiddle сделать вкладку result сукаю...........
>>971814 (OP)Здравствуй, программач.Сорян, что влезаю в этот уютный тред с нубским вопросом почти не по темею Если так- перенаправь в нужный тред. Но тем не менее.Есть один мэйл ру. В почте есть сраный рекламный баннер слева, который уже нифига не блочится аддблоком.Нанл инспектировать через браузер, что за эту срань отвечает. Вроде как некий скрипт //js.imgsmail.ru/mail/e/utf/ts/1492094275/ru_RU/images/js/ru/build/v2.js, добавление которого в адблок не принесло никаких результатов. Пожалуйста, подскажи, как эту срань убрать- портит весь внешний вид.Браузер огнелис. сможет ли какой-нибудь ю-матрикс это говно выпилить?Благодарю за внимание и терпимость.
>>974300Поставь stylish и убери банер стилями.
>>974300Поставь ублок. В нем выбери фильтры. Если и это не поможет, пипеткой уберешь любой рандомный элемент.
>>974303>>974312Благодарю, буду пробовать.
>>974202Так вы ответите, кто-нибудь?
>>974202Первым читать learnjavascript, либо если совсем-совсем ньюфаня, то JavaScript for Kids (не шучу)После Кантора надо поделать всякие мини штуки (javascript30 в помощь) и почитать что-нибудь по es2015+ поплотнее (например exploring es6, exploring es2016-es2017)После садишься за вещи типа node, gulp, webpackИ потом выбираешь фреймворк: React/Angular/Vue и пишешь уже на нем, погружаясь в экосистему.После этого уже можешь начинать упарываться всякой функциональщиной если будет желание или смотреть в сторону сервера (express, koa, sails) или здесь подставь все что хочешь...
>всякой функциональщиной Это ты про immutable.js?
В общем продолжение >>974326>>974312Ублок не помог. Пипетка элемент видит, но вот незадача: при каждом обновлении страницы скрипт генерирует новое имя для баннера вроде ###e0Q1G-3h. Таким образом, постоянно блочить его невозможно.>>974303Поставил, нашел стили для маилсру, которые, по идее, должны убирать все лишнее. Однако, не робит. В т.ч. при отключенных адблоке и ублоке.Написать свой- пожалуй, для этого следует знать джаву. Увы, с программированием как-то не срослось.Уматрикс эту штуку не берет. В общем, основательно программеры мейлру напердолили.
>>974347Большое спасибо тебе, анончик!
>>974364.selector_name { display: none !important}не помогло что ли? не поверю
>>974376Я, безусловно нуб, но залез в один из тем для мэйла, которые, по крайней мере, активируются в мэйл.сру, выдрал там кусок кода и заодно впихнул туда тот джаваскрипт, что подозреваю:@-moz-document domain("e.mail.ru") {#leftcol-banners {opacity: 0!important; pointer-events:none!important;}.b-datalist__head__item_rb > div[class^="b-rb"], .b-letter__head__rb > div[class^="b-rb"] {margin-top: -33px!important;}/Директ в отчёте об отправке/.message-sent__hr.message-sent__hr_big, message-sent__hr.message-sent__hr_small, #preload_banner_1, .message-sent__ads, .message-sent__wrap:nth-of-type(4), .js-helper.direct-state .js.imgsmail.ru/mail/e/utf/ts/1492094275/ru_RU/images/js/ru/build/v2.js:26 .js.imgsmail.ru/mail/e/utf/ts/1492094275/ru_RU/images/js/ru/build/v2.js:21 .js.imgsmail.ru/mail/e/utf/ts/1492094275/ru_RU/images/js/ru/build/ajs.js:2{display: none!important; opacity: 0!important; pointer-events:none!important; height: 0!important;}
>>974376Пардон, поторопился с отправкой.Так вот, тема возможна к выбору на странице, но результатов, увы, не приносит. Как сама оригинальная тема автора, так и мои попытки что-то такое интуитивно напердолить.
>>974380Писец ты меня озадачил. Я не поленился даже вложенность посчитал - так они ее меняют при генерации
>>974388>>974380>>974378Короче попробуй поставить tempermonkey и написать следующее в скриптhttp://jsbin.com/vazahudayi/edit?js
>>974403точнее tampermonkey
>>974403Благодарю за помощь, братюнь.а аддон работает с версией лисы от 46 и выше. А тут 43. Ороро. Похоже, пришло время обновить браузер
Играюсь с Angular2. Пытаюсь получить в компоненте элемент DOM по классу, используя jQuery, но оно возвращает undefined. Подскажите как работать с DOM, а конкретно, необходимо вернуть высоту элемента.
>>974444разобрался с @ViewChild
Сижу тут, крудошлёплю. Есть простенький сервис, сделанный на коленке, с почти RESTful api (asp.net web api). Хочу нахуярить для него админку SPA на js. Без фреймфорков.Инфы вообще нарыть не смог. Фронтом в жизни не занимался. Помогите, пожалуйста.
>>974479>SPA на js. Без фреймфорковПривет велосипедистам
>>974483Цель: собственный (махонький такой) фреймворк-велосипед чтобы общаться существующим РЕСТ-ом. Я ж студент. Велосипеды — моя жизнь.
>>974487https://github.com/hyperapp/hyperappКак на счет такого фреймворка размером в 1кб?
Возник вопрос, возможно глупый, но все же задам его. Как я понимаю до появление новомодных фреймворков на js, были приложения например на RoR, который формировал хтмл на сервере и отправлял клиенту, потом появились ангуляры и реакты, которые работают на клиенте, снижают нагрузку с сервера, а теперь есть фреймворки основанные на фронтенд фреймворках, которые рендерят хтмл опять на сервере(next.js/nuxt.js), ибо бандлы получаются большими, что нехорошо для медленного мобильного интернета и лучше в плане сео. И вот собственно вопрос. Нахуя?
https://youtu.be/et8xNAc2ic8
>>974581>И вот собственно вопрос. Нахуя? У меня вот другой овпрос.Насколько я понимаю, JS жутко простая вещь.В виду чего, наличие к нему "фремворков" немного обескураживает.Js в бравзере это итак фреймворк. Что там еще фремворкать?
>>974601если ты пишешь простой одностраничный лендинг с двумя функциями, которые на сервер отправляют формы то хуйня. если тебе нужен сайт сложнее вроде сервисов гуглопочты, то на чистом жс ты охуеешь это все писать. а при помощи фреймворков такие вещи делать проще и расширять в разы проще.
>>974603плюс вещи вроде es2015 браузерами еще нативно не поддерживаются. а там столько охуенностей, что обратно возвращаться не захочешь.
>>972070Больной, вернитесь в палату.
>>974601>JS жутко простая вещь>Js в бравзере это итак фреймворкЖСаны, у нас тут залётный.Ты ещё успеешь охуеть, насколько этот жс простой.
>>971814 (OP)>JavaScriptДоставьте статью с хабра о бесполезности жса.
>>974621двачую
>>974621>ЖСаны, у нас тут залётный.>Ты ещё успеешь охуеть, насколько этот жс простойНу, я парочку простых сайтиков(веб приложений, как щас модно) на нем сделал, общаясь с сервером через xml.Там же логика вся элементарная, скрыть нарисовать кнопочку изменить размер цвет эдемента вписать текст в елемент итд.Тоесть, Js в бравзере и так на уровне визуального редактора форм в шарпе кокомнибудь. И даже лучше местами.
>>974641>общаясь с сервером через xml.Соболезную
>>974650>Соболезную Пф.Как будто есть отличие от других похожих форматов.
>>974689json быстрее, правильно xml хуесосят.
>>974621Еще один даун не осиливший монад.
>>974606ES7 уже нативно поддерживается, покайся.
>>974695>json быстрее, правильно xml хуесосят. Тупой вопрос.Как запросить\отослать json с сервера из JS в бравзере?
>>974708JSON.parse/stringify
>>974717>JSON.parse/stringify А данные как получить с сервера?
>>974719Фетчем)
>>974719Не отвечайте этому шизику, у него какой-то свой чудный мир из поней и говна.
>>974719
>>971941Братишки, я герой этого ролика. У меня бэкграунд дизайнера, в том числе в полиграфии, хуже меня не было. Я начал верстать, освоил gulp, jade(pug), sass и тд. И теперь почти не включаю фотошоп, т.е. дизайн-верстка теперь один процесс. У меня огромный гап в области JS, я потихоньку начал вкатываться. И знаете чего не понимаю, нахуя мне вообще JS, как я буду зарабатывать 300к в секунду? Для меня JS это подключить owlcarousel.js, нампример. Какие профиты для таких верстал как я?
>>974784Когда начнешь верстать что-что сложнее ленинградки для рашко биза - поймешь
>>974784Никаких - иди верстай.
>>974785>>974789Парни, че вы как пидоры отвечаете. Вы подсобите, епта. Как перестать верстать на HTML, а начать по-модному react-хуякт, angular-хуиляр.
>>974791Прочитай "выразительный javascript" - книгу, все встанет на свои места, только задания делай. https://karmazzin.gitbooks.io/eloquentjavascript_ru/index.html
>>974793сажа приклеилась
>>973556>>973550>>973412Пиздец.Я с 4 годами опыта JS + PHP + Oracle получаю ебучие 45к рублей, пребывая в перманентной депрессии. Наверное, пора по собеседованиям походить, а лучше уёбывать.
Мимипроходил. Сисадмин, нихера не секу в вебе вашем почти. Поэтому объясните так что бы дибилу было понятно.Есть набор данных. Термин = Определение. Хочу что бы страница со списком терминов, кликаешь на элемент списка и появляется его определение.На php спокойно бы запилил, но вот есть такая ультрагодная вещь как github pages, а там как я понял только js. Собственно вопрос - как из массива терминов автоматом запилить список и с помощью каких функций можно осуществить вывод конкретного определения на страницу?
>>974798
>>973509Лолблять, это ж днищеУ меня, ссаного верстальщика, зп 25к грн выходит, думал перекачусь во фронтенды - будет вышеХотя если для фронтенда с опытом 20 - нормальная миддловская зп, то всё грустноХотя, может ты не из Киева?
Какой есть аналог Math.random, выбирающий целые числа из списка?Не стукайте сильно
>>974845https://pastebin.com/A6tA0x2nt. несчастный с зарплатой 45к.
>>974748>>974751>>974783Ну, просто.Есть XMLHttpRequest.А json чем ловить? Что за фетч?
>>974880https://pastebin.com/NiXj5ZKT
>>974971Добра.
Котаны, помогите реактивному ньюфане. Нигде в документации не могу найти информацию о том, дожидается ли ReactDOM.render(), пока DOM загрузится, или нужно оборачивать это в $(document).ready
>>975065Меня аж типнуло
>>975082Что, прости?
>>975087Передернуло от вопроса и чуть нервный тик не появился.
>>975094От текста или от сути вопроса? Я платину спросил, что ли?
>>975065Ты туториал пройти можешь?
>>974697>монадПроиграно. Что за унылый форс?
>>975065У нас среди хипстеров за такие вопросы угощают в кафе маффинами блядь и поят чаем.
>>974697А что там осиливать? Налил и пей
>>975065Не дожидается, конечно.Ты правильно про $(document).ready написал, потому react как и любая другая библиотека не работает без jquery.
>>975289Да ты шо! Еще, небось, DOMContentLoaded и ивент лиснеры тоже только в джиквери есть. Браузер, должно быть, без джиквери даже не запустится. Говорят, даже в центральный процессор встроен маленький хардварный джиквери.
Хочу послать лучи поноса мозилле с их Webextensions. Для того чтобы ввести поддержку файрфокса в своем расширении пришлось переписать часть кода под спагетти-промисы и теперь я не до конца понимаю что и как у меня там происходит. Алсо эти пидоры больше месяца не аппрувят расширение в своем сторе, при этом если оно не подтверждено, ставить его могут только те у кого файрфокс ниже(!) версии 43. Уебки.
Здрасьте. Крудошлёп вернулся в тред.XMLHttpRequestВот сидишь, пишешь фронт для реста на asp.net web api.И если запросы асинхронные, то гарантировано ловишь еблом ексепшн. Вот, что происходит, когда запрашиваешь несуществующий ресурс:1. АСП не находит твой ебучий ресурс. И шлёт 4042. XMLHttpRequest.send() в случае 404 пытается, кажется, что-то достать из поля, которое в этом случае null и высирает.3. + АСП на 404 ответ не крепит заголовков для поддержки cors, от этого жс ещё больше высирает4. сидишь обосранныйТут три стула.Реализовать для моего сервера метод Head, чтобы проверять на 404 (стул с хуями).Делать асинхронные запросы, которые, вроде, позвляют делать проверки (или нет). (мистический стул)Трайкетчить метод, который высирает ексепшн и так обрабатывать 404 от сервера (стул с пиками).Влез в ЖС день назад.Не вкурил до сих пор ни стиля, ни назначения языка. Сижу обосранный.У кого первое знакомство было веселее?
>>975373даун блять. тебе уже писали про fetch, но ты все равно несешь свое говно в тред, необучаемый.
>>975392>даун блять. тебе уже писали про fetch, но ты все равно несешь свое говно в тред, необучаемый. Это мне писали.А ты шизик с паранойей.
>>975354Ты только что заруинил очевидный сарказм.
>>975373>если запросы асинхронные, то гарантировано ловишь еблом ексепшнНу это уже говнокод как есть.
Сап, кто-нибудь слышал про такую либу для редакса, что-то я не сильно понял чем она мне упростит жизнь, зато вижу как усложнит. Может у кого есть опыт?https://github.com/acdlite/redux-actions
>>971814 (OP)Зачем нужны прототипы? Я сколько не использую js, мне в реальной жизни они ни разу не пригодились.То есть если мне нужны новые объекты, я просто создаю их с уникальными свойствами. Если мне нужно наследование я просто добавляю примеси в эти же объекты и вот уже другие объекты, которые могут как наследовать, так и терять ненужные им свойства.Тогда как прототипы мало того что портят весь код своим синтаксисом с этими ебанутыми потчёркиваниями, так ещё и выглядят как костыль.По мне так это абсолютно ненужное говно, которое можно смело выпиливать из языка.
>>975470Более того протипирование нарушает логику.Если обычно мы создаём объект и на его основе потомков, то прототипирование используется в любом месте кода и очень легко превратить код в спагетти напрототипировав уже существующие объекты.По ебанутости это даже хуже goto, который можно использовать дисциплинировано, тогда как прототипы это всегда наглое изменение структуры объекта в любом месте кода и в любой момент исполнения, что часто приводит к существованию разных объектов одного и того же класса и ошибкам вида отсутствия метода до прототипирования.
>>975471Короче пишите юзаете ли вы прототипы и как вы себе это оправдываете? Как живёте в мире со своей совестью?
>>975472У меня тайпскрипт, мне похуй на прототипы
>>975472Классы - это сахар, у которого под капотом работают прототипы.Юзаю реакт там компоненты экстендятся от реакт компонент, значит я юзаю прототипы.Далее, делаешь какие-нибудь манипуляции с дом - тоже полагаешься на работу прототипов. Вызываешь встроенный метод например массива - тоже задействуешь прототип... такие дела. Короче вообще ненужны))
Немного не по теме, но в общем есть у меня переменная, ее жс меняет, мне надо в лесс захуярить. Я делаю это как padding-top: @pt * 1px Иначе блядь между пикселем и цифрой пробел будет. Этот способ работает, но блядь выглядит даунски, это норм или есть норм решение? Переменная с пикселями придти не может
>>975486>JS меняет переменную! шок! сенсация!показать всё что неотлажено!
>>975488Лесс переменную. Лучше решение годное кинь.
Хочу научиться писать на js, не знаю с чего начать, что можете посоветовать?
>>975498JS for kids, javascript.info
>>975502Спасибо
>>975498Нормальный язык выбрать не смог?
>>975508Ну учу еще с++
>>975508Какие нормальные есть?
>>975509С++ всегда будет актуальным, учи его.
Привет, посоны.Киньте годный линк с жирным списков вопросов к собеседованию и ответами, чтобы стать умным и ушлым
Подскажите, на странице есть такая ошибка. Непонятно, где именно она возникает. Знаю только то, что если фильтры подключаются (ползунки всякие), то ошибка там и есть. Как найти строку где идет обращение к undefined? Все блядь одни ссылки на либы. Мимо не фронтендер, попросили помочь.
>>975557Ну так в фильтрах и ищи, дебаггером стопани на ошибке интерпретатор и в скоупах ищи переменные. Какой-то из них не присвоено значение.
>>971814 (OP)Сап джаваскриптач, объясни пожалуйста - нахуя в событиях onClick пишут что-то вроде onClick="func(args); return false/true"? Зачём там что-то возвращается?
>>975720Ты дурак?Когда функцию вызываешь, электроны уходят в стек. Если ничего не вернуть, электроны не возвращаются и у тебя нагревается процессор, он даже сгореть может от этого.front-end architect на галере
>>971814 (OP)>javascript
>>975752У меня от тебя КОРОТКОЕ ЗАМЫКАНИЕ.
Поясните, почему в юзерскриптах не работают функции, кроме main? Пример тестового кода, ничего не выводится:function main() { var x = myFunction(4, 3); alert(x);}function myFunction(a, b) { return a * b; }Но если всё сделать в main, то алерт появляется. Это какое-то анальное ограничение greasemonkey или что?
>>976044Всё, разобрался, это, видимо, из-за grant было.
Скриптаны, скринкаст Кантора по ноде до какого урока смотреть? Вроде видел часто повторяли мол смотреть строго до определенного - затем хуйня. Или хуйня и ебашить все?
>>975720return false отменяет действие браузера по умолчанию, например переход по ссылке.
бамп
Нужен прогер, для разработки и дальнейшей работы над мобильным приложением. Опыт работы обязателен. Мои контакты [email protected] Зарплата от 500зеленых в месяц. В перспективе рост зп В письме рассказать немного о себе, о своих проектах и т.п., сколько готовы уделять время работе, возраст.
Ребзя, а че там с WebAssembly? Я так и не понял, что это за херня. Есть годный материал на русском?https://www.youtube.com/watch?v=8p1uLKYAwEw
Кто-нибудь шарит, как перехватить загружаемый html отредактировать и запихать обрато в браузер
>>976166>Я так и не понял, что это за херняВот смотри, есть курятина - js код, интерпретатор в браузере это перемелывает сначала в пюрешку(байткод), а потом выполняет(кушоет).webasm - это сразу пюрешка, её не нужно перемалывать, а можно сразу кушоть.
>>976096>до какого урока смотреть?Как перестанешь что-либо понимать.>>976170>как перехватить загружаемый html отредактировать и запихать обрато в браузер Шта, вопрос уровня как выебать овцу если у меня вместо хуя вагина
>>976209Улиент загружает страницу, но вместо того чтобы сразу исполнять ее в браузере и строить дом, клиент анализирует ее вручную или автоматически, редактирует и затем загружает в браузере. Ясно?
Объясните нубу плз про дескрипторы. Геттер-функция это та с помощью которой мы можем назначить свойству функцию, но она как бы будет сразу возвращать значение, без вызова через скобки. А сеттер это та функция которая считывает значение с свойства (записывая его в свой параметр value) и после этого выполняется. Правильно ли я всё понял?.
Пацаны не допираю чуток, надо чтоб нажал на кнопку, она рагорелась (это я сделал), а когда снова нажал, она сделалась обратно (не ебу как), куда копать?
>>976389Геттер вызывается когда получаешь значение чего то console.log(a) читается как console.log(a.get()) аналогично с сеттерамиa = 5 читается как a.set(5)
>>976437Ну я разве не тоже самое написал?
>>976425Что-то вроде этого: https://jsfiddle.net/tk6Lodmg/Только я не понял, что значит "рагорелась".
>>976451А что объяснять тогда?
>>976465Просто хотел чтобы кто-то подтвердил мои слова. Типо правильно ли я всё написал или нет.
>>976476Когда хочешь получить значение вызывается геттер, из него можно вернуть любое обработанное значение. Сеттер то же самое, может вообще не присваивать ничего.>но она как бы будет сразу возвращать значение, без вызова через скобкиНо она вызывается как раз и вернет она то что у нее в return
>>976166Ненужный кал, двумя словами.
>>976481> адепт jquery в треде
>>976504А может от вьюшник, или реакто-бог или ангуляро-боярин?
https://learn.javascript.ru/object-methods#ссылочный-тип - почему здесь написано что точка возвращает не функцию, а значение специального «ссылочного» типа Reference Type, которое как раз и содержит контекст для this.А далее в главе https://learn.javascript.ru/bind#пример-потери-контекста - пишут, что "Это произошло потому, что в примере выше setTimeout получил функцию user.sayHi, но не её контекст." Так какого же хуя это произошло если точка должна передавать контекст и всё должно работать нормально, в чем дело то? Ну допустим точно хранит контекст специально для скобок "()" и передаёт его им. Так почему она не хранит этот самый контекст когда мы передаём функцию в другую функцию или когда записываем в другую переменную? Че за хуйня. Совсем неосилятор я чет.
>>976514>>976504Причем тут это блять? От фреймворка вебасм нихуя не зависит. Он просто долбоёб.
Анон, мне нужен шел консоль на странице html, типа как тут https://www.codecademy.com/courses/learn-the-command-line/lessons/navigation/exercises/your-first-command где её взять?
>>976616планкер можно встроить вроде
>>976631Тебе про корову говорят, а ты про козу.
Почему Кантор в этом примере пишет в скобках у метода apply - (context, arguments) ? Т.е понятно что значение context передаётся через внешнюю функцию, а arguments нахуя? Ведь получается что тогда эта функция запустится с аргументом - "arguments", который вообще выдает ошибку, разве нет?
>>976686https://www.google.com/search?q=js+arguments+object
>>976203то есть его компилировать придется?
>>976722Да, можно будет отдавать браузеру сразу байткод.
>>976707нахуй ты мне ссылки кидаешь, я знаю что такое объект аргументов. Дело не в этом было, но уже разобрался.
>>976761а как это работает? нужно где-то для каждой платформы скомпиленный код держать что ли?
>>976965> для каждойДля какой блять платформы?
>>977039Нинтендо 360, сега мастер сд, сега сатурн, генесис, плэйстэйшн 1,2,3,4 ...простите, не удержался
https://learn.javascript.ru/bind - не пойму чет отличаются методы .bind от .call? Оба используются для передачи контекста?Т.е мы делаем некую обертку-клон как .call или .apply, чтобы можно было вызывать функцию где-либо без потери контекста из точки. Но при этом можно просто вызывать user.sayHi.apply(user) ? Зачем тогда писать эту сложную функцию обертку если можно просто всегда прописывать так? Просто ради красивого кода?
>>977088Вроде немного понял, .bind возвращает именно функцию, а не выполняет её. Т.е мы заранее привязываем контекст к функции, которую ПОТОМ будем вызывать. Всё отличие по сути в том что bind это обёртка для того чтобы заранее передать контекст для функции которая потом будет вызвана, а .call и .apply это методы которые тут же выполняют функцию с указанным контекстом. Хз, правильно ли я всё понял.
Какие ещё годные учебники есть вроде Кантора, хотелось бы обучаться сразу по нескольким, чтобы изучать один и тот же материал, но разными словами (мне кажется так понимание будет лучше) . Ну и естественно чтобы задания были. Кроме Выразительного Javascript есть ли что-то ещё подобное?
>>977092Ну да, фишка бинд, что можно сделать функцию, с частично примененными аргументами ака каррирование
>>977093Фленагана можешь глянуть
>>977095Есть только издание 2015 года. Это ничего страшного? Хотелось бы сразу что-то на пример ES6 или похуй вообще?
>>977108es6 = ECMAScript 2015
>>977113Там это есть короче
>>976944А в чем дело было?
Посоны, как у вас там с Нодой дела в плане количества вакансий? Меньше не становится?
>>977193Нода это вчерашний день. Грозятся на мороз выкинуть если не начну Go изучать.
>>977228А можно как нибудь сразу в завтра перешагнуть не шкварясь об го?
>>977230Ну разве что в отпуск уйти на лет десять. Года два назад "А может на рельсах ебанём?" ещё бы сработало, а нынче вот нет. Го хотят. Хотят скейлить под хайлоад магазины цветов и лендинги.
>>977233Нода так-то тоже на хайлоад тянет, относительно го, да и разрабов на нее проще найти, js многие знают. покормил
>>977238Ты думаешь я траллакаю, а я правда говорю. На мороз, конечно, не выгоняют ещё (пока), но разговоры заводятся за го постоянно. Жс-то никуда не уходит на клиенте, ui няшный на реакте всегда писать надо, хоть под скалу. Но я ведь чувствую, что разговоры всё чаще заводиться будут про го, пока из серии наблюдений, мол вон ребята на го это написали, а вот тут как круто всё работает. Вы только посмотрите какой они rpm крутят. Гарантирую, что к концу придётся писать уже. Благо язык простой, думаю проблем не будет.
>>977242А сейчас у вас на чем бэкенд?
>>977261Относительно небольшой банкинг на джаве, средних размеров веб хуерга в виде магазинчиков разных мастей - рельсы (кроме одного большого, там тоже джава), приложения дашбордового типа обычно на ноде. В целом рельсы и нода довольно смешанная группа, на сносном уровне приходится знать оба стака, языки-то ладно, но инфрастуктуры и там и там гора ебаная. Я прям уверен, что к концу года будем писать на го и магазинчики и приложения на го. Банкинг, конечно, трогать не будут пока, но если пойдёт, то и джаваниггеров запрягут переписывать.
>>977265Ну мне кажется банкинг на го писать - сомнительно, у го нет по сути ничего кроме производительности, которая до джавы даже не дотягивает, и простоты, нет инфраструктуры, очень странно, если будет так, как ты описываешь, ладно там api писать для spa.
Сырцы, смотрю сейчас видео от Wes Bos, чувак на ванильке лепит всякие чудеса. Проблема в том что у него там fetch запрашивает json файл со списком городов, у меня этот файл не работет, не подключается. Так вот, накидайте json файлов в тырнетах к которым можно поключиться и попробывать поработать, а то гуглю хуету только выкидывает.
>>977269https://jsonplaceholder.typicode.com/Как ты живешь с такими навыками гуглинга?
>>977242А разговоры про го, вангую, менеджеры заводят, которые сами код не пишут, а только хабру и прочую хуергу читают?И откуда ресурсы на переписывание вообще? Никогда подобной хуйни не встречал на практике, чтобы прямо переписывали, какие-то критичные части-да, но не всё с нуля. У меня на работе из того, где нужна скорость написано на крестах и работает в виде нативных модулей к ноде. Кстати, главный умный крестовик, что-то пробовал на го писать, пришёл к выводу, что говно и забросил.
>>977273ЕЕЕ, спасибо. Браток, можешь пробить этот адресок, https://gist.githubusercontent.com/Miserlou/c5cd8364bf9b2420bb29/raw/2bf258763cdddd704f8ffd3ea9a3e81d25e2c6f6/cities.jsonон рабочий или я просто имбицил?
>>977276>>977267Да язык простой очень, я сам правда дальше нескольких хелоуворлдов не заморачивался, но в принципе терпимо. Уебанства конечно хватает, без всяких map, reduce, filter, etc чувствуешь себя как инвалид ебаный, но кого это заботит как ты себя чувствуешь.> А разговоры про го, вангую, менеджеры заводят, которые сами код не пишут, а только хабру и прочую хуергу читают?Так и есть.>И откуда ресурсы на переписывание вообще? Я утрировал конечно, что запрягут джаваниггеров переписывать. Да и меня мало их болото заботит, а новые проекты очень вероятно будем писать на го. Наш умный крестовик ничего не говорил про го, да и ему похуй вообще. Мужику сорокет, двадцать в кодинге, к нему джависты как-то плакаться пришли, что-то у них на андройде что-то не стыковалось с вебом, не знаю подробностей, но пришли они просить какое-то решение на эрланге. Он в прямом смысле за пол дня сел и накатал им всё как надо, ребята до потолка прыгали. Но он такой меланхолик, что ему похуй вообще. Скажут на го писать, он спорить не станет, за вечер освоит и будет писать. И мы будем.
>>977282http://jsbin.com/pidedodoqi/edit?js,consoleВсё работает.
>>977289А у меня в браузере вот такую хуету показываетnet::ERR_NAME_RESOLUTION_FAILED
>>977292С браузером у тебя что-то. Попробуй в другом, я вставляю сниппет в хромимум консоль и он работает.
>>977285>Скажут на го писать, он спорить не станет, за вечер освоит и будет писать. И мы будем.И меня заставят. Блядь, как же это печально, какая же у меня дикая фрустрация и бессильная что-либо изменить злоба от этого го.
>>977285>за вечер освоит и будет писатьИ правильно сделает. Нахуй ныть, что тебе молоток не нравится или микроскоп?
>>977329Choose your weapon.
>>977147В том что я не осознал, что один аргумент из внутренней функции имеет замыкание на внешнюю функцию, а второй аргумент это сам массив аргументов внутренней. Ну и понял вроде как эта обертка сама работает.
>>977337Дилдо где?
>>977426За щекой проверь и в анусе
>>977428Нашел в жопе у парня, спасибо
Пиздос что-то захотелось косморейнджеров в браузере запилить. Интересно, раз продолжения не пилят, взлетит ли без планетарных боёв?
https://jsfiddle.net/ewrdpLab/1/Не понимаю, почему нельзя сохранить инфу из ajax-запроса в глобальную переменную, почему первый алерт делает то что должен, а второй выдает undefined
http://plnkr.co/edit/O7MdSdZhtWQXnOssIhcB?p=preview Нихуя не пойму, вот если прописать перед функциями this.loginOk.bind(user), this.loginFail.bind(user) то всё работает, но не пойму почему без этого не работает? И как вообще происходит срабатывание этой функции? 1) checkPassword() вызывает функцию ask() и передаёт ей параметры. 2) loginOk.bind(user) возвращает обертку функции loginOk которая вызывается в контексте user. 3) Но нахуй this прописывать? Но ведь если я припишу this , то по логике эта обертка (bind) будет запускаться в контексте ask(), т.е текущего или нет?
>>977516Сначала undefined?
>>977520Т.е насколько я понимаю просто передавая loginOk.bind(user), loginFail.bind(user) , то функция ask() начинает запускать их в своем контексте. А когда указывается this, то они вызываются в контексте объекта, в котором собственно и вызываются? Но разве функция checkPassword() сама по себе не является объектом? Ведь получается this должен передавать именно этот объект, а не какой-то внешний, разве нет? Вроде блять прочитал 2 раза эту тему про this, понимаю что контекст this присваивается из того места, откуда была вызвана эта функция, но вот такие случаи почему-то в уроке не проговариваются.
>>977522checkPassword запускается с контекстом user. Т.е. this внутри нее user. Ты хочешь передаваемые функции прибить к user, поэтому пишешь bind this. Т.к. там просили не привязывать к user напрямую вдруг ссылка изменится.
>>977531>Т.е. this внутри нее userНу это понятно, но почему вызывая внутри функции checkPassword() функцию ask() и передавая этим параметрам this - он не становится объектом checkPassword()? Возможно я недопонял тему, но this вызывается именно в контексте обычного объекта, а не объекта-функции?
ой блять сорян короче, я плыву уже.
А если не ставить this перед точкой, т.е просто loginOk.bind(this) то как будет происходить последовательность? Т.е я понимаю что произойдёт ошибка, выдаёт что loginOk in not defined. Кто именно не находит эту переменную, функция ask() или checkPassword() ?
>>977555Блять, сука, пиздуй читать про ооп в js и не задавай тупые вопросы уровня laba3
>>977564читаю кантора, принципы ооп у него уже идут после этой темы, сорян
>>977555Сам тоже только учусь, поэтому могу быть не прав, но ворде как checkpassword. Ask тут только инициализируется, она пока типа не при чем. Это как если бы ты вместо this.password написал бы просто password. Получил бы тоже ошибку плана "че за пассворд, не знаю такого". А биндишь ты для того, что эти твои методы не теряли контекст , когда вызываются изнутри ask. В функциях обычно this=undefined.
>>977555Ты не с той стороны думаешь.Еще раз.Ты вызываешь checkPassword. Если с user. впереди то this внутри это user. Если без, то при use strict undefined, иначе глобальный объект.Далее внутри вызывается ask с передачей параметров. Мы все еще находимся внутри checkPassword, поэтому this такой же какой мы определили выше. ask тут вообще не при чем в данный момент, она просто вызывается получая параметры.
>>977613>Если без, то при use strict undefined, иначе глобальный объект.никакого undefined там не будет, переменная просто не будет найдена. Undefined лишь тогда когда функция вызывается без контекста какого-либо объекта.
>>977628Переменная не найдена - это и есть undefined, если чо
>>977628> лишь тогда когда функция вызывается без контекста какого-либо объекта> Если без, то при use strict undefined, иначе глобальный объектИменно это и имелось ввиду. Видимо плохо написал.
Допустим я хочу окунуться в мир жаваскрипта и сделать какую нибудь йоба 2д игру, что посоветуете из фреймворков движков там вот это все?
>>977646>что посоветуете из фреймворков движков там вот это все?погуглить
>>977648Нет такого фреймворка, зачем врешь?
>>977632переменная не найдена это is not defined
Это снова ваш дебил не понимающий this. Вот например this (выделил стрелочкой), контекст определяется тем, где вызвана эта функция. Получается что эта функция вызывается в контексте функции ask(), у которой значение this = undefined, правильно? Иначе если нет, тогда почему именно здесь возникает ошибка?
>>977669у твоей анонимной функции которая оборачивает то место куда ты стрелочкой показываешь и которая будет вызвана на 66 строке this будет undefined.
>>977669>у которой значение this = undefined, правильно?Значение this будет ссылаться на глобальный объект, именно в этом контексте вызывается твоя функция. В случае браузера на Window, либо на global в случае ноды. >почему именно здесь возникает ошибкаСкорее всего из-за того, что в твоем глобальном контексте не определен loginDone.
>>977746Не будет там никакого глобального объекта при use strict. Еще больше путаешь беднягу!
>>977731>>977746>>977756Ну я это и написал как бы... можно было бы просто сказать что Да, ты прав. А то я начал читать и чуть не запутался опять =D
лол с js.у меня есть 25к документов. их нужно обработать.docs.forEach(doc, function(doc) {... addDoc(doc).then(function(indexes) {...... console.log("blah")...... // do something with indexes... })})вот что получается:памяти сожрал 1гб, ни одного вывода "blah" не увидел. не стал ждать и прибил процесс.как же быть? рекурсивно, вот так:function load(i) {... let doc = docs... addDoc(doc).then(function(indexes) {...... // do something with indexes...... load(i + 1)... })}смешно, тому что не просто. 25к записией и не схватил stackoverflow, хвостовая рекурсия что ли есть?
>>977781т.е. addDoc возвращает new Promise.ладно, хуй знает как промисы работают.нет хвостовой оптимизации. попробовал простую рекурсивную ф-у и схватил stackoverflow.
Ну вот тогда опять первый пример (скрин). Почему this.loginOk.bing(this) находит этот самый loginOk (с помощью первого this), ведь функция также вызывается в контексте ask() ?
>>977812На 22 строке функция ask еще не вызвана, ты тут просто передаешь ей параметры. На 22й строке this = user, именно поэтому все находится как надо. Далее, когда управление переходит в ask (условно на 4ю строку) , ok представляется собой следующее: function() {alert this.login + 'вошел на сайт'} c привязанным контекстом this = user. То же самое касается fail.Хз, если все еще не доходит, я рекомендую тебе пока забить и просто читать дальше. Со временем в голове все устаканится как надо.
>>977785кажется понял. пример:new Promise((resolve) => {.. console.log("I'm here").. resolve()}).then(() => console.log("Resolved."))console.log("Hello")вывод:I'm hereHelloResolved.когда вызываем resolve(), то он не вызывает then(() => ...) сразу. если бы было так, то вывод был бы в другом порядке. как я понял, при вызове resolve(), добавляется сообщение в очередь событий. про события:https://developer.mozilla.org/en-US/docs/Web/JavaScript/EventLoopпока не завершится обработка собития, другие события не выполняются. поэтому, в предыдущем примере, обработчики не выполнялись во время docs.forEach.
>>977843вот так понятнее, что используется очередь событий:let promise = new Promise((resolve) => resolve())promise.then(() => console.log(1))console.log("a")promise.then(() => console.log(2))вывод:a12
>>977835Просто как-то странно осознавать что передавая готовой функции параметры (т.е запуская ask() ) - она по какой-то причине не запускается (ну видимо потому что внешняя функция checkPassword() ещё не вызвана и поэтому не вызывает свою внутреннюю. Ну в общем ладно, пойду ещё раз всё переварю в голове и буду дальше учить. Хотя уже 2й день ебусь с этими задачами и в голове всё равно каша.
>>977870Ничего не понял из того что ты написал, но попробую еще раз поэтапно, на основе последнего скрина:1) Мы за кадром вызываем user.checkPassword(), верно? 2) Управление переходит на 22 строку, где идет инициализация вызова ask, с передачей соотв.параметров. Перечислим: question = "Ваш пароль?"answer = '12345'ok = function() {alert this.login + ' вошел на сайт'} , с привязанным контекстом user (то бишь внутри этой функции this = user, а значит this.login будет равняться user.login)fail = function() {alert this.login + ' ошибка входа'} , с привязанным контекстом this = user3) Перескакиваем на 4 строку. Начинает работать ask, т.к. мы только что ее вызвали, с указанными выше аргументами.4) Дальше идут твои проверки и соотв. вызов ok или fail, которые выведут адекватную инфу, потому что this у них равняется юзеру. Конец.
>>977909>ok = function() {alert this.login + ' вошел на сайт'} , с привязанным контекстом user (то бишь внутри этой функции this = user, а значит this.login будет равняться user.login)Это контекст, внутри ФУНКЦИИ привязывается через bind. А я не понимал всё это время, почему самый первый this (перед точкой) имеет ссылку на объект, ведь значение this присваивается только на момент ВЫЗОВА функции, но функция ask() при этом не вызывается. И т.к this находится в параметрах ask(), я думал что этот контекст должен присваиваться только после запуска этой функции и не иметь отношение к функции checkPassword(), ну ибо вызов ask() вложен в неё и я думал это как-то по другому здесь будет работать.
>>971814 (OP)>Ссылка на прошлый тред: >>961365 (OP) (OP)>js боль
>>971814 (OP)Посоны, запилил юзерскрипт https://pastebin.com/ZciW5CXQ, который в gmail показывает точное время вместо формата "месяц день". Как букмарклет скрипт работает. Работает и как скрипт, добавленный через tampermonkey если в качестве параметра addeventlistener указать DOMNodeInserted, но при этом выбрасывает ошибку Uncaught RangeError: maximum call stack. А если в качестве параметра использовать DOMContentLoaded (что я и хочу в результате использовать) то вообще не работает. Почему? Может кто-нибудь объяснить поведение скрипта при DOMNodeInserted и DOMContentLoaded?
Аноны, реально ли выучить этот язык с 0, если с подобным вообще знаком не был? Какие подводные?
>>978128Не не реально, все программисты с рождения все знают.
А по фриланс заказам с JavaScript как обстоят дела?
>>978148Учи php тогда
Сап, вопрос к работающим анонамПредположим вас берут на проект, там фрилансерами из индии и снг нахуячено много нечитаемого кода. Как поступать? Переписывать, оставлять так, как вообще разобраться в нем? Написано на backbone, но так что кажется будто я вообще впервые backbone вижу.
Превратится ли весь код на JavaScript в legacy, когда релизнется WebAssembly?
>>978350>Переписыватьу нас за такие слова убивают нахуй
>>978371 там вообще ужас, походу реакт дебик писал на бакбоуне и представлял что пишет на реакте. я вообще удивляюсь что оно работает каким то чудом
Я к вам из фронтенд треда. Дело такое: я распиздяй, который не работя и располагая большим количеством свободного времени решил себя занять изучением чего-нибудь, чтобы мозг не атрофировался+мало ли, может работу найти.Начал по шапке фронтенд треда HTML/CSS + JS.Сейчас есть четкое осознание, что верстка меня люто-бешено бесит, и учить ее дальше желания никакого нет. А вот JS- это любопытненько.Есть ли смысл забить на верстку, начать учить Node.js с целью может быть когда-нибудь вкатиться в бэкенд, или для такого как я это нереально?Если все же реально, то за что браться после Кантора? Сразу за node.js или как?
>>978720Фронтендер-джун без умения верстать нахуй никому не нужен. Бекендер-джун на одной только ноде тоже.Вёрстка бесит лентяев-неосиляторов, в 2017-м верстать в десятки раз проще, чем в 2007-м. Вообще, если ты только начал свой вкат в IT, а тебя уже что-то "люто-бешено бесит", то это повод призадуматься.мимо-бекендер-умеющий-адаптивно-верстать
>>978720Полюби верстку, все равно любого нодера в любой момент могут дернуть на фронт, а на фронте придется верстать в том числе. Меня тоже тошнило, но я занимаюсь версткой тогда, когда от кодинга мозги устрают, воспринимай ее, как отдых.
>>978728Я уже и сам понял, что фронтенд- не мое.Если все же попробовать вкатиться в бекенд, что мне нужно кроме ноде?
Долбанный javascript, как сверхзвуковой самолет, за ним не угонишься. Как вы постоянно учите эти бесконечные фреймворки???? Или фреймворки простые? И самый пиздец, что в перспективе js серьезно потеснит все остальные языки.
>>978743Последние несколько лет ничего кардинально нового не выходило. Как сидели на реакте, так и сидят.
>>978748А как реакт достает данные из mysql? Посредством похапэ или ноды?
>>971814 (OP)хоспаде, у меня щас глаза вытекут от бэкенда на ноде. пхпшник
блин, меня тоже бесит верстка, чувствую, как мозги превращаются в кисель. ни стройных структур, ни возможности подумать, одно сплошное полотно жаваскрипта и цсс селекторов, фуууу
>>978754Чего угодно
>>978754Ты ебанутый? Мускул находится в недрах сервера, а реакт - библиотека мало того, что для фронта, так еще и тупо для view-части, схуяли-насрали они как-то вообще должны между собой общаться?
>>978733Фронтенд )Я вообще сомневаюсь, что на ноду берут не фул стеков, потому что она учавствует только, как апи, а вся движуха с данными уже проиходит на фронте в реактах/ангулярахА так mongo, sql и тд базы данных
>>978754ajax запрос к серверу, сервер(node/php/python) делает запрос к базе, получает ответ, формирует json, отдает клиенту, react вставляет данные в шаблон html, профит, если где-то ошибся, поправьте.
>>978846Но сам react при этом в ajax не умеет, нужно jquery или еще чем пользоваться, вроде fetch популярная либа.
>>977988bump blyad
>>978851Фэч не либа, а стандарт, просто ставят всякое для старых браузеров.
Слоник вкатился.Посоны, есть короч одно web-приложение (если можно так назвать). Тестировалось на денвере.Состоит из клиентской части - на стороне клиента JS считает всю тригонометрию с рендерингом и рисует картиночка в canvas. И серверной части, где собственно и происходит вся оставшаяся математика.Пользователь с сервера получает два массива себе в браузер, в каждом массиве по 20 элементов (скажем так, координаты, целые числа, могут быть отрицательными). После всей отрисовки пользователь жмякает кнопочку и на сервер Аяксиной улетает некоторое значение (индекс). На сервере происходит немношк срань, но пришлось искать некий компромисс. В текстовом файле (serialize) хранится массив на 20 тыщ элементов, каждый из элементов этого массива - в свою очередь вложенный массив на 20 элементов (те самые, которые пихаем в Json-строку и отправляем клиенту). Когда от клиента получаем индекс, с соответствующим ему элементом массива делаем некоторые действия, пихаем обратно в файл и выдаем клиенту новых два массива. Чому не SQL? У клиента есть еще одна ОСОБАЯ КНОПОЧКА, которую ТЕОРЕТИЧЕСКИ он должен жмякать после некоторого (неопределенного, в зависимости от того, что там JS отрисует) числа нажатий на обычную кнопочку. После нажатия на ОСОБУЮ КНОПОЧКУ на сервере происходит вся магия. Достается весь этот 20-тыщ-элементов-массив, делится на 200 маленьких массивчиков по 100 элементов, каждый в свою очередь делится пополам. Сортируется вся эта поебота. Создается временный массив, куда некоторые (в зависимости от...) из элементов маленьких массивчиков складываются, хм, надо тут еще придумать, как из каждого массивчика элементы между собой обменивать. В общем вся эта хуйня смешивается, считается, пихается из временного массива обратно, еще раз сортируется, пихается обратно в файл. Ну и пользователю опять выдаем два массива. Всё заебись работает. Но это у меня работает, томущо знаю, когда на ОСОБУЮ КНОПОЧКУ надо жать. Но вот я некоторые функции в приложении еще реализую и на хабру выложу - мне первые же 10 пользователей сайт ушатают. Даже если сто раз объясню, куда и в каком порядке нажимать - на особую кнопочку всегда найдется особый пользователь.Так я вот подумал. Серверная часть мне и не нужна, по большому счету. Всю серверную математику можно в JS посчитать. А вот с хранением данных возникает вопрос. Какие там в JS завезли механизмы для хранения больших объемов данных на стороне клиента?
>>978942А просто блочить одну кнопку и делать доступной другую в нужный момент не интересно?
>>978943Не интересно.>ОСОБАЯ КНОПОЧКА, которую ТЕОРЕТИЧЕСКИ он должен жмякать после некоторого (неопределенного, в зависимости от того, что там JS отрисует) числа нажатий на обычную кнопочку.В общем накидал тут примерный размер массива https://pastebin.com/qMCS8E0slocalStorage вывезет? А если мы еще и всю историю хранить будем (массив так раз в 32 побольше станет)?
>>978946Так "неопределенного" или "в зависимости"?Если есть зависимость, значит есть логика. Передай её состоянию кнопки.локалСторедж до 10 Мб держитЕсть ещё индекседДБ и сервис-воркеры в новых браузерах.Ещё веб-воркеры. Позволят выполнять расчёты на стороне клиента в отдельном потоке.У тебя явно сейчас проблема не со стороной клиента, а со своими "массивчиками в массивчиках".
>>978947Зависимость определяется пользователем.
>>978941А понятно.
Запилите кто-нибудь продолжение для 2016-го и 17-го годов. Я так понимаю, там ещё Вуе можно впихнуть?
Короче эпик. Недавно в контыче списалась с куном с моего города. Случайно получилось, я давно-давно оставляла комментарий, мол, есть ли хорошие программисты в моём городе и вот недавно он отписался, мол, могу попробовать помочь.Но это вообще не суть, так уж получилось, что он сегодня написал, мол, давай встретимся поговорим, а то мне не хочется дома сидеть весь день. Ну мне как-то особо делать в выходной тоже нечего было, почему бы и нет. Поехала в центр в условленное место. Сразу скажу, что фотографий вконтакте у него нет, кроме одной, где плохо видно лицо, а тела вообще нет. Ему 18, мне 20. Ну приезжаю, опоздала ещё, он где-то там минут 10 сидел, ждал, лол. И что я вижу? Мелкий (173 от силы), ужасно одетый в какую-то непонятную куртку цвета блевотины и ботинки цвета мочи чмоша. Может какую-нибудь одинокую жируху это и устроило бы, как собеседник на вечер, но я еле удержалася от того, чтобы развернуться и уйти. Ну похуй, решила не обижать. Пошли в кофейню. Снимаем куртки, я выставляю на показ мои пиздатые татухи, iPhone 7 Plus и шмот за 700 баксов. А он блядь в ОГРОМНОМ худи на молнии(!), которая расстегнута и из-под неё видно ебаную футболку с эмблемой JavaScript (!!!). И телефон вроде был Xiaomi. Я вздохнула и заказал кофе. Сидим, говорим. Стеснительный, пиздец. Просто ходячий комплекс. По ходу диалога выясняется, что он играет в ебаную Доту 2, пишет на React + Redux, чето там пиздел ещё про Webpack, ES6, типа модно... Смотрит аниме и читает комиксы. Просто ничтожество. Ну, я вздохнула, потравила немного баек из моей жизни, вышли из кофейни, пошароёбились немного по центру города. Всё это время я чувствовала себя так, как будто гуляю с младшим братом. Сняла денег с карты, захотелось ещё кофе, пошли в другую кофейню. Заходим. Берём кофе. Он опять снимает куртку и я снова вижу эту блевотную ебливую кофту с футболкой с ебучим логотипом JavaScript, которые скрывают его дрыщявую фигуру, делая его ещё более жалким. Ну и сидит, что-то пиздит про виртуальный DOM, я медленно разглядываю его. Плеч нет. На лице прыщи. Полноватые ноги. Детские кисти рук. Тонкие, убогие губы. Облысение. Рядом снуёт высокий, подтянутый блондин официант с потрясающей улыбкой, я сижу с ребёнком, который мне рассказывает, почему Facebook — лучшие.Короче, меня прорвало. Я начала разносить его по каждому пункту, начиная с доты 2 и React + Redux, которые безусловно являются говном для даунов, к которым нормальный парень никогда не притронется и заканчивая его сука кофтой, встречают по одёжке, провожают по уму, запомните это, тупорылые долбоёбы. Всё это время он сидел и молчал с какой-то жалкой полуулыбкой, иногда пытаясь что-то промямлить в духе "за React будущее", "мы передаем props в компоненты", "мне нравится Javascript" и прочие инфантильную хуйню сосачерских вырожденецев-программистом.. Финалом стало то, что я сказала ему: "В моих глазах ты не выглядишь, как мужчина", мы расплатились, я довёла его до остановки, дождалась, пока автобус увезёт его нахуй и пошла смотреть на пожар: какой-то сраный склад загорелся и я пару минут наблюдала это зрелище, наслаждаясь видом и табаком. И блядь, как кульминация всей этой хуйни, я приехала домой, легла спать, а он пишет мне "Приятных тебе снов" и предлагает пойти с ним куда то. Я просто угарела, сисоньки мои.
>>979172Зарепортил
>>979172Какая-то переделанная паста?
>>979172Но вед он прав, за реакт будущее
>>972862> взлетела, вакансий море. Как считаете, можно и дальше дрочить его? С моей колокольни выглядит так, что еще пару лет его ничто не перегонит, но может я зашорен и уже пора потихоньку готовить перекат? И если да, то куда именно? Часто слишу про второй ангуляр и вью, что сильнее укрепит мои позиции на жоп маркете?другой анон. Сейчас вкатываюсь на него и, пока что, все идет очень даже хорошо. Можешь пояснить за подводные?
>>972862Бро, поздний совет, выбор сделан. Буду ебаться с метеором. Настолько все плохо с ним?
Посоны, а поясните за window.onload = function()Зачем он нужен и нужен ли он вообще?
>>979612DOM, картинки и прочая залупа загружаются не моментально и к моменту начала исполнения скрипта могут быть недоступны. Если тебе нужно оперировать с домом, например, то разумно сначала подождать, пока он прогрузится
>>979620DOM - это вся html-залупа на страничке?
>>979636DOM = Document Object Model - это внутреннее представление странички в браузере
>>979639Зочем сегаешь? Я ж слоник и ваш js практически нихуя не шарю.
>>979642Вот ту книгу с носорогом в 2013 прочитал и уже нихуя не помню.
>>979642Сорян, саша приклеилась
>>979650А вот такой еще вопрос. Есть массивчик, как на пикче. Как мне его тудым-с в локалсторедж запихать? Прям вот так:localStorage[hello] = array;Или его надо как-то сериализовать как в PHP?Индекс n у меня не от нуля идет (anglemin). Индексы похерятся, когда я его из локалстореджа обратно доставать буду?
>>979695https://developer.mozilla.org/ru/docs/Web/API/Window/localStorageВсе с твоими индексами нормально должно быть, в жс массив - это просто объект с ключами-числами и с прототипом Array.prototype
>>979707Че-т бяка получается. В локалсторедж записывается каша.
>>979733https://developer.mozilla.org/en-US/docs/Web/API/Storage/setItemНаписано же английским по белому - нужен DOMString. JSON.stringify(array) сделай перед тем, как засовывать
>>979735Так? localStorage["hello"] = JSON.stringify(array); var array2=JSON.parse(localStorage["hello"]);
>>979745localStorage.setItem("hello", JSON.stringify(array));var array2 = JSON.parse(localStorage.getItem("hello"));
>>979752f в проебе
>>979758Так у тебя массив или солянка из хуй пойми чего?
>var>25 aprilпошел нахуй гандон
>>979775Ладно тебе, не видишь - человек не шарит, что ты сердишься-то сразу
>>979145Пикчу даун делал
https://learn.javascript.ru/decorators#кеширующий-декоратор - вот задание.https://jsbin.com/nosisoqabe/edit?html,js,console - вот мой код. Подскажите плз в чем проблема и почему не работает?
>>979819Ты cache не объявил.В ошибке это и написанно. Cannot set property 'result' of undefined
>>979843cache это глобальная переменная и она объявлена если что...
>>979847Да, вижу. Ты ее объявил, но значения не присвоил. После объявления в переменной лежит (переменная ссылается) undefined. А ты работаешь с ней как с объектом - обращается через точку к свойствам.Пиши var cache = {};
>>979858>значенияБыстро фикс
>>979858Спасибо, я в общем понял что код вообще кривой и логики в нём ноль, но всё равно спс. Кстати когда пишу такое - cache.[arguments[0]] , то выдаёт ошибку. Можно ли всё равно как-то реализовать подобную строку? Т.е мне нужно чтобы свойство в cache называлось как первый аргумент из текущего объекта.
>>979871фикс: я долбаеб, точку забыл убрать.
>>979871Всё таки доделал скрипт. Криво, косо, нечитабельно, но кое-как доделал, немного хотя бы разобрался, но всё равно в голове немного каша =) Первый раз с помощью отладчика в браузере разобрался почему не работает нихуя http://jsbin.com/weyutovezu/edit?js,console - сделано.
>>979882У тебя всегда выполняется вызов исходной функции. Только потом идет проверка есть ли на такое значение аргумента что-то в словаре.По этому теряется весь смысл кеширования. Нужно проверять наличие в словаре ключа и если есть, сразу возвращать значение.
>>979922>>979882Еще было бы хорошо создавать словарь cache в замыкании makeCaching, а не в глобале.Просто перенеси var cache = {}; в самое начало makeCaching.
Поцоны, поясните в какую сторону вообще гуглить, и может есть какие то библиотеки, инструменты под мою задачу.Задача:1. Среда исполнения User.js через greasemonkey2. Инструменты jquery или другая либа3. Необходимо лазить по сайту (типо crawler) извлекать какую-то информацию, складировать с возможностью последующей выгрузки, и на основании страницы переходить на другую страницу.Все это должно быть в браузере, никаких ноде.жс и тд.Может есть уже какие то либи или как мне такое организовать?Раньше когда нужно было что-то зациклить. Делал рекурсивный вызов через SetTimeouthttps://pastebin.com/BvButcXxИ внутри соответственно AJAX запрос. Теперь когда попробовал вместо AJAX запроса вставить>$(location).attr("href","http://example.com/"+get_uri());Почему-то не зацикливается.
>>979882Нормальный у тебя код.Решение ведь понял. Попробуй еще числа фибоначи на таком декораторе посчитать и без него. С декоратором будет будет в овердохуя раз быстрее.А этот пример с рандомом не очень наглядный.
>>979774У меня солянка. Как f не проебать?Если каждый элемент массива в отдельную ячейку локалстореджа писать - как это скажется на производительности? И на объеме данных в хранилище? Я так понимаю, что названия ключей тоже в этих 5мб хранятся, а названия эти подлиннее самих значений.Хотя, можно наверное все эти f отдельным массивом записать.>>979775Что не так с var?
>>980095просто этот новомодный жсер считает, что var для лохов, для пацанов только let
>>980098const
>>980095Если у тебя солянка, то нехуй называть это массивом, сделай это объектом, у которого некоторые ключи просто будут числами. Если нужна возможность итерации по свойствам с числовыми ключами - читай про Object.defineProperty и enumerable. Хранить что-то, помимо числовых ключей, в массиве - это хак и у тебя будет все ломаться, как те же stringify / parse
>>980095Алсо>Что не так с var?Не так то, что var ложит хуй на области видимости переменных и на порядок их объявления. Нихуя блять не интуитивно, что { var mocha=true;}console.log(mocha);выдаст true. На дебаг такой глупости можно полдня убить.
>>980186Ой, да нахер еще объекты городить. Таки f буду хранить отдельным массивом в локалсторедже.Норм сделал или наговногодил с htmlbook функции утащил?
>>980336Если работает, то норм
>>980199Блоки в "{}" не влияют на область видимости.Если это функция, конечно.
что читать про интерфейсы/оформление? что бы коротко, для программистов. есть css компоненты:http://blazecss.com/components/cards/есть card компонент, он рамку добавляет и отступы. когда его использовать, а когда просто добавить padding/margin?
>>980098>для пацанов только letВсе так. Лучше оперировать адекватной областью видимости. Если не можешь код без ВАР написать, то нахуй с пляжа.
Как сделать замену слов на странице? Например поменять все буквы а на б?
>>980444s/а/б/g
Почему зацикливается? Вроде же таймер должен прекращать свою работу когда if становится верным. Или он всё равно выполняет функцию до конца?
Репост из ньюфаг-треда.Анонусы, мозг сломал. Надо подправить страницу, но в js нихуя не смыслю.Есть элемент<input type="text" id="add_task_actionQuantity" name="add_task[actionQuantity]" required="required" class="form-control" style="width: 30%;" placeholder="ХУЙ">alert(document.getElementById("add_task_actionQuantity").placeholder);Показывает "ХУЙ", ноalert(document.getElementById("add_task_actionQuantity").class);нихуя не показывает. Почему так?
>>980614после очистки ты снова ставишь в следующей строке
>>980624className
>>980398>http://blazecss.com/components/cards/Чем оно лучше бутстрапа?
>>980624https://learn.javascript.ru/attributes-and-custom-properties#классы-в-виде-строки-classname
>>980638можно использовать только те компоненты, которые тебе нужны.
>>980662оказывается у бутсрэп тоже можно. http://getbootstrap.com/customize/
пацаны, а вот есть у меня в реакте очень глубоко вложенный компонент, а все нужные данные фетчатся в самом верхнем компоненте и соответственно приходится много раз их передавать по иерархии вниз, я конечно изобрел свой dependency injector но может кто объяснит как такое обычно делается ?
Немного не понял с какой всё таки последовательностью выполняется данный код. Т.е setTimeout через 100мс запустит функцию, пока идёт этот таймер управление переходит в код который ниже, т.е запускается функция hardWork(), и т.к setTimeout не может прервать эту функция (а она выполняется дольше чем 100мс), то просто дожидается окончания выполнения и потом управление (ну или как это назвать) снова переходит в setTimeout и запускается уже внутренняя анонимная функция. Правильно?
>>980712то есть не передавать их приходится много раз а много раз писать хуйню в духе<SecondLevelComponent height='300' />а в нем<ThirdLevelComponent height='300' />а этот prop нужен в<ElevelLevelComponent />
>>980713интерпретатор js увидит твой сеттаймаут, и запомнит, что через 100мс ему надо запустить анонимную функцию, а пока эти 100мс он будет ждать, он займется другой работой а именно выполнит функцию хардвок после выполнения которой переменная i станет равно 1e8 после выполнения хардвок интерпритатор вспомнит, бля яж через 100 мс должен был выполнить анонимную функцию и выполнит ее
Сап, програмач. Я чуть не пизданулся, несколько часов пытался найти ошибку в своем коде (у меня phpQuery парсит другую страничку). Оказалось, что DOM получает изначальную версию документа, с нулевыми значениями. Например, на том сайте есть таблица с различными данными, я эти данные пытаюсь вытащить. Но мне в ДОМ парсится хтмл код с таблицой, где все значения нулевые. Похоже, что эти значения меняются с нулевых на нормальные через какие-то милисекунды. Что это за хуета такая и как мне получить финальные значения?
>>980713иными словами да, ты правильно понял
>>980720таймаут поставь - начинай парсить через пару секунд после загрузки
>>980725Как таймаут поставить? То есть может быть такое, как я описал, и я не пизданулся окончательно?
>>980712В вспомогательных либах контекст юзают
>>980712redux + разделение на smart и dumb компоненты
Имея базовые знания HTML/CSS/JS, сразу изучаю фроненд фреймворки(vue) и ксс фреймворки, все правильно делаю?
>>980749Английский подучи
>>980720правильно относительно чего ? Я даже за жквери не брался пока ecmascript'овый стандарт не вызубрил. А так если понимаешь о чем рассказывается в учебнике/доке по фреймворку то все норм.а если по сути:если ты учишься то учи на насколько можно низком уровне, когда будешь работать тогда пользуйся абстракциями которые предоставляют vue/css фреймвоахахахахахки
Дублирую, может жс челы тоже в теме.>>980778Уже когда высрал, вспомнил за feathers и экспресс. Мб бекенд (там умеренно сложная апишка) можно ебануть на ноде?
>>980758Ничего я не учу, делаю парсер для хобби. Можешь помочь - помогай с меня спасибо, не можешь - мимо проходи.
>>980720Очевидно, что скрипт потом заполняет таблицу. Как помочь на пхп не знаю. На джс наверное нужно смотреть в сторону phantomjs or nightmarejs
>>980794Cамое примитивное - поставить таймаут. Продвинутый уровень - промис или чейн коллы
>>980796Ну как я понял, он парсит чисто хтмл приходящий.
>>980797Cорри, ответ был тому анону. От пыхи всегда должен придти уже отрендеренный контент, если у него пусто значит он после прорисовки страницы загребается жсом, значит нужно убеждаться что страница отрисована, проще всего - начинать парсить когда точно знаешь что значения стянуло. Если там какой т аякс реквест то делать что-то дальше когда он выполнился
>>980794>>980797>>980807Я парсю с phpQuery, вот так это выглядит в коде. Сделаю все, что скажете, но с этой либы не слезу, раньше пытался стандартными методами и не получалось, хотя консультировался в тредах.
>>980808Есть XPath который в разы быстрее, и кстати в браузере тоже можно скопировать его как селектор.
>>980816Окей. Через часик я попробую xpath и отпишусь. Но я даю гарантию 146%, что не заработает без бубна.
>>980816Как я и говорил, xpath не работает. Пример взял отсюда http://stackoverflow.com/a/13718745
>>980636>>980639Благодарю.
>>980365Работает, кажись
Нужен совет, екмаскриптач! Что первым делать на проекте? Бабилить файлы, а потом собирать их вебпаком или сначала вебпаком в бандл собирать, а потом бабилить?
>>980900babel-loader
>>980903ога нашел вроде годный ссыль по работе с вебпаком, где за лоадер говорится и показывается, не могу теперь вспомнить почему я ранее юзал отдельно бабель и отдельно вебпак, то есть сначала гонял все файлы в бабель форму, потом вебпаком бандлил. х3 о чем я думал полгода назад. С лоадером вроде попроще все, если взлетит, конечно, лол
А еще вопрос, практикуется ли возврат мейн.ксс в теле бандла.джс, если да, то где рыть, как лоадер называется для вебпака етц. Вроде мне кажется, что когда полгноданазад искал инфу, то у меня сложилось мнение, что такое делают, чтобы по тсп быстро один файл отдать, где и джс и ксс разом, или меня глючит и по-старому отдаются по отдельности?
>>980912Ах да, и нужен ли он мне, ибо я юзаю СКСС, то есть файл и так компилится в единый, в общем, плохо шарю как лучше организовать все, подскажите, кто шарит. Буду благодарен.
>>971814 (OP)Восславим веб, господа.>>980873
>>980932Ну ебля с браузерами это тоже не сахар.
Как скачать весь сорс мэп?
>>981009сайты воруешь гаденыш ?
Как прочитать значения Symbol?'use strict';let sym = Symbol();alert( sym );В таком коде ошибка.
>>981066символы не приводятся к строкам. Ну разве что через String()
https://learn.javascript.ru/settimeout-setinterval - блять, только один я долбаеб не смог 2 последние задачи решить? Охуеть дизмораль когда люди в комментах там ещё разные решения предлагают, а ты даже одним способом в голове сообразить не можешь.
ПЕРЕКАТhttps://2ch.hk/pr/res/981132.htmlhttps://2ch.hk/pr/res/981132.html
>>980720да я этому >>980749 отвечал
программист на джейквери