Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.
Начал пилить борду в стол. Пока знаний нет, желания нет, черновик фронтэнда есть, бэкэнда нет, планы грандиозные и скорее всего никогда не будут реализованы.
>>724738 Всегда было интересно, почему на таких лекция все ведущие плохо одеты, плохо сложены, плохо подстрижены, прямо все у них плохо. Сеньоры с зп 300к/с могли бы выглядеть по лучше.
Ребят, что по ангуляру почитать из свежего (желательно по первому еще)? Уже после отказа от $scope в пользу this. Аглийский приветствуется. В ангуляре почти 0, базовый жс + jQ знаю.
Такой вопрос, есть XML в виде <result> <Leads> <row no="1"> <FL val="X">jfdskkdfa</FL> <FL val="Y"><![CDATA[ 23131]]></FL> Можно ли как нибудь это превратить в json или сразу в csv на node.js ? Пробовал разные модули которые возвращают объекты из этого, но добраться к свойствам смог только через н-ное количество циклов
>>724873 >>724828 Что вы тут забыли? Вам в рабитред. Всё из коробки, ничего не надо допиливать - лепота! Или к джангистам, но их даже в питоносреде ч говном мешают.
>>724888 >Или к джангистам, но их даже в питоносреде ч говном мешают. Ебнулся? Стандарт для веб-страниц де факто. Для приложений по REST используют больше фласк, конечно. Но ты так спизданул, аж пиздец.
В ангуляре нужно учить специальный синтаксис языка шаблонов, там есть специальные конструкции для биндинга, циклов, ветвлений, а в реакте можно работать с элементами при помощи обычного простого javascripta.
dirty checking vs setState
Чтобы ангуляр не сломался или вдруг не начал тормозить нужно понимать как в нём работает дата-биндинг и как с ним можно совладать, и всё это для того чтобы можно было писать не setState({field: value}), а state.field = value
Из того что есть в ангуларе из коробки, чего нет в реакте, на самом деле есть только роутинг, ajax-запросы и ебучий DI-фреймворк, использование которого приводит к тому что никто не в состоянии понять как устроено приложение.
Вывод: куча всякого говна понапиханного в ангуляр не нужна.
>>724846 я учусь на курсах при конторе, они пока еще собираются юзать первый и на курсах мы будем пиать проект на первом. сам лично я бы начал сразу со второго.
>>724790 А с другой стороны, как еще человеку себя заставить столько кодить. Просто я смотрю, успешные программисты либо все молодые, либо такие вот дяди с женами, детьми и ипотеками.
Есть passport.js и два приложения. Локальная стратегия, вход через базу. В одном есть вход (авторизация) и проверка юзера, который уже вошел (аутентификация). Как сделать, чтобы во втором приложении можно было аутентифицировать пользователя, который вошел в первом приложении? В обоих подключены сессии с одинаковым секретным словом. Скопировал во второе стратегию, сериализацию и десериализацию. Не видит юзера, говорит пользователь не вошёл, хотя в первом видит. В чём дело?
Ребят, ну че вы как редиски. Что можно по ангуляру почитать кроме доков? Я ж не прошу мне там хуйню какую разжевать или объяснить. Не поверю что вы тут прям все матерые мидл-сеньоры ебашите доку и больше нихуя вам не надо. Просто что читали или что ворованного смотрели?
>>724987 JSON.stringify пишет тоже самое но строкой, $.xml() возвращает с cdata. Я поискал по тегам xml2json cdata но нашел кейсы только с созданием xml через билдер с cdata
Вот щас учу JS и много смотрю чужой код. Объясните плз нахуя некоторые объявляя переменные переносят "," на следующую строку? В чем смысл делать такую хуевочитаемую конструкцию это просто хипстеры или что?
>>724996 Анус себе неосилятор. Я знаю больше 95% этого треда и мне печёт, когда ради дебилов упрощают технологии настолько, что с ними становится невозможно работать.
Подкиньте пару примеров хорошего кода на джаваскрипте. Желательно небольшие проекты, чтобы за вечер можно было каждый рассмотреть, понять, сделать для себя выводы.
>>725067 И не знаешь кто были теми мудаками придумавшими именно такой кодестайл? Я там понимаю табуляция или пробелы или какие кавычки это норм стандартизировать. Но кому могло прийти в голову переносить , на след строку я хз, реально выглядит так будто только лишь бы не как у людей сделать.
>>725098 Кодестайл задается командой в которой идет разработка. Ну или если девелопер одиночка, он выбирает тот, что ему по душе.
Меня например люто раздражает когда скобки не в египетском стиле, а fn () { ... }
И что? Это дело вкуса. Смысл запятой в начале строки, чтобы наверное продемонстрировать что это продолжение предыдущего блока объявления. Возможно там дефайны слишком длинные чтобы бросать взгляд в конец строки.
Кодестайл может быть каким угодно, в пределах того, что подразумевает парсер языка. Кодестайл это соглашение. Не более того.
>>725098 >>725109 Смысл передней запятой еще в том, чтобы не дрочиться с ней, когда захочешь добавить новую строку в этот список. Еще думать надо - а нужна запятая или нет в зависимости от того, последняя ли это строка. И да, это хуевый стиль.
Как можно обращаться к local storage по мере загрузки DOM? Пример: нужно выводить имена людей и ссылки на фото, ассоциированные с определенными айдишниками. Изначально они получаются на клиенте через api другого сервиса. Чтобы юзеры не делали лишних реквестов, я забиваю джейсончики с данными им в local storage. Хтмлка рендерится на бэке, в нужных местах стоят атрибуты вроде user-id. И нужно в этих местах либо заретривить данные из стораджа, либо добавить в очередь на очередной запрос к api, который произойдет по domcontentloaded. Пока использую такой костыль: вместо нужных нод на бэке вставляю инлайн скрипты вроде <script>printImg(id)</script>, которые блочат рендер DOMа и проделывают всю работу. Но получается как-то грязновато. Какие варианты? SPA не предлагать.
>>725258 Поставить лоадер, пока не прогрузится дом? Либо вотчер сделать какой-то, который будет проверять каждые н-милисекунд дом но новый элемент, который нужно заменить.
>SPA не предлагать. Не думаю, что ты понимаешь, что значит это слово.
>>725283 >Не думаю, что ты понимаешь, что значит это слово. То, что сущности придется грузить отдельно и рендерить на клиенте. Думаю, это подмножество СПА. Такой вариант не подходит.
>Поставить лоадер, пока не прогрузится дом? Лоадер чего?
>вотчер Над этим подумаю, но вроде как не сильно лучше, если вообще лучше.
>>725296 >То, что сущности придется грузить отдельно и рендерить на клиенте. Думаю, это подмножество СПА. Такой вариант не подходит. Манька, к СПА это не имеет никакого отношения. То, о чем ты говоришь, можно назвать РЕСТ, но точно не СПА лол.
>Лоадер чего? Лоадер-заглушку? Я так понимаю, основная твоя проблема это что нужно избавиться от FOUC эффекта, нет?
>Над этим подумаю, но вроде как не сильно лучше, если вообще лучше. Лол, ну конечно лучше ручками для каждой херни прописывать скрипт, чем сделать универсальное что-то.
>>725317 пидораха, какое отношение спа имеет к тому, что ты не хочешь делать запросы с клиента? по твоему запросы с клиента делают только в спа? ты пиздец даун тупой, как таких вообще тут терпят? >Можно сделать рестфул бэкенд вообще без js. сука, причем тут бекенд вообще? ты ебанат полный?
>>725321 >>725325 Ну да, задали в школке сделать кое-какой сервис на веб-параше. Так-то я алгоритмист-всерос. А ты пиздец аггро-макака. Я небось репетиторством уже больше тебя зарабатываю, пока ты конкурируешь с Рафой за 0.01$ в час.
>>724696 (OP) Как же мне бомбит с третьей пикчи. Суки вы пидарские, реакт - это всего лишь вьюха, это даже не фреймворк, как можно его, блять, сравнивать с ануляром? Сука, саганул раковый тред.
>>725376 Мань, твои сайты-визитки это даже не фронтенд, так что иди нахуй. >>725369 Ещё одна пидораха. Всем похуй, либа, фреймворк, модуль, пакет, только таким неосиляторам как ты припекает от этого.
>>725372 То есть реакт с этими примочками позволяет прихуярить контроллеры, сделать области видиомсти и все такое? Мне похуй что он там отвечает, если он не видит разницы между фреймворком и библиотекой - это его личные проблемы.
>>725379 Даун, реакт можно и в чистом виде как контроллер использовать. Про области видимости я даже не представляю что ты там спизданул, видимо ты не в курсе про модули и бандлеры, лол. То что ты не осилил реакт, и не знаешь что на нём можно делать - это твои проблемы.
>>725381 С такими обезьянами как ты, только так и можно разговаривать. Иди дальше верстай говносайтики без фреймворков. Алсо, жквери не забудь подключить, лол, в 2016
>>725383 >Про области видимости я даже не представляю что ты там спизданул Все ясно. Надо было сразу сказать, что ты нихуя не понял, дебил. >То что ты не осилил реакт, и не знаешь что на нём можно делать - это твои проблемы. Слышь, гной, ты покажи мне где я сказал, что реакт - плох? Сука, даун, я только сказал, что они для разных целей используются. Поссал тебе на ебальник.
>>725390 >Все ясно. Надо было сразу сказать, что ты нихуя не понял, дебил. Всё ясно. Сразу бы сказал, что ты до сих пор конкатенируешь скрипты и не используешь модули, я-то думал, я не с деревенским дурачком говорю, ахаха >Слышь, гной, ты покажи мне где я сказал, что реакт - плох? Сука, даун, я только сказал, что они для разных целей используются. Поссал тебе на ебальник. Хуёво ты сказал, так как используются они для одних и тех же целей, при этом реакт более легковесный и кастомизируемый, и не тащит за собой тонну говна. Алсо, ты настолько тупой, что опровергаешь фразу разраба реакта, ахах. Ну да, какой-то говноед-неосилятор лучше знает, чем дев реакта. Пиздец манямирок
>>725399 Они думают, что если на сайте 2013 года сказано, что реакт это либа, то так оно и есть. А то, что в 2016 году это уже полновесный самостоятельный фреймворк они не догадываются, т.к. ни разу не использовали его до сих пор.
>>725404 Так-то реакт это самый просто для изучения фреймворк. Пропсы, стейт и лайфсайкл методы, всё, больше ничего знать не нужно, никакого специфичного странного синтаксиса (только названия методов нужно знать, но их там буквально с десяток максимум)
>>725403 > Они думают, что если на сайте 2013 года сказано, что реакт это либа, то так оно и есть. РАЗРАБОТЧИКИ НАГЛО ВРУТ?
> А то, что в 2016 году это уже полновесный самостоятельный фреймворк они не догадываются, т.к. ни разу не использовали его до сих пор. Такс такс, сделай мне ажакс-запрос или зароуть страничку на этом полновесном самостоятельном фреймворке
>>725408 >РАЗРАБОТЧИКИ НАГЛО ВРУТ? Им просто похуй на эти термины. Все прекрасно понимают, что реакт это фреймворк. >Такс такс, сделай мне ажакс-запрос или зароуть страничку на этом полновесном самостоятельном фреймворке Лол, теперь чтобы сделать аджакс, мне нужно использовать сторонние либы??? Пиздец, вот дауны разрабы пошли, даже не умеют нативный xhr использовать, ахах. АЛсо, нахуя мне иметь аджакс-враппер в ui фреймворке, ты даун совсем?
Роутинг на изи делается, достаточно посмотреть, как сделан simple react router. Просто делаем рутовый компонент, который смотрит на location и рендерит нужный компонент-ребенок. Раньше так постоянно делал для простых приложух.
>>725408 >РАЗРАБОТЧИКИ НАГЛО ВРУТ? Тебе же скинули мнение разработчика со стака. Теперь они считают, что это фреймворк, раньше была либа, да. Ты вообще видел, сколько реакт сейчас весит? По твоему это либа на 150кб?
>>725421 Всем похуй на названия, кроме неосиляторов, которые умеют только кукарекать на форумах, при этом написать ничего не могут. Алсо, РАЗРАБ РЕАКТА ВВОДИТ В ЗАБЛУЖДЕНИЕ??? ЗАЧЕМ? ЧТОБЫ У ТАКОГО ПЕТУШКА, КАК ТЫ ПОДГОРЕЛ ПЕРДАК? лол
>>725411 > Лол, теперь чтобы сделать аджакс, мне нужно использовать сторонние либы??? Пиздец, вот дауны разрабы пошли, даже не умеют нативный xhr использовать, ахах. > АЛсо, нахуя мне иметь аджакс-враппер в ui фреймворке, ты даун совсем? Ну если тебе норм писать 20 строк вместо 3 для вещей, которые используются в каждом втором компоненте, тогда ладно. Даже спорить бессмысленно.
> Роутинг на изи делается, достаточно посмотреть, как сделан simple react router. Просто делаем рутовый компонент, который смотрит на location и рендерит нужный компонент-ребенок. Раньше так постоянно делал для простых приложух. Тебе не кажется странным, что в этом полновесном самостоятельном фреймворке нужно велосипедить вещи, которые используются в каждом проекте?
>>725424 >>725426 Дауны итт > Фреймворк отличается от понятия библиотеки тем, что библиотека может быть использована в программном продукте просто как набор подпрограмм близкой функциональности, не влияя на архитектуру программного продукта и не накладывая на неё никаких ограничений.
>>725432 >Ну если тебе норм писать 20 строк вместо 3 для вещей, которые используются в каждом втором компоненте, тогда ладно. Даже спорить бессмысленно. Если для тебя тащить какую-то обертку хуй знает как написанную и хз сколько весящую это норм, вместо того чтобы самому написать её за 20 строк, а потом использовать в одну строку, то тут вообще что либо бессмысленно говорить, т.к. тупее ебаната я ещё не видел.
>Тебе не кажется странным, что в этом полновесном самостоятельном фреймворке нужно велосипедить вещи, которые используются в каждом проекте? Лалка, до твоего мозга слабо доходит, что такое ui фреймворк. В общем, что я спорю, сиди дальше жри говно под названием ангуляр, мне только лучше от этого, меньше народу, больше кислороду зарплата.
> Если для тебя тащить какую-то обертку хуй знает как написанную и хз сколько весящую это норм, вместо того чтобы самому написать её за 20 строк, а потом использовать в одну строку, то тут вообще что либо бессмысленно говорить, т.к. тупее ебаната я ещё не видел. Это можно про всё что угодно сказать. Про реакт, в том числе. Всё хуй знает как написанные обертки, а твои решения, конечно, лучше, чем ребят из фейсбука и гугла. Обычно так думают самые ньюфаги в погромизме И ещё > хз сколько весящую В 2016, когда существует минификация и gzip - экономить на байтах, в ущерб скорости разработки, полнейший долбоебизм
> Лалка, до твоего мозга слабо доходит, что такое ui фреймворк. Да нет, это для тебя слабо доходит что такое ui фреймворк. Мало того, до тебя вообще слабо доходит что такое фреймворк
Ананасы, планирую заняться webgl (опыт десктопного opengl имеется), но там работа идёт вместе с js, а опыта с ним нету. Есть какая-нибудь книжечка простая для обучения js?
>>725470 Сначала учишь азы: SICP Кормен - Алгоритмы: построение и анализ Кнут - Искусство программирования Зорич - Математический анализ Картан - Риманова геометрия в ортогональном репере
>>725393 >Сразу бы сказал, что ты до сих пор конкатенируешь скрипты и не используешь модули То есть ты реально настолько еблан, что думаешь. что модульность и конкатенация могут заменить разбиение по контроллерам? Ебать ты дно, выпились нахуй. >Алсо, ты настолько тупой, что опровергаешь фразу разраба реакта, ахах. Все ясно. Серьезный дядя сказал пидорахе, и пидораха сразу все схавала. У меня от тебя АВТОРИТЕТЫ, быдло ебаное.
Антоши, надо сделать админку к проекту, всегда делал подобное на чистом жс + джикуэри с плагинами, было норм, но всё ж не академично и велосипедно. Подумал освоить Ангуляр, но как-то боязно стало после чтения гугла: 1) Ангуляр1 или ангуляр2? 2) Насколько адекватная хабрвская статья - "Почему вам НЕ стоит использовать AngularJs" https://habrahabr.ru/post/246905/ ? 3) Какой порог вхождения? Хелловорлды, особенно для второго ангуляра не радуют понятностью и лаконичностью. 4) Как знание ангуляра сказывается на ЗП на рынке жаваскриптового прогера?
> Насколько адекватная хабрвская статья - "Почему вам НЕ стоит использовать AngularJs" https://habrahabr.ru/post/246905/ ? По отношению ко второй версии -- устарела
> Какой порог вхождения? Хелловорлды, особенно для второго ангуляра не радуют понятностью и лаконичностью. По моему мнению, он ниже, чем для первого ангуляра. Тебе не нужно учить устройство кучи разных компонентов, нужно только понять как строятся компоненты, потому что интерфейс унифицировали
> Как знание ангуляра сказывается на ЗП на рынке жаваскриптового прогера? Крайне положительно
>>725493 Я бы первый ангуляр навернул. Тайпскрипт еще не все браузеры адекватно кушают + второй ангуляр вообще в бете. А первый - проверенное и отлаженное средство, работает на ура.
>>725497 Спасибо за оперативность. У меня ещё чуть-чуть вопросов: 1) Есть ли хороший, ещё лучше - русскоязычный гайд с примерами? 2) Хорошо ли сочетаются решения решения на ангуляре2 и джикуэри? 3) Ещё какие-нибудь общие советы и подводные камни?
>>725499 > Есть ли хороший, ещё лучше - русскоязычный гайд с примерами? Да куча их на английском, просто загугли https://angular.io/docs/ts/latest/ https://www.reddit.com/r/Angular2/ > русскоязычный А вот с этим проблемы. Русское коммьюнити пока очень маленькое. Если не знаешь английский, лучше реакт сейчас взять
> Хорошо ли сочетаются решения решения на ангуляре2 и джикуэри? Ну. Сочетаются. Только желательно оформлять их как компоненты http://stackoverflow.com/a/30662773
> Ещё какие-нибудь общие советы и подводные камни? Он в бете и ещё мало кто его использует. Соответственно, мало информации, которую можно погуглить
>>725498 Если он с ним не знаком - это просто трата времени будет. Да и он не сайт пилит, а админку. Главное, что у него работало.
>>725503 > код под него можно и на старом добром Жаваскрипте писать? Да. На жаваскрипте, на тайпскрипте и на дарте. На оффсайте есть документация с примерами на всех трех языках
>>725506 >Если он с ним не знаком - это просто трата времени будет. Почему? Во-первых еще дохуя жизнеспособных проектов на первом ангуляре и он приобретет все еще актуальный и полезный опыт. Плюс с первого на второй анугляр будет не так уж сложно пересесть, так как понимаешь логику работы. >Да и он не сайт пилит, а админку. Главное, что у него работало. Если админка для себя, то да, в принципе ты прав. Но если он ее пилит для cms для какой-нибудь конторы, то тут я бы поспорил уже.
>>725493 Чисто беглый взгляд: >forced TypeScript Нахуй так жить в 2016?
><input type="checkbox" [(ngModel)]="todo.done"> ng-то, ng-сё, зачем? Платишь шаблонами за бизнес-логику, которая вероятно быстрее запиливается, но долго ищется через пару месяцев.
>Состояние компонента? Непонятное. Никто не может гарантировать, что компоненты всегда будут взаимодействовать так, как задумано, если, например, поменяется разметка.
>Траханье с DOM-ом So 2013sh.
Как пользователь 1-го ангуляра и современного реакта - не вижу плюсов у ангуляра 2. Просто улучшенная копия 1-й части, в целом никакой смены концепта не случилось же: как работали с DOM, так и продолжают, как вводили кучу специфических сущностей - так и вводят. Потому наверное и нужен тайпскрипт, чтоб муки облегчить.
Если что, роутер к "библиотеке" React подключается одной командой, так же как и любая другая фигня подключается к ангуляру, если её там нет. Для реакта есть пиздатые starter-kit'ы и в них нет никаких новых сущностей - обычные npm-пакеты и настроенный webpack - вот и готов "фреймворк".
>>725516 Это не совсем тоже самое. В ангуляре можно создавать свои такие обработчики, которые могут и компоненты менять, и изменения отслеживать, и вообще что угодно делать. А each и onclick это только ng-repeat и ng-click
>>725509 >>725506 Блин, антоши, читаю я всё больше мануалов по ангуляру и становится страшно - просто не понимаю, откуда и зачем берутся кучи кода, как вся эта махина работает. В jQuery всё просто было, прямая связь с html, обработчики, события, тут же куча неявных зависимостей. Есть какие-нибудь гайды прям для особо тупых?
>>725520 >свои такие обработчики, которые могут и компоненты менять, и изменения отслеживать, и вообще что угодно делать. И как вариант - вгонять приложение в "непонятное" состояние, как я уже говорил. Реактовские компоненты в первую очередь хороши тем, что работают как чистые функции - что пришло в пропсах, то и показывается. А с redux-ом так вообще красота, все состояния как на ладони, приложение не ломается полностью от того, что где-то в конкретном месте что-то пошло не так. В ангуляре тяжело с предсказуемостью, как мне видится.
>>725493 >1) Ангуляр1 или ангуляр2? Ангулар1. Второй - хипстерская игрушка. >2) Насколько адекватная хабрвская статья - "Почему вам НЕ стоит использовать AngularJs" https://habrahabr.ru/post/246905/ ? Есть адекватные мысли, но часть уже устарела и неактуальна. >3) Какой порог вхождения? Хелловорлды, особенно для второго ангуляра не радуют понятностью и лаконичностью. Ничего сверхсложного. Посидишь немного и поймешь. >4) Как знание ангуляра сказывается на ЗП на рынке жаваскриптового прогера? Положительно.
ньюфаг в треде! Возможно ли будет начать изучать программирование на js без малейшего представления о программировании в целом ? Или есть какая то основа без которой нельзя?
>>725614 Реакт тоже не релизнулся, а его уже в продакшене немало кто крутит. Бета - это просто снятие ответственности. Это означает, что они ещё не уверены, что продукт 100% отлажен и чтоб их не обложили хуями - ставят бету. Это вовсе не значит, что он будет сыпать ошибками и вообще работает как.
В общем, я отстал от жизни года на 2-3. Застал хайп вокруг ангуляра. С ним все понятно, его пиарил гугл и у слоупоков и ньюфагов не видевших никогда нокаут, он вызывает вау эффект. Да и нокаут слишком лапшеобразный, понятно почему не взлетел. А реакт-то что за хуйня вообще и нахуй он нужен? Вот я гляжу примеры, какое-то говно не похожее даже на кофескрипт. И в рекламке пишут "simple". Нихуя не симпле. Покажите какой-нибудь пример и не туду лист, который бы делался в реакте проще чем в том же ангуляре или вообще без библиотек.
>>725575 Я на сервере не могу хранить сотню миллионов ссылок. Даже на пропарсить месяцы уйдут. Плюс данные постоянно меняются. Единственный вариант - обращаться к апи. Чтобы юзер не обращался к апи при каждом обновлении страницы, я кладу уже полученные данные в local storage.
>>725749 > Чтобы юзер не обращался к апи при каждом обновлении страницы, я кладу уже полученные данные в local storage. Зачем? Ты не там кешируешь. Такие вещи нужно кешировать на стороне апи
Алсо, пидору с его hanako хочу сказать, если он вообще тут бывает, что его поделие даже страницу в 7 раз дольше отдает. Рендерит каждый раз при отдаче, это ж пиздос. Умрет при 10 одновременных просмотрах.
>>725775 Ну они меняются довольно редко. Например, когда кто-то меняет авку или имя. Можно раз в день чистить local storage. Зато пользователям, особенно мобильным, не придется каждый раз устанавливать лишнее https-соединение, делать запрос и ждать по 500ms с пустыми картинками и именами. Если после domcontentloaded очередь пуста, получится, что все как будто на бэке отрендерено, и сразу начнется загрузка картинок.
>>725783 > Ну они меняются довольно редко. Например, когда кто-то меняет авку или имя. И как ты будешь проверять, обновились они или нет?
> Зато пользователям, особенно мобильным, не придется каждый раз устанавливать лишнее https-соединение, делать запрос Сейчас везде 3g, не думаю, что это прям большая проблема. Вот с 2g такая оптимизация имела смысл, с 3g совсем нет. На компьютерах тем более
> и ждать по 500ms с пустыми картинками и именами Какое-то хуёвое апи. Сделай прелоэдер в таком случае.
>>725788 >И как ты будешь проверять, обновились они или нет? А я и не буду. Сохраню таймштамп и при каждом запросе буду проверять, не протух ли он. Если дельта > 24 * 3600, то все вычищаем.
>Какое-то хуёвое апи. Сделай прелоэдер в таком случае. Ну это примерно, если говенный интернет. SSL-хендшейк, syn/syn-ack/ack, скачка, лишний проход по дому - и только тогда начнется загрузка картинок.
>>725799 > SSL-хендшейк, syn/syn-ack/ack, скачка, лишний проход по дому - и только тогда начнется загрузка картинок. Ну и похуй же, это миллисекунды. Задержка в пару сот миллисекунд лучше, чем неактуальные данные
>>725804 200 мс - это дохуя. Актуальность данных в данном случае некритична. Но если уж так хочется, можно делать запрос к апи после рендера с данными из кэша. Получаем лучшую отзывчивость и риск неактуальности данных всего в 1 запрос.
Помогите разобраться с замыканиями: function createCounter() { var numberOfCalls = 0; return function() { return ++numberOfCalls; } } var fn = createCounter(); ---- var numberOfCalls = 0 - создается локальная переменная в зоне видимости функции, дальше возвращается функция которая увеличивает локальную переменную на 1, Потом это присваивается в переменную fn, и при каждом вызове переменной fn - выполняется return ++numberOfCalls ? Всё верно?
Аноны, за сколько вы фленегана прочитали? Читаю каждый день по часу перед работой, пока осилил только 100 страниц за 7 часов и уже охуел. Там еще 900!, это значит если я за неделю сто, то за 8 недель освою эту книгу? Программирую если что на си++, на js опыт около трех месяцев быдлокода
Анон, что должен уметь джун? Мамка гонит работать, а мне 18 и нет образования, но у меня за спиной только html, css, js, jq, немного реакта и сейчас въезжаю в php потихоньку, опыта естественно никакого, но и в мак идти не хотет. Алсо, может у кого - нибудь тестовые задания после собеседования остались?
>>725869 Прочитал карманный справочник Фленагана за четыре дня лежания в дурке. Поскольку других книг у меня с собой не было, читал заново раз за разом в течении двух месяцев. Правда из за невозможности проверить код на деле толку от этого было мало.
>>725872 Вот тебе тестовое задание. https://jsfiddle.net/4Lc7sqzt/ Написать код, который должен вешать класс .red на label, когда чекбокс выделен. Использовать jQuery.
>>725906 Неправильно выразился. Вряд ли научит тебя чему - нибудь, что пригодится тебе на реальной работе >>725903 Действительно дают подобные задания?
>>725903 Кароч смысл задачи в том что код внутри колбека change должен проверять выделен ли чекбокс. Чекбокс может быть в любом состоянии на момент загрузки страницы и его состояние может быть измененено каким-нибудь левым кодом.
>>725913 >Вряд ли научит тебя чему - нибудь, что пригодится тебе на реальной работе
>>725917 >На ленте мебиуса задана точка. Найти координаты обратной точки.
Мы разрабатываем игру, гонки на всяких хитровыебанных трассах, в том числе на ленте Мебиуса. На трассе валяются всякие бонусы, повышение скорости там или еще что. Один из бонусов для ленты Мебиуса заставляет машину игрока "провалиться" через трассу, появившись с другой стороны (таким образом игрок делает скачок вперед на полкруга). От тебя нам нужен код, который это сделает: по координатам машины укажет новые координаты.
Кароч я так не играю. Вы унылые какашки даже не попытались. Это был тест на знание того что у toggleClass есть второй параметр флаг, который выставляет класс в зависимости от него. И не надо писать if и т.д. https://jsfiddle.net/jfena5oa/
>>725973 ну регистрировать будет не обязательно, это лишь чтобы ставить лайки и получать уведомления на почту зареганый юзер все равно будет анонимным ну идея такая
>>725969 Достаточно было бы написать твиттер и соцсеть, а после этого тебя бы взяли в любую крупную компанию того времени как успешного специалиста. Только вот писать подобное тогда было не так просто, так как не было россыпи фреймворков на любой вкус, а языки были заточены под бородатых ноулайферов. Тогда даже jQuery не было, а ванильный JS не поддерживал выбора элементов по селектору. И это только фронт. На бэке всё было ещё хуже. Даже пхп едва только появился и был малоизвестен - борду бы пришлось писать на фортране или плюсах.
>>725998 > Достаточно было бы написать твиттер и соцсеть, а после этого тебя бы взяли в любую крупную компанию того времени как успешного специалиста. Рабство - это в крови? Написать революционный продукт, который за год может приобрести миллионы инвестиций и вместо его продвижения пойти работать за топовую зп? Серьезно?
Вкатываюсь повторно во фронтэнд, прошлый раз остановился дойдя до js шаблонов (фабрика, модуль - вот это все, т.е. довольно далеко, как мне кажется), и когда параллельно начал изучать gulp, то решил копнуть его глубже (а не только ставить компоненты через npm) т.е. стал слегка копать node.js и тут меня все заебало и я отвалился. Итак, последняя моя попытка или я иду мести дворы. Я знаю HTML5, CSS3, знаю JS на уровне теории, но не практики (максимум что я делал, так это написал слайдер на ванильном js). Мне интересен фротнэнд. Я понимаю, что jquery это стандарт, и я его сейчас будут учить (не с нуля, я уже делал всякие слайдики на нем), так как мои знания в нем вялые, планирую потратить на это следующую неделю полностью. Далее что? Angular или Meteor? Куда проще вкатиться, где больше работы и она легче? У меня просто не так много времени, хочу к концу мая начать фрилансить за еду.
>>726050 Писать на Meteor ты не сможешь без знания ноды уровня "выше среднего". Во фронт-енде у тебя много вариантов. Лидеры: React и Angular Популярные, но не стандарт: Ember, Vue, Polymer Старые и проверенные: Backbone и Knockout
>>726043 У дурова до вк были и другие успешные по посещаемости проекты. Я помню вк еще в бете и по инвайтам, только для студентов спбгу, он тогда даже не казался серьезным чем-то и очень был похож на кучу подобных закрытых клубасиков по интересам. Это потом он его переформулировал (и мне кажется что ему кто-то подсказал, ну или он сам дошел в процессе разработки). Там же даже первые пару лет в html коде весело ориджинал название изначальное - студенты или что-то такое, я не помню сейчас.
Господа, сделал недоанимацию на недослайдер, чтобы когда новая картинка наезжала сверху, было видно как она перекрывает предыдущую, сделал это с помощью добавления класса show предыдущему элементу. Так вот этот класс show остается у всех классов и в итоге последняя картинка перекрывает весь слайдер на последующих кругах. Как его очистить потом? И как сделать, чтобы первый слайд при загрузке странице не отрабатывал анимацию, а в следующие круги отрабатывал?
Есть немного кода на js, из которого не хотелось делать свалку функций. Решил разделить все на модули. И у меня получилось несколько модулей, вложенных по функционалу. Типа html.builder.addSomeBlock(), html.form.validate(). Это норм вообще практика?
>>726323 Да, думаю перекатиться в андроид. Проще ангуляров, платят больше. Ангуляр это заговор жидомасонов, чтобы сократить количество фронтэндеров. Жалуетесь на отсуствие разработчиков? Теперь живите в проклятом мире, который сами и создали.
Что прочитать, чтобы узнать, как воспроизводится потоковое видео в браузере и как его, эм, перехватить? То есть, чтобы я мог его себе сразу в файлик писать в реальном времени. Твитч, ютуб, бонгакамс, лол, и прочие. Возможно, не по адресу зашёл.
>>726300 Пиздец ты хуйней маешься, друг. Двигай через .style.margin, перемещай так, чтобы в центре был текущий слайд, если хочешь замкнуть, то дублируй слайд. Анимацию через transition. Наворотил кода пиздец.
Что бы вкатиться в фронтенд джуном в офис, в какой степени хорошо мне нужно знать именно верстку? Я конечно знаю основы html и css, но что либо хорошо сверстать прямо psd2html не смогу.
>>726905 Разобрался с основными понятиями языка, написал пару модулей, написал аиб, пишу на js чуть больше года. Считаю, что только начал использовать его полноценно, раньше не чувствовал свободы js, а он именно для этого и делался. Для ощущения свободы во время программирования.
>>726911 За счет понимания runtime, знания паттернов, понимания того, что я делаю, знания некоторых how-to, знания того, как работают стандартные структуры и методы.
>>726942 А можно пример psd для того чтобы его от2htmlить? Мне интересно, вроде как позиционировать-стилизовать элементы умею, но может я не до конца представляю этот процесс.
>>726966 По идее код фронт-ендщика работает непосредственно с версткой потому ему необходимо знать принципы верстки чтобы уметь ею манипулировать в коде.
>>726966 В хороших компаниях должность фронт-эндщика и верстальщика разделена. Но перед тем, как попасть в хорошую компанию, тебе придётся навернуть говнеца в виде мелких контор, в которых нужно уметь всё.
>>726996 Ты потому что не одупляешь ничего. По гетбайкласс, ты хапрашиваешь ноделист,а он живой. Разумеется когда ты убираешьу элементов класс по которому у тебя составлен ноделист, то он исчезает из него. Что непонятного?
Если тебе нужен массив элементов, т блядь преобразовывай его в массив. Поприходят их своих типизированных языков, а о типах не бум бум.
>>727016 А если у тебя паралельно асинхронно дургой обработчик будет в это время навешивать это класс обратно, У тебя случится бесконечный цикл и ты обосрешься.
>>727018 Архитектурой не предусмотрено. Но было бы даже заебись. В моем случае класс говорит, что в ноде надо прописать новые данные. Автообновление из коробки.
>>726857 Я некоторые задачи от туда мог дня 2-3 решать. Как там хорошо заметили в комментариях, эти уроки предназначены для многократного прочтения. После первого прохождения вряд ли что-то в голове уложится. А ведь это только азы! Короче, программирование - это очень-очень сложно.
>>727056 Да. Я когда писал свой первый хеллоуворлд чувствовал себя больше программистом, чем спустя полгода регулярных занятий. К тому же джаваскрипт сам по себе не представляет ценности, надо хорошо знать верстку, владеть библиотеками и фреймворками, неплохо бы освоить ноду, а там джэс вообще как птичий язык выглядит и вообще хуй поймешь как все работает. Про профессию громко сказано, пока это только хобби, через пару лет будет ясно, станет ли это чем-то большим.
Посоветуйте хорошие онлайн курсы по JS/статьи/компиляции уроков на инглише, чтобы после них можно было перейти уже на книги уровня чуть выше и начать копаться уже в фреймоврке.
>>726388 Ну понятно что не через юзерскрипт с жквери это делать. На ноде там что-нибудь написать, например. Просто я даже не знаю, как оно там устроено, могу ли я относительно просто послать запрос как от браузера, а затем получаемые данные не воспроизводить?
>>727208 У каждого из перечисленных тобою сервисов может быть своя уникальная защита от подобных выебонов, выражающаяся в том плане, что там не просто поток, а по какой-нибудь хитрой схеме с доработкой чанков на клиенте (например они могут приходить не по порядку, а восстанавливаться уже на клиенте, или еще что, это чисто пример). Изучай реквесты, копай сначала как доставляет этот поток каждый из них, как выловишь алгоритм и сможешь сообразить что к чему, уже перехватый и пиши. Но универсального решения там нет.
>>727210 >например они могут приходить не по порядку, а восстанавливаться уже на клиенте А кто в такому случае восстанавливет? Флеш-приложение, а браузер не в курсе?
>>727211 О, вот за это спасибо, помимо использования ещё и в коде покопаюсь, к тому же и на питоне. У меня основная проблема-то была в получении пути к потоку, откуда его вообще брать (это ж не ссылочку в коде страницы на .mp4 на видеохостингах найти). Проглядел плагины для некоторых сайтов, и в основном всё через имеющиеся апи делается, плюс куча всего сложного. Придётся разбираться.
>>727278 >А кто в такому случае восстанавливет? Мне может за тебя еще и написать всё. Иди лезь и изучай. Я сужу просто по тому, что тот же ютуб и в случае непотокового видео за период своего существованию не раз менял алгоритм доставки и сборки его на клиенте. Не обязательно флеш. JS же есть. Да и даже если флеш, суть не в нем, а в алгоритме. Это твоя задача.
>>727108 >>727106 >>727098 >>727097 Make an Interactive Website Это и есть курс по JS? А codenamecrud годный (хоть и на русском)? А еще я слышал о Дмитрие Сошникове, кто это? Годные ли у него статьи для нуфагов?
>>727279 >Мне может за тебя еще и написать всё. В смысле за меня написать? Ты говоришь, что есть какая-то там защита. Но если браузер это делает клиент на ЖСе, значит вся необходимая информация, чтобы видео на страничке проигрывалось, этому браузеру предоставляется, то есть её могу получить и я? В этом вопрос: просто разобраться в полученной инфе или сидеть ковырять-угадывать что-то нужно.
>>727299 >просто разобраться в полученной инфе или сидеть ковырять-угадывать что-то нужно Ну и чем по-твоему одно отличается от другого? У тебя есть маны по получаемой инфе/ внутреннему api сервисов?
>>727302 Ну, эм, вот у мозиллы, вроде бы, нет никакой докуметации от какого-нибудь китайского 9158.com, но видео я там вижу. Т.е. используются какие-то стандартные протоколы, о которых есть информация, потому браузер и может правильно воспринимать и проигрывать этот поток.
В общем, забей, по лайвстримеру буду пытаться понять, как там чего делается.
>>727302 Ну, эм, вот у мозиллы, вроде бы, нет никакой докуметации от какого-нибудь китайского 9158.com, но видео я там вижу. Разве при желании фф не мог бы весь этот готовый видео/аудио-вывод писать на диск? Или-таки у браузера тоже нет как такового доступа к самим данным?
В общем, забей, по лайвстримеру буду пытаться понять, как там чего делается.
Аноны помогите понять.Писал расширения для хрома.Которое взаимодествало с яндекс.маркером. Посредством кросс-браузерного запроса.Открывала нужные страницы,загружал их в переменную стринг искал в них данные разбивал и вставлял в свое расширение.Расширение работало отлично потом прошла неделя.И классы и идентификаторы на страницы яндекс.маркета сменились.Я переделал снова и они снова сменились.Почему так? Неужели яндекс.маркет определяет кросс-браузерный запрос?
Как же я ненавижу хуету атом, что тормозит при больших проектах, саблайм хуета из говна страшная залупа игрушечная, бракетс просто вообще пиздец набор анимаций и хуев из штанов директора эйдоб. Вебсторм ебаная залупа которая запускается 7 лет. Куда блять перелезть со всего этого говна?
Какой бест практис для навешивания обработчиков на кнопки? Смотрю SO, YT и вообще не вижу айдишников, одни классы. Но классы же не гарантируют уникальности.
>>727663 Ничего не гарантирует. Бест практис тебе от меня: - id не нужны никогда - классы только для стилей - обработчики вешаются на кастомные или data-атрибуты
>>727280 Но, сэр, я ведь и хотел чтобы мне предложили пример этого шаблона и я бы попробовал его сверстать, я не знал что есть целые ресурсы с шаблонами. А о чем вы хотели поговорить?
>>728106 Изоморфность, на мой взгляд, пока еще больше концепт, чем методология. Но ноду я однозначно котирую. Быстрее REST API я поднять не смогу ни на чем.
>>728115 Если не затруднит, приведи пример такого конкретного решения. Стоит отталкиваться от математики, т.е. сколько конкретно строк кода было использовано и там и там.
Сап. Как получить constructor инстанса, если поле constructor у инстанса было перегружено. Интересует непосредственно получение constructor.name, имя класса в общем надо.
>>724696 (OP) Сап, двач. Есть один массив объектов, выглядящий так [{id, date, value}, {id2, date2, value2}] Запаял схему на CouchDB под id, date и value, но что-то нихуя не понимаю, как передать каждый объект массива в базу данных поэлементно, ибо {id, date, value} это один целый объект, а бд от меня требует {'id': number, 'date': Date, 'value': вроде тоже число, но не помню,}. Что делать, юзаю CouchDB.
Есть ли какая-нибудь фишка для связных элементов, только один из которых может быть активен одновременно? То есть при клике на одном другой должен отжаться. Как тут выше писали, делегирование подходит, но все равно придется проходить в цикле по остальным элементам и искать активный. Я вот подумал, задача довольно повседневная, может уже встроили что-то типа эксклюзивных чекбоксов.
>>728387 Радиобаттон, если тебе прям конкретно в хтмл нужно. А так да, так или иначе, нужно будет обходить все другие, иногда косвенно, т.е. не нужно прямо цикл делать, а просто выбираешь по классу, или чему-то ещё общему, всю коллекцию, убираешь активный класс у всех (даже если у кого-то его нету), а потом таргету добавляешь активный.
>>728370 Это не рефлексия. Рефлексия это когда описание объекта получается извне. Например чтобы получить валидный прототип объекта, есть Object.getPrototypeOf которая будет работать всегда, даже если __proto__ переписана. Поля объекта сами по себе не могут представлять рефлективных свойств, если они по стандарту не защищены от модификации.
Вопрос заключался в теории, а не в том, что я могу. Разумеется, я могу. Могу и вписывать всем объектам кастомное свойство, или навесить nonconfigurable на все поля constructor у всех объектов. Но это будет не по стандарту. Я ищу именно способ по уму. Допустим есть у нас некий модуль, написанный каким-то васяном, со совей инкапсуляцией. В ходе работы этого модуля что-то возвращает объект, у которого нет поля constructor или оно затерто.
Неужели в js еще не завзели нормального рефлексивного способа получить его?
Вот у меня есть простая модель сущности на клиенте. И есть массив ее инстансов, отображающийся на DOM. Как лучше организовать синхронизацию данных при изменении свойств объектов?
>>728409 > Как лучше организовать синхронизацию данных при изменении свойств объектов? Отправлять пакет изменений через вебсокет, на клиент ловить событие и перерендеривать.
>>728434 Ну с сервака довольно просто обновлять. Представь, что у сущности есть штук 10 атрибутов и они асинхронно меняются по какому-то клиентскому алгоритму. И каждое изменение переменной должно отображаться на соответствующей ноде. Как вариант, хранить отдельно старые значения и по таймауту натравливать коллбек, проверяющий изменения. Но это же пердолька. В идеале надо задать биекцию между свойствами и нодами и больше не париться.
>>728462 Это не я саггрился. render() это не то. Нужна двухсторонняя синхронизация. Изменил src пикчи - изменилось свойство src модели. Изменил в модели value - изменилось value ноды. Короче, надо ставить listener хитрый, на SO норм ответ.
>>728487 Есть идея выделить все тяжелые данные электрона в отдельный пакет типа DirectX или Java. То есть, при установке Electron приложения будет требоваться этот пакет, если его нет - то скачивается. Каждое приложение не будет тащить с собой 200 мегабайт хлама, этот хлам будет только однажды ставиться на компьютер. Но это пока только концепт.
>>725614 Использую второй ангулар в разработке реального проекта с командой с начала года, двачую этого. Слишком дохуя недоделанного + сам скомпилированные файлы весят огого пиздец сколько.
Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.
Часто задаваемые вопросы:
https://github.com/xxxwww/js-thread/blob/master/Wiki/faq.md
Список материалов для изучения:
https://github.com/xxxwww/js-thread/blob/master/Wiki/learn.md
Список инструментов и направления JS-разработки:
https://github.com/xxxwww/js-thread/blob/master/Wiki/tools.md
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.