24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
В этом треде адепты самого гибкого и удобного языка в мире обсуждают дальшнейшее развитие этого торжества научно-технической мысли. Официально принят ES6, а значит недостатки JS окончательно искоренены. Ура! Обсуждаем чистый JS, Node, jQuery и другие проявления этого замечательного языка, не забывая смеяться над залётными рабипетушками.
Ньюфагам: 1. Что это за язык такой? - Мультипарадигменный язык, изначально создавался для использования в браузерах как язык сценариев для придания интерактивности веб-страницам, однако в процессе своего развития преодолел этот этап и сейчас может использоваться для любых целей ввиду своей неограниченной гибкости и удивительно удобного синтаксиса.
2. Это чтобы менять цвета, и вызывать всякие всплывающие окна? - Нет. Это только малая часть того, что может язык. Сейчас, на JS можно делать игры (phaser, cocos, etc.), 3D графику (three.js), можно делать и приложения для телефонов(phonegap, ionic), можно делать десктоп приложения(NW.js).
3. Ну ясно, а че еще можно? - А еще можно использовать на сервере, причем очень даже успешно. А все благодаря платформе Node.js, и v8, который встроен во все хромоподобное. Node.js по производительности и удобству работы превосходит большинство остальных серверных языков.
4. Я щас ничего не понял, повтори. - Проще говоря, если ты делаешь огромный интернет магазин или хай лоад проект, то можешь смело использовать JavaScript и Node.js.
5. А что еще прикольного можно сделать? - А еще есть MVC фреймворки, Angular, Backbone, Ember, Knockout и другие, менее популярные.
6. Зачем оно надо? - Для создания SPA, в основном, но ты можешь копнуть глубже.
7. Очень уж много всяких фреймворков... Нельзя ли просто изучить jquery и писать все на нем? - Не стоит, можешь начать писать на жыквери, когда освоишь ванильный JS, дабы не испортить себе восприятие языка, и вбудущем не испытывать трудностей с изучением сложных фреймворков.
8. Ну ладно, с чего начать изучение то? - Дальше я приложу список материалов для изучения.
Учим JS: Книги: Дэвид Фленеган - "JavaScript: Подробное руководство"
Кирилл Сухов - "Node.js. Путеводитель по технологии"
Эдди Османи - "Разработка Backbone.js приложений"
Dr. Axel Rauschmayer - "Speaking JavaScript: An In-Depth Guide for Programmers" - Одна из лучших книг по JS. Пока только на английском. http://speakingjs.com/
Выбери себе направление. Может, ты хочешь игори делать? Тогда вперед на гитхаб, и ищи phaser, pixi и другое, выбор не маленький. Хочешь на сервер сайд, на самой хипстерской технологии? Копай в сторону node, express, socket io. Хочешь писать MVC логику? Angular, backbone, да множество их. Нельзя забывать про NW.js, позволяющий создавать десктопные приложения.
Приглашаем в конфу JS-треда. * Помогаем освоиться с языком, решить проблемы с кодом или выбрать IDE, а так же лампово общаемся на околоайтишные темы. Что бы попасть к нам, пишите на [email protected] Если боитесь деанона, создавайте временные ящики на dropmail.me, temp-mail.org и аналогах. Нас уже 16 и мы собираемся расширяться на остальные языки
Привет, бандиты. Есть такое задание на учебке, оно на пике. Я вот что-то нихуя не пойму что от меня надо, может кто толком объяснить? Ньюфаг лучше с кодом даже, буду безумно благодарен
Пацаны, работаю джуниор-рельсовиком на довольно засранном проекте на основе редмайна. Тут сверху пришло требование все переписать нахуй, и наши старшие бракоделы решили писать на метеоре, ебучие хипстеры. Когда я устраивался сюда 4 месяца назад, у меня задача была - насобачиться перед уходом на фриланс/удаленную работу. На рельсах естественно. Так вот вопрос - как там у метеора сейчас с востребованностью вообще? Оно мне нужно? А если съебу, вот эта вся ситуация будет расцениваться как уважительная причина для ухода после 4 месяцев работы?
>>510815 Забудь про код на время. Советую сначала почитать про то, что такое MVC, а потом уже лезть в конкретные реализации. Вообще, ньюфагам всегда говорят на первых порах пердолить логику и алгоритмы (которые не зависят от языка и фреймворка). А ты через жопу лезешь, кодить сразу.
>>510847 >старшие бракоделы решили писать на метеоре Вангую некомпетентных долбоебов без опыта. Насмотрелись на метеоровскую магию из туториалов и решили что вот она, серебряная пуля, наконец-то.
Если есть куда съебывать – съебывай. Причина достаточно уважительная.
>>511006 апворк это маленькая часть рынка вообще. имхо количество удалённых вакансий в каком-нибудь миллионнике США примерно такое же как на апворке и ЗП выше.
Java/Scala бибизян в треде. Сегодня надо было написать небольшую функцию на js (ну то есть по большому счёту я первый раз воспользовался этим языком). Вопрос такой: как вообще защищается ваш код от говна и эксепшенов типа "у этого объекта нет такого метода"?
У пацанов со статической типизацией всё понятно: не компилится = не работает. А здесь как? Любой индус может запушить тонну кода, который вроде как выглядит прилично, но валится при использовании, есть против этого защитный механизм?
>>511213 Добро пожаловать в динамическую петушарню. Защиты нет никакой, гугл говорит что это очень сложно. Микрософт выпустил поеботу - тайпскрипт. Плюс один костыль епта. мимо дотнет господин, у которого горит проект на жс, и которого скоро пидорнут с работы
>>511224 Не очень понимаю, как спасут тесты, пусть даже с любыми моками и спаями, от того, что абстрактный индус вызовет метод у объекта, который метода не имеет. И самая вишенка при этом - это то, что этот код легко может добраться до продакшена, если нет всяких инструментов для подсчёта покрытия.
Я писал одно время тесты на перле - там всё тоже было легко и аккуратно, но опять же основывалось на предположении, что ты работаешь с объектом, имеющим определённый набор полей/методов.
>>511239 К сожалению я просто врабатываюсь в проект, а там используется сам жс по себе. Ну и не в моих интересах приходить и рассказывать людям, как им дрочить. Но всё равно спасибо, глядишь расширю свой кругозор.
>>511254 Твой случай, это разработка библиотеки, которую используют индусы, и ты хочешь защитить свою библиотеку от неправильного использования? Т.е. у тебя как бы нет доступа к индускому коду? Тогда, наверное, надо как можно раньше отдавать ошибку. Покрывать все входные данные ассертами и кидать сразу эксепшон, если что-то не так. Причем можно сделать dev и prod версии, в prod версии console.log, в dev — throw Error.
Короче, решил высказать свой баттхёрт ниасилятора.
Устроился на стажировку в компанию, было примерно 2к заявок, отбирали всего до 30 человек. Первые три задания были простейшими, написать простейшую реализацию ООП со всякими наследованиями и проверками, набросать пример работы сайта по REST (как выглядят запросы, куда, посты-геты и всё такое), и с помощью соснольки монгодб подредактировать дамп базы и сделать там парочку запросов и пояснить за их результаты. Короче, простейшая хуита. Потом дали ещё одно задание - написать todo-list на jquery. Написал, ничего сложного, ладно.
Затем пошло уже что-то странное. На эти задания выше дали 2 недели, фактически ДОХУЯ времени для такой простой хуиты, а потом началось: 1) сверстать два сайта по макетам, полностью адаптивных, притом с дохуище всяких ебанутых требований, типа там обязательно только таким способом сделать центрирование, а там нельзя резиновую делать так, а сделать по другому. Короче, специально усложняя. Внутри ещё всякие блоки, одни можно только по вертикали центрировать, другие только горизонтально, добавить к ним всякие педлеки и свистелки и чтобы на всех разрешениях популярных работало нормально. 2) Туда же сделать ещё два задания - написать по MVC паттерну простое приложение. На всё это 6 дней. Ладно, ещё можно успеть ньюфагу напомню, неделю назад ньюфагам дали лекцию о том, что такое ООП 3) Затем дали резко задание по англуару, написать приложение которое работает с данными, ввод-вывод, всё интерактивненько, аватарки у юзеров, всякие данные, фильтры, поиск, категории, добавление, удаление. Тут уж я прихуел немного, потому что времени 4 дня. Но самое интересное то, что на следующий день дали ещё одно задание, и потом каждый день будут давать ещё одно, с шагом в один день, ну короче к концу 4 дня у тебя будет 4 задания и одно из них ты должен сдавать, а на следующий день уже следующее сдать.
А дальше думаете пошла обычная простая хуита для ньюфага, который 2 недели назад делали задание в духе "ЧТО ТАКОЕ ООП" и "ЧТО ТАКОЕ NOSQL БД"? - Хуй там!
1) ещё одно, но уже полноценное приложение на ангуляре, уже сложнее в несколько раз 2) изучить jasmine, phantom, selenium, начать покрывать свое прошлое задание тестами, покрывать следующее тестами тоже 3) Node.js, Express.js 4) Sailsjs на 3 фреймворка - 4 дня, норм так, а 3 недели назад только узнавали что такое ООП и зачем оно И притом на всём этом надо писать приложения полноценные, типа РЕАЛЬНЫЕ ЗАДАЧИ, со сроком в 4 дня на каждое, но при этом на тебе всегда висит 4 задачи, так что выходит по 1 дню на каждую.
Ах да, они записывали лекции, но половина из них просто пиздец уебищные, где лектор пиздит с какой-то тянкой, которая постоянно заходит к нему, а потом отходит на 10-15 минут куда-то просто так и так несколкьо раз, лол, объясняет что такое ХТМЛ и ЦСС и как работают дивы, и на всё это 3 часа. Притом что 3 часа он объясняет самое бесполезное, а про что-то необходимое вообще нихуя не сказано. Наверное даже ХТМЛ за 24 ЧАСА от Попова полезнее этой хуйни.
Короче, пиздец мне бомбанула от такого скейла сложности, прям как на знаменитой пикче рисуем круг, а теперь рисуем остальную часть совы. Может я конечно просто наследственный дебил, но мне кажется что ньюфагу, каких они набирали судя по вступительным заданиям, сделать всё это практически невозможно если у него нет какого-то опыта программирования приличного. Зато вон знакомый устроился в другую компанию на интернатуру такую же, и их там учат нормально, никаких 7 фреймворков за 7 дней, спокойно изучают по носорогу, пишут всякие хуитки, разбирают всё детально, потом будут месяц разрабатывать уже свои приложения на фреймворках после после 5 месяцев обучения.
>>511412 Два раза устраивался в it-конторы, оба раза в те, что выполняли контракты государства российского. Никакой проверки. Даже наебаторское резюме не проверили.
Решила цена вопроса - требования к з/п и написанный опыт. Я написал 5 лет, хотя мне было по-моему 21 год тогда. Сейчас уже получается лет 9-10 такого опыта :).
Вообщем, приходил на раб место рано утром, уходил в часа четыре, даже если целый день ничего не делал. Получал сначала 30, под конец апнулся до 42 дерева в месяц.
Обычно мне приносили задание, которое могло быть расчитано по планам на пару суток, я делал за 30 минут, после сёрфил по интернетам.
Но бывали и завалы, когда один раз заболел, пришёл через неделю, а на столе кипа выше монитора. Кроме непосредственно программирования иногда требовалось помочь в серверной, куда получил доступ только на 2 месяце работы по понятным причинам, менял стухшие диски, грузил патчи на сервера.
В итоге подзаебал именно график и потолок роста. То есть я осознал, что могу до конца дней вот так вот вставать рано утром, проёбывая потенциал и получая даже по тем годам не самую большую з/п. Мой батя например тракторист и то где-то 30 в месяц получал.
В итоге большую часть средств кидал на счёт в сбербанке, сейчас живу на проценты от заработанного изредка снимаю, когда надо что-то обновить или сделать ремонт, а так пытаюсь сам чего-то добиться. Но делаю это без особого энтузиазма, так как денег хватает на мои нужды, а завышенных потребностей у меня нет.
Было бы жильё, пища, интернет и хороший компьютер. Всё, что мне нужно было от жизни я имею. Не знаю куда ещё стремиться.
Поясните залетному. в либе есть функция this.VKI_show = function(elem) { ... } Что в данном случае означает ЗИС? Из-за этого ЗИС хуйня ниже не взлетает или причина в чем-то другом? (function() { var oldVersion = someLibrary.someFunction; someLibrary.someFunction = function() { // do some stuff var result = oldVersion.apply(this, arguments); // do some more stuff return result; }; })();
>>511694 Нет, сначала тебя кормят знаниями аки гуся, после чего дают РЕАЛЬНОЕ ЗАДАНИЕ, которое ещё и где-нибудь могут использовать потом. А после всего этого ты идёшь нахуй, а берут Ерохина, который с манагером пивас пил
Вопрос jQuery-богам. Имеется фронт энд код, который действует аналогично бэк энду, не перезагружая страницы. Так, аналогом добавления комментария в блоге служит простое создание элемента через $("<div/>").appendTo("#comments") Также имеется аналогичный аналог удоления камента. Собсна, вопрос: какого хуя удаление вида $("#comment").remove() работает с первоначальными элементами (которые были отрендерены сервером при загрузке страницы), но при попытке удаления свежего камента, созданного через jQuery, скрипт не работает? В моем случае работает по дефолту через POST запрос Через исходный код видно, что элементы созданные скриптом аналогичны тем, каторые отрендерил бы сервер. мимо рубиребенок
Посоны, а где посмотреть код реализации css в браузерах.
Например, мне интересно как реализовали background-position, где чем ближе элемент к краю, тем больше он сдвигается в противоположную сторону, уклоняясь от выпадения элемента за края контейнера. Сам я слишком тупой что бы написать такую функцию, а подглядев бы все понял.
>>511958 я нихуя не понял. ты parallax имеешь в виду? если да, чистым css тут не обойтись. или ты настолько тупой, что не можешь в right click > inspect element?
>>512036 Я сразу код разбил на части, так что вряд ли. Есть одна функция, которая обрабатывает создание поста и создает элемент с нужным айдишником. А дальше есть отдельная функция, которая обрабатывает отдельный ивент нажатия на кнопку удаления постакнопка находится внутри свежесозданного поста. Функция выдергивает этот айдишник комментария и передает этот айдишник уже другой функции, которая по айдишнику вычисляет div-блок каммента и удаляет его.
Выглядит примерно так (сильно упрощенно): [code lang="javascript"]
$(document).ready(function(){
var addElement = function (id) { $("<div/>", { id: id }).appendTo("#comments"); }
var deleteElement = function (id) { $("#" + id).remove(); }
$("#add").click(function () { var id = this.attr("id"); addElement(id); });
$("#remove").click(function () { var id = this.attr("id"); deleteElement(id); });
Как сделать jsonp-запрос по нажатию кнопки, с данными, введёнными пользователем в поля на странице, желательно на чистом js, без жиквиря? Открываем страницу, заполняем текстовые поля, жмём кнопку - посылаем жсонп-запрос.
Вчерашнее школиё 94, 92, 90 г.р., минусующее олдфагов нихуя в жизни не создавала, освоила, ЛОЛ, JS(SICK!) и считает, что может жрать на 170К рушлей. Ебанись, приехали, называется Всему вина моча, которая потекла лет 10 назад от индусов - мол, есть "бэкндеры" (создатели всей неведомой хуеты, где нужно учиться нормально компьюта ссайенсу годами и иметь нехилую такую экспу, чтобы это ещё работало кошерно), есть "фронтендеры" - любой мудак, только вчера пересевший с фотожопной книги через генерацию кода на JS (9 из 10 сегодняшних фронтэндеров вообще не понимает, откуда JS растёт, как и почему)
>>512214 а ты все деньги считаешь, кто может жрать, а кто нет. или ты казачек-засланец? мол, не ребят, вы мало ззнаете, не смейте просить так много у своего капиталиста. а капиталист тем временем потирает руки: аххх, еще больше дешевых рабочих, ахх куплю еще одну квартиру в москве.
>>512068 Я не знаю, актуальна ли ещё проблема, но отпишу. Во-первых, айди у кнопок нужно менять на классы. Не может быть двух одинаковых айди, в уникальности - его мякотка. В твоём же примере - множество потенциальных элементов с id add и remove. В принципе, без айди можно удалять даже организовать удаление, просто прибивая контейнер коммента по closest() для кпопки. Что же до действий на новых комментах, то проблема в том, что на них просто не висят обработчики. Они висят лишь на элементах, существующих на момент $(document).ready(). Чтобы обработчик получали свежие элементы, событие нужно вешать на родителя, указывая в параметрах селектор дочерних элементов, на которых обработчик будет срабатывать. Погляди в доке: api.jquery.com/on/ Такие дела.
>>512665 Что интересного в однотипном ковырянии верстки - тут только терпение, нервы и усидчивость нужны, порог вхождения низкий. А на пхп можно решать интересные функциональные задачи. Фронтенд для пидоров с рюшками.
JS зависимые есть вопрос, для успешного веб макакинга, мне достаточно знать HTML. CSS, JS на базовом уровне, ну еще пару фреймворков типа ангулара и бэкбон, ну и немного джейквери(хотя я так понимаю из-за удобства он будет моей основной опорой)? Этого мне достаточно будет?
Алсо, как вообще происходит веб макакинг, мне на фриланс сайте дают заказ на сайт по говно ММОРПГ за 200 рублей, я его запиливаю на бесплатном шаблоне бесплатном шаблоне на джумале(ну или на чем там пилят), а потом дорабатываю до работоспособного состояния на основе своих знаний HTML. CSS, JS и получаю свои 200 рублей? Все верно?
Жсаны, я не понял, почему в факе еще нет этого вина, лучше всего объясняющего механизм работы языка? Это же МАСТ ХЭВ, вашу мать. https://github.com/getify/You-Dont-Know-JS
>>512733 >>512738 Бля вы вместо того, чтобы цитировать друг друга как два долбоеба, второй объяснил бы лучше первому, чем действительно фронтэнд интереснее бэкэнда.
>>512805 Я тоже раньше считал, что бэкэнд интереснее. Но после работы бэком понял, что задачи в целом скучны и однообразны. К тому же без хорошего знания фронта ты приличный современный сайт не построишь. Здесь я больше за фулл стэк скорее, нежели за бак или фронт отдельно.
Ребята, допустим у меня есть input:text, в котором я ввожу выражение вида 2+2. Есть ли какой-то метод, благодаря которому можно было бы сразу это посчитать? Что пробовал:
var field = document.getElementById('field').value; alert(field); // 2+2 alert(+field); //NaN
>>512728 >на них просто не висят обработчики Бобра тебе! Теперь прояснилось хотя бы.Вроде так просто, странно, почему сам не догадался А по поводу айди - это код сильно упрощенный, написал #add чтобы понятна идея была. Так-то я в верстке предпочитаю вообще поменьше классов и ид юзать, когда можно с тем же успехом написать 'header nav a'.
>>512779 Все, что ты перечислил, уже является очень неплохим стеком. Для иных задач даже фреймворки могут быть излишни. Алсо, ванилла и jquery все же первичны, ящитаю.
>>512853 Value будет строковым. Чтобы посчитать выражение, его надо сначала распарсить. Есть, например, лобовой простой вариант с eval(value).
>>512864 Чаю. Повсеместный каскад в css - не самый лучший подход, но вполне оправданный в случаях с разными типами ссылок, например, а классов бояться не нужно. Алсо, вопрос путаницы с классами решается следованием какой-нибудь методике, которая систематизирует их имена. Тот же БЭМ как вариант.
>>511354 Зачем ты этой хуйней занимаешься, не проще было бы устроиться джуном и получить нормальный опыт + деньги? По своему опыту знаю, что в ДС-2 берут абсолютных даунов даже за 30-40к.
Не забуду упомянуть, что нода должна умереть. Вот мой цикл ее освоения:
1) Накатил по тутору на хероку express-приложение. 2) Накатил npm, nodejs, ejs, express на локалке. 3) Поправил файл с запущенным сервером. 4) Понял что этому говну надо перезапускать серверный js. 5) Почитал уебанских статей про перезагружальщик сервера чтобы не делать это руками. 6) Почитал на хабре критических статей касательно nodejs и сильно охуел от коммьюнити, состоящее из 80% хипстеров, сующих свою сраную бошку как страусы в песок (ведь тренд такой тренд) и 20% гиков, которые способны клепать сайты на уровне коллбеков. 7) Почитал абсолютно отсосные статьи по юзкейсам. 8) Сейчас буду сносить это немощное говно.
Приглашаем в конфу JS-треда. Помогаем освоиться с языком, решить проблемы с кодом или выбрать IDE, а так же лампово общаемся на околоайтишные темы. Что бы попасть к нам, пишите на [email protected].
>>513236 Нода нужна исключительно для запуска инструментов сборки и девелоперских серверов (как в webpack сделоно). В продакшене её использовать будут только наглухо отбитые утырки.
>>512945 Я использую ноду потому что мне нужно иметь одну и ту же логику на сервере и клиенте в некоторых местах. Ну, я игру делаю, и мне надо проверять валидность хода на клиенте, чтобы сразу юзеру показывать возможность хода, и обязательно надо ещё и на сервере проверять, чтобы не читерили. И я могу взять один файлик на JS, описать там в функциях логику проверку валидности и подключить его и в веб-морде и в ноде. Профит. А так пришлось бы одну и ту же логику писать и на ЖС и на каком-нибудь питоне.
>>513597 Работает нода в продакшене во исполнение закона о аутентификации пользователей публичного ваяфая смсками. Аптайм с сентября прошлого года (без рестартов, да). Мне норм.
>>513768 Ну охуеть теперь, а кто решил что такое нодоспецифичная задача? Я считаю, что любые демоны на ноде писать охуительно, а рассказы про то, что что-то там куда-то течёт и падает нууууу хз, по сравнению с питоном нода вообще не течёт, например.
>>513789 Имеет смысл, только если речь идёт о портировании чего-то из веба или если ты хочешь писать с нуля что-то принципиально кроссплатформенное. nw.js тебе в руки тогда + cordova для мобилок. Там есть свои нюансы, но мне пока нравится.
>>513791 но к ноде даже winapi можно подцепить, чтобы гуй рисовать. Наверняка и gtk можно задействовать. биндинги же есть. вопрос конкретно в чем минусы, и на сколько они фатальны. в конечном счете, даже гуй на node+blink (nw.js) не суть, или это какие-то консольные утилиты (ведь нода может ебашить просто сценарии для автоматизации чего-то). Реквестирую мнений на этот счет.
>>513796 Ээээ, а в чём смысл цеплять к ноде гуй на ГТК? Чтобы писать логику приложения на JS? Ну это какой-то дроч ради дроча, как по мне. За JS может быть только один аргумент — реальная кроссплатформенность (и гуя и логики).
>>513797 Я это написал как аргумент к тому, что не nw.js и winRT едины. Питон, руби, и даже php (короче все скриптовые языки) точно так же имеют биндинги. Но при этом их все рассматривают для написания утилит или даже приложенийдля десктопа, и никто над этим (почти) не смеется (если не брать в расчет php). А js почему то побольшей части в до сих пор рассматривается как сугубо клиент-серверный язык.
>>513800 Если что-то имеет биндинги, то это НЕ значит, что разумно этими биндингами пользоваться просто потому, что они есть. Разные задачи — разные тулзы. Если ты спрашиваешь — можно ли писать ВСЁ на ЖС, то ответ по состоянию на 2015 год ясен хуй — МОЖНО. А вот нужно или нет — это вопрос отдельный.
>>513802 Ну не такой уж он и тормозной, прямо скажем. Плюс есть нюанс — можешь посмотреть на график развития ЖС-движков, где приводится прирост скорости исполнения. А потом попробовать найти такой же график для питона и подумать.
>>513807 Но я не графиками пользуюсь, а саблаймом/атомом. И по факту Атом такой уж тормозной, что это заметно и мешает работать. В умелых руках, конечно, и хуй балалайка и можно терпеть.
>>513808 Так уже. JS на десктопе имеет смысл, если хочется писать сразу кроссплатформенное приложение. Причём чтобы кроссплатформенным была не только логика, а ещё и интерфейс. Тогда да — на HTML5 имеет смысл делать. Там есть свои ограничения, но в общем случае — это нормальный вариант. Также может быть смысл, если нужно портировать готовое веб-приложение на десктоп/мобилки, но тут чаще получается хуйня.
>>513809 Про графики суть в том, что JS имеет возможность догнать и перегнать питон и прочих по скорости (или уже?). Потому что на скорость работы JS есть спрос и пока совсем нихуя не очевидно, что замена JS или всему стеку HTML5 виднеется даже в отдалённом будущем. На ближайшие лет 10 вполне можно рассчитывать на развитие движков.
>>513816 Открыть какой-нибудь неебически длинный лог или дамп. Та же кнопочка F3 в тотале делает это мгновенно, потому что не пытается читать весь файл сразу, саблайм так не умеет (и не надо).
>>513819 >Открыть какой-нибудь неебически длинный лог или дамп. Та же кнопочка F3 в тотале делает это мгновенно, потому что не пытается читать весь файл сразу, саблайм так не умеет (и не надо). Ну да. Правда это лучше делать вообще с помощью less какого-нибудь.
>>513820 Кто как привык. Я на линуксе со времён ASPLinux 7.3 сидел уже, но тотал коммандер мне до сих пор кажется крайне удобным инструментом, да и по состоянию на 2015 год винда ничем не хуже других ОС для веб-разработки. MinGW и похуйнахуй.
>>513879 А я проигрываю с тех, кто матерясь и ломая пальцы убеждает себя в том, что OS X это круто. Был таким же дебилом — год мучался. Поставил Windows 8 на прошку и мне НОРМ. На осуждающие взгляды я ссу.
>>513882 >А я проигрываю с тех, кто матерясь и ломая пальцы убеждает себя в том, что OS X это круто. Был таким же дебилом — год мучался И что же с ней не так?
>>513893 Обработка каких-нибудь говнофайлов говноформатов, конвертация между ними. Ну тот же Corel Draw, например. Ну ты собственно можешь у любого макоёба спросить — зачем у него установлен Parallels или винда в буткампе — тебе расскажут.
>>513893 Ну и добавлю, что я НЕ считаю, что OS X — говно. Просто мне 30 и я привык, что я с компом могу делать что хочу как в плане софта так и в плане железа. Вполне допускаю, что большинству на это пох и не вижу смысла устраивать по этому поводу холивар.
>>513904 Пиздец. Внятный пример есть в документации к монго, которая есть первая ссылка в гугле по запросу mongoimport. А как ты живёшь без шелла, можно тебя спросить? Ты запросы составляешь в каком-то графическом конструкторе типа ms access чтоль? А шо такое бывает?
>>514069 А какая разница сколько у тебя либ? Тут важнее сколько у тебя ЖС-файлов собственных внутри проекта. Либы можно и в хэдер запихать да и хуй бы с ними — с порядком их загрузки проблем не бывает в общем-то.
>>514217 Кирилл Сухов - "Node.js. Путеводитель по технологии" Не смотри что российская, книга убергодная. Всё охватывается, от планирования архитектуры до автоматического тестирования готового. Плюс краткая инфа про основные базы, щаблонизаторы и прочее. Есть ещё М. Кантелон , М. Хартер - "Node.js в действии", но это хардкорное, не для новичков.
>>514223 Братюнь, где я могу качнуть эту книжнецию Кирилл Сухов - "Node.js. Путеводитель по технологии"? Всё переискал, нашел только тему на складчике и усё :(
>>514345 Пиздец блять... Более 40-а человек участвовало в складчине и ни один не выложил книгу в открытый доступ. Ну чё за народ, а? Тем более автор вроде как не против этого, вот даже цитата: "Поймите меня правильно, мне, как автору лестно, что мое творение пользуется некоторой популярностью. И я понятно, совершенно не возражаю против раздачи (это пусть у издательства голова болит)." Взял отсюда: http://rutracker.org/forum/viewtopic.php?p=60294385#60294385 Пойду куплю её себе за 200 рублей.
Поясните чем отличается nodejs сервер который я запускаю у себя на pc, и открываю его через localhost, и тот же сервер который запускается на хостинге? Может ли рандомный человек зайти на сайт, сервер которого я запустил у себя на компьютере, пока писал код? Почему нет?
Вкатываюсь со своим вопросом (на js никогда не писал, но после джавы, думаю, будет не очень сложно). Есть задача - запилить браузерную игру а-ля Plants vs Zombies (не такую крутую, конечно, но по такому же типу - на тебя набигают, спавнишь своих юнитов для защиты). Игра будет в 2D. Графен на третьем месте, рисовать модельки буду не я, да и основная фишка будет в другом. Что для этого посоветуете использовать? Столько разных библиотек и фреймворков для js, что я, если честно, теряюсь и боюсь сделать хуевый выбор, а потом страдать.
Анон, скажи по каким тэгам гуглить. Есть например код:
var time=5; var velocity=50; var distance = timevelocity;
Хочу чтобы этот код отображался во вьюхе как:
S=tV=5*50=250
Т.е. пока вижу такой вариант, брать парсер выражений, парсить эту строку, потом реплейсить по словарю названия переменных, потом реплейсить их значениями, и в конце результат посчитанный. Т.е. задача показать формулул и как она посчиталась, чтобы пользователю было понятно. С другой стороны, если код изменился, не хотелось бы совершать каких то телодвижений по модификации этого функционала. (Понятно что формулы на самом деле очень большый, здесь я привел простой пример)
>>514830 А не легче использовать шаблонизатор для этого? Или даже без него подцепить нужные значения к span'ам? Парсинг формулы - не самый надёжный вариант и быстрый вариант, кмк.
Можно ли загрузить js скрипт без использования eval? Если я делаю $('head').append('<script>...') jQuery в своих кишках заменяет на какой-то эвал, и у меня в дебаггере вместо ошибки file: line все в jquery eval что усложняет дебаг. Приложение модульное и в конфиге можно указывать какие файлы грузить, так что хардкод в хтмл не вариант.
>>514830 делаешь класс типа Computed 2 метода calculate(args...) render(args...)
дальше [code] Mult extents Computed calculate: function(a, b){return ab;} render: function(a, b){return a+' '+b;} [/code] И так для каждой операции. А потом если тебе надо отобразить делаешь render, а если посчитать calculate.
>>514926 Почаны, до этого я и сам додумался, но хотелось бы менять одну формулу, а вьюха чтоб сама генерилась. Но щас взвесил ситуацию, решил ебашить шаблоны для вьюх на разные формулы, а потом работу менять, лол.
>>511213 >выглядит прилично, но валится при использовании причем валится только при некоторых обстоятельствах, и даже не всегда валится, а делает вид что работает. добро пожаловать.
>>511224 >Да. Тесты. Проиграл. Как можно быть такими идиотами? Что пхп-макаки, что жс-макаки, словно одни и те же люди. Безуспешно пытаются обойти это тестами, охуевают от собственной важности, мол как круто мы пишем тесты. Правда тесты не помогают тут, это маразм, и вообще тесты не для этого.
>>515013 А рационально монстра, вроде Yii использовать? У меня должен получиться относительно простой скриптик, который я очень часто буду копировать и множить.
Анон с бэкэнда. Имеется игоря недопиленная одна штука и анон, который хочет в неё играть одна штука. Вся логика игоря написана на JS с б-гмерзким JQuery, не мог бы ты помочь мне написать небольшой мод к этому игорю, дабы он стал играбельным, ибо от инди разработчика я не дождусь, ибо хуесосы.
ЭТОТ JS шлёт меня <s>в хуй</s> учить матчасть, ибо App.StonehearthBuildingDesignerTools.extend == Undefined
Вопрос Жсаны, в чём бида, как я понял мод прогружается до базового класса и экстенд нихуя не взлетел, собственно как мне вбросить эксепшн на прогрузку после родителя. Jebaniy оверлоад меня заебал вконец.
>>510847 > Аноним 08/07/15 Срд 10:15:38 №510847 насчет метеорчика, а не подскажете ли как убедить насьяльника, что это ебаное говно? вот у нас команда вроде грамотная, да уже пару-тройку недель ебемся, пытаемся tdd (velocity) поднять чтобы не падал, да еще елементарнейший логин запилить, ваще из полуфабрикатов из atmosphere-а, и получается хуже, чем никак. кажется, будем еще пробовать -- а мне уже тошнит. архитектура уебищная. эта мразь запросто сцепляет файлы в алфавитном порядке. непонятные попытки изоморфизма. пробовал почитать сорсы -- в башку никак не лезет. камера обскура епт.
самое обидное. ноут у меня вроде норм (i3-4030, 4GB RAM, arch linux) да еще ниибацо как тормозит. у коллег макбуки, им очень не нравится, что реактивы апдейтятся через 5 секунд. а я, падла, пишу пару строк, сейвану, да пять минут дрочу сквозь слезами над the art of unix programming пока комп задыхается из-за ебаным веб фреймворком. потом стираю .meteor/local/db/mongod.lock, чтобы SQLITE_BUSY не былдо, тесты (которыe надо перезапускаться автоматично, из-за чего метеор съедает 3.5гб оперативки, потому что для каждого из 5-х тест фреймворков (jasmine client/server unit/integration, + cucumber) есть отдельный test mirror) конечно не хотят перезапускаться, вручную не запустиш, ctrl+c, опять rm .meteor/local/db/mongod.log, потом что-то еще ломается, уже каждый раз мне попроще делать meteor reset, который стирает не только бд, да еще и package cache (нахуй эти мудаки еще и запилили свою систему пакетов) и так ждем еще 10 минут, пока пакеты снова сливаются да говно там еще какое-то плескается.
впервые такое вижу. дожил. потом открываем localhost:3000 и начинает тормозить браузер... боссу весь этот мазохизм нравится, у него же макбук с ssd стоит. коллегам похуй -- им тесты мешают... вопрос -- как пиридатвратить биду?
>>512214 Такая хуйня потому, что фронтенд намного более толерантен к говнокоду. Никого не ебёт, что у клиента карусель на жиквери восемь ядер грузит, всем похуй. Говорите, комп тормозит? Так он у вас устарел, купите новый, и вообще проверьтесь на вирусы. На бэкенде такая хуйня не прокатит. Неэффективный код сразу вылазит боком, бьет по карману капиталисту, а тот уже дает пизды говнокодеру или меняет его на другого.
Нубовопрос (только не бейте). Пишу дневник работ из 5-й главы "Node.js в действии". Когда я ввел в консоли "npm i mysql" и мне поставился модуль, мне не надо отдельно искать дистрибутив mysql? У меня уже есть mysql-сервер и мне его надо только настроить (кстати, как?) Или это просто модуль взаимодействия поставился и mysql-сервер отдельно искать? Извиняюсь, если платина.
Анон, ЭТО ВАЖНАЯ ХУЕТА. Кароч, не могу найти сайтец один, просрал его после того как раздел на винте полетел а восстанавливаться отказался так просто. В чем соль, там пошагово выполнялся код, который ты вводил (можно было не только js туда пидорнуть, возможно это вообще изначально для питона инструмент был, не помню). При этом показывал стек и все значения переменных (это справа показывалось). И по идее это ахуенно удобно и на первых парах обучения и при попытках разобраться с какими-то мутными вещами. Дак вот, я уверен что кто-то еще это дело видел/пользовался. РЕКВЕСТИРУЮ РЕШИТЕЛЬНО
>>515580 Хуйню написал. Тормозящую карусель ту же не примут, как и любую другую тормозилку. Фронтенд ориентируется на конечного пользователя, а у него, вероятнее всего так себе комп. И это все прекрасно осознают.
Анончики, вот незадача, решил накидать на js-ке скрипт, который будет постить картиночки на вакабу, но нихуя не получается. Как вообще это правильно делается? У меня есть несколько вариантов: 1. на php прочел из файла и выдал скрипту, ок, тут вопросов быть не должно. Дальше, я эту переменную просто передаю скрипту и с довольным видом отправляю(1 пик), но нихуя не получается, в том числе и ошибки. Появляется пост, но только с текстом.
2. Использую new Blob в который: а. Кидаю этот текст, который полученный в первом варианте - нихуя б. toDataURL() который применяю к конвасу - тоже нихуя
>>515937 Блять, простейшие алгоритмы ноги оттуда берут. Системы уравнений например Но как бе тебе сказать, есть ещё комбинаторика, общая теория вероятнисти и прочие прелести. Для начала можешь гуглить "тригонометрия" Ты задал вконец печальный вопрос, анон, ты уверен, что сможешь в програмирование?
>>515904 Если совсем не одупляешь, погугли про логические элементы компьютера (сумматор, полусумматор и т.п.). После прочтения какого-то гайда по ним я наконец-то допёр, зачем нужна математика в погромировании.
>>515904 > Анон, а где эту логику пердолить? Есть годные книги для совсем ньюфагов? Начинал читать одну книгу про алгоритмы и нихуя не понял. > нихуя Может, конечно, книга очень заумная, но мне кажется, если ты не можешь понять что такое логика и алгоритмы, то может не нужно в программирование?
>>515970 А что, если я понимаю что такое логика и алгоритмы, но не знаю фактически обыкновенной алгебры? В универе меня дрочили математикой, теор.вером, дискреткой, но один хуй я всё забыл и почему-то не могу применять алгебраические выражения в программировании. Например, есть такая вещь - скатерть Улама, мне нужно было её закодить. Так вот, я нашёл формулу, пытался её туда-сюда тилибонькать, но ни хрена не вышло, в итоге просто допёр своей башкой алгоритм и запрограммировал. Формулу применить так и не смог, от этого как-то "вон из профессии".
>>516060 А что нибудь попроще? Вот eval(code) гуглится, может оно мне надо? Прост впервые с таким встретился, вдруг есть типовое решение и не нужно велосипеды изобретать
Ананасы, нихуя не понимаю в этом вашем JS. Я так понимаю, деструкторов туда не завезли, можно ли как-нибудь вообще узнать, что объект готовится к удалению или уже удален?
Как в этом вашем ES6 расшарить объект в разных файлах? Т.е. где-то пишу [code lang="javascript"] Methods = { group1: { method1: function() { }, method2: function() { } } group2: { method1: function() { }, method2: function() { } } } [/code] В другом файле пользуюсь этими методами. Как это сделать? Может как-то по-другому структурировать?
>>516079 Хочу зделать либу суть токова: соединяется через jsonrpc с интерпретатором питона и позволяет работать с питоньими объектами практически как с нативными, типа вроде такого
Ребят, стоит ли писать на node.js линукс демона? Просто хочу сделать сервис для оркестрации докер контейнеров. Жаваскрипт не знаю, только c++, java и чуток руби.
анон, появилась такая проблема. Имеется блок <img id="coins1" src="images/sml_coin.png" style="left: 297.897916666667px; top: 270.796875px; z-index: 1; position: fixed;" height="20px">
и в функции параметры top и left меняются у этого блока. Только вот проблема такая
var coin = document.getElementById("coins1"); left = coin.getBoundingClientRect().left; top = coin.getBoundingClientRect().top;
в left возвращает нормальное число, а в top кидает объект window почему-то. Из-за чего это может происходить?
Или ты не знал, что можно передавать данные из браузера? Сам я уже принимал данные из скрипта в php и все было классно, но как это реализовано здесь, я не знаю.
Приглашаем в конфу JS-треда. Помогаем освоиться с языком, решить проблемы с кодом или выбрать IDE, а так же лампово общаемся на околоайтишные темы. Что бы попасть к нам, пишите на [email protected] Нас уже 34.
>>516162 Ну, маня, на ссях жавах и прочем не так быстро и легко сделать сервер. А тут я теоретически в 50 строчек сделаю лаконичное http апи Плюс не нужно компилить если нужно что поменять.
>>516326 >Знаю c++, java >Не могу написать сервер на Java Ты был не до конца честен. Так бы и сказал, что не можешь нихуя потому и пытаешься перекатиться на js. Но и здесь у тебя вряд ли что получится, рили.
>>516152 ну может хоть подскажете в каком направлении копать? почему top может возвращать объект в принципе? причем, если через консоль браузера считать это значение, то выдает все правильно
>>516335 Если ты серьезно считаешь что кто-то может быть таким дебилом, то ты видимо на таком же уровне компетенции. Какой даун вообще будет перекатьваться с языка на язык если что-то НЕОСИЛИВАЕТ? Я хочу сделать одностраничный скрипт и всё, манька. http сервер любая обезьяна сможет написать на любом языке используя гугл и стаковерфлоу Меня же привлекли ФИЧИ ноджса для конкретной задачи >>516337 Хочется попробовать что-то новое. Без сборки. Контейнер сервлетов мне кажется тяжелее ноджса.
>>516364 top - поле глобального объекта window. Фактически top равносильно window.top. Это свойство содержит объект верхнего в данный момент окна (тоже object window т.е.). Вот почему переменную всегда нужно создавать с var. Если писать в виде var top, все будет корректно.
>>516422 Да ерунда же - за 2 дня можно всё узнать, но тебе лень, это выше твоего программистского достоинства.. А что ты вообще делаешь в вебе, если не знаешь, как и почему у тебя страницы отображаются? Я щитаю, это азы веба и без них можно только выебываться на двачах. Не нужен программист, который не может себе сверстать примитивный шаблон и каждый раз бежит к дристальщикам. Коммуникации - одно из самых затратных действий в организации производства, где-то наравне с переключением контекста.
анон, такой вопрос: как с помощью jquery проверить наличие события у элемента. Например у элемента случилось событие mouseleave и как в его обработчике проверить есть ли на элемента еще и событие mousedown?
>>517106 есть кнопка, которая должна "продавливаться" с помощью $('name').mousedown(function (e) {} $('name').mouseup(function (e) {} я меняю класс у дива, который представляет из себя кнопку, чтобы он выглядел как вдавленная кнопка, пока нажата кнопка мыши. Я хочу чтоб он "отжимался" если мышь убрана с дива. Как этого можно добиться?
>>517124 active почему-то не работает для ссылок. по крайней мере так как я это представляю. то есть, например разметка такая .container .message .okBtn { background: url(../images/okBtn.png) no-repeat; } .container .message .okBtn: active { background: url(../images/okBtnPress.png) no-repeat; } но когда я зажимаю клавишу на кнопке, то ничего не меняется, так что решил делать через jquery
>>517144 попробовал без пробела. Для цветного background это работает, но картинку почему-то по-прежнему не меняет. Замечу что до момента клика картинка на которую надо заменить фон нигде не появляеся и не подгружается
>>517266 Писал под Windows Phone. Там удобно, есть куча туториалов и это не костыль, а официально поддерживаемая возможность со всеми вытекающими. Как и Метро-приложения. Про десктопные не знаю.
>>517405 Интересно, а если писать на C++ для WebAssembly, то у него приключится парадокс от разрыва сознания? Уже предвижу эти кукареки в духе "ЕСЛИ НА С++ ТО ЭТА ПРАГРАМИРОВАНИЕ!1111ПОК"
>>517119 "Мышь убрана" - это отжата кнопка или курсор уведён? Там вообще нет необходимости проверять события, достаточно при нужном событии снимать соответствующий класс. Алсо, зачем использовать дивы, если есть семантичные видоизменяемые баттоны, для которых active в css типичен?
>>516422 Написать "интересен JS, хочу в работе упора именно на него"? Но верстать все равно придется, хоть немного, фронтенда без этого нет.
>>510815 Полагаю, что тебе нужно реализовать конструкторы Model и Controller, а потом создать по экземпляру модели и контроллера, как в примере, и проверить, как оно работает. И вью ещё отверстать для этого, с кнопкой. Гугли наследование и прототипы в JS, объекты и конструкторы. И про MVC тоже почитай немного.
>http://learn.javascript.ru/ - оно одно, единственное. Начинать учить язык советую отсюда, потом переходить уже к книгам. Парни, у меня сложилось впечатление, что этот сайт совсем не для новичков. Всякие мелкие хитрости и уловки, которые, как по мне, новичкам только голову забивают, очень много интересных вещей для тех, кто уже знаком с языком, а теперь углубляется. Или я туповат? На том же w3school всё просто, кратко и понятно, на learnjavascript числа Фибоначчи и тонкости кодировки юникода, автоматическое тестирование после циклов. Расскажите, ребята, кто-то из вас реально начинал с этого сайта, а только потом к книгам перешёл? Я всего-то 7 месяцев программирую, задачки решаются нормально, а вот обилие теории по узкоспециализированным темам делает меня страдать.
>>517543 Что сложного в фибоначи? По мне так их задачи кажутся интересней, они зачастую заставляют ученика повернуть извилину, чтоб применить материал на практике. Лучше усваивание.
Но проблема в том, то мне нужно передать в него данные с сервера, т. е. они будут динамически обновляться. В джаваскрипте мало что понимаю, сайт пишется на ASP.NET MVC. Как мне заставить страничку спрашивать данные у сервера и запихать их в график?
>>517594 Сейчас как раз пишу проект с выводом графика, выбрал Flot. С сервера передавай JSON массив с помощью AJAX, на клиенте получай его в скрипте в таймере (рекомендую с помощью jQuery) и рисуй график.
>>513802 Sublime Написан на С++ Python используется только для пакетов расширений, Маня. Учи матчасть. В этом и есть секрет его охуенной быстроты по сравнению с Atom. Любитель Brackets
Пацаны, посоветуйте туториалов чтобы максимально быстро овладеть языком. Кодить умею на джаве, надо быстро разобраться с жс в кратчайшие сроки. В шапке все чето длинное
>>518579 Гугли что-нибудь в духе learn javascript in N hours/quick guide to javascript/whatever. В этой скриптопараше учить нечего. С сишным синтаксисом ты уже знаком, надо только про часто-используемые аспекты языка почитать. Остальное по ходу работы освоишь.
>>518638 Жабоскриптобляди как всегда все делают через жопу. ~-x это то же самое что и x - 1, >>> 0 приводит число к целому (это сдвиг вправо на 0 бит, т.е. нихуя он не делает), ну а + 2 понятно. В итоге короче это на самом деле означает filename.substr(filename.lastIndexOf(".") + 1), то есть берет подстроку filename, начинающуются с символа после последней точки.
>>518651 А, >>> это беззнаковый сдвиг. То есть если в имени точки нет или она стоит только первым символом, то lastIndexOf(...) - 1 = -1 или -2, что >>> 0 приведет к большому положительному числу. В результате на именах без точек вернется пустая строка.
Есть задача: Написать приложение, которое будет общаться по http api с одним сайтом и забирать файлы в директорию, что укажет юзер.
Приложение должно быть упаковано в exe бинарник, иметь возможность работать с файловой системой максимально прозрачно (без всплывающих окон) и выглядеть не как браузер.
Сначала подумал что на питоне будет быстрее и менее костыльно, но я его не знаю. А так как существует куча phonegap + cordova приложений, должно быть что то для десктопа.
>>518741 Сисярп я тоже не знаю. А вот JS знаю довольно таки не плохо, за исключением работы с файловой системой (с нодой мало работал). Потому и написал в JS тред что бы посоветовали решение на том что знаю.
>>518741 Что то в глаза проебался — под спойлер не посмотрел. Ну такое, у меня убунта на домашнем и рабочем пека, в виртуалке максимум — отлаживать, но не работать.
>>518781 А за msbuild тебе не пояснить? Gulp и grunt — это системы автоматизации процесса сборки проекта. Автоматизирует то, что ты обычно руками делаешь без них. Bower — пакетный менеджер, как npm или nuget. Используются для автоматической загрузки библиотек с удаленных репозиториев. Еще есть овердохуя других приблуд для фронтенда.
>>518828 Альтернатива. Первый более новый, второй постарше со всеми вытекающими. Разная методология. Первый базируется на стримах данных между тасками, второй на конфигурации независимых тасков. Загугли gulp vs grunt.
>>518820 Зачем вся эта поебистика если я могу скачать жуквери и что угодно в несколько кликов, или для особых любителей сосноли, коммандой курл жуксерик.сом/нужная_версия И при этом скачается ровно то что нужно, а не неведомая поебистика из гитхаба из нескольких сотен файлов?
>>518872 Потому что если у тебя проект сложнее лаба1, то окажется что у тебя дохуя зависимостей и ты оухеешь за ними вручную следить, не говоря об автоматизации минимизации и всяких препроцессингах.
>>518781 gulp норм, если задачи уже не помещаются в поле scripts в package.json bower - не нужен, есть npm и browserify grunt - не нужен, устаревшее переусложненное говно
>>518884 Помимо минимизации сложности, гульп также позволяет для сборки использовать потоки, за счет чего сборка будет быстрее, потому что не будут сохраняться промежуточные файлы.
Нужно посчитать хэш некоторого изображения на странице. Я сделал это по-уебански: ajax-запросом получаю картинку в виде текста и считаю его хэш. Но такое срабатывает только если сервер даёт заголовок "Allow-Control-Allow-Origin: *" Как нужно было сделать это правильно?
>>518872 Автоматизация. Ты билды собираешь руками? Ты либы каждый раз руками качаешь? Написал один раз билд скрипт и все: либы поставлены, проект собран, тесты пройдены. Интересно, ты про CI когда-нибудь слышал?
>>518908 Но зачем для этого всего нужны хипстерские перделки, когда все это прекрасно делается в несколько строчек, и качается только то что нужно, а не тысячи, нет десятки тысяч неведомых файлов и все тормозит при этом как пиздец?
>>518914 Что в конфиге напишешь, то и стянется. Если у либы есть зависимость, то хочешь ты этого или нет — тянуть придется. Разница лишь в том, что тебе не придется возиться с шеллом. Впрочем, никто тебе не запрещает использовать другие build automation and package management tools.
>>518894 Можешь еще через canvas получить blob и по нему хеш посчитать, если xrs не устраивает.
>>517594 - криворук репортинг ин http://pastebin.ru/B6YmlR9V - частичное предстваление для моего чарта. Сделал как аноны подсказали: JSON парашу передаю по AJAX ссылке. Но нихуя хорошего не происходит. ЧЯДНТ?
Подскажите светлую цветовую тему для Sublime Text 3, в которой только такие ключевые слова как var, if, function.. подсвечивались, а не глобальные переменные типа windows, document.
Пиздец. Искал 15 минут ошибку, а оказалось, что опечатался в module.exportrs Саблайм не заметил, реквайр молча съел, в консоли как обычно. Как вы с этим живете? Ставить вебшторм?
Чую, что мой вопрос в высшей степени идиотский, но я нуб, так что мне можно, потому заранее извиняюсь. Допустим, сайт запилен на node.js, если зайти на этот сайт с выключенным js, будет ли что-нибудь отображаться?
подскажите годной литературы/мануалов/видеоуроков по AngularJS. Желательно не офф. документация и примерно в том обьеме, достаточного для Jr. Java разработчика.
Кто придумал, что миллион мелких библиотек лучше нормального фреймворка? Пытался сейчас собрать и приложение полностью из ес6 штук и заебался еще на сборке пакетов в кучу.
>>519326 Зависит от задачи. Если ты будешь использовать только 5% от тяжелого фреймворка, то зачем он тебе, когда этот функционал можно заменить одной легкой либой? Аналогично в другую сторону. Нет смысла тянуть кучу либ, когда один фреймворк своим функционалом эффективно покрывает весь спектр твоих задач. Но в целом идея такая: использовать только то, что тебе действительно необходимо. Толстыми фреймворками страдает мс, например. У них что не asp.net mvc, так список зависимостей на две страницы, который лучше даже не трогать, а то все отвалится нахуй. Впрочем, в asp.net 5 они решили двигаться по пути модульности.
>>519326 Если проект такой, что написал, собрал, развернул на продакшене и забыл, то фреймворк подойдет. Если проект будет жить дальше, то фреймворк станет тебе боком, когда понадобится сделать что-нибудь эдакое и придется переписывать все нахуй.
>>519326 Алсо изучая фреймворк ты изучаешь только его. Используя библиотеки, ты изучаешь язык и выстраивание архитекиуры путем взаимосвязей компонентов. Я больше не хочу изучать фреймворки, знаниями которых через год можно будет подтереться, и начинать все сначала.
>>519337 Читал твои тезисы в какой-то статье пару месяцев назад. Подтереться можно хипстерским говном, которое каждый месяц появляется в количестве нескольких штук и в том же количестве идет на дно. Вещи, проверенные годами и поддерживаемые крупными вендорами, использовать можно практически без опаски. Алсо, изучая фреймворк ты так же изучаешь >язык и выстраивание архитекиуры путем взаимосвязей компонентов ибо фреймворки строятся на принципе модульности и, зная некоторый фреймворк, ты сможешь повторить его архитектурные принципы. Алсо2, не используя фреймворк, ты начинаешь писать свои велосипеды, что не всегда выливается в адекватные решения и безусловно вносит долю энтропии в упорядоченный распорядок дел в комьюнити. Этим самым ты значительно увеличиваешь сложность проекта и время, необходимое для адаптации новых членов команды.
Библиотеки пишет пара человек и забрасывают через месяц. В большинстве до сих пор нет родных промисов. А один крупный проект можеть бы и вытянули. Вроде иожс.
React + Flux Есть ItemsStore которого дергает Action requestItems, скачивает 10000 итемов и сохраняет в ItemsStore. ItemsStore делает emitEvent, и view рендерит все 10000 итемов. Пока все нормально. Потом, юзер кликает на итем, вызывается еще один action, на этот раз requestItemRemove, с action.id == id кликнутого итема. Store удаляет наш итем из массива, и делает emitEvent, и браузеру приходится найди отличие между dom-ом с 10000 нодами и virtual dom-ом с 9999 нодами, что естественно тормозит. Как нормально это делать?
>>519767 Я придумал иметь listener не только для всех данных ItemsStore, но и для каждого Item-а, что вроде работает, но мне нужен каноничный вариант. Неужели ничего не придумано?
анон. У меня такая проблема. некорректно вычисляются координаты блока из-за .animate у меня по идее должно появляться окно с мигающими звездами. и, ПОСЛЕ выполнения анимации мигания, должны проявляться еще несколько блоков и выполняться анимация передвижения, однако, почему-то document.getElementById("coin2").getBoundingClientRect() возвращает некорректное значение.
вот кусок кода, который выполняет анимацию мигания и добавляет перелетающую монетку
Что перспективней в поиске работы? Дрочить ноду, какой-нибудь фронтенд фреймворк или стандартные html/css/jquery? Учу самостоятельно, опыта нет. Чистый js уже знаю хорошо.
>>520273 >стандартные html/css/jquery Если тебе срочно надо пойти на работу и кормить тян с котом дошираками. >Дрочить ноду, какой-нибудь фронтенд фреймворк Если у тебя есть время и желание много получать, но в будущем, с опытом и знаниями.
Сосоны, есть одна спермапроблемка - нода стартует при загрузке системы. Как бы и не большая проблема-то не пиздец как бесит, ГДЕ ЭТА ЕБАНАЯ ПИЗДАХРЕНЬ МОГЛА СЕБЯ ПРОПИСАТЬ И КАКОГО ЕБАНОГО ХУЯ ВООБЩЕ ЭТО ПРОИСХОДИТ? Я такой хуйни точно не заказывал. В стандартных местах смотрел - ничего не нашел.
>>520385 Нет, не вижу ничего подходящего. Самое забавное, что попытка поиска выдает только противоположную проблему - обычно нужно еще поебаться как следует чтобы включить автозагрузку ноды. Я еще тот параноик и все стараюсь устанавливать через распаковку архивов, чтобы установщик не прописал ничего лишнего. Но хуй вам - все равно это не помогает. А как любят все программы поднасрать куда угодно и когда угодно - в tmp, в каталог пользователя, в активную директорию, в app data, в корень диска, даже в небо и аллаха. Надеюсь что скоро запилят нормальную легковесную контейнеризацию и все программы я буду ставить только в изолированные контейнеры.
>>520726 Поставь уже линукс или даже Qubes OS. Как минимум даже сейчс на винде можешь всякие ноды запускать в виртулке или докере (технически на винде это тоже в виртуалке)
>>519893 Сомневаюсь, что это еще актуально, фиддла тоже не было, но у меня до сих пор зудят руки. Вангирую, что проблемы с получением координаты coin2 (где она на пике?) возникает из-за того, что этой самой coin2 на момент вычисления координат либо нет в DOM, либо она есть не там, где надо, либо вообще меняет позиции вместе с родителем в процессе. Для подробностей нужны уточнения и фиддл. Алсо, для чего использовать getBoundingClientRect(), если в jquery имеются offset() и position(), причем второе в данном примере может быть куда надежнее, поскольку получает позишн оносительно родителя. Во-вторых, такая анимация мигания - лапша на велосипеде, ну правда. Это же делается в несколько строк, а именно, $(el).fadeOut().fadeIn() в цикле. Задачу с подстановкой нужных урлов звезд можно тоже решить в этом цикле, имена файлов к этому располагают даже. Алсо, подозреваю, что эти урлы каждый раз ставить вообще не обязательно, достаточно вывести три звезды сразу, каждой мигнуть, а потом убрать.
>>521185 >>521172 Позанудствую и добавлю еще. tits['prop'] или tits.prop на "ровном месте" и tits[prop] в теле цикла - разные случаи использования. Вспомни, как получать элементы во время прохода по обычному массиву (array), здесь такое же, но с объектом и с переменной (а не строкой) prop в качестве "индекса".
Учу Ангуляр, смотрю что это довольно мощная машина, которая выполняет то, что раньше делал сервер-сайд. Обнаружил что вакансию в которой искали ангуляр/джанго. Но на сколько я знаю Джанго это довольно мощный фреймворк. Смысл держать большую машину на беке и на фронте? И вообще что используют на беке для ангуляра?
Ананасы, я вот подумал себе прикупить книжечку по JS, бумажную(а то со своего маленького телефона читать - только глаза насиловать), чтобы так сказать не проебывать время и узнавать разные крутые фичи языка, даже когда не дома и не могу заниматься программированием. Так вот, в ОП-посте этих пособий указано что-то очень уж дохуя. Какую лучше выбрать? По текущим знаниям отнес бы себя скорее к новичку, хотя опыт программирования на других языках имею. Начинал читать Eloquent JS, там в принципе все устраивало, но читал с экрана ноутбука, где меня постоянно отвлекала разная хуйня, либо с маленького экрана телефона, где глаза начинали болеть довольно быстро. Дошел до главы с объектами даже Прошу сильно не обоссывать, просто посоветуйте проверенной, но не устаревшей литературы по сабжу. Спасибо.
Уважаемые скриптаны, некий доброанон из sci сделал нам такой костыль, чтоб мы могли писать формулы LaTeX. Так вот, он работает неплохо, но при обновлении треда он не рисует новонаписанные формулы, приходится обновлять страницу. Можно как-нибудь напердолить скрипт, чтоб исправить ситуацию?
Хочу реализовать такую фишку: Пока юзер вводит отличное значение от "камень, ножницы, бумага", то его по кругу гоняет цикл.
Получилось пикрелейтед, но цикл становится бесконечным и крашит браузер. Если юзать break после console.log, то после ввода отличных значений, просто выходит из программы.
Всем привет, я хочу обмазаться нодой. Мне на ноде надо будет дергать mysql, причем несколько запросов друг за другом. Сейчас в библиотеке mysql функция с возвратом выборки выглядит как-то так function mysql_query(query, callback);
и функция эта возвращает управление в callback, когда запрос таки произведётся (а вы помните, что запрос может длиться часами). Так вот, в язык завезли все эти promises и yield. Как мне писать код так, чтобы я мог по старинке писать
var q1=my_mysql_query(query1); if (q1===null){ return null; } my_mysql_exec(query2); var q3=my_mysql_query(query3);
Я не хочу callback через callback через callback через callback через callback через callback через callback через callback через callback через callback через callback через callback. Я хочу писать линейно. И чтобы в случае throw exception, этот exception шёл до самого первого try catch. Я не хочу проверять на ошибку после каждого запроса. Если случилась ошибка, это гг и вылет. В крайнем случае я реально над запросом повешу try-catch, если конкретно на этом запросе захочу отслеживать ошибки. Я уверен, что есть какой-то путь написания всей логики в одной функции без скатывания в замыкания внутри неё
>>521915 Нахуя тогда ноду берешь, аутист? Вся суть ноды в асинхронности. Есть пакеты, вроде async, которые позволяют писать синхронно, но нахуя? Возьми петон лучше.
>>521934 Не очень понимаю, что именно ты хочешь сделать. Нужно вызывать при загрзуке страницы подтягиывание по аяксу, которое срабатывает только при change? Тогда можно запилить функцию для этого и вызывать и при загрузке и там. А можно просто принудительна триггернуть change при загрузке, после того, как повешен обработчик: $('#country_id').change();
Подскажите, плиз, чому при смене города во всплывающем окне, город меняется только в шапке, а не заголовке.
Можно как-то насильно вставить в заголовок?
[code]$('#city_id').change(function(){ var value = $('#city_id :selected').text(); var city_id = $('#city_id :selected').val(); if (city_id !== '0') { $("#ds").hide(); $('#selectBoxInfo').html(value).
Вот задача, которую Яндекс предлагает как экзамен в школу разработки интерфейсов (не собираюсь туда идти, но с задачками вожусь в образовательных целях):
Алсо в задании был пункт, что нужно пояснить, как возникла ошибка и как избежать подобных в будущем. Подозреваю, что я где-то не уловил суть, так как мне кроме "Аккуратнее обращаться с замыканиями" в голову ничего не приходит. Может у кого есть адекватные соображения по этому поводу.
С меня искренняя благодарность за потраченное время.
>>523135 >Расширять прототип массива - это приемлимое решение в разработке? Нет, но все так делают. >конструкции с функциями высшего порядка выглядят неочевидными и переусложненными Это потому что ты дно, сорри) В map/filter/reduce ничего сложного нет. Не говоря уж о том, что мой код асимптотически быстрее того, что был раньше (O(m + n) вместо O(m^2 + m * n^2) где m и n - количество стран и городов, правда это уже в основном из-за хэшмапоблядства).
>>523209 Типичный учебный пример замыканий, если ничего не путаю. Функция getFunc возращает функцию func. Скобки (сиречь опреатор вызова) нужны для того, чтобы вызвать возвращенную функцию. В итоге вызовется func и алертнется 2, потому что внутренняя функция получит переменную из скоупа внешней.
>>523144 Чаю к промисам. Они туда просятся, потому что ковырять данные всего респонза по коллбеку для getData() одного реквеста - странное решение. Мне кажется, удобнее собирать все данные по странам, городам и населению, а уже потом ими оперировать. Наверное, можно и без промисов обойти. Мы знаем размерность массива с данными, поэтому можем создать массив для ответов и отследить его заполнение, а потом уже считать население. Попробовал сделать так: https://jsbin.com/piwuzupobo/1/edit?js,console В принципе, из массива responses объект можно и не делать, так просто нагляднее.
посоны, нужна помощь. Есть табличная строка вида <tr> <td id="1">Товар</td <td id="2"> Цена </td> <td> Заказать</td> </tr>
Нужно чтобы по нажатию кнопки "заказать" активировлся ЖС-скрипт, который предложит вывести количество товара, а потом его умножит на цену и отошлет все это вместе наименованием товара к нам на почту. Я нихера не рублю в ЖС. Чет попытался накатать типа этого: function Count1() { var x = document.getElementById('wow').innerHTML; var y = prompt('Введите количество', ''); var z = x*y; var h = document.getElementById('id1').innerHTML;; } Во, как мне теперь эти элементы вывести куда-либо и отослать в письме на почту?
>>523324 Сами данные можно собрать в объект. Отправлять их на почту - не клиентская задача. Можно аякс, конечно, использовать, но код на сервере для отправки нужен все равно.
>>523602 Фап на оригинал книги при наличии перевода - илитоидный рак мозга, как по мне. Это не худлит, здесь удовольствие от слова на двадцатом месте. Это же чисто утилитарное учебное чтиво, которое нужно держать на коленях, пялясь в код. Не считая тех случаев, когда перевод нечитаем и кошмарен совсем, но такое обычно сразу заметно.
>>523718 А то, что материал будет отставать на несколько лет в лучшем случаемогут вообще не перевести тебя совсем не волнует? Ну да, зачем иметь доступ ко всем изменениям, документациям и литературе, ведь можно сидеть на жопе ровно и ждать переводика через пару лет.
>>523749 Блядь. Нахуй вы вообще эти книжки читаете? По языкам. По алгоритмам я ещё понимаю, по дискретке, комбинаторике, матразделам всяким, таки ещё и не устареют. Но по языку книжку читать это пиздец. Ладно, хуй с ним, кресты действительно лучше по книге, ибо сайта вменяемого не было никогда, только tl;dr стандарт. Но жс, ЖС, Карл!
>>523749 Какая-то бинарная логика. Выбирать переводную книгу !== пренебрегать англоязычными источниками. Инглиш необходим. Он нужен для других материалов, которых в переводе нет, да и не будет, хотя бы для тех же доков, блогов, статей и стековерфлоу. >материал будет отставать на несколько лет На книгах пишут год издания. Алсо, даже год отставания не всегда бывает критичным. Для понимания новшеств есть доки и статьи. >>523758 Частично удвою. Хотя это, наверное, от собственного восприятия зависит. Доки, справочники и статьи лично для меня всегда были удобнее книг. И полезнее в конечном счете. Хотя когда ты совсем ничего по языку еще не знаешь - книга позволить не заблудиться.
>>523758 А я вот как раз давно заметил, что самые говнокодеры книги и не читают. Зачем мне всякие good parts и подобное говно? Я лучше говнокод и дальше высирать буду. Отсюда потом и рождается поколение дебилов, которые половины возможностей языка не знает после нескольких лет работы на нём, потому что только стандартные перделки используют.
>>523776 А читать и кодить кто-то запрещает чтоле? Я в день по 100 страниц читаю минимум, взял себе за правило. Притом не только худлит, но и всякую техническую литературу стараюсь читать активно, но выходит поменьше. Не вижу смысла противится чтению, это идиотизм какой-то, всё равно время въебываем на хуйню всякую типа двачей да сериальчиков.
>>523811 Алгоритмическая база - оооочеееень растяжимое понятие. Дрочить всякие алгоритмы смысла особо нет, если ты не какой-нибудь олимпиадник. В реальности, тебе необходимо узнать больше о программирование в целом, что и как. Для ньюфага я бы порикаминдовал: 1) codecademy если ты больше практик, как я 2) eloquent javascript есть на русском 3) если совсем тяжело - a smarter way to learn js
Советую ещё посмотреть на ресурсы вроде freecodecamp, ну а дальше всё есть в шапке литература и ссылки на всякие штуки. Ну а в качестве учебника по самим алгоритмам ньюфагу советую "Алгоритмы. Вводный курс" Томас Кормена, потому что стандартный требует понимания матана его обычно на втором курсе дают в самом вузе Кормена.
Привет, посоны. Решил обновить UI своего сервиса стриминга музыки и сделать всё по модному, на js. Выбор пал на ангулар, т.к. раньше с ним очень много работал. Как в нём можно воспроизводить музыкальный поток и контролировать его (play, pause)? В интернете искал, нашёл только это https://mrgamer.github.io/angular-media-player/robust-playlist.html , но тут вставляются из сорсов, а у меня сервер передаёт поток.
>>523789 Самое интересное начинается в экспериментах. "Что будет если". Можно ли достучаться до определённой переменной отсюда, где у нас лежит теперь некоторое значение, в каждом инстансе своё или одно в общем прототипе? И так далее. В книжках такие вещи найти ооочень сложно, но чаще их просто нет, и часто тут отличия в реализациях всплывают.
Пацаны, я короче прочитал Head First, носорога, паттерны, прошел курс на кодакадеми, сделал задачи по этим книжкам и я просто не понимаю куда дальше. Что делать то?
Посоны, а поясните на чистом джс или там с джиквери, можно зарабатывать? Или все равно придется заниматься богомерзким хтмл, мускулем и пыхой? Если я освою чисто серверную сторону(джс + нод), смогу ли я найти работу и нормально работать и зарабатывать?
>>524698 Меня в первую голову интересует не придется ли мне изучать срань под названием ФРЕЙМВОРКИ или ЦМС, потому что честно меня тошнит как только я открываю документацию.
>>524701 То есть основное занятие дж-ниндзя это фронт-енд разработка? Кнопочки-хуепочки пилить, да аяксом обмазываться? Я ньфаг, потому все тонкости не понимаю. Имею небольшой опыт написания сайтов на пыхе, аякс использовал, всяике перделки из джс.уи, но вот сама пыха меня не вдохновляет в ней разбираться, потому что все сводится к изучению всяких ии2 и прочих зендов, а они просто тошнотворные, вот я и пытаюсь прикинуть чем заняться, чтобы интересно бьыло, а не ради бабала и из под палки, хотя конечно, с учетом того, чтобы было востребовано, а не сидеть потом дома в гордом одиночестве со знанием ненужного языка\ненужного скила касаемо ЯП. Поясни чем занимаются джсразрабы? Какие основные направления деятельности и вкратце, что придется доучивать, чтобы быть полноценным джс разработчиком? Заранее спасибо.
>>510464 (OP) Анон, нид хелп. Пишеп унылую систему на ангуляре+бутстрап. ВОпрос по дизайну. Надо чтобы выглядело более менее красиво. Пока на что ума хватило: 1. Добавить анимацию везде где можно. 2. Добавить везде где можно глификонов. Может есть какие статейки а ля - зделоть заебись за 24 часа?
>>510995 Вот этого неистово двачую. Пользуюсь реактом и получаю удовольствие, ощущение "это делает работу легче и экономит время", в отличие от ангулара, где ощущение "это делает работу сложнее".
Ньюфагам:
1. Что это за язык такой? - Мультипарадигменный язык, изначально создавался для использования в браузерах как язык сценариев для придания интерактивности веб-страницам, однако в процессе своего развития преодолел этот этап и сейчас может использоваться для любых целей ввиду своей неограниченной гибкости и удивительно удобного синтаксиса.
2. Это чтобы менять цвета, и вызывать всякие всплывающие окна? - Нет. Это только малая часть того, что может язык. Сейчас, на JS можно делать игры (phaser, cocos, etc.), 3D графику (three.js), можно делать и приложения для телефонов(phonegap, ionic), можно делать десктоп приложения(NW.js).
3. Ну ясно, а че еще можно? - А еще можно использовать на сервере, причем очень даже успешно. А все благодаря платформе Node.js, и v8, который встроен во все хромоподобное. Node.js по производительности и удобству работы превосходит большинство остальных серверных языков.
4. Я щас ничего не понял, повтори. - Проще говоря, если ты делаешь огромный интернет магазин или хай лоад проект, то можешь смело использовать JavaScript и Node.js.
5. А что еще прикольного можно сделать? - А еще есть MVC фреймворки, Angular, Backbone, Ember, Knockout и другие, менее популярные.
6. Зачем оно надо? - Для создания SPA, в основном, но ты можешь копнуть глубже.
7. Очень уж много всяких фреймворков... Нельзя ли просто изучить jquery и писать все на нем? - Не стоит, можешь начать писать на жыквери, когда освоишь ванильный JS, дабы не испортить себе восприятие языка, и вбудущем не испытывать трудностей с изучением сложных фреймворков.
8. Ну ладно, с чего начать изучение то? - Дальше я приложу список материалов для изучения.
Учим JS:
Книги: Дэвид Фленеган - "JavaScript: Подробное руководство"
Дуглас Крокфорд "JavaScript: сильные стороны"
Стефанов С. - "JavaScript. Шаблоны"
Джон Резиг - "Секреты JavaScript ниндзя"
Николас Закас - "JavaScript. Оптимизация производительности"
М. Кантелон , М. Хартер - "Node.js в действии"
Кирилл Сухов - "Node.js. Путеводитель по технологии"
Эдди Османи - "Разработка 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://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, express, socket io. Хочешь писать MVC логику? Angular, backbone, да множество их. Нельзя забывать про NW.js, позволяющий создавать десктопные приложения.