Сохранен 505
https://2ch.hk/pr/res/396358.html
Домены arhivach.top и arhivach.site временно не функционируют! Используйте домен ARHIVACH.XYZ.
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Официальный JavaScript тред #3

 Аноним 17/10/14 Птн 13:53:31 #1 №396358 
14135396118020.png
Официальный JavaScript тред #3

Предыдущий: - https://2ch.hk/pr/res/385174.html


Ньюфагам:
1. Что это за язык такой? - Объектно ориентированный язык, наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам.
2. Ааа, так это хуйня чтоб типа текст покрасить при клике, или попап вызвать? - Это только малая часть того, что может язык. Сейчас, на JS можно делать игры, с 3д(three.js) графикой или 2д(phaser.js), можно делать игры и приложения для телефонов(phonegap, etc), можно делать десктоп приложения(node-webkit)
3. Ну ясно, а че еще можно? - А еще можно использовать на сервере, причем очень даже успешно. А все благодаря платформе node.js, и v8, который встроен во все хромоподобное.
4. Я щас ниче не понял, повтори. - Проще говоря, если ты не делаешь огромный интернет магазин, или хай лоад проект, то забудь о пхп или руби, используй javascript и node.js (базы данных прилагаются, mongoDB и sql-и тоже)
5. А че еще прикольного можно сделать - А еще есть MVC фреймворки, angular, backbone, ember, knockout и многое другое.
6. Нах оно надо? - Для создания web application, логики на клиент-сайд.
7. Мда столько хуйни всякой... А можно просто jquery учить, я слыхал щас все ее используют сайты - Не стоит, можешь начать писать на жыквери, когда будешь асом в других фреймворках, и, в частности самого нативного языка, но не раньше, не порть себе мозги
8. Ну все все бля, че как учить то? - Дальше я приложу список материалов для изучения

Учим JS:
Книги:
David Flanagan - "JavaScript: Подробное руководство" - маст хев, книга, которую будешь читать не раз. (Читать 6-е издание).
Дуглас Крокфорд "JavaScript: сильные стороны" - просто хорошая книга.
Стефанов С. - "JavaScript. Шаблоны"

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

Онлайн курсы:
Как же можно учить язык, только читая книжонки? Нужна практика, и только так изучаемое усваивается, не иначе.
CodeSchool - http://go.codeschool.com/KoeYkQ (не ругать за рефку, она прибавляет +2 дня бесплатного пользования)
Отличный ресурс для изучения языка, очень много курсов по всем передовым технологиям.

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

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

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

А потом? Я и так уже гений!!!

Выбери себе направление, может, ты хочешь игори делать, тогда вперед на гитхаб, и ищи phaser, pixi и другое, выбор велик.
Хочешь на сервер сайд, на самой хипстерской технологии? Копай в сторону node, express, socket io.
Хочешь писать MVC логику? Angular, backbone, да множество их.

Ну, а мы продолжаем наш JavaScript тред #3
Аноним 17/10/14 Птн 13:59:41 #2 №396361 
14135399817850.jpg
Перекатываю реквест книги.
Аноним 17/10/14 Птн 14:01:21 #3 №396362 
>>396361
Мне тебе жаль давать книгу, потому что ты без опыта уебок, а идешь работать на эту должность, а я с опытом, и нигде мне нет применения, ты ведь из Москвы, да?
Алсо, книга - хуита
Аноним 17/10/14 Птн 14:10:57 #4 №396366 
14135406576860.jpg
Посоны, посоветуйте опенсорсный проект желательно на angular или backbone с низким порогом входа, что бы потом гордо показывать принятые пул реквесты на собеседованиях.
Реквестирую так же общих советов о том, с чего начинать человеку, который решил стать крутым контрибьютором
Аноним 17/10/14 Птн 15:08:35 #5 №396371 
>>396361
На русском лол?
>>396362
Сам ты хуита.
Аноним 17/10/14 Птн 15:19:22 #6 №396374 
>>396362
Аноны, давайте пожалеем этого пидораса
Аноним 17/10/14 Птн 15:33:17 #7 №396376 
14135455973780.jpg
>>396374
))
Аноним 17/10/14 Птн 15:36:47 #8 №396377 
>>396361
>>396374
Книги не нужны. По крайней мере в мире JS решается связкой документация + туториалы + стек оверфлоу. Прув ми вронг
Аноним 17/10/14 Птн 15:37:01 #9 №396378 
14135458212890.png
>>396376
)))
Аноним 17/10/14 Птн 15:38:54 #10 №396379 
>>396378
>Английский
)))))))))
Аноним 17/10/14 Птн 15:40:00 #11 №396380 
>>396379
>2014...
Аноним 17/10/14 Птн 16:19:38 #12 №396385 
>>396380
> ...
> 2014
Аноним 17/10/14 Птн 16:51:21 #13 №396390 
Ананас, помоги с ng-include в ангуларе, есть странное желание впихнуть туда полностью рабочий левый апп из стороннего файла.
Точнее, есть мелкое приложение на ангуларе (ng-app вместе с html, css и тд, а не просто скрипт) которое лежит отдельно и вполне себе работает. Задумал я его прикрутить к другой, большой страничке, и чтобы не замарачиваться самокопирастией, заинклюдить его в эту самую большуй страничку.

Собственно суть - как заставить ангулар исполнять свой же код из этого файла, а не тащить оттуда только текст
Аноним 17/10/14 Птн 18:35:43 #14 №396413 
14135565434930.jpg
Предлагаю обсудить архитектуру веб приложений.

Я для себя выделяю два направления:
1) MVC на сервере с шаблонизатором
2) REST сервис и MVC фреимворк (например angular) на клиенте

Сам я приверженец второго подхода.
Такие дела, первое прошлый век и говно.
Аноним 17/10/14 Птн 18:40:09 #15 №396414 
>>396413
Это тебе хипстеры со старбакс сказали?
Аноним 17/10/14 Птн 18:43:54 #16 №396416 
>>396414
Это мое мнение сформировавшееся в процессе участи в проектах с архитектурой 1 и 2 и более убой типа старого asp.net.
Аноним 17/10/14 Птн 18:49:06 #17 №396420 
>>396413
Твоя архитектура подходит для парашных лендингов и визиток для ашотов, впрочем большего ты и не заслуживаешь, опущенец
Аноним 17/10/14 Птн 18:51:36 #18 №396421 
>>396420
Почему? Назови хоть одну причину.

Толстых клиентов много и они успешно работают.
Аноним 17/10/14 Птн 19:24:26 #19 №396432 
>>396413
Блять, ну очевидно что второе лучше, это т.н. web 2.1. Первое вообще ещё существует? Ну кроме громоздкой легаси-параши, которую переписать не дают лишь тупые манагеры, ОНО Ж И ТАК РАБОТАИТ.
Аноним 17/10/14 Птн 21:28:48 #20 №396463 
>>396358
ОП-картинка годная, особенно в части Ext.js. Я сегодня весь день правил баги в мешанине из Ext 3.0 и кусков HTML с сервера. А потом полчаса ехал домой на велосипеде под проливным дождем.Ощущаю себя точно также как Ext-товарищ с пикчи. И почему я в манагеры не пошел.
Аноним 17/10/14 Птн 22:54:28 #21 №396495 
>>396421
Сразу виден уровень параши над который ты гнул спину, задавая такие тупые вопросы
Навали мне примеров толстых клиентов с хайлоад веба и с корп параши
Аноним 17/10/14 Птн 22:56:42 #22 №396498 
>>396432>>396432
блять еще один
прям знал что петухов в жс-треде встречу
Аноним 18/10/14 Суб 00:41:09 #23 №396536 
>>396495
gmail не?
Аноним 18/10/14 Суб 00:45:55 #24 №396537 
>>396495
фэйсбук, вконтакт, твиттер
Аноним 18/10/14 Суб 02:43:01 #25 №396551 
>>396537
Лицокнига - тормознутое говно, твиттор перешел на сервер сайд еще в 2012, вкудахт не знаю.
Аноним 18/10/14 Суб 04:58:32 #26 №396558 
http://jsperf.com/angular-vs-knockout-vs-ember/309
Котаны, тут какой-то мифрил ещё есть.
Аноним 18/10/14 Суб 06:41:30 #27 №396560 
>>396537

Твиттер отказался от жирного фронденда так как тормозил их REST API неимоверно. В итоге быстрее отдавать готовый HTML: https://blog.twitter.com/2012/improving-performance-on-twittercom
Аноним 18/10/14 Суб 08:19:57 #28 №396565 
>>396560
Ты читал жопой. С масшабируемостью REST API можно ускорить на любые нагрузки. Тормозил как раз жирный клиент. Слишком долго загружается и выполняется жс, потом ещё нужно затянуть данные и показать.

Кто-то охуенно сказал, что на яваскрипте нужно писать так, чтобы было как можно меньше яваскрипта. По-моему даже сам его создатель.
Аноним 18/10/14 Суб 10:35:10 #29 №396577 
14136141105370.jpg
>>396358
Нужно запилить панель настроек пикрилейтед. При этом, при выборе разных параметров и чекбоксов появляется еще больше настроек и так далее.
Как это лучше всего организовать в коде? У меня получился жуткий говнокод.
Аноним 18/10/14 Суб 10:37:12 #30 №396578 
14136142329310.png
>>396577
Блядь, не Эмма. Пикрилейтед.
Аноним 18/10/14 Суб 12:30:40 #31 №396593 
>>396565
Как тогда писать правильно и зачем вообще мвс фреимворки?
Аноним 18/10/14 Суб 12:55:27 #32 №396598 
>>396495
github, twitch, большинство сервисов от гугла

>>396565
>Слишком долго загружается и выполняется жс, потом ещё нужно затянуть данные и показать
О кэшировании мы не слышали, о том что js в среднем всего в 4 раза медленнее крестов - тоже.
Аноним 18/10/14 Суб 13:44:39 #33 №396610 
>>396598
> js в среднем всего в 4 раза медленнее крестов
только в синтетикасказках
Аноним 18/10/14 Суб 14:36:43 #34 №396620 
>>396598
Ну пойди расскажи твиттеру про кеширование, про три семёрки.
Аноним 18/10/14 Суб 15:04:34 #35 №396623 
>>396598

js быстрый, а взаимодействие с DOM медленное, особенно если страницу верстал помешанный на CSS3 хипстер, не умеющий в профайлинг верстки.

Взаимодействие с сервером тоже не мгновенное. А ваш REST (если он чистый) не позволяет группировать запросы. Я представляю, как они данные по одному твиту за раз выкачивали там.
Аноним 18/10/14 Суб 15:05:51 #36 №396624 
>>396598

Кеширование в современнном интернете работает, но недолго, так как каждый второй сайт содержит кеширующие заголовки на статике и вытесняет кеш других сайтов. Опять, видно что ты с этим только в теории знаком понаслышке.
Аноним 18/10/14 Суб 15:33:01 #37 №396632 
>>396358
Какая связь между людьми и фреймворками на оп-пике?
Аноним 18/10/14 Суб 15:35:28 #38 №396633 
14136321281520.jpg
>>396632
Ты спрашиваешь потому что пишешь на ванильном жс?
Аноним 18/10/14 Суб 15:38:42 #39 №396634 
>>396620
>>396623
>>396624
Что так бомбит то? Из пыхотреда чтоли?

>>396620
В рот ебал твиттер, то его на руби переписывают, то на скале, то еще на чем. Иди гуглу расскажи.

>>396623
Что мешает использовать DocumentFragmentы? Вообще зачем обращаться к DOM, точно так же можно шаблоны в виде текста собирать до готового вида.
> А ваш REST (если он чистый) не позволяет группировать запросы
Обсуждаем не rest а толстых клиентов, да и хуйня это все, ты же не жалуешься что нельзя сгруппировать запросы на статику (изображения те же).

>>396624
Сколько разных сайтов ты посещаешь за день? Я не больше 10.
Аноним 18/10/14 Суб 16:03:52 #40 №396640 
>>396578
>>396577
Angular
Аноним 18/10/14 Суб 16:05:45 #41 №396643 
В общем нормальная, принятая в программировании сервис-ориентированная архитектура в вебпараше не прижилась. У вебпараши свой богоизбранный путь, с динамической генерацией говностраничек прямо на серверсайде. Была бы возможность, макаки и мобайл-клиентам отдавали бы готовую вьюху и вообще подстроили бы свои серверные быдлоскрипты под все возможные форматы мира. Чистые данные не нудны, зачем, если можно самому все обернуть, на каждый кейс, на каждый клиент - новую генерирующуюся на сервере страничку и даже через ajax и по вебсокетам будут передаваться не данные, а куски страниц.
Аноним 18/10/14 Суб 16:16:55 #42 №396648 
>>396633
Дело не в том, согласен ли я с сопоставлениями, а в том, что я не совсем их понимаю. Ну типа на ванильном js пишут задроты, на ExtJS - тырпрайзо-рабы, на ноде - хипсторы, на метеоре - успешные. Но остальное нихуя не понятно. Моя догадка: на эмбере пишут нигры, на ангуляре - трапы-домоседы, на джиквери - умственно-отсталые, а на бекбоне - быдло.
Аноним 18/10/14 Суб 16:47:14 #43 №396654 
>>396643
>нормальная, принятая в программировании сервис-ориентированная архитектура в вебпараше не прижилась
В данные рекламу не воткнешь, в отличие от страницы.
Аноним 18/10/14 Суб 19:06:36 #44 №396687 
>>396648
Правильно ты всё понял. На жс пишут только отборные отбросы-аутисты. Даже фашисты и то лучше.
Аноним 18/10/14 Суб 21:31:55 #45 №396710 
>>396687
Я пишу на многих языках без анальной боли, что со мной не так?! Да похуй на чем писать, лишь бы анонимные функции были, без них жизни нет.
Аноним 18/10/14 Суб 21:43:22 #46 №396714 
Как же меня бесит ёбаный жабоскрипт с его миллиардом фреймворков, аааа!
Аноним 18/10/14 Суб 21:43:25 #47 №396715 
>>396710
Многие это рнр руби питон?
Аноним 18/10/14 Суб 22:39:42 #48 №396718 
>>396715
Нит, только последний.
Аноним 18/10/14 Суб 22:42:55 #49 №396719 
14136577753850.png
Сделал на ангуляре журнальчик просмотра логов в реальном ИРЛ времени, понятное дело что при объеме журнальчика 500 строчек и скорости логов 30-40 строчек в секунду он начинает тормозить.

Проблема немного решается троттлингом, но тогда у пользователя начинает тормозить сам журнальчик. Что делать? Думаю сделать такой журнальчик по-старинке, без ангуляровских биндингов, на языке жиквери, методами append/prepend, накрайняк можно конечно и на чистом жс накатать, но это на крайняк.
Аноним 18/10/14 Суб 22:49:23 #50 №396720 
[CODE]angular.module('wow', [])
.controller('wowCtrl', wowCtrl);


var wowCtrl = function ($scope) {
$scope.wowCount = 10;
};[/CODE]

Да ебаный же в рот. Пишет что функция андефайн! Где ошибка то?
Аноним 18/10/14 Суб 22:52:24 #51 №396721 
>>396720
$scope.wowCtrl = function

же
Аноним 18/10/14 Суб 22:52:42 #52 №396722 
>>396720
Дебил, объявление функции должно быть очевидно раньше ее использования
Аноним 18/10/14 Суб 22:56:16 #53 №396723 
>>396719
Из всех навороченных фреймфорков с 'провайдерами фабрик' - самый быстрый knockout, если нужна адова производительность - нужно использовать микрофреймворки mithril/vue/mercury или elm. Даже видел где-то бенчмарк на гитхабе - первые три примерно равнозначны по скорости, elm чуть помедленнее.

мимопроходил
Аноним 18/10/14 Суб 22:56:21 #54 №396724 
>>396721
Так не сработало.
>>396722
Точно же, я перепутал ебаные объявления.
Аноним 19/10/14 Вск 00:18:51 #55 №396751 
14136635315790.jpg
Анонасеры, как правильно законектится к MongoLab, через mongoose?
Создал там акк, создал юзера (pidor) Database Users, затем в своем апп.жс
var mongodb = 'mongodb://<pidor>:<porol>@ds039960.mongolab.com:39960/mydatabase';

Но при запуске апп.жс выдает ошибку failed to connect to ds039960.mongolab.com:39960

ЧЯДНТ?
Аноним 19/10/14 Вск 00:22:10 #56 №396754 
>>396723
Спасибо за информацию.

http://paste.org.ru/?d2ir0v - вот тебе симулятор subleq-микропроцессора. Очень нужная и полезная в хозяйстве вещь, как говорится "кто не впишется - вылетит с рынка"
Аноним 19/10/14 Вск 00:42:12 #57 №396757 
14136649329330.png
Со дня на день уже выйдет express 5.0.0
Как думаете, подготовили ли для нас ченить вкусного?
Аноним 19/10/14 Вск 02:12:48 #58 №396771 
>>396757
Там последние версии на уровне "обновить зависимость Х" и мелкие багфиксы. Каких ништяков тебе не хватает?
Аноним 19/10/14 Вск 02:40:47 #59 №396773 
>>396771
Не знаю, просто думаю, может для круглой циферки что-то припасли.
А вообще меня щас волнует только одно, как пофиксить эту хуйню! -> >>396751
Может, не конектит потому что я пытаюсь сделать это через localhost, а надо залить на какую нибудь хероку?
Аноним 19/10/14 Вск 03:16:23 #60 №396777 
>>396773
>пытаюсь сделать это через localhost, а надо залить на какую нибудь хероку
Это никакого отношения тут не имеет.
Может данные не те ввел? C монголаб это частая хуйня.
Аноним 19/10/14 Вск 03:37:08 #61 №396778 
Аноны, ответьте на вопрос. Вот у нас есть массив объектов, и есть функция которая возвращает элемент этого массива. У возвращаемого объекта можно добавить или поменять свойство и это отразиться на объекте в исходном массиве. Но если мы поменяем значение объекта, например присвоим ему число или другой объект, то значение в исходном массиве не поменяется. Какого хуя вообще блядь?
Аноним 19/10/14 Вск 04:22:25 #62 №396779 
>>396778
В первом случае ты меняешь сам объект.
Во втором ты ссылку на объект затираешь значением переменной.

И показывай код.
Knockout Аноним 19/10/14 Вск 07:11:09 #63 №396785 
Сосаны, что скажете про Knockout? Почему все повернуты на ссаном Angular'e? Ссылки на говно Хабру не кидайте, а поясните по-хардкору, по-стекоферфоловски!!!
Аноним 19/10/14 Вск 13:31:31 #64 №396826 
>>396778
Такое поведение почти всем языкам. Разве что в С любая переменная является значением. В итоге всё скатывается в тоже самое, только более явно.
По началу новичкам говорят просто что вот если изменим объект здесь то это отразится на объекте там. Но чтобы полностью понять это тебе придётся привыкнуть к тому что все переменные ссылки.
Ещё одни грабли на которые ты можешь наткнуться это то, что во многих языках строки иммутабельны. А в джаваскрипте они каким то хером оказались примитивом (только что посмотрел на стековерфлоу - ну просто охуеть). То есть у тебя не получится закинуть строку в функцию и там её как-нибудь изменить, чтобы это отразилось на внешней строке. Всякие там "+=" - все равно присваивание, а не модификация.
>>396785
Ты же понимаешь что никто здесь не собирается писать адекватный ответ? Либо адекват-кун всё же пояснит каким образом ангулар в своё время смог отхватить себе аудиторию и как гугл смог зафорсить его в интерпразе. Либо школьники будут представлять любимые фреймворки как решение всех проблем.
Более того в мире js преобладает такое количество быдла, что и во внешних интернетах (не бордах) разговор происходит также неаргументировано. Вместо того чтобы объяснять в какой момент человек осознал что не может дальше писать скриптике без провайдеров, он представляет себя менеджером "да это же проверенное энтерпрайз решение, вот сейчас я напишу свой туду лист а завтра меня приглашают в фейсбук". Ну или может я преувеличиваю может реально вся эта js хуета нужна и фреймворки все эти годнота на годноте. Я ведь до сих пор не знаю зачем нужны DI IoC.
Аноним 19/10/14 Вск 13:53:23 #65 №396828 
>>396785
В плане удобства самого фреймворка в общем-то ничем, но ангуляр намного популярнее, а соответственно ты получаешь тысячи библиотеки на все случаи жизни.
Хотя я все-равно предпочитаю react с flux, все его штуки заимствованные с функциональной параши на удивления удобны, я даже стал подумывать осилить кложуру.
Аноним 19/10/14 Вск 14:00:34 #66 №396832 
>>396785
С ним такой заёб есть, что нужно вместо значений вставлять ko.computed, ko.observable и прочее. Но зато оно вроде бы позволяет делать вещи чуть быстрее, так как свойство устанавливается вызовом функции, а не периодическим сравнением.

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

В ангуляре зато есть тестирование. Но нахера оно нужно рядовому фронтэндеру я вот до сих пор плохо понимаю. Разве что сам ангуляр тестить.

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

С нокаутом всё проще. Но я немного хуею со связочки knockout+knockback+backbone, которую мне довелось трогать. По сути весь геморрой только ради бэкбоновского REST. Ребята тут нахерачили какой-то ад с моделями. В общем тоже можно наговнокодить на отлично.
Аноним 19/10/14 Вск 14:07:55 #67 №396833 
>>396377
>книги не нужны
Вот кстати двачую. Просто ЛЮТО. Для изучения основ намного эффективнее прочесть небольшой туториал и потом просто смотреть документацию. Я в одно время читал очень много книжек, как результат - много букв, мало толку. Нужно сразу садиться и писать код, а книги использовать как справочники, но долго на них не задерживаться.
Аноним 19/10/14 Вск 16:28:22 #68 №396861 
14137217029570.png
>>396777
Ну блин. Я уже всю ночь и весь день мучаюсь. В гугле все похожие ошибки решились неправильным вводом логина, или закрытого порта. Я уже все поправил, и теперь просто в замешательстве. Что же не так?
Аноним 19/10/14 Вск 17:21:51 #69 №396878 
>>396861
Ты < > в mongouri чтоли ставишь?
Аноним 19/10/14 Вск 23:41:40 #70 №397037 
Аноны подскажите как лучше сделать.
Вообщем получаю JSON с сервера, сую его в объект, оттуда нужную информацию в DOM (просто ul>li список получается). Надо сделать возможность сортировки по алфавиту (и наоборот). Как лучше сделать на vanillaJS: брать инфу из DOM, засовывать в массив, сортировать и обратно или из первоначального объекта в массив, сортировать и в DOM. И второй вопрос как сделать фильтрацию по вводимому слову, т.е. чтобы оставались только те позиции, которые ему удовлетворяют, как в одном из примеров к ангуляру.
Аноним 20/10/14 Пнд 09:54:30 #71 №397099 
>>397037
1. Сортируй до вставки в DOM
2. Если не брезгуешь JQuery - повесь обработчик на изменение текста в поле-фильтре и прячь\показывай элементы по значению в нем. Без JQuery - суть та же.
Аноним 20/10/14 Пнд 12:04:37 #72 №397122 
>>396861
killall nodejs
Аноним 20/10/14 Пнд 15:49:00 #73 №397167 
Объясните по хардкору за .factory в ангуляр? Где вы применяете фабрики?
Аноним 20/10/14 Пнд 17:01:07 #74 №397183 
>>396577
>У меня получился жуткий говнокод.
ебать, ещё бы, это же Эмма Ватсон
sageАноним 20/10/14 Пнд 23:48:18 #75 №397310 
>>396366
Читать документацию по бекбон и написать тудулист.
Аноним 21/10/14 Втр 00:56:53 #76 №397346 
>>396390
бамп, че, не знает никто ?
Аноним 21/10/14 Втр 01:25:44 #77 №397357 
14138403448400.png
Второй день уже голову ломаю. Ну что не так в коде то?
В саппорте монголаб сказали, что с их стороны все ок, и все у всех конектится. Помогите.
Аноним 21/10/14 Втр 01:49:07 #78 №397359 
>>397357
Зачем ты логин и пароль в этих ебучих кавычках (< и > или как там их) ставишь?
Аноним 21/10/14 Втр 01:59:25 #79 №397361 
>>397359
Скопипастил example с монголаб, убрал кавычки, но один хуй таже ошибка.

mongoose.connect('mongodb://hikka:[email protected]:47030/hello');

ну и как искать ошибку то? Не пойму.
Аноним 21/10/14 Втр 02:27:37 #80 №397364 
>>397361
Странная хуйня, попробовал щас подключится к другой базе, вот к этой.
http://runnable.com/U0MpcpIzdaRkX2VH/querying-mongodb-from-express-using-mongoose-for-node-js
Там пендос любезно дает свой лог и пороль к базе. Но почему к его бд конектит, а к моей нет?
Аноним 21/10/14 Втр 03:23:50 #81 №397370 
>>397364
Значит где-то ты не те данные вводишь.
Аноним 21/10/14 Втр 03:31:13 #82 №397372 
14138478733950.jpg
14138478733961.jpg
>>397370
Все, подключился к бд, с локалхоста отправил пару запросов, и они добавились в бд на монголаб. А проблема была в том, что я писал hikka, а бд называется hikki. Какой же я невнимательный уебок. Но сейчас уже другая проблемка. Вот я добавил в свою todo app новый пункт, он добавился в бд на монголаб, правда криво (пикрелейтед). И при обновлении сайта на локалочке, добавленный пункт не отображается, хотя в бд он есть, и по идее должен быть и на сайте схоронятся. алсо, в консоли ошибочку с res.sendFile пофиксил, не помогло никак
Может кто знает в чем может быть проблема?
Аноним 21/10/14 Втр 03:49:24 #83 №397373 
>>397372
А что у тебя по пикрилатед? Где ошибка? Каков ожидаемый результат?
Аноним 21/10/14 Втр 03:54:02 #84 №397375 
14138492423600.jpg
>>397373
Помню еще до подключения мангус, при добовлении нового слова, в консоли оно отображалось, то есть не {} а {ХУЙ}
Сейчас пикрелейтед, добовляю в тодошку слово, а оно не отображается, и в бд и в консоли заносится как пустое место, хотя в консоли хрома статус ок, все отправилось. Щас буду ковырять конфиг мангуса, хотя там тоже все верно вроде, name: String
Может проблема может крытся в выводе инфы через ангуляр? Хотя там тоже все ок.
В Консоли кстати есть ошибка Failed to load resource: net::ERR_CACHE_MISS , в гугле толковых ответов нет.
Аноним 21/10/14 Втр 04:08:03 #85 №397378 
>>397375
Данные из формы где-то проебывается. Монго похуй пустая у тебя там строка или мега длинный текст, документ он создаст в любом случае.
Копай в обработчике пост запроса,
Аноним 21/10/14 Втр 04:15:01 #86 №397379 
14138505019680.jpg
14138505019701.jpg
14138505019712.jpg
14138505019733.jpg
>>397378
Пытаюсь ковырять обработчик в ангуляр, с его $resource. Но проблема в том что я не пойму, как должно быть правильно, чтоб все работало. Посмотри рилейтед скрины, может сможешь выявить там эту ошибку? Я боюсь долго помучаюсь.
Аноним 21/10/14 Втр 04:30:26 #87 №397381 
14138514267020.jpg
гет запросом вывел то что есть в бд. вот и весь прогресс. эх. пойду спать. завтра продолжу.
Аноним 21/10/14 Втр 04:55:16 #88 №397383 
>>397381
Не знаком с ангуляр, поэтому тут я пасс, но если взять традиционным способом, то у инпутов жи должен быть атрибут name.

Когда ты делаешь new WoWCtrl(req.body) (4-й пик) то req.body у тебя пустой объект {} (а тебе надо чтобы он был в таком ввиде: { name: "блаблабла" }), а т.к. в твоей схеме (пик 3) поле name не обьязательный (гугли mongoose validation), то монгус не проверяет его наличие и тупо создает новый документ с айди и versionkey (__v, хз как перевести) и сохраняет его.
Может в ангуляре по другому все делает, хуй его знает.
Аноним 21/10/14 Втр 08:30:06 #89 №397396 
Есть .js, который выполняется в терминале, как его выдачу преобразовать в динамичную html и захостить для доступа к чтению лога извне (с телефона, пока сижу на паре.)?
Аноним 21/10/14 Втр 12:08:18 #90 №397462 
>>397396
Совсем бака, что ли?
Поменяй console.log на node.innerHtml += 'asd'
Аноним 21/10/14 Втр 18:44:07 #91 №397550 
>>396358
Реквистирую React в следующий ОП-пик.
Аноним 21/10/14 Втр 18:56:19 #92 №397556 
>>397462
Совсем-совсем. Такая бака, что тебе и не снилось. Не завелось.

node.innerHtml += 'asd'('%s sent: %s.', chatter, message);
^
ReferenceError: node is not defined
Аноним 21/10/14 Втр 18:56:26 #93 №397557 
14139033868550.jpg
Прошел курс по js на http://www.codecademy.com/, все понял вроде бы. Начал читать учебник Ильи Кантора, вроде бы нормально идет. Решил написать что-то простенькое вроде слайдера. Открыл примеры слайдеров и охуел от кода. Нихуя не понятно почти. Как это все понять, что почитать/посмотреть?
Аноним 21/10/14 Втр 19:23:11 #94 №397559 
>>397557
Не открывай примеры, пиши сам. В примерах только функционал смотри, если сам не знаешь что нужно и думай как его реализовать.
P.S. большинство готовых слайдеров на JQuery написаны, может поэтому не понятно?
Аноним 21/10/14 Втр 20:23:58 #95 №397575 
14139086385770.jpg
>>397556
>Поменяй console.log на node.innerHtml += 'asd'
>node.innerHtml += 'asd'('%s sent: %s.', chatter, message);
Я даже не знаю, какую пикчу запостить чтобы передать всю глубину этого фейла.
Аноним 21/10/14 Втр 20:33:45 #96 №397579 
>>397575
Я не программист же! Вот весь код:
http://pastebin.com/qgWbTTr3
Аноним 21/10/14 Втр 20:55:50 #97 №397584 
>>397037
С сортировкой не могу понять как сделать правильно, надеюсь на вашу помощь.
В ul>li списке находятся картинки, названия к ним, ссылки. Сортировка должна происходит по названию. Но если помещать в массив только названия, то только они и отсортируются. Т.е. при вставке в DOM названия окажутся не у тех картинок и ссылок т.к. они остались в том же порядке. Чето вообще не могу догнать как это все привязать друг к другу.
Аноним 21/10/14 Втр 21:01:24 #98 №397586 
14139108842650.png
>>397550
Вот картинка для следующего треда
Аноним 21/10/14 Втр 21:03:15 #99 №397587 
>>397584
Сортируй до вставки в DOM. Например, тебе приходит массив:
[
{ id: 341, img: 'img1.png', title: 'BBB' },
{ id: 261, img: 'img2.png', title: 'AAA' },
{ id: 921, img: 'img3.png', title: 'CCC' }
]

Сортируешь его по title и результат уже вставляешь в DOM. Так ничего не перемешается. Если не получается, возвращайся с примером на jsbin.com или аналоге.
Аноним 21/10/14 Втр 21:20:11 #100 №397592 
>>397579
Тебе надо этот кот засунуть в nodejs, писать вместо консольки в какую-нибудь базу данных или файл, а при запросе странички отдавать содержимое.
Аноним 21/10/14 Втр 21:24:32 #101 №397594 
>>397592
Я его запускаю
> node chat.js
И вывод идёт в консольку, а нужно
> в какую-нибудь базу данных или файл, а при запросе странички отдавать содержимое.
Аноним 21/10/14 Втр 21:25:59 #102 №397596 
>>397594
Ну так сделай, епт. Нагугли mongodb и как в nodejs хеллоуворлд делать.
Аноним 21/10/14 Втр 21:44:36 #103 №397600 
14139134769780.jpg
>>397594
в консольке набери
node chat.js > yoba.html
firefox yoba.html
знаешь что такое консолька? это такое черное окно с мелкими буковками!
Аноним 21/10/14 Втр 22:06:05 #104 №397609 
14139147650890.png
14139147650921.jpg
>>397600
Ну я не дебил же, пробовал так, но получается пикрилейтед. Просто текстовый файл с расширением .html
И как захостить непонятно.

>>397596
> Нагугли mongodb
Нагуглил. Ничего не понял.
Аноним 21/10/14 Втр 22:39:22 #105 №397620 
>>397609
>Просто текстовый файл с расширением .html
А тебе, сырна, какой файл надо?
>как захостить
Гугли что такое веб-сервер.
Проще всего так:
- ставишь пайтон
- в консольке пишешь python -m SimpleHTTPServer
на 8000 порту у тебя будет сервер со статикой из текущей директории.
Аноним 21/10/14 Втр 22:57:02 #106 №397627 
>>397620
Тогда уж Node.js. Там и исходник под него. Гуглить node.js + express
Аноним 22/10/14 Срд 09:08:45 #107 №397694 
Ололо, что такое node.js?
Аноним 22/10/14 Срд 14:32:13 #108 №397731 
>>397694
серверная хуита
Аноним 22/10/14 Срд 16:43:28 #109 №397772 
>>397587
Спасибо, сортировка работает. Но не работает вместе с фильтрацией, т.к. функция фильтрации берет инфу из DOM, а сортировка ее обновляет каждый раз. Можно конечно тоже фильтровать массив первоначальный, но получится слишком ли много манипуляций с DOM. При вводе каждой буквы будет вся страница перерисовываться. Как этот момент грамотно сделать?
Аноним 22/10/14 Срд 17:34:56 #110 №397803 
>>397772
Хотя сортировка все таки должны быть после вставки в DOM, чтобы она манипулировала только теми элементами которые отфильтровались. Только как правильно в объект засунуть конструкцию вида:
<li><div class="image"><a><img src>...</img></a><div class="title"><a>...</a></div></li>
Чтобы отсортировать как массив объектов и вернуть обратно.
Аноним 22/10/14 Срд 17:53:28 #111 №397807 
>>397586
Типаж подходящий, молоца.
А вот эмблема реакта почему-то с артефактами сжатия, нужно поменять.
Аноним 22/10/14 Срд 17:54:03 #112 №397808 
>>397803
Этого не нужно делать. Мысли абстрактней: у тебя есть слой логики, есть слой отображения (MV-паттерн, по-сути). В модели находятся данные, которые ты изменяешь (сортируешь, фильтруешь, etc). Вторым шагом идет рендеринг колекции в DOM. Естественно, что придется добавить немного буферных коллекций медлу моделью и отображением - в них будет хранится текущее состояние модели, то есть фильтрованое и сортированное, ведь ты не хочешь проебать данные модели после фильтрации.
Аноним 22/10/14 Срд 19:08:13 #113 №397835 
>>397808
Если не сложно можешь словами структуру описать примерную
Аноним 22/10/14 Срд 19:32:31 #114 №397841 
>>397835
Посмотри русскую доку по бекбону, раздел views.
В двух словах, вешаешь листенер на контролы сортировки и фильтрации, в листенере проверяешь берешь значения контролов, пидорасишь коллецию, рисуешь в DOM что получилось.
Аноним 22/10/14 Срд 20:11:28 #115 №397847 
>>397835
Если не хочется тащить бекбон ради одной вещи, есть более простое и нубское решение - клиентская шаблонизация. Handlebars, например. Создаешь шаблон вида
<ul>
{{#each items}}
<li><a href="{{url}}">{{title}}</a></li>
{{/each}}
</ul>

Делаешь что-то с массивом (сортировка, фильтрация, чтоугодно), скармливаешь результат шаблонизатору, на выходе получешь строку с готовым HTML.
Аноним 22/10/14 Срд 20:26:42 #116 №397853 
>>396358
Анон, поясни за VanillaJs.
Аноним 22/10/14 Срд 20:59:35 #117 №397858 
>>397853
Нативный js, ньюфаня. На оф сайте не видно что ли?
Аноним 22/10/14 Срд 22:16:41 #118 №397872 
>>397858
Но зачем? Есть же няшный жеквери.
Аноним 22/10/14 Срд 22:53:22 #119 №397876 
>>397872
На сегоднешний момент jQuery интересен только огромным количеством готовых плагинов. Кроссбраузерность отлично решается полифилами, а для чего то крупного лучше использовать MV фреймворки
Аноним 23/10/14 Чтв 01:53:27 #120 №397924 
>>397876
>полифилами
Поясни.
Аноним 23/10/14 Чтв 02:15:39 #121 №397926 
>>397924
https://remysharp.com/2010/10/08/what-is-a-polyfill
Аноним 23/10/14 Чтв 02:31:34 #122 №397927 
>>397872
Без знания нативного жс никогда не найдешь годную работу.
Аноним 23/10/14 Чтв 06:59:32 #123 №397948 
>>396358

ОСВЯТИЛ ТРЕД

http://habrahabr.ru/post/215777/
Аноним 23/10/14 Чтв 07:33:38 #124 №397953 
>>397948
ОПА, ОПЕЧАТКА
Аноним 23/10/14 Чтв 12:15:32 #125 №398022 
>>397948
Глупо. JS то безальтернотивен, в отличие от всяких похапе, который можно заменить десятком серверных языков. Тут хочешь, не хочешь, а придется работать с тем что есть.
Аноним 23/10/14 Чтв 13:35:37 #126 №398032 
14140569378400.jpg
>>396358
Суп, ананасы.
Вопрос:
Я пишу приложение для Хрома, там нужно использовать рекапчу.
Когда я запускаю свое приложение, получаю следующее:
>Refused to load the script 'http://www.google.com/recaptcha/api/js/recaptcha_ajax.js' because it violates the following Content Security Policy directive: "script-src 'self' chrome-extension-resource:".
Если запускать .HTML-страничку не как приложение, а просто открыть ее в браузере, то все работает.
Как мне решить проблему?
инб4: не пиши приложение для хрома
Аноним 23/10/14 Чтв 13:41:13 #127 №398033 
>>398032
Выхода два: либо скачать скрипт и включить его себе в расширение (рекомендуется для всяких jQuery), либо в манифесте указать сайт, скриптам с которого стоит доверять.
См. developer.chrome.com/extensions/contentSecurityPolicy#relaxing-remote-script
Аноним 23/10/14 Чтв 14:13:11 #128 №398049 
>>398033
Спасибо.
Вариант скачать не устраивает, в консольку получаю кучу ошибок, связанных с относительными URL-ами, к которым добавляется в начало Chrome://extinctions, хотя, если покопаться в скрипте, то можно это пофиксить.
Второй вариант более интересный, да и работает. Кому интересно или кто столкнулся с похожей проблемой:
В manifest.JSON я добавляю запись:
>"content_security_policy": "script-src 'self' https://google.com; object-src 'self'"
Аноним 23/10/14 Чтв 15:00:07 #129 №398061 
Доброго времени суток, форумчане, есть ли проверенный способ вклиниться в 3rd-party код прямо в рантайме на jQuery? Весь код находится в замыканиях, поэтому с простой подменой объектов не взлетит. Но должно взлететь, если модифицировать сорц скрипта и скормить его интерпретатору повторно. Кто-нибудь пробовал делать такое?
Аноним 23/10/14 Чтв 18:03:23 #130 №398136 
>>397037
Я опять выхожу на связь
>>397587
С сортировкой подобного массива по title все понятно, но не могу сделать поиск по содержимому title. Чтобы те элементы, в title которых не найден нужный текст, убирались из результирующего массива. С простым массивом все просто: используешь метод array.filter(function callback), но как залезть этим методом внутрь объекта?
Аноним 23/10/14 Чтв 19:38:08 #131 №398166 
>>398136
http://jsbin.com/kokuturewu/edit?html,js,output

Что бы фильтр применился, нужно нажать Enter или убрать курсор с поля ввода. Если тебе нужно живое обновление, то нужно гуглить, как вешать обработчик на изменение текста, на вскидку не вспомню. В идеале еще с помощью setTimeout определять, что пользователь остановил ввод и только тогда запускать фильтрацию, что бы не гонять её по каждому символу (особенно, если у тебя данные подгружаются с сервера)
Аноним 23/10/14 Чтв 20:00:40 #132 №398180 
>>398022

Два чаю. Гораздо лучше набрать полный ротешник мочи и благордарить бога за росу.
Аноним 23/10/14 Чтв 20:46:30 #133 №398212 
>>398180
>>398180
Моча или не моча это субъективно, альтернативы нет толком нет, это да плохо. Хотя с другой стороны на клиент-сайде и не может быть альтернативы, если компилятор языка встроен в браузер. Тут наоборот стандартизация нужна. А вообще пиши на языках, интерпретируемых в JS, если он кажется настолько нелогичным.
Аноним 24/10/14 Птн 02:01:27 #134 №398322 
>>398212

Маняутешеньица.
Аноним 24/10/14 Птн 08:17:42 #135 №398344 
>>398180
>>398322
Хачкелеблядь, вали отсюда.
Аноним 24/10/14 Птн 10:50:30 #136 №398360 
>>396358
Не пишу на js, но:
Почему Ember - бритый успешный индус? Он для бритых успешных индусов?

Почему Meteor для офисных мужиков на пляже? Типа, станешь успешным офисным планктоном и будешь ездить на Гавайи?

Почему jQuery мужик с оттопыренными ушами?

Почему nodeJs - бородатый хипстер? Только для бородатых хипстеров?

Почему vanilla JS это жирный нерд?

Почему ExtJS это усатый мужик, похожий на инженера?

Почему Backbone - быдло в очках? Типа, только для быдла?

Почему Angular тян с бутербродами? Типа, будешь писать на Angular будет у тебя и тян и бутерброды?
Аноним 24/10/14 Птн 11:19:46 #137 №398362 
>>398360
Ember - типа для правильных посонов.
Meteor - для всяких фрилансеров.
jQuery - для даунов, пишущих даже аллаха на фреймворке, предназначенном для сахарка, по сути.
nodeJS - типа модно, асинхронность и 10к рпс. При этом будто похуй на то, что один поток и пиздец вместо красивого кода.
Vanilla JS - типа олдфаги, сейчас никто без либ не пишет сложные вещи.
ExtJS - фреймворк для типа декстоп-приложений на жсе. Говно похуже, чем GWT. Пользуют, соответственно, всякие гениальные компании, варганящие интерфейсы "форма 100х100 с 30 полями"
Backbone - типа крутые, но реально тот еще пиздец.
Angular - может, имелось в виду "2 чаю вам".
Аноним 24/10/14 Птн 11:26:05 #138 №398363 
>>398362
А react в новой пикче?
>>397586
Аноним 24/10/14 Птн 11:27:27 #139 №398364 
Затесался тут к рубистам в команду, а они угорели по CoffeeScript'у. Пришлось тоже знакомится с ним. Что за больной ублюдок это придумал ? Если в VanillaJS вложенность сразу видна благодаря скобкам, то в CS из-за идеологии КОКОКО СКОБКИ НЕ НУЖНЫ ТОЧКИ С ЗАПЯТЫМИ НЕ НУЖНЫ нихуя не понятно.

method1(method2(param))

в CS выглядит как

method1 method2 param

Опять же, вызвать метод с параметром можно так, без скобок:

method param

но что бы вызвать метод без параметра, скобки, внезапно, оказываются нужны, иначе вызова не произойдет.
Еще вопрос: как реализовать на CS что-то подобное ?

item.render(a, function () {
// something
}, this);
Аноним 24/10/14 Птн 11:39:11 #140 №398365 
>>398364
item.render a, =>
//...

ты тупой ублюдок
Аноним 24/10/14 Птн 11:42:58 #141 №398366 
>>398365
Это был метод какой-то сторонней библиотеки и this необходимо было передавать именно как параметр, а не менять контекст функции. В любом случае, подставь на место this любой другой параметр и вопрос останется в силе.
Аноним 24/10/14 Птн 12:11:05 #142 №398372 
>>398212
Есть альтернатива. CljS, CS, TS, etc
Аноним 24/10/14 Птн 12:16:27 #143 №398374 
>>398364
Ну блядь. CS это даже не язык.
[code]
item.render a, ->
something
, this
[/code]
Аноним 24/10/14 Птн 12:18:16 #144 №398375 
>>398374
Спасибо, действительно компилируется в то, что нужно.
Аноним 24/10/14 Птн 19:13:55 #145 №398532 
>>398364
Там можно так же скобки шлёпать, не возбраняется. Но в некоторых случаях их можно убрать.
Аноним 24/10/14 Птн 19:28:20 #146 №398536 
Тред не читай
@
сразу спрашивай глупый вопрос

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

Это вообще реально? Насколько я понимаю, свойства charCode и keyCode только для чтения?
Аноним 24/10/14 Птн 19:30:02 #147 №398537 
>>398532
Во-первых, сам подход "мы типа не ставим, но хочешь - ставь, пожалуйста" и то, что правила меняются в зависимости от отсутствия/наличия аргументов немного странные. CS очевидно делали так, что бы код программы был похож на обычный текст. Но зачем, если я окинув беглым взглядом JS-простыню могу сразу понять, где вызывается метод, а где нет, а в CS мне нужно вглядываться и считать аргументы ?
Во-вторых, когда приходишь в проект, где люди скобки не ставят и вообще CoffeeScript знают лучше, чем нативный JS, то как-то особо не повыебываешься и свои правила не внедришь.
Аноним 24/10/14 Птн 20:24:16 #148 №398549 
>>398537
>CoffeeScript знают лучше, чем нативный JS
Ты плохо понял суть CS. Это тот же яваскрипт, только в профиль. Всё что ты делал на js можно сделать и в кофе. Только кофе полаконичнее и требует меньше телодвижений.

Со скобками там всё несложно на самом деле.
fn -- fn # без вызова
fn() -- fn() # вызов без аргумента
fn(3) -- fn 3
fn(3, 'x') -- fn 3, 'x'
fn(gn(6)) -- fn gn 6
fn(gn, 6) -- fn gn, 6
fn(lol(4), 9) -- fn (lol 4), 9
a(b(c(d(5)))) -- a b c d 5
a(b(c, d, 5)) -- a b c, d, 5
Аноним 25/10/14 Суб 00:49:28 #149 №398622 
14141837684560.png
Динамические петушки, что вы можете сказать в свое оправдание?
Аноним 25/10/14 Суб 01:16:33 #150 №398631 
>>398622
Используй линтеры - такой хуйни не будет может быть
Аноним 25/10/14 Суб 01:19:12 #151 №398633 
>>398622
То, что ты петушок, не знающий разницы между динамической и нестрогой типизацией
Аноним 25/10/14 Суб 01:29:45 #152 №398638 
>>398633
В общем-то слабая типизация может быть только у динамики.
Аноним 25/10/14 Суб 01:54:58 #153 №398642 
>>398638
Ты сегодня у мамки программист? Иди уже отсюда, блять. С - язык со статической нестрогой типизацией
Аноним 25/10/14 Суб 02:37:03 #154 №398646 
>>398642
А точно, совсем забыл про сиговно.
Ну кроме него вроде бы больше ничего.
Аноним 25/10/14 Суб 03:05:44 #155 №398650 
>>398638
В питоне сильная.
Аноним 25/10/14 Суб 13:01:43 #156 №398689 
>>398549
Я просто их слова передал. Спросил у них что-то про JS, они дали пример кода на CS и сказали, что плохо знают JS и не могут пример на нем привести. Это что-то на уровне "как сложить два числа в JQuery" или даже выше.

Со скобками я понял, просто это же ухудшает восприятие:
в a(b(c(d(5)))) легче понять вложенность, чем в a b c d 5. Что-то в CS мне нравится и это и правда удобные фичи, но где-то автор помоему упоролся и зашел слишком далеко: зачем, например, нужно было && заменять на and ? Явно для того, что бы домохозяйки не пугались незнакомых символов
Аноним 25/10/14 Суб 13:08:20 #157 №398690 
>>398689
>зачем, например, нужно было && заменять на and
это ладно. А вот is, on, off, yes, no это вообще хипстерство. Избавление от скобочек это хорошо, а вот такие изъебы с синонимами совершенно ни к чему имхо.
Аноним 25/10/14 Суб 14:56:44 #158 №398707 
>>398690
Что хорошего то в избавлении от скобок? Чтоб нихуя не понятно было после беглого взгляда?
Аноним 25/10/14 Суб 15:08:09 #159 №398712 
>>398707
Наоборот читать легче.
А вот писать одинаково.
Аноним 25/10/14 Суб 15:09:30 #160 №398714 
>>398712
Писать немного легче, если использовать => и прочие добавочки (циклы хуиклы)
Аноним 25/10/14 Суб 15:20:18 #161 №398717 
>>398689
>что плохо знают JS и не могут пример на нем привести
Вангую что им просто впадлу было на жс писать, либо это школохипсторы которые программировать вообще не умеют. Писать на CS не зная JS нельзя.

Что касается скобок, and и прочего сахара – возможно, вы уже добрались до терминальной стадии аутизма и ничего кроме С-подобного синтаксиса не воспринимаете.

Лично мне же – что писать, что читать CS значительно удобнее чем JS. Меньше символов, более человеческий рубиподобный синтаксис, отсутствие !== undefined && !== null, удобные циклы, да в нем вообще все охуенно.
Аноним 25/10/14 Суб 16:21:14 #162 №398728 
>>398717

CS создали рубисты только ради того, чтобы писать в таком же стиле. Это именно что нездоровый фанатизм, пусть разработчики руби его используют в своей инфраструктуре, но не надо его везде тащить и говорить «это тот же яваскрипт». Нет, не тот же. Это язык, компилируемый в яваскрипт.

Мне например синтаксис не нравится. Кому-то нравится. Потому не надо делать выводы за всех.
Аноним 25/10/14 Суб 16:25:40 #163 №398731 
>>398536

События создавать и отправлять в дерево ДОМ можно (смотри методы createMouseEvent() и fireEvent если я не путаю, в jQuery есть метод-обетка trigger). Но выполнять действия аналогичные действиям пользователя (ввод символов, нажатия на кнопки) они не будут. Событие — это уведомление о том, что что-то произошло.

Аноним 25/10/14 Суб 16:26:20 #164 №398732 
>>398536

Алсо, если тебе надо что-то вписать в поле ввода, есть DOM-свойство value и jQuery-обертка val() для него.
Аноним 25/10/14 Суб 16:27:05 #165 №398733 
>>398717

Особенно страдает читаемость на мой взгляд от отсутвия явного return. Явное лучше неявного.
Аноним 25/10/14 Суб 16:35:58 #166 №398738 
>>398728
>не надо его везде тащить
Надо. Пусть аутисты привыкают.
Аноним 25/10/14 Суб 17:26:39 #167 №398758 
>>398731
>>398732
Есть код, который отлавливает кнопки, время между нажатиями на кнопки и их отпусканием, всякую другую сопутствующую фигню, и на основе полученных данных делает свое дело.
Я хочу прогнать несколько тестов, автоматизировав процесс. Однако, это оказалось как-то невозможно.
Пробовал через связку
createEvent()->initKeyboardEvent()->dispatchEvent()
и почти добился результата, но оно работает только на очень старом фаерфоксе.
Аноним 25/10/14 Суб 18:42:17 #168 №398780 
Анончики, писал сервак для быдломессенджера на ноде, хотелось бы, чтобы люди знающие оценили его с точки зрения понятности, эстетики и правильного разделения абстракций.
Аноним 25/10/14 Суб 18:44:32 #169 №398782 
>>398622
По мне так всё очевидно, что должно быть именно так как есть. Если не очевидно, то нехуй суммировать массивы с объектами и наоборот.
Аноним 25/10/14 Суб 18:56:11 #170 №398790 
>>398758

Для такого тестирования нужен Selenium (или один из многочисленных фреймворков поверх него). Есть еще PhantomJS, но он стремный и не такой популярный.

Селениум — это плагин, который внедряется в браузер и контролирует его извне. Он есть для IE, FF, Chrome, Opera.

Почитай например: http://habrahabr.ru/company/yandex/blog/173769/

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

В селениуме так же много косяков и подводных камней.
Аноним 25/10/14 Суб 18:58:03 #171 №398793 
>>398790
Спасибо. Буду копать в этом направлении.
Аноним 25/10/14 Суб 19:51:20 #172 №398819 
Скриптаны, есть одно замыкание, внутри которого выставляются обработчики событий для элементов страницы, а я хочу изменить одну-две функции внутри с помощью юзерскрипта. Как сделать это, не копируя всё замыкание в скрипт и не создавая велосипедов-замыканий, выполняющих те же задачи, что и оригинал, и сопоставимых с ним по размерам? Как с этим живут другие создатели юзерскриптов?

Дописал несколько строчек, выполнил всё замыкание с помощью javascript:alert(eval(prompt())), теперь хочу, чтобы оно автоматом выполнялось на страницах этого сайта.
Аноним 25/10/14 Суб 20:40:16 #173 №398834 
>>398733
Пистоноблять, это чтобы ты привыкал писать в функциональном стиле.
Аноним 25/10/14 Суб 20:43:22 #174 №398838 
>>398834
Зачем!? С объектами гораздо удобней.
Аноним 25/10/14 Суб 22:12:46 #175 №398871 
>>398838
> implying fp has no objects
Хелп, помогите. Аноним 25/10/14 Суб 23:03:36 #176 №398900 
Есть массив строк, в которых содержатся ссылки на сайты. По ссылкам находятся pdf-файлы(то-есть, переходишь по ссылке - открывается pdf-файл).Как мне их скачать, не открывая сами файлы? Ну, то-есть, программно, чтобы запустить скрипт и он скачал последовательно все pdf-файлы.
Также, я должен быть авторизован на этом сайте, поэтому, вероятно, нужно будет запускать скрипт в браузере.
Аноним 25/10/14 Суб 23:18:32 #177 №398905 
>>398900
>>398882

Аноним 25/10/14 Суб 23:29:23 #178 №398910 
>>398905
>Selenium
С помощью этих либ точно можно залогиниться на сайте, а потом делать что-то дальше?
Аноним 25/10/14 Суб 23:38:59 #179 №398913 
>>398910
да
Аноним 25/10/14 Суб 23:55:22 #180 №398929 
>>398871
>mplying fp has no objects
FP it's functional programming? But JS is multi-paradigm language. Why write using only the functional approach?
Аноним 25/10/14 Суб 23:57:28 #181 №398931 
>>398929
Все началось с того, что кому-то неявные ретурны плохо читаются, ему закономерно указали на то, что сикп не читан.
А теперь ты мне про мультипарадигму затираешь?
Аноним 26/10/14 Вск 02:23:33 #182 №398960 
>>398728
Нет, тот же. CS это просто набор макрух. Можно писать везде писать явный ретарн, ставить скобки и прочее, если это повышает читаемость, но в 80% случаев мне этого не нужно.
Если кто-то говорит, что пишет на CS без знания JS это просто наглый пиздеж. Как писать на бусте и не знать си, как писать на спринге и не знать джаву, как писать на баш и не знать линукс.
Аноним 26/10/14 Вск 05:02:02 #183 №398972 
Пацаны, есть страничка, в нее выводится список текста из mongoDB, как сделать paginate ? В смысле не только в самой монге, но и на клиенте, чтоб выводилось только 10 строк, ну а дальше 1,2,3,4,5 страницы.
Аноним 26/10/14 Вск 05:15:20 #184 №398973 
>>398622
Абисняю один раз.

Все арифметические операторы кроме + преобразуют свои операнды в числа, ну и дальше над этими числами выполняются соответствующие операции.

Оператор + работает так:
1. Если один из операндов - объект, этот объект преобразуется в своё примитивное представление (число, строку, true/false, null или undefined), для чего вызывается ф-я valueOf() (кроме объектов Date - для них сразу вызывается ф-я toString()). Если ф-я valueOf() не возвращает примитивное значение (число, строку, true/false, null или undefined), для этого объекта вызывается ф-я toString().
2. Если после п.1 один из операндов оказывается строкой, второй операнд преобразуется в строку, после чего эти строки объединяются, и возвращается результат.
3. В противном случае оба операнда преобразуются в числа и складываются.

Для простых объектов (т. е. и для массивов) valueOf() возвращает сам объект (т. е. не примитивное значение).
Для объектов toString() возвращает строку '[object Class]', где Class - это класс объекта (для простых объектов - 'Object').
Для массивов toString() сначала вызывает toString() для каждого элемента массива, а потом объединяет получившиеся строки через запятую.

>[] + []
>=> ''
Поскольку массивы пустые, то каждый из них преобразуется в пустую строку. Результат на картинке верный.

>[] + {}
>=> '[object Object]'
Массив не имеет элементов, поэтому преобразуется в пустую строку. Для простого объекта возвращается строка '[object Object]'. Результат на картинке верный.

>{} + []
>=> 0
Должно быть '[object Object]'. Результат на картинке неверный.

>{} + {}
>=> NaN
Должно быть '[object Object][object Object]'. Результат на картинке неверный.

>Array(16).join("wat" + 1)
Неправильное использование конструктора Array, поэтому хуй знает, что тут должно быть. Вот если бы было (new Array(16)).join("wat" + 1), тогда результат должен был бы быть такой, как на картинке.

>Array(16).join("wat" - 2) + "Batman!"
Аналогично.


Но, вообще, уёбков, которые постят ебанутые конструкции (т. е. даже не понимают, что они постят), а потом удивляются, что в итоге язык выдаёт хуйню, надо сжигать на соответствующих фабриках, да.
Аноним 26/10/14 Вск 05:55:59 #185 №398976 
14142885599120.png
А ты уже пишешь свои JS-игры на C, Анон?
https://hacks.mozilla.org/2013/12/gap-between-asm-js-and-native-performance-gets-even-narrower-with-float32-optimizations/
Аноним 26/10/14 Вск 08:53:17 #186 №398991 
>>398973
Бро, ты так хорошо объяснил, но, к сожалению, у меня и в лисе и в хромоге {} + [] = 0 и {} + {} = NaN.

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

({} + {})
"[object Object][object Object]"
({} + [])
"[object Object]"

Аноним 26/10/14 Вск 10:06:08 #187 №398993 
>>398991
ВНЕЗАПНО, да? Вот так вот ты знаешь язык, знаешь все правила преобразования, знаешь про особенности работы операторов, знаешь, что будет, если сложить пустой массив с пустым объектом - складываешь, а на выходе получается хуйня. Теперь-то вы, два умника, понимаете, почему над жсом смеются?
Аноним 26/10/14 Вск 10:31:18 #188 №398996 
>>398993
Абсолютно похуй. Был бы скрипт лучше - перешел бы на него, но пока js (точнее кофескрипт) лучшее что есть. Пробовал и пых и пыхтон и руби если что.
Аноним 26/10/14 Вск 12:09:56 #189 №399004 
>>398960
Это всё равно, что писать на JQuery, не зная JS. Но и такие ведь есть. Что мешает рубистам обосраться от незнакомого синтаксиса и начать учить сразу CS, минуя JS ?
Аноним 26/10/14 Вск 12:16:37 #190 №399005 
>>398993
Пиздец, зачем может потребоваться складывать пустой массив с пустым объектом, ума не приложу.
Аноним 26/10/14 Вск 12:38:18 #191 №399010 
>>398972
Ну бля...
Отправляй на сервер два параметра: номер страницы, размер выборки. Если нужна сортировка, то и поля сортировки и направление. Так же бекенд должен реализовывать метод получения длины всей коллекции в целом.
>>398973
Всё бы хорошо, но ты не сказал про контекст выражения и контекст объявления. Именно по этой причине
> {} + {}
> NaN
Если это было бы выражением целиком, то было бы объект-объект.
То же самое и с вызовом IIFE
>function(){}()
В expression context оно работает, в definition context - нет.
>>399004
Ты не понял. Это не возможно в принципе. Да, синтаксис немного более соадкий, но в остальном это тот же JS, с прототипами, евалами, call-apply-bind, сложением {} + [].
Аноним 26/10/14 Вск 12:33:15 #192 №399016 
Посоны, помогите. http://company.yandex.ru/job/vacancies/devint_kinopoisk.xml

Как решить 4ое задание ? Идти к ним не собираюсь, просто интересно, что это за хуйня и для чего она может понадобиться.
Аноним 26/10/14 Вск 13:16:03 #193 №399024 
>>399016
Ну, шаллоу копи объекта object получается, не?
Аноним 26/10/14 Вск 13:24:26 #194 №399026 
>>399016
>>399024

Это задание чтобы проверить понимает человек прототипы или нет. Эта функция это аналог Object.create() и создает пустой объект с указанным прототипом. Object.create() появился только в ES5, раньше наследование делали через такие функции.

То что вы не знаете что это говорит о том, что вы не умеете делать наследование в JS, не читали классическую статью Кроукфорда ( http://javascript.crockford.com/prototypal.html ) и скорее всего не знаете способы реализации ООП в JS. Кстати, у нас в php треде есть задания, которые помогают это изучить.

shallow/deep copy это другое. Копия должна быть независимой от оригинала.
Аноним 26/10/14 Вск 13:30:57 #195 №399028 
>>399026
Благодарю.
Как-то до сих пор не сталкивался с критической необходимостью наследования в JS, но буду читать/изучать дальше. Еще раз спасибо
Аноним 26/10/14 Вск 13:51:30 #196 №399033 
>>399016
Почитал их условия приема на работу
>Оклад обсуждается индивидуально по каждой вакансии и заведомо не ниже среднерыночных условий в нашей отрасли.
Я что-то упустил, или Яндекс начал платить хотя бы среднерыночную зарплату? Не сеньорам и РП, конечно же. Или я могу расходиться, меня наебали?
Аноним 26/10/14 Вск 15:05:51 #197 №399054 
Что за ёбаный пиздец со спам-листом?
Аноним 26/10/14 Вск 15:07:15 #198 №399056 
>>399016
Это функция для создания объекта, у которого протoтипом будет object (т. е. oбъекта, который будет наследовать свойства и методы от аргумента object).

var objA = { a: 1 };
var objB = magic(objA);
console.log(objB.a); // 1
Аноним 26/10/14 Вск 16:40:38 #199 №399084 
>>399056
Теперь я всё понял, даже не могу предположить, почему я раньше тупил. Создаётся функция-конструктор, будущим объектам, созданным через неё, назначается прототип и сразу же возвращается результат работы этого конструктора.
Аноним 26/10/14 Вск 16:46:18 #200 №399086 
>>396358
Расскажите как вы контролируете версионность своих js приложений?
Аноним 26/10/14 Вск 17:04:36 #201 №399089 
>>398819
Бамп вопросу.
Аноним 26/10/14 Вск 19:45:57 #202 №399124 
14143419574080.png
14143419574111.jpg
Привет, анон. Какой-то пидор закрыл мой отдельный тред, поэтому спрошу здесь, в наиболее близком по духу треде.

Хочу по-тихоньку передвигаться во фриланс.

Какой сейчас спрос на разработку браузерных расширений?
Большая ли конкуренция?
Хром или сафари?

Заранее благодарю за ответы, анон.
Аноним 26/10/14 Вск 19:52:53 #203 №399126 
>>398991
>первые фигурные скобки распознаются не как объектный литерал а как пустой блок кода
>>399010
>Всё бы хорошо, но ты не сказал про контекст выражения и контекст объявления.
Вообще, предложение (statement), начинающееся с открывающей фигурной скобки начинает интерпретироваться как блок предложений (statement block) до закрывающей фигурной скобки, это да. Но хуй знает, как эти консоли интерпретируют то, что в них вводится. У меня в ноде, например, выводится результат, который я указал здесь >>398973, т. е. {} + [] в нодовской консоли интерпретируется как выражение ({} + [])(expression), а не как предложение или последовательность предложений.
Короче, все приведённые здесь >>398622 примеры конструкций никогда и нигде использоваться вменяемыми людьми не могут в принципе, поэтому обсуждать их смысла нет.
С тем же успехом можно написать 'var var var var var' или какую другую хуйню и орать про то, что это даже не выполняется.
Аноним 26/10/14 Вск 21:44:59 #204 №399167 
>>399124

Если тебе не хватает ума оценить рынок, соответственно, лезть тебе туда точно не стоит. Я серьезно.
Аноним 26/10/14 Вск 22:21:25 #205 №399188 
14143512852990.jpg
Антон, поясни, почему еще никто не додумался сделать JS компилируемым языком?
Аноним 26/10/14 Вск 22:26:07 #206 №399190 
>>399188
Зачем?
Аноним 26/10/14 Вск 22:29:48 #207 №399198 
>>399188
Почему школодибилы с сосача не могут додуматься попробовать хотя бы гугл и википедию, перед тем как задавать такие глупые вопросы?
https://en.wikipedia.org/wiki/V8_(JavaScript_engine)
> V8 compiles JavaScript to native machine code (IA-32, x86-64, ARM, or MIPS ISAs)[3][6] before executing it, instead of more traditional techniques such as interpreting bytecode or compiling the whole program to machine code and executing it from a filesystem.
Так что, сюрпрайз, дибилушка! Хром компилирует жс прямо в машкод!
Аноним 26/10/14 Вск 23:07:13 #208 №399204 
>>399167
Опытности у меня не хватает. Все эти фриланс-биржи вызывают у меня головокружение из-за потока информации. Посмотрел на одеске, посмотрел на фри-ланс.ру. Вакансий не шибко много и бюджеты небольшие -- $100-150. Я столько в день зарабатываю на своей офисной работе. А спрашиваю у анона, потому что, может быть, он имел опыт и может им поделиться.
Аноним 26/10/14 Вск 23:16:16 #209 №399205 
>>399204
В свое время интересовался этой темой, но не очень сильно. Мне кажется, что найти что-то в этом направлении почти нереально. Ну сам посуди, кому это нужно ? Расширения нужны гикам и делают их гики. Есть какая-то студия, которая впаривает всяким магазинам расширения для поиска товаров и прочей еботы, но не знаю, насколько успешно им это удается.
Аноним 26/10/14 Вск 23:30:43 #210 №399209 
>>399188
>почему еще никто не додумался сделать JS компилируемым языком
Так он уже давно прекрасно компилируется в нативный код в браузерах на лету.
А ещё есть такая штука как asm.js (подмножество JS), которая компилируется на лету в нативный код, который исполняется всего в 1.5-2 раза медленнее аналогичного скомпилированного C++ кода. >>398976
sageАноним 26/10/14 Вск 23:41:19 #211 №399216 
>>399209
Visual Studio, например, отлично справляется с компиляцией, разве нет?
sageАноним 26/10/14 Вск 23:54:15 #212 №399224 
>>396358
Суп, /пр.
Вопрос следующий: я пишу приложение для хрома для работы с нашим любимым двачом, но вот наткнулся на проблему, от которой у меня нехило бомбит. Итак, у меня есть функция:

function addFile_captcha(url) {//Тут получаем из гугла файл с переменной, из которой берем recaptcha_challenge_field
var jqxhr = $.get(url, function () {
> console.log("ok");
})
.done(function (data) {
> var m = "{" + data.toString().split('{')[1].split('}')[0] + "}";
> var recaptcha_challenge_field = m.split("challenge : '")[1].split("'")[0];
> captcha_url = "https://www.google.com/recaptcha/api/image?c=" + recaptcha_challenge_field;
> addIMG(captcha_url);//функция вставляет HTML-контент (display:none) вниз
})
.fail(function () {
> alert("error");
});
}

Так вот, Анон,
1)почему в тот момент, когда коллбэк функци запускается и начинает выполняться то, что я выделил зеленым, ( console.log("ok"); и прочее, что в .done), HTML-контент всей страницы Двача куда-то девается, а я вижу только пустоту?
2)Проблема в том, что функция addIMG у меня для начала получает элемент на странице по id, а из-за того, что на странице нету ни хуя, она найти ничего и не может.
3)Вызвать addIMG после addFile_captcha я, как понимаете, тоже не могу, так как $.get работает асинхронно и скачивает гугловский контент позже, чем запустится следующая функция.

Аноны, помогите, пожалуйста. Если кто-то захочет взглянуть на весь код или поинтересоваться, что это за хуйня, долбоеб ни хуя непонятно написал, я дам ссылку на ГитХаб.
Аноним 27/10/14 Пнд 00:58:49 #213 №399234 
>>399224
>ает элемент на странице по id, а из-за того, что на странице нету ни хуя
Ну так запусти скрипт свой когда страница загружена полностью.

мимокэп
sageАноним 27/10/14 Пнд 01:39:27 #214 №399241 
>>399234
Ну я не настолько тупой. Я пробовал window.onload = { ...}
и $ document ready Джейкверский. Они и запускаются после того, как страница загружается.
Она и загружается, но почему-то в момент выполнения .GET все содержимое пропадает. Остается только <div>РЕКАПТЧА ебаная как-то сюда вклинивается, хотя я этого ей не говорю</div>.
В общем, есть еще какие-то варианты?
Хотя, может, все-таки, тупой и елаю что-то не так?
Аноним 27/10/14 Пнд 02:34:07 #215 №399273 
Плис халп → >>399268
>http://jsfiddle.net/ujq4hbeb/3/
Аноним 27/10/14 Пнд 03:15:55 #216 №399296 
>>399273
http://jsfiddle.net/6twt0hjh/
Получилось выделить элемент. Как теперь выделить ссылку, чтобы <font color=\"red\"></font> был и в начале и в конце?
Аноним 27/10/14 Пнд 03:27:05 #217 №399299 
>>399296
Выделил слово, а теперь продублировать содержимое?

http://jsfiddle.net/6twt0hjh/1/
Аноним 27/10/14 Пнд 10:18:22 #218 №399342 
Джаваскриптогоспода, простите за столь тупой вопрос, я пока только осваиваю верстку, поэтому в js 0 и это репост из вебача, но может вы ответите?

================================


ЕстьОднаЛиба - http://prismjs.com/, она реализует подсветку синтаксиса кода на сайте. К ней есть плагин, который позволяет писать код не в HTML, а брать его из файла. То есть пишешь <pre class="language-markup line-numbers" data-src="index.html"></pre> и содержимое index.html выводится с подсветкой синтаксиса. Разумеется, что он не работает без включенного js, эту проблему я попробовал решить следующим образом: по умолчанию вместо кода выводится предупреждение и ссылка на тот файл, который должен выводиться, с помощью js это заменяется на конструкцию, которая нужна для вывода кода.

То есть <p>Ололо, включи JS <a href="index.html">или скочай</a></p> превращается в <pre class="language-markup line-numbers" data-src="index.html"></pre>. Но при этом нихуя не работает. Я получаю пустое окно для вывода кода, в котором этого самого кода нет. Сам HTML 100% правильный, когда я копирую <pre class="language-markup line-numbers" data-src="index.html"></pre> и вставляю в код текстом, а не пердолю через js, то всё работает.
Мои познания в JS стремятся к нулю, я пока только по вёрстке угораю, но я смею предположить, что это происходит из-за того, что скрипт, который реализует подсветку находится в самом низу страницы и срабатывает при её полной загрузке, а вот мой быдлокод работает уже после того, как страница загрузилась. Функция замены предупреждения на <pre> вызывается в window.onload.

Вопрос: как решить эту проблему? Могу ли я как-то подменить html ДО того, как он обработается полностью? Или может я как-то могу вызвать prism.js? Я захуячил содержимое prism.js в мою функцию, которая заменяет и все заработало, но это какой-то костыль пиздец.
Аноним 27/10/14 Пнд 10:40:51 #219 №399349 
14143956514080.jpg
>>399224
Сосоны, бампаю себя
Аноним 27/10/14 Пнд 10:49:54 #220 №399351 
>>399342
Вставь загрузку скрипта prism.js в <head>, после него там же загрузи свой скрипт.
<head>
<script src = ".../prism.js"></script>
<script src = ".../твой скрипт.js"></script>
</head>
Ну и еще нажми f12 и посмотри, что пишется в консоли браузера, какая ошибка?
Аноним 27/10/14 Пнд 11:11:06 #221 №399356 
>>399351
Нет никакой ошибки. prism.js должен срабатывать самым последним и в <head> он не работает.
<head>
...
</head>
<body>
....
<script type="text/javascript" src="js/prism.min.js"></script>
</body>

То есть он должен срабатывать после того, как вся страница загрузилась, чтобы ему было, что собственно заменять. Может я несу хуйню, но я понял это так, ибо в <head> как я его не пихал он не работал.

То есть у меня ситуация какая-то такая: изначально в коде страницы висит предупреждение о том, что нужно включить js => срабатывает prism.js, но ему нечего заменять => срабатывает мой быдлоскрипт из <head>, который заменяет предупреждение на <pre>, но prism.js уже отработал и ему похуй на <pre>

Вот если бы я мог в коде своего скрипта замены предупреждения сделать что-то вроде @import(prism.js) после того, как он все заменил. Или сделать так, чтобы мой быдлоскрипт сработал раньше. Как это сделать? Мой в head и срабатывает на .onload, prism.js в самом конце тела. Сделать так, чтобы prism.js тоже срабатывал на .onload, но после моего скрипта? Или мой быдлоскрипт из <head> вынести в конец тела, но перед prism.js? Может есть какое-то более элегантное решение?
Аноним 27/10/14 Пнд 11:28:04 #222 №399359 
Так почему backbone для быдла ?
Аноним 27/10/14 Пнд 11:55:48 #223 №399362 
>>399356
Так в чем проблема сначала запускать твой скрипт, а потом призм.жс в конце твоей html-ки перед закрывающим тегом </боди>?
Аноним 27/10/14 Пнд 12:21:56 #224 №399366 
>>399362
Или атрибут deffered.
Аноним 27/10/14 Пнд 12:36:19 #225 №399369 
>>399366
Спасибо за наводку, думаю, мне она тоже подойдет. >>399224-кун.
Аноним 27/10/14 Пнд 13:10:37 #226 №399377 
14144046370090.png
Извиняйте, что скрином. Макаба не позволяет текстом.
Аноним 27/10/14 Пнд 13:12:00 #227 №399378 
14144047207750.png
Безрукая обезьяна, когда ты уже умрешь от рака своего ебучего спам-листа?
Аноним 27/10/14 Пнд 13:12:24 #228 №399379 
>>399377
>>399378
Лолблядь.
Аноним 27/10/14 Пнд 13:13:04 #229 №399380 
>>399378
Сам обосрался.
Аноним 27/10/14 Пнд 13:17:38 #230 №399383 
Добрый анон подскажи какие годные либы стоит учить.
На данный момент относительно знаю:
1.Ноду
2.Ангуляр
Планирую обмазаться либо three.js , либо d3.js
Аноним 27/10/14 Пнд 13:20:43 #231 №399384 
>>399383
Смотря чем занимаешься. Хотя node.js это must have.
Аноним 27/10/14 Пнд 13:40:59 #232 №399388 
фронт-енд разработчик должен уметь хорошо верстать? Т.е не просто знать html,css , а быть способным сверстать макет любой сложности? Или это не особенно важно?
Аноним 27/10/14 Пнд 13:42:34 #233 №399389 
>>399388
Двачую вопрос. В вакансиях постоянно попадается "кросбраузерная верстка" и соответствующие навыки. Можно обойтись без этого ?
Аноним 27/10/14 Пнд 14:19:22 #234 №399395 
>>399388
Да.
Аноним 27/10/14 Пнд 14:19:44 #235 №399396 
>>399388
Зависит от размера компании и сферы ее деятельности. В маленькой веб-студии скорее всего потребуется умение верстать, а JS вообще может сводиться к установке, настройке и в некоторых случаях дописывания jQuery плагинов.
В компаниях, которые создают сложные веб приложения, SPA, веб интерфейсы и т.п. ты уже будешь заниматься логикой и связью front- и back-end'а. И там скорее будет плюсом знание серверной части (той с которой работает компания еще лучше), пусть и на поверхностном уровне.
Но само собой HTML, CSS знать везде надо.
Аноним 27/10/14 Пнд 14:34:41 #236 №399403 
14144096819190.jpg
>>396358
Тупой вопрос: Откуда ангуляр парсит дату для своих контроллеров? Бэкенд как-то делает в JSON или откуда все данные берутся?
Аноним 27/10/14 Пнд 14:38:44 #237 №399405 
>>399388
В моей конторе FE делится на UI и JS developers. Для вторых рисование особо знать не нужно, чисто чтобы хватало делать свои js-таски.
Аноним 27/10/14 Пнд 14:42:58 #238 №399406 
>>399403
Ты можешь зашить данные прямо в код, как в твоем примере, либо получать их с бекенда, либо получать их в виде статического ресурса (поместив какой-нибудь countries.json рядом с приложением)
Аноним 27/10/14 Пнд 14:45:46 #239 №399408 
>>399406
>либо получать их с бекенда
Ну вот это и интересует. Допустим у нас есть ЦМС какая-то на которой мы добавляем и убираем(меняем описание, путь к каритнке) в товаре , как в мою прогу вносить изменения?
Аноним 27/10/14 Пнд 14:53:58 #240 №399411 
>>399224
Посоны, ну что?
Как заставить заработать мой скрипт после того, как отработают все скрипты страницы?
Аноним 27/10/14 Пнд 14:54:15 #241 №399412 
>>399408
В контроллере добавляешь сервис $http. В примере с картинки будет так:

.controller('countriesCtrl', function ($scope, $http) {

дальше смотри описание:

https://docs.angularjs.org/api/ng/service/$http

там всё с примерами
Аноним 27/10/14 Пнд 14:59:59 #242 №399413 
>>399411
Очевидный коллбек промис.
Аноним 27/10/14 Пнд 15:43:20 #243 №399428 
>>399378
Охуеть, скролл еще и с prism.js конфликтует. Да ну его нахуй.
Аноним 27/10/14 Пнд 18:54:16 #244 №399500 
14144252567900.png
Посаны, мы тут хуйней страдаем
Аноним 27/10/14 Пнд 19:58:52 #245 №399505 
Котаны, я ньюфаг, поясните за оппик? Неистово проигрываю
Аноним 27/10/14 Пнд 22:04:28 #246 №399536 
>>399505

>>398362
Аноним 27/10/14 Пнд 22:21:21 #247 №399541 
>>398362
>Говно похуже, чем GWT.
Всё-таки GWT хуже.
Аноним 28/10/14 Втр 01:48:27 #248 №399627 
>>396358
Суп сосоны. У меня имеется скрипт и 2 конфликтующих между собой css-файла.
Мне нужно, чтобы второй css применялся только в определенному тегу и всем его детям, а первый – ко всей остальной страничке. Возможно ли это задать скриптом, не изменяя содержимого css?
Аноним 28/10/14 Втр 01:53:37 #249 №399628 
>>399627
Мля, я конечно ньюфаг тот еще, но у jQuery есть метод .css() которому можно скармливать стили. Может стоит сверстать нормально? Наебешься потом с такими костылями
Аноним 28/10/14 Втр 02:24:04 #250 №399633 
>>399628
Я пишу приложение для сайта. Часть контента - моя, она должна отображаться так, как я хочу. Все остальное - вторая часть(бОльшая) – принадлежит сайту. Ее дизайн меняться не должен. А за метод спасибо.
Аноним 28/10/14 Втр 06:25:13 #251 №399670 
>>399633
>Часть контента - моя, она должна отображаться так, как я хочу.
Сделай отдельные классы или каскад, чтобы твои стили к твоим элементам применялись и имели приоритет.
Аноним 28/10/14 Втр 10:09:05 #252 №399683 
>>399670
>сделай отдельные классы
Это будет работать только в том случае, если я делаю css своими руками. А я хочу использовать готовый: бутстраповский css.
Если это невозможно, то буду пилить стили сам, так-то, конечно, я сделаю уникальные классы и задам для них свои стили.
Аноним 28/10/14 Втр 13:44:18 #253 №399733 
>>399683
А что мешает к готовым классам дописать еще классы?
Аноним 28/10/14 Втр 16:15:32 #254 №399772 
>>399683
А что тебе мешает подключить свой файл, например custom.css в котором будут переопределены некоторые стили? Можно задать приоретет кастомному стилю при помощи !important нотации
Аноним 28/10/14 Втр 17:23:49 #255 №399809 
Народ, подскажите как разбить li список на колонки, допустим по 10 элементов в каждой. Список генерируется из JS цикла. По идее надо оборачивать каждые 10 элементов в див, до тех пор пока список не кончится. Но не понятно как это добавить к текущему циклу вывода. Сделать нужно на чистом JS.
Аноним 28/10/14 Втр 17:51:21 #256 №399825 
>>399772
Проблема в том, что я хотел использовать готовые css, а не писать их самому.
Аноним 28/10/14 Втр 17:52:51 #257 №399826 
>>399825
Ты можешь поподробне объяснить, что ты вообще хочешь сделать ?
Аноним 29/10/14 Срд 10:33:01 #258 №400058 
>>399809
Гугли nth-child. Никакого js тут не нужно.
Аноним 29/10/14 Срд 16:27:00 #259 №400136 
>>396358
Ананасы, какой жабаскрипт-фреймворк считается самым зашкварным среди разработчиков?
Аноним 29/10/14 Срд 17:50:55 #260 №400155 
14145942552610.png
Ну что анончики, ведели DRASTICALLY DIFFERENT ангуляр-ебов?
Надеюсь до самых тупых хипстеров теперь дойдет, что не стоит связываться с этим говном.
Аноним 29/10/14 Срд 18:00:19 #261 №400158 
>>400155
что ты несешь?
Аноним 29/10/14 Срд 18:08:36 #262 №400161 
>>400155
Ах да, пик - анрелейтед. Но тоже очень хорош
>>400158
Скоро-скоро, долетят и до тебя отзвуки рвущихся жоп
Аноним 29/10/14 Срд 18:14:35 #263 №400162 
http://jaxenter.com/angular-2-0-112094.html
Аноним 29/10/14 Срд 18:14:58 #264 №400163 
>>400161
Ты своими то словами объясни, отчего у ангуляроебов должны пуканы рваться.
Аноним 29/10/14 Срд 18:22:05 #265 №400166 
>>400162
Но ничего плохого не вижу.
Аноним 29/10/14 Срд 18:29:36 #266 №400168 
>>400162
Срачи в комментариях доставляют.
http://www.reddit.com/r/programming/comments/2kl88s/angular_20_drastically_different/
Аноним 29/10/14 Срд 18:31:40 #267 №400170 
14145967004620.png
>>400162
Какой сочный БА-БАХ у них там

https://www.reddit.com/r/programming/comments/2kl88s/angular_20_drastically_different/
Аноним 30/10/14 Чтв 02:04:35 #268 №400361 
14146238755530.jpg
>>398360
>Почему Angular тян с бутербродами?
СУКА, тебя это ебет чтоли?
Это ОП JS тредов
Аноним 30/10/14 Чтв 02:21:20 #269 №400364 
>>398360

Да, будешь писать на Ангуляр и у тебя будет пикрелейтед вместо тян. Зато с бутербродами.
Аноним 30/10/14 Чтв 08:22:40 #270 №400391 
>>400361
ОП-js, вернись в нашу уютную конфу. Настало время прикручивать Ангуляр к нашему поделию, Ангуляр сам себя не прикрутит.
sageАноним 30/10/14 Чтв 09:14:58 #271 №400397 
>>396833
Вот именно поэтому JS это язык для обезьян.
Аноним 30/10/14 Чтв 11:13:16 #272 №400413 
>>400162
Разработчики Ангуляра за работой:
http://www.youtube.com/watch?v=8tYXfssLOSM
Аноним 30/10/14 Чтв 11:15:48 #273 №400414 
>>400397
Тащемта двачую. Именно поэтому их так легко и непринуждённо вертят на хую разарботчики модных фреймворков, заставляя каждые полгода перепрыгивать с одной дилды на другую.
Аноним 30/10/14 Чтв 14:40:25 #274 №400463 
>>400414
Просто web - это самая прогрессивная область программирования. Пока крестопидары и джаваиндусы по 10 лет ждут пока им завезут очевидные вещи, в мире JS каждые 3 месяца появляется новый концепт, новые модные фичи, новые гениальные идеи. Лучшие умы сосредоточены вокруг web, потому что это настоящее и будущее. А всякие десктоп и тырпрайз петушки могут продолжать использовать ретроградские технологии двадцатилетней давности, для поддержки легаси-говна их достаточно.
Аноним 30/10/14 Чтв 14:48:04 #275 №400468 
>>400463
Ну и что нового изобрели веб-петушки?
Аноним 30/10/14 Чтв 15:10:04 #276 №400475 
>>400463
Самая массовая, но не прогрессивная.
Аноним 30/10/14 Чтв 15:31:58 #277 №400477 
>>396358
А есть книжки по ангуляр? Не могу в туториалы и обучающие курсы. Плохо усваиваю инфу с компика.
Аноним 30/10/14 Чтв 15:46:55 #278 №400479 
>>400477
Да, полно их. Самая адекватная это AgularJS от O'REILLY.
Аноним 30/10/14 Чтв 16:10:33 #279 №400483 
>>400477
Но лучше посмотреть видео Egghead, и почитать блог scotch.io, и смотреть всякие todo app и другие фубары на гитхабе, читать код, писать самому, и тыкать все директивы и слова из документаций, смотреть что получается. А смотреть множество видео и читать кучу книг, в большинстве трата времени. Я разве что обращался к книгам чтоб $resource изучить получше.
Аноним 30/10/14 Чтв 16:15:25 #280 №400484 
>>400483
>>400479
Спасибо за ответ. Думаю сейчас, чтобы такого написать, чтобы все охуели как я могу.
Аноним 30/10/14 Чтв 16:43:00 #281 №400492 
>>400484
Ничего не пиши. Почитай >>400168 и ищи новую дилду.
Аноним 30/10/14 Чтв 20:43:13 #282 №400570 
Какой самый лучший способ работать с ошибками в ангуляре?

Есть форма, с полями, которые. В полях могут быть ошибки, они валидируются на сервере, получаю ответ, как мне вывести каждую ошибку под поле, чтобы это было правильно, сейчас я завёл дополнительные поля как model.nameError, но не думаю что это правильно, и масштабируемо.
Аноним 30/10/14 Чтв 21:20:31 #283 №400578 
>>400570
Хм, не делал такое, я бы объект с ошибками завел просто.
А лучшее делать валидацию на фронтенде везде, где возможно.
Аноним 30/10/14 Чтв 21:22:35 #284 №400579 
>>400578
Мне нужна серверая валидация, а как будет с объектом с ошибками?
<span>{{ errors.email }}</span>

так?
Аноним 30/10/14 Чтв 22:05:43 #285 №400590 
>>400578
>лучшее делать валидацию на фронтенде везде, где возможно.
Мудак? клиентскую валидацию поломать как нехуй, а серверную ты хуй тронешь.
Аноним 30/10/14 Чтв 22:54:06 #286 №400602 
>>400590
Думаю он имеет ввиду данные, которые взламывать не станут. Например, чтобы менеджеры при наполнении контента писали адрес с большой буквы и без цифр или подобная хуйня.

Критичные данные потом все равно перепроверяются на сервере. Сначала валидируешь во фронтенде, но говна на бекенд все равно не отправишь. Т.е. двойная валидация получается.
Аноним 30/10/14 Чтв 23:54:45 #287 №400614 
>>400590
Вот ответ. >>400602
Не думал, что для кого-то станет открытием, что валидация дублируется на фронтенде и бекенде.
И это уровень этого треда, блядь?
Аноним 30/10/14 Чтв 23:58:14 #288 №400615 
>>400570
А вот и первая выдача гугла: https://github.com/webadvanced/ng-remote-validate
Н-да.
Аноним 31/10/14 Птн 04:01:17 #289 №400650 
>>400614
Смысл в клиентской валидации поверх серверной в том, что если есть клиентская валидация, то на сервере достаточно при ошибке слать 500, а на клиенте уже реализовывать всю логику про то, к какому полю относится ошибка, в чем она заключается и как отображать сообщение об ошибке.
Аноним 31/10/14 Птн 04:22:34 #290 №400654 
14147185540930.jpg
Посоны, поясните за воркфлоу на этом вашем JS. Cуть такова: хочу иметь в html один охуенноминимизированныйоптимизированный для продакшена, но при этом хочу успешно дебажить в деве. И конечно модульность, зависимости и прочие ништяки. Как ты, скриптодружок, решаешь вышеописанные задачи?
Алсо реквестирую доступный для быдла туториал "хау ту старт девелоп факин осом мвц/мвп жс аппликейшен". И не о каком-либо охуительном мвц/мвп/втф фреимворке, а об этих самых commonjs, npm, bower, gulp, etc.
Аноним 31/10/14 Птн 07:00:01 #291 №400659 
Ребята, Angular2.0 не за горами. После его выхода, все чему вы научились на 1 ангуляре станет нинужна.
http://www.infoq.com/news/2014/10/angular-2-atscript
Аноним 31/10/14 Птн 14:24:48 #292 №400717 
>>400659
О нет, мне опять придется 6 лет учиться в Академии Ангуляра для постижения основ новой версии!
Аноним 31/10/14 Птн 14:39:49 #293 №400723 
>>400717
Через 6 лет Ангуляра уже не будет
а ExtJS тем временем выпустит версию 7.0, по-прежнему сохраняя возможность миграции с предыдущих версий
Аноним 31/10/14 Птн 15:09:02 #294 №400730 
>>400717
Сделал мне вечер пятницы
Аноним 31/10/14 Птн 16:02:58 #295 №400740 
Нахуя вообще нужны все эти фреймворки?
Аноним 31/10/14 Птн 17:22:41 #296 №400765 
>>400740
Чтобы ты страдал, и их авторы зарабатывали бабло на консалтинге.
Аноним 31/10/14 Птн 17:23:24 #297 №400766 
Фронтенд-куны расскажите про свою ЗП? Примерно хотя бы.
Аноним 31/10/14 Птн 18:41:33 #298 №400781 
>>400740
Прост))
Аноним 31/10/14 Птн 20:35:52 #299 №400816 
55K
DC

Prototype/ExtJS/Backbone+костыли к нему.
Не верстаю, тоесть верстать могу, но пиксель ту пиксель и кроссбраузерность - проблемы верстунов
Аноним 31/10/14 Птн 21:29:27 #300 №400834 
>>400816
А опыта сколько у тебя?
Аноним 31/10/14 Птн 21:37:50 #301 №400835 
>>400766
1100$
Coffeescript/Angular/Python
Беларусь, не столица. Опыта год.
Аноним 31/10/14 Птн 23:53:21 #302 №400883 
0$
Agnular, node, mongo, express, socket io, jqurey
Живу в селе, денег на переезд нету, на съем в крупном городе тем более, на удаленку нет опыта в хай лоад проектах, и реализованных уже существующих приложений.
Вывод, родился в маленьком городе, в быдлокод не лезь, это удел счастливчиков из больших городов.
мимо невостребованный с перманентным бугуртом
Аноним 01/11/14 Суб 00:09:31 #303 №400890 
>>400834
Более двух лет. Хочу дропнуть эту работку, так как за последний год прогресса 0.
Аноним 01/11/14 Суб 00:13:57 #304 №400891 
>>400883
>и реализованных уже существующих приложений
Так реализуй, хуйло ленивое. Выводы он делает, лол.
Аноним 01/11/14 Суб 00:23:03 #305 №400893 
>>400883
Почему в обработчик onmouseover, выставляемый для некоторой ссылки через

$('.yoba-link').live('mouseover', function(e){ ... });

после дописывания внуть спана

link.innerHTML = '<span style="font-weight: bold;">' + link.innerHTML + '</span>';

передаётся не сама ссылка, а спан внутри неё? Это баг или таки фича?
Аноним 01/11/14 Суб 00:24:13 #306 №400894 
Ссылку забыл стереть.
Аноним 01/11/14 Суб 00:32:38 #307 №400896 
>>400891
Есть реализованые, показываю, мне говорят что это самодельный опенсурс, а нужно коллективный продукт в продакшене, а для этого нужно родится в большом городе и работать в офисе над ним, ибо из села на удаленку в такой проект не дадут. В итоге замкнутый круг. Так что завали свой ебальник, хуйло.
Аноним 01/11/14 Суб 01:23:34 #308 №400904 
>>400896

PHP изучай. На него спрос больше. У нас кстати PHP-тред есть, где помогают его изучать.

Ну или на одеск попробуй пролезть.
Аноним 02/11/14 Вск 11:42:18 #309 №401227 
Только начал изучать js и возникло пару вопросов. Вот код:
http://pastebin.com/q1suf1FT

1) Как запустить функцию переданного объекта? В моём примере когда Player вызывает create() ни хуя не происходит, а аддон в хроме подсказывает - "TypeError: undefined is not a function".
2) И объясните как в принципе тут работают референсы типа того, что пытался сделать я. Когда я создал копию Player и передал в него this (т.е. сам объект Game), то в эту копию приходит копия передаваемого объекта (т.е. с новым адресом и т.д.) или приходит ссылка на него?
Аноним 02/11/14 Вск 11:58:52 #310 №401229 
>>401227
Полагаю, функция create еще не объявлена, когда создается Player. Объекты передаются по ссылке, примитивы по значению.
Аноним 02/11/14 Вск 12:06:05 #311 №401232 
>>401227
1. У жаваскрипта ебанутые scope'ы. В твоем коде this - объект window
2. Ссылка
Аноним 02/11/14 Вск 12:13:44 #312 №401235 
>>401232
И как с такими скоупами мне отправить вместо window сам объект Game?
Аноним 02/11/14 Вск 12:23:49 #313 №401238 
>>401235
Если просто вызывать объявленную функцию, то this будет window. Если создать новый объект функции (по сути, все в js - объекты), то this внутри неё будет указывать на неё же.
Аноним 02/11/14 Вск 12:25:13 #314 №401239 
>>401229 прав, ты создаешь объект PLayer раньше, чем объявляешь create
Должно быть так
http://jsfiddle.net/dg9vhrgc/
Аноним 02/11/14 Вск 14:39:04 #315 №401258 
Ананасики, часто встречаю код вида http://jsfiddle.net/j9uu0uu4/ .
В жс так принято делать или лучше явно передавать переменные через аргументы функции?
Аноним 02/11/14 Вск 15:24:08 #316 №401274 
>>401258
Конечно передавать лучше.
Аноним 02/11/14 Вск 16:38:56 #317 №401282 
14149355361130.jpg
>>396362
>>396362
Но ведь книга действительно хуета, тем более на русском (вместе с переводом книга получила несколько ошибок и потеряла удобность оформления блоков с кодом, как в оригинальной версии).
Аноним 02/11/14 Вск 17:53:38 #318 №401304 
>>401232
>>401235
А вот хуй, там всё правильно. И ничего в скоупах ебанутого нет. Есть скоупы, есть this. Два абзаца сакральных знаний осильте уже.
>>401258
Вопрос не корректный. Если это создание замыкания - это гут. Если это такое использование глобальных пересенных или еще какой-то мэдскиллз, то не гут.
Аноним 03/11/14 Пнд 00:49:42 #319 №401445 
>>396358
>Что это за язык такой? Объектно ориентированный язык
>Объектно ориентированный
How to override a JavaScript function?
http://stackoverflow.com/questions/296667/overriding-a-javascript-function-while-referencing-the-original
Аноним 03/11/14 Пнд 12:08:22 #320 №401547 
>>401445
Лол. Вот, переопределил.
[code]
console.log = function(){}
[/code]
Аноним 03/11/14 Пнд 12:23:53 #321 №401551 
>>401304
> А вот хуй, там всё правильно
Хуйню не неси, если было правиль, всё бы у него работало и он не приходил сюда. Если ты про то, чем является this, то по объяснению >>401227, ему нужно передать в функцию объект Game, а как предлагаешь ты, методы объявятся у window. Работать это будет, только задумке соответствовать не будет.
Аноним 03/11/14 Пнд 12:37:33 #322 №401555 
>>401551
Ну не знаю что там тебе привиделось http://jsfiddle.net/38gzrj6j/
Аноним 03/11/14 Пнд 12:57:30 #323 №401561 
>>401555
> new Game()
Хоть бы код удосужился прочитать
Аноним 03/11/14 Пнд 13:13:10 #324 №401565 
14150095909010.gif
>>396358
Мне нужно запилить кой-какую автоматизацию на серверах компании (к вебу отношения не имеет, ну, разве что чуть-чуть), ради интереса решил посмотреть, что вообще сейчас модно-молодёжно. Наткнулся на JavaScript.
>Хочешь на сервер сайд, на самой хипстерской технологии? Копай в сторону node, express, socket io.
Скажите, на нём действительно можно писать скрипты автоматизации? В чём преимущества и недостатки по сравнению с питоном, башем, руби?
Аноним 03/11/14 Пнд 13:15:32 #325 №401567 
>>401565
http://habrahabr.ru/post/129640/
Аноним 03/11/14 Пнд 13:30:59 #326 №401570 
Как я заебался с этим сраным this, помогите - http://jsfiddle.net/6s4gh4mt/
Мои попытки всё починить частично решили проблему, но замапить так и не получается - http://jsfiddle.net/4pv6y1bh/.
Есть ли ещё какой-нибудь способ для моего случая (без map) или как это всё можно разрулить?
Аноним 03/11/14 Пнд 13:36:51 #327 №401571 
>>401567
За ссылку спасибо, прочитал статью и часть комментов.

Если убрать вопли и демагогию, то автор обвиняет Node.js в:
1) Тормознутости.
2) Том, что вызовы функций таки блокирующие, хотя утверждают, что нет.
3) Создании прокладки в виде собственного HTTP-сервера для входящего трафика.

Все три пункта лично мне не интересны. Тормознутость вряд ли существенная, а на внутреннюю реализацию работы насрать.
Аноним 03/11/14 Пнд 14:13:18 #328 №401581 
>>401570
Если ты передаешь в Map объект world, то зачем используешь this? Объясни, что ты пытаешь сделать?
Аноним 03/11/14 Пнд 14:14:18 #329 №401582 
>>401581
> Если ты передаешь в Map объект world, то зачем используешь this
Хуйню написал, не обращай внимания
Аноним 03/11/14 Пнд 14:30:11 #330 №401588 
>>401582
Не знаю, так ли я тебя понял.
http://jsfiddle.net/4pv6y1bh/1/
Аноним 03/11/14 Пнд 16:19:04 #331 №401614 
>>401570
Не очень понял, что именно ты хочешь сделать.
Для чего там вообще map? Не легче ли запилить метод для получения массива людей, а потом выводить имена в нужном виде? Зачем делать это через получение одного человека по индексу?
Можно обойтись и вовсе одним методом, если нужен только вывод имен на экран.
Для чего нужен город в виде числового массива? Для "индексирования" жителей?
http://jsfiddle.net/4pv6y1bh/5/
Аноним 03/11/14 Пнд 16:42:36 #332 №401617 
Как в ангуляре приемлимо делать дополнительные модули с функциями (Helpers), которые будут доступны во всех контроллерах?
Аноним 03/11/14 Пнд 16:58:10 #333 №401623 
>>401570
http://jsfiddle.net/4pv6y1bh/2/
Я рекомендую стараться избегать использования ООП паттернов в JS. Твою задачу можно просто решить обычными объектами, массивы с id - это не уродство, как и new Array(). Забей на эти конструкторы и прототипы, это не та задача, где они оправданы.
Аноним 03/11/14 Пнд 17:10:16 #334 №401628 
>>401617
Сервисы (у нас на практике это почему-то angular.factory)
Аноним 03/11/14 Пнд 18:33:05 #335 №401652 
Решил поучить метеор и сразу выпал.
Анон, помоги, гугл не справился.
Я имею некоторую
Testdb = new Mongo.Collection("testdb")
Пихаю туда всякие документы, но не хочу, чтобы она разрасталась. Допустим, как только в Testdb оказывается слишком много документов, мы удаляем самый старый.
Так вот, как мне, блядь, отследить размер testdb?
Аноним 03/11/14 Пнд 18:37:06 #336 №401655 
>>401565
>башем
Начнём с того, что баш - не язык, а средство обфускации.
Аноним 03/11/14 Пнд 19:09:54 #337 №401672 
>>401628
покаж пример
Аноним 03/11/14 Пнд 19:28:03 #338 №401681 
>>401655
Не будь педантом, все говорят "скрипт на баше".
Аноним 03/11/14 Пнд 19:33:13 #339 №401685 
>>401623
Спасибо, думаю так и поступлю в итоге )
Но ещё один вопрос есть - http://jsfiddle.net/4pv6y1bh/6/, вот тут, внутри функции getName, this внезапно становится Window, хотя по идее вызывается всё также внутри World. Почему это так и как этого можно избежать?
Аноним 03/11/14 Пнд 19:40:33 #340 №401692 
>>401685
>Почему это так
Потому что жс говно.
>как этого можно избежать?
1. Не использовать alert
2. this.getName.bind(this)
Аноним 03/11/14 Пнд 20:04:18 #341 №401698 
>>401692
bind это два вызова
3. var that = this;
Аноним 03/11/14 Пнд 22:09:40 #342 №401755 
>>401685
Потому, что this всегда всегда сука! равен объекту на котором вызывается функция. В случае передачи функции как параметер, случится вот что:
Array.prototype.map(fn) {
...
fn(datum) // вот он вызов в глобальном контексте.
...
}
Поэтому в таких случая либо привязывают this (bind, self, etc), либо его попросту не используют. Второй вариант как по мне лучше, и тебе он вполне подходит.
Аноним 04/11/14 Втр 21:23:36 #343 №402108 
При нажатии input с типом submit форма загружается как положено. При выполнении form.submit()
который находится в онклике баттона, форма отправляется два раза. Что не так?
Аноним 04/11/14 Втр 22:29:18 #344 №402125 
Нахуя у JS триллиард фреймворков? В других ЯП есть подобное?
Аноним 04/11/14 Втр 22:49:28 #345 №402127 
>>402125
У пхп тоже миллиарды фреймворков/библиотек. Чуешь, к чему я клоню?
Аноним 04/11/14 Втр 23:02:51 #346 №402137 
>>402108
Код в студию.
Аноним 04/11/14 Втр 23:28:46 #347 №402147 
>>402137 http://pastebin.com/LRzTwrvN
Аноним 05/11/14 Срд 00:26:49 #348 №402162 
>>402147
Потому что кнопка по дефолту отправляет форму, если не указано иное
wtfhtmlcss.com/#buttons-type
Аноним 05/11/14 Срд 00:42:06 #349 №402165 
14151373262150.png
>>402162 Ах ты ебанись! Очень благодарен. Плачу скриншотом секретной технологии риалтайм-рейтресинга.
Аноним 05/11/14 Срд 15:22:52 #350 №402314 
>>396358
Котаны, есть какой-нибудь мануал, где на примере разбирают создание приложения для быдлятни?
Аноним 05/11/14 Срд 18:33:08 #351 №402378 
14152015889360.png
>>402314
ООП на JS. Впервые на сосаче.
Аноним 05/11/14 Срд 18:34:09 #352 №402380 
14152016499910.png
>>402378
Аноним 05/11/14 Срд 19:10:31 #353 №402407 
>>402378

Элита из /pr прототипы не осилила? двоечники.
Аноним 05/11/14 Срд 19:12:25 #354 №402408 
>>402378

Алсо, на практике получается огромная неудобная функция-коснтруктор. Алсо, подчеркивание в начале — это отстойно. В нормальных языках для этого есть слова private и protected.
Аноним 05/11/14 Срд 19:38:36 #355 №402419 
Анончики, а можно использовать только событие on change в формах для мобильников без кнопки субмита? Или там часть браузеров это может игнорировать?
Аноним 05/11/14 Срд 19:54:35 #356 №402426 
>>396358
Проиграл с ОП-пикчи. Айдиша настолько элитен, что стал лицом треда жавамакак?
Аноним 05/11/14 Срд 22:03:01 #357 №402491 
>>402426
Он стал ее ОПом.
Аноним 05/11/14 Срд 22:32:07 #358 №402515 
>>402426
> Айдиша
Кто такой, чем знаменит?
Аноним 06/11/14 Чтв 03:12:14 #359 №402635 
>>402408

То, что ты не разобравшись назвал огромной функцией-конструктором на самом деле тело класса.
Аноним 06/11/14 Чтв 12:19:15 #360 №402685 
>>402378
Для констант есть `const`, для сеттеров и геттеров есть, внезапно, setter/getter (через defineProperty). Есть `Object.freeze` и `Object.seal`, есть `class`, хоть его добавили только из-за джавистов. Сейчас памяти даже на смарфонах по 4Гб, гораздо проще накопировать себе свойств и функций в объект, чем ебаться с наследованиями.
Аноним 06/11/14 Чтв 12:26:08 #361 №402686 
>>402314
бамп
Аноним 06/11/14 Чтв 12:32:16 #362 №402689 
>>402685

Наследование используют не ради экономии памяти, ребенок.

>>402635

Классы будут только в ES6 и они помечаются словом class. Это функция-конструктор.

Я когда-то давно так делал, потом перестал так как получается ощущение бардака по мере роста кода. Удобнее писать классическим способом, каждый метод отдельно в prototype.method = function () ...

Аноним 06/11/14 Чтв 12:33:57 #363 №402691 
>>402635

Ну и этот способ имеет недостатки, например методы создаются в каждом объекте, а не один раз, что довольно противоестественно.
Аноним 06/11/14 Чтв 13:29:34 #364 №402704 
>>396358
ОП, зайди в конфу, мы фронт енд пилить собираемся.
Аноним 06/11/14 Чтв 14:10:47 #365 №402719 
Какой фреймворк позволяет генерировать HTML как на клиенте, так и на сервере ? Допустим, у меня есть TODO-приложение, которое строится на клиенте с помощью Angular и там же редактируется. Я хочу, что бы этот список задач отображался и на смартфоне, но в данном случае страница гененировалась на сервере (что бы не нагружать клиент). Для Angular подобная вещь делается через какие-то адовые костыли. Есть ли аналоги из фреймворков в этом плане, которые учитывают данную потребность ?
Аноним 06/11/14 Чтв 14:18:40 #366 №402724 
>>402704
как попасть к вам в конфу?
Аноним 06/11/14 Чтв 14:41:25 #367 №402732 
>>402724
Расскажи немного о себе на faggot13371488[at]mail.ru
Тебя добавят.
Аноним 06/11/14 Чтв 15:00:17 #368 №402736 
>>402732
а что вы там пилите то, ананасы?
Аноним 06/11/14 Чтв 15:04:15 #369 №402738 
>>402736
оупенсорсный проект для портфолио на РоР+сверху ангуляр
Аноним 06/11/14 Чтв 15:17:22 #370 №402744 
>>402738
а опытные есть пограмисты, которые могут сказать -"этот код- хуйня, перепишика вот в таком ключе". Я немного умею в верстку и js. Хочу освоить какойнить MVC фреймворк. Почему бы не Angular?
или вам нужны опытные чуваки?
Аноним 06/11/14 Чтв 15:19:34 #371 №402745 
>>402744
Всякие нужны. Я сам такой же как ты.
Аноним 06/11/14 Чтв 15:20:23 #372 №402747 
>>402724
А где у вас конфа ? Skype ? Как организовываетесь, что используете ?
Аноним 06/11/14 Чтв 15:35:15 #373 №402759 
напоминаю единственную норм конфу в пределах видимой вселенной: [email protected]
Аноним 06/11/14 Чтв 15:44:31 #374 №402764 
>>402745
отписал
Аноним 06/11/14 Чтв 16:07:05 #375 №402771 
>>402689
>Наследование используют не ради экономии памяти, ребенок.
Лол.
>>402719
Ангулар на сервере, например. jsdom или phantomjs, или хуй знает что еще, но проблема решаема, причем в лоб.
Аноним 06/11/14 Чтв 16:11:15 #376 №402772 
>>402771
Так это и есть костыли. PhantomJS имитирует загрузку сайта, как будто он загружен через браузер и возвращает результат.
Мне нужно просто сгенерировать страницу по шаблону и этот же шаблон использовать на клиент-сайде. Уверен, это будет в разы быстрее, чем выполнять работу аналогичную той, что выполняет браузер
Аноним 06/11/14 Чтв 16:13:36 #377 №402773 
>>402772
Ну тогда jsdom и хуй знает что еще остается.
Вообще, для этого есть специальные тулы, но я их не знаю по именам.
Аноним 06/11/14 Чтв 16:28:18 #378 №402774 
Какая генерация на сервере, что за хуйню я читаю? Чо нужно-то? Чтобы телефон от ангуляра не тормозил? Сделай REST api, перенаправляй мобильных клиентов куда нужно и делай с данными что угодно.
Аноним 06/11/14 Чтв 16:35:22 #379 №402778 
>>402774
Ты можешь расшифровать, что ты сказал ? Куда нужно перенаправлять мобильных клиентов и что делать с данными ? Ангуляр и подразумевает, что на сервере будет реализован rest api, разве нет ?
Аноним 06/11/14 Чтв 16:43:27 #380 №402779 
>>402778
Не слушай его (>>402774), он несет чушь.
Ищи тулы. На двачах их нету, если что.
Аноним 06/11/14 Чтв 16:51:29 #381 №402780 
>>402778
Ангуляру похуй есть у тебя rest api или нет, он и без этого работать будет.

Ты отдаешь клиенту html файл. Там ставишь проверку по юзер-агенту и если обнаруживаешь десктоп – загружаешь ангуляр и всю хуйню.

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

Ну или "ищи тулы", лол. Обязательно найдешь.
Аноним 06/11/14 Чтв 16:53:56 #382 №402781 
>>402719
Все правильно делаешь, не слушай этих любителей по-запускать браузер на сервере. Бери React он изначально делался что бы рендерить и на клиенте и на сервере.
Сам перекатился с ангуляра, на котором писал почти полтора года, на реакт (+ некоторые другие либы, так реакт это все-таки только вьюха). После переусложненного комбайна ангуляра очень нравится. А после того как увидел презентацию ангуляра 2.0 окончательно убедился, что все правильно сделал.
Аноним 06/11/14 Чтв 16:57:13 #383 №402783 
>>402780

Возникает вопрос, зачем тогда вообще нужен ангулар если сервер может отдавать html?

> Там ставишь проверку по юзер-агенту
дети не знают, что это плохая идея изначально
Аноним 06/11/14 Чтв 16:59:49 #384 №402784 
>>402783
>Возникает вопрос, зачем тогда вообще нужен ангулар если сервер может отдавать html?
По-твоему ангуляр нужен чтобы отдавать html? В чем вопрос? Я не знаю зачем ему ангуляр или отсутствие ангуляра.

>плохая идея изначально
Почему?
Аноним 06/11/14 Чтв 17:00:56 #385 №402785 
>>402780
Я так и хочу, но проблема в том, что придется поддерживать ДВА разных, но одинаковых шаблона - для ангуляра и для легковестной библиотеки.
>>402781
Спасибо, именно это я и хотел узнать. Как раз задумался об этом, когда читал про React. Единственное, что смутило, что автор поста про React предлагал писать HTML прямо в JS-коде. Этого можно как-то избежать ? Это же пиздец.
Аноним 06/11/14 Чтв 17:12:26 #386 №402793 
>>402785
Тебе в любом случае придется поддерживать два разных шаблона. Одинаковыми они никак быть не могут – помимо html тебе еще и всю js логику нужно переписывать.

React я не использовал, но похоже что и в этом случае тебе придется поддерживать разные версии – для генерации на сервере и на клиенте.

https://www.npmjs.org/package/react-server-example – выглядит хуево.

Если ангуляр на мобилах тормозит – либо ты накосячил с архитектурой, либо мобила <2010 года выпуска и на ней 80% современного веба тормозить будет. Если ты так сильно хочешь ублажить нищебродов и не хочешь одновременно поддерживать две версии – попробуй переписать на клиентском реакте/vue/mithril, которые вроде как значительно быстрее ангуляра – и посмотреть что будет.
Аноним 06/11/14 Чтв 17:13:45 #387 №402796 
>>402793
Но вообще для таких вещей не просто "поддерживают два одинаковых шаблона", но пишут нативный клиент под мобильную ОС.
Аноним 06/11/14 Чтв 17:14:23 #388 №402797 
>>402785
>Единственное, что смутило, что автор поста про React предлагал писать HTML прямо в JS-коде. Этого можно как-то избежать ?
Только, если использовать какой-нибудь свой самописный препроцессор, хотя может и написал уже кто-нибудь. Прочти туториал на офсайте и поймешь почему было сделано так и почему это вполне удобно.
Аноним 06/11/14 Чтв 17:18:51 #389 №402798 
>>402793
Пока ничего еще не тормозит, лол. Просто почитал сегодня этот пост http://rauchg.com/2014/7-principles-of-rich-web-applications/ , а с него перешел на http://modernweb.com/2014/03/10/is-jquery-too-big-for-mobile/ , посмотрел на таблицу сравнений скорости выполнения jQuery на десктопе и на телефон и угорел по оптимизации. Не планирую делать какое-то супер приложение, которое будет тормозить на телефоне, просто хочется делать всё правильно и привыкать сразу к правильному.
>>402797
Спасибо, почитаю обязательно, надо расширять кругозор.
Аноним 06/11/14 Чтв 19:10:02 #390 №402825 
14152902028310.gif
>>396358
На udacity.com хороший курс для нюфагов по JS
Object-Oriented JavaScript

Область видимость, глобальные и локальные переменные очень наглядно показывать на картинках и примерах.
Аноним 06/11/14 Чтв 20:04:06 #391 №402847 
>>402825
>$199/month
Как-то слишком много.
Аноним 06/11/14 Чтв 20:29:59 #392 №402859 
>>402847
Там же вроде плата опциональная типа за всякие ништяки в виде личного тутора, утренного минета и т.п.
Аноним 06/11/14 Чтв 20:30:04 #393 №402860 
>>402847
Ниже кнопка фри ацесс.
Аноним 06/11/14 Чтв 21:25:49 #394 №402871 
Пиздец, как Айдиша сделал такие прямые расчесанные патлы? Специально на камеру штоле распрямлял, а в жизни он ходит волохатый как бомж?
Аноним 06/11/14 Чтв 23:14:41 #395 №402891 
>>402871
Они всегда прямые из-за длинны.
Аноним 07/11/14 Птн 07:45:10 #396 №402975 
14153355107230.png
Оцените мой фронтенд (первый раз на ангуляре пишу): https://bitbucket.org/Yodacloud/imageshare/src/ae0878a04bb634c783c1559a6f5e81c15f5776b2/webapp/?at=default
Собственно, такая проблема: телефон намертво повисает при попытке открыть папку с ~8к изображений (на компе всё норм). Как пофиксить?
Аноним 07/11/14 Птн 09:03:11 #397 №402984 
>>402975

Не открывать на телефоне.
Аноним 07/11/14 Птн 11:11:13 #398 №403026 
Сап, пацаны, есть один acmp.ru, суть в том, что я хочу написать дополнение для хрома, которое будет скрывать темы нерешенных задач. Ясен хуй, это задача для jQuery, но у меня не получается выделить отдельные элементы из той таблицы. Помоги, антош.
Обычно программирую на java, поэтому этот ваш динамичный джаваскрипт выносит мне мозг.
Аноним 07/11/14 Птн 12:03:35 #399 №403036 
>>403026
Расскажи поподробнее, что тебе нужно скрыть. Я правильно понял, что у тебя есть таблица, в которой в одном из столбцов пишется, собственно, решена задача или нет ? Если да, то что-то вроде того

http://pastebin.com/L83NVa8q

Проходишься по каждой строке tr и для каждой выполняешь проверку: если в третьем (или каком там в твоем случае) столбце слово "Решено", то скрываешь строчку.
Аноним 07/11/14 Птн 17:03:35 #400 №403140 
>>396358
Пишу простенькую игру на JS.

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

Вообщем, столкнулся с фундаментальным недостатком js, а именно я не вижу объектов из одного модуля в другом.

Простой пример. Есть файл code.js и core.js (на самом деле файлов много, но для простоты беру два). Core - ключевой объект игры, он содержит в себе все игровые объекты, начиная от menu, заканчивая updates и другими фичами игры.

Сделал я это чтобы не засирать остальной код.

Т.е. если я хочу показать menu, я в code.js прописываю
>core.menu.show = true; // set метод

Не заботясь о способах прорисовки, вся грязь содержится внутри core.js. Разумеется, мне это всё доставляло до того момента, когда скопилось 19 разных объектов с множеством методов, которые я не вижу, работая с другими модулями.

Т.е. когда я работал с c# в VS я создавал класс в отдельном модуле и видел все методы и свойства в main.cs а сейчас я использую обыкновенный sublime text 3, который по дефолту не может видеть содержимое объектов других файлов.

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

core.clock.<показывал тут методы и свойства>
Аноним 07/11/14 Птн 17:04:37 #401 №403141 
14153690770130.png
>>403140
Что-то вроде
Аноним 07/11/14 Птн 17:07:57 #402 №403146 
>>403140
Webstorm
Аноним 07/11/14 Птн 17:14:04 #403 №403151 
>>403146
Слава Всевышнему. То, что надо.
Аноним 07/11/14 Птн 17:14:39 #404 №403153 
Подскажите что необходимо знать/уметь для того чтобы устроиться frontend разработчиком?
Аноним 07/11/14 Птн 17:16:44 #405 №403155 
>>403151
30 дней триала.. Нет, не то.
Аноним 07/11/14 Птн 17:32:29 #406 №403161 
>>403155
Сам нашёл

Sublime​Code​Intel
https://sublime.wbond.net/packages/SublimeCodeIntel
Аноним 07/11/14 Птн 17:32:41 #407 №403162 
14153707610120.png
>>403140
Brackets очень хорош. Показывает подсказки по другим файлам и даже позволяет редактировать метод из другого файла.
Аноним 07/11/14 Птн 17:42:44 #408 №403164 
>>403155
Так спизди его или купи. Стоит всего 50 баксов, гейгены и готовые ключи на любом трекере. Еще можешь EAP использовать бесплатно, если он сейчас есть.

>>403161
Работает оно гораздо хуже чем IDE и все фишки уже есть в st3, кроме, может быть, Function Call tooltips.
Аноним 07/11/14 Птн 20:12:59 #409 №403222 
>>403036
Огромнейшее спасибо, тебе, антош! Лучей добра
Аноним 07/11/14 Птн 21:40:44 #410 №403242 
>>396358
учил когда-то, делал всякие приколы на браузере. но потом понял, что на C++ и C# при определённых фреймворках можно сделать ещё более прикольные приколы
Аноним 07/11/14 Птн 22:33:24 #411 №403256 
14153888041860.jpg
>>402975
Бамп. Я всё ещё жду ответа.
Аноним 07/11/14 Птн 23:23:24 #412 №403269 
>>403256
>~8к изображений

А в вопросе точно нет ответа ?
Аноним 07/11/14 Птн 23:27:07 #413 №403270 
>>402975
>Как пофиксить?
Использовать компьютер, очевидно же!
Аноним 07/11/14 Птн 23:46:34 #414 №403277 
>>403269
Но ведь они же не рендерятся сразу, там всё на страницы разбито. Какого хуя лагает тогда?
И как тогда к ангуляру прикрутить серверные страницы и поиск? Чтобы без совсем ебанутых костылей.

>>402984>>403270
Но мне нужно с телефона открывать.
Аноним 07/11/14 Птн 23:55:38 #415 №403280 
>>403277
Попробуй с помощью Batarang найти, в какой момент и из-за чего твое приложение начинает столько жрать памяти или что оно там жрет.
И не забудь рассказать потом, что там было
Аноним 08/11/14 Суб 00:15:48 #416 №403282 
>>403162
Прикольно. Спс.
Аноним 08/11/14 Суб 00:28:04 #417 №403286 
14153956848040.png
>>403280
Кхм
Аноним 08/11/14 Суб 00:31:12 #418 №403288 
>>403286
Я вообще сам ниразу не пользовался, просто знал, что там есть возможность замерить производительность отдельных вещей. Так что извини, большим помочь не смогу
Аноним 08/11/14 Суб 00:49:11 #419 №403291 
>>403162
10 из 10. Убийца Sublime и других. Тем более тормознутой WebWorms.

Чувак, спасиб тебе, был бы геем, отсосал бы.
Аноним 08/11/14 Суб 00:55:45 #420 №403292 
14153973454520.png
>>403280
В общем файрбаг показал, что проблема была в сортировке. Джяваскрипт её не вытягивает, пришлось перенести на сервер.
Аноним 08/11/14 Суб 02:09:37 #421 №403308 
>>403291
>Убийца Sublime и других. Тем более тормознутой WebStorm
>блокнот для верстальщика
>Убийца WebStorm
Этот блокнот ни один из моих текущих проектов даже проиндексировать не смог, лол, поэтому поиск файлов не работал. Quick definition для кофескрипта не заработал. JSLint из коробки ругается на все подряд, в самом начале файла ему 'use strict' не понравилось и дальше каждая третья строка.

В общем, сразу стало ясно что для программирования это поделие не годится. Но верстать psd с их новым плагином удобно наверное.
Аноним 08/11/14 Суб 04:20:51 #422 №403318 
>>403292
Интересно. Покажи код.
Аноним 08/11/14 Суб 04:22:01 #423 №403319 
>>403308
JSLint создан для того, чтобы на всё строго ругаться. Есть JSHint, он более вольный. А для кофескрипта екстеншны есть.
Аноним 08/11/14 Суб 04:55:48 #424 №403321 
>>403318
Смотри коммит sorting optimization
https://bitbucket.org/Yodacloud/imageshare/commits/all
Аноним 08/11/14 Суб 09:43:39 #425 №403339 
Привет, антоны, у меня вопрос к нодокунам. Я вот недавно решил перепилить бложек с рельсов (postgresql) на экспресс (mongodb), и все вроде бы ничего, но чисто субъективно респонз-тайм стал дольше, но на бенчмарке не тестил. Так и должно быть или мне просто так кажется? Алсо вопрос по поводу хайлоада: сильное ли нода имеет преимущество перед другими технологиями?
Аноним 08/11/14 Суб 10:27:34 #426 №403345 
>>403319
JSLint это в целом приблуда от разработчиков для самих разработчиков. У них есть определённый стиль написания кода.

Я попробовал отрефакторить, вышло убого и нечитаемо.

Например, я сторонник c# подхода с установкой фигурных скобок строго в отдельных строках
{
Мне так удобно
}

А не как это принято в js{
}
Аноним 08/11/14 Суб 11:38:01 #427 №403353 
>>403339
node - говно медленное, хочешь стабильный респонс - делай на erlang
Аноним 08/11/14 Суб 13:26:11 #428 №403366 
>>403345
Зачем стиль из одного языка тащить в другой ? Тоже пишу на C# и там ставлю скобки на одной линии, а методы называю с большой буквы. Когда пишу на JS, то делают наоборот, потому что good practice ёба.
Аноним 08/11/14 Суб 13:34:55 #429 №403369 
>>403345
А не пойти бы тебе нахуй со своим си шарпом?
Аноним 08/11/14 Суб 13:48:34 #430 №403371 
>>403319
Не рассказывай мне про JSLint, по дефолту он не должен ругаться на use strict и скобочки без пробела. Никого не должно ебать как я расставляю эти скобочки, пока специально не укажу это в code style – что, кстати, охуенно удобно реализовано в Webstorm, там можно выставить настройки чего угодно.

Просто этот блокнот немного по-дебильному сделан.
Аноним 08/11/14 Суб 14:58:03 #431 №403383 
>>403366
>>403369
Читаемость кода, если ставить скобки где попало падает до отрицательных значений.

Компактность кода на заре яваскрипта была вызвана желанием сократить число символов, дабы js летал.

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

Фундаментальная разница в том, что c# компилируется в бинарный код, а js интерпретируется при каждом запуске. ОтсюдаКомпактность(){
}
Аноним 08/11/14 Суб 15:03:17 #432 №403385 
Возможно ли создать клон окна?
window = window;
clone = clone(window);

Чтобы когда я меняю window.width clone.width не менялась?
Аноним 08/11/14 Суб 16:03:05 #433 №403391 
>>403385
Зачем?
Аноним 08/11/14 Суб 19:12:24 #434 №403456 
>>403383
>Фундаментальная разница в том, что c# компилируется в бинарный код, а js интерпретируется при каждом запуске.
Да ты же упоротый.
>V8 compiles JavaScript to native machine code (IA-32, x86-64, ARM, or MIPS ISAs) before executing it, instead of more traditional techniques such as interpreting bytecode or compiling the whole program to machine code and executing it from a filesystem. The compiled code is additionally optimized (and re-optimized) dynamically at runtime, based on heuristics of the code's execution profile. Optimization techniques used include inlining, elision of expensive runtime properties, and inline caching, among many others.
Ну и другие браузеры тоже уже давно JS налету в машинный код компилируют.
Аноним 08/11/14 Суб 20:03:08 #435 №403489 
Просто вголос скапитулировал с ангуляро-блядков в треде.
Пишу на реактюжс уже полгода, заказчиков хоть отбавляй, тянки текут.
Аноним 08/11/14 Суб 20:05:43 #436 №403491 
как вы относитесь к пхп-программистам?
Аноним 08/11/14 Суб 20:09:36 #437 №403492 
>>403491
С пониманием.
ПХП годен для маленьких серверочков типа ресайзинга картинок и т.д. Но все еще на дворе 2014
Аноним 08/11/14 Суб 20:10:16 #438 №403493 
>>403492
блять, не дописал. В общем на дворе 2014, и генерировать хтмл на сервере это полным дауном надо быть, так что нахуй пхп, нахуй.
Аноним 08/11/14 Суб 20:12:48 #439 №403495 
>>403493
>>403492
как связан пхп и генерация кода на сервере?
пхп можно использовать как генератор контента, а получать его при помощи чего хочешь запросами на сервер
Аноним 08/11/14 Суб 20:16:56 #440 №403496 
>>403495
потому что ИЗНАЧАЛЬНО он создавался для негерации хтмл на сервере.

понятное дело можно извратиться и писать всякие рестики с жейсоном на нем, да и туча фреймворков для этого, вот только НАХУЯ? когда есть узкоспециализированные инструменты для этого.
Аноним 08/11/14 Суб 20:18:56 #441 №403500 
>>403496
>узкоспециализированные инструменты для этого
доставь пример
никогда не занимался таким
Аноним 08/11/14 Суб 20:24:01 #442 №403504 
>>403500
Ну на епты http://www.django-rest-framework.org/
Аноним 08/11/14 Суб 20:28:34 #443 №403507 
>>403504
а в чём разница?
в чём суть этого УЗКОСПЕЦИАЛИЗИРОВАННОГО инструмента? что может он чего не может пхп?
Аноним 08/11/14 Суб 20:39:27 #444 №403516 
Мелкобуквенный наркоман из пхп треда сюда перекатился?
Аноним 08/11/14 Суб 20:40:05 #445 №403517 
>>403516
ты опять выходишь на связь? укатывайся в б
Аноним 08/11/14 Суб 21:37:25 #446 №403542 
>>403489
Расскажи поподробнее
Аноним 08/11/14 Суб 21:43:34 #447 №403544 
>>403507
>Что может молоток чего не может микроскоп? Гвоздь можно и так забить.
А вообще для жсона надо использовать Spray.
мимо
Аноним 08/11/14 Суб 21:48:52 #448 №403549 
>>403345
В джяве и скале скобка ставится на той же строке, так что сасай.
sageАноним 08/11/14 Суб 23:24:25 #449 №403589 
>>403549
Иначе не скомпилируется, да?
Аноним 08/11/14 Суб 23:26:34 #450 №403591 
>>403589
Иначе шарподауну проведут по губёшкам
Аноним 09/11/14 Вск 00:00:46 #451 №403596 
Боги jquery, срочно нужна помощь.
Имеется подобие слайдшоу - http://jsfiddle.net/2s7eu87g/
Нужно сделать, чтобы картинки менялись с эффектом или анимацией, любой вариант.
Буду очень признателен за помощь.
Аноним 09/11/14 Вск 00:03:36 #452 №403597 
14154806166940.png
>>396358
Есть один проект, который писался в виде пикрилейтеда и так дорос до 10к строк кода. Я говноед? Как привести это в порядок? О Gruntjs и подобном только слышал.
Аноним 09/11/14 Вск 00:05:59 #453 №403599 
Посоветуйте пост с объяснением, когда в ангуляре рекомендуется юзать события. Везде пишут, что их должно быть как можно меньше, но нигде не пишут те редкие случаи, когда они оправданы. Какой-нибудь крутой репозиторий с примерами их использования тоже сгодится.
Аноним 09/11/14 Вск 00:11:53 #454 №403604 
>>403596
http://jsfiddle.net/2s7eu87g/2/
Аноним 09/11/14 Вск 00:16:22 #455 №403608 
>>403604
Спасибо!
Аноним 09/11/14 Вск 00:22:32 #456 №403610 
а тут помогают ньюфагам как в пхп треде?

мне нужен плагин для такого:
дана таблица уровня шкаф - ящик - носок
много шкафов, в каждом по 3 ящика
и много носков

задача - перемещать носки между ящиками, создавать, удалять,править носки, создавать шкафы

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


я оче не хочу писать это сам. посоветуйте какой-нибудь плагин на жаваскрипт
Аноним 09/11/14 Вск 00:30:09 #457 №403615 
>>403610
>посоветуйте какой-нибудь плагин на жаваскрипт
Тебе поможет YobaJS. Вот тебе пример как всё будет работать:
$yoba.tablica = $yoba.tablici("shkaf", "jaschik", "nosok").sdelatAjax("pri lubom dejstvii");
$yoba.stranica = $yoba.peremeshatNoski() + $yoba.sozdavatNoski() + $yoba.udalatNoski() + $yoba.sozdavatShkafy();
Аноним 09/11/14 Вск 00:33:59 #458 №403617 
>>403615
я не в курсе ваших внутренних мемчиков

что я написал не так?
Аноним 09/11/14 Вск 00:42:32 #459 №403619 
>>403617

Ничего, кроме того, что тебе нужно написать нормально продуманное приложение с возможностью масштабирования, интеграции с сервером и прочее.
Головой думай, а не плагинами.
Аноним 09/11/14 Вск 00:43:52 #460 №403621 
>>403619
иными словами - слишком специфичная\сложная задача, и плагина под неё нет\ты не знаешь?
Аноним 09/11/14 Вск 00:46:24 #461 №403624 
>>403621
ты реально ебанутый или прикидываешься?

у тебя, блять, специфичная задача, а ты хочешь готовое решение?
у тебя там чистой воды SPA, бери любой MV фреймворк и ебошь (хотя если ты под это просишь плагин, то шансов мало).
Аноним 09/11/14 Вск 00:51:09 #462 №403627 
>>403621
>иными словами - специфичная задача?
>у тебя, блять, специфичная задача
ты какой-то странный

я никогда не пользовался ангуляром
если я для большого проекта внедрю ангуляр именно для этой страницы - это не будет оверкиллом?

посоветуй какую-нибудь технологию, я представляю как пишу это на жквери и иду на двач искать готовый плагин
Аноним 09/11/14 Вск 00:53:09 #463 №403628 
>>403627
Писать что-то на голом жквери (без MVC-фреймворка) уже само по себе зашквар.
Аноним 09/11/14 Вск 00:56:15 #464 №403630 
14154837759910.jpg
>>403597
Бамп вопросу.
Аноним 09/11/14 Вск 00:57:02 #465 №403631 
>>403628
ты бы видел что я уже написал на голом ждквери
оставлю там коммент тому кто будет после меня чтобы переписывал всё сразу к хуям

если я для большого проекта внедрю ангуляр именно для этой страницы - это не будет оверкиллом?

посоветуй какую-нибудь технологию, я представляю как пишу это на жквери и иду на двач искать готовый плагин
Аноним 09/11/14 Вск 01:04:57 #466 №403633 
>>403630
просто разбей весь код на файлы и нормально всё это структурируй, потом настрой грант, чтобы всё конкатенировал и минифаил (один хуй ты же в продакшен жмёшь)
Аноним 09/11/14 Вск 01:07:56 #467 №403635 
>>403631
Внедрить ангуляр это МИНИМУМ.
Аноним 09/11/14 Вск 01:08:43 #468 №403637 
>>403631
внедряй то, что знаешь (Backbone, Ember, Angular, React, Knockout) -- особой разницы нет. В бекбоне, правда, нет two-way data-binding (без плагинов), но в описании твоей задачи он не нужен.
Ещё похоже, что тебе придётся написать rest api ко всему этому делу (то есть продумать структуру хранения).
Короче, задача не особо тривиальная и требует обдумывания.

MV тут будет не оверкилом, а наоборот.

з.ы. на голом жиквери тоже можно писать вполне, просто в этом случае серверсайд нагружается, а js чисто для еба-визуализации.
Аноним 09/11/14 Вск 01:23:53 #469 №403641 
>>403637
забыл сказать, codepen написан на голом jquery
Аноним 09/11/14 Вск 01:25:50 #470 №403642 
>>403597
Э, прототипы для слабаков?
Аноним 09/11/14 Вск 01:51:13 #471 №403651 
>>403641
>>403637
я не знаю ни одного языка, я скорее пхп-бэкендом занимают, жквери знаю постольку поскольку

структура хранения уже есть, мне нужно просто крудить это всё

да, в интернете кучи статей по сравнению бэкбон\ангуляр и т.д., по ним я выбрал бэкбон. но ангуляр сейчас форсят заебись как. за чем будущее?
что итт анонасы посоветуют?
мне нужен баланс между мощью\временем обучения, желательно что-то простое для вникания, но и не застарелое говно
Аноним 09/11/14 Вск 02:11:52 #472 №403658 
Javascript mvc для этого не обязателен, можно и обычным аяксом обойтись. Готовой библиотеки под конкретный круд, понятное дело, не найдешь. Никто не будет писать новую библиотеку для шкафов-носков-ящиков и трусов-стульев-стаканов. Так что я бы использовал YobaJS.
Аноним 09/11/14 Вск 02:23:06 #473 №403662 
https://pintastic.com/ на середине сайта использован интересный слайдер. Как такой реализовать, может кто знает подходящий плагин?
Аноним 09/11/14 Вск 09:55:02 #474 №403742 
>>403651
Будущее за реактом с флюксом или какой-нибудь другой флюксоподобной либой, которые сейчас появляются, как на дрожах, но настоящее за ангуляром. Вникнуть, как по мне, проще в реакт, в нем все api состоит из пятка коллбеков, полутора десятка методов и кучки миксинов, но из них реже чем никогда ты вряд ли станешь больше 2-3 в реальности использовать.
Аноним 09/11/14 Вск 10:39:09 #475 №403755 
>>403742
Поясни за реакт. Там обязательно прямо в скрипт хтмл вписывать? Я бы хотел на http://jade-lang.com/ разметку лепить.
Аноним 09/11/14 Вск 11:15:15 #476 №403763 
>>403755
Можно https://github.com/jadejs/react-jade
Я тоже люблю jade, но сам не использовал, слишком уюбищно выглядят вызовы.
Аноним 09/11/14 Вск 11:47:09 #477 №403776 
14155228298070.png
>>403763
Хуёво.
Аноним 09/11/14 Вск 11:48:04 #478 №403777 
>>403642
А зачем, если и так работает? Какие профиты?
Аноним 09/11/14 Вск 11:53:18 #479 №403779 
>>403777
Ну типа. Инкапсуляция, наследование, полиморфизм. Писать на уровне интерфейсов а не реализаций. Вот это всё.
Аноним 09/11/14 Вск 11:59:51 #480 №403781 
>>403779
А в чем проблема в моем случае? Инкапсуляция чек, наследование чек, какой полиморфизм тут же типов нет, лол.
Аноним 09/11/14 Вск 12:02:17 #481 №403784 
>>403755
Меня тоже это убивает. Это же пиздец, не могли зделать как в ангуляре ? Почему нельзя шаблоны держать в отдельной директории, например, а не искать их по скрипт-файлу ?
Аноним 09/11/14 Вск 12:15:48 #482 №403789 
>>403781
>Инкапсуляция чек, наследование чек
>в виде пикрилейтеда и так дорос до 10к строк кода
Аноним 09/11/14 Вск 12:20:21 #483 №403793 
>>403777
Кроме того, если ты используешь прототипы, то все твои методы класса будут создаваться один раз, иначе - для каждого экземпляра класса будет создаваться точная копия внутренних методов, что, разумеется, не очень хорошо.
Я бы посоветовал покрыть тестами то, что у тебя есть и после этого начинать рефакторить, что бы ничего не сломать. Точнее посоветовать не могу, я ололо-теоретик
Аноним 09/11/14 Вск 12:21:16 #484 №403794 
>>403784
Написать препроцессор для любой системы сборки, который будет брать jade, компилировать его и инлайнить в компонент дело на час. Другое дело, что не очень-то удобно, по-крайней мере мне и видимо создателям реакта, когда темплейт у тебя использует методы из компонента и локальные переменные из render, при этом находясь в другом файле.
Аноним 09/11/14 Вск 12:23:03 #485 №403795 
>>403794
Хотя с jade я возможно обосрался, так как не знаю как он воспримет реактовые вставки. Но заинлайнить обычный html файл 100% легко.
Аноним 09/11/14 Вск 12:51:33 #486 №403808 
Аноны, с чего начать обучаться верстать красивые и безопасные веб-сайты?
Аноним 09/11/14 Вск 12:57:58 #487 №403810 
>>403808
Примечание: основы джаваскрипта знаю, чуть дальше основ уйти не сложно, так как я не конкретный нубас в программировании
Аноним 09/11/14 Вск 13:05:24 #488 №403816 
>>403789
Ну и? Этот код писался год, все классы уникальны.
Аноним 09/11/14 Вск 13:09:38 #489 №403819 
>>403816
>Инкапсуляция чек, наследование чек
>все классы уникальны
Аноним 09/11/14 Вск 13:13:47 #490 №403821 
14155280270770.png
14155280270771.png
14155280270772.png
>>403489
Аноним 09/11/14 Вск 13:15:58 #491 №403823 
14155281585560.jpg
>>403819
Я говорил о возможности наследования, поехавший. Ее не следует использовать где попало и без нужды, потому я и не наследовал свои классы.
Алсо ты знаешь что такое инкапсуляция? А, уебок?
Аноним 09/11/14 Вск 13:18:52 #492 №403825 
>>403823
>Я говорил о возможности наследования, поехавший
Я так и понял что ты просто прокукарекал, не понимая сути претензии.

>10к строк кода
>все классы уникальны
>не следует использовать где попало и без нужды
>где попало и без нужды
Ясно
Аноним 09/11/14 Вск 13:21:54 #493 №403826 
14155285140520.jpg
>>403825
>Не знает что такое инкапсуляция
>Не знает что такое инкапсуляция
>Не знает что такое инкапсуляция
>Не знает что такое инкапсуляция
Аноним 09/11/14 Вск 14:43:16 #494 №403886 
>>403456
>налету компилируют
Ты мудак? Якобы споришь, но написал ровно то, что я тебе написал.

Интерпретация подразумевает компилляцию каждый раз во время выполнения js. Это время, тогда как бинарный, скомпиллированный заранее код запускается сразу.

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

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

Сейчас тот натив, что есть в Chrome предполагает запуск кода в обход традиционной браузерной интерпретации, но это не тоже самое, что ты запустил приложение, написанное на плюсах вне браузерной среды, которую можно сравнить с виртуальной машиной типа java машины или даже с гостевой виртуальной операционной системой, которая всегда будет медленнее работать, чем хост из которого она запущена.
Аноним 09/11/14 Вск 14:44:19 #495 №403887 
>>403589
Хорошо пошутил.
Аноним 09/11/14 Вск 15:33:05 #496 №403900 
>>401652
Кроном, либо можешь посмотреть в сторону ограниченных коллекций
http://docs.mongodb.org/manual/core/capped-collections/
http://docs.mongodb.org/manual/tutorial/create-tailable-cursor/

и слушать бд, хотя метеор с некоторыми костылями тоже самое делает, так что можешь слушать коллекцию где нибудь на сервере средствами метеора и удалять при необходимости
Аноним 09/11/14 Вск 21:37:44 #497 №404017 
мне итт помогут с начинанием реактос?

есть инпут, есть кнопка "прибавить 1"

мне нужно чтобы при нажатии на кнопку +1 в инпуте значение становилось +1

я написал value={this.props.page}
на кнопке действие this.props.page++;
переменная меняется, но значение на кнопке старое
почеу?
Аноним 09/11/14 Вск 21:43:26 #498 №404022 
>>404017
Ой, пиздец, прочти хотя бы туториал на офф сайте-то. setState тебе нужен. А менять props это уберзашквар в реакте, хотя, если ты прочтешь туториал, то и так об этом узнаешь.
Аноним 09/11/14 Вск 21:45:26 #499 №404023 
>>404022
я пхп-программист просто
вот, осваиваю реакт
Аноним 09/11/14 Вск 22:10:22 #500 №404032 
>>404022
но почему я меняю через setState, дальше использую this.state и в нём старое значение?
а есть изменю снова, но новое, но предыдущее?
Аноним 09/11/14 Вск 22:13:20 #501 №404033 
>>404032
я делаю
newPage = this.state.page+1;
this.setState({'page':newPage});
this.changePage(-);

и в changePage оно всё равно старое

что я делаю не так?
Аноним 09/11/14 Вск 22:25:33 #502 №404038 
>>404033
я решил проблему передавая страницу напрямую, но вопрос сохраняется. то что стейт меняется в самом конце - это фича?
Аноним 10/11/14 Пнд 00:24:38 #503 №404098 
https://2ch.hk/pr/res/404097.html - перекат
Аноним 03/12/14 Срд 12:29:36 #504 №412691 
>>403823
Я знаю, ксати. Но я не тот Анон.
Это закрытые поля и организованный к ним доступ через свойства. До сих пор не понял, зачем это, правда. Нигде рального примера не увидел, где в этом пофит.
Аноним 04/12/14 Чтв 23:20:16 #505 №413455 
>>399086
Храню дату коммита и встраиваю её в URL скрипта, в случае c SPA на каждом AJAX-запросе отсылаю файлы и версии в JSON, смотрю обновилось ли что, если обновилось то перегружаю.
comments powered by Disqus

Отзывы и предложения