24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Этот тред посвящён главному языку будущего - 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), 3D графика (Three.js, Babylon.js), мобильная разработка (NativeScript, Phonegap, Ionic), десктопная разработка (NW.js, WinJS).
3. Можно выучить только jQuery и всё писать на нём? - Не стоит, лучше начать писать на jQuery, когда освоишь ванильный JS, дабы не испортить себе восприятие языка, и в будущем не испытывать трудностей с изучением сложных фреймворков.
Dr. Axel Rauschmayer - "Speaking JavaScript: An In-Depth Guide for Programmers" - Одна из лучших книг по JS. Пока только на английском. http://speakingjs.com/
Выбери себе направление. Может, ты хочешь игори делать? Тогда вперед на гитхаб, и ищи Phaser, Pixi и другое, выбор не маленький. Хочешь на сервер сайд? Копай в сторону Node.js, Express, Socket.io. Хочешь писать MVC логику? Angular, Backbone, React, да множество их. Нельзя забывать про NW.js и WinJS, позволяющие создавать десктопные приложения.
Пол месяца только пытаюсь познать JS, а фляга уже брызжит во всю. Смотрю интенсив одного хохла +читаю и пытаюсь решить задачки на лирне. Вроде все доходчиво объясняется и там и там, но самостоятельно я ничего не могу сделать(я про задачи) - все время приходиться смотреть решение. Сейчас столкнулся с тем, что долго не мог вспомнить как работает while(я сейчас себя словил на мысли, что не помню как правильно while назвать(метод это или функция)). А чем дальше, тем я хуже начинаю понимать, а ведь я только на 6 из 24 видео интенсива.
Собственно, исходя из вышеописанного у меня вопрос: программист уровня джуниор знает на память хотя бы половину того, что описано на learn.javascript.ru и свободно эти знания применяет? или же это работает как-то иначе?
>>640604 >программист уровня джуниор знает на память хотя бы половину того, что описано на learn.javascript.ru Погроммист-жуниор точно знает 95% этого сайта, т.к. там ничего такого особенного не написано на самом деле, достаточно базовые вещи. Не обязательно все 95% помнить на память, просто нужно знать, что этот некий метод существует, условно. Но знать базовый синтаксис (а циклы этим я являются) уж точно нужно. Алсо, просто знание ничего не даёт, надо ещё уметь это применить на практике.
>>640613 Что же такому дауну как я посоветуете делать? Понимание у меня более менее сложилось о том, что я уже прошел, только вот while меня огорчил, ибо редко пользовался и забыл. И еще вопрос: что с codewars стало? Чому он меня не авторизовывает(я зарегистрирован уже полгода, наверно)?
>>640627 Ну если ты полмесяца только изучаешь, тем более видимо без практики пока что, то это норм вполне. Но до джуна тебе далеко, я бы сказал, что месяцев 5 ещё. У меня всё ок с кодварсом, всё логинит, я через гитхаб правда.
>>640635 Моих знаний только для задачек, типа "преобразуйте все строковые свойства в объекте так, чтоб они начинались с большой буквы", куда мне до практики с написанием полноценных скриптов.
Карочи, посоны, ну и многословное же говно этот ваш JSX с парными тегами, и как жи охуенен scalajs-react c его божественными префиксами, скобками, и типобезопасными обертками над этими самыми ссаными тегами. Единственную проблему вижу я — не для всех JS либ есть фасады под скалку, но это поправимо. мимовсепонял
Начал учить этот ваш джава скрипт. Ну надо же ещё до кучи html и scc, да? Гугл предлагает два сайта на выбор, я в принципе понимаю, что разницы скорее всего никакой, но спросить анона лишним не будет. Что учить: https://htmlacademy.ru/ или http://htmlbook.ru/ ?
>>640707 Ну дак лучши жи нет ничего, ТапСкрипт - ссанина, ES6+ - моча, dart мертв, Кложура - для скобкодебилов, про всякое сорт ов кофе я даже не говорю, ибо на уровне пыли.
>>640748 Лучше пройди сначала https://htmlacademy.ru/ и только потом переходи к их интенсивам, будет намного легче Асло, в /wrk/ есть тред верстки, иди туда
Всем советую попробовать второй ангуляр. Лютая годнота, обмазываюсь уже вторую неделю. Зависимость есть, брат жив. Так же планирую попробовать реакт, вроде по принципу они похожи.
>>640875 Проебал глазами саму суть. Судя по навешанным ивентам, что то где то это генерирует и обвешивает этими самыми ивентами. Для интереса, залогируй содержимое данного элемента сразу после замены тегов.
>>640976 Null-safety не завезли. Undefined является подтипом любого типа, а значит, может появиться где угодно, и компилятору на это похер. В итоге имеем все то же хождение по минному полю c `undefined is not object evaluating(... `, что ив ЖС. Паттернматчинг и АТД, опять же, нинужны.
>>641026 Таблица - это упорядоченные данные, а не лента вконтакте. Если тебе нужен 3005 элемент - тебе нужно 30 раз ждать подгрузки, а не просто перейти на 30 страницу. Это очень неудобно.
>>641026 Потому что мне проще добавить &page=157 в ссылку и перейти сразу к нужному фотосету с Озавой, чем сидеть и крутить колесо три километра, а потом наслаждаться трёхгигабайтной вкладкой в на тот момент уже тормозящем браузере с сотнями всяких видео, баззфидов и прочих твиттеров, подгруженных по пути.
>>641102 Ну а кто это использует? Никто. Да и скроллер этот работает нормально только с таблицей, а представь, что тебе nnm-подобный сайт нужно с этим "скроллером" посмотреть. И найти пост за 2006-ой год, ни названия ни даты которого ты не помнишь, но как увидишь заглавную картинку, то поймёшь - вот оно. Колесо же сломается столько скроллить. Тот же ВК вот возьми: хочу почитать прошлогодние записи на стене сообщества. Как? Правильно – никак. Модна жи, инфинит скролл!
Всё зависит от разработчика, доступа к которому у меня нет, и пока будут всюду советовать это говно к месту и не к месту, жопа будет подгорать при использовании интернета.
>>641151 Я например использую, но это больше всяких крудов касается, да. В теории и на nnm можно впилить скролбар, или оставить навигацию по кнопками, но контент подгружать бесшовно, все же скролить вниз - более частый юзкейс.
>>641250 Как вы заебали. Пагинация - юзверь щелкнул на страничку => отобразился набор записей с этой страничке. Инфинит скролл - обезьянка провела жестом по View на экране ойпада - доскролила до нужной записи. Никаких ФИКСИРОВАННЫХ СТРАНИЦ нет, мань.
>>640959 Насколько мне известно - проще и лучше всего переписать на втором. Однако, следующая версия первой ветки бущет с миграцией под второй ангуляр.
Пацаны, есть приложение на ноде+монго+экспресс. Есть задача структурированно выводить данные из монги на страничках, с возможностью обмазать все это фильтрами и поиском.
Вопрос - мне хватит для этого jquery или придется какой-то фреймворк прикручивать? Какой? главное, чтобы не СПА-пидорство
Тут кто-нибудь в React.js понимает? Вызываю в овнер компоненте: this.setState({data: 'blablabla'}); В его рендере есть компонент, ему в props как раз передается эта data. Я правильно понимаю, что при вызове setState все опять заново рендерится и соотвественно дочерний компонент отрендерится с this.props.data = 'blablabla'; ?
>>641642 Atom становится хуетой, когда длина строки превышает сколько-то там символов (пропадает подсветка), а еще он не умеет в большие файлы. Лучше sublime.
>>642252 уютненько. курва, мать её, мною овладела, свгшная, чувствую, близок момент, когда не останется никаких шансов отпетлять от es. здравствуй, милый сердцу dom. в упор уже дышит сука, подбирается. btw, есть чем чекать адаптивность, тулз какой рассово чистый ибо чё то все по разному показывают а я пока поскролю, чем вы тут кормитесь
Аноны, такие дела, имел некоторый опыт работы джуном в тырпрайзе на яве, понял, что мне тупо скучно, и таки хочется больше "интерактивщины", так сказать, да и проекты поменьше, видимо я гуманитарий. В связи с этим, есть мысль начать перекатываться во фронтовики. По прошлой работе, немножко знаю стандартный js, немного имел дело с онгуляром и бутстрапом. Есть несколько вопросов:
1) Фронтендеру нужно уметь нормально верстать? И как часто приходится совмещать обязанности с версталой? Если, например, лезть джуном - онли через вёрстку, или берут прямо на js?
2) Поясните за специфику работы: у нас фронтендер исправил пару багов после предыдущего, а потом долго пинал хуи, пока ему не приносили новый макет. Это типа, реальная картина? Как часто вам требуется ебашить сверхурочно?
3) Правда ли, что тяжело устроиться на работу, т.к. для фронта предпочитают фриланс-индусов за еду?
4) Каковы перспективы? Ладно ещё жаба-кодера можно представить в 40 лет, но тут у вас каждые полгода новый фреймворк взлетает. В 30 лет неликвид?
>>642272 Алсо, да, к вопросу о важности вёрстки: если я в качестве портфолио, сделаю одностраничную залупу с каким-нибудь ангуляром, но вместо нормальной вёрстки обойдусь бутстрапом - норм будет?
>>642277 зак респектует того кто оседлает любой вел, а не полезет изобретать новый. Алсо, сижу ебусь со своей визиткой, ёбаное @media, сколько сука строк и разрешений...
Джейсоны, кто работал с модулем 'Child Process' в ноде? Требуется запустить внешнюю программу (неважно, при этом, дочерним или отдельным процессом) и выполнить далее действия, связанные с порожденным процессом. Проблема в том, что нативных ивентов, позволяющих отловить состояние "запущен" порожденного процесса нет, а делать через таймаут - не комильфо. Порожденный процесс ничего не пишет в stdout, посему ивенты типа child.stdout.on('data') бесполезны. Синхронные варианты методов spawn/execFile не подходят в виду особенности их реализации - event loop блокируется вплоть до завершения порожденного процесса. --------- Для чего мне это нужно - необходимо запустить приложение и в конечном итоге изменить положение и размер его окна, имея на руках только PID. Изъебство это делается через winapi ('user32.dll') с помощью модуля node-ffi. Мысль только одна - прогонять EnumWindows в while/for до тех пор, пока в списке не засветится PID порожденного процесса. Код: https://jsbin.com/kodofe/1/edit?js
>>642378 Мне кажется или ты под процессом понимаешь top-level окна винды? Мысль про EnumWindows мне видится вполне адекватной, нельзя ведь знать когда рандомная программа решит показать свой гуй.
>>642396 >Ты понимаешь, что ты поехавший? Уже всё Да. У меня уже есть аналогичное приложение на C#, но захотелось перенести его на ноду. Это удаленное управление медиаплеером, а фрагмент кода, по идее, должен отвечать за запуск приложения и перетаскивание его главного окна с указанным размером на второй дисплей.
>>642401 > top-level окна винды Да, все верно. > нельзя ведь знать когда рандомная программа решит показать свой гуй Значит, самое адекватное решение - зациклить перебор окон на несколько итераций до тех пор, пока искомое окно не будет найдено или не выйдет время. Спасибо.
>>642378 Сделал через setInterval с ограничением по итерациям и грязным хаком (задержка 0), лол. Стабильно на втором проходе возвращает хендл окна. https://jsbin.com/layomay/1/edit?js
>>642444 >console.log('Running iteration: ' + ++i); - уродство. Ну так это ж отладки ради.
> ограничением по итерациям > задержка 0 > Ужсн. А как лучше? Я поэтому и спрашивал, какие варианты более удобоваримы, если учесть, что нет ивента, на который можно было бы приаттачить лиснер.
>>642456 "Отладки ради" было бы просто 'Running iteration: ' + i.
Лучше waitForWindow(pid, maxMs), еще cb можно в параметры. Про нулевой интервал плохо, потому что на вид как busywait, а на деле используется минимальное значение. Хотя, думаю, последнее не так уж и страшно.
>>642404 >самое адекватное решение - зациклить перебор окон на несколько итераций до тех пор, пока искомое окно не будет найдено или не выйдет время Чето ржу с такого алгоритма.
>>642796 Имея pid, получить хендл главного окна процесса можно только из коллбэка EnumWindows. Проблема в том, окно отрисовывается неизвестно позже порождения процесса. >ржу с такого алгоритма Так я и хочу 'бест практиклз' услышать.
Сап ночные, помогите с задачкой, сам нифига не шарю в программировании. Нужно определить цифры 1 и 7 на картинке, препод говорит что то про свечение, что у 1 оно внизу и вверху почти одинакового, а у 7 различается, таким методом определить, где 1, а где 7.
if (tick==0) { // НАДЕЖНО БЛОКИРУЕМ ПОВТОРНОЕ ОБРАЩЕНИЕ К СЕРВЕРУ // КОНТРОЛЬНЫЙ ВЫВОД
puts(1); // ОЦИФРОВКА ИЗОБРАЖЕНИЯ С ПРОРЕЖИВАНИЕМ // ОДИН РАЗ (МОЖНО ПОТОМ ПРИКРЫВАТЬ //) {{"lab2.xml"="lab2.jpg:5"; }} {{"lab2_.xml"="lab2.jpg:R:5"; }} // КОНТРОЛЬНЫЙ ВЫВОД
puts(2); // СЧИТЫВАНИЕ МАТРИЦ БЕЛЫХ и ЦВЕТНЫХ ПИКСЕЛЕЙ {{ T="lab2.xml"; T=T+0.001; R="lab2.xml";}} // КОНТРОЛЬНЫЙ ВЫВОД puts("размер T "+rows(T)+" "+cols(T)); // ИЩЕМ МАТРИЦУ КРАСНОГО ЦВЕТА RT=rgbfilter(R,T,0.4); // КОНТРОЛЬНЫЙ ВЫВОД
function rgbfilter(R,T,Lev) { var i,j,A; A=equal(R); // УБИРАЕМ НИЗКУЮ СВЕТИМОСТЬ СОВСЕМ // ОСТАВЛЯЕМ ТОЛЬКО КОНТРАСТНЫЕ ТОЧКИ for (i=0;i<rows(R);i++) for (j=0;j<cols(R);j++) if (R[j]<Lev) A[j]=0; // ВЫДЕЛЯЕМ ФИЛЬТРОМ ЦВЕТОВУЮ СОСТАВЛЯЮЩУЮ {{ A=A./T; }} return A; }
function getsquare(RT,Y,X,YL,XL) { var n,m; n=rows(RT)-1; m=cols(RT)-1; return rowcol(RT,sat(Y,n),sat(Y+YL,n),sat(X,m),sat(X+XL,m)); }
>>643399 CV библиотеками владеешь? Если нет - тупо высчитывай пиксели с иным цветом и сохраняй в два двухмерных массива, после чего дели их на два посередине. Тот, у которого верхняя половина больше по числу пикселей - 7. Модулей npm для работы с пикселями полно.
>>643409 я вообще языком не владею, дали вот пример что выше, он часть картинки режит и пеерводит ее в ЧБ, я вот и прошу сделать это, если не трудно, без каких либо либ
>>643408 Общая стратегия как >>643409 описал. Можно подключить нейронку и таким образом решить задачу даже если на изображении числа будут расположены иначе. В любом случае понадобится массив пикселей эталонной единицы и семерки.
Вечер в хату, господа. Проконсультируйте пжл, пока что на уровне теории: Есть сайт (не мой) без api. Мобильной версии не имеет. Я хочу написать приложение для windows phone, которое будет отображать некоторые данные с него. На сайте есть поля со списком значений, при выборе значения из первого - значения во второе подгружаются автоматически, далее пользователь выбирает значение из второго поля, затем жмет "Показать" и на странице появляется соответствующий контент (текст).
Как я это представляю: в приложении размещается два поля со списком и кнопка. При открытии приложения, значения в первое поле загружаются с сайта. Далее пользователь выбирает нужное и в соответствии с его выбором подгружаются значения во второе поле, где он также выбирает, затем жмет кнопку и получает контент.
Реально ли вообще это сделать? К слову, в Visual studio есть шаблон проекта HTML + JavaScript для винфона. Хватит ли хтмл+жс для реализации этого всего? Какие статьи почитать?
>>643475 >Есть сайт (не мой) без api Если сайт динамически подгружает контент при взаимодействии с пользователем, значит он по определению имеет API. Другое дело, в твоем случае, он не публичный. Можно отследить в консоли XHR запросы к сайту и использовать их в своем приложении, подставляя необходимые значения. Разумеется, если сайт изобилует хитростями в клиент-серверной логике, вероятность того, что ты соснешь, сильно возрастает. Но попробовать стоит.
>>643509 Гораздо проще сделать это через вебкит и таймеры, инициируя нажатия кнопок, а потом каждые полсекунды парсить на присутствие определенной DOM-ноды или текста.
>>643509 >Если сайт динамически подгружает контент Воу, а ведь действительно, страница обновляется полностью после выбора значения в первом поле. Это многое меняет?
>>643693 >WP здесь имеется ввиду виндовс фон. Я подумал, что ты кодишь на сишарпе. Тогда инициируй click() по элементу, потом парси (с помощью setInterval) innerHTML по кодовым словам/тегам, чтобы понять, что данные обновились.
>>643711 >>643713 Судя по тому, что вы предлагаете - задача все же реализуема? Просто я толком не шарю за веб. Ну то есть какие-то теоретические познания есть, а практики ноль.
выбор фреймворкаАноним05/02/16 Птн 16:28:02#143№643808
господа, столкнулся с дилеммой при выборе фреймворка. на самом деле, никакой дилеммы нет, единственный фреймворк, который я собирался учить - ангулар, но появились сомнения. нагуглил, что сам ангулар в обороте аж с 2009 и многие жалуются на его медленную работу. собственно, сам вопрос: стоит ли мне взяться за какой-нибудь фреймворк поновее, или же ангулар до сих пор вполне пригоден? (я - быдлокодер, не написавший ни 1 проект, сейчас на стадии обучения)
>>640565 (OP) http://pastebin.com/Xstv83fa Почему этот код выводит: end a 1 b 2 c 3 а не a 1 b 2 c 3 end? Я ведь в каждом then возвращаю новый Promise, и он должен выполнять их по порядку, а потом выполнить последний then, разве нет?
>>643798 Вполне реализуемо. Если сайт имеет какие-то особые меры защиты от ботов (клаудфлара и подобное), нужно смотреть детально, в крайнем случае грузить через headless браузер.
>>643814 а если начинать учить сейчас, может стоит сделать выбор в пользу какого-нибудь другого, более нового фреймворка? или ангулар настолько крут, что и в 16 году остается в топе?
>>643844 Никаких мер защиты нет. Таки возвращаясь на пару постов раннее - HTML и JS хватит для этого приложения? И если да, что из JS нужно будет применять? Ну там jQuery, AJAX..? Или на чистом жс можно?
>>643863 Ангуляр 2 уже в бете. А популярен сейчас React.js + Redux/flux. Но у них выше порог вхождения. На angular 1 уже написано много кода, который нужно поддерживать, поэтому он не потеряет актуальность.
>>643874 Я только за выдергивание данных могу говорить, специфик винфоновских приложений не знаю. Если ничего вычурного, то шаблона с твоего вижуал студио, наверное, хватит.
>>644301 будто в твоем ЕПАМе и Люксофтике не гостевухи для "эффективного бизнеса" по продаже всякого говна пишут, там даже ангуляра дохуя будет, жквери под пивас хватит
САП, коданы. Есть задача выучить React.js. До этого учил js по https://learn.javascript.ru Было все понятно. Теперь не знаю, с какого краю ухватиться за этот React. Обычного браузера на винде достаточно? Или надо устанавливать все эти node.js на линекс?
>>644690 Node на винде/линакс понадобится если хочешь JSX. JSX привносит елементы html в синтаксис js, на главной сайта реакта посмотри сниппеты Live JSX Editor / Compiled JS. Можно без JSX писать, но так вроде не принято, алсо можно без нода компилировать JSX скриптом в браузере - https://facebook.github.io/react/docs/getting-started.html#quick-start-without-npm.
Наверное, к вам с завидной регулярностью вламываются с подобными вопросами, так что извиняйте. Но я не могу понять, как вы пишите на JS, а конкретно - разбираетесь с ошибками. Порядка 10-и минут убил на осознание того факта, что забыл одну из запятых при перечислении свойств в объекте. Firebug молчит, сука, даже в случае грубейших ошибок. Как так жить?
Аноны, решил написать небольшой апп/интерфейс. Всякие списочки, кнопочки и проч. Чисто локальный, т. е. файлик хтмл+стили (+скрипт). Проблема – так и не понял, какую flavor of the month библиотеку использовать для няшных кнопочек и прочего.
Как уже всем понятно, в веб-девелопменте не знаю ничего; 25 лвл в си/фортране/матлабе/R – исключительно научные расчёты. Погуглил, нихуя не понял, теперь полная каша в голове – как соотносятся между собой Ionic, webix, bootstrap и прочее. Гуглю best html5 ui frameworks, так там в каждом списке/бложике тысяча названий, и все разные.
Шапку читал, не помогло. У меня tunnel vision под научное программирование, не бейте сильно.
Сап, народ. Появилась тут мысль в процессе работы. А нельзя как-нибудь поставить в соответствие div-ам (или другим элементам) в соответствие число и получать его, в случае необходимости. Например когда кликаем по нему. нубо-джуниор
>>644877 >поставить в соответствие div-ам ... в соответствие число В соответствии с чем? Расположением дива в доме? Так для того в ХТМЛ5 и запилили свойство тега "data-"
>>644864 То есть скачиваешь архив с css/js, и после этого можно в своем скрипте к ним обращаться, верно? >>644866 >>644874 Имеется ввиду джей-кьюэри?
Вобщем, посмотрел примеры, bootstrap выглядит сносно. Ionic, видимо, вообще SDK для тилибонов. А вот всякие groundworkCSS и прочие – они в принципе идентичны bootstrap?
>>644884 У меня есть n-е количество div-ов в секции. Я хочу чтобы их можно было найти по индексу и взаимодействовать с ними. > тег "data-" А не подскажешь, как силами jQuery с ним взаимодействовать?
>>644997 Хочется чтобы пользователь кликал на дивы мышкой и они выделялись (и развыделялись обратно, при повторном клике). А обработчик извлекал индексы этих элементов, чтобы потом с ними работать. У меня ошибка похоже в функции, которая эти div-ы добавляет. Потому что потом для них обработчики событий плохо работают.
>>645025 >Хочется чтобы пользователь кликал на дивы мышкой и они выделялись (и развыделялись обратно, при повторном клике) Для этого сгодится тоггл класса.
Котаны, насколько сильно JS-программисту нужно уметь верстать? Или вы вообще не верстаете? Нужно ли изучать БЭМ, препроцессоры, фреймворки css или хватит умения сверстать средней сложности статичную страничку?
>>645280 Нужно конечно, иначе будешь на js городить монструозные конструкции, которые можно несколькими стилями описать и одной строчкой на js, видел таких бойцов, им коллеги в спину пальцами тыкают и сдавленно хихикают. Ты должен уметь сверстать страничку любой сложности, даже если не придется этим заниматься. БЭМ и css фреймворки необязательно, только для себя или если по работе нужно, а вот препроцессоры это как бы на текущий момент стандарт (правда хипстота ебанулась на отличненько, тащит нынче стили в js, слезает с препроцессоров в пользу postcss и всем остальным рассказывает, что они мудаки, если еще не занимаются тем же самым, тренд меняется, но не суть, шарить все равно надо).
>>640565 (OP) Вопрос опытным ангуларогосподам. Есть задача сделать компоненты, у которых есть общая логика (окна, которые можно двигать, менять размер и т.д.). Как это лучше всего реализовать, используя сущности ангулара? На нативном я представляю, как это сделать.
>>645330 И вдогонку - как передать компонент внутрь компонента в качестве property? Есть множество окон, у которых разное содержимое, как сделать так, чтобы декларативно объявить их содержимое, а не пилить отдельное каждое окно?
Доброго времени суток, анон. Есть вопрос по годности данных книжек с пункта Front-end Эдди Османи - "Разработка Backbone.js приложений" и Эрл Каслдайн, Крэйг Шарки - "Изучаем JQuery".
Сам я верстальщик и имею небольшой опыт в создании простых обработчиков событий (click, scroll, hover, toggle и прочее дерьмо) на jquery + плагины (слайдеры, зумы, модальные окна, toggle меню для мобилок и т.п.).
Есть желание писать что-то более интересное и сложное на JavaScript, чем вышеуказанное, например какие-нибудь сайты которые работают на JS чуть менее, чем полностью (те же SPA). Но тут мешает мизерные опыт реальной разработки на JS'е, поэтому встает вопрос о ресурсах, книжках, видеокурсах, которые бы больше показывали практическую сторону изучения JS'а. Подойдут ли вышеописанные книги для начала.
Комрадс, посоветуйте ресурсы для обучения и практики Angular JS, сейчас смотрю уроки, но хотелось бы что-то типа курсов и тд. Ну или сайты, с которых лучше начинать учить
>>645456 Выше в треде есть ссылка на js от htmlacademy, плюс есть ещё Кантор. Начинать с книг по конкретным фреймворкам и библиотекам ещё и протухшим - плохая затея.
Сейчас посмотрел на роутинг в ангуляре и что-то запутался.
В чем фишка SPA тогда, если с роутингом у нас все равно есть куча страниц у SPA и ссылок, соответственно, тоже куча.
То есть основное различие между обычным сайтом и SPA в том, что вся страница не перегружается? А так у нас все равно куча других страниц, которые подгружаются, и куча разных ссылок(роутинг).
Тогда почему мы не можем сделать SPA на обычном ajax??
Сильно не пинайте, я реально тупой и очевидные вещи могу не понимать.
Аноны, можно ли в обычном бутстрэпе сделать такое, как по ссылке (и также просто)? С заданием длительности, положением, поведением при скролле и проч.?
>>646026 Я это видел, естественно, но не нашел там такого же простого задания длительности / позиции. И что, он автоматически будет оставаться на экране при скролле (на планшете, например)? Недавно начал разбираться, так что вопрос, вероятно, глупый. Но примеры на сайте бутстрэпа и документацию я листал ,честно.
>>646039 Спасибо, анон. Так в бутстрэпе такого из коробки нет? Вроде бы полезный/очевидный функционал. И в noty слегка другой стиль, следует ли переписать его под бутстрэп/как легко это сделать? В css тоже только начал, но выглядит совсем не сложно.
>>646011 поясни за последнюю ссылку. Пишет тип не валидная фидл конфигурация, плиз фолк зе ориджинал JSфидл. Я запускаю скрипты из стартеркид, поэтому? Поясни за NODE.JS, че это за штука и можно ли ее поставить на винду! Плиз, анон!
Антуаны, не могу разобраться с jsViews (http://jsviews.com). Допустим, отрендерил шаблон, повесив на него якорь jsviews (^), чтоб обновлялся. А как обновить там инфу, собсна? Обычное изменение переменной не помогает, хотя должно. Если эта штука устарела (а она, судя по гуглу, устарела), дайте современный аналог, но штоб не слишком тяжело. В связке с jsRender это понравилось.
>>646084 Блять, прошу. Давай вскроем. Я так понял, это основная среда разработки для любых программистов? Че нащет виндовс, ставится? Как эта хрень связана с серверами? Вскрой. анончик.
>>646093 Ну у тебя джс в браузере выполняется, а нодеджс это такая хуйня которая выполненяет твой джса вне браузера. Т.е. можешь на нём теперь сервер писать, например. >Че нащет виндовс, ставится? Забудь про виндоус или уёбывай. ставится
>>646097 Если ты не аутист, то твой продакшн-сервер будет работать на линуксе а не на винде, значит линукс всё равно дрочить придётся, значит лучше его дрочить сразу. Винда нужна только чтобы писать под винду, всё остальное делается в первую очередь с расчётом на линукс.
>>646137 поясни поподробней. Я в терминах не шарю. Если я только пишу скрипт для фронтэнда на reac jc, то установленного node.jc мне хватит за глаза, а настраивать сервера, разве это моя работа?
>>646145 Ядро содержит в себе все данные и тебе нужно научиться с ним работать. Тебе ещё рано читать реакт. Начни со статьи про Николу Теслу на википедии. Потом гугли "никола тесла луч смерти" и "информационное ядро ось сверхсознания". По началу может быть трудно, но ты главное не сдавайся!
>>646184 Это мы можем так сделать, потому что у нас какая-то база есть. Может он вообще нихуя английский не знает, и вкатывание займет у него два года. А так он по стэковерфлоу за пару месяцев технический выучит
>>646189 >>646186 Ну вот, значит база уже есть. По какой-нибудь джаве может и можно и на русском начинать, но веб-реакт-хуякт и прочие эдж-технологии это другое дело, тут нужно всегда быть в теме и держать руку на пульсе, а протухшая русскоязычная информация только ещё больше тебя запутает и затруднит твоё обучение. Английский нужен обязательно, так что лучше сразу.
>>646151 Если я не ошибаюсь, в Ангуляре такое нельзя. Ты можешь из одного контроллера стриггерить событие ($broadcast, $emit), а в другом - подписавшись на это событие дергать функцию (метод). Если не прав - поправьте.
Пацаны, как получить доступ к переменной внутри объекта по ключу? var ob = { a: 'a',
init: function( mass ) { for( var k in mass ) this.k = ar[ k ]; }, }; Присваивается ебаная k, а мне нужно чтобы this.ключ массива = значение массива по ключу. В пхп эта хуйня легко делается, а тут чот не.
>>646296 А ну блять пиздец ебать, охуенно надо было написать this[k] вместо this.k, кто б мог подумать. В жаве же нет классов в привычном понимании, это ж обычные ассоциативные массивы.
>>646173 Я вот тоже фронтэндщик, но перекатился на убунту, ибо настройка всего нужного для работы идет в винде через жесткие костыли - сначала установи командную строку, потом пердолься с настройкой всего и вся, а гуишки - это почти всегда очень обрезанное по функционалу забагованное говно. По идее для фронта идеально подойдет мак, но на него надо дохуя денег, особенно в наши тяжелые времена. Короче, единственная причина, которая может держать от перехода на прыщеось - фотошоп, который, к слову, можно поднять на виртуалке или запускать через wine.
>>646511 http://casperjs.org/ для phantom.js. https://github.com/admc/wd - для selenium. У phantom.js не самая лучшая поддержка нескольких вкладок, но он мне кажется надежнее. selenium - это внешняя jar утилита, которая управляет chromium-ом, через эту либу можно его использовать.
>>646509 Давай назови хоть один плюс, что может тебе помешать на винде быть фронтедером. Работаю уже почти год в вебе, никаких проблем, алсо весь офис на винде, только у 2х человек линукс и мак, из, примерно, 50.
>>646576 В линуксе есть оконные менеджеры с гибкой настройкой через скриптовые конфиги, нормальная консоль, пакетный менеджер(намного удобнее все обновлять), vim. Из минусов только отсутсвие фотошопа. В винде соответственно наоборот.
>>646601 >оконные менеджеры с гибкой настройкой через скриптовые конфиги Даже не ебу что это, если ты просто про мульти окна, то они есть на винде. Какой это плюс даёт кодеру с двумя мониторами? Никакой, поэтому иди нахуй.
>нормальная консоль ХАХАХАХАХАХА Если ты блять юзаешь стандартную консоль с прыщей, то ты просто даун. На винде 100500 эмуляторов консолей есть, которые по функционалу в разы превосходят стандартную линупсовую консоль, не говоря о том, что в любом джетбрейнс редакторе она встроена.
>пакетный менеджер(намного удобнее все обновлять) Обновлять что, дебилойд? Обновляльщик, блять.
>vim Всё, иди нахуй реально. Какое отношение вим имеет к линуксу? Ты просто еблан, услышавший где звон, но нихуя не понимающий.
>>646610 Это конечно не обязательно, чтобы быть хорошим фронтендером. Но пользуясь виндой, у тебя есть ОС - и ты в ней ничего не можешь изменить, можешь использовать ее только такой, какая она есть. В линуксе я могу изменить нужное мне поведение ОС на абсолютно любое. Сделать любые горячие клавиши, максимально автоматизировать любые действия.
>100500 эмуляторов +100500
>Обновлять что, дебилойд? Обновляльщик, блять. Программы, которые ты используешь?
>Какое отношение вим имеет к линуксу? Ты пробовал использовать вим под виндой? Это очень проблематично.
>джетбрейнс редакторе Дальше мог бы не продолжать.
>>646620 Хули ты сравниваешь какое-то кастомное говно от васяна со стандартной консоль для массового пользователя? Давай сравнивать кастомные с кастомными, возьмём ConEmu, какие фичи есть в твоей линуксовой, чего нет в ConEmu?
>>646615 Консоль везде одинаковая, одинаковые команды. Отличия Xterm от Gnome-terminal/Xfce4-terminal/KTerm только в окошке, которая вокруг твоей консоли, цветовой схеме и поддержке 16 миллионов цветов. Ты можешь поставить Zsh, там больше удобных дополнений(например автокомплит для gulp/git).
>>646621 >Сделать любые горячие клавиши, максимально автоматизировать любые действия. Манька, плиз, конкретней. Что мне мешает переназначать горячие клавиши в винде? Ничего. Автоматизировать какие действия? Код за тебя писать, лол? Что за хуйню ты несешь, я могу баш/шелл скрипты также на винде написать, что угодно "автоматизировать"
>Программы, которые ты используешь? Какие ты программы там используешь, кроме браузера и ноды, для которых нужен пакетный менеджер, чтобы обновлять? Никакие? Ну ясно короче.
>Ты пробовал использовать вим под виндой? Это очень проблематично. Пробовал, никакой разницы нету с линуксом. Это тоже самое, что сказать, "ты пробовал использовать хром под виндой? очень проблематично". Никакой разницы нету вообще. Ни малейшей.
>Дальше мог бы не продолжать. Взлольнул. Адепт вима, давай поведуй, как ты на тайпскрипте пишешь? Какой анализатор используешь? Никакой? Бедняжка, ну значит пиши дальше на жквери своём лендинги. (хотя я юзаю атом, там тоже божественный плагин для тайпа, вим мод кстати тоже ничего)
>>646622 Кастомное говно? Кастомизации чего именно? Это не форки xterm'а, а отдельные программы. Почему гнум-терминал, дефолтный терминал гнума и следовательно дистров на гнуме это кастомное говно, а твоя поделка не кастомное говно? Тоже самое про xfce/mate и любую другую программу. > какие фичи есть в твоей линуксовой Как минимум не надо пердолиться, чтобы завести нормальный шелл.
>>646628 Ты чо бля шутишь? В ConEmu шелл по дефолту, тупо блять exe скачиваешь, устанавливаешь, запускаешь, тебя спрашивают какую консоль юзать, выбираешь шелл. Это 30 секунд занимает, если это для тебя пердолинг, то ты выбрал не ту профессию.
>>646627 >Манька, плиз, конкретней. Ок. Как в винде сделать, чтобы из браузера выполнить в консоле какую-нибудь команду, которую часто используешь(например остановить сервер и поднять его с новыми конфигами(Ctrl+c gulp start), пропустить песню в плеере, и т.д.), при этом не сворачивая браузер? В линуксе это легко делается. Я привязываю к комбинации клавиш(например последовательность Win + буква) отправку нужных команд/клавиши в открытую tmux-сессию, в окно, где запускаю gulp-таски(в конкретном примере). Как это сделать в винде, кроме как руками?
>Какие ты программы там используешь, кроме браузера и ноды, для которых нужен пакетный менеджер, чтобы обновлять? Никакие? Ну ясно короче. Навскидку - zsh, tmux, кодеки, gimp, wine и прочее.
>Пробовал, никакой разницы нету с линуксом. У меня половина плагинов перестала работать.
>Адепт вима, давай поведуй, как ты на тайпскрипте пишешь? Какой анализатор используешь? YouCompleteMe поддерживает typescript. Есть также плагины для подсветки синтаксиса, typescript-vim вроде называется.
>>646652 zsh, tmux и все прочие штуки есть в конэму/сигвине
статического анализатор для тайпа в виме нету
реально спор ниачём, уже в какие-то дебри ты полез, слишком персонализированные примеры, ничем разработка на шиндоусе не хуже разработки на линупсе, только какие-то личные предпочтения могут быть, вот привык ты к такому воркфлоу, значит будешь его юзать, но ни никаких киллерфич нету ни у линукса, ни у винды, ни у мака, все базовые и не только базовые вещи есть уже давно на всех платформах, это не 2010 год.
>>646667 я имею в виду обычный статический анализатор, как во всех других типизированных языках, которые показывает ошибки не в рантайме, а до запуска кода.
Скрипт не работает на айпадах. В чём может быть косяк? [code]document.querySelector("table").onclick = function (e) { var str = e.target.closest(".rowcheck"); if (str) { str.querySelector("input").checked = str.classList.toggle("onvalue"); } }; var spoiler = $('.spoiler');
spoiler.on('click', '.rowcheck', function () { if (spoiler.has('[type="checkbox"]:checked').length) { $('.spoil:not(.activated)').addClass('activated'); } else {$('.spoil.activated').removeClass('activated'); } }); [/code]
Как вывести определённый блок страницы на распечатку при помощи яваскрипта или ксс или чего-нибудь вообще? Не всей страницы, а именно отдельный её кусок, например всё то что содержится в диве с классом info.
>>646716 >document.querySelector('selector') >$('selector') Зачем ты городишь кашу из jQuery и Vanilla JS кода? Тем паче, когда можно обойтись одной только ванилькой. Rebuild. Reload. Test. Более чем уверен, твой код заработает на всех современных девайсах и браузерах.
Привэт тредик. Я в js плохо разбираюся, как и в программировании в целом, но у меня есть скрипт, который ищет определённые слова на странице и заменяет их на что-либо. В моём случае ищутся смайлики, их много, и хоть скрипт и работает, но жутко нагружает браузер, из за него страница загружается на 2-3 секунды дольше, что не хорошо. Так вот, подумываю пойти почитать про регулярочки по идеи они сюда идеально зайдут и запихнуть весь скрипт в одну строку, потому что сейчас у меня на каждый смайлик выделяется по одной длинной строке.
Собственно вопрос - от этого будут профиты в виде увеличения скорости выполнения скрипта, или же браузеру похуй как написано и выполнять он будет одинаково? Стоит ли мне ебать мозг с регулярками?
>>646950 Тем что реакт - это нормальный инструмент для фронта, а ангулар - попытка перенести на фронт серверные задачи, что приводит к распуханию клиента и ущербной архитектуре.
посоны тут у нас все мамкины синьоры, непризнанные техлиды и прочие гении есть унылое банковское говно на C# и встала задача переписать его на Ноду с какой стороны подойти?
Сап антуаны, фронтендер кун итт. На работе поставили задачу переквалифицироваться на время и за 6 месяцев написать и писать какие-то BDD автоматические тесты на кукумбере https://cucumber.io/docs/reference/javascript. Какие подводные камни? С чего начинать? Я так понимаю писать автотесты на js адЪ и ИзраилЪ?Какие профиты от этих навыков можно заиметь в будущем?
-..... -/pr/? ETO DANILA! /pr/ I NEED HALP! Посоны, поясните за ангуляр, у меня есть два стула разных модуля в приложении. В обоих есть контроллера для своих страниц и там же написаны директивы. Директивы в общем, практически идентичные по работе и потом я не мудрствуя лукаво назвал из одинаково. Суть в том, что директиву я написал для одной страницы - потестил, все работало отлично и я перешел к написанию ктрл и директивы ко второй странице. Написал - потестил, все ок, запушил. И началось, блядь. Пишут мне, что никуя не работает. Я говорю не может быть и лезу проверять см тем, чтобы обнаружить, что НИХУЯ не работает и в самом деле. При чем на строй странице пашет, а на той что я реализовал первой нет. Оказалось, что не смотря на то, что страницы юзают разные контроллеры(от разных модулей) первая страница по какой-то причине на событие взывает к директиве из второго контроллера(второй модуль жи есть). Я переименовал директиву во втором контроллере(модуле) и все заработало, но мой пукан горит и я не могу понять почему так произошло, кто подскажет нубу от ангуляра, что за бред я засвидетельствовал. Нагуглить пока не удалось, видимо не так спрашиваю у гугла.
Ребят, как поблочить ВСЕ onkey события на странице? Написал юзерскрипт, который в исходном коде меняет всё вида onkey="foo()" на "onkey="void(0)", смотрю сгенерированный исходник, все события onkey события действительно поменялись. Тем не менее, что-то ещё отслеживает ввод. Пытаюсь избавить моих собеседников в ВК от подписи "%username% набирает сообщение"
>>647421 Из-за звздочек поехала разметка. Читабельный вариант: Как поблочить ВСЕ onkey события на странице? Написал юзерскрипт, который в исходном коде меняет всё вида onkey="foo()" на "onkey="void(0)", смотрю сгенерированный исходник, все onkey события действительно поменялись. Тем не менее, что-то ещё отслеживает ввод. Пытаюсь избавить моих собеседников в ВК от подписи "%username% набирает сообщение"
Средствами jQuery вообще поудалял все onkey(down|up|press) атрибуты, в сгенерированном исходнике их нет. Что может по-прежнему отслеживать нажатия клавиш? >>647422-хуй
Вводная: апи или возвращает объект, одним из свойств объекта является массив объектов или возвращает пустой массив. Задача: проверить существования возвращаемого объекта и выполнить код, если пустой массив - валить в else . Примерный код: if (huetaObj.huetaProp && huetaObj.huetaProp.huetaPropProperty) {do something} else {do other shit}; Я тестирую конкретно случай для возвращаемого пустого массива и какого-то хуя интерпретатор джс всегда лезет в ифе за амперсанды и пытается взять свойство несуществующего объекта, хотя насколько мне известно о принципе работы И, он должен на стадии первого условия словить фолс и съебать из ифа в ужасе. Что за хуйня? Всегда же работало, а теперь нет, теперь мне нужно добавлять мудацкую строку проверки длины возвращаемого из апи массива, как будто я не шарю как работает И. Алсо, выводил в консоль лог значение huetaObj.huetaProp - там пстой массив, сравнивал там же с фолсом - ответ тру. Я НЕ ПОНИМАТ.
Аноны, у меня surprise butthurt. Начал ковырять JS 18 декабря, за это время прошел курс на codeacademy,туториал по ангуляру1 на офф сайте, почитал (не весь) курс Кантора и немного посмотрел видосов/почитал про Node и Express.
Учитывая что нихера еще нормально не знаю, резюме никому не слал, сидел себе учился. И тут сегодня на почту приходит приглашение на собеседование на позицию Junior/Middle JS/Node.js - куна. Список требований: javascript, angular js, node js, express mongodb html, css, bootstrap (желательно) REST API, OOP, clear code gulp или grunt, npm, bower; git, *nix / nginx. И просьба взять с собой резюме. В резюме как бы написать про ЖС нечего. Анон, надо запилить и задеплоить на хероку какой-нибудь простейший проект с нуля до, сука, среды. И чтобы нода-експресс, ангуляр, монга. Посоветуйте - что написать чтобы хоть теоретически успелось за сутки с чтением туториалов!
>>647488 Знаю что обосрусь, но обосраться можно так что тебя либо позовут еще раз через месяцок либо нет. Надо обосраться с возможностью прийти еще раз.
>>647490 >Я хуй его знает - где они меня нашли. Сидят такие HRы в конторе, делать нехуй вообще. "А давай рандохуям на емайлы приглашения на собес с тестовым посылать?" - "Гыгы, давай))". Так что ли?
Анон, нахуй реакт мешает логику и представление? Что за хуйня этот jsx? Разве это не шаг назад, анон? Все ебанулись с этим хайпом или я даун? Можешь ты мне объяснить, почему реакт крут?
>>647465 Да ты охуел, сука. Почему меня никто не зовет на собеседования? На гитхабе проекты с десятками и даже сотнями звезд, десятки активных проектов, куча статей, резюме повсюду, а нихуя не зовут.
>>647437 >>647485 Для решения твоей задачи можно обойтись без грязных обезьянок. Тащемта, порядок действий таков: 1) скачай все скрипты с vk себе на локалочку. Отбрось либы, оставь только те, где по твоему содержатся лиснеры. При необходимости пройдись анпакером/бьютифайером; 2) подозрительные места закомменть/отредактируй/do whatever thou want; 3) поставь Fiddler и настрой правила на перехват запросов к удаленным скриптам, подменив их на локальные версии; 4) ??? 5) ПРОФИТ!
Объясните связку Node+Nginx ? Нода в таком случае рендерит только страницы которые делают дополнительные запросы к серверу? Или она вначале рендерит, а отдается она все равно через Нгинкс. Где почитать в подробностях об этом?
Как сделать так, что бы "document.body.innerHTML = document.body.innerHTML.replace('test', 'test');" не лез в код страницы, а заменил только обычный текст? Он же разметку тоже трогает блджад! У меня от этого абсолютно всё пидорасит на применяемой странице! Ему можно сказать, что бы заменял только текст, который не относится к коду?
>>647471 Да это ясно, но ведь Х И У работает так, если Х тру, тогда интерпретатор идет к У и проверяет его, если У тру, тогда тру, если У фолс, тогда возвращает У, ежели Х фолс, тогда И дальше не должно проверять второе условие и возвращает Х. Разве не так?
>>647679 Тебе нужно проходить по всем текстовым нодам и менять их. innerText нестандартен и с ним так не работают. Гугли "get all text nodes javascript". >>647814 При обычном сравнении для стандартного массива вызывается toString -> пустая строка == false. Без сравнения проверяется, эхм, наличие объекта.
СИНТАКСИС И ЕГО КРАСОТААноним09/02/16 Втр 16:12:11#402№648033
Доставьте, где почитать о том, как должен выглядеть код в js здорового человека, все эти пробелы, табуляции, когда какие кавычки и т.д. Ну, чтоб человеком быть.
>>647907 'use strict' - все дела, но вот анон выше >>647492 оказался прав, оказывается, если пустой массив просто проверять в ифе, то он дает тру(типа существует, значит тру), а вот если с ТРУ сравнить, тогда выдаст фолс. Вот такой вот поворот. Честно говоря я не ожидал такого, знакомый разраб с опытом около 8 лет сам охуел, когдая я ему показал, лол.
Короче вот уже 4 дня гуглю инфу и пытаюсь что-нибудь накодить, но все тщетно(. Посмотрел как работает PhantomJS (правда там в связке с CasperJS) - то, что нужно, но это можно использовать только на десктопе, в мобильное приложение я не нашел как подключить. Пытался XMLHttpRequest - оказывается нужно чтобы на сервере, с которого запрашиваются данные (или на который отправляются), в заголовке (Response Header) стояло что-то типа разрешения, а у меня естественно нет доступа к сайту. Неужели это невозможно? Отказываюсь верить! >>643475 - кун
>>648145 Если коммерческая разработка и нужно парсить промышленными масштабами, лучше воспользоваться услугами PhantomJSCloud. Рилли. Скрипт будет исполняться на сервере, а твое участие сведется к минимуму - спарсить с PhantomJSCloud уже полученные результаты. --- Я не знаю, как там в мире винфонов, но должны быть еще headless браузеры и вебдрайверы к ним.
>>648162 Не, задача с универа. Ок, погуглю еще хедлес для винфона. А вообще эти хедлес браузеры существуют как библиотеки, которые можно использовать на своих сайтах? Ну как например я подключаю jQuery в src и пользуюсь.
Парни, может ответить на вопрос по использованию material-ui? Или в целом, про npm package прояснить. Я до сих пор с node.js вообще не сталкивался, за плечами только несколько работ без серверной части.
>>648225 В общем, сложность вот в чем. Я скачал и установил ноду, создал папку для неё в документах, перешел туда с помощью командной строки. Запустил установку, файлы в папке действительно появились. До сих пор я же все правильно делал? После, код из примера скопировал в js-файл проекта, где я хочу использовать данный ui. И ничего не произошло. Может это из-за jQuery? Или папка material-ui должна находиться в папке с проектом? Но, как я понял из инструкции, это не нужно.
Только если я делаю так document.querySelector("body").textContent = document.querySelector("body").textContent.replace('1', '1');
, то разметка не игнорируется, она проёбывается, просто удаляется, разметка тупо исчезает из тега body, остаётся только текст. Как это пофиксить? Я заебался блядь, полностью заебался.
>>648321 Ок, тебе нужен первый результат - первый ответ на стаковерфлоу - второй снипет. http://stackoverflow.com/a/10730777/4867787 В переменной n будет нод, у него innerHTML будет содержать только текст.
>>648334 Не вижу приложенных усилий на твоем пике.
createTreeWalker(родитель, что-отдавать, ...) - апи браузера отдает все нужные ноды, можешь особо в него не углубляться. walk.nextNode() по очереди их отдает.
Парни подскажите что можно написать для дипломной работы которая будет через год, с использованием nodejs, html,css,jquery,angular и т.д. Какую нибудь идею может подкините, а то просто страничку сверстать или инетрнет магазин на вордпресе развернуть не то, что можно реализовать с использованием веб технологий на дипломный проект? думал приложение на андроид на фонегапе или кордове, начал писать, но я люблю делать всякие свестелки перделки, и на телефоне лагает это все, а изучать жабу не хочется, надо дальше прогресирвать в вебе. Может кто каких нить идей подкинет, что реализовать?
>>648602 Попробуй чат по типу телеграма, с регистрацией, созданием групп, всей херней. Или вот например приложуху, где можно гитарные табы делать онлайн, типо гитар про, только в браузере. Или фэнтези футбол приложуху, главное чтобы с реальными данными работало.
>>648145 На продакшене такое сделать нереально, если у тебя нету доступа к серверу и ты не можешь изменить заголовки. Если просто потестить, то гугли CORS запросы как делать.
>>648608 Бляя, это очень очень грустно! Потестить всм на десктопе? Тогда уже не надо. Да и не получились у меня эти корс запросы. Нет ответа от сервера и все.
Пацаны, че еще годного по ноде+экспрессу изучить? Может книжка какая-то комплексная крутая есть? Уже глядел Кантора и делал сервис на хероке с монгой и оаус-авторизацией.
>>648602 Можно использовать стек MEAN для разработки сервиса по безопасному обмену файлами. Я знаю, что на первый взгляд звучит тривиально, но! Суть в следующем - твой сервис - прокладка, на самом деле не размещает загруженных пользователями файлов (по крайней мере, на продолжительной основе), а использует для этих целей различные фотохранилища. Эдакая стеганография. В интерфейсе пользователю предлагается выбрать два файла - изображение и любой бинарник (полезная нагрузка). После сабмита, твой сервис кодирует бинарник в BASE64/UUE/XXE и херачит полученный выход в EXIF теги изображения (при необходимости, размножая исходное изображение, если на выходе кодированный файл слишком большой) и загружает на фотохостинги, сохраняя информацию о кодированном файле (CRC и проч.) в БД. По успешном окончании операции пользователю отдается линклист, который позже можно использовать на твоем сервисе для декодирования и получения исходного бинарника. Не буду утверждать, что фотохостинги не палят левую информацию в EXIF, но думаю найдется пара-тройка хранилищ, где по-прежнему можно проделать такой трюк. В качестве 'proof-of-concept' материала можно использовать доклад Антуана Санто 'Embeddinghidden files in jpeg images'. Думаю, такой дипломный проект понравится твоему руководителю.
>>648145 >оказывается нужно чтобы на сервере, с которого запрашиваются данные ... стояло что-то типа разрешения Попробуй проксифицировать XHR запросы через CORS-прокси, дабы преодолеть анальные ограничения. Мне в свое время помогало.
Есть одна регулярка. Допустим такая /[123][-][321]/ . Как сделать так, что бы [-] тоже искалась, но если она не будет найдена, то просто игнорировалась?
>>648660 Я наверно немного неправильно сформулировал.
Дело в том, что при таком написании "/[123][-][321]/", примером, "13-23" - ищется, но "1323" уже не ищется. Мне нужно сделать так, что бы "13-23" и "1323" виделись регуляркой. Надеюсь понятно описал.
>>648640 Пробовал и с телефона и с компа. По части браузера да, я вчера вечером подумал об этом способе. Правда это придется тогда на c# делать, ибо элемент <browser> там точно есть, а вот в JS+HTML проекте не нашел.
>>648671 Для каких целей цифры во второй группе перевернуты? Твое выражение ищет "одна цифра, знак минуса, одна цифра". Для 13-23 и 1323 нужно [123]{2}-?[123]{2}.
Всем доброго время суток, аноны. Вкатываюсь в джаваскрипт. Пытался его учить до этого, но были очень плохие знания в верстке, и я решил пока не торопиться с js. Теперь я вроде подтянул знания в верстке и начал мазаться js. Просматриваю продвинутый интенсив хтмлакадемии урок про js. Там учитель показывает такой пример, как на скриншоте. Суть в том, что если писать как у него, то результат не появляется, но если добавить как сделал я на втором скриншоте, то результат отобразиться(скриншот 3). Скажите, как надо делать правильно? Верно ли я сделал, что прописываю console.log? Спасибо за ответ.
P.S. Объясните как будет правильно писать ковычки? " или ' ? Или без разницы?
>>648742 Консоль.лог, собственно, выводит инфу в консоль, так что да.
В js разницы между кавычками нет. Я использую одинарные, потому что шифт не нужен, а в хтмле двойные (т.к. более распространено). Главное быть последовательным и если вливаешься в другой проект придерживаться уже существующего там стиля.
>>648715 Можно подробнее? Вот у меня есть в проекте три документа: index.html, style.css и script.js. Есть папка с material ui. И есть код с примерами вот здесь: http://www.material-ui.com/#/components/app-bar Так вот, что куда вставлять? Не пинайте сильно за глупые вопросы, плиз. Или пинайте, но объясните:3
>>649139 Действительно, не пишу и не знаю. > другую материалюи-либу А такие есть? > реакт Можешь прояснить, что это, как долго и сложно ли осваивать, и нужно ли это ньюфагу?
Реакт это фреймворк - нужен чтобы не писать многие моменты дизайна+логики самому, как jQuery, только привносит свою архитектуру в твой код и дает возможность не работать напрямую с хтмлем. Реакт добавляет некоторые моменты в javascript (посмотри на главной сайта реакта табы сравнения), поэтому код на реакте (.jsx) перегоняют в обычный .js используя nodejs. Про долго/сложно не умею определять. другой-анон
Сделал имиджборду с Ajax-ом и кучей фич. Устойчива к высоким нагрузкам. Как минус - фронт кривой, но я потом переделаю (возможно). Ставьте звёздочки, подписывайтесь, пилите борды. https://github.com/vladimir37/hanako/
Анон, как работает это хуита: http://learn.javascript.ru/closures#возврат-функции ? Я уже в 5 или 6 раз перечитываю и не могу въебаться с какого хера counter и counter2 не скидываются при повторном вызове и не возвращают 1. Может есть описания как раз для таких даунов как я? И ты объяснил для себя сравнением с чет-то другим. Короче, выручайте.
>>649442 Коробки - это функции, кошки - это переменные. Кошка во внутрей коробке рожает котят и умирает, те в свою очередь рожают ещё котят и тоже умирают, но кошка в общей коробке как сидела, так и сидит.
>>649442 Функция makeCounter возвращает другую функцию (назовем её функция-2). Не результат функции-2, а именно сам код, который потом нужно запустить. Каждый раз при запуске makeCounter возвращается новая порция кода, никак не связанная с прошлым запуском. Этот код сохраняется в переменной counter или counter2. При этом переменная currentCount не уничтожается после выполнения функции makeCounter, т.к. на неё ссылается функция-2, а сама функция-2 у нас лежит в итоге в переменных counter или counter2. Затем при запуске counter или counter2, которые по сути являются копиями функции2 (независимыми от друг друга), нам возвращается текущий результат переменной currentCount.
Надеюсь чуть-чуть понятно объяснил. А может и нет. На самом деле это очень простой концепт, надо просто чтобы что-то щелкнуло в голове и всё.
В переменную counter ты получаешь код функции-2, который уже при запуске именно counter() вернёт тебе текущий currentCount. Но при каждом последующем запуске counter(), твоя функция (по сути функция-2, но только как бы в оболочке переменной counter), смотрит на переменную currentCount, которая была создана при запуске makeCounter, и не уничтожилась в последствии, т.к. у тебя в твоей переменной counter теперь лежит другая функция (функция-2), которая ссылается на этот makeCounter. Каждый раз makeCounter создаёт новую "оболочку", в которую в последствии смотрит counter (или по сути функция-2).
Хз, возможно я тебя тоже только больше путаю. Тут самое главное понять, что makeCounter возвращает другую функцию, которую можно выполнить, а не уже какой-то результат, и оболочка этой другой функции не уничтожается, а остается доступной для неё.
Аноны, объясните ньюфагу, как вообще правильно учить js? Читаю http://learn.javascript.ru/ и просматриваю разлиные уроки на ютубе. На что больше делать упор? Времени у меня 5 дней в неделю полностью свободное, т.е. могу сидеть и учить весь день. Хотелось бы увидеть дельных советов от бывалых и недавних новичков.
P.S. Шапку читал, но все же интересно услышать каких-нибудь советов. Не закидывайте камнями и гавном. Так же интересует, как правильно учить по http://learn.javascript.ru/ . После того как прочитаю раздел, когда переходить к новому? Когда будет от зубов отскакивать тот который я прочитал только что?
>>649517 >Мне твой ответ ничего не дал. Досадно чет, лол, однако отладчик содержал ответ на твой вопрос. Однако, не стоит, на мой взгляд, упрощенно объяснять некоторые понятие - это только породит больше заблуждений и неясностей. Оперировать будем сущностями языка - scope (область видимости). Так вот, стоит запомнить, если функция возвращает функцию (как в примере с твоими счетчиками makeCounter возвращает анонимную функцию), то дочерней функцией передается область видимости материнской. Тут стоит отдельно подчеркнуть, что после выполнения инструкции var counter = makeCounter(); в counter передается та самая анонимная функция из makeCounter, причем вместе с областью видимости! Поскольку в материнской функции была объявлена переменная currentCount, при последующих вызовах дочерней (а в нашем случае дочерняя функция передана в counter) эта переменная изменяется, накапливая значение. Теперь немного понятней стало?
>>649651 Пробегаешь глазами по джс.лерну и начинаешь пилить что-нибудь, когда не знаешь как или что делать заглядываешь в туториал и на стаковер. Только так. Я год-полтора "учил", но пока не начал писать код все это хуйня была.
>>650071 var a = 1; a += 5 // => 6 (эквивалент a = a + 5) a =+ 100 // => 100 (эквивалент a = (+100) или просто a = 100, нутыпонял) В общем "=+" я не видел, чтобы кто-то писал.
>>648606 >где можно гитарные табы делать онлайн, типо гитар про, только в браузере. Табы в .gp формате? Это же пиздец на JS писать или я совсем ньюфаг? На том же songsterr всё на флеше работает.
>>640565 (OP) Потсоны, дали тестовое задание на джангу и фронтэнд и вот с последним у меня туго. Вот отрывок:
3) Также приложение должно отображать статусы с соответствующими им Задачами, как показано на макете ниже (см. пикрилейтед); 3.1) На этой странице должны быть отображены все задачи и все статусы, соответственно.
Изменение статусов задач в приложении: 4) Статус задачи должен меняться drag-and-drop'ом. Задачи из области одного статуса в другой; 4.1) К примеру, перетащить мышкой задачу "task1" из статуса "status1" в "status3". 5) Если один пользователей меняет статус задачи, то статус той же задачи должен моментально измениться на уже открытой странице другого пользователя; 5.1) обновление статуса задачи не должно сопровождаться полной перезагрузкой страницы, а только манипуляциями ее отдельными DOM- элементами.
Собственно вопрос как это реализовать. Так знаю жиквери и недавно начал изучать ангуляр. Особенно меня интересует 5й пункт - как реализовать общение браузера с сервером в таком случае?
>>650186 В фоне запрашивай информацию с сервера. При изменении на стороне клиента - отправляй на сервер. При изменении информации полученной от сервера - перерисовывай UI каким там ты пользуешься фреймворком.
Используй вебсокеты, хотя можешь лонг поллингом обойтись тащемта.
вечер в хату, я тут в 6ю екму пытаюсь, посмотрите пожалуйста, очевидный ли код, можно ли без мозгоебства понять что что делает ? Может кто подскажет что поменять например, best-parcticies вся хурма... https://jsfiddle.net/xr3sc78g/
поцы, я короче на джанге беки делаю, фронтендер съебнул и я пока вместо него, поясните за http://riotjs.com/ выглядит как react без мусора, готовые компоненты на гитхубе, можно ли на продакшн взять его ?
Приветствую. Задача стандартная. Есть ajax фильтр по параметрам(форма с чекбоксами, полями и прочее). После наложения фильтра, отображаются записи. При клике на любую запись, переход на эту запись. В этой записи должна быть кнопка НАЗАД, которая возвращает обратно на страницу фильтра с уже ранее выбранными параметрами. Как это реализовать? Голову сломал уже. Вроде есть history API, но как это применить к моему примеру не нашел. Есть библиотеки jquery, но тоже не понимаю, как их применить. Устроит даже тупо при нажатии кнопки фильтровать (аjax вызова) формирование урла в строке браузера вроде http://site.ru?hui=4,5,7&pizda=000, то есть в гет параметрах будут сохранятся данные из инпутов форме, и потом по этому урл http://site.ru?hui=4,5,7&pizda=000 можно воспроизвести страницу с наложенными фильтрами? Есть какой-нибудь нормальный мануал от а до я по этой теме, можно на англ. В инете все кусками, с jquery не особу дружу.
Аноны кто подскажет годный русскоязычный справочник по node.js со всеми объектами, их свойствами, описанием каждого и тд. Может есть какие-то персональные блоги? в гугл не умею с иглишом слабо (что надо учить знаю)
Этот тред посвящён главному языку будущего - 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), 3D графика (Three.js, Babylon.js), мобильная разработка (NativeScript, Phonegap, Ionic), десктопная разработка (NW.js, WinJS).
3. Можно выучить только jQuery и всё писать на нём? - Не стоит, лучше начать писать на jQuery, когда освоишь ванильный JS, дабы не испортить себе восприятие языка, и в будущем не испытывать трудностей с изучением сложных фреймворков.
4. Существуют ли стайл-гайды для JavaScript? - Да, вот: https://github.com/felixge/node-style-guide
5. Какие новые возможности добавил ES6? - Вот здесь можно почитать на русском: https://learn.javascript.ru/es-modern
6. Ну ладно, с чего начать изучение то? - Дальше я приложу список материалов для изучения.
Чистый 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/
http://ru.discovermeteor.com/ - Книга по Meteor.js - одному из самых лёгких и функциональных фреймворков. Полностью на русском.
Онлайн сообщества:
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/
А потом? Я и так уже гений!!!
Выбери себе направление. Может, ты хочешь игори делать? Тогда вперед на гитхаб, и ищи Phaser, Pixi и другое, выбор не маленький. Хочешь на сервер сайд? Копай в сторону Node.js, Express, Socket.io. Хочешь писать MVC логику? Angular, Backbone, React, да множество их. Нельзя забывать про NW.js и WinJS, позволяющие создавать десктопные приложения.