Это копия, сохраненная 17 июля 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Этот тред посвящён главному языку будущего - 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/ для серверного кода.
Ну вот что за ерунду ты спрашиваешь. Мы не знаем ни тебя, ни уровня твоей усидчивости/обучаемости, как без всех этих факторов можно делать объективные выводы? Никак. И думай перед тем, как задавать такие вопросы. Вас таких вкатывальщиков по несколько на день заходит в прикреплённый тред. Ориентируйся на 6-10 месяцев.
Начать со стороны изучения API той поебени, подо которую ты собираешься писать бота, оно должно быть по всем канонам language-agnostiq, лол, поэтому решительно похуй, под ноду ты будешь писать или под торнадо.
Раз ты знаешь про Торнадо, может пояснишь.
Я в сторону бека начинаю поглядывать, помоги с аналогиями. Вот есть Нода с Экспрессом. Нода аналогична питоновскому интерпретатору тогда, а Экспресс это как Торнадо? И каким боком к этому ко всему Нджиникс?
другой анон
ExpressJS ближе всего стоит к Django, если говорить языком аналогий.
Нода - V8 c async I/O обвязкой.
Nginx - в контексте твоего поста - для балансировки нагрузки позади кластера нод.
>ExpressJS ближе всего стоит к Django
Хотя Sails ближе к джанге, пусть поправят меня любители одноглазых змей, если я не прав.
Сейлс ближе к джанго и рейлс на рубях, а вот экспресс он асинхронный как торнадо, но больше похож на фласк
На самом деле я не понимаю пока только 2 вещи:
1) Как заставить прогу саму логиниться
2) Как взять HTML код текущей страницы
Дайте хоть наводку куда копать.
1) requestJS - либа-абстракция на низкоуровневым API ноды для совершения HTTP(S) реквестов
2) множество вариантов. Например, Cheerio - сиречь жквери для ноды.
Этого должно хватить для старта.
Что-то близкое к Dropbox Paper но селфхостед.
Риалтайм, что бы все кто в документе видели новые комментарии и правки - не самое ключевое в данном случае.
Что есть - бекенд на Джанго где я перегоняю Ворд документы в маркдаун или штмл и могу допилить контроль версий, вычислять разницы между документами разных версий и запилить rest API.
Вопросов сразу несколько:
1. Видели ли вы уже что-то подобное что можно за уши прикрутить не шибко заебываясь к учеткам сайта. Можно платное.
2. Как бы вы рекомендовали это делать? На уровне идеи, может инструментов.
3. Что бы это могло выйти по деньгам, кто был бы готов взяться?
Нет, проще намного.
Больше всего это бы напоминало веб сайт гитхаба с вот ю си из вот ю гет редактором и встроенными в документ комментами.
ExpressJS ближе к Flask, с Django он не имеет ничего общего.
Че бля, никто не подкинет посмотреть докладов?
Значит можешь не чувствовать.
Бля спасибо, уже второй раз на этой хуйне ошибаюсь
Это наверно совсем для прокрастинаторов. Думаю месяца 3 хватит вполне
>Освоил основы за 3 дня
>"Привет, мы свойства и методы, учи нас. vasua.suka.pizdec[chtoeto,hvatit...prekraiti].yaebu(ebal, ibudu,)()((((){((){{}{)({}{)({}{((())}}{{{{{}}{{)((;
Вот только для лиспа есть божественный paredit и его аналоги, что делает редактирование лиспокода самым удобным занятием на свете.
С хуя бы это? То есть смотреть на препода на паре норм, а на препода в мониторе не норм?
А вообще я про видосы подобного плана: https://egghead.io/courses/getting-started-with-redux
Нормальные люди не тратят время на видеуроки, твоя аналогия некорректная.
1) На паре препод с образованием, а в мониторе редко можно встретить кого-то по-настоящему компетентного
2) Препод преподаёт как правило фундаментальные дисциплины с огромным объёмом теории. Для программирования на JS всё это нинужно, гораздо важнее практика, больше толку будет если ты сразу подойдёшь к станку и начнёшь клепать детальки.
3) Для решения бизнес задачи гораздо быстрее загуглить/глянуть в доку, а не видосики искать на нужную тему.
На препода смотреть тоже не норм. Надо потом самостоятельно по пунктам разобрать лекцию, и практикой на семинаре закрепить.
> То есть смотреть на препода на паре норм
Не норм, я считаю что в вузах тупейшая система обучения и лекции практически ничего не дают.
>>1007286
>>1007293
Ну ок. То есть вы себя ограничиваете только чтением доков и еблей с решением рабочих задач?
Это все понятно. Но если ты хочешь себя продать дороже, очевидно надо быть в тренде. Или типа жыквери выучил и пох?
https://jsfiddle.net/t714k160
> себя продать дороже
> смотреть видеоуроки
Ты уже вытекать начинаешь. Можешь помочь крупным Open Source проектам контрибьютами, тогда и объективная причина продавать себя дороже появится. Видеоуроки - это вход в IT для умственных инвалидов, которым нужно пальчиком показывать как делать, так как необучаемые не осиливают документацию.
То есть ты стоишь на своем, и считаешь что если ты читаешь доки, то и все остальные должны читать доки, а остальные "умственные инвалиды". Либо ты еще ребенок, который считает себя тру хацкиром, либо просто долбоеб, который может и великовозрастный, но до сих пор не осознавший, что проецировать свой манямирок на вообще всех людей это идиотизм.
Блять, вы че рыбки, с трехминутной памятью?
> Реквестирую 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.
Все правильно, а чтобы быть всегда в курсе нужно подписаться на доктора... как его, блядь, зовут, забыл. Ну вы поняли, немец он.
А, вспомнил, доктор Аксель, он поясняет за новые фичи ES из драфтов спеки.
2ality.com
Чекни LiveEdu.tv (бывший LiveCoding), там есть офигительные видосы. Особенно захватывающим была разработка лысым (по кличке killroy) фронтенда для CMS на React+Redux.
https://www.liveedu.tv/killroy/RyEQj-rolex-racing-app-webdev-reactjs/
Он, походу, почти каждый день кодит по этому прожекту. Последний видос был залит вчера.
Никто не будет ковырятся в куче твоего говна. Делай минимального размера демку, если хочешь помощи.
Извините за тупой вопрос.
Нихера не понял. Ты что, просто не умеешь отдавать данные? JSON отдал и все, никаких редиректов не надо.
Ну а на клиенте уже с данными че хочешь делай.
Вкат джуном во фронт-энд.
>Про 10 и более часов бред. Продуктивно заниматься столько не выйдет.
У меня получается. Но эти 10 часов, разумеется с перерывами. Я 25 минут учу, 5 отдыхаю. Через 4 таких отрезка делаю большой перерыв в 20-30 минут. Ну кароч 8 часов учебы в день, не 10.
Месяца 3-4 думаю, Надо разобраться с js, ковырнуть пару библиотек, выбрать фреймворк и начать в нем разбираться, написав пару штук для портфолио.
На джуна этого должно быть достаточно. Но можешь попутно захватить ноду например, написав апиху к своим приложухам
Да я сам по помодоро работаю и занимаюсь и имел ввиду чистое время этих 25-ток.
>через коллбек
юзай промисы
>вклеить их на страницу
Парсишь ответ с сервера, оборочиваешь эти данные в нтмл шаблоны и далее распихиваешь их по виджетам like this https://stackoverflow.com/questions/5677799/how-to-append-data-to-div-using-javascript
Вот это кстати двачую. Самое сложное как раз не усидеть 10 часов, а заставить себя НЕ сидеть больше часа в день, чтобы хватило на неделю-месяц-сколько-сколько-надо.
var a = 2;
(function IIFE( def ){
def( window );
})(function def( global ){
var a = 3;
console.log( a ); // 3
console.log( global.a ); // 2
});
И при чем тут жс?
Я понимаю что var a = 3 находится в скопе функции def, но до меня не доходит механизм появления объекта global, и откуда у него берется а.
console.log( a ); // 3 выводит значение а в скопе в def, а глобал выводит в глобальном скопе да?
Функция def(global) вызывается с параметром window, дальше думаю сам поймёшь
что в место с присваиванием возвращается?
Множественное присваивание в JS не работает, да? Это дохуя небезопасная техника и только в языка с указателями есть?
Присваивание тебе undefined вернет, которое в контексте if будет в false преобразовано. А вообще это очень плохой пример, в проверке условий надо проверять условия, а не производить операции.
Поясни, пожалуйста, несколько вопросов:
1)Стоит ли вкатываться в геймдев, начиная с js? Дело в том, что на рабочем компе нихуя, кроме блокнота и браузера и устанавливать нихуя нельзя, а делать что-то 80% рабочего времени хочется Можно ли с него менее болезненно перекатиться на что-то вроде шарпа?
2)Прокатывает ли "чистый" javascript или уже обязательно учить/ставить ноду и жиквери чтобы не быть обсосом?
3)Гешефт в области js лежит только в области фронт-енда и верстки?
Присваивание вернет значение выражения.
var x;
if (x = 5) console.log('hi');
Hi выведется.
Поэтому цепочки вида var i, j; i = j = 0; возможны
если же ты имеешь ввиду if (var x = 5) то так воообще нельзя писать.
Не слушай >>1007891-анона, вернет туда 5 (что, собственно, true Ваш Кэп).
С примитивными значениями (number, string, boolean) работает.
Я как-то 10 лет в нефтянке отпахал, даже карьеру сделал, а ушел потому что считал себя по-настоящему тупорылым во всех рабочих вопросах. Теперь кодю, как в начале своей карьеры, и нихуя не поменялось. Так что наверное это нормально.
>>1007894
1. WebGL ничё такой, можно пилить дум с донатами для Фейсбука или типа того.
2. Батарейки от случая к случаю, базовые знания жс пригодятся в любой соответствующей задаче батарейке.
3. Мобильные приложения, десктопные, серверная часть - в принципе жс охватывает почти все аспекты прикладного программинга, другое дело надо ли оно кому. Пока все складывается что надо, но тут же раз в год все с ног на голову меняется.
Да, меня не надо слушать, я затупил. Перепутал с присваиванием var x =5, это оно возвращает undefined
И костыль на костыле, костылём замыкает.
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.
И что тут не так? Или это просто цитата, не отсылка к "костыльности"? По мне так серия просто чудесная, очень много тонкостей языка раскрывается. Хотя, если признать честно, воды там хватает. Но на это есть две причины: данная серия книг подразумевается для новичков (хотя я не завидую этим новичкам) и это всё-таки книга, а не очередная документация.
Серия то чудесная, но чем больше понимаю, тем большее омерзение язык вызывает. Хотя может не всё так плохо по сравнению с другими, до этого только ruby изучал.
Теперь ясно. Ну что ж - каждому своё. Мне лично наоборот серия открыла глаза на JS, и я полюбил его с новой силой. Хотя у него есть свои недостатки, само собой.
У меня из языков, на которых писал до js, только кресты. И js просто божественен лично для меня. Да и движуха вокруг него тоже по душе. Никогда не понимал тех, кто на него бочку катит.
c, c++, php, java, go, js, typescript, clojurescript, common lisp, emacs lisp. сортировка в порядке вспомнинания
И скажу что современный жс очень даже неплох. Более того мне вполне нравятся фичи, которые некоторые члены сообщества считают "плохими", типа hoisting'a функций или ==
И что тебя смущает? Языки типа хачкеля которые я знаю на уровне могу читать и писать со словарем я просто не упоминал. А на CL я написал несколько проектов для себя и один по работе.
Для функций. Для var такое себе. Меня не смущает, но все равно такой код отдает душком.
Никто не запрещает соблюдать опрятный стиль кодинга и объявлять все переменные/функции в самом начале scope'а.
язык ограничен и сложен. огрничен в плане структур которые на нем можно реализовать. ну Trie напиши.
сложен в плане исключительно асинхронного ввода/вывода и другой херни, ну и другой хуни.
глобальный scope засран всем что есть в стандарте.
да бля...
Не забывай про контекст. жс вплоне неплохо справляет с той задачей, которая на него возложена - быть языком для веба. async/await и прочие штуки сделали его гораздо более комфортным чем он был.
С одной стороны идея тащить его на сервер мне кажется безумно глупой, с другой стороны изоморфные приложения кажутся очень заманчивыми. о том насколько больно их писать, вынесен за скобки.
Сам ловлю себя на том, что последнее время если мне нужно что-то быстро посчитать/набросать я запускаю nodejs-repl, а не ielm или какой-нибудь php -a
Это лишь крохотная часть всемирного плана полипептидов по иррациональному наращиванию мощностей хоум ВПК
1) заебешься поддерживать тормозилу и другое говно
2) нормально релизнуть в стиме - анальная боль
3) геймдев говно впринципе
4) ???
5) учи юнити
>Какие подводные
— Денег нет
— Тулинг остает от JS лет на сто. Про npm забудь. И вообще про пакетные менеджеры. Ебись с dll, как деды
— Юнити на некроверсии языка
— Императивщина/10
— Рынок вакансий в десять раз меньше и на 90% мобилоговно
— Комьюнити в сто раз меньше
— Денег все еще нет
Платят в гейдеве уровня юнити очень мало. Раза в 2 меньше чем в приличном фронте.
>сложен в плане исключительно асинхронного ввода/вывода и другой херни
с промисами всё стало не просто легче, теперь написание кода на сервере и клиенте превратилось в отдых, так что не проецируй тут своё непонимание особенностей жс
К слову в геймдеве вообще платят не очень хорошо.
Щито? Асинх/авайт и промисы это две разные вещи, которые работают по разному. Так что ты не прав.
Не, можешь, конечно попробовать вкатить в UE/C++. Работы еще более нет, тулинг говно, билдится все сто лет, указатели, матан, etc.
Ты совсем поехал?
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function
Оно используется в паре.
Чё блять?
Разве async функция - это не тот же промис, который можно и использовать потом как обычный промис?
Ага, найс, ну поди на руби объектов в глобальный скоцп накидай, чтобы нормально было.
Ты шо дурак блять? Async/await это генератор над промисами, а async функция возвращает как раз таки промис.
все сахар, а что не сахар - сахар над байткодом...
все сахар, а что не сахар - сахар над байткодом...
Тебе нужно разжеванное на пальцах объяснение как работает компилятор?
К какой ошибки привело наличие бекслеша в конце строки с webpack-dev-server этого конфига вебпака?
Т.е. на скрине уже исправлено, а неправильно было:
>`webpack-dev-server/client?http://localhost:${PORT}/`
ШЕСТЬ БЛЯТЬ ЧАСОВ Я ИСКАЛ ЭТУ ОШИБКУ
Ну бля, я ж хочу РАЗОБРАТЬСЯ, чтобы быть илитной жс-макакой, которая примерно представляет что там делают её девтулзы.
К тому же я под электрон собирал, в него ваше create-react-app вроде не может.
Насколько ты "знаешь жс"? Это понятие очень размытое. А Кайл разжевывает все вещи на достаточно низком уровне.
Ну скажем так: я знаю es5 и es6 на достаточном уровне, то есть никакие языковые фичи или конструкции меня не могут поставить в тупик.
>с промисами всё стало не просто легче, теперь написание кода на сервере и клиенте превратилось в отдых
Лол. Это если ты не писал ничего сложнее тудухи.
Поддвачну. В моих глазах что промисы, что колбеки — одна хуйня.
А вот async/await уже охуенно годная штука.
> async/await
С использованием все тех же промисов.
А вот стримы Rx - базарю, охуенная штука.
Конкретно вебпаком как подключать? У меня есть /src с ES6 и /dist с ES5. В /src я пишу import 'jquery'; - а Babel делает из этого require(), который undefined на странице.
В последнем npm v5 эту хуйню добавили вроде.
Чтобы каждый раз не писать npm run build юзаю "watch": "babel src -d dist --presets es2015 -w". Потом команда npm run watch и пишу код. Каждый раз при сохранении изменений происходит траснпиляция из /src в /dist.
Тебе надо сделать по-другому, сейчас у тебя импорты не обрабатываются вебпаком, а должны. Настрой вебпак, чтобы он обрабатывал файлы babel'ом, а потом просто запусти 'webpack --watch'. Примерно как на пикче, тут babel и typescript.
Спасибо! Попробую, как до пеки доберусь.
Обратные по отношению к последней выполняющейся задаче из пула.
callback = позвонить назад = обратный вызов
Ты вызываешь функцию сходитьНаСервер(аПотом)
Когда она отработает, она вызовет твою функцию обратно.
аПотом (говно) = обмазаться говно
Просто думай так: коллбэк - это функция, которая передается как аргумент другой функции или присваивается куда-нибудь, и потом эта другая функция или это самое что-нибудь вызовет этот самый коллбэк тогда, когда будет нужно, позже.
И не нужно пытаться переводить подобные термины с англишки, у англоговорящих совершенно другое, своё, мышление, которое очень сложно, а то и практически невозможно переложить на рузке мышление.
Что значит обратно? Откуда? Я никуда её не "посылал". Или ты иммеешь в виду, что сходитьНаСервер() при запуске создает контекст выполнения, в этот контекст добавляется аПотом(), который лежит не рыпается пока не дойдет до него очередь, после чего аПотом() вызовется? Слово "обратно" мены запутывает, потому что если я описал то что надо, так это обычный порядок выполнения вещеё. В контекст сначала заносятся аргументы, переменные и тд, потом функция по порядку все делает что там в ней написано. Или я что-то не понял?
Да, прав, но "контекст выполнения" ты путаешь с понятием lexical scope. И это не имеет отношения к механизму callback. Могу еще привести объяснение, попроще: коллбэк - это функцию, которую вызываешь не ты, а что-то другое в твоей программе.
А-а-а, да, перепутал. Уже понял, спасибо.
попизди мне тут, они норм, даже ноду сейчас с 6й ради async обновил до 8й версии.
если нужно, как поставить 8ю ноду без смс за 1 минуту:
// http://nodejs.org/dist/
$ wget http://nodejs.org/dist/v8.1.2/node-v8.1.2-linux-x64.tar.gz
$ tar -C /usr/local --strip-components 1 -xzf node-v8.1.2-linux-x64.tar.gz
$ which node
$ ln -s /usr/local/bin/node /usr/bin/node
$ with npm
$ ln -s /usr/local/bin/npm /usr/bin/npm
$ node -v
$ npm -v
еще полезный ресурс http://node.green/
как снести старую ноду:
$ sudo apt-get remove nodejs
$ sudo apt-get remove npm
$ find / -name "node"
$ sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node /usr/local/lib/dtrace/node.d ~/.npm ~/.node-gyp /opt/local/bin/node opt/local/include/node /opt/local/lib/node_modules
$ sudo rm -rf /usr/local/lib/node
$ sudo rm -rf /usr/local/include/node
$ sudo rm -rf /usr/local/bin/node*
$ sudo rm -rf /usr/local/share/doc/node
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Самое прямо
try {
new Function('"use strict"; var eval = 0;')();
} catch (e) {
return true;
}
return false;
}
if ( supportStrictMode() )
"use strict";
Ну и нахуя это? Если стрикт-мод не поддерживается "use stict" просто заэвалится в нихуя и все.
данмаку
не взлетело. пробовал из под рута и юзера, всегда один результат. нет времени дебажить 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.
...
Графический редактор, а?
Хм. Хуй знает, почему так. Я не особо профессиональный красноглазик, но у меня всё встало нормально. Правда, я перед этим снес старый, 7.х-репозиторий, ну и удалил саму ноду, собственно.
Для es6 уже появились паттерны?
Алсо к работающим анонам:
В You-Dont-Know-JS довольно негативное отношение в псевдоклассам. У вас используют их?
Смотри, настроил WebPack для транспиляции через Babel. Потом делаю webpack --watch, на что мне консоль отвечает -bash: webpack: command not found
Разослать свое рукоделие со ссылкой на гитхаб и типичным письмецом по емейлам этих конторок норм будет? Не сильно ли будет морозить работодателя брать студентуха, а тем более не на полный день?
UPD: разобрался, его нужно ставить глобально через npm i -g webpack
Паралельное скачивание пакетов.
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
тебе пока знать не надо.
Всего 4 числа, т.е a b c d.
А зачем в твоем случае сравнивать последнее число с первым? Ведь если все предыдущие условия выполняются, то очевидно что a !== d , или я недопоня чего-то?
Функция подтип объекта, с соответствующими свойствами прототипа.
Допустим у тебя 3 переменные:
a = 1
b = 2
c = 1
Из условия a != b и b != с не следует, что a != c, проверь:
1 != 2 и 2 != 1, но a и b по-прежнему равны между собой, а условие этого не проверяет.
23 гоф паттерна , где и как заюзал, ну рассказывай.
switch
Я понял суть ES6. Его попытались сделать похожим на ПХП, добавив синтаксического сахарка.
Странное суждение, ты на чём-то кроме PHP писал? Языки развиваются в разных направлениях. Разве в ES6 есть интерфейсы, тайп-хинтинг, абстрактные методы/классы, приватные методы, return type declarations?
Нет. Просто обезьяна видит желтое продолговатое и кричит банан.
Ставь такие тулзы локально. Для разных могут быть нужны разные версии.
Для снежинок и не нужно использовать фраемворки и думать об архитектуре, простые вещи должны делаться просто. Ты сам поймёшь, когда тебе нужна будет либа для структурирования кода. В сложном проекте тебе придётся велосипедить свою реализацию EventEmitter, свой change detector, чтобы не перерисовывать весь компонент из-за одной изменившийся ячейки и так далее. Так же ты быть может захочешь в композицию компонентов. Например компонент DraggablePopUp может включать в себя 2 компонента RangeSlider и один ColorPicker, а может включать лишь один NumberInput. Тот же реакт позволяет легко такое реализовать.
На 95% завлекалочки в духе графика зарплат погромистов на фоне хипсторов пьющих смуззи. На специалистру цены неадекватные. Неужто больше ничего?
Скачай приложение "Учим Javascript" от Sololearn. минут за полчаса сможешь начать ваять простенький код. За более сложным - гугл в процессе написания.
Забей хуй на курсы пока не начнешь хотя бы что-то писать сам. Пока тебе не понадобятся охуительные функции вроде прототипов, наследования и прочие интересности которые проще нагуглить, чем услышать от мямлящих студентов с ИТ факультетов. А там уже и поймешь, надо оно тебе или нет.
Нативный суппорт <math> хромоноги пилить похоже не собираются, хотя это часть HTML5.
Блять, у нас веб без математики.
Есть конвертеры LaTeX в SVG.
Чтобы был понятен мой уровень - прочитал первую часть учебника Кантора про JS, потыкал видосы CodeDojo про ES6, начал читать "Выразительный Javascript" (для закрепления), посмотрел видос Кхана про вычисление чисел Фибоначчи через рекурсии и даже понял. Но в итоге когда дело доходит до практических задач - я не могу решить даже самую простую задачу с использованием рекурсии, 20 минут сижу думаю и всё равно 0 результат, ПРИ ЭТОМ мне нужно буквально 30 секунд, чтобы решить эту же задачу используя циклы.
Мне даже промисы легче понять было, чем эти рекурсии. Вся сложность в том, чтобы именно представить эту задачу у себя в голове и как-то написать её, ведь приходится думать как бы "с конца". Хуй знает короче.
главное не сдаваться, я слышал у рекурсистов зп в 2 раза больше.
Я для себя как рекурсию воспринимаю:
функция, которая лишь при определенном значении вернет число, а не вызовет себя вновь. Таким образом, каждый новый рекурсивный вызов должен иметь измененный аргумент, стремящийся к тому самому определенному значению, при котором функция не вызовет себя, а вернет какое-нибудь значение и весь стек "разрешится".
Может оно и муторно звучит, но я так вижу.
Так и не понял, что ты там хотел спросить. Очевидно, что поможет только практика, много практики. Норм задача на рекурсию:
Fib v2: назовем fib_v2(k, n) функцию, которая возвращает n число в последовательности, каждое следующее число в которой является суммой k предыдущих. Считать первым числом последовательности 1, а предыдущие нулями.
Вот тесты:
// Обычная последовательность Фибоначчи
assert(fib_v2(3,2) == 2);
assert(fib_v2(4,2) == 3);
assert(fib_v2(5,2) == 5);
assert(fib_v2(6,2) == 8);
assert(fib_v2(7,2) == 13);
// Каждое следующее число последовательности является суммой 3-х предыдущих
assert(fib_v2(3,3) == 2);
assert(fib_v2(4,3) == 4);
assert(fib_v2(5,3) == 7);
assert(fib_v2(6,3) == 13);
assert(fib_v2(7,3) == 24);
При чем здесь матчасть, ты что еблан?
Ну так дело в том что я её тоже там воспринимаю, только вот это восприятие никак не помогает на практике у себя в голове продумать алгоритм подобной функции и то, как её нужно написать.
>>1008827
Ну спросить хотел - как вообще научиться строить функции на рекурсии, может есть какие-то четкие методы и алгоритмы которым нужно следовать (кроме самых очевидных).
https://docs.google.com/document/d/1A47owOXwfQZZMX-bGWxeoZmr3HOVrfZuYwFF21yYMz4/edit# - дока по абстрактному типу данных - "Список"
https://docs.google.com/document/d/1MQ-1iWMfRIrNyrTC8dpT2pcXeZItSyaipIUYy8vzhFw/edit# - дока по абстрактному типу данных - "Пары".
Всё задание сводится к тренировке абстрактного мышления (которое видимо хорошо развито у тех кто понимает рекурсию).
Само задание на скрине, попробуй написать только функцию toString, код для всех остальных функций здесь - https://jsbin.com/hekolepofu/edit?js (подсказка: функция toString работает с помощью рекурсии) Удачи, не обосрись.
Рекурсия это алгоритм "разделяй и властвуй".
Тебе нужно определить как минимум два условия.
1) Терминальное: когда вызов функции возвращает значение
2) Рекурсивное: когда функция вызывает сама себя.
Фибоначи и прочее говно я щитаю самым худшим примером.
Из пиздатых примеров быстрая сортировка и обход дерева.
Что-то не так?
каких еще сторонних функций?
Вот сообственно вопрос, ну отвечает мне промис, как мне вообще можно узнать какие функции методы можно применить, к тому что прислал промис, где это можно посмотреть?
Есть запросы которые делал через jquery - https://codepen.io/ogurchik/pen/OgmpPr?editors=0010
Пытаюсь сделать такой же запрос на fetch(), по типу
var myInit = {"modelName": "Address",
"calledMethod": "getCities",
"methodProperties": {},}
потом fetch("https://api.novaposhta.ua/v2.0/json/", myInit), но пишет что запрос не верен. Как его правильно офрмить хуй его знает...
Сука, я б тебе отсосал, шифу. Как мне научиться такой магии, кудесник? Что это "body: JSON.stringify" ? Как ты узнал что это надо вставлять? Читать стандарт POST?
https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch
Открываешь доки и читаешь.
стандарт POST LUL
Бля ну ты же издеваешься, это же просто копипаст отсюда https://developer.mozilla.org/ru/docs/Web/API/Fetch_API/Using_Fetch.
Мань, тебе плохо? Если ты ебанашка которая собралась читать пост, то у меня для тебя плохие новости.
import * as foo from './foo'
И в коде нужно использовать foo.moduleName
Можно как-то без этого префикса?
Или например у меня есть файл с функциями, которые экспортируются, как одной строчкой их все импортить, сейчас приходится писать import {a, b, c, d} from './functions'
Что-нибудь отсюда например - https://www.ozon.ru/?context=search&text=Javascript&store=1,0&sort=new (отсортировал по новизне).
>есть ли какие-то существенные прям изменения, которые будут мне мешать при изучении
чейнджлог погляди
В 3.0 изменений почти нет, а вот в 2.0 из было дохуя.
Большинство гайдов прошлого года ещё по первой версии, так что ищи наиболее свежие.
Первая версия быстро детектится по loaders вместо rules.
Meteor сам всё автоматом подлавливает, кроме файлов из папки импорт.
Ну вот такой примерно алгоритм работы себе представляю я:
- отправной точкой и источником данных выступает БД;
- админка не захордкожена (?);
- любой GET/POST/etc реквест инициирует поиск соответствующего обработчика/контроллера по http-вербу и урлу (GET /admin/, POST /blog/article/ и т.д.), обработчики в целях упрощенной расширяемости хранятся пофайлово локально - это позволит, при необходимости, добавлять отдельные обработчики и чейнить их без переписывания ядра системы;
- соответственно все контроллеры, имеющие одинаковые триггеры (например, срабатывающие по GET запросу пути вида /admin) автоматически чейнятся как мидлвари в Koa/Express;
- оконечный контроллер захардкожен в ядре системы, работает по сути как редьюсер, т.е. возвращает итоговые данные после цепочки обработчиков.
Предполагается, что нода работает безостановочно, поэтому хочу сделать хотлоад модулей - как только появляется новый скрипт с контроллерами, например, залитыми по ftp, происходит их автоматическая регистрация (по ивенту от fs).
Я что-то упустил? Как трудно будет реализовать такую идею и в правильном ли я направлении двигаюсь? Уже начинал подобный пет прожект писать, но забросил давно. Сейчас заново хочу переписать.
Обидно так стало. обиженных в жопу ебут. Со злости начал читать все вплоть до same-origin policy.
Щас у тебя голова распухнет и станет невыносимо тяжко. Прекрати.
>почему оно с картинками
Что бы лучше воспринимать
>почему я должна перестать бояться львов
Вот этого не помню.
Но вообще книга для тех кто в программировании абсолютный ноль. И примеры там связаны с вебом. Один хуй надо на чем то показывать примеры, так что логично показывать на том под что заточен язык.
По большей части любой материал, который не в духе Как научиться делать охуенно-мега-заебатые веб-сервисы за пару дней™. Серия "You Don't Know JS", например. никогда не устану её советовать
А вообще, ты послушай >>1009166-анона, он дело говорит.
Ну как это? Сосешь ты, сосешь, и тут раз - начнешь загонять мужику про то, как же сейчас удобно стало с class'ами в ES6, а async/await из новых ES drafts так просто сказка! А то и вообще вместо минета создашь новый Promise, чтобы не блокировать главный поток, со словами "я отсосу тебе позже, милый!"
В любом случае, отсос будет зафейлен.
Кун от такого поворота может ведь и reject("Ты че охуела? На нах епта")
И в что в этом хорошего?
Сути-то это не меняет, ты же понимаешь. Но выебнуться нестандартной ориентацией надо, понимаю.
>(0, _ololo2.default)();
Что это за НЁХ?
>Дано натуральное число N. Выведите слово YES, если число N является точной степенью двойки, или слово NO в противном случае.
>Операцией возведения в степень пользоваться нельзя!
Объясните плз что такое точная степень двойки? Чет суть задачи не понял.
function isBinPower(n) {return (n & (n - 1)==0) ? 'YES' : '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
Иными словами говоря, это хитровыебанный вариант для _ololo2.default.call(this).
https://stackoverflow.com/questions/40967162/what-is-the-meaning-of-this-code-0-function-in-javascript
Ты дебил или как? Вопрос был "что такое точная степень двойки", а не "как решить". Дегенерат блять.
Ага
Анон, оставь что-нибудь для связи. Часто вижу тебя в этих тредах, есть один довольно-таки интересный проект, если заинтересован, конечно. Я сам тоже на уровне джуниора.
погугли что такое MVC паттерн @ посмотри на гитнабе как устроены готовые решение
вот и вся любовь...
Смотрю прикрепленный файл. Это интернет-сервис на тему туризма. Зашел на сайт- выглядит вроде прилично. Зарплатная вилка по меркам Мухосранска очень радует глаз. Да даже по меркам Питера, думаю, весьма неплоха.
Встает три вопроса:
1. Похоже на наеб?
2. Если это все же не наеб, какова их мотивация выходить на связь с таким хуем как я?
3.Что это за SymbioMark? Это тестики? Собеседование по скайпу? Или как?
Сначала хотел рассказать о побитовых операциях, но потом увидел, что это JS-тред, и все понял.
В js сдвиги тоже есть так-то.
>>1009483
Речь вообще о том что нельзя использовать возведение в степень через pow или и нужно делать всё через рекурсию...
действительно... js тред...
фикс: или /""
Добавьте геттер length в прототип, подсчитывающий длину вектора – расстояние от (0, 0) до (x, y).
я пишу :
Object.defineProperty(Vector.prototype,"lenght",{
get:function(){
return Math.sqrt(Math.pow(this.x,2)+Math.pow(this.y,2)) }})
работает если 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()?
В каком смысле? Если ты про площадку для стрима, то goodgame + рестрим на твитч
Не вопрос, а запрос у меня есть.
С удовольствием глянул бы создание на чем-то подобном:
Постгре, сиквелайз, коа2 на сервере
Реакт, ридакс, рекомпоз, реселект, редакс-обсервебл или редакс-сага для сайдэффектов, стайл-компонентс либо другой css in js фигня.
Либо на клиенте графкюл с рилэй вместо ридакса.
Мне кажется это слишком специфичная история. Лучше что-то совсем базовое брать.
Я про технологии. А так с удовольствием поглядел бы на react/node, в след месяце только собираюсь до них добраться, ну и несколько вопросов имеется.
https://github.com/reactjs/react-router-redux/issues/561
https://github.com/ReactTraining/react-router/issues/4966#issuecomment-295091847
https://github.com/ReactTraining/react-router/blob/master/packages/react-router/docs/guides/redux.md#blocked-updates
https://stackoverflow.com/questions/42123261/programmatically-navigate-using-react-router-v4
Вот нагуглил, кому интересно. Ни одно из решений ещё не проверял.
Блин, ну тогда хрен знает, пусть кто-то другой предлагает еще.
Так то можно базовое, но не по js. Какой-нибудь эликсир, элм или окамл поковырять. Но это тоже не для широких масс
>Приятно иногда лечь в кровать и
...натянуть колготочки, так? :3
Книги по жс это же вроде платина, не? Смотри оп.
Ну как проверишь отпишись. Видимо какой-то quiz или типа того.
А можно перевести? Я деревенский, тяжелое детство и тп...
спасибо, но нихуя не работает. есть еще мнения ?
>JS-тредик
>советовать Python вместо JS
>>1009725
Если для дальнейшей карьеры (вроде как раз то, что тебе нужно) то лучше JS-ик. Просто потому, что на нем больше работы, как в конторках, так и на фрилансе.
>>1009549
Только не говори, что у тебя действительно эта самая "lenght"-очепятка в коде. Тогда понятно, почему ундефинед.
ЖС для начала хорош для школьников или домохозяек. Сделать домашнюю страничку и забросить, как игру на гитаре, уроки сальсы или йоги. Пайтон — то же самое, только для вонаби-нешкольников.
У тебя есть неплохая база и перспективы, тебе стоит подойти к этому более серьёзно.
https://www.edx.org/course/introduction-computer-science-harvardx-cs50x
Начинается с боли на Си в командной строке, потом там и Пайтон, и ЖС, сервера с БД и даже машин-лёрнинг. Судя по местным тредам, это уровень тутошних сениоров.
Займёт около 200 часов, если прилежно (а если не прилежно — не трать время, лучше пивасика после работы ёбни). Зато потом у тебя не будет тупых вопросов, а будет общая картина с пониманием того, куда тебе самому двигаться дальше.
однозначно ЖС, так как она с async и промисами стала довольно удобной, и поэтому работы на ней теперь станет ещё больше в разы. Ещё не забывай что на подходе вебассемблер, ЖС в связке с ним будет вообще бомба
Самый простой для изучения Golang. И с ним нет проблем характерных для Python и Javascript.
Рекомендую Haskell. На нём и конкуренция пониже, и зарплаты больше, и сам язык понятней. Если никогда не занимался программированием, то начинать лучше всего с Haskell. Работы полно, платят отлично. По книгам. Если есть хоть немного знаний программирования, читай это: http://www.ozon.ru/context/detail/id/30425643/ Если совсем новичок, пойдет эта книга: http://www.ozon.ru/context/detail/id/28346038/ Ну и куча онлайн-учебников. Вот, например: https://anton-k.github.io/ru-haskell-book/book/home.html Хороший учебник, всё расписано подробно. Сам по нему учился. Рекомендую.
Похоже, вопрошающий и есть новичок, раз не разбирается в скриптопарашах. Чтоб потом как местные не-нубы-реактобоги не спрашивать, как массив отсортировать или почему объекты по ссылке передаются.
На русский переведён позапрошлогодний курс (осень 15). В нынешнем отказались от ПХП и ещё много хорошего по мелочи. Если с английским проблема, то профитней будет пока заняться им, а не программированием (лучше даже совместить).
elm/purescript
https://www.upwork.com/job/Haskell-developer-for-web-development_~01e275f7f2cb2212cd/
Программисты мира, отныне ваш босс - индус! Отныне ваш язык не английский, а хинди. Ваша город не нюйорк а примумбайский гхаткопар. В резюме будете писать не "работал на 5th авеню NY а потом LA. Рассматриваю работу за 100 тыщ баксов годовых и бонусы", а будете писать "работал в Хайдарабаде, штат Андхра-Прадеш, а сейчас в Канпуре, штат Уттар-Прадеш, готов работать за 1000 рупий, лижу жопу, живу в трущобах".
Индия сделала в 2008 году 50 миллиардов баксов. Больше, чем рашка наковыряла и забарыжила пердёжного газа [визард подсказал данные, спасибо].Так что теперь ИТ центр мира - индия. Начальник прогера - копчёный индус. Все учебники по дотнету и ораклу теперь будут выпускать на санскрите. Синтаксис новых языков будет наследовать эпический санскрит.
Не верите? Ганс как всегда гонит волну? Расскажете мне об этом, когда будете резюме на санскрите лабать и по телефону лизать жопу копчёной обезьяне из примумбайской хайтек деревеньки! Никогда вам больше не позвонит белый господин, который срёт в белый унитаз, моет руки перед едой и ходит в театр! Ни американского ни европейского менеджера вы не заслуживаете. Отныне самые задроченые цифры на вашей мобиле будут телефонным кодом +91. Программистишки всего мира, вставайте в очередь к своим новым господам, именно в индии сосредоточится в ближайшее время битва за миску высокотехнологичного риса.
Я не понимаю, почему эту хуйню до сих пор постят? Она же не прошла банальную проверку временем.
начинаю понимать почему раньше были запрещенны разговоры про работу. если позволить даже 1 тред, то это привлечет людей которые ищут работу, а не ищут - обвениваться опытом. и это все погубит. так как тех, кто не ищет работу - это заебет. а те, кто ищет, так их ничего кроме финансовой стороны работы не интересует.
Ты вообще хоть в JS разбираешься? Понимаешь что сейчас этот язык практически настолько же развит как и все ПРАВОСЛАВНЫЕ языки. Чего только одна нода стоит.
Не всегда, ибо некоторые уже устарели.
>>1009742
>>1009746
>>1009748
>>1009752
Всем спасибо за ответы. Пожалуй попробую js тогда
>>1009745
Про лекции спасибо. Гляну просто для ознакомления пока, интересно выглядит. Английский могу читать и слушать, но пока не так гладко как хотелось бы в процессе изучения тоже
>так их ничего кроме финансовой стороны работы не интересует
Ну не прям всех, но многих, да.
>goodgame + рестрим на твитч
А чому бы не https://www.liveedu.tv/ ?
FREE Account
WATCH Free Projects
Limited playlist access
Chat in Free Projects
See Ads
Message
Normal emoticons
STREAM FOR FREE
хз, просто привык. Посмотрю что за лайведа.
>с async и промисами стала довольно удобной, и поэтому работы на ней теперь станет ещё больше в разы
>добавили сахарок и новый класс
>работы станет больше
И откуда вы только такие дауны берётесь.
Доли логики в этом есть. Например многие люто ненавидили жс уровня жиквери, но с приходом es6+ и нормальных фреймворков стали относится к нему гораздо лояльней. Таким образом то что раньше делали точно так же нехотя на пхп, теперь делают на ноде.
Неудобства асинхронного кода никуда не делись и никогда не денутся. Ровно так же, как и не прибавится работы в ближайшей перспективе.
ЖС — прекрасный язык. Даже Ноду на нём написали.
Со степенями двойки вроде уже разобрались. Знаешь, как на Реакте массив отсортировать?
>>1009856
Недавно вроде в перезвоним-треде анон кинул вопросы с собеседования на фронтенд-джуна (про АСКИИ там было, про сети), так в треде чуть дело не дошло до массовых самоубийств от безысходности. Вопросы типа на общую эрудицию и играючи освещаются в этих лекциях, но хедшотят таких вот по-лёгкому-вкатышей.
Какой бы стул ты не выбрал, запомни главное — ты учишься писать код только тогда, когда пишешь код:
https://habrahabr.ru/company/everydaytools/blog/322980/
Сколько видосиков нужно "глянуть просто для ознакомления", чтоб научиться играть на гитаре? Тут то же самое. Сторонись этой гиблой идеи.
Видосики лекций займут не более 20% времени от нужного на курс. И я настоятельно тебе советую инвестировать время во все домашки и гуглёж, требуемые курсом. Это время потом окупится сторицей, когда вещи, кажущиеся сложными и требующими заучивания вкатышам в ЖС или Пайтон, тебе будут просто очевидны по логике.
Ну и сможешь всем говорить, что у гарвадских учился, хех.
>Это время потом окупится сторицей, когда вещи, кажущиеся сложными и требующими заучивания вкатышам в ЖС или Пайтон, тебе будут просто очевидны по логике.
>meanwhile в YDKJS один из главных посылов "если знаете любой другой нормальный язык программирования - в JS ВСЁ НЕ ТАК. И ваша логика - ваш основной враг.
>Вы должны перестать учиться на чужих ошибках
>и начать учиться на своих собственных ошибках
Только что #YOLO не хватает в тексте.
Антошка^^ спасибо просто уже под конец своего режима читал писал и все через жопу написал ну ладно как там выше писали "нужна начать учиться на своих ошибках" #ёлло
Если ты админ, то тебе баш полезнее остальных будет.
интерфейс завист от реализации.
был у тебя алгоритм который выполнялся в брауезре. решил его выполнить на сервере - пиздуй рефакторить.
или все функции помечать как async?
Пороли за пикрилейтед. За дело пороли?
За дело. Абсолютно нечитабельно. С первого взгляда даже неясно, что тут вообще делается.
да, это самое очевидное решение.
...
(async () => {
try {
var a = await getA();
alert(a.name);
...
}
catch(e) {
...
}
})();
...
там всё предельно ясно, по задумке оператор && возвращает правую часть если левая true. this указывает на объект criteria
в пизду эти выебоны, с первого раза я тоже не понял что там.
>>1010168 кун
но этож нихуя не то же самое. Объект набивается undefined-параметрами. В то время, как на пикрилейтед если параметр отсутствует, то он и не добавляетя в объект ни в каком виде
для каждой фу-и? ты же не знаешь заранее, понадобится в будущем сделать фу-ю асинхронной или нет.
представь, что завтра Array.proto.sort() становится асинхронным.
Тогда надо не выёбываться, и писать по-человечески с IF'ами
Не нужны undefined-свойства. Как с ними быть? Удалять потом фильтром каким-то? Это ж тоже порнография, не?
ну да, сперва набивать, а потом удалять. Тоже изврат.
Вариант с старыми-добрыми if-ами самый адекватный, хоть и громоздкий
На мой взгляд использовать && для выполнения сайд-эффектов не лучшая идея.
Ты хочешь проверить условие и затем выполнить действие. Обычный if выражает твои намерения наиболее четко.
Асло если бы не ебаный сплит, можно было бы написать как на пикрелейтед. Впрочем, в такой вариант хуево грепать/рефакторить.
Пик отклеился.
В принципе, да, выполняет. Одна проблема: в течение года приходят другие и впихивают промеж if-ов ещё какие-то действия и все содержимое criteria размазывается на 50+ строк кода, разбавленное какой-то невнятной хуетой. Это можно решить повышением общей культуры написания кода, а можно написать так, чтобы никто не хотел ничего впихнуть.
Но раз у всех кровоточат глаза, буду писать ifами, этож ещё поддерживать надо
null, "", 0, NaN и false - мой любимые авторы.
Проблема высосанная из пальца. Если у тебя в функцию приходит хуйня, влеплять проверку на undefined — глупость. Если семантика требует наличия значения, то проверка на undefined только скроет от тебя баг.
Думаю, где-то полгода-год. Нагородил ты, конечно, знатно, даже я, изучая js 4 месяца, такого бы не написал, лол.
он мыслит объективно и понимает тонкости синтаксиса, но не юзает асинк, вангую мин 3,5 года
Возьми себе за правило оставлять код, который ты правишь чище, чем он был. Если этого не делать, проект в один прекрасный момент порастет говном.
Это ни чем не отличается от if (authors), потому что будет приведение типов.
Проверка на undefined нужна только если ты ожидаешь что может прийти falsy значение, которое не нужно игнорировать. В общем это зависит от бизнес логики, а не от правил хорошего тона.
в его случае не взлетит ни const ни var, так как таких критерий будет несколько по ходу логики. var порешает use strict, а константы вообще не для этого, поэтому нужно использовать let
поставьте уже годноту в шапку, че как обсосы
Его используют только бородатые хипстеры для сборки десктоп приложений, или же это хорошая практика в целом? Не лучше ли писать нативно на каком-нибудь C# или джаве?
ну что за вопрос, всегда лучше писать нативно. Хотя, под десктоп на электроне вполне себе можно писать.
https://www.liveedu.tv/dikiigr/Zevzd-django-api-react-electron-course-work/5xX9e-django-api-react-electron-course-work-6/
это странно, но как раз читаю. кайфная книжка.
Сейчас я наблюдаю как можно взять js+noSql и получить на выходе адок из объектов с большой вложенностью, кошмарных проверок на пустоту, неожиданных форматов и прочего
С спрашиваю как раз потому, что в C# треде мне сказали, что десктоп разработка мертва чуть более, чем полностью. Поэтому есть смысл писать вебприложение, которое бы работало с десктопом. Вот и спрашиваю, на сколько то маргинальное мнение?
Открой сайт по поиску работы, и посмотри вакансии. И тебе сразу все станет ясно.
Много современных приложух написано на электроне: Slack, Visual Studio Code, + еще множество.
Имеет смысл писать на нем, что-то большое, тяжелое, комбайное. Например IDE, еще оправдано, в отличии от мессенджеров или мелких утилит, которые ебашат на нем все кумо не лень не от большого ума.
Самый простой путь, использовать демон (хоть на той же ноде) для доступа к ОС, а гуй рисовать в браузере который есть и так у всех.
>не клон фотошопа пилишь или что то соразмерное, то электрона тебе должно хватить
А если утилита для работы с RAM? Т.е. считывание, парсинг и тд.
Ага, не. Буду тут сидеть пока не узнаю ответ.
У тебя большую часть RAM при работе твоей утилиты, будет занимать сам электрон.
Пиши утилиту демоном. Вывод ебашь в браузер по удобному протоколу.
И это удобно, т.е. есть некие заготовки-реализации этого и такое не надо пилить снуля?
У меня коммерческий проект в nwjs завернут. Боль конечно термоядерная, потому что сторонние говно-апи работают через хуй-пизду. Но для standalone приложения штука неплохая.
Можно все где нет тяжелых вычислений на проце.
А потом ты через время обнаружишь, что его опять засрали и вся твоя работа коту под хвост.
Культуру надо прививать вцелом в компании, а не в одиночку сражаться.
По твоей логике видимо раз все вокруг мусорят, тебе тоже можно мусорить и ждать когда же Царь исправит гадких людишек вокруг тебя.
Твоя задача делать хорошо то, что зависит от тебя. Сделать так чтобы ты и вся остальная команда делали так же хорошо — задача тех лида, которым анон очевидно не является. Так что мой совет был максимально релевантным конкретно для него.
Я вижу. Спрашиваю про аргументы, передаваемые в функцию. Может, я плохо сформулировал вопрос?
принимаемые аргументы можешь называть как хочешь, будь то number или item.
Функция сопоставляет переданные значения с аргументами. То есть этот коллбэк в любом случае вызовется с тремя аргументами, но указывая лишь number, ты ловишь в эту переменную лишь первый аргумент (который item). Названия переменных тут не причем.
Агааа, о как. Спасибо.
1) существительное в качестве имени функции.
2) сайд эффекты в логическом выражении.
3) под эту функцию вообще можно написать тесты?
const вообще лучше использовать всегда, когда им можно обойтись.
Что лучше и почему: PhoneGap, Titanium Studio или React Native? В приоритете скорость вката, освоения, разработки с использованием фреймворка, большое коммьюнити. Читаю https://stackoverflow.com/questions/1482586/comparison-between-corona-phonegap-titanium но тут, блядь, один ответ противоречит другому, и я нихуя не понимаю, кто мощнее, в чем разница, кто генерирует нативный код, а кто тупо показывает сайт в виде приложения или в чем вообще разница между всей этой хуйней? Разжуйте для еблана плз.
Да какая разница. splice индексы бы подвинул, и удалялся бы следующий от нужного.
У похапэ тысячи фреймворков и сотни кмс, стабильность и документация.
У Ноды документация устаревает прежде, чем появляется.
Да это очередной хэлловордщик, который языки знает по описанию с вики.
Достаточно раз в пару недель чекать страницу с es proposals на гитхабе
Сейчас делаю с ним, тимлид думал, что так лучше. На деле там половина модулей в говномамонтских версиях, вебпак 2 буквально месяц назад добавилм, например. Если захочешь сам обновить мажорную версию бабеля/вебпака, наебёшься, но нихуя не сделаешь. А всё, что там есть, настраивается за полдня. Говно, в общем, нирикаминдую.
с раста все на питон сбежали и с гоу и с R
Какие фичи тебе нужны из новых бабеля и вебпака, которые ещё не завезли в CRA?
Вот ситуация: https://jsfiddle.net/o726f04m/
Есть функция cat, которая возвращает объект.
Этот обьект я записываю в две переменные (точнее переменные получают ссылки на объекты).
По итогу эти идентичные объекты независимы, я могу менять значение одного, при этом другой останется прежним.
Эти объекты существуют в различных замыканиях.
Но где хранится в объекте ссылка на свое замыкание?
у функции есть [[scope]].
А тут что?
Делай ежект на поздней стадии проекта, когда все остальное, что не критично зависит от нужных тебе модулей, уже сделано.
Какие замыкания, о чем ты?
У тебя функция cat возвращает POD объект. Один никак не связан с другим. Ты меняешь одному значение поля, на второй это никак не влияет.
Делаешь функцию "дать 4 ноги"
Даешь 4 ноги х и у
Спрашиваешь сколько ног х
вручную ставишь количество ног х
спрашиваешь еще раз сколько ног х у
В смысле, "я работаю, ты готовишь"? Или только встречаться и чпокаться? Я бы да, мне пофигу, кун/тян, лишь бы человеком хорошим был. Впрочем, кэтс а файн ту.
Анон выше
В учебнике эта тема не раскрыта.
Я полагал так (и так в учебнике) - если объект создан в одном лексическом окружении, допустим:
{name: 'barsik'}
то к данному объекту можно обратиться по ссылке из разных переменных. Короче ссылки могут быть в разных переменных, а объект один единственный.
Короче суть заключается в вопросе - в одном лексическом окружении могут быть созданы несколько полностью идентичных объектов?
>>1010910
Не очень понял что ты имеешь ввиду.
Возвратить из функции примитив? Или возвратить из функции функцию?
жить вместе, я - готовка, дом, дети и всё такое, ты должен нормально зарабатывать, быть мужиком по жизни и всё такое.
В прочем - если объект можно скопировать, то само собой возможно наличие двух одинаковых объектов.
Самофикс.
>>1010937
Ссылка на значение или его копирование зависит от типа значения. Примитивы копируются, объекты(функции тоже обьекты) - ссылка.
Вобщем сначала ты сказал "х - твоё количество ног ровно результату функции." А потом тупо "х - твоё количество ног ровно 23"
>быть мужыгом по жизни
Я так не играю.
Кстати, неужто все трапаны такие ванильные и всем нужен мужыг? Если так, то это печально...
Да что с тобой не так?
Мой вопрос был о той ситуации когда функция массив возвращает.
Собственно ответ - в одном лексическом окружении могут существовать два идентичных объекта.
Тебе в c# тред.
И я имел ввиду что в одном лексическом окружении можно создать два идентичных обьекта. Скопировав через for...key. Именно создать копию.
То что в переменной сслылка - мне понятно.
>Собственно ответ - в одном лексическом окружении могут существовать два идентичных объекта.
Нет. Ты просто приписал функцией двум разным объектам одинаковые свойства, а потом одному из них изменил значение одного из свойств.
Consider this https://jsfiddle.net/oedx76vj/
>Зашел на яднекс-работу и НН
>Сравнил вакансии 1с битрикс и js(react, angular, etc)
>улыбнулся
Писанина жадной обиженки. Программирование так не работает. Если не делиться информацией, а только потреблять ее, то не будешь расти как специалист. Поэтому адинэсники никогда не смогут быть правильными программистами, то есть инженерами. Их как баранов водят за нос, втюхивая неюзабельное говно в тридорога. Поэтому у адинэсников развивается зависть ко всему открытому, их жопы разрывает мысль о том, что где то есть бесплатные ОС, бесплатные софт, бесплатные платформы для разработки. А больше всего их подрывает мысль, что где то есть настоящие программисты, которые пишут на настоящих языках, и решают настоящие, интересные задачи. Это сборище нажимальщиков на кнопки, сами роют себе могилу. Они все больше становятся изгоями.
Думаешь кто купится на твою чепуху. Ты хоть заплюсуйся сам себе, всем плевать на твою тупую писанину. Девелоперы пишущие на Ruby/Erlang/C++/Scala/C/JavaScript это элита, а не всякие совковые задроты, работающие в "НИИ Государственный Заборостроительный Комбинат".
Низкие доходы? Да у программеров одни из самых высоких зарплат на рынке РФ. Выше только у финансистов и распильщиков бюджетов.
Хуйня полная написана. Чувак топит за закрытую документацию, лицензию на знания и прочий копирастический ебанатизм практически.
В программировании определяющим является мастерство, а не ресурсы, так что опенсорс норм как раз. Как и в IT-бизнесе, определяющим являются кадры (носители мастерства), а не средства производства.
Типа, в математике куча открытых ресурсов, изучай до усрачки, но это никак не генерирует огромное количество первоклассных математиков и не понижает их стоимость.
В IT может быть куча выпердешей с говнокурсов, но качество предлагаемых ими услуг настолько низко, что тем, кому такое качество подходит, проще будет за вдвое меньшую цену нанять индусов. При этом толкового senior frontend developer по пол года в мегаполисе найти нельзя, хотя информации в сети жопой жуй.
1) В чем отличие axios от фетч? Какие преимущества и подводные камни.
2) Если Vue.js так хорош, почему на нем нихуя нет работы. Все спасибо
Маняматике в современном мире и ненужны.
Отличай навык от знания.
Ты как автомобили водят знаешь? Но разве то, что ты это знаешь делает тебя профессиональным водителем?
В том и дело, что общее знание в духе выжал сцепление - включил передачу - приотпуская сцепление, поддал газу это и есть начальный уровень навыка. И, очевидно, он не делает меня проф. водителем. Но если я начинаю изучать тонкости и аспекты (в данном случае опытным путем, ибо это дело такое), я повышаю свой навык и могу в дальнейшем стать гонщиком, лучшим в мире. Черт побери, возьми любую ролевую систему за пример, отражение ирл жи.
обе сучки будут тогда и все нас шпынять будут :(
Пусть на заводе работают, отбросы.
Нет. То, что ты это просто знаешь не делает тебя даже просто водителем. Знание - это не навык. Навык это опыт. И он, если хочешь, может образоваться вовсе без знаний. Методом тыка.
Не уверен, что ты понимаешь как работает рынок. Это тебе не совок или КНДР, весь спрос идет от частных компаний. Эти компании понимают, что если не обучать новых людей, возникнет дефицит специалистов. В РФ дефицит программистов, об этом заявляют официальные лица, в США тоже дефицит, везде дефицит.
Это с учетом множества возможностей обучаться. Большие и маленькие компании учат бесплатно, выпускают обучающий контент постоянно. Яндекс, Майл.ру, и другие, все они выпускают тонны бесплатных обучающих материалов, проводят бесплатные тренинги. Все это для того, чтобы не испытывать дефицит. Все это делается для роста рынка! Это не понять людям с совковым рабским менталитетом. Если рынок разработки сделать закрытым, он не будет развиваться, постепенно он умрет. Кто то должен жертвовать в это, иначе роста не будет. Даже Майкрософт все выложили в опенсорс, потому что их платформа стала умирать. В 2016 году они поставили рекорд, больше всех сделав вклад в опенсоурс, даже больше Гугла, Фейсбука, и остальных.
Все закрытые рынки гниют и дохнут. Либо топчутся на одном месте десятилетиями.
В точку.
Закрытый рынок, это как раз тот рынок, куда входят только по приглашению. Например наука в РФ всегда была закрыта, и что с ней теперь? Она сдохла. Начиная с конца 80-х советские-российские ученые не написали почти ни одной научной публикации. Оборонка в РФ тоже пример закрытого рынка. Производить оружие может только государство. Итог такой же, ничего нового за 30 лет не создано, все держится на советском оружии, которое уже устарело. В США, Европе, создавать оружие может любой. Любой может открыть мастерскую и изготавливать огнестрельное, да вообще любое оружие, и также свободно продавать. Результат на лицо, появилось огромное количество единиц оружия, рынок растет.
Все закрытые рынки сгниют. Это аксиома. СССР тоже пример закрытости. КНДР пока существует, но без вливания новых людей из других стран, без новых идей, все сгниет. Южная Корея научилась качественному производству благодаря открытости. КНДР никогда их не догонит.
>>Наука. нет публикаций
Тут не все так однозначно. Публикации есть, но в капиталистическом строе так не работает как при СССР. Нет инвесторов частных/компаний, нет денег а соответственно и зарплат. _мимо перекатившийся в веб - аспирант_
То то и оно, закрытость. А вот отдали бы науку в частные руки, то есть сделали бы открытой, тогда был бы рост.
И публикаций почти нет, не надо. США, Германия, другие страны, имеют тысячи публикаций ежегодно. Из РФ отсилы десяток в год будет, может несколько десятков. Во сколько раз десятки меньше тысячей?
А то они для меня выглядят не читаемыми TL;DR, и я их пропустил.
> США, Германия, другие страны, имеют тысячи публикаций ежегодно.
Публикации уровня "как реагируют крысы на поглаживание, имеют ли муравьи самосознание, и прочие 'Британские учёные доказали'?"
>Часто ли используются побитовые операции
Никогда
>regexp
Всегда
Регекспы очень зря обошёл, их обязательно ументь понимать хотя бы на базовом уровне. Уметь читать и понимать регекспы-простыни с первого взгляда никто не заставляет, но быстро написать регескп для проверки на корректный номер телефона/логин/email уметь надо.
Слабый высер. Много ли ученые из РФ номинируются на научные премии? Много ли инноваций происходит из РФ? Много ли технологичных производств имеется в РФ? Ничего не имеется, ничего не производится, нет инноваций, нет открытий, нет международных премий.
Дело в том, что у меня появилась проблема, как гуглить - не имею понятия.
Есть у меня один список элементов с общим классом elements и отдельным id. Id представлен так: первая часть - слово -, другая часть - номер. div class = "elements" id = " word-1234567". Есть переменная number = elements (когда начинаю все элементы перебирать по циклу, появляется i).Чтобы извлечь только цифру, делаю number = number.substr(5);
Потом обрабатываю цифры.
В общем, проблема в том, что дело идёт в цикле, а мне нужен номер элемента следующего. А поскольку number не является списком, есть вариант получения следующего элемента лишь расписыванием. Т.е:
elements[i+1].id.substr(5).
Ещё идея пришла только что - сделать инкримент, добавить полученный пост в отдельную переменную временную, потом сделать дикримент и уже работать дальше с текущим постом.
Надеюсь, объяснил проблему понятно.
Как быть? Как получить номер следующего по списку элемента? Есть ли магическая функция?
Никакой навык не будет полноценным без теории. Скилл = теория + практика. Соответственно, сколь мала доля теории не была бы в определеннном скилле, она является его частью.
На примере того же вождения - прежде чем тебе вообще сесть за руль, впервые, тебе нужно получить знание того, как водить. А уже потом закреплять на практике. Блядь, почему такие вещи нужно разжевывать, не понимаю.
> и почему
> в чем вообще разница между всей этой хуйней
>>1011127
В смысле бэкграунд? Бэкэнд? Я НЕ веб-приложение с мобильным интерфейсом хочу писать, а обыкновенное мобильное оффлайн приложение, но хз, если серв нужен будет, на пхп более-менее умею писать. Ну типа как вот ксамарин есть для c# или node.js для пекарен.
Ой, дурак.
Что?
Background в смысле подготовка, квалификация. Имелось ввиду, что если бэкграунд слабый, то любой фреймворк для тебя будет сложным, хоть Реакт Нейтив, хоть какой то другой. Ты уже неделю спрашиваешь что выбрать, уже бы попробовал все. Ну или хотя бы один какой то. Пробуй Реакт Нейтив, он современный, большое комьюнити. Хуже не будет если попробуешь и не понравится.
Начни уже ошибаться. Почему ты так боишься ошибки с выбором? Жизнь не закончится на этом. Ты получишь опыт.
Охуительно смищно.
>>1011176
Несколько тысяч строк кода на php, школьно-универские лабы и бесполезная корочка тыжпрограммиста, базовое понимание принципов написания современного и просто годного кода (ООП там всякое, паттерны, кодинг стайл).
>Начни уже ошибаться.
Не хотеть ошибаться-то.
>Почему ты так боишься ошибки с выбором?
Тому що я аутист, семпай.
> Жизнь не закончится на этом. Ты получишь опыт.
Я думал, надо наоборот "семь раз отмерь, один раз отрежь".
>Я думал, надо наоборот "семь раз отмерь, один раз отрежь".
В программирование, да и во многих других сферах, ошибки жизненно важны. Через них ты учишься. Если боятся ошибок, то никогда ничего не добьешься. Чем больше ты ошибаешься, тем больше получаешь опыта, и тем больше ты привыкаешь к ошибкам, перестаешь их боятся. Боксер если не научится получать по морде, никогда не сможет побеждать. Потому что будет боятся получить удар. Тот же кого много били, не боится ударов, и поэтому сконцентрирован на своих действиях, на достижении цели.
Почитай статью, там будет отсылка к книге Джона Кэссиди про жонглирование для новичков. Автор учит сначала научится ронять мяч, то есть ошибаться. Довести это до автоматизма, пока организм не перестанет бояться ошибок.
http://blog.mann-ivanov-ferber.ru/2015/07/08/4-iz-100-kak-perestat-boyatsya-oshibok/
Мне нужно, чтоб человек, мог зарегаться на прием к мастеру, выбрав range типа с 12 до 1:10 в зависимости от того сколько идет процедура. Что то неохота с нуля эту дрочь да еще на незнакомой технологии делать
в смысле сейчас у меня все очень примитивно, сначала идет кнопка, открывающая datePicker, после на ее месте появляется другая, открывающая timePicker, а потом еще и третья будет дескать записаться на прием. А по всем правилам UI/UX меня за такое можно отпиздить люто
секреты есть у многих. у повора, у инженера двигателей.
договор о неразглашении не подписывал?
ах да, есть патенты. лиценции на ПО.
то, что лучше не показывать, то и не показывают.
выкладывают свою работу
1. просто потому, что хочешь добавить в копилку знаний
2. можно извлечь профит
многие программисты живут не бедно.
>>1011116
из компаний, не многие делают свои разработки свободными. опенсорс еще не значит - бери и используй. лицензия может быть - смотри, но не копируй.
ах да.
1. выкладывают под GPL. ты не можешь это скопипастить в свой закрытый проект.
2. выкладывают без лицензии. не можешь скопипастить. нужно согласие автора или жди суд.
3. MIT - можешь копипастить.
это старый спор про лицензии.
книги не пишут просто так, за рекдим исключением.
stackoverflow - это не просто так.
да и никто ничего просто так не делает. тот пост от недопонимания.
Чувак сверху писал, что не нужны бесплатные курсы, гайды, языки, платформы, либы, etc. Если ты также считаешь, то иди пиши на закрытом дерьме, будь на поводке у вендора. Не используй ничего бесплатного, тебя никто не заставляет. Закройся в своем окопе и ни с кем ничем не делись, используй все платное. В чем проблема? Все закрытые технологии сгнили, или сгниют в ближайшее время. Меня никто никогда не заставит пользоваться виндой, или 1с, или еще чем-то подобным. Зачем мне вешать себе ярмо на шею, если есть более продвинутые бесплатные продукты.
Кто сказал, что делают просто так? Глаза раскрой, написано что компании делают бесплатное обучение ради роста числа разработчиков. Чтобы не было дефицита.
мой посыл в том, что нет бесплатного в любом его понимании.
как еще объяснить? никто просто так не выкладывает свои поделки.
все остальное, про рынок, про опенсорс, это уже не вежно, так-как основное предположение в том посте неверно.
Не усложняй. Вообще с какого хуя клиент должен выбирать рейндж, и вообще заботиться о том чтобы знать, что та или иная процедура у этого мастера идет сколько-то часов? Пусть указывает только начальное время приема, тип процедуры проверяется на точке входа (смотри какую кнопку для записи нажал). А для вывода уже занятого времени для клиентов/мастера пропишешь свой API, где закрасишь необходимое занятое время уже от типа выбранной процедуры, будь там +три часа от выбранного времени или больше.
Линукс бесплатный, и весь софт на нем бесплатный. Рассказывай свою уйхню кому нибудь другому.
Есть массив значений, скажем,
['foo', 'bar', 'baz']
Предстоит часто обращаться к его методу indexOf, для получения индексов определенных значений (заведомо существующих в массиве).
Является ли здоровой практикой некое..."кэширование" индексов, путем хранения сего массива в виде вот такого объекта:
{'foo': 1, 'bar': 2, 'baz': 3} ?
Размер массива не очень большой, просто у меня в попе шило перфекциониста. Но помимо этого просто стало интересно, делают ли так вообще?
Опять выходишь на связь ущерб?! Никто тебя помогать не будет.
Если логика приложение требует сопоставлять строковому ключу некое число, то используй для этого словарь, в чем проблема.
Впрочем, если разговор о производительности, то линейный поиск в массиве небольшого размера в общем случае быстрее чем использование хэш-таблицы.
Что, впрочем, не относится в жс-у, т.к. в нем нет настоящих массивов.
На мой взгляд заученной "учись на чужих ошибках" совершенно неправильно воспринимается как "НЕ ДЕЛАЙ ОШИБОК, А ТО ПОСТАВЛЮ 2". В то время как смысл в другом: если другие люди выяснили что вот-то точно неправильно, то нет смысла пробовать это повторять один в один, в надежде что у тебя получится. Что не исключает возможности на успех при изменении некоторых факторов.
dropdown.is(e.target) || 0 !== dropdown.has(e.target).length || 0 !== drop.has(e.target).length || (drop.removeClass("active"), dropdown.removeClass("active"))
не равняется этому
if(dropdown.is(e.target) || dropdown.has(e.target).length !== 0 || drop.has(e.target).length !== 0) {
drop.removeClass('active');
dropdown.removeClass('active');
}
?
Логическое ИЛИ в JS-ике завершает evaluation на первом встреченном truthy value. Соответственно, если у тебя dropdown.is возвращает truthy, то всё заканчивается.
Верхний код - не мой сам нахуй иди <3
>>1011494
Погоди, но ведь в верхнем участке кода первое условие dropdown.is тоже будет true(равно, как и в нижнем). Тогда в чём проблема?
The Modern JavaScript Tutorial от Кантора или
You Don't Know JS от getify?
Пикрила нет в гайдах из шапки, но на гитхабе лайков оче много.
Кантор же прельщает наличием русской версии - на случай если устану превозмогать читать на английском.
You Don't Know JS пытается запутать уодом(чтобы думал ололо) и плохо структурирован.
Без знания основ или другого языка лучше любой другой вариант.
в 1 если первые три будут false то выполнится
drop.removeClass("active"), dropdown.removeClass("active")
во 2 если хоть 1 из трех будет тру
Спасибо за пояснение. Пофиксил изменением логического оператора && на ||, а в первом условии добавил ! перед ним.
скинь свою фотку плиз по теме
Как раз нет смысла не делать потому что другие сказали это плохо. Ты повторил мантру "не ошибись иначе пипец". Из за этой мантры люди не могут ничего добиваться, ибо боятся ошибиться, и поэтому годами прокрастинируют. В программировании нужно учиться исключительно на своих ошибках. Так ты изучаешь как все устроено, почему нужно так, а не по другому. Если же следовать заученным правилам, то станешь тупым роботом, который сам придумать ничего не может, а только действует по указке других.
Вот великолепная статья, которая описывает проблему всего нынешнего обучения, там не пишется об страхах ошибок, но проблемы описанные возникают в том числе из-за страха ошибиться
https://habrahabr.ru/company/everydaytools/blog/322980/
Почему из русскоговорящих почти никто не может научиться говорить по английски? Очень просто, из-за страха говорить не правильно, боятся что их засмеют. Менталитет такой, везде страхи, везде ограничения. Индусы например легко научаются говорить, потому что не боятся ошибок, не боятся акцента.
Ребенку чтобы научиться ходить и говорить, нужно регулярно ошибаться. Падать, вставать, падать и вставать. Говорить с ошибками, мямлить, коверкать. Если бы он следовал твоим советам учиться на чужих ошибках, то никогда бы не стал ходить и говорить.
Браузер зависает и останавливает сценарий. Я не понимаю что не так в самом коде, вроде как я не пускаю цикл на вечные обороты. Помогите пожалуйста.
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);
>var userEnter = prompt("Введите четырехзначное число", "");
>var reversedNumber = 0;
>for(var i = 1000; i >= 1; i / 10){
>\treversedNumber += ((userEnter / i)^0) * (1000 / i);
>\tuserEnter = userEnter % i;
>}
>alert(reversedNumber);
i /= 10
ваще вот как решают люди на 2 день:
const reverseNumber = n => Number(n.toString().split('').reverse().join(''));
Ты кажется вообще не уловил моего посыла. Я не говорил "нельзя ошибаться". Я говорил что фразу "учится на чужих ошибках" надо воспринимать как "не совершайте очевидной лажи, если другие люди уже 100% выяснили что это лажа". Например не пытайтесь в очередной раз придумывать вечный двигатель.
Обычный ansi-term в емаксе. К сожалению нативного репла для пьюрсктипта не завезли.
Не будешь придумывать, мозг не будет работать. Если бы люди не пытались придумать что-то вопреки кажущейся невозможности, они бы никогда не смогли сделать ни одного открытия.
Чтобы научиться программировать, не просто копипастить как мартышка, а понимать что делаешь и как все работает, нужно ошибаться. Нужны эксперименты, а не тупое следование догмам. Нужно самому дойти до понимания почему нужно так, а не по другому.
Вот ты заладил. Кто тебе сказал что "нельзя ошибаться" то?
Судя по тому что ты говоришь, надо попробовать написать проект на goto. Ведь иначе как я пойму что это пиздец хуевая затея?
You Don't Know JS - это скорее как дополнение к основному учебнику, стоит читать только после изучения какого-нибудь Кантора (или по ходу).
Все, спорить с тобой мне незачем. У чувака хроническая боязнь ошибок, как у большинства кто здесь трется. Поэтому каждый день один и тот же вопрос, какой язык/фреймворк/etc выбрать, и они не выберут до тех пор, пока не будут уверены что не ошиблись. Это общая для рашки тенденция.
Чувак не может выбрать фреймворк, ему написали, что нужно самому все испробовать и сделать выводы, но он боится.
Тутор пройди. Вообще если ты пришел учить жс, учи жс, не ебись с емаксом. Вот когда решишь что тебе нужен программируемый редактор, тогда и попробуешь.
Не учу жс. У меня отвращение к любым IDE. Не люблю магию. Поэтому есть цель освоить vim, emacs.
Под раст рано или поздно напишут годный веб фреймворк. А пока веб упирается в пхп для говнокодинга ноду для стартап разработки и с# с джавой для тырпрайза. А вот с питоном и руби для веба просто идите нахуй. Просто нахуй.
Вим больше свистит и пердит, зато текст в нем править и правда очень удобно. Впрочем evil-mode никто не отменял.
Не один не допилен до юзабельного вида.
>> Автор учит сначала научится ронять мяч
Самообучился жонглировать каскадом без всяких теорий. Просто назадротил основные движения.
Кстати жонглированние - это как на велике кататься. Один раз научился - и навсегда.
Полгода мячики не трогал, попробовал - криво, но пошло.
И че? Какие еще теории, статью сначала прочти. Книга Джона Кэссиди приводится как пример. Статья о том, как перестать бояться ошибок.
p.s.
А вообще они там пизданулись, на заокраинном западе. Решаются блядь жонглировать, и мячики ронять решаются.
>>1011645
А так ты по сути прав, я прочел вашу ветку.
Ошибки, решения - в контексте жизни это несколько субъективно.
Главное - действие.
Более того, стоит помнить что самые подготовленные и продуманные планы рушились. И самые глупые и спонтанные вещи реализовывались. Но и это не важно.
Важно действовать.
Да я не спорю с тобой, бро.
Метод прост, научись делать ошибки пока не перестанешь их игнорировать. Тогда любое начинание не будет пугать. Например чтобы торговать на бирже, нужно не иметь страхов. Да любое вложение денег требует бесстрашия. Люди работают на других потому что боятся идти в свободное плавание.
vk.com/avdeev62
Спасибо. Так и поступлю, если нет других вариантов.
Напишите метод функции (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
Юзается в основном для DOM-объектов.
>Юзается в основном для 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 }
}
1) В зависимости от того, что ты делаешь...
2) >для промежуточных операций пасринга/хранения/чтения
Не могу представить код, если честно. Смотри по обстоятельствам.
3) Да.
гринтекст-фейл, блеадь -__-
Спустя время понял, что тебе нужно-таки. Вот:
speak.wrap = function (cb) {
var _self = this;
return function (yN, mN) { return cb(_self, yN, mN) }
}
или speak.wrap = function (cb) { return (yN, mN)=>cb(this, yN, mN) }
>>1011820-анон
Спасибо!
Хочу тему синтаксиса для Атома запилить, конкретно под JS, нужно будет на чём-то тестировать.
Не могу уже смотреть на пиздец, который не учитывает грамматику конкретного языка и специфичные селекторы.
Да и с байбл-грамматикой там пиздец какой-то местами, попробую попатчить если осилю.
И вообще определения грамматик в Atom говно, спиздили из ТекстМейта и даже доков толком не запилили.
>Да и с байбл-грамматикой там пиздец какой-то местами, попробую попатчить если осилю.
Но вообще это просто я такой аутист, который пердолит редактор и форматирует код, вместо того чтобы погромировать.
Написал кривое условие, чтобы остановить рекурсию, но оно не работает, что не так?
http://jsbin.com/qimilagasi/1/edit?js,output
(решение) ?????
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;
}
начинает тошнить и хочется плакать, это нормально?
Это копия, сохраненная 17 июля 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.