Это копия, сохраненная 28 января 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Часто задаваемые вопросы:
https://github.com/xxxwww/js-thread/blob/master/Wiki/faq.md
Список материалов для изучения:
https://github.com/xxxwww/js-thread/blob/master/Wiki/learn.md
Список инструментов и направления JS-разработки:
https://github.com/xxxwww/js-thread/blob/master/Wiki/tools.md
Конфа /pr/ в Slack:
https://invite-me-to-2chpr.herokuapp.com/
JS-конфа в телеграме:
https://telegram.me/jsthread
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.
При чем тут lengt и цикл?
length статическое свойство, а не геттер. Оно пересчитывается при изменении размера массива.
Ты дурак, нет?
Ты в своем примере не задействуешь область видимостти.
На, чтобы тебе понятнее было.
var arg = 'global';
console.log((function(arg) { return eval('arg') })('local')) // local
console.log((function(arg) { return window.eval('arg') })('local хуй тебе')) // global
И?
>Или он каждый раз будет length пересчитывать?
С чего он по твоей логике, должен пересчитывать length при запросе?
Что нужно делать чтобы какие-то данные в них входили, а какие выходили и передавались другим компонентам?
По Angular ничего не знаю, только-только начинаю с ним работать
Сервис как модель данных. Если нужна реактивность — пишешь кучу обсерверов в этом же сервисе, или используешь RxJs
На сайте два эффекта, грубо говоря. Пусть один меняет опасити текста с .5 до 1 и обратно при наведении мышки на контейнер, второй при клике на кнопку этот текст удаляет через жквери фейдаут и добавляет другой через фейдин.
Прлблема: если от блока резко провеси мышкой и успеть кликнуть кнопку до конца смены опасити 1->0.5, то новый текст добавится сразу во время убавления опасити, а потом уже исчезнет первый текст, т.е завершив первую функцию только.
Хочу чтоб чтоб нахуй все бросало и исчезало по клику, а не эти вот два блока текста одновременно на 200 милисекунд.
Извините, что без примера, я с телефона просто. Тексты в диве, оба куска заключены в спаны.
да не length епта, а результат тернарки. На флеше es4 например, если ты писал в условие цикла выражение вида i < op / 2, то на каждой итерации op/2 считалось занова.
как проверить, закончена ли функция? Или лучше впилить цикл, который проверяет, пока опасити не вернется на нужное значение, а потом уже запускает шарманку? звучит адово и извращенно, лол
еще и трипл такой. Ну, знак свыше, так и сделаю, пусть потом те, кто будет исходники смотреть, поугорают с моей смекалочки.
>результат тернарки
v8 джитит циклы. Да и не только v8
Разумеется он их оптимизирует, так как значения не изменяются ни на одной итерации и не влияют на условие.
В данном случае все соптимизируется еще на этапе компиляции всего скрипта, потому что входные данные известны заранее.
При чем тут это вообще. Меня просили показать, как обойтись без создания дополнительного массива. Это лишь наколеночный пример. Его можно еще сотни раз переписать, и вынести, если тебе так очень хочется все в переменные, и с нормальными имена.
Цикл - это блокирующая операция, привет.
>как проверить, закончена ли функция?
В конце одной функции менять флаг о том, что она закончена.
В начале другой проверять устанволен ли флаг о том, что другая функция закончена.
Ты откуда блядь такой?
о, реально, очевидное решение же, бля.
Я только с дельфи пересел, где занимался тривиальщиной по приколу, так что да, туплю. Жс для меня тип фана, вместо игр всяких.
а еще цикл можно прервать или ограничить.
hui: while (var i=0;i<100000;i++) { ebatsya; if (ebatsya konchil) { break hui} } и после этого исполняемую функцию сунуть, например. Или просто проверку на опасити сделать, без хуев.
>а еще цикл можно прервать или ограничить.
Пока у тебя цикл идет,у тебя никакие другие функции, даже если они ассинхронные, не выполняются. Поэтому словие иф кончил у тебя не выполнится никогда.
Если только имитировать цикл ассинхронной рекурсией. Но это галимое и кардинально неправильное решение.
У js один поток. Изучи его евент луп, чтобы лучше понимать как все устроено.
т.е если во время выполнения одной функции я нажму на кнопку, запускающую цикл, я обречен на вечное ожидание? Кайфово, и фича и минус, на самом деле. Спасибо. :З
Здорово анончики, помогите приобщиться к функциональному программированию на JS
Наверняка вы натыкались на видео типа такого:
• https://youtu.be/yXJtrxVZmT4
• https://youtu.be/e-5obm1G_FY
• https://youtu.be/HvMemAgOw6I
• https://youtu.be/lmcMcksoqkI
Поделитесь теме что вам понравились.
Я нихуя не пойму, почему так.
схуяли он заканчивает на 14, в условии же блять указано меньше 5, я блять в ахуе вообще.
Это буква L (маленькая), а не цифра, ебанутый. Пробел в конце строки поставь.
Если у тебя цикл длится дольше секунды, то имеет смысл переделывать его в ассинхронную рекурсию.
Или, если у тебя там интесивные вычисления какие-то, но не затрагивающие DOM, то такие вещи выносят в отдельный поток, неблокирующие интерфейс (webworkers)
СУУУУКАААА, БЛЯЯЯЯ
Все верно, 4 меньше 5, что тебе не нравится, идиот?
Нашел тут статейку, но вопрос не снимаю, может кто задавался таким же.
https://habrahabr.ru/post/54018/
Забыл про эту темку, кстати. Но вопрос все равно еще на месте, ибо хочу узнать про локалхост конкретно, а через эту штуку мне не дали сгенерить для локалхоста сертик, либо я жопорукий просто.
Замерил трудоемкость ваших решений задачи номер 2, заданной >>897526 анону.
Решения с конкатенацией массивов >>897644 >>897695 >>897875 >>897963 я не рассматривал, ибо вы либо дауны, не понявшие условие задачи (два массива даны не для того, чтобы вы их конкатенировали, умники), либо ленивые куски говна, которым лень даже задуматься над задачей. Вас бы я не взял даже джуном.
Проверил только джва решения: >>897832 >>897909
>>897909 - плохо читаемое и чрезвычайно трудоемкое решение. Из плюсов только экономия памяти.
>>897832 - победитель. Решение простое и компактное, трудоемкость немного меньше, чем у предыдущего (но все равно охуительная, на больших данных увязнет). Из минусов - использование дополнительной памяти для массива. В общем, тебя бы я взял, но только лишь на фронтендера. В бэкенд не суйся даже, пока не задрочишь алгоритмы.
Остальным ссу на голову и выкидываю на мороз. Пиздуйте телефончики продавать.
Ну что я могу тебе сказать, тимлид.
Хуевый из тебя тимлид. Я бы к тебе работать и не пошел.
Оба эти решения мои >>897909 >>897832
И оба я писал на коленке, на отъебись. И так вот
То, что ты назвал трудоемким (с голыми циклами ), я написал, чтобы продемонстрировать как можно обойтись без создания дополнительного массива. И вся эта трудоемкость и страшность уменьгится, если алгоритм переписать нормально. Я там лишь концепцию показал.
А то, которое ты выбрал победителем, вообще не выполняет условия задачи. Я его написал первым и проебался вначале. Там не проверяются одинаковые значения в одном и том же массиве, уникальность чекается лишь перекрестно. При чем в позже, в примере с голыми массивами я это пофиксил, и оно как раз работает как надо.
Оба же они вполне не оптимальны и не писались таковыми. Лямбды надо дописывать, до полноценного решения. Циклы можно оптимизировать.
Се ля ви.
А если ты все же такой весь из себя тимлид, то запили алгоритм по этой задаче, но не для двух, а для произвольного количества массивов.
В отличие от местных даунов, я умею признавать свою неправоту.
Ну анончик, я только что с работы пришел, заебанный весь. Я уже реализовал оптимальный алгоритм для джвух массивов, для многих будет не так сложно.
> Ну анончик, я только что с работы пришел, заебанный весь. Я уже реализовал оптимальный алгоритм для джвух массивов, для многих будет не так сложно.
Нужно написать JS-код, который мог бы вызываться во время загрузки страницы. Суть в том, что эта функция document.ready() формируется в многих местах, ее писало несколько людей с разной квалификацией, она собирается каким-то РНР-кодом. Есть какой-то способ "вклиниться в нее" и написать функцию, которая сработает сразу после document.ready() ?
http://stackoverflow.com/questions/4098504/running-a-function-just-before-document-ready-triggers
Парни помогите, пытаюсь решить задачу где нужно вывести простые числа до указанного значения, мое решение выводит все числа кроме ТРОЙКИ 2,5,7,11... как так? я уже и на листочке полностью расписал как действует скрипт но так и не понял почему тройку он пропускает
ебать колотить, как же заебало их путать (before after)
http://stackoverflow.com/questions/3008696/after-all-document-ready-have-run-is-there-an-event-for-that
У тебя ебучее решение.
Ошибка в твоей реализации - изначальное значение итератора j.
Оно должно быть равным "3".
Да, я его уже видел, но хотелось разобраться почему мое решение не работает как надо.
>>898870
Верно, но я не могу сообразить почему он не хочет работать когда j = 2? ведь все как и с другими числами, допустим
i = 3 j = 2-10
(3 % 2 === 0) false
(3 % 3 === 0) true -> h++;
(3 % 4 === 0) false
.... -> if (h>1) false -> else console.log(3);
я недавно начал учить джаваскрипт, буду очень признателен если объяснишь.
>вы либо дауны, не понявшие условие задачи (два массива даны не для того, чтобы вы их конкатенировали, умники), либо ленивые куски говна, которым лень даже задуматься над задачей
Какие проблемы с конкатенацией? Где в условиях сказано, что конкатенировать нельзя?
Походу этот "тимлид" думал, что в исходных массивах происходят изменения.
<div id="my1">
...
</div>
<script type="text/javascript">
document.getElementById("my1").onclick = function() {
...
}
</script>
МАССИВЫ ВАМ НЕ ДЛЯ КОНКАТЕНАЦИИ
ИТЕРАТОРЫ НЕ ДЛЯ ИТЕРАЦИИ
АККУМУЛЯТОРЫ НЕ ДЛЯ АККУМУЛЯЦИИ
ФИЛЬТРЫ НЕ ДЛЯ ФИЛЬТРАЦИИ
РОССИЯ ДЛЯ РУССКИХ
ТРЕБУЮ РЕШЕНИЯ НА МОНАДАХ
МЫ ВАМ ПЕРЕЗВОНИМ
Очевидно, решения с конкатенацией требуют выделения большего объема памяти, что неэффективно.
Angular приложения могут работать без node.js, так ведь? Так как в таком случае настроить сборку, чтобы приложение работало, если просто открыть его в браузере?
Пробовал создать простой проект с помощью angular-cli. Запускаю через ng serve - всё работает. Собираю приложение с помощью ng build, открываю в браузере - ничего не работает, показывается вечная загрузка.
Кому очевидно, мань? Где это описано в условиях задачи? В реальном мире всем похуй на сэкономленные байты в ущерб читаемости, в случае этого решения - https://jsfiddle.net/p12deuLe/1/
Конечно, могут быть ситуации где нужно и байт сэкономить. Но зайти в тред, начать кукарекать про несуществующие условия, называть тут всех даунами, поглаживая свое ЧСВ, а потом засунуть руки обратно в жопу, не написав своего решения - это поведение бесполезной мнительной обезьяны. Еще и обосрался с проверкой задания.
Пиздуй лучше телефончики продавать.
может ссылку на проект или код? здесь не обладают экстрасенсорными способностями
По DOMContentLoaded ставлю на один элемент `top: 255px; left: 30px;`. В стили это дело записывается.. а потом top пропадает. Серьёзно.
Т.е. в style-атрибуте он остаётся, но offsetTop элемента равен 0.
ЧЗХ, анон? Это я напортачил или браузер/DOM?
Ах да, забыл. Причём el.style.left и el.offsetLeft остаются. Т.е. ломается только top.
>Где это описано в условиях задачи?
>Здравствуйте. Вы делали нам сайт. Есть проблема.
>Привет, что случилось?
>Дело в том, что после того как пользователь зарегистрируется, его аккаунт почему-то удаляется через сутки, после регистрации автоматически. А еще во все наши добавленные статьи добавляется изображение мужского полого члена, спустя час после их публикации.
>Да, все верно. Это так работает.
>Но нам нудна обыкновенная регистрация пользователей. И зачем система нам портит статьи? Мы этого не просили!
>Надо было в ТЗ описыват всё, что вам не нужно. А то это как-то не очевидно. До свидания.
Math.max.apply(null, '1 2 -3 4 5'.split(' ')) + ' ' + Math.min.apply(null, '1 2 -3 4 5'.split(' '))
Не отличать постановку задачи в доменной области реального мира, где плюс-минус километр хуйня, и тестового задания по алгоритмике для кодеришки, которое делается с целью доебки к мелочам, лол.
>которое делается с целью доебки к мелочам
>в задании не было написано, что надо оптимизировать по памяти, ррррряяя
>что надо оптимизировать по памяти, ррррряяя
Ебать ты дебил. Докажи, что твой код оптимальней по памяти. Докажи, что твой код оптимальней по алгоритмической сложности. Сука, у меня такой же мудак как ты на проекте пытался умножать битовыми сдвигами, патамушта мог, этажбысто.
Какой же ты тупой пидор, я ебал. Если бы ты когда-нибудь решал алгоритмические задачи, ты знал бы, что в условии всегда упоминается time\space ограничения, если таковые имеются.
Ты хочешь поспорить с тем, что алгоритм с созданием лишних массивов, не затратнее по сравнению с алгоритмами, без создания доп массивов вообще?
В общем случае твое утверждение неверно. Конкатенация скорее всего потребует только одного вызова виртуальной машины, далее под капотом отработает Сишный код ВМ. Что будет с твоей поэлементной еблей - хуй его знает.
То есть, у тебя вообще нет никакой метрики, оцениваю как хочу из ссаных абстрактных соображений?
Начнем с того, что вовсех приведенных примерах с контактенацией в этом треде, помимо самой конкатенации, которая у них вызввается в алгоритме несколько раз, присутсвует еще фильтрация массивов необнократная, которая в свою очередь создает новый массив каждый раз.
А с моей поэлементной еблей, в которой есть лишь голые циклы и даже инкремент переменных, и даже нет вызова внешних функций, все вполне очевидно.
https://jsfiddle.net/4kouhqtu/
При чем, это работает не только лишь для двух массивов, а для любого.
>присутсвует еще фильтрация массивов необнократная
Это говно, согласен. У меня на этом месте хешмеп, если ты заметил. А в питоне были бы generator comprehensions вообще без промежуточных данных вместо композиции фильтрацих.
>нет никакой метрики
У тебя есть условие задачи: 1) Дано. 2) Что надо получить. Это твоя единственная метрика, ты понимаешь, милаха, что ты надумываешь условия задачи, а не аноны итт недодумывают. Ты, конечно, можешь решить без конката и сказать, что мол вот я какой охуенный, ебанул вам решение без конката и понадеяться на бонус в собеседовании (если интервьюверу не похуй на этот аспект). А если ему не похуй на этот аспект, он должен был дописать в условие задачи, что решить нужно без создания дополнительных массивов. А так же все остальную специфику, какую он хочет, можно es6\7, нельзя, и так далее. Алсо в нормальном языке я бы решил этот вопрос через хеш в две итерации.
У кого у тебя
>ты понимаешь, милаха, что ты надумываешь условия задачи, а не аноны итт недодумывают
Не, это ты начал давать оценку - `вы все гондоны конкатенируете, а я нахуярил решение O(n^4) лол красаучек ни одного лишнего выделения' ,без заданного критерия оптимальности (под которым любой адекват понимает алгоритмическую сложность, если не указано иное).
Тред не читал, но двачую этого. Такое чувство, что даун не знает об оптимизации ничего, и переносит алгоритмы в код как обезьянка. Вот что бывает, когда учишься по документации, лол.
Ебанутый итт, считает что он общается с одним аноном.
>вы все гондоны конкатенируете,
Да я бы сам конкатил, ты охуел. Если бы интервьювер стал мычать про контакт, я бы встал и попрощался. Лучше выстрелить себе в ногу, чем работать с людьми не имеющими правильно формировать задачи.
Да, я. Давай подсчитаем. Конкат входных массивов (можно счеинить, в лоудаш вроде было, или написать генератор), мап для группировки, массив с ключами мапа, массив с отфильтрованными ключами мапа (результат). В общем, все промежуточные данные можно выкинуть, если использовать генераторы (или вручную обходить, но без четверной вложенности, как в одном из решений), и выделять только мап и результирующий массив, но лениво это делать на бумажке. И не факт, что эффективнее, в силу особенностей ВМ.
И вообще это сорт оф спецолимпиады, подсчитывать аллокации, если мы точно не уверены, что работаем с сотнями мегабайт и более, сборщик мусора только спасибо скажет за короткоживущие коллекции. Собственно, в ФоПэ это осознали, и кладут хуй. Читаемость кода дороже.
Браво!
Ну не по книгам же бля
Я не мискликнул когда пылил карты потому, что использую автораспыление, а как там мискликнуть?
Отъебитесь нахуй, все он нормально написал. Чуть отрефакторить (выравнивания, семантические имена переменных) - вообще красота получится.
Да нихуя он не писал.
Элементарных правил оформления кода (что для читаемости, что для поддержки) и именования переменных, кроссбраузерности.. с хуя-ли я вообще перед тобой распинаюсь, блять? Писать так, как пишешь ты, может только аутист, который с JS работает 3.5 месяца, но только-что узнал об for-of циклах.
>>899243
>все он нормально написал
От всего сердца желаю тебе поддерживать такой код на проекте, от которого зависит твоя жизнь.
>Элементарных правил оформления кода (что для читаемости, что для поддержки) и именования переменных, кроссбраузерности.. с хуя-ли я вообще перед тобой распинаюсь, блять? Писать так, как пишешь ты, может только аутист, который с JS работает 3.5 месяца, но только-что узнал об for-of циклах.
Претензия в стиле граммарнаци.
Все я знаю. Это ты судишь по однострочнику, как я код в проектах на поддержку оформляю.
Проблема не в алгоритмической сложности, а например ты написал такой код, этот кусок не заметили во время ревью и он с релизом уехал на прод. Через неделю твой коллега (ебанутый на всю голову дагестанец педофил интроверт с охотничьим билетом кмс по самбо и в прошлом программист на перле) получает таск в котором нужно поправить этот кусок кода, причем сделать это нужно срочно, хотфиксом, и вот он приходит на работу, у него ужасное настроение, но с собой пара ножей и газовый пистолет (в обед он собирался пойти в парк пострелять бродячих собак), открывает файл и видит этот твой кусок кода.
>Претензия в стиле граммарнаци
Опять таки,
>От всего сердца желаю тебе поддерживать такой код на проекте, от которого зависит твоя жизнь.
>я код в проектах на поддержку оформляю
Да кто тебе проект-то даст, пограмист мамкин?
>судишь по однострочнику
Если ты так пишешь однострочники - я даже не хочу представлять как ты пишешь большие куски кода.
Если я пишу такого рода код на поддержку, то он сопровожден нормальным наименованием переменных и комментариями.
У кого-то горит, что 15ти летний школяр умеет больше чем он.
Причем тут имена переменных и комменты?
Такое чувство что общаюсь с каким то школьником, который ни разу не писал код за деньги.
>Если ты так пишешь однострочники
Представил как ты в шелле, код форматируешь и семантику хуяришь, чтобы рекурсивно грепнуть каталог.
Как и обещал, выделил только Мап, лол, остальное на итераторах.
Фу блять, фу нахуй.
Ехал фор через фор видит фор в коде фор сунул в цикл цикл фор фор фор фор в фор.
>>899040
Даже твой собственный, притянутый за уши пример не имеет вообще никакого отношения к сэкономленным байтам.
Чтобы не было хуйни как в твоем примере - нужно, во-первых, НЕ ВЫДУМЫВАТЬ несуществующих метрик и условий, чтобы не терять время и не переусложнять, во-вторых писать юнит-тесты и документацию, чтобы все работало предсказуемо и в соответствии с ТЗ.
Ты либо даун, непонявший условий задачи, либо прокрастинирующий кусок говна, который сам ничего полезного не делает, а на код ревью может кукарекать лишь про алгоритмическую сложность, потому что в остальном попросту не разбирается.
Хуй знает как тебя тимлидом взяли, ты тянешь разве что на стажера. С таким отношением к коду от тебя работающего проекта не дождешься, придется постоянно нянчиться и напоминать, что ты не на школьной олимпиадке, а работу делаешь. А с таким здоровенным ЧСВ ты же еще обижаться, бугуртить, истерить будешь.
Каково это когда подгорает от мимоанонан-то?
С чего ты вообще взял, что тебе это тот тимлид писал, и где ты нашел хоть один брошенный ИМ алгоритм итт? Ты ебанутый?
Да, в целом можно, но где на Ангуляре парой директив обойтись можно, на Жквери пару десятков строк писать придётся.
Почему метеор, а не нокаут?
я имею ввиду, что может есть фреймворк лучше? Или, в целом, от этой идеи стоит отказаться?
Есть много охуенный приложений на электроне. Вопрос в том, будет ли юзабельным то, что напишешь лично ты.
Спасибо, первый вопрос отпал.
Прост я хз, какой у него порог вхождения, можно ли что-то простенькое наклепать или надо задрачивать очень долго для хоть какого-то результата
Да качни стартер кит какой-то, поиграйся пол дня, попробуй какой-то минимальный функционал реализовать. Откуда же мы знать можем, какой у тебя уровень, чтобы дать оценку времени. Только практика, только личный опыт, только хардкор. А иначе как? Иначе никак.
Требования: хорошая поддержка ИДЕ, типизация, функциональные фичи, нормальный интероп с js
С меня как обычно
Адекват в треде!
Еще рекомендую TypeScript, но он еще не совсем готов (Strict Null только в зародыше, Implicit Any даже не начали вытравливать), но движение в правильном направлении есть.
Как у него со стабильностью?
>Аноны, посоветуйте язык компилируемый в javascript
Возьми Kotlin это как ScalaJS только проще
Он тоже хорошо может в функциональщину
>хорошая поддержка ИДЕ
JetBrains хорошие IDE это их хлеб
Зачем нужны другие языки, кроме js?
Надо не в js транслироваться, а из него. Чтобы захватить весь мир.
Сейчас бы из js в скалу оттранслироваться
Решил я, значится, на досуге поковырять редакс, создать простенький CRUD-интерфейс. И закономерно обсеренькался.
Есть один редьюсер:
http://pastebin.com/qNEfgBu9
1) При первом рендеринге компонента в initialState попадает пустой массив (строка 11). Если после этого из браузерной консоли вызвать диспатч "CHAR_LIST_UPDATE", то содержимое подтягивается без проблем. ЧЯДНТ?
2) Для тестирования вышеописанной проблемы пришлось закомментировать первый case, так как возникает Duplicate declaration "newState". Что за херня? Ведь первый экшн не вызывается, а второй - только раз.
1) задание начального состояния есть в createStore http://redux.js.org/docs/api/createStore.html
2) switch если мне не изменяет память является единым блоком
https://threejs.org/examples/
Если быстро.
https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API
Если ручками.
А там можно построить что-то вроде этого?
https://upload.wikimedia.org/wikipedia/commons/thumb/d/d8/Prism.svg/350px-Prism.svg.png
https://jsfiddle.net/no79jr1u/2/ Как заставить скриптрелейтед проигрывать и визуализировать не загруженный пользователем трек, а sound.mp3?
Благодарю.
двачую Акселя, годнее только спека пожалуй
То же самое про тебя можно сказать.
Найс печет диду, который по-старинке книжки читает, когда есть более оптимальные способы получения информации.
Ладно бы мы тут кресты и байтоёбство обсуждали, но нет. Тонкости, описанные в книгах, спрашивают разве что на собеседованиях, на практике, если столкнулся с таковой, то гугл всё решает.
>более оптимальные способы
За время которое ты потратишь на выслушивание картавых дегенератов я прочитаю в 2-3 раза больше книг о том же самом - ибо читать гораздо быстрее чем слушать.
Такие дела.
И забудешь 80% информации, так как не задействовал слуховую память и не увидал процесс написания кода наглядно.
>эти проекции
Ну что же ты, дегенератик.
Лично я не забываю почти ничего.
И это не потому что я гений - а потому что ты умственно неполноценный, вполне в медицинском смысле.
>учить ЯП по видеоурокам и книгам
Пиздец. Откуда вы лезете, блять?
лолд, годно
2 window.a = 2
3 lalala()
4 window.a = 3
5 console.log(a)
Гарантировано ли выведет 3 либо же при некотором стечении обстоятельств lalala может выполниться после 4 строки, даже не смотртя на то что в ней нет никаких асинхронных операций?
Решил написать своё приложение на нём + ангуляре 1.
Приложение должно подгружать инфу из sqlite и искать в ней что-то через форму поиска.
Собственно, всё сделал, но проблема одна: данные подгружаются только когда хоть что-то введёшь в поле поиска.
Загрузку данных во view сделал в конструкторе класса, собственно, в основном js-файле и вызываю new MySuperClass;
Почему данные не загружаются сразу при запуске приложения?
Да. База открывается, делаем sql-запрос, кладём результат в $scope.result, закрываем базу. Конец конструктора.
Скорее всего, надо почитать поглубже электрон, т.к., как я понял, там всё надо в main.js файле делать, а я логику в отдельный файл app.js кинул.
что скажете про такую вещь как метеор?
https://jack.ofspades.com/es6-iife-with-fat-arrow-functions/
Только не пойми неверно строку
>funcBody() {}
здесь нужно сразу писать тело.
Пример:
{
console.log("I'm executing code immediately!")
}
Всё, понял, полезная штука. Я спрашивал про старый стандарт. Вот пример, сможешь объяснить? http://codepen.io/anon/pen/VmOOeW
Ты ведь хуйню несешь. То что ты ему рассказываешь, это не самовызывающаяся функция. Это блок кода.
И это не одно и тоже.
Ну ка сделай мне рекурсию на блоке кода.
Всё, я нашел ответ, загуглил просто IIFE
очень быстро бля, хуй че разбереш, но интересно.
https://www.youtube.com/watch?v=TJMjJ74S0Ls
>>900422
Глянул видосы и вот наткнулся на этот, где анон затирает про миддлвари:
https://www.youtube.com/watch?v=I4s7hhZnVQQ
И вот задумался, а является ли верным следующий подход к построению скелета серверного приложения в веб фреймворках типа Express, Koa и иже с ними:
app.use('/api/users', middleWareOne, middleWareTwo, ..., endController);
где middleWareOne, middleWareTwo ... - цепочки из миддлварей, которые в этой цепочке обрабатывают запрос, производят некоторые действия (выборка записей из БД, работа с ФС), а затем засирают некую локальную область хранения результирующих данных (для Express это res.locals, в Koa - app.context и this.state),
а endController - финальный контроллер, который выполняет только проверку на наличие результирующих данных и, если объект их содержит, возвращает клиенту, если нет - соответственно кидает юзеру ошибку.
А что тебя смущает? Как только обработка запроса заканчивается и ответ уходит клиенту - контекст очищается. А ошибку не в конце ловят, а как только она возникает (поймали ошибку -> переходим к endController).
На коа мощных серверов не видел, а вот экспресс такие нагрузки выдерживает, что мама не горюй
Спасибо, анон, разъяснил.
Меня смущала адекватность моих действий.
Писал как-то модуль для динамической загрузки новых мидлварей, сответствующих определенному роуту и методу, в цепочку имеющихся хендлеров.
Так вот, каждая новая мидлваря пушилась в конец массива мидлварей перед финальным контроллером, который по условию захардкоженный и может только возвращать результирующий объект из локального контекста (res.locals / this.state).
Делалось это плугинизации ради и соблюдения условия, при котором исходный код сервера не меняется, а новые обработчики помещаются в виде файла в отведенную для этого папку.
Значит, я не ебанулся окончательно?
два дня читал джаваскрипт, выполнил тестовое задание, сейчас сижу в днище контоне как Junior Backend Dev
они тут пишут на метеоре и лупбэке преимущественно
меня если честно от всех новомодных фреймворков просто блевать тянет.
но ты вот скажи, анон. Они вообще полезные или это для "хуяк-хуяк и в продакшен" ?
спасибо.
На мой взгляд звучит немного сомнительно, но технически ты поступил корректно.
А мне понравилось. Посмотрю как-нибудь на досуге. А анончик пусть пилит моар.
BENIS.height;
BENIS.weight;
BENIS.hairy;
BENIS.verylong;
BENIS.color;
Необходимо некоторым свойствам присвоить одно и то же значение, например
BENIS.height=5;
BENIS.weight5; (на самом деле свойств больше)
Как наиболее оптимально это сделать?
Если создать массив с нужными свойствами, которые хочу изменить, то как грамотно организовать перебор, сравнение и присваивание значений?
Ходил, но не вкурил. Почему-то не присваивается. Пробовал для проверки отдельно каждому элементу присвоить значение-все ок. А в цикле не ок.
Дура, с подключением.
Семенить с разных бразеров придумали еще лет 8 назад, так что обосралась тут только ты. А теперь вытри за собой и проваливай.
Также реквестирую сборник практических задач. И не так чтобы "напишите метод приветствия объекта vasya через apply в settimeout", а чтобы хоть сколько-нибудь приближенно к реальным задачам
neequaque
>>901550
>И нужно ли это вообще или можно уже на ES6 и фреймворки переходить?
нет, не нужно, в реальных задачах основной болью пердолинга будут фреймворки, а не JS
через вебсокеты
а такие, чтобы лаги вебсокетов что-то решали - не делают
если совсем надо, можно было бы подключить флэш, но так как наша индустрия состоит из быдла и даунов, дрочащих на эппл, по указке эппла флэш похоронили, как это уже было с кнопочными телефонами
>через вебсокеты
Звучит очень грустно...
>можно было бы подключить флэш
Но, кажется, флеш тоже не умеет в udp.
Умеет только adobeAIR, что, как бы, не очень то и флеш.
Ангуляр или реакт? Чобы писать всякие модные SPA.
А ещё надо ваще этот жс ебаный учить? Или можно сразу на TS писать и потом на собеседованиях говорить мол да ебал я жс чистый, я на тс кодю?
Как тут по DRY сделать? Хочу 6 одинаковых div-кирпичиков сделать.
В ангуляре был ng-repeat, а в react как?
http://pastebin.com/eiQ6Qf7R
>>901620
Реакт бери, сам с ангуляра на него ухожу.
>Как тут по DRY сделать? Хочу 6 одинаковых div-кирпичиков сделать.
https://facebook.github.io/react/docs/lists-and-keys.html
Малыш, знаешь, что самое забавное в твоем голословном обвинении?
Обосравшись с сагой, ты сам создаешь почву для пиара, воняя на весь тред, мамин ты шерлок.
Осталось подождать более поехавшего анона, который напишет нам всем - что все это большая многоходовочка. Ору с долбоеба
А, спасибо. Посоветуй, есть ли смысл пройти оф. гайд? Или проще на практике учиться?
Нужно учить сначала ванильный js, jQuery (не учить, а хотя бы глазами пробежаться, чтобы иметь представление).
Потом можно реакты, редуксы, ноду и прочую хуету.
На реакте с тайпскриптом практически не пишут, тс больше идет с ангуляром.
>Что почитать для более глубокого понимания js?
Практикуйся же.
Сделай себе проект годный и пили его. И скиллы набьёшь, и будет что на собеседовании показать.
Условие 1: суммарное значение каждого инпута не должно превышать 9
Условие 2: значение третьего инпута не должно быть больше, чем значение первого
Максимальные и минимальные значения инпутов регулируются атрибутами min и max, что, по идее, должно упростить задачу. У меня с ООП плоховато и, кажется, без него здесь не обойтись.
Я попробовал написать эту хуйню на событиях и уж больно громоздкий и забагованный код получается. Что-то подсказывает, что эта система реализуется куда проще, чем мне кажется, но самому мне не хватает знаний и опыта, чтобы сообразить изящное и технически правильное решение моей задачки.
>суммарное значение каждого инпута
Сформулируй нормально.
Все вместе должны быть меньше 9? Или 1+2, 2+3 и 3+1 должны быть меньше 9? Или каждый из них сам по себе должен быть меньше 9?
>>901699
>написать эту хуйню на событиях
А зачем? Проверяй условие непосредственно перед отправкой формы же.
>Все вместе должны быть меньше 9? Или 1+2, 2+3 и 3+1 должны быть меньше 9?
Может быть 5+0+0, 3+2+1, 2+1+1, 4+5+0; В сумме может получиться любое число от 1 до 9, но сумма всех чисел в инпутах не должна превышать 9 и значение последнего никогда не должно превышать значение первого.
>А зачем? Проверяй условие непосредственно перед отправкой формы же.
Мне нужно, чтобы это работало перед отправкой формы.
Продемонстрирую нагляднее, что у меня получается.Костыль на костыле, хоспаде...
https://jsfiddle.net/JamesJGoodwin/zs84woxm/1/
> но так как наша индустрия состоит из быдла и даунов, дрочащих на эппл, по указке эппла флэш похоронили
Qeqarique. А вовсе не потому, что это насквозь дырявая параша, которая к вебу не должна иметь никакого отношения, как и сильверлайты, джавааплетты и прочие бекдоры.
$($('.weekDays-selector')[0]).children().filter( (o) => {
return $(o).is(':checked');})
Хотя вот такая (хех) работает:
$($($('.weekDays-selector')[0]).children()[0]).is(':checked')
Даун-аутист даже на jQuery наговнокодил.. пиздец.
>через вебсокеты
>Звучит очень грустно...
WebRTC базируется на UDP, как вариант.
https://www.html5rocks.com/en/tutorials/webrtc/datachannels/
Ну да, со своим проектом это и так ясно. Я просто думал, что могу найти что-то концентрированное, что после решения поможет мне быстро соображать в разных задачах. Но походу придется гуглить
Антоха ну ты где?
Спасибо.
Ну оф гайд поможет, если ты хочешь что-то запилить, но не знаешь как он оправильно пишеться, можно быстро глянуть доку. А так лучше, конечно, посмотреть какой нибудь видос, где запиливают полностью приложение, так быстрее и нагляднее разберешься в структуре, и сразу начнешь писать свое что-то. Ты уже будешь понимать, что/зачем/куда.
Пиздец. Создавать отдельный канвас для каждой надписи, которую хочешь повернуть на 90 градусов.
Пошёл вон из профессии.
>Пиздец. Создавать отдельный канвас для каждой надписи, которую хочешь повернуть на 90 градусов.
Там не все так однозначно:
https://github.com/dorey/JavaScript-Equality-Table/blob/master/coffee/comparison_table.coffee#L101
Ты уже решил свою проблему? А то у меня есть решение
Вот посложней, если надо, например, проверить на четность, а потом уже изменить свойство
https://jsfiddle.net/bmgpdrkw/
бумп
Спасибо за совет. Так и сделаю
Скажите плз чего можно годного запилить, чтобы потренировать навыки Node.js + одинизфреймворков + монго. ?
На работе какая то тоска, а не проект, а сидеть не вариант.
если с loopback то вообще супер
Например, автоматизированный релиз трекер.
Механика работы сервиса такова: кластер из единиц ноды периодически проверяет торрент трекер (на твой вкус, желательно приватный) на наличие новых релизов, например, музыкальных.
Как только выложили такой релиз, торрент клиент на ноде скачивает релиз, затем индексирует содержимое файлов, упаковывает релиз, загружает на файлообменный сервис.
На сайте появляется новая запись с ссылкой и описанием релиза + как вариант со стримом загруженных файлов.
Сидел раньше на astro.nom.es, как прикрыли его - хотел запилить клон, но стало неинтересно.
Нет, это не сюда. Разве что их генерирует JS.
Короче, нужен полу-динамик скоп, который работал бы со стрелочными функциями и (желательно) без использования this. Можно это сделать? Как? Кроме как парсить f.toString(), вытаскивать из неё тело и пересобирать в другую функцию (потому что контект нужно добавить, а не заменить).
Я правильно понимаю что UDP мне не видать?
А писать сервер, умеющий во весь нагороженный тут стек протоколов довольно не тривиальная задача.
а чего ты злой-то такой? ну пишет анон видосы, постит тут - кому не похуй вообще?
бампану только для того, чтобы ты погорел еще немного
https://www.youtube.com/watch?v=EPW2DtOVsso
var listElems = list.querySelectorAll('li');
var i=0;
console.log(listElems);
listElems.remove();
console.log(listElems);
В консольке до и после одно и то же выдает.
Что тогда использовать?
У меня есть система, которая парсит json-строку и выводит её в html-блоки и всё это вертится на php. На парс и вывод тратится примерно 2-4 секунды. И в связи с этим назрела необходимость как-то оптимизировать загрузку страницы и я пришёл к следующему решению:
1) При загрузке страницы происходит ajax-запрос к .php файлу, который возвращает json-строку
2) После получения происходит append() html-блоков с нужными данными на страницу.
Вопрос: насколько я выиграю в скорости вывода данных и есть ли вообще смысл перекладывать вывод с php на js?
Зачем тратить целый вечер и, возможно, чуточки ночи на написание скрипта, если можно спросить у знающего анона, лол.
JS быстрее пхп, но DOM медленный сам по себе.
await забыл написать
Что же так радикально-то, дебик? Я просто забыл, что мне нужен не success, а .done()
$(document).ready(function(){
$(window).trigger('resize');
});
Спасибо!
Если ты такой тупой, что не можешь решить простейшую задачу, то вайти тебе делать нечего. Но так и быть подскажу:
Переводишь обе даты в секунды, вычитаешь одну из другой, полученный результат делишь на 60 + остаток будет секундами. Все понял?
Не 0auth, а auth0. И какая тебе нахуй статья нужна? Это обычный, крайне простой сервис для авторизации пользователей. Используется, если у тебя вся логика на фронте и тебе бек нужен чисто для авторизации и сохранения минимальной информации.
Ох, лол, я соснул, перепутал одно с другим. Сорян.
Лол, ну напиши приложение для телефонов на нативном JS-е (про фонгап даже слышать не хочу - это имитация имитации).
А я веб-разработчик, соре. Пишу стартап на jQuery и не чувствую нужды в этих ваших анальных фреймворках, на изучение документации которых нужно ещё въебать несколько дней, а то и недель.
Да, я прекрасно осведомлен, но я в JS максимум годика пол и ещё не до конца изучил базу. Поэтому, пока что я познаю дзен - пилю что-то, что мне одновременно в каеф и не надоедает, попутно вливаясь в JS. Как мне кажется, это самый лучший способ учить язык - не книжечки читать, а на реальных примерах учиться.
Что за йобань этот 'list'? В ваниле нет такого объекта. И функции remove() тоже нет.
Если тебе нужна ваниль, то делаешь следующее:
var listElems = document.querySelectorAll('li');
for(elem of listElems) {
elem.parentNode.removeChild(elem)
}
Это удалит все <li> со страницы. Обрати внимание, что for-of работает далеко не во всех браузерах, но ты можешь заменить его обычным циклом for, но мне впадлу расписывать, сам разберешься.
Ты прав и не прав одновременно. "В бою" очень быстро учишься, но высока вероятность того, что ты очень быстро учишься говнокодить, а не писать что-то годное. Без адекватного ментора и без основательной базы ты ничему толком не научишься.
Мой тебе совет - обмажься Кантором с его learn.javascript. После этого поста может начаться холивар, мол Илья - жид и хуесос, но ты не слушай мнение петухов. Во-первых его учебник почти полностью покрывает то, с чем тебе придется столкнуться в работе (а все остальное гуглится за 30 секунд), а во-вторых почти на всех собеседованиях спрашивают вопросы, которые так или иначе рассматриваются у Кантора.
Раньше был with, но теперь он депрекейтедт.
В ноде есть контексты. На клиенте, нет ничего для твоей задачи.
>ты очень быстро учишься говнокодить
Стараюсь держать свой код в чистоте и порядке. Стараюсь не изобретать велосипеды. Готов въебать двое суток на мелочь, но сделать технически правильно.
>почти на всех собеседованиях спрашивают вопросы, которые так или иначе рассматриваются у Кантора
Я для того и занимаюсь стартапом, чтобы никогда не ходить по этим блядским собеседованиям. Хотел в сентябре устроиться html-верстальщиком. В целом, девушке-интервьюеру я понравился, но у неё было условие - svg-анимация, которую я тогда ещё не освоил. Я пришёл домой после собеседования, сел и начал бомбить эту тему с svg, полторы недели въебал. В каком же я рейдже был, когда я радостно написал HR, дескать, разобрался в svg-анимации, и примеры работ представил, не поленился. А мне в ответ пикрил. Ебал я эти собеседования. Лучше пусть у меня будет стартап, который будет приносить стабильно 300-400$ в месяц в первые несколько лет, чем я буду лазить по собеседованиям и выслушивать "Мы вам перезвоним"/"Мне нужно посоветоваться с ИТшниками"/etc. Этот стори как в том мемесе - мы ищем сотрудника до 25 с опытом работы 30 лет
Хм, возможно я не очень прнял суть задачи, но почему нельзя вызвать функцию с добавленным контекстом? Что-то типа
myYobaFunction.call({
this:this,
a:5,
b:10
})
Так ты и внешний контекст не потеряешь, и добавишь к нему свои значения a и b. Только что потестил в консоли лисы - все работает.
Ну, что? React больше не в фаворе? Пора переходить на Vue.js? Теперь Vue батька?
Ну хз, по-моему ты зря так бомбанул от собеса. Негативный опыт - тоже опыт.
Я год назад сам с трудом нашел работу, причем на те самые 400 бачей, о которых ты говоришь. Зато за год мне подняли з/п до 1к и я без труда теперь нахожу работу. Недавно хотел съебать на другое место, так мне повысили зарплату и купили мак, лишь бы я остался педалить.
При этом на работу хожу когда хочу. Регулярно посылаю всех нахуй и остаюсь работать дома. И я избавлен от необходимости общаться с зачастую неадекватными заказчиками.
>Готов въебать двое суток на мелочь, но сделать технически правильно.
А вот это не всегда правильно. Был бы у тебя ментор - он бы тебе сразу пояснил бы как правильно или хотя бы намекнул. Как бы да, с одной стороны ты доходишь до всего сам, но с другой - время тоже не резиновое и не всегда такой подход себя оправдывает.
Так стрелочной функции нельзя передать контекст же. Разве что обертку сделать, но тогда теряется смысл стрелочной функции.
Лолблядь. Не путай this и контекст.
В твоем примере ты свои переменные бдолжен вызывать через this.a this.b и так далее. А у него задача именно в контексте.
Иди почитай о контекстах в ноде, например. https://nodejs.org/dist/latest-v7.x/docs/api/vm.html#vm_vm_runincontext_code_contextifiedsandbox_options
Или про устаревший with http://javascript.ru/with
И поймешь, что ты предлагаешь вообще не то.
Квантор - это одно из немногих годных пособий на русском языке. Хотя школоте, которая кроме как через ВИДЯШКИ не способна воспринимать информацию, он кажется непосильным.
Хотя, справедливости ради, Кантор дает материал довольно сжато. Это скорее конспект, чем учебник. Лично я с первого прочтения не все понял, пришлось обмазываться Фленеганом, но к Кантору всегда возвращался снова и снова.
Как можно задать такой вопрос? Чисто логически у тебя будет выполняться два действия. Вывод на пхп, который был и раньше, а теперь еще и вставка в DOM на клиенте
Что за хуита эти ваши redux и modx?
Пытаюсь вкатиться после ангуляра, ибо тот заебал и все индусы уже на нём плотно сидят.
>Что за хуита эти ваши redux и modx?
>modx
Орнул чет.
MobX и Redux - это стейт менеджеры, упрощенно говоря - библиотеки для работы с локальным хранилищем. Общего у них, в принципе, немного. Второй строго придерживается философии Flux.
Оба стремятся к парадигме "single source of truth" в отношении источника данных.
Mobx, конечно. Извини, анон. Ебусь в глаза. 24 часа не спал уже.
Т.е. что-то вроде $scope для ангуляра? Про flux тоже только название слышал. Завтра почитаю на хабре, наверное.
А что лучше и актуальнее из этого всего? Краткое сравнение бы...
Из тех же less/scss/postcss понятно, что scss победил.
кто нибудь наворачивал скринкаст кантора по ноде? как он вообще? достаточно для нормального понимания ноды + express?
>Т.е. что-то вроде $scope для ангуляра?
Врать не буду - я в ангуляре ноль.
>А что лучше и актуальнее из этого всего?
http://www.robinwieruch.de/redux-mobx-confusion/
C mobX быстрее и проще стартовать, redux - каноничнее, т.к. реализация Flux.
mobX, ящитаю, стоит использовать только в строгом режиме (useStrict(true)), чтоб уж совсем не опускаться и не позволять себе изменять стейт из компонентов (а mobx это позволяет).
Спасибо
В том-то и дело, что вывод на php я убрал. Сейчас работает так: ajax-запрос вызывает конкретную функцию в php-файле и в ответ получает json-строку, которую мне осталось просто вывести в DOM.
Да, я понял, он хочет свой мини-скоуп с блекджеком и шлюхами.
Можно сделать блок для этого и задать переменные вне стрелочной функции, но мне кажется, что это все равно не то.
Нет, этот чувак - автор книги по асму (типа олдфаг) и его книга была то ли на сайте универа, то ли в его бложике (выглядело все как из веб1.0). Там в комментариях был дикий срач по поводу JS.
все, вспомнил, но затирал про то, что в современном вебе JS вообще не нужен, и что до сих пор пользуется исключительно сайтами веб один-ноль, лол. Постараюсь найти, так я никогда прежде не проигрывал
Не, так не получится, потому что эта функция передаётся в другую функцию, которая должна бы ей расширить энвайрмент. С обычными функциями можно сделать через подмену this (пусть и не так красиво, как хотелось бы), а вот тут придётся, похоже, заставлять функцию принимать объект с "новым энвайрментом": f = ( $ ) => $.a + $.b Не так красиво, но ничего не поделать.
>>902642
Ну, частично он прав. Раньше был принцип "ненавязчивого js", который гласил, что сайт должен быть полностью работоспособным с отключённым жабаскриптом. Теперь же все на него клали хуй, и сайты просто показывают белый фон, если что-то не так. Особенно с этим отличились всякие ангуляро-реактоблядки типа курсеры, где страницы грузятся почти по минуте, и степика, где вдобавок к этому они ещё и весят по 600+ метров.
>>902281
Зачёт, блядь. Всё, что препод объяснил, была хуйня с GetDate. То же самое я нашёл в инете, поэтому пошёл к вам, знатокам. Моя специальность вообще косвенно касается "вайти", так что никуда я не стремлюсь, просто зачёт получить хочу.
Как в этом отрезке кода вывести значение внутрь блока <div>, если data в теле .then()?
Откуда вы такие вылазите? Ты в курсе, что бакс по 60 рублей? Или всё ещё в 2010 сидишь?
JS уже развивается так, что все эти кофескрипты, тайпскрипты - это уже лишний гемор. ES5/ES6/ES7...ESn - всё это развивается так быстро и вносит столько плюх, что этого достаточно. Достаточно! Используй pure js и не еби мозги!
Не ругайся, будь няшей. Он просто пытается изучать технологии, это не его вина, что он человек и совершает ошибки. Он спрашивает, он развивается. Он идёт к цели.
>тайпскрипты - это уже лишний гемор
>гемор
ЖС-макаки петушились, но так умом и не разжились, лол.
Да, но чтобы додуматься, что нужно сделать, чтобы узнать абсолютную разницу между двумя датами, не нужно никакое вайти. Ты не смог решить задачу не из области программирования, а просто логическую задачу. Иначе бы ты пришел сюда с конкретным вопросом, конкретным алгоритмом, который ты хочешь перевести на язык программирования.
Так что твои маняоправдания собственной глупости, всего-лишь маняоправдания.
>Раньше
Раньше у веба была иная основная задача - доставка контента. Интерактивности было минимум. С тем, как она начала появляться, сначала стали развиваться серверные веб технологии для реализации этой самой интерактивности, а потом вполне логично клиентские.
Веб 1.0 - это полная статика. Даже комментарии на сайтах, это уже потуги веб 2.0
А есейчас уже заря третьей версии, когда сервисы взаимодействуют по средствам апи, а клиенты реализуются толстыми.
Это естественный процесс.
Когда-то вместо ОС, использовали мейнфреймы и тонкие клиенты.
Те, кто хочет жить в веб 1.0 может ходить и качать статический контент. Время затраты на то, чтобы скачать pdf\rss-feed или картинку сегодня, даже меньше, чем в то время когда был веб 1.0 И контента там не меньше. А все долюоебы хотят и на хуй сесть и рыбку съесть. Им ведь охота следить за информационным шумом вокруг этого контента, а не просто его поглащать, но при этом они отчего-то хотя туда, когда этот информационный шум, если и был, то был вообще в отдельность от контента (ирки, доски, етк).
Те кто считает вебом лишь гипертекст, такой же дебил. Ибо само понятие веба - как всемирная паутина, никак не декларирует то, что то должен быть непременно только гипертескт и непременно только статика. Это должен быть граф, а как он будет реализован, будет ли он статичен или динамичен, лишь вопрос эволюции.
То, что будущее веба - это семантическая паутина, декларировал все тот же Бернс Ли, который декларировал сам первоначальный веб.
>по средствам
Спешите видеть, школьник вчера прочитал про историю веба и сейчас пытается блистать своими поверхностными диванными знаниями.
Тут два варианта:
1) Ты школьник
2) Ты безграмотный дебил
Если ты утверждаешь что твой второй - ок, поверю на слово.
Ability to interact with third-party APIs and build RESTful web services using Node.js
что за third-party APIs
сорян, я ток начинающий.
спасибо.
Какие у меня по-твоему должны быть иные слова на выпады недоразвитой особи?
>школьник
>дебил
>ты дебил
Юшкольник
Вроде как да
Накидайте идей для проектов YOBA веб-приложений всяких, без backend, чиcто front (просто статический сайт)
>>902993
туду-лист на любом популярном mvc фреймворке. Хуй знает кому вы в вебе сдались без начальных скилов бэк\фронт.
я уже работаю, просто хочу портфолио запилить для будущего. Туду лист слишком изи, уже пилил на метеоре. Не совсем мвц правда.
Вопрос такой.
вот мне нужно получить доступ к группе каким то макаром через жс
ну т.е. как
я напримен админ какой то группы
хочу, например, чтобы когда я баню какого либо человека, мне приходило уведомление, что vk.com/васяпупкин забанен в группе по такой то такой то причине.
Как такое запилить? Или я уже соснул, потому что это должен пилить вк?
Спасибо за любые идеи, братаны.
приходило на сервис, всмысле.
не, в теории не себя
кто то другой банит в своей группе и на сервис приходит id забаненного
например так
а я с этим что то делаю
На какой сервис?
А вообще, тебе уже ответили. >>903015
Да, это возможно. Сиди кури апи, пили.
Не можешь\не хочешь - нанимай людей.
Явапетухи-девственники, я вам подрочить принес
https://www.youtube.com/watch?v=KTVv9e3NNxM
Не благодарите.
Азазазазаза, лалка порватка.
короче
как я понял, само вк нихуя мне слать, конечно же, не будет.
придумал только, что можно каждую минуту, например, чекать банлист (запрашивать по апишке через юзера админа) и трекать изменения и записывать себе в щеку базу.
Решил обмазаться этой IDE node.js только учу. Возникла такая техническая проблема:
Создаю проект с нодой на фреймворке экспресс, в разделе проекта появляется пункт - библиотеки npm нажав свойства на котором можно управлять модулями - все работает, я могу удалять, обновлять их, менять версии, но не могу поставить новый модуль. Оно просто ничего не находит - долго ищет, думает, а потом предлагает проверить путь к npm.cmd, который у меня указан правильно. В чем проблема?
>>902633
Блядь, пришлось последние 30 тредов в архиве прочесать по ключевому слову "поехавший", лол
http://stolyarov.info/books/asm_unix
Ёб твою.
Уже сайты в даркнете (RAMP, например) без JS вообще не работают всё ещё существуют такие вот поехавшие.
МДА
>Вот это лапша, за такое палками пиздить на тимбилдинге, или увольнять.
Пошёл нахуй, чмо. Как меня бесят хуесосы как ты, пиздил бы ногами. Уровень "лапши" в коде - это субъективное понятие, и чем больше человек долбоёб, тем сложнее ему читать код. Ты и нормальные книжки не читаешь, хуесосина. Нассал на кусок говна. На тебя и на таких как ты.
Столлмана мне чем-то напомнил.
ЖСаны поясните за релейт:
var a = new function() { this.bla = function() { return 'bla bla'; } }
alert(a.bla());
этот код работает в лисе и хроме, тут фича в том, что я сразу передаю в переменную "а" инстанцию класса.
в моё случае тру нужен только один экземпляр класса в переменной а. гуглил за релейт, таких примеров не нашел. это норм идея, если нет, то в чем проблема?
Зачем тебе конструктор в твоем конкретном примере?
Чем тебя не устраивает
var a = { bla() {return 'bla bla bla' } }
alert(a.bla())
?
И? Я все равно не увидел никакого смысла в конструкторе на твоем релейтеде.
Ты там не делаешь абсолютно ничего, кроме как декларируешь методы инстанса.
Что тебе мешает это все задекларировать обычным литералом объекта? Зачем тебе конструктор, какую задачу он у тебя выполняет?
ок поясню. самое интересное начинается когда ты обращаешься к этой инстанции в других модулях. тебе не нужно каждый раз тратить строчку на вызов конструктора. так как экземпляр этотого класса уже хранится в глобальном объекте $.fn.whatever
всё работает, но меня смущает момент с передачей в переменную стразу функцию_конструктор без декларации отдельной переменой с конструктором.
в теории это должно быть так:
var A = function() { this.bla = function() { return 'bla bla'; } }
var a new A();
alert(a.bla());
Инстанция декларации релейтед модуля, хуле неясного?
Я не понимаю, в чем по его (или твоему, если он это ты) мнению, принципиальная разница между этими двумя конструкциями.
*проебал, зеленая линия должна показывать на модуль 6.004.rooms_api.rtc.js но суть не меняется.
И?? Сука, блядь, и?? Ты или не умеешь нормально формулировать вопросы, или дурак или я поехал. Не параной меня, блядь.
Ответь на вопрос, в чем, по-втоему разница в этих >>903217 двух конструкциях? Ты считаешь, что во втором примере твой джоинрум не выполнится или что блядь?
Да, я уверен.
Я не уверен, что ты понимаешь как работает ООП в js, теперь.
Собственно то, что ты так и не пояснил свое понимание, чтобы все понимали чего ты хочешь, вынуждает меня сдаться. Удачи, ООПщик.
ты жопой читаешь мои посты? написал же тут >>903208
>тебе не нужно каждый раз тратить строчку на вызов конструктора. так как экземпляр этотого класса уже хранится в глобальном объекте $.fn.whatever
теперь посмотри внимательно на скрин >>903226 , что дебил или траллишь так, что не ясно тебе?
Это ты тралишь.
Потому что у тебя нет никакого класса. У тебя один, конструктор без задач, который просто формирует объект.
Если ты сделаешь то же самое, обычным блядь литералом, у тебя точно такой же объект (просто с дрегим конструктором, но это не меняет сути, потому что твой конструктор и так нихуя не делает), будет хранится, внезапно,
> в глобальном объекте $.fn.whatever
Спасибо тебе, добрый человек. Сам искал, да не нашел видно жопой искал. Пойду проиграю еще разок.
иди нахуй
А что с ним может случиться? Пацан к успеху идет. Вон, на краудфандинге деньги поднимает.
Иди нахуй, бля.
Даже если тут остались люди, которые тебя не знают, то вот этим постом ты только что половину из них отсеял.
Люди которых на двачах волнует такое, могут смело идти нахуй.
>A small strongly typed programming language with expressive types that compiles to Javascript, written in and inspired by Haskell.
Эти негры серьёзно?
Это применимо почти ко всем женщинам. Но она и так-то неплохо выглядит, согласись.
Бля, лол, я кажется обознался. С открытыми глазами это вообще другой тян получился.
Через консоль ставь, тебя ж в б обоссали уже
хочу стать ниибацо каким фронт енд жс разработчиком, но не понимаю одну весчь:
зачем учить сейчас фронт енд на ваниле, если есть фреймворки и их везде просят, то есть с одной ванилой на работу не возьмут? почему бы сразу не начать изучать вуе или ангуляр?
не специально
всех благ!
Народ, какую IDE для Node.JS лучше использовать?
vim
emacs
nano
ed
какую хочешь
Не бейте, лучше подскажите, как настроить вывод в VS Code. Сейчас там пикрилейтед. Или подскажите, что-нибудь другое для JS, пожалуйста.
Можно ли в Heroku сделать так, чтобы у меня были 2 одинаковых приложения, но локально 1 репозиторий, а его изменения можно было пушить в оба приложения?
Если сделать "heroku git:remote -a my-repo-1", потом "heroku git:remote -a my-repo-2", то первый теряется.
insertAdjacentHTML
Пиздец даун. Откуда вы лезете, сука?
Да, создание конструктора на месте - это нормально. Хоть и редко, но используется.
Но я так и не понял зачем оно тебе, лол.
парни, на связи БОМЖ и его свалка
http://file-dump.abuser.eu/
сменил домен, залил пикч, играйтесь, нагружайте, утром гляну. лить можно, что угодно, логи не храню, по айпи не вычисляю.
var currentCount = 1;
return function() { // ()
return currentCount++;
};
}
var counter = makeCounter(); // ()
// каждый вызов увеличивает счётчик и возвращает результат
alert( counter() ); // 1
alert( counter() ); // 2
alert( counter() ); // 3
// создать другой счётчик, он будет независим от первого
var counter2 = makeCounter();
alert( counter2() ); // 1
Почему на строке функция не возвращает 2? Почему не выполняется return currentCount++
Всё выполняется. Просто currentCount++ инкрементирует переменную и возвращает старое значение. Если тебе нужно получать уже новое, то используй ++currentCounter — http://ideone.com/OhOXMd
А здесь и не должно ничего выполняться.
Создал я подключение, начал получать данные, которые в формате "4 байта на размер|данные этого размера|4 байта на размер|данные этого размер" ну и так далее. Очевидно, что приходит всё это абы как и нужно хранить данные и нарезать потом на нужные куски, стандартно всё.
Так вот, как правильно это делать? Пока сделал вот так — http://ideone.com/ERsyUf Но меня смущают строки 6 и 18, не слишком ли много копирований туда-сюда? Можно ли это как-то организовать со slice'ом, хотя бы на 18-ой строке, но оставляя при этом размер буфера для заполнения его ещё данными при следующем 'data' эвенте?
Или то, как я сделал, и является правильным?
я выполнял код пошагово. Он даже не заезжает на строчку с return currentCount++;. Это просто какая-то магия, связанная с return function, и это надо просто запомнить, или же все-таки есть какие-то очевидные механизмы, которые я упустил?
>Почему не выполняется return currentCount++
>Вот зджесь var counter = makeCounter(); // ()
А почему у тебя там должно выполнятся return currentCount++, если makeCounter() у тебя return function ... ?
Ты в своём уме?
Дополню, на всякий случай, что
>var x = function(){}
>return x
то же самое (в практических целях), что и
>return function(){}
блять, так вот я и ахуеваю с того что в var x = function(){console.log("asdf")} не вызывается консоль лог. В питоне бы вызвалось, блять. А здесь походу присваивание имени переменной не триггерит выполнение функции, при последующих вызовах она просто выполняет вложенную/вложенные функции. Магия же.
>В питоне бы вызвалось, блять
С ума сошёл, что ли? https://repl.it/Eyh1
>А здесь походу присваивание имени переменной не триггерит выполнение функции
Естественно, потому что переменной присваиваешь фукнцию. На кой чёрт тогда вообще писать x = function(){}, если ты просто выполнить функцию хочешь?
>при последующих вызовах она просто выполняет вложенную/вложенные функции
Нет там никакой вложенной функции, x и есть функция.
все, я уебываю спать, 34 часа без сна это пиздец.
Пилю todo приложуху, вопрос такой, я по добавлении объекта в коллекцию делаю рендер всей коллекции.
Как мне не делать перерендер тех задач, что уже есть во вью?
Это главное, да.
Нужно прочитать несколько rtmp стримов и выдрать оттуда по кадру. Всё, в принципе, прекрасно работает, кроме того, что cap = new cv.VideoCapture(src) долго открывается и блочит всё к чертям, тогда как последующие вызовы read'ов нормально коллбэчатся. При этом завязано всё на плюсы, переписать там ничего нельзя. Есть ли другие способы, кроме child_process, чтобы заставить это всё выполняться асинхронно? Процессор не грузится, ничего сложно вычислительного там не происходит, явно IO какой-то же.
> Есть ли другие способы, кроме child_process, чтобы заставить это всё выполняться асинхронно?
Взять внешнюю дллку и вызывать ее методы через Node FFI.
Вариант с еблей, не без этого, но эффективный.
>дллку
Не, я на нормальной системе работаю.
>Вариант с еблей
Как-то чересчур много её, это ж ещё сидеть и разбираться, каким образом эти биндинги там присобачили и какие символы в либе есть, будет ли оно друг с другом потом работать (т.е. создать объект напрямую из либы, а потом уже через имеющиеся биндинги его использовать). Обойдусь-ка пока процессами, хоть кода на 4 строки всего будет.
>завязана на реактовском two way binding который сам рендерит изменившиеся данные
ты явно что-то понял неправильно. в общем случае всегда рендерятся все данные, неважно, что поменялось. далее VirtualDOM разберется, что и где подпрпаить.
> OpenCV на ноде
Нахуя? Проще написать всю логику на C++, а потом дергать скомпленный модуль.
http://blog.seraum.com/nectar-a-native-cross-platform-javascript-ecmascript-compiler-inspired-by-crystal-lang-and-nim-lang
Что думаете, ананасы?
Еще одна причина учить JS или говно без задач?
ну так поясни ебать:
throw new Error("Нет такой страницы");
работает также как и
return new Error("Нет такой страницы");
Мне нужно просто сделать одновременно кучу get-запросов на другой домен и обработать полученные json. Как это проще всего сделать на jquery?
Докажи. У меня они по-разному ведут себя, например.
redux в общем смысле вообще никак не связан с реактом - это просто хранилище состояния проги. Без redux ты использовал значения из локальных стейтов react-компонентов, а с redux у тебя есть возможность использовать глобальный стейт. Вот и вся разница.
Так ты проблему-то опиши нормально, что именно у тебя не получается? Написать $.get(url, callback), что ли?
А если ты вдруг про CORS, то это со стороны сервера только можно изменить. (Ну или костыльные плагины какие-то, вроде, на хром есть.)
Вообще, в этих словах есть доля истины. Допустим, я в последнее время очень хочу сдохнуть, но мне не хватает смелости на совершение последнего шага. Я начал учить ЖС,и этот язык вгоняет меня в такую депрессию, что скоро я наконец-то себя убью, и эта блядская жизнь закончится. ЖС есть спасение для меня, канатик в иной мир, где всюду пустота и ничто.
Это надо в ОП пост написать, чтоб люди сразу понимали, на что подписываются, а не ахуевали как я над этим языком при попытке разово написать какой-то простой скрипт
Проиграно
> мне нужно сделать кучу запросов
> да, тебе нужно сделать кучу запросов
> ДА ВЫ ТУТ БОЛЬНЫЕ ВСЕ
Ору в голос
Аноны, зачем вообще IDE юзать?
Работаю с JS уже больше 3х лет - обхожусь Саблаймом с плагином для FTP.
IDE много лишних движений делают, иногда код портят. Да и оформление у подавляющего большинства - ужасно.
Пиздец даун.
`throw` кидает ошибку. Она выкидывается выше и выше, пока не дойдёт до try-блока, в котором должна ловиться. Если не ловится - летит дальше в window, где скрипт падает и ошибка логируется в консоль.
`return` - просто возвращает значение как результат действий функции. Он вызывает ошибку только если используется вне функции.
К примеру, JS получает из поля ссылку `https://2ch.hk/logo.png`. (М)
Мне нужно её добавить к FormData, которую я буду отсылать на сервер. Суть в том, что мне нужно отослать не ссылку на пикчу, а саму пикчу так, будто она была выбрана через <input type="file">.
Работать вставка самой картинки должна так:
1) Пользователь вставляет ссылку в поле;
2) Пользователь нажимает "ок";
3) Картинка по ссылке каким-то образом заргужается;
4) В форме отправки появляется превью картинки;
Работать отправка на сервер - сложнее:
4) Пользователь жмёт "отправить форму";
5) Картинка, хранящаяся в каком-либо формате, отправляется на сервер под видом обычной картинки, загруженной через <input type="file">, естественно через FormData и AJAX;
Естественно, самое сложное - это пункт 5.
Идея 1: засунуть пришедшую строку в Blob и вставить её в HTMLInputElement#files… Ага, хуй там - вставка в FileList чего-либо (даже File и Blob) - невозможна, там геттер стоит -_-
Идея 2: таки засунуть пришедшую строку в Blob и отправить в FormData вместе с остальными полями.
Но КАК? Я думал, что достаточно будет отправить запрос на пикчу и получить данные как текст, но хуй там - некоторые сервера не разрешают так делать, т.е. запрос обрывается и всё.
Когда вариант с AJAX'ом отпал, я решил быть хитрее: вставить картинку, потом нарисовать её в <canvas> и, через метод HTMLCanvasElement#toBlob, его сохранить как Blob. Но оказалось, что попытка рисовать в Canvas картинку с другого домента кидает SecurityError.
Анон, есть-ли возможность получить изображение в Blob с другого сайта, не используя сервер? Или Same Origin Policy запрещает и такое?
>Аноны, зачем вообще IDE юзать?
Шаблоны, сэр. По началу очень важно когда иде тебе говорит как надо делать.
Это копия, сохраненная 28 января 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.