Сохранен 515
https://2ch.hk/pr/res/1082836.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

JavaScript #90

 Аноним 27/10/17 Птн 18:25:47 #1 №1082836 
js.logo.14887144972250.png
js.front-end.15088732889950.png
js.javascript vs pascal.15073366110300.png
Ссылка на прошлый тред: >>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/ для серверного кода.
Что я делаю не так? Аноним 27/10/17 Птн 20:05:00 #2 №1082890 
15090370600400.png
15090370600401.png
15090370600402.png
Посоны, а поясните по хардкору, почему эта функция через раз срабатывает?

В html подключаю draw3.js и в body-script вызываю функцию init(). В draw3.js только эта функция. Сам файл test.png - белый квадрат хуевича. Консоль лог выдает то 0, 0, 0, 0 то 255, 255, 255, 255. Вот F5 жму, рефрешу страничку и то нолики, то 255. Шозанахуй?

Скрипт запускаю на домене.
Аноним 27/10/17 Птн 20:27:32 #3 №1082902 
Почему можно сделать всего один export default в модуле?
Аноним 27/10/17 Птн 20:36:15 #4 №1082905 
>>1082902
Сценарячую! Почему мы даём какому-то экспорту привилегии? Надо, чтоб было несколько дефолтов и рандомом решалось, какой импортировать. Равные возможности, яй!
Аноним 27/10/17 Птн 20:36:20 #5 №1082906 
Есть проблема.

Есть map, внутри него еще map. Между мапами нужно использовать функцию OnClick. В результате происходит срабатываний столько сколько позиций в первом мапе. Как сделать?

И еще, как Акардеону внутри Акардеона задать функцию при открытии?
Аноним 27/10/17 Птн 21:04:39 #6 №1082921 
>>1082890
В data попадает Uint8ClampedArray
https://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.
Аноним 27/10/17 Птн 21:39:04 #7 №1082935 
Бля, делаю запрос и страница перезагружается, как избежать этого? Но получить при этом ответ.
Аноним 27/10/17 Птн 21:41:05 #8 №1082937 
>>1082935
А где же код?
Аноним 27/10/17 Птн 21:50:39 #9 №1082945 
1324070937bitva-roza-12.jpg
>>1082935
Телепатическими силами заставил страницу не перезагружаться. Ты получишь ответ.
Аноним 27/10/17 Птн 21:51:48 #10 №1082946 
Screenshot59.png
>>1082937
>>1082945

Не тральте. Как кстати рендер вставить из функции search_by_author в тело html?
Аноним 27/10/17 Птн 22:34:54 #11 №1082963 
2017-10-27-223243297x399scrot.png
>>1082836 (OP)
Проиграл с жсеров. Мало того, что на говне пишут, так её и мочу какую-то изучают.
Аноним 27/10/17 Птн 22:42:36 #12 №1082968 
Антоны, что в этой хуйне не так? на деле в хтмл все ломается
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>
Будто там какая то ошибка
Аноним 27/10/17 Птн 23:15:54 #13 №1082984 
Как правильно биндить функции чтобы не ререндить все элеметы каждый раз?
Аноним 27/10/17 Птн 23:52:01 #14 №1083014 
Написал тут змейку, только она не растет. Я молодец?
Аноним 27/10/17 Птн 23:52:21 #15 №1083016 
>>1083014
молодец.показывай
Аноним 27/10/17 Птн 23:53:12 #16 №1083018 
>>1083016
молодец.показывай()
Аноним 27/10/17 Птн 23:59:55 #17 №1083027 
Сука, объясните за эвенты. Как мне триггерить эвенты не на все элементы полученные через map, а на только те на которые я кликаю бля. Как мне забиндить блядский OnClick
sageАноним 28/10/17 Суб 00:02:01 #18 №1083030 
>>1083027
>за
Аноним 28/10/17 Суб 00:03:11 #19 №1083031 
>>1083018
Я стесьняюся
Аноним 28/10/17 Суб 00:03:13 #20 №1083032 
>>1083030

через this внутри хендлера?
Аноним 28/10/17 Суб 00:04:00 #21 №1083036 
>>1083027
Как ты через map биндишь евенты? Код показывай
Аноним 28/10/17 Суб 00:04:24 #22 №1083037 
>>1083031
нахуй ты нужен тогда здесь вниманиеблядь голимая? мут репорт
Аноним 28/10/17 Суб 00:12:29 #23 №1083041 
Screenshot60.png
>>1083032
>через this внутри хендлера?
Да спасибо, а как мне отрендерить пропущенную сквозь функцию инфу по нажатию кнопки?

>>1083036
>Как ты через map биндишь евенты? Код показывай

Ну я уже впринципе починил. Там залупа выходила, что когда я рендерю свои 5 внутренние складки он триггерят каждый раз блядский ивент.
Аноним 28/10/17 Суб 00:56:04 #24 №1083059 
Бля, это нормально что после нажатия кнопки триггерится еще эвенты, которые идут в render?
Аноним 28/10/17 Суб 00:56:22 #25 №1083060 
Screenshot61.png
>>1083059
пик потерял.
Аноним 28/10/17 Суб 01:25:59 #26 №1083073 
А вообще реально зделоть, чтоб голова змеи перемещалась по одному сетинтервалу, а тело по другому?
Аноним 28/10/17 Суб 02:47:33 #27 №1083089 
>>1083073
Ебать ты заморочился. Делаешь обычный массив с телом змеи, каждый шаг делаешь аншифт и поп, если сожрал ягодку поп не делаешь.
Аноним 28/10/17 Суб 14:33:44 #28 №1083205 
я старый динозавр вылез и пещеры, смотрю - react. ну с redux все понятно, все очень круто - тут вопросов нет. и можно использовать отдельно от реакта.
зачем тогда он нужен, в чем прикол писать js и html одном файле в 2к17?
Аноним 28/10/17 Суб 15:50:22 #29 №1083236 
debug.png
ПЕРВАЯ СТРОЧКА КОДА
@
let proposals_before = Object.keys(proposals).length;
@
ВТОРАЯ СТРОЧКА КОДА
@
if(proposals_before == 0)
@
ПИКРИЛЕЙТЕД

Шо это за хуета?
Аноним 28/10/17 Суб 16:34:56 #30 №1083255 
>>1083205
Все наоборот, реакт охуенная штука, а редух мутная. Помню я в 2005-м делал один огромный объект-помойку и писал туда всю хуйню, а потом из него же доставал где кому что надо, суть та же.
Аноним 28/10/17 Суб 17:38:56 #31 №1083281 
Как не охуеть от дикого обилия разных фреймворков\библиотек и прочего говна, которое вроде все одно и тоже делает
Аноним 28/10/17 Суб 17:40:11 #32 №1083282 
>>1083281
Просто берёшь и не ахуеваешь. И пишешь на VanillaJS.
Аноним 28/10/17 Суб 17:40:53 #33 №1083284 
>>1083205
Суть в том, что ты не пишешь HTML, это чистый JS. Просто объектная презентация вью в более интуитивной HTML форме
Аноним 28/10/17 Суб 17:41:40 #34 №1083286 
>>1083282
И чо, это employable нынче? Всем же нужны мастера того или иного фреймворка
Аноним 28/10/17 Суб 17:46:18 #35 №1083290 
>>1083286
Значит пишешь в контору, где хочешь работать, и спрашиваешь, какие обезьянки у них в почёте. Если грят, что React-обезьянки - значит, становишься React-обезьянкой. Не надо учить всё подряд просто для того, чтобы пройти любое собеседование на изичах. Учи что-то конкретное. То, что нравится. А если контора хочет, чтобы ты знал и Vue,
и Lodash, и React и Angular и умел со всем этим работать -
шли нахуй, ибо ничего хорошего ты там не напишешь. У нормальных контор должен быть 1 любимый фреймворк на бэкенде и 2, максимум 3 - на фронте. И то, под каждый фреймворк зачастую нанимают по одному специалисту,
а не одного на все 3. Исключение - желание сэкономить на тебе бабло.
Но начать можешь с Реакта. Он сейчас наиболее востребован.
Аноним 28/10/17 Суб 17:53:45 #36 №1083295 
>>1083290
Спасибо, да, звучит разумно. мне elm нра
Аноним 28/10/17 Суб 17:55:42 #37 №1083296 
15073915625271.webm
>>1082836 (OP)
Читаю вакансии по ноде и вижу такое вот требование:
— Mongo DB (глубже, чем использование mongoose)

Что имеется ввиду?
Аноним 28/10/17 Суб 19:15:13 #38 №1083337 
>>1083296
Очевидно, что требуются знания, позволяющие самостоятельно написать коннектор к БД, а не работа через имеющуюся обёртку.
Аноним 28/10/17 Суб 20:01:22 #39 №1083361 
Анон, а ты irc каналы какие-нибудь по жсу луркаешь?
Аноним 28/10/17 Суб 20:08:54 #40 №1083364 
>>1083361
Так есть же гиттер, почему именно ирка?
Аноним 28/10/17 Суб 21:40:29 #41 №1083406 
J0fyArcByDY.jpg
Подскажите плз. В ньюфаг треде не отвечают
Аноним 28/10/17 Суб 22:07:36 #42 №1083425 
>>1083406
Конечно не отвечают, ведь никакого вопроса не задано.
Аноним 28/10/17 Суб 22:14:02 #43 №1083429 
>>1083425
что получается на выходе? абсолютно не разбираюсь в js
Аноним 28/10/17 Суб 22:15:18 #44 №1083430 
>>1083406
>>1083429
Лол, блять. Ты совсем тупой что ли? Написать "JavaScript Sandbox" и переписать код с бумажки не?
Аноним 28/10/17 Суб 22:18:17 #45 №1083431 
>>1083430
ну почему сразу тупой? я же сказал,что я не понимаю нечего в js я даже про JavaScript Sandbox ничего не знал. Написал код в консоли браузера. Получилось. у тебя плохой день был или что? почему вы все тут такие злые
Аноним 28/10/17 Суб 22:20:18 #46 №1083432 
>>1083431
>я не понимаю нечего в js

Зачем ты тогда решаешь задания на js?
Аноним 28/10/17 Суб 22:20:42 #47 №1083433 
>>1083431
Потому, что если ты учишься программированию, то должен знать, что для любого языка есть "песочница", в которой быстро можно что-то накидать. Чтобы попробовать C#, не обязательно ставить Visual Studio. Мы не злые
Аноним 28/10/17 Суб 22:24:01 #48 №1083434 
>>1083432
Так получилось,что я обходил всегда js стороной и изучал другие языки. Увидел,что на одном из it курсов,чтобы на него приняли нужно решить такую задачку. Мне стало интересно и я решил разобраться,т.к я понял,что идет работа с массивами,но полностью понять как работает код мне не удалось из-за незнания js опять же.Просто решил узнать
Аноним 28/10/17 Суб 22:25:34 #49 №1083436 
>>1083433
вот теперь благодаря вам я знаю,за что очень благодарен
Аноним 28/10/17 Суб 22:26:02 #50 №1083437 
Screenshot62.png
Screenshot63.png
Screenshot64.png
>>1083433
Братишка, раз уж ты знаток. Подсоби и мне. Вроде всё правильно делаю, но на страничке не рендерится список. Что делаю не так?
Аноним 28/10/17 Суб 22:26:28 #51 №1083439 
>>1083434
Зачем записываться на курсы, где нужен язык, которого ты не знаешь?
Аноним 28/10/17 Суб 22:29:05 #52 №1083443 
>>1083439
я не хотел записываться, я просто решил узнать ответ. Понимаю частично,что в коде делается,а полностью понять не смог. Стало интересно. И если честно,то двач я сразу отодвинул на последний план,т.к. уже знал,что меня там могут встретить с такими вопросами слишком великодушно.
Аноним 28/10/17 Суб 22:31:59 #53 №1083444 
>>1083443

пиздуй на завод мудилка, тебе уже анон подсказал решение тут >>1083430 или это такой толстый тралинг у тебя?
Аноним 28/10/17 Суб 22:34:12 #54 №1083446 
>>1083443
Тебя "великодушно" встретят везде, где бы ты не задал вопрос на подобие "вот я листик сфоткал, сделайте за меня". Задавай конкретные вопросы - что непонятно, чего ты ждёшь от кода, что предполагает твой алгоритм, а что получается вместо, etc.
Аноним 28/10/17 Суб 22:35:25 #55 №1083448 
>>1083444
вот о чем я и говорил. я тебе на столько интерес,что ты за мной по тредам скачешь?
Аноним 28/10/17 Суб 22:38:11 #56 №1083449 
>>1083437
Ты заебал уже со своим списком авторов.
Аноним 28/10/17 Суб 22:41:07 #57 №1083452 
>>1083448

лол угу. в общем, в новой вкладке нажми в хроме ф12, перейди в "консоль", перепиши туда свой код и посмотри как он работает, и потом снова спроси, если что-то не понятно
Аноним 28/10/17 Суб 22:42:35 #58 №1083453 
>>1083449
Так поясни хули не рендерится и я съебу.
Аноним 28/10/17 Суб 23:07:37 #59 №1083461 
>>1083453
Въезжать в логику твоего приложения по рандомным кускам кода это такое себе удовольствие. Втыкай консол.лог на каждом шагу и смотри на каком шаге приходит не то что надо. Что пришло от сервера, что ты записал в стейт, что попало в компонент, и так далее. Если ты не понимаешь о чем речь зачем взялся за фреймворк не понимая основ.
Аноним 28/10/17 Суб 23:13:21 #60 №1083466 
>>1083461
Хорошо. Мне нужно вывести элемент по нажатию кнопки, но нихуя не происходит. Всё работает всё мапится. Нет только рендера. Не ебу почему.
Аноним 28/10/17 Суб 23:14:34 #61 №1083469 
>>1083466
как ты блядь читать и писать научился с такими мозгами вот что действительно загадка
Аноним 28/10/17 Суб 23:20:04 #62 №1083475 
>>1083469
Мы на личности переходим и мне надо съязвить что ты такой выебистый только в школе пока на тебя не поссат альфачи или мы всё таки останемся цивилизованными людьми и вернёмся к обсуждению проблемы при том что весь код, который нужен чтобы понять что происходит я предоставил?

Запрашиваешь, Получаешь ответ, мапишь, вытаскиваешь что тебе нужно, рендеришь. Привязываешь рендер к кнопке. Последняя часть не работает. Я спрашиваю хули не работает. Что сложного блять посмотреть и ответить если ты ебаный эксперт местный.
Аноним 28/10/17 Суб 23:23:57 #63 №1083479 
>>1083475
>весь код, который нужен чтобы понять что происходит я предоставил
раз ты скозал
Аноним 28/10/17 Суб 23:26:21 #64 №1083483 
>>1083479
Что конкретно ты не понимаешь и тебе нужно узнать? Есть функция, я хочу чтобы она выполнялась по клику кнопки и выводила мне список. Она не выводит список.
Аноним 28/10/17 Суб 23:37:05 #65 №1083493 
>>1083483
>Она не выводит список.
Она хотя бы вызывается? handleClick этот, вызывается? search_by_author вызывается? Я не ебу, как там чё в реакте, но кажется мне, что функция с первого пика ретёрнит titleList вникуда (нахуй он на отступ меньше остального? Я сначала вообще подумал, что вне коллбэка/промиса), а нажатие по кнопке пытается отрендерить то, что возвращает search_by_author, то есть нихуя.
Аноним 28/10/17 Суб 23:47:10 #66 №1083500 
Screenshot65.png
>>1083493
Да. Всё вызывается. Console.log показывает что repsonse пришел и всё внутри есть. Нет только рендера.

>что функция с первого пика ретёрнит titleList вникуда

Вот я тоже не ебу. Может быть я как-то не правильно в jsx вызвал эту функцию.

>(нахуй он на отступ меньше остального? Я сначала вообще подумал, что вне коллбэка/промиса)

Как я понял отступы не особо там влияют. Что без return что с return нихуя не рендерит.

Если я убираю return titleList. Он мне пишет что я его нигде не использую. Собственно в моём понимании я должен вернуть titleList и отрендерить его в html.

То что функция работает показывает Author, который возвращается не пустым.

Аноним 29/10/17 Вск 00:13:50 #67 №1083509 
>>1083500
>Вот я тоже не ебу.
Ну так иди доки с примерами почитай, наверняка же это ультрапопулярное действие.
В стейт кто будет этот titleList пихать, а?

https://jsfiddle.net/zbhn1w6u/2/ Вот, блин, две секунды в бинге (в бинге, мать твою, даже не в гугле!) + абсолютное незнание react'а — готово.

>Как я понял отступы не особо там влияют.
Не влияют, как и эти уебанские скобочки у return'а, только зачем?
Аноним 29/10/17 Вск 00:24:38 #68 №1083512 
Screenshot66.png
>>1083509
>https://jsfiddle.net/zbhn1w6u/2/

Ебать это конечно не читабельная запись кода, но да дело действительно в setState.

Теперь render() триггерится два раза, возникает вопрос это похуй или надо как-то чинить?
Аноним 29/10/17 Вск 00:25:14 #69 №1083513 
>>1083509
>>1083512
Забыл, Спасибо.
Аноним 29/10/17 Вск 00:31:18 #70 №1083515 
Screenshot67.png
Да, ну ебаный в рот.
Аноним 29/10/17 Вск 00:43:20 #71 №1083520 
>>1083512
>Теперь render() триггерится два раза
Ты не очень умный, да? render вызывается при каждом изменении state'а. Прочитай хоть это. что ли — https://reactjs.org/docs/hello-world.html

>>1083515
Шёл бы ты на ванильных js и html'е писать.
Аноним 29/10/17 Вск 00:51:39 #72 №1083523 
>>1083512
Сколько раз рендер вызывается, тебя по идее ебать не должно
Аноним 29/10/17 Вск 01:40:47 #73 №1083536 
>>1083523
Должно если он делает каждый раз запрос.
Аноним 29/10/17 Вск 03:29:47 #74 №1083555 
Перекатился со старого треда, а тут все этот отсталый список авторов построить не может.
Типикал жс пограмист.
Аноним 29/10/17 Вск 08:57:00 #75 №1083621 
>>1083555
Проблема не во вкатышах, а в ёбаных вакансиях, где фреймворк-нейм и зарплатка рядом стоят. А вкатыш типа поступает рационально, идёт по короткому пути.
Тут был программист на Реакте, который массив не мог отсортировать.
Аноним 29/10/17 Вск 09:01:49 #76 №1083625 
>>1083621
блядь это совсем надо быть ебанутым, чтобы в нашествии полоумных шизиков с дебильными вопросами в тред объяснять вакансиями. иди на хуй просто чмо ебаное и друзей своих дебилов уноси
Аноним 29/10/17 Вск 15:41:03 #77 №1083755 
>>1083536

У тебя не может быть запросов в рендере. Рендер — это просто проекция существующего стейта на вью. Разгребай лапшу. Рендер должен быть чистой предсказуемой функцией.
Аноним 29/10/17 Вск 15:51:54 #78 №1083761 
ТЛТ аноны, был ли кто из вас вчера на WebDev http://wdmeetup.ru/ конфочке? Были ли интересные доклады?
Аноним 29/10/17 Вск 16:54:02 #79 №1083791 
Есть сотня onclick, которые я вешаю из цикла.
Вот пример https://jsfiddle.net/qpamhts9/

Что лучше, хранить ссылку на объект DOM в замыкании, либо хранить id объекта DOM в замыкании, и потом искать его по document.getElementById?
Предполагаю, в первом случае я ем память, во втором - процессор.
Аноним 29/10/17 Вск 16:55:25 #80 №1083792 
image.png
image.png
image.png
Анон, смотри какую фигню наговнокодил. Это расширение для браузера, которое "шифрует" сообщения и пока работает только в TextArea на бордах (лень было проверять на других ресурсах). Еще он работает на Хромопере, лень было проверять на других хромиумах. Спасибо за внимание.
Аноним 29/10/17 Вск 17:02:36 #81 №1083793 
>>1083792
Поздравляю, ты изобрел куклоскрипт.
Это то, что он делал в RM-тредах много-много лет назад.
Аноним 29/10/17 Вск 17:07:31 #82 №1083795 
>>1083793
Не знал об этом и сейчас не вижу такой функции. Ткни пальцем пожалуйста. Обожаю допиливать куклоскрипт
Аноним 29/10/17 Вск 17:14:24 #83 №1083798 
>>1083795
Это была приватная фича только для завсегдатаев RM тредов.
Аноним 29/10/17 Вск 17:24:48 #84 №1083801 
image.png
image.png
>>1082836 (OP)
Надеюсь сдесь можно задавать вопросы новичкам
Почему второе условие всегда не работает вне зависимости от выбора
Аноним 29/10/17 Вск 17:25:26 #85 №1083802 
>>1083798
А в куклоскрипте не натыкался на код этой функции?
Аноним 29/10/17 Вск 17:43:14 #86 №1083806 
>>1083791
>>1083791
>сотня onclick
читни за делегацию событий, дальше не читал
Аноним 29/10/17 Вск 17:48:03 #87 №1083808 
>>1083801
JSFIDDLE
S
F
I
D
D
L
E
Аноним 29/10/17 Вск 17:56:25 #88 №1083813 
>>1083808
https://jsfiddle.net/m1tpt5da/1/
Аноним 29/10/17 Вск 18:41:41 #89 №1083849 
>>1083806
Знаю этот паттерн и использую. Но вот так написан конкретно этот кусок, и у меня нет времени его переписать, только выбрать одно из двух.
Аноним 29/10/17 Вск 18:46:47 #90 №1083854 
>>1083813
Это типа шутка такая, да? Если не шутка, перепечатай код ещё раз, без копипаста, а потом убей себя за такой стиль письма.
Аноним 29/10/17 Вск 18:52:41 #91 №1083863 
>>1083802
Тебе несказанно повезло, я нашел для тебя приватную версию куклоскрипта семилетней давности.
doSecure(), doUnsecure(). Разбирайся.
http://rgho.st/6mMcSgPBt
Аноним 29/10/17 Вск 19:04:33 #92 №1083874 
>>1083854
Просто скажи что не так, потому что я не понимаю где я написал не то
Или хотя бы что гуглить
Аноним 29/10/17 Вск 19:24:03 #93 №1083892 
Подскажите, можно ли скрипт(Js) обернуть тегами (Html)?
Аноним 29/10/17 Вск 19:34:14 #94 №1083901 
1338489190643.jpg
>>1083863
Спасибо, нефти тебе.
Аноним 29/10/17 Вск 19:43:48 #95 №1083906 
Почему JS- лучший яп на свете?
Аноним 29/10/17 Вск 20:49:30 #96 №1083941 
>>1083874
Сказал же, перепечатай заново строку "if(frm1.vib[0].cheсked){".

А затем можно сравнить
"cheсked".charCodeAt(0) и
"cheсked".charCodeAt(3)
Оба по идее должны указыват на букву "c", однако код у них, почему-то, разный. Догадаешься, почему?
Аноним 30/10/17 Пнд 01:24:48 #97 №1084058 
что может нормально форматировать JSX?
есть альтернативы create react app?
go to definition по реактовским компонентам возможен в какой-нибудь ide?
Аноним 30/10/17 Пнд 05:35:29 #98 №1084118 
шта.gif
>>1083906
>JS
>яп
Аноним 30/10/17 Пнд 09:34:02 #99 №1084144 
>>1083892
Что именно тебе нужно сделать?
Аноним 30/10/17 Пнд 14:04:06 #100 №1084237 
15035117674100.webm
>>1082836 (OP)
Двачик, нашёл вакансию, но в ней есть такое требование Web sockets Circular JS. В гуле вообще не нашёл никакого Circular, может быть кто-то знает что это?
Аноним 30/10/17 Пнд 14:04:46 #101 №1084238 
>>1084237
*Circular
Аноним 30/10/17 Пнд 14:10:48 #102 №1084240 
>>1084237
>>1084238
Может, более опытный анон пояснит, нахуй это нужно, но в общем виде циркулярка - это короткозамкнутый объект, когда проперти объекта ссылается на этот же объект.

Пример:
var o = {}
o.p = o

Хоп-хей, ла-ла-лей, теперча в p у нас циркулярочка.
Аноним 30/10/17 Пнд 14:26:59 #103 №1084246 
>>1084240
Хмммм, ну очень странное требование, как для вакансии...
Аноним 30/10/17 Пнд 14:30:28 #104 №1084249 
>>1084246
Погугли socketio circular, мож что полезного извлечешь, у них объект насквозь в циркулярке.
ХЗ что конкретно твой потенциальный работодатель имел в виду.
Аноним 30/10/17 Пнд 14:56:09 #105 №1084258 
Как сделать простую проверку чтобы если был undefined то присваивался пустой список? А то получаю что при поиске нету внутренних мета данных и всё идёт попизде. Нужно чтобы если кто-то прокатился еблом по клаве вместо ошибки нихуя не вывело.
Аноним 30/10/17 Пнд 14:57:51 #106 №1084259 
>>1084258
if (data == undefined) {
var list = '';
}
Аноним 30/10/17 Пнд 15:03:43 #107 №1084260 
>>1084259
Это смешно, спасибо хоть что настроение поднял.

Есть например:

{
"id": 1,
"title": "Test",
"content": {
"body": "sdfsdf"
"image": "http://example.com"
}
}

Но при поиске может найти хуйню где нет body, а я вытаскиваю именно его. Очевидно что получаю undefine. Как мне просто проигнорировать, если в нём нет body?
Аноним 30/10/17 Пнд 15:04:28 #108 №1084262 
у меня завтра техническое собеседование по скайпу. на должность мидла(2к$). до этого уже давали тестовое, сделал на "крепкую пятерку" по их словам. и был разговор 20 минут с эйчаром. чувствую себя дерьмово. какой же ето стресс пздц.
Аноним 30/10/17 Пнд 15:05:05 #109 №1084263 
>>1084260
if(data.body){
var list =''
}
Аноним 30/10/17 Пнд 15:11:46 #110 №1084267 
>>1084262
Поделишься заданием? Конечно нет. Ну хотя бы расскажи в двух словах, что нужно было выполнить?
Аноним 30/10/17 Пнд 15:18:03 #111 №1084268 
>>1084267
поделюсь офк
https://jsfiddle.net/45tjrvnm
1. надо сделать шобы переменная status работала
2. реализовать таймер который в конце будет вызывать колбек onFinish и передавать туда {$endTime:new Date()}
3. сделать так шобы это работало без тормозов при большом кол-ве таймеров на странице

есть еще по второму ангулару на сеньера из другой конторы
его я тоже сделал и прошел. кидать?
Аноним 30/10/17 Пнд 15:19:28 #112 №1084269 
>>1084268
шобы вы понимали это такие задание которые вам в начале дают и после их выполнения еще интервью с hr + техническое интервью со спецом
Аноним 30/10/17 Пнд 16:27:47 #113 №1084326 
>>1084268
> есть еще по второму ангулару на сеньера из другой конторы
> его я тоже сделал и прошел. кидать?
Конечно, няша. Спасибо.
Аноним 30/10/17 Пнд 16:31:05 #114 №1084329 
task.png
>>1084326
пустяки. это кем надо быть чтобы зажать показать такую вещь хз
пикрелейтед делал на ангулар 2
Аноним 30/10/17 Пнд 16:39:07 #115 №1084335 
>>1084262

Эйчар, небось, 25-летняя ТП с гуманитарным псевдообразованием?

Интересно, с каким уровнем квалификации можно писать в резюме "эйчары идут нахуй" таким образом, чтобы данная запись не повлияла на возможность трудоустройства?
Аноним 30/10/17 Пнд 17:02:23 #116 №1084350 
>>1084258

мб

let list = data.list ? data.list : [];
Аноним 30/10/17 Пнд 17:05:06 #117 №1084354 
>>1084350

или ещё так короче:

let list = data.list || [];
Аноним 30/10/17 Пнд 17:23:50 #118 №1084363 
>>1084354
>>1084350

там немного не так.

там response, в response -> message, в message items, а в items body, где body это список.

Поэтому когда у меня items, а там нет body. Меня шлёт нахуй map.

Потому что я пытаюсь достать body через:

this.setState({items: response.message.items})

const messages = this.state.items
const ItemList = messages.map((item, index) => { item.body.map((item2, index) => { console.log(item2) })})

И вот в этой конструкции мне нужно сделать проверку чтобы пропустить элемент и перейти к другому, если нет body внутри items.

Если можете предложить проще конструкцию чтобы пройти сквозь список и пройти по списку внутри списка, то я во внимании.

Грубо говоря у меня N array'ев а внутри каждого еще array. И мне нужна проверка на случай если внутри array нет array.

Ебаный рот... Это даже звучит по еблански.
Аноним 30/10/17 Пнд 17:54:55 #119 №1084380 
Блять хуею с этого реакта ебаного, чтоб сраную кнопку сделать нужно блять тонну кода настрочить, нахуй оно нужно пиздец рот его ебал
Аноним 30/10/17 Пнд 17:59:21 #120 №1084385 
>>1084380
Поощряют индусский код, псы!
И да, перекатывайся на vue.
Аноним 30/10/17 Пнд 18:06:10 #121 №1084389 
Чуваки, создал в телеге канал, куда скидываю книги по js, Ноде, реакту и всему такому, кому интересно, подписывайтесь - https://t.me/programmingstuff
Аноним 30/10/17 Пнд 18:16:44 #122 №1084401 
>>1084389
Тащ майор, забирайте клиента
Аноним 30/10/17 Пнд 18:30:24 #123 №1084409 
>>1084363
Не вникал особо в твой эпос, но Rx определённо решает проблемы подобного рода.
Аноним 30/10/17 Пнд 18:41:45 #124 №1084415 
>>1084363

а что тебе мешает в мап вставить перед ретёрн утиную проверку if ( item.body.isArray) ?
Аноним 30/10/17 Пнд 19:09:29 #125 №1084427 
>>1084363
-> >>1084415 и плюс потом ещё отфильтровать нужно будет, так как map не может изменять количество элементов.
>[1,2,3,4,5].map(e => e > 3 && e).filter(e => !!e) // [4,5]
Аноним 30/10/17 Пнд 19:44:05 #126 №1084463 
>>1084389
Интересно, если я сделаю приложуху, которая после сдачи кала, оригинала паспорта и норм ГТО позволит такую крутую и инновационную вещь, как... наберите воздуха... готовы?.. обмениваться сообщениями в Интернете в 2017, я смогу Пашку переплюнуть по унижению говноедов?
Аноним 30/10/17 Пнд 20:41:55 #127 №1084515 
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) ?
Аноним 30/10/17 Пнд 20:45:31 #128 №1084520 
>>1084515
Так ты и присвой значение мапа, но не в ретёрне же.
Аноним 30/10/17 Пнд 20:47:57 #129 №1084523 
>>1084520
Я не очень понимаю как, иначе бы не спрашивал.

array : message.map((item, index)) ?

map же нужно всегда функцию передавать. Какую функцию я ему должен передать?
Аноним 30/10/17 Пнд 20:48:20 #130 №1084524 
>>1084515
Собственно массив:
array = message

Копирование:
array = message.slice()
array = message.map(x => x)

Исходный массив в мапящей функции
message.map((item, index, message) => ...)
Аноним 30/10/17 Пнд 20:59:29 #131 №1084535 
Screenshot69.png
Короче, вот мой json. Как отрисовать title я знаю. Как мне отрисовать нормально info с учётом того что вот два последних этот тип метаданных не имеет.

Меня шлёт нахуй с undefined items.info
Аноним 30/10/17 Пнд 21:04:12 #132 №1084543 
>>1084535
items.info || [ ]
Аноним 30/10/17 Пнд 21:17:33 #133 №1084556 
>>1084543
а если мне например нужно items.info в map использовать?

например items.info.map((inf, index) => { something})

но при этом он пустой.


Аноним 30/10/17 Пнд 21:25:47 #134 №1084565 
>>1084556
(items.info || [ ]).map((inf, index) => something)
Аноним 30/10/17 Пнд 21:31:30 #135 №1084569 
>>1084565
Чувак, ты мой герой. Спасибо тебе.
Аноним 30/10/17 Пнд 21:56:54 #136 №1084589 
Screenshot70.png
>>1084565
Бля, сделал всё как ты написал. Ошибки не выдает, но не рендерит почему-то. Хотя передают не undefined. Тестовую рендерит, а нужную - нет.
Аноним 30/10/17 Пнд 22:02:41 #137 №1084592 
Мне нужен аналог https://www.npmjs.com/package/voronoi с поддержкой произвольных функций расстояния. Что-нибудь такое в природе существует, или пилить самому?
Аноним 30/10/17 Пнд 22:06:39 #138 №1084595 
Не смог пройти задачку про числа фибоначи, ебать я тормоз. Сижу думаю и не могу придумать ля
Аноним 30/10/17 Пнд 22:18:24 #139 №1084601 
>>1084589
Всё починил. Проебался с return.
Аноним 30/10/17 Пнд 22:21:32 #140 №1084602 
я не понимаю нахуя вы помогаете шизику с реактом
он же программировать не умеет абсолютно
Аноним 30/10/17 Пнд 22:22:35 #141 №1084604 
>>1084589
у меня глаза вытекают когда я эту хуйню вижу
выпились уебище блядь
Аноним 30/10/17 Пнд 22:22:46 #142 №1084607 
>>1084602
>он же программировать не умеет абсолютно

Умею, но не на реакте и не на js. Я понимаю что я должен сделать с логической точки зрения, но я не ебу как на скрипте это написать. Поэтому и спрашиваю тут.
Аноним 30/10/17 Пнд 22:24:31 #143 №1084608 
>>1084607
блядь не отвечай мне хуесос ебаный мне похуй твои галимые отмазки. хватит срать в тред уебище
Аноним 30/10/17 Пнд 22:28:22 #144 №1084614 
>>1084608
> хватит срать в тред уебище

срать is undefined.
Аноним 30/10/17 Пнд 22:32:48 #145 №1084616 

>>1084535
Проксификацию запили, например
Аноним 31/10/17 Втр 13:11:11 #146 №1084903 
Ни у кого нет ненужной б/у Дэвид Флэнаган "JavaScript. Подробное руководство" (6-е издание)??? Я бы купил.
Аноним 31/10/17 Втр 13:14:46 #147 №1084905 
1508957500001.jpg
Почему я такой тупой? Задачки на рекурсию понять не могу...
Аноним 31/10/17 Втр 13:18:32 #148 №1084907 
>>1084905
Пакеж
Аноним 31/10/17 Втр 13:25:38 #149 №1084911 
>>1084907
Задача – написать функцию factorial(n), которая возвращает факториал числа n!, используя рекурсивный вызов.

Напишите функцию fib(n), которая возвращает n-е число Фибоначчи.
Аноним 31/10/17 Втр 14:03:02 #150 №1084925 
image.png
???
Аноним 31/10/17 Втр 14:22:53 #151 №1084938 
aww-board.png
>>1082836 (OP)
Анчоус, помоги.
Как запилить такой самодостаточный компонент на реакте? (Ну или просто хтмл)
У меня содержимое таблицы постоянно проваливается под днище и скроллится или вообще все или ничего
Аноним 31/10/17 Втр 14:53:13 #152 №1084946 
>>1084911
Ты рил тупой, сорри
Аноним 31/10/17 Втр 14:55:58 #153 №1084947 
>>1084946
Всм? А как решить эти задачи.
Аноним 31/10/17 Втр 14:56:50 #154 №1084948 
>>1084947
>как решить эти задачи?
используя рекурсивный вызов
Аноним 31/10/17 Втр 14:57:54 #155 №1084949 
>>1084948
Ну это понятно. А сами формулы, как ты собрался вычислять факториал?
Аноним 31/10/17 Втр 14:58:47 #156 №1084950 
>>1084925
JS, сэр. Впрочем, не очень понятно, первое или второе тебя смущает, но вот тут все правила неявной конверсии при сравнениях http://es5.github.io/#x11.9.3

1. true == "1", применяем правило 6
2. 1 == "1", применяем правило 4
3. 1 == 1
Готово.

Сдела то же самое с первый, на третьем шаге будет 1 == NaN, что, очевидно, false.
Аноним 31/10/17 Втр 14:59:34 #157 №1084951 
>>1084949
Так прочитай определение факторила на вики, дурилка, его второкласник (или когда там умножение проходят?) поймёт.
Аноним 31/10/17 Втр 15:01:43 #158 №1084954 
>>1084951
Понял формулу. А фибоначи как?
Аноним 31/10/17 Втр 15:03:30 #159 №1084956 
>>1084954
иди на хуй ну
Аноним 31/10/17 Втр 15:05:51 #160 №1084961 
>>1084954
Точно так же: википедия, число фибоначчи. Там ещё проще, вообще только сложение нужно, поэтому даже первоклашка справится!
Аноним 31/10/17 Втр 15:06:22 #161 №1084963 
Пиздец у вас тут отбитые. Задачки универские с Фибоначи решить не могут. А еще на врк-тред гонят.
Аноним 31/10/17 Втр 15:08:27 #162 №1084964 
>>1084963
есть разные
Аноним 31/10/17 Втр 15:36:09 #163 №1084980 
>>1082836 (OP)
Проганы, есть задача.
1. Есть такой сайт BrainwalletX на JS.
2. Есть ссылка на закачку его в zip: https://github.com/brainwalletX/brainwalletX.github.io/archive/master.zip
3. Есть 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 на эту строку.

Как всё это сделать?
Аноним 31/10/17 Втр 16:15:13 #164 №1084997 
>>1084963
А ты мог чтоли когда только начинал?
Аноним 31/10/17 Втр 16:34:55 #165 №1085016 
>>1084997
Цимес даже не в этом. Я такую задачку видел в одной комп. игре на тему кодинга. В итре где нет ни одной строчки кода, а все алгоритмы изображены в виде конвейера и кубиков со всякими операторами, методами, функциями и т.д.
Аноним 31/10/17 Втр 16:43:15 #166 №1085022 
>>1085016
Говорю же, не мог ты нихуя, а смеешься над новичками.
Аноним 31/10/17 Втр 16:44:36 #167 №1085023 
>>1085022
Ну и что что не мог? Все равно же смешно.
Аноним 31/10/17 Втр 16:53:25 #168 №1085027 
>>1085022
Если ты школьник <8 класса, то ещё простительно. Если старше, то уже как-то несолидно не смочь решить такую задачу, имея безграничное количество туториалов, подсказок и примеров.
Более того, что на самом деле плохо (ну не понял формулу там или не совсем понимаешь, как работает та или иная штука, мало ли, это фигня), так это то, что ты даже сформулировать проблему толком не можешь. "Не получается! Не могу! Не понимаю!", прям как блондинка. Что именно не получается? два числа сложить или умножить? Понять, как вызвать функцию изнутри её самой же? Как отановиться? Что? А ведь если бы ты смог это сформулировать, то даже сюда писать не пришлось бы, потому что первой строкой в гугле решилась бы твоя проблема.
Аноним 31/10/17 Втр 17:39:30 #169 №1085046 
>>1084980
там функция function crChange() внутри brainwallet.js
вызывается вот так:
$('#crCurrency ul li a').on('click', crChange);
а эта строка входит в функцию
$(document).ready( function() {
...
});

и всё это внутри функции
(function($){
...
})(jQuery);

т. е. в brainwallet.js эти параметры передаются через JQuery, а в armory.js - голый JS.
Как передать туда эти параметры - понять не могу.
Аноним 31/10/17 Втр 18:08:40 #170 №1085054 
>>1084268
>>1084329
только что закончилось собеседование
было две задачки на кодинг
https://codepen.io/brackets-arrows/collab/VrZYwZ/ тут пофиксить undefined
https://codepen.io/brackets-arrows/collab/rmqZQq/ реализовать функцию

вопросы по фреймворкам ангулару(инжектейбл, зоны, скоуп, перформанс, как реализовано отслеживание изменений и т.д.)
вопросы по event loop-у(куда же без него) и setTimeout
ну и еще куча всего. почти час говорили
Аноним 31/10/17 Втр 18:09:48 #171 №1085055 
>>1085054
я на ивент лупе взмок и вообще взмок
полтора года не работал. я кое-что очевидное позаебыл, а тут ивент луп хех
Аноним 31/10/17 Втр 18:16:49 #172 №1085059 
>>1085054
блин дал случайно ссылку с решением
вот нормальная
https://codepen.io/brackets-arrows/collab/VrZYwZ/
Аноним 31/10/17 Втр 18:36:30 #173 №1085074 
>>1085054
>>1085059

В решенный вариант не подсматривал, но чет не понял, первая задача решалась так просто, в одном из шагов не возвращался промис? Точно это исходное задание? Ничего ж допиливать не пришлось.
Вторая задач была в Codewars.

Так тебя на позицию мидла взяли? Фронтендером будешь, на энгьюлэ пилить прожекты? Если не секрет, назови вилку зарплат, на которую ты претендовал. Ну и расскажи, о чем еще болтали с тимлидом плес.
Аноним 31/10/17 Втр 19:59:33 #174 №1085108 
>>1084980
>>1085046
Короче, сам разобрался. Надо просто через файл brainwallet.js - передать эти параметры во все функции, вызываемые из armory.js и electrum.js
Аноним 31/10/17 Втр 20:27:31 #175 №1085131 
Вопрос по JS.
var ololo = new Date( (текущий timestamp) x 1000 );
ololo.getHours() - выводит часы, с учётом системных часов (переводит в мой часовой пояс). Так и должно быть?
Аноним 31/10/17 Втр 20:27:45 #176 №1085132 
Filth-027.jpg
Снимок.PNG
Анончик, помоги, а то я туплю-торможу.
Как функцию принимающую (err, data)-коллбек переделать в промис?
Аноним 31/10/17 Втр 20:28:28 #177 №1085133 
>>1085131
вопрос про перевод в часовой пояс
Аноним 31/10/17 Втр 20:55:16 #178 №1085145 
>>1085132
Очевидно, нужно создать промис (new Promise()) и внутри него выполнить изначальную функцию, а внутри коллбека резолвить/реджектить.
https://repl.it/N65M/1 https://stackoverflow.com/questions/22519784/how-do-i-convert-an-existing-callback-api-to-promises
Аноним 31/10/17 Втр 21:01:57 #179 №1085150 
сап двачь, помогите с реактом

делаю что-то типа ТУ-ДУ приложения с базой данных на firebase
есть компонент View, который загружает эту базу данных, кидает в стейт компонента и рендерит в список

как лучше сделать, оставить так и просто рендерить <View /> в главном файле или сохранять базу в главный файл, а потом через props кидать в компонент View? ну, типа, рендерить вот так: <View huy={pizda} />
Аноним 31/10/17 Втр 21:21:25 #180 №1085159 
>>1085132
Есть же промисификаторы, например, в блюбёрде и в новой ноде.
Аноним 31/10/17 Втр 21:56:47 #181 №1085175 
НОМ.mp4
>>1085145
Благодарю, забыл уже как промисы внутри устроены.
>>1085159
>в новой ноде
util.promisify() ?
Аноним 31/10/17 Втр 21:58:24 #182 №1085176 
>>1085175
> util.promisify()
Да, оно самое.
Аноним 31/10/17 Втр 22:25:26 #183 №1085199 
>>1085074
>в одном из шагов не возвращался промис
да
>Так тебя на позицию мидла взяли
еще неизвестно
>Фронтендером будешь, на энгьюлэ пилить прожекты
хз что ето "Фронтендером". проекты у них на ангуларе и реакте. верстать не надо
я 2к$ хочу
Аноним 31/10/17 Втр 22:36:21 #184 №1085206 
Помоги с тупняком. нужно запрос сделать, но он выглядит как query=song+year

я же передаю его в виде содержимого инпута как ${query}

Плюс к этому хочу результаты поиска проверять по двум query, но api позволяет только AND, но не OR.
Аноним 31/10/17 Втр 22:43:26 #185 №1085214 
>>1085206
>Помоги с тупняком. нужно запрос сделать, но он выглядит как query=song+year
я же передаю его в виде содержимого инпута как ${query}

Эту хуйню пофиксил. Как две query сделать через OR, если api не позволяет. Делать через url(query1) || url(query2) мне кажется не даст нужного результата.
Аноним 31/10/17 Втр 22:45:08 #186 №1085215 
>>1085214
Однако url(query1) && url(query2) дали почти нужный результат.
Аноним 31/10/17 Втр 23:02:36 #187 №1085232 
>>1085215
А нет нихуя =/
Аноним 31/10/17 Втр 23:32:09 #188 №1085247 
>>1085232
Починил. Просто я ебло.
Аноним 31/10/17 Втр 23:45:07 #189 №1085256 
Подскажите как установить дебагер для атома что бы не было ошибки ENOEN или где скачать бесплатно web storm актуальную версию для linux
Аноним 31/10/17 Втр 23:55:00 #190 №1085259 
Как предотвратить fetch если я использую onChange в Input. В итоге он запрашивает query="" и получает всю блять базу.
Аноним 01/11/17 Срд 00:02:02 #191 №1085264 
>>1085259
if( query == "") {return null}

помогло, но является ли это правильным способом?
Аноним 01/11/17 Срд 01:02:03 #192 №1085285 
>>1085259
А почему у тебя фетч сразу на onChange привязан?
Не спутывай так сильно вью и логику, фильтруй.
Аноним 01/11/17 Срд 02:44:15 #193 №1085311 
Двач, чому моя сортировка не пашет? Должно же быть abc2, abc3, abc1

https://repl.it/N7du
Аноним 01/11/17 Срд 05:53:50 #194 №1085326 
>>1084980
Кто-нибудь из программистов может подсказать,
как здесь сделать нажатой кнопку compressed
в зависимости от параметра gen_compressed (true или fasle)???

Вижу класс .addClass('active') но он не работает!
Может ещё что-то прописать надо?
Аноним 01/11/17 Срд 05:55:06 #195 №1085327 
>>1085311
a и b в внутри сортирующей функции — строки "abcN". У них нет никакого total_duration'а.
Аноним 01/11/17 Срд 10:49:48 #196 №1085366 
>>1085326
https://repl.it/N7du/1
Аноним 01/11/17 Срд 10:50:20 #197 №1085367 
то есть
>>1085311
https://repl.it/N7du/1
Аноним 01/11/17 Срд 10:55:29 #198 №1085369 
Нормально программируется с утра?
Аноним 01/11/17 Срд 11:18:41 #199 №1085372 
А в чём смысл учить это всё, если фронт умирает?
Аноним 01/11/17 Срд 11:40:13 #200 №1085377 
>>1085372
Бек енд.
Аноним 01/11/17 Срд 11:45:05 #201 №1085379 
>>1085377
Что бек енд? В шапке-то фронт
Аноним 01/11/17 Срд 12:05:44 #202 №1085381 
>>1085372
Это как он умирает?
Аноним 01/11/17 Срд 12:13:28 #203 №1085384 
>>1085381
Во-первых, везде пишут об этом, во-вторых, работы почти что нет, особенно если сравнивать с прошлым годом. Сейчас все, кто вкатываются во фронт, всё равно будут обречены на вкатывание в другие области. Я бы советовал вкатиться в мобильную разработку, если уж на то пошло. Ну, или же изучать нейронные сети и всё, что с этим связано. Только не говори мне, что фронт не умирает и в ближайшем будущем будут рабочие места
Аноним 01/11/17 Срд 12:23:15 #204 №1085390 
>>1085311
Сортируешь ключи, duration обрезается до сортировки
Аноним 01/11/17 Срд 12:25:08 #205 №1085391 
>>1085384
я работал удаленно на одну контору, а потом неожиданно в важный момент ливнул. перекрыл все контакты, ну типично.
через полтора года на меня накатило как-то ночью, что я так хуево с хорошими людьми поступил. сел и написал им письмо с извинениями. мол, я на самом деле наркоман, не смог побороть зависимость, скатился в говно. стыдно пиздец.
они утром пишут, типа а работать-то ты можешь? давай к нам обратно.
после этого захожу на двач и читаю твою хуйню и еще много такой же хуйни от других даунов. это каким образом фронт умирает, если там такая нехватка специалистов, что они кидал-нариков обратно на работу готовы взять? ссу+сру тебе в рот
Аноним 01/11/17 Срд 12:47:19 #206 №1085398 
>>1085367
Понял, базиба.
Аноним 01/11/17 Срд 12:49:28 #207 №1085399 
>>1085391
Посмотрим на тебя через два-три года
Аноним 01/11/17 Срд 12:50:54 #208 №1085400 
>>1085399
>пук
Аноним 01/11/17 Срд 12:54:58 #209 №1085403 
>>1085384
>вкатиться в мобильную разработку
которая массово перекатывается с приложений в натягивание фронт-морд на реакт нативе. нисе
Аноним 01/11/17 Срд 13:40:59 #210 №1085417 
300px.jpg
37fb7265082c9aae8c77a871cddac80a.jpg
6bd6381b048b12f9420e93c5703b6127.jpg
14869837950370.png
>>1085372
Аноним 01/11/17 Срд 18:06:08 #211 №1085592 
Какая вилка зарплат в Питере на реакт (фронтенд)/реакт нейтив (мобилы) 2 года опыта?
Аноним 01/11/17 Срд 19:11:07 #212 №1085632 
прохожу самую длительную процедуру трудоустройства

cv -> тестовое задание -> интервью с hr -> тех. интервью -> интервью с менеджером (я тут)-> тех. интервью со специалистом клиента -> интервью с клиентом -> интервью с директором
Аноним 01/11/17 Срд 21:19:10 #213 №1085706 
Добрый вечер господа, подскажите мимокрокодилу как мне вставить в жиквери вот это
в параметре data у меня на фронт приходит {title: "тест", text: "тест", name: "васян", email: "", image: null}

я пишу вот так, сам блок выполняется проверял через console.log(data)
success: function (data) {
$("#post").html(data);
},
но на странице нихуя не появляется. ЧЯДНТ?
Аноним 01/11/17 Срд 22:15:00 #214 №1085754 
>>1085706
Попробуй так:

$('#post').append(data);
Аноним 01/11/17 Срд 23:54:51 #215 №1085848 
>>1085326
Сам разрулил, короче.
Там надо обозвать лейблы другими именами
и присвоить им классы так:
$('#gen_comp [name=comp]').addClass('btn btn-default active'); //активная кнопка
$('#gen_comp [name=uncomp]').addClass('btn btn-default'); //не активная кнопка
Иначе, класс присваивается input'у - это видно в исходном коде в Chrome.
Скоро в /cc запощу исправленный brainwalletX.
Аноним 02/11/17 Чтв 00:35:55 #216 №1085872 
>>1085754
Не. нихуя.



Что, неужели всем так лень помочь, это же строка кода наверняка.
Вот есть дохуя коментов, в в диве с айди post через форму асинхронно создается новый комент и возвращается в виде как я писал, как мне его добавить к уже существующим?
Аноним 02/11/17 Чтв 00:37:01 #217 №1085873 
>>1085872
тебе лень погуглить элементарную хуйню. почему кто-то должен тебе помогать?
Аноним 02/11/17 Чтв 00:38:02 #218 №1085875 
>>1085872
А, да. Не благодари.

$('body').append(JSON.stringify(data));
Аноним 02/11/17 Чтв 00:46:24 #219 №1085882 
>>1082836 (OP)
Ребзя, посоветуйте как лучше всего реализовать мультиязнычность на сайте с Node.js? Как это правильно называется? И мб есть уже какой-то готовый пакет хороший?
Аноним 02/11/17 Чтв 00:47:01 #220 №1085883 
>>1085873
Я не понимаю, что гуглить, жс вообще не знаю, еле нагуглил как сделать так, чтобы форма отправлялась асинхронно и результат приходил нормальный, а дальше хз как.
>>1085875
Уже больше похоже, теперь у меня в хтмле
{"title":"тест","text":"ee","name":"васян","email":"","image":null

С этим уже можно работать, это не из-за того оно так выглядит, что я в апи обрабатываю это, то есть у меня же уже json приходит?
Аноним 02/11/17 Чтв 00:47:16 #221 №1085884 
>>1085882
Имеется ввиду, чтобы когда у человека стоит английский язык в браузере, то оно отдавало страницу на английском, а когда русский - то русском.
Аноним 02/11/17 Чтв 00:48:36 #222 №1085885 
>>1085883
Ну так ты пытаешься вставить целый обьект, оппробуй:
$('body').append(JSON.stringify(data.title))
или
$('body').append(data.title);
Аноним 02/11/17 Чтв 00:48:51 #223 №1085886 
>>1085883
ты же не пробовал даже документацию открыть уебок блядь по функции которую используешь
просто иди на хуй
Аноним 02/11/17 Чтв 00:50:14 #224 №1085889 
>>1085883
Нет, это не JSON, а JavaScript-объект. Ты не сможешь запарсить его с помощью JSON.parse(data). А вот то, что получается в результате JSON.stringify(data) - уже JSON.
Аноним 02/11/17 Чтв 00:51:03 #225 №1085890 
>>1085885
Всё, спасибо, добра няша :3
>>1085889
И тебе.
>>1085886
А ты от рака сдохни)
Аноним 02/11/17 Чтв 00:52:42 #226 №1085893 
>>1085890
рак это ты ебаный дебил и подобные тебе дауны которые срут в тред своими даунскими вопросами. и дебилы кто вам помогает. сука пиздец уебаны лень документацию просто открыть блядь прочитать что функция делает как работает, какие параметры принимает, что делает
надо со своим тупорылым вопросом обязательно насрать блядь в тред "ну я же не знаю не понимаю пок пок пок". хуесосы говножоры и те кто такую хуйню спрашивают и те кто тебе отвечают поощряя это говно
уебаны
Аноним 02/11/17 Чтв 00:53:42 #227 №1085895 
>>1085893
найс полыхнуло)
Аноним 02/11/17 Чтв 09:38:28 #228 №1086018 
>>1085893
найс комунити, пидорашка дикая
У тебя бы столько же времени заняло пояснить и кинуть парой ссылок в него, о которых ты говоришь. Откуда ты знаешь, какой там у него бекграунд? Уебан.
Аноним 02/11/17 Чтв 12:07:31 #229 №1086065 
>>1085884
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language
Но как пользователь скажу тебе, что лучше так не делай, бесить эта штука юзеров будет. Оставь старые добрые /ru, /es и т.д.

>>1085893
Люто двачую.

>>1085883
>Я не понимаю, что гуглить
Потому что ты либо тупой, либо нет желания даже пытаться что-то гуглить. Вот ты пробовал? Вряд ли, "я не знаю, что гуглить", и всё. Да хоть что-то погугли, блядь, перелопать примеры этого jquery post'а, уж хоть кто-то, да пробовал отображать приходящий с сервера json на странице. И ведь там абсолютно плевать, post это, get или вообще из консольки ты переменную отобразить хочешь. Ты не понимая вообще ничего пытаешься что-то сделать, не желая хоть немного прочитать про то, что используешь. Нет, по сниппетам со стака можно много чего сделать, но не когда ты тупой, и пытаешься в js-объект вставить как html.

У меня уже давно появилась теория, почему в тредах почти никогда не бывает действительно сложных вопросов, только общие вопросы/советы по фреймворкам и вот такое вот примитивное дерьмо. Потому что те, кто пишут что-то сложное, могут погуглить и подумать сами, особенно когда начнут писать сюда вопрос, додумывать уточнения, предполагать допольнительные вопросы, продумывать на них ответы и вуаля, сам себе решил проблему, удалив неотправленное сообщение. Ну либо-таки запостит пару очень специфичных нишевых вопросов, никто не ответит и всё, больше не будет писать, так как смысла мало.
Неопытные, но-таки разумные (типа >>1084980), всё же постят, но спустя короткое время сами решат, потому что они, сюрприз-сюрприз, не ждут сидят ответа на вопрос, в отличие от некоторых.
Аноним 02/11/17 Чтв 12:37:22 #230 №1086073 
1.png
2.png
3.png
Untitled.png
Котаны, подскажите что делать. Надо чтоб из ебаного ничего плааавно один за другим на страничке возникали элементы, дивы, например. Я делал через setTimeOut(), но оно работало не так как я хотел: сначала все время что есть в таймеер ничего не происходило, а потом они все появлялись сразу. Я погуглил и уже знаю, что таймер отдается, так сказать, на аутсорс в API, потом функция попадает в очередь и ждет когда стек станет пуст и только тогда все это гавно выполняется. Как тогда решить вот это дело?


1-3: Как надо
4: Как я понял из видео что работает хуета с таймаутами.
Аноним 02/11/17 Чтв 12:58:38 #231 №1086074 
image.png
Помогите ньюфагу

Делаю задания из шапки, в консоли все выводит правильно, но решалка выдает пикрил. Я же задаю начальные значения, что не так?
Аноним 02/11/17 Чтв 13:01:42 #232 №1086075 
>>1086074
А, лол, пофиксил, передав start=0, step=1 в параметры
Аноним 02/11/17 Чтв 13:03:51 #233 №1086076 
>>1086073
Ты можешь либо:
1. В лупе пройтись по всем элементам, увеличивая время таймера для каждого следующего элемента https://codepen.io/anon/pen/WXQBNw
2. После каждого элемента проверять, есть ли ещё элементы для отображения и запускать новый таймер. https://codepen.io/anon/pen/OOyGeL

Анимация делается setInterval'ом со временем равным 1/fps.

>>1086074
http://lmgtfy.com/?q=javascript+необязательные+аргументы+начальное+значение+по-умолчанию первая же ссылка. И никакие начальные значение ты не задаёшь, ты start/stepValue на следующей же строчке переназначаешь.
Аноним 02/11/17 Чтв 13:06:57 #234 №1086077 
>>1086076
О, круто, спасибо!
Аноним 02/11/17 Чтв 14:40:52 #235 №1086104 
>>1085131
Бамп вопросу.
Аноним 02/11/17 Чтв 14:54:58 #236 №1086110 
>>1086065
все верно расписал
Аноним 02/11/17 Чтв 15:46:03 #237 №1086135 
1.jpg
2.jpg
Есть canvas, есть массив из семи слов. Есть цикл который выводи текст в канвас.
Когда вывожу текст, вместе с текстом выводятся запятые.
???
Аноним 02/11/17 Чтв 16:59:23 #238 №1086184 
>>1086135
А если name[и] заменить на литерал строки, чтобы одно и то же 7 раз вывелось, будут ли "запятые"? Они больше на точки похожи, по-моему.
Аноним 02/11/17 Чтв 17:08:18 #239 №1086191 
Тут уже яснее.
name[0] - H
name[1] - .
name[2] - L
name[3] - i
name[4] - .
Я неправильно массив заполнил?
надо чтобы name[0] = h ; name[1] = Li
Аноним 02/11/17 Чтв 17:14:59 #240 №1086196 
Аноны, может кто знает какой инструментарий для сканирования qr кода? пишу для себя приложение на ангуляре 4. попробовал заюзать библиотеку angular2-qrscanner, но трабла в том что, если приложение открывать с мобилы, он запускае фронталку, а не основную камеру. может еще что есть подобное?
Аноним 02/11/17 Чтв 17:50:50 #241 №1086222 
>>1086135
JS, сэр. Выбери другое имя переменной.

Сложно гуглить такое общее слово, к тому же это только в браузерах сделано, так что знающие, подкиньте ссылочек на эту хрень (в частности, нахуя оно нужно такое), и как она умудряется работать вообще, пожалуйста.
>name.toSource()
>// "(new String(""))"
Там какие-то проксификаторы, что ли?
Аноним 02/11/17 Чтв 18:02:23 #242 №1086230 
>>1086222
Поменял имя, помогло, спс
Аноним 02/11/17 Чтв 18:41:14 #243 №1086252 
>>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 вызывает геттер, а не сеттер.
Аноним 02/11/17 Чтв 21:58:03 #244 №1086455 
В общем, такой страный немного реквест.
Так вышло что устроился работать react макакой, всё пиздец легко, уже второй год работаю. И вдруг так почитал про xss атаки, про всю эту хуйню с глубинным устройством dom, js и всего такого и чёт пиздец интересно стало как всё это устроено на глубоком уровне.

Собственно вопрос, есть ли какие-нибудь хорошие источники по такой теме? Не всмысле xss а устройства всего. Может быть даже история развития.

Эх были бы учебники истории, только про веб.
Аноним 02/11/17 Чтв 22:25:40 #245 №1086473 
>>1086455
>Эх были бы учебники истории, только про веб.

Обычно в книжках пишут, как что-то работало раньше, чтобы при встречи с старым кодом не обосраться
Аноним 02/11/17 Чтв 23:36:34 #246 №1086520 
image.png
Кто нибудь знает что-нить про эту поебень https://www.udacity.com/google-scholarships годно или хуета?
Аноним 03/11/17 Птн 00:40:55 #247 №1086558 
>>1085391
Анончик а может ты сможешь ее побороть? Пожалуйста.
Аноним 03/11/17 Птн 01:26:01 #248 №1086578 
>>1086558
кого ее
Аноним 03/11/17 Птн 01:26:55 #249 №1086579 
>>1086065
А почему будет бесить? По-моему весьма удобно, когда англоязычный юзер заходя на сайт сразу попадает на английскую версию. В чём лично для тебя проявляется неудобство?
Аноним 03/11/17 Птн 01:31:28 #250 №1086580 
>>1086558
а, зависимость. на хуй знает. сложно это очень. сложнее чем проходить собеседовании накуренным. собеседование то я прошел, а вот курить не могу перестать.
Аноним 03/11/17 Птн 05:57:33 #251 №1086629 
>>1086579
Американец и русский получают одинаковую ссылку. Американец говорит: "Хорошая статья". Русский говорит: "Устаревшая хуйня и половина не переведена", и выкидывает американца за борт.
Консистентненько всё должно быть, без сюрпризов.
другой анон
Аноним 03/11/17 Птн 06:54:06 #252 №1086633 
>>1086579
Одна ссылка должна вести на один и тот же документ (по крайней мере, в один и тот же момент времени).
Я в принципе не очень люблю когда, за меня слишком много решают, как мне будет лучше, ведь обычно наши мнение расходятся.

Развёрнуто дополню >>1086629:
>В чём лично для тебя проявляется неудобство?
В том, что я не могу быть уверен, что мне подсунули именно то, что я просил. Есть перевод? Замечательно, добавьте ссылочку.

>когда англоязычный юзер заходя на сайт сразу попадает на английскую версию.
А я вот русскоязычный юзер, но попадаю на китайскую версию, потому что из компьютерного клуба тут зашёл. Стим так делает, например. И вот нахуя оно мне надо такое?
Да и на русские сайты мне бы хотелось в оригинале заходить (система на английском), и при этом на английские — тоже.
Гугл вот когда-то в своих ветках обсуждений переводил все посты на русский мне зачем-то, заставляя иногда задумываться, что за дауны так коряво пишут.

Представь, что википедия показывала бы страницу только на твоём языке, откатываясь на ангилйский (или следующий другой по цепочке) лишь при отсутствии статьи на этом языке. Ужас же был бы.

Короче, если в двух словах: подобная "интернационализация" не даёт выбора и сбивает с толку, потому как обычно эти горедизайнеры забывают и о кнопке принудительной смены языка. Да и не знаешь, перевод это или вообще язык версию сайта отдельная команда ведёт и статьи примерно похожи, но написаны каждая с нуля, просто на ту же тему и примерно с теми же источниками.

Есть поддомен, есть топ-левел домен — пользуйтесь!
Аноним 03/11/17 Птн 10:09:39 #253 №1086670 
Ребят, есть вопрос по event лиснерам. Вот есть у меня попап, когда он открывается - на document вешается event listener на keydown, чтобы отлавливать нажатие ESC и закрывать попап, вот когда я внутри такого попапа открываю еще один и нажимаю ESC - закрываются оба. Есть возможность закрывать по-одному? e.stopPropagation() не помогает, есть еще какие-то варианты? Юзаю react.
Аноним 03/11/17 Птн 10:14:47 #254 №1086672 
>>1086670
И да, с event.stopImmediatePropagation() закрывается сначала первый, потом второй, а нужно сначала второй, потом первый.
Аноним 03/11/17 Птн 15:33:10 #255 №1086729 
>>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

Но оно не работает:С
Ошибок валидатор не выдал.
ЧЯДНТ?
Аноним 03/11/17 Птн 16:26:52 #256 №1086741 
>>1086729

это не javascript это html+css
Аноним 03/11/17 Птн 16:28:01 #257 №1086743 

>>1086741
что?
Аноним 03/11/17 Птн 18:20:57 #258 №1086788 
>>1086670
>>1086672
Идентификаторы открытых попапов храни в массиве стейтеа приложения.
По нажатию клавиши диспатч экшоны по обработке сего массива и соответственно, последовательно закрывай модалки. Это ж реакт, епта.
Аноним 03/11/17 Птн 18:22:52 #259 №1086789 
>>1086729
Касть содержимое инпута в число и сравнивай с числом.
Аноним 03/11/17 Птн 18:32:57 #260 №1086794 
>>1086788
Спасибо, но не пойдет, я либу компонентов пилю, они из коробки должны уже этот функционал уметь. Я распетлял через вешание лиснеров на сами попапы и фокус их во время willUpdate.
Аноним 03/11/17 Птн 18:43:29 #261 №1086799 
>>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");
}
});
});
да если интересно кому, частично задачу решил,
но проблема в том, что он работает только при вводе в инпут, а у меня значение этого инпута берется сложением двух других в динамической таблице :С
Аноним 03/11/17 Птн 21:00:53 #262 №1086852 
u631247f8e35ec5077f9520f719ea891d800.png
ХУЙНЯНЕЙМ.JS
Аноним 03/11/17 Птн 22:06:56 #263 №1086882 
пошел нахуй джаваскрипт
Аноним 03/11/17 Птн 22:18:08 #264 №1086890 
>>1086852
Я правильно понимаю что в других языках вместо хуйнинейм.js надо пердолиться и самому писать все велики либо же хуйнянейм зашита в стандартную либу?
Аноним 03/11/17 Птн 22:25:12 #265 №1086894 
слушай бабангиду
Аноним 04/11/17 Суб 10:16:10 #266 №1087024 
14899486773472.gif
>>1086852
REACT-ХУЙНЯНЕЙМ
Аноним 04/11/17 Суб 14:34:11 #267 №1087098 
>>1082836 (OP)

дип лёрнинг в ЖС https://github.com/karpathy/convnetjs

рейт, у кого есть время
Аноним 04/11/17 Суб 16:34:55 #268 №1087137 
>>1085027
Ну, анон, ничего страшного, и не из таких тормозов кодеров выращивали при должном упорстве.
П.С.: Сам когда-то не понимал в упор как быстрая сортировка работает. Вертел ее туда-сюда неделю с разными массивами, пока не разобрался во всех мелочах.
Аноним 04/11/17 Суб 18:17:22 #269 №1087184 
.jpg
>>1087024
JQUERY.ХУЙНЯНЕЙМ.JS
@
WEBPACKХУЙНЯНЕЙМPLUGIN
@
BABEL-PRESET-ХУЙНЯНЕЙМ
Аноним 04/11/17 Суб 19:38:17 #270 №1087212 
Можно ли в JS жестко задать тип переменной, или все равно туда будут записываться любые типы? Задать тип аргумента функции тоже нельзя?
Аноним 04/11/17 Суб 20:07:06 #271 №1087217 
0,0, 4,14.png
3,12, 14,5.png
4,6, 8,11.png
11,9, 11,0.png
>>1082921
Пес с ним, оставил как есть.
Рейт посоны: https://habrahabr.ru/post/340964/
Аноним 04/11/17 Суб 20:15:06 #272 №1087221 
>>1087212
Можно использовать какой-нибудь tcomb. Ругаться будет рантайм.

Можно использовать typescript или jsdoc комменты с типами, ругаться будет IDE
Аноним 04/11/17 Суб 20:36:39 #273 №1087225 
>>1087212
Есть божественный The Flow с великолепными OCaml типами.
Аноним 04/11/17 Суб 20:40:06 #274 №1087227 
>>1087217

>Perfect shuffle

норм, а что это за алгоритм? в википедии конкретно об этом алгоритме ничего нет
Аноним 04/11/17 Суб 20:40:09 #275 №1087228 
>>1087212
В JS есть слабые типы, но это мало на что влияет.
Аноним 04/11/17 Суб 20:45:50 #276 №1087233 
>>1087212

можно сделать прототип переменной, и смотреть что туда пишут, примерно так https://stackoverflow.com/questions/15857682/javascript-what-are-some-guidelines-on-how-to-define-new-data-types
Аноним 04/11/17 Суб 21:06:03 #277 №1087237 
faropreviewbyworldxmovement-d88noxe.gif
>>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
Аноним 04/11/17 Суб 21:09:16 #278 №1087238 
>>1087237
Ну и там весь прикол в том, что если так "перемешивать" массив - через несколько итераций все элементы возвращаются в исходной положение:
1, 2, 3, 4, 5, 6, 7, 8
5, 1, 6, 2, 7, 3, 8, 4
7, 5, 3, 1, 8, 6, 4, 2
8, 7, 6, 5, 4, 3, 2, 1 <- в обратном порядке
4, 8, 3, 7, 2, 6, 1, 5
2, 4, 6, 8, 1, 3, 5, 7
1, 2, 3, 4, 5, 6, 7, 8 <- вернулись в исходное состояние
Аноним 04/11/17 Суб 21:10:55 #279 №1087241 
>>1087221
>>1087225
>>1087228
>>1087233
Всем спасибо. Инфы для раздумий теперь предостаточно.
Аноним 04/11/17 Суб 21:34:39 #280 №1087246 
>>1087238
>>1087237

>Perfect Shuffle известен в среде фокусников-картежников. Называют они его Faro Shuffle.

ок, не заметил, спсб
Аноним 04/11/17 Суб 22:56:18 #281 №1087278 
Двачик, выручай. Есть какой-то объект, который я прохожу в цикле for in. И есть строковое представление ключей элемента, к которому я хочу получить доступ. Как мне сложить объект и строку, чтобы обратиться к какому-то элементу? Подробнее - https://repl.it/Nkfp
Аноним 04/11/17 Суб 23:29:32 #282 №1087302 
>>1087278
https://repl.it/Nkfp/1
Аноним 04/11/17 Суб 23:35:42 #283 №1087309 
>>1087302
Спасибо!
Аноним 04/11/17 Суб 23:44:19 #284 №1087317 
>>1087302

eval is Evil!
Аноним 05/11/17 Вск 03:53:33 #285 №1087381 
Как можно реализовать сортировку товаров по параметрам на клиенте?

Данные приходят на клиент и хранятся в переменной в виде 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.
Аноним 05/11/17 Вск 03:58:23 #286 №1087382 
>>1086065
>Неопытные, но-таки разумные (типа >>1084980), всё же постят, но спустя короткое время сами решат, потому что они, сюрприз-сюрприз, не ждут сидят ответа на вопрос, в отличие от некоторых.
Уже решил.

>>1085848
>Скоро в /cc запощу исправленный brainwalletX.
>>1085875
Зацените: http://rgho.st/8hlwbSy98
1. Unzip в папку.
2. index.html -> на вкладку браузера.

Может чё ещё подправить надо? А?
Аноним 05/11/17 Вск 08:59:22 #287 №1087403 
>>1087317
evil не evil, но иногда удобно же.
Аноним 05/11/17 Вск 11:04:06 #288 №1087422 
>>1087381
Очевидный for in цикл по свойствам объекта с копированием в новый object.assign, который целиком отсылаешь
Аноним 05/11/17 Вск 12:24:51 #289 №1087436 
>>1087381

filter.price_min = данные => данные.filter(one => one > число)
filter.price_max = данные => данные.filter(one => one < число)

отфильтрованное = Object.values(filters).reduce((данные, фильтр)=>{
return фильтр(данные)
}, данные)

Как-то так примерно.

Аноним 05/11/17 Вск 12:25:55 #290 №1087438 
>>1087436
>filters.price_min...
>filters.price_max...
фикс
Аноним 05/11/17 Вск 12:31:09 #291 №1087442 
>>1087381
Рендер товаров организуй по правилам.
const filtered = data;
if (filters.checkbox) {
filtered = filtered.filter(item => item.rule);
}
render(filtered)
То есть если фильтры пустые - отрендерится дата, если нет, то отфильтрованные.
Аноним 05/11/17 Вск 12:31:54 #292 №1087444 
>>1087381
А почему бы не хранить "отображаемые" товары в виде массива, который и будешь фильтровать тем самым filter'ом? Вроде бы, так обычно это всё и делается, да и судя по описанию проблемы, JS-объект тебе только мешает.
Аноним 05/11/17 Вск 13:43:58 #293 №1087470 
Как возможно провернуть подобную штуку?
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]

?
Аноним 05/11/17 Вск 14:09:55 #294 №1087477 
>>1087470
https://stackoverflow.com/questions/4616202/self-references-in-object-literal-declarations
Можно вот при первом вызове геттера/сеттера удалять их и оставлят обычное поле. https://repl.it/Nlav
Однако, не забудь, что obj.array[2] в данном случае у тебя не ссылка, а копия, потому что элемент примитивный.
Аноним 05/11/17 Вск 14:29:57 #295 №1087485 
>>1087477
Какие сложные слова, я до такого еще не дошёл. Надо разобраться, спасибо. Правильно ли я понимаю, что ты это
>Однако, не забудь, что obj.array[2] в данном случае у тебя не ссылка, а копия, потому что элемент примитивный.
к тому, что obj.currentItem = 100500; не изменит array[2] на 100500? Если да, то это я понимаю. Суть задачи вообще какая: есть объект, который содержит элемент, значение которого - массив имён файлов. И один элемент этого массива нужно вынести в отдельный ключ объекта. Писать каждый раз array[2], когда нужно обратиться к этому конкретному файлу не хочу, потому что вдруг добавится в начало массива еще один элемент и array[2] будет иметь не то значение, куда нужно. Поэтому решил вынести это в отдельный ключ объекта, чтобы если что - нужно было заменить всего одну строку. То есть менять я ничего не собираюсь, по хорошему там вообще не var, а const скорее.
Аноним 05/11/17 Вск 16:59:06 #296 №1087543 
Пацаны, ку!
Может ли жс в сокеты?
Че гуглить, а то нашел только сокет ио какой-то но там нода-хуеда.

Сабж вот в чем.
У меня есть приложуха на одном компе, а мне нужно чтоб !БРАУЗЕР! отослал запрос с помощью жса к этой приложухе.
Приложуха не постоянно в аптайме.

есть идеи/альтернативы?
Аноним 05/11/17 Вск 17:04:32 #297 №1087544 
>>1087543
>есть идеи/альтернативы?
есть
Аноним 05/11/17 Вск 17:23:49 #298 №1087553 
>>1087543
> Че гуглить, а то нашел только сокет ио какой-то но там нода-хуеда.
Лонг поллинг юзай и не выябывайся, чать тебе не реалтайм аппу писать.
Аноним 05/11/17 Вск 17:42:55 #299 №1087557 
Что скажете про мобильную разработку с React Native?
Аноним 05/11/17 Вск 17:49:58 #300 №1087560 
>>1087543
сокет ио и используй, что тебе не так?

Аноним 05/11/17 Вск 18:02:55 #301 №1087569 
>>1087560
У него, походу, на другой стороне не нода.
Аноним 05/11/17 Вск 18:57:29 #302 №1087591 
чому react така залупа, якусь хуйню html і js писати в одному файлі, купа node-пакетів (дохуя взагалі) ?
Аноним 05/11/17 Вск 18:58:25 #303 №1087593 
>>1087569
так там фреймворк состоит из двух частей, фронт и бек. И это просто обертка вокруг нативной реализации и там и там. По идее неважно как бек их у себя делает, в браузер оно все приходит более менее одинаково (заголовки разве что может будут другие).
Аноним 05/11/17 Вск 22:50:44 #304 №1087711 
Анон, а если Кантора сделал, но ничего еще руками не писал, и слегка местами каша в голове - че делать? Читать Фленегана? Ебануть курс на Хекслете? Че та написать попробовать? А может уже можно реакт читать? Хочу побыстрее вкатиться
Аноним 06/11/17 Пнд 02:08:59 #305 №1087772 
Можна как-то создать переменную с большой строкой в которой полно кавычек, но при этом их все не экранировать?
Аноним 06/11/17 Пнд 03:23:20 #306 №1087776 
>>1087772

попробуй релейт https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/template_strings
Аноним 06/11/17 Пнд 04:21:26 #307 №1087780 
>>1084118
опровергай, или иди в хуй.
Аноним 06/11/17 Пнд 05:46:40 #308 №1087790 
>>1087543
Так ты куда сокеты впихнуть хочешь? Если в браузер, то тут только WebSocket есть. Соответственно, и бэк должен их поддерживать.
Аноним 06/11/17 Пнд 12:37:08 #309 №1087838 
Анон, читаю Выразительный JavaScript сейчас, и дохуя чего кажется сложным. Задачи, начиная с глубокого сравнения вообще не понимаю, даже с решением.
Из бэкграунда - курс по Питону на Степик. Эта книга/язык и вправду такие сложные, или я безнадежен?
Аноним 06/11/17 Пнд 13:05:47 #310 №1087845 
Сап, как запретить воспроизведение двух видео одновременно (embed с ютуба) на своем сайте? Если одно воспроизводится, второе возвращается к 00:00?
Встраивается видео через iframe.
Аноним 06/11/17 Пнд 20:37:28 #311 №1087989 
redux vs vuex?
Аноним 06/11/17 Пнд 22:10:24 #312 №1088027 
Реквестирую ресурсы и литературу по изучению NodeJS.
Сам фронтендщик, хочу вкатиться в бэк-енд, и чтобы дополнительно прокачать навыки асинхронной ебли выбрал Node.JS.
Беда в том,что одного чтения документации мне точно не хватит, так как я еле-еле представляю для чего нужны сессии и чем вообще вы бэкендеры занимаетесь. Так что, желательно, нужен прямо для чайников ман, где дядя все покажет и расскажет на живых примерах.
Аноним 06/11/17 Пнд 22:26:08 #313 №1088031 
>>1082963
Это для тестов/опционально. Но я тоже первое время проигрывал. мимо не пишу тесты
Аноним 06/11/17 Пнд 22:27:31 #314 №1088033 
>>1087591
Ты еще про styled компоненты не слышал.
Там возвращаемся к PHP истокам, ВСЕ включая стили в одном файле.
Аноним 06/11/17 Пнд 22:29:29 #315 №1088034 
>>1087543
XHR к бекенду приложухи?
Сокеты вроде для того чтобы слушать события, не? А респонс/реквест это всегда были XHR/Fetch
Аноним 06/11/17 Пнд 23:02:44 #316 №1088043 
>>1087989
Читай функциональное против императивного
Аноним 06/11/17 Пнд 23:06:15 #317 №1088044 
>>1088033
Оказалось гораздо лучше иметь сортировку по фичам и компонентам, чем разбросанную по кучам папок логику controllers/views/... или javascripts/html/css
Аноним 07/11/17 Втр 00:07:41 #318 №1088074 
>>1088044
Как потом отлаживать в дев-консоли вашу парашу, с автогенерируемыми именами классов я вас спрашиваю?
Аноним 07/11/17 Втр 00:19:30 #319 №1088078 
cyberpunk-character-cyberpunk-girl.jpg
>>1082836 (OP)

вангую это отличный маскот для ЖС, просто 10/10, рейт.
Аноним 07/11/17 Втр 01:00:12 #320 №1088092 
>>1088074
За счет декомпозиции никакой сложности
Аноним 07/11/17 Втр 01:03:32 #321 №1088095 
>>1087591
Ты бы еще на египетском написал
Аноним 07/11/17 Втр 02:17:36 #322 №1088113 
>>1087845
бамп.
Аноним 07/11/17 Втр 03:28:26 #323 №1088125 
14749992042733.jpg
Братишки, я тут потихоньку, пилю имиджборду свою, уже создавал тред, но моча потер.
Вот вам исходники, можете проверить, усе анонимно.
Пишу в свободное время, хочу приблизить к функционала двоща.
Аноним 07/11/17 Втр 03:36:28 #324 №1088127 
>>1088125
забыл прикрепить, еблан, простите
https://github.com/yanislav-igonin/dumpach
Аноним 07/11/17 Втр 03:54:27 #325 №1088129 
>>1088125
>>1088127
На сервер залей что-ли, чтоб открывалась.
А то ну как её поставить-то?
Аноним 07/11/17 Втр 03:59:48 #326 №1088130 
>>1088129
на гитхабе в ридми ссылка есть, братишка
Аноним 07/11/17 Втр 04:06:37 #327 №1088131 
>>1088129
меня моча забанил в прошлый раз за то, что я отдельный тред создал и ссылку прямую, не хочу, чтобы опять побанили
Аноним 07/11/17 Втр 05:19:54 #328 №1088137 
>>1088130
там какая-то свалка на фоне и написано в коде "You need to enable JavaScript to run this app."
хотя JavaScript у меня включён для этой страницы и в браузере в общем.
Аноним 07/11/17 Втр 05:36:57 #329 №1088138 
>>1088137
Наверно поэтому и забанили. Лол.
Аноним 07/11/17 Втр 06:07:24 #330 №1088141 
>>1088125
А зачем папка целая router для одного роута? Зачем такие решил размазывать код роутинга по всему приложению? Или это особенность rr4?
Аноним 07/11/17 Втр 10:05:18 #331 №1088177 
>>1088141
>>Или это особенность rr4?
this

Раньше на 3 версии все роуты там были, сейчас, перед переносом его на семантик-юай, решил все депенденси обновить, включая реакт, роутинг и тд
Аноним 07/11/17 Втр 10:55:58 #332 №1088186 
>>1087838
Тебе нужны курсы не по языкам, а по основам программирования. Очень много зависит от практики. Теория без практики почти не усваивается. В голове просто каша образовывается. Нужно много практиковаться.

Вот есть 2 бесплатных курса с практикой в браузере, под ними есть еще дополнительная практика.
https://goo.gl/GLwHHL
https://goo.gl/LbfzdX

Если что-то не получается там же можно задавать вопросы. Полазь по сайту, посмотри, там есть всё что нужно.
Аноним 07/11/17 Втр 11:00:13 #333 №1088187 
>>1088027
Крутая программа обучения https://goo.gl/keMtwT стоит всего 24$ (~1500 руб.) в месяц, первые курсы бесплатные, практика прямо в браузере, помощь менторов, и много других плюшек. По ассинхронности там несколько курсов в программе.
Аноним 07/11/17 Втр 12:05:55 #334 №1088214 
>>1082946
document.getElementById('куда вставлять нах').innerHTML = search_by_author.render()

Не?
Аноним 07/11/17 Втр 13:18:21 #335 №1088244 
ты заебал со своими реферальными высерами
Аноним 07/11/17 Втр 13:20:11 #336 №1088246 
>>1088214
render не возвращает html. Он возвращает объектное представление дерева.
Аноним 07/11/17 Втр 15:18:00 #337 №1088287 
>>1087845
bump. Могу немного заплатить за решение.
Аноним 07/11/17 Втр 15:45:03 #338 №1088294 
Анон, подскажи, я не js прогер, накатал скрипт в Tampermonkey для одного сайта, он как-то вообще нагружает сайт(сервер)?
Не очень просто понимаю работает js и обращается ли он к серверу или к сайту как к уже загруженным данным.
Суть: сайт периодически рефрешится, скрипт быстро перекрашивает нужный текст. Ну а сайт банит за большое кол-во запросов.
Код - https://jsfiddle.net/r6xzrozd/
Аноним 07/11/17 Втр 15:48:20 #339 №1088296 
>>1088294
Нет, никаких сетевых запросов скрипт твой не делает.
Аноним 07/11/17 Втр 15:53:47 #340 №1088301 
>>1088296
Понял, спасибо.
Аноним 08/11/17 Срд 04:42:18 #341 №1088646 
Двач, а вот я сортирую массив, в котором есть названия и на латинице, и на кириллице. Так вот, .sort() возвращает мне массив значений, где сперва идут отсортированные значения на латинице, а потом только идёт список отсортированных значений на кириллице. Как это поменять? Хочу, чтобы сперва были отсортированные значения на кириллице, а затем только на латинице.
Аноним 08/11/17 Срд 05:16:09 #342 №1088652 
>>1088646
При сортировке текста в js используется https://ru.wikipedia.org/wiki/Лексикографический_порядок

Иными словами, ты хочешь отсортировать свой массив так, чтобы он имел порядок не [1, 2, 3, 150, 151, 152], а [150, 151, 152, 1, 2, 3]. Подумой, как бы ты смог получить такой массив с числами из перемешанного, а потом уже на строки это переложи.
Аноним 08/11/17 Срд 09:34:33 #343 №1088687 
Здравствуйте , меня зовут Алеша, такой вопрос.
С помощью этой штуки можно ли в браузере делать мышкой выделение текста в pdf документе и сделать проверку например выделил слово и автоматически произошла проверка, есть ли данное слово в базе?? Нужно для того, чтобы можно было отдавать перевод данного слова на другой язык и запускать audio file с произношением
Аноним 08/11/17 Срд 09:35:32 #344 №1088688 
>>1088687
*Вот этой
https://github.com/mozilla/pdf.js
Аноним 08/11/17 Срд 10:43:52 #345 №1088709 
>>1088687
Здравствуй, Алёша. Меня зовут Серёжа.
Как ты мог бы заметить, текст там рендерится в обычный хтмл с кучей div'ов. Проверять, выделен ли на странице текст, можно так: https://stackoverflow.com/questions/3731328/on-text-highlight-event
Аноним 08/11/17 Срд 13:09:53 #346 №1088744 
>>1088709
> Как ты мог бы заметить, текст там рендерится в обычный хтмл с кучей div'ов.
Не изучал эту технологию подробно, но разве там пдфка рендерится не в 2D canvas?
Аноним 08/11/17 Срд 15:44:37 #347 №1088802 
>>1088744
Блин, да открой ты пример по ссылке на онлайн демо из гитахаба и посмотри инспектором на html. Я вот именно это и сделал, например, перед ответом тебе/ему.
Текст в канвас это, по-моему, немного извращенство (но тут могу ошибаться).
Аноним 08/11/17 Срд 16:27:32 #348 №1088815 
А как можно пройтись по двумерному массиву не двойным циклом, а то выглядит он 2к17 уебищно. При этом мне еще и получить координаты ключи индексы нужных значений.

https://plnkr.co/edit/W3rvSiVTc9JlSXM0VEu8?p=preview
Аноним 08/11/17 Срд 16:46:27 #349 №1088818 
>>1088815

map? https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
Аноним 08/11/17 Срд 17:29:06 #350 №1088827 
>>1088815
Хуй знает как не двойным циклом. Я использую методы массивов для перебора всех значений + стрелки вроде бы смотрится более менее.
https://plnkr.co/edit/clsEI1LjnzrihtbLr7rO?p=preview
Аноним 08/11/17 Срд 18:55:14 #351 №1088855 
>>1088815
Так же, как и по одномерному — map, forEach, find, reduce и т.д.
Аноним 08/11/17 Срд 19:13:47 #352 №1088872 
>>1088815
Зафлаттенить и далее классическим перебором в лямбде.
Что-нибудь из лодаш-фп подойдёт, наверное.
Аноним 09/11/17 Чтв 01:05:03 #353 №1089028 
>>1088815
flatMap + map
Аноним 09/11/17 Чтв 07:26:07 #354 №1089068 
Пасаны, устанавливаю на Ubuntu 16.04 node.js 6.0, а когда проверяю версию nodejs -V, то показывает 4.0 ???
Аноним 09/11/17 Чтв 07:28:18 #355 №1089070 
>>1089068
Как устанавливаешь? Почему 6 версия, сейчас 8 LTS.
Аноним 09/11/17 Чтв 07:35:45 #356 №1089072 
>>1089068
Ну так что, помощь нужна или как?
Аноним 09/11/17 Чтв 08:01:17 #357 №1089075 
>>1089068
Ты просто через apt устанавливаешь? Там не догоняют наш стремительный фатигнутый мир.
Надо через скриптик накатывать:
https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

>>1088815
https://repl.it/OABN
Аноним 09/11/17 Чтв 08:49:36 #358 №1089084 
>>1089068
Поставил убунту месяц назад и сам недавно через это прошел, пришлось немного повозиться чтобы установить последний, хотя это довольно просто. Тем не менее, вот что я тебе скажут, добрый мой совет, ставь винду, в линуксе в реальности надо чаще ебаться со всякой хуйней, ни фига он не удобней для вебдева, все это сказки.
Аноним 09/11/17 Чтв 08:59:31 #359 №1089085 
>>1089084
Быстро же ты сдался. Сдашься один раз, будешь сдаваться всегда. Пока ты встретил небольшую трудность и сдался, что будет когда трудность будет сложнее?!
Аноним 09/11/17 Чтв 09:39:48 #360 №1089092 
>>1089084
Не винда это гавно для макак, и нода тоже гавно, раз не ставится на православную Убунты с пол пинка. Буду дальше заниматься Питоном, там такой херни нет
Аноним 09/11/17 Чтв 09:40:04 #361 №1089093 
14822344651010.jpg
>>1082836 (OP)
нихуя не понимаю этих замыканий и их смысл.
проще ебаного кормана почитать и порешать задачки на алгоритмы чем понять эту злоебучую, мудренную залупень.
5 источников прочел - не могу понять, господи какое же убожество, мудрено так нахуя делать, суки ебучие, ненавижу, ненавижу блядей, шизофреническая хуета эти ваши замыкания, господи нахуя так уебишно делать, сука просто убожество, фу нахуй, фу бльдь, блюю нахуй.
Аноним 09/11/17 Чтв 09:44:21 #362 №1089094 
>>1089075
Я да пробовал ставить вот этим баш скриптон, все равно в итоге версия 4.0 устанавливается

https://gist.github.com/kolosek/b166b4ba2ddcc293d06bfc9f4cdd1689
Аноним 09/11/17 Чтв 10:09:05 #363 №1089106 
>>1089094
Что за левый скрипт? Если ты не смог скопировать строку и вставить в терминал, то у тебя будут большие проблемы в будущем. Правильный скрипт здесь https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions

https://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
Аноним 09/11/17 Чтв 11:09:55 #364 №1089125 
>>1089070
8 даже в федору еще не подъехала
Аноним 09/11/17 Чтв 11:27:51 #365 №1089136 
>>1089093
Что мудреного в том, что в функции можно использовать не только аргументы, но и переменные вне ее тела? Как вообще без этого можно что-то на JS написать?
Аноним 09/11/17 Чтв 11:59:29 #366 №1089143 
>>1089125
Никто из дистровых репов не ставит.
Аноним 09/11/17 Чтв 17:37:03 #367 №1089420 
Бандиты, скиньте топовые онлайн игры на js
Аноним 09/11/17 Чтв 18:05:17 #368 №1089437 
>>1089420
http://hexgl.bkcore.com/play/
Аноним 09/11/17 Чтв 18:20:08 #369 №1089446 
>>1089093
концепция scope не только в замыканиях js используется. если ты не можешь осилить их, значит ты в принципе плохой программист.

точнее, я хотел сказать, заткнись и учи молча, животное ебаное, либо иди подметай хуйло
Аноним 09/11/17 Чтв 18:27:20 #370 №1089452 
>>1089136
можно, ты тоже животное ебаное не понимаешь функциональщину
Аноним 09/11/17 Чтв 18:30:28 #371 №1089456 
>>1089093
У каждой функции есть объект scope, в который записываются локальные переменные. Если локальной переменной с таким именем нет в scope этой функции, то функция берет объект scope высшей функции из call stack'а и пытается найти перменную с таким именем там, и так далее до глобального scope'а.
реализация кстати ебанутая
Аноним 09/11/17 Чтв 19:10:18 #372 №1089478 
>>1089452
И как, много ты на js написал чисто функциональных приложений без this?
Аноним 09/11/17 Чтв 19:44:19 #373 №1089503 
>>1089456
что ты блять поришь, долбоеб?

объект scope для конкретной функции создается в момент вызова этой функции. будет 10 вызовов этой функции - будет создано 10 разный скоупов.

вложенность достигается стеком.

для каждого вызова какой либо функции, текущий стек копируется, в него добавляется scope текущего вызова функции. в теле этой функции текущим стеком будет являться копия предыдущего текущего стека + scope текущего вызова.
короче вот написал хуйню, если даже так будет непонятно, то ливайте из профессии https://pastebin.com/r8NPPyz3

>>1089478
а как блять вообще this относится к замыканиям? ты что ебанутый?

у this есть наследование прототипов, которое работает по принципу скоупов, но речь то идет про замыкания так что ты долбоеб.

так же, в контексте нет упоминания о чисто функциональных приложениях, речь о понимании функционального подхода, так что ты соснул в двойне. никто не говорит писать чисто так, или чисто вот так. но знать это надо, потому что некоторые вещи делаются так, а некоторые вот так.
но вообще я делал такую хуйню может тебе понравится http://jsbin.com/rebazi/8/edit?js,output
Аноним 09/11/17 Чтв 19:56:22 #374 №1089512 
>>1089503
КЕК, мы вам перезвоним
Аноним 09/11/17 Чтв 20:02:55 #375 №1089516 
>>1089478
Сколько хочешь. This же для разработчиков библиотек-структур данных. В своем коде this нужен только если ООП головного мозга накрыл полностью.
Аноним 09/11/17 Чтв 20:06:03 #376 №1089517 
Снимок экрана 2017-11-09 в 22.04.42.png
>>1089512
ты че, бездарность, ебальник открываешь? давай бля выкатывай свой бездарный говнокод

я третий год пишу под ios, до сих пор шарю в js лучшебольше чем обитатели этой сральни
Аноним 09/11/17 Чтв 20:07:46 #377 №1089518 
>>1089517
Ты для цирка пишешь чтоле, посмешише?
Аноним 09/11/17 Чтв 20:11:02 #378 №1089520 
>>1089518
обиженная чмоха, иди учи основы и не выебывайся, а не бомби на рандом господина
Аноним 09/11/17 Чтв 20:20:37 #379 №1089525 
>>1089503
Знаешь, хотел сначала ответить даже пасту накатал, но потом решил что ну нахуй. Ты буйный какой-то.
Аноним 09/11/17 Чтв 20:24:29 #380 №1089526 
>но вообще я делал такую хуйню может тебе понравится http://jsbin.com/rebazi/8/edit?js,output
>var
>push
>unshift
>pop
>миллионы мутаций
>еще что-то пиздит про функциональный подход
Аноним 09/11/17 Чтв 20:29:37 #381 №1089530 
>>1089526
там нет this, дабумтссс

>>1089525
я называю вещи своими именами. вы ждете что я вас хвалить буду, за то что вы порете хуйню и в развитии стоите на месте?

когда я делал хуйню и мне говорили что я делаю хуйню, я был благодарен тем людям. а щас блять куда не плюнь везде дебилы, вам же даже объяснять часто бесполезно
Аноним 09/11/17 Чтв 20:33:28 #382 №1089531 
>>1089517
Откуда в JS приватные методы и типы лопух.
Что за говно ты сюда принес. Очередное говно которое из JSа компилирует в JS?
Аноним 09/11/17 Чтв 20:35:37 #383 №1089533 
>>1089531
1. приватные поля реализуются через переменные коструктора
2. дегенерат, это swift и я пишу под ios. ты читать научись.
Аноним 09/11/17 Чтв 20:37:48 #384 №1089534 
>>1089530
>я называю вещи своими именами
Ты самоутверждаешься за счет незнакомых людей. И провоцируешь их на агрессию к себе. Вон один уже со Свифта бугуртит, кек.

>вы ждете что я вас хвалить буду
Я от тебя ничего не жду, я вообще тебя не знаю. Вряд тут кто-то ожидает похвалы от рандомного НЕБОЖИТЕЛЯ.

>когда я делал хуйню и мне говорили что я делаю хуйню, я был благодарен тем людям
Вот сейчас ты делаешь хуйню — скатываешь тред в токсичное говно. От таких людей для комьюнити больше вреда, чем пользы, даже если они хорошо программируют и дают советы по делы.
Аноним 09/11/17 Чтв 20:38:18 #385 №1089535 
>>1089533
Так тредик о JS, похуй всем тут на твои айфоны. Уходи отсюда.
Аноним 09/11/17 Чтв 20:48:17 #386 №1089545 
>>1089535
даже будучи ios-пидором, я шарю в жс лучше тебя

>>1089534
самоутверждаюсь ебана бля ага да.
я два года назад высрал это чудо вечер, просто у меня што то щелкнуло и я захотел эту поеботу сделать и сделал. http://jsbin.com/wakuru/2/edit?js
мне блять не нужно самоутверждение, я себя объективно оцениваю. я просто зашел напомнить долбоебам что ихнее место на параше
Аноним 09/11/17 Чтв 21:10:18 #387 №1089560 
>>1089545
>ихнее
Правильно "иховое".
Ты такой агрессивный из-за своей подавляемой гомосексуальности, элитный маковод?
Аноним 09/11/17 Чтв 21:20:02 #388 №1089565 
>>1089560
почему подавляемой?

мак у меня только на работе, а так мак это говно пуще венды
Аноним 09/11/17 Чтв 21:28:26 #389 №1089569 
>>1089525
ладна давай высирай че ты там хотел высрать, обижать не буду чесна-причесна
Аноним 09/11/17 Чтв 21:29:38 #390 №1089572 
>>1082836 (OP)
ЖСыны, что надо чтоб зашифровать и расшифровать алгоритмом AES файл в браузере -
при помощи другого ключевого файла, как в openssl?
Я вижу всякие библиотеки AES на JS, но они только с паролем работают.
Аноним 09/11/17 Чтв 21:32:50 #391 №1089573 
>>1089572
ты любой файл можешь представить в виде строки. а любой пароль это строка. соответственно, используя библиотеку АЕС ты можешь использовать любой файл как пароль, если конечно там нет ограничения на количество символов
Аноним 09/11/17 Чтв 21:45:05 #392 №1089582 
>>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, где форма эта?
Аноним 09/11/17 Чтв 21:47:52 #393 №1089588 
>>1089582
>curl
CGI имел в виду.
Аноним 09/11/17 Чтв 21:58:37 #394 №1089598 
>>1089582
>aes-256-cbc
>если не указывать параметр -salt в коммандной строке openssl - всё-равно он его посолит
Page 2 - Method #2, the UNIX Command Line
https://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?
Аноним 09/11/17 Чтв 22:21:46 #395 №1089609 
1.jpg
Я не понимаю почему не срабатывает $location.path, если его просто определить в функции SetCount то работает.
Аноним 09/11/17 Чтв 22:44:22 #396 №1089620 
>>1089598
Не нашёл способа подключить CryptoJS к HTML-файлу, даже вот это не работает:
http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js
Есть у кого AES на JS в ZIP'e?
Аноним 09/11/17 Чтв 22:45:54 #397 №1089622 
>>1089609
Я решил проблему метод SetCount перенес в контролер и добавил в каждый метод on('click') $scope.$apply();.
Аноним 10/11/17 Птн 00:49:45 #398 №1089658 
>>1087845
buuuuuuuuuuuuuuump.
Аноним 10/11/17 Птн 02:27:17 #399 №1089693 
closure-intro.gif
>>1089093

замыкание это ссылка на контекст другого лексического окружения
Аноним 10/11/17 Птн 06:34:21 #400 №1089733 
>>1089534
>Вот сейчас ты делаешь хуйню — скатываешь тред в токсичное говно.

Подожди, то есть ты считаешь что лучше пусть в треде будем много няшных долбоёбов безруких чем токсичные, но неплохие специалисты?

Бля, тебе лечиться надо. У нас тут нет демократии, кто прав тот прав, а не кого больше тот прав.
Аноним 10/11/17 Птн 07:09:33 #401 №1089740 
>>1089658
Ну отлавливай там всякие события плеера, например. https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Media_events
Аноним 10/11/17 Птн 09:22:32 #402 №1089758 
>>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: 59678556102144ae95741ca84617a920cff93ca9fd11c46979cc1944422aca5a
cipherData: 3Vrz6Mlpsp2KbackEjZFGhg0AH1ruMHBhteuKxFxoRUim49t31AkNkZn5Od3ho1onRAdTvsxovsbUtH+Rs3GcrUkbhm55RajcBfDxx/AxoQ=
cipherHex: dd5af3e8c969b29d8a6da7241236451a1834007d6bb8c1c186d7ae2b1171a115229b8f6ddf5024364667e4e777868d689d101d4efb31a2fb1b52d1fe46cdc672b5246e19b9e516a37017c3c71fc0c684
data: 59678556102144ae95741ca84617a920cff93ca9fd11c46979cc1944422aca5a

data1 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 - в душе не ебу.
Аноним 10/11/17 Птн 11:03:54 #403 №1089774 
>>1089733
Зачем ты мне предлагаешь выбор из двух хуевых крайностей? Демократию еще приплел откуда-то.

Я считаю, что хорошему специалисту не обязательно быть полным мудаком и называть всех вокруг дебилами. Это приносит больше вреда, чем пользы. И действительно крутым ребятам (Абрамов, Ситник и т.д.) их скиллы почему-то не мешают вести себя нормально.
Аноним 10/11/17 Птн 13:47:05 #404 №1089825 
Как правильно написать строку вида
var name = array[5];
Если учесть, что array может оказаться пустым или вообще null? Тернарный оператор юзать? Типа (array != null && array[5]) ? name = array[5] : undefined; или что-то вроде?
Аноним 10/11/17 Птн 13:48:54 #405 №1089827 
>>1089825

Я бы так написал. Я джун, работаю второй месяц.

let name = array ? array[5]: null;
Аноним 10/11/17 Птн 13:54:50 #406 №1089830 
9cc98124d63d2f9214878510a823f6a4[1].jpg
>>1082836 (OP)
>>1089758
Шо ни у кого нет AES для файлов на JS что-ли, блядь?
Мне его что кривыми руками с отрозшими ногтями, тыкая пальцами в кнопки - самому быдлокодить?
Аноним 10/11/17 Птн 14:03:06 #407 №1089833 
>>1089830
Нашёл вот это: https://infotechinc.github.io/symmetric-encryption-in-browser/
но здесь надо какое-то непонятное WebCryptography API.
Его что в браузер надо ставить? Можно ли его в виде JS-файлов подключить?
Аноним 10/11/17 Птн 15:19:45 #408 №1089842 
>>1089825
const name = (array || [])[5];
Аноним 10/11/17 Птн 15:32:17 #409 №1089846 
>>1089827
Поведай мне, джун, сколько учил и что читал?
Аноним 10/11/17 Птн 18:07:43 #410 №1089940 
>>1089825
var array = [0, 1, 2, 3, 4, 5];
Array.isArray(array) && array.length > 5 && array[5] || undefined

все остальные животные и написали хуйню
Аноним 10/11/17 Птн 18:30:34 #411 №1089946 
>>1089940

Сам ты животное. И код твой говно.

По пунктам:
0) твой код плохо читается

1) undefined никто не присваивает, это вроде как канон. Присваивают null

2) Если array[5] не определен, то сработает второе условие, присвоится undefined. С-но, твой код избыточен. То же самое про проверку на длину. Она не нужна.

3) Самое главное. Он содержит баги. Если у тебя 0 в array 5, то сработает undefined. Руки отрывать за это.

Все тот же джун, работаю второй месяц
Аноним 10/11/17 Птн 18:49:18 #412 №1089953 
>>1089846

Читал Кантора. Читал про реакт Стоянова и еще по мелочи немного. Еще осилил курс Programming languages от Дэна Гроссмана, но там не совсем про js, а скорее общие принципы. Читал SICP, но страниц сто прочел и отложил пока. Позже вернусь.

Сейчас тимлид хвалит меня за дотошность и ругает за хуевые архитектурные решения. В большинстве случаев он оказывается прав, и аргументированно показывает, что я сделал хуйню. Что бы почитать такого, чтобы перестать быть макакой, а стать нормальным программистом-архитектором, способным спроектировать и реализовать сложную структуру?
Аноним 10/11/17 Птн 19:03:01 #413 №1089962 
А какой лвл и сколько ушло на все про все?
Долго работу искал? Вышка по специальности или просто вкатился?
Аноним 10/11/17 Птн 19:14:27 #414 №1089969 
>>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];

Аноним 10/11/17 Птн 19:19:15 #415 №1089972 
>>1089825
Тред не читал
let name = array[5] ? : array[5] : 'Anonymous'
Но вообще это какой-то хуевый код, когда приходится тащить именно пятый элемент и непонятно есть он нет.
Еще можно использовать деструктуризацию, типа
let [birthdate, first_name = 'Anon'] = array
Если у тебя идет имя вторым элементом, например. Анон - дефолтное если его нет. Так по хипстеркси.
Аноним 10/11/17 Птн 19:27:21 #416 №1089977 
>>1089969
вот написал вариант для школьников, которым СЛОЖНО, РУКИ ОБЛОМАТЬ, ну короче которые еще не созрели для нормального кода:
var unwrap = (optional, defaultValue) => optional !== undefined && optional !== null ? optional : defaultValue;
var array = [1, 2, 3, 4, 5];
unwrap(array[5], "пусто");
Аноним 10/11/17 Птн 20:05:07 #417 №1089997 
>>1089969
>это не баг, а тест на дегенератов.
Именно, вот мы тебя и выявили.

>>1089977
И снова ты свой тест провалил! Вся заварушка началась как раз из-за того, что array может быть не определён и попытка его индексировать вызвала бы ошибку, а ты вот прямо array[5] и хуяришь в функцию. Какой уже смысл там что-то проверять-то.
Аноним 10/11/17 Птн 20:07:58 #418 №1090001 
>>1089940
Ты, кстати, не из тайпскрипта или чего подобного вылез? Нахуя, блядь, проверять, что это Array и что у него есть длина и она больше 5? Ничего этого в условиях не было, можешь у него вообще там обычный объект с цифровым ключом, который он случайно array'ем назвал.
Аноним 10/11/17 Птн 20:39:51 #419 №1090022 
>>1089969
>>1089977
Ты троллишь что ли так? Одно решение охуительнее другого.
Аноним 10/11/17 Птн 21:10:19 #420 №1090047 
>>1089825
надо зделоть шоб пустой массив по дефолту ставился, а там уже по длине проверять
мастержс
Аноним 10/11/17 Птн 21:25:45 #421 №1090054 
Отвечаю на один самый важный вопрос по ЖС ИТТ
сеньор300кк
Аноним 10/11/17 Птн 21:42:22 #422 №1090058 
>>1090054
Что получится, если сложить массив с числом?
Аноним 10/11/17 Птн 21:42:53 #423 №1090059 
>>1090001
Внезпно кстати, у всех строк есть прототип String, у которого есть метод length, так что строка может быть с длиной и больше пяти. Парам па пам, вью!
Аноним 10/11/17 Птн 21:48:29 #424 №1090063 
>>1090058
Строка.
Под капотом интерпретатор попытается преобразовать массив к числу методом valueOf, но так как у массива он возвращает сам массив, а не примитив, то интерпретатор обратится к toString, соответственно произойдет конкатенация числа и строкового представления массива.
Аноним 10/11/17 Птн 21:49:42 #425 №1090065 
Господа, в чём может быть проблема?
https://stackoverflow.com/questions/47222568/can-i-use-hoc-to-wrap-component-with-graphql-and-redux
Аноним 10/11/17 Птн 21:51:53 #426 №1090066 
>>1090054
Товарищ синьер, а можно вкатится в 28 ?
Аноним 10/11/17 Птн 21:53:09 #427 №1090067 
>>1090063
а че я тогда тока што в консоле сложил, и строка сконкатенировалась с последним значением в массиве?
Аноним 10/11/17 Птн 22:10:42 #428 №1090075 
>>1090066
Примеры есть, и немало.
>>1090067
Что значит "с последним значением"? У тебя отдельно приводится к строке число, отдельно массив, затем они конкатенируются. Например, массив [1,2,3] сначала приведется к строке "1,2,3". Затем к этой строке приклеивается приведенное к строке число, например "5" и получается "1,2,3" + "5" // "1,2,35"
Все правильно.
Аноним 11/11/17 Суб 01:48:55 #429 №1090142 
>>1090066

Вопрос повторяется из треда в тред. Ребята, вот исчерпывающий алгоритм.

Желающим вкатиться джуном, имея нестандартные статы (седой олдфаг, синдром Аспергера, маргинальная биография, проживание в глубокой мухосрани и все прочее в таком же духе), нужно сделать так:

1) Два-три месяца вложиться по максимуму.

2) Нанять ментора, который поможет подтянуть пробелы в знаниях и найти работу. Сайтов, предлагающих подобные услуги, довольно много.

Принцип касается не только js, и даже не только программирования. Он универсален.
Аноним 11/11/17 Суб 02:50:21 #430 №1090150 
>>1090142
Хотите мнение? Вы задумали в принципе далеко не самую умную затею. На моих глазах около десятка парней в возрасте за 30, как и Вы, пытались начать все с нуля, освоить программирование, получить хорошую работу с хорошей ЗП и в перспективе уехать за рубеж. Знаете скольким это удалось? Никому! Основная причина - очень высокий порог вхождения при низкой усвояемости нового материала после 30-и, попросту говоря - не осилили. Даже если и осилите, дальше что? Все двери перед Вами распахнутся? Да не тут-то было! Сегодня типлиды кругом 25-30 лет, 30+ уже ПМ. Дядя, ты куда прешь?!(с) Даже многие программисты с хорошим бэкграундом, которые уехали за рубеж после 30-и в итоге там переучивались в водителей погрузчиков, т.к. по специальности устроиться не смогли.

Возможно Вы уникум и у Вас все получится, буду за Вас искренне рад, но статистика вещь упрямая.

В таком возрасте если и начинать все с нуля, то нужно выбирать не инструмент а направление деятельности в котором хотите развиваться, изучать предметную область, затем уже и об инструментах можно подумать, точнее они сами к Вам придут.

Но если у Вас идея фикс, то что могу посоветовать... да ничего не могу посоветовать, т.к. особых предпочтений Вы так и не высказали и с предметной областью как понимаю не определились. Из всех перечисленных технологий, можно только с уверенностью сказать что Java и через 10 и через 20 лет будет на плаву, т.к. это в первую очередь крупный ентерпрайз, там все относительно статично. Но не завоете ли Вы волком через полгода клепая в эклипсе очередной 100500-й класс?
Аноним 11/11/17 Суб 04:26:10 #431 №1090157 
>>1090150
Среди этих 30 летних были молодые и шутливые, слушающие яниксов, стригущиеся в барбершопах и вот это все. Или это все было прям совсем мужичье которому уже нихуя в жизни не интересно?
Аноним 11/11/17 Суб 04:38:04 #432 №1090158 
>>1090150


так и есть в 30 лет уже мозги высохли, я даже школьный выпускной экзамен с трудом сдам
Аноним 11/11/17 Суб 05:30:16 #433 №1090165 
osnovy-programmirovaniya.jpg
>>1090157
Какая разница-то?.. Количество ключевых слов в том же JS давно вышло за все мыслимые пределы (а в вакансиях требуют ещё и серверные языки, при этом з/п часто как за один), и как огромный снежный ком — растёт и растёт.
Аноним 11/11/17 Суб 07:00:41 #434 №1090173 
>>1090165
Мне кажется у меня в 17 мозг​ был более закостенелый, чем в 27. Я тогда не мог даже понять как циклы работают, ни как мир устроен.
Аноним 11/11/17 Суб 11:41:02 #435 №1090227 
Блядь, как же у меня полыхало сегодня с вашего зоопарка. Возникла примитивнейшая задача - автоматизировать заполнение формочек на сайте. А сайт на реакте...
Полез в код страницы - там адский нечитаемый пиздец. Проебался хуй знает знает сколько времени, пытаясь найти где у этого говна начала, а где конец, пока не убедился что вся внутренная логика через хуй проссышь какую жопу завернута в замыкания, и до скоупа в котором она живет мне тупо не добраться. Хуй с ним, прокликаю по кнопочкам, да захуярю что нужно в value нужных инпутов... Да вот только этот реакт работает со своим виртуальным домом, на то что реально нарисовано на странице он хуй ложил. Ладно, захуюрю ему чейдж эвентов... на которые ему тоже совершенно похуй - эвенты в нём тоже свои. Пришлось дрочиться подбирая такой порядок эвентов и ввода данных при котором он воспринимал это как реальный ввод. Для textarea, например, вышло фокус\установка значения\инпут\блюр. Строго, блядь, в этом порядке. Шаг в сторону - и нихуя уже не сработает. Для других инпутов уже другой, блядь, порядок эвентов. И закончилось всё это тем что последнему особо злоебучему импуту пришлось даже кейкоды засылать. Что, к слову, нихуя не кросбраузерно, и рабочее решение нашлось далеко не сразу.
В итоге на юзерскрипт из какой-то сраной сотни срочек ушла вся ёбаная ночь, до сих пор еще задница не остыла.

И это при этом что я далеко не жс-хейтер, скорей наоборт - постоянно его использую, и считаю отличным языком. Но, блядь, не в вебе. Там ад израиль.
Аноним 11/11/17 Суб 12:15:23 #436 №1090233 
>>1090150

Это паста? Мы говорим немного о разном. С тем, что мозги после 30 работают хуже, никто не спорит. Пик интеллектуальной формы человека -- 22 года. Мнение основано на наблюдениях за взлетом топ-шахматистов.

Понятно, что если начал в 30, то Кармаком ты вряд ли станешь. Но не так уж и сложно стать середнякаом, зарабатывать пару тысяч грина в месяц и жить на каких-нибудь теплых островах Тихого океана. И эта жизнь будет гораздо счастливее жизни большинства людей.

Мой совет был направлен в сторону тех людей, у кого с мозгами все хорошо, но которым отказывают в работе по формальным критериям.

> многие программисты с хорошим бэкграундом, которые уехали за рубеж после 30-и в итоге там переучивались в водителей погрузчиков

Что это вообще за хуйня? Программист с хорошим бэкграундом может работать удаленно.
Аноним 11/11/17 Суб 13:15:08 #437 №1090247 
>>1090066
Конечно можно. Все зависит от тебя. Почитай https://joisadler.me/posts/ чувак пока не устроился, но очень сильно прокачался. Другие уже устроились на работу, но блогов не ведут.

Занимаются по этим курсам https://goo.gl/keMtwT
Аноним 11/11/17 Суб 13:29:19 #438 №1090260 
>>1090247
Ага, да, хекслет, рефералом. Ты уже 5 раз пиал
Аноним 11/11/17 Суб 13:34:19 #439 №1090262 
>>1090233
Дибилы блядь! Нахуя уезжать? Работай удаленно, получай в баксах и плати свои 13%.
Аноним 11/11/17 Суб 13:43:31 #440 №1090266 
>>1090262
> плати свои 13%
Зачем? До пенсии все равно не доживешь. А если и доживешь выгоднее эти 13% положить на валютный депозит или в битки.
Аноним 11/11/17 Суб 14:07:23 #441 №1090277 
>>1090266
Иначе атата и здоровым точно не доживешь.
Аноним 11/11/17 Суб 14:19:03 #442 №1090284 
>>1090260
И что? Работает же. Люди успешно обучаются и устраиваются на работу.
Аноним 11/11/17 Суб 14:20:45 #443 №1090285 
>>1090262
>плати свои 13%
Это только на доходы 13%. А еще пенсионный взнос, страховой, и еще всякие другие. Выходит около 50%.
Аноним 11/11/17 Суб 14:24:41 #444 №1090287 
>>1090262

Нахуя уезжать -- давай не будем это здесь обсуждать, хорошо? Чтобы избежать оффтопика и потенциальных срачей на темы, не имеющие отношения к программированию.

Важно иметь достаточную профессиональную квалификацию, для того чтобы был выбор, уехать или оставаться. И очень плохо, когда такого выбора нет.
Аноним 11/11/17 Суб 14:24:45 #445 №1090288 
>>1090142
1) Кому нужно, мы все уже здесь.
2) Лучший путь обучения - самообразование + практика.
Ни одного раза какой-либо старый/молодой долбаеб мне не объяснил лучше, чем написано в книге или документации.

>>1090066
Вкатился в 27, уже год работаю JS/HTML/PHP/NGINX/APACHE/VMware макакой. Потихоньку жалею и учу Python, чтобы свалить из этого ада с легаси говном на PHP5.2, где все перемешанно, где переменные именуют одной буквой. Лучше бы я вагоны разгружал, чесслово. Но у меня бекграунд был математический, прошлая профа - исследователь в НИИ. Из программирования, в школе BASIC (GOTO пацан, дада). В универе решал всем неосиляторам лабы по дискретке на паскале, стеки/очереди/кучи там. всякие. Так что я тот еще мамкин умница. На все обучение HTML/CSS/JS/PHP ушло 2 месяца.
Аноним 11/11/17 Суб 14:45:05 #446 №1090295 
>>1090288
И сколько у тебя ушло на вкатывание времени?
Аноним 11/11/17 Суб 14:48:16 #447 №1090296 
>>1090295
он же написал, 2 месяца. Охуеть.
Аноним 11/11/17 Суб 14:49:48 #448 №1090297 
>>1090296
а если вместе с бекграундом?
Аноним 11/11/17 Суб 14:52:55 #449 №1090298 
>>1090296
Пиздит
Аноним 11/11/17 Суб 14:53:16 #450 №1090299 
>>1090295
Нужно не по времени ориентироваться, а по достигнутым результатам.
Аноним 11/11/17 Суб 15:00:38 #451 №1090300 
>>1082836 (OP)
Кто-нибудь может написать нечто подобное для файлов >>1089833
но без Web Cryptography API, или же подключить его в виде JS-файлов,
наверняка оно есть в JS.
Только я вижу там в исходном коде используется AES-128, а надо AES-256-CBC,
чтобы размер блока и длина ключа была 256 бит.
Аноним 11/11/17 Суб 15:12:32 #452 №1090305 
>>1090300
Нашёл PDF-ку какую-то там внизу листинг кода JS: https://www.theseus.fi/bitstream/handle/10024/92960/Web_Cryptography_API_Luoma-aho.pdf
Не пойму, это расширение к браузеру или его можно в JS-файл запхнуть и подключить как скрипт?
Аноним 11/11/17 Суб 15:34:38 #453 №1090309 
>>1090305
Ты листал pdf и не удосужился понять о чем он?

Это какой то модуль, для сервера, или хз. Код есть на гитхаб https://github.com/webcryptoapiex/secretnote
Скрипт из пдф https://github.com/webcryptoapiex/secretnote/blob/master/public/js/modules/utils.js
Аноним 11/11/17 Суб 15:37:54 #454 №1090313 
>>1090309
>Код на гитхаб

что за прикол?

> var app = parent.app = parent.app || {};
Аноним 11/11/17 Суб 15:53:32 #455 №1090318 
>>1090313
Это код
Аноним 11/11/17 Суб 16:13:28 #456 №1090324 
>>1090313
Это шифрование.
Аноним 11/11/17 Суб 16:17:16 #457 №1090326 
Ребзи, где нужно хранить jsonwebtoken на клиенте? Локалсторадж?
Аноним 11/11/17 Суб 16:21:22 #458 №1090327 
>>1090313
Обычный код. Краткая форма этого:
if(parent.app){
var app = parent.app
} else {
parent.app = {};
var app = parent.app;
}
Аноним 11/11/17 Суб 17:19:19 #459 №1090342 
>>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,
вгрузить туда зашифрованный файл, ввести пароль, получить с него ключ,
и по мере загрузки, скачивать расшифрованный файл.

Не нашёл ничего подобного в Инете, поэтому я и тут.
Аноним 11/11/17 Суб 17:25:44 #460 №1090346 
>>1090342
Ты хочешь написать шифровальщик без сервера? Его взломают через секунду. Как ты собрался подключать экзэшник?
Аноним 11/11/17 Суб 17:56:29 #461 №1090365 
>>1090346
>Ты хочешь написать шифровальщик без сервера?
Взломать шифровальщик всё-равно что взломать алгоритм шифрования.
Более того, если нет сервера, то и передавать на сервер ничего не надо, а значит и перехватить нифига нельзя.
Как подключать? Ну я не знаю, вот так как-то что-ли:
https://stackoverflow.com/questions/4252913/open-an-exe-file-through-a-link-in-a-html-file
Хотя, конечно лучше было бы юзать какие-то JS-крипторы, представляя файл как поток данных.
Есть же видео-трансляции зашифрованные, в том же скайпе, например.
Там файлы не юзаются - там видеопотоки.
Аноним 11/11/17 Суб 19:39:35 #462 №1090415 
>>1090342
Я бы посмотрел в сторону меги, как там реализовано. У них же вроде шифрование идёт на стороне браузера.
Аноним 11/11/17 Суб 19:43:15 #463 №1090417 
>>1090415
Собсно да - уточнил в википедии.
>Mega шифрует весь контент прямо в браузере с помощью алгоритма AES
>шифрование происходит на стороне клиента при помощи javascript
Ну вот и сходи посмотри на их код.
Аноним 11/11/17 Суб 19:48:02 #464 №1090423 
>>1090417
>Ну вот и сходи посмотри на их код.
Так они тебе его и показали. Там скорее всего обфусцировано все до полной нечитабельности.
Аноним 11/11/17 Суб 19:56:45 #465 №1090424 
>>1090423
>Так они тебе его и показали.
Браузерный жабаскрипт. Берешь и читаешь, даже спрашивать не надо.

Я думаю что он и должен быть не сильно обфусцирован - это же их киллер фича, то что кто угодно омжет убедится в надёжности шифрования. А с обфусцированным кодом теряется весь смысл.
Аноним 11/11/17 Суб 20:53:14 #466 №1090441 
>>1090415
>Я бы посмотрел в сторону меги, как там реализовано.
>Ну вот и сходи посмотри на их код.
Там неведомое творится в коде. Во-первых нельзя глянуть - правый клик не работает.
Во-вторых регистрация надо, в третьих дофига скриптов всяких подключено.
>>1090417
>Mega шифрует весь контент прямо в браузере с помощью алгоритма A
AES'ы бывают разные. 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.js
2. Создаётся некий файл 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" видно что первая строка ключевого файла используется - именно как пароль.
Аноним 11/11/17 Суб 21:04:15 #467 №1090447 
>>1090441
>Во-первых нельзя глянуть - правый клик не работает
Ясно всё с тобой.
Какой тебе нахуй шифрование? Винраром шифруй.
Аноним 11/11/17 Суб 21:15:03 #468 №1090450 
>>1090424
>Браузерный жабаскрипт. Берешь и читаешь, даже спрашивать не надо.
>>1090441
>Там неведомое творится в коде. Во-первых нельзя глянуть - правый клик не работает.
>Во-вторых регистрация надо, в третьих дофига скриптов всяких подключено.

Что и требовалось доказать. Хлеб свой они никому не отдадут без боя.
Аноним 11/11/17 Суб 21:16:50 #469 №1090451 
>>1090447
Если ты такой умный, то почему сам посмотреть не можешь.
Аноним 11/11/17 Суб 21:17:18 #470 №1090453 
>>1090450
Да не нужна там никакая регистрация. Файлы с меги и без регистрации скачиваются. И, разумеется, они при этом расшифровываются.
Аноним 11/11/17 Суб 21:24:32 #471 №1090460 
image.png
image.png
>>1090451
Я не могу? У вот тут отлично документированный сорец, даже, блядь, с комментариями.
В то время как у тебя правый клик не работает. Ни и о чем тут дальше говорить можно?
Аноним 11/11/17 Суб 21:24:59 #472 №1090461 
>>1090460
>у меня вот тут
Аноним 11/11/17 Суб 21:48:21 #473 №1090473 
>>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
Этот сорец и те функции что там - вообще ну ни прям ни о чём мне не говорят.
Непонятно что туда заходит, буфер или поток, или байты, или массив бля.
Вывести же нельзя это и пощупать, так сказать...
Аноним 11/11/17 Суб 21:54:37 #474 №1090477 
>>1090473
Вчера всю ночь рыл интернет, наткнулся на очередной CryptoJS-master,
там внутри какой-то bower.json, батники, и ни одного index.html.
Ещё видел .coffee файлы - и ни один JS в папке lib не инклюдится.
Пишет require undefined.
Аноним 11/11/17 Суб 21:55:35 #475 №1090479 
>>1090473
>Говоришь так, как будто с меги мне качается encrypted file, а потом расшифровывается у меня же браузером.
Ты не поверишь...
Аноним 11/11/17 Суб 21:58:44 #476 №1090482 
>>1090460
Не я писал про правый клик. Мой посыл в том, что вместо болтовни взял бы и сделал.
Аноним 11/11/17 Суб 22:02:38 #477 №1090486 
>>1090482
Любой каприз за ваши деньги. Пиши чёткое ТЗ - получишь ценник. Или по твоему я должен подорваться, и из доброты душевной тебе что-то пилить начать?
Аноним 11/11/17 Суб 22:02:49 #478 №1090487 
>>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;
}
Аноним 11/11/17 Суб 22:11:43 #479 №1090498 
flashdrive-integral-crypto-2gb-hardware-encryption-aes-256-[...].jpeg
>>1090486
Если уж за деньги, то проще их направить куда-то в сторону "AES 256 Hardware Encryption".
Пикрелейтед. Но я ж вам хочу мозги поебать чуток, быдлокодингом.
Портабельность такой железяки - самое то, но эта железяка портабельная до поры до времени - т. е.
пока она не накроется медным тазом.
А вот исходник можно на торренты залить и сделать всеобщим достоянием, если не стандартом.
Аноним 11/11/17 Суб 22:19:19 #480 №1090509 
>>1090498
Лучше, конечно. В качестве бюджетного решния можно даже взять обычную флешку, и засунуть на неё gpg с парой батников.

Но и у нас найдутся занятия получше, чем пилить законченные решения для какого-то мимохуя закатившегося поебать нам мозг.

Здесь тебе могут подсказать в какую сторону самому копать(например ткнуть в сорец меги). Но никто ничего для тебя делать не будет, уж точно не за сотни нихуя.
Аноним 11/11/17 Суб 22:30:40 #481 №1090517 
>>1090509
>взять обычную флешку, и засунуть на неё gpg с парой батников
И обычный openssl тоже бы сошёл.
Ладно, вали.
Тащем-та я хотел запхнуть aes-256 в этот brainwallet >>1087382
Ну, чтоб шифровать файлы всякие sha-256 хешем от приватного ключа - в качестве ключа шифрования,
и чтоб можно было, введя пароль - скачать ключевой файл с 32-мя байтами внутри,
имея в дальнейшем возможность использовать его для шифрования-дешифрования файлов,
с помощью openssl, указав его параметром -kfile
А то ну что ж это такое - криптовалюты есть, а криптования инфы нет, только цифровая подпись по ECDSA.
Я где-то ещё слышал есть ECC, но там инфу точками на эллиптической кривой представляют,
а они в два раза больше исходного сообщения, так как имеют две коррдинаты.
Аноним 11/11/17 Суб 22:39:42 #482 №1090520 
Аноны, поясните как из функции вернуть промис, если она сама вызывает функцию, которая возвращает промис? Можно пример?
Аноним 11/11/17 Суб 22:40:51 #483 №1090522 
>>1090520
await
Аноним 12/11/17 Вск 01:57:17 #484 №1090596 
>>1090298
Сейчас бы на дваче с анонами попиздеть. Себя посамовнушать. Классика.
>>1090295
Два месяца. Чисто основы PHP/HTML/CSS/JS. Без препроцессоров, фреймворков, серверов, гитов, ES6 и прочей хуйни которая пришла уже на работе. Из бекграунда была только дискретка в вузе лабы на паскале и сданые кандидатские минимумы по английскому.
Аноним 12/11/17 Вск 05:36:48 #485 №1090653 
>>1090173
>не мог даже понять как циклы работают, ни как мир устроен
Одинаково.
Аноним 12/11/17 Вск 05:45:16 #486 №1090654 
>>1089825
name = Array.isArray(array) && 5 in array ? array[5] : void null
Аноним 12/11/17 Вск 06:24:49 #487 №1090660 
>>1090486
Не умеешь ты себя продавать. Твое поведение отталкивает. Нанимать тебя никто не будет.
Аноним 12/11/17 Вск 07:40:21 #488 №1090667 
>>1090654
>void null
Ты уже определись.
Аноним 12/11/17 Вск 07:49:48 #489 №1090670 
>>1090667
С чем?
Аноним 12/11/17 Вск 09:32:53 #490 №1090688 
Минутка вкусовщины.

Для простоты понимания принято располагать функции по убыванию абстракции. Но как быть, если такие функции ветвятся?

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

Как понятней по мнению анона?
Очевидно, что если каждую ветку вынести в какой-нибудь модуль, то проблемы не будет.
Аноним 12/11/17 Вск 09:34:18 #491 №1090689 
>>1090688
Обосрался с const, там TDZ будет. Представьте как function declaration.
Аноним 12/11/17 Вск 10:37:55 #492 №1090703 
ALARM ПУЗЫРЬ ЛОПНУЛ ALARM
Зарплаты программистам резко подешевели. Выкатывайтесь быстрее, иначе хуй куда устроитесь, ща будет наплыв бывших программистов на всякие стройки и заводы.
АКЦИИ КРУПНЕЙШИХ IT КОМПАНИЙ СТРЕМИТЕЛЬНО ПАДАЮТ, НЕ ВЕРИТЕ ПОСМОТРИТЕ САМИ
Аноним 12/11/17 Вск 11:53:33 #493 №1090723 
>>1090703
В очередной раз набигает школотун, попутавший причину со следствием.
При чём здесь акции в Америке и занятость в роиссе?
Аноним 12/11/17 Вск 12:01:54 #494 №1090728 
>>1090703
Ахтунг алярма, ага. Дави конкурентов в зародыше.
Аноним 12/11/17 Вск 12:26:59 #495 №1090732 
УЧАСТВУЕШЬ В КОНТЕСТЕ НА HACKERRANK
@
5 часов решал задачу уровня HARD, вьебал там рекурсию
Первый кейс выполняется! Замечательно, отправляешь свой код
@
Abort Called, FAQ говорит что у тебя обучение по ресурсам.
@
...
Не больно то и хотелось.
?Пидоры*
Аноним 12/11/17 Вск 12:27:27 #496 №1090733 
Органичение по ресурсам. Да что же это сука за день такой
Аноним 12/11/17 Вск 13:53:13 #497 №1090753 
>>1090732
Что это такое и какое имеет отношение к JS?
Аноним 12/11/17 Вск 14:14:22 #498 №1090764 
>>1090753
Точно. Ошибся тредом, аноним.
Простите меня.
Аноним 12/11/17 Вск 16:14:18 #499 №1090805 
>>1090660
Так и было задумано. Мне, откровенно говоря, и самому не сильно хочется с этим ебаться.
Аноним 12/11/17 Вск 17:09:21 #500 №1090816 
>>1090805
Не надо нифига уже. Я сам нашёл вот это:
https://tutorialzine.com/2013/11/javascript-file-encrypter
Скачал, работает. Но там кнопок дофига и интерфейс меняется, надо делать пару телодвижений.
Работает без Web Cryptography API, правда там используется HTML5 FileReader API
Зашифрованный файл содержит в себе base64 начинается с "U2FsdGVkX1" и это "Salted__"
в обычном тексте, так что думаю не проблема будет записать в него исходный код без base64.
Ну и расшифровать его с помощью openssl тоже думаю можно будет,
ведь файл шифруется паролем. К тому же, поскольку 32 байта в первой строке ключевого файла,
openssl использует как пароль, я думаю его можно просто вот так взять, спарсить и указать в виде пароля.
Но дело в том, что код зашифрованных файлов отличается, поскольку они salted,
криптор его солит как-бы, каждый раз с новой солью, а хотелось бы указать ключ и вектор в виде байт,
и сформировать его из ключа, например ключ - сами байты, вектор инициализации - хеш их.

В общем, буду перепиливать, если конечно - не заебёт, и впадло не станет.
Аноним 12/11/17 Вск 20:29:35 #501 №1090893 
>>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 кодирует бинарную инфу, поэтоу и избыточность тут нехилая.
Такие дела...

Аноним 12/11/17 Вск 20:42:08 #502 №1090899 
>>1090893
>Скопировал из него вот эту вот хуйню: "c2VjcmV0INGB0LXQutGA0LXRgg=="
>и понёс её сюда: http://www.motobit.com/util/base64-decoder-encoder.asp
>не забыв ткнуть radio там - в decode и вижу "secret секрет"...
Да, там секрет - вот тут видно кириллицу: http://secundomer.ru/index.php?r=base64/encode
Аноним 12/11/17 Вск 23:38:28 #503 №1090994 
Что же с нами будет, когда webassembly подъедет
Аноним 13/11/17 Пнд 01:22:14 #504 №1091032 
>>1090994
будем учить C
на самом деле ничего, топовые конторы сделают на нем какую нибудь йобу, а макаки как писали на жквери так и будут дальше писать
Аноним 13/11/17 Пнд 01:49:43 #505 №1091040 
>>1091032

вангую на аде, так как она ок для интернета вещей сегодня читал про этот язык в западных новостях
Аноним 13/11/17 Пнд 02:33:00 #506 №1091051 
>>1090994

всё будет норм, расслабься. у жс будет API для работы с wasm http://webassembly.org/docs/js/
Аноним 13/11/17 Пнд 04:07:36 #507 №1091061 
>>1090994
Будем использовать сверхпроизводительные Rust модули
Аноним 13/11/17 Пнд 06:00:18 #508 №1091080 
>>1090899
Короче, просто скачал этот криптор, запхнул в папку с брайнваллетом, и подключил его фреймом.
Смотрите что получилось: http://rgho.st/7vlks4Rgh
Аноним 13/11/17 Пнд 07:34:36 #509 №1091091 
>>1090994
Операции по работе с DOMом все равно через JS врапперы будут осуществляться.
Аноним 13/11/17 Пнд 07:44:04 #510 №1091092 
>>1090994
С++ стоило бы знать уже сегодня, для понимания работы движков, модулей Ноды, ВебГЛ, ВебВР и прочего. И сколько процентов знают-могут?
Байтоёб лает, караван ПХП-ЖиКвери идёт.
Аноним 13/11/17 Пнд 09:54:25 #511 №1091121 
Вот вроде бы довольно простая херня, но въехать не могу. Анон, что можно почитать на тему...хуй знает, как это назвать, жизненного цикла страницы? У меня на странице есть форма, мне нужно перехватить её событие 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 или нет?
Аноним 13/11/17 Пнд 11:01:11 #512 №1091141 
>>1091121
Если ты делаешь какой-то утилитарный скрипт, которым будут пользоваться ширнармассы, то тебе стоит предусмотреть вообще всё. Даже точку с запятой в начале файла. Вряд ли это твой случай.
Если скрипт специфичный для твоей странички, тогда не трать времени на такие заморочки. Подключай всё в конце Боди.

Скоро это кончится и мы будем префетчить асинхронные модули по ХТТП2, вот тогда и заморочишься.
Аноним 13/11/17 Пнд 11:34:59 #513 №1091148 
nJjNwQAARRc.jpg
Отцы, подскажите новичку, как заставить ангуляр (который 1.x.x) отображать на странице шаблоны по велению сервера на ноде?
(Да, ng способен и сам заниматься роутингом и отображать через ng-view шаблоны, но я хочу именно через ноду с его экспрессом.)
Аноним 13/11/17 Пнд 13:06:19 #514 №1091171 
>>1091148
>по велению сервера на ноде?
AJAX, не?
Аноним 13/11/17 Пнд 16:55:08 #515 №1091287 
retweet.icon.png
перекат >>1091285 (OP)
перекат >>1091285 (OP)
перекат >>1091285 (OP)
перекат >>1091285 (OP)
перекат >>1091285 (OP)
comments powered by Disqus

Отзывы и предложения