24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.
Есть ли перспектива устроится в теплое место, если я только начал изучать html, css, js? Из одной хорошей конторы прислали тестовое, но я с ним слегка притух. Вообще сколько примерно времени займет освоение оного, чтобы вкатиться на джуниора? екб
>>1006816 Ну вот что за ерунду ты спрашиваешь. Мы не знаем ни тебя, ни уровня твоей усидчивости/обучаемости, как без всех этих факторов можно делать объективные выводы? Никак. И думай перед тем, как задавать такие вопросы. Вас таких вкатывальщиков по несколько на день заходит в прикреплённый тред. Ориентируйся на 6-10 месяцев.
Поставил себе цель написать телеграм бота, которому ты вводишь логин и пароль, а он, войдя на сайт моего вуза выводил бы мне расписание на сегодня. В какую сторону копать? С чего начать?
>>1006848 Начать со стороны изучения API той поебени, подо которую ты собираешься писать бота, оно должно быть по всем канонам language-agnostiq, лол, поэтому решительно похуй, под ноду ты будешь писать или под торнадо.
>>1006874 Раз ты знаешь про Торнадо, может пояснишь. Я в сторону бека начинаю поглядывать, помоги с аналогиями. Вот есть Нода с Экспрессом. Нода аналогична питоновскому интерпретатору тогда, а Экспресс это как Торнадо? И каким боком к этому ко всему Нджиникс? другой анон
>>1006875 ExpressJS ближе всего стоит к Django, если говорить языком аналогий. Нода - V8 c async I/O обвязкой. Nginx - в контексте твоего поста - для балансировки нагрузки позади кластера нод.
>>1006874 На самом деле я не понимаю пока только 2 вещи: 1) Как заставить прогу саму логиниться 2) Как взять HTML код текущей страницы Дайте хоть наводку куда копать.
>>1006886 1) requestJS - либа-абстракция на низкоуровневым API ноды для совершения HTTP(S) реквестов 2) множество вариантов. Например, Cheerio - сиречь жквери для ноды.
Ребятки, нужен collaborate rich-text/markdown редактор с возможностью пользователям править документ, комментировать те или иные его части, отслеживать изменения (эдакий недо гит) да и все по-сути. Что-то близкое к Dropbox Paper но селфхостед. Риалтайм, что бы все кто в документе видели новые комментарии и правки - не самое ключевое в данном случае. Что есть - бекенд на Джанго где я перегоняю Ворд документы в маркдаун или штмл и могу допилить контроль версий, вычислять разницы между документами разных версий и запилить rest API.
Вопросов сразу несколько: 1. Видели ли вы уже что-то подобное что можно за уши прикрутить не шибко заебываясь к учеткам сайта. Можно платное. 2. Как бы вы рекомендовали это делать? На уровне идеи, может инструментов. 3. Что бы это могло выйти по деньгам, кто был бы готов взяться?
>>1007163 >Освоил основы за 3 дня >"Привет, мы свойства и методы, учи нас. vasua.suka.pizdec[chtoeto,hvatit...prekraiti].yaebu(ebal, ibudu,)()((((){((){{}{)({}{)({}{((())}}{{{{{}}{{)((;
>>1007273 Нормальные люди не тратят время на видеуроки, твоя аналогия некорректная. 1) На паре препод с образованием, а в мониторе редко можно встретить кого-то по-настоящему компетентного 2) Препод преподаёт как правило фундаментальные дисциплины с огромным объёмом теории. Для программирования на JS всё это нинужно, гораздо важнее практика, больше толку будет если ты сразу подойдёшь к станку и начнёшь клепать детальки. 3) Для решения бизнес задачи гораздо быстрее загуглить/глянуть в доку, а не видосики искать на нужную тему.
>>1007301 > себя продать дороже > смотреть видеоуроки Ты уже вытекать начинаешь. Можешь помочь крупным Open Source проектам контрибьютами, тогда и объективная причина продавать себя дороже появится. Видеоуроки - это вход в IT для умственных инвалидов, которым нужно пальчиком показывать как делать, так как необучаемые не осиливают документацию.
>>1007427 То есть ты стоишь на своем, и считаешь что если ты читаешь доки, то и все остальные должны читать доки, а остальные "умственные инвалиды". Либо ты еще ребенок, который считает себя тру хацкиром, либо просто долбоеб, который может и великовозрастный, но до сих пор не осознавший, что проецировать свой манямирок на вообще всех людей это идиотизм.
>>1007447 Блять, вы че рыбки, с трехминутной памятью? > Реквестирую advanced видос на ютубе по жсу или любим смежным технологиям. Чтобы с пользой попрокрастинировать.
Я не прошу "учебных видео", хотя против них тоже ничего не имею.
Иногда читать книжку/док/статью просто блять не хочется. А посмотреть видос на расслабоне, где автор расскажет и покажет новую фичу, концепцию или просто задвинет хороший доклад, это то что мне нужно.
Если вы ограничиваете себя только чтением офф мануалов, ну ок, ваше право.
Не вижу никакой проблемы в обучении через видео. Или, например, если коллега тебе в парной сессии будет рассказывать и показывать как пользоваться местной либой/чем-угодно, то это видимо тоже зашквар и вообще надо теперь повесится.
The last important detail to emphasize about transpilers is that they should now be thought of as a standard part of the JS development ecosystem and process. JS is going to continue to evolve, much more quickly than before, so every few months new syntax and new features will be added.
>>1007512 Все правильно, а чтобы быть всегда в курсе нужно подписаться на доктора... как его, блядь, зовут, забыл. Ну вы поняли, немец он. А, вспомнил, доктор Аксель, он поясняет за новые фичи ES из драфтов спеки.
>>1007448 Чекни LiveEdu.tv (бывший LiveCoding), там есть офигительные видосы. Особенно захватывающим была разработка лысым (по кличке killroy) фронтенда для CMS на React+Redux.
Некогда объяснять, тут сидят альфа-кодеры, поэтому мой вопрос должен быть понятен даже дебилу. Делаю туду лист на ноде + mysql, мне нужно без перезагрузки страницы вывести новые данные. Подхватываю данные аяксом, передаю их в контроллер, тот делает запрос INSERT к БД, через коллбек получает результат из модели, и вот тут писечка - я не хочу делать редирект на хоум пейдж, мне нужно как то передать данные в success аякс запроса и вклеить их на страницу. Как делают в таких случаях?
А если я ноулайфер без друзей, без тян; сижу у мамки на шее, крыша есть, еда есть, работать не надо; имею тех вышку, владею продвинутой версткой, щупал JS на уровне всплывающих окон. То сколько времени уйдёт на вкот? Я усидчивый, на игры и мемы не отвлекаюсь, могу учить по 10 более часов ежедневно. Извините за тупой вопрос.
>>1007729 Нихера не понял. Ты что, просто не умеешь отдавать данные? JSON отдал и все, никаких редиректов не надо. Ну а на клиенте уже с данными че хочешь делай.
>>1007772 Вкат джуном во фронт-энд. >Про 10 и более часов бред. Продуктивно заниматься столько не выйдет. У меня получается. Но эти 10 часов, разумеется с перерывами. Я 25 минут учу, 5 отдыхаю. Через 4 таких отрезка делаю большой перерыв в 20-30 минут. Ну кароч 8 часов учебы в день, не 10.
>>1007773 Месяца 3-4 думаю, Надо разобраться с js, ковырнуть пару библиотек, выбрать фреймворк и начать в нем разбираться, написав пару штук для портфолио. На джуна этого должно быть достаточно. Но можешь попутно захватить ноду например, написав апиху к своим приложухам
Да я сам по помодоро работаю и занимаюсь и имел ввиду чистое время этих 25-ток.
>>1007778 Вот это кстати двачую. Самое сложное как раз не усидеть 10 часов, а заставить себя НЕ сидеть больше часа в день, чтобы хватило на неделю-месяц-сколько-сколько-надо.
В if (x = 5) что в место с присваиванием возвращается? Множественное присваивание в JS не работает, да? Это дохуя небезопасная техника и только в языка с указателями есть?
>>1007887 Присваивание тебе undefined вернет, которое в контексте if будет в false преобразовано. А вообще это очень плохой пример, в проверке условий надо проверять условия, а не производить операции.
Поясни, пожалуйста, несколько вопросов: 1)Стоит ли вкатываться в геймдев, начиная с js? Дело в том, что на рабочем компе нихуя, кроме блокнота и браузера и устанавливать нихуя нельзя, а делать что-то 80% рабочего времени хочется Можно ли с него менее болезненно перекатиться на что-то вроде шарпа?
2)Прокатывает ли "чистый" javascript или уже обязательно учить/ставить ноду и жиквери чтобы не быть обсосом?
3)Гешефт в области js лежит только в области фронт-енда и верстки?
>>1007094 Я как-то 10 лет в нефтянке отпахал, даже карьеру сделал, а ушел потому что считал себя по-настоящему тупорылым во всех рабочих вопросах. Теперь кодю, как в начале своей карьеры, и нихуя не поменялось. Так что наверное это нормально. >>1007894 1. WebGL ничё такой, можно пилить дум с донатами для Фейсбука или типа того. 2. Батарейки от случая к случаю, базовые знания жс пригодятся в любой соответствующей задаче батарейке. 3. Мобильные приложения, десктопные, серверная часть - в принципе жс охватывает почти все аспекты прикладного программинга, другое дело надо ли оно кому. Пока все складывается что надо, но тут же раз в год все с ног на голову меняется.
Поковырял тут YouTube, возжелав замутить себе auto-repeat без всяких расширений если кому надо: document.querySelector('video').onended=()=>document.querySelector('.ytp-play-button').click() и просто охуел от того, насколько там всё через жопу сделано. Для обычного действия "начать видео сначала aka repeat" происходит вызов порядка 15-20 функций (причем размер стека доходит до 6-7 вызовов), между которыми прокидываются ссылки на огромные уебанские объекты. Но сам YT, если разобрать его функционал, не такой уж и мега-сложный веб-сервис. К слову, base.js в минифицированном виде (но с ньюлайнами) занимает over7000 строк. Неужели в Google работают такие уебаны, или это костыльное наследие, накопившееся за многие годы?
>>1007948 But, that's not all! (in my best Bob Barker voice). There's a special behavior defined for let declarations used in the head of a for-loop. This behavior says that the variable will be declared not just once for the loop, but each iteration. And, it will, helpfully, be initialized at each subsequent iteration with the value from the end of the previous iteration.
>>1007950 И что тут не так? Или это просто цитата, не отсылка к "костыльности"? По мне так серия просто чудесная, очень много тонкостей языка раскрывается. Хотя, если признать честно, воды там хватает. Но на это есть две причины: данная серия книг подразумевается для новичков (хотя я не завидую этим новичкам) и это всё-таки книга, а не очередная документация.
>>1007956 Серия то чудесная, но чем больше понимаю, тем большее омерзение язык вызывает. Хотя может не всё так плохо по сравнению с другими, до этого только ruby изучал.
>>1007961 Теперь ясно. Ну что ж - каждому своё. Мне лично наоборот серия открыла глаза на JS, и я полюбил его с новой силой. Хотя у него есть свои недостатки, само собой.
>>1007961 У меня из языков, на которых писал до js, только кресты. И js просто божественен лично для меня. Да и движуха вокруг него тоже по душе. Никогда не понимал тех, кто на него бочку катит.
Писал проекты значительно сложнее хэлло ворлда на c, c++, php, java, go, js, typescript, clojurescript, common lisp, emacs lisp. сортировка в порядке вспомнинания
И скажу что современный жс очень даже неплох. Более того мне вполне нравятся фичи, которые некоторые члены сообщества считают "плохими", типа hoisting'a функций или ==
>>1008007 И что тебя смущает? Языки типа хачкеля которые я знаю на уровне могу читать и писать со словарем я просто не упоминал. А на CL я написал несколько проектов для себя и один по работе.
>>1008004 язык ограничен и сложен. огрничен в плане структур которые на нем можно реализовать. ну Trie напиши. сложен в плане исключительно асинхронного ввода/вывода и другой херни, ну и другой хуни. глобальный scope засран всем что есть в стандарте.
>>1008035 Не забывай про контекст. жс вплоне неплохо справляет с той задачей, которая на него возложена - быть языком для веба. async/await и прочие штуки сделали его гораздо более комфортным чем он был.
С одной стороны идея тащить его на сервер мне кажется безумно глупой, с другой стороны изоморфные приложения кажутся очень заманчивыми. о том насколько больно их писать, вынесен за скобки.
Сам ловлю себя на том, что последнее время если мне нужно что-то быстро посчитать/набросать я запускаю nodejs-repl, а не ielm или какой-нибудь php -a
Есть господа-игроделы? Сам реактомакака, подумываю перекатиться в геймдев. Из опыта ковыряние фазера полгода назад. Какие подводные, что нужно знать для вката, что по зарплатам?
>>1008082 1) заебешься поддерживать тормозилу и другое говно 2) нормально релизнуть в стиме - анальная боль 3) геймдев говно впринципе 4) ??? 5) учи юнити
>>1008082 >Какие подводные — Денег нет — Тулинг остает от JS лет на сто. Про npm забудь. И вообще про пакетные менеджеры. Ебись с dll, как деды — Юнити на некроверсии языка — Императивщина/10 — Рынок вакансий в десять раз меньше и на 90% мобилоговно — Комьюнити в сто раз меньше — Денег все еще нет
>>1008035 >сложен в плане исключительно асинхронного ввода/вывода и другой херни
с промисами всё стало не просто легче, теперь написание кода на сервере и клиенте превратилось в отдых, так что не проецируй тут своё непонимание особенностей жс
Как в реакт-роутер 4 имитировать IndexRedirect? Пик, при заходе на / отображает пустую страницу, только навигацию. Нужно чтоб сразу редиректило на указанную страницу.
ВИКТОРИНА АУТИЗМА К какой ошибки привело наличие бекслеша в конце строки с webpack-dev-server этого конфига вебпака? Т.е. на скрине уже исправлено, а неправильно было: >`webpack-dev-server/client?http://localhost:${PORT}/` ШЕСТЬ БЛЯТЬ ЧАСОВ Я ИСКАЛ ЭТУ ОШИБКУ
>>1008217 Ну бля, я ж хочу РАЗОБРАТЬСЯ, чтобы быть илитной жс-макакой, которая примерно представляет что там делают её девтулзы. К тому же я под электрон собирал, в него ваше create-react-app вроде не может.
>>1008141 >с промисами всё стало не просто легче, теперь написание кода на сервере и клиенте превратилось в отдых Лол. Это если ты не писал ничего сложнее тудухи.
Сап, скриптач. Возникла проблемка у меня. Я начал активно юзать ES6 с его замечательными стрелочными функциями, for of и promise. Работаю я в Chrome, а поэтому ничего у меня в проекте не сломалось. Но когда попробовал открыть свой проект в дефолтном браузере Ведра - понял, что нихуя там не работает, ровно как и в IE. Срочно начал ставить ноду, npm, babel. И вроде все нормально, код транспилируется в ES5. Но когда я начал подключать модули через require(), то на странице появилась ошибка require is not defined. Немного гугления и я нашел, что мне нужен WebPack(или Browserify). Установил WebPack, но require как-то и не заработал. Есть ли у анончика гайд, как это все настроить так, чтобы require работал после транспиляции(или import в ES6)? Хочу, чтобы мои модули работали на клиентском JS. Настраивал все по гайду CodeDojo о Babel.
>>1008260 Конкретно вебпаком как подключать? У меня есть /src с ES6 и /dist с ES5. В /src я пишу import 'jquery'; - а Babel делает из этого require(), который undefined на странице.
>>1008272 Чтобы каждый раз не писать npm run build юзаю "watch": "babel src -d dist --presets es2015 -w". Потом команда npm run watch и пишу код. Каждый раз при сохранении изменений происходит траснпиляция из /src в /dist.
>>1008277 Тебе надо сделать по-другому, сейчас у тебя импорты не обрабатываются вебпаком, а должны. Настрой вебпак, чтобы он обрабатывал файлы babel'ом, а потом просто запусти 'webpack --watch'. Примерно как на пикче, тут babel и typescript.
>>1008327 Просто думай так: коллбэк - это функция, которая передается как аргумент другой функции или присваивается куда-нибудь, и потом эта другая функция или это самое что-нибудь вызовет этот самый коллбэктогда, когда будет нужно, позже.
И не нужно пытаться переводить подобные термины с англишки, у англоговорящих совершенно другое, своё, мышление, которое очень сложно, а то и практически невозможно переложить на рузке мышление.
>>1008329 Что значит обратно? Откуда? Я никуда её не "посылал". Или ты иммеешь в виду, что сходитьНаСервер() при запуске создает контекст выполнения, в этот контекст добавляется аПотом(), который лежит не рыпается пока не дойдет до него очередь, после чего аПотом() вызовется? Слово "обратно" мены запутывает, потому что если я описал то что надо, так это обычный порядок выполнения вещеё. В контекст сначала заносятся аргументы, переменные и тд, потом функция по порядку все делает что там в ней написано. Или я что-то не понял?
>>1008334 Да, прав, но "контекст выполнения" ты путаешь с понятием lexical scope. И это не имеет отношения к механизму callback. Могу еще привести объяснение, попроще: коллбэк - это функцию, которую вызываешь не ты, а что-то другое в твоей программе.
не взлетело. пробовал из под рута и юзера, всегда один результат. нет времени дебажить apt-get
... Reading package lists... Done N: Can't drop privileges for downloading as file '/root/mariadb-10.2.6-ubuntu-xenial-amd64-debs/./InRelease' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied) W: The repository 'file:/root/mariadb-10.2.6-ubuntu-xenial-amd64-debs ./ Release' does not have a Release file. N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use. N: See apt-secure(8) manpage for repository creation and user configuration details. E: Failed to fetch file:/root/mariadb-10.2.6-ubuntu-xenial-amd64-debs/./Packages File not found - /root/mariadb-10.2.6-ubuntu-xenial-amd64-debs/./Packages (2: No such file or directory) E: Some index files failed to download. They have been ignored, or old ones used instead. ...
>>1008416 Хм. Хуй знает, почему так. Я не особо профессиональный красноглазик, но у меня всё встало нормально. Правда, я перед этим снес старый, 7.х-репозиторий, ну и удалил саму ноду, собственно.
>>1008284 Смотри, настроил WebPack для транспиляции через Babel. Потом делаю webpack --watch, на что мне консоль отвечает -bash: webpack: command not found
Какие способы устроиться на полдня\стажировку в какую-нибудь конторку в мухосранске?
Разослать свое рукоделие со ссылкой на гитхаб и типичным письмецом по емейлам этих конторок норм будет? Не сильно ли будет морозить работодателя брать студентуха, а тем более не на полный день?
Вопрос по модулям в ES6Аноним19/06/17 Пнд 20:00:46#177№1008452
Как импортировать все модули из папки, не указывая вручную название каждого модуля? Нагуглил только такой вариант: import * as foo from './foo' И в коде нужно использовать foo.moduleName
Можно как-то без этого префикса? Или например у меня есть файл с функциями, которые экспортируются, как одной строчкой их все импортить, сейчас приходится писать import {a, b, c, d} from './functions'
Здрасьте, нюфаг в треде короче. Никак не могу разобраться как работают выражения в условиях.
Вот допустим мне нужно сделать условие которое будет выполняться если все 4 числа будут не равны между собой, как это сделать? По моей логике вот например так: 1 !== 2 !== 2 !== 5; Но здесь почему-то всегда выдает true.
Сколько шутников, желающих не помочь, а выебнутся.
>>1008454 Тебе нужно проверить что A != B и B != C и A != C, тогда условие для 3-х переменных будет выглядеть так: a !== b && b !== c && c !== a Для 4-х переменных проверок надо больше.
Поэтому более простой способ - посчитать количество уникальных элементов. То есть для 4-х элементов количество уникальных должно быть 4. Можешь попробовать сам написать функцию нахождения уникальных элементов, но если ты ещё с if'ами не разобрался, то это будет непросто. Про Set >>1008458 тебе пока знать не надо.
>>1008465 Всего 4 числа, т.е a b c d. А зачем в твоем случае сравнивать последнее число с первым? Ведь если все предыдущие условия выполняются, то очевидно что a !== d , или я недопоня чего-то?
>>1008485 Странное суждение, ты на чём-то кроме PHP писал? Языки развиваются в разных направлениях. Разве в ES6 есть интерфейсы, тайп-хинтинг, абстрактные методы/классы, приватные методы, return type declarations?
Нихуя не понимаю современный жс. Снег на обычном джаваскрипте запилить могу, а построить все какие-то реакторы, контроллеры, хуй знает что для меня это сложно. Как решить это?
>>1008537 Для снежинок и не нужно использовать фраемворки и думать об архитектуре, простые вещи должны делаться просто. Ты сам поймёшь, когда тебе нужна будет либа для структурирования кода. В сложном проекте тебе придётся велосипедить свою реализацию EventEmitter, свой change detector, чтобы не перерисовывать весь компонент из-за одной изменившийся ячейки и так далее. Так же ты быть может захочешь в композицию компонентов. Например компонент DraggablePopUp может включать в себя 2 компонента RangeSlider и один ColorPicker, а может включать лишь один NumberInput. Тот же реакт позволяет легко такое реализовать.
Поясните за начальные JS курсы. Прошерстил я рунет на предмет оных, и окромя курса леарн.жс.ру лучше не нашел. На 95% завлекалочки в духе графика зарплат погромистов на фоне хипсторов пьющих смуззи. На специалистру цены неадекватные. Неужто больше ничего?
>>1008602 Скачай приложение "Учим Javascript" от Sololearn. минут за полчаса сможешь начать ваять простенький код. За более сложным - гугл в процессе написания. Забей хуй на курсы пока не начнешь хотя бы что-то писать сам. Пока тебе не понадобятся охуительные функции вроде прототипов, наследования и прочие интересности которые проще нагуглить, чем услышать от мямлящих студентов с ИТ факультетов. А там уже и поймешь, надо оно тебе или нет.
Из greasemonkey делаю скрипт для изменения удаление элементов со страницы и добавления новых. У меня получается, что страница сначала полностью загружается, затем запускается скрипт и объекты, спустя миллисекунды, исчезают и появляются. Выглядит всё это не очень приятно. Можно как-то незаметно добавлять и удалять объекты чтобы это выглядело так, будто страница изначально такой и была?
Блять, для рендеринга математических формул в вебе только MathJax использовать, больше ничего нет? Нативный суппорт <math> хромоноги пилить похоже не собираются, хотя это часть HTML5. Блять, у нас веб без математики.
Начал изучать JS и встречаю кучу задач на рекурсии. Вроде уже дохуя раз читал что такое рекурсии, смотрел видосы, читал статейки, читал у Кантора задачки и решения. Чтобы был понятен мой уровень - прочитал первую часть учебника Кантора про JS, потыкал видосы CodeDojo про ES6, начал читать "Выразительный Javascript" (для закрепления), посмотрел видос Кхана про вычисление чисел Фибоначчи через рекурсии и даже понял. Но в итоге когда дело доходит до практических задач - я не могу решить даже самую простую задачу с использованием рекурсии, 20 минут сижу думаю и всё равно 0 результат, ПРИ ЭТОМ мне нужно буквально 30 секунд, чтобы решить эту же задачу используя циклы.
Мне даже промисы легче понять было, чем эти рекурсии. Вся сложность в том, чтобы именно представить эту задачу у себя в голове и как-то написать её, ведь приходится думать как бы "с конца". Хуй знает короче.
Я для себя как рекурсию воспринимаю: функция, которая лишь при определенном значении вернет число, а не вызовет себя вновь. Таким образом, каждый новый рекурсивный вызов должен иметь измененный аргумент, стремящийся к тому самому определенному значению, при котором функция не вызовет себя, а вернет какое-нибудь значение и весь стек "разрешится".
>>1008820 Так и не понял, что ты там хотел спросить. Очевидно, что поможет только практика, много практики. Норм задача на рекурсию: Fib v2: назовем fib_v2(k, n) функцию, которая возвращает n число в последовательности, каждое следующее число в которой является суммой k предыдущих. Считать первым числом последовательности 1, а предыдущие нулями.
>>1008822 Ну так дело в том что я её тоже там воспринимаю, только вот это восприятие никак не помогает на практике у себя в голове продумать алгоритм подобной функции и то, как её нужно написать.
>>1008827 Ну спросить хотел - как вообще научиться строить функции на рекурсии, может есть какие-то четкие методы и алгоритмы которым нужно следовать (кроме самых очевидных).
Всё задание сводится к тренировке абстрактного мышления (которое видимо хорошо развито у тех кто понимает рекурсию). Само задание на скрине, попробуй написать только функцию toString, код для всех остальных функций здесь - https://jsbin.com/hekolepofu/edit?js (подсказка: функция toString работает с помощью рекурсии) Удачи, не обосрись.
>>1008833 Рекурсия это алгоритм "разделяй и властвуй". Тебе нужно определить как минимум два условия. 1) Терминальное: когда вызов функции возвращает значение 2) Рекурсивное: когда функция вызывает сама себя.
Фибоначи и прочее говно я щитаю самым худшим примером.
Из пиздатых примеров быстрая сортировка и обход дерева.
Привет зека. Есть мальчик в колготках такая контора NovaPoshta у нее есть API, вот документация https://my.novaposhta.ua/settings/index#apikeys , раньше оправлял запросы с помощью jquery, но теперь хочу использовать fetch(), пытался оправлять, но я даже не знаю правильно ли я оправил запрос. лол Вот сообственно вопрос, ну отвечает мне промис, как мне вообще можно узнать какие функции методы можно применить, к тому что прислал промис, где это можно посмотреть?
>>1008953 Сука, я б тебе отсосал, шифу. Как мне научиться такой магии, кудесник? Что это "body: JSON.stringify" ? Как ты узнал что это надо вставлять? Читать стандарт POST?
Как импортировать все модули из папки, не указывая вручную название каждого модуля? Нагуглил только такой вариант: import * as foo from './foo' И в коде нужно использовать foo.moduleName
Можно как-то без этого префикса? Или например у меня есть файл с функциями, которые экспортируются, как одной строчкой их все импортить, сейчас приходится писать import {a, b, c, d} from './functions'
Доброго времени суток. Сегодня только начал ознакомление с Webpack'ом, а уже вышла 3.0.0 версия. Собственно вопрос, есть ли какие-то существенные прям изменения, которые будут мне мешать при изучении, а то инфы сейчас не особо много? Или я смогу смело ставить? Спасибо.
Привет всем. Начал изучать JS и хочу помимо всяких курсов, чтения Кантора и тд - прикупить какую-нибудь книжку. От чтения за монитором меня уже просто тошнит, да и глаза болят. Приятно иногда лечь в кровать и почитать пусть даже какую-то техническую литературу. Так вот, т.к цены на это добро достаточно высоки, да и в авторах я не сильно разбираюсь - посоветуйте что-нибудь годное, на все времена так сказать, че почитать, анон.
>>1009003 В 3.0 изменений почти нет, а вот в 2.0 из было дохуя. Большинство гайдов прошлого года ещё по первой версии, так что ищи наиболее свежие. Первая версия быстро детектится по loaders вместо rules.
Господа, помогите определиться с ключевыми понятиями при разработке своей системы управления контентом, ну или хотя бы универсального скелета приложения для построения сайтенгов. Чтобы не послали лесом отмечу, что вопросы применительно к ноде и ее фреймворкам.
Ну вот такой примерно алгоритм работы себе представляю я: - отправной точкой и источником данных выступает БД; - админка не захордкожена (?); - любой GET/POST/etc реквест инициирует поиск соответствующего обработчика/контроллера по http-вербу и урлу (GET /admin/, POST /blog/article/ и т.д.), обработчики в целях упрощенной расширяемости хранятся пофайлово локально - это позволит, при необходимости, добавлять отдельные обработчики и чейнить их без переписывания ядра системы; - соответственно все контроллеры, имеющие одинаковые триггеры (например, срабатывающие по GET запросу пути вида /admin) автоматически чейнятся как мидлвари в Koa/Express; - оконечный контроллер захардкожен в ядре системы, работает по сути как редьюсер, т.е. возвращает итоговые данные после цепочки обработчиков.
Предполагается, что нода работает безостановочно, поэтому хочу сделать хотлоад модулей - как только появляется новый скрипт с контроллерами, например, залитыми по ftp, происходит их автоматическая регистрация (по ивенту от fs). Я что-то упустил? Как трудно будет реализовать такую идею и в правильном ли я направлении двигаюсь? Уже начинал подобный пет прожект писать, но забросил давно. Сейчас заново хочу переписать.
>>1009122 >почему оно с картинками Что бы лучше воспринимать >почему я должна перестать бояться львов Вот этого не помню. Но вообще книга для тех кто в программировании абсолютный ноль. И примеры там связаны с вебом. Один хуй надо на чем то показывать примеры, так что логично показывать на том под что заточен язык.
>>1009115 По большей части любой материал, который не в духе Как научиться делать охуенно-мега-заебатые веб-сервисы за пару дней™. Серия "You Don't Know JS", например. никогда не устану её советовать
А вообще, ты послушай >>1009166-анона, он дело говорит.
>>1009056 Купил, но с нее тех-литературу не всегда удобно читать, экран маленький (стандартный для читалок) и код плохо отрисовывается, а если табличка какая-нибудь, то вообще пиздец.
>>1009181 Ну как это? Сосешь ты, сосешь, и тут раз - начнешь загонять мужику про то, как же сейчас удобно стало с class'ами в ES6, а async/await из новых ES drafts так просто сказка! А то и вообще вместо минета создашь новый Promise, чтобы не блокировать главный поток, со словами "я отсосу тебе позже, милый!"
>Дано натуральное число N. Выведите слово YES, если число N является точной степенью двойки, или слово NO в противном случае. >Операцией возведения в степень пользоваться нельзя!
Объясните плз что такое точная степень двойки? Чет суть задачи не понял.
Хех, вопрос интересный, я погуголил и нашел следующее:
It's also useful when you want to call a method without passing the object as the this value: var obj = { method: function() { return this; } }; console.log(obj.method() === obj); // true console.log((0,obj.method)() === obj); // false
Забыл добавить еще, что >(0, _ololo2.default) разрешается в последние значение, типа "функция". Контекст вызова, который создается оператором "." или "[]" проёбывается, и вызов происходит в текущем контексте.
>>1009068 Анон, оставь что-нибудь для связи. Часто вижу тебя в этих тредах, есть один довольно-таки интересный проект, если заинтересован, конечно. Я сам тоже на уровне джуниора.
Такая тема: сижу в своем мухосранске 500к, пытаюсь вкатиться в JS-разработку. Практического опыта- ноль, но процесс обучения вроде движется неплохо. Создал резюме на hh, вот мол начинающий(28 лвл, лол) JS-разраб, могу немного в node.js и mongodb. Честно указываю, что опыта нет вообще, но типа весь такой мотивированный и очень хочу вкатиться. Приходит мне значит приглашение от конторы. Причем из Питера(первая странность). Мол нас заинтересовало ваше резюме(снова лол). Описание вакансии в прикрепленном файле, а далее такой текст: "Если Вам интересно наше предложение, просим Вас ответить на несколько наших вопросов в системе SymbioMark для подтверждения квалификации. После того, как ответы будут проверены и положительно оценены, с Вами свяжется наш специалист. Для прохождения собеседования Вам потребуется около часа.". Смотрю прикрепленный файл. Это интернет-сервис на тему туризма. Зашел на сайт- выглядит вроде прилично. Зарплатная вилка по меркам Мухосранска очень радует глаз. Да даже по меркам Питера, думаю, весьма неплоха. Встает три вопроса: 1. Похоже на наеб? 2. Если это все же не наеб, какова их мотивация выходить на связь с таким хуем как я? 3.Что это за SymbioMark? Это тестики? Собеседование по скайпу? Или как?
работает если b = new Vector(2,3) и потом b.lenght но в задании console.log(new Vector(3, 4).length) а у меня через такую запись не работает выдает undefined что я где еблан ?
Есть компонент DirectEdit и кнопка в нем, код на пике (1). Суть - удаляет контакт, чат и все связанные с ним штуки (встречи, хуйню, малафью). И когда я жмакаю эту кнопку, адрес в адресной строке меняется, но страничка как будто не перезагружается. Я получаю ошибку о том, что TypeError: Cannot read property 'startDate' of null, см. пик (2). Очевидно, за каким-то хуем вместо DirectList снова рендерится DirectEdit, direct уже удален, null.startDate закономерно выдает ошибку. Так вот, что я делаю не так? browserHistory.push()?
>>1009598 Не вопрос, а запрос у меня есть. С удовольствием глянул бы создание на чем-то подобном:
Постгре, сиквелайз, коа2 на сервере Реакт, ридакс, рекомпоз, реселект, редакс-обсервебл или редакс-сага для сайдэффектов, стайл-компонентс либо другой css in js фигня. Либо на клиенте графкюл с рилэй вместо ридакса.
>>1009585 Я про технологии. А так с удовольствием поглядел бы на react/node, в след месяце только собираюсь до них добраться, ну и несколько вопросов имеется.
Я вообще логики в их действиях не улавливаю. Пусть даже там все ни разу не круто, но худо-бедно работает. Кто-то может привести хоть один довод в пользу того, чтобы хоть как-то выходить на связь с ИНОГОРОДНИМ нубом, который в резюме даже не пытается скрыть, что он нуб?
Господа направьте на путь правильный. О себе закончил универ по профилю защита информации. Так как без опыта и знакомств туда вкатиться оказалось делом почти не реальным в моем миллионике я резво пошел сисадминить в одну из контор родаки через пару месяцев начали капать на мозг крайне сильно. Отпахал я там примерно год, приобрел некоторый опыт работы в коллективе, ну и еще опыт в специфических прогах архитекторы и всякое такое. Через год контора обанкротилась. Начал поиски новой работы. Внезапно взяли на работу с банковских оборудованием и по совместительству опять же админство в офисе проливаю софт на терминалы оплаты которые по карте, ремончу банкоматы по всему профилю от программного, до технического. Всё вполне успешно получается, за полтора года изучил многое и многому научился. И вот я понимаю что надо двигаться дальше и еще понимаю что ко всему тому багажу знаний нужно изучить какой - то язык программирования который будет хоть как - то контачить с моим уже текущим профилем ну или хотя бы дополнять если вкачусь снова в какую - то другую сферу. И тут встал вопрос что изучать. Остановился на скриптовых языках: Питон или Js? Что лучше подойдет, что легче в изучение? В общем надеюсь на ваши рекомендации анончики. Время изучения не слишком важно, так как собираюсь изучать на работе в свободное время, работа в целом не напряженная если ничего вдруг не ломается. Так что изучать буду спокойно и размеренно
>>1009725 Если для дальнейшей карьеры (вроде как раз то, что тебе нужно) то лучше JS-ик. Просто потому, что на нем больше работы, как в конторках, так и на фрилансе.
>>1009549 Только не говори, что у тебя действительно эта самая "lenght"-очепятка в коде. Тогда понятно, почему ундефинед.
>>1009725 ЖС для начала хорош для школьников или домохозяек. Сделать домашнюю страничку и забросить, как игру на гитаре, уроки сальсы или йоги. Пайтон — то же самое, только для вонаби-нешкольников. У тебя есть неплохая база и перспективы, тебе стоит подойти к этому более серьёзно. https://www.edx.org/course/introduction-computer-science-harvardx-cs50x Начинается с боли на Си в командной строке, потом там и Пайтон, и ЖС, сервера с БД и даже машин-лёрнинг. Судя по местным тредам, это уровень тутошних сениоров. Займёт около 200 часов, если прилежно (а если не прилежно — не трать время, лучше пивасика после работы ёбни). Зато потом у тебя не будет тупых вопросов, а будет общая картина с пониманием того, куда тебе самому двигаться дальше.
однозначно ЖС, так как она с async и промисами стала довольно удобной, и поэтому работы на ней теперь станет ещё больше в разы. Ещё не забывай что на подходе вебассемблер, ЖС в связке с ним будет вообще бомба
>>1009749 Похоже, вопрошающий и есть новичок, раз не разбирается в скриптопарашах. Чтоб потом как местные не-нубы-реактобоги не спрашивать, как массив отсортировать или почему объекты по ссылке передаются. На русский переведён позапрошлогодний курс (осень 15). В нынешнем отказались от ПХП и ещё много хорошего по мелочи. Если с английским проблема, то профитней будет пока заняться им, а не программированием (лучше даже совместить).
Программисты мира, отныне ваш босс - индус! Отныне ваш язык не английский, а хинди. Ваша город не нюйорк а примумбайский гхаткопар. В резюме будете писать не "работал на 5th авеню NY а потом LA. Рассматриваю работу за 100 тыщ баксов годовых и бонусы", а будете писать "работал в Хайдарабаде, штат Андхра-Прадеш, а сейчас в Канпуре, штат Уттар-Прадеш, готов работать за 1000 рупий, лижу жопу, живу в трущобах".
Индия сделала в 2008 году 50 миллиардов баксов. Больше, чем рашка наковыряла и забарыжила пердёжного газа [визард подсказал данные, спасибо].Так что теперь ИТ центр мира - индия. Начальник прогера - копчёный индус. Все учебники по дотнету и ораклу теперь будут выпускать на санскрите. Синтаксис новых языков будет наследовать эпический санскрит.
Не верите? Ганс как всегда гонит волну? Расскажете мне об этом, когда будете резюме на санскрите лабать и по телефону лизать жопу копчёной обезьяне из примумбайской хайтек деревеньки! Никогда вам больше не позвонит белый господин, который срёт в белый унитаз, моет руки перед едой и ходит в театр! Ни американского ни европейского менеджера вы не заслуживаете. Отныне самые задроченые цифры на вашей мобиле будут телефонным кодом +91. Программистишки всего мира, вставайте в очередь к своим новым господам, именно в индии сосредоточится в ближайшее время битва за миску высокотехнологичного риса.
начинаю понимать почему раньше были запрещенны разговоры про работу. если позволить даже 1 тред, то это привлечет людей которые ищут работу, а не ищут - обвениваться опытом. и это все погубит. так как тех, кто не ищет работу - это заебет. а те, кто ищет, так их ничего кроме финансовой стороны работы не интересует.
>>1009745 Ты вообще хоть в JS разбираешься? Понимаешь что сейчас этот язык практически настолько же развит как и все ПРАВОСЛАВНЫЕ языки. Чего только одна нода стоит.
>>1009745 Про лекции спасибо. Гляну просто для ознакомления пока, интересно выглядит. Английский могу читать и слушать, но пока не так гладко как хотелось бы в процессе изучения тоже
>>1009746 >с async и промисами стала довольно удобной, и поэтому работы на ней теперь станет ещё больше в разы >добавили сахарок и новый класс >работы станет больше И откуда вы только такие дауны берётесь.
>>1009907 Доли логики в этом есть. Например многие люто ненавидили жс уровня жиквери, но с приходом es6+ и нормальных фреймворков стали относится к нему гораздо лояльней. Таким образом то что раньше делали точно так же нехотя на пхп, теперь делают на ноде.
>>1009848 ЖС — прекрасный язык. Даже Ноду на нём написали. Со степенями двойки вроде уже разобрались. Знаешь, как на Реакте массив отсортировать?
>>1009856 Недавно вроде в перезвоним-треде анон кинул вопросы с собеседования на фронтенд-джуна (про АСКИИ там было, про сети), так в треде чуть дело не дошло до массовых самоубийств от безысходности. Вопросы типа на общую эрудицию и играючи освещаются в этих лекциях, но хедшотят таких вот по-лёгкому-вкатышей.
Какой бы стул ты не выбрал, запомни главное — ты учишься писать код только тогда, когда пишешь код: https://habrahabr.ru/company/everydaytools/blog/322980/ Сколько видосиков нужно "глянуть просто для ознакомления", чтоб научиться играть на гитаре? Тут то же самое. Сторонись этой гиблой идеи.
Видосики лекций займут не более 20% времени от нужного на курс. И я настоятельно тебе советую инвестировать время во все домашки и гуглёж, требуемые курсом. Это время потом окупится сторицей, когда вещи, кажущиеся сложными и требующими заучивания вкатышам в ЖС или Пайтон, тебе будут просто очевидны по логике. Ну и сможешь всем говорить, что у гарвадских учился, хех.
>>1009946 >Это время потом окупится сторицей, когда вещи, кажущиеся сложными и требующими заучивания вкатышам в ЖС или Пайтон, тебе будут просто очевидны по логике.
>meanwhile в YDKJS один из главных посылов "если знаете любой другой нормальный язык программирования - в JS ВСЁ НЕ ТАК. И ваша логика - ваш основной враг.
>>1009742 Антошка^^ спасибо просто уже под конец своего режима читал писал и все через жопу написал ну ладно как там выше писали "нужна начать учиться на своих ошибках" #ёлло
>>1009953 Очевидно, что этот >>1009946 анон имел в виду фундаментальные вещи вроде алгоритмов и структур данных, и никаких противоречий с посылом автора YDKJS это не вызывает.
>>1010167 но этож нихуя не то же самое. Объект набивается undefined-параметрами. В то время, как на пикрилейтед если параметр отсутствует, то он и не добавляетя в объект ни в каком виде
>>1010163 На мой взгляд использовать && для выполнения сайд-эффектов не лучшая идея. Ты хочешь проверить условие и затем выполнить действие. Обычный if выражает твои намерения наиболее четко.
>>1010186 В принципе, да, выполняет. Одна проблема: в течение года приходят другие и впихивают промеж if-ов ещё какие-то действия и все содержимое criteria размазывается на 50+ строк кода, разбавленное какой-то невнятной хуетой. Это можно решить повышением общей культуры написания кода, а можно написать так, чтобы никто не хотел ничего впихнуть. Но раз у всех кровоточат глаза, буду писать ifами, этож ещё поддерживать надо
>>1010193 Проблема высосанная из пальца. Если у тебя в функцию приходит хуйня, влеплять проверку на undefined — глупость. Если семантика требует наличия значения, то проверка на undefined только скроет от тебя баг.
>>1010195 Возьми себе за правило оставлять код, который ты правишь чище, чем он был. Если этого не делать, проект в один прекрасный момент порастет говном.
>>1010211 Это ни чем не отличается от if (authors), потому что будет приведение типов. Проверка на undefined нужна только если ты ожидаешь что может прийти falsy значение, которое не нужно игнорировать. В общем это зависит от бизнес логики, а не от правил хорошего тона.
в его случае не взлетит ни const ни var, так как таких критерий будет несколько по ходу логики. var порешает use strict, а константы вообще не для этого, поэтому нужно использовать let
Поясните за Electron https://electron.atom.io/ Его используют только бородатые хипстеры для сборки десктоп приложений, или же это хорошая практика в целом? Не лучше ли писать нативно на каком-нибудь C# или джаве?
>>1010223 это странно, но как раз читаю. кайфная книжка. Сейчас я наблюдаю как можно взять js+noSql и получить на выходе адок из объектов с большой вложенностью, кошмарных проверок на пустоту, неожиданных форматов и прочего
>>1010227 С спрашиваю как раз потому, что в C# треде мне сказали, что десктоп разработка мертва чуть более, чем полностью. Поэтому есть смысл писать вебприложение, которое бы работало с десктопом. Вот и спрашиваю, на сколько то маргинальное мнение?
да хз анон, вот за последний месяц 69 работ на упворке всплыло, то-бишь даже бизнес уже начинает электрон использовать, я ни разу не юзал, но как по мне, если ты не клон фотошопа пилишь или что то соразмерное, то электрона тебе должно хватить
>>1010225 Имеет смысл писать на нем, что-то большое, тяжелое, комбайное. Например IDE, еще оправдано, в отличии от мессенджеров или мелких утилит, которые ебашат на нем все кумо не лень не от большого ума.
Самый простой путь, использовать демон (хоть на той же ноде) для доступа к ОС, а гуй рисовать в браузере который есть и так у всех.
>>1010242 >не клон фотошопа пилишь или что то соразмерное, то электрона тебе должно хватить А если утилита для работы с RAM? Т.е. считывание, парсинг и тд.
>>1010242 У меня коммерческий проект в nwjs завернут. Боль конечно термоядерная, потому что сторонние говно-апи работают через хуй-пизду. Но для standalone приложения штука неплохая.
>>1010208 А потом ты через время обнаружишь, что его опять засрали и вся твоя работа коту под хвост. Культуру надо прививать вцелом в компании, а не в одиночку сражаться.
>>1010331 По твоей логике видимо раз все вокруг мусорят, тебе тоже можно мусорить и ждать когда же Царь исправит гадких людишек вокруг тебя.
Твоя задача делать хорошо то, что зависит от тебя. Сделать так чтобы ты и вся остальная команда делали так же хорошо — задача тех лида, которым анон очевидно не является. Так что мой совет был максимально релевантным конкретно для него.
Я чего-то не понял. Почему внутри function() указан аргумент number? А при чем тогда item, i, arr? Или можно указать и эти три, и добавить своих аргументов? Как тогда функция поймет, что я имею в виду?
>>1010482 Функция сопоставляет переданные значения с аргументами. То есть этот коллбэк в любом случае вызовется с тремя аргументами, но указывая лишь number, ты ловишь в эту переменную лишь первый аргумент (который item). Названия переменных тут не причем.
>>1006768 (OP) Что лучше и почему: PhoneGap, Titanium Studio или React Native? В приоритете скорость вката, освоения, разработки с использованием фреймворка, большое коммьюнити. Читаю https://stackoverflow.com/questions/1482586/comparison-between-corona-phonegap-titanium но тут, блядь, один ответ противоречит другому, и я нихуя не понимаю, кто мощнее, в чем разница, кто генерирует нативный код, а кто тупо показывает сайт в виде приложения или в чем вообще разница между всей этой хуйней? Разжуйте для еблана плз.
Блядь, какие вы тут из себя все крутые программисты, особенно учитывая то, что JS - вообще не язык программирования, а динамическое дополнение к статическому языку разметки интернет-страниц - HTML.
>>1008217 Сейчас делаю с ним, тимлид думал, что так лучше. На деле там половина модулей в говномамонтских версиях, вебпак 2 буквально месяц назад добавилм, например. Если захочешь сам обновить мажорную версию бабеля/вебпака, наебёшься, но нихуя не сделаешь. А всё, что там есть, настраивается за полдня. Говно, в общем, нирикаминдую.
Есть функция cat, которая возвращает объект. Этот обьект я записываю в две переменные (точнее переменные получают ссылки на объекты). По итогу эти идентичные объекты независимы, я могу менять значение одного, при этом другой останется прежним. Эти объекты существуют в различных замыканиях. Но где хранится в объекте ссылка на свое замыкание? у функции есть [[scope]]. А тут что?
>>1010894 Какие замыкания, о чем ты? У тебя функция cat возвращает POD объект. Один никак не связан с другим. Ты меняешь одному значение поля, на второй это никак не влияет.
>>1010894 Делаешь функцию "дать 4 ноги" Даешь 4 ноги х и у Спрашиваешь сколько ног х вручную ставишь количество ног х спрашиваешь еще раз сколько ног х у
>>1010905 В смысле, "я работаю, ты готовишь"? Или только встречаться и чпокаться? Я бы да, мне пофигу, кун/тян, лишь бы человеком хорошим был. Впрочем, кэтс а файн ту. Анон выше
>>1010910 В учебнике эта тема не раскрыта. Я полагал так (и так в учебнике) - если объект создан в одном лексическом окружении, допустим: {name: 'barsik'} то к данному объекту можно обратиться по ссылке из разных переменных. Короче ссылки могут быть в разных переменных, а объект один единственный.
Короче суть заключается в вопросе - в одном лексическом окружении могут быть созданы несколько полностью идентичных объектов?
>>1010910 Не очень понял что ты имеешь ввиду. Возвратить из функции примитив? Или возвратить из функции функцию?
>>1010934 Могу договориться с Лазерной, я её хоршо знаю, так просто она не будет. Полезешь, как быдлан к ней - точно всё испортишь сразу же, потом ещё ждать придётся, пока она успокоится. У неё всё оч сложно, но я её тонкую психику и поведение знаю.
Я возьму 10к. Ну а ей, как договорюсь с ней. Платишь мне за организацию, потом ей на месте перед...
>>1010967 Да что с тобой не так? Мой вопрос был о той ситуации когда функция массив возвращает. Собственно ответ - в одном лексическом окружении могут существовать два идентичных объекта.
>>1010961 И я имел ввиду что в одном лексическом окружении можно создать два идентичных обьекта. Скопировав через for...key. Именно создать копию. То что в переменной сслылка - мне понятно.
>>1011012 >Собственно ответ - в одном лексическом окружении могут существовать два идентичных объекта. Нет. Ты просто приписал функцией двум разным объектам одинаковые свойства, а потом одному из них изменил значение одного из свойств.
Возвращаясь к "классическим" программистам на Ruby/Erlang/C++/Scala/C/JavaScript, админам, QA Automation и DevOps, заметим, что они сами виноваты в своих низких доходах в РФ. Они сами выложили в открытый доступ все, что плохо прибито к полу. Они соревнуются друг с другом в этом бесплатно, устраивают бесплатные курсы, делают открытые для всех Wiki по теме, делают бесплатные хакатоны. У 1С-ников невозможно представить "Хабрахабр", где они все бы "кодили под себя за лайки" и соревновались бы друг с другом за карму в том, кто более красиво/подробно/детально опишет какую-нибудь настройку squid, iptables, запиливание мобильного приложения на Sencha Touch на 10 экранов со скриншотами и исходниками, кастомную реализацию аллокаторов на C++, подробнейший гайд по gdb, гайд по valgrind, готовые скрипты и примеры, чтобы залетный школьник или студент смог начать демпинговать за белый хлеб и гречу. Любой 1С-ник вообще не возьмется за работу, если клиент хочет "за рубль и докрасна". А некоторые 1С-ники даже на платные курсы допускают не всех, а только тех новичков, которые осознают реальную ценность своих будущих знаний.
>>1011054 Писанина жадной обиженки. Программирование так не работает. Если не делиться информацией, а только потреблять ее, то не будешь расти как специалист. Поэтому адинэсники никогда не смогут быть правильными программистами, то есть инженерами. Их как баранов водят за нос, втюхивая неюзабельное говно в тридорога. Поэтому у адинэсников развивается зависть ко всему открытому, их жопы разрывает мысль о том, что где то есть бесплатные ОС, бесплатные софт, бесплатные платформы для разработки. А больше всего их подрывает мысль, что где то есть настоящие программисты, которые пишут на настоящих языках, и решают настоящие, интересные задачи. Это сборище нажимальщиков на кнопки, сами роют себе могилу. Они все больше становятся изгоями.
>>1011058 Думаешь кто купится на твою чепуху. Ты хоть заплюсуйся сам себе, всем плевать на твою тупую писанину. Девелоперы пишущие на Ruby/Erlang/C++/Scala/C/JavaScript это элита, а не всякие совковые задроты, работающие в "НИИ Государственный Заборостроительный Комбинат".
>>1011054 Хуйня полная написана. Чувак топит за закрытую документацию, лицензию на знания и прочий копирастический ебанатизм практически. В программировании определяющим является мастерство, а не ресурсы, так что опенсорс норм как раз. Как и в IT-бизнесе, определяющим являются кадры (носители мастерства), а не средства производства. Типа, в математике куча открытых ресурсов, изучай до усрачки, но это никак не генерирует огромное количество первоклассных математиков и не понижает их стоимость. В IT может быть куча выпердешей с говнокурсов, но качество предлагаемых ими услуг настолько низко, что тем, кому такое качество подходит, проще будет за вдвое меньшую цену нанять индусов. При этом толкового senior frontend developer по пол года в мегаполисе найти нельзя, хотя информации в сети жопой жуй.
Лол, я не >>1011054-анон, не рвись ты так. Это во-первых, а во-вторых я сам JS-девелопер. Просто увидел зерно здравого смысла в том, что чем меньше людей владеет определенным навыком, тем больше их услуги будут стоить. Это логично.
Джейсоны у меня два вопроса 1) В чем отличие axios от фетч? Какие преимущества и подводные камни. 2) Если Vue.js так хорош, почему на нем нихуя нет работы. Все спасибо
>>1011103 В том и дело, что общее знание в духе выжал сцепление - включил передачу - приотпуская сцепление, поддал газу это и есть начальный уровень навыка. И, очевидно, он не делает меня проф. водителем. Но если я начинаю изучать тонкости и аспекты (в данном случае опытным путем, ибо это дело такое), я повышаю свой навык и могу в дальнейшем стать гонщиком, лучшим в мире. Черт побери, возьми любую ролевую систему за пример, отражение ирл жи.
>>1011108 Нет. То, что ты это просто знаешь не делает тебя даже просто водителем. Знание - это не навык. Навык это опыт. И он, если хочешь, может образоваться вовсе без знаний. Методом тыка.
>>1011097 Не уверен, что ты понимаешь как работает рынок. Это тебе не совок или КНДР, весь спрос идет от частных компаний. Эти компании понимают, что если не обучать новых людей, возникнет дефицит специалистов. В РФ дефицит программистов, об этом заявляют официальные лица, в США тоже дефицит, везде дефицит.
Это с учетом множества возможностей обучаться. Большие и маленькие компании учат бесплатно, выпускают обучающий контент постоянно. Яндекс, Майл.ру, и другие, все они выпускают тонны бесплатных обучающих материалов, проводят бесплатные тренинги. Все это для того, чтобы не испытывать дефицит. Все это делается для роста рынка! Это не понять людям с совковым рабским менталитетом. Если рынок разработки сделать закрытым, он не будет развиваться, постепенно он умрет. Кто то должен жертвовать в это, иначе роста не будет. Даже Майкрософт все выложили в опенсорс, потому что их платформа стала умирать. В 2016 году они поставили рекорд, больше всех сделав вклад в опенсоурс, даже больше Гугла, Фейсбука, и остальных. Все закрытые рынки гниют и дохнут. Либо топчутся на одном месте десятилетиями.
Что лучше и почему: PhoneGap, Titanium Studio или React Native? В приоритете скорость вката, освоения, разработки с использованием фреймворка, большое коммьюнити. Читаю https://stackoverflow.com/questions/1482586/comparison-between-corona-phonegap-titanium но тут, блядь, один ответ противоречит другому, и я нихуя не понимаю, кто мощнее, в чем разница, кто генерирует нативный код, а кто тупо показывает сайт в виде приложения или в чем вообще разница между всей этой хуйней? Разжуйте для еблана плз.
>>1011119 Закрытый рынок, это как раз тот рынок, куда входят только по приглашению. Например наука в РФ всегда была закрыта, и что с ней теперь? Она сдохла. Начиная с конца 80-х советские-российские ученые не написали почти ни одной научной публикации. Оборонка в РФ тоже пример закрытого рынка. Производить оружие может только государство. Итог такой же, ничего нового за 30 лет не создано, все держится на советском оружии, которое уже устарело. В США, Европе, создавать оружие может любой. Любой может открыть мастерскую и изготавливать огнестрельное, да вообще любое оружие, и также свободно продавать. Результат на лицо, появилось огромное количество единиц оружия, рынок растет.
Все закрытые рынки сгниют. Это аксиома. СССР тоже пример закрытости. КНДР пока существует, но без вливания новых людей из других стран, без новых идей, все сгниет. Южная Корея научилась качественному производству благодаря открытости. КНДР никогда их не догонит.
>>1011126 >>Наука. нет публикаций Тут не все так однозначно. Публикации есть, но в капиталистическом строе так не работает как при СССР. Нет инвесторов частных/компаний, нет денег а соответственно и зарплат. _мимо перекатившийся в веб - аспирант_
>>1011128 То то и оно, закрытость. А вот отдали бы науку в частные руки, то есть сделали бы открытой, тогда был бы рост.
И публикаций почти нет, не надо. США, Германия, другие страны, имеют тысячи публикаций ежегодно. Из РФ отсилы десяток в год будет, может несколько десятков. Во сколько раз десятки меньше тысячей?
>>1011138 >Часто ли используются побитовые операции Никогда >regexp Всегда
Регекспы очень зря обошёл, их обязательно ументь понимать хотя бы на базовом уровне. Уметь читать и понимать регекспы-простыни с первого взгляда никто не заставляет, но быстро написать регескп для проверки на корректный номер телефона/логин/email уметь надо.
>>1011142 Слабый высер. Много ли ученые из РФ номинируются на научные премии? Много ли инноваций происходит из РФ? Много ли технологичных производств имеется в РФ? Ничего не имеется, ничего не производится, нет инноваций, нет открытий, нет международных премий.
Здравствуйте, уважаемые аноны - программисты. Дело в том, что у меня появилась проблема, как гуглить - не имею понятия.
Есть у меня один список элементов с общим классом elements и отдельным id. Id представлен так: первая часть - слово -, другая часть - номер. div class = "elements" id = " word-1234567". Есть переменная number = elements (когда начинаю все элементы перебирать по циклу, появляется i).Чтобы извлечь только цифру, делаю number = number.substr(5); Потом обрабатываю цифры. В общем, проблема в том, что дело идёт в цикле, а мне нужен номер элемента следующего. А поскольку number не является списком, есть вариант получения следующего элемента лишь расписыванием. Т.е: elements[i+1].id.substr(5). Ещё идея пришла только что - сделать инкримент, добавить полученный пост в отдельную переменную временную, потом сделать дикримент и уже работать дальше с текущим постом. Надеюсь, объяснил проблему понятно. Как быть? Как получить номер следующего по списку элемента? Есть ли магическая функция?
Никакой навык не будет полноценным без теории. Скилл = теория + практика. Соответственно, сколь мала доля теории не была бы в определеннном скилле, она является его частью.
На примере того же вождения - прежде чем тебе вообще сесть за руль, впервые, тебе нужно получить знание того, как водить. А уже потом закреплять на практике. Блядь, почему такие вещи нужно разжевывать, не понимаю.
>>1011123 > и почему > в чем вообще разница между всей этой хуйней >>1011127 В смысле бэкграунд? Бэкэнд? Я НЕ веб-приложение с мобильным интерфейсом хочу писать, а обыкновенное мобильное оффлайн приложение, но хз, если серв нужен будет, на пхп более-менее умею писать. Ну типа как вот ксамарин есть для c# или node.js для пекарен.
>>1011158 Background в смысле подготовка, квалификация. Имелось ввиду, что если бэкграунд слабый, то любой фреймворк для тебя будет сложным, хоть Реакт Нейтив, хоть какой то другой. Ты уже неделю спрашиваешь что выбрать, уже бы попробовал все. Ну или хотя бы один какой то. Пробуй Реакт Нейтив, он современный, большое комьюнити. Хуже не будет если попробуешь и не понравится.
Начни уже ошибаться. Почему ты так боишься ошибки с выбором? Жизнь не закончится на этом. Ты получишь опыт.
Публикации итд, короче они берут советские, стирают имена и даты, пишут свои, сдают им за это деньги, повышения итд Это говно работает именно так, своими глазами видел.
>>1011163 Охуительно смищно. >>1011176 Несколько тысяч строк кода на php, школьно-универские лабы и бесполезная корочка тыжпрограммиста, базовое понимание принципов написания современного и просто годного кода (ООП там всякое, паттерны, кодинг стайл). >Начни уже ошибаться. Не хотеть ошибаться-то. >Почему ты так боишься ошибки с выбором? Тому що я аутист, семпай. > Жизнь не закончится на этом. Ты получишь опыт. Я думал, надо наоборот "семь раз отмерь, один раз отрежь".
>>1011256 >Я думал, надо наоборот "семь раз отмерь, один раз отрежь". В программирование, да и во многих других сферах, ошибки жизненно важны. Через них ты учишься. Если боятся ошибок, то никогда ничего не добьешься. Чем больше ты ошибаешься, тем больше получаешь опыта, и тем больше ты привыкаешь к ошибкам, перестаешь их боятся. Боксер если не научится получать по морде, никогда не сможет побеждать. Потому что будет боятся получить удар. Тот же кого много били, не боится ударов, и поэтому сконцентрирован на своих действиях, на достижении цели.
Почитай статью, там будет отсылка к книге Джона Кэссиди про жонглирование для новичков. Автор учит сначала научится ронять мяч, то есть ошибаться. Довести это до автоматизма, пока организм не перестанет бояться ошибок.
короче пилю прилку для салона красоты на react-native а никто не слышал про условный timeRangePickerComponent? Мне нужно, чтоб человек, мог зарегаться на прием к мастеру, выбрав range типа с 12 до 1:10 в зависимости от того сколько идет процедура. Что то неохота с нуля эту дрочь да еще на незнакомой технологии делать
>>1011281 в смысле сейчас у меня все очень примитивно, сначала идет кнопка, открывающая datePicker, после на ее месте появляется другая, открывающая timePicker, а потом еще и третья будет дескать записаться на прием. А по всем правилам UI/UX меня за такое можно отпиздить люто
>>1011097 секреты есть у многих. у повора, у инженера двигателей. договор о неразглашении не подписывал? ах да, есть патенты. лиценции на ПО. то, что лучше не показывать, то и не показывают.
выкладывают свою работу 1. просто потому, что хочешь добавить в копилку знаний 2. можно извлечь профит многие программисты живут не бедно.
>>1011116 из компаний, не многие делают свои разработки свободными. опенсорс еще не значит - бери и используй. лицензия может быть - смотри, но не копируй.
>>1011286 ах да. 1. выкладывают под GPL. ты не можешь это скопипастить в свой закрытый проект.
2. выкладывают без лицензии. не можешь скопипастить. нужно согласие автора или жди суд.
3. MIT - можешь копипастить.
это старый спор про лицензии.
книги не пишут просто так, за рекдим исключением. stackoverflow - это не просто так. да и никто ничего просто так не делает. тот пост от недопонимания.
>>1011286 Чувак сверху писал, что не нужны бесплатные курсы, гайды, языки, платформы, либы, etc. Если ты также считаешь, то иди пиши на закрытом дерьме, будь на поводке у вендора. Не используй ничего бесплатного, тебя никто не заставляет. Закройся в своем окопе и ни с кем ничем не делись, используй все платное. В чем проблема? Все закрытые технологии сгнили, или сгниют в ближайшее время. Меня никто никогда не заставит пользоваться виндой, или 1с, или еще чем-то подобным. Зачем мне вешать себе ярмо на шею, если есть более продвинутые бесплатные продукты.
>>1011289 Кто сказал, что делают просто так? Глаза раскрой, написано что компании делают бесплатное обучение ради роста числа разработчиков. Чтобы не было дефицита.
>>1011290 мой посыл в том, что нет бесплатного в любом его понимании. как еще объяснить? никто просто так не выкладывает свои поделки. все остальное, про рынок, про опенсорс, это уже не вежно, так-как основное предположение в том посте неверно.
>>1011284 Не усложняй. Вообще с какого хуя клиент должен выбирать рейндж, и вообще заботиться о том чтобы знать, что та или иная процедура у этого мастера идет сколько-то часов? Пусть указывает только начальное время приема, тип процедуры проверяется на точке входа (смотри какую кнопку для записи нажал). А для вывода уже занятого времени для клиентов/мастера пропишешь свой API, где закрасишь необходимое занятое время уже от типа выбранной процедуры, будь там +три часа от выбранного времени или больше.
Есть массив значений, скажем, ['foo', 'bar', 'baz'] Предстоит часто обращаться к его методу indexOf, для получения индексов определенных значений (заведомо существующих в массиве).
Является ли здоровой практикой некое..."кэширование" индексов, путем хранения сего массива в виде вот такого объекта: {'foo': 1, 'bar': 2, 'baz': 3} ?
Размер массива не очень большой, просто у меня в попе шило перфекциониста. Но помимо этого просто стало интересно, делают ли так вообще?
>>1011416 Впрочем, если разговор о производительности, то линейный поиск в массиве небольшого размера в общем случае быстрее чем использование хэш-таблицы. Что, впрочем, не относится в жс-у, т.к. в нем нет настоящих массивов.
>>1011264 На мой взгляд заученной "учись на чужих ошибках" совершенно неправильно воспринимается как "НЕ ДЕЛАЙ ОШИБОК, А ТО ПОСТАВЛЮ 2". В то время как смысл в другом: если другие люди выяснили что вот-то точно неправильно, то нет смысла пробовать это повторять один в один, в надежде что у тебя получится. Что не исключает возможности на успех при изменении некоторых факторов.
Логическое ИЛИ в JS-ике завершает evaluation на первом встреченном truthy value. Соответственно, если у тебя dropdown.is возвращает truthy, то всё заканчивается.
Хлопцы, что лучше читать для вкатывальщика: The Modern JavaScript Tutorial от Кантора или You Don't Know JS от getify? Пикрила нет в гайдах из шапки, но на гитхабе лайков оче много. Кантор же прельщает наличием русской версии - на случай если устану превозмогать читать на английском.
>>1011499 You Don't Know JS пытается запутать уодом(чтобы думал ололо) и плохо структурирован. Без знания основ или другого языка лучше любой другой вариант.
>>1011442 Как раз нет смысла не делать потому что другие сказали это плохо. Ты повторил мантру "не ошибись иначе пипец". Из за этой мантры люди не могут ничего добиваться, ибо боятся ошибиться, и поэтому годами прокрастинируют. В программировании нужно учиться исключительно на своих ошибках. Так ты изучаешь как все устроено, почему нужно так, а не по другому. Если же следовать заученным правилам, то станешь тупым роботом, который сам придумать ничего не может, а только действует по указке других.
Вот великолепная статья, которая описывает проблему всего нынешнего обучения, там не пишется об страхах ошибок, но проблемы описанные возникают в том числе из-за страха ошибиться
Почему из русскоговорящих почти никто не может научиться говорить по английски? Очень просто, из-за страха говорить не правильно, боятся что их засмеют. Менталитет такой, везде страхи, везде ограничения. Индусы например легко научаются говорить, потому что не боятся ошибок, не боятся акцента.
Ребенку чтобы научиться ходить и говорить, нужно регулярно ошибаться. Падать, вставать, падать и вставать. Говорить с ошибками, мямлить, коверкать. Если бы он следовал твоим советам учиться на чужих ошибках, то никогда бы не стал ходить и говорить.
Объясните нюфане в программировании. Второй день изучаю, задачки решаю. Конкретно эта звучит так: Дано четырехзначное число. Найти число, полученное при прочтении его цифр справа налево.
Браузер зависает и останавливает сценарий. Я не понимаю что не так в самом коде, вроде как я не пускаю цикл на вечные обороты. Помогите пожалуйста.
var userEnter = prompt("Введите четырехзначное число", ""); var reversedNumber = 0; for(var i = 1000; i >= 1; i / 10){ reversedNumber += ((userEnter / i)^0) * (1000 / i); userEnter = userEnter % i; } alert(reversedNumber);
>>1011541 Ты кажется вообще не уловил моего посыла. Я не говорил "нельзя ошибаться". Я говорил что фразу "учится на чужих ошибках" надо воспринимать как "не совершайте очевидной лажи, если другие люди уже 100% выяснили что это лажа". Например не пытайтесь в очередной раз придумывать вечный двигатель.
>>1011593 Не будешь придумывать, мозг не будет работать. Если бы люди не пытались придумать что-то вопреки кажущейся невозможности, они бы никогда не смогли сделать ни одного открытия.
Чтобы научиться программировать, не просто копипастить как мартышка, а понимать что делаешь и как все работает, нужно ошибаться. Нужны эксперименты, а не тупое следование догмам. Нужно самому дойти до понимания почему нужно так, а не по другому.
>>1011609 Вот ты заладил. Кто тебе сказал что "нельзя ошибаться" то? Судя по тому что ты говоришь, надо попробовать написать проект на goto. Ведь иначе как я пойму что это пиздец хуевая затея?
>>1011611 Все, спорить с тобой мне незачем. У чувака хроническая боязнь ошибок, как у большинства кто здесь трется. Поэтому каждый день один и тот же вопрос, какой язык/фреймворк/etc выбрать, и они не выберут до тех пор, пока не будут уверены что не ошиблись. Это общая для рашки тенденция.
Чувак не может выбрать фреймворк, ему написали, что нужно самому все испробовать и сделать выводы, но он боится.
>>1011619 Тутор пройди. Вообще если ты пришел учить жс, учи жс, не ебись с емаксом. Вот когда решишь что тебе нужен программируемый редактор, тогда и попробуешь.
>>1010786 Под раст рано или поздно напишут годный веб фреймворк. А пока веб упирается в пхп для говнокодинга ноду для стартап разработки и с# с джавой для тырпрайза. А вот с питоном и руби для веба просто идите нахуй. Просто нахуй.
>>1011264 >> Автор учит сначала научится ронять мяч
Самообучился жонглировать каскадом без всяких теорий. Просто назадротил основные движения. Кстати жонглированние - это как на велике кататься. Один раз научился - и навсегда. Полгода мячики не трогал, попробовал - криво, но пошло.
>>1011645 p.s. А вообще они там пизданулись, на заокраинном западе. Решаются блядь жонглировать, и мячики ронять решаются. >>1011645
А так ты по сути прав, я прочел вашу ветку. Ошибки, решения - в контексте жизни это несколько субъективно. Главное - действие. Более того, стоит помнить что самые подготовленные и продуманные планы рушились. И самые глупые и спонтанные вещи реализовывались. Но и это не важно. Важно действовать.
>>1011657 Метод прост, научись делать ошибки пока не перестанешь их игнорировать. Тогда любое начинание не будет пугать. Например чтобы торговать на бирже, нужно не иметь страхов. Да любое вложение денег требует бесстрашия. Люди работают на других потому что боятся идти в свободное плавание.
Помогите плз нубу решить задачу. Предполагаю, что решаться должна через декораторы. Напишите метод функции (wrap), который будет работать следующим образом:
function speak(name){ return "Hello " + name; }; speak = speak.wrap(function(original, yourName, myName){ greeting = original(yourName); return greeting + ", my name is " + myName; }); var greeting = speak("Mary", "Kate"); // Hello Mary, my name is Kate
Они не хранят ссылку на свои объекты (в случае с WeakMap - на ключи, если я не ошибаюсь). Так что если на определенный объект, хранящийся в этих "слабаках", проебутся все ссылки, то и из этих структур объект тоже пропадет. ну и станет доступным для gc
>>1011814 >Юзается в основном для DOM-объектов. Ага, вот как раз интересовали реал-лайф юзкейсы. Я так понимаю, требуются они чуть чаще, чем никогда? Удобно ли пользоваться ими для промежуточных операций пасринга/хранения/чтения? В том плане, что ГЦ все равно же уберет и стандартный объект, если на него все референсы удалены, не?
Нахуй тут этот коллбэк не нужен. Вот как оно должно работать всё:
------------------------------------------------------------- function speak (name) { return "Hello " + name; } speak.wrap = function () { return (yN, mN)=>`${this(yN)}, my name is ${mN}` } speak = speak.wrap(); speak('Mary', 'Kate'); // Hello Mary, my name is Kate ---------------------------------------------------------------
Если не понимаешь, как работает содержимое функции speak.wrap, то советую побыстрее выучить arrow functions и template strings, но вот тебе ES5 версия функции: speak.wrap = function () { var _self = this; return function () { return _self(yN) + ', my name is ' + mN } }
Помогите нагуглить аналог панграмм ну, "The quick brown fox jumps over the lazy dog" в ангельском и ФРАНЦУЗСКИЕ БУЛОЧКИ в русском для js с babel'ом (jsx, Flow, последний EcmaScript с пропозалами).
Хочу тему синтаксиса для Атома запилить, конкретно под JS, нужно будет на чём-то тестировать. Не могу уже смотреть на пиздец, который не учитывает грамматику конкретного языка и специфичные селекторы.
Да и с байбл-грамматикой там пиздец какой-то местами, попробую попатчить если осилю. И вообще определения грамматик в Atom говно, спиздили из ТекстМейта и даже доков толком не запилили.
>>1011939 >Да и с байбл-грамматикой там пиздец какой-то местами, попробую попатчить если осилю. Но вообще это просто я такой аутист, который пердолит редактор и форматирует код, вместо того чтобы погромировать.
Котаны, а если учишь js первым языком, и вот от такого function getMaxSubSum(arr) { var maxSum = 0; for (var i = 0; i < arr.length; i++) { var sumFixedStart = 0; for (var j = i; j < arr.length; j++) { sumFixedStart += arr[j]; maxSum = Math.max(maxSum, sumFixedStart) } } return maxSum;
}
начинает тошнить и хочется плакать, это нормально?
Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.
Часто задаваемые вопросы:
https://github.com/vladimir37/js-thread/blob/master/Wiki/faq.md
Список материалов для изучения:
https://github.com/vladimir37/js-thread/blob/master/Wiki/learn.md
Список инструментов и направления JS-разработки:
https://github.com/vladimir37/js-thread/blob/master/Wiki/tools.md
Конфа /pr/ в Slack:
https://slack-2chpr.herokuapp.com/
JS-конфа в телеграме:
https://telegram.me/jsthread
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.