Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.
>>796384 Кантора наверни и не выебывайся. Недавно листал это вот расхваленное "Секреты JavaScript ниндзя" - типичная рыготина с кучей воды. А Кантор по хардкору ебашит, без воды и лишних пояснений. Если освоишь его курс, то можешь считать, что постиг суть js.
>>796475 Кантор это автор сайта javascript.ru? Помню, как он обосрался, забыв в описании функции setInterval указать 3-й параметр. Больше на эту парашу ни ногой.
>>796486 Именно обосрался, порватка, этот тупой хуесос предлагает создавать таймер с параметром на JS так: setInterval("function(n) {...}", interval); Я бы такому дебилу и домашнюю страницу писать не доверил.
>>796494 как ты вообще программированием занимаешься ? У тебя с логикой траблы лютые: Кантор знает как делать правильно ? - да Кантор человек ? - да Человек периодически ошибается ? - да
а все остальные свои скилзы он из-за своего непрофессионализма получил.
короче тут есть тысячи вариков доебаться до твоей логики, так что ты либо правда туповат либо тролль в жс трейде, что собственно то де самое
> Я бы такому дебилу и домашнюю страницу писать не доверил.
лол хорошо, что ты ни на что не влияешь. Тимлид диванный
Ребята, такая проблема. Начал экспериментировать с Реактом (без флакса) и разрабатываю мини-сайтец с изоморфными компонентами. Проблем и вопросов особых не возникало, ибо контент весь рендерится однажды, после запроса. Но тут еще созрела идея админку запилить, и там уже хотелось бы динамически обновлять содержимое страницы (фильтры, редактирование и отправка данных, вот это все).
Пока для основных страниц код был простой как два пальца - сервер рендерил страницы и попутно херачил json данные в тег javascript. Для унификации кода использовал метод getDefaultProps() в котором определял окружение и брал данные из того самого тега, если мы находимся в браузере. Вот теперь возвращаясь к проблеме динамически обновляемых данных. Я хочу, чтобы в моей админке при запросе сразу рендерились определенные данные, а так же, при AJAX запросах обновлялись.
Читаю всякие гайды по этому вопросу и никак не могу взять в толк, какой же пождход наиболее грамотный. С одной стороны, можно в getInitialState фигачить пропсы, а потом стейты обновлять в соответствии с полученными данными. И, хотя фейсбук вроде не против такого подхода, когда пропсы используются только в качестве первоначальных значений ( https://facebook.github.io/react/tips/props-in-getInitialState-as-anti-pattern.html ), но неприятный осадочек от слов НИНАДА ТАК ДЕЛАТЬ, ЭТА АНТИПАТТЕРН остался. Так как же лучше организовать обработку данных?
>>796532 когда юзаешь експресс, юзай sendFile т.к. общая практика и не нужно опускаться до лоу левел, она сама все прочитает и сделает.
если нужно прочитать файл и с его содержимым что нибудь сделать, регулярочкий что нить поменять например надуманный пример но все же а потом только отправить то второй
>>796115 (OP) У brackets есть плагин, преобразовывающий html в css(CSSFier), стоило только скопипастить из поля с нтмл-кодом в поле ксс-кода. Есть ли в Sublime подобный плагин?
Есть тут те, кто проходил FreeCodeCamp? С какого момента там требуется кооперация и живое общение с людьми? Дело в том, что я не могу общаться на английском языке, но в состоянии прочесть, например, документацию. На то, чтобы «подтянуть» english уйдет минимум полгода-год. Реально ли там получить Front End Development Certification без общения и попен-сорсных проектов для НКО? Или хотя бы пройти там курс, параллельно изучая английский, а потом под конец уже взяться за эти проекты?
>>796851 >true && b() 1. проверка первой части выражения - равна true, если бы была false, проверять вторую часть выражения смысла нет 2. выполняется функция b(), которая возвращает 42. таким образом переменная а будет равна 42
>>796880 Доведённый до ума текстовый режим. Шиндузятники уже и забыли, в семёрке заводится со специальными видеодровами, с восьмёрки выпилен с концами. OS X изначально только графическая. А используется, когда графика нахуй не нужна либо иксы не заводятся. Вебдева слабо касается, правда, ибо хоть более-менее рабочих решений для отображения браузеров во фреймбуфере нет, иксы при переключении туды-сюды тормозят, а Wayland готов чуть менее, чем второй ангуляр. Но для многоязычных богов один редактор для всего — куда более приемлемое решение, чем осиливать стопицот узкоспециализированных блокнотов со свистелками, коими эти ваши IDE являются. (inb4: Visual Studio).
>>796923 Сто лет ебашили лапшу на жыквери и ещё столько бы ебашили, но тут вылезают хипсторы и начинают кукарекать, что без жирных фреймворков, которые проблем больше создают, чем решают, жизни нет.
>>796938 Хуита, бизнес диктует наворачивать йобы в браузере - с жквери лапшой тут можно только жидко обосраться и съебнуть с проекта, пока нормальные пацаны не заметили. Каким тупым надо быть, чтоб думать, что какие-то хипсторы решают что именно будет в тренде, а что нет. Это тебе не вирусный маркетинг, это гонки, где выигрывает тот, у кого конкурентное преимущество.
>>796928 А где там была адекватная критика? Выражение return check && value это нативный жс и нормальная практика.
>>796763 Тебе напиздели господа >>796858 >>796931 И первый и второй пример делают одно и то же, присваивают результат функции b переменной a если передается truthy значение. Только в первом случае сменив true на false ты присвоишь переменной false, а во втором ничего.
>>796993 Может, ты ещё !1 вместо false и приведение к инту через |0 "нормальной практикой" назовёшь? Оно с одной стороны нативный жс, конечно, но с другой — снижающая читабельность кода кашица, которую в век промисов, сахара для классов и прочих модулей юзать как-то неприлично.
Напоминаю про единственную живую JS-конфу. Конфа в слаке, а значит для входа не нужен телефон, достаточно фейковой десятиминутной почты. https://invite-me-to-2chpr.herokuapp.com/
>>796936 > один редактор для всего Это обычно значит, что он для всего говно. Да и вообще текстовый режим в 2016 на десктопе - это пиздец какой атавизм. Ты мазахист какой-то.
>>796993 Ты ебанутый? a = true && b() a = true && 42 a === true Нормально заменять if (something) { func(something) } на something && func (something), но тут значение a различается в двух вариантах.
>>797190 > > один редактор для всего > Это обычно значит, что он для всего говно. Нет, это значит, что он насколько хорошо и универсален, жетбраинз ребенок
>>797194 Готов поспорить, что жетбрейнс-ребенок делает кнопочками всё в несколько раз быстрее и ненапряжнее, чем ты выбиваешь свои заклинания на клавиатуре, попутно вытирая пот со лба
>>797190 >Это обычно значит, что он для всего говно Да любая программа говно, которая не делана под конкретного человека и конкретные задачи. Можно аппроксимировать плагинами и прочими кастомными патчами, получится говно в шоколаде, И хуле? >текстовый режим в 2016 на десктопе Я что-то пропустил, десктопы превратились в фоторамки? Или моноширинная сетка нынче уже не тру и надо код комиксансом писать? Деплой, пакажманажеры, VCS — один хуй в консоли все.
>>797197 Жетбраинс-ребёнок умеет в слепую десятипальцевую печать? А то знаем мы этих задротов, которые в погромисты вылезли... наловчился в шутанах быстро по кнопочкам тюкать, но через жопу и уже хуй переучишь, проще кверти выкинуть и обучить какому-нибудь твиддлеру.
борщ двощ, такой вопросец: есть ли разница для nodejs между require("lodash") и require("lodash/find") ? Либо я в глаза ебусь либо они забыли ентот моментик описать в доке
>>797210 Хотя бы тем, что функционал ветвления с помощью && прозрачный и задокументирован, а битвайзовым или кастить в инт это сайдэффект с нехуевыми ограничениями.
>>797413 Они так заманивают вимеров и эмаксеров. Вимера ведь калачом не заманишь опять корячить руки для вражеских концепции QWERTY CUA-шных сочетаний.
>>797279 Слак не сливает данные и имеет нормальные клиенты для всех мобильных и десктопных осей, а телеграм говно для школьников из вк. А конфа живее всех живых.
>>797463 > Слак не сливает данные Пруф, что не сливает Пруф, что телеграм сливает > имеет нормальные клиенты для всех мобильных и десктопных осей Которые тормозят просто нереально, в сравнении с телеграмовским, который даже на моей распе просто летает > А конфа живее всех живых. Мантры какие-то, я же там есть
>>797478 >Пруф, что не сливает Пруф отрицания? Ты ебанутый? >Пруф, что телеграм сливает Пашка. Он всегда ходил под гебнёй и нет поводов думать, что в этот раз он внезапно изменился.
>>797491 >Пашка делает заявление, что не собирается сотрудничать с властями и сливать ключи. >Анон делает заявление, что пашка всегда ходил под гебней и всё уже давно сливается. Спасибо, что показал путь к истине, анон.
>>797509 Охуенно! Легко жи запомнить. AND - правило правой руки (возвращает второе значение, если первое truthy) OR - правило левой руки (возвращает первое значение, если оно truthy)
Аноний, нужно сделать несколько заданий, используя Angularjs как фронт-энд и Expressjs, как бэк-энд. В качестве среды разработки использую IntelliJ Idea. Как заставить их работать вместе? Гуглёжка дала только команды в терминале и крайне поверхностные Хэллоуворлды, без структуры проекта и вообще, без всего. Стоит ли вкатиться в другую среду разработки?
>>797522 >Тебе шашечки или ехать? Не понял. Но спасибо, сейчас буду смотреть N++, а то от хтоничного запутанного пиздеца Ителлиджей уже глаза болят, нахуй.
>>797524 А вот какого хуя на false можно тихо и безрезультатно пытаться вешать свойства и никаких эксепшонов не сыпется? Я знал, что жабоскрипт говно, но не до такой же степени. Последний раз так охуел, когда узнал, что в похапэ до 5.4 нельзя было к свойствам возвращённого функцией массива на ходу обращаться.
>>797553 Сервер после загрузки страницы не может ничего по своей инициативе на клиент слать, только если ты (с клиента, опять-таки) откроешь комет или вебсокет, и то пока он не отвалился.
>>797519 Немножко перефразирую. Есть у меня node.js проект в WebStorm (нахуй IntelliJ). Как Express js рисует страницы? Как я понял, для Angular js нужен только тег на html страничке, а значит, его туда нужно добавить. В какие папки распихать всю эту ебалу? Пояснений по структуре проекта я почему-то не нашёл.
>>798193 Каких скриптов? Express - это сервер. В идеале, если его использовать с ангуларом, ты делаешь через ангулар запрос на роуты - express отвечает json'ом, ангулар его парсит и вставляет куда нужно
>>798228 Вовсе нет. Порог входа как раз довольно низок, можно начинать его использовать почти сразу после прочтения тутора и парочки гайдов. Вот кривая обучения довольно долгая, хоть и пологая, потому что множество подводных камней и специфичных не дженерал-кейс вещей.
К примеру Ember имеет куда более высокий порог вхождения, это жесткий фреймворк который надо знать хотя бы на 75% чтобы его применять, в отличие от ангуляра. При этом у него короткая кривая обучения, - сел, выучил, и дальше ебашишь себе спокойно ни о чем не задумываясь.
Анончики, выучил базовый js, node, express. Что учить теперь? Случайно нашел такую штуку как sails и на первый взгляд она мне очень понравилась. Стоит ли тратить на нее время или не выебываться и начинать учить реакт?
>>798336 наподобие вопрос, но только он наверное к хтмл больше относится. Как на одной странице перейти по меню чтобы заголовок и navbar остался тот же, но контент открылся другой?
>>798359 Ты тоже хочешь отображать чужие внешние страницы у себя? Если да, то пробуй iframe, но в твоём случае с ним могут возникнуть сложности при autosize контента. Есть другие более сложные варианты, например, скачивать к себе внешние страницы и потом их отображать, здесь уже гугл в помощь. Если контент именно твой, то это не схожая задача, здесь нужно будет перключаться на другую view. Для начала попробуй бутстрапом реализовать, у них есть отличные примеры в документации.
>>798359 >>798368 >>798371 Жара мне весь мозг расплавила, херню тебе написал, лол. Короче, navbar делай тупо бутстрапом: http://www.bootply.com/95542#. На сайте бутстрапа найдёшь ещё примеров с navbar. А вот уже контент отображать: 1) Внешний контент: iframe или шерсти интернет. 2) Твой контент, то это разные view должны быть (Это если ты MVC концепцию используешь). В navbare да, это тупо href получается на твою другую view. Как-то так.
>>798373 > Твой контент, то это разные view должны быть (Это если ты MVC концепцию используешь). В navbare да, это тупо href получается на твою другую view. А без бекенда это нельзя реализовать?
Сап пилю тудушку. Сейчас есть выгрузка с бекенда и отображение на фронт, а так же добавление новой тудушки. Мне нужно навешать на все чекбоксы по лиснеру, и в случае клика делать ajax patch запрос и еще кнопку удаления. Халп.
>>798442 Ааа, это ты, который тудушку делает уже несколько дней кряду. В чем хелп-то нужен? Вешай лиснеры. Только не по чекбоксу, а групповой, например, на класс. А внутри хендлера проверяй, на что таргет. По свитч/кейс логике можно определить для каждого элемента свое действие. Профит!
Анон, как заставить это говно записывать в файл? Что, сука, характерно, String(result) имеет тип undefined, потому, как я догадываюсь, запись и не производится, хотя файл создаётся исправно.
Пацаны, нужно построить различные графики. Имеется .xls таблица где-то 4000 х 4, графики строятся из её данных, могут строиться как крохотные на несколько точек, могут строится и по всему диапазону. Так вот, в чём для js лучше давать данные? Выбирать php скриптом, потом в какой-нибудь xml сохранять и передавать? xml очень много весит. Поясните за этот момент
>>798611 Засунуть все данные в CouchDB, как вариант. А ее теребить будет быстрее, чем читать файл с диска или парсить XML. Хотя, парсить придется в любом случае, только уже нативный формат JSON.
>>798533 > У меня не то немного, у меня тудушек может быть сколько угодно, но при этом одна и та же функция должна отбатывать ( патч запрос на сервер) Какое это имеет значение, сколько у тебя тудушек? Да хоть дохуллион. Вешай на класс лиснер, в хендлере ссылайся на this.
>>798670 ну там все в одном диве сделано. а у меня тип 2 лиснера в каждом ли должно быть, на чекбокс и на кнопку удаления. Их типо в отдельный див внутри ли пихать?
Посоветуйте фреймворк пожалуйста для человека, который знает один только Python И подскажите вот эти все Coffee Script и иже с ним это типа такая возможность писать "питонично" а потом пересобирать в js? С чего начать?
Посоны, я не совсем понимаю такой момент: как остановить выполнение скрипта до совершения пользователем определённых действий? Ну т.е. юзер нажал кнопочку, всплыло окошко — и пока он там данные не ввёл — дальше ничего не происходит.
>>798965 >как остановить выполнение скрипта до совершения пользователем определённых действий? Повесить алерт, очевидно же, лол. Он остановит выполнение скрипта до тех пор, пока пользователь не нажмет "Ок".
пацаны, учу ноду и тут такое дело: вебсокет не хочет посылать сообщение серверу, я тут описал в чем трабла, косяк скорее всего на клиенте, но ошибок не показывает никаких, не пойму что не так. https://jsfiddle.net/a4h3q94r/
>>798984 дак а проблема в чем, браузер то мой поддеживает WebSocket, var ws = new WebSocket('ws://localhost:8888'); на клиенте ошибок не показывает, да и connection событие на сервер бросает, я знаю про сокет ио, я хочу с низкоуровневым разобраться, а потом уж обмажусь express, socket.io и прочими паспортами
>>798995 я так понял, что это происходит когда обновляешь страницу не перезапустив сервер
на самом деле проблема оказалась на 39 строке: wss.on('message', message => {}); я вешал обработчик message на wss (webSocketServer) когда повесил на каждого клиента по отдельности все заработало https://jsfiddle.net/a4h3q94r/1/
Автор книги "Secure your NodeJS web application" утверждает, что любой необработанный эксепшон в ноде приводит к утечкам памяти и рано или поздно заставляет ноду упасть. Дабы не стать заложником подобной ситуации (ведь все гипотетически возможные эксепшоны в try/catch не отловить) автор предлагает воспользоваться встроенным модулем 'cluster' и, через мастер процесс, форкать дочерние процессы, тем самым, заставляя их падать принудительно после первого же необработанного эксепшона (заодно и некое подобие балансировки нагрузки имитируя, да), и возрождаясь вновь.
Так вот вопрос к профи - такая схема реально используется в продакшне кем-либо? И чем такой вариант лучше/хуже модуля Node Forever?
>>799019 "You should now understand that once an unexpected error is thrown process is on it's way to junkyard." Значит все пиздеж и можно смело пропускать мимо пальцев эксепшоны?
>>799064 Просто я слышал о такой проблеме последний раз где-то в 2013. Не знаю, актуальна она сейчас или просто все начали вешать глобальные обработчики экспепшенов, но у нас чат-сервер с декабря прошлого года работает без рестартов и всё хорошо
>>799057 Нужно отправить от ангулара экспрессу два файла, а потом, проделав с ними операции, вернуть результат в виде строки (или похуй, чего) от экспресса ангулару.
>>799079 Ты тролишь, что ли, блять? Это же всё без проблем гуглится, куча ссылок
> Нужно отправить от ангулара экспрессу два файла https://habrahabr.ru/post/191464/ > проделав с ними операции, вернуть результат в виде строки (или похуй, чего) от экспресса ангулару app.post('/files', (req, res) => { // операции res.status(200).send('result') })
пацаны, если следующий проект запилю на угловом через babel будет много гемороя ? Что то я к нему привык уже, неохота с языком посреди проекта будет бороться.
>>799106 В ноде другой подход, тут не принято делать переусложненное монолитное говно нереальных размеров, а разбивать всё на независимые микросервисы.
>>799116 Ну так а где посмотреть можно набор таких сервисов? Просто хочу разобраться как пишут реальные проекты на ноде, но примеров не нахожу кроме новой админки вордпресса про которую тут кто-то несколько тредов назад написал "вордпресс переписуют на ноде!!1".
>>799120 >>799118 >>799124 Но он совсем не node-way, к слову. Он вообще довольно говнокодский, всё намешано и связано, моделей толком нет. Впрочем, что ещё можно ожидать от пыхомакак с опытом
>>799120 Это не новый вордпресс, просто новая админка к нему которая никому в хуй не вперлась кмк. Хотя возможно это они так обкатывают ноду и когда-нибудь реально выпустят cms на ней(лет через 5)
>>799129 > Может проблема не в монолитах, а в том что ты говно пишешь? Монолит всегда скатывается в говно, потому что нельзя всё продумать заранее, а проект становится всё сложнее и сложнее. Микросервис всегда можно вообще переписать, хоть на другой язык, который лучше подходит под задачу
Привет всем. Есть две функции которые делают одно и то же. Разница в том, что один работает в хроме. но не работает в огнелисе, а второй наоборот - работает в огнелисе, но не работает в хроме. Как мне запускать проверку на брузер и выдавать лишь нужный код?
жсач, короче надо написать маленький магаз позиций на 60, социалаус, оплата вм, палка, я уже пол года вкатываюсь в жс с питона и джанги, хочу вот попробовать реакт и ноду, читал про то что на ноде риалтайм и прочие spa делать удобно, скажите делают ли на ней магазины ? Не охота сроки сильно затягивать если встряну на полпути из за концептуальной невозможности сделать что то банальное на ноде. Или я зря загоняюсь и можно делать на ней
В контроллере при валидации пользователя забираю данные с сервера в виде json. Вопрос, как мне отобразить данные? Интерпретатор не видит массив объектов. Допустим console.log(data), нихуя, а вот внутри функции return console.log(data) в сосноли массив с данными отображается. Это из-за локальности переменных? Типа аргумент функции, который локально создается. Первый ангуляр.
>>799462 Мое, не мое - не важно. Я не могу найти как текст из инпута записать в переменную/массив/json/похуй_во_что в клиентском js и передать серверной, чтоб я ее хотя бы мог вывести в консоль. Если мои представления о том как это происходит отличаются от реальных действий, так наставь на путь истинный.
>>799179 >скажите делают ли на ней магазины ? Неудобно, бери джумлу и не выебуйся. Вот буквально месяц назад ставил на пощупать reactioncommerce, оно еще сырое шо песец.
>>799493 > научиться бегать, не умея ходить Чет Фореста Гампа вспомнил. Я немного иначе отношусь: я как ребенок, который учиться письму, а потом уже учиться видеть в своей писанине ошибки. Так же и я пытаюсь написать, ради того, чтобы видеть что работает, а потом или/и походу замечать косяки. У меня банально нет опыта для анализа своего кода. Давай подсказывай куда смотреть.
>>799506 Нет ничего плохого в таком подходе, но учи последовательно, епта. Чтоб передавать данные по протоколу http на ноде, тебе нужно знать как он работает, чтоб понимать что ты вообще делаешь. Чтоб взять данные с input, нужно понимать как эти данные хранятся, и как к ним добраться. Копируя код с треда многому не научишься. Будешь может понимать какие-то паттерны, но шаг влево-вправо и ты обсераешься
>>799551 Все равно он хуйню написал в url, app.js это ж просто название файлы на серваке. Там надо писать что-то типа /login А в app.js обрабатывать посты по этому url app.post('/login', func(req, res))
>>799555 >>799558 в документации аякса как пример было примерно 'index.php', я поменял на свое, указав, как в примере, имя с расширением. Откуда вы взяли "/getUsername" / "/login" ?
алсо, вот тебе первая же впска за 15 баксов в год, можешь там своими нодами в жопу ебать родных и друзей, цена даже ниже этого говна с ужасной репутацией
>>799788 Спасибо, выглядит годно, попробую взть у них один впс для тестов. А про хетзнер ничего плохого не могу сказать за несколько лет использования, не было проблем с ними. А вот когда на всяких русских хостингах я "лечу сайты от вирусов" то там охуеваю с того что за те же деньги или большие оно работает крайне хуево.
>>799802 Ты правда не соображаешь, что вместо ожидания ответа от рандом ананаса давно мог намного быстрее разобраться сам в таких вещах, как "куда мне добавлять жс на страницу шоб работало" и "как правильно написать 10 строк базового jquery кода"?
>>799796 Советую полистать сайт, это очень популярное коммьюнити где всякие компании делают йоба-скидки типа таких что по ссылке, может найдешь что-то покруче даже. Типа 4гига @ 4 ядра за 20 баксов в год, с кучей перделок.
>>799826 Это скрытый реквест помощи был, не спал хуй знает сколько, бекенд давным-давно готов и протестирован ( работает) и сегодня нужно выкатить всё.
>>799831 Просто то, что ты не можешь справиться с задачей, которую любой школьник сделает с гуглом за вечер, говорит о том, что ты от природы тупой. Хз как ты на джаве умудряешься писать
>>799893 Функция, которая возвращает функцию. Помнится мне, тута месяца три назад из треда в тред гонялся парнишка, который не понимал, как устроен счетчик, скроенный подобным образом. Суть заключается в очереди выполнения. Обрати внимание, как передается inBetween в функцию filter. inBetween вызывается с аргументами (3, 6) и, следовательно, выполняется, возвращая в filter не собственное тело, но дочернюю анонимную функцию function(x), причем не просто возвращая, а с контекстом. Именно поэтому анонимная функция сохраняет способность обращаться к аргументам материнской функции inBetween . Если залезть поглубже, то в Chrome DevTools можно проследить весь жизненный цикл функции, от вызова и начала ее выполнения до передачи контекста и возврата данных.
>>799905 >в Chrome DevTools можно проследить весь жизненный цикл функции Демистифицировать поведение такой функции можно установив брейкпоинт в возвращаемом значении дочерней функции. Хромой дебаггер заодно раскрывает и скоуп (область видимости), и контекст (сиречь Closure). Т.е. дочерняя анонимная функция имеет доступ к своим локальным объектам, объектам материнской функции и, конечно же, к глобальным (Window).
>>799938 Не понимаю зачем вы поритесь в сраку этими замыканиями, если их можно оформить просто как вспомогательные функции. В чем тайный смысл разрывать себе и другим моск?
>>799974 >Не понимаю зачем вы поритесь в сраку этими замыканиями Такой подход, кстати, охуенно облегчает жизнь любителям поиграться с коллбэками. Т.е. в коллбэк можно передать дочернюю функцию, доверху указав в материнской необходимые аргументы, как раз, как было у вопрошающего анона в фиддле. Сам я так не делаю.
>>800085 >Ребят, почему второй круг не появился Тащем-та, он и появился. >и как вообще сделать несколько кругов? Очеидно же, задать разные координаты для отрисовки, не?
>>800098 Ты сделал так, что это все работает, только если указать эти id: drawGraph({id: 'graph1', circleColor: 'green'}); drawGraph({id: 'graph2', circleColor: 'green'}); drawGraph({id: 'graph3', circleColor: 'green'});
Но у меня эти id динамические. К айдишнику graph подставляется число автоматом. Можно ли обойти это, и что бы скрипт сам брал айдишники, а не я их прописывал в скрипте?
>>800115 var wrap = document.getElementById('wrap'); var a = Array.prototype.slice.call(wrap.children); for (var i in a) drawGraph({id: a.id, circleColor: 'red'});
>>800124 >Что-то они не отображаются вообще. Все работает. >И на моем сайте они не могут быть все завернуты в один див. Dom traversal. Если ищешь по ид, а не как показали тебе с классом, то document.querySelectorAll('[id^=graph]')
1. Это работает: <div id="graphWrapper"> <div class="chart" data-percent="88"></div> </div>
<div id="graphWrapper"> <div class="chart" data-percent="100"></div> </div> Мне так и нужно, окей.
2. Вместо этого drawCircle('#efefef', options.lineWidth, 100 / 100); drawCircle(opts.circleColor, options.lineWidth, options.percent / 100); Мне нужно это, например: drawCircle('#efefef', options.lineWidth, 100 / 100); drawCircle('red', options.lineWidth, options.percent / 100); Что бы задать цвет всем кругам сразу. Один цвет для всех.
3. Если удалить: drawGraph({id: e.id, circleColor: 'green'}); То все ломается, а оно мне не нужно.
4. Обязательно юзать две функции, или что это? let drawMultipleGraphByWrapper = (wrapperId) => { let nodes = document.getElementById(wrapperId).childNodes; for (let i in nodes) { let e = nodes; if(e.className == 'chart') { e.id = 'chart-'+i; drawGraph({id: e.id, circleColor: 'green'}); } } }
let drawMultipleGraphBySelector = (selector) => { let nodes = document.querySelectorAll(selector); for (let i in nodes) { let e = nodes; if(e.className == 'chart') { e.id = 'chart-'+i; drawGraph({id: e.id, circleColor: 'green'}); } } }
>>800171 >>800165 > 1. Это работает Нельзя иметь два одинаковых id, это противоречит конвенциям. id - ИДЕНТИФИКАТОР, он должен быть один. В твоем случае нужно использовать классы, у тебя уже есть класс chart, по нему и можно рисовать
> 2. Вместо этого > 3. Если удалить: Ты, судя по всему, вообще в жс не шаришь Если тебе нужно просто рисовать графики по определенному классу, то вот: http://jsfiddle.net/xxxwww/m1dhc8w5/5/ Удалил всё "лишнее"
> 4. Обязательно юзать две функции, или что это? Первая рисует графики во врапе, вторая по селектору (по классу, по id, по любому атрибуту)
>>800177 >Нельзя иметь два одинаковых id, это противоречит конвенциям. id - ИДЕНТИФИКАТОР, он должен быть один. В твоем случае нужно использовать классы, у тебя уже есть класс chart, по нему и можно рисовать
Мне структура HTML не позволяет сделать так, как делаете вы.
>Лол, в смысле? Я там задавал такой же вопрос, и мне там один ответил, чтоб я тоже юзал document.querySelectorAll
>>800180 > Мне структура HTML не позволяет сделать так, как делаете вы. Какая структура? Она тут никак не влияет, у тебя идет поиск .chart по всей странице. У тебя может быть хоть десятиуровневая вложенность, может её вообще не быть, всё равно будет работать
>>800243 >Enterprise Ага. Только при чём тут интернет-магазинчики, бложики, музло- и софтопомойки, информационные сайты фирм и всякое такое прочее? Нода и жирные JS-фреймворки позиционируются как замена технологиям разработки десктопных и мобильных приложений и RIA. А стек HTML+CSS+JS+PHP+MySQL как жил, так и живёт. Джанга, рельсы, спринг, аспнет его не вытеснили и не убили, почему вдруг нода должна убить?
>>800269 Не обязательно бесплатными, на бесплатный влезет максимум личный сайтик, статика или динамика с полутора посетителями в час. А бесплатно и Openshift/Heroku есть, так и что? И учти ж ещё, что PaaS и тем более VPS сложно админить, нужно постоянно держать для этого человека или срочно искать фрилансеров неизвестного уровня жопорукости, а PHP-сайтик по FTP залить и дамп базы в PMA закинуть любая макака осилит.
>>800272 А кто говорит, что нода убьет этот стек? Этот стек невозможно убить, не предоставив полноценной замены пыхе, которая при отсутствии трафика севрер не нагружает вообще
>>800385 Я сейчас пишу подобный движок, только для себя. Кому-то б я такой ни за какие деньги бы не делал. Но это я, лучше в /б или /врк спроси, там тупые непривередливые студенты-нищеебы, которые за 5к сделают
>>800292 >полноценной замены пыхе, которая при отсутствии трафика севрер не нагружает вообще Любой язык, на котором писал не жопорукий даун с бесконечными циклами.
>>800504 Ты что-то нихуя не понял. Для пистона, ноды, руби нужно постоянно держать рабочий инстанс, который грузит сервак. У пыхи инстанс рождается после получения запроса и умирает после ответа на него
>>800519 Но там надо постояно держать апач, нжинкс или другой вебсервер который тоже грузит сервак, чудес и магии не бывает, 80 порт должен кто-то напостоянку слушать. Да и вообще о какой нагрузке на сервак речь если нет запросов и нода нихуя не делает просто ждет? мимо
>>800543 > Но там надо постояно держать апач, нжинкс или другой вебсервер который тоже грузит сервак, чудес и магии не бывает, 80 порт должен кто-то напостоянку слушать. Вебсервер может быть один на все сайты > Да и вообще о какой нагрузке на сервак речь если нет запросов и нода нихуя не делает просто ждет? Запусти голый экспресс и посмотри сколько он жрет
>>800572 Память У меня только каркас mvc из примеров репозитория экспресса ест 30 мб. Это только каркас. Готовое приложение у меня в среднем ест 150-250 мб Нода не конкурент пыхе для малопосещаемых сайтов, а пыха не конкурент ноде для хайлоада
>>800600 Ну там половина шаред либ. Ну и для сравнения голая нода без нихуя занимает всего на 7мб меньше. Ну а по поводу всяких сайтов с низкой посещаемостью, то я полностью согласен что нода там не подходит.
>>800656 Когда и я был социоблядью, мне нравились все эти звездочки и друзяшки. Ровно до тех пор, как стал зарабатывать на своем коде. Тогда пришло осознание, что весь этот опен сорс просто утопия.
>>800658 Я даже поясню для ньюфагов и некоторых заблудших душ.
Есть два типа программистов, зарабатывающих и работающих даром или за копейки.
Каждый сам выбирает свою роль. Это даже не зависит от навыков. Конечно минимальные способности нужны, хотя бы знания сочетания копипастинга.
Ближе к телу. Почему программисты в своей массе стали получать меньше? Разве они мало что могут? Нет. Сегодня даже школьник может на коленке поднять сервер, накидать сайт за вечер и запустить стартап на выходных. Спасибо, опенсорс.
Раньше, даже простой интеллектуальный труд ценился. Ты делал пинг понг и люди несли свои деньги, женщины предлагали интим, а власти мечтали нанять тебя в свои элитные структуры. Теперь ты собираешь крайзис из ассетов на юнити за неделю и тебя поливают говном. Спасибо, опен сорс.
Как я и говорил у программистов две личины, позитивно воспринимаются те, кто гребет бабло, закрывает и ворует, присваивая себе чужой код и унижают всех этих бомжей с бородой, которые верят в то, что капитализм все еще не наступил. Из-за них у программистов есть также негативный облик - обиженка, затворник, чмошник, обоссанный программист, никчемное говно. Скорей всего речь о тебе.
Никто кроме тебя, не решает кому принадлежит твой код. Когда ты выбираешь GNU лицензию ты подписываешь в том, что ты предатель и не заслуживаешь уважения в среде достойных программистов.
Из-за тебя у нормальных ребят будет меньше предложений, из-за твоей "щедрости" средние зарплаты не поднимутся выше з/п какого-нибудь водителя, потому что бомбила берет деньги за свой труд, а ты нет.
Тебя обокрали? Ты обокрал нас, когда сделал наш код общественным достоянием.
Петух, сука, как же я ненавижу опенсорсников. Ссыти на них, гнобите и унижайте. Они не достойны места в этом мире.
>>800670 Пиздец ты шизик обоссаный, аж противно отвечать тебе. Так переживаешь за свою нищенскую зарплату, с которой ничего не случится, потому что задач у программистов становится всё больше и интереснее, что готов по тысяче раз переписывать одно и тоже, а не заниматься полезным делом.
Алсо, вангую в тебе ньюфага-крудошлепа, который думает, что на он сейчас занимается полезным делом и мог бы получать гораздо больше, если бы не проклятые опенсорсники
>>800683 Типичный столлмановский синдром. Ожидал, что набросится несколько сектантов с мозгом пропитым безумными идеями о коммунизме, где все для всех и бисплатна!!1
Читаю я значит книгу Марейн Хавербек - "Выразительный JavaScript", дошел до заданий, первые два выполнил довольно быстро, как для меня, тугодума, минут за 40 https://ideone.com/vYf97yhttps://ideone.com/k0rVeH да стыд, еще и наверно много лишнего понаписал, но у меня вопрос не о том, ideone выдает ошибки хотя тот же код в книге (прям там можно кодик писать) работает. Я понимаю что это все я вылечу просто установив ide апп, но все же, в чем проблема. А хочу я сохранить свои говна из сентиментальных чувств, вдруг хорошо овладею JS, будет приятно посмотреть.
Мы (программисты) могли быть богами этого мира, но из-за опен сорсников мы те, кем пренебрегают.
Разве интеллект это не ресурс, разве интеллектуальный труд менее ценен, чем физический? Программисты итак лишаются многих радостей жизней, им приходится отказываться от нормальной жизни, чтобы выполнять нетривиальные вещи, на которые у протстого быдла ни хватит ни ума, ни всей жизни.
Но нет, мы не будем брать денег, отдадим им все даром. Ну и пиздец. Где тут логика?
>>800721 Привел бы тебе убедительные возражения, но я стал больше ценить время и не хочу тратить его на распри с демагогом. Вряд ли ты сам веришь в ту позицию, которую пытаешься оправдать.
>>800727 Ты просто еблан. У тебя вообще нет четкой позиции, как и логики в ней ДАВАЙТЕ НЕ ВЫКЛАДЫВАТЬ ЛИБЫ В ОПЕНСОРС И ДЕЛАТЬ ПРОЕКТ НЕ ЗА МЕСЯЦ И ПОЛУЧАТЬ 1000, А БУДЕМ ДЕЛАТЬ ЕГО ПЯТЬ МЕСЯЦЕВ И ПОЛУЧАТЬ 5000. ЕЕЕ ВОТ ЭТО ЗАЖИВЕМ ТАК ЗАЖИВЕМ!! Ты понимаешь, что нихуя бы не изменилось, просто сильно тормозился прогресс?
>>800710 > Мы (программисты) могли быть богами этого мира, но из-за опен сорсников мы те, кем пренебрегают. Но ведь это просто наемный труд, компании зарабатывают на труде программистов гораздо больше чем платят. Это как хабрахабр, все пишут туда статьи/переводы, а на рекламе зарабатывают левые люди. Или как фриланс биржи. На программистах паразитирует куча всякой хуйни короче и единственный годный шанс избежать этого это свои стартапы. А по поводу гитхаба, есть же битбакет, это тоже самое что гитхаб, но приватные репы там бесплатны.
>>800737 Сидели на бакете, но сейчас подумываем перейти на гугл клауд, там в две строки синхронизация настраивается, пока просто зеркала держим. Все нравится, но пугает, что повторится история с гугл кодом, гугл ридером и десятком других проектов убитых гуглом.
>>800781 В либы выносится код из проектов и публикуется. Фреймворки пишутся при поддержке компаний. Весь труд оплачен, хуй знает с чего ты решил, что кто-то пишет либы вместо работы.
>>801013 Не, я думал есть способ сделать что-то вроде return function () {} и внутри этой функции как-то указать что вот у нее будет такой метод. Но видимо нет такого способа.
>>796115 (OP) Всем здрасте. Вопрос скорее не сколько в JS, сколько просто в логике скрипта. Есть вот такая херня на сайте(вместо цветных блоков изображения) - http://codepen.io/anon/pen/akYogo
Вроде все работает, НО, когда сайт будет готов, не будет известно сколько изображений будет. Может 4, может 8. Нужно сделать код, который бы работал для любого кол-ва. Сделал массив, раздал каждому элементу пронумерованный айдишник, а че дальше делать не ебу. Помогите пожалуйста
там я костыльно показал, как это должно работать визуально, проблема в том, что там я знаю что изображения 4, и сделал 4 функции для каждого из них, а в "полевых условиях" сколько будет изображений не будет известно, нужно сделать код, которому было бы похуй сколько их, он бы все равно работал для каждого
Я так понимаю на JS не имеет смысла возиться с выбором редактора. Кроме настройки шрифта/интферфейса/подсветки, что ещё нужно? Ничего. Единственную прикольную штуку видел, это обработка через JsHint на ошибки.
>>801164 На моем днищеноуте он лагает шопиздец. Самый смак - это фризы по две-три минуты, когда он начинает переиндексировать проект с кучей модулей. Ебанная ссанина. Вернулся на N++ и слава богам Египта.
>>801169 Использование ide предполагает, что ты работаешь с большими проектами и много зарабатываешь, соответственно имеешь нормальные рабочие инструменты. Если ты можешь заменить ide на npp и радоваться этому, то ide тебе и не нужна
>>801176 > специфичные плюсы этой IDE, которыми ты постоянно пользуешься Оче удобный рефакторинг Интеграция с нодой для дебага. Брейкпоинты и инспектирование без выхода из ide Проверка на опечатки в коде, сканируя весь проект Подсказки по возможной оптимизации и структуре кода Структура кода в виде дерева и удобный переход по ней Шаблоны для файлов с автопроставлением различных переменных, вроде копирайтов/времени и тд Построение списка задач из TODO в коде
> вебшторм не может в извлечение методов из исходником для последующего автокомплита Может конечно, лол. Это одна из главных фишек, "умный" автокомплит
Единственная, наверное, проблема, что нельзя его просто так за несколько минут освоить, как редактор. Нужно почитать и разобраться, иначе он для ничем от редактора отличаться не будет, только ресурсов больше есть
>>801186 >без выхода из ide Всё-то вам жирные комбайны надо, а как же юниксвей? Давайте сразу браузер в IDE засунем, чтоб прямо там отлаживать, а не удалённо, верстать мышкой и ваще. >что нельзя его просто так за несколько минут освоить, как редактор Хороший редактор (не блокнот с подсветкой кода) тоже осваивается непросто. >иначе он для ничем от редактора отличаться не будет Изкоробочная подсказка по встроенным средствам языка и проверка синтаксиса на ходу — это уже немалое отличие. Кстати, эта самая проверка имеет негативное психическое воздействие, потому что ругаются, блджад, на недописанную строчку в процессе её написания. Нахуй так делать?
Аноны, дайте годных источников для изучения AngularJS. Есть готовый API, нужно разработать интерфейс с формами, наполнением HTML данными пришедшими с сервера и тд. Hello world написал, после того что находил в интернетах сплошная каша
Посоветуйте видео-курсов, плис. Знаю только Линду, ITVDN и Специалист. Но это всё не то, без наглядных примеров "запилим йоба приложение в десять шагов вместе с нами"...
>>801240 https://docs.angularjs.org/tutorial/step_00 тоже начал разбираться. Вот прошёл офф. туториал параллельно делая похожую хрень сам (минус тесты) Думаю теперь сделать что-то, вроде как тестовой прилаги, хз пока что. Телефонный справочник пока запилил, без выебонов.
Есть в ноде объект process у которого есть свойство stdin у которого, в свою очередь, есть метод read(). Вопрос: где можно подробно ознакомиться о нем и о других методах и свойствах stdin/stdout/stderr? В документации к ноде о них ни слова.
Есть тут знатоки цсс-анимаций? Есть див на всю ширину страницы, упакованный во флексбокс. При добавлении второго дива они поровну делят ширину. Проблема: появление элемента происходит резко. Я же хочу, чтобы правый элемент плавно вылезал/расширялся, а исходный левый элемент так же плавно сжимался. Как это сделать без жс-анимаций?
Хочу написать операционную систему на JS. Подскажите что почитать на эту тему.
Сразу поясню, что ось будет нуждаться в node.js сервере, очевидно подойдет минимальный линукс, способный на это.
Далее я напишу файловый менеджер, самые нужные программки на js, типа блокнота, калка и всякие проигрыватели с просмотрщиками просто форкнув и переделав под себя готовые решения.
Далее форкаю последний хромиум и моя ось готова.
Ее фишка - весь софт будет открытым, так как нужны будут исходники, то есть ты копируешь не бинарники с интернета, а именно код, архивированный конечно. Пакеты исходного кода и ресурсов, все в открытом виде.
Каждый юзер сможет менять все, что захочет. Из уберфич будет возможность загнать всю свою ось в репозиторий в сети и восстановить именно свои конфиги на любой другой машине.
Это будет встроенной фичей, моя реализация восстановления системы.
Также приколом системы будет то, что она сможет запускать ограниченное только ресурсами машины число независимых нод, например вы хотите использовать комп для запуска текстового редактора, сервера майна и веб сервера, пожалуйста вы запускаете пакеты приложений и система выделяет столько независимых серверов, сколько требуется.
Как вам в целом идея.
Да, графическая оболочка и вообще все приложения системы будут поддерживать CSS3 и HTML5. Например вы пишите свою утилиту, вы сможете юзать привычные теги и собрать такой тип окна, какой хотите, используя готовые шаблоны из сети или вручную настраивая каждую кнопочку и шрифт.
Будут и системные шрифты, минимальный набор, но каждое приложение может использовать любые другие.
Такое вот дерьмо я мечтаю создать, хотя бы начать это дело, поскольку мне нравится писать на js и учитывая, что он развивается я вполне представляю, что на нем можно будет удобно писать системные приложения.
Пацаны, тема такая. В проекте использую Bower, накачал себе кучу модулей им. Но один из модулей, который сейчас было бы в тему применить отсутствует в поиске Bower'a. Что лучше делать в таких случаях, качнуть npm'ом или Git'ом? Или как-то можно добавить в индексацию Bower?
Допустим, у меня есть таблица Users, в ней пользователи. У меня есть 10 пользователей. При регистрации я добавляю одну запись в эту таблицу Я решил добавить настройки для пользователей, теперь у меня есть таблица Settings. При регистрации я добавляю записи в две таблицы,в Users и Settings Но в таблице Users у меня уже есть 10 пользователей, у которых нет запись в таблице Settings.
>>801747 Эти данные - святыня святынь, их не то что хранить надо, их надо выбить каждому человеку на его еблище грешном.
Что я хочу сделать - есть несколько графиков 2ух мерных и один 3ёх мерный. Пользователь заходит - выбирает параметры, интересующие его - отрисовываются графики, при желании он может их сохранить в виде картинки, пдф, ну это уже другая история.
Какие параметры будет выбирать пользователь -неизвестно, поэтому как я полагаю нужен пхп скрипт, который в зависимости от выбранных параметров сделает sql запрос, так?
Запрос выберет, что интересует конкретного пользователя вот сейчас и дальше это пойдёт к нему в бразуер магическими путями. которые мне неизвестны в силу не знания мат части.
js или кто? это пропарсит и построит графики, еблище пользователя увидит и охуееет, потом, там выборка данных из бд больше естественно не нужна, потмоу что потом либо пользователь закроет к херам сайт или сделает новый запрос на совсем другую выборку
>>801758 Как бы я это делал на C#, я бы запустил ms sql server, законектился с ним, сделал выборки, отрисовал бы их какой-нибудь бибилиотекой, матлабом или математикой.
>>801759 >>801758 Такой же алгоритм и на жс. Ты серверную часть на пыхе сделать хочешь? В общих чертах алгоритм такой
Сервер получает откуда-то xls -> Парсит его на данные -> Заносит данные в базу
Юзер заходит на страницу сайта -> Выбирает параметры и нажимает кнопку, делая запрос на сервер -> Сервер делает запрос к базе с нужными параметрами -> Отправляет данные пользователю, где эти данные как-то отрисовываются
Алсо, если данные нормализированные, лучше взять mysql или postgres, а не nosql, как советовали перед этим
Почему socket.io имеет в несколько раз больше звезд на гитхабе чем sock.js если во всех статьях-сравнениях авторы пишут что sock.js работает быстрее и поддерживается авторами лучше? Что их них лучше взять для простенького вебсокет сервера не больше 500 одновременных соединений?
>>801740 >Но в таблице Users у меня уже есть 10 пользователей, у которых нет запись в таблице Settings.
>Как решить эту проблему?
Проблемы никакой. Пройдись по базе с таблицей юзеров и настроек. Если в настройках нет записи с таким юзером - создай и запиши дефолтные настройки. Вот и все.
Посогайте, js боги, с AngularJS. <tr ng-repeat="p in people | orderBy:'age'"> <td>{{$index+1}}</td> <td>{{p.name}}</td> <td>{{p.age}}</td>
people - просто массив объектов.
Теперь, когда я добавляю новый элемент массива, используя push(), элемент появляется в массиве и отображается в таблице, но только в конец. orderBy:'age' на него не распространяется. Я думал нужно сделать что-то в духе refresh, но вроде нет. Искал, но запутался, растолкуйте, плз, почему новодобавленный элемент не сортируется.
http://news.dartlang.org/2016/07/angulardart-is-going-all-dart.html >We're happy to announce that we’re splitting the Angular 2 codebase into two flavors – a Dart version and a TypeScript/JavaScript version – and creating a dedicated AngularDart team. >a dedicated AngularDart team
>>802047 Как вы так живёте, я особо не в курсе мира JS, но вроде как только недавно трубили о том, что есть нормальный JS - это TypeScript. Angular2 на него перелез и теперь Angular2 никому не нужен.
>>802106 Он "не нужен" только здешним аутистам, которые потом его всё же будут учить с красной жопой. Как это было с первым ангуларом. На западе про него трубят оче сильно. Мимо-реактоблядь
>>802106 >и теперь Angular2 никому не нужен Не потому что на TS, а потому что overengineered piece of shit, Эйзинберг подтвердит. А тайпскрипт хорош. Просто удовольствие писать на нём.
>>802126 > а потому что overengineered piece of shit Это называется архитектура и продуманное ядро. Чего нет, например, в реакте, и каждый тут пишет как ему в голову взбредет. Нет стандартов, есть десяток противоречащих друг другу договоренностей и каждый выбирает свою. Десятки версий модулей для вещей, которые по идее должны быть в ядре. Нахуй это дерьмо, лучше overengineered, чем охуевать с больной фантазии коллег. Решил перекатиться на ангулар, когда он релизнется.
>>802139 Это не либав привычном понимании. Они просто разбили фреймворк но модули, но по отдельности эти модули никто не использует. Вроде и либа, но де-факто нет.
Как заставить этот метод возвращать целиком html страничку? Он её получает, проверял через консоль. Даже беглый осмотр показывает, что это именно нужная страница.
Ребята, я в общем плохо разбираюсь в низкоуровневых аспектах, но я вот тут про тайпскрипт почитал и я что-то не понял в чем, собственно, соль. Вот пишу я скажем на стронгли тайпед языке, например, Go, весь код обязан быть строго типизирован, тобишь я не могу взять аррей и набрать всего подряд, потом разобрать, пересобрать как мне захочется. Не могу объявить переменную, сказать, например, что let something. И потом по ситуации решить, чем something станет. В замен я получаю высокую скорость рантайма. Что я получаю лишая себя этих возможностей в джсе? Это же просто суперсет, интерпритатор никуда не делся и по прежнему будет весь LHS интерпритировать, и никакого буста по скорости нет и быть не может. Зачем вся эта телега нужна? Может быть я просто не шарю что-то, проясните пожалуйста.
>>802275 Если ты не видишь в этом плюсов - не используй. Это нужно для больших проектов, где много разработчиков. Там динамическая типизация становится проблемой, а не преимуществом.
>>802275 >Что я получаю лишая себя этих возможностей в джсе? Возможность писать большие проекты и тырпрайз всякий с кучкой таких же как ты обезьянок. Не допускать типа скатывания кода в хаос и при этом не нанимать шибко умных паграмастов, чтобы больше одного доширака в неделю не требовали.
Недавно вкатился в js. Хочу попробовать написать простенький скрипт на greasemonkey. Подскажите возможно ли по аналогии с выбором файла сделать выбор папки. Может подскажите какие-нибудь примеры, ну или хотя бы укажите в какую сторону гуглить.
>>802275 V8 работает примерно так: Если у тебя переменная инициализирована одним типом, а потом в нее запихнуты данные другого, движок ее реинициализирует - на это уходит время и память. Таким образом, статическая типизация позволяет писать более быстрый и экономичный код.
Посоны, помогите выбрать фреймворк для пет-прожекта. Требование одно: хорошо организованный и продуманный компонентный подход, крайне желательно - импортируемые кастомные элементы.
Поигрался с полимером - все нравится, но люди пишут, что нихуя не понятно - будет он дальше поддерживаться/развиваться, или нет.
Поглядываю на ангуляр2, оченно нравится тайпскрипт. Но, насколько я понял, там все markup-first (JS встраивается в маркап, а не наоборот), и пишут, что дебажить его адово.
В реакте нравится JSX (как раз-таки js-first, который мне импонирует), но до сих пор нет версии 1.0, и с каждым релизом он так меняется, что нуегонахуй. Есть подозрение, что долгий опенсорс на реакте со временем превратится в набор шизоидного кошмара.
>>802336 Ну так вот и думай, в коде после тайпскрипта будет минимум переинициализируемых переменных, v8 должен вроде как быстрее работать, не дергать кучу лишний раз.
>>802333 Ангуляр2 тоже ещё не релизнулся, я когда делал проект на работе в апреле-мае, пережил 5 релизов, в которых умудряли синтаксис менять. Больше не обновляю, если багов нет, на какой версии начал, на такой и будет. Тоже самое с реактом можешь сделать, к тому же, на пет-проекте не похуй? Попробуй Backbone.js ещё
Пишу локальную программу. Суть в том, что я буду заходить на локальную страницу, дописывать туда всякую хуиту, производить вычисления, сохранять состояние и выходить. Знаю html/css/js. Когда-то учил пыху. Вангую, что еще придется учить sql для того, что я хочу, да? Как быть?
>>802347 > мне вот западло было жертвовать своими мозгами и честно говоря даже обидно, что я не могу писать свой софт легко и просто > для меня это лютая мука, хотя с 20 лет назад еще начал изучать программирование и так и не осилил > я понимаю принципы ооп, но они там говорят про свои абстгакции в то время как я оперирую образами Неосилятор, короче. Ума ноль, а выебнуться хочет.
>>802400 Никогда не понимал, с чего у них так шаблон рвет. [CODE] function foo () {} foo() [/CODE] [CODE] const foo = function () {} foo() [/CODE] Разнице же никакой. Что там, что там foo будет константой, которую можно вызвать.
ES6 Ultra Masterpiece Special Edition стрелочная функция, в данном случае выполняющая роль колбека. Иначе можно записать (с некоторыми (this) ограничениями): function(L) { return L.toUpperCase(); }
>>801569 Блджад, из всех виденных мною поделий, начиная ещё с древней eyeOS, это первый десктоп на вебне, который реально передаёт десктоп-экспириенс, не тупит и даже выглядит пригодным для хомячков. Таки свершилось. Спасибо, анон.
>>801654 npm кучу ненужных файлов тащит, ибо пакеты в нём содержат билды и для ноды, и для браузера. Не очень весело, когда директория с небольшой приложухой весит несколько десятков мегабайт из-за зависимостей.
>>802293 Тут всё упирается в файловый диалог. Если он может передать выбранную папку как пачку файлов в ней, то можно. А вообще, у браузерного жабоскрипта нет доступа к файловой системе: если диалог отдаст имя папки, вытащить её содержимое не получится. Через внутренние API Firefox прочитать можно (не помню, можно ли получить к ним доступ через GreaseMonkey, но своим аддоном точно). Только учти, что мозилла из-за решетяности, трудноотлаживаемости и неинкапсулированности собирается через пару лет выпилить всё это дело нахрен в пользу убогого хромовского WebExtensions с парой плюшек, так что готовься перекатываться на SeaMonkey/Pale Moon/etc.
>>802333 >Но, насколько я понял, там все markup-first (JS встраивается в маркап, а не наоборот) Да вроде не. Можешь захуячить в компонент темплейт, прям как в реакте. А ангуляровские расширения для разметки — это не жабоскрипт, обычно просто специфичная ангуляровская декларативная хуита, от JSX принципиальных отличий не вижу, там тоже вкрячиваешь в тег хендлеры и можешь туда жабоскрипта напихать, а можешь в именованные методы всё вынести и будет чистенько.
>>802400 ФП тоже не обязательно перемешивает код (функции) и данные (переменные). Просто в жабоскрипте хэшмапы на хэшмапах и хэшмапами погоняют. И любой нормальный системщик будет недоумевать, на хрена плодить на ровном месте столько указателей. И тем более на хрена автоматом преобразовывать объект в число и делать прочие финты ушами, сокращающие и упрощающие код, но творящие полный пиздец под капотом, когда можно было бы намного эффективнее. Скриптовый язык, что с него взять.
Есть тут те, кто разбирается в nw.js? Из-за того, что на пикрил, прогами на этой платформе нельзя открывать файлы по дабл клику. По крайней мере, у меня такое впечатление сложилось. Если есть какой-то обходной путь, то за ним я, собственно, сюда и пришел.
>Пикрил Почему у меня от этой хуйни все ядра на 100% загружены?
Причём любая замена на setInterval или onhashchange - вообще не меняют результат к лучшему.
Я подозреваю это как-то свзано конфликтом прямого доступа к cputime и что строгая привязка к date или time и их синхронизация может облегчить, но как реализовать я без понятия.
Помоги анон, а? Желательно готовое решение на основе моей пикчи.
>>796115 (OP) Сап! Пните в нужное русло или на сурс готового решения для раздербанить, чтобы научиться в проксинг из расширения для Хрома. В двух словах суть задачи: Разобраться в механизме работы такого расширения, которое по определенным спискам заворачивает траффик через прокси в зависимости от домена. В списках перечень доменов и проксей, и правил, хотя этот велосипед я и сам придумаю. Хочу плюшку, чтобы серфить все, как обычно из под своего IP, а на некоторые ресурсы шляться через прокси, и в идеале подправлять http-заголовки запросов на лету по неким правилам.
Этот тред посвящён главному языку будущего - 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
JS-конфа в телеграме:
https://telegram.me/jsthread
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.