Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, Walmart и многие другие.
Краткий FAQ: 1. Что это за язык такой? - Мультипарадигменный язык, изначально создавался для использования в браузерах как язык сценариев для придания интерактивности веб-страницам, однако в процессе своего развития преодолел этот этап и сейчас может использоваться для любых целей ввиду своей неограниченной гибкости и удивительно удобного синтаксиса. Сочетает в себе особенности объектно-ориентированного, функционального, событийно-ориентированного и императивного программирования.
2. Какие возможные направления для разработки существуют? - Фронт-энд (Vanilla, jQuery, Angular, Backbone, React, Meteor), бэк-энд (Node.js, Express, Sails), геймдев (Phaser, Cocos, Pixi, Unity), 3D графика (Three.js, Babylon.js), мобильная разработка (NativeScript, Phonegap, Ionic), десктопная разработка (NW.js, WinJS).
3. Можно выучить только jQuery и всё писать на нём? - Не стоит, лучше начать писать на jQuery, когда освоишь ванильный JS, дабы не испортить себе восприятие языка, и в будущем не испытывать трудностей с изучением сложных фреймворков.
6. Зачем нужны CoffeeScript и TypeScript? - Это особые варанты JS для любителей других языков. CoffeeScript подходит для любителей Ruby и Python, TypeScript - для сторонников строготипизированных языков. Если ты новичок, то учи оригинал и не забивай себе голову этим.
7. Ну ладно, с чего начать изучение то? - Дальше я приложу список материалов для изучения.
Чистый JS: Книги: Дэвид Фленеган - "JavaScript: Подробное руководство"
Кирилл Сухов - "Node.js. Путеводитель по технологии"
Дэвид Хэррон - Node.js. Разработка серверных веб-приложений
Front-end
Эдди Османи - "Разработка Backbone.js приложений"
Эрл Каслдайн, Крэйг Шарки - "Изучаем JQuery"
Читать онлайн
Dr. Axel Rauschmayer - "Speaking JavaScript: An In-Depth Guide for Programmers" - Одна из лучших книг по JS. Пока только на английском: http://speakingjs.com/
>>665091 Я намеривался не через фриланс агрегаторы, а так сказать прямые услуги страждущим с моего мухосранска. Потребность есть, реализаторы пилят веб 1.0 сайты с блёстками.
>>665312 Ну если есть машина времени и ты сможешь переместиться в те времена, когда нужны были знания только одного жс, то не долго. А так сейчас тебе надо знать жс, хтмл, цсс, ноду, ангуляр какой-нибудь и т.д. + каждый день выходит 1000 новых библиотек, которые надо знать.
>>665324 а что так сложно то? я только HTML знаю -_-, а что учить чтобы не так много надо было знать? (или это самый простой путь -_-?) (может тред не тот, но ладно, пусть тут побудет)
>>665372 а зачем тогда эта доска если тут все всё знают -_-? тебя никто не унижал, если у тебя проблемы и ты вырываешься на меня то надеюсь тебе стало лучше :)
>>665402 я учится хочу, но не хочу учить то что точно не понадобится точно или довольно редко, я хочу обучится именно сейчас основам за которые буду получать хоть какие-нибудь копейки, дальше видно будет и я вернусь если все норм -_-
>>664561 (OP) Джейсаны, как блядь на js слип на 1 секунду сделать? Не асинхронно. Мне просто нужен отдельный тред, независимый от интерфейса, который бы спал 1 секунду. Пиздос, как я ненавижу эти недоязыки вроде C++, js, php, в которых чтобы пердануть, надо велосипед в 100 строк писать. В итоге велосипеды у всех разные, все работает через жопу и нормальную программу написать в принципе сложно.
>>665444 Точнее, мне надо в цикле for спать каждую итерацию. А с этими говнометодами, он тупо прохуяривает все 1000 циклов за раз и все эти слипы выполняются одновременно.
>>665416 Я вот собирался идти по дороге html -> css -> js -> php, но в итоге сижу здесь и об изучении следующего языка как минимум пол года думать не буду.
Раз уж пошла такая пьянка, насколько реально зарабатывать фрилансом без html\css(подташнивает от всей это вашей фронтендовской хуерги). Например с нодой? Или она кроме как в ынтерпрайзах нахуй никому не сдалась? Уж про десктопный жс даже и не спрашиваю.
>>665557 Я бы сказал, что заказчик будет искать умельца, который сможет сделать всё что требуется. А вот если умелец в процессе обосрется, то скорее всего, сам умелец подаст заказ на реализацию того куска, где он обосрался на сторону.
>>665570 Ну я про постоянку. Если собираешься фрилансить, нужно искать компаньонов, потому что там всем похуй кто ты, нужно укладываться в сроки, а сроки в 90% случаев просто нереальные
Я как-бы спрашивал насколько вообще такие заказы часты. С постоянкой всё ясно - найти можно что угодно, если повезет. А если именно фрилансить без фронэнда, то с голоду не сдохнешь пока очередной заказ ждешь?
>>665557 Проясни про фулстак. Я сколько не смотрел вакансии, там в основном js c приблудами требуется. Ну или другой язык. А таких чтобы одному с нуля все писать на разных языках я не видел.
>>665588 Почти нет заказов чисто на бекенд, тебе или на постоянку нужно, или на аутсорс.
>>665589 Фулстак - это когда ты и на бекенд мастак, и верстаешь неплохо. В случае с жс фулстак это достаточно просто, дополнительных языков знать не нужно.
Аноны, такой вопрос, вкатился в веб 5 месяцев назад, успел выучить js, jquery, angular (хтмл и ксс знал ещё со школы) делал рандомные задачки с интернетов + находил элементы на сайтах которые потом реализовывал сам, сейчас сел за ноду, сделал сервер, поделал маршрутизаторы, обработчики ошибок и т.д. Пересматриваю кучу уроков + книги (которые к стати и описаны в этом треде). И в один момент заступорился и задумался стоит ли на самом деле заниматся вебом? Какие перспективы? вот выучу я ноду, пускай ещё рандомные субд, пускай пойду стажироватся в какую-нибудь контору в своем городе, наберусь там опыта, а потом что? как обстоят дела на рынке с веб-макаками? Может есть более оплачиваемые и перспективные направления? (знаю кресты, шарп, не на уровне калькуляторов)
В общем я в заблуждении, жду твоей помощи /студентота, 3 курс, не распиздяй
Джейсаны, ай нид хелп. Нужно срочно запилить несложное SPA (сорт оф тестовое задание). Нужен шаблонизатор. Что выбрать? Что сейчас (я уже давно не в теме фронтенда) в тренде? Handlebars дрочёный, я смотрю уже не популярен. Тяжеловесные фреймворки не нужны. Что делать и как быть?
>>665812 А что тут пояснять? Смартфоны сейчас стоят копейки, файфай есть везде. (Если конечно ты не в мухосранске живешь.). Современный человек из рук телефон не выпускает. Поэтому, каждая уважающая себя компания считает своим долгом выпустить мобильное приложение для своего продукта. http://www.e-legion.ru/portfolio Вот, например, портфолио одной компании, занимающейся разработкой моб. приложений
Сразу прошу прощения за гавнокод, но я нуждаюсь в вашей помощи. Тут происходит инициализация карты при загрузке страницы И определена фунцкия place http://pastebin.com/mBMWt1Ci | | Сама функция place вызывается по onclick http://pastebin.com/B3kwqwaC
В чем проблема? А вот в чем: >ReferenceError: myMap is not defined
p.s. если функцию place не выделять, а все делать в init'e, то все работает
>>665878 Спасибо, это я знаю, а как исправить? p.s ретурнил myMap в init() потом при онклике вызывал так place(init();) тогда он создавал еще одну карту на которой все отображено как надо
>>665957 Странно, у меня из 9 знакомых, которые резюме кидали, ответили только одному, который с вышкой был. Да и в интернете, что без вышки не отвечают, очень редко Может после крымнаша и кинопоиска всех начали звать
>>665958 Вообще в яндексе зарплаты ниже рыночных(т.е. полно мест с большей зарплатой намного) ещё там опенспейс дурацкий, шум, галдежь, какие-то чуваки играют на гитарах прямо в офисе(играть при этом не умеют вообще). Не понимаю зачем туда стремиться. Ещё там довольно геморные правила деплоя и т.п. работой загружают неплохо и ответственность т.к. сервисы популярные.
>>665961 У людей "старой закалки" в рашке есть некоторые интересные особенности: они считают, будто работать - это что-то хорошее, и, ещё удивительнее, что более напряжную работу нужно заслужить. К счастью, эта рабская психология в последних нескольких поколениях практически вымерла.
>>665970 > безусловный доход > имплаинг, что кому-то нужно содержать кучку дармоедов Это красивая история, чтобы быдло не так сильно переживало по поводу того, что их квалифицированный труд с легкостью заменила бездушная железяка. Как только это быдло станет нинужно, его сразу же выпилят "неизлечимой" чумой 2.0. Ресурсы-то на нашей планете не бесконечные, зачем нужны бесполезные люди?
>>665974 Безусловный доход нужен, чтобы избавиться от необходимости менеджить тысячи агенств, изобретающих искусственные проекты и бизнесы для распределения денег между людьми. Рептилоидам просто надоела коррупция в собственных структурах, и вся эта возня, и они решили: "бля, а может просто забьём на всё хуй и будет открыто раздавать деньги?"
>>665996 Тут нужен кейс-анализ: Если человек знает, что я джаваскриптер, и говорит это именно на полном серьёзе, в жесткой форме, значит он говорит это, чтобы меня оскорбить. За такое можно и по ебалу дать. Если человек знает, что я джаваскриптер, но говорит это в более мягкой форме или шутливо, значит он настроен на дискуссию и аргументы. Тут можно и попиздеть. Если человек НЕ знает, что я джаваскриптер, можно тоже попытаться подискутировать, либо перевести разговор на другую тему.
>>666002 Впрочем, вариант 2 - не обязательно настроен на дискуссию. Возможно, действительно так считает, но не хочет тебя обидеть. В таком случае тоже либо дискутировать, либо, если после нескольких попыток становится понятно, что это бесполезно, переходить на другую тему.
>>666027 А что конкретнее? Нефть не бесконечная, но и не обязательная. Солнца, скорее всего, ещё надолго хватит, а вот вода и многое другое - бесконечные, потому что круговорот.
>>666164 >51 contributors Зачем обманывать? А я уже начал писать на нём. Обнаружил, что оф. гайд не совпадает с текущей версией библиотеки. Полдня мучался, пока методом тыка не нашёл правильный синтаксис.
>>666273 Ну смотри. Здание, там типа скалд с книгами. Можешь взять в аренду книгу домой, но вроде как нужно иметь членство в библиотеке, а так на месте можно почитать и без этого. Точно не помню.
Он не лучше, чем ангуляр. Он как альтернатива кусочку ангуляра, отвечающему за шаблонизацию и датабиндинг к хтмл. Подойдёт любителям микрофреймворков и DIY стеков.
>>666403 Ну я так и думал, что такой дебил, как ты, сразу начнёт кукарекать, что Ангуляр лучше. Проснись, ты обосрался. Ты просил фреймворк такого же уровня, тебе дали ембер, а ты сразу пошёл гуглить почему ангуляр лучше. Ну ты понял. Так что лучше просто иди в угол постой.
>>666390 Что значит "такого же уровня"? Со своей системой импортов? - спасибо, такое гавно нам больше не нужно. А так React + Redux + react-router. Но тебе вряд ли перепадёт писать настолько большое приложение, поэтому одного Реакта будет достаточно.
>>666449 Асинхронный рендеринг aka retained mode graphics, который все компьютерные игры используют пару десятков лет. Ну то есть React и прочие реализации этой идеи.
>>666458 Получается каша. Получается пиздец. Если во время написания я ещё что-то понимаю, то через месяц, например, я уже ничего дописать не смогу. Какая-то каша из xml, html, js, разделенная одинарными кавычками как будто не от фб либа, а от мелкомягких. Модель flux мне нравится, но react просто пиздец, не могу даже представить почему столько о нем пишут
Посоны, для валидации формы в ангуляре юзаю РЕКВАЙРЕД в инпут поле, потом средствами ангуляра делаю валидацию(без написания директивы и т.п.), вывожу сообщение, что юзверю стоит сделать, чтобы все было ок, но КАК ОТКЛЮЧИТЬ ВСПЛЫТИЕ ДЕФОЛТНОГО БРАЗЕРНОГО СООБЩЕНИЯ НА НАЛИЧИЕ АТТРИБУТА РЕКВАЙРЕД? Что-то не могу в доках найти, а писать директиву влом, должен же быть метод скрыть это тухлое дефолтное сообщение, если ставить новалидате на форму, то и ангуляровская логика перестает работать. ХАЛП!
Я запутался нахуй. babel babel-core babel-loader babel-preset-react в чем разница? Если допустим код на es5 и от бабела мне нужно только трансформировать jsx в обычный js, что из вышеперечисленного лишнее? Можно вообще без этого ебучего бабела обойтись для jsx? А то такое ощущение, что половина из установленного вообще не используется.
>>666582 Om - обвязка для react на ClojureScript. Появилась еще до анонса flux и принятие реакта js сообществом. Работает быстро засчет использования иммутабельных страктор данных, встроенных в ClojureScript (что и мотивировало Фейсбук выпустить ImmutableJS). Апи довольно специфический, основанный на курсорах. Сейчас Om уже не в почете, автор выпустил OmNext, в котором архитектура похожа на Relay.
Привет pr, у меня есть скрипт, который проходит по всему видимому тексту на странице и некоторые её части заменяет. Он-то работает, но работает чертовски долго. Включаю я его с помощью greasemonkey, и он начинает пидорасить страницу уже после того, когда всё загрузилось, когда html загрузился. Я вот подумал, а нельзя-ли оптимизировать это процесс? Скрипт же после полной разгрузки еще раз заглядывает в html файл и с первой по последнюю строку считывает его. Возможно ли сделать так, что бы он попутно с первой загрузкой хтмльки смотрел и пидорасил текст, или я хуйню несу и всё устроено иначе?
>>667286 context.fillRect(Math.floor(x), Math.floor(y), 1, 1); // Вот так?
А быстрее можно? Тормозит уже на 10000 пикселей. Если закомментировать эту строку, то тормозить начинает с миллиона пикселей. https://jsfiddle.net/3wfrb1v2/
>>667277 Можно это делать на сервере, либо менять алгоритм скрипта, например, загружать необходимую часть аяксом, заменять в текстовой строке то, что необходимо, а затем только присваивать в innerHTML.
Аноны, поясните, как дела с перспективами зп у фронтендеров? Сейчас выучил вёрстку, принимаюсь за js. Есть-ли шансы сразу попасть джуном на фронтенд, или же онли через верстальщика за еду?
>>664561 (OP) Привет, хотел спросить, как работать с js файлами? Есть допустим app.js в корне, внутри него есть папка views с разными js файлами. Как сделать так, чтобы app.js имел доступ к объектам из скриптов находящихся в папке views?
быдловопрос есть массив картиночек нужно сделать так, чтобы они вывелись по очереди, чтоб каждый выводился тогда, когда загрузился и вывелся предыдущий , а после этого каждая картинка получила бы по кликлиснеру реализовал это так для первой картинки делаем Image.onload, в которой она отрисовывается и в конце только переходит к другой картинке (рекурсивно прохожусь по массиву) картинки выводятся найс, а с кликлиснером проблемы - он навешивается только на последний элемент https://jsfiddle.net/e2sfzn1u/ где я проебался ? в роддоме
>>667490 Кароч, есть разные системы модулей: AMD, CommonJS, ES6 импорты, Ангуляровские модули, модули Google Closure и т.д. Дефолтный - это CommonJS. Дальше, тебе либо нужен бандлер (browserify или webpack) чтобы скомпилить твои файлы в один, либо ты будешь каждый файл раздавать с сервера и загружать асинхронно - выбирай. Дефолтный вариант это использовать бандлер, ведь даже если тебе нужно будет разбивать приложение на куски (чтобы не грузить на страницу лишнего) бандлеры это подддерживают, если их немного настроить. Вот хороший мини-гайд по webpack: https://github.com/petehunt/webpack-howto
ананасы, нужен хелп. Есть страница со списком новостей, которые по клику через toggle разворачивают детальную новость. Но! в сайдбаре есть меню с фоном от хедера до футера. Высота расчитывается скриптом при загрузке страницы. Но при открытии новости, высота сайдбара не пересчитывается. Вешал функцию по клику на ссылку новости, но она срабатывает моментально при клике, т.е. идет перерасчет, а потом срабатывает toggle. Как сделать так, чтобы расчет высоты был после разворачивания новости?
Как же хочется девочку. Чтобы можно было погладить её по нежной коже, прижаться к ней, почувствовать её тепло, а она бы прижималась и оббнимала в ответ. Мы ббы сидели вместе обнявшись и наслаждались близостью.
В саблайме есть расширение All Autocomplete, которое подхватывает все модули из рабочей папки. Просто нужно в документ добавить все нужные модули и всё подтягивается.
>>664561 (OP) >главному языку будущего - JavaScript >2016 >== === ==== ==== >иметь динамическую типизацию, и затыкать её костылями >не иметь нормального ооп >иметь 10000 фреймворков от каждого алкоивана, из которых в промышленной разработке только 1 >не иметь нормальных решений для мобилок >не иметь универсальных отладочных инструментов >получать самые низкие зп в кодинге >быть заменимым любым индусом-версталой с jquery >всерьёз заниматься проблемами IE6 Вам не стыдно? Это ведь местный дно-тред.
Тут не сидят успешные фронт-эндеры. Успешные фронт-эндеры сидят в cozy co-working и иногда дома с любимым бойфрендом (котом, тульпой, 10/10 брюнеточкой), а потом идут кататься на сноу-борде, в качалку или попивать кофе в старбаксе, попутно сняв привалившие 200к за последний месяц. Они не сидят в этой угрюмой гнилой параше.
>>668128 Жопа треснет. А сумма реальная, у адекватного спеца рейт от 25 баксов идет, на двух проектах одновременно можно 100 часов в месяц нарабатывать на angular.
>>668137 Ну если ты такой дрочила, что готов 8 часов в день неотрывно, как китаец на заводе, ежедневно хуячить код - пожалуйста, 160. Платят-то за чистые часы по записи экрана, ну или по твоей совести. Можешь "добавлять" время, если работаешь без трекера и клиент готов платить столько денег.
>>668127 Сидят. Некоторые настолько давно залипают в двочи, что уже будучи взрослыми и успешными не могут отвыкнуть от того что бы поскроллить тематику перед сном. В остальных случаях, да, не сижу.
>>668211 >Некоторые настолько давно залипают в двочи, что уже будучи взрослыми и успешными не могут отвыкнуть от того что бы поскроллить тематику перед сном. Бред.
Анон, помоги ньюфагу. Сделал змейку, но она обладает паршивой оптимизацией в файрфоксе, чего в хроме не замечено. Подозреваю, что проблема в setInterval
>>668093 Единственная проблема ЖС это зоопарк браузеров. ИЧСХ, все претензии к ЖСу всегда сводятся либо к "всё нитак как я привык в своём язык_нейм", чем страдют неосиляторы прототипов, либо к "я написал какую-то хуйню, и получаю в результате что-то странное", со страшными рассказами о сравнениях массивов с объектами.
Как избавиться от этой хуйни? Я понимаю, что меня предупреждают о т.н. "потенциально опасном коде", но я только учусь и меня подобное поведение редактора только лишний раз смущает и отвлекает.
>>668393 Тебе не не нужно ничего кроме подствеки синтаксиса, выбирай любой. А JSLint(уж не знаю что там у тебя, может это какой-то изкоробочный плагин у тебя) это анализатор с драконовскими требованиями не только к безопасности, а еще и к стилю, и с требованиями(sic) писать комментарии, и вообще хуй знает чем еще - если ему даже алерт нужно где-то объявлять.
анон, имеется странная проблема: есть страница с формой. На форме раскиданы скрытые радиобаттоны (у них display:none). При клике по блоку с вариантом ответа происходит переключение соответствующего радиобаттона. Теперь вопрос: как так может происходить, если единственный обработчик повешенный на блок - взаимодействует с блоком, отображающим что пошла загрузка (на него ничего такого не навешено, я проверял)? Можно ли как-то без js менять атрибут checked по клику по блоку label?
Мне на самом деле не хватает чего-то среднего между ними, у каждого есть свои фичи, которых не хватает другой IDE. Например, у Атома нет возможности при двойном клике подсветить схожие слова, а у саблайма по дефолту не сохраняется статус сокрытия кода.
Саблайм быстрее, с другой стороны атом более комфортный, проще настроить и большинство вещей уже встроенно в него.
В целом, мне больше нравится атом, но меня удручает скорость его работы, особенно, когда работаешь, а это бывает, сотни килобайт кода.
Это не так уж много, но атом сразу начинает глючить, хотя тот же код в саблайме прекрасно открывается.
Так что я наверно попрошу способы оптимизировать атом.
>>664561 (OP) Вопрос к frontend-разработчикам: насколько сильно нужна математика в этой специальности? Мне вот очень нравится верстка и JS вроде неплохо учится, но вот математику очень не люблю. Просто считается, что программирование все-таки связано с матаном и все в таком духе, поэтому и спрашиваю.
>>669080 Ебать, судя по вопросам они совсем дегенератов набирают. Наверняка зарплата 1000 долларов всего и крошки с барского стола во время копроративов.
Посоны выручайте, делаю генератор цитаток, все просто, но не понимаю почему не меняется цвет который должен меняться в js коде помечено где не работает
Ребят, мне нужно по клику на кнопку воспроизводить звук. Через <audio> и .play() это все в принципе работает. Но вот только если звук длится 5 секунд а я за это время еще раз успею нажать на кнопку то звук от прошлого клика не прервется и будет звучать пока не закончится. Как сделать так чтобы можно было на каждый клик звук сначала воспроизводить? Может это как-то по-другому делается.
function Send(ObjSend, TypeSend){ var TextSend = { INPUT: ObjSend.GetText(), TABLE: ObjSend, } document.write(TextSend[TypeSend]); } var sendOne = {GetText: ...}; var sendTwo = 'RandomText'; Send(sendOne, 'INPUT'); Send(sendTwo, 'TABLE'); // Без этой строки все работает, с ней - ObjSend.GetText is not a function
>>669569 var sendOne = {GetText: ...}; Если ты про это, то там 3 точки, что как бы намекает, что там что-то есть, возможно даже функция, раз всё работает.
До того момента, пока не вызываю Send для sendTwo, который таки строка; но по моей логике, TextSend['TABLE'] должен равняться ObjSend, а не ObjSend.GetText().
Анании, интереса ради изучаю codecademy, по js без pro там почти все сделал. Что дальше взять, чтобы интересно было? Становиться миллионером-фрилансером не планирую, просто для фана, для себя.
>>669907 Udacity, learn.javascript.ru, teamtreehouse Там есть даже гайды по nodejs, express, angular, ember, etc, так что дальше только код писать на реальных проектах. напиши себе блог-гостевуху, личную тудушку, etc для практики говна можешь набигать на codewars
В общем, мне интересна тема, как можно максимально выжать 3D из контекста канваса, не юзая WebGL. Мои мысли ведут к буфферам, но всё-равно, как дело доходит до практики, начинаются проблемы с отрисовкой всего этого. Есть идеи?
>>664561 (OP) Нахуя в флюксе диспатчер передает payload (хз как это правильно перевести) во все зарегистрированные коллбеки? Он что ебанутый? Где можно почитать зачем это сделано? Кажется это нихуя не оптимально вызывать кучу функций на каждый чих или я чего-то неправильно понимаю.
Вопрос по ангуляру: как перефильтровывать данные, которые были до этого отфильтрованы со значением первого аргумента = 1, а потом этот аргумент стал = 2? Ангуляр такое изменение не ловит
Сап, джаваскриптач. Я принес ньюфажеский вопрос по верстке. Есть блок фиксированного размера, в который добавляются элементы списка. У блока есть свойство "overflow: auto". Вопрос: как заставить эту дрянь при переполнении блока отображать последний добавленный элемент со сдвигом вниз, как в чятиках тип. Всю голову изъебал. Помоги, программач.
>>670893 Ты че, бля. Данные у тебя в сторе, переменная в контроллере линкуется на стор, во вью фильтр. Делаешь подписку на изменения стора в контроллере.
>>670898 Так данные не перефильтовываются Есть фильтр и данные {{ dannie | filter:arg }} При изменении dannie все заново перефильтровывается, при изменении arg - нет.
>>667591 в += ты проебался. Ты не добавляешь элемент, ты целиком переписываешь свой контейнер, создавая в нём заново все предыдущие элементы (а старые удаляя), а эвентлистенер вешаешь, разумеется, только на i-тый. Т.е. все квадратики, что ты видишь на экране, созданы были в последней итерации. https://jsfiddle.net/wh4e73r0/
>>667931 Не спорю, сам их использую, тем более webpack 2 умеет делать tree-shaking (выбрасывать неиспользуемый код) на основе ES6 импортов. Но если сразу советовать начинающему использовать ES6, то надо рассказывать как добавить Babel в билд и получается слишком много нового сразу. За это люди и не любят экосистему JS.
Посоны, есть один canvas с изображением на нем. Мне нужно получить координаты этого изображения. Пикрелейтед — мой код, написанный на коленке. Он работает, но так как ctx.getImageData() возвращает нихуевый такой массив, при большом количестве операций это дело начинает жутко подлагивать что сводит на нет работоспособность остального приложения. Какие есть варианты оптимизации?
Товарищи, планирую запилить веб приложение с возможностью игры для двоих по сети. Можно ли это реализовать на JS фреймворках ? Или лучше использовать Рельсы/ПХП ? Основная задача, это создать кнопку, которая будет искать соперника из числа посетителей, при нахождении переносить игроков в комнату с игрой, при окончании игры извлекать результаты и опперировать ими.
Здарова, ананасы. На связи чувак, который недавно тут спрашивал по форме из Седоны продвинутого интенсива.
кто понял - тот понял короче, лол
Переселяюсь к вам из верстка-треда. Буду проходить базовый по js от htmlacademy и Кантора. Вопросов много не задаю, гуглить умею. Проблем много не доставлю. Короче принимайте в свои ряды)
>>671073 Только вчера задвался такой мыслью. Буду признателен, если кто-то скинет материал по реализации архитектуры такого приложение в плане лобби и объединение двух. Туториалы не нагуглил.
>>671077 >>671107 Дело в том, что я никогда не делал ничего схожего по масштабу и не имею достаточного опыта в такой разработке. Если это возможно реализовать на Node.js, и это будет прекрасно работать и выдерживать большие нагрузки, то прекрасно. Не окажется ли по ходу разработки, что у Node.js нет возможностей для реализации моей идеи, или нет каких-то крутых возможностей и мощностей, которые естьи Рельс или калёного ПХП ?
>>671213 На рельсе и ноде тебе придется 80% времени изучать и 20% пилить. На пхп 50% учишь, 50% пилишь. По пхп больше инфы, больше инфы на русском и там довольно таки устоявшиеся практики в то время как в ноде тебе придется пробираться через кучи дерьма, которое вчера устарело, а сегодня еще не стабильно. Таки если опыта мало — проще взять пхп, так как ты и так охуеешь от количетсва новой информации, с нодой и рельсами вообще обосрешься и пошлешь это дерьмо нахуй.
>>671807 > Питон>нода Петон проебывает ноде во всем, начиная со скорости, заканчивая коммьюнити И вообще это разные инструменты. Петон в вебе годится только для визиток. Все что сложнее - нужно изъебываться, и проще взять подходящий для этого инструмент, вроде ноды Его ниша - написание алгоритмов и всякой научной дрочильни
>>671811 Да вроде ничего медленнее рельсов нет. Они даже пистону уступают. Кто вообще сюда рельсодаунов пустил? Малафили бы на свое умирающее некроговно в своем загоне, так нет же..
>>671834 >Петон проебывает ноде во всем, начиная со скорости, заканчивая коммьюнити Совсем пизданулся? >Петон в вебе годится только для визиток Совсем пизданулся.
>>671862 Неа, пистон проигрывает. Причем, в 10 раз. Даже не представляю откуда ты этот скрин взял Да и фласк - это пиздец какой костыль, а не фреймворк
>>671898 Multiple queries? Это из-за кучи потоков фласка, и то всего на 1к. При нескольких инстансах ноды она будет быстрее Остальные 5 тестов, где фласк всосал в разы, ты игнорируешь?
>>671907 Да. У меня сейчас проекты на джанге, их быстро разворачивать искаропки, так что я буду хвалить свое болото, а потом перекачусь в go. На ноде только сервер socket.io.
>>671907 У ноды говно прежде всего комьюнити. Трендхопперы и школьники типа тебя, которых нужно отшлепать и заставить помыть рот с мылом. Где питоне или рельсах хорошие пакеты с нормальным качеством кода, на ноде - хипстерская ебота, падающая через раз и с документацией уровня 1.5 issue на гитхабе. Скорость тут постольку поскольку, все равно школьникам эти тысячи запросов в секунду и не снились.
>>671229 Нет, это немедленно выполняющаяся функция, а замыкание это область видимости функции в момент ее исполнения, которая сохраняется и к ней можно обратиться после(локальное сохранение статуса переменных в области видимости функции - знаю коряво объяснил).
Посаны, вы мне лучше скажите. Пишу говно на express, почему-то получаю Internal Server Error и в консольке TypeError: Cannot read property 'Yoba' of undefined если несколько раз обратиться к адресу где стоит :id, например localhost/blog/yoba, первый раз отдает страницу с рендером, дальше вылетает ошибка.
Код примерно такой у get, притом если убрать :id и оставить как есть, то всё работает и нихуя не крашит. Что я делаю не так? https://jsfiddle.net/wxfuu4bx/
>>671909 Ты какой-то странный Пакеты, которые нужны в каждом втором проекте, вроде авторизации, шаблонизации, капчи и прочего, запилены просто охуительно. А всякое наобычное говно, которое нужно полтора васянам, будет падать и лагать. Но есть хотя бы такой падающий лагающий каркас, который можно допилить, в других языках просто пришлось бы самому писать > Скорость тут постольку поскольку, все равно школьникам эти тысячи запросов в секунду и не снились Но школьники на ноде и не пишут, ассинхронщина - это слишком сложно. Куда проще медленно и синхронно писать
>>671914 > const id = req.params.title; Ты переназначаешь параметр, что ли? Там не const title должно быть?
Карочи всё тут правильно, получаем :id?, если его нет, отдаю пустой объект как заглушку, иначе падает нода, а проверка на id нужна чтобы отдать пока заглушку на пустую страницу без :id в урл. Вот у меня и вопрос, можно это как-то решить? Ну, чтобы нода не падала, кроме как скармливать объект или чета ещё таким ваннаби хаком?
>>672025 Тащемта стереотип, что все индусы - говнокодеры, это примерно из той же области, что и все русские - алкаши, или все американцы - тупые. Хотя акцент индусский пиздец как раздражает, невозможно слушать.
И тем не менее, за те деньги что там просят, проходить, думаю, не стоит. Всю эту инфу, а так же практические проекты по теме можно поиметь бесплатно. Поройся на lynda.com например. Практически все их курсы есть на рутрекере.
>>672042 >за те деньги что там просят, проходить, думаю, не стоит Деньги за сертификат. Насколько я понимаю, лекции все и так можно посмотреть бесплатно, и задания в принципе прорешать наверное, только не в виде специализации, а каждый курс по отдельности. Но акцент это да, я начинал смотреть лекции из курса №2 (iirc) из этой специализации, и дропнул почти сразу - при таком наличии инфы по всему интернету совершенно нет смысла так издеваться над ушами.
>индусы в учителях На сам материал нареканий не было.
>>672025 >Сомнения вызывают индусы в учителях, не научит ли они говнокоду? 28 место среди лучших универов мира, притом что вуз основан в 91 году, а индусы тем временем руководят гуглом и мелкософтом. Я к тому, что рюский Иван как раз самый говнокодер неудачник который ничего не добился, а гонору за шарагу уровня мфти которая даже в сотню не входит и СКИЛЛЫ которые никто кроме ИВАНА почему-то не оценил дохуя. Не волнуйся, они наверняка лучше 95% программистов и профессоров в СНГ.
Котаны, а разве свойство length какого-то при добавлении элементов в этот узел не обновляется динамически? Надо добавлять строки в таблицу и постоянно знать номер последней строки, но получение строк через table.QuerySelectorAll(tr).length или через коллекцию table.rows.length дает только столько строк, сколько было в изначальной таблице, то етсь до добавления новых строк через appendChild. В принципе сделал, чтобы работало через дополнительную переменную, но кажется, что это костыль.
>>672444 Я гуглитл атрибуты но нашел только как писать их в html и как их считывать в коде. Как создавать из кода не нашел. Можно было сначала найти справочники, потом в них рыться и искать нужную информацию, а можно спросить у человека и на этот легкий вопрос получить более быстрый ответ. Я же не прошу меня полностью обучить какому-то разделу скрипта.
>>672454 Не так же сильно. Персонализация выдачи не так утрированна. Вангую, что он просто через жопу составляет запросы, в стиле - Как из скрипта установить ....
>>672441 var td = matrix.querySelector("tr:first-child > td"); td.parentNode.removeChild(td);
Если у тебя там несколько td и их все надо удалить, то получай nodeList и проходись по нему тем же макаром. У каждого узна, получаешь его родителя, и у родителя вызываешь removeChild, передавая в параметре узел
>>664561 (OP) Товарищи, подскажите, каким образом реализована система крестика-палочек на этой странице ? Никак не могу сделать так, чтобы при разных размерах экрана, крестик появлялся в том же месте что и палочки ( при закрытии открытии ) и что-бы бордер всегда был по центру крестика ... Подскажите пожалуйста, как это сделать. http://www.templatemonster.com/ru/demo/55262.html
Подскажите как разделить код?Аноним01/03/16 Втр 21:47:05#505№672642
Анон, я пилю свое первое "тудуапп" ну или что-то типа того. Принцип следующий. Пользователь вводит данные в простенькую форму. Там есть разные текстовые поля, даты, может подгружать изображения, выбирать координаты на карте и т.д. Формируется такой себе отдельный article. При нажатии на кнопку данные собираются в объект и дальше сохраняются. Так вот собственно вопрос, как мне настроить сохранение данных в json на локальном сервере? Получать данные из файла на node-static удалось, но как их сохранить? Понимаю, что нужно написать код обработки ajax запроса на стороне сервера, чтобы он получал данные, затем сохранял куда надо, но как? Я не знаю ПХП, или ноду. Пока что система работает благодаря взаимодействию с localStorage. Это не то что я хотел, но хотя бы не стопорит меня в разработке и позволяет реализовывать последующие функционал на клиенте. Помоги пожалуйста советом анон или направь куда копать дальше.
Котаны, получаю div из дом-дерева по айди и прописываю ему свойства, как объекту: div.option1 = ..., div.option2 = ... и т.д. Так вообще можно? Только в IE8 почему-то не работает, почему?
Пацаны, я просматривал вакансии на веб джунов, заметил, что к стандартной связке HTML + CSS + JS/JQ часто еще требуют некий .NET. Из статьи в википедии только понял, что это какое-то удивительное нагромождение хуйни, изобретенное Микрософтом. Можете в двух словах пояснить что это, зачем и как работает? И почему на сайтах с курсами для ньюфагов этой хуйне не обучают, если она всем так нужна?
Фронтендерам вообще приходится иногда самим рисовать какие-нибудь иконки/кнопочки? Анимацию они тоже могут рисовать? Или у них чисто код, программирование, хардкор?
>>664561 (OP) Посоны, вот я закатился на codewars когда захотелось проверить могу ли я вообще что-то. В принципе пока получается. Но у меня бугурт от топовых решений: часто, конечно, они просто на порядок умнее и красивее моих, но нередко в топах решение выведено в одну строку так, что хуй прочитаешь, как мне кажется. Это так и надо изъебисто всё в строку уложить, тип короче == лучше, или в реальности так никто не делает, а на кодварсе просто писюнами меряются?
Салам . Решил вкатиться в джаваскрипт, но подумал, что профитней будет сначала познать азы html и css. Нагуглил годные бесплатные курсы по основам html css. https://htmlacademy.ru/
Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, Walmart и многие другие.
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsbin.com/ для браузерного кода и https://ideone.com/ для серверного кода.
Краткий FAQ:
1. Что это за язык такой? - Мультипарадигменный язык, изначально создавался для использования в браузерах как язык сценариев для придания интерактивности веб-страницам, однако в процессе своего развития преодолел этот этап и сейчас может использоваться для любых целей ввиду своей неограниченной гибкости и удивительно удобного синтаксиса. Сочетает в себе особенности объектно-ориентированного, функционального, событийно-ориентированного и императивного программирования.
2. Какие возможные направления для разработки существуют? - Фронт-энд (Vanilla, jQuery, Angular, Backbone, React, Meteor), бэк-энд (Node.js, Express, Sails), геймдев (Phaser, Cocos, Pixi, Unity), 3D графика (Three.js, Babylon.js), мобильная разработка (NativeScript, Phonegap, Ionic), десктопная разработка (NW.js, WinJS).
3. Можно выучить только jQuery и всё писать на нём? - Не стоит, лучше начать писать на jQuery, когда освоишь ванильный JS, дабы не испортить себе восприятие языка, и в будущем не испытывать трудностей с изучением сложных фреймворков.
4. Существуют ли стайл-гайды для JavaScript? - Да. Стайл-гайд для Node.js: https://github.com/felixge/node-style-guide , стайл-гайд для Front-end: http://www.w3schools.com/js/js_conventions.asp
5. Какие новые возможности добавил ES6? - Вот здесь можно почитать на русском: https://learn.javascript.ru/es-modern
6. Зачем нужны CoffeeScript и TypeScript? - Это особые варанты JS для любителей других языков. CoffeeScript подходит для любителей Ruby и Python, TypeScript - для сторонников строготипизированных языков. Если ты новичок, то учи оригинал и не забивай себе голову этим.
7. Ну ладно, с чего начать изучение то? - Дальше я приложу список материалов для изучения.
Чистый JS:
Книги: Дэвид Фленеган - "JavaScript: Подробное руководство"
Дуглас Крокфорд "JavaScript: сильные стороны"
Стефанов С. - "JavaScript. Шаблоны"
Джон Резиг - "Секреты JavaScript ниндзя"
Николас Закас - "JavaScript. Оптимизация производительности"
Node.js
М. Кантелон , М. Хартер - "Node.js в действии"
Кирилл Сухов - "Node.js. Путеводитель по технологии"
Дэвид Хэррон - Node.js. Разработка серверных веб-приложений
Front-end
Эдди Османи - "Разработка Backbone.js приложений"
Эрл Каслдайн, Крэйг Шарки - "Изучаем JQuery"
Читать онлайн
Dr. Axel Rauschmayer - "Speaking JavaScript: An In-Depth Guide for Programmers" - Одна из лучших книг по JS.
Пока только на английском: http://speakingjs.com/
Marijn Haverbeke - "Eloquent Javascript" - Вводная книга по JavaScript и программирование в целом.
Перевод на хабре: http://habrahabr.ru/post/240219/ На английском: http://eloquentjavascript.net/
DISCOVER METEOR - Книга по Meteor.js - одному из самых лёгких и функциональных фреймворков.
Полностью на русском: http://ru.discovermeteor.com/
И не забываем читать официальную документацию для каждого фреймворка.
Онлайн сообщества:
http://learn.javascript.ru/ - оно одно, единственное. Начинать учить язык советую отсюда, потом переходить уже к книгам.
http://www.jstherightway.org/ - Огромный гайд составленный буржуями. Есть книги, статьи и всё-всё-всё.
http://nodeguide.ru - Огромное количество переведённых статей по Node.js
http://node-center.ru - собрание информации по Node.js. Особенно интересен раздел со ссылками и книгами.
Бложики и новостные ленты:
http://dailyjs.com/ - DailyJS
http://weblog.bocoup.com/ - Bocoup Weblog
http://perfectionkills.com/ - Perfection Kills
http://www.reddit.com/r/javascript - subreddit на reddit.com
http://toddmotto.com/ - Todd Motto, Lead front-end @appsbroker. Developer Expert @google.
Онлайн курсы:
Как же можно учить язык, только читая книжки? Нужна практика, и только так изучаемое усваивается, не иначе.
CodeSchool - http://codeschool.com/
Отличный ресурс для изучения языка, очень много курсов по всем передовым технологиям.
CodeAcademy - http://www.codecademy.com/
Уже не такой сильный, но все еще интересный проект, так же маст хев для набивания скилла.
Udacity - https://www.udacity.com/course/ud015
Дает хорошее представление о замыканиях.
Выучил основы, написал свою пузырьковую сортировку и змейку? Не знаешь как двигаться дальше?
Почитай теперь это - https://shamansir.github.io/JavaScript-Garden/
СПИСОК ИНСТРУМЕНТОВ ДЛЯ РАЗЛИЧНЫХ ЦЕЛЕЙ
Front-end: jQuery, Angular, React, Backbone, Meteor.
Back-end: Node.js, Express, Socket.io, Sails (Включает Express и Socket.io + архитектура)
Десктопные приложения: NW.js, WinJS.
Мобильные приложения: Cordova, NativeScript, Phonegap, Ionic.
GameDev: Phaser, Cocos, Pixi, Unity.
Тестирование: Mocha, Chai, Jasmin, Sinon.
Continuous Integration: Semaphore, Shippable.