Вы видите копию треда, сохраненную 9 июля 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.
Часто задаваемые вопросы:
https://github.com/xxxwww/js-thread/blob/master/Wiki/faq.md
Список материалов для изучения:
https://github.com/xxxwww/js-thread/blob/master/Wiki/learn.md
Список инструментов и направления JS-разработки:
https://github.com/xxxwww/js-thread/blob/master/Wiki/tools.md
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.
Пацаны, такой вопрос.
Если я только вкатываюсь в веб-разработку, по сути хуй с улицы, без опыта, то каким должно быть мое портфолио? Сколько должно быть проектов и какого они должны быть калибра? И что вообще за проекты? Что-то уникальное самому придумать? Или можно просто запилить что-нибудь с видео курсов типа этого, например https://frontendmasters.com/courses/modern-web-apps/ и выложить на гитхаб?
Живу в Бриташке.
Пиши real-world аппы с использованием bleeding-edge технологий. Да хоть, блять, тот же интерфейс и бэкенд апы для работы с базой данных с клиентами.
Портфолио с решениями абстрактных задачек работодателю НИНУЖНЫ.
Можешь чуть подробнее примеры привести?
В том курсе, что я привел, запиливается апп для цепляния тэгов к репозиториям на гитхабе. Достаточно реал-ворлд?
Скрипт парсит страничку, достает все ссылки. Дальше открывает новую вкладку(переходит по ссылке), нажимает на кнопку, ждет 7 секунд, закрывает вкладку и дальше в цикле все это.
Или юзай ноду с phantomjs, или сделай два юзерскрипта, один для страницы с ссылками, второй для страницы с кнопкой.
Сделаешь одному скрипту запуск на http://site.name/links
А второму на http://site.name/link-1/buttons, например
Нутыпонел
А сделать это в браузере(greasemonkey) возможно? Ставить целый фантом жс ради одного скрипта не хочу
Ну я ж описал как это сделать в браузере. Greasemonkey, tampermonkey - это всё юзерскрипты
ифреймы.
Болезненный, ты сам то пробовал читать ту хуйню, которую ты называешь кодом?
Ты ебанулся? У нас в конторе за такую хуйню пацаны в жопу ебут
Таки прочитал, там байтоебство какое-то. Метода который выдирает тайтл в браузере так и не появилось. Они файл парсят.
Век живи - век учись.
Ну тогда присваивай какой-то переменной 0 при keyup и 1 при keydown, в чем проблема?
Проблема в том что событие хуярит каждую миллисекунду. Как можно вызвать его ТОЛЬКО ОДИН РАЗ? Просто вызвать один раз функцию при нажатии кнопки. Нажал кнопку - вызвалась функция. Один раз. Не сто блять, не ноль раз. Один. Зажал shift - событие вызвалось один раз. Зажал дополнительно alt - еще один. Это все что нужно.
Какое тебе дело сколько раз оно вызывается? Так удобнее, чем иметь два события, одно для нажатия, второе для удерживания
Как я понял, тебе нужно нажатие нескольких клавиш ослеживать? Для этого ещё keypress есть
>Какое тебе дело сколько раз оно вызывается?
Потому что не хочу хуярить быдлокод. Keypress не работает для шифта.
Mousedown вызывается только один раз. Почему я не могу так же сделать для клавиатуры?
есть пример hello world
https://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Hello World.html&label=All
такой же пример есть в apps/helloWorld.html здесь
https://cesiumjs.org/downloads.html
Однако, при запуске хелло ворлда на локальном денвере, текстура земли почему-то не загружается. Эллипс, судя по всему, создается (ибо он может заслонить солнце), но текстура на него не натягивается и он остаётся прозрачным. ЧЯДНТ?
Ты охуел? Это говнокод и велосипед.
Мне не нужно замедлять возникновение функции, МНЕ НУЖНО ВЫЗВАТЬ ЕЕ ТОЛЬКО ОДИН РАЗ. Как mousedown. Mousedown вызывается один раз нативно. В js действительно нет способа так же сделать с клавиатурой без всякой хуйни?
Почти везде юзается редакс, кроме всякого легаси.
Ты меня тут троллить еще будешь, тварь? Keypress проверяет нажат ли шифт, но он не вызывается при его нажатии.
>>768150
Это где такой метод? В jquery есть one, но он отвязывает метод. Что если нужно вмести с шифтом зажать альт?
Бля, дебаунс тогда. Нахуй иди в общем
keyup
Так вот. Я хочу спрятать эту функцию от посторонних глаз. Как это сделать? (алсо, с яваскриптом плохо знаком сам по себе) Допустим, я накидаю в файл левого кода. Где-то в середине файла будет эта функция, ок. А как спрятать ее вызовы в обработчиках? Я хз.
Далее. Мне нужна цепь обфускаторов, после которых код (который из 100кб превратится в 5мб) станет ковырять ну совсем уж проблематично.
В функции йобасекретный алгоритм, который посторонним лучше не видеть.
Алсо, http://www.freedomscripts.org/js-invis.html
Не работает. После него код нерабочий.
Просто блять понимаешь, я хз как быть. Писать на сях алгоритм и прикручивать его к барузеру? Это вообще возможно? А если код на си расковыряют? Блять, мне очень нужно скрыть этот алгоритм.
Йобасекретные алгоритмы выносят на бэкенд.
Обфускация не дает защиты, а просто затрудняет РАССЛЕДОВАНИЕ. Кому действительно нужно будет - поймет как всё работает.
>>768284
Зачем на си? Ты поехавший? Бог дал тебе ноду, чтоб ты мог свой код на жс практически не переписывая/не переписывая на бэк перенести
Никак, это особенности реализации плееров. Так они нагрузку на сервера снимают. Парсь ссылку и выкачивай wget'ом, если нужен оффлайн-доступ или ковыряй плеер
Видишь ли. Этот скрипт будет установлен в сотни браузеров. Как тогда быть? Мне не хочется держать сервер. Можно ли сделать на си локальный и чтобы скрипт коннектился к нему?
> Можно ли сделать на си локальный и чтобы скрипт коннектился к нему?
Можно, конечно, но куда проще самому поднять сервер. Пару баксов в месяц жалко?
Да и на сях куда сложнее писать веб-сервера, чем на ноде, насколько мне известно
Жалко. Это просто бессмысленно. Ну не на сях, на чем нибудь другом. Главное, чтобы было очень трудно получить алгоритм. Суть в том, что в функцию передается строка. И возвращается тоже строка. Как именно строка обрабатывается никто не должен знать.
Ну если ты будешь юзерам отдавать сервер, то его тоже рано или поздно вскроют, и это тоже небезопасно
Есть ещё фришные хостинги. http://hostinger.ru , например. Придется писать на пыхе, да, но зато бесплатно
ТАм всего лишь одна функция в 50 строк. Похуй что сервер взломают. Как это сделать?
> Как это сделать?
Что именно? Сервер для клиента? Это хуёвая затея, так как очень у многих может не работать. Файрвол, антивирусы и прочее прочее
Блядство. Похуй тогда. Как обфусцировать яваскрипт нормально? Хуй с этими серверами, фришными даже.
Внизу галки видишь? Я даже десктоп версию скачал. Но она тоже сука платная. Галки, точнее.
На твиче есть ссылка на аватар пользователя, например:
https://static-cdn.jtvnw.net/jtv_user_pictures/lirik-profile_image-b3ff7b706b3de124-300x300.png
Но если изменить размер на 600х600, т.е:
https://static-cdn.jtvnw.net/jtv_user_pictures/lirik-profile_image-b3ff7b706b3de124-600x600.png
то откроется изображение бОльшего размера, при этом если написать что-то более 600х600 выдают какую-то хуйню вроде ошибки.
Короче вопрос, можно ли так как-нибудь выкачать оригинальное изображение аватарка или нет?
Есть аппликуха с веб-мордой на ангуляре, есть страничка которая принимает с сервера массив объектов(там хитро сделано, есть типа отдельная фабрика которая использует переменную data) и отображает его в виде таблички, и надо прикрутить на эту же страничку график. Но бля, есть охрененная проблема - суть в том что во всех библиотеках построения графиков фигурирует массив c именем переменной data. И получается что этот массив перезаписывает в $scope эту ебучую переменную data, и данные сбиваются, нихера не работает. Пробовал кучу библиотек, пробовал переименовывать переменную, нихера не помогает. Што делать в такой дурацкой ситуации?
> всегда нужно во новый объект state
котаны, я правильно сделал ?
https://jsfiddle.net/gk4xgdpo/
https://jsfiddle.net/2ux9ddrk/
двач подскажи еще вот что:
как мне передать роуту /view инфу об эпизоде ?
точнее я знаю что могу в componentWillMount ее сделать action LoadEpisode и подгрузить его, а есть еще варианты ?
Сори за сумбур если че, 4 часа ночи
точнее как правильно сделать ?
В остальном es6 коде норм помогает с импортом/экспортом, а тут что-то не завезли.
Может есть редактор/IDE которые помогут мне расставить импорты в куче кода?
https://moikrug.ru/vacancies/1000026652
Просто пиздец, я не верю, что это они серьезно, в каждом абзаце какой-то пиздец. Может пиарятся так?
Постой, постой, дай-ка подумать.
То есть, говоришь, у тебя проблема в том, что ты не можешь работать с либами, строящими графики, из-за того, что в них используется переменная 'data'?
Ссук, как же я проиграл. Одна история охуительней другой, просто.
Код контроллера и фабрики которая вытягивает данные с сервера уже написан другим человеком, менять нельзя, надо на эту же страничку прикрутить график. Т.к две переменные(в фабрике и в либе графика) имеют одно и то же имя и МНЕ кажется что в скоуп данные перезаписываются, в любом случае нихера не работает.
Алсо что смешного, я в ангуляре и вообще жс не очень волоку.
Пробовал директиву, тоже нихера не работает. Засада кароч.
Ну на самом деле они не далеко от истины уши. Мне кажется что сегодня рядовому фронтендеру нужно знать и уметь больше чем сишнику.
Ты даун?
Большинство угловой используют из-за "скоупов", не используя другие возможности фреймворка. Он создавался для рендеринга на фронте, если что. И если у тебя есть бэк который рендерит там (на бэкенде) хтмл (а это в большинстве случаев так), и, если, с другой стороны, ты не используешь рендеринг на фронте, то этот ангуляр нахуй не нужен.
Сравнить, блять, новый уровень абстракции (с++) с ангуляром.
Просто, маня-новая-строчка-в-резюме, вместе с уебищным менеджментом, не могут в проектирование и вообще не разбираютс что это такое ангуляр и для чего он нужен. У них, мышление, одноуровневое: если это сделал гугл, то это добро, и нужно применять везде, где можно. Не надо так.
Как у тебя фабрика родительский скоуп может перезаписывать?
Пример задания:
1. "Based on this scenario please provide full program code (on JavaScript language) of max ()
function which returns max element of an input array
array - an input array of integer elements"
2. Табличку нарисовать в js.
Какие разделы нужно пройти на https://learn.javascript.ru, что бы осилить такое?
Пиздишь что, подумал, и этот алгоритм O(n) этого хватит, чтобы все охуели.
сложна
Бесплатные.
1. Тесты.
2. Английский
3. Собеседование
В условиях размыто написано про знание "основ" html/css/js. Вот я и в потеряхах.
Лол, ты в софтсерв чтоле пойти хочешь? У них такие тесты табличку надо не на жс сделать, просто сверстать
Ну, я был на этих курсах как раз, лол.
Тесты кстати мне были очень легкие, как и всем кто со мной в группе был, потому что у всех было по пару месяцев опыта работы как минимум хотя бы на фрилансе и хорошие знания базы. На английском будет интервью по телефону, на собеседовании будут спрашивать по всем пунктам резюме, также дадут листочек и бумажкой и попросят что-то написать, спрашивать будут менторы с курса и синиор макакич.
Мы потом сразу с первой недели начали хуячить алгоритмы BFS с обходом препятствий, затем начали проект на ангуляре, через полтора месяца всех перевели на проекты в компании.
Так что если тебе эти задания сложные, то лучше сначала пройди Кантора полностью и потом изи сможешь выполнить всё на 95%+, иначе не потянешь.
Спасибо за информацию. А что такое "Контор". И да у меня нет ни опыта работы ни систематизированых знаний.
А на каких именно ты был? Ui или фулл стак?
"Кантор"
Там два направления, на webui всё равно будет фуллстек, потому что вы будете бэкенд для вашего говна писать на ноде, в некоторых городах есть отдельные направления типа WebUI/Python Ruby, там вместо ноды пейтон или раби, вот и всё.
Я так понял они типо отбирают более менее способных ребят и бесплатно их учат?
Ну, они берут тех, кто уже что-то умеет нормально и подгоняют их знания, рассказывают про алгоритмы, оценку сложности, тестирование, паттерны, методологии, работу в команде и такое, скорее учат всему тому, на что обычно забивают хуи соло фрилансеры.
У нас половина группы были фрилансеры которые заебались и решили пойти в офис, но забивали хуи на тесты, ниасилили Кормена и в рот ебали скрамхуям.
Я его более - менее знаю, но не на уровне интервью
Если просто хочется подрочить функциональщину, то возьми лучше lisp или erlang какой-нибудь
Я его не выбрал, я работаю и буду работать на плюсах.
Но мне интересно поковыряться в чем-то новом по выходным. Не знаю, как жс подходит на эту роль.
Ну поковыряйся, раз интересно. Но это не на одни выходные. Я вот уже полтора года ежедневно ковыряюсь и каждый день что-то новое узнаю
Жс уже давно не только веб. Ты не то, что десктопные приложухи пилить можешь, уже даже микроконтроллеры программировать можно
Не спрашивал, но самый младший челик был второкурсником, остальные все старше 4 курса вроде как, магистратура и старше, так что около 22+ думаю.
https://www.freecodecamp.com/challenges/build-a-tic-tac-toe-game
Если кто делал, поделитесь опытом. Подкиньте советов, как сделать так, чтобы он сука думал, какой ход делать.
Более высокий уровень абстракции - меньше кода, быстрее скорость разработки.
Сишка и плюсы слишком сложные и топорные, шарп ограничен виндопарашей, а жс весь такой современный и простой
Ты забыл еще изоморфность, и, как следствие, портируемость. Если МК выполняет что-то более, чем алгоритм опроса каналов в/в и выдачи соответствующих сигналов, например, микро-сервер, то JS тут вообще выходит в первое число инструментов разработки. Кодовой базы - жопой жуй.
Да, кстати, реализация протокола Modbus от TooTallNate - та еще хуйня. Лучше Modbus TCP от dresende.
>Если кто делал, поделитесь опытом. Подкиньте советов, как сделать так, чтобы он сука думал, какой ход делать.
Ты писал когда-нибудь алгоритм по поиску кратчайшего пути в лабиринте?
Здесь подход похожий - поле игры суть двумерный массив. Ход игрока - значение в массиве. Далее NPC перебирает массив и, в соответствии с выбранной стратегией, делает ход, также выставляя значение в массиве, пока необходимая комбинация не будет достигнута.
Вот пример одной из стратегий игры в крестике-нолики:
https://4brain.ru/blog/крестики-нолики-3x3-еще-одна-стратегия/
Вы пизданулись JS в микроконтроллеры засовывать?
Это блджад из-за вас смарт-браслет, которому всего-то надо ничего, жрет батарейку как слон?
Си для вас слишком сложный - есть же Lua, Forth, PicoLisp.
Жду, когда JS интерпретатор завезут в промышленные RTOS ПЛК. Пусть ответственные участки кода типа снятия образа каналов ввода/вывода останутся на совести вендора (хоть ASM, хоть C), а вот логику и визуализацию я бы предпочел писать на JS. Такая-то годнота, non-blocking i/o, пока низкоуровневый код опрашивает модули, клиенты теребят по TCP данные и даже на низкопроизводительном железе не чувствуют лагов. И о МЭКе 61131-3 можно было бы забыть...
Кто тебе на любом другом языке мешает non-blocking IO использовать?
Лагов твои клиенты почувствуют когда твой JS решит мусор собрать.
>Ты писал когда-нибудь алгоритм по поиску кратчайшего пути в лабиринте?
Не доводилось.
Насчет стратегии, я вот думаю, может быть сделать так:
Первый ход канпутера после игрока - рандомная незанятая клетка.
Второй и последующие - клетки рядом с первым / с уже сделанными ходами (своими).
Если возникает ситуация, когда можно закончить ряд, канпутер заканчивает (чтобы не дать закончить игроку).
У тебя NPC будет играть не на победу, а на "непроигрыш", разрешите выразиться.
Дело, конечно, хозяйское, но на мой взгляд, стратегия немного не игровая.
>Первый ход канпутера после игрока - рандомная незанятая клетка.
>рандомная незанятая клетка
Ты квазислучайный фактор внести хочешь? Но зачем? Крестики-нолики сиречь конечный автомат, а следовательно все комбинации и возможные ходы просчитаны.
Да там немного вариантов, с учетом симметрии/поворотов/отражений. Можно тупо забить все в компьютер и выбирать нужный (именно так играет человек).
Сборщик мусора в микроконтроллерах? Стекломоя объелся, программистишка?
С полуручным управлением - нормально.
В Lua есть нужные ручки для управления. В критических местах хоть совсем отключай - не проблема. Тем более LuaJIT охуенно быстрый и FFI для Си лучший в мире.
И что, блядь, может пойти не так? В V8 scavenge пробегает бегает шустро, не прерывая процесс исполнения кода.
Ну так и быть, если речь о V8, то некоторые участки кода можно отключить GC:
>const v8 = require('v8');
>v8.setFlagsFromString('--never_compact');
Вот другое дело было, когда нужно было написать на шарпе программу управления, причем ПЛК вендор позаботился о разработчике изначально, всунув dll с интерфейсом доступа к шине опроса модулей. Естессно, всё это импортировалось как 'unmanaged code'. И все бы блядь ничего, да как наебнется в один прекрасный момент вся программа к чертям собачьим.
А цимес весь был в том, что вендор подсунул протекающую либу. Лол, даже форсированные выгрузки неиспользуемой памяти не помогали.
Проще всего на javascript.ru, с подробностями у Флэнагана.
Мысли сразу в Inferno. Дальше само пойдет, базарю.
обоссал тебя. кофи уже нинужон. скажем ему спасибо за идеи для ес6+ и дружно плшлем нахуй
Синтаксис в жс всё такой же уебищно-сишный
> es6+
Большой сюрприз будет тебя ждать, если пойдешь работать в какую-нибудь крупную компанию.
HTML, CSS
Нахуя тебе именно некомпилируемый? Какая разница из чего джаваскрипт итоговый получается? На ассемблере дураков нет писать, хотя любая сишечка в него превращается в процессе - так же и с говножээс, зачем прямо на нем писать, если его можно генерировать из нормальных языков?
Есть у меня isomorphic app с react и redux, мне нужно побыстрее в него вникнуть. Я фронт макака, до этого только с angularjs работал. Смотрю что в server.js юзается express. Чтоб вникнуть, мне нужно ещё и express зарочить? и нодку? у меня джва дня.
он только лабораторку на паскале делал
https://egghead.io/technologies/react
А ты не попытался узнать нахуя там юзается экспресс? Может это просто дев-сервер.
Я чот потерял нить диалога. Какой-то хуй пишет, что в крупных компаниях не используют ES6(?) из-за IE(?). Ему логично предлагаю Babel, а в ответ кто-то пишет, что тогда можно использовать другие языки. Бабель кроме JS ничего не поддерживает, поэтому следует логичный вопрос какие же еще волшебные языки можно использовать на фронте, которые, видимо, не требуют оверхеда в виде компиляции. И тут ты врываешь с котлином. Что блять? Как это вообще относится к изначальной дискуссии? Или тут каждый просто отвечает на последнее сообщение вырванное из контекста?
> Ему логично предлагаю Babel
Babel компилирует ES6/ES7 в ES5
Спрашивается если один хрен компилируешь, то
"Почему нельзя компилировать нормальные языки в ES5?"
Нормальные языки приведены на пикче.
По довольно очевидным причинам. Ты приходишь на работу в большую компанию и заявляешь, что с завтрашнего дня все кодят на дарте? Что делать с текущей кодбазой? Как быть с фреймворками, которые написаны на JS? Как переучивать людей? Где потом брать новых под это поделие?
Laba1 или пет-проекты можно кодить на чем угодно, но мы же тут про промышленную разработку говорим, не так ли?
Петухи без аргументации хуже любого говноеда-хипстера
Там сверху написано что это JavaScript-тред, а про промышленную разработку ничего не написано. Букв наверное не хватило, хуйзнает.
Если ты приходишь в любую компанию и тебя спрашивают на чем ты и вверенный тебе коллектив собирается писать порученную вам очередную вебпердень, то ты будешь принимать решение исходя из множества факторов, и этим языком может оказаться хоть дарт, хоть язык народности маори - если это наилучшим образом отвечает целям и задачам, учитывая ограничения.
С текущей кодобазой можно делать разное, например не так уж редко лучший выход - ее выкинуть к ебеням. С фреймворками - будет странно использовать, например, ClojureScript и с ним голый React а не Reagent. С библиотеками - вызывать их функции при надобности, в большинстве языков, умеющих в генерацию JS такие возможности есть.
Даже в моем говнободишопе все на тайпскрипте пишут. Обсуждали это примерно так "посаны, давайте на тайпскрипте писать, заебало уже" и все такие "довай".
Жиза, у нас с PureScript так же было.
Нет, блядь, я должен был сказать "идите нахуй со своим котлиным, я пишу только на скале!" и вернуться к мамке хлебать борщи.
Мне нужно, что бы линия в канвасе вела себя как элемент в доме. То есть, что бы линия (а не весь канвас) была выше дивов, а не в канвасе.
Вот эти методы, поднимают линию относитльно других в канвасе, а не доме.
Могу в нативный, jquery, react-redux, немного ангуляра
И у меня есть пара вопросов:
-Какие вам задавали вопросы на собеседованиях?
-Давали тестовые задания? Какие?
-Что за проекты были у вас на гитхабе? Смотрели на них?
-Резюме нужно?
19лвл кун
в dev конфигурации все работает, когда я собираю в dist картинок нету т.к. webpack собирает картинки url-loaderом и добавляет к ним хеш типа img.png?jfkldsajflsdaf9834
то есть он не берет картинки пути к которым известны только в рантайме, гугл почти не дал инфы, а значит ни для кого такой проблемы не стоит, итак вопрос: как такое делать ?
Просто бабел ничеге не может вроде.
В пресетах надо указывать es2015, или stage-x если хочешь чего-то большего.
в продакшен-конфиге вебпака который используется при сборке наверно прописана генерация хэша. imgSrc по идее не нужен, нужно просто импортировать картинку в нужном компоненте, типа import logo from '../assets/images/logo.png'
Тащемта на скале больше работы, чем на котлине.
var x; let x; const x;
x — это что? Ведь переменной её не назвать, если через const объявлена, например.
>Ведь переменной её не назвать
Открываем ECMA-262 draft, читаем:
let and const declarations define variables that are scoped to the running execution context’s LexicalEnvironment.
Следовательно, x - это переменная.
http://www.ecma-international.org/ecma-262/6.0/#sec-declarations-and-the-variable-statement
ИДЕНТИФАЕР
В треде все безработные?
>>769950
А причём тут пользовался или нет?
Ознакомься с линком.
https://kpdecker.github.io/six-speed/
Все эти перделки на бабеле написаны для красоты, а не для производительности. Вот когда появятся нативные классы и прочая белиберда, тогда и посмотрим.
Предвижу >кококо байтоёб
Как насчёт того, что количество интернет пользователей в последние 5 лет увеличивалось за счёт мобильных платформ, на которых каждый байт реально важен. У меня есть ноутбук с 2 гигами оперативной памяти, и даже там большое количество разных современных сайтов умудряется тормозить.
Что делает пользователь, когда у него глючит тормозит сайт? Правильно, уходит и не возвращается.
То есть вначале нужно писать на бабеле, потом конвертировать это в джс, и потом конвертировать это через гугл кложур, который не даёт тебе никакой гарантии на качество оптимизации.
Это просто охуенный трудовой процесс.
Ознакомился. Оверхед смешной — почти везде производительность такая же, и только в паре случаев отличается на один порядок.
>Все эти перделки на бабеле написаны для красоты, а не для производительности
Не для красоты, а для удобства и повышения скорости разработки.
>кококо байтоёб
Все так.
>У меня есть ноутбук с 2 гигами оперативной памяти, и даже там большое количество разных современных сайтов умудряется тормозить.
А причем тут оперативная память вообще? В твоей же таблице сравнение идет по производительности, а не по потребляемой памяти. Почему ты так уверен, что тормозят они именно из-за бабеля? Или вообще из-за JS? Ты же в курсе, что узкое место, как правило, операции с DOM?
Да не, ананас, пиши просто на ES5, эта хипстерская хуйня не нужна.
Да и пох что гугл так делает в gmail/google disk и вообще везде.
Это такая фича языка, что между несколькими последовательными командами может выполнится какой-то колбек? Как эта фича называется? Это есть в других языках?
Хз как это называется, но в JS такого нет. Коллбэк может быть вызван только при пустом стеке.
> Что делает пользователь, когда у него глючит тормозит сайт? Правильно, уходит и не возвращается.
Ты понимаешь, что ты эту разницу в скорости даже не почувствуешь? Это в худшем случае десятки миллисекунд.
В том, что у тебя тормозят сайты - твоя говнопека виновата, а не бабель или что-то аналогичное.
Я много серфю с айфона пятого, и я не помню, чтоб какой-то сайт у меня тормозил. Вот серьёзно, ни разу не было такого.
>>769983
Я думал что тут https://repl.it/C2MN Hi будет выполняться где-то посередине фор цикла - ошибся.
Что почитать про внутренности JS, чтобы лучше понимать как такое работает?
>Как сахарок то синтаксический? Сладенький?
Да, спасибо.
>Как же мы жили без всего этого. Тяжело было.
Да, было крайне неудобно.
>Што, блядь?
То есть процессорные такты и оперативная память для тебя одно и то же? ОКЕЙ.
>Зависимость производительности от количества бабела не линейна.
На основе чего ты сделал этот вывод?
А на замечания по поводу узкого места ты тактично решил не отвечать?
Гугли event loop.
Использую только те фичи, которые транспайлятся без оверхеда. В итоге и код чище и проблем с производительностью нет.
Что лучше, сделать один, но ресурсоемкий запрос к БД, или каждый раз теребить анус БД по пустячкам?
Если мне запрос вернет огромный объем данных которые я не буду кешировать, а постоянно держать в памяти то наверное лучше теребить анус БД мелкими запросами
так их дохрена например, itemы через .map() вставляются
братан ты прикалываешься ?
https://www.npmjs.com/package/twitter
> var Twitter = require('twitter');
https://www.npmjs.com/package/vkapi
>var VK = require('vksdk.js');
Хм, мне почему-то показалось что это для сервера, со всякими там токенами и т.д., а мне нужно как обычно, когда при необходимости оно просит юзера залогиниться вконтактике и после этой авторизации уже работает.
Я честно говоря не вникал. У Паши в доках написано: подключить скрипт, зарегистрировать приложение с ID, вызвать VK.init и все. Дальше скрипт сам просит юзера войти вконтактик, никаких токенов и прочего не требует вводить. Все именно так и работало, но вот сейчас мне надо использовать browserify, а вконтакт на локалхосте не позволяет тестировать.
Если кто может объяснить, в чем разница именно xmlhttprequest и winjs.xhr?
Спасибо.
А если бесконечный цикл нужен и в случае если вернулась ошибка в запросе - остановить цикл?
Есть апи, возвращает определенное количество результатов за раз, мне надо получить все результаты с апи, для этого хочу сделать бесконечный цикл в котором буду выполнять реквесты, но вот как выйти из цикла в случае если ответы начнут идти пустыми и как после выхода продолжить работу с собранными данными ?
Если умеешь так подскажи в какую сторону копать, я пробовал через async.map но там тоже не нашел выхода из итераций
И зачем тут бесконечный цикл? Чтоб все лагало?
function getFetchPromise() {
return fetch('http://api-url.com')
.then(res => {
if (res.ok) return getFetchPromise();
return null;
})
}
getFetchPromise();
Со счетчиком и обработкой ошибок сам разберешься, я надеюсь.
все ссылки разные - там в каждом запросе свои гет параметры (startIndex, endIndex разный)
>Перебрал с десятки
перебрал с десяток
быстрофикс
Бесплатные обфускаторы существуют вообще или только по темным и злачным местам ходит и покупать?
>>770415
Ядругой анон, лел, но сейчас поищу в старых тредах
Платненько жи. И строки криптует так что можно всё вручную понять. Других вариантов нет?
Написал же - платненько, а так как он криптует бесплатно - можно понять вручную, даже без технических средств. Использовать два/три/четыре вместе с твоим пиком - не приносит никакого результата.
Чем тебя не устроило http://discogscounter.getfreehosting.co.uk/js-noalnum_com.php?ckattempt=1 ?
Или местный господин хочет ШТОБ ХОРОШО ВСЁ ЗАШИФРОВАЛО, НО ЗАБЕСПЛАТНО, А ТО МАМКА ДЕНЕГ НЕ ДАЕТ?
Очевидно же чем - на андроиде и мобилках в целом этот код не оче работает.
>НО ЗАБЕСПЛАТНО, А ТО МАМКА ДЕНЕГ НЕ ДАЕТ?
Да мне на один раз нужно, чо ты начинаешь сразу. Один раз только, понимаешь? Я не против один-два бакса заплатить, но ради одного раза платить двадцатку как-то не ЖОПНО.
Ну бамп же мне негде больше спросить
По бесплатной версии можно сказать что и платная за 20 бачей не сильно поможет.
Хули делать-то? Не хочу я в даркнет идти, там страшно.
15ый час уже сижу на работе, утром сдал дважды.
3 часа назад сказали на ноду надо запилить вот это кровь из носу. Офк как только заработало я и закончил на сегодня. Рефакторингом уже займусь по свободе
*selffix утром сдал дважды кровь. То-бишь я уже из последних сил
Береги себя. Алсо, в ноде поддерживается почти весь ES6. Ну, вдруг ты не знаешь.
Спасибо. Слышал, но так как я в основном во фронтэнде js использовал - не спешу пока в es6 перекатываться и привыкать к синтаксису. Хотя я немного с ним знаком.
if ($(this).parent().find("[name='my-checkbox']").bootstrapSwitch('state')) {
$(this).parent().find("[name='my-checkbox']").bootstrapSwitch('state', false)
} else $(this).parent().find("[name='my-checkbox']").bootstrapSwitch('state', true)
var checkBox = $(this).parent().find("[name='my-checkbox']");
if (checkBox.bootstrapSwitch('state')) {
checkBox.bootstrapSwitch('state', false)
} else checkBox.bootstrapSwitch('state', true)
>>767377 (OP)
>НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
>Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода
Там полторы строки, аутист
спс
console.log( ᅟ);
Что за хуйня, почему выводит 'foo' в консоль?
А ты приколист!)))
Такс, имею я, допустим, скрипт на жс который подключен к сайту. Как мне логику перенести из .js скрипта, но так чтобы запуск этой логики осуществлялся через тот самый .js файл?
Максимально обфусцировать код, конечно же. Может какой-то стрим через eval сделать и отдавать при совпадении неких параметров.
Хуйня твоя обфускация, тебе уже пояснили.
>Может какой-то стрим через eval сделать
>через eval сделать
Я даже не заморачиваюсь в таких случаях, просто переопределяю window.eval и смотрю на девственно чистый код, лол.
Да я сам знаю что хуйя, но мне ПИЧОД. Что бы я не делал, в любом случае получаю девственно чистый код, который привести в нормальное состояние - одно движение пальцем.
Джизас Крайст Мадафака, арендуй за пару буксов днище впс, поставь туда ноду, крути там свой код безо всякой обфускации. Клиентам отдавай данные и все, твой чудо алгоритм в безопасности.
>Клиентам отдавай данные
В данных вся загвоздка. Клиент получает строки которые я хотел бы от пытливых котят глаз спрятать.
Как я понял, единственная возможность это сделать - разбить код на очень много функций и переменных, но ни один обфускатор этого не делает. Не могу найти обфускатор который делает это.
Ты хочешь отдавать данные клиенту, и чтоб он не смог видеть эти данные? Ты там под чем?
Это ты, видимо, между строк читаешь.
Тебе уже несколько раз сказали, что все, что попадает на клиент - можно просмотреть. Можно спрятать только алгоритм обработки какой-то информации на бэкенд, и клиент до него никак не доберется, но вход и выход информации этого алгоритма всё равно будет клиенту доступен.
Можно запилить закрытый и сильно обфусцированный плагин к браузеру, например. Не на JS, конечно.
>770702
>Можно запилить закрытый и сильно обфусцированный плагин к браузеру, например. Не на JS, конечно.
Smells like govnocoding.
Особенно с этого серанул:
>сильно обфусцированный плагин
Срсли, мэн, даже банковские сайты сейчас таким брезгуют заниматься.
>можно просмотреть.
Да я и не отрицаю что можно. Я всего лишь максимально хочу усложнить обфускацию, подтягивать код из кукисов, из строки адреса и кучи всего остального, разбить код на множество функций и максимально усложнить задачу восстановления исходников.
Где найти такой обфускатор - хуй знает, только самому писать, видимо.
> >можно просмотреть.
> Я всего лишь максимально хочу усложнить обфускацию
Зачем? Тебе делать нехуй?
Может опишешь задачу и мы тебе что-то дельное посоветуем?
>Зачем? Тебе делать нехуй?
>Может опишешь задачу
Это и есть задача. Обфускация кода, максимальная. Разве с этим никто не сталкивался?
> Это и есть задача. Обфускация кода, максимальная.
Но это же бессмысленное и безнадёжное занятие.
В гугле десятки ссылок на обфускаторы, но всё они защищают только от ленивых.
И есть такие, как тебе нужно, которые дрочат сторедж, куки и весь код разбивают на тысячи функций, но они платные.
В общем, или плати, или пиши сам
>Обфускаторов JS жопой жуй.
Хоть один нормальный запости который разбивает код на множество функций. Примерно так же как и в jquery.
>Обфусцировали, что дальше?
Радоваться, очевидно же.
>>770719
>Но это же бессмысленное и безнадёжное занятие.
Смысл всегда есть.
>или плати, или пиши сам
А есть хотя бы небольшие куски исходников таких обфускаторов? Ну чтобы не с нуля писать. а чтобы заплатить мне сначала нужно обфусцировать, лел, замкнутая цепочка
> >или плати, или пиши сам
> А есть хотя бы небольшие куски исходников таких обфускаторов? Ну чтобы не с нуля писать.
https://github.com/search?l=JavaScript&q=Obfuscator&type=Repositories&utf8=✓
> а чтобы заплатить мне сначала нужно обфусцировать, лел, замкнутая цепочка
Ты так и не описал свою задачу, получается?
>https://github.com/search?l=JavaScript&q=Obfuscator&type=Repositories&utf8=✓
Чот не подумал гитхаб посмотреть. Уже начал смотреть, отпишу в тренд о результатах.
>Ты так и не описал свою задачу, получается?
Что ты подразумеваешь под задачей? Чем тебе обфускация не задача?
Ну дальше-то что? JSDetox не поможет чи толи?
http://www.relentless-coding.com/projects/jsdetox/
Еще была какая-то подобная поебень в Kali. Не помню уже. Специально для таких, хитровыебанных обфускаторов.
>Ну дальше-то что? JSDetox не поможет чи толи?
Да не должен. Использование всяких куки + адрес + множество функций закрывает код достаточно хорошо, не?
Фнкции в функциях для создания одной глобальной перемнной которая другой функцией перемножается через кукисы~
Ну я имею ввиду, вручную конечно же можно разобраться, но это займет несколько часовдней минимум.
https://twitter.com/0xroot/status/743224093093281792
Неплохо вроде сделано, но как мне к js на сайте это применить хуй знает.
Хотя бы найти разбивку кода по функциям.
Они не пиздят?
Конечно. Убунту ставь.
Пиздят. Начинай с убунты, заканчивай дебианом и центосом. На этом 80% серверов
Я начал с арча.
Первые месяца полтора-два у меня были проблемы с ним, где-то что-то отваливалось, не работало.
Сейчас уже всё ок, жутко рад. Очень быстрая система.
Только BolgenOS.
https://jsfiddle.net/hhej580c/
Так как ссылка нового img совпадает со старым, он считает их одинаковым элементом, и change не срабатывает?
Бля, я перечитал то, что ты написал и охуел с чем я только согласился. Какая ссылка нахуй? Какой Элемент епта? У тебя в инпуте остается тот же путь до изображения, который ты второй раз пытаешься загрузить. Естессно, раз путь в инпуте не меняется, не файрится и ивент. Пиздец.
Я понял, change смотрит input.value, если он изменился - делает что-то, если нет - посылает нахуй.
Я сам в аспе почти полный ноль, но тестовую работу выполнил. По сути, асп там прокладка между Ораклом и клиентом, потому упор на стек HTML+CSS+JS. Придется делать все - и код весь писать и тестирование проводить. Контора на тыщи голов, поэтому ЭНТЫРПРАЙЗ.
Предложили 20 килорублей / мес.
Как считаете, стоит ли вкатываться?
Заебись сделано, но я на две функции разбил. Вот так весь код написать - любо дорого посмотреть будет.
arr = [1,2,3]
arr.yoba = 5
Теперь:
arr.yoba => 5
Но:
arr => [1,2,3]
{arr} => Object {arr: Array[3]}
Вопрос. ГДЕ ЙОБА? Почему к ней можно обратиться, но ее нигде нет?
Потому что в массиве объекты хранятся по числовым индексам, и forEach работает тоже с числовыми. yoba - не число.
мимо-джавист
Если ты уже нормальный программист, то от сотни. Ну от 70. Ниже — совсем уж дно. Это в ДС.
Чувак, мой тебе совет, не перекатывайся в это говно. Сейчас где угодно лучше чем в вебе. Даже в ебучем 1с. Тут такой пиздец творится, которые еще и усугубляется каждый год, что просто хочется бежать без оглядки
Я абсолютно средний фронт с опытом в полтора года и получаю 130. Ты hh-то давно открывал?
Я в эмбеддед и индастриал хуйне уже погряз по самое не хочу. А после каждого выполненного проекта - командировки на месяцы, и отнюдь не в интересные места. За годы въябывания романтика разъездного характера работы уже совсем перестала доставлять, а веб привлекает, да и жс с нодой полюбил.
Это не только в дс, впощем-то.
А, ну да, ты злишься потому что это так охуеть очевидно! В вызываемом объекте нет ключа, который на самом деле есть, но увидеть его можно только специально обращаясь к ключам. ЭТО ЖЕ ОЧЕВИДНО. БЛЯДЬ. НАХУЙ. ЗЛОЙ ДЖАВАБАБУИН НЕДОВОЛЕН.
Я злюсь потому что я тебе всё объяснил в предыдущем сообщении.
>В вызываемом объекте нет ключа, который на самом деле есть
Пиздец. Просто пиздец.
>в массиве объекты хранятся по числовым индексам, и forEach работает тоже с числовыми. yoba - не число
>Пиздец. Просто пиздец.
А, ну да, все понятно! yoba не число, хотя на самом деле yoba все-таки число (5 это же число? или в безумном мире джавабабуинов уже нет?), но йобы нет числового индекса, да и похуй, зачем он нужен, джавабабуин все равно разберется! Оставим как есть [1,2,3], джавабабуин сам догадается что там где-то есть yoba, ведь он проверяет ключи абсолютно каждого объекта, НУ НА ВСЯКИЙ СЛУЧАЙ, ЭТО ЖЕ ОЧЕВИДНО, БЛЯДЬ, ВСЕ ОБЪЯСНИЛ. Все ОЧЕНЬ ПРОСТО и ПОНЯТНО, особенно если сделать arr[4] = 4 и тогда ОЧЕВИДНО мы получим [1, 2, 3, undefined × 1, 4], КАЕФ ВОТ ЭТО ЯЗЫК
let path = '/some/path with spaces/file name.odt'
child = execFile('./lib/run.sh', [path]);
В итоге получаем $1 = /some/path
let path = '/some/path\ with spaces/file\ name.odt'
В и тоге получаем $1 = /some/path\
Как правильно экранировать тут пробелы подскажите плз?
Что ты несешь, поехавшй ты мартыхан
Кажется у меня бугрутень вылез.
arr.indexОf(yоЬa) > -1 //true
А, я понял. В смысле нигде нет? Все в js это объекты, значит ты можешь добавить массиву любой атрибут. Что вызывает недоумение?
Последний бамп и ухожу
Нужно нойти альтернативу.
Пиздят. Арчидетей вообще не слушай. Арщ - это такой хаскель от мира дистрибутивов. Начни с Ubuntu, она самая простая. Потом выберешь, что тебе нужней - стабильность или фичи. За первым в Debian, за вторым в Fedora.
Лучше не Убунту, а Минт. Та же Убунта, только пропущенная через тестеров.
Скинь сюда выход какого-нить простенького исходника. На вроде alert('hello world'). Интересно глянуть на код.
Только дема хуйня приемлемо выглядит, кстати. Бесплатно нипопользуешься. https://jsfiddle.net/5L0odk4z/
Чего-то нормального так и не нашел, хуйня одна блядь.
Спасибо большое, анон, всегда знал, что здесь все мои друзья
Код действительно неплохой, мимпопроходил просто так строки не вытащит, а большего и не нужно.
Есть два стула массив..
var arr = [1,2,3];
arr.someShit = "4";
console.log(arr.length);
Вопрос, почему в консольку выведет 3? То есть я понимаю, что у массива свойство ленгс есть, а у объекта хуй. Я знаю что свойство добавляется в Арр, потому как все массивы есть объекты, я даже знаю, что если выведу Арр, то он покажет [1,2,3, someShit: "4"]. Но вот что за нахуй происходит в тонких материях? Почему у объекта Арр остается доступным свойство длины, почему оно считает лишь те свойства что были объявлены в массиве?
Конечно
>Почему у объекта Арр остается доступным свойство длины, почему оно считает лишь те свойства что были объявлены в массиве?
Потому что массив не считает количество объектов СОВСЕМ, сделай delete и увидишь, length не изменится. Это сделано для ускорения доступа к свойству length.
Мне вот этот момент и непонятен. Если я создал массив, а потом к нему добавил свойство, это ведь свойство Объекта Арр, как получается, что у объекта остается метод Длина, который еще и правильно его считает? Ведь если я с нуля создам объект, а потом поробую взять длину, то нифига не выйдет, так как нет такого свойства у объяктов? Получается когда создаешь массив, вызывается некий интерфейс, который создает экземпляр\объект с еба-свойствами для массива?
Помимо того, что ленгс не изменился, так еще и собъектом ничего не произошло, когда вывожу Арр, после его же дилита, он выводит все то же [1,2,3, someShit: "4"]
Чет реально слабовато, лол.
>return function(b) {
>console.log(a)
>return a;
>};
Простой инжект console.log в код-дешифратор и на выходе:
>"test"
>"navigator"
>"userAgent"
unescape() Юникод последовательности (почти) с потрохами выдает регулярку.
Не пользуйся этим говном, он пиздец как дорого стоит, а в бесплатной версии нихуя не делает. Тут отписал другое решение >>771361
Теоретически должен любую сложность брать.
>>771389
https://jsfiddle.net/85864hLg/
Попробуй эту хуйню, совсем дичь.
Да я знаю про прототипы, я птыаюсь разобраться что происходит:
1) в момент создания массива Арр через []
2) в момент присваивания нового свойства такому массиву
Про делете ясно - он же просто ундефайнед вставит на удаленную позицию, потмоу длина и не изменится, но вот почему свойтво длины считает лишь те елементы, что были в массиве на момент его создания, еще в каком виде эти элементы хранятся. Потому как если добавить свойство самому, то его и выведешь по имени свойства(и в консолье так же будет, если весь массив вывести), а сами эелементы массива выводятся просто [1,2,3] а не как [0: "1", 1: "2", 2: "3"] Почему так происходит? Ну же. кто-нибудь здесь шарит полноценно в жсе?
> но вот почему свойтво длины считает лишь те елементы, что были в массиве на момент его создания
Но это не так
var loh = [1,2,3];
console.log(loh.length);
loh["4"] = "huy";
console.log(loh.length);
console.log(loh);
Пиздос:
3
5
[1, 2, 3, 4: "huy"]
Это уже просто вынос мозга. Как так-то? Как оно ебаную длину считает?
var loh = [1,2,3];
console.log(loh.length);
loh["7"] = "huy";
console.log(loh.length);
console.log(loh);
Пиздос:
3
8
[1, 2, 3, 7: "huy"]
Ага, то есть если забивать свойство с числовым ключом, то оно как эелемент массива пойдет, и пустые места андефами забьет, а если строчным, то оно как свойство объекта будет и на длину не повлияет. Начинаю понимать, почему многие сетуют на пизданутость жса. За это мы его и любим.
Просто в жс нет двумерных массивов, и массивов как таковых, это, по сути, обертка над объектами. Когда это понимаешь, все такие странности куда понятнее становятся.
Это абсолютно бесполезное занятие.
Я сторонник сорсов на гитхабе, а не тщетного желания огородиться.
Даже если продукт коммерческий, нет никакого смысла в обфускации. Кому надо - и так вскроют. Если есть какие-то критические места, нужно их совсем убирать на бэкенд, а не делать плохочитаемыми
>Это абсолютно бесполезное занятие.
Для тебя - да. Для меня нет.
>Я сторонник сорсов на гитхабе,
Ты сторонник попиздеть не зная сути вопроса.
>Даже если продукт коммерческий, нет никакого смысла в обфускации.
Скажи это яндексу, гуглу, jqwery. Но попиздеть-то всегда можно, да?
>Если есть какие-то критические места, нужно их совсем убирать на бэкенд, а не делать плохочитаемыми
Почему? Потому что ты так хочешь? Разве я хоть раз в тренде спросил что лично ты хочешь?
>> Скажи это яндексу, гуглу, jqwery. Но попиздеть-то всегда можно, да?
> не различать минификацию и обфускацию
> >Если есть какие-то критические места, нужно их совсем убирать на бэкенд, а не делать плохочитаемыми
> Почему? Потому что ты так хочешь? Разве я хоть раз в тренде спросил что лично ты хочешь?
Потому что это логично.
Если у тебя ящик с деньгами, логичнее положить его в ячейку в банке, а не наклеить на него надпись "нитрогайти"
>> не различать минификацию и обфускацию
Json на json через json, 6E4 (Math.floor(121 Math.random()) + 240) и это только одна минута просмотра случайного скрипта с страницы гугла.
Но пиздеть-то ты не зная кухни всегда горазд, да? Сколько менюшек и калькуляторов написал?
>Потому что это логично.
Нет ничего логичного. Есть один простой факт - необходимо скрыть код от пытливых котят и всё. Нет никаких нарушений безопасности (когда данные через юзержс проходят), нет (или есть) никаких коммерческих решений. Есть только этот простой факт.
Почему ты не понимаешь это я не понимаю. Мы оба непонятливые.
>Если у тебя ящик с деньгами, логичнее положить его в ячейку в банке, а не наклеить на него надпись "нитрогайти"
Охуенная интерпретация. Только давай не будем использовать твой литературный талант в этом итт.
>Скажи это яндексу, гуглу, jqwery. Но попиздеть-то всегда можно, да?
А что не так с jquery? Она ж опенсорс.
мимо
> 6E4 (Math.floor(121 Math.random()) + 240)
Что это? Откуда? Что это мне должно сказать?
Ты понимаешь, что нихуя не выгодно обфусцировать код кнопочек и менюшек? Такой код, во-первых, никому нахуй не нужен, потому что есть бутстрапы. А во-вторых обфускация раздувает код, и делает загрузку страницы медленнее.
Гораздо важнее минификация кода для быстрой его загрузки, это на сайтах компаний, которые ты привел, ты и видишь.
> Есть один простой факт - необходимо скрыть код от пытливых котят и всё
Делать плохочитаемым != скрывать, даун. Я тебе про это и стараюсь сказать. Скрывать - это выносить на бэкенд. Плохочитаемость ни от чего тебя не защищает, любой алгоритм можно вскрыть.
Ну он отчасти прав, такую хуйню с плохочитаемостью и правда делает гугл в своих гуглдоках. Зачем оно им надо я не знаю, наверно чтоб конкуренты не пиздили код. Ну или мб они там биткоины майнят втихую.
Но минификация тоже делает код плохочитаемым, но не раздувает его при этом
Да вроде опенсорс, и правда, но мне почему-то всегда казалось что код закрыт. Оказалось что не так, лел.
>>771537
>Что это? Откуда? Что это мне должно сказать?
Это совершенно ненужная конструкция с сайта гугла которая уж точно не предназначена для. Для чего угодно.
>Гораздо важнее минификация кода для быстрой его загрузки
Всем похуй на это, это не более чем рабочий момент.
>это на сайтах компаний, которые ты привел, ты и видишь.
Я вижу json включения и бесполезные мачрандомы, а ты только МИНИФИКАЦИЮ))))
>Делать плохочитаемым != скрывать, даун. Я тебе про это и стараюсь сказать.
Еще как значит.
Вот я скрыл код который взаимодействуют с страницей. Если бы он как-то иначе взаимодействие производил ты бы хуй проссал что вообще там такое происходит.
>Скрывать - это выносить на бэкенд.
Скрывать это скрывать, а выносить на бэкенд это выносить на бэкенд.
>Плохочитаемость ни от чего тебя не защищает, любой алгоритм можно вскрыть.
Иди, блядь, прочитай мой код, заебал https://jsfiddle.net/85864hLg/
Ты продолжаешь спорить только для того, чтобы не признавать, что ты обосрался и твои доводы нелогичная хуйня?
Делегирование
Зачем? Я не понимаю что ты хочешь этим доказать
Хочешь сказать, что это сложно вскрыть или что? Ты не видел посты задротов-байтоебов, которые себе в машинном коде моды пилят и баги фиксят?
Прости, пропустил где ты нашел обфуксатор, продублируешь пост, не хочу искать? :3
>Зачем? Я не понимаю что ты хочешь этим доказать
Как зачем? >Плохочитаемость ни от чего тебя не защищает, любой алгоритм можно вскрыть. Я и предлагаю тебе вскрыть его
>Хочешь сказать, что это сложно вскрыть или что?
Хочу сказать что ты его не вскроешь.
>Ты не видел посты задротов-байтоебов, которые себе в машинном коде моды пилят и баги фиксят?
Таким байтоебам проще написать новый код, чем фиксировать мой. Но ты можешь продолжать кукарекать.
>>771588
Держи >>771361
Еще мы можем вскладчину взять лицуху на месяц, 79баксов (5к рубасов примерно) стоит.
По истечению 3х месяцев выводить вместо сайта картинку хуя :DDDD
лол, обосрався
то есть нужно чтоб ширина блока основывалась на ширине картинки и принимала одно из 3х значений 25%|50%|75% ну и соответственно мож готовая либа есть ? Заебок если React
>основывалась на ширине картинки и принимала одно из 3х значений
Ты понимаешь что это один if?
>мож готовая либа есть ? Заебок если React
Откуда вы такие беретесь?
Если ты собираешься создавать эти элементы программатически, то сделай так, чтобы апи тебе возвращала { url: "yoba", width: 999, height: 333 }. И так на клиентском скрипте ты будешь знать какой подобрать размер блока.
Тут, кстати, помоему, надо смотреть на на ширину картинки, а на отношение сторон(heigh / wight или наоборот).
Из DOM нужно брать только если ты не знаешь заранее размера конкретной картинки до того момента пока браузер ее не отрисовал. В этом случае тебе никакая библиотека в любом случае помочь не в силах.
Ничего ужасного в ругани реакта нет, если ты понимаешь что делаешь.
>Попробуй эту хуйню, совсем дичь.
>кидает тонну говна, обернутого в eval()
Ты понимаешь, что любой обфускатор, который замыкается на евале - по определению говно?
Алсо, вот сегменты исходного кода. По понятным причинам, смысла дальше продолжать нет:
https://jsbin.com/puwuki/edit?js,console
сделал так, все круто спасибо.
>который замыкается на евале - по определению говно?
Ну так. Сейчас еще потыкаю, может там чо еще есть что вчера не заметил.
Обфускатор-кун изначально был в нелегком положении.
https://jsbin.com/ziyixipiga/1/edit?js,console
Максимум что удалось получить с этой программы. Лучше предыдущего.
>ехал eval() через eval()
Вот итоговая распаковка кода:
https://jsbin.com/kahori/2/edit?js,console
Да я тоже уже накатил, любые варианты выхода довольно хорошо распаковываются.
Как думаешь, что добавить туда можно вручную? Или всё же придется покупать примерно так же неработающий другой сервис?
В душе не ебу, что туда можно добавить, но, сдается мне, тебе стоит радикально сменить тактику сокрытия твоего кода. Если тебе охуеть как интересно на клиентской стороне ебать мозги, то можно попробовать что-нибудь по типу конструкторов - когда криптор разбивает тело данных и записывает в локалСторедж, как тебе уже аноны свыше советовали, а функции-конструкторы собирают данные. Тут фишка в том, что собираются/разбираются именно данные, а не тела функций, как ты уже понял, дабы избежать использования евала. Плюсом будет и то, что использование функций-конструкторов в изолированной среде ни к чему особенному не приведет - они 'stateless', ибо теребят данные из ануса локалСтореджа.
> что-нибудь по типу конструкторов
Знать бы где такие найти, лел. Вручную сейчас писать буду.
>когда криптор разбивает тело данных и записывает в локалСторедж
>Тут фишка в том, что собираются/разбираются именно данные, а не тела функций
А смысл этого? На этапе сборки разве не получится отловить? Данные-то всё равно должны через одну функцию/переменную пройти. Разве что:
>использование функций-конструкторов в изолированной среде ни к чему особенному не приведет
Но это довольное просто и уже реализовал через кукисы.
На фоне еще и в жопы ебутся.
css flex
Индусы программисты получают в среднем чуть больше 1000$ в месяц и это считается дешевой раб силой к слову.
Причем на аутсорсе.
Если не будет инфляции
есть такая проблема?
кроме библиотек на них, как у редаксо петухов с saga
За такие деньги я бы даже из дома не вышел куда-то, не то что еще и работать.
Везде так сейчас 300$ джун, 1000$ мидл, 2500$ синьор.
Это очевидный костыль для раненых умом процедурников. Колбеки всегда позволяли приостанавливать функции и возвращаться к ним по необходимости.
К тому это и есть асинхронный подход, а не прерывания дабы код шел сверху вниз. Это только для примеров в учебнике годится.
Короче бля, я понял. По сути ты там получаешь данные только потому что у меня идут строки без преобразований. Такс-такс, а что если в не_обфусцируемый скрипт добавлю:
1. Немножечко рандома, как советовал етот парень >>770794
2. Каждую толику данных переведу через алфавит, лайк "var a = b - 7 + 'r';"
В итоге в упаковочном евале получается набор полной хуеты, нужно разбирать не только выход, но и каждую функцию, чтобы что-то узнать. Уже лучше, но кажется что-то упускаю, что-то важное.
>Number()
О спасибо чувак, работает.
>>771976
Что-то связи не уловил с моей проблемой, но все равно спасибо, не слышал про это раньше.
пацаны, кто-то юзал метод Feature-toggle (feature flag) на продакшоне? подскажие может библиотек, или в какую сторону читать, чтоб своих велосипедов не делать.
сперва пиши в тред, потом гугли :3 если найду что годное - поделюсь
бля, лиший ответ приклеелся, это не тебе, а всем в треде, кек.
Нужна консультация по архитектуре приложения.
ну поясняй хули пидор
Вопросов много:
1. Например, есть приложение с несколькими экранами. Как лучше всего загружать данные? Писать ли сервис для загрузки или прямо из контроллера $http дергать?
2. Когда и в каких случаях использовать rest?
3. Есть годные опенсорсные проекты на ангулар?
4. Твое отношение в ангулар. Стоит ли понемногу перекатываться в реакт?
Да вы заебали чесслово.
>browserify
>browserify
>browserify
>browserify
>browserify
Нахуй мне глобальный объект засирть то, епта.
>Что-то связи не уловил с моей проблемой, но все равно спасибо, не слышал про это раньше.
вот смотри. в двумерном пространстве проекция сферы выглядит как круг. number - это одномерная величина, а string двумерная. а теперь подумай что будет если пространство имеет разрядность 6.
Теперь всё сразу стало понятно, спасибо!
В сорцах джиквери, очевидно.
Фронт? Какой смысл писать фронт на ваниле без фреймворков или библиотек? Это же как на чистых плюсах триде игру писать.
ну мне бы сначала, сделать хоть что-нибудь на ваниле, чтобы потом на фреймворки переходить постепенно. Да, фронт.
какой смысл мне перепрыгивать на фреймворки, если к примеру я плохо понимаю ванилу? Когда-то мне тут советовали не переходить ни на что, пока не напишу калькулятор или змейку.
Так пиши. Какие тебе примеры нужны? Причем тут джиквери вообще?
Чтоб написать калькулятор или змейку на ваниле с нуля достаточно посмотреть какой-нибудь видеокурс типа специалиста и сделать лабы которые идут с ним. Если задротить то дня за 3 управишься.
Да и что значит понимать ванилу? Помнить всякие стандартные методы? Но ведь это можно смотреть в справочниках если забыл.
А так сказать ядро javascript оно одинаковое что в ваниле, что в фоеймворках. Просто в фреймворке уже за тебя сделано много удобных инструментов, которые если бы ты писал сам ты бы писал долго и написал хуже.
Латте в старбакс всем хипстерующим здесь. Надеюсь здесь найдутся адекватные аноны, которые помогут разобраться с дилеммой. Суть такая: есть несколько классов распиханных по модулям, т.е. один класс -- один файл(знаю, что джава-вэй и прочее, но для расширяемости это очень неплохое решение). Они изолированы и всё хорошо. Но вот по задумке их нужно подгружать в рантайме, в зависимости от предоставленного конфига(т.е. всё зависит от того, что клиент запросил). И тут появляется дилемма -- как решить это? На ум приходит DI решение, но вот что-то это слишком пиздец. Можно кинуть их в один модуль, конечно, но тогда пропадёт вся лаконичность и возможность удобно расширять(ибо опенсурс). Как быть, анончики?
Как-то все просто у тебя.
Ну блять, дай мне такой видеокурс, я только спасибо скажу. Все что я нашел это курсы от васяна аля от джуна до помидора за 8 часов. Да и как я буду писать калькулятор или змейку если я не буду знать замыкание функций и прочью дрисню с ванили
Ну я ж написал специалист, норм курс есть там по ваниле, на трекерах поищи.
Там олдфаг ведет поэтому именно ванилла в ноутпад++, но ведет неплохо. От него же есть курсы по жквери и ноде, тоже норм.
Еще есть курсы от гикбрейнс, там где ведет какой-то зиз или заз или ваз как-то так. Тоже неплохие, правда ванилу от него не смотрел, но по ноде интересный курс, правда на 80% практика и как знакомство с технологией пойдет хуево.
А ну и после видеокурса прочитай леарнжс.ру для систематизации знаний.
Блджад, почему я в Рашке не могу ничего подобного для себя найти?
webpack ? https://webpack.github.io/docs/code-splitting.html#commonjs-require-ensure
vanilla ? ну так пропиши в body script src="зависящийоткофигамодуль.js" в чем трабла то ?
с недавних пор в тесты добавили http и SQL. ну и ооп было.
сложность поступления зависит от локации (во львове, киеве конкуренция больше чем в ровно и иф). да и на лето ща все школьники ломануться. с такими вопросами как у тебя, лучше на qa-чмо иди, их разбирают как пирожки.
сейчас на web ui дают морально стареющий бешенными темпами первый ангуляр кста.
начал подготовку за месяц, поступил, окончил, работаю кун
>морально стареющий бешенными темпами первый ангуляр
После того, как вторая часть оказалась хуйнёй и не взлетела, на фронте остался только первый Ангулар и реакт.
Только React. Angular остался в считаном количестве затхлых полуподвальных микро-энтерпрайзных интранетов.
Быстрей - Elm и VueJS.
React не тем хорошо что быстрый (он не быстрый), а тем что макак только под него реально.
*набрать
У него действительно слишком хорошая архитектура для типичной джаваскрипто-макаки, из-за чего и загнулся. У жабодилов была точно такая же история с EJB
Раджеш, плиз.
Все (адвокаты Реакта) пишут что это не фреймворк потому что их заебали все остальные, которые своими глазами видят что это фреймворк.
Применяют все с Redux и React-router.
Добавляют mobx или redux для хранения состояния и react-router понятно для чего. А совсем маленький проект можно вообще без этого запилить.
Если не понимаешь, какие проблемы решает реакт, какие нет и надо решить другим способом, тебе рано.
> Быстрей - Elm и VueJS.
Блять, что ты сравниваешь, пиздец.
> React не тем хорошо что быстрый (он не быстрый)
Ну это вообще пушка
Профи пришел.
Будешь сравнивать - не забудь выставить Vue и Реакту одинаковый update delay, они у них разные по дефолту.
Реакт - MV из MVC, так?
Если нет, то поправь или скажи где почитать.
>>773224
>>773226
>>773237
Велика ли вероятность, что через полгода-год всплывет какая-то более модная хуйня и про реакт как проект все забудут? Не про принцип работы как таковой, а про саму библиотеку.
Вообще, проблема стабильности стоит сейчас настолько остро, что я просто боюсь браться за что-то. Восхваляли первый ангулар и на выпускают второй. До него были еще десятки "перспективных фреймворков"
Что делать-то?
Это вообще разные вещи, с разными архитектурными подходами, предназначенные для разных по размеру проектов, и ещё имеющие разное по размеру комьюнити и количество готовых модулей, что немаловажно.
Только V. То что внутри компонентов тоже есть state - про это вспоминать не принято.
Невелика. Но к WebComponents начинай присматриваться.
Учи React.
>Реакт - MV из MVC, так?
Скорее VC.
>Велика ли вероятность, что через полгода-год всплывет какая-то более модная хуйня и про реакт как проект все забудут?
8.2%
Пока предпосылки скорее обратные — хайп только нарастает. Реакт хорошо решает острую проблему удобства манипуляций с домом и предлагает внятную систему компонентов. Когда-нибудь эти задачи, вероятно, будут решаться нативно. Тогда Реакт естественным образом отомрет, как сейчас отмирает джиквери.
>>773252
Понял. Курс по реакту из шапки подойдет для начала?
https://vk.com/doc312456413_437379360
И что по WebComponents можно посмотреть?
Ничего не могу про него сказать. Хорошие курсы по Реакту на egghead.io. Официальные доки тоже прекрасны.
Спасибо.
>вообще разные вещи, с разными архитектурными подходами
Есть virtualDOM - нет virtualDOM, охуеть разница.
> предназначенные для разных по размеру проектов
И именно в том, который предназначен для больших-пребольших проектов, смешиваются в кашу кони, люди - а не смешивается все в кашу в том который только для очень маленьких - я правильно тебя понял?
> имеющие разное по размеру комьюнити
Когда React тормозит, они все прибегают на помощь и начинают его толкать.
> и количество готовых модулей
Из которых тебе нужно два с половиной, которые есть у всех, а остальное однохрен писать.
Следующий хайп. Или два.
Удваиваю. Архитектуру придется поддерживать самому.
>То есть в компоненте смешан хтмл и бизнес логика.
За такое обычно по ебалу бьют. Отдельно умные компоненты, которые знают про модель и диспетчеризацию, но не содержат стилей, и отдельно глупые, которые отвечают за верстку со стилями, и получают все данные и коллбеки готовыми через пропсы.
http://www.robinwieruch.de/the-soundcloud-client-in-react-redux/
>>773260
Они его затем и писали чтобы продемонстрировать модно-молодежность.
> They won't do this, though, because it isn't in their interest to do so. You may recall Facebook's abrupt about-face on their mobile app back in 2012, when Mark Zuckerberg said building on HTML5 was his company's "biggest mistake." What you may not recall was Sencha took this claim as a challenge, and built a great HTML5 implementation of the same app, effectively demonstrating that Facebook's criticisms of HTML5 were largely unfounded. Unlike Google, whose revenue largely depends on their search engine–which, in turn, depends on people using the Web for everything–Facebook has always benefited from being a walled garden. Put another way, Facebook doesn't care if you use the Web, it only cares that you use Facebook.
> So why release an open source Web framework at all? Because Facebook is battling Google for engineers. So you've got a big fight between two companies over which company is the coolest place to work, and both of them are companies that your grandparents love. How are you going to win this fight? One way is to have the hippest Web framework.
> Basically, both Google and Facebook are desperate to find a baseball cap that they can put on backwards. Angular is Google's baseball cap. React is Facebook's.
Домыслы какие-то.
Мне намного больше верится в то, что инженеры в ФБ в какое-то момент заебались ловить баги в своих сложнейших веб-интерфейсах и запилили либу под себя. А она оказалась настолько хорошей, что потом ее выпустили в народ.
Ты видел интерфейс управления рекламными кампаниями, например?
Тоже рассмеялся. Ведь все инжинеры сидят тута! ААХАХА
Ебать ты специалист
Написал абзац текста, но потом удалил. Бесполезно что-то писать человеку, у которого единственная метрика оценивания фреймворка - наличие virtualdom, а как же shadowdom? A? A? A?.
Метрик много. Тем не менее громкие заявления о том что это же совсем разные вещи звучат большим преувеличением. Какой там внутри дом (чаще - покосившийся сарай) прикладному программисту - пользователю фреймворка - обычно похрен совершенно. Его больше волнует то как оно шевелится и сколько с ним пердолиться. И тут его могут подстерегать самые неожиданные открытия.
> Overall, the original claims about Vue's performance still hold some value in this use case but there was clearly a lot of opportunity for optimisation - especially with React. One surprising take away is how much work and collective knowledge was required to bring out better performance from React, while Vue was fairly well optimised from the get-go. Whatever we can say about the relative performance of these two libraries, this is definitely a win for Vue's developer experience.
Всей деревней пришлось пердолиться, и из соседних кузнеца звать - и все равно тормозит. Как же так, в Фейсбуке ведь такие инженеры.
Есть express 4, есть куча файлов с nunjucks templates и есть nodemon.
Так вот запускаю
nodemon --watch . --watch public
В итоге при изменении в js файлах отлично перезапускается приложуха, но при изменении html не перезапускает и приходится перезапускать руками.
В чем тут проблема может быть?
Во, только написал и сам разобрался в чем было дело. Сорян за зафлуживание топика.
Вряд ли, это $4500 с лишком, за час за джаваскрипты столько не платят.
За COBOL, мейнфреймы и APL - бывает, но тоже редко.
В том, что это должно проходить на этапе рантайма. Вебпаки и иже с ними компиляция/процессинг/трансляция. Но проблемес уже решил хитрым способом(хотя он вроде бы классический, как мне сказали) с модулем-реестром этих классов(что-то похожее на service locator).
Мужики, здарова! Коротко, заманали клиенты звонить на мобилку, хочу подпилить на сайт отслежку товара! Помогите, сил больше нет!
Тип, напишу что хочу:
Логин - типа трек номер, ввел и смотришь всю инфушу!
Вы видите копию треда, сохраненную 9 июля 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.