Вы видите копию треда, сохраненную 2 июня 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Этот тред посвящён главному языку будущего - 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/ для серверного кода.
У меня есть список с городами и маркеры на гугл карте.
Функционал весь готов, но мне нужно еще чтобы города выбирались не только по клику на маркеры, а еще и по клику на соответствующие города.
Как запилить на реакте?
Маркеры не имеют классов или айдишников.
Как реактом связать конкретный маркер с конкретным li?
Выдай маркерам айди.
Иметь один источник данных и для списка, и для маркеров.
За щекой.
Собираюсь делать простенькую мультиплеерную игру на жабоскрипте с нодом и сокет.ио. Всë это уже поставил как и локалтунел.
Вопрос: как генерировать отдельную комнату с игрой по требованию и как запретить подключение другим клиентам к этой комнате?
Как ты с такими знаниями собираешь что-то делать? Далеко не уедешь, гарантирую.
Сделать можно сотней способов, самое просто - привязать к комнате список разрешенных пользователей.
Ты шутишь? Хуилиардом способов.
Опять же, самое простое - комната будет просто жс объектом с описанием. По эвенту создания комнаты ты его делаешь, и запихиваешь в список комнат (базу?). Советую начать с чего попроще, реально, по-дружески.
Ты архитектуру разработай сначала.
>>741870
Содержимое беру из модели в ангуларе:
var message = $scope.message;
Сразу получаю целую строку.
Ну я уже клепал свистоперделки-парсеры и членолепы на е2, недоDF на жабоскрипте и задачки разные. У меня нет фантазии на хорошие решения, вот я и спрашиваю, с самим языком вроде пока нет проблем.
Ну ты либо иди лезь и смотри где ангуляр форматирует тебе строку, либо жди тех кто работает с ангуляром. Только вопрросы полноценно формулируй. У тебя проблема не в поле ввода, а в твоем фреймворке.
Хорошо, буду рад, если кто пояснит как это делается в ангуларе. На крайний случай, на ваниле решу проблему.
Только что проверил, ангуляр тоже сохраняет переносы строк. Так что у тебя проблема где-то в другом месте.
Во-первых ты сам сказал, что ты 99% ньюфаг, с таким скиллом ты не напишешь вообще ничего нормального.
Во-вторых для хороших решений не нужна фантазия, а нужно знание и понимание различных архитектур/паттернов/других решений.
В-третьих, ты не спрашивал "хорошее" решение, и как я понимаю, у тебя вообще нет никакого понятия и даже какого-либо средненького решения для твоей задачи. Если бы ты пришёл, и сказал, "пацаны, я сделал вот так, а как можно лучше?", тогда да, но ты пришёл с супер тупым вопросом, который звучит почти как "ребзя, а как мне игру написать, азаза?!?"
Хмм. Смотри : https://jsfiddle.net/pqa5e3e1/. В сокете я получаю сообщение с переносами, заношу в объект сообщение и засовываю в массив сообщений. До момента отображения во View всё ок, но на самой странице отображает всё в строчку. Втф?
Так всë и было. Не понимаю, почему ты так настроен.
Словно тебе сложно выразить своë недовольство присутствием неофита в твоëм любимом треде без простыни текста.
*из
Да, решение у меня было. Я собирался сделать процедурную выдачу новых страниц с проверкой хеша пользователя или банальным отказом сокета, чтобы можно было без лишних пристроек наблюдать за чужой игрой
Т.е просто интересно сложно ли это будет для вас или нет.
print "2,3,5,7"
Тебе же давали решение в прошлом треде. Вообще здесь только одна "сложность": необходимо применить паттерн "если в цикле чего-то не случилось, то". Это решается либо лабелом (пикрелейтед), либо переменной-свичом, либо проверкой на последнюю итерацию внутри цикла.
Нихуя не понял че ты написал.
По моей логике:
Если browser равно "Chrome" или "Firefox" или "Safari"... то
>По моей логике:
>Если browser равно "Chrome" или "Firefox" или "Safari"... то
Нет, по твоей логике (буквально):
Если ( browser == "Chrome" ) или ("Firefox") или (...) уже не важно что там дальше, так как строка "Firefox" всегда распознаётся как true.
при сравнении == строка может преобразоваться в число, но не в булево значение, вроде как.
То, что ты хочешь сделать, записывается так:
if (browser == 'Chrome' || browser == 'Firefox' || ...)
>>741953
Может она не сложная в плане реализации, но как по мне (для такого нуба как я, который только начал изучение) - сложная в плане понимания.
В школе обычно на уроках информатики учат базовые алгоритмы типа ветвление, циклы. И еще на паскале порой пишут. Мышление должно было поставиться.
Ну в этом уже никто не виноват, кроме самого человека
Решето эратосфена, хех
>без всяких функций
А что функции? Это не магия, это просто возможность переиспользовать код. Ты можешь тело функции прямо в лупе и писать, или просто копировать тридцать раз, если надо.
Да и сама задача не подразумевает ничего, кроме двух вложенных циклов.
Представь, что ты полицейский, и тебе нужно найти всех злоумышленников, сидящих в зале. Примета: последняя цифра в паспорте равна номеру ряда, в одном рядом может быть не больше одного злоумышленника.
Что ты будешь делать? Пойдёшь к ряду №1, начнёшь у всех проверяоть паспорта. Как только дойдёшь до конца ряда или найдёшь злоумышленника, перейдёшь к ряду №2. И так далее.
Ловите питониста.
Нафиг это говно. Они внезапно поменяют что-то у себя и в твоём проекте отвалится здоровый кусок. Комнаты и каналы надёжнее делать вручную.
Спасибо! Попробую с румами
Поменяют механизм румов? Это слишком базовый концепт, румы у них на уровне id сокета, io.to(room).emit(), io.to(id).emit() - этот интерфейс никуда не денется. А во-вторых, тебе не обязательно обновлять рабочую версию.
>Поменяют механизм румов? Это слишком базовый концепт
> Rooms and Namespaces
> Migrating from 0.9
lel
>Migrating from 0.9
Сейчас версия 1.4.5.
И почему ты проигнорировал
>тебе не обязательно обновлять рабочую версию
?
С чего бы это ПРОСТО перестанет что-то работать?
Какая еще киллер-фича, если все, что нужно от socket.io это механизм доставки и реагирование на сообщения?
contains через indexOf >=0
А indexOf колотит намного больше вещей, чем нужно чтобы просто проверить всë из массива по лупу.
Может я ошибаюсь. Скорее всего так и есть, ведь если бы это было хуже простого лупа, это бы не делали.
>contains через indexOf >=0
Нет, он через _.indexOf.
Код-то читал? Вот я тебе вырезал необходимые вещи -> http://pastebin.com/9FXpkEE3
Конечно, в _ присутствует оверхед в виде несколько условий и чистый луп действительно будет быстрее, но это микроскопическая разница, зато можно разного типа объекты туда бросать.
Да, наверное ты прав, пара сопоставлений много времени не заберëт.
Скорее так.
Деньгами лучше мерить. Есть кто заплатил за твой код? Джун. Платят стабильно? Миддл. Очень много? Сеньор.
Не неси чепухи, джун, миддл и сеньор это степени квалификации, а не уровня оплаты.
А при чём тут косметика?
Подводный камень в том, что я уже обосрался на одном собеседовании, потому что чего-то не знал, что-то просто вылетело из-за волнения. Есть какие-нибудь статьи с самыми частыми вопросами на собеседовании? Кроме того репозитория в гитхабе, его уже нашёл.
Потом напиши что спрашивали
Есть ли возможность к контекстному меню (райтклик) определённого элемента добавить дополнительный пункт?
Можно написать свой райтклик с шлюхами
Такие вопросы обычно гуглу задают.
Лол, ну понятное дело, что отображается в строчку, тебе же надо это распарсить как-то, вставить <br> вместо переносов строк и т.д. Ты вообще этот момент пропустил штоле, кек?
Мы тут про соответствия. Определения и так все знают.
Просто я о том, что можно надрачивать эти задачки до бесконечности, к опыту в реальных проектах это имеет весьма посредственное отношение. А вот зп и деньги вполне могут отражать твой уровень, кто бы что там не кукарекал. Профессионалов за еду я видел мало, хоть и такие есть.
А есть ли функция которая делала бы тоже самое но только для вызова функции с конкретным набором аргументов?
Т.е. если я вызываю f(a) она отрабатывает и вешается куллдаун не на всю f, а конкретно на вызов f(a).
Сори за нубовопрос.
Удвою
Я не очень хорошо разбираюсь в js, но надо внести изменения в уже готовый скрипт. Ладно, попытаюсь сейчас почитать и разобраться как оно работает, благо вся ночь впереди.
Переопредели эту функцию где-нибудь выше, а старую присвой в переменную в замыкании новой функции.
Есть художественные фильмы про js?
Желательно экшен какой-нибудь, ну или социальную драму.
Я забыл название. Там чувак спрашивает: "что лучше - знать или быть?"
Учти только, что если кто-то будет вызывать эту функцию и ожидать от неё того же результата, то это надо учесть.
Психологическое кино TypeScript, боевик со Стэтхэмом Vanilla.js, порно с копрофилией CoffeeScript, порно с некрофилией Dart и комедия с пошлым юмором LiveScript.
Спасибо.
D3.
Это про linked lists
Нормальные классы, код красивее и понятнее. Стандартная библиотека лучше.
Также вроде можно юзать, не?
Красивее, нормальные, понятнее, лучше - это все субъективные понятия.
Факты приводите же.
Что значит - нормальные классы?
Чем лучше стандартная библиотека? Что в ней есть чего нет в js?
Красивый и понятный код - это вообще не аргумент.
>Нормальные классы
ООП в жс и питоне идентично. Везде говно, потому что нет приватных методов и интерфейсов.
>код красивее
Кому как. Не все любят отсутствие скобок.
>Стандартная библиотека лучше
Не лучше, а больше. Это не одно и то же.
Да хееер знает...
Ты пробовал писать что-то крупное на питоне? Мне вот ощутимо мешало у него отсутствие "end" или закрывающей }. После крупных блоков непонятно, где продолжать писать. Ну а с копипастой там вообще кошмар.
Нахуя вар?
Ты уверен, что ты знаешь всю станадартную библиотеку js, учитывая что она зависима от окружения?
JS всё-таки заточен либо под браузер, либо под сервер, а не под десктоп.
бля, делай ты отступы.
Да хз, я плохо их знаю. И что вообще такое "стандартная поставка" у JS?
p.s. Тут можно вот что сказать: большинство либ ноды - асинхронные. Но для тулз и утилит асинхронность нафиг не сдалась и только усложняет код.
Окружение.
JS есть в окружении браузера, и там у него очень гораниченная песочница по работе с локальной машиной, но достаточно много объектов BOM.
Есть нода. И там нет BOM, но и нет песочницы.
А есть nwjs\electron что суть node+browser
И там есть и BOM и нет песочницы.
Ну вот. А можно просто поставить питон 3.2 на комп и создавать .py-файлики, которые будут запускаться по двойному клику и что-то делать даже без загрузки дополнительных яиц.
Разумеется плюс.
Зачем тебе в ноде по дефолту объекты для работы с домом или svg? но если понадобится подтянешь модулем, не страшно.
С другой стороны, если бы их пришлось подтягивать модулями в бразуере, было бы уже хуеевее.
Все мечтатели о том, что их любимый язык перенесут в контескт браузера и он вытеснит js всегда вежливо забывают о том, что в этом случае их любимый язык лишится своей стандартной бибилиотеки, и от нее останется лишь то, что позволит окружение.
Песочница это не беда языка.
Можно скачать один единственный исполняемый файд node и запускать файлы .js без необходимости подгружать что-то.
В чем дело?
Я делаю.
А, ну так и пиши, что ты стадный зверек, без собственного мнения.
Петон медленный и не асинхронный. Да, я знаю про асинкио, но там код писать надо вверх ногами, выйдет сложнее, чем в жс
>большинство либ ноды - асинхронные
Есть синхронные альтернативы множеству встроенных методов.
Есть промисы и генераторы.
>только усложняет код
Вопрос восприятия.
Скрипты аля bash, взывающие другие приложения, получающие результат и обрабатывающие его, передающие дальше, и потом что-то выводящие, очень удобно писать в асинхронном стиле.
Алсо, есть событийная модель.
Это не вопрос по JS. Гугли box2d, его js-порт ведёт себя аналогично.
Ващет vanilla es5 - порно с копрофилией, coffee - вестерн, а es6 вот уже боевик.
http://learn.javascript.ru/recursion#степень-pow-x-n-через-рекурсию
фикс: довел своё*
>Есть промисы
Ну а что эти промисы? Это же те же коллбэки, только в профиль.
Вместо func(a, function(){}) ты пишешь func(a).then(function(){})
Нельзя написать просто и последовательно:
>img = loadImg(url)
>img.crop(1,2,3,4);
Не поверишь, вот только вчера вечером сидел составлял лист интересных проектов, чтобы интересно писать было, с рест апи само собой, ангулар на клиенете и чтобы гитхаб потом показать не стыдно было. Сижу, значит, составляю и думаю: сам реализовывать не буду, приберегу идеи для сосаки, там, наверное, будет какой-нибудь хуй анон, который решит вкатиться в ноду, запросит ему идей на проекты, и тут я такой ему на нахуй! -- выдаю интересные проекты. Это я всё к чему, морской бой пиздуй писать.
reactjs vs angular2 ve vue vs ember vs jquery vs говно ?
Я бы Angular из-за Typescript выбрал, поскольку Javaблядь и мне с ним комфортно.
> красивый и понятный - не аргумент
Садись за малбож писать, функционал там не меньше чем у С
Двачую
>а 3 заменить на let
Ничего не даст, внутри function let и var ведут себя одинаково.
>>743053
Понятно все с тобой.
> внутри function let и var
Дегенерат, плз не пизди. Еще не хватало чтобы такие как ты плодились из-за посеянных тобою заблуждений.
Область видимости let -- блок, а вар -- функция.
function lel () {
{
let a = 1;
var b = 1;
}
console.log(a, b); // тут будет виден b, а а нет
}
Внутри функции их поведения не меняется. Да, функция открывает новый блок, но var будет вырываться из блоков любой вложенности внутри функции к самому верху, а let нет.
Я повторю, не плоди заблуждения.
Если запырку отравить, то она сразу начнет пускать пузыри.
1. если запырка пускает пузыри, то она была отравлена;
2. если запырку не отравить, то она не будет пускать пузыри;
3. если запырка не пускает пузыри, то она не отравлена.
Вот тебе задачка из теста на логику, правильный ответ под цифрой три. Иди и попробуй понять, почему это не 1 и не 2, а потом осознай, что ты агрессивный долбоеб и тебе следует избавить мир от своего присутствия в нем.
Но он был прав, а ты злишься на него из-за того, что он указал на твою ошибку.
Спасибо
Но нефига не могу въехать в вашу кухню. Столько библиотек, фрамеворков - просто пиздец. Читаешь какую-то книгу, статью. Потом читаешь хабр, а там пишут, что ты лох, это уже всё устарело - юзай другое. ES6 уже отстой и т.д. Блять, как я всё это изучать буду? Пока что-то читаю, всё устаревает нахер.
Где-то пишут, что Gulp и Grunt уже не нужны, типо есть Webpack. Кто-то пишет, что нет, они их всё ещё юзают.
И это только пример, со всех щелей идёт разная инфа. В node.js с её промисами вообще чёрт ногу сломит. Вышла новая Нода недавно, дак там есть функционал, который сломате старый код. Блять, ну как я так учить всё это буду?
При скроллинге смотреть сколько пикселей осталось до конца страници, если меньше скольки-то - вызывать подгрузку
Нахуя ты тогда вообще лезешь и руководствуешся хайпом, когда не разбираешся в основах?
Например,
>Где-то пишут, что Gulp и Grunt уже не нужны, типо есть Webpack. Кто-то пишет, что нет, они их всё ещё юзают.
Если бы ты понимал зачему нужен и первый и второй и третий, то таких бы вопросов не задавал.
>Это же те же коллбэки
Нет. Коллбэк ты должен объявить тут же, а в случае промиса, then может быть где угодно далее по коду.
Я так и делаю, но суть в том что при таком подходе функция вызывается до того, как в DOM успели загрузится новые элементы
А как они могут подгрузиться без вызова функции?
Подгружай тогда на 500px, например, а отображай на 100px
Каких тебе подробностей.
Что не ясного в автоматическом генерировании.
Когда классы не назначаются в ручную, а присваиваются автоматически, в зависимости от описания компонента.
И что можно почитать на тему?
Хайп уже давно прошёл. Я просто сделал выводы, что по моим запросам мне подходит данная технология. Я выбрал направление. Теперь хочу всё познать. Но пока разбираюсь в чём-то, оно может быть уже устаревшим. И например, не работать в новой версии node.js
Я знаю, зачем нужен Gulp, Grunt. Но часть функционала реально и Webpack может заменить. А там и плагины тоже есть. Можно написать и свой. К любому из них.
Мне нужна инфа, что сейчас актуально. Только и всего.
Я не фрилансер. Ты чёт не понял походу. Мне нужно после того как данные подгрузились вызвать функцию.
>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.
Вот ты и гугли.
Если не понимаешь чем ГЕНЕРАЦИЯ отличается от ОБФУСКАЦИИ
Если тебе нужно работать с подгружаемыми данными, то зачем тебе отлавливать скроллинг? Отлавливай подгрузку самих данных же. Ты что какой странный.
Учи то с чем хочешь работать. Если будешь гнаться за тем что актуально сегодня, не угонишся за тем что станет актуально завтра.
Дебилёнок, как они по твоему обращаются к классам, если их имена ещё не сгенерированы? Никак. Иногда лучше молчать, чем пиздеть о том, в чем вообще не шаришь.
У них есть нормальные имена классов, типа "button" "button_red", которые обфусцируются в такую херню. Т.е. они не просто юзают модули для неймспейсов, но ещё и для обфускации.
Обосрался - обсыхай.
Ты читать не умеешь же, да?
> replaces every local-scoped identifier with a global unique name (hashed from module name and local identifier by default) and exports the used identifier.
Что тебе понятно, даун? Что тебя макнули в говно?
>Обфуска́ция (от лат. obfuscare — затенять, затемнять; и англ. obfuscate — делать неочевидным, запутанным, сбивать с толку) или запутывание кода — приведение исходного текста или исполняемого кода программы к виду, сохраняющему её функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции.
Вот тебе из вики цитатка, ты ведь у нас читать-то умеешь.
Инстаграм именно это и делает. Есть исходные классы, они приводят их к неочевидному виду, сохраняющему функциональность и затрудняющему анализ (парсинг).
Ты тупое хуйло.
>не работать в новой версии node.js
Когда что-то такое выпускают, то помечают отдельно и тщательно продумывают способы сглаживания перехода. В том же стандарте екма и первых спеках дом левела до сих пор остаются баги, которые разрабы не правят из-за кучи написанного легаси кода.
Тащемта на сайте ноды даже две кнопочки сделали, одну для рекомендованной версии и одну для "суперсовременной".
И да, я очень надеюсь что ты охуенно разбираешся в основах JS/nodeJS, плюс написал что-то свое, потому что начинать учить ноду с последней версии или JS с ES6 - мягко говоря, не лучшая идея.
Мне понятно, что ты совершенно недалек, чтобы понимать разницу между обфускацией и автоматической генерацией.
Ну, а по твоей манере общения, собственно, и так видно, что ты совершенно печальный персонаж, да.
По делу сказать нечего, петушок? Ну ясно, пиздуй давай.
После обфускации уже сложно сказать, юзают они бэм или нет. Могут и юзать.
Алсо, одно другому не мешает вообще.
>После обфускации
Блядь, школьник, тебе же черным по-русски написали, что там кодогенерация, перестань пороть свою хуету.
>кодогенерация
>автоматической генерацией.
Бля, так проигрываю с этих долбоёбов.
АВТОМАТИЧЕСКАЯ ГЕНЕРАЦИЯ АХАХАХ
Ни разу ксс модули не юзали, и что-то пиздят, я ебал.
Ты точно ебанутый, каким раком ты тут компилятор приплел, поехавший?
Хватит вилять, пока ни одного внятного предложения от тебя не услышал, кроме кукареков "ГЕНЕРАЦИЯ!! ВСЁ АВТАМАТИЧЕСКИ!". Тупой даун.
Это всем адекватам уже давно очевидно должно было стать.
Иди на домашнюю страничку проекта и прочитай Why.
Тебе всё верно же люди объясняют. Давай я попробую, без наездов, может тебе легче так будет:
1) Есть набор неких ксс классов с правилами (ксс модуль). У классов понятные названия, чтобы программист понимал что к чему относится.
2) Затем эти классы используются в коде. Программист, например, пишет: <div className={props.error? : "error" : "ok"}>div text</div>
3) В коде есть импорт ксс модуля, соответственно при обработке кода вебпаком класс error заменяется на что-то.
4) В вебпаке используется некий обфусцирующий модуль, который не просто добавляет хэш, типо "error_x8a8d8gf", а заменят полностью название класса на хэш.
5) Делают это для наивной защиты от парсинга, а также для уменьшения конечного хтмл кода (тоже не сильно влияет, но почему-бы и нет).
Да, хэш генерируется автоматически, как ты любишь говорить, но названия классов полностью заменяются именно для обфускации. Т.е. по сути происходит обфускация с автоматически генирируемым хэшем. Ещё раз повторю, обфускация. Понял?
Забей на него, он дебил. Но пока есть такие дебилы, нам хорошо платят.
var listener = new Box2D.b2ContactListener;
Uncaught cannot construct a b2ContactListener, no constructor in IDL
Подскажите ресурсы где можно шитимель страница брать для тренировок JS, чтобы не ебаться с вертской самому. А взять готовый шаблон и его дополнять.
Спасибо.
Олег?
В течении дня кофе? Или чайчик с сахром? Если первое, то я практиковал. Потом моча воняет говном и кожа хуёвая становится. И это не от нескафе параши, а от свежемолотой хуйни сваренной на плите. Боюсь представить себе, что будет если пить растворимую дрянь, нос, поди, через месяц отвалится и ослепнешь нахуй. Но моча и кожа это пол беды, через пару недель такой хуйни, брат начинает хворать люто и потом функционировать не можешь без кофе нормально. Хуже сигарет, ей-богу.
Под Джаз заебись пишется.
Охуенно пишется под Русский Рэп.
В итоге запилил костыль через offsetHeight
> then может быть где угодно далее по коду.
Да какая разница? Где бы там его не пришлось объявлять, это тот же коллбэк. Даже в самом же описании промисов их вызываемые функции коллбеками называются (ну а чем ещё их назвать-то?). Я не говорю, что это плохо там или чего, всё норм и полезно, просто это никакое не противопоставление коллбэкам. А главное, что никакой помощи человеку, которому не нравится/не подходит асинхронный код, не даёт.
>>743298
img1 = loadImg(url1)
img2 = loadImg(url2)
img3 = img1.overlay(img2)
http://learn.javascript.ru/recursion#числа-фибоначчи
Ебался с этим заданием по числам Фибоначчи. Не стал делать, прочитал решение и забил. Хотел спросить вы вообще хоть раз это применяли в вебе? Просто только начинаешь изучать JavaScript, а тебе блять сразу такие задания дают...
Числа фибоначчи вообще нигде в мире не используются, кроме как в примерах по рекурсии. И это супер убогий пример для демонстрации рекурсии.
А рекурсия в целом используется постоянно и везде.
Согласен, но без него понять рекурсивный поиск по дереву достаточно сложно.
Просто такие же задания я могу решить циклом, а рекурсией нет.
Не понимаю как должен этот алгоритм у себя в голове представлять продумывать программу. По какому-то шаблону могу не думаю подставить рекурсию, а если что-то "свое" и новое, то уже не особо.
Обмажься эрлангом. Там нет переменных и циклов - только константы и рекурсии. Будешь такие задачки потом в уме решать.
Золотое сечение.
Просто вроде и пытаешься понять, разобрать, сидишь час и всё равно не можешь даже до начала решения добраться, потому что тупой. Очень сильно мотивацию убивает такая хуйня.
>5.toString() - ошибка
А 5..toString() - работает, лол.
Ты чушь написал, в общем. В JS, как и в Java, есть автораспаковка и автоупаковка. Тут не нужно эксплиситно превращать простые типы в объекты.
Для ООП - да, для ФП - без разницы, но лучше не надо.
Мотивацию убивает. Я демотивирован. Сначала хотелось а теперь не хочется ;( уиии.
Ты - биомусор, треш.
> Числа фибоначчи вообще нигде в мире не используются
https://en.wikipedia.org/wiki/Fibonacci_number#Applications
Что не так?
На самом деле, было бы довольно удобно. Я и сейчас пользую sqlite с нодой.
А как у монги хранится?
Есть таблица, хочу каждый элемент сделать кликабельным
Вот так работает
var variable = document.getElementById('test');
Но кликабельным полуается только первый элемент естественно
Пытаюсь так чтобы все:
var variable = document.getElementsByTagName('td');
var variable = document.querySelectorAll('.class');
нифига не получается. Я получаю массив элементов но они не кликабельные, ЧДНТ?
1) ты выбираешь не в массив, а в псевдомассив (коллекцию)
2) юзай делигирование
и естественно садись изучать основы языка
Основы самого чистого JS я знаю неплохо, ну во всяком случае по Кантору 70%, а вот DOM знаю хуевей некуда, он меня бесит дико, вот сейчас борюсь с собой.
Всем спасибо за ответы
О браток ещё раз спасибо. Нашёл делегирование у Кантора, то что доктор прописал.
Ты вообще в курсе, что такое SQLite и почему его так любят? Потому что эту БД можно юзать как fopen - без настроек, отдельных серверов (с оплатой за них) и прочего.
В проектах, которые не слишком часто пишут в базу (а на Node.js таких 90%) это идеальное решение.
Ну так юзай sqlite, в чем твоя проблема?
> В проектах, которые не слишком часто пишут в базу (а на Node.js таких 90%)
А вот тут я проиграл
Если у тебя есть авторизация, и у тебя больше 100 юзеров в день - sqlite тебе уже не подходит.
Ты в курсе вообще, чем отличается sqlite от mongo? Или пилишь проект, а потом будешь судорожно гуглить "почему sqlite такой медленный"?
Sequelize. Waterline течёт.
>Если у тебя есть авторизация, и у тебя больше 100 юзеров в день - sqlite тебе уже не подходит.
Что ты несёшь. Вход юзера - доли секунды. Я бы подумал ещё, если бы у меня было 100к юзеров в день.
>>744034
Есть такая штука, NeDB. Специально создана для ноды, Монга одним файлом как sqlite. Вот только я её никогда не пробовал в деле. Поюзайте и напишите отзыв. По бенччмаркам довольно шустрая.
Внешние модули ноды выполняются не в том же потоке, что и она.
Да
Что любовь может быть жестокой..
Не знать про существование побитовых операторов, это мда.
Как мне получить значение переменной за пределами 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] печатается в консоли. В гугле советуют отключить асинхронный запрос, но, как видно, это нихуя не помогло.
Больной ублюдок.
Никогда не мспользуй синхронный ajax.
Неужели ты не понимаешь, что пока у тебя происходит синхронный запрос заморозится все. Пользователь не сможет не нажимать тссылки ни открывать менюшки, ничего не сможет, блядь. А все потому что ты больной ублюдок.
Заверни, что тебе нужно в отдельную функцию, и вызывай ее, когда придут данные.
В таком виде как у тебя сейчас, только так: success = (data) => handleSuccess(data.resposne);
Блядь, я знаю разницу между синхронным и асинхронным запросами. Мне похуй заморозится там что-то или нет, потому что мне НУЖНО получить ответ в любом случае. Без этих данных и так нихуя работать не будет. Да и скрипт там небольшой. Так что на это похуй совершенно.
>async: false
А как jquery делает синхронный запрос? Это вообще возможно в JS? Или там какие-то костыли вроде бесконечного цикла с условием выхода?
Ну у тебя есть какое-то действие, предшествующие аякс гету, на кнопку там кто-то жмет или страница загрузилась. Так же ты определяешь действие по результату запроса, просто ниже пишешь функцию handleSuccess: function(success) { } и вызываешь её из аякс функции: succes:function(data) { handleSuccess(data.response) }; и по удачному результату, тебе в твой саксес хендлер придет нужная тебе инфа. Там уже её отображаешь или что ты там делаешь с ней. По такой же аналогии, как порядочный человек, делаешь handleError(error) {}; и вызваешь её из аякса error: function(data);
Вообще похуй какой там скрипт. Если у пользователя с dns проблемы и твой запрос у него зависнет, то у него страница перестанет реагировать.
Не пишут так блядь.
Есть сука промисы.
Есть функции.
Что тебе блядь мешает засунуть свой console.log(JSON.stringify(data)); в функцию, и вызывать ее в success
Привет.
XHR всегда имел возможность быть синхронным. Но он морозит весь поток в котором делается. То есть блядь совсем морозит весь ввод\вывод если делать синхронный запрос в главном потоке. Синхронный ajax можно делать только в воркерах.
Можешь код привести? Из описания я не понял что и как поправить в моём куске кода.
[code]
$.ajax({
url: req,
dataType: "jsonp",
success: ololo
});
function ololo (data) {
console.log(JSON.stringify(data));
}
[/code]
> dataType: "jsonp",
> success: ololo
По ходу, ты не знаешь, как работает JSONP. Ему колбек не нужен, он сам его вызовет.
Я спрашивал немного о другом. Как мне сделать, чтобы функция возвращала данные, которые я могу сохранить в переменной и использовать дальше в коде? Толку от того, что я могу как-то обрабатывать данные внутри фнукции handleSuccess? С таким же успехом я могу делать это сразу после success ещё в теле ajax запроса.
Ну так бы сразу и сказал.
http://stackoverflow.com/questions/905298/jquery-storing-ajax-response-into-global-variable
Выбирай любой.
b is not defined
Пен http://codepen.io/anon/pen/QNPzdQ
>В jquery коллбэком по jsonp передается success
Мы про один и тот же JSONP говорим?
В моём мире JSONP - это подгрузка js-скрипта и его автоматическое выполнение. Внутри этого скрипта может быть вызов функции, указанной в get-строке, например (если сервер генерит скрипт вручную). Это небезопасная технология, придуманная, чтобы обходить запрет на кроссдоменные запросы.
Выбрал самый популярный там. Возвращается null. И такое впечатление, что async: false не работает.
Да, про один и тот же.
Jquery в гет параметр на имя функции коллбэк подставляет свой success
Иди проверь сам.
Путина.
Лолблядь.
var user = {}
Это ни хрена не user это объект.
var stack = []
Это ни хрена не стек, это массив
window это ни хрена не окно, это объект
Ты поехавший что ли?
Scope == область видимости. То есть это либо функция, либо (с появлением let) блок, но никак не объект.
В js нет средств для рефлексии области видимости.
Ты ебучий софист.
Ты как там именуешь переменные естди у тебя по сути все почти объект блядь.
И да, var scope = {} это не объект, и не область видимости, и даже не твоя мамка. Это ссылка на объект. А именовать ссылки я могу как захочу, тебя это ебать не должно.
>ООП- PHP + MySQL- Javascript + HTML + CSS
И ебала типа "желание работать и развиваться, опыт работы будет плюсом". И понимай как хочешь.
Берут человека профессии ПРОГРАМИСТ чтобы ставил винду, чистил куллеры и удалял порнобаннеры с рабочего
Но вообще я серьезно. Что вообще надо уметь начинающему кодеру, что бы его взяли на самую черновую работу с пхп, JS и версткой?
Ты тоже разочаровался и сидишь в этом треде как будто умеешь программировать?
Я то понимаю. Но можно же сверстать страничку одной таблицей и тоже будет тебе верстка, лол. Вот по части пхп - ну не верю я, что в нем кроме самых базовых функций и соединения с БД больше ничего не нужно.
Тебе в пхп-тред.
Ты сможешь, например, crm-ку написать? Если сможешь, без особых трудностей представляешь алгоритм реализации, то для такой работки ты точно готов
>Ты сможешь, например, crm-ку написать?
А что она должна уметь делать? Показывать всякие текущие задачи и события? Показывать всяких манагерам что они должны сегодня сделать? Ну это же и есть в основном работа с БД и основными функциями в пхп. Если так, то что-то такое точно смогу сделать.
У меня такой вопрос.
Вот обычно замеряя производительность языков, выбирают какие-то задачи, которые в суть не отражают этой самой производительности должным образом. Обычно и чаще всего выбирают какие-то низкоуровневые бенчи, по типу числодробления например.
Мне кажется, что если бенчат высокоуровневые языки, то и бенчить надо что-то высокоуровневое. Начиная с инициализации объектов, обмена сообщениями и все такое прочее. Быть может даже не столько объектную систему, сколько уже компонентный уровень абстракции.
Ташемтам сам вопрос, есть ли такие высокоуровневые бенчи? И вообще что можно включать в такие высокоуровневые тесты?
Вообще бенчить высокоуровневые языки не из интереса - удел долбоебов.
Железо сейчас такие копейки стоит, что про байтоебство и извраты ради производительности среднестатистическому прогеру можно забыть. Гораздо важнее обгонять конкурентов по киллерфичам.
Ну, я пишу например, джаст фор фан, надстройку над js (транслятор в js). Ее суть в том, что в ней абсолютно всё есть объект и абсолютно всё может быть перегружено. Даже инициализаторы литералов.
То есть, конечно, в конечном счете простейшие операции разворачиваются в более длинные.
Потому у меня и возник такой вопрос по высокоуровневым бенчам, чтобы если вдруг что, поймать себя на том, что скорость проседает уже слишком.
Ну вот я так представляю - есть таблица в БД, типа BydloManagers. В ней айди, логины и пароли. Задачи можно сделать или же одной большой таблицей, и просто показывать по айди в завимости от даты конкретному манагеру, или же каждому дать по таблице. Админку для такого тоже проще простого можно сделать. Но блин, это же слишком тупо. Это не то что школьник, любой идиот с положительным IQ освоит.
На словах и в воображении всегда все кажется проще простого. Ты попробуй реализуй.
Джун
- собеседование
изъясняется исключительно на сленге (большую часть которого не может внятно объяснить), готов в одиночку за неделю написать новую ОС, или две - за полторы, если только для этого не придется учить ассемблер, несмотря на юный возраст уже обладатель прав на обе версии и один бэкап личного сайта с фотографией кошки в розовой рамке и знает, что синглтон - это абсолютное зло, хотя и не может написать его без ошибок.
- испытательный срок
долго мудохается с настройками рабочего места, которые регулярно слетают под тяжестью многотысячных плагинов, шелов и скринсейверов, донимает админов, находит две (орфографические) ошибки в документации проекта и один быстрый альтернативный способ сделать форк из SVN, после которого проект, к сожалению, не билдится не только у него, но и у всей команды. Берется все немедленно исправить с помощью другого чудотворного плагина, (неожиданный баг в котором приходится фиксить двум миддлам), после чего насильственно лишается рута, плагинов и шелов и начинает изучать проект под чутким контролем матерящихся миддлов.
- работа
научился билдить проект, писать тесты и коммитить, не роняя этим билд, понял смысл многих сленговых выражений, подружился с миддлами и админами, не путается в названиях ключевых технологий, радикально сократил число плагинов, удалил сайт с кошкой, работает.
Миддл
- собеседование
не глубоко, но уверенно знает ключевые технологии, разницу между абстрактным классом и интерфейсом и три-четыре вежливых ответа на вопрос, "сколько это может занять времени".
- испытательный срок
влился в проект и работает.
- работа
работает стабильно и продуктивно.
Синьор
- собеседование
указывает на ошибку в тестовом задании, предлагает два решения проблемы, над которой команда пыхтела последнюю неделю и альтернативный стек технологий, на который можно перевести проект
- испытательный срок
рефакторит проект, делает билд джун-устойчивым, по ходу дела пишет алгоритм для киллер-фичи, запланированной только на следующий квартал и под конец испытательного срока организует воркшоп, на котором представляет свои наработки "в свободное время" по переводу проекта на другой стек технологий, в которых уже реализована большая часть функционала следующего релиза.
- работа
пинками помогает команде в переходе на одобренный руководством новый стек, в чем его активно поддерживает джун, окрыленный тем, что теперь его накопившиеся косяки точно никто не заметит, переводит проект на новый стек, увеличивает производительность в два раза, через год переводит еще раз, периодически генерирует идеи новых продуктов, может пропасть на неделю и вернуться с новой фичей, а может уйти в накопившийся за несколько лет отпуск и больше не вернуться, т.к. случайно встретил старого знакомого, передложившего другой мега-проект с гига-зарплатой.
На словах и в воображении всегда все кажется проще простого. Ты попробуй реализуй.
Джун
- собеседование
изъясняется исключительно на сленге (большую часть которого не может внятно объяснить), готов в одиночку за неделю написать новую ОС, или две - за полторы, если только для этого не придется учить ассемблер, несмотря на юный возраст уже обладатель прав на обе версии и один бэкап личного сайта с фотографией кошки в розовой рамке и знает, что синглтон - это абсолютное зло, хотя и не может написать его без ошибок.
- испытательный срок
долго мудохается с настройками рабочего места, которые регулярно слетают под тяжестью многотысячных плагинов, шелов и скринсейверов, донимает админов, находит две (орфографические) ошибки в документации проекта и один быстрый альтернативный способ сделать форк из SVN, после которого проект, к сожалению, не билдится не только у него, но и у всей команды. Берется все немедленно исправить с помощью другого чудотворного плагина, (неожиданный баг в котором приходится фиксить двум миддлам), после чего насильственно лишается рута, плагинов и шелов и начинает изучать проект под чутким контролем матерящихся миддлов.
- работа
научился билдить проект, писать тесты и коммитить, не роняя этим билд, понял смысл многих сленговых выражений, подружился с миддлами и админами, не путается в названиях ключевых технологий, радикально сократил число плагинов, удалил сайт с кошкой, работает.
Миддл
- собеседование
не глубоко, но уверенно знает ключевые технологии, разницу между абстрактным классом и интерфейсом и три-четыре вежливых ответа на вопрос, "сколько это может занять времени".
- испытательный срок
влился в проект и работает.
- работа
работает стабильно и продуктивно.
Синьор
- собеседование
указывает на ошибку в тестовом задании, предлагает два решения проблемы, над которой команда пыхтела последнюю неделю и альтернативный стек технологий, на который можно перевести проект
- испытательный срок
рефакторит проект, делает билд джун-устойчивым, по ходу дела пишет алгоритм для киллер-фичи, запланированной только на следующий квартал и под конец испытательного срока организует воркшоп, на котором представляет свои наработки "в свободное время" по переводу проекта на другой стек технологий, в которых уже реализована большая часть функционала следующего релиза.
- работа
пинками помогает команде в переходе на одобренный руководством новый стек, в чем его активно поддерживает джун, окрыленный тем, что теперь его накопившиеся косяки точно никто не заметит, переводит проект на новый стек, увеличивает производительность в два раза, через год переводит еще раз, периодически генерирует идеи новых продуктов, может пропасть на неделю и вернуться с новой фичей, а может уйти в накопившийся за несколько лет отпуск и больше не вернуться, т.к. случайно встретил старого знакомого, передложившего другой мега-проект с гига-зарплатой.
Аноны, что значит эта хуйня в бусттрапе, Почему именно так выглядит этот код?
><script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
>>integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous">
Хеш, суммы, походу. Чтоб твой рашкопровайдер не смог подменить этот файлик
Чтобы вместо бутстрапа у тебя подгружался портрет путина или реклама йотафона
>>744367
https://ru.wikipedia.org/wiki/Хеш-сумма
В твоем случае метод шифрования указан в начале - sha386
Благодарю, анончик
Тебе надо обернуть это всё в ещё одну функцию, из которой вернется результат. Ты делаешь return, когда в result ещё ничего нет
Ну так сходи на собеседование. Если джун то как раз и спросят про особенности языка и может дадут несколько задач на простые алгоритмы.
А что писать в резюме? Типа "я умею связывать страничку и БД, я вам хуй сосать буду только дайте работу и научите кодить", не? Алсо, какие там особенности у ПХП? Типа код выполняется на сервере и посылает юзеру только html-страницу, не? Еще вроде там какая-то хуита с типами данных, когда число само собой конвертится в строку или как-то так.
К чему ты это высрал? Алсо, он ещё забыл сказать, что let и const не всплывают, что ценность твоих постов вообще до бреда сумасшедшего опускают.
Какой нахуй рашкопровайдер? Вы там в /по/раше совсем ебанулись? Это защита от подмены файла расширениями браузера, но у поехавших уже в каждом подъезде лично Путин срёт.
Ору блядь
Скажи мне теперь ещё, что let не внутри функции объявлено.
Посмотрел. Хуйня какая-то для совсем ньюфагов. Сомневаюсь, что там настолько простые вопросы задавать будут.
Ебать дебил.
Вот блядь. А я уже скачал.
Доставьте чего-нибудь еще, собеседование в среду, стремновато, если честно.
другой анон
Ну ты посмотри на всякий случай, не доверяй анониму. Просто я всякую хуйню уже почти год на жсе делаю.
А то внутри script всё просто белое как обычный текст. А если переключить на javascript, то полетит html.
Использовать IDE вместо редакторопараши.
Помогите начинающему быдлокодеру пожалуйста.
Мини Игра.
Суть:
Щелкаем по квадрату и получаем цифру
При совпадении двух цифер, цифры сохраняются, а в противном две цифры разные обнуляются, НО, у меня при не совпадении цифр все предыущие сопвадающие цифры нахрен с поля удаляются, а надо чтобы парные цифры которые с двух щелчков правильно вышли сохранялись, а сбивались только не валидные.
ЧЯДНТ?
Так это норм. Скажи, что так и должно быть.
>var firstNode = document.getElementById('first');
>var secondNode = document.getElementById('second');
>var thirdNode = document.getElementById('third');
...
>var eightNode = document.getElementById('eight');
А если у тебя их будет не 8, а 88, так же будешь делать?
Я имел в виду что-то типа var nodes = document.getElementsByClassName('nodes');
И потом получать их по индексу.
Так, как у тебя сейчас логичнее. Если квадратов и пар будет очень много, это как раз и будет тренировать память.
Так как хочешь сделать ты, это слишком сильно упрощает игру, что лишает ее смысла.
Это первая моя попытка в жизнь что-то написать.
Вообще я знал изначально что это странный длинный путь интуитивно, но я не шарю и не вникал даже как их выбрать более правильно, потому что сейчас моё внимание сосредеточенно на алгоритме который я не могу пока написать, потому задаю впоросы вам.
>>744576
Это да, но я потом собираюсь её расширить и вместо цифр будут картинки. Типа для детей.
Сетка, естественно, будет больше.
https://htmlacademy.ru/intensive/javascript/tutors
Блядь, меня спросил, какие языки знаю, работал ли с БД. И всё.
При том, что на javascript не писал никогда, выучил всё за 3 дня. И всё, работаю.
Двачую, меня тоже на собеседосе только пару вопросов спросили, и то только про серверную часть, тоже в основном по БД. По жс даже ничего не задавали, т.к. это легкая параша, которую на ходу можно освоить.
Я правда джун, фуллстак, 60к дс2
Ну хуй знает. Вроде контора серьёзная. Тестовое задание подразумевало простой вебсервис, сделанный на реакте, работающий с браузерным АПИ и оформленном на любом модном фреймворке.
Я понимаю, что это слабо соотносится с нативным ЖСом, но всё-таки туда по-моему не попадёт совсем ВКАТЫВАЮЩИЙСЯ.
Обосрался
>30к без испыталки.
>Правда бек енд. Там всё пиздец легко.
>а фронте же трудно, думаю.
Таких на специальной ферме взращивают?
В чем кек-то?
На беке у тебя нету кучи ебаных фреймворков, кучи непонятных меняющихся каждый день тулзов, нету десятка версия разных браузеров, нету "адаптивности", нету дизайнеров-уебанов и т.д., можно долго продолжать. Там реально намного всё проще. Чуть сложнее вкатиться, но потом намного легче.
Всё зависит от проекта. Где-то сервер сложный, где-то клиент. Но на серверном программисте больше ответственности.
Скрипт типо проверяет переменную, если там NaN, пустая строка, или буква - просит снова ввести числа, иначе складывает.
Насколько это криво написано?
В javascript если работает - значит норм. Это философия языка.
Кстати, вопросик по заданию (пикрелейтед 1).
Чем мой код (пикрелейтед 2) может быть хуже, чем в вариантах "Решений"?
А если оба введённых значения не числа? Вводишь в заблуждение пользователя!
А зачем вторым аргументом пустую строку в prompt передавать, оно ж и так пустым по-дефолту будет?
Сам как считаешь?
т.е. Notepad++
Видел твой вопрос в fl
Есть варианты кроме лупов чтобы получит n-нное значение?
Кто-нибудь читал YDKJS? Годнота? Или тоже ничего нового не узнаешь?
Анончики как эмулировать нажатие кнопки одной и той же кнопки на js раз в n секунд без jquery. Ткните где почитать.
javascript.ru/setinterval
годнота
>А если оба введённых значения не числа? >Вводишь в заблуждение пользователя!
Там вроде || стоит, а не &&.
>А зачем вторым аргументом пустую строку в prompt передавать, оно ж и так пустым по-дефолту будет?
Потому-что в IE8 вроде иначе в строке будет undefined.
function getDecimal(n){
var result;
result = Math.abs(n%1);
return +result.toFixed(2);
}
getDecimal(12.765);
Устраивает. Только toFixed всё равно округляет дробь, то вниз, то вверх.
Читай спек сразу
1. Попадание только авторизававшихся пользователей на последующие страницы сайта.
2. Где хранить базу с данными о пользователе (в том числе логин с паролем для сверки с введенным посетителем сайта).
И все это без использования других языков - только js.
f = (n) => +n.toString().replace(/.+\./, '0.')
Код сам себя должен документировать. Если ты не мамкин фрилансер/вкатывальщик, то должен знать, что если после первого взгляда на метод не ясно, что он делает, то это хуёвый код. Ты конечно можешь рваться и верещать, что ТЫ ТУПОЙ НИПАНИМАЕШЬ МНЕ АЧИВИДНА, но нужно чтобы не только тебе, а всей команде было очевидно.
Ахуенные оправдания, сириусли.
Эту строку в продакшн и в команду на 50 человек никто не собирался запускать.
А какой смысл учить язык, при этом не приучая себя к хорошему стилю? Даже если ты фриласишь, то можно подумать хотя бы о тех, кто после тебя будет с кодом работать.
Да.
Если я правильно понял, что ты про "только js" имел ввиду, что бекенд пишешь на нём, а не то, что ты делаешь авторизацию полностью на клиенте.
Эту строку кинули в тред как пример решения задачи.
Прекращай пукать в тред своими оправдосами.
Реально так сложно тихо признать что ты не прав? В интернете за статус альфы в стаде никто не соревнуется, почему тогда есть ссоры если есть анонимность?
>Реально так сложно тихо признать что ты не прав?
Признать, что тот код не вырвиглазной пиздец, когда он вырвиглазной пиздец?
Ты от Скалы, наверное, в обморок упадешь.
Тогда используй mongoDB и обращайся к нужной коллекции XMLHttpRequest'ом, потом ищи в ней пользователя. Вроде бы должно работать.
1) Иду я просто стажёром фронтендером на лето, а не полноценным джуном
2) Мне сказали, что в компании почти нет фронтенда и они его только начинают развивать. Кроме пары стажёров из чистых фронтендщиков только одна верстальщица, лол.
По жсу спрашивали про прототипы, про apply, bind, call, области видимости функций, AJAX и сопутствующие вопросы.
По вёрстке вообще всего пара вопросов.
Сказали, что ПЕРЕЗВОНЯТ сообщат на следующей неделе о результатах.
>mongoDB
А он защитит от не авторизованного пользователя страницу, которая должна быть доступна только авторизованному?
Я конечно нихуя не шарю (т.к нуб), но при собеседовании по принятию на работу фронтендером нужно обязательно по телефону или скайпу общаться? Я всегда думал что тебе в чатике каком-то вопросы задают, потом какие-то задания высылают, если сделал - то думают, если нет - то идешь нахуй. Как-то так.
странная компания, как они будут стажировки проводить по фронту, если у них только верстальщца в обойме есть. Кто ментором то будет?
Можно ставить и убирать куки при авторизации/выходе и проверять ей наличие на странице, в которую должен попасть после авторизации.
Но это всё костыли, конечно, потому что хуй знает, зачем тебе полноценный сайт с авторизаций и при этом всё в браузере.
а бэк у них на чем?
Просто есть несколько знакомых бэков - те плюются на js, а на верстку так вообще без слез не глянешь. Такие хер нормально научат чему.
Скрипт типо проверяет переменные, если там интежер, то истина.
Насколько это криво написано?
Scala и java
Тестовое задание могут выслать после того, как ты своё резюме пришлёшь и ты им понравишься.
Там на стажировку тестовое задание у них на сайте было выложено и нужно было его присылать вместе с резюме.
Кстати, вспомнилось, лол)
"История из соседней компании. Lead .NET разработчик усмотрел проблемы на front-end. Он решил, что у UI-проекта неправильная архитектура и технический долг, поэтому он пошел наводить там порядок. В итоге стало еще хуже, чем было, потому что JavaScript-приложение он создавать не умел.
Я думаю похожая ситуация могла бы произойти, если бы JavaScript-разработчик полез в C#. Разница в том, что .NET разработчики считают, что смогут корректно поправить JavaScript/CSS, а front-end разработчики знают, что им в C# лучше не залезать и они не лезут."
После авторизации пользователь попадает на страницу, которая выводит показания с различных датчиков и видео с камер наблюдения(охуенные у меня планы, знаю). А перед тем как запилить такую страницу решил начать с простого и, выходит, подъобосрался.
А в ангуляре/реакте есть такая возможность?
>А в ангуляре/реакте есть такая возможность?
За ангуляр не скажу, но сильно сомневаюсь. Реакт вообще фреймвор для написания интерфейсов по большей части. Делать авторизацию на клиенте вообще самая хуёвая идея, которую я встречал. Безопасности по факту вообще нет.
>Там вроде || стоит, а не &&.
Не, я шутил про
>"Одно из значений — не число!"
Ведь условие будет верным (и правильно) и если оба не являются числом.
Кстати, а не было бы логичее сделать || "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 гарантирует порядок, поэтому не может вдруг сообщение о конце прийти раньше последнего куска данных.
В общем, буду рад любой помощи или подсказке. Даже не знаю, с чего дебаг начать, ведь там и кода-то "моего" нет, просто пайпится реквест.
Авторизация же обычно серверная.
Логин/пароль шлются на сервер -> сервер проверяет -> отдает токен -> юзер сохраняет токен в куки
При каждом запросе кука сервером ищется в базе, если токен там есть - юзер авторизован
Это самый популярный способ, есть ещё jwt, где сервер отдает подписанный токен, но не хранит его, а только проверяет подпись токена
Я себе примерно так же это представляю. С этим разобрались.
Теперь у меня более менее сложилась видимость механизма пропуска/отсеивания всякого рода посетителей.
Спасибо.
Посмотри еще на JWT
Ну кароч скобочки забыл))))
Пару раз, когда домой приходил пьяненький, пробивало на покодить. Хорошо шло.
Cмотри сюда:
a = document.getElementsByClassName("post-wrapper");
for (var i = 0; i < a.length; i++) {
a.onclick = function(){
alert("jopa");
}
}
Можешь заранить в консольке, здесь на двачах и покликать по постам и порадоваться.
сам кароч проебался, там a(i).onclick
Просто убирать элемент, содержащий ряд из DOMа и добавлять куда надо.
да мы с тобой нюфани оказывается, макаба парсит квадратные скобки и за ББ коды принимает
>[teeest]
Аноны, посоветуйте плз какая библиотека может проверить цвета по оттенкам. Ну например мне надо чтоб (if color = 'red') давало тру когда в переменной color записан любой оттенок красного а не только ff0000
Переводь цвет в HSB и проверяй на каком промежутке hue, а ещë не ниже ли saturation и brightness какого-то значения, ниже которого всë стаëт серым.
спс
Начал читать https://www.gitbook.com/book/maxfarseer/redux-course-ru/details, охуел и ничего не понял
чтобы знакомым показать и они ахуели как я могу.
Не на пидорах, а на трапчиках
>что-то сложнее веб-странички это уже пиздец какой-то.
Погоди, погоди. Ты даун, понять ничего сложного не можешь, а ебанутыми оказываются программисты?
Какой фреймворк то?
Идея хорошая, но реализация просто пиздец. Мне не понравился, вернулся костылить реалтайм на экспрессе
Нужно преобразовать html в xml примерно как тут
http://stackoverflow.com/questions/11383236/how-to-output-html-form-data-to-a-xml-file-using-javascript
проблема в том, что в исходном html нету jquery
Этот вариант не катит - использовать скрипт будут блондинки-истерички, нужна "изкоробочность"
Конфа лучших людей. Жсеры, дотнет дурачки, топ люди в этой галактике.
Мне нужно взять данные из ячеек html таблицы, склепать xml по определенному шаблону и вставить данные из html таблицы.
Решение из stackoverflow мне в целом подходит, но проблема заключается в том, что нужна полная изкоробочность, а в html файле не будет подключен jquery.
Ну возьми да подключи, в чём проблема-то, блин? Ты ведь код куда-то со стаковерфлоуд вставлять будешь, так вставь туда и загрузку жквери.
Ну или переводи все представленные операции с жквери в ванильку, там оно только для выделения элементов и используется.
Да не во мне дело, я-то подключить могу. Через этот скрипт будет дохуя других html документов проходить, при чем к этим документам подключить jquery уже не смогут ибо блондинки боятся стены кода.
> я-то подключить могу
Блядь, а кто ещё-то будет скрипт писать?! Нахуя блониднкам вообещ код видеть? Ты для того кнопочку "скочать" и делаешь.
Я тебе уже сказал, что делать без жквери. Суть всего ответа со стаковерфлоу:
1. Сделать шаблон с какими-то, на мой взгляд, кустарными "?key?"
2. Собрать значения
3. регулярочкой впихнуть значения вместо этих "?key?"
Всё. Жквери используется лишь во втором пункте. И он тебе нахуй не нужен, - http://stackoverflow.com/questions/3072233/getting-value-from-table-cell-in-javascript-not-jquery
jQuery
шапку читни
И почему второй вариант плох или не плох
так-то похуй. Но без var присвоения не будет на этапе инициализации. И если ты заюзаешь ее нечаяно до присвоения-пососешь хуйца. Ну плюс коллеги будут над тобой смеяться и унижать тебя.
А на js будто нельзя.
если переменная выше скоупом была определена с таким именем, то без var ты будешь работать с переменной из того вышестоящего скоупа.
ну да, в замыкании глобальная будет, и если она уже там была, то перепишется
объявление без вар, если такой переменной не определено выше по скоупу, запишет переменную в глобальную область.
А в строгом режиме, если не ошибаюсь, оно вообще вбросит референс еррор.
именно, поэтому я и написал выше писать в 'use strict' тогда будет только 1 правильный вариант и не надо забивать голову как писать
При чем тут тайпскрипт?
Есть RestAPI, есть клиентское приложение.
Как обезопасить апи от обращения не из клиента? Куда копать? SSH? Есть у кого выкладки/мысли/идеи.
А объясните по-хардкору, зачем вообще сделаны стрикт и не стрикт режимы? В перле тоже подобная хуета есть, но остальные же петун как-то живут нормально и без этого.
На всякий случай: мне не преимущества стрикт мода нужны, а причина, по которой нельзя было было сделать этот стрикт дефолтным и единственным.
Хэш какой-нибудь передавай с запросом.
то я думал что вопросы которые там размусоливаются очевидны даже ньюфане, но судя по последним вопросам про use strict у меня изменилось мнение. Можете тот торентик смотреть походу
Ты намекаешь на то, что это просто относительно новая фича, появившаяся гораздо позже самого языка?
Я намекаю на то, что
>зачем вообще сделаны стрикт и не стрикт режимы?
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.
Короче стандартом это станет энивей, поэтому лучше привыкать сейчас пока это опционально.
Первые два не являются ответом на мой вопрос. Был бы только стрикт, все браузеры бы его поддерживали, потому что, ну, это был бы просто жс.
Я просто ошибочно полагал, что этот стрикт был всегда.
В общем, всё понял, спасибо.
Может я хуйню написал, но бамп
у меня есть функция, например
function foo(){
var a = 10;
<...>
}
я хочу создать аналогичную функцию, только чтобы а был 15. Как это сделать без параметров?
ну и пользоваться чтобы можно было обеими. такое возможно?
Можешь сделать обертку для функции и там определить а, и изменить исходную функцию, где ты будешь проверять наличие a
typeof a === "undefined"
И если ее нет, присваивать нужное значение
А где про это подробно почитать можно? Почему .toFixed(4) избавляет от округления а (2) - нет?
Прочитал, но там вроде написано что такая ошибка возникает при "одной десятичной", а у меня toFixed(2) стоит, хуле тогда интерпретатор выебывается?
myClick: function () {
alert("Done12!");
},
render: function() {
var data = this.props.data;
var newsTemplate = data.map(function(item, index) {
return (
<li key={index} onClick={this.myClick}><a href="#">{item}</a></li>
)
});
return (
<ul className="listcitys">
{newsTemplate}
</ul>
)
}
});
Чому не работает алерт?
Обратная совместимость.
Открой для себя его вопрос, умные все дохуя не по делу.
>>746079
Полученные функции "без параметров".
Еабнутый. Ты используешь аргументы. А его вопрос состоял в том, что они не нужны.
То что написал ты, можно было сделать с помощью bind. Открой для себя его.
function som (x,y) {return x + y}
var one = som.bind(null, 5)
var two= som.bind(null, 10)
Его вопрос был про замыкание.
>addFiveTo(50)
Вот здесь аргумента(параметра) 5 нет.
Зачем ты совокупляешь мне мозг, ебаный клоун?
Я охуенный разработчик с опытом и зарплатой, а ты - нелепый школьник, который выебывается на анонимном форуме знанием метода bind, когда про него никто не спрашивал. Уебывай.
Охуенный блять сайт.
Дают задания с применением каких-то min, max, при этом в теории об этом ничего не пишут (как применять, где), а задание при этом люди должны выполнить, найс.
лолка блядь читать научись
Math.max(a, b, c...)
Возвращает наибольший из списка аргументов
Math.min(a, b, c...)
Возвращает наименьший из списка аргументов
а если ты про задания - то тоже читать научись - дан интервал и тебе надо случайное число из него получить. Что не понятного?
расскажи о себе
Да, я ожидал что это напишут. И что мне блять это даёт? Как я должен узнать где можно применять это в аргументах а где нет?
Надо посчитать сумму всех зп.
Вот решение.
"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 обязывает к какой-то структуре.
Помоги, анон, тебе вряд ли это сложно. Хотя бы почему берутся только числа.
> for (var name in salaries)
каждый проход цикла name будет равно каждому следующему key в salaries
1й проход: name == "Вася"
2й проход: name == "Петя"
...
Сперва хотел накатать огромную пасту, но потом мне стало лень - погугли циклы, а потом объекты как ассоциативные массивы
Где применять?
ну вот я например писал примитивного бота для одного сайта. Там мне необходимо было сделать выборку рандомного элемента из массива. Таким образом пригодилось на практике это задание (выбрать целое из интервала, ибо интервалом в моем случае были элементы массива: первый под номером 0, а последний array.length - 1.)
посмотри интенсив базовый по js от htmlacademy - там разжевано подобное (хотя и у Кантора как по мне норм)
может после него не будет вопросов подобных
Вы видите копию треда, сохраненную 2 июня 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.