Это копия, сохраненная 10 мая 2015 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Репозиторий шапки: https://github.com/ID25/js-thread
В этом итт треде вам пояснят что такое this. почему ваш div уплывает в сторону, чему равен `false + true` и почему `[] != new Array()`;
Официальный ОП забил хуй.
Стал смотреть gulpfile - судя по всему это реализуется через browserify, а для него нужно переписывать все модули в проекте.
Вопрос такой: как эту фичу подключить с минимальными телодвижениями ? Гуглил на тему SourceMaps, но везде какие-то огромные статьи о том что это и зачем, я же прошу просто названия плагинов и как их подключить.
Заранее спасибо
А в ScalaJS эта хуйня из коробки есть. Сначала даже не понял, что это за .map файлы.
" -m, --map generate source map and save as .js.map files"
А в браузере обработка этой хуйни емнип уже давно по дефолту включена.
> Number(false)
0
> Number(true)
1
> false + true
1
На первый взгляд в этом ЖС конечно ебанутый, с другой стороны, если понимать КАК оно работает, а не пытаться запоминать пикрелейтед, то там в целом всё очень просто. В Speaking Javascript приведение типов разжёвано полностью, рекомендую.
>если понимать КАК оно работает, а не пытаться запоминать пикрелейтед
Дак как понять то? Я вот думал что в примере "falsetrue" получится, хули бы и нет. Теперь надо запоминать как каждый оператор приводит типы, охуеть теперь.
+ работает как сложение строк, только если первый аргумент — строка. Если НЕ строка, то тогда + работает как сложение чисел и приводит все аргументы к числам.
C таких, что при сравнении разных типов JS делает привидение к числам через valueOf, который приводит их Number.
Поэтому
if(['0']) {console.log(true) }else {console.log(false)}
- это true
A
if(['0'] == true) {console.log(true) }else {console.log(false)}
- это false
Пиздец, вот за это js так любят. Но в то же время не вижу смысл использовать вторую конструкцию.
Лол, это баг в typeof просто, который из-за обратной совместимости с легаси говном не будут фиксить.
Говорят относительно легко уехать в букинг.ком, они перманентно набирают людей
>На первый взгляд в этом ЖС конечно ебанутый
Не жс, а просто с, у которого жаба спиздила синтаксис, а уж потом это все дерьмо прошло и в жс.
angular.js - выбор джависта. Нахуй.
knockout.js - выбор сишарпера. Нахуй.
http://epoxyjs.org/ буду форсить эту либу, если не заебет.
Меняет, если ты думал, что null - объект в жабаскрипте.
Ты прав, я просто про то, когда + несколько.
false + 2 + "" === "2"
"" + false + 2 === "false2"
>>455584
В С вообще типизация слабая, маня. Кроме фигурных скобочек в JS от C больше ничего и нет. if и for тоже по-разному работают, ага.
>>455586
Я на Backbone/Marionette всё пишу. Я согласен с тем, что по сравнению с ангулярами и эмберами там нужно писать много "лишнего" кода, но у меня есть наработки и я просто копирую нужные мне сниппеты да и всё.
Вполне ожидаемо.
Расскажи, пожалуйста, про связку Backbone + Marionette. Что нравится, что нет ? Вписался в проект на этих библиотеках, хочется знать, что меня ждет
Нравится то, что там особо нет магии. Сами библиотеки весьма просты и в их исходник для понимания сути происходящего и дебага заглядывать не только можно, но и нужно. Тот же ангуляр — это чёрный ящик по большому счёту. Да в принципе всё нравится. Первый проект писать на них может быть геморно, второй уже проще, на пятом ты просто вставляешь готовые сниппеты и ебашишь.
Спасибо. При первом знакомстве примерно такие мысли и появились. Жаль, что скорее всего придется отказаться от предложения и продолжать работать с ангуляром.
Привет. Я не знаю языков, пишу фо фан.
Собственно нужно реализовать на сайте такую хуйню.
Есть материал (картинка и небольшая надпись-ссылка), который добавляют пользователи. Материал сразу как-то оформляется и добавляется через php код.
То-есть идет сразу echo '<td>двач<tr>двач1</tr></td>'
Если делать таким образом, то получается длинная таблица, с материалом.
Собственно мне нужно как-то сделать ПЛИТКУ. Сначала как-то определить саму плитку и чтобы каждая новая ячейка плитки выходила аккуратно и вставала на место по очереди и потом просто добавлять echo 'div class=класс ячейки' и она встанет куда нужно. Получается мне нужен скрипт некоторой адаптивной автоматической плитки, где заранее уже будет все написано, а каждый новый материал будет вставать куда нужно, когда ему дадут нужный class=, прописаный в скрипте
http://getbootstrap.com/css/#grid
>If more than 12 columns are placed within a single row, each group of extra columns will, as one unit, wrap onto a new line.
Спасибо, вроде то, что нужно. Вообще этот Bootstrap неплохая хуита я смотрю. Из коробки всякое дерьмо полезное.
Если блоки будут разного размера, то все поплывет. Я точно не помню как решил эту проблему, но вроде просто ставил <div class="clearfix"></div> между группами столбцов.
С разными по высоте лучше подойдет, навреное, что-то типа этого: http://masonry.desandro.com/
Ну так там на жс, а в бутсрапе на цсс.
А еще я вот че нашел
http://stackoverflow.com/questions/4228356/integer-division-in-javascript
Это же пиздец, как вообще могло в голову прийти не сделать целых чисел? Как вы живете?
Как нет целых чисел? Ты какую-то хуйню несёшь.
>А если я ввел число 13, оно у меня представилось как 12.99999999999999 и я сделал Math.floor(x), то это будет 12?
Math.floor(13);
13
>а как сравнивать числа в жс
12 > 13;
false
Другое дело если ты сразу работаешь с флотами.
До 2^53-1 все интеджеры в JS нормальные.
https://news.ycombinator.com/item?id=9269355
просто нет типа целых чисел, если использовать переменную только для integer, оно интерпретатором будет именно так рассматриваться.
А что касается твоей херни, то там нужно округление, да.
ну с дартом обосрались, это было почти сразу видно.
даже на кложурскрипте чуваки пишут, а на этом никто.
Что нужно добавить что бы скрипт не делал ставки больше определенного числа?
https://2ch.hk/pr/thumb/456041/14274849419090s.jpg
Это, как раз, никто не отрицает. Смысл в том, что там кукарекуют - 'вот какой хороший был дарт, он повлиял на стандарты es6/es7'.
Очевидно, что Math.min(твои_вычисления, предел).
Внезапно я погуглил про готовые решения-фреймворки, нагуглил Node.js и его брата Meteor.js. Собственно я немного знаком с js и еще нагуглил неплохую книгу Discover Meteor. Вот думаю обмазатся жс и метеором.
Описано и выглядит все это пиздато.
ди нахуй пидар
жс - брокен бай дизайн недоразумение, единственное что спасёт вебфронтенд - мощный фреймворк который скроет в себе всю html/dom/js парашу и этим фреймворком будет Альберт Эйнштейн AngularJS 2.0
Этот джаваскриптофоб порвался, выносите.
>AngularJS 2.0
А я знал! А я знал что всю эту дрисню придумывают илюминаты чтобы убить мой любимый язык!
http://stackoverflow.com/questions/29316063/angular-ui-select2-breaks-data-binding
http://bakhirev.biz/demo/fdconf/
Middle JS-developer
Твой уровень хорош, но ещё далек от идеала. Почитай книги по паттернам и архитектуре веб-приложений. Разберись с наследованием на прототипах, если ещё не осознал всю их мощь. Приложишь ещё капельку усилий, ты сможешь перейти на следующую ступень и получить прибавку к зарплате.
Лол, js вообще не знаю, за всю жизнь написал на нем не больше 30 строк.
Обоссал всех итт.
У меня первый раз их не было, а на второй раз загрузились.
Норм логика. Спрашивали про DOM-api и граничные случаи семантики языка, а сделали вывод про знание архитектуры.
откровенно говоря, до сих пор ни один фреймворк ещё не взлетел в жсе до уровня стандарта.
признание получили только несколько либ.
так что задумайся, мой юный друг.
ну и ещё подумай на тему совместимости веб-компонентов и твоего ангуляра.
Вопрос к бэкэндщикам.
Callback Hell(конечно есть всякие control flow либы, но даже они не сильно спасают положение) , куча незрелых либ написанных хипстерами в старбаксе.
Расскажите почему вы пишете на этом дерьме?
Почему не показывает правильные и неправильные ответы? Непорядок.
Одно время jquery был стандартом. Примерно год назад Ангуляр был существенно популярнее остальных mvc -подобных фреймворков, но они лютейше зафейлили с 2.0
Потому что хайп важнее качества. Вам, хаскелистам, не понять.
нода -- это не фреймворк, это среда исполнения жса, отличная от браузера.
она да, взлетела.
>>456506
жквери это либа, которая нихёво втаскивала за счёт своего паттерна фасада, которая скрывала всё уебанство ИЕ6-8.
Сейчас это практически неактуально, поэтому $ применяется скорее по инерции.
Ангуляр был самым разрекламированным (как сейчас реакт), но по популярности он крайне вряд ли был первым.
Иди нахуй, мои бактерии мне жратву переваривают.
Скинь с балкона на какого-нибудь джаваскриптизера.
>>456795
Анжела?
А, ок, а то я уже подумал, что я поехал.
Мужики, чем дату мокнуть можно и имитировать работу апи? На чем-нибудь легком. Асюнк, экспресс или что мне нужно?
Помогите, братаны, внатуре, от души.
Типичный скриптодебил. Вайп был, восстановили из бэкапа. Бэкап был сделан за несколько часов до вайпа. Смекаешь?
Как мне помимо собственно html страницы передать на клиент еще 2 цифирки, чтобы их потом юзать в js скриптах?
Все, что мне пришло в голову - это передавать их в невидимых тэгах или атрибутах каких-нибудь тэгов, но такой способ кажется неправославным.
У тебя сам подход неправославный. Но раз уж на то пошло, то никто не мешает передать прямо в HTML
<script type='text/javascript'>var a1 = 1, a2 = 2</script> и вуаля, они видны из всех скриптов.
Ааа, прочитал на лурке) теперь все понял, ребята, уже не надо)
Не хочу я одельный запрос пилить под это дело, если уж можно сразу передать
Это не относится к js, пройдите на web парашу
Спасибо!
Пришло напомнить скриподаунам что их место у параши.
>указано место у параши
>в ответ куча бессвязных вскукареков
Ну что ты будешь делать с этими скриптодетьми.
Алсо.
> 1000$
> Чилавик далжин с закритеме глазаме песать на чем я скожу, квох-квох
? Взломать им что ли сайт, блядь.
> PHP и Java Script
> RoR
> Node
> безопасность, API
> сайт-визитка компании с отзывами, которая пишет Марина Евгеньевна из бухгалтерии
> просим выбрать, кем вы являетесь
> крупный опт от 10 тонн
Требования на скриншоте выёбистые до безобразия. Уровень з/п на скриншоте: нищенка при церкви зарабатывает за день больше.
> Прочитав вышесказанное, ты задумался: "...а нужно-ли мне все это?", - тогда мы ответим тебе сразу: "Нет! Мы ждем у себя единомышленников!"
Аж блевота к горлу подступила. Мерзкие лицемерные мозгоеды, которые ищут себе очередную жертву за нищенский прайс.
> иметь доступ ко всем, без исключения, мероприятиям и развлечениям, предусмотренными в Милкс
Я даже не знаю как это назвать блядь.
С одного только постера блеванул.
"Милкс Групп" - ну пиздец вообще. Удвоенная пэ, нахуй. И не с английского транслитерация, и не по-русски толком. Вся суть выёбистых хипстеров.
Глянь ещё вот на это. Петуху на телефоне предлагается зарплата в два раза больше.
> Для нас не имеет значение опыт, нам важно чтобы Вы умели:
> оперативно воспринимать новую информацию
> заинтересовывать клиентов предложением компании
> уверенно вести диалог в переписке/ по телефону/ при личной встрече
> работать в действительно дружном коллективе
от 60 000 до 80 000 руб.:
> PHP, Java, Script, Ruby on Rails, Yii, Bootstrap, Node
> Уметь печатать праграмы нагаме с завязанеме глазаме
> организации безопасности систем
> квох-квох
А всё потому, что менеджер приносит бабло прямо сразу, а программист ну хуй его знает, принесет или нет, поэтому требуют максимум знаний.
> менеджер приносит бабло прямо сразу
Программист приносит бабло не буквально как менеджер, а через автоматизацию бизнес-процессов. При этом потолок намного выше.
Программист вообще не приносит бабло. Программист помогает другим его приносить. Сисадмин тоже.
А может сразу гей-шлюхой? Без промежуточных этапов?
Да. Почему ты такая тупая мразь? Был вообще хоть нахуй какой-то малейший-премалейший смыслп написать "month" вместо "мес."? Нет, его не было. Это просто следствие твоей тупости.
Ко-ко-ко, ватник, пок-пок-пок, порвало, кудах-тах-тах, накати, пойду Кондолизе отлижу.
fs.writeFile(dir + '/' + flagfile, function(err) {
if (err){
gutil.log(gutil.colors.cyan(flagfile), 'error')
process.exit(1);
}
})
gulputil.log('test');
gulputil.log('test');
gulputil.log('test');
gulputil.log('test');
gulputil.log('test');
gulputil.log('test');
...
И на выходе какого-то хуя я получаю test test test..., и только после этого ошибку. Почему так? Какая-то ололо-мультипоточность? Как мне заставить этот кот отрабатывать в строгой последовательности?
Я непонимат о чем ты. Я всего лишь начинающая шэтемэль-обезьянка, которая решила освоить такой-то моднявый инструмент. Как мне сделать, чтобы сначала отработался этот код, а потом уже тест тест да тестом погоняет? Я попробовал fs.writeFileSync и стало еще хуже - файл создаятся, но код внутри не выполняется в принципе, то есть if (err) {...} заменяется на просто gulputil.log('test'); и нихуя не работает.
Щито мне делать? Может я вообще что-то делаю не так? Мне нужно, чтобы мой быдлокод проверял передаваемый файл, если он существует, то перезаписать его содержимое и предупредить, если нет, то создать и тоже предупредить. Это легче будет сделать с помощью всяких костылей от васяна типа isFile(), но зойчем мне костыли, я хочу выебываться и писать на нативщине, чтобы ничего потом не работало!
смотри https://github.com/caolan/async
async.series([function() { fs.writeFile... }, function() { log... }]);
сам не пробовал, но как-то так должно быть.
Кажется, что чуть-чуть я понял, почему оно так, до этого не слышал о всяких там колбэках, но углубляться сейчас в это мне явно не стоит, так что если для этого нужно тащить костыль, то лучше заюзаю isFile и т.д.
Может я все же что-то делаю не так, анон? Как на ноде корректно будет проверить существование файла? Я, как я уже говорил, нуб нубом поэтому взял первый попавшийся пример с гугла, может я просто через жопу это пытаюсь сделать? Доки я вроде почитал и ничего похожего на то, что мне нужно там не нашел. Только этот вариант. Мне просто нужна функция, которая будет говорить мне о том, существует ли файл по пути dir + '/' + flagfile по сути. Если да, то предупредить юзера и очистить его. Если нет, то создать и предупредить юзера. Также предупреждение и выход из программы нужны, если файл создать не получается.
Сейчас как ты видишь, я реализую это как мудак: вместо того, чтобы создать файл, я пишу в него. Если писать в него через танцы со всякими этими вашими колбэками, то получается рассинхрон кода. Если я пишу без них, то на ошибке, которая появляется из-за того, что я пишу в несуществующий файл, нода вылетает.
Вот полный кусок этого кода: http://pastebin.com/eGP3tWwu
Maybe you stop your hurt and to ask me about what do you want?
Почему такое отрицательное отношение к колбэкам? Крайне удобный инструмент, а осваивается за полчаса.
Я в браузерный js то не могу толком, а ты тут про такое. Я сам не любитель делать все на отъебись, но тут же должен быть способ, как реализовать такую простенькую задачу без этих ваших колбэков, кроме как обмазаться всякими сторонними пакетами, которые могут чекать наличие файла\не ронять ноду при невозможности записать в файл?
fs.writeFileSync и отебись
Не посылать запрос на картинку, очевидно же.
https://github.com/nwjs/nw.js
>>457371
Ты не сможешь писать на ЖС без углубления в коллбэки.
>>457402
Урл в дата-атрибут и потом скриптом замена дата атрибута на src. Вангую, что готовый код гуглится за 3 секунды.
Ну ок, я потратил 3 секунды http://stackoverflow.com/questions/3818063/dont-load-hidden-images
Я могу написать, но как ты его подключишь?
Есть аналоги custom js for websites, но чтобы не код вводить, а сразу файл подключать?
http://moduscreate.com/reangular-angular-react-merger/
Оптимизировать как это можно?
$(document).ready(function(){ //выполняет скрипт при построении DOM структуры
shaitan_wakaba(); //запускаем функцию
})
function shaitan_wakaba() { //основная функция
if ($("body").hasClass("makaba")) { //проверяем, двач ли это
$(".postbtn-reply-href").not(".wsh_chk").each(function() { //цикл земены номеров
$(this).text($(this).attr('name')); //берем аттрибут name и заменяем им текст номера
$(this).addClass("wsh_chk"); //отмечаем обработанное
});
}
}
$(".posts").bind("DOMSubtreeModified",function(){ //повтор скрипта при догрузке контента
shaitan_wakaba(); //запускаем функцию
});
Охуел? Я это хотел написать.
Sorry. I thought I knew you.
Russian vatnik, is it you?
>Ты не сможешь писать на ЖС без углубления в коллбэки.
Так мне и не нужно это сейчас, я всего лишь хочу написать ёба-таски для галпа на все случаи жизни. Пошел я почитать про эти ваши колбэки, вроде и правда ничего сложного, спасибо, что хоть пнули в нужном направлении, лол.
Хотя скорее всего мне кажется, что я понял, а на деле не понял, ибо слоу. Если опять напишу хуиту, то воспользуюсь писечками от васяна
Я вообще не понял, зачем тебе gulp в этой ситуации. Что ты вообще пытаешься сделать ? Сайт ? Скрипт, который будет работать из консоли ?
Есть метод для проверки существования файла http://devdocs.io/node/fs#fs_fs_exists_path_callback
Делаю себе велосипед, который будет представлять из себя gulp со всеми плагинами, которые мне хоть раз пригождались и собственным конфигом для управления всем этим. Проверка мне нужно была для функции генерации этого самого конфига, если он проебан\испорчен\етк. Я уже разобрался, все оказалось намного проще, чем я думал, есть же исключения. Обмазал ими те места, где оно падало, обработал как надо и все заебись.
Анон, вот, например написан у меня некий сайт на nodejs. Как его задеплоить на сервер? Ничего что на сервере шиндоус?
И еще, как поставить купленный домен? Как это вообще работает? Прошу, анон, помоги.
Поставить на сервер ноду и запустить. Нода под Windows есть, если ты не упрёшься в отсутствие нужных тебе модулей (а они не все есть под Windows), то всё будет норм. Домен — в панели где DNS настраивается указываешь в A записи IP-адрес своего сервера и всё. Если ты сам себе DNS, то тогда в NS указываешь себя и настраиваешь DNS сервер у себя, как это делается под виндоус — неебу в душе.
>А теперь ты пишешь что ты написал на js за 2014-2015 год или признаёшь
>Это теперь самопиара тред?
>Хули крестодетей так тянет в этот тред?
>Иди уроки учи.
>Ни одной программы, только баттхерт.
Как предсказуемо.
$('.pol').attr('src', function(){
return this.data('sr');
});
А оно не работает. Почему? Как надо сделать?
Забыл добавить - пишет ошибку Uncaught TypeError: undefined is not a function.
Никогда к Джейквери не прикасался, но знаю, что ".data" используется для получения внутренней информации либы.
Ну стандарт я не читал, так что может и де-юре.
Да верю я лол
Было уже. Если аргумент для + не строка, то всё приводится к числам. 0 + 1 = 1
Любой Object всегда != любому другому Object, даже если их "содержимое" абсолютно идентично. Ну потому что объект — это ссылка.
Если я начал учить js с ноды это сильно плохо? тащемта пролистал только лёрнжабаскрипт, остальное гуглил по ситуации
Зависит от задач. В принципе я знаю людей, которые пишут 90% времени на ЖС и браузера при этом не касаются вообще.
Один пишет бэкэнд для игры на ноде. Второй пишет сервак, который через вебсокеты чего-то там отдаёт фронтэнду.
Уровнеь серьезности разработки определяется количеством заплаченных мне за нее денег. Пруф ми вронг
Делать велосипеды не нужно
сходи на хероку, лолка
А в код посмотреть, не? Бутстрап3 и тема /assets/plugins/pace/pace-theme-flash.css
http://github.hubspot.com/pace/docs/welcome/
Pace is a Javascript and CSS library to automatically add beautiful progress and activity indicators
Наверное это не то, что я ищу, мне нужна боковая панель. Вообщем вот она оказалась http://pages.revox.io/
Поставил максимальные права 777 на две конечных папки, всё равно не работает.
Бери любой говнороутер или фреймворк и делай.
В общем как через расширения хром подменить что-либо в css файле?
Да, рачок, да, нуб
Бля, вот после таких вопросов, как твой, я задаю себе вопрос КАКОГО ХУЯ Я ТУТ ДЕЛАЮ ВООБЩЕ?!
https://developer.chrome.com/extensions/getstarted
Фронтэнд = морда двача, бэкэнд = хранение картинок, админка для мочераторов, база сообщений итд итп.
По факту всё равно надо знать и то и другое. Бэкэндщик, который в принципе не понимает как работает ХТМЛ и ЖС нахуй никому не нужен, фронтэндщик без основ понимания работы стандартных фреймворков типа рельс, джанги итп называется верстальщиком и получает в 2 раза меньше. Так что это не разделение по квалификации, а скорее просто отражение накопленного опыта — кто-то больше занимается фронтом, кто-то бэком, но на простом-среднем уровне они взаимозаменяемы.
Тут просто часто всплывают вскукареки что типа СРАЛ Я НА ВАШУ ЖСОПЕТУШНЮ, Я БЭКЭНДЩИК НА РЕЛЬСАХ. ИРЛ такого не бывает.
Потому что JS - самый лучший и гибкий высокоуровневый язык, а HTML + CSS - самый лучший конструктор интерфейсов.
>HTML + CSS - самый лучший конструктор интерфейсов
>конструктор интерфейсов
>интерфейсов
Язык разметки текста утята принимают за конструктор интерфейсов.
Вы мне лучше расскажите как встроить webkit/gecko в свои приложения и повыключать им всяких ненужных возможностей. Ах да, это же вебмакаки, можете только на жиквери плагин прикрутить. QtWebkit-петухи и сочувствующие идут на хуй.
>function(...){...; return void (0)}
В этом вообще есть смысла? Ведь обычный return и так undefined возвращает.
Если речь идёт о букмарклете или однострочнике при обработке события пиздецпиздец, то это самый совместимый способ сделать preventDefault() или return false в общем этот эффект.
>>458630
Ну это тащемта не так решается, а оборачиванием всего кода в IIFE, которой передаётся на вход window, что там надо ещё + божественное НИХУЯ, которое записывается в undefined.
Вернись в то время, когда Шрек был в тренде, там HTML'ом размечали текст, ты прав.
Ты в глаза долбишься? Написано же — undefined можно переопределить. window.undefined = "YOBA" и всё.
Вот если бы ещё return можно было переопределять...
undefined можно было переопределить только в старых версиях осла. Так что в юзерскрипте устраивать из-за этого извращения точно не имеет смысла, так в ИЕ нету юзер-скриптов. Да и даже если бы были, разве не похуй на некро-ИЕ-проблемы?
А вдруго кто-нибудь подменит undefined, который возвращает обычный return?
Не, так не получится. RAGEPANTS прав. Он возвращает не значение переменной window.undefined, а именно undefined как константу интерпретатора так сказать.
g не поможет, потому что /start.+end/g.match("start blah end blah start end"); Найдет всю строку и на этом успокоится.
И правда - помогло. Благодарю.
Не работает. Выдаёт ошибку:
/
Exception: SyntaxError: missing ; before statement
WCA_evalWithDebugger@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/actors/webconsole.js:1164:16
WCA_onEvaluateJS@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/actors/webconsole.js:786:20
WCA_onEvaluateJSAsync@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/actors/webconsole.js:757:20
DSC_onPacket@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/main.js:1422:15
LocalDebuggerTransport.prototype.send/<@resource://gre/modules/devtools/dbg-client.jsm -> resource://gre/modules/devtools/transport/transport.js:545:11
makeInfallible/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/DevToolsUtils.js:82:14
makeInfallible/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/DevToolsUtils.js:82:14
/
Ебись дальше флоатами делая колонки. Вставляй хаки чтобы твои колонки занимали всю высоту. Нахуяривай ещё position:relative+position:absolute. Пропиши везде OVERFLOW: HIDDEN, а то съедет. Затем аккуратно смажь вазелином КРОССБРАУЗЕРНОСТЬ и неспеша заталкивай себе в анус. На пике удовольствия разрешается чуть-чуть помечтать о flexbox.
Сёмушка, симеонушко. Что он пересилил? Куда? В клепание окошечек на дьжяве? Ты же питух безальтернативный.
Бутстрап решил все эти проблемы ещё 3+ года назад. А те проблемы, которые он не решил являются действительно заёбистыми и хорошо оплачиваются.
Чини детектор, и причем тут вообще окошечки? Справедливо указали на ебаные костыли, а у него неосилятор случился. Хуи сосешь?
>>458955
Бутстрап почти вылечил блочную модель, но не решил проблем неосиления самого бутстрапа. И по сей день можно увидеть добутстрапный трэш. Пушто всё поломано бай дизайн, прямо как в жс.
Да всё поломано бай дизайн. Я работал программером микроконтроллеров — там вообще ёбаный зоопарк, по сравнению с которым ЖС это венец творения просто. Спокойней надо к этому всему относиться, особенно если выбора нет, как в случае с тем же ЖС.
Ну сейчас я питоно-кофескрипто-блядь лол. Надеюсь, что об контроллеры больше зашквариваться не буду никогда.
Бутстрап становится куском неприглядной жижи после того как ты всё-таки дёрнешь ему sass исходники. А ты это обязательно сделаешь.
Алсо, у него размеры в пикселях, для ретины уже нужны хаки. И всё на нём сделать нельзя. Все сайты где использован бутстрап выглядят как бутстрап.
ты в setTimeout передаёшь результат выполнения функции moveMouce, а он ожидает функцию.
Как вариант -
setTimeout(function () { moveMouce }, 1000)
Но вообще, судя по всему у тебя ошибка именно в этой функции
>Алсо, у него размеры в пикселях, для ретины уже нужны хаки.
Хуина не нужна, но скоро таки запилят и для этих инвалидов.
>И всё на нём сделать нельзя. Все сайты где использован бутстрап выглядят как бутстрап.
Эпический долбоеб. Ещё и исходники дёргает.
>Алсо, у него размеры в пикселях, для ретины уже нужны хаки.
А для ретины нужны не css-пиксели чтоль? Или ты про хайрезжипеги и автоподгрузку @2x?
Да, про такое я не знал, спасибо. Впрочем, попользоваться бы не удалось, учитывая Not supported in IE9 and earlier
It should not come as a surprise that the end result of that process is not a well-designed application framework, but a monstrous kitchen-sink API. (For example, the interaction between controller-as syntax and isolate scopes leads to the bindToController option being required - when it's questionable if any of this complexity is necessary in the first place.)
Последний раз мсье писал в 1С году в 2003 будучи студентом 1-2 курса и получая за это деньги. Мне норм.
бывает, бэкенд пилит апи, на фронте спа, которое отдаётся через nginx.
отака хуйня, сынок
но ты прав, что это очень редко, хотя
>на простом-среднем уровне они взаимозаменяемы
это называется говноконтора и надо оттуда уёбывать
полно реализаций
если ты хочешь с синтаксисом классов (нормальным), то Babel, TypeScript, CoffeeScript.
Но смысла в этом мало, если честно))
Да нунах. Если мне надо поправить какой-то косяк в вёрстке, который проебали, ты мне предлагаешь для этого запустить всю цепочку чтобы выдать задание фронтерам исправить 10 строчек? Мне проще самому поправить и всё. То же самое, если мне нужно добавить полей в форму итд итп. Мне никогда не спустят сверху задание ВЕРСТАТЬ, но если надо что-то сверстать, то я могу — я об этом. Большая часть фронтэндеров опять же обладает как минимум базовыми знаниями джанги и со своими шаблонами пердолятся сами, а не выдают мне ХТМЛку с ЦССкой типа ГОТОВО, ЕБИТЕСЬ, СЭР.
>>459507
В ES6 это всё есть, если только вкатываешься — есть смысл начать сразу с него и не ебать мозг.
Задачу выуживания денег из тупых коммерсов? Да, решает. А больше она нихуя не решает, говнина эта сраная.
Babel же уже написали выше 2 раза
Если бы 1С была конченым говном, она не стояла бы в каждом ларьке и в каждой деревне по франчу не было бы. Это как на виндоус модно пиздеть какое она говно, но все пользуются лол.
1С - это монополия.
Если бы сделали 1С с биндингами к разным языкам программирования и разным базам данных и нормально расширяемую архитектуру - было бы в 100 раз лучше.
Но 1С этого не будут никогда делать, им невыгодно делать более открытую платформу, им выгодно чтобы люди начавшие работать с 1С, и пользователи, и разработчики, потом не могли перейти на что-то другое.
Это как если бы windows сделали posix вместо winapi и с# и directx кроссплаформенными.
Почитай любую книгу по бизнесу, лучше буржуйскую. Там написано, что задача любого бизнеса — создать монополию, а потом уверять ФАС, что это нихуя не так лол, попутно сшибая миллионы.
Потому что разделение на фронтенд и бэкенд должно быть не по технологиям, а по смыслу.
То что относится к представлению - браузерный код, серверные шаблоны, логика представлений в контроллерах - это фронтенд.
То что относится к бизнес-логике - работа с данными, выполнение команд - это бэкенд.
А еще уровней может быть больше двух.
>>459502
>>на простом-среднем уровне они взаимозаменяемы
>это называется говноконтора и надо оттуда уёбывать
Говноконтора - это когда разработчик не знает ни одной технологии на хорошем уровне.
Нормальная контора - когда он знает хорошо одну технологию и немного знает другие.
Топ левел - когда разработчик хорошо знает разные технологии, но специализируется в одной. Для большинства фирм - это перебор.
>Babel
Пробежался по докам.
Первое впечатление - попытка перенести говнопхп в js. Куча говносахара убивающего порядок. Боюсь, как бы не дошло до
export (class Mamka extend Shluxa
get: function(cb) {return cb()};
).then().get(x,y, ochko => {
return let ochkoMamki(ochko(x,y))
}).then().viebat();
Что за хуйню ты несешь?
Больше чтоли нет языков в которых есть модули и классы?
Весь синтаксический сахар - дефолтные аргументы, списковые сборки, операторы rest/spread - есть в питоне, что не мешает ему считаться самым чистым и понятым языком.
Быдло может засрать своим говном и самый чистый язык
Но тем не менее для нормальных людей профи своего дела - это самый чистый и понятный язык
> Если бы 1С была конченым говном, она не стояла бы
Если бы Сомали было говном, в нем бы не жило 10 млн. человек! Китай - самая лучшая страна, в ней аж 2 млрд. человек живёт! Следом за ней Индия! Ультимейт лоджикс!
> Это как на виндоус модно пиздеть какое она говно, но все пользуются лол.
> все пользуются
Говори за себя, говноед.
> лол
> лол
Вот именно что лол, а не "технология охуенна", говноед ты пидорский, сын шлюхи и собаки, выродок сраный.
Типичный имбецильный проприетаромладенец.
Я ожидаю, что событие change на инпуте выстрелит как только пользователь выберет файл. Но оно, судя по всему, стреляет сразу после события клик на инпуте.
Какое тогда событие вызывается после выбора файла?
> $('#input-field > .file-input').click().change(addFile( $(this) ));
> click()
Что это блять?!
Чтобы открылось окно выбора файлов жи.
Правил тут, блять, код за верстальщиком, которому тоже проще самому было поправить. Пускай уж лучше каждый своим делом занимается. Я понимаю, что ты скорее всего о каких-то совсем минимальных вещах, но тем не менее.
>стандарт es6
>Кого ебёт что там тебе нравится или нет
Понимаешь, мань, я тут не одинок, потому, просто поссу на тебя.
>>459712
Ещё одна мартышка, знающая js на уровне jquery.
Конечно есть и годные нововведения, но
классы - бессмысленны. Разве что кастомные.
Js - достаточно плохочитаем, особенно лапша из jquery цепочек смешанных с говном в виде callback-ов. Ну разве что, теперь
быдло будет писать чуть короче, но хуёвости, это конечно же не убавит.
Итого - две обоссаных мартышки.
Про ЧИТАЕМЫЙ кода питона - аж под себя сдристнул.
Чому функции не привязываются по названию?
$(selector).change( myFunction() ); - нельзя
$(selector).change( function(){ myFunction(); } ); - можно
Как вы на этом поехавшем говне пишете вообще? Ебаная наркомания.
В первом случае ты передаешь результат выполнения функции, а во втором - именно функцию. Неужели это так сложно понять ?
Ты можешь писать
$(selector).change( myFunction );
если у тебя аргументы myFunction подходят к тем, что передаёт .change()
На ванильном ты в файл писать не можешь. Разве что через какое-нибудь апи, типа хромовского
Один хуй логики никакой. Если написано .bind(чтото, счемто) значит логично предположить, что будет связано что-то с чем-то. На деле происходит хуйня невообразимая. Даже пхп предсказуемее, ей богу. Посыпаю вашу вротэндовскую лапшу подзалупным творожком и укатываюсь в закат.
>Понимаешь, мань, я тут не одинок, потому, просто поссу на тебя.
На всех вас неодиноких комитет уже поссал. Копротивленцы лол
Local storage.
Эй, ангуляропетушня, как вы объясните тот факт, что гугол не использует это говно в своих крупных (g+,gocs) прожектах?
Но я не уверен, что на всё правильно ответил, кстати. Не люблю лабораторные вопросы в которых код такой, как всё равно ИРЛ никто никогда не напишет.
Лол. Ты бы еще мне стандарт сюда притащил, долбоеб.
> Я что-то не слышал про добровольную эмиграцию в Сомали ради каких-нибудь ништяков.
А я что-то не слышал про добровольный переход с других платформ на 1С, кроме как по причине слабоумия топ-менджмента получившего откат.
Шутишь чтоле? Они и без отката на это говно перекатятся. ПАТРИОТИЧНА, ПАДДРЕЖУ ОТЕЧЕСТВЕННАВА ПРАИЗВАДИТЕЛЯ
Да ты поехавший. Никто в бизнесе не упарываться по патриотичности до тех пор, пока это не выгодно.
Херово ты знаешь русский бизнес. Порой удивительно даже, как некоторые люди вообще остаются на плаву.
>Есть какие-то публичные примеры?
Любая крупная конторка на бюджете, говноконторы торгующие с кореей/китаем, ставят это говно для понтов и гнуть пальцы, что не только говно продают, мол, вон, соотечественников тоже паддерживаем.
Короче просто иди и поработай каким-нибудь продажником, всё сам поймешь.
Так я и говорю, что когда этим можно понтануться и как следствие - получить профит - вопросов нет, что угодно скажут. Если исключительно для себя, то отечественное считается скорее признаком отсутствия качества.
Доки хоть почитай
Потому что знали что выпустят второй несовместимый с первым
Все более-менее инструкции под яблоки или под линукс. Ну да похуй, нашел под винду:
Там тип говорят, устанавливай. Я установил.
Говорят, что вот тебе консоль и какая-то кмд. Я всё запустил, хорошо.
Нодовская консоль мне математику посчитала - тип работает. Ну ок.
Потом сразу говорят - теперь делайте скрипт с хеллоуворлдом и запускайте его. Тут-то и полилось говно на меня - ведь та консоль нихуя не смогла. Ну да и на это похуй - нашел способ, мол открывай обычную консоль, пиши "node" вначале и пиши путь к файлу, который хочешь исполнить. Тип норм, но зачем это?
Дальше мне начали рассказывать за библиотеки и хорошие плагины итд итп, но моих непонятно от этого не стало меньше - что с нодой делать? Как её работать?
Есть у меня winginx там стоит всякая нода, создал с ней проект, тип, а дальше что?
Поясните, будьте добры а я знаю что вы няши.
Бамп на всякий случай
>пиши "node" вначале и пиши путь к файлу, который хочешь исполнить. Тип норм, но зачем это?
Как зачем ? А зачем программы пишут ? Ты пишешь в этот файл какие-то инструкции и нода их выполняет. Ты пишешь на JS, используя API ноды. На JS нельзя работать с файлами и каталогами, а на ноде - можно. Итого: можешь написать скрипт, который переименовывает в выбранном каталоге файлы по какому-то правилу. Это самый простой пример. Если почитаешь про системы автоматической сборки типа gulp и grunt, то увидишь, что там выполняются более продвинутые и полезные вещи.
Так как всё делать самому - западло, то можно использовать чужие плагины. Если ты зайдешь на страницу любого плагина в npmjs.com, то увидишь, что почти у всех у них есть куча зависимостей.
Что делать с нодой ? Как еще один вариант, можно запилить сайт на ней. Поищи для этого уроки по express.
Да. Но можно сделать и дополнением к существующему серверу, а не обязательно его заменой. Допустим, можешь запилить на ноде какой-нибудь чат или систему уведомлений для своего сайта.
>express.
Подробнее позя.
>Как еще один вариант, можно запилить сайт на ней.
А как это выглядеть будет? Как всегда т.е. папка с кучей пхп, js, ксс и хтмл файлов или как-то по-особому?
Допустим, я создал уже проект с нодой в вингинксе. Что дальше делать?
Выглядеть будет так же, только без пхп что ты к нему прицепился. Вместо кучи файлов пхп у тебя будет куча файлов js. Структура может быть совершенно разная. Ты можешь писать всё в одном файле (сойдет для небольшого приложения), а можешь создать по отдельному файлу для каждой сущности. Например, за действия с постами у тебя будет отвечать один файл, за действия с комментариями - другой, за личный кабинет - третий.
Не знаю, что за вингинкс, судя по сайту - что-то мутное. Уверен, что для node.js они ничего полезного не придумали. Можешь, конечно, пользоваться им, но имей ввиду, что для работы с нодой тебе достаточно установленного Node.js и блокнота, и большинство мануалов не будут знать о каком-то там вигинкс.
Express - фреймворк, который упрощает тебе создание твоего вебсервера. Условно говоря, там где на чистой ноде тебе нужно было написать 3 строчки, на экспрессе ты пишешь одну. Не смогу рассказать подробнее, не пересказывая какой-нибудь туториал. Поищи сам. Перед этим почитай про npm, если еще не знаешь.
Ты какой-то ебанутый. Дали ему документацию, читай, там все для дебилов рассосано. Нет, не хочу нормально жить, хочу жрать говно. Повезло тебе что еще на адеквата нарвался.
>классы - бессмысленны
весь смысл классов в js что ты не можешь сделать super() без использования библиотек, и чтобы люди не использовали 800 разных библиотек, это сделали стандартом.
>Js - достаточно плохочитаем
Блядь, поэтому его и улучшают.
>лапша из jquery цепочек
Ну так не пиши цепочки. Присваивай вызовы переменным с понятными именами.
Причём тут js, это просто вызовы ебаных функций.
>смешанных с говном в виде callback-ов
Ну так генераторы и async/await как раз решают проблему с колбэками.
>Про ЧИТАЕМЫЙ кода питона - аж под себя сдристнул.
Просто для интереса напиши в гугле "most readable programming language" и подумай почему 90% результатов про питон. Может быть ты даже поймёшь, что твоё субъективное мнение - не всегда истина и вообще ты его можешь в жопу себе засунуть.
Дорогой анон, пишет тебе другой нюфаг.
Я думаю лучше использовать ноду по максимуму и потому берись за препроцессоры css
Сам на выходных изучал всю эту муть, обмазывался gulp, jade, stylus. Теперь верстаю как белый человек.
Определил, senior
Каким образом использование препроцессоров отменяет то, что код нужно проверять на валидность?
Когда ты пользуешься линейкой для прочерчивания линии, предполагается, что линия приемлимо прямая.
С использованием препроцессора аналогично.
Использование такого инструмента, как препроцессор CSS, подразумевает, что на выходе будет результат с приемлимой ошибкой. Ну, тип, валидно все должно быть при использовании препроцессора, пацаны не придерутся
Я нихуя не понимаю, о чем ты. Положим color: rad вполне скомпилируется sass, но будет не валидным, почему бы не проверить? плачущий_слоу.жпг
А вообще у меня такое чувство, что я совершенно не понимаю сути ноды. Все эти потоки, хуе-мое. Как мне в таске галпа заебашить код на ноде? типа gulp.src('abu/.sass').pipe(minify()).pipe(scompile()).pipe(console.log('ololo'))? Я вроде как примерно понял, что это за хуйня, понял, что должен возвращаться поток, поэтому то, как я это сейчас написал не сработает, но блядь, что мне делать то? Как правильно вклинится в поток и написать код на ноде? Сейчас у меня это так примерно
...
.pipe(ololo1())
.pipe(through2.obj(function(file, enc, cb){
cb(null, file);
console.log('hi');
}))
.pipe(ololo2())
...
Но из-за этих ваших колбеков* hi появляется после того, как таск отработает. Может мне нужно какую-то функцию написать, я не знаю? Какой вообще синтаксис должен быть? Быть может through2.obj тут вообще не к месту? Мне нужно, чтобы после каждого файла в gulp.src делалась задержка в секунды 3. Я попробовал с помощью setTimeout, но получилась хуита: отрабатывает таск, проходит 3 секунды, разом выполняется то, что было в коде таймаута, у меня это валидация css, ибо w3c меня банхамером бьет за попытку проверить разом много файлов.
Тут меня осенило, что, наверное, дело в том, что файлы в gulp.src обрабатываются параллельно, а не поочередно, поэтому я и сосу хуй? Если да, то как заставить их по очереди обрабатываться, епта? Мне всего лишь нужно, чтобы между валидацией каждого файла проходило Х секунд времени, и если она удачна, то класть файл по пути указанному в gulp.dest, если нет, то падать с ошибкой.
Насколько я понимаю, просто так не вклинишься, ищи какой-нибудь плагин, который работает с потоками gulp. Конкретно для вывода в консоль, например, есть gulp-util.
Зачем тебе задержка ?
Вывод в консоль это просто самый очевидный пример.
Плагин, которым я проверяю валидность (w3c-css) работает через api w3c'шного онлайн-валидатора, который, видимо, банит меня за такое количество запросов. Если файлов мало, то таск перезапускается нормально. Если файлов много\файлов мало, но я много раз подряд его перезапускаю без перерыва, то валидатор начинает посылать меня нахуй и перестает открываться даже через браузер. Очевидный выход это сделать между проверкой каждого файла задержку в пару секунд, но как?
Вообще этот плагин достаточно неподходящий, он работает даже не над файлом, а над передаваемым ему текстом, то есть для его вызова я использую такой код http://pastebin.com/aTPBwHEi. Но иного выхода я не нашел.
К ссылке точка прилипла.
А gulp-css-validator смотрел ? gulp-csslint ? Если не подходит, то, наверное, выходом будет писать самому таск и внутри него уже делать таймаут.
Я, конечно, сам сразу нахуй шлю помощников, которые вместо совета говорят "не используй это", но в данном случае это именно то, что хочется тебе посоветовать.
А ангуляр позиционирует себя как лучшее решение для крупных проектов?
>gulp-css-validator
Он не завелся. И на https://www.npmjs.com/package/gulp-css-validator посмотри, вроде как завестись он и не должен был.
csslint есть, но линтер и валидатор это таки разные вещи. Еще есть gulp-w3c-css, но он вообще какой-то странный, вместо того, чтобы вывести результат в консоль или что-то вроде он перезаписывает проверяемый файл результатом его проверки, да и если у меня такая проблема с этим плагином, то и с остальными юзающими api w3c будет такая же проблема. К слову о gulp-css-validator, я изначально вместо w3c-css использовал css-validator, но там была точно такая же проблема, я еще вчера сидел и охуевал, почему у меня то работает, то нет, что за магия, а сегодня понял, что меня просто банят по ойпи или что-то вроде, ололо.
>не знает как грамотно сделать super
>Что-то пытается объяснить
Спешите видеть.
Т.е., ты полагаешь, что код на пару символов короче,
short-операторы для имбецилов и
let, const - уже прогресс?
Это конечно хорошо, что наконец-то запили полноценное наследование,
(хотя не могли не обосраться впилив class statement), но в целом
получается опять говно. Сказывается некомпетентность разрабов в Computer Science
>Ну так не пиши цепочки.
>это просто вызовы ебаных функций.
Это такой способ выехать на демагогии?
>async/await как раз решают проблему
Синоним слова "костыль", тебе знаком? Так вот это он.
Нужно просто выкинуть на хуй event-модель. Сразу решается большая часть проблем. Вот куда надо двигаться. Всё остальное - маловажное говно.
>most readable programming language
Ну так синтаксис может и читаемый впрочем, как и во многих других языках,
а вот говнокод на нём написанный - нет.
>>460545
>>460440
Забей на проверку CSS3. Используй простой sripts:'default':"node deploy/deployApp.js" из package файла и не выёбывайся.
Ты какой-то ебанутый.
по условиям задачи такова, любопытненький
Макака порвалась. Забиндил уже евенты, щенок?
У меня для тебя плохие новости. Дело в том, что ты никогда не будет пользоваться этой дурью, максимум, задеплоишь по ftp и дело с концом, а нужные либы подгрузишь через сосноль.
Нахуя тебе в однопоточной ноде sleep?
Ща выучу js, надрочу скил крутой и мне станут кучу денег на одеске давать, да?
Зачем ты это делаешь? Так уж прямо дрочишь на валидность, сделай отдельную таску для нее и запускай в самом конце.
Слишком мало данных
Ты занимаешься какой-то хуйней. Хочешь учить ноду, учи ноду, а не галп.
Конечно же. Ты попадешь в рай девственниц и блудниц, которые будут ежечасно ублажать тебя и писать за тебя код, в то время, как богатейшие люди всего мира - президенты, шейхи и миллиардеры - будут выстраиваться в очередь, чтобы лично поцеловать твою руку и снискать благодати твоей щедрости и великодушия. Будешь приравнен к богам и почитаем во всем мире и даже на дваще, каждая интерпрайз макака будет с завистью смотреть на тебя и давиться слюной, когда ты будешь разъезжать по лучшим улицам мира на своём убер-каре. Такова судьба каждого фронтэндщика, да.
Прошел тест на мидл. До этого js вообще не видел.
Анон, вопрос к тебе. Знакомый зазывает кодером на node.js
Я никогда не программил профессионально, сложнее кейгена и распознавалки капчи ничего не писал в жизни.
Короче пытаюсь я понять этот node.js, читаю nodebeginner.ru и понимаю, что это не тот js, что в браузере.
Где мне конкретно почитать по языку node.js, а не про создание div'ов в dom?
доки читай
В залы создателей вселенных, бесконечных во всех направлениях. Вершить судьбы целых миров, творить примитивные наслаждения и воздавать пресмыкающимся радость, вроде духовных и материальных благ, а может, и отбирать их. В место, где нет какого либо понятия или смысла, где всё - это он, а он, - это всё сейчас, тогда и после...
INTERNAL ERROR on line [infinity], please take reboot your PHP system
:::infinity
:::infinity
>:infinity ...setOfMonkeys->sendTo(ROOT_UNIVERSE);
Error message: This Object don't have access to constant. Please, sign up as Administrator or GOD.
>ты полагаешь, что код на пару символов короче, short-операторы и let, const - уже прогресс?
Да, потому что ни в одном мэйнстрим языке сейчас нет принципиально других более мощных выразительных средств типа паттерн матчинга, макросов, мультиметодов. Всё от новых стандартов js требуется - конкурировать по популярности с другими мэйнстрим языками.
То что люди теперь пишут не на es3 под ie8 и не на php 4 версии, а на e6 и nodejs - это охуеть какой прогресс.
>Это такой способ выехать на демагогии?
Я хотел сказать что цепочки вызовов функций можно делать или не делать в любом языке, это нельзя считать претензией к джаваскрипту.
>Нужно просто выкинуть на хуй event-модель
А какую конкретно модель ты считаешь лучше?
Shared memory concurrency c возможными взаимными блокировками, race-кондишенами, избыточными критическими секциями?
Или message passing concurrency с необходимостью копировать память постоянно?
Или функциональщина с иммутабельными данными и software transactional memory, которую большинство кодеров среднего уровня не поймёт?
>Ну так синтаксис может и читаемый, а вот говнокод на нём написанный - нет.
А вот это как раз демагогия. Говнокод на любом языке будет нечитаемым. Но нормальный код будет более читаемым, если написан на языке с более читаемым синтаксисом.
>Я хотел сказать что цепочки вызовов функций можно делать или не делать в любом языке, это нельзя считать претензией к джаваскрипту.
Справедливости ради, одна из особенностей стандартной либы Пиздона - это то, что методы не возвращают свой объект без крайне нужды, так что сделать там цепочку вызовов оче затруднительно.
Сделал это так:
gulp.task('min', ['concat'], function () {
// здесь беру результат конкатенации и его минимизирую
})
Почему-то минимизация срабатывает только со второго раза, так как на первом проходе соединенного файла еще нет. Почему ? Разве вторым параметром я не указываю, что нужно сначала сделать конкатенацию, а уже потом приступать к минимизации ?
Вопрос отпал, вот как надо правильно:
https://github.com/gulpjs/gulp/blob/master/docs/recipes/minified-and-non-minified.md
>А какую конкретно модель ты считаешь лучше?
Конкуренси легко достигается в любой модели.
Достаточно запустить в рантайм и не городить целую кучу говна в перемешку с эвентами, которые хуй отследишь.
>message passing concurrency
This. Лучшая модель из всех, причём, годков так этак из 70-х.
Только, ещё избавиться от привычной идеи устройства vm на стеках
и будет заебись.
>копировать память постоянно
Долбоёб? У тебя vm на евентах постоянно память копирует?
Просто вызываешь функцию в повторяющемся участке кода, вот и всё.
Пиздуй читать про указатели.
In message passing, each of the arguments has to copy the existing argument into a portion of the new message. This applies regardless of the size of the argument and in some cases the arguments can be as large as a document which can be megabytes worth of data. The argument has to be copied in its entirety and transmitted to the receiving object.
By contrast, for a standard procedure call, only an address (a few bits) needs to be passed for each argument and may even be passed in a general purpose register requiring zero additional storage and zero transfer time.
Сделаю в виде веб-сервиса с абоненткой в 1000р./мес. Хуйсосачерам скидки -50%. Спешите успеть!
Представь себе два актора, один отправляет сообщение другому (в виде указателя), второй его начинает обрабатывать, а первый может что-то поменять по этому же адресу - тогда всё сломается нахуй.
>происходит копирование данных.
>распределенной асинхронно
Просто между компьютерами. Тут без копирования никак.
>в проосто асинхронной, на одной машине
Нет. Иначе нахуй тогда компьютер?
awesomeFunctionName(6)(5)(8, 5, 4)(3)(multiply); // 14400
function multiply(x,y){
return x*y;
}
главная проблема с кучей скобочек. с какой стороны подойти к проблеме-ума не приложу. выручай, двач
[code]
var fn = function() {
\t// создаем массив который будет хранить аргументы и попадать в замыкание
\tvar savedArgs = [].slice.apply(arguments)
\t// смотрим на последний аргумент, если это функция
\tvar lastArg = arguments[arguments.length - 1]
\tif (typeof lastArg === 'function') {
\t\t// то применяем эту функцию ко всем аргументам кроме последнего
\t\treturn savedArgs.slice(0, -1).reduce(lastArg, 0)
\t} else {
\t\t// иначе возвращаем функцию
\t\treturn function() {
\t\t\t// которая при вызове вызывает первую функцию
\t\t\t// только её аргументы объединены с предыдущими аргументами
\t\t\tvar args = [].slice.apply(arguments)
\t\t\treturn fn.apply(null, savedArgs.concat(args))
\t\t}
\t}
}
[/code]
тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость тупость ЭТО ЖЕ ТУПОСТЬ
так и у меня тоже нету(
Это что за хипстерский синтаксис? Не надо такого сюда, если ты, конечно, не его тупостью назвал.
Если по-нормальному написать, то получится:
console.log([].every(function () {return false;}));
true
? Если так, то всё верно. Покажи мне хоть один элемент этого массива, который не удовлетворил условию. Таких нет, лалка.
> Покажи мне хоть один элемент этого массива, который не удовлетворил условию.
Покажи мне хоть один, мудило ты тупое, который удовлетворил.
Вопрос: каждый ли из этих 0 элементов удовлетворяет условию "X", некорректен. При постановке некорректных вопросов нужно либо возвращать ошибку (undefined), либо бросать exception. Но нет, блядь, кто-то пустил макаку к разработке стандарта и она туда накодила свою ТУПИЗНУ.
Исключение и ундефайнед тебе бы отдельно обрабатывать не пришлось? А сейчас хотя бы в половине случаев работает, как ожидается.
> ундефайнед тебе бы отдельно обрабатывать не пришлось?
No. Ne preshloos by.
if arr.every -> ...
&&
# Dlya uporotykh double-otritzatelej.
if (arr.every -> ... ) is false
Просто кто-то пустил блядских мартышек за комплюктер. Сука, только программы писать начал вместо скобочек с закорючками.
В куске кода, который получает на входе список ключей и перебирает их вглубь объекта добираясь, либо не добираясь до искомого. Отсутствие ключей - нормальная ситуация, если на вход попадает не-object. Но, блядь, ВНЕЗАПНО внутри элементарных типов начали обнаруживаться хлопки одной ладони, и поверь, с учетом того, что все это происходит внутри рекурсивной функции, я не сразу понял, что это не моя ошибка, а просто тупорылые школьники в stdlib наговнокодили.
already_has = props.every (key,index) ->
if ...
if ...
...
else
return false
pointer = pointer[key]
return pointer?
Ну так используй some, лалка:
console.log(![].some(function () {return !false;}));
Закон де Моргана не проходили ещё?
> ![].some(
> !false
1. Ты понимаешь, что ты уёбок, который не сможет понять что он написал уже через неделю?
2. Ты понимаешь, что some ведёт себя с пустыми массивами точно так же, как every, только в инвертированном виде, и результаты будут одинаковы?
3. Какая пизда тебя рожала?
Ну, как бы просит жс не лгать..
Какой же ты, нахуй, тупой даун, у меня даже слов нет. Заткнись, не смей ничего говорить, просто слушай, что умные люди говорят, пидрила обоссанная.
Ты в первом классе учился? Тогда ты знаешь, что нейтральный элемент умножения - единица. Не ноль, блядь, не минус восемь, а ебучая ссаная единица.
Единица - пустое произведение. Точно так же, как ноль - пустая сумма. Ведь если нихуя не складывать, что получится? Умничка, ты догадливый. То же самое происходит с умножением.
Открывай свой изрисованный учебник матеши за прошлый год и смотри: x ^ 0 = 1. Берём нихуя иксов не равных нулю, умножаем их - хуяк, и у нас единица. Клёво, правда?
И если ты посмеешь сейчас разинуть свой грязный ротешник и спросить меня, почему я заговорил про умножение, то я совершенно справедливо нассу тебе туда.
Ты про булеву алгебру слыхал когда-нибудь? Ну тип как функция "Boolean" называется. Так вот, там есть операция конъюнкции. И она - самое что ни на есть умножение. Поиграйся с консолькой:
(true true) == (true && true)
>true
(true false) == (true && false)
>true
(false true) == (false && true)
>true
(false false) == (false && false)
>true
Гляди-ка, мать, эквивалентно! Если не обращать внимание на то, что правый операнд логических операций может не вычисляться. Это потому, что "true" - это на самом деле единица, а "false" - ноль. Можешь даже попробовать так, если ты скептик и не признаёшь авторитеты:
true + 10
>11
10 / false
>Infinity
И как же, ты представляешь себе, работает метод "every"? Для начала представь, что в массиве хранятся не элементы, к которым применяется твоя функция проверки, а результаты выполнения этой функции. Ну тип как если бы что-то наподобие такого, кароч:
test = function (x) {return x > 7;};
>function test()
a = [10, 11, 8, 7];
>Array [ 10, 11, 8, 7 ]
b = a.map(test);
>Array [ true, true, true, false ]
А теперь тащи свой уродский еблет сюда:
a.every(test) == (b[0] && b[1] && b[2] && b[3])
>true
Видишь, что ты наделал? Ты только что понял, как работает метод "every". Вызвать эту ебучую функцию - всё равно что выполнить проверку каждого элемента массива и потом сделать между ними логическое и. А что мы только что про это логическое и узнали? А то, что оно - есть умножение:
a.every(test) == (b[0] b[1] b[2] b[3])
>true
Понимаешь, к чему я клоню? Именно, давай рассмотрим псевдокод:
[true, true, true, true].every() - это труе
[true, true, true].every() && [true].every() - это труе
[true, true].every() && [true, true].every() - это труе
[true].every() && [true, true, true].every() - это труе
[].every() && [true, true, true, true].every() - а это, по-твоему, фолс, мудила ты зачуханная?
Давай-ка по-умному:
1 ^ 4 = 1
1 ^ 3 1 ^ 1 = 1
1 ^ 2 1 ^ 2 = 1
1 ^ 1 1 ^ 3 = 1
1 ^ 0 * 1 ^ 4 = 0? Еблан, тупой.
Ты понимаешь, что ты поехавший? Я заебался уже твои телеги слушать.
Но если ты вдруг считаешь, что математика для ботанов и нормальному программисту она нахуй не всралась, то давай на пальцах, для даунов:
Array.protorype.every = function (test) {
\tfor (var i of this) if (!test(i)) return false;
\treturn true;
};
Это - как есть, с небольшим упрощением. А вот - как в своих влажных фантазиях видишь ты:
Array.protorype.every = function (test) {
\tif (this.length == 0) {
\t\treturn false;
\t} else {
\t\tfor (var i of this) if (!test(i)) return false;
\t\treturn true;
\t}
};
Какая версия не выглядит столь же уёбищно, как твоя мамка-шлюха? Именно такую и выбрали в качестве стандарта, даже не взглянув в сторону хуесосов, кукарекающих о ТУПИЗНЕ.
А теперь, обоссанный с ног до головы, ползи отсюда со своей рекурсией и больше не возвращайся, пока не научишься читать документацию. И никогда больше не приноси сюда свой блядский унтерсинтаксис.
А то, ишь, исключение ему на пустой массив бросать. Ну охуеть, а весь код за тебя не написать? Все нормальные люди знают, что лучшее исключение - не брошенное. Если у тебя программа с извращённой логикой, то сам проверяй .length == 0 и не еби мозги занятым людям.
Какой же ты, нахуй, тупой даун, у меня даже слов нет. Заткнись, не смей ничего говорить, просто слушай, что умные люди говорят, пидрила обоссанная.
Ты в первом классе учился? Тогда ты знаешь, что нейтральный элемент умножения - единица. Не ноль, блядь, не минус восемь, а ебучая ссаная единица.
Единица - пустое произведение. Точно так же, как ноль - пустая сумма. Ведь если нихуя не складывать, что получится? Умничка, ты догадливый. То же самое происходит с умножением.
Открывай свой изрисованный учебник матеши за прошлый год и смотри: x ^ 0 = 1. Берём нихуя иксов не равных нулю, умножаем их - хуяк, и у нас единица. Клёво, правда?
И если ты посмеешь сейчас разинуть свой грязный ротешник и спросить меня, почему я заговорил про умножение, то я совершенно справедливо нассу тебе туда.
Ты про булеву алгебру слыхал когда-нибудь? Ну тип как функция "Boolean" называется. Так вот, там есть операция конъюнкции. И она - самое что ни на есть умножение. Поиграйся с консолькой:
(true true) == (true && true)
>true
(true false) == (true && false)
>true
(false true) == (false && true)
>true
(false false) == (false && false)
>true
Гляди-ка, мать, эквивалентно! Если не обращать внимание на то, что правый операнд логических операций может не вычисляться. Это потому, что "true" - это на самом деле единица, а "false" - ноль. Можешь даже попробовать так, если ты скептик и не признаёшь авторитеты:
true + 10
>11
10 / false
>Infinity
И как же, ты представляешь себе, работает метод "every"? Для начала представь, что в массиве хранятся не элементы, к которым применяется твоя функция проверки, а результаты выполнения этой функции. Ну тип как если бы что-то наподобие такого, кароч:
test = function (x) {return x > 7;};
>function test()
a = [10, 11, 8, 7];
>Array [ 10, 11, 8, 7 ]
b = a.map(test);
>Array [ true, true, true, false ]
А теперь тащи свой уродский еблет сюда:
a.every(test) == (b[0] && b[1] && b[2] && b[3])
>true
Видишь, что ты наделал? Ты только что понял, как работает метод "every". Вызвать эту ебучую функцию - всё равно что выполнить проверку каждого элемента массива и потом сделать между ними логическое и. А что мы только что про это логическое и узнали? А то, что оно - есть умножение:
a.every(test) == (b[0] b[1] b[2] b[3])
>true
Понимаешь, к чему я клоню? Именно, давай рассмотрим псевдокод:
[true, true, true, true].every() - это труе
[true, true, true].every() && [true].every() - это труе
[true, true].every() && [true, true].every() - это труе
[true].every() && [true, true, true].every() - это труе
[].every() && [true, true, true, true].every() - а это, по-твоему, фолс, мудила ты зачуханная?
Давай-ка по-умному:
1 ^ 4 = 1
1 ^ 3 1 ^ 1 = 1
1 ^ 2 1 ^ 2 = 1
1 ^ 1 1 ^ 3 = 1
1 ^ 0 * 1 ^ 4 = 0? Еблан, тупой.
Ты понимаешь, что ты поехавший? Я заебался уже твои телеги слушать.
Но если ты вдруг считаешь, что математика для ботанов и нормальному программисту она нахуй не всралась, то давай на пальцах, для даунов:
Array.protorype.every = function (test) {
\tfor (var i of this) if (!test(i)) return false;
\treturn true;
};
Это - как есть, с небольшим упрощением. А вот - как в своих влажных фантазиях видишь ты:
Array.protorype.every = function (test) {
\tif (this.length == 0) {
\t\treturn false;
\t} else {
\t\tfor (var i of this) if (!test(i)) return false;
\t\treturn true;
\t}
};
Какая версия не выглядит столь же уёбищно, как твоя мамка-шлюха? Именно такую и выбрали в качестве стандарта, даже не взглянув в сторону хуесосов, кукарекающих о ТУПИЗНЕ.
А теперь, обоссанный с ног до головы, ползи отсюда со своей рекурсией и больше не возвращайся, пока не научишься читать документацию. И никогда больше не приноси сюда свой блядский унтерсинтаксис.
А то, ишь, исключение ему на пустой массив бросать. Ну охуеть, а весь код за тебя не написать? Все нормальные люди знают, что лучшее исключение - не брошенное. Если у тебя программа с извращённой логикой, то сам проверяй .length == 0 и не еби мозги занятым людям.
Что? Я с разметкой обосрался? Это не я обосрался, это криворукая мудила уже полгода тег "code" вернуть не может. Страдайте теперь.
тебе скрипт сделали
> a.every(test) == (b[0] && b[1] && b[2] && b[3])
> как работает метод "every"
> 1 ^ 4
> 1 ^ 0
Мой румяный хуесос, метод every работает не так. Метод every прекращает свою работу при получении первого же false. Потомучто метод every это метод для перебора элементов массива, а не для возведения единиц в нулевую степень.
> квох-квох, кудах-кудах
Ты вроде петушился по поводу использования функции some, про которую ты так тактично умолчал в своих покудахтах. Давай всё же вернёмся и ты здесь всем на практике докажешь, что я говно, а ты - герой. Предлагаю тебе небольшой челлендж для знатоков "Закона де Моргана": http://pastebin.com/jwFBMtuv имплементировать функцию fnSome таким образом, чтобы в ней не было той самой лишней проверки на keys.length is 0, а следовательно, было на одну вычислительную операцию меньше.
> 1 ^ 0
а
> x ^ 0
и при x равном нулю это выражение
> 0 ^ 0
решения не имеет.
>Метод every прекращает свою работу при получении первого же false.
А это:
>b[0] && b[1] && b[2] && b[3]
Как, по-твоему, работает?
У тебя спойлеры не открываются? И про нуль, и про вычисление правого операнда логических операций я пояснил. Ни то, ни другое никак не сказываются на логике рассуждений.
>>461946
Я уже понял, что ты беспросветно тупой студент мехмата с гонором как у западно-казахстанского мажорчика. Давай, докажи свой тупорылый пиздёж делом, либо соси писю.
--> http://pastebin.com/jwFBMtuv
> И про нуль
Давай ещё раз, для тупых,
0^0 == ... ?
> про вычисление правого операнда
Нерелевантно вот к этому:
0 ^ 0 * 1 ^ 4 = ... ?
Даже разбираться в этом Паскале не буду. Пиши на Джаваскрипте или иди нахуй.
>0^0 == ... ?
0. До исключающего или так и не дочитал?
>Нерелевантно вот к этому:
>0 ^ 0 * 1 ^ 4 = ... ?
Сам-то понял, что сказал?
> Пиши на Джаваскрипте
Посасывание писи через 3.. 2.. 1..
http://pastebin.com/zphkBjvA
> До исключающего или так и не дочитал?
Шлюшка, не увиливай от вопроса.
Ты, небось, думал, что я на тот твой пост овечаю? Мне просто тебя выловить надо было, чтобы объяснить, почему [].every() == true, вот и взял твой последний пост. Если бы ты убрал лицо от моего члена, то заметил бы, что тема про "some" закрыта ещё до того, как ты её прокомментировал: >>461700.
>Шлюшка, не увиливай от вопроса.
Нахуй ты мне этот вопрос задаёшь? Ты совсем тупой, что ли?
Нарекаю тебя ПИСЕСОСАТЕЛЕМ. И чтобы без мамы в JavaScript-треде больше не появлялся.
Уёбывай, рачина.
> Метод every() действует подобно квантору всеобщности в математике. В частности, он вернёт true для пустого массива. Это так называемая бессодержательная истина (vacuously true) — все элементы пустого множества (англ.) удовлетворяют любому заданному условию.
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/every
А писал (и программировал) эту хуйню такой же великий гебёнок, будущий гениальный математик из изгаиля и просто анальный пидор-второкурсник, как наш ПИСЯСОСАТЕЛЬ, о чем и речь. У него замечательно развит речевой аппарат, и плохо развито всё остальное. Поэтому до квантора всеобщности он додуматься смог, а до того, что этот говноквантор в функции перебора элементов массива нахуй не всрался и на практике представляет собой полную бессмыслицу, догадаться уже не получилось.
Неосилятор не может написать код уровня
[code]
if ( a.length && a.every(function(e) { return e; }) )
[/code]
> a.length &&
Говнокод.
> не может написать
Ты настолько тупой, что даже сути проблемы не понял.
>как наш ПИСЯСОСАТЕЛЬ
Нехило же тебе срачельник разворотило, в каждом посте оскорбление в мою сторону вставить пытаешься, даже если вообще не к месту.
>функции перебора элементов массива
То, что твой наивный мозг воспринял этот метод, как функцию перебора элементов массива, - твои проблемы.
Когда вспоминаю твои глупые школьные советы. И убогие попытки написания кода. Признайся, ты ведь до этого треда вообще не программировал?
Спасибо анон, давно хотел туда сходить, поробовать и вот дошел благодаря тебе. Годнота. Алсо, ты проголосовала на CSS3/Sass там где выбираешь что тебе интересно, но еще не запилено?
>Ну или тесты какие нибудь.
Можешь сходить на htmlacademy, там вроде есть один или два трека, состоящих полностью из испытаний. Но я не знаю твой уровень, может там тебе будет не интересно.
Уровень — год на фронтэнде. Нет, не голосовал, видимо, не адекватный был когда регался.
Ты вовремя.
Ты это я, лол. Тогда на htmlacademy правда можешь сходить, вот сюда например https://htmlacademy.ru/courses/67
Хуйня какая то, я думал что нибудь нормальное будет. А задачки типа тех что там у меня на работе каждый день возникают, заебало, пиздец.
Благо, начальство понимает и все чаще дает задачи на программирование.
onClick = '$('#form-text').text = "DESIRED TEXT";'
Когда новый ангуляр завезут?
Организовано всё примерно так:
$(currentSlide).fadeOut(200);
$(currentSlide).removeClass('active-slide');
$(prevSlide).delay(300).fadeIn(300);
$(prevSlide).addClass('active-slide');
Сап, помогите написать вот такую программку десктопную.
Как она работает: отмечая галочками чекбоксы, в форме появляются слова тут они почему-то заменяются, а должны идти через запятую, также можно добавлять чекбоксы и удалять я забыл в акшуре это показать, создавать свои списки и редактировать их. Направьте на путь истинный.
Повторный клик по чекбоксу должен убирать слово из формы.
Тебе нужен nw.js и angular.js. Сначала реализуй то, что задумал на plnkr.co/edit, потом перенесешь это на десктоп.
Первый шаг - вывести N-ое число чекбоксов, имея массив значений.
Что за хуйня пике?
Это копия, сохраненная 10 мая 2015 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.