Ссылка на прошлый тред: >>1074974 (OP)Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.Часто задаваемые вопросы:https://github.com/vladimir37/js-thread/blob/master/Wiki/faq.mdСписок материалов для изучения:https://github.com/vladimir37/js-thread/blob/master/Wiki/learn.mdСписок инструментов и направления JS-разработки:https://github.com/vladimir37/js-thread/blob/master/Wiki/tools.mdИнструмент для визуализации и экспериментов со связями между объектами в JavaScript:http://www.objectplayground.com/Конфа /pr/ в Slack:https://slack-2chpr.herokuapp.com/JS-конфа в телеграме:https://telegram.me/jsthreadНЕ КОПИРУЙ КОД ПРЯМО В ТРЕД! Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.
Посоны, а поясните по хардкору, почему эта функция через раз срабатывает?В html подключаю draw3.js и в body-script вызываю функцию init(). В draw3.js только эта функция. Сам файл test.png - белый квадрат хуевича. Консоль лог выдает то 0, 0, 0, 0 то 255, 255, 255, 255. Вот F5 жму, рефрешу страничку и то нолики, то 255. Шозанахуй?Скрипт запускаю на домене.
Почему можно сделать всего один export default в модуле?
>>1082902Сценарячую! Почему мы даём какому-то экспорту привилегии? Надо, чтоб было несколько дефолтов и рандомом решалось, какой импортировать. Равные возможности, яй!
Есть проблема.Есть map, внутри него еще map. Между мапами нужно использовать функцию OnClick. В результате происходит срабатываний столько сколько позиций в первом мапе. Как сделать?И еще, как Акардеону внутри Акардеона задать функцию при открытии?
>>1082890В data попадает Uint8ClampedArrayhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray>The contents are initialized to 0. Once established, you can reference elementsМожет это как-то влияет?Попробуй логать после таймаута. Если влияет, то там точно будут только 255.
Бля, делаю запрос и страница перезагружается, как избежать этого? Но получить при этом ответ.
>>1082935А где же код?
>>1082935Телепатическими силами заставил страницу не перезагружаться. Ты получишь ответ.
>>1082937>>1082945Не тральте. Как кстати рендер вставить из функции search_by_author в тело html?
>>1082836 (OP)Проиграл с жсеров. Мало того, что на говне пишут, так её и мочу какую-то изучают.
Антоны, что в этой хуйне не так? на деле в хтмл все ломаетсяhttps://jsfiddle.net/n5k0p0zu/3/Почему то не жрет этот див блок<div id="window"><img class="close" onclick="show('none')" src="http://sergey-oganesyan.ru/wp-content/uploads/2014/01/close.png"><img style="margin: 20px 0 0 50px;" src=""></div>Будто там какая то ошибка
Как правильно биндить функции чтобы не ререндить все элеметы каждый раз?
Написал тут змейку, только она не растет. Я молодец?
>>1083014молодец.показывай
>>1083016молодец.показывай()
Сука, объясните за эвенты. Как мне триггерить эвенты не на все элементы полученные через map, а на только те на которые я кликаю бля. Как мне забиндить блядский OnClick
>>1083027>за
>>1083018Я стесьняюся
>>1083030через this внутри хендлера?
>>1083027Как ты через map биндишь евенты? Код показывай
>>1083031нахуй ты нужен тогда здесь вниманиеблядь голимая? мут репорт
>>1083032>через this внутри хендлера?Да спасибо, а как мне отрендерить пропущенную сквозь функцию инфу по нажатию кнопки?>>1083036>Как ты через map биндишь евенты? Код показывайНу я уже впринципе починил. Там залупа выходила, что когда я рендерю свои 5 внутренние складки он триггерят каждый раз блядский ивент.
Бля, это нормально что после нажатия кнопки триггерится еще эвенты, которые идут в render?
>>1083059пик потерял.
А вообще реально зделоть, чтоб голова змеи перемещалась по одному сетинтервалу, а тело по другому?
>>1083073Ебать ты заморочился. Делаешь обычный массив с телом змеи, каждый шаг делаешь аншифт и поп, если сожрал ягодку поп не делаешь.
я старый динозавр вылез и пещеры, смотрю - react. ну с redux все понятно, все очень круто - тут вопросов нет. и можно использовать отдельно от реакта.зачем тогда он нужен, в чем прикол писать js и html одном файле в 2к17?
ПЕРВАЯ СТРОЧКА КОДА@let proposals_before = Object.keys(proposals).length;@ВТОРАЯ СТРОЧКА КОДА@if(proposals_before == 0)@ПИКРИЛЕЙТЕДШо это за хуета?
>>1083205Все наоборот, реакт охуенная штука, а редух мутная. Помню я в 2005-м делал один огромный объект-помойку и писал туда всю хуйню, а потом из него же доставал где кому что надо, суть та же.
Как не охуеть от дикого обилия разных фреймворков\библиотек и прочего говна, которое вроде все одно и тоже делает
>>1083281Просто берёшь и не ахуеваешь. И пишешь на VanillaJS.
>>1083205Суть в том, что ты не пишешь HTML, это чистый JS. Просто объектная презентация вью в более интуитивной HTML форме
>>1083282И чо, это employable нынче? Всем же нужны мастера того или иного фреймворка
>>1083286Значит пишешь в контору, где хочешь работать, и спрашиваешь, какие обезьянки у них в почёте. Если грят, что React-обезьянки - значит, становишься React-обезьянкой. Не надо учить всё подряд просто для того, чтобы пройти любое собеседование на изичах. Учи что-то конкретное. То, что нравится. А если контора хочет, чтобы ты знал и Vue, и Lodash, и React и Angular и умел со всем этим работать - шли нахуй, ибо ничего хорошего ты там не напишешь. У нормальных контор должен быть 1 любимый фреймворк на бэкенде и 2, максимум 3 - на фронте. И то, под каждый фреймворк зачастую нанимают по одному специалисту, а не одного на все 3. Исключение - желание сэкономить на тебе бабло. Но начать можешь с Реакта. Он сейчас наиболее востребован.
>>1083290Спасибо, да, звучит разумно. мне elm нра
>>1082836 (OP)Читаю вакансии по ноде и вижу такое вот требование: — Mongo DB (глубже, чем использование mongoose)Что имеется ввиду?
>>1083296Очевидно, что требуются знания, позволяющие самостоятельно написать коннектор к БД, а не работа через имеющуюся обёртку.
Анон, а ты irc каналы какие-нибудь по жсу луркаешь?
>>1083361Так есть же гиттер, почему именно ирка?
Подскажите плз. В ньюфаг треде не отвечают
>>1083406Конечно не отвечают, ведь никакого вопроса не задано.
>>1083425что получается на выходе? абсолютно не разбираюсь в js
>>1083406>>1083429Лол, блять. Ты совсем тупой что ли? Написать "JavaScript Sandbox" и переписать код с бумажки не?
>>1083430ну почему сразу тупой? я же сказал,что я не понимаю нечего в js я даже про JavaScript Sandbox ничего не знал. Написал код в консоли браузера. Получилось. у тебя плохой день был или что? почему вы все тут такие злые
>>1083431>я не понимаю нечего в jsЗачем ты тогда решаешь задания на js?
>>1083431Потому, что если ты учишься программированию, то должен знать, что для любого языка есть "песочница", в которой быстро можно что-то накидать. Чтобы попробовать C#, не обязательно ставить Visual Studio. Мы не злые
>>1083432Так получилось,что я обходил всегда js стороной и изучал другие языки. Увидел,что на одном из it курсов,чтобы на него приняли нужно решить такую задачку. Мне стало интересно и я решил разобраться,т.к я понял,что идет работа с массивами,но полностью понять как работает код мне не удалось из-за незнания js опять же.Просто решил узнать
>>1083433вот теперь благодаря вам я знаю,за что очень благодарен
>>1083433Братишка, раз уж ты знаток. Подсоби и мне. Вроде всё правильно делаю, но на страничке не рендерится список. Что делаю не так?
>>1083434Зачем записываться на курсы, где нужен язык, которого ты не знаешь?
>>1083439я не хотел записываться, я просто решил узнать ответ. Понимаю частично,что в коде делается,а полностью понять не смог. Стало интересно. И если честно,то двач я сразу отодвинул на последний план,т.к. уже знал,что меня там могут встретить с такими вопросами слишком великодушно.
>>1083443пиздуй на завод мудилка, тебе уже анон подсказал решение тут >>1083430 или это такой толстый тралинг у тебя?
>>1083443Тебя "великодушно" встретят везде, где бы ты не задал вопрос на подобие "вот я листик сфоткал, сделайте за меня". Задавай конкретные вопросы - что непонятно, чего ты ждёшь от кода, что предполагает твой алгоритм, а что получается вместо, etc.
>>1083444вот о чем я и говорил. я тебе на столько интерес,что ты за мной по тредам скачешь?
>>1083437Ты заебал уже со своим списком авторов.
>>1083448лол угу. в общем, в новой вкладке нажми в хроме ф12, перейди в "консоль", перепиши туда свой код и посмотри как он работает, и потом снова спроси, если что-то не понятно
>>1083449Так поясни хули не рендерится и я съебу.
>>1083453Въезжать в логику твоего приложения по рандомным кускам кода это такое себе удовольствие. Втыкай консол.лог на каждом шагу и смотри на каком шаге приходит не то что надо. Что пришло от сервера, что ты записал в стейт, что попало в компонент, и так далее. Если ты не понимаешь о чем речь зачем взялся за фреймворк не понимая основ.
>>1083461Хорошо. Мне нужно вывести элемент по нажатию кнопки, но нихуя не происходит. Всё работает всё мапится. Нет только рендера. Не ебу почему.
>>1083466как ты блядь читать и писать научился с такими мозгами вот что действительно загадка
>>1083469Мы на личности переходим и мне надо съязвить что ты такой выебистый только в школе пока на тебя не поссат альфачи или мы всё таки останемся цивилизованными людьми и вернёмся к обсуждению проблемы при том что весь код, который нужен чтобы понять что происходит я предоставил?Запрашиваешь, Получаешь ответ, мапишь, вытаскиваешь что тебе нужно, рендеришь. Привязываешь рендер к кнопке. Последняя часть не работает. Я спрашиваю хули не работает. Что сложного блять посмотреть и ответить если ты ебаный эксперт местный.
>>1083475>весь код, который нужен чтобы понять что происходит я предоставилраз ты скозал
>>1083479Что конкретно ты не понимаешь и тебе нужно узнать? Есть функция, я хочу чтобы она выполнялась по клику кнопки и выводила мне список. Она не выводит список.
>>1083483>Она не выводит список.Она хотя бы вызывается? handleClick этот, вызывается? search_by_author вызывается? Я не ебу, как там чё в реакте, но кажется мне, что функция с первого пика ретёрнит titleList вникуда (нахуй он на отступ меньше остального? Я сначала вообще подумал, что вне коллбэка/промиса), а нажатие по кнопке пытается отрендерить то, что возвращает search_by_author, то есть нихуя.
>>1083493Да. Всё вызывается. Console.log показывает что repsonse пришел и всё внутри есть. Нет только рендера.>что функция с первого пика ретёрнит titleList вникудаВот я тоже не ебу. Может быть я как-то не правильно в jsx вызвал эту функцию.>(нахуй он на отступ меньше остального? Я сначала вообще подумал, что вне коллбэка/промиса)Как я понял отступы не особо там влияют. Что без return что с return нихуя не рендерит.Если я убираю return titleList. Он мне пишет что я его нигде не использую. Собственно в моём понимании я должен вернуть titleList и отрендерить его в html.То что функция работает показывает Author, который возвращается не пустым.
>>1083500>Вот я тоже не ебу.Ну так иди доки с примерами почитай, наверняка же это ультрапопулярное действие.В стейт кто будет этот titleList пихать, а?https://jsfiddle.net/zbhn1w6u/2/ Вот, блин, две секунды в бинге (в бинге, мать твою, даже не в гугле!) + абсолютное незнание react'а — готово.>Как я понял отступы не особо там влияют.Не влияют, как и эти уебанские скобочки у return'а, только зачем?
>>1083509>https://jsfiddle.net/zbhn1w6u/2/Ебать это конечно не читабельная запись кода, но да дело действительно в setState.Теперь render() триггерится два раза, возникает вопрос это похуй или надо как-то чинить?
>>1083509>>1083512Забыл, Спасибо.
Да, ну ебаный в рот.
>>1083512>Теперь render() триггерится два разаТы не очень умный, да? render вызывается при каждом изменении state'а. Прочитай хоть это. что ли — https://reactjs.org/docs/hello-world.html>>1083515Шёл бы ты на ванильных js и html'е писать.
>>1083512Сколько раз рендер вызывается, тебя по идее ебать не должно
>>1083523Должно если он делает каждый раз запрос.
Перекатился со старого треда, а тут все этот отсталый список авторов построить не может. Типикал жс пограмист.
>>1083555Проблема не во вкатышах, а в ёбаных вакансиях, где фреймворк-нейм и зарплатка рядом стоят. А вкатыш типа поступает рационально, идёт по короткому пути.Тут был программист на Реакте, который массив не мог отсортировать.
>>1083621блядь это совсем надо быть ебанутым, чтобы в нашествии полоумных шизиков с дебильными вопросами в тред объяснять вакансиями. иди на хуй просто чмо ебаное и друзей своих дебилов уноси
>>1083536У тебя не может быть запросов в рендере. Рендер — это просто проекция существующего стейта на вью. Разгребай лапшу. Рендер должен быть чистой предсказуемой функцией.
ТЛТ аноны, был ли кто из вас вчера на WebDev http://wdmeetup.ru/ конфочке? Были ли интересные доклады?
Есть сотня onclick, которые я вешаю из цикла.Вот пример https://jsfiddle.net/qpamhts9/Что лучше, хранить ссылку на объект DOM в замыкании, либо хранить id объекта DOM в замыкании, и потом искать его по document.getElementById?Предполагаю, в первом случае я ем память, во втором - процессор.
Анон, смотри какую фигню наговнокодил. Это расширение для браузера, которое "шифрует" сообщения и пока работает только в TextArea на бордах (лень было проверять на других ресурсах). Еще он работает на Хромопере, лень было проверять на других хромиумах. Спасибо за внимание.
>>1083792Поздравляю, ты изобрел куклоскрипт.Это то, что он делал в RM-тредах много-много лет назад.
>>1083793Не знал об этом и сейчас не вижу такой функции. Ткни пальцем пожалуйста. Обожаю допиливать куклоскрипт
>>1083795Это была приватная фича только для завсегдатаев RM тредов.
>>1082836 (OP)Надеюсь сдесь можно задавать вопросы новичкамПочему второе условие всегда не работает вне зависимости от выбора
>>1083798А в куклоскрипте не натыкался на код этой функции?
>>1083791>>1083791>сотня onclickчитни за делегацию событий, дальше не читал
>>1083801JSFIDDLESFIDDLE
>>1083808https://jsfiddle.net/m1tpt5da/1/
>>1083806Знаю этот паттерн и использую. Но вот так написан конкретно этот кусок, и у меня нет времени его переписать, только выбрать одно из двух.
>>1083813Это типа шутка такая, да? Если не шутка, перепечатай код ещё раз, без копипаста, а потом убей себя за такой стиль письма.
>>1083802Тебе несказанно повезло, я нашел для тебя приватную версию куклоскрипта семилетней давности.doSecure(), doUnsecure(). Разбирайся.http://rgho.st/6mMcSgPBt
>>1083854Просто скажи что не так, потому что я не понимаю где я написал не тоИли хотя бы что гуглить
Подскажите, можно ли скрипт(Js) обернуть тегами (Html)?
>>1083863Спасибо, нефти тебе.
Почему JS- лучший яп на свете?
>>1083874Сказал же, перепечатай заново строку "if(frm1.vib[0].cheсked){".А затем можно сравнить"cheсked".charCodeAt(0) и "cheсked".charCodeAt(3)Оба по идее должны указыват на букву "c", однако код у них, почему-то, разный. Догадаешься, почему?
что может нормально форматировать JSX?есть альтернативы create react app?go to definition по реактовским компонентам возможен в какой-нибудь ide?
>>1083906>JS>яп
>>1083892Что именно тебе нужно сделать?
>>1082836 (OP)Двачик, нашёл вакансию, но в ней есть такое требование Web sockets Circular JS. В гуле вообще не нашёл никакого Circular, может быть кто-то знает что это?
>>1084237*Circular
>>1084237>>1084238Может, более опытный анон пояснит, нахуй это нужно, но в общем виде циркулярка - это короткозамкнутый объект, когда проперти объекта ссылается на этот же объект.Пример:var o = {}o.p = oХоп-хей, ла-ла-лей, теперча в p у нас циркулярочка.
>>1084240Хмммм, ну очень странное требование, как для вакансии...
>>1084246Погугли socketio circular, мож что полезного извлечешь, у них объект насквозь в циркулярке.ХЗ что конкретно твой потенциальный работодатель имел в виду.
Как сделать простую проверку чтобы если был undefined то присваивался пустой список? А то получаю что при поиске нету внутренних мета данных и всё идёт попизде. Нужно чтобы если кто-то прокатился еблом по клаве вместо ошибки нихуя не вывело.
>>1084258if (data == undefined) { var list = '';}
>>1084259Это смешно, спасибо хоть что настроение поднял.Есть например:{ "id": 1, "title": "Test", "content": { "body": "sdfsdf" "image": "http://example.com" }}Но при поиске может найти хуйню где нет body, а я вытаскиваю именно его. Очевидно что получаю undefine. Как мне просто проигнорировать, если в нём нет body?
у меня завтра техническое собеседование по скайпу. на должность мидла(2к$). до этого уже давали тестовое, сделал на "крепкую пятерку" по их словам. и был разговор 20 минут с эйчаром. чувствую себя дерьмово. какой же ето стресс пздц.
>>1084260if(data.body){var list =''}
>>1084262Поделишься заданием? Конечно нет. Ну хотя бы расскажи в двух словах, что нужно было выполнить?
>>1084267поделюсь офкhttps://jsfiddle.net/45tjrvnm1. надо сделать шобы переменная status работала2. реализовать таймер который в конце будет вызывать колбек onFinish и передавать туда {$endTime:new Date()}3. сделать так шобы это работало без тормозов при большом кол-ве таймеров на страницеесть еще по второму ангулару на сеньера из другой конторыего я тоже сделал и прошел. кидать?
>>1084268шобы вы понимали это такие задание которые вам в начале дают и после их выполнения еще интервью с hr + техническое интервью со спецом
>>1084268> есть еще по второму ангулару на сеньера из другой конторы> его я тоже сделал и прошел. кидать?Конечно, няша. Спасибо.
>>1084326пустяки. это кем надо быть чтобы зажать показать такую вещь хзпикрелейтед делал на ангулар 2
>>1084262Эйчар, небось, 25-летняя ТП с гуманитарным псевдообразованием?Интересно, с каким уровнем квалификации можно писать в резюме "эйчары идут нахуй" таким образом, чтобы данная запись не повлияла на возможность трудоустройства?
>>1084258мб let list = data.list ? data.list : [];
>>1084350или ещё так короче:let list = data.list || [];
>>1084354>>1084350там немного не так.там response, в response -> message, в message items, а в items body, где body это список.Поэтому когда у меня items, а там нет body. Меня шлёт нахуй map.Потому что я пытаюсь достать body через:this.setState({items: response.message.items})const messages = this.state.itemsconst ItemList = messages.map((item, index) => { item.body.map((item2, index) => { console.log(item2) })})И вот в этой конструкции мне нужно сделать проверку чтобы пропустить элемент и перейти к другому, если нет body внутри items.Если можете предложить проще конструкцию чтобы пройти сквозь список и пройти по списку внутри списка, то я во внимании.Грубо говоря у меня N array'ев а внутри каждого еще array. И мне нужна проверка на случай если внутри array нет array.Ебаный рот... Это даже звучит по еблански.
Блять хуею с этого реакта ебаного, чтоб сраную кнопку сделать нужно блять тонну кода настрочить, нахуй оно нужно пиздец рот его ебал
>>1084380Поощряют индусский код, псы!И да, перекатывайся на vue.
Чуваки, создал в телеге канал, куда скидываю книги по js, Ноде, реакту и всему такому, кому интересно, подписывайтесь - https://t.me/programmingstuff
>>1084389Тащ майор, забирайте клиента
>>1084363Не вникал особо в твой эпос, но Rx определённо решает проблемы подобного рода.
>>1084363а что тебе мешает в мап вставить перед ретёрн утиную проверку if ( item.body.isArray) ?
>>1084363-> >>1084415 и плюс потом ещё отфильтровать нужно будет, так как map не может изменять количество элементов.>[1,2,3,4,5].map(e => e > 3 && e).filter(e => !!e) // [4,5]
>>1084389Интересно, если я сделаю приложуху, которая после сдачи кала, оригинала паспорта и норм ГТО позволит такую крутую и инновационную вещь, как... наберите воздуха... готовы?.. обмениваться сообщениями в Интернете в 2017, я смогу Пашку переплюнуть по унижению говноедов?
return ( message.map((item, index) => <div> <Collapsible trigger={item.title} key={index} lazyRender={true}> something </Collapsible> </div>) );Есть ли какой-то способ получить массив из map?Вот не типо взять массив и проитерировать его, а именно просто массив.array = message.map((item, index) => return item) ?
>>1084515Так ты и присвой значение мапа, но не в ретёрне же.
>>1084520Я не очень понимаю как, иначе бы не спрашивал.array : message.map((item, index)) ?map же нужно всегда функцию передавать. Какую функцию я ему должен передать?
>>1084515Собственно массив:array = messageКопирование:array = message.slice()array = message.map(x => x)Исходный массив в мапящей функцииmessage.map((item, index, message) => ...)
Короче, вот мой json. Как отрисовать title я знаю. Как мне отрисовать нормально info с учётом того что вот два последних этот тип метаданных не имеет.Меня шлёт нахуй с undefined items.info
>>1084535items.info || [ ]
>>1084543а если мне например нужно items.info в map использовать?например items.info.map((inf, index) => { something})но при этом он пустой.
>>1084556(items.info || [ ]).map((inf, index) => something)
>>1084565Чувак, ты мой герой. Спасибо тебе.
>>1084565Бля, сделал всё как ты написал. Ошибки не выдает, но не рендерит почему-то. Хотя передают не undefined. Тестовую рендерит, а нужную - нет.
Мне нужен аналог https://www.npmjs.com/package/voronoi с поддержкой произвольных функций расстояния. Что-нибудь такое в природе существует, или пилить самому?
Не смог пройти задачку про числа фибоначи, ебать я тормоз. Сижу думаю и не могу придумать ля
>>1084589Всё починил. Проебался с return.
я не понимаю нахуя вы помогаете шизику с реактомон же программировать не умеет абсолютно
>>1084589у меня глаза вытекают когда я эту хуйню вижувыпились уебище блядь
>>1084602>он же программировать не умеет абсолютноУмею, но не на реакте и не на js. Я понимаю что я должен сделать с логической точки зрения, но я не ебу как на скрипте это написать. Поэтому и спрашиваю тут.
>>1084607блядь не отвечай мне хуесос ебаный мне похуй твои галимые отмазки. хватит срать в тред уебище
>>1084608> хватит срать в тред уебищесрать is undefined.
>>1084535Проксификацию запили, например
Ни у кого нет ненужной б/у Дэвид Флэнаган "JavaScript. Подробное руководство" (6-е издание)??? Я бы купил.
Почему я такой тупой? Задачки на рекурсию понять не могу...
>>1084905Пакеж
>>1084907Задача – написать функцию factorial(n), которая возвращает факториал числа n!, используя рекурсивный вызов.Напишите функцию fib(n), которая возвращает n-е число Фибоначчи.
???
>>1082836 (OP)Анчоус, помоги. Как запилить такой самодостаточный компонент на реакте? (Ну или просто хтмл) У меня содержимое таблицы постоянно проваливается под днище и скроллится или вообще все или ничего
>>1084911Ты рил тупой, сорри
>>1084946Всм? А как решить эти задачи.
>>1084947>как решить эти задачи?используя рекурсивный вызов
>>1084948Ну это понятно. А сами формулы, как ты собрался вычислять факториал?
>>1084925JS, сэр. Впрочем, не очень понятно, первое или второе тебя смущает, но вот тут все правила неявной конверсии при сравнениях http://es5.github.io/#x11.9.31. true == "1", применяем правило 62. 1 == "1", применяем правило 43. 1 == 1Готово.Сдела то же самое с первый, на третьем шаге будет 1 == NaN, что, очевидно, false.
>>1084949Так прочитай определение факторила на вики, дурилка, его второкласник (или когда там умножение проходят?) поймёт.
>>1084951Понял формулу. А фибоначи как?
>>1084954иди на хуй ну
>>1084954Точно так же: википедия, число фибоначчи. Там ещё проще, вообще только сложение нужно, поэтому даже первоклашка справится!
Пиздец у вас тут отбитые. Задачки универские с Фибоначи решить не могут. А еще на врк-тред гонят.
>>1084963есть разные
>>1082836 (OP)Проганы, есть задача.1. Есть такой сайт BrainwalletX на JS.2. Есть ссылка на закачку его в zip: https://github.com/brainwalletX/brainwalletX.github.io/archive/master.zip3. Есть index.html, который можно открыть во вкладке браузера, после розархивации.4. Есть много монет, выпадающих из списка.5. Эти монеты и их параметры - перечислены в index.html в списке <ul class="dropdown-menu dropdown-menu-two-column">6. Когда выбираешь монету, скрипт brainwallet.js вгружает эти параметры на данных монеты, выбранной из списка,и на основе данных, содержащихся в качестве параметров в этом списке.7. Так же само работает и Sign с Verify.8. Но на вкладке Сhains независимо от выбранной монеты, Armory и Electrum генерируют адреса биткоина.Т. е. Armory и Electrum не подхватывают данные, содержащиеся в списке.Какая функция это делает в файле brainwallet.js - не пойму,по всей видимости это функция function crChange().Короче, надо переписать всё это чтоб загружались данные из списка и добавить внутри кода ещё одно поле RANDOM SEED.Пусть это будет строка с 256-битным значением, которые может указать в виде hex-строки любой пользователь.И sercet exponent является изначальное значение hash(passphase), но с дополнительным XOR на эту строку.Как всё это сделать?
>>1084963А ты мог чтоли когда только начинал?
>>1084997Цимес даже не в этом. Я такую задачку видел в одной комп. игре на тему кодинга. В итре где нет ни одной строчки кода, а все алгоритмы изображены в виде конвейера и кубиков со всякими операторами, методами, функциями и т.д.
>>1085016Говорю же, не мог ты нихуя, а смеешься над новичками.
>>1085022Ну и что что не мог? Все равно же смешно.
>>1085022Если ты школьник <8 класса, то ещё простительно. Если старше, то уже как-то несолидно не смочь решить такую задачу, имея безграничное количество туториалов, подсказок и примеров.Более того, что на самом деле плохо (ну не понял формулу там или не совсем понимаешь, как работает та или иная штука, мало ли, это фигня), так это то, что ты даже сформулировать проблему толком не можешь. "Не получается! Не могу! Не понимаю!", прям как блондинка. Что именно не получается? два числа сложить или умножить? Понять, как вызвать функцию изнутри её самой же? Как отановиться? Что? А ведь если бы ты смог это сформулировать, то даже сюда писать не пришлось бы, потому что первой строкой в гугле решилась бы твоя проблема.
>>1084980там функция function crChange() внутри brainwallet.js вызывается вот так:$('#crCurrency ul li a').on('click', crChange);а эта строка входит в функцию$(document).ready( function() {...});и всё это внутри функции(function($){...})(jQuery);т. е. в brainwallet.js эти параметры передаются через JQuery, а в armory.js - голый JS.Как передать туда эти параметры - понять не могу.
>>1084268>>1084329только что закончилось собеседованиебыло две задачки на кодингhttps://codepen.io/brackets-arrows/collab/VrZYwZ/ тут пофиксить undefinedhttps://codepen.io/brackets-arrows/collab/rmqZQq/ реализовать функциювопросы по фреймворкам ангулару(инжектейбл, зоны, скоуп, перформанс, как реализовано отслеживание изменений и т.д.)вопросы по event loop-у(куда же без него) и setTimeoutну и еще куча всего. почти час говорили
>>1085054я на ивент лупе взмок и вообще взмокполтора года не работал. я кое-что очевидное позаебыл, а тут ивент луп хех
>>1085054блин дал случайно ссылку с решениемвот нормальная https://codepen.io/brackets-arrows/collab/VrZYwZ/
>>1085054>>1085059В решенный вариант не подсматривал, но чет не понял, первая задача решалась так просто, в одном из шагов не возвращался промис? Точно это исходное задание? Ничего ж допиливать не пришлось.Вторая задач была в Codewars.Так тебя на позицию мидла взяли? Фронтендером будешь, на энгьюлэ пилить прожекты? Если не секрет, назови вилку зарплат, на которую ты претендовал. Ну и расскажи, о чем еще болтали с тимлидом плес.
>>1084980>>1085046Короче, сам разобрался. Надо просто через файл brainwallet.js - передать эти параметры во все функции, вызываемые из armory.js и electrum.js
Вопрос по JS.var ololo = new Date( (текущий timestamp) x 1000 );ololo.getHours() - выводит часы, с учётом системных часов (переводит в мой часовой пояс). Так и должно быть?
Анончик, помоги, а то я туплю-торможу.Как функцию принимающую (err, data)-коллбек переделать в промис?
>>1085131вопрос про перевод в часовой пояс
>>1085132Очевидно, нужно создать промис (new Promise()) и внутри него выполнить изначальную функцию, а внутри коллбека резолвить/реджектить. https://repl.it/N65M/1 https://stackoverflow.com/questions/22519784/how-do-i-convert-an-existing-callback-api-to-promises
сап двачь, помогите с реактомделаю что-то типа ТУ-ДУ приложения с базой данных на firebaseесть компонент View, который загружает эту базу данных, кидает в стейт компонента и рендерит в списоккак лучше сделать, оставить так и просто рендерить <View /> в главном файле или сохранять базу в главный файл, а потом через props кидать в компонент View? ну, типа, рендерить вот так: <View huy={pizda} />
>>1085132Есть же промисификаторы, например, в блюбёрде и в новой ноде.
>>1085145Благодарю, забыл уже как промисы внутри устроены.>>1085159>в новой нодеutil.promisify() ?
>>1085175> util.promisify()Да, оно самое.
>>1085074>в одном из шагов не возвращался промисда>Так тебя на позицию мидла взялиеще неизвестно>Фронтендером будешь, на энгьюлэ пилить прожектыхз что ето "Фронтендером". проекты у них на ангуларе и реакте. верстать не надоя 2к$ хочу
Помоги с тупняком. нужно запрос сделать, но он выглядит как query=song+yearя же передаю его в виде содержимого инпута как ${query}Плюс к этому хочу результаты поиска проверять по двум query, но api позволяет только AND, но не OR.
>>1085206>Помоги с тупняком. нужно запрос сделать, но он выглядит как query=song+yearя же передаю его в виде содержимого инпута как ${query}Эту хуйню пофиксил. Как две query сделать через OR, если api не позволяет. Делать через url(query1) || url(query2) мне кажется не даст нужного результата.
>>1085214Однако url(query1) && url(query2) дали почти нужный результат.
>>1085215А нет нихуя =/
>>1085232Починил. Просто я ебло.
Подскажите как установить дебагер для атома что бы не было ошибки ENOEN или где скачать бесплатно web storm актуальную версию для linux
Как предотвратить fetch если я использую onChange в Input. В итоге он запрашивает query="" и получает всю блять базу.
>>1085259if( query == "") {return null}помогло, но является ли это правильным способом?
>>1085259А почему у тебя фетч сразу на onChange привязан?Не спутывай так сильно вью и логику, фильтруй.
Двач, чому моя сортировка не пашет? Должно же быть abc2, abc3, abc1https://repl.it/N7du
>>1084980Кто-нибудь из программистов может подсказать,как здесь сделать нажатой кнопку compressedв зависимости от параметра gen_compressed (true или fasle)???Вижу класс .addClass('active') но он не работает!Может ещё что-то прописать надо?
>>1085311a и b в внутри сортирующей функции — строки "abcN". У них нет никакого total_duration'а.
>>1085326https://repl.it/N7du/1
то есть>>1085311https://repl.it/N7du/1
Нормально программируется с утра?
А в чём смысл учить это всё, если фронт умирает?
>>1085372Бек енд.
>>1085377Что бек енд? В шапке-то фронт
>>1085372Это как он умирает?
>>1085381Во-первых, везде пишут об этом, во-вторых, работы почти что нет, особенно если сравнивать с прошлым годом. Сейчас все, кто вкатываются во фронт, всё равно будут обречены на вкатывание в другие области. Я бы советовал вкатиться в мобильную разработку, если уж на то пошло. Ну, или же изучать нейронные сети и всё, что с этим связано. Только не говори мне, что фронт не умирает и в ближайшем будущем будут рабочие места
>>1085311Сортируешь ключи, duration обрезается до сортировки
>>1085384я работал удаленно на одну контору, а потом неожиданно в важный момент ливнул. перекрыл все контакты, ну типично.через полтора года на меня накатило как-то ночью, что я так хуево с хорошими людьми поступил. сел и написал им письмо с извинениями. мол, я на самом деле наркоман, не смог побороть зависимость, скатился в говно. стыдно пиздец.они утром пишут, типа а работать-то ты можешь? давай к нам обратно.после этого захожу на двач и читаю твою хуйню и еще много такой же хуйни от других даунов. это каким образом фронт умирает, если там такая нехватка специалистов, что они кидал-нариков обратно на работу готовы взять? ссу+сру тебе в рот
>>1085367Понял, базиба.
>>1085391Посмотрим на тебя через два-три года
>>1085399>пук
>>1085384>вкатиться в мобильную разработкукоторая массово перекатывается с приложений в натягивание фронт-морд на реакт нативе. нисе
>>1085372
Какая вилка зарплат в Питере на реакт (фронтенд)/реакт нейтив (мобилы) 2 года опыта?
прохожу самую длительную процедуру трудоустройстваcv -> тестовое задание -> интервью с hr -> тех. интервью -> интервью с менеджером (я тут)-> тех. интервью со специалистом клиента -> интервью с клиентом -> интервью с директором
Добрый вечер господа, подскажите мимокрокодилу как мне вставить в жиквери вот этов параметре data у меня на фронт приходит {title: "тест", text: "тест", name: "васян", email: "", image: null}я пишу вот так, сам блок выполняется проверял через console.log(data)success: function (data) { $("#post").html(data); },но на странице нихуя не появляется. ЧЯДНТ?
>>1085706Попробуй так:$('#post').append(data);
>>1085326Сам разрулил, короче.Там надо обозвать лейблы другими именамии присвоить им классы так:$('#gen_comp [name=comp]').addClass('btn btn-default active'); //активная кнопка$('#gen_comp [name=uncomp]').addClass('btn btn-default'); //не активная кнопкаИначе, класс присваивается input'у - это видно в исходном коде в Chrome.Скоро в /cc запощу исправленный brainwalletX.
>>1085754Не. нихуя.Что, неужели всем так лень помочь, это же строка кода наверняка.Вот есть дохуя коментов, в в диве с айди post через форму асинхронно создается новый комент и возвращается в виде как я писал, как мне его добавить к уже существующим?
>>1085872тебе лень погуглить элементарную хуйню. почему кто-то должен тебе помогать?
>>1085872А, да. Не благодари. $('body').append(JSON.stringify(data));
>>1082836 (OP)Ребзя, посоветуйте как лучше всего реализовать мультиязнычность на сайте с Node.js? Как это правильно называется? И мб есть уже какой-то готовый пакет хороший?
>>1085873Я не понимаю, что гуглить, жс вообще не знаю, еле нагуглил как сделать так, чтобы форма отправлялась асинхронно и результат приходил нормальный, а дальше хз как.>>1085875Уже больше похоже, теперь у меня в хтмле {"title":"тест","text":"ee","name":"васян","email":"","image":nullС этим уже можно работать, это не из-за того оно так выглядит, что я в апи обрабатываю это, то есть у меня же уже json приходит?
>>1085882Имеется ввиду, чтобы когда у человека стоит английский язык в браузере, то оно отдавало страницу на английском, а когда русский - то русском.
>>1085883Ну так ты пытаешься вставить целый обьект, оппробуй: $('body').append(JSON.stringify(data.title))или$('body').append(data.title);
>>1085883ты же не пробовал даже документацию открыть уебок блядь по функции которую используешьпросто иди на хуй
>>1085883Нет, это не JSON, а JavaScript-объект. Ты не сможешь запарсить его с помощью JSON.parse(data). А вот то, что получается в результате JSON.stringify(data) - уже JSON.
>>1085885Всё, спасибо, добра няша :3>>1085889И тебе.>>1085886А ты от рака сдохни)
>>1085890рак это ты ебаный дебил и подобные тебе дауны которые срут в тред своими даунскими вопросами. и дебилы кто вам помогает. сука пиздец уебаны лень документацию просто открыть блядь прочитать что функция делает как работает, какие параметры принимает, что делаетнадо со своим тупорылым вопросом обязательно насрать блядь в тред "ну я же не знаю не понимаю пок пок пок". хуесосы говножоры и те кто такую хуйню спрашивают и те кто тебе отвечают поощряя это говноуебаны
>>1085893найс полыхнуло)
>>1085893найс комунити, пидорашка дикаяУ тебя бы столько же времени заняло пояснить и кинуть парой ссылок в него, о которых ты говоришь. Откуда ты знаешь, какой там у него бекграунд? Уебан.
>>1085884https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-LanguageНо как пользователь скажу тебе, что лучше так не делай, бесить эта штука юзеров будет. Оставь старые добрые /ru, /es и т.д.>>1085893Люто двачую.>>1085883>Я не понимаю, что гуглитьПотому что ты либо тупой, либо нет желания даже пытаться что-то гуглить. Вот ты пробовал? Вряд ли, "я не знаю, что гуглить", и всё. Да хоть что-то погугли, блядь, перелопать примеры этого jquery post'а, уж хоть кто-то, да пробовал отображать приходящий с сервера json на странице. И ведь там абсолютно плевать, post это, get или вообще из консольки ты переменную отобразить хочешь. Ты не понимая вообще ничего пытаешься что-то сделать, не желая хоть немного прочитать про то, что используешь. Нет, по сниппетам со стака можно много чего сделать, но не когда ты тупой, и пытаешься в js-объект вставить как html.У меня уже давно появилась теория, почему в тредах почти никогда не бывает действительно сложных вопросов, только общие вопросы/советы по фреймворкам и вот такое вот примитивное дерьмо. Потому что те, кто пишут что-то сложное, могут погуглить и подумать сами, особенно когда начнут писать сюда вопрос, додумывать уточнения, предполагать допольнительные вопросы, продумывать на них ответы и вуаля, сам себе решил проблему, удалив неотправленное сообщение. Ну либо-таки запостит пару очень специфичных нишевых вопросов, никто не ответит и всё, больше не будет писать, так как смысла мало.Неопытные, но-таки разумные (типа >>1084980), всё же постят, но спустя короткое время сами решат, потому что они, сюрприз-сюрприз, не ждут сидят ответа на вопрос, в отличие от некоторых.
Котаны, подскажите что делать. Надо чтоб из ебаного ничего плааавно один за другим на страничке возникали элементы, дивы, например. Я делал через setTimeOut(), но оно работало не так как я хотел: сначала все время что есть в таймеер ничего не происходило, а потом они все появлялись сразу. Я погуглил и уже знаю, что таймер отдается, так сказать, на аутсорс в API, потом функция попадает в очередь и ждет когда стек станет пуст и только тогда все это гавно выполняется. Как тогда решить вот это дело?1-3: Как надо4: Как я понял из видео что работает хуета с таймаутами.
Помогите ньюфагуДелаю задания из шапки, в консоли все выводит правильно, но решалка выдает пикрил. Я же задаю начальные значения, что не так?
>>1086074А, лол, пофиксил, передав start=0, step=1 в параметры
>>1086073Ты можешь либо:1. В лупе пройтись по всем элементам, увеличивая время таймера для каждого следующего элемента https://codepen.io/anon/pen/WXQBNw2. После каждого элемента проверять, есть ли ещё элементы для отображения и запускать новый таймер. https://codepen.io/anon/pen/OOyGeLАнимация делается setInterval'ом со временем равным 1/fps.>>1086074http://lmgtfy.com/?q=javascript+необязательные+аргументы+начальное+значение+по-умолчанию первая же ссылка. И никакие начальные значение ты не задаёшь, ты start/stepValue на следующей же строчке переназначаешь.
>>1086076О, круто, спасибо!
>>1085131Бамп вопросу.
>>1086065все верно расписал
Есть canvas, есть массив из семи слов. Есть цикл который выводи текст в канвас. Когда вывожу текст, вместе с текстом выводятся запятые. ???
>>1086135А если name[и] заменить на литерал строки, чтобы одно и то же 7 раз вывелось, будут ли "запятые"? Они больше на точки похожи, по-моему.
Тут уже яснее.name[0] - Hname[1] - .name[2] - L name[3] - iname[4] - .Я неправильно массив заполнил?надо чтобы name[0] = h ; name[1] = Li
Аноны, может кто знает какой инструментарий для сканирования qr кода? пишу для себя приложение на ангуляре 4. попробовал заюзать библиотеку angular2-qrscanner, но трабла в том что, если приложение открывать с мобилы, он запускае фронталку, а не основную камеру. может еще что есть подобное?
>>1086135JS, сэр. Выбери другое имя переменной.Сложно гуглить такое общее слово, к тому же это только в браузерах сделано, так что знающие, подкиньте ссылочек на эту хрень (в частности, нахуя оно нужно такое), и как она умудряется работать вообще, пожалуйста.>name.toSource()>// "(new String(""))"Там какие-то проксификаторы, что ли?
>>1086222Поменял имя, помогло, спс
>>1086222А вообще, чего я туплю, просто атрибут window'а с геттером и сеттером.https://developer.mozilla.org/en-US/docs/Web/API/Window/name>Don't set the value to something unstring since its get method will call the toString method.Интересно, конечно, что toString вызывает геттер, а не сеттер.
В общем, такой страный немного реквест.Так вышло что устроился работать react макакой, всё пиздец легко, уже второй год работаю. И вдруг так почитал про xss атаки, про всю эту хуйню с глубинным устройством dom, js и всего такого и чёт пиздец интересно стало как всё это устроено на глубоком уровне.Собственно вопрос, есть ли какие-нибудь хорошие источники по такой теме? Не всмысле xss а устройства всего. Может быть даже история развития. Эх были бы учебники истории, только про веб.
>>1086455>Эх были бы учебники истории, только про веб.Обычно в книжках пишут, как что-то работало раньше, чтобы при встречи с старым кодом не обосраться
Кто нибудь знает что-нить про эту поебень https://www.udacity.com/google-scholarships годно или хуета?
>>1085391Анончик а может ты сможешь ее побороть? Пожалуйста.
>>1086558кого ее
>>1086065А почему будет бесить? По-моему весьма удобно, когда англоязычный юзер заходя на сайт сразу попадает на английскую версию. В чём лично для тебя проявляется неудобство?
>>1086558а, зависимость. на хуй знает. сложно это очень. сложнее чем проходить собеседовании накуренным. собеседование то я прошел, а вот курить не могу перестать.
>>1086579Американец и русский получают одинаковую ссылку. Американец говорит: "Хорошая статья". Русский говорит: "Устаревшая хуйня и половина не переведена", и выкидывает американца за борт.Консистентненько всё должно быть, без сюрпризов.другой анон
>>1086579Одна ссылка должна вести на один и тот же документ (по крайней мере, в один и тот же момент времени).Я в принципе не очень люблю когда, за меня слишком много решают, как мне будет лучше, ведь обычно наши мнение расходятся.Развёрнуто дополню >>1086629:>В чём лично для тебя проявляется неудобство?В том, что я не могу быть уверен, что мне подсунули именно то, что я просил. Есть перевод? Замечательно, добавьте ссылочку.>когда англоязычный юзер заходя на сайт сразу попадает на английскую версию.А я вот русскоязычный юзер, но попадаю на китайскую версию, потому что из компьютерного клуба тут зашёл. Стим так делает, например. И вот нахуя оно мне надо такое?Да и на русские сайты мне бы хотелось в оригинале заходить (система на английском), и при этом на английские — тоже.Гугл вот когда-то в своих ветках обсуждений переводил все посты на русский мне зачем-то, заставляя иногда задумываться, что за дауны так коряво пишут.Представь, что википедия показывала бы страницу только на твоём языке, откатываясь на ангилйский (или следующий другой по цепочке) лишь при отсутствии статьи на этом языке. Ужас же был бы.Короче, если в двух словах: подобная "интернационализация" не даёт выбора и сбивает с толку, потому как обычно эти горедизайнеры забывают и о кнопке принудительной смены языка. Да и не знаешь, перевод это или вообще язык версию сайта отдельная команда ведёт и статьи примерно похожи, но написаны каждая с нуля, просто на ту же тему и примерно с теми же источниками.Есть поддомен, есть топ-левел домен — пользуйтесь!
Ребят, есть вопрос по event лиснерам. Вот есть у меня попап, когда он открывается - на document вешается event listener на keydown, чтобы отлавливать нажатие ESC и закрывать попап, вот когда я внутри такого попапа открываю еще один и нажимаю ESC - закрываются оба. Есть возможность закрывать по-одному? e.stopPropagation() не помогает, есть еще какие-то варианты? Юзаю react.
>>1086670И да, с event.stopImmediatePropagation() закрывается сначала первый, потом второй, а нужно сначала второй, потом первый.
>>1082836 (OP)Sup, есть jquery скрипт: $(document).ready(function() { $('#data_v-gwert').change(function(){ if($(this).val() <= "5000"){ $("#block1_5000").css ("display", "block"); $("#block2_5000").css ("display", "block"); $("#block3_5000").css ("display", "block"); $("#block4_5000").css ("display", "block"); } else { $("#block1_5000").css ("display", "none"); $("#block2_5000").css ("display", "none"); $("#block3_5000").css ("display", "none"); $("#block4_5000").css ("display", "none"); }});});и элементы таблицы, которые я хочу скрыть/открыть <td id="block1_5000" style="display: none;">тест</td>Это всё делается в зависимости от числа, которое ввёл в инпут с ид data_v-gwertНо оно не работает:СОшибок валидатор не выдал.ЧЯДНТ?
>>1086729это не javascript это html+css
>>1086741что?
>>1086670>>1086672Идентификаторы открытых попапов храни в массиве стейтеа приложения.По нажатию клавиши диспатч экшоны по обработке сего массива и соответственно, последовательно закрывай модалки. Это ж реакт, епта.
>>1086729Касть содержимое инпута в число и сравнивай с числом.
>>1086788Спасибо, но не пойдет, я либу компонентов пилю, они из коробки должны уже этот функционал уметь. Я распетлял через вешание лиснеров на сами попапы и фокус их во время willUpdate.
>>1086789$(document).ready(function() {$('#data_v-gwert').on('input',function(){if($(this).val() <= 5000){$("#block1_5000").css ("display", "block");$("#block2_5000").css ("display", "block");$("#block3_5000").css ("display", "block");$("#block4_5000").css ("display", "block");}else {$("#block1_5000").css ("display", "none");$("#block2_5000").css ("display", "none");$("#block3_5000").css ("display", "none");$("#block4_5000").css ("display", "none");}});});да если интересно кому, частично задачу решил, но проблема в том, что он работает только при вводе в инпут, а у меня значение этого инпута берется сложением двух других в динамической таблице :С
ХУЙНЯНЕЙМ.JS
пошел нахуй джаваскрипт
>>1086852Я правильно понимаю что в других языках вместо хуйнинейм.js надо пердолиться и самому писать все велики либо же хуйнянейм зашита в стандартную либу?
слушай бабангиду
>>1086852REACT-ХУЙНЯНЕЙМ
>>1082836 (OP)дип лёрнинг в ЖС https://github.com/karpathy/convnetjsрейт, у кого есть время
>>1085027Ну, анон, ничего страшного, и не из таких тормозов кодеров выращивали при должном упорстве. П.С.: Сам когда-то не понимал в упор как быстрая сортировка работает. Вертел ее туда-сюда неделю с разными массивами, пока не разобрался во всех мелочах.
>>1087024JQUERY.ХУЙНЯНЕЙМ.JS@WEBPACKХУЙНЯНЕЙМPLUGIN@BABEL-PRESET-ХУЙНЯНЕЙМ
Можно ли в JS жестко задать тип переменной, или все равно туда будут записываться любые типы? Задать тип аргумента функции тоже нельзя?
>>1082921Пес с ним, оставил как есть.Рейт посоны: https://habrahabr.ru/post/340964/
>>1087212Можно использовать какой-нибудь tcomb. Ругаться будет рантайм.Можно использовать typescript или jsdoc комменты с типами, ругаться будет IDE
>>1087212Есть божественный The Flow с великолепными OCaml типами.
>>1087217>Perfect shuffleнорм, а что это за алгоритм? в википедии конкретно об этом алгоритме ничего нет
>>1087212В JS есть слабые типы, но это мало на что влияет.
>>1087212можно сделать прототип переменной, и смотреть что туда пишут, примерно так https://stackoverflow.com/questions/15857682/javascript-what-are-some-guidelines-on-how-to-define-new-data-types
>>1087227Так в статье же подробно рассказывается, что за алгоритм. С картинками, графиками, гифками и исходниками на JS.Алгоритм перемешивает элементы в массиве. Он тупо пиздец простой: делим массив на две части и в новом массиве чередуем элементы из первой части и из второй.Элементы в массив: 1, 2, 3, 4, 5, 6, 7, 8Разделили на две части: 1, 2, 3, 4 и 5, 6, 7, 8Чередуем: 5, 1, 6, 2, 7, 3, 8, 4
>>1087237Ну и там весь прикол в том, что если так "перемешивать" массив - через несколько итераций все элементы возвращаются в исходной положение:1, 2, 3, 4, 5, 6, 7, 85, 1, 6, 2, 7, 3, 8, 47, 5, 3, 1, 8, 6, 4, 28, 7, 6, 5, 4, 3, 2, 1 <- в обратном порядке4, 8, 3, 7, 2, 6, 1, 52, 4, 6, 8, 1, 3, 5, 71, 2, 3, 4, 5, 6, 7, 8 <- вернулись в исходное состояние
>>1087221>>1087225>>1087228>>1087233Всем спасибо. Инфы для раздумий теперь предостаточно.
>>1087238>>1087237>Perfect Shuffle известен в среде фокусников-картежников. Называют они его Faro Shuffle.ок, не заметил, спсб
Двачик, выручай. Есть какой-то объект, который я прохожу в цикле for in. И есть строковое представление ключей элемента, к которому я хочу получить доступ. Как мне сложить объект и строку, чтобы обратиться к какому-то элементу? Подробнее - https://repl.it/Nkfp
>>1087278https://repl.it/Nkfp/1
>>1087302Спасибо!
>>1087302eval is Evil!
Как можно реализовать сортировку товаров по параметрам на клиенте? Данные приходят на клиент и хранятся в переменной в виде JavaScript-объекта. Далее, слева у меня есть различные чекбоксы, слайдеры и пр., которое я могу крутить и регулировать параметры необходимых мне данных. Я создал новый JS-объект:let filters = {};Каждый раз, когда я кручу какой-то ползунок или нажимаю какой-то чекбокс, этот объект пополняется правилами. Если я отрегулировал ползунок ценника, то появятся два элемента с ключами "price_min": n и "price_max": n. Теперь, как мне выбрать все элементы из JS-объекта, где значение ключа price => "price_min" && price <= "price_max"? Я бы мог, конечно, написать такое ручками и определить это через if else, но у меня таких ползунков дохуя. Писать по if else на каждый случай жизни - заебусь, да и мусорного кода дохуя получится. Может, сталкивался кто с таким? Подскажите хотя бы, как эту тему правильно гуглить, пушо запрос how to filter object in json упорно тычет меня носом в Array.prototype.filter и парочку тупых вопросов на StackOverflow.
>>1086065>Неопытные, но-таки разумные (типа >>1084980), всё же постят, но спустя короткое время сами решат, потому что они, сюрприз-сюрприз, не ждут сидят ответа на вопрос, в отличие от некоторых.Уже решил.>>1085848>Скоро в /cc запощу исправленный brainwalletX.>>1085875Зацените: http://rgho.st/8hlwbSy981. Unzip в папку.2. index.html -> на вкладку браузера.Может чё ещё подправить надо? А?
>>1087317evil не evil, но иногда удобно же.
>>1087381Очевидный for in цикл по свойствам объекта с копированием в новый object.assign, который целиком отсылаешь
>>1087381filter.price_min = данные => данные.filter(one => one > число)filter.price_max = данные => данные.filter(one => one < число)отфильтрованное = Object.values(filters).reduce((данные, фильтр)=>{return фильтр(данные)}, данные)Как-то так примерно.
>>1087436>filters.price_min...>filters.price_max...фикс
>>1087381Рендер товаров организуй по правилам.const filtered = data;if (filters.checkbox) { filtered = filtered.filter(item => item.rule);}render(filtered)То есть если фильтры пустые - отрендерится дата, если нет, то отфильтрованные.
>>1087381А почему бы не хранить "отображаемые" товары в виде массива, который и будешь фильтровать тем самым filter'ом? Вроде бы, так обычно это всё и делается, да и судя по описанию проблемы, JS-объект тебе только мешает.
Как возможно провернуть подобную штуку?var obj = {array: [1, 2, 3, 4, 5],currentItem: obj.array[2]}Чтобы один ключ объекта ссылался на другой ключ объекта. Или никак и толькоvar obj = {array: [1, 2, 3, 4, 5]}obj.currentItem = obj.array[2]?
>>1087470https://stackoverflow.com/questions/4616202/self-references-in-object-literal-declarationsМожно вот при первом вызове геттера/сеттера удалять их и оставлят обычное поле. https://repl.it/NlavОднако, не забудь, что obj.array[2] в данном случае у тебя не ссылка, а копия, потому что элемент примитивный.
>>1087477Какие сложные слова, я до такого еще не дошёл. Надо разобраться, спасибо. Правильно ли я понимаю, что ты это>Однако, не забудь, что obj.array[2] в данном случае у тебя не ссылка, а копия, потому что элемент примитивный.к тому, что obj.currentItem = 100500; не изменит array[2] на 100500? Если да, то это я понимаю. Суть задачи вообще какая: есть объект, который содержит элемент, значение которого - массив имён файлов. И один элемент этого массива нужно вынести в отдельный ключ объекта. Писать каждый раз array[2], когда нужно обратиться к этому конкретному файлу не хочу, потому что вдруг добавится в начало массива еще один элемент и array[2] будет иметь не то значение, куда нужно. Поэтому решил вынести это в отдельный ключ объекта, чтобы если что - нужно было заменить всего одну строку. То есть менять я ничего не собираюсь, по хорошему там вообще не var, а const скорее.
Пацаны, ку!Может ли жс в сокеты? Че гуглить, а то нашел только сокет ио какой-то но там нода-хуеда.Сабж вот в чем.У меня есть приложуха на одном компе, а мне нужно чтоб !БРАУЗЕР! отослал запрос с помощью жса к этой приложухе.Приложуха не постоянно в аптайме.есть идеи/альтернативы?
>>1087543>есть идеи/альтернативы?есть
>>1087543> Че гуглить, а то нашел только сокет ио какой-то но там нода-хуеда.Лонг поллинг юзай и не выябывайся, чать тебе не реалтайм аппу писать.
Что скажете про мобильную разработку с React Native?
>>1087543сокет ио и используй, что тебе не так?
>>1087560У него, походу, на другой стороне не нода.
чому react така залупа, якусь хуйню html і js писати в одному файлі, купа node-пакетів (дохуя взагалі) ?
>>1087569так там фреймворк состоит из двух частей, фронт и бек. И это просто обертка вокруг нативной реализации и там и там. По идее неважно как бек их у себя делает, в браузер оно все приходит более менее одинаково (заголовки разве что может будут другие).
Анон, а если Кантора сделал, но ничего еще руками не писал, и слегка местами каша в голове - че делать? Читать Фленегана? Ебануть курс на Хекслете? Че та написать попробовать? А может уже можно реакт читать? Хочу побыстрее вкатиться
Можна как-то создать переменную с большой строкой в которой полно кавычек, но при этом их все не экранировать?
>>1087772попробуй релейт https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/template_strings
>>1084118опровергай, или иди в хуй.
>>1087543Так ты куда сокеты впихнуть хочешь? Если в браузер, то тут только WebSocket есть. Соответственно, и бэк должен их поддерживать.
Анон, читаю Выразительный JavaScript сейчас, и дохуя чего кажется сложным. Задачи, начиная с глубокого сравнения вообще не понимаю, даже с решением.Из бэкграунда - курс по Питону на Степик. Эта книга/язык и вправду такие сложные, или я безнадежен?
Сап, как запретить воспроизведение двух видео одновременно (embed с ютуба) на своем сайте? Если одно воспроизводится, второе возвращается к 00:00?Встраивается видео через iframe.
redux vs vuex?
Реквестирую ресурсы и литературу по изучению NodeJS.Сам фронтендщик, хочу вкатиться в бэк-енд, и чтобы дополнительно прокачать навыки асинхронной ебли выбрал Node.JS.Беда в том,что одного чтения документации мне точно не хватит, так как я еле-еле представляю для чего нужны сессии и чем вообще вы бэкендеры занимаетесь. Так что, желательно, нужен прямо для чайников ман, где дядя все покажет и расскажет на живых примерах.
>>1082963Это для тестов/опционально. Но я тоже первое время проигрывал. мимо не пишу тесты
>>1087591Ты еще про styled компоненты не слышал.Там возвращаемся к PHP истокам, ВСЕ включая стили в одном файле.
>>1087543XHR к бекенду приложухи?Сокеты вроде для того чтобы слушать события, не? А респонс/реквест это всегда были XHR/Fetch
>>1087989Читай функциональное против императивного
>>1088033Оказалось гораздо лучше иметь сортировку по фичам и компонентам, чем разбросанную по кучам папок логику controllers/views/... или javascripts/html/css
>>1088044Как потом отлаживать в дев-консоли вашу парашу, с автогенерируемыми именами классов я вас спрашиваю?
>>1082836 (OP)вангую это отличный маскот для ЖС, просто 10/10, рейт.
>>1088074За счет декомпозиции никакой сложности
>>1087591Ты бы еще на египетском написал
>>1087845бамп.
Братишки, я тут потихоньку, пилю имиджборду свою, уже создавал тред, но моча потер.Вот вам исходники, можете проверить, усе анонимно.Пишу в свободное время, хочу приблизить к функционала двоща.
>>1088125забыл прикрепить, еблан, проститеhttps://github.com/yanislav-igonin/dumpach
>>1088125>>1088127На сервер залей что-ли, чтоб открывалась.А то ну как её поставить-то?
>>1088129на гитхабе в ридми ссылка есть, братишка
>>1088129меня моча забанил в прошлый раз за то, что я отдельный тред создал и ссылку прямую, не хочу, чтобы опять побанили
>>1088130там какая-то свалка на фоне и написано в коде "You need to enable JavaScript to run this app."хотя JavaScript у меня включён для этой страницы и в браузере в общем.
>>1088137Наверно поэтому и забанили. Лол.
>>1088125А зачем папка целая router для одного роута? Зачем такие решил размазывать код роутинга по всему приложению? Или это особенность rr4?
>>1088141>>Или это особенность rr4?thisРаньше на 3 версии все роуты там были, сейчас, перед переносом его на семантик-юай, решил все депенденси обновить, включая реакт, роутинг и тд
>>1087838Тебе нужны курсы не по языкам, а по основам программирования. Очень много зависит от практики. Теория без практики почти не усваивается. В голове просто каша образовывается. Нужно много практиковаться.Вот есть 2 бесплатных курса с практикой в браузере, под ними есть еще дополнительная практика.https://goo.gl/GLwHHLhttps://goo.gl/LbfzdXЕсли что-то не получается там же можно задавать вопросы. Полазь по сайту, посмотри, там есть всё что нужно.
>>1088027Крутая программа обучения https://goo.gl/keMtwT стоит всего 24$ (~1500 руб.) в месяц, первые курсы бесплатные, практика прямо в браузере, помощь менторов, и много других плюшек. По ассинхронности там несколько курсов в программе.
>>1082946document.getElementById('куда вставлять нах').innerHTML = search_by_author.render()Не?
ты заебал со своими реферальными высерами
>>1088214render не возвращает html. Он возвращает объектное представление дерева.
>>1087845bump. Могу немного заплатить за решение.
Анон, подскажи, я не js прогер, накатал скрипт в Tampermonkey для одного сайта, он как-то вообще нагружает сайт(сервер)?Не очень просто понимаю работает js и обращается ли он к серверу или к сайту как к уже загруженным данным.Суть: сайт периодически рефрешится, скрипт быстро перекрашивает нужный текст. Ну а сайт банит за большое кол-во запросов. Код - https://jsfiddle.net/r6xzrozd/
>>1088294Нет, никаких сетевых запросов скрипт твой не делает.
>>1088296Понял, спасибо.
Двач, а вот я сортирую массив, в котором есть названия и на латинице, и на кириллице. Так вот, .sort() возвращает мне массив значений, где сперва идут отсортированные значения на латинице, а потом только идёт список отсортированных значений на кириллице. Как это поменять? Хочу, чтобы сперва были отсортированные значения на кириллице, а затем только на латинице.
>>1088646При сортировке текста в js используется https://ru.wikipedia.org/wiki/Лексикографический_порядок Иными словами, ты хочешь отсортировать свой массив так, чтобы он имел порядок не [1, 2, 3, 150, 151, 152], а [150, 151, 152, 1, 2, 3]. Подумой, как бы ты смог получить такой массив с числами из перемешанного, а потом уже на строки это переложи.
Здравствуйте , меня зовут Алеша, такой вопрос.С помощью этой штуки можно ли в браузере делать мышкой выделение текста в pdf документе и сделать проверку например выделил слово и автоматически произошла проверка, есть ли данное слово в базе?? Нужно для того, чтобы можно было отдавать перевод данного слова на другой язык и запускать audio file с произношением
>>1088687*Вот этой https://github.com/mozilla/pdf.js
>>1088687Здравствуй, Алёша. Меня зовут Серёжа.Как ты мог бы заметить, текст там рендерится в обычный хтмл с кучей div'ов. Проверять, выделен ли на странице текст, можно так: https://stackoverflow.com/questions/3731328/on-text-highlight-event
>>1088709> Как ты мог бы заметить, текст там рендерится в обычный хтмл с кучей div'ов.Не изучал эту технологию подробно, но разве там пдфка рендерится не в 2D canvas?
>>1088744Блин, да открой ты пример по ссылке на онлайн демо из гитахаба и посмотри инспектором на html. Я вот именно это и сделал, например, перед ответом тебе/ему.Текст в канвас это, по-моему, немного извращенство (но тут могу ошибаться).
А как можно пройтись по двумерному массиву не двойным циклом, а то выглядит он 2к17 уебищно. При этом мне еще и получить координаты ключи индексы нужных значений. https://plnkr.co/edit/W3rvSiVTc9JlSXM0VEu8?p=preview
>>1088815map? https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
>>1088815Хуй знает как не двойным циклом. Я использую методы массивов для перебора всех значений + стрелки вроде бы смотрится более менее.https://plnkr.co/edit/clsEI1LjnzrihtbLr7rO?p=preview
>>1088815Так же, как и по одномерному — map, forEach, find, reduce и т.д.
>>1088815Зафлаттенить и далее классическим перебором в лямбде.Что-нибудь из лодаш-фп подойдёт, наверное.
>>1088815flatMap + map
Пасаны, устанавливаю на Ubuntu 16.04 node.js 6.0, а когда проверяю версию nodejs -V, то показывает 4.0 ???
>>1089068Как устанавливаешь? Почему 6 версия, сейчас 8 LTS.
>>1089068Ну так что, помощь нужна или как?
>>1089068Ты просто через apt устанавливаешь? Там не догоняют наш стремительный фатигнутый мир.Надо через скриптик накатывать:https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributionscurl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash ->>1088815https://repl.it/OABN
>>1089068Поставил убунту месяц назад и сам недавно через это прошел, пришлось немного повозиться чтобы установить последний, хотя это довольно просто. Тем не менее, вот что я тебе скажут, добрый мой совет, ставь винду, в линуксе в реальности надо чаще ебаться со всякой хуйней, ни фига он не удобней для вебдева, все это сказки.
>>1089084Быстро же ты сдался. Сдашься один раз, будешь сдаваться всегда. Пока ты встретил небольшую трудность и сдался, что будет когда трудность будет сложнее?!
>>1089084Не винда это гавно для макак, и нода тоже гавно, раз не ставится на православную Убунты с пол пинка. Буду дальше заниматься Питоном, там такой херни нет
>>1082836 (OP)нихуя не понимаю этих замыканий и их смысл.проще ебаного кормана почитать и порешать задачки на алгоритмы чем понять эту злоебучую, мудренную залупень.5 источников прочел - не могу понять, господи какое же убожество, мудрено так нахуя делать, суки ебучие, ненавижу, ненавижу блядей, шизофреническая хуета эти ваши замыкания, господи нахуя так уебишно делать, сука просто убожество, фу нахуй, фу бльдь, блюю нахуй.
>>1089075Я да пробовал ставить вот этим баш скриптон, все равно в итоге версия 4.0 устанавливаетсяhttps://gist.github.com/kolosek/b166b4ba2ddcc293d06bfc9f4cdd1689
>>1089094Что за левый скрипт? Если ты не смог скопировать строку и вставить в терминал, то у тебя будут большие проблемы в будущем. Правильный скрипт здесь https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributionshttps://github.com/nodesource/distributions#debinstallИли скачай архивом, распакуй куда нужно, это простой рабочий способ. Инструкция https://github.com/nodejs/help/wiki/InstallationЕще можно поставить из PPA репозитория, это один из лучших способов, обновления будут автоматические, поменять версию будет не сложно. https://www.digitalocean.com/community/tutorials/node-js-ubuntu-14-04-ruМожет ты ставишь из стандартных репозиториев убунты, там всегда старые версии. Такую команду не прописывал? apt install nodejs или apt-get install nodejs
>>10890708 даже в федору еще не подъехала
>>1089093Что мудреного в том, что в функции можно использовать не только аргументы, но и переменные вне ее тела? Как вообще без этого можно что-то на JS написать?
>>1089125Никто из дистровых репов не ставит.
Бандиты, скиньте топовые онлайн игры на js
>>1089420http://hexgl.bkcore.com/play/
>>1089093концепция scope не только в замыканиях js используется. если ты не можешь осилить их, значит ты в принципе плохой программист.точнее, я хотел сказать, заткнись и учи молча, животное ебаное, либо иди подметай хуйло
>>1089136можно, ты тоже животное ебаное не понимаешь функциональщину
>>1089093У каждой функции есть объект scope, в который записываются локальные переменные. Если локальной переменной с таким именем нет в scope этой функции, то функция берет объект scope высшей функции из call stack'а и пытается найти перменную с таким именем там, и так далее до глобального scope'а.реализация кстати ебанутая
>>1089452И как, много ты на js написал чисто функциональных приложений без this?
>>1089456что ты блять поришь, долбоеб?объект scope для конкретной функции создается в момент вызова этой функции. будет 10 вызовов этой функции - будет создано 10 разный скоупов.вложенность достигается стеком.для каждого вызова какой либо функции, текущий стек копируется, в него добавляется scope текущего вызова функции. в теле этой функции текущим стеком будет являться копия предыдущего текущего стека + scope текущего вызова.короче вот написал хуйню, если даже так будет непонятно, то ливайте из профессии https://pastebin.com/r8NPPyz3>>1089478а как блять вообще this относится к замыканиям? ты что ебанутый?у this есть наследование прототипов, которое работает по принципу скоупов, но речь то идет про замыкания так что ты долбоеб.так же, в контексте нет упоминания о чисто функциональных приложениях, речь о понимании функционального подхода, так что ты соснул в двойне. никто не говорит писать чисто так, или чисто вот так. но знать это надо, потому что некоторые вещи делаются так, а некоторые вот так.но вообще я делал такую хуйню может тебе понравится http://jsbin.com/rebazi/8/edit?js,output
>>1089503КЕК, мы вам перезвоним
>>1089478Сколько хочешь. This же для разработчиков библиотек-структур данных. В своем коде this нужен только если ООП головного мозга накрыл полностью.
>>1089512ты че, бездарность, ебальник открываешь? давай бля выкатывай свой бездарный говнокодя третий год пишу под ios, до сих пор шарю в js лучшебольше чем обитатели этой сральни
>>1089517Ты для цирка пишешь чтоле, посмешише?
>>1089518обиженная чмоха, иди учи основы и не выебывайся, а не бомби на рандом господина
>>1089503Знаешь, хотел сначала ответить даже пасту накатал, но потом решил что ну нахуй. Ты буйный какой-то.
>но вообще я делал такую хуйню может тебе понравится http://jsbin.com/rebazi/8/edit?js,output>var>push>unshift>pop>миллионы мутаций>еще что-то пиздит про функциональный подход
>>1089526там нет this, дабумтссс>>1089525я называю вещи своими именами. вы ждете что я вас хвалить буду, за то что вы порете хуйню и в развитии стоите на месте?когда я делал хуйню и мне говорили что я делаю хуйню, я был благодарен тем людям. а щас блять куда не плюнь везде дебилы, вам же даже объяснять часто бесполезно
>>1089517Откуда в JS приватные методы и типы лопух.Что за говно ты сюда принес. Очередное говно которое из JSа компилирует в JS?
>>10895311. приватные поля реализуются через переменные коструктора2. дегенерат, это swift и я пишу под ios. ты читать научись.
>>1089530>я называю вещи своими именамиТы самоутверждаешься за счет незнакомых людей. И провоцируешь их на агрессию к себе. Вон один уже со Свифта бугуртит, кек.>вы ждете что я вас хвалить будуЯ от тебя ничего не жду, я вообще тебя не знаю. Вряд тут кто-то ожидает похвалы от рандомного НЕБОЖИТЕЛЯ.>когда я делал хуйню и мне говорили что я делаю хуйню, я был благодарен тем людямВот сейчас ты делаешь хуйню — скатываешь тред в токсичное говно. От таких людей для комьюнити больше вреда, чем пользы, даже если они хорошо программируют и дают советы по делы.
>>1089533Так тредик о JS, похуй всем тут на твои айфоны. Уходи отсюда.
>>1089535даже будучи ios-пидором, я шарю в жс лучше тебя>>1089534самоутверждаюсь ебана бля ага да.я два года назад высрал это чудо вечер, просто у меня што то щелкнуло и я захотел эту поеботу сделать и сделал. http://jsbin.com/wakuru/2/edit?jsмне блять не нужно самоутверждение, я себя объективно оцениваю. я просто зашел напомнить долбоебам что ихнее место на параше
>>1089545>ихнееПравильно "иховое".Ты такой агрессивный из-за своей подавляемой гомосексуальности, элитный маковод?
>>1089560почему подавляемой?мак у меня только на работе, а так мак это говно пуще венды
>>1089525ладна давай высирай че ты там хотел высрать, обижать не буду чесна-причесна
>>1082836 (OP)ЖСыны, что надо чтоб зашифровать и расшифровать алгоритмом AES файл в браузере -при помощи другого ключевого файла, как в openssl?Я вижу всякие библиотеки AES на JS, но они только с паролем работают.
>>1089572ты любой файл можешь представить в виде строки. а любой пароль это строка. соответственно, используя библиотеку АЕС ты можешь использовать любой файл как пароль, если конечно там нет ограничения на количество символов
>>1089573Ну вот в обычном openssl,по команде openssl enc -helpвидно следующее:-kfile passphrase is the first line of the file argumentЭто значит, что из ключевого файла берётся первая строка.Что с ней дальше происходит - понятия не имею, может хеш какой-нибудь от неё берётся в качестве ключа,или сама она в виде пароля представляется.В общем, надо в форму вгрузить два файла - один файл открытый, например музыка, другой файл -ключевой, и это бинарник, содержащий 32 байта (256 бит) - ну потому что 256 бит AES.Шифровать хочу алгоритмом aes-256-cbc без -salt,чтобы побитово сравнить с файлом закриптованным с помощью openssl,но как я уже понял, если не указывать параметр -salt в коммандной строке openssl - всё-равно он его посолит.Но мне интересна сама реализация.Ведь если я буду читать файл в байтовый массив, и оперировать уже блоками по 256-бит,то что я нагорожу в своём быдлокоде будет не очень быстрым, и может ещё и буфер переполнить,и быть может заюзать какой-нибудь curl, и забросить сам openssl в виде exe-шников в папку с html, где форма эта?
>>1089582>curlCGI имел в виду.
>>1089582>aes-256-cbc>если не указывать параметр -salt в коммандной строке openssl - всё-равно он его посолитPage 2 - Method #2, the UNIX Command Linehttps://www.macobserver.com/tmo/article/how-to-strongly-encrypt-a-file-for-free-in-os-xзашифрованный файл начинается с Salted_ и даже если не указать параметр -salt,всё-равно два зашифрованных файла - отличаются.Можно ли вообще закинуть exe-шник openssl в какую-нибудь папку,и вызывать его из JS, ну чтобы зашировать с его помощью файл, и вернуть его в виде ссылки?Можно ли представить файл как поток данных, а потом зашифровать поток через openssl,и вернуть зашифрованный поток, ну чтобы вообще не сохранять файлы там, где хостится JS c этим openssl?
Я не понимаю почему не срабатывает $location.path, если его просто определить в функции SetCount то работает.
>>1089598Не нашёл способа подключить CryptoJS к HTML-файлу, даже вот это не работает:http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.jsЕсть у кого AES на JS в ZIP'e?
>>1089609Я решил проблему метод SetCount перенес в контролер и добавил в каждый метод on('click') $scope.$apply();.
>>1087845buuuuuuuuuuuuuuump.
>>1089093замыкание это ссылка на контекст другого лексического окружения
>>1089534>Вот сейчас ты делаешь хуйню — скатываешь тред в токсичное говно.Подожди, то есть ты считаешь что лучше пусть в треде будем много няшных долбоёбов безруких чем токсичные, но неплохие специалисты? Бля, тебе лечиться надо. У нас тут нет демократии, кто прав тот прав, а не кого больше тот прав.
>>1089658Ну отлавливай там всякие события плеера, например. https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Media_events
>>1089620Не нашёл AES encryption и decryption файлов на JS. В ZIP-e - тем более.Нашёл вот такое: http://aes.online-domain-tools.com/ но оно не сохраняется, блядь.Перерыл пол рунета, но не нашёл ничего более годного чем это https://etherhack.co.uk/symmetric/aes/aes.htmlПросто hex в hex шифрует и расшифровывает. Но цифертекст тут каждый раз разный, что говорит о смене вектора инициализации.Но как вытащить оттуда JS - ума не приложу.Попробовал зашифровать hex-строку через CryptoJS, в итоге получил шифртекст намного большей длины:message: 59678556102144ae95741ca84617a920cff93ca9fd11c46979cc1944422aca5acipherData: 3Vrz6Mlpsp2KbackEjZFGhg0AH1ruMHBhteuKxFxoRUim49t31AkNkZn5Od3ho1onRAdTvsxovsbUtH+Rs3GcrUkbhm55RajcBfDxx/AxoQ=cipherHex: dd5af3e8c969b29d8a6da7241236451a1834007d6bb8c1c186d7ae2b1171a115229b8f6ddf5024364667e4e777868d689d101d4efb31a2fb1b52d1fe46cdc672b5246e19b9e516a37017c3c71fc0c684data: 59678556102144ae95741ca84617a920cff93ca9fd11c46979cc1944422aca5adata1 59678556102144ae95741ca84617a920cff93ca9fd11c46979cc1944422aca5a === message 59678556102144ae95741ca84617a920cff93ca9fd11c46979cc1944422aca5aЯ знаю, что AES - алгоритм блочного шифрования, и он имеет свой размер блока.Если я ввожу 256-бит в виде HEX'a, то наверняка я должен был бы получить 256-бит шифротекста.Такая длиная строка цифертекста говорит об избыточных вычислениях, и большом енкрипт-файле в перспективе.Там используется wordarray, и чтоб получить hex из base64 мне пришлось переводить его в строку.hex = cipherData.toString();hex = CryptoJS.enc.Base64.parse(hex);document.write("cipherHex: "+hex+"<br>");Ну и как читать файл в hex, а уж тем более в base64 - в душе не ебу.
>>1089733Зачем ты мне предлагаешь выбор из двух хуевых крайностей? Демократию еще приплел откуда-то. Я считаю, что хорошему специалисту не обязательно быть полным мудаком и называть всех вокруг дебилами. Это приносит больше вреда, чем пользы. И действительно крутым ребятам (Абрамов, Ситник и т.д.) их скиллы почему-то не мешают вести себя нормально.
Как правильно написать строку видаvar name = array[5];Если учесть, что array может оказаться пустым или вообще null? Тернарный оператор юзать? Типа (array != null && array[5]) ? name = array[5] : undefined; или что-то вроде?
>>1089825Я бы так написал. Я джун, работаю второй месяц.let name = array ? array[5]: null;
>>1082836 (OP)>>1089758Шо ни у кого нет AES для файлов на JS что-ли, блядь?Мне его что кривыми руками с отрозшими ногтями, тыкая пальцами в кнопки - самому быдлокодить?
>>1089830Нашёл вот это: https://infotechinc.github.io/symmetric-encryption-in-browser/но здесь надо какое-то непонятное WebCryptography API.Его что в браузер надо ставить? Можно ли его в виде JS-файлов подключить?
>>1089825const name = (array || [])[5];
>>1089827Поведай мне, джун, сколько учил и что читал?
>>1089825var array = [0, 1, 2, 3, 4, 5];Array.isArray(array) && array.length > 5 && array[5] || undefinedвсе остальные животные и написали хуйню
>>1089940Сам ты животное. И код твой говно.По пунктам:0) твой код плохо читается1) undefined никто не присваивает, это вроде как канон. Присваивают null2) Если array[5] не определен, то сработает второе условие, присвоится undefined. С-но, твой код избыточен. То же самое про проверку на длину. Она не нужна.3) Самое главное. Он содержит баги. Если у тебя 0 в array 5, то сработает undefined. Руки отрывать за это.Все тот же джун, работаю второй месяц
>>1089846Читал Кантора. Читал про реакт Стоянова и еще по мелочи немного. Еще осилил курс Programming languages от Дэна Гроссмана, но там не совсем про js, а скорее общие принципы. Читал SICP, но страниц сто прочел и отложил пока. Позже вернусь.Сейчас тимлид хвалит меня за дотошность и ругает за хуевые архитектурные решения. В большинстве случаев он оказывается прав, и аргументированно показывает, что я сделал хуйню. Что бы почитать такого, чтобы перестать быть макакой, а стать нормальным программистом-архитектором, способным спроектировать и реализовать сложную структуру?
А какой лвл и сколько ушло на все про все?Долго работу искал? Вышка по специальности или просто вкатился?
>>1089946> 1) undefined никто не присваивает, это вроде как канон. Присваивают nullмне похуй. я просто показываю возможность установки дефолтного значения.> 2) Если array[5] не определен, то сработает второе условие, присвоится undefined. С-но, твой код избыточен. То же самое про проверку на длину. Она не нужна.она нужна, потому что вместо undefined я должен вернуть дефолтное значение.>3) Самое главное. Он содержит баги. Если у тебя 0 в array 5, то сработает undefined. Руки отрывать за это.это не баг, а тест на дегенератов. с одной стороны ты заметил недостаток, с другой ты не понял, что этот недостаток легко фикситься.>0) твой код плохо читаетсяче блять. перепиши мой код на if else, и подумай еще раз. a && b сложно для него ну пиздец.вот блять специально для тебя правлю кодvar array = [0, 1, 2, 3, 4, 5];var defaultValue = 1;[defaultValue, array[5]][Array.isArray(array) && array.length > 5 && isFinite(array[5]) | 0];
>>1089825Тред не читалlet name = array[5] ? : array[5] : 'Anonymous'Но вообще это какой-то хуевый код, когда приходится тащить именно пятый элемент и непонятно есть он нет.Еще можно использовать деструктуризацию, типаlet [birthdate, first_name = 'Anon'] = arrayЕсли у тебя идет имя вторым элементом, например. Анон - дефолтное если его нет. Так по хипстеркси.
>>1089969вот написал вариант для школьников, которым СЛОЖНО, РУКИ ОБЛОМАТЬ, ну короче которые еще не созрели для нормального кода:var unwrap = (optional, defaultValue) => optional !== undefined && optional !== null ? optional : defaultValue;var array = [1, 2, 3, 4, 5];unwrap(array[5], "пусто");
>>1089969>это не баг, а тест на дегенератов.Именно, вот мы тебя и выявили.>>1089977И снова ты свой тест провалил! Вся заварушка началась как раз из-за того, что array может быть не определён и попытка его индексировать вызвала бы ошибку, а ты вот прямо array[5] и хуяришь в функцию. Какой уже смысл там что-то проверять-то.
>>1089940Ты, кстати, не из тайпскрипта или чего подобного вылез? Нахуя, блядь, проверять, что это Array и что у него есть длина и она больше 5? Ничего этого в условиях не было, можешь у него вообще там обычный объект с цифровым ключом, который он случайно array'ем назвал.
>>1089969>>1089977Ты троллишь что ли так? Одно решение охуительнее другого.
>>1089825надо зделоть шоб пустой массив по дефолту ставился, а там уже по длине проверятьмастержс
Отвечаю на один самый важный вопрос по ЖС ИТТсеньор300кк
>>1090054Что получится, если сложить массив с числом?
>>1090001Внезпно кстати, у всех строк есть прототип String, у которого есть метод length, так что строка может быть с длиной и больше пяти. Парам па пам, вью!
>>1090058Строка.Под капотом интерпретатор попытается преобразовать массив к числу методом valueOf, но так как у массива он возвращает сам массив, а не примитив, то интерпретатор обратится к toString, соответственно произойдет конкатенация числа и строкового представления массива.
Господа, в чём может быть проблема?https://stackoverflow.com/questions/47222568/can-i-use-hoc-to-wrap-component-with-graphql-and-redux
>>1090054Товарищ синьер, а можно вкатится в 28 ?
>>1090063а че я тогда тока што в консоле сложил, и строка сконкатенировалась с последним значением в массиве?
>>1090066Примеры есть, и немало.>>1090067Что значит "с последним значением"? У тебя отдельно приводится к строке число, отдельно массив, затем они конкатенируются. Например, массив [1,2,3] сначала приведется к строке "1,2,3". Затем к этой строке приклеивается приведенное к строке число, например "5" и получается "1,2,3" + "5" // "1,2,35"Все правильно.
>>1090066Вопрос повторяется из треда в тред. Ребята, вот исчерпывающий алгоритм.Желающим вкатиться джуном, имея нестандартные статы (седой олдфаг, синдром Аспергера, маргинальная биография, проживание в глубокой мухосрани и все прочее в таком же духе), нужно сделать так:1) Два-три месяца вложиться по максимуму.2) Нанять ментора, который поможет подтянуть пробелы в знаниях и найти работу. Сайтов, предлагающих подобные услуги, довольно много.Принцип касается не только js, и даже не только программирования. Он универсален.
>>1090142Хотите мнение? Вы задумали в принципе далеко не самую умную затею. На моих глазах около десятка парней в возрасте за 30, как и Вы, пытались начать все с нуля, освоить программирование, получить хорошую работу с хорошей ЗП и в перспективе уехать за рубеж. Знаете скольким это удалось? Никому! Основная причина - очень высокий порог вхождения при низкой усвояемости нового материала после 30-и, попросту говоря - не осилили. Даже если и осилите, дальше что? Все двери перед Вами распахнутся? Да не тут-то было! Сегодня типлиды кругом 25-30 лет, 30+ уже ПМ. Дядя, ты куда прешь?!(с) Даже многие программисты с хорошим бэкграундом, которые уехали за рубеж после 30-и в итоге там переучивались в водителей погрузчиков, т.к. по специальности устроиться не смогли.Возможно Вы уникум и у Вас все получится, буду за Вас искренне рад, но статистика вещь упрямая.В таком возрасте если и начинать все с нуля, то нужно выбирать не инструмент а направление деятельности в котором хотите развиваться, изучать предметную область, затем уже и об инструментах можно подумать, точнее они сами к Вам придут.Но если у Вас идея фикс, то что могу посоветовать... да ничего не могу посоветовать, т.к. особых предпочтений Вы так и не высказали и с предметной областью как понимаю не определились. Из всех перечисленных технологий, можно только с уверенностью сказать что Java и через 10 и через 20 лет будет на плаву, т.к. это в первую очередь крупный ентерпрайз, там все относительно статично. Но не завоете ли Вы волком через полгода клепая в эклипсе очередной 100500-й класс?
>>1090150Среди этих 30 летних были молодые и шутливые, слушающие яниксов, стригущиеся в барбершопах и вот это все. Или это все было прям совсем мужичье которому уже нихуя в жизни не интересно?
>>1090150так и есть в 30 лет уже мозги высохли, я даже школьный выпускной экзамен с трудом сдам
>>1090157Какая разница-то?.. Количество ключевых слов в том же JS давно вышло за все мыслимые пределы (а в вакансиях требуют ещё и серверные языки, при этом з/п часто как за один), и как огромный снежный ком — растёт и растёт.
>>1090165Мне кажется у меня в 17 мозг был более закостенелый, чем в 27. Я тогда не мог даже понять как циклы работают, ни как мир устроен.
Блядь, как же у меня полыхало сегодня с вашего зоопарка. Возникла примитивнейшая задача - автоматизировать заполнение формочек на сайте. А сайт на реакте...Полез в код страницы - там адский нечитаемый пиздец. Проебался хуй знает знает сколько времени, пытаясь найти где у этого говна начала, а где конец, пока не убедился что вся внутренная логика через хуй проссышь какую жопу завернута в замыкания, и до скоупа в котором она живет мне тупо не добраться. Хуй с ним, прокликаю по кнопочкам, да захуярю что нужно в value нужных инпутов... Да вот только этот реакт работает со своим виртуальным домом, на то что реально нарисовано на странице он хуй ложил. Ладно, захуюрю ему чейдж эвентов... на которые ему тоже совершенно похуй - эвенты в нём тоже свои. Пришлось дрочиться подбирая такой порядок эвентов и ввода данных при котором он воспринимал это как реальный ввод. Для textarea, например, вышло фокус\установка значения\инпут\блюр. Строго, блядь, в этом порядке. Шаг в сторону - и нихуя уже не сработает. Для других инпутов уже другой, блядь, порядок эвентов. И закончилось всё это тем что последнему особо злоебучему импуту пришлось даже кейкоды засылать. Что, к слову, нихуя не кросбраузерно, и рабочее решение нашлось далеко не сразу.В итоге на юзерскрипт из какой-то сраной сотни срочек ушла вся ёбаная ночь, до сих пор еще задница не остыла.И это при этом что я далеко не жс-хейтер, скорей наоборт - постоянно его использую, и считаю отличным языком. Но, блядь, не в вебе. Там ад израиль.
>>1090150Это паста? Мы говорим немного о разном. С тем, что мозги после 30 работают хуже, никто не спорит. Пик интеллектуальной формы человека -- 22 года. Мнение основано на наблюдениях за взлетом топ-шахматистов.Понятно, что если начал в 30, то Кармаком ты вряд ли станешь. Но не так уж и сложно стать середнякаом, зарабатывать пару тысяч грина в месяц и жить на каких-нибудь теплых островах Тихого океана. И эта жизнь будет гораздо счастливее жизни большинства людей.Мой совет был направлен в сторону тех людей, у кого с мозгами все хорошо, но которым отказывают в работе по формальным критериям.> многие программисты с хорошим бэкграундом, которые уехали за рубеж после 30-и в итоге там переучивались в водителей погрузчиковЧто это вообще за хуйня? Программист с хорошим бэкграундом может работать удаленно.
>>1090066Конечно можно. Все зависит от тебя. Почитай https://joisadler.me/posts/ чувак пока не устроился, но очень сильно прокачался. Другие уже устроились на работу, но блогов не ведут.Занимаются по этим курсам https://goo.gl/keMtwT
>>1090247Ага, да, хекслет, рефералом. Ты уже 5 раз пиал
>>1090233Дибилы блядь! Нахуя уезжать? Работай удаленно, получай в баксах и плати свои 13%.
>>1090262> плати свои 13%Зачем? До пенсии все равно не доживешь. А если и доживешь выгоднее эти 13% положить на валютный депозит или в битки.
>>1090266Иначе атата и здоровым точно не доживешь.
>>1090260И что? Работает же. Люди успешно обучаются и устраиваются на работу.
>>1090262>плати свои 13%Это только на доходы 13%. А еще пенсионный взнос, страховой, и еще всякие другие. Выходит около 50%.
>>1090262Нахуя уезжать -- давай не будем это здесь обсуждать, хорошо? Чтобы избежать оффтопика и потенциальных срачей на темы, не имеющие отношения к программированию.Важно иметь достаточную профессиональную квалификацию, для того чтобы был выбор, уехать или оставаться. И очень плохо, когда такого выбора нет.
>>10901421) Кому нужно, мы все уже здесь.2) Лучший путь обучения - самообразование + практика.Ни одного раза какой-либо старый/молодой долбаеб мне не объяснил лучше, чем написано в книге или документации. >>1090066Вкатился в 27, уже год работаю JS/HTML/PHP/NGINX/APACHE/VMware макакой. Потихоньку жалею и учу Python, чтобы свалить из этого ада с легаси говном на PHP5.2, где все перемешанно, где переменные именуют одной буквой. Лучше бы я вагоны разгружал, чесслово. Но у меня бекграунд был математический, прошлая профа - исследователь в НИИ. Из программирования, в школе BASIC (GOTO пацан, дада). В универе решал всем неосиляторам лабы по дискретке на паскале, стеки/очереди/кучи там. всякие. Так что я тот еще мамкин умница. На все обучение HTML/CSS/JS/PHP ушло 2 месяца.
>>1090288И сколько у тебя ушло на вкатывание времени?
>>1090295он же написал, 2 месяца. Охуеть.
>>1090296а если вместе с бекграундом?
>>1090296Пиздит
>>1090295Нужно не по времени ориентироваться, а по достигнутым результатам.
>>1082836 (OP)Кто-нибудь может написать нечто подобное для файлов >>1089833но без Web Cryptography API, или же подключить его в виде JS-файлов,наверняка оно есть в JS.Только я вижу там в исходном коде используется AES-128, а надо AES-256-CBC,чтобы размер блока и длина ключа была 256 бит.
>>1090300Нашёл PDF-ку какую-то там внизу листинг кода JS: https://www.theseus.fi/bitstream/handle/10024/92960/Web_Cryptography_API_Luoma-aho.pdfНе пойму, это расширение к браузеру или его можно в JS-файл запхнуть и подключить как скрипт?
>>1090305Ты листал pdf и не удосужился понять о чем он?Это какой то модуль, для сервера, или хз. Код есть на гитхаб https://github.com/webcryptoapiex/secretnoteСкрипт из пдф https://github.com/webcryptoapiex/secretnote/blob/master/public/js/modules/utils.js
>>1090309>Код на гитхабчто за прикол?> var app = parent.app = parent.app || {};
>>1090313Это код
>>1090313Это шифрование.
Ребзи, где нужно хранить jsonwebtoken на клиенте? Локалсторадж?
>>1090313Обычный код. Краткая форма этого:if(parent.app){var app = parent.app} else {parent.app = {};var app = parent.app;}
>>1090309>>1090318>>1090313>>1090324>>1090327Короче, после всего этого - в голову приходит то, что проще всего было бы как-то подключать обычный exe-шник:запустив для шифрования его при помощи ссылки в htmlнапример командой "openssl enc -aes-256-cbc -salt -in secret.txt -out secret.enc -k password",и после выполнения шифрования на сервере - просто выдать ссылку на файл:как вот тут вот, когда файл шифруется: >>1089833 (там ссылка появляется).Но тогда, эта хрень не будет пахать в линупсах, маках, юнихах и андройдах всяких, если она вообще будет пахать.Как это сделать - непонятно, там вроде-бы надо прописывать полные пути, а относительные не канают,а хочется портабельную шифровалку файлов в браузере 256-битным ключём (32 байта),ну чтоб носить её можно было от браузера к браузеру - в виде zip-архива с js-файлами и html-страницей,подключающей их, ну и чтобы расшифровывать можно было этой шнягой.Можно поставить ограничение на размер шифруемого-дешифруемого файла,потому что я вижу там base64 юзается во многих всяких CryptoJS, где AES есть,как тут например, когда в hex переводится файл: http://tomeko.net/online_tools/file_to_hex.php?lang=enно лучше было бы представить читаемый файл в виде потока,и шифровать уже поток неограниченной битности, просто зациклив шифрование последовательно-подающихся блоков инфыа вот уже выходные данные - писать в файлы неограниченного размера,не обязательно сохраняя в на сервере, а отдавая, например его - по мере закачки исходного файла.Ну и конечно же не обязательно чтобы был сервер - ещё лучше чтобы можно было из папки открыть html,вгрузить туда зашифрованный файл, ввести пароль, получить с него ключ,и по мере загрузки, скачивать расшифрованный файл.Не нашёл ничего подобного в Инете, поэтому я и тут.
>>1090342Ты хочешь написать шифровальщик без сервера? Его взломают через секунду. Как ты собрался подключать экзэшник?
>>1090346>Ты хочешь написать шифровальщик без сервера?Взломать шифровальщик всё-равно что взломать алгоритм шифрования.Более того, если нет сервера, то и передавать на сервер ничего не надо, а значит и перехватить нифига нельзя.Как подключать? Ну я не знаю, вот так как-то что-ли:https://stackoverflow.com/questions/4252913/open-an-exe-file-through-a-link-in-a-html-fileХотя, конечно лучше было бы юзать какие-то JS-крипторы, представляя файл как поток данных.Есть же видео-трансляции зашифрованные, в том же скайпе, например.Там файлы не юзаются - там видеопотоки.
>>1090342Я бы посмотрел в сторону меги, как там реализовано. У них же вроде шифрование идёт на стороне браузера.
>>1090415Собсно да - уточнил в википедии.>Mega шифрует весь контент прямо в браузере с помощью алгоритма AES>шифрование происходит на стороне клиента при помощи javascriptНу вот и сходи посмотри на их код.
>>1090417>Ну вот и сходи посмотри на их код.Так они тебе его и показали. Там скорее всего обфусцировано все до полной нечитабельности.
>>1090423>Так они тебе его и показали.Браузерный жабаскрипт. Берешь и читаешь, даже спрашивать не надо.Я думаю что он и должен быть не сильно обфусцирован - это же их киллер фича, то что кто угодно омжет убедится в надёжности шифрования. А с обфусцированным кодом теряется весь смысл.
>>1090415>Я бы посмотрел в сторону меги, как там реализовано.>Ну вот и сходи посмотри на их код.Там неведомое творится в коде. Во-первых нельзя глянуть - правый клик не работает.Во-вторых регистрация надо, в третьих дофига скриптов всяких подключено.>>1090417>Mega шифрует весь контент прямо в браузере с помощью алгоритма AAES'ы бывают разные. AES-128-CTR, например.Мне же надо AES-256-CBC, как в openssl.Единственное что нашёл, рабочее в браузере - так это вот: https://gist.github.com/rootsher/c0377faeb89cae491358А вот проверка дешифрования - в посте (первый ответ):http://www.itgo.me/a/6204436090760439940/decrypting-aes-256-cbc-salted-ciphertext-with-javascriptТолько там надо содержимое зашифрованного файла преобразовать в base64-строку для дешифрования.Как же юзать всё это добро?1. С гитхаба (ссылка выше) - копируется код, сохраняется в СryptoJS.js2. Создаётся некий файл index.html рядом, а внутри помещается код:<script src="Crypto.JS"></script><script>var dec = CryptoJS.AES.decrypt("U2FsdGVkX1/oA4O+uXXBXAjAenRJwpUV4UqQp4aYCpk=", "password");var plaintext = CryptoJS.enc.Latin1.stringify(dec);document.write(plaintext); //Message</script>3. Открыв его в браузере - можно видеть исходный Message.4. Ну а дальше уже это всё портабельно, и можно это всё таскать на какой-нибудь флешке, например.Можно ещё вот так делать:var cipherData = CryptoJS.AES.encrypt(word_array, key, { iv: iv }); //где key и iv - 16-ти байтные значения ключа и вектора инициализации.Но здесь уже размер блока я вижу 128 байт. Если длину ключа увеличить до 256 бит - размер блока всё-равно 128 бит.К тому же шифровать можно только строки в base64, и текст.Выше - дешифрование идёт паролем, и это - посоленный файл (Salted_).Нахрена мне это всё вообще? А хочу использовать для шифрования и дешифрования ключевой файл с 256-битным ключём,который можно указать в случае использования openssl параметром -kfileЭто уж точно не пароль, и не всегда его данные могут быть представлены в виде символов,хотя если набрать в консоли "openssl enc -help" видно что первая строка ключевого файла используется - именно как пароль.
>>1090441>Во-первых нельзя глянуть - правый клик не работаетЯсно всё с тобой.Какой тебе нахуй шифрование? Винраром шифруй.
>>1090424>Браузерный жабаскрипт. Берешь и читаешь, даже спрашивать не надо.>>1090441>Там неведомое творится в коде. Во-первых нельзя глянуть - правый клик не работает.>Во-вторых регистрация надо, в третьих дофига скриптов всяких подключено.Что и требовалось доказать. Хлеб свой они никому не отдадут без боя.
>>1090447Если ты такой умный, то почему сам посмотреть не можешь.
>>1090450Да не нужна там никакая регистрация. Файлы с меги и без регистрации скачиваются. И, разумеется, они при этом расшифровываются.
>>1090451Я не могу? У вот тут отлично документированный сорец, даже, блядь, с комментариями.В то время как у тебя правый клик не работает. Ни и о чем тут дальше говорить можно?
>>1090460>у меня вот тут
>>1090447Да блядь, что вы мне эти коды ебучие в браузерах тычите, я не спец нихуя их ещё инклюдить надо правильно.Ещё дали бы мануал описания самого стандарта AES, чтобы самому исходник на его основе писать...Я же хочу всё и сразу - а именно поточное шифрование на летучетырёх-терабайтного бекапа жесткого диска, а не какие-то пиздюрки по 1 МБайт,да ещё и на JS, и ещё и в браузере - ну чтобы вы все вообще охуели.>>1090441Кстати, это:>1. С гитхаба (https://gist.github.com/rootsher/c0377faeb89cae491358) - копируется код, сохраняется в СryptoJS.js>2. Создаётся некий файл index.html рядом, а внутри помещается код:><script src="Crypto.JS"></script>не работает, проверил. У меня немного другой Crypto.JS и он нормально инклюдится.Вот, собственно и js и index.html http://rgho.st/8WvsljSjJ Но тут только строки в base64 енкрипт и декрипт.>Винраром шифруй.>WinRAR uses AES-256 in CTRДай командную строку что-ли, для aes-256-CBC у винрара,да ещё и чтобы можно было ключ и вектор инициализации в виде бит пихнуть туда.Ну и конечно же портабельность у винрара не ахти.>>1090453Говоришь так, как будто с меги мне качается encrypted file, а потом расшифровывается у меня же браузером.>>1090460Этот сорец и те функции что там - вообще ну ни прям ни о чём мне не говорят.Непонятно что туда заходит, буфер или поток, или байты, или массив бля.Вывести же нельзя это и пощупать, так сказать...
>>1090473Вчера всю ночь рыл интернет, наткнулся на очередной CryptoJS-master,там внутри какой-то bower.json, батники, и ни одного index.html.Ещё видел .coffee файлы - и ни один JS в папке lib не инклюдится.Пишет require undefined.
>>1090473>Говоришь так, как будто с меги мне качается encrypted file, а потом расшифровывается у меня же браузером.Ты не поверишь...
>>1090460Не я писал про правый клик. Мой посыл в том, что вместо болтовни взял бы и сделал.
>>1090482Любой каприз за ваши деньги. Пиши чёткое ТЗ - получишь ценник. Или по твоему я должен подорваться, и из доброты душевной тебе что-то пилить начать?
>>1090479>Ты не поверишь...Там Web Cryptography API случайно не надо?Потому что на компе у меня открывает ссылку вот это и шифрует нормально в браузере >>1089833но оно ж не портабельное нифига, раз там надо Web Cryptography API.На ноуте не открывается, и я так подозреваю, что если вытащить с меги скрипты эти с АЭС,они тоже не будут работать на голом JS. Где-нибудь в коде, за может закрасться какое-нибудь: // Check that web crypto is even available if (!window.crypto || !window.crypto.subtle) { alert("Your current browser does not support the Web Cryptography API! This page will not work."); return; }
>>1090486Если уж за деньги, то проще их направить куда-то в сторону "AES 256 Hardware Encryption".Пикрелейтед. Но я ж вам хочу мозги поебать чуток, быдлокодингом.Портабельность такой железяки - самое то, но эта железяка портабельная до поры до времени - т. е.пока она не накроется медным тазом.А вот исходник можно на торренты залить и сделать всеобщим достоянием, если не стандартом.
>>1090498Лучше, конечно. В качестве бюджетного решния можно даже взять обычную флешку, и засунуть на неё gpg с парой батников.Но и у нас найдутся занятия получше, чем пилить законченные решения для какого-то мимохуя закатившегося поебать нам мозг.Здесь тебе могут подсказать в какую сторону самому копать(например ткнуть в сорец меги). Но никто ничего для тебя делать не будет, уж точно не за сотни нихуя.
>>1090509>взять обычную флешку, и засунуть на неё gpg с парой батниковИ обычный openssl тоже бы сошёл.Ладно, вали.Тащем-та я хотел запхнуть aes-256 в этот brainwallet >>1087382Ну, чтоб шифровать файлы всякие sha-256 хешем от приватного ключа - в качестве ключа шифрования,и чтоб можно было, введя пароль - скачать ключевой файл с 32-мя байтами внутри,имея в дальнейшем возможность использовать его для шифрования-дешифрования файлов,с помощью openssl, указав его параметром -kfile А то ну что ж это такое - криптовалюты есть, а криптования инфы нет, только цифровая подпись по ECDSA.Я где-то ещё слышал есть ECC, но там инфу точками на эллиптической кривой представляют,а они в два раза больше исходного сообщения, так как имеют две коррдинаты.
Аноны, поясните как из функции вернуть промис, если она сама вызывает функцию, которая возвращает промис? Можно пример?
>>1090520await
>>1090298Сейчас бы на дваче с анонами попиздеть. Себя посамовнушать. Классика.>>1090295Два месяца. Чисто основы PHP/HTML/CSS/JS. Без препроцессоров, фреймворков, серверов, гитов, ES6 и прочей хуйни которая пришла уже на работе. Из бекграунда была только дискретка в вузе лабы на паскале и сданые кандидатские минимумы по английскому.
>>1090173>не мог даже понять как циклы работают, ни как мир устроенОдинаково.
>>1089825name = Array.isArray(array) && 5 in array ? array[5] : void null
>>1090486Не умеешь ты себя продавать. Твое поведение отталкивает. Нанимать тебя никто не будет.
>>1090654>void nullТы уже определись.
>>1090667С чем?
Минутка вкусовщины.Для простоты понимания принято располагать функции по убыванию абстракции. Но как быть, если такие функции ветвятся?const F = () => A() + B()const A = () => a1() + a2()const a1 = () => aa1() + aa2()const aa1() = () => ()const aa2() = () => ()const a2 = () => ()const B = () => b1() + b2()const b1 = () => ()const b2 = () => ()Или лучше группировать по уровням абстракции? F, A, B, a1, a2, b1, b2, aa1, aa2Как понятней по мнению анона?Очевидно, что если каждую ветку вынести в какой-нибудь модуль, то проблемы не будет.
>>1090688Обосрался с const, там TDZ будет. Представьте как function declaration.
ALARM ПУЗЫРЬ ЛОПНУЛ ALARMЗарплаты программистам резко подешевели. Выкатывайтесь быстрее, иначе хуй куда устроитесь, ща будет наплыв бывших программистов на всякие стройки и заводы.АКЦИИ КРУПНЕЙШИХ IT КОМПАНИЙ СТРЕМИТЕЛЬНО ПАДАЮТ, НЕ ВЕРИТЕ ПОСМОТРИТЕ САМИ
>>1090703В очередной раз набигает школотун, попутавший причину со следствием.При чём здесь акции в Америке и занятость в роиссе?
>>1090703Ахтунг алярма, ага. Дави конкурентов в зародыше.
УЧАСТВУЕШЬ В КОНТЕСТЕ НА HACKERRANK@5 часов решал задачу уровня HARD, вьебал там рекурсиюПервый кейс выполняется! Замечательно, отправляешь свой код@Abort Called, FAQ говорит что у тебя обучение по ресурсам.@...Не больно то и хотелось.?Пидоры*
Органичение по ресурсам. Да что же это сука за день такой
>>1090732Что это такое и какое имеет отношение к JS?
>>1090753Точно. Ошибся тредом, аноним.Простите меня.
>>1090660Так и было задумано. Мне, откровенно говоря, и самому не сильно хочется с этим ебаться.
>>1090805Не надо нифига уже. Я сам нашёл вот это:https://tutorialzine.com/2013/11/javascript-file-encrypterСкачал, работает. Но там кнопок дофига и интерфейс меняется, надо делать пару телодвижений.Работает без Web Cryptography API, правда там используется HTML5 FileReader APIЗашифрованный файл содержит в себе base64 начинается с "U2FsdGVkX1" и это "Salted__"в обычном тексте, так что думаю не проблема будет записать в него исходный код без base64.Ну и расшифровать его с помощью openssl тоже думаю можно будет,ведь файл шифруется паролем. К тому же, поскольку 32 байта в первой строке ключевого файла,openssl использует как пароль, я думаю его можно просто вот так взять, спарсить и указать в виде пароля.Но дело в том, что код зашифрованных файлов отличается, поскольку они salted,криптор его солит как-бы, каждый раз с новой солью, а хотелось бы указать ключ и вектор в виде байт,и сформировать его из ключа, например ключ - сами байты, вектор инициализации - хеш их.В общем, буду перепиливать, если конечно - не заебёт, и впадло не станет.
>>1090816Вижу там тоже лимит на 1 мегабайт, и если попытаться вгрузить файл побольше - вылазит окно.Там прямо так и пишется, что браузер может зависнуть, потому что шифрование идёт прямо в браузере.С использованием FileReader API в виде объекта: var reader = new FileReader();Там в статье, написано вот что:The way around this would be to use the File System API and to write the actual binary data there, but it is supported only in Chrome for now.Но у меня и в мазиле это работает.В общем, зашифровал паролем passwordфайл sercret.txt с текстом "secret секрет"- получил на выходе файл secret.txt.encrypted с текстомU2FsdGVkX189UYsc7z4Ps2FPDSiOGW30MmD4afrLq9CI52QeQMbejwR/hh6PSFye4vxyLu2vsG1hyZy43OOvLQLxVMs0BZuNu5ka8mFJuOA=Решил избавится от base64...Прописал в файле script.js вместо этого:a.attr('href', 'data:application/octet-stream,' + encrypted);вот это:a.attr('href', 'data:application/octet-stream;base64,' + encrypted);После повторного шифрования того же sercret.txtполучил другой secret.txt.encrypted с тектом "Salted__ҐL-хwжЇ®дтnћ$U>Пr#1tЭnІїТhнИU‹f"Затем решил декриптнуть его но уже с помощью openssl:>openssl enc -d -aes-256-cbc -in secret.txt.encrypted > secret.txt -k passwordВ итоге, получил на выходе файл secret.txtс текстом: "data:text/plain;base64,c2VjcmV0INGB0LXQutGA0LXRgg=="Скопировал из него вот эту вот хуйню: "c2VjcmV0INGB0LXQutGA0LXRgg=="и понёс её сюда: http://www.motobit.com/util/base64-decoder-encoder.aspне забыв ткнуть radio там - в decode и вижу "secret Ñекрет"...Этот криптор два раза в base кодирует бинарную инфу, поэтоу и избыточность тут нехилая.Такие дела...
>>1090893>Скопировал из него вот эту вот хуйню: "c2VjcmV0INGB0LXQutGA0LXRgg==">и понёс её сюда: http://www.motobit.com/util/base64-decoder-encoder.asp>не забыв ткнуть radio там - в decode и вижу "secret Ñекрет"...Да, там секрет - вот тут видно кириллицу: http://secundomer.ru/index.php?r=base64/encode
Что же с нами будет, когда webassembly подъедет
>>1090994будем учить Cна самом деле ничего, топовые конторы сделают на нем какую нибудь йобу, а макаки как писали на жквери так и будут дальше писать
>>1091032вангую на аде, так как она ок для интернета вещей сегодня читал про этот язык в западных новостях
>>1090994всё будет норм, расслабься. у жс будет API для работы с wasm http://webassembly.org/docs/js/
>>1090994Будем использовать сверхпроизводительные Rust модули
>>1090899Короче, просто скачал этот криптор, запхнул в папку с брайнваллетом, и подключил его фреймом.Смотрите что получилось: http://rgho.st/7vlks4Rgh
>>1090994Операции по работе с DOMом все равно через JS врапперы будут осуществляться.
>>1090994С++ стоило бы знать уже сегодня, для понимания работы движков, модулей Ноды, ВебГЛ, ВебВР и прочего. И сколько процентов знают-могут?Байтоёб лает, караван ПХП-ЖиКвери идёт.
Вот вроде бы довольно простая херня, но въехать не могу. Анон, что можно почитать на тему...хуй знает, как это назвать, жизненного цикла страницы? У меня на странице есть форма, мне нужно перехватить её событие submit. Вопрос: как это сделать? Нет, я понимаю, что form.addEventListener("submit", function () {}); но куда мне это писать? Просто в JS или это нужно обернуть в DOMContentLoaded?Вот, например, один и тот же код.==========<div id="test">Hello</div><script> console.log(document.getElementById("test"));</script>==========и==========<script> console.log(document.getElementById("test"));</script><div id="test">Hello</div>==========Первый работает нормально, второй отдаёт null. В принципе это логично, потому что во втором случае скрипт срабатывает до "добавления в DOM узла #test" (не уверен, что правильно формулирую). Но при этом если второй обернуть в DOMContentLoaded, то всё будет ок, что, в принципе, тоже довольно логично.Так что делать в этой ситуации? Если я обращаюсь к какому-либо элементу на странице, то мне обязательно нужно оборачивать это в DOMContentLoaded чтобы случайно не обратиться к тому узлу, которого в DOM еще нет? А с хера ли его не будет, если с другой стороны, зачем мне подключать скрипт НЕ в конце страницы, а в начале? Или всё равно стоит предусмотреть? Или не стоит? А еще какие-то async есть, с ними, по идее, без оборачивания в DOMContentLoaded всё будет совсем плохо?Короче, билять, если я обращаюсь к элементу вёрстки, который в вёрстке, а не динамически скриптами генерируется, мне оборачивать обращение в DOMContentLoaded или нет?
>>1091121Если ты делаешь какой-то утилитарный скрипт, которым будут пользоваться ширнармассы, то тебе стоит предусмотреть вообще всё. Даже точку с запятой в начале файла. Вряд ли это твой случай.Если скрипт специфичный для твоей странички, тогда не трать времени на такие заморочки. Подключай всё в конце Боди.Скоро это кончится и мы будем префетчить асинхронные модули по ХТТП2, вот тогда и заморочишься.
Отцы, подскажите новичку, как заставить ангуляр (который 1.x.x) отображать на странице шаблоны по велению сервера на ноде?(Да, ng способен и сам заниматься роутингом и отображать через ng-view шаблоны, но я хочу именно через ноду с его экспрессом.)
>>1091148>по велению сервера на ноде?AJAX, не?
перекат >>1091285 (OP)перекат >>1091285 (OP)перекат >>1091285 (OP)перекат >>1091285 (OP)перекат >>1091285 (OP)