Этого треда уже нет.
Это копия, сохраненная 15 мая 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
37 Кб, 1052x1052
JavaScript #42 #728534 В конец треда | Веб
сылка на прошлый тред: >>724696 (OP)

Этот тред посвящён главному языку будущего - 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/ для серверного кода.
#3 #728553
Чо-то сложный язык, пиздос. Учу джве недели, могу только каты 8-го и 7-го уровня решать на кодеварс. Запилил простой статичный сает на хероке с помощью ноды. Пока даже не могу придумать, что сделать. Есть идея запилить сайт типа csgodouble.com, но знаний нет. До этого не знал ни один язык.

Мож посоветуете что-то? Хуйцы уже делал, бочу сосал.
#4 #728563
>>728553
Да нормально это, первые пару недель всегда сложно и медленно, потом уже быстрее пойдёт.
#5 #728569
В чем подводные камни Meteor? Чому мало сайтов/сервисов на нем, по сравнению с ангуляром?
>>728574>>730376
#6 #728574
>>728569
Ангулар работает с любым бэком, Метеор - только с нодой.
>>729135
#7 #728608
ну вот, не зря я учил джаваскрипт полгода
смог написать автобампалку
ололо
#8 #728609
>>728553
я за 4 месяца еще до ноды не дорос и даже к фреймворком не приступал, до сих пор азы пердолю
так что за две недели охуеительный результат
#9 #728619
Аноны, какие онлайн курсы посоветуете по веб разработке(coursera, edx, udacity)? Только чтоб по хардкору было, сложные темы, задания почти как в продакшоне, а не jsBegginner for nonProgramists.
>>728646
#10 #728646
>>728619
сделай имиджборду на ноде
>>728649
#11 #728649
>>728646
Что может быть скучнее чем делать имиджборду?
>>728665
#12 #728665
>>728649
решать абстрактные задачки
#13 #728749
Посоны, а если я выучу Python/JS+C++ я смогу пилить игрули на ведро?
>>728752>>728762
#14 #728752
>>728749
Запилил тебе за щеку, проверяй.
#15 #728762
>>728749
Питон в этой связке нахуй не нужен. Для ведра есть phone gap и юнити для игр. Плюсы нахуй не учи, все равно пока будешь осиливать 3-5 лет завезут нормальную поддержку раст\ ди.
>>728824
#16 #728796
Пивет, анон. Объясни пожалуйста, я сам уже голову сломал.
Учу JS уже несколько недель, и вот на learn.javascript.ru наткнулся на этот вот код -https://jsfiddle.net/y4smprn8/#&togetherjs=NkRRvMiDkq
Так вот вопрос: а почему count увеличивается? Ведь в начале выполнения функции makeCounter переменная currentCount приравнивается к 1, следовательно функция всегда должна возвращать 2, разве нет?
>>728800
#17 #728800
>>728796
Функцию makeCOunter ты выполняешь только один раз, и да, в тот момент переменная currentCount равна 1, после этого запускается только внутренняя функция. Это называется замыкание, погугли сам в общем.
>>728803
#18 #728803
>>728800
Спасибо, анон. Я тебя люблю
#19 #728809
Джаваскрипт-макаки не программисты
>>728814>>728845
#20 #728814
#21 #728821
Признавайтесь, вы заговняли чат хекслета?
#22 #728824
>>728762
Тобишь тока js с фреймворками учить ну и юнити?
>>728988
#23 #728845
>>728809
Хейтерс гона хейт
#24 #728856
Как же заебало.
>>728904
#25 #728904
>>728856
Что?
>>728908
#26 #728908
>>728904
Нетипизированное говно и непредсказуемые результаты
>>728913>>729078
#27 #728913
>>728908
Ну так пиздуй в типизированный язык с предсказуемыми результатами, в чем проблема?
>>728914
#28 #728914
>>728913
В вебе такие языки неразвиты
>>728915>>728958
#29 #728915
>>728914
Джаба?
>>728918
#30 #728918
>>728915
Я имел ввиду фронтенд. Да и не пофрилансишь на джаве.
>>728924
#31 #728924
>>728918
Наверни флоу
http://flowtype.org/
>>728932
#32 #728932
>>728924
Хм, гляну, спасибо
#33 #728958
>>728914
Про тайпскрипт не слышал, дебил?
>>728961
#34 #728961
>>728958
неразвит же, юноша
>>728965
#35 #728965
>>728961
Да для таких пидоров, как он, всё неразвито, особенно их мозги
>>728968
#36 #728968
>>728965
Кому-то НЕПРИЯТНО от оправданного аргумента.
>>728970
#37 #728970
>>728968

>неосилятор кукарекнул


>оправданный аргумент

>>728973
#38 #728973
>>728970
Этот гринтекст. С этим ваннабикодером все ясно, несите нового
>>728975
#39 #728975
>>728973
Пиши дальше на своём говноязыке, что я могу сказать. Ошибки в рантайме, лол, вот ебанашки
>>728977
#40 #728977
>>728975
на js что ли? Ну придется, зарабатываю им все таки.
#41 #728988
>>728824
Да, плюсы не трогай, можешь для общего развития язык со статической типизацией осваивать параллельно: шарп(тот же юнити) или java(android) или хотяб тот же typeScript для второго ангуляра, но большую часть времени в js вкладывай.
>>729036
#42 #729036
>>728988
Спасибо анон.
>>729038>>729112
#43 #729038
>>729036
Ну и питон можешь подучить, ибо за ним будущее. Тем более, что он прост.
>>729062>>729112
#44 #729062
>>729038

> за ним будущее


Лол что. Питон умирает. Его ждет то же, что и раби
#45 #729076
>>728487
>>728503
Хуй там.
Самое тяжелое это не добавочные моули типа директа, ффмпега или чего-то еще.
Даже если девтулс выпиливать (как в nwjs продакшн) это не сильно влияет на размер.
Самое тяжелое это сам Chromium
И меньше ты его не сделаешь.
Разве что хаменишь хромиум на уже предустановленный браузерный движок (ie\edge) на хабре была статья на эту тему.
Но это чепуха конечно.
#46 #729078
>>728908

>непредсказуемые результаты


Они непредсказуемы только для тебя ввиду закостенелости твоего мозга.
#47 #729083
>>729062
Почему умирает?
>>729308
#48 #729103
>>729062
Питон слишком изящен для того, чтобы сдохнуть.
>>729104>>729308
#49 #729104
>>729103
Да чет рофлит зеленый, особенно вот это

>Его ждет то же, что и раби


орнул прост
>>729308
#50 #729105
Хочу написать бота для вк на js, какие подводные камни? И с чего вообще начать, это будет мой первый опыт решения чего-то не абстрактного.
>>729106>>729113
#51 #729106
>>729105
начни с вк апи
а дальше сам разберешься
#52 #729112
>>729038
>>729036
Проиграл с того что за ним будующее, чтобы там не запиздели змеефаги он не будет для фронта лучше чем js, уже хотя бы потому что не встроен в каждый браузер. Но он и не умирает. Совет в приципе годный, хотя полезнее будет какой-нибудь статик освоить. Если будет время(а скорее всего его нихуя не будет) обмажся, он легкий как и js и если выучил скрипты то там будет мало новых концепций в основном сахарок и божественных синтаксис. Если все же решишь навернуть, рекомендую книжку collaborative mind, там кратко и несложно объясняются много концепций из машинлернига в применении к вебу.
>>729114
#53 #729113
>>729105
Делал такую хуйню на java и скажу что на скриптах это намного проще. После поверхностного осмотра api кури функцию execute.
>>729128
#54 #729114
>>729112

>чтобы там не запиздели змеефаги он не будет для фронта лучше чем js


мда блять) ПИТОН ДЛЯ ФРОНТА)
>>729119
#55 #729119
>>729114
Мне тут пацанчики заливали что на питоне можно писать охуенный фронтенд, думаю что пиздаболы или утята, сам я питон не юзаю и кроме ебалы под названием brython ничего под веб не писал.
#56 #729123
Я ненавижу программирование. Я ненавижу вас, потных задротов, падлы, 24/7 дрочите, мрази, суки, понижаете цены, насасываете лишь бы взяли за еду. Ебаное комьюнити, самое худшее, что я видел.
>>729124
#57 #729124
>>729123
Так тебе и надо.
Ты же неполноценный какой-то.
>>729126
#58 #729126
>>729124
Я сижу и плачу, блять, полгода учил-учил-учил эту ебаную хуйню для ебаных задротов и нихуя не научил, этот поганый бесполезный мусор для омег, сука.
>>729127
#59 #729127
>>729126
просто ахуеть толстишь, зеленый(( не интересно так
>>729130
#60 #729128
>>729113
И что получилось? Может есть какие-то советы?
Я хочу реализовать функцию автоматического изменения чата, но пока не имею идеи как это сделать.
>>729129
#61 #729129
>>729128
vk.com/dev
#62 #729130
>>729127
Представь себе, не толщу. Сорвался из-за ебаной змейки http://slither.io/ Зато хоть глаза себе открыл, мне нравится играть, мне нравится смотреть сериалы, но я не могу больше видеть этого ебаного программирования. Почему же пидорашкам никогда не видать безусловного дохода. Я бы сука послал это ебучее говно сразу же, заодно пуская струю в рот всем вашим короткевичам-хуевичам.
>>729134
#63 #729134
>>729130
Это круче http://cursors.io/
#64 #729135
>>728574

> Ангулар работает с любым бэком, Метеор - только с нодой.


Что такое ангулар?
Что такое бэком?
Что такое метеор?
Что такое нодой?
>>729163
#65 #729137
Так че ебать
поясните по хардкору
вкатываться в жс норм? Ну для нюфани
я там ласт тайм в школе чето програмировал, а если с перспективой поработать потом? жс норм? Ток без троленка блять! А то знаю я вас двощеры сука
>>729138
#66 #729138
>>729137
Мест больше нет.
Уходи.
>>729140
#67 #729140
>>729138
Я просил без троленка. Пиздец ору с таких даунов как ты. Мест больше не говори, не ссцы я к твоему дошираку не стремлюсь
>>729142
#68 #729142
>>729140

>троленка


>ору


Тебе 15?
>>729143
#69 #729143
>>729142
Давай вот без этого, двощеры ты ебаный(как и я) ты еще до запятых с орфографией доебись. Даун.
>>729144
#70 #729144
>>729143

>двощеры


>ты ебаный


>Даун


Какой-то ты обиженный жизнью.
Удачи.
>>729145
#71 #729145
>>729144

>Мест больше нет.


Уходи.

ну кто бы говорил
#72 #729157
Реквестирую примеров реверс инжениринга браузерок.
#73 #729163
>>729135

>Что такое ангулар?


>Что такое бэком?


>Что такое метеор?


>Что такое нодой?


Забанили в гугле? Ангуляр и метеор front-end фреймворфки, бэк - back-end, нода - node.js, ну нельзя же быть таким ущербным
>>729169
#74 #729169
>>729163
Что такое гугле?
>>729179>>729291
36 Кб, 267x219
sage #75 #729179
>>729169

>Что такое гугле?

>>729183
#76 #729183
>>729179
Я вижу, что тебе смешно, но на вопрос мой, будь добр, ответить. Или как?
>>729289
#78 #729291
>>729169
Тебя в гугле забанили, что ли?
#79 #729299
>>729062

> нейросети пишут на Питоне


> распознавание языка пишут на Питоне


> инфопоиск пишут на Питоне


У М И Р А Е Т
>>729301>>729308
#80 #729301
>>729299

>ненужное говно для ботанов


Ну да, умирает.
>>729307>>729342
#81 #729307
>>729301
Аргументный аргумент. Учитывая, что КС сейчас развивается как раз в этом направлении.
468 Кб, 1930x1110
#82 #729308
>>729083
Я не знаю почему, но это так. Пикрел

>>729103
Ну совсем он не сдохнет, конечно. Просто его всё меньше и меньше будут использовать в энтерпрайзе. Он отлично подходит для науки и написания скриптов, своя аудитория у него будет, но будущее веба не за ним.

>>729104
А что не так? Эти языки идеологически достаточно сильно похожи. Их основные достоинства - это изящный синтаксис и большая компонентная база.

>>729299
Мы же про веб говорим, нет?
#83 #729342
>>729301
Ты ебанутый. Пайтон никогда не умрет, он слишком хорош, слишком прост.
#84 #729343
>>729308
Но люди все еще пилят на джанге.
#85 #729344
>>729308
То есть для бэка сейчас лучше всего НОД.жс
>>729345
#86 #729345
>>729344
"Лучше" это совокупность факторов. На чем запилишь, на том проект и будет. Джанго ничем не уступает ноде.
>>729380
2129 Кб, 2448x3264
#87 #729346
Пацаны, поясните за вторую строку
>>729359>>729361
#88 #729350
Вообще-то будущее за хаскелем
>>729358
#89 #729358
>>729350
Мне тоже так кажется. Но я для него еще не созрел.
#90 #729359
>>729346
Ввели три переменные: m, i, t. Для m значением будет количество символов в значении этой переменной.

Поправьте, если я ошибаюсь в терминах, недавно учу язык.
>>729363>>729367
#91 #729361
>>729346
var m = array.length
var t;
var i;
>>729364>>729691
#92 #729363
>>729359
Ага, понял уже. Просто у меня питон головного мозга и я подумал, что они тоже в присвоение идут
>>729383>>729390
#93 #729364
>>729361
Олсо не пиши так, это говнокод.
>>729366>>729691
#94 #729366
>>729364
Схуяли? Просто больше строк. Зато понятнее.
>>729368
#95 #729367
>>729359

>Для m значением будет количество символов в значении этой переменной.


Значением m будет свойство length объекта в переменной array

>Поправьте, если я ошибаюсь


Поправил, не благодари.
>>729370
#96 #729368
>>729366
Так не принято!
>>729369
#97 #729369
>>729368
Ебнулся что ли?
Явное лучше неявного.
>>729372
#98 #729370
>>729367
Но ведь свойство ленгтх - примитивное и передаётся не по ссылке
>>729374>>729375
#99 #729372
>>729369
Не в жс
>>729373
#100 #729373
>>729372
Не пизди мне тут, уебок. Минификатор сделает это за меня, а в коде, который будут читать другие, лучше написать "лишний" var.
#101 #729374
>>729370

>свойство ленгтх - примитивное


Откуда ты это знаешь? На скрине нет описания объекта, который будет передан в функцию. Там может быть что угодно.
>>729376
#102 #729375
>>729370
Ты прав, лишняя переменная.
>>729377
#103 #729376
>>729374
Там будет то, к чему можно применить --.
>>729378>>729383
#104 #729377
>>729375
Нет, не лишняя.
Если length это геттер, то при array.length ты будешь каждый раз выполнять этот геттер. А если сохранишь один раз в функцию, то он выполниться лишь один раз.
>>729379
#105 #729378
>>729376
Inb4: NaN тоже результат.
#106 #729379
>>729377
Ты прав.
#107 #729380
>>729345

> Джанго ничем не уступает ноде.


Толстый, вали из треда

https://habrahabr.ru/post/123154/
Сколько петабайт памяти нужно для такого на джанге?
>>729381
#108 #729381
>>729380
Это зависит не от джанги, а от uwsgi. Не думаю, что очень много.
>>729382
#110 #729383
>>729376
>>729363
Алсо, обычно в кортеже присвоения сначала принято писать переменные без значения.
То есть правильнее было бы

>var t, i, m = array.length;


Если присвоение много или кортеж очень большой, то можно было бы и переносить на следующую строку (да и вообще полезно, для читаемости).
#111 #729384
Нужно собирать статистику из монги. На время сбора статистики коллекция фризится. Появляются задержки у других клиентов при чтении/записи.
Как это решается без клепания слейвов?
>>729419>>729421
#112 #729388
>>729382
Есть методы оптимизации. Преимущества джанги (дохуя всего из коробки) перекрывают недостатки с лихвой.
>>729389
#113 #729389
>>729388
Джанга не может в риалтайм. С нодой её просто нельзя сравнивать. Это как сравнение с пыхой.
Веб перекатывается в риалтайм, пыхе и джанге с их синхронностью в риалтайме нет места. Круд - их удел.
>>729392
#114 #729390
>>729363

>я подумал, что они тоже в присвоение идут


В es6 есть деструктивное присваивание, выглядит так

>var [x, y, z] = [1, 2, 3];


то же самое, что

> var x = 1, y = 2, z = 3;

#115 #729392
>>729389
В том-то и дело, что нельзя сравнивать. У них разные кейсы. Все риалтаймы я сам пилю на ноде.
>>729398
#116 #729395
Го за риалтаймы?
>>729397>>729408
#117 #729397
#118 #729398
>>729392

> Джанго ничем не уступает ноде.


Зачем тогда такое писать?
>>729406
#119 #729400
Поясните за реалтайм, нода настолько скоростная или я не правильно понимаю суть термина?
>>729401>>729410
#120 #729401
>>729400
Скоростная, да. И легко держит соединения. Десяток тысяч соединений занимает 100 мегабайт
#121 #729406
>>729398
Потому что сравнение в рамках "для бэка" некорректное. Надо уточнять, для какого бэка. Для сайта я выберу джанго. Для сервиса ноду.
#122 #729408
>>729395
На го сложнее разрабатывать.
#123 #729410
>>729400
Нода для создания соединения использует код, написанный на си, который использует unix-сокеты. Очень быстро получается.
>>729659
#124 #729419
>>729384
Бамп вопросу
#125 #729421
>>729384
А как ты представляешь себе сбор статистики без фриза? Либо фриз, либо статистика неправильная.
>>729429
#126 #729429
>>729421
В реляционных базах этого фриза нет. Не знаю как данные там отдаются, но нет фриза, пока выгружаются данные.
>>729441
#127 #729441
>>729429
Значит она там собирается не в момент запроса.
>>729443
#128 #729443
>>729441
Кто собирается?
Мне просто нужно не фризить базу во время получения данных. Даже ссаная mysql так может. Не верю, что этот вопрос никто не поднимал, но нагуглить ничего не получается
>>729478
#129 #729478
>>729443
Где хранится статистика в mysql?
>>729484
#130 #729484
>>729478
Наверное, я не так выразился. Мне не статистика базы нужна, я её сам из данных собираю. И пока нужные данные выгружаются, коллекция фризится для чтения/записи. С mysql/postgre такого не было
>>729496
#131 #729496
>>729484
Конечно, было. Просто работало быстрее, вот ты и не замечал.
>>729500
#132 #729500
>>729496
А с монгой как это решают?
>>729509>>729510
#133 #729509
>>729500
Если ты делаешь запрос, то на время запроса ты получаешь блок.
>>729512
#134 #729510
>>729500
Если для тебя это критично, то создай стат-таблицы и выгружай оттуда.
>>729512
#135 #729512
>>729509
Асинхронная нода с синхронной базой. Как такая связка получила такую популярность? Что за хуйня?

>>729510
Это дополнительные запросы, а скорость тут критична. Думал раз в 15 секунд собирать статистику, как это делал раньше на реляционных, и всё хорошо будет. А хуй там.
>>729518>>729528
#136 #729518
>>729512
Одно слово: домино.
#137 #729528
>>729512

>Асинхронная нода с синхронной базой


Асинхронных баз не бывает, але.
>>729533
#139 #729538
>>729533
Выглядит странно, похоже, будто они аккумулируют похожие запросы, а только потом обрабатывает. Это псевдо-асинхронность. Хотя мб я читал жопой.
#140 #729659
>>729410
Ну ява тоже использует нативные функции для этих целей, думаю фреймворки на других языках тоже. unix сокеты не знаю что такое, судя по названию unix only.
Так что не понятно почему очень быстро получается
40 Кб, 620x306
#141 #729691
>>729361
>>729364
можно еще так
и вашим и нашим
#142 #729709
>>729308
>>729308
картинка с гитхаба, ну ясно. Сам найдешь где параша?
>>729720
#143 #729720
>>729709

> картинка с самого популярного хостинга репозиториев


> все ясно

#144 #729753
Как бы вы объяснили 5-летнему ребенку-дауну, что такое прототип и new в JS?
>>729756>>729757
#145 #729756
>>729753
Объяснил бы, почему ему рано в программирвоание
>>729759
#146 #729757
>>729753
Одно является образцом для всех конфет, другое с помощью магии создает новые.
#147 #729759
>>729756
Ну этот ребенок до этого программировал на плюсах и только-только вкатывается в JS.
>>729761
#148 #729761
>>729759
Разве те, кто программировал на плюсах, не знают все языки программирования по умолчанию?
>>729765
#149 #729765
>>729761
Лол что? Байтоёбить гораздо легче, чем писать на том же лиспе. Оно просто много времени занимает, хуй знает почему такое уважение к байтоёбству. Может всем кажется, что долго = требует большого ума
>>729784>>730237
#150 #729784
>>729765

>2076 год


#151 #729785
Объясните дурака, почему [1, 2, 3] == [1, 2, 3] даёт false?
#152 #729788
>>729785
Потому что это сравнение ссылок и ты сравниваешь 2 разных объекта и похуй что внутри данные одинаковые
>>729789
#153 #729789
>>729788
Но сравнение ссылок же по ===?
>>729791
#154 #729791
>>729785
>>729789
СТОП
Как тогда сравнивать объекты? for .. in/for использовать?
>>729796
110 Кб, 800x800
#155 #729796
>>729791
a.sort().toString() == b.sort().toString()
>>729800
28 Кб, 400x400
#156 #729799
Суп, скриптачи. Начал учить месяц назад. Вопрос, как работать с логами?
Допустим, мне надо выдрать с лога все уникальные айпишники и строки с определенными пометками.
Собственно, где копать, чтобы этому научиться? Я полагаю, файл надо как-то разделить на блоки пропарсить с помощью регэксп?
Что посоветуете?
>>729804
#157 #729800
>>729796
Супздц, тогда
[1,3,2] == [1,2,3]
будет тру.
>>729803>>729806
9 Кб, 736x736
#158 #729803
>>729800
a.toString() == b.toString()
>>729805>>729807
#159 #729804
>>729799
lohs.txt | grep ID
>>730223
#160 #729805
>>729803
Быстрее будет определить хэш-функцию.
>>729811
#161 #729806
>>729800
ты глупенький штоле
#162 #729807
>>729803
Ну че ты, нормально же общались
['1',2,3] == [1,2,3]
#163 #729808
Да йоба боба, поясните уже, почему тут == используется как ранение по ссылке
>>729815
#164 #729811
>>729805
Хотя тупое поэлементное сравнение еще быстрее.
#165 #729815
>>729808
Тому що ибав я твою маму в рот.
>>729828
20 Кб, 353x604
#166 #729824
Есть способ обойти регистрацию и добавить возможность отправлять фотографии через браузер она там имеется, но только после регистрации, к слову с мобильного приложения регистрация не нужна модернизировав уже имеющийся яваскрипт? Дело в том что я не понимаю в программировании вообще. Задавал этот же вопрос в одном из 18+ разделов, сказали, что существует скрипт chatvdvoem++ который я не нашел, попадаются только старые скрипты, которые с недавних пор не работают. Можно как то без скилла все это осуществить и без задней мысли
>>729825>>730082
#167 #729825
>>729824
немножко потерял разметку, потому что копипастил из java треда
>>730082
#168 #729828
>>729815
Комунити 10/10
>>729830
#169 #729830
>>729828
Если так сделано, значит так надо. В пхп [1,2,3] == [1,2,3] это true, можешь перекатиться.
>>729834>>729836
#170 #729834
>>729830
Я просто думал, что есть какая-то объективная причина, а не "лол, давайте сделаем везде сравнение по ссылке '===', а сравнение по ссылке у масиивов '=='". Ну ок, приму.
#171 #729836
>>729830
В JS массив - это объект, а в PHP - примитив.
>>729842
#172 #729842
>>729836
Не примитив, а специальный тип.
>>729852
#173 #729852
>>729842

>Turning primitive types like strings or arrays into “pseudo-objects”


https://nikic.github.io/2014/03/14/Methods-on-primitive-types-in-PHP.html
А никич хуйни не напишет.
#174 #729883
Переписал апи с джанги на коа, как же я охуеваю. Сейчас средний ответ 7 мс, а был 90 мс.
>>729892>>729898
#175 #729892
>>729883

>коа


Что это? Может, я зря готовлюсь быть джанго-джуном...
>>729897>>729905
24 Кб, 213x263
#176 #729897
#177 #729898
>>729883
Коа тема, жаль они асинк авэйт ждут, хочется вторую версию получить.

Алсо, поздравьте, устроился на 60к фронтенд джуном в мск сегодня на испыташку!
#178 #729901
>>729898
Традиционно сколько готовился, что в резюме и т.д.
>>729910
#179 #729902
>>729898
Тебя пидорнут
>>729910
#180 #729905
>>729892

> коа


http://koajs.com/

> Может, я зря готовлюсь быть джанго-джуном...


Может. А может и нет. Смотря что ты хочешь делать

>>729898
Вроде ж уже вторая есть в какой-то альфабете, висит ветка на гитхабе
>>729927
#181 #729910
>>729901
Да не особо готовился даже, выложил резюмешку, думал долго буду искать, в итоге через день позвонили, и ещё через день (т.е сегодня) уже на собеседосе был, сразу взяли. В резюме ничего особенного. Я на самом деле сильно лажал там, видимо просто понравился чем-то, не из-за навыков взяли думаю. (я даже кантора-то не дочитал, лол). Ещё удивились, что я так мало хочу по з/п, я если честно прихуел, 60к это по-моему нефигово очень для джуна, хоть это и мск. Но это только испыталка, дальше больше видимо дадут.
>>729902
Ну хуй знает, первая работа, хоть какой-то опыт получу, пох.
>>730143
#182 #729913
>>729898
сколько лет?
>>729918
#183 #729918
>>729922
#184 #729919
Джсаны, посоветуйте годную библиотеку dragNdrop для первого ангуляра, без приседаний со штангой.
#185 #729922
>>729918
А какой скил, какие фреймворки? Другие языки знаешь?
>>729926
#186 #729926
>>729922
Немного пхп знаю, очень чуть-чуть, ну там простенькую базу прикрутить и т.д.
Знаю ангуляр (в том числе чуть-чуть второй трогал). Но на работе сказали, что почти всё на чистом пишут, без модных фреймворков.
Ничего сверхестественного, всего несколько месяцев изучаю, на самом деле, так что бы серьезно.
>>729929
#187 #729927
>>729905
Спасибо, анон
#188 #729929
>>729937>>729948
#189 #729930
привет почему до сих пор нет конфы JS? наяривали бы друг другу пенисы
пишите фейкомыльце - добавлю в слакоконфу
>>729933
#190 #729933
>>729930
unilovggba.elenaANUSg>S-mailPUNCTUM'Wdcom
>>729939
#191 #729937
>>729929
Оксфорд.
>>729938
#192 #729938
>>729937
А город под подошвой?
>>730238
#193 #729939
>>729933
otpravil
>>729942
#194 #729942
>>729939
Присоединился.
#195 #729948
>>729929
Нету, раньше в жопе мира жил, там хер получишь
#196 #729953
Сейчас в проекте бабелем компилирую в es5. Есть ли смысл выкинуть бабель и использовать shim?
>>729965
#197 #729957
>>728553
Я по работе подобные сайты пилю, обращайся, если будут вопросы.
#198 #729964
Как в монге проверить, существует ли документ?
>>730001
#199 #729965
>>729953
Как будешь шимить спред оператор, например? Или стрелочные функции?
>>729969
#200 #729969
>>729965
ЛАДНО ПОХУЙ ОСТАЮСЬ НА БАБЕЛЕ))0)
#201 #729971
Сегодня на апворке искали чела на проект на метеоре. И в описании спалили идею: сервис кастомных билетов. То есть любой может создать свой тип билета и начать его продавать через этот сервис. Я прям захотел сплагиатить.
>>729980>>729994
#202 #729980
>>729971
Нахуя отдельный сервис нужен?
Зашёл на авито и выставляй что хочешь, хоть билеты, хоть жопу свою.
>>729992
#203 #729992
>>729980
Дистанционно, не паришься о платежках.
Например, захотел я продать билеты на то, как дергаю анус. Куда мне обращаться?
Только вот интересно, что они будут делать с мошенниками. Билеты продали, а анус не дернули.
>>729995
#204 #729994
>>729971
Тип генератор билетов для мероприятий с конструктором и распечаткой?
#205 #729995
>>729992
Ну так любая площадка с электронными платежами. Сорри, идея неочень, не думаю, что взлетело бы.
>>730002
#206 #730001
>>729964
Найти его. Если не нашелся, значит его нет.
>>730006
#207 #730002
>>729995
Так это не моя идея, каких-то челов.
>>730009
#208 #730006
>>730001
Проблема в том, что find() возвращает курсор, следовательно nullом он быть не может.
#209 #730009
>>730002
Да я про тебя и не говорю ничего, просто идея не так чтобы какая-то революционная, ничего особенного, просто высказал мнение.
#210 #730020
>>730006
Проверяй на отсутствие элементов. В монгусе я просто длину возвращаемого массива проверяю, но может в нативной либе так нельзя.
#211 #730030
>>729785
Потому, что дебил ебаный, очевидно же. Блядь, это два разных объекта, сука [] === [].
>>730032>>730035
#212 #730031
>>730006
db.find({}).toArray(function (err, res) {
if (!res.length) console.log("empty");
});
>>730065
#213 #730032
>>730030
Но в нормальных языках это ведь не так!
>>730038>>730042
#214 #730035
>>730030
Понятно что разные, но я думал, что == проверяет равенство ПО ЗНАЧЕНИЮ
>>730038>>730040
32 Кб, 820x780
#215 #730038
>>730035
>>730032
Советую забыть про ==
>>730049
#216 #730040
>>730035
И какое же ЗНАЧЕНИЕ может быть у массива? А есть там внутри лежит какая-то гипер йоба, он тоже должен пойти её сравнивать посимвольно?
>>730048
#217 #730042
>>730032

>в нормальных языках


Туда-ли ты зашёл, петёшок.
>>730045
#218 #730045
>>730042
Это раздел /pr, манька, в тред я ваш даже не заходил
#219 #730048
>>730040
Я думал, что для этого типа реализована эквивалентность
#220 #730049
>>730038
Охуеть, в джс ненулевые числа не тру. Нельзя сделать if(hui){}
>>730051>>730055
#221 #730051
>>730049
Ты что-то путаешь, все числа, кроме нуль - truthy
>>730060
#222 #730055
>>730049
Хотя стоп.
true == 5
false

if (5) console.log("hui")
hui

Как так.
>>730058>>730136
#223 #730058
>>730055

> true == 5


> false


> Как так.


Блять, поехавший
9 Кб, 526x166
#225 #730061
>>730060
И что?
>>730067
#226 #730062
>>730060
Ты не очень понимаешь, что значит truthy
#227 #730064
>>730060
Походу true кастится к инту и получается 1. 1 != 4. Но почему 4 не кастится к true?
#228 #730065
>>730031
Спасибо, друг!
2 Кб, 217x88
#229 #730067
>>730061
А то.
>>730071>>730073
1 Кб, 106x65
#230 #730071
>>730073
#231 #730073
>>730067
>>730071
Но пыха же язык унтерменшей. В ней дохуя таких "фич", по своему пути идут.
>>730074
#232 #730074
>>730073
Причем здесь фичи. Тут вопрос только в том, что к чему кастится в приоритете. В джс/петухоне значит бул к инту, а в пыхе наоборот.
>>730084
625 Кб, 1000x1500
#233 #730082
>>729824
>>729825
Бамп вопросу, помогите пожалуйста
https://bitbucket.org/2ch_dev/cvd_double/src старый скрипт
>>730113
#234 #730084
>>730074

> Причем здесь фичи


При том, что нигде таких "приоритетов" больше нет, потому что это нихуя не логично. True это другое представление единицы
#235 #730113
>>730082
нельзя
сначала учи полгода основы джс
потом полгода ноду
>>730125
#236 #730125
>>730113
И ещё год что бы это применять. Когда всё что ты выучил устареет, азазаза
>>730128
#237 #730128
>>730125
ну выучить новые фишки проще, если уже хорошо освоил старые
#238 #730136
>>730055
Что, порвало шаблончик, сиблядь?
Смотри сюда: if (-1) {'hui'}; if([false]) {'hui'}
>>730139
#239 #730139
>>730136
На си вообще bool нет.
>>730140
#240 #730140
>>730139
я имел ввиду спп
>>730146
#241 #730143
>>729910
А что в резюме то, ебана?
#242 #730145
>>730006
findOne
#243 #730146
>>730140
На плюсах if (-1) cout << "hui" тоже даст хуй.
#244 #730170
Сходил на митап MoscowJS в ДС сегодня.

Как выглядит митап питонистов:
- мы запилили крутую фичу
- мы обучили нашу нейронку
- мы написали неблокирующий драйвер к райеку
...

Как выглядит митап функциональщиков:
- мы настроили восстановление и бекпреше в Эрланге, теперь наша система работает заебись
- мы написали апи на Кложуре, работает охуенно
...

Как выглядит митап джаваскриптеров:
- мы переписали это на релей
- мы переписали с реста на графкьюл
- изоморфное приложение не работает с <технологиянейм>, Я ПЫТАЛСЯ
- мы переписали с ангуляра на редукс

Джаваскриптеры это пиздец, отбросы программирования. Никакой ценности не создают, только ПЕРЕПИСЫВАЮТ. Посмотрите на Реакт. Там нет нормальных тестовых утилс. Есть enzyme, где ивент не ПРОПАГЕЙТЯТСЯ при DOM-рендеринге. Юнит тест хуйни, блядь. И нет полноценных css-селекторов. И еще дохуя нет. И это для Реакта, которому блядь уже 2+ года. Зато starter-kit'ов насрали за 1000+, а тестовую утилиту не осилили, долбоебы.

Короче, JS говно для дебилов без нормальных задач. Я все сказал.
sage #245 #730175
#246 #730177
>>730170
Что?
>>730180
#247 #730180
>>730177
Что?
>>730181
#248 #730181
>>730180
Когда началась вторая мировая война?
>>730185
#249 #730185
>>730181
сказать нечего потому что ты тупой или занят составлением starter-kit'а под Реакт+Релей+Редукс+Рефинк/Монгу?

во втором случае ты тоже тупой
#250 #730210
>>730170

>Там нет нормальных тестовых утилс.


>И нет полноценных css-селекторов.


Ну дык запили сам если надо. Раскудахтался тут.
Раз не можешь, то жри че дают.
>>730221
#251 #730221
>>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. Причем без тестов.
>>730381
60 Кб, 1280x720
#252 #730223
>>729804
ой юзернееееееейм ты таааааааакой забавныыыыыыый))) странно, почему у тебя до сих пор нет девушкиииии))))
#253 #730237
>>729765

>Байтоёбить гораздо легче


Это не верно.
Это лишь разные уровни абстракции.
Сложность именно в перестраивании между этими уровнями, а не непонимании.

Тем кому сложно понимать абстракцию в уме (программный код, это тоже в уме), есть вариант объяснять на пальцах, на спичках.

После того, как человек усвоит, ему уже должно быть легче в эту абстракцию в уме. А если нет, то он не пригоден. Такое тоже может быть, у всего есть предел, и например в ту же философию не все могут, даже когда какие-то принципы им объясняешь на привычных примерах, они потом не сумеют провести аллегорию, и вывести суть.
>>730384
#254 #730238
>>729938
Я не поэт.
Я компилятор.
Я манипулятор.
Я тайный агент.
#255 #730310
Решил зайти посмотреть что тут в js-треде...

один массивы через == сравнивает и бугуртит

другой не смог осилить первые два раздела Кантора и не понимает к чему приводится true при сравнении

третий описывает свои ощущения сходив на встречу по js где выступали питонисты

лучше бы не заходил в тред
#256 #730311
>>730310
А как массивы-то в итоге сравнивать? Самому функцию писать для поэлементного сравнения?
>>730314>>730315
#257 #730313
>>730310
Двачую едниственного адеквата за 41 тред
#258 #730314
>>730311
Жсон стринг самое простое, а вообще идика гулить нахуйна стековерфлоу
#259 #730315
>>730311
Массивы чего?
Примитивов?
Или объектов?
А функции в массиве могут быть?
А как бы ты сравнил две разные функции?
#260 #730316
>>730315
примитивов
>>730328>>730329
#261 #730322
>>730315

>А как бы ты сравнил две разные функции?


Ну я бы им на вход подал что-нибудь раз 10-20, сравнил выходные резальтаты. Если одинаковы - то и функции одинаковы.
>>730324
#262 #730324
>>730322
ты смешной
#263 #730328
#264 #730329
>>730316
сначала длину, потом json
#265 #730344
>>730315
Что, если сравнивать хэши?
>>730353
#266 #730353
>>730344
Как ты мне прохэшируешь функцию?
>>730355
#267 #730355
>>730353
md5(func.toString())?
#268 #730370
>>730355
Лол. А про замыкания ты слышал нет?
>>730372
#269 #730372
>>730370
Приведи пример такого замыкания.
>>730374
#270 #730373
>>730355
А если у функции поведение одинаковое, но наименование аргументов разное?
#271 #730374
>>730372
function g(x) { return function (y){ return y*x} }
var x = g(10);
var y = g(20);

В x и y у тебя теперь две одинаковые функции если сравнить их toString, но сами функции вообще не одинаковые
>>730378
#272 #730376
>>728569
В том что получается тяжелое, глючное и тормозное говно. Для примера зайди хотя бы на сайт пакетов для метеора http://atmospherejs.com и офигей. Другой прекрасный пример - airbnb
#273 #730378
>>730374
x.toString() === y.toString()
//true
x(5) === y(5)
//false
#274 #730381
>>730221
А как же ангулар? Мне кажется, что это очень хороший пример годного коммьюнити.
Реакт нормальные люди использовать не будут, поэтому всё там плохо
>>730745
#275 #730382
>>730355
function a (x) {return x+x}
function b (y) {return y+y}

Что будет с твоим хэшированием?
#276 #730384
>>730237
Но ведь абстракции того же хаскеля в разы сложнее байтоебства.
>>730387
#277 #730387
>>730384
Абстракция не имеет такого понятия как сложность. Сложность есть у знаний, которые необходимы, чтобы оперировать какими-то абстракциями, но не у самих абстракций.

Ты можешь заебашить высшую математику жонглируя битами, но если у тебя с этой самой матеамтикой всё хуево, то как бы хорошо ты не умел в байтоебство, у тебя ничего не выйдет.

Абстракция это аморфное понятие.
Всё вокруг абстракция от чего-либо и всегда есть уровень выше или ниже. То что он выше или ниже, не значит, что он проще.
Ты состоишь из атомов и всё вокруг из них состоит. Ты умеешь взаимодействовать с миром вокруг себя. Но это не значит, что тебе легко дасться спустится до уровня атомов и оперировать ими.
>>730394
40 Кб, 980x457
43 Кб, 981x468
#278 #730392
Всем привет!
Толком еще не садился за изучение js, в частности учебника Кантора. Только глянул интенсивы от академии (и то в интенсиве по js еще не все задания поделал). Учебник Кантора полностью не читал и не прорешивал. Но увидев на его сайте раздел с тестами - решил пройти.
Результаты вот такие.
Мне показалось или тесты там легкие раз я, практически нихуя не знающий выбиваю средний уровень?

В любом случае собираюсь проштудировать его учебник + откопал на торренте курсы - буду смотреть
>>730465
#279 #730393
https://www.youtube.com/watch?v=JG9ifhhqNOU
Вот отличный пример того, что не всем дано свободное переключение между абстракциями, даже когда речь идет о вещах, с которыми они и так уже имели опыт.
#280 #730394
>>730387
Я всегда думал, что простые абстракции - это то, что имеет аналоги в материальном мире. Сложные - те, что не имеют. И чем больше над нами уровней, тем всё сложнее.
И я не про решение конкретрых задач, а про решение задач на языке вообще. Хаскель будет локаничнее, но сложнее для восприятия в реализации какой-либо функции из высшей математики, а си и плюсы наоборот.
12 Кб, 575x329
25 Кб, 824x684
#281 #730465
>>730392
А объясните пикрелейтед.

Если я сначала выполню первую строку, а потом вторую - то всё работает нормально, выводит единицу.

Если же пытаться выполнить весь блок кода сразу, то 'f is not a function'. Т.е. переменную f-то он видит, но почему он пытается сначала IIFE выполнить? Или он не пытается, но из-за хоистинга в объявление функции внутрь iife попадает f тогда, когда ей ещё не присвоена функция? А как же лексикал скоупинг?

А если между ними вставить console.log, то происходит вообще чушь какая-то.
#282 #730470
>>730465
После нажати OK в появившемся алерте тоже на console.log Ругается.
>>730480
sage #283 #730480
>>730470
>>730465
Там получается вызов этих выражений как функций (потому точки с запятой нет).
>>730482>>730545
#284 #730482
>>730480
Мде, так просто. И ведь не раз тут даже спрашивали, зачем iife иногда с точки с запятой в модулх начинаются.
>>730511
#285 #730511
>>730482
На learning lavascript все это есть, внезапно годнейший сайт для старта, лучше книг.
#286 #730542
>>730465
Так и не понял, что за хуйня. У меня все работает без ошибок.
>>730545>>730548
#287 #730545
>>730542
>>730480

>Там получается вызов этих выражений как функций (потому точки с запятой нет).

#288 #730548
>>730542
Не пизди.

>console.log('as')


>(function(){}())



это тоже самое что

>console.log('as')(function(){}())



у тебя не может ничего работать нормально
>>730551
#289 #730551
>>730548
Ну да, я в две строчки. Ясно тогда.
19 Кб, 534x374
#290 #730606
Зачем команды засунули в объект?
>>730836
51 Кб, 616x635
25 Кб, 642x226
#291 #730624
Посоны, где я обосрался? Что ему надо? Почему Menu `undefined'? Вроде бы делал, как тут написано: http://electron.atom.io/docs/v0.37.7/api/menu/
>>730639
#292 #730632
Помогите с реактом. Вот сделал я вывод, добавление у удаление. Теперь дошло дело до редактирования. Если смотреть с жквери-логикой, то просто беру текущие значения, заменяю элемент на пару инпутов, потом беру из них свежие значения, отсылаю куда надо, заменяю форму на обновленный элемент после ответа от сервера и все хорошо.

А как это сделать в реакте? Ну ясно что нужно вместо одного компонента отобразить другой, а дальше то же самое, но как это реализуется? Совсем запутался.
>>730642
14 Кб, 652x511
5 Кб, 343x96
#293 #730639
>>730624
Разобрался. Оказывается, если выкинуть remote и заменить его на electron, то все будет работать.
#294 #730642
>>730632
Бери стейт (или где там у тебя данные хранятся берутся), суй в компонент для редактирования, там редактируй и сохраняй обратно в стейт (или откуда там брал).
>>730652
#295 #730652
>>730642
Но это нужно чтоб компонент для редактирования все время был на странице что ли, а я хочу заменить элемент списка на форму, изменить значения и вернуть элемент обратно. Ну типа размонтировать одно, на его место смонтировать другое, не теребя стейт в это время, а теребить только после отправки на сервер (подтверждения формы, ну или отмены)

Кстати, это правильно что сервер присылает постоянно весь стейт для реакта, а не только изменения 1го элемента? Может нужно сделать для каждого элемента стейт, а не общий? Или как?
#296 #730656
нужно получить {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})
}
>>730657>>730659
#297 #730657
#298 #730659
>>730656
Что это блятб за форма записи? {y, x}? Ты имел в виду {x: x, y: y}?
А так, первый лучше, читабельней.
>>730662
#299 #730662
>>730659
{y, x} - http://es6-features.org/#PropertyShorthand
не аггрись, няша :3
#300 #730664
Джентльмены, а нет ли тут ссылок на скачать бесплатно про Sails.js? Хочу писать приложение для реалтайма, попробовал на чистом express.js, но что-то СЛОЖНОВАТО (прикрутил sequelize, acl) без литературы.
>>730670
#301 #730670
>>730664
Не бери сейлс для риалтайма, тичот просто пиздец
>>730716
#302 #730716
>>730670
А что брать-то? На голом socket.io писать тяжело.
>>730762
#303 #730745
>>730381
Реакт хороший, комьюнити плохое.
Ангуляр в этом смысле не лучше. Гугл положил хуй -- больше нет первого ангуляра.

То что все крупные JS-фреймворки существуют только при поддержке корпораций еще одно доказательство того, что это говно здравый программист поддерживать не станет. Есть Эмбер, конечно, но он уже издох.
>>730755
#304 #730748
>>730310

> третий описывает свои ощущения сходив на встречу по js где выступали питонисты


Жопой читаешь? На встрече js выступали джаваскриптеры и рассказывали как они одно и то же переписывают на новый фреймверк. На других встречах (не JS) люди обычно про новые крутые проекты и фичи рассказывают. Но ведь на JS их нет (почти), все время уходит на переписывание.
>>730758
#305 #730755
>>730745
Вброшу свои 5 копеек - самое адекватное коммьюнити, по-моему, у Dojo, но слишком высокий порог вхождения и замедленное развитие в угоду совместимости. Дискач.
#306 #730758
>>730748
На это можно смотреть с другой стороны:
джаваскриптеры не рассказывают о вещах типа запила какого-либо продукта, ибо для них это банально и легко (они ведь уже сделали какой-то продукт). А вот потом когда они узнали про технология нэйм и поняли что их продукт можно улучшить - они решили его переделать. В процессе переделки возникли проблемы связанные с переосмыслением решения для конкретной технологии и теперь они делятся опытом. По сути опыта накапливается больше ибо продукт сделали, а потом переделали(переосмыслили) - считай две разных работы ну ладно, полторы .
А разрабы другие только 1 раз написали и еще не дошли до стадии переосмысления и пока наслаждаются своим продуктом и подходом который они выбрали, не видя в нем недостатков

=) Думал еще че-нибудь добавлю?
#307 #730762
>>730716
Коа возьми. Я как раз на неё сейчас переписываю с сейлс
>>733765
#308 #730788
Поясните как изучать программирование? Пытаюсь в js и react, посмотрел кучу разных курсов, читал книги, codeacademy, статейки и прочие вещи, но результата особо не заметил, могу лишь написать что-нибудь простое на уровне хеллоу ворда или кликера. В каком направлении двигаться и что делать?
sage #309 #730794
>>730788
Двигайся в направлении моего хуя, и начинай сосать его.
>>730808>>730815
#310 #730803
>>730788
учи ваниллу, фреймворки для начинающих не годятся
51 Кб, 499x499
#311 #730808
>>730794
Хм, я бы соснул.
>>730828
#312 #730815
>>730794
Начал сосать, что-то не помогло.
>>730828
#313 #730828
>>730808
>>730815
дебажьте через консоль, возможно прикус мешает или не то давление
#314 #730836
>>730606
удобно же
все в одном месте
#315 #730841
>>730788
прошел learn.javascript.ru?
>>730845
#316 #730845
>>730841
Там интересных задач нет
>>730871
#317 #730861
>>730788
Просто берешь и без задней мысли пишешь код.
#318 #730871
>>730845
приведи пример интересной задачи
>>730904
#319 #730904
>>730871
Как срать не снимая свитер?
371 Кб, 854x859
#320 #730905
Как избавиться от дьвольского количества бойлерплейта при написании больших React\Redux приложений? Я охуеваю просто, я трачу больше времени на написания акшенов, редьюсеров, хуюсеров чем де факто логики. 10 + экшенов на базовую круд операцию, это охуеть можно.
#321 #730906
>>730905
Э... Юзать макросы/сниппеты?
#322 #730908
>>730905
Ты что-то не так делаешь 100%, подучи оснеовы редакса
>>730911
107 Кб, 653x919
#323 #730911
>>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 <- самое больше, что я находил. И там такое же полотно из акшенов и редьюсеров, и это даже не четверть от того функционала, что мне нужно описать.
#324 #730912
>>730911
вас заставляют на работе это учить? просто интересно?
>>730916>>730955
#325 #730915
ASP.NET макака вкатывается в тред.
Суть такова: портирую часть своего проекта под Node.js. Пишу на TypeScript. Заранее извиняюсь, не умею этими вашими фиддлами пользоваться, ну да это не особо важно. В коде есть такие инструкции (все typings установлены как ambient):

import * as express from 'express';
var app = express();
app.use(function(err, req, res, next) { ... бла-бла-бла
>>730920>>731442
128 Кб, 312x313
#326 #730916
>>730912
Я не совсем тебя понимаю, в смысле заставляют?
>>730919
#327 #730919
>>730916
чтоб не выперли
>>730926
#328 #730920
>>730915
Извиняюсь, макакыч оказывается на ctrl+enter "отправить" поставил.
Так вот tsc ругается мол у меня прототип функции не соответствует ей (а точнее, типы параметров совершенно другие).
При этом на чистом JS это всё работает без проблем.
>>731442
#329 #730926
>>730919
А, ну тут хз. Я не работал в офесе уже давно, но как ты можешь понимать "не выперли" в первую очередь в твоих же собственных интересах, надо оставаться конкуретноспособным или завтра можно остаться без бутерброда, везде так. Да и что ещё делать в жизни если не учить новый материал в направлении которое ты для себя выбрал. Плюс если контора нормальнная то попросишь и тебе купят материал для обучения хороший, на конфочку может даже отправят.
>>730928
#330 #730928
>>730926
а тебе ок это фреймворкговно? :3
>>730933>>730955
17 Кб, 800x800
#331 #730933
>>730928
Мне норм.
#332 #730938
>>728534 (OP)
Как же ваш блядский npm тормозит, сколько же в вашем блядском репозитории говна. Ебанный стыд, как этим вообще можно пользоваться?
>>730941>>731175
#333 #730941
>>730938
Давно уже сделал
sudo rm `which node`
>>730942
#334 #730942
>>730941
Я бы тоже сделал, но мне тогда не заплатят.
>>730944>>730997
#335 #730944
>>730942
Ты программист или шлюха?
>>730945
#336 #730945
>>730944
Разве есть принципиальная разница?
>>730985
#337 #730955
>>730912
>>730928
А как без него делать большие приложения? Хуячить на ванилле? Да ты охуеешь сделать быстро и качественно без базового надежного каркаса и утонешь в сильной связанности всего и вся.
>>731145
#338 #730962
Бля, это сдохло, то сдохло, есть что не сдохло-то?
#339 #730985
Аноны есить ли какой-нибудь плагин, тема для вебшторма чтоб редактор, шрифты и цвета выглядели так же божественно, как у этого >>730911 господина на скрине?

>>730945
Ору дико.
#340 #730997
>>730942
Без npm жить не можешь?
#341 #731075
Начал использовать movejs, мелкая либа для css. Насколько я понял, она тупо меняет стиль элемента. Обычное использование (1 в ideone)
Появилась проблема при написании метода (2)
А именно, если вызвать его дважды (3)
то исполняется только второй метод
Но если облoжить их алертами, вот так (4), то всё будет нормально выполняться
Есть ли возможность достичь того же результата, но без алертов?
>>731076>>731106
#342 #731076
>>731075
ЗАБЫЛ ССЫЛКУ ПРИКРЕПИТЬ
http://ideone.com/2MYTYx
>>731106
sage #343 #731106
>>731076
>>731075
Внутри Circle.prototype.move используй .end() только один раз, присобачь вторую цепочку к первой (перед end-ом).
>>731111
#344 #731108
Почему к times надо прибавлять единицу, чтобы вывелось "ля" 3 раза подряд? Ведь если из функции убрать join, то будет массив из 4 undefined, а не из трех.

String.prototype.repeat = function(times) {
return new Array(times + 1).join(this);
};

alert( "ля".repeat(3) );
>>731114>>731123
#345 #731111
>>731106
без толку. вопрос в том, как достичь эффекта с алертсами без них?
>>731116>>731135
#346 #731114
>>731108

> String.prototype


уходи
#347 #731116
>>731111
Блять, ну можно по-другому, как заморозить окно на время?
>>731121>>731135
#348 #731121
>>731116

> то будет массив из 4 undefined


У тебя все хорошо с математикой?
Сколько надо запятых при джойне массива из четырех элементов?
Давай-ка посчитаем вместе, мой маленький друг.

[1,2,3,4]
Смотри-ка, четыре элемента в массиве, а запятых выходит только три. Магия!

В твоем же недополифиле ты вместо запятых используешь саму строку.
>>731123>>731124
#349 #731123
#350 #731124
>>731121
А причем тут запятые?
>>731125>>731126
#351 #731125
>>731124
Ой, ты какой-то тугой.
#352 #731126
>>731124
undefined + ля + undefined + ля + undefined + ля + undefined

Теперь понятнее?
>>731127
#353 #731127
>>731126
Тогда почему не выводится "undefined,ля,undefined,ля,undefined,ля,undefined"?
>>731129
sage #355 #731135
>>731116
>>731111
Вообще да, я перепутал. Тебе нужно не внутри move цепочки объединять, а сами move. То есть как-то типа object.move(...).move(..).end(); А внутри move end() не вызывать. Либо второй раз move вызывать через setTimeout, но это хуево.
#356 #731145
>>730955
сам ваяешь? приведи примеры нормальных сложных приложений няша :3
>>731151>>731163
#357 #731151
>>731145

> мелкобуквенный


> няша


> :3


> нет запятых


Пошел нахуй
>>731160
#358 #731155
Топ конференция JS быдла:
https://telegram.me/joinchat/BE8kJz5Ac82JhSOAbmerbw
Мемы, рофлы, разговоры о работе, разговоры о не работе, свободное общение.
#359 #731160
>>731151
отлично доебался до грамматики, Няша :3
примеров ждать думаю не стоит
>>731162
#360 #731162
>>731160
Я не доебывался, просто ты не уважаешь собеседника. Я не хочу ничего тебе кидать
>>731177
#361 #731163
>>731145
Да любое изоморфоное SPA приложение, с парой десятков типов сущностей в состоянии. Конкретный пример тут не нужен.
190 Кб, 500x500
#362 #731169
>>730905

>бойлерплейта при написании больших React\Redux приложений


Это ты еще на голом флаксе не писал. Вот где бойлерплейт так это там.
#363 #731173
Как часто вы используете, или насколько сильно обычно, наполнен ваш код ассертами?

Всегда ли вы ассертите входящие аргументы функций?
>>731180>>731261
#364 #731175
>>730938
прогресс бар уже отключил?
#365 #731177
>>731162
я уважаю всех в этом треде, странно что тебе режут глаз запятые просто
>>731178
#366 #731178
>>731177
меня не уважаешь, пидр.
ты меня никогда не уважал, сука.
>>731196
#367 #731180
>>731173
В дебаг режиме да. А при сборке на прод сборщик вырезает все лишние проверки.
>>731190>>731193
#368 #731190
>>731180
То есть в рантайме типы не проверяете никогда?
>>731259
#369 #731193
>>731180
Ну, в смысле на продакшене.
#370 #731196
>>731178
в б иди
#371 #731259
>>731190
typeof, за редким исключениям, признак говнокода.
>>731262
sage #372 #731261
>>731173
Если например функция является обработчиком какого-то события (например, клик по элементу) и больше нигде не используется, то есть тип данных и то что они будут валидные заранее известно (скажем, генерятся вместе со страницей), то не проверяю вообще. Если там что-то сломается, то ежу понятно что проблема с генерацией страницы, и где искать проблему также понятно.
Если же функция будет вызываться хуй знает где, хуй знает как и хуй знает что туда передадут, то ставлю соответствующие проверки. Ну то есть если ты скажем передашь null в функцию, где нужна непустая строка и которая в норме возвращает непустую строку, то она к примеру вернет либо пустую строку, либо null (по ситуации). И так на всех уровнях. Соответственно, везде, где при вызове функции ты не знаешь, что ты в нее передаешь, ставишь проверку возвращаемого значения. Да, для разработчика это не так удобно, как натыкать везде ассертов и молиться чтобы все работало, зато пользователю приятно - если что-то пошло не так, то вылезет аккуратное сообщение об ошибке и работа продолжится, и все не сломается к хуям.
sage #373 #731262
>>731259
А как надо? Ну-ка просвети.
>>731268
#374 #731268
>>731262
Всё просто. Надо не писать вот такой код:

>Если же функция будет вызываться хуй знает где, хуй знает как и хуй знает что туда передадут, то ставлю соответствующие проверки


И в принципе не пользоваться в райтайме поломанными тайп чеками.
#375 #731270
>>731268
Данные от клиента ты не проверяешь, аутист?
>>731569
sage #376 #731271
>>731268
Ты говоришь как не надо. А как надо, судя по всему, не знаешь. Нигилизм это хорошо, но он должен вести к решению проблемы, а не только к отрицанию всего и вся.
#377 #731272
>>731268
А что ты будешь делать с тем, что js runtime доступен пользователю в принципе?
Я вот сейчас могу открыть консоль, и воротить объектами.

То есть исключая всякого рода проверки, ты готов и на сервер принимать лишний раз всякую залупу?
#378 #731273
>>731268
И в случае встраиваемых библиотек, тебе тоже до фонаря всё, и

>в документации все интерфейсы описаны и ниибёт


?
#379 #731280
У меня всё еще висит вопрос о рефлективном детекте класса объекта.

Как имея на руках только лишь объект получить его конструктор, не полагаясь на поля самого объекта (потому что они могут быть перегружены)?

Если такого варианта нет, то есть другой вопрос.
Поле constructor, которое прописывается в прототипе автоматом, как в одну строчку сделать не перезаписываемым и неконфигурируемым для абсолютно всех объектов (уже созданных и тех, что будут созданы в будущем)?
7 Кб, 200x193
#380 #731354
зачем-то написал автобампалку с генератором случайных чисел
http://pastebin.com/4E2T7z47
>>731357>>731373
#381 #731357
>>731354
Я уж думал, ты написал свою реализацию Вихря Мерсена.
>>731366
#382 #731366
>>731357
есть же RandomSource.getRandomValues()
#383 #731373
>>731354
while (randomTime < 60000) {
randomTime = time Math.round(Math.random()100)/100;
}

Проиграл как ебанутый.
>>731383
#384 #731383
>>731373
почему?
>>731387
#385 #731387
>>731383
потому что если ты неудачник, то это будет бесконечный цикл
лучше если рандомтайм меньше минуты, то пусть будет равен этой минуте
#386 #731405
Я вот начал читать jQuery in Action, Third Edition на ангельском и вот о чем подумал, а не излишне ли это?
>>731420
#387 #731420
>>731405
На самом деле, ты прав. Зачем jQuery, когда можно написать на ванилле? Хотя, зачем вообще js, когда все прекрасно рендерится на php? С другой стороны, php - это оверинджиниринг, достаточно и html. И вот я чет сейчас подумал, а не излишне ли это? Можно же просто отдавать текстовый файл.
>>731424
#388 #731424
>>731420
А действительно, зачем он в 2016 году? Я надеялся что насиловать трупы ископаемых ослов, даже самые отбитые перестали еще год назад.
>>731427
sage #389 #731427
>>731424
Да, с тех пор как откопали и изнасиловали труп последнего ископаемого осла - твоего отца.
#390 #731442
>>730915
>>730920
Сам себе отвечу, лол. Видимо тут в треде нет никого, кто может пояснить за TypeScript.
Всё решилось очень просто:
app.use((err: any, req, res, next) => {
...
});
});
5 Кб, 251x201
#391 #731481
решил тут попрактиковаться в codewars, и вот выбрал себе задание. Если я правильно понял перевод, то в случаях когда первая буква в имени "R" или "r" должно выводиться сообщение. Короче вот мой код https://jsbin.com/juxihuzulo/edit?html,js,console

Объясните где ошибка, а то на codewars не принимается ответ. Думал, что надо типа prompt задать внутри функции, но вроде там это не надо. Учусь js двадцатый день.
80 Кб, 1320x595
#392 #731483
>>731481
забыл кинуть само задание
>>731496
#393 #731486
>>731481
Надо не консоль лог делать, а ретурн
#394 #731496
>>731483
Вместо console.log напиши return name + "play.." в иф и элсе и попробуй, а то ты просто в конце функции возвращаешь параметр который ей передал и все.
#395 #731500
#396 #731566
Что посоветуете читнуть для вкатывания после других языков?
>>731567
#397 #731567
>>731566
Eloquent Javascript.
#398 #731569
>>731270
Верификация данных и проверка типов - совершенно разные вещи, аутист.
>>731572
#399 #731572
>>731569
Проверка типов включается в верификацию, ебан
>>731573>>731574
#400 #731573
>>731572
Привет, нахуя?
>>731577>>731581
#401 #731574
>>731572
Что ты несешь, дурень. Тип данных с формочки будешь проверять?
>>731577>>731581
#402 #731577
>>731574
>>731573
Хоть раз с базой данных работали?
>>731578>>731579
#403 #731578
>>731577
Все, школьник, уебывай.
>>731581>>731583
#404 #731579
>>731577
Ебать ты упоротый, пиздец.
>>731581>>731583
#405 #731581
>>731573
>>731574
>>731578
>>731579
Семён не заметен.
>>731582
#406 #731582
>>731581
Чини детектор.
#407 #731583
>>731579
>>731578
2 дня в жс, а уже семенит и доказывает ебанутую хуйню
>>731589
#408 #731589
>>731583
Ты тоже данные от клиента прямиком в базу пишешь и пытаешься обезопасить себя проверками типов на клиенте?
#409 #731591
>>731589
А кто говорил про проверку типов на клиенте? Речь шла вообще про typeof
>>731596>>731598
#410 #731592
>>731589
Сёма, плиз, не стыдно? Взрослый мужик ведь, а ведешь себя как девченка.
#411 #731596
>>731591
Быстро, пили, на какой тип данных (которые в джсоне тебе пришли) ты проверяешь инфу с клиента? Пиздоголовый, блядь.
>>731600
#412 #731598
>>731591
Ахахах, блядь, это ты на сервер typeof делаешь?
>>731600
#413 #731600
>>731596
>>731598
Пизданутый. Ты даже не знаешь как интернет работает. Какой ещё жсон с клиента?
>>731601>>731602
#414 #731601
>>731600
Все, иди на хуй.
22 Кб, 819x452
#415 #731602
>>731600
Сука, ты троллишь что ли?
#416 #731618
Кто смотрит обучающие видео? По ним вообще чему-то можно научится? Обычно там что-то уж слишком много воды и все как-то сумбурно, как будто лектор для себя рассказывает.
Ну если я не прав и просто глупый ретроград, то может кто приведет примеры хороших лекций.
>>731636
#417 #731636
>>731618

>По ним вообще чему-то можно научится?


Тебе зачем?
>>731673
#418 #731673
>>731636
Хуяк хуяк и в продакшн?
sage #419 #731734
Посоны, есть у кого актуальная версия учебника learn.javascript.ru Кантора в PDF?

Полторы тысячи не хочу отдавать, а оффлайн-версия нужна на неделю, ибо уезжаю в места, где ет интернетов.
>>731766>>731869
#420 #731747
>>731589
Лол, а если это SPA и база на клиенте.
>>731755>>731763
#421 #731755
>>731747
Это где таких специалистов готовят?
>>731756
#422 #731756
>>731755
То есть про приложения работающие чисто на клиенте, ты не знаешь.
Ясно.
#423 #731763
>>731747

>база на клиенте


Какая нахуй база?
>>731769>>731771
#424 #731766
>>731734
напиши парсер
#425 #731769
>>731763
Лолблядь. Откуда вы лезете такие.
Иди изучай все заново.
>>731783
#426 #731771
>>731763
данных
#427 #731783
>>731769
Показывай мне свою базу, мудило.
>>731786
14 Кб, 274x274
#428 #731786
>>731787
#429 #731787
>>731786
Из всего этого под "базу данных" попадает только IndexedDB, и проверять типы там нахуй не упало, ибо это cookies на стероидах, а теперь уебывай.
>>731788>>731898
#430 #731788
>>731787
Всё с тобою понятно.
>>731789
#431 #731789
>>731788
Вот и иди на хуй, школьник.
>>731791
#432 #731791
>>731789
Хуево тебе, да, от того, что школьник понимает больше тебя?
>>731792
#433 #731792
>>731791
Иди типы проверяй у JSON.
>>731794
sage #434 #731794
>>731792
Поверил, невалидные.
>>731796
#435 #731796
>>731794
Живи теперь с этим.
#436 #731869
>>731734
его можно скачать с гитхаба и установить на свой сервак, там есть инструкция
#437 #731898
>>731787

>cookies на стероидах


Кукисы гоняются в http-хедерах, а indexedDB хранится у юзера. Принципиально разные вещи, хоть и выполняют схожие функции.
#438 #731938
>>730911
Та же самая хуйня. Хочу сделать что-то вроде базового набора редьюсеров (тот же CRUD), которым бы можно было передавать только пути объектов в стейте.
>>732107
#439 #731939
Спрошу у вас.

Как сделать, чтобы оно импортировало все файлы стайлуса в main.styl, а затем компилировало его в main.css?
Сейчас оно все файлы стайлуса, собирает прямо в main.css.

gulp.task('stylus', function () {
return gulp.src('app/stylus/main.styl')
.pipe(stylus({
paths: ['app/stylus/blocks', 'app/css/'],
import: ['header', 'footer', 'fonts.css'],
'include css': true
}))

.pipe(gulp.dest('app/css'))
.pipe(browserSync.reload({stream: true}));
});
#440 #731980
Правильно я ли понимаю, что alert(`${title} ${width} ${height}`); равносильно alert(title + ' ' + width + ' ' + heigth); ?
>>731981
#441 #731981
>>731980
Да.
можно даже так

>alert `${title} ${width} ${height}`;

>>732005
#442 #732005
>>731981
ес6, мамку твою транспилил :3
>>732031
#443 #732031
>>732005
v8 уже давно умеет многие фичи.
Так что нода и хром.
Спешите видеть.
#444 #732049
>>728534 (OP)
Можно ли назначить хоткей для выполнения одного из действий стороннего плагина в Sublime text 3, например, задать сочетание клавиш для выполнения кода в NodeJS?
Если да, то как?
>>732067>>732082
#445 #732067
26 Кб, 582x319
#446 #732082
>>732083>>732150
#447 #732083
>>732082
Это что, троллинг такой?
#448 #732102
Кто-нить может пояснить за socket.io?
>>732119
#449 #732107
>>731938
В репозитории по ссылке хорошее решение есть на тему акшенов: https://github.com/danjac/podbaby/blob/master/ui/actions/utils.js. Работает на все стандаотные акшены, если у тебя возвращается только TYPE + payload. Впрочем писанины всё равно море, я даже переформатировал проект в feature-based структуру, хуйлиарду акшенов\констант\редьюсеров становится очень тесно в своих фолдерах. Теперь у меня под каждый раздел приложения есть свой фолдер, со своей редакс инфраструктурой, вьюшками и стилями. Потом это всё джойнится на топ уровне.
#450 #732113

>15 экшенов


>хуилиард



Вот когда напишите что-нибудь, где 500 экшенов, тогда будете ныть, а пока вы даже не понимаете, что редакс гораздно удобней в большом приложении, чем что либо другое, и имеет гораздно меньше бойлерплейта.
#451 #732119
>>732102
Обертка для удобной работы с вебсокетами, что тут пояснять?
>>732125
#452 #732125
>>732119
http://ideone.com/792NiH
Шаришь? Смотри, я пытаюсь навалякать что-то на основе туториала с чатом. Запилил никнеймы, при том, только несколько чуваков одним ником не могут пользоваться. Тут и проблема. Я сначала посылаю серверу ник и пытаюсь узнать, а свободен ли он. Затем на сервере при получении этот "эвента" я отсылаю free если свободен. Так вот, если нажать несколько раз на кнопку Send, то в участок кода под (if msg=="free") программа заходит ровно столько же раз! пофиксил это по-костыльному. Можешь объяснить почему так происходит?
>>732134>>732140
#453 #732134
>>732125

> Можешь объяснить почему так происходит?


Если я правильно понял, то сколько запросов событий ты инициировал, столько тебе и ответов приходит. 2 нажатия на кнопку -> 2 события на проверку ника -> 2 ответа
Чтобы такого не было, нужно блокировать кнопку после нажатия и разблокировать после получения ответа
>>732137>>732140
#454 #732137
>>732134
да, но типа если он не проходит проверку, то идёт нахуй сразу. почему после положительной проверки он несколько раз принимает положительный результат?
>>732140
#455 #732140
>>732134
>>732125
И у тебя ошибка в коде, не сразу заметил. Судя по всему, если у тебя там нет проверки, если отправить socket.emit('nickname', $('#nickname').val()); просто без проверки занятости ника, можно получить уже занятый ник.

>>732137

> почему после положительной проверки он несколько раз принимает положительный результат?


После одной проверки несколько результатов?
Тут уже, вероятно, у тебя на сервере что-то не так. Вообще у тебя странная логика приложения. Ты её на ходу пилишь, что ли?
Распиши на листочке все события, а потом закодь их. И посмотри примеры чатов на socket.io на гитхабе
#456 #732143
Может анончик поможет.
Суть такая - хочу запилить ёба приложение с сокетами и джейсоном. Понятно, что джуквери и чистый джава тут не канает, нужно выбрать ёба фреймворк. И тут я попробовал разобраться в сортах говна фреймвоках:

Ангуляр. Знакомился поверхностно год назад, с первой версией, но где-то слышал, что его используют одни пидары хипстеры.

Реакт. Размером с ангуляр, роутинг не завезли (флекс-шлекс, сложна!), компонент в компоненте компонентом погоняет. Всё отлично, встал вопрос - как начать? Выскочил какой-то бабель ( script type="text/babel"), started-kit предложил рендерить приложение на сервере, и тут я такой - "эээ, вы чё ебанулись там сука нахуй?".

Бекбон. Размер збс, делает тоже, что и реакт, роут завезли, но посмотрел примеры - это же ёбаный джеквери. Не для того я фреймворк подключаю, чтобы от библиотеки зависеть.

Метеор. Почитал описание - мегаприложение, которое работает и на серваке и на клиенте. Ну збс.

Короч, вопрос то в следующем: кто нибудь подскажет по хардкору: где какой фреймворк нужен и для чего. Какой брать и начать практиковать? Изучить все - не вариант, на один выученный появляется два невыученных.
>>732147
33 Кб, 462x357
#457 #732147
>>732143

>Ангуляр. Знакомился поверхностно год назад, с первой версией, но где-то слышал, что его используют одни пидары хипстеры.


А я слышал что твою мать ебут за гаражами.

Пиздец, вот так люди и живут, где-то хуйню прочитал и теперь у него слышал и хипстеры. Ебаному ангуляру уже 7 лет, он стал сраным корпоративным стандартом наряду с ExtJS, который пилят такие ХИПСТЕРСКИЕ СТАРТАПЫ как ГУГЛОФФ и его коллега ХИПСТЕР МАЙКРОСОФТСКИЙ, разрабатывая попутно ТАЙПСКРИПТ, это такой ХИПСТЕРСКИЙ ЯЗЫК чтобы ЫНТЕРПРАЙЗ моднявым хипстерам было легко с их хипстерских жабы, с++ и сишарпа перелезть на хипстерский жс, используя хипстерскую типизацию.
Ваще ящитаю эти хипстеров пидарков надо запретить.

И да, ленивый ты хуй, так сложно первую ссылку открыть по запросу js frameworks comparison?
Там же всё расписано, ну.
http://noeticforce.com/best-Javascript-frameworks-for-single-page-modern-web-applications
>>732153>>732154
#458 #732150
>>732082
какие шревты?
>>732158
#459 #732153
>>732147
Spasibo za ssilku, no ya ne umeyu v angelskii. Но всё равно почитаю, ибо для таких как я есть ёба-гугл-переводчик.

> Пиздец, вот так люди и живут, где-то хуйню прочитал и теперь у него слышал и хипстеры. Ебаному ангуляру уже 7 лет, он стал сраным корпоративным стандартом наряду с ExtJS, который пилят такие ХИПСТЕРСКИЕ СТАРТАПЫ как ГУГЛОФФ и его коллега ХИПСТЕР МАЙКРОСОФТСКИЙ, разрабатывая попутно ТАЙПСКРИПТ, это такой ХИПСТЕРСКИЙ ЯЗЫК чтобы ЫНТЕРПРАЙЗ моднявым хипстерам было легко с их хипстерских жабы, с++ и сишарпа перелезть на хипстерский жс, используя хипстерскую типизацию.


> Ваще ящитаю эти хипстеров пидарков надо запретить.



Да похуй кто че пилит. Оперу, эксплорер и хром тоже не хуи с горы пилят, но все знают какой из этих браузеров зашквар.
>>732155
#460 #732154
>>732147
гена пидр
#461 #732155
>>732153
Бери ангуляр, он у нас самый популярный. А так как 95% погримистов в СНГ это жаба и пхп макаки, все благополучно хотят перейти на тайпскрипт и ангуляр 2, так что с таким выбором не соснёшь точно.
>>732157>>732161
#462 #732157
>>732155
че может ангуляр чего не может сокет ио?
#463 #732158
>>732150
Стандартные, не знаю. Я ничего с шрифтами не делал
#464 #732159
>>732157
Может в популярность и работу.
>>732162
#465 #732160
>>732157
Что может трактор, чего не может вилка?
>>732162
#466 #732161
>>732155

>все благополучно хотят перейти на тайпскрипт и ангуляр 2



Тоже заметил. Хорошо что быдло пройдёт мимо моих няшных виртуальных домиков :з
#467 #732162
>>732159
как будто потом пересесть будет сложна
>>732160
выйдет ангуляр 2, который как говорят будет не похож на первый, и все соснут
>>732165>>732172
#468 #732165
>>732162

>будет не похож на первый


Да! И это хорошо. Первый ангулар получился очень сложным для понимания, неоправданно сложным. Второй же, то, что представляет из себя сейчас, очень приятен. Я еще не совсем понял за соурсмаппинг, поэтому отладка кода пока еще не очень приятная.

Еще, пользуясь случаем, хочу заявить, что обожаю промисы.
>>732168
#469 #732168
>>732165

>обожаю промисы


Скоро уж async/await, а ты все с промисами бегаешь.

>соурсмаппинг


Что там сложного?
>>732190
#470 #732172
>>732162

>как будто потом пересесть будет сложна


Как будто есть смысл использовать изначально то, что менее популярно и с чего надо будет пересесть куда-то. Ну вот серьезно, я подхожу с максимально прагматичной позиции, и не вижу смысла использовать что-то менее популярное и успешное по неким очень субъективным причинам, иначе бы вообще кложурой в продакшене обмазывался.

Так-то возможно он и лучше в чем-то, но сам понимаешь, я про рыночек онли тут.
#471 #732173
>>732157
Охуенный вопрос. Полностью показывают суть данного треда, лол.
>>732192
48 Кб, 450x440
#472 #732177
Часто у вас тут такие охуительные обсуждения в тредах происходят?
>>732181>>732192
#473 #732181
>>732177
Постоянно! Потом эти петушки ещё заявляют, что получают 150к в месяц.
>>732185>>732192
#474 #732185
>>732181
95% посетителей програмача - безработные корзиночки, потому что настолько дебильных обсуждений я почти нигде не вижу, а я говорю про помойные телеграмочаты и прочее говно, даже там всё намного лучше.

Бывают конечно треды уровня машин лернинга, но я только мельком его читал, но вроде всё намного лучше. Думаю мы даже хуже пхп треда стали.
#475 #732189
>>732185

>треды уровня машин лернинга


Да пусть просто хуйню просто перестанут нести несусветную и нормальный тред будет. Angular vs Socket, вообще охуеть.
>>732192
#476 #732190
>>732168

>Скоро уж async/await, а ты все с промисами бегаешь.


А мне они нравятся, вызовы цепочками, это приятно. Серьезной разницы не вижу между async/await. Если приведешь преимущества, то переберусь на async/await, няша.

>Что там сложного?


Из коробки стартер-кита возвращает в консоль информацию про ошибку на строке 29942 или типо того.
>>732214
169 Кб, 1920x1080
#477 #732191
>>732185

>95% посетителей програмача - безработные корзиночки


Угадал на 100%
Правда я ничего не обсуждаю. Молча пилю тупые задачки, поглядываю в тред и ничего не понимаю
#478 #732192
>>732189
>>732185
>>732181
>>732177
>>732173
А вы переставайте отвечать на очевидную толстоту и развивайте дележку опытом.
Всегда приятно почитать доказательство, что я ничего не смыслю в javascript, приправленное полезной информацией.
>>732199
#479 #732199
>>732192

>Всегда приятно почитать доказательство, что я ничего не смыслю в javascript, приправленное полезной информацией.



Вот только это неприятно писать и ничего кроме раздражения и желания послать нахуй не вызывает, потому что гуглится первой же ссылкой если тупо скопипастить вопрос ничего не меняя даже.
Я к тому, что уровень меганизкий, уровня интерполяции строк и сравнения несравнимого, что уж совсем пиздец.
>>732204
#480 #732204
>>732199
Я не про сравнение теплого с мягким, я про то, что самые доходчивые ответы получал только после толстых вбросов, анон пишет что-нибудь вроде: "ТЫ ДАУН ЕБАНЫЙ, НА САМОМ ДЕЛЕ ВСЕ ТАК И ТАК", а если задать вопрос прямо, то ответа можно и не дождаться. Этот тред для того, чтобы делиться опытом, самоутверждаться можно во время работы или заработком денег.
>>732223
25 Кб, 892x395
#481 #732214
>>732190

>преимущества


Колбэков нет, как и планировалось

>про ошибку на строке


А у меня работает hahaha
#482 #732218
Редаксоны, в чем смысл хранить cостояние роутера (или как правильнее) в стейте? Только для тайм-травел и перемотки истории. Это все? В доках и описаниях только эти два примера.
>>732220>>732225
#483 #732220
>>732218

>тайм-травел и перемотки истории


блядь, че несу, это одно и тоже походу
>>732225
#484 #732223
>>732204

>Этот тред для того, чтобы делиться опытом


Делюсь я опытом с Абрамовым в телеграмме и пацанами с крутых конфочек, а тут я хуйней страдаю, потому что уровень треда пиздец низкий, нахуя анону тратить время на объяснение базовых вещей?
Лучше бы погуглил и спрашивал рили умные вещи, получил бы ответ и другие бы узнали, а так очередной подскажите фреймворкенйм и нахуя нужен ваш жс.
#485 #732225
>>732218
>>732220
Не совсем. Перемотка истори это дефолтный функционал реакт роутера, т.е. сам browserHistory, который позволяет тебе ходить вперед-назад по хистори пользуясь интерфейсом браузера.
Таймтревел это возможность отката всего стейта, например в большом круд приложении ты можешь сейвить последнее состояние стейта и если уже после сабмита юзер вдруг понял, что он что-то нафакапил с эдитом, он может нажать волшебную кнопку ВЕРНУТЬ ВСЁ НАЗАД и ты просто инджектишь предыдущий стейт в текущий и сразу синхронизируешь его с бекендом.
Если твой таймтревел состоит из нескольких шагов, которые включали в себя и навигацию на другой роут, ты для адекватного отката тебе нужно откатить и сам location(url), который ты можешь взять из сохранненого стейта, если ты там его хранишь.
https://github.com/reactjs/react-router-redux вот тут можешь почитать и пользоваться.
>>732227
#486 #732226
>>732223
Скинь какие-нибудь крутые конфочки, хотя бы? Кроме мертвой реактифлакс, если есть что интересное?
#487 #732227
>>732225
Думаю он это и имел в виду, ты что-то затупил, и зря всё это расписывал.
>>732230
#488 #732229
>>732223
у него нет телеграма лалка
>>732411
#489 #732230
>>732227

>блядь, че несу, это одно и тоже походу


^ Ну хуй знает, не похоже.
#490 #732274
>>732223
Есть тег <webview>, на нем partition="persist:randomstring", есть ли возможность прописать proxy для каждого отдельного webview, а не для всего документа в целом?
>>732278>>732504
#491 #732278
>>732274
и причём тут яваскрипт?
>>732341>>732504
#492 #732334
блять какого хуя сайт socket.io не работает ёбаный в рот
#493 #732341
>>732278
Наверное потому что webview часть chromium api?
>>732343
#494 #732343
>>732341
На андроеде же
>>732350>>732351
#495 #732350
>>732343
Chromium Embedded Framework
NWJS
Electron
#496 #732351
>>732343
А еще Chrome App
#497 #732352
Бля пздц, как же тижило лезит ваш яваскрипт как первый язык, аж башка пухнет от этой хуйни и спать хочется.
72 Кб, 1280x420
#498 #732411
>>732229
Ну тебе конечно виднее, корзиноид безработный.
>>732417>>732431
#499 #732412
Ньюфаг вкатился, только начал учить. Где можно посмотреть список всех математических знаков и что они значать типа ! = += итп?
>>732419
#500 #732417
>>732411
Скинь конфочек каких-нибудь крутых?
#501 #732419
>>732412
Загляни в шапку
>>732422
#502 #732422
>>732419
Спасибо, нашел уже, лол. Почему то всегда, когда в треде вначале напишу, поиск становится быстрее.
#503 #732431
>>732411
Хаха, 26 сентября. Ещё что-нибудь поновей скинь, даун!
>>732442
#504 #732442
>>732431
Целых полгода прошло, для JS-разработчиков это целая вечность, у них за это время 3 раза используемые стандарты, библиотеки и инструменты сменятся.
>>732447
#505 #732447
>>732442
Ну так! Дэн теперь в ФБ работает и с ноунеймом с харкача бы общаться точно не стал, ахахах.
>>732505
#506 #732491
Добавьте в список литературы jQuery in Action 3rd edition, книга гораздо годнее Шарки с Каслдайном.
>>732516
#507 #732504
>>732274
Бамп вопросу.

>>732278
Я же написал тег <webview>, а не компонент.

Получилось разделить сессии, но не получается настроить отдельные прокси. Или я мб что-то не до конца понимаю.
#508 #732505
>>732447
Ты бы не стал, потому что ты пафосный пидор.
#509 #732516
>>732491
Добавь сам, это же гитхаб
>>732532
10 Кб, 200x217
#510 #732532
>>732516
Я скромно изучаю жс по книгам, в гитхабы еще не лез.
>>732579
68 Кб, 483x512
#511 #732563
>>728534 (OP)
Есть тут гуру angularjs?
Пишу приложение, но никак не могу понять, как организовать работу с данными.
Везде пишут, что ее лучше вынести в отдельный сервис, но как из него своевременно подтягивать изменения? Завязать все на событиях или выносить коллекции в рутскоп? Спасайте, анончики. Сроки поджимают, а городить очередной велосипед сил уже нет.
70 Кб, 1073x580
#512 #732579
>>732532
Регаешься
@
Жмешь сюда
#513 #732582
>>732563

> Завязать все на событиях


This + вебсокеты
#514 #732585
Аноны, самообучаюсь щас на скриптомакаку.
Что лучше разобрать в первую очередь: canvas или svg? Вообще взаимозаменяемые ли это сущности?
#516 #732797
>>732563
апхахпхахывхах сука, это за две строчки в socket.io делается, ангуляроблядок
>>732845
#517 #732845
>>732797
Проиграно
#518 #733765
>>730762
Погоди-ка, а чем Sails не угодил? Я тут уже намылился их книжку покупать за $40, и ВНЕЗАПНО узнаю, что с этим фреймворком что-то не так. Что именно?
>>734098
#519 #733911
https://telegram.me/joinchat/BE8kJz5Ac82JhSOAbmerbw
Общетематический JS джихад.
#520 #734098
>>733765
Течет просто пиздец
Тупой Раб очка иисуса #521 #734284
Здрасьтеся. Я - полный ноль в программировании. Т.е. полный. 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
Все запуски функций из примера выше должны срабатывать быстро.

Но Я даже представить не могу как написать. Что нужно почитать, чтобы понять как писать код. Не про синтаксис и содержимое языка, а про то как писать код хотя бы не на языке программирования, а на обычном языке.
>>734290
#522 #734290
>>734284
Ты знаешь что такое числа Фибоначчи? Знаешь как считать? Тогда расписание задачи на человеческом языке у тебя не должно вызывать трудностей.
#523 #737228
>>732563
Смотря как организовано. Если данные с сервера обновляются, то как писал вот этот аутитст, тебе поможет только socket.io, а если просто нужно делиться данными между контроллерами - сервис, возможно, использующий angular-resource
Тред утонул или удален.
Это копия, сохраненная 15 мая 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски