24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.
Сап, аномач. Вопрос к анонам, которые работают с ангуляром. Как там логин/регистрацию/доамшняя/404 правильно сделать? Есть ли какие-нибудь super simple example авторизации для ui-router? А то пиздец какой-то. Что ни найду - на 150+ строк в каждом файле с методами и контроллерами - один охуительней другого. Хочу на что-то очень простое посмотреть, а потом зарисовать схемку, чтобы окончательно разобраться уже - что куда и откуда идёт.
Как правильно в nodejs сделать туеву хучу insert-ов или update-ов в postgresql базу асинхронно? Дохуя - то есть база на несколько ГБ и ее нужно заполнить или обновить всю. Если делать через pg-promise - можно сделать, допустим, 10 одновременных запросов по 10к строк за раз (типа пул). Когда один из запросов завершится, посылать следующие 10к строк. Это хорощая идея?
Ну ты его делал типа кликаешь на "войти" и вызывается компонент с формой? А что бы была анимация все это оборачивал в транзишионгруп или не так? Видел, там есть готовый пакет реакт-попап, но хочется вручную сделать.
Как быстро можно выучить реакт, если знаю js и другие языки, но фронтом мало занимался и делал все на чистом js + jquery? Алсо, если фронт - это не основное мое занятие, достаточно знать реакт, или еще ангуляр желательно?
>>884599 Нет. Я сейчас джуню - нужны реально хорошие знания 3х жс - 3, 5 и 6. Также html, css и иметь представление о scss/less. Ещё - знать сборку gulp или webpack. Ещё - какие-то знания ангуляра/реакта. Чтобы быстро включиться в проект. Гит, джира, всё такое - по-умолчанию.
Я с этими знаниями сейчас месяц на испытательном, обещают $100. Ещё через месяц - 200, потом 300, как окончательный вариант. А потом уже - типа учиться и прокачиваться.
>>884390 Ты для обучения? Зареализуй тогда свой велосипед, как раз и разберешься. Авторизация - самый обычный http запрос. Сделай там себе роут на страничку авторизации, контроллер с полями логин, пароль и функцией для логина с помошью $http. Куда уж проще?
>>884618 Честно? В том числе. Но больше - потушить свой пердак, т.к. это было моё тестовое задание, которое я провалил с успехом. И это не совсем запрос. Я пытаюсь понять, как вот такое https://github.com/cornflourblue/angular-registration-login-example Перевести сейчас на новомодный ES6 с этими вашими import и export default.
Нашёл, блин, самый простой пример. Херотень на 1к+ строк кода.
>>884634 Я нихуя не понял, но ладно. На том гитхабе вроде 1 ангуляр и вполне себе читабельный кстати. Если хочешь 1 ангуляр с чисто es6, то посмотри вот этот вот тутор: https://github.com/angular/material-start/tree/es6-tutorial заодно material design обмажешься. Не знаю, я лично es6 плюшки использую, но сборку в одно единое приложение как-то всегда доверял gulp.
>>884704 Какие тут конкуренты. Думаю уже каким-нибудь пехотинцем пойти работать на судно. Серьёзно, заебало. Нужно знание гильотины, 10 лет на плантации, из них - 5 на китайской. Ну... можем вам еды предложить
>>884723 Жизнь заставит - и не на такое согласишься. В веб идут не от хорошей жизни, а чисто чтоб пожрать было что. Алсо, в ебенях на 100 баксов можно даже жить. Хуево, но лучше так, чем никак.
>>884765 То, что поисковики научились нормально работать с SPA - это по-моему относительно новая тенденция. Где-то проебал ссылку на новость. Даже в статье по ссылке пишется, что бот читает страницу, но с траблами.
Подскажите как мне сделать примерно следующий функционал, вот у меня сейчас вылезает модальник, в котором можно вбить сумму и нажать кнопочку, и тогда эта сумма полетит в указанный в action пхп скрипт.
Собственно что мне нужно: нужно что бы помимо поля был еще селект с 3 опциями, и если выбрана первая, то появляется еще 1 обязательное поле. Если выбрана другая опция, то например 2 дополнительных поля. И наконец если третья опция, то под ней появляется скажем 5 дополнительных обязательны полей.
Далее при нажатии кнопки мне нужно склеить всё что там вбито в дополнительные поля в осмысленную красивую строчку и послать вместе с суммой на обработку скрипту.
Есть идеи с чего начать? Собственно меня мучает только js-вопрос, о том как всё это сделать, отправка на скрипт и обработка потом на сервере - это для меня легко.
>>884906 Забыл уточнить, что в action в итоге должно полететь 2 значения - изначальная сумма, и отдельно склеенная из дополнительных полей строчка, под двумя разными именами соответственно.
>>884963 Для выпускника универа для какой-нибудь мухосранской конторы - вполне реальные требования и зп. Другое дело, что не требуется все знать на уровне мидла. Да и вообще - там учить-то нечего.
Всем привет! Начинаю пилить новый проект и хотелось бы попробовать Angular, что мне стоит почитать, чтобы понять сам концепт и философию этого фреймворка?
>>885100 ReactNative интересен, ищу гайды, в свете вопроса описанного тут https://2ch.hk/pr/res/884999.html Статьи на хабре в основном говорят что такие инструменты годны только для создания прототипа, и все равно что-то серьезное придется писать на native.
>>884833 Был ES3. Затем ES5. Потом ES6. А сейчас можно писать и на babel-preset-nigga-what-you-doing-stage-0-ES7. Изредка бывает полезно знать различия между редакциями.
>>885114 А что там гайды, учишь рекат, идешь на https://facebook.github.io/react-native/, изучаешь туториал, все, можешь пилить приложухи на реакт-нейтив. На js.coach можешь искать компоненты под RN, добрые люди уже запилили довольно много всякого.
Скажи, на сколько реакт нейтив в плане кроссплатформенности отличается от кордовы. Я так понимаю что "Learn once, write anywhere" и "Write once, run anywhere" в корне разные вещи. Можно запилить один и тот же код на реакте под андроид и айос с небольшими переделками, или же это будут две разных обертки?
Ачобусы, есть проблема. Есть 2 файла: app.js и pass.js. Так вот, из второго я беру переменную, он выглядит примерно так: const PASS = 'some data here'; export {PASS}; Импортирую я ее в app.js import PASS from './components/pass'; дальше пытаюсь с ней что-то сделать, хотя бы вывести, но не выводится. Хотя если напрямую создать ее в app.js то все ок работает, но так нельзя. Где я ошибся, почему переменная не экспортируется нормально?
>>885098 Второй перспективнее, но продакшн на нём пилить бОльшая часть контор начнёт не скоро. Банально нет той кучи инструментов и модулей, которые есть для 1. Вообще хз, в свете тенденции, что теперь новую версию чуть не каждый год хотят релизить, думаю на реакт перекатываться. Как-то не фанат я каждый год учить новый синтаксис и концепцию.
>>885326 > Как-то не фанат я каждый год учить новый синтаксис и концепцию. Откуда вы лезете? Почему вы маняфантазируете вместо того, чтобы прочитать про переход ангулара на семвер?
>>885340 В смысле как? Читаешь спеки, смотришь что чем можно заменить и заменяешь. Или пишешь с нуля, подсматривая в архитектуру этого приложения, что значительно проще Алсо, это первый ангулар. Я б его сейчас уже не трогал.
>>885349 В смысле за сколько я это смог бы переписать, если вообще ничего не знаю про новую модель, а делал раньше на контроллёрах и фабриках? Думаю вечерком завтра заняться. Прикидываю, что занятие на пару часов, я прав?
>>885221 Можно, в текущем проекте, в котором около 7 экранов, у меня всего один компонент написан отдельно на ведро и ыфон, все остальные общие. С кордовой не работал, но типы говорили что RN после кородовы, как манна небесная
>>885476 ООП, ДОМ, замыкание, кроссбраузерность, ajax jquery/фреймворк из требований вакансии шаблонизатор реакт / ангуляр писать в каком-нибудь AirBnB, например
Вопрос по Npm (или nmp?). Скажем поставил я его user/sosaka. Затем накатил фреймворк и перешёл в c/sin/sobaki. Теперь снова накатил фреймворк, (через тот же nmp - g huyeviiframe, пусть второй зависит от первого). Они установится в разные папки? (один в юзер, другой в собаку?) Они будут друг друга видеть?
>>885519 Лол, меня не доебывали про кроссбраузерность. Зато спрашивали про недостатки сокетов, преимущества NoSQL и продвинутое использование гита. На фронт энд собеседовании. У меня конечно был специфический случай, но все же иметь какое-то представление о серверной части - большой плюс.
>>885531 Ключ -g - ставит пакет глобально. Он будет поставлен в общую папку, которую вроде как должно быть видно из любой другой папки. Ставя без -g - пакет будет поставлен в текущей папке в node_modules. При require подключении пакет ищется в текущей папке, если его нет, папкой выше, если нет, папкой выше... и так, пока не дойдет до глобального node_modules. Если поставил пакеты в папки сын собаки и юзер сосака без -g и папки не находятся в отношении родитель-потомок, пакет найден не будет. Но ты можешь вручную укзать откуда дергать пакет (с помощью относительного адреса). Например, папки сын собаки и сосака находятся в одной родительской папке. Тогда ты из папки юзер/сосака обратиться к модую в сын собаки примерно так (точно как писать не помню): package = require('.../syn/sobaki')
Дано: есть бандл, собранный вебпаком (да хоть RequireJs.. неважно). Есть движок (Laravel, Yii etc). В бандле есть модуль, которому для работы нужны какие-то пользовательские данные из БД.
В шаблоне написано что-то вроде <script src="i-am-idiot.js"></script> <script> var user = <?php echo $user; ?> (просто пример, забей на синтаксис и ошибки). var idiot = new Idiot(user); </script>
При олдскульном подходе всё работает. Но после упаковки модуля "i-am-idiot.js" с другими модулями и библиотеками, браузер говорит "Idiot is not defined". Само собой, как бы. Я понимаю, почему это происходит. Но я не понимаю, что делать?
Вариант перенести запрос данных аяксом внутрь "i-am-idiot.js" - не вариант.
>>885600 Зделой отдельный тег script с типом "application/json" и пиши в него данные для инициализации своего скрипта. Или я не совсем уловил суть твоей проблемы?
>>885607 Ну и сопутствующая проблема. На сайте 100500 страниц. При олдскульном подходе я просто на каждой странице делаю initSomething(options). или initSomething(), когда опций нет.
Если не делать этот вызов со страницы, а запихнуть в бандл, то он будет вызываться на каждой странице, потому что бандл включён в каждую страницу. Но это не то, чего хочется.
>>885611 >>885613 Так я не понял, чем не подходит тебе озвученный вариант? Из своего пхп скрипта пишешь в страницу тег script с данными для инициализации, хоть для каждой отдельной страницы:
>>885617 Я неправильно тебя понял изначально. Я думал, ты предлагаешь на серваке создавать json-файлы. Так то конечно можно хоть в data-атрибуты инфу запихнуть. Но твой способ лучше, спасибо, возьму на заметку.
Но один минус есть. initIdiot будет вызвана на каждой странице, куда подключён бандл. А нужно, чтоб вызывалась только на конкретной странице.
Буквально минуту назад осенило. Может неидеальный способ, но тем не менее проблему решает. Надо просто в "i-am-idiot.js" дописать "window.Idiot = Idiot". Тогда можно спокойно юзать этот модуль только там, где мне нужно.
>>885897 По каким критериям ты хочешь сделать выбор? За обоими фреймворками стоят крупные корпорации, в ближайшие несколько лет с ними точно ничего не случится, они будут развиваться и обростать коммьюнити. Можешь тупо выбирать то, что больше нравится
>>885898 Абсолютно для разных потребностей и разных проектов, как мне кажется. Реакт больше для хуяк-хуяк и маленьких проектов, ангулар же с его развитым DI, в сравнении с реактом, больше для энтерпрайза
>>885891 Таки реакт - не фреймворк, а библиотека. Так что ключевая разница в том, нужна ли тебе структура приложения, предлагаемая ангуляром, или ты спроектируешь сам. В остальном дело вкуса. Что бы ни говорили, нормально клепать можно и с тем, и с другим.
>Вот оно. В этом заключается ключевое различие React и Angular. К сожалению, Angular остается HTML ориентированным. Angular 2 не удалось решить наиболее принципиальную проблему архитектуры:
>Angular 2 продолжает помещать JS в HTML. React же помещает HTML в JS
>Я не достаточно выделил этот раскол. Это принципиально влияет на опыт разработки. В Angular HTML ориентированный дизайн остается его слабым местом. Как я и подчеркнул в JSX: The Other Side of the Coin, JavaScript более мощный чем HTML. Гораздо логичнее усиливать возможности JavaScript для поддержки разметки, чем HTML расширять логикой. HTML и JavaScript все равно должны быть как-то склеены и JavaScript ориентированный подход React является несомненным превосходством над Angular, Ember и Knockout c их HTML ориентированным подходом.
>Когда вы учите Angular, вы инвестируете своё время в приобретение знания о внутреннем языке (DSL) Angular. Полученное вам пригодится дальше, если вы будете использовать Angular. Если нет (вспоминаем, как закончилось время первого ангуляра ) — большая часть времени окажется потраченным впустую.
>Когда вы учите React, вы инвестируете свое время в приобретение знания о Javascript — DSL в React практически нет. Полученное знание 100% пригодится вам на дальнейшем пути, даже если React вы использовать не будете.
>>886047 > Angular 2 продолжает помещать JS в HTML Не JS в HTML, хотя его, конечно, можно туда помещать, а синтаксические конструкции, которые что-то делают. И это не путает тебя, если ты всё делаешь правильно. Более явно преимущества такого подхода видно в vuejs. Реакт, в сравнении с ним, во всех смыслах сосёт. Но ебучий маркетинг заставляет людей жрать componentWillReceiveProps
Нужно сделать небольшое приложение, которое парсит содержимое некой страницы в интернете и предоставляет REST-интерфейс, который возвращает это спарсенные данные (в виде JSON).
Вопрос: как реализовать кэширование / сохранение данных, чтобы при каждом запросе к приложению, оно не ходило заново в сеть, не парсило данные, а возвращало имееющиеся? Но, скажем, раз в час оно обновляло данные. Как это проще всего сделать?
>>886129 Листал нулевую, увидел даунский запрос, потом увидел, что это JS-тред, и всё понял.
Как реализовать кэширование? Как обычно его реализовывают. Можешь взять реляционную СУБД и складывать данные в неё. Делаешь колонку с таймшпампом последнего обновления страницы, а каждый раз при запросе проверяешь, как давно твои данные обновлялись, ну а там дальше либо просто отдаешь данные, либо обновляешь и отдаешь.
Также можешь взять Redis. В твоём случае этот вариант, скорее всего, более предпочтителен, потому что ты наверняка полный кретин, а значит, получив в руки реляционную вундервафлю, сделаешь всё через жопу, но если тебе вдруг очень большой объем данных в свой кэш складывать надо и в оперативку это не влезет, то лучше не надо.
И это не говоря уже о том, что можно кэш просто в переменной держать.
>>886138 Там довольно сложная структура данных, поэтому варианта с бд хотелось бы избежать, чтобы не городить кучу таблиц и связей для относительно небольшого приложения.
Поэтому и спросил про кэширование на уровне запроса. Типа, если я запросил данные с param1=aaa, param2=bbb, param3=ccc однажды, то при следующем таком вопросе не было нужды парсить страницу заново (некоторое время). Вот и думаю, как это кэшировать в памяти.
>>886129 >>886142 Возникла такая идея: сохранять всё в файлы .json. Для запроса с param1=aaa, param2=bbb, param3=ccc создавать файл aaa_bbb_ccc.json и сохранять туда ответ. Работать это будет явно быстрее, чем каждый раз ходить в сеть. Однако наплодит куча файлов... И нужно будет еще придумать, где хранить timestamp. В памяти сделать что-то типа HashMap<String, TIme>?
Как вам вообще идея с файлами? Имеет право на жизнь или хуйня лютая?
>>884383 (OP) сап, где можно бесплатно скачать курс Кантора по node за 2016 или хотя бы за 2015 год? Куча раздач 2013 года, но там скринкаст у него просто на ютубе лежит...
Не знаю, куда еще обратиться. Сомневаюсь, что тут есть знающие аноны, но всё же буду благодарен, если кто поможет. Начал настраивать API карту для одной штуки и столкнулся вот с такой хренью. То есть вроде она работает, но этот серый фон не могу понять, какого хуя он появился. Сам апи беру отсюда: http://leafletjs.com/ То есть всё прописал везде, а серый фон не исчезает. Вот кароче.
>как вариант, из запроса делай хеш, и юзай его как ключ Вот нахуя? Чем урл не подходит в роли ключа? Или у него что, тот самый случай, типа приватности ради нельзя хранить исходные урлы?
>>886332 >урл может быть макс 2000 значная и я хз, что там с разными утф8 знаками будет еще Дабы не смущать нубов, которые примут твои слова за языковые ограничения:
>я хз, что там с разными утф8 знаками будет Q: Are there any forbidden characters in key names, for JavaScript objects or JSON strings? Or characters that need to be escaped? A: No. Any valid string is a valid key. It can even have " as long as you escape it http://stackoverflow.com/questions/8676011/illegal-characters-in-object-or-json-key
А так похуй, конечно, пусть хоть в Вирпул хеширует урлы.
>>884735 Вот кстати тайпскрипт и нг2 всем хороши, кроме того, что минимизированные сорцы ангуляра2 весят ~3 мб. пиздец блять. А вот в плане концепции ng2+typecript - заебись. Не уверен, что ангуляр2 приживется в вебе. Кстати сайт с доками по ангуляру2 сделан на ангуляр1, то есть даже разрабы ссут использовать своё творение.
>>886516 > Кстати сайт с доками по ангуляру2 сделан на ангуляр1, то есть даже разрабы ссут использовать своё творение. Очень странный вывод, учитывая, что сайт появился одновременно с началом разработки ангулара2
Не могу понять главную идею js, изучаю ноду около недели.
Есть Express. Есть таблица в Постгрес. Хочу написать отдельный модуль для общения с таблицей. Получилась следующая заготовка https://ideone.com/nTErcl , она же на пикче.
Как в данном случае совладать с асинхронностью: дождаться события end и вернуть из функции таблицу?
Посоветуйте фреймворк для работы с cookie. Хочу, чтобы система запоминала данные, которые пользователь вводил в инпут несколько дней назад и когда он вновь зайдет на страницу, чтобы введённые им данные уже были введены в инпут.
>Microsoft Internet Explorer: Начиная с четвертой версии браузера, максимальная длина воспринимаемого URL составляет 2,083 символов. При этом длина GET-запроса лимитирована 2,048 символа. На POST никаких ограничений, понятное дело, не накладывается.
>>886636 >>886635 Понял в каком направлении двигаться. Тоже думал о подобном решении, но структура показалась слишком непривычной, противоестественной. Вас тут есть за что уважать. Для js после остальных языков нужно все мышление перевернуть. Спасибо!
>>886629 До ES6 пока не добрался. Это действительно способ, которым принято пользоваться в js? Пока не разобрался, но решение должно получиться вполне рабочим. В чем тогда разница между этим вариантом и вариантом описанным выше? кроме ES6 Буду признателен за любые рекомендации.
>>886687 Со scope apply я обосрался. В твоем случае наверное сейчас самым простым и не ломающим мозг вариантом будет почитать про $rootScope.
Я лично с таким не сталкивался, так как подозреваю ты не совсем красиво пока решаешь свои задачи, но если бы пришлось разбираться, то я бы загуглил scope outside ng view
>>886690 да, я сразу попытался $scope.$apply, но он падает с ошибкой, и stackoverflow толсто намекает, что $scope.$apply нужен в том случае, если переменные меняются вне angular, например в jQuery.post. У меня рвет шаблон то, что весь шаблон рендерится со $scope'ом от текущего контроллера, но вот поменять его, ска, можно только в ng-view. А, например, в ng-include уже ни-ни.
>>886702 Скопы могут быть вложенными. А еще можно из скопа ребенка обращаться к скопу родителя (не всегда), по-моему это $scope.$parent. Пройди какой-нибудь пошаговый туториал и читай доку какую тебе удобно. Не будешь наступать на все возможные грабли.
>>884383 (OP) Утречка, форумчане. Собираюсь делать первый свой серьёзный проект на Node.js. Твёрдо настроен сделать не халтурное говно (как обычно), а конфетку, которую я буду использовать в будущем. Но проблема заключается в том, что я не знаю, как правильно начать, как заложить хороший фундамент ? Наслышан о готовых решениях, сборщиках проектов, паттернах проектирования и тд, но не могу понять, что мне действительно нужно и нужно ли вообще ? Что посоветуешь мне ты, анон ? Проэкт - веб-приложуха на веб-сокетах.
>>886751 Загуглил. Это скорее относится именно к разработке самой приложухи. А мне же ещё систему авторизации, базу данных и много всего нужно прикрутить. Нужно что-то, что поможет создать нужные файлы, облегчит рутину ...
Есть ли какая нибудь очень лёгкая в настройке и работе база данных? Есть не более 500 маленьких джейсонин, с которыми идёт работа и которые надо сохранять (иначе хватило бы и массива).
>>886806 Только если хочешь работать с sql, поищи для себя что-то вроде https://www.npmjs.com/package/node-dbi . Вообще любая распространенная бд ставится без проблем по гуглу. Еще если у тебя готовые json файлики, ты можешь читать (и перезаписывать) напрямую их.
Mongodb будет очень дружественна к твоим json. Можешь вообще их сохранять полностью как таблицы, только в документоориентированных бд это называется другими терминами.
Изучаю JS, прошёл по learnjs до событий. Сейчас наткнулся на хабре на данный пост habrahabr.ru/post/312022/, и как-то приуныл. Действительно ли все это нужно изучать, и это везде требуется? Сложно ли это изучить? А то я и так JS уже месяца 3 учу, а если ещё все эти технологии так же объемны, то я до конца жизни всем этим не овладею, учитывая что они появляются постоянно.
>>886817 Забей, не все так страшно. Всё выучится со временем. А вообще, в кодинге пиздец везде, в любом языке, любом направлении. Будешь разгребать моря говна, разбираться почему не работает то что должно и т.д... Добро пожаловать в реальный мир, сынок.
>>886817 ты 3 месяца над learnjs сидишь? Если да - рекомендую поплотнее заняться. Там все прорешивается вдоль и поперек за 2 спокойно. (но если опыта совсем не было с другими языками, тогда может и норм побольше потратить) После него еще надо будет всякие нюансики почитать и приступать к сборщикам, фреймворкам, библиотекам, ноде и т.д.
По-поводу статьи. А че в ней не так? Ну может утрировано только слегка. Надо чтобы тебе было по-приколу постоянно изучать что-то, тогда и проблем не будет. Как только более-менее освоишься много времени дальше занимать не будет. Вышла новая штука - покрутил ее, почитал статейки от умных людей (если таковые на момент выхода имеются), понял для чего зачем, какие проблеммы призвана решать. Потом, если начнется массовое использование вспомнишь что уже в ней копался и шишки набил. Ну как-то так.
По-воду везде ли требуется все ли изучать. Ну я надеюсь, ты ведь хочешь быть хорошим специалистом? А хороший спец любит свою работу. Порой можно сказать, что это второе хобби. На работе одно крутишь - дома пришел - другие штуки пробуешь, поэтому так или иначе будешь вкурсе. Ты конечно можешь найти какую-нибудь непонятную контору, где вообще ни о чем не слышали и пилят свои поделия абы как. Но тебе разве не будет там грустно работать? Как еще одна проблемма: при смене работы придется искать такую же убогую...
Решать конечно тебе, так что хорошо подумай. Если решился - значит делай, превозмагай если потребуется. Если нет - значит лучше найди чем другим заняться, может в тебе талантливый музыкант спит или врач или сантехник или владелец уютного кафетерия с вкусными булочками.
>>884383 (OP) Допишите в ОП посте, что всем кто боится новых версий ангуляра, огромного количества технологий - лучше выбрать другой язык и другую отрасль информатики. Есть питон, java, haskell - там все гораздо проще и нет частых обновлений. хотя эти дауны все равно шапку не читают, таких просто игнорировать
>>886089 typescript - это зык-надстройка Javascript. Как следствие, он [bold]КОМПИЛИРУЕТСЯ[/bold] в javascript. Изучая angular, соответственно, ты изучаешь тотже жс, только с измененным синтаксисом. Это как CoffeeScript , если ты знаком с этим
>>886825 >>886858 Спасибо аноны. Работаю просто сейчас по 5 дней, после работы остается по 2-3 часа. Да и прям плотно трачу эти часы на программирование только в последний месяц. Планирую в будущем, когда появится возможность, перейти на незапарную работу дня по 3 в неделю и целиком окунуться в программирование.
Алсо, читаю параллельно SICP, с виду язык scheme кажется более красивым и "стройным". Но, не уверен в актуальности лиспа, да и предвижу, что это красота есть только в учебных задачах, а в реальности куча подводных камней. Поэтому продолжаю изучать JS из-за популярности и больших возможностей этого языка.
>>887011 > Если копаться в каждом из 40 модулей, можно и ёбнуться А если не копаться, то можно использовать какой-то модуль, потому что все его использовать и не знать вообще зачем он тебе нужен, и нужен ли вообще. Как это делаешь ты
>>887138 Задай себе этот вопрос, когда будешь прикручивать на свой сайтик поверх jquery шаблонизатор, чтобы облегчить биндинг данных и вообще работу с html. А еще когда ты возьмешься пилить сайтик с достаточно сложной логикой и будешь охуевать от той лапши, которую ты напилил и которую надо поддерживать. Это в принципе не конкретно об ангуляре, а в целом о фреймворках.
Для простых веб задач ангуляр не нужен. Для сложных - может помочь упростить разработку сейчас, и поддержку в будущем.
Привет, анон. Расскажи, в чём отличие по работе front-end у джуна и мида? Вот приходит джун и приходит мид на работу - какие задачи они будут делать? Что - привелегия джуна, а что - для джуна уже перебор?
Ваять роуты на ангуляре с таблицами по ui-grids и стилизовывать это всё sass'ом - это кто?
>>887146 А как именно ? Что вообще он делает, если вкратце ? Вот например JQuery: - Подключаешь через ссылку прямо в документе. - Помогает удобно искать и изменять элементы на странице - Удобно работает с событиями - Можно днлать анимации А вот можно ли в подобном роде датя описание Ангуляру ? А то опять таки, на Википедии тоже написано что облегчает разработку одностраничных веб-приложений, но не совсем понятно каким образом ...
>>887176 Если в кратце, всякую работу с dom может и ангуляр. Про дата биндинг тебе антоша сверху кинул ссылку. Ты не будешь по селектору искать элемент, брать его значения, вешать обработчики для событий, чтобы менять элемент - в ангуляре это делается значительно проще. В ангуляре события есть, но они немного другие. По-хорошему ангуляр приложения нужно писать, придерживаясь определенных правил, тогда у тебя код будет аккуратно структурирован и с ним удобно будет работать - то есть работа с бизнес-логикой в одном месте, работа с DOM - в другом месте и т.д.. Если будешь писать приложуху на jQuery, то возможно ты тоже захочешь структурировать свой код и в итоге все равно напишешь свое подобие ангуляра, но только скорее всего не без боли. Вот я тебе маленькую простыню текста написал, но смотри: если ты предложишь писать сложное веб приложение на jQuery, то на тебя посмотрят как на поехавшего. Даже если ты не хочешь, какой-то из фреймворков тебе все равно придется изучить, чтобы расти как веб деву. Кстати на некоторых проектах Angular и jQuery используются вместе.
лишнее в плане, что мне нужно будет там делать шаблоны для компонентов бутсрапа. так то полюбому эта ветка нужна, так как в ней будут шаблоны того же <html> документа и другие стандартные вещи. проблема в бутстрапе, не охота велосипедить для него АПИ
>>884383 (OP) Перестал работать автокомплит в js, да и вообще. Куда копать? Переустанавливать пробовал, пересобирать пробовал, без толку. Сижу на archlinux, если что.
>>887695 На серверном js вроде же работает правило one feature - one file ? В роутах у тебя для сокетов событие и хендлер, но сама реализация хендлера лежит отдельно. Ну да, наверное я бы и сам так делал, если бы кодил под ноду, только еще бы в имени файла обязательно обозначил, что это роуты под сокеты.
ок, в моём паттерне шаблонизатор представленный модулем /views/templates/templates.api.js предоставляет шаблоны партиалов в виде объектов (например каркас ХТМЛ дока и прочие элементы) из которых в модуле /pages/my-pages/<whatever>/<whatever>.page.view.js собирается всё что угодно и как угодно.
сборка страниц происходит как на пике.
инб4: это одно из 100 возможных решений, я не на что не претендую.
>>887741 Я понял тебя. Я бы конечно так не делал, так как попахивает велосепидизмом с легкой формой мазохизма, но если работает и устраивает как заказчика, так и программиста лол, то почему бы и нет. Если вдруг надо будет, перепишешь.
Когда-нибудь твой router.sockets может стать 2к+ строчек кода. Если вдруг ты наймешь фрилансера помогать тебе писать проект, он будет тебя материть, уверен.
Вообще, почему ты не захотел следовать MVC? Есть даже уже готовые структуры node express проектов - пользуйся не хочу.
да тут сложно, меня этот паттерн устраивает 10/10.
меня смущает всего один момент, что для бутсрапа нет готового абстрактного класса, и мне его придётся возможно велосипедить.
бутсрпап я хотел бы использовать в любом случае, так как для него есть куча готовых тем и огромное коммунити и он мобайл фирст.
предложи другой вариант для клиентского UI уровня бутсрапа, как насчет ангуляра и реакта, у них есть готовые компоненты и сетка, которая еще и мобайл фирст?
>меня смущает всего один момент, что для бутсрапа нет готового абстрактного класса, и мне его придётся возможно велосипедить.
Вот и говорю - мазохизм и велосипеды. Усложняешь вещи, которые можно было бы делать проще.
IDE - шка может начать страдать от слишком больших файлов, но больше - программист. Даже с outline. Еще на репозитории в онлайн режиме сложнее будет с такими сорцами взаимодействовать.
>>887797 Честно, не знаю зачем тебе нужен абстрактный бутстрап класс, но сам факт того, что тебе понадобился подобный класс уже вызывает вопросы.
Я предлагаю не рулить бутстрапом нигде, кроме непосредственно шаблона. В контексте твоего сервера, если я правильно его понимаю, ты не используешь объекты на базе твоего абстрактного бутстрап класса, но можешь подключать бутстрап партиал компоненты вида acordeon.partial.htm там где нужно.
А вообще самое заебись, если твоему абстрактному верстальщику вообще не придется лезть в код, чтобы изменить где и как элементы шаблона подключаются.
Еще те же самые бутстрап компоненты требуют не только хтмл, но и скрипты. Компоненты может потребоваться конфигурировать на клиентских скриптах. Как ты будешь это разруливать?
Для использования ангуляров, реактов и прочего тебе нужно будет пересмотреть свою архитектуру в пользу переделки сервера в апишку.
>>887812 Пиздец, я ебал мозги этим три дня, и в итоге оказалось что промис выбрасывает данные только в переменную с тем же именем что и входная. Поистине надо обладать баттхертоустойчивым пердаком чтобы с этим совладать.
1. на строне сервера для доставки определенных шаблонов в /views/pages/ 2. для доставки всех элементов бутстрапа на сторону клиента в скрытый элемент на странице <div class="hide js-bs-templates"></div>
2й пунк, для того, что бы я потом селектором jquery мог брать оттуда готовые, отрендеренные клиентом виджеты, и вставлять их в рандомные места странницы
например:
var _bs = $('div.js-html-templates');
var button = _bs.find('div.button').clone();
$('body').append(button.html('Кнопка #1'));
$('body').append(button.html('Кнопка #2'));
таки это всё работает без всяких реактов и ангуляров. клиент рендерит тебе готовые виджеты с CSS и прочими фичами, ты их лишь клонируешь и меняешь их html
>>887916 > пару лет Ты как будто первый день родился. Через пару лет уже этот новый, модный, молодежный термин устареет пару раз, будут совершенно новые концепции (которые, разумеется, потребуют все переписать с нуля).
>>887916 Скорее всего понятие "браузер" довольно узко отражает всё что можно делать с помощью такого клиента. Может быть будет какой то универсальный "клиент" - все ММО игры будут работать через него, вся информация будет течь peer-to-peer как электрические импульсы между нейронами. Только здесь встаёт вопрос о том что такое говноподелие как JS в нынешнем виде при этом использовать просто идиотская идея. Нужен WebAssembly в который будет копилироваться какой то новый JS2.0 возможно с похожим синтаксисом но без всех этих багов вроде typeof null и без пяти вариантов "как сделать одно и тоже действие". Но одно можно сказать почти с уверенностью - если и будут разрабатываться интерфейсы для дополненной реальности, скорее всего они будут на языке который будет иметь похожий синтаксис и логику.
>Только здесь встаёт вопрос о том что такое говноподелие как JS в нынешнем виде при этом использовать просто идиотская идея
х/з, после пыха конечно первое время было непривычно работать с ЖС, но теперь у меня нооборот чувство, что ЖС как раз работает так и нужно тру языку.
>без пяти вариантов "как сделать одно и тоже действие"
имхо в целом если ты можешь различать {} и [] тебе должно быть похуй на синтакс и язык как таковой.
кста значек для срелочных функций тоже имхо в ЖС удачно выбрали: () => {} красота имхо 10/10 просто
>WebAssembly
вроде ключевые модули ноды написанны на си. имхо даже если внедрят этот твой WebAssembly, ты всёравно будешь работать сним в лексической среде через обёртку языка ЖС
я вчера читал, что в облаке, один процесс ноды не может обратится за раз больше чем к 1,5 гигабайтам оперативной памяти и больше чем к одному ядру процессора.
и что тогда получается, если моё приложение юзает вебсокеты, то как я скалирую его в облаке, на скажем 12 ядер и 24 гб памяти?
кластер создать как я понял не проблема, проблема, что у каждого процесса ноды будет своё пространство имён, и в каждом таком пространстве будет свой объект с активными сокетами, если это так, как тогда сможет рандомный зокет из процесса #1 связаться с рандомным зокетом, к примеру из процесса #8 или #10? втф.
>>887950 > Вроде ключевые модули ноды написанны на си Перепишут хули. А инвесторы найдутся если это дело под дополненную реальность перепрофилировывать. Ещё Головайчук как то ныл в одном посте мол нода defected by design. К тому же три модульных системы это не найс.
>>888001 Взять роуты, положить роуты, это всё любой должен уметь. Характеристика довольно размытая, думаю миддл - это способность сделать сложный проект одному, а сеньор уже может комбинировать языки, писать какой нибудь бэкенд на питоне.
>>888006 > комбинировать языки, писать какой нибудь бэкенд То есть я, ныне мид-фрондендер, пришедший из JavaEE-бэкэнда (и пилил раньше фуллстек на дофига килострок в одиночку) - по твоему, синьор-помидор?
>>888037 Лол, так я не один такой бекендер-перекатывальщик? Тебе не говорили что-то вроде переходить на фронт - плохая идея, 90% процентов работы - пофиксить кнопочку и т.д. ? Как вообще, о решении не жалеешь?
>>888006 Одному? Ничего не путаешь? Сейчас, например, вдвоём с сеньором пилю проект: срок 25 дней (5 общались с заказчиком, делали акки у них в системе, определялись с технологиями, поднимали вебпак и т.п.), на фронте angular, sass, bootstrap. Система управления хостингом с админкой и отображением статуса серверов. Это рили работа на двоих на 20 дней? При том, что меня вообще pre-джуном взяли на $100 на этот месяц без какого-то оформления - тип стажировка, ещё и свой ноут взять пришлось, т.к. у них компа для меня не было. При этом компания нормальная, реально много филиалов в разных городах и странах, на кидалово не тянет. Странно.
>>888045 Ну, как сказать, фронтенд более "интерактивный" что ли. Поэтому меня он больше цеплял, когда я фуллстеком занимался. Джава-тырпрайз наскучил, захотелось перемен, тем более зарплату больше предложили. Пока не жалею. Сейчас на фронтенде бурный рост (новые плюхи как грибы появляются), не заскучаешь.
>>888048 100$ за месяц? Совсем долбоёб? Помоему тебя просто наебали как лоха. Я бы даже интернет магазин не стал делать дешевле чем за 500$. Ну а то что ты описал, наверное, вполне можно поднять иза 20 дней, за соответствующую объёму работы сумму.
>>888037 Если ты будешь использовать этот стек в работе, то тебя можно назвать синьором. Но основным критерием всё же остаётся уровень зарплаты, как минимум она должна быть у тебя не меньше 3000$.
>>888066 Я хер знает, до этого в одной компашке работал, там $350 платили, но не сработался со старшим, который хер клал на линты, стиль кода и мозг трахал, что я пишу не как он (при том, что там eslint весь красный был). Так в том и дело, что я из-за отсутствия особого опыта пока не понимаю, что происходит. Меня предупредили, что я для заказчика - мид, а напарник - сеньор (я так понял, его с мида "подняли"). Не особо понял смысла этой махинации, правда, если меня берут типо на джуна-если-хорошо-себя-покажешь и вообще я в любой момент могу тупо не прийти на работу, меня ж ничего не связывает. Алсо ещё тестировщица нас подбодрить решила - типо проект хорошие инвестиции собрал. Поправьте, но мне не похер? Я же доли в нём не получу, а какая мне разница, что я пилю, если мой результат - 100 баксов в карман?
>>888070 Сэр, у вас жир потек. ЗП никак не критерий "синьерности", а одно из следствий. Не знаю, как в других, но в моей галере одним из важнейших критериев для вердикта о результате ассесмента на сеньора - навыки общения, умение вести команду, принимать решения и т.п.
Функция должна выполнить сетевой запрос, извлечь из него данные и возвратить массив элементов.
Я всегда получаю пустой массив, но в консоли элементы логгируются нормально. Подозреваю, что что-то не так с точки зрения асинхронного кода. Как исправить?
>>888213 >Подозреваю, что что-то не так с точки зрения асинхронного кода. Все правильно подозреваешь. >Как исправить? Использовать коллбеки (плохо) или резовлить промисы (лучше).
У меня такой вопрос, анонасы. Функция всегда должна что-то возвращать? Кажется я прихожу к тому, что это является best practice и т.п. Ведь, если я напишу что-то такое
let a = 5; const aba = () => { a = 5+5; }
то , если с переменной а ЧТО_ТО случится!!! - функция сделает бяку. А если бы она что-то возвращала, то сразу бы ошибку вышибла
>>888482 >Функция всегда должна что-то возвращать? Любая функция в JS что-то, да возвращает. Неявно это undefined. >Кажется я прихожу к тому, что это является best practice В первую очередь такие функции удобно тестировать.
>>888489 В смысле, очевидное применение для новичка в программировании - это использовать функции как скобки, разрезая длинный кусок кода на маленькие и короткие. Но если не думать при этом об архитектуре и взаимодействии ф-й между собой, то это то же нагромождение, только упиханное в функции. А поменяешь порядок - поставишь одну над другой - и всё сломается.
>>888663 Тогда по другому вопрос. Чего в принципе необходимо и достаточно для покрытия 80% задач? Эдакий принцип Паррето применительно к JS? Стабильность-простота-минимум
Ребятки, уже отписывал в фронтенд треде, спрошу и тут. Я запилил простой калькулятор и игру(найди пару) на js. В планах был засраный туду лист на jquery (типа чтоб показать, что знаю jq) и какое-то простенькое SPA на Ангуляре. Выходит, что это все нахуй не надо и не интересно работодателю? Тогда подскажите, что должно лежать на гитхабе такого, какой проект, чтоб меня хотя бы пригласили на собеседование front/js junior?
>>888689 Да. Ну то есть я учу Яву. Стало интересно поковыряться что из себя представляет js а там какие то ебеня из кучи слов. Когда весь мир движется в сторону "make it easy!®". Js сообщество движется в сторону феодальной раздробленности.
>>888726 >>888717 А если придет, то ты либо отрастишь бороду и будешь попивать смузи, заедая панкейками, либо убежишь из этого ада для инженеров куда-нибудь в IBM/Апач/Оракл/етц хайлоад/лоу левел связанные технологии.
>>888728 Врядли в 2024 ты будешь задаваться этим вопросом. Скорее будешь сидеть в какой нибудь московской республике и думать где бы поймать прохожего на ужин.
Скриптаны, нужно в строке заменить множественные пробелы не заключенные в одинарные или двойные кавычки на одинарные пробелы. Помогите регулярку для replace запилить.
*case 'call-id-anchor' это в смысле якорь для того что бы позвонить юзеру с заданным айди, а не в смысле что я там дублирую название якоря приложение для коммуникации
короче этот код будет пахать везде. ок, я спокоен.
для тех кто не понял для чего это: я думаю в коде таким способом создавать "именованные замыкания", которые удобно читать и которые будут служить "пространством имён".
>>889151 > будут ли проблемы? Определенно. Потому что тебе руки переломают за такое. Это нечитабельно. Когда видишь var hui = function... сразу думаешь, что это просто объявление какого-нибудь коллбека. В крайнем случае можешь сделать (function huitka() { console.log("ряяя"); })(); если так хочешь "именованные неймспейсы". Но даже так это тупо. Лучше юзай ES6 модули, компиль бабелем и не страдай костылями.
Sup, /pr/, пришёл я в надежде получить советов мудров (и хуйцов не соснуть при этом). Есть один хуй (я), желающий вкатиться в JS разработку за несколько месяцев и делать деньги на этом фриланся. Сам JS уже практически изучен по Кантору + JS: The good parts, про DOM читал в DOM Enlightment, HTML/CSS знаю, но не особо. Доп. условия: 1) Есть всякий разный опыт: написания приложений на C++ (вот-вот выложу прогу C++/Qt на 700+ строк на гитхаб), установки генту в нестандартной конфигурации (с написанием своих ебилдов) и прочего 2) Сложности с мотивацией. Сейчас я делаю её таблетками и активно задрачиваю JS по 2+ часа каждый день (время дано без учёта отдыха/проверки ВК/etc), но я могу это делать только несколько месяцев, дальше уже стоит получать хоть какую-то денежную отдачу чтобы был стимул работать. 3) Английский знаю недурно, спокойно могу читать какую-угодно документацию, возможно полезу на Upwork. Вопрос: какие библиотеки/фреймоворки/API изучить за эти несколько месяцев?
>>889386 Jquery, подтяни верстку (как бог знать не обязательно, но с гуглом должен поставленные задачи решать за адекватное время), бутстрап, какой-нибудь препроцессор, сасс, например. и фреймворк для построения крупных приложух на клиенте на твое усмотрение. Вроде ничего не забыл. По идее сможешь конкурировать с индусами или пойти в говнофирмочку. Как ни странно, можешь писать про опыт в плюсах, некоторые заказчики ценят, что перед ними не просто js макака-верстайло. Еще знание серверных языков котируется, но на мой взгляд фулл стек - это зло для старта.
>>889398 Благодарю. Только вот стоит ли хоть как-то интересоваться NodeJS? И вдогонку: стоит ли использовать Gulp и Babel в паре с NodeJS сервером, в собственных проектах? Пусть не чтобы потом зарабатывать на том, что я умею с ними работать, а просто чтобы знать? Примитивнейший NodeJS сервер у меня уже давно есть, с npm и прочим знаком, если что
>>889453 Заказчики неадекватны и конкуренция огромная?
>>889530 Там разобраться с тем галп и бабелом - на день работы. Знать ноду лучше, чем не знать %%внезапно%. Пиздуй уже учить. Колеса в рот и с песней! >>889398 Слишком большая для ньюфага зона ответственности. Проще было бы сосредоточиться на одной области и дрочить её, лучше фронт энд, так как в целом проще на мой взгляд и цена твоих косяков будет меньше для всех, включая тебя самого. Вообще похуй, куда нравится, туда и надо идти. Если интересно, то что угодно осилишь.
анон, помоги, я устал уже. Есть пустая HTML страница. Есть файл с несколькими функциями. Как сделать, чтоб функция make работала? Соль в том, что если document.write выполняется внутри загруженного скрипта, страница остается пустой. Если снаружи - конечно, все норм, но только тогда он не берет значение хэша arr[c], и тогда же нельзя вызвать функцию make().
tl:dr как загрузить и вызвать рандную ФУНКЦИЮ из ДРУГОГО файла-скрипта?
>>889561 блин, я уже ноут вырубил. там точно все есть. Через алерт() все работает отлично. Суть скрипта в выводе рандомного слова из введенных, как можно догадаться. Алерт(арр[с]) работает. мейк() нет. Просто докврайт тоже нет.
да, спасибо, понял, простынки с замыканиями не ок, нужны модули. посмотрел бабиль и другие варианты, не обессудь, но я внезапно понял что это всё делается элементарно в jquery. там еть АПИ представленный свойством $.fn, туда можно экпортировать что угодно.
теперь у меня получилась структура как на пике, всё работает как нужно.
цифры нужны для группирования, типо 2 всегда = контроллер и тд.
в 0 самые глобальные переменные, типо: $.fn.route = window.location.href.split('//').slice(1).join().split('/');
в 1 вначале идёт $.fn.uiWgts = {}; потом $.fn.uiWgts.modalForLoginButton = function(options) { ... } и так далее. ХТМЛ для виджетов клонируется с готового DOM страницы.
Если выбрана буква А, то отображать только те ссылки, у которых первая буква А. Если выбрана буква Б, то отображать только те ссылки, у которых первая буква Б и так далее согласно алфавиту. Например, как здесь https://www.aviasales.ru/airports
Аноны поясните за принцип работы сайтов типа YouTube to mp3 converter Каким образом они из видео делают мп3 файл? По типу - "видео сначало заливается к ним на сервер, потом", пошагово.
>>889566 > сила в модулях require.js browserify webpack Не пиши велосипедов
Ладно бы ты писал шаблонизатор, не привязанный к конкретному фреймворку, с двухсторонним биндингом, циклами, скопами и прочим. Но тут уже сделали неплохие вещи, которыми можно пользоваться, несмотря на уродливость js.
Всем друзьям и не только, которые ищут работу или просто пинают хуи советую вкатываться во фронтенд и жс. Советую клитора и этот тред. Я все правильно делаю? мимо Java-господин
Зачем вообще нужна NodeJS? Это же один большой костыль. Люди берут асинхронный язык, и костылят на нём последовательное выполнение (синхронный код) с помощью всякого говна вроде колбеков, промисов. Существование этого уродца это какое то недоразумение. Почему бы не использовать парралелизм нормальных языков и добавить к нему асинхронность, и соответственно роутинг без перезагрузки на клиенте? Райан Дал создал чудовище.
окай Антон, почитал манулы к твоим костылям, идеи то ок, но профитов в них я не увидел.
<внезапно> есть более ультимативное и компромиссное решение. всё приложение для фронтэнда разбивать на модули, но в продакшине конкатить все файлы из каталога /static/js в один файл. на сторону клиента будет приходить один сжатый и кашированный файл например /static/js/app.js.
не забывай Антоха, чем больше в твоём приложении разных чужих велосипедов, тем сложнее тебе придётся в будущем. что например будет, если через 2 года забросят browserify, когда на его место придёт очередной хипсторский костыль, ты будешь опять переписывать всё с нуля, или будешь за спасибо фиксить баги в библиотеке browserify? в этом имхо и проблема. нативному ЖС и jquery такая судьба не грозит, тут я уверен на 146%
вроде я понял всё правильно, пруф ми вронг как гриццо
>>889762 Меня, например, позабавило вот что: js - однопоточный, но для "имитации" многопоточности сделали событийную модель; потом делают async/await, который предназначен для линейного выполнения псевдоасинхронного кода, и все щас ссут кипятком с этого async/await. Вот это шин.
>>889780 > не забывай Антоха, чем больше в твоём приложении разных чужих велосипедов, тем сложнее тебе придётся в будущем. признайся, ты не писал ничего крупнее хелловорлда для собеседования?
>>889802 Событийная модель - не имитация многопоточности, а другая модель конкуррентности. Нода написана на основе libuv, а модель эта существует уже много лет (select, epoll, kqueue).
Async/await, который надо сказать не только в ЖСе сейчас есть, сделан для того, чтобы писать асинхронный код без коллбэк-лапши.
Чтобы ты понимал, я не ЖС/Нода-фан, просто интересуюсь темой. И давай без хейта.
>>889827 Я в том смысле, что в js сделали "ненастоящую" асинхроннлсть, когда реально работает один поток, что вынуждает писать лапшу из коллбеков даже когда реальной необходимости в этом могло бы и не быть. А потом выкатывают асинх/авейт типа "смотрите какую мы вам крутую штуку принесли", хотя это по сути костыль, который покрывает их старый костыль с псевдоасинхронностью. Никакого хейта, я сам из энтерпрайза в js перекатился.
>>889685 схуяли оно будет работать? при чем тут вообще юз стрикт? >>889774 с этого начинать надо было но уже мозги зашкварены реактом и нормальные фреймворки вряд ли их спасут это как раньше были жквери программисты теперь есть реакт программисты, синоним говнокодера
>>889843 >Я в том смысле, что в js сделали "ненастоящую" асинхроннлсть, когда реально работает один поток Блядь, тебя уже поправил анон выше, а ты снова путаешь понятия асинхронной модели и многопоточной. Может быть, пора перестать думать жопой?
>Никакого хейта, я сам из энтерпрайза в js перекатился. Право дело, из ынтырпрайза приходят исключительно лоботомированные личности.
>>889866 > нормальные фреймворки > vue, react Сорта говна же. Нормальный фреймворк сейчас только Ember и angular2. Они юзают вообще какие-то слабосвязанные библиотеки.
>>889983 angular 2 возможно станет самым годным фреймворком, но пока он сырой ember годнота, тут согласен но почему ты считаешь vue говном? этакий реакт из которого выкинули все говно и оставили хорошее при том это сейчас самый быстрый фронтэнд фреймворк в мире для большинства кейсов если учить первый фреймворк то vue оптимальный выбор, потом года через 3 опыта перейти на ember или angular 2
>>889989 В vue что хорошо, что туда еще не успели набежать говнокодеры. И новичок изучая его будет делать это по хорошим мануалам с минимальным шансом наестся говна. React сам по себе не плох, но даже сами авторы в ахуе от того, сколько говнокодеров набежало в жажде наживы и какой пиздец они вытворяют. При том эти люди еще и имеют наглость кого-то учить.
>>890052 Охуеть, либу для рендеринга теперь фреймворком называют. Хотя да, заглянул в репу, грустно стало пиздец от такой хуйни. JS проходит в сжатые сроки все то, что прошел php за 12 с хуем лет.
>>890056 Ну там есть официальные роутер и стейт менеджмент. Так же официальная интеграция с RxJS. Почему бы и не называть фреймворком, даже если эти вещи опциональны.
Профессии "дальнобойщик" и "таксист" уйдут в прошлое. Данные люди будут уволены, а те из них, кто захочет переобучиться, сделают это. Они изучат дома что-нибудь наподобие Rust, C, Golang или C++, затем выучат в общих чертах какую-нибудь узкую предметную область и пойдут работать на какой-нибудь проект. Будут работать, как все. Software development и смежные области работы, кстати, вообще не требуют ни особой генетики, ни особой структуры мозга. Все смогут работать, абсолютно все.
Я думаю, что хотя бы язык Си и standard library может освоить каждый. Каждый гражданин России в возрасте от 15 до 50, не являющийся умственно отсталым, не состоящий на учете у психиатра. Не требуется там вообще (!) никакая особая структура мозга. Дальнобойщик сможет научиться использовать Vim и отладчик в том числе, если будет нормальное образование, если будут грамотно составленные курсы.
Ну и JavaScript тоже каждый может освоить. События, API браузера, DOM, замыкания, области видимости, контекст вызова, итераторы. Опять же, там вообще никакая особая генетически обусловленная структура мозга не требуется. Да все могут.
Вечер в радость, чефир в сладость! В общем есть пару вопросов за ваш этот js Учусь в вузе на 3ьем курсе, курсач по web технологиям написать игру на js. Есть ли варик слизать где-то готовую или годные туториалы? просто времени в js разбираться нет, тк долги по другим предметам есть сам имею небольшой опыт работы с c++, java, asm
Сосоны, я вообще нихуя не программист на js, но у меня возникла задача поменять html страничку полностью как плагин для grease monkey. Есть ли какие-нибудь функции, типа перлового s/// чтобы быстро заменить строку, которую я нашел регэкспами на ту, что нужно мне.
Задача: создать массив длинны N и заполнить каждый его элемент его же индексом, т.е. [0, 1, 2,...] Решение: Array.apply(null, {length: N}).map(Number.call, Number) А теперь задайте себе вопрос: додумался ли ты бы сам до такого красивого и компактного решения? Если нет, то даже не считай себя js-программистом. Ты обычная макака, которая без фрамеворка даже штаны себе не застегнет.
>>890373 Уж сколько раз твердили миру, что явное лучше неявного. Я могу легко потратить минут 10 чтобы распарсить этот говнокод. Но раскидав такие кусочки говна по всему проекту, любителю-рубисту у нас, например, легко могут оставить без обеда за счет компании, так как за коммитами смотрит не один человек.
Аноны поясните кто-нибудь (или дайте ссылку, буду благодарен) за более лоу лвл работу обычного нод http сервера? Имеется в виду не только "app.listen()" как в книгах о ноде, а именно как это вообще происходит обмен файлами? Всякие хендшейки там протоколы и тд.
Если сделать сервер на C например, это прояснится для меня или на С тоже все через библиотеки все делают?
Учу этот ваш JS, дошел до аякса - тут урок по RPC-XML запорот немного видос часто стоит на месте. Вообщем хуйово я его усвоил. Но лабу сделать хочу, подскажи анон, что имеется ввиду в этом пункте задания?
-Обратитесь к серверу XML-RPC lab-4-server.php и вызовите метод eshop.getDeliveryMethods (без параметров). Сервер вернет XML-RPC ответ. -Создайте переменную dom и присвойте ей вернувшийся ответ.
Как обратиться и передать параметры я понял, но как обратиться и вызвать метод?
>>890621 это я уже вроде понял, но почемуто в консоли возвращается null.
Пишу так: https://jsfiddle.net/kbmnmchr/ Там пару библиотек самописных подключены, но не суть. Написано то все правильно? Я имею ввиду, если написано правильно, то проблема может быть в остальных файлах? Или это норма, что condole.log возвращает нулл? сука, как же мне больно
>>884390 >на 150+ строк в каждом файле с методами и контроллерами - один охуительней другого. Велькам ту аур ворлд, май диар френд. А еще системы сборки, у которых зависимости и зависимости от зависимостей, и все это стоит на ките, который едет на одноколесном велосипеде и жонглирует YOBAми. И все ради того, чтобы у тебя на страничке пиздато все отображалось.
Аноны, какие телодвижения надо осуществить, чтобы с состояния абсолютного незнания подняться до уровня "Javascript на уровне чтения кода", и сколько приблизительно времени это займёт? Да-да, всё индивидуально, я понимаю, но хоть приблизительно.
>>890904 Поздравляю, ты тупой. Там даже пример вызова блять есть. Если нужно еще подробнее, то только спека. >>890972 > с состояния абсолютного незнания подняться до уровня "Javascript на уровне чтения кода" пара минут, достаточно лишь исходники открыть какие-нибудь.
Изобрел для себя недавно принцип построения например какой-нибудь бизнес логики, модели да хоть целого приложения.Заметьте, что любой объект(product) можно расширить любым поведением(someone). Причем пристутствуют приватные объекты и открытый доступ к ним с помощью методов. Наверняка такое уже где-то есть. Как оно называется? Пример ниже
>>891222 С первого, оно простое очень и хорошо позволяет понять паттерны проектирования веб приложений не отвлекаясь на пока что ненужные сложности. Можно с vue еще если не волнует что мало готовых компонентов. Под нее мануалы очень хорошие сейчас, позволяют новичку учиться делать правильно и сам этот фреймворк в отличии от всяких реактов не поощряет говнокод.
>>891470 А впрочем, вопрос задал, как обычно, прямо перед тем, как наконец решить проблему. Если страницу с, собственно, сылкой на файл сначала скачать в ноде, то выдранная из той страницы ссылка (с другим ключом уже) нормально работает в ноде (и нигде больше). Видимо, та тройка шарит какой-то общий ресурс, который вконтакте считает за одно и то же, а нода — отдельная. Был бы рад объяснению происходящего.
>>891555 >>891491 Хедеры я пытался разные вставлять, но курл лишь три использует и всё норм, в питоне вообще без хедеров отправлял и тоже ок, юзер-агента хоть asdf ставь. Ссылку он не открывает точно так же, как если бы я её просто на другом компьютере пытался открыть (потому я её и обрезал, собственно, вам бесполезна была бы). Можете попробовать вот отсюда https://vk.com/video-41485889_456239973 (не требует регистрации, а так любое можно) взять в коде страницы ссылку ( искать по"url240", "url360" и т.д.) и зареквестить её в ноде. Она даже в ругом браузере работает! Но не на другом компьютере (в чём угодно).
>>884727 Дурак ты, из-за тебя и таких же как ты, демпингующих макак, скоро совсем джунам зп платить перестанут, а надо будет еще доплачивать первые пару лет за возмонжость поработать. Подумайте тупо логически - в маке платят 25к, там уметь вообще нихуя не надо, картоху переворачиваешь весь день и все. А чтобы актуальный стэк фронта изучить нормально надо 6-12 месяцев систематических занятий (если совсем с нуля). Сам такой же, ксатти, пашу за 20к в большой международной компании уже пол года, еще на испытательной 2 месяца за 15к сидел. Я считаю хороший джун в милионниках должен получать 30 со старта.
>>892322 Уметь не надо, зато какая это унизительная и тяжелая физически работа - переворачивать картоху целый день и кричать свободная касса. А ведь от джуна толку мало, так как скорость его работы крайне низкая, он может не справится с задачей, допустит много багов.
Этот тред посвящён главному языку будущего - 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
JS-конфа в телеграме:
https://telegram.me/jsthread
Конфа /pr/ в Slack:
https://invite-me-to-2chpr.herokuapp.com/
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.