24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, Walmart и многие другие.
Форкнул вики. Нужно продумать как сделать в удобном виде, так как то, что сейчас - сырое донельзя. Пул реквесты делать нельзя, а значит все профиты от переезда на гитхаб теряются. Я изменю форму шапки к следующему треду.
Анон, чёто я вобще в непонятках. Пишу мелкое расширение для хрома, которое добавляет ссылку в таблику к каждой строчке в таблице. Нажимаешь на эту ссылку, происходит аякс запрос, а после страничку надо обновить. Использую так: $.ajax({ "url": url, "type": "POST", "contentType": false, "processData": false, "data": data, "success": function(e) { refreshPage(); }, });
function refreshPage() { if ($('.pagination-wrapper').length > 0) { $('.pagination-wrapper .active a').trigger('click'); } else { $('.search-form form input.btn').trigger('click'); } }
И какого-то хрена триггер не пашет($('.pagination-wrapper .active a').trigger('click');). При дебаге $('.pagination-wrapper .active a') элемент есть на момент вызова, если просто вбить эту строку в watch - страничка обновляется. Что за беда может быть?
>>685575 Тащемта ты описал только одну ситуацию, которую надо дебажить, а у тебя их там вагон: 1) ушел ли яакс? 2) вернулся ли ответ? 3) сработал ли success? 4) сработал ли refreshPage? 5) в какую ветку зашел if?
>>685586 Функция refreshPage срабатывает, т.е. аякс отправляется и success выполняется. If заходит в первую ветку и вызывается $('.pagination-wrapper .active a').trigger('click'); Но триггер не срабатывает. Вот скрин для ясности
>>685575 Вобщем я хуй знает, чего оно через триггер не запахало, но после замены $('.pagination-wrapper .active a').trigger('click'); на $('.pagination-wrapper .active a')[0].click(); всё пашет.
Почаны, суть такова: есть приложение, в котором есть возможность залить файл на сервер (нода), который будет храниться в gridfs на монге. Далее, если этот файл - изображение, надо сделать тамбнейл и как-то его отдать. Я уже умею загружать всё в гридфс, но совершенно не понимаю, как сделать тамбнейл из этого. Даже не знаю с какой стороны подойти. Хелп ми плиз
>>685736 >первый месяц Хуйня. Таких хостингов с "первым месяцем" я десяток назову. Если написано БЕСПЛАТНЫЕ - значит должны быть полностью бесплатные, а не с короткой демо версией.
Поправил шапку и отправил pull request. В инструментах добавил CMS, средства автодеплоя для CI систем, движки имиджборд, проставил нормальные ссылки на все указанные инструменты, добавил отдельные ссылки на русскоязычные сайты где есть и убрал платный хостинг из раздела бесплатных. Исправил ошибку в названии. В FAQ добавил конкретики и уточнил некоторые вопросы с точки зрения новичка. В учебных материалах добавил несколько новых, уточнил описание. Прошлый ОП
>>685813 Прошлая шапка была громоздкая, могла многих банально отпугивать, и читать её было неудобно. На гитхабе и читать удобно, и дополнять может каждый.
>>685828 Мне кажется, что прямые ссылки на инструменты - это не очень удобно. Я, например, постоянно смотрю на коммьюнити и гайды для инструмента перед тем, как использовать его. То есть, всё равно потом приходится гуглить
Ебучие генераторы в js. Зачем они нужны? Какой то костыль без задач и сложный сука. Это ведь из серьезных яп пришло, да? Анон, поясни мне за применение этих елдов, я тупой пиздец.
>>685920 Какой смысл в этой хуйне если в ES2015 завезли модули полноценные уже, без всяких амд-реквайр-систем костылей и ебли с засраным глобальным объектом.
>>685961 Если кому то нужно сообщество - он идет и гуглит. А кликая по ссылке с названием продукта ожидаешь попасть на сайт этого продукта, а не в гугл. К тому же, не все из указанных в гугле на первом месте, некоторые нужно ещё искать в выдаче. Да и не во всех продуктах важно комьюнити.
>>686050 Генераторы нужны для удобного создания "условий итерации" к итерируемому объекту. Итерируемый объект это тот объект, который можно на изичаз обойти в цикле. Но в целом, лучше использовать Map-ы какие-нибудь. Вот пример. Можешь попробовать закомментировать код функции-генератора и посмотреть на результат. https://jsfiddle.net/9yty26k3/
>>686261 Не знаю. Но кофе руби-подобный, а лайвскрипт пайтон-подобный и живой, хехе. Пока всё нравится, он охуенный. Производительность раза в 3 выросла
>>686269 Они видать решили сделать максимум не так, как в жс. Скобок нет, стрелки не те, :=, yes/no, даже в интерполяции строк единственный символ заменили на другой. Как то непривычнонаверное я утенок В чем пишешь, чем собираешь?
>>686719 А в коде важна не краткость, а читаемость. Посмотри на скалу - код очень краток, но не понятно нихуя. А вот тайпскрипт позволяет писать отличный читаемый код, плюс отлавливает часть ошибок на этапе компиляции.
>>686724 Так тот же лайвскрипт куда читаемее, чем нативный жс, пикрел Для меня было бы идеален лайвскрипт с типизацией, может сейчас как-то получится подружить с тайпскриптом
Жаваскриптаны, вот наговнокодил я окошко с кастомным скролленгом: https://jsbin.com/funuhubuwo/edit?html,css,js,output Как видно, я, как больной ублюдок, в событии прокрутки колеса мыши над окошком каждый раз перевысчитываю статичные данные куролеся как черт по ДОМу навроде высоты окна, высоты содержимого и прочее. Как-то ведь это можно всё один раз заранее положить, но просто во внешку кидать как-то хуево, особенно если моих копроокошек на страницу дюжину разных въебать. Как можно при инициализации для каждого окошка один раз высчитать вот это всё необходимое?
function LocalMain () { var post = document.getElementsByClassName("post_show"); document.write("<html><head><title>" + post[0].getElementsByClassName("title")[0].textContent + "</title></head><body>" + post[0].innerHTML + "</body></html>"); }
document.innerHTML тоже пробовал. Почему не пишется новый контент в страничку? На стэковерфлоу говорят что надо document.body.innerHTML использовать, но мне надо заменить ВЕСЬ документ, потому что в head целая куча говна.
>>687061 Причём если этот код из {} запустить через адресную строку, то он работает блять! Проблема в том что фф не может сохранить страницу которая была изменена таким образом. А вставленный в гризманки код не работает. И я даже не знаю почему - его банально не видно в девелопер меню.
>>687038 Щито, серьезно нет функционала для запоминания переменных на уровне жквери объекта? Пересчитывать каждый раз охуеть же неоптимально, а массив объектов с параметрами костыльно выглядит.
>>687064 Попробуй не нарушать структуру документа, меняй d.head.innerHTML и d.body.innerHTML отдельно.
У меня вот возник вопрос, как вывести текст страничками, т.е. я пилю страничку для отображения текста книги и хочу сделать отображение няшными страничками. Проблема в том, что при использовании не моноширинных шрифтов я не знаю как расчитать количество выводимых символов, для того, что бы честно вывести две странички без "вылезаия" за границы или пустых полей с низу.
>>687229 Можно накостылять это - http://jsbin.com/nolupabipo/1/edit?html,css,js,output ( http://stackoverflow.com/a/7668692 ) и в лупе добавлять по слову, каждый раз определяя,в выходит ли за границы или нет. Если выходит, то определяем момент начала новой странциы, слайсим строку и по новой. Начать можно, разумеется, с добавления такого количество символов (округлённых до ближайшего пробела), которое гарантировано не выйдет за пределы. Но это довольно-таки бредовый способ, я бы сказал.
>>687399 У меня прокрутка не работала если "http://" вместо "https://" в ссылке на жквери.жс стоял. Текст и не должен умещаться, он же прокручивается колесом мыши.
>>687353 В его примере тоже ничего не вызывалось, ты упоротый штоле? А те, кто используют this, который надо на несколько уровней прокидывать, в коде - тупые пидоры-мудаки
>>687451 > А те, кто используют this, который надо на несколько уровней прокидывать, в коде - тупые пидоры-мудаки Лол, ты что-то сложнее слайдера писал?
>>687451 Я проебался, потому что в примере он зачемто заключил анонимную функцию в скобки. Наверное, чтобы просто так увеличить количество скобок, я хз.
А про this
var y = 20; var x = { y: 10, z: () => this.y * 2 }
>>687469 Лол, с этим я кстати тоже согласен, let у нас тоже запрещен через линтер. Нормальные ребята значит появились наконец-то, раз такие мысли высказываются
>>687478 Потому что это всё бесполезные вещи, которые нет никакого смысла использовать. Код гораздо проще и понятней без них становится, меньше багов даже, меньше различий в стиле написания.
>>685345 (OP) Есть ли уже какой-то способ (например в html5) использовать асинхронность с многопоточностью.
То есть да, сам js асинхронен, но браузерная среда насколько я знаю последовательна. Даже сраные эвенты имеют свой порядок исполнения, в каждом месте по узкому горлышку.
Вот я пытаюсь симулировать частицы, но считать их смещения, когда частиц выше 2 тысяч вызывает лаги. Хотелось бы делить на группы эти вычисления и разделять на потоки, после чего уже одним draw call выводить получившееся изображение.
Можно ли это как-то провернуть? Или в 2016 году js в браузере до сих пор процедурный.
>>687483 Вы че, Абрамова обсмотрелись на конференции реакта и угорели по иммутабельности и чистоте? Декларативный подход для декларативной илиты? На самом деле это круто, но я пока ещё ниасилил, хотел бы посмотреть на пример вашего или околотого кода с таким подходом
>>687636 https://youtu.be/xsSnOQynTHs Вот тут он рассказывал про хот релоадинг и вроде сказал "иммутабельность это круто, давайте все так делать". Но инфа не сотка, давно смотрел. Вот тут он хорошо рассказал про ребят который так код пишут и их проекты, а также про возможные проблемы и как их решить, довольно годно. https://radiojs.ru/2015/07/radiojs-28/
Почему первая функция возвращает хуйню, а вторая число?Аноним14/03/16 Пнд 17:24:39#130№687670
var a = +prompt('Введите a','');
function getDecimal(num) { return num - Math.floor(num); }
Насколько KnockoutJS актуален сейчас? Недавно устроился на свою первую работу фронтендером после вёрстки. Думал, сейчас меня на ангуляре/реакте научат spa ебашить, а тут королевство программистов на сишарпе. Пишут фронт практически только на Typescript+knockoutJS. Идея в том, чтобы потом уйти на фриланс или что-то более высоко оплачиваемое. Вот и не знаю, правильно ли я поступил.
Вот допустим есть длинный список ссылок или любых других кликабельных элементов, неважно. При нажатии на такой элемент загружаются данные и выводятся на экран, но я так и не смог нагуглить что называется "best practices" как отключать эти ссылки пока данные грузятся. Кто-то через сss делает, кто-то через жс добавляет и удаляет обработчики, но это все как-то уебищно выглядит хз. Как вы делаете? Пох на каком фреймворке, основую идею бы. Пока ссылки заменили кнопками и ставлю атрибут disabled когда данные грузятся
>>687986 >как отключать эти ссылки пока данные грузятся Вот тут поподробнее. Тебе надо дизаблить только уже нажатую кнопку или все остальные или и те и те?
>>687986 Ну так и делается. Меняется какой-то аттрибут, у элементов которые надо отключить. А будь то дом-аттрибут, или добавление\удаление класса (и уже в css) изменение стиля, или изменение инлайн-стиля Это не столь принципиально, и завитт от архитектуры твоего приложения, как там тебе удобнее.
>>687633 Не очень понял с чего сделал вывод про иммутабельность, если честно. Но нет, у нас как раз используется мутабельность в основном. Хотя есть и иммутабельные места в боттлнеках, но чаще нет.
Объясните мне этот код. Как работает аякс, promise и жс с сервером, откуда там args?? Из какого еще ключа и значения формируется урл? Я ничего не понимаю. http://ideone.com/zJxpPY
>>688686 При создании промис принимает колбэк с двумя колбэками. Во внешнем ты пишешь свою логику типа хттп реквестов, подписываешься на события этого реквеста, если все хорошо - вызываешь resolve первый внутренний колбэк с пришедшим значением из хттп респонса, если все плохо - reject с кодом и сообщением ошибки, например. Но это все внутри. Когда тебе возвращается промис из твоего йоба адаптера - ты просто подписываешься на него через .then и передаешь туда как раз те самые колбэки resolve и reject, в которые приходят данные/ошибка и уже с ними работаешь. Если промисы не чейнить то это очень похоже на обычные колбэки xmlhttprequest'а, колбэки то ты понимаешь?
>>688712 Почему у меня вызывается reject я не понимаю? Просто проект прислали с отправкой данных на сервис, а оно постоянно reject кидает и я не знаю, почему, там длинный код и не пойму, где именно речект кинуло и вместо ошибки баззворд.
Аноны, как можно реализовать такую штуку - есть превьюшка новости и ссылка "читать всю", чтобы по нажатию на ссылку всплывала вся новость на этой же странице(popup, вроде называется такой прием). Можно пример или где почитать?
>>689189 Именно вызов модального окна, я совсем недавно начал изучать это все. Смотрел примеры все по-разному вызывают модальные окна. Может один способ предпочтительней другого
>>689246 Ну я хотел что-то прям высокоуровневое кнопку сделать хорошо, тип ngResource, только не ng. Но спасибо за fetch, почитал документашку, сделал выводы для себя.
Пишу реализацию шифра Цезаря. Если вызвать функцию encrypt(alphabet, 1) то последнее значение будет undefined. Если encrypt(alphabet, 2) то предпоследнее и.т.д... В чем проблема? https://jsbin.com/lowuqor/edit?js,console
>>690193 Да у меня и так вопросов не сильно много. Я BE разраб, просто хочу выучить JS чтобы лучше проще было понять глубины ангулара для своих личных проектов. Думаю, что этих трёх книг мне более чем хватит.
Лушче посоветуй по ангулару на будущее что-нибудь.
Котаны, я так понимаю в квадратных скобках нужно укзывать от 1 до 3 аргументов по желанию, но поясните почему в arr.forEach(callback[, thisArg]) в квадратных скобках первым идет запятая? Почему пишется коллбек если нужно там писать функцию? Можно ли использовать функцию описаную в другом месте кода?
>>690222 >Кроме callback, методу можно передать «начальное значение» – аргумент initialValue. Если он есть, то на первом вызове значение previousValue будет равно initialValue, а если у reduce нет второго аргумента, то оно равно первому элементу массива, а перебор начинается со второго. Чтобы было понятнее.
>>690224 >>690226 Точно, в глаза ебусь. А по поводу запятой? Есть в ней какой то сакральный смысл или так , thisArg просто пишут вместо списка аргументов в функции?
>>690242 >А по поводу запятой? Мне кажется, так наоборот понятнее. То что в квадратных скобочках - опционально. func(arg1[, arg2, arg3]); Т.е. если этого нет, то функция должна работать func(arg1); И если ты раскрываешь скобки, то подставляется запятая func(arg1, arg2, arg3); мы тут изучаем js или что?
>>685345 (OP) Котаны, учу я JS, учу, змейки-тетрисы, а тут Wasm вышел. Два вопроса профессионалам: 1) JS'у пизда? 2) Можно ли будет компилить JS в Wasm или уже начинать учить еще и кресты?
>>690393 >Потому что не подходит для проектов крупнее хеллоуворлда. Поясни, почему это так. Раз уж так, Atom и Brackets тоже не подходят. Все три - редакторы текста, а не IDE, не так ли?
>>690400 >JS'у пизда? Кекус. Писать сайта на С++ можно и сейчас и 10 лет назад, но проще сразу прострелить себе голову. Иди скачай cppcms и попробуй, тебе понравки.
>>690400 Доки по васму ты не читал, да? Это для тех случаев, когда ты хочешь запилить крузис в браузере. JS это не касается ровно никак. Разве что браузерки и всякие три дэ экскурсии будут пилить на крестах и подобном.
>>689812 Я тут вот первое накостылял немного, оцените - http://ideone.com/I1AEDq Но не до конца понял задание. Повторы удалять только если прям все результаты идентичны, т.е. при очках "4 4 4 6" нужно оставить только 6, или "4 4 6"?. Вроде бы, все 4-ки являются lowest score, но мало ли.
Или лучше-таки пересобирать новый массив, потому что там говорят об огромных количествах элементов, и удалять каждый раз хуёвенько будет?
>>690474 Честно, вот я не понимаю, как твой скрипт работает? Ты типа парсишь obj методом foreach и если матчит условия, то добавляешь строку в новый объект idx? Не, минимальные повторяющиеся score надо тоже удалять, если там хоть один score of type yyy будет больше. Если все score одинковые, то оставить только один.
раскидай за метод решения такой задачки (пик приклеил):
есть селекты, при выборе которых берутся определенные значения. эти значения умножаются на введенные инпуты и результат выводится для каждого инпута.
вот как на пике по схеме.
мои мысли на этот счет такие: 1. все значения селекта записываю в такой массив 2. потом делаю проверку выбранного селекта 3. если волью селекта совпадает с ключем из массива, то выбираем три нужных значения 4. смотрим что ввели в инпут и умножаем на выбранные из массива значения
>>690592 >то добавляешь строку в новый объект idx? Нет, не строку, а индекс элемента. Как только изменяется пользователь, я удаляю тот элемент, в котором был наименьший score (или несколько элементов, как в случае с "4 4 4 6").
На входе там про JSON говорят, который, я предположил, должно быть можно в объект перегнать, иначе нужно php и регэкспы подрубать, наверное.
>>690613 по ходу у меня все плохо с парсингом джейсона, я бы так не догадался сделать. Хотя вроде и парсил джейсон на java сначала через jsoup, а потом map (key value).
Я сейчас доки по ноде читаю, я ничего не понимаю, какие-то чайлд процессы, кластеры. Реально ли вообще работать с проектом, где есть нода, если у тебя на ней ничего нет.
>>690420 >JS это не касается ровно никак Ну а хули тогда все орут, что в будущем можно писать быстрый фронтенд на своем любимом языке, JS was a mistake, и что это - чуть ли не смерть JS? >>браузерки и всякие три дэ экскурсии А что, если любой сайт в будущем будет такой вот три дэ экскурсией? То есть да, пока еще заказчики ничего об этом не знают, а как узнают (и как большинство браузеров начнет поддержку) - появятся фреймворки для создания 3д сайтиков на Wasm без JS и т.д. И, если подумать, то да, нахуй теперь JS, если он медленнее, чем любой другой язык, перекомпилированный в Wasm? Развитая экосистема с кучей программистов? У Delphi они тоже были. А вообще, просто успокойте меня, что я не зря учу JS уже почти полгода и скоро найду работу.
>>690636 Tags был бы не списком строк, а списком объектов, у которых было бы поле tagName, на него бы биндились инпуты >>690639 На клиенте вообще мало что можно делать с посторонними серверами если корс выключен, патамушта бизапаснасть
>>690645 Но картинка же загрузилась и поместилась на холст. Почему после этого данные не читаются с холста? Что, блядь, за херня, я же работаю уже с холстом а не с сторонним сервером.
>>690641 >А что, если любой сайт в будущем будет такой вот три дэ экскурсией? А что если будет ядерная война и не будет инета? Если что-то подобное и выстрелит, то очень не сразу. Ты за это время и работу найдешь и до как минимум миддла дорастешь, а оттуда уже можно двигаться куда хочешь.
>>690644 Потому, что я тугодум безмозглый На самом деле - с конца ноября. Все задачи с learn.javascript.ru задрачивал, сейчас остановился на главе "CSS для Javascript-разработчика" + игрушки пишу и не знаю куда двигаться дальше. А тут еще и в браузерах поддержку wasm добавили..
>>690653 > Потому, что я тугодум безмозглый поди жс полчаса в день уделяешь.
> и не знаю куда двигаться дальше. Писал пару дней назад посто в прикрепленном треде. Если говорить вкратце то в игры не суйся. Тем более свои. Оставь это как хобби, но не более.
>>690641 >А что, если любой сайт в будущем будет такой вот три дэ экскурсией? Это уже будут не сайты, и разработкой подобного заниматься должен не веб-программист. Подобное и сейчас можно пилить, просто работать будет отдельным приложением. Но зачем?
>>690654 Можешь попробовать загрузить картинку как datauri и уже ее вставить как src в свой img, может тогда оно не будет знать откуда картинка приехала.
Я не понимаю ажиотажа вокруг wasm'a Ну пилят его. Ну вот уже почти. И что? NaCl уже сколько есть. Кто-то из вас написал хоть один плагин? Wasm лишь способ оптимизировать узкие места. Вычисления. Всё. Это лишь дополнение, но не замена. И никогда не станет заменой.
>>690682 Да прочитайте вы что сам разработчик этих ваших васмов говорит. Он говорит что васм заполняет пробелы в JS. То что реализуется крайне геморройно, или вообще не принимается во внимание вследствие технических неувязок. А если быть короче, то процитирую анона выше "крузисы на браузерах пилить". мимо
>>690690 >Не стоит называть говном всё, что не осилил. Я его начал учить пару недель назад.
И ведь он реально говно. Ни типизации, ни нормальных сравнений. А эти ваши lexical environment - вообще жопа для понимания.
Функцию можно записать в переменную и добавлять ей свойства - проигрываю до сих пор.
Function Expression и Function Declaration - замечательный способ сказать МЫ ВАМ ПЕРЕЗВОНИМ, если собеседующему не понравилась рожа того, кто пришёл на собеседование.
>>690688 >JS тоже когда создавался не расчитывался на такое обширное применение. Веб и браузеры потому что не рассчитывались. Сегодня браузер это фактически автономная среда. Большинство обычнопользователей и не вылезает за пределы него. С приходом wasm можно будет пилить в браузере всю тяжеловесную прикладуху.
>>690660 >поди жс полчаса в день уделяешь. Чуть больше, просто иногда рандомные задачи на Codewars решаю, ну и таскало меня по языкам неплохо - год назад начинал с C#, потом сменил на Java, потом (летом 2015) начинал читать Флэнагана - быстро бросил и решил начать с верстки, параллельно прорешал тысячи, блять, задач на Codehunt (Java), CodeBat (Java) и позднее Codewars (mostly JS), видеоуроки Sorax'a смотрел, думал, что и Python нужен, но послал его и в конце ноября решил начать учить JS по Кантору, параллельно дроча английский, Codewars и задачи с его сайта. За совет спасибо. Видимо, пора уже переходить к практике, взять Heroku в рот с Нодой и писать вебаппы с ангуляром наперевес для портфолио. И спасибо всем в этом треде, что пояснили за Web Assembly, хоть буду спать спокойно.
Все непонимания, тобою перечисленные вытекают из того, что ты ограничиваешь свой кругозор языками одного типа. А у js иначе. Динамическая типизация - просто научись в нее, не будет проблем со сравнениями. Замыкания\области видимости - что может быть проще? Функция это объект - смеешься над собою же.
>>690720 >Сам констатировал, что будущее у js как одного из популярнейших языков. Я говорил, что >JS не всегда будет лидером. это значит, что он не будет оставаться популярнейшим, если что.
> php уже седьмой версии запилили, если вдруг что. Да, видел. Новое что-нибудь есть, или как всегда?
>>690734 Если посылают за подобное, когда задача не была описана предельно четко (для исключения подобных нюансов), то радоваться надо, что послали. Или работать у неадекватного работодаетеля по-твоему лучше?
>>690653 Как скоро надеешься найти работу? Как себя чувствуешь дойдя до раздела ЦеЭсЭсдля разработчика? думаешь этого хватит? Или нужно осилисть весь learn.javascript.ru?
>>690688 Насчитывался и создавался он для другого, но JS сейчас и семь лет назад - два совершенно разных языка. Он развивается быстрее, чем любой другой язык.
>>690844 >Как скоро надеешься найти работу? К лету. >Как себя чувствуешь дойдя до раздела ЦеЭсЭсдля разработчика? Здоров. >думаешь этого хватит? Нет, нужны фреймворки. >Или нужно осилисть весь learn.javascript.ru? Можно и осилить, ничего плохого не вижу, но не панацея.
>>691030 А почему если я добавлю второй див с классом text на него трое точие не ставиться? Надо фориком пробежаться по дивам и как ты говоришь получить и установить?
Спрошу ещё разок: если у меня есть простой юзерскрипт, осуществляющий поиск/замену текста, то как его заставить работать с данными, подгружающимися ajax'ом?
Все было здорово, писал игрушки на юнити, а потом на флеше. Только вот нихуя именно 0 заработал с этого. Мамкины борщи конечно вкусные, но пора бы уже зарабатывать на свои.
спрашивал в программаче, посоветовали вкатиться во фронт-энд. Настроен я более чем решительно. Моя задача- начать зарабатывать.
Но я походу пошел не с той стороны. А именно начал изучать жс по http://learn.javascript.ru. Как думаешь анон, наверное сначала стоило заняться освоением html/css и верстки в целом?
Думал освоиться с этим, сделать проект для портфолио и начать ходить на собеседования. Может быть html и css стоит заняться уже во время создания своего проектика?
Как думаете, 2.5 месяца достаточно для этого?
И да, такой еще вопрос, имеет ли смысл решать все эти учебные задачи? Попрактиковаться я понимаю что полезно, легкие задачи делаю, но вот требующие времени дропаю.
>>691458 >от Felixa >план >дописать раздел Ахуительные истории. Но даже тут от лин только установка, ты ведь не совсем отбитый, сможешь далее>далее нажать?
Есть вообще какие-нибудь ахуенные курсы, скринкасты, любая хуйня по линуксу, ну чтоб не быть там как баран и новые ворота. Команды какие что как, чет годного вроде ненагуглиловалось.
Как установить gulp? Скачал node.js установил его, запускаю командную строку, перехожу в папку /npm ввожу команду npm install -g gulp в ответ мне выводит: "npm" не является внутренней или внешней командной
>>691373 >Все было здорово, писал игрушки на юнити, а потом на флеше Наркоман? Зачем после юнити идти во флеш? >Как думаешь анон, наверное сначала стоило заняться освоением html/css и верстки в целом? Да
>Как думаете, 2.5 месяца достаточно для этого? с головой >И да, такой еще вопрос, имеет ли смысл решать все эти учебные задачи? да
"По дате рождения определить к какому знаку зодиака принадлежит человек."
И первой идеей было переписать дату из формата месяц/день в день в году. Т.е., к примеру, у нас есть чел. с датой 29/05. Период близнецов с 21/05 по 20/06. Просто вставить дату между этими числами возможности нет. Поэтому заставил код перерабатывать в период в году. 21/05 - 20/06 это 140 - 170 день. Но получается огромный говнокод.
>>692104 Можно и с вычитанием конечно помудрить, но есть гораздо более простой способ. Ещё подсказка - все знаки начинаются/заканчиваются в определенный месяц, и все месяцы разные, т.е. нету такого, что знак начинается в апреле и заканчивается тоже в апреле, например.
Получилось всё в три функции: 1) for - считает двенадцать месяцев. В нем - 2) if - определяет месяц и день - выдает в переменную число, которая далее идет в - 3) свич - пишет в документе твой месяц. Ура.
>>692132 Ладно, вот тебе вариант в 5 строк. http://jsbin.com/qigujedafo/edit?js,console Можно ещё меньше сделать на самом деле, а можно наоборот сделать более подробно, чтобы понятней было потом, тому кто читает, это самое главное, лучше не экономить на строках.
>>692141 Если честно, то подобное решение я просто где-то видел довольно давно (в том плане, что нужно сравнивать последние дни знаков). С тех пор запомнил, на самом деле подобный "паттерн", если можно так выразится, используется много где, если есть список чего-то статичного.
>>692150 Ну это тернарный оператор. Читается примерно так: если день рождения человека (день месяца от 1 до 31) больше, чем последний день знака для данного месяца, то мы берем знак из следующего месяца, иначе (если д.р. меньше последнего дня знака), то берем знак для текущего месяца. Хуёво объяснил наверно. Смотри, ещё объяснение, "последние дни" лежат в массиве, индекс у них от 0 до 11, что совпадает с date.getMonth(). Через "lastDay[month]" мы к ним обращаемся, т.е. берем этот массив с днями и берем наш месяц, и смотрим какой для данного месяца "последний день" знака. А затем уже из массива знаков, опять же с помощью нашего месяца, выбираем нужный знак "sign[month + 1] : sign[month]" Хз, на мой взгляд всё просто в плане исполнения кода, тут главное саму эту фишку про месяцы знать.
>>692152 Да тут не нужен стаж вообще никакой, просто надо знать фишку с "последним днем" знака
>>692228 Украина. У нас тут есть представители больших корпораций, где могут такое позволить. И это они еще урезают теперь расходы, пару лет назад можно было на большее выйти без проблем.
Парни, помогите определиться! Решил получить вышку заочно. У меня уже есть СПО по направлению "Программное обеспечение средств вычислительной техники и автоматизированных систем", так что есть вариант закончить вуз ~ за 3 года. В вузике который я выбрал есть 4 направления:
> 1. Программное обеспечение средств вычислительной техники и автоматизированных систем > 2. Системы автоматизированного проектирования > 3. Прикладная информатика > 4. Программная инженерия
> 1. Программное обеспечение средств вычислительной техники и автоматизированных систем > 2. Системы автоматизированного проектирования > 3. Прикладная информатика > 4. Программная инженерия > 5. Программное обеспечение средств вычислительной техники и автоматизированных систем > 6. Системы автоматизированного проектирования > 7. Прикладная информатика > 8. Программная инженерия > 9. Идешь учиться на безопастника > 0. Идешь учиться на юриста
Сап. У меня дебиловопрос. Хочу пойти устраиваться фронтенд-макакой именно макакой ибо JQ и ангуляр, но нужно на собеседовании хоть что-то показать. Хоть какую-то работу. А у меня нет ничего кроме каких-то уродливых фиговин. Собственно вопрос... Какой сайт лучше всего накатать для резюме в неоч крупную фирму? С учётом того, что в бэкэнд я категорически не умею пока.
>>692564 Когда функция записывается в виде (func() {})() это значит, что написанная функция тут же вызывается. Таким образом, к переменной присваивается не она, а возвращаемый ею объект.
Парни, есть функция. К ней привязано два объекта через this. Как из одного привязанного объекта получить доступ к свойству второго? Пример кода тут - https://jsfiddle.net/ue1j5wxr/
>>692873 Так решения всего три (принципиально). 1. var self = this; 2. IIFE с передачей this в качестве аргумента. 3. Хранить ссылку на this в качестве атрибута каждого объекта.
>>692894 Вопрос в догонку. Есть у меня функция, внутри которой объявляю переменную и вызываю другую функцию с колбеком. При возврате колбека мне нужно иметь доступ к той ранее созданной переменной, как реализовать?
>>692980 А почему должно работать? test же является локальной переменной, а когда колбек возвращается функция уже должна отработать своё? Или я не так понимаю.
>>693028 Да, я обосрался, не в этом проблема. Вот более полный код : https://jsfiddle.net/5mosgmj1/. Собственно, получаю ошибку, что next() is not a function. На сколько я понимаю, this.test() вызывается в контексте объекта arg, и из-за этого возникает ошибка? Или в чём проблема, как заставить работать?
>>693052 Покажи как checkDuration вызываешь, твои фрагментарные куски слабо помогают пониманию. Алсо. когда ты вызываешь next() таким образом - this проебывается
>>690640 Каждый модуль - независимая функция, где роль this выполняет module.exports. Все операции, так или иначе касающиеся ввода-вывода (работа с файлами, обработка запросов) выполняются асинхронно.
>>690722 >это значит, что он не будет оставаться популярнейшим, если что. Альтернативы в браузерах нет и не будет. А значит у js будущее надежнее, чем у java.
>>693052 Я нахуй не понимаю, что ты хочешь сделать этим кодом. Если ты вызываешь из объекта метод objName.methodName(), то this будет указывать на этот объект. Если тебе надо хранить некий state, то два пути: 1. Обернуть в promise и вызывать цепочкой вызовов 2. Хранить глобальный стейт Объясни задачу.
>>693116 Я это прекрасно понимаю - выбор инструмента под задачу. Вот только все задачи, которые ставятся перед mongoDB можно решить с помощью postgreSQL, при этом пользуясь всеми преимуществами реляционной модели. Если я не прав - поправь.
Кароче, ёбты, бля. Кто знает лучший способ встроить socket.io-client в redux контейнер, не передавая сокет как проперти из родительского контейнера? Уместно ли пользоваться сокетом как отдельной единицей из вне, не засовывая его в контекст, стейт или проперти компонента? Если я буду создавать новый сокет в каждом компоненте, насколько это будет накладно, они кэшируются?
Ребят, как сделать? Подскажите хотя бы направление, пожалуйста. Реализуйте функцию intersect, которая принимает на вход два многоугольника и возвращает массив многоугольников - их пересечение, либо пустой массив, если многоугольники не пересекаются.
>>693473 Спасибо. Я просто думал что мне самому этот алгоритм придумать надо, а в голове только начальные идеи. Это отборочное задание на одни курсы, кстати.
Народ я не знаю нормально это или нет, но я прочел на http://learn.javascript.ru/ главу с основами, и вроде что-то понял, но некоторые задания я так и не смог осилить самостоятельно. Стоит ли продолжать изучать материал или лучше пройти все заново?
Так же прошел вступительные два задания для регистрации в codewars по js, но увидев задания которые дают там, малость охуел.
Вообще не понимаю, как правильно надо учить джаваскрипт. Может я не правильно что-то делаю. Дайте советов что ли.
Сап. Недавно начал пилить проектик на метеоре и ахуел от него, все очень быстро и красиво, но мой говнокод меня напрягает. Где можно прочитать про стандартные практики на метеоре? Например как прислать заявку в друзья пользователю? как лучше сохранять в базе автора сообщения в чате? Хранить только его айди или целиком хранить пользователя?
Ок, парад тупых вопросов продолжается. Почитал статей про редакс и сокеты и узнал, что сокеты можно пихать в мидлвейр для отправки сообщений, и поставить прослушивание на сообщения с сервера где-то ещё. Но вот решил углубиться во все эти сокеты глубже, и впал в непонимание. Вот код 1) строчка `io.sockets.on("connection", function(socket){` выполняется каждый раз, когда к серверу подсоединяется новый сокет, где аргумент `socket` в анонимной функции - новый клиентский сокет. Я правильно понял? 2) В чём разница между `this.emit` и `io.sockets.emit`? Какой контекст у переменной `this` в этой ситуации?
Как мне зареквестировать имейл из процесса регистрации через фейсбук? FB.api('/me', function(response) { console.log(response.email); Пишет, что мейл undefined. Пробовал применить scope: "email" к Fb.getLoginstatus() и добавил опции запрашивания имела в своем приложении на фб, но все равно undefined. Может там какой-то платный доступ нужен, чтобы запрашивать мыло?
>>693492 > Стоит ли продолжать изучать материал или лучше пройти все заново? Стоит продолжать. Зазубривать смысла нет. Само войдет в голову. Не бойся возвращаться к готовому материалу.
> но некоторые задания я так и не смог осилить самостоятельно Это нормально. Просто запомни где лежит их решение на будущее.
Проблема с логгированием и pybrain. В общем, есть примитивный код: http://pastebin.com/wcEhadUm И, собственно, какого чёрта импорт pybrain'а влиет не только на существующие, но и вообще на все новые логгеры? Как так-то, блин?!
Там в нём есть напрямую вызовы logging.warn(...), которые, вроде как, и есть проблемные места (в рут логгер, что ли, добавляется дефолтный хендлер, который вызывается всегда, так как является "родителем" всех логгеров полученных через менеджер). Но что это за бред-то, блин? Единственный способ получить чистый, личный логгер - это напрямую l = logging.Logger('mojo'), но тогда он в менеджер не запишется и я из другого модуля не смогу его через getLogger получить никак (создастся новый).
Что я не так делаю-то, как мне быть? Хочу логгер через getLogger, но без "чужого" мусора в нём.
Собственно, вот это можно запустить для иллюстрации проблемы (на идеоне не работает logging) — http://ideone.com/8p6md2
Пока что решил добавлением >logging.root.handlers = [] после импорта pybrain'а, но это какая-то хуйня, а не решение же.
>>693897 ну допустим есть админка в /admin, роуты хендлятся на фронте, соответственно даже обычный юзер туда попадает в любом случае, т.е. на фронте должна быть проверка прав (обращением к бэкенду с вопросом: разрешит доступ или нет)
Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, Walmart и многие другие.
Вики:
https://github.com/xxxwww/js-thread/wiki
Часто задаваемые вопросы:
https://github.com/xxxwww/js-thread/wiki/FAQ
Список материалов для изучения:
https://github.com/xxxwww/js-thread/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA-%D0%BC%D0%B0%D1%82%D0%B5%D1%80%D0%B8%D0%B0%D0%BB%D0%BE%D0%B2-%D0%B4%D0%BB%D1%8F-%D0%B8%D0%B7%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D1%8F
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsbin.com/ для браузерного кода и https://ideone.com/ для серверного кода.