Этого треда уже нет.
Это копия, сохраненная 28 февраля 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
11 Кб, 785x340
234 Кб, 600x428
26 Кб, 540x300
JavaScript #29 xw #640565 В конец треда | Веб
Ссылка на прошлый тред: >>631129 (OP)

Этот тред посвящён главному языку будущего - 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, позволяющие создавать десктопные приложения.
#2 #640567
#3 #640604
Пол месяца только пытаюсь познать JS, а фляга уже брызжит во всю. Смотрю интенсив одного хохла +читаю и пытаюсь решить задачки на лирне. Вроде все доходчиво объясняется и там и там, но самостоятельно я ничего не могу сделать(я про задачи) - все время приходиться смотреть решение. Сейчас столкнулся с тем, что долго не мог вспомнить как работает while(я сейчас себя словил на мысли, что не помню как правильно while назвать(метод это или функция)). А чем дальше, тем я хуже начинаю понимать, а ведь я только на 6 из 24 видео интенсива.

Собственно, исходя из вышеописанного у меня вопрос: программист уровня джуниор знает на память хотя бы половину того, что описано на learn.javascript.ru и свободно эти знания применяет? или же это работает как-то иначе?
>>640613>>642364
#4 #640613
>>640604

>программист уровня джуниор знает на память хотя бы половину того, что описано на learn.javascript.ru


Погроммист-жуниор точно знает 95% этого сайта, т.к. там ничего такого особенного не написано на самом деле, достаточно базовые вещи. Не обязательно все 95% помнить на память, просто нужно знать, что этот некий метод существует, условно. Но знать базовый синтаксис (а циклы этим я являются) уж точно нужно. Алсо, просто знание ничего не даёт, надо ещё уметь это применить на практике.
>>640627>>642368
#5 #640627
>>640613
Что же такому дауну как я посоветуете делать? Понимание у меня более менее сложилось о том, что я уже прошел, только вот while меня огорчил, ибо редко пользовался и забыл.
И еще вопрос: что с codewars стало? Чому он меня не авторизовывает(я зарегистрирован уже полгода, наверно)?
>>640635
#6 #640635
>>640627
Ну если ты полмесяца только изучаешь, тем более видимо без практики пока что, то это норм вполне. Но до джуна тебе далеко, я бы сказал, что месяцев 5 ещё.
У меня всё ок с кодварсом, всё логинит, я через гитхаб правда.
>>640643
#7 #640643
>>640635
Моих знаний только для задачек, типа "преобразуйте все строковые свойства в объекте так, чтоб они начинались с большой буквы", куда мне до практики с написанием полноценных скриптов.

У меня тоже через гитхаб логинился.
99 Кб, 600x609
#8 #640646
Мальчишки и девчонки, а также всякие трансгендеры - нужна ваша помощь!

Как настроить gitforwindows таким образом чтобы он создавал глобальный .gitconfig и папку с ключами .ssh на флешке а не %userprofile%?

На stackoverflow одна хуйня написана:
http://stackoverflow.com/questions/4050905/changing-gitconfig-location-on-windows

Что-то похожее на решение нашел здесь:
http://markb.co.uk/portable-git-windows-setting-home-environment-variable.html
но оно уже устарело, таких строк уже нет :(
>>640659>>640671
#9 #640659
>>640646
fix: на флешке а не в %userprofile%?
#10 #640671
>>640646
Запили симлинк
>>640678
#11 #640678
>>640671
Как это сделать?
З.Ы. Я ньюфаня.
#12 #640695
Карочи, посоны, ну и многословное же говно этот ваш JSX с парными тегами, и как жи охуенен scalajs-react c его божественными префиксами, скобками, и типобезопасными обертками над этими самыми ссаными тегами. Единственную проблему вижу я — не для всех JS либ есть фасады под скалку, но это поправимо. мимовсепонял
>>640707
#13 #640707
>>640695

>2016


>scalajs

>>640721
#14 #640716
Начал учить этот ваш джава скрипт. Ну надо же ещё до кучи html и scc, да? Гугл предлагает два сайта на выбор, я в принципе понимаю, что разницы скорее всего никакой, но спросить анона лишним не будет. Что учить: https://htmlacademy.ru/
или
http://htmlbook.ru/
?
>>640732
#15 #640721
>>640707
Ну дак лучши жи нет ничего, ТапСкрипт - ссанина, ES6+ - моча, dart мертв, Кложура - для скобкодебилов, про всякое сорт ов кофе я даже не говорю, ибо на уровне пыли.
>>640739>>640976
#16 #640732
>>640716
Бро, учи nnm-club.me

GoIT - Онлайн курсы HTML/CSS + JavaScript 2015:
http://nnm-club.me/forum/viewtopic.php?t=973073

Htmlacademy - Базовый интенсив за 2015 год:
http://nnm-club.me/forum/viewtopic.php?t=899131

Htmlacademy - Продвинутый интенсив за 2015 год:
http://nnm-club.me/forum/viewtopic.php?t=900609

Htmlacademy - Базовый JS интенсив за 2015 год:
http://nnm-club.me/forum/viewtopic.php?t=974803
>>640746>>643293
#17 #640739
>>640721
Purescript
>>640748
#18 #640746
>>640732
Кажись хорошая вещь. Благодарю.
#19 #640748
>>640739
Интересно, спасибо, будет время — попробую упороться
>>640826
#20 #640826
>>640748
Лучше пройди сначала https://htmlacademy.ru/ и только потом переходи к их интенсивам, будет намного легче
Асло, в /wrk/ есть тред верстки, иди туда
22 Кб, 359x466
#21 #640875
На связи долбоеб, не умеющий в программирование. Объяните мне, юродивому, почему после выполнения двух строчек кода:

var str = document.body.innerHTML
document.body.innerHTML = str.replace(/div/g, 'huj')

В выделенной части пикрелейтед текст не поменялся?
54 Кб, 552x198
#22 #640892
>>640875
Уверен?
>>640894
#23 #640893
Всем советую попробовать второй ангуляр. Лютая годнота, обмазываюсь уже вторую неделю. Зависимость есть, брат жив.
Так же планирую попробовать реакт, вроде по принципу они похожи.
>>640959
#24 #640894
>>640875
Проебал глазами саму суть. Судя по навешанным ивентам, что то где то это генерирует и обвешивает этими самыми ивентами.
Для интереса, залогируй содержимое данного элемента сразу после замены тегов.

>>640892 - кун
#25 #640905
>>640279
Говно ваш инфинит скролл, если данных больше чем на 3-5 подгрузок.
>>641026
#26 #640936
Посоветуйте бд, чтобы была как json-файл, но только бд.
>>640938>>640958
#27 #640938
>>640936
Кауч.
>>640939
#28 #640939
>>640938
Спасибо. Выглядит как именно то, что нужно.
#29 #640958
>>640936
rethinkdb
>>640971
#30 #640959
>>640893
Можно ли проект с первого на второй перевести?
>>641368
#31 #640971
>>640958
Запахло смусси и коворкингом.
#32 #640976
>>640721

>ТапСкрипт - ссанина


Чем не нравится?
>>641019>>641027
#33 #641019
>>640976
Null-safety не завезли. Undefined является подтипом любого типа, а значит, может появиться где угодно, и компилятору на это похер. В итоге имеем все то же хождение по минному полю c `undefined is not object evaluating(... `, что ив ЖС. Паттернматчинг и АТД, опять же, нинужны.
>>641080
#34 #641026
>>640905
А какая разница между 3-5 подгрузками и 300-500?
>>641075>>641077
#35 #641027
>>640976
Вообще, он довольно неплох, и большое сообщество, но с учетом минусов, про которые я написал, есть инструменты получше в этой нише.
#36 #641075
>>641026
Таблица - это упорядоченные данные, а не лента вконтакте. Если тебе нужен 3005 элемент - тебе нужно 30 раз ждать подгрузки, а не просто перейти на 30 страницу. Это очень неудобно.
>>641082
#37 #641077
>>641026
Потому что мне проще добавить &page=157 в ссылку и перейти сразу к нужному фотосету с Озавой, чем сидеть и крутить колесо три километра, а потом наслаждаться трёхгигабайтной вкладкой в на тот момент уже тормозящем браузере с сотнями всяких видео, баззфидов и прочих твиттеров, подгруженных по пути.
>>641086>>641102
#38 #641080
>>641019

>Паттернматчинг и АТД, опять же, нинужны.


С точки зрения выпускника Сарапульского ПТУ - несомненно.
>>641084
#39 #641082
>>641075
Тыц в скроллбар, и ничего ждать не нужно:
https://legacy.datatables.net/release-datatables/extras/Scroller/index.html
>>641086>>641088
#40 #641084
>>641080
Я про точку зрения МС. Шелдон, залогинься.
#41 #641086
57 Кб, 800x480
#42 #641088
>>641082
Тогда эта та же пагинация, только в виде скроллбара

И что делать на телефоне?
>>641096
#43 #641096
>>641088
1) Не нужно тыкать эти ваши дебильные кнопки со страницами, контент подгружается динамически.

2) Напиши свой, лол, адаптивный пол мабилу) Я тебе прув оф концепт показал, чтоб питушки не кукарекали ниудобна нивазможна
>>641133
#44 #641102
>>641077

> добавить &page=157 в ссылку и перейти сразу к нужному фотосету с Озавой



Путь истинного сосачера-аутиста. Человек введет что ему нужно в поле быстрого поиска, просмотр на лету туда спозиционируется.
>>641151
#45 #641133
>>641096
Какая разница, кнопки тыкать или скроллбар? Это уже не инфинитискролл, а вариации пагинации
>>641136
#46 #641136
>>641133
Ты читать умеешь?
Я скролю вниз, строчки подгружаются. То, что вышло за пределы окна просмотра, уничтожается, дабы DOM не разсирался.
>>641250
#47 #641151
>>641102
Ну а кто это использует? Никто.
Да и скроллер этот работает нормально только с таблицей, а представь, что тебе nnm-подобный сайт нужно с этим "скроллером" посмотреть. И найти пост за 2006-ой год, ни названия ни даты которого ты не помнишь, но как увидишь заглавную картинку, то поймёшь - вот оно. Колесо же сломается столько скроллить.
Тот же ВК вот возьми: хочу почитать прошлогодние записи на стене сообщества. Как? Правильно – никак. Модна жи, инфинит скролл!

Всё зависит от разработчика, доступа к которому у меня нет, и пока будут всюду советовать это говно к месту и не к месту, жопа будет подгорать при использовании интернета.
>>641162>>641169
#48 #641162
>>641151
Я например использую, но это больше всяких крудов касается, да. В теории и на nnm можно впилить скролбар, или оставить навигацию по кнопками, но контент подгружать бесшовно, все же скролить вниз - более частый юзкейс.
#49 #641169
>>641151

>Колесо же сломается


Божественный кинетический скролл на гейбуке.
>>641188
#50 #641188
>>641169
У меня на флаффифоксе так.
#51 #641250
>>641136
Как будто пагинация работает иначе
>>641273
#52 #641273
>>641250
Как вы заебали. Пагинация - юзверь щелкнул на страничку => отобразился набор записей с этой страничке. Инфинит скролл - обезьянка провела жестом по View на экране ойпада - доскролила до нужной записи. Никаких ФИКСИРОВАННЫХ СТРАНИЦ нет, мань.
>>641277
#53 #641277
>>641273
Ты че, дегенерат? Прочитай с чего всё началось
>>641305
3860 Кб, 200x200
#54 #641294
Нуфаг в треде, все в машину.

Как сделать функцию с необязательными параметрами.
Допустим есть

function do(a, b)
{}

И она что-то делает с а и b, но я хочу чтоб можно было вызвать функцию без параметров

function do();
И чтоб в этом случае просто использовались значения а и b по умолчанию.
>>641297>>641332
#55 #641297
>>641294
function do(a, b)
{
a = a || 'loh'
b = b || 'loh'
}
>>641299>>641332
#56 #641299
>>641297

>a = a || 'loh'



Тут оно смотрит на а и если оно undefined то тодга записывает в переменную 'loh', я правильно понял?
>>641301>>641310
#57 #641301
#58 #641305
>>641277
У тебя проблемы с восприятием информации, мартыха.
>>641306
#59 #641306
>>641305
Ну и проекции у тебя
>>641308
#60 #641308
>>641306
Ты сам с собой разговариваешь? Совсем ебанулся?
>>641309
#61 #641309
>>641308
Ну прекращай уже проецировать, мань
>>641313
#62 #641310
>>641299
Не только undefined, но и все остальные значение, которые выдают false. Так что осторожнее с этим, лучше напрямую проверяй на undefined
#63 #641313
>>641309
Оставлю тебя наедине с твоим альтерэго, срись на здоровье.
#64 #641332
>>641294
>>641297
Не вижу коллбека. Непорядок.
#65 #641368
>>640959
Насколько мне известно - проще и лучше всего переписать на втором. Однако, следующая версия первой ветки бущет с миграцией под второй ангуляр.
138 Кб, 1366x728
178 Кб, 1366x728
#66 #641503
Есть контроллер который считует инфу из json файла
и в котором прописан фильтр поиска по введеному значению

во вьюшке прописан ng-repeat с фильтром поиска

все библиотеки подключены, но какого-то ничего не выводится
#67 #641520
>>641503
У тебя вообще данные внутрь фильтра передаются? Как-то всё очень странно выглядит
#68 #641560
>>641503
preparat in preparats | searchPreparats : name

иначе ты будешь в indexOf передавать объект, а не строку
#69 #641562
>>641503
https://toddmotto.com/everything-about-custom-filters-in-angular-js/

хорошая статься, все разложено по полочкам

// 641560-кун
#70 #641583
Пацаны, есть приложение на ноде+монго+экспресс. Есть задача структурированно выводить данные из монги на страничках, с возможностью обмазать все это фильтрами и поиском.

Вопрос - мне хватит для этого jquery или придется какой-то фреймворк прикручивать? Какой? главное, чтобы не СПА-пидорство
>>641641
#71 #641629
Кто тут емаксом пользуется? Какой нормальный способ поддержки ЖСа есть в емаксе?
>>641642
#72 #641630
>>640565 (OP)
Верните мой 2006
#73 #641641
>>641583

> мне хватит для этого jquery


> главное, чтобы не СПА-пидорство


Ты определенно что-то путаешь
#74 #641642
>>641629
Пиздец, нахуя? Бог дал тебе атом и вебшторм - нет, хочу есть говно
>>641705
#75 #641672
Тут кто-нибудь в React.js понимает?
Вызываю в овнер компоненте:
this.setState({data: 'blablabla'});
В его рендере есть компонент, ему в props как раз передается эта data.
Я правильно понимаю, что при вызове setState все опять заново рендерится и соотвественно дочерний компонент отрендерится с this.props.data = 'blablabla'; ?
25 Кб, 480x360
#76 #641705
>>641642
Atom становится хуетой, когда длина строки превышает сколько-то там символов (пропадает подсветка), а еще он не умеет в большие файлы.
Лучше sublime.
#77 #641706
>>641672
Проверить дохуя трудно, да?
>>641714
#78 #641712
>>641672
Нет, state отдельно, props отдельно. Доставай свое 'блаблабла' из this.state
>>642210
#79 #641714
#80 #641732
https://jsbin.com/sowasohifo/edit?js,console

Кто-нибудь может это объяснить?
#81 #641735
>>641732
Сначала идут все объявления переменных.
>>641736
#82 #641736
>>641735
То есть ты сначала объявил переменную bar, потом присвоил ей функцию.
#83 #641752
>>641732
ES Function Hoisting.
#84 #641773
>>641732
Читай про function declaration и function expression.
699 Кб, 706x455
#85 #641848
Ананасы накидайте годных примеров или курива литературы построение веб приложений по принципу DRY в JS
>>641854
#86 #641854
>>641848
Недавно читал статью про анти-паттерн, там говорилось, что принципом DRY стоит пренебрегать, если он нарушает SRP https://en.wikipedia.org/wiki/Single_responsibility_principle
.
>>642103
#87 #642103
>>641854
Как DRY может нарушить SRP? Общий функционал по-любому должен быть вынесен в отдельную сущность, тут не DRY виноват, а рукожопие налицо.
>>642791
#88 #642210
>>641672
Да, всё верно.
>>641712
Ты даун.
>>642230
#89 #642230
>>642210
Точно, жопой читал
33 Кб, 350x332
69 Кб, 402x400
#90 #642250
Здравствуйте, разрешите войти?
>>642252
#91 #642252
>>642250
залетай!
>>642259
282 Кб, 1024x724
#92 #642259
>>642252
уютненько.
курва, мать её, мною овладела, свгшная, чувствую, близок момент, когда не останется никаких шансов отпетлять от es. здравствуй, милый сердцу dom. в упор уже дышит сука, подбирается.
btw, есть чем чекать адаптивность, тулз какой рассово чистый ибо чё то все по разному показывают а я пока поскролю, чем вы тут кормитесь
>>642372
#93 #642272
Аноны, такие дела, имел некоторый опыт работы джуном в тырпрайзе на яве, понял, что мне тупо скучно, и таки хочется больше "интерактивщины", так сказать, да и проекты поменьше, видимо я гуманитарий. В связи с этим, есть мысль начать перекатываться во фронтовики. По прошлой работе, немножко знаю стандартный js, немного имел дело с онгуляром и бутстрапом. Есть несколько вопросов:

1) Фронтендеру нужно уметь нормально верстать? И как часто приходится совмещать обязанности с версталой? Если, например, лезть джуном - онли через вёрстку, или берут прямо на js?

2) Поясните за специфику работы: у нас фронтендер исправил пару багов после предыдущего, а потом долго пинал хуи, пока ему не приносили новый макет. Это типа, реальная картина? Как часто вам требуется ебашить сверхурочно?

3) Правда ли, что тяжело устроиться на работу, т.к. для фронта предпочитают фриланс-индусов за еду?

4) Каковы перспективы? Ладно ещё жаба-кодера можно представить в 40 лет, но тут у вас каждые полгода новый фреймворк взлетает. В 30 лет неликвид?
>>642277>>642281
#94 #642277
>>642272
Алсо, да, к вопросу о важности вёрстки: если я в качестве портфолио, сделаю одностраничную залупу с каким-нибудь ангуляром, но вместо нормальной вёрстки обойдусь бутстрапом - норм будет?
>>642284
#95 #642281
>>642272
Сделай залупу на анлуларе и буутстрапе, и бекенд на любимой жабке, и говори что ты фуллстак, ебу штоле дал, во фронтовики.
261 Кб, 900x597
#96 #642284
>>642277
зак респектует того кто оседлает любой вел, а не полезет изобретать новый. Алсо, сижу ебусь со своей визиткой, ёбаное @media, сколько сука строк и разрешений...
#97 #642364
>>640604

>фляга уже брызжит во всю


поясни, что это
>>644971
#98 #642368
>>640613
А что, кроме 95% сайта http://learn.javascript.ru/, должен знать программист уровня junior?
323 Кб, 865x480
#99 #642372
>>642259

>чем чекать адаптивность


Chrome Developer Tools.
В Firefox такая же хуйня есть
>>642509
#100 #642378
Джейсоны, кто работал с модулем '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
#101 #642396
>>642378
Ты понимаешь, что ты поехавший? Уже всё
>>642404
#102 #642401
>>642378
Мне кажется или ты под процессом понимаешь top-level окна винды? Мысль про EnumWindows мне видится вполне адекватной, нельзя ведь знать когда рандомная программа решит показать свой гуй.
>>642404
#103 #642404
>>642396

>Ты понимаешь, что ты поехавший? Уже всё


Да. У меня уже есть аналогичное приложение на C#, но захотелось перенести его на ноду. Это удаленное управление медиаплеером, а фрагмент кода, по идее, должен отвечать за запуск приложения и перетаскивание его главного окна с указанным размером на второй дисплей.

>>642401

> top-level окна винды


Да, все верно.

> нельзя ведь знать когда рандомная программа решит показать свой гуй


Значит, самое адекватное решение - зациклить перебор окон на несколько итераций до тех пор, пока искомое окно не будет найдено или не выйдет время.
Спасибо.
>>642796
#104 #642423
>>642378
Сделал через setInterval с ограничением по итерациям и грязным хаком (задержка 0), лол. Стабильно на втором проходе возвращает хендл окна.
https://jsbin.com/layomay/1/edit?js
>>642444
#105 #642444
>>642423
console.log('Running iteration: ' + ++i); - уродство.

> ограничением по итерациям


> задержка 0


Ужсн.
>>642456
#106 #642456
>>642444

>console.log('Running iteration: ' + ++i); - уродство.


Ну так это ж отладки ради.

> ограничением по итерациям


> задержка 0


> Ужсн.


А как лучше? Я поэтому и спрашивал, какие варианты более удобоваримы, если учесть, что нет ивента, на который можно было бы приаттачить лиснер.
>>642469
#107 #642469
>>642456
"Отладки ради" было бы просто 'Running iteration: ' + i.

Лучше waitForWindow(pid, maxMs), еще cb можно в параметры. Про нулевой интервал плохо, потому что на вид как busywait, а на деле используется минимальное значение. Хотя, думаю, последнее не так уж и страшно.
>>642495
38 Кб, 350x246
#108 #642495
>>642469
Почистил код в соответствии с рекомендациями.
#109 #642509
>>642372
так такая же хуйня у меня и стоит, Toggle,
кстати, можно вот это считать её аналогом? http://beta.screenqueri.es/
#110 #642791
>>642103

>Общий функционал по-любому должен быть вынесен в отдельную сущность


Это можно сделать разными путями.
>>643581
#111 #642796
>>642404

>самое адекватное решение - зациклить перебор окон на несколько итераций до тех пор, пока искомое окно не будет найдено или не выйдет время


Чето ржу с такого алгоритма.
>>643150
#112 #643150
>>642796
Имея pid, получить хендл главного окна процесса можно только из коллбэка EnumWindows.
Проблема в том, окно отрисовывается неизвестно позже порождения процесса.

>ржу с такого алгоритма


Так я и хочу 'бест практиклз' услышать.
>>643187
#113 #643187
>>643150
К сожалению, бест практиклз это не юзать js для таких десктопных приложений.
14 Кб, 319x213
#114 #643272
>>640565 (OP)

>Онлайн курсы:


Среди них есть бесплатные? А то там только интродакшены.
>>643293
#115 #643293
#116 #643370
>>640565 (OP)
2014 это что за фреймворк?
>>643373>>643377
#117 #643373
>>643370
О чем ты?
>>643377
#118 #643377
>>643373
>>643370
Всё, понял
Polymer
4 Кб, 320x240
#119 #643392
Сап ночные, помогите с задачкой, сам нифига не шарю в программировании. Нужно определить цифры 1 и 7 на картинке, препод говорит что то про свечение, что у 1 оно внизу и вверху почти одинакового, а у 7 различается, таким методом определить, где 1, а где 7.
>>643397
#120 #643397
>>643392
Ты тредом не ошибся? Тебе это на жс пилить надо?
>>643399
#121 #643399
>>643397

> жс


так это же джаваскрипт тред? так мне и надо на джаваскрипте
>>643405>>643409
#122 #643405
>>643399
Распозновать цифры на джаваскрипте? Может всё-таки на джаве?
>>643408
#123 #643408
>>643405
Я не знаю, это что за язык?

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);
// КОНТРОЛЬНЫЙ ВЫВОД

puts(3);
// ЛОВИМ КУСОК ЭКРАНА В КАПКАН
RT1=getsquare(RT,Y=16,X=10,Ly=11,Lx=11);
// СВЕТИМОСТЬ КУСКА RT1
s=sum(sum(RT1)); puts("светимость s="+s);
// ВЫВОД КАРТИНКИ В КАПКАНЕ 1
mesh(RT1);

puts(4);
// ЛОВИМ КУСОК ЭКРАНА В КАПКАН
RT1=getsquare(RT,Y=16,X=10,Ly=11,Lx=11);
// СВЕТИМОСТЬ КУСКА RT1
s=sum(sum(RT1)); puts("светимость s="+s);
// ВЫВОД КАРТИНКИ В КАПКАНЕ 1
mesh(RT1);

} // END IF tick==0

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));
}
#123 #643408
>>643405
Я не знаю, это что за язык?

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);
// КОНТРОЛЬНЫЙ ВЫВОД

puts(3);
// ЛОВИМ КУСОК ЭКРАНА В КАПКАН
RT1=getsquare(RT,Y=16,X=10,Ly=11,Lx=11);
// СВЕТИМОСТЬ КУСКА RT1
s=sum(sum(RT1)); puts("светимость s="+s);
// ВЫВОД КАРТИНКИ В КАПКАНЕ 1
mesh(RT1);

puts(4);
// ЛОВИМ КУСОК ЭКРАНА В КАПКАН
RT1=getsquare(RT,Y=16,X=10,Ly=11,Lx=11);
// СВЕТИМОСТЬ КУСКА RT1
s=sum(sum(RT1)); puts("светимость s="+s);
// ВЫВОД КАРТИНКИ В КАПКАНЕ 1
mesh(RT1);

} // END IF tick==0

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));
}
>>643412>>643453
#124 #643409
>>643399
CV библиотеками владеешь? Если нет - тупо высчитывай пиксели с иным цветом и сохраняй в два двухмерных массива, после чего дели их на два посередине. Тот, у которого верхняя половина больше по числу пикселей - 7. Модулей npm для работы с пикселями полно.
>>643413>>643453
#125 #643412
>>643408
А что это за штуки в фигурных скобках?
#126 #643413
>>643409
я вообще языком не владею, дали вот пример что выше, он часть картинки режит и пеерводит ее в ЧБ, я вот и прошу сделать это, если не трудно, без каких либо либ
>>643422
#127 #643422
>>643413
Это можно сделать и на жаве, и на ноде, но если ты не владеешь языком - соснёшь на любом языке. Computer vision - это не крудошлепствовать.
#128 #643453
>>643408
Общая стратегия как >>643409 описал.
Можно подключить нейронку и таким образом решить задачу даже если на изображении числа будут расположены иначе. В любом случае понадобится массив пикселей эталонной единицы и семерки.

NodeJS + GetPixels + BrainJS

http://stackabuse.com/how-to-create-c-cpp-addons-in-node/
>>643464
89 Кб, 1920x1123
#130 #643475
Вечер в хату, господа. Проконсультируйте пжл, пока что на уровне теории:
Есть сайт (не мой) без api. Мобильной версии не имеет. Я хочу написать приложение для windows phone, которое будет отображать некоторые данные с него. На сайте есть поля со списком значений, при выборе значения из первого - значения во второе подгружаются автоматически, далее пользователь выбирает значение из второго поля, затем жмет "Показать" и на странице появляется соответствующий контент (текст).

Как я это представляю: в приложении размещается два поля со списком и кнопка. При открытии приложения, значения в первое поле загружаются с сайта. Далее пользователь выбирает нужное и в соответствии с его выбором подгружаются значения во второе поле, где он также выбирает, затем жмет кнопку и получает контент.

Реально ли вообще это сделать? К слову, в Visual studio есть шаблон проекта HTML + JavaScript для винфона. Хватит ли хтмл+жс для реализации этого всего? Какие статьи почитать?
#131 #643491
Объясните крестьянину, для чего все-таки нужен Symbol и где я могу его применить?
>>643511>>643512
#132 #643509
>>643475

>Есть сайт (не мой) без api


Если сайт динамически подгружает контент при взаимодействии с пользователем, значит он по определению имеет API.
Другое дело, в твоем случае, он не публичный.
Можно отследить в консоли XHR запросы к сайту и использовать их в своем приложении, подставляя необходимые значения.
Разумеется, если сайт изобилует хитростями в клиент-серверной логике, вероятность того, что ты соснешь, сильно возрастает.
Но попробовать стоит.
>>643536>>643693
#134 #643512
>>643491
Вот тут хорошо описано https://learn.javascript.ru/symbol
#135 #643536
>>643509
Гораздо проще сделать это через вебкит и таймеры, инициируя нажатия кнопок, а потом каждые полсекунды парсить на присутствие определенной DOM-ноды или текста.
>>643539>>643711
#136 #643539
>>643536

>Гораздо проще сделать это через вебкит и таймеры


Если такой вариант реализуем на WP - безусловно проще.
>>643643
#137 #643581
>>642791
И какими же?
#138 #643643
>>643539

>WP


Нет, вордпресс для этой задачи не подходит, вот если тебе нужен блог...
>>643693
#139 #643693
>>643509

>Если сайт динамически подгружает контент


Воу, а ведь действительно, страница обновляется полностью после выбора значения в первом поле. Это многое меняет?

>>643643
WP здесь имеется ввиду виндовс фон.
>>643711>>643713
#140 #643711
>>643693

>Это многое меняет?


Document.innerHTML это меняет. А это ведет к >>643536
>>643798
#141 #643713
>>643693

>WP здесь имеется ввиду виндовс фон.


Я подумал, что ты кодишь на сишарпе.
Тогда инициируй click() по элементу, потом парси (с помощью setInterval) innerHTML по кодовым словам/тегам, чтобы понять, что данные обновились.
>>643798
#142 #643798
>>643711
>>643713
Судя по тому, что вы предлагаете - задача все же реализуема? Просто я толком не шарю за веб. Ну то есть какие-то теоретические познания есть, а практики ноль.
>>643844
выбор фреймворка #143 #643808
господа, столкнулся с дилеммой при выборе фреймворка. на самом деле, никакой дилеммы нет, единственный фреймворк, который я собирался учить - ангулар, но появились сомнения. нагуглил, что сам ангулар в обороте аж с 2009 и многие жалуются на его медленную работу. собственно, сам вопрос: стоит ли мне взяться за какой-нибудь фреймворк поновее, или же ангулар до сих пор вполне пригоден? (я - быдлокодер, не написавший ни 1 проект, сейчас на стадии обучения)
>>643814
#144 #643814
>>643808
годен.
>>643863
#145 #643838
>>640565 (OP)
http://pastebin.com/Xstv83fa
Почему этот код выводит:
end
a 1
b 2
c 3
а не
a 1
b 2
c 3
end?
Я ведь в каждом then возвращаю новый Promise, и он должен выполнять их по порядку, а потом выполнить последний then, разве нет?
>>643847
#146 #643844
>>643798
Вполне реализуемо. Если сайт имеет какие-то особые меры защиты от ботов (клаудфлара и подобное), нужно смотреть детально, в крайнем случае грузить через headless браузер.
>>643874
#147 #643847
>>643838
Все, понятно, где была ошибка. Promise не mutable и надо каждый новый then вызывать в том Promise, который вернул прошлый then.
#149 #643863
>>643814
а если начинать учить сейчас, может стоит сделать выбор в пользу какого-нибудь другого, более нового фреймворка? или ангулар настолько крут, что и в 16 году остается в топе?
>>643875
#150 #643874
>>643844
Никаких мер защиты нет.
Таки возвращаясь на пару постов раннее - HTML и JS хватит для этого приложения? И если да, что из JS нужно будет применять? Ну там jQuery, AJAX..? Или на чистом жс можно?
>>643876>>643879
#151 #643875
>>643863
Ангуляр 2 уже в бете. А популярен сейчас React.js + Redux/flux. Но у них выше порог вхождения. На angular 1 уже написано много кода, который нужно поддерживать, поэтому он не потеряет актуальность.
>>643900>>643939
#152 #643876
>>643874
Заслоупочил. Кажется с этим >>643851 можно получить нужный результат.
Эх, почему же я раньше не начал учить жаваскрипт(
#153 #643879
>>643874
Я только за выдергивание данных могу говорить, специфик винфоновских приложений не знаю. Если ничего вычурного, то шаблона с твоего вижуал студио, наверное, хватит.
#154 #643900
>>643875
Реакт строже ангулара?
>>643907
#155 #643907
>>643900
Реакт без архитектуры
>>643910
#156 #643910
>>643907

>Реакт сложнее ангулара?


Фикс
>>644729
#157 #643939
>>643875
благодарю, значит буду понемногу обмазываться ангуларом. может еще и книги/курсы посоветуете годные? (кодкадеми не в счет)
>>644021
#159 #644112
>>644021
на английском могу читать, но не всегда вникаю в тонкости. а нет на русском годных?
>>644116
#160 #644116
>>644112
На русском только одна книга про Ангуляр и она не очень годная.
#161 #644139
По лирну и MDN Date записывается так:

https://jsbin.com/reyohonufe/edit?js,console

но почему-то jsbin'у new не нравиться console.log()? Почему при алерте все нормально, а при выводе в консоль дата привередничает?
#162 #644145
И миллисекунды не отображаются.

https://jsbin.com/rahogawuyi/edit?js,console

Что за хуйня? Учебник протух?
>>644146
#163 #644146
>>644145
Okey, тупанул.
#164 #644301
>>644021
говно эти книги
что-то на уровне простых хеллоувордов и написание домашних страничек 7-б класса
>>644374
#165 #644311
господа, при загрузке большого json файла порядка 100mb
сервак ругается 404 ошибкой
сервак - апач
json грузится потоком
>>644395>>644424
#166 #644374
>>644301
будто в твоем ЕПАМе и Люксофтике не гостевухи для "эффективного бизнеса" по продаже всякого говна пишут, там даже ангуляра дохуя будет, жквери под пивас хватит
>>644801
#167 #644395
>>644311
тебе нужна бд
#168 #644424
>>644311
Это ты тот пидорас из прошлого треда, который на клиенты бд выгружает?
>>644800>>646949
#169 #644690
САП, коданы. Есть задача выучить React.js. До этого учил js по https://learn.javascript.ru Было все понятно. Теперь не знаю, с какого краю ухватиться за этот React. Обычного браузера на винде достаточно? Или надо устанавливать все эти node.js на линекс?
>>644698
#170 #644698
>>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.
>>644699>>644700
#171 #644699
>>644698
Точка попала в ссылку.
#172 #644700
>>644698
А стартер кид этот, как им пользоваться??
>>644701
#173 #644701
>>644700
кажется понял, просто в папочку кидаешь скриптики, и они работают)
#174 #644729
>>643910
Ну так у тебя есть архитектура, и нужно только писать код, а так нужно следить за тем, чтобы всё не превратилось в свалку
102 Кб, 378x299
#175 #644771
Наверное, к вам с завидной регулярностью вламываются с подобными вопросами, так что извиняйте. Но я не могу понять, как вы пишите на JS, а конкретно - разбираетесь с ошибками. Порядка 10-и минут убил на осознание того факта, что забыл одну из запятых при перечислении свойств в объекте. Firebug молчит, сука, даже в случае грубейших ошибок. Как так жить?
>>644781>>644818
#176 #644781
>>644771
Используем редактор, который подсвечивает такие ошибки, или линтер, который кричит об ошибках в терминале.
>>644819
#177 #644800
>>644424
какие нахуй бд?
100 мегабайтный джейсон это бд?
>>644803>>645051
#178 #644801
>>644374
о книжное быдло не писавшее ничего сложнее хелловорда пригорело
>>644816
#179 #644802
>>640875
вероятно что те дивы генерились динамично, а твой код выполнялся раньше
#180 #644803
>>644800
Я не знаю что там у тебя, бд или нет, но 100 мб - это дохуища
>>644820
#181 #644816
>>644801
наивному Димочке из люксофтика подгорело, спешите видеть
>>644821
#182 #644818
>>644771

>firebug


>2016

>>644819
#183 #644819
>>644781
Какой тогда толк от этих Firebug'ов? Как линтер к юзерскрипту прикручивать?
>>644818
Подскажи лучше, буду благодарен.
>>644863
#184 #644820
>>644803
дохуища это когда база на пару миллионов позиций, а это так недельная выгрузка
>>644827
#185 #644821
>>644816
детектор чини манька
#186 #644827
>>644820
Ты не понял.
У тебя хоть охулиард позиций быть может, но такими пачками данные на клиент выгружают только неадекватные долбоебы
>>644833>>644837
#187 #644833
>>644827
а кто сказал что я весь контент буду на клиент выгружать?
>>644854
#188 #644837
>>644827
А как нужно выгружать, чтобы не быть неадекватным долбоебом?
>>644854
#189 #644853
Аноны, решил написать небольшой апп/интерфейс. Всякие списочки, кнопочки и проч. Чисто локальный, т. е. файлик хтмл+стили (+скрипт).
Проблема – так и не понял, какую flavor of the month библиотеку использовать для няшных кнопочек и прочего.

Как уже всем понятно, в веб-девелопменте не знаю ничего; 25 лвл в си/фортране/матлабе/R – исключительно научные расчёты. Погуглил, нихуя не понял, теперь полная каша в голове – как соотносятся между собой Ionic, webix, bootstrap и прочее. Гуглю best html5 ui frameworks, так там в каждом списке/бложике тысяча названий, и все разные.

Шапку читал, не помогло. У меня tunnel vision под научное программирование, не бейте сильно.
>>644864>>644866
#190 #644854
>>644833
У тебя был вопрос про выгрузку 100 мб, от которой апач накрывает

>>644837
Блоками, в прелелах мегабайта, чтобы клиент не ждал выгрузки несколько минут
>>646949
#191 #644863
>>644819
вот для таких рукожопов как ты и запилили вебшторм. а фаербаг это скорее к DOM тулза, ну или в консоль что нибудь выводить
#192 #644864
>>644853
Бери ангуляр и бутстрап ангуляр-уи, и все хорошо будет
>>644886
#193 #644866
>>644853
для начала обмазывайся бутстрапом и джиквери уи
>>644874>>644886
#194 #644874
>>644866

> 2016


> джиквери уи

>>644886>>644957
#195 #644877
Сап, народ.
Появилась тут мысль в процессе работы. А нельзя как-нибудь поставить в соответствие div-ам (или другим элементам) в соответствие число и получать его, в случае необходимости. Например когда кликаем по нему.
нубо-джуниор
>>644884>>644962
#196 #644884
>>644877

>поставить в соответствие div-ам ... в соответствие число


В соответствии с чем? Расположением дива в доме? Так для того в ХТМЛ5 и запилили свойство тега "data-"
>>644896
#197 #644886
>>644864
То есть скачиваешь архив с css/js, и после этого можно в своем скрипте к ним обращаться, верно?
>>644866
>>644874
Имеется ввиду джей-кьюэри?

Вобщем, посмотрел примеры, bootstrap выглядит сносно. Ionic, видимо, вообще SDK для тилибонов. А вот всякие groundworkCSS и прочие – они в принципе идентичны bootstrap?
#198 #644896
>>644884
У меня есть n-е количество div-ов в секции. Я хочу чтобы их можно было найти по индексу и взаимодействовать с ними.

> тег "data-"


А не подскажешь, как силами jQuery с ним взаимодействовать?
>>644901
#200 #644957
>>644874
не для продакшена же, а для понимания основ. ангуляры и реакты вынесут мозг если ты до этого с вебом дела не имел
#201 #644962
>>644877
в джиквери есть метод .index()
>>644968
#202 #644968
>>644962
Я уже с методом data() играюсь. Вроде бы то что нужно, но все равно работает не там как хочется.
>>644997
#203 #644971
>>642364
Сосуд
#204 #644997
>>644968
а как хочется? хуярить в дату индекс - это китай
>>645025
#205 #645025
>>644997
Хочется чтобы пользователь кликал на дивы мышкой и они выделялись (и развыделялись обратно, при повторном клике). А обработчик извлекал индексы этих элементов, чтобы потом с ними работать.
У меня ошибка похоже в функции, которая эти div-ы добавляет. Потому что потом для них обработчики событий плохо работают.
>>645056>>645249
#206 #645036
Я ньюфаг, укажите на ошибки.
JS как полноценный язык = NodeJS
Полноценный веб на JS это нода + бэкенд и фронт-енд фреймворк?

Вкатываюсь из пхп, на какие важные отличия и особенности стоит обратить внимание?
>>645240
#207 #645051
>>644800

>100 мегабайтный джейсон это бд


Да.
#208 #645056
>>645025

>Хочется чтобы пользователь кликал на дивы мышкой и они выделялись (и развыделялись обратно, при повторном клике)


Для этого сгодится тоггл класса.
>>645065
#209 #645065
>>645056
Вот он и не работает. Я там наворотил лишнего, теперь вот мучаюсь.
#210 #645240
>>645036
первый абзац у тебя абзац просто. гугли mean стек

по птводу перехода с пыхи - нужно понимание асинхронности, того что это один поток и однозадачное приложение
>>645746
#211 #645249
>>645025
.addClass('active').siblings().removeClass('active').index()
#212 #645280
Котаны, насколько сильно JS-программисту нужно уметь верстать? Или вы вообще не верстаете? Нужно ли изучать БЭМ, препроцессоры, фреймворки css или хватит умения сверстать средней сложности статичную страничку?
>>645297>>645301
#213 #645297
>>645280
вообще надо знать и понимать вёрстку, т.к. на фронтенде в любом случае вьюхи нужно пилить
#214 #645301
>>645280
Нужно конечно, иначе будешь на js городить монструозные конструкции, которые можно несколькими стилями описать и одной строчкой на js, видел таких бойцов, им коллеги в спину пальцами тыкают и сдавленно хихикают. Ты должен уметь сверстать страничку любой сложности, даже если не придется этим заниматься. БЭМ и css фреймворки необязательно, только для себя или если по работе нужно, а вот препроцессоры это как бы на текущий момент стандарт (правда хипстота ебанулась на отличненько, тащит нынче стили в js, слезает с препроцессоров в пользу postcss и всем остальным рассказывает, что они мудаки, если еще не занимаются тем же самым, тренд меняется, но не суть, шарить все равно надо).
#215 #645330
>>640565 (OP)
Вопрос опытным ангуларогосподам.
Есть задача сделать компоненты, у которых есть общая логика (окна, которые можно двигать, менять размер и т.д.). Как это лучше всего реализовать, используя сущности ангулара? На нативном я представляю, как это сделать.
#216 #645332
>>645330
И вдогонку - как передать компонент внутрь компонента в качестве property?
Есть множество окон, у которых разное содержимое, как сделать так, чтобы декларативно объявить их содержимое, а не пилить отдельное каждое окно?
>>645346
#217 #645338
>>645330
Пишешь директиву, внутри которой трансклюдишь вставляемую разметку
>>645346
#218 #645346
>>645332
>>645338
>>645330
Забыл сказать, что это ангулар 2.
>>645356
#219 #645356
>>645346
ng-content, дебил, а почему ты пишешь проект на фреймворке, который ещё не вышел?
>>645359>>645398
#220 #645359
>>645356
Почему ты такой фрустрирующий?
>>645384
#221 #645384
>>645359
Потому что ты гуглить не умеешь.
>>645386
#222 #645386
>>645384
Ну, дружище, я не знал, что гуглить, спасибо за наводку, береги нервы.
>>645392
14 Кб, 233x300
#223 #645392
>>645386
Спасибо. Вот, держи поняшку.
#224 #645398
>>645356
ты поехавший? нг2 в бете, хули не пробовать? или ты из тех утят которых пугает тайпскрипт и что в нг2 всё иначе?
>>645401
#225 #645401
>>645398
Я не против того, чтобы пробовать. Я просто предположил (видимо, ошибочно), что человек пилит на нём реальный проект.
>>645403
#226 #645403
>>645401
Для продакшена, но не такого, на котором завязаны деньги, так что про соответствие бизнес-требованиям речи не идет.
>>645406
#227 #645406
>>645403

>Для продакшена, но не такого, на котором завязаны деньги


А кто финансирует проект такого типа?

>так что про соответствие бизнес-требованиям речи не идет.


Что? Это здесь при чём?
>>645410
#228 #645410
>>645406

>А кто финансирует проект такого типа?


Те, кто хочет, чтобы проект существовал.

>Что? Это здесь при чём?


Ты про это и спросил.
>>645413
#229 #645413
>>645410
Кинь код посмотреть.
>>645415>>645425
#230 #645415
>>645413
Нечего показывать пока что.
139 Кб, 1280x761
101 Кб, 1215x784
98 Кб, 1186x785
#231 #645425
>>645413
Строк 400 в сумме сейчас, начал не так давно.
>>645430
#232 #645430
>>645425

>runes


Демонов штоле призываете?
>>645433
#233 #645433
>>645430
Будет прикольная игра.
#234 #645456
Доброго времени суток, анон. Есть вопрос по годности данных книжек с пункта Front-end Эдди Османи - "Разработка Backbone.js приложений" и Эрл Каслдайн, Крэйг Шарки - "Изучаем JQuery".

Сам я верстальщик и имею небольшой опыт в создании простых обработчиков событий (click, scroll, hover, toggle и прочее дерьмо) на jquery + плагины (слайдеры, зумы, модальные окна, toggle меню для мобилок и т.п.).

Есть желание писать что-то более интересное и сложное на JavaScript, чем вышеуказанное, например какие-нибудь сайты которые работают на JS чуть менее, чем полностью (те же SPA). Но тут мешает мизерные опыт реальной разработки на JS'е, поэтому встает вопрос о ресурсах, книжках, видеокурсах, которые бы больше показывали практическую сторону изучения JS'а. Подойдут ли вышеописанные книги для начала.

Из курсов на rutracker нашёл следующее: http://rutracker.org/forum/viewtopic.php?t=5164351
>>645651
#235 #645627
Комрадс, посоветуйте ресурсы для обучения и практики Angular JS, сейчас смотрю уроки, но хотелось бы что-то типа курсов и тд. Ну или сайты, с которых лучше начинать учить
>>645651>>645661
#236 #645651
>>645456
Выше в треде есть ссылка на js от htmlacademy, плюс есть ещё Кантор. Начинать с книг по конкретным фреймворкам и библиотекам ещё и протухшим - плохая затея.

>>645627
https://egghead.io/
#238 #645746
>>645240

>первый абзац у тебя абзац просто. гугли mean стек


Вроде про него и сказал, но ок
#239 #645882
>>640565 (OP)
http://learn.javascript.ru/ifelse дошло дело до задач и обосрался, лол. С утра еще раз попробую, а то 4 часа ночи. В теории все понятно, на практике сосу хуй. Найс.
#240 #645887
Ребят, вопрос про react. Взял пример из учебника

var Nav;
var app = React.createElement(Nav, {color:"blue"});
React.render(app, document.body);

Допустим

var Nav="p";
var app = React.createElement(Nav, {color:"blue"}, 'Hello!');
React.render(app, document.body);

Почему текст не стал синим?
>>646011
#241 #645888
Объясните тупому(мне) за SPA и Angular.

Сейчас посмотрел на роутинг в ангуляре и что-то запутался.

В чем фишка SPA тогда, если с роутингом у нас все равно есть куча страниц у SPA и ссылок, соответственно, тоже куча.

То есть основное различие между обычным сайтом и SPA в том, что вся страница не перегружается?
А так у нас все равно куча других страниц, которые подгружаются, и куча разных ссылок(роутинг).

Тогда почему мы не можем сделать SPA на обычном ajax??

Сильно не пинайте, я реально тупой и очевидные вещи могу не понимать.
>>645987
#242 #645987
>>645888
Спа это и есть обычный аджакс
#244 #646012
http://quantumui.org/appdoc/documents/quantumui/alert/examples

Аноны, можно ли в обычном бутстрэпе сделать такое, как по ссылке (и также просто)? С заданием длительности, положением, поведением при скролле и проч.?
>>646026
#246 #646038
>>646026
Я это видел, естественно, но не нашел там такого же простого задания длительности / позиции. И что, он автоматически будет оставаться на экране при скролле (на планшете, например)?
Недавно начал разбираться, так что вопрос, вероятно, глупый. Но примеры на сайте бутстрэпа и документацию я листал ,честно.
>>646039
#247 #646039
>>646046
#248 #646044
>>646011
Спасибо!
#249 #646046
>>646039
Спасибо, анон. Так в бутстрэпе такого из коробки нет? Вроде бы полезный/очевидный функционал.
И в noty слегка другой стиль, следует ли переписать его под бутстрэп/как легко это сделать? В css тоже только начал, но выглядит совсем не сложно.
#250 #646048
>>646011
поясни за последнюю ссылку. Пишет тип не валидная фидл конфигурация, плиз фолк зе ориджинал JSфидл. Я запускаю скрипты из стартеркид, поэтому? Поясни за NODE.JS, че это за штука и можно ли ее поставить на винду! Плиз, анон!
>>646084
5 Кб, 220x208
#251 #646072
Антуаны, не могу разобраться с jsViews (http://jsviews.com). Допустим, отрендерил шаблон, повесив на него якорь jsviews (^), чтоб обновлялся. А как обновить там инфу, собсна? Обычное изменение переменной не помогает, хотя должно.
Если эта штука устарела (а она, судя по гуглу, устарела), дайте современный аналог, но штоб не слишком тяжело.
В связке с jsRender это понравилось.
#252 #646078
>>646072

>дайте современный аналог


React, Angular, Ember
#253 #646084
>>646048

> NODE.JS


не стоит вскрывать эту тему
>>646093
#254 #646093
>>646084
Блять, прошу. Давай вскроем. Я так понял, это основная среда разработки для любых программистов? Че нащет виндовс, ставится? Как эта хрень связана с серверами? Вскрой. анончик.
>>646096
#255 #646096
>>646093
Ну у тебя джс в браузере выполняется, а нодеджс это такая хуйня которая выполненяет твой джса вне браузера. Т.е. можешь на нём теперь сервер писать, например.

>Че нащет виндовс, ставится?


Забудь про виндоус или уёбывай. ставится
>>646097
#256 #646097
>>646096
Чему забыть про виндовс? Убунтодрочер?
>>646102
#257 #646102
>>646097
Если ты не аутист, то твой продакшн-сервер будет работать на линуксе а не на винде, значит линукс всё равно дрочить придётся, значит лучше его дрочить сразу. Винда нужна только чтобы писать под винду, всё остальное делается в первую очередь с расчётом на линукс.
>>646104
#258 #646104
>>646102
поясни поподробней. Убунта например подойдет? Или нужен какой-то специальный серверный Линукс?
>>646106>>646120
#259 #646106
>>646104
Подойдёт.
>>646111
#260 #646111
>>646106
Спасибо!
#261 #646120
>>646104
Да, нужно компилировать LFS, без этого у тебя все будет ломаться через раз. Ну и у все больших свои ядра, сам понимаешь.
>>646132
#262 #646132
>>646120
если я пишу на react, мне с этим заморачиваться не нужно, так?
>>646137
#263 #646137
>>646132
Нужно. Это тебе не хихоньки-хахоньки lamp стек.
>>646140
#264 #646140
>>646137
поясни поподробней. Я в терминах не шарю. Если я только пишу скрипт для фронтэнда на reac jc, то установленного node.jc мне хватит за глаза, а настраивать сервера, разве это моя работа?
>>646142
#265 #646142
>>646140
Без знаний того как написать своё ядро ты и шагу в реакте не ступишь.
>>646145
#266 #646145
>>646142
ну вот я читаю документацию react. Может я еще не дошел, но причем тут ядро? Или ты имеешь ввиду вот эти команды запуска сервера в node.js?
>>646148
#267 #646148
>>646145
Ядро содержит в себе все данные и тебе нужно научиться с ним работать. Тебе ещё рано читать реакт. Начни со статьи про Николу Теслу на википедии. Потом гугли "никола тесла луч смерти" и "информационное ядро ось сверхсознания". По началу может быть трудно, но ты главное не сдавайся!
>>646150
#268 #646150
>>646148
Это так называемый Flux???
>>646152
#269 #646151
Как обращаться к функции другого контроллера в ангуляре?
>>646197
#270 #646152
>>646150
Он тебя тролирует, браток
>>646162
#271 #646155
>>640565 (OP)
Поясните за инструменты. Нужно запилить магазин на js. Только вот не надо сейчас про то, что нода не для этого. JS во все поля.
#272 #646162
>>646152
поясни, в чем троллирует? Ядро react разработчику нинужно?
>>646164
#273 #646164
>>646162
Нужно, только он тебе просто хуйню какую-то пишет
https://habrahabr.ru/post/246959/
>>646168
#274 #646168
>>646164
спасибо, брат!! То есть простой убунты с node.js+fluх достаточно для фроннтэнд разработчика на react?
>>646170>>646173
#275 #646170
>>646168
Если только с правильно пересобранной, да.
#276 #646173
>>646168
Если ты фронтендщик, то тебе убунта не особо-то и нужна.
На реакте можно и под виндой писать без каких-либо сложностей
#277 #646174
>>646173
вот спасибо, а то нагоняют страху)
>>646177>>646179
#278 #646177
>>646174
Ну вот, окноёб решил остаться в своей зоне комфорта и всё сразу стало на свои места.
>>646181>>646183
#279 #646179
>>646174
Почитай гайды по реакту хотя б на хабре, если не можешь в английский и определения терминов, ты очень в них путаешься
>>646182>>646184
#280 #646181
>>646173
>>646177
Да, ладно, ну че ты. Могу и убунту поставить. Просто выше писали, что я чуть ли не сервера должен уметь писать, ну бред же.
#281 #646182
>>646179
спасибо, я в процессе.
#282 #646183
>>646177
Что плохого в окнах для фронтендщика? Готов поспорить, если он придет к успеху, перекатится на макось
#283 #646184
>>646179
Не слушай этого питуха. Первое, что нужно сделать - переключить гугл на английский и забыть про русский язык.
>>646185>>646186
#284 #646185
>>646184
стараюсь. Но все сразу не осилить, приходится выбирать из двух зол
>>646187
#285 #646186
>>646184
Это мы можем так сделать, потому что у нас какая-то база есть. Может он вообще нихуя английский не знает, и вкатывание займет у него два года. А так он по стэковерфлоу за пару месяцев технический выучит
>>646194
#286 #646187
>>646185
Английский нужно сразу. Опыт-то в программировании хоть есть какой-то?
>>646189
#287 #646189
>>646187
Есть. Но было двано. Щас два месяца учил дваваскрипт. Теперь react. Нашел нормальный перевод, так что пока норм.
>>646191>>646194
#288 #646191
>>646189

>Нашел нормальный перевод


Где? Тоже хочу.
>>646193
#290 #646194
>>646189
>>646186
Ну вот, значит база уже есть.
По какой-нибудь джаве может и можно и на русском начинать, но веб-реакт-хуякт и прочие эдж-технологии это другое дело, тут нужно всегда быть в теме и держать руку на пульсе, а протухшая русскоязычная информация только ещё больше тебя запутает и затруднит твоё обучение. Английский нужен обязательно, так что лучше сразу.
>>646210
#291 #646197
>>646151
Если я не ошибаюсь, в Ангуляре такое нельзя. Ты можешь из одного контроллера стриггерить событие ($broadcast, $emit), а в другом - подписавшись на это событие дергать функцию (метод). Если не прав - поправьте.
#292 #646210
>>646194
двачую адеквата.
#293 #646291
>>646072
бамп
>>646308
#294 #646296
Пацаны, как получить доступ к переменной внутри объекта по ключу?
var ob = {
a: 'a',

init: function( mass ) {
for( var k in mass )
this.k = ar[ k ];
},
};
Присваивается ебаная k, а мне нужно чтобы this.ключ массива = значение массива по ключу.
В пхп эта хуйня легко делается, а тут чот не.
>>646297
#295 #646297
>>646296
А ну блять пиздец ебать, охуенно надо было написать this[k] вместо this.k, кто б мог подумать. В жаве же нет классов в привычном понимании, это ж обычные ассоциативные массивы.
>>646303
#296 #646303
>>646297
Наоборот, нет ассоциативных массивов. Есть объекты.
>>646340
#297 #646308
>>646291
>>646072

>дайте современный аналог


rActiveJS
>>647321
#298 #646340
>>646303

>ассоциативных массивов


>объекты


так то это одно и то же по сути
>>646343
#299 #646343
>>646340
не везде. в той же пыхе это разные вещи
#300 #646475
>>646173
Я вот тоже фронтэндщик, но перекатился на убунту, ибо настройка всего нужного для работы идет в винде через жесткие костыли - сначала установи командную строку, потом пердолься с настройкой всего и вся, а гуишки - это почти всегда очень обрезанное по функционалу забагованное говно.
По идее для фронта идеально подойдет мак, но на него надо дохуя денег, особенно в наши тяжелые времена.
Короче, единственная причина, которая может держать от перехода на прыщеось - фотошоп, который, к слову, можно поднять на виртуалке или запускать через wine.
>>646482
#301 #646482
>>646475
Ни одного плюса у прыщей над виндой нету для фронтендщика. Ты просто нихуя не разбираешься и поддался на разговоры "знающих" людей.
>>646509
#302 #646509
>>646482
А вот и диванные эксперты подъехали
>>646576
#303 #646511
Суп, бгатья. Есть сайт, типа торговой площадки. Захотелось мне написать бота для него. Есть API. С чего начать?)
>>646547
#304 #646547
>>646511
http://casperjs.org/ для phantom.js. https://github.com/admc/wd - для selenium. У phantom.js не самая лучшая поддержка нескольких вкладок, но он мне кажется надежнее. selenium - это внешняя jar утилита, которая управляет chromium-ом, через эту либу можно его использовать.
>>646554
#305 #646554
>>646547
Есть же апи, нахуя это нужно?
>>646561
#306 #646561
>>646554
А что тогда нужно, кроме стандартного модуля http в node?
>>646564
#307 #646564
>>646561
Пенек под зад))
#308 #646576
>>646509
Давай назови хоть один плюс, что может тебе помешать на винде быть фронтедером. Работаю уже почти год в вебе, никаких проблем, алсо весь офис на винде, только у 2х человек линукс и мак, из, примерно, 50.
>>646601
#309 #646601
>>646576
В линуксе есть оконные менеджеры с гибкой настройкой через скриптовые конфиги, нормальная консоль, пакетный менеджер(намного удобнее все обновлять), vim. Из минусов только отсутсвие фотошопа. В винде соответственно наоборот.
>>646610>>646611
#310 #646610
>>646601

>оконные менеджеры с гибкой настройкой через скриптовые конфиги


Даже не ебу что это, если ты просто про мульти окна, то они есть на винде. Какой это плюс даёт кодеру с двумя мониторами? Никакой, поэтому иди нахуй.

>нормальная консоль


ХАХАХАХАХАХА
Если ты блять юзаешь стандартную консоль с прыщей, то ты просто даун.
На винде 100500 эмуляторов консолей есть, которые по функционалу в разы превосходят стандартную линупсовую консоль, не говоря о том, что в любом джетбрейнс редакторе она встроена.

>пакетный менеджер(намного удобнее все обновлять)


Обновлять что, дебилойд? Обновляльщик, блять.

>vim


Всё, иди нахуй реально. Какое отношение вим имеет к линуксу? Ты просто еблан, услышавший где звон, но нихуя не понимающий.
>>646615>>646621
#311 #646611
>>646601
Это не общий виндоус против линукс тред. Засчитана только нормальная консоль.
>>646614
#312 #646614
>>646611
Нихуя она не защитана. Она уебищная, лучше стандартной виндовой, но никто не пользуется стандартной консолью.
#313 #646615
>>646610
Какая стандартная линупсовая консоль? Xterm? На каждой de своя.
>>646618>>646624
#314 #646618
>>646615
Вот именно. Даже стандарта нету, везде кастомные консоли, но почему то их сравнивают со стандартной виндовой.
>>646620
#315 #646620
>>646618
А о чем ты тогда, блять, говорил тогда? Они все реализуют примерно тот же функционал и все они лучше виндового cmd.
>>646622
#316 #646621
>>646610
Это конечно не обязательно, чтобы быть хорошим фронтендером. Но пользуясь виндой, у тебя есть ОС - и ты в ней ничего не можешь изменить, можешь использовать ее только такой, какая она есть. В линуксе я могу изменить нужное мне поведение ОС на абсолютно любое. Сделать любые горячие клавиши, максимально автоматизировать любые действия.

>100500 эмуляторов


+100500

>Обновлять что, дебилойд? Обновляльщик, блять.


Программы, которые ты используешь?

>Какое отношение вим имеет к линуксу?


Ты пробовал использовать вим под виндой? Это очень проблематично.

>джетбрейнс редакторе


Дальше мог бы не продолжать.
>>646627
#317 #646622
>>646620
Хули ты сравниваешь какое-то кастомное говно от васяна со стандартной консоль для массового пользователя?
Давай сравнивать кастомные с кастомными, возьмём ConEmu, какие фичи есть в твоей линуксовой, чего нет в ConEmu?
>>646628
#318 #646624
>>646615
Консоль везде одинаковая, одинаковые команды. Отличия Xterm от Gnome-terminal/Xfce4-terminal/KTerm только в окошке, которая вокруг твоей консоли, цветовой схеме и поддержке 16 миллионов цветов. Ты можешь поставить Zsh, там больше удобных дополнений(например автокомплит для gulp/git).
#319 #646627
>>646621

>Сделать любые горячие клавиши, максимально автоматизировать любые действия.


Манька, плиз, конкретней.
Что мне мешает переназначать горячие клавиши в винде? Ничего.
Автоматизировать какие действия? Код за тебя писать, лол? Что за хуйню ты несешь, я могу баш/шелл скрипты также на винде написать, что угодно "автоматизировать"

>Программы, которые ты используешь?


Какие ты программы там используешь, кроме браузера и ноды, для которых нужен пакетный менеджер, чтобы обновлять? Никакие? Ну ясно короче.

>Ты пробовал использовать вим под виндой? Это очень проблематично.


Пробовал, никакой разницы нету с линуксом.
Это тоже самое, что сказать, "ты пробовал использовать хром под виндой? очень проблематично". Никакой разницы нету вообще. Ни малейшей.

>Дальше мог бы не продолжать.


Взлольнул. Адепт вима, давай поведуй, как ты на тайпскрипте пишешь? Какой анализатор используешь? Никакой? Бедняжка, ну значит пиши дальше на жквери своём лендинги.
(хотя я юзаю атом, там тоже божественный плагин для тайпа, вим мод кстати тоже ничего)
>>646652
#320 #646628
>>646622
Кастомное говно? Кастомизации чего именно? Это не форки xterm'а, а отдельные программы. Почему гнум-терминал, дефолтный терминал гнума и следовательно дистров на гнуме это кастомное говно, а твоя поделка не кастомное говно? Тоже самое про xfce/mate и любую другую программу.

> какие фичи есть в твоей линуксовой


Как минимум не надо пердолиться, чтобы завести нормальный шелл.
>>646630
#321 #646630
>>646628
Ты чо бля шутишь?
В ConEmu шелл по дефолту, тупо блять exe скачиваешь, устанавливаешь, запускаешь, тебя спрашивают какую консоль юзать, выбираешь шелл. Это 30 секунд занимает, если это для тебя пердолинг, то ты выбрал не ту профессию.
>>646638
#322 #646638
>>646630
Даже cygwin (или чем там на винде сейчас юниксы эмулируют) не нужен, ей, и gnu coreutils сразу будут?
>>646647
#323 #646647
>>646638
Да, всё из коробки.
>>646844
#324 #646652
>>646627

>Манька, плиз, конкретней.


Ок. Как в винде сделать, чтобы из браузера выполнить в консоле какую-нибудь команду, которую часто используешь(например остановить сервер и поднять его с новыми конфигами(Ctrl+c gulp start), пропустить песню в плеере, и т.д.), при этом не сворачивая браузер?
В линуксе это легко делается. Я привязываю к комбинации клавиш(например последовательность Win + буква) отправку нужных команд/клавиши в открытую tmux-сессию, в окно, где запускаю gulp-таски(в конкретном примере).
Как это сделать в винде, кроме как руками?

>Какие ты программы там используешь, кроме браузера и ноды, для которых нужен пакетный менеджер, чтобы обновлять? Никакие? Ну ясно короче.


Навскидку - zsh, tmux, кодеки, gimp, wine и прочее.

>Пробовал, никакой разницы нету с линуксом.


У меня половина плагинов перестала работать.

>Адепт вима, давай поведуй, как ты на тайпскрипте пишешь? Какой анализатор используешь?


YouCompleteMe поддерживает typescript. Есть также плагины для подсветки синтаксиса, typescript-vim вроде называется.
>>646663
#325 #646663
>>646652
zsh, tmux и все прочие штуки есть в конэму/сигвине

статического анализатор для тайпа в виме нету

реально спор ниачём, уже в какие-то дебри ты полез, слишком персонализированные примеры, ничем разработка на шиндоусе не хуже разработки на линупсе, только какие-то личные предпочтения могут быть, вот привык ты к такому воркфлоу, значит будешь его юзать, но ни никаких киллерфич нету ни у линукса, ни у винды, ни у мака, все базовые и не только базовые вещи есть уже давно на всех платформах, это не 2010 год.

другой анон
>>646667
#326 #646667
>>646663

>статического анализатор для тайпа в виме нету


Что ты имеешь в виду? eslint/tslint?
>>646668
#327 #646668
>>646667
я имею в виду обычный статический анализатор, как во всех других типизированных языках, которые показывает ошибки не в рантайме, а до запуска кода.
>>646670
#328 #646670
>>646668
https://github.com/scrooloose/syntastic
https://github.com/benekastah/neomake - для неовима, с поддержкой асинхронного выполнения.
>>646677
#329 #646677
>>646670

>Syntax checking hacks for vim


>hacks


Ясно
#330 #646716
Скрипт не работает на айпадах. В чём может быть косяк?
[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]
>>646763>>646849
#331 #646763
>>646716
Айпады не нужны.
#332 #646821
Как вывести определённый блок страницы на распечатку при помощи яваскрипта или ксс или чего-нибудь вообще? Не всей страницы, а именно отдельный её кусок, например всё то что содержится в диве с классом info.
>>646823
#334 #646825
>>646823
Ого, так быстро, в 6 утра, спасибо.
7 Кб, 455x139
#335 #646844
>>646647
Ну и где zsh/bash+coreutils из коробки?
#336 #646849
>>646716

>document.querySelector('selector')


>$('selector')


Зачем ты городишь кашу из jQuery и Vanilla JS кода?
Тем паче, когда можно обойтись одной только ванилькой.
Rebuild. Reload. Test. Более чем уверен, твой код заработает на всех современных девайсах и браузерах.
#337 #646940
Привэт тредик. Я в js плохо разбираюся, как и в программировании в целом, но у меня есть скрипт, который ищет определённые слова на странице и заменяет их на что-либо. В моём случае ищутся смайлики, их много, и хоть скрипт и работает, но жутко нагружает браузер, из за него страница загружается на 2-3 секунды дольше, что не хорошо.
Так вот, подумываю пойти почитать про регулярочки по идеи они сюда идеально зайдут и запихнуть весь скрипт в одну строку, потому что сейчас у меня на каждый смайлик выделяется по одной длинной строке.

Собственно вопрос - от этого будут профиты в виде увеличения скорости выполнения скрипта, или же браузеру похуй как написано и выполнять он будет одинаково? Стоит ли мне ебать мозг с регулярками?
>>646946
#338 #646946
>>646940

>будут профиты в виде увеличения скорости выполнения скрипта


https://jsperf.com/regexp-test-search-vs-indexof/98
#339 #646949
>>644424
>>644854
кароче 50к позиций выгружаются за нехуй делать
>>647074
#340 #646950
чем реакт лучше ангуляра?
>>646971>>647065
#341 #646971
>>646950
только рендером и только против первого ангуляра
>>646975
#342 #646975
>>646971
а откуда хайп, а то в вакансиях во всякие стартапы ко-ко-ко у нас разработка на реакте
>>646982
#343 #646982
>>646975
Ну так второй ангуляр рановат даже для стартапов, он же еще не вышел.
#344 #647065
>>646950
Тем что реакт - это нормальный инструмент для фронта, а ангулар - попытка перенести на фронт серверные задачи, что приводит к распуханию клиента и ущербной архитектуре.
>>647099
#345 #647074
>>646949
Ну ты все равно пидор, и так делать не надо. На экране же они все равно не помещаются
>>647099
#346 #647099
>>647065
а есть толковый мануал
по реакту?

>>647074
я не пидор, я люблю эксперименты
>>647160
#347 #647109
посоны тут у нас все мамкины синьоры, непризнанные техлиды и прочие гении
есть унылое банковское говно на C# и встала задача переписать его на Ноду
с какой стороны подойти?
>>647113
#348 #647113
>>647109
Пиши гибриды на EdgeJS.
#349 #647160
>>647099
Есть. На сайте реакта.
#350 #647173
Сап антуаны, фронтендер кун итт. На работе поставили задачу переквалифицироваться на время и за 6 месяцев написать и писать какие-то BDD автоматические тесты на кукумбере https://cucumber.io/docs/reference/javascript. Какие подводные камни? С чего начинать? Я так понимаю писать автотесты на js адЪ и ИзраилЪ?Какие профиты от этих навыков можно заиметь в будущем?
>>647204
18 Кб, 320x222
#351 #647203
-.....
-/pr/? ETO DANILA! /pr/ I NEED HALP!

Посоны, поясните за ангуляр, у меня есть два стула разных модуля в приложении. В обоих есть контроллера для своих страниц и там же написаны директивы. Директивы в общем, практически идентичные по работе и потом я не мудрствуя лукаво назвал из одинаково. Суть в том, что директиву я написал для одной страницы - потестил, все работало отлично и я перешел к написанию ктрл и директивы ко второй странице. Написал - потестил, все ок, запушил. И началось, блядь. Пишут мне, что никуя не работает. Я говорю не может быть и лезу проверять см тем, чтобы обнаружить, что НИХУЯ не работает и в самом деле. При чем на строй странице пашет, а на той что я реализовал первой нет. Оказалось, что не смотря на то, что страницы юзают разные контроллеры(от разных модулей) первая страница по какой-то причине на событие взывает к директиве из второго контроллера(второй модуль жи есть). Я переименовал директиву во втором контроллере(модуле) и все заработало, но мой пукан горит и я не могу понять почему так произошло, кто подскажет нубу от ангуляра, что за бред я засвидетельствовал. Нагуглить пока не удалось, видимо не так спрашиваю у гугла.
>>647327
#352 #647204
>>647173
Тесты вещь хорошая. Это то, что различает программиста и быдлокодера. В будущем время разработки может сократиться процентов на двадцать.
77 Кб, 547x587
#353 #647222
Где можно найти объяснение счетчика-объекта( http://learn.javascript.ru/closures-usage ) для даунов || как ты понял как это работает.
>>647298>>647314
#354 #647298
>>647222
И не такие трюки можно проделывать, когда поймешь, что такое 'scope'.
83 Кб, 1346x571
#355 #647314
>>647222
Область видимости остается в пределах функции makeCounter.
>>649492
#356 #647321
>>646308
Годная вещь, спасибо
#357 #647327
>>647203
Модули ангуляра не предоставляют механизм неймспейсинга. Все названия директив глобальны в рамках приложения.
>>647451
#358 #647421
Ребят, как поблочить ВСЕ onkey события на странице? Написал юзерскрипт, который в исходном коде меняет всё вида onkey="foo()" на "onkey="void(0)", смотрю сгенерированный исходник, все события onkey события действительно поменялись. Тем не менее, что-то ещё отслеживает ввод.
Пытаюсь избавить моих собеседников в ВК от подписи "%username% набирает сообщение"
>>647422
#359 #647422
>>647421
Из-за звздочек поехала разметка. Читабельный вариант:
Как поблочить ВСЕ onkey события на странице? Написал юзерскрипт, который в исходном коде меняет всё вида onkey="foo()" на "onkey="void(0)", смотрю сгенерированный исходник, все onkey события действительно поменялись. Тем не менее, что-то ещё отслеживает ввод.
Пытаюсь избавить моих собеседников в ВК от подписи "%username% набирает сообщение"
>>647430
sage #360 #647424
Шапку не читайпрочитал, сразу отвечай.
Есть годные уроки, книги по ангуляру? Видео-текст, похуй. Можно на ангельском.
>>647426
#361 #647426
>>647424
сажа приклеилась
#362 #647430
Средствами jQuery вообще поудалял все onkey(down|up|press) атрибуты, в сгенерированном исходнике их нет. Что может по-прежнему отслеживать нажатия клавиш?
>>647422-хуй
>>647466
#363 #647437
http://stackoverflow.com/questions/20012668/disabling-all-click-events-from-greasemonkey-doesnt-work
В моём случае остаётся только " you will have to hi-jack that method to listen for calls to it, and then filter them so click events aren't added."
Как это сделать?
>>647635
#364 #647451
>>647327
Ага, это я понял из того, что увидел. Кинь ссылку на документацию, где это написано, потому что я час читал доки и ничего подобного не нашел.
23 Кб, 229x190
#365 #647454
Вводная: апи или возвращает объект, одним из свойств объекта является массив объектов или возвращает пустой массив.
Задача:
проверить существования возвращаемого объекта и выполнить код, если пустой массив - валить в else .
Примерный код:
if (huetaObj.huetaProp && huetaObj.huetaProp.huetaPropProperty) {do something} else {do other shit};
Я тестирую конкретно случай для возвращаемого пустого массива и какого-то хуя интерпретатор джс всегда лезет в ифе за амперсанды и пытается взять свойство несуществующего объекта, хотя насколько мне известно о принципе работы И, он должен на стадии первого условия словить фолс и съебать из ифа в ужасе. Что за хуйня? Всегда же работало, а теперь нет, теперь мне нужно добавлять мудацкую строку проверки длины возвращаемого из апи массива, как будто я не шарю как работает И. Алсо, выводил в консоль лог значение huetaObj.huetaProp - там пстой массив, сравнивал там же с фолсом - ответ тру. Я НЕ ПОНИМАТ.
>>647471>>647492
#366 #647465
Аноны, у меня 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.
И просьба взять с собой резюме.
В резюме как бы написать про ЖС нечего.
Анон, надо запилить и задеплоить на хероку какой-нибудь простейший проект с нуля до, сука, среды.
И чтобы нода-експресс, ангуляр, монга. Посоветуйте - что написать чтобы хоть теоретически успелось за сутки с чтением туториалов!
#367 #647466
>>647430
Да что угодно, может они вообще кастомное событие на изменение ввода запилили
>>647473
#368 #647471
>>647454
Не могло это работать. В жс всегда можно обратиться к свойству, даже если его нет
Нужно писать
'propName' in objName
>>647815
#369 #647473
>>647466

> Да что угодно, может они вообще кастомное событие на изменение поля ввода запилили

>>647485
#370 #647476
>>647465
Чат напиши, с jwt-авторизацией на sails. Я б такое за час запилил примерно
#371 #647485
>>647473
И что, выходит, проблема нерешаема?
>>647634>>647635
#372 #647488
>>647465
Лол, обосрешься же.
А почему тебе это письмо вообще пришло, ты где-то резюме оставлял что ли?
>>647490
#373 #647490
>>647488
Знаю что обосрусь, но обосраться можно так что тебя либо позовут еще раз через месяцок либо нет. Надо обосраться с возможностью прийти еще раз.

Я хуй его знает - где они меня нашли.
>>647493
#374 #647492
>>647454
Пустой массив так-то тру. Все сравнивают его длинну с 0.
>>647814>>648136
#375 #647493
>>647490

>Я хуй его знает - где они меня нашли.


Сидят такие HRы в конторе, делать нехуй вообще. "А давай рандохуям на емайлы приглашения на собес с тестовым посылать?" - "Гыгы, давай))".
Так что ли?
#376 #647501
Анон, нахуй реакт мешает логику и представление? Что за хуйня этот jsx? Разве это не шаг назад, анон? Все ебанулись с этим хайпом или я даун? Можешь ты мне объяснить, почему реакт крут?
>>647515>>647627
#377 #647515
>>647501
Логика в сторах, представление - в jsx компонентах.
И вот немношк про компоненты: https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0
#378 #647626
>>647465
Какой город? Где эти волшебные земли, где Node.js программистов зовут аси?
#379 #647627
>>647501
Их мешают долбоёбы, а не Реакт. Нормальные посоны выносят представление в отдельный файл.
#380 #647630
>>647465
Да ты охуел, сука. Почему меня никто не зовет на собеседования? На гитхабе проекты с десятками и даже сотнями звезд, десятки активных проектов, куча статей, резюме повсюду, а нихуя не зовут.
>>647705>>648562
#381 #647634
>>647485
Все лиснеры доступны в Chrome Developer Tools - Event Listeners.
#382 #647635
>>647437
>>647485
Для решения твоей задачи можно обойтись без грязных обезьянок. Тащемта, порядок действий таков:
1) скачай все скрипты с vk себе на локалочку. Отбрось либы, оставь только те, где по твоему содержатся лиснеры. При необходимости пройдись анпакером/бьютифайером;
2) подозрительные места закомменть/отредактируй/do whatever thou want;
3) поставь Fiddler и настрой правила на перехват запросов к удаленным скриптам, подменив их на локальные версии;
4) ???
5) ПРОФИТ!
#383 #647645
Объясните связку Node+Nginx ?
Нода в таком случае рендерит только страницы которые делают дополнительные запросы к серверу?
Или она вначале рендерит, а отдается она все равно через Нгинкс.
Где почитать в подробностях об этом?
>>647654
#384 #647654
>>647645
Такая свчзка нужна, только если у тебя кластер инстансов ноды. Если у тебя один процесс и мало статики - нжиникс не нужен.
#385 #647668
Как сделать так, что бы "document.body.innerHTML = document.body.innerHTML.replace('test', 'test');" не лез в код страницы, а заменил только обычный текст? Он же разметку тоже трогает блджад! У меня от этого абсолютно всё пидорасит на применяемой странице! Ему можно сказать, что бы заменял только текст, который не относится к коду?
>>647671
#386 #647671
>>647668
.innerText
>>647679
5 Кб, 575x39
#387 #647679
>>647671
А как правильно написать? Я плохо в js разбираюсь.
>>647682>>647866
32 Кб, 691x318
#388 #647682
>>647686>>648050
#389 #647686
>>647682
Мне в body нужно искать, а не по id, тут как быть?
>>647695
#390 #647695
>>647686
querySelectorAll => nodeList to Array => innerText = 'Azazaza'
>>647698
#391 #647698
>>647695
Блядь, хватит меня траллить, скажи нормально как это записать кодом, я нихуя не понял.
>>647700
#392 #647700
>>647698
var a = document.querySelectorAll('div');
Array.prototype.slice.call(a).forEach(function(val){val.innerText = 'AZAZAZA'});
>>647709
#393 #647705
>>647630
наверное потому что у тебя нет активной жизненной позиции или форма ушей не подходящая))

мимоанон
>>648556
#394 #647709
>>647700
И? Нихуя не работает, мне undefined возвращает. И обязательно только div'ы искать? Мне body надо!
>>647748
#395 #647748
>>647709
Вместо тега 'div' можешь указать список селекторов, разделяя их запятой, где по-твоему, предположительно, будет находиться искомый текст.
#396 #647814
>>647492
Что несешь? Я только что проверил в консоли - [] == false; возвращает true.
#397 #647815
>>647471
Да это ясно, но ведь Х И У работает так, если Х тру, тогда интерпретатор идет к У и проверяет его, если У тру, тогда тру, если У фолс, тогда возвращает У, ежели Х фолс, тогда И дальше не должно проверять второе условие и возвращает Х. Разве не так?
>>647907
#398 #647830
>>647814
if ([]) попробуй
#399 #647866
>>647679
Тебе нужно проходить по всем текстовым нодам и менять их. innerText нестандартен и с ним так не работают. Гугли "get all text nodes javascript".
>>647814
При обычном сравнении для стандартного массива вызывается toString -> пустая строка == false. Без сравнения проверяется, эхм, наличие объекта.
>>648295
13 Кб, 454x193
#400 #647898
#401 #647907
>>647815
Может у тебя не strict?
>>648136
СИНТАКСИС И ЕГО КРАСОТА #402 #648033
Доставьте, где почитать о том, как должен выглядеть код в js здорового человека, все эти пробелы, табуляции, когда какие кавычки и т.д.
Ну, чтоб человеком быть.
>>648036
#403 #648036
>>648033

>СИНТАКСИС И ЕГО КРАСОТА


https://github.com/airbnb/javascript
35 Кб, 1919x134
#404 #648050
>>647682
Стоп блядь, а почему у меня в огнелисе не работает? В хромиуме вроде пашет, а в лисе нет. Как правильно лисе сказать?
>>648059>>648060
#406 #648060
>>648050
innerText не стандарт
#407 #648136
>>647907
'use strict' - все дела, но вот анон выше >>647492
оказался прав, оказывается, если пустой массив просто проверять в ифе, то он дает тру(типа существует, значит тру), а вот если с ТРУ сравнить, тогда выдаст фолс. Вот такой вот поворот. Честно говоря я не ожидал такого, знакомый разраб с опытом около 8 лет сам охуел, когдая я ему показал, лол.
115 Кб, 885x664
#408 #648145
Короче вот уже 4 дня гуглю инфу и пытаюсь что-нибудь накодить, но все тщетно(.
Посмотрел как работает PhantomJS (правда там в связке с CasperJS) - то, что нужно, но это можно использовать только на десктопе, в мобильное приложение я не нашел как подключить.
Пытался XMLHttpRequest - оказывается нужно чтобы на сервере, с которого запрашиваются данные (или на который отправляются), в заголовке (Response Header) стояло что-то типа разрешения, а у меня естественно нет доступа к сайту.
Неужели это невозможно? Отказываюсь верить!
>>643475 - кун
#409 #648162
>>648145
Если коммерческая разработка и нужно парсить промышленными масштабами, лучше воспользоваться услугами PhantomJSCloud. Рилли. Скрипт будет исполняться на сервере, а твое участие сведется к минимуму - спарсить с PhantomJSCloud уже полученные результаты.
---
Я не знаю, как там в мире винфонов, но должны быть еще headless браузеры и вебдрайверы к ним.
>>648195
#410 #648195
>>648162
Не, задача с универа.
Ок, погуглю еще хедлес для винфона.
А вообще эти хедлес браузеры существуют как библиотеки, которые можно использовать на своих сайтах? Ну как например я подключаю jQuery в src и пользуюсь.
>>648201
#411 #648201
>>648195
Поехавший?
>>648203
#412 #648203
>>648201
Поясни!?
#413 #648218
Парни, может ответить на вопрос по использованию material-ui? Или в целом, про npm package прояснить. Я до сих пор с node.js вообще не сталкивался, за плечами только несколько работ без серверной части.
>>648223
#414 #648223
>>648218
Так это фронтент либа
>>648225
#415 #648225
>>648223
Там в инструкции по установке сказано в node.js вбить "npm install material-ui"
>>648245
#416 #648245
>>648225
В общем, сложность вот в чем.
Я скачал и установил ноду, создал папку для неё в документах, перешел туда с помощью командной строки. Запустил установку, файлы в папке действительно появились. До сих пор я же все правильно делал? После, код из примера скопировал в js-файл проекта, где я хочу использовать данный ui. И ничего не произошло. Может это из-за jQuery? Или папка material-ui должна находиться в папке с проектом? Но, как я понял из инструкции, это не нужно.
>>648312
#417 #648292
>>648059
Ясно. Эта вроде работает.

Только если я делаю так
document.querySelector("body").textContent = document.querySelector("body").textContent.replace('1', '1');

, то разметка не игнорируется, она проёбывается, просто удаляется, разметка тупо исчезает из тега body, остаётся только текст. Как это пофиксить? Я заебался блядь, полностью заебался.
>>648295>>648313
#418 #648295
>>648292
Сук, написал тебе, ходи по текстовым нодам, блять. >>647866
>>648300>>648321
#419 #648300
>>648295
Не заметил. Погуглю.
#420 #648307
>>648145
Поставь 'isLocal' в настройках ажакс запроса jQuery.
>>648607
#421 #648312
>>648245
Каким упаковщиком пользуешься? Grunt? Gulp? Bower? Webpack?
>>648337
#422 #648313
>>648292
Не textContent, а htmlContent.
>>648315
#423 #648315
>>648313
Че за муть, нет такого свойства в доме.
>>648411
#424 #648321
>>648295
Не могу нагуглить то, что мне нужно. Подскажи инвалиду где конкретно искать.
>>648326
#425 #648326
>>648321
Ок, тебе нужен первый результат - первый ответ на стаковерфлоу - второй снипет. http://stackoverflow.com/a/10730777/4867787
В переменной n будет нод, у него innerHTML будет содержать только текст.
>>648329>>648334
#426 #648329
>>648326
Прошу прощения, не innerHTML, а textContent.
7 Кб, 512x99
#427 #648334
>>648326
Не осилил.

Анончик, не забывай, что разговариваешь с полным нубом. Объясни немного тупее, шоб до меня дошло.
>>648355
#428 #648337
>>648312
Никаким. Я до сих пор из библиотек только jQuery и bootstrap ставил, там такого не требовалось.
132 Кб, 1600x774
#429 #648355
>>648334
Не вижу приложенных усилий на твоем пике.

createTreeWalker(родитель, что-отдавать, ...) - апи браузера отдает все нужные ноды, можешь особо в него не углубляться.
walk.nextNode() по очереди их отдает.

Два текстовых нода - <span>один<b>два</span>.
>>648359>>648375
#430 #648359
>>648355

> Не вижу приложенных усилий на твоем пике.


А, не, вижу, но эт что-то ты вообще не в ту степь.
#431 #648375
>>648355
Я на самом деле сделал довольно много попыток, пусть и глупых, но как-то не пошло.

В любом случае спасибо тебе, Анончик. Хоть и производительность немного проебалась, но работает как часы, и это главное. Добра.
>>648383
#432 #648383
>>648375
Можно значительно оптимизировать не заменяя строки где нет вхождений. Удачи тебе тоже.
#433 #648386
Помогите и мне что ли. Как material-ui использовать? Я уже установил возможно даже правильно, как теперь элементы вставить в мой проект?
>>648521
#434 #648411
>>648315
Ну их два - inner Text и inner Html. Одно возвращает только текст, другое всю разметку.
#435 #648521
>>648386
О какой именно либе ты говоришь? Их дохуя
>>648672
#436 #648556
>>647705
да, уши или подбородок. можно попробовать убрать фоточку из резюме. или этот анон просто слишком хорош
#437 #648562
>>647630
Ты пиздишь, потому что.
#438 #648602
Парни подскажите что можно написать для дипломной работы которая будет через год, с использованием nodejs, html,css,jquery,angular и т.д. Какую нибудь идею может подкините, а то просто страничку сверстать или инетрнет магазин на вордпресе развернуть не то, что можно реализовать с использованием веб технологий на дипломный проект? думал приложение на андроид на фонегапе или кордове, начал писать, но я люблю делать всякие свестелки перделки, и на телефоне лагает это все, а изучать жабу не хочется, надо дальше прогресирвать в вебе. Может кто каких нить идей подкинет, что реализовать?
#439 #648605
>>648602
Платформу для обсуждения в стиле хабры.
CMS с максимальной кастомизацией.
Собственную базу данных.
#440 #648606
>>648602
Попробуй чат по типу телеграма, с регистрацией, созданием групп, всей херней.
Или вот например приложуху, где можно гитарные табы делать онлайн, типо гитар про, только в браузере.
Или фэнтези футбол приложуху, главное чтобы с реальными данными работало.
>>650110
#441 #648607
>>648307
И что это даст? И да, я jQwery не юзал здесь.
#442 #648608
>>648145
На продакшене такое сделать нереально, если у тебя нету доступа к серверу и ты не можешь изменить заголовки.
Если просто потестить, то гугли CORS запросы как делать.
>>648609
#443 #648609
>>648608
Бляя, это очень очень грустно! Потестить всм на десктопе? Тогда уже не надо. Да и не получились у меня эти корс запросы. Нет ответа от сервера и все.
>>648640
#444 #648636
Пацаны, че еще годного по ноде+экспрессу изучить? Может книжка какая-то комплексная крутая есть?
Уже глядел Кантора и делал сервис на хероке с монгой и оаус-авторизацией.
#445 #648640
>>648609
Ты же на телефоне это парсишь, в приложении? Там же встроенный браузер есть с имитацией запросов, зачем ажакс?
>>648686
#446 #648658
>>648602
Можно использовать стек MEAN для разработки сервиса по безопасному обмену файлами. Я знаю, что на первый взгляд звучит тривиально, но!
Суть в следующем - твой сервис - прокладка, на самом деле не размещает загруженных пользователями файлов (по крайней мере, на продолжительной основе), а использует для этих целей различные фотохранилища. Эдакая стеганография.
В интерфейсе пользователю предлагается выбрать два файла - изображение и любой бинарник (полезная нагрузка). После сабмита, твой сервис кодирует бинарник в BASE64/UUE/XXE и херачит полученный выход в EXIF теги изображения (при необходимости, размножая исходное изображение, если на выходе кодированный файл слишком большой) и загружает на фотохостинги, сохраняя информацию о кодированном файле (CRC и проч.) в БД.
По успешном окончании операции пользователю отдается линклист, который позже можно использовать на твоем сервисе для декодирования и получения исходного бинарника.
Не буду утверждать, что фотохостинги не палят левую информацию в EXIF, но думаю найдется пара-тройка хранилищ, где по-прежнему можно проделать такой трюк.
В качестве 'proof-of-concept' материала можно использовать доклад Антуана Санто 'Embeddinghidden files in jpeg images'.
Думаю, такой дипломный проект понравится твоему руководителю.
>>648669>>648702
#447 #648659
>>648145

>оказывается нужно чтобы на сервере, с которого запрашиваются данные ... стояло что-то типа разрешения


Попробуй проксифицировать XHR запросы через CORS-прокси, дабы преодолеть анальные ограничения. Мне в свое время помогало.
#448 #648660
Есть одна регулярка. Допустим такая /[123][-][321]/ . Как сделать так, что бы [-] тоже искалась, но если она не будет найдена, то просто игнорировалась?
>>648671
#449 #648669
>>648658
Нетривиальная штука выходит
#450 #648671
>>648660
Я наверно немного неправильно сформулировал.

Дело в том, что при таком написании "/[123][-][321]/", примером, "13-23" - ищется, но "1323" уже не ищется. Мне нужно сделать так, что бы "13-23" и "1323" виделись регуляркой. Надеюсь понятно описал.
>>648703>>648740
#451 #648672
>>648521
О либе "material ui" или material design.
http://www.material-ui.com/#/
>>648715
#452 #648686
>>648640
Пробовал и с телефона и с компа.
По части браузера да, я вчера вечером подумал об этом способе. Правда это придется тогда на c# делать, ибо элемент <browser> там точно есть, а вот в JS+HTML проекте не нашел.
#453 #648702
>>648658
Это охуенно!
#454 #648703
>>648671
/[123][-?][321]/ ?
#455 #648715
>>648672
Это ж реактолиба. Просто вставляй куски кода с доков в .jsx файлы.
>>649108
#456 #648740
>>648671
Для каких целей цифры во второй группе перевернуты? Твое выражение ищет "одна цифра, знак минуса, одна цифра".
Для 13-23 и 1323 нужно [123]{2}-?[123]{2}.
34 Кб, 681x416
10 Кб, 414x373
6 Кб, 293x169
#457 #648742
Всем доброго время суток, аноны. Вкатываюсь в джаваскрипт. Пытался его учить до этого, но были очень плохие знания в верстке, и я решил пока не торопиться с js. Теперь я вроде подтянул знания в верстке и начал мазаться js. Просматриваю продвинутый интенсив хтмлакадемии урок про js. Там учитель показывает такой пример, как на скриншоте. Суть в том, что если писать как у него, то результат не появляется, но если добавить как сделал я на втором скриншоте, то результат отобразиться(скриншот 3). Скажите, как надо делать правильно? Верно ли я сделал, что прописываю console.log? Спасибо за ответ.

P.S. Объясните как будет правильно писать ковычки? " или ' ? Или без разницы?
>>648746
#458 #648746
>>648742
Консоль.лог, собственно, выводит инфу в консоль, так что да.

В js разницы между кавычками нет. Я использую одинарные, потому что шифт не нужен, а в хтмле двойные (т.к. более распространено). Главное быть последовательным и если вливаешься в другой проект придерживаться уже существующего там стиля.
>>648747>>648948
#459 #648747
>>648746
а на первом скриншоте, учитель ради экономии времени значит не прописывает консоль.лог?
>>648750
#460 #648750
>>648747
На твоей картинке он заранее в комментарии указывает (// ...) что записывается в переменную, так что да.
#461 #648948
>>648746

>js разницы между кавычками нет


Но стиля лучше таки придерживаться. Например, джиквери код стайл.
#462 #648980
>>640565 (OP)
добавляйтесь кто изучает js markus-fon-trier.
Адекватен.
#463 #649108
>>648715
Можно подробнее? Вот у меня есть в проекте три документа: index.html, style.css и script.js. Есть папка с material ui. И есть код с примерами вот здесь: http://www.material-ui.com/#/components/app-bar
Так вот, что куда вставлять?
Не пинайте сильно за глупые вопросы, плиз. Или пинайте, но объясните:3
>>649139
#464 #649139
>>649108
Если ты пишешь не на реакте, или не знаешь что это такое, тебе нужно найти другую материалюи-либу
>>649147
#465 #649147
>>649139
Действительно, не пишу и не знаю.

> другую материалюи-либу


А такие есть?

> реакт


Можешь прояснить, что это, как долго и сложно ли осваивать, и нужно ли это ньюфагу?
>>649218
#466 #649218
>>649147
Материал-юай это модуль/либа для реакта, реализующая материал дизайн. Если тебе просто нужен материал дизайн, то быстрое гугление даст что-то вроде:
http://www.sitepoint.com/top-5-material-design-frameworks-use-2015/
Там есть типа твиттер бутсрап аналоги.

Реакт это фреймворк - нужен чтобы не писать многие моменты дизайна+логики самому, как jQuery, только привносит свою архитектуру в твой код и дает возможность не работать напрямую с хтмлем. Реакт добавляет некоторые моменты в javascript (посмотри на главной сайта реакта табы сравнения), поэтому код на реакте (.jsx) перегоняют в обычный .js используя nodejs. Про долго/сложно не умею определять.
другой-анон
>>649225>>649328
#467 #649225
>>649218
Но ведь риэкт не фреймворк
>>649236>>649251
#468 #649236
>>649225
Почему? В моем понимании фреймворк это либа форсирующяя архитектуру.
>>649262>>649289
#469 #649251
>>649225

> ча-ща


Простите, мозг не распространил это правило на англицизм.
>>649262
#470 #649262
#471 #649289
>>649236
Риакт не принуждает ни к какой архитектуре, он только про отрисовку и обновление при апдейте состояния.
>>649310
#472 #649290
Сделал имиджборду с Ajax-ом и кучей фич. Устойчива к высоким нагрузкам. Как минус - фронт кривой, но я потом переделаю (возможно). Ставьте звёздочки, подписывайтесь, пилите борды.
https://github.com/vladimir37/hanako/
>>649352
#473 #649310
>>649289
Ну ок, всего одно приложение на нем писал, но в моей голове он ближе к фреймворку, хоть и не полному.
#474 #649328
>>649218
Спасибо!
Попробую из тех либ что-нибудь поставить и про реакт тоже подумаю.
#475 #649352
>>649290
Отлично, загляну под капот, если ты понимаешь, о чем я.
2 Кб, 500x500
#476 #649442
Анон, как работает это хуита: http://learn.javascript.ru/closures#возврат-функции ? Я уже в 5 или 6 раз перечитываю и не могу въебаться с какого хера counter и counter2 не скидываются при повторном вызове и не возвращают 1. Может есть описания как раз для таких даунов как я? И ты объяснил для себя сравнением с чет-то другим. Короче, выручайте.
#477 #649450
>>649442
Потому что каунтеры - переменные во внешней области видимости.
116 Кб, 565x420
#478 #649453
>>649442
Коробки - это функции, кошки - это переменные. Кошка во внутрей коробке рожает котят и умирает, те в свою очередь рожают ещё котят и тоже умирают, но кошка в общей коробке как сидела, так и сидит.
#479 #649461
>>649442
Функция makeCounter возвращает другую функцию (назовем её функция-2). Не результат функции-2, а именно сам код, который потом нужно запустить. Каждый раз при запуске makeCounter возвращается новая порция кода, никак не связанная с прошлым запуском.
Этот код сохраняется в переменной counter или counter2.
При этом переменная currentCount не уничтожается после выполнения функции makeCounter, т.к. на неё ссылается функция-2, а сама функция-2 у нас лежит в итоге в переменных counter или counter2.
Затем при запуске counter или counter2, которые по сути являются копиями функции2 (независимыми от друг друга), нам возвращается текущий результат переменной currentCount.

Надеюсь чуть-чуть понятно объяснил. А может и нет. На самом деле это очень простой концепт, надо просто чтобы что-то щелкнуло в голове и всё.
>>649517
#480 #649463
>>649453
Мне кажется, это монада Either c монадой Maybe внутри
#481 #649467
>>649453
Жалко котят:(
#482 #649492
>>649442
Я же тебе здесь ответил:
>>647314
>>649517
#483 #649517
>>649492
Мне твой ответ ничего не дал.
>>649453
Ты меня еще больше путаешь.
>>649461
Выходит с возвращенным кодом функции-2 код выглядит так?:

function makeCounter() {
var currentCount = 1;

return currentCount++;
};
}

var counter = makeCounter();
>>649531>>649787
#484 #649531
>>649517
Нет, не так.

В переменную counter ты получаешь код функции-2, который уже при запуске именно counter() вернёт тебе текущий currentCount.
Но при каждом последующем запуске counter(), твоя функция (по сути функция-2, но только как бы в оболочке переменной counter), смотрит на переменную currentCount, которая была создана при запуске makeCounter, и не уничтожилась в последствии, т.к. у тебя в твоей переменной counter теперь лежит другая функция (функция-2), которая ссылается на этот makeCounter.
Каждый раз makeCounter создаёт новую "оболочку", в которую в последствии смотрит counter (или по сути функция-2).

Хз, возможно я тебя тоже только больше путаю. Тут самое главное понять, что makeCounter возвращает другую функцию, которую можно выполнить, а не уже какой-то результат, и оболочка этой другой функции не уничтожается, а остается доступной для неё.
>>649576
#485 #649576
>>649531
Ты меня не путаешь, я даже логику ощущаю, но уловить не могу - понять какие метаморфозы с кодом функций происходят.
81 Кб, 807x735
#486 #649651
Аноны, объясните ньюфагу, как вообще правильно учить js? Читаю http://learn.javascript.ru/ и просматриваю разлиные уроки на ютубе. На что больше делать упор? Времени у меня 5 дней в неделю полностью свободное, т.е. могу сидеть и учить весь день. Хотелось бы увидеть дельных советов от бывалых и недавних новичков.

P.S. Шапку читал, но все же интересно услышать каких-нибудь советов. Не закидывайте камнями и гавном. Так же интересует, как правильно учить по http://learn.javascript.ru/ . После того как прочитаю раздел, когда переходить к новому? Когда будет от зубов отскакивать тот который я прочитал только что?
>>649672>>650038
#487 #649672
>>649651
Зазубривать не нужно. Выучил 50% и хорош.
17 Кб, 604x313
#488 #649787
>>649517

>Мне твой ответ ничего не дал.


Досадно чет, лол, однако отладчик содержал ответ на твой вопрос.
Однако, не стоит, на мой взгляд, упрощенно объяснять некоторые понятие - это только породит больше заблуждений и неясностей.
Оперировать будем сущностями языка - scope (область видимости).
Так вот, стоит запомнить, если функция возвращает функцию (как в примере с твоими счетчиками makeCounter возвращает анонимную функцию), то дочерней функцией передается область видимости материнской.
Тут стоит отдельно подчеркнуть, что после выполнения инструкции var counter = makeCounter(); в counter передается та самая анонимная функция из makeCounter, причем вместе с областью видимости!
Поскольку в материнской функции была объявлена переменная currentCount, при последующих вызовах дочерней (а в нашем случае дочерняя функция передана в counter) эта переменная изменяется, накапливая значение. Теперь немного понятней стало?

На стаке разбирали идентичный твоему пример:
https://stackoverflow.com/questions/8487768/returning-functions-in-javascript-understanding-scope-closures
Полезно читнуть также о различиях в понятиях 'контекст' и 'область видимости':
http://ryanmorr.com/understanding-scope-and-context-in-javascript/
---
>>649517

>Выходит с возвращенным кодом функции-2 код выглядит так?


Нет. Но посмотреть исходный код функции ты можешь в консоли, обратив функцию в строку: function.toString()
>>649788>>649827
#489 #649788
>>649787
>>649442
Еще на MDN есть хорошая шпаргалка по областям видимости, контекстам и вызовам функций:
https://developer.mozilla.org/en-US/docs/Archive/Web/Scope_Cheatsheet
Всецело на нее полагаться не стоит, разумеется, поскольку есть вещи не стандартизованные в ECMA.
#490 #649827
>>649787
У тебя дважды "однако" очень близко друг к другу.
#491 #649999
#492 #650023
Это очень хуевое решение вот этой задачи https://projecteuler.net/problem=2 без рекурсии для ньюфага?

var firstTerm = 0
var secondTerm = 1;
var nextTerm = 0;
var sumOfEvenTerms = 0;
while (nextTerm < 4000000) {
nextTerm = firstTerm + secondTerm;
firstTerm = secondTerm;
secondTerm = nextTerm;
if (nextTerm % 2 === 0) {
sumOfEvenTerms += nextTerm;
}
}
#493 #650038
>>649651
Пробегаешь глазами по джс.лерну и начинаешь пилить что-нибудь, когда не знаешь как или что делать заглядываешь в туториал и на стаковер. Только так. Я год-полтора "учил", но пока не начал писать код все это хуйня была.
>>650059>>650148
#494 #650059
>>650038
как начал писать код сразу пошли результаты? Туториал я так понял это леарнджс, а стаковер это где такое?
75 Кб, 539x588
#495 #650071
Объясните, что делают знаки =+ и +=. И, блять, в чем разница между ними?
>>650083
#496 #650083
>>650071
var a = 1;
a += 5 // => 6 (эквивалент a = a + 5)
a =+ 100 // => 100 (эквивалент a = (+100) или просто a = 100, нутыпонял)
В общем "=+" я не видел, чтобы кто-то писал.
>>650093
#497 #650093
>>650083
var b = +"100";
>>650109
#498 #650109
>>650093
Понял тебя.
#499 #650110
>>648606

>где можно гитарные табы делать онлайн, типо гитар про, только в браузере.


Табы в .gp формате? Это же пиздец на JS писать или я совсем ньюфаг? На том же songsterr всё на флеше работает.
#500 #650148
>>650038
Хз, я по книге Флэнагана учился, иногда что-то запускал. Только потом для себя начал писать.
12 Кб, 750x334
#501 #650186
>>640565 (OP)
Потсоны, дали тестовое задание на джангу и фронтэнд и вот с последним у меня туго. Вот отрывок:

3) Также приложение должно отображать статусы с соответствующими им
Задачами, как показано на макете ниже (см. пикрилейтед);
3.1) На этой странице должны быть отображены все задачи и все статусы,
соответственно.

Изменение статусов задач в приложении:
4) Статус задачи должен меняться drag-and-drop'ом. Задачи из области одного
статуса в другой;
4.1) К примеру, перетащить мышкой задачу "task1" из статуса "status1" в "status3".
5) Если один пользователей меняет статус задачи, то статус той же задачи
должен моментально измениться на уже открытой странице другого
пользователя;
5.1) обновление статуса задачи не должно сопровождаться полной
перезагрузкой страницы, а только манипуляциями ее отдельными DOM-
элементами.

Собственно вопрос как это реализовать. Так знаю жиквери и недавно начал изучать ангуляр. Особенно меня интересует 5й пункт - как реализовать общение браузера с сервером в таком случае?
>>650203
#502 #650203
>>650186
В фоне запрашивай информацию с сервера.
При изменении на стороне клиента - отправляй на сервер.
При изменении информации полученной от сервера - перерисовывай UI каким там ты пользуешься фреймворком.

Используй вебсокеты, хотя можешь лонг поллингом обойтись тащемта.
#503 #650240
Сейчас поправлю шапку и сделаю перекат.
#505 #650948
>>640565 (OP)
Забегайте в уютную конфочку в телеге:
https://telegram.me/joinchat/AFkjiQbZ-ih1sNDznEmoxQ
#506 #658025
вечер в хату, я тут в 6ю екму пытаюсь, посмотрите пожалуйста, очевидный ли код, можно ли без мозгоебства понять что что делает ? Может кто подскажет что поменять например, best-parcticies вся хурма...
https://jsfiddle.net/xr3sc78g/
#507 #658215
поцы, я короче на джанге беки делаю, фронтендер съебнул и я пока вместо него, поясните за http://riotjs.com/ выглядит как react без мусора, готовые компоненты на гитхубе, можно ли на продакшн взять его ?
#508 #658264
Приветствую.
Задача стандартная.
Есть ajax фильтр по параметрам(форма с чекбоксами, полями и прочее). После наложения фильтра, отображаются записи. При клике на любую запись, переход на эту запись. В этой записи должна быть кнопка НАЗАД, которая возвращает обратно на страницу фильтра с уже ранее выбранными параметрами. Как это реализовать? Голову сломал уже. Вроде есть history API, но как это применить к моему примеру не нашел. Есть библиотеки jquery, но тоже не понимаю, как их применить.
Устроит даже тупо при нажатии кнопки фильтровать (аjax вызова) формирование урла в строке браузера
вроде http://site.ru?hui=4,5,7&pizda=000, то есть в гет параметрах будут сохранятся данные из инпутов форме, и потом по этому урл http://site.ru?hui=4,5,7&pizda=000 можно воспроизвести страницу с наложенными фильтрами?
Есть какой-нибудь нормальный мануал от а до я по этой теме, можно на англ. В инете все кусками, с jquery не особу дружу.
#509 #659786
Аноны кто подскажет годный русскоязычный справочник по node.js со всеми объектами, их свойствами, описанием каждого и тд. Может есть какие-то персональные блоги? в гугл не умею с иглишом слабо (что надо учить знаю)
#510 #663340
test
Тред утонул или удален.
Это копия, сохраненная 28 февраля 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски