М.Двач / Программирование

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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

45 Кб, 500x500

345 Кб, 750x375

12 Кб, 250x367

JavaScript #28 21 Янв, 17:13 #631129 В конец треда | Веб

Ссылка на прошлый тред: >>622250 (OP)

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

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

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

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

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

4. Существуют ли стайл-гайды для JavaScript? - Да, вот: https://github.com/felixge/node-style-guide

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

6. Есть ли русскоязычные конфы? - Да. Для приера, здесь можно добавится в крупнейшую конфу программача по многим языкам, включая JavaScript. https://invite-me-to-2chpr.herokuapp.com

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

http://perfectionkills.com/ - Perfection Kills

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

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

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

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

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

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

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

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

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

Выбери себе направление. Может, ты хочешь игори делать? Тогда вперед на гитхаб, и ищи Phaser, Pixi и другое, выбор не маленький. Хочешь на сервер сайд? Копай в сторону Node.js, Express, Socket.io. Хочешь писать MVC логику? Angular, Backbone, React, да множество их. Нельзя забывать про NW.js и WinJS, позволяющие создавать десктопные приложения.

21 Янв, 17:13 #2 #631130

Шапка http://pastebin.com/5S5UrPAi

21 Янв, 17:24 #3 #631138

JS - язык господ!

Ответы: >>631155

прошу помощи 21 Янв, 17:47 #4 #631149

Ковыряюсь с получением списка аудио вконтакте.
Есть вот такая функция:
function createPlay() {
\tvar text = '#EXTM3U';
var durationInSeconds;
\tvar mp3s = document.querySelectorAll('input[value*=".mp3"]');
\tfor (var i = 0; i < mp3s.length; i++) {
\t\tvar mp3 = mp3s;
\t\tvar title = mp3.parentNode.parentNode.getElementsByClassName('title_wrap')[0].textContent;
\t\ttext += '\n' + '#EXTINF:durationInSeconds,' + vkCleanFileName(title) + '\n' + mp3.value;
\t}
\tofferFile('vkPlaylistCurrent.txt', text);
}

Выдаёт она вот такой результат:
#EXTINF:durationInSeconds,Displaced Paranormals - Inception_Λudio Podcast 012
https://psv4.vk.me/c611219/u1881108/audios/f2f26b2f3824.mp3?extra=SOMEHASHHERE132sdfsx,2985

Мне нужно проставлять длительность в секундах вместо durationInSeconds(это пока что просто placeholder такой).
Инфа о длительности в секундах содержится в конце mp3.value, после запятой идёт. Надо только выдрать как-то.
Cобственно, есть и регулярка — ,\d{1,4}
Она выдирает ,2985

У меня вопрос — как мне сделать присвоение переменной durationInSeconds значения соответствующего регулярке но без запятой?

Ответы: >>631150

21 Янв, 17:50 #5 #631150

>>631149
Прошу прощения, вот код
http://pastebin.com/PSP0MT5c

Ответы: >>631162, >>631401

21 Янв, 17:57 #6 #631155

>>631138
>господ
пссс.. ТайпСкрипт или Котлин, чистый js не совсем то.

Ответы: >>635162

21 Янв, 18:10 #7 #631162

>>631150
Попробал переделать, не работает. Тупо печатает текст регулярки.
http://pastebin.com/GyR5j139

Я просто нуб в JS.

Ответы: >>631401

21 Янв, 20:32 #8 #631266

может кто проверить, доебаться/похвалить и обосновать
https://jsbin.com/pakonaseho/1/edit?js,console

задача на ООП
13 по счету, про гамбургеры
https://gist.github.com/codedokode/ce30e7a036f18f416ae0

Ответы: >>631267, >>631765, >>633079, >>633083, >>639922

21 Янв, 20:33 #9 #631267

>>631266
12

34 Кб, 308x363

21 Янв, 20:54 #10 #631291

>>631129 (OP)

Анончик, хелпани, плиз...что-то ничего не выходит
Есть один экстеншн для хрома. Он методом https://developer.chrome.com/extensions/tabCapture получает объект MediaStream с аудио и видео. Так вот...нужно этот стрим записать и сохранить в формате webm. Я копал в интернете и нашел поделки некого пакистанца: https://www.webrtc-experiment.com/RecordRTC/
но проблема в том, что когда ставишь настройки для видео (ширину, высоту, фпс) в его поделке RecordRTC, например. Получаешь два блоба - аудио и видео и мерджишь их с помощью https://www.webrtc-experiment.com/ffmpeg/merging-wav-and-webm-into-mp4.html, то оно тормозит. И видео глючное и аудио. Оно то смерджило два блоба в один...но глючит. Если задать ширину и высоту 320*240, то оно не глючит, но видос маленький получается. Может, кто делал такое. Хелпаните, плиз...или хоть посоветуйте, в какую сторону копать можно.
Есть рабочий пример https://chrome.google.com/webstore/detail/screencastify-screen-vide/mmeijimgabbpbgpdklnllpncmdofkcpn?hl=en
Я смотрел его код. Но там все минифицировано и с трудом понятно по ключевым методам что там происходит и как они добились такого результата.

Ответы: >>639925

29 Кб, 914x221

21 Янв, 21:45 #11 #631367

Как у функции объявляется метод? Я ещё могу допустить мысль, что у функции могут быть методы, но как их объявлять?

Ответы: >>631371, >>631372, >>631376

21 Янв, 21:50 #12 #631371

>>631367
так же как и у любого объекта. написано же епт

21 Янв, 21:51 #13 #631372

>>631367
function Animal (name) {
__this.name = name; // property

__this.sayHello = function () { // method
____console.log(this.name + ' says: hello');
__}
}

var rabbit = new Animal ('Rabbit');
rabbit.sayHello();

Ответы: >>631375, >>631378

21 Янв, 21:53 #14 #631375

>>631372
Вашет у тя конструктор. Методы для функций пишутся в прототим функции.

Function.prototype.getHui = function() {
return 'hui';
}

Ответы: >>631705

21 Янв, 21:56 #15 #631376

>>631367
function f(){}
f.suka = function(){
alert("https://learn.javascript.ru/");
}

Ответы: >>631394, >>631706

21 Янв, 21:59 #16 #631378

>>631372
Это вообще другое совсем

21 Янв, 22:12 #17 #631394

>>631376
Омск какой-то. Почему нельзя просто сделать объект в традиционном понимании?

Ответы: >>631414

21 Янв, 22:17 #18 #631401

>>631162
>>631150
Бамп вопроса. Надо просто из mp3.value вида
>https://psv4.vk.me/c611219/u1881108/audios/f1231a12d1.mp3?extra=SOMEHASHHERE132sdfsx,2985 выдрать это 2985 и записать в переменную

Ответы: >>631484

21 Янв, 22:21 #19 #631414

>>631394
фишка метода у функции реализуется при создание класса, через прототип

function f(name){
this.name = name;
}

f.prototype.suk = function(){
return this.name;
}

var a = new f("vasia");
console.log(a.suk());

21 Янв, 23:21 #20 #631484

>>631401
Регулярка есть уже... ,\d{1,4}
Надо только как-то присваивание сделать того, что она находит в mp3.value

Ответы: >>635160

22 Янв, 00:41 #21 #631533

Бля, какой уровень скила нужен, чтоб это хуячить? Нихуя не понимаю, если честно http://codepen.io/at80/pen/tqdmv#0

Ответы: >>631543, >>631549, >>631709, >>631780, >>639927

22 Янв, 01:04 #22 #631543

>>631533
охуенно

22 Янв, 01:21 #23 #631549

>>631533
не пойму, че за хуйня
это вебгл шейдеры?

22 Янв, 09:27 #24 #631671

Ананасы, всегда сидел на бэкэнде, тут приспичило слепить пару юзерскриптов. Нужно хранить порядка 50к хэшей и вести поиск по ним. Что там у вас в JS для этого есть? SQL пердолить? Или обычный массив в памяти пойдёт? Не будет сильно медленно?

Ответы: >>631903, >>631932

22 Янв, 10:24 #25 #631705

>>631375
Эквивалентно
let motherProto = function() {
this.getHui = function() {
return 'hui';
}
}

Ответы: >>631996

22 Янв, 10:25 #26 #631706

>>631376
>f.suka
Противоречит стрикту.
Так делать нельзя.

Ответы: >>631790

22 Янв, 10:31 #27 #631709

>>631533
>какой уровень скила нужен
Авераж мид.
На ванильке это не писали, инфа соточка.
Это продукт кодогенерации.

Ответы: >>632991

22 Янв, 11:21 #28 #631753

html страница: <div onclick="...>
почему еще используют эту хуиту? так-же труднее читать, нет?
вместо: <div id/class="x"
document.ready(...find element add onclick handler.

Ответы: >>631905

22 Янв, 11:40 #29 #631765

>>631266
бамп
ну же анон

22 Янв, 11:59 #30 #631780

>>631533
https://ru.wikipedia.org/wiki/WebGL

22 Янв, 12:02 #31 #631783

Ебанутый вопрос, но просто ответьте.
server.listen(3000) - запускает сервер на 'localhost:3000', а как запускать, например, на 'example:3000'?

Ответы: >>631784, >>631786

22 Янв, 12:05 #32 #631784

>>631783
Фор екзампл:
server.listen(8000,'127.0.0.1',function(){
server.close(function(){
server.listen(8001,'192.168.0.202')
})
})

Ответы: >>631983

22 Янв, 12:06 #33 #631786

>>631783
Ты спеки-то читаешь вообще?

22 Янв, 12:17 #34 #631790

>>631706
>>631706
почему нет? это же вроде статический метод? https://learn.javascript.ru/static-properties-and-methods#статические-методы

Ответы: >>631799

22 Янв, 12:24 #35 #631799

>>631790
Да, можно.

Блджад, лоханулся.
И strict violation не выкидывает отладчик.

22 Янв, 12:35 #36 #631810

Сап зк.
Есть комментарии на сайте, требуется с помощью AngularJS выводить часть комментария, а при нажатии на кнопку/ссылку, разворачивать до полного. Написал директиву, сам текст комментария получить могу, но как можно реализовать нажатие?

Ответы: >>631819

22 Янв, 12:45 #37 #631819

>>631810
ng-click?

Ответы: >>631821

22 Янв, 12:47 #38 #631821

>>631819
>ng-click
Думал о нем, только никак не могу понять, где писать обработчик? Мне нужно его написать в том же файле, где я описал директиву.

22 Янв, 14:31 #39 #631903

>>631671
Локальное хранилище
Но в нём, кажется, какое-то ограничение есть

22 Янв, 14:32 #40 #631905

>>631753
Быстрее так, не?

22 Янв, 14:56 #41 #631932

>>631671
IndexedDB

22 Янв, 15:15 #42 #631953

Я уверен, что вопрос был задан сотни раз, но спрошу еще раз
С чего начать изучение? Если из опыта только паскаль в школе.
Скачал видеоуроки Гавриленко, говорят годно, стоит начинать? Что еще можно прочесть/посмотреть для полного нуба?

Ответы: >>631968

22 Янв, 15:27 #43 #631968

>>631953
Это мое личное мнение, но, если есть представления об ООП, то, как мне кажется, лучше сразу начать с решения проблем (которых предостаточно на CodeWars, например) и попутно пилить что-нибудь более практически ценное для себя (например на знание DOM - тудушку или, как анон-РАБотодатель из прошлого треда, игрульку на канвасе, если больше функциональная часть и бэкенд интересует, то что-нибудь на ноде. Возьми и напиши, к примеру, качалку для SoundCloud).
А читать лучше спеки на Dev Mozilla и драфты ECMA.
DOM хуйня, это осваивается быстро.
Энджой ёр скриптинг.

82 Кб, 540x720

22 Янв, 15:46 #44 #631983

>>631784
Я нихуя не понимат. Например, я запускаю сервер на ноде и ввожу localhost:port в браузере. Для этого я в написал в servers.js server.listen(port, '127.0.0.1').
Теперь я хочу все тоже самое, но в браузере писать не localhost:port, а 192.168.0.1:port или вообще myawesomesite:port. Такое вообще возможно? Если я хуйню написал, не обсыкайте.

Ответы: >>631993, >>631994, >>632000

22 Янв, 15:54 #45 #631993

>>631983
Фронтендопитухи повалили на сервера и соснули. Как это мило.

22 Янв, 15:55 #46 #631994

>>631983
Нужно или запускать на 80 порту и перенаправлять через host, или поднять nginx

Ответы: >>639928

22 Янв, 15:55 #47 #631996

>>631705
Нихуя не эквивалентво.

22 Янв, 15:58 #48 #632000

>>631983
>Нихуя не эквивалентво.
Ясен хуй, в первом варианте расширяется Built-in прототип 'Function'.

22 Янв, 15:58 #49 #632002

Пацаны, где удобно можно накидать архитектуру приложения? Заебался тетради покупать

Ответы: >>632006, >>632009, >>639929

22 Янв, 16:05 #50 #632006

>>632002
В голове, например

Ответы: >>632015

52 Кб, 704x400

sage 22 Янв, 16:08 #51 #632009

>>632002
>Заебался тетради покупать
Используй карандаш.

22 Янв, 16:13 #52 #632015

>>632006
40 таблиц и логику? А я обычно несколько приложений одновременно пишу

Ответы: >>632020

22 Янв, 16:16 #53 #632020

>>632015
Ты 1C-мартышка?

Ответы: >>632022

22 Янв, 16:17 #54 #632022

>>632020
Откуда такие выводы? На ноде пишу

Ответы: >>632086

22 Янв, 17:27 #55 #632083

>let someShit => param => kek(param);

зачем питушня так делает? для неанонимных функций, не биндящихся к this? они што, ебанутые?

Ответы: >>632125

22 Янв, 17:29 #56 #632086

>>632022
во 1С франч-конторах обычно МНОГОЗАДАЧНОСТЬ

22 Янв, 17:57 #57 #632125

>>632083
>писать на жс
>быть не ебанутым

Ответы: >>632132

22 Янв, 18:03 #58 #632132

>>632125
>>писать на жс
>>быть не ебанутым
я же не ебанутый, значит можно

Ответы: >>632217

22 Янв, 19:50 #59 #632217

>>632132
> спрашивает зачем писать меньше
> говорит, что не ебанутый

Ответы: >>632253

22 Янв, 20:11 #60 #632246

Бьюсь об заклад не могу понять зачем нужен return помогите

Ответы: >>632249

22 Янв, 20:15 #61 #632249

>>632246
Как вернуть значение из функции?

Ответы: >>632252

22 Янв, 20:19 #62 #632252

>>632249
я только начал изучать js не понимаю)

Ответы: >>632272

sage 22 Янв, 20:20 #63 #632253

>>632217
>ачем писать меньше
странно, что ты на кофе не пишешь, с таким подходом

Ответы: >>632273

22 Янв, 20:33 #64 #632268

Бьюсь об заклад не могу понять зачем нужен return помогите

Ответы: >>632276

22 Янв, 20:41 #65 #632272

>>632252
)

22 Янв, 20:41 #66 #632273

>>632253
Пишу

Ответы: >>632291

22 Янв, 20:45 #67 #632276

>>632268
Он нинужен

Ответы: >>632283

22 Янв, 20:49 #68 #632283

>>632276
обьясни заебал, пиздец

Ответы: >>632286, >>632296

22 Янв, 20:51 #69 #632286

>>632283
Так выучи функции сначала

Ответы: >>632296

22 Янв, 20:55 #70 #632291

>>632273
но ведь кофе - говно

Ответы: >>632294

22 Янв, 20:56 #71 #632294

>>632291
Как и джяваскрепт

Ответы: >>632298

22 Янв, 20:59 #72 #632296

>>632283
>>632286
я выучил

Ответы: >>632318, >>632323

Аноним 22 Янв, 21:03 #73 #632298

>>632294
>джаваскрипт
живенькое такое говнецо, с почти неограниченной областью применения, развивающееся, и имеющее приятную надстройку в виде тайпскрипта.

>кофе
беспомощное унылое говно без задач. бесполезный высер as is.

Ответы: >>632346

22 Янв, 21:35 #74 #632318

>>632296
Не обманывай.

Ответы: >>632322

22 Янв, 21:38 #75 #632322

>>632318
функции именно

Ответы: >>632390

22 Янв, 21:39 #76 #632323

>>632296
Выучил твоей мамаше в рот

Ответы: >>632333

22 Янв, 21:48 #77 #632333

>>632323
в рот те ссал, пидор

22 Янв, 21:54 #78 #632346

>>632298
> имеющее приятную надстройку в виде тайпскрипта.
> кофе беспомощное унылое говно без задач. бесполезный высер as is.
Ты вкурсе, что кофе в жс компилируется, дегегерат? Это такая же надстройка
Как же бесят дауны, который хейтят что-то, а сами даже офф сайт этой хуйни не посетили

Ответы: >>632369

Аноним 22 Янв, 22:10 #79 #632369

>>632346
>кофе в жс компилируется
а как бы в курсе, даже кой че дорабатывал на этой параше. просто в жс появились классы, декораторы, деструктурирующее присваивание, модули, async/await, и опциональная аннотация типов в виде typescript (который не подменяет собой js), а любители твоего дегенеративного сахарка сосут хуйцы с этими нововведениями.

Ответы: >>632388, >>632395

22 Янв, 22:22 #80 #632388

>>632369
Разработка кофескрипта прекращена

22 Янв, 22:22 #81 #632390

>>632322
Ну, тогда продолжай сидеть на дваче. Хули еще делать, если выучил функции именно. Ты не виноват, ты сделал все что мог - функции выучил. Пошло оно все нахуй, это теперь не твои проблемы. Ты не договаривался, что там return будет. Ты свое дело сделал - выучил функции. Теперь либо пусть разжевывают в программаче, либо сосут хуй. Что еще за return, вообще ахуели.

Ответы: >>632404, >>632457

61 Кб, 730x551

22 Янв, 22:23 #82 #632395

>>632369
>ecmascript 6
>typescript
Соснули у Scala.js

Ответы: >>632407

22 Янв, 22:29 #83 #632404

>>632390
Вот это тебе бомбануло.
мимо

Ответы: >>632415, >>632426

Аноним 22 Янв, 22:30 #84 #632407

>>632395
>Scala.js
Код в студию, может и правда соснули, я хз

Ответы: >>632448

20 Кб, 736x736

22 Янв, 22:35 #85 #632415

>>632404

22 Янв, 22:41 #86 #632426

>>632404
Зк всё больше походит на б. Написал больше трех слов, значит бомбануло.

22 Янв, 22:55 #87 #632448

>>632407
http://scala-lang.org/
http://www.scala-js.org/
https://lihaoyi.github.io/scalatags/
100% строгая статическая типизация + тонна скала-библиотек + скаловская система сборки (sbt) + трейты, макросы, имплициты, паттерн-матчинг и прочие фишки скалы

Ответы: >>632449, >>632453

22 Янв, 23:01 #88 #632449

>>632448
Говно без задач, ещё и славу петушиную имеет

Ответы: >>632450, >>632451

Аноним 22 Янв, 23:02 #89 #632450

>>632449
>Говно
Not U

22 Янв, 23:02 #90 #632451

>>632449
>пок кукареку
Лол, эта боль жквери-мартышки.

Аноним 22 Янв, 23:04 #91 #632453

>>632448
import japgolly.scalajs.react.vdom.prefix_<^._
[code]
<.ol(
^.id := "my-list",
^.lang := "en",
^.margin := "8px",
<.li("Item 1"),
<.li("Item 2"))
[/code]

Ебать мой хуй!

Ответы: >>632466

130 Кб, 700x461

22 Янв, 23:07 #92 #632457

>>632390

22 Янв, 23:15 #93 #632466

>>632453
[code lang="javascript"]"use strict";

var HelloMessage = React.createClass({
displayName: "HelloMessage",

render: function render() {
return React.createElement(
"div",
null,
"Hello ",
this.props.name
);
}
});

ReactDOM.render(React.createElement(HelloMessage, { name: "John" }), mountNode);[/code]

Зачем тебе реакт?

Ответы: >>632469

Аноним 22 Янв, 23:20 #94 #632469

>>632466
Прост. Пишу на нем всякое хитрозаверченное, типа редактора диаграмм. react + redux решает. Надо попробовать твою дурь со скалкой. В ней же должны быть (встроенные) иммутабельные мапы, массивы?

Ответы: >>632475

22 Янв, 23:31 #95 #632475

>>632469
> react + redux решает
Попробуй https://lihaoyi.github.io/scalatags/ + https://github.com/lihaoyi/scala.rx

>В ней же должны быть (встроенные) иммутабельные мапы, массивы?
Даже такое есть, азаза https://github.com/milessabin/shapeless https://github.com/japgolly/scalaz

Вот ещё фиддл, даже с автодополнением: http://www.scala-js-fiddle.com/

Ответы: >>632484

22 Янв, 23:39 #96 #632481

Как сделать, чтобы Array.prototype.indexOf начинал искать не с начала массива, а с конца?

Ответы: >>632482

22 Янв, 23:43 #97 #632482

>>632481
Все, я понял: Array.prototype.lastIndexOf

32 Кб, 460x460

22 Янв, 23:47 #98 #632484

>>632475
>https://lihaoyi.github.io/scalatags/ + https://github.com/lihaoyi/scala.rx

всеж пока на риэктовском виртуалдоме останусь.

нашел вот это вот - http://ochrons.github.io/diode/
выглядит оче неплохо для организации хранения стейта приложения

Ответы: >>632488

Работа с цветами 22 Янв, 23:51 #99 #632487

Посоветуйте реализацию столкновения элементов по цветам. Можно ли выбрать их диапазон? К примеру: #ffffff - #757575

22 Янв, 23:52 #100 #632488

>>632484
вот так, анон, js привел меня через react redux es6 typescript от динамического слаботипизированного императивного петушения к божественному функциональному подходу со строгой статической типизацией.

23 Янв, 00:10 #101 #632496

Ректоопущенцы, расскажите мне про стейт приложения и зачем он вам нужен

Ответы: >>632505

23 Янв, 00:30 #102 #632505

>>632496
>стейт приложения
Тупо состояние. Даннае, и вообще, все то, что определяет, как выглядит UI. На него может воздействовать пользователь (через ввод), backend, если мы подписаны на серверные события, какие-то недетерминированные вещи (таймер с рандомом).

Зачем нужен? Для генерации UI. Мы отображаем стейт в VirtualDOM, а реакт-жс по из VirtualDOM создает обычный dom, который видит пользователь. Либо приводит dom в соответствие с VirtualDOM. Стейт, измененный действиями пользователя мы можем загнать сново на backend.

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

Ответы: >>632509, >>632518

23 Янв, 00:33 #103 #632509

>>632505
>реакт-жс по из VirtualDOM создает обычный dom
реакт-жс из VirtualDOM создает обычный dom

фикс

23 Янв, 01:00 #104 #632518

>>632505
То есть это ангуляровский скоуп, только с модным названием?

Ответы: >>632528

23 Янв, 01:32 #105 #632528

>>632518
А ангуляре немного сложнее, там scope это observable, части UI подписаны на изменение его свойств, по этим событиям они и обновляются. Тут - просто объект, например, {name: "Вася"}, dataflow прост как веник. State поменялся (обычно внутри state'а ничего не меняем, а тупо возвращаем новый стейт), отрендерили заново VirtualDOM. Таким образом, действие пользователя - чистая функция: старый state -> новый state. Рендеринг - чистая функция: state -> VirtualDOM.

136 Кб, 759x1024

23 Янв, 10:07 #106 #632604

По заданию из учебника надо реализовать, чтобы после нажатия на изображение оно менялось на другое, а потом через несколько секунд снова менялось на прежнее. В моем варианте решения почему-то обратно меняется только то изображение на которое я кликнул последним. Я понимаю что дело в глобальной переменной которую делать не стоит, но как можно поступить по другому?
Код http://pastebin.com/EaPkAPS4

Ответы: >>632613

23 Янв, 10:27 #107 #632613

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

Передавай в hideAnswer() в качестве параметра ID элемента, будет все гут.

Ответы: >>632614

23 Янв, 10:35 #108 #632614

>>632613
Вот до меня не доходит как предать, если так делать http://pastebin.com/Skv665sZ то все ломается
Какой правильный синтаксис должен быть?

Ответы: >>632615

23 Янв, 10:36 #109 #632615

>>632614
https://jsbin.com/gemali/edit?html,console,output

Ответы: >>632619, >>632622, >>632810

80 Кб, 611x640

23 Янв, 10:42 #110 #632619

>>632615
спасибо, ты умница

23 Янв, 10:49 #111 #632622

>>632615
интересно, а почему он без обертывания в анонимную функцию не передавал параметр

13 Кб, 321x207

23 Янв, 10:52 #112 #632624

Че за хуйня, епта? Почему я не могу просто склонировать объект в другую переменную? Почему мне дают ебучую ссылку?

Ответы: >>632627, >>632628, >>639932

23 Янв, 10:53 #113 #632626

Я полагаю, прежде чем начать изучать язык ( джаваскрипт) мне стоит сначала вспомнить школьную информатику и узнать - выучить html?

23 Янв, 10:57 #114 #632627

>>632624
Делай рекурсивное копирование а-ля
http://barbitoff.blogspot.ru/2012/01/javascript.html

А так у тебя копируются ссылки, хули ты хочешь то блядь?

Ответы: >>632632

23 Янв, 10:59 #115 #632628

>>632624
>Потому, что азаза
В ES6 метод Object.assign() завезли:
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Object/assign

Ответы: >>632632

23 Янв, 11:08 #116 #632632

>>632627
Хочу в базу отправлять одно, а в джсон ответе слать другое

>>632628
Спасибо

Но пиздец же, это вообще никак не очевидно. С приведением типов даже не сравнится, там хоть какая-то логика есть

Ответы: >>632634

23 Янв, 11:09 #117 #632634

>>632632
>никак не очевидно
>в языке сразу сказано что объекты - ссылки
Почитай стандарт еще раз. Там прямо об этом и сказано.

101 Кб, 1918x757

23 Янв, 16:53 #118 #632804

Посоны, поясните, чому jquery не берёт элементы, содержащие текст с пробелом? Нихуя не пойму

Ответы: >>632852, >>632861, >>632947

118 Кб, 255x288

23 Янв, 17:01 #119 #632810

>>632615
Оказывается еще можно было так передать аргумент, а в русском справочнике ни слова
setTimeout(reblur, 2000, image);
где image - аргумент

Ответы: >>633065

23 Янв, 17:43 #120 #632852

>>632804
А покажи код.

Ответы: >>632855

23 Янв, 17:45 #121 #632855

>>632852
Я прост тренируюсь с jquery-запросами. Код весь на пикче, в консоли.

23 Янв, 17:49 #122 #632861

>>632804
На других сайтах кстати, всё работает. Тута какая-то своя версия скрипта что ли?

Ответы: >>632903

23 Янв, 18:34 #123 #632903

>>632861
Скорее всего там не пробел, а что-то похожее.

Ответы: >>632908

23 Янв, 18:37 #124 #632908

>>632903
Даже копировать напрямую из кода страницы. Просто не ищет нихуя

23 Янв, 19:22 #125 #632947

>>632804
Просто жквери - говно для даунов и сосёт у XPath

Ответы: >>632948

23 Янв, 19:22 #126 #632948

>>632947
> XPath
Значение знаешь?

23 Янв, 20:17 #127 #632991

>>631709
я вродб евереж мид, гейдев, на пикси социалочки хуярю, но в вебгл дупля не режу

Ответы: >>633051, >>639926

23 Янв, 22:37 #128 #633051

>>632991
> пикси
пхпикси?

Ответы: >>633061

23 Янв, 22:54 #129 #633061

>>633051
2d рисовалка с блекджеком и шлюхами
http://www.pixijs.com/

Ответы: >>633064

23 Янв, 22:56 #130 #633064

>>633061
Социалку на канвасе? Нахуя? Совсем с ума сошел?

Ответы: >>633080

23 Янв, 22:57 #131 #633065

>>632810
ойбожечки, а bind для кого придумали?

23 Янв, 23:05 #132 #633079

>>631266
this.size = Hamburger.prototype.designationSize(size);

можно сразу юзать
this.size = this.designationSize(size);

ну кароч тут можно было просто через точку
this.settingsHamburger["size"]

остальное писать влом, скажу что неплохо для начала

Ответы: >>633312

23 Янв, 23:07 #133 #633080

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

857 Кб, 240x228

23 Янв, 23:09 #134 #633083

>>631266
>На 2016 год писать на ES5, а тем более на ES6 рановато

23 Кб, 435x457

23 Янв, 23:52 #135 #633107

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

Ответы: >>633111, >>633113, >>633118

23 Янв, 23:59 #136 #633111

>>633107
>получаю свою кнопочку как объект
>настоящий блять, а не дом-хуету
Что ты несёшь твою мать? Давай ты опишешь проблему более детально, окей?

Ответы: >>633119

24 Янв, 00:01 #137 #633113

>>633107
>решить отрисовать ли эту кнопку на основании даты из апи или нет

<div ng-if="yoba.dataIzApi">
// отрисовали кнопку здесь
</div>

Ответы: >>633116

494 Кб, 475x547

24 Янв, 00:03 #138 #633116

>>633113
Блять, о простейшем решении я как-то не подумал. Спасибо.

24 Янв, 00:05 #139 #633118

>>633107
> решить отрисовать ли эту кнопку на основании даты из апи или нет
ng-show

24 Янв, 00:06 #140 #633119

>>633111
>Что ты несёшь твою мать?
Ты Объект от хтмл-разметки не отличаешь? Стандартные джсы-хуесы и прочие жиквери возвращают сраную разметку, а жи есть красавчик ангуляр может вернуть ссылку на объект элемента страницы, тчобы ты применил к нему методы всякие разные.

Ответы: >>633122

259 Кб, 478x264

24 Янв, 00:12 #141 #633121

Есть место для ангулярщика на $4 в час. Кто вкатиться хочет - добро пожаловать. p/-shenyl.researchANUSg1L;mailPUNCTUMcj.oom

Ответы: >>633125, >>633127, >>633131, >>633147, >>633877

24 Янв, 00:12 #142 #633122

>>633119
>Стандартные джсы-хуесы и прочие жиквери возвращают сраную разметку
Джсы-хуесы возвращают HtmlDomElement, jQuery возвращает массив-обёртку над таким же объектом.

>может вернуть ссылку на объект элемента страницы
Какой ещё объект элемента страницы, поехавший? Ты хочешь получить JS-объект, который лежит в скоупе какого-то хтмл-элемента или что?

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

Ответы: >>633134

24 Янв, 00:14 #143 #633125

>>633121
>место для ангулярщика
>$4 в час
Охуительный, наверное, проект. Четыре доллара в час-то! Удачи вам, ребята.

Ответы: >>633148

24 Янв, 00:17 #144 #633127

>>633121
У тебя ноль отвалился

Ответы: >>633148

1190 Кб, 350x196

24 Янв, 00:20 #145 #633131

>>633121
> 4

Ответы: >>633148

24 Янв, 00:34 #146 #633134

>>633122
>Джсы-хуесы возвращают HtmlDomElement, jQuery возвращает массив-обёртку над таким же объектом.
Ну, теперь ты мне открыл глаза! Не знаю как теперь жить.
>Ты хочешь получить JS-объект, который лежит в скоупе какого-то хтмл-элемента
Я хотел и получил объект страницы на котором происходит ивент, как джс-объект, может не так выразился.

Ответы: >>633139

24 Янв, 00:46 #147 #633139

>>633134
>Я хотел и получил объект страницы на котором происходит ивент
Существует такое понятие как "объект страницы" в джсе?

А хотя:
>объект страницы на котором происходит ивент
>страницы
>на котором
Всё понятно ;D

Ответы: >>633143

233 Кб, 1024x923

24 Янв, 00:51 #148 #633143

>>633139
Все понятно с тобой, еблан.
Ты же кукарекал, что тебе не нравится моя форулировка, я тебе и написал объект страницы(дома блять, быдло ты тупое). Если ты кликаешь на элементе, то событие КЛИК происходит и объектом этого события становится эелемент(прув ми ронг, хуйло), и можно получить ссылку на этот объект. А теперь иди нахуй, агрессивное быдло(не забудь это цитировать в следующем своем посте, чтобы выставить таковым меня, в твоем манямирке, естественно), видно жизнь у тебя хуевая, если ты срешься на ровном месте, вместо конструктивной критики или пояснений.

Ответы: >>633146

24 Янв, 01:00 #149 #633146

>>633143
>объект страницы(дома блять, быдло ты тупое)
Ну вот, написал бы, что имеешь в виду DOM-объект. А то объект страницы какой-то лол.

>событие КЛИК происходит и объектом этого события становится эелемент
Нет, в обработчик события передаётся объект, который содержит ссылку на target DOM-элемент. Там ещё много всяких объектов есть, например srcElement, toElement и т.д.

>видно жизнь у тебя хуевая, если ты срешься на ровном месте, вместо конструктивной критики или пояснений.
Ну, да. Ты прав. Извини. ;(

24 Янв, 01:01 #150 #633147

>>633121
> $4 в час
В голос

Ответы: >>633148

24 Янв, 01:03 #151 #633148

>>633147
>>633131
>>633127
>>633125
Интересно, тут все миллионы зарабатывают? Я вот вообще в свободное от работы время участвую в проекте за возможную будущую выгоду. А то в соседнем треде рыдают, что не берут никуда, а тут плюются от работы для подскока, так сказать.

Ответы: >>633152, >>633153, >>633155

24 Янв, 01:14 #152 #633152

>>633148
Кек. 4 бакса в час это баксов 600-700 в месяц. За такую з/п не каждый джун захочет корячиться.

Ответы: >>633206

24 Янв, 01:15 #153 #633153

>>633148
Лучше работать за бесплатно, но на тем, что тебе интересно, чем за гроши формошлепать

Ответы: >>633154, >>633206

24 Янв, 01:15 #154 #633154

>>633153
> на тем
над тем

24 Янв, 01:27 #155 #633155

>>633148
>рыдают, что не берут никуда
>плюются от работы для подскока, так сказать.
А ты думаешь это разные люди?

Ответы: >>633206

24 Янв, 04:03 #156 #633206

>>633155
Нет, я думаю это одни и те же неудачники с завышенным уровнем притязаний - способностей нет, а требования есть, а потом весь мир у них плохой. Обожаю таких петушков, смешные.
>>633152
>баксов 600-700 в месяц. За такую з/п не каждый джун захочет корячиться
Я надеюсь это был просто толстый тролинг.
>>633153
Да, желательно при этом еду и жилье самому оплачивать, а не стрелять деньги у мамки. Иначе потом только на програмаче рыдать в соответствующих тредах, лол.

198 Кб, 850x531

24 Янв, 13:17 #157 #633312

>>633079
спасибо

298 Кб, 951x634

24 Янв, 17:04 #158 #633453

Дошел до изучения первоклассных функций, чувствую себя как герой Начала

Ответы: >>633469

24 Янв, 17:28 #159 #633469

>>633453
Тем китайцем штоле, который весь фильм в коме лежал?

24 Янв, 17:44 #160 #633495

function EventEmitter() {
EventEmitter.init.call(this);
}

EventEmitter.init = function() {/ код /}

Для чего так делают? Почему сразу не пишут в EventEmitter, а создают отдельно EventEmitter.init и вызывают внутри EventEmitter?

Ответы: >>633498

24 Янв, 17:50 #161 #633497

Где найти список всех методов ActiveX с описанием ? Гугл не знает.

24 Янв, 17:51 #162 #633498

>>633495
упоротые. не делай так

Ответы: >>633499

24 Янв, 17:52 #163 #633499

>>633498
Разрабы ноды упоротые? Так не бывает.

Ответы: >>633500

24 Янв, 18:03 #164 #633500

>>633499
>Разрабы ноды
Возможно оно так нужно для реализации наследования, и еще какой фигни. Короче, конвенция такая у них.

24 Янв, 18:04 #165 #633501

Да там в сорце еще дохуя таких примеров, где можно усомниться в адекватности тех, кто его писал

Ответы: >>639934

24 Янв, 21:50 #166 #633622

Кто-то в прошлом треде спрашивал, чем занимается фронтенд разраб, если в команде есть выделенный верстала, а кто-то (какие-то полные долбоёбы уже) смеялись над тем, что как можно фронту не уметь в верстку.
Вот небольшая выдержка из одного блога, которая описывает проблему, и заодно достаточно точно описывает то, чем я сейчас занимаюсь (15 кодеров и 3 версталы у нас, у всех всегда есть работа, версталам платят как минимум в два раза меньше самого плохооплачиваемого кодера (это к вопросу про окупаемость, естественно выгодней иметь отдельного версталу)

>"Объясню на пальцах: мы делаем магазин и сделали рубрику товаров (первый компонент). Если мы теперь добавим форму фильтрации, очевидно, что содержимое рубрики должно меняться в зависимости от того, что там введено. Но верно и обратное: содержимое рубрики влияет на поведение формы. Если у нас в рубрике всего 10 товаров, нужно фильтр скрывать. Если все товары синие, можно убрать параметр «цвет» из фильтра. Потом мы добавляем возможность залогиниться (третий компонент) и выясняется, что залогиненному пользователю надо рисовать в каталоге звездочки для отмеченной одежды, а также применить скидки и пересортировать по цене. Пагинатору надо учиться помнить свое положение при манипуляциях с формой поиска. И так далее.

>Каждый новый компонент влияет на предыдущие, и предыдущие нетривиально связываются с новым. Для неинтерактивного приложения это еще как-то можно учесть — как минимум, условия игры фиксированы на момент рендеринга страницы. Но у нас же приложение! Новые товары могут прилететь на страницу по аяксу. Пользователь может накликать «никогда не показывать мне это, это и это». Через 5 минут страница ничего общего не будет иметь с тем, как она выглядела на момент загрузки. И все это надо адекватно отрисовывать.

>Получается, что каждый компонент это не просто поле ввода и ячейка в модели. Его внешний вид определяется предысторией (как, где и сколько в него тыкали) и окружением (как вообще выглядит приложение, какой контекст вокруг)."

Ответы: >>633623

24 Янв, 21:52 #167 #633623

>>633622
Алсо, почти никто из фронта не умеет в современную верстку, т.е. флексы, хуексы, методологии и т.д., естественно все знаю какие-то базовые штуки, блочную модель и т.д., но верстка в хуй не сдалась, когда есть верстала. Если какие-то проблемы, просто отсылаешь задачу ему, всё.

Ответы: >>633624

24 Янв, 21:55 #168 #633624

>>633623
Так это же хорошо когда ты не верстала

Ответы: >>633625

24 Янв, 22:00 #169 #633625

>>633624
Да, я про это и говорю.
Просто было парочка долбоёбов, которые считали, что такого не существует (отдельных верстал и фронтендеров не знающих верстку). Такое повсеместно и везде, в любой более менее солидной компании, где не разбазаривают бабло, будет такое разделение (возможное исключение - стартапы)

Ответы: >>633638, >>633748

25 Кб, 604x458

24 Янв, 22:58 #170 #633638

>>633625
Ага, я вот недавно в фирму одну устраивался фронтендом(могу в джс, ангуляр), а они меня "а верстать кроссбразерно умеешь, а в хтмл5 как бог можешь" - ну, говорю верстать умею, чутка за кроссбразерность слышал, в хтмл 5 разбираюсь - читал документацию, ненмого ковырялся, но ближе мне как бы не этим заниматься, это для верстальщиков - те в ответ скисли и "мы вам перезвоним", я пожал плечами и попрощался. Хотя они мне таки перезвонили - сказали, что выбрали более достойного кандидата, а мне похуй, я уже в хорошем проекте участвовал к тому времени, где все задачи по верстке я сваливаю на верстальщика. И у меня голова от этого говна не болит. Ненавижу верстку, блять.

24 Янв, 23:36 #171 #633654

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

Ответы: >>633667

25 Янв, 00:04 #172 #633667

>>633654
Велика вероятность, что там написан свой mvс/whatever, а дальше так же, как и везде

25 Янв, 01:16 #173 #633689

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

Есть вот это http://ilyabirman.ru/projects/emerge/, но оно платное и слишком много на себя берет. Всякие прелоадеры это гониво, ибо просто ждут загрузки всех элементов, а не управляют ей.

Хотелось бы следующий функционал. Добавляем к элементам доп.класс "load_1", "load_2" и т.д. и очередь загрузки идет по порядковым номерам, ну и плюс возможность анимацию прикрутить и кастомно дописать т.е. загрузился "load_1", вылетел слева, загрузился "load_2" вылетел справа, а не все загрузилось, а потом начало вылетать.

Вот ссылка на подборку статей http://usabili.ru/news/2014/06/03/javascript-load-and-execution-order.html (судя по поняше, кто-то местный автор). Я там немного почитал, но ничего не прояснилось. В основном речь идет о загрузки скриптов, использовании всяких упаковщиков и т.п. Меня же интересует загрузка контента. Вот еще http://web-standards.ru/articles/front-end-performance/.

Допустим, страница у нас простая, загрузили jq.js и css-ы просто в head. Затем грузится dom и картинки.
Вот задача грузить так:
1. <div class="load_2"><img src="/anon.jpg" class="load_1"/></div>
2. <div class="load_4"><img src="/anon.jpg" class="load_3"/></div>
А не:
1. <div class="load_1"><img src="/anon.jpg" class="load_4"/></div>
2. <div class="load_2"><img src="/anon.jpg" class="load_3"/></div>
Ну или хотя бы сначала див, потом картинку в нем, и только потом следующий див и его картинку. А не сначала весь dom, а потом картинки к нему. Ну или как вариант хотя бы картинки последовательно вот здесь так грузятся http://portfolio.cpeople.ru/portfolio/all.

Вот есть легкий код:
<!-- html -->
<img src="/main.png" id="mainImg">
<img src="/" data-src="/notmain1.png" class="notmain">
<img src="/" data-src="/notmain2.png" class="notmain">
<img src="/" data-src="/notmain3.png" class="notmain">
/ javascript /
$("#mainImg").load(function() {
$(".notmain").attr('src', function() {
return $(this).attr("data-src");
});
});
Но это гон какой-то, если таким образом описывать пример выше с cpeople. Вообще, все, что удалось найти - это, либо просто последовательное появление (при условии, что все уже загрузилось), либо какие-то тонны js (вот на том же cpeople script.js за все это отвечает же?), где приходится полностью описывать логику загрузки страницы, а не просто классы проставить, например, при условии, что контент на разных страницах будет разный, это гемор дикий, и отдельный скрипт для каждой страницы.

Ответы: >>633695, >>633773

25 Янв, 01:49 #174 #633695

>>633689
У них как бы так и сделано, просто проходятся по всем картинкам и потом через таймаут берут из дата ссылку и вставляют в src.
Выглядит супер уёбищно, браузер бы эту всю хуиту в 8 потоков за доли секунды загрузил, а тут приходится ждать пока он по одной картинке в пол секунды почти грузит. Говно.

Ответы: >>633709

25 Янв, 02:03 #175 #633709

>>633695
Именно приведенный код ведь грузит во все потоки (после загрузки main.png) или последовательно по порядку, как описаны?

Ответы: >>633712

25 Янв, 02:13 #176 #633712

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

Ответы: >>633745, >>634932

25 Янв, 04:16 #177 #633745

>>633712
> Правильнее и проще всё грузить сразу
Почему?

Ответы: >>639936

25 Янв, 04:32 #178 #633748

>>633625
А чего там знать, на бутстрапе за пять минут слепил и норм

25 Янв, 06:25 #179 #633773

>>633689
>Хотелось бы следующий функционал
>очередь загрузки идет по порядковым номерам
Тащемта, странно, почему ты упомянул именно какой-то подзалупный Emerge. Годных control-flow либ дохуя.

Но я бы рекомендовал использовать промисы, как истинный JS-async way.
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Promise
Например: https://mdn.github.io/promises-test/
Накодишь годно - будет свой собственный ЭМЁРЖ без Джейквери и прочего поноса в зависимостях.

Ответы: >>634563

25 Янв, 10:21 #180 #633877

>>633121
Понедельничный бамп.

Ответы: >>633888

25 Янв, 10:46 #181 #633888

>>633877
Пиши ставку в рублях лучше, в баксах слишком грустно звучит

Ответы: >>633975

25 Янв, 12:59 #182 #633975

>>633888
Хочешь чтоб еще грустнее стало?

Ответы: >>633977

25 Янв, 13:03 #183 #633977

>>633975
Я давеча сериал смотрел один, про заключенных-лесбиянок, так вот, там одна девушка занималась низкоквалифицированным трудом (слесарь-электрик).
Она жаловалась на то, что час ее работы стоит $10.
В сериале персонажи, конечно же, грустно вздохнули и отнеслись к этому с сочувствием.

Ответы: >>633979, >>634063

25 Янв, 13:05 #184 #633979

>>633977
У нее fluent english, а у тебя - нет.

25 Янв, 16:07 #185 #634063

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

Ответы: >>634251

25 Янв, 19:53 #186 #634251

>>634063
>Тут квалификация повыше, чем у жс-макаки требуется. Не говоря уже об опасности и ответственности.
Что несешь, блядь? Я пару лет отпахал на сто и дружил с нашим электриком - сидит копается в стартерах, иногда залазит под капот с тестером. Я когда смотрел на его работу и зп думал какого хуя я в механики-мотористы попиздил, вместо электрики. Алсо, знания необходимы за 7-й класс физики. Для жс-макаки требования повыше будут.

25 Янв, 21:39 #187 #634352

Поцоны, есть хорошие примеры react + redux сложнее тудушек?

Ответы: >>634416

25 Янв, 21:42 #188 #634355

вот ест

25 Янв, 23:00 #189 #634416

>>634352
Дык там элементарно все, что еще нужно то. Redux-thunk еще стоит посмотреть.

Ответы: >>634570

44 Кб, 550x414

26 Янв, 03:32 #190 #634542

Анончик помоги спиздить код http://www.dreamystar1314.com/ebay/responsive-listing/preview/responsive-eBay-listing-template1-blue.html друг очень просит. Сам я bash/python/админоблядь, в js и вебразработку не могу.
Бочку делал, firefox лизал (https://addons.mozilla.org/en-US/firefox/addon/autoinstaller/), но нихуя не понимаю, там море левых переменных и параши вида
() {
hp_nls();
setTimeout("hp_nlsl()", 10)
}
JS-анон тебе там дел на 2 минуты, выручи анона.

Ответы: >>634552, >>634566, >>634567

89 Кб, 602x600

26 Янв, 04:02 #191 #634552

>>634542
Зачем тебе это говно?
Как же я проиграл с пидорашьей ЗАЩИТЫ

Ответы: >>636536

26 Янв, 05:32 #192 #634563

>>633773
Спасибо, хоть ясно стало, что гуглить, вот ниче так, вроде, https://github.com/caolan/async
Но я хотел бы готовое решение для использования на гс, чтоб в жс не лазить вообще (я к вам из /de зашел). В промисах написано, что ие (да и не только) не может в них.

26 Янв, 06:11 #193 #634566

>>634542

Деобфускатором/бьютифайером пройдись.
Дамп переменных можно выполнить через console.debug(var);

Ответы: >>634567, >>636536

26 Янв, 06:30 #194 #634567

>>634542
>>634566

Первая функция - пакер.
Дальше сам все поймешь.

https://jsbin.com/qiloyi/edit?js,console,output

Ответы: >>636536

26 Янв, 07:22 #195 #634570

>>634416
>там элементарно все
а если нужно прилепить авторизацию на основе айпи, ролей и погоды за окном?

Ответы: >>634618

26 Янв, 10:36 #196 #634618

>>634570
Оно же вроде для клиентсайда. Причем тут все это.

Ответы: >>634622

26 Янв, 10:49 #197 #634622

>>634618
ээ, а нода там зачем?

Ответы: >>634635

26 Янв, 11:26 #198 #634635

>>634622
Там изоморфное приложение. Сервер на ноде, клиент на реакте. На сервере вместо шаблонизатора тоже реакт. То, то ты написал про авторизацию - ортогонально либе для UI, тут надо смотреть решения для ноды.

Ответы: >>634646

26 Янв, 11:50 #199 #634646

>>634635
Хотя пизжу. Нет там никакой изоморфности. Нода только для сборки проекта и запуска dev-сервера с ливапдейтами, так то.

26 Янв, 12:02 #200 #634655

Работаю HTML/CSS-макакой, делаю статичные странички, максимум что могу — подключить плагин. Решил двигаться дальше и взялся за JS. Читаю уже вторую книгу прочел Крокфорда, сейчас читаю Кантора. Изучаю синтаксис языка и приемы программирования, это все интересно, но хотелось бы получить общее представление о процессе веб-разработки, чтобы понять какой набор технологий мне нужно освоить, чтобы стать front-end разработчиком смутно представляю, что такое Front-end, на самом деле. Кроме того, в планах «проапгрейдить» подходы к разработке, используемые в конторе, где я работаю. Например, узнал, что используемая сейчас пересылка файлов на сервер через FTP — прошлый век, и нужно переходить на систему контроля версий.

Исходя из вышеописанной задачи составил себе такой гайд:
Инструменты разработчика
git
grunt ✓
gulp ✓

HTML/CSS
Адаптивная верстка ✓
БЭМ ✓
Препроцессоры ✓

JavaScript
...

Чем дополнить список? Какие книги или статьи почитать/доклады посмотреть?

Ответы: >>634663, >>634685, >>634785

26 Янв, 12:12 #201 #634662

Анон, посоветуй сайтов, где можно подготовиться к тестированию по джаваскрипту. Именно тупо задрочить тесты. Знаю про quizful, есть еще что-то подобное?

Ответы: >>634666

26 Янв, 12:13 #202 #634663

>>634655
>файлов на сервер через FTP — прошлый век
Docker, Jenkins, CI

26 Янв, 12:17 #203 #634666

>>634662
https://www.reddit.com/r/javascript/comments/3rb88w/ten_questions_ive_been_asked_most_more_than_once/

Ответы: >>634667

26 Янв, 12:18 #204 #634667

>>634666
Спасибо, это полезно. Хотя там будут, скорее всего, именно чистые тесты - это не собеседование, а тестирование на курсы.

26 Янв, 12:44 #205 #634685

>>634655
А как так получилось что ты никогда с фронт-ендом не стыкался? Это же ведь все части одного целого.
На удаленке работаешь/фрилансишь?

В дополнение для удобства можешь пакетные менеджеры глянуть npm/bover.

Ответы: >>634686, >>634700

26 Янв, 12:44 #206 #634686

>>634685
>bower
фикс

26 Янв, 12:59 #207 #634700

>>634685
>На удаленке работаешь
This.

>А как так получилось что ты никогда с фронт-ендом не стыкался?
Хз. Пилю HTML/CSS по макету, могу подключить плагин типа Flexslider, затем в архиве пересылаю верстку. Недавно начал использовать gulp (для препроцессоров, сборки спрайтов и конкатенации файлов) и git (локально). Иногда могу зайти по FTP и что-то править в .ctp-файлах (CakePHP, я так понял). Больше нихуя не знаю.

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

Ответы: >>634711

26 Янв, 13:01 #208 #634702

Кажется, нашел кое-что
https://coggle.it/diagram/52e97f8c5a143de239005d1b/56212c4e4c505e0045c0d3bda59b77e5977c2c9bd40f3fd0b451bdcf8da4aa52

26 Янв, 13:20 #209 #634709

Ребят, подскажите как найти удаленку начинающему джаваскриптеру низкой квалификации.

Ответы: >>634712, >>634824, >>634905, >>635073, >>635091

26 Янв, 13:24 #210 #634711

>>634700
Начинай с воркзиллы. Низы из низов, так сказать.

Ответы: >>634712, >>634714

26 Янв, 13:25 #211 #634712

Бля, >>634711 --> >>634709

26 Янв, 13:28 #212 #634714

>>634711
Что то не вижу там заданий на джаваскрипт

26 Янв, 15:02 #213 #634785

>>634655
Топ кек, нахуя вы читаете, учите что-то? Охуеть, всё ж интуитивно понятно
Мимо-нихуя-не-учил-каждый-месяц-свой-новый-проект

Ответы: >>634821

26 Янв, 15:44 #214 #634821

>>634785
>всё ж интуитивно понятно
Выкидыш материнской платы?

26 Янв, 15:45 #215 #634824

>>634709
БАМП

26 Янв, 15:48 #216 #634826

Как получить результат функции внутри объекта для применения в другой функции этого же объекта?
Сейчас код внутри объекта вида:
function makeShit(){
return data
};
this.doThings = function(){
var dataq= makeShit();
}
Однако при вызове doThings у меня получается undefined вместо data. ЧЯДНТ?

Ответы: >>634840, >>634897

26 Янв, 16:02 #217 #634840

>>634826
function makeShit(){
if (typeof makeShit.val == 'undefined'){
\t\tmakeShit.val = 0;
}
makeShit.val++;
return makeShit.val;
};

26 Янв, 16:08 #218 #634852

посоны, накидайте гайдов по оптимизации в ангуляре
выборка где-то на 10к позиций

Ответы: >>635010, >>635170, >>635646

44 Кб, 905x542

26 Янв, 16:24 #219 #634868

Сап зк.
Помогите набросать регулярку, я в них пытался разбираться, но каждый раз безуспешно.
Требуется вводить номера домов, причем могут быть значения: "50-" — все дома с номером меньше 50, "50+" — соответственно все больше 50, "30-50" — дома с 30 по 50 номер, ну и просто отдельные номера. Причем у номера дома может быть буква.
Например может быть такая строка: "20-,34а-36,56а,60+", или такая: "23а,50-65".
Выручайте.

Ответы: >>634876, >>639941

26 Янв, 16:27 #220 #634876

>>634868
А что в итоге тебе надо получить? Почему просто не split(',')?

Ответы: >>634883

26 Янв, 16:32 #221 #634883

>>634876
Надо выбрать из списка домов, только те, которые укажут в строке.
Проблема в том, что неизвестно сколько запятых будет.

Ответы: >>634886

26 Янв, 16:34 #222 #634886

>>634883
Ну, а номер дома это только 50 или 56а тоже дом? А что делать с 65+? Ты же нихуя не написал.

Ответы: >>634930

26 Янв, 16:38 #223 #634897

>>634826
https://ideone.com/OX39Os

26 Янв, 16:42 #224 #634905

>>634709
БАМП

26 Янв, 17:15 #225 #634930

>>634886
Любая буква рядом с цифрой — это тоже номер дома, буква просто откидывается потом.
Ну вот смотри, есть список домов: 1,2,3,4,5,6,7,8,9.
У каждого дома есть например количество жильцов.
Пользователь хочет узнать, сколько человек живет в 1,3,4,5 и 8 домах.
Он пишет строку: "1,3-5,8а", и ему выводятся нужные ему дома.
Следовательно мне нужно проверять эту строку, может он криво введет, проверка на дурака.

Ответы: >>634984, >>635011

26 Янв, 17:16 #226 #634932

>>633712
>Последовательно
Нет, все class="notmain" будут параллельно грузится после загрузки id="mainImg".

Все еще не нашел библиотеку в коробке, с реализацией руками под конкретную страницу разобрался, вот четкий пример http://ida-freewares.ru/poetapnaya-asinkhronnaya-zagruzka-dannykh-v-jquery-ajax.html

620 Кб, 604x604

26 Янв, 17:37 #227 #634953

https://jsbin.com/sevuqupili/edit?js,output
(по ссылке небольшой баг - после загрузки по кропперу кликнуть надо, чтобы он на место встал)

Жабаскриптаны, такой вопрос возник, не могу разобраться:
Делаю тестовое задание - загрузка фотки, выбор пропорций для обрезки, сепия.
Вроде всё сделал, но на последнем шаге проблема - когда надо по рамке обрезать картинку и сохранить на сервере обработанный вариант, у меня не получается правильно собрать канвас из картинки и дива, который я использую как кроппер.
В ебаной функции context.drawImage (http://www.html5canvastutorials.com/tutorials/html5-canvas-image-crop/) 8 координат, к тому же дело осложняется тем, что я работаю с изображением не в оригинальных размерах - т.е. еще 1 коэффициент добавляется.
Ебался-ебался - так и не разобрался. Подскажите что-нибудь полезного.
Ну и кому не лень - ткните носом в говно, пояснив где надо было сделать по-другому.

Ответы: >>634979, >>635507, >>635539

107 Кб, 474x563

26 Янв, 17:56 #228 #634979

>>634953
>Делаю тестовое задание
>где надо было сделать по-другому

Ответы: >>634983

26 Янв, 18:01 #229 #634983

>>634979
А мне чот понравилось задание, интересно даже стало - сделаю, или нет.
Сроки всё равно уже просрал - так что теперь просто из интереса пытаюсь доделать.

26 Янв, 18:05 #230 #634984

>>634930
Бамп

26 Янв, 18:32 #231 #635010

>>634852
Выбирай промежутками

26 Янв, 18:34 #232 #635011

>>634930
Сделай нормальный интерфейс. Какая строка, блять? 2016 год

Ответы: >>635032

99 Кб, 800x517

26 Янв, 18:39 #233 #635021

Анон, на чем писать backend сайта?

Ответы: >>635026, >>635152, >>635171, >>639942

26 Янв, 18:41 #234 #635026

>>635021
pure html

26 Янв, 18:45 #235 #635032

>>635011
>нормальный интерфейс
Посоветуй, с помощью чего его можно реализовать?

Ответы: >>635151

275 Кб, 795x837

26 Янв, 19:18 #236 #635062

Я наконец понял что такое замыкание. Поздравляю себя.

26 Янв, 19:24 #237 #635073

>>634709
БАМП

26 Янв, 19:35 #238 #635091

>>634709
Просто берешь и без задней мысли устраиваешься на подходящую вакансию с хедхантера/авито.

Ответы: >>635126

26 Янв, 20:06 #239 #635126

>>635091
Я про удаленку. Не все из нерезиновой

Ответы: >>635128

26 Янв, 20:10 #240 #635128

>>635126
Просто берешь и без задней мысли устраиваешься на подходящую вакансию с удаленкой с хедхантера/авито.

26 Янв, 20:39 #241 #635151

>>635032
С помощью select'a

http://krazedkrish.com/select-multiple/#demos
http://www.jqueryscript.net/demo/Two-side-Multi-Select-Plugin-with-jQuery-multiselect-js/

Ответы: >>635492

26 Янв, 20:40 #242 #635152

>>635021
cakephp

26 Янв, 20:52 #243 #635160

>>631484
>>631484

ну для начала эту регулярку надо написать четёнько и ровненько, типо вот так /,(\d.+?)$/ig а потом заматчить её на строке типо так:
var matchResult = tvojaEbanjaRegularka.exec(tvojaSranajaStroka);

вот этот вот matchResult это масив результатов где если я не ошибаюсь под индексом 1

Ответы: >>635164

26 Янв, 20:54 #244 #635162

>>631155

Как раз его реинкарнация в ES2015 (тот же ES6) как раз таки торт. всякие тайпскрипты и котлины проприетарная хуита. Ну ок, мб котлин норм, но он пока что не юзабелен так как жабоскрипт

26 Янв, 20:56 #245 #635164

>>635160
>>635160

бля аккела промахнулся с регуляркой
вот коректный: /\,(\d+)$/ig

26 Янв, 21:00 #246 #635170

>>634852

ангуляр без гаманства не выгребает столько за раз. От слова совсем. если ты хочешь только эти 10к только отобразить чере one-time binding то ещё ок. Но в остально запомни в какангуляре потолок вотчеров в 3к (в твоём случае ng-repeat как раз таки пытается создать 10к вотчеров на каждый айтем, от того и рыгает как на вписке)

8 Кб, 635x282

26 Янв, 21:01 #247 #635171

>>635021

Ответы: >>635174

26 Янв, 21:04 #248 #635173

О, оказывается яваскрипт имеет больше возможностей чем я думал. Поясните, за такой момент, я знаю ПХП и вёрстку, хуже знаю яваскрипт (который забывается, так как им почти не пользуюсь) и знаю jQuery (который очень простой и удобный), стоит ли мне учить ещё какие-нибудь JS фреймворки, если я планирую заниматься вебом? И есть ли лёгкие фреймворки на JS, разобраться в которых, имея знания яваскрипт на уровне джуна, можно за месяц? И которые при этом будут полезны. Хочу расшириться в этом направлении, но боюсь потратить время впустую, точнее на то, что мне не понадобиться.

Ответы: >>635178, >>635181, >>635275

83 Кб, 612x612

26 Янв, 21:04 #249 #635174

>>635171

сударь вы зашли не в тот район тут у нас все культурные люди. Node.js наше всё

26 Янв, 21:09 #250 #635178

>>635173
1) забудь что есть пыхпых.С опытом поймешь
2) Выучить норм язык и алгоритмы и рубить бабло.
3) Если всё же хочется веба ну прям оч-оч то учит глубже JS а лучше его новую версию ES2015
4) Бери node.js и ебаш фулстек на одном зоопарке и имей профит и счастье с этого
5) нынче класные фреймворки это reactjs, angular2, ExtJS

26 Янв, 21:10 #251 #635181

>>635173
> jQuery
> стоит ли мне учить ещё какие-нибудь JS фреймворки

Ответы: >>635225

26 Янв, 22:00 #252 #635225

>>635181
Двачую. Зашквар такое спрашивать в 2016, все знают что jQuery достаточно для всего, на jQuery пишут даже операционные системы и кластерные вычисления с петабайтами данных.

Ответы: >>635314

36 Кб, 435x417

26 Янв, 22:40 #253 #635275

>>635173
>jQuery
>фреймворк

26 Янв, 23:01 #254 #635314

>>635225

ну если для тя ОС на JS это кнопку прихуярить и видок рабочего стола сделать аля винь хр тогда бро не лезь в програмирование не разобравшись снчала в терминологии. Хотя бы.

Ответы: >>635339

26 Янв, 23:15 #255 #635339

>>635314
Пиздец, такой толстый троллинг не различить.

Ответы: >>635374

26 Янв, 23:42 #256 #635374

>>635339
К тебе это тоже относится, кстати)

Ответы: >>635387

26 Янв, 23:55 #257 #635387

>>635374
К тебе это тоже относится, кстати)

Ответы: >>635407

27 Янв, 00:02 #258 #635395

Вкратце: пишу класс графика на чистом JS чтобы научиться основам. Не могу из метода получить доступ к свойствам класса.
[code]
//Конструктор
var Chart = function(data) {
this.prototype = Object.prototype;
this.data = data;
this.X = Y;
//...
//Метод прорисовки - прорисовывает нормально
this.prototype.repaint = function(args) {
//Видит this.data;
}
//Реакция на движения (события получаются от canvas)
this.prototype.onMouseMove = function(event) {
//Type error(line 128 col 16) this.data is undefined;
}
};
[/code]
Полный код:
https://ideone.com/io4hp9

Ответы: >>635396, >>635444, >>635446

27 Янв, 00:07 #259 #635396

>>635395
1) классы - зло, забудь про них и никогда больше не используй.
2) не пиши на ес5
3) внутри функции this смотрит на функцию, а не на объект

Ответы: >>635405, >>635409, >>635436

27 Янв, 00:13 #260 #635404

Антошки, хочу выучить js как второй язык и пилить фронт енд на всяких ангулярах. Дайте какой-нибудь пошаговый гайд где на примере подробно рассказывают как это делать.
Книжку learn-js прочел, начал проходить интерактивные курсы но тупо лень по 150 раз пилить всякие детские циклы и присваивать переменные.
Сам синтаксис языка и принципы понял, теперь надо научиться пользоваться фреймворками.
Спасибо.

Ответы: >>635410

27 Янв, 00:13 #261 #635405

>>635396
> 2) не пиши на ес5
почему?

27 Янв, 00:14 #262 #635407

>>635387
К тебе это тоже относится, кстати)

27 Янв, 00:15 #263 #635409

>>635396
Если функция
Object.prototype.func = function() {
}
является методом объекта, как внутри функции получить доступ к свойствам объекта?

Ответы: >>635420, >>635422, >>635426

27 Янв, 00:16 #264 #635410

>>635404
Если можешь в ангельский, вот охуительный курс
https://www.codeschool.com/courses/shaping-up-with-angular-js

Ответы: >>635425

27 Янв, 00:30 #265 #635420

>>635409
через this?

27 Янв, 00:33 #266 #635422

>>635409
Не, хуйню я спорол, должен видеть this. в том виде, как ты написал, но мне кажется, что всё равно в этом ошибка, только просто в другом каком-то месте ты теряешь контекст. По коду который ты скинул всё должно быть окей.

34 Кб, 720x480

27 Янв, 00:34 #267 #635425

>>635410
Два чая, я с него начал знакомство с ангуляром. Хороший курс.

27 Янв, 00:36 #268 #635426

>>635409
В любой непонятной ситуации с контекстом используй apply(и еще ее функция-сестра, у них разница лишь в передаче параметров), там ты сможешь указать явно, что должно быть контекстом.

27 Янв, 01:02 #269 #635436

>>635396
>классы - зло
>не пиши на ес5
>this смотрит на функцию

Ахуительные истории!

27 Янв, 01:19 #270 #635444

>>635395
Нашёл свою ошибку.

Объект var chart = new Chart(chartData);
создается внутри функции которая запускается по завершению ajax-запроса. И <canvas onmousemove="chart.onMouseMove(event)"> не может получить доступ к тому, что находится внутри функции request.onreadystatechange = function() {...new Chart...}.

Ответы: >>635448

27 Янв, 01:21 #271 #635446

>>635395
Возможно, все из-за того, что когда вызывается инлайновый обработчик события onmousemove="chart.onMouseMove(event)", this равен DOM элементу, т.е. canvas. Попробуй вывести в консоль this внутри обработчика и посмотри, что происходит.

>this.prototype = Object.prototype;
Для чего ты так делаешь?

Ответы: >>635450

27 Янв, 01:22 #272 #635448

>>635444
Решение: объявить var chart в глобальном контексте, а потом уже внутри функционального контекста присваивать chart = new Chart(chartData);

27 Янв, 01:26 #273 #635450

>>635446
Потому что впоследствии если я пытаюсь в конструкторе объявить методы конструируемому объекту через this.prototype.repaint = function() {...} мне пишет что prototype is undefined. То есть насколько я понимаю, я должен унаследовать от Object "место, куда я могу записывать объявленные методы", и только после этого могу объявлять методы класса. Хотя, в таком случае не записываю ли я их по ссылке в сам Object вместо этого?.. я еще не разобрался.

Ответы: >>635457

27 Янв, 01:43 #274 #635457

>>635450
>через this.prototype.repaint = function() {...} мне пишет что prototype is undefined
Ну, естественно.

Методы своему классу создавай так:
Chart.prototype.methodName = function(){};

this - ссылка на объект, который создаст функция конструктор с вызовом через new. И у этого объекта нет свойства prototype, потому и undefined. Объявление функций ClassName.prototype.methodName будут доступны у создаваемого этим конструктором объекта через __proto__.

А сейчас у каждого созданного тобой объекта, будет доступен метод repaint.
var o = {};
console.log(o.repaint);
Заебись?

Ответы: >>635462

27 Янв, 02:03 #275 #635462

>>635457
Понятно. Спасибо.

27 Янв, 04:15 #276 #635492

>>635151
Заранее не известно количество домов.

Ответы: >>635495, >>635650

27 Янв, 04:22 #277 #635495

>>635492
И что? Ты же понимаешь, что DOM можно перерисовывать на лету, так?

Ответы: >>635501

27 Янв, 04:28 #278 #635500

Поясните за js, как сложно мне будет вкатиться в джуна? В скилсах задания типа лаба 1, лаба 2 и даже лаба3(си и кресты). Также знаю основы html и css. До этого пытался в кресты но чет дропнул. В базовые понятия программирования могу, даж в ооп. Вопрос ещё, js очень тесно связан с версткой? Поясните за бэкенд че там вообще делать то нужно inb4: логика сайта

Ответы: >>636537, >>636576

27 Янв, 04:29 #279 #635501

>>635495
Можно, но не в моем случае.
Суть в том, что пользователь вводит номера домов, которые он хочет купить.
Но в базе хранятся только те дома, которые уже выставлены на продажу.
Он может ввести 40+, и ждать когда дома с такими номерами выставят на продажу.

Ответы: >>635502

27 Янв, 04:30 #280 #635502

>>635501
Так и будет годами сидеть не закрывая сайт?
Когда выставят, тогда и отрисуешь их

Ответы: >>635503

27 Янв, 04:32 #281 #635503

>>635502
Ему уведомление придет, когда такой дом выставят.
Если они не будут отрисованы сразу, то как он выберет дома, которых ещё нет в продаже? Вот таком случае ему точно придется сидеть и мониторить, когда его наконец выставят.

Ответы: >>635505

27 Янв, 05:00 #282 #635505

>>635503
Cделай тогда выбор номера с radio-кнопками
Сначала дом выбираешь, потом букву, потом результаты
Текстовое поле - это пиздец

Ответы: >>635506

27 Янв, 05:07 #283 #635506

>>635505
Что-то ты начал за здравие
>Сделай нормальный интерфейс. Какая строка, блять? 2016 год
закончил за упокой
>Cделай тогда выбор номера с radio-кнопками
>Сначала дом выбираешь, потом букву, потом результаты

Ответы: >>635512

57 Кб, 500x679

27 Янв, 05:08 #284 #635507

>>634953
Совсем никто совсем ничего не подскажет по корректным значениям параметров для drawImage??

Ответы: >>635655

27 Янв, 06:00 #285 #635512

>>635506
Кто ж знал, что ты так по-ебанутому всё делаешь? Обычно за проверку дома на существование бэкенд отвечает, а у тебя пользователь

27 Янв, 08:18 #286 #635539

>>634953
>(по ссылке небольшой баг - после загрузки по кропперу кликнуть надо, чтобы он на место встал)
Это не баг, это фича последствия отсутствия строгой типизации, лол:
//top: "-" + h
top: parseInt(h)*-1

27 Янв, 12:27 #287 #635646

>>634852
подкинь шаманств плиз

27 Янв, 12:33 #288 #635650

>>635492
RegExp тебе в помощь

а тут можешь тустировать регексы http://www.regexpal.com

регулярка в твоём случае будеч то то типа такого /\,?(.+)/ig

27 Янв, 12:42 #289 #635655

>>635507
Не, чувак такое говно даже стыдно подсказывать.
А врочем ладно подскажу, пуская гонят меня и издеваются надо мною

.image-canvas {
border: 2px solid #163cbc;

position:absolute;
left:0;
top:0;

}

Как бы стили правильные не забывай указывать

Ответы: >>635806

390 Кб, 500x498

27 Янв, 15:54 #290 #635806

>>635655
Но я спрашиваю, какие значения использовать при вызове context.drawImage() из тех, что у меня хранятся в options, няш. Стили кроппера-то тут причем?

Ответы: >>636875

27 Янв, 17:16 #291 #635884

Предлагаю разработать очень легковесный модульный js-фреймворк. Все существующие легковесные похоже, что заброшены. Я считаю, что нам нужно уменьшить размер мирового веба и увеличить его быстродействие.

Ответы: >>635912, >>635974

27 Янв, 17:29 #292 #635912

>>635884
было 16 фреймворков, стало 17.jpg

27 Янв, 18:12 #293 #635974

>>635884
Ангуляр 2, как мне кажется, идеален для всего, что нам нужно в 2016 году. Гугловцы знают что делают.

html-academy-ebanaya 27 Янв, 18:26 #294 #635990

Аноны кароч вот код:

form.addEventListener("submit", function(event){
if(!(login.value&&password.value)){
event.preventDefault();
console.log("Не введены данные");
popup.classList.remove("modal_error");
popup.classList.add("modal_error");
}
else {localStorage.setItem("login", login.value);}
});

это тупо проверка на вводе данных в форму, смысл в том, чтоб трясти форму когда что-то не введено. modal_error тупо добавляет классу анимацию. Первый раз все норм работает, на второе нажатие не реагирует анимация, а после закрытия формы и открытия анимация проигрывается сама по себе. ЧЗНХ?

Ответы: >>635992

27 Янв, 18:29 #295 #635992

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

Ответы: >>635995

27 Янв, 18:32 #296 #635995

>>635992
да знаю я хули тут три строчки https://jsbin.com/qexufiqabi/edit?js

Ответы: >>635999

27 Янв, 18:35 #297 #635999

>>635995
Ты можешь вместе с HTML и CSS скопировать, ебанутый?

Ответы: >>636024

27 Янв, 18:57 #298 #636024

>>635999
бля, кароч как-то так https://jsbin.com/hobefativo/edit?html,css,js,output

Не могу понять почему повторное нажатие, которое по идее должно запускать заново submit не проигрывает анимацию

Ответы: >>636118

27 Янв, 18:58 #299 #636025

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

27 Янв, 19:01 #300 #636029

>>631129 (OP)
Вечер в хату, https://jsfiddle.net/e5cbuoxf/6/
вот тут я наговнокодил, че то стыдно такой код показывать, подкиньте идей как сократить ?

Ответы: >>636033, >>636121

27 Янв, 19:07 #301 #636033

>>636029
if(document.body.querySelector(".start")&&(!document.body.querySelector(".stop")) {

Ответы: >>636036

27 Янв, 19:12 #302 #636036

>>636033
принято, а colorizeBetween насколько неочевидна ? Именования там прозрачны ?

27 Янв, 19:38 #303 #636061

TypeScript или ES6 на какой стул сесть и почему?

Ответы: >>636066

27 Янв, 19:40 #304 #636066

>>636061
почему говорить не буду, на es6 если в реакт, typescript если angular2

Ответы: >>636107

27 Янв, 19:44 #305 #636074

почаны, готовлюсь к собесу, есть вопрос насчет полифила обжект.креате. На мдн написано что-то такое:
```var create = (function(){
var Temp = function(){};
return function(parentPrototype){
Temp.prototype = parentPrototype;
var result = new Temp();
Temp.prototype = null;
return result;
}
})();
```
почему нельзя просто написать
```var create = function(parent) {
var Temp = function() {};
Temp.prototype = parent;
var result = new Temp();
return result;
}
```

зачем Temp находится в кложурсе? Он же память будет просто так занимать всегда

Ответы: >>636088

27 Янв, 20:00 #306 #636088

>>636074
Ну в первом случае темп будет создаваться только один раз, при выполнении когда кода с полифилом, а во втором каждый раз когда вызываешь create. Возможно это какая-то оптимизация. Все жалуются что обжект.креайт медленный.

Ответы: >>636119

27 Янв, 20:16 #307 #636107

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

Ответы: >>636110

27 Янв, 20:19 #308 #636110

>>636107
ну хуй знает, выбирая между es6 и ts я выбрал бы es6 т.к. незнаю почему, но я на coffee уже обжегся, выучил его, а через две недели вышел es6 и он сдох

27 Янв, 20:27 #309 #636118

>>636024
Очевидно, что проблема в удалении класса/присвоении класса.
Такой 'ugly hack' для демонстрации решает проблему:
setTimeout(function() {popup.classList.remove("modal_error");}, 50)
setTimeout(function() {popup.classList.add("modal_error");}, 100)

Ответы: >>636129

27 Янв, 20:27 #310 #636119

>>636088
спасибо

27 Янв, 20:29 #311 #636121

>>636029
Ну ебаный в рот, не вешай обработчик на каждый элемент в цикле. Используй делегирование!
Комментируешь в коде всем очевидные вещи - как работает инструкция if: // если есть элемент с классом start, но не комментируешь, для чего нужны твои функции, какие аргументы принимают и вообще для чего нужен твой код. Сделай чтобы функция colorizeBetween принимала только 2 аргумента colorizeBetween(startIndex, stopIndex) и уже внутри нее определяй в какую сторону закрашивать, передавать 3 параметром строку "left" или "right" - хуевая идея - легко допустить очепятку и твоя IDE ничем подсказать тебе не сможет.

Ответы: >>636126

128 Кб, 600x600

27 Янв, 20:34 #312 #636126

>>636121
>var sta = startIndex;
>var sto = stopIndex;
>var startIndex = sto;
>var stopIndex = sta;

Что вообще здесь творится?

Ответы: >>636163

23 Кб, 229x190

27 Янв, 20:43 #313 #636129

>>636118
ок, но если закрыть и открыть форму то анимация один хуй проигрывается, да и это решение с графическим лагом, че-то тут не так. если поставить задержки 500 и 1, то получится проигрывание обеих анимаций...лол, но выглядит уже лучше. Так с какого хуя обе проигрываются?!

Ответы: >>636159, >>636161

27 Янв, 21:20 #314 #636159

>>636129
>но если закрыть и открыть форму то анимация один хуй проигрывается
Ебааать... Ясен хуй.
//JS
close_popup.addEventListener("click", function(event){popup.classList.remove("modal_show");});
//CSS
.modal_show{
display: block;
animation: bounce 0.8s;
}

Чувствуешь, тут что-то не так?

Ответы: >>636161

27 Янв, 21:24 #315 #636161

>>636129
>>636159
>//JS
>close_popup.addEventListener("click", function(event){popup.classList.remove("modal_show");});
Бля, то есть:
enter.addEventListener("click", function(event){event.preventDefault();popup.classList.add("modal_show");
Сплю уже.
Кароч, при входе вешается класс с анимацией.
Следовательно, все у тебя по коду логично.

Ответы: >>636166

27 Янв, 21:28 #316 #636163

>>636126
ну типа если мышка в левую сторону пошла, нужно поменять индекс начала и конца местами а то получится array.split(8,2) например а js так не умеет

27 Янв, 21:36 #317 #636166

>>636161
логично-то логично, только обе анимации по отдельности прекрасно работают, а вместе нихуя. Подвоха не понял. Ну то есть как не понял, понял, что у класса modal_show всегда висит анимация, и при вызове еще одной анимации с этим блоком первая тож проигрывается. Это не то поведение, которого я ждал от keyframes

93 Кб, 929x694

28 Янв, 04:58 #318 #636536

>>634552
Друг попросил.
>>634566
>>634567
Ты хорoший человек, твоя мать — достойная женщина, отец — настоящий мужчина

28 Янв, 05:02 #319 #636537

>>635500
Бамп

28 Янв, 10:01 #320 #636576

>>635500
Ээ блет, так чем ты вообще заниматься собираешься? Я могу тебе с десяток технологий написать, но нахуя тебе это?

28 Янв, 10:56 #321 #636598

>>631129 (OP)
>>636255

Ответы: >>636633

28 Янв, 11:56 #322 #636633

>>636598
JSDOM
https://github.com/tmpvar/jsdom

Ответы: >>636861

43 Кб, 1366x768

28 Янв, 12:19 #323 #636659

Пацаны, что не так?

Ответы: >>636672

28 Янв, 12:31 #324 #636672

>>636659
console.log(event) выдает одинаковые результаты в обоих случаях.

28 Янв, 14:14 #325 #636765

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

Ответы: >>636784

28 Янв, 14:41 #326 #636784

>>636765
>Допустим есть окно чата и нужно обрабатывать каждое новое сообщение
Вешаешь ивент лиснер @ прикручиваешь обработчик.
Обзор ивентов:
https://developer.mozilla.org/en-US/docs/Web/Events
Можешь запилить кастомный ивент:
https://developer.mozilla.org/ru/docs/Web/Guide/Events/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8_%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D0%B9

Ответы: >>636789

28 Янв, 14:47 #327 #636789

>>636784
Спасибо, я так понял вот эта штука https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver как раз то, что мне нужно.

Ответы: >>637002

28 Янв, 15:38 #328 #636843

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

Ответы: >>636856, >>636897, >>640248

28 Янв, 15:52 #329 #636856

>>636843
angular
/thread

Ответы: >>636862, >>636876

28 Янв, 15:56 #330 #636861

>>636633
Спасибо, во всей видимости это то что мне нужно.

28 Янв, 15:57 #331 #636862

>>636856
angular после 3к позиций загибается к едреной фене

Ответы: >>636872, >>636876

28 Янв, 16:06 #332 #636872

>>636862
Где загибается? Ты хочешь сказать, что он не способен подгрузить объекты из джейсона?($scope.huetaName = angular.fromJSON(response.data);) и гуляй-рука-писюн, то есть клепай себе через нг-репит.

Ответы: >>636888

28 Янв, 16:09 #333 #636875

>>635806
просто оно фиксит твою проблему. Стили играют роль в позиционировании вот этих твоих жвух поебней

28 Янв, 16:09 #334 #636876

>>636862
>>636856
$ npm search json stream parse
Просто ДОХУИЩА либ для парсинга реально больших JSON.
С другой стороны, это конечно 'workaround', т.к. V8 не предоставляет нативно асинхронных средств для работы с большими джейсонами.

Ответы: >>636888

28 Янв, 16:18 #335 #636888

>>636872
ты про это
var хуевыймодуль = angular.module('хуевыймодуль', []);
хуевыймодуль.controller('хуевыйCtrl', function ($scope, $http) {
$http.get('test1.json')
.success(function (data) {
$scope.preparats = data;

});
то это работает
валится ng-repeat
>>636876
ты пробовал юзать эти модули?

Ответы: >>636894, >>636939, >>637014

28 Янв, 16:22 #336 #636894

>>636888
а ты по кусочкам попробуй, первую тыщенку отрисуй, setInterval(500, отрисоватьТыщенку);

Ответы: >>636911, >>636918

28 Янв, 16:25 #337 #636897

>>636843
Чем не варик?
var parser = new JSON.Parser();
parser.update(data); // updates the state of the parser with more data
var result = parser.result();

28 Янв, 16:41 #338 #636911

>>636894
если прилепить фильтры то оно и на 200 валится

Ответы: >>636918, >>637017

28 Янв, 16:47 #339 #636918

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

Ответы: >>637016

28 Янв, 17:20 #340 #636939

>>636888
>>636888
http://stackoverflow.com/questions/17348058/how-to-improve-performance-of-ngrepeat-over-a-huge-dataset-angular-js

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

28 Янв, 18:27 #341 #637002

>>636789
Но так плохо делать, на самом деле. Если ты не юзерскрипт пишешь и чат твой - можно сделать куда правильнее.

28 Янв, 18:36 #342 #637014

>>636888
Потому что не пытайся делать хуйню(загружать несколько тысяч сразу), тут тебе люди говорят делай через интервал(где там ебаться-то? одну строку кода добавить?), по событию(скролл, аддБаттон, ватевар). Что угодно наебнется, если его заставить 100к сразу подгрузить.

Ответы: >>637119

28 Янв, 18:37 #343 #637016

>>636918
Пиздец ты мудак. Такие вещи на бэкенде делаются

Ответы: >>637119

28 Янв, 18:38 #344 #637017

>>636911
Через интревал\событие фильтруй\делай что угодно и кешируй в объекте контроллера - отдавай из объекта. Все просто.

6 Кб, 635x414

28 Янв, 18:39 #345 #637019

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

Ответы: >>637027

28 Янв, 18:42 #346 #637027

>>637019
gugoldotcom > how to create pendulum javascript
............
PROFIT

Ответы: >>637036

28 Янв, 18:48 #347 #637036

>>637027
Спасибо, ананс прям по первой ссылке такой охуенный маятник!

28 Янв, 19:53 #348 #637119

>>637014
100k позиций асинхронно подгружать по 100 штучек нюню
поиск тоже асинхронно делать?
>>637016
>анхулар тхреад
>Пиздец ты мудак. Такие вещи на бэкенде делаются

Ответы: >>637137, >>639947

28 Янв, 20:06 #349 #637137

>>637119
> >анхулар тхреад
> >Пиздец ты мудак. Такие вещи на бэкенде делаются
Это жс-тред, мудила, и на жс можно запилить бэкенд
Как вообще мысль может прийти о сортировке данных на клиенте, это же пиздец

Ответы: >>637142, >>639876

28 Янв, 20:09 #350 #637142

>>637137
ну так запили какую библиотеку лучше использовать, че ты истериш как баба?

Ответы: >>637143

28 Янв, 20:14 #351 #637143

>>637142
Какую библиотеку, поехавший? Знаешь что такое бекенд?
У тебя должна быть база данных, в которой эти данные, вся сортировка, поиск, агрегация выполняется на бекенде, через базу данных
А клиент должен их таскать запросами
/get-data?PAGE=1&SEARCH=vagina

Ответы: >>637166

2 Кб, 200x150

28 Янв, 20:14 #352 #637145

анон, подскажи библиотеку/скрипт для создания дерева как на пике.

Ответы: >>637214, >>637441

28 Янв, 20:28 #353 #637166

>>637143
хостинг с монгой не подкинеш?

Ответы: >>637168, >>639877

28 Янв, 20:29 #354 #637168

>>637166
http://digitalocean.com

28 Янв, 21:20 #355 #637214

>>637145
бампану пожалуй

24 Кб, 628x227

29 Янв, 05:03 #356 #637441

Хелп

>>637145
https://github.com/mindmup/mapjs

Ответы: >>637448, >>637461, >>637548

29 Янв, 05:55 #357 #637448

>>637441
Передай контекст.
Плохой способ:
var self = this;
return self.userData;
Хороший способ привязать к вызываемой функции контекст через .bind(this)

Ответы: >>637461

29 Янв, 07:25 #358 #637461

>>637441
>>637448
А, блядь, не всматривался в твой высер, у тебя промисы в Sails.
Тогда что не работает?
Здесь такой же код и так же используется возврат внутри .then

http://maangalabs.com/blog/2014/08/23/promises-in-sails-js-remove-callback-hell/

Ответы: >>637588

29 Янв, 12:15 #359 #637548

>>637441
Возвращай из сервиса Promise. В контроллере через then прописывай результат в response.

Ответы: >>637588

29 Янв, 12:59 #360 #637571

Накидайте еще своего проблемного кода.
Охота поразбираться.

29 Янв, 13:33 #361 #637588

>>637548
>>637461
Спасибо.
Да, так и сделал. Заебись.

А переменную из промиса никак не вернуть? А то вместо колбек-хелла промис-хелл получается

Ответы: >>637596

29 Янв, 13:48 #362 #637596

>>637588
>А то вместо колбек-хелла промис-хелл получается
Суть в том, что в промисах значения можно (и нужно) резолвить.
Адаптированный вариант Мозилловского примера:
https://jsbin.com/miwelu/edit?js,console

Ответы: >>637605

29 Янв, 14:11 #363 #637605

>>637596
Так резолв это же просто обработка значений, которые вернулись. А как из промиса вернуть значение во внешнюю переменную, например?

Ответы: >>637616

29 Янв, 14:28 #364 #637616

>>637605
Думай о резолве как об успешном адресате параметра (это может быть как промис, так и любое произвольное значение) в следующую (thennable) функцию:
.then(
// Промис передал нам значение
function(val) {
console.log('Значение знаешь? ' + val);
})
Еще раз посмотри пример выше на жсбин, он довольно нагляден для понимания промисов.

Ответы: >>637635

29 Янв, 14:55 #365 #637635

>>637616
Не, я вот что имею ввиду:
https://jsbin.com/gosivohepe/1/edit?js,console

Ответы: >>637639

29 Янв, 15:05 #366 #637639

>>637635
Все правильно работает.
У тебя вызов console.log(kok) происходит ДО того, как значение переменной kok будет перезаписано (в промисе для примера используется таймаут), посему результат не такой, как ты ожидал.
Вот демонстрация твоего примера с верной последовательностью вызова функций (переменная kok принимает значение, переданное резолвом).
https://jsbin.com/raworav/2/edit?js,console

Ответы: >>637643

29 Янв, 15:07 #367 #637643

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

Ответы: >>637655, >>637832

29 Янв, 15:17 #368 #637655

>>637643
Очевидно зачейнить очередь из промисов, где последнее звено будет функцией с обработкой ВСЕХ полученных в предыдущих шагах значений. Then гарантирует, что промис выполнился.

Ответы: >>637690

29 Янв, 16:08 #369 #637690

>>637655
Всё, разобрался. Спасибо
Заебок, теперь на жс писать одно удовольствие

Ответы: >>637691, >>637850

29 Янв, 16:12 #370 #637691

>>637690
Попробуй теперь Бабель с async/await, вообщи кайфуищь

27 Кб, 1200x127

14 Кб, 515x81

29 Янв, 18:33 #371 #637814

В чем может быть проблема? Модуль toaster подключен

Ответы: >>637823

29 Янв, 18:38 #372 #637823

>>637814
Зачем sails в ангуляре подключаются? Рендеринг на серверной стороне?

Ответы: >>637826

29 Янв, 18:39 #373 #637826

>>637823
> Зачем sails в ангуляре подключаются?
Для работы с сокетами.

> Рендеринг на серверной стороне?
Полностью на клиенте, на сервере только данные

29 Янв, 18:41 #374 #637832

>>637643
Promise.all([promise1, promise2, ... ]).then(results =>....)
(если я правильно тебя понимаю)

29 Янв, 18:53 #375 #637850

>>637690
> Заебок, теперь на жс писать одно удовольствие
Не траль так сильно

Ответы: >>637868

29 Янв, 19:10 #376 #637868

>>637850
Может скажешь что охуеннее?

Ответы: >>637880

29 Янв, 19:19 #377 #637880

>>637868
Если тебе дали удобную ложку, это не означает что гавно стало вкуснее.
Поработай подольше с базой данных через промисы, потом подумай, а зачем ты это делаешь? А делаешь ты это только потому, что в ноде всего один поток.

Ответы: >>637894, >>637945

29 Янв, 19:32 #378 #637894

>>637880
> а зачем ты это делаешь?
Что делаю? Через промисы работаю?

> А делаешь ты это только потому, что в ноде всего один поток
Какое ещё поток? Event-loop?
Есть event-loop, из-за которого нода такая охуенно быстрая. На этом же event-loop'e основан nginx, например, который тоже пиздец быстрый.
И чем тебе event-loop не нравится? Тем, что нужно писать ассинхронно? Так никто не заставляет, можешь синхронно писать, жертвую скоростью работы приложения

Ответы: >>637896, >>638027

29 Янв, 19:33 #379 #637896

>>637894
Бля, куча опечаток, ебаное яблоко не может в окончания

29 Янв, 20:25 #380 #637945

>>637880
>Поработай подольше с базой данных через промисы, потом подумай, а зачем ты это делаешь? А делаешь ты это только потому, что в ноде всего один поток.
Где связь?

Ответы: >>638016

29 Янв, 20:39 #381 #637957

Как передать произвольное количество переданных аргументов в функцию в другую функцию?

Ответы: >>637959, >>637975, >>637987

29 Янв, 20:40 #382 #637959

>>637957
Объектом или (предпочтительнее) массивом.

Ответы: >>637960

5 Кб, 564x63

29 Янв, 20:41 #383 #637960

>>637959
Ну и как это сделать?

Ответы: >>637975

29 Янв, 20:57 #384 #637975

>>637960
>>637957
>произвольное количество переданных аргументов в функцию
Есть built-in массив доступный внутри функций - "arguments":
function test() {
console.log(arguments);
}
test(1, 2, 3)
--> [1, 2, 3]

Как передать ... в функцию в другую функцию?
На этот вопрос я уже ответил ранее.

Ответы: >>637979

5 Кб, 580x50

29 Янв, 21:02 #385 #637979

>>637975

Ответы: >>638022

29 Янв, 21:10 #386 #637987

>>637957
через функцию .apply
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply

Ответы: >>637988, >>638022, >>639890

29 Янв, 21:11 #387 #637988

>>637987
двачую var arrArgs = [].slice.call(arguments);

Ответы: >>638022, >>639890

29 Янв, 21:43 #388 #638016

>>637945
Если бы в ноде можно было бы запускать потоки, то все бы использовали синхронный АПИ работы с базой.
https://www.youtube.com/watch?v=bzkRVzciAZg

Ответы: >>638024

29 Янв, 21:47 #389 #638022

>>637988
>>637987
Как это передать в функцию? >>637979
Нипанимат

Ответы: >>639890

29 Янв, 21:49 #390 #638024

>>638016
Ну так это же плохо

Ответы: >>638211

29 Янв, 21:53 #391 #638027

>>637894
Event-loop это хорошо, когда ты можешь передавать тяжёлые задачи в другие потоки. Например, так работают все нативные GUI-тулкиты: event-loop в основном потоке для быстрых ответов, а рассчёт и рисование UI в отдельных потоках. В отдельных потоках можно писать синхронный код, а потом результат возвращать в основной поток через event. Latency при этом не страдает, т.к. основной поток занят только обработкой ивентов и ничем больше, throughput тоже выше, т.к. используется больше ядер процессора.

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

Ответы: >>638033, >>638066

29 Янв, 21:58 #392 #638033

>>638027
> В отдельных потоках можно писать синхронный код, а потом результат возвращать в основной поток через event.
Нахуя? Это, по сути, такой же промис, только через анус

Ответы: >>638070

29 Янв, 22:32 #393 #638066

>>638027
Я тут раскрою маленьких секрет, но async/await решает проблему с асинхронным кодом от слова полностью. У обезьянки остается только одна задача - не блокировать надолго event-loop внутри своего кода.

Ответы: >>638071, >>638300

29 Янв, 22:36 #394 #638070

>>638033
Синхронный код короче, быстрее пишется и гораздо легче читается.
Вот адаптированный пример из кода текущего проекта. Считай что Group и Item это условные Sails модели, а Service - это условный сервис.
https://codetidy.com/7828

Ответы: >>638085, >>638116

29 Янв, 22:38 #395 #638071

>>638066
Как тебе поможет async/await в ситуации, когда ты работаешь с API на промисах?
И да, ты думал о том, что в жизни бывают вычислительно интенсивные задачи?

Ответы: >>638081

29 Янв, 22:47 #396 #638081

>>638071
>API на промисах
Из промиса ES6 можно делать await, собственно, async - такой сахар над промисами. Хреново, если либа городит свои костыли, но их постепенно переписывают.
>вычислительно интенсивные задачи
Пул тредов-воркеров, и координация через асинхронный API, иначе никак. Это нормально.

29 Янв, 22:51 #397 #638085

>>638070
Однохуйственно. Если так хочется, чтобы было как на нижнем примере можно наплодить куча мельких функций на каждый then промиса и отличаются два примера будут только наличием then-aми. Собственно для этого и есть промисы.

Ответы: >>638087, >>638099

29 Янв, 22:52 #398 #638087

>>638085
then-ов*

29 Янв, 23:03 #399 #638099

>>638085
Дело не только в then-ах, обрати внимание, какой там выкрутас делается чтобы собрать вместе результаты от нескольких асинхронных запросов Service.getItems.

Ответы: >>638104

29 Янв, 23:11 #400 #638104

>>638099
Для этого, кстати планируется такая штука:
var vals = await* [promiseObject1, promiseObject2, ..];

Ответы: >>638138

29 Янв, 23:25 #401 #638116

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

Ответы: >>638140

29 Янв, 23:59 #402 #638138

>>638104
А как с обработкой ошибок в этом выражении будет?
Promise.all падает когда хотя-бы один промис внутри падает. Поэтому в примере по ссылке делается .then(res=>res, err=>[]), чтобы в случае ошибки успшеные результаты обработались.

Ответы: >>638149, >>638151

30 Янв, 00:01 #403 #638140

>>638116
Он не медленнее работает, он просто заставляет поток простаивать некоторое время. Но операционная система для того и существует, чтобы отдать на это время процессор другому потоку. Обычно в многопоточных приложениях потоков больше чем ядер чтобы процессор не простаивал.

Ответы: >>638221

30 Янв, 00:15 #404 #638149

>>638138
Из reject промиса ошибка вылетает вверх по стеку, прям как в синхронном коде. Никаких коллбеков, классические try - catch

30 Янв, 00:19 #405 #638151

>>638138
В твоем случае, делается map async function , и await по каждому промису, обернутый в try - catch, где catch возвращает нужный тебе пустой результат.

30 Янв, 03:16 #406 #638211

>>638024
да вообще пиздец

30 Янв, 04:36 #407 #638221

>>638140
Ты, кажется, не понимаешь разницы между ассинхронностью и синхронностью

Ответы: >>638382

30 Янв, 04:50 #408 #638227

Аноны каким редактором посоветуете пользоваться во время обучения JS? Атом норм?

Ответы: >>638229, >>638231

30 Янв, 04:53 #409 #638229

>>638227
да норм норм, какая разница то ? JS бля учи, редактор он выбирает, обсос

Ответы: >>638230

30 Янв, 04:57 #410 #638230

>>638229
Ну так если я выберу хуевый редактор и там не будет удобных штук типа автодополнения и скрытия блоков кода то я сосну ж.
У меня раньше был ноутпад++, но я решил перейти на юбунту и тут он не идет, приходится вот искать новый.

Ответы: >>638232

30 Янв, 04:58 #411 #638231

>>638227
тут так просто не скажешь, погугли учебники по редакторам, benchmarkи там всякие, может стоит курс по webstorm прослушать, тогда только за кодинг садись...

Ответы: >>638233

30 Янв, 05:00 #412 #638232

>>638230
да бля любой известный имеет все что нужно, все что не нужно доустанавливается, sublime-text смотри, условно бесплатный, будет иногда заебывать с просьбой купить его ( в большинстве своем все юзают его ) думаю никто его ни разу не купил, я на webstorm сижу со времен pycharm атом тоже, короче похуй любой популярный бери и все

Ответы: >>638235

30 Янв, 05:01 #413 #638233

>>638231
А емакс выучить не надо перед тем как хеллоуворлд садиться писать?

30 Янв, 05:01 #414 #638235

>>638232
Ясно, спасибо, уже компилирую атом.

Ответы: >>638241

30 Янв, 05:24 #415 #638241

>>638235
Бог тебе дал пакеты, а ты компилируешь

30 Янв, 11:22 #416 #638300

>>638066
На самом деле нода не лишена некоторых детских болезней, которые скорее являются проблемами V8, нежели модели event-loop в целом.
Взять тот же JSON, речь о работе с которым велась выше. Если JSON достаточно громоздок по объему, то сериализация данных может занять значительное время. Все это, конечно, относительно, но тем не менее, произойдет блокирование единственного потока.
С другой стороны, есть замечательная возможность запускать несколько костылей инстансов самой ноды:
https://nodejs.org/docs/latest/api/cluster.html
по сути, делегируя выполнения задач на несколько потоков.
Это становится охуенной киллер-фичей, если мыслить в контексте гибридных задач, где требуется совместить плюсы а- и синхронного подхода. Например, скада.
Обработку сигналов с оборудования реализовываем строго синхронно и в отдельном инстансе, UI и взаимодействие с пользователем - в асинхронном. Что скажете, джейсоны?

Ответы: >>638306, >>638385

30 Янв, 11:35 #417 #638306

>>638300
Другого решения и нет, анон, если мы делаем что-то отличное от модели cgi. Как делать риалтайм без event-loop модели? Да никак, наверняка в твоей скаде гуи обновляется через вебсокет. Проблемы c JSON решаемы написанием асинхронного драйвера, как с БД. Форкаемся, выполняем работу, шлем ивент с результатом, завершаемся.

Ответы: >>638390

30 Янв, 13:19 #418 #638366

Ребята, есть один GreasyMonkey скрипт, использующий css-стили вот так: http://greasemonkey.win-start.de/patterns/add-css.html
Что делать, если я хочу иметь возможность переключаться между стилями? Можно понасоздавать stylish скриптов, между ними переключаться. А можно как-то выпадающий список организовать, чтобы один раз нажал и всё заработало?

Ответы: >>638369, >>639130

30 Янв, 13:22 #419 #638369

>>638366
Интересует вопрос изменения стилей на лету средствами именно GreasyMonkey.

30 Янв, 13:42 #420 #638382

>>638221
Ну давай, расскажи мне про разницу.

30 Янв, 13:46 #421 #638385

>>638300
Лучше подождем, когда в ноду завезут АПИ вебворкеров, и библиотеки начнут им пользоваться. В вебворкерах и тредпулы есть, все как у белых людей.

30 Янв, 13:54 #422 #638390

>>638306
Есть большая разница между вычислительными задачами (сериализация/десериализация) и I/O задачами типа общения с базой, где нужно просто дождаться ответа.

Ответы: >>638425

30 Янв, 15:01 #423 #638425

>>638390
Ну делай сериализацию/десериализацию в отдельном треде/процессе и жди ответа, я ж написал.

31 Янв, 03:57 #424 #639101

>>631129 (OP)
шалом неверстальщикиафронтендеры, появилась затея замутить что то типа search any where, ставишь плагин, захлдишь в вк пишешь имя фамилию человека, в результатах получаешь так же ссылки на найденных в ok.ru facebook и еще каких нить социалочек, как думаешь взлетит ?

Ответы: >>639110, >>639141

31 Янв, 06:13 #425 #639110

>>639101
Да

31 Янв, 07:28 #426 #639115

Суп! Решил я начать кодить на Java. Из опята программирования лишь то, что я во время школьных лет рисовал в Паскале из фигур что-то типа замка. Курсы проводит 1С-контора (которая club.1c.ru) у меня в мухосранске. Они дают сертификат, все дела. За 4 месяца можно пройти их весь курс. На сайте есть описание занятий по каждому модулю. Всего их 4. Дайте свои отзывы о них, если есть, есть ли какая-то альтернатива лучше, если не ВУЗ?

Ответы: >>639322

31 Янв, 09:24 #427 #639130

>>638366
Присваиваешь созданному ноду какой-нибудь идентификатор, потом по ниму в нужный момент node.disabled=true|false.

31 Янв, 09:48 #428 #639141

>>639101
Клон Яндекс.Пипл или что-то особенное?

Ответы: >>639572

31 Янв, 12:48 #429 #639199

Есть аноны с опытом работы с D3.js? Подскажите, есть ли какое нибудь место - агрегатор плагинов для решения конкретной задачи? Нашел только это - https://github.com/mbostock/d3/wiki/Plugins но там не богатый выбор, и в 95% случаев плагин реализует какую то неведомую ебаную хуйню. На оффсайте Hightcharts, например, в разделе "демо", есть примеры реализации практически любой из типичных задач визуализации данных, а на сайте d3 нихрена такого нет.

Ответы: >>639308, >>639323

19 Кб, 635x363

31 Янв, 14:50 #430 #639273

Ананасы, помогите с IndexedDB, что на пике не так? Почему выкидывает при вызове objectStore.get() ошибку - AbortError? В БД точно данные есть, курсором читается. Два дня в вашем жабоскрипте, можете обоссать, но намекните куда копать.

Ответы: >>639550

31 Янв, 15:35 #431 #639308

>>639199
Дело в том, что d3 это низкоуровневый инструмент для создания не типичных вещей. Если тебе нужно что-то стандартное, то лучше брать либу с готовыми графиками. Ебаться с d3 - та ещё радость, у них там свой датабайндинг ( этакий недореакт), своя либа для анимации. Scails и layouts там действительно полезные, но они заточены именно на использование в их поехавшем "fluent" интерфейсе.

Ответы: >>639323, >>639391

31 Янв, 15:53 #432 #639322

>>639115
>javascript thread
>кодить на Java
А я еще постоянно разражаюсь когда в каждой новой книге по джс рассказывают, что это не джава, а названия похожи, потому что маркетологи долбоебы. ЛОЛ

75 Кб, 500x320

31 Янв, 15:53 #433 #639323

>>639308
> fluent интерфейсе
Шарпоняша не палится, обычная яваскриптовая недомонадка.
> Scails
scales же
>>639199
Посмотри производные графические либы на d3 - dc.js, c3.js, nvd3.js reactd3 и т.п. Тот Шарпоняш все верно сказал, сама d3 для элитки вроде data-artist'ов, обыкновенным людям напрямую ее использовать незачем.

Ответы: >>639391, >>639580

31 Янв, 16:26 #434 #639358

Ребят, не могу нагуглить. Помню, что в JS есть возможность вызывать метод определённого объекта, не записывая каждый раз сам объект (в определённой области видимости). То есть вместо obj.foo() писать .foo(), предварительно указав, какой объект используется для последующих вызовов. Как эта штука называется?

Ответы: >>639390

31 Янв, 16:55 #435 #639390

>>639358
foo = obj.foo
foo()
?

Ответы: >>639400

31 Янв, 16:56 #436 #639391

>>639308
>>639323
Спасибо.

31 Янв, 17:01 #437 #639400

>>639390
Не то, плохо объяснил.
Допустим, есть код:
obj.foo();
obj.bar();

Из него можно сделать вот так:
.foo();
.bar();
Где-то вверху указываем, что эти методы вызываются у obj.
Суть сводиться к тому, что в определённой области видимости все методы, вызванные без объекта (с точкой в начале) будут вызываться у определённого объекта, имя которого пишем только один раз.

Ответы: >>639405, >>639415

31 Янв, 17:03 #438 #639405

>>639400
ты уверен что в жс такое есть ?

Ответы: >>639409

31 Янв, 17:05 #439 #639409

>>639405
Да. Но уверенность теряется понемногу, так как гуглю уже очень долго.

Ответы: >>639415

31 Янв, 17:07 #440 #639415

>>639409
>>639400
Это называется with и это просто супермегагипер плохая практика. Никто это не юзает вообще тупо никогда.

Ответы: >>639428

31 Янв, 17:11 #441 #639428

>>639415
Спасибо, оно. Я совсем чуть-чуть, очень читабельность повысит. Хотя и дело не в читабельности, судя по статье: https://habrahabr.ru/post/120364/

Ответы: >>639442

31 Янв, 17:18 #442 #639442

>>639428
Читабельность повышает, когда у тебя объект спроектирован так, чтобы можно было

obj
.yoba()
.boba()
.allou()
.pshpshshsh()

С with же добра не жди.

31 Янв, 19:07 #443 #639550

>>639273
Ну бля, ананасы, помогайте. Добавляю строки в БД (только ключ) и потом пытаюсь их достать (по тому же ключу, он в БД точно есть), но какое-то ебучее AbortError появляется. Что ему надо? 10 раз уже каждую строчку передрочил, всего-то и надо проверить есть в БД такая запись или нет.

31 Янв, 19:30 #444 #639572

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

Ответы: >>639895

31 Янв, 19:36 #445 #639580

>>639323
> Шарпоняша не палится
Но я же джаваиндус

Ответы: >>639620

31 Янв, 20:16 #446 #639620

>>639580
Ну не знаю, у меня на "флюент интерфейсы" детектор сработал.

01 Фев, 00:46 #447 #639876

>>637137
>Как вообще мысль может прийти о сортировке данных на клиенте
А если нужна сортировка по клику на название столбца таблицы? :)

Ответы: >>639976

01 Фев, 00:47 #448 #639877

>>637166
modulus.io

9 Кб, 272x172

01 Фев, 01:02 #449 #639890

>>637987
>>638022
>>637988
>>637987
Благодаря этим анонам.

Ответы: >>639901

01 Фев, 01:04 #450 #639895

>>639572
Расширение, которое обращается к яндекс.пипл?

01 Фев, 01:11 #451 #639901

>>639890
Я нихуя не понимаю зачем ты это делаешь. Твой код так и просится на что-нибудь из поста >>639168

Ответы: >>639909

01 Фев, 01:17 #452 #639909

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

Ответы: >>639914

01 Фев, 01:22 #453 #639914

>>639909
Кун-задавший-этот-вопрос-в-треде
Мне .apply помог, только у меня сложность была в том, что я передавал не в обычную функцию, а в метод класса, и там контекст надо было не this передавать, а сам этот класс
loh.ban.apply(loh, arguments)

95 Кб, 904x609

101 Кб, 709x654

6 Кб, 180x134

01 Фев, 01:37 #454 #639922

>>631266
По хорошему еще надо сделать дженерализацию функции calculate и отдавать туда название параметра.
Главное, что тебе стоит вынести из этого кода - обращение к свойству объекта это O(1), т.е. очень быстрый алгоритм. Это одно из главных преимуществ объектов перед массивами, их не обязательно итерировать.

01 Фев, 01:42 #455 #639925

>>631291
Мне вот больше интересно, когда можно будет делать screen share через webRTC средствами chrome.

01 Фев, 01:44 #456 #639926

>>632991
Потому что мало задач.

01 Фев, 01:44 #457 #639927

>>631533
Мат. формулы сложнее работы с webGL.

01 Фев, 01:46 #458 #639928

>>631994
>поднять nginx
Я так и делаю для ноды.

Ответы: >>639974

01 Фев, 01:48 #459 #639929

>>632002
draw.io

Ответы: >>639975

01 Фев, 01:53 #460 #639932

>>632624
_.clone()

01 Фев, 01:59 #461 #639934

>>633501
Для большей дженерализации, не знаю, зачем еще.

01 Фев, 02:02 #462 #639936

>>633745
Потому что тогда браузер берет на себя заботу о потоках.

01 Фев, 02:12 #463 #639941

>>634868
Вариант split(",") вполне корректный, проверяешь потом отдельно каждое значение функцией, выясняешь, ошибка это, диапазон вниз, диапазон вверх, диапазон от и до или число. В чем загвоздка-то?

01 Фев, 02:13 #464 #639942

>>635021
django

01 Фев, 02:19 #465 #639947

>>637119
>поиск тоже асинхронно делать?
Поиск делай в объекте в памяти, лол.

01 Фев, 05:12 #466 #639974

>>639928
Но это вовсе не обязательно

Ответы: >>640038

01 Фев, 05:14 #467 #639975

>>639929
Спасибо, охуеено

01 Фев, 05:16 #468 #639976

>>639876
Такую сортировку на бэкенде делают

Ответы: >>640040

01 Фев, 08:25 #469 #639992

Можно имея ссылку на файл как-то получить его данные?

Ответы: >>639993

01 Фев, 08:32 #470 #639993

>>639992
https://api.jquery.com/load/
Но только в соответствии с CORS.

Ответы: >>640006

01 Фев, 09:24 #471 #640006

>>639993
Nyet. Вот нашел рабочее решение
http://www.html5rocks.com/en/tutorials/file/xhr2/

01 Фев, 11:07 #472 #640038

>>639974
Фаерволл не пропускает ничего, кроме nginx.

01 Фев, 11:08 #473 #640040

>>639976
А если пользователь решает, как ему сортировать? Каждый раз перегружать страницу и гонять те же самые данные? Теперь понимаешь смысл front-end приложения?

Ответы: >>640055

01 Фев, 11:34 #474 #640055

>>640040
> А если пользователь решает, как ему сортировать?
Пользователь отправляет ажаксом поле сортировки и направление, сервер берет данные из базы, сортирует данные по полю и делает аск/деск по направлению пользователя, отправляет. В чем проблема?

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

> Теперь понимаешь смысл front-end приложения?
Я понимаю, а ты нет

Ответы: >>640072, >>640130

01 Фев, 12:11 #475 #640072

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

Ответы: >>640130

01 Фев, 13:20 #476 #640130

>>640072
>>640055
СМудари, предоставьте-ка пример UI, в котором отображаются на одной странице (без пагинации) сотни тысяч позиций, это первое.
>В чем проблема?
В том, что это избыточный запрос, лишний траффик, лишнее время ожидания, данные уже есть на клиенте, все, что нужно, это отсортировать и перерисовать DOM.
>Я понимаю, а ты нет
Видимо, понимание через жопу это твой путь.

Ответы: >>640193

01 Фев, 14:02 #477 #640193

>>640130
> СМудари, предоставьте-ка пример UI, в котором отображаются на одной странице (без пагинации) сотни тысяч позиций, это первое.
Так никто не делает, поехавший блять. Ну, кроме таких как ты.

Ответы: >>640208

01 Фев, 14:14 #478 #640208

>>640193
Если так никто не делает, то с чего это ты вдруг это упомянул-то, а?

Ответы: >>640214

01 Фев, 14:17 #479 #640214

>>640208
Где упомянул?

Ответы: >>640222

01 Фев, 14:25 #480 #640222

>>640214
Действительно, не упоминал.
Еще раз - пагинацию делают на сервере. Внутреннюю сортировку делают на клиенте.
Последовательность такая:
1. Первый заход на страницу - получение отрендеренного html в нужном порядке, затем сразу загрузка данных в виде json.
2. При клике на название столбца сортировка идет на клиенте.
3. При дальнейших переходах по страницам тоже грузятся только данные.

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

В случае последовательности:
1. Загрузил отрендеренный html.
2. Клик на название столбца - ajax-запрос, получение отсортированного json (ты ведь не html предлагал получать?), рендер.
3. То же, что и в первом варианте.

Проигрыш наступает, если клик по названию столбца больше, чем 1 раз.

Итог: сортировать данные в формате json лучше на клиенте.

Ответы: >>640234, >>640276, >>640279

01 Фев, 14:40 #481 #640234

>>640222
Ты понимаешь, что чтоб сортировать на клиенте тебе нужно выгрузить ему всю базу? На каждого клиента. Всю базу.
А если база изменится, снова выгрузить.
Мало того, что это небезопасно, клиенту базу отдавать, так это ещё и десятки мегабайт трафика, если не сотни и тысячи на каждого клиента, в зависимости от размера базы.

Ответы: >>640236

01 Фев, 14:42 #482 #640236

>>640234
>чтоб сортировать на клиенте тебе нужно выгрузить ему всю базу?
Зачем это? Клиент получает только то, что необходимо.
Для перехода по страницам надо делать запрос.
Для сортировки по значению столбца не надо.
Для поиска по значению - надо.

Ответы: >>640240

01 Фев, 14:45 #483 #640240

>>640236
> Зачем это? Клиент получает только то, что необходимо.
Ты говоришь про сортировку 20 элементов, которые получил клиент, а я про сортировку по всей базе.
Вот, например, у тебя в таблице 100 учеников из 1000. Если ты будешь сортировать по какому-то полю только на клиенте, у тебя сортировка будет только среди этих 100 учеников, остальные 900 в сортировку не попадут. В этом случае правильнее сортировать в базе, а не выгружать 1000 учеников на клиент.

Ответы: >>640244

01 Фев, 14:48 #484 #640244

>>640240
>Ты говоришь про сортировку 20 элементов, которые получил клиент, а я про сортировку по всей базе.
В этом и был мисандерстендинг.

Ответы: >>640248

01 Фев, 14:50 #485 #640248

>>640244
Всё началось с сортировки 100к элементов на клиенте - >>636843

Ответы: >>640250

01 Фев, 14:51 #486 #640250

>>640248
А не, не с сортировки даже, просто с вывода

01 Фев, 15:24 #487 #640276

>>640222
Идиотина, блеать, ну какая сортировка на клиенте, если у тебя ПАГИНАЦИЯ? Ну отсортируешь ты текущую страницу, и дальше что? Когда пользователь жмакает на сортировку, он желает увидеть первой строкой минимум/максимум среди всех данных, сортировка только среди пагинированного набора записей нахуй не упала.

01 Фев, 15:26 #488 #640279

>>640222
И вообще ваша пагинация говно, давно изобрели инфинит скролл.

Ответы: >>640289

01 Фев, 15:36 #489 #640289

>>640279
Инфинити скролл для табличных данных?

Ответы: >>640292

sage 01 Фев, 15:40 #490 #640292

>>640289
Yeap. Удивлен?

Ответы: >>640295

01 Фев, 15:42 #491 #640295

>>640292
Мне кажется так только пидоры делают

Ответы: >>640296

01 Фев, 15:43 #492 #640296

>>640295
Тебе кажется

Ответы: >>640299

01 Фев, 15:45 #493 #640299

>>640296
Мне кажется, что не кажется.
Нельзя делать инфинити скролл там, где важен порядок элементов, и нужна удобная навигация
Это как не нумеровать страницы документации, например.

Ответы: >>640301, >>640305

01 Фев, 15:46 #494 #640301

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

01 Фев, 15:49 #495 #640305

>>640299
Инфинит скролл порядок сохраняет, в произвольное место можно спозициорироваться скролбаром, но это нахуй не надо, т.к. обычно есть быстрый поиск вводом с клавиатуры. Что тебе еще нужно, болезный?

01 Фев, 15:55 #496 #640309

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

https://jsfiddle.net/L4w7udw7/

Ответы: >>640410, >>640434

01 Фев, 17:50 #497 #640410

>>640309
Апдейт с рабочим вариантом, но который лучше не делать

Ответы: >>640411

01 Фев, 17:52 #498 #640411

>>640410
Забыл https://jsfiddle.net/L4w7udw7/1/

01 Фев, 18:30 #499 #640434

>>640309
Так нельзя делать, епта. У тебя для этого поля должна быть отдельная коллекция, вложенных данных быть не должно. Уровень вложенности = коллекция.

Ответы: >>640435

01 Фев, 18:34 #500 #640435

>>640434
А почему этот СИНЬОР так делает?

https://github.com/sahat/hackathon-starter/blob/master/models/User.js

Ответы: >>640440

01 Фев, 18:38 #501 #640440

>>640435
Потому что пришел в монгу с реляционных баз данных

Ответы: >>640449

01 Фев, 18:48 #502 #640449

>>640440
То есть нужно делать не так
loh: {
\tdaun: {
\t debil1: { type: String, default: 'net'},
debil2: { type: String, default: 'net'},
debil3: { type: String, default: 'net'},
debil4: { type: String, default: 'net'},
debil5: { type: String, default: 'net'}
}
}

а так?

lohdaundebil1: { type: String, default: 'net'},
lohdaundebil2: { type: String, default: 'net'},
lohdaundebil3: { type: String, default: 'net'},
lohdaundebil4: { type: String, default: 'net'},
lohdaundebil5: { type: String, default: 'net'}

Чет совсем фуфлыжно выглядит

Ответы: >>640450

01 Фев, 18:54 #503 #640450

>>640449
Не, так:
loh: {type: Mongoose.Schema.Types.ObjectId, ref: 'Loh'}

И под поле loh у тебя отдельная коллекция, в которой будут храниться нужные данные. То есть тебе нужно описать модель для коллекции Loh, модель User может ничего о ней не знать, у неё просто ссылка на другую коллекцию.

Ответы: >>640454

01 Фев, 18:54 #504 #640451

здраститя
есть массив с ссылками на картинки
нужно сделать так, чтобы каждая ссылка была завернута в <img src="/"/> (которые в свою очередь находятся в каком-то контейнере, разумеется)

делаю так

var container = $('#container')

arr.forEach( function(element, index) {
_container.innerHtml += '<img id="'+index+'"/>;

_var target= $('#'+index);
_target.attr('src','element); // да, я еблан, можно сразу в src засунуть, но в этой строке функция из одной либы нет не jquery , типо упростил дохуя
}

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

Я подумал, что тип это причуды ебучего html и решил дать время на отрисовку и засунул последнюю строку в setTimeout, но нихуя
help'ируй, анон

Ответы: >>640453, >>640491

01 Фев, 18:56 #505 #640453

>>640451
Закинь с входными данными на jsfiddle

Ответы: >>640480

01 Фев, 18:56 #506 #640454

>>640450
А если по быдлячьи сделать

Ответы: >>640457, >>640458

01 Фев, 18:57 #507 #640457

>>640454
А если по быдлячьи сделать:

lohdaundebil1: { type: String, default: 'net'},
lohdaundebil2: { type: String, default: 'net'},
lohdaundebil3: { type: String, default: 'net'},
lohdaundebil4: { type: String, default: 'net'},
lohdaundebil5: { type: String, default: 'net'}

То какие подводные камни будут?

01 Фев, 18:58 #508 #640458

>>640454
Зачем? Это противоречит принципам монги
Можно и весь код, например, в одном файле писать, но зачем?

Ответы: >>640470

01 Фев, 19:06 #509 #640470

>>640458
>Зачем?
Чтобы работало же и не пришлось еще день тратить на попытки реализации с помощью ссылок на коллекцию.

Оно ведь таким макаром не намного сильнее будет тормозить, по сравнению с монгофилософским вариантом?

Ответы: >>640473

01 Фев, 19:11 #510 #640473

>>640470
> Чтобы работало же и не пришлось еще день тратить на попытки реализации с помощью ссылок на коллекцию.
День?
http://mongoosejs.com/docs/populate.html

> Оно ведь таким макаром не намного сильнее будет тормозить, по сравнению с монгофилософским вариантом?
Так дело в удобстве, а не в скорости

Ответы: >>640484

01 Фев, 19:17 #511 #640480

>>640453
сук, на jsfiddle работает, кажется, проблема не в нем
rage

01 Фев, 19:23 #512 #640483

https://jsfiddle.net/1snmv57f/
в общем, в этом коде перед вставкой ссылки картинка кэшируется и тут же вставляется ссылка на локальную копию
в чем может быть проблема?

Ответы: >>640489

01 Фев, 19:24 #513 #640484

>>640473
>День?
С этой логикой все более-менее понятно. Другое дело, что в контроллере есть уже функции, которые работают с базой в нессылочном виде. И их придется модифицировать(а я не знаю как, кек), если делать все правильно.

Спасибо за ответы.

Ответы: >>640488

01 Фев, 19:28 #514 #640488

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

338 Кб, 1428x679

01 Фев, 19:30 #515 #640489

>>640483
А что, собственно, не так?

Ответы: >>640491

01 Фев, 19:35 #516 #640491

>>640451 ------> >>640489

Ответы: >>640494

01 Фев, 19:37 #517 #640494

>>640491
И где src пустой?

01 Фев, 21:24 #518 #640569

П Е Р Е К О Т
Е https://2ch.hk/pr/res/640565.html (М)
Р https://2ch.hk/pr/res/640565.html (М)
Е https://2ch.hk/pr/res/640565.html (М)
К https://2ch.hk/pr/res/640565.html (М)
О https://2ch.hk/pr/res/640565.html (М)
Т https://2ch.hk/pr/res/640565.html (М)

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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion