Двач.hk не отвечает.
Вы видите копию треда, сохраненную 1 февраля 2017 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
37 Кб, 1052x1052
JavaScript thread #75 Perekoter !JLHGEtxGTk #916832 В конец треда | Веб
Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многими другими.

Часто задаваемые вопросы:
https://github.com/xxxwww/js-thread/blob/master/Wiki/faq.md

Список материалов для изучения:
https://github.com/xxxwww/js-thread/blob/master/Wiki/learn.md

Список инструментов и направления JS-разработки:
https://github.com/xxxwww/js-thread/blob/master/Wiki/tools.md

Конфа /pr/ в Slack:
https://invite-me-to-2chpr.herokuapp.com/

JS-конфа в телеграме:
https://telegram.me/jsthread

НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.
PEREKOT Perekoter !JLHGEtxGTk #2 #916835
Прошлый тред >>911262 (OP)
38 Кб, 200x272
#3 #916843
Блять. Пидорасы. Мне бомбит от всех этих ваших ecmascript, es20xx и бабелей.

Хипстеры в узеньких штанишках там совсем охренели?

Сделали классы, все дружно бросились их использовать, но приватные методы забыли.
Как вообще сделать приватный метод класса в этом вашем яваскрипте?

Запилили декораторы
@хуй
пизда() {}

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

хипстеры дружно бросились использовать декораторы и команда babel берет их и выпиливает нахуй из проекта, потому что они вообще были просто шуткой, питушки так и не решили нужны ли они вообще?

в итоге имеем: недоделанные классы, в которых надо писать this ехал через this и нет приватных методов. Куча проектов использующих декораторы, которых вроде как нет и не должно быть и которые все равно через жопу сделаные.

стрелочные функции
поменял function на () => отвалилось все нахер

как вообще блять так жить?

хочется уже перейти на нормальный язык, без этих ебанутых плясок в яме с говном. жили же как-то раньше
71 Кб, 689x249
#4 #916847
>>916832 (OP)

видео чат написанный на ЖС https://dev.videochat.red/room/Learn JavaScript

можно анонимно решать вопросы с глазу на глаз и таким образом знакомиться с ЖС-Анонами
916874
#5 #916852
>>916843
Ох лол, вот это параша, так параша.
TypeScript посмотри. И дождись когда WebAssembly впилят во все браузеры (год-два осталось).
916866917029
#6 #916855
>>916843
Дедуля, возьми свой турбопаскаль, а жс верни на место, а то опять давление подскочит.
#7 #916866
>>916852

>WebAssembly впилят


Сейчас бы подождать, как WebAssembly впилят. Без DOM и GC.
#8 #916874
>>916847
С какой целью ты его так усиленно пиаришь?
916930
#9 #916887
>>916843

> Сделали классы, все дружно бросились их использовать, но приватные методы забыли.


Не забыли, а не сделали. И не сделают, потому что это бессмысленно. ЖС позволяет на ходу манкипатчить даже небо, даже Аллаха

> но обосрались, декараторы работают только с классами. нельзя повесить декоратор просто на функцию или объект.


Даун? Даун
const пизда = @хуй('zalupa') (x, y) => { return x + y };

> хипстеры дружно бросились использовать декораторы и команда babel берет их и выпиливает нахуй из проекта, потому что они вообще были просто шуткой, питушки так и не решили нужны ли они вообще?


Выкинули эксперементальную функцию из dev-ветки! Где же такое видано?!

> стрелочные функции


> поменял function на () => отвалилось все нахер


Может перед тем, как писать хуйню, нужно хоть один учебник по жсу прочитать? Стрелочные функции не имеют своего контекста, а наследуют контекст родителя

Короче, даун ебаный, съебал в список литературы и от корки до корки
916915
#10 #916892
Посоны, на чем вы пишите ES5 или ES6?
Хочу вкатится нормально в JS, стоит ли сразу начинать писать используя let, class и прочие плюшки нормальных языков?
916894916898916983
#11 #916894
>>916892

> стоит ли сразу начинать писать используя let, class и прочие плюшки


Да. Если нужна поддержка некробраузеров - юзай бабель
916909
#12 #916898
>>916892
Стоит. Если потребуется, на var и прототипы перейдешь слегка подрочившись.
#13 #916909
>>916894
А потом его спросят на собеседке о прототипах и споупе var и он обоссытся. Думай, что советуешь.
Классы и прочее - это только сахар. Суть не меняется.
916918
115 Кб, 1286x1266
#14 #916915
>>916887

>Не забыли, а не сделали. И не сделают, потому что это бессмысленно.



инкапсуляция бессмыслена. ясн

>const пизда = @хуй('zalupa') (x, y) => { return x + y };


> пук



ясн

>Выкинули эксперементальную функцию из dev-ветки! Где же такое видано?!



они раньше были в основном пересете бабеля, мань

>Может перед тем, как писать хуйню, нужно хоть один учебник по жсу прочитать? Стрелочные функции не имеют своего контекста, а наследуют контекст родителя



вот именно потому и отваливается
916980917030
#15 #916918
>>916909

> А потом его спросят на собеседке о классах и споупе let, const и он обоссытся. Думай, что советуешь.

916920916922
#16 #916920
>>916918
Поэтому надо сначала es3 выучить, потом 5й подтянуть, а потом уже на 6-7е соваться
916929917033
#17 #916922
>>916918 ты им расскажешь, что это все хуйня, они все равно конвертятся в var-ы, расскажешь что-то такое прототипы и что классы в яваскрипте это не классы и что инкапсуляция нужна. и тебя не возьмут. тру сторри.
#18 #916929
>>916920
Ебать ты конченный. ES6-7 это такое надмножество ES3, учил ES-next - учил и ES3
#19 #916930
>>916874

пофиксить баги и привлечь Анонов к разработке. думаю после релиза сделать проект опенсурсом. выложить на гитхаб все исходиники, с инсталляцией в два клика. как то так.
#20 #916980
>>916915
Съеби уже, в прошлом треде ты не привёл ни одного аргумета в пользу твоих ебучих приватных методов, кроме "инкапсуляция! деды! штандарт! ООП!", так хоть этот не загрязняй своими бесполезными постами. ИНКАПСУЛЯЦИЯ ЭТО НЕ ТОЛЬКО ПРИВАТНЫЕ МЕТОДЫ.

А про стрелочные вообще смешно. Разве кто-то обещал, что стрелочные это замена обычным? Нет.

Уйди.
917092
#21 #916982
>>916843

> приватные методы забыли


Как и в пайтоне, рубях и прочих динамических языках
Нахуй сходи, неосилятор.
917092
#22 #916983
>>916892

> на чем вы пишите ES5 или ES6?


На js
916985916992
#23 #916985
>>916983
Но js умер.
916986
#24 #916986
>>916985
Да здравствует JS!
#25 #916992
>>916983

> на чем вы пишите ES5 или ES6?


> На компьютере

#26 #917027
Чего-то не понял. Почему JS до сих пор общепризнано не переименовали в ES, которым он сегодня и является?

>ECMAScript — это встраиваемый расширяемый не имеющий средств ввода-вывода язык программирования, используемый в качестве основы для построения других скриптовых языков



Все встраиваемые языки так или иначе расширя.тся за счет API окрудения, куда встраиваются. JS не приносит в ES какие-либо синтаксические расширения, как например это делал AS, все исключительно на уровне API. Так по факту JS это никакой не JS, а ES.

От признания этого факта все только выиграют. Отпадет эта глупая ассоциация с Java у дурачков. Отпадет легаси биография как язычок ща 10 дней и используется только для снежинок. Потому как первоначальные версии JS(хотя по факту вообще не js а то mocha, то live) и были запилены Айком за неделю, и потом на протяжении десяти лет использовался только для анимации снежинок и меню, сегодня нет никакого ТОГО JS, есть вполне себе ES, который встраивается в разные окружения, спеки на который курирует целый комитет комитет.

Такие дела, тащемта. Я бы прямо начал с переименования треда.

Иначе хуйня выходит, какая-то.
#27 #917029
>>916852
И что это им даст?
Они потом еще год-два будут ждать пока им компиляторы с их УДОБНЫХ языков запилят.
А потом, осознают, что работать надо все с тем же web api и знать все те же нюансы работы поднаготной браузера.
#28 #917030
>>916915

>бабеля


Сейчас бы ТРАНСЛЯТОР путать со стандартом.
Иди нахй просто, дебил.
917092
#29 #917032
Парни раскажите плз как работают такие штуки как schedule. Когда мы можем задать какуюто дату и время и определенный код внутри выполнится в это время, как такое делают? setInterval'ом каждую секунду сверяют время с текующим?
917035
#30 #917033
>>916920
Удобнеее всего начинать читать ES 1st edition от 1997 года. Она очень короткая и простая. А потом все остальные, просто диффами. Так проще понять почему все так и откуда легаси.
#31 #917035
>>917032

>каждую секунду сверяют время с текующим


У тебя как с логикой?
Ты когда собираешься куда-то идти, на часы тоже смотришь каждую секунду?
7 Кб, 230x175
#32 #917037
Аноны, а как на es6 описать DTO?
Что нибудь по типу пикрил
#33 #917040
>>917037
То чувство, когда программисты не могут запилить себе DTO без специальных конструкций в языке.
917060
#34 #917060
>>917040
ну так поведай
917066
#35 #917062
>>917037
Про конструктор почитай
917066
#36 #917066
>>917060
>>917062
Странно слышать такие разговоры. Зафиксируй интерфейс, а дальше хуярь хоть литералами, хоть фабричной функцией через конструктор.
917082
#37 #917069
>>917037
Кстати, у тебя почти валидный TS-код получился, лол.
59 Кб, 798x669
#38 #917081
Анончик, это задание так хуёво составлено, или я тупой? Разъясни, пожалуйста. Что за содержимое таблицы? Я должен доставать значения из html-файла? Или наоборот в него запихивать какие-нибудь поля из js-файла? И как вообще слушать таблицу? action в css-файле? Но как тогда из него обращаться к js?

веб вижу первый раз в жизни, про html+css за десяток минут нагуглил, а тут уже долго не могу понять, что требуется
917084
#39 #917082
>>917066
Ничего странного же.
Для большинства весь сахар в языках\конструкции\функции, это чистая магия.
#40 #917084
>>917081
Там все написано предельно просто.

>веб вижу первый раз в жизни


Проблема в этом.
917085
#41 #917085
>>917084
Можешь, пожалуйста, вкратце объяснить, что нужно сделать в задании?
917089917097
#42 #917089
>>917085
Именно то, что в нем написано.
Там предельно ясно и кратко описано, что нужно сделать. Если ты не понимаешь ничего из написанного, то у тебя недостаточно знаний и никакое иное объяснение тебе не поможет.
917165
#43 #917092
>>916980

> вретэ энкапуляция нинужна пок пок пок я твой мамка ипал



ясн

>>916982 в питоне и рублях есть приватные методы и свойства

>>917030 ты можешь запустить это все говно без бабеля?

>>917037
var car = {
wheels: 4,
drivers: 1
}
917093917098917115
#44 #917093
>>917092

> есть


Нету, абсолютная интроспекция. Есть просто соглашения на именование приватных/защищённых полей. В реальном коде чаще всего всем на это плевать.
917182
#45 #917097
>>917085
Сделать резиновую таблицу 4х4, используя только блочные элементы, в двух разный вариантах с ограничениями на максимальную и минимальную ширину и добавить к ней css-анимацию при наведении, на свой вкус. Заполнить ее ячейки номерами по принципу номер строки.столбца. При клике на ячейку читать ее содержимое.

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

Добавить типичную кнопку "вверх", в угол страницы и оформит ее.
917165
#46 #917098
>>917092

>ты можешь запустить это все говно без бабеля?


Ты ебанутый? При чем тут бабель и стандарт?
917182
94 Кб, 640x797
#47 #917101
Аноны, немного не по теме, но посоветуйте плиз какого-нибудь чтива про консоль в целом, про флаги, хуяги, опции всякие, команды и все такое
917107917108917116
#49 #917108
#50 #917115
>>917092

> ты можешь запустить это все говно без бабеля?


Да, в новом хроме и свежей лисе без проблем.
917117917182
#51 #917116
>>917101
gentoo handbook
#52 #917117
>>917115
Да он к декораторам приебался за ким-то хуем, которых в стандарте нет и не было.
917182
#53 #917165
>>917097
>>917089
Аноны, перечитайте мой вопрос. Я говорю про второе задание. Я не понимаю, где должны храниться значения ячеек, как я должен обрабатывать нажатия на таблицу и куда я должен получать значения.
917193
#54 #917182
>>917093

>Есть просто соглашения на именование приватных/защищённых полей.



пистон блокирует обращение к методу из вне, если он начитается с __
в рубях есть ключевое слово private для объявления приватных методов

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

>>917115 тогда запусти
const пизда = @хуй('zalupa') (x, y) => { return x + y };

>>917117 вообще-то это их так радостно анонсировали, а потом тихо дали задний ход
917192917196917700
#55 #917192
>>917182

>их так радостно анонсировали


Ты иди на заборах еще почитай о том, как ворует Путин.
917194
#56 #917193
>>917165
Ты не понимаешь, потому что у тебя не хватает знаний.
На кой черт ты лезешь решать эту задачу, если ты не соображаешь в теме. Там все ПРЕДЕЛЬНО ПРОСТО написано. Даже пятиклассник поймет.
917204
#57 #917194
>>917192

> врети



ясн
#58 #917196
>>917182

>бабель реализует стандарт


Только в твоем манямире.
917217
#59 #917204
>>917193
Ладно. Видимо, программирование это не моё. Энивей, спасибо за помощь. Надеюсь, ты добьёшься успеха в этой области.
917429
#60 #917215
еще интересная параша с этим вашим ангуляром твориться, типа в новом ангуляре2 есть сервисы, в первом наплодили кучу разного говна, фактори, сервисы, константы и еще какая-то хуйня. и что же получается. Теперь стало модно писать на первом, так чтобы можно было мигрировать на второй (что само по себе идея фикс)

но получается, ангуляр поощряет написания сервисов так

app.service('Хуй', class {
constructor(пизда) {
this.пизда = пизда;
}
ебать() {
return this.пизда;
}
});

ко ко ко приватные методы нинужны, пиши каждый раз this, если забыл this, все пизда

вместо
app.factory('Хуй', function(пизда) {
function privateMethod() {}
return {
@гондон
ебать: () => { return пизда }
};
}
917433
#61 #917217
>>917196 тогда зачем он нужен, маня?
917301
#62 #917301
>>917217
лол
#63 #917327
Есть какой-нибудь сервис для логгирования хттп запросов?
Пишешь такой `//????.???/myid?get=${document.cookei}`.
Для имитации серверной стороны хеллоуворда, например.
917338917739
#64 #917338
>>917327

> логгирования хттп запросов?


вкладка сети в браузере
917374
#65 #917374
>>917338
Не, именно сервис.
Запросы из разных мест приходят, не локально.
917389917441
#66 #917389
>>917374
Morgan
917441
#67 #917429
>>917204

> Ладно. Видимо, программирование это не моё.


Пиздец, из чего ты сделал такой вывод? Ты понимаешь, что ты пытаешься решать уравнения, не понимая что такое цифры?
Тебе сначала нужно научиться верстать таблицу, потом узнать про DOM, в котором и хранятся эти данные, а потом аж узнать как JS взаимодействует с DOM'ом и пользователем, чтобы достать данные из DOM и вывести их по клику. Ты непоследовательный, вот в чем твоя проблема
#68 #917433
>>917215

> ко ко ко приватные методы нинужны, пиши каждый раз this, если забыл this, все пизда


Причем тут приватные методы, ебалай? Ты в курсе, что приватные методы можно реализовать через те же декораторы? this - это контекст класса, блджад.
917578
#69 #917437
Может кто порекомендовать туториалы или статьи по ноде с использованием MVC, хочу написать фулстак приложуху как будто я отец бэкенда (в бэкенде плохо шарю)
917440
#70 #917440
>>917437
В шапке же есть ссылка, ну
https://vk.com/doc312456413_440211397
7 Кб, 226x223
#71 #917441
>>917374
Нашел кароч.
С приватным логом - http://osniffer.ru
С паблик логом - http://www1.hut.ru/joker.shtml?Your_ID
лог - http://www1.hut.ru/aneksniff/snf1.txt

>>917389

> Morgan


http://www.imdb.com/title/tt4520364/
?
642 Кб, 300x168
Webgl кпд #72 #917550
Гайз, есть кто юзает webGl?

Собираюсь чисто для юзать, ибо красиво. Понравилась вся эта хуйня.

Но знаю, что времени много уйдет относительно.

Стоит ли игра свеч? Насколько высокий кпд в итоге будет в плане : затраченное время \ польза.
917558
#73 #917558
>>917550
В чем измеряется польза? Ты не назвал задачи
917574
#74 #917574
>>917558
просто пилить красивую визуализацию.

Демосцены и прочее.
#75 #917578
>>917433 можно сделать декоратор @private (в стрик моде другое имя нужно выбрать) и я не могу придумать способа как реализовать такой декоратор, чтобы он детектировал вызов метод извне.

>this - это контекст класса, блджад.



спасибо кэп.

Зачем мне каждый раз писать this, когда можно было его убрать? Даже в яве this писать постоянно не надо. Хотя да, это же яваскрепт.
917589917618
37 Кб, 800x153
30 Кб, 800x145
#76 #917589
>>917578

> можно сделать декоратор @private (в стрик моде другое имя нужно выбрать) и я не могу придумать способа как реализовать такой декоратор, чтобы он детектировал вызов метод извне.


Пикс

> >this - это контекст класса, блджад.


> Зачем мне каждый раз писать this, когда можно было его убрать? Даже в яве this писать постоянно не надо. Хотя да, это же яваскрепт.


Ты такой тупой, но почему-то считаешь себя охуенно умным. Как в таком случае получать доступ к глобальному скоупу?
917647
#77 #917618
>>917578

>Зачем мне каждый раз писать this, когда можно было его убрать? Даже в яве this писать постоянно не надо. Хотя да, это же яваскрепт.


Ты дебил просто. Потому что не понимаешь, что то о чем ты говоришь и чего хочешь - называется - паттерн модуль, сука. Для этого не нужны специальные конструкции яызка. И если в твоей джаве - каждый класс это модуль, это не значит, что везде так должно быть.
917648
#78 #917647
>>917589

>Пикс



на пике ридонли, а не приват

>Ты такой тупой, но почему-то считаешь себя охуенно умным. Как в таком случае получать доступ к глобальному скоупу?



сказал человек, который не понимает разницу между ридонли и прайвитом

как полчить доступ к глобальному скопу?

function твоя_мамаша() {
пизда = 1;

return {
getPizda() {
return пизда;
}
}
}

видешь, никаких this не надо
917649917720
#79 #917648
>>917618

>Для этого не нужны специальные конструкции яызка



чтобы сделать class на яваскрипт тоже не нужно специально конструкции языка

>И если в твоей джаве - каждый класс это модуль, это не значит, что везде так должно быть.



что в этом плохого?
917651
#80 #917649
>>917647
Ой дурак.
917659
#81 #917651
>>917648
Я тебе даже объяснять дальше ничего не буду.
Ты конченный. Сорри.
917659
#82 #917659
>>917649>>917651

>ко ко ко



ясн
#83 #917700
>>917182

>пистон блокирует обращение к методу из вне, если он начитается с __


>в рубях есть ключевое слово private для объявления приватных методов


Нет. Питон лишь делает доступ к таким методам слегка сложнее, но он есть. И эта "приватность" была введена по другим, более полезным причинам, чем "НИХАЧУИМДОСТУПДАВАТЬ!".
В руби тоже определение приватного немного другое, да и, опять же, легко обходится.
917778
#84 #917720
>>917647

> сказал человек, который не понимает разницу между ридонли и прайвитом


Ну-ка расскажи в чём принципиальная разница

> как полчить доступ к глобальному скопу?



> function твоя_мамаша() {


> пизда = 1;



> return {


> getPizda() {


> return пизда;


> }


> }


> }



> видешь, никаких this не надо


То есть тебе действительно проще для каждого модуля/функции писать пятистрочный геттер вместо четырехбуквенного this, я правильно понял?
917781
#85 #917739
>>917327

>запросы



жисаны, а как логировать в браузере коммуникацию с сервером через вебзокеты?
917740
#86 #917740
>>917739
Во вкладке network, в вебсокет-подключении есть весь лог
917741
#87 #917741
>>917740

ок нашел, спсб, они там обозначены статусом 101
#88 #917761
Время загадочек.

parseInt('3', 2);
-> NaN

parseInt('03', 2);
-> 0
917763917773917780
#89 #917763
>>917761
И что тебе не понятно?
#90 #917773
>>917761

>parseInt('3', 2);


Парсим целое в двоичной системе из строки. Первый символ строки не подходит под двоичное число. Возвращаем NaN.

>parseInt('03', 2);


Парсим целое в двоичной системе из строки. Первый символ строки подходит под двоичное число, сохраняем его для формирования числа, смотрим следующий символ в строке. Следующий символ не подходит. Возвращаем число.
917795
#91 #917778
>>917700

>Нет. Java лишь делает доступ к таким методам слегка сложнее, но он есть. И эта "приватность" была введена по другим, более полезным причинам, чем "НИХАЧУИМДОСТУПДАВАТЬ!".



пофиксил
917783917787
#92 #917780
>>917761
NaN - Not-a-Number, не число. В первом случае нет двоичных цифр, и число прочитать не получается. Во втором случае одна цифра есть, она и выдается результатом.
917795
#93 #917781
>>917720 речь не о гетерах, а о том, что в сахарных классах нужно постоянно писать this
и еще и в конструкторах этот this определять. Если ты заметишь то в мое примере кода не больше чем в

class ТвояМамаша {
constructor() {
this.пизда = 1;
}

getPizda() {
return this.пизда;
}
}
#94 #917783
>>917778
А вот в Delphi через рефлексию приватные элементы не получишь.
#95 #917787
>>917778
Ты идиот? Ты пишешь

>Питон блокирует доступ извне


Это не так. Доступ к ним извне остаётся. Значит, не блокирует.
917788917789917835
#96 #917788
>>917787
Он идиот. Он ведь даже не видит разницы между хранением пропертей в объекте и в замыкании.
#97 #917789
>>917787
Хотя нет, виноват, ты писал, что питон блокирует доступ из вне.
#98 #917795
>>917773
>>917780
Спасибо и добра
52 Кб, 922x346
#99 #917835
>>917787

> я идиот пук пук



ясн
917844917848
2 Кб, 282x90
#100 #917844
>>917835
Всё доступно. Блокировкой это называть никак нельзя.
917851
#101 #917848
>>917835
алсо,

>питон 2


>camelCase

#102 #917851
>>917844 в яве ты тоже можешь получить доступ через рефлексию. и что? Значит ли это что в яве нет инкапсуляции?
917857
#103 #917857
>>917851

>Значит ли это что в яве нет инкапсуляции?


Я тебе уж в который раз пытаюсь сказать, что инкапсуляция не заканчивается на приватных методах. Но ты не слушаешь.
И джава с питоном тут всё равно различаются. Всё, что делает питон с "приватными" __методами, это автоматически добавляет к ним префикс в виде имени класса. И всё.
917860917861
#104 #917860
>>917857
Если угодно, вот тут наглядно видно — https://repl.it/FR27
#105 #917861
>>917857

>Всё, что делает питон с "приватными" __методами, это автоматически добавляет к ним префикс в виде имени класса. И всё.



зачем он это делает? ведь скрывать методы даже таким неуклюжим способом нинужно?
917866917872
#106 #917866
>>917861
Чтоб исключить коллизии имен. Так-то нахуй не нужно. Достаточно соглашения, что _foo - protected, а __bar - private, джентельменам верят на слово.
917868
#107 #917867
отцы основатели зарезервировали нам ключевые слова, в надежде, что потомки запилят нормальные классы

implements, interface, let, package, private, protected, public, static, and yield

но нет блять, потомки хотят жрать говно, хотят использовать подчеркивания перед именами
917871
#108 #917868
>>917866

>Чтоб исключить коллизии имен



какую коллизию? Причем тут коллизия имен? Откуда она может взяться вообще?
917871917873
#109 #917871
>>917868
В родителе и потомке, очевидно же. Name mangling.
>>917867

>отцы основатели зарезервировали..


и тут ты такой с пруфами, что вся эта хуйня нужна в динамическом языке вроде питона
917880
#110 #917872
>>917861
Внезапно, оно и не для скрытия! Именно поэтому до них и можно так легко добраться.

Это чтобы гарантировать (ну, в какой-то степени, программист ведь что угодно сломать может) вызов нужного метода при наследовании от твоего класса.

Например, у тебя был нужный тебе метод, кто-то засабклассил твою библиотеку и, не заглядывая внутрь, случайно назвал свой метод так же, как у тебя, но при этом потом спользует базовую функцию. Выйдет хуита - https://repl.it/FR2u , потому что get_time как бы полагалось на базовый метод.
Если же использовать __, то всё работает как надо https://repl.it/FR2s
А если хочется или нужно, легко можно обойти.
917880
#111 #917873
>>917868
Вот тебе еще пояснение и так знаю, что тебе ничего не поможет

>A lot of people erroneously use double underscores to simulate "private" members, because double underscores invokes code mangling and makes those members harder to reference outside the class. However, it does not actually make them inaccessible.



>Most of the time, it mainly adds a road bump to unit testing.



>Really the double underscore mangling mechanism is to hide those members from subclasses that you don't want clobbering the values inadvertently. Name mangling isn't intended to hide the member from other programmers; the mangling scheme is simple, and referencing the variables anyway is easy.



>Single underscore is the common convention for internal members. That's saying, we're all adults here, and although you can see it, this variable is intended for internal use. If you reference it, there's no guarantee it will still be there in future versions.



>The Pep8 doc talks about that, and says use of the double underscores for variables and functions should really be rare.

917880
#112 #917880
>>917871

>и тут ты такой с пруфами, что вся эта хуйня нужна в динамическом языке вроде питона



инкапсуляция нинужна, дайте пруфы, что нужна

>>917872

>Внезапно, оно и не для скрытия! Именно поэтому до них и можно так легко добраться.



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

>>917873 в яве тоже можно извратится и вызвать приватный метод
917885917903917910
#113 #917885
>>917880
Ладно, завершай, жирно уже очень.
917891
#114 #917886
Так в чем аргумент? В том, что сокрытие реализации за интерфейсом не нужно, потому что есть питон, в котором используют слеши для этих целей?
917897
#115 #917891
>>917885 просто мне серьезно не нравится та параша в которую катят язык. Язык называется JavaScript, а не PythonScript
#116 #917897
#117 #917903
>>917880
Ты не в силах сделать инкапсуляцию без специальной синтаксической конструкции? От которой [конструкции] все равно не будет никакого профита из-за тотальной динамики и интроспекции? Серьезно?
917908
#118 #917908
>>917903 вопрос не о том кто в силах, а кто нет. Вопрос в том, что классыв их текущей реализации которые недавно ввели в язык это говно без задач
917917
#119 #917910
>>917880

>>Расписал для последнего довна, для чего в питоне __foo, и почему эта штука не имеет никакого отношения к private в крестах или жабке например


>в яве тоже можно извратится и вызвать приватный метод


nuff said, научись читать
917918
#120 #917917
>>917908

>что классыв их текущей реализации которые недавно ввели в язык это говно без задач


От того, что у нас тут динамика, и все интерфейсы существуют только в соглашениях и в головах разработчиков. Хочешь интерфейсов как в жабке - пиши на жабке, TypeScript, Scala
917924
#121 #917918
>>917910 нотация __ в питоне означает: "пожалуйста не вызывайте меня", а теперь попробуй доказать, что это штука не имеет никакого отношения к инкапсуляции
917923917933
#122 #917923
>>917918

>нотация __ в питоне означает: "пожалуйста не вызывайте меня"


Нет. Зачем было бы добавлять в класс то, что не надо вызывать? Это же бессмысленная трата места в текстовом файле.
917929917938
#123 #917924
>>917917

>От того, что у нас тут динамика, и все интерфейсы существуют только в соглашениях и в головах разработчиков



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

Сдается мне что ты думаешь, что раз язык динамический ты вся параша должна быть доступна всем
917928917930
#124 #917928
>>917924
Это побочный эффект а не какой-то краеугольный камень
917931
#125 #917929
>>917923

>Зачем было бы добавлять в класс то, что не надо вызывать? Это же бессмысленная трата места в текстовом файле.



зачем разбивать длинные функции, на множество мелких, чтобы сделать код более читаемым и повторно используемым, ведь это пустая трата места в тестовом файле?
917932
#126 #917930
>>917924
Вот ты опять путаешь всё. Замыкания не были придуманы для скрытия чего-то там.
917936
#127 #917931
>>917928 доступность приватных методов в питоне тоже побочный эффект.
917934917937918503
#128 #917932
>>917929

>чтобы сделать код более читаемым


>ведь это пустая трата места


Ну ты же сам себе противоречишь. Повышать читаемость кода это вседа полезно.
917938
#129 #917933
>>917918

>нотация __ в питоне означает: "пожалуйста не вызывайте меня"


False, ты жопой читаешь. "Пожалуйста, не вызывай меня", это одинарное лидирующее подчеркивание. Двойное - задействование name mangling.
917941
#130 #917934
>>917931
в питоне нет приватных методов
#131 #917936
>>917930 и область видимости тоже не была придумана для скрытия чего-то? Ведь в самом деле. Зачем что-то скрывать, ведь все компиллится в машинный код, а там ты можешь читать любой регистр и любую ячейку памяти
917940917942
#132 #917937
>>917931
Нет. В питоне нет приватных методов. Доступной __foo не побочный эффект, потому что об их недоступности речи никогда и не шло.
#133 #917938
>>917932
я утрирую аргумент >>917923
917944
#134 #917940
>>917936
Так мы про замыкания или облась видимости? Регулируемая яркость на мониторе тоже не для скрытия от посторонних с плохим зрением была придумана? Вот уж новость!
#135 #917941
>>917933 пожалуйста не вызывайте меня и не переопределяйте. так правильно?
#136 #917942
>>917936
да, локальные переменные не для сокрытия чего-либо. ты реально шизик, или настолько зеленый?
917946
#137 #917944
>>917938
Я знаю. А я утрировал твоё (неверное) высказывание. А такими объясняющими постами ты нарушаешь правила игры.
917950
#138 #917946
>>917942 а для чего нужны локальные переменные? Давайте все в глобальный скоуп пихать
917947917961
#139 #917947
>>917946
Скорость доступа, например? Переиспользование имён?
917954
#140 #917950
>>917944 т. е. утверждаешь, что разбиение длинных функций на короткие не нужно? ясно
917964
#141 #917954
>>917947 это динамический язык, все должно быть доступно всем. если не хочешь чтобы взывали ставь впереди слешь и баста
917956
#142 #917956
>>917954

>если не хочешь чтобы взывали ставь впереди слешь


Лоудаш, поправил тебя.
917962917967
#143 #917961
>>917946
Область видимости переменных внутри функции и модификаторы видимости полей/слотов объектов - вещи ортогональные. Одно может не знать про другое. Не смешивай понятия разного порядка.
917966
#144 #917962
>>917956 спасибо :3
#145 #917964
>>917950
Нет же. Разбиение нужно, потому что оно полезно. А вот добавление в код неиспользуемых функций — нет.
917970
#146 #917966
>>917961 и то и то реализует инкапсуляцию
917968
#147 #917967
>>917956
Но ведь андерскоре!
#148 #917968
>>917966
Дай определение инкапсуляции.
917971
#149 #917970
>>917964

>А вот добавление в код неиспользуемых функций — нет.



ты не понимаешь смысл приватных функций. Приватные функции это внутренние функции, которые используются внутри класса. и совершенно верно, мы не хотим, чтобы их вызвали снаружи, потому мы хотим их скрыть
917979
#150 #917971
>>917968 окей гугл, инкапсуляция в программировании
917979
#151 #917975
ладно, все. Мне код писать надо, было весело. На сегодня все
917980917997
#152 #917979
>>917971
Нет, я-то там уже был и читал. Но мне просто хочется, чтобы условились и были уверены в том, что мы одно и то же имеем в виду под этим словом.

>>917970

>ты не понимаешь смысл приватных функций


Я понимаю. Речь шла о

>"пожалуйста не вызывайте меня"


Это ни к питоновским, ни к приватным методам не относится.
#153 #917980
>>917975
Приходи ещё, только постарайся расширить область претензий, а то одна лишь инкапсуляция, да ещё и с игнорированием половины аргументов, уже слегка поднадоела, если честно.
#154 #917997
>>917975
Твоя беда в том, няша, что ты мыслишь с позиции баззвордов и религиозных догматов (Должно быть так, яскозал), а не из соображений прагматики. Странно требовать от языка, где можно намонкипатчить такого, что 5 тимлидов со Спинозой и Кантом не распутают, какого-то контроля доступа к полям объекта. Один хуй все держится на соглашениях и соображениях здравого смысла. Плюс подстелена соломка со стороны ЯП, чтоб совсем уж на граблях ноги не ломать.
#155 #918076
>>916832 (OP)
/r примеры проектов на JS с хорошим стилем
73 Кб, 764x655
#156 #918080
>>916832 (OP)
В тред призываются мегамозги. Как сваять на JS максимально простую (в плане кода) логическую игру типа судоку или 2048? Подробнее - на пике.
918085918170
#157 #918085
>>918080
Берешь и ваяешь, без задней мысли.
Вопрос у тебя уровня - как помыть посуду?
#158 #918150
Может ли react-router нормально работать без сервера?
Убрал сервер, все отвалилось. Потом в точке входа в indexRoute указал полный путь к index.html и оно отобразило его, но остальные роуты не работают ни в каком виде.
918583
#159 #918170
>>918080

> Таблица рекордов


> Сложность игры


> Сохранение игр


> Авторизация


> Время выполнения 3 часа

918173
#160 #918173
>>918170

> Не забудьте предусмотреть сериализацию результатов во все мыслимые форматы


> Игра должна поддерживать возможность офлайн работы с отложенной синхронизацией


> И да, на заметочку, 3 часа - это худший показатель среди соискателей

918180
#161 #918180
>>918173

>реализация должна быть с gpu ускорением

#162 #918195
Хочу собрать мой жс проект в исполняемый файл. Какие подводные камни, какие профиты?
918499918579
#163 #918314
Насколько удобней писать бэкенд на Ноде? Это ведь тот же джс по сути, то есть и фронт и бек на одном языке (но фронт джейквери, но не суть). Удобно же в теории, а как на деле?
918317918396
#164 #918317
>>918314

>дурко до сих пор не слышал про ангуляр

918324
#165 #918324
>>918317

>ангуляр


Это ты к чему?
918333
#166 #918333
>>918324
ну типо ангуляр крутой, можно на мобильники писать на нем, учится легко
Вам какая больше версия нравится вторая или первая?
#167 #918392
Учу тут реакт, думаю захуячить что-нибудь несложное, но полезное. Киньте идейку для приложухи, чет нихуя годного на ум не приходит
918401
#168 #918396
>>918314
На деле так и есть, это охуенно удобно. Особенно, если ты фулстак и параллельно пишешь и то, и то. Тебе не нужно каждый раз "переключаться"
918426
#169 #918401
>>918392
туду лист сделай, охуенчик)
#170 #918426
>>918396

>если ты фулстак


А так бывает? Вроде, в норм конторах фронт и сервер-сайд прогеры разделены
918428
#171 #918428
>>918426
Так бывает в большинстве контор. И поверь, далеко не все из них "норм".
#172 #918448
Скажите, из чего и чем транслировать в лягухоскрипт, чтобы линейный код автоматически заворачивался в коллбэки с асинхронностью? А то неудобно очень.
918459
#173 #918459
>>918448
https://habrahabr.ru/company/microsoft/blog/269871/

Алсо

> коллбэки


Остались в истории, их сейчас никто не юзает. Сейчас используют промисы, поверх которых и работает async/await
https://learn.javascript.ru/promise
#174 #918499
>>918195
Бамп. Неужели итт не найдется ни одного программиста?
918504
#175 #918503
>>917931

> доступность приватных методов в питоне тоже побочный эффект


Нет, это особенности реализации ооп методами костылей и изоленты
918510
#176 #918504
>>918499
Нативный бинарник из js ты не соберешь.
918578918626
#177 #918510
>>918503

> ооп должно быть как я привык!! я скозал!!

918511
#178 #918511
>>918510
Ты дурак? Пайтон итеративно развивался от версии к версии, ооп прилепили к двойке так, чтобы не особо заморачиваться.
#179 #918523
Где хостить сервис?
Вот у меня есть программа на nodejs, она время от времени делает что-то в интернете, немного сохраняет.

Где её хостить? Дома машину не охото включенной постоянно держать. В гугле же хуй найдёшь так как результаты засорены ебаными детьми с майнкрафтом.
918536918548918577
#181 #918548
>>918523

> Где её хостить?


Любая vds, можешь на openshift поиграться для старта, там базовый стек из 3 элементов бесплатен.
6 Кб, 160x148
#182 #918549
Ребята, встречайте новичка. Изучаю JS. Чтобы что-то оставалось в архивах и памяти, (да и вообще почитал, что у любого нормального разработчика должен быть акк на GitHub) зарегистрировался там, скачал git, подключил синхронизацию с PyCharm. До этого баловался только писал всякие скриптики на Пайтоне, из разряда массивов, сортировке по величине, четные числы налево, девоч.. нечетные направо и так далее. Так собственно вопросы. 1) Все правильно сделал? 2) В какой IDE работают люди с JS? Тут начитался, реакт-хуякт, ангулар-хуянгуляр, скачал а там просто файлы .js, как это вообще использовать блять в своей работе-то? Хочу писать простенькие веб-приложухи, расширения для браузера и фронт. Например написать каклькулятор для начала.
918561918562
#183 #918557
Где можно захостить ультрамаленький проект на реакте, чтобы показать другим людям?
918561918575
#184 #918561
>>918549

> В какой IDE работают люди с JS?


emacs

> как это вообще использовать блять в своей работе-то?


берешь и используешь
>>918557
github pages, если у тебя только статика
918642
#185 #918562
>>918549

>В какой IDE работают люди с JS?



в vim
#187 #918577
>>918523
Херока?
#188 #918578
>>918504
Потому что это интерпретируемая параша?
#189 #918579
>>918195
Electron
#190 #918583
>>918150
Можно hash history использовать, оно в другом месте тогда роут возит
#191 #918626
>>918504
Почему? Я видел бинарники из питона, хотя он тоже интерпретируемый. Пилю канвас игру и просто интересно, будет ли какой нибудь профит в производительности если соберу ее в нативный ехе.
918632918633918685
#192 #918629
братишки
я если честно хуею немного.
вот мне нужно сохранять в базу дерево категорий
+ трэкать парент_ид (да-да категории имеют предков)
все это сопровождается запросами в монгу в цикле

так вот
как вы блядь так могете в асинхронное программирование? Это же блядь хуева туча чейнов промисов и прочее.
удобно ли это вообще читать и писать?
ну и чо делать вообще
спасибо.
918679918687
#193 #918632
>>918626
Не соберёшь. "бинарник" питона это архив с интерпретатором, исходным кодом и всеми нужными библиотеками внутри.
#194 #918633
>>918626
Ты дебил? Пайтон собираться будет точно так же как и js и любой другой интерпретируемый язык - Вместе с интерпретатором. Вопросы про производительность еще есть?
918638
#195 #918638
>>918633
Так он все равно будет на десктопе запускаться без браузерного интерпретатора и будет лишен уязвимостей этого браузера. Будут опущены сотни проверок на безопасность расширений, фильтрации соединений и прочего, потому что на десктопе это не актуально. И памяти он должен потреблять меньше. За счет этого мне кажется будет прирост производительности.
918675
#196 #918642
>>918575
>>918561
спс, не знал о таком.
#197 #918675
>>918638
Все равно это нереально медленно, в сравнении с нативом
#198 #918679
>>918629

> все это сопровождается запросами в монгу в цикле


Нельзя так делать, переписывай. В монге же есть всякие map/reduce

> как вы блядь так могете в асинхронное программирование? Это же блядь хуева туча чейнов промисов и прочее.


С async/await оно уже выглядит как синхронное, гугли

> удобно ли это вообще читать и писать?


Да, если научиться думать ассинхронно
918684918696
#199 #918684
>>918679
спасибо, братан. Не уходи из тредиса плз.
#200 #918685
>>918626

> бинарники из питона


Хуясе, покажи.
Но максимум, что ты мог видеть - байткод в виде архива, переименованного в exe.
#201 #918687
>>918629

> как вы блядь так могете в асинхронное программирование?


Промисы
89 Кб, 1174x725
12 Кб, 571x91
16 Кб, 1087x51
#202 #918696
>>918679
короче такая хуйня
приходят категория вида

"Home > Furniture > Chairs > ..."

паршу это все в массив categories

мне нужно их залить в базу, в виде
{
name: ...
parent: ObjectId(....)

}

Т.е. например
{
name: Chairs
parent: (ссылка на Furniture в этой же коллекции)
}

делаю как на пикрелейтед (find'aми проверяю есть ли уже такая категория, если нет и индекс не 0 то ищу предка, беру _id и инсерчу)

все бы ничего, но в строке 430 он мне выводит пустой массив на find, хотя этот элемент был заинсерчен на прошлой итерации цикла.

короче, тут какая то хуерга с асинхронностью, или я вообще какую то хуйню творю.
программач, помогай.
я в ахуе блядь. [ ] Chairs - вывод консоли на итерации,

Спасибо.
89 Кб, 1174x725
12 Кб, 571x91
16 Кб, 1087x51
#202 #918696
>>918679
короче такая хуйня
приходят категория вида

"Home > Furniture > Chairs > ..."

паршу это все в массив categories

мне нужно их залить в базу, в виде
{
name: ...
parent: ObjectId(....)

}

Т.е. например
{
name: Chairs
parent: (ссылка на Furniture в этой же коллекции)
}

делаю как на пикрелейтед (find'aми проверяю есть ли уже такая категория, если нет и индекс не 0 то ищу предка, беру _id и инсерчу)

все бы ничего, но в строке 430 он мне выводит пустой массив на find, хотя этот элемент был заинсерчен на прошлой итерации цикла.

короче, тут какая то хуерга с асинхронностью, или я вообще какую то хуйню творю.
программач, помогай.
я в ахуе блядь. [ ] Chairs - вывод консоли на итерации,

Спасибо.
918703918709
#203 #918703
>>918696

> Этот код

918723
#204 #918705
ребятки, какой уровень знаний нужен что бы вкатиться в фриланс (всякие апворки и тд.)? английский - уверенный адвансед (ебаные 10 лет с репититоршой).
расскажите, что лучше подучить, за что первое хвататься (фиксед прайс или почасовые заказы?) как найти первого клиента?
#205 #918709
>>918696
Не мучай себя, возьми ормку, вроде Mongoose/Waterline, они там все это за тебя делают. Просто указываешь название поля, а они сами под эти связи данные подтягивают
#206 #918723
>>918703
это драфт проекта считай.
код ебаное говно
я джун и пока что то никто не озаботился кодревью.
13 Кб, 538x336
#207 #918803
У меня есть главный div — b. Под ним должен располагаться вспомогательный div — a. Слой a используется для группировки кнопок c1, c2, c3, которые должны находиться поверх слоя b.
Возможно ли реализовать подобное средствами CSS? Очевидное использование z-index на кнопках не работает, если не прописать им position: absolute, но с таким позиционированием их не удается сгруппировать.
Как быть?
918806918812918813
#208 #918806
>>918803

> Возможно ли реализовать подобное средствами CSS?


ето js тхреад
918808
#209 #918808
>>918806
Это тред фронтендобогов и нодогоспод.
918889
#210 #918812
>>918803

> Как быть?


Перестать костылить и изучить флекс
http://flexboxfroggy.com/#ru
#211 #918813
>>918803
бля им-то нахуй абсолют, абсолют это 'a', а кнопки относительные
#212 #918889
>>918808
Пидерастов короче.
#213 #918921
Сосаны, нужно написать десктопное приложение на жс с бд. Можно даже чтобы через хром открывалось. Я написал драфт с использованием Express, sequlize в качестве орм и нанджакс в качестве шаблонизатора паг и джейд это пиздец, а мусташы и хэндлбары говно без нормального наследования и блоков. Думаю в итоге перекатить на electron.js, чтобы не нужен был браузер. Так вот, как электрон дружит с шаблонизированными приложениями или нужно делать все на каком нибудь реакте?По мне шаблонный код проще поддерживать, да и особого смысла в СПА тут я не вижу, и может есть орм получше? Или есть какой то устоявшийся стек для таких приложений?
919063
#214 #918972
Где можно украсть этот курс? На рутрекере старая версия.
https://reactforbeginners.com/
918998919063
121 Кб, 1071x1500
#215 #918997
919142
#216 #918998
>>918972
Так, где твая мамашка ебарей находит.
#217 #919063
>>918972

> forbeginners


> украсть


Ебать ты хохол
>>918921

> нужно написать десктопное приложение на жс с бд


Можно, но нахуя?
919165
#218 #919142
>>918997
Английская книжка есть в интернете.
Очень хорошая для тех кто впервые сел за клавиатуру. Но тупые селедки и 90% твоих одноклассников все равно не осилят.
919209
#219 #919165
>>919063
Как соотносится форбеггинерс и украсть с тем что я хохол?
291 Кб, 1280x1156
Будет ли видна в других js-ках переменная, объявленная как let вне блоков и функций? #220 #919183
Или её обязательно импортировать в другие js-ки, в отличие от переменных, объявленых как var?
919190
#221 #919190
>>919183
Сам нашёл
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/let

На верхнем уровне скриптов и функций let, в отличии от var, не создает свойства на глобально объекте. Например:

var x = 'кижуч';
let y = 'карась';
console.log(this.x);
console.log(this.y);
В выводе программы будет отображено слово "кижуч" для this.x, но undefined для this.y.
#222 #919209
>>919142
я думаю 90% моих одноклассников вполне довольны той работой которую выбрали )))))))
#223 #919221
Ну-ка зацените скриптец пацаны.
Изучаю JS второй час? В правильном направлении иду?

// Генератор ругательств for /pr/
var bodyParts = ["Ноги", "Руки", "Глаза", "Пальцы", "Волосы"];
var badParts = ["Яйца", "Говно", "Пот", "Желчь"];
var animals = ["Паука", "Мухи", "Змеи", "Страуса"];
var rugan = ["Мать твою!", "Я тебя найду!", "Пошел к черту", "Чмо!", "Неудачник!", "Я тебя ненавижу!", "Дерьмо поганое!", "Трусливая мразь!"]
var phrase = ["Смотрятся как", "Выглядят как", "Почти как", "В точности как"];

randomPhrase = phrase[Math.floor(Math.random()phrase.length)];
randomRugan = rugan[Math.floor(Math.random()
rugan.length)];
randomBodyPart = bodyParts[Math.floor(Math.random()bodyParts.length)];
randomBadPart = badParts[Math.floor(Math.random()
badParts.length)];
randomAnimal = animals[Math.floor(Math.random()*animals.length)];

randomInsult = ["Твои", randomBodyPart, randomPhrase, randomBadPart, randomAnimal + "!!!", randomRugan].join(" ");
var fir = randomInsult[0]
var lower = randomInsult.toLowerCase();
var slice = lower.slice(1);
alert(fir+slice);
919223
#224 #919223
>>919221

> Crossing The Blazing Forevermore Through Frozen Underworlds


> Beneath a Dead Blasphemy Of Silent Death


> And a Ancient Cosmos Towards Freezing Death



Ты идейный последователь генератора названий песен для блацк металического альбума?
http://metalseb.free.fr/index.php
919224
#225 #919224
Бле, макаба звездочки в коде затирает. Простите, что не можете ознакомится с творчеством, ребят (
>>919223
Хе-хе.
#226 #919269
Вкатываюсь в джаваскрипт; второй язык.

Начал с EcmaScript 2016, и хотел уточнить по трендам: насколько после ecm'ы разумно углубляться в CoffeeScript; т.е. с одной стороны есть тренд на TypeScript т.к. это ангуляр, а с другой вижу как CoffeeScript поливают говном, т.к. не умеет в стандарты Есмы.

Поясни за перспективы, анончик.
919270919274
#227 #919270
>>919269

>CoffeeScript


Это для путошщиков, которые не смогли.
919276
#228 #919274
>>919269

>CoffeeScript



Пришлось тут поковыряться в нем, пиздец он мерзкий, неужели питон такой же, раз он "для питонщиков"?
919276919280
#229 #919276
>>919274
>>919270
Ноуп. Все транспайлеры-ересь, ещё хуже самого ЖСа. Как раз, может, за исключением TS, хотя тоже не уверен.

мимопитонщик
#230 #919280
>>919274

>пиздец он мерзкий, неужели питон такой же


Питон изначально был питоном, а тут неосиляторы ЖС хотя хули там осиливать прикрутили к нему хуйню и получилась мерзкая хуйня.
919304
#231 #919304
>>919280
По образу и подобию прикрутили же, хотя питон, по моему мнению, ещё хуже
#232 #919356
Аноны, как осилить замыкания? Подъём переменной понял, а в эту херь не могу вкатиться, т.к. банально не использовал ни разу. Что это вообще такое? Нах они нужны? Какие подводные камни?
Есть упражнения по замыканиям?
#233 #919370
>>919367
У меня завтра собеседование, надо эти ваши замыкания выучить и область видимости, а я отбитый дегенеративный ублюдок и мразь.
Но 100к хочется, поэтому пытаюсь вкатиться в эту ебалу мать её, замыкания сука
919374919384919445
#234 #919374
>>919370

>100к хочется


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

мимо 47 лвл, нодежс/жс 12 опыта.
919380919613
#235 #919380
>>919374
Старикан, на пенсию уже пора. И вообще педофил, что ты тут на форуме этом делаешь, тут же одни школьники.
919385919387
#236 #919384
>>919370

> надо замыкания выучить и область видимости,


> 100к


Пиздос. За эту хуйню такие деньги предлагают? Да ты брешишь.
919611
#237 #919385
>>919380
У тебя с логикой плохото, лол. Хуевая малолетняя макака, иди в продавцы или кассиры.
919398
#238 #919387
>>919380
Я свали на пенсию. Если ты мою семью кормить будешь, лол.
#239 #919398
>>919385
Ты во всех тредах тут срать пришёл, что ли?
919426
#240 #919426
>>919398
Игнорируйте, и репортите, сверху справа над сообщением.

потом его забанят на 100 лет.
919438
#241 #919438
>>919426
Парни, репортите, ета индус-подсебясерун и гавнакодер тот самый. Репортите ево, быстра, бббгеее.
#242 #919445
>>919370
Что за собес блядь на 100k, а ты замыканий не знаешь, они ведь даже в PHP есть через function () use {}
На кого собеседоваться будешь?
919453
#243 #919453
>>919445
На FrontEnd. Да норм, я когда-то сайты писал и на месте вкачусь уже. Но я ретард) Поэтому могу собес проебать. А надо не проебать. Очень плюхи люблю, а на 100к пиздец их набрать можно.
Например посидеть на испыталовке 3 месяца типа я там сайты пишу, рубануть 300к и съябывать в следующую фирму с опытом работы уже
919462
#244 #919462
>>919453
Пиздец ты дебик.
919475
#245 #919475
>>919462
Да я ж говорю, что ретард)) Как-то раз дрисню по офису пустил случайно, все такие ой бля ну пиздец, а мне пох
#246 #919479
Сап, аноны. Как можно в отдельный файл массив засунуть (аля json) и потом его импортировать в другой?
Пытаюсь так export default arr = [1,2,3];
А потом в другом файле import arr from './data/arr.js' - никуя. Что не так?
В json не могу сунуть, т.к. там методы js есть
919484
#247 #919484
>>919479
Сам додумался.
Надо импорт писать как import {arr}
#248 #919495
Платина

Бекендер-php, хочу попробовать коммерческую ноду
Вот например если на симфони ты можешь написать нормальный например пусть даже блог с админкой, логинами/авторизацией, ну кароч такой типа crud++, то на работу джун-миддл макакой уже возьмут

А какое такое сферическое задание в вакууме может быть на ноде? Не хочу просто на диване учиться, сделал бы пробное что-нибудь, а потом заказы на фрилансе
919500919507
#249 #919500
>>919495
Попробуй облизнуть патерн залупондрия.
#250 #919507
>>919495
Да тоже самое, в принципе. Нужно уметь в экспресс, монгус и паспорт
919508
#251 #919508
>>919507

>экспресс, монгус и паспорт


Понял, чисто не гугля, это наверное веб-фреймворк на ноде, ORM под монгу и Auth/ACL библиотека, да?
919540919587
#252 #919540
>>919508
Угу, всё верно
919548
#253 #919548
>>919540
спасибо, добра
#254 #919587
>>919508
Игрушки для пидерастов.
#255 #919611
>>919384
Я не он. Но вчера листал вакансии в своем городе.

Там искали СИНЬОРА с требованиями ГЛУБОКО ЗНАЧИТ ЧИСТЫЙ JS и РАЗБИРАТЬСЯ что такое СКОУП, КОНТЕКСТ и ЗАМЫКАНИЕ. Все остальные требования были о качествах личности. Серьезно. Я не тролль.
919612
#256 #919612
>>919611

> ГЛУБОКО ЗНАТЬ ЧИСТЫЙ


фикс
#257 #919613
>>919374

>мимо 47 лвл, нодежс/жс 12 опыта.


Мне 26, а у меня опыта на год больше твоего.
#258 #919647
Парни, как научиться жить без if'ов и switch'ей в джаваскрипте? Нашел интересный ЖС линтер, который содержит правила, характерные для функционального стиля:
https://github.com/bodil/eslint-config-cleanjs

Пройти большую часть требований не представляет труда, но вот с флоу контрол у меня проблемы. Почитал немного на эту тему и сделал вывод, что для проверки условий в большинстве случаев используются отдельные функции с передачей колбэка и тернарные операторы. Подумал, и накидал пару строк в императивном и функциональном стиле для простого примера - проверки наличия ключа и значения в переданном объекте:
https://codepen.io/anon/pen/YNryoy?editors=0011

Уверен, что есть способ улучшить этот код, поэтому хотел бы услышать советов мудрых.
А что, если более комплексная проверка условий потребуется? Дробить на кучу более мелких функций?
919650919651
#259 #919650
>>919647
Нахуя? Тернарные операторы - те же ифы, какой смысл заменять одно другим, ШОБ ЛИНТЕР НЕ РУГАЛСЯ?
Ты же понимаешь, что фунция checkOptEqual делает абсолютно то же, что и classicWayToCheckOptions? Только в "функциональном" стиле ещё лишнее появляется. В джаве даже байткод почти идентичный получается.
Вот выдумают себе говна какого-то, книжки пишут, статьи, фукнции лишние вызывают.
Дали им язык, где хочешь — map'ы и reduce'ы, хочешь — императивно хуярь, можно и ООП (без приватных метовод, правда) имитировать. Но нет, надо жрать говно и мучить себя, чтобы угоднить, да я даже не знаю, чему — хипстеру какому-то из интернета, который сказал, что if'ов надо избегать? Невозможно их избежать. Хоть где-то тебе да нужно будет выбрать, по какой из веток идти ведь. Ты можешь сделать один if, а можешь нахуячить десять проверочных функций и считать, что избежал if'ов, хотя на самом деле просто завуалировал его.
919655920010
#260 #919651
>>919647
Алсо, судя по

>return console.log("...")


ты только начинаешь учить язык. Лучше сначала полезным делом займись.

Ну и ещё:

>options.someProp && options.someProp === 123


Первая часть бессмысленна. Если somePro не существует, то оно и сравнит undefined с 123 и выдаст false. Нужно проверить, существует ли options, чтобы избежать "options is undefined" при попытке доступа к someProp у него:

>options && options.someProp === 123

919655
#261 #919655
>>919650
>>919651

Подожжи, я пока воркэраунд для switch/case запиливал:
https://codepen.io/anon/pen/XpeXKQ?editors=0010

Совсем говнина, да?
Как же люди живут без всего это в функциональных ЯП?

>options.someProp && options.someProp === 123


С options.someProp проебался, да. hasOwnProperty нужно применить и здесь.

>return console.log("...")


Невермайнд, просто заглушка. По правилу линтера - функция должна возвращать значение, отличное от null и undefined. Да и просто это хороший этикет, что-то возвращать.

Но ведь цель функциональщины - повышение читаемости и снижение сайд-эффектов, не?
919656920064
#262 #919656
>>919655

>повышение читаемости


Ну и как, повысилась она, на твой взгляд?

>hasOwnProperty нужно применить и здесь.


Нет же, ты совсем не понял, о чём я. Есть проперти есть — выдаст значение, если нет — undefined. Нет смысле проверять наличие проперти. hasOwnProperty вообще используют, когда хотят убедиться, что проперти есть именно у этого объекта, а не унаследовано от кого-то там. Представь, что кто-то вызвал твою функцию без аргументов, что случится в твоём коде?
919657
#263 #919657
>>919656

>Есть проперти есть — выдаст значение, если нет — undefined. Нет смысле проверять наличие проперти


Точно, блджад! Я забыл совсем, что использовать этот метод имеет смысл, если проверяют существование вложенного объекта, например.

>Ну и как, повысилась она, на твой взгляд?


Нет, избыточность налицо, но я не исключаю, что это из-зам моей криворукости и незнания грамотного подхода.
Хотя здесь надо сделать отступление и пояснить, что в моем понимании, например, [].filter(v => v > 777).forEach(v => someAction) читается лучше, нежели более краткая форма [].forEach(v => if (v > 777) someAction)

>Представь, что кто-то вызвал твою функцию без аргументов, что случится в твоём коде?


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

Так что же получается, красиво писать на JS в функциональном стиле NEEKAQUE?
Нужно обязательно пересаживаться для этого на Elm или какой-нибудь ScalaJS?
919667
#264 #919667
>>919657
Ну да, создавать новый массив и потом ещё разок по нему проходится, очевидно и понятнее, и производительней, чем пройтись лишь один раз и вызывать функцию элемента, если надо.

>красиво писать на JS в функциональном стиле


А что ты понимашь под "красиво"? Писать чисто в функциональном стиле в js это абсурд, я считаю, даже если и можно. Ничем не обоснованное ограничение возможностей языка. Побочных эффектов и так и так можно избегать, красивый и читаемый код и в нефункциональных языках пишут. А тут бери всё лучшее из любой парадигмы, не стесняйся!

Разумеется, лучше выслушать мнение ещё кого-нибудь.
919668919679
#265 #919668
>>919667

>проходится


проходиться
фикс
#266 #919679
>>919667

>Ну да, создавать новый массив и потом ещё разок по нему проходится, очевидно и понятнее, и производительней, чем пройтись лишь один раз и вызывать функцию элемента, если надо.


Если не стоит цель выжать максимальную производительность, в таком случае, разве явное не будет лучше неявного? В filter() может быть заключена комплексная логика, соответственно отдельный метод обеспечит хорошую читаемость и модульность.

>А тут бери всё лучшее из любой парадигмы, не стесняйся!


К сожалению, я не работаю в конторе, где пишут на JS, но я всегда думал, что за мультипарадигменный стиль там бьют по рукам. Да и здесь за это часто окропляют живительной влагой.
919680
#267 #919680
>>919679

>разве явное не будет лучше неявного?


А где там неявное-то? Ты в условие filter'а будешь писать абсолютно то же, что и в if. Собственно, фильтр же и делает если тру, то оставляем элемент.

>соответственно отдельный метод


Отдельный метод можно и в if'е вызвать.

>Да и здесь за это часто окропляют живительной влагой.


Не видел такой. Здесь влагой за говнод только, обычно.
919712920068
#268 #919712
>>919680
Окропил ебасосы все жс-пидорков малолетних.
#269 #919719
Ретард на связи)) Взяли меня на 100к, заебок. Про замыкания даже не спрашивали, а про какие-то типа чем == и === отличается я в туалете подсмотрел) С понедельника на работу типа
919770920020
#270 #919744
Вот я еще что вспомнил: почему ребята из ФБ не добавили в реакт поддержку жизненного цикла для 'stateless/pure' компонентов? Хотя ведь даже Денчик Абрамов их форсит. Приходится через прямую кишку мокрописьки вроде react-functional извращаться.
#271 #919770
>>919719

> про какие-то типа чем == и === отличается я в туалете подсмотрел)


Толсто.
#272 #919806
Господа, я тут проходил Канторский тест, и там был такой пример:
var a = (1,5 - 1) * 2;
alert(a);
Типа, что выведет. Правильный ответ 8 - это потому, что выражение в скобках равно четырем.
То есть, если объявить переменную, как "var a = (1,5);" значение до запятой просто отбрасывается? И никаких ошибок на этот случай, ничего? Или я что-то недопонял?
919810
#273 #919810
>>919806
Гугли JS comma operator.
73 Кб, 1366x768
78 Кб, 1366x768
#274 #919813
Аноны, нужна помощь. Из двух скриптов, заменяющих в зависимости от расположения курсора id элементов, работает тот , что ниже в разметке (pic 1). Объясните, как заставить работать оба скрипта одновременно.
919891
#275 #919891
>>919813
Совместить их в одну функцию. Либо делать не window.onload = ..., а window.addEventListener('load', evtHandler), таким образом ты на один и тот же эвент можешь несколько функций вызвать. (Первым способом ты заменяешь функцию onload на 35-ой строчке.)
Менять id элемента это как-то странно, советую пересмотреть решение.
#276 #920010
>>919650
Чаю, хорошо объяснил.
920018
#277 #920018
>>920010
Теперь подставляй сраку - буду спасибо твою любить, хех.
#278 #920020
>>919719

>я в туалете подсмотрел


Пока отсасывал за трудоустройство. Лох, мог бы и не смотреть, мож лучше б получись отсосать, дал бы 120.

Мимо новый владелей этой шлюхи.
#279 #920064
>>919655

>>return console.log("...")


>По правилу линтера - функция должна возвращать значение, отличное от null и undefined. Да и просто это хороший этикет, что-то возвращать.


Ебанутый, console.log ВСЕГДА возвращает undefined.
920179
#280 #920068
>>919680
Он еще и не понимает, что в js в отличии от функциональных языков вычисления не ленивые. И если с использованием if'ов что-то просто не будет вычисляться, то с его ФУНКЦИОНАЛЬНЫМ походом, вычисляться будет абсолютно все условия.
920089920179920180
#281 #920089
>>920068
Эмм.. По-твоему две if-ветки вычисляются, вне зависимости от условия?
920091
#282 #920091
>>920089
Ты жопой читаешь?
Как раз if ветки не вычисляются (ровно как и условия в ветках) после того, как условие подошло. В то время как если переносить логику условий на функции - все будет вычисляться еще на этапе передачи в функцию.
920092
#283 #920092
>>920091
Покажи пример вызова такой функции, которая занимается условной логикой, я не совсем понимаю о чем ты
920094
#284 #920094
>>920092
Да вон же выше анон изъебывается переносить условную логику на функции, с фактически паттерн матчиногом по объектам.

Суть в том, что когда у нас выражение

>x & y & z & cb()


То вычисления будут последовательными, и если x не true то y уже вычисляться не будет

А если у нас тоже самое но с помоющью какой нибудь

> function and(x, y, z, cb)


То все аргументы будут вычислены в любом случае.
920096920179
#285 #920096
>>920094

>x && y && z && cb()

#286 #920120
Это снова я)) Это... сказали почитать про какие-та патерны? Эт чё такое?
Типо буду кодить на ангуляре сайты. Чё почитать можно чтобы ангуляр побыстряку выучить?
Надо 3 месяца продержаться пацаны. 300к нужны пиздос))
920122920139920233
#287 #920122
>>920120
Ты уже вытекаешь из треда.
#288 #920138
Что делать, если хочется переменную сделать const, но в то же время она должна быть в try/catch блоке, но при этом всю остальную часть кода функции в try заворачивать, разумеется, не хочется?
920160
#289 #920139
>>920120
Завтра будь к 8 в офисе и рот пополощи - нужен хороший отсос мне и кафаундерам (18 рыл) с бодуна.
#290 #920160
>>920138
А в чем, собственно, проблема?
920162
#291 #920162
>>920160
В том, что у констант блочная область видимости? Уже даже в блоке catch нельзя будет обратиться к константе заданной в try. А за пределами блока тем более.
920165
#292 #920165
>>920162
Но ведь так с любой переменной. Подразумевается, что если у тебя выбрасывается исключение - весь блок трай отработал не так и он не нужен.
920169
#293 #920169
>>920165
Лол.

Так, а если отработал так, как нужен?
Ты задал константу в трай. Исключение не выбросилось. Но использовать константу после блока ты не можешь.

И да, так не с любой переменной. Есть неблочные переменные. Не говоря уже о том, что само понятие переменных - перменнное. Ты можешь объявить их заранее, назначить внутри другого блока, а потом использовать там где объявил. А константу назначить можно лишь раз при объявлении.
#294 #920179
>>920064

>Ебанутый, console.log ВСЕГДА возвращает undefined.


Я стекломоя объебенился, ПРОСТИТЕ-ИЗВИНИТЕ.
Ну ты понел, можно было бы просто возвращать строку и потом логать результат вызова функции, суть была не в этом.

>>920068

>Он еще и не понимает, что в js в отличии от функциональных языков вычисления не ленивые.


Ленивости достичь не проблема - нужно дробить на компактные функции проверки условий и чейнить их. Смотри дальше:

>>920094

>function and(x, y, z, cb)


У тебя инвалидный пример. Правильный примером было бы привести последовательность функций в цепи, которая бы прекращала свое выполнение при несоблюдении условий, как в случае ветвления if'ов.
Правильный пример: beginChainedSeq(and, a, b).then(and, c, d).finally(cb).catch(cb)
Вот донельзя упрощенная реализация: https://codepen.io/anon/pen/wgrNOV?editors=0010

В любом случае, с единой проверкой условий должно жеж жить лучше, нежели в каждой функции ифать. Прозрачно и централизованно.
920180920326
#295 #920180
>>920179
>>920068
Да в довесок много функциональных либ поддерживают ленивые вычисления. В том же лоудаше - через .value() происходит вычисление значения.
#297 #920326
>>920179

>Правильный пример: beginChainedSeq(and, a, b).then(and, c, d).finally(cb).catch(cb)


Ору. Аргументы у тебя все равно будут вычисленны. Ты просто не понимаешь.

Замени в этой своей цепочки аргумент c на console.log('test') при условии, что в (and, a, b) должен вернуться false и c не должен вычисляться?
На функция ты такого не добьешься.
920328
#298 #920328
>>920326

>Ору. Аргументы у тебя все равно будут вычисленны. Ты просто не понимаешь.



Я же специально вставил функцию argA() для наглядности.
Значение не вычисляется в цепочке, если на каком либо шаге ранее add() вернуло false.
920329
16 Кб, 1102x152
#299 #920329
920330920341
#300 #920330
>>920329
В версии с колбэками то же самое.
#301 #920341
>>920329
Они у тебя там не вычисляются, потому что завернуты в функцию еще раз.

Разница между

>beginChainedSeq(and, a, b).then(and, c, d).finally(cb).catch(cb)


И

>beginChainedSeq(and, a, b).then(() => fn(and, c, d))


существенная.
Как по синтаксису, так и по оверхеду.
920343
#302 #920343
>>920341

>Как по синтаксису, так и по оверхеду.


Щито поделать, спору нет.
Единственный способ "заленивить" вычисление аргументов, передаваемых в функцию - это обратить оную в колбэк.
#303 #920392
Аноны помогите
Вопрос по HTML и javascript
Мы только начали проходить это в шараге
Нужно сделать словарь чтобы пользователь его мог заполнять и все такое
Я все сделал, записывая слова в массив и выводя их, но если обновить страницу то все введенное удалиться, как в HTML на сайтах сохраняются данные, и можно ли это реализовать сделав только страницу в блокноте например?
920397920400920405
#304 #920396
>>916832 (OP)
верстаю на бутстрапе все рядами и колонками. Проблема в том что если в одном ряду есть пара элементов которые я хочу видеть в ряд, то оно их пихет столбиком вертикально. А там где такой же row и я хочу чтоб элементы ложились вертикально столбиком, то оно, ссука, мне их словно специально пихает в одну строчку. Пытался добавлять классы inline и form-inline но не помогает. Как это побороть?
920413
#305 #920397
>>920392

localStorage
920399
#306 #920399
>>920397
Спасибо!
#307 #920400
>>920392

> в шараге


Ахуеть. В шарагах теперь js изучают?
920402
#308 #920402
>>920400
а почему нет?
#309 #920405
>>920392
Для этого есть localstorage. ты перегоняешь объект или переменную в стринг. Сохраняешь в хранилище. Потом достаешь из хранилища, и из стринга перегоняешь в нужный объект/переменную.
Например

var a =1;

var sudaSohranim = JSON.stringify(a);
localStorage.setItem("kluch", sudaSohranim);

так мы по ключу kluch сохранили то что в стринге sudaSohranim.

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

var vitaskivaem = localStorage.getItem("kluch");
var novoe-a = JSON.parse(vitaskivaem );
Но перед вытаскиеванием надо сделать проверку по ключу уже что-то сохранено или нет. Если не понял, гугли видеоуроки по localStorage
920407920408
#310 #920407
>>920405
Спасибо большое!
#311 #920408
>>920405

>var novoe-a

920414
13 Кб, 870x458
#312 #920413
>>920396
Вот тут я примерно изобразил как хочется и как есть на самом деле и красным отметил свои row
#313 #920414
>>920408
опчатался novoe_a
#314 #920484
Господа.
Вопрос по ноде. Как мне в указании пути в define или import указать путь к файлу, лежащему в папке на уровень выше?
То есть, допустим, есть папка src, в ней три папки - component1, component2, component3. Как мне в файле в папке component1 включить файл, находящийся в папке component3 или вообще в корне?
920512
#315 #920512
>>920484
Какое отношение пути имеют к ноде?
Ты пути писать не умеешь?
920614
#316 #920614
>>920512
Всегда думал, что гуманитарий. В винде только проводником пользовался. Соответственно относительные пути для меня беда
920617
#317 #920617
>>920614
В винде тоже есть пути, как и везде, ничем не отличаются У нее разве что директори сепаратор не слеш в обратную сторону.

Одна точка - текущая директория. Две точки на уровень вверх. Вот и вся относительность.
sage #318 #920641
>>920620
купил видяху специально шоб вычеслять протеины
советую, посоны
брат уже почти бессмертен, батя грит малаца
46 Кб, 418x552
#319 #920658
Поясните долбоебу почему событие на img не срабатывает.
38 Кб, 1265x861
Сколько такое стоит и кто бы смог сделать? #320 #920837
Нужна программка. Сначала думал может на С# но потом решил что она должна запускаться у любой тети паши без требования .net. Ну и с html мордой, которую я смогу поправить если что.

Суть - нужен просмотрщик логов, который будет не просто выводить сообщения, а делать это имтитируя мессенджер. логи храняться в виде txt файла такого содержания:

09.02.2013 17:01:19 Vasiliy99 го дота
09.02.2013 17:02:23 Grigory го
09.02.2013 17:04:15 Vasiliy99 я создал
09.02.2013 17:05:13 Afanasiy пидорасы, если не будете работать, поувольняю к хуям

Работет так: Открывается страница, перетягивается файлик за допустим 2016. Потом можно выбрать любой день за который хочешь посмотреть логи. После выбора появляется в "чате" первое сообщение. Чтоб вывело второе надо нажать кнопку Send или тыцнуть enter если курсор стоит в текстовом поле снизу. При чем не важно какой текст вы пишете снизу, он не будет попадать в чат. Ты просто пищешь что угодно, жмешь кнопку и из лога подтягивается следующее сообщение. В двух словах такое, с некоторыми нюансами типа кнопки выбора рандомного дня и мелочей по покраске сообщений.

Такая балалайка не будет хоститься на сайте и ей не нужен интернет. Она будет запускаться локально на компе и просто показывать логи из файла, который ей скормили
920884920947
#321 #920884
>>920837
500 баксов по курсу
Есть такие деньги?
920908920945
#322 #920908
>>920884
500 рублей сойдёт?
920914
#323 #920914
>>920908
сам тогда сделаешь)
#324 #920945
>>920884
Да ты охуел я лучше сам такое сделаю. Я просто не хотел ебаться с прикручиванием дат и парсингом по дням так чтоб побыстрее было и не тормозило. 500 баксов ему за день-два работы.
920962921043
#325 #920947
>>920837
Какой максимальный размер файла-лога?
920970
#326 #920962
>>920945
Дура, это нормальная оплата для любой белой страны. Даже фрилансером я за копейки не берусь заказы делать, хотя таких хитровыебанных как ты дохуя (видимо тоже совки как ты). Так что ищи индусов или школьников, пусть они тебе хуйни налепят, которая в итоге работать не будет.
920971
#327 #920970
>>920947
4 мБ думаю. За два года например там на 5 мегабайт и 50 000 строчек. но если примерно поделить на 2 то 4 мегабайта должно хватить с головой
920974
#328 #920971
>>920962

>Даже фрилансером я за копейки не берусь заказы делать


Даже если ты можешь это сделать за 2 минуты то ты все равно заламываешь цену?

>хитровыебанных


Еще раз говорю, я могу сам за это сесть но потрачу наверное неделю, ебясь с этим после работы, а то и дольше. А потом еще месяц баги буду ловить. Если кто-то умеет конкретно с джаваскриптом работать вот так с текстовыми файлами и у него есть опыт, то мне проще заплатить. Но не 500 баксов. Странно что ты не попросил 5000, а то блядь хитровыебаные хуеют - хотят чтоб ты пару кнопок и пару дивов разверстал меньше чем за сумму айфона. Вот же пидорасы.
#329 #920974
>>920970
То что ты хочешь пишется за ночь. Все это можно упаковать в одну единственную html страницу, которой не нужен ни сервер ни чего, все будет работать в браузере.

Сколько это стоит - идиотский вопрос. Нет никакого стабильного рынка на разовые задачи. Ты можешь найти школьника, который работает за еду и сделает тебе это за пачку доширака. А нормальный разработчик не будет разумеется тратить своё время за копейки, даже если задача не сложнее чем в носу поковырять.
920982
#330 #920982
>>920974
Обычно люди высчитывают стоимость работы на основе своей зарплаты. Если в день он получает 800 рублей, за 8 часовой рабочий день, то час его времени стоит примерно 100р.
теперь считаем: 500 за ночь * 31 день. То есть месяц работы такого человека стоит 1007500 рублей. Я рад что у нас не индия и не китай и любая макака получает миллион в месяц, но предлагаю таким гуру искать заказы за пределами двача.
920986
#331 #920986
>>920982
Это хуевая математика.
Если человек на окладе, это не значит, что у него нет премий или процентов и прочих плюх. Оклад никак нельзя переводить в почасовую оплату труда.

Почасовая оплата труда есть в сфере фриланса, и иди посмотри на ценники, если тебе хочется почасового работника. (хоть на том же апворке, на здоровье).

>Обычно люди высчитывают стоимость работы на основе своей зарплаты.



Есть такое понятие как проектная работа. Не все сидят на зарплате. Мы в 21ом веке.
920987
#332 #920987
>>920986

>Это хуевая математика.


Это приблизительный способ оценить стоит ли тратить свое время, окупится ли оно. У тебя есть лучше метод?
920991
#333 #920991
>>920987
Это ни капли не приблизительный способов. Он даже близко не стоит. Нельзя никак переводить оклад, в в проектную работу. Это совершенно разные вещи.
920992920993
#334 #920992
>>920991
*в почасовую оплату
#335 #920993
>>920991
У тебя есть лучше метод?
920998
#336 #920998
>>920993
Метод чего именно?
Стоимости разовой подработки в сфере без стабильного рынка? Нужно как минимум оценивать не часы, а рабочий день.
Если работа занимает даже меньше, брать как за день.

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

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

Если ты работаешь с почасовой оплатой, то ты получишь за оттреканные рабочие часы. На окладе ты можешь в носу ковырять половину срока до дедлайна, и это все равно будет оплачено. На почасовой оплачивается фактически затраченное время непосредственно на работу.

Что касается ТСа, в его случае надо просто приходить с конкретным бюджетом - мол вот, ебать, надо сделать это, денег есть столько, кто готов, какие сроки. И выбирать.
Это фриланс. Тут все просто.
921080
#337 #921043
>>920945

> день-два работы


манямир
неделя +- 2-3 дня
921065
#338 #921052
Аноны, тут дядя троллит, строит из себя охуеть математика и погромиста, хотя сам не в состоянии запилить себе приложение. Давайте его дружно пошлем нахуй и не будем обращать внимание на него. За 500 рублей наверняка найдутся опытные разработчики из 5б, которые с радостью возьмутся за эту 10минутную работу.
921069921176
#339 #921065
>>921043
Ты чего там неделю делать собрался, поехавший.
921140
#340 #921069
>>921052
Эту работу можно сделать за день.
За 1000-1500 деревянных вполне.
Все остальные предложения банальное заламывание цены.
921278921494
#341 #921080
>>920998
Маня, зачем ты кукарекаешь о проектных работах, ничего про них не зная? Во всех проектных оплата сотрудникам считается, исходя из их фактического оклада и почасового участия в проекте. Свою философию и фантазии, где 2 часа работы считаются фулл днём можешь засунуть себе в анус.
Мимо-надзорщик-на-галере
921088
#342 #921088
>>921080

>фактического оклада и почасового участия в проекте


У тебя взаимоисключающие параграфы, кукаретик.
#343 #921140
>>921065
Верстать, тестировать, писать тз.
921148921179
#344 #921148
>>921140
Если ты верстаешь и тестируешь SPA с простейшим парсером и практически без всякой логики - неделю. То мне тебя жаль.
#345 #921176
>>921052

>строит из себя охуеть математика и погромиста, хотя сам не в состоянии запилить себе приложение.


Я работаю на шарпе и уже объяснил почему он не подходит.
46 Кб, 700x482
#346 #921179
>>921140

>писать тз


>тз абсолютно понятно и уже написано аноном на 90% в самом посте



Ты б еще к крестикам-ноликам тз писал. 10 лет в IT - это не шутки
#347 #921278
>>921069
Можно сделать за день за 1500? То есть, получая подобные заказы каждый рабочий день, в месяц можно заработать максимум 33к (взял типичные 22 дня, фрилансеры ж тоже отдыхают иногда). Вот и думай тепеь, какого уровня разработчика ты можешь себе позволить за такие деньги. Достаточен он для твоего задания? Отлично. Нет? Ну, сам понимаешь, что делать надо.
#348 #921298
Блать, книга из шапки по 2 ангуляру не полная и говно. Удалите
921302
#349 #921302
>>921298
Предложи книгу лучше и отправь коммит, это можно прям через сайт сделать
#350 #921336
пацаны суп, я не очень разбираюсь в веб разработке так что надеюсь на ваши подсказки:
бэк - нода
фронт админки - реакт
есть пара input[type=file] куда должны закидываться картинки
у меня встал вопрос как их отправить после сабмита на бэкенд:

после изучения mdn делаю так
по клику на сабмит, пробегаюсь по всем файлам лежащим в этих инпутах, читаю в https://developer.mozilla.org/en-US/docs/Web/API/FileReader c помощью FileReader.readAsBinaryString()
пытаюсь отослать ajax'ом на сервер
получаю
http://ruhighload.com/post/Ошибка+413+Request+Entity+Too+Large
HTTP 413 (Request Entity Too Large Error)

подскажите как такое вообще реализовывается, если без реакта сделать form[method=post][action=blabla] то туда присылаются только названия закинутых в input картинок, следовательно я не могу сохранить их на сервере

спасибо
921352
#351 #921352
>>921336
Тебе нужно FormData https://developer.mozilla.org/en-US/docs/Web/API/FormData он фактически для отправки файлов на сервер аяксом и был создан.
921354
#352 #921354
>>921352
ох выручил анончик, спасибо
#353 #921370
Аноны, есть блок html'a в нем в ряд несколько блоков, любой из них скриптом изменяет свою ширину, другие подстраиваются. Как сверстать их на флексах? Хуйня какая-то получается.
921373
#355 #921381
>>921373
проблема еще в том, что в изменяемом блоке изображение, и вот хз какой параметр у него менять, что бы регулировать размер изображения. За ссылку спасибо, но там поведение в зависимости от количества текста, а я хочу контролер для изменения размера изображения в ряду.
sage #356 #921494
>>921069
Делай. Берись и делай за 1000-1500.
921585
#357 #921585
>>921494
Ебанутый. Никто не предлагал работу.
922789
#358 #921947
Поясните за наследование в JS. Хочу расширить метод родителя, но таким образом чтобы оригинальный метод все еще можно было использовать.
Чтобы получилось что-то подобное: http://pastebin.com/yg0SA5z4
921950
#359 #921950
>>921947
Я там наследование проебал, но думаю идея понятна, что метод B унаследовал все от метода A.
922031
108 Кб, 685x474
#360 #922030
Господа, дайте функцию-бенчмарк, которая ничего не делает, но прогоняет весь стандартный функционал javascript.

Хочу написать тест, который на V8 запускает 10000 вызовов параллельно, и каждая функция чего-то там делает. Сейчас просто считаю SHA256, чего мало.
922049922214
#361 #922031
>>921950

> но думаю идея понятна, что метод B унаследовал все


можно так:

var A = function() { this.a = 10; };

A.prototype.doSomething = function() { return this.a; };

var B = function() {
A.call(this)
this.b = 5;
};

B.prototype.doSomething = function() {
var parentValue = A.prototype.doSomething.call(this) // или this.a
return parentValue + this.b;
}
#362 #922042
Нода жива?
Просто год назад ходили разговоры, что нода мертва
922123922129
#363 #922049
>>922030
Заебали курсивом писать
922171
#364 #922123
>>922042
700 где-то вакансий на хх. Не пхп конечно с 3700, но сказать, что мертва нельзя. узкоспециализированная типо. За из-за этого выше.
#365 #922129
>>922042
Как она может умереть, если у неё, по сути, нет аналогов?
922863
#366 #922171
>>922049
Че блять? Ты на вопрос ответь
#367 #922214
>>922030
Benchmark.js
#368 #922705
Парни, где можно посмотреть код реальных проектов или модулей. Без JQ (лайтбоксы, модалки, драгэндропы, голосовалки и т.д). Просто хочется подчерпнуть опыта на реальных проектах.
922836922862
#369 #922746
С ЖС работаю недавно, подскажите, что за фигня с импортом
default export is not declared in imported module
Выскакивает такая ошибка, импорт вообще не работает.
922756
#370 #922756
>>922746
В общем, вопрос скорее другой: почему в вебшторме/пайчарме может не работать синтаксис импорта екма6? Вообще ничего не импротит.
922884
#371 #922789
>>921585
вообще-то предлагал
#372 #922836
>>922705
Сперва тебе надо набраться опыта в гуглении нужных тебе вещей
922848
#373 #922848
>>922836
Просто мне как начинающему тяжело увидеть структуру проекта. Мне вот например интересно как делается интерфейс в интернет магазинах, количество, добавление в корзину, лайки, хуяйки. Знания есть но разрозненные, мне было бы проще посмотреть на несколько комментированых работ и понять что к чему, чем додумывать самому, и наделать велосипедов, или как-то не оптимально сделать это. А что-то нихуя не нашел типа уроков. Вот мож вы что подскажите.
#374 #922862
>>922705

>где можно посмотреть код реальных проектов или модулей


Про npm и github не слышал?
#375 #922863
>>922129

>у неё, по сути, нет аналогов


Найс манямир
922971
#376 #922884
>>922756
В настройках сделай поиск по "es6"
922967922993
#377 #922905
Куча фреймворков, которые как я понял выполняют одну и ту же задачу. Дык с чего начать? Ангуляр, эмбер, бэкбон, екстжс, реакт и т.д. Можно в двух словах о всём этом? Как сделать выбор?
922910
#378 #922910
>>922905

> реакт


это. остальное хуита, ненужно
923015
#379 #922967
>>922884
Где у гугла такие настройки?
#380 #922971
>>922863
Очень аргументированно, целый список привёл аналогичных инструментов
#381 #922993
>>922884

Не помогает
#382 #923004
Это все из-за ебучего бабеля. Что за ебаный язык, блять, что нужны эти блядские костыли типа бабеля, хуйня ебаная
923012
68 Кб, 859x450
#383 #923012
#384 #923015
>>922910
Бесполезный пост. Можешь обосновать?
18 Кб, 390x395
#385 #923033
сука блять, на пхп просто скачал две хуйни и ПИШЕШЬ, тут же вебпаки-хуйпаки, бабели-хуйбабели, прочее говно ебаное, пока начнешь писать - ахуеешь блять от той кучи ГОВНА, которую нужно настроить, блять, просто дял того, чтобы ебаный ХЕЛЛОУВОРЛД НАПИСАТЬ И ИИМПОРТИРОВАТЬ, ебись конем эта хуйня.
923040
#386 #923040
>>923033
Юзай фреймворк VanillaJS Extended Solution Edition (ES) v5. Собирать ничего не нужно, пишется на коленке, исполняется даже на микроволновке. Спецом для таких безруких мудаков как ты придумали.
#387 #923063
Теперь при любом импорте выскакивает Unexpected Token Import. Ой, все, в пизду, хватит с меня. целый день ебли в никуда.
923101
#388 #923101
>>923063
Жс-то такими темпами годным языком станет. А вы всё говорите, что к нам пыхари перекатываются, ничего подобного
923113
#389 #923113
>>923101
Это конченное костыльное дерьмо скоро отправится на свалку истории
923127
#390 #923121
Первый раз в жизни я столкнулся с невозможностью писать код из-за того, что хуйня не может импортировать файлы без костылей, а костыли не работают. Это просто пиздец
923122923124
sage #391 #923122
>>923121
Лох.
7 Кб, 315x41
#392 #923124
>>923121
У меня работает.
923136
#393 #923127
#394 #923136
>>923124
Покажи, как у тебя настроен вотчер идешки?
923180923182
#395 #923155
Домохозяйки забугуртили)) js хотят сделать всем и сразу, понятно что везде костыли и хуета непонятная с настройками будет. Современный js он такой
#396 #923171
Мочехлебы сап.
Нахуй этот ваш ангуляр такое нкстабильное говно?
Мажорный релиз каждый месяц.
Есть что то постабильнен?
Чтоб выучил и хуяк на нем пару лет не парась о новых модных хипсторских мочеперделок которые сломали обратную совместимость и обмазываются альфаговном?
923181
35 Кб, 604x343
#397 #923180
>>923136

>вотчер идешки

#398 #923181
>>923171

>нкстабильное говно


>Мажорный релиз каждый месяц.


Че несешь? Хоть бы ознакомился с фреймворком.
923193
124 Кб, 1102x674
#399 #923182
>>923136
Не понимаю, о чем ты говоришь.
923190
19 Кб, 470x360
sage #400 #923184
Я хуею, из треда в тред нытьё о том, как ужасен JS и экосистема. Ни в одном треде блять такого нет.
923318
#401 #923190
>>923182
в тулсах есть файл вотчер, и там бабель должен быть
923210
#402 #923193
>>923181
Достал пипирку
https://github.com/angular/angular/blob/master/CHANGELOG.md
И отлил на дауна
923312
#403 #923196
В общем, я понял суть этого ебучего говна, надо просто скачивать готовые паки и все. Хуйня ебаная.
29 Кб, 284x330
#404 #923210
>>923190
Я юзаю тайпскрипт.
16 Кб, 809x424
75 Кб, 957x599
#405 #923312
>>923193
Оросил аутиста
#406 #923318
>>923184

> Ни в одном треде блять такого нет.


В голос. Давно в пыхо-, го- треде был?
923379
#407 #923379
>>923318
Как и везде, где активно меняется экосистема. В .NET-загоне та же хрень случилась недавно, пока шла разработка релиза .NET Core. Кирпичей много было высрано хипстерами из опен-спейсов, которые запускали в продакшене прилаги на RC-версиях платформы.
Только где-то такая вещь случается и проходит, а где-то перманентный пиздец, от которого руки опускаются уже.
#408 #923494
>>916832 (OP)
Может кто-то подсказать, в React-приложении является ли нормой описание многих функций непосредственно в компоненте "App"?
923512
#409 #923512
>>923494
Каких функций? Там, по идее, роутер должен быть и аутентификатор, и всё
923515
#410 #923515
>>923512
Ну, например, поиск какого-то элемента в списке
923525
#411 #923525
>>923515
Не, это должно быть в отдельном модуле/хелпере и импортироваться по нужде
Если в этом App только Input и List, то это вполне может быть и в нем. Но это скорее исключение из-за малой вложенности
11 Кб, 371x76
#412 #923608
Платиновый вопрос!

Arrow functions - кошерная польза или хисперское говно для пидоров?
923613
#413 #923613
>>923608
Ты, видимо, абсолютно не понимаешь нахуя они нужны и чем они отличаются. С такими вопросами не сюда, а в учебник по жсу, где это прекрасно описано
https://learn.javascript.ru/es-function#функции-через
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 1 февраля 2017 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски