Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.
Сап, анон, я сам из мира .NET, про Javascript знаю лишь на уровне слухов.
Сейчас по долгу службы пилю сайт на чистом HTML/CSS. Поясни, чтобы туда добавить немного вебдванольности, аякс там, всякие динамические контролы, нужно ли глубоко забуриваться в JS? Или достаточно освоить TypeScript?
Есть таблица, значения из хедера/ячеек берутся из БД(рис. 1). Некоторые ячейки можно редактировать(рис. 2). После редактирования и сохранения новое значение записывается в БД, но в html остается старое до тех пор, пока не обновится страница(рис. 3). Как без обновления страницы обновить данные из БД? (MySql, Express, Vuejs)
>>835788 Понятно, что это делается аяксом. Не понятно вот что: после document.ready контроллер посылает запрос серверу, ответ представляет из себя json, который обрабатывается на контроллере и сохраняет в переменной cells массив, где каждый элемент представляет собой объект, а любой из объектов представляет строку в таблице; после изменения в редактируемой ячейки значения новое значение заменятся в cells на старое, значение в html становиться старым. Я не понимаю как после изменений в переменной cells изменять значения в html?
>>835785 Ну так когда редактируешь, должно просто остаться новое значение. Если пришлел код 200 с бекенда всё ОК, если 4/5xx - вернуть старое значение (либо не вернуть). Примерный паттерн: [code] user.name = 'loh' render() //... user.save() .fail () => { user.name = user.$cleanSnapshot.name; render() // и/или alertService.error 'Error has been occured. Try again later.' } [/code]
>>835876 > Ну так когда редактируешь, должно просто остаться новое значение. Я и редактирую. Проблема в том, что новое значение в html не появляется до первого обновления страницы.
Можно-ли, с точки зрения нормального кода, отправлять кастомный statusText? Т.е. не > response.writeHead(200 /, 'OK' /); , а какую-либо другую строку: > response.writeHead(200, 'Yeah'); . Покопался в исходниках Node.js, там всё это разрешено (по крайней мере в модуле http, в его родителей не заглядывал).
Так вот. Нормально-ли это в плане архитектуры и вообще можно-ли так делать?
>>835960 Если ты нормально пишешь код (а JS это ещё как позволяет), и пишешь его только для себя или пилишь очень очевидные фичи - комменты не особо-то и нужны. А так, есть же автоматическое построение документаций, для самых ленивых.
>>835963 Нужно задокументировать, какие параметры принимает функция и что возвращает. Есть ли что либо на подобии таккого: [code] / Function takes input and return output @param integer hui for example 21 (sm) @return string / function pizda(hui) { return 'child' } [/code] Вот что то такое есть в жаваскрипте?
>>835940 > А как клиент должен узнать о изменениях? В экспрессе по средствам responce. Я нашел из этого выход - это location.reload(), но этот вариант для меня не подходит: прежде чем подгрузить данные с сервера и отрисовать страница сайта пуста секунд 5, т. к. данных в перспективе собираюсь выводить большое количество. Может еще что-то можно сделать.
>>835974 Я не понял: ты хочешь, чтобы Клиент1 как-нибудь узнал об изменениях в базе данных, которые внёс Клиент2? Периодически отправляй запрос, как обновление треда на Сосаче. Или ебашь long poll - это уже исходя из того, где тебе удобней таймеры делать.
>>835974 > > А как клиент должен узнать о изменениях? > В экспрессе по средствам responce. Ты не совсем понимаешь как работает интернет. После ответа клиенту, сервер уже ничего не может отправить. А тебе нужно уведомлять клиентов о изменении в базе данных, правильно? Значит сервер как-то должен связаться с клиентами, это делается через сокеты.
>>835940 ШТО? >>835904 Блин, ты когда редактируешь, ты можешь сразу значение подставить в html то, которое юзер ввел. Если скорость реакции UI не принципиально, то дожидаешься ответа сервера на запрос обновления имени (в идеале должен придти объект целиком, либо просто ОК 200) и обновляешь html (обновляешь коллекцию и перерендеришь). >>835958 Стандарт не запрещает, но смахивает на какое-то колдунство и изобретение велосипедов. Есть такие штуки, как (JSON-)RPC, REST, в которые можно класть мета-данные. https://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html
>>835986 В-нулевых, описание функции можно сделать на строке декларации, после скобки: строка 1. Во-первых, пиши нормальный код. Проверка на численность `hui` и выбрасывание ошибки с текстом - лучше всякого комментария, как по мне: строки 2-3. Если не хочешь кидать ошибку, значит, типизация там нахуй не нужна. Во-вторых, даже если у тебя идут охуительные вычисления хуй - можно просто закомментить тип где-нибудь: строки 5 или 7.
А вообще, я против таких >>835980 комментарием - слишком уж код раздуваю, да и, по-моему, проще понять значение по имени переменной или коду, чем искать описание в таких ебанутых комментах.
Клиент один. Данное приложение рассчитано для использования на одной машине. Возможно на этой же машине будет и БД, возможно на другой, но это не так важно.
Наверное, я попробую твой вариант с сокетом, по крайней мере я с ним еще не работал и адекватно судить нужен он или нет не могу. А чем плох вариант с записью данных с сервера в переменную, эту переменную использовать для заполнения таблицы и при редактировании посылать серверу запрос на изменение в нужном месте и менять в нужном месте данные в переменной?
>>835991 >комментарием - слишком уж код раздуваю *комментариев - слишком уж код раздувают Фикс.
>>835995 А в чём проблема присылать JSON в response, блять? Клиент1 изменил значение, новое значение (возможно, изменённое и профикшенное на сервере) возвращается в JSON. Я так и не пойму чего ты хочешь.
>>835990 > Блин, ты когда редактируешь, ты можешь сразу значение подставить в html Если бы я использовал jquery, то так и делал. Но я работаю с vuejs. Может вам код скинуть, чтоб понятнее было?
>>835997 А теперь главный вопрос: как при помощи Angular/VueJS поменять значение в ячейки на отредактированное если таблица заполняется по средствам директивы ng-repeat(или аналогичному v-for)?
>>836062 Ты ебанутый? Какое нахуй приведение к цифре? А если hui == 0 ? А если hui == '0' ? А если hui == '15213' ? Дебил, блять, откуда вы лезете, сука? Ничего не понимаю… И это программисты. Говно какое-то, пидоры, блядь. Стандарт им дал проверку типа — проверяй, проверяй тип! Блядь... Не хочу, хочу жрать говно! Что такое? Это программирование? Это программирование?! Суки. Мудачьё. Пограмисты! jQuery нацепили, говно жрут — пидоры, блядь, ёбаные…
>>835991 > А вообще, я против таких >>835980 комментарием - слишком уж код раздуваю, да и, по-моему, проще понять значение по имени переменной или коду, чем искать описание в таких ебанутых комментах. Такие комментарии просто необходимы для проектов, где больше двух разработчиков. Да и удобно их юзать для генерации документации, загугли jsdoc
>>836098 Я писал выше, что генераций документации и всякие сжиматели кода - другая тема, вот там они действительно нужны. А так.. даже такой проект как NodeJS обошёлся, по большей части, такими комментариями, как я показал в >>835991 и >>835992, лол.
Ребятки, прохожу Кантора, дошёл до замыканий и чую как горит мой сракотан от того, как тяжко. С теорией кое-как разобрался и теперь понимаю суть, но смотрю на задачи и я не то что написать их не могу, я даже в голове себе представить не могу, как их сделать. Что в таких ситуациях подскажите делать? Подсмотреть авторское решение и понять его, либо ломать голову n-дней, а потом всё равно посмотреть решение, ибо долбоёб?
>>836083 Если знаешь - скинь пример как в AdminController получить доступ к экземпляру (или объекту который работает с монго), если нет то к чему про документацию пишешь?
https://github.com/xxxwww/js-thread/blob/master/Wiki/learn.md Смотрю список литературы. Я так понимаю, что некоторые источники взаимозаменяемы. Например, JavaScript: сильные стороны и learn.javascript.ru (и, возможно, Выразительный JavaScript). Подробное Руководство вообще похоже на справочник, его нет смысла тупо читать от корки до корки, лучше заглядывать время от времени а еще лучше на MDN. Короче, суть вопроса: назовите минимум книг, которые нужно прочесть, перед тем как браться за Angular/React?
>>836117 надо переписать пример своими руками, поизменять, походить вдоль туда-сюда, плюнуть и забыть. а потом проснёшься, вспомнишь и будешь уже примерно чувствовать как оно там всё работает
>>836117 Если много за день прошёл - лучше сделай перерыв, ибо на определённом этапе мозг начинает хреново воспринимать информацию. А так, уже писали: >>836137, >>836142.
>>836366 > ОН же должен навешивать онклик и на новые элементы тоже Нет, не должен. Ты навешиваешь этот листенер на конкретные элементы. Вешай его на боди, если хочешь отслеживать динамику, и не вешать при этом на каждый элемент по отдельности. $("body").on("click","#main_table tr",function() { // . . . });
>>836369 Так не грузи одновременно 3к строк, вот тебе и лези лоад. Подгружай по 2 экрана, например, и при переходе на второй экран подгружай третий и тд. Экраны - это фиксированное число строк, просто я не знаю какой они у тебя высоты
>>836380 Ну да, инфинити скролл, вся хуйня > посоветуешь какой-нибудь умный скрипт чтобы без пердолинга сделать это? Я этот юзал обычно: http://jscroll.com/
let self = obj.self; self() // возвращает некоторый глобальный объект
Когда ты вызываешь obj.self(args), obj передается в качестве this функции obj.self.
let pew = {}; let self = obj.self.bind(pew); self() // теперь возвращается pew
Я натыкался на такие конструкции c bind'ом: > [1, 2, 3].forEach(console.log.bind(console)) Но как по мне выглядит не очень, уж лучше forEach(x => console.log(x)).
>>836544 Cannot read property '0' of undefined Я тоже совсем ньюфаня, буквально второй день что-то читаю. Перебрал кучу вариантов - ничего не работает(
>>836619 А что он делает-то? Массив сортирует по числовым значениям? Тогда > array.sort(function(a, b) { return a-b; }); , лол. Или тебе вручную переписать обязательно и нельзя нативными методами?
>>836641 >А[i+1] Нет, это в JS можно. Простой доступ к элементам.
Исправленный код - пикрелейтед. Но я всё ещё не понимаю что за хуйня там творится, т.е. вообще. Какая-то лютая дичь, тестам не поддаётся. Хотя кто знает - может, я просто не умею нормально переписывать коды.
>>836649 В js массивы начинаются с 0, в твоей книжке по алгоритмам с 1. Это не такая уж и проблема. Можешь взять вместо js какой-нибудь другой язык, где массивы начинаются с 1.
>>836502 >>836543 >>836558 тащемта в v8 не нужно биндить, а в мозиловском движке нужно, ибо >TypeError: 'log' called on an object that does not implement interface Console.
>>836746 нахуй они нужны эти наркоманские сафари и ие(эдже?) я про нормальные браузеры говорю
недавно столкнулся с пидорской чертой сафари - она не передаёт при ajax запросе в хедерах куки, если эндпоинт на "/" заканчивается то что все остальные нормально хавают, она тупо молча отказывается передавать куки. ладно бы ошибку какуе-то выбросило, но это же пиздец!
В самом Component'e делаю мап по массиву this.props.children (или {children} из аргумента функции) и... НИХУЯ! Реакт ругается на то, что массив состоит из объектов, что невалидно. Как я заебался с ним бороться. Причем, пробовал по-разному: - и так <Component children={[<SubA />, <SubB />, <SubC />]} /> - и так <Component children={[SubA, SubB, SubC]} />
один хуй - ругается и все. Один субкомпонент рендерится отлично, несколько - на отрез отказывается.
Помогите, пожалуйста. Понимаю, что антипаттерн, но очень хочется динамично добавлять субкомпоненты. Если это имеет значение - Component чистая функция, которая возвращает разметку, а Sub-компоненты - классы React.Component.
пишу свой ЖС код в IDE eclipse (nodeclipse), она генерирует такие комментарии для функций. таки это с языком ЖС никак не связанно, проверка должна делаться примерно как тут >>835992
Аноны, можете сказать как парсить multipart/form-data вручную на NodeJS? И файлы мне-бы не сохранять, а хранить в переменной. В клиентском JS это возможно благодаря Blob, которого, насколько я знаю, в Ноде нет. Ещё были вариантом всякие Buffer'ы, но тоже не до конца разобрался.
В общем, поясните мне про парсер, а также про Blob и Buffer в целях хранения файлов.
>>836983 Зачем тебе вручную, если наверняка есть десяток пакетов, которые за тебя это будут делать? Например: https://www.npmjs.com/package/multiparty И, конечно, же ты можешь посмотреть в сорцы, чтобы посмотреть, как другие люди парсят.
Поясните кто-нибудь за вот этот код http://jsfiddle.net/BYUdS/2/. Метод scrollTop() может принимать функцию? Если так, то что он ей передает в качестве аргументов? Нигде не нашел про это.
>Так, блять, не делают, поехавший. Может, станет понятнее, какой результат я ожидаю получить. Я использую либу UI компонентов MUICSS. Хочу сделать родительский компонент, представляющий собой табы (пикрил №1), а панели под этими табами передавать произвольно дочерними компонентами. Ничего же криминального? Хотя бы не в рантайме, а на этапе разработки.
Сейчас решение "в лоб" просто передавать ссылки на дочерние компоненты пропсами, как на пике №2.
То, что делал, и не получалось, на пике №3.
Собственно, еще раз вопрос, можно ли обработать массив дочерних компонентов в родительском? Или это не только bad practicles и антипаттерн, но и невозомжно в принципе?
>>837024 Спасибо, анон, за помощь, но я уже видел эти топики на стаке. У меня синтетические компоненты экспортируются как default. Импорт без фигурных скобок, соответственно. Но на всякий случай попробовал через старый добрый реквайр с указанием default. Тот же результат.
Пробовал и спец утилы из состава React.Children.* (toArray, map) чтобы шаманить над {children}, и пробовал сделать из родительского компонента не просто функцию, но полноценный класс с принудительным рендерингом - ничего не помогло. Даже когда дочерние компоненты - не синтетические, а натуральные элементы DOM - т.е. передаю только <div>A</div>, <div>B</div>, <div>C</div> - сразу в ошибку уходит. На пикрилейтеде - обрабатываемое дерево компонентов в контейнере. Собственно, все танцы с бубнами вокруг родительского <Buttonbar>.
Раньше даже самые влажные фантазии удавалось реализовать на Реакте, а сейчас уже нет. Старею, вестимо, или совсем извращенцем стал.
Спасибо всем анонам. Реально, оказалось сношаюсь в окуляры. >На пике 3 ты нихуя не возвращаешь из map. Либо убирай фигурные скобки после фэт эрроу, либо добавляй return. Да, дело было в мапе. Работа по 13 часов без выходных дает неприятные сайд-эффекты.
>>837049 В эдже тоже работает. Так что мозилловское поведение как видим будет исправлено скоро (c 50 версии), а там может и сафари подтянется если в нем тоже не пашет (проверить сейчас не могу, ибо не мак)
>>836987 Я знаю, поверь. Я посмотрел минимум 5 разных парсеров, но всё не то. Везде оверинжиниринг, а ещё просто ебанутый код. Да и все хранят присланные переменные во временных файлах.
Что означает, когда в списке принимаемых параметров вот такая хуитка: ({hui}) Методом тыка получилось, что переменная hui как бы расшаривается в область видимости функции. И все?
В ФФ и Хроме работает нормально (и мп4, и вебм). В сафари (9.1, El Capitan) вебм вообще мимо пропускает, а мп4 с сервера запрашивает, но ничего не отображает, висит на постере, даже не понятно, грузит он что-то или нет. При этом тут https://www.w3.org/2010/05/video/mediaevents.html видео нормально играется. (В хроме, конечно, перемотка не работает, но это из-за accept-ranges: none, если bytes поставить то всё ок, хотя и ломается всё, т.к. сервер-то не поддерживает). Ну а лиса вообще может без каких-либо хэдеров или тегов нормально видео играть, каким бы хером его сервер не выдавал.
Здесь есть, кто разбирается в d3.js? Если да, как максимально быстро влиться, что почитать посоветуете? Пришло задание на страницу с большим количеством разных графиков. Хочу прокачаться, не хочу опять делать через chart.js.
>>837839 d3 библиотека визуализации данных (манипуляции абстракциями svg/canvas).
Чтобы рисовать графики, с тем же функционалом что есть из-коробки в различных библиотеках отрисовки графиков (масштабирование, интерактивность, итд итп), тебе прийдется пройти большой путь. Есть библиотеки надстройки, упрощающие задачу, т/е к написанию еще одной такой ты и придешь, когда надоест из кирпичиков -примитив собирать очередной график.
>>837729 Что там где чо делается?)) Ты программировать собрался или фигурки рисовать? Как ебашили всё pngшками в энтерпрайзе так и будут ебашить ещё лет 5. SVG конвертацию во первых не поддерживают все граф.редакторы до 2015 года, во вторых поддержка браузерами ещё не устоялась. В третих эта ебля с анимациями НУЖНА только если тебя наняли за значительную сумму и заказчик понимает что это ему действительно нужно. Либо какой то специфический проект. К программированию это почти не относится, только к выебонам на codepen.io.
Тэкс, в TypeScript наконец допилили генерацию конечных автоматов для асинхронных функций под es3/5. Пришло время переписывать колбэк- и then().then().then().then()-парашу под няшный async/await.
Господа, взялся за Реакт и mobx в качестве стор-менеджера. Вроде понемногу начал вливаться, но вот вопрос созрел такой:
Изменение отображения в mobx триггерится при обращении к наблюдаемым данным. Здесь все четко, если компонент выводит <component>store.mokroPiska</component>.
Но как быть, если отображение данных в компоненте НИНУЖНО, а необходимо эти данные передать в другую жс либу (отрисовываю графики при помощи Plotly)?
Пока через задний проход нашел решение в 'render' компонента запрашивать store.mokroPiska, что триггерит обновление графика, так вот: const updated = JSON.parse(JSON.stringify(this.props.plotData));
Уебищно, знаю, но без этой строки не реагируют ни встроенные методы жизненного цикла компонента, ни мобИксовый "componentWillReact ".
Захотелось знания и скилл работы с js хотя бы до фронтенд джуна добить и я решил запилить крестики-нолики онлайн. Саму игру я уже запилил, а вот как прикрутить к ней сервер - даже не представляю.
Есть какие нибудь подробные гайды как на nodejs сделать простой сервер для похожей игры? Или в какую сторону вообще копать?
>>837845 >>837847 Спасибо! Но походу это останется для самообразования на потом, да. Ближайшую задачу придётся решать плагинчиками. Я как-то раз уже трогал рафаэль, но этого по-ходу критически недостаточно. На мысль об освоении этой штуки наталкнуло то, что я не раз видел, как заказчикам прям ну вот очень нужен разраб с навыками популярныйфреймворкнейм + d3. Да и вообще идея навыка визуализации данных интересная.
>>838228 >Извращение - это промисы >Код выполнен в виде простой и понятной последовательности шагов .then() >Извращение >Наглядность и структированность кода >Извращение
>>838232 Двачую. Извращение - это когда код идёт хуй знает в каком порядке. Поэтому не люблю генераторы (а их ещё и сложнее отслеживать), поэтому не полюблю async/await
>>838241 Что мешает ветвить промисы внутри шагов then() ? Их точно так же можно обернуть в функции дабы не нарушать читаемость. Никогда не испытывал проблем с промисами.
>>838250 Ветвление внутри промисов превращает их в колбэки. В общем, все это костыли для защеканцев. Нормальные ребята делают let user = yield Users.findById(1) вместо ваших танцев с .then'ами. И слава богу, что это через пару лет будет стандартом, а про промисы и колбэки будет только вспоминать
>>837729 сам по себе canvas api знать надо примерно что бы понимать на что он способен. напрямую сейчас мало с ним работают, в основном через библиотеки разные.
svg - это вообще не в кассу, так как это векторная картинка описанная в xml'е. её конечно можно генерить "на лету", но в основном она генерится в векторных графических редакторах. канвас же на выходе даёт растровую картинку и может работать с растровыми картинками. как-то так
>>838280 лол, а кто заставляет их использовать? можно и как диды писать код на колбеках, хули. промисы - это только удобная овёртка для колбеков. а генераторы вообще предназначенны, внезапно, для генерации списков, но никак не для корутин.
вот async/await хоть и синтаксический сахар, но иногда даёт очень лаконично выразить мысль. именно там где это надо. бывает когда нужно сделать несколько ajax запросов, а потом сделать с ними что-то сложное с кучей логики и ветвлений. вот тут без async/await нехватает какого нибудь Promise.if да и всё равно сковывае движения. тоже самое с async библиотекой для ноды
Выручайте, есть форма создания юзера: но там данные расширенные - не только логин/email/пароль но ещё где то с 10 полей, все их в атрибутах описал кроме пароля. (установлен waterlock) в итоге после того как я описал атрибуты - перестало сохранять в базу значения auth (password, created date, id ... ) то-есть нет данных для авторизации последующей через auth, а пароль который передается - сохраняется как обычная строка и даже не хешится. В чем может быть проблема? На пике - модель юзеров.
>>837463 В общем, разобрался. Если кому интересно, то Сафари сначала отсылает запрос на 2 байта (range:0-1), чтобы получить размер файла, а потом уже целиком его запрашивает (нахуя, "range:0-" ведь для этого и придуман, не?) Иногда, видимо имея что-то у себя в кеше, начинает вобще непонятные куски запрашивать. В итоге сервер при загрузке видео через Сафари получает что-то типа: bytes=0-1 bytes=0-86941578 bytes=131072-86941578 bytes=327680-86941578 bytes=25617-131071 bytes=196608-327679
Хром и файрфокс же один раз просят "0-" и дело с концом, если перемотка не требуется. Впрочем, благодаря этому странному поведению сафари я узнал, что youtubeStreamer'ом можно спокойно рэнджи заказывать. Ну и убедился, что плеер лисы самый лучший и говнокодеро-упорный.
>>838709 >видимо имея что-то у себя в кеше Нет, потестил ещё, он даже новые так запрашивает. Какая-то попытка распараллелить загрузку, что ли, если вдруг есть ограничения на каждое из подключений?
>>838413 > waterlock Лучше выкинь это дерьмо и поставь passport. Я столько с ватерлоком наебался, что пиздец. Им, кажется, вообще поебать, они не следуют никаким стандартам, даже своим. У меня даже не получилось использовать их примеры из доков, они, блять, просто не работали.
Аноны, в скриптах одного сайта видел код, кратко изображённый на пикрелейтед. Раньше я не слышал, чтобы XMLHttpRequest.prototype.open мог выкидывать ошибки. Прогуглил это - ничего. Поясните, это кодер поехавший или там реально что-то может выкинуться?
>>839163 В принципе, все что угодно теоретически может выкинуть ошибку в зависимости от обстоятельств. Конкретно в этом случае ошибка может выкинуться если url undefined, это из очевидного.
>>839247 забей. сахар что найтивный что не найтивный - один хуй, а иногда даже быстрее не найтивный(как это было и вроде как до сих пор с промисами, блубёрд - быстрее [native code])
>>839190 Да, пожалуй… Просто думал фиксить свой код или нет, а сайт, на котором видел код - и правда чуть-ли не каждое место оборачивает в try-catch. Спасибо, няша ^_^
>>839277 Ну yield есть, но это каждую функцию в корутину блюбёрдовскую оборачивать. В общем, пофиг, и так гораздо опрятней код сделался. Просто думал известна дата выхода ES7 этого.
>>839355 Все, что у меня получилось достать оттуда: > unknownEcho > WScript[undefinedundefinedundefinedundefined] Похоже нужен Windows Script Host, чтобы нормально работало.
>>839801 и не собирался. я же написал - годное чтиво, а ты сухую доку кидаешь. мне нужно, чтобы меня за ручку провели по созданию пары-тройки приложений с возрастающей сложностью.
Ребята, пишу на ангуляре первом с начала лета, пока это домашние проекты. Все ок работает, но не покидает ощущение что пишу говно. Проблема не в ангуляре, он охуенный, а в том что я что-то не так делаю. Подскажите какой нибудь гайд где в общих чертах даются советы по стилю и прочему на ангуляре.
Сап, аноны. Пара идиотских вопросов мучает, просто задать некому.
В общем, ковыряюсь с Express, осваиваю, вроде забавно, но закрались сомнения насчет запуска приложения на нем. При генерации базового шаблона он мне в консольке писал что приложение запускается через DEBUG=projectname: npm start - я на это благополучно забил, прописал в app.js простой app.listen, запускаю с node app.js и в ус не дую. По крайней мере на этапе разработки это быстро и удобно. Я все правильно делаю? Как там задумывался запуск приложения по версии Express'a? Я вообще думал что когда закончу ковыряться на локальном компьютере и настанет время переносить все на живой сервак, то просто удалю тот app.listen и дам Express'у делать там все свои дела как он задумывал. Хорошая идея? Подводных камней нет?
Алсо, еще насчет депенденсов. Объясните пожалуйста что значат все эти "^, ~" и прочее перед версиями пакетов? Я так понимаю что "^" - это текущая версия и выше, "~" - это любая близкая к текущему значению версия (забавно конечно). Порылся на гитхабе, видел там некоторые вместо версий везде пишут просто "" - это по идее установка последней доступной версии, так? Но ведь это идиотизм, разве нет? Написав проект сейчас и попытавшись развернуть его через полгода по депенденсам с "^" и "*" ты вместо приложения получишь тыкву, т.к. новые обработчики могут на хую вертеть старый код. По моему лучше писать строго конкретные версии, чтобы потом не пришлось перелопачивать пол приложения. Или я неправ и тут какая-то своя особая магия развертывания версий?
>>840352 >https://github.com/mscdex/busboy Это я видел, но спасибо. А есть такие, которые просто вызываются `multipart.parse(requestBody)` и возвращают сразу объект?
Где можно посмотреть все методы React? Есть какой нибудь склад типо MDN без всяких статей? Чтобы была ф-ция и описание аргументов. Интересуют методы методов реакта, например React.createClass.render и т.д. т.к. методы первого уровня можно через console.dir получить.
>>840472 Ну вот 4 как раз легкое как по мне. this - undefined т.к. IIFE, класс дает тип function, а как известно если у нас NFE (ну в данном случае class) то имя видно только внутри самой функци/класса, поэтому ответ ["function", "undefined"]
Устроился недавно в фирму и сегодня получил доступ к сайту, увидел это из любопытства копаясь в коде. Не могу понять, что это вообще. Погуглил - какая-то рекламная фирма, какую-то big data собирают. Поскольку создатель, он же админ, нашего сайта - скользкий ублюдок, я предположил, что он каким-то образом на этом деньги делает. Насколько это вероятно, антош? На сайте из "левого" подключены только гиперкомментс, ЯД и Relap, проверил - в их коде такого не встречается. С удовольствием сдал бы этого админа, его ненавидит весь офис.
Для управления циклом по длине аррая есть array.length, а чем можно управлять цикл по глубине аррая, сорт оф array.depth? Пока не исчерпаются все измерения вложенные.
Анон только начал изучать JS. В общем хочу написать скриптик котоырй скрывает все упоминания определённого человека в вк. Чтобы просто не мозолил глаза. Нужно будет писать расширение для greasemonkey? Верно рассуждаю? Ну и вобще помогите с чего начать.
Анон, в скором времени собираюсь устроиться на работу и вот что меня интересует:
У меня нет высшего образования, стоит ли отзываться на вакансии, где требуется ВО? Стоит ли обманывать работодатели и говорить, что меня выперли с энного курса?
У меня нет опыта работы, стоит ли отзываться на вакансии, где требуется 1-2 года опыта?
У меня 19 лвл, неплохой стек фронтенда и я нигде до этого не работал, прошу помощи, анон
>>840859 Ты - это я, анон. Сам жду ответа на этот пост.
>вакансии, где требуется 1-2 года опыта В общем-то, я так и не понял: этот опыт должен быть в трудовой или нет? Я вот уже 3+ года изучаю JS и вот думаю считается это или нет? Пишу почти как б-г.
>>840859 >У меня нет высшего образования, стоит ли отзываться на вакансии, где требуется ВО? нет >Стоит ли обманывать работодатели и говорить, что меня выперли с энного курса? нет >У меня нет опыта работы, стоит ли отзываться на вакансии, где требуется 1-2 года опыта? нет
>19 лвл >неплохой стек фронтенда >нигде до этого не работал пошёл нахуй
>>840869 >Иди во фриланс Я бы пошел, но хотет переехать в Москву и устроиться где - нибудь там. Да и во фрилансе жуткая конкуренция или это мои маня фантазии
>>840719 Чот срекнул с такого поворота)) На самом деле ничего менять не хочется, ибо если это какая-то попытка навариться на сайте с неплохой посещаемостью - админу-пидору придет пизда. А Я ДЖВА ГОДА ЖДУ ЭТОГО. В любом случае, спасибо за вариант.
Господа, подскажите кой-чего по архитектуре приложения на Node, React/Redux в кач-ве фронтэнда.
Как лучше его спроектировать? Через обращение через API к бэкэнду, который отправляет все нужные данные (REST) и Редукс обновляет стейт, или можно как-то ещё?
>>840901 > Через обращение через API к бэкэнду, который отправляет все нужные данные (REST) и Редукс обновляет стейт, или можно как-то ещё? Ну да, а как иначе-то?
>>841072 Ну если у тебя серверный рендеринг реакта, то стейт будет на сервере храниться в виде сессии. Если же рендеринг полностью на фронтенде, то и стейт должен быть там же
>>840859 Поясняю для залётных даунов. Да-да-да-да. Похуй что там пишут. Позовут на собес там и проверят ваши знания. Максимум скажут что не подходишь по документам, а если вылежешь очко хрюши и покажешь скилл сеньору-помидору, то могут искать копромиссы.
f = function() { this.a: prompt('entre a:'); this.b: prompt('entre b:'); }; som = (f) => a + b; som(f()); Аноны почему этот код не работает? Как его подправить чтобы работал? В одну фукцию все пихать не хочу, именно хочется так что две функции- одной получить числа, другой их сложить.
Бля, ну ебаный пиздец, ну изучите уже основы языка хоть немного, прежде чем писать, чтобы не появлялись глупые вопросы. Главное arrow function используем уже (наверное даже не понимая ее особенностей) а про объекты и конструкторы не читали даже.
Аноны, что из фреймворков стоит попопробовать использовать, чтобы много годноты из коробки было, типо роутинга, двухстроннего связывания там, контроллеров, в общем всяких современных фишек. Из подобного пока только angular 2 нашел подходящего. Есть еще альтернативы?
>>841314 Таки бэкбоун оказался и правда годнотой, все что нужно реализовано, а остальное уже на моё усмотрение. >>841367 >writeityourself.js - годнота, как по мне, лучший вариант. Петросян бы тобой гордился, молодец.
Анон, поясни, пожалуйста ПОДРОБНО, каким образом на js можно выполнить задачу типа такой: пойти на сайт.ру, авторизоваться там, перейти на нужную страницу, и вытащить из таблицы текст и файл. Как вообще сабж взаимодействует с сайтами, будучи установлен на компе, например. Дело в том, что езыг не знаю вообще, сейчас выбираю, что использовать для подобной задачи
>>841698 А что именно не понимаешь-то? Рекурсия - это когда функция вызывает себя. У рекурсии есть предел, после достаточно большого кол-ва рекурсионных вызовов бросается ошибка.
Потихоньку вкатываюсь в веб разработку. Учу академию месяц попутно читаю учебник jslearn. Но у меня до сих пор все представление о планах на учебу плавает на поверхности. Что нужно знать, чтобы стать обычным джуном? Научусь верстать по академии, стану js джуном по jslearn, а дальше что читать? Я не представляю что делать с вашими cms и с чем их едят, не представляю php, python, node? что учить для бэкенда и как на это ставить mysql. Уж о графике о фотожопах с coral я слышал только в пэинте. Передо мной все плавает но я не ебу как все это грамотно расставить, чтобы учить.
Есть вариант пойти на курсы в вузе моего города где должны дать комплексом за пол года. Вот список фреймворков оттуда:
Пхп: Symphony, Zend framework
Js: backbone, Angular
Html: bootstrap, 1140 CSS Grid
Python: Django даваться будет только фреймворк.
Учеба полгода, вот ссылка www.fpk.unn.ru/kursy-po-sozdaniyu-sajtov/
Добрые аноны просто скажите как мне адекватно поступить.
>>841731 >Я не представляю что делать с вашими cms и с чем их едят, не представляю php, python, node? что учить для бэкенда и как на это ставить mysql. Гугли rfc на http, tcp, ieee 802.11, osi модель. Без базовых знаний ты всюду соснёшь.
>>841539 >Как вообще сабж взаимодействует с сайтами >будучи установлен на компе Отправляет запрос, как и любой другой, лол.
Алгоритм примерно такой: 1) Отправляешь HTTP-запрос на сайт.ру; 2) Когда приходит ответ - смотришь, требуется-ли авторизация. 3) Если авторизация не требуется - идёшь на шаг 6; 4) Авторизируешься (ещё один HTTP-запрос); 5) Когда приходит ответ - проверяешь код состояния: нормально ты авторизировался или нет. Если не получилось по твоей вине - фиксишь логин/пасс и идёшь на шаг 4; 6) Посылаешь запрос на "нужную страницу"; 7) Когда приходит ответ, парсишь его. Ответ придёт, скорее всего, в text/html, так что просто вытягиваешь нужную тебе таблицу; 8) Из нужной таблицы (я так понял, ссылка на файл находится в таблице, верно?) вытягиваешь нужную ячейку, где будет ссылка на файл; 9) Посылаешь запрос по этой ссылке; 10) Когда придёт ответ - сохраняешь файл и таблицу на диск - таблицу в .txt или .html, файл - в том формате, в котором нужно; 11) ?????; 12) ПРОФИТ!
>>841729 Чёрт, анон, я-бы помог, но.. не знаю, это настолько просто, что я даже не могу это нормальными словами объяснить. Юзай `console.log` чтобы логировать глубину вызовов, там сам разберёшься.
https://jsfiddle.net/aj1hkbem/ Анон, суть такая. В дивах выводится хуйня из базы(позиция и ссыль), мне нужно что бы кнопка копировала ссыль, но копируется всегда первая ссыль.
>>841898 в всмысле ? У тебя ж статические html файлы есть index.html и в нем меню в котором <a class="active">home<a> а в другом статическом файле details.html нaпример <a class="active">details<a>
>>841898 ну а если ты хочешь чтоб js тебе active ставил то можно попробовать поставить на onload обработчик который смотрит что у тебя в window.href и ставит в нужную ссылку active
>>835735 (OP) Аноны, извините вопрос не совсем по теме. Допустим у меня есть гитхаб с несколькими репозиториями и частыми коммитами. Все в нем - это мои велосипеды написанные на js, немного vue, backbone и ангуляра. Так вот вопрос: может ли кто то скопировать из моего гитхаба код и выдавать за свой, а я потом сосну хуйца из-за этого при приеме на работу?
>>841975 Конечно может, лучше закачивай на bitbucket, тоже самое что github, но в нём есть возможность бесплатно создавать приватный репозиторий, которым пользуется не более 5 человек. На гитхабе приватные репозитории - платные по подписке
>>841975 Да. Хакер может как полностью скопировать твой репозиторий, так и просто скачать его. Но, блять, если работодатель не может посмотреть на дату файлов - нахуй тебе такой работодатель?
>>841975 Как пользоваться гитхабом, анон? Вот есть у меня дотайп хтмл с кодом, что с ним делать, как его портировать на гитхаб? И как это будет выглядеть? Заходишь на гитхаб а там САЙТ?
Что происходит, помогите кто-нибудь разобраться, ХЕЛП!!
Сегодня официально выходит Ангулар 2.0. После сегодняшнего релиза у хипстерков окончательно закончатся аргументы, почему второй ангулар не использует ни одна серьёзная компания, даже гугл. Хотя о чём это я, они придумают новые отмазки.
>>842258 Зачем новые отмазки, когда есть старые? Ангуляру второму уже прикрутили что-то нормально дебагаемое вместо строковых темплейтов? И для использования ангуляра я могу применять всю мощь JS, или по-прежнему требуется использовать убогий ng-DSL?
Я не знаю, следует ли мне перекатываться на ангуляр, не вижу пока что киллер-фич перед реактом, а косяки вижу. То, что он Opinionated конечно плюс, но если вся команда готова обмазаться редуксом и эрэксом, то будет тот же ангуляр, только лучше.
Привет, устроился на свою первую работу в средних размерах контору в своей мухосрани. Хотел пойти версталой, взяли как веб-разработчика на стажировку. Сразу с ходу дали задание понаписать автотестов на их приложение, написанное на эмбере, и созданное с помощью какого то йобаконструктора их производства. Из-за этого уже 4 день не могу разобраться как писать простейшие тесты, потому что документация по созданию тестов и примеры с оверфлоу не работают. Как считаете, стоит ли оставаться в этой фирме?
>>842468 Суть в том, что они не писали автотесты, и конкретно ничего ответить не могут. Я вот что думаю, а если я и разберусь с этой штукой то это же очень узконаправленная вещь и если что, я никому не нужен буду.
>>842472 > автотесты > узконаправленная вещь Чё? Вообщет сейчас тренд писать сначала тесты, а потом под них приложение. Говорят, что годнота, ещё захочешь.
>>842473 В том то и дело, что тестов нет, а приложение уже есть. Да и вообще, в эмбере же должны автоматически генерироваться тесты для компонентов. Поэтому и бугурчу сижу каждый день там
>>842475 Ну я про то, что тесты это нужная штука, и время на изучение их написания ты не потратишь зря А на чем вообще тесты под эмбер пишутся? Mocha/Chai или там своё что-то?
Пасаны, дарова Помогите с angular разобраться есть цепочка промис объектов и внутри она разделяется на две ветки, которые потом снова сливаются как это организвать? Т.е. если вкратце, то я пытался что-то такое делать: mypromise.then( __if (someExpression) ____return $q.all(listOfPromises).then(listOfResults).then(resultOfPrevious); __else ____return staticValue; ).then(staticValueOrHujnia); Вот, как-то так И, получается, что если я попадаю в ветку с q.all, то после then(listOfResults) у меня выскакивает алерт с then(staticValueOrHujnia), а мне надо, чтоб сначала then(resultOfPrevious) и только потом then(staticValueOrHujnia)
надо сматчить стрингу, в которой, например, пятерку предваряет 4, "12345". Или строку, в которой пятерку предваряет 3, но между 3 и 5 есть 1 карактерина. "12345". А на "123445" соответсвенно ругнуться.
>>842550 Другой, конечно. "Или строку, в которой пятерку предваряет 3, но между 3 и 5 есть 1 карактерина. " На 12345 такой паттерн даст трю, на 123445 фалсе (ткт 2 карактерины между 3 и 5, а не одна).
Анон, у меня просто mmmmaxximum идиотский и приземленный вопрос, не бей. Запустил ноду с экспрессом, хочу банально загрузить на страницу картинку, вот так: <img src='./public/images/test-image.jpg' alt='wtf'> но оно нихрена не грузит. Хотя если грузить картинку с удаленного сервера <img src='http://res.cloudinary.com/7adf6ngw/image/upload/sample.jpg' alt='wtf'> например, то все нормально, выходит проблема в пути. Я уже и без первого слэша пробовал, и без точки, и полный локалхост-путь прописывал, но все без толку.
Чому у меня не едут лыжи? Экспресс как-то по своему воспринимает путь к файлам?
>>842757 В смысле оставить как есть, а при переносе на живой сервер все заработает? Оно-то я подозреваю что так и случится, но мне же как-то надо еще и работать с этими картинками. А вслепую это делать ну как-то не. Что не так, как мне их отобразить? Рендерю ejs.
>>842813 Ок, тот пример тоже неправильный. Вот, грубо говоря, есть регексовая строка поиска.
\Polo(moi)(ej)ka\
И сырьевые строки Polomoika, Poloejka, Syroejka, Poloenka.
(moi)|(ej) - то, что ты предлагаешь - разбивает поисковые фрагменты на два разных Polo(moi) или (ej)ka. Она сматчит в данном конкретном случае Syroejka вдобавок. А это не надо.
Пробовал [(moi)(ej)] - нит [(moi)|(ej)] - нит
Как альтерацию между группами делать? Между одинарными карактеринами [ae]. А меж группами?
Т.е. когда в стринге есть ), но отсутствует парная ей ( (и наоборот). Есть мысль, что это можно достигнуть вариациями lookbehind, но для этого надо заглянуть через три клетки лукбехайндом и чекнуть на наличие символа, хз как это сделать.
>>842866 Решение в скриншоте, считай его спойлером.
> Есть мысль, что это можно достигнуть вариациями lookbehind, но для этого надо заглянуть через три клетки лукбехайндом и чекнуть на наличие символа, хз как это сделать. Там не нужны look ahead/behind.
>>842873 Т.е. ты подошел к скобкам к части блока, группы, у тебя не стоит проблема чекнуть скобку как индивидуальный символ. А у меня именно проблема( с моим многоэтажным кривым аппроачем) чекнуть индивидуальную скобку - предваряет ей другая скобка за три шага до или нет. Можно из этого вылезти средствами регекса, не меняя аппроача?
>>842743 >>842742 А как должно работать? Вот так всё работает: > let arr = [1, 2, 3, 4]; > let num = arr.reduce(function(sum, current, i) { > return sum + Math.pow(current , i); > }) > console.log(num);
>>842925 B том, что изначально по задумке вводилось слово из чисел наеример '101010'. Это слово разделялось на массив из букво-цифр ['1', '0', '1', '0', '1', '0'], а они в свою очередь переводились в 10 ную систему. И это все хотелось написать с новыми методами, чтобы кратко и красиво. Правда с reduce так и не смог сделать.
>>842985 >>843025 >>843029 Лол, так и деванона недалеко, но не Аннушка. Реализовывать тут нечего особо, разве что с reduce было бы интересно сделать. Что не понимать, вводится string из 0 и 1, а на выходе число в 10 системе. Например вводим '101' получаем 3. Но повторюсь, все это делалось чтобы поиграться с map и reduce, но как оказалось рано мне еще.
хочу использовать для мелких проектов и разработки. как по мне это 10/10. еще не тестил скорость, если верить их документации эта бд в два раза медленней mongodb она написана на ЖС
есть такой момент, эта бд использует память в пропорции 1:100, т.е. если таблица /коллекция/ весит 100 мб, то приложению нужно будет 1 мб памяти, т.е грубо 1 гб РАМа хватит на обработку 1к похожих и конкурирующих запросов?
может кто знаком, 100мб JSONа, сколько это примерно элементов для типичной коллекции "юзер" с полями "айди, ник, пасс, майл, рег_дэйт"? примерно хотя бы
Анон, поясни за ангуляр. Долго в него вкатываться, чтобы на удаленке подрабатывать? Какой выбрать 1.5 или 2? Что почитать, чтобы пиздануть про какие-нибудь тонкости после которых заказчик\рабовладелец примет за опытного? Знаю бэкбон.
>>843267 Бери 1.5. Он сейчас активно используется в разработке и будет использоваться ещё лет восемь, пока не появится альтернативы - как раньше использовался бэкбон. На двойку забей, она не взлетела и в серьёзных компаниях не используется.
>>842891 Я был не прав, с помощью lookahead + lookbehind можно обойтись без дополнительного кода, вот только в js нет lookbehind. https://regex101.com/r/cO8aI8/1
>>842901 Кроме практики, полезно будет прочитать книжку по алгоритмам, ну и читать статьи с новыми или не очень идеями, чтобы возникали мысли "ох, оказывает еще вот так можно делать". Давно.
>>843404 Нахуй ты людей дезинформируешь, дегенерат? Ангулар морально и технологически устарел, именно из-за этого и брейкнули обратную совместимость второго с первым, чтобы не тащить всё это говно еще десять лет. Делать проекты на первом сейчас будет только отбитый, который вообще не в курсе что там, как и почему, делаю на чем умею.
Привет анон. Поясни, пожалуйста за фреймворки и микросервисы? Что проще использовать? Я уже пробую вкатится в Ангуляр новый, но пока не знаю, насколько он хорош и не имею опыта использования других, что бы сравнивать. Что посоветуешь? А по поводу сервисов, я разбил все на микросервисы, т.е отдельно апи, отдельно веб, везде использую экспресс, дальше, думаю, если будет еще какая интеграция - тоже отдельный сервис. Что скажешь о таком подходе? Заранее благодарен.
>>843421 > А по поводу сервисов, я разбил все на микросервисы, т.е отдельно апи, отдельно веб, везде использую экспресс, дальше, думаю, если будет еще какая интеграция - тоже отдельный сервис. Что скажешь о таком подходе? http://eax.me/server-side/
>>843073 Вообще не понимаю зачем разбивать введённую строку. Один вызов `parseInt(str, 2);` - и всё готово. Рано тебе потому, что не понимаешь сути reduce и массивов вообще.
https://jsfiddle.net/2xshc78b/ Вложенный цикл прокручивается каждый раз на одну итерацию внешнего? Т.к. во внешнем три дырки, то внутренний цикл на проверку 5ки прокручивается 3 раза на каждую дырку внешнего? В этой ситуации, наверное, подойдет array.prototype.every.
>>843431 Спасибо анон, так еще круче. Рано мне потому что кроме клитора ничего толком не осилил, хотя уже пробовал первый ангуляр и мне он понравился. Сейчас нашел очень годную книгу по жсу со всеми подробностями и подводными камнями языка и читаю ее.
>>843454 >кроме клитора ничего толком не осилил После его учебника ты можешь уже нормальные приложения писать, это я тебе из личного опыта говорю. Жопой читал, видимо. Надеюсь, с книгой будет получше.
>>843459 Хеллоу ворлды я и без его книги писал отлично. Лично мне нужно упорядочить все это, более глубокое понимание как оно изнутри работает чтобы на собеседованиях хуй кто смог прикопаться. А наговнокодить ума не надо, имхо для этого лучшая книга Eloquent JavaScript.
>>843508 function sym(args) { var arr0=arguments[0]; var arr1=arguments[1]; var arrNew=[]; var count=0; while (count<arguments.length){ for (i=0;i<arguments[count].length;i++){ if (arguments[count+1].every(x=>x!==arguments[count])) {arrNew.push(arguments[count]);}}
count++;}
return arrNew; }
sym([1, 2, 3], [5, 2, 1, 4]);
Я сейчас дропну подход через эври, но напоследок хотел бы выяснить, где тут ошибка, почему отказывается читать индекс аррая? Подставлял вместо каунта число - работает, то есть синтаксис в остальном верный. В индексы аррая нельзя пихать экспрещоны?
>>843474 >более глубокое понимание как оно изнутри работает А стандарты тебе на что? Хуй знает, мне все книги по JS, которые я читал, ничего нового не дали.
>>843547 Ими тоже пользуюсь. Просто там где живу охуенно большая конкуренция на жс макак и чтобы получить работу джуном надо хотя бы чистый жс знать от и до со всеми подводными.
>>843595 >чтобы получить работу джуном надо хотя бы чистый жс знать от и до со всеми подводными Не надо. Я знаю JS от и до, но везде в требованиях стоит: Angular/jQuery/React. Поэтому, наверное, веб-разработка дальше хобби и лаборанства не зайдёт - презираю всё это говно и не собираюсь его учить.
Вызов chrome.tabs.query из под onBeforeRequestАноним17/09/16 Суб 23:37:32#520№843677
Пытаюсь написать для себя небольшое хроморасширение. Надо чтобы при вводе url он брался в переменную, изменялся и возвращался обратно и по нему уже загружалась страничка. Что есть: мой manifest.json http://pastebin.com/xdRkySF9 Мой redirect.js http://pastebin.com/VB6jYMfi
Мне посоветовали синхронный вызов функций (тут к стати нашёл что-то в тему), но я особо не профессионал в js и пока не сообразил как и что делать. Если коиу не лень, насоветуйте что делать.
>>835735 (OP) сап /pr/, помогите ньюфагу. значит, задача следующая -- я сам из рубей, но сейчас по долгу службы засел за JS и Backbone. помогите ньюфагу разобраться, как совместить Backbone и json-server (который из npm). для склеивания модулей юзаю RequireJS
>>847248 >>847248>>847248 смотри. Тут ты гавна напорол чуток. у тебя в цикле for идет наращивание sum: сначала 0, после 1 прогона sum=4, после второго - 9, потом i=6 у тебя пропускает и в конце добавляет 7. 8 не добавляет, т.к. знак строго меньше. чтоб получить sum=8 вынеси sum после цикла
>>848775 >>848775 спасиб братишь, дело в том что это пример из обучалки, и там надо было выяснить чему равна sum, и я пока не проверил код в консолечке, не осилил вычислить в голове, а отом как проверил код в консолечке, удивился результату, и только потом уже понял что она суммирует итерации кроме шестёрки. карочи походу я охуенно тупой, врядли получится вкатиться в программирование.
Пожалуйста, не бейте. Я с вопросами, коих было тысячи, наверное. Вот, взял я некую книгу для нуфага. А где мне пробовать код писать и смотреть, как он выполняется?
>>850778 Операционная система? Язык программирования? Книга? Автор?
Если JS, то создай файл, обзови его с расширением html, открой его блокнотом и пиши туда свои коды, а потом в браузере откроешь его и посмотришь всё это работает.
>>835735 (OP) Как вывести переменную на JS без document.write, а чтобы она просто была на странице при исполнении кода? Где-то видел, что можно просмотреть в через console.log() в браузере, но console.log не выводит переменные внутри функции. Не юзать же div для каждой переменной?.. Хочется аналог echo в php, чтобы прямо при исполнении выводило.
Вопрос, как так попроще, без регистраций и смс запилить запрет на одновременный логин под одним и тем же ником? Ну чтобы и мускул не ставить, и чтоб ипы не логировать. В идеале, чтоб невозможно было войти под ником юзера, что онлайн, а на крайняк - чтоб юзерам рандомный GUID присваивался, а высвечивался ник, но при наведении мышки на ник - чтоб GUID видно было в виде подсказки.
Этот тред посвящён главному языку будущего - 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
Конфа /pr/ в Slack:
https://invite-me-to-2chpr.herokuapp.com/
JS-конфа в телеграме:
https://telegram.me/jsthread
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.