Это копия, сохраненная 31 января 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Часто задаваемые вопросы:
https://github.com/xxxwww/js-thread/blob/master/Wiki/faq.md
Список материалов для изучения:
https://github.com/xxxwww/js-thread/blob/master/Wiki/learn.md
Список инструментов и направления JS-разработки:
https://github.com/xxxwww/js-thread/blob/master/Wiki/tools.md
Конфа /pr/ в Slack:
https://invite-me-to-2chpr.herokuapp.com/
JS-конфа в телеграме:
https://telegram.me/jsthread
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.
>Не, я на нормальной системе работаю.
На такой нормально, что даже не знаешь что такое shared library, дебил?
typeof
Чо ты злой-то такой, пошутить даже нельзя. Он (или ты) сказал конкретно "дллку", а не "shared library", "либу" или как ещё угодно. длл только на винде.
Что он имел в виду я прекрасно понял.
Образование не нужно, ряяя, вуз программисту не нужен ряяя, я самообучаюсь по видео урокам!!
Как можно перехватывать что у объекта запросили undefined свойство?
Можно повесить какой-нибудь обработчик, что бы генерировать их при первом обращение?
уже загуглил. Спасибо, аноны, всегда поможете
Илитным программистам с з/п и чсв >9000к на канале ловить нечего.
inb4 сажа во все поля
https://www.youtube.com/watch?v=C68zu9NlkxY&list=PL3gXAKX3OCdH1IoZb5FLL3RADPrKt9PXI
Ему, как я понял, нужно что-то наподобие Lua'вского __index в метатейбле, а не просто ручная проверка, есть ли свойство.
Наподобие такого у питона http://pythontutor.com/
Интересно посмотреть, как код live выполняется и преобразуется, чтобы лучше область видимости и всякие такие штуки понять.
Ну и, например, чем
var fun = function () { return 'hello'; };
отличается от
const fun = () => 'hello';
в итоге.
Я еблан, я же js учу.
Хуерга какая-то. Где глобальный объект? Охуеть теперь, что в одной переменной такой-то текст, а в другой - другой.
Как окружение меняется от исполненного текста то?
Proxy
Значит через прокси нужно через геттеры/сетткры настроить перехват.
А я думал, что твоя мама придёт домой только севодня))
Ты даун просто. Хоть бы rfc на http читали прежде чем парсеры писать.
посмотри через сниффер, что за херню ты передаешь, попрбуй другую хттп библиотеку. Очевидно, проблема в том, что передаешь не то что ожидается, в грубейшем случае хуячишь post-реквест вместо get или что-то типа того.
Моя сестра захотела научиться кодить, пишем хеллоуворлды на js, запускает в консоли ноды. Постепенно учу её базовым операторам, но на циклах дело стало. Не получается у меня объяснить ей понятным языком, что такое циклы и как их использовать. И это только начало, думаю, что дальше я так же не справлюсь с объяснениями.
В общем есть одна партнерская программа от АлиЭкспресс. Есть группа ВК в которой постятся товары с моей партнерской сылкой. Посты пизжу у других аналогичных групп, меняя их сылку на свою(генерируется на сайте партнерки). Это все рассказываю для понимания сути предстоящей задачи.
Планирую автоматизировать всю эту хуйню.
Собственно вопрос, как это лучше реализовать? И про что почитать предварительно? Пока знания JS на уровне "придание динамичности страничкам не без помощи гугла"
Делал подобную хуйню на CasperJS + сэндбокс VK.com/dev , ибо с помощью официального апи невозможно было нормально постить в группы.
Все тоже самое можно было сделать при помощи Selenium и любого другого языка программирования.
Аригато
Я вроде бы писал немного по мелочи там, задачки решал, немного с ооп познакомился в языке, но общей картины как то нет.
Слышал, что сразу садится за фреймворки, типа там реакта, ангуляра и всякого такого моветон, это так?
мимо-тупой-говнокодер-без-каких-либо-знаний-языка
https://javascript30.com/
мини-проектики с https://www.freecodecamp.com/
(калькулятор, работа с api)
Попробовать написать простую игру - тоже неплохой вариант.
Если для глубокого понимания языка - чтение спеки, книг и статей (например YDKJS, 2ality)
Когда напишешь простенькие приложеньки можешь садиться за фреймворки.
Извиняюсь, обосрался, не заметил, что тут JavaScript.
Но я больше интересуюсь мобильной разработкой с помощью жс.
на реакте мобилки тоже норм идут. метеор - хуита какая-то
>можно прям рендерить нахуй всю страницу, не написывая ее html код вообще ни разу.
За это изобретение автора надо по рукам бить.
Подойдет любая модалка. Просто модифицируй на свой вкус. Лично я вытащил модалку из materialize.
такая ситуация
работаю с passportjs для вк (passport-vkontakte).
простая авторизация
получаю токен с заданными правами (выскакивает окно для юзера, жму allow - токен выкидывает в консоль, прилага на ноде).
вроде получаю список всех групп а не только публичных
но блядь, некоторые запросы все равно выдают access denied (например groups.getBanned)
кто работал с апи? что делать?
спасибо
даже, казалось бы, простой метод https://vk.com/dev/account.getBanned
выдает 15ую ошибку какой бы я access_token ни оттавал.
Ну блять, образно говоря. Важно не это. Поясню проще. Раньше на Дваче была CloudFlare, которая кэшировала пикчи. Так вот, если просто открыть пикчу в браузере, то она будет выниматься из кэша, а если запросить пикчу с любым рандомным параметром, например, image.png?1 - то пикча уже загружалась без кэша. С ajax-запросами такая же политика?
>image.png
и
>image.png?1
это два разных url.
с какой такой стати она бы должна была вызываться из кэша?
Нет. Ты просто не понимаешь что такое url и как работает http. Иди разбирайся.
привет!
хочу стать ниибацо каким фронт енд жс разработчиком, но не понимаю одну весчь:
зачем учить сейчас фронт енд на ваниле, если есть фреймворки и их везде просят, то есть с одной ванилой на работу не возьмут? почему бы сразу не начать изучать вуе или ангуляр?
Потом твои модные фреймворки умрут и им на смену придут новые и ты останешься сосать писю. Ведь те, кто умеют ванилу, могут освоить любой новый модный фреймворк за ночь, и что важнее, прекрасно понять как он устроен и работает внутри. А ты к изучению фреймворка подходишь как к компьюетр сайнс.
сап, двощ, зачем нужно учиться плавать, если если я могу купить катер и плавать на нём
>ванилой
Штоа? Есть стандарт JS/ES, есть объектная модель браузера, есть HTML5 API. Заебали форсить эту хуету. Поверх этой хуйни есть либы/фреймворки (ибо сам JS кхм.. аскетичен, а браузерные API кривоваты). Вот и подумай теперь сам, переформулируй вопрос, и сам все поймешь.
осне хуевая аналогия, как и большинство аналогий
для управления катером достаточно не тонуть, умение плавать оверкилл
Анончики, такая ситуация. Я не могу в новые технологии. Каждую "осваиваю" с трудом и скрипом. Проекты с горем пополам собираются и минифицируются, но общего понимания мне это не прибавляет. Как мне кажется, тут сказывается просто сказочное многообразие технологий, которые можно использовать. Есть тут аноны кодирующие на ангулар, чтобы подсказать по стеку технологий, которыми они пользуются на практике? Да и вообще, как быть, если глаза разбегаются?
У тебя Standalone-токен?
В чем твоя проблема? Ты не умеешь выбирать или не понимаешь что тебе выбирать из технологий?
>groups.getBanned
Там несколько разных типов токенов. Например, метод "groups.getBanned" может быть вызван только с помощью Standalone-токена + у него должны быть запрошены соответствующие права при получении. В общем, напиши какой именно токен ты получаешь, а там станет ясно.
>>905238
И да, если не знаешь какой токен получаешь, то просто скажи какой у тебя тип приложения, которое ты используешь.
Спасибо. А как быть с огромным количеством технологий для тестирования и прочего? Например, что лучше выбрать для тестирования?
Нет, не отвечай на это >>905246
Моя проблема в том, что я не умею правильно задавать вопросы. Сейчас правильнее будет спросить у тебя что-то типа: "А как вообще происходит разработка на ангулар?"
Я только сейчас понял, что никогда не видел именно разобранной по шагам инструкции по разработке. Сейчас я просто пишу код и даже тесты не использую.
> огромным количеством технологий
> для тестирования
> ангулар
> никогда не видел именно разобранной по шагам инструкции по разработке
Пиздец дожили, вам видео на ютубе скинуть как код писать?
Лол, тебе если сказать нечего, то чего ты лезешь?
Так скоро до этого дойдет, много кто на всяких курсах попривыкает, что им все разжевать должны а потом устроятся на работку и вдруг чего подобного начнут требовать от других, мол давайте мне прям пошагово))
>>905268
Пиздец вы долбоебы, лол. На вопрос о лучших практиках организации кода и процесса разработки бахвальством о собственном уме и лизанием друг-другу анусов. Что сказать-то хотели, дурачки? Нахуя вы в треде сидите, куда люди за помощью приходят? Я может что не понимаю, но в шапке нихуя не сказано о каком-то минимальном пороге знаний для вхождения в ваш узкий круг.
Дебилушка, я вообще тебя не трогал, почитай чей пост цитировал для начала. Писал чуваку про общую тенденцию, которая получилась из-за курсов. Так что остынь, а то прям как в поговорке "на воре и шапка горит" лол)
А не из-за отсутствия ли вменяемого комьюнити эта тенденция складывается?
>>905248
Я не совсем понимаю что ты спрашиваешь, анон.
Ты понимаешь устройство приложения, которое тебе придется писать? В большинстве случаев это restful api, написанное на ноде и spa-приложения на ангуларе.
В апи у тебя делается ресурс, например, users.
У тебя появляются роуты:
— Список всех пользователей
GET /users
— Информация о конкретном пользователе
GET /users/{id}
— Создать нового пользователя
POST /users
— Обновить информацию о конкретном пользователе
PUT /users/{id}
— Удалить конкретного пользователя
DELETE - /users/{id}
В ангуларе тебе нужно реализовать к этим роутам интерфейсы.
По сути, сделать список/таблицу для GET /users. Сделать список/таблицу для GET /users/{id} и сделать формочки для POST/PUT/DELETE с кнопками, которые будут брать данные из формочки и отправлять запрос по нужному роуту.
Потом покрываешь это всё тестами.
Это практически весь цикл разработки соверменного приложения.
Ясно, спасибо я и не надеялся особо )
Что значит "какой максимум"? Сколько угодно можно выжать, всё ведь упирается в железо
>стоит ли писать сразу на es6
Да, стоит. Если нужна поддержка клиентов, которые не могут в es6, используй babel
тип стандалон
видимо токен тоже стандалон
приложу еще настройки
может где то проебался
спасибо, братцы.
Писать то можно и нужно, но ты должен понимать как ес5, так и ес2015
Как формируешь ссылку на получение токена? Там должен быть параметр с перечислением прав, которые ты запрашиваешь.
> в шапке нихуя не сказано о каком-то минимальном пороге знаний для вхождения в ваш узкий круг
Какое блядь бахвальство и узкий круг?
Просто из моего опыта: есть люди идиоты, для которых новый фреймворк это как новая библия, все надо выучить срочно прям счаз, им даже для каждой функции надо записать видео и сделать 6 примеров на нативном для них языке.
Есть те, кто понимает - новые фреймворки хуита, к которым достаточно почитать документацию и глянуть исходники (исключим первый ангулар, там ебаная магия была, в которой без поллитра диздоков не разберешься). Опытом тут мало что пофиксишь, интеллект и пытливый ум куда важнее.
Я могу кинуть пару книг по tdd например, ооп, но даже это уже разжевали.
Хочешь приблизительно понимать, как создаются большие проекты - смотри проекты апача, софт и библиотеки на github, етц.
localhost:3000/auth/vkontakte/callback
я вот по этому гайду делаю
https://github.com/stevebest/passport-vkontakte
спс анон что помогаешь
А как именно? Там есть пример на получение авторизацию с запросом прав. Ты так делаешь? Смотри пикрил.
да именно так. токен получаю
потом делаю запрос на api.vk.com и 15ую ошибку хуй за щеку получаю.
еще сегодня посмотрю что там. анон, можешь попробовать быстро запилить пример, если получиться достать забаненых юзеров или еще какую нибудь инфу из скоупа, то отпиши плз.
>>905776
Приведи пример кода своего с авторизацией. Если ты получаешь именно так как на пике, то не хватает groups в том массиве
http://pastebin.com/EHXusr2w
вот что у меня
ну ID сикрет понятно
просто запускаю нодой и перехожу на /auth/vkontakte/callback
в консоль падает токен после того как я жму Allow, дальше страница зависает до экспайра сессии
Не слушай этого. Начинай с основ - js + dom. Скачивай курс "Специалист" и пили Лабы. Там все разложится по полочкам.
Сможешь отдельно с токеном вызвать какой-нибудь метод?
Вот примерная ссылка https://api.vk.com/method/users.get?user_id=210700286&v=5.52
15 ошибка - доступ запрещен. По коду вроде все ок.
так и делаю, братан.
что касается публичных данных типа юзера и прочего то все ок.
вот например группы пытаюсь достать
первое без токена совсем
второе с токеном
третье это то, что мне в params приходит
Ну и последнее, что можно проверить
https://vk.com/dev/account.getAppPermissions?params[user_id]=1¶ms[v]=5.60
Вызови этот метод с токеном. В ответ ты получишь права своего токена. Если там не будет тех прав, которые ты запрашивал - остается писать в тех. поддержку
Использую кошерный Backbone для связи с сервером, redux как клей между компонентами, jsdoc коментарии для типов. Впринципе, js на клиенте таким макаром ничего. А вебпак еще и сильно упрощает сборку.
P.S.
Держу вас в курсе.
На вот, покури, если хочешь разобраться как эта кухня работает и узнать чуточку больше. Для кофейни лоадер очень маленький и делает все что нужно.
http://webpack.github.io/docs/using-loaders.html
https://github.com/webpack/coffee-loader
Какие преимущества у компилирования тайпскрипта вебпаком, а не стандартным компилятором, если тебе не нужна компиляция jsx или подобной срани?
После с++ JS стал для меня эдаким мирком, где можно побыть чекнутым разработчиком (прям как в той пасте).
И в то же время сундучком с подарками - так много всего и все хочется попробовать ведь оно такое заманчивое, прикольное и т.д.
Короче ничего не имею против JS)
На счет всех платформ не знаю - но это как минимум удобно для всяких поделок тем кто и так знаком с языком. Другим, кого от него тошнит, будет не так радужно. Так что истина как всегда где-то посередине
То, что ты на пне сидишь с адслом - это твои проблемы. Купи себе нормальный интернет и пеку. Сайты пилятся под большинство.
>На медленном/лагающем интернете
Но ведь так можно до кого угодно доебаться. Например, за что платят компаниям разрабатывающим топовые игры, ведь на медленных и лагающих компьютерах они вообще не запускаются!
>за что платят компаниям разрабатывающим топовые игры, ведь на медленных и лагающих компьютерах они вообще не запускаются!
Сучары еще те
То же самое, что и `'*'.repeat(1e6 -1)`, лол.
Двачую адеквата.
>В ангуларе тебе нужно реализовать к этим роутам интерфейсы.
Пиздец. Хорошо, что я бэкэнд на PHP пишу. Меня Нода взбесила именно тем, что на ней нужно костыли в виде роутеров писать.
Если нужна нормальная поддержка браузеров (IE10, например) - пиши на ES5. Трансляторы не юзай, это адовое говно.
Если нет - пиши на ES7 и не парься.
Очень даже, если говорить об обычном программировании.
Если сейчас JS используется даже для написания кусов ОСей, то чего уж говорить о "захвате платформ", лол.
Правда, до этого ей (в лице NodeJS) ещё развиваться и развиваться, но всё-таки.
А вот в тонкости JS не может.
Ракеты всё так же будут писаться на очень быстрых и точных языках.
> JS постепенно захватит все платформы
Нет, умные люди понимают, что у js больше проблем, чем преимуществ. Даже перл на сервере как скриптовый язык лучше, чем js.
Это же не неисправимые проблемы. А перл я представляю какое говно, раз он даже у пыхи первых версий соснул
> Даже перл на сервере как скриптовый язык лучше, чем js.
Два чая, именно поэтому перл сейчас в вебе живее всех живых.
Он у тебя спрашивает конкретный вопрос, а ты, вместо того, чтобы ответить "да" начинаешь что-то пояснять. Зачем? Почему?
>>906064
Весь роутинг к файлам Apache сам пилит же, а кастомные можно сделать через .htaccess.
Я о том, что не нужно писать велосипеды - нужные инструменты есть "из коробки".
Будь у Ноды встроенный роутер - было-бы проще. Ибо тонны самописных -- один охуительней другого -- мне не очень нравятся.
>перл я представляю какое говно, раз он даже у пыхи первых версий соснул
Перл изначально не был предназначен для веба. Это его уже потом допиливать начали, поэтому то, что получилось, и соснуло у ПХП.
А вообще, соснул он только потому, что набежали макаки с одностраничниками, которым нужно не программирование, а "по-быстрому сделать".
> Он у тебя спрашивает конкретный вопрос, а ты, вместо того, чтобы ответить "да" начинаешь что-то пояснять. Зачем? Почему?
Это не я отвечал, я не понял к чему тут "толсто"
> Весь роутинг к файлам Apache сам пилит же, а кастомные можно сделать через .htaccess.
У ноды встроенный сервер, ей не нужны никакие апачи из средневековья
> Я о том, что не нужно писать велосипеды - нужные инструменты есть "из коробки".
Наоборот, это у ноды они из коробки. Пыха - просто интерпретатор
> Будь у Ноды встроенный роутер - было-бы проще. Ибо тонны самописных -- один охуительней другого -- мне не очень нравятся.
Ты очень сильно путаешься. Пыха не может в роутинг сама по себе, ей нужен дополнительный сервер. Нода самодостаточная, она выступает и как сервер, и как интерпретатор, поэтому она сама может роутить. Но можно и с апачем её юзать, если хочется
Но я не понимаю твоего недовольства. В большинстве пыховских фреймворков роуты, также как и в ноде, описываются в самом коде.
> даже у пыхи первых версий соснул
Поехавший, че несешь? Перл перваначально был запилен для дядек, который любили awk, sed и баш. Именно эти люди уже стали пилить на нём сайты, так как им было влом смотреть, что там у php.
>>906077
Неуместный сарказм.
> набежали макаки с одностраничниками, которым нужно не программирование, а "по-быстрому сделать"
Два чая.
Ковыряю уже второй год толстый spa на ангуларе за 35к в мухосрани, а что?
> > даже у пыхи первых версий соснул
> Поехавший, че несешь? Перл перваначально был запилен для дядек, который любили awk, sed и баш. Именно эти люди уже стали пилить на нём сайты, так как им было влом смотреть, что там у php.
А потом они все сдохли от старости?
Хотел узнать как поднимались и искали РАБотку на галере )
>>906033
Какой уж есть, не всегда бывает возможность выходить с быстрого.
Вообще хорошая логика, нет бы признать что на фронтенде 90% криворукие довны, так будем маняврировать "купи интернет и пеку". Для сайтов лол, интернет и топ пеку брать!
> топовые игры
Оптимизация. Есть и не топ игры, а лагают, а есть топ, но нормально идут даже на слабых машинах. Признай уже что большинство фронтендеров раки и нихуя толком не могут сделать.
> Какой уж есть, не всегда бывает возможность выходить с быстрого.
> Вообще хорошая логика, нет бы признать что на фронтенде 90% криворукие довны
Как я понимаю, ты очень далёк от веба и фронтенда в целом и просто зашёл покукарекать? В браузере в принципе нельзя писать быстрый код, потому что у него очень медленный рендеринг из-за DOM. Реакты/ангулары как раз оптимизируют работу с ним, сокращая к минимуму работу с ним. Аналогичные сайты без этих фреймворков тормозили бы намнооого сильнее.
Нет, не кажется.
1)Так и будет приблудой для фронт енд макак.
Бекенд на нем уже не раз обсывали, при том не на двачах, а авторитетные господа.
2) Посмотри на активность жс треда в этом разделе, он обгоняет пхп, с++ и с тред вместе взятые. О чем это говорит? Какой контингент в этом треде преобладает?
>даже на слабых машинах
Что значит "нормальные"? Или все, что идут на твоем компьютере "нормальные"?
Вообще, ты просто не понимаешь зачем и почему все это происходит, но я объясню:
Например, есть заказчик, который хочет себе приложение. Ему предлагают сделать его за 500 000, например, но еще за 250к его программу оптимизируют не только под старые браузеры, но и под отсутствие соединения, и вообще, добавят много интересных возможностей. Но у заказчика просто нет таких денег, а еще чаще они есть, но никому на хуй не нужна эта оптимизация. Она стоит дохуя, а по факту в ней нуждаются с каждым днем все меньше людей. Зачем платить больше? Чтобы какой-то хуй с двача сказал, что мой продукт клевый?
>Пыха не может в роутинг сама по себе, ей нужен дополнительный сервер
Я и не отрицаю же.
Просто уже как-то привык уже под PHP говорить не о самом интерпретаторе, а о Apache+PHP.
>пыховских фреймворков
Не юзаю фреймворки так-то.
Меня вообще сам по себе бесит сторонний код в проектах, поэтому, когда изучал Ноду, пытался писать всё сам. И вот отсутствие вшитого роутинга опечалило. Нужно искать велосипеды к тому, что вполне могло идти в комплекте к тому-же модулю HTTP.
Если ты используешь тот-же ExpressJS - да, вопросов нет. Но когда Express тебе не нужен, то искать сторонние роутеры - это.. просто печально.
Реакт строит свой дом виртуальный, по ресурсам это гораздо затратнее обычного жс.
В браузере можно писать быстрый код, но никому это не нужно на данный момент.
> Нет, не кажется.
> 1)Так и будет приблудой для фронт енд макак.
> Бекенд на нем уже не раз обсывали, при том не на двачах, а авторитетные господа.
Очень толсто
https://nodejs.org/en/foundation/members/
>Реакт строит свой дом виртуальный, по ресурсам это гораздо затратнее обычного жс.
Что несет. Ой, что несет.
Как виртуальный дом может быть медленнее обычного?
> Реакт строит свой дом виртуальный, по ресурсам это гораздо затратнее обычного жс.
Это работает намного быстрее, поэтому и строит. Второй ангулар делает также.
> В браузере можно писать быстрый код, но никому это не нужно на данный момент.
Ты, конечно же, знаешь намного больше инженеров гугла и фейсбука, у которых каждая миллисекунда это потеря миллионов
Пиздец даун.
Может, потому, что обычный DOM строит браузер на C++, который в дохуище раз быстрее JS, которому этот самый C++ и выполняет? Или потому, что браузеры намного быстрее твоего ебанутого Реакта?
Ой что несет
>Что значит "нормальные"?
Значит современные игры с высоким рейтингом, которые запускаются и играют на средних машинах.
>предлагают сделать его за 500 000, например, но еще за 250к его программу оптимизируют
И вот тут пошло наебательство. Вместо того чтобы сразу делать "как надо", макаки делают "хуяк хуяк и в продакшн". Только интернет сегодня еще не у всех хороший, компы не везде топ, а браузеры зачастую бывают старыми.
>знаешь намного больше инженеров гугла и фейсбука, у которых каждая миллисекунда это потеря миллионов
Именно поэтому Гугл и Ютуб - адовая неоптимизированная параша?
На какой сесть, где больше фриланс заказов.
>Вместо того чтобы сразу делать "как надо", макаки делают "хуяк хуяк и в продакшн".
Чтобы сделать как надо, нужно больше времени, дурачок, а клиент больше не платит. Ты же не думаешь, что все за спасибо работают.
> В браузере в принципе нельзя писать быстрый код, потому что у него очень медленный рендеринг из-за DOM.
Вернёмся к тому, с чего начали?
Я не тот анон и не срался с вами изначально.
Пруфы-то будут? Бенчмарк какой-нибудь?
Не, отошли от дел, а проекты ушли в следующую итерацию, часть переписали на руби, часть оставили на перле, часть на джаве. Что-то оставили, перл вообще отличный клей, у того же яндекса на перле в диске вроде или почте есть какая-то прослойка.
>Чтобы сделать как надо, нужно больше времени
Конкуренция. Хуяк-хуяк может и индус сделать, еще дешевле и быстрее чем ты.
А ты все не унимаешься. Рыночек уже порешал, ты-то почему с ним не согласен? Зарплаты у специалистов в крупных фирмах уже давно устоявшиеся, ценники тоже. Один ты недоволен, что твой интернет видите ли не тянет.
А теперь посмотри, в какое количество проектов донатит ibm и google. Для корпорации в год такие суммы это не деньги, а зарплата пары сертифицированных программистов.
Скорее всего какой-нибудь студент-самоучка. В реальный проект никогда не возьмут такого долбоеба.
Да нет, 4й год уже пошёл, лол.
Хуй знает, может, это из-за психики, но не терплю чужой код в своих проектах.
Единственный фреймворк, который мне нравится -- это Laravel, но возможности с ним поработать так и не было.
>твой интернет видите ли не тянет
>Один ты недоволен
Найс маневрирования
>Рыночек уже порешал
>Зарплаты у специалистов в крупных фирмах уже давно устоявшиеся
>ценники тоже
лол
Что лол? Ты аргументы неси, а не какие-то непонятные проекции. Аргументы будут?
Да и то, что написал сам, проще дебажить/дорабатывать и кастомизировать под более узкие области.
> то, что написал сам, проще дебажить/дорабатывать
Хз, мне проще под пиво почитать исходники фреймворка с комментариями, чем самому что-то писать. После того, как я в исходниках первого ангулара разобрался, мне кажется, меня уже ничем не удивить.
Тот-же Ангулар, например. Отделить DOM от логики -- это нехуй делать и без него, тестирование -- тоже не самая сложная штука, как по мне.
Самое конкретное из модулей, что приходит на ум -- AJAX-запросы. Проще написать свой контроллер, который будет делать то, что хочешь ты, использовать твоё API и не вызывать спагетти-код который дебажить можно будет только изучив исходники фреймворка наизусть.
Реакт я вообще не понимаю -- мало того, что везде где я видел Реакт -- лютая мешанина отображения с логикой, так ещё и зачем-то DOM изобретают.
Двачую. А то Бля все пишут на них, тренды-хуенд, а где они - неясно. Ну кроме фейсбука который говно
А что не так?
ES7 - это ES262 7й редакции.
www.ecma-international.org/publications/standards/Ecma-262.htm
В плане я старый пятый имел в виду.
Да я знаю, там картинок дохуя, да и это дело они на аутсорс отдавали.
Вообще в мобильном приложении у них все норм, ios версию приходилось тестировать на low quality соединении.
Донатят же не без причины.
У IBM помимо доната в саму nodejs, ещё два фреймворка
https://loopback.io
http://expressjs.com
И платформа
https://strongloop.com
У paypal тоже свой фреймворк
http://krakenjs.com
Помимо поддержки, они ещё и активно её юзают
В любом случае, это абсолютно не вяжется с
> Бекенд на нем уже не раз обсывали, при том не на двачах, а авторитетные господа.
К примеру, JS получает из поля ссылку http://2ch.hk/logo.png (М) .
Мне нужно её добавить к FormData, которую я буду отсылать на сервер. Суть в том, что мне нужно отослать не ссылку на пикчу, а саму пикчу так, будто она была выбрана через <input type="file">.
Работать вставка самой картинки должна так:
1) Пользователь вставляет ссылку в поле;
2) Пользователь нажимает "ок";
3) Картинка по ссылке каким-то образом заргужается;
4) В форме отправки появляется превью картинки;
Работать отправка на сервер - сложнее:
4) Пользователь жмёт "отправить форму";
5) Картинка, хранящаяся в каком-либо формате, отправляется на сервер под видом обычной картинки, загруженной через <input type="file">, естественно через FormData и AJAX;
Естественно, самое сложное - это пункт 5.
Идея 1: засунуть пришедшую строку в Blob и вставить её в HTMLInputElement#files… Ага, хуй там - вставка в FileList чего-либо (даже File и Blob) - невозможна, там геттер стоит -_-
Идея 2: таки засунуть пришедшую строку в Blob и отправить в FormData вместе с остальными полями.
Но КАК? Я думал, что достаточно будет отправить запрос на пикчу и получить данные как текст, но хуй там - некоторые сервера не разрешают так делать, т.е. запрос обрывается и всё.
Когда вариант с AJAX'ом отпал, я решил быть хитрее: вставить картинку, потом нарисовать её в <canvas> и, через метод HTMLCanvasElement#toBlob, его сохранить как Blob. Но оказалось, что попытка рисовать в Canvas картинку с другого домента кидает SecurityError.
Анон, есть-ли возможность получить изображение в Blob с другого сайта, не используя сервер?
Если сервер не разрешает кроссдоменные запросы, то можешь только хромогу запустить с ключми, которые игнорируют эти ограничения
Можно ли как-нибудь проверить, установлен ли у юзера куклоскрипт?
О, найс, правда он реагирует, даже когда кукла отключена через куклоинтерфейс. Наверное, я не так вопрос сформулировал, можно ли проверить, включена ли у юзера кукла?
Но всё равно спасибо
А вот хуй знает. Этот код честно спиздил с 2ch.cafe (слово из спам-листа, короче), когда он ещё работал. Лень было рыться в исходниках куклы.
Разве-что анализировать изменение интерфейса/классов? А ещё, как вариант, Кукла могла в BOM наследить.
> Анон, есть-ли возможность получить изображение в Blob с другого сайта, не используя сервер?
Если CORS не разрешает запросы к сайту с других сайтов - никак
Алсо, ты можешь вставлять ссылку на пикчу в поле названия при выборе файла
>Что-то посмотрел реакт, на все эти вебпаки, джсх, бабелы и т.п. - ахуел
Не робей, для реакта и сопутствующих либ - тонны готовых бойлерплейтов и йобамен-генераторов, упрощающих рутинную подготовку проекта до ввода одной команды в консоли.
эм, ну все равно же все эти вещи надо понимать для того, чтобы эффективно работать с либой, не?
Твой вопрос звучит так, будто ты жаждешь не ответ получить, но ждешь, чтобы зарядом живительной мотивации тебя окропили.
Так вот, знать и понимать, конечно, нужно, но для того, чтобы приступить к разработке своего первого реактивного калькулятора или туду менеджера, достаточно будет открыть jsbin и поэкспериментировать с кодом.
Кривая сложности изучения реакта и сопутствующих технологий такова, что ты сможешь закрывать пробелы в знаниях по мере работы над своим первым проектом.
>Реакт я вообще не понимаю -- мало того, что везде где я видел Реакт -- лютая мешанина отображения с логикой
Сейчас де-факто стандарт помещать логику в сторы, которые обрабатывают стейт-менеджеры, что уже лучше, т.к. хранение и обработка данных происходит в отдельной сущности.
>так ещё и зачем-то DOM изобретают.
VirtualDOM - это не магия, а, по сути, механизм патчинга исходного отрендеренного ДОМа.
ок, спс за твои старания, анон.
Может я неосилятор?
> Может я неосилятор?
Зис, магии во второй версии гораздо меньше, осиль уже dependency injection
1. Можно ли что то из этого заменить? ну типа вместо ангуляра реакт какой и т.п.
2. Вот в вакансиях часто вижу Node.js, Mongodb еще что нибудь, а что значит, например "знать Nodejs" или "знать Mongodb".?
т.е. как бы знание требуют а что оно из себя представляет я не очень понимаю.
сейчас работаю Nodejs Meteor Mongodb бэкэндщиком для приложения ios. Хотел бы ебать как задрочиться всем этим чтобы через годик уже на норм вакансии мог.
P.S. также буду благодарен, если кто подкинет идею проектика для портфолио на вот этом стеке.
Спасибо .
Хотя, вроде сделал с помощью setInterval. Не знаю, насколько это правильно, но работает.
>Расскажите, каким способом вы учили и что по вашему мнению приносит наибольший результат в единицу времени.
Ставишь себе задачу и реализуешь ее.
Обучался читая справочники.
Считаю, что полным идиотом надо быть, чтобы не уловить закономерности и логики в куче справочных статей, дабы понять суть и принцип, даже если ты полный ноль.
MDN для изучения js за глаза. Не знаю что вы там неделями-месяцами-годами читаете. Напрасно тратите время лишь.
а биндинг вызывает утечки памяти?
http://cheng.logdown.com/posts/2016/04/01/do-not-use-bind-or-arrow-functions-in-jsx-props
http://stackoverflow.com/questions/36677733/why-jsx-props-should-not-use-arrow-functions
А всё, вопрос отменяется, я долбойоб.
Как вы это делаете? Нет, серьезно, как с малым знанием языка можно получить работу?
Soft skills. Добро пожаловать в реальный мир. Если у тебя ещё пизда между ног и неплохая внешность можешь отправлять резюме на node backend developer (неважно знаешь ли ты ноду или нет).
> как со всеми ними совершить одно действие?
> Можно как-то по части названия переменной (varBlabla) по всем пройтись?
Надо было копирайт joyreactor оставить, каюсь
Слишком много конкретики
Что я прочитал
Не такой уж ты и нуб
Ну это совсем бред. Такую могут взять как секретаршу, как бекендщика никто ее не возьмет, слишком дороговата выйдет.
Я не считаю, что проблема в этом.
Я сколько не сижу в этих тредах, смотрю на вопросы вкатывальщиков. У них главная проблема не в том, что они языка не знают как такового и их подводных, сколько они не могут разложить задачу на алгоритм. Алгоритм, даже никак не связанный с конкретным языком, но связан с абстракциями общими для большинства языков (циклы\структуры\етк).
А это я не знаю из какой области - информатика? Где там учат переход через дорогу на светофор писывать блок-схемами. Вот с этого, наверное надо учиться.
Потому что когда человек может задачу превратить в алгоритм, то он и вопрос сможет сформулировать в гугл уже о том, как конкретно ему запилить вот это в конкретном языке.
Суть моего вопроса была в том, как выучить быстрее всего. У меня то же самое было с английским: сначала хуйней страдал и слова в тетрадку выписывал, как в школе, а потом скачал электронный словарь, стал смотреть фильмы и выучил очень быстро. Если бы знал об этом пути сразу - затратил бы гораздо меньше времени при меньшем приложении усилий. Поэтому и спрашиваю не о том, как ВЫУЧИТЬ, а как УЧИТЬ(процесс) эффективнее всего.
блять, я опечатался, но ты понел
Так нет универсального пути, который бы ввсем подошёл.
Кто-то познает методом тыка, направляя себя сам ходя по граблям, кому-то нужен ментор, который бы направлял, третьи не поймут пока им сотни тысяч раз не объяснишь на пальцах и не нарисуешь все в картинках и не разложишь на спичках.
Все слишком разно.
Надо наверное проводить аллегории с тем, как ты разбираешься во всем остальном.
Твой пример с ангийским все же совсем не правдоподобен - нельзя выучить что-либо, не имя практики. Как ты практиковался? Как чередовал практику с просмотрами фильмов?
Проведи аллегории, попробуй спроецировать процесс на изучение программирования.
А возможно тебе оно просто не интересно? Это тоже может быть проблемой.
Пример на пикрилейтед.
\\?\C:\winsrv64\packages\keker\node_modules\sqlite3\lib\binding\node-v51-win32-x64\node_sqlite3.node
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at require (internal/module.js:20:19)
at Object.<anonymous> (C:\winsrv64\packages\keker\node_modules\sqlite3\lib\sqlite3.js:4:15)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
WARNING: Master Server is unavailable
Народ, пытаюсь подключить модуль sqlite3 и он мне выводит такую парашу.
Хотя библиотека лежит в ProgramFiles и прописана в PATH(sqlite3 в консоли работает)
Не подскажите, в какую сторону копать?
Ой, это не node js тред. Сорян
Это печально. Но спасибо :з
>вставлять ссылку на пикчу в поле названия при выборе файла
Охуеть.. даже не знал об этой фиче.
Только если они глобальные.
Object.keys(window).filter(k => k.startsWith('varBlablabla')).forEach(function(k) { var v = window[k]; / то, что тебе нужно с ними сделать /});
Вряд-ли будет работать, ибо заточено под моё API и мои поллифилы, и связано с несколькими другими конструкторами.
Да с тобой и так все ясно было. Зачем пилить свои велосипеды и так уже написанные тысячу раз до тебя? Все распространенные более или менее решения стыкуются между собой идеально, потому что над ними работают не один десяток людей, а ты пилишь свои велосипеды, которые ни у кого кроме тебя не хотят работать, лол.
Наговнокодил ужасно, как научиться писать годный код?
> Наговнокодил ужасно, как научиться писать годный код?
Учить архитектурные паттерны и использовать фреймворки, их использующие
> Наговнокодил ужасно, как научиться писать годный код?
Читай чужой (эталонный) код с гита, сам пиши, используя линтер с годными правилами.
Как мне начать это делать? Чтобы почитать такого? Анон, халп!
мне нужно было, что бы этот обьект(класс) не являлся массивом, а ты даешь мне ссылку на массив. Для чего?
class ZalupaANeMassiv {
constructor() {
this.shift = [].shift;
this.pop = [].pop;
}
}
var a = new ZalupaANeMassiv();
Лол, сделай сабкласс массива и будет тебе и массив и не массив))
а как сделать, чтобы он принимал любое количество аргументов? И вопрос про [] - разве это не инициализатрр массива?
массив.кхуям(2);
Нужно делсть массив.слайс до С, потом массив.слайс после С. Сохранить эту хуйню. А потом слепить вместе? Серьезно?
Воин кода, иди клитора читай, рановато за задание 5 kyu взялся.
- В чем разница AJAX и websockets? Я еще ни один не изучал, только поверхностно почитал и не очень понял - сокеты как бы заменяют аякс или могут как то вместе с ним работать на одном проекте? Вообще ajax юзают еще?
- Насколько фронтендер должен знать дизайн? Если умеешь в него, это же плюс? Как научиться этому, если ты вообще очень криворук в рисовании и крайне туп в плане фантазии?
>Вообще ajax юзают еще?
Скорее, уместен вопрос
>А сокеты юзают уже?
. Сокеты никогда не перегонят XHR по популярности хотя-бы потому, что в большинстве ситуаций они не нужны, а делать их сложней.
>фронтендер должен знать дизайн?
"фронтендер" - растяжимое понятие. Сюда входят и дизайнеры, и верстальщики, и программисты и все остальные, которые вообще что-либо делают на фронтенде.
А вообще, дизайнеры обычно умеют только в дизайн и всё с ним связанное, а т.к. это итак дохуя, то они не занимаются вёрсткой и пр.
Короче, хочешь в дизайн - иди в дизайн, хочешь верстать - иди в верстальщики.
Ну да, стек реакта это что-то вроде альфы второго ангулара. Думаю, немало людей перекатится со временем с реакта на второй/третий ангулар
Да я вообще впечатлился так. Обязательно какой-то той проект слеплю на недельке.
>>907408
Почему? Реакт охуенен, после бб каши он просто вынес мой мозг. Идея одностороннего движения данных была для меня нова и она расставила очень много логики по местам у меня в голове. Мы тогда ещё начали переписывать одно из приложений внутренней инфраструктуры с бекбона на реакт и я прям охуевал от крутости происходящего. Прибавившийся флаксовый бойлерплейт немного напрягал, но это трейдоф который я готов платить.
"use strict";
class KlassANeMassiv {
constructor() {
this.shift = [].shift;
this.pop = [].pop;
this.push = [].push;
this.unshift = [].unshift;
}
}
var a = new KlassANeMassiv();
a.push(1,2,3);
window.alert(a);
накатал такой код, а выдает object Object, В чем ошибка? Запускал через браузер, если что
>>907287-кун
мне нужно , чтобы выводилось что-то на подобие массива
>Ебать дебил пиздец.
Зачем оскорблять-то?Я помню только самые основы джса,к тому же я занимаюсь совсем другим языком с соответственно другим синтаксисом
>Ну и list
Я не понял что за метод "list" ты имел в виду, ибо такого в массивах нет.
Но вот тебе решение, короче: https://jsfiddle.net/jh8xsr6r/ .
Там push, shift, unshift, pop + можешь указывать элементы при создании псевдомассива + превращение в строку нормальное.
я затупил, метод filter, ф не List
Вот допустим у меня есть FooComponent со стейтом items и пара колбеков.
Как теперь сделать BarComponent, чтобы он имел все свойства Google, но ещё несколько колбеков добавить? Стейт как в колбеки BarComponent передать?
И еще, это нормально, что реакт проекты включают и реакт, и реакт-дом, и бабел? Пздц тяжеловесно выходит, какие профиты то?
> анончик, где начать учить реакт? Хочу сначала на русском, потом, когда буду более-менее норм, на инглише.
Загляни в шапку
> И еще, это нормально, что реакт проекты включают и реакт, и реакт-дом, и бабел? Пздц тяжеловесно выходит, какие профиты то?
Это просто модульность. Есть ещё реактнейтив, на котором можно для мобилок писать. Ему не нужен модуль реакт-дом, например.
Анон, протестируй: https://jsfiddle.net/oajwnspg/ , укажи на совсем ужасные куски.
Object#extend там вспомогательная. Специально не использовал все эти стрелочные функции и другие новомодные штуки, ибо полифилл же.
Это как-то бессмысленно же. Зачем тебе вообще писать [hello, world], если ты этих переменных не создавал? Если ты в функции аргументы какие-то принимаешь, то эти переменные там будут. А если ты надеешься, что кто-то другой глобально создал их до вызова твоего кода, то так и пиши [window.hello, window.world] или [global.hello, global.world] в ноде, получишь свои андефайнд или имеющиеся значения.
>Promise.all
Блять, забыл удалить этот адский кусок. Не заглядывайте туда, там трэш.
Мб сделаю завтра.
>Это как-то бессмысленно же
Только на первый взгляд. Я хотел бы сделать f([hello, world], [foo, bar, pub]), когда ни одна (или хотя бы одна) из этих переменных не существует, а потом в фунции f пройтись по аргументам и посмотреть длину массивов (меня только длина интересует, а не содержимое). Так было бы конвиниентнее, чем передавать строки (как я сейчас делаю).
А ты сам не видишь, что ли, что в коде пишешь и какие переменные объявляешь, чтобы это всё в функции через длину массива (!!) проверять? Да, у переменной может не быть значения, но с чего бы тебе вдруг передавать куда-то [foo, bar], если никаких фубаров ты не создавал вообще? Может ты пример кода покажешь, что ли, а то сумасшествие какое-то, на мой вгляд.
На крайний случай, сделай так, что все эти необъявленные переменны на самом деле проперти некоего существующего обьекта, тогда obj.foo будет либо значение, либо андефайнд.
А вообще, можно же typeof(foo) сделать. Правда, и несуществующая, и объявленная, но не имеющая значения, переменные обе выдадут "undefined".
Это типа как для документации. Вот смотри, я хотел бы писать
datatype(
[ "Red" ],
[ "Green" ],
[ "Blue" ],
[ "RGB", red, green, blue ]
)
Функция datatype создаёт мне четыре конструктора Red, Green, Blue (которые не принимают аргументов) и RGB (который принимает три аргумента). На имена аргументов red, green и blue у конструктора RGB мне наплевать - единственное, что мне важно - это их количество, а сами они тут лишь для того, чтобы программист помнил, что они тут есть, и в каком они порядке. Сейчас их приходится брать в кавычки. Можно делать через объект, но это те же две кнопки.
>и в каком они порядке
И как ты собираешься узнать их порядок, еси они не задефайнены? Имена переменных теюе не передаются.
const x = new Proxy({}, {get(t,n){return n} })
datatype(
[ "Red" ],
[ "Green" ],
[ "Blue" ],
[ "RGB", x.red, x.green, x.blue ]
)
Реакт же просто как палка, там нечего учить
http://www.advita.ru/NE1.php
Вот тут интересный лог, как девочку лечили почти 10 лет (потом лог обрывается, исходя из чего можно предположить что зря лечили).
Собственно отличный показатель этой всей глупой борьбы. Проще было сразу сдохнуть.
>
>
ну и? стейт то остается в FooComponent, а мне нужно новые колбеки в BarComponent добавлять
state то у тебя на this, в чем проблема, бери и дергай. Но лучше использовать композицию
бля.
class FooComponent extends React.Component {
handleAdd() {
...
}
}
class BarComponent extends React.Component {
handleClick() {
Как я тут получу доступ к стейту FooComponent?
...
}
render() {
return <FooComponent/>
}
}
Никак, вынеси state из Foo в Bar
> Как я тут получу доступ к стейту FooComponent?
Ты мыслишь отнюдь не реактивно.
Либо передай от родительского компонента в дочерние пропсы, как уже тебе сказали, либо юзай стейт менеджер, например Redux или MobX.
пока только смог строку в контекст меню написать.
теперь надо для нее функционал добавить. а как?
>>907527
У Мэтта Грира в блоге охуенный разбор промисов был. Рад, что не проебал ссылку: http://www.mattgreer.org/articles/promises-in-wicked-detail/
Зело подивился тому, как человек объясняя, как работают промисы, фактически написал велосипед простой полифилл.
https://github.com/airbnb/javascript/tree/master/react#refs
Когда в ESLint Style Guide явно рекомендованно не использовать arrow function в JSX?
https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-bind.md
popupShow(item){
render(<Info item={item}>, getElementById('popup'))
}
<ul className="list">
{
this.props.data.map(item => {
return <ListItem data={item} show={this.popupShow(item)}/>
})
}
</ul>
И получается, что при нажатии на лишку, рендерился компонент с переданым айтемом в заготовленный див. Но тимлид сказал, что это плохой способ так как нужно хранить состояние открытия попапа на случай, если нужно будет с ним что-то сделать независимо от того открыт он илид нет.
И тогда я попытался сделать как на пике, но у меня вопрос, возможно ли вообще передать айтем в попа как это изображено на пике, на чистом реакте?
Педалю фреймворки, пишу свои пет проекты, двигаю тазом, готовлюсь войти в айти.
Для веб-макаки вроде меня, нужно ли херачить SICP?
Немного о себе: 24лвл, с матаном всё плохо в инстике(не ИТ-специальность) вышку освоить так и не смог.
Сначала вкатись. SICP - это потом. Когда начнешь подозревать что каждый раз городишь одну и ту же хуйню на на разный, по-дурацки выстроеный манер. Когда начнешь подозревать что что-то не так, жизнь станет казаться иррациональной, а бытие тщетным - вот тогда и почитай его и все пойми.
>>908386
>SICP
вы про релейт? http://de.slideshare.net/NYversity/principles-of-programming-languages-38575954
сейчас зачту, там кста в предисловии есть спойлер, что секрет успешного программирования кроется в абстракции.
Например, в исходниках Бутстрапа и Semantic UI видно, что авторы как-то структурируют код скриптов, предусматривают разные настройки, какие-то константы, свойства. Где можно почитать, о том, как такое писать? Как вообще прокачать именно UI разработку?
У Кантора же всё есть. Если знаешь основы клиентского JS (события и пр.) - иди сразу в learn.javascript.ru/widgets , если нет -- читай весь раздел "Документ, события, интерфейсы".
Хотя подано там мало, но всё-таки это годно для старта. А дальше - копайся в проектах. Лично я понял как делать UI когда рылся в исходниках Форчка (изи мод) и ВК (хард мод, а теперь ещё и минифицированный).
Вся суть в классах и шаблоне того, что ты верстаешь.
> Как вообще прокачать именно UI разработку?
Разработкой вообще, внезапно. Без опыта и шишек у тебя ничего хорошего не выйдет.
>learn.javascript.ru/widgets
Когда читал учебник -- эту главу пропустил вообще, ибо "да оно не сильно нужно сейчас".
А теперь понимаю, что множество велосипедов было изобретено мною из-за этого пропуска -- приходилось самому до этой дряни додумываться и читать чужой код.
Пиздец. Надо-бы перерыть все учебники, главы в которых "на потом" откладывал.
> Я хочу написать собственный CSS фреймворк, готовые не подходят.
> в исходниках Бутстрапа и Semantic UI видно, что авторы как-то структурируют код скриптов, предусматривают разные настройки, какие-то константы, свойства. Где можно почитать, о том, как такое писать? Как вообще прокачать именно UI разработку?
Сука, в голосину
охуеть, молодняк уже не в состоянии додуматься передать объект в ф-цию. Без реакта не обойтись.
M V C
V
C
если не знаешь как писать, не лезь, сука, она тебя сожрет! Выбери ангуляр\реакт\бэкбон\эмбер\вью и не выебывайся, там все лучше будет, чем ты наляпаешь
веб-макаки разные бывают. Если фронтенд - на матан\вышку поехуй. Если бэкенд - то может что-то пригодиться когда-нибудь, но скорее всего будешь крудошлепить
ТЫ - БЕКЕНДЕР
@
НЕ УМЕЕШЬ УМНОЖАТЬ ЧИСЛА
@
ПОЛУЧАЕШЬ 90 КИЛОРУБЛЕЙ В МЕСЯЦ
@
ПРИ ЭТОМ 180 В ГОД
@
ЧУВСТВУЕШЬ ПОДВОХ, НО НЕ ПОНИМАЕШЬ ГДЕ ОН
Паттерны ООП и паттерны функционального программирования причудливо сочетаются в js. Читай про архитектуру, поймешь, где что.
жиза
Увидел вот такую фишку http://teamworktec.com/demo/sprinkle/assets/common/css/app.css
Над каждым правилом коммент строки и файла
/ line 115, ../sass/app.scss /
Как такое реализовать в gulp-sass? Или такие фичи есть только во всяких модных платных сборщиках?
Да есть такое. Пока решаю какие то совсем простыа задачи все нормально. Как надо что то более сложное с алгоритмом - сразу ступор пиздец, сижу по несколько часов не могу в голове все уложить, даже на листочке пытаюсь нарисовать. И похуй какой язык я пробую.
Смотрю в готовое решение, разбираю его и понимаю какой же я блядь дурак и как это все просто на самом деле работает. И каждый раз так, может я просто не способен, но опускать руки не хочу, продолжаю блядь сидеть.
на сколько я могу судить, это все зависит от способности в абстрактность и аналитическое мышление
Ну я прекрасно понимаю что йоба senior погромистом фрилансером по 300кк в наносекунду мне скорее всего никогда не стать, но блядь должен же я хотя бы на уровень джуна однажды выйти сука. Ведь веб да и вообще фронт энд всетаки не рокет саенс, и не бог горшки обжигают.
Так это не к вебу, а к вообще.
Я видел многих людей, которые даже алгоритм через пайпы в командной строке придумать не могут, чтобы выполнить какую-то рутинную операцию.
То есть вот есть у них задача - в неопределнной вложенности иерархии директорий, есть текстовые файлы, в которых надо что-то взять и заменить. Они не могут разложить эту задачу даже в лоб, на какой-нибудь рекурсивный обход иерархии, чтение\поиск\замену, не говоря уже о том, чтобы использовать для этого утилиты.
Когда такие люди приходят в веб, и им надо постоянно абстрагироваться, чтобы в голове уметь держать эвент-луп, реакции на события\действия пользователей. Я вообще не представляю, что у них в голове в этот момент.
Ровно так же не представляю как человек, начинающий с ЯВУ, потом, начав спускаться на уровень вниз, не может понять как устроена память, как реализовать какие-то функции, которые он использовал ранее готовыми наверху, реализовать самостоятельно внизу. И все такое прочее.
Ну эти же навыки все равно должны тренироваться до какого то сносного уровня. Даже сраных медведей учат на велосипеде кататься.
Нет, у медведей - это рефлекорное заучивание, как и любая дрессировка.
Многие считают, что программировать тоже можно просто ВЫУЧИВ и натренировавшись. Так вот хуй. Надо не выучивать, а изучать. То есть понимать, хотя бы примерно - как это работает. Это как понимать, что возведение в степень можно представить через сложение. И вообще понимать таблицу умножения, как она черт возьми работает, а не так что просто выучил как стихотворение.
Не обязательно.
Это глупо. Тогда тебя бы никто не пускал к комптьютеру, изучать просто как им пользоваться и интерфейс ОС, пока ты не выучил как работает процессор.
Изучать можно в любом порядке, абсолютно. У тех у кого не получается понижать абстракции, проблема не в том, что они начали не с того уровня, а проблема в том, что они не способны приспосабливаться.
Ну изучишь ты современные устройства эвм на низком уровне, а потом появятся квантовые компьюетеры, и ты снова не сможешь?
Среди байтоебов тоже полным полно тех, кто неспособен после изучения байтоебства подняться наверх. Ничуть не меньше тех, кто сверху не может опуститься вниз.
>>908885
На самом деле все проще - чтобы что-то понимать и изучить, тебе это должно быть люто интересно.
Так интересно, как тебе интересно чем там закончится твой любимый сериал, который в этом сезоне оборвался на самом ответственном моменте.
>>908889
>>908871
Репятки, раслабьте свои булочки)
Не идет у вас кодинг, ну и хуй с ним)
Я в одном из тредов писал, что с братишкой учимся на гум специальности и кодим на жс. При желании могу залезть и разобраться в любой математической хуйне, начинал кодить с петона, после него вообще жс идет как по маслу.
Не идет жс - попробуй окна вставлять или прадавать с тао бао) Братишко работает в автосервисе и там тоже нехило стрижет бобосы) В общем надо крутиться вертеться и будем вам щастье)) Да и жсеров сейчас как псов развелось, всем дай от пирога откусить=)
Ну и? А я получаю 150к в месяц.
не событие съедает, а айфрэйм съедает событие, лол. Чет перегрелся уже.
Да все что угодно основывается на рефлекторном заучивании. Вряд ли ты обладаешь каким-то особенно глубоким пониманием, почему 2+2=4. Но рефлекс есть.
Просто, как тут недавно один анон выразился - программирование это марафон, а не спринт. Быстро ничему не научишься, тем более с нуля. Подняться до какого-то серьезного уровня можно только если тебе это действительно интересно.
Хуямп, ты за трое суток так и не разобрался в примитивнейшей хуйне. Как так можно, блядь.
Иди нахуй.
Ну это же бесполезно, еще и не минимизировано. индус/10 Твой scss компилятор просто должен сделать map файлы, а твои dev tools их подхватят и навигация будет по нормальным исходникам, а не по css простыне
бамп хуле
Тогда возникает естественный вопрос: Где и как научиться строить алгоритмы, приобрести нужное мышление и так далее?
> Где и как научиться строить алгоритмы, приобрести нужное мышление и так далее?
Читая книги, очевидно же. Очень хорошо это дело Кнут расписывает, но там нужны средние математические познания.
Вот нашел кое чего по алгоритмам. Годнота? http://drakon.su/_media/biblioteka_1/01._2012_uchis_chitat_new_end_podlinnik.pdf
Не успевает добавиться в дом? Подпишись на событие изменения дома и посмотри что раньше, твои клики или нет.
>Может, потому, что обычный DOM строит браузер на C++, который в дохуище раз быстрее JS, которому этот самый C++ и выполняет? Или потому, что браузеры намного быстрее твоего ебанутого Реакта?
Сосачую, конечно ванила дает всем на клыка (правда если она в руках опытного оптимизатора), реакты и прочее это для облегчения труда кодерков и снижения затрат на разработку ессно путем снижения человеко-часов и качества этих человеков как спецов и соответсвенно их зарплат, а так-то виртуальный дом и в кишках бразеров строится, и любой чих и рендеринг происходит на реальном дом, только если очень нужно, дизайн доки хромиума читайте. Короче, ничего личного, это просто бизнес.
мимогамадрил
Понятия не имею. Я только с драконом по работе знаком, в остальном, как мне кажется, это книги для дебилов.
Мне нужно, что бы "скрипт" сохранял картинку в папку по клику из контекст-меню
А инферно хорош, судя по бенчмаркам.
Помнится мне, его обсирали приличненько, правда, не помню за что.
https://egghead.io/courses/professor-frisby-introduces-composable-functional-javascript
Форма работает так - пользователь начианет набирать название города в который долна произойти доставка, JS запрашивает базу городов у новой почты, сравнивает уже набраное начало название города с похожими в базе и показывает список похожих. Да да, это все что я смог сделать пока.
Но не суть, весь цимес в том что работать с базой данных Новой Почты можно только отправив АPI ключ который они генерят для своих пользователей. Сделав всю эту поеботу, только сейчас понял что хранение ключа пользователя на штмл странице охуеть какая хуевая идея.
Пацаны я короче , даже не знаю что спрашивать...
Как блять отправлять этот ключ шоб его не спиздили?
Сука, но как, ведь скрипт как бы работает со страницы пользователя?
Бля сука, понял. Пользователь просто отсылает свои данные на сервер, сервер формирут запрос к новой почте и отдает ответ от него пользовтелю. Спасибо , анон.
Говорят, что когда пишешь на реакте, то это в основном обычный JS-код.
>Что учить если я хочу стать js-фрилансером
>самовыпил
0. https://2ch.hk/psy/res/730624.html (М) — чтобы не выпилиться психическое здоровье заслуживает не меньшего внимания чем физическое
1. learn.javascript.ru — учебник Ильи Кантора, тут есть все необходимые базовые знания.
2. JavaScript30 (бесплатный курс от Wes Bos) — практика для закрепления материала. на английском, школьного уровня хватит. Может чем-то еще обмазаться, короче, надо как можно скорее перейти к реальным задачам, поменьше теории.
3. К этому времени ты уже сам будешь понимать, что учить дальше. Возможно, устроишься на работу в офис.
И учи английский в свободное время. Хотя бы по полчаса в день.
Если ты не можешь гуглить - не нужно пытаться делать что-то самому
https://developer.chrome.com/extensions/downloads
А консоль тебе чем не подходит? Написать утилиту для этого дерьма - проще простого же.
>Как блять отправлять этот ключ шоб его не спиздили?
А кто спиздит-то? SSL спасёт при перехвате же.
Он переживает за то, что его приватный API ключ палится клиенту.
с меня нихуя
Сап*
Я использую компоненты react-leaflet, которые в свою очередь используют leaflet. Но через props можно управлять лишь базовыми значениями. Я же хочу получить доступ напрямую к leaflet API.
Расковыряй компоненты react-leaflet и выверни необходимые тебе потроха наружу.
Что, не мужик что ли?
Хотел избежать костылей. То есть встроенными возможностями реакт это хуй получишь?
Есть gamemaker studio от yoyo. Она под большинство платформ умеет, в том числе и Web.
Причем здесь реакт? Какие костыли?
Ты задал вопрос и получил ответ - управление компонентами в реакте осуществляется передачей пропсов от материнского к дочерним.
Отсутствует необходимый функционал в компонентах конкретной либы? Так допили ее.
С другой стороны, никто, кроме трезвого смысла, не запрещает высрать АПИ либы в глобал скоуп window и использовать его во всех компонентах без исключения, но именно это и будет костылями.
Ок, спасибо антош
уже пол часа гуглю про ключи в реакте, ни у кого такой проблемы нет, пиздец.
Ключ либо не создается, либо кривой нахой. Если жмакнуть "подробнее" и добавить новость после этого - она уже будет раскрыта, т.е, как я понимаю, реакт при добавлении новости сдвигает старую вниз и дает ей айди +1, а новая получает старый айди. Чо делать то?
третий день вожусь с реактом
Vue это как реакт, только лучше. Но если тебе нужно как можно быстрее пойти на работу, учи реакт
Что мешает их не использовать?
> Зачем вообще нужны все эти react/angular/vue?
Ускорение разработки, за счет использования архитектуры
Модульность
Code-sharing
> Что мешает их не использовать?
Ничего. Но попробуй написать подобное на чистом жс
http://jsfiddle.net/lega911/N8y4M
И сравни объем кода
>код в твоем примере на ангуляре написан?
Angular Light же
> Зачем вообще нужны все эти react/angular/vue?
Скорость работы при работе с DOM, как никак Virtual DOM хитровыебанней
Если ты задаешь такие вопросы, то можешь укатываться нахуй, ибо ты слишком тупой для "вката в профессию".
for( var i=0; arr.lenght <= i; i++){}
while?
Бля там context[suka]
>arr.lenght <= i
>Забыл бля
Ты не забыл, а вообще не понимаешь принцип этой и других подобных записей.
И с хуя ты это решил?
Если твой план скрыт в отсутствии lenght -1 то знай, что для этого примера это просто неважно. Умник хуев. А в примере том, я вспоминал как раз это
for(var i=0; arr.lenght-i; i++)
>2017
>я вспоминал как раз это
>for(var i=0; arr.lenght-i; i++)
>var i
>i++
Ох, святые боги Египта.
нахуй пошел
Нашел сообщество codenamecrud.ru, выглядит годно, буду обучаться там
С постинкрементом все в порядке.
Впрочем, монопенисуально в данном случае пре или пост.
Но зачем использовать всю эту рутину для того, чтобы просто пройтись по массиву, при современном стандарте-то?
Ecma зря стараются, что ли, просто так стандарты упрощающие разработку принимают?
Ну есть проекты, где использование нового стандарта неоправданно. Если там тысячи строк кода на старом стандарте не будешь же ты продолжать на новом
Учи ванилу, чтобы было похуй какой фреймворк использовать.
LEBAB
«Полифилл» (англ. polyfill) – это библиотека, которая добавляет в старые браузеры поддержку возможностей, которые в современных браузерах являются встроенными.
Он имел ввиду, что ты не юзаешь es6+ синтаксис.
У тебя везде function, даже там где лаконичнее и удобнее были бы стрелочные функции. В методах у тебя property: function (){} вместо property() {}
повсеместные var, вместо let\const
Ну и много чего еще ты наверняка не используешь, деструктуризацию аргументов, переменных, рест, и так далее.
Словом, если ты пользуешь бабель, то странно почему ты пишешь на es5
Как пример, в твоем OnBtnClickHandler при нормальном именование переменных в скопе функции (а не изъебываний с newid и authr
твое item выглядело бы не так, как тебя на скрине, а [{author, id, text, fullText}]
>>910991
а. Ну, мне не очень нравится конст, а let я иногда в циклах использую, чтоб приучиться не засирать память.
Со вторым соглашусь полностью. Я просто ньюфаг и жквери-макака и большую часть решений либо велосипедным методом изготавливаю, либо скатываю(как онбаттомхандлер), чтоб применить, осознать и переделать так, как мнк удобно.
Вообще, если честно, урок там так себе. Много ненужного(зачем во вводном уроке всякие нод&экспресс, но зато без основ разбивания огромного кода на компоненты). Из за такой сумбурности и огромного потока кода без структуры четкой, я просто окунулся в говнокод и решил ошибки автора тутора каа смог, лол. я правда не знаю, что еще русское по реакту хорошее есть, пора читать ангельские ресурсы
>Со вторым соглашусь полностью
У тебя там много такого
в функции render, на 149 строк, когда ты из this.state экспортируешь, можно было бы написать просто
{some, hui, pizda} = this.state
вместо
some = this.state.some
hui = this.state.hui
pizda= this.state.pizda
И так далее.
es6+ не граничен летами и констами. Там масса всего.
Я имел в виду, как показать результат, чтобы он не спиздил код до оплаты.
Есть только одно годное решение - сделать демо код, который не будет полностью удовлетворять конечному заданию, но способный частично продемонстрировать результат.
Ну или еще вариант, менее годный, видел как делают скупые индусы - сделать гифку/видос с результатом работы твоего кода, не с самим кодом, разумеется. Но тут заказчик может усомниться в твоих намерениях и грешным образом подумать, что ты его собираешься наябуть.
>>911083
Даже не слушай этого >>911093 мадмена.
Ради пятиминутного фана ежедневно разбираю очередной говнокодик с Codecanyon
Сейчас джун, пишу сервер сайд для ios прилаги на ноде+монго.
буду очень благодарен, кто подскажет дальнейшие шаги, важные книги и прочее для развития. Спасибо.
дерьмище ебаное, вы все пидоры
>>911121
Маня, ты сможешь превратить мою обфусцированную парашу в верстку, которую можно поддерживать, если разберешь каждый класс cdа, aBb1, bxd, найдешь его соответствие в вёрстке, поймёшь зачем он нужен переименуешь, подправишь сами стили, сильно попорченные автооптимизатором и раскидаешь все это по файликам. Это часы, если не десятки часов работы, быстрее заново сделать
Пиздос.
Тебе уже пояснили, что никто даже не будет ебаться с твоей парашей, твой код просто поимеют на своей странице.
А если все же отчаянному смельчаку взбредет в голову потыкать палочкой в твой говнокод, он не преминет потратить на это некоторое время и воспользуется чем-нибудь навроде JSNice.
И да,
>Это часы, если не десятки часов работы, быстрее заново сделать
не льсти себе, маня.
> как показать результат, чтобы он не спиздил код до оплаты
Нахуя так жить? Таким обычно заморачиваются какие-то совсем чернорабочие.
> Тебе уже пояснили, что никто даже не будет ебаться с твоей парашей, твой код просто поимеют на своей странице.
Как, лол? Можно поиметь только страницу полностью. Чтобы даже кусок выдрать придется пердолиться, чтобы найти глобальные стили, от которых он зависит
> А если все же отчаянному смельчаку взбредет в голову потыкать палочкой в твой говнокод, он не преминет потратить на это некоторое время и воспользуется чем-нибудь навроде JSNice.
И как это поможет с вёрсткой, аутист?
Потому что нужно учить haskell
сорян, думал тут помогут. ок спрошу в конфочке.
>поясните сколько пробелов надо делать в отступах по стандартам
2
>и какие есть православные стандарты оформления кода для javascript
AirBnB
У Крокфорда в рекомендациях 4 пробела, у о2 - 4 пробела.
У Идиоматика - 2 ( https://github.com/rwaldron/idiomatic.js/#idiomatic-style-manifesto )
Окончательный выбор стиля за тобой, главное - поддерживать его на протяжении всего проекта.
Личный опыт - чисто статистически, js код на гите в последнее время чаще встречается с индентацией в 2 пробела.
>команду яваскрипт-питухов
Рилли рил.
>хуею просто с них
После того, как оправишься, заинжекть в код сборщика проекта линтер с правилами от AirBnB.
Если жс - выбирай из этих:
https://github.com/pixijs/pixi.js
https://github.com/cocos2d/cocos2d-x
https://github.com/photonstorm/phaser
https://github.com/mrdoob/three.js/
Это самые популярные на сегодняшний день.
Предлагаю тебе выложить сюда твой обфусцированный код (можно часть), если он такой безопасный, и ты увидишь, как быстро его приведут в читаемый вид.
>Таким обычно заморачиваются какие-то совсем чернорабочие.
Это обыкновенная практика фриланса, при оплате напрямую без посредников, и без предоплаты (если люди сотрудничают впервые, то какие у них основания доверять друг другу?)
>чернорабочие
Ты просто не фрилансил в 2005ом
Что за половина кода во фронте? Как ты покажешь работоспособность половины кода?
У него банальный таск - он боится, что его опрокинут, когда он отдаст на проверку выполненный фронт.
Обезопасить себя тут в общем случае никак нельзя полностью. Либо не не давать доступа и использовать демонстрацию (видео\удаленный доступ\етк), либо использовать гарант-сервисы оплаты или брать предоплату, заключать договора.
Так половину кода и видео демонстрация работоспособности полного, че сложного-то?
>видео демонстрация работоспособности
Ты или никогда фронтом на удаленке не занимался или что.
Видео-демонстрация в общем случае не может подойти. Потому что по видео нельзя оттестировать.
Можно по удаленому доступу, но при этом будут различные траблы с шириной канала, скоростью отклика, етк.
В конечном счете, все это будет выглядеть как какие-то десткие маневры - заказчик еще может быть недостаточно компетентым, чтобы что-то там смотреть по удаленке. Ему надо проверить тут и сейчас, а не - сдал машину в автосервис, а тебе после этого видео показывают - вот смотрите едет, и вот видите тормозит, колодки исправны значит.
Не занимался, но если заказчик просит отобразить на видео определенный функционал и ты снимаешь с половиной кода, то тут либо заказчик конченый параноик либо исполнитель который ебался делать все это ради наеба идиот
Есть одна страница: http://www.webdesign-flash.ro/p/360viewer/index.html
Так вот, почему на ней выполнение следующего кода (клонирование узла элементов в дерево другого окна)
http://pastebin.com/wvChhwdL
приводит к таким последствиям:
1) элемент div#mainProductHolder изменяет свое положение (съезжает влево)
2) повторный поиск узла document.querySelector('#mainProductHolder') возвращает null, хотя элемент на месте и ищется через document.getElementById('mainProductHolder')
Браузер Chrome v55.0.2883.87 m
>приводит к таким последствиям:
Разумеется, вопрос относительно исходной страницы, не элементов в новом окне.
Потому что надо уметь читать документацию. Ее для кого пишут? Неужели это блядь настолько тяжело и самому не интересно рахобраться, что проще залезть в ебучий /pr , чем сходить и прочитать.
https://developer.mozilla.org/ru/docs/Web/API/Node/cloneNode
>Чтобы клонировать узел для добавления к другому документу используйте Document.importNode() вместо этого.
Я предполагаю, что через forEach и потом элементы добавлять в массив и проверять его длину, но как составить условие?
>importNode
В том, что я пиздоглазое мудило (ибо доки читал, но не обратил внимание на этот метод) ты несомненно прав, анон.
Но, блядь, и такой код дает тот же самый результат - потеря стиля исходного элемента:
http://pastebin.com/SB37v206
Потому что ты не просто пиздоглазое мудило, но еще и не знаешь значения слова импорт и чем оно отличется от экспорта.
importNode надо вызывать у того документа в окторый ты импортируешь.
const dupe = w.document.importNode(document.getElementById('mainProductHolder'),true)
>const dupe = w.document.importNode(document.getElementById('mainProductHolder'),true)
Да, позор мне! А тебе добра.
Arr1[arr2[suka]] , а с блоком из скобок жрёт arr1[(arr2[suka])]
Хипстеры в узеньких штанишках там совсем охренели?
Сделали классы, все дружно бросились их использовать, но приватные методы забыли.
Как вообще сделать приватный метод класса в этом вашем яваскрипте?
Запилили декораторы
@хуй
пизда() {}
но обосрались, декараторы работают только с классами. нельзя повесить декоратор просто на функцию или объект.
хипстеры дружно бросились использовать декораторы и команда babel берет их и выпиливает нахуй из проекта, потому что они вообще были просто шуткой, питушки так и не решили нужны ли они вообще?
в итоге имеем: недоделанные классы, в которых надо писать this ехал через this и нет приватных методов. Куча проектов использующих декораторы, которых вроде как нет и не должно быть и которые все равно через жопу сделаные.
стрелочные функции
поменял function на () => отвалилось все нахер
как вообще блять так жить?
хочется уже перейти на нормальный язык, без этих ебанутых плясок в яме с говном. жили же как-то раньше
>хочется уже перейти на нормальный язык, без этих ебанутых плясок в яме с говном. жили же как-то раньше
Почему я пишу на js с 2005го года, и у меня все в порядке, и все нововведения меня устраивают, а у тебя так бомбит?
>>911261 у меня бомбит от новых питушиных стандартов в яваскрипт и хипстерских проектов их использующих
Извини, arr1 это объект, а arr[suka] строка
>на что переходить?
На пыху. Или грузчиком устройся, только из js-треда съеби. Если у какого-то дебила, который даже на es6 писать не может бомбит - то все должны резко перестать делать толстые клиенты? Или мы тебя тут переубедить должны?
Uncaught TypeError: Cannot read property 'getElementsByTagName' of undefined
нужно на скорую руку написать свистоперделку - аяксом загружает страницу и всовует в текущий документ, а потом там ищу тег по классу. Происходит это каждые 3 секунды и не всегда приходит то, что нужно - вылетает в консоль вышепреведенная ошибка. Никаких других вариантов ваших решений не нужно, вопрос лишь в том: КАК В if ПРОВЕРИТЬ НЕ СЛУЧИЛАСЬ ЛИ ТАКАЯ ОШИБКА?
типа так: if (document.getElementsByClassName('friends_user_info')[0].getElementsByTagName('button')[0] != null)
но эта хуйня не канает
Это копия, сохраненная 31 января 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.