24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.
Подскажите долбоебу, как лучше всего смотреть происходящее в коде при выполнении? В исправном коде например, можно где нить посмотреть, что куда засовывается, подставляется и убирается? Вот типа как я иногда смотрю в инспекторе, когда напишу хуету и ничего не работает.
ребят, помогите дауну. есть схема к монгоосе: var anon = new Schema({ _id: id, chtoTo: chtoToDrugoe { mestoDlyaMassiva: [], }, }) так вот, в чем трабл, я хочу добавить в массив ряд обьектов по другой модели модель: { _id: drugeoId, body: text, sozdal: userName }
прочитал документацию, но не понял как именно добавить его в массив, который в глубоко засел в схеме, помогите плиз
>>1042940 >При чем тут VS Code? Тут в браузере упало. Если надо отлаживать под VS Code наверняка есть какие-то дополнения для него, хотя я хз вообще как ты это делаешь и зачем. Стек всегда полный, показывает трейс от и до все точки во всех функциях, через которые прошел упавший синхронный (а со специальным включенным параметром в Chrome и асинхронный) вызов функции. В любом нормальном языке список такой же. Не знаю считаешь ли ты Java нормальным языком, но там еще пизже показан трейс из вложений хуевой тучи абстракций, есть даже картинка как это все там выглядит, но искать я ее не буду.
прикол в том, что когда пишешь на шарпе, то в дебаге ты ползаешь по разбитому C# коду, а в JSe ты ползаешь по скомпанованному JS5 коду, который был скомпанован и преобразован из TSa/JS6+ бабелем и вебпаком. Т.к. оно все скукоживает, то у тебя в стеке всегда фигурирует используемые библиотеки.
В C# ты как правило смотришь на что писал именно ты, а используемые библиотеки можно включить отдельно в исключительных случаях. Мне было бы удобно смотреть только на свой код, т.к. я более чем уверен, что он хуже чем исходники того же реакта или какого-то дерьма из npm.
>>1044360 Для этого придумали sourcemap, ты будешь видеть свой красивый код ES6, а в браузере будет исполнятся код в ES3-5. Webpack умеет делать сорсмап из коробки.
Посоны ребята, вот думаю заняться хаккингом всяких кривых браузерок на JS, чисто ради фана. В какую сторону копать, я так понимаю что с JS там особо каши не сваришь в плане безопасности и все данные через AJAX передаются по запросам.
Посоны, на работе будет довольно большой проект на реакте+редаксе. Нужен SSR, вебпак, деплой и прочая хуйня. Взять бойлерплейт какой-нибудь типа next.js или писать все самому?
Начал читать перевод ВыразительногоJS на Хабре, и мне стало интересно, в какой, собственно, программе, писать код? Я немного глуповат.имейте снисходительность к пятнадцатилетнему школьнику Я так полагаю, на том же Notepad++ или на любом другом текстовом редакторе?
Двач, такая проблема. Пилю свой небольшой проект, где на одной странице в течение 10-15 секунд JavaScript опрашивает API(посредством PHP) и раз в секунду получает новые данные в виде JSON. Я эти данные обрабатываю при помощи JavaScript. Пока данные обрабатываются, я запускаю прогресс-бар. Так вот, когда приходят новые данные и они проходят по циклу и происходит .push() новый данных в общий массив, то происходит небольшой рывок в прогресс-баре да и на всей странице. Можно ли как-то вынести функцию, в которой выполняются тяжёлые задачи в отдельный поток, чтобы оно не сказывалось на User Expirience? Пока рассматриваю Multithread.js(https://github.com/keithwhor/multithread.js) и Web Workers. В ту ли сторону я вообще смотрю? Что посоветуете?
>>1044590 Есть много текстовых редакторов с плагинами: Atom, Sublime, можешь настроить все под себя. Лично я рекомендую VS Code, необходимый функционал есть уже из коробки, плагины так же присутствуют. Если хочешь серьезную IDE, то бери Webshtorm, но для новичка она будет избыточно сложной.
>>1044711 новичек может тупо не понять что ему нужно для создания говнопроекта, реакт нейтив, или экспресс. С точки зрения новичка это вообще ахен какой-то. так что я лично тоже советую обычный редактор типа VS Code, м переход к IDE eже в зрелом образе кодера
>>1044594 Тяжелые задачи - это по-твоему, ажакс-запрос? Проблема с тормозами у тебя исключительно из-за ущербности подхода "на одно логическое действие генерится 15 ажаксов". Веб-воркеры оставь для майнинга битков.
>>1044723 В свою очередь, посоветовать могу переделать логику скрипта. Пусть раз в секунду опрашивает сервис и получает только число прогресса, которое ты визуализируешь в прогресс-баре. При получении ответа о полной готовности - загрузить все данные один раз и отрендерить их один раз.
>>1044723 Алгоритм: есть setInterval, который раз в секунду отправляет AJAX-запрос к PHP, а PHP делает запрос к API. PHP получает ответ в виде JSON, отправляет JSON к JavaScript. Но проблема-то блять не в том, что отправляется ajax-запрос, а в том блять, что приходит дохуя большой массив с данными от API, который нужно пройти 4 раза в т.ч. проверить, нет ли совпадений и распихать его по 4 разным более мелким массивам посредством .push(). У меня в одной функции происходит одновременно 4 мапа, 4 reduce, 4 forEach и 4 пуша. Это вызывает микро-лаг. Посмотри код этого дерьма и поймёшь, что я называю "сложной задачей" - https://jsfiddle.net/11kstb9u/учитывая, что в одном ответе может прийти 120к строк
>>1044726 >https://jsfiddle.net/11kstb9u/ я просто прочитал первые 3-4 строчки, и понял что ты просто ебешь мозги. зачем так все усложнять, если тебе нужна сглаженность работы то перепиши код через async/await и транспилирую с помощью каких-то либов.
>>1044736 я просто не понимаю твоей проблемы, ты кодишь на пхп, и ожижаещь что твой айакс запрос пройдет до невозможного гладко. хочешь конкретного совета, делай так, чтоб JSON парсился в самом пхп, а айаксом просто получай оттуда данные
Пытаюсь в редукс уже месяц, но нихуя так и не понял, как код с ним писать. На словах все просто - диспатчишь экшен, меняешь стор. А на деле без туторчиков нихуя не могу
>>1044866 Использую uBlock, фильтр easyList, никакой рекламы не пропускает. Или тебя интересует сам принцип удаления рекламы? Тогда читай про устройство adBlock'a.
>>1044880 не, кокой-то гейний пограмирования убрал у меня возможность приспокойно влиять на рекламу посредством CSS, потому что тут срабатывает уже JS, который может сделать все.
Мне было бы интересно так посмотреть на страницу с таким набором инструментов, чтобы понять что именно происходит, в кокой момент и легко понять, как этому противостоять.
еще поможет на рандомном проекте быстро понять кто кого как имеет введу и че делает. полезный скил в работе
>>1044737 Я PHP знаю на самом низком уровне и у меня в проекте он используется по минимуму - только в качестве инструмента для запросов к API и получения ответов. Если я буду переписывать всю логику на PHP, то у меня это займёт куда больше времени + этот хардкодинг может вылиться в какие-то баги, правка которых займёт ещё столько же времени. Мне куда проще вынести эту функцию с кодом в отдельный поток каким-то скриптом.
Господа, вопрос по клиенту. Допустим у меня есть элемент и я ставлю ему скриптом translateX, чтобы ездило влево, ставлю transition-duration 2s. Есть какой-нибудь способ узнать, когда транзишн закончился или только через timeout? Вообще как в жаваскрипте детектить, когда функция завершилась? Например, я ставлю блоку высоту функцией, как мне узнать, когда высота элементу про ставилась?
>>1044726 Госпади, обрабатывать серверную инфу жсом - это просто верх уебанства. У меня аж глаза потекли, неудивительно что клиент тоже подтекает. Пишу бэк на пхп, а фронт на жс
>>1044726 Чувак, у тебя что-то в консерватории не так, если: > приходит дохуя большой массив с данными от API, который нужно пройти 4 раза в т.ч. проверить, нет ли совпадений > в одном ответе может прийти 120к строк Чини проблему с другой стороны.
>>1045111 Я имел ввиду возвращать с сервера объект меньшего размера, т.к. вряд ли там содержатся изменения в 120к строках, которые произошли за эту секунду. Дубликаты тоже можно на сервере удалять.
Подскажите как правильнее проверить наличие жиквери плагина if ($.fn.govnoPlagin) или if ("undefined" !== typeof window.govnoPlagin). Как быстрее? Как молодежнее? В чем отличие?
>>1045134 Я к серверу API не имею никакого отношения. Работа API устроена таким образом, что данные приходят кусками и их нужно запрашивать в течение 30-60 секунд с любой периодичностью, пока в ответ не придёт массив со специальным "заключающим" ключём. Может прийти 5к строк, может 95к.
>>1045167 тебе в детстве не рассказывали, что полученный от апи джсон можно манипулировать, перед тем как обработать? типа можно обрабатывать конкретные ключи из целых 120к строк, если ты знаешь что тебе нужно
>>1045349 Вот у меня есть react+redux приложение, которое ходит в бэкэнд node+express+mongoose. Хуячу стандартную форму добавления данных в табличку. Как это говно тестить?
>>1045456 Что я делаю руками: Пишу форму. забиваю в неё руками данные, дебажу, добиваюсь того, что она валидирует (просто делает сабмит на сервер, и обрабатывает получееный ответ в redux-form)все как надо, выдает ошибки там где они ожидаются (пустые поля, например).
Делаю дохуя компонентов в реакте, чтобы не один стометровый был, а композиция. И часто нужно какой-то проп родительского компонента прокинуть в самый низ иерархии. Ну например включить админскую кнопку если в компонент сверху пришло уканазие, что юзер админ. Очень заебывает его протаскивать. Есть варианты?
>>1045460 Так это не TDD, а интеграционные тесты, которые проверяют, что у тебя фронт с бэком вообще работают. Если у тебя сабмит посылает данные на бэк, а в листе данные подтягиваются только из бэка, то нужно писать два теста: данные уходят, данные приходят - в обоих случаях мокаешь запросы к бэку. Если у тебя после сабмита данные идут и в список на фронте, и асинхронно на бэк, то отвязываешь в своем сабмите функцию посылки на бэк и мокаешь ее в тесте.
>>1045494 Ну так коннектить можно не только самый верхний контейнер, но и любой вложенный приконнектить прямо к стейту (или куску стейта). Подробностей не помню, сам давно реакт/редакс не трогал. Короч рекомендую получше с редаксом разобраться.
Анон, можно ли как нибудь в последней строке изъебнуться и получить ссылку на функцию, при этом еще и передав в нее значение? Я мог бы вернуть функцию из функции, но меня именно интересует последняя строка.
>>1045699 Не оче понял чего ты хочешь. Например, функция принимающая строку и возвращающая функцию (уже без параметров) которая высрет эту строку в консоль:
Создал на Angular проект, как здесь описано: https://cli.angular.io/ npm install -g @angular/cli ng new myapp cd myapp ng serve Каталог с созданными исходниками 156 МБ, совсем ебанулись что ли? У меня база на back end весит меньше.
>>1045735 Та же ерунда с кейстоном, мне что в жсе не нравится - на каждую хрень ставится с десяток модулей у которых самих зависимости на ещё десятки и в итоге у тебя просто вырастает папочка на сотни мб зависимостей, а ты не знаешь что там такое и насколько это всё надёжно.
Ньюфаг в треде Есть объект myobj с некоторыми свойствами. В цикле for (var prop in myobj) в myobj добавляются одни свойства и удаляются другие. Гарантируется ли, что: 1)Цикл пройдет по всем свойствам объекта, включая добавленные внутри цикла? 2)Цикл не попытается обратиться к удаленному, если он был удален раньше чем его очередь пришла?
>>1045831 Даже если ты раскопаешь что говорит стандарт по этому поводу, лучше так никогда не делать, а замапить/отфилтровать/отредьюсить нужный объект.
>>1045856 >Метод map() создаёт новый массив с результатом вызова указанной функции для каждого элемента массива. В том-то и дело, что мне нужно применить функцию даже на элементы, которые появились в результате выполнения функции.
>>1045861 Думал о проходах с пометкой уже использованного свойства, но это же куда дольше получится?
Конкретней по хуйне - я пишу в качестве тренировки простенькую пошаговую игру. Имеется ассоциативный массив для списка всех юнитов на поле вида айди_юнита -> объект юнита. В конце хода каждый юнит по очереди (с меньшим ID раньше) совершает свое действие, в том числе может порождать новых юнитов либо уничтожать имеющихся, и порожденный юнит должен иметь возможность сразу же задействоваться. Вот и пытаюсь реализовать. Может, создавать в конце хода пустой массив, переносить туда юнитов после того как они совершают действие и удалять из оригинального, проходить по оригинальному пока число юнитов в нем не станет равно нулю, а потом приравнивать оригинальный к новому? Или я изобретаю велосипед, и есть решение уже?
>>1045867 Ну да, сделай просто очередь (массив), который в начале итерации равен списку всех сущностей. > let queue = [...game.entities] Затем проходишься по нему, добавляя в него объекты или отключая юнитов
>>1045790 >а ты не знаешь что там такое и насколько это всё надёжно Почему не знаешь? Ступудово там будет полно вирусов и троянов, братишка hacktask обязательно говна зальет или его последователи.
>>1046020 Ладно, на самом деле похуй, я сделал это через костыль, отправляя это в одно из полей. Но вопрос был в другом, как блять вытащить ошибки, не перехватывая их при получении из промиза?
Пасаны колеги аутисты не поддерживают. Ну хоть вы скажите что заебись. const getQueryParams = () => (location.href.split('?')[1] || '').split('&').reduce((p, q, i, arr, kv = q.split('='))=>(p[kv[0]] = kv[1], p), {});
>>1046044 Почему это, метод называется пиздато, делает свою работу, содержит минимум кода, да и не сложен если не даун. Импортишь юзаешь, наслаждаешь красотой.
>>1032656 >мутабельную ну лови ошибки сам, за меня это делает компилятор
>>1032652 вначале приходится потратить больше времени, зато потом искать баги и дебажить в разы легче. Если во всём проекте нормальные тайпинги - есть уверенность в коде.
>>1046110 >Деды конпиляли и нам завещали. Деды конпиляли, бабки типы указали. Если не конпилятор, то кто? Раньше не было никаких интерпретаторов и люди нормально жили. Один тип для числа — это и есть ваша хвалёная свобода? Сегодня типы указывать не хочешь, а завтра память сам вычищать не будешь?
Объясните мне, как ебучий mongoose заставить работать по человечески? Вот у меня есть схема Parent { children: [ref: Child] } Я хочу 1) Провалидировать обе модели 2) Засейвить обе, только если обе корректные 3) Если есть ошибки, смержить их и послать клиенту
Можно ли вставить новую строку в таблицу через DOM? Вот есть таблица с несколькими строками. Если мы напишем var el = document.getElementById('row2'); el.parentNode.removeChild(el); то строка с id = row2 удалится. А если нам нужно добавить снизу ещё одну строку? Это возможно?
>>1046334 Я впервые работаю с dom. Да и вообще не являюсь программистом, просто нужно поправить кое-что в готовом сайте (которому сто лет в обед и никто не знает, как он вообще работает).
>>1046319 >Я не понимаю, как вставить произвольный html-код. В примере создаётся некий div, но у меня этот пример ничего не делает, даже ошибок не показывает. https://jsfiddle.net/mLbno8xr/
Аноны, помогите. Вот паста: https://pastebin.com/m1GnmaPT Мне нужно создать два объекта, которые бы не зависели друг от друга. На вход подаем, например, неотсортированные числа и в функции их сортируем. Но так как две переменные, два объекта ссылаются на одну и ту же дату, то и меняться они будут одинаково. А как мне запомнить начальную дату, чтобы потом менять ее и вертеть как угодно, а созданная basicData оставалась неизменной? Какое-то реактивное программирование нахуй. В Джаве и крестах все не так
Не хочу срач разводить на тему войны фреймворков, но вот думаю потраить либо Ангуляр либо Вью. Меня устраивает Реакт на галере, когда он уже настроен и все работает, а внедряет что то новое не наша команда. Но для каких то петпроджектов и просто всяких штук своих меня просто из себя выводит кучу всего устанавливать, внедрять, что то добавлять - в общем вся эта ебля с установкой/сборкой и так далее. Я знаю, что есть всякие create-react-app'ы и бойлерплейты, но это немного не то зачастую. Ну и просто поднадоел реакт немного на самом деле. В общем чтопоинтереснее будет из этих двоих? Хочется чего то более работающего из коробки, с уже работающими и интегрированными модулями, а еще желательно не видеть редакса(именно либу, не флакс) больше.
>>1046628 >>1046625 Я только начинаю изучать асинхронность и там (место где изучаю) пока нет темы про async (она будет значительно позже), зато есть функция которая работает асинхронно просто с нихуя. Эта функция называется fs.readFile (из ноды что-то) и вот у нее точно такая же структура как и у моего примера, при этом эта функция работает асинхронно и я не пойму как это происходит. Вот вам скрин, чтобы немного прояснилась суть.
>>1046642 Очевидно за тем, что тайпскрипт это набор костылей, который улучшает жс добавляя убогие типы. А purescript делает из жса полноценный чистый яп с нормальной системой типов. Фреймворки типа pux или halogen намного более приятные чем ебаная лапша уровня react+redux, которую кстати спиздили с того же elm
Вот асинхронность благодаря setTimeout мне понятна, интерпретатор как бы забирает функцию в некий отдельный контейнер и по прошествии таймера добавляет его в очередь (Event Loop). А вот с той функцией что на скрине (сообщение выше) я нихуя не понял как это происходит. Т.е внутри нее используется setTimeout или какая-то ещё конструкции которая приводит к такому результату (асинхронности) ?
Как же я уже заебался. Допустим есть iframe, страница которого для своей работы загружает 100500 скриптов. Но. Эти скрипты уже загружены в родительском документе. Понятно, что загружать их лишний раз не разумно, но что делать? Чтооо Если я создаю простой div и ajax ом загружаю туда страницы, то да, все работает четко, но у меня не один фрейм, и каждый скрипт. который инициализируется потом отдельно для каждой страницы устраивает третью мировую с другими скриптами. Эм, ну я не знаю как еще объяснить. Короче. Мне нужно в iframe загрузить страницу ajax GET, что бы все стили и скрипты использовались из родителя, и самое главное, я мог использоваться во фреймах window.parent во всех проявлених.
>>1046646 Говно. 1) Конпелится очень медлеено 2) Типов нет (прощай рефакторинг) 3) Даже макросы по сравнению с обычной кложурой сделали через жопу 4) Типов по прежнему нет 5) Купи больше памяти, потому что оно течет что пиздец
>>1046643 Ок, а можешь показать пример сложного приложения на перечисленных тобой фреймворках? Если > Фреймворки типа pux или halogen намного более приятные чем ебаная лапша уровня react+redux правда, то почему же в продакшене по-прежнему react+redux? Пока что вижу только разглагольствование и болтовню.
>>1046689 А еще половина интернета работает на говноцмс на пхп, и что? Вопрос не в том, почему все жрут говно, а в том, хочешь ли ты жрать говно, или ты готов терпеть меньшее комьюнити.
>>1046693 Некорректный пример, сайты на CMS создают как правило не программисты + CMS подходит только для типовых решений. Конструкторы вроде react+redux выбирают осознанно программисты. Вот есть у вас большой проект на purescript, как вы туда будете новичков вкатывать?
>>1046698 Выбор такого инструмента, подразумевает что ты нанимаешь тех, для кого писать код не только профессия, потому что ни одна пхп-макака не будет учить хаскель просто потому-что. А как ты будешь новичка учить реакт+редаксу? Понятное дело новичок нужен с головой. Если ты гугл, и у тебя есть только толпа индусов, то ты используешь го, который учится за неделю. Так что тут каждый решает сам для себя.
1) запускается функция asyncFoo и задается коллбек 2) далее начинает выполняться тело функции, т.е вычисления. 3) ниже в функции через setTimeout вызывается коллбек.
Но почему эта функция работает асинхронно и не блокирует выполнение последующих функций также как и все остальные функции? Ведь вызывая функцию, сначала начинают делаться эти "тяжелые вычисления" в цикле. Как так получается что они как будто игнорятся и выполняются потом? Ведь setTimeout находится на коллбеке, а не на этих вычислениях, почему они внезапно переносятся на "потом" ?
>>1046906 Ну я читал про Event Loop. Возможно я что-то упустил. Я понимаю что вызов коллбека делается асинхронно, и я об этом написал в конце предыдущего поста. Но почему тогда во время этих вычислений в цикле мы видим что сначала выводится второй console.log? Он ведь должен ждать пока сделаются вычисления.
Так... Пока я это писал - вроде бы понимание само пришло. Т.е вычисления всё также тормозят среду, потому что выполняются синхронно, а вот сам вывод делается асинхронно.
Есть пошаговая игра на клетчатом поле. На данный момент класс поля хранит список своих клеток (в виде двумерного массива, первый индекс это X, вторая Y) и список юнитов (у класса юнитов есть поля Х и Y). Игровая механика требует возможность быстро находить как по клетке стоящего на ней юнита (например, жахнули метеоритом на несколько клеток, надо отнять хп у всех юнитов на этих клетках), так и по юниту находить клетку, на которой он стоит (например, если это минер, который срет под себя минами в начале хода). Если вторая задача решается легко - взяли поля X и Y юнита, взяли Cells[X][Y]; то вторая сейчас требует перебора всего массива юнитов и сравнения параметров. Как оптимизировать этот момент? У меня есть два варианта - превратить список юнитов в двумерный массив (что, по идее, сильно затруднит перебор всех юнитов, когда это нужно), либо хранить объект юнита в специальном поле клетки (а значит при каждом перемещении придется удалять этот параметр у старой и выставлять у новой). И тот и другой способ мне кажутся избыточными.
>>1043979 (OP) Добавьте в шапку серию книг "You don't know JS" (есть и на русском).
Нуб в тредеАноним20/08/17 Вск 00:29:16#210№1047127
Где научиться писать бота на js? Нужно чтобы он логинился на сайте (логины и пароли в txt), ходил по ссылкам и нажимал на кнопки. Про автокликеры знаю, но хотелось бы разобраться, как сделать подобное напрямую, а не эмулируя движение мыши.
>>1043979 (OP) Ебучий двощ 15 секунд грузится. Поясните че он там скрипты делают? Обезьяна майнер встроила чтоле сука? ЖС - язык для пидоров, придуманный пидорами.
Котаны, воздержитесь посылать меня на завод, я вот что не понимаю, хотя читал и перечитывал уже не один раз. Кароч перебор свойств в объекте. Вот пример у кантора.
function copy() { var dst = arguments[0];
for (var i = 1; i < arguments.length; i++) { var arg = arguments; for (var key in arg) { dst[key] = arg[key]; } }
return dst; }
Кароч ну вы в курсе да, эта штука объединяет объекты в один. Непонятка в строчке dst[key] = arg[key]; - то что эта залупа копирует значение я понимаю, а на выходе ж получается копируется пара ключ-значение. Каким хуем этот перебощик копирует сразу и ключ и значение, я смотрю в код блять и не вижу, объясните тупому плиз
>>1047127 смотри в сторону selenium - он предоставляет апи для взаимодействия с контентом в браузере. А этот апи ты можешь дергать через nightwatch js, например, или через casper js. Или вообще не использовать JS для этого, а любой другой язык, хоть питон.
Хотя если тебе нужно что-то простое автоматизировать, то можно обойтись хром расширением, например.
А вообще, можно не упарываться этим говном, а напрямую слать данные на сервер. Например, сначала авторизируешься, получаешь куки, сохраняешь, и херачишь нужные действия с куками. Не нужно возиться с браузером вообще и пишется очень легко на любом языка, хоть на баше.
<form method="POST" id='form' enctype="multipart/form-data"> <input name='file[]' id='file_field' type="file" multiple="true"> <p id='status'>Drag your files here or click in this area.</p> </form>
https://jsfiddle.net/sod1d7bg/ Как получить куки? После отправки запроса мне должны выдать куку. В браузере firefox они появляются во вкладке "Куки" -> "Куки ответа". В ответе выдается сообщение об ошибке html. Когда всё ок там ничего нет.
>>1047887 Из экспортируемого модуля нет доступа к другим экспортированным модулям, а обращения к своим объектам через this или ещё какую поебень. А я хочу просто разбить файл на куски, так чтобы в основной вписать одну команду, запускающую код из другого файла и чтобы эту стрчку можно было без правок заменить на содержимое того файла.
Подвернулся проект на es6, ну, думаю, после джавы будет где развернуться (до этого писал немного на TS). Язык быстро развивается, статьи одна за другой попадаются.
Решил начать с малого – запилить абстрактную фабрику конфигов, которая будет выдавать нужный конфиг по параметру.
Ну и где абстрактные классы, суки? Где интерфейсы?
1) Нужно ли на первые линии файла писать #!/usr/bin/env node и #!-- coding: utf-8 --? 2) Потом прописывать require или определять функции? 2.1) Если сначала require, то где размещать функции? Почему Express-generator размещает их внизу?
>>1048329 Не то. Во-первых я долбоёб и люблю писать строки на весь экран а в половину вертикали ничего не помещается, во-вторых двух мест недостаточно.
Хлопцы, а помогите-ка nodejs-ньюфагу. Хочу в приложуху, в целом работающую по HTTP, впилить TCP-сокеты для чатрумов и прочих интерактивных хуйнюшек. Проблема в том, что комнат может быть много, и когда кто-то пишет в чат, нужно слать сообщение только тем клиентам, которые тоже подключены именно к этой комнате. Кроме того, для минимальной безопасности нужно проверять, что именно этот юзер совершил действие, то есть слать вместе с данными его токен.
Единственное решение которое я придумал - создать массив всех комнат rooms, при подключении юзера к серваку не делать ничего пока он не отправит roomID и userToken, после этого сверять данные (есть ли у него допуск к комнате, к примеру), и если все ок, то в массив rooms[roomID] пихать объект данного подключения. Далее, когда в комнате что-то происходит, в цикле рассылать всем подключениям из этого массива данные.
Не изобретаю ли я велосипед? Скорее всего, ситуация-то частая.
Чёт не могу в гугл. Как описать динамическое свойство класса, типа Array.length хочу вызывать функцию без скобок? Или оно меняется из других функций, а не высчитывается при обращении?
Антуан, пилю проект на Vue+vuex+vue-js-modal. Столкнулся с проблемой. Передаю данные в модальное окно, окно открывается и там мне нужно получить от пользователя информацию и выплюнуть это в state vuex. Проблема в том, что после открытия модального окна код продолжает выполняться, а мне нужно, чтобы он продолжился после нажатия ОК в модальном окне.
//отправляю данные в модальное окно this.$modal.show('loc-new-modal', {location: this.newloc_data, reason: 'new'}) //код дальше продолжает выполняться, а тут мне нужно дождаться нажатия ОК в форме let a = this.$store.getters.locs[0].id console.log(a);
Есть сервер на Node.js. Сайт использует Bootstrap и определнный шрифт. Как лучше отправлять их клиенту? Загрузить на сервер, переместить в публичную папку и уже с сервера отправлять клиенту? Или в <head> разместить ссылки с CDN Bootstrap и Google Fonts.
Я уверен, что лучше минимизировать отправку данных с сервера и всю хуйню выполнять на стороне клиента. Но не будет ли размещение CDN выглядеть уебищно?
>>1049081 Наоборот! Если ссылаешься на популярные вещи на официальных ЦДНах — велика вероятность, что пользователи с ними уже встречался и закешировал. Ну или хотя бы грузиться быстрее будет из-за разных доменов, если у тебя ХТТП 1.1. Смело вставляй ЦДНы.
Бля, а есть матералы объясняющие как работает Нода? Ну там смотри собачка, запрос делаем сюда гет, сюда-туда, подажди ебана... А то сразу с места в карьер - пишем require("http"), шо блять http, откуда оно его запрашивает, что за функция require, хуй его знает... На язык, похуй можно и на англицком, только что бы для совсем даугичей.ПЛИЗКИ
>>1049484 >А то сразу с места в карьер - пишем require("http"), шо блять http, откуда оно его запрашивает, что за функция require, хуй его знает... Это веб.
>>1049484 >>1049535 Изучаешь эту книжку (http://www.nodebeginner.ru/) от корки до корки. Потом зубришь, именно, сука, вызубриваешь статью от MDN (https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs). Когда напишешь свой первый сайт, по пути изучив SCSS и PUG, идешь пилить свою имиджборду. После этого у тебя должно хватить смелости самому выбрать себе книгу по Node.js, основываясь на усвоенных знаниях. Отсос хиккующих выблядков/просто неудачников типа PHP-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
>>1049547 >http://www.nodebeginner.ru/ This site allows you to read the first 19 pages of this book for free. The complete text is available as a DRM-free eBook (PDF, ePub and Kindle format). More info is available at the end of the free part. Бля , жалко..
В nodejs передаю в конструктор класса через options экземляр другого класса, который сохраняю в приватном свойстве. Но на вызов метода, например myMethod() ругается типо свойство myMethod не определено. Как мне для конструкции this._foo = options.foo; указать что это экземпляр класса Foo?
если ты вызываешь this._foo.myMethod() и пишется, что не определено, то ты что-то проебал, но это легко находится. Можешь вывести, например, в консоли, что у тебя в this._foo находится - будет понятно, куда копать
>>1048964 Так не получится. Простой вариант - вызывать функцию коллбек, когда пользователь закрывает окно.
var onModalClose = function() { ... }; Типа this.$modal.show('..', '..', onModalClose); И вызывать onModalClose функцию в тот момент, когда окно было закрыто.
Сап двач! У меня горит, у меня пиздецки горит! Дали проект на ноде и пиздец. Какому блядь мудаку из команды node.js пришла в голову охуительная идея сделать работу с файловой системой и базой данных на коллбэках и промисах? Вод блядь покажите мне сука этого человека? Зачем вебсокеты на коллбэках - понимаю, веб сервер - тоже понятно, но это то нахуя? Когда это блядь асинхронное чтение файла или выборка из таблицы вообще бывают нужны? В 99,9 случаях наоборот, сука, пока не получен результат работы с этими сущностями двигаться дальше не нужно, НЕ НУЖНО, БЛЯДЬ!!! И вот как с этой хуйней бороться не понимаю. Народ же как-то умудляется писать на ноде целые сайты с кучей SQLа, как избежать ебаного коллбэчного ада в этом сраном языке?! Пизда, нигде этого больше нет, в руби работа с БД синхронная, в PHP синхронная, в питоне и C# тоже, но язык поменять не могу, сук.
Поначалу меня даже вставила нода, но поняв весь цимес я понял что это ебаный пиздец
>>1049843 У тебя this._foo указывает на функцию, а не на инстанс объекта. this._foo() - вызовет эту функцию. Можешь еще в консоли вывести this._foo.toString(), чтобы понять, что за функция, если не догоняешь, откуда она взялась.
>>1049863 Спасибо! А вообще что это за ебатека такая? Это я динозавр, что-то пропустивший в этой жизни, в то время как тру гуру пишут асинхронные авторизации или тут наркомания ноды, типо "ой, а давайте сделаем асинхронным ВСЁ"
>>1049929 Сидит один мужик, вся корпоративная хуйня запилена на дельфи лично им и он ее какбы поддерживает. Недавно начали переводить продажников на веб и этот старый хрыч встал комом в горле, свою хрень с DBF файлов из девяностых на MySQL переводить не хочет, упирается просто всеми лапами и нам приходится его упрашивать пилить API к его говну на получение и сохранение данных. Мужик умный и сообразительный, но не может поддержать разговор ни об одной технологии моложе чем шина ISA и турбо паскаль, хотели научить его отдавать нам данные POSTом, но в итоге уперлись в стену, и нам приходится возиться с его XMLом, который он отдает без всяких заголовков. Вобщем да, есть, но работать с такими не сахар. Человек уже почевает на лаврах своего опыта и не воспринимает новую информацию.
>>1049936 Вот я потому и спрашивал, что одно дело учить по два React'a в день, когда тебе 20 лет и совсем другое, когда тебе за 50. А теперь в вебе такая скорость выхода новых технологий, что надо бежать из-за всех сил, чтобы остаться на месте.
саб няши, решил обмазаться UML диаграммами для проектирования ёба веб-сервисов на ноде, посоветуйте релейт like this: http://www.objectplayground.com/
еще заметил такой момент с вебом под ООП, таки что считать классом, если ты пилишь MVC проект?
например в модели, каждая таблица один класс, или же один супер класс со всеми абстракциями для всех таблиц?
или в хтмл-представлении, один виджет - один класс, и потом всё это объединять в страницу в другом классе, или же одна страница - один класс + класс с хтмл-шаблонами? есть ли тут какое-то золотое правило?
>>1049929 У меня на работе тех дир уже за 40, ездит по митапам, общается с молодыми разрабами, всегда в курсе всех новых технологий, активный, жизнерадостный. При всем этом женат, есть ребенок. Еще и марафоны временами бегает. Соображалка отлично работает. >>1050014 >учить ли новую хайпопарашу В них принципиально нового нет ничего, все в общем то следуют какой-нибудь парадигме из 80-00 годов. Что редакс тот же с реактом и компонентами, что всякие мвц рельсы.
>>1050019 но на модной хайпопараше нужно делать проекты, чтобы работодателю показать (например на работе эту хайпопарашу воткнуть некуда да и боишься все распидорасить или затянуть разработку), а это время и нервы. особенно учитывая, что тебе эта хайпопараша не интересна и ты в свободное время лучше бы поучил какой-нить хаскель
>>1049853 >охуительная идея сделать работу с файловой системой и базой данных на коллбэках и промисах? Чтобы чтение файла или запрос с 2-3 джойнами не вешал все приложение к хуям собачьим.
>>1050019 Твой тех дир пишет код? Одно дело быть в курсе тенденций, и совершенно другое знать какие костыли и куда вкручивать чтобы модная молодежная свистоперделка таки сделала то, что тебе нужно.
Котаны, я вкатываюсь в JS, почти осилил учебник Кантора. И на данный момент мне заходит. Буду вкатываться в node.js. Изначально вся движуха для меня - была мне больше по фану. Но я все больше и больше понимаю что моя основная работа (инф. безопасность) с ее миллионами бумажек мне остоебенила наглухо просто. Тошнит. Пока что я не заработал ни копейки с помощью JS. Но и не угас к теме. Просто дайте мне стимул, напишите мне что все я делаю не зря, и что со временем я смогу заработать своими новыми знаниями. Короче, алмазный вопрос - какой доход у вас?
>>1050162 Вероятно это нормально, когда в каждой второй либе документация пиздит. И после пары десятков фейспалмов, от того что нихуя не работает, а примеры вообще тут же вылетают. после нахождения костылей в недрах issues на гитхабе, хочется спросить, какого хуя блять?
>>1050184 ты што ботов никогда не писал? прокси стоят по 0.3 бакса, если брать оптом 30к сразу может и дешевле получится. а если собрать компанию друганов которым нужна раскрутка и всем скинуться на ботнет - вообще бесплатно почти
>>1043979 (OP) Пацаны помогите. Есть один реакт компонент, на нем стоит обработчик: на mouseover выставляется state.isHovered = true, на mouseout - false. И короче в зависимости от этого поля состояния должен рендерится один элемент компонента. Вроде все ок, рендерится, но блять какого хуя при наведении на этот элемент state.isHovered начинает прыгать туда-сюда и он соответственно мерцает! Такое ощущение что на этом элементе не срабатывает событие mouseover хотя он сука лежит внутри компонента.
>>1050209 >Такое ощущение что на этом элементе не срабатывает событие mouseover хотя он сука лежит внутри компонента. upd: проверил, так и есть. Теперь вообще нихуя не понятно.
>>1050197 >кому это надо для большинства кач-во/популярность проекта соответствует кол-ву звезд на гитхабе. надо авторам чтобы срубать баблос на консалтинге
Проясните за BDD-тесты, вот буквально как организуется проект и все с этим связанное. Допустим, есть файл, в нем лежит функция, я меняю ее поведение и что дальше? Где-то в консоли крутится вотчер который все перепроверяет и кидает ошибки если что-то пошло не так? Где прочитать за все это?
Верстальщик два года опыта итт. Последнюю неделю подтягивал знания js. Сегодня вот накатила какая то депрессуха. Смотрю на разбор архитектуры приложения по курсе и думаю что не понимаю. Т.е. вроде все понятно, но понимаю что сам в своем приложении не накачу такую же четкую архитектуру, а напишу говнокод. Как бороться с низкой самооценкой?
Сап аноний. Как вы поняли, что вы миддл дев? Вроде и знаю углубленные штуки типа замыканий, прототипов, функций-конструкторов, даже немного execution stack и как работают скоупы, но ссусь идти на фронта (умею верстать адаптивно).
>>1050303 > углубленные штуки типа замыканий, прототипов Ты серьёзно? Об этом даже джуны пхпшники знают, так как все эти темы подробно разжёваны к Кантора.
>>1050311 Правильно, просто знания никакого толку не приносят. Примени эти знания, набей гитхаб двумя-тремя проектами и вперёд.
Два вопроса по реакту: 1. Надо/нормально ли передавать статичные данные (например, список фильтров или другой не меняющейся хуйни) в виде пропсов, а не хард-кодить в компоненте? 2. Нормально ли что mapStateToProps получается каким-то жирным, где дохуя всего извлекается из стейта + кое-где применяются селекторы? Просто в попенсурсных проектах все лаконичнее.
>>1050476 >>1050475 скорей всего сначала выбрали ангуляр(гугол жи крута), потом поняли что протупили и стали переходить на реакт, но от легаси просто так не избавиться
Задача состоит в том, чтобы сделать анкор, который будет переключать проигрывание трека с произвольного на определенный. Единственное что я могу сделать - это изменять код подключения так, чтобы нужный трек оказывался первым, при чем делаться это будет просто заменой всего кода между див-ами на тот, что прийдет с сервера через jquery, хотя чисто логически понимаю что это можно реализовать парой строчек
>>1049853 Собственно поэтому я Ноду и забросил. Очередная маня-идея по стилю программирования от молодых бодро начинающих вчерашних школьников сегодня программеров, на этот раз впихнуть функциональное программирование в JavaScript.
Чисто для интереса - объясните мне преимущество Express? Все то же можно делать и без него и разницы особой нет. По крайней мере в тех примерах, что на виду. Нахуя тогда этот Express нужен, как собаке пятая нога?
>>1049936 >умный и сообразительный Вот это вот. Зачем ему под себя подкоп делать? Это как пришел идиот, всё автоматизировал, всех включая идиота уволили.
>>1050550 ничего подобного. примитивы - это не объекты, даже если к их методам можно обращаться через точку, прост в этот момент на лету создается объект-враппер(типа String, Number) и уже на нем вызываются методы.
В дропдауне есть несколько текстовых строк, содержащих цифры (вида: "текстЧИСЛОтекст"). Необходимо вернуть числовое значение выбранной строчке. parseInt и parseFloat не подходят, так как они сходу натыкаются на нечисло и присуждают строке значение NaN.
Как можно достать именно число из строчки? Спасибо заранее.
Когда у макаки открываешь пик, он разворачивается посреди экрана, и любой клик, куда угодно, его закрывает. Как можно найти и обезвредить этот ивент, чтобы пик не закрывался по клику?
>>1050696 ты умрешь гуманитарием. каким хреном 'редактор' куда-то должен что-то 'выдать' если нет ни одной команды указывающей что надо сделать с результатом?
двач, как сделать чтобы, когда вводишь количество треугольников, оно столько раз запрашивало переменные, и столько раз давала ответ (площадь теугольников?
У меня есть 6 изображений размером 2МБ. Все эти изображения должны быть отображены на странице. Как мне их передавать клиенту? Неужели блять для каждого клиента сервер будет отправлять 12МБ данных? Не слишком ли это пиздец? И какой есть лучший способ передачи изображений, кроме закидывания в паблик папку?
>>1050737 сук, это просто финиш, такую тупизну в коде я вижу первый раз в жизни. пиздуй проходить учебник кантора, пока не решишь там все задачи хотя бы из первой части писать сюда не смей. >>1050738 ленивая загрузка или хостить картинку в каком-нибудь имгуре или облаке
>>1050744 >хостить собственные изображения в другом сервисе, а не на собственном сервере. Это не считается за костыль? Если сайт загружает изображения для отображения не с сервера, а с чужого сервиса, то как на меня посмотрят умные дяди?
>>1050787 Он равен элементу на котором обработчик сработал. То есть в принципе если метод вызывается вообще без контекста - ему принудительно передастся this получается?
>>1050872 Если конкрентней, меня интересует требование знать много разных штук, а не ЗП. Как джун может знать столько всего? Знать хорошо? Если знает плохо, то нах просить, а если хорошо - то разве он не мид уже тогда? Я думал, для джуна HTML+CSS+JS+jQuerry достаточно. Или я хочу халявы?
>>1050908 Да, HTML+CSS+JS+jQuerry это не джун, это курсы в интернете посмотрели уже вошёл вайти. Без знания хоть каких-то фреймворков ты нафиг никому не нужен. Ну и без хотя бы базового понимания vcs тебя только в какую шаражку возьмут, 2017 на дворе.
>>1050919 Ну хотя бы да. Самые базовые команды хоть, просто понимать что там вообще делается и зачем он. Некоторые вот видишь >>1050922 даже этого не понимают.
1)мне нужно переходить на каждую статью(их 1975) из алфавитного списка википедии(пик 1, 2) 2)из каждой статьи взять данные(именно те которые на пике 3) 3)и забросить их в эксель(в таком виде как на пике 4)
>>1050957 CSS селекторы знаешь? С регекспами знаком? Попробуй casperjs.org. Ну или тупо делаешь список ссылок на страницы (с помощью document.querySelectorAll получаешь массив нод, в цикле вытаскиваешь аттрибут href), дергаешь их wget'ом, парсишь файлы регулярками.
>>1050960 Самое сложное будет вытащить непосредственно данные. Ибо каждая страница может быть свёрстана по-своему, у древних математиков не указан год рождения, а вместо этого написано "приблизительно в 5 веке до н.э.", и так далее. За 2000 рублей сделаю.
let airport_list = $.map(data.airports, (value, i) => $.extend(value, {id: i}));
Хочу переписать его на нативном JS, дабы повысить производительность и скорость исполнения кода. Какие есть инструменты и функции в JS, чтобы продублировать этот функционал?
>>1050961 кроме "css-селекторы" ничего не понял) с js еще не успел познакомится. сможешь помочь? телега есть? >>1050962 >у древних математиков не указан год рождения да. есть еще и такие нюансы блэт, 2к что-то дорого :)
Почему в стектрейсе ошибки может не быть моей функции? _stream_writable.js:263 var state = this._writableState; ^
TypeError: Cannot read property '_writableState' of undefined at Writable.write (_stream_writable.js:263:19) at Socket.write (net.js:695:40) at dfs (b:\nwp\node\fstreedump\fstreedump.js:30:2) at Object.<anonymous> (b:\nwp\node\fstreedump\fstreedump.js:50:1) at Module._compile (module.js:573:30) at Object.Module._extensions..js (module.js:584:10) at Module.load (module.js:507:32) at tryModuleLoad (module.js:470:12) at Function.Module._load (module.js:462:3) at Function.Module.runMain (module.js:609:10) at startup (bootstrap_node.js:158:16) at bootstrap_node.js:598:3
>>1043979 (OP) Ваш JS взвешен и найден легким. Дни его сочтены. TypeScript уже взлетел, Dart на подходе, а в недалеком будущем появится доступ к DOM из WebAssembly - и все. Конец JS. Туда ему и дорога. Объектнонедоориентированное наркоманское уебище.
>>1050988 так typescript это и есть javascript. там даже вроде типы в жаваскрипте планируются. если бы майкрософт не взялся за жс, так бы наверное и писали сейчас на отсталом говне мамонта.
for (var id in Currency){ function bittexGrab () { request({ headers: {}, uri: "https://bittrex.com/api/v1.1/public/getmarketsummary?market=btc-"+Currency[id], method: 'GET', gzip: true }, function (err, res, body) { if (err) throw err; var Content = JSON.parse(body); for (var i in Content.result){ var Exchange="Bittrex"; var MarketName = Currency[id]+"-BTC"; var Last = Content.result.Last; var BaseVolume = Content.result.BaseVolume; var Buy = Content.result.Bid; var Ask = Content.result.Ask; var date = new Date(); var hour = date.getHours(); hour = (hour < 10 ? "0" : "") + hour; var min = date.getMinutes(); min = (min < 10 ? "0" : "") + min; var sec = date.getSeconds(); sec = (sec < 10 ? "0" : "") + sec; var year = date.getFullYear(); var month = date.getMonth() + 1; month = (month < 10 ? "0" : "") + month; var day = date.getDate(); day = (day < 10 ? "0" : "") + day; fs.appendFile('trade.csv', [Exchange,MarketName,BaseVolume, Last, Buy, Ask, year+"."+month+"."+day,hour+":"+min+":"+sec].join(';')+"\n", function (err) { if (err) throw err; console.log('Saved!');}) } }) }}
Господа, какого хуя передаются значения только последней валютной пары (adx), я же делаю запись внутри цикла?
>>1051000 >Скайп и Виндус мобайл тоже взлетели Лол, назови хоть одну современную(2010>) технологию, которой занимались майки и она сгнила? Тайпскрипт это будущее, так как за него серьёзно брался разраб C#.
Посоны, а как там вообще получилось что языком веба стало высокоуровневое говно, а не байт-код с набором комманд виртуалочки, как JVM? Потому что байт-код весил бы больше чем скрипт JS, а интернеты тогда были медленными, штале? Я знаю что скоро будет ВебАссемблер, но блять, ПОЧЕМУ НЕ 20 лет назад.? Ведь даже если его и выкатят нормально через год - всё равно все кроме идейных будут стараться поддерживать старые браузеры ещё лет 15.
У меня пиздец горит. Всех этих проблем с поддержкой браузером новых костылей стандарта не было бы, если бы JS компилился в байт-код на сервере. В ассеблерных командах же обычно нечего править/добавлять?
Котаны-котята, насколько сложно найти удаленку на Европейские/Американские компании, или хоят бы в ДС/ДС2 ? Живу далеко за МКАДом, здесь мне за модный стек реакт+редакс платят 30к, это при том что я в компании уже год и два месяца. Заебало нищенствовать.
>>1051645 Гиблая идея. Можешь попробовать, конечно, но я бы на твоём месте сходил на UpWork если тебя прям так сильно интересует Мурика/Гейропка. Там Реакт по количеству заказов обгоняет разве что ВордПресс. И, кстати, частенько компании хотят нанять React-кодера на долго, а не на разик-другой.
>>1050023 >Чтобы чтение файла или запрос с 2-3 джойнами не вешал все приложение к хуям собачьим.
Мне кажется или если такие тривиальные серверные операции, которые разработчики привыкли выполнять синхронно (в контексте конкретного запроса конкретного клиента) не способны выполняться таким образом, или гипотетически способны, но вешая при этом к хуям собачим все приложение вообще и никто не удосужился сделать даже видимость синхронности то это значит что в качестве backend инструмента этот язык - говно как и сама идея асинхронного языка для сервера? Вот просто пример, допустим, мне на сервер поступил запрос и мне надо дать на него какой-то ответ. На PHP я могу сделать так (названия функций на node абстрактны, потому что правильного названия я не знаю и не хочу знать): $result = con->query("blah"); $row = $result->fetch_assoc(); return($row); Все просто, логично и правильно, да еще и лаконично, а тоже самое на ноде будет вот так: mysql.executeQuery('blah', function (result, err) { result.getRow(function (row, err) { response.write(row); }); }); И это только один запрос, а если их будет пять? А их может быть пять если это не одностраничник дяди Васи, и что делать?
Хз, очень разочарован, синтаксис нравится, запилили бы многопоточность чтобы пришел мне реквест, я вынес его в отдельный поток и потом, обработав вернул бы ответ, вешая конкретно этот поток на столько на сколько это нужно для обработки запроса цены бы языку не было, а пока мое мнение говным говно, тупой порт языка на бэк без так нужного при этом пересмотра его философии. Для простеньких сервисов, для чего-то большого писать на нем себе дороже, можно конечно, но это будет как ходить в кроссовках с канцелярскими кнопками внутри, где каждая новая операция ввода - вывода это еще одна кнопка острием вверх.
>>1051773 async библиотечка решает твою проблему, а по поводу асинхронности, оно нужно для хайлода, в tornado/twisted воркфлоу сначала тоже диковатый после джанги а потом норм. Если ты запилишь мало-мальски посещаемую борду на пыхе в частности так как ты описал, то валяться она будет большую часть времени
>>1050957 Сдается мне, у Википедии есть API, причем биографии людей там представлены в формате vcard, где есть и даты рождения- смерти, и имена на разных языках и т.д.
>>1051775 Уф, я чет остыл немного и понял что был неправ наезжая на асинхронность как таковую, если она дает плюс к производительности пусть будет так, да и бугурт у меня же не от того как оно выполняется, а от того как оно записывается. Просто я вижу как это можно было бы сделать чтобы программист не ебался с не нужными ему коллбэками. Придумал вообще клевую фишку которая остудила бы много пуканов в мире. Суть такова (названия функций опять же абстрактны): Если записано так: function qwe() { data = File.ReadAllLines('qwe', callback(result) { console.log(data); }) //do something or nothing } то код выполняется так как сейчас. Если же написано так: function qwe() { data = File.ReadAllLines('qwe'); console.log(data); //do something or nothing } то все то, что идет после строчки data = File.ReadAllLines('qwe'); оборачивается в так нужный js-у коллбэк, но не в коде, а где-то глубоко, очень глубоко в недрах движка, чтобы программист всего этого не видел. Удобная запись без всякой ебли с промисами и оборачивания функций руками.
Народ, слушаю тягомотину по node.js. В примере там есть это: new Array(1e6).join('*'); Что такое "1e6"? Регулярно встречается оно "1e9". Это просто 486 и 489 соответственно? Или есть какой-то сокральный смысл? Почему, скажем, не "1b2"?
>>1051830 Систематическое это какое? Сам от себя учусь, но оФФициального проФФильного образования нет. На тысячи км от моего зажопинска только один институт с одним программистским факультетом, и там забито блатными. Остальным доступны только злоебучие "информатики в экономике" и иже с ними на пару с самообразованием Если можешь дать пару советов по прокачиванию прогр-скилла - выслушаю
>>1051833 Современное качество образования в РФ любом случае оставляет желать лучшего. Так что не ебите парню мозг, вышка только для корки нужна, особенно в его случае. Вот блять не рассказали бы ему в средневузе о e-нотации.
>>1051839 По какой собственной? Как ты можешь составить программу, если ты ничего не знаешь глубоко? Попадешь в хорошее место и твоя задница будет полыхать от чванства сеньоров с образованием. Ты же не умница Хантинг.
>>1051862 Мне - нет. Но обсуждаемый субъект видимо еще очень вьюноша. Может быть попадет в хорошее место на западе. Где будет тушеваться перед инженерами закончившими Калтех или Йель. А вдруг?
data = File.ReadAllLines('qwe'); console.log(data);
А что распечатает вторая строка? Если это синхронный вызов - тогда понятно но будет стоп, пока ReadAllLines не отработает, а если вызов асинхронный, то от ReadAllLines сразу перейдет к console.log - а data еще не прочитана!
Если ты имел в виду что-то другое, то пояни подробнее.
>>1051870 А вот тут проблема. Помню, в моем говновузе преподавали паттерны. И предлагали читать "Банду четырех". Позже я пробовал. Так вот проблема в том, что мало того, что язык там примерзкий, так еще и все примеры С++. Который нам не давали. Теперь вопрос: изучать ли язык, который не собираюсь использовать, для понимания книжки, которая может не раз пригодиться
>>1051872 "Банду четырех" кусок говна. Не читай. Кресты не тот язык, который нужно изучать чтобы стать лучше, потому что кресты это набор костылей тянущихся из неудачных решений 40 летней давности.
>>1051874 Да блин, я вообще верстальщик. Но из-за работодателей вынужден node.js изучать. Ибо нужно, чтобы я SASS и прочее юзал. Верстаю один. Натягиваю один. Но без sass-ов и стилусов прям обосраться, как нельзя. А тут еще раст...
>>1051883 Другие без офиц. опыта сложно найти. Вот, кстати, одно из более вменяемых по сравнению с остальными заданий http://csssr.ru/jobs/pixel-perfectionist Там еще ссылка на обязательно используемый помощник. Так туда видимо запихали все модули, которые найти смогли. По 5 минут компилируется. А без заебок предлагаемый макет верстается часа за 4. Но без заебок нельзя
>>1051904 Проблемы совместимости решаются. Например, можно в начало файла ебашить версию, как DOCTYPE HTML. Это если не найдётся пути сделать не сломав старое.
>>1051906 Я имею в виду, что куча нестандартных самописных наворотов создаст проблемы непереносимости и проблем поддержки кода. Это просто вопрос общего стиля программирования человека.
>>1051924 Ок, но при этом ты приучиваешь себя работать на нестандартных либах - то есть будут проблемы когда надо быдет ваять что-то для других без этого сахара. Да и чтобы выложить на тот же githib если захочется.
>>1043979 (OP) Анон, есть вопрос. Пишу на node.js. Есть ли разница для работодателей, какой стандарт языка ты используешь? Обычно это не указывают в вакансиях, но мб это само собой подразумевается?
Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.
Часто задаваемые вопросы:
https://github.com/vladimir37/js-thread/blob/master/Wiki/faq.md
Список материалов для изучения:
https://github.com/vladimir37/js-thread/blob/master/Wiki/learn.md
Список инструментов и направления JS-разработки:
https://github.com/vladimir37/js-thread/blob/master/Wiki/tools.md
Конфа /pr/ в Slack:
https://slack-2chpr.herokuapp.com/
JS-конфа в телеграме:
https://telegram.me/jsthread
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.