24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
В этом треде адепты самого гибкого и удобного языка в мире обсуждают дальшнейшее развитие этого торжества научно-технической мысли. Официально принят ES6, а значит недостатки JS окончательно искоренены. Ура! Обсуждаем чистый JS, Node, jQuery и другие проявления этого замечательного языка, не забывая смеяться над залётными рабипетушками.
Ньюфагам: 1. Что это за язык такой? - Мультипарадигменный язык, изначально создавался для использования в браузерах как язык сценариев для придания интерактивности веб-страницам, однако в процессе своего развития преодолел этот этап и сейчас может использоваться для любых целей ввиду своей неограниченной гибкости и удивительно удобного синтаксиса.
2. Это чтобы менять цвета, и вызывать всякие всплывающие окна? - Нет. Это только малая часть того, что может язык. Сейчас, на JS можно делать игры (phaser, cocos, etc.), 3D графику (three.js), можно делать и приложения для телефонов(phonegap, ionic), можно делать десктоп приложения(NW.js).
3. Ну ясно, а че еще можно? - А еще можно использовать на сервере, причем очень даже успешно. А все благодаря платформе Node.js, и v8, который встроен во все хромоподобное. Node.js по производительности и удобству работы превосходит большинство остальных серверных языков.
4. Я щас ничего не понял, повтори. - Проще говоря, если ты делаешь огромный интернет магазин или хай лоад проект, то можешь смело использовать JavaScript и Node.js.
5. А что еще прикольного можно сделать? - А еще есть MVC фреймворки, Angular, Backbone, Ember, Knockout и другие, менее популярные.
6. Зачем оно надо? - Для создания SPA, в основном, но ты можешь копнуть глубже.
7. Очень уж много всяких фреймворков... Нельзя ли просто изучить jquery и писать все на нем? - Не стоит, можешь начать писать на жыквери, когда освоишь ванильный JS, дабы не испортить себе восприятие языка, и вбудущем не испытывать трудностей с изучением сложных фреймворков.
8. Ну ладно, с чего начать изучение то? - Дальше я приложу список материалов для изучения.
Учим JS: Книги: Дэвид Фленеган - "JavaScript: Подробное руководство"
Кирилл Сухов - "Node.js. Путеводитель по технологии"
Эдди Османи - "Разработка Backbone.js приложений"
Dr. Axel Rauschmayer - "Speaking JavaScript: An In-Depth Guide for Programmers" - Одна из лучших книг по JS. Пока только на английском. http://speakingjs.com/
Выбери себе направление. Может, ты хочешь игори делать? Тогда вперед на гитхаб, и ищи phaser, pixi и другое, выбор не маленький. Хочешь на сервер сайд, на самой хипстерской технологии? Копай в сторону node, express, socket io. Хочешь писать MVC логику? Angular, backbone, да множество их. Нельзя забывать про NW.js, позволяющий создавать десктопные приложения.
Когда добавляю/меняю файлы -- всё ок. CSS'ки создаются. Но вот когда я удаляю *.styl файл, то ничего не происходит... как сделать, чтобы при удалении, например yoba.styl удалялся и файл yoba.css? Неужели нужно вызывать таск clean перед watch'ерами, который удалит все CSS перед генерацией?
Анон, у меня такая проблема: имеется класс разметки .loadBarMain { position: absolute; width: 90%; height: 7%; bottom: 8%; right: 5%; border-radius: 2em; -moz-border-radius:2em; -webkit-border-radius:2em; -khtml-border-radius:2em; background-color: #EE7782; border: solid #E94943 0.2em; }
и имеется трабла на андроиде 4.2.2 (собираю проект phonegap в android studio) на телефоне углы блока не скругляются. То есть сам border скругляется, а фон под ним - нет. на пике примерно дорисовал как это выглядит(слева было просто лень доводить)
Анончики, хочу пройти Кантора всего (сейчас первую часть почти закончил), потом JQuery поощупать, а там и об устройстве на работку думать. Хватит этого или нет? Что запилить такого, чтобы понять как это все работает наглядно и в резюме чтоб не стыдно было кинуть? Сайтик-визитку?
Джаваскрипто-господа, реквестирую советов мудрых. Вот и закончился последний год моей беззаботной жизни, теперь у мамки на шее сидит настоящий магистр программной инженерии, которого преподаватели зовут рабом в аспирантуру, а мне оно нахер не надо. Из всего многообразия популярных языков JS привлекает наиболее, поэтому вопросы: вы вообще счастливы, что работаете с ним? Весело? И какие навыки необходимы, чтобы уверенно пойти в аутсорс жуниором?
>>539450 Я не счастлив. То, как сейчас пишут на экспрессе ваннаби хайлоадеры с 3мя хостами - обычно совершенно неподдерживаемая в лонг-тайм дрисня (inb4 async / fibers / promises, мало, кто их умеет готовит), особенно в паре с монгой, которую они пихают к месту и не к месту.
UI лапша из мира jQuery большей частью такое же малоподдерживаемое говно, это хорошо говорит о прошлом JS-девелоперов.
Глоток свежего воздуха - angular / ember, лучше в мире js ничего не придумали.
Котаны, как мне не утонуть в современных технологиях и научиться делать мобильные сайты, как к примеру мобильная версия хабра? Т.е. чтобы не тормозило и везде одинаково и удобно смотрелось. Мой знаний веба на уровне 2006 года. Php, html, ajax.
Как научиться разбираться в крупных проектах? Такие где зависимость через зависимость и наследование всего из всего. Еще и библиотеки, которые я никогда не видел. В книгах такой хуйни не было, обычно на модели и роутеры по файлу всего там, а не десятки вложенных.
>>539998 На самом деле ООП в разы проще функциональщины, просто сам язык пока не готов к этому без костылей-фреймворков.
Пересел на js с c#, который был основным после моего общения с крестами.
Я до сих пор считаю (оно так и есть) js - для быстрых, от руки проектов, не требующих большой производительности и сложности c# - золотая середина, с самым удобным наследованием ever c++ - низкоуровневые, высокопроизводительные приложения
Все остальные языки просто лишние, хотя и существуют, но видно как они постепенно пиздят идеи у этой троицы. Тот же рубен и перл многое переняли у крестов. Java вообще смесь js с c#.
>>540082 https://ru.wikipedia.org/wiki/JavaScript >при разработке была цель сделать язык похожим на Java >Испытал влияние: Self (англ.)[4], Си, Scheme[4], Perl[4], Python, Java[4], AWK[4], HyperTalk[4]
Привет, любитель веб-технологий! Мечтаешь создать свой двач, потеснить артемия лебедева и заставить течь телок и пердунов-паскальщиков от твоих баззвордов? Если ты пьешь кофе только в старбаксе, отращиваешь бороду и любишь мечтать о работе за границей то эта конфа для тебя.
>>540348 Да походу не всякий. >>540378 >Какой бекграунд? Да никакого, в принципе. До этого ковырял джаву немножко, да и давненько было, пол года назад. Но все равно некоторые параллели вижу. Ну хтмл и ксс в расчет не берем. Читаю учебник Кантора, все последовательно решаю все задачки. >Что неясно? Вот в пикрелейтед например мне не понятно как в последних двух вызовах он переходит на функции inBetween и inArray, он же идет на функцию filter, или это второй параметр в filter(arr, func) его кидает в нужную функцию? А как эти функции работают - они же возвращают единичные значения, а на выходе у нас массив...
>>540403 inArray и inBetween возвращают функции, а не значения. Эти функции затем передаются в функцию фильтра и там уже применяются к каждому элементу массива, где и собирается конечный результат в лупе. http://ideone.com/TM5vpv
>>540418 Аа, кажется понял. Сначала он обрабатывает inetween, которая дает функцию и получается как бы такая же запись, как в первом вызове. То есть он эту возвращенную функцию передает наверх в func и работает тот же фильтр, при котором на true заполняется массив, только условие теперь будет подразумеваться из той функции, которую мы вызвали изначально (inBetween). Так?
Ноданы, поясните по харду, зачем обычному фронтэндеру знание всякие функций toFixed или charAt? Где на практике можно применить всякие поиски символов в строке и возвраты длины этих строк? Поясните, паrни, а то я что-то совсем не вкуриваю, а учебник уже дней пятнадцать курю.
>>540573 Окей, допустим владелец магазина будет дибилидзе с таким прайсом, и мне придется все округлять, шоб красиво было. Но остальное мне зачем? Нах мне подстроки какие-то? Взятия их? К чему все это?
>>540577 Бляяя, правда что ли существуют такие макаки, которые не могут осилить такие элементарные вещи? За 15 дней! Нахуй ты вообще в разработку полез? Иди гамбургеры продавай, там точно никаких подстрок нету.
>>540577 >Окей, допустим владелец магазина будет дибилидзе с таким прайсом А то, что цены на товар вычисляются автоматически, учитывая всякие налоги и прочие добавочные стоимости тебя не волнует? Даже если закупочная ровно 100 рублей, до прилавка оно никогда такой же ровной цифрой не дойдёт, если не вмешаться и не округлить где-нибудь.
>>540580 Где? Да везде блядь, это основы программирования. Это должно пониматься вообще сразу без каких-то вопросов, потому что дальше будут вещи, которые в дохуя раз сложнее, так что тебе либо нужно научиться напрягать мозг прямо сейчас, либо забить на это дело.
Что-то этот д3 более волшебный чем руби с ангуляром вместе взятые. Есть одна ангулярная директива, а в ней пикрилейтед на д3. Если закомментить первую строчку коллбека вотча, график рисуется один раз и на изменение данных кладет хуй. Объясните пожалуйста, как апдейтить график при изменении данных без перерисовывания всего графика с нуля? Я эти данные не туда или не так забиндил?
Котаны, есть одна очень интересная мне вакансия, которая называется JS-практикант. В требованиях нихуя, кроме ИНТЕРЕСА к разработке на JS и ссылки на гитхаб-аккаунт не требуется. Но блять, у меня естественно нет гитхаю-аккаунта и вообще за плечами только первая часть learn.js.ru и сверстано пара простеньких макетов. Что делать - откликаться или нет? Написано еще что будут обучать и т.п.
>>540845 Залей на гитхаб что есть и сходи. Раз практикантов ищут то нихуя не нужно, а ссылка на гитхаб нужна просто чтобы совсем случайных людей отсеять.
Анон, почти уже за плечами изучение ванильного жса. Далее планирую шустро пройти жиквери, потом - базовую ноду и какой-нибудь гульп (на уровне чтобы склепать на коленке что-то простое типа блога, и понять основные принципы работы сервера), затем - реакт/ангуляр (пока не решил) Так вот, если жс с моим усохшим эникейными делами мозгом отнял условно 4 месяца, сколько времени приблизительно нужно будет на следующие три этапа? Целюсь на фронт, необходим уровень джуна.
>>540905 Если фронт, то нода тебе нахуй не нужна, ибо это фактически другой язык, с js его роднит только синтаксис и ничего больше. Реакт и ангулар - это просто фреймворки, их ты быстро выучишь. Жиквери - библиотека на пару дней изучения. А на ноду ты больше времени потратишь, а в работе так и не смодешь использовать.
Поясните за angular, могу его осилить без знаний javascript или лучше не надо? Как я понял это очень приятный фронт-енд который может работать с любым бек-ендом, это так? В чем плюсы его ну и недостатки? Никогда не занимался веб разработкой, только системной, посоветуйте как правильно вкатится в javascript,а именно что стоит написать что бы начать искать работу джуном, достаточно ли только javascript для поиска работы, как я понимаю на node.js я смогу реализовывать бэк-енд, или нужен будет какой либо (python,ruby,java)? Мой коллега занимался хайлоадом на node.js, очень много ругался но опыт у него на 2012 год. Спасибо за адекватные ответы, если поясните по хардкору за свой опыт и путь и что лучше делать а что не делать, буду очень признателен.
>>540939 Чистый js - это браузерный язык, а node - серверный. Очевидно что они разные. >>540943 Node.js полностью обеспечивает бэк. Максимум, что понадобится - это ещё nginx, но там два дня изучения. И да, в 2012 нода была версии 0.5.0, а сейчас 4.0.0. Разумеется всё изменилось и на сегодняшнйи день это один из самых удобных и расширяемых языков.
>>540947 > Чистый js - это браузерный язык, а node - серверный. Очевидно что они разные. Ты упоротый. Javascript - просто язык, никаой он не браузерный. В браузере помимо самого языка есть DOM, воркеры и всякая прочая ебола. В Node.js помимо самого языка есть потоки, хуеки, http, IO.
>>540443 mac os сейчас фактически единственное, на чем вообще можно работать, все годные инструменты консольные, но все равно часто бывает нужен фотошоп или люстра, все вместе и без боли есть только в mac os. профессия фактически смежная с дизайнерской, что поделать. наверное можно как-то и в окошках работать, но радости никакой. под линупсами все заебись, но беда с графическими редакторами, из-за каждой мелочи придется дергать дизайнеров если работешь в команде. inb4 inkscape. покупать тот, на который бабок хватает. и если для работы дома, то скорее imac, чем macbook имхо, по деньгам 1 хрен, а работать однозначно удобнее. но это уже дело вкуса.
>>540987 Живу в хохлодс, и есть неиллюзорная вероятность что с таким стеком я сосну. Рынок перегрет, всем подавай джунов со свободным английским, немецким, тремя освоенными фреймворками и парой законченных проектов на гитхабе. Потому и спрашивал о приблизительных временных затратах на обучение, чтобы распланировать время на все. Но мб и схожу на пару собеседований прощупать обстановку. На основной работе намечается отпуск как раз скоро.
>>541029 >Рынок перегрет, всем подавай джунов со свободным английским, немецким, тремя освоенными фреймворками и парой законченных проектов на гитхабе.
ну ангельский и правда необходим, без него просто не сможешь работать. а так-то джуниора берут, чтобы из него человека воспитывать, там не так важно, сколько ты знаешь, важно насколько ты готов учиться и умеешь в общение.
>>540943 У меня год опыта работы и недавно было собеседование на ангулярщика, которое я не прошёл. Мне сказали написать, как запилю какой-нибудь Open Source. Хотя на вопросы по ангуляру я ответил, а в от опыта работы с ним не было... Angular ты, может, и освоишь без знаний javascript, но ты уверен, что пройдёшь через злоебучее собеседование? Меня вот спрашивали про ООП в JavaScript в ES5 и ES6 и др. Если даже и пробьёшься через собеседование, то код тебе, скорее всего, будет тяжело писать. Фирмы, в которых пишут на Angular, редко говно-вебстудии, в которых разработчики с 5+ опытом работы не знают, что такое "сериализация" или другой банальный термин, тут с тебя и спрос будет соответствующий. Лучше осваивай JavaScript и вёрстку, потом Jquery. Набери плагинов эдак 50-100. Потом учи ангуляр и копи директивы. Хотя я ещё сам вкатываюсь в ангуляр...
Поясните, с какой книги лучше начинать полному дну в программировании. Ну то есть список книг по порядку до среднего уровня хотя бы. Желательно на русском. Да я в курсе, что читать надо привыкать на инглише, но я планирую параллельно учить и язык, а сидеть и переводить книгу со словарём будет очень долго, проще уж на русском прочитать, а потом не ясные моменты глянуть в оригинале.
Пацаны, а вот вообще удобно клепать сайты для заказчика на ноде например? То есть как там с cms (какие юзаете?), если надо будет потом что-то редактировать. И какие подводные камни по фрилансу в целом. Чето не хочется ебаться с вордпрессом и пыхой, думаю перекатиться.
Господа, кто проходил курсы по ангуляру на кодакадеми? Или просто знающие ангуляр, помогите. Там, в курсе о директивах, показан пример написания своей директивы и вроде всё понятно, но в конце говорится, что использовать директиву можно через html объект, условно называемый app-info. Дело в том, что нигде при описании директивы не было указано именно это название, откуда оно взялось? Ангуляр берет название директивы appInfo, пропускает через downcase и добавляет дефис само?
>>540943 Всем привет! Сегодня почитал, поделал пару примерчиков, все понравилось. Возник вопрос, стоит ли сразу читать что-то о хорошем стиле разработки, или уже на более серьёзных задачах к этому приходить, имеет смысл для обучения использовать IDE мне пока хватает блокнота если не хватит перекачусь в React или Sublime этого будет достаточно? Или есть какие либо плюшки от IDE? Если ли в javascript что-то вроде PEP8 ? Что бы пояснялось как верно оформлять код, отступы там всякие, и что бы было общепризнанным, если ли подобное в javascript? ES6 стоит прочесть их 500 страничную телегу или нет?
Я решил идти по долгому пути, так как ответа мне не дали, я решил что если Ангуляр это фреймворк то логично выучить изначально сам язык а потом фреймворк.
>>541345 >Я решил идти по долгому пути, так как ответа мне не дали, я решил что если Ангуляр это фреймворк то логично выучить изначально сам язык а потом фреймворк. Правильно решил. >ES6 стоит прочесть их 500 страничную телегу или нет? После того, как выучишь ES5. >имеет смысл для обучения использовать IDE В начале - нет, достаточно Brackets. Блокнот - это пиздец, а брекетсе много удобств. Когда станешь совсем охуенным программистом, перекатишься на WebStorm, но сейчас тебе это никаких профитов не даст. >Если ли в javascript что-то вроде PEP8 ? Что бы пояснялось как верно оформлять код, отступы там всякие, и что бы было общепризнанным, если ли подобное в javascript? Если не путаю, сейчас пишут как раз. >стоит ли сразу читать что-то о хорошем стиле разработки, или уже на более серьёзных задачах к этому приходить В хороших учебниках сразу учат писать хорошо. Пока просто следи, как пишут в учебниках. Когда станешь охуенным, имеет смысл навернуть книжку по чистоте кода и прочитать исходники какого-нибудь крупного проекта.
Котаны, что-то не очень понял этот пример из книжки (тема - преобразование объектов). Говорится, что + возвращает числовое преобразование. А тут плюс скалдывает строки (понятно что ValueOf в данном случае возвращает строковые, но все же). И почему на минус например он преобразует их как числа? Ниже написано про особенность объекта Date, цитирую: >"…Но оператор + для Date использует именно toString (хотя должен бы valueOf). >// бинарный плюс для даты toString, для остальных объектов valueOf >alert( new Date + "" ); // "строка даты"
Дак в чем тут исключение-то, судя по логике первого примера? Запутался.
>>541329 >JavaScript thread >Так меня и не интересует JavaScript. Меня java интересует. С твоим уровнем интеллекта тебе стоит заняться как раз таки JavaScript.
>>539450 Ненавижу и люблю одновремеено. Люблю за дешевую поддержку и читаемость (если правильно писать), кроссплатформенность (сделай приложение для мобильников с базой веб-фронтенда за неделю), ненавижу за корявость, ебаные конструкции (TypeScript спасает немного), ебаные фреймворки (бэкбон это вообще прошлый век с ебаным и кривым механизмом наследования), ебаный NPM Нету нормальных DI библиотек (пришлось написать), нету нормальных ДМ ОРМ (думаю появятся позже так как декораторы таки приделали) В целом устраивает, особенно когда платят хорошо.
Кто-то там говорил что есть 2 вида ЯП - те на которые постоянно жалуются и те которые никто не использует.
>>538501 (OP) Аноны сколько ещё будет жить JS? Посоветуйте книжку чтобы с 0 начать его учить, фреймворков дохуя, даже не знаю что потом будет нужно. Ангуляр говорят нужен? Аджакс это же маст хев?
>>541826 Лет 4-5 будет активно развиваться, пока не допилят WebAssembly, далее похороны, скорее всего все перейдут на TS/Dart/какую-нибудь еще хуйню , которые будут уже компилироваться в WebAssembly инструкции.
>>541864 >отбитые HP, Walmart, Amazon - вот уж отбитые! >>541880 >TS/Dart А что мешает использовать их сейчас? Не буду в сотый раз повторять про то, что вебассембли - это вообще для другого, всё равно у тебя ума не хватит на это. Напомню только что нода существует в одном мире с рабями, питоном, goвном и прочим и умирать не планирует.
Алярма! У меня нубскийа может и не очень вопрос. Есть сервер на node js, и сейчас по http-запросу /get в браузере он возвращает таблицу с данными из JSON. Есть приложение (html+js), из которого отправляется get-запрос. Как сделать так, чтобы в ответ на http запрос возвращалась таблица, а в ответ на get-запрос возвращался json? надеюсь, что понятно объяснил проблему, в первый раз прошу помощи
>>542175 >>542173 Не думаю, что так. Наверное мне правильнее было сказать, что при переходе в браузере на localhost:8888/get возвращается таблица, а я хочу, чтобы при GET-запросе на localhost:8888/get возвращался JSON.
>>542120 >Опасность чего отсутствует-то? Текст не гуглитс Если интересно, то >Seibel: Couldn’t one argue that the security problem with ++ really has nothing to do with ++ but with unchecked array bounds or raw pointers? It isn’t a security risk in Java because if you ++ off the end of the array you just get an exception. >Crockford: Yeah, it’s certainly less dangerous in Java. And that danger doesn’t exist at all in JavaScript because it doesn’t have arrays. But even so, I found that the quality of my code got better when I stopped doing it, just because it invited me to write one-liners and that’s usually a bad idea.
>>542072 Спасибо за пояснение. А хули тогда в видеокурсе меня учат, что это массив. Наверное, не хотят слишком усложнять для ньюфага.
>>542189 > А хули тогда в видеокурсе меня учат, что это массив. Потому что так это здесь называется, просто это не совсем такой массив, как в более традиционных языках.
>>542597 >Нанимали сеньора-помидора на 4к+? Позиция junior-developer. У юниора будет даже меньше, чем 1к$. Я хз откуда вы вообще все тут на дваче получаете по 4-5к$. Может, ещё и работаете по 4 часа в сутки? В Америке что ли работаете? Или remote work с upwork'a?
>как запилю какой-нибудь Open Source. В Open Source нужен не проект с 1000-ей звёзд на гитхабе, а сойдёт и какой-нибудь pet-project, я думаю. Напишу что-нибудь в MEAN-стёке и просто запушу на гитхаб. Думал борду запилить, да времени не так много. Чатик - слишком просто... Напишу какую-нибудь CRM и пусть будет Single Page Application с ui-router и анимацией при переходе. Или это не труЪ?
>>542620 >Напишу какую-нибудь CRM и пусть будет Single Page Application с ui-router и анимацией при переходе. Или это не труЪ? Слишком слабо для такой зп.
>>542620 >Напишу что-нибудь в MEAN-стёке и просто запушу на гитхаб. Запуш на что-нибудь поддерживающее ноду, хероку там. Я сильно сомневаюсь что кто-то будет читать твой код.
>>542623 Да ну я тоже думаю, что слишком слабо... да вот что только написать тогда? У меня на гитхабе несколько проектов только от того, что либо "слишком просто", либо "никому не нужно", а я, в итоге, прокрастинирую и не пилю ничего... Ну, клон двача норм будет? На дизайн время терять не хочется, а нынешний какой-то не продающий слегка... Может, анон ссылку на какой-нибудь проект кинет? За какой по уровню проект анон готов заплатить мне 1000 баксов при условии, что я буду разрабатывать его месяц? >>542630 да, точно... спасибо за совет. На хероку деплоил пару рельсовых приложений, а сейчас что-то из головы вылетело.
Вот есть ебучая html форма с инпутами, я ее $("#form_id").serialize() получается строка вида "firstname=ivan&lastname=eblan" Если $("#form_id").serializeArray() то получается поебота вида [{ name: "firstname", value: "ivan" }, { name: "lastname", value: "eblan" }]
А я хочу чтобы это был просто такой жсон: { "firstname": "ivan", "lastname": "eblan" } Хули делать?
Пацаны а вот если мне не охота платить за ssl-сертификат и я хочу сгенерить self-signed, то клиенты же полюбому будут видеть жирное красное предупреждение от браузера мол сайт опасный т.к. подписан хуй пойми кем, или можно это как-то обойти? Ничего особо не нагуглил, кроме того что безопасно отправлять инфу вроде паролей можно только по https.
>>542640 >За какой по уровню проект анон готов заплатить мне 1000 баксов при условии, что я буду разрабатывать его месяц? Даже если тебя возьмут работать в ололо-офис, в лучшем случае будешь крадошлепствовать, а в худшем - чистить код вилкой за другими крадошлепами. Так что пиши форум с регистрацией и не выёбывайся. >>542644 Повесь айди на каждый инпут и собирай свой жсон руками?
Анон, мне нужно после загрузки ксс в браузер и его изменения (например $('h1').css("color", "red"); и др.) как-то получить этот ксс с изменениями, как это сделать?
>>542788 var h1 = document.styleSheets[1].cssRules[1].cssText;
При вот таком изменении $('h1').css("color", "red") свойства и при проверки console.log(h1) бразуер пишет дефелтное - блек, но при проверки вот такой: console.log($('h1').css('color')) пишет: rgb(255, 0, 0) то есть ред, что и нужно. ПИЗДЕЦ
>>542771 >>542788 >>542791 Объясни пожалуйста что ты пытаешься сделать, и не удастся ли тебе избежать лучей поноса от того кто будет читать твой код если ты будешь менять цсс добавляя и убирая классы с элементов?
>>542865 Мне нужно взять ксс после загрузки в броузер, со всеми изменениями которые произошли в ксс во время сессии. Далее я посылаю взятое в бд. Так же в бд посылается структура хтмл измененная во время сессии.
>>542880 УПРЛС? >>542878 спрашивает, не редактор шаблонов ли ты пишешь. Я, в свою очередь, спрошу - не ебанулся ли ты писать его на жквери. Если честно я в душе не ебу как они работают, но я бы как наверное хранил цсс в жсоне, каждый селектор в отдельном объекте, каждое правило в отдельном свойстве, на загрузке собирал цсс ангуляром, писал в футер и биндил правила к формам на каждом элементе, а при изменении этих форм перезаписывал данные в жсоне. НО НЕ ЛЕЗ БЫ НЕМЫТЫМИ РУКАМИ, ОБМАЗАННЫМИ ЖКВЕРИ, В АПИ БРАУЗЕРА.
Сап джаваскриптаны, я сисадмин и хочу научится делать маленькие и простые сайты для себя. ЖС подойдёт для моих целей? Чтобы и бекэндподнять и фронтенд запилить.
Хелп по ноде. Если мне нужно запустить n асинхронных задач и дождаться пока все они выполнятся, прежде чем продолжать, то как мне это сделать. Сам себе представлял как то так.
var done = 0; for (var i = 0; i < n; i++) doAsyncShit(function (err, res) { count++; });
while(count != n) {};
Но вроде как цикл while сильно грузит проц, а как сделать там норм слип я не знаю, да и кажется есть способ правильнее. Пикрандом.
Глупый вопрос по ноде: У неё есть вообще какое-то централизованное хранилище модулей на компьютере, как в том же питоне? А то какой модуль через npm ни поставлю — везде директория node_modules и всё нужное там. Нахуя мне миллион копий всяких request'ов-то?
Котаны, если кто разбирается в ноде, помогите пожалуйста. Пытаюсь вытянуть из npm один нужный мне модуль, но он почему-то не ставится. Пишет в начале варнинг о том, что мало места, хотя свободно еще 20Гб на разделе. Может быть я что-то не так делаю. Пикрелейтед.
>>543526 На разделе с NTFS, куда я и пытаюсь установить модуль (создал проект с каталогом node_modules) - 20Гб. На /home 2,5Гб, на / ~290мб >>543532 >Ты точно из под рута? Ну прописываю sudo -s, хз в никсах не очень шарю в винде убого с консолью работать, на мак денег нет.
Итак вышла новая спецификация ES6, а исчерпывающей книги по ней все-еще нет? Читаю ДС: Подробное руководство про ES5, и вот понял что оно не актуально, насколько? И что сейчас актуально?
>>543661 >>543664 Большое спасибо, теперь знаю хоть названия, а скачать то как? в штатах воровать софт и литературу совсем не принято что-ли? Ну я насколько можно не ворую софт (линукс, бета версия виндовс сервер 2016, бесплатные версии читалки, швабодное ПО, студенческие лицензии фильмы и музыку конечно же пизжу, еще и в не свободных кодеках), но литературу это же святое дело как без нее то?
Пишу кароч имиджборду на ноде. Хочу делать так чтобы новый тред не удалял старый, а например тред удалялся, если в него неделю никто не пишет. Решил загуглить как вообще жс относится к setTimeout на такое большое время. Третьей ссылкой выпал хабр. >Наверное, каждый, кто начинает изучать nodejs, испытывает трудности с переходом на событийно-ориентированное программирование СУКА БЛЯДЬ НЕТ НЕ КАЖДЫЙ, ТОЛЬКО ТАКИЕ ПЫХАРИ ХАБРАБЛЯДИ КАК ТЫ, ЖЕРТВЫ РОССИЙСКОГО ОБРАЗОВАНИЯ Ну и дальше не читал. Аж проснулся от батхерта. Как же мне бомбит от хабра.
>>543701 У тебя в корневом разделе (первая строчка) нет места. А в разделе /tmp вообще места не предусмотрено. Так что чисть корневой раздел. Возможно, логами засралось, возможно кешом. Возможно ты прост омало места выделил под систему, всего-то 7 гигов. У меня, например, 30G под корень (занято 20G), 2G под /tmp.
>>543686 я еще погуглю >>543708 Html5 поддерэивает дату, прикрепишь к постам черерез скрипт или как. Потом пиши что если переменные мясяц и день сменились боллее чем на 14 то удаляю тред. Там разве нет охуенного API?
>>543747 Нет, на русском пишу. Можно выключить предпочтительный язык поиска в гугле только если сам гугл на английский перелючить, чтобы почта и ютуб были тоже на инглише, а мне это неудобно. Уже пытался убрать хабр из выдачи.
Смотрите какая ситуация. Повесил onclick на элемент-контейнер. В нем еще кучка элементов с нужной мне data-id. Когда срабатывает событие я проверяю наличие у event.target data-id и чето делаю. Но вот порой в эвент таргете живет дочка нужного мне элемента. Решал проблему через или. if(event.target.dataset.id || event.target.parentNode.dataset.id) Сейчас вот клик происходит на вложенный элемент дочки и получается вообще хуйня с тремя или более ||. Есть какой более изящный способ? jsfiddle.net/ez6nwa4r
>>543865 >>543865 Во-первых, ты бы для начала закэшировал часто используемые значения. Event - это объект, у которого ты спрашиваешь свойство target, которое тоже объект. И каждый раз интерпретатору javascript нужно будет найти свойство "target" у "event" и "parentNode" у "target" и т.д. Рефактори и оптимизируй код для начала.
var target = event.target; var parent = event.target.parentNode;
Так будет и короче и быстрее по скорости выполнения. Читай как ищется свойство у объекта в том числе и с поиском в цепочке прототипов.
>>543941 Все равно понять хочется, вот на примере - что происходит в строке 9? Откуда он берет аргумент a до передачи контекста в функцию work? Что происходит вообще?
>>543949 makeLogging возвращает функцию, принимающую аргумент a. К этой функции привязано замыкание с f и log. Когда функцию, созданную makeLogging вызывают, она пишет в log (из замыкания) свой аргумент, потом вызывает f (из замыкания) с этим же аргументом.
>>543949 Ну, смотри... в строке 16 написано: work = makeLogging(work, log);
идём смотрим makeLogging. в неё мы предаём функцию и log и возвращаем функцию обёртку wrapper, которая принимает аргумент "a".
В строке 16 ты вызываешь makeLoggin, в которую передаёшь функцию и лог, которые используются внутри функции-обёртки и makeLogging возвращает тебе в work эту функцию-обёртку, которая в свою очередь ожидает один параметр "а". Ты вызываешь work(1), а это выполняются строки 7-10.
>>543956 А можешь в двух словал объяснить, что такое замыкание? А то я много слышал о них, об их важности и полезности и так далее. Но на скрине не вижу вообще ничего особенного: добавили некое действие перед вызовом функции, "расширив" её, так сказать, и всё. Такое оущщение, будто это просто какое-то умное словечко придумали для описание примитивнейшей вещи, что ведёт к запутыванию людей. В питоне, например, декораторы точно так же работают, но там слова "замкание" я ни разу не слышал.
>>543963 Ну грубо говоря, если ты внутри функции определяешь функцию (с именем или анонимную) и возвращаешь её, то вместе с этой функцией захватываются и сохраняются локальные переменные (и аргументы) создающей функции. Вот набор этих переменных и называется замыканием.
>>543967 Вся суть в том, что несмотря на то, что makeLogging уже отработала, ее аргументы продолжают существовать вместе с wrapper.
>>543860 Знаком ли ты с Event Bubbling и Event Propagation? У тебя в одном контейнере несколько продуктов? Почему бы не вешать онклик на каждый? И что это за функционал такой который реализуется фронтэнд жабаскриптом который может быть тупо отключен?
>>544001 Братишка, а поясни как получить этот самый высокий уровень JS. Понятно, что надо учебник прочитать. Того же Кантора к примеру. Этого хватит, чтобы быть уверенным в своих знаниях ванили? И вообще, как это можно - освоить столько хуйни и что-то сделать из всего этого самому, без наставника?
Котаны, напомните удобную функцию, которая позволяет порезать строку на слова по пробелам (без регулярок) и запихать все это дело в массив. Совсем забыл название и нагуглить не могу.
>>544082 Знания - хуита. Берешь и делаешь. Не знаешь как делать - нагугли. Не можешь нагуглить - выучи английский и погугли еще раз. Когда попишешь говнокод эдак с полгода - можешь прочитать умную книжку по best practice и понять почему твой код - говно. Но если ты сейчас пойдешь читать 700 страниц фленегана - в голове ничего не останется, я гарантирую это. День в который ты не написал ни строчки кода не считается днем изучения программирования, даже если ты 25 чисов читал книги.
Вот >>544082 что с тобой будет, если будешь читать книги на русском. Достаточно было спросить у гугла разговорным английским "how to split a string with javascript".
>>543630 >es6 охуенный цикл статей на http://ponyfoo.com/ вот там чувак лучше всех разжевал имхо. на русский наверное тоже переводят, но тут я уже хз где чо.
>>543889 ну это на learnjs так пишут, что никто не понимает, just as planned. лучше уж стоянова про шаблоны почитай. вообще это элементарная хуйня на самом деле, которую люди пишут, не задумываясь, что это "декоратор" там или "обертка", можно не париться.
>>544168 удваиваю. больше кода в день и забыть про русские ресурсы -- отличный рецепт. в ру сегменте слишком много треша и слоупоков, которые не шарят, ситуацию немного вытаскивают ребята, которые не могут на этот израиль смотреть и из жалости переводят годные статьи, но все равно. у опа в шапке очень годные ссылки. learnjs -- это конечно титанический труд и чел молодец, но лучше его воспринимать как справочник по синтаксису, все равно на vanillajs вы писать не будете, научиться современному js, решая там абстрактные задачки -- невозможно. точнее наверное возможно, но угробите кучу времени и все равно потом придется разбираться во многих других вещах.
Коданы. 1) Нода 4.0 обратно совместима с Нодой 0.12? 2) На чем писать бекенды чуваку из мира Python/Джанго? Планирую посмотреть на Hapi.js, Сейлс не нравится (я знаю, что он сделан поверх Экспресса, на Экспресс смотрел). 3) Вы делали микросервисы для ноды? А вообще? Как успехи? 4) Реакт заебись. Это не вопрос. С бабелем особенно. Всем добра, анончики!
>>544279 >1) Нода 4.0 обратно совместима с Нодой 0.12? Нет. >2) На чем писать бекенды чуваку из мира Python/Джанго? Планирую посмотреть на Hapi.js, Сейлс не нравится (я знаю, что он сделан поверх Экспресса, на Экспресс смотрел). Asyncio, Twisted > 3) Вы делали микросервисы для ноды? А вообще? Как успехи? Да, на основе asyncio и кастомного фреймворка который делает писать ЕЩЁ МЕНЬШЕ и заебатый DSL для валидации входящих-исходящих данных. > 4) Реакт заебись. Это не вопрос. С бабелем особенно. Вообще не ебу.
>>544279 >1) Нода 4.0 обратно совместима с Нодой 0.12? Насколько мне известно да, но подробнее надо гуглить. >2) На чем писать бекенды чуваку из мира Python/Джанго? Планирую посмотреть на Hapi.js, Сейлс не нравится (я знаю, что он сделан поверх Экспресса, на Экспресс смотрел). Express + Coffescript. >3) Вы делали микросервисы для ноды? А вообще? Как успехи? Делал, очень удобно, по сравнению с другими языками просто глоток свежего воздуха. >4) Реакт заебись. Это не вопрос. С бабелем особенно. Мы знаем.
>>544323 Выводи в console.log event.currentTarget, а не event. Чем событие навешиваешь? jQuery, React? И не забудь передать event в onClick --> onClick(event).
>>538501 (OP) анончики, если у кого есть минутка времени, помогите, будьте добры, с заданием или хотя бы поясните, как делать надо сделать, используя прототипное ооп
>>544354 > так вышло Вот и страдай. Решил устроиться на работу, дали тестовое задание, а ты просрал все сроки и в последний день решил обратиться к ананасу.
>>544343 Учи Angular раз он тебе нравится, а React потом время изучить будет. Я вот недавно зашёл на upwork и вбил в строку для поиска работы "Angular" = 648 вакансий, а "React" = 150 с чем-то. Angular мне тоже нравится, так что выбор очевиден.
>>544350 Мне вот тоже тестовое дали позавчера. На реакте надо клиент написать и чтобы оно взаимодействовало с модулями из ноды. А я вообще хуй знает что и как делать, я говорил даже на собесе что почти нихуя не знаю. Мне сказали - ну посмотрим как можешь искать информацию и учиться. Сроков кстати не сказали, как сделаешь - сдашь. А я вообще не понимаю как делать это. Пытаюсь курить мануалы какие-то, но всего так много, что голова через час начинает кружиться, а нихуя идей как не было так и нет. Видно не судьба мне устроиться на работу.
>>544350 А по твоему заданию я может, ошибаюсь, но в скринкасте по ноде что-то подобное смотрел, автоообновление без перезагрузки страницы. Посмотри, может поможет.
>>544406 >>544402 Может, вам нужно планку опустить и на верстальщиков идти? потом запилить какой-нибудь домашний проект на крутых технологиях и потом собеседоваться на соответствующие вакансии?
При нажатии на "Add Element" добавляется либо "Element n", либо введённый в поле текст. По кнопке "Add" добавляется либо "Element n.m", либо введённый в поле текст. При нажатии "Edit" изменяется имя элемент на введённый в поле текст.
Сохранив localStorage.tree = JSON.stringify(tree) можно потом загрузить. Правда, функции добавление всех существующих элементов не сделано, но мне надоело.
>>544472 >Это ты так значение self по дефолту передаешь? Да. Потому что иначе this внутри функции будет указывать на вызвавший элемент ("кнопку" <a> или код в href, что-то такое), а не нужный мне объект.
>>544478 Добавление через протоьтип никак не повлияло бы на вышеуказанную причину, из-за которой пришлось "function(){}(this)" писать. Изменять класс и существующие объекты мне не нужно было, поэтому и не стал заморачиваться.
>>544506 >Потому что иначе this внутри функции То есь, this-то так и будет указываь не туда, но через self я могу до элемента добраться. Если есть более удобный способ биндить функцию объекта на эвент листенер элемента - с радостью послушаю. Поэтому что это какой-то костыль, по-моему.
Вот например у меня типа код: io.on('connection', function(socket){ var id = 123; function doTest{ //.... } } Т.е получается для каждого коннекта создается переменная id и функция doTest. Когда юзер отсоединиться это всё автоматический удалиться или так и останется и будет жрать память, и это нужно все вручную удалять?
Пацаны а для разработки с ангуляром например или еще с чем надо держать у себя nodejs на пекарне (какие профиты) или достаточно чтобы он на серваке был?
>>545321 А не проще разрабатывать и тестировать фронт и бек на своей пекарне а потом перенести на сервак? Там еще bower есть какой-то, а для него нода нужна.
И да, еще вот такой прикол пишут в офф туторе: While Angular applications are purely client-side code, and it is possible to open them in a web browser directly from the file system, it is better to serve them from a HTTP web server.
>>545327 как бы node+npm+bower должны стоять априори. ну можешь спокойно развернуть у себя локалку на browsersync и просто делать запросы к json файлу или же развернуть локалку на node+express
Котаны, а где вообще почитать про взаимодействие клиента с сервером и вот это вот все? Как вот например обычный JS/react/angular связать с нодой и чтобы это все вместе работало?
>>544364 Ну т.е. я ответил на твой ответ? Вместо ебанического event.target.dataset.product || event.target.parentNode.dataset.product || event.target.parentNode.parentNode.dataset.product надо юзать event.currentTarget.dataset.product
Какие могут быть глобальные причины, почему некое веб-приложение (громоздкое, сорт оф риалтайм связанное со всякими базами данных, ASP.NET и так далее) работает в хроме, но не работает в фаерфоксе? Я не имею в виду разницу в жс-функциях и каких-то мелких непоправимых фичах, а что-тото такое, что прям ну никак абсолютно в фф не работает. (В фф логинится, полоска загрузки доходит до конца и всё, стоит на этом). с ashx файлами про какие-то проблемы в интернетах пишут, но там внутри-то просто какая-то ж функция или объект создаются, так что это можно было бы и вынести куда-то. А то пришла идея покопаться и, возможно, найти способ завести это всё на фф, но может нет смысла. Просто сама программа-то, по сути, берёт данные с сервера, отображает у меня на экране, при нажатии мной кнопочек отправляет данные обратно на сервер. Ну там всякие свистелки вроде оповещений и прочего, но это ж вебсокет и поехали). В общем, не вижу, почему это не может быть кроссбраузерным.
Добрый день, господа. Я вообще джавист тоже начинающий, но сейчас волею судеб учу JS. Делаю пятнашки в качестве второго учебного задания. Такой вопрос. Все костяшки в моей реализации - div'ы, которые генерятся скриптом. Как привязать к ним eventListener (чтобы двигались) наилучшим образом (без жкверя и прочих либ)? Понятно, как это сделать, когда у элемента есть id, а в данном случае как? Не пинайте сильно, я пока нуб нубом в джаваскрипте и вообще у меня от пока что него пикрелейтед.
>>545776 >Понятно, как это сделать, когда у элемента есть id, а в данном случае как создавай дивы с id
>наилучшим образом тут и холивор начаться может, но вообще лучше вешать event на родителя и смотреть, в каком из детей затриггерилось. тогда можно и по номеру ноды смотреть, но поначалу проще id всем раздать имхо, чтобы не путаться.
>без жкверя и прочих либ чистый js это хорошо конечно, но нативные методы DOM такие уебанские, что может и не стоит брезговать? все равно придется ведь разбираться. от jquery/etc отказываются либо когда проект совсем крошечный и глупо ради пары функций библиотеку тащить, либо когда у тебя свои обработчики или селекторы во фреймворке/другой либе например. в противном случае ты придешь к тому, что все равно свои обертки напишешь довольно быстро, хули толку-то?
>>545562 Был у меня случай с вёрсткой, которая работала во всех браузерах и на разных компах, а у одного конкретного человека под фаерфоксом блок слетал в сторону и такое было только на его компе и на его фаерфоксе... Не помню, как исправлял. Может, к координате прибил позиционированием. Я думал, что только я сталкивался с подобным, а оказывается, что нет...
>>545763>>545819 Ну, на ие тестил — там тоже фигня, но останавливается ещё на шаг раньше: после логина (надпись authenticated появляется) останавливается на "пожалуйста, подождите" с крутящейся хреновинкой, не пытаясь ничего загружать, как на фф. Сафари ставить лень, а больше браузеров и нет. Да и оно как бы от разработчиков "только для хрома", и там не с вёрсткой проблемы, но я упрямый и хочу найти способ. Просто может вам известны какие-то причины, по которым можно разу сказать, что затея бессмысленна.
>>545912 >Поясните, чем внутри прототипного класса отличаются переменные объявленные с помощью this и те, которые объявлены через var? через this.smthg объявляются "методы", прости Господи, "класса" (или доступные снаружи свойства).
вообще все это "классическое" программирование в js -- отдельная тема. если уж очень хочется или заставляют, в es6 сахарку завезли жеж, лучше им теперь пользоваться.
+ вся контора предполагает систему сборки, народ любит gulp/webpack/grunt например, тут я не могу советовать, ибо использую свои bash-скрипты.
+в es6 завезли модули (см. babelify, http://frontender.info/es6-modules/ ), но пока что это это лишь сахарок поверх нодовского require. но к синтаксису наверное уже имеет смысл привыкать.
>>546131 вдогонку: со всеми этими заморочками народ борется за оптимизацию больше, чтобы на выходе был один сжатый файл (и один запрос соответственно), так-то по старинке можно сделать неймспейс и в него добавлять методы. по большому счету, особой беды нет, просто парочка лишних запросов, тут зависит от структуры сайта, если со своего домена немного добра подгружается, это и вовсе значения не имеет. углубленно история вопроса примерно изложена тут: http://habrahabr.ru/post/181536/
>>545562 Во-первых, открой веб-инспектор браузера, и посмотри, какая ошибка выводится в консоль. Во-вторых, у Chrome и Firefox есть небольшие различия в том, как называются свойства DOM-элементов (не помню, какие именно, какие-нибудь clientHeight/innerHeight). В-третьих, хром встяаляет в обработчик события аргумент event. Т.е. такой код element.onClick = function () { event.preventDefault(); } выдас в FF ошибку, а в хроме все пройдет без сучка и задоринки
Тут есть те кто понимает ангуляр и может объяснить, а не послать? Зачем нужен track by в ngrepeat? В каких случаях он используется? Что-то читаю, я про эту функцию - читаю, но понять нихуя не могу.
>>546469 Для улучшения производительности, например. Ангуляр хэширует дом, и если там один и тот же элемент, то не перезагружает его (дом), track by позволяет указать по какому полю следует хэшировать и если это поле совпадает (а остальные джа емогут не совпадать), то и дом не будет перезагружаться. Как-то так, не знаю понятно ли объяснил. Используется не часто.
Парни подскажите, если я знаю покачто только основы жаваскрипта(ну пару событий могу сделать чтобы форма появлялась, слайд менялся на клик, ну такое легенькое могу) можно начинать учить сразу jQuery? или лучше дальше учить чистый жс?
>>546527 https://jsfiddle.net/kbkb58ga/ А вот такую вот штуку запилить сложно? сколько примерно времени с почти 0 в JQuery нужно чтобы освоить это примерно хотяб.
>>546542 Ты хочешь сам такую сделать или с помощью плагина? С помощью плагина минут 5-10. Если сам, то даже не знаю, мне сложно сейчас оценить, т.к. для меня это кажется достаточно простым сейчас. Но думаю день-два, не больше.
>>546552 Лол, ну он же сказал с нуля. Тем более если с умом делать, если не просто привязать его к чему-то конкретному, а конструктор закодить, то там надо много чего продумать.
Ползунок правильное название - слайдер. Да, слайдер - это именно ползунок а не листающиеся картинки делается на jQuery UI за пять минут без знаний, при условии доступа к документации.
>>546586>>546601 А в чём трудность-то? Если ты не можешь сам на жс написать, значит ты нихуя не понимаешь, как оно там рабоатет, и лишь как макака кнопочки тыкаешь на чёрном ящике. А если представляешь принципы работы, то и на ванили напишешь быстро, разве что кода длиннее, потому и времени потрачено будет слегка больше.
>>546628 currentTarget возвращает то, на что ты навесил обработчик. Ты его навесил на window, поэтому он у тебя возвращает window. Навесь его на то, что тебе нужно использовать в обработчике клика.
А есть у кого пачка техзаданий по SPA? Или знает где их взять? Хочется практику пройти по AngularJS, а пока нашел только одно ТЗ, но оно сложное очень.
>>546578 >jQuery UI Где таких пидорах выращивают? Хоть бы не позорился про это говно не писал. А во вторых выше уже это написали >С помощью плагина минут 5-10.
>>546604 > А в чём трудность-то? Если ты не можешь сам на ассемблере написать, значит ты нихуя не понимаешь, как оно там рабоатет, и лишь как макака кнопочки тыкаешь на чёрном ящике. А если представляешь принципы работы, то и на ассемблере напишешь быстро, разве что кода длиннее, потому и времени потрачено будет слегка больше.
Хэй, парни, которые хотят пойти в веб, не интересует ли вас создание совместной прилаги? Пытался всё делать сам, но заебался с разметкой, стили вставлены прямо в html для нормального отображения...в общем - пиздец. Java-кун
Пацаны а чё у меня mean после генерации создает папку с кучей файлов на 300+ мб, это нормально или я что-то не так делаю? Если нормально то нахуя так делать вообще, чё потом прямо в ней работать удобно?
>>547091 Это ведь главный тред по всему web ui. Да и если ты не заинтересован, пусть ответит кто-нибудь, кто заинтересован. Плюс, прямо в шапке указаны MVC фреймворки.
React господа есть? Подскажите, как общаться двум независимым компонентам? Есть компонент1, и компонент2. У компонент1 есть state health. Я изменяю его внутри компонент2, но компонент1 не меняет значения, нужно как то передать новый стейт в первый компонент, но как это сделать, если они не имеют родителя, и вообще отдельные?
>>547124 ну они рекомендуют там делать родительский компонент всего приложения, который все остальные рендерит и в нем хранить уже state, при изменении его он сам разберется, котого из детей перерендиривать, https://facebook.github.io/react/tips/communicate-between-components.html : >For communication between two components that don't have a parent-child relationship, you can set up your own global event system. Subscribe to events in componentDidMount(), unsubscribe in componentWillUnmount(), and call setState() when you receive an event. Flux pattern is one of the possible ways to arrange this.
сами они на при этом отправляют разбираться с flux.
+ можно просто замутить внешний контроллер, откуда будет перерендериваться второй компонент, если "you use react as V", но это типа не true-react-way и все такое.
Кароче, есть сервер на node.js типа игрулька. И есть 900 видов оружия в таблице БД. Инфа там простая: ид, имя, урон. Так вот, как лучше сделать для производительности: таскать каждый раз из базы по одной записи или при запуске сервера считать все записи в массив и брать уже оттуда все, а массив пусть постоянно весит в памяти?
>>547113 node_modules с модулями внутри которых тоже есть node_modules с модулями и у них тоже node_modules у которых...? При этом модули повторяются в разных модулях, тут явно что-то не так.
Аноны, что-то не понимаю. node.js дал нам фулл-стек полностью на JS. Но какого хуя, ебанутые фронтендщики не верят в этом и предлагают на бэкэнд всякую хуйню типо php? И среди нас есть такие долбоёбы тоже. Какого?
>>547190 Начнём с того, что писать фронтенд и писать бекенд это ахуеть какие разные вещи, несмотря на то, слова будут одинаковые. И закончим тем, что жс мало кто знает, на самом деле, и вход в ноду намного выше чем в пхп.
>>547231 >нода сырая (= молодая, не успела развиться) >ОНА ДОЛЬШЕ ТЕБЯ ПРОЖИВЁТТ!!!1 С логикой совсем не дружишь? Никто не говорил, что нода загибается, кретин.
>>547269 Я вообще мимокрокодил. Но может потому что у тебя с 39ой строчки идёт биндинг на переменную g, которую ты в 35ой обьявил, а ев 52ой ты второй биндинг не делал?
>>547747 Отнюдь. Говноконторки обычно все делают на вордпресе, друпале, рельсах, джумле и не заёбываются. Ангулар пока есть только у самых прогрессивных.
>>547749 на сегодняшний день классическая днище-контора с говнокодерками и тимлидами ебанашками это как раз таки ангуляры, гульпы, реакты, ноды. тупость, полная помойка и говно в коде. быдлокодерочки с зашкаливающими амбициями уверенные в том, что реализуют "лучшие практики", что у них "чистый код", что они опытные и т.д. в реальности просто треш воняющий. проекты ненужные никому разумеется (или некое модное говно на деньги частного инвестора дауна, или просто распил немного облагороженный, причем сами "программисты" настолько тупые, что не понимают в чем дело)
это вот и есть ангулярщики среднестатистические.
вордпрессы я вообще в расчет не беру, этого почти не существует. может кто-то делает вид, что у него "контора" такая, но реально там наверное школьник на фриланс.ру пытается перепродать чьи-то услуги. но речь же была о "конторах" эти байки про вордпрессы и жумлы - это просто некоторые себя так утешают тем, что где-то еще хуже. да нету уже нигде хуже. хотя в целом конечно, даже под днищем иногда может оказать еще большее днище.
>>548201 Да блевать тянет от программирования, от "лучших практик", от "правильных языков". У некоторых "зашкварных" технологий есть фатальное преимущество: они позволяют нахуярить всё то же самое в стопицот раз быстрее. Но для этого похоже надо быть немножко колдуном в душе, потому что правильные энтерпрайз-бляди почему-то рвутся и не могут их осилить с самого порога независимо от айсикью.
>>548208 Ох как тебе неосилятору бомбит. Чем только не оправдывают свое нежелание учиться, осваивать новые инструменты и парадигмы. Знал одного, всё доказывал, что на делфи и файрберд "можно все эти задачи решить проще", теперь спился и охранником подрабатывает.
>>548224 >Фирмы, в которых пишут на Angular, редко говно-вебстудии проигрываю с тебя. это кто порвался-то? давай, тешь себя надеждами, что ты не самое днище, т.к. у тебя в конторе на ололоангуляре жи программируют, значит не говно-студия, значит илитка!! ангуляр!
>>548219 Да тошнит, не оттого, что не осиливаем, а оттого, что используют где нет нужды. Надо простой сервис, слушающий порт и делающий пару действий? А давайте ебанем это всё на модном фреймворке, напишем конфиг, миграцию базы (для двух таблиц по три столбца), добавим биндингов... И в итоге логика программы занимает 20%, остальное -модная лапша. Из пушки по воробьям же.
>>548227 >у тебя в конторе на ололоангуляре жи программируют, значит не говно-студия
Ну, а разве не так? Я действительно был на собеседовании в веб-студии в моём городе и там "разработчики" не знали сериализации, а когда давали тестовое задание, один добавил: "пусть с базой данных чё-нить сделает. Ну, xml там..." Это нормально? Ни MySql, ни PostgreSQL, ни NoSQL какие-нибудь. Из задач простые сайты. Не адаптивная вёрстка с выгрузкой каких-то данных из БД. Ну, меню ресторана, например. Уровень дизайна ужасный. Одно дело верстаешь красивый макет, что аж верстать интересно и приятно, а другое дело, если это градиентные блоки и маленькие не читаемые шрифты чёрным цветом на тёмно-сером фоне... Стоит ли говорить, что они и знать не знают про Backbone/React/Angular? > значит илитка Продвинутые фронтендеры изучают ангуляр или реакт, так как интересуются технологиями. С ними можно и поговорить о программировании. Некоторые make'ом собирают фронтенд. Другие bash-скрипты интересные пишут для автоматизации процесса разработки. Некоторые и мобильные приложения под iOS пишут. Есть о чём поговорить же. Это не база данных в xml-файле. >что ты не самое днище почему "днище"? Задачи у ангулярщиков интереснее и более оплачиваемые. К тому же, есть перспективы, например, банки очень Angular любят. Декан в университете "дрочил" на банки и на военных, типо "илитно" и важно, и нужно, и полезно. А в банк только с анугляром/нодой прорваться можно javascript-разработчику.
> изучают ангуляр или реакт, так как интересуются технологиями Вот такие ебалаи - это и есть самое дно. Он с таким же успехом мог оказаться в java ee или ещё какой параше. Нормальный человек пишет на ангуляре или ноджс не потому что НАДО ЖЕ ИНТЕРЕСОВАТЬСЯ ТЕХНОЛОГИЯМИ Я ЖЕ ПРОГРАММИСТ У МЕНЯ ПОЛНО СВОБОДНОГО ВРЕМЕНИ ПОЙДУ ВЫУЧУ ФРЕЙМВОРК СХОЖУ НА КОНФЕРЕНЦИЮ, а потому что ненавидит программирование и хочет решить свою ёбаную задачу как можно быстрее и забыть про процесс написания кода как про страшный сон ещё на некоторое время. Конечно офисному дауну вообще похуй должно быть на чём и как писать потому что он что так что сяк 8 часов в день 5 дней в неделю работает.
>>548277 Ты сравниваешь быдло-ангулярщиков с мутантами которые чего-то там тыкают в друпал?? Эти мутанты друпальщики вовсе не глупее и "программирование" знают не хуже. CMS-мутанты завтра же бросят жумлу, скачают еще более модный и продвинутый жс фрейморк, будут по методологии FUU через ZYX паттерну делать аддитивно-транзитивные жс сайты. Уже через неделю будут унижать тебя как дно, которое до сих пор использует устаревшие технологии и делает убогие страшные квадратные сайты на ебучем ангуляре и монге, пидарнет тебя из офиса тебя за то, что ты не смог разорбраться сборочном аде который тот модно и гордо написал на huild.build или вчера переоткрытом им make. Нет разницы между вами, никто не лучше. Это даже не ступени развития дебилов, нет это одна и так же ступень, два равноценных вида папуасов.
>>548319 Старый тимлид ушел, быстро нарисовался новый. Протолкнул идею, что всё будет делаться на Go. Ребята говорят, что уже аккуратно заменил всю команду которая там была при мне.
>>548302 >пишет на ангуляре или ноджс > что ненавидит программирование и хочет решить свою ёбаную задачу как можно быстрее /0, если так не любишь свою работу, надо заниматься чем-то другим, очевидно же
>>548243 с одной стороны очевидно ненужное усложнение, а с другой -- как раз на мелких проектах, где нет особых требований к производительности -- самое то порезвиться и поэкспериментировать, зря ты, народ обычно отдает себе отчет в том, что делает. но если речь о работе в команде, там конечно договоренности должны быть на первом месте, ни у кого не должно бомбить, от того что ты пепелац собираешь втихаря.
>>548277 >Продвинутые фронтендеры изучают ангуляр или реакт, так как интересуются технологиями >скрипты интересные >ними можно и поговорить о программировании
>перспективы, например, банки очень Angular >ангулярщиков интереснее и более оплачиваемые >в банк только с анугляром/нодой прорваться можно >"илитно" и важно Мальчик, а ты в курсе что тебе лечиться нужно? У тебя же шиза.
Зачем ты себя обманываешь? Ты выбрал "профессию" так, как ее выбирает самое каноническое ращкинское быдло: из-за отсутствия осмысленных интересов, идей, тяги, из-за отсутствия у тебя любого внутреннего содержания. Ты ничто, ты никакой не программист, не технарь даже. Ты ЧСВ-шный хомячек, компьютерный таджик. Никакими технологиями ты не "интересуешься" не обманый нас (и себя).
Что касается твоего воплей про базы данных в XML-файле, тут ты просто расписался в своей неспособности думать вообще, в своей посредственности, примитивности, поверхностности и, что главное, полной профнепригодности.
>>548462 >>548462 > толсто хотя может и да, за всех как-то глупо говорить. у нас в конторе просто как раз народ, который шарит, склонен к экспериментам и отслеживанию тенденций, остальные сидят на зарплате и вообще не заинтересованы, что довольно печально выглядит, а у вас речь о грани между фанбоями и нормальными людьми скорее шла.
>>548465 Нет. Просто после собеседований я вру в почте: "я уверен, через полгода-год вы бы нам отлично подошли, но, к сожалению, сейчас нам надо чуть более опытного разработчика", а тут говорю как есть. Не выбирая выражений.
>>548201 Интересно, в рашке все такие долбоёбы? Сейчас в конфу скинул своим, знатно всем офисом проиграли)))
Либо это такой троллинг и я проебался? Только в чем профит непонятно. В общем, советую не слушать таких олигофренов. Ганться за супер новыми технологиями не стоит, но MVC это уже стандарт в жсе, обязательно надо знать хоть что-то, и конечно ангуляр и реакт дают самый большой спектр вакансий.
>>548426 Сколько-нибудь стоящими вещами (в любых областях) заработать нельзя никак, очевидно же. Если ты игроблядь, будешь стримить ворлд оф танкс и светить ебальничком обывателям вкудахтике, если дизайнер - рисовать в обязательно-уёбищно-приторном стиле контент для мобильных говноказуалок, если писака - копирайтить статьи про то как медведи насилуют чурок в омске для жёлтых газет, и так далее. Просто современный мир так устроен. Самое лучшее что можно делать - искать пути участвовать в этом как можно меньше с наибольшей для себя выгодой.
>>548724 Не запилишь кулстори? Как добрался до такого рейта? Сколько часов в день работаешь? Как работу такую нашёл? Есть один разработчик-рельсовик, который хвастался, что спустя год в Германию уехал работать. Так-то оно так, но потом, как оказалось, он два года занимался вебом до этого (то есть, по факту, у него было три года опыта работы), и устроился он работать к своему другу на первое место работы. Rails+Angular. Не было бы друга, был бы Wordpress-мутантом или ушло бы у него намного больше времени. У меня с вот таких вот успешных жутко припекает. Как ты вкатился год назад? Сколько до этого веб-разработкой занимался? >мимо 35$ в час, вкатился год назад Люди с 10 годами опыта работы получают 35 000-45 000, а вы тут все такие успешные...
>>548822 > Люди с 10 годами опыта работы получают 35 000-45 000, а вы тут все такие успешные...
логично, что одни могут тупить хоть 20 лет на работе и их никогда не повысят, а некоторые превозмогая все трудности выучиваются за год и если не видят перспектив, то просто меняют работу?
>>548826 Логично, но 35$/час и один год в вебе это мощно, если ещё и работает хотя бы 5 часов в сутки. Не верю, что за год можно подняться самому. Банально нужно качественное портфолио, знание языка, нужно определиться с технологиями. Тот же JavaScript, чтобы устроиться, нужно знать со всей шизофренией, по типу: {} + [] = [object Object] {} - [] = NaN NaN === NaN //false NaN == NaN //false Некоторые и такое додумаются спросить.
Его "нищие" родители отправили в Лондон на "всего на один месяц", где он побратался с айтишником и тот его взял потом к себе на работу? Или он на бирже забугорной понапиздил работы и выдал за своё, а затем получил заказ на 30$, потом ещё один и ещё один, а потом и постоянка в офисе за 20$/час?
>>548822 >Люди с 10 годами опыта работы получают 35 000-45 000, а вы тут все такие успешные... Шутишь? Я два месяца версталой работаю, на испытательном сроке была зп 20к, теперь приняли на постоянку и стала 40к. К новому году буду 50 просить, если курс рубля не упадет.
>>549103 Нет, не шучу. Работал с таким программистом в одной веб-студии. У него была постоянная работа Symfony2 + Angular, где он и получает 45 000. В студии же он писал игрушку на канвасе и html-приложение, чтобы денежат поднять. Ну, ещё какая-то работа была. Сейчас по часовую ищет и, вроде, нигде не подрабатывает. Не ДС.
>>550055 [1] — это позиция конкретного элемента же, а не тега. Чтобы узнать позицию, нужно знать элемент. А если ты уже знаешь элемент, то зачем тебе позиция? В лупе пробежался и готово.
>>550058 Ты можешь объяснить, зачем тебе позиция? Наверняка же есть нормальный способ сделать то, что тебе нужно. Где ты и когда this.tagName вызываешь?
>>550092 Сдаётся мне, хуйня затея, потому что позиция в этом списке не зависит от элемента (напрямую, по крайней мере). Что-нибдуь добавишь удалишь - позиция поменялась, т.е. узнавать её можно только динамически внутри функции. Почему бы не передавать сам элемент-то? http://jsfiddle.net/kauq78hg/
Парни которые шарят в фронт-энде и бэк-энде помогите с советами плз. Вот есть страничка : https://gyazo.com/a9...6eec86c4c4d529b Вот подскажите что нужно почитать чтобы научится: 1. делать сортировку по тем чек боксам сверху, сортировку по тому слайдеру, сортировку по типу,рейтингу,цене. Это делается только джаваскриптом?куча if,else и тупо удаление ненужных класов если они не прошли по сортировке? или как это делается? 2. как вообще закинуть это на сервер какой нить виртуальный чтобы потренироватся у себя на компе? 3. как работать с сервером , ну я ввел логин и пароль, отправился запрос на сервер, проверяется в базе есть ли он, и после этого выводит инфу, вошёл или правильно введено. Что почитать чтобы это все реализовать. 4. как можно легко наполнять сайт контентом и т.д .как вообще это происходит? или все лезут в код и добавляют туда все что нужно? 5. из серверных языков фреймворк node.js хороший? стоит ли с него начинать? т.к. джаваскрипт и джеквери немного знаю. p.s. сори если вопросы тупые не кидайтесь какахами в меня, в гугле не забанен просто хочу спросить тут, заранее спасибо тому кто ответит.
2 недели учу js. Решаю задачи, и у меня горит с конструкции "for( i = 0; i < classes.length, i++)". Я решил за все время где-то 40 задач. Сам из них решил задач 10-15. И я ни одного раза сам не додумался до этой конструкции. Т.е когда я смотрю на условие, я думаю о функциях, о операторах, но не о ней. Из-за этого некоторые задачи не проходят тесты. Вообще, я гуглил, я понимаю что например тут пока i не станет больше либо равно n, i будет увеличиваться на 1. Это я и в курсе читал, но я хочу понять это.
Объясните на человеческом языке 4 строчку пика, ну или в целом этот цикл, очень хочу понимать когда его использовать а когда нет. И почему он так часто встречается?
>>550784 это цикл. в круглых скобках три части, они разделены точкой с зяпятой. первая часть - это просто объявление переменной и задание ее начального значения. эта часть выполняется один раз в самом начале. цикл выполняется много раз. чтобы это не было бесконечным кол-вом раз, есть вторая часть - это условие выполнения цикла: "выполнять пока i продолжает быть меньше classes.length третья часть увеличивает переменную i на единицу, каждую итерацию
здесь он используется просто для перебора элементов коллекции/массива (я не знаю что это в ЖС). в других языках (и в новейших версиях жс) есть еще foreach. когда надо перебрать вот так вот элементы - обычно используют foreach, но в той версии ЖС, которая распространена, нормального foreach - нету. в пхп это выглядело бы так foreach ($classes as $oneClass) { //... }
>>550784 Наипростейший проход по массиву. classes.length это длина массива, предположим она равна 5, значит пока i будет меньше 5, то будет совершать действие внутри фиг. скобок., а i затем увеличиваться на один. Другими словами, операция внутри скобок выполняется столько раз, сколько у нас есть элементов внутри массива. Не знаю как ещё объяснить, это основы основ. Алсо, не советую с Кантора начинать учить жс, он очень туго написан, лучше какие-то интерактивные курсы пройти, пока такие основы не поймешь, типо codeschool (месяц стоит 9 баксов), а потом его уже почитать.
>>550784 >ну или в целом этот цикл, очень хочу понимать когда его использовать а когда нет. Всегда использовать. Это же самый смак всех языков программирования - набрать охапку говна (массив, список) и сидеть перебирать, в надежде найти жемчужину.
Что ты вообще не понимаешь-то? Для i от 0 до n, делай то-то, и получаетяс: 1. i = 0: выполняется тело цикла 2. i = 1: выполняется тело цикла 3. ... 4. i = n-1: выполняется тело цикла 5. i = n: i не меньше n, выходит из цикла.
Вот есть у тебя список людей, тебе нужно найти в них всех геев. Что ты сделаешь? Поставишь палец на лист и поведёшь им вниз, проглядывая каждое имя, пока не наткнёшься на Кирилла. Запишешь в блокнот это имя и пойдёшь дальше вниз. Как только твой палец достигнет последнего номера, ты закончишь и, если повезло, даже получишь немного удовольствия.
>>551012 >>551014 >>551058 Так ну этот цикл, с помощью вас, более менее понял. Проблема не в определении, определение и то что он перебирает я знал.
Ещё вопрос, что значит этот знак перед равно, вот несколько дней назад встречал в решении задачи (число в степень) - =. Вроде есть ещё +=, незнаю. (на пике b = a)
Странно но я не нашел в гугле смысла *=, на этот раз. Кстати, ещё насчёт цикла for, почему в этом примере (пик) стоит i=1, во всех остальных, которые я решал стоял i=0, и я как то не обращал внимания(Я пробовал подставлять 0, степень не правильно считает). Зачем нам задавать переменную i ? Могу предположить что начинается перебор с 1, а не с 0, но лучше спрошу. А да, если ещё кто знает в двух словах i > "", как подбирать это условие, каким образом размышлять, при этом?
>>551717 > Ещё вопрос, что значит этот знак перед равно а += 5 — то же самое, что и а = а + 5. Догадаешься, что делают?
> Кстати, ещё насчёт цикла for > А да, если ещё кто знает в двух словах Прости за честность, но ты немного дурачок. Что тебе нужно в задаче сделать, оттуда и начинай и там и заканчивай. Нужно пройтись по цифрам от 3 до 10? Так и делай i = 3; i < 11 (понимаешь, почему 11? Или какой знак нужно поставить в i = 3; i ? 10, чтобы оба цикла были эквивалеты?).
>>551558 Он это и делает, или ты упоротая пидораха? Если тебя не устраивает чем-то forech, хотя он делает именно то, что ты называешь, то есть, ещё раз повторю, map, reduce и filter, которые тоже прекрасно итерируют по твоей ебаной "коллекции"
Ньюфагам:
1. Что это за язык такой? - Мультипарадигменный язык, изначально создавался для использования в браузерах как язык сценариев для придания интерактивности веб-страницам, однако в процессе своего развития преодолел этот этап и сейчас может использоваться для любых целей ввиду своей неограниченной гибкости и удивительно удобного синтаксиса.
2. Это чтобы менять цвета, и вызывать всякие всплывающие окна? - Нет. Это только малая часть того, что может язык. Сейчас, на JS можно делать игры (phaser, cocos, etc.), 3D графику (three.js), можно делать и приложения для телефонов(phonegap, ionic), можно делать десктоп приложения(NW.js).
3. Ну ясно, а че еще можно? - А еще можно использовать на сервере, причем очень даже успешно. А все благодаря платформе Node.js, и v8, который встроен во все хромоподобное. Node.js по производительности и удобству работы превосходит большинство остальных серверных языков.
4. Я щас ничего не понял, повтори. - Проще говоря, если ты делаешь огромный интернет магазин или хай лоад проект, то можешь смело использовать JavaScript и Node.js.
5. А что еще прикольного можно сделать? - А еще есть MVC фреймворки, Angular, Backbone, Ember, Knockout и другие, менее популярные.
6. Зачем оно надо? - Для создания SPA, в основном, но ты можешь копнуть глубже.
7. Очень уж много всяких фреймворков... Нельзя ли просто изучить jquery и писать все на нем? - Не стоит, можешь начать писать на жыквери, когда освоишь ванильный JS, дабы не испортить себе восприятие языка, и вбудущем не испытывать трудностей с изучением сложных фреймворков.
8. Ну ладно, с чего начать изучение то? - Дальше я приложу список материалов для изучения.
Учим JS:
Книги: Дэвид Фленеган - "JavaScript: Подробное руководство"
Дуглас Крокфорд "JavaScript: сильные стороны"
Стефанов С. - "JavaScript. Шаблоны"
Джон Резиг - "Секреты JavaScript ниндзя"
Николас Закас - "JavaScript. Оптимизация производительности"
М. Кантелон , М. Хартер - "Node.js в действии"
Кирилл Сухов - "Node.js. Путеводитель по технологии"
Эдди Османи - "Разработка Backbone.js приложений"
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/
Онлайн сообщества:
http://learn.javascript.ru/ - оно одно, единственное. Начинать учить язык советую отсюда, потом переходить уже к книгам.
http://www.jstherightway.org/ - Огромный гайд составленный буржуями. Есть книги, статьи и всё-всё-всё.
Бложики и новостные ленты:
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/
А потом? Я и так уже гений!!!
Выбери себе направление. Может, ты хочешь игори делать? Тогда вперед на гитхаб, и ищи phaser, pixi и другое, выбор не маленький. Хочешь на сервер сайд, на самой хипстерской технологии? Копай в сторону node, express, socket io. Хочешь писать MVC логику? Angular, backbone, да множество их. Нельзя забывать про NW.js, позволяющий создавать десктопные приложения.