24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Шапка тренда переезжает в репозиторий - https://github.com/ID25/js-thread (Делать пулл реквесты с корректировками и ссылками на материалы приветствуется), todo: сделать нормальный, структурированный гайд, посему реквестирую умельцев писарей, а то мне лень.
Начнем, предыдущие 2 треда были созданы энтузиастом, за что ему спасибо, так как я, православный оп жс тредов слегка отвлекся на wow.
Что же случилось интересного в мире жс за последние недели? Думаю вы уже поняли что речь идет про React. Фейсбукопидоры не пальцем деланы, очередной хипстерский фреймворк (хотя какой это фреймворк то?) Для затравки и ознакомления - всегда ваша, хабропараша: http://habrahabr.ru/post/249107/ - о том какой реакт сякой. http://habrahabr.ru/post/249279/ - о том какая фича jxs в реакте сякая. http://habrahabr.ru/company/hexlet/blog/249579/ - и нетрадиционной ориентации обзор реакта.
Сам я на нем даже хелло ворлд не написал, но на днях испробую. Суть в том, что пока все махнули рукой на вонючий ангуляр, и пересели дрочить новую модную хуйню, случится так, что в двери постучит ангуляр 2.0, и опять шарманка по новой... Вау как круто, пиздато сделали es6 кууул))) Все пока реакт терь снова на ангуляр можна пересесть)) Ой бля, а теперь еще и polymer... Ну все, нахуй интерфейсы с реактом, когда есть material design. Круговорот фреймворков в гитхабе. Клонируй мою repo себе на хард, я знаю ты любишь коммитить.
Теперь за нод.жс. Как то потухило все, не так ли? io.js не обосрались, взлетело вполне. Даже Atom перешел на него. А так, лучше уж подождать годик, пока не доведут до ума.
Ну и напоследок, вышел обновленный кофескрип 1.9.0. - "Ну нахуй, у меня нет времени ебаться с запоминанием безскобочного сахарка, лучше еще пару скобочек напишу" Вот типичные мысли у человека, у которого в консоли "ошибка конпиляции, вы пропустили пробел))" А ведь теперь ситуация получше, во первых поддержка ES6, а во вторых уменьешие жопной боли, ибо улучшен отлов ошибок. Ну, короче те у кого не сложились дела с кофейком, ваш второй выход, в этот раз получится, else if {{{){{-0)()()('''';;;;
Ну а мы тем временем начинаем очередной JS ТРЕНДЖ, пилим скриптопарашу, бугуртим от КАЛбеков, выводим в консоль хелло ворлды, как обычно.
Парни, сильно не ругайтесь за нубский вопрос. Вот смотрите, хочу я на ангуляре зпиплить приложение. Короче для бэкенда буду использовать php микрофреймворк slim. Вопрос, совершенно тупейший, блин даже стыдно спрашивать, ну ладно. Вот я создал angular проект через Yeoman. Таv какой-то сервер сразу же идет, всё круто всё работает из коробки, даже liveReload, проект мой доступен по адресу http://localhost:9000/#/ ага, хорошо. А где мне бэкенд разворачивать? Можно ли мне его вообще в другой папке создать на другом url'е? Просто для него apache нужен с его mode_rewrite. Норм будет если я разверну бэкенд в другой рандомной директории и настрою виртульный хост апача, а потом буду делать запросы из ангуляра на http://myslimapi/ или так оно не будет работать из-за полилитики кросс доменности? Я чет совсем запутался.
>>434825 Короче сам нарыл вот это, щас буду читать что там у него в ридми на гитхабе. Ну если у кого-то из вас, аноны, если мысли на эту темы, я бы хотел их выслушать тоже.
>>434808 Нихуя не разобрал в твоем говнокоде, но самый деревянный способ сделать то что ты хочешь: сделать три блока и по клику на каждую кнопку один из них показывать а два других скрывать
Начал изучать ангуляр после жикюри. Все нравится, удобно. До того момента, как прочитал статью на хабре про него. И тут меня постигли сомнения, имеет ли смысл углубляться во все эти шаблоны, скопы, если существуют десятки других фреймворков, которые, возможно, лучше? Каково мнения анона по всем этим модным и новый фреймворкам? Задрочив ангуляр, не окажусь ли я в параше в будущем?
>>434622 >Что же случилось интересного в мире жс за последние недели? Думаю вы уже поняли что речь идет про React. И это ОП жс-треда пишет... Где ты был полгода назад? Не знал ещё про жс?
>>434933 >>434933 Задрачивай, не убудет. Ангуляр это вэй ту гоу, единственный достойный йоба-фреймворк современности в js-мирке. Да, всякая промежуточная ебатека вроде скоупов даже в 2.0 отвалится, но основные концепции остаются на месте.
>>434622 Polymer это пока-что одно демо от гугла. До взлёта ему ещё очень далеко. Вангую, что react будет жить так же долго как jquery. По сути он решает одну задачу, но решает её хорошо, потому и будет жить.
>>435154 Влажные мечти. Реакт - не фреймворк, а слабосвязанные кучки говна для латентных джиквери-говноедов. С выходом ангуляр 2.0 он станет промышленным стандартом, как спринг в жабе, а реакт умрёт и никто о нём не вспомнит уже через пол года, няша.
Хочу, в общем, через юзер-скрипт изменять описание коммунити. Ручные действия: нажать кнопку. ввести текст, нажать в любое место для скрытия html.textarea (кроме самой textarea, разумеется) для сохранения нововведённого текста. На скриншоте всё подробно, с попыткой сделать через консольку и вытекающими проблемами.
До нажания на кнопочку #input-room-description нет, "создаётся" он по клику либо кнопки edit, либо самой зоны, где отображается текст. $('div.value')[1].click() (название div'а с отображения текста) делает абсолютно то же самое, что и $('div.edit')[1].click(), со всеми вытекающими проблемами.
Могу сделать $('#input-room-description').focus(), тогда вокруг поля с текстом появится синяя рамка (как если бы руками edit нажал), но каретки нет и, собственно, проблема невозможности нажать save (а мышкой — куда-либо, кроме поля с текстом) никуда не девается.
Если делать всё руками, то после ввода текста можно кликнуть в любое место экрана (кроме поля с текстом, конечно), и поле ввода исчезнет, сохраняя введённый туда текст в качестве community description'а.
Если предположение, что кнопки Save в принципе нет, так как в функции click у div.edit'а есть if (hasPermission() && !this.editing), и после нажатия ничего в ней не меняется, то есть клик мышкой по якобы кнопке Save приравнивается к клику в любое другое место экрана, так как никакая функция не выполнятеся (полагаю, this.editing будет true, если я ввожу текст в поле). Как можно этот "клик в любое место" в коде сайта найти? Как оно обычно делается?
>>435154 Олсо, ответь мне на вопрос, почему во всяких люксофтах, датаартах и прочих галерах юзают ангуляр на фронтенде, а не твою перделку под смузи и панкейки?
>>434880 >Ты запутался в 3 строках кода? Давай я тебе объясню, что тебе хотели сказать. Никто не хочет разбираться в твоих пространственных объяснениях и тем более пытаться понять тот кусок говна, что ты называешь "3 строками кода" и как-то его исправить.
>>435164 Где юзают, в каких проектах? Я сейчас куда ни зайду – все на реакте написано. Всякие дизеры, аирбнб, zakazua, codeacademy, какие-то части гихтаба и дропбокса, в общем дохуя всего. На ангуляре при этом новых проектов очень мало, да и старых немного, в основном какие-то поделки от васянов на готовых директивах спизженных с jsfiddle.
А всякие люксофты могут использовать ангуляр по самым разным причинам. Начиная с того что у них уже есть собственные тренинги по этому говну, какое-то количество написанных приложений, которым требуется поддержка, да и в целом неторопливость в освоении новых технологий. Заказчик деньги платит, на все остальное похуй.
>>435178 Не вижу вообще этого твоего реакта нигде, а ангуляр повсюду, на любом крупном сайте уровня aviasales.ru
>react >в освоении новых технологий Лоллище, говнолиба же для дегенератов, что там осиливать? Посмотрели, не увидели нормального фреймворка, повели носом и остались на своём, скорее.
Так вот следующий вопрос, если крупнейшие галеры сейчас пишут на ангуляр и хуй ложили на твою реактопарашу для малолетних, с чего бы это ангуляру умереть в скором времени? Особенно при отсутствии нормального конкурента. И это при том что скоро 2.0. Твой реакт то к ЕС6 хоть как то готовится? Хотя что там переписывать, лол.
>>435204 >Не вижу вообще этого твоего реакта нигде >привел 6 охуенно популярных проектов, в которых он используется
>на любом крупном сайте уровня aviasales.ru И даже тут ты обосрался. Во-первых, потому что не привел ни одного другого проекта кроме aviasales, во-вторых потому что даже aviasales использует react, вот это поворот, да?
Если ты заглянешь к ним в код, то обнаружишь там react в конфиге require. Вместе с ангуляром, видимо они пытаются перекатиться с ангуляропараши.
>что там осиливать? Нужно не осиливать, а продумывать архитектуру. Это же библиотека, а не фреймворк, и неграмотные макаки вроде тебя это просто не осилят. В ангуляре-то накопипастил и готово, ты ведь за это его любишь?
>Твой реакт то к ЕС6 хоть как то готовится Да уже сейчас можно использовать, как минимум классы через transpiler.
Я то их пол года назад парсил, знаю их структуру хорошо. А перекатились они не так давно.
>ни одного другого проекта Просто загугли найдёшь их от 200 и больше. Это не считая чисто гугловских, типа ютуба.
>react >архитектура Маня, плиз. Как раз любая не дающая никакой структуры библиотекапараша скатывается в написание лапшистого неконсистентного говнеца, что в js мирке вообще-то распространено, но реактопараша никак не пытается это предотвратить, а даже поощряет. Это как лисп, "у нас нет нихуя, но зато такая то швабодка".
>это не фреймворк >нужно поднимать архитектуру Звучит как "нужно крутить очередной велосипед, но гайки в коробке"
>В общем, ссу тебе на лицо. Ну да, а ключевой вопрос из моего поста ты конечно же проскипал. Понятно, признать обосрамс твоей манялогики ты не способен, это же НЕПРИЯТНО. Залезай уже обратно под шконарь ко своим реактособратьям. Ладно, вот тебе ещё вопрос в дорогу, почему в большинстве языков рулят именно нормальные, стурктурообразующие фреймворки с богатой экосистемой, а не жиденький набор библиотечек как в реакте?
>>435230 Ангуляр 2.0 слишком сильно отличается от первой версии. Из-за этого миграция будет эквивалента переписыванию с нуля, ну или очень близко к этому. Когда выйдет Ангуляр 2.0? Не скоро. Так что на сегодняшний день и на всё ближающее будующее начинать проекты на Ангуляре означает, что ты будет работать с устаревшей легаси технологией - любое архитектурное решение прийдётся на корню менять через полтора года. Всю экосистему придётся переписывать с нуля, а это займёт кучу времени. Скрьёзно, зачем сейчас изучать Ангуляр и инвестировать в это кучу времени и сил, зная, что это всё уже почти выбрашено на помойку? К тому же, скоро выйдет реакт-нейтив, чем ангуляр сможет ответить на это?
>>435230 >Просто загугли найдёшь их от 200 и больше Проекты от васянов. Сам ты все еще кроме сомнительного aviasales никаких примеров не привел.
>Это не считая чисто гугловских, типа ютуба. Есть какие-то пруфы, что в 2015 гугл где-то использует ангуляр? Никаких упоминаний в коде не нашел.
>скатывается в написание лапшистого неконсистентного говнеца >неграмотные макаки вроде тебя это просто не осилят Ну ты понел.
>ключевой вопрос из моего поста ты конечно же проскипал Какой? "С чего бы ангуляру умереть"? Так я и не утверждал что он умрет, это был другой анон.
>пок-пок стурктурообразующие фреймворки пок-пок Так никто не мешает впердолить реакт в нужный тебе фреймворк или использовать отдельные части фреймворка. Ты так говоришь, будто собрался что-то писать на чистом реакте. Не удивительно, что у тебя получается лапшистое говнецо.
>что ты будет работать с устаревшей легаси технологией Они будут поддерживать и дорабатывать 1.3 до 2.0
>выйдет реакт-нейтив А в чём преимущество этой обёртки, кроме попытки опровергнуть что write once run everywhere не работает? Нет чтоб оборачивать ES6 и вебкомпоненты. Не знаю, конечно это возможно расширит их маркет для мобилок, но в браузерах войну они однозначно проиграют.
А что по Node.js скажете, где по нему найти мануалов или книгу какую посоветуете? Также хочется понимать, что еще популярно сейчас, что будет популярно вот вот?
Я планирую прочитать книгу по js и документацию по jquery чтобы освежить свои знания. Далее выучить новые для себя технологии:
node.js angular.js phonegap
Что еще посоветуете? накидайте мануалов по этим скилам.
>>435396 По жиквери рекомендую это http://anton.shevchuk.name/jquery-book/ По Ноде по оф. документацию читай. Ангуляр даже хз, документация у него говно, книги если и есть то наверняка уже протухли. Поэтому иди на хабр, ютуб и гитхаб читать исходники.
Вообще, у ноды и ангуляра туманное будущее, а писать под мобилки через костыли это очень плохая идея. Если планируешь работать на фронтенде я бы посоветовал поверхностно ознакомиться с ангуляром, бекбоном и кнокаутом, что бы на собеседованиях было что сказать. На ноду можно смело хуй забить.
>>434622 Не ругайтесь сильно. Я слышал, что Php js html css - это джентельменский набор, но настолько ли неоходимы php html и css, если есть фреймворки? Другими словами: сдался ли кому-нибудь человек, могущий в js, но не могущий в css и html на yoba-уровне?
>>435636 Лол, какая ты охуенная Ванга. Я вообще-то жаба-кодер со стажем. В свободное время изучал другия ЯП, в итоге пришёл для себя к Clojure, потом через ClojureScript и Om узнал про React. Внедрил его на текущей работе и все охуели от того, насколько быстро и качественно на нём всё получается по сравнению с GWT (который там был раньше). Так что не надо вешать лапшу про "структуру и порядок", вся это энтерпрайзная хуйня придумана для привлечения к кодописанию лоботомированных индусов. Но вот незадача, затея провалилась, хотя её пытаются реанимировать в JS мире в виде Ангуляра (хуле, фронтендщики ещё не пуганы абстрактными фабриками). Однако Ангуляр уже достаточно себя дескредитировал, и люди уже начинают понимать что к чему, так что Ангуляр соснёт. А боссам в итоге придётся признать, что программировать можно только думая головой.
>>435672 Идея была в том, что нахуй нам превозмогать уёбищность хтмля, если мы можем его декларативно расширить, и жить без пердолинга с DOM и развесткой листенеров ручками.
События на генерированном аяксом контентеАноним11/02/15 Срд 00:45:28#76№435687
Анон, есть такая задача: нужно нарисовать таблицу по данным, полученным через AJAX из СУБД. У каждой строки таблицы должно быть событие при нажатии. Использую jQuery.
Как лучше всего это реализовать?
У меня есть 2 варианта на генерацию таблицы: 1) Полученные данные обёртывать в HTML код, используя PHP. 2) Полученные данные кодировать в JSON и через коллбак-функцию собирать уже с помощью JS.
+ 2 варианта, которые можно совместить с любым из предыдущих 2-х на события: a) Повесить один event на body, например: [code]$("body").on("click", "tr.clickable", function(){...})[/code] b) При генерации HTML к каждому тэгу дописывать атрибут onclick, чтобы вышло примерно так: [code]<tr onclick="doSmth">...</tr>[/code]
Какая комбинация вариантов будет работать быстрее или будет лучше по иным причинам? Спасибо
>>435664 Ну раз ты считаешь что ангуляр еще не до конца обоссан, то ты видимо не читаешь HN и блоги. Может ты и английского не знаешь и всю информацию черпаешь с хабра? Ах, ну раз так, то для тебя сейчас начало 2014го, ангуляр - последний писк моды (все про него говорят но никто толком не пробовал), а реакт еще даже не вышел. Тогда с этой точки зрения ты по- своему прав. Удачи с поддержкой ангуляропараши в будущем, ведь в следующем году ты узнаешь про 2.0
Вы так все время спрашиваете "чо мне учить", будто выучив какой-то фреймворк/библиотеку, вас сразу возьмут на работу с зарплатой в 100500 долларов и успех зависит только от уровня знания фреймворка.
Да всем похуй какой фреймворк вы "выучили". Это вообще не так работает. Нужно понимать как в целом работает веб, компьютер, языки программирования, что нужно клиенту, что нужно конечному пользователю и что в итоге наиболее эффективно решит задачу с наименьшими затратами.
Изучение API вам вообще ничего не даст кроме, собственно, знания API, которое в любой момент может измениться, и которое "учится" опытным погромистом за пару часов.
Олдфаги сами способны выбрать подходящий инструмент и изучить его по мере надобности. Можно поспорить на двачах, конечно, но право выбора все равно остается за погромистом или его тимлидом, и двачи тут никакой роли не играют, т.к. сюда приходят в основном попиздеть и поугарать.
Ньюфагам совершенно похуй что изучать – никакого универсального рецепта все равно нет, на работе нужны программисты которые умеют программировать, а не хуи которые "выучили" десяток методов фреймворка который посоветовали на двачах.
Если местные долбоебы думают что после увольнения из макдональдса они за полгода смогут выучить какой-то фрейморк и начать хуярить на нем робуст скелейбл приложения на фрилансе или пердолить какое-нибудь говно в офисе за 100500 долларов, то они живут в своем манямирке.
Никому не нужен "специалист по ангуляр" или "специалист по реакт и джквери", всем нужен программист. Пердольте все фреймворки подряд – ангуляр, ембер, реакт, риот, вью, мифрил, пизда_твоей_мамаши_джс, может тогда поймете хоть какие-то различия между ними.
Все равно спустя год все поменяется. Но опытному программисту не составит труда "выучить" новый фреймворк или самому его написать, этим он и ценен.
>>435687 Не совсем понял как это >У каждой строки таблицы должно быть событие при нажатии. Использую jQuery. Связано с этим >1) Полученные данные обёртывать в HTML код, используя PHP. >2) Полученные данные кодировать в JSON и через коллбак-функцию собирать уже с помощью JS. Но вот так >[code]<tr onclick="doSmth">...</tr>[/code] точно делать не стоит.
А так, никто не мешает тебе собрать DOM - элементы, пройти циклом по коллекции и повесить обработчики. Ну и вот так >[code]$("body").on("click", "tr.clickable", function(){...})[/code] Тоже норм, только зачем на body, если можно на table.
>>434622 >Круговорот фреймворков в гитхабе. Да нахуй эти Angular и React, когда есть ember. Рутер отличный, осталное удобно и понятно. Virtual DOM тоже скоро завезут и будет скорость. Two way (change listeners or dirty checking) или one way binding, как у Rect? А это уже другой вопрос. Но two way вариант обычно предполагает больше слоев, а в React используется one way, и вместо MVC, только V, что вообще-то плюс, ибо проще. Тем не менее, не смотря на все плюсы React'а, он какой-то упоротый. Вроде все четко, но как только начинаешь писать, то сразу охуеваешь, ибо нихуя непонятны детали реализации (ОЧЕ МНОГО МАГИИ), и документация не способсвтует. С Еmber намного легче въехать, что собственно происходит, и начать готовить приложение. Вот такой отзыв, щенки.
Поясню за jQuery. Почему это популярно? Потому что jq даже не полноценный фреймворк, а всего лишь удобная обёртка, практически лишённая своего видения и лица. Любой ангуляр ставит тебя в рамки в выбранной его авторами концепции. Очевидно, что такой подход неприменим для массы задач, а годится только в некоторой сфере (интерфейсов, трёхмерного графина и т.п.)
Философия олдфагаАноним11/02/15 Срд 10:14:06#97№435745
>>435704 >Вы так все время спрашиваете "чо мне учить", будто выучив какой-то фреймворк/библиотеку, вас сразу возьмут на работу с зарплатой в 100500 долларов и успех зависит только от уровня знания фреймворка.
Верно. Без комментариев.
>Да всем похуй какой фреймворк вы "выучили". Это вообще не так работает. Нужно понимать как в целом работает веб, компьютер, языки программирования, что нужно клиенту, что нужно конечному пользователю и что в итоге наиболее эффективно решит задачу с наименьшими затратами.
Отчасти верно. Также не нужно забывать, что над серьезными проектами работают в команде и если у тебя нет социальных скиллов, то ты соснешь. Ну и про гитхабы, багтрекеры и прочую проектную инфраструктуру тоже не стоит забывать.
>Изучение API вам вообще ничего не даст кроме, собственно, знания API, которое в любой момент может измениться, и которое "учится" опытным погромистом за пару часов.
Отчасти верно. Не за пару. Далеко не за пару. Особенно, если, например, меняется архитектурный подход или технология.
>Олдфаги сами способны выбрать подходящий инструмент и изучить его по мере надобности. Можно поспорить на двачах, конечно, но право выбора все равно остается за погромистом или его тимлидом, и двачи тут никакой роли не играют, т.к. сюда приходят в основном попиздеть и поугарать.
Олдфаги сами способны написать подходящий инструмент по мере надобности без необходимости изучать что-то, что "совершенствуется у тебя в руке", а это особенно характерно сейчас для JS. По второму пункту. Что бы ни выбрали в качестве инструментов все равно кто-то все зафакапит, ибо человечесвкий фактор. Я это к тому, что без налаженной социальной составляющей проекту пиздец, какие бы олдфаги в нем не принимали участие.
>Ньюфагам совершенно похуй что изучать – никакого универсального рецепта все равно нет, на работе нужны программисты которые умеют программировать, а не хуи которые "выучили" десяток методов фреймворка который посоветовали на двачах.
Как бы цинично не звучало, но на работе нужен раб от которого будет максимальная отдача за минимальное время при минимальном вложении средств. От большинства проектов и не требуется каких-то охуительных навыков и опыта, а это значит, что школьник, "выучивший" десяток методов моднейшего фреймворка, для роаботорговца работодателя будет даже предпочтительней, чем зажравшийся олфдфаг...
>Если местные долбоебы думают что после увольнения из макдональдса они за полгода смогут выучить какой-то фрейморк и начать хуярить на нем робуст скелейбл приложения на фрилансе или пердолить какое-нибудь говно в офисе за 100500 долларов, то они живут в своем манямирке.
Согласен. Люди тратят годы обучения и годы ебли над проектами на то, чтобы понять всю эту кухню и выйти на стабильную среднюю зарплату айтишника. Правда потом происходит смена парадигм и девелоперы, с горящей жопой... а впрочем это уже другая история.
>Никому не нужен "специалист по ангуляр" или "специалист по реакт и джквери", всем нужен программист. Пердольте все фреймворки подряд – ангуляр, ембер, реакт, риот, вью, мифрил, пизда_твоей_мамаши_джс, может тогда поймете хоть какие-то различия между ними.
И да и нет. Как я уже сказал, что работорговцу работодателю нужен тот, кто будет уметь и делать все за еду. Желательно студент, ибо у него еще нет семьи, есть здоровье, запросы и потребности меньше. Плюс можно манипулировать им наебывать, ибо жизненного у студента не так много. Работорговцу работодателю выгодно и то, что сейчас каждый школьник мечтает написать свой фэйсбук и идет в погромисты. Но чем больше погромистов, тем меньше их зарплаты. Это касается практически любой профессии, ибо закон рынка. Я не сторонник теорий заговора, но во многом хайп вокруг профессии погромиста и его охуительной престижности, успешности и востребованности не обошелся без форсов.
>Все равно спустя год все поменяется. Но опытному программисту не составит труда "выучить" новый фреймворк или самому его написать, этим он и ценен.
Один раз не составит. Во второй раз очень лениво он будет это делать. В третий раз хуй смотивируешь. И тут палка о двух концах: либо платить гораздо больше, либо заменить молодняком. Ничего личного, онли бизнес.
Вроде ничего не забыл. Задавайте свои ответы, ньюфажики.
>>435744 >Почему это популярно? Потому что AMD. Ключевое слово Module. А вот в Фейсбуке не говнари, разумеется, работают и прекрасно понимают, что вся эта хуета типа MVC|MVP|MVVM <--JSON--> MVC <--CRUD--> Nosql|SQL это пиздец. Не говоря уже о проксях, акселераторах, балансировщиках... Но что-то я отвлекся. Frontend. Во первых, frontend не должен быть сложным (people use React as the V in MVC; one-way reactive data flow). Во вторых, frontend должен быть больше декларативным, чем императивным (XML-like syntax called JSX). В третьих, - переиспользуемым (Module Structure). Ну и быстрым (Virtual DOM), это четыре. Эти хитрые пидоры знают что делают. Сразу все недочеты уже существующих фреймворков пытаются закрыть. А теперь всем вопрос на засыпку: какие изъяны у React?
>>435747 >Похуй на твой поток сознания Не читал, но осуждаю? В любом случае "похуй", с точки зрения девелопера, - это выигрышная позиция, ибо нет затрат сил на контраргументирование и прочее такое.
>>435754 Блжад. Прототипное наследование чем тебе не угодило? Гетеры сетеры ты что не умеешь делать? Про что ты там нес я так и не понял. JS говно ебаное и это никак не исправить. Ты же слышал, что создатель JS хотел повеситься?
>>435785 При чём тут теория, когда есть практическая проблема. Ты не называешь решения, а говоришь, что 0.1 + 0.2 != 0.3 это норма, а я утверждаю, что это говно ебаное и требует ответа с php и js макак.
Эта странность встречается не только в JavaScript, это проблема всей компьютерной науки. Вывод будет такой — 0.30000000000000004.
Эта проблема называется компьютерной неточностью. Когда JavaScript выполняет строку, он переводит значения в их двоичный эквивалент.
Вот где проблема начинается — 0.1 не 0.1 в двоичном эквиваленте, но близкое к этому значение. Это как перевести текст с русского на белорусский. Похоже, но не одинаково.
Остальное выходит за рамки этой статьи (у нас тут не математический кружок)
Данная тема широко рассматривается на форумах о компьютерной науке и разработке. Вы можете предложить свои пути решения этой проблемы.
>>435798 Я понял, почему в c# всё чётко, это строго типизированный язык, в отличие от пэхи и js, где типы переменных не указываются, а определяются налету.
Проблема таки в нестрогой типизации. Пердак тушу, но вы можете обсудить этот вопрос.
>>435807 >где вывод C или Pascal, Бейсика? Как где, под шконарём конечно же.
>Раньше языки были более академично правильные. Я понял, ты просто долбоёб и вместо того чтобы прочитать доку, бесцельно засираешь тред. Всё, иди нахуй.
Пиздос. Я познаю мир .1 + .2 != 0.3. Долбоёбов полон тред. Вы хотя бы одну книжку по программированию прочитали?
Хочется съебаться с жс, только потому, что меня окружают такие тупари. Что пхпшники, что сишарперы - одинаково тупые. У вторых только словарный запас пошире (иногда). Нихуя не понимают и везде лезут. Бомбит, бляха-муха.
>>435817 Уебашка, почему ты оправдываешь машину. Мне кажется, в человеческих рядах предатель.
Задача верного с точки зрения арифметики дробного вычисления решаема, она решена в C подобных языках, но на неё положили болт вебориентированные языки.
Поэтому всякие экономические проги пишутся на языках динозаврах, так как там точность стоит во главе угла.
Потому что от твоего эмоционального к ней отношения ничего не изменится. Это как обвинять камень, скатившийся с горы, что он твою мамашу задавил.
>Мне кажется, в человеческих рядах предатель.
Тебе на Украину пора с таким образом мышления.
>она решена в C подобных языках
Конкретно в Си нет ни единого оператора или функции для фиксированной точки. Всё велосипедится, и в веб-языках тоже. Берёшь и считаешь свои финансы в целых копейках вместо дробных рублей, например.
>Поэтому всякие экономические проги пишутся на языках динозаврах, так как там точность стоит во главе угла.
Допустим мы имеем дробный тип. В js я так понимаю используется только целочисленный тип, так как погрешность накапливается начиная уже с 16 знака после запятой, что пиздец как мало для дробных чисел.
Решение элементарно и заключается в расширении дробных чисел хотя бы до 64 знаков после запятой. Тогда можно смело использовать где-то 32 знака для отображения, а отсекаемая погрешность фактически не приведёт к искажениям результатов как происходит сейчас.
>>435717 Спасибо за ответ. Первые 2 пункта - "нарисовать таблицу по данным, полученным через AJAX из СУБД", вопрос в том, как будет быстрее. Не будет ли медленно вешать, например, 200-300 обработчиков?
Вот тут выше анон писал, что никому не нужен {{фреймворкНейм}}-разработчик. Это что, на самом деле так ? Ну т.е. есть компания, которая делает сайты то на ангуляре, то на реакте, то на бекбоне, то еще на чем ? Нахуя ? Что бы тратить кучу времени на то, что бы все разработчики синхронизировались друг с другом и учили новый фреймворк под каждую задачу ? Аргумент про то что нормальный девелопер выучит все за пару часов выглядит сомнительно. Вот тут (http://www.letscodejavascript.com/v3/blog/2015/01/angular_review) автор жалуется что потратил на приложение на ангуляре 40 часов, при том что знал, как его писать на реакте. Плюс обязательно есть какие-то подводные камни, которые всплывают в процессе разрабтотки. Кому такое нужно ? Уверен, что абсолютно везде, во всех компаниях люди выбирают один фреймворк и пишут исключительно на нем, вне зависимости от того, что лучше подходит для данной задачи. Потом возможно пробуют какой-то другой фреймворк и все вместе переходят на него, если нравится. В связи с этим HR ищут разработчиков, которые сразу смогут включиться в работу, т.е. знают тот фреймворк, который сейчас используется в компании. Расскажите, как у вас с этим обстоят дела.
>>436113 > Уверен, что абсолютно везде, во всех компаниях люди выбирают один фреймворк и пишут исключительно на нем, вне зависимости от того, что лучше подходит для данной задачи. Потом возможно пробуют какой-то другой фреймворк и все вместе переходят на него, если нравится. Ты ошибаешься. Откуда я это знаю? По общению с разрабами из больших толстых топовых контор. Как я могу это доказать? Никак. Но мне это и не надо.
>>436128 Поэтому я пишу все на jQuery и не ебу мозг. Ну как не ебу? Ебусь с лапшой и колбэками, с унификацией кусков накопипащеных решений. Но я знаю как это делается и делаю. Да долго, да нудно. С другой стороны, для большинства типичных проектов и не нужно чего-то такого сверх монструозного на фронтенде. Можно и jQuery обойтись. Я бэкендщик вообще. А так коллеги предлагали кнокаут использовать. Я немного ковырял, вроде несложный на первый взгляд. Куча примеров, документация вполне себе. Конечно там нет Virtual DOM и из-за этого по скорости он Нокаут скорее сосонет Реакту. Еще мне нравится, что two way binding реализован в виде change listeners, а не в виде ебучего dirty checking, как в Angular.
>>436138 Лол, я понял что ты бэкендщик еще до того как дочитал до места где ты сам об этом говоришь. Типичная позиция. Поэтому и существует разделение труда.
В /b второй день присутствует школьник-стартапщик с сервисом хранения Некопируемых(tm) картинок yodibi.com Он использует canvas, на котором отрисовывает картинку с затемнением, которое отсутствует под курсором. Сами картинки он портит и разбивает на куски, которые собирает перед отображением. Есть ли возможность подменить метод canvas.onmousemove, чтобы не отрисовывать затемнение? В этом методе он вызывает какую-то таинственную функцию, каждый раз разную. Имя функции можно получать всякий раз через из canvas.onmousemove.tostring. Можно в подмененном onmousemove вызывать эту функцию, зная только её имя?
В ангуляр приложении есть ng-view и включены $locationProvider.html5Mode(true).hashPrefix('!'). Проблема в том, что при переходе по ссылке страница перегружается полностью. Серверная часть на ноде и добавлено app.get('/*', function (req, res) { res.sendFile(__dirname + '/public/index.html'); }); В index.html обавлено <base href="/" /> Но при переходах по $location.path страница не перегружается.
>>436119 >>436128 Расскажите, чем занимаются ваши конторы. Я пока знаком только с компаниями у которых по нескольку проектов одновременно, связанных только с JS (и через месяц и через год будут проекты из той же сферы, связанные с JS), может поэтому и сужу так узко.
>>436198 Большой проект из топ 10 интернет-компаний в рашке по версии форбс за 2014 год. Сам я нюфажик тащемта, считаю что повезло попасть в такое место. Подробнее не могу рассказать ибо моментальный диванон. >>436128 - кун
>>436547 Лолд. Картинка хуита. Язык не так плох, как толпы идиотов на нем пишущих. А среди них, я должен напомнить: куча выблядков от студентов до офисомразей выкинутых на мороз. Выводы делай сам. Нечего сказать.
>>436550 >Съеби, быдло. Не съебу. Жыквери самый стабильный и годный фреймворк. Но тебе, хипстеру, не понять. Ты фаллоимитируешь пока инструмент совершенствуется в твоей руке.
>>436554 Но ведь программирование — не гуманитарная дисциплина. Пусть хорошие люди выучатся сначала. >>436551 Картинка нам кагбэ намекает, что кокой-то сумрачный гений нарочно создал JavaScript, чтобы погромисты мучались. А тем временем, >>436550 >Язык не так плох, как толпы идиотов на нем пишущих. Там глобальные переменные и запутанные правила приведения типов, но всё это при желании можно исправить (см. CoffeeScript, Dart, TypeScript), вот пишущих на нём уже не исправить, токо усыпить теперь.
>>436557 Уже. >>436555 $ - синоним инвалидности. >>436567 Напротив. Не оспариваю, что реализация дохуя кривая, но наибольшей убогости кода я повидал только от быдлокодеров. >>436554 Бесполезный скам. Я на стороне естественного отбора. Припекает, что профессию утопили в дерьме какие-то сальные жопы манаджарав))тип)) эканамистав))) и прочим отребьем, не способное в навыки, или хотя бы вилы, что навести порядок.
>>436568 >Бесполезный скам. Я на стороне естественного отбора. Припекает, что профессию утопили в дерьме какие-то сальные жопы манаджарав))тип)) эканамистав))) и прочим отребьем, не способное в навыки, или хотя бы вилы, что навести порядок Инженеры, погромисты, ученые интегрированы в мир гуманитариев и прочих. Можно провести аналогию с утопичным коммунизмом, который был интегрирован в проклятый капиталистический мир. Короче говоря, это было неизбежно и это есть естественный механизм. А все что ты написал про отбор я считаю хуетой, т.к. здравый человек скорее будет разделять гуманистические идеи. Кстати, ты сам себе противоречишь. Так как люди, стоявшие у истоков айти, как раз хотели улучшить мир, а потом пришли менегеры и принесли с собой законы рынка, куда входит и отбор. Но это уже другая история и относится она наверное больше к социальному дарвинизму, чем к природному отбору.
>>436599 Я бы тебе подсказал, но тут только одни самодовольные криворукие пидарасы, которым на всё насрать. Так что иди-ка ты нахуй. Исправь на <p id="textBlock"></p> и document.getElementsById('textBlock').innerHTML = 'lal';
Так, вернулся с новым вопросом. И да, я не тот грубиян. >>436632 Вот это у меня один объект. Я его уже исправил. Есть еще один.
var TBus = { initialize : function (vSpeed,vMark,vCountPlace) { this.speed = vSpeed; this.mark = vMark; this.countPlace = vCountPlace; this.countMass = 1500; }, speed: 20, mark: "VAZ", countMass: 2500, countPlace: 25, }; Можно ли, чтобы TBus унаследовал все у TCar, но с своими примочками?
Анон, выполняю javascript roadtrip part 2 на codeschool.com, кому надо вот реф ссылка (не моя, свою пока не буду давать - там хитрая система) на два дня пользования всеми курсами без ограничений - http://go.codeschool.com/jrbiaA. не пойму почему следующий код не выводит четные генераторы
var totalGen = 19; var totalMW = 0;
for(var currentGen = 1; currentGen <= totalGen; currentGen++) { if (currentGen % 2 == 0) { if (currentGen < 5) { totalMW += 62; console.log("Generator #" + currentGen + " is on, adding 62 MW, for a total of " + totalMW + " MW!"); } else { totalMW += 124; console.log("Generator #" + currentGen + " is on, adding 124 MW, for a total of " + totalMW + " MW!"); } } else { console.log("Generator #" + currentGen + " is off."); } currentGen++; }
var curCar = new TBus.initialize(k,s,m); allCars = new curCar; Ибо мне кажется в этом ошибка. >>436655 Здесь о initialize. И да, allCars я объявлял выше, но жс догадается, что я хотел из него массив сделать?
>>434622 Чем сжимаете код? Гуглить умею, но желания пробовать всё нет. Наверняка уже есть фаворит.
Степень сжатия интересует меньше работоспособности. Скажем, я пару вещей попробовал, они не поломали мой софт проебавшись на ключевых словах.
Скажем у меня есть сеттер с одноимённым названием и его неверно преобразовывает, но по логике именно это название отлично вписывается. Полный код работает отлично, а вот ужатый дважды меня подводил.
>>436784 Двачую вопрос, особенно интересует вкупе с тем, чтобы код делался наиболее уродливым и невозможным к пижженью. Ещё было бы здорово, чтобы работало через PHP.
Сукааа. Как вам такая хуйня -- в Expressjs можно объявить правила роутинга для !!!!!!!ОДИНАКОВЫХ!!!!!! эндпоинтов! И тогда один из них не будет работать, если первых завершил обслуживание. И миддлвара для роутинга должна идти раньше правила, иначе эта интерпретируемая пизда не выполнит функцию в миддлваре.
Почему такая логика ебанутая? Неужели нельзя сделать роутинг приятно и аккуратно?
>>436938 Ты это, иди читни его сорцы. Выводы сам сделаешь. Так будет правильней.
>или другие его тоже разделяют Больше половины здешнего скама не особо в сорцы эксперсса/moch-и вникала, потому за их реакцию сказать не могу. Был тут один поехавший, который исходники экспресса постил, но он один. Можешь поискать 2 или 3 треда назад было.
Перечислите самый популярные/востребованные фреймворки, чтоб я знал хоть в каком направлении копать Кофискрипт и Ангуляр, я так понимаю, в тренде. А что ещё? https://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks - тут как-то дохуя, сомневаюсь, что все нужны и востребованы
>>436958 в доке экспресса написано, что там около 1000 SLOC (подразумеваю, что немного). Я сам в Джаваскрипт смотрю в свободное время, так как на работе C/C++, но этот ассемблер с шаблонами дико заебал, хочу перекатиться.
>1000 SLOC Я одно время разбирался с обработкой формочек и чуть не охуел, что он там наговнокодил. Хотя, частично не только его заслуга, но и парочки петухов. Но меня до сих пор аж трисет при упоминании next().
Мальчик, у меня для тебя плохие новости, но на серверсайде главное отказоустойчивость, конкурентность и распределяемость, во что со всего твоего пика умеет только 1 язык нормально и ещё два со скрипом. То есть на Erlang пишем OLTP сервера, на жабе с хадупом и прочим говном OLAP-сервера, а всякие бекенды выбпараши и чятики на 50 человек похуй на чём писать, дело вкуса, например, я назвал бы пхпшников говноедами, а рубистов няшами, но это дело такое, скорее эстетики, чем инженерии.
>>434622 Только попробуйте спетросянить, бичи. Знаю я вас, сучки.
Есть R (несложно догадаться, что так обозначил радиус или расстояние от некоторой точки до другой, блять, как же я ненавижу клоунов).
Требуется создать N = Rand(Min, Max) точек (клоун, уймись, речь пока про алгоритм, а не о реализации). У каждой точки, пусть будет dot есть x, y координаты.
Как создать n (случайное число) точек в r (радиусе от центра координат), чтобы они не выходили за него и не было промахов, а именно, чтобы for цикл не делал лишних проверок.
То есть x и y должны выбираться случайно из площади круга радиусом r.
Диванные проходим мимо. Если никто не осилит, я приму этот вариант. Хоть одна сучка пошутит, будет залупой черепахи.
А теперь ты будешь доказывать, что точки будут распределены равномерно, пока я просто сгенерирую радиальную и угловую координаты и переведу их в прямоугольюу систему.
Потестил, с точками всё отлично, но у каждой галактики есть радиус, конечно в скоплениях они могут пересекаться, особенно, когда число галактик больше чем R/r.
Пилить проверку по радиусу пока не буду, ибо это надо будет каждый раз пробегать по предыдущему списку.
>>437110 На серверах важнее распределяемость и возможность легко использовать все ядра в системе, а не производительность в чистом виде. Если твоя система работает быстрее в N раз, где N - число машин в ней, и легко добавить новый узел - поздравляю, ты король серверсайда. Потому что докупить машин, или поднять новые инстансы в клауде - быстрее и дешевле, чем джва года заниматься батодрочью на нативном говне и в результате получить падучую и тормозную хуиту, потому что байтоёбы - дебилы и доверять им что-то сложнее автоматизации сливного бачка опасно. И тут проблема даже не в том, что в результате тратится стомильёнов человекачасов на поиск всех утечек и прочих багов, а в том, что со всем этим допотопным говном потом придётся жить в продукшене. Сишка, крестики, фортраны - для HPC норм, так как без альтернатив, но для серверсайда - нахуй, нахуй. Нокии с моторолами, показали например, как в телекоме, который чистый OLTP, быстрые-быстрые нативные кресты просасывают мееедленному интерпретируемому ирленку на реальных проектах.
>>436992 Вот только эти твои фейсбуки-твитеры сами используют скалы, ерленги и прочие "глючные интерпретируемые говна", не в производительности счастье, на серверсайде во всяком случае. А вконтакты вообще похапе обходятся, и как видишь всё работает, никто не умер к сожалению.
>>437143 Если ты такой умный, что скажи, что будет с нодой. Варианты ответов: 1. Ноде пизда, а ио.жс всех зарулит. 2. Ио.жс пизда, а нода всех зарулит. 3. Ноде пизда, ио.жс пизда.
Использую Node с 2010 года. За это время спецификации менялись несколько раз, но даже при всём при этом возвращаться на Apache меня может заставить только болезнь Альцгеймера.
>>437529 1. JS говно, а не язык. Его используют не от хорошей жизни, а потому что это единственное что исполняют браузеры. Делать его отдельным язык нет смысла, потому что он broken by design и лучше взять другой язык. Например, если нужна компиляция в натив, можно взять D, Rust или Go.
2. Нативный код = проблемы с кросплатформенностью. Сейчас эта проблема переложена на плечи браузероделов, в твоём случае она ляжет на плечи разработчиков.
3. Натив нужен только на узком спектре задач, вроде обработки графики или звуковых потоков за ограниченное время, или для датамайнинга. Для 90% прикладных задач скорости интерпретируемых языков достаточно. Юзер не заметит никакой разницы между исполнением кода за 2 мс и 2 мкс. В современно мире программирования производительность вообще на последнем месте, важнее поддерживаемость кода, скорость разработки и надёжность программ.
У тебя я вижу какая-то болезненная дрочь на такты, так почему бы тебе не создать свой байтоёбский тред, не позвать туда сиблядей и не пердолиться там со всякими низкоуровневыми оптимизациями, что ты забыл в треде высокоуровневых вебгоспод?
>>437529 А ещё есть asm.js Правда он на 85% ассемблер и только на 15% - js. Вообще он не предназначен для писания на нём руками, а больше для всяких трансляторов кодогенераторов. Можешь написать свой, кстати, если будет норм, пацаны тебе спасибо скажут.
Кто учился по этой книжечке, откуда можно брать задачи какие-нибудь? Мне очень нравится как тут все расписано, хорошая книжка, но на одних примерах из книги далеко не уедешь, нужно что-то ручками делать же.
>>437605 Задачи можно брать в гугле. А эта книжка скорее как справочник. Да, её можно прочитать один раз, но там много воды. И это не только мое мнение.
Как в javascript выполнить побитовое исключающее ИЛИ (XOR) для чисел превышающих значения от -2 млрд до + 2 млрд? Допустим, выполняю 651^6819408067, получается 1524440136, когда то же самое на джаве получается 6819408456.
Зачем каждый школьник пытается хипсторски АБФУСЦИРОВАТь кодж? Нахуя? От силы 2к строчек не будут тормозить бровузер, оставьте сорцы как есть, не смешите уважаемых веб-господ, ей богу. Ваш говнокод на jQuery все равно никому не нужен.
Хочу опробовать http://divshot.com, там клиент на ноде, предлагают устанавливать глобально, я установил, запускаю - на выходе нихуя. Ровно нихуя, никакой информации. В ноде не секу вообще. Как заставить ее выводить информацию про еррор? Как заставить дившот-кли работать?
Судя по тому, что скрипт /usr/local/bin/divshot рекваерит "../index.js", на этом месте вероятно и дохнет. Но почему без единого звука? И почему такая хуйня вообще происходит?
>>437838 Лалка, ты хотя бы в login ввела логин и пароль, или что там. Я так понимаю это бесплатный говнохостинг для нищенок. Сначала зарегайся, хотя бы.
>>437822 Программирование состоит на 10% из сочинения названий. Дальше несложно догадаться.
>>437659 Вороватый издатель ленится в деобфускацию.
>>437536 >подразумевает что js используется только в браузерах Покинь тред. Расширяй кругозор.
>>437529 К этому всё идёт, но нужны некоторые вещи, которые невозможно использовать вне виртуальной пашины. Во первых нужна строгая типизация, низкоуровневая работа с памятью.
И это не только проблема промежуточного "движка", но и самого языка. В будущем будет string text = 'hw'; int a = 0;
Что касается классов, то они не так важны, как модульность.
Сейчас нужно использовать index.html для связи модулей, что конечно можно использовать на linux дистрибутивах некоторых сумасшедших авантюристов, но не в рамках рабочей версии.
Предстоит пройти путь полный ошибок и велосипедов. Я уверен только в одном, язык изменится, более того он уже изменился, просто мы должны измениться и принять перемены.
>>437888 >>подразумевает что js используется только в браузерах >Покинь тред. Расширяй кругозор.
Ну на сервере js - провал в любом случае, а на вебкит-говне пишут только хипсторы и прочие убогие ебанаты, которые не осилили нормальные языки и фреймворки под десктоп.
>>437900 > вебкит-говне пишут только хипсторы и прочие убогие ебанаты, которые не осилили нормальные языки и фреймворки под десктоп. Приложение должно работать на: Виндоус, Линукс, Мак ОС Х, АйПаде, Андроиде, АйФоне. Нормальный фреймворк в студию.
>>437888 >Вороватый издатель Лолд. Просто попроигрывал с петушков пытающихся скрыть свой код на $, лолд. Я думаю, не надо объяснять, почему этого делать не стоит, если вы не делаете это с целью оптимизации.
>>437843 >Static Web Hosting for Developers >нипанимаешь о чем речь!11 Серенькнул с этого мамкиного программиста.
>>437910 Во-первых Qt. Во-вторых >приложение должно работать на: Виндоус, Линукс, Мак ОС Х, АйПаде, Андроиде, АйФоне. Не должно, потому что write once, run everywhere - миф для быдла, нормальные конторы пишут отдельную заточенную версию под каждую платформу, иначе получается глючный перегруженный кал. Одна из причин - невозможность использования особенностей платформы себе на пользу. В-третьих, js - говноязык на уровне похапе или даже ниже по проёбанности дизайна. Кодить на нём от нехуй делать, имея здоровые альтернативы в виде взрослых языков - удел придурков и фанбоев. В-четвёртых, нахуй кодить десктоп софт без нормальной многопоточности на конечном автомате, это такое развлечение для скучающих по дилдакам в жопе? В-пятых. Там где в няшных кюти, впф и прочих нормальных фреймворках можно нарисовать своё приложение кликая мышкой в уютной иде, в вебките - такой же унылый пердолинг c js/css/html как и в вебе, и даже на каком нибудь свингоговне было бы проще всё сделать. Напоминаю ещё раз, веб - образец того, как работу с UI неправильно делать, и только совсем с недавних пор он начал двигаться в сторону нормального фронтенда, но ему ещё в говне плыть и плыть.
Подскажите плиз годную библиотеку по канвасу. Буду пилить графики акций. Пересмотрел все известные и не очень либы по постройке чартов и стокчартов, и только в одном было что-то похожее на то, что нужно мне. Решил пилить свой велосипед.
>>437946 Да наверняка можно и на существующих, но мне легче будет заново написать, чем разбираться в существующих либах. Тем более, что существующие либы направлены на более широкие задачи.
>>437914 Ты же прекрасно понимаешь, что на Html5 гораздо труднее накосячить с кросплатформенностью (там вместо этого кроссбраузерность), чем в крестах, где сначала крестух >>437920 не осилит кросплатформенные апи, а потом скажет что иначе было нельзя, и write once run everywhere - это миф, блеять. Приходите вчера!
Каким образом можно повесить событие на вызов произвольного метода у объекта? Допустим вызываю obj.test(), должно сработать два евента: до вызова и после вызова.
>>438166 >но мне бы шарящего анона, чтоб пояснил по хардкору. А что твм пояснять? Пишешь@запускаешь. Серьезно, почитай ридми, там вся необходимая инфа.
>>438179 Блядь, вот прям открываешь страничку на гитхабе https://github.com/nwjs/nw.js и читаешь все, что там внизу написано, там еще и ссылки на более подробную документацию есть. Ну как маленькие, ей-богу же.
>>438210 Первый день на гитхабе? То что вот этот >>438205 описал >читаешь все, что там внизу написано, там еще и ссылки на более подробную документацию есть и есть ридми
>>438291 Разобрался, но там получается, что файлы программы так и остаются с расширениями, которые любой школьник откроет и сможет изменить что угодно. Это как-то фиксится?
Ангуляро-боги, помогите. Есть две директивы. Обе используются по нескольку раз на разных (!) DOM-элементах. Нужно, что бы link вторых директив выполнялся после того, как выполнятся link всех первых и не раньше. Что я пробовал: 1. priority - не подходит, так как приоритет определяет, в какой последовательности будут выполняться директивы, находящиеся на одном (!) DOM-элементе (а у меня, напомню, на разных). 2. pre, post link - не работает, т.к. выполняется prelink 1ой директивы, postlink 1ой директивы, prelink 2ой директивы, postlink 2ой директивы. А мне нужно: prelink 1 prelink 2 prelink 3 postlink 1 postlink 2 postlink 3 3. compile - насколько я понимаю, не подходит, так как мне важно, что бы все binding'и были выполнены на момент вычисления первых директив. 4. $timeout - не работает хуй знает почему, выполняется примерно в том же порядке что и в пункте 2
>>438447 Ок. А как с этим дело обстоит в браузерном js? Ведь там кто угодно может посмотреть и всё украсть. Есть какие-то годные обфускаторы, которые нельзя расшифровать, или можно, но с большими усилиями?
>>438452 >мой гениальный и неповторимый код >js >А как с этим дело обстоит в браузерном js? Анон выше уже все разъянил по хардкору на счет обфускации. Лучше, как тебе уже посоветовали, писать так, что бы не стыдно было потом, когда его спиздят. С обфусрации только посмеются, лол.
>>438479 Т.е. на клиенте одна только рутинная херня, которую невозможно божественно организовать с помощью инновационного дизайна в сфере фронтед-программирования?
>>438476 Блять, ты пойми - если ты задаешь такие вопросы, то твой код точно нахуй никому не сдался. При всей простоте, с которой могут спиздить твой код, его мало кто даже просто откроет посмотреть. Что ты собрался писать, что это обязательно будут пиздить ? Почти всегда легче самому все написать, чем разбираться в чужом говнокоде и править чужие баги.
>>438387 Программа будет не будет, но предполагается что будет стоять на компах в вузике, и на ней студни лабы делать будут. Наверняка найдется кто-нибудь молодой и шутливый, решивший изменить стили например или еще чего. Мне нужно защитить программу от вандализма.
>>438590 >>438596 Лол, у жс-манек припекает, что их код принципиально невозможно скрыть. Оправдываются, что якобы на фронтенде не бывает нетривиальных алгоритмов и архитектур, которые не хочется палить быдлу. Хотя перед кем я распинаюсь, вы ж дебилы ничего сложнее хелоуворда не писали. Чао, лахи.
у меня серьёзный вопрос я пишу на яве, в пхп могу ооп
а жаваскрипт идёт оче туго в яве я наебашил классов, бобы приготовил, запускаю классы из бобов и мне норм.
на пхп ебашу автолоадером по хардкору.
а в жавескрипт любое сложное превращается в ебаное говно. там же классов нет. я изъёбываюсь через huilo = {} но это не удобно. поясните, может я упускаю что-то?
почему мне жс кажется таким неудобным? как исправить?
>>438636 Ты даже не представляешь, сколько хуйни тебе придется учить, которую ты никогда нигде использовать не будешь. Если так хочешь на JS, то сделай сервер, на котором будет основная логика и клиент в браузере, в котором будет просто представление. Сервер делай на node.js
Посоны, помогите дебилу. Делаю экстеншен для хрома, чтобы все аудио втентакле приводило к нижнему регистру, через vk.api.
Получил список всех аудио и потом по ним пробегаюсь на каждый делая запрос на редактирование. Постоянно валится с ошибкой "Too many requests per second". В доках написано, что нужно делать не больше 3-х запросов в секунду. Ну вот я вроде бы таймер поставил чтобы делало запрос с редактированием каждую секунду. Но что-то нихуя. Что я неправильно делаю?
>>438696 Не очень. Полтора дня в этом всём варюсь. Посмотрел даже видео с презентации про работу Event Loop, вангую, что где-то там и проебался. Да?
>>438695 >https://vk.com/dev/execute Прости тупого, но не очень понял как применить. Вижу только что там в примерах кода JS SDK. Я его пока не трогал, думал сделать обычным дерганием запросов через XMLHttpRequest();
>>438704 >Не очень. Полтора дня в этом всём варюсь. Посмотрел даже видео с презентации про работу Event Loop, вангую, что где-то там и проебался. Да? Примерно. Но ты даже 2 раза проебаться умудрился. 1. edit(item) - здесь ты просто вызываешь ф-ию. Сразу, прямо в цикле. 2. Чуть сложнее. Представь, что у тебя в массиве audios.response 10 элементов. Тогда вот так audios.response.forEach(function (item) { setTimeout(function () { edit(item) }, 1000); }); Ты в цикле создашь 10 функций-обработчиков, которые ВСЕ примерно через секкнду ломанутся в поток исполнения. В итоге у тебя опять же 10 запросов пойдут почти в одно и то же время, только спустя примерно секунду после окончания цикла. По поводу execute: http://habrahabr.ru/post/248725/ Если тебе так уж хочется запускать какую-то ф-ию раз в секунду сделай так: http://jsfiddle.net/2bLjzb61/ Если при выполнении глянешь в соснольку, то увидишь, что ф-ия выполняется примерно раз в секунду. И осознай, что setTimeout - это не sleep.
>>438761 Разграничение прав доступа. Не знаю как там на сперме, но на линухах элементарно пользователю, под к-ым работают студенты запрещается модификация ф-ла, но разрешается его исполнение и\или чтение. Не надо решать костылями такие задачи.
>>438765 Ты что тут делаешь? Ты ебанутый? Речь шла от том, чтобы шаловливые ручки студентов не модифицировали программу. При чем тут отладчик? Причем тут cp?
>>438763 >Ты в цикле создашь 10 функций-обработчиков, которые ВСЕ примерно через секкнду ломанутся в поток исполнения. В итоге у тебя опять же 10 запросов пойдут почти в одно и то же время, только спустя примерно секунду после окончания цикла. Примерно так и думал, но не доходило, что просто обьявляю таймеры.
>По поводу execute: http://habrahabr.ru/post/248725/ Если тебе так уж хочется запускать какую-то ф-ию раз в секунду сделай так: http://jsfiddle.net/2bLjzb61/ Если при выполнении глянешь в соснольку, то увидишь, что ф-ия выполняется примерно раз в секунду. Спасибо за обьяснение, анон.
>И осознай, что setTimeout - это не sleep. Дошло, ага.
Блядь, пиздос, у меня от этого JS комплекс неполноценности развился, пробуя я читать я этот http://learn.javascript.ru/ и вообще нихуя не понимаю, что за основные операторы? Нахуя это вообще надо? Блядь, как это можно понять? Как из этого рандомного набора символов, получается всякое работающее говно? Неужели я настолько тупой, что не могу ничего понять? Ебать я дно никчемное. Сука, аж плакать хочется. Переезжаю в /rf/ нахуй.
Вечеор в хату, пацаны. Подскажите пожалуйста годную книжку по node.js Я понимаю что они устаревают оче быстро и лучше читать доки, но мне нужна именно книжка. Можно по каким-нибудь best practice или patterns на ноде. Nodejs in action уже прочитал.
>>434622 Вот собственно, объясните, как находя слово в элементе, выводить в ответ ниже заданный текст. пока что я только в автозамену смог. $('p:contains("Саша")').text( "you're wrong" ); <!--автозамена-->
можно сделать околокроссбраузерный(latest ff support required) drag & drop каталоговс содержимым? гуголь выдаёт только инфу по файлам и то что в хроме такая фича есть аж с 21 версии. в связи с чем: есть ли какая-нибудь спецификация? есть ли или планируется ли хоть какая-та поддержка в огнелисе? если ответ на последний вопрос - да - ссылку в студию, пожалуйста
http://jsfiddle.net/s11Lbnp8/1/ ну ебт. как удолять только конкретный this (post-wrap) ? пробовал и children, closest, find , да все бля! господа программисты на jquery, выручите сонного дебила.
Столкнулся с визуальной аномалией, а именно круги выглядят как бочки из низкополигональных игр при небольшом масштабе (иногда при увеличении). Искал какой-то метод или опцию включения сглаживания, но не нашёл (это же канвас).
Я не понимаю как с этим бороться. На данном скрине не так бросается в глаза как когда такой эффект повторяется при изменении масштаба.
К сожалению мне не удалось повторить момент. С чем это может быть связано, сам склоняюсь к координатам с плавающей точкой, но может это глюх хрома. Вообще странно видеть такие гайкоподобные круги в 2015 году.
Я аутист и столкнулся с некоторым непониманием. Поправьте меня, если я не прав, сейчас будет поток мыслей. Жаваскрипт - язык для придания классных эффектов в вебе(жикьюри) и работами с БД на сервере(нод.жс), но не более. Решил на днях изучить модный фреймворк ангуляр. Насколько я понял, он пытается претендовать на обе позиции, встроивший в хтмл код. Вопрос в том, что зачем мне это нужно, если те же задачи я могу выполнить, к пример, на богомерзком пыхе или божественном руби? Вы предполагаете, что можно пользоваться только жс во фронтенде и бэкенде?
>>439849 Не хотел отвечать, потому что думал, что подойдут более знающие аноны, но тут все какие-то злые, поэтому тебе придется выслушивать меня: 1. js для управление UI вообще, а не только для "классных эффектов". 2. Фронт работы на сервере несколько выше, чем работа с БД - получать запросы, обрабатывать их, отвечать клиенту. Отдавать статичные файлы, генерировать страницы. Ну и работать с БД в том числе. Node.js всё это так или иначе умеет. 3. Да, всё это ты можешь делать на любом серверном языке, в том числе и на руби и на пхп. 4. Можно, но лучше это делать для специфических задач, а не для всего подряд. 5. Ангуляр - для упрощения некоторых действий на фронтенде, на которые ты потратил бы много времени с jquery и еще больше на чистом js. К серверу он отношения не имеет, ты можешь исопльзовать его на полностью статичной странице
Собрались как-то JS-хипстеры и такие короче: "а го замутим энтерпрайз короч, ну там всякие сервисы, провайдеры, фабрики и прочие DI, а то даже у пхп есть, а у нас нет, чет не порядок". Ну и короче давай обмазываться и придумывать всякую хуйню и вот высрали они это поделие.
А так как хипстеры ничего сложнее примеров из getting started не писали и их максимум архитектурных амбиций - бложик напроектировать, то получилась заведомая ХУИТА. Потому что вместо энтерпрайза получился его ролеплей, при этом нахуй в жава-мирочке нужны были всех сервисы, фабрики и провайдеры - js-дебилы не знали, и в итоге мы имеем топ лол в терминологии, когда сервис от провайдеры отличается лишь тем, что один синглтон, а другой нет, что конечно же не может забавлять самих энтерпрайз макак, ржущих с очередного необучаемого хайпа.
Правильные пацаны пишут сегодня на jquery и не парятся, потому что хороший структурированный js-код - это настолько ебаный миф, что лучше писать как можно более простую процедурную лапшу, чем обмазываться ангуларами-реактами.
>>440026 >3. Да, всё это ты можешь делать на любом серверном языке, в том числе и на руби и на пхп. Скорее всего я тупой, но почему я должен использовать именно жс фреймворки? И если тебя не затруднит, то объясни подробнее о всех этих взаимодействиях между клиентской и серверной базы и где что используется. Я читал книги по жаваскрипту и пхп, проходил курсы на кодакадеми и кодскул. Синтаксис языков я знаю на уровне, как запилить разные штуки, ООП. Только не сказано ни слова о, так сказать, пошаговой организации сайта и всех этих хитросплетения. Обычно дают материал в рамках одного языка или технологии. Я о терминале то узнал относительно недавно, а картина в целом до сих пор не вырисовывается.
Задача - Напиши функцию создания генератора sequence(start, step). Она при вызове возвращает другую функцию-генератор, которая при каждом вызове дает число на 1 больше, и так до бесконечности. Начальное число, с которого начинать отсчет, и шаг, задается при создании генератора. Шаг можно не указывать, тогда он будет равен одному. Начальное значение по умолчанию равно 0. Генераторов можно создать сколько угодно.
var generator = sequence(10, 3); var generator2 = sequence(7, 1);
>>440136 Кто тебе сказал, что ты должен ? Используй что хочешь. У всего есть свои минусы и свои плюсы. В качестве примера пошагового руководства можешь нагуглить как сделать Reddit на Angular.js + Node.js, там обо всём этом есть: что в базе хранится, что делается на сервере, что делается на клиенте. Если очень коротко и упрощенно, то сервер берет данные из БД, отдает их на клиент, а клиент их отображает. Пользователь работает с клиентом из браузера, отправляет данные обратно на сервер и там они заносятся в БД. Не торопись, всё узнаешь со временем, просто узнавай что-нибудь новое каждый день и все будет ок. То что картина не вырисовывается - это нормально. Больше гугли всяких статей где все разжевывается
p.s. Ангуляр сильно сложный в обучении, начни с более простых штук.
Я смотрю, вы тут жквери обсуждаете. Так вот я нагуглил очень удобную библиотеку jquery ul, новая, там куча готовых скриптов. Например есть скрипт-функция .dragable(), которая перетаскивает объект на странице. Так вот, я не знаю, почему, но это перетаскивание жутко тормозит и ускоряется потом, хотя не должно, я ведь не вводил доп. условий. Почему так? Я пытался рыться в коде, но я ничего не понимаю в коде, там джава наверное или что.. хз. Вот эта библиотека, можете скачать, покопаться. http://jquery.page2page.ru/index.php5/JQuery_UI
>>440222 Я вот тоже не совсем понимаю хайпа вокруг фронта. Сделали из шаблонизаторов и жс библиотек второй бэкэнд. Я могу понять, если либа решает проблему времени, например, если какую-то йобу писать 10 минут и можно наебнуться где-то, то конечно легче взять готовое, но зачем всё так усложнять - не совсем ясно. Каждый хочет изъебнуться по-своему, усложняют, надстраивают ненужные абстракции, а потом упрощают и считают это чем-то новым.
>>440265 Ага. Я раньше дико дрочил на все эти фронтэнд фрейиворки, пока не стал заниматься бэкэндом с рельсами. Делая всё по максимуму на стороне рельс получается гораздо проще и быстрее.
>>439849 >Я аутист Для недалёкого поясняю. Язык - это средство выражения мыслей и абстракций.
Разными языками можно описать один и тот же алгоритм. Проблема применимости кроется не в языке, а как это ни парадоксально звучит в компилляторах и интерпретаторах.
Если машина не понимает твой язык, ты должен дать ей средство, чтобы она могла выполнить твои команды. Так вот js напрямую машина не понимает. Машина понимает машинный код.
Напиши на чём угодно компиллятор для конкретной машины с конкретными процессорными инструкциями и на js можно будет писать операционные системы с нуля.
Но ты же даже калькулятор в браузере на нём с трудом напишешь. А тут уже возникают проблемы объектно-функционального яваскрипта, который отлично работает с функциями, но очень хуёво и не без велосипедов с объектами.
Самое большое приложение которое я писал составляло чуть больше 1200 строк, это мало с точки зрения какого-нибудь си шарпа, но в js, несмотря на разбиение на файлы даже такое малое (я почти не использую комментарии, так как сторонник понятного кода и адекватных названий), возиться с этой гопшой можно только в контексте непрерывной работы.
Достаточно забросить проект на сутки и ты даже с подробным комментированием потратишь неделю на чтение и сопоставление комментариев, как бы прекрасно ты ни пытался, ну нет сейчас в js удобной типизации (только парщ, только победа), наследования, конструкторов (даже this работает через жопу, не давая удобно создавать сложные конструкторы), но обратная сторона медали - js имеет всё для динамического создания объектов.
Короче, он мог бы быть системным языком, была бы инфраструктура и ряд глубоких реформ языка, которые уже совершены, но поддерживаются только в хроме по сути (с включенным аккордеоном).
(адекватная) некоторые приложения действительно удобнее делать потолще на клиентсайде. Ну например, воображаемое приложение для редактирования схем или какой-нибудь веб-аналог Excel. Плюс, такое приложение сможет работать в офлайне. Более того, такое приложение может даже вообще работать без сервера.
Но я не считаю что именно ангулар подходит для таких приложений. Он же на больших объемах данных тормозит. И браузер на больших объемах DOM нод тормозит. И если например делать почтовый клиент без ухищрений и оптимизаций то скорее всего он будет работать плохо так как у людй обычно, в ящике тысячи и десятки тысяч писем скапливаются. Но в ангуларе хороший шаблонизатор сделан, а все остальное какое-то страшное, сервисы, провайдеры, знаки доллара везде (любители php постарались?), все надо объявлять в одном файле, кошмар какой-то. Это же надо, люди видимо ООП не осилили и начали свое что-то изобретать.
Ну и такие приложения все же сильно ограничены. Как только там становится много сущностей, они начинают тормозить. Я еще ни одного не видел которое бы не тормозило. Особенно редакторы кода. Ну и вообще, скорость реакции ниже чем у нативных.
(неадекватная) многие дальше HTML/JS ничего не осилили и серверный код писать нормально не способны. Вот они и пытаются все делать на том языке который знают. А так как они хипстеры с кучей подписчиков в твиттере, это становится модным.
>>440570 Я тебе подсказал в каком направлении гуглить. Где-то слышал, что у dragable проблемы с фаерфоксом, не знаю, решаемы они или нет, так что это тебе предстоит выяснить самому.
>>440577 да я уже нашел проблему, просто всему элементу прописал транзишн, который и на перетаскивание распространился. сейчас пытаюсь вычислить координаты опускание чятика в зависимости от объема окна, а также резиновый отступ.
>>434622 Эй выблядки, где перекот блядь? Почему в треде никто яростно не обсуждает последние новости js-манямирка,а? Няшные бородачи для настоящих хипстерав.
Предыдущий: - https://2ch.hk/pr/res/427722.html
Шапка тренда переезжает в репозиторий - https://github.com/ID25/js-thread (Делать пулл реквесты с корректировками и ссылками на материалы приветствуется), todo: сделать нормальный, структурированный гайд, посему реквестирую умельцев писарей, а то мне лень.
Начнем, предыдущие 2 треда были созданы энтузиастом, за что ему спасибо, так как я, православный оп жс тредов слегка отвлекся на wow.
Что же случилось интересного в мире жс за последние недели? Думаю вы уже поняли что речь идет про React. Фейсбукопидоры не пальцем деланы, очередной хипстерский фреймворк (хотя какой это фреймворк то?)
Для затравки и ознакомления - всегда ваша, хабропараша:
http://habrahabr.ru/post/249107/ - о том какой реакт сякой.
http://habrahabr.ru/post/249279/ - о том какая фича jxs в реакте сякая.
http://habrahabr.ru/company/hexlet/blog/249579/ - и нетрадиционной ориентации обзор реакта.
Сам я на нем даже хелло ворлд не написал, но на днях испробую. Суть в том, что пока все махнули рукой на вонючий ангуляр, и пересели дрочить новую модную хуйню, случится так, что в двери постучит ангуляр 2.0, и опять шарманка по новой... Вау как круто, пиздато сделали es6 кууул))) Все пока реакт терь снова на ангуляр можна пересесть)) Ой бля, а теперь еще и polymer... Ну все, нахуй интерфейсы с реактом, когда есть material design. Круговорот фреймворков в гитхабе. Клонируй мою repo себе на хард, я знаю ты любишь коммитить.
Теперь за нод.жс. Как то потухило все, не так ли? io.js не обосрались, взлетело вполне. Даже Atom перешел на него. А так, лучше уж подождать годик, пока не доведут до ума.
Ну и напоследок, вышел обновленный кофескрип 1.9.0.
- "Ну нахуй, у меня нет времени ебаться с запоминанием безскобочного сахарка, лучше еще пару скобочек напишу"
Вот типичные мысли у человека, у которого в консоли "ошибка конпиляции, вы пропустили пробел))"
А ведь теперь ситуация получше, во первых поддержка ES6, а во вторых уменьешие жопной боли, ибо улучшен отлов ошибок. Ну, короче те у кого не сложились дела с кофейком, ваш второй выход, в этот раз получится, else if {{{){{-0)()()('''';;;;
Ну а мы тем временем начинаем очередной JS ТРЕНДЖ, пилим скриптопарашу, бугуртим от КАЛбеков, выводим в консоль хелло ворлды, как обычно.
Официальный JavaScript тред #9 объявляю открытым!