Двач.hk не отвечает.
Вы видите копию треда, сохраненную 11 августа 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
37 Кб, 1052x1052
JavaScript #57 #796115 В конец треда | Веб
Ссылка на прошлый тред: >>789035 (OP)

Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.

Часто задаваемые вопросы:
https://github.com/xxxwww/js-thread/blob/master/Wiki/faq.md

Список материалов для изучения:
https://github.com/xxxwww/js-thread/blob/master/Wiki/learn.md

Список инструментов и направления JS-разработки:
https://github.com/xxxwww/js-thread/blob/master/Wiki/tools.md

JS-конфа в телеграме:
https://telegram.me/jsthread

НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.
#2 #796120
Я вот все думаю, чтоб даллары рубить, надо js или php учить?
>>796122>>796275
#3 #796122
>>796120
Если будешь учить php, то js тоже придется. А так они оба денежные
#4 #796142
>>796100
В общем лучше не суваться в prototype, пока не освоишь нормально this. Если первый язык программирования.
#5 #796145
>>796115 (OP)

> Список инструментов и направления JS-разработки:


> https://github.com/xxxwww/js-thread/blob/master/Wiki/tools.md


Где Sublime Text?
>>796149
#6 #796149
>>796145
Добавь, это же гитхаб
>>796274
#7 #796274
>>796149
И Vim тогда сразу.
>>796312
#8 #796275
>>796120
советую учить haskell
мы как раз в конфе его учим
http://webtalks.ga
>>796281>>796485
#9 #796281
>>796275

>ga


Символизируэ.
#10 #796312
>>796274
Блядь, как же я мечтаю Emacs освоить, да времени всё не нахожу.
>>796328
#11 #796328
>>796312
чем он лучше моего вебсторма с натянутым поверх вимом ?
>>796865
#12 #796382
Посоветуйте годный IDE. и вообще напишите кто чем пользуется
>>796487
#13 #796384
Аноны, есть какая-нибудь литература, которая поможет улучшить знания DOM. Хочу получше разобраться для фронтенд. Поделитесь.
#14 #796389
>>796384
о какой литературе базар то ? Кантор чем не устраивает ? хочешь полнее читай ecma спеки
>>796418>>796437
#15 #796418
>>796389
поехавший, какое отношение ecma имеет к DOM?
#16 #796437
>>796389
ой чет бес попутал, ты прав
#17 #796449
Проапдейтил шапку, отправил пул реквест.
#18 #796475
>>796384
Кантора наверни и не выебывайся. Недавно листал это вот расхваленное "Секреты JavaScript ниндзя" - типичная рыготина с кучей воды. А Кантор по хардкору ебашит, без воды и лишних пояснений. Если освоишь его курс, то можешь считать, что постиг суть js.
>>796483
#19 #796483
>>796475
Кантор это автор сайта javascript.ru? Помню, как он обосрался, забыв в описании функции setInterval указать 3-й параметр. Больше на эту парашу ни ногой.

Учите стандарт и не читайте всяких хуесосов: https://html.spec.whatwg.org/multipage/webappapis.html
>>796486
9 Кб, 685x63
#20 #796485
>>796275
Хули ты пиздишь, где там ХАСКЕЛЬ? Только жс макаки да какие-то seo хуесосы.
Отписался там, в общем.
#21 #796486
>>796483
ох ебать, кантор обосрался?!?! забыв указать в описании функции бля ты нелепей чем goddes bunny сейчас выглядишь
>>796494
#22 #796487
>>796382
phpstorm. от jetbrains всё хорошее. если только js, то бери webstorm.
#23 #796489
>>796384
А спека для кого?
https://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/introduction.html

Улучшить знания DOM - это что вообще значит? Список названий ивентов на зубок знать? Определись что именно не понимаешь и копай туда.
#24 #796494
>>796486
Именно обосрался, порватка, этот тупой хуесос предлагает создавать таймер с параметром на JS так:
setInterval("function(n) {...}", interval);
Я бы такому дебилу и домашнюю страницу писать не доверил.
>>796501>>796505
#25 #796501
>>796494
как ты вообще программированием занимаешься ? У тебя с логикой траблы лютые:
Кантор знает как делать правильно ? - да
Кантор человек ? - да
Человек периодически ошибается ? - да

а все остальные свои скилзы он из-за своего непрофессионализма получил.

короче тут есть тысячи вариков доебаться до твоей логики, так что ты либо правда туповат либо тролль в жс трейде, что собственно то де самое

> Я бы такому дебилу и домашнюю страницу писать не доверил.



лол хорошо, что ты ни на что не влияешь. Тимлид диванный
#26 #796505
>>796494

> Именно обосрался, порватка, этот тупой хуесос предлагает создавать таймер с параметром на JS так:



https://learn.javascript.ru/settimeout-setinterval

и тут ты такой с пруфами...
>>796508
sage #27 #796508
>>796505
Хе-хе, в одном месте хуесос ошибку исправил, а в другом забыл: http://javascript.ru/setinterval
>>796509
#28 #796509
>>796508
ну и где там ошибка ?

> setInterval("function(n) {...}", interval);

>>796511
sage #29 #796511
>>796509
Код с alert'ом. Последним комментарием его макнули в говно.
>>796513
#30 #796513
>>796511
жестоко конечно, ничего не скажешь.
Хватит нига стыдно за тебя

> Илья Кантор, 16 мая 2009 - 08:55

#31 #796520
>>796115 (OP)
Как заставить ноду отображать html-документ на поднятом веб-сервере?
>>796522>>796525
sage #32 #796522
>>796520
Возьми нож и угрожай ей.
#33 #796524
Ребята, такая проблема.
Начал экспериментировать с Реактом (без флакса) и разрабатываю мини-сайтец с изоморфными компонентами. Проблем и вопросов особых не возникало, ибо контент весь рендерится однажды, после запроса.
Но тут еще созрела идея админку запилить, и там уже хотелось бы динамически обновлять содержимое страницы (фильтры, редактирование и отправка данных, вот это все).

Пока для основных страниц код был простой как два пальца - сервер рендерил страницы и попутно херачил json данные в тег javascript. Для унификации кода использовал метод getDefaultProps() в котором определял окружение и брал данные из того самого тега, если мы находимся в браузере.
Вот теперь возвращаясь к проблеме динамически обновляемых данных.
Я хочу, чтобы в моей админке при запросе сразу рендерились определенные данные, а так же, при AJAX запросах обновлялись.

Читаю всякие гайды по этому вопросу и никак не могу взять в толк, какой же пождход наиболее грамотный. С одной стороны, можно в getInitialState фигачить пропсы, а потом стейты обновлять в соответствии с полученными данными.
И, хотя фейсбук вроде не против такого подхода, когда пропсы используются только в качестве первоначальных значений ( https://facebook.github.io/react/tips/props-in-getInitialState-as-anti-pattern.html ), но неприятный осадочек от слов НИНАДА ТАК ДЕЛАТЬ, ЭТА АНТИПАТТЕРН остался. Так как же лучше организовать обработку данных?
>>796548
#34 #796525
>>796520
чистую ноду ? Тогда надо прочитать по пути html

https://nodejs.org/dist/latest-v6.x/docs/api/fs.html#fs_fs_readfile_file_options_callback
если express то вариков масса от sendfile до res.render
>>796527
#35 #796527
>>796525
А я фс с экспрессом минут 40 скрестить не могу, но у меня подает файл в загрузки.

var fs = require('fs');
var express = require('express');
var app = express();

fs.readFile('index.html', (err, data)=>{
if(err) console.log('error');
app.get('/', function(req, res){
res.send(data);
})
})

app.listen(3000);
#36 #796528
>>796527
Ты пытаешься делать асинхронные вещи синхронно. Это базис, бро.
>>796530>>796531
#37 #796529
>>796527
если експресс то res.sendfile("путь к твоему файлу")

если чистая нода то res.end(data)
>>796532
#38 #796530
>>796528
да нет, все правильно вроде
#39 #796531
>>796528
ой
>>796527
он прав, ты сначала читаешь файл а потом отсылаешь хз куда, тебе надо app.get("/", (req, res) => {
тут только читать начинаешь
}
#40 #796532
>>796529
Бывают ли случаи когда лучше использовать 1 подход или наоборот?
>>796533
#41 #796533
>>796532
когда юзаешь експресс, юзай sendFile т.к. общая практика и не нужно опускаться до лоу левел, она сама все прочитает и сделает.

если нужно прочитать файл и с его содержимым что нибудь сделать, регулярочкий что нить поменять например надуманный пример но все же а потом только отправить то второй
#42 #796548
>>796524
Два стула: или накатить стейт менеджмент, или обмазываться антипаттернами.
#43 #796550
>>796115 (OP)
У brackets есть плагин, преобразовывающий html в css(CSSFier), стоило только скопипастить из поля с нтмл-кодом в поле ксс-кода. Есть ли в Sublime подобный плагин?
>>796552
#44 #796552
>>796550
Есть.
>>796554
#45 #796554
>>796552
И как же он называется.
>>796607
#46 #796607
>>796554
бля чувак, ну почему ты полез задавать вопрос на двач даже не погуглив ?
cssfier sublime -> google.com

https://packagecontrol.io/packages/eCSStractor

ну нахуя мне делать то что должен был сделать ты сам? Хоть одну бля причину назови
#47 #796720
Есть тут те, кто проходил FreeCodeCamp? С какого момента там требуется кооперация и живое общение с людьми? Дело в том, что я не могу общаться на английском языке, но в состоянии прочесть, например, документацию. На то, чтобы «подтянуть» english уйдет минимум полгода-год. Реально ли там получить Front End Development Certification без общения и попен-сорсных проектов для НКО? Или хотя бы пройти там курс, параллельно изучая английский, а потом под конец уже взяться за эти проекты?
#48 #796763
Анон, с точки зрения стиля программирования первый вариант это ок? Или лучше всегда второй юзать?

function b() { return 42; }
1.
a = true && b()
2.
if(true) { a = b(); }
#49 #796772
>>796763
В реакте в JSX паттерн
(this.props.newMessages > 0) && <Alert />
часто используется.
>>796829
#50 #796829
>>796772
Еще одно подтверждение того что использовать это говноподелие не нужно.
>>796831>>796923
#51 #796831
>>796829
Ещё одно подтверждение, что ты даун. Серьезно, нахуя ты это написал?
>>796928
#52 #796851
>>796763
Поясните что происходит в 1 варианте
>>796858
#53 #796856
Можно как-то в этой хуйне добавить плавное раскрытие/скрытие?
http://blog.ox2.ru/js/pokazat-skryt-div-blok/
>>796874
#54 #796858
>>796851

>true && b()


1. проверка первой части выражения - равна true, если бы была false, проверять вторую часть выражения смысла нет
2. выполняется функция b(), которая возвращает 42.
таким образом переменная а будет равна 42
>>796993
#55 #796865
>>796328
Не жрёт сотни памяти и работает во фреймбуферной консольке или вообще по SSH.
>>796880
#56 #796874
>>796856
#block_id {transition: top 1s ease-out 0.5s}
#57 #796880
>>796865

>фреймбуферной консольке


Что это? Для чего юзается?
>>796936
#58 #796923
>>796829
А что ещё использовать? Не говнотырпрайзный ангулар же. Альтернатив просто нет.
>>796924>>796938
#59 #796924
>>796923
Бэкбоун + марионетт
#60 #796928
>>796831
Глядите, взрослый человек не умеет адекватно отвечать на аргументированную критику JSX.
>>796993
#61 #796931
>>796763
1. a - true
2. a - 42
>>796993
#62 #796936
>>796880
Доведённый до ума текстовый режим. Шиндузятники уже и забыли, в семёрке заводится со специальными видеодровами, с восьмёрки выпилен с концами. OS X изначально только графическая. А используется, когда графика нахуй не нужна либо иксы не заводятся. Вебдева слабо касается, правда, ибо хоть более-менее рабочих решений для отображения браузеров во фреймбуфере нет, иксы при переключении туды-сюды тормозят, а Wayland готов чуть менее, чем второй ангуляр. Но для многоязычных богов один редактор для всего — куда более приемлемое решение, чем осиливать стопицот узкоспециализированных блокнотов со свистелками, коими эти ваши IDE являются. (inb4: Visual Studio).
>>797190
#63 #796938
>>796923
Сто лет ебашили лапшу на жыквери и ещё столько бы ебашили, но тут вылезают хипсторы и начинают кукарекать, что без жирных фреймворков, которые проблем больше создают, чем решают, жизни нет.
>>796954
#64 #796954
>>796938
Хуита, бизнес диктует наворачивать йобы в браузере - с жквери лапшой тут можно только жидко обосраться и съебнуть с проекта, пока нормальные пацаны не заметили. Каким тупым надо быть, чтоб думать, что какие-то хипсторы решают что именно будет в тренде, а что нет. Это тебе не вирусный маркетинг, это гонки, где выигрывает тот, у кого конкурентное преимущество.
#65 #796983
После поднятия маршрутизации на express заебывает вечно мешающая консоль: закроешь консоль/Ctrl+C - падает сервак. Как решить эту проблему?
>>796988
#66 #796988
#67 #796993
>>796928
А где там была адекватная критика? Выражение return check && value это нативный жс и нормальная практика.

>>796763
Тебе напиздели господа
>>796858
>>796931
И первый и второй пример делают одно и то же, присваивают результат функции b переменной a если передается truthy значение. Только в первом случае сменив true на false ты присвоишь переменной false, а во втором ничего.
>>797044>>797192
#68 #797044
>>796993
Может, ты ещё !1 вместо false и приведение к инту через |0 "нормальной практикой" назовёшь? Оно с одной стороны нативный жс, конечно, но с другой — снижающая читабельность кода кашица, которую в век промисов, сахара для классов и прочих модулей юзать как-то неприлично.
>>797084
#69 #797084
>>797044
В отличии от твоих примеров эти шортхэнды нихуя не снижают читабельность кода, если, конечно, преодолеть предел айкью двух ретардов выше.
>>797210
#70 #797142
Напоминаю про единственную живую JS-конфу. Конфа в слаке, а значит для входа не нужен телефон, достаточно фейковой десятиминутной почты.
https://invite-me-to-2chpr.herokuapp.com/
>>797227
#71 #797190
>>796936

> один редактор для всего


Это обычно значит, что он для всего говно.
Да и вообще текстовый режим в 2016 на десктопе - это пиздец какой атавизм. Ты мазахист какой-то.
>>797194>>797218
#72 #797192
>>796993
Ты ебанутый?
a = true && b()
a = true && 42
a === true
Нормально заменять if (something) { func(something) } на something && func (something), но тут значение a различается в двух вариантах.
>>797471
#73 #797194
>>797190

> > один редактор для всего


> Это обычно значит, что он для всего говно.


Нет, это значит, что он насколько хорошо и универсален, жетбраинз ребенок
>>797197
#74 #797197
>>797194
Готов поспорить, что жетбрейнс-ребенок делает кнопочками всё в несколько раз быстрее и ненапряжнее, чем ты выбиваешь свои заклинания на клавиатуре, попутно вытирая пот со лба
>>797221>>797413
#75 #797210
>>797084
Чем они принципально отличаются? Шо то хак, шо это хак.
>>797408
#76 #797218
>>797190

>Это обычно значит, что он для всего говно


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

>текстовый режим в 2016 на десктопе


Я что-то пропустил, десктопы превратились в фоторамки? Или моноширинная сетка нынче уже не тру и надо код комиксансом писать? Деплой, пакажманажеры, VCS — один хуй в консоли все.
#77 #797221
>>797197
Жетбраинс-ребёнок умеет в слепую десятипальцевую печать? А то знаем мы этих задротов, которые в погромисты вылезли... наловчился в шутанах быстро по кнопочкам тюкать, но через жопу и уже хуй переучишь, проще кверти выкинуть и обучить какому-нибудь твиддлеру.
#78 #797227
>>797142
У нас и в телеграмме хорошо
>>797274
#79 #797274
>>797227
Телеграммопараша не нужна. Светить телефон гэбне и юзать сырую пародию на слак - не нужно. Да и людей мало.
>>797279
#80 #797279
>>797274
Слак тормозная параша, конфа мертва
>>797463
#81 #797344
борщ двощ, такой вопросец: есть ли разница для nodejs между require("lodash") и require("lodash/find") ? Либо я в глаза ебусь либо они забыли ентот моментик описать в доке
>>797361
#82 #797361
>>797344

>require("lodash") и require("lodash/find")


Очевидно, что есть.
#83 #797408
>>797210
Хотя бы тем, что функционал ветвления с помощью && прозрачный и задокументирован, а битвайзовым или кастить в инт это сайдэффект с нехуевыми ограничениями.
#84 #797413
>>797197
Да, да, да, жетбраинз шорткаты настолько хорошо, что в жетбраинз встроены шорткаты из Emacs и vim
>>797457
#85 #797440
Сап, не могу сделать пост запрос на бекенд (Spring mvc)
Туда должен приходить объект ToDoItem ( у него есть id, text и
булево значение)

Делаю это так: https://jsfiddle.net/50djaf8q/1/
Получаю в консоли вот это.
(index):49 Uncaught ReferenceError: task is not defined
>>797442>>797454
#86 #797442
>>797440
Пиздец.
>>797452
#87 #797452
>>797442
1й раз пишу фронт, соре.
#88 #797454
>>797440
1.В твоем фиддле не подключен jQuery
2.Лучше не ловить клики в атрибутах тега, а вешать лиснер
3.var json = JSON.stringify(todo);
#89 #797457
>>797413
Они так заманивают вимеров и эмаксеров. Вимера ведь калачом не заманишь опять корячить руки для вражеских концепции QWERTY CUA-шных сочетаний.
#90 #797463
>>797279
Слак не сливает данные и имеет нормальные клиенты для всех мобильных и десктопных осей, а телеграм говно для школьников из вк. А конфа живее всех живых.
>>797478
#91 #797471
>>797192
Иди учи матчасть, ебанутый.
>>797509
#92 #797478
>>797463

> Слак не сливает данные


Пруф, что не сливает
Пруф, что телеграм сливает

> имеет нормальные клиенты для всех мобильных и десктопных осей


Которые тормозят просто нереально, в сравнении с телеграмовским, который даже на моей распе просто летает

> А конфа живее всех живых.


Мантры какие-то, я же там есть
>>797491
#93 #797491
>>797478

>Пруф, что не сливает


Пруф отрицания? Ты ебанутый?

>Пруф, что телеграм сливает


Пашка. Он всегда ходил под гебнёй и нет поводов думать, что в этот раз он внезапно изменился.
>>797502>>797503
#94 #797502
>>797491

>Пашка делает заявление, что не собирается сотрудничать с властями и сливать ключи.


>Анон делает заявление, что пашка всегда ходил под гебней и всё уже давно сливается.


Спасибо, что показал путь к истине, анон.
#95 #797503
>>797491

> Пруф отрицания? Ты ебанутый?


Знал, что ты так скажешь. А теперь иди нахуй:
https://techcrunch.com/2015/03/27/slack-got-hacked/
12 Кб, 685x116
#96 #797509
>>797471
Пиздец, я ебал ваш конченный язык.
>>797516
#97 #797516
>>797509
Охуенно! Легко жи запомнить.
AND - правило правой руки (возвращает второе значение, если первое truthy)
OR - правило левой руки (возвращает первое значение, если оно truthy)
#98 #797519
Аноний, нужно сделать несколько заданий, используя Angularjs как фронт-энд и Expressjs, как бэк-энд. В качестве среды разработки использую IntelliJ Idea. Как заставить их работать вместе? Гуглёжка дала только команды в терминале и крайне поверхностные Хэллоуворлды, без структуры проекта и вообще, без всего. Стоит ли вкатиться в другую среду разработки?
>>797522>>798185
#99 #797522
>>797519
Тебе шашечки или ехать?
Ебашь в N++ по-хардкору. Там тебе проекты, и прочие свистоперделки если надобно, причем все шустро и удобно.
>>797524
#100 #797524
>>797522

>Тебе шашечки или ехать?


Не понял. Но спасибо, сейчас буду смотреть N++, а то от хтоничного запутанного пиздеца Ителлиджей уже глаза болят, нахуй.
>>797540>>797586
#101 #797539
Как передается и сверяется логин/пароль из формы входа?
>>797542>>797543
#102 #797540
>>797524

> N++


Возьми лучше atom или sublime text, они умеют в нормальное автодополнение и сниппеты
#103 #797542
>>797539

> передается


POST-запросом?

> сверяется логин/пароль


Ищется в базе и проверяется. Если совпадает - записываешь в сессию данные пользователя
>>797553
#105 #797553
>>797542

> POST-запрос


Отправляются они с клентской части или с серверной?
>>797589
#106 #797562
>>797543
В этом примере же имя с паролем прописан заранее, мне надо, чтоб логин/пасс были динамичными.
>>797592
#107 #797580
Господа, скринкаст кантора смотреть стоит или лучше почитать чего из шапке по нодажэсэ?
>>797760>>797849
#108 #797586
>>797524
А вот какого хуя на false можно тихо и безрезультатно пытаться вешать свойства и никаких эксепшонов не сыпется? Я знал, что жабоскрипт говно, но не до такой же степени. Последний раз так охуел, когда узнал, что в похапэ до 5.4 нельзя было к свойствам возвращённого функцией массива на ходу обращаться.
#109 #797589
>>797553
Сервер после загрузки страницы не может ничего по своей инициативе на клиент слать, только если ты (с клиента, опять-таки) откроешь комет или вебсокет, и то пока он не отвалился.
#110 #797592
>>797562
Ну так вместо хардкода делай запрос к базе. Ты ж даже не сказал, что за база. А впрочем, сразу лучше sequelize бери.
>>797602>>797609
#111 #797602
>>797592
MySQL уже взял.
>>797630
#112 #797609
>>797592
Я не знаю как гуглить реализации/примеры/мануалы, да и понимания о реализации нет.
>>797637
#113 #797630
>>797602
Ну дак sequelize с ней работать умеет.
#115 #797681
Где мо
>>797719
44 Кб, 570x249
#116 #797719
>>797681
Я тут. Чего надо?
>>797748
#117 #797748
>>797719
Барев брат! Как сам, как семья?
#118 #797760
>>797580
Бамп
#119 #797849
>>797580
Для скринкаста нужно жс знать, он там не про жс рассказывает, а про ноду
>>797886
#120 #797886
>>797849
Жс учебник познал. Хочу в ноду вкатиться
>>797901
#121 #797901
>>797886
Тогда смотри, да. Правда, он стух немного. Но общие принципы уловить можно
#122 #798185
>>797519
Немножко перефразирую. Есть у меня node.js проект в WebStorm (нахуй IntelliJ). Как Express js рисует страницы? Как я понял, для Angular js нужен только тег на html страничке, а значит, его туда нужно добавить. В какие папки распихать всю эту ебалу? Пояснений по структуре проекта я почему-то не нашёл.
>>798188
#123 #798188
>>798185
Зачем тебе рисовать страницы на express? У тебя же для этого angular
>>798193
#124 #798193
>>798188
А как, собственно это делается? У меня есть связка хуёв скриптов на express. Мне нужно сделать страничку, на которой бы пахали эти скрипты.
>>798196
#125 #798196
>>798193
Каких скриптов? Express - это сервер.
В идеале, если его использовать с ангуларом, ты делаешь через ангулар запрос на роуты - express отвечает json'ом, ангулар его парсит и вставляет куда нужно
>>798198
#126 #798198
>>798196
А как отправить запрос экспрессу и получить ответ? Половина гайдов - невнятные.
>>798201
#127 #798201
>>798198
Ангулар делает запрос:
$http.get('/api/hello').success((data)=> { console.log(data) }); // Hello!

Express по этому роуту отвечает:
app.get('/api/hello', (req, res)=> { res.status(200).send('Hello!')});
>>798214
#128 #798214
>>798201
Angular сам строит всю страницу или нужен html, где его скрипты вызываются?
>>798218
#129 #798218
>>798214
Конечно html нужен, а в него ты уже ангулар подключаешь. Что-то ты рано ангулар учить начал
>>798227
#130 #798227
>>798218
Этим он не отличается от подавляющего большинства пишущих на нём.
>>798228
#131 #798228
>>798227
Лол что? У ангулара самый высокий уровень входа из популярных фреймворков
>>798237
#132 #798237
>>798228
Вовсе нет. Порог входа как раз довольно низок, можно начинать его использовать почти сразу после прочтения тутора и парочки гайдов. Вот кривая обучения довольно долгая, хоть и пологая, потому что множество подводных камней и специфичных не дженерал-кейс вещей.

К примеру Ember имеет куда более высокий порог вхождения, это жесткий фреймворк который надо знать хотя бы на 75% чтобы его применять, в отличие от ангуляра. При этом у него короткая кривая обучения, - сел, выучил, и дальше ебашишь себе спокойно ни о чем не задумываясь.
#133 #798260
Анончики, выучил базовый js, node, express. Что учить теперь? Случайно нашел такую штуку как sails и на первый взгляд она мне очень понравилась. Стоит ли тратить на нее время или не выебываться и начинать учить реакт?
>>798274>>798284
#134 #798274
>>798260
Как ты это смешал вообще, бэкенд с фронтендом? Sails - надстройка на express, там учить нечего, если знаешь express
>>798278
#135 #798278
>>798274
Ну я просто расставляю приоритеты что первое учить. А так наверно sails просто освоить тем кто уже использовал другие MVC.
#136 #798284
>>798260
Учи. После смерти руби на sails стало появляться всё больше работы.
#137 #798336
Как можно вставить к себе на страничку другую интернет-страничку, используя ангулар?
>>798359>>798368
#138 #798359
>>798336
наподобие вопрос, но только он наверное к хтмл больше относится. Как на одной странице перейти по меню чтобы заголовок и navbar остался тот же, но контент открылся другой?
>>798368>>798373
#139 #798368
>>798336
Это делается не ангуляром, а через html.
Самый простой вариант:
https://webref.ru/html/iframe
http://www.bootply.com/95542#

>>798359
Ты тоже хочешь отображать чужие внешние страницы у себя? Если да, то пробуй iframe, но в твоём случае с ним могут возникнуть сложности при autosize контента.
Есть другие более сложные варианты, например, скачивать к себе внешние страницы и потом их отображать, здесь уже гугл в помощь.
Если контент именно твой, то это не схожая задача, здесь нужно будет перключаться на другую view. Для начала попробуй бутстрапом реализовать, у них есть отличные примеры в документации.
>>798371>>798373
#140 #798371
>>798368
На другую view, только вот я думал это решается каким-нибудь href-ом. Спасибо, щас попробую поискать
>>798373
#141 #798373
>>798359
>>798368
>>798371
Жара мне весь мозг расплавила, херню тебе написал, лол.
Короче, navbar делай тупо бутстрапом:
http://www.bootply.com/95542#.
На сайте бутстрапа найдёшь ещё примеров с navbar.
А вот уже контент отображать:
1) Внешний контент: iframe или шерсти интернет.
2) Твой контент, то это разные view должны быть (Это если ты MVC концепцию используешь). В navbare да, это тупо href получается на твою другую view.
Как-то так.
>>798391>>798424
#142 #798391
>>798373
Спасибо, сейчас попробую изменить view
#143 #798424
>>798373

> Твой контент, то это разные view должны быть (Это если ты MVC концепцию используешь). В navbare да, это тупо href получается на твою другую view.


А без бекенда это нельзя реализовать?
#144 #798442
Сап пилю тудушку.
Сейчас есть выгрузка с бекенда и отображение на фронт, а так же добавление новой тудушки.
Мне нужно навешать на все чекбоксы по лиснеру, и в случае клика делать ajax patch запрос и еще кнопку удаления. Халп.

https://jsfiddle.net/fa3sxcqd/
>>798479
#145 #798479
>>798442
Ааа, это ты, который тудушку делает уже несколько дней кряду. В чем хелп-то нужен?
Вешай лиснеры. Только не по чекбоксу, а групповой, например, на класс. А внутри хендлера проверяй, на что таргет. По свитч/кейс логике можно определить для каждого элемента свое действие. Профит!
>>798481>>798647
#146 #798481
>>798479
В том что я ни разу не писал на js, покажи плис бест практис какой-штоль.
>>798494
#147 #798494
>>798481
Вот пример по сабжу из Илюхиного тьюториала:
https://jsbin.com/dubohu/2/edit?html,js,output
>>798533
#148 #798521
Анон, как заставить это говно записывать в файл? Что, сука, характерно, String(result) имеет тип undefined, потому, как я догадываюсь, запись и не производится, хотя файл создаётся исправно.

https://jsfiddle.net/5tanumyz/
>>798523
#149 #798523
>>798521

>String(result)


Нахуя так делать?
>>798527
#150 #798527
>>798523
result - undefined потому что. И даже result.toString(). Есть какой-то другой путь?
>>798529
#151 #798529
>>798527
Если result не определен, его нужно определить.
Очевидно же.
Хинт: ты проебался с 'result' где-то сильно раньше в своих вычислениях.
#152 #798533
>>798494
У меня не то немного, у меня тудушек может быть сколько угодно, но при этом одна и та же функция должна отбатывать ( патч запрос на сервер)
>>798670
61 Кб, 500x375
#153 #798611
Пацаны, нужно построить различные графики.
Имеется .xls таблица где-то 4000 х 4, графики строятся из её данных, могут строиться как крохотные на несколько точек, могут строится и по всему диапазону.
Так вот, в чём для js лучше давать данные?
Выбирать php скриптом, потом в какой-нибудь xml сохранять и передавать? xml очень много весит.
Поясните за этот момент
>>798642
#154 #798642
>>798611
Засунуть все данные в CouchDB, как вариант. А ее теребить будет быстрее, чем читать файл с диска или парсить XML. Хотя, парсить придется в любом случае, только уже нативный формат JSON.
>>801686
#155 #798647
>>798479
И еще проблема, что все это внутри ul'a и еще и кнопку delete припердолить надо, не понимать как это сделать.
#156 #798670
>>798533

> У меня не то немного, у меня тудушек может быть сколько угодно, но при этом одна и та же функция должна отбатывать ( патч запрос на сервер)


Какое это имеет значение, сколько у тебя тудушек? Да хоть дохуллион. Вешай на класс лиснер, в хендлере ссылайся на this.
>>798678
#157 #798678
>>798670
ну там все в одном диве сделано. а у меня тип 2 лиснера в каждом ли должно быть, на чекбокс и на кнопку удаления.
Их типо в отдельный див внутри ли пихать?
>>798743
#158 #798695
Посоветуйте фреймворк пожалуйста для человека, который знает один только Python
И подскажите вот эти все Coffee Script и иже с ним это типа такая возможность писать "питонично" а потом пересобирать в js?
С чего начать?
#159 #798709
>>798695
Если не путаю, кофескрипт любые фреймворки поддерживает.
#160 #798724
#161 #798732
>>798695

> Coffee Script


Для петухов
#162 #798743
>>798678
ну же анон, халп
>>798748
#163 #798748
>>798743
Вешай data-todoId, а потом оперируй с ним в евенте
>>798765
#164 #798765
>>798748
Как?
нихуя не понятно.
>>799462
#165 #798920
>>798695
Кофискрипт больше на руби похож, чем на пыхтон.
#166 #798965
Посоны, я не совсем понимаю такой момент: как остановить выполнение скрипта до совершения пользователем определённых действий? Ну т.е. юзер нажал кнопочку, всплыло окошко — и пока он там данные не ввёл — дальше ничего не происходит.
>>798976
#167 #798973
бля как конкурировать с wordpress "бекендерами" ? Нахуй я ноду учил лол
>>799056
#168 #798976
>>798965

>как остановить выполнение скрипта до совершения пользователем определённых действий?


Повесить алерт, очевидно же, лол. Он остановит выполнение скрипта до тех пор, пока пользователь не нажмет "Ок".
#169 #798983
пацаны, учу ноду и тут такое дело: вебсокет не хочет посылать сообщение серверу, я тут описал в чем трабла,
косяк скорее всего на клиенте, но ошибок не показывает никаких, не пойму что не так.
https://jsfiddle.net/a4h3q94r/
>>798984
#170 #798984
>>798983
sockets.io
>>798987
#171 #798987
>>798984
дак а проблема в чем, браузер то мой поддеживает WebSocket,
var ws = new WebSocket('ws://localhost:8888');
на клиенте ошибок не показывает, да и connection событие на сервер бросает, я знаю про сокет ио, я хочу с низкоуровневым разобраться, а потом уж обмажусь express, socket.io и прочими паспортами
#172 #798988
>>798987
ща проверю твой код.
кста, во многих местах нецелесообразно использовать let. const уместнее смотрелся бы.
>>798998
#173 #798995
>>798987
WebSocket is already in CLOSING or CLOSED state.
Вот и ответ, собственно.
>>799001
#174 #798998
>>798988
>>798987
Так-с, все понятно теперча.
wss.on('message') => ws.on('message')
И засунь в скоуп wss.on('connection', ws => {}).
98 Кб, 1366x768
#175 #799000
#176 #799001
>>798995
я так понял, что это происходит когда обновляешь страницу не перезапустив сервер

на самом деле проблема оказалась на 39 строке:
wss.on('message', message => {});
я вешал обработчик message на wss (webSocketServer) когда повесил на каждого клиента по отдельности все заработало
https://jsfiddle.net/a4h3q94r/1/
#177 #799002
>>798998
вот минуту назад об ентом подумал и заработало, бля я код из учебника переписал неправильно
#178 #799003
>>798998
пасибо анон
#179 #799009
Автор книги "Secure your NodeJS web application" утверждает, что любой необработанный эксепшон в ноде приводит к утечкам памяти и рано или поздно заставляет ноду упасть.
Дабы не стать заложником подобной ситуации (ведь все гипотетически возможные эксепшоны в try/catch не отловить) автор предлагает воспользоваться встроенным модулем 'cluster' и, через мастер процесс, форкать дочерние процессы, тем самым, заставляя их падать принудительно после первого же необработанного эксепшона (заодно и некое подобие балансировки нагрузки имитируя, да), и возрождаясь вновь.

Так вот вопрос к профи - такая схема реально используется в продакшне кем-либо? И чем такой вариант лучше/хуже модуля Node Forever?
>>799019>>799059
#180 #799019
>>799009
Бред какой то.
>>799022
100 Кб, 568x651
#181 #799022
>>799019
"You should now understand that once an unexpected error is thrown process is on it's way to junkyard."
Значит все пиздеж и можно смело пропускать мимо пальцев эксепшоны?
#182 #799054
Как можно отправить express файл и получить ответ в виде строки?
>>799057
#183 #799056
>>798973
Может для того, что вордпресс переписали на ноду, лол? Скоро эта армия пыхомакак будет соснет
>>799628
#184 #799057
>>799054
Куда отправить, от кого получить? Ты вкладку с гуглом перепутал?
>>799079
#185 #799059
>>799009
Какого года книга?
>>799064
#186 #799064
>>799059
Опубликована в этом году, если верить издательству.

https://pragprog.com/book/kdnodesec/secure-your-node-js-web-application
>>799069
#187 #799065
Babel на бекенде кто-нибудь использует? Хочу ноду со всеми ништяками. Какие минусы?
>>799078
#188 #799069
>>799064
Просто я слышал о такой проблеме последний раз где-то в 2013. Не знаю, актуальна она сейчас или просто все начали вешать глобальные обработчики экспепшенов, но у нас чат-сервер с декабря прошлого года работает без рестартов и всё хорошо
#189 #799077
Кун пилящий тудушку всё еще не понимает как навешать много лиснеров на ремув баттон и чекбокс.
Сделайте за меня и поясните, почему так плис.

https://jsfiddle.net/f1ypucfg/
>>799097>>799112
#190 #799078
>>799065
Нахуя там бабель? Года и так поддерживает последние стандарты.
#191 #799079
>>799057
Нужно отправить от ангулара экспрессу два файла, а потом, проделав с ними операции, вернуть результат в виде строки (или похуй, чего) от экспресса ангулару.
>>799080
#192 #799080
>>799079
Ты тролишь, что ли, блять? Это же всё без проблем гуглится, куча ссылок

> Нужно отправить от ангулара экспрессу два файла


https://habrahabr.ru/post/191464/

> проделав с ними операции, вернуть результат в виде строки (или похуй, чего) от экспресса ангулару


app.post('/files', (req, res) => {
// операции
res.status(200).send('result')
})
#193 #799081
>>796115 (OP)
Нужна помощь.
Есть вот такая маленькая функция.

function inputCheck () {
alert(this.value);
console.log(typeof this);
}

Она срабатывает на onkeyup, при этом постоянно выдает undefined, хотя инпут не пустой. Из-за чего это может быть и как исправить?
>>799082
#194 #799082
>>799081

> this.value


С чего ты взял, что такой метод вообще есть?

var inputCheck = (e) => { alert(e.target.value) })
#195 #799083
пацаны, если следующий проект запилю на угловом через babel будет много гемороя ? Что то я к нему привык уже, неохота с языком посреди проекта будет бороться.
>>799084
#196 #799084
>>799083
Я спокойно пилю на бабеле, правда на реакте. Если правильно настроишь сборщик или скачаешь настроенный, то разницы вообще никакой
#197 #799097
>>799077
бамп
#198 #799100
Анончики, а есть в опенсорсе примеры топового бекенда на nodejs? Чтоб посмотреть как умные дядьки делают и самому поучиться.
>>799102
#199 #799102
>>799100
Ghost. Дядьки из NASA не допустят хуиты.
>>799106
#200 #799106
>>799102
А чтоб не фреймворк, а код работающий в реальном проекте?
Вот как например тут выложет топовый бекенд на питоне
https://github.com/reddit/reddit
>>799115>>799116
#201 #799112
>>799077
Как можно что-то сделать за тебя, если нет сервера?
Добавляй нужным кнопкам классы и data-id, а потом слушай через листенеры и что-то делай

<button data-id="1" class="remove">Remove</button>

$("body").on("click",".remove",function() {
console.log($(this).data('id'))
});
#202 #799114
>>799112
за меня ток лиснеры надо навешать, аякс на бекенд сам отправлю
>>799117
98 Кб, 352x662
#203 #799115
>>799106
И кстати вот https://www.nasa.gov/
>>799138
#204 #799116
>>799106
В ноде другой подход, тут не принято делать переусложненное монолитное говно нереальных размеров, а разбивать всё на независимые микросервисы.
>>799118>>799119
#205 #799117
>>799114
Так я написал как они вешаются. После клика на кнопку листенер вернет её id из data-id
>>799330
#206 #799118
>>799116
Ну так а где посмотреть можно набор таких сервисов?
Просто хочу разобраться как пишут реальные проекты на ноде, но примеров не нахожу кроме новой админки вордпресса про которую тут кто-то несколько тредов назад написал "вордпресс переписуют на ноде!!1".
>>799120>>799126
38 Кб, 638x479
#207 #799119
>>799116

> В ноде другой подход, тут не принято делать переусложненное монолитное говно нереальных размеров

>>799121
#208 #799120
>>799118
Вот этот новый вордпресс на nodejs и react
https://github.com/Automattic/wp-calypso
#209 #799121
>>799119
В том и суть, что ты можешь маленький кусок говна переиспользовать, потому что он отвечает за конкретную задачу
>>799129
#210 #799124
>>799120
Automattic вообще молодцы, много чего пилят на ноде. Хранят их боги Египта.
>>799126
#211 #799126
>>799120
>>799118
>>799124
Но он совсем не node-way, к слову. Он вообще довольно говнокодский, всё намешано и связано, моделей толком нет. Впрочем, что ещё можно ожидать от пыхомакак с опытом
#212 #799127
>>799120
Это не новый вордпресс, просто новая админка к нему которая никому в хуй не вперлась кмк.
Хотя возможно это они так обкатывают ноду и когда-нибудь реально выпустят cms на ней(лет через 5)
>>799130
#213 #799129
>>799121
Ты не понял сути картинки, любитель обмазываться...

Может проблема не в монолитах, а в том что ты говно пишешь?
>>799136
#214 #799130
>>799127

>когда-нибудь реально выпустят cms на ней(лет через 5)


Но ведь есть KeystoneJS и Ghost Writer.
>>799131
#215 #799131
>>799130
Я про разрабов вордпресса.
#216 #799136
>>799129

> Может проблема не в монолитах, а в том что ты говно пишешь?


Монолит всегда скатывается в говно, потому что нельзя всё продумать заранее, а проект становится всё сложнее и сложнее. Микросервис всегда можно вообще переписать, хоть на другой язык, который лучше подходит под задачу
#217 #799138
>>799115
Это что, какой-то плагин, выводящий список библиотек, используемых на странице? Поделись, плиз.
>>799140
#218 #799140
>>799138
wappalyzer
#219 #799174
Привет всем.
Есть две функции которые делают одно и то же. Разница в том, что один работает в хроме. но не работает в огнелисе, а второй наоборот - работает в огнелисе, но не работает в хроме.
Как мне запускать проверку на брузер и выдавать лишь нужный код?
>>799175
#221 #799179
жсач, короче надо написать маленький магаз позиций на 60, социалаус, оплата вм, палка, я уже пол года вкатываюсь в жс с питона и джанги, хочу вот попробовать реакт и ноду, читал про то что на ноде риалтайм и прочие spa делать удобно, скажите делают ли на ней магазины ? Не охота сроки сильно затягивать если встряну на полпути из за концептуальной невозможности сделать что то банальное на ноде. Или я зря загоняюсь и можно делать на ней
#223 #799255
>>799187
yep thanks
#224 #799285
можно ли для себя что-то новое найти в доках реакта? стоит ли углубляться за тонкостями?
#225 #799316
>>799179
обязательно встрянешь если нет опыта
#226 #799330
>>799117
>>799112
Бля не получается повешать а data-id значение перемнной.
$('<button data-id=$item.id class="remove">Remove</button>').prependTo(li);
>>799332>>799338
#227 #799332
>>799330
Лул. Скажи честно, ты же ЖС решил взять нахрапом, не читая по ней ничего совершенно?
>>799333
#228 #799333
>>799332
Верно, я чаще на бекенде сижу, и на js мне нужно решить всего лишь эту таску.
>>799334
#229 #799334
>>799333
п.с. кавычки скобки прочее пробовал.
#230 #799338
>>799330.
$('<button data-id='+$item.id+'class="remove">Remove</button>').prependTo(li);
>>799339
#231 #799339
>>799338
$('<button data-id="'+$item.id+'" class="remove">Remove</button>').prependTo(li);

Кавычки чет съелись
#232 #799459
Как с клиента передать серверу текст, введенный в input, например?
>>799465>>799538
#233 #799462
>>798765
Может веб это не твое? Уже хз как понятнее объяснить
>>799478
#234 #799464
В контроллере при валидации пользователя забираю данные с сервера в виде json.
Вопрос, как мне отобразить данные? Интерпретатор не видит массив объектов.
Допустим console.log(data), нихуя, а вот внутри функции return console.log(data) в сосноли массив с данными отображается.
Это из-за локальности переменных? Типа аргумент функции, который локально создается.
Первый ангуляр.
#235 #799465
>>799459
Гугли даун.
#236 #799478
>>799462
Мое, не мое - не важно.
Я не могу найти как текст из инпута записать в переменную/массив/json/похуй_во_что в клиентском js и передать серверной, чтоб я ее хотя бы мог вывести в консоль.
Если мои представления о том как это происходит отличаются от реальных действий, так наставь на путь истинный.
>>799482
#237 #799482
>>799478
Ты уже заебал. Иди читай учебник
http://learn.javascript.ru/
Я заебался тебе по главе примеры кода в тред переписывать
>>799484
#238 #799484
>>799482
По ноде там только скрикасты, которые я уже пересмотрел.
>>799493>>799501
#239 #799489
>>799179

>скажите делают ли на ней магазины ?


Неудобно, бери джумлу и не выебуйся.
Вот буквально месяц назад ставил на пощупать reactioncommerce, оно еще сырое шо песец.
>>799494
#240 #799493
>>799484
Какой тебе толк от ноды, если ты не знаешь как работает DOM, http? Это как хотеть научиться бегать, не умея ходить
>>799506
#241 #799494
>>799489

> джумлу


У тебя ошибка в слове opencart/magento
#242 #799501
>>799484
Ты щас в процессе обучения или это таски на реальной работе?
>>799507
#243 #799505
>>799179
Мелкий магаз можно и самому написать, благо на ноде это в удовольствие. Тебе ж не дохуя гибкое решение создавать на все случаи жизни.
#244 #799506
>>799493

> научиться бегать, не умея ходить


Чет Фореста Гампа вспомнил.
Я немного иначе отношусь: я как ребенок, который учиться письму, а потом уже учиться видеть в своей писанине ошибки. Так же и я пытаюсь написать, ради того, чтобы видеть что работает, а потом или/и походу замечать косяки. У меня банально нет опыта для анализа своего кода.
Давай подсказывай куда смотреть.
#245 #799507
>>799501
Учусь.
#246 #799513
>>799506
Это больше напоминает "гитаристов", которые пропустили постановку рук, ноты, аккорды и сразу начали играть по табам дип перпл
#247 #799514
>>799506
Смотри html, потом js
#248 #799515
>>799506
Нет ничего плохого в таком подходе, но учи последовательно, епта. Чтоб передавать данные по протоколу http на ноде, тебе нужно знать как он работает, чтоб понимать что ты вообще делаешь. Чтоб взять данные с input, нужно понимать как эти данные хранятся, и как к ним добраться.
Копируя код с треда многому не научишься. Будешь может понимать какие-то паттерны, но шаг влево-вправо и ты обсераешься
>>799520
#249 #799520
>>799515
Я это умею:
var usуrname = $('#username').val;
Что дальше?
>>799522>>799525
#250 #799522
>>799520
Почитай как отправлять с клиента данные на сервер, потом как принимать на сервере
Алсо, я примеры это уже кидал итт
#251 #799525
>>799520
Теперь в аджаксе передай username. Открой в доке jqery ajax и смотри как там пост запросы делаются
>>799535
#252 #799535
>>799525
$.ajax({
url: "app.js",
data: {login: usyrname},
method: "POST"
});
>>799537
#253 #799537
>>799535
Бинго, только в url я думаю ты хуйню написал
>>799543>>799544
#254 #799538
>>799459
AJAX или form с прописанным action
#255 #799543
>>799537
Почему?
>>799544
#256 #799544
>>799537
app.js так выглядит:

var express = require('express');
var app =
var url = require('
app.use(express.static('public'));
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.
app.listen(3000);

jquery с ajax в index.html прописаны с инпутом и кнопкой.

>>799543
Бамп.
#257 #799547
>>799544

> var app = express();

#258 #799551
>>799544
А я забыл, что ты на ноде
>>799558
#259 #799555
>>799544
По идее ты должен в url указать конкретный url Типо /getUsername, а в app.js уже app.post("/getUsername", function (req, res) {});
>>799565
#260 #799558
>>799551
Все равно он хуйню написал в url, app.js это ж просто название файлы на серваке.
Там надо писать что-то типа /login
А в app.js обрабатывать посты по этому url
app.post('/login', func(req, res))
>>799565
#261 #799565
>>799555
>>799558
в документации аякса как пример было примерно 'index.php', я поменял на свое, указав, как в примере, имя с расширением. Откуда вы взяли "/getUsername" / "/login" ?
#262 #799568
>>799565
И ты с такими вопросами говоришь, что смотрел скринкаст Клитора?
>>799575
#263 #799571
>>799565
Ты там можешь написать хоть '/hyisobachiy.exe'
Главное чтоб url была одинаковой на клиенте и сервере.
#264 #799575
>>799568
Вот он прав, иди пересматривай, там дальше будет гораздо сложней, а у тебя отсутствует понимание базовых принципов работы http-протокола(
#265 #799578
>>799565
Я не люблю деморализовывать начинающих программистов, но ты явно что-то упустил
#266 #799616
Кто нибудь объясните, какая разница если создать массив
так: "var arr = ["soa", 1, 2];

Или

так: "var arr = new Array ["soa", 1, 2];
>>799626
#268 #799628
>>799056
Пока на большинстве хостингов пыхпых и иногда пёрл и пыхтон, а не какая-то нода — сасать будешь ты. И VPS нужны далеко не всем.
#269 #799632
>>799628
А зачем VPS? Есть же PaaS. Но я тоже сомневаюсь что нода уйдет в мейнстрим сайтостроения "под ключ", хотя было б прикольно.
>>799650
#270 #799650
>>799632
PaaS пока 3,5 маргинальных сервиса.
>>799692
#271 #799692
>>799650
Ебать диванно
>>800233
#272 #799763
>>799112
кароч говорит что айди андефайнд в данном случае.

$("body").on("click", ".remove", function () {
$(document).ready(function () {
$.ajax({
type: "DELETE",
url: "http://localhost:8080/" + $(this).data('id'),
success: function (msg) {
console.log(msg);
}
});
update();
});
});
>>799767>>799784
#273 #799767
>>799763
Ещё бы. Нахуя ты обертку из document.ready добавил, поехавший? У тебя this заменяется
>>799784
#274 #799775
>>799628
Кто-то еще пользуется хостингами от васяна? А, да, я же забыл, вон в /веб/ пиарят свое говно для целевой аудитории макак.
>>799781
#275 #799781
>>799775
https://www.hetzner.de/en/hosting/produkte_webspace/level1
Это васянский? Можешь посоветовать что-нибудь лучше возможно?
>>799788
#276 #799784
>>799763
>>799767
Убрал то, куда это пихнуть, чтобы работало?
https://jsfiddle.net/qch8aw4b/
>>799793
#277 #799788
>>799781

>hetzner


лютый кал же

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

https://lowendbox.com/blog/dedistation-ddos-protected-openvz-vps-starting-15year-london-uk/
>>799796
#278 #799793
>>799784
Да куда хочешь, главное после подключения jquery
sage #279 #799796
>>799788
Спасибо, выглядит годно, попробую взть у них один впс для тестов.
А про хетзнер ничего плохого не могу сказать за несколько лет использования, не было проблем с ними.
А вот когда на всяких русских хостингах я "лечу сайты от вирусов" то там охуеваю с того что за те же деньги или большие оно работает крайне хуево.
>>799797>>799815
#280 #799797
>>799796
сажу убрать забыл
>>799801
#281 #799801
>>799797
Пихнул ниже апдейта в отдельный скрипт, не работет
>>799802
#282 #799802
>>799801
Ничего при клике не происходит.
>>799813
#283 #799813
>>799802
Ты правда не соображаешь, что вместо ожидания ответа от рандом ананаса давно мог намного быстрее разобраться сам в таких вещах, как "куда мне добавлять жс на страницу шоб работало" и "как правильно написать 10 строк базового jquery кода"?
>>799826
#284 #799815
>>799796
Советую полистать сайт, это очень популярное коммьюнити где всякие компании делают йоба-скидки типа таких что по ссылке, может найдешь что-то покруче даже.
Типа 4гига @ 4 ядра за 20 баксов в год, с кучей перделок.
#285 #799826
>>799813
Бля остальной код работает же как-то
(хуй его знает как правда)
>>799828
#286 #799828
>>799826
Это скрытый реквест помощи был, не спал хуй знает сколько, бекенд давным-давно готов и протестирован ( работает) и сегодня нужно выкатить всё.
>>799829
#287 #799829
>>799828
Кому нужно? Ты это кому-то за деньги делаешь, пидрила? Не понимая, как жс вообще подрубается к документу?
О х у е т ь.
>>799831
#288 #799831
>>799829
Нет жи, кто за деньги такой говнокод в фронте возьмет?
Тестовое на жаба девелопера, сказали что на фронт похуй, лишь бы работало.
>>799885>>799886
#289 #799885
>>799831
Просто то, что ты не можешь справиться с задачей, которую любой школьник сделает с гуглом за вечер, говорит о том, что ты от природы тупой. Хз как ты на джаве умудряешься писать
#290 #799886
>>799831
Жабоиндусам должно быть стыдно за тебя.
#291 #799893
https://jsfiddle.net/bloomber/3e3ftup8/1/

Как это понять?

function inBetween(a, b) {
return function(x) {
return ...
};
}


Как интерпретатор понимает что (x) относится именно к arr а не к чему то другому?
>>799896>>799905
#292 #799896
>>799893
Замыкания. Ты ж сам в функции filter, передаешь в цикле элементы массива
#293 #799905
>>799893
Функция, которая возвращает функцию. Помнится мне, тута месяца три назад из треда в тред гонялся парнишка, который не понимал, как устроен счетчик, скроенный подобным образом.
Суть заключается в очереди выполнения.
Обрати внимание, как передается inBetween в функцию filter.
inBetween вызывается с аргументами (3, 6) и, следовательно, выполняется, возвращая в filter не собственное тело, но дочернюю анонимную функцию function(x), причем не просто возвращая, а с контекстом. Именно поэтому анонимная функция сохраняет способность обращаться к аргументам материнской функции inBetween .
Если залезть поглубже, то в Chrome DevTools можно проследить весь жизненный цикл функции, от вызова и начала ее выполнения до передачи контекста и возврата данных.
#294 #799913
>>799905
Многим тяжело суть замыканий понять
#295 #799922
>>799905
спасибо.
93 Кб, 1361x504
#296 #799938
>>799905

>в Chrome DevTools можно проследить весь жизненный цикл функции


Демистифицировать поведение такой функции можно установив брейкпоинт в возвращаемом значении дочерней функции. Хромой дебаггер заодно раскрывает и скоуп (область видимости), и контекст (сиречь Closure). Т.е. дочерняя анонимная функция имеет доступ к своим локальным объектам, объектам материнской функции и, конечно же, к глобальным (Window).
>>799974
#298 #799973
>>799966

>Callback, Promise или Generator!?


EventEmitter.
#299 #799974
>>799938
Не понимаю зачем вы поритесь в сраку этими замыканиями, если их можно оформить просто как вспомогательные функции. В чем тайный смысл разрывать себе и другим моск?
>>799977
#300 #799977
>>799974

>Не понимаю зачем вы поритесь в сраку этими замыканиями


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

Ну и по сути это реализация фактори паттерна.
#301 #800077
Как можно при помощи expressjs скачать с интернета страничку, чтобы её распарсить потом? И как её можно распарсить?
>>800088
20 Кб, 504x373
#302 #800085
Ребят, почему второй круг не появился, и как вообще сделать несколько кругов?
http://jsfiddle.net/Aapn8/7921/
>>800091>>800098
#303 #800088
>>800077

>Как можно при помощи expressjs скачать с интернета страничку


NEECKAQUE

>чтобы её распарсить потом? И как её можно распарсить?


Request + Cheerio
#304 #800091
>>800085

>Ребят, почему второй круг не появился


Тащем-та, он и появился.

>и как вообще сделать несколько кругов?


Очеидно же, задать разные координаты для отрисовки, не?
>>800093>>800098
#305 #800093
>>800091
Он невидимый.
Как? Напиши код.
>>800096
#306 #800096
>>800093
var drawCircle = function(color, lineWidth, percent, x, y)

...

ctx.arc(x, y, radius, 0, Math.PI 2 percent, false);
#307 #800098
>>800085
http://jsfiddle.net/xxxwww/m1dhc8w5/

>>800091
Ты даже страничку не открывал, что ли?
>>800099>>800109
#308 #800099
>>800098
Спасибо, дружище. А то одни дауны повылазили.
#309 #800109
>>800098
Ты сделал так, что это все работает, только если указать эти id:
drawGraph({id: 'graph1', circleColor: 'green'});
drawGraph({id: 'graph2', circleColor: 'green'});
drawGraph({id: 'graph3', circleColor: 'green'});

Но у меня эти id динамические. К айдишнику graph подставляется число автоматом. Можно ли обойти это, и что бы скрипт сам брал айдишники, а не я их прописывал в скрипте?
>>800112
#310 #800112
>>800109
Можно. Если все эти дивы будут завраплены, например, в див, то просто пройдись по всем дочерним элементам.
>>800115
#311 #800115
>>800112
Ну заверну я их, как мне по ним пройтись?
Я не шарю в ЖС.
>>800120>>800121
#312 #800120
>>800115
var wrap = document.getElementById('wrap');
var a = Array.prototype.slice.call(wrap.children);
for (var i in a)
drawGraph({id: a.id, circleColor: 'red'});
#314 #800124
>>800121
Что-то они не отображаются вообще.
И на моем сайте они не могут быть все завернуты в один див.
>>800131>>800139
#315 #800128
>>800121
А нет, это только в мозиле не работает.
>>800134
#316 #800131
>>800124

>Что-то они не отображаются вообще.


Все работает.

>И на моем сайте они не могут быть все завернуты в один див.


Dom traversal. Если ищешь по ид, а не как показали тебе с классом, то
document.querySelectorAll('[id^=graph]')
>>800139>>800155
#317 #800134
>>800128
Попробуй такой перебор в фф, должен работать
http://jsfiddle.net/xxxwww/m1dhc8w5/2/
>>800155
#318 #800139
>>800131
>>800124

> document.querySelectorAll('[id^=graph]')


http://jsfiddle.net/xxxwww/m1dhc8w5/3/
Уже можно в либу оформлять, лел
>>800155
#319 #800155
>>800131
>>800134
>>800139
Эх, все не то, почаны. Ладно. Забейте.
>>800159
#320 #800159
>>800155
Что не то? Графики будут отрисовываться на всей странице, на всех элементах с классом 'chart'
>>800165>>800167
#321 #800165
>>800159
Ну давай разберем.

1. Это работает:
<div id="graphWrapper">
<div class="chart" data-percent="88"></div>
</div>

<div id="graphWrapper">
<div class="chart" data-percent="100"></div>
</div>
Мне так и нужно, окей.

2. Вместо этого
drawCircle('#efefef', options.lineWidth, 100 / 100);
drawCircle(opts.circleColor, options.lineWidth, options.percent / 100);
Мне нужно это, например:
drawCircle('#efefef', options.lineWidth, 100 / 100);
drawCircle('red', options.lineWidth, options.percent / 100);
Что бы задать цвет всем кругам сразу. Один цвет для всех.

3. Если удалить:
drawGraph({id: e.id, circleColor: 'green'});
То все ломается, а оно мне не нужно.

4. Обязательно юзать две функции, или что это?
let drawMultipleGraphByWrapper = (wrapperId) => {
let nodes = document.getElementById(wrapperId).childNodes;
for (let i in nodes) {
let e = nodes;
if(e.className == 'chart') {
e.id = 'chart-'+i;
drawGraph({id: e.id, circleColor: 'green'});
}
}
}

let drawMultipleGraphBySelector = (selector) => {
let nodes = document.querySelectorAll(selector);
for (let i in nodes) {
let e = nodes;
if(e.className == 'chart') {
e.id = 'chart-'+i;
drawGraph({id: e.id, circleColor: 'green'});
}
}
}

По-моему можно только с первой работать.
#321 #800165
>>800159
Ну давай разберем.

1. Это работает:
<div id="graphWrapper">
<div class="chart" data-percent="88"></div>
</div>

<div id="graphWrapper">
<div class="chart" data-percent="100"></div>
</div>
Мне так и нужно, окей.

2. Вместо этого
drawCircle('#efefef', options.lineWidth, 100 / 100);
drawCircle(opts.circleColor, options.lineWidth, options.percent / 100);
Мне нужно это, например:
drawCircle('#efefef', options.lineWidth, 100 / 100);
drawCircle('red', options.lineWidth, options.percent / 100);
Что бы задать цвет всем кругам сразу. Один цвет для всех.

3. Если удалить:
drawGraph({id: e.id, circleColor: 'green'});
То все ломается, а оно мне не нужно.

4. Обязательно юзать две функции, или что это?
let drawMultipleGraphByWrapper = (wrapperId) => {
let nodes = document.getElementById(wrapperId).childNodes;
for (let i in nodes) {
let e = nodes;
if(e.className == 'chart') {
e.id = 'chart-'+i;
drawGraph({id: e.id, circleColor: 'green'});
}
}
}

let drawMultipleGraphBySelector = (selector) => {
let nodes = document.querySelectorAll(selector);
for (let i in nodes) {
let e = nodes;
if(e.className == 'chart') {
e.id = 'chart-'+i;
drawGraph({id: e.id, circleColor: 'green'});
}
}
}

По-моему можно только с первой работать.
>>800170>>800177
#322 #800167
>>800159
Ты не со стэковерфлоу, кстати, лол?
>>800177
#323 #800170
>>800165
Ну давай разберем.

1. Это работает:
<div id="graphWrapper">
<div class="chart" data-percent="88"></div>
</div>

<div id="graphWrapper">
<div class="chart" data-percent="100"></div>
</div>
Мне так и нужно, окей.

--

У тебя невалидная разметка. Ты в курсе, что ид должен быть уникальным? Да и врапать нужно все чарты, а не каждый по отдельности оборачивать.
>>800171
#324 #800171
>>800170
Ну значит мне этот код не подходит.
>>800177
#325 #800177
>>800171
>>800165

> 1. Это работает


Нельзя иметь два одинаковых id, это противоречит конвенциям. id - ИДЕНТИФИКАТОР, он должен быть один. В твоем случае нужно использовать классы, у тебя уже есть класс chart, по нему и можно рисовать

> 2. Вместо этого


> 3. Если удалить:


Ты, судя по всему, вообще в жс не шаришь
Если тебе нужно просто рисовать графики по определенному классу, то вот:
http://jsfiddle.net/xxxwww/m1dhc8w5/5/
Удалил всё "лишнее"

> 4. Обязательно юзать две функции, или что это?


Первая рисует графики во врапе, вторая по селектору (по классу, по id, по любому атрибуту)

>>800167
Лол, в смысле?
>>800180
#326 #800180
>>800177

>Нельзя иметь два одинаковых id, это противоречит конвенциям. id - ИДЕНТИФИКАТОР, он должен быть один. В твоем случае нужно использовать классы, у тебя уже есть класс chart, по нему и можно рисовать



Мне структура HTML не позволяет сделать так, как делаете вы.

>Лол, в смысле?


Я там задавал такой же вопрос, и мне там один ответил, чтоб я тоже юзал document.querySelectorAll
>>800184
#327 #800184
>>800180

> Мне структура HTML не позволяет сделать так, как делаете вы.


Какая структура? Она тут никак не влияет, у тебя идет поиск .chart по всей странице. У тебя может быть хоть десятиуровневая вложенность, может её вообще не быть, всё равно будет работать
>>800189
#328 #800189
>>800184

>Она тут никак не влияет


Вот почему ты сразу не сказал?
Спасибо большое, лучей добра и позитива. Все работает. Я счастлив.
#329 #800233
>>799692
Сосут матрасный. Что сказать-то хотел?
>>800243
53 Кб, 713x501
#330 #800243
>>800233
Что это уже 20% рынка хостинга
>>800272
#331 #800269
>>799628
Неужели есть долбо>бы которые реально пользуются такими бесплатными хостингами? Блин, 2016 год на дворе ведь уже.
>>800282
#332 #800272
>>800243

>Enterprise


Ага. Только при чём тут интернет-магазинчики, бложики, музло- и софтопомойки, информационные сайты фирм и всякое такое прочее? Нода и жирные JS-фреймворки позиционируются как замена технологиям разработки десктопных и мобильных приложений и RIA. А стек HTML+CSS+JS+PHP+MySQL как жил, так и живёт. Джанга, рельсы, спринг, аспнет его не вытеснили и не убили, почему вдруг нода должна убить?
>>800292
#333 #800282
>>800269
Не обязательно бесплатными, на бесплатный влезет максимум личный сайтик, статика или динамика с полутора посетителями в час. А бесплатно и Openshift/Heroku есть, так и что? И учти ж ещё, что PaaS и тем более VPS сложно админить, нужно постоянно держать для этого человека или срочно искать фрилансеров неизвестного уровня жопорукости, а PHP-сайтик по FTP залить и дамп базы в PMA закинуть любая макака осилит.
#334 #800292
>>800272
А кто говорит, что нода убьет этот стек? Этот стек невозможно убить, не предоставив полноценной замены пыхе, которая при отсутствии трафика севрер не нагружает вообще
>>800504>>800920
#335 #800362
аноны, сколько в среднем стоит готовый проект наподобии cscard.ru?
>>800366>>800372
#336 #800366
>>800362
Лол!
>>800369
#337 #800369
#338 #800372
>>800362
В сети валяется скрипт интернет-магазина аккаунтов, думаю какой-нибудь студентик за 10-15к перепили тебе его в магазин ключей.
>>800385
#339 #800385
>>800372
Мне он не нужен, я спрашивал сколько стоит сама работа написать такого рода сайт с нуля
>>800387>>800388
#340 #800387
>>800385
ну бирём какой нить гавнаетский рейт 10$, работы та максимам на 2 недели, значет 80 часов * 10$ = 800 баксав.
#341 #800388
>>800385
Я сейчас пишу подобный движок, только для себя. Кому-то б я такой ни за какие деньги бы не делал.
Но это я, лучше в /б или /врк спроси, там тупые непривередливые студенты-нищеебы, которые за 5к сделают
>>800392
#342 #800392
>>800388
На ноде пишешь?
>>800398
#343 #800398
>>800392
Да, но это не принципиально, мне так просто удобнее
#344 #800504
>>800292

>полноценной замены пыхе, которая при отсутствии трафика севрер не нагружает вообще


Любой язык, на котором писал не жопорукий даун с бесконечными циклами.
>>800519
#345 #800519
>>800504
Ты что-то нихуя не понял. Для пистона, ноды, руби нужно постоянно держать рабочий инстанс, который грузит сервак. У пыхи инстанс рождается после получения запроса и умирает после ответа на него
>>800543
#346 #800543
>>800519
Но там надо постояно держать апач, нжинкс или другой вебсервер который тоже грузит сервак, чудес и магии не бывает, 80 порт должен кто-то напостоянку слушать.
Да и вообще о какой нагрузке на сервак речь если нет запросов и нода нихуя не делает просто ждет?
мимо
>>800551
#347 #800551
>>800543

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


Вебсервер может быть один на все сайты

> Да и вообще о какой нагрузке на сервак речь если нет запросов и нода нихуя не делает просто ждет?


Запусти голый экспресс и посмотри сколько он жрет
>>800572
107 Кб, 1038x706
#348 #800572
>>800551
Что конкретно он должен жрать, проц или память?
>>800600
20 Кб, 746x277
#349 #800600
>>800572
Память
У меня только каркас mvc из примеров репозитория экспресса ест 30 мб. Это только каркас.
Готовое приложение у меня в среднем ест 150-250 мб
Нода не конкурент пыхе для малопосещаемых сайтов, а пыха не конкурент ноде для хайлоада
>>800635
#350 #800629
Юзает ли еще кто-то гугл репозитории, насколько долго хватит бесплатного 1Гб места под среднестатистический проект?
>>800634
#351 #800634
>>800629
Тебе нехватает бесплатного бесконечного места на гитхабе?
>>800643
88 Кб, 1054x394
105 Кб, 1367x499
#352 #800635
>>800600
Ну там половина шаред либ.
Ну и для сравнения голая нода без нихуя занимает всего на 7мб меньше.
Ну а по поводу всяких сайтов с низкой посещаемостью, то я полностью согласен что нода там не подходит.
#353 #800643
>>800634
На гитхабе нужно платить за приватные репы, а гугл дает даром.
>>800650
#354 #800650
>>800643
А для чего тебе хостить приватные репы?
>>800656
#355 #800656
>>800650
Для команды очевидно. До сих пор использовался реп визуальной студии.

Гитхаб слишком социальный. Обитель форкинга и пиздинга.
>>800658
#356 #800658
>>800656
Когда и я был социоблядью, мне нравились все эти звездочки и друзяшки. Ровно до тех пор, как стал зарабатывать на своем коде. Тогда пришло осознание, что весь этот опен сорс просто утопия.
>>800668>>800670
#357 #800665
ищу себе адекватного наставника, чтобы можно было вопрошать, если будут какие-либо сложности
>>800668
#358 #800668
>>800658
Хочешь сказать, что не используешь опенсорсные либы в своем коде, на котором зарабатываешь, лол?

>>800665
В конфу заходи и спрашивай там, зачем тебе наставник? Ссылка в шапке
#359 #800670
>>800658
Я даже поясню для ньюфагов и некоторых заблудших душ.

Есть два типа программистов, зарабатывающих и работающих даром или за копейки.

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

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

Раньше, даже простой интеллектуальный труд ценился. Ты делал пинг понг и люди несли свои деньги, женщины предлагали интим, а власти мечтали нанять тебя в свои элитные структуры. Теперь ты собираешь крайзис из ассетов на юнити за неделю и тебя поливают говном. Спасибо, опен сорс.

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

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

Из-за тебя у нормальных ребят будет меньше предложений, из-за твоей "щедрости" средние зарплаты не поднимутся выше з/п какого-нибудь водителя, потому что бомбила берет деньги за свой труд, а ты нет.

Тебя обокрали? Ты обокрал нас, когда сделал наш код общественным достоянием.

Петух, сука, как же я ненавижу опенсорсников. Ссыти на них, гнобите и унижайте. Они не достойны места в этом мире.
>>800683
#360 #800683
>>800670
Пиздец ты шизик обоссаный, аж противно отвечать тебе.
Так переживаешь за свою нищенскую зарплату, с которой ничего не случится, потому что задач у программистов становится всё больше и интереснее, что готов по тысяче раз переписывать одно и тоже, а не заниматься полезным делом.

Алсо, вангую в тебе ньюфага-крудошлепа, который думает, что на он сейчас занимается полезным делом и мог бы получать гораздо больше, если бы не проклятые опенсорсники
>>800693
#361 #800693
>>800683
Типичный столлмановский синдром. Ожидал, что набросится несколько сектантов с мозгом пропитым безумными идеями о коммунизме, где все для всех и бисплатна!!1
>>800699
#362 #800699
>>800693
А ты заплатил хоть за одну либу, пидорас лицемерный?
>>800703
#363 #800700
Читаю я значит книгу Марейн Хавербек - "Выразительный JavaScript", дошел до заданий, первые два выполнил довольно быстро, как для меня, тугодума, минут за 40 https://ideone.com/vYf97y https://ideone.com/k0rVeH да стыд, еще и наверно много лишнего понаписал, но у меня вопрос не о том, ideone выдает ошибки хотя тот же код в книге (прям там можно кодик писать) работает.
Я понимаю что это все я вылечу просто установив ide апп, но все же, в чем проблема.
А хочу я сохранить свои говна из сентиментальных чувств, вдруг хорошо овладею JS, будет приятно посмотреть.
>>800709
#364 #800703
>>800699
Ты хоть понимаешь, что об этом и речь. Программисты недополучают денег, потому что их труд ничего не стоит.
>>800707
#365 #800707
>>800703
Если бы их труд ничего не стоил, они бы ничего не получали. Ты даже в логику не можешь?
#366 #800709
>>800700
Попробуй среду выполнения nodejs выбрать, а не javascript
>>800718
#367 #800710
Мы (программисты) могли быть богами этого мира, но из-за опен сорсников мы те, кем пренебрегают.

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

Но нет, мы не будем брать денег, отдадим им все даром. Ну и пиздец. Где тут логика?
#368 #800711
>>800710

>опенсосников

#369 #800713
>>800710
Тебе платят за готовый продукт, а не за либы, которые ты написал, шизик.
>>800717
#370 #800717
>>800713
Но я бы мог продавать либы компаниям, занятым разработкой готовых приложений, если бы не эти петухи.
>>800721>>800859
#371 #800718
>>800709
Благодарю, заработало https://ideone.com/7woTCD https://ideone.com/37VHoC просто я был не внимателен, как в целом код? Или просто на таких простых заданиях особо негде сильно обосраться?
>>800726>>800731
#372 #800721
>>800717
Тебе работы нехватает? Тысячи вакансий, работай — не хочу, хочу продавать либы
>>800727
#373 #800726
>>800718
Код хороший, но можно решить эти задания куда короче
Посмотри решения тех заданий, которые ты накодил, и охуей
https://github.com/marijnh/Eloquent-JavaScript/tree/master/code/solutions
#374 #800727
>>800721
Привел бы тебе убедительные возражения, но я стал больше ценить время и не хочу тратить его на распри с демагогом. Вряд ли ты сам веришь в ту позицию, которую пытаешься оправдать.
>>800730
#375 #800730
>>800727
Ты просто еблан. У тебя вообще нет четкой позиции, как и логики в ней
ДАВАЙТЕ НЕ ВЫКЛАДЫВАТЬ ЛИБЫ В ОПЕНСОРС И ДЕЛАТЬ ПРОЕКТ НЕ ЗА МЕСЯЦ И ПОЛУЧАТЬ 1000, А БУДЕМ ДЕЛАТЬ ЕГО ПЯТЬ МЕСЯЦЕВ И ПОЛУЧАТЬ 5000. ЕЕЕ ВОТ ЭТО ЗАЖИВЕМ ТАК ЗАЖИВЕМ!!
Ты понимаешь, что нихуя бы не изменилось, просто сильно тормозился прогресс?
>>800781
#376 #800731
>>800718
как это на компе выполнить? скачал Visual studio открыл вставил сделал файл тест.жс а открыть\скомпилировать в смд хз как
#377 #800737
>>800710

> Мы (программисты) могли быть богами этого мира, но из-за опен сорсников мы те, кем пренебрегают.


Но ведь это просто наемный труд, компании зарабатывают на труде программистов гораздо больше чем платят.
Это как хабрахабр, все пишут туда статьи/переводы, а на рекламе зарабатывают левые люди.
Или как фриланс биржи.
На программистах паразитирует куча всякой хуйни короче и единственный годный шанс избежать этого это свои стартапы.
А по поводу гитхаба, есть же битбакет, это тоже самое что гитхаб, но приватные репы там бесплатны.
>>800785
#378 #800781
>>800730
Все верно. Вот только этот прогресс произошел за наш счет. Мы его оплатили, своими жизнями, а могли бы в своем поместье жить.
>>800789
#379 #800785
>>800737
Сидели на бакете, но сейчас подумываем перейти на гугл клауд, там в две строки синхронизация настраивается, пока просто зеркала держим. Все нравится, но пугает, что повторится история с гугл кодом, гугл ридером и десятком других проектов убитых гуглом.
>>800795>>800796
#380 #800789
>>800781
В либы выносится код из проектов и публикуется. Фреймворки пишутся при поддержке компаний. Весь труд оплачен, хуй знает с чего ты решил, что кто-то пишет либы вместо работы.
#381 #800795
>>800785
А чем плох бакет то?
#382 #800796
>>800785
Гугл клауд коммерческий проект. Я не помню, чтоб у гугла умирали коммерческие проекты
#383 #800859
>>800717
Иди в жаву - поймёшь, насколько закрытые библиотеки и инструменты становятся кривым и убогим набором из костылей со временем.
#384 #800920
>>800292
Это заслуга CGI как такового, а не похапэ. Что мешает CGI-скрипты на жабоскрипте писать? Нода жирная — так другие интерпретаторы есть.
#385 #800982
Нужно ли при разработке на node js указывать "use strict"?
>>800983
#386 #800983
>>800982
Всегда.
#387 #800986
https://learn.javascript.ru/task/stringbuffer-with-clear
Можно ли решить эту задачу возвращая анонимную функцию вместо return buffer?
Точнее вопрос даже такой, можно ли добавить метод к функции изнутри этой функции?
>>800992>>801013
#388 #800992
>>800986
Тип такого?
function f() {
return {
del: function() {console.log('deleted')},
add: function() {console.log('added')}
}
}

Вызов такой же:
var someFunc = f();
f.del() // 'deleted'
>>800995>>800999
#389 #800995
>>800992

>var someFunc = f();


>f.del() // 'deleted'


someFunc.del() конечно же. селффикс
#390 #800999
>>800992
Так ты возвращаешь объект, а не функцию еще и называешь его someFunc :3
Мне надо чтоб работал такой вызов someFunc()
#391 #801013
>>800986
function f() {
var buffer = function() { console.log('self') };
buffer.add = function() { console.log('add') };
return buffer;
}
var buffer = f();
buffer();
buffer.add();
>>801019
#392 #801019
>>801013
Не, я думал есть способ сделать что-то вроде
return function () {} и внутри этой функции как-то указать что вот у нее будет такой метод.
Но видимо нет такого способа.
>>801036
#393 #801036
>>801019
Никак не получить доступ к содержимому внутри closure.
#394 #801038
Посоны, require или import и почему?
Сорян, за тупые вопросы.
>>801042
#395 #801042
>>801038
Import, так как это официальный стандарт, который скоро вытеснит остальные варианты.
#396 #801051
>>796115 (OP)
Всем здрасте.
Вопрос скорее не сколько в JS, сколько просто в логике скрипта.
Есть вот такая херня на сайте(вместо цветных блоков изображения) - http://codepen.io/anon/pen/akYogo

Вроде все работает, НО, когда сайт будет готов, не будет известно сколько изображений будет. Может 4, может 8. Нужно сделать код, который бы работал для любого кол-ва. Сделал массив, раздал каждому элементу пронумерованный айдишник, а че дальше делать не ебу. Помогите пожалуйста
>>801058
#397 #801058
>>801051
$('.img').hover(function(){
$('.img-full').hide();
$('#' + (this.id).slice(0, -3) + 'full').show();
})
>>801062
#398 #801062
>>801058
функция на событие не будет на всех работать
>>801066
#399 #801066
>>801062
Давай пример того что не работает, я не понял о чем ты.
>>801068
#400 #801068
>>801066
ну вот посмотри еще раз в кодепан - http://codepen.io/anon/pen/akYogo

там я костыльно показал, как это должно работать визуально,
проблема в том, что там я знаю что изображения 4, и сделал 4 функции для каждого из них, а в "полевых условиях" сколько будет изображений не будет известно, нужно сделать код, которому было бы похуй сколько их, он бы все равно работал для каждого
>>801070
#401 #801069
Я так понимаю на JS не имеет смысла возиться с выбором редактора. Кроме настройки шрифта/интферфейса/подсветки, что ещё нужно? Ничего.
Единственную прикольную штуку видел, это обработка через JsHint на ошибки.
>>801073>>801080
#402 #801070
>>801068
Ну и чем отличается функционал от твоего?
http://codepen.io/anon/pen/VjXwbb
>>801071
#403 #801071
>>801070
боже, ты гений, спасибо
#404 #801073
>>801069
Забыл ещё за снипеты. Это все умещается в обычном текстовом редакторе.
#405 #801080
>>801069
ну для какого то большого проекта с ангуларом, нодой, монго и т.д. лучше подойдет webstorm - самый топ
>>801151
#406 #801151
>>801080
Сколько там нынче вебшторм жрет памяти?
>>801156
#407 #801156
>>801151
В 16 раз меньше, чем есть на десктопе у полноценного человека.
>>801164
#408 #801164
>>801156
Понятно. Хорошая идешка, самый топ.
>>801169
#409 #801169
>>801164
На моем днищеноуте он лагает шопиздец. Самый смак - это фризы по две-три минуты, когда он начинает переиндексировать проект с кучей модулей. Ебанная ссанина. Вернулся на N++ и слава богам Египта.
>>801174
#410 #801174
>>801169
Использование ide предполагает, что ты работаешь с большими проектами и много зарабатываешь, соответственно имеешь нормальные рабочие инструменты. Если ты можешь заменить ide на npp и радоваться этому, то ide тебе и не нужна
>>801176
#411 #801176
>>801174
Расскажи про специфичные плюсы этой IDE, которыми ты постоянно пользуешься.

Как я понял, поэксплуатировав немного, вебшторм не может в извлечение методов из исходником для последующего автокомплита. Это так?
>>801186
#412 #801186
>>801176

> специфичные плюсы этой IDE, которыми ты постоянно пользуешься


Оче удобный рефакторинг
Интеграция с нодой для дебага. Брейкпоинты и инспектирование без выхода из ide
Проверка на опечатки в коде, сканируя весь проект
Подсказки по возможной оптимизации и структуре кода
Структура кода в виде дерева и удобный переход по ней
Шаблоны для файлов с автопроставлением различных переменных, вроде копирайтов/времени и тд
Построение списка задач из TODO в коде

> вебшторм не может в извлечение методов из исходником для последующего автокомплита


Может конечно, лол. Это одна из главных фишек, "умный" автокомплит

Единственная, наверное, проблема, что нельзя его просто так за несколько минут освоить, как редактор. Нужно почитать и разобраться, иначе он для ничем от редактора отличаться не будет, только ресурсов больше есть
>>801222
#413 #801222
>>801186

>без выхода из ide


Всё-то вам жирные комбайны надо, а как же юниксвей? Давайте сразу браузер в IDE засунем, чтоб прямо там отлаживать, а не удалённо, верстать мышкой и ваще.

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


Хороший редактор (не блокнот с подсветкой кода) тоже осваивается непросто.

>иначе он для ничем от редактора отличаться не будет


Изкоробочная подсказка по встроенным средствам языка и проверка синтаксиса на ходу — это уже немалое отличие. Кстати, эта самая проверка имеет негативное психическое воздействие, потому что ругаются, блджад, на недописанную строчку в процессе её написания. Нахуй так делать?
#414 #801240
Аноны, дайте годных источников для изучения AngularJS. Есть готовый API, нужно разработать интерфейс с формами, наполнением HTML данными пришедшими с сервера и тд. Hello world написал, после того что находил в интернетах сплошная каша
>>801363>>801395
#415 #801363
>>801240
ng-book и будешь сеньором-помидором ангуляр инженигр
#416 #801376
Посоветуйте видео-курсов, плис. Знаю только Линду, ITVDN и Специалист. Но это всё не то, без наглядных примеров "запилим йоба приложение в десять шагов вместе с нами"...
#417 #801395
>>801240
https://docs.angularjs.org/tutorial/step_00
тоже начал разбираться. Вот прошёл офф. туториал параллельно делая похожую хрень сам (минус тесты)
Думаю теперь сделать что-то, вроде как тестовой прилаги, хз пока что. Телефонный справочник пока запилил, без выебонов.
#418 #801511
Есть в ноде объект process у которого есть свойство stdin у которого, в свою очередь, есть метод read().
Вопрос: где можно подробно ознакомиться о нем и о других методах и свойствах stdin/stdout/stderr?
В документации к ноде о них ни слова.
>>801543>>801545
#419 #801543
>>801545
#420 #801544
graphQl че как вам, кто нить уже потестил в бою ?
>>801661
#422 #801546
Есть тут знатоки цсс-анимаций?
Есть див на всю ширину страницы, упакованный во флексбокс. При добавлении второго дива они поровну делят ширину.
Проблема: появление элемента происходит резко. Я же хочу, чтобы правый элемент плавно вылезал/расширялся, а исходный левый элемент так же плавно сжимался. Как это сделать без жс-анимаций?
>>801555
#423 #801555
>>801546
Спасибо, резиновая уточка.
Нужно добавить свойство transition: flex-grow 1000ms linear и выставить подходящий flex-grow.
#424 #801557
Хочу написать операционную систему на JS. Подскажите что почитать на эту тему.

Сразу поясню, что ось будет нуждаться в node.js сервере, очевидно подойдет минимальный линукс, способный на это.

Далее я напишу файловый менеджер, самые нужные программки на js, типа блокнота, калка и всякие проигрыватели с просмотрщиками просто форкнув и переделав под себя готовые решения.

Далее форкаю последний хромиум и моя ось готова.

Ее фишка - весь софт будет открытым, так как нужны будут исходники, то есть ты копируешь не бинарники с интернета, а именно код, архивированный конечно. Пакеты исходного кода и ресурсов, все в открытом виде.

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

Это будет встроенной фичей, моя реализация восстановления системы.

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

Как вам в целом идея.

Да, графическая оболочка и вообще все приложения системы будут поддерживать CSS3 и HTML5. Например вы пишите свою утилиту, вы сможете юзать привычные теги и собрать такой тип окна, какой хотите, используя готовые шаблоны из сети или вручную настраивая каждую кнопочку и шрифт.

Будут и системные шрифты, минимальный набор, но каждое приложение может использовать любые другие.

Такое вот дерьмо я мечтаю создать, хотя бы начать это дело, поскольку мне нравится писать на js и учитывая, что он развивается я вполне представляю, что на нем можно будет удобно писать системные приложения.
#425 #801560
>>801557
JS OS (ориентировочное название)
#426 #801561
>>801557
Уже придумали и сделали:
https://node-os.com/
>>801564
#427 #801564
>>801561
Похоже на наебалово. Не удивлюсь, если собирают деньги на кикстартере.
#428 #801569
>>802468
#429 #801636
Пацаны, тема такая. В проекте использую Bower, накачал себе кучу модулей им. Но один из модулей, который сейчас было бы в тему применить отсутствует в поиске Bower'a. Что лучше делать в таких случаях, качнуть npm'ом или Git'ом? Или как-то можно добавить в индексацию Bower?
>>801654
#430 #801654
>>801636
Зачем нужен bower? Есть единый npm, нет, хочу наставить кучу менеджеров.
>>802475
#431 #801661
>>801544
Годно, юзаем
#432 #801686
>>798642
А можно ли это реализовать через mysql и node.js?
правильно ли это будет?
>>801724
#433 #801724
>>801686

> А можно ли это реализовать через mysql и node.js?


Конечно

> правильно ли это будет?


Конечно нет
>>801746
#434 #801740
Допустим, у меня есть таблица Users, в ней пользователи. У меня есть 10 пользователей. При регистрации я добавляю одну запись в эту таблицу
Я решил добавить настройки для пользователей, теперь у меня есть таблица Settings. При регистрации я добавляю записи в две таблицы,в Users и Settings
Но в таблице Users у меня уже есть 10 пользователей, у которых нет запись в таблице Settings.

Как решить эту проблему?
>>801818
#435 #801746
>>801724
Как тогда делать? у меня уже голова кругом идёт от вашего веба
>>801747
#436 #801747
>>801746
Тебе данные как-то хранить эти нужно, чтобы несколько раз отрисовать? Или только один раз отрисовать кому-то и забыть?
>>801758
#437 #801758
>>801747
Эти данные - святыня святынь, их не то что хранить надо, их надо выбить каждому человеку на его еблище грешном.

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

Какие параметры будет выбирать пользователь -неизвестно, поэтому как я полагаю нужен пхп скрипт, который в зависимости от выбранных параметров сделает sql запрос, так?

Запрос выберет, что интересует конкретного пользователя вот сейчас и дальше это пойдёт к нему в бразуер магическими путями. которые мне неизвестны в силу не знания мат части.

js или кто? это пропарсит и построит графики, еблище пользователя увидит и охуееет, потом, там выборка данных из бд больше естественно не нужна, потмоу что потом либо пользователь закроет к херам сайт или сделает новый запрос на совсем другую выборку
>>801759>>801762
#438 #801759
>>801758
Как бы я это делал на C#, я бы запустил ms sql server, законектился с ним, сделал выборки, отрисовал бы их какой-нибудь бибилиотекой, матлабом или математикой.
>>801760>>801762
#439 #801760
>>801759
но это декстоп приложение, как сделал всё тоже самое из браузера?
#440 #801762
>>801759
>>801758
Такой же алгоритм и на жс. Ты серверную часть на пыхе сделать хочешь?
В общих чертах алгоритм такой

Сервер получает откуда-то xls ->
Парсит его на данные ->
Заносит данные в базу

Юзер заходит на страницу сайта ->
Выбирает параметры и нажимает кнопку, делая запрос на сервер ->
Сервер делает запрос к базе с нужными параметрами ->
Отправляет данные пользователю, где эти данные как-то отрисовываются

Алсо, если данные нормализированные, лучше взять mysql или postgres, а не nosql, как советовали перед этим
#441 #801771
>>796115 (OP)
TypeScript стоит учить?
>>801772
#442 #801772
>>801771
Учиться дописывать в конце тип данных через двоеточие?
#443 #801810
Почему socket.io имеет в несколько раз больше звезд на гитхабе чем sock.js если во всех статьях-сравнениях авторы пишут что sock.js работает быстрее и поддерживается авторами лучше? Что их них лучше взять для простенького вебсокет сервера не больше 500 одновременных соединений?
#444 #801818
>>801740

>Но в таблице Users у меня уже есть 10 пользователей, у которых нет запись в таблице Settings.



>Как решить эту проблему?



Проблемы никакой. Пройдись по базе с таблицей юзеров и настроек. Если в настройках нет записи с таким юзером - создай и запиши дефолтные настройки. Вот и все.
#445 #801917
Посогайте, js боги, с AngularJS.
<tr ng-repeat="p in people | orderBy:'age'">
<td>{{$index+1}}</td>
<td>{{p.name}}</td>
<td>{{p.age}}</td>

people - просто массив объектов.

Теперь, когда я добавляю новый элемент массива, используя push(), элемент появляется в массиве и отображается в таблице, но только в конец. orderBy:'age' на него не распространяется. Я думал нужно сделать что-то в духе refresh, но вроде нет. Искал, но запутался, растолкуйте, плз, почему новодобавленный элемент не сортируется.
>>802016>>802027
#446 #802016
>>801917
.unshift()
#447 #802027
>>801917
Есть инфа что ты просто суешь пушем новый объект с age другого типа.
>>802092
40 Кб, 649x491
#448 #802028
http://news.dartlang.org/2016/07/angulardart-is-going-all-dart.html

>We're happy to announce that we’re splitting the Angular 2 codebase into two flavors – a Dart version and a TypeScript/JavaScript version – and creating a dedicated AngularDart team.


>a dedicated AngularDart team

#449 #802029
>>802028
Лол, нахуя?
#450 #802030
>>802028
У них же большие планы на дарт, хотят его вроде свифта сделать у эппле
#451 #802040
>>802028
Теперь будут срачи не только angular2 vs reactjs, а еще angilular dart vs angular js
>>802047
#452 #802047
>>802040
Я бы спрыгивал с этого фейлтрейна
>>802106
#453 #802092
>>802027
Таки да, я лох. parseInt помог. Спасибо, гуру!
#454 #802106
>>802047
Как вы так живёте, я особо не в курсе мира JS, но вроде как только недавно трубили о том, что есть нормальный JS - это TypeScript. Angular2 на него перелез и теперь Angular2 никому не нужен.
>>802125>>802126
#455 #802125
>>802106
Он "не нужен" только здешним аутистам, которые потом его всё же будут учить с красной жопой. Как это было с первым ангуларом.
На западе про него трубят оче сильно.
Мимо-реактоблядь
#456 #802126
>>802106

>и теперь Angular2 никому не нужен


Не потому что на TS, а потому что overengineered piece of shit, Эйзинберг подтвердит.
А тайпскрипт хорош. Просто удовольствие писать на нём.
>>802130
#457 #802129
Объясните про "замыкания", нахуй оно вообще нужно есть ли примеры его использования?
>>802280
#458 #802130
>>802126

> а потому что overengineered piece of shit


Это называется архитектура и продуманное ядро. Чего нет, например, в реакте, и каждый тут пишет как ему в голову взбредет. Нет стандартов, есть десяток противоречащих друг другу договоренностей и каждый выбирает свою. Десятки версий модулей для вещей, которые по идее должны быть в ядре.
Нахуй это дерьмо, лучше overengineered, чем охуевать с больной фантазии коллег. Решил перекатиться на ангулар, когда он релизнется.
>>802139>>802140
#459 #802131
Почему переменные типа boorlean, string называются immutable? Они же легко изменяются присваиванием.
>>802137>>802141
#460 #802137
>>802131
Потому что ты не изменяешь текущее значение, а перезаписываешь на новое.
#461 #802139
>>802130
Ты наверное не видишь разницы между либой и фреймворком, поэтому охуеваешь.
>>802142
#462 #802140
>>802130
Эта архитектура пахнет тем же, что и синтаксис шаблонов.
#463 #802141
>>802131
Те, что не изменяются присваиванием, называют константными значениями.
#464 #802142
>>802139
Это не либав привычном понимании. Они просто разбили фреймворк но модули, но по отдельности эти модули никто не использует. Вроде и либа, но де-факто нет.
>>802144
#465 #802144
>>802142
Де-факто каждый может писать как ему в голову взбредет. Поэтому либа.
#466 #802257
Как заставить этот метод возвращать целиком html страничку? Он её получает, проверял через консоль. Даже беглый осмотр показывает, что это именно нужная страница.

https://jsfiddle.net/m7ts7mLm/
>>802269
#467 #802269
>>802257
Скорее всего проблема в том, что ты пытаешься вернуть response до того, как асинхронно получишь chunk. Делай колбэк или наворачивай промизы.
>>802273>>802276
#468 #802273
>>802269
Действительно. Синхронно записал всё в файл - содержимое получено.
55 Кб, 282x341
#469 #802275
Ребята, я в общем плохо разбираюсь в низкоуровневых аспектах, но я вот тут про тайпскрипт почитал и я что-то не понял в чем, собственно, соль. Вот пишу я скажем на стронгли тайпед языке, например, Go, весь код обязан быть строго типизирован, тобишь я не могу взять аррей и набрать всего подряд, потом разобрать, пересобрать как мне захочется. Не могу объявить переменную, сказать, например, что let something. И потом по ситуации решить, чем something станет.
В замен я получаю высокую скорость рантайма. Что я получаю лишая себя этих возможностей в джсе? Это же просто суперсет, интерпритатор никуда не делся и по прежнему будет весь LHS интерпритировать, и никакого буста по скорости нет и быть не может.
Зачем вся эта телега нужна? Может быть я просто не шарю что-то, проясните пожалуйста.
#470 #802276
>>802269
Ах да, и спасибо большое.
#471 #802279
>>802275
Если ты не видишь в этом плюсов - не используй.
Это нужно для больших проектов, где много разработчиков. Там динамическая типизация становится проблемой, а не преимуществом.
>>802350
#472 #802280
>>802129

>есть ли примеры его использования?



Есть.
#473 #802282
>>802275

>Что я получаю лишая себя этих возможностей в джсе?


Возможность писать большие проекты и тырпрайз всякий с кучкой таких же как ты обезьянок. Не допускать типа скатывания кода в хаос и при этом не нанимать шибко умных паграмастов, чтобы больше одного доширака в неделю не требовали.
>>802350
#474 #802283
>>802275
Да все как обычно с любыми ограничениями, которые разработчик сам на себя навешивает - самоконтроль и\или организация кода.
>>802350
#475 #802293
Недавно вкатился в js. Хочу попробовать написать простенький скрипт на greasemonkey.
Подскажите возможно ли по аналогии с выбором файла сделать выбор папки. Может подскажите какие-нибудь примеры, ну или хотя бы укажите в какую сторону гуглить.
>>802489
#476 #802331
>>802275
V8 работает примерно так:
Если у тебя переменная инициализирована одним типом, а потом в нее запихнуты данные другого, движок ее реинициализирует - на это уходит время и память. Таким образом, статическая типизация позволяет писать более быстрый и экономичный код.
>>802336
#477 #802333
Посоны, помогите выбрать фреймворк для пет-прожекта.
Требование одно: хорошо организованный и продуманный компонентный подход, крайне желательно - импортируемые кастомные элементы.

Поигрался с полимером - все нравится, но люди пишут, что нихуя не понятно - будет он дальше поддерживаться/развиваться, или нет.

Поглядываю на ангуляр2, оченно нравится тайпскрипт. Но, насколько я понял, там все markup-first (JS встраивается в маркап, а не наоборот), и пишут, что дебажить его адово.

В реакте нравится JSX (как раз-таки js-first, который мне импонирует), но до сих пор нет версии 1.0, и с каждым релизом он так меняется, что нуегонахуй. Есть подозрение, что долгий опенсорс на реакте со временем превратится в набор шизоидного кошмара.

Где я заблуждаюсь?
#478 #802336
>>802331
V8-то причем тут, TypeScript в JS транслируется.
>>802338>>802339
#479 #802338
>>802336
А js в чём выполняется, наркоман?
>>802341
#480 #802339
>>802336
Ну так вот и думай, в коде после тайпскрипта будет минимум переинициализируемых переменных, v8 должен вроде как быстрее работать, не дергать кучу лишний раз.
>>802343
#481 #802340
>>802333
Ангуляр2 тоже ещё не релизнулся, я когда делал проект на работе в апреле-мае, пережил 5 релизов, в которых умудряли синтаксис менять. Больше не обновляю, если багов нет, на какой версии начал, на такой и будет. Тоже самое с реактом можешь сделать, к тому же, на пет-проекте не похуй?
Попробуй Backbone.js ещё
#482 #802341
>>802338
А где в V8 статическая типизация, наркоман?
>>802346
#483 #802343
>>802339
Ну хз, в каждом классе будет свой полифил super и т.п.
62 Кб, 554x376
#484 #802346
>>802341
V8 - это движок, интерпретирующий JS. Он написан на C++, который статически типизирован.
>>802385
#486 #802348
>>802333
Это же пет-прожект, бери что нарвится и делай. Нравится js-first и тайпскрипт? Наверни реакта с тайпскриптом, никто не запрещает.
#487 #802350
>>802279
>>802282
>>802283

>>802347

>а теперь самый цимес яваскрипта - это функции, которые могут быть анонимными и переменными


Всплакнул.
>>802365
#488 #802356
>>802347
Смешной студент не может в замыкания, спешите видеть
#489 #802358
>>802347

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


>Добавлено: Пт ноя 21, 2014


Ебать.
>>802502
#490 #802365
>>802350
Как ты это соотнес, поехавший?
>>802371
#491 #802371
>>802365
Случайно, уважаемый. С телефона неудобно.
#492 #802372
Пишу локальную программу. Суть в том, что я буду заходить на локальную страницу, дописывать туда всякую хуиту, производить вычисления, сохранять состояние и выходить. Знаю html/css/js. Когда-то учил пыху. Вангую, что еще придется учить sql для того, что я хочу, да? Как быть?
>>802373>>802381
#493 #802373
>>802372
Есть nw.js для написания программ на js
#494 #802381
>>802372
Можешь ебануть все в localStorage.
>>802503
#495 #802385
>>802346
Ты ебан? Ещё раз спрашиваю, где в V8 реализована статическая типизация JS?
#496 #802388
>>802347

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


> для меня это лютая мука, хотя с 20 лет назад еще начал изучать программирование и так и не осилил


> я понимаю принципы ооп, но они там говорят про свои абстгакции в то время как я оперирую образами


Неосилятор, короче. Ума ноль, а выебнуться хочет.
>>802400
#497 #802400
>>802388
Да, и судя по всему он даже не слышал про ФП, раз так охуевает с функции-переменной. Застрял в 00-х и других туда тащит
>>802401>>802509
#498 #802401
>>802400
Никогда не понимал, с чего у них так шаблон рвет.
[CODE]
function foo () {}
foo()
[/CODE]
[CODE]
const foo = function () {}
foo()
[/CODE]
Разнице же никакой. Что там, что там foo будет константой, которую можно вызвать.
>>802402
#499 #802402
>>802401
Ох, давно макака code сломала?
#500 #802442
>>802347
Откуда такие лезут. Вот ещё одного уносите: https://habrahabr.ru/post/215777/

>14 марта 2014 в 01:01


Что в том году за сборки были?
>>802647
21 Кб, 366x395
#501 #802450
Анон, помоги с этой хуйней
return str.toLowerCase().replace(/( |^)[a-z]/g, (L) => L.toUpperCase());
А именно что за (L) => L.toUpperCase() ?
>>802453>>802462
#502 #802453
>>802450
Я метод апперкейс знаю, я про букву л, что за присвоение такое или что это?
>>802462
#503 #802462
>>802450
>>802453

ES6 Ultra Masterpiece Special Edition стрелочная функция, в данном случае выполняющая роль колбека.
Иначе можно записать (с некоторыми (this) ограничениями):
function(L) { return L.toUpperCase(); }
>>802478
#504 #802468
>>801569
Блджад, из всех виденных мною поделий, начиная ещё с древней eyeOS, это первый десктоп на вебне, который реально передаёт десктоп-экспириенс, не тупит и даже выглядит пригодным для хомячков. Таки свершилось. Спасибо, анон.
#505 #802475
>>801654
npm кучу ненужных файлов тащит, ибо пакеты в нём содержат билды и для ноды, и для браузера. Не очень весело, когда директория с небольшой приложухой весит несколько десятков мегабайт из-за зависимостей.
#506 #802478
>>802462
Спасибо, анон, сейчас прочту ES6. А почему именно буква L?
>>802480>>802511
#507 #802480
>>802478
Просто название. Скорее всего сокращение от Letter
#508 #802489
>>802293
Тут всё упирается в файловый диалог. Если он может передать выбранную папку как пачку файлов в ней, то можно. А вообще, у браузерного жабоскрипта нет доступа к файловой системе: если диалог отдаст имя папки, вытащить её содержимое не получится. Через внутренние API Firefox прочитать можно (не помню, можно ли получить к ним доступ через GreaseMonkey, но своим аддоном точно). Только учти, что мозилла из-за решетяности, трудноотлаживаемости и неинкапсулированности собирается через пару лет выпилить всё это дело нахрен в пользу убогого хромовского WebExtensions с парой плюшек, так что готовься перекатываться на SeaMonkey/Pale Moon/etc.
#509 #802490
>>802333

>Но, насколько я понял, там все markup-first (JS встраивается в маркап, а не наоборот)


Да вроде не. Можешь захуячить в компонент темплейт, прям как в реакте. А ангуляровские расширения для разметки — это не жабоскрипт, обычно просто специфичная ангуляровская декларативная хуита, от JSX принципиальных отличий не вижу, там тоже вкрячиваешь в тег хендлеры и можешь туда жабоскрипта напихать, а можешь в именованные методы всё вынести и будет чистенько.
#510 #802502
>>802358
А в 2016 жабоскрипты ещё больше жрут.
#511 #802503
>>802381
Как раз то, что нужно. Спасибо.
#512 #802509
>>802400
ФП тоже не обязательно перемешивает код (функции) и данные (переменные). Просто в жабоскрипте хэшмапы на хэшмапах и хэшмапами погоняют. И любой нормальный системщик будет недоумевать, на хрена плодить на ровном месте столько указателей. И тем более на хрена автоматом преобразовывать объект в число и делать прочие финты ушами, сокращающие и упрощающие код, но творящие полный пиздец под капотом, когда можно было бы намного эффективнее. Скриптовый язык, что с него взять.
#513 #802511
>>802478
Потому что какой-то мудель не умеет называть переменные.
#514 #802527
Аноний, помоги, пожалуйста эту хуйню заработать синхронно. Я туда и таймаут ставил - не помогает, и sync цеплял - безрезультатно.

https://jsfiddle.net/2zwyravy/
>>802531>>802532
1 Кб, 105x52
#515 #802531
>>802527
Пиздец, ну что за говнокод.
#518 #802647
>>802442
PerlPower клевый
309 Кб, 945x945
#519 #809447
Решил пройти курс на codeschool, так там после 1 лвла всё платно что ли?
#520 #814743
Почему в jsbin и прочих похожих ресурсов js код просто не пишется? Не происходит вообще ничего
>>815017
#521 #815017
>>814743
Страницу до конца прогружаешь? аддоны для параноиков стоят? и почему ты в мёртвый тред пишешь?
22 Кб, 548x101
#522 #816124
Есть тут те, кто разбирается в nw.js? Из-за того, что на пикрил, прогами на этой платформе нельзя открывать файлы по дабл клику. По крайней мере, у меня такое впечатление сложилось. Если есть какой-то обходной путь, то за ним я, собственно, сюда и пришел.
13 Кб, 384x329
#523 #816508

>Пикрил


Почему у меня от этой хуйни все ядра на 100% загружены?

Причём любая замена на setInterval или onhashchange - вообще не меняют результат к лучшему.

Я подозреваю это как-то свзано конфликтом прямого доступа к cputime и что строгая привязка к date или time и их синхронизация может облегчить, но как реализовать я без понятия.

Помоги анон, а? Желательно готовое решение на основе моей пикчи.
#524 #817189
>>796115 (OP)
Сап! Пните в нужное русло или на сурс готового решения для раздербанить, чтобы научиться в проксинг из расширения для Хрома. В двух словах суть задачи:
Разобраться в механизме работы такого расширения, которое по определенным спискам заворачивает траффик через прокси в зависимости от домена. В списках перечень доменов и проксей, и правил, хотя этот велосипед я и сам придумаю. Хочу плюшку, чтобы серфить все, как обычно из под своего IP, а на некоторые ресурсы шляться через прокси, и в идеале подправлять http-заголовки запросов на лету по неким правилам.
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 11 августа 2016 года.

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

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