Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.
Чо-то сложный язык, пиздос. Учу джве недели, могу только каты 8-го и 7-го уровня решать на кодеварс. Запилил простой статичный сает на хероке с помощью ноды. Пока даже не могу придумать, что сделать. Есть идея запилить сайт типа csgodouble.com, но знаний нет. До этого не знал ни один язык.
Мож посоветуете что-то? Хуйцы уже делал, бочу сосал.
Аноны, какие онлайн курсы посоветуете по веб разработке(coursera, edx, udacity)? Только чтоб по хардкору было, сложные темы, задания почти как в продакшоне, а не jsBegginner for nonProgramists.
>>728749 Питон в этой связке нахуй не нужен. Для ведра есть phone gap и юнити для игр. Плюсы нахуй не учи, все равно пока будешь осиливать 3-5 лет завезут нормальную поддержку раст\ ди.
Пивет, анон. Объясни пожалуйста, я сам уже голову сломал. Учу JS уже несколько недель, и вот на learn.javascript.ru наткнулся на этот вот код -https://jsfiddle.net/y4smprn8/#&togetherjs=NkRRvMiDkq Так вот вопрос: а почему count увеличивается? Ведь в начале выполнения функции makeCounter переменная currentCount приравнивается к 1, следовательно функция всегда должна возвращать 2, разве нет?
>>728796 Функцию makeCOunter ты выполняешь только один раз, и да, в тот момент переменная currentCount равна 1, после этого запускается только внутренняя функция. Это называется замыкание, погугли сам в общем.
>>728824 Да, плюсы не трогай, можешь для общего развития язык со статической типизацией осваивать параллельно: шарп(тот же юнити) или java(android) или хотяб тот же typeScript для второго ангуляра, но большую часть времени в js вкладывай.
>>728487 >>728503 Хуй там. Самое тяжелое это не добавочные моули типа директа, ффмпега или чего-то еще. Даже если девтулс выпиливать (как в nwjs продакшн) это не сильно влияет на размер. Самое тяжелое это сам Chromium И меньше ты его не сделаешь. Разве что хаменишь хромиум на уже предустановленный браузерный движок (ie\edge) на хабре была статья на эту тему. Но это чепуха конечно.
>>729038 >>729036 Проиграл с того что за ним будующее, чтобы там не запиздели змеефаги он не будет для фронта лучше чем js, уже хотя бы потому что не встроен в каждый браузер. Но он и не умирает. Совет в приципе годный, хотя полезнее будет какой-нибудь статик освоить. Если будет время(а скорее всего его нихуя не будет) обмажся, он легкий как и js и если выучил скрипты то там будет мало новых концепций в основном сахарок и божественных синтаксис. Если все же решишь навернуть, рекомендую книжку collaborative mind, там кратко и несложно объясняются много концепций из машинлернига в применении к вебу.
>>729114 Мне тут пацанчики заливали что на питоне можно писать охуенный фронтенд, думаю что пиздаболы или утята, сам я питон не юзаю и кроме ебалы под названием brython ничего под веб не писал.
Я ненавижу программирование. Я ненавижу вас, потных задротов, падлы, 24/7 дрочите, мрази, суки, понижаете цены, насасываете лишь бы взяли за еду. Ебаное комьюнити, самое худшее, что я видел.
>>729124 Я сижу и плачу, блять, полгода учил-учил-учил эту ебаную хуйню для ебаных задротов и нихуя не научил, этот поганый бесполезный мусор для омег, сука.
>>729113 И что получилось? Может есть какие-то советы? Я хочу реализовать функцию автоматического изменения чата, но пока не имею идеи как это сделать.
>>729127 Представь себе, не толщу. Сорвался из-за ебаной змейки http://slither.io/ Зато хоть глаза себе открыл, мне нравится играть, мне нравится смотреть сериалы, но я не могу больше видеть этого ебаного программирования. Почему же пидорашкам никогда не видать безусловного дохода. Я бы сука послал это ебучее говно сразу же, заодно пуская струю в рот всем вашим короткевичам-хуевичам.
Так че ебать поясните по хардкору вкатываться в жс норм? Ну для нюфани я там ласт тайм в школе чето програмировал, а если с перспективой поработать потом? жс норм? Ток без троленка блять! А то знаю я вас двощеры сука
>>729135 >Что такое ангулар? >Что такое бэком? >Что такое метеор? >Что такое нодой? Забанили в гугле? Ангуляр и метеор front-end фреймворфки, бэк - back-end, нода - node.js, ну нельзя же быть таким ущербным
>>729103 Ну совсем он не сдохнет, конечно. Просто его всё меньше и меньше будут использовать в энтерпрайзе. Он отлично подходит для науки и написания скриптов, своя аудитория у него будет, но будущее веба не за ним.
>>729104 А что не так? Эти языки идеологически достаточно сильно похожи. Их основные достоинства - это изящный синтаксис и большая компонентная база.
>>729370 >свойство ленгтх - примитивное Откуда ты это знаешь? На скрине нет описания объекта, который будет передан в функцию. Там может быть что угодно.
>>729375 Нет, не лишняя. Если length это геттер, то при array.length ты будешь каждый раз выполнять этот геттер. А если сохранишь один раз в функцию, то он выполниться лишь один раз.
>>729376 >>729363 Алсо, обычно в кортеже присвоения сначала принято писать переменные без значения. То есть правильнее было бы >var t, i, m = array.length; Если присвоение много или кортеж очень большой, то можно было бы и переносить на следующую строку (да и вообще полезно, для читаемости).
Нужно собирать статистику из монги. На время сбора статистики коллекция фризится. Появляются задержки у других клиентов при чтении/записи. Как это решается без клепания слейвов?
>>729388 Джанга не может в риалтайм. С нодой её просто нельзя сравнивать. Это как сравнение с пыхой. Веб перекатывается в риалтайм, пыхе и джанге с их синхронностью в риалтайме нет места. Круд - их удел.
>>729363 >я подумал, что они тоже в присвоение идут В es6 есть деструктивное присваивание, выглядит так >var [x, y, z] = [1, 2, 3]; то же самое, что > var x = 1, y = 2, z = 3;
>>729441 Кто собирается? Мне просто нужно не фризить базу во время получения данных. Даже ссаная mysql так может. Не верю, что этот вопрос никто не поднимал, но нагуглить ничего не получается
>>729478 Наверное, я не так выразился. Мне не статистика базы нужна, я её сам из данных собираю. И пока нужные данные выгружаются, коллекция фризится для чтения/записи. С mysql/postgre такого не было
>>729509 Асинхронная нода с синхронной базой. Как такая связка получила такую популярность? Что за хуйня?
>>729510 Это дополнительные запросы, а скорость тут критична. Думал раз в 15 секунд собирать статистику, как это делал раньше на реляционных, и всё хорошо будет. А хуй там.
>>729533 Выглядит странно, похоже, будто они аккумулируют похожие запросы, а только потом обрабатывает. Это псевдо-асинхронность. Хотя мб я читал жопой.
>>729410 Ну ява тоже использует нативные функции для этих целей, думаю фреймворки на других языках тоже. unix сокеты не знаю что такое, судя по названию unix only. Так что не понятно почему очень быстро получается
>>729761 Лол что? Байтоёбить гораздо легче, чем писать на том же лиспе. Оно просто много времени занимает, хуй знает почему такое уважение к байтоёбству. Может всем кажется, что долго = требует большого ума
Суп, скриптачи. Начал учить месяц назад. Вопрос, как работать с логами? Допустим, мне надо выдрать с лога все уникальные айпишники и строки с определенными пометками. Собственно, где копать, чтобы этому научиться? Я полагаю, файл надо как-то разделить на блоки пропарсить с помощью регэксп? Что посоветуете?
Есть способ обойти регистрацию и добавить возможность отправлять фотографии через браузер она там имеется, но только после регистрации, к слову с мобильного приложения регистрация не нужна модернизировав уже имеющийся яваскрипт? Дело в том что я не понимаю в программировании вообще. Задавал этот же вопрос в одном из 18+ разделов, сказали, что существует скрипт chatvdvoem++ который я не нашел, попадаются только старые скрипты, которые с недавних пор не работают. Можно как то без скилла все это осуществить и без задней мысли
>>729830 Я просто думал, что есть какая-то объективная причина, а не "лол, давайте сделаем везде сравнение по ссылке '===', а сравнение по ссылке у масиивов '=='". Ну ок, приму.
>>729901 Да не особо готовился даже, выложил резюмешку, думал долго буду искать, в итоге через день позвонили, и ещё через день (т.е сегодня) уже на собеседосе был, сразу взяли. В резюме ничего особенного. Я на самом деле сильно лажал там, видимо просто понравился чем-то, не из-за навыков взяли думаю. (я даже кантора-то не дочитал, лол). Ещё удивились, что я так мало хочу по з/п, я если честно прихуел, 60к это по-моему нефигово очень для джуна, хоть это и мск. Но это только испыталка, дальше больше видимо дадут. >>729902 Ну хуй знает, первая работа, хоть какой-то опыт получу, пох.
>>729922 Немного пхп знаю, очень чуть-чуть, ну там простенькую базу прикрутить и т.д. Знаю ангуляр (в том числе чуть-чуть второй трогал). Но на работе сказали, что почти всё на чистом пишут, без модных фреймворков. Ничего сверхестественного, всего несколько месяцев изучаю, на самом деле, так что бы серьезно.
Сегодня на апворке искали чела на проект на метеоре. И в описании спалили идею: сервис кастомных билетов. То есть любой может создать свой тип билета и начать его продавать через этот сервис. Я прям захотел сплагиатить.
>>729980 Дистанционно, не паришься о платежках. Например, захотел я продать билеты на то, как дергаю анус. Куда мне обращаться? Только вот интересно, что они будут делать с мошенниками. Билеты продали, а анус не дернули.
Как выглядит митап питонистов: - мы запилили крутую фичу - мы обучили нашу нейронку - мы написали неблокирующий драйвер к райеку ...
Как выглядит митап функциональщиков: - мы настроили восстановление и бекпреше в Эрланге, теперь наша система работает заебись - мы написали апи на Кложуре, работает охуенно ...
Как выглядит митап джаваскриптеров: - мы переписали это на релей - мы переписали с реста на графкьюл - изоморфное приложение не работает с <технологиянейм>, Я ПЫТАЛСЯ - мы переписали с ангуляра на редукс
Джаваскриптеры это пиздец, отбросы программирования. Никакой ценности не создают, только ПЕРЕПИСЫВАЮТ. Посмотрите на Реакт. Там нет нормальных тестовых утилс. Есть enzyme, где ивент не ПРОПАГЕЙТЯТСЯ при DOM-рендеринге. Юнит тест хуйни, блядь. И нет полноценных css-селекторов. И еще дохуя нет. И это для Реакта, которому блядь уже 2+ года. Зато starter-kit'ов насрали за 1000+, а тестовую утилиту не осилили, долбоебы.
Короче, JS говно для дебилов без нормальных задач. Я все сказал.
>>730170 >Там нет нормальных тестовых утилс. >И нет полноценных css-селекторов. Ну дык запили сам если надо. Раскудахтался тут. Раз не можешь, то жри че дают.
>>730210 я блядь не единственный программист на свете. Но JS-комьюнити позиционируется как самое крупное, при этом эти долбоебы за два с лишним года не могу себе тестовую утилиту допилить до адекватного состояния.
Смысл больших комьюнити -- в их развитости. Есть тулинг, есть утилиты, есть best practices, есть стандарты. От JS комьюнити раздается только пердеж, когда очередной дебил вместо того чтобы развивать библиотеку создает вражеский форк или еще какую-нибудь хуйню в таком духе. (автор удалил оригинальную историю, осталась только как ему передали овнершип Реакт Роутера https://medium.com/rackt-and-roll/rrtr-is-dead-long-live-react-router-ce982f6f1c10) Даже если либе год, а автор-долбоеб разосрался 50-ю коммитами, как в указанном примере.
И так все в вашем мире. Вместо того чтобы СОЗДАВАТЬ и РАЗВИВАТЬ вы только срете под себя своими же бесконечными фреймворками. Из-за этого в JS нет и скорее всего никогда не будет нормального тулинга и инфраструктуры, зато всегда будет REACT UNIVERSAL APP STARTER KIT MONGODB SOCKETIO. Причем без тестов.
>>729765 >Байтоёбить гораздо легче Это не верно. Это лишь разные уровни абстракции. Сложность именно в перестраивании между этими уровнями, а не непонимании.
Тем кому сложно понимать абстракцию в уме (программный код, это тоже в уме), есть вариант объяснять на пальцах, на спичках.
После того, как человек усвоит, ему уже должно быть легче в эту абстракцию в уме. А если нет, то он не пригоден. Такое тоже может быть, у всего есть предел, и например в ту же философию не все могут, даже когда какие-то принципы им объясняешь на привычных примерах, они потом не сумеют провести аллегорию, и вывести суть.
>>730315 >А как бы ты сравнил две разные функции? Ну я бы им на вход подал что-нибудь раз 10-20, сравнил выходные резальтаты. Если одинаковы - то и функции одинаковы.
>>728569 В том что получается тяжелое, глючное и тормозное говно. Для примера зайди хотя бы на сайт пакетов для метеора http://atmospherejs.com и офигей. Другой прекрасный пример - airbnb
>>730221 А как же ангулар? Мне кажется, что это очень хороший пример годного коммьюнити. Реакт нормальные люди использовать не будут, поэтому всё там плохо
>>730384 Абстракция не имеет такого понятия как сложность. Сложность есть у знаний, которые необходимы, чтобы оперировать какими-то абстракциями, но не у самих абстракций.
Ты можешь заебашить высшую математику жонглируя битами, но если у тебя с этой самой матеамтикой всё хуево, то как бы хорошо ты не умел в байтоебство, у тебя ничего не выйдет.
Абстракция это аморфное понятие. Всё вокруг абстракция от чего-либо и всегда есть уровень выше или ниже. То что он выше или ниже, не значит, что он проще. Ты состоишь из атомов и всё вокруг из них состоит. Ты умеешь взаимодействовать с миром вокруг себя. Но это не значит, что тебе легко дасться спустится до уровня атомов и оперировать ими.
Всем привет! Толком еще не садился за изучение js, в частности учебника Кантора. Только глянул интенсивы от академии (и то в интенсиве по js еще не все задания поделал). Учебник Кантора полностью не читал и не прорешивал. Но увидев на его сайте раздел с тестами - решил пройти. Результаты вот такие. Мне показалось или тесты там легкие раз я, практически нихуя не знающий выбиваю средний уровень?
В любом случае собираюсь проштудировать его учебник + откопал на торренте курсы - буду смотреть
https://www.youtube.com/watch?v=JG9ifhhqNOU Вот отличный пример того, что не всем дано свободное переключение между абстракциями, даже когда речь идет о вещах, с которыми они и так уже имели опыт.
>>730387 Я всегда думал, что простые абстракции - это то, что имеет аналоги в материальном мире. Сложные - те, что не имеют. И чем больше над нами уровней, тем всё сложнее. И я не про решение конкретрых задач, а про решение задач на языке вообще. Хаскель будет локаничнее, но сложнее для восприятия в реализации какой-либо функции из высшей математики, а си и плюсы наоборот.
Если я сначала выполню первую строку, а потом вторую - то всё работает нормально, выводит единицу.
Если же пытаться выполнить весь блок кода сразу, то 'f is not a function'. Т.е. переменную f-то он видит, но почему он пытается сначала IIFE выполнить? Или он не пытается, но из-за хоистинга в объявление функции внутрь iife попадает f тогда, когда ей ещё не присвоена функция? А как же лексикал скоупинг?
А если между ними вставить console.log, то происходит вообще чушь какая-то.
Помогите с реактом. Вот сделал я вывод, добавление у удаление. Теперь дошло дело до редактирования. Если смотреть с жквери-логикой, то просто беру текущие значения, заменяю элемент на пару инпутов, потом беру из них свежие значения, отсылаю куда надо, заменяю форму на обновленный элемент после ответа от сервера и все хорошо.
А как это сделать в реакте? Ну ясно что нужно вместо одного компонента отобразить другой, а дальше то же самое, но как это реализуется? Совсем запутался.
>>730632 Бери стейт (или где там у тебя данные хранятся берутся), суй в компонент для редактирования, там редактируй и сохраняй обратно в стейт (или откуда там брал).
>>730642 Но это нужно чтоб компонент для редактирования все время был на странице что ли, а я хочу заменить элемент списка на форму, изменить значения и вернуть элемент обратно. Ну типа размонтировать одно, на его место смонтировать другое, не теребя стейт в это время, а теребить только после отправки на сервер (подтверждения формы, ну или отмены)
Кстати, это правильно что сервер присылает постоянно весь стейт для реакта, а не только изменения 1го элемента? Может нужно сделать для каждого элемента стейт, а не общий? Или как?
нужно получить {x, y} как лучше? for (var y = 0; y < 10; y++) { for (var x = 0; x < 10; x++) { console.log({y, x}); } } или for (var z = 0; z < 100; z++) { console.log ({ y: (z - z % 10) / 10, x: z % 10}) }
Джентльмены, а нет ли тут ссылок на скачать бесплатно про Sails.js? Хочу писать приложение для реалтайма, попробовал на чистом express.js, но что-то СЛОЖНОВАТО (прикрутил sequelize, acl) без литературы.
>>730381 Реакт хороший, комьюнити плохое. Ангуляр в этом смысле не лучше. Гугл положил хуй -- больше нет первого ангуляра.
То что все крупные JS-фреймворки существуют только при поддержке корпораций еще одно доказательство того, что это говно здравый программист поддерживать не станет. Есть Эмбер, конечно, но он уже издох.
>>730310 > третий описывает свои ощущения сходив на встречу по js где выступали питонисты Жопой читаешь? На встрече js выступали джаваскриптеры и рассказывали как они одно и то же переписывают на новый фреймверк. На других встречах (не JS) люди обычно про новые крутые проекты и фичи рассказывают. Но ведь на JS их нет (почти), все время уходит на переписывание.
>>730745 Вброшу свои 5 копеек - самое адекватное коммьюнити, по-моему, у Dojo, но слишком высокий порог вхождения и замедленное развитие в угоду совместимости. Дискач.
>>730748 На это можно смотреть с другой стороны: джаваскриптеры не рассказывают о вещах типа запила какого-либо продукта, ибо для них это банально и легко (они ведь уже сделали какой-то продукт). А вот потом когда они узнали про технология нэйм и поняли что их продукт можно улучшить - они решили его переделать. В процессе переделки возникли проблемы связанные с переосмыслением решения для конкретной технологии и теперь они делятся опытом. По сути опыта накапливается больше ибо продукт сделали, а потом переделали(переосмыслили) - считай две разных работы ну ладно, полторы . А разрабы другие только 1 раз написали и еще не дошли до стадии переосмысления и пока наслаждаются своим продуктом и подходом который они выбрали, не видя в нем недостатков
Поясните как изучать программирование? Пытаюсь в js и react, посмотрел кучу разных курсов, читал книги, codeacademy, статейки и прочие вещи, но результата особо не заметил, могу лишь написать что-нибудь простое на уровне хеллоу ворда или кликера. В каком направлении двигаться и что делать?
Как избавиться от дьвольского количества бойлерплейта при написании больших React\Redux приложений? Я охуеваю просто, я трачу больше времени на написания акшенов, редьюсеров, хуюсеров чем де факто логики. 10 + экшенов на базовую круд операцию, это охуеть можно.
>>730908 Возможно я делаю что-то не так, но это сомнительно. У меня есть на сервере модель, скажем, Item. Для вьюшки с крудом к этой модели мне нужны следующие акшены: # коллекция 1. Fetch items 2. Items are fetching - для спиннера 3. Fetch success 4. Fetch fail # модель 5. Fetch item 6. Item is fetching 7. Fetch success 8. Fetch fail 9. Update item 10. Update success 11. Update fail 12. Delete item 13. Delete success 14. Delete fail
В некоторых случаях я могу объеденить success\error хендлеры в одну\две функции, но зачастую эти экшены ведут к различным последствиям и проще иметь личный хендлер для каждой. Получается пикрелейтед ересь. И это только ключевые операции, есть куча специфики самого приложения, т.е. несколько моделей в одном эдите, например. Или эдит всей коллекции сразу, которая может ещё и содержать вложенные данные, тогда надо ещё заботиться о нормализации стейта, и ещё вагон мелочей всяких. Когда я писал небольшие приложения, где логика была в основном поверхностная, то всё шло как по маслу, очень доставляло. Сейчас у меня есть очень громозкий MVC бэкенд, который я пытаюсь обслуживать на клиенте, не имея ни моделей, ни коллекций и по сравнению с, например, бекбоном или ангуралом это вообще ад. Хотя, конечно, может быть я допускаю какие-то ключевые ошибки, но я видел много редакс кода и он обычно следует этому паттерну, никто обычно не постит большие приложения, однако. Везде каунтеры, ле реддит пост коллекторы или в лучшем случае базовые бложики. https://github.com/danjac/podbaby <- самое больше, что я находил. И там такое же полотно из акшенов и редьюсеров, и это даже не четверть от того функционала, что мне нужно описать.
ASP.NET макака вкатывается в тред. Суть такова: портирую часть своего проекта под Node.js. Пишу на TypeScript. Заранее извиняюсь, не умею этими вашими фиддлами пользоваться, ну да это не особо важно. В коде есть такие инструкции (все typings установлены как ambient):
import * as express from 'express'; var app = express(); app.use(function(err, req, res, next) { ... бла-бла-бла
>>730915 Извиняюсь, макакыч оказывается на ctrl+enter "отправить" поставил. Так вот tsc ругается мол у меня прототип функции не соответствует ей (а точнее, типы параметров совершенно другие). При этом на чистом JS это всё работает без проблем.
>>730919 А, ну тут хз. Я не работал в офесе уже давно, но как ты можешь понимать "не выперли" в первую очередь в твоих же собственных интересах, надо оставаться конкуретноспособным или завтра можно остаться без бутерброда, везде так. Да и что ещё делать в жизни если не учить новый материал в направлении которое ты для себя выбрал. Плюс если контора нормальнная то попросишь и тебе купят материал для обучения хороший, на конфочку может даже отправят.
>>730912 >>730928 А как без него делать большие приложения? Хуячить на ванилле? Да ты охуеешь сделать быстро и качественно без базового надежного каркаса и утонешь в сильной связанности всего и вся.
Аноны есить ли какой-нибудь плагин, тема для вебшторма чтоб редактор, шрифты и цвета выглядели так же божественно, как у этого >>730911 господина на скрине?
Заебали джаваскриптомудогондоны-мутанты со своим джава скриптовым гавном. Ебаные извращенцы со своим дебильным мозгом, перестаньте превращать все вокруг в вязкую блевоту соими недо-шизо-уебанскими JavaScript фрейморками! Вы его выучили так и живите с ним, нет надо его всунуть было во все дыры, везде суют этот ебаный джаваскрипт, сука пиздить надо тех кто эту поебень учить и плодит говноприложения на этом злобном и взрывоопасном паносе — JavaScript. Здохните джава-скриптеры гандоны из Гугла подлые, подавитесь своим жаба-говном уебаны !!!
Присоединяюсь и призываю сагать ИТТАноним30/04/16 Суб 05:58:54#342№731011DELETED
>>731010 Двачую этого поехавшего. Я вот пока осилил жыквери мир веб-девелопмент помешался на всяких там ангулярах у меня просто кишки наизнанку выворачиваются когда я это всё вижу. я ебал, жыквери рулит ангуляр параша! я ебал это всё блядь! уроды хуесосы джавабскрипт девелопер нужен срочно требования обязательно ангуляр эмбер тайпскрипт бутстрап реакт пидарасы говнюки обосраные! ненавижу блядь. фреймворки хуёрки петухи заживо гниющие я ебал вас в рот.
Заебали джаваскриптомудогондоны-мутанты со своим джава скриптовым гавном. Ебаные извращенцы со своим дебильным мозгом, перестаньте превращать все вокруг в вязкую блевоту соими недо-шизо-уебанскими JavaScript фрейморками! Вы его выучили так и живите с ним, нет надо его всунуть было во все дыры, везде суют этот ебаный джаваскрипт, сука пиздить надо тех кто эту поебень учить и плодит говноприложения на этом злобном и взрывоопасном паносе — JavaScript. Здохните джава-скриптеры гандоны из Гугла подлые, подавитесь своим жаба-говном уебаны !!!
>>731012 Двачую этого поехавшего. Я вот пока осилил жыквери мир веб-девелопмент помешался на всяких там ангулярах у меня просто кишки наизнанку выворачиваются когда я это всё вижу. я ебал, жыквери рулит ангуляр параша! я ебал это всё блядь! уроды хуесосы джавабскрипт девелопер нужен срочно требования обязательно ангуляр эмбер тайпскрипт бутстрап реакт пидарасы говнюки обосраные! ненавижу блядь. фреймворки хуёрки петухи заживо гниющие я ебал вас в рот.
Начал использовать movejs, мелкая либа для css. Насколько я понял, она тупо меняет стиль элемента. Обычное использование (1 в ideone) Появилась проблема при написании метода (2) А именно, если вызвать его дважды (3) то исполняется только второй метод Но если облoжить их алертами, вот так (4), то всё будет нормально выполняться Есть ли возможность достичь того же результата, но без алертов?
Почему к times надо прибавлять единицу, чтобы вывелось "ля" 3 раза подряд? Ведь если из функции убрать join, то будет массив из 4 undefined, а не из трех.
String.prototype.repeat = function(times) { return new Array(times + 1).join(this); };
>>731116 > то будет массив из 4 undefined У тебя все хорошо с математикой? Сколько надо запятых при джойне массива из четырех элементов? Давай-ка посчитаем вместе, мой маленький друг.
[1,2,3,4] Смотри-ка, четыре элемента в массиве, а запятых выходит только три. Магия!
В твоем же недополифиле ты вместо запятых используешь саму строку.
>>731116 >>731111 Вообще да, я перепутал. Тебе нужно не внутри move цепочки объединять, а сами move. То есть как-то типа object.move(...).move(..).end(); А внутри move end() не вызывать. Либо второй раз move вызывать через setTimeout, но это хуево.
>>731173 Если например функция является обработчиком какого-то события (например, клик по элементу) и больше нигде не используется, то есть тип данных и то что они будут валидные заранее известно (скажем, генерятся вместе со страницей), то не проверяю вообще. Если там что-то сломается, то ежу понятно что проблема с генерацией страницы, и где искать проблему также понятно. Если же функция будет вызываться хуй знает где, хуй знает как и хуй знает что туда передадут, то ставлю соответствующие проверки. Ну то есть если ты скажем передашь null в функцию, где нужна непустая строка и которая в норме возвращает непустую строку, то она к примеру вернет либо пустую строку, либо null (по ситуации). И так на всех уровнях. Соответственно, везде, где при вызове функции ты не знаешь, что ты в нее передаешь, ставишь проверку возвращаемого значения. Да, для разработчика это не так удобно, как натыкать везде ассертов и молиться чтобы все работало, зато пользователю приятно - если что-то пошло не так, то вылезет аккуратное сообщение об ошибке и работа продолжится, и все не сломается к хуям.
>>731262 Всё просто. Надо не писать вот такой код: >Если же функция будет вызываться хуй знает где, хуй знает как и хуй знает что туда передадут, то ставлю соответствующие проверки И в принципе не пользоваться в райтайме поломанными тайп чеками.
>>731268 Ты говоришь как не надо. А как надо, судя по всему, не знаешь. Нигилизм это хорошо, но он должен вести к решению проблемы, а не только к отрицанию всего и вся.
У меня всё еще висит вопрос о рефлективном детекте класса объекта.
Как имея на руках только лишь объект получить его конструктор, не полагаясь на поля самого объекта (потому что они могут быть перегружены)?
Если такого варианта нет, то есть другой вопрос. Поле constructor, которое прописывается в прототипе автоматом, как в одну строчку сделать не перезаписываемым и неконфигурируемым для абсолютно всех объектов (уже созданных и тех, что будут созданы в будущем)?
>>731405 На самом деле, ты прав. Зачем jQuery, когда можно написать на ванилле? Хотя, зачем вообще js, когда все прекрасно рендерится на php? С другой стороны, php - это оверинджиниринг, достаточно и html. И вот я чет сейчас подумал, а не излишне ли это? Можно же просто отдавать текстовый файл.
>>730915 >>730920 Сам себе отвечу, лол. Видимо тут в треде нет никого, кто может пояснить за TypeScript. Всё решилось очень просто: app.use((err: any, req, res, next) => { ... }); });
решил тут попрактиковаться в codewars, и вот выбрал себе задание. Если я правильно понял перевод, то в случаях когда первая буква в имени "R" или "r" должно выводиться сообщение. Короче вот мой код https://jsbin.com/juxihuzulo/edit?html,js,console
Объясните где ошибка, а то на codewars не принимается ответ. Думал, что надо типа prompt задать внутри функции, но вроде там это не надо. Учусь js двадцатый день.
>>731483 Вместо console.log напиши return name + "play.." в иф и элсе и попробуй, а то ты просто в конце функции возвращаешь параметр который ей передал и все.
Кто смотрит обучающие видео? По ним вообще чему-то можно научится? Обычно там что-то уж слишком много воды и все как-то сумбурно, как будто лектор для себя рассказывает. Ну если я не прав и просто глупый ретроград, то может кто приведет примеры хороших лекций.
>>731786 Из всего этого под "базу данных" попадает только IndexedDB, и проверять типы там нахуй не упало, ибо это cookies на стероидах, а теперь уебывай.
>>731787 >cookies на стероидах Кукисы гоняются в http-хедерах, а indexedDB хранится у юзера. Принципиально разные вещи, хоть и выполняют схожие функции.
>>730911 Та же самая хуйня. Хочу сделать что-то вроде базового набора редьюсеров (тот же CRUD), которым бы можно было передавать только пути объектов в стейте.
Как сделать, чтобы оно импортировало все файлы стайлуса в main.styl, а затем компилировало его в main.css? Сейчас оно все файлы стайлуса, собирает прямо в main.css.
>>728534 (OP) Можно ли назначить хоткей для выполнения одного из действий стороннего плагина в Sublime text 3, например, задать сочетание клавиш для выполнения кода в NodeJS? Если да, то как?
>>731938 В репозитории по ссылке хорошее решение есть на тему акшенов: https://github.com/danjac/podbaby/blob/master/ui/actions/utils.js. Работает на все стандаотные акшены, если у тебя возвращается только TYPE + payload. Впрочем писанины всё равно море, я даже переформатировал проект в feature-based структуру, хуйлиарду акшенов\констант\редьюсеров становится очень тесно в своих фолдерах. Теперь у меня под каждый раздел приложения есть свой фолдер, со своей редакс инфраструктурой, вьюшками и стилями. Потом это всё джойнится на топ уровне.
Вот когда напишите что-нибудь, где 500 экшенов, тогда будете ныть, а пока вы даже не понимаете, что редакс гораздно удобней в большом приложении, чем что либо другое, и имеет гораздно меньше бойлерплейта.
>>732119 http://ideone.com/792NiH Шаришь? Смотри, я пытаюсь навалякать что-то на основе туториала с чатом. Запилил никнеймы, при том, только несколько чуваков одним ником не могут пользоваться. Тут и проблема. Я сначала посылаю серверу ник и пытаюсь узнать, а свободен ли он. Затем на сервере при получении этот "эвента" я отсылаю free если свободен. Так вот, если нажать несколько раз на кнопку Send, то в участок кода под (if msg=="free") программа заходит ровно столько же раз! пофиксил это по-костыльному. Можешь объяснить почему так происходит?
>>732125 > Можешь объяснить почему так происходит? Если я правильно понял, то сколько запросов событий ты инициировал, столько тебе и ответов приходит. 2 нажатия на кнопку -> 2 события на проверку ника -> 2 ответа Чтобы такого не было, нужно блокировать кнопку после нажатия и разблокировать после получения ответа
>>732134 да, но типа если он не проходит проверку, то идёт нахуй сразу. почему после положительной проверки он несколько раз принимает положительный результат?
>>732134 >>732125 И у тебя ошибка в коде, не сразу заметил. Судя по всему, если у тебя там нет проверки, если отправить socket.emit('nickname', $('#nickname').val()); просто без проверки занятости ника, можно получить уже занятый ник.
>>732137 > почему после положительной проверки он несколько раз принимает положительный результат? После одной проверки несколько результатов? Тут уже, вероятно, у тебя на сервере что-то не так. Вообще у тебя странная логика приложения. Ты её на ходу пилишь, что ли? Распиши на листочке все события, а потом закодь их. И посмотри примеры чатов на socket.io на гитхабе
Может анончик поможет. Суть такая - хочу запилить ёба приложение с сокетами и джейсоном. Понятно, что джуквери и чистый джава тут не канает, нужно выбрать ёба фреймворк. И тут я попробовал разобраться в сортах говна фреймвоках:
Ангуляр. Знакомился поверхностно год назад, с первой версией, но где-то слышал, что его используют одни пидары хипстеры.
Реакт. Размером с ангуляр, роутинг не завезли (флекс-шлекс, сложна!), компонент в компоненте компонентом погоняет. Всё отлично, встал вопрос - как начать? Выскочил какой-то бабель ( script type="text/babel"), started-kit предложил рендерить приложение на сервере, и тут я такой - "эээ, вы чё ебанулись там сука нахуй?".
Бекбон. Размер збс, делает тоже, что и реакт, роут завезли, но посмотрел примеры - это же ёбаный джеквери. Не для того я фреймворк подключаю, чтобы от библиотеки зависеть.
Метеор. Почитал описание - мегаприложение, которое работает и на серваке и на клиенте. Ну збс.
Короч, вопрос то в следующем: кто нибудь подскажет по хардкору: где какой фреймворк нужен и для чего. Какой брать и начать практиковать? Изучить все - не вариант, на один выученный появляется два невыученных.
>>732143 >Ангуляр. Знакомился поверхностно год назад, с первой версией, но где-то слышал, что его используют одни пидары хипстеры. А я слышал что твою мать ебут за гаражами.
Пиздец, вот так люди и живут, где-то хуйню прочитал и теперь у него слышал и хипстеры. Ебаному ангуляру уже 7 лет, он стал сраным корпоративным стандартом наряду с ExtJS, который пилят такие ХИПСТЕРСКИЕ СТАРТАПЫ как ГУГЛОФФ и его коллега ХИПСТЕР МАЙКРОСОФТСКИЙ, разрабатывая попутно ТАЙПСКРИПТ, это такой ХИПСТЕРСКИЙ ЯЗЫК чтобы ЫНТЕРПРАЙЗ моднявым хипстерам было легко с их хипстерских жабы, с++ и сишарпа перелезть на хипстерский жс, используя хипстерскую типизацию. Ваще ящитаю эти хипстеров пидарков надо запретить.
>>732147 Spasibo za ssilku, no ya ne umeyu v angelskii. Но всё равно почитаю, ибо для таких как я есть ёба-гугл-переводчик.
> Пиздец, вот так люди и живут, где-то хуйню прочитал и теперь у него слышал и хипстеры. Ебаному ангуляру уже 7 лет, он стал сраным корпоративным стандартом наряду с ExtJS, который пилят такие ХИПСТЕРСКИЕ СТАРТАПЫ как ГУГЛОФФ и его коллега ХИПСТЕР МАЙКРОСОФТСКИЙ, разрабатывая попутно ТАЙПСКРИПТ, это такой ХИПСТЕРСКИЙ ЯЗЫК чтобы ЫНТЕРПРАЙЗ моднявым хипстерам было легко с их хипстерских жабы, с++ и сишарпа перелезть на хипстерский жс, используя хипстерскую типизацию. > Ваще ящитаю эти хипстеров пидарков надо запретить.
Да похуй кто че пилит. Оперу, эксплорер и хром тоже не хуи с горы пилят, но все знают какой из этих браузеров зашквар.
>>732153 Бери ангуляр, он у нас самый популярный. А так как 95% погримистов в СНГ это жаба и пхп макаки, все благополучно хотят перейти на тайпскрипт и ангуляр 2, так что с таким выбором не соснёшь точно.
>>732162 >будет не похож на первый Да! И это хорошо. Первый ангулар получился очень сложным для понимания, неоправданно сложным. Второй же, то, что представляет из себя сейчас, очень приятен. Я еще не совсем понял за соурсмаппинг, поэтому отладка кода пока еще не очень приятная.
Еще, пользуясь случаем, хочу заявить, что обожаю промисы.
>>732162 >как будто потом пересесть будет сложна Как будто есть смысл использовать изначально то, что менее популярно и с чего надо будет пересесть куда-то. Ну вот серьезно, я подхожу с максимально прагматичной позиции, и не вижу смысла использовать что-то менее популярное и успешное по неким очень субъективным причинам, иначе бы вообще кложурой в продакшене обмазывался.
Так-то возможно он и лучше в чем-то, но сам понимаешь, я про рыночек онли тут.
>>732181 95% посетителей програмача - безработные корзиночки, потому что настолько дебильных обсуждений я почти нигде не вижу, а я говорю про помойные телеграмочаты и прочее говно, даже там всё намного лучше.
Бывают конечно треды уровня машин лернинга, но я только мельком его читал, но вроде всё намного лучше. Думаю мы даже хуже пхп треда стали.
>>732185 >треды уровня машин лернинга Да пусть просто хуйню просто перестанут нести несусветную и нормальный тред будет. Angular vs Socket, вообще охуеть.
>>732168 >Скоро уж async/await, а ты все с промисами бегаешь. А мне они нравятся, вызовы цепочками, это приятно. Серьезной разницы не вижу между async/await. Если приведешь преимущества, то переберусь на async/await, няша.
>Что там сложного? Из коробки стартер-кита возвращает в консоль информацию про ошибку на строке 29942 или типо того.
>>732185 >95% посетителей програмача - безработные корзиночки Угадал на 100% Правда я ничего не обсуждаю. Молча пилю тупые задачки, поглядываю в тред и ничего не понимаю
>>732189 >>732185 >>732181 >>732177 >>732173 А вы переставайте отвечать на очевидную толстоту и развивайте дележку опытом. Всегда приятно почитать доказательство, что я ничего не смыслю в javascript, приправленное полезной информацией.
>>732192 >Всегда приятно почитать доказательство, что я ничего не смыслю в javascript, приправленное полезной информацией.
Вот только это неприятно писать и ничего кроме раздражения и желания послать нахуй не вызывает, потому что гуглится первой же ссылкой если тупо скопипастить вопрос ничего не меняя даже. Я к тому, что уровень меганизкий, уровня интерполяции строк и сравнения несравнимого, что уж совсем пиздец.
>>732199 Я не про сравнение теплого с мягким, я про то, что самые доходчивые ответы получал только после толстых вбросов, анон пишет что-нибудь вроде: "ТЫ ДАУН ЕБАНЫЙ, НА САМОМ ДЕЛЕ ВСЕ ТАК И ТАК", а если задать вопрос прямо, то ответа можно и не дождаться. Этот тред для того, чтобы делиться опытом, самоутверждаться можно во время работы или заработком денег.
Редаксоны, в чем смысл хранить cостояние роутера (или как правильнее) в стейте? Только для тайм-травел и перемотки истории. Это все? В доках и описаниях только эти два примера.
>>732204 >Этот тред для того, чтобы делиться опытом Делюсь я опытом с Абрамовым в телеграмме и пацанами с крутых конфочек, а тут я хуйней страдаю, потому что уровень треда пиздец низкий, нахуя анону тратить время на объяснение базовых вещей? Лучше бы погуглил и спрашивал рили умные вещи, получил бы ответ и другие бы узнали, а так очередной подскажите фреймворкенйм и нахуя нужен ваш жс.
>>732218 >>732220 Не совсем. Перемотка истори это дефолтный функционал реакт роутера, т.е. сам browserHistory, который позволяет тебе ходить вперед-назад по хистори пользуясь интерфейсом браузера. Таймтревел это возможность отката всего стейта, например в большом круд приложении ты можешь сейвить последнее состояние стейта и если уже после сабмита юзер вдруг понял, что он что-то нафакапил с эдитом, он может нажать волшебную кнопку ВЕРНУТЬ ВСЁ НАЗАД и ты просто инджектишь предыдущий стейт в текущий и сразу синхронизируешь его с бекендом. Если твой таймтревел состоит из нескольких шагов, которые включали в себя и навигацию на другой роут, ты для адекватного отката тебе нужно откатить и сам location(url), который ты можешь взять из сохранненого стейта, если ты там его хранишь. https://github.com/reactjs/react-router-redux вот тут можешь почитать и пользоваться.
>>732223 Есть тег <webview>, на нем partition="persist:randomstring", есть ли возможность прописать proxy для каждого отдельного webview, а не для всего документа в целом?
>>732431 Целых полгода прошло, для JS-разработчиков это целая вечность, у них за это время 3 раза используемые стандарты, библиотеки и инструменты сменятся.
>>728534 (OP) Есть тут гуру angularjs? Пишу приложение, но никак не могу понять, как организовать работу с данными. Везде пишут, что ее лучше вынести в отдельный сервис, но как из него своевременно подтягивать изменения? Завязать все на событиях или выносить коллекции в рутскоп? Спасайте, анончики. Сроки поджимают, а городить очередной велосипед сил уже нет.
>>730762 Погоди-ка, а чем Sails не угодил? Я тут уже намылился их книжку покупать за $40, и ВНЕЗАПНО узнаю, что с этим фреймворком что-то не так. Что именно?
Здрасьтеся. Я - полный ноль в программировании. Т.е. полный. 6 лет в мед.вузе, т.е. математикой занимался последний раз 5 лет назад, а инженером никогда не был. Начал изучать JS. Вроде язык понятен, но при решении задач, не могу правильно представить как должен выглядеть код. Просто не пойму. Вот, например:
Последовательность чисел Фибоначчи имеет формулу Fn = Fn-1 + Fn-2. То есть, следующее число получается как сумма двух предыдущих.
Первые два числа равны 1, затем 2(1+1), затем 3(1+2), 5(2+3) и так далее: 1, 1, 2, 3, 5, 8, 13, 21....
Числа Фибоначчи тесно связаны с золотым сечением и множеством природных явлений вокруг нас.
Напишите функцию fib(n), которая возвращает n-е число Фибоначчи. Пример работы:
function fib(n) { / ваш код / }
alert( fib(3) ); // 2 alert( fib(7) ); // 13 alert( fib(77)); // 5527939700884757 Все запуски функций из примера выше должны срабатывать быстро.
Но Я даже представить не могу как написать. Что нужно почитать, чтобы понять как писать код. Не про синтаксис и содержимое языка, а про то как писать код хотя бы не на языке программирования, а на обычном языке.
>>732563 Смотря как организовано. Если данные с сервера обновляются, то как писал вот этот аутитст, тебе поможет только socket.io, а если просто нужно делиться данными между контроллерами - сервис, возможно, использующий angular-resource
Этот тред посвящён главному языку будущего - 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/ для серверного кода.