Сохранен 506
https://2ch.hk/pr/res/572953.html
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

JavaScript #22

 Аноним 04/11/15 Срд 15:55:13 #1 №572953 
14466417130450.png
14466417130451.png
Ссылка на прошлый тред: >>562342 (OP)

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

Краткий 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).

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

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

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

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

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

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

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

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

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

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

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

Читать онлайн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://learn.javascript.ru/ - оно одно, единственное. Начинать учить язык советую отсюда, потом переходить уже к книгам.

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

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

http://ru.discovermeteor.com/ - Книга по Meteor.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, да множество их. Нельзя забывать про NW.js и WinJS, позволяющие создавать десктопные приложения.
Аноним 04/11/15 Срд 16:04:39 #2 №572966 
Немного поправил шапку для следующего треда. http://pastebin.com/MDwaMhVg
Аноним 04/11/15 Срд 16:08:00 #3 №572968 
14466424806090.png
14466424806091.png
14466424806102.png
Изучаю скрипт, делаю змейку.
Рис1 - задаю направления с кнопок-стрелочек.

Столкнулся с проблемой: нужно чтоб змека не могла двигаться в противоположную сторону. То есть если ползет вверх то недльзя резко вниз, посколько она типа сама в себя врежется. Появилась идея, но понял что это говнокод.
Рис2 - говнокод.

Ломал голову как сделать систему, которая бы масштабировалась и если направлений движения будет не 4, а 40, то не нужно было бы в 10 раз больше писать. Оказалось, блин, не так просто, но в итоге решил все тремя строчками (Рис 3). Пока что показывать решение не хочу и замазал текст - мне интересно как вы бы решили эту проблему. Любопытно посмотреть на другие способы.
Аноним 04/11/15 Срд 16:10:26 #4 №572969 
>>572968
Криво, но как вариант - если номер клавиши чётный, то нельзя нажать чётную клавишу. Также с нечётными.
Аноним 04/11/15 Срд 16:12:13 #5 №572971 
>>572969
Для 4-х кнопок пойдет. Не говнокод. Но если направлений будет больше, то чет/нечет уже не прокатит.
Аноним 04/11/15 Срд 16:41:01 #6 №572992 
>>572968
Можно зациклить, ну типа дать номера клавишам - 1,2,3... где следующее противоположно предыдущему. Четное - туда, нечётное - обратно. Таким образом пути разбиваются на пары. И запретить двигаться в сторону пары текущего направления.
Аноним 04/11/15 Срд 16:46:26 #7 №572996 
14466447860440.png
>>572992
Да, наверное так можно.
Я решил через углы. Типа поворачивать можно тогда, когда угол изменился на 90 градусов.

(|новыйугол-старыйугол|)%180=Х

Если в Х остача от деления получилась 90, то все ок. Если другое число - то не меняем направления, а оставляем его старым.

Аноним 04/11/15 Срд 17:30:07 #8 №573043 
Не кидайтесь какахами, но..
Есть парабола, надо вычислить примерную площадь между отрезками, все определяет пользователь.
А чего не работает-то, везде работает, на js чёт нет, кто что подскажет?

var x,a,b,c,xbot,xtop,dx,S=0;
//типа ввод
a=prompt("Enter 'a'","");
b=prompt("Enter 'b'","");
c=prompt("Enter 'c'","");
xbot=prompt("Enter 'x0'","");
xtop=prompt("Enter 'xn'","");
dx=prompt("Enter 'dx'","");//шаг, точность
//здесь должна быть проверка a!=0;
for(x=xbot;x+dx<=xtop;x=x+dx)
{
S=S+axx+bx+c;
}
S=S
dx;
alert(S);//типа вывод
Аноним 04/11/15 Срд 17:51:42 #9 №573061 
>>572953 (OP)
>ввиду своей неограниченной гибкости и удивительно удобного синтаксиса
Святая толстота!
Аноним 04/11/15 Срд 19:18:44 #10 №573173 
что такое JSON?
Аноним 04/11/15 Срд 19:19:38 #11 №573175 
>>573173
Java Script Object Notation В гугле забанили?
Аноним 04/11/15 Срд 19:22:22 #12 №573178 
>>573175
да
Аноним 04/11/15 Срд 20:26:06 #13 №573250 
14466579662920.jpg
Анон, прохожу курс на одине http://www.theodinproject.com/courses
начал три недели назад, с нуля, без особых скиллов програмирования
и предстоит делать проект по "Javascript/jQuery".

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

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

у меня есть:
JacaScript and jQuery Interactive Front-End Web - Jon Duckett
Learn to Code HTML & CSS Develop & Style Website - Shay Howe
этих должно хватить?


В комментах на одине, смотрю, петушня советует чепушню книги из серии"Head First ...". Но, как я понял, это зашквар.
Аноним 04/11/15 Срд 20:43:42 #14 №573272 
Как нарисовать точку на канвасе, не подскажите судари?
Аноним 04/11/15 Срд 21:26:34 #15 №573301 
>>573272

var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
ctx.fillStyle = "#FF0000";
ctx.fillRect(x,y,w,h);
Аноним 04/11/15 Срд 21:30:57 #16 №573310 
Есть один фиддл с кодом: https://jsfiddle.net/7Lksrdq8/

Суть в том, что список сортируется по двум параметрам: год и категория.

Объясните пожалуйста, что в коде происходит, я вообще нихуя не понял.
Аноним 04/11/15 Срд 21:33:39 #17 №573313 
14466620197140.jpg
14/0001 - как такое в JS в форме преобразовать в число, инкрементировать, а потом опять в форму вернуть в виде числа?
Аноним 04/11/15 Срд 21:40:52 #18 №573317 
>>573301
Спасибо вам большое. Дай бог, здоровья.
Аноним 04/11/15 Срд 21:42:23 #19 №573319 
>>573310
>var active = [];
>active.push('');
>var a = active.join('');
>if (a.length === 0) {
Там происходит говнокодище, очевидно.
Аноним 04/11/15 Срд 22:00:11 #20 №573344 
Ультимативный js ньюфаг в треде. Хуле тут не правильно?
var numberTest = prompt("Напишите абсолютно любое число");

if (numberTest > 0) {
alert ( 1 );
} if else (numberTest < 0) {
alert ( -1 );
} else {
alert ( 0 );
}
Аноним 04/11/15 Срд 22:08:05 #21 №573351 
>>573344
numberTest — строка. Строка может быть больше или меньше нуля?
Аноним 04/11/15 Срд 22:16:07 #22 №573370 
14466645670630.png
>>573351
Так я же её обозначил в первой строке через var
Аноним 04/11/15 Срд 22:18:46 #23 №573372 
>>573344
нету такого как if else, есть наоборот - else if
и результат промпта нужно конвертнуть в число.
Аноним 04/11/15 Срд 22:33:16 #24 №573385 
14466655960410.jpg
>>573372
Точно, с else if я тупанул, спасибо.
А конвертировать я наверное пока не знаю зачем, все вроде и так работает.
Аноним 04/11/15 Срд 23:16:58 #25 №573427 
14466682182180.png
Можно ли как-то уменьшить количество if(!err){} else{}?
Или в ноде это такой необходимый принцип написания кода?
Аноним 04/11/15 Срд 23:43:22 #26 №573452 
>>573372
ебало себе конвертни
Аноним 04/11/15 Срд 23:44:51 #27 №573453 
>>573452
Конвертнул тебе за щеку
Аноним 04/11/15 Срд 23:49:02 #28 №573457 
>>573453
мань, тыж пидор
Аноним 04/11/15 Срд 23:49:37 #29 №573459 
Поясните про Ecma2015. Недавно начал изучать js, стоит ли сразу переходить на новый стандарт?
Аноним 04/11/15 Срд 23:58:54 #30 №573469 
>>573459
без промисов ты горя хапнешь, утонув в аду колбэков. а вообще - да, переходи смело и уверенно. как раз таки поддержка старых стандартов тебе пока не нужна, с ie6 ты уже не встретишься почти наверняка (если ты не долбоеб и не сумеешь отыскать контору которая считает что все должно работать и там). да и есть такая вещь как полифиллы, так что при желании ес6 можно превратить в ес5
Аноним 04/11/15 Срд 23:59:44 #31 №573471 
>>573459
но если ты учишь js, не собираясь на нем писать приложения, а просто хочешь чтоб всё пердело и гудело - тогда тебе ваще похуй на всё это должно быть
Аноним 04/11/15 Срд 23:59:59 #32 №573473 
>>573427
Промисы, костыль для async/await.
Аноним 05/11/15 Чтв 00:04:17 #33 №573477 
>>573473
никто не спорит, но в ванильке они ток через год будут
Аноним 05/11/15 Чтв 00:05:11 #34 №573478 
>>573477
Тогда подождём
Аноним 05/11/15 Чтв 00:06:39 #35 №573479 
>>573427
это просто хуёвая реализация асинхронности в js, дело совсем не в ноде.
>Промисы, костыль для async/await.
Промисы в мажорных версиях ноды есть, либо юзай babel как вариант
sageАноним 05/11/15 Чтв 00:06:41 #36 №573480 
>>573469
В новом штандартике как раз таки наконец-то появился способ использовать промизы с человеческим синтаксисом (Promise.coroutine & yield).
Аноним 05/11/15 Чтв 00:24:29 #37 №573486 
>>573473
>>573479
А в чем суть промисов?
Сейчас почитал, это же какой-то событийный колбэк. А суть та же, только будет promise.then(function(result){}, function(err){}) вместо if(!err){} else{}. Чет нихуя от этого не легче.
Аноним 05/11/15 Чтв 00:30:58 #38 №573494 
>>573486
Вместо вложенных колобков у тебя ЛИНЕЙНЫЙ КОД
Аноним 05/11/15 Чтв 00:32:43 #39 №573497 
>>573494
async.auto, кажется, тоже самое делает. Колобок в колобок переходит, и всё это линейно.
Аноним 05/11/15 Чтв 00:36:50 #40 №573503 
>>573497
А нет, auto так не умеет. Waterfall так делает.
Аноним 05/11/15 Чтв 01:06:26 #41 №573521 
>>573486
Вместо

func(){
func(){
func(){

}
}
}


Можно

func().then().then
Аноним 05/11/15 Чтв 01:09:50 #42 №573524 
>>573503
Промис можно возвратить из функции и приписать еще then'ов, например.
Аноним 05/11/15 Чтв 01:51:14 #43 №573577 
>>573313
var chisloStroka = document.getElementById('forma').value;
var chisloStroka1 = chisloStroka.split('/')[0];
var chisloStroka2 = chisloStroka.split('/')[1];
var chislo2 = parseInt(chisloStroka2, 10);
document.getElementById('forma').value = [chisloStroka1, chislo2++].join('/');
Аноним 05/11/15 Чтв 02:36:38 #44 №573594 
Через что проверить наличие конкретного элемента в массиве?
Аноним 05/11/15 Чтв 03:15:55 #45 №573603 
>>573594
Через цикл.
Аноним 05/11/15 Чтв 03:18:54 #46 №573604 
>>573603
Блять, indexOf конечно же.
Аноним 05/11/15 Чтв 03:56:19 #47 №573611 
>>573043
макаба съела звезды в двух строчках, и бамп
Аноним 05/11/15 Чтв 04:06:37 #48 №573613 
>>573577
http://jsfiddle.net/2Lttq9w2/
Аноним 05/11/15 Чтв 04:08:49 #49 №573614 
>>573043
jsfiddle.
Аноним 05/11/15 Чтв 08:33:32 #50 №573639 
Ребят, как записать простынку вида
if( element.children.nodeName == 'H2' ||
element.children.nodeName == 'H3' ||
element.children.nodeName == 'H4'
)

в одну строчку, чтобы было что-то типа
if( element.children.nodeName == H1 || H2 || H3 || H4 )

М?
Аноним 05/11/15 Чтв 08:45:23 #51 №573641 
>>573639
http://pastebin.com/1HVXVW0r
макаба ругается на спам лист, вообще оухеть.
Аноним 05/11/15 Чтв 08:55:53 #52 №573643 
14467029530340.png
>>573641
Чет нихуя, хотя вручную делаю и все работает

Так будут циферки отличные от -1
["H1", "H2", "H3", "H4"].indexОf(document.getElementsByTagName('h4')[0].nodeName)

А так будет -1, как и ожидалось
["H1", "H2", "H3"].indexОf(document.getElementsByTagName('h4')[0].nodeName)

Но все равно, спасибо за офигенный трюк. Я думал надо с приоритетом операторов шаманить, типа скобочки где надо припиздячить см.пик.
Аноним 05/11/15 Чтв 08:59:49 #53 №573644 
>>573643
А не, нихуя, все работает. Вот так
( ["H1","H2","H3","H4"].indexОf(element.children.nodeName) > -1 )

Кстати, спам-листе слово или его часть: indexОf
Аноним 05/11/15 Чтв 09:04:14 #54 №573645 
14467034547030.png
>>573644
Сука, опять каша ебаная. Вот так.
Макака, верни code, пидор!
Аноним 05/11/15 Чтв 11:17:14 #55 №573709 
>>573427
if (err) throw err;
callback(data);
Аноним 05/11/15 Чтв 11:43:01 #56 №573740 
14467129818750.jpg
>>573427
Ставишь bluebird, делаешь promisify, включаешь флаг harmony-generators, сами промисы потом yield'ишь в корутинах, чтобы писать просто: "var user = yield UserService.getUser(x);" Все те же ошибки с таким подходом можно обрабатывать через обычные try-catch вокруг.
Аноним 05/11/15 Чтв 11:45:21 #57 №573743 
http://bluebirdjs.com/docs/api/promisification.html
Аноним 05/11/15 Чтв 13:25:13 #58 №573819 
Объясните тупому, почему не работает?
http://plnkr.co/edit/qCsMQrbf5SK2ESlfiDHA?p=preview
Аноним 05/11/15 Чтв 13:32:06 #59 №573830 
>>573819
Ну научитесь же вы, блядь, в консоль-то хотя бы смотреть.
Аноним 05/11/15 Чтв 13:34:34 #60 №573833 
>>573830
Ну не злись ты так. А как в консоль смотреть?
Аноним 05/11/15 Чтв 13:40:50 #61 №573841 
14467200508960.jpg
>>573833
примерно так
Аноним 05/11/15 Чтв 13:46:51 #62 №573843 
14467204117220.png
>>573841
Ну вот.
Аноним 05/11/15 Чтв 14:16:01 #63 №573851 
>>573843
Поставь нормальный браузер и посмотри на скриншот выше, там ошибка твоего кода показана.
Аноним 05/11/15 Чтв 14:24:25 #64 №573861 
>>573851
Фуриебы не нужны, только арийский хром.
Аноним 05/11/15 Чтв 14:24:53 #65 №573863 
>>573851
Спасибо)
Аноним 05/11/15 Чтв 14:41:55 #66 №573877 
>>573861
>>573833
Вообще им дали jsbin со встроенной консолью, нет, хотим жрать говно.
Аноним 05/11/15 Чтв 14:57:04 #67 №573894 
>>573594
developer mozilla тебе в помощь.
а вообще, ебать, тыб хоть разок просто пролистал все методы какие есть, чтоб просто знать что как и где и есть
Аноним 05/11/15 Чтв 15:46:31 #68 №573921 
>>573861
Хромоги должны страдать.
Аноним 05/11/15 Чтв 19:10:12 #69 №574191 
А есть ли замена indexOf для объекта? Или как еще узнать номер конкретного элемента в объекте?
Аноним 05/11/15 Чтв 19:26:22 #70 №574202 
>>574191
Что значит номер элемента в объекте? Если тебе нужны нумерованные значения используй массив и не выебывайся. При переборе объекта с помощью for in, ствойства объекта могут перебираться не в той последовательности, в которой объявлены. Или что ты хочешь?
Аноним 05/11/15 Чтв 19:59:56 #71 №574224 
>>572953 (OP)
Собирал Node из исходников, нужна новая версия, как корректно удалить старую?
Аноним 05/11/15 Чтв 21:10:42 #72 №574310 
>>574224
Sudo make uninstall
Аноним 05/11/15 Чтв 22:21:33 #73 №574366 
создали бы чтоли тред для совсем нубасов, стыдно такое постить
1) не понимаю, почему после "я вас не знаю" выскакивает еще и "Неправильно"
2) вот задал я переменную промпт, как вывести алерт на действие - нажатие кнопки Отмена ?

var login = prompt('Логин?', '');
if (login == 'admin') {

var pass = prompt('А пароль?', '');
if (pass == 'password') {
alert('Привет хозяин!')
}
}
if (login != 'admin') {
alert('Я вас не знаю!')
}
if (pass != 'password') {
alert('Неправильно')
}
Аноним 05/11/15 Чтв 22:27:08 #74 №574368 
>>574366
Не создавая переменные внутри условий. И избегай вложенных условий. Последуешь этим истинам — поймёшь в чем проблема.
Аноним 05/11/15 Чтв 22:30:00 #75 №574370 
>>574366
https://learn.javascript.ru/uibasic
Аноним 05/11/15 Чтв 22:36:50 #76 №574373 
>>574366
1. Потому что password = undefined. Переменная инициализирована на 4 строчке, но значение ей так и не присвоилось. Поэтому срабатывает твое условие (undefined != 'password') => true.
2. При нажатии на отмена prompt возвращает null.
var text = prompt();
if (text === null) {alert('нажали на отмена')};
Аноним 05/11/15 Чтв 22:49:40 #77 №574382 
>>574373
Зачем ты разжевываешь? Программирование — область где нужно уметь самому находить решения, достаточно только литературы с описанием как что работает. Разжевывая по деталям вопрос ты только усложняешь задачу, т.к. понимание не приходит.
Аноним 05/11/15 Чтв 23:17:38 #78 №574399 
>>574382
>Программирование — область где нужно уметь самому находить решения
Ой, бля, начинается.

Объясняя другим как работает код, пусть даже элементарный, я сам учусь. Учить других - учиться самому.
Аноним 05/11/15 Чтв 23:22:42 #79 №574402 
>>574399
ну в целом мысля норм, но немного не верная - объясняя что-либо другим ты просто упорядочиваешь (структурируешь) знания у себя в голове, что естественно хорошо и помогает в какой-то мере тебе самому, но ты не учишься в привычном понимании этого слова.
Аноним 05/11/15 Чтв 23:33:52 #80 №574409 
>>574368
в плане сначала задавать переменные, а потом уже писать разные условия про них?
var login = prompt('Логин?', '');
var pass = prompt('А пароль?', '');
if (login == 'admin') {
} else {
alert('Я вас не знаю')
}
if (pass == 'password') {
alert('Привет хозяин!')
} else {
alert('неправильно')
}
if (login === null) {
alert('нажали отмена')
}
всё равно не работает нихера, я не понимаю
как это переменная инициализирована, но значение ей не присвоено? ну в таком случае оно не присвоено и логину, разве нет? не вижу между ними разницы в прошлом коде
Аноним 06/11/15 Птн 00:24:08 #81 №574430 
анон, ломаю голову уже 3 час.

Суть:

Есть select, 4 варианта. Нужно чтобы при выборе варианта установки добавлялась стоимость (0, 999, 1499, 1999) к цене (4990, 5490, 5990), а затем, при выборе другого варианта установки цена возвращалась в исходное положение и плюсовалась уже новая. Т.е. сейчас я имею просто бесконечные плюсы и цену можно настакать хоть миллион, проверок никаких.

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

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

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

Да и стаж у меня небольшой, синтаксис хуево знаю.

https://jsfiddle.net/egm7kzg8/
Аноним 06/11/15 Птн 00:24:43 #82 №574431 
>пришел



>>574430
Аноним 06/11/15 Птн 00:25:34 #83 №574432 
>>574430
>чтоб при выборе значения

варианта, бля
Аноним 06/11/15 Птн 00:56:49 #84 №574441 
>>574432
https://jsfiddle.net/egm7kzg8/2/
Аноним 06/11/15 Птн 01:25:36 #85 №574450 
Есть тут опытные аноны, способные набросать внятный чеклист теоретических знаний и опыта, которые позволили бы претендовать на сферического миддла в вакууме в контексте фронт-энда? Был бы очень признателен, да и уверен, что много кому интересно.
Аноним 06/11/15 Птн 01:34:21 #86 №574454 
>>574450
поддвачну

Аноним 06/11/15 Птн 01:36:37 #87 №574455 
>>574441
немного не понял решение если его допиливать, зачем атрибут?
а если его не допиливать, то возвращает NaN.
Аноним 06/11/15 Птн 01:42:42 #88 №574458 
>>574455
все, разобрался. Теперь такой вопрос: а не правильно ли было с точки зрения правильности юзать data-* ?
Аноним 06/11/15 Птн 02:04:30 #89 №574466 
>>574450
https://github.com/h5bp/Front-end-Developer-Interview-Questions
Аноним 06/11/15 Птн 02:39:11 #90 №574474 
14467667515300.png
Привет.
Пишу тудушку на бэкбоне, и в дом попадает модель с дефолтными ключами, к которой определена коллекция.
Если не привязывать коллекцию, которая рендерится, к этой дефолтной модели (в которой еще и валидация), то функция submit не находит ключ title, который и был определен в модели.
Как заставить интерпретатор НЕ рендерить эту модель?
Или какой-другой есть способ?
Аноним 06/11/15 Птн 03:38:12 #91 №574484 
>>574474
Решилось сбросом коллекции через reset().
Отбой.
Аноним 06/11/15 Птн 10:16:34 #92 №574536 
>>574458
C data-* будет валиднее, да. Но сути не меняет. Хоть xuipizda его назови.
Аноним 06/11/15 Птн 10:21:21 #93 №574537 
>>574466
Видел, показалось устаревшим.
>fizzBuzz
>нет вопросов про es6
>нет вопросов по актуальным фреймворкам
>нет вопросов за алгоритмы и паттерны

Ну а так годно, конечно.
Аноним 06/11/15 Птн 10:36:15 #94 №574541 
Почему жс-ассеты добавляют в конце страницы, а не вначале?
Аноним 06/11/15 Птн 11:38:08 #95 №574558 
>>574541
В интернете об этом куча инфы, нет блядь, полезу на двощ, я ж тупой.
Аноним 06/11/15 Птн 12:10:22 #96 №574569 
14468010227950.jpg
Помогите ! В яваскрипте профан.
Когда ввожу в форму цифру, то число после запятой не записывается в базу данных, до запятой записывается, после нет.
В php проблем нет. В mysql перепробовал все типы данных

$(".inlineEdit").live("click", updatePrice);

function updatePrice() {
var save = '</br><a class="save"><img src="view/image/add.png" alt="<?php echo $button_save; ?>" title="<?php echo $button_save; ?>" /></a>&nbsp;';
var revert= '<a class="revert"><img src="view/image/delete.png" alt="<?php echo $button_cancel; ?>" title="<?php echo $button_cancel; ?>" /></a>'
$(this).after('<div class="editor"><input type="text" name="price" value="' + $(this).text() + '" size="30" />' + save + revert +'</div>');
$(this).hide();
$( this ).parent().find('input').focus();
};



$(".revert").live("click", function () {
$(this).parent().parent().find('.inlineEdit').show();
$(this).parent().parent().find('.editor').remove();
});

$(".save").live("click", function () {

var product_id = $(this).parent().parent().parent().find('input:checkbox').attr('value');
var price = $(this).parent().parent().find('input').val();
$.post('index.php?route=catalog/product/price&token=<?php echo $token; ?>', 'price=' + price + '&product_id=' + product_id);
$(this).parent().parent().find('.inlineEdit').text(price).show();
$(this).parent().parent().find('.editor').remove();

});
Аноним 06/11/15 Птн 12:44:10 #97 №574575 
Аноны, где вы учите ES6?
Аноним 06/11/15 Птн 13:30:31 #98 №574595 
>>574569
> $(this).parent().parent().parent().parent().parent().parent().parent().parent().parent().parent().parent().parent().parent().parent().parent().parent().attr('value');
Аноним 06/11/15 Птн 13:39:38 #99 №574600 
>>574595
И что это значит?
Аноним 06/11/15 Птн 13:42:13 #100 №574602 
Godno?
http://nodeschool.io
Аноним 06/11/15 Птн 13:42:23 #101 №574603 
>>574600
это значит что ты пидор
Аноним 06/11/15 Птн 13:42:35 #102 №574604 
>>574600
Пиши нормальный код, пидор.
Аноним 06/11/15 Птн 13:43:43 #103 №574605 
>>574604
>>574603
Как будто это мой код, лучше скажите как его исправить
Аноним 06/11/15 Птн 13:57:18 #104 №574608 
>>574605
Что в переменной price?
Аноним 06/11/15 Птн 13:59:12 #105 №574609 
>>574608
Цена - число с плавающей запятой например 10.00
Аноним 06/11/15 Птн 14:01:44 #106 №574610 
>>574609
А какое число приходит на сервер?
Аноним 06/11/15 Птн 14:06:36 #107 №574611 
>>574610
если я вожу 10.50 то приходит 10.00, если 11,50 то 11.00
если у меня уже стоит например 11.54 то меняя его через яваскрипт на 13.54 то оно становиться 13.00
Аноним 06/11/15 Птн 14:10:39 #108 №574613 
>>574611
Ну где-то же оно округляется.
Если не на клиенте, то на сервере. Ты до вставки в базу число смотрел?
Аноним 06/11/15 Птн 14:15:46 #109 №574615 
14468085461560.png
>>574613
да, в базе число дробное, пока не поменяешь через форму и если я вставляю через PHP срипт то число сохраняет так как надо.
Может проблема в jquery.
Аноним 06/11/15 Птн 14:18:28 #110 №574616 
>>574615
Так посмотри какое число в price и какое приходит на скрипт, именно на скрипт, а не в базу.
Именно выведи, а не думай о том, что там должно быть.
Аноним 06/11/15 Птн 14:20:32 #111 №574619 
>>574616
Как это посмотреть? я в javascripte мало что понимаю
Если я меняю число и нажму кнопку save то оно будет показывать с дробью пока не обновлю страницу
Аноним 06/11/15 Птн 14:24:10 #112 №574621 
>>574619
После
> var price = $(this).parent().parent().find('input').val();
Вставь
> console.log('price ' + price);
Число появится в консоли.
Аноним 06/11/15 Птн 14:31:06 #113 №574622 
14468094667770.png
>>574621
число в консоли показывается дробное, но как только обновлю страницу оно становиться целым
Аноним 06/11/15 Птн 14:32:18 #114 №574623 
>>574621
Как увидеть что отправляет яваскрипт в бузе данных?
Аноним 06/11/15 Птн 14:32:50 #115 №574624 
>>574623
>базу
fix
Аноним 06/11/15 Птн 14:32:59 #116 №574626 
>>574622
А на скрипт какое число приходит? Не в базу, а на сам скрипт.
Аноним 06/11/15 Птн 14:35:09 #117 №574627 
>>574623
На вкладке network же.
Аноним 06/11/15 Птн 14:38:13 #118 №574629 
>>574627
я давал здесь ответ что в нетворке
>>574615
Мetod - POST
type - xhr
Аноним 06/11/15 Птн 14:41:45 #119 №574633 
>>574575
лучший (имхо) цикл статей https://ponyfoo.com/articles/tagged/es6-in-depth

для справки http://es6-features.org/ или на сайте бабеля можно подглядывать.
Аноним 06/11/15 Птн 14:43:38 #120 №574635 
>>574626
Дробное, в базе оно дробное, через ПХП оно дробное, в консоле оно дробное.
Но если меняешь через форму явасрипта и потом обновляешь, оно округляется. Притом не округляться в большую или меньшую сторону. А просто удаляет все числа после запятой.
Я менял тип данных в базе, не помогло
Аноним 06/11/15 Птн 15:12:47 #121 №574655 
>>574635
Жс отправляет данные на скрипт, он не может взаимодействовать с базой.
Аноним 06/11/15 Птн 15:13:32 #122 №574656 
>>574635
Посмотри в сторону потери точности. В js такое бывает, 0.1 + 0.2 > 0.3 же
Мимокрок, нихуя не читал толком
Аноним 06/11/15 Птн 15:17:43 #123 №574660 
>>574635
А тепер посмотрел твой код (ну даж если не ты писал). Бля, не извращайся, пиши заново и нормально, я тебя прошу, какого ты вообще творишь блядь. Это не поддерживаемый нихуя код. Такое заново пишется, при том обычно долбоебами которые пишут не особо лучше, а просто через другие костыли и велосипеды. И их код потом переписывают другие долбоебы, которые тоже нихуя не понимают что там происходит. Круговорот кода ебты.
>>574656 - кун
Аноним 06/11/15 Птн 15:21:15 #124 №574662 
14468124758550.jpg
>>574660
Спасибо, бро
Аноним 06/11/15 Птн 16:07:58 #125 №574696 
>>574595
Твою мать! И бабушку. И прабабушку...
Аноним 06/11/15 Птн 16:13:59 #126 №574698 
>>574619
>Как это посмотреть?
<script>
console.log(<? echo $foo; ?>);
</script>
Аноним 06/11/15 Птн 16:16:12 #127 №574701 
>>574698
> <? ?>
Сдохни, мразь!
Аноним 06/11/15 Птн 16:22:20 #128 №574704 
>>574701
Что нагуглил то пощу. Лучи поноса высылайте по адресу http://stackoverflow.com/a/21586930/3553711
Аноним 06/11/15 Птн 16:27:21 #129 №574706 
>>574701
Схуяли это?
Аноним 06/11/15 Птн 16:27:49 #130 №574707 
>>574706
>2015
>этот язык
Аноним 06/11/15 Птн 16:29:29 #131 №574709 
>>574707
Какой? Пыха?
Ну так пока "специалисты" по пыхе не вымрут, не вымрет и пыха, и сайты на ней. Тут уж ничего не поделать.
Аноним 06/11/15 Птн 16:30:20 #132 №574712 
>>574709
Переходи на нод. Оставьте этот труп. Пускай в историю уйдет.
Аноним 06/11/15 Птн 16:34:08 #133 №574719 
>>574712
Я-то на ноде. А вот почему тот анон не может на ноду перейти я понимаю.
Работы на ноде не так много, на фрилансе вообще нет, зп не сильно отличается, но уровень знаний нужен гораздо выше. У ноды более высокий порог вхождения, как никак.
Аноним 06/11/15 Птн 16:36:31 #134 №574722 
>>574719
Но писать на ноде, это как петь песню. Надо хоть немного себя уважать.
Аноним 06/11/15 Птн 16:38:15 #135 №574723 
>>574722
> Но писать на ноде, это как петь песню.
Ну если ты опытный программист, то да. Если нет - ты будешь сильно страдать от колбэков и проклинать жс.
Аноним 06/11/15 Птн 20:58:24 #136 №574908 
>>574719
А перед тем, как изучать ноду, нужно только ваниль хорошо знать или что-то еще?
Аноним 06/11/15 Птн 21:04:19 #137 №574912 
>>574908
И вообще поясните чем занимаются в среднем следущие персонажи:
1. html-верстальщик
2. front-end-разработчик
3. JavaScript-программист
4. Web-программист
Все эти вакансии встречаю в том или ином виде и везде примерно одни и те же требования. Разве что у ВЕБ-погромиста могут быть как руби на рельсах, так и пыха и все это с html js node и до бесконечности (а зарплата та же, что и у предыдущих трех, лол).
Аноним 06/11/15 Птн 21:13:51 #138 №574923 
>>574908
Нода это серверная технология, надо знать основы построения серверов и баз данных.

>>574912
1. не нужны
2. 3. Верстает, пишет клиентскую логику.
4. Фулл стак разработчик (клиент+бекенд), чаще всего пхп макака, которая нихуя не знает.
Аноним 06/11/15 Птн 21:36:20 #139 №574952 
>>574912
http://www.frontendhandbook.com/practice/types-of-front-end-dev.html
Аноним 06/11/15 Птн 21:45:50 #140 №574957 
>>574912
Я как-то вообще на вот такое вот натыкался:

Сейчас нам требуется верстальщик со знанием PHP, MySQL для создания полноценно «самописного» сайта (с использованием библиотек) и умением быстро вносить правки в алгоритмы запросов работы MySQL – будет создаваться сайт с регулярным добавлением текстовых, фото и видео материалов. Проект будет меняться, со временем будет необходимо изменять расположение блоков
Обязанности:
Верстка корпоративного сайта с резиново-адаптивным дизайном
Подключение сайта к БД, вывод контента из БД по определенным алгоритмам
Создание CMS для добавления контента в раздел статьи и отзывы
Исправление технических и seo-ошибок сайтов (htaccess‚ robots.txt‚ дубликаты страниц‚ и т.п.)
Участие в прочих web-проектах‚ поддержка других сайтов компании (на WordPress/Joomla)
Регистрация доменов
Размещение сайтов на хостингах
Внутренняя оптимизация сайта: перелинковка, проработка навигации и т.д.
Аноним 06/11/15 Птн 22:13:44 #141 №574983 
Как КРЯКНУТЬ БЕСПЛАТНО БЕЗ СМС одиннадцатый вебшторм?
Аноним 06/11/15 Птн 22:43:37 #142 №574997 
>>574983
Зажал 49 баксов?
Аноним 06/11/15 Птн 22:45:43 #143 №574999 
>>574983
На рутрекере десятка есть. Что в одинадцатой нового?
Аноним 06/11/15 Птн 22:46:37 #144 №575001 
>>574957
От этого прямо смердит моей прошлой работой. Пиздец. Хотя и плюсы определенные есть.
Аноним 06/11/15 Птн 23:42:49 #145 №575042 
>>574983
СИДИШЬ НА EAP'АХ
@
В EAP-ВЕРСИЯХ НИ ОДНОГО ВЫЛEТА ЗА ВСЁ ВРЕМЯ
@
НИЧЕГО НЕ ПЛАТИШЬ И РАБОТАЕШЬ
@
ПОШЕЛ ТРЕТИЙ ГОД
Аноним 07/11/15 Суб 00:22:42 #146 №575059 
>>575042
Пиздаболита, у них даже стабильные релизы забагованы, нужно выжидать пару месяцев перед обновлением.
Аноним 07/11/15 Суб 00:53:03 #147 №575074 
14468467838400.png
>>575059
К тому же, новый жрёт на 100 метров больше старого.
Аноним 07/11/15 Суб 01:10:36 #148 №575078 
14468478362110.jpg
>>575074
> *32
Аноним 07/11/15 Суб 01:59:48 #149 №575092 
>>575074
Аргументы в пользу 64?
Аноним 07/11/15 Суб 02:00:08 #150 №575093 
>>575092
>>575078

Аноним 07/11/15 Суб 09:20:32 #151 №575136 
>>575092
Почему у тебя винда 64-битная?
Аноним 07/11/15 Суб 09:26:48 #152 №575140 
14468776085560.png
>>575092
Аргументы в пользу 32?
Аноним 07/11/15 Суб 09:34:11 #153 №575144 
>>575140
Не могу развидеть слово на пике, хелп
Аноним 07/11/15 Суб 10:09:57 #154 №575153 
>>575136
Ты бы ещё спросил, зачем нужно больше 4 гб оперативки.
Аноним 07/11/15 Суб 10:12:52 #155 №575157 
>>575153
Действительно зачем
Аноним 07/11/15 Суб 10:15:25 #156 №575159 
>>575157
А зачем тебе 4Гб? 640Кб хватает на все же.
Аноним 07/11/15 Суб 10:33:53 #157 №575163 
>>575153
Тогда почему шторм не 64-битный?
Аноним 07/11/15 Суб 10:48:16 #158 №575169 
>>575163
А он такой есть?

>>575159
Не будь в этом мире ебаных жээсов с жавами и дотнетами, хватало бы, и сборщик мусора не ронял бы систему на пол дня.
Аноним 07/11/15 Суб 11:20:14 #159 №575181 
>>575169
>Не будь в этом мире ебаных жээсов с жавами и дотнетами, хватало бы, и сборщик мусора не ронял бы систему на пол дня.
Ловите дурачка. Будет хватать, если будешь сидеть в черной консоли в реальном режиме на каком-нибудь дос-е. 640Кб и близко не хватит на то, чтобы отобразить на твоем мониторе твое любимое гейпорно, например, со скольно-нибудь приемлемым разрешением и цветопередачей. Шторм говнище еще то, но даже там имея оперативку можно сделать рамдиск/tmpfs под индекс и не сидеть как даун ожидая переиндексации на hdd после каждого чиха системы контроля версий. Виртуальные машины или контейнерную виртуализацию мы не используем, среда разработки не сложнее блокнота, производительность рабочего процесса не нужно оптимизировать для laba1.cpp, действительно, для чего нам больше 640Кб.
Аноним 07/11/15 Суб 11:20:18 #160 №575182 
>>575169
> в этом мире ебаных жээсов с жавами и дотнетами
Что это за мир такой, лол? Как туда жс вообще вписался?
Аноним 07/11/15 Суб 11:36:11 #161 №575192 
Анон, я в в jQuery добавляю много div в мой документ.
Возможно в jQuery внести правку в CSS класс, не привязываясь ни к чему?

имею в виду: не делая

$('div .myclass').width(function).height(function)

тем самым пидоряся каждый существующий div, что я добавил, с этим классом (а их у меня 64^2)

а сперва внести поправку в .myclass, и потом уже чтоб все div, что добавляются имели этот класс (интересуют только размеры).
Аноним 07/11/15 Суб 11:46:50 #162 №575196 
>>573459
Новый стандарт гораздо сложнее старого, и не сказать, что в нём появилось что-то, без чего жить нельзя. Так что я бы на него не переходил, пока не разобрался с ES5 и не написал пару десятков модулей.
Аноним 07/11/15 Суб 12:04:09 #163 №575200 
>>574957
>как-то
Каждая вторая "вакансия". Ойти-отдел в среднем состоит из такого вот "веб-программиста" и одмина-эникея уровня башорка.
Аноним 07/11/15 Суб 12:07:42 #164 №575203 
>>575192
>Возможно в jQuery внести правку в CSS класс
Пишешь <style> жкверей в документ, меняешь его там же.
А что ты пытаешься сделать что тебе надо динамически менять размеры?
Аноним 07/11/15 Суб 13:51:54 #165 №575258 
>>575203
> <style> жкверей в документ
можно подробнее? я ньюфаговат

> А что ты пытаешься сделать
у меня есть поле 960х960, и мне нужно забить его ячейками (div). Пользователь задает количество ячеек в строке. Соответственно, чем больше ячеек, тем меньше должен быть размер одной. И я каждый раз функцией считаю размер ячеек, и вношу изменения в класс
.cell

Аноним 07/11/15 Суб 13:51:54 #166 №575259 
>>575136
Потому, что нужно больше памяти и некоторый софт не собирается под 32.

>>575163
Не заметил разницы, он одинаково тормозной в обоих вариантах, так зачем платить больше?
Аноним 07/11/15 Суб 13:56:08 #167 №575263 
>>575258
>у меня есть поле 960х960, и мне нужно забить его ячейками (div). Пользователь задает количество ячеек в строке. Соответственно, чем больше ячеек, тем меньше должен быть размер одной.
Звучит как таблица, почему бы ее такой и не сделать? Там тебе браузер сам все рассчитает.
Аноним 07/11/15 Суб 14:05:16 #168 №575270 
>>575263
хочу так. потом, может, попробую таблицами. в задании писало, что можно разными способами запилить. решил попробовать этим, так как в таблицы не лазил пока.
Аноним 07/11/15 Суб 15:33:21 #169 №575335 
>>575192
>>575203
>>575263
оказалось, что браузер пидорасило, потому-что я размер ячейки считал функцией.
когда я сделал это просто переменной, все заработало намного быстрее.
Даже не думал, что обращение к функции так много ресурсов жрет.
Аноним 07/11/15 Суб 15:58:01 #170 №575358 
>>575270
>в таблицы не лазил пока
Да ты прямо эталонный программист на жквери, или тролль зеленый. Пиздуй учить хтмл, потом цсс, потом ванильный жаваскрипт.
Аноним 07/11/15 Суб 16:30:15 #171 №575392 
>>575358
ВАСЯН С 9Б ГРИЛ ЧТО ТЕПЕРЬ ВСЕ БУИТ ФЛЕКС И ТАБЛИЦЫ НИНУЖНЫ КАРОЧ
Аноним 07/11/15 Суб 21:25:14 #172 №575543 
>>575335
Хуя ты дебил. Ты уверен что js это то с чего тебе стоило бы начинать?
Аноним 07/11/15 Суб 21:48:48 #173 №575561 
14469221286470.jpg
>>575543
Запилил пример с динамически устанавливаемой шириной у дивов.
http://codepen.io/anon/pen/jbeBKZ
Жить можно, конечно, но лучше сделать это же на таблицах или блоках с display:table-cell и display:table-row, как предложил этот анон >>575263, чтобы не городить всю эту магию на JS.
Аноним 07/11/15 Суб 21:51:37 #174 №575563 
Это >>575561 вот сюда >>575258
Аноним 07/11/15 Суб 22:21:34 #175 №575586 
>>575561
>с динамически устанавливаемой шириной у дивов

Ничего не понимаю… И это программисты. Говно какое-то, пидоры, блядь. Бернес-Ли им дал таблицы — используй! Используй таблицы, блядь! Не хочу, хочу жрать говно! Что такое? Это web development? Это web development? Суки, мудачьё — программисты. JQuery загрузили, говно жрут — пидоры, блядь, ёбаные…

http://codepen.io/anon/pen/VvEbam?editors=001
Аноним 08/11/15 Вск 00:26:10 #176 №575660 
>>575586
Таблицы твои устаревшее говно для пидоров.
Нормальные пацаны такое на флексбоксе делают.
Аноним 08/11/15 Вск 01:14:35 #177 №575687 
Палю годноту. Особенно для серверных разрабов.
http://habrahabr.ru/company/plarium/blog/270353/
Аноним 08/11/15 Вск 04:05:32 #178 №575748 
14469447329000.jpg
Ребяты, а что такого по ООП прочитать посоветуете? На леарн.яваскрипт уже читал. Желательно на русском да, да 2015 не знать ангельский и все такое
Аноним 08/11/15 Вск 04:26:30 #179 №575753 
>>575748
Во первых, скинь ссылку на конкретные уроки на l.js.ru, буду благодарен. Во вторых, на ES6 есть классический ООП, т е классы, обьекты, ПОЛИМОРФИЗМИНКАПСУЛЯЦИЯНАСЛЕДОВАНИЕ. То есть, можешь почитать про ООП в любом языке, он одинаков, различается только синтаксис. Правда если ты не в геймдеве работаешь, то понадобится это только на собеседовании.
Аноним 08/11/15 Вск 04:42:27 #180 №575755 
>>575753

Я JS учу после html\css, так что пока про ООП не знаю.
Конкретные уроки? Вот это читал. https://learn.javascript.ru/prototypes
Сейчас ковыряю статью на хабре. Думал еще чего подкинете.
Аноним 08/11/15 Вск 09:41:20 #181 №575796 
>>575753
>ООП
>понадобится это только на собеседовании
охуел пидор дезинформировать людей?
Аноним 08/11/15 Вск 11:03:07 #182 №575820 
>>575660
Твои флекбоксы хуйня для хипстеров.
Аноним 08/11/15 Вск 11:11:12 #183 №575824 
>>575820
Флексбоксы таки полезны для вертикального выравнивания динамически изменяющихся элементов. Но в его случае да, это тот ещё костыль.
Аноним 08/11/15 Вск 11:35:13 #184 №575849 
>>575660
Ну спасибо, выучили, что "ПЛОХА РАЗМЕЧАТЬ СТРАНИЦУ С ПОМОЩЬЮ ТАБЛИЦ, ВАСЯН ИЗ 7В НИРИКАМЕНДУЕТ", а от чего тогда поступать наоборот и размечать таблицы как страницы это дохрена хорошо?
Если необходима таблица, чего бы не разметить ее табличными тегами, а после пердолить стили как нужно, где нужно и если нужно. Нет, не хотим таблицу для таблиц, хотим кашу из дивов.
Аноним 08/11/15 Вск 11:46:48 #185 №575860 
Это тред про JS, верстальщики съебите нахуй.
Аноним 08/11/15 Вск 11:56:55 #186 №575865 
>>575860
Сам уебывай. JS дает широчайшие возможности работы от серверного бекэнда до клиентского фронтенда. Самоизоляция от смежных областей, с которыми придется при этом сталкиваться ничего хорошего не даст. В интересах разработчика избегать изобретения костылей и велосипедов для заведомо не оптимальных решений.
sageАноним 08/11/15 Вск 11:58:23 #187 №575867 
>>575860
>это тред про язык для описания юзер интерфейса
>верстальщики съебите нахуй
.
Аноним 08/11/15 Вск 12:14:31 #188 №575882 
>>575865
> JS дает широчайшие возможности работы от серверного бекэнда до клиентского фронтенда.
Это не значит, что обсуждениям тонкостей PostgreSQL, Android API, HTTP 2.0, ардуино или CSS4 место в этом треде. Никто первые четыре темы здесь и не обсуждает (разве что с позиции интеграции с JS), но почему-то многие считают, что CSS и JS неотделимы друг от друга, и в теме про JS правильно обсуждать Flexbox. Нулевые кончились: и JS фронтендом не ограничивается, и CSS можно использовать с другими языками. CSS+HTML — отдельная область, она заслуживает отдельного треда.

>>575867
> язык для описания юзер интерфейса
> используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования
Аноним 08/11/15 Вск 12:18:31 #189 №575885 
>>575882
Ваши жабаскриптчики аж до пхп треда добрались, заберите их пожалуйста с их задачками.
Аноним 08/11/15 Вск 12:20:37 #190 №575886 
>>575748
https://davidwalsh.name/javascript-objects
https://davidwalsh.name/javascript-objects-distractions
https://davidwalsh.name/javascript-objects-deconstruction
учи английский

>>575753
> Во вторых, на ES6 есть классический ООП, т е классы, обьекты, ПОЛИМОРФИЗМИНКАПСУЛЯЦИЯНАСЛЕДОВАНИЕ.
Нихуя он не классический, те же прототипы.
Аноним 08/11/15 Вск 14:01:00 #191 №575947 
14469804609120.png
14469804609121.png
14469804609122.png
Репост из php-треда. Пишет кто-нибудь в Атоме? У меня нубский вопрос, но немогу нагуглить. У меня со сниппетами проблема. На 1-м пике, то что я пишу. Далее я нажимаю TAB и получаю хуйню на втором пике. А хочу, чтобы было как на пике 3. Т.е. не хочу разворачивать снипет для else, а перейти сразу в тело функции.
Аноним 08/11/15 Вск 14:03:55 #192 №575951 
>>575882
>Это не значит, что обсуждениям тонкостей PostgreSQL, Android API, HTTP 2.0, ардуино или CSS4 место в этом треде
Это потому что ты так сказал? И что соизволите разрешить нам обсуждать? Голую спецификацию? Какой в этом смысл?
>Нулевые кончились: и JS фронтендом не ограничивается, и CSS можно использовать с другими языками
Ну и я об этом написал, и что? "Сферический погромист на js", который вызубрил все ES-спецификации, но представления не имеет, что и зачем он что-то делает. Ты это пытаешься здесь описать? Кому такой калека нужен?
Ты не можешь заниматься разработкой и не иметь представления об области, для которой работаешь.

>>575886
>Нихуя он не классический, те же прототипы.
Кстати да, после прочтения спецификации, то же, что и раньше с синтаксическим сахаром и парой твиков.
Чего так все на ключевые слова class extends надрачивают? Потому что у одноклассника пэхопэшника они есть, а теперь и мы будем КАК ВЗРОСЛЫЕ С КЛАССАМИ И ООП?
sageАноним 08/11/15 Вск 14:17:58 #193 №575957 
>>575882
>используется в браузере
Для пользователя - отлично, пока очередной эксплойт не запилят.

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

>на десктопе
>на серверах
Говно лагающее хуже жвм. Особенно весело поддерживать эту ебаную лапшу из коллбеков.
Аноним 08/11/15 Вск 14:45:47 #194 №575971 
>>575849
>>575820
>>575824
Флексбокс - это будущее интернета, быдланы. Он заменяет и таблицы, и дивы.
Аноним 08/11/15 Вск 14:48:46 #195 №575973 
>>575971
>Флексбокс
>заменяет дивы
Даже не знаю что тут и сказать, похоже мы имеем дело с полным дененератом
Аноним 08/11/15 Вск 14:50:57 #196 №575975 
>>575973
Почему не заменяет?
Аноним 08/11/15 Вск 14:55:24 #197 №575976 
>>575975
чему будешь задавать свойство display: flex? Пустоте?
Аноним 08/11/15 Вск 14:56:42 #198 №575977 
>>575753
> на ES6 есть классический ООП, т е классы, обьекты, ПОЛИМОРФИЗМИНКАПСУЛЯЦИЯНАСЛЕДОВАНИЕ
Хорош заливать-то. Кроме наследования, нет там ни полиморфизма, ни инкапсуляции.
В js инкапсуляция не ООП-шная, а функциональная, благодаря замыканиям.
С полиморфизмом вообще все плохо, потому что все плохо с типами.
Аноним 08/11/15 Вск 14:57:30 #199 №575978 
>>575947
Так нахрена ты таб на else-то жмёшь тогда? Стрелку вниз нажать не?
Аноним 08/11/15 Вск 14:58:05 #200 №575979 
>>575753
> ООП в любом языке, он одинаков, различается только синтаксис
Это вообще пушка. В js есть лямбды, в java статическая типизация, хуй там ООП одинаковый.
sageАноним 08/11/15 Вск 14:59:15 #201 №575980 
>>572953 (OP)
>2015
>JS
ебать говноеды
Аноним 08/11/15 Вск 14:59:17 #202 №575981 
>>575977
Дак-тайпинг и есть полиморфизм, не?
Аноним 08/11/15 Вск 15:13:18 #203 №575991 
>>575951
>Это потому что ты так сказал? И что соизволите разрешить нам обсуждать? Голую спецификацию?
Можно обсуждать веб API, ноду, модули и фреймворки, новое в ES7 и будущее языка, CommonJS vs. ES6 modules, React vs. Hyperscript, минималистичные js-движки для ембедед, типизацию в JS, канвас и вебгл, конференции и книги по JS.
Аноним 08/11/15 Вск 15:16:05 #204 №575993 
>>575957
>ненативным
NativeScript и WinJs позволяет нативно исполнять код.
>лагающее
Опять обосрался. Нода быстрее других серверных языков.
>лапшу из коллбеков.
Её давно уже нет. Код пишут цепочками либо монадами, колбеки в старом варианте почти не используются.

Ты совершенно не понимаешь о чем говоришь и повторяешь мантры 2008 года.
Аноним 08/11/15 Вск 15:17:16 #205 №575994 
>>575980
>2015
>не JS
Ох лол!
Аноним 08/11/15 Вск 15:27:15 #206 №576005 
>>575957
Поддержу >>575993.
Лапша из колбеков - симптом плохого программиста, а не плохого языка.
https://youtu.be/oeKkwZhKgP0
sageАноним 08/11/15 Вск 15:28:53 #207 №576008 
>>575993
>Опять обосрался. Нода быстрее других серверных языков.
Если сравнивать со скриптопарашей - быстрее, но сравнивать его надо с компилируемыми языками.
Даже явка с байткодом поёбывает:
https://benchmarksgame.alioth.debian.org/u64q/javascript.html
Какой нибудь хипстерский го вообще в жопу выебет.
sageАноним 08/11/15 Вск 15:30:18 #208 №576010 
>>575993
> Нода быстрее других серверных языков.
пруф?
Аноним 08/11/15 Вск 15:36:24 #209 №576018 
>>576008
>сравнивать его надо с компилируемыми языками
Зачем? У них разные выразительные возможности. Да, C (или Go, или Java) быстрее JavaScript, но то что ты на С будешь писать неделю, я на JS напишу за один день. Стандартный tradeof run-time / development time.
Аноним 08/11/15 Вск 15:47:16 #210 №576029 
>>576008
>regex-dna
>JavaScript V8 - 3.44
>Java - 8.24
Извини, но для серверного программирования таки скорость работы регулярок несоизмерима важнее пердолинга каких-то молекулярных форматов или структур данных, нехарактерных для языка.
Аноним 08/11/15 Вск 15:50:51 #211 №576036 
>>576018
>У них разные выразительные возможности.
Что можно выразить в JS, но нельзя в джаве?
>но то что ты на С будешь писать неделю, я на JS напишу за один день
Но всё, что пишется более, чем неделю, на скриптоговне, понятное дело, уже никто не пишет.
Аноним 08/11/15 Вск 15:50:52 #212 №576037 
>>576029
> скорость работы регулярок
> regex-dna
> regex
sageАноним 08/11/15 Вск 15:51:30 #213 №576039 
>>576018
Что я на C буду неделю писать? Прокладку между юзером и бд? Погугли веб фраемворки на ц чтоле, раз такая пьянка зашла. Попробуй на го пописать, если серьёзно ставишь его в один ряд с явой и ц по скорости разработки.

>>576018
>Зачем? У них разные выразительные возможности.
Зачем сравнивать скорость php и c++? У них же разные выразительные возможности.
Аноним 08/11/15 Вск 15:55:58 #214 №576048 
>>576037
Ну да их самых, регулярных выражений.
https://benchmarksgame.alioth.debian.org/u64q/regexdna-description.html#regexdna
>use the same simple regex pattern
Аноним 08/11/15 Вск 16:06:04 #215 №576056 
>>575978
Ну я в саблайме, когда параметр функции написал, жму таб и он переходит внутрь функции. А здесь я параметр написал и он разворачивает его в else и потом табом внутрь функции я уже не попаду.
Аноним 08/11/15 Вск 16:14:13 #216 №576067 
14469884534560.png
>>576008

Да там один бенчмарк охренительнее другого просто. И на основе этих высеров вы о чем-то судить беретесь?
sageАноним 08/11/15 Вск 16:34:15 #217 №576079 
>>576067
Исходники доступны, неточности укажешь?
Аноним 08/11/15 Вск 16:41:33 #218 №576086 
Опять жавадебилы набежали. И чего им у себя не сидится?
Аноним 08/11/15 Вск 16:50:49 #219 №576093 
>>575976
Спану
Аноним 08/11/15 Вск 16:58:24 #220 №576099 
>>576008>>576067
>1% 100% 0% 1%
О какой производительности-то может вообще речь идти. Только регеэксы и остаётся парсить, да.
Аноним 08/11/15 Вск 18:16:41 #221 №576179 
>>576079
Зачем ты ко мне с сажей пишешь, если хочешь услышать ответ?
http://pastebin.com/QPqDPbCj
В конструкторе на строке 15 задается
>this.maskLeft = len <= 12 ? 0 : Math.pow(2, (len - 12) 2) - 1;
где len длина последовательности.
Далее при создании объектов на строках 91-97 используются значения len 1, 2, 3, 4, 6, 12, 18.
Другими словами значение
>this.maskLeft
Будет отличным от нуля только в одном случае из 7.
Теперь смотрим на строку 23.
>this.uintLeft = (this.uintLeft << 2 | this.uintRight >>> 22) & this.maskLeft;
В 6 случаях из 7 это выражение будет оканчиваться на побитовое И с нулем, другими словами гоняться впустую.
Что происходит на строках 154-160 при вызове incWithToken*. На каждый долбанный символ в строке они запускают этот высер.
Этот код костыльно-велосипедное говно, написанное жопорукими дебилами. И этот пример только первое, что бросилось в глаза. Своими никому не нужными вычислительными манипуляциями создали ботлнек по процу и рады.
Аноним 08/11/15 Вск 20:32:48 #222 №576328 
>>576056
Ну так е жми там в атоме, ёпт. Или убери автодополнение при наборе лишь одонго символа. Или пользуйся саблаймом.
Аноним 08/11/15 Вск 20:50:19 #223 №576353 
>>576093
охуенная семантическая верстка получится
Аноним 09/11/15 Пнд 00:22:23 #224 №576513 
>>576328
>Ну так е жми там в атоме
Так не получается. Можно ESC нажать, тогда окошко с автодополнением уберется, но в тело функции по табу уже не перейти. В репозитории атома issue висит, что сниппеты крайне примитивно реализованны и походу с этим пока ничего не поделать. Короче, ебал я в рот этот атом.
Аноним 09/11/15 Пнд 01:30:41 #225 №576548 
Поясните, у меня вот есть переменная videoIsShown, которая изначально = false.

Есть две функции jQuery:
1) одна по клику на кнопочку PLAY делает всякие штуки, если videoIsShown = false, и, что более важно - ставит videoIsShown = true и должна выводить div с видосиком на экран.
2) вторая по клику на $(document) и при условии, что клик был по элементу, который не является div-ом с видосиком и videoIsShown = false всё должна убирать к херам.

Почему при клике на кнопочку PLAY у меня выполняются обе функции? При клике на неё у меня videoIsShown остаётся false. Как тогда реализовать эту срань?
Аноним 09/11/15 Пнд 01:31:51 #226 №576550 
>>576548
То есть я понимаю, что оба клика обрабатываются поочередно и это нормально - но как этого избежать?
Аноним 09/11/15 Пнд 02:02:33 #227 №576564 
>>576548
> Почему при клике на кнопочку PLAY у меня выполняются обе функции?
Потому что висит два обработчика.
Должно быть достаточно сделать `event.stopPropagation()` на кнопочке.
Аноним 09/11/15 Пнд 04:16:37 #228 №576592 
>>576513
>Так не получается.
Имелось в виду "не жми таб".
Аноним 09/11/15 Пнд 11:42:09 #229 №576687 
В записи
if ('GET' != req.method)
есть какой-нибудь тайный смысл? По мне так
if (req.method != 'GET')
читается лучше.
Аноним 09/11/15 Пнд 13:36:04 #230 №576734 
>>576687
Вероятно, болезнь Сишника, у которых можно опечататся и вместо проверки присвоить переменной значение, написав if (x = y). Строка же значение не присвоить.
Аноним 09/11/15 Пнд 14:04:22 #231 №576750 
>>576734
Ужас ты рассказываешь.
sageАноним 09/11/15 Пнд 14:27:25 #232 №576768 
>>576734
Это детектор пхпдауна, болезненный ты наш.
Аноним 09/11/15 Пнд 15:57:40 #233 №576819 
Привет. Пишу приложение на node+express. Встал вопрос юнит тестов. В чем суть: мне нужно тестировать REST-методы, для которых уже подключена авторизация через passport.js (passport-google, passport-twitter). Так вот, хороших гайдов я не нашел (может гуглил жопой), поэтому спрашиваю совета - вдруг кто-то уже таким занимался. Желательно с описанием как эти все юнит тесты к проекту подключить.
Аноним 09/11/15 Пнд 16:00:15 #234 №576823 
>>576819
Бампану. От себя: мне кажется юнит тесты нужны, когда ты в проекте работаешь.
Аноним 09/11/15 Пнд 16:19:58 #235 №576831 
>>576819
В смысле уже подключена авторизация? Пока не авторизуешься, не подергаешь?

Вариант 1, простой, - мокай авторизацию и не еби мозг.

Вариант 2, интермедиэйт - phantomjs или что-то такое и аккаунт для опытов.
Аноним 09/11/15 Пнд 16:23:24 #236 №576834 
>>576831
Ага, авторизацию я подключил сразу, а подумал потом. Ну и первый вариант тут наверное проще и прятнее будет. Спасибо.
Аноним 09/11/15 Пнд 16:26:01 #237 №576836 
>>576834
Да не за что. Второй вариант на самом деле шибко советую, с end-to-end тестированием жизнь становится гораздо лучше.
Аноним 09/11/15 Пнд 17:30:39 #238 №576888 
Что вы думаете об этом?

http://electron.atom.io/
Аноним 09/11/15 Пнд 17:34:01 #239 №576891 
>>576888
Чем лучше nw.js? Автоапдейтер у кого круче?

А вообще, шо то хуйня, шо это, обе такие хуйни, шо я ебал, тормоза, косяки, все течет, падает и полный пиздец.

Будет реакт натив для десктопов - будет заебок.
Аноним 09/11/15 Пнд 18:16:57 #240 №576914 
>>576353
Будто бы дивы семантичные
Аноним 09/11/15 Пнд 19:03:29 #241 №576945 
А посоветуйте книжку по четвертому экспрессу.
Аноним 09/11/15 Пнд 19:05:32 #242 №576947 
>>576945
>книжку
>по экспрессу
Аноним 09/11/15 Пнд 19:20:35 #243 №576958 
>>576945
Express in action
Аноним 09/11/15 Пнд 19:47:50 #244 №576980 
С каких пор fadeOut() не работает на fixed-элементах?
Аноним 09/11/15 Пнд 19:49:52 #245 №576983 
>>576980
Я тупой просто, вопрос снят.
Аноним 09/11/15 Пнд 19:56:11 #246 №576989 
>>576958
Машина времени прилагается?
Аноним 09/11/15 Пнд 20:03:32 #247 №576995 
>>576958
Ты ебанутый? Обновки выходят чаще, чем ты книгу успеешь написать и издать, даже если это ебук. Программа тудулист - твитор - бложек -магазин - залупа - сыр работает всегда и работает четко.
Аноним 09/11/15 Пнд 20:04:25 #248 №576996 
В требованиях к вакансиям пишут "опыт участия в разработке open-source проекта".
Друзья, а где блядь находить эти самые годные open source проекты?
Аноним 09/11/15 Пнд 20:15:55 #249 №577007 
>>576996
site://github.com zaloopa syr
Аноним 10/11/15 Втр 00:51:52 #250 №577290 
>>576996
https://github.com/showcases/search?q=javascript
Еще в требованях пишут "способность самостоятельно находить информацию"
Аноним 10/11/15 Втр 01:04:17 #251 №577299 
>>576996

Это значит что чтобы получить работу ты должен найти опен сурс проект и что-то в него закоммитить. Странное требование.

Искать можно в тренде: https://github.com/trending

Или на хакер ньюз.
Аноним 10/11/15 Втр 13:41:04 #252 №577576 
Поясните за фронт-энд фреймворки. Какие минималистичные, а какие большие и энтерпрайзные? Преимущества и недостатки? Почему jQuery стал индустриальным стандартом?
Аноним 10/11/15 Втр 14:09:00 #253 №577588 
>>577576
Марти, это ты? Как там в прошлом?
Аноним 11/11/15 Срд 04:18:18 #254 №578119 
Смотрите. Вот
(qwe) => { ... }
Равно
function(qwe) { ... }
?
Аноним 11/11/15 Срд 05:16:18 #255 №578138 
>>578119
у первого нет this и arguments
Аноним 11/11/15 Срд 05:20:17 #256 №578140 
>>576891
Это же хромиум, течь будет только твой клиентский код.

React native на декстопе это максимум буллшит бинго
Аноним 11/11/15 Срд 15:36:11 #257 №578447 
>>578138
Совсем не аргументс? Пиздец.
Аноним 11/11/15 Срд 15:50:08 #258 №578454 
>>578447
arguments is deprecated, use https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters instead.
Аноним 11/11/15 Срд 16:12:04 #259 №578464 
>>575753
>на ES6 есть классический ООП
У меня для тебя плохие новости.
Аноним 11/11/15 Срд 16:56:30 #260 №578498 
>>578464
ООП не нужжен?
Аноним 11/11/15 Срд 16:57:51 #261 №578501 
>>578140
Ты просто не понимаешь суть React Native .

React Native - это тебе не забагованная кодобаза Chromium на сотни мегабайт, где недели не может пройти, чтобы что-то опять не сломалось на каком-то уровне стека.

Алсо, хромиум настолько охуенно не течет, что проект по внедрению GC в плюсовую часть скоро в продашкн пойдет, угадай, почему.

React Native - это не комбо говна HTML и мочи CSS, раздутых дефективных некростандартов, настолько охуенных, что ни один браузер их полностью не поддерживает, зато у каждого браузера есть свой собственный набор костылей с префиксами.

React Native - это простая и удобная компонентная модель плюс нормальный язык плюс подмножество CSS для удобной верстки.
Аноним 11/11/15 Срд 19:02:19 #262 №578549 
Подскажите как правильно учить JS. Прошел codecademy, читаю Head First JavaScript Programming, понимаю не все(особенно со всякими this). Чувстую, что после чтения нихуя сделать сам не смогу. Как быть? Продолжать читать более подробные книги или пытаться сделать мелкие приложения(которые скорее всего не осилю).
Аноним 11/11/15 Срд 19:19:26 #263 №578573 
О, боги верстки. http://g2.botva.ru/player.php?id=806441 Если пролистать вниз, там будут подарки. Если навести на них мышкой, то всплывает окошко Там есть картинка и текст. Как так же сделать? В какую сторону гуглить? Заранее спасибо.
Аноним 11/11/15 Срд 19:24:06 #264 №578574 
>>578573
Гугли popover
Аноним 11/11/15 Срд 19:32:39 #265 №578581 
>>578549
learn.javascript.ru читал?
Аноним 11/11/15 Срд 19:34:06 #266 №578582 
>>578549
>читаю
>Чувстую, что после чтения нихуя сделать сам не смогу.
>которые скорее всего не осилю
Ты либо принимаешь идеологию learn by doing (также известную как google-driven development), или вон из профессии.
Пиши код. Пиши код, сука! Каждый день пиши. Если не работает - смотри в дебаггер и правь ошибки. Если не понимаешь, почему это ошибка - гугли. Не получилось нагуглить (что лично со мной случается примерно раз в год) - спрашиваешь здесь или на stackoverflow.
Это не значит, что читать не надо совсем. Но чтение без написания кода полезно примерно настолько же, насколько написание кода без знания синтаксиса языка.
Аноним 11/11/15 Срд 19:42:11 #267 №578590 
>>578549
Тебе всё правильно написали уже. Просто скажу, что ты читая книгу по жс должен получить ПРИМЕРНОЕ ПРЕДСТАВЛЕНИЕ о прочитанном, а не ЗАПОМНИТЬ ЕГО. А дальше только практика, только код, только хардкор. Просто такие вещи как замыкания, скоупы, ООП уровня жс и прочее надо знать, но без практики ты всё забудешь через пару недель.
Аноним 11/11/15 Срд 21:34:56 #268 №578677 
Суп, жсач. Есть тут знатоки апи яндекс-карт?
Проблема, казалось бы, на 3 минуты, но что-то я малость застрял. Нужно, чтобы при клике на метку балун открывался в заданном месте и имел заданный размер. Контент свой для каждой метки, размер и позиция общие для всех.
Аноним 11/11/15 Срд 21:54:19 #269 №578692 
Не нашел отдельного треда для CoffeeScript, так что напишу сюда. Решил обмазаться функциональщиной, пара нубских вопросов.

1.
[code]Array.prototype.transform = (f) -> f(x) for x in this[/code]
Почему этого нет из коробки? или есть, но я не могу в гугл?

2.
Если я хочу .transform(t).filter(f) можно ли как-то реализовать без создания промежуточного массива? Если что, coffee 1.6.3.
Аноним 11/11/15 Срд 22:33:15 #270 №578724 
>>578692
1. map же!
2. щито?
Аноним 12/11/15 Чтв 00:07:54 #271 №578785 
14472760743560.jpg
Пацаны, такая проблема, когда таблице добавляешь одинаковые строки, он добавляет первую,а дальше забивает. Не знаю в чем и дело.
Мб выручите?

var a=document.getElementById("ss228").value;
var b=document.getElementById("ss229").value;
var masa=[];
var masb=[];
for(var i=0;i<a;i++)
masa=make("td",i);
for(var s=0;s<b;s++)
masb=make("tr",masa);
var pidr1=make("table",{border:1},masb);
Аноним 12/11/15 Чтв 00:22:46 #272 №578795 
>>578785
Это не код - это говно. Просто блядь ахуенные названия переменных одной буквой, наипиздатейшая функция make, которая делает хуй знает что, ебаная смесь из транслита и анельского. Умри, короче.
Аноним 12/11/15 Чтв 00:27:18 #273 №578800 
14472772389840.jpg
>>578795
Не сердись, анон. Я учту все твои замечания, ну забыдлокодловат, с кем не бывает
Аноним 12/11/15 Чтв 00:28:52 #274 №578801 
>>578800
Давай ссылку на codepen с кодом, который не работает.
Аноним 12/11/15 Чтв 00:32:21 #275 №578803 
>>578785
Хорошо, насколько я могу судить, #ss228 и #ss229 - это текстовые поля ввода.
1. Что за make? Это типа из какого-то шаблонизатора-фреймворка?
2. Ладно, я бы сделал как-то так:
Аноним 12/11/15 Чтв 00:32:50 #276 №578804 
>>578803
var a=document.getElementById("ss228").value;
var b=document.getElementById("ss229").value;
var masa=[];
var masb=[];
/формируем данные, получаем их откуда-то/
for(var i=0;i<a;i++) {
masa.push(i);
}
for(var s=0;s<b;s++) {
masb.push(s);
}
/делаем табличку/
var htmlTable1="<table><tr>";

for(var i=0;i<masa.length;i++) {
htmlTable1+="<td>"+i+"</td>";
}
htmlTable1+="</tr></table>";
Аноним 12/11/15 Чтв 00:35:29 #277 №578807 
14472777290310.png
>>578804
Обезьяна-мама не любит работу с чистым DOM
Аноним 12/11/15 Чтв 00:37:21 #278 №578808 
>>578785
Да, а что ты хочешь получить на выходе, как оно должно выглядеть?
я уже писал, что все эти js-шаблонизаторы не нужны. На уровне серверных скриптов - возможно, но не здесь
Аноним 12/11/15 Чтв 00:38:37 #279 №578810 
14472779171350.jpg
>>578807
Спасибо, анончик, просто выручил. Дал бы сто интернетов, да все спустил уже.
Аноним 12/11/15 Чтв 00:40:43 #280 №578813 
14472780434900.jpg
>>578808
Просто табличку.
Пора действительно заканчивать быдлокодингом заниматься и делать все более структурировано
Аноним 12/11/15 Чтв 02:14:38 #281 №578870 
Нахуй ангулар2 назвали ангулар2, а не просто новым именем и почему его так долго пилят? Тупо бренд? Или действительно он имеет что-то концептуально общее с ангулар1?
Аноним 12/11/15 Чтв 03:02:15 #282 №578898 
>>576353
Обсираюсь с этого "семантическая верстка". Тут посоны за серьёзные вещи трут, а "семантическая верстка" - концепт из мира маминых сеошников и версткозадротов.
Аноним 12/11/15 Чтв 10:20:45 #283 №578997 
14473128457290.jpg
Как закрыть окно, только после того как сайт полностью загрузится?

var openedWindow;
openedWindow = window.open("https://ya.ru");
openedWindow.close();
Аноним 12/11/15 Чтв 10:31:01 #284 №579002 
>>578997
document.addEventListener('load', /закрывай окно/)
Аноним 12/11/15 Чтв 10:36:21 #285 №579005 
>>578898
Такие серьезные посоны как ты регулярно всплывают в одеск-треде. Типа я д`Артаньян, книжку по рельсам прочитал, верстать за меня будут немытые индусы.
>>578997
>полностью загрузится
Охуенно точное определение. Попробуй сформулировать еще раз и почитать хотя бы http://stackoverflow.com/questions/799981/document-ready-equivalent-without-jquery
Аноним 12/11/15 Чтв 10:45:14 #286 №579007 
>>578898
>семантическая верстка
> концепт из мира маминых сеошников и версткозадротов
То что в твоей говноконторке верстают по орочьи не значит что везде так
Аноним 12/11/15 Чтв 10:49:58 #287 №579011 
>>579002
Что-то у меня не получается. Очень долгоо не занимался программированием, всё забыл да еще и не умел.

var openedWindow;
var needSite = "http://kinopoisk.ru";
OpenWindow();
//document.addEventListener('load', CloseOpenedWindow)
//CloseOpenedWindow();

function OpenWindow(){
openedWindow = window.open(needSite);
//openedWindow = window.open(needSite, '_blank');
}
function CloseOpenedWindow(){
openedWindow.close();
}

>>579005
Нужно открыть кинопоиск и закрыть его сразу после того, как он загрузится.
Аноним 12/11/15 Чтв 13:00:26 #288 №579038 
>>579011
>Нужно открыть кинопоиск и закрыть его сразу после того, как он загрузится.

Я думал, закрыть окно, когда ТВОЙ документ загрузится. Сдается мне, ты не сможешь поставить обработчик события load на кинопоиске из-за same origin policy. Хотя, я хуй знает.
Аноним 12/11/15 Чтв 15:34:49 #289 №579109 
>>579038
Если бы мне нужно было закрыть свой документ, то я бы не писал в трех моих строчках переход на другой сайт. Да, нужно было сразу это написать, но я в тот момент до этого не додумался и посчитал это очевидным.
Аноним 12/11/15 Чтв 17:42:26 #290 №579217 
Анон, какие библиотеки JS изучать? Хватит тех которые описаны в DOM и BOM http://www.w3schools.com/jsref/default.asp или изучать все библиотеки описанные в https://developer.mozilla.org/en-US/docs/Web/API?
Аноним 12/11/15 Чтв 20:26:51 #291 №579319 
>>579217
Наркоман? Гуглом ёбнуть?
Аноним 12/11/15 Чтв 20:44:34 #292 №579329 
Ниндзи и джедаи, кто-нибудь использовал jxcore? http://jxcore.com/
Это такой форк ноды.
Аноним 12/11/15 Чтв 23:40:29 #293 №579452 
Палю годноту.
http://habrahabr.ru/post/215777/
Аноним 12/11/15 Чтв 23:59:38 #294 №579464 
>>579452
Миллион раз до тебя спалили.
Аноним 13/11/15 Птн 01:29:46 #295 №579513 
>>579452
>три индофункции "как бы их написал любитель си/перла/пыха"
Ну это лол ваще мда. Во-первых, любой нормальный человек написал бы return a % 2 === 0. Во-вторых, любой нормальный человек написал бы !isEven(3).
> Утешает только то, что далеко не каждый гуру языка без гугла сможет объяснить почему: new Array([],null,undefined,null) == ",,,"; // true
Даже такой даун, как я, понял это.

Претензии к приведению типов вполне разумны, а псевдомассивы рвут на части и моего внутреннего перфекциониста, но большая часть статьи - надуманный высер школохейтера уровня гопетухов.
поговорил с платиной
Аноним 13/11/15 Птн 02:18:54 #296 №579537 
>>579452
Это меме такой?
Аноним 13/11/15 Птн 08:14:48 #297 №579602 
>>579319
Почему наркоман сразу? Нужно же знать ассортимент своего рабочего инструмента.
Аноним 13/11/15 Птн 10:19:27 #298 №579649 
Анон, в школе задали домашку - сделать таймер с while и объектом Date, но без жсных таймеров. Вот так норм или я дебил?
var seconds = 3;
var start = Date.now();
var stop;

while (true) {
stop = Date.now();
if (stop - start >= seconds*1000) {
alert(seconds + ' сек. прошло!');
break;
}
};
Аноним 13/11/15 Птн 11:15:16 #299 №579667 
>>579602
Ну вот используешь один метод раза три (пять, десять) и запомнишь его. Запоминать весь стандарт подряд это самый настоящий аутизм.
Аноним 13/11/15 Птн 11:18:35 #300 №579668 
>>579649
>while (true)
Не делай так больше.
Аноним 13/11/15 Птн 11:29:33 #301 №579673 
>>579649
> while (true) {
Пизда тебе, процессор ёбаный!
Аноним 13/11/15 Птн 11:33:06 #302 №579674 
>>579217
Не называй их библиотеками. Это API браузера. Библиотеки - это jquery, react, lodash.

API можно знать не все, но желательно хотя бы вкрации ознакомиться со всем.
Аноним 13/11/15 Птн 11:39:54 #303 №579676 
>>579668
>>579673
Пока писал спалил три процессора, ага.
По задаче есть какие-либо другие идеи?
То что так делать - плохо я и сам знаю.
Аноним 13/11/15 Птн 12:23:50 #304 №579705 
>>579676
setInterval же
Аноним 13/11/15 Птн 12:29:09 #305 №579706 
>>579705
>сделать таймер с while и объектом Date, но без жсных таймеров
Аноним 13/11/15 Птн 12:34:19 #306 №579707 
>>579667
Ну вот допустим понадобился метод в API, а ты его название не помнишь. Или вообще не знаешь есть ли вообще метод для решения задачи. Это получается все API перекапывать надо сначала.
>>579674
Спасибо за поправку, еще плохо оперирую терминами. Сколько времени уходит на изучение API чтобы свободно в нем ориентироваться? Что значит вкратце ознакомиться?
Аноним 13/11/15 Птн 12:34:52 #307 №579708 
>>579706
Ну иначе и не сделать тогда, можно только вложенное условие перенести в условие цикла.
Какой дебил дает такие задания?
Аноним 13/11/15 Птн 12:37:53 #308 №579710 
>>579708
Если вложенное условие перенести в условие цикла - нужно будет с алертом что-то думать.
>Какой дебил дает такие задания?
Своя атмосфера.
Аноним 13/11/15 Птн 13:34:51 #309 №579732 
>>579710
>>579649
Элегантнее, как мне кажется, как-то так сделать, без бесконечных циклов.

https://jsfiddle.net/7aybjkro/
Аноним 13/11/15 Птн 15:11:25 #310 №579763 
>>579732
do{} все равно будет итерировать свое содержимое с максимальной частотой, так что те же яйца что и в моем варианте, только немного сбоку.
Аноним 13/11/15 Птн 15:13:58 #311 №579766 
>>579763
Но цикл-то не бесконечный. Уже лучше.
Аноним 13/11/15 Птн 15:20:33 #312 №579770 
>>579674
>вкрации
Топите печи.
>>579707
>Ну вот допустим понадобился метод в API, а ты его название не помнишь. Или вообще не знаешь есть ли вообще метод для решения задачи. Это получается все API перекапывать надо сначала.
Нет, это значит что надо взять и погуглить.
Аноним 13/11/15 Птн 16:19:53 #313 №579792 
http://youmightnotneedjquery.com/#remove_class

Что делает код в блоке else?

el.className = el.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ' ');
Аноним 13/11/15 Птн 17:39:20 #314 №579835 
14474255609600.png
Ребята, чего-то вообще застрял и не знаю даже как погуглить.

В общем приходит от скрипта заголовок в формате %FF, но после метода XMLHTTPRequest.getResponseHeader( 'Наш-Кастомный-Заголовок' ) кодировка этого заголовка летит к хуям.

Код и пикча, чтобы не вчитываться в код, прилагается.
Аноним 13/11/15 Птн 17:39:27 #315 №579836 
>>579792
Регуляркой вырезает ненужный класс (или классы).
Аноним 13/11/15 Птн 17:39:52 #316 №579837 
>>579836
Точнее заменяет на пустую строку.
Аноним 13/11/15 Птн 17:45:41 #317 №579842 
>>579792
Твой код - полифил для el.classList.remove(className). В блоке else ищется с помощью регулярки класс у элемента el и заменяется на пробел (удаляется т.е.).
Аноним 13/11/15 Птн 19:32:13 #318 №579904 
>>579835
Хуй знает, пизда какая-то. Если тебе для дела, а не для учебы, можешь воткнуть KOSTEEL в виде копирования реквеста перед getResponseHeader.

За что люблю веб-стек - все мутируют все всегда, YOLO.
Аноним 13/11/15 Птн 20:19:25 #319 №579926 
14474351651330.jpg
Всем привет ананасы, помогите годным советом.
Вышки нет, гумманитарий.Решил вкатится в программирование. Изучал дома хтмл и цсс, сверстал три макетика для портфолио,устроился в говностудию, отработал 3 месяца параллельно учился использовать готовые решение джиквери и научился верстать адаптивно. Потом устроился джуниором фронтендщиком в крупный проект, с приватным проектом на гитхабе, с деплоями, agile, скрамами ангулярами и прочими штуками. Так вот уже 2 месяца прошло и я до сих пор не понимаю как это все говно работает, не говоря уже о бэкенде с API( я еще с ним не работал).Я нихуя не могу понять, я не могу написать код. Я тупо копипащу и гадаю, заменяю методы методом тыка, и надеюсь на магию. Конечно мидлы помогают, но я все равно не оч улавливаю. Хотя сам интересуюсь вебом, всегда читаю статьи о вебе и живу им в общем. ЧЯДНТК??? Может мне не дано из-за того что нет технического образования? Или из-за того что не подружился с самыми главными основами(алгоритмами и шаблоны проектирования)? Или это нормально для джуниора. Меня просто бомбит от того что код не могу написать. Что я пропустил? почему мне так тяжело дается JS?
Аноним 13/11/15 Птн 20:46:09 #320 №579938 
Аноны, почему JSON.parse пишет "Unexpected token }"? Вот сама строка http://pastebin.com/rTEfpd2z
В глаза вроде не жахаюсь, причины всеравно не вижу
Аноним 13/11/15 Птн 20:54:52 #321 №579945 
>>579938
Запятая в 10 строке.
Аноним 13/11/15 Птн 21:04:04 #322 №579947 
>>579926
Анимедауны не нужны, потому что.

На самом деле надо книжки читать, которые объясняют основы. Нужно знать как работают базовые вещи. Без этого ты так и будешь, как макака, код кописастить без понимания как оно там работает.
Аноним 13/11/15 Птн 21:05:07 #323 №579948 
>>579945
и правда.......
Аноним 13/11/15 Птн 21:06:31 #324 №579949 
>>579948
Статический анализ используй, Люк.
Аноним 13/11/15 Птн 22:11:46 #325 №579988 
>>573427
if (err){
return callback(err);
}
callback(null,user);
Аноним 13/11/15 Птн 22:37:20 #326 №580004 
>>579904
Спасибо, братишка, за пищу для размышлений. Завтра буду гуглить: можно ли позырить заголовки с помощью js, как смотрятся куки.
Аноним 13/11/15 Птн 22:58:07 #327 №580017 
>>580004
Если это клиентский жс, то нет.
Аноним 14/11/15 Суб 00:05:42 #328 №580052 
>>580017
Вот это завтра попробую http://stackoverflow.com/questions/220231/accessing-the-web-pages-http-headers-in-javascript
Пишу здеся, чтобы не забыть.
Аноним 14/11/15 Суб 01:05:01 #329 №580083 
>>579926
За два месяца фул стак не выучишь. Даже двух лет мало.
Аноним 14/11/15 Суб 01:07:45 #330 №580084 
>>579707
> Сколько времени уходит на изучение API чтобы свободно в нем ориентироваться? Что значит вкратце ознакомиться?
Вкрации - значит, знать, что в API есть, и для чего. Как именно этим пользоваться, чтоб использовать, не подглядывая на MDN, не обязательно.
Аноним 14/11/15 Суб 01:09:52 #331 №580087 
>>579926
>Может мне не дано из-за того что нет технического образования?
а зачем это интересно погромисту тех образование? чем оно ему поможет, ладно там математическое или айти, но техническое?
Аноним 14/11/15 Суб 02:07:09 #332 №580115 
>>579674
> Это API браузера.
Это Web API. API браузера - это, например, element.innerText или console.log.
Аноним 14/11/15 Суб 13:34:53 #333 №580250 
>>580083
а фронтенд примерно за скок осваивается?
Аноним 14/11/15 Суб 14:23:16 #334 №580264 
14475001966920.jpg
14475001966931.jpg
Пытаюсь настроить модуль debug для node.js. https://github.com/visionmedia/debug
Но он ничего не выводит. Вроде и environment variable установил: set DEBUG=*, а все равно не работает.

Аноним 14/11/15 Суб 14:50:44 #335 №580279 
14475018442600.png
>>580264
Какой у тебя шелл? Нужно, чтобы переменная была экспортирована в ноду.
Аноним 14/11/15 Суб 16:38:17 #336 №580329 
>>572953 (OP)
Аноны, помогите. Нужно сделать выпадающее меню, чтобы при наведении на элемент li верхнего меню выпадало вложенное меню, но почему-то выводит подменю, которое относится к самому нижнему li. Если использовать указатель this, то вообще ничего не выводится. Объясните пожалуйста в чём дело
http://pastebin.com/WEegHBdA
Аноним 14/11/15 Суб 16:55:30 #337 №580351 
>>580264
>MINGW
ахахахахахахахахахахахахахахахахахахахахахахахаахахахахахахахахахахахахахахахахахахахахахахахаахахахахахахахахахахахахахахахахахахахахахахаха
Аноним 14/11/15 Суб 17:05:10 #338 №580357 
>>580329
Так ты только на последний li обработчик события и вешаешь же. По-моему, ты уже был тут с той же проблемой месяц назад. До сих пор мучаешсья? Вроде же подсказали всё в тот раз.
Аноним 14/11/15 Суб 17:14:51 #339 №580362 
>>580329
А какое будет значение у ul2, когда сработает обработчик?
http://pastebin.com/Qq3sZgwy
Аноним 14/11/15 Суб 17:16:17 #340 №580365 
>>580357
Почему на последний li? Я же выношу эту событие onclick из цикла где создаю меню
Аноним 14/11/15 Суб 17:23:18 #341 №580373 
>>580279
>>580351
Пиздец, я туплю. Спасибо, все свободны.
Аноним 14/11/15 Суб 17:35:50 #342 №580382 
>>580362
А как сделать так, чтобы событие onmouseover шло после цикла for, где создается меню?
Аноним 14/11/15 Суб 17:47:56 #343 №580392 
>>580382
Никак. А главное - зачем?
Аноним 14/11/15 Суб 17:49:15 #344 №580393 
>>580382
Ну я не знаю, в этом случае ты теряешь свои предыдущие значения li на каждом новом проходе.
Можно сохранить их или найти заново, например.
http://pastebin.com/efezmfTR
Аноним 14/11/15 Суб 18:13:27 #345 №580405 
>>580393
В этом коде создаётся второй массив menuElements, в который заносятся значения li главного меню, да? В forEach что такое currentMenuElement?
Аноним 14/11/15 Суб 18:28:42 #346 №580409 
>>580052
Это на совсем решение. Так ты сможешь получать заголовки, только если у тебя на сайте fullajax-навигация.
Аноним 14/11/15 Суб 19:01:19 #347 №580445 
>>580405
>В этом коде создаётся второй массив menuElements, в который заносятся значения li главного меню, да?
Да, но это чисто для примера, на практике я бы так делать не стал. Нет смысла, как сказали здесь >>580392
Ты создаешь ненужный массив и делаешь еще один проход по нему.
>В forEach что такое currentMenuElement?
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
Текущий элемент из массива главного меню.
Аноним 14/11/15 Суб 19:51:02 #348 №580481 
Посоны, я полный ноль в JS, но мне приходится фронтенд делать.
Подскажите, с помощью чего можно запилить всплывающую форму с текстбоксами. Чтобы можно было кликнуть на любую клетку в таблице и всплывает форма для заполнения.
Аноним 14/11/15 Суб 20:14:41 #349 №580495 
>>580481
Положи текстбоксы в див с position:fixed и ставь ему display:block при клике на ячейку, при сабмите display:none и получаешь информацию из формы.
Аноним 14/11/15 Суб 22:44:40 #350 №580626 
Как в ноде проверить существование переменной или совойства?
if (typeof this.req.user.isAdmin === 'undefined')
Получаю: TypeError: Cannot read property 'isAdmin' of undefined
Аноним 14/11/15 Суб 23:04:37 #351 №580639 
>>580626
Если пытаешься получить свойство у undefined, выбрасывается TypeError. В твоем случае user равен undefined, и ты пытаешься undefined.isAdmin. Чтобы небыло такой хуйни делай так: (this.req.user && this.req.user.isAdmin) === undefined. И кавычки у undefined убери в своем коде, че еблан совсем?
Аноним 14/11/15 Суб 23:10:21 #352 №580644 
>>580639
и typeof убери
Аноним 14/11/15 Суб 23:11:45 #353 №580647 
>>580639
Поскольку есть ровно два объекта, для которых можно получить такую TypeError: null и undefined — то лучше проверить на оба: if (this.req.user && this.req.user.isAdmin) == null
Аноним 14/11/15 Суб 23:12:19 #354 №580648 
>>580647
или == undefined, кому как больше нравится
Аноним 14/11/15 Суб 23:12:25 #355 №580649 
>>580639
Ебаный даун, у него typeof там. Попробуй undefined === undefined, будешь удивлен.
Аноним 14/11/15 Суб 23:16:46 #356 №580653 
14475322069910.jpg
>>580649
> Попробуй undefined === undefined
Ты наркоман, чтоли? Чему тут удивляться?
Аноним 14/11/15 Суб 23:44:01 #357 №580667 
>>580639
Спасибо брат.
Аноним 15/11/15 Вск 01:01:08 #358 №580704 
14475384688110.jpg
ищу антона, который пояснит за метеор.жс

Как лучше производить валидацию форм? и на клиенте и на сервере или на сервере и уведомлять клиент об ошибках?
И каким пакетом лучше всего производить валидацию?
Аноним 15/11/15 Вск 02:43:39 #359 №580729 
>>580704
Хуйня метеор же. Если хочешь комбайн, то лучше уж эмбер брать.
Аноним 15/11/15 Вск 03:44:15 #360 №580746 
14475482553610.jpg
Суп /pr.
Есть код:

Object.defineProperties
(
this.objectPosition,
{
_: {value:this}, // hack for context
x:
{
set : function(x) { this._.position.x = x; },
get : function() { return this._.position.x; }
},
y:
{
set : function(y) { this._.position.y = y; },
get : function() { return this._.position.y; }
},
z:
{
set : function(z) { this._.position.z = z; },
get : function() { return this._.position.z; }
}
}
);

Как определить геттеры и сеттеры полей не прибегая к добавлению поля для получения ссылки на родительский элемент (см. коммент //hack for context).
Аноним 15/11/15 Вск 04:50:49 #361 №580759 
>>580746
Просто определи переменную со значением this вне Object.defineProperty, на нее и ссылайся.
Аноним 15/11/15 Вск 05:52:24 #362 №580763 
Котаны, кто знаком с яндекс картами, есть вопрос. Необходимо получить информацию об организации, которую пользователь выбрал на карте.
Аноним 15/11/15 Вск 06:14:03 #363 №580765 
14475572433970.jpg
>>580759
спасибо, братишка
Аноним 15/11/15 Вск 07:23:45 #364 №580774 
Стремящийся фронтендер в треде. Сейчас могу запилить какой-нибудь слайдер или менюшку на jQuery, уровень исполнения, как водится, кустарщина и нубство.

Как развиваться дальше? Порекомендовали пройти learn.javascript.ru, но это в основном теоретический ресурс, хотелось бы больше практики.
Аноним 15/11/15 Вск 08:44:00 #365 №580779 
>>580774
>фронтендер
>Как развиваться дальше?
Уходить в бэкенд.
Аноним 15/11/15 Вск 08:55:13 #366 №580782 
>>580774
Там много задач. Я когда проходил, то процентов 80 времени уходило на решение задач. Так что все норм.
Аноним 15/11/15 Вск 10:04:33 #367 №580790 
>>580774
> могу запилить какой-нибудь слайдер или менюшку на jQuery, уровень исполнения, как водится, кустарщина и нубство
> это в основном теоретический ресурс, хотелось бы больше практики
Практика у тебя уже есть, тебе нужна именно теория. Прочти учебник на learn.javascript.ru, он хороший. Без знания языка ты дальше развиваться всё равно не сможешь. Упражнения там тоже нет, так что не заскучаешь.
Аноним 15/11/15 Вск 10:06:21 #368 №580792 
>>580790
> Упражнения там тоже нет
Упражнения там тоже есть
Аноним 15/11/15 Вск 10:52:38 #369 №580801 
>>580329
>li.onmouseover=function(){
>ul2.style.display="block";
>}
https://developer.mozilla.org/en-US/docs/Web/CSS/%3Ahover
Аноним 15/11/15 Вск 13:38:48 #370 №580864 
>>580329
Делается на чистом цсс.
Аноним 15/11/15 Вск 15:02:41 #371 №580901 
>>580250
Хорошо осваивается года за два, наверное. Если интенсивно осваивать.
Аноним 15/11/15 Вск 15:06:58 #372 №580903 
>>580649
Ты путаешь с NaN === NaN.

Но вообще, я тоже всегда пишу:
typeof variable === 'undefined'
чем это хуже вот этого:
variable === undefined
?
Аноним 15/11/15 Вск 15:16:05 #373 №580906 
>>580903
В твоем примере
>typeof variable === 'undefined'
Не выбросит ошибки, если variable не была объявлена.
>variable === undefined
не выбросит ошибки, если переменная была объявлена, но не инициализирована.
typeof возвращает тип переменной, 'undefined' имя типа.
Строгое сравнение
>variable === undefined
проверяет значение переменной.
В версиях js, где можно было переопределять undefined это могло играть роль, но сейчас эту лавочку прикрыли.
Аноним 15/11/15 Вск 15:23:39 #374 №580908 
>>580901
Ты хоть поясняй что имел ввиду пару месяцев курения мануалов и два года чистки фронтенда вилкой на позиции джуниора, а то будет два года читать книжки не написав ни строчки кода, а потом придет жаловаться в наш уютный тредик что говна насоветовали.
Аноним 15/11/15 Вск 16:40:58 #375 №580937 
>>580906
> >typeof variable === 'undefined'
> Не выбросит ошибки, если variable не была объявлена.
В своём коде ты всегда должен знать, какие переменные объявлены, а какие нет. Единственный валидный случай применения сравнения через typeof — это UMD:

if (typeof require != "undefined") {
// CommonJS
}
else if (typeof define != "undefined") {
// RequireJS
}
else if (typeof window != "undefined") {
// Browser globals
}
// ...

> >variable === undefined
> не выбросит ошибки, если переменная была объявлена, но не инициализирована
`===` тут не при чём. Это всё var. Если переменная объявлена через let/const, то ошибка будет как через typeof, так и без него.
Аноним 15/11/15 Вск 17:18:13 #376 №580955 
>>580937
>В своём коде ты всегда должен знать, какие переменные объявлены, а какие нет.
>typeof variable === 'undefined'
и
>variable === undefined
Просто проверяют две разные вещи. typeof проверяет тип переменной, сравнение ее значение. Разница в этом. А уж кто там чего "должен" знать это вопрос конкретного приложения.

>`===` тут не при чём. Это всё var. Если переменная объявлена через let/const, то ошибка будет как через typeof, так и без него.
Да, ты прав в "use strict". В старом же режиме ошибка все-таки выбросится, если ты попытаешься сравнить, неважно строго или нет с необъявленной переменной. А вот typeof не выбросит.
Аноним 15/11/15 Вск 17:32:37 #377 №580962 
>>580955
Хотя даже в строгом режиме
>(function() {'use strict'; return typeof a;})();
вернет 'undefined', а
>(function() {'use strict'; return a === undefined;})();
выбросит ошибку.
С другой стороны правда
>(function() {'use strict'; let vartype = typeof a; let a; return vartype;})();
тоже выбросит ошибку.
Аноним 15/11/15 Вск 17:33:40 #378 №580963 
Нодагоспода поясните чем парсить гет параметры в урле?
Использую koa-router и похоже, что параметры можно передавать только как /post/:id/:hui, а по старинке /post?id=4&hui=34 самостоятельно разбирать?
Аноним 15/11/15 Вск 17:47:54 #379 №580965 
>>580955
> Просто проверяют две разные вещи. typeof проверяет тип переменной, сравнение ее значение.
Я про то, что проверять тип на undefined почти никогда не нужно.
Аноним 15/11/15 Вск 18:03:43 #380 №580973 
>>580965
Ну даже твой пример можно переписать на
if (this.require != "undefined") {
// CommonJS
}
else if (this.define != "undefined") {
// RequireJS
}
else if (this.window != "undefined") {
// Browser globals
}
// ...
Если запускать из глобальной области должно сработать, а если не из глобальной, все равно можно без typeof переписать.
Есть возможность, а уж нужно или нет, это по обстоятельствам как по мне. Например, там, где можно было переопределить undefined, typeof мог быть одним из решений.
sageАноним 15/11/15 Вск 18:11:17 #381 №580979 
>>580973
правильно
>this.require != undefined
итд, забыл кавычки убрать.
Аноним 15/11/15 Вск 18:11:20 #382 №580980 
Какого хрена стрелочные функции из es6 не могут быть генераторами?
Аноним 15/11/15 Вск 18:18:06 #383 №580986 
>>580963
Используй модуль url, получишь сразу массив.
Аноним 15/11/15 Вск 18:50:45 #384 №581009 
>>580986
Спасибо.
Аноним 15/11/15 Вск 20:22:43 #385 №581050 
14476081634650.jpg
14476081634661.jpg
Ребята, почему у меня null в консоле появляется?
Аноним 15/11/15 Вск 20:31:08 #386 №581053 
>>581050
Бля. Ну очевидно же, что последним вызовом в 6-й строке возвращается null. И это обозначает конец потока.
Аноним 15/11/15 Вск 20:47:09 #387 №581057 
>>581053
У Ильи не выводило null: https://www.youtube.com/watch?v=1rbmO71wwyU
Видимо, это появилось в новых версиях node.
Аноним 15/11/15 Вск 21:27:13 #388 №581067 
>>581050
Что за тема сублайма?
Аноним 15/11/15 Вск 21:38:40 #389 №581068 
>>581067
Это Atom
Аноним 15/11/15 Вск 21:41:00 #390 №581071 
>>581068
Встроенная тема One Dark
Аноним 15/11/15 Вск 21:47:35 #391 №581074 
Котаны, на codeacademy курсы какие-то вообще изи.
А на codeshool как? Получше? Предлагают тут за 9$ на месяц взять подписку, потом как обычно будет 29$.
Можно ли там за месяц по JS курсы пройти?
Аноним 16/11/15 Пнд 00:25:06 #392 №581120 
>>580973
> if (this.require != "undefined") {
Это не будет работать в ноде.
В ноде все модули оборачиваются в функции и все «глобальные» переменные передаются аргументами. Типа такого:

function (exports, require, module, __filename, __dirname) {
// твой код здесь
}

Попробуй arguments.callee из скрипта на ноде, охуеешь.

Так что нет, работать не будет. Ну и если бы даже работало, вариант с `x === undefined` читается лучше и понятнее, а ситуации с переопределением undefined можно избежать по-другому, если очень хочется.
Аноним 16/11/15 Пнд 00:47:55 #393 №581130 
>>581074
На кодскуле ещё легче, я за неделю прошёл все по жсу. Не советую.
Аноним 16/11/15 Пнд 05:31:49 #394 №581177 
14476411098580.jpg
>>581130
>Не советую.
Ты хотел сказать, что не советуешь покупать?
Аноним 16/11/15 Пнд 09:35:23 #395 №581218 
>>581120
>>580979
>>580973
>>580962
>>580955
>>580937
>>580906
>>580903
>>580653
>>580649
>>580648
>>580647
>>580639
Казалось бы, нужно просто проверить существование переменной. Теперь я понимаю чем руководствовались создатели го и всяких питонов.
Аноним 16/11/15 Пнд 10:26:30 #396 №581227 
>>581218
И как в этих языках можно проверить существование переменной?
sageАноним 16/11/15 Пнд 10:55:36 #397 №581231 
>>581227
Neekaque.
Аноним 16/11/15 Пнд 11:26:21 #398 №581247 
>>581231
Потому что и питон и го используют в основном со стандартными "официальными" интерпретаторами, и все остальные должны быть с ними совместимы. JavaScript децентрализован: много реализаций, много платформ, а одного стандартного языкового средства для идентификации рантайма нет. Вот и приходится проверять переменные и очень хорошо, что в JS можно это сделать
Аноним 16/11/15 Пнд 11:33:44 #399 №581249 
>>581227
try:except kek
Аноним 16/11/15 Пнд 11:59:48 #400 №581258 
Двухмесячные курсы на learn.javascript годнота или нет?
Аноним 16/11/15 Пнд 12:13:28 #401 №581264 
>>581258
Где-то в сети есть Канторовские курсы записанные, погугли. Именно базовые которые платные, а не нода и подобное
Аноним 16/11/15 Пнд 12:14:21 #402 №581265 
>>581258
Если ты про платные, то забей.
Ебаш учебник бесплатный. Кантор так се как преподаватель.
Аноним 16/11/15 Пнд 12:21:22 #403 №581268 
>>581265
>>581264
Спасибо.
Аноним 16/11/15 Пнд 13:00:51 #404 №581285 
Почитал про рекурсию и нихуя не понял.

http://learn.javascript.ru/recursion

Там, где pow(2, 3) объясняется с контекстами в рамках, в каком конкретно месте из всей этой херни получается восьмерка?
Аноним 16/11/15 Пнд 13:04:46 #405 №581286 
>>581285
Например, вычислим pow(2, 3), последовательно переходя к более простой задаче:

pow(2, 3) = 2 pow(2, 2)
pow(2, 2) = 2
pow(2, 1)
pow(2, 1) = 2
Аноним 16/11/15 Пнд 13:15:24 #406 №581288 
Посоны, посоны.
Вот у рельсоняшек есть такая книга:
https://www.railstutorial.org/book
где пошагово делается клон твиттора, с пояснениями, дополнительными задачами, тестами и деплоем на хероку.
Есть что-то такое же, но по node?
Аноним 16/11/15 Пнд 13:33:24 #407 №581291 
>>581286
Все равно нипонятно(((

Вот например здесь понятно, откуда в первом примере 11:

http://www.integralist.co.uk/posts/js-recursion.html

Это, видимо, x, который каждый раз увеличивался на один, в то время как y уменьшался. Когда y стал равен нулю, x (11) вернулся.

А здесь x умножается на pow(), в котором непонятно что.
Аноним 16/11/15 Пнд 13:40:54 #408 №581293 
>>581291
>x, который каждый раз увеличивался на один, в то время как y уменьшался
По-моему, функция вызывала саму себя с измененными аргументами, пока игрек не стал равен нулю и возвратила икс.

сам только читаю рекурсию, поэтому не особо разбираюсь
Аноним 16/11/15 Пнд 13:46:49 #409 №581294 
>>581288
Если и есть, то уже устарело, нода пиздец резкая.
Аноним 16/11/15 Пнд 14:00:14 #410 №581299 
>>581293

Я эту хрень расписал на бумажке с аргументами 2 и 3, вот че получилось:

sum (x, y)

sum (2, 3)

3 > 0 (true) - возвращается sum (3, 2), слева к x прибавилось 1, справа от y убавилось 1

2 > 0 (true) - возвращается sum (4, 1), слева к x прибавилось 1, справа от y убавилось 1

1 > 0 (true) - возвращается sum (5, 0), слева к x прибавилось 1, справа от y убавилось 1

0 > 0 (false) - выполняется внешний else, выводится x, равный 5

sum (2, 3) = 5

Если я правильно понял принцип действия (не уверен в этом), то здесь понятно, откуда 5.

В примере с умножением - нет.
Аноним 16/11/15 Пнд 14:13:53 #411 №581302 
>>581294
Жаль. А какой-нибудь to-do для ньюфагов, чтобы вкатиться?
Аноним 16/11/15 Пнд 14:22:43 #412 №581307 
>>581302
Поищи курс какой-нибудь посвежее, сейчас навалом всего. У Кантора скринкасты можешь глянуть, они старые, но дадут представление.
Аноним 16/11/15 Пнд 14:53:38 #413 №581334 
>>581265
>Ебаш учебник бесплатный
Как его Ебашить? Там практики почти нет.
Аноним 16/11/15 Пнд 14:56:45 #414 №581337 
>>581299
Тут больше похоже на цикл, а с умножением как раз рекурсия.
Аноним 16/11/15 Пнд 14:59:55 #415 №581338 
>>581334
>Там практики почти нет
Ты ахуел, бля? Там много практитки.
Аноним 16/11/15 Пнд 16:05:22 #416 №581364 
>>581068
>>581071
Спасибо, под саблайм эта тема тоже есть.
Аноним 16/11/15 Пнд 16:55:44 #417 №581391 
Вот еще непонятка с рекурсией:

function sumTo(n) {
if (n == 1) return 1;
return n + sumTo(n - 1);
}

alert( sumTo(100) );

Если n с каждым разом уменьшается и в итоге доходит до одного, должен же выполниться if (n == 1) return 1, который возвращает 1. Почему возвращается 5050?
Аноним 16/11/15 Пнд 17:02:14 #418 №581400 
>>581391
Потому что ты возвращаешь не n, а сумму.
Аноним 16/11/15 Пнд 17:08:11 #419 №581404 
>>581400
Точнее у тя return 1 идёт в n + sumTo(n - 1), т.е.
если sumTo(2), то
2 + 1 = 3
n + sumTo(n - 1) - в этот вызов как раз вернётся твоя единица.

Хуёвый из меня объясняльщик.
Аноним 16/11/15 Пнд 17:39:13 #420 №581422 
>>581400
>>581404

Опять нихера не понял.

Вот если разложить это все с тройкой, должно выйти 6 (3 + 2 + 1 = 6).

sumTo(3)

3 == 1 (false)
return 3 + sumTo(2)

2 == 1(false)
return 3 + sumTo(1)

1 == 1 (true)
return 1 из первой строки функции — if(n == 1) return 1;

Где я обосрался?
Аноним 16/11/15 Пнд 18:36:32 #421 №581455 
>>581422
Кароче, ща я тебе раскидаю, как смогу.

Вот смотри, что там происходит:
1. Вызвали ф-ю
function sumTo(5) {
if (n == 1) return 1;
return n + sumTo(n - 1);
}
2. n != 1, поэтому эта ф-я вызвала саму себя и как бы ждет значение. Она не закончилась, а ждет значение от функции с аргументом n == 4.
3. Так каждая последующая вызванная ф-я не прекращается, а ждет от последующей какое-то значение.
4. Вот мы добрались до n == 1. На этом шаге ф-я отправила наверх возвратила единицу.
5. Теперь другая ф-я "этажом выше" получила эту единицу и может почитать n+1.
6. Еще шагом выше функция получила n+(n+1). И так далее.
7. В конце концов самая первая ф-я получила n+sumTo(4).
8. Только тут мы добираемся до возвращения самой первой ф-ии sumTo(5) значения, которое нам показывает алерт.
Аноним 16/11/15 Пнд 18:57:10 #422 №581460 
>>581422
Ну всё правильно, сумма от 1 до 3 = 6.
Вот я тут до 4 расписал, может поймёшь, как оно работает - http://ideone.com/Z4mpc4 Каждая херовина (function(){})(x-1) - это и есть вызов sumTo(n-1)
Аноним 16/11/15 Пнд 19:02:42 #423 №581462 
14476897627450.png
>>572953 (OP)
Простите за перепост, но вот.
>>581360
Может использовать CMS на Node.js? Есть ли нормальные кандидаты?
sageАноним 16/11/15 Пнд 20:07:05 #424 №581489 
>>581462
node.js + redis, шаблонизатор - dot.js
Аноним 16/11/15 Пнд 20:27:14 #425 №581496 
>>581462
> Может использовать CMS на Node.js? Есть ли нормальные кандидаты?
А тебе для чего?
Ноду для проектов так просто не берут. Поэтому на ноде фреймворки/cmf всегда будут популярнее и востребованнее cms.
Аноним 16/11/15 Пнд 20:29:39 #426 №581497 
>>581496
Проект - стандартная хрень, считай todolist. Вопрос в том, что я плохо разбираюсь в цмсках php.
Аноним 16/11/15 Пнд 20:32:43 #427 №581498 
>>581489
>dot.js
Опять какие-то скобочки хуёбочки. Дали им Jade, нет будем говно жрать.
Аноним 16/11/15 Пнд 20:34:47 #428 №581500 
>>581498
Говно ваш jade
Аноним 16/11/15 Пнд 20:45:51 #429 №581512 
>>581500
Конечно, ведь писать подобную хуйню интереснее:
{{? it.name }}
<div>Oh, I love your name, {{=it.name}}!</div>
{{?? it.age === 0}}
<div>Guess nobody named you yet!</div>
{{??}}
You are {{=it.age}} and still don't have a name?
{{?}}
Аноним 16/11/15 Пнд 20:47:20 #430 №581514 
>>581497
Livestreet идеально подходит под твои нужды, как мне кажется.
Аноним 16/11/15 Пнд 20:54:39 #431 №581520 
Пасаны , как можно прокачать свой "архитектора"? Работаю уже около 2х лет (ангуляры,ноды) и ощущаю недостаток понимания того как строить "хорошую" и расширяемую архитектуру приложения (в особенности фронтенд) и достигать максимального loose coupling'a.
Если что паттерны и прочую поеботу читал.
Аноним 16/11/15 Пнд 20:55:05 #432 №581521 
>>581514
Какая-то странная поделка с дизайном 10 годов, не знаю лол.
Аноним 16/11/15 Пнд 20:56:39 #433 №581522 
>>581521
Тебе движок нужен или шаблон?
Аноним 16/11/15 Пнд 21:09:55 #434 №581529 
>>581522
Движок который может себе позволить нормальный PR
Аноним 16/11/15 Пнд 21:11:59 #435 №581532 
>>581529
> некоммерческий нишевый движок
> пиар
Аноним 16/11/15 Пнд 21:58:17 #436 №581562 
>>581455
>>581460

Ну ок, начинаю понемногу вдуплять, но вот вопрос по http://ideone.com/Z4mpc4

Понятно, что n = 4, но откуда берутся последующие присвоения m = 3, k = 2?

Я свернул код в редакторе, получилось:

return n + (function(m){})(n-1) // m = n - 1 = 3

Получается, мы передаем в значение m значение n - 1?

Как вообще называется такая вещь по типу (function(x){})(y)?
Аноним 16/11/15 Пнд 22:02:45 #437 №581572 
>>581562
>но откуда берутся последующие присвоения m = 3, k = 2?
он просто создал другие функции, чтобы показать тебе что функция, вызывающая сама себя по факту вызывает можно сказать другую функцию с аргументом на единицу меньшим, чем в прошлом вызове потому что ты сам написал ей его уменьшать (n-1)

>Я свернул код в редакторе
Это уже я не знаю, я как и ты только изучаю жс
Аноним 16/11/15 Пнд 22:32:02 #438 №581589 
>>581562
>Как вообще называется такая вещь по типу (function(x){})(y)?
Не помню, как это называется, но считай это "объявлением и мгновенным вызовом" функции. Это был единственный способ "развернуть" рекурсию, чтобы наглядно показать, как оно работает, если просто написать лапшу из идентичных функций.
Грубо говоря,
(function(){})() это то же самое, что и function x(){}; x(), разве что в первом случае лишь один раз можно вызвать (никаких указателей ведь не создаётся; по крайней мере, если не сильно искать).


>откуда берутся последующие присвоения m = 3, k = 2?
Вот есть
>(function(m){})
Эта функция принимает один аргумент. Сделав
>(function(m){})(n-1)
я её вызываю, при этом с аргументом n-1, т.е. m = n-1 = 4 - 3 = 3. Абсолютно то же самое делается потом с m и k и т.д.
Аноним 16/11/15 Пнд 22:32:51 #439 №581591 
>>581589
>= 4 - 3 = 3
4 - 1 = 3
Аноним 16/11/15 Пнд 22:46:39 #440 №581602 
>>581512
Гораздо лучше хипстерской jade-дрисни, и уж точно более гибко.
Аноним 16/11/15 Пнд 23:57:04 #441 №581644 
>>581602
Jade в десятки раз лаконичнее.
И почему тебе эта дрисня кажется более гибкой?
Аноним 17/11/15 Втр 00:00:04 #442 №581646 
Пацаны, почему не пишут код так:
function User(name) {
return {
userName: name;
}
}
Djigurda = User('Nikita');

А пишут:
function User(name) {
this.userName =name;
}
Djigurda = new User('Nikita'); ?
Аноним 17/11/15 Втр 00:05:28 #443 №581652 
>>581646
Чтобы сохранить данные в экземпляре объекта. В первом случае данные не сохранятся.
Аноним 17/11/15 Втр 00:07:26 #444 №581654 
>>581646
Теперь начинай методы писать в prototype.
Аноним 17/11/15 Втр 01:42:27 #445 №581706 
>>580729
почему хуйня?

мне показалось, что js на сервере и на клиенте более, чем удобно, разве не так?
И почему хуйня? Быстро развивается, есть уже проекты в продакшне, за наводку спасибо, пошел гуглить за эмбер.
Аноним 17/11/15 Втр 03:36:59 #446 №581726 
>>581644
>И почему тебе эта дрисня кажется более гибкой?
Потому что не требует велосипедного синтаксиса и встраивается прямо в хтмл, без замены его дриснявым псевдо-хтмл.
Аноним 17/11/15 Втр 07:02:30 #447 №581752 
>>581646
Пишут. Первый метод хорошо сочетается с функциональным подходом, а второй - с ООП.
Аноним 17/11/15 Втр 09:50:02 #448 №581790 
14477430029830.jpg
А как понять сколько постоянных соединений выдержит мой сайт на ноде? Как тестировать? Есть ли примерные цифры если я не делаю ничего существенного, а просто генерирую странички из данных монги?
Собираюсь брять 10$ digitalocean-а, на что надеяться?
Аноним 17/11/15 Втр 11:02:45 #449 №581826 
Ньюфаг в треде, сразу с вопросом:

Как выполнить несколько ajax запросов, после выполнения каждого вызвать коллбэк, и после выполнения всех запросов вызвать финальный коллбэк.
НО! Чистый JS и не использовать промисы из es6. Не прошу готового решения, дайте направление.
Пока в голову приходит писать свою реализацию промисов.
Аноним 17/11/15 Втр 11:05:19 #450 №581827 
>>581646
Во первом случае мы получим объект с одним свойством userName, во втором случае получим объект с таким же свойством, но еще __proto__ которое ссылается на прототип конструктора User.prototype
Аноним 17/11/15 Втр 11:07:14 #451 №581828 
>>581826
Как ты ajax собрался делать? В jQuery есть промисы.
Аноним 17/11/15 Втр 11:09:14 #452 №581830 
>>581828
Как обычно, xhr.
Еще раз пишу – чистый JS, то что в jQuery есть дефёры и промисы я в курсе.
Аноним 17/11/15 Втр 11:10:23 #453 №581831 
>>581830
Ну тогда делай колбеки в колбеках если похуй на читаемость
Аноним 17/11/15 Втр 11:13:11 #454 №581832 
>>581831
Ок, я делаю функцию в которую передаю url и cb, делаю запрос, по завершению выполняю cb.
А как мне сделать финальный cb? Где следить за состоянием всех запросов?
Аноним 17/11/15 Втр 11:16:25 #455 №581835 
>>581832
Поехавший
Аноним 17/11/15 Втр 11:33:50 #456 №581841 
>>581832
Можно так:

[code]function sendRequests (url, count, cb, done) {
var requestsMade = 0;
for (var i = 0; i < count; ++i) {
request(url + '?i=' + i, function (err) {
if (err) return cb(err), done(err);
cb();
if (++requestsMade == count) {
done();
}
});
}
}[/code]

https://gist.github.com/anonymous/f5a3c96e88c00c420919
Аноним 17/11/15 Втр 14:08:46 #457 №581918 
>>581832
>Где следить за состоянием всех запросов?
Сделай массив, ёпт.
Аноним 17/11/15 Втр 19:41:17 #458 №582178 
>>581790
Бамп.
Аноним 17/11/15 Втр 20:44:55 #459 №582236 
>>581520
Похоже борщееды ничего не могут подсказать.
Аноним 17/11/15 Втр 20:56:51 #460 №582255 
>>581790
Делай нагрузочное тестрирование. Эти цифры индивидуальны для каждого проекта.
Аноним 17/11/15 Втр 20:59:02 #461 №582260 
>>581520
> Если что паттерны и прочую поеботу читал.
И хули ты ещё хочешь?
Чтобы делать архитектуру нормальную нужна голова на плечах. Если ты думать не умеешь, то никакие паттерны-хуятерны тебя не спасут.
Аноним 18/11/15 Срд 00:17:37 #462 №582489 
>>572953 (OP)
Подскажите туториалы для react.js и webpack
Аноним 18/11/15 Срд 00:26:01 #463 №582494 
>>582489
Про вебпак Кантор наснимал видосов, бесплатно.
Аноним 18/11/15 Срд 01:11:23 #464 №582533 
>>578454
>arguments is deprecated
В JS нет ничего deprecated.
Аноним 18/11/15 Срд 01:17:29 #465 №582537 
>>579329
Бамп. Очень интересно.
Аноним 18/11/15 Срд 02:39:18 #466 №582591 
Пидоры из CodeSchool хотят денег за свои сраные курсы?
Ахуеть вообще. Нафига оно в шапке.
Аноним 18/11/15 Срд 06:37:35 #467 №582625 
Короче кое-как разобрался со сраной рекурсией, пилю одно упражнение, в котором надо вывести диапазон между числами, например (1, 10) => (2, 9). Решил просто вывести все значения в массив, а потом удалить из него первое и второе значение. Но массив он даже нихера не выводит, почему? В консоль записывает, в массив - хуй.

function range(x, y){

var res = [];

if(x <= y){

res.push(x); // запихать числа в массив
console.log(x); // вывести числа в консоль
return (range (x + 1, y));

}

else{

return x

}

alert(res); // вывести массив
}

range(1, 10);
Аноним 18/11/15 Срд 06:57:52 #468 №582629 
>>582625
>else return x
И все.
Аноним 18/11/15 Срд 07:13:56 #469 №582637 
14478200368300.jpg
Как правильно переводится слово "traversing" в jQuery?
Аноним 18/11/15 Срд 07:20:16 #470 №582639 
>>582629

Нипонял(((((
Аноним 18/11/15 Срд 07:22:09 #471 №582640 
>>582639
У тебя функция вызывает себя, или возврщает x. До alert(res) выполнение не доходит.
Аноним 18/11/15 Срд 07:24:20 #472 №582641 
>>582637
Обход dom дерева, как и везде.
Аноним 18/11/15 Срд 07:26:58 #473 №582642 
>>582637
Можете не отвечать. Нарыл уже http://www.w3schools.com/jquery/jquery_traversing.asp
Аноним 18/11/15 Срд 07:28:39 #474 №582643 
>>582641
В смысле "везде"? Дословный перевод "движение с помощью" или "движение через".
Аноним 18/11/15 Срд 07:37:02 #475 №582647 
>>582643
Если есть дерево, его обычно траверсят, это примерно как коллекцию - итерируют.
Аноним 18/11/15 Срд 07:40:16 #476 №582648 
Аноны, такой вопрос, как лучше учить javascript?
Читать книгу и практиковать или же сначала прочитать а потом использовать как словарь?
Аноним 18/11/15 Срд 07:41:26 #477 №582649 
>>582648
Первый вариант.
Аноним 18/11/15 Срд 07:44:41 #478 №582650 
>>582649
если каждый день изучать часа по 3-4, через какое время я смогу быть нужен заказчикам?
Аноним 18/11/15 Срд 07:46:27 #479 №582651 
14478219871840.jpg
>>582647
"траверсят" в смысле "ходят" по элементам? Как понять "итерируют" коллекцию (перебирают элементы?)?
Аноним 18/11/15 Срд 08:13:57 #480 №582653 
>>582651
Да, да.
Аноним 18/11/15 Срд 08:35:34 #481 №582655 
Array.prototype.sort()
Как это дерьмо сравнивает два допустим числа?
Есть массив [20, 13, 25, 0].
Ну сравнили 20 и 13, получили индекс двадцати больше, чем у тринадцати, а дальше что?
Аноним 18/11/15 Срд 10:00:14 #482 №582684 
>>582640

Ясн, пасиб.
Аноним 18/11/15 Срд 10:40:18 #483 №582696 
Анон, в каком редакторе верстаешь?
Аноним 18/11/15 Срд 10:46:13 #484 №582700 
>>582655
А дальше используем библиотеку и не выебываемся
https://lodash.com/docs#sortBy
Аноним 18/11/15 Срд 11:17:14 #485 №582711 
>>582650
Минуточку, мы проконсультируемся со штатными ясновидцами.
заказчики
Аноним 18/11/15 Срд 11:24:37 #486 №582716 
>>582696
Sublime с плагинами или webstorm (он потяжелее намного)
Аноним 18/11/15 Срд 11:30:54 #487 №582718 
Когда в вакансии требуют знание библиотек - что это означает? Нужно помнить все API либы или достаточно знать несколько функций. У меня тут спор с коллегой, он говорит что изучать библиотеки ненужно так как их много и постоянно появляются новые, а нужный функционал всегда можно нагуглить. Встает вопрос зачем эти "гугленыши" вообще нужны если ничего не знают? Как они собираются собеседования проходить. Будут пафосно говорить "Я нагуглю эту хрень за пять секунд"?
Аноним 18/11/15 Срд 12:00:50 #488 №582735 
>>582718
Ну так-то процентов 60% работы приходится на гугление, остальные 40% приходятся на допиливание того говна, что ты нашел.
Аноним 18/11/15 Срд 12:09:31 #489 №582739 
>>582735
Тогда зачем в требованиях к вакансии указывают знание библиотек, если их нагуглить можно? Я вот уже 3 суток изучаю jQuery. Пока только со структурой немного разобрался и запомнил что где лежит. Этих знаний же явно не хватит и мне надо хотя-бы пару недель потратить на изучение этой либы чтобы её научиться применять.
Аноним 18/11/15 Срд 12:18:30 #490 №582742 
>>582739
Нужно освоить топологию и функциональность всех основных РАЗНОВИДНОСТЕЙ языков и библиотек, чтобы потом, когда переходишь на любой незнакомый язык или веб-фреймворк, ты мог ментально отобразить на него предыдущие знания и опыт (не без гугла, конечно).
Аноним 18/11/15 Срд 12:21:20 #491 №582744 
>>582742
либы же разные совсем по функционалу. lodash, jquery, angular, - каждая из них изучается отдельно от остальных же. Что там может быть общего?
Аноним 18/11/15 Срд 12:26:36 #492 №582751 
>>582718
>>582739
Ну давай разберем по частям тобой написанное.
Представим себе двух программеров, назовем их, условно, "гугленыш" и "интеллигент". Обоим нужно выполнить некую работу, требующую знание библиотеки jquery.
Разберем сначала действия интеллигента. Интеллигент начинает с гиканьем "изучать" jquery, зубрить документацию от корки до корки, проходить тесты, радостно запоминать весь новый синтаксис, и т.д. Спустя пару недель, одухотворенный, он, наконец, открывает таск и... ничего не может сделать. поскольку практики никакой у него не было, он беспомощно бьется об углы, матерится на каждую свою тупую ошибку, опять лезет в документацию и пытается понять, что именно он сделал не так, и так еще неделю. В итоге таск выполнен за 5 недель, выполнен вполне удобоваримо, без говнокода, но и ничего откровенно красивого тоже не было написано.

Теперь разберем гугленыша. Гугленышу плевать на тонкости библиотеки и ее внутреннее устройство, гугленышу нужен результат. И потому он сходу заходит в тз, и, кратко поняв проблему, начинает гуглить. Ступенька за ступенькой, матерясь и говнокодя, он собирает рабочий прототип за рабочую неделю. Оценив взглядом код и малость охуев от собственной криворукости, гугленыш, уже имея практический опыт, читает документацию по самым своим кривым местам и еще неделю тратит на оптимизацию и дебаг своего проекта.
Итого - за 2 недели достигнут тот же самый результат, но с куда большим практическим опытом, большим опытом в оптимизации и более лучшим пониманием, как эта библиотека работает в боевых условиях.
И теперь вопрос - кто из них лучший работник? Кто выполнит таски быстрее, с большей пользой для себя и большим пониманием, что заказчику нужен результат, а не самолюбование прогера?
То-то и оно.
Аноним 18/11/15 Срд 12:26:40 #493 №582752 
>>582744
Общее есть между разными языками одинакового назначения, между разными веб-фреймворками, между РАЗНЫМИ инструментами для ОДНОГО И ТОГО ЖЕ. Имея опыт с одним фреймворком для депенденси инжекшн, ты гораздо быстрее разберёшься с любым другим на ходу с гуглом, чем если бы у тебя не было опыта с DI фреймворками вообще.
Аноним 18/11/15 Срд 12:38:45 #494 №582757 
>>582751
Но ведь зубрежка идет вместе с практическим разбором кода. И ведь зазубрив один раз я потом буду легко перемещаться по либе, не отвекаясь на чтение несвязанных мануалов в гугле.
>>582752
>>582751
Вообще вопрос стоит о том что спрашивают на собеседованиях когда требуют знание либы?
Аноним 18/11/15 Срд 12:50:02 #495 №582765 
>>582751
Если обобщить, то есть два подхода к разработке: top-down (начинаем с абстракций) и bottom-up (начинаем с деталей).

Если идти от абстракций, то есть риск выбрать абстракции неправильно или не уметь их правильно применить, поэтому сложнее начинать, но когда абстракции выбраны правильно, закончить проект проще. Это подход «интеллигента».

Если идти от деталей, то можно довольно быстро что-то сделать (гугля «jquery сортировка таблицы», «jquery событие при загрузке страницы», «jquery карусель»), но есть риск потом не собрать всё это в готовое решение или собрать неправильно, сделав неоптимальную или сложную в поддержке архитектуру. Закончить сложнее, но проще начать. Это подход «гуглёныша».

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

Отсюда мой подход к изучению новых инструментов и библиотек — тщательно разобрать основные принципы, понять что и где может пригодится и зачем, не отвлекаясь при этом на конкретные детали и сигнатуры методов, которые всегда можно загуглить.
Аноним 18/11/15 Срд 12:52:06 #496 №582766 
>>582765
> может пригодится
ться
самофикс
Аноним 18/11/15 Срд 13:00:20 #497 №582769 
> Вообще вопрос стоит о том что спрашивают на собеседованиях когда требуют знание либы?
Что угодно. Распространённая ошибка наивных детей в восприятии внешнего мира в том, что они думают, что там всё заведомо однозначное, правильное, рациональное, подчиняется каким-то единым законам. Типа как будто играешь в компьютерную игру, и всё что вокруг - это предсказуемые декорации и механизмы, подчиняющиеся какой-то задумке и правилам разработчика. На самом деле на собеседовании тебя может ждать абсолютно произвольный мудак с каким-угодно говном в голове. Он может тебя щемить от нехуй делать, он может называть твои правильные ответы неправильными и хуй ты кому что докажешь, он может быть психом и застрелить тебя, он может быть геем-террористом и попытаться склонить тебя к сексу. Всякое бывает.
Аноним 18/11/15 Срд 13:06:38 #498 №582772 
>>582769
То есть можно прийти на собеседование внаглую сказать что "знаешь" либы и потом спокойно себе гуглить?
Аноним 18/11/15 Срд 13:22:05 #499 №582779 
>>582769
Кстати, если интервьюер знает или умеет меньше тебя, это повод попрощаться с компанией и искать дальше? Если он знает мало, то предположительно и остальные тоже и работать будет неинтересно.
Аноним 18/11/15 Срд 13:25:21 #500 №582780 
>>582769

Скорее всего, ты провалил свои собеседования и сейчас пытаешься стать "фрилансером". Но мы-то знаем, что в душе все вы хотите работать в компании И лет тебе немного, максимализм так и прет.
Аноним 18/11/15 Срд 13:41:09 #501 №582791 
>>582780
Не угадал ни разу (ну кроме, разве что возраста, учитывая растяжимость).
Когда я был максималистом, я тоже верил в https://en.wikipedia.org/wiki/Just-world_hypothesis
Аноним 18/11/15 Срд 13:44:13 #502 №582792 
>>582791
>Just-world_hypothesis
Всякую хуйню читают. Где вы только столько времени находите?
Аноним 18/11/15 Срд 13:56:27 #503 №582794 
>>582792
Статья на википедии - хуйня, а двач - не хуйня. Да уж, наверное, двач забирает считанные минуты в день, а вот статью и за неделю бы не осилил, загруженный ты наш.
Аноним 18/11/15 Срд 15:01:27 #504 №582832 
>>582696
Atom
Аноним 18/11/15 Срд 15:27:28 #505 №582866 
Щас перекат запилю.
Аноним 18/11/15 Срд 15:55:11 #506 №582893 
ПЕРЕКАТ
>>582891 (OP)
>>582891 (OP)
comments powered by Disqus

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