Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.
>>741666 (OP) У меня есть список с городами и маркеры на гугл карте. Функционал весь готов, но мне нужно еще чтобы города выбирались не только по клику на маркеры, а еще и по клику на соответствующие города. Как запилить на реакте? Маркеры не имеют классов или айдишников. Как реактом связать конкретный маркер с конкретным li?
Поцоны, я нуфаг на 99.9% Собираюсь делать простенькую мультиплеерную игру на жабоскрипте с нодом и сокет.ио. Всë это уже поставил как и локалтунел. Вопрос: как генерировать отдельную комнату с игрой по требованию и как запретить подключение другим клиентам к этой комнате?
>>741805 Как ты с такими знаниями собираешь что-то делать? Далеко не уедешь, гарантирую. Сделать можно сотней способов, самое просто - привязать к комнате список разрешенных пользователей.
>>741811 Ты шутишь? Хуилиардом способов. Опять же, самое простое - комната будет просто жс объектом с описанием. По эвенту создания комнаты ты его делаешь, и запихиваешь в список комнат (базу?). Советую начать с чего попроще, реально, по-дружески.
Опять врываюсь с вопросами по поводу чата. Существует возможность делать перенос строки в чате, но когда скрипт берёт содержимое инпута, он засовывает это всё в одну строку. Как мне правильно спарсить содержимое инпута, учитывая переносы?
>>741814 Ну я уже клепал свистоперделки-парсеры и членолепы на е2, недоDF на жабоскрипте и задачки разные. У меня нет фантазии на хорошие решения, вот я и спрашиваю, с самим языком вроде пока нет проблем.
>>741894 Ну ты либо иди лезь и смотри где ангуляр форматирует тебе строку, либо жди тех кто работает с ангуляром. Только вопрросы полноценно формулируй. У тебя проблема не в поле ввода, а в твоем фреймворке.
>>741897 Во-первых ты сам сказал, что ты 99% ньюфаг, с таким скиллом ты не напишешь вообще ничего нормального. Во-вторых для хороших решений не нужна фантазия, а нужно знание и понимание различных архитектур/паттернов/других решений. В-третьих, ты не спрашивал "хорошее" решение, и как я понимаю, у тебя вообще нет никакого понятия и даже какого-либо средненького решения для твоей задачи. Если бы ты пришёл, и сказал, "пацаны, я сделал вот так, а как можно лучше?", тогда да, но ты пришёл с супер тупым вопросом, который звучит почти как "ребзя, а как мне игру написать, азаза?!?"
>>741916 Хмм. Смотри : https://jsfiddle.net/pqa5e3e1/. В сокете я получаю сообщение с переносами, заношу в объект сообщение и засовываю в массив сообщений. До момента отображения во View всё ок, но на самой странице отображает всё в строчку. Втф?
>>741919 Так всë и было. Не понимаю, почему ты так настроен. Словно тебе сложно выразить своë недовольство присутствием неофита в твоëм любимом треде без простыни текста.
>>741931 Да, решение у меня было. Я собирался сделать процедурную выдачу новых страниц с проверкой хеша пользователя или банальным отказом сокета, чтобы можно было без лишних пристроек наблюдать за чужой игрой
Мне вот интересно, сможет ли большинство людей здесь решить эту задачу, при том что можно использовать только while, for, break, continue, и метку, без всяких функций и тд, и БЕЗ ГУГЛА. Т.е просто интересно сложно ли это будет для вас или нет.
>>741949 Тебе же давали решение в прошлом треде. Вообще здесь только одна "сложность": необходимо применить паттерн "если в цикле чего-то не случилось, то". Это решается либо лабелом (пикрелейтед), либо переменной-свичом, либо проверкой на последнюю итерацию внутри цикла.
Почему если набрать что-то другое в prompt то не выводит последний else, а постоянно второй? (фигурные скобки пробовал ставить в разных местах, но чет нихуя не пойму)
>>741960 >По моей логике: >Если browser равно "Chrome" или "Firefox" или "Safari"... то Нет, по твоей логике (буквально): Если ( browser == "Chrome" ) или ("Firefox") или (...) уже не важно что там дальше, так как строка "Firefox" всегда распознаётся как true.
>>741976 В школе обычно на уроках информатики учат базовые алгоритмы типа ветвление, циклы. И еще на паскале порой пишут. Мышление должно было поставиться.
>>741949 >без всяких функций А что функции? Это не магия, это просто возможность переиспользовать код. Ты можешь тело функции прямо в лупе и писать, или просто копировать тридцать раз, если надо. Да и сама задача не подразумевает ничего, кроме двух вложенных циклов.
Представь, что ты полицейский, и тебе нужно найти всех злоумышленников, сидящих в зале. Примета: последняя цифра в паспорте равна номеру ряда, в одном рядом может быть не больше одного злоумышленника. Что ты будешь делать? Пойдёшь к ряду №1, начнёшь у всех проверяоть паспорта. Как только дойдёшь до конца ряда или найдёшь злоумышленника, перейдёшь к ряду №2. И так далее.
>>742060 Поменяют механизм румов? Это слишком базовый концепт, румы у них на уровне id сокета, io.to(room).emit(), io.to(id).emit() - этот интерфейс никуда не денется. А во-вторых, тебе не обязательно обновлять рабочую версию.
>>742092 С чего бы это ПРОСТО перестанет что-то работать? Какая еще киллер-фича, если все, что нужно от socket.io это механизм доставки и реагирование на сообщения?
А indexOf колотит намного больше вещей, чем нужно чтобы просто проверить всë из массива по лупу. Может я ошибаюсь. Скорее всего так и есть, ведь если бы это было хуже простого лупа, это бы не делали.
Конечно, в _ присутствует оверхед в виде несколько условий и чистый луп действительно будет быстрее, но это микроскопическая разница, зато можно разного типа объекты туда бросать.
Сделал тестовое, позвали на собеседование фронтендом. Подводный камень в том, что я уже обосрался на одном собеседовании, потому что чего-то не знал, что-то просто вылетело из-за волнения. Есть какие-нибудь статьи с самыми частыми вопросами на собеседовании? Кроме того репозитория в гитхабе, его уже нашёл.
>>741925 Лол, ну понятное дело, что отображается в строчку, тебе же надо это распарсить как-то, вставить <br> вместо переносов строк и т.д. Ты вообще этот момент пропустил штоле, кек?
>>742234 Мы тут про соответствия. Определения и так все знают. Просто я о том, что можно надрачивать эти задачки до бесконечности, к опыту в реальных проектах это имеет весьма посредственное отношение. А вот зп и деньги вполне могут отражать твой уровень, кто бы что там не кукарекал. Профессионалов за еду я видел мало, хоть и такие есть.
Аноны, а вот есть функция debounce которая запрещает выполнение функции чаще чем раз в n мс. А есть ли функция которая делала бы тоже самое но только для вызова функции с конкретным набором аргументов? Т.е. если я вызываю f(a) она отрабатывает и вешается куллдаун не на всю f, а конкретно на вызов f(a). Сори за нубовопрос.
>>742723 Я не очень хорошо разбираюсь в js, но надо внести изменения в уже готовый скрипт. Ладно, попытаюсь сейчас почитать и разобраться как оно работает, благо вся ночь впереди.
>>742743 Психологическое кино TypeScript, боевик со Стэтхэмом Vanilla.js, порно с копрофилией CoffeeScript, порно с некрофилией Dart и комедия с пошлым юмором LiveScript.
Кто нибудь юзал react-native? Какого я не могу запустить проект в эмуляторе? Пишу react-native run-android, пишет ошибку, что SDK не найден, хотя я его ставил. Прописываю SDK - пишет, что не может найти сценарий для android-23.
>>742883 >Нормальные классы ООП в жс и питоне идентично. Везде говно, потому что нет приватных методов и интерфейсов. >код красивее Кому как. Не все любят отсутствие скобок. >Стандартная библиотека лучше Не лучше, а больше. Это не одно и то же.
>>742883 Да хееер знает... Ты пробовал писать что-то крупное на питоне? Мне вот ощутимо мешало у него отсутствие "end" или закрывающей }. После крупных блоков непонятно, где продолжать писать. Ну а с копипастой там вообще кошмар.
На мой взгляд, питон хорош как язык для написания утилит из-за своей большой стандартной библиотеки. Я на нём делаю всякие тулзы для кропа картинок и конвертации файлов из одного текстового формата в другой.
JS всё-таки заточен либо под браузер, либо под сервер, а не под десктоп.
>>742907 p.s. Тут можно вот что сказать: большинство либ ноды - асинхронные. Но для тулз и утилит асинхронность нафиг не сдалась и только усложняет код.
>>742912 Ну вот. А можно просто поставить питон 3.2 на комп и создавать .py-файлики, которые будут запускаться по двойному клику и что-то делать даже без загрузки дополнительных яиц.
>>742909 Разумеется плюс. Зачем тебе в ноде по дефолту объекты для работы с домом или svg? но если понадобится подтянешь модулем, не страшно.
С другой стороны, если бы их пришлось подтягивать модулями в бразуере, было бы уже хуеевее.
Все мечтатели о том, что их любимый язык перенесут в контескт браузера и он вытеснит js всегда вежливо забывают о том, что в этом случае их любимый язык лишится своей стандартной бибилиотеки, и от нее останется лишь то, что позволит окружение.
>только усложняет код Вопрос восприятия. Скрипты аля bash, взывающие другие приложения, получающие результат и обрабатывающие его, передающие дальше, и потом что-то выводящие, очень удобно писать в асинхронном стиле.
Довел свою обучение до рекурсий и стека. Не особо понял как это всё объясняется на этом сайте. Есть где-нибудь годный видеоролик или просто какое-нибудь другое объяснение этого?
>>742923 >Есть промисы Ну а что эти промисы? Это же те же коллбэки, только в профиль. Вместо func(a, function(){}) ты пишешь func(a).then(function(){})
Нельзя написать просто и последовательно: >img = loadImg(url) >img.crop(1,2,3,4);
Анон, решил вкатиться в ноду. Пришло время писать свое первое приложение. Подскажи что можно запилить, чтобы потом гитхаб свой не стыдно было показывать. Желательно с рест апи, чтобы еще и на фронте с ангуларом можно было попрактиковаться
>>742996 Не поверишь, вот только вчера вечером сидел составлял лист интересных проектов, чтобы интересно писать было, с рест апи само собой, ангулар на клиенете и чтобы гитхаб потом показать не стыдно было. Сижу, значит, составляю и думаю: сам реализовывать не буду, приберегу идеи для сосаки, там, наверное, будет какой-нибудь хуй анон, который решит вкатиться в ноду, запросит ему идей на проекты, и тут я такой ему на нахуй! -- выдаю интересные проекты. Это я всё к чему, морской бой пиздуй писать.
>>743029 слишком много петушения, не хочется писать абстрактные фабрики фабрик еще и на фронтенде. Для явы же был GWT, который необоснованно забыли, кстати.
>>743068 Внутри функции их поведения не меняется. Да, функция открывает новый блок, но var будет вырываться из блоков любой вложенности внутри функции к самому верху, а let нет.
>>743076 Если запырку отравить, то она сразу начнет пускать пузыри. 1. если запырка пускает пузыри, то она была отравлена; 2. если запырку не отравить, то она не будет пускать пузыри; 3. если запырка не пускает пузыри, то она не отравлена.
Вот тебе задачка из теста на логику, правильный ответ под цифрой три. Иди и попробуй понять, почему это не 1 и не 2, а потом осознай, что ты агрессивный долбоеб и тебе следует избавить мир от своего присутствия в нем.
Нахуя классы/айди у элементов теперь обфусцируют? В чем профиты? У интсограмма, гуглоплюса такая хуита в виде названий классов bua_Ixa, xdJlH, pwILnnns, и т.д.
Но нефига не могу въехать в вашу кухню. Столько библиотек, фрамеворков - просто пиздец. Читаешь какую-то книгу, статью. Потом читаешь хабр, а там пишут, что ты лох, это уже всё устарело - юзай другое. ES6 уже отстой и т.д. Блять, как я всё это изучать буду? Пока что-то читаю, всё устаревает нахер.
Где-то пишут, что Gulp и Grunt уже не нужны, типо есть Webpack. Кто-то пишет, что нет, они их всё ещё юзают.
И это только пример, со всех щелей идёт разная инфа. В node.js с её промисами вообще чёрт ногу сломит. Вышла новая Нода недавно, дак там есть функционал, который сломате старый код. Блять, ну как я так учить всё это буду?
Как вызвать функцию просле загрузки дополнительного контента при бесконечном скроллинге(тип как на двачах), документ реди что-то не происходит при таком раскладе
>>743229 Нахуя ты тогда вообще лезешь и руководствуешся хайпом, когда не разбираешся в основах? Например, >Где-то пишут, что Gulp и Grunt уже не нужны, типо есть Webpack. Кто-то пишет, что нет, они их всё ещё юзают. Если бы ты понимал зачему нужен и первый и второй и третий, то таких бы вопросов не задавал.
>>743321 Каких тебе подробностей. Что не ясного в автоматическом генерировании. Когда классы не назначаются в ручную, а присваиваются автоматически, в зависимости от описания компонента.
>>743249 Хайп уже давно прошёл. Я просто сделал выводы, что по моим запросам мне подходит данная технология. Я выбрал направление. Теперь хочу всё познать. Но пока разбираюсь в чём-то, оно может быть уже устаревшим. И например, не работать в новой версии node.js
Я знаю, зачем нужен Gulp, Grunt. Но часть функционала реально и Webpack может заменить. А там и плагины тоже есть. Можно написать и свой. К любому из них.
Мне нужна инфа, что сейчас актуально. Только и всего.
>>743395 >css-loader in module mode replaces every local-scoped identifier with a global unique name (hashed from module name and local identifier by default) and exports the used identifier.
Вот ты и гугли. Если не понимаешь чем ГЕНЕРАЦИЯ отличается от ОБФУСКАЦИИ
>>743404 Если тебе нужно работать с подгружаемыми данными, то зачем тебе отлавливать скроллинг? Отлавливай подгрузку самих данных же. Ты что какой странный.
>>743408 Дебилёнок, как они по твоему обращаются к классам, если их имена ещё не сгенерированы? Никак. Иногда лучше молчать, чем пиздеть о том, в чем вообще не шаришь. У них есть нормальные имена классов, типа "button" "button_red", которые обфусцируются в такую херню. Т.е. они не просто юзают модули для неймспейсов, но ещё и для обфускации. Обосрался - обсыхай.
>>743414 Ты читать не умеешь же, да? > replaces every local-scoped identifier with a global unique name (hashed from module name and local identifier by default) and exports the used identifier.
>>743427 Что тебе понятно, даун? Что тебя макнули в говно? >Обфуска́ция (от лат. obfuscare — затенять, затемнять; и англ. obfuscate — делать неочевидным, запутанным, сбивать с толку) или запутывание кода — приведение исходного текста или исполняемого кода программы к виду, сохраняющему её функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции. Вот тебе из вики цитатка, ты ведь у нас читать-то умеешь. Инстаграм именно это и делает. Есть исходные классы, они приводят их к неочевидному виду, сохраняющему функциональность и затрудняющему анализ (парсинг). Ты тупое хуйло.
>>743364 >не работать в новой версии node.js Когда что-то такое выпускают, то помечают отдельно и тщательно продумывают способы сглаживания перехода. В том же стандарте екма и первых спеках дом левела до сих пор остаются баги, которые разрабы не правят из-за кучи написанного легаси кода. Тащемта на сайте ноды даже две кнопочки сделали, одну для рекомендованной версии и одну для "суперсовременной". И да, я очень надеюсь что ты охуенно разбираешся в основах JS/nodeJS, плюс написал что-то свое, потому что начинать учить ноду с последней версии или JS с ES6 - мягко говоря, не лучшая идея.
>>743475 >кодогенерация >автоматической генерацией. Бля, так проигрываю с этих долбоёбов. АВТОМАТИЧЕСКАЯ ГЕНЕРАЦИЯ АХАХАХ Ни разу ксс модули не юзали, и что-то пиздят, я ебал.
>>743495 Ты точно ебанутый, каким раком ты тут компилятор приплел, поехавший? Хватит вилять, пока ни одного внятного предложения от тебя не услышал, кроме кукареков "ГЕНЕРАЦИЯ!! ВСЁ АВТАМАТИЧЕСКИ!". Тупой даун.
>>743500 Тебе всё верно же люди объясняют. Давай я попробую, без наездов, может тебе легче так будет: 1) Есть набор неких ксс классов с правилами (ксс модуль). У классов понятные названия, чтобы программист понимал что к чему относится. 2) Затем эти классы используются в коде. Программист, например, пишет: <div className={props.error? : "error" : "ok"}>div text</div> 3) В коде есть импорт ксс модуля, соответственно при обработке кода вебпаком класс error заменяется на что-то. 4) В вебпаке используется некий обфусцирующий модуль, который не просто добавляет хэш, типо "error_x8a8d8gf", а заменят полностью название класса на хэш. 5) Делают это для наивной защиты от парсинга, а также для уменьшения конечного хтмл кода (тоже не сильно влияет, но почему-бы и нет).
Да, хэш генерируется автоматически, как ты любишь говорить, но названия классов полностью заменяются именно для обфускации. Т.е. по сути происходит обфускация с автоматически генирируемым хэшем. Ещё раз повторю, обфускация. Понял?
сап скриптаны. Подскажите ресурсы где можно шитимель страница брать для тренировок JS, чтобы не ебаться с вертской самому. А взять готовый шаблон и его дополнять.
>>743718 В течении дня кофе? Или чайчик с сахром? Если первое, то я практиковал. Потом моча воняет говном и кожа хуёвая становится. И это не от нескафе параши, а от свежемолотой хуйни сваренной на плите. Боюсь представить себе, что будет если пить растворимую дрянь, нос, поди, через месяц отвалится и ослепнешь нахуй. Но моча и кожа это пол беды, через пару недель такой хуйни, брат начинает хворать люто и потом функционировать не можешь без кофе нормально. Хуже сигарет, ей-богу.
>>743297 > then может быть где угодно далее по коду. Да какая разница? Где бы там его не пришлось объявлять, это тот же коллбэк. Даже в самом же описании промисов их вызываемые функции коллбеками называются (ну а чем ещё их назвать-то?). Я не говорю, что это плохо там или чего, всё норм и полезно, просто это никакое не противопоставление коллбэкам. А главное, что никакой помощи человеку, которому не нравится/не подходит асинхронный код, не даёт.
Ебался с этим заданием по числам Фибоначчи. Не стал делать, прочитал решение и забил. Хотел спросить вы вообще хоть раз это применяли в вебе? Просто только начинаешь изучать JavaScript, а тебе блять сразу такие задания дают...
>>743824 Числа фибоначчи вообще нигде в мире не используются, кроме как в примерах по рекурсии. И это супер убогий пример для демонстрации рекурсии. А рекурсия в целом используется постоянно и везде.
>>743827 Просто такие же задания я могу решить циклом, а рекурсией нет. Не понимаю как должен этот алгоритм у себя в голове представлять продумывать программу. По какому-то шаблону могу не думаю подставить рекурсию, а если что-то "свое" и новое, то уже не особо.
>>743835 Просто вроде и пытаешься понять, разобрать, сидишь час и всё равно не можешь даже до начала решения добраться, потому что тупой. Очень сильно мотивацию убивает такая хуйня.
>>743885 >5.toString() - ошибка А 5..toString() - работает, лол. Ты чушь написал, в общем. В JS, как и в Java, есть автораспаковка и автоупаковка. Тут не нужно эксплиситно превращать простые типы в объекты.
Мужики помогите Есть таблица, хочу каждый элемент сделать кликабельным Вот так работает var variable = document.getElementById('test'); Но кликабельным полуается только первый элемент естественно
Пытаюсь так чтобы все: var variable = document.getElementsByTagName('td'); var variable = document.querySelectorAll('.class');
нифига не получается. Я получаю массив элементов но они не кликабельные, ЧДНТ?
>>744064 Основы самого чистого JS я знаю неплохо, ну во всяком случае по Кантору 70%, а вот DOM знаю хуевей некуда, он меня бесит дико, вот сейчас борюсь с собой.
>>744079 Ты вообще в курсе, что такое SQLite и почему его так любят? Потому что эту БД можно юзать как fopen - без настроек, отдельных серверов (с оплатой за них) и прочего. В проектах, которые не слишком часто пишут в базу (а на Node.js таких 90%) это идеальное решение.
>>744086 Если у тебя есть авторизация, и у тебя больше 100 юзеров в день - sqlite тебе уже не подходит. Ты в курсе вообще, чем отличается sqlite от mongo? Или пилишь проект, а потом будешь судорожно гуглить "почему sqlite такой медленный"?
>>744090 >Если у тебя есть авторизация, и у тебя больше 100 юзеров в день - sqlite тебе уже не подходит. Что ты несёшь. Вход юзера - доли секунды. Я бы подумал ещё, если бы у меня было 100к юзеров в день.
>>744047 >>744034 Есть такая штука, NeDB. Специально создана для ноды, Монга одним файлом как sqlite. Вот только я её никогда не пробовал в деле. Поюзайте и напишите отзыв. По бенччмаркам довольно шустрая.
>>741666 (OP) Как мне получить значение переменной за пределами ajax-запроса? [code] $.ajaxSetup({ async: false }); var data = (function() { //var result; $.ajax({ url: req, dataType: "jsonp", async: false, success: function(data) { //result = data.response[0]; return data.response[0]; } }); //return result; })(); console.log(JSON.stringify(data)); [/code] Сами данные возвращаются нормально. После success data.response[0] печатается в консоли. В гугле советуют отключить асинхронный запрос, но, как видно, это нихуя не помогло.
>>744157 Больной ублюдок. Никогда не мспользуй синхронный ajax. Неужели ты не понимаешь, что пока у тебя происходит синхронный запрос заморозится все. Пользователь не сможет не нажимать тссылки ни открывать менюшки, ничего не сможет, блядь. А все потому что ты больной ублюдок.
Заверни, что тебе нужно в отдельную функцию, и вызывай ее, когда придут данные.
>>744169 Блядь, я знаю разницу между синхронным и асинхронным запросами. Мне похуй заморозится там что-то или нет, потому что мне НУЖНО получить ответ в любом случае. Без этих данных и так нихуя работать не будет. Да и скрипт там небольшой. Так что на это похуй совершенно.
>>744157 >async: false А как jquery делает синхронный запрос? Это вообще возможно в JS? Или там какие-то костыли вроде бесконечного цикла с условием выхода?
>>744178 Ну у тебя есть какое-то действие, предшествующие аякс гету, на кнопку там кто-то жмет или страница загрузилась. Так же ты определяешь действие по результату запроса, просто ниже пишешь функцию handleSuccess: function(success) { } и вызываешь её из аякс функции: succes:function(data) { handleSuccess(data.response) }; и по удачному результату, тебе в твой саксес хендлер придет нужная тебе инфа. Там уже её отображаешь или что ты там делаешь с ней. По такой же аналогии, как порядочный человек, делаешь handleError(error) {}; и вызваешь её из аякса error: function(data);
>>744190 Привет. XHR всегда имел возможность быть синхронным. Но он морозит весь поток в котором делается. То есть блядь совсем морозит весь ввод\вывод если делать синхронный запрос в главном потоке. Синхронный ajax можно делать только в воркерах.
>>744225 Я спрашивал немного о другом. Как мне сделать, чтобы функция возвращала данные, которые я могу сохранить в переменной и использовать дальше в коде? Толку от того, что я могу как-то обрабатывать данные внутри фнукции handleSuccess? С таким же успехом я могу делать это сразу после success ещё в теле ajax запроса.
Пацаны, как мне добраться до переменных анонимной функции из функции, объявленной в глобальном скопе? Объявлять внутри анонимной не вариант. Щас пишет b is not defined Пен http://codepen.io/anon/pen/QNPzdQ
>>744234 >В jquery коллбэком по jsonp передается success Мы про один и тот же JSONP говорим? В моём мире JSONP - это подгрузка js-скрипта и его автоматическое выполнение. Внутри этого скрипта может быть вызов функции, указанной в get-строке, например (если сервер генерит скрипт вручную). Это небезопасная технология, придуманная, чтобы обходить запрет на кроссдоменные запросы.
>>744268 И да, var scope = {} это не объект, и не область видимости, и даже не твоя мамка. Это ссылка на объект. А именовать ссылки я могу как захочу, тебя это ебать не должно.
Не нашел пхп-тред, так что спрошу тут. Вот учу я php, HTML с CSS и JS маленька(совсем маленька). Все хорошо, все вроде пока понимаю, кроме одного - а что собственно мне надо уметь делать, что бы прийти на собеседование по типу "junior php разработчик без опыта работы"(видел у себя в городе таких вакансии)? Ну епт, всякие веши типа циклов, массивов, основ ООП медведь рычит, лол я понимаю хорошо, вообще без проблем. Аналогично с версткой, туда-сюда блоков напихал и вот тебе уже красивый говнодизайн. Поставил вордпрес на локалке, вообще не понял в чем сложности. Так что мне такое надо уметь делать, что бы начать с самой черновой работы по профессии? Жопой чую, что я совсем не тем чем надо занимаюсь.
>>744319 Я то понимаю. Но можно же сверстать страничку одной таблицей и тоже будет тебе верстка, лол. Вот по части пхп - ну не верю я, что в нем кроме самых базовых функций и соединения с БД больше ничего не нужно.
>>744323 Ты сможешь, например, crm-ку написать? Если сможешь, без особых трудностей представляешь алгоритм реализации, то для такой работки ты точно готов
>>744327 >Ты сможешь, например, crm-ку написать? А что она должна уметь делать? Показывать всякие текущие задачи и события? Показывать всяких манагерам что они должны сегодня сделать? Ну это же и есть в основном работа с БД и основными функциями в пхп. Если так, то что-то такое точно смогу сделать.
Сап. У меня такой вопрос. Вот обычно замеряя производительность языков, выбирают какие-то задачи, которые в суть не отражают этой самой производительности должным образом. Обычно и чаще всего выбирают какие-то низкоуровневые бенчи, по типу числодробления например. Мне кажется, что если бенчат высокоуровневые языки, то и бенчить надо что-то высокоуровневое. Начиная с инициализации объектов, обмена сообщениями и все такое прочее. Быть может даже не столько объектную систему, сколько уже компонентный уровень абстракции.
Ташемтам сам вопрос, есть ли такие высокоуровневые бенчи? И вообще что можно включать в такие высокоуровневые тесты?
>>744344 Вообще бенчить высокоуровневые языки не из интереса - удел долбоебов. Железо сейчас такие копейки стоит, что про байтоебство и извраты ради производительности среднестатистическому прогеру можно забыть. Гораздо важнее обгонять конкурентов по киллерфичам.
>>744348 Ну, я пишу например, джаст фор фан, надстройку над js (транслятор в js). Ее суть в том, что в ней абсолютно всё есть объект и абсолютно всё может быть перегружено. Даже инициализаторы литералов. То есть, конечно, в конечном счете простейшие операции разворачиваются в более длинные.
Потому у меня и возник такой вопрос по высокоуровневым бенчам, чтобы если вдруг что, поймать себя на том, что скорость проседает уже слишком.
>>744336 Ну вот я так представляю - есть таблица в БД, типа BydloManagers. В ней айди, логины и пароли. Задачи можно сделать или же одной большой таблицей, и просто показывать по айди в завимости от даты конкретному манагеру, или же каждому дать по таблице. Админку для такого тоже проще простого можно сделать. Но блин, это же слишком тупо. Это не то что школьник, любой идиот с положительным IQ освоит.
>>744352 На словах и в воображении всегда все кажется проще простого. Ты попробуй реализуй.
Джун - собеседование изъясняется исключительно на сленге (большую часть которого не может внятно объяснить), готов в одиночку за неделю написать новую ОС, или две - за полторы, если только для этого не придется учить ассемблер, несмотря на юный возраст уже обладатель прав на обе версии и один бэкап личного сайта с фотографией кошки в розовой рамке и знает, что синглтон - это абсолютное зло, хотя и не может написать его без ошибок. - испытательный срок долго мудохается с настройками рабочего места, которые регулярно слетают под тяжестью многотысячных плагинов, шелов и скринсейверов, донимает админов, находит две (орфографические) ошибки в документации проекта и один быстрый альтернативный способ сделать форк из SVN, после которого проект, к сожалению, не билдится не только у него, но и у всей команды. Берется все немедленно исправить с помощью другого чудотворного плагина, (неожиданный баг в котором приходится фиксить двум миддлам), после чего насильственно лишается рута, плагинов и шелов и начинает изучать проект под чутким контролем матерящихся миддлов. - работа научился билдить проект, писать тесты и коммитить, не роняя этим билд, понял смысл многих сленговых выражений, подружился с миддлами и админами, не путается в названиях ключевых технологий, радикально сократил число плагинов, удалил сайт с кошкой, работает.
Миддл - собеседование не глубоко, но уверенно знает ключевые технологии, разницу между абстрактным классом и интерфейсом и три-четыре вежливых ответа на вопрос, "сколько это может занять времени". - испытательный срок влился в проект и работает. - работа работает стабильно и продуктивно.
Синьор - собеседование указывает на ошибку в тестовом задании, предлагает два решения проблемы, над которой команда пыхтела последнюю неделю и альтернативный стек технологий, на который можно перевести проект - испытательный срок рефакторит проект, делает билд джун-устойчивым, по ходу дела пишет алгоритм для киллер-фичи, запланированной только на следующий квартал и под конец испытательного срока организует воркшоп, на котором представляет свои наработки "в свободное время" по переводу проекта на другой стек технологий, в которых уже реализована большая часть функционала следующего релиза. - работа пинками помогает команде в переходе на одобренный руководством новый стек, в чем его активно поддерживает джун, окрыленный тем, что теперь его накопившиеся косяки точно никто не заметит, переводит проект на новый стек, увеличивает производительность в два раза, через год переводит еще раз, периодически генерирует идеи новых продуктов, может пропасть на неделю и вернуться с новой фичей, а может уйти в накопившийся за несколько лет отпуск и больше не вернуться, т.к. случайно встретил старого знакомого, передложившего другой мега-проект с гига-зарплатой.
>>744379 А что писать в резюме? Типа "я умею связывать страничку и БД, я вам хуй сосать буду только дайте работу и научите кодить", не? Алсо, какие там особенности у ПХП? Типа код выполняется на сервере и посылает юзеру только html-страницу, не? Еще вроде там какая-то хуита с типами данных, когда число само собой конвертится в строку или как-то так.
>>743078 К чему ты это высрал? Алсо, он ещё забыл сказать, что let и const не всплывают, что ценность твоих постов вообще до бреда сумасшедшего опускают.
>>744363 Какой нахуй рашкопровайдер? Вы там в /по/раше совсем ебанулись? Это защита от подмены файла расширениями браузера, но у поехавших уже в каждом подъезде лично Путин срёт.
Ох вы и долбоебы, нашли о чем спорить. Неужели никто из вас понять не может, что один доказывает случай когда let сразу в функции лежит без блока, а другой принял выражение "лежит в функции" в таком ключе, что может лежать внутри хуй знает чего, но главное чтобы это хуй знает что было внутри функции. И спорят... ппц просто
Мини Игра. Суть: Щелкаем по квадрату и получаем цифру При совпадении двух цифер, цифры сохраняются, а в противном две цифры разные обнуляются, НО, у меня при не совпадении цифр все предыущие сопвадающие цифры нахрен с поля удаляются, а надо чтобы парные цифры которые с двух щелчков правильно вышли сохранялись, а сбивались только не валидные.
>>744555 Так, как у тебя сейчас логичнее. Если квадратов и пар будет очень много, это как раз и будет тренировать память. Так как хочешь сделать ты, это слишком сильно упрощает игру, что лишает ее смысла.
>>744561 Это первая моя попытка в жизнь что-то написать. Вообще я знал изначально что это странный длинный путь интуитивно, но я не шарю и не вникал даже как их выбрать более правильно, потому что сейчас моё внимание сосредеточенно на алгоритме который я не могу пока написать, потому задаю впоросы вам. >>744576 Это да, но я потом собираюсь её расширить и вместо цифр будут картинки. Типа для детей. Сетка, естественно, будет больше.
>>744473 Блядь, меня спросил, какие языки знаю, работал ли с БД. И всё. При том, что на javascript не писал никогда, выучил всё за 3 дня. И всё, работаю.
>>744603 Двачую, меня тоже на собеседосе только пару вопросов спросили, и то только про серверную часть, тоже в основном по БД. По жс даже ничего не задавали, т.к. это легкая параша, которую на ходу можно освоить. Я правда джун, фуллстак, 60к дс2
>>744603 Ну хуй знает. Вроде контора серьёзная. Тестовое задание подразумевало простой вебсервис, сделанный на реакте, работающий с браузерным АПИ и оформленном на любом модном фреймворке. Я понимаю, что это слабо соотносится с нативным ЖСом, но всё-таки туда по-моему не попадёт совсем ВКАТЫВАЮЩИЙСЯ.
>>744651 В чем кек-то? На беке у тебя нету кучи ебаных фреймворков, кучи непонятных меняющихся каждый день тулзов, нету десятка версия разных браузеров, нету "адаптивности", нету дизайнеров-уебанов и т.д., можно долго продолжать. Там реально намного всё проще. Чуть сложнее вкатиться, но потом намного легче.
Возможно я какую-то хуйню налепил, но всё равно. Скрипт типо проверяет переменную, если там NaN, пустая строка, или буква - просит снова ввести числа, иначе складывает. Насколько это криво написано?
Прочитал JavaScript Garden после первой части Кантора - вообще ничего нового не узнал. Кто-нибудь читал YDKJS? Годнота? Или тоже ничего нового не узнаешь?
Хочу написать страницу авторизации для входа пользователей, но не знаю как реализовать: 1. Попадание только авторизававшихся пользователей на последующие страницы сайта. 2. Где хранить базу с данными о пользователе (в том числе логин с паролем для сверки с введенным посетителем сайта). И все это без использования других языков - только js.
>>745114 Код сам себя должен документировать. Если ты не мамкин фрилансер/вкатывальщик, то должен знать, что если после первого взгляда на метод не ясно, что он делает, то это хуёвый код. Ты конечно можешь рваться и верещать, что ТЫ ТУПОЙ НИПАНИМАЕШЬ МНЕ АЧИВИДНА, но нужно чтобы не только тебе, а всей команде было очевидно.
>>745147 А какой смысл учить язык, при этом не приучая себя к хорошему стилю? Даже если ты фриласишь, то можно подумать хотя бы о тех, кто после тебя будет с кодом работать.
>>745158 Да. Если я правильно понял, что ты про "только js" имел ввиду, что бекенд пишешь на нём, а не то, что ты делаешь авторизацию полностью на клиенте.
>>745149 Эту строку кинули в тред как пример решения задачи. Прекращай пукать в тред своими оправдосами. Реально так сложно тихо признать что ты не прав? В интернете за статус альфы в стаде никто не соревнуется, почему тогда есть ссоры если есть анонимность?
Короче, пришёл с собеседования. Но итт наверно это мало кому поможет, потому что: 1) Иду я просто стажёром фронтендером на лето, а не полноценным джуном 2) Мне сказали, что в компании почти нет фронтенда и они его только начинают развивать. Кроме пары стажёров из чистых фронтендщиков только одна верстальщица, лол. По жсу спрашивали про прототипы, про apply, bind, call, области видимости функций, AJAX и сопутствующие вопросы. По вёрстке вообще всего пара вопросов. Сказали, что ПЕРЕЗВОНЯТ сообщат на следующей неделе о результатах.
>>745174 Я конечно нихуя не шарю (т.к нуб), но при собеседовании по принятию на работу фронтендером нужно обязательно по телефону или скайпу общаться? Я всегда думал что тебе в чатике каком-то вопросы задают, потом какие-то задания высылают, если сделал - то думают, если нет - то идешь нахуй. Как-то так.
>>745175 Можно ставить и убирать куки при авторизации/выходе и проверять ей наличие на странице, в которую должен попасть после авторизации. Но это всё костыли, конечно, потому что хуй знает, зачем тебе полноценный сайт с авторизаций и при этом всё в браузере.
>>745183 а бэк у них на чем? Просто есть несколько знакомых бэков - те плюются на js, а на верстку так вообще без слез не глянешь. Такие хер нормально научат чему.
>>745179 Тестовое задание могут выслать после того, как ты своё резюме пришлёшь и ты им понравишься. Там на стажировку тестовое задание у них на сайте было выложено и нужно было его присылать вместе с резюме.
"История из соседней компании. Lead .NET разработчик усмотрел проблемы на front-end. Он решил, что у UI-проекта неправильная архитектура и технический долг, поэтому он пошел наводить там порядок. В итоге стало еще хуже, чем было, потому что JavaScript-приложение он создавать не умел.
Я думаю похожая ситуация могла бы произойти, если бы JavaScript-разработчик полез в C#. Разница в том, что .NET разработчики считают, что смогут корректно поправить JavaScript/CSS, а front-end разработчики знают, что им в C# лучше не залезать и они не лезут."
>>745184 После авторизации пользователь попадает на страницу, которая выводит показания с различных датчиков и видео с камер наблюдения(охуенные у меня планы, знаю). А перед тем как запилить такую страницу решил начать с простого и, выходит, подъобосрался. А в ангуляре/реакте есть такая возможность?
>>745193 >А в ангуляре/реакте есть такая возможность? За ангуляр не скажу, но сильно сомневаюсь. Реакт вообще фреймвор для написания интерфейсов по большей части. Делать авторизацию на клиенте вообще самая хуёвая идея, которую я встречал. Безопасности по факту вообще нет.
>>745045 >Там вроде || стоит, а не &&. Не, я шутил про >"Одно из значений — не число!" Ведь условие будет верным (и правильно) и если оба не являются числом.
>>744830 Кстати, а не было бы логичее сделать || "0"? Ведь ты его всё равно со строкой складываешь, и так яснее, что тебе нолик в качестве строки нужен, а не числа.
Проблема. Буду рад, если кто сможет объяснить или помочь найти причину или хоть что-то сказать.
Есть http сервер на ноде, который включает в себя youtubeStreamer ( https://github.com/licson0729/node-YouTubeStreamer ), который крутится в одном месте. Вся его внутренняя магия сводится к вот этому: >request(stream.url + '&signature=' + (stream.sig || stream.s)).pipe(res); где res - запрос из оче далеко расположенного места за великой огненной стеной с не очень хорошим интернетом.
Собственно, проблема в том, что в некоторые периоды все видео, которые я пытаюсь загрузить, загружаются почти до конца, но в самом конце, когда полоска буфера уже почти в конце, внезапно всё обрывается, а на сервере это: stream.js:94 throw er; // Unhandled stream error in pipe. ^ Error: read ECONNRESET at exports._errnoException (util.js:746:11) at TCP.onread (net.js:559:26)
(Если сервер сам с себя что-то будет качать, никаких проблем, разумеется, нет.)
Если же стримить видео не с ютуба, а просто локальное >createReadStream("video.mp4").pipe(res) то такой проблемы не наблюдается (по крайней мере, за те несколько раз, что успел проверить, при этом запущенное в это же время видеос с ютуба обрывается).
Повторюсь, проблема случается не для отдельных видео, а для отдельных продолжительных периодов. И то же видео позже можно нормально посмотреть. Но если проблема появилась, нельзя посмотреть ни одно видео, все обрываются в конце.
Ничего дельного в голову не приходит. Банальный разрыв связи не катит - почему всегда исключительно в конце? Что там такого происходит? Ведь tcp гарантирует порядок, поэтому не может вдруг сообщение о конце прийти раньше последнего куска данных.
В общем, буду рад любой помощи или подсказке. Даже не знаю, с чего дебаг начать, ведь там и кода-то "моего" нет, просто пайпится реквест.
>>745207 Авторизация же обычно серверная. Логин/пароль шлются на сервер -> сервер проверяет -> отдает токен -> юзер сохраняет токен в куки При каждом запросе кука сервером ищется в базе, если токен там есть - юзер авторизован Это самый популярный способ, есть ещё jwt, где сервер отдает подписанный токен, но не хранит его, а только проверяет подпись токена
>>745262 Я себе примерно так же это представляю. С этим разобрались. Теперь у меня более менее сложилась видимость механизма пропуска/отсеивания всякого рода посетителей. Спасибо.
>>744057 Cмотри сюда: a = document.getElementsByClassName("post-wrapper"); for (var i = 0; i < a.length; i++) { a.onclick = function(){ alert("jopa"); } } Можешь заранить в консольке, здесь на двачах и покликать по постам и порадоваться.
>>745354 Аноны, посоветуйте плз какая библиотека может проверить цвета по оттенкам. Ну например мне надо чтоб (if color = 'red') давало тру когда в переменной color записан любой оттенок красного а не только ff0000
>>745397 Переводь цвет в HSB и проверяй на каком промежутке hue, а ещë не ниже ли saturation и brightness какого-то значения, ниже которого всë стаëт серым.
бля, это пиздец какой-то этот игровой фреймворк, я ахуеваю текстуры какие-то, эвенты мышки с хуй пойми каких координат берутся, нихуя не понятно, как можно в одиночку с нуля во всем этом разобраться и не двинуться крышей. вы совсем ебанутые, программистишки? что-то сложнее веб-странички это уже пиздец какой-то. неудивительно что вы все женитесь на старых жирухах разведенках с прицепом и пидорах с отрезанными членами, вы же ебанутые.
>>745521 >что-то сложнее веб-странички это уже пиздец какой-то. Погоди, погоди. Ты даун, понять ничего сложного не можешь, а ебанутыми оказываются программисты?
>>745708 Мне нужно взять данные из ячеек html таблицы, склепать xml по определенному шаблону и вставить данные из html таблицы. Решение из stackoverflow мне в целом подходит, но проблема заключается в том, что нужна полная изкоробочность, а в html файле не будет подключен jquery.
>>745718 Ну возьми да подключи, в чём проблема-то, блин? Ты ведь код куда-то со стаковерфлоуд вставлять будешь, так вставь туда и загрузку жквери. Ну или переводи все представленные операции с жквери в ванильку, там оно только для выделения элементов и используется.
>>745721 Да не во мне дело, я-то подключить могу. Через этот скрипт будет дохуя других html документов проходить, при чем к этим документам подключить jquery уже не смогут ибо блондинки боятся стены кода.
>>745732 > я-то подключить могу Блядь, а кто ещё-то будет скрипт писать?! Нахуя блониднкам вообещ код видеть? Ты для того кнопочку "скочать" и делаешь. Я тебе уже сказал, что делать без жквери. Суть всего ответа со стаковерфлоу: 1. Сделать шаблон с какими-то, на мой взгляд, кустарными "?key?" 2. Собрать значения 3. регулярочкой впихнуть значения вместо этих "?key?"
Там выше кто-то кидал ссылочку на торрент по вопросам к интервью. Я хоть и ньюфаг и не готовлюсь к интервью, но глянул и там совсем уж база даже для меня. Так что не рекомендую
>>745787 так-то похуй. Но без var присвоения не будет на этапе инициализации. И если ты заюзаешь ее нечаяно до присвоения-пососешь хуйца. Ну плюс коллеги будут над тобой смеяться и унижать тебя.
>>745787 объявление без вар, если такой переменной не определено выше по скоупу, запишет переменную в глобальную область. А в строгом режиме, если не ошибаюсь, оно вообще вбросит референс еррор.
>>745817 А объясните по-хардкору, зачем вообще сделаны стрикт и не стрикт режимы? В перле тоже подобная хуета есть, но остальные же петун как-то живут нормально и без этого.
Бля, когда я писал, вот это сообщение >>745776 то я думал что вопросы которые там размусоливаются очевидны даже ньюфане, но судя по последним вопросам про use strict у меня изменилось мнение. Можете тот торентик смотреть походу
>>745923 Я намекаю на то, что >зачем вообще сделаны стрикт и не стрикт режимы? Strict mode makes several changes to normal JavaScript semantics. First, strict mode eliminates some JavaScript silent errors by changing them to throw errors. Second, strict mode fixes mistakes that make it difficult for JavaScript engines to perform optimizations: strict mode code can sometimes be made to run faster than identical code that's not strict mode. >причина, по которой нельзя было было сделать этот стрикт дефолтным и единственным. Browsers not supporting strict mode will run strict mode code with different behavior from browsers that do, so don't rely on strict mode without feature-testing for support for the relevant aspects of strict mode. Ну и Third, strict mode prohibits some syntax likely to be defined in future versions of ECMAScript.
Короче стандартом это станет энивей, поэтому лучше привыкать сейчас пока это опционально.
>>745943 Первые два не являются ответом на мой вопрос. Был бы только стрикт, все браузеры бы его поддерживали, потому что, ну, это был бы просто жс. Я просто ошибочно полагал, что этот стрикт был всегда.
блять, анон, поясни за замыкание у меня есть функция, например function foo(){ var a = 10; <...> } я хочу создать аналогичную функцию, только чтобы а был 15. Как это сделать без параметров?
>>746010 Прочитал, но там вроде написано что такая ошибка возникает при "одной десятичной", а у меня toFixed(2) стоит, хуле тогда интерпретатор выебывается?
>>746114 Я охуенный разработчик с опытом и зарплатой, а ты - нелепый школьник, который выебывается на анонимном форуме знанием метода bind, когда про него никто не спрашивал. Уебывай.
Охуенный блять сайт. Дают задания с применением каких-то min, max, при этом в теории об этом ничего не пишут (как применять, где), а задание при этом люди должны выполнить, найс.
Объясните, пожалуйста. Надо посчитать сумму всех зп. Вот решение.
"use strict";
var salaries = { "Вася": 100, "Петя": 300, "Даша": 250 }; var sum = 0; for (var name in salaries) { sum += salaries[name]; }
alert( sum );
Что здесь происходит? Объявляем числовую переменную sum, потом внутри цикла объявляем переменную name и проверяем на наличие подходящего ей свойства в salaries. Что? Как? Я ничего не понял. Мы перебираем salaries на наличие чего? У salaries нет свойства name и свойств вообще, соответственно должна создаваться структура, подходящая для name. Но как тогда name понимает, что нужно брать именно числа? Что вообще есть "структура, подходящая для name?", как вообще name обязывает к какой-то структуре. Помоги, анон, тебе вряд ли это сложно. Хотя бы почему берутся только числа.
>>746165 Где применять? ну вот я например писал примитивного бота для одного сайта. Там мне необходимо было сделать выборку рандомного элемента из массива. Таким образом пригодилось на практике это задание (выбрать целое из интервала, ибо интервалом в моем случае были элементы массива: первый под номером 0, а последний array.length - 1.)
>>746183 посмотри интенсив базовый по js от htmlacademy - там разжевано подобное (хотя и у Кантора как по мне норм) может после него не будет вопросов подобных
>>746184 Эта задача как раз из объекты как ассоциативные массивы. >>746183 Ок. Почему - не понял, но посмотрю интенсив кстати не видел его когда был там в последний раз.
Этот тред посвящён главному языку будущего - 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
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.