24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.
Есть тут гуру angularjs? Пишу приложение, но никак не могу понять, как организовать работу с данными. Везде пишут, что ее лучше вынести в отдельный сервис, но как из него своевременно подтягивать изменения? Завязать все на событиях или выносить коллекции в рутскоп? Спасайте, анончики. Сроки поджимают, а городить очередной велосипед сил уже нет.
Шалом, господа! Здесь есть безбашенные парни, которые пришли во фронт энд из бек энда? Я сейчас пишу на питоне в перемешку с js, а хотелось бы перейти полностью в js. Стоит ли оно того? Может кто-то был в похожей как я ситуации, например, кодил на пыхе, а потом ушел во фронт энд. Я почему-то чаще слышу как наоборот уходят в бек энд, чем наоборот. Лично мне кажется, что для веба, которым я занимаюсь, js более перспективный, чем питон.
>>732620 Если опыта в питоне не так много, то смело перекатывайся, а если у тебя за плечами 5-6 лет серверного программирования, то я посоветовал бы несколько раз подумать
Если я делаю так: 1. Имею некий элемент-образец с display:none 2. По нажатию на кнопочку отправляю гет-запрос, получаю жсон с массивом данных 3. Для каждого элемента массива делаю cloneNode того образца, вставляю нужные данные, добавляю созданный элемент в нужную часть документа.
>>732621 Я год работаю на питоне, начал задаваться подобными вопросами. Если верить статистике зп, то они примерно одинаковые, при этом на питоне куда меньше вакансий, а требования к работникам бывают куда выше. Лично моя точка зрения.
>>732631 Работы больше. Многие работодатели скептически относятся ко всяким питонам предпочитая им пхп+жс. Для себя, конечно, есть смыслы развиваться в обоих направлениях, но если планируешь получать за это деньги, то фронтенд со всеми вытекающими.
>>732637 Да я пошутил плоско, так-то. Вопрос у тебя глупый, прости конечно. Я не понимаю, что тебе мишает пистаь на джсе и на питоне? Если тебе не нравится питон и нравится джс, то пиши только на джсе. На фронтенде работы больше, да, но и работы больше. Т.е. с тебя спросят за верстку, за общие (а иногда глубокое) понимание проектировки интерфейсов. У большинства ребят, которые пишут бекенд с этим большие проблемы. Ты конечно можешь типа писать только бекенд джс, но кому ты нахуй нужен тогда. Я почти во всех проектах, которые пишу сам, использую рельсы на бекенде, т.к. рельсы это лимузин по сравнению с нодом. Сейчас пробую гоу для приложения, где надо много цпу задач в конкаренси обрабатывать. тл;др никто никуда не "уходит", люди пишут кто на чем горазд вот и весь сказ.
>>732652 Не обязтельно. Заебали совать везде свой вдом. В мелких задач он нахуй не нужен, достаточно уметь обращаться с обычным домом, правильно выстраивая операции.
>>732651 Это значит не дергать свой документ каждый раз, когда тебе надо получить доступ к твоему образу. То есть либо создал элемент, но в документ не вставил. Либо если у тебя этот образец из документа уже, то храни на него ссылку.
>>732649 Ну на работе я не выбираю на чем писать и что писать. Как правило есть задача и стек технологий, дальше кручусь, делаю.
По идее если во фронте делать даже и больше, я же все равно даю какую-то свою оценку, сколько мне нужно на выполнение, так что больше работы надо делать, больше времени будет потрачено.
На вакансиях фронт энда именно знание питона обычно не главное требования, так, плюсик.
На текущей работе я по факту все равно на всем херачу, верстку в том числе.
>>732687 Функции ок разделены, код простой и легко читается. Единственный вопрос, который у меня возник при чтении - почему функция createError может не создать ошибку? Думаю, что стоит выносить проверку на уровень выше перед вызовом. А createError пусть создает ошибку, как и должна. Что-нибудь типа if (checkError()) createError().
Что хранить в объекте? Речь о дом-узле. Расскажи мне какая разница, что ты будешь хранить описание узла и потом все равно вызвать сотни раз конструктор по этому описанию, или ты будешь хранить готовый дом узел и клонировать его блядь?
createElement это не хранение в доме. Это блядь неотреднеренный элемент. Совсем поехали со своими виртуальными домами. Не умеете обычным пользоваться.
>>732889 Есть дата. Она отображается так. "15 май 2016" Мне нужно "15 мая 2016,". И так все даты на странице заменить. Код выше это только заготовка. Но и она что-то не работает. Мне в сторону регэкспов копать?
>Started GET "/items.json" >Sphinx Query (3.4ms) SELECT FROM `item_core` WHERE MATCH('s*') AND `sphinx_deleted` = 0 LIMIT 0, 20 OPTION max_matches=50, ranker=bm25 >Sphinx Found 4952 results Славься Андрюха! На реактоне пишешь в серч филд по 10к базе и автосаджешенны рендерятся за миллисекунды. Почти как в ГУГЛЕ. Обосраться, как круто.
>>732930 Да нет фишки, как бы. Сфинкс очень быстро ищет в базе данные и реакт их очень бытро рендерит. Получается ТАКОЙ ТО UX. Завтра запушу демку, заказчики катарсис испытают после той поделки с которой они работали, где джойн джойном погонял и скульный запрос по 30 секунд компутился в хуёво свёрстанную хмтл страничку.
>>732972 Присваивает переменной Jopka результат коллбека, который внутри определяет функцию Jopka() и возвращает ее, что эквивалентно var Jopka = function () {}.
репостну из веб: Есть страничка со ссылкой вида /page?id=xxxxx. Предполагается, что примитивный сервер при получении подобного get-запроса просто отдаст дефолтный page.html, а дальше уже js на клиенте запросами к API загрузит всю нужную информацию по этому айдишнику. Вопрос в том, как этот айди клиенту передать? На сервере впихнуть его в отдаваемую хтмлку (либо в id какого-нибудь основого элемента, либо в <script>)? На клиенте вытащить из текущего window.location'а? Или есть какой-то ещё способ?
>>732978 Из локейшена достать парамсы проще всего: location.search отдает все, что находится после ? символа. Можешь и в data-id аттрибут вставить. Это не принципиально.
Посоны, хочу сделать полную сепарацию Rails и FrontEnd. То есть отдельный проект с RailsAPI и отдельный проект с каким нибудь хипстерским JS-фронтентдом. Делается это для того чтобы делать несколько(неопредленное количество) сайтов на разных доменах и хостингах, которые в целом имеют одинаковые функионал, но разные роут, дизайн, сео. А так же чтобы не плодить на каждом хостинге по инстансу сервера котоорая будет жрать память, деньги за хостинг, синхронизацией данных между друг другом и т.п.
В целом хочу один ёба хостинг с рельсами и куча всяких говнохостингов, которые возможно даже PHP не воспринимают, на которых лежит html+js+css, которые соеденяется по REST API с главным.
Просто опыта такого нет, фремворков JS не знаю вообще, когда смотрю на список этих фреймворков просто не понимаю что из них можно выбрать, что говно, что нет, их какое-то большое количество и в чем разница между ними неясно.
Аноны, а учить язык только книгами есть смысл? А то дочитал книгу "Выразительный javascript второе издание до 105 страницы" и призадумался. Или как-то по другому надо начинать?
>>733088 >только книгами Только книгами это "без видео и/или инструктора", или "без кодинга"? Если второе, то норм, зачем кодить, лучше книгу прочитать.
>>733090 ну я смотрю примеры в книги, и почти после каждой главы есть задания. Вот в книги Фленагана вроде только примеры. На кодеварс бывает что-нибудь решаю, но редко что попадается для еще зеленого анона. Другие методы практики пока что не нашел. Может подскажешь?
>>733139 >if (0 <= s1 < 60 || 0 <= s2 < 60 || 0 <= s3 < 60) return 'F'; >// D console.log(getGrade(65,70,59)); У тебя тут уже s3 попадает под условие для F Дальше думай сам. Может тебе стоит вместо OR использовать AND
Вопрос по ноде, но подозреваю, что тут его тоже можно задать. Около полугода писал одну хуйнюшку на ноджс. Пришел к выводу, что большие серверные приложения на ней писать нельзя, потому что в условиях вездесущей асинхронности проектировать архитектуру не представляется возможным. Колбэк на колбэке и колбэком погоняет. Язык мало того, что не поддерживает человеческое ООП, так еще и заставляет почти все результаты функций обрабатывать в колбэках, что ставит крест на попытке писать в функциональном стиле. В связи с чем у меня следующие вопросы: есть ли статьи/литература по проектированию ПО в асинхронном стиле ноды? И второй: почему это говно до сих пор не сдохло? Серьезно, это же полный пиздец. Однопоточная асинхронность без возможности "процессов" общаться между собой сообщениями, без нормального ООП, без нормальной возможности писать в функциональном стиле. Ебаный мутант.
>>733186 Встречный вопрос. Почему каждый неосиливший ввиду своего скудоумия и стереотипного мышления, умеет только исходить говном, вместо того, чтобы либо отказаться от технологии и выбрать то, что ему нравится\удобно, или вместо того, чтобы научиться в то, что он неосилил? У вас что, комплекс неполноценности?
>>733199 Ты не ответил на мой вопрос. Ты понимаешь, что на говно исходят от того, что не понимают, глупые люди? Ты бы мог придти и задать свой вопрос без всяких своих субъективных оценочных суждений. Но ты именно подчеркиваешь свою перманентную неприязнь, что само собою показывает то, на каком уровне твое развитие.
Я могу привести тебе аналогию. Например, я люто не люблю сыр. Но моя девушка его обожает. Я хочу приготовить какое-то блюдо используя сыр, но так как я его не люблю, я совершенно не знаю что из него можно приготовить и как. Я иду к людям, которые умеют и знают. Как ты считаешь, если я приду и начну говорить - сап, чуваки, ваш сыр лютое говно. это же просто самый бесполезный продукт, который даже нельзя отварить. нахуй он вообще нужен? есть где почитать на эту тему и о том, что из этого говна можно сделать?
Ты считаешь это здравое поведение не глупого человека?
>>733199 Собственно я к тому, что на твое оценочное мнение всем плевать. И если бы пришел и задал вопрос по существу, я бы даже был непрочь тебе что-то посоветовать. Но ввиду твоего поведения, отпадает всякое желание. Потому как это показатель того, что с большей вероятностью ты идиот. А следовательно моя помощь будет пустой тратой времени.
Да даже то, что я тебе все это объясняю - пустая трата времени, потому что вряд ли ты что-либо выведешь из всего сказанного. Может быть только побугуртишь еще больше.
Ты мог бы сразу сказать, что просто не знаешь ничего о проектировании ноджс-приложений. Но дело не в том, что этого не знаешь ты. Дело в том, что этого не знает никто. Разработчики ноды решили, что они умнее всех остальных и плевали на проверенные временем решения, типа ООП или ФП. Однопоточная асинхронность, сказали они. Правда, очень быстро появились библиотеки, которые старательно оборачивали всю асинхронность в понятный, последовательный стек вызовов. В этом что-то есть, правда? Одна из главных фич языка зачем-то прячется за синхронными обертками. Это как если бы для С++ написали библиотеку, которая трансформирует классы в процедурное программирование.
>>732981 >>732978 При первом запросе лучше отдать от сервера, при следующих запросах это может сделать клиент, отправив ajax-запрос по rest-api, чтобы не гонять повторно разметку.
>>733211 > Одна из главных фич языка зачем-то прячется за синхронными обертками Затем, что так приятнее воспринимать. Асинхронность хороша не для разработчика, а для работы приложения, странно, что ты этого не понимаешь. И использовать async/await (которые уже почти что завезли) не обязательно, можно юзать и промисы. >Однопоточная асинхронность, сказали они Она может быть и многопоточной, если использовать кластер.
Сап хочу попробовать себя на бэкенде, точнее создать полноценноне одностраничное приложение с REST API Стоит ли осваивать руби либо лучше писать бек на ноде со всякими express?
>>733415 Если тебе именно js, без верстки и т.д. то можешь прямо с learn Если надо еще html,css и прочие штуки осваивать - то начинать с htmlacademy и ее интенсивов (там даже js будет)
>>733217 >Она может быть и многопоточной, если использовать кластер. Почему меня никто не опроверг? Асинхронность всегда в одном треде, это инстансы ноды могут быть в разных процессах.
>>733446 Ты путаешь все на свете. Асинхронность никак не подразумевает априори многопоточность. Она может быть как однопоточной, так и многопточной, или реализовываться кластерами процессов.
Ты вообще понимаешь, что даже на уровне ОС все твои процессы не выполняются одновременно и уж тем более потоки. В единицу времени выполняется по задаче на ядро.
Асинхронность это концепция. Это парадигма, если хочешь.
Кластер на ноде, создает по инстансу на ядро, но задач в них может быть бесконечное множество. Просто эвентлуп ноды берет на себя задачи планировщика ОС.
>>733446 Алсо, рантаймы в других языках, например в го, делают примерно то же самое, просто из коробки. Они тоже берут на себя задачи планировщика. На ноде, тебе просто надо немного поработать руками, чтобы скомпоновать удобную архитектуру.
В низкоуровневых языках ты создаешь ОС-треды, и там за планировку их отвечает ОС.
Не надо все мешать в кучу. Везде свой подход.
И на ноде при желании ipc процессов можно делать через разделяемую память, что будет очень быстро.
>>733469 с уроками по ноде все плохо и вообще нода на своем птичьем языке пышется и если урок старше пары лет, то примеры из него не будут работать ну у меня такое впечатление создалось
Помогите сделать autosize для родительского div'а в зависимости от ширины/высоты картинки. Как поменять первый аргумент функции .replace() чтобы он действовал для файла css лежащего в папке а не корневой директории? Не понимаю что за значение в аргументе. http://codepen.io/bloomber/pen/GZwerm
Это получается, если мне надо сложить 2 числа, которые юзер ввёл в два разных поля, то писать через такие костыли? Нельзя как-то привести их к int значению?
просто зашел сказать, что ЕБАНЫЕ БЛЯДЬ КОНТЕКСТЫ, ЕБАНЫЙ BIND APPLY THIS И В ИТОГЕ ХУЙНЯ и сука блядь нихуя не понятно где что где мои переменные почему оно нихуя не видит ебаный быдлоязык как можно было такое дерьмо сварганить суки. 5 лет C++, год C# и сижу как дурак, не могу книгу для сраных дошкольников понять, каждая вторая задача - сраный рандом из скобочек и биндингов, сука.
>>733578 >писать дольше Самый нелепый аргумент. Даже текстовые редакторы автокомплитят, не говоря уже про полноценные IDE. Писать parseInt() в хуйлиард раз более экспрессивно чем ссаные плюсики.
>>733586 хаха ясное дело. После этого говна вкатиться в здравый строго типизированный язык, где всё разложено по полочкам - много ума не надо. А вот заставить мозг работать с программами в формате помойки - это тяжело.
>>733595 верю, но как же тяжело въехать во все это. И это ведь только базовый синтаксис, а ещё хуиллион фреймворков каждый написанный на коленке и возведенный в культ. Боже, я слишком стар для этого дерьма. Но надо учиться...
Еще область видимость переменных через let будет на блок, как и во всех других ЯП, а не мозголомающе на функцию через var.
Бери лучше нормальные книги, а не какой-то каловый сайт, да ресурсы читай, а то учишь прошлую спецификацию. Пока выучишь, все уже на другом писать будут.
ES6 на процентов девяносто уже современными браузерами поддерживается, не говоря уж про ноду.
>>733603 коллега посоветовал V8 (движок JS) + nodejs/nan. Говорит, что очень перспективно. Наебал или норм? >>733607 спасибо, гляну. Но я хочу хоть что-то базовое понять, что бы какая-то база была. Иначе банально страшно копать дальше. >>733604 мир меняется. Лучше быть быдлокодером с JS чем быдлокодером без него. Да и просто интересно, пропускаю всю модную движуху из-за своей тупости.
То есть, если я присваиваю переменной c значение ++а, то меняется не только значение переменной c, но и инкрементируется значение переменной a? Схуяли?
Я думаю у меня был самый эффективный способ обучения. После выпуска с МехМата я несколько лет занимался тем, что рисовал интерфейсы, иконки и верстал статику. Высшой точкой моих знания джаваскрипта был плаггинг джейкверри плагинов а-ля smoothscroll и всякие карусельки с мегаменюшками. И джва года назад я заканчивал делать верстку для большого веб приложения по бизнес управлению для знакомых ребят, и буквально на следующий день как они приняли финальную верстку у них отвалился их джс кодер. Искать нового не было времени, и мне предложили занять его место + две недели к финальному дедлайну, чтобы я "подтянул" джаваскрип, лол. Я бы на самом деле отказался бы, но взяла верх жадность, т.к. денег предложили нормально, а я как раз хотел купить хороший фотоаппарат. Стак был на тот момент очень популярный: рельсы + бекбоне на кофескрипте. Я обмазался книжками и украденными видео тутсами и две недели по 16-18 часов читал\писал туториалы, благо видосы были люто охуенны и как раз по рельсам + бекбон. Очень боялся подвести и подпортить репутацию пунктуального человека, но в итоге за месяц ~+ неделя адского въёбинга наговнокодил им свой интерфейс и он даже пошел в продакшн. После этого я ещё какое-то время учил уже ванильный джс, а потом эти же ребята свели меня с другой командой, которой нужен был подобный интерфейс но на реакте, и я по такой же схеме учил реакт, который уже конечно воспринимался гораздо проще. Так и продолжаю работать, до сих пор благодарю случай и жадность, которые помогли расширить круг интересов и увеличить доход.
Начал читать книгу "Выразительный JavaScript" и там какая-то хуйня блять непонятная. Я при прочтении всегда будто прокручиваю программу в голове, логическую цепочку - чтобы понять её. Но вот первый такой момент который меня ввел в ступор и я нихуя не могу осознать/понять программу и зачем так делать. Нахуя там делать так, чтобы ФУНКЦИЯ выводила ФУНКЦИЮ, которая ВЫВОДИТ значение переменной из первой. Чеблять? аж горит.
>>733736 Результатом вызова внешней функции будет внутренняя, она и присваивается в качестве значения в выражении var a =wrap();. Внутренняя вызывается через a()
>>733736 Внешняя функция ограничивает область видимости, внутреннюю ты можешь (как и локальные переменные) использовать только внутри нее. Имхо, тебе рано в замыкания
>>733740 Я не думаю, что там не был описан принцип областей видимости. Если не пошло, попробуй например Кантора или Фленагана. Если дибил изначально, то лучше Кантора learn.javascript.ru
>>733741 Там есть такое "Короче говоря, в каждой локальной области видимости можно увидеть все области, которые её содержат. Набор переменных, доступных внутри функции, определяется местом, где эта функция описана в программе. Все переменные из блоков, окружающих определение функции, видны – включая и те, что определены на верхнем уровне в основной программе. Этот подход к областям видимости называется лексическим."
Но я это немного у себя в голове прокрутить не могу.
Понял что есть функция, есть вложенная функция. Вложенной функции видно переменные из родительской, но например не из такой же вложенной соседней функции. Точно также и вообще с переменными - в функциях у них как бы свой мирок, а в основной программе свой. Не пойму просто нахуя возвращать значение функции которая возвращает значение переменной из родительской функции?
>>733744 Не бугурти сильно, концепция действительно поначалу часто ломает мозг (мне, например). >Не пойму просто нахуя возвращать значение функции которая возвращает значение переменной из родительской функции? Суть в том, что иначе ты доступ к этой переменной теперь получить не можешь. Её ты можешь получить только через эту внутреннюю функцию. А механизм работы такой: если функция1 возвращает функцию2, то последняя имеет доступ ко всей инфе, обозначенной из функции1 (называется замыканием), даже несмотря на то что выполнение функции1 давно закончилось. Чекни Кантора действительно, там примеры лучше и их больше.
Бугурты тех, кто просто привык к своим языкам и теперь js вызывает у них раздражение, вообще не понятны. Вы же разрабы. Мозг вам зачем? Чтобы думать. Вот и думайте, вникайте, раз взялись за js. Тем более разве не интересно самому узнать/изучить что-то новое и полезное? Получить так сказать дополнительный опыт. Когда ясна цель для изучения, тогда и попа печь не будет, а будешь сидеть и вникать, зачастую даже испытывая какое-то удовлетворение и что-то типа прозрения от других подходов: "о, неужели тут это делается вот так. Никогда бы не подумал, что в каком-то языке так реализовывается...." А если не понятно зачем оно вам надо так может и действительно не стоит тратить время?
>>733744 Я ж тебе первым ответом написал, это пример. Смотри, каждый раз вызывая обертку мы передаем ей аргумент (число), каждый раз эта обертка возвращает внутр функцию, которая смотрит на это число и возвращает его. Так вот пример тебе для того, что бы ты понял, что каждая внутренняя функция разная, у каждой разная область видимости _на функцию обертку_, а так как в каждой обертке были разные значения, вызов каждой внутр функции возмет разные локальные переменные. Это и есть замыкание. Если ты не понимаешь этого, объяснять тебе более сложные примеры не имеет смысла, воспринимай это как просто пример.
>>733745 Откуда возьмется фактор? Мы его передадим при вызове обертки. Обертка вернет функцию (то есть блять не вызов функции а ее описание, хз как проще объяснить), ты эту внутреннюю функцию запишешь в переменную, и теперь ты можешь с помощью переменной вызвать() эту ебаную функцию с аргументом, который будет использоваться как намбер. Ебаный в рот, рано тебе в замыкания, Читай еще раз с начала
Вопрос странный, скажу сразу. В общем, работаю веб разработчиком на бек энде, пока ньюфаг, поэтому целый день пишу тесты. Дадут ли мне пизды, если буду всякую хуйню писать в полях для тестирования? Например свои контакты и шутки за 300? (хотя технически тесты правильные). Кто вообще читает эти тесты потом, кроме самой разрабатывающей команды?
Аноны, читаю фленегана, уже освоил 300 страниц из 1000, кстати у меня издание с более понятными примерами чем в заголовке. Но непонятны следующие вещи. 1. Что такое ф-ия "обертка" для простых типов типа Number и String, которая заставляет их вести себя как объекты. 2. Как понимать, что при вызове конструктора создается пустой объект, который затем чем-то там инициализируется. Что это за объект?
>>733733 аноны, выразительный Java script нужно после фленегана читать? Если да, то какие профиты, я уже охуел осваивать фленегана, а у меня в бэкграунде 10 лет быдлокодинга на си++ и полгода быдлокодинга на js. Сук, знал бы что он такой навороченный, хуй бы взялся, так что могу посоветовать новичкам ни в коем случае не читать фленегана, читайте что поменьше, страниц 200-300 вполне реально за пару недель освоить, дальше срочняком "ебашьте свой проект" что бы все в голове улеглось и вы поняли что и зачем. Вот я почитал про методы функций callee и bind, но вот так и не понял "НА ХУЙ ЭТО В ПРОДАКШЕНЕ МНЕ НАДО", а вот фишки с map и reduce - божественны!
>>733890 callee - устарело или ты call имел ввиду? call, apply для вызова в нужном контексте выполнения и передачи аргументов bind - для создания функции с нужным контектом выполнения
ньюфаня, изучил только htmlacademy и начал читать Кантора
>>733904 Бинды часто приходится использовать для передачи контекста, ибо var self = this; не канонично. Благо дело при помощи arrowed functions можно контекст передавать. Другой анон.
>>733745 Все, что ты передаешь аргументом функции, хранится в её локальном скоупе. Пока есть ссылка хоть на один элемент из её внутреннего скопа (var a = multiplier(2); - это ссылка), garbage collector держит этот скоуп в памяти. Если ты сделаешь a = null, то скоуп удалится, т.е. значение 2 исчезнет.
>>733987 >>733989 Если все обработчики одинаковы, то разумеется имеет смысл вызывать один общий. А если у него разная логика для этих 10 тысяч, и он хочет их чекать и потом вызывать из общего другие, то нет.
Я просто видел случаи, когда люди перекладывают работу эвент-лупа на такой общий обработчик, потому что им вбили в голову что работа с домом тяжелая, и они считают что события у дом элементов тоже тяжелые. И городят потом функции со свитчами.
>>733961 Во вьюхе у меня есть метод биндинга событий к коллбекам, который вызывается контроллером при инициализации. События именованы как экшены. Получаем: 1) Клик по body 2) Проверка target на data-action 3) Если определено, идет fire нужного коллбека, который по сути является методом контроллера, который вызывает нужный метод модели и пробрасывает ей следующий коллбек
>>734063 >оно не отрицательное Я тебе и сказал, что там не отрицательные. Там не целые.
>это какая-то фишка джаваскрипта А js все правильно получается, остается только округлить. А у тебя откуда берется целая часть 3 при сложении где целых частей нет вообще и быть не может
>>734067 >Я тебе и сказал, что там не отрицательные. я жопой читал >А у тебя откуда берется целая часть 3 при сложении где целых частей нет вообще и быть не может .toExponential(10)
>>734067 >откуда берется целая часть 3 она не целая, там написано e-1, типа надо 1 раз на 10 разделить чтоб понять что за число >>734070 яж согласен, что баг имеет место быть, думаю, ответ в консоле с этим связан и я пока просто не допер
>>734092 Если воспринимать арифметические выражения как естественный язык, а суть операций как философию и значения, как в естественном языке, то математика не нужна.
тебе же не надо никаких наук, чтобы из выражения - красный мяч - представить мяч красного цвета.
точно так же ты должен по выражению 344472 + 1222345 безусловно понимать, что речь идет о 1566817
>>734110 Как ты этот XSS заюзаешь, сучечка? Где-то пернули, что eval небезопасен, и теперь ты ссышься его применять везде. Если бы на выражение можно было давать ссылку, то да. Но когда все write-only, никак не заэксплойтить.
>>734117 Ну вон смотри, разработчик калькулятора проебал момент, когда можно было ебашить несколько точек подряд. Допустим он проебал бы момент когда можно было бы ебашить несколько знаков препинания.
А если вдруг так еще будут квадратные скобочки, то это вообще рай.
>>734123 есть такое дело, скорее , но верстка не ломается алсо, это связано с тем, что в джс достаточно большие числа считаются бесконечностью позже об этом подумаю
>>734120 Эх, вспоминаю былые времена нагиба лайнейджа. Пользовательская менюшка была написана на html. В <a>-тегах были ссылки на всякие безопасные методы вроде "scripts.showPage()". Так вот, список методов не проверялся и можно было вызывать произвольные методы ядра, подменив значение через пакетник или дебаггер. Знатно я тогда пофанился. Самая мякотка: нашел метод showHtml(file), который показывал хтмлку строго из директории server/html. Так я задал относительный путь ../config/gameserver.bat. Тупая джава его зарезолвила и выдала мне конфиг сервера с паролями от бд. Но админ, в отличие от разраба, был нормальный и прямой коннект к бд был разрешен только для некоторых айпи.
>>734145 Закроют, на 28 дней как минимум. Еще и на учет могут поставить после освидетельствования. Я тебе точно говорю. Если даже это была попытка без привлечения внимания общественности, то все в руках скорой. Но у них все записывается, и на первый раз могут закрыть глаза, а на второй-третий обязаны забирать, тебя не спросят.
>>734154 >>734150 Да, но я говорю как по факту. Может в ДС за такое и закрывают, но за МКАДом тебя отправят домой, потому что кормить и лечить тебя 28 дней - это дорого.
>>732588 (OP) Здравствуйте, товарищи. У меня такой вопрос, с помощью чего можно вмонтировать в страницу нужный DOM элемент навсегда, чтобы его видели все пользователи ? Тоесть пользователь нажимает на кнопку и через событие на экране что-то появляется, но при обычных раскладах, оно пропадает после перезагрузки страницы. Как сделать так, чтобы вызваный через событие ДОМ элемент остался на странице, даже после её перезагрузки и был виден другим пользователям. М ?
>>732588 (OP) Для аутиста, поясните. Поставил я вебшторм. Как заставить его запускать простейшие яваскрипты? Эта собака, как я понял, пытается их пропустить через node.js с логичным результатом. Либо я чего-то не понимаю?
>>734200 Я умею читать сообщения в консольке. Спс, Вася. Неужели никак нельзя заставить его генерить простейший HTML документ + запускать в браузере автоматом изкаробки?
>>734239 Потому что оптимизировали ввиду расширения всех спек.
А вообще он и раньше не очень тормозил. Люди просто не особо понимают, что и когда надо и можно дергать. И что за какими-то изменениями узлов, пойдут всякие неявные рефлоу и еже с ними.
>>734568 дальше мне функция в объекте operatorsList возвращает мне ответ в виде номера, который я потом перевожу в строку, чтобы узнать его длину но я думаю ты это и так видишь, скорее всего я не понял вопроса
Я вхожу в кухню и ставлю на плиту чайник. Зажигаю спичку, пару секунд смотрю на неё, поворачиваю ручку газовой плиты и подношу спичку к конфорке. Вспыхивает пламя. Пламя синее. Ровное. Я смотрю на пламя и чайник. Минут через пять по всей кухне поднимается дикая вонь. Немудрено. Ведь в чайнике — моча. Почему моча в чайнике? Потому что я туда нассал…
Аноны, подскажите. Есть у меня на странице некоторые элементы, есть ajax который забирает данные у похапе скриптов в различном формате и затем меняет значение этих элементов. В колбэк ф-иях ищу эти элементы при помощи jquery, но все это мне как-то не нравится. Можно каким-нибудь образом привязать ajax ф-ии к тем элементам которые они меняют.
>>734675 чего бля? что это вообще такое? Сейчас я пишу на очень модном хипстерском говне, там когда дергаешь ф-ию бэкэнда сразу идет параметром див, содержимое которого нужно обновить, а при желании даже отрендерить со специальным языком подстановок.
Господа, простите за чатик, просто больше спросить негде, а у вас здесь адекватно. Я не так давно вкатился, освоил поверхностно html и css (сейчас прохожу курсы на htmlacademy.ru для закрепления), но в какую сторону двигаться дальше? Цель: начать фрилансить. Я для себя наметил несколько направлений, но уже, если честно, сломал всю голову, поэтому спрашиваю у вас, не ругайтесь только, в какой последовательности лучше изучать? То, что собираюсь выучить: JavaScript, PHP, MySQL, WP и Joomla. Хочу поскорее брать заказики на weblancer.net и остальное доучивать уже на практике, так я гораздо лучше усваиваю. А уже через полгода-год подтяну ангельский и перекачусь на upwork. Помогите лишь определиться с последовательностью? Я у кого ни спрошу, кто советует с КМСок начать, кто с ЖС, кто с пыха.
И ещё вопрос конкретно по JS - в факе указан список литературы из 8 книг, вроде, их читать ВСЕ и в таком порядке, как там они указаны? И да, я совсем нуфаг, JS или PHP?
>>734693 лол на деле ты до начала фриланса дорастешь дай бог если через пару лет, а до апворка еще через лет 5, если будешь каждый день все свободное время самообразовываться
>>734698 если просто там на js дергаешь ф-ию, она дергает бэкэнд и бэекэн возвращает текст или если нужно модель данных, дальше все это рендерится в див, где уже могут быть прописаны на jsp что и как подставлять, т.е. дергаю ф-ию к примеру, выдай мне всех петухов с этой доски, ф-я дергает методы бэкэнда, собирает всех петухов в виде массива и кидает на шаблон где прописано че и как выводить
>>734719 Ладно, насчёт адекватности я погорячился. Просто, это было сообщение в тред PHP, но я решил отправить его и сюда, не изменяя. Великолепная дедукция, особенно учитывая то, что я сам с самого начала осветил свой уровень знаний. Спасибо за ответ, он очень важен для меня.
>>734725 Я пока не знаю сам. Вроде, бэк интереснее, думать нужно. С другой стороны, фронт красивый и сразу видны результаты твоей работы, плюс, можно начальнику тыкать в лицо своими "результатами" и просить повышения зп, например. А бэк крутится себе и крутится, никто, кроме похапе макак и не понимает, что там и как. Работает и хуй с ним.
>>734723 еще обидься, порватка. Я бы тебе вообще посоветовал не лезть сюда, а прочитать вот эту книгу https://habrahabr.ru/company/piter/blog/247755/ 1. читаешь 2. пилишь параллельно свой говнопроектик Приходишь сюда, точно зная, что тебе нужно Плюсы данного подхода 1. Вероятность, что ты ее прочитаешь и освоишь 80% 2. Вероятность, что замутишь свой говнопроект и научишься РАБОТАТЬ 80% 3. Вероятность, что ты вообще ЧЕМУ-НИБУДЬ научишься 100% сейчас ты просто на той ступени, что ты не в состоянии оценить, что тебе нужно вообще
>>734732 Мне просто пояснили, что вот тебе список: html, css, mysql, php, js. Плюс пару фреймворков и CMS. И сказали - учи. Я начал с вёрстки, но рили не понимаю, что, куда и зачем. Сейчас поищу, где скачать эту твою книгу, надеюсь, она действительно такая магическая, благодарю. сам порватка
>>734735 поставь себе цель написать калькулятор, разберешься сразу с хтмл, цсс и джс а потом движок для блога, там закрепишь знания и подтянешь пхп и мускул
>>734750 Это всё по той книге Робина? Сейчас бегло полистал её, она гораздо сложнее, чем всё, с чем я сталкивался до этого. Надеюсь, если читать её с самого начала, будет понятнее. Но вообще, она, по ходу, ориентирована не на совсем зелёного нуба, а на среднего такого макака. Зато заебись, наконец-то что-то сложное, заебала эта вёрстка.
Бля-бля-бля, сейчас прочитал предисловие книги и вообще охуел, какая она пиздатая! Хоть ты и агрессивный пидор, но книгу посоветовал что надо. Я уже пару месяцев тыкаюсь туда-сюда, не зная, с какого бока подойти. От души вообще. Странно, что я не заметил её в факе, ебучий Бюджетный Кодекс в формате .pdf сделал мои глаза вытечь, вот и не увидел.
>>734751 зря ты так, там есть необходимый МИНИМУМ, хуйню тебе насоветовали. Могу с таким же успехом насоветовать курс по вышке, только хуй ты его пройдешь
>>734752 Не жди от нее откровений, она уже слегка аутдейтнута и вряд ли чему-то тебя действительно научит. Но ты хотя бы будешь иметь понятие, что и как работает в простых вебсайтах, и какие инструменты применяются. мимо
>>734752 в факе ее нет, т.к. тут порватки-проскатинаторы, они будут выбирать неделями ide, дрочить на codeacademy, читать фленегана, а эта хуйня сразу поставит тебя перед ремеслом программиста и ты увидешь прет тебя это или нет. У меня по ней тянка училась, прочитала от корки до корки и замутила стартап, бля вот реально без шуток.
>>734753 Итого, после прочтения этой книги, у меня должно быть 3 вещи: калькулятор, движок для блога и какой-то свой проект? Я мб вперёд забегаю, но боюсь тебя больше не увидеть, поэтому спрошу сразу. Идея для проекта придёт во время прочтения или она уже как бы должна быть? Приведи парочку примеров, да я пойду спать.
>>734756 Не знаю, чому у тебя все сразу порватки, но так везде, где бы я ни спросил. Нуфагам советуют сразу какую-то проф. литературу на 1000 листов, в итоге, они не становятся программистами. Я бы не отказался от твоей почты, раз ты такой дерзкий.
>>734756 Ну это пособие "уёбка-быдлокодера", а не полноценного программиста. Обычно то, что делаешь в первый раз, наиболее сильно закрепляется в памяти и ты в будущем стараешься всё время делать именно так. Если ты умираешь с голоду, то это, конечно, годная книга. Но если есть цель делать проекты дорого и охуенно - это очень хуёвая книга.
>>734757 чем проект ПРОЩЕ тем ЛУЧШЕ, ну сделай хотя бы сайт со списком твоих любимых порноактрис, с фильмами где они снимались и прикрути к нему авторизацию с возможностью создавать личные предпочтения. Данные все храни в БД. К примеру у тебя 4 пользователя: папа, мама, ты и сестра. У каждого есть свой пароль и любимые жанры. Папа любит куколд, мама большие негритянские члены, а сестра тему инцеста.
>>734760 Да-да. Еще дискретную математику притащи, захочет человек стать хорошим разработчиком, сам все найдет, не захочет, будет бодриться качалочкой и пивком, хуяря говносайты. Тут человек за помощью пришел, видишь, начать не знает с чего, а ты его хуйней грузишь.
>>734768 > захочет человек стать хорошим разработчиком, сам все найдет Нихуя подобного, я не просто так про первый опыт написал. Я сам начинал с подобных гайдов, где САЙТ ЗА 24 ЧАСА, от этого у меня теперь всё время хуяк-хуяк и в продакшен. Я не разбираюсь с технологиями перед их использованием, и это очень хуёво. Часто проебывался из-за этого по срокам из-за безопасности/стабильности приложения Уверен, что если бы я начал иначе, и понял преимущество правильного подхода, я бы делал правильно и было бы всё заебись
>>734772 Дело то не в технологиях, а в твоей личности. У меня коллега как ты, но вот однако я каждое утро час-два изучаю технологию, на которой мы пишем, а он хуяк-хуяк и в продакшн. Когда он будет с разорванной жопой выть, я приду на помощь. Мы - команда. Я освою как правильно и научу его. Он плохо все усваивает, зато может любую рутинную хуйню ебашить. Люди нужны разные и подходы нужны разные, а если ты такой прошаренный, то ВОЗЬМИ ОТПУСК, изучи технологию и СДЕЛАЙ ВСЕ ПО-УМУ, если не делаешь, то значит не особенно оно тебе и нужно.
>>734772 кроме того, какой ПРАВИЛЬНЫЙ ПОДХОД, программирование - сложный труд и от блок-схем и аккуратных алгоритмов тебя никакое хипстерское говно не спасет, что бы ты не тащил какую бы хуйню не использовал. Алгоритм-алгоритм-алгоритм
>>733745 Кто-то мой этот вопрос не понял. Т.е когда мы передаем функции аргумент (factor), то у внутренней функции он тоже становится такой же. Грубо говоря factor=number ?
>>734802 Нет. Фактор это фактор, намбер это намбер. Фактор устанавливается на момент вызова внешней функции, при этом возвращается внутренняя, для вызова которого нужен еще намбер, т.к. она перемножает и возвращает ранееустановленный фактор на свой аргумент намбер.
Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.
Часто задаваемые вопросы:
https://github.com/xxxwww/js-thread/blob/master/Wiki/faq.md
Список материалов для изучения:
https://github.com/xxxwww/js-thread/blob/master/Wiki/learn.md
Список инструментов и направления JS-разработки:
https://github.com/xxxwww/js-thread/blob/master/Wiki/tools.md
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.