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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
91 Кб, 1024x492
40 Кб, 300x281
JavaScript #33 #677826 В конец треда | Веб
Ссылка на прошлый тред: >>673564 (OP)

Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, Walmart и многие другие.

НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsbin.com/ для браузерного кода и https://ideone.com/ для серверного кода.

Краткий FAQ:
1. Что это за язык такой? - Мультипарадигменный язык, изначально создавался для использования в браузерах как язык сценариев для придания интерактивности веб-страницам, однако в процессе своего развития преодолел этот этап и сейчас может использоваться для любых целей ввиду своей неограниченной гибкости и удивительно удобного синтаксиса. Сочетает в себе особенности объектно-ориентированного, функционального, событийно-ориентированного и императивного программирования.

2. Какие возможные направления для разработки существуют? - Фронт-энд (Vanilla, jQuery, Angular, Backbone, React, Meteor), бэк-энд (Node.js, Express, Sails), геймдев (Phaser, Cocos, Pixi, Unity), 3D графика (Three.js, Babylon.js), мобильная разработка (NativeScript, Phonegap, Ionic), десктопная разработка (NW.js, WinJS).

3. У меня вопрос по вёрстке, HTML или CSS, CSS-препроцессорам, Bootstrap или дизайну. Вы мне поможете? - Вряд ли. Этот тред посвящён непосредственно программированию, а вёрстка обсуждается в “Вёрстка-треде” в /wrk/, там и спроси. Кроме того, настоятельно рекомендую пройти https://htmlacademy.ru/ , если ещё не сделал этого раньше. После этого 90% вопросов отпадут сами.

4. Можно выучить только jQuery и всё писать на нём? - Не стоит, лучше начать писать на jQuery, когда освоишь ванильный JS, дабы не испортить себе восприятие языка, и в будущем не испытывать трудностей с изучением сложных фреймворков.

5. Существуют ли стайл-гайды для JavaScript? - Да. Стайл-гайд для Node.js: https://github.com/felixge/node-style-guide , стайл-гайд для Front-end: http://www.w3schools.com/js/js_conventions.asp

6. Какие новые возможности добавил ES6? - Вот здесь можно почитать на русском: https://learn.javascript.ru/es-modern

7. Я хочу писать на ES6, но многие браузеры не поддерживают новые возможности. И вообще, надоел геморрой с браузерным зоопарком. Неужели нет способа обойти это? - Конечно есть! Чтобы код одинаково хорошо работал во всех браузерах и все возможности ES6 и будущих стандартов нормально работали необходимо собрать код с помощью сборщика. Сборщик компилирует весь код в один файл и делает его полностью кроссбраузерным. Наиболее удобен в использовании Webpack, хотя существуют и аналоги. Потребуется некоторое время на изучение, но результат себя окупит. Сборщики нужны только во Front-end, Node.js и так поддерживает все новые возможности.

8. Зачем нужны CoffeeScript и TypeScript? - Это особые варанты JS для любителей других языков. CoffeeScript подходит для любителей Ruby и Python, TypeScript - для сторонников строготипизированных языков. Если ты новичок в программировании, то учи оригинал и не забивай себе голову этим.

9. Можно ли писать фронт на других языках? - Да, существуют компиляторы различных языков в JS, такие как ScalaJS, PyJS и другие. Но стоит помнить, что у них есть масса недостатков и использовать их стоит только если на чистом JS (также CS и TS) не получается писать совершенно.

10. Ну ладно, с чего начать изучение то? - Дальше идёт список материалов для изучения.

Чистый JS:
Книги: Дэвид Фленеган - "JavaScript: Подробное руководство"

Дуглас Крокфорд "JavaScript: сильные стороны"

Стефанов С. - "JavaScript. Шаблоны"

Джон Резиг - "Секреты JavaScript ниндзя"

Николас Закас - "JavaScript. Оптимизация производительности"

Джон Резиг, Расс Фергюсон - “JavaScript для профессионалов”

Node.js

М. Кантелон , М. Хартер - "Node.js в действии"

Кирилл Сухов - "Node.js. Путеводитель по технологии"

Дэвид Хэррон - Node.js. Разработка серверных веб-приложений

Front-end

Эдди Османи - "Разработка Backbone.js приложений"

Эрл Каслдайн, Крэйг Шарки - "Изучаем JQuery"

Читать онлайн

Dr. Axel Rauschmayer - "Speaking JavaScript: An In-Depth Guide for Programmers" - Одна из лучших книг по JS.
Пока только на английском: http://speakingjs.com/

Marijn Haverbeke - "Eloquent Javascript" - Вводная книга по JavaScript и программирование в целом.
Перевод на хабре: http://habrahabr.ru/post/240219/ На английском: http://eloquentjavascript.net/

DISCOVER METEOR - Книга по Meteor.js - одному из самых лёгких и функциональных фреймворков.
Полностью на русском: http://ru.discovermeteor.com/

И не забываем читать официальную документацию для каждого фреймворка.

Онлайн сообщества:

http://learn.javascript.ru/ - оно одно, единственное. Начинать учить язык лучше всего отсюда, потом переходить уже к книгам.

http://www.jstherightway.org/ - Огромный англоязычный гайд. Есть книги, статьи и всё-всё-всё.

http://nodeguide.ru - Огромное количество переведённых статей по Node.js

http://node-center.ru - собрание информации по Node.js. Особенно интересен раздел со ссылками и книгами.

Блоги и новостные ленты:

http://dailyjs.com/ - DailyJS

http://weblog.bocoup.com/ - Bocoup Weblog

http://perfectionkills.com/ - Perfection Kills

http://www.reddit.com/r/javascript - subreddit на reddit.com

http://toddmotto.com/ - Todd Motto, Lead front-end @appsbroker. Developer Expert @google.

Онлайн курсы:

Как же можно учить язык, только читая книжки? Нужна практика, только так изучаемое усваивается, и никак иначе.

CodeSchool - http://codeschool.com/
Отличный ресурс для изучения языка, очень много курсов по всем передовым технологиям.

CodeAcademy - http://www.codecademy.com/
Уже не такой сильный, но все еще интересный проект, также обязателен для улучшения навыка.

Udacity - https://www.udacity.com/course/ud015
Дает хорошее представление о замыканиях.

Выучил основы, написал свою пузырьковую сортировку и змейку? Не знаешь как двигаться дальше?
Почитай теперь это - https://shamansir.github.io/JavaScript-Garden/

СПИСОК ИНСТРУМЕНТОВ ДЛЯ РАЗЛИЧНЫХ ЦЕЛЕЙ

Front-end: jQuery, Angular, React, Backbone, Meteor.
Back-end: Node.js, Express, Koa, Sails (Включает Express и Socket.io + архитектура)
Десктопные приложения: NW.js, Electron, WinJS.
Мобильные приложения: Cordova, NativeScript, Phonegap, Ionic.
GameDev: Phaser, Cocos, Pixi, Unity.
Тестирование: Mocha, Chai, Jasmin, Sinon.
Continuous Integration: Semaphore, Shippable.
Генераторы статичных сайтов: DocPad, Metalsmith, Harp, Brunch.
Бесплатные хостинги: OpenShift, Heroku.
IDE/редактор: WebStorm, Atom, Brackets.

Шапка: https://docs.google.com/document/d/1x7fY7CIy9o6lrkYA1Y5iQuJWLJdEbtK7z3TjIZBskkg/edit?usp=sharing
#2 #677832
Написал свой инструмент для автодеплоя в стиле Capistrano, но без необходимости писать на руби, а с баш скриптами и возможностью использовать любой язык. Работает на любых Continuous Integration сервисах, написан на Python3. Работает со всеми языками, тестировал на нодопроекте. https://github.com/Vladimir37/Sanelotto

А доки тут http://sanelotto.info/
>>677849>>678007
#3 #677849
>>677832
Владимир, здравствуйте. Какими дорогами к нам?
>>677861
#4 #677861
>>677849
Что значит "какими дорогами"? Я ОП большинства JS тредов.
>>677951
#5 #677868
Посоветуйте пожалуйста красивый, с всякими рюшечками, на вид модненький редактор для OS X. Раньше таким был brackets, но сейчас он очень популярен стал.
Лично я нашел - espresso, chocolat, coda, textmate. Что из этих 4 посоветуете?
#6 #677869
>>677868
Textmate, Atom
>>677873
#7 #677873
>>677869
Atom уже давно не "андерграунд".
>>677876
#8 #677874
#9 #677876
>>677873
И что? Тебе хочется, чтобы твой редактор загнулся или что?
>>677877
#10 #677877
>>677876
Ну когда emmet перестанут под "мой редактор" делать, тогда и перелезу, а сейчас хочу побыть нитакимкакфсе.
>>677879
#11 #677879
>>677877
Пиши в блокноте тогда, нитакой
>>677884
#12 #677884
>>677879
Не удобно. Зачем ты в крайности бросаешься? Ты из /b?
>>677895
#13 #677886
>>677868
Vim, Emacs. На таком пишет в среднем один из двух сотен программистов.
#14 #677891
>>677868
neovim, даже на 2000 вимеров ты будешь одним таким.
#15 #677895
>>677884
Это я в крайности бросаюсь? Не у меня отсутствие эммета в редакторе - признак его андерграундности
>>677899
#16 #677899
>>677895
Все редакторы, которые я перечислял, имеют таки emmet.
#17 #677910
Итак поясните чем эта вафля от обычной жавы отличается? Чтт мне учить блеаа
#18 #677916
>>677910
Это очень сложный язык программирования, тут используется продвинутая прототипная разновидность ООП и все переменные могут преобразовывать свои значения, поэтому язык почти невозможно выучить для таких как ты.
#19 #677918
>>677910
Названием и лого. Тебе должно хватить.
#20 #677922
>>677826 (OP)
C програмер репорт ин. Пошёл на стажировку, заставляют пилить на JS интерфейс по шаблону, просто проект состоит не только из C но и из JS говнокода, это пиздец ,товариши, у вас в мозгах дерьмо, это на столько неудобное говнище, полное костылей, что просто пиздец. И скорости в итоге 0, и удобства 0.
>>677925>>677940
#21 #677925
>>677922
Перепиши на тайпскрипт, отрефактори, но не ной блять, делать из говна конфетку и есть работа программиста.
#22 #677940
>>677922
Это первое впечатление только такое. Я сам когда на крестах писал и приходилось на жс писать -- плевался. А потом как-то вник и все понял, не хочу теперь на кресты возвращаться.
>>677947
#23 #677947
>>677940
Да блин как не прочитаю всем с начала не нравится js.
Писал на крестах, как увидел js - сразу улучшилось настроение, артериальное давление и т.д. Реально. А вот когда например с той же java код вижу появляются рвотные рефлексы
>>677949>>678403
#24 #677949
>>677947
Ну многие сначала отрицают и огораживаются, это нормально. Плюс опыта бывает маловато, чтобы понять охуенность языка/технологии.
А жаба как язык хороша, плохи жаба-кодеры и фреймворки типа спринга с кучей нинужной дрисни и xml.
#25 #677951
>>677861
ОП = хуй.
>>677963
#26 #677963
>>677951
Владимир = хуй.
#27 #677964
Аноны, реально ли реализовать такую штуку в джс. Написал корява, но не суть. Я хочу попробовать сделать, чтобы при возрасте больше 18 лет появлялась гифка из ссылки ниже. При возрасте меньше 18, чтобы появлялась другая гифка либо картинка.

https://jsbin.com/dofejapume/edit?html,js

https://media.giphy.com/media/6csVEPEmHWhWg/giphy.gif
#29 #677978
>>677964
или так вот
https://jsbin.com/dofejapume/1/edit?html,js,output

6 день учу js-кун
>>677979
#30 #677979
>>677978
бля, не та ссылка
сука
>>677981
#32 #677992
>>677910

> Итак поясните чем эта вафля от обычной жавы отличается?


Всем
#33 #677996
>>677981
а если я захочу продолжить, то как тогда я заставлю меняться гифки, а не заставлять их появляться с краю от предыдущей?
>>678000
#34 #677997
>>677910
js это библиотека скиптов для джавы.
#35 #678000
>>677996
src менять.
Ну либо делать как тебе выше скинули и innerHTML менять у контейнера (для смены частой получше наверное даже будет)
#36 #678007
>>677832
Это тренд такой доку сразу на английском писать?
Зато название придумал и отдельную страницу под логотипы.
>>678009>>678011
#37 #678009
>>678007

> Это тренд такой доку сразу на английском писать?


На каком языке говорит большая часть интернета и гитхаба в частности?
>>678012
#38 #678011
>>678007

>название придумал и отдельную страницу под логотипы.


Hipster please
#39 #678012
>>678009

> сразу на английском


Я уверен, что документация изначально пишется на родном языке, чтобы не тратить время, а уже потом переводится. Разве нет?
>>678013
#40 #678013
>>678012
Лол
>>678015
#41 #678015
>>678013
Извини, я просто забыл куда попал.
#42 #678028
Оп-няша, подскажи, есть какие-нибудь фреймворки или библиотеки по жс по аналогии с бутстрапом для цсс? Типа: вот команда для слайдера, вот для настраиваемой галереи, вот для выпадающего меню, вот для всплывающего с вкладками, все конфигится и не надо в 101ый раз изобретать велосипед. Идеально для тех, кто язык не знает и не хочет учить, или почти не знает, или дедлайн близко. Ну ты понял, наверное. Посоветовали angular material и polymer. Можно пожалуйста еще вариантов?
#43 #678032
>>678028
semantic-ui
>>678035
57 Кб, 400x395
Офигеть #44 #678033
Прочитал шапку и немножко треда. Божецки, все правда так, как тут? Js везде и за ним будущее как за самым универсальным и стремительно растущим? Или это вы тут такие умные и то же самое можно рассказать про питон, кресты, шарп и прочие? Мне самому хотелось бы в прикладной софт или геймдев пойти, максимум, в энтерпрайз, хайлоад, если не найду работу по первым двум. Но джаву не хочу. Вот думал: кресты или жс-стак...
#45 #678035
>>678032
Честно говоря, тех же слайдеров/галерей я там не вижу, опять совсем отдельные элементы как бы.
#46 #678042
>>678028
Такие элементо-ориентированные фреймворки только гугл пилит, я в прошлом треде тебе их кинул. Что ты ещё хочешь?
#47 #678047
>>678033

> Божецки, все правда так, как тут? Js везде и за ним будущее как за самым универсальным и стремительно растущим?


Ну как тебе сказать...
>>678049
34 Кб, 549x326
#48 #678049
>>678047
Отклеилась
>>678055
#49 #678055
>>678049
Этот график отражает динамику роста. Нода появилась - соответственно, начала расти, куда ей больше деваться, лол.
>>678056
#50 #678056
>>678055

> Нода появилась - соответственно, начала расти, куда ей больше деваться, лол.


Тогда почему пыха, жаба и руби находят куда деваться?
>>678059
163 Кб, 823x1080
#51 #678058
Чет кекнул
#52 #678059
>>678056
Нода стартовала с нуля процентов в 2011. Остальные в это время уже устоялись, заняли свои ниши и динамику имеют куда более стабильную. Этот график не отражает вообще ничего, не несет полезной информации без графика абсолютных значений рядом.
>>678061
#53 #678061
>>678059
У вас в школе графики ещё не проходили? И ты знаешь вообще что такое indeed?
>>678062
#54 #678062
>>678061
Ты знаешь, что такое процент?
>>678064
#55 #678064
>>678062
А ты знаешь что такое процентное соотношение?
>>678065
#56 #678065
>>678064
А ты?
#57 #678069
>>678028
jQuuery UI. Именно UI, не просто jQuery.
#58 #678084
Так, говорю для всех новичков и тех кто думает надо ли идти в js.
Не надо. JS долбанутый язык, неудобный, не такой как остальные, нихрена на самом деле не кроссплатформенный. И вообще он скоро загнется ибо просто хипстерочки хайпнули его. Скоро мода уйдет. Вкатывайтесь лучше в c#, с++ или java.
Дайте нам самим возиться в этом болоте, будем тянуть это тяжелое бремя, так уж и быть. Даже смиримся с тем что разработчики на вышеназванных языках не считают js за нормальный язык, а нас за норм разрабов. Кто-то же должен тянуть это тяжелое бремя.
Так что пацаны бегите
#59 #678086
Чому вот этот скрипт не принимает данные из формы?
http://ideone.com/65twgR
#61 #678098
>>678084
были бы еще вакансии на java
#62 #678102
>>678084

>загнется


А куда он из браузеров денется?
>>678231
#63 #678113
>>678084

>Вкатывайтесь лучше в c#, с++ или java.


В паскаль чего уж там.
>>678120
#64 #678120
>>678113
да куда угодно. Оставьте нас в нашем "гавне"
#65 #678164
Блядь как у меня бамбитт. уймите кто нибудь боль моего пердака.
>>678165>>678178
#66 #678165
>>678164
конечно не для твоего случая, но все же

https://youtu.be/FeCXooh8AXE
#68 #678231
>>678102
wasm же
>>678234>>678502
#69 #678234
>>678231
Asm.js жи есть
>>678248
#70 #678248
>>678234
Это не одно и то же.
#71 #678345
Посоны, кто-нибудь пользовал React Native? Какие подводные камни?
3516 Кб, Webm
#72 #678356
Привет, посоны. Как получить размеры картинки по url?
>>678360
2041 Кб, Webm
#73 #678360
>>678356
И да, желательно кроссбраузерное решение.
#74 #678377
>>678033
Бамп вопросу, няши.
>>678398
#75 #678398
>>678602
#76 #678403
>>677947

>А вот когда например с той же java код вижу появляются рвотные рефлексы


Cкоро если не уже то и от жс будут такие рефлексы
export default static class Foo extends AbstractSingletonProxyFactoryBean
>>678417>>678434
#77 #678406
Есть гайд или сам код наипростейшего секундомера, выводящее значение в поле input?
>>678430
#78 #678417
>>678403
Двачую, поубивал бы уёбков, который проголосовали за введение синтаксиса классов.
>>678444>>678497
#79 #678430
>>678406
Да здравствует быдлокодинг
http://codepen.io/anon/pen/ZWQEWG
>>678494
#80 #678434
#81 #678444
>>678417
Хипстоте нравится.
#82 #678494
>>678430
Спасибо! :3
#83 #678497
>>678417
Не обязательно ими пользоваться.
>>678515
#84 #678502
>>678231
Объяснишь?
#85 #678507
>>677964
Можно через прикладывание паспорта - гугли passport.js
#86 #678515
>>678497
В своем коде да, но в чужом тоже приходится копаться.
>>678525
#87 #678525
>>678515
Кода меньше, чем при прототипном наследовании.
>>678578
#88 #678536
Хочу написать веб-сервер для игры на Node.js. С чего начать? С js уже немного работал + несколько лет работал с C#.
>>678545
#89 #678545
>>678536
Почитать гайды и повторить, написав простой сервер, после смотришь примеры с монгой и как только освоишь сохранение и выдачу данных клиентам можешь добавлять в резюме владение Node.js и Mongo.db

Уверяю, будешь знать больше, чем 99,9999% людей у которых есть эта строчка.
#90 #678574
>>678545

> после смотришь примеры с монгой


Лучше redis+mongo, а так двачну.
#91 #678578
>>678525
Смысл в том, что наследование в любом виде нахуй не нужно вообще практически никогда. А теперь его как бы поощряют, добавив синтаксис класса.
>>678583>>678586
#92 #678583
>>678578
Иногда все-таки нужно. Часто работаешь с чужим кодом с классами?
>>678596
#93 #678586
>>678578
Ты охуел что ли.
Ты что там пишешь, не используя даже прототипное наследование, блядь.
>>678591>>678596
#94 #678591
>>678586
На большинстве сайтов-таки действительно не нужно.
>>678607
#95 #678596
>>678583
Нет, я не согласен. Композиция > наследование. Всегда. (есть вариант, когда много объектов-детей , допустим 50 тысяч в секунду, тогда наследование будет лучше в плане быстродействия, но если твой код создает 50к объектов в секунды, то ты явно делаешь что-то не так)
С классами много работаю, сейчас есть проект на реакте, там иногда по 3-4 уровня наследуются компоненты, и это пиздец скажу я вам. Разобраться что происходит очень сложно, нужно по цепочке туда-сюда ходить постоянно, смотреть у кого какие методы.

>>678586
Да ничего особенного, сайтики всякие, то, сё.
>>678601
#96 #678598
>>678608
#97 #678601
>>678596

>Разобраться что происходит очень сложно, нужно по цепочке туда-сюда ходить постоянно, смотреть у кого какие методы.


То есть в случае прототипного наследования этого делать не придется?
>>678603
#98 #678602
>>678398
Хуета зеленая
#99 #678603
>>678601
Да нет, я же говорю, в любом случае наследование это плохо. Тем более в жсе то всё прототипное, класс это просто сахарок.
>>678604
#100 #678604
>>678603
Как тогда решать проблему, когда есть множество одинаковых методов, кроме как наследованием?
>>678605>>678613
#101 #678605
>>678604
Стратегией
>>678610>>678671
#102 #678607
>>678591
Ну так ничего, что у любого DOM-элемента, который ты берешь, методы наследуются от прототипа. То же самое методы массива, функций, етк.
>>678609
#103 #678608
#104 #678609
>>678607
Переопределять-то их не приходится.
>>678612
#105 #678610
>>678605
Развернешь?
#106 #678612
>>678609
Но по факту ты пользуешься этим самым прототипным наследованием.

То же самое во всех твоих фреймворках, которые ты используешь. Ты пользуешься им. Оно тебе нужно.
>>678662
#107 #678613
>>678604
Композицией, я же написал уже.
>>678671
#108 #678626
>>678545
А какой модуль использовать? Клиент будет присылать POST запросы с JSON данными. В ответ нужно будет отсылать JSON данные.
#109 #678644
>>678545
Монго говно, разве что.
>>678645
#110 #678645
>>678644
Говно тут только ты.
>>678650
#111 #678650
>>678645
Это объективно самая слабая nosql база данных. Реально, хуже сложно было придумать.
#112 #678662
>>678612
Ты не понял, что анон имел в виду?
#113 #678671
>>678613
>>678605
Кинете ссылки?
>>678680
#114 #678680
>>678671
На что ссылки лол? Просто погугли "composition over inheritance javascript", что-нибудь такое

Хоть какое-то наследование в жс можно делать только через тайпскрипт, иначе огромного количества багов и непонятной всякой херни не оберешься.
>>678683
#115 #678683
>>678680

>composition over inheritance javascript


Чем композиция так принципиально отличается от наследования?

>Разобраться что происходит очень сложно, нужно по цепочке туда-сюда ходить постоянно, смотреть у кого какие методы.


Разве тебе не придется смотреть, какие методы у объектов?
>>678695
#116 #678695
>>678683

>Чем композиция так принципиально отличается от наследования?


Бла, ну я тебе буду расписывать теперь отличия? Если не научишься гуглить, то никогда в жизни не станешь кодером
Composition - has-a relationship between objects.
Inheritance - is-a relationship between classes.

Composition - Composing object holds a reference to composing classes and hence relationship is loosely bound.
Inheritance - Derived object carries the base class definition in itself and hence its tightly bound.

Composition - Used in Dependency Injection
Inheritance - Used in Runtime Polymorphism

Composition - Single class objects can be composed within multiple classes.
Inheritance - Single class can only inherit 1 Class.

Composition - Its the relationship between objects.
Inheritance - Its the relationship between classes.

>Разве тебе не придется смотреть, какие методы у объектов?


Ну там хотя бы подсветка методов будет и их сигнатуры
>>678702>>678707
#117 #678702
>>678695

>Ну там хотя бы подсветка методов будет и их сигнатуры


То есть проблема в IDE?
>>678716
#118 #678707
>>678695
_.extend(newObj, objWithMethods); - это композиция?
>>678716
#119 #678716
>>678702
Потерял нить разговора.
Ты спросил не придется ли мне смотреть методы объектов в тайпе, я ответил, что там это делается проще, т.к. есть анализатор. Причем тут ИДЕ?

>>678707
Да.
>>678718
#120 #678718
>>678716
Чем _.extend() отличается от extends <className>, в контексте неудобства просмотра? Что ты видишь в первом случае, а что ты не видишь во втором?
>>678728
#121 #678728
>>678718
Я же выше скинул список принципиальных отличий. Все они применимы в этом случае.

Например:
Composition - Single class objects can be composed within multiple classes.
Inheritance - Single class can only inherit 1 Class.

Могу на простом примере объяснить.
Допустим мы хотим сделать Машину.

Как примерно это будет сделано при наследовании:
1) Мы сделаем некий абстрактный (уже херово звучит, правда?) класс я даже не могут придумать чего. Некую абстрактную машину. У неё будут колёса и движок.

2) Затем отнаследуем от неё легковую машину. У неё будет легковой корпус и 4 сиденья.

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

4) Затем мы захотим сделать кабриолет, отнаследуем его от обычной легковой и сделаем ему корпус без крыши.

5) Затем захотим электрический кабриолет, тут уже начинается полная жопа, когда не ясно что вообще где и от кого наследуется и полный пиздец кровь кишки распидорасило

Заранее очень сложно продумать итоговую архитектуру, по сути это сделать в 99% случаев невозможно.

Как это выглядело бы при комопозиции:

1) У нас есть маленький классы-детали. Кузовы (легковой, грузовой, кабриолет и т.д.), движки(электрический, обычный, водяной, любой в общем), цвет, что угодно.

2) Чтобы сделать машину мы просто собираем её из частей:
краснаяЛегковаяЭлектрическаяМашина = СделатьМашину(легковойКузов,красныйЦвет,электрическийДвижок)
синяяГрузоваяБензиноваяМашина = СделатьМашину(грузовойКузов,синийЦвет,бензиновыйДвижок)

В целом примерно так. Это конечно самые основы, там куча всего есть ещё, много нюансов, но наследование проигрывает по всем пунктам почти.
#121 #678728
>>678718
Я же выше скинул список принципиальных отличий. Все они применимы в этом случае.

Например:
Composition - Single class objects can be composed within multiple classes.
Inheritance - Single class can only inherit 1 Class.

Могу на простом примере объяснить.
Допустим мы хотим сделать Машину.

Как примерно это будет сделано при наследовании:
1) Мы сделаем некий абстрактный (уже херово звучит, правда?) класс я даже не могут придумать чего. Некую абстрактную машину. У неё будут колёса и движок.

2) Затем отнаследуем от неё легковую машину. У неё будет легковой корпус и 4 сиденья.

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

4) Затем мы захотим сделать кабриолет, отнаследуем его от обычной легковой и сделаем ему корпус без крыши.

5) Затем захотим электрический кабриолет, тут уже начинается полная жопа, когда не ясно что вообще где и от кого наследуется и полный пиздец кровь кишки распидорасило

Заранее очень сложно продумать итоговую архитектуру, по сути это сделать в 99% случаев невозможно.

Как это выглядело бы при комопозиции:

1) У нас есть маленький классы-детали. Кузовы (легковой, грузовой, кабриолет и т.д.), движки(электрический, обычный, водяной, любой в общем), цвет, что угодно.

2) Чтобы сделать машину мы просто собираем её из частей:
краснаяЛегковаяЭлектрическаяМашина = СделатьМашину(легковойКузов,красныйЦвет,электрическийДвижок)
синяяГрузоваяБензиноваяМашина = СделатьМашину(грузовойКузов,синийЦвет,бензиновыйДвижок)

В целом примерно так. Это конечно самые основы, там куча всего есть ещё, много нюансов, но наследование проигрывает по всем пунктам почти.
>>678731>>678740
#122 #678731
>>678728

>краснаяЛегковаяЭлектрическаяМашина = СделатьМашину(легковойКузов,красныйЦвет,электрическийДвижок)


>синяяГрузоваяБензиноваяМашина = СделатьМашину(грузовойКузов,синийЦвет,бензиновыйДвижок)


Это можно передавать в конструктор.
>>678745
#123 #678740
>>678728

>2) Чтобы сделать машину мы просто собираем её из частей:


>краснаяЛегковаяЭлектрическаяМашина = СделатьМашину(легковойКузов,красныйЦвет,электрическийДвижок)


>синяяГрузоваяБензиноваяМашина = СделатьМашину(грузовойКузов,синийЦвет,бензиновыйДвижок)


Композиция это методология, а паттерн это фабрика, и фабрики хороший подход, я их тут разбирал уже, если вкратце, то можно совмещать наследование и композицию.
>>678745>>678751
#124 #678745
>>678731
Ну правильно. Если ты передаешь в конструктор, то у тебя получается композиция, но как бы через некую фабрику, а не наследование, лол.
Правда всё равно в итоге будет лучше, если это будет собираться их отдельных объектов, а не делаться через огромную фабрику, в которой потом будет нереально разобраться, если у тебя допустим 100 частей машины.

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

>>678740
Я ни слова про фабрику не говорил, ты что-то путаешь.

>можно совмещать наследование и композицию.


Не согласен. Наследование в 99.9% случаев это плохо, в итоге всё пойдет на перекосяк, как бы в начале хорошо это не смотрелось.
>>678747
#125 #678747
>>678745

> Наследование в 99.9% случаев это плохо


Стандартные методы стоит выносить в базовый класс, а вот различия реализовывать через композицию.
>>678751
#126 #678751
>>678747
Нет, не стоит. Я именно про это и говорю. Вначале, пока проект маленький, может показаться, что лучше делать так, типо меньше бойлерплейта и т.д. Но в итоге получится каша, появятся какие-новые методы, придется твой изначальный базовый класс обернуть в другой СуперБазовыйКласс, цепочки наследования будут друг друга переопределять постоянно, в общем я думаю, кто хотел, тот понял о чём я.

>>678740
О, я понял почему ты про фабрику подумал. Нет, метод сделатьМашину это не фабрика, я наверно не очень хорошо выбрал название, нужно было просто назвать extends или compose, это просто абстрактный метод объединения объектов, не фабрика, ему всё равно что подсовывать.

краснаяЛегковаяЭлектрическаяМашина = compose(легковойКузов,красныйЦвет,электрическийДвижок)
большойЧерныйЧеловек(чернаяКожа,большойЧлен,обезъяна)
>>678753>>678758
#127 #678753
>>678751

>большойЧерныйЧеловек = compose(чернаяКожа,большойЧлен,обезъяна)


быстрофикс
#128 #678758
>>678751

>придется твой изначальный базовый класс обернуть в другой СуперБазовыйКласс


Не придется оборачивать, придется добавить/поменять методы базового класса, на то он и базовый. А если нужно что-то еще, то добавляешь через композицию. Это соотносится с идеей "не больше 1 уровня наследования".
Фабрика это просто функция, которая принимает объект(ы) и возвращает объект.
>>678764
#129 #678764
>>678758
Ну если так, то пожалуйста. Это практически и не будет наследованием даже, убедил.
>>678766
#130 #678766
>>678764
Если тебе надо подсвечивать методы базового класса при наведении, то можешь дописать эту функцию в атоме.
>>678767
#131 #678767
>>678766
У меня тайпскрипт, я же уже писал, там всё подсвечивается.
#132 #678772
https://jsbin.com/qecegibuso/edit?html,js,output

ИТАК. Почему не работает кнопка ОЧИСТИТЬ?

Не спрашивайте насчет остального, всё хорошо работает.
>>678782
#133 #678782
>>678772
Назови по-другому
Долго объяснять почему, захочешь - погуглишь
>>678783
#134 #678783
>>678782
спасиб
>>678784
#135 #678784
>>678783
Кстати, это происходит именно потому, что в остальном ты код написал как говно, не делай так больше, няша
>>678785
#136 #678785
>>678784
Я хз как написать этот код лучше.
>>678787>>678788
#137 #678787
>>678785
Как минимум не использовать инлайн ивенты и обращение к айдишникам через глобальную переменную.
>>678790>>678800
#138 #678788
>>678785
Вот так же как ты, только совершенно иначе.
То, как написал ты - не пишут.
>>678790
#139 #678790
>>678787

Окей, я попробую написать лучше (скорее нет).
>>678788
Остроумное замечание?
#140 #678800
>>678787
Вообще. Перепиши мне код тогда, пжалст. Тебе практика - я не говнокодер в ближайшем будущем.
>>678802
#141 #678802
>>678800
Лол, вот мне нехер делать, а? Я уже сказал, что нужно переписать, захочешь -перепишешь.
>>678803
#142 #678803
>>678802
А может ты? (ЧТО ТАКОЕ ИНЛАЙНИВЕНТЫ)
>>678807
#143 #678807
>>678803
Инлайн ивенты это onclick в хтмл, так делать нельзя.
>>678810>>679192
#144 #678810
>>678807
Тогда как ты мне предлагаешь запустить скрипт из хтмл файла?
>>678817
#145 #678817
>>678810
Всё, соррь, на такие нубские вопросы нет времени отвечать, у меня вообще отпуск, пойду гамать.
>>678818>>678820
#146 #678818
>>678817
Во что играешь?
>>678828
#147 #678820
>>678817
Да ты лол просто. Единственный способ вызвать скрипт, отображающийся потом на хтмл странице это вызов её через инлайн ивент. Но ты говоришь нет, не надо. что за нах. Объясни быстро, плс.
>>678824>>678826
#148 #678824
>>678820
Толсто.
>>678827
#149 #678826
>>678820
addEventListener
>>678830
#150 #678827
>>678824
Ээ, я серьезно вообщет
>>678829
#151 #678828
>>678818
path of exile
>>678830
#152 #678829
>>678827
Ну, как ты будешь вызывать скрипт с помощью инлайнов не по клику, а по тоучу, например?
#153 #678830
>>678826
>>678828
ты няша. Не такой как все остальные двачеры.
#154 #679192
>>678807
ng-click
#155 #679204
Здарова, бандиты, помогите начинающему погромисту плес.

На страничке нужно найти кликабельный элемент по строке и кликнуть на него.
Например, есть строка "Hello, 2ch!". Ищем эту строку на странице, затем пошагово доходим до первого родителя с элементом onclick и кликаем на него .click().
>>679233>>679424
#156 #679233
>>679204
jquery используй. А именно contains и closest. Ну или навелосипедь рекурсивный проход по нодам вглубь с проверкой textContent, потом в цикле parentNode с проверкой наличия обработчика.
>>679239>>679253
#157 #679239
>>679233
А можно ли использовать jquery в консоли браузера. Просто это у меня такой бот, запускаемый из под консоли браузера.
>>679295
#158 #679253
>>679233
Навелосипедил, используя проверку textContent, благо проверить надобно не больше 4 блоков
#159 #679295
>>679239
Можно, если там подключен жквери
#160 #679352
>>678033
Бамп, няши.
>>679373>>679402
#161 #679373
>>679352
Иди нахуй, дебил
#162 #679402
>>679352
Да, это правда. Ещё вопросы?
#163 #679424
>>679204
Скорей всего это невозможно в данный момент.
>>679465
#164 #679465
>>679424
Хорошо зашло, да?
#165 #679566
Сап, посоветуйте какой-нибудь интенсив для фронт-енда.
>>679568>>679580
#166 #679568
>>679566
Опыт других ЯП есть (Java, c++)
>>679605
#167 #679580
>>679566
хтмлакадеми?
>>679640
#168 #679605
>>679568
Haskell тоже способствует
#169 #679640
>>679580
Начал там, 1 раздел прошел.
По JS там есть что бесплатное?
inb4 курс не смотрел полностью.
>>679778
#170 #679649
>>677826 (OP)

>НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!


НИ ТО ОН ВЗОРВЁТСЯ!!!
>>679653>>679660
#171 #679653
>>679649
Да вы же дебилы. Если капсом не выделить - не прочитаете. Да и с капсом не факт.
4566 Кб, Webm
#172 #679660
>>679649
Ты дебил? Дурака кусок.
#173 #679713
Короче. Мне нужно создать функцию, которая будет мультипоточно, допустим, в 10 потоков параллельно грузить 10 страниц, ЖДАТЬ ПОКА ЭТО ГОВНО ЗАГРУЗИТСЯ, а потом выдавать общий для них результат.
Допустим, каждый запрос должен по окончании положить какую-то инфу в общий массив.

Как это сделать? На недоебаном яваскрипте одни setTimeout и setInterval, а о синхронизации тредов и обмене информацией между ними там походу никто не слыхал.
Эта задача вообще выполнима?
#174 #679716
>>679713
Итого, мне нужна синхронная функция, которая асинхронно выполняет 10 запросов и выдает результат.
#175 #679736
>>679713
Почитал про webworker, эта параша поддерживает только строго ограниченный набор функций.
Jquery не поддерживает, ибо это имеет отношение к DOM.
Похуй блядь, что я из него юзаю только .ajax и парсеры той инфы, которую через ajax получаю, то бишь к основному DOM страницы я отношения вообще не имею.

Сука, какой парашный язык, у меня багет. Это как пхп, только в 3 раза хуже.
>>679742
#176 #679742
>>679736
Итого блядь, придется для этой хуйни перепысывать все запросы на нативный яваскрипт, а парсеры на регулярки. Я ебал, и почему это говно популярно у хипстерков? Там же что-то сложнее хеллоуворда написать нереально
>>679752
#177 #679752
>>679742
worker.addEventListener('message', function(e) {
console.log('Worker said: ', e.data);
}, false);

Обосраться, это говно тоже асинхронное. Оно не может дождаться завершения тредов, оно только принимает от них ответы.
На яве ВООБЩЕ нельзя сделать парараллельную синхронизированную работу нескольких тредов?
>>679758>>679797
#178 #679758
>>679752
Ява-ява, пасаси раззява)))
#179 #679763
>>679713
Promise.
>>679766
#180 #679766
>>679763

>Promise


Говно, опять та же асинхронная параша с обработчиками событий, только в профиль.

В яваскрипте похоже вообще анриал сделать нормальную синхронизацию, только пидорские колбеки и обработчики хуйни, который вызываются по по одному, хуй пойми где и хуй пойми когда.
>>679771
#181 #679771
>>679766
Ты уверен в выборе инструмента? Ты уверен, что не хуйню делаешь?
>>679776
#182 #679772
Может я не так спрашиваю?

Как отправить на выполнение несколько асинхронных тасков и подождать их выполнения?
Но только не в ебаном обработчике события, а прямо не выходя из функции.
#183 #679776
>>679771

>Ты уверен в выборе инструмента?


Расширение под браузер. Я не ебу, может браузеры поддерживают какие-то более вменяемые диалекты яваскрипта, где мультитрединг нормальный есть?
>>679779
#184 #679778
>>679640
я про интенсивы

Базовый интенсив за 2015 год:
http://nnm-club.me/forum/viewtopic.php?t=899131

Продвинутый интенсив за 2015 год:
http://nnm-club.me/forum/viewtopic.php?t=900609

Базовый JS интенсив за 2015 год:
http://nnm-club.me/forum/viewtopic.php?t=974803
>>680203
#185 #679779
>>679776

>мультитрединг


Чтобы что? Browser connection limit: 6-8, если что
Грузишь свои страницы через Promise.all, пидорасишь их, profit.
>>679781
#186 #679781
>>679779

>Promise.all


О, спс, похоже это ПОЧТИ то что надо.

Promise.all([
httpGet('/article/promise/user.json'),
httpGet('/article/promise/guest.json'),
httpGet('/article/promise/no-such-page.json') // (нет такой страницы)
]).then(
result => alert("не сработает"),
error => alert("Ошибка: " + error.message) // Ошибка: Not Found
)

Только вот я один хуй не могу дождать в той же среде кода завершения всех примисов. Тот же самый обработчик события навешивается, получить результат из которого я не смогу.
>>679783>>679789
#187 #679783
>>679781

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


Просто пишешь .then снова и снова, в "той же среде" ты ничего не дождешься, почтому что она выполняется до промисов
>>679788
#188 #679784
>>679713
Судя по всему, ты дЖеквери хочешь использовать?
Ну так у него .ajax() асинхронный.
Вызываешь его N раз и сидишь ждешь.
Не нравятся колбэки? .ajax() возвращает deffered, и тогда тебе надо читать про $.when() и deffered.done()
#189 #679788
>>679783

>Просто пишешь .then снова и снова


Бля, будет лапша-код, типа тех кодов где 100500 вложенных условий if.

У меня и без промисов такая мысль была, но это убьет нахуй всю структуру кода, одна большая асинхронная поебень получится, где я ничего не смогу контролировать.
>>679792>>679794
#190 #679789
>>679781
делай чтобы каждый (ну или тот, который возвращает ошибку) промис из списка возвращал пустое значение типа httpGet('/article/promise/no-such-page.json').catch(() => []) если я тебя правильно поянл
#191 #679792
>>679788
ну так заверни в хелпер епта
#192 #679794
>>679788
Нет, без промисов будет callback hell, с промисами чуть легче: Promise.all().then(...).then(...).then(...)
Можешь конечно подождать es7, там будут async/await
#193 #679797
>>679752
Цепочка промисов.
#194 #679799
>>679713
async.parallel
Что-то все моднее становится не гуглить и ругать язык
>>679801
#195 #679801
>>679799

>async.parallel


Это из ноды?
>>679802
#196 #679802
>>679801
И на фронте есть. Либа async
#197 #679803
Как писать парсеры на JS, такие, которые будут работать в браузерной строке, например, такой который будет нажимать на необходимую кнопку и перезагружать страницу после этого? Как в парсерсе симитировать нажатие на по ссылке у которой есть id? Извините если что за нубский вопрос, я не так давно начал изучать яваскрипт.
>>679804
#198 #679804
>>679803
Это разве парсер? Больше на бота какого-то похоже
>>679814
#199 #679814
>>679804
Ну может и бот, в общем мне надо написать короткий код, который можно вставить в браузерную строку, а он нажмёт по нужной ссылке и перезагрузит страницу. Первое что приходит в голову, прописать функцию, которая будет запускать определённый файл с кодом, и добавить его например в head, который будет кликать по ссылке и перезагружать страницу, мне надо только понять как можно сымитировать клик по ссылке, после того как этот скрипт запуститься.
>>679816
#200 #679816
>>679814

>javascript:$('.btn-primary').click();location.reload()

>>679834
#201 #679834
>>679816

>javascript:$('.btn-primary').click();location.reload()


О, спасибо, но тут на jQuery, браузер же не воспримет, надо подключить вначале jQuery?
>>679837
#202 #679837
>>679834

>javascript:document.querySelector('.btn-primary').click();location.reload()



Ну или подключи жидквери, да
>>679855>>679862
#203 #679855
>>679837
Да, спасибо, то что нужно, оказалось всё очень просто.
#204 #679862
>>679837
А если не сложно, можешь подсказать, как сделать так, чтобы скрипт работал не только тогда, когда ты находишься на странице где есть эта кнопка, а в любом месте сайта где есть эта кнопка?
>>679866
#205 #679866
>>679862
Эм, так же? Не понял твой вопрос
>>679875
#206 #679875
>>679866
Допустим кнопка находится по адресу www.site.com/loader.php а я хочу вставить этот скрипт на любом адресе сайта, например по адресу www.site.com/upload.php
>>679876
#207 #679876
>>679875
Вставить в адресную строку, находясь на другой странице
>>679899
#208 #679899
>>679876
Нет, при переходе на новую страницу скрипты перезагружаются и придется снова вставлять код
>>679912
#209 #679912
>>679899
То есть никак нельзя сделать так, чтобы запускать можно было на любой странице сайта? Я пробовал сейчас делать это при помощи вот этого window.location.assign(url) но страница просто перезагружается и нажатие по кнопки не срабатывает. Получается возможности сделать с любой страницы нет?
>>679914
#210 #679914
>>679912
Нет, код работает на той странице на которой ты находишься, так что с адресной строкой не прокатит. Можешь юзер скрипт сделать, который будет запускаться при переходе на нужную страницу.
>>679918
#211 #679918
>>679914
Это нужно делать через браузер? То есть делать как расширение для браузера получается?
>>679924
#212 #679924
>>679918
Немного легче даже, качаешь tampermonkey/greasemonkey в зависимости от религии, в этом расширении уже пишешь обычный скриптик, он срабатывает когда на нужную страницу зайдешь Зависимость есть
4 Кб, 640x101
#213 #679927
Что это за хуйня? Короче в цикле пишу
for ()
{
console.log ('Page ' + N + ' loaded');
}

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

В принципе, круто, но хотелось бы знать, как это вообще работает. Гугл хром.
>>679931
#214 #679931
>>679927
Код то покажешь?
>>679932
#215 #679932
>>679931
Да я показал.

for (i = 0; i < 5000; i += 100)
{
console.log ('Page ' + i + ' loaded');
}

Гугл хром выводит сразу последнюю цифру цикла в консоль, а заместо остальных эту синую табличку, которая меняется аккурат по мере выполнения цикла и показывает i
>>679934>>680084
#216 #679933
Единственная в своем роде телеграм конфа по лучшему в мире языку. https://telegram.me/joinchat/BE8kJwf-WVg8DXyoEeHixw
5 Кб, 148x333
#217 #679934
>>679932
Niet у тебя там setTimeout или другие колбэки
>>679938
#218 #679938
>>679934
Ну вообще да там промисы ебаные, асинхронные запросы. Надо же как-то это говно все-таки сделать, пусть уж будет лапша-код
>>679942
#219 #679942
>>679938
Так вот надо i передавать в этот колбэк
>>679945
#220 #679945
>>679942
Ладно, это все хуйня.

Подскажи лучше, как результат промиса передат не во вложенную функцию (или как там эта хуйня называется, лямбда?), а в отдельную.

Есть это
Promise.all([
httpGet('/article/promise/user.json'),
httpGet('/article/promise/guest.json')
]).then(results => {
alert(results);
});

А надо че-то типа этого
function result (){}

Promise.all([
httpGet('/article/promise/user.json'),
httpGet('/article/promise/guest.json')
]).then(results => result (results));
>>679948
#221 #679948
>>679945
А, все, понял

function result (_results){}

Promise.all([
httpGet('/article/promise/user.json'),
httpGet('/article/promise/guest.json')
]).then(result);
#222 #679982
А, ну еще вопросец. Но вряд ли кто-то знает.
Короче надо в расширении под хром (или просто в какой-то хуете типа темперманки или даже голым яваскриптом, если возможно) надо вообщем сделать вечный цикл, который будет работать даже при переходе между страницами. И будет отдавать конент-скрипту инфу.

Короче он переодически будет грузить всякую ебалу с серверов, а контент-скрипты на страницах должны получать эту свежую инфу. Она устревает раз в минуту, так что важно, а грузить ее постоянно в каждом скрипте не вариант, ибо грузится она как раз с эту минуту.
>>679996>>680030
#223 #679996
>>679982
https://developer.chrome.com/extensions/background_pages
И делаешь ей setInterval например
>>680003
#224 #680003
>>679996
Лол, сработало.
var i = 0;
var refreshIntervalId = setInterval (function ()
{
++i;

//---------------
alert (i + ' lol');
//---------------

if (i >= 10)
{
clearInterval (refreshIntervalId);
}
}, 1000);

Правда нихуя не понятно, как инфу передавать контент-скрипту?
>>680007
#226 #680010
>>680007
Спасибо
#227 #680013
>>677826 (OP)
Привет, анон, если ты джун и выше - .NET конфа приглашает тебя в свои ряды. Делимся опытом, помогаем с поиском работы, бугуртим после отказа на собеседованиях, копаемся в чужих говнокодах.
(Так же приветствуются JS и фулстаки)
https://telegram.me/joinchat/CBkRKT2h17QNagOSer0uNA
#228 #680030
>>679982
Есть еще SharedWorker
#229 #680084
>>679932

>Гугл хром выводит сразу последнюю цифру цикла в консоль, а заместо остальных эту синую табличку, которая меняется аккурат по мере выполнения цикла и показывает i


Нет, он не i показывает, а группирует одинаковые принты. Сделай цикл с 10000 до 10500 и увидишь.
#230 #680175
Ящитаю на добавить nodeschool.io и конкретно npm install -g javascripting в шапку. Заставляет писать код а не просто читать стены текста, очень полезно.
#231 #680203
>>679778
Спасибо.
#232 #680225
Котаны, как юзать полифиллы? Вставлять в тот же скрипт, в котором они нужны, их код, или отдельно подключать?
>>680239>>680337
#233 #680239
>>680225
Отдельно подключи
#234 #680240
>>677826 (OP)
Не знаю как задать вопрос. В общем встаю на шаткий путь js разраба, что бы вкатиться в разработку. Пока что пишу всякие скриптики и программки for fan как хобби по вечерам на VBA и python, пару раз на ангуляре писал работающие с базой простенькие приложения. Пока писал придумал вопрос: где можно подсмотреть хорошие, годные практики написания кода, архитектур приложений на js и всякого такого, что бы расти не как быдлокодер, а как белый человек в написании кода.
>>680348>>680757
#235 #680291
Возможно тупой вопрос, но selectivizr.js (библиотека для работы с css3-селекторами в IE8) подключат также работу с этими селекторами в самом JS?
То есть, если мне надо, чтобы в IE8 работало QuerySelecor(...:last-child), то он он будет с этой библиотекой работать или будет работать только в ксс?
#236 #680337
>>680225
отдельные файлы, всё собираешь в один в каком-нибудь гульпе
ультрамодульность @ минификация
#237 #680348
>>680240
Универсального пути нет, братуха. Есть книжка patterns, но там общие вещи, для конкретноно фреймворка бери style guide, документацию и конкретные практики этого фреймворка
#238 #680384
Такая задача:
Надо чтобы к таблице добавлялись строчки, а в них соответствующее количество ячеек. Я в принципе сделал это, постоянно дописывая в tr:last-child нужное количество ячеек. Но это не работает в IE8, а мне надо его поддержку без полифиллов. Как получать последнюю строку таблицы без last-child?
Думаю запилить массив строк и пушить в него эту строчку, но опять же, как получить из DOM последнюю строчку таблицы без last-child и nth-child?
>>680404
#239 #680404
>>680384
Берешь все строки @ берешь последнюю строку
Ти чиво?
>>680420
#240 #680406
Как сохранить инфу между вызовами колл-беков?
Допустим, у меня есть какая-то инфа.

Навешиваю коллбек на событие, когда оно происходит, коллбек должен получить эту инфу.
Она должна как бы храниться где-то между фаерами событий.
#241 #680412
>>680406
В замыкании
>>680423
#242 #680420
>>680404
Ну смотри: я добавил все строки в массив. Получился массив из 10, допустим, строк.
Я добавляю строку через insertRow(). У меня в ДОМе 11 строк, в массиве 10.
Как я добавлю эту последнюю строку в массив без last-child?
>>680472
#243 #680423
>>680412
Это как? Подробнее.

Вообще вот обработчик события.
Он находится в background.js.
chrome.runtime.onMessage.addListener(function(message,sender,sendResponse){
sendResponse({myOloloMessage: "куку епта"});
});

А content.js запрашивает у бекграунда это сообщение. И оно збс доходит, правда только 1 раз.

А в том же самом бекграунде крутится setInterval() с постоянно выполняемой задаче, инфу из которой надо передевать в коллбек того же самого бекграунда.

Как бы обработчик события шлет свежую инфу, НО ЕСЛИ СВЕЖЕЙ НЕТ, то шлет ту, что есть.
Короче надо, чтобы обработчик события имел доступ к обновляемой инфе из setInterval. Как это сделать?
>>680432
#244 #680432
>>680423
Лол, сделал через глобальные переменные window
>>680567
#245 #680472
>>680420
querySelectorAll @ берешь последнюю строку по индексу
Ти совсем бутирата обкушался?
#246 #680539
Массив может быть частью объекта?
var arr = [];

var obj = {'arr': arr}
#247 #680567
>>680432
Короче все же нет, это говно не работает. Переменная не хранится между выховами коллбеков
>>680580
#248 #680580
>>680567
Ну лол, можешь storage попробовать https://developer.chrome.com/extensions/storage
>>680600
#249 #680600
>>680580
Да уже пробую.
Нихуя не пойму.

var prices = mergePromisesResults (_results);

// Запишем цены в localstorage
localStorage['prices'] = prices;
localStorage['priceInfoLastUpdateTime']= getCurrentTimeString ();

На этом этапе данные существуют. Как только передаю их через message passing в контент-скрипт - все, нихуя, они просто пропадают нахуй.
>>680604
#250 #680604
>>680600
Ну так это localStorage, а ты chrome.storage попробуй
>>680633
#251 #680613
>>680406
Промисы.
>>680621
#252 #680621
>>680613
И как это ими сделать?

Короче есть 2 обработчика разных событий.
Один куда-то должен писать инфу, другой считывать
>>680647
#253 #680633
>>680604
Нихуя не пойму, какое-то говно, данные пропадают.

chrome.storage.sync.set({'prices': mergePromisesResults (_results)}, function()
{
// ???
});

chrome.storage.sync.get("prices", function(data) {
console.log ('loging data: ' + JSON.stringify (data));
printPrices (data);
});

После mergePromisesResults (_results) данные точно есть, а потом нихуя - loging data: {"prices":"[]"}
>>680642
#254 #680642
>>680633
Ну охуеть, оказывается это говно асинхронное. В чем тогда смысл вообще?

Короче.
Есть 2 обработчика разных событий.
Один куда-то должен писать инфу, другой считывать. А между их вызовами инфа должна храниться где-то в общем месте
>>680648
#256 #680648
#257 #680657
>>680647
Спасибо за старания, но я вообще не понимаю какое это имеет отношение к моему вопросу.

Есть 2 функции.

function handler1 ()
{
generalData = 'ololo';
}

function handler1 ()
{
console.log (generalData);
}

Эти 2 фукнции привязаны к обработчикам РАЗНЫХ событий.

Они случаются не 1 и не 2 раза, а постоянно.

Надо чтобы один обработчик инфу записывал, а другой считывал.
>>680660>>680910
#258 #680658
Доброго вечера местным анонимам.
Не поможете? Нужно написать программу. Автоскрытие по нику. Поскольку я даун-аутист, прошу помощи у вас.
>>680662
#259 #680660
>>680657

>Эти 2 фукнции привязаны к обработчикам РАЗНЫХ событий.


Вызывать одну из другой, хранить глобальный стейт. Четче формулируй задачу, тут нет телепатов.
>>680663
Аноним #260 #680662
>>680658
Ник в емайл?
>>680665
#261 #680663
>>680660

>Вызывать одну из другой


Ну охуеть теперь. Из какого-нибудь onClick вызывать submit и дрочить друг друга, охуенная идея бля
>>680667>>680669
#262 #680665
>>680662
В чате на сайте.
>>680670
#263 #680667
>>680663
Только еще доступа к DOM у меня нет и я не могу записать всю эту поебень куда-нибудь в скрытый инпут
#264 #680669
>>680663
Глобальный стейт, что тебе еще надо? Можешь хранить в замыкании объекта "settingsManager" и получать типа settingsManager->get("generalData");
#265 #680670
>>680665
Получать ноду через querySelector, парсить, ставить display: none, если ник негодный.
>>680671
#266 #680671
>>680670
Можно подробнее? Я в этом деле профан.
>>680689
#268 #680689
29 Кб, 600x300
#269 #680698
>>680687
Ого. Благодарю, анон. Держи обсерваторию.
#270 #680757
>>680240

>Пока что пишу всякие скриптики и программки for fan


Охуеть, программируемый вентилятор.
#271 #680807
Поясните за порядок выполнения javascript-кода.

Как выполняется обычная прога на какой-нибудь яве, C++, сиське, шарпе или пыхе?
От начала и до конца.
В некоторых языках есть треды, правила работы с которыми просты и понятны.

Но ебучий яваскрипт.
Вот взять setInterval(). Где выполняется этот код? Какую область видимости имеет? Он пересоздается заново каждый раз или как?
Как организовать связь между двумя кодами в интервалах?
>>680814>>681115
#272 #680814
>>680807
А доки мы читаем жопой. Гугли EOP.
>>680819
#273 #680815
EDP то есть.
57 Кб, 655x613
#274 #680819
202 Кб, 960x1280
#275 #680827
Посоны, делаю чат, как отображать сообщения со всякими тегами и т.д типа: "<br><script>" как есть? Нужно что бы, как пользователь написал так и было, как сделать?
>>680828>>681487
#276 #680828
>>680827
innerHTML
если я тебя конечно правильно понял
>>680832>>680842
#277 #680830
test &copy;
>>680832
#278 #680832
>>680828
>>680830
Ну вот типа такая херня у меня в символ копирайта превращается, а нужно, что бы как ту работало. Сейчас попробую innerHTML
>>680857
107 Кб, 640x640
#279 #680842
>>680828
А можно как то в css прописать, что бы внутри тэга текст отображался как есть, что бы теги не считывались?
#280 #680857
>>680842
Есть там какое-то правило, гугли, но оно вроде имеет свои подводные камни, один раз использовал когда-то, не сильно удачно. >>680832
Не, тогда скорее всего innerHTML не поможет, по крайней мере я для таких кейсов его не пользовал. Думал тебе нужно на ходу преображать данные что пользователь ввел в какой-нибудь див.
Например, чувак ввел "Люблю <b>JS</b>" а у него в поле с выводом JS будет выделено жирным.
#281 #680861
>>680842
Тег pre?
>>680866
#282 #680866
>>680861
Там же дизайн по пизде идет.
>>680870
#283 #680870
>>680866
Стилизируется через цсс
#284 #680910
>>680406
>>680657
Короче, так и не могу решить это говно.
chrome.storage асинхронная параша и толку от него нет вообще.
localStorage - тоже походу.

Я просто блядь не могу сука передать информацию между коллбеками.
Даунизм какой-то
>>680911
#285 #680911
>>680910
Пишу

localStorage.prices = JSON.stringify (mergePromisesResults (_results));
console.log (localStorage.prices);

Выводит []
Если просто написать console.log (mergePromisesResults (_results)); - все выведет корректно.

Ну вот что это за дерьмо, только что блядь записал в сторедж, считываю - а там блядь пусто
>>680969
#286 #680919
>>680842
white-space:pre-wrap
#287 #680969
>>680911
Хелп! Че делать-то?

Еще раз поясняю ситуацию.

В background.js разширения хрома запускается setInterval(), который должен класть куда-то данные, чтобы потом из content.js сообщением вызвать коллбек из бекграунда, который должен эти данные ему отослать.

Так вот, localStorage тупо не пашет, как и chrome.storage. Кладешь туда данные - а вытаскивать нехуя, ибо их нет.
>>680989
#288 #680989
>>680969
Аааа блять кажись че-то получилось.

// Ловим сообщения конент-скрипта.
chrome.runtime.onMessage.addListener(function(message,sender,sendResponse)
{
// Обрабатываем только определенные сообщения.
if (message.target == 'getMePrices')
{
//alert ('message received, sending data. Prices: ' + JSON.stringify (pricesDone));
//printPrices (pricesDone);
sendResponse({
ololo: 'OLolosdfasdfs',
prices: JSON.stringify (pricesDone)
});
}
});

Я в одном коллбеке навешиваю другой коллбек, а второй-то имеет доступ к переменным первого.
Только один вопрос. Это я что, заменит ли новый листенер предыдущий или я так навешиваю все новые и новые обработчики?
>>681003
#289 #681003
>>680989
Че не промисы, м?
>>681005>>681119
#290 #681005
>>681003
Как???
>>681119
sage #291 #681115
>>680807

>Но ебучий яваскрипт.


>Вот взять setInterval(). Где выполняется этот код? Какую область видимости имеет? Он пересоздается заново каждый раз или как?


>Как организовать связь между двумя кодами в интервалах?



В JS все выполняется в одном треде. Асинхронность реализуется так - ретурн из любой функции, проверка, не пора ли сработать интервалу или таймауту, если да, то переход к телу интервала/таймаута.
#292 #681116
>>680842
Заменяй на < и >
#293 #681117
>>680842
& g t; & l t;
>>681152
#294 #681119
>>681003
Съеби, его задача не для промисов, ему нужен глобальный стейт.
>>681005
https://jsbin.com/vowaxegene/2/edit?html,js,output
>>681899
#295 #681152
>>681117
< тест
#296 #681153

> test

#297 #681344
Вышла переводная недостатейка на хабре про тайпскрипт. Прошла бы мимо, но один коммент доставил, лол:

У меня Javascript с ароматом ванили.
Твои тИпы опять не туда угодили.
>>681452>>681522
#298 #681452
>>681344
Пиздец смешно, просто ухохочешься
#299 #681487
>>680827
Прикручивай ббкод или сам пиши парсер смайликов. А то навставляют тебе жабаскрипта в иннерхтмл по самые гланды.
#300 #681522
>>681344
Просто класс.
2226 Кб, Webm
#301 #681537
на angularjs.орг ссылка на очередные курсы (которых блять как говна везде)
а там блять 5-й класс с дибильными мультики с инфантильной добротой и песенками про контроллеры. пиздец кароч
#302 #681551
>>681537
Похоже на codeschool
#303 #681555
>>681537
Лол даун не знает про охуенные курсы на кодскуле, пидораха ебаная
>>681577
44 Кб, 798x399
#304 #681558
>>681537
А ты хуле хотел? Какие потребители, такие и уроки.
#305 #681577
>>681555
Обмазываюсь доками, курсы для быдла.
#306 #681585
>>681537
Какой пиздец, изучать целыми курсами то, что можно осилить за пару вечеров методом тыка.
>>681606
#307 #681606
>>681585

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


А с курсом за пару часов. ТОЛЬКО ВЫИГРАЛИ!
посмотрел этот курс ради интереса, он действительно очень ОК
34 Кб, 604x397
#308 #681713
Посоны, помогите с фильтрацией. Что-то ебусь, да все никак.
Вот у меня есть сортировка по числу, как мне при onClick и перед сортировкой удалять блок-родитель (column), у которого пустое значение блока value?

https://jsfiddle.net/ptL6jugn/1/
>>681720>>681746
#309 #681714
>>681537
а мне понравился их туториал, правда ангуляру он вообще не учит.
#310 #681720
>>681746>>682201
#311 #681746
>>681720
>>681713
Что ты хочешь-то?
>>681835
#312 #681801
>>677826 (OP)
Анон, как добавить что-то в массив без выпиливания изначального объекта? Т.е есть например
эррейнейм[хуй]=x
Есть некое y которое нужно добавить. Так чтобы было
эррейнейм[хуй]=x+y
Как это сделал? Если сделать обычный пуш или присвоение то прежнее значение же выпиляется и будет
эррейнейм[хуй]=y
>>681818>>681831
#313 #681818
>>681801
Тебе надо чтоб прямо под одним индексом два чего-то было? Или сумма этих двух? Или тебе вообще подойдет чтобы y занимало индекс хуй а остальная инфа со своими индексами сдвигалась?
>>681821
#314 #681821
>>681818
Чтобы под одним индексом два чего-то было
>>681832
#315 #681831
>>681801
arrname[4] = [arrname[4], new_value];
>>681833
#316 #681832
>>681821
Смотря какая там тип данных. Если текст, то сделай простую конкатенацию, ну и с другими типами данных другой способ, но суть, ты изменяешь информацию по идексу, относись к ней как к примитивному типу данных в переменной.
#317 #681833
>>681831
Алсо да, если там массив или такое, то просто записываешь подмассив же.
#318 #681835
>>681746
Ну я же написал, хочу удалять оранжевый блок при нажатии на кнопку, т.к. у него нет значения в value
#319 #681899
>>681119
Хуясе, спс, выглядит неплохо, сейчас попробую
#320 #682173
Все мои друзья, оцените план действий:
1)Добиваю первую часть по Js на learnjavascript
2)Учу html и css
3)Перехожу ко второй части на вышеуказанном сайте документ, события, интерфейсы
4)По пути ознакамливаюсь с JQuery
5)Ебашу свой двач и интернет магазин для портфолио
6)Ищу работу.
7)???
8)Profit
Алсо поясните за удаленную работу. В моем городе программисту работать абсолютно негде, остается фриланс и удаленка. Расскажите про это пожалуйста.
>>682251>>682252
#321 #682201
>>681720
Подскажите хотя бы ход мыслей.
Я пытался фильтровать и сортировать, но в таком случае блоки с пустым значнием пропадают, а нужно, чтоб они просто не участвовали в сортировке.
>>682684
sage #322 #682251
>>682173
Лвл?
>>682433
#323 #682252
>>682173
Если опыта нет, то даже не мечтай. Эти дауны лучше возьмут такого же как они долбоеба-крудошлепа с опытом, чем прошаренного без опыта. Типа так надежнее. Всегда с этого проигрываю.
>>682434
#324 #682253
var yoba = "бла! бла! бла!"

Как отсеять из переменной yoba все буквы и оставить только символы "!" записав их в какую-то переменную?
if (yoba == "!") ниработает.
>>682256
#325 #682256
>>682253
var yoba = "бла! бла! бла!".split("").filter((i) => i === "!")
#326 #682258
>>682256
А, ну ещё .join("") нужно в конце, если тебе строка нужна, ну я думаю ты понял
#327 #682260
>>682256
А вместо "бла! бла! бла!" можно как-то поставить переменную? Пытаюсь сделать так var yoba1 = yoba.split("").filter((i) => i === "!") а мне говорит TypeError: yoba.split is not a function.
>>682262
#328 #682262
>>682260
Да, можно конечно
>>682264
#329 #682263
>>682256
Тогда уж
var yoba = "бла! бла! бла!".split("!").join("")
>>682269
#330 #682264
>>682262
Ну не траль. Скажи как, я же не разбираюсь.
>>682269
#331 #682269
>>682263
Совершенно другой результат будет, ты даже не прочитал, что он хочет
>>682264
Да всё должно работать, если у тебя в переменной строка. Раз TypeError выдает, значит у тебя там не строка
>>682272
#332 #682272
>>682269
Если я правильно понял, то у меня не sting а object, но в ней хранится текст! Как сделать мой реквест с переменной типа object?
>>682317
#333 #682317
>>682272
.toString()
или
String.prototype.substr.call(yoba, 0)
>>682659
#334 #682433
#335 #682434
>>682252
И как получить опыт? В таком случае если перекатываться джуном в ДС2 например, получится? Будет ли зарплаты хватать на съем хаты/комнаты плюс все остальное?
>>682460>>682465
#336 #682437
https://jsbin.com/poyacuxivo/edit?html,js,output
Я правильно понял, как надо реализовывать наследование и расширение методов? Нельзя ли заменить чем-то динамическим Animal.prototype.live(); и Cow.prototype.live();? Копался долго в консоли пытаясь отследить, в итоге получилось через this.__proto__.live(), но FlyingCow в итоге последнюю строку дважды логает из-за this. Голова трещит уже от прототипного наследования, а гугл выдает мне только сраные цепочки из двух конструкторов, где метод перезаписывается прямо во втором конструкторе.
>>682439>>682447
#337 #682439
>>682437

>где метод перезаписывается


Не перезаписывается, а перекрывается своим, ну вы понели.
#338 #682447
>>682437
Прототип надо заполнять через Object.create(Animal.prototype), тому что если Animal абстрактный и кидает ошибку, чтобы пидоры его не создавали, то у тебя все упадет нахуй. Конструктор родителя удобнее вызывать через Animal.apply(this, arguments). Методы родителя нужно вызывать через apply, потому что у тебя this проебался.
>>682454
#339 #682454
>>682447
https://jsbin.com/mexelojuya/edit?html,js,output
Всё правильно понял? Насчет ссылки на метод родителя - так и надо делать, ручками писать прототип родителя?
>>682481
#340 #682460
>>682434
Стажировка. Нет, не будет. Ищи возможность по знакомству устроиться, либо стажируйся.
>>682466
#341 #682465
>>682434
Пили свои пет-проджекты, постоянно повышай планку и будет у тебя опыт. Компании есть разные. Одним нужны опытные разработчики чтоб вот прям щас и все сразу. Другие джунов берут с удовольствием. Твое дело - поднять уровень скиллов до рабочей планки и развиваться дальше, а уж способ заработать всегда найдется.
>>682474
#342 #682466
>>682460
Я не тот антон, но у меня тоже план-экспресс. В мае-июне увольняюсь с заебавшей работы, дрочу месяца три-четыре жс, портфолио туда сюда, пытаюсь найти фриланс-заказы за еду/за бесплатно опять же для портфолио. Потом искать постоянку по месту жительства, можно начиная с стажировки, но чтобы период моей безработицы в сумме не затянулся больше чем на полгода, иначе денег на еду не останется. Хардмод в том, что я в Таллинне, а значит нужно еще ангельский устный подтянуть. Какие у меня шансы на успех?
>>682467
#343 #682467
>>682466

>Какие у меня шансы на успех?


Только полный долбоёб увольняется с работы не имея другого способа заработка или денег прожить ~год (чтобы через полгода понять что нихуя не получается и идти на другую заебавшую работу). За три-четыре месяца можно по вечерам выучиться на фронтэнд джуниора, с внешними мотивирующими факторами у тебя вроде все в порядке.
>>682468>>682473
#344 #682468
>>682467

>За три-четыре месяца можно по вечерам выучиться на фронтэнд джуниора


Сомневаюсь что он на полноценного джуна выучится за этот срок. Максимум продвинутый верстала со знанием джс. Это если конечно, у него нет знаний вообще.
#345 #682473
>>682467
Ну я уже полтора месяца в свободное время со средней активностью подрачиваю его, прочитал книгу Head First HTML5/CSS, learn.javascript.ru основной курс, написал змейку, автоматический слайдер дивов на чистом жс, ручной слайдер картинок на жквери, по мелочам еще. Понял что часто теряюсь в собственном коде, пишу оче грязно и до конца не понимаю как он работает, пошел по основам, потихоньку задрачиваю задачки с codewars, прошел первый курс по ангуляру на codeschool(ну и там еще кучу курсов чтоб закрепить по ванили, верстке, жквери) и потом еще курс просмотрел Udemy - Learn and Understand AngularJS, сам пока не ковырял. С мотивацией, в кои-то веки, всё норм и уверен что не заброшу, вопрос только в сроках, уж сильно заебала текущая работа да и на здоровье сказывается. До всего этого годами ковырял Game Maker лол, даже сделал игрушку на андроед на нем, которую скачало 50к человек и с которой я в сумме заработал около 200$, лол. Вот такой у меня бекграунд.
>>682968
#346 #682474
>>682465
Пример хотя бы одной компании, куда берут без опыта, и с ЗП выше 40к (ниже это для ДС уровень подачек стажерам). Для мухосрани сойдет 20к.
>>682475
#347 #682475
>>682478
#348 #682476
Тут видимо все путают навыки и опыт. Работодателю важен ваш официальный опыт, то что в трудовой книжке значится. Ну или хотя бы рекомендация от предыдущего работодателя, если неофициально работал. Ты можешь быть неплохим кодером, запилить пару добротных, качественных во всех отношениях проектах для себя, но без опыта тебя даже рассматривать никто не будет. А дауненка Васю, за 10 лет работы в офисных гадюшниках так и не понявшего, что такое event-driven, возьмут, потому что у него официальный опыт есть. Вот поэтому я и говорю: дауны.
>>682482>>682487
#349 #682478
>>682475

>.ua


Прости, мне бы для людей работу, а не для свинок.
>>682480
#350 #682480
>>682478
Если тебя не устраивает компания из ТОП 25 с офисами в США, Гермашке и Украине, ну хуй знает тогда.
>>682483
#351 #682481
>>682454
Вот теперь норм
#352 #682482
>>682476

>Работодателю важен ваш официальный опыт, то что в трудовой книжке значится.


Пидорахоработодателю ты хотел сказать.
Ни в одной приличной международной компахе не будут оценивать опыт в трудовой трудовой блять, это вообще пиздец, совок не вымер оказывается нихуя в ущерб реальным навыкам.
Там где есть нормальный менеджмент, тимлида в первую очередь будет интересовать, что человек может, а что там у него в трудовой, дело десятое.
>>682490
18 Кб, 258x315
#353 #682483
>>682480
Ты уверен, что ссылкой не ошибся?
>>682487
#354 #682487
>>682483
Ты же хотел нормальную компанию с нормальной зп берущую без опыта. Вот тебе первый попавшийся вариант, с которым лично взаимодействовал.
Обычный продвинутый аутсорсер работающий на Сшашку и западную Европу, таких на уа рынке дохуя и больше. Можешь продуктовые компании и прочии стартапы нагуглить, там тоже часто молодые разрабы нужны.
Что там в ваших пердях, я без понятия, если честно. Если вот этот >>682476
прав, то это вообще пиздец.
>>682492
#355 #682490
>>682482
И многие тут знают ингришь на достаточном уровне, чтоб хотя бы собеседование пройти? Я сам например неплохо владею техническим ингришем, доки без проблем читаю, но с разговорным беда. Словарного запаса нихуя нет. Это я еще в гимназии с профилирующим английским учился, ингриш на отлично сдал, а что об остальных говорить?
Да, я согласен, что иняз знать надо, но, блять, я хочу писать код, а не учить язык, иначе бы я задрачивал этот самый язык, а не кодинг. Я хочу работать в своей стране, пусть удаленно, но в своей стране. И не потому что я дохуя пидораха-за-путена-накатим. Только без политических срачей, плис.
Короче, я что хочу сказать. Если выбросить эти ваши фантазии о миллиардах долларов и охуенной жизни за бугром, и вернуться к нашим реалиям, применимым к среднему посетителю /pr/, то получается два стула: в забугорную компанию хуй возьмут, уровень не тот, а для поднятия уровня мало у кого хватит волевого импульса (он тоже не бесконечный), и в то же время пидорашкинские чмошные начальники больше переживают за то, как украсть побольше, чем за то, как сделать качественный продукт и получить побольше легитимными способами, поэтому ищут даунов для работы за еду, не желая связываться с потенциально более хорошими спецами без опыта ("он наверное мудак раз не работал еще, ну нахуй с ним связываться, еще вопросы задавать потом начнет, мое место займет, и вообще он асоциальный какой-то").
>>682521
#356 #682492
>>682487
Это я и есть. У нас именно так обстоят дела, да. Ты просто учитывай, что не все люди настолько охуенны, чтобы еще и язык знать, и желать уехать за бугор. Для обычного человека это непреодолимо по разным причинам, от недостатка волевого импульса до банального патриотизма (и я сейчас не про "за-путена-накатим"). Я хочу работать в своей стране, общаться с соотечественниками. Поверь, вопреки этому вашему молодежному презрению к пидорахам, как люди они ничуть не хуже иностранцев, которые зачастую пустышки без души.
>>682521
#357 #682521
>>682492
Прискорбно это слышать.
Сразу разберемся, для меня пидораха - термин не политический, а скорее жизненный. Пидораха может топить за украинушку/россиюшку/ америкашку/святой рейх/свободную Мальту/царство небесное да за что угодно блять. Но вести она себя будет именно так, как ты описал вот здесь>>682490

Прискорбно слышать потому что для меня ИТ сфера - двигатель прогресса, даже в богом забытом пост СНГ. У нас большинство заслуживаюзщих внимания компаний - аутсорс/аутстафф/продукт. Все они так или иначе ориентированы на западный рынок, хотя по большому счету являются украискими. Но мышление там тупо иное.
Менеджмент настроен на то чтобы справиться с задачей максимально эффективно. Адекватный тимлид мыслит по схеме - нужна крутая тима - запилить продукт - не сорвать дедлайн - продолжать в том же духе чтоб всем было норм.
Там нахуй не сдались приспособленцы, и человека берут за то что он умеет.
Налажали с продуктом - виновата вся тима, но в первую очередь ПМ/тимлид. С простого девелопера вряд ли серьезно спросят, почему твой продукт провалился. Они и так прыгают с компашки на компашку каждые несоклько лет, и это в лучшем случае некоторые за 2 года умудряются по собственному из 3-4 компаний уйти и в другие перекатится. А вот с тимлида спросят в первую очередь, и спросят везде. Вот и получается что во главу стола ставится разумная эффективность.
Я если честно, думал что и у вас так. Видимо ошибался.
>>682525
#358 #682525
>>682521
Увы, какую вакансию ни открой, везде опыт требуют. Без опыта только стажировка за еду (иногда даже без еды).
>>682538
#359 #682538
>>682525
По личным ощущениям, везде где требуют ~год опыта можно по крайней мере попробовать послать резюмешку. В некоторых компаниях так тупо защищаются от хитрецов, прошедших три с половиной курса, и возомнивших себя дохуя девелоперами.
Если ты учишся, пилишь свои проекты, ебашишь приложухи на каком нибудь реакте, то у тебя уже есть опыт разработки. Да не коммерческий, но тем не менее опыт. Ты не манька после кодакадеми, не умеющая на выходе нихуя, и не способная отличить один ивент от другого.
THIS #360 #682576
Поясните на пальцах, чтобы даже такой отбитый парень как я понял. Как работает this в этом чёртовом языке.

Перешёл на js с шарпа. Прекрасно разобрался в тонкостях того this и вероятно поэтому недоумеваю от this в js.

Плиз.
>>682589
#361 #682589
>>682576
В функции что не является методом объекта или является вложенной в метод объекта ссылается на window.
В методе объекта ссылается на объект.
В конструкторе ссылается на объект что вышел из конструктора.
В ивентлистенере ссылается на event.currentTarget то есть на элемент на котором его вызвали.
#362 #682595
>>682589
Благодарю, для этих случаев понятно
34 Кб, 646x381
#363 #682659
>>682317
Ошибок вроде нет, но и не работает.
Пикрелейтед. Это шкрипт, который проходит по каждой строке текста на сайте, ну или что-то вроде этого, я его спиздил, разумеется.

Так вот, на пике видно, что скрипт работает нормально, текст вон выводит #text "БлаБла!Бла!", но он типа object. Ну я его преобразовываю в string, ошибок нет, но и результата тоже нет. Второй пример с обычным текстом вместо переменной работает. Где я проебался?
#364 #682662
>>682589
В шапку!
#365 #682684
>>682201
Ставь блоку display: none.
#366 #682727
#367 #682731
>>682659
А, ну так это у тебя нода, а не текст. Тебе надо вместо toString() юзать textContent
>>682746
#368 #682739

>У нас было 2 виртуальных машины (jvm, clr) , 3 старперских языка, рубиновая забористая дурь, одно пресмыкающееся и прочее множество некомплируемых воннаби недоязыков, а также надстройки над jvm, для желающих упороться функциональщиной. Не то чтобы это был необходимый запас для аутсорса, но если начал собирать дурь, становится трудно остановиться. Единственное, что вызывало у меня опасение — это JS. Ничто в мире не бывает более беспомощным, безответственным и порочным, чем подсевший на JS с тамошними фреймворками. Я знал, что рано или поздно мы перейдем и на эту дрянь.

#369 #682746
>>682731
Действительно, работает, спасибо.
#370 #682763
>>682659
Анончики, еще один вопрос есть, как тут var yoba = node.textContent.split("").filter((i) => i === "!"); вместо "!" использовать регулярку? Ну серьёзно, как не делаю - не работает, а гугл в запросах о фильтрации выдаёт совершенно другие конструкции, ответьте пожалуйста.
>>682920
#371 #682840
Аноны, вкатываюсь неспеша в js, угорел по библиотеке three.js, владею java и поэтому нехватает таких привычных вещей как автодополнения и рефакторинга имен переменных. Сейчас юзаю brackets и он нихуя не умеет, ясно что типизация динамическая, но все таки хотелось бы какого-нибудь примитивного автодополнения и изменения имен переменных(хотябы в рамках одного исходника). Что посоветуешь анон?
#372 #682847
>>682840
Посоветую удалить брекетс и поставить атом
#373 #682863
>>682840
webstorm ставь

джависты уже заебали блин, почти в каждом треде новый приползает
>>682876
#374 #682876
>>682863
Java заебвывет
#375 #682877
аноны, не подскажете, почему кнопка не становится серой?
https://jsfiddle.net/45fLk9xf/1/
>>682885
#376 #682885
>>682877
точку перед селектором поставь
>>682890
#377 #682890
>>682885
спасибо
#378 #682892
Кто пилит десктоп приложения на js (кроме adobe, microsoft и github), признавайтесь?
http://electron.atom.io/

На днях стал тестить, сегодня увидел статью на хабре и понял, что поймал волну, а всё началось с желания запилить для себя плагин под атом.

Теперь вот пишу тут, а значит HYPE электрона пронизывает время и пространство, а значит теперь можно плевать в ёбла всем, кто посмеет заявить, что js не является десктоп приложением.
>>682902
#379 #682902
>>682892
ну так да, js вообще самый лучший язык))

https://youtu.be/nS8lZjMqxsk
#380 #682920
>>682763
var yoba = node.textContent.split("").filter((i) => /^[^!]$/.test(i));
#381 #682928
>>682589
смешал жс с дом апи, молодец чо.
#382 #682937
>>682840
Шапку ты не читал? Brackets и Атом - редакторы, а WebStorm - IDE.
>>682945>>682950
#383 #682945
>>682937
Если я поставлю на саблайм тонну плагинов это будет IDE?
>>682951>>682953
#384 #682950
>>682937
Лол, и чем брекетс тебе не иде? Там дохуя ненужного говна понапихано из коробки, так же как в хуйшторм
#385 #682951
>>682945
Нет. Он всеравно будет быстро запускаться, кек
>>682956
#386 #682953
>>682945
Нет, это всё равно будет кривой блокнот с подсветкой и дополнением.
>>682956>>682961
#387 #682956
>>682951
Лол
>>682953
Хуже блять вебшторма вообще ничего нету, молчал бы, пидорахен
>>682963
#388 #682961
>>682953
Но функционал-то тот же будет. Заебали уже какарекать, что IDE, а что блокнот, граница размыта понятий, и саблайм с тонной дополнений тот же самый IDE, при том, что он еще и быстр)
>>682963>>682979
#389 #682963
>>682956
>>682961
При этом в саблайме без пердолинга даже менеджер пакетов не подключишь, а из за уебанской архитектуры написать свой плагин для него - целый геморрой.
>>682964>>682982
#390 #682964
>>682963
Мне кажется проблема все таки в руках.
#391 #682968
>>682473
Пиши больше, смотри/читай меньше.
#392 #682978
https://angular.io/ что это за хуйня? На всю страницу одно упоминание жс, в ссылке на первый ангуляр.
#393 #682979
>>682961
IDE отличается от редактора хотя бы тем, что умеет в анализ кода и с умом его дополняет, а не просто сыпет всё, что есть в плагине от васяна. Поэтому я на больших проектах только IDE юзаю, с редактором приходится очень много лишний раз думать о вещах, про которые за тебя может подумать компутер.
>>682982>>683270
#394 #682982
>>682963
Кекнул, копипастнуть одну строчку в консоль для тебя пердолинг? Ну ты ебанашка, никогда кодером не станешь
>>682979
И чем блять у тебя лучше "анализ кода", чем у того же атома? Ничем, иди нахуй значит
>>683010
#395 #683005
>>682840
Тайпскрипт, тебе нужен тайпскрипт! Есть плагины для каждого ебаного блокнота, а с ними и автодополнение.
#396 #683010
>>682982

> И чем блять у тебя лучше "анализ кода", чем у того же атома? Ничем, иди нахуй значит


Атом даже в методы класса не может, ебанат
>>683083
sage #397 #683069
>>682840
ставь сразу вижлу, и не еби себе голову. Плагинов у дяди билла хватит на всю жизнь, а если не хватит, то он напишет ещё
#398 #683083
>>683010
Ты ебанашка? Все методы прекрасно подсвечиваются.
>>683092
#399 #683092
>>683083
Я разве про подсветку говорил?
>>683096>>683098
#400 #683096
>>683092
А про что тогда? Ты блять сам не знаешь о чём говоришь даже
>>683187
#401 #683098
>>683092
Алсо, вообще иди нахуй, раз тайп не используешься, мудило
>>683187
#402 #683152
#403 #683187
>>683096
>>683098
Шизик ебаный, смотри кому ты отвечал
>>683190
#404 #683190
>>683187
Сука, ты совсем уебан штоле?
Ты мне написал

>Атом даже в методы класса не может, ебанат


Я тебя нахуй послал, т.к. атом все методы на изи подсвечивает, ты теперь виляешь, что ты не про подсветку, а про что тогда? Совсем ебнулся пидорахен со своим пиздоштормом?
>>683201>>683270
#405 #683201
>>683190
может он про intellilsense?
>>683203
#406 #683203
>>683201
Ну так я тоже про неё, по русски это называется подсветка
>>683222
#407 #683222
>>683203
IntelliSense — технология автодополнения Microsoft, наиболее известная в Microsoft Visual Studio. Дописывает название функции при вводе начальных букв. Кроме прямого назначения IntelliSense используется для доступа к документации и для устранения неоднозначности в именах переменных, функций и методов, используя рефлексию.
>>683224
#408 #683224
>>683227>>683319
#409 #683225
шизики
http://ternjs.net/
>>683228
#410 #683227
>>683224
это не подсветка
>>683230
#411 #683228
>>683225
Во, терн вообще бомба, правда как раз под атомом немного кривовато работает, под саблаймом лучшу
#412 #683230
>>683227
Это подсветка блять сука иди нахуй
>>683270
#413 #683270
>>683230
>>683190
Я про автодополнение в посте говорил, на который ты со своим атомом вскукарекнул: >>682979 Где ты там подсветку увидел - хуй знает
И даже с подсветкой твой атом обсерается. Попробуй открыть какой-нибудь большой файлик, подсветка после энного символа просто перестанет работать
>>683284
#414 #683284
>>683270
Блять сука какой ты тупой пидорас
Подсветка МЕТОДОВ блять, а не синтаксиса, не ЦВЕТОМ, а блять в попапе появляются названия, понимаешь ты это или нет тупое чмо?
>>683313
#415 #683295
Бля, реально такое чувство, что просто с тупым животным разговариваешь, ему уже блять и про intellisense сказали, и про терн, он всё равно тупит как бревно, ебать как можно быть таким тупым программистом, как он вообще хоть что-то пишет?
>>683299
#416 #683299
>>683295
ну хули, вебшторм все мозги видимо съел
#417 #683313
>>683284
Ты автодополнение подсветкой называешь и меня после это тупым обзываешь, я правильно понял?
>>683349
#418 #683319
>>683224
Аноны на больших проектах, вы используете TDD, или пишите тесты под какие-то определённые, с возможными подводными камнями методы? В джуна влезают тесты?
#419 #683320
Аноны на больших проектах, вы используете TDD, или пишите тесты под какие-то определённые, с возможными подводными камнями методы? В джуна влезают тесты?
>>683349
#420 #683349
>>683313
Да, ты даун, все поняли уже, нахуй иди.
>>683320
ТДД почти не используем, т.к. всегда нужно "вот прямо сейчас". Пишем на тайпе, поэтому есть какая-никакая защита от некого количества багов. Но на определенной фазе тесты добавляются, когда загрузка поменьше становится и основные фичи сделаны. Понимаю, что это достаточно тупой подход, но на практике хочешь как лучше сделать, а получается всегда так. В джуна тесты скорее не влезают, хотя я тоже по сути джун, но пишу тесты для реакт компонентов, там всё просто достаточно, т.к. "чистые" функции и всё такое, а вот если какую сложную систему тестировать это надо уже шарить
>>683570
#421 #683408
Как работать с JSON строками?
Мне нужно распарсить, найти определенный значения и определенные значения, а потом удалить минимальное определенное значение с условием.
>>683411
#422 #683411
>>683408
JSON.parse
#423 #683421
Антоши, я вообще успешный PHP кодер, в JS - иногда с версточкой позабавиться, диалог кинуть, роут из задачи бэкенда прикрутить.

Но решил я пилить свое онлайн-чудо, а реализации ws для php все какие-то... сомнительные.

Вообщем, вкатываюсь в nodejs. Стал искать привычные классы (нашел, прототипы, хуе-мое, ладно), смирился с отсутствием стройного фреймвока с кучей структурированного готового стаффа (как ларавель), но меня окончательно вынес следующий вопрос.

Стал я искать ORM для работы с БД, нашел - https://www.npmjs.com/package/orm
И все ок, только результат получения записи в колбеке!
https://jsfiddle.net/o0rnr0ya/

Вот как мне с этим получить в этом роуте всех юзеров и вывести их имена? Не понимат.
#424 #683428
>>683421
Ну в этом роуте пиши запрос к базе, а в колбеке этого запроса уже шли ответ с полученными из базы данными.
>>683430
#425 #683430
>>683428
В том и дело, что например метод all вызывает колбэк для КАЖДОЙ записи. И вот как тут собрать массив этих записей и где вызывать render?
>>683551
#426 #683551
>>683430
Ну сделай сам массив, если это промис, просто then напиши что с ним делать дальше, что сложного?

>Стал искать привычные классы


Нормальные ребята не используют классы

>смирился с отсутствием стройного фреймвока с кучей структурированного готового стаффа


Твой хуйравель даже близко с нодой и её экосистемой не стоит
>>683576
#427 #683557

>Твой хуйравель даже близко с нодой и её экосистемой не стоит


Драка инвалидов. Спешите видеть.
>>683561
#428 #683561
>>683557
Драка инвалидов. Спешите видеть.
Ну хули ты не отметился, говори уж на чём сам пишешь, уёба?
>>683567
sage #429 #683567
>>683561
На школьной доске он пишет. И отнюдь не в качестве учителя.
#430 #683570
>>683349

> Да, ты даун, все поняли уже, нахуй иди.


А что тогда автодополнение такое, не расскажешь?
#431 #683576
>>683551

> >смирился с отсутствием стройного фреймвока с кучей структурированного готового стаффа


> Твой хуйравель даже близко с нодой и её экосистемой не стоит


Блять, опять этот поехавший. Давно сюда таких не заносило, второй день проигрываю
>>683578>>683580
#432 #683578
>>683576

>2016


>считает что пхп лучше ноды


кек
>>683583
#433 #683580
>>683576
Кекнул с тебе манька, я сижу тут с прошлого лета каждый день, а вот тебя не видел ещё, пиздюк
>>683583
#434 #683583
>>683578
Я так не считаю, я проигрываю с дауна, который фреймворки с языками сравнивает

>>683580
Ну значит ты сам по себе дегенерат, ничего не изменится
>>683587
#435 #683587
>>683583

>Я так не считаю, я проигрываю с дауна, который фреймворки с языками сравнивает


Даун, я же написал "экосистема", никто не сравнивал язык и фреймворк
Хотя пхп это конечно не язык нихуя, так, надстройка над хтмл, идиоты до сих пор пользуются, как ни странно

>>683583
Дегенерат тут только ты. Как там дела-то, прошёл уже learn.javascript или до сих пор разбираешься что такое переменные?
>>683593
#436 #683593
>>683587

> >Я так не считаю, я проигрываю с дауна, который фреймворки с языками сравнивает


> Даун, я же написал "экосистема", никто не сравнивал язык и фреймворк


Экосистему с языком сравнивал? Ну тогда всё нормально, да

> Хотя пхп это конечно не язык нихуя, так, надстройка над хтмл, идиоты до сих пор пользуются, как ни странно


У пыхи есть всё, чтобы называться языком программирования

> Дегенерат тут только ты. Как там дела-то, прошёл уже learn.javascript или до сих пор разбираешься что такое переменные?


О, а вот и проекции
>>683596>>683599
#437 #683596
>>683593

> Экосистему с фреймворком сравнивал? Ну тогда всё нормально, да


ff
#438 #683599
>>683593
А, ну ясно, если ты пыху считаешь языком программирования, то с тобой дальше не о чем говорить. Предлагаю тебе съебаться в пхп петушарню и больше сюда не приходить, т.к. мнение таких опущенцев тут никого не интересует.
>>683610
51 Кб, 1276x1018
#439 #683607
Пробовал Atom, Brackets, VS Code, WebStorm, WebMatrix, Eclipce.

Всё оказалось невыносимым калом и я вернулся на Sublime Text 3.

Поясню, недостатки остальных ide - они все тормозят, начиная от момента запуска, заканчивая самим процессом.

Второй недостаток словно следствие из первого - отсутствие плавной прокрутки.

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

Также в некоторых ide всё плохо с интерфейсом и такими важными вещами как folding и обозначение линий этого самого фолдинга. Приходится каждый раз туда-сюда скроллить, выискивая нужную скобочку, тогда как в саблайме всё элементарно.

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

Например, подсветка схожего кода при выделении. Не говоря уже о том, что автоподстановка во многих ide работает по принципу алфавитного порядка, тогда как в саблайме подстраивается под частоту использования. Такие казалось бы мелочные недочёты не позволили мне найти альтернативу лучшему редактору всех времён и народов.
>>683616
#440 #683610
>>683599
Я же сказал, что сейчас у пыхи есть всё, чтобы называться языком программирования. Если ты считаешь иначе - оспорь или залазь обратно под свою петушиную шконку. Вопрос реализации - это другой вопрос.
И я на пыхе с 4-ой версии не писал, если что
>>683616
#441 #683616
>>683607
Согласен.
Атом, правда, по всем параметрам лучше саблайма, кроме быстродействия, и это его действительно убивает немного. Саблайм снова начали апдейтить, кстати, после года бездействия, будем надеяться, что будут улучшения, т.к. он тоже не без изъянов.
>>683610
Да нахуй иди, буду ещё спорить с ебанашкой, который только и зашёл, чтобы попиздеть ниочем
#442 #683624
Мне предстоит собеседование в одной неплохой компании. Но проблема том, что я хоть и способен писать код, но привык это делать с гуглом и стак оверфлоу, так что теорию я знаю очень плохо. Можете мне подсказать список частых вопросов на собеседовании по js, angular и node?
>>683629>>683630
#443 #683629
>>683624
По фронту тут неплохой список
https://github.com/h5bp/Front-end-Developer-Interview-Questions

По ноде даже не знаю, проще погуглить что-тор подобное "node js interview questions"
#444 #683630
>>683624
Когда замнёшься на какой-нибудь теме, скажи, что зато знаешь, почему люки круглые.

И всё же попытайся решить проблему. Думай над вопросами, а не копайся в воспоминаниях и если спросят что-то сложное, не бойся попросить сформулировать на простом языке.

Сейчас ищут в первую очередь по тому, сможет ли человек работать в команде, поэтому технические навыки не так важны, если конечно ты не конченный гуманитарий.
>>683636
#445 #683636
>>683630
Чет у меня полыхнуло с таких командных игроков которые пишут if (true) { }
>>683656
#446 #683656
>>683636
Возможно это просто заглушки под будущие условия.
#447 #683708
Я правильно понял, что если хочешь быть фрилансером, то надо плотно учить джава скрипт или нет?

Хочется и погромистом быть и в душном офисе не работать
>>683712
#448 #683712
>>683708

> джава скрипт


>погромистом быть


Choose one.

В целом, да.
>>683728
#449 #683723
Ананасы, посоветуйте какой-нибудь шутсрый инструмент который сможет пройтись по урлам из массива и сравнить данные, которые находятся в селекторах, с данными, которые находятся в csv.
Casperjs не подойдет ибо жирный очень, Cheerio тоже.
>>683750
#450 #683728
>>683712
>>683712
Ну кодером, не так выразился. Но суть ясна. На еду то хватает?? Скажем 500 долларов в месяц подъемная сумма или как?
>>683730
#451 #683730
>>683728
В нормальных компаниях с 500 баксов только джуны начинают без опыта.
Насчет фриланса точно не скажу. У меня знакомые на апворке и по 3к зелени в месяц рубят.
>>683743
#452 #683743
>>683730
Даже в сраной Польше джуниорам не платят меньше 1000$, а это периферия ЕС.
>>683745
#453 #683745
>>683743
Пиздежь. Наглый при чем. Может в Варшаве и платят 1к$, но только там джуны как у нас мидлы, и то на джаве.
Так-то зп джуна от 400 до 800$ в зависимости от города и языка программирования.
>>683749>>683753
#454 #683749
>>683745
Да, забыл добавить, иногда эта сумма даже без учетов налогов.
#455 #683750
>>683723
Бамп вопросу.
>>683763
#456 #683753
>>683745
Могу поверить, что местным, но я когда-то пытался переехать, мне предлагали без опыта работы 1200, в Норвегии нашёл контору, которая 2500 хотела, но требовалось пройти какие-то курсы норвежского языка, хотя я прошёл собеседование на английском. Из-за этого пришлось дать заднюю. Вот нахуя им норвежский, когда вся документация и код на английском.
>>683757>>683758
#457 #683757
>>683753
Ну хуй знает что за фантастические вещи ты сейчас вещаешь, я пока жил и работал там на подобные вакансии в 1200 и без опыта работы ни единого раза не наткнулся. Разве что 3,5к$ для мидла по js было дело, но там пачка требований была неплохих. Немного выше уровня мидла, конечно, но уж точно не дотягивала до сеньора. Что-то вроде трех лет с js, react, node и еще что-то, что уже и не вспомню.
И никакого тебе обоссанного унгуляра
#458 #683758
>>683753
В рашке в столице моей мухосрание предлагали 500$, хотя сначала я в резюме ещё написал, что интересуют только от 1000$ запрлаты.

Это ещё при старом курсе, то есть грубо говоря 30к рублей. Причём я приехал к ним на собеседование за 200 км и меня пытаются кинуть, типа всё заебись, но только 30к, хотя по телефону я переспрашивал, что имеет смысл только на 60к и больше, так как придётся оплачивать жильё, еду, а это около 30к от всей суммы. То есть грубо говоря они меня позвали работать за еду - получаю 30к и тут же сливаю 30к.

Я конечно нахуй не послал, но дверь хорошо там хлопнул.
#459 #683763
>>683750
Бамп бампу вопроса
#460 #683796
Как называется такой акцент?
https://egghead.io/lessons/javascript-redux-react-counter-example
#461 #683800
>>683796
школьный? кек
>>683805
#462 #683805
>>683800
Мне вот тут надо все 30 видосов просмотреть. После 10-го уже уши завяли.
#463 #683828
>>683421
Из orm используй Sequelize. И вместо колбэков используй промисы - не будет сильной вложенности.
#464 #683855
Как отчистить строку от пробелов и энтеров без рег.експов?
>>684596
#465 #683866
>>683421
ORM: Sequelize или bookshelf для sql баз, mongoose для MongoDB соответственно.
#466 #683874
Известно, что получение элемента в массиве быстрее, чем в ассоциативном аналоге.

То есть, если a = [], A = {}, то операция a будет быстрей, чем A[key], поэтому советуют в мощных приложения использовать массивы.

Но когда нужно найти объект по id, а не порядковому номеру возникает дополнительная проверка, то есть в ассоциативном массиве можно просто достать нужный элемент A[id], тогда как в обычом придётся делать for (var id = 0, id != a[id].id, id++) и вот вопрос

ЕСЛИ НУЖНО НАЙТИ ЭЛЕМЕНТ ПО ID, КАКОЙ ТИП МАССИВА БУДЕТ НАИБОЛЕЕ ОПТИМАЛЬНЫМ?
#467 #684137
>>683796
А Дэн наш чел?
>>684192
#468 #684192
>>684137
Да, из ДС2, написал редакс, теперь работает в ФБ в команде Реакта, всего 23.
#469 #684193
>>684192
23 года*
>>684204
#470 #684204
>>684192
>>684193
Круто. Почувствовал себя уг

стремящийся, 24 лвл
>>684787
#471 #684274
>>684192
Пожалуйста, убейте меня.
>>684295>>684787
#472 #684277
>>684192

Ебануться ....
>>684295>>684787
10 Кб, 245x200
#473 #684295
>>684274
>>684277
Да ладно вам, там всего 100 строк
#474 #684296
>>677826 (OP)
Ананасы, это WebGL или что это за хуйня?http://hooddigital.com/
>>684303
#475 #684303
>>684296
Да, конкретно three.js
#476 #684497
Анончики, какая-то хуйня с jsом, только начинаю вкатываться в three.js, набрал пример с сайта, покрутил куб, все изи. Далее скачал книгу learn 3js, набрал первый приме и нихуя не работает, на странице белый экран, вангую что ошибка в понимании работы js, но как прилежный codemonkey все как в книге делаю.
http://pastebin.ru/v4BxeEML#
В чем проблема анон, и как вообще в js понять что нихуя не работает. Включил консоль в лисе там те же предупреждения что и в работающем примере.
>>684532
#477 #684532
>>684586
#478 #684586
>>684532
Такой пример(без jquery и с функцией render) я делал до этого, но почему код книги не пашет(поломали обратную совместимость?) или хотяб jquery почему не работает?
>>684604
#479 #684596
>>683855
myString = myString.replace(" ","")
#480 #684604
>>684586

>$("WebGL-output").add(renderer.domElement);


Нет # у селектора. add добавит domElement в jQuery object, а не в dom, нужно использовать append, например.
в requestAnimationFrame ты отдаешь объект renderer, он там нахуй не нужен, там нужен колбэк.
https://jsbin.com/dawinu/4/edit?js,output
>>684628
#481 #684628
>>684604
Дошло антош, теперь вижу что хуйню написал(и почему).
#482 #684787
>>684204
>>684274
>>684277
Напишите свой редакс. А когда напишите (т.к. это не сложно), то поймете, что это дохуя удача.
>>685057
#483 #685057
>>684787
Лол, проиграл с маньки
Чувак дрочит программирование с 12 лет, на всяких конференциях-хуенференциях светится, опенсорсит как бог, а ебанашка с двачей называет это удачей.
>>685098>>685195
#484 #685098
>>685057
Фундаментальная ошибка атрибуции.

Индивидуумы склонны объяснять мотивы своих поступков внешними причинами, а чужих — особенностями личности. Если более точно: свои фейлы объясняются исключительно тижолой жизнью, чужие фейлы — исключительно тем, что те люди — мудаки, козлы, сволочи, неудачники и вообще ничтожества. С винами — наоборот. Собственный вин — исключительно потому что умный, сильный, сообразительный, выносливый (нужно подчеркнуть), чужой вин — исключительно потому что блат, переспал, насосал, мажор и прочая пруха по жизни.

Позволяет чувствовать себя Д'Артаньяном, даже не отличаясь от окружающих ни на йоту. Например, распихивать народ в метро, опаздывая на встречу, а через полчаса возмущаться человеком, в спешке, расталкивающим народ.
>>685111
#485 #685111
>>685098
Согласен.
Но еще для полноты картины надо бы почитать книгу "Fooled by randomness"
#486 #685114
>>683796
лол, как он уебищно разговаривает, такой харш рашн акцент, еще и пытается подражать британскому и гласные тянет, что делает его еще смешнее в совокупности с тоненкьим школоголоском.
#487 #685117
>>685114
Нормально он разговаривает, он ещё специально более четко всё проговаривает, чтобы всем было понятно, даже не англоговорящим и тем, у кого плохое понимание английской речи. Очень классный курс.
Алсо, он живет в Лондоне, естественно у него какой акцент может и начинает проявляться.
#488 #685120
>>685114
Уверен, что он знает инглиш в 100 раз лучше, чем ты, так что не тебе судить. А голос - какой есть, такой и есть, всем похуй вообще, кроме таких закомплексованых манек, как ты, проецирующих свою жизнь на других. Если тебя гнобили из-за голоса, то это только твои проблемы, сходи к психологу.
#489 #685126
>>685114
Давай еще посмеемся над профессионалом в го, такой омежий голосок, ха-ха, как смешно, еще и машине три раза проиграл. Вот серьёзно, ты даже к голосу приебался?
https://youtu.be/qUAmTYHEyM8?t=5h39m29s
#490 #685130
>>685114
так и веет желчной завистью с твоего поста, вангую, что ты вообще не знаешь ангельский, и только с смог, что к голову придраться, лол
#491 #685189
Моралфагов полон тред, не кормите ангулярошпиона.
#492 #685195
>>685057
То, что его приняли на работу, результат его деятельности. То, что именно его либу заюзали, результат удачи - оказался в нужное время в нужном месте с нужной реализованной идеей. Ничего феноменального в редаксе нет, большая часть фронтендеров так или иначе пишет для крупных проектов свой редакс или юзает что-то похожее.
>>685198>>685204
#493 #685198
>>685195

>То, что именно его либу заюзали, результат удачи


Хахах, пиздец у тебя манямирок лол
#494 #685204
>>685195
Кек, т.е. вот просто так рандомно взяли и внезапно все начали юзать редакс, без видимых причин, и забыли про другие флаксы? Ты ебанат или троллишь?
#495 #685301
Как лучше всего запилить фильтр в ангуляре, чтобы он для русского и английского языка работал? То бишь
ghbdtn = привет для него.
>>685324
#496 #685309
>>685114
Если уебищно разговаривает он, то почему за рубли работаешь ты, дауненок?
>>685326
#497 #685324
>>685301
По-моему такие преобразования нужно делать на бэкенде
#498 #685326
>>685309
Какая связь между голосом и работой не за рубли?
#499 #685330
перед вкатыванием в джава скрипт стоит лучше освоить html, css и теорию по ооп или сразу вкатываться?
>>685333>>685342
#500 #685333
#501 #685342
>>685330
В шапке написано. Смотри пункт 3
Тред утонул или удален.
Это копия, сохраненная 6 апреля 2016 года.

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

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