Этого треда уже нет.
Это копия, сохраненная 15 марта 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
53 Кб, 1280x720
18 Кб, 750x270
JavaScript #30 #650246 В конец треда | Веб
Ссылка на прошлый тред: >>640565 (OP)

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

НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД! Воспользуйтесь https://jsbin.com/ для браузерного кода и https://ideone.com/ для серверного кода.

Краткий FAQ:
1. Что это за язык такой? - Мультипарадигменный язык, изначально создавался для использования в браузерах как язык сценариев для придания интерактивности веб-страницам, однако в процессе своего развития преодолел этот этап и сейчас может использоваться для любых целей ввиду своей неограниченной гибкости и удивительно удобного синтаксиса. Сочетает в себе особенности объектно-ориентированного, функционального, событийно-ориентированного и императивного программирования.

2. Какие возможные направления для разработки существуют? - Фронт-энд (Vanilla, jQuery, Angular, Backbone, React, Meteor), бэк-энд (Node.js, Express, Sails), геймдев (Phaser, Cocos, Pixi, Unity), 3D графика (Three.js, Babylon.js), мобильная разработка (NativeScript, Phonegap, Ionic), десктопная разработка (NW.js, WinJS).

3. Можно выучить только jQuery и всё писать на нём? - Не стоит, лучше начать писать на jQuery, когда освоишь ванильный JS, дабы не испортить себе восприятие языка, и в будущем не испытывать трудностей с изучением сложных фреймворков.

4. Существуют ли стайл-гайды для JavaScript? - Да. Стайл-гайд для Node.js: https://github.com/felixge/node-style-guide , стайл-гайд для Front-end: http://www.w3schools.com/js/js_conventions.asp

5. Какие новые возможности добавил ES6? - Вот здесь можно почитать на русском: https://learn.javascript.ru/es-modern

6. Зачем нужны CoffeeScript и TypeScript? - Это особые варанты JS для любителей других языков. CoffeeScript подходит для любителей Ruby и Python, TypeScript - для сторонников строготипизированных языков. Если ты новичок, то учи оригинал и не забивай себе голову этим.

7. Ну ладно, с чего начать изучение то? - Дальше я приложу список материалов для изучения.

Чистый JS:
Книги: Дэвид Фленеган - "JavaScript: Подробное руководство"

Дуглас Крокфорд "JavaScript: сильные стороны"

Стефанов С. - "JavaScript. Шаблоны"

Джон Резиг - "Секреты JavaScript ниндзя"

Николас Закас - "JavaScript. Оптимизация производительности"

Node.js
М. Кантелон , М. Хартер - "Node.js в действии"

Кирилл Сухов - "Node.js. Путеводитель по технологии"

Дэвид Хэррон - Node.js. Разработка серверных веб-приложений

Front-end
Эдди Османи - "Разработка Backbone.js приложений"

Эрл Каслдайн, Крэйг Шарки - "Изучаем JQuery"

Читать онлайн

Dr. Axel Rauschmayer - "Speaking JavaScript: An In-Depth Guide for Programmers" - Одна из лучших книг по JS. Пока только на английском. http://speakingjs.com/

Marijn Haverbeke - "Eloquent Javascript" - Вводная книга по JavaScript и программирование в целом. Перевод на хабре: http://habrahabr.ru/post/240219/ На английском :http://eloquentjavascript.net/

http://ru.discovermeteor.com/ - Книга по Meteor.js - одному из самых лёгких и функциональных фреймворков. Полностью на русском.

И не забываем читать официальную документацию для каждого фреймворка.

Онлайн сообщества:
http://learn.javascript.ru/ - оно одно, единственное. Начинать учить язык советую отсюда, потом переходить уже к книгам.

http://www.jstherightway.org/ - Огромный гайд составленный буржуями. Есть книги, статьи и всё-всё-всё.

http://nodeguide.ru - Огромное количество переведённых статей по Node.js

http://node-center.ru - собрание информации по Node.js. Особенно интересен раздел со ссылками и книгами.

Бложики и новостные ленты:
http://dailyjs.com/ - DailyJS

http://weblog.bocoup.com/ - Bocoup Weblog

http://perfectionkills.com/ - Perfection Kills

http://www.reddit.com/r/javascript - subreddit на reddit.com

http://toddmotto.com/ - Todd Motto, Lead front-end @appsbroker. Developer Expert @google.

Онлайн курсы:
Как же можно учить язык, только читая книжки? Нужна практика, и только так изучаемое усваивается, не иначе.

CodeSchool - http://codeschool.com/ Отличный ресурс для изучения языка, очень много курсов по всем передовым технологиям.

CodeAcademy - http://www.codecademy.com/ Уже не такой сильный, но все еще интересный проект, так же маст хев для набивания скилла.

Udacity - https://www.udacity.com/course/ud015 Дает хорошее представление о замыканиях.

Выучил основы, написал свою пузырьковую сортировку и змейку? Не знаешь как двигаться дальше?

Почитай теперь это - https://shamansir.github.io/JavaScript-Garden/

СПИСОК ИНСТРУМЕНТОВ ДЛЯ РАЗЛИЧНЫХ ЦЕЛЕЙ

Front-end: jQuery, Angular, React, Backbone, Meteor.
Back-end: Node.js, Express, Sails, Socket.io.
Десктопные приложения: NW.js, WinJS.
Мобильные приложения: Cordova, NativeScript, Phonegap, Ionic.
GameDev: Phaser, Cocos, Pixi, Unity.
Тестирование: Mocha, Chai, Jasmin, Sinon.
Continuous Integration: Semaphore, Shippable.
#2 #650247
32 Кб, 495x270
#3 #650290
Эмм, вкатился?
>>650323
#4 #650323
>>650290
Не знаю?
>>651882
#5 #650348
Есть вопрос к бывалым ангуларобогам.
Сам я нуб ебаный - запилил на ангуларе тествое задание. Больше я его не трогал. Да и вообще недавно относительно в веб вкатился. Мало что знаю во фронтенде.
Тут мне внезапно прилетает предложение с конторы, которая иногда подгоняет халтурки (не основная работа):
- Можешь в AngularJS ?
- Почти не работал, но могу попробовать
- Отлично. Нам тут нужно перехуячить легасисайт на ангулар.
- Ок, давайте.

Я то думал, что меня кинут в команду фронтэндщиков, а оказалось, что нас двое - я на фронтенде и чувак на бэке. Дали нам репозиторий с сайтом, а там дохуя всего уже. Обосрался знатно, но подумал, что похуй. Постараюсь осилить.
Кароче курочить то, что уже есть, я не стал. А запилил свой ламповый репозиторий, в котором с нуля ебашу сайт (изучая фронтэнд, хотя сроки жмут), юзая готовые стили, ресурсы и верстку. Проблема еще в том, что сайт на пыхе, которую я не осилил поднять. В своем репозитории поднял сайт на iis, хуярю из VS.
Из этого вытекает проблема, что я ебашу в своем репозитории, потом перекидываю целиком папку в их репозиторий. Все правильно делаю? Или есть более грамотные способы такой работы?
#6 #650371
>>650348
А зачем им на ангуляр надо перенести сайт? Я так, любопытствую.
Мимо-не-люблю-ангуляр
>>650381
#7 #650381
>>650371
А что ещё есть среди MVC-фреймворков, которые не загнутся в течении хотя бы нескольких лет, и у которых есть большое сообщество и модульная база?
>>650402>>650415
#8 #650383
>>650348

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


Нахуя в таком случае вообще репозиторий тебе? Нужно мёржить, а не просто папку кидать
>>650427
162 Кб, 765x1024
#9 #650400
>>650348
Всегда проигрываю с этих модных сайтов, где фронт на ангуларе/реакте, а бэк на пыхе. Выглядит как пикрилейтед.
>>650905
#10 #650402
>>650381
Очевидный реакт.
>>650410>>664108
#11 #650410
>>650402
Полностью сосет у второго ангуляра и пропадет так же внезапно, как и появился.

Да и вообще меня вот такое говно до дрожи пугает, даже не говоря уже про эстетику такого подхода. Вы что, ебанутые? Как более-менее большой проект может быть написан в подобном стиле?
[CODE]
import React from 'react';

class NewsList extends React.Component {

getDataFromServer() {
return [
{id: 1, title: 'News item #1', snippet: 'Lorem ipsum dolor sit amet'},
{id: 2, title: 'News item #2', snippet: 'Lorem ipsum dolor sit amet'}
];
}

renderItem(item) {
return (
<article key={item.id}>
<h2>{item.title}</h2>
<p>{item.snippet}</p>
</article>
);
}

render() {
let items = this.getDataFromServer().map(this.renderItem);

return (
<div>{items}</div>
);
}
}

export default NewsList;
[/CODE]
#11 #650410
>>650402
Полностью сосет у второго ангуляра и пропадет так же внезапно, как и появился.

Да и вообще меня вот такое говно до дрожи пугает, даже не говоря уже про эстетику такого подхода. Вы что, ебанутые? Как более-менее большой проект может быть написан в подобном стиле?
[CODE]
import React from 'react';

class NewsList extends React.Component {

getDataFromServer() {
return [
{id: 1, title: 'News item #1', snippet: 'Lorem ipsum dolor sit amet'},
{id: 2, title: 'News item #2', snippet: 'Lorem ipsum dolor sit amet'}
];
}

renderItem(item) {
return (
<article key={item.id}>
<h2>{item.title}</h2>
<p>{item.snippet}</p>
</article>
);
}

render() {
let items = this.getDataFromServer().map(this.renderItem);

return (
<div>{items}</div>
);
}
}

export default NewsList;
[/CODE]
>>650420>>650433
#12 #650415
>>650381
А вопрос немного не о том. Зачем работающий сайт перепиливать на другую технологию, если он и до моды на всякие моделивьюхиконтроллеры работали? Что за сайт кстати? Инфо портал?
#13 #650420
>>650410
Лол. Эти кукареки со стороны ангуляра, который, признавши обосрамс первого, было решено полностью переписать.
#14 #650427
>>650383
Сайт на пыхе. Я привык ебошить на iis и мне так удобней. Создал солюшн в VS, в нем накидываю сайт. Потом после окончания таска, перекидываю все, что не относится к инфраструктуре дотнета и студии.
#15 #650433
>>650410
А нахуя ты мешаешь разметку и код? Ты что, ебанутый? Для кого импорт файлов сделали?

>пропадет так же внезапно, как и появился


Сомневаюсь.
>>650493>>650520
59 Кб, 431x604
#16 #650492
Всем доброго вечера! Прошу помощи.
Хочу состряпать расширение для хрома, но мне не хватает понимания/знания некоторых вещей. А именно:
1. Как правильно юзерскрипты должны хранить настройки/текстовую инфу? Чтобы читать/писать их можно было находясь в любом домене.
2. Возможен ли вообще доступ к ФС? Судя по поискам, вроде нет.
3. Возможно ли по событию, инициировать, как бы загрузку файла? То есть скрипт генерит файл, а потом по клику етц, браузер его загружает в папку загрузок.
4. Как организованы органы управления, которые видно всегда на странице? Как у куклы, например.
Естественно уже пытался гуглить, но даже искабельный запрос не получается сделать.
>>651032
26 Кб, 913x515
#17 #650493
>>650433

> Сомневаюсь


Не сомневайся
#18 #650500
>>650493
Алсо, второй ангуляр ещё даже не релизнулся, и в продакшене его нет
>>650510
#19 #650504
>>650493
Тащемта быстрый рост практически всегда ведёт к быстрому падению. Плавное повышение гораздо долгосрочнее. Посмотри на раби - был резкий скачок, все рекорды по популярности, а потом резкое падение и где он сейчас?
>>655584
#20 #650510
>>650500
>>650493
Ну вот когда релизнется, тогда и поговорим.
Там не так много нового, на самом деле, поэтому когда люди поймут, что нихуя принципиально не изменилось, и снова нужно учить всякую ненужную хуйню типо #const *ngFor и прочее говно, то и хайп пройдёт.
#21 #650520
>>650433
Тащемта это не разметка, а dsl для создания элементов vdom'a. Если это говно писать на Typescript или Scala, будет компайлтайм проверка валидности тегов и аттрибутов, чего в ангуларе не будет никогда.
#22 #650905
>>650400
Что тебе в пыхе не нравится?
Глобальная переменная внутри функции #23 #650906
Ниже приведен пример. Нужно вызвать переменную a в funArt, но вот проблема, она undefined. Знаю причину, но хотелось бы иметь возможность исправить подобное поведение.
https://jsbin.com/yesezeluwa/edit?html,js,output

HTML5
---------
<button type="button" onclick="funcArt()">

JS
-----------
function funcName () {
var a = "Sometimes text";
};

function funcArt () {
alert(a);
};
>>650907>>650914
#24 #650907
>>650906
Лел, так она глобавльная или внутри функции?
>>651142
#25 #650914
>>650906
var a;
function funcName () {
a = "Sometimes text";
};

function funcArt () {
alert(a);
};
#26 #650939
Господа, я снова выхожу на связь с вопросом о дизайне кода.
У меня есть приложение, в котором присутствуют условно два модуля. В соответствии с принципами проектирования, каждый модуль изолирован от другого и выполняет только одну задачу и ничего не возвращает, тащемта. И есть главный модуль, условно - app starter, который отвечает за выполнение в определенной последовательности этих двух модулей.
Так вот, нужно, чтобы 'app starter' получал состояние выполнения каждого из этих модулей и, по запросу, возвращал пользователю.
---
Будет ли корректно выглядеть такой код:
https://jsbin.com/tepizu/2/edit?js,console
В 'app starter' объявляется общий объект данных и передается в инициализаторы модулей. По мере выполнения набора инструкций каждый модуль пишет в переданную ссылку на объект статус.
Это грязный трюк, лол, или норма?
>>651209
#27 #651012
Аноны, я перекатился к вам из (а точнее, параллельно / дополнительно) пейтона. UI я там писал в киви, и процесс был для меня крайне приятен.
Целую неделю (!) разбираюсь с js.

Прочитал основы js, jquery и bootstrap. Написав пару аппов, пришел к пониманию, что я делаю что-то не так, ведь на js пишут все и всем (?) нравится, а я после пары строчек чувствую себя словно только что покопался в навозе.

Долго думал, пришел к двум выводам:
1) Код на js выглядит ужасающе, но я понимаю, что я только начал – может, проблема в этом. Смотрел на coffeescript и проч. – мило, но еще один слой над js, к которому нужно привыкнуть. Не знаю, стоит ли.
2) Структура приложения – точнее, её отсутствие. Также отчасти из-за отсутствия опыта. Погуглил; вероятно, мне нужен angular или аналоги. Просветите за аналоги (reactjs+flux, meteor, ember, backbone, angular2).
>>651020>>651098
#28 #651020
>>651012

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


>после пары строчек чувствую себя словно только что покопался в навозе



Что тебя заставило почувствовать такой контраст?
Просто интересно, за что каждый ренегат старается поносить JS, при этом, не озвучивая причины такого поведения.
>>651085
#29 #651032
>>650492
И тебе доброго утра!
1. В грисманки/темперманки юзерскриптах это делается с помощью GM_setValue/getValue, в экстеншенах что-то типо chrome.storage.sync.set/get(), но я настоящие расширения писал давно и только под лису, так что говорить могу только за обычные юзерскрипты.
2. Обычные юзерскрипты не умеют, для экстеншенов гугли "%browsername% extensions file system access".
3. По "javascript generate and download file" говорят вполне возможно, хотя на вид костыльно.
4. Хтмель скрипта вставляется прямо в хтмель страницы. Для "видно всегда" выставляется большой z-index и position: fixed/absolute. Еще вид поднастраивается для каждого отдельного сайта, т.к. часто возникнут конфликты, где сайт задаст общее css правило которое распространится на твои элементы или что подобное.
>>651043
#30 #651043
>>651032

>грисманки/темперманки юзерскриптах это делается с помощью GM_setValue/getValue


Я всегда настройки записывал в куки, так как не знал, каким образом применять настройки для всех страниц, которые будут открываться в последствии, спасибо.
А выставлять настройки как? GM_config спрашивает настройки каждый раз, когда я захожу на страницу, для которой работает юзерскрипт.
>>651048>>651051
#31 #651048
>>651043
Имею в виду выставлять настройки не в коде, а мышкой на странице. Я создавал с помощью menuitem дополнительные опции в контекстном меню, нажатие на которые изменяло настройки.
>>651051
#32 #651051
>>651043
Про GM_config без понятия, не пользовался.
>>651048
Мне стандартные средства не особо нравятся, я обычно настройки показывал внутри своих хтмлей. Но если у тебя их мало или скрипт почти не гуевый, то и они сгодятся.
#33 #651070
Забегайте в уютную конфочку в телеге:
https://telegram.me/joinchat/AFkjiQbZ-ih1sNDznEmoxQ
#34 #651085
>>651020
Анон, но ведь я описал это в целых двух пунктах, при этом в каждом указал, что по меньшей мере часть вины на мне. На js я пишу плохо, но мой русский вполне читаем. Так что имел смысл дочитать пост, анон, или не отвечать; впрочем, настрой возможных ответов мне уже ясен.
>>651113
#35 #651098
>>651012
JS влевый, не пизди. Пишу на питоне, js, крестах и еще штуках на 5 разной муйни. Кофе не трож, иначе так и не научишься. За архитектурой смотри todomvc на разный фреймворках (поновее).
#36 #651113
>>651085
Ты просишь порекомендовать тебе инструменты, но не поясняешь, для каких целей, не конкретизируешь критерии.

Если ты собрался пилить клиент-сайд с упором на UI, то тебе вполне хватит связки из любого CSS фреймворка и, скажем, RactiveJS для двустороннего биндинга данных и вида.
#37 #651142
>>650907
Внутри функции. Но хотелось использовать ее глобально
>>651163>>651165
#38 #651163
>>651142
Ты какой-то странный.
#39 #651165
>>651142
Ты же даже функцию определяющую эту переменную не вызвал, ёба! Явно делай window.a = 'text' или неявно без var, но это некрасиво.
#40 #651209
>>650939
Ивенты и колбэки попробуй
>>651225
#41 #651225
>>651209

>Ивенты и колбэки попробуй


Беда в том, что у меня эти два модуля написаны на промисах.
Или мешать промисы с колбэками это комильфо?
>>651229
#42 #651229
>>651225
Нет.
>>651249
#43 #651249
>>651229
Ну вот возьмем тогда ивенты. Они триггерятся у меня в модулях, к примеру, выполняя действия внутри промисов. С этим понятно. Но чтобы передать статус выполнения этих действий пользователю, необходимо точно так же передать на вход модуля что-то - будь то объект, массив etc. коллбэки мы отсекли

Использовать ссылку на объект при инициализации модулей совсем плохо, да?
Меня просто привлекло свойство объекта, позволяющего передавать ссылку на него. Следовательно, нет необходимости возвращать что-либо из функций и, соответственно, все функции-обладатели ссылки на объект шарят те же данные.
>>651265
#44 #651265
>>651249
Они слишком много так данных шарят. Может глобальный ивент диспатчер сделать и сабскрайб/паблиш у него. Ну или нет.
>>651291>>652268
#45 #651291
>>651265
Понял, анон, тебя.
Создать в модуле-стартере 'app-start' лиснер и передать его в дочерние модули.
В дочерних модулях привязать его к изменяемым данным.
А если управлятор через веб работает, то отдавать данные можно будет их по мере готовности после лонг полл реквеста.
Спасибо, анон!
#46 #651490
Антоши, дайте какой-нибудь гайд по реализации чата между двумя пользователями на ангуляре. Вообще не знаю как подступиться к задаче.
#47 #651503
Подскажите, как реализовать интерфейс игры морской бой на js?
Поле 10х10, на нем по клику размещаются корабли. ПКМ - корабль удаляется, ЛКМ - переворачивается.
Мне не готовый код, а хотя бы что изучить, на что обратить внимание.
>>651509>>655351
#48 #651509
>>651503
Двухмерный массив 10х10, хтмл отображает этот массив в человекопонятной форме.
>>651962
#49 #651530
пацаны, какой фраемворк на ноде взять, чтобы все было удобно? Типо django
>>651539>>651547
#50 #651539
>>651530
Нода уже не фреймворк?
>>651543>>651548
#51 #651543
>>651539
Конечно нет, собирать самому все модули для каждого пердежа, типо общение с базой это прошлый век
>>651549
#52 #651547
>>651530
Экспресс похож на джанго, хотя некоторые вещи типа URL роутера придется создать. Sails похож на рельсы.
>>651550>>651561
#53 #651548
>>651539
И никогда им не была. Нода - это программная платформа.
#54 #651549
>>651543

>типо общение с базой


Поставь ОРМ.
#55 #651550
>>651547
Вот экспресс прям совсем не зашел:( Чуть не помер
>>651557
#56 #651557
>>651550
Тогда тебе Sails - то что нужно.
>>651560>>651563
#57 #651560
>>651557
Спасибо!
#58 #651561
>>651547

>Экспресс похож на джанго


Охуенные истории ИТТ.
#59 #651563
>>651557
Удваиваю. После пыхи замалафился от него.
72 Кб, 800x400
#60 #651882
#61 #651937
Делаю обмен всех данных на сокетах вместо ajax, даже формы через сокеты отправляются. Какие подводные?
>>651956>>652175
#62 #651956
>>651937
Забудешь закрыть где нибудь сокет и сам себя задудосишь
>>651958
#63 #651958
>>651956
О чем ты? Сокет-соединение всегда открыто
#64 #651962
>>651509
Спасибо, гений
-"Как создать ААА mmorpg?"
-"Да просто, пишешь качественный движок, нормальные модельки, текстуры. Вот и все. Не забудь о пиаре"
>>652038>>655351
#65 #652038
>>651962
Вместо отрицания лучше спросил как удобнее отобразить массив на страницу.
#66 #652039
что скажите про курсы попова javascript
>>652045
#67 #652045
>>652039
Он там опять в цикле ажаксом данные получает?
#68 #652139
Рейт ми:
https://jsfiddle.net/hamx3yew/
шрифты говно
>>652143
#69 #652143
>>652139
Разве после результата вычисления по нажатию на любую другую цифру, результат не должен меняться на выбранную цифру?
>>652157
#70 #652147
Аноны, есть несколько вопросов про богоподобный Node.js.
1) Есть ли в ноде что-то схожее с тыртырпрайзом в Java? Пытаются ли её сделать стандартом для корпоративной разработки? Пока смог нагуглить только strongloop.
2) Покажите образцовый репозиторий и/или мануал как правильно разбивать структуру бекенда на файлы, пока что пишу всё в одном основном файле и это - пиздец.
3) Покажите годный мануал по таск раннерам (системы сборки?) типо gulp/grunt. Пока вообще не понимаю зачем и где их используют.
>>652154
#71 #652154
>>652147

> Есть ли в ноде что-то схожее с тыртырпрайзом в Java? Пытаются ли её сделать стандартом для корпоративной разработки? > Пока смог нагуглить только strongloop.


Да, это strongloop

> Покажите образцовый репозиторий и/или мануал как правильно разбивать структуру бекенда на файлы, пока что пишу всё в одном основном файле и это - пиздец.


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

> Покажите годный мануал по таск раннерам (системы сборки?) типо gulp/grunt.


Сейчас в тренде webback
Туториал: http://webpack.github.io/docs/tutorials/getting-started/
Скринкаст: https://www.youtube.com/playlist?list=PLDyvV36pndZHfBThhg4Z0822EEG9VGenn

> Пока вообще не понимаю зачем и где их используют.


Чтобы собирать кучу файлов, которые ты раскидал по папкам в один app.min.js
#72 #652155
>>652154

> webback


webpack
#73 #652157
#74 #652175
>>651937
Будет много юзеров - памяти не хватит на сокеты.
>>652185
#75 #652177
>>652154
Спасибо. Ссылки записал, вечером посмотрю что там. Пилю на express пока, да. Не знаю как точно описать задачу, да и проект уже дописан, я скорее собираю инфу на будущее. Какие преимущества у express? А есть пример разделения проекта на модули на гите где-нибудь?
>>652183>>652623
#76 #652183
>>652177
Если на express пишешь, можешь взять божественный http://sails.io/ , это надстройка на express'ом с кучей плюшек и архитектурой искаробки

> Какие преимущества у express?


Самый развивающийся фреймворк с огромный коммьюнити

> А есть пример разделения проекта на модули на гите где-нибудь?


Да любой express-проект на гитхабе
Вот, например https://github.com/madhums/node-express-mongoose-demo
>>652191>>652260
#77 #652185
>>652175
10к коннектов - это 100 мегабайт
#78 #652191
>>652183
От души.
#79 #652260
>>652183

>это надстройка на express'ом


Ты ебанутый? Это такой же фрейм, как экспресс, а никакая не надстройка.
>>652266
#80 #652266
>>652260

> Sails is built on Node.js, uses Express for handling HTTP requests...

#81 #652268
>>651265

>Может глобальный ивент диспатчер сделать и сабскрайб/паблиш у него. Ну или нет.


Нашел watch.js Надо будет попробовать заюзать его, похоже на то, что нужно.
Но если серьезно браться за дело, разумнее таки будет взяться за 'harmony proxy'.
#82 #652584
Какой фреимворк использовать для тестирования ноды с последующей очисткой базы? Встроенный в Django после себя сразу очищал базу, удаляя всё созданное во время тестирования. Есть такой на ноду или нужно всё вручную вычищать?
#83 #652590
Подскажите, что выбрать для решения подобной задачи. Есть файл, json, к примеру, в котором указаны пары ключ-значение. Будет одна HTML-страница, в которой один input. По мере того, как я ввожу что-то в input, выводятся результаты по ключам (из файла). Например, ввёл "a", отобразились все значения ключей, начинающихся на "a". Ввёл "ab", запрос уточнился, результатов стало меньше. Подозреваю, что такие задачи очень просты для реализации на каких-нибудь фреймворках. Куда копать?
>>652618>>652638
126 Кб, 780x597
#84 #652597
Други, подкиньте названия функций для работы с буфером обмена.
>>652624
#85 #652618
>>652590
Спасибо, что позволил погуглить за тебя.
http://jsfiddle.net/4wZ2L/8/
>>652643
#86 #652623
>>652177
в гит репо экспресса есть папка с примерами, пример с разделением на модули там тоже есть
#87 #652624
>>652627
117 Кб, 682x1024
#88 #652627
>>652624
Спасибо, брат!
#90 #652643
>>652638
>>652618
Не знал, что так просто гуглится, спасибо. Извиняюсь, за беспокойство по пустякам.
#91 #652647
Аноны, подксажите, как в стрикт моде получить имя функции изнутри функции?
arguments.callee.name не катит. Только вызывая другую функцию, которая обнаружит caller'а?
Нужно для логгирования, скопировать/вставить однотипный код во все функции...
>>652666
#92 #652654
>>650905
Ну типа в зекаче сказали, что пхп говно, а не 95% пхп-кодеров.
#93 #652666
>>650905
http://habrahabr.ru/post/142140/

>>652647
arguments.callee.toString().match(/function ([^\(]+)/)[1]
>>655335
#94 #652673
Аноны, скажите, подойдет ли JS для изучения в качестве первого языка? Одно НО, в идеале хотелось бы заниматься бэкенд-разработкой, а в интернетах пишут, что Node.js срань и вообще не очень перспективно.
>>652677
34 Кб, 549x326
#95 #652677
>>652673

> Аноны, скажите, подойдет ли JS для изучения в качестве первого языка?


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

> а в интернетах пишут, что Node.js срань и вообще не очень перспективно


Топуп кекус. Больше доверяй даунам в интернетах, пикрел
>>652691
#96 #652691
>>652677

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


Планирую учить язык / дрочить алгоритмы одновременно. Или это мертвый путь?

>пикрел


Проблема в том, что в моем миллионнике работа на JS связана только с фронтендом, в двух вакансиях с node.js требует ультрасиниоров с пятью годами опыта.
>>653428
#97 #652809
Антошки, помогите сделать функцию:
Делаю CRUD, есть REST сервер, web на ангуляре, задача в том что мне на сервер нужно послать json объект в котором содержится массив других объектов, но сейчас посылается не массив а только один объект.
Вот код: <script src="http://ideone.com/e.js/AmkaPo" type="text/javascript" ></script>
Там кусок хтмл и контроллер.
Суть в том что это раскрывающийся список и по клику на элементе списка он добавляет мне в свойства объекта ОДНОГО пользователя из списка, а мне надо чтобы по клику он мог добавлять их несколько в массив.
Я скопировал и контроллер на всякий случай, просто плохо разбираюсь в ангуляре, хз как это реализовать.
Помогите пожалуйста.
#98 #652840
>>652809
Может нужно добавить атрибут multiple в select?
>>653013
#99 #653013
>>652840
Ты уверен? У меня просто понимание html вообще практически нет, знаю только как таблички делать и классы ксс расставлять.
Ок, тогда такой вопрос: есть формочка, туда пользователь вводит всякие данные, из них собирается json и отправляется на мой сервер. Как мне сделать так чтобы в json незаметно от пользователя добавлялось поле? Ну то есть к формочке как здесь >>652809 еще добавлялось поле currentUser например?
Антошки, выручайте.
>>653017
#100 #653017
>>653013
Ну при отправке просто добавляешь это поле
json_data['user'] = currentUser
В чем проблема?
>>653037
#101 #653037
>>653017
Все, почти разобрался. У меня есть такой кусок кода в контроллере:
$scope.save = function () {
$scope.isSaving = true;
if ($scope.entry.id != null) {
Entry.update($scope.entry, onSaveSuccess, onSaveError);
} else {
Entry.save($scope.entry, onSaveSuccess, onSaveError);
}
};
Я туда просто вставлю $scope.entry.user = currentUser;
и теоретически должно заработать.
Спасибо, антош, извини за глупые вопросы, просто с js вообще никогда не сталкивался.
>>653047
76 Кб, 1228x805
166 Кб, 520x529
993 Кб, 2720x1652
293 Кб, 1246x1024
#102 #653041
>>650246 (OP)
Мы снова выходим на связь и готовы ответить на самые ваши глубокие вопросы по поводу политики и концепции вещей, не многие поймут и не многие подозревают о чем это - постараюсь рассказать подробно и просто - с пруфами

10 RANDOMIZE
20 DIM DNA[2000]
30 LENGTH=10
40 POSITION=1
50 M=RND
60 IF M<.5 THEN M=0 ELSE M=1
70 DNA[POSITION]=M
80 RESULT=0
90 FOR I=1 TO POSITION
100 IF DNA=0 THEN RESULT=RESULT-1 ELSE RESULT=RESULT+1
110 NEXT I
120 IF RESULT<0 OR RESULT>10 THEN GOTO 50
130 POSITION=POSITION+1
140 IF POSITION<LENGTH THEN GOTO 50
150 PRINT "CODE:"
160 FOR I=1 TO LENGTH
170 PRINT DNA" ";
180 NEXT I
>>653049
#103 #653047
>>653037
Ты тот днепрокун с прошлого треда?
>>653110>>653129
#104 #653049
>>653041
Очень сложно, до свидания
#105 #653110
>>653047
нет, я из днепра но в вашем треде отписываюсь в первый раз.
#106 #653129
>>653047
я тут
#107 #653133
>>652809

>crud rest web controller


Понабрался модных слов, но по ходу нихуя не знаешь.
#108 #653389
>>652809
Прежде чем на хипстер стих ангудярах такое реализовывать, научись на яваскрипте писать такое просто и лаконично.
#109 #653394
Пиздец, ананасы. Пишу на js 2 года, ебашил всякие формочки, калькуляторы и дерьмо на ангуляре.
Сейчас начал работать с графикой и охуел от того как много математики в расчетах анимации и геометрии фигур.

Учите математику, если не хотите всю жизнь api писать.
>>653407
#110 #653407
>>653394
А где может понадобиться работа с графикой?
>>653484
#111 #653428
>>652691

> Планирую учить язык / дрочить алгоритмы одновременно. Или это мертвый путь?


Дело в том, что жс событийно-ориентированный язык. Он выполняет инструкции ассинхронно. Новичка это может очень сильно путать
>>653826>>653867
12 Кб, 1235x120
#112 #653468
Послушал этого анона, и во время чтению кое-что понимаю, но не представляю, как буду что-то пытаться писать сам. Понимаю, что у меня начнет что-то получаться только, когда начну писать сам код, надеюсь я не ошибаюсь что начал свой путь в джс именно так?
#113 #653484
>>653407
Везде где пригождается canvas и webGL: Визуализация данных, графические редакторы, игори, еба анимация.

http://www.littleworkshop.fr/renaultespace/
>>653486
#116 #653549
Аноны, а реально ли сделать штуку на джаваскрипте наподобие шара, которому задаешь вопрос и он выдает вариант ответ "да/нет" ?
#117 #653565
#118 #653567
>>653549
Нет
#119 #653568
>>653549
Возможно
#120 #653604
>>653643
#121 #653643
>>653604
что-то не работает
>>653653
34 Кб, 400x266
#123 #653721
Как проверить доступность асинхронного хранилища? Для простоты на примере chrome.storage, пожалуйста. И нужно ли это делать? И если нужно то как? Я имею ввиду не только поддержку браузером, но и тест на запись-извлечение.
>>653728>>653731
#124 #653728
>>653721
Какого асинхронного хранилища? О чем ты вообще?
>>653794
#125 #653731
>>653721

>Как проверить доступность асинхронного хранилища


Так же, как и сингулярную объектную модель.
>>653735
#126 #653735
>>653731
Джва спинлока этому господину.
#127 #653764
Поцоны, не могли бы вы мне помочь? jquery + ajax
Пишу некий бар-информер для сайта, который бы показывал список друзей онлайн. Необходимо постоянно проходиться по ссылкам (в переменной links) некоей функцией (watcher), результат которой будет выводится собственно на экран. В настоящее время я сделал костыль(последовательное программирование) который запрещает асинхронный запрос, ждет окончания всех запросов, промежуточные данные сохраняет в переменную, и только потом выводит данные.
Браузер жутко тормозит, и из-за этого я даже не могу остановить таймер. Как я понял, нужно полностью перейти на асинхронный шаблон чтоб этого избежать. Но я нихуя не понимаю в этих коллбеках, деферерах.
Немогли бы вы мне указать на явные ошибки, и показать структуру программы к какой мне необходимо стремиться. (какие приемы использовать, как организовать промежуточное хранение, коллбек функции). Если не сложно ссылки на примеры как это реализовать, или хотябы ключевые слова, по которым я это могу загуглить. http://pastebin.com/zd7PDr4q
#128 #653781
>>653764
Колись, откуда спиздил код? Сделай async:true в аякс запросе (нафиг вообще фоллс то? Если хочешь, чтобы последовательно один за одним запросы шли, сделай рекурсивный вызов ( в get_callback сделай i++; ajax_get(links ;. Ну и проверки-проверочки ). Ещё у тебя results массив у тебя бесконечно увеличивается, через полчасика, если страничка активно обновляется , будет пиздос.
#129 #653788
>>653764

> Называет функции "get_", а они нихуя не возвращают.


Ты че?

Вообще у тебя с именами пизда.
>>653833
#130 #653793
>>653764
Алсо:

> пишет на жс


> снэйк_кейс

>>653800>>653833
#131 #653794
>>653728
Ну есть приложение (chrome extension), есть данные и есть хранилище. Нужно сохранять данные в хранилище (chrome.storage). Хранилище работает асинхронно. То есть если я делаю chome.storage.local.set({key: val}), то оно может только через пол часа запишет.

В api нашёл метод onChanged, но что-то засомневался оправданно ли делать столько телодвижений. И подумал может анон знает какую-нибудь good practice для этого случая?
>>653821
#132 #653800
>>653793
Вон в предыдущем треде один аж целую борду написал снек_кейсом и ничего.
>>653820
#133 #653820
>>653800
А что плохого в снеккейсе?
>>653823
#134 #653821
>>653794
Там же колбэк вторым параметром, ти чиво.
#135 #653823
>>653820
Не в этом дело. Сам по себе он гораздо лучше.
#136 #653826
>>653428

>Дело в том, что жс событийно-ориентированный язык. Он выполняет инструкции ассинхронно. Новичка это может очень сильно путать



То есть вероятность, что я начну биться головой о стену и страдать крайне высока? Ок, а во что тогда вкатиться, чтобы избежать таких проблем?
>>653832
#137 #653832
>>653826
Ща везде асинхронщина, корутины/горунтины/гринлеты/петли-событий. В жс она родная и более-менее понятная, так что не рыпайся.
>>653857
#138 #653833
>>653788
get callback - в смысле обрабатывает http get
>>653793
что такое снейк кейс?
>>653781
в начале watcher переменная обнуляется же.

>results = []


в каком месте у меня утечка памяти то?
>>653837
#139 #653837
>>653833

> get callback - в смысле обрабатывает http get


Вот и я о чем, еба.

> что такое снейк кейс?


snake_case, camelCase, PascalCase, kebab-case/lisp-case
#140 #653857
>>653832
Ну я по примерно понял по статьям, что это нынче тренд или что-то в этом духе.
А что за рельсы скажете? Так-то приятен глазу синтаксис руби и в целом по началу казалось, что я бы хотел вкатиться в, но потом глянул, что материалов по JS для новичка вроде больше и вообще.
не стукайте за ту хуйню, что я несу, просто хочу разобраться и уже начать заниматься
#141 #653867
>>653428
Пиздец. Путять язык и рантайм.
>>653921
#142 #653904
>>653857
Начни с JS, потом если захочешь на Руби серверную часть писать будешь.
>>653916
#143 #653916
>>653857
>>653904
Руби умирает, посоны. Медленно, но верно
>>653948
#144 #653921
>>653867
Ну мог бы я написать, что это интерпретатор ассинхронный, тебе бы легче стало?
>>653935
#145 #653928
Подскажите, как сделать, что бы поле textarea увеличивалось по мере того, как пользователь в нем пишет? При этом нужно чтобы он сам не мог изменять его размер. (т.е. resize: none установлен).
>>653943
#146 #653935
>>653921

>мог бы я написать, что это интерпретатор ассинхронный


и это было бы снова мимо
R U N T I ME
U
N
T
I
M
E
>>653941
#147 #653941
>>653935
Среда исполнения != интерпретатор?
>>653949
#149 #653946
>>652154
А вебпак и прочие сборщики вообще используют на сервере? Я думал они больше для фронта.
#150 #653948
>>653916
Этого двачую. Если не нравится нода, то бери питон. А руби мертв, учить его нет смысла.
>>653954
#151 #653949
>>653941
Нет. В интерпретаторе можно писать и синхронный код онле. А можно пользоваться библиотеками с асинхронными API. Вот скажи, питон синхронный или асинхронный? Или Си? Данный вопрос не имеет смысла, если мы не обсуждаем конкретные вызовы конкретных API.
#152 #653951
>>653943
Ух ты, спасибо.
>>653956
#153 #653954
>>653948
Мне вообще C# нравится.
#154 #653956
>>653951
Значит учи его. Можешь и TypeScript навернуть, такой JS в стиле шарпа.
#155 #653963
>>653857
Рельсы это веб фреймворк/библиотека для руби, просто довольно популярная стала, как ангуляр в джаваскрипте, например. Руби, хоть и не пишу, но новичку советовать не стану, там, слыхал, очень популярно метапрограммирование и финты ушами — еще сильнее запутаешься.
#156 #653968
А еще подскажите плиз, вот такой код увидел:
section > header > .note {
font-size: 3rem;
}
Что делают ">", я такой значок в css первый раз вижу.
>>653970
#157 #653970
>>653968
Прямой потомок. Без > выбирались бы все (по всей глубине) <header> элементы внутри <section>.
>>653973
#158 #653973
>>653970
Понял, спасибо.
#159 #653986
>>653781

>Сделай async:true в аякс запросе


можно тогда просто $.get() писать?

>сделай рекурсивный вызов


так?
http://pastebin.com/3FpeiAtF

>Ну и проверки-проверочки


по-подробнее можно?
там опечатка вместо links - lins, но мне лень новую пасту
>>654010>>654026
#160 #654010
>>653986
Лень вникать, но кажется у тебя там то ли вечная рекурсия, то ли одна функция пытается посмотреть на чужую переменную (temp_links.length).
>>654026
#161 #654020
Всем спасибо, аноны. Сажусь за "Eloquent Javascript".
>>653857-кун
#162 #654026
>>653986
>>654010
Бля ещё опечатку нашел. Вот правильная. http://pastebin.com/Cg02WVQY

>то ли вечная рекурсия


if (tmp_links.length)
вот в этом месте же проверяется

>пытается посмотреть на чужую переменную


она глобальная же, я её без var объявлял
#163 #654040
>>654026

>она глобальная же, я её без var объявлял


Вредных советов начитался?
>>654042
#164 #654042
>>654040
всмысле?
>>654063
#165 #654063
>>654042
Неявное объявления глобальной переменной в дебрях кода, при помощи спорной фичи языка это worst practice.
#166 #654071
>>654026
Короче переделал код под рекурсию => опять браузер тормозит. Может есть ещё какие решения?
>>654078
#167 #654078
Алсо, ещё вопрос: я запрашивая страницу (выделена прямоугольником), а в ответ начинает куча всякой хуйни лезть, как от этого избавиться? Сайт на клайдфларе, к которому я обращаюсь.
>>654071-кун
>>654079
63 Кб, 1029x598
#168 #654079
>>654078
пик забыл
>>654085
#169 #654085
>>654079
это картинки летят, ебанат
>>654091
#170 #654091
>>654085
можно как-то ограничить запрос? только что html возвращал?
>>654096
#171 #654096
>>654091
какой "запрос"? если ты в браузере смотришь страницу, то браузер автоматически все необходимые ресурсы подтягивает (css, js, шрифты, картинки).
>>654101
#172 #654101
>>654096
запрос $.get()
>>654108>>654112
#173 #654108
>>654101
значит ты ответ в свою страницу встраиваешь и браузер ревестит все остальное.
если ты только в консоль напечаешь, например, то ничего лишнего запрашиваться не будет.
>>654110>>654116
#174 #654110
>>654108

> ревестит


реквестит
#175 #654112
>>654101
Если ты не делаешь append в DOM, то html остается html'ем, и дополнительные запросы не происходят. А если ты приаппендил, то будут запрошены все ресурсы, на которые есть ссылки.
>>654116
#176 #654116
>>654112
>>654108
Я один и тот же долобоеб с вот этим кодом >>654026
я никуда не вставляю ответ, а обрабатываю callback функцией.
>>654124
#177 #654124
>>654116
$(data).find('div.info span.rank span:last').attr('class');
Ну мб jquery это делает, что сделать поиск по DOM_дереву.
>>654139>>654686
3004 Кб, 1140x1061
#178 #654133
>>650246 (OP)
Подскажите нормальный логгер для node.js.
Обмазываюсь winston'ом - это же говнище. Похоже на него надо навесить ещё 100500 модулей, чтобы он нормально работал.
Где файлы вроде debug_20160101.log?
Где нормальные категории без изъёбств?
Где нормальные конфиги наконец?
В общем, я уже потратил кучу часов, но так и не довёл его до состояния Log.Net или log4j.
>>654135
#179 #654135
>>654133
порт log4j жи есть. еще bunyan
#180 #654139
>>654124
ага, закомментировал поиск, перестал подгружать. Сейчас попробую через регулярку тогда.
>>654156
#181 #654156
>>654139
Не обязательно регуляркой, можно обычным поиском строки, регулярка дохуя тяжеловесная.
>>654174>>654178
#182 #654170
Аноны поясните хуле немчура втирает какую то математику и массивы, вместо того как делать няшные анимации и фишечки, где про это глянуть?

https://www.youtube.com/watch?v=Ukg_U3CnJWI
25 Кб, 554x767
#184 #654178
>>654156
почему конструкция вида [\n.]+ не работает? Или это сайт уебанский?
>>654183>>654191
#185 #654183
>>654178
Внутри квадратных скобок точка это просто точка, там тебе об этом указали.
#186 #654191
>>654178
З.Ы. чтобы точка включала \n - есть флаг s, без флага лучший вариант для поиска всех символов - [\S\s]*
>>654194
#187 #654194
>>654191
спасибо, уже составил

>/<span class="rank">[\S\s]+?<span class="(\w+)">/g

#188 #654301
Есть RGB данные о каждом пикселе и ширина и высота изображения. Какие есть модули для того, чтобы создать изображение из этих данных?
>>654304
#189 #654304
>>654301
Canvas.
>>654360
#190 #654326
>>654174
Хм, а какой объем текста?
>>654331
#191 #654331
>>654326
document.body.innerHTML.length в консоли посмотри, я прямо на этой странице запускал.
>>654350
#192 #654350
>>654331
Разницы почти и нет.
#193 #654360
>>654304
Без канваса. Только изображением.
>>654363
#194 #654363
>>654360
Шо, бле, без канваса? Делаешь елемент, дампаешь туда свои данные, захватыааешь скрин. Или ты на ноде?
>>654498
#195 #654393
Node js - это годнота или зашквар?
>>654397
#196 #654397
>>654393
Ты сам-то кто по масти?
#197 #654425
Вопрос по архитектуре приложения.
На ноде сервачёк имеющий два роутера: гет /form отдаст форму, а пост /post-form обработает её. Соответственно имею два мидалвара (контроллера). Первый (гет) подготовит данные (сходит в базу и т.д.) для рисования формы. Во втором мадалваре мне нужно вернуть ошибки или показать направить на страницу с успехом лол.
Так вот, а как вернуть эти ошибки в ту же форму? Т.е. чтобы из второго (который для поста) роута рендернуть форму нужно дублировать функционал первого (запросы в базу сделать).
Плохой я писатель кароч.
#198 #654428
>>654425
/post-form должен печатать форму, только уже с ошибками. Только это колхоз и 2005
Уже околостандарт формы ажаксом слать. И писать проще, и по юзеру по трафику легче
>>654459
#199 #654431
>>654425
Хуле не запихнуть в роут /tvoya-sranaya-forma и отдачу формы, и прием данных? Распознавать факт приема данных (чтобы запускать валидаторы) можно по post-ключу form_status=1 или типа того. А вообще в этой вашей ноде должен быть какой-нибудь пакет, в котором будут реализованы базовые валидаторы, csrf-защита форм и прочая поебистика. Сам в ноде не шарю.
>>654459>>654741
#200 #654433
>>654425
Херню какую-то ты пишешь по-ходу.
Тебе не нужно заного рендерить форму, всё что нужно во втором роуте, это возвращать ошибку (или успех), а на фронте только после успешного результата переходить дальше по роуту на страницу "успеха", или хендлить ошибку, если она есть. Бекенд не должен за это отвечать, по идее, только код ошибки присылать. Что-то типо того.
Если я правильно понял твой вопрос.
>>654459
#201 #654459
>>654433
>>654428
У меня форма не аяксом уходит, я там файлики отправляю.

>>654431
Наверно так и сделаю.
>>654476
#202 #654476
>>654459

>У меня форма не аяксом уходит, я там файлики отправляю.


Херово тогда. Ну ладно, делай как знаешь.
>>654483
#203 #654483
>>654476
А есть сплслюыотправки файлов типа аяксом? Кроме костыля с ифреймом.
>>654484
#204 #654484
>>654483

>сплслюыотправки


способы отправки

Как я такую хуйню написать смог?
>>654509
#205 #654498
>>654363
На ноде.
#206 #654509
>>654484
http://stackoverflow.com/a/8758614/1308583 Тут предлагают отправлять файлы через FormData
#207 #654530
Аноны, помогите плиз. Делаю вот проект с использованием jQuery и Material design lite: https://jsfiddle.net/nxe1pc4y/3/
Проблема в том, что в поле для ввода, которое сделано вручную, боковое меню работает, а вот в заметках, которые добавляет скрипт- нет. (Значок меню не отображается почему-то, так что его можно найти по буквам "me" в углу заметок)
Вероятно дело в следующей строчке:
componentHandler.upgradeElement(button);
Которая присутствует в примере ( https://codepen.io/anon/pen/Wrmbro )
Я не особо понял как она работает, но если её добавить в код, заменив соответственно button на note(или на что-нибудь еще), то вылетает ошибка.
>>654618
#209 #654686
Сейчас переписал свой скрипт >>653764 , вроде все работает нормально.
1) все переделал на рекурсии,
2) ajax запросы только асинхронные,
3) регулярки вместо jquery'вского поиска по DOM
Результат: страничка больше не подвисает.
Спасибо, вот этим господам >>653781 >>654124 за дельные советы.
правда появились утечки памяти
>>654950
#210 #654741
>>654431
Я шлю multipart данные аяксом.
На ноде, помимо экспресса, стоит multer, для упрощенной обработки принятых бинарных данных.
В этом роуте, после проверки условий, возвращается и ответ.
>>654743
#211 #654743
Бля, это >>654741 было адресовано >>654425
#212 #654800

>API ведения логов веб-консоли (console.log, console.info, console.warn, console.error) был отключен скриптом на этой странице.


Как эту консоль ебучую включить? Из аддонов у меня стоит greasemonkey, и adblock.
>>654814
#213 #654814
>>654800
https://stackoverflow.com/questions/8212373/firefox-web-console-disabled
Так-то хуево, что такие функции можно оверрайдить.
>>654821
#214 #654821
>>654814
и где там решение? не стоит у меня ни какого firebug.
>>654822
#216 #654826
>>654618
Спасибо огромное!
>>654873
8 Кб, 503x243
#217 #654830
>>654832
#218 #654832
>>654830
Бля, используй трюк с айфреймом. Должно работать.
>>654835
#219 #654834
Поставил Атом для работы с кодом. Не понимаю, как в нем работать. Объясните, прошу. Пишу код, а нихуя не происходит, нет кнопки run или еще чего-то такого.
Да, я туповат, можно этот момент пропустить.
>>654844
#220 #654835
>>654832
спасибо, заработало.
#221 #654844
>>654834
ты же код пишешь, а исполняется он сервером или браузером
>>654865
#222 #654865
>>654844
Поясни, няша, что мне сделать, чтобы я мог спокойно себе упражняться, решать задачки - и сразу же видеть результат, чтобы нажал run (а у меня к примеру там всего одна строка alert("test"); ) и чтобы оно отработало.
Я только базовый курс прошел, понимаю мало еще.
#223 #654873
>>654826
Блядь, там еще и каждый элемент меню надо апгрейдить, иначе ВОЛН нету.
>>655070
#224 #654874
посоны такой вопрос, для чего юзают Redis?
как я понял для кеширования баз данных?
>>654956
#225 #654877
>>654865
Ты пишешь что-то вроде: http://pastebin.com/wA3abicM
Потом открываешь этот файл в браузере.

Хотя в атоме, наверное, можно как-нибудь и проще.
#226 #654880
>>654865
пиши в brackets, или вообще в codepen.io
#227 #654888
>>654865

>codepen.io


Лучше в JSBin
#229 #654950
>>654686
Ну ещё раз поглядишь на свои переменные и найдёшь утечечку, молодец что всё сделал.
>>657744
#230 #654956
>>654874
Если упрощать, то это большая куча, висящая в оперативной памяти. Память быстрее диска в любом случае, так что можно кешировать что нибудь, хранить данные сессии. если рисковый, то можно вообще всё там хранить. Но если у тебя проект для себя с 1000 уников в день, то можешь даже не париться, даже мускул тормозить не будет.
#231 #655070
>>654873
Волны?
А можешь вообще объяснить про componentHandler.upgradeElement() и почему ты добавил именно button.get(0) и mylist.get(0)?
>>655102
71 Кб, 768x469
#232 #655102
>>655070
Ебаный спам лист.
>>655130
#233 #655130
>>655102
Попробовал добавить
componentHandler.upgradeElement(node.get(0))
после предыдущих двух или вместо них, визуально не вижу разницы, но если предыдущие удалить- то перестают меню работать.
И еще вопрос, если переписать код используя ООП, т.е. заметки как объекты создавать, то необходимость делать "апгрейд" все равно останется?
>>655138>>655148
#234 #655138
>>655130
А вот еще нашел метод:
componentHandler.upgradeAllRegistered();
С ним тоже работает, но как я понимаю, будет быстродействие хуже?
#235 #655148
>>655130
Там upgradeElementss, s, Карл. Ооп здесь не причем, если ты добавляешь элементы динамически на страницу - их нужно апгрейдить.
>>655160
#236 #655160
>>655148
Такс, странно, если
componentHandler.upgradeElements(node.get(0))
добавить то перестает работать независимо от наличия первых двух.
Зато с upgradeAll меню вместе с рипл-эффектом работает.
29 Кб, 369x531
#237 #655199
Антошка, подсоби советом. Начал изучать JS на http://learn.javascript.ru/, и мне нужно определиться с темой диссертационной работы для магистратуры, есть ли какие-то мысли, как я могу совместить приятное с полезным? Какую темку можно выбрать, связанную с js и вебом в общем?
#238 #655216
>>655199
Напиши платформу для блогов в стиле хабры.
>>655327
#239 #655232
>>655199
Если ты в теме, что такое "сцена", то можно написать неплохую CMS платформу для релизов (к примеру, mp3, x264, warez etc...), которую, помимо всего прочего, можно будет и продать.
В свое время один парниша написал такую CMS для сайта astro.nom.es на рельсах.
Релизы чекались на pre-таймы, нюкинг и проч, извлекались нфошки.
Интересное коммьюнити было, да.
Идею можно расширять в разные направления, такие как: интеграция с приватным FTP, заливка на сидбокс.
>>655327
#240 #655257
Еще вопрос по динамически добавляемым элементам. Если я добавляю элементы с помощью функции и хочу для этих элементов задать функцию-обработчик события, то обработчик должен задаваться внутри функции? Потому что если задавать внутри основной функции, то он не обрабатывает динамически добавляемые.
http://jsfiddle.net/nxe1pc4y/11/
>>655264>>655318
#241 #655264
>>655257
То бишь элементы li в меню при наведении мыши должны окрашиваться желтым, но так получается только в вручную созданных элементах.
>>655296
#242 #655296
>>655264
http://jsfiddle.net/nxe1pc4y/12/
Там note надо было, а не node. Обработчики, да, надо вешать либо внутри функции создания, либо на body (добавил в пример)
>>655673>>656452
#244 #655327
>>655216
>>655232
Это конечно круто, но разве новичок с этим справится?
#245 #655335
>>652666

>arguments.callee.toString().match(/function ([^\(]+)/)[1]


Вся суть джяваскрипта

>>650905

>что во вкусе говна не нравится?

#247 #655474
>>655199
Приди к своему научнику, озвучь свои планы и услышишь много нового.
>>655493
#248 #655493
>>655474
он сказал предложи сам, вот я и обратился с советом, в js то я совсем новичок.
>>655674
#249 #655537
>>655199
1. Хорошая магистерская должна не предлагать что-то революционно новое, а в первую очередь провести полное или подробное исследование существующих решений.
2. js-движки - исследование производительности в разных задачах, например https://habrahabr.ru/post/276617/ , предложение по улучшению. Если твои предложения будут достаточно хороши и ты сможешь пропихнуть их в репозиторий - отлично за диссертацию обеспечена. Задача актуальная, а вот с научной новизной могут быть проблемы, сам уже придумай что сказать.
#250 #655584
>>650504
а то что куча стартапов успешно запилили на руби и вышли в плюс -- не щитается?

Очевидный даун, даже не постигший основный смысл программирования -- СОЗДАНИЕ ПРОДУКТА БЛЯДЬ
#251 #655588
>>655584
ng-butthurt
#252 #655630
>>655584
И при первых же признаках популярности переписали движок на другой язык, ибо руби не может в хайлоад. Твиттер как пример. Руби подходит только стартапам из двух школьников, все кто крупнее - выбирают другой язык, либо страдают и потом всё таки меняют его.
#253 #655649
Существуют ли графические интерфейсы базы для ноды, вроде phpmyadmin?
>>655830
#254 #655673
>>655296
>>655318
Спасибо, буду разбираться. Жаль вчера инет выключили.
#255 #655674
>>655493
Игрушку сделай типо змейки или "2048". Там ебли с формами меньше будет.
148 Кб, 600x600
#256 #655827
>>655584

> а то что куча стартапов успешно запилили на руби и вышли в плюс -- не щитается?


Вышли в плюс, а потом переписали на нормальный язык
Руби подкупает только быстрой разработки, но с хайпом js и появлением всяких Sails ему совсем пизда
>>656073
#258 #655940
Анон, не пойму, как использовать Proxy?
Почитал, вроде фича не новая, бразуер - хром последний из стабильной ветки, а в консоли, при попытке выполнить код
var proxy = Proxy.create(handler, proto);
выкидывает 'Proxy is not defined'.
Что за шляпа?
>>655985
#259 #655985
>>655940
'последний' is not a number.
Когда 49 установишь - приходи еще раз.
125 Кб, 300x345
ХАЛП! #260 #656068
Посоны, понадобилось вот в Ionic Framework вкатиться срочно, кто сталкивался, кто что посоветует? Я, конечно, пока пару минут потратил на поиски годного туториала, но понял, что на хабре статьи древние все кроме одной, на официальном сайте нет упорядоченного и годного туториала для новиса, а лишь видосы по разным кускам и частям сего фрейма. На тыТтрубу только полезу сейчас.
>>656479>>656872
#261 #656070
>>655830
Не, я не про монго, а про SQL базы.
>>656071
#262 #656071
>>656070
Поставь пыху и юзай pma
#263 #656073
>>655827

> с хайпом js


>JS


>HYPE


Oi! Allow me to retort you - Fuck you scumbag
>>656104
#264 #656104
>>656073
/disallow
>>656120
#265 #656120
>>656104
/sudo allow
F
#266 #656157
Такой вопрос, parent() с использованием селектора только непосредственных родителей может выбирать?
Вот пример: http://jsfiddle.net/5g7r4mhq/2/
А иначе мне приходится использовать строчки вида:
$(this).parent().parent().parent().parent()
Как-то некрасиво.
>>656164
#267 #656164
>>656157
Может $.closest() подойдет?
>>656180
#268 #656180
>>656164
О, то что надо. Чая этому господину.
#269 #656452
>>655296
Попробовал по-разному сделать, твой вариант самый рабочий. Можешь пояснить, чем event.target отличается от this? И почему нельзя писать
$('ul li:last').contains($(event.target))?

Еще попытки:
http://jsfiddle.net/nxe1pc4y/14/
Если определять обработчик внутри функции, то работает только с элементами, создаваемыми функцией. Я так понимаю, на скорость работы тоже плохо влияет.
Если с помощью
$('parent_static').on('event', 'children_dinamic', handler);
то работает только с последним добавленным элементом.

Сори, что так много вопросов. Я для себя делаю, хочу не чтобы лишь бы работало, а разобраться как сделать лучше/красивее/быстрее.
>>656821
23 Кб, 229x190
#270 #656479
>>656068
NOONE??
#271 #656679
var cyka = alert('ololo');

Как с помощью цикла while сделать так, что бы переменная "cyka" повторялась 20 раз, а после этого цикл закрывался?
>>656684
#272 #656684
>>656679
Ты хочешь, чтобы у тебя 20 раз выскочил алерт через переменную cyka?
>>656686
#273 #656686
>>656684
Да-да. И что бы через цикл while.
>>656692
#275 #656708
>>656692
Я так тоже умею. Ты немного не понял, мне надо, что бы в алерте содержался текст ololo, а не обратный отчёт, и это выводилось 20 раз.
>>656721>>656728
#276 #656721
>>656708
Что выводилось то?
#277 #656728
>>656708
Обнови страничку, итератор был для наглядности
>>656730
#278 #656730
>>656728
Спасибо.
#279 #656821
>>656452
http://jsfiddle.net/Bateman/nxe1pc4y/16/
Там надо не :last, а :last-child. Думаю все же лучше повесить разные классы на элементы меню, а не псевдоселекторами ебаться.
event.target - элемент на котором произшло событие, а this там смотрел на body. На самом деле анон выше годно написал про .on с фильтром по дочерним элементам, в таком случае this смотрит на li.
Алсо, починил тебе лэйболы.
>>656880
#280 #656872
>>656068
Есть годные книги по Ionic-у в издательствах Packt и Manning, можешь нагуглить.
>>656887
#281 #656880
>>656821
Аа, теперь понятно почему только последнее меню работало. И с event.target тоже понял, но это далеко не так удобно как с on. За лейболы спасибо, рано или поздно пришлось бы их доделывать. В общем добра тебе, анон.
#282 #656887
>>656872
ok thx
#283 #657112
А есть какой-нибудь js shell? Чтобы прям в родной соснольке быдлокодить. Насоветуйте самый лучший если их несколько. А то в devtools шрифт милипиздрический, если в маленьком окне - надоело щуриться.
sage #284 #657191
>>657112
node.js
29 Кб, 363x544
#285 #657744
>>654950
Пикрелейтед означает что я заигрался с рекурсиями, лол? Придется все таки на событийно-ориентированный шаблон переписывать.
Алсо, установил я этот firebug, как с помощью него найти утечку?
>>657756
#286 #657756
>>657744
Просто %перепиши говнокод% подставь костылик - замени рекурсию на settimeout
>>657769
#287 #657769
>>657756

>settimeout


Может на setInterval? Примеры с setTimeout используют опять ту же рекурсию.
https://learn.javascript.ru/settimeout-setinterval#рекурсивный-settimeout
>>657776
#288 #657776
>>657769
Именно рекурсивный вызов setTimeout. Ты подписываешься на событие event loop браузера, и как таковой рекурсии внутри джаваскрипта у тебе не будет, как не будет и разрастания стека вместе с твоей ошибкой. Попробуй. setInterval - для другого.
#289 #657838
Здарова всем! Верстальщик-ньюфаня в треде. Курю продвинутый интенсив от академии и короче делал д.з. за 7-8 урок продвинутого (ну где js)

Там задавали мол сделать чтобы кнопки "+" и "-" работали.
Потом чтобы когда увеличиваем количество взрослых и детей добавлялось на каждого по 3 поля (ФИО).

Затем решил сделать как они рассказали чтобы отправлялось типа AJAX'ом форма и при выборе картинок отображались их превьюхи и можно было их удалить.

Можете посмотреть че там с моим кодом на js - сильно ужасен?

http://jsbin.com/xayoyicufu/edit?js,output

Заранее большое спасибо за ваши советы/ответы

P.S. html/css можно не смотреть на коленке быстренько слабал фиксированно по их скринам.
>>657848
#290 #657848
>>657838
Точно ньюфаня? Код весьма неплох. Я бы полгода опыта дал точно.
>>657852>>657856
#291 #657852
>>657848
В верстке и js ньюфаня. (скурил базовый интенсив, сверстав 4 статичных макета, сейчас пилю респонсив вот изучая продвинутый, потом засяду за базовый интенсив по js и кантора)

До этого закончил вузик на прикладного математика, где толком нихуя полезного не рассказали (было чутка с++ (про ооп вскользь), фортрана и ms sql и тонны математики блядь).
>>657855
#292 #657855
>>657852
Ну главное опыт в программировании есть. А сменить инструмент (язык) - несложно.
>>657856
#293 #657856
>>657848
>>657855

Ладно, спасибо, если более-менее норм, буду тогда докуривать продвинутый дальше.

Если кто еще че скажет - почиткаю тоже. Все-равно к вам захожу время от времени, хотя больше в верстка-треде сижу. Когда сяду за js поплотнее к вам переберусь.
>>657857>>657861
#294 #657857
>>657856
А где там собственно твой код? Я ща как раз тот блок пересматриваю, так у тебя все оттуда слизано, даже названия переменных.
>>657859
#295 #657859
>>657857
обработка кнопок - мой код, добавление полей - мой код. (это и было дз если че)

Что касается части ajax и работы с превью картинок - делал как они рассказывали
>>657864
#296 #657861
>>657856
Тут еще и верстка тред есть, лол. Для интереса пролистал нулевую, похоже он очень глубоко.
>>657862
#297 #657862
>>657861
Он в /wrk
#298 #657864
>>657859
Да да точно, вспомнил уже. Навскидку, я бы использовал делегирование вместо бесконечных проходов циклами по массивам кнопок.
>>657870
#299 #657870
>>657864
Ок, значит почиткаю про это
7 Кб, 742x159
#300 #657929
Поцаны, как найти все вхождения подстроки, чтоб хранили свой индекс? В первом случае находит все вхождения, но не показывает индекс, во втором показывает индекс, но находит только первое. Чет я туплю.
5 Кб, 742x91
#301 #657992
>>657929
Вот ещё в догонку.

>Можно повесить обработчик событий практически на любой объект:


А если мне не нужно использовать объект? Просто нужно произвести какой-то код, в ответ на событие, насколько валидна такая запись?
>>658357>>658708
11 Кб, 776x129
43 Кб, 736x442
12 Кб, 551x186
8 Кб, 726x98
#302 #658037
ES6 это просто каноничный пример "эффекта второй системы". Напихано столько бесполезного говна, я ебал. let, const, классы - все это абсолютно не нужно. А компилировать ES6 в js - какой вообще ебантяй придумал что это хорошая идея? Получите все отсосы динамической параши плюс головная боль компиляции - два по цене одного, просто заебись. Все эти напиханные новые свистоперделки никогда не будут работать совместно консистентно (да еще в разных браузерах). При нормальной разработке языков каждая блядь малюсенькая фича обсасывается со всех сторон и все равно в итоге случаются эпические отсосы. Хотелось бы чтобы эта поебень никогда не взлетела как то предыдущее говное, когда хотели запихать такую же кучу говна и еще типы. Но вряд ли, уж больно большой момент вся эта поебень похоже набрала.
79 Кб, 736x736
#303 #658052
>>658037
Это только начало
#304 #658086
Платина, наверное, но всё же спрошу.
Какие есть для js редакторы/ide с нормальным автодополнением? Чтоб подсказывало не только кейворды, но и функции из внешних скриптов.
Кроме WebStorm и NetBeans.
>>658120
#305 #658108
>>658037

>Но вряд ли, уж больно большой момент


По-русски это называется инерция.
>>658117
#306 #658117
>>658108

>По-русски это называется инерция.


Только если ты ебантяй безграмотный. Можно с большой инерцией сидеть на жопе ровно как жабка например.
https://en.wikipedia.org/wiki/Momentum
Просто я угораю по теорфизу, и меня не наебешь.
>>658200>>659330
#307 #658120
>>658086

>функции из внешних скриптов


Прям из cdn'а, ага. Статический анализатор то не завезли.
#308 #658195
>>658037
https://kangax.github.io/compat-table/es6/ -- свистоперделки уже работают во всех современных браузерах, бро (кроме модулей, тут и спецификация довольно загадочная, хз как их вообще имплементировать нативно, плюс при сборке можно из модулей выкинуть ненужное, в браузерах так не сделать). В принципе можно уже даже писать без бабеля и только перед заливкой на сервер код компилировать для пенсионеров, последний некоммерческий проект так и запилил. Про "классы не нужны" двачую, а большинство остальных фишечек очень сладкие. Да и вообще ты говоришь так, будто тебя обнаженные валькирии с плетками заставляют писать на es6, старый добрый JS то никуда не делся тащемта.
>>658201>>658204
#309 #658200
>>658117

>по-русски


>дает ссылку на английскую вики


Чурка, иди нахуй.
>>658201
27 Кб, 135x188
#310 #658201
>>658200
Таблетки выпей
>>658195

>эти бескрайние красные поля


Ну охуеть как поддерживается
>>658202
#311 #658202
>>658201
Но надеюсь что так все и останется.
#312 #658204
>>658195
Проблема в том, что еще чужой код приходится читать, а там скоро вообще все на эс6 будет походу.
#313 #658207
>>658037
Потому что он ориентирован на сервер. На фронтомакак всем плевать.
#314 #658220
из Dlang-хаты спрашивают: когда там в браузерах запилят интерпретатор байткода? Грозились вот недавно же (всего-то лет 5 назад) что-то типа NaCl или WebAssembly (или что там после них придумано было?) запилить
>>658351>>658497
#315 #658351
>>658220
Стандарт на байткод завезли? А то придется как с самим жс'ом - компилировать отдельно под каждый браузер.
>>658482
#316 #658357
>>657992
>>657929
Почему меня игнорируют?
#317 #658450
В upwork команду из 3х анонов нужен фронтендер. На данный момент пилим тестовый проект (SPA CRM). Больше инфы в телеграмме @irrationality
#318 #658482
>>658351

> А то придется как с самим жс'ом - компилировать отдельно под каждый браузер.


Что ты несешь, деган?
>>658534
#319 #658497
>>658220
Передай, пусть не выебываются, а делают как все — пилят компиляцию из язычка в жс
#320 #658534
>>658482
Да я про полифилы и ие7, чтобы писать кроссбраузерно, нужно сначала немношк поебаться, потому что все хуй клали еа стандарты.
>>658659
#321 #658659
>>658534
То, что ты поддерживаешь некроговно, которое убил сам разработчик, это твои проблемы, а не жса
>>659333
#322 #658660
Как так получается, что инструменты, наподобие ASM.js, на выходе дают более оптимизированный код, нежели инструменты оптимизации для Vanilla JS? Прозреваю, что секрет во всяких плюшках типа two-pass optimisation, статических анализаторов и прочего.
Есть ли сопоставимый по эффективности инструмент для чистого жс?
>>658662
#323 #658662
>>658660
Браузер распознает вызовы asm.js и использует для них быстрые реализации (использование unboxed типов вместо объектов и т.п.)
#324 #658669

>console.log((1 / 3)3);


>1


Это он как так сообразил? Почему не 0.999...?
И если раз он такой умный, то почему с console.log((1 / 49)
49); уже не осиливает?
>>658673
#325 #658673
>>658669
С разметкой обосрался, там должно быть console.log((1 / 3) 3), ну и аналогично с 49.
>>658674
#326 #658674
>>658673
Бля. Одна то звёздочку он как парсит? Умножить короче.
#327 #658700
Как удобнее в jsdom по страницам шастать?
Например, описали стартовую страницу через jsdom.env, в коллбэке вводим логин, кликаем по кнопке.
Как получить новую страницу и что-то выполнить на ней, когда она загрузиться?
>>658703>>658705
#328 #658703
>>658700
загрузится
#329 #658705
>>658700
Для таких задач есть PhantomJS, CasperJS и вебдрайвер к ним - SpookyJS.
>>658715
#330 #658708
>>657992
>>657929
Почему меня игнорируют?
#331 #658715
>>658705
Мне казалось, что они слишком тяжеловаты для простых задач. Или это не так?
Сколько они памяти будут использовать?
>>658718
#332 #658718
>>658715

>Сколько они памяти будут использовать?


На моей днищевпске с 512 мб летают. Но не суть.
Вот тут что-то такое разбирали:
https://stackoverflow.com/questions/6263004/post-a-form-using-jsdom-and-node-js
>>658750
#333 #658750
>>658718
Поред вопросом я конечно гуглил, и на эту страницу не меньше 3 раз, лол.
Тут он загружает реквестом, но в таком случае не удастся именно просто "кликать" по всяким кнопкам, а выкавыривать следующий url руками.
Не такая большая проблема, но можно как-то поудобней сделать, все для этого есть.

У тебя фантом параллельно работает? Можно парсить сотни-тысячи страниц одновременно?
#334 #658797
Поясните за новый синтаксис экспорта/импорта. export var test = 12 экспортирует переменную test. export deafult function hui() {} экспортирует функцию hui. А можно ли сделать export default var test = 12? У меня IDE пишет ошибку.
>>658944
#336 #658947
>>658944
Спасибо!
#337 #658961
Что скажете по поводу курса? И вообще по codeschool?
https://www.codeschool.com/mean
#338 #659044
Посоны завтра тех собес на этот евент

https://softserve.ua/en/university/it-academy/napryamki-navchannya/angular-boot-camp/

подкиньте идей что подучить?
>>659177
#339 #659177
>>659044
Ангельский уже собеседовали? Или после технического будет?
#340 #659213
А есть ли среди анонов метеорщики? Думаю вот насчет него, какие подводные камни? Проект планируем что то вроде CRM с элементами соц сети. И еще страшно монго.
>>659562
68 Кб, 795x387
#341 #659233
Ошибка Uncaught SyntaxError: Unexpected token }
Хули ему надо-то блять?
>>659235
#342 #659235
>>659233
Бля, увидел. Ебаный иф отнял у меня 25 минут жизни
#344 #659333
>>658659
Это пример же был, откуда такие проекции. Естественно это не проблемы жса, он же просто язык. Ведь все современные браузеры поддерживают es2015 в полном объеме?
>>659339
#345 #659336
Почему классы в ES6 такие уёбищные? Вот хуле я должен писать this.field, чтобы обратиться к полю внутри метода? Почему нельзя просто field? Почему я должен вызывать метод внутри класса как this.someMethod(), а не просто someMethod(). И какого хера нет возможности объявить private поле/свойство/метод? Хуле я что должен через нижнее подчёркивание теперь всё писать, типа "это private, чуваки, видите '_', вот это трогать нельзя".
#346 #659339
>>659333

> Ведь все современные браузеры поддерживают es2015 в полном объеме?


Da
http://kangax.github.io/compat-table/es5/
>>659358
#347 #659344
>>659336
Потому что ничего не изменилось с их приходом. Как раньше писал так и сейчас пиши.
#348 #659355
>>659336

>Почему классы в ES6 такие уёбищные?


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

>this.someMethod(), а не просто someMethod()


>Почему нельзя просто field?


Потому, что краеугольный камень ES - скопинг и контекст. С точки зрения этих понятий, такой подход не вызывает вопросов.

>Хуле я что должен через нижнее подчёркивание теперь всё писать


Должен, да не обязан. Это один из 'workaround / approaches' в виду особенной, прототипной концепции языка.
Здесь представлен еще один из вариантов создания приватных объектов (экспорт только публичных)
https://scotch.io/bar-talk/4-javascript-design-patterns-you-should-know
#349 #659358
>>659339
Вот еще один в названиях запутался.
#350 #659367
>>659336
Ловите ПХПепера!
#351 #659374
В апворк команду к трем анонам нужен фронтендер. На данный момент пилим тестовый проект (SPA CRM). Подробности в телеге: @irrationality
#352 #659439
Аноны, прочитал learnjavascript первую часть и прошел первую часть codeschool, но все-равно как-то в тумане немного считаю понимания этого языка. Может я не правильно, что-то делаю? Видел в шапке, что надо будет змейку сделать, но не представляю как это возможно сделать.
>>659451>>659456
#353 #659451
>>659439
бесконечный цикл - "движение" змейки, есть некий массив хранящий части змейки, за каждый такт добовляется новый элемент(где голова), и удаляется последный(где хвост), повесь на кнопки обрабочик - будет тебе "управление".
>>659466
71 Кб, 983x683
#354 #659456
>>659439
Начни с более простых задач.
Например, написать скрипт, который генерирует поле (матрицу) с заданным размером, произвольно выставляет препятствия на этом поле, точку старта и финиша, и сам генерирует кратчайший путь между двумя точками.

Вариантов решения такой задачи множество, гуглятся они по кейвордам "maze runner".
#355 #659466
>>659451
Ещё могу посоветовать статьи типа "Пишим рогалик с нуля", например эта http://rlgclub.ru/wiki/Пишем_рогалик_на_Javascript/Часть_1
#356 #659544
Антош, а для нуба какая из этих двух книг годнее? "Head first Javascript" или "Eloquent Javascript"?
>>659622
#357 #659562
>>659213
Попробуй. Метеор вроде годнота, но не трогал.
16 Кб, 320x240
#358 #659622
11 Кб, 259x192
#359 #659791
Анончики, помогите написать простейший userjs. Нужно изменить имеющуюся на странице ссылку. При этом ссылка должна содержать часть урла самой страницы. Асло ссылка в скрытом диве (display: none), в идеале этот див при наведении на кнопку отображать (display: block !important).
>>659795
#360 #659795
>>659791
Навыками то какими обладаешь?
>>659796
#361 #659796
>>659795
Могу открыть блокнот и скопипастить туда кусок кода из мануала. Я хуже червя-пидора, я знаю.
>>660217
#362 #659804
Есть у меня идея для сайта на jQuery. Задать элементы на странице- как объекты и определить для них методы. А добавлять их чтобы можно было тоже методом, использую селектор $ т.е. создавались они в том объекте, который выбран с помощью $
Например: $('.container').createElement()
А потом создавать его содержимое методами:
element.addTitle(); element.addContent() и т.д.
Но затрудняюсь, как это реализовать. Если для создания конструктора и определения методов еще имею представление, то создание с помощью query-селектора для меня не понятно. Поясните, плиз
нубо джун
>>660043
#363 #659806
>>657112
Mozilla js shell внезапно. Я при помощи него задачи на алгоритмы и структуры данных решаю.
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_shell
#364 #659903
Кто как думает, в каком формате лучше хранить ориентированный граф с расстоянием между вершинами? Потом естественно над ним операции производить.
>>660366
#365 #659965
>>657112
соснуль можно вынести в отдельное окно и шрефты тоже настраиваются (скорее всего)
#366 #660043
>>659804
Ты решил ангуляр на жквери написать? Зачем?
>>660088
#367 #660088
>>660043
Вот блин. Ну ладно, не буду тогда фигней страдать.
#368 #660217
>>659796
Берешь жидквери, находишь ссылку, меняешь ей атрибут, вешаешь обработичк на кнопку, в нем показываешь див.
#369 #660232
Появилось немного свободного времени. Думаю его использовать, чтобы подтянуть чистый js. Что посоветуете: прочитать книгу (good parts на примете), курсы какие-нибудь пройти, мб задачи порешать? Или вообще по алгоритмам или компутер-саенс почитать?
>>660236>>660750
#371 #660287
>>660236
Звучит заманчиво, еще и "с пылу и жару". Надеюсь моего ангельского на это хватит.
#372 #660292
>>657929
бамп
>>660319
#373 #660319
>>660292
Ты заебать нас тут решил? http://stackoverflow.com/a/2295681/1308583
>>660345>>660347
#374 #660345
>>660319
спасибо
#375 #660347
>>660319
спасибо
#376 #660366
>>659903
бамп епта
>>660390
#377 #660378
http://jsfiddle.net/5g7r4mhq/5/
Чому седьмая строчка не работает?
>>660406
#378 #660390
>>660366
Ти чиво, матрица смежности.
>>660401>>660757
#379 #660401
>>660390
Додвачевался. Прочитал

>матрица омежности

#380 #660406
>>660378
Тому что надо mylist[0], lastChild - свойство дом элемента, а не жиквери объекта. display не через атрибут ставится, это цсс свойство.
>>660443
#381 #660435
Посоны, пытаюсь осилить БЭМ и i-bem.js. Это вообще нормально: дохуя JSON в data-bem атрибутах?
#382 #660443
>>660406
Спасибки.
#383 #660750
>>660232
По джсу чистому читни Джона Резига "Секртеы джс-ниндзя". Этот тот же толстяк, что жикфверя написал. Я прочел половину - пока заебок, здорово меняет взгляд на написание кода, ну и для себя нашел пару триков хороших.
#384 #660757
>>660390
меня нахуй пошлют за двумерный массив
>>660765
#385 #660765
>>660757

>Матрица смежности и списки смежности являются основными структурами данных, которые используются для представления графов в компьютерных программах



Ни тебя, ни их не исправить.
#386 #660842
Можно ли как-то ограничить размер объекта/массива? Чтобы если задано ограничение 50, то при достижении размера, например, 51, первый элемент удалялся.
Есть что-то такое? Может либа какая? Я уже заебался ифы писать для каждого добавления
#387 #660855
>>660842
Разве нельзя реализовать добавление элемента через функцию, в которой будет одно if условие по проверке mass.length и перестроению массива?
>>660860>>661911
#388 #660860
>>660855
У меня оче много массивов и объектов
>>660863
#389 #660863
>>660860
ну тогда функция принимающая и нужный массив и новый элемент?
>>660867
#390 #660867
>>660863
Но мне и объекты нужно. Слишком костыльно это выглядит вообще.

Нагуглил то, что нужно, но оно для ноды
https://www.npmjs.com/package/cappedarray
>>660870
#391 #660870
>>660867
а что нельзя объект в функцию отправить? Это же по сути ассоциативный массив
#392 #660874
>>660842
ДЕКОРАТОРЫ
#393 #660917
Читал, что когда функция вызывается не как метод объекта, то this привязывается к глобальному объекту и что это ошибка в дизайне языка.

Использование 'use strict' как-то влияет на this?
>>660931
#394 #660931
>>660917
Да, this будет undefined
#395 #661040
Я проснулся.
#396 #661061
Чего интересного можно сделать на ноде для опыта?
>>661068>>661092
#397 #661064
Бочку
#398 #661068
>>661061
Шахматы
#399 #661092
>>661061
Харкач
#400 #661102
Учусь)
#401 #661138
Этой осенью я пойду на первый курс, так что хотелось бы уже уметь что-нибудь до начала учёбы.
Учебных материалов и курсов целая куча, недолго и запутаться. Но пока решил начать с HTML/CSS, затем JS с jQuery на codeschool.com. Сразу вопрос: курсы на CodeAcademy лучше или хуже, чем на Code School? Параллельно буду читать книжки из ОП-поста. Потом планирую заняться PHP и попробую хоть немного вдуплить в работу с БД и системное администрирование.
Это нормальный набор скиллов? Стоит ли включить в него Ruby?
>>661850
508 Кб, 600x800
#402 #661141
>>650246 (OP)
Обоссал JS-макак, вместо того чтобы править стандарт эти петухи будут городить 100500 строк кода, только чтобы сделать себе костыль и потом будут любоваться лагающим куском говна с 3мя кнопками на всю страницу и дурацкой плавающей менюшкой, бить кулаком в грудь и говорить "вот как же всё заебато сделано, целых 5 фпс на мозиле с core i7, и всего 5 секунд на загрузку"
>>661168
#403 #661168
>>661141
Срикошетил струю в диванного дауна, которому лишь бы покукарекать о том, в чем он нихуя не шарит
#404 #661560
С чего начать изучение DOMа? Есть какие-то ресурсы, которые не просто расскажут что это, но и покажут с чем кушать?
>>661561>>661608
#405 #661561
>>661560
learn.javascript
#406 #661608
>>661560
С кухни, потом спальни, туалет, ванна, комнаты.
>>661616
#407 #661616
>>661608
С туалета начинать всегда надо.
#408 #661751
Как передать массив в функцию поаргументно?
Сейчас приходится писать func(mas[0], mas[1], mas[2]). Но проблема в том, что я не знаю заранее размер этого массива
#409 #661752
>>661751
а не проще передать всю, а внутри уже делить его
>>661753
#410 #661753
>>661752
Это функция res.json() экспресса, не хотелось бы ковырять сам экспресс
#411 #661757
>>661751
func(...mas)
>>661759
#412 #661759
>>661757
Тогда массив передастся как аргумент, а мне нужно элементы массива передать как аргументы
>>661760
#413 #661760
>>661759
Нет, не передастся. Он именно разложится по-аргументно там, и если у тебя вариативная функция, как я понял, там, то она будет юзать эти аргументы.
>>661763
17 Кб, 523x153
#414 #661763
>>661760
Как она разложится? Просто массив отправляется
>>661764>>661765
#415 #661764
>>661763
Ты в курсе что делает спред оператор, вообще?
>>661766
#416 #661765
>>661763
Значит у тебя там массив в массиве, нужно его выровнять сначала, либо два раза спред делать, но это уже костыль какой-то, сделай просто ...(_.flatten(mas))
>>661766
5 Кб, 570x72
#417 #661766
>>661765
Нет же, у меня просто массив, в нем при ошибке два элемента - первый хттп-код, второй ошибка. А при успешном ответе элементов гораздо больше

>>661764
Ваш оператор не оператор
#418 #661767
>>661766

>Ваш оператор не оператор


Ты что в 2016 году на ес5 пишешь? Пиздос

Тогда тебе только через apply можно закостылить, func.apply(null, mas)

Вообще советую разобраться в базовых знаниях, чем ковырять ноду
>>661774
#419 #661769
>>661766

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


Ты ебанутый? Сука даун тупой. Если у тебя просто массив, то хули ты гонишь на спред, который к тому же у тебя не работает? Мразь поганая.
>>661774
32 Кб, 766x338
#420 #661774
>>661767
Этот оператор не поддерживается v8, то есть официально не поддерживается в ноде, зачем ты мне его советуешь?

>>661769
Я сразу сказал, что у меня массив
>>661776
#421 #661776
>>661774

>Этот оператор не поддерживается v8, то есть официально не поддерживается в ноде, зачем ты мне его советуешь?


И что? Сложно бабель подключить?

Сука, даже спасибо не сказал за apply, вот блять советуй вам тут теперь.
>>661782
18 Кб, 437x141
#422 #661782
>>661776
.apply то, что нужно. Спасибо
#423 #661832
>>661751
Передавай через .apply()
>>661843
#424 #661843
>>661832
Ты че сука слепой? Уже подсказали это
#425 #661850
Бамп.
>>661138
>>661857
#426 #661857
>>661850
В чем твой вопрос?
>>661954
#427 #661911
>>660842
Добавить в их прототипы функцию, как порекомендовал анон тут: >>660855
И добавлять через функцию, проверяя .keys.
#428 #661954
>>661857
Нормальный ли набор скиллов я составил. Может, я что-то упустил?
>>661963>>661976
#429 #661963
>>661954
Для первого курса не нужно знать все что ты написал, тебе это там преподавать будут. Если шило в жопе- по компьютер саенс или алгоритмам почитай. А лучше всего бухай и туси все лето, потому что потом ебала начнется.
#430 #661976
>>661954
На первом курсе у тебя будет куча всяких математик, а не программирование.
Учи что тебе нравится, а в вуз для галочки ходи
#431 #662010
http://pastebin.com/4vHk2TFD
Чяднт? Почему срабатывает только последний фильтр, а как сделать это правильно?
Вариант не выёбыватбся и взять лазижс\лодаш\етц не предлагать, у меня слишком древнее окружение, в котором даже полифилы не работают из коробки, кек.
>>662032
sage #432 #662014
>>661766
ну res.json не принимает два аргумента больше, эта фича deprecated. че то ты там не то делаешь короч
>>662029
#433 #662029
>>662014
Какой экспресс? 4?
>>662058
#434 #662032
>>662010
Сам нашел. Проебался в глаза и потерял вызов функции.
#435 #662058
>>662029
c 4-й версии да
>>662115
#436 #662115
>>662058
Ну я ещё на третьем, на sails пишу
#437 #662451
>>650246 (OP)
Почаны, есть смысл перекатываться из питон-дева во фронт-эндера, скорее даже полностью в этот ваш MEAN ?
Так то серверные проблемы мне решать относительно легко, а вот клиентские дела - на очень базовом уровне умею, а верстку и дизайн не умею совсем.

Хотелось бы в будущем быть йоба фул стеком.
>>662496>>662594
#438 #662496
>>662451
МЕАН - это больше сервер, чем клиент. Если у тебя нет лютой ненависти JS, как у некоторых питонистов, то перекатывайся. Хотя вместо ангулара я бы посоветовал взять реакт.
>>662540>>662547
#439 #662540
>>662496
А есть годная книга по реакту?
>>662544
#440 #662544
>>662540
Реакт это супер маленькая либа, которая учится за вечер. Книга там нах не сдалась
>>662560
#441 #662547
>>662496

> Хотя вместо ангулара я бы посоветовал взять реакт.


Почему? Второй ангуляр куда перспективнее
>>662549
#442 #662549
>>662547
Очень спорно. Да и это разные вещи совершенно, ангуляр лучше с эмбером сравнивать, например.
#443 #662560
>>662544

> которая учится за вечер


И каким образом ее лучше учить?
Мимоньюфаг
>>662582
#444 #662582
>>662560
По оффициальной документации.
>>662591
#445 #662591
>>662582
Ниудобна
#446 #662594
>>662451
так и сделал, на сервере flask а на фронт мне react понравился, поглядываю на riotjs. А вообще есть транспайлеры из питона в жс, там можно в list comperhension и вообще все фичи питона, как освоишься в жс бери один из https://github.com/jashkenas/coffeescript/wiki/list-of-languages-that-compile-to-js#python и не будешь горя знать
#447 #662918
Есть тут аноны, которые умеют в Meteor.js? Вопрос такой, мне на сервере нужно отслеживать изменение в размере массива в коллекции, и при разных его значениях вызывать разные функции. Учитывая, что коллекции реактивные, должно быть какое-то красивое решение с трекер.авторан или чем-то подобным, но у меня нихрена не получается.
Анон #448 #662979
Анон скажи мне , чем заменился $emit (который раньше был в socket.io) ???

для вызова функции на сервере ?

мне нужно просто сгенерировать событие из другого модуля, для дальнейшей обработки.
>>662992
#449 #662992
>>663126
#450 #662995
Продолжаю свой ленивый велосипед, но есть один момент который мне люто мозолит глаза. Тысячи сравнений с null.
Eсть код вида $$([obj, ..., obj]).find(foo).filter(bar).take(10);
Код ленивый, внутри оно всё замыкается на один внутренний метод. Т.е. последний вызов(take) превращается во что-то вроде:
for(var i = 0; i < 10; i++) ret = filter(find(get(), foo), bar);
Так вот, на любом из этапов данные могут внезапно закончится: входных мало, фильтр всё зарежет и т.д. Сейчас у меня в таких случаях просто прокидываеться наверх null. И, соответственно, если во входных данных внезапно будет null то всё пойдет по пизде. У меня хоть нулов быть и не должно, но всё равно неприятно. Какие есть еще варианты? Бросать исключения? И, в случае с исключением - как будет с производительностью? Не будет ли одно исключение в конце работы медленней чем 9000 сравнений null на каждом этапе и для каждого элемента?
>>663002
#451 #663002
>>662995
Ты что-то слышал о промисах?
>>663005
#452 #663005
>>663002
Почти ничего. Разве там не те-же исключения под капотом?
>>663006>>663007
#453 #663006
>>663005
Ты рано думаешь о производительности.
>>663012
#454 #663007
>>663005
Не знаю что под капотом, но, кажется, промайсовский .catch то, что тебе нужно
>>663012
#455 #663012
>>663006
Да нет, я про то что если там те же исключения, то я и сам бросать их умею, и не вникая в промисы. Вопрос то в том лучший ли это(исключения) вариант?
>>663007
Нативных промисов у меня точно никаких нет, а те кустарные реализации паттерна которые сходу гуглятся на тех-же исключениях.
>>663018
#456 #663018
>>663012
Может я чего-то не понимаю, но исключение это должно быть каким-то очень редким событием. Как это может влиять на производительность?
>>663034
#457 #663034
>>663018
Ну вот я и спрашиваю, сильно ли оно повлияет если я его сделаю чуть менее редким, бросая вручную.
Грубо говоря сейчас на вход я даю массив из 1000 элементов, на него вешаю 5 фильтров. В моей текущей реализации это приведет к тому что каждый из элементов в каждом из фильтов будет сравнен с null. Т.е. если всё пройдет через все фильтры то за время работы 5000 раз отработает "if(val == null) return null"
В качестве альтернативы у меня вариант сделать один if(sourceData.length == 0) throw false в одном только последнем шаге, дергающем исходные данные, ну и ловить его на первом шаге, а в промежуточных фильтрах будет и так ясно что либо всё ок, либо исключение всплывает выше. Одно исключение на обработку всей цепочки.
Ну или может кто подскажет какие есть еще варианты.
1557 Кб, 930x698
#458 #663053
Время тупых вопросов.
Чем отличается открытие html напрямую браузером и запуском через сервер. Работает ли и насколько по разному js в этих случаях?
Статей покидайте, можно и на англ.
Заранее спасибо.
>>663055
#459 #663055
>>663053
Браузер не знает, откуда у него страничка взялась- он сразу собранный html код читает.
>>663058
#460 #663058
>>663055
Могут быть проблемы с приблудами завязанными на доменное имя.
Например с локал стораджем.
#461 #663126
>>662992
да нету там этого , сам уже методом тыка нашёл , не знаю best way или нет но вот io.sockets._events.sessreload(sid);
Dmitriy #462 #663203
А куда дели последнюю строчку?
-A что потом?
Я итак уже гений! https://2ch.hk/wrk/res/473873.html (М)
17 Кб, 399x280
#463 #663370
Стремящийся в треде.

Какие типичные задания выполняет жс-девелопер? Какие задания наиболее интересны?

Алсо, мне вот, например, нравится жс-анимация, визуализация. То есть жс больше привлекает как эстетический инструмент. В каких сферах это наиболее востребовано? Или везде рутина с кнопочками, менюшками, слайдерами?
Dmitriy #464 #663386
>>663370
Тебе в СSS3 - тред. Кнопочки, менюшечки слайдеры гармошечки и анимации это CSS.
#465 #663387
>>663370
Можешь игорями обмзаться, если не хочешь кнопочки фронтендщикам полировать.
>>663403
Dmitriy #466 #663390
>>663370
Three.js если хочешь графоном обмазатся.
#467 #663403
>>663387
А что за игори? Можно пример?
>>663410>>663412
Dmitriy #468 #663410
>>663403
Шутеры гонки файтинги тетрисы, симуляторы, игор не видел что-ли?
>>663419
Dmitriy #469 #663412
>>663403
Даже хрень с охуенным сюжетом можно устроить, упарывай webGL Three.js для трехмерной графики или canvas и еще что-то для двухмерной.
#470 #663419
>>663410
А браузер потянет? У меня даже какое-то простое вращение планеток подвисает.
>>663427>>663431
Dmitriy #471 #663427
>>663419
http://threejs.org/
Потянет, по запускай примеры с гугла еще
https://www.chromeexperiments.com/webgl
Технология развивается, сетевые игры на ней уже есть.
https://www.urbangalaxyonline.com/
Dmitriy #472 #663431
>>663419
Браузер нормальный ставь Chromium, если старое железо то могут быть проблемы, но старое железо сейчас мало у кого, а технологию будут оптимизировать.
>>663460
#473 #663460
>>663431
Firefox - лучший браузер.
>>663466
#474 #663466
>>663510
#475 #663477
Господа, какой лучше IDE под JS выбрать для начинающего? Есть хорошие бесплатные среды?
#476 #663480
>>663477
Я быдло с сублаймом.
>>663502>>664082
#477 #663488
>>663502
#478 #663502
>>663480
>>663488
Спасибо.
#479 #663510
>>663466
Что сказать-то хотел? У них обоих "no" и "partial" по половине пунктов. Но хромой при этом с гуглозондом, и интерфейсом для слабоумных. Да, у фф нынче тоже. Но хромой начал это первым!
>>663525
179 Кб, 1162x1579
#480 #663525
>>663510
Охуительные у тебя половины.
Причем, у хрома куда более важные плюсы, чем у фф. Всё, что у фф зеленое можно выкинуть, и ничего особо не изменится. А в хроме есть Shadow DOM, Custom Elements, Touch events и прочие, без которых уже будет грустно

> Но хромой при этом с гуглозондом


Хромиум

> интерфейсом для слабоумных


По-моему интуитивно понятный интерфейс - это только плюс
>>663533
#481 #663533
>>663525

>Хромиум


Дак и там зонды через билд находят. Сам нагуглишь?

>По-моему интуитивно понятный интерфейс - это только плюс


Я и говорю - для слабоумных. Как еще называть тех для кого браузер с более чем тремя кнопочками непонятен?
>>663734
151 Кб, 1365x719
sage #482 #663546

>фф


>хром


сорта говна.

>Всё, что у фф зеленое можно выкинуть, и ничего особо не изменится


у хрома тоже. лучше бы сделали чтобы вкладка от простейшего видео не падала прежде чем какой-то хуйней меряться.
>>664055
17 Кб, 900x588
#483 #663550
Можно ли начинать с JavaScript как первого языка программирования?
>>663557
#484 #663557
>>663550
Можно. JS или C# - самые подходящие языки для начала. Главное не трогай питон или раби, а то привыкнешь и не сможешь писать на нормальных языках.
>>663575
#485 #663575
>>663557

> нормальных языках.


поссал на маньку, первым научился в питон, со скрежетом осилил убогие кавычки и курли бракетс в жс, получаю как боженька за стек django/flask+react/angular js ваще не юзаю python транспайлеры вся хурма...
#486 #663579
>>663575
поддвачну полубога python for live
>>663583
#487 #663582
>>663575

>пишет на языке для обучения


>считает себя крутым


Окей
#488 #663583
>>663575
>>663579
Ещё и засеменил себя. Ну самому-то не смешно?
2 Кб, 638x60
#489 #663609
Это как-то не смешно даже..
1 Кб, 391x45
#490 #663610
>>663609
Как будто этот ваш пистон чем-то лучше...
>>663611>>663620
#491 #663611
>>663609
>>663610
В чем дело?
>>663612>>663613
#492 #663612
>>663611
2 == 3
#493 #663613
>>663611
Погрешности плавающей точки.
>>663614
#494 #663614
>>663613
Где тут точка >>663609?
>>663616
#495 #663616
>>663614
В js вообще все числа с плавающей точкой, просто нули обычно отбрасывается.
#496 #663617
>>650246 (OP)
Где взять легкие задания, что бы набить руку? Чисто учебные примеры.
19 Кб, 505x519
#497 #663619
Здравствуйте. Ребят, в чем дело?

Первая часть кода (до строчки var dat = new FormData(); ) выполняется исправно - в mySel1 с сайта загружаются данные.

При отправке же запроса POST выдает ошибку на последней строке - "невозможно присвоить innerHTML от неопределенного объекта или равного null". Вероятно ошибка в выделенном значении (по всей видимости оно неопределенно), ибо когда я его явно указываю, то запрос выполняется.

Как в dat.append передать выбранное значение селекта?
>>663634
4 Кб, 501x117
#498 #663620
>>663610
Пиздёж. инб4: ынтырпрайз, продакшн, 2.6!
>>663621
#499 #663621
>>663620
Чо-т я в глаза ебусь, прошу прощения.
#500 #663624
Посоны хто внятно может пояснить замыкания?
#501 #663634
>>663619
Все, сам разрулил. Нужно код добавления данных в FormData() внести в ончейндж.
#502 #663734
>>663533
Двачую, гугло интерфейсы хуйня.
>>663736
#503 #663736
>>663734
Потому что они удобные, а тебе нужен интерфейс эксплорера?
7 Кб, 464x156
#504 #663738
Объясните почему пикрелейтед регулярка так криво ищет фразы?

Почему "проиграл с подливой" она ищет не цельно, а отдельно, а во втором примере вообще "проиграл" не находит? ig же стоит. Чего я не понимаю? Как написать правильно?
>>663741>>663744
#505 #663741
>>663738
У тебя в регулярке "проиграл с", как она тебе "проиграл" найдет?
>>663743
#506 #663743
>>663741
Блядь, точно, дошло, добра.
#507 #663744
>>663738
Скобочки не учили использовать?
38 Кб, 200x200
#508 #663768
Поясните за ember.js. Лучше ангуляра?
>>663773>>663783
#509 #663773
>>663768
Смотря по каким параметрам. Как по мне, ангулар лучше
#510 #663783
>>663768
Точно лучше первого ангуляра.
Со вторым пока что не так ясно.
#511 #663812
В этой либе что, нет умножения?
https://github.com/MikeMcl/bignumber.js/
#512 #663888
Помогите нюфагу. К примеру у меня в хтмл есть <div> - просто прямоугольник красного цвета. Моя задача сделать так, чтобы по клику их становилось 2.
Как это делается? Пиздец блять, две ночи плохо сплю, тупо нихуя не могу придумать.
>>663894>>663910
#513 #663894
>>663888
Обрабатывай клик и добавляй ещё один элемент, в чем проблема?
>>663905
#514 #663905
>>663894
Пиздец. Очевидно же, что проблема во мне. Я нюфаг. Ну я знаю onclick, но как сделать, чтобы появился новый div я не знаю.
Нюфаг же.
#515 #663910
>>663888
Посмотри продвинутый интенсив от htmlacademy 7-8 урок. Все разжевано
>>663932
#516 #663932
>>663910
Да, и еще я сам ньюфаня считай что, сделал бы как-то так (тут на вновь созданные тоже можно кликнуть и они плодятся)
Сделал только из того что было рассказано в этих двух видосах

http://jsbin.com/niqagofapi/edit?html,css,js,output

Жду критики
>>663935
#517 #663935
>>663932
Бля, не та версия, ща
>>663937
#519 #663943
>>663937
Норм
#520 #663944
>>663937
Спасибо, лучей добра.
#521 #664049
>>663477
Я юзаю пизженый ВебСторм, мне норм.
>>664147
#522 #664055
>>663546

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


Вот это двачую. Хромой самый ебланский в плане стабильности браузер из 3-х столпов(опера, лиса, хромой), постоянно падает сука, туда не пускает, сюда не пускает, а самое главное, что даже пидор не говорит, что за беда и почему я не могу зайти на какой-либо сайт(когда сертификаты не те, молча сука рубит и говорит - нет такой страницы, а ты блядь гадай, что за беда такая). Про сеттинги хрома я вообще молчу, я дико прозрел, когда нашел енкодинги во вкладке фонтов, это просто пздц. В общем, для малохольных браузер, единственный плюс по отношению к фф - лучше оптимизирован и на некропеках работает получше чем фф, тот чуть оперативы не хватает - сразу крашится.
>>664121
343 Кб, 1120x750
#523 #664082
>>663480
сублайм для илиты
#524 #664108
>>650402
С каких пор React стал фреймворком, да ещё и MVC?
#525 #664121
>>664055

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


Пиздеж. Довольно долго просидел на пекарне с 500мб оперативы, ни единого краша, даже при уходе в глубокий своп. Хотя в хром и правда работал пошустрей.
>>664130
#526 #664130
>>664121
Сижу на ноуте с 4 гигами и фф часто вылетает, чего хром не делал
>>664136
#527 #664136
>>664130
Ну и причем тут память?
#528 #664141
Ребята, у меня тут проблема: https://jsfiddle.net/pehqrna8/1/ (см. консоль) Мне нужно найти совпадения из массивов значений strJson.match.foo (а также .bar/.baz — каждого) в каждом объекте массива filterJson.with по полю name, например, filterJson.with[0].name. Я решил это при помощи O(n^4)-лупов (с for не получилось, возможно, потому, что я дебил — ошибку на одной из итераций выдавало, какую не помню уже), но это жуть тотальная, на один объект filterJson уходит 140мс, а таких будет много. Извиняюсь за кашу в примере, но, если разберётесь, подскажите, пожалуйста, как это улучшить.
>>664279
#529 #664147
>>664049
Эх, совесть же замучает... Но тоже испытаю.
#530 #664169
Нужно запилить небольшой юзерскрипт, что бы нажал кнопочку "g", и любая страница проскроллилась полностью вниз. Нажал кнопочку "f", и любая страница проскроллилась полностью вверх.
Возможно это несколько нахально с моей стороны, вот так вот вкатываться в тред и просить помочь запилить, но я вряд ли осилю, нужна помощь анона. Анон, помоги! Этож вроде не сложно, а конкретную информацию я нагуглить не могу.
>>664256>>664344
#531 #664256
>>664169
лень пиздец(
не могу сегодня заставить себя что-то делать.
>>664263
#532 #664263
>>664256
Анончик, если ты мне это действительно напердолишь — я и до завтра подожду. Главное напердоль! Браузер без этого сложно юзать.
>>664286>>664307
#533 #664279
>>664141

Я подумал, что можно просто выдрать один раз из обоих объектов необходимые элементы, выделив их в два массива, и по ним пройтись. Я уже неправильно сделал, что итерирую по strJson каждый раз, хотя он меняться не будет, завтра попробую.
#534 #664286
>>664263
На фрилансру(или чо там нынче в моде) за пару бакосв тебе напердолят.
>>664305
#535 #664305
>>664286
Там регистрироваться же нужно!
Да и на пару баксов я буду кушать три дня, а тут задача вроде довольно простая, я представляю как это сделать, но в саму реализацию не могу, так как не пишу на js. Вот может кому-то не лень будет, поможет.
#536 #664307
>>664263
Для браузера скрипты я не писал еще. Хз, мб завтра сделаю.
>>664320
#537 #664320
>>664307
Это же тоже самое, что и для сайта, просто итоговый скрипт нужно вставить в какой-нибудь greasemonkey и сделать глобальным. Потому я думаю, что это не очень сложно, не хотелось бы идти на фрилансы всякие по такой причине.
#539 #664358
>>664344
Правда если по уму то еще и e.target проверять надо, чтобы во время печати в инпутах экран не ебался. Но лень.
#540 #664373
>>664344
Тащемта работает, но есть две проблемы:
1. В инпутах действительно всё ебётся, и это пиздец. Можно хотя бы намёк на то как это исправить?
2. Юзерскрипт вроде включён, но не работает, нужно руками в сонсоле прописать, тогда норм. Случайно не знаешь чего так?

А в целом годно, я не понимаю почему авторы всяких Vimperator'ов не могут запилить всё так качественно, без хуйня и задержек. Спасибо.
>>664399>>664413
fgfg #541 #664399
>>664373
Таргет проверить надо, говорю же. Ладно, вот: http://pastebin.com/pGA83Mk8

А вот почему не работает - хз, у меня в ff\greasemonkey все нормально.
>>664426
#542 #664403
Может, кстати, ты просто страницы не прорефрешил, чтоб скрипт к ним подцепился после установки?
>>664426
#543 #664413
>>664373

>я не понимаю почему авторы всяких Vimperator'ов не могут


Ставь VimFx. Shift+g - скролл вниз, gg - скролл вверх. Всё работает быстро.
>>664426
#544 #664426
>>664399
Ты точно правильно скрипт сделал? У меня как пидорасило, так и пидорасит.
UPD:Это на луне не работает, на лисе таки работает, спасибо, пойду думать как это на луну "портировать".
>>664403
Рефрешил, но не подхватывалось. А уже подхватывается. Что изменилось? Не знаю, но работает и ладно.

>>664413
Я им и пользуюсь, но там по дефолту НОВЫЙ УЛЬТРАПЛАВНОМОДНЫЙ СКРОЛЛ 2016, который тоже тупит, а если FimFX накатить на PaleMoon, на которой я сейчас сижу, то тут вообще задержка жёсткая.
>>664428
#545 #664428
>>664426
Лол, теперь и тут работает, я скоро ёбнусь с этим вебом.
6 Кб, 164x226
#546 #664523
В общем, 3 недели назад начал изучать программирование. Выбор мой пал на этот язык.
Нашел в интернете разных заданий для новичков.
Вот одно из них:

Напишите программу, создающую строку, содержащую решётку 8х8, в которой линии разделяются символами новой строки. На каждой позиции либо пробел, либо #. В результате должна получиться шахматная доска.

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

var cell = 8;
var s = cell * cell;
var result = "";

for (var i = 1; i <= s; i++) {

//создаем строку с нужным колличеством символов для всей доски.
if ((result.length) % 2 !== 0) result = result + " ";
else result = result + "#";

//разбиваем большую строку на необходимое колличество рядов.
for (var m = cell; m <= s; m = m + cell + 1) {
if (result.length == m) result = result + "\n";
}
}

console.log(result);
#548 #664579
>>664523

> На сколько это говнокод? Догадываюсь, что есть куча других способов, которые на много короче и лучше и правильнее...


Не такой уж говнокод, просто нужно оформить всё это в виде функций, а не простыни кода, чтобы можно было удобно переиспользовать это в случае необходимости
#549 #664583
>>664523
Сойдет. Быдлокод выглядит так:
var result = "";
for (var i = 1; i <= 8*8+8; i++) {
result += !(i%9)?"\n":!(i%2)?" ":"#";
}

console.log(result);
>>664708
40 Кб, 680x243
#550 #664691
>>664523
Если в задании речь о строках, то показывай своё знание строк, чтобы все ахуели как ты можешь.
>>664701
#551 #664701
>>664691
Я правда тут хуйню написал, которая всё не так делает, ну да ладно.
#552 #664705
Больше говнокода богу говнокода!
var r="";
for(var i=0,c=1,s=[" ","#","\n"];i<72;i++,c=1-c) r+=i%9?s[c]:s[2];
console.log(r);
>>664708
#553 #664708
>>664583
>>664705
А почему это быдло-код?
>>664709>>664710
#554 #664709
>>664708
Чем сложнее написан код, тем сложнее его поддерживать. На олимпиадах может с тебя и охуеют, а вот в продакшенах тебя подкараулят после работы.
>>664712
#555 #664710
>>664708
Нечитаем. Из ынтерпрайза за такой код гонют ссаными тряпками.
>>664712
#556 #664712
>>664709
>>664710
Понятно, спасибо.
Тред утонул или удален.
Это копия, сохраненная 15 марта 2016 года.

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

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