Этого треда уже нет.
Это копия, сохраненная 1 февраля 2017 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
37 Кб, 1052x1052
JavaScript thread #74 Perekoter !JLHGEtxGTk #911262 В конец треда | Веб
Этот тред посвящён главному языку будущего - 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/ для серверного кода.
#2 #911264
Тотальный бамп в тематике, лучшему в мире языку программирования высокого уровня.
PEREKOT Perekoter !JLHGEtxGTk #3 #911265
Прошлый тред >>904377 (OP)
38 Кб, 200x272
#4 #911269
Блять. Пидорасы. Мне бомбит от всех этих ваших ecmascript, es20xx и бабелей.

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

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

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

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

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

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

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

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

хочется уже перейти на нормальный язык, без этих ебанутых плясок в яме с говном. жили же как-то раньше
#5 #911274
>>911269

> Как вообще сделать приватный метод класса в этом вашем яваскрипте?


Как и питоне. Какие тебе вообще приватные методы в ооп языках?
#6 #911275
>>911274

> динамически типизируемых языках


фикс
911276911344
#7 #911276
>>911274 в питоне есть приватные методы. В пидорском es2015-2016 нет

>>911275 можно подумать динамическая типизация отменяет абстракцию ооп

class в javascript это просто сахар. что собственно мешало добавить private методы в этот сахар? учитывая, что эти слова уже зарезервированы, используй не хочу
911655911656
#8 #911299
>>911269
так es5 никто не отменял же?
#9 #911342
>>911269

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


Блядь, ты охуенен, анон. Честно, без иронии.
Заведи бложик где-нибудь на Медиуме и пиши про ЖС. Обещаю подписаться.

>Как вообще сделать приватный метод класса в этом вашем яваскрипте?


Сначала приведи аргументы в пользу наличия приватных методов в интерпретируемых ЯП.
Тебе самому разбираться, где паблик, а где прайвет?
Стандарт де-факто помечать имена приватных методов а-ля _myPrivateMeth() {}
Если не хочешь выбрасывать методы в глобал скоуп, юзай WeakMap'ы, приемы навроде Closuring и т.д. Простор же для фантазии, а тебе обязательно надо было заморочиться вокруг ES6 Classes.

>Запилили декораторы


>но обосрались, декараторы работают только с классами


Ну тут-то ты перегнул палку, бро. Декораторы можно вешать на методы класса.
Специально для тебя русек подогнали для описания декораторов: https://habrahabr.ru/post/277021/
911351911402
#10 #911344
>>911274
>>911275

> Какие тебе вообще приватные методы в ооп языках?


> динамически типизируемых языках



Спецификаторы видимости важны для инкапсуляции, чтобы отделить внешний интерфейс от внутренней реализации. Типизация здесь вообще не при чём.

>>911269

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


Ну называй приватный методы с нижнего подчёркавания, нормальный программист их извне вызывать не будет. Вот наличие тайп-хинтов хотя бы как в PHP очень сильно помогло бы. Но вот есть ребята, которые не только ноют, а пытаются что-то изменить: https://flowtype.org/

> Flow can catch common bugs in JavaScript programs before they run, including:


> silent type conversions,


> null dereferences,


> and the dreaded undefined is not a function.



Можешь и ты присоединиться, у них там около тысячи issues на гитхабе.
911408911655
113 Кб, 609x802
261 Кб, 621x643
65 Кб, 540x451
#11 #911350
Парни, помогите, как сделать эффект медленного появления подгружаемого содержимого?
Если так сразу не скажешь, вот пример:
https://cloud.mail.ru/public/Cvrs/59QuUGxGT
911657915439
#12 #911351
>>911342

> Если не хочешь выбрасывать методы в глобал скоуп, юзай WeakMap'ы, приемы навроде Closuring и т.д.


Это ты сейчас преимущества или что перечислил? Почему бы эти костыли не заменить на поддержку приватных полей из коробки, вместо того чтобы фантазировать как еще можно это говно довести до состояния здорового яп.
#13 #911384
Антонио, помогите пожалуйста.
Есть файл icalendar или как-то так.
Можно ли как то выудить из него информацию и использовать ее жс? Переконвертировать его в json может, или какая то библиотека есть для работы с такими файлами? Как вообще делают в подобных ситуациях?
911397
#14 #911385
Аноны, это M$ вкрай охуел или я что-то не так делаю?
IE11, в Edge-режиме, выдаёт такой userAgent:

>"Mozilla/5.0 (Windows NT 6.1; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; Tablet PC 2.0; rv:11.0) like Gecko"


Они там пизданулись? Эта хуйня под FF косит.

Как детектировать любой браузер от MS?
911389
#15 #911389
>>911385

>Trident/7.0;

911394
#16 #911394
>>911389
В IE11, в режиме эмуляции IE9, тоже есть

>Trident/7.0;


. Это один из тех случаев, где эмуляция не помогает и нужен реальный старый IE?
911398911399
#17 #911397
>>911384
В ноде есть fs.readFile(). В браузере нельзя получить доступ к внешним файлам c помощью жс.
911409912173
#18 #911398
>>911394
browserstack.com
911400
#19 #911399
>>911394
Обрати внимание, указан номер ревизии:

> rv:11.0

911400
#20 #911400
>>911398
>>911399
Спасибо огромное, лучей добра ^_^
38 Кб, 200x272
#21 #911402
>>911342

>Сначала приведи аргументы в пользу наличия приватных методов в интерпретируемых ЯП.



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

Вот я сделал на англуяре контроллер используя class,
angalar.module('analApp', []).controller(class {
constructor(privateService) {
this.privateService = privateService;
}
ebalJs() {}
});

некоторые методы приватные, потому что не должны вызываться из шаблона (view). Однако в js я могу обратиться к этим методам и даже сервисы, которые заинджектил, вызвать, через {{ $ctrl.privateService }}

Кто скажет: нахуй так жить?
Однако у нас на проекте ребята в узких штанишках именно так и живут.

>Стандарт де-факто помечать имена приватных методов а-ля _myPrivateMeth() {}



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

>Ну тут-то ты перегнул палку, бро. Декораторы можно вешать на методы класса.



имел ввиду, что никуда кроме класса и метода класса ты их не повесишь

В той же статье:
@mydecorator
def myfunc():
pass

Вау!!! Мы сделали декораторы, как в пистоне, дивитесь, хлопцы

Однако аналогичный пример на js

@mydecorator
function() {
}

работать не будет
38 Кб, 200x272
#21 #911402
>>911342

>Сначала приведи аргументы в пользу наличия приватных методов в интерпретируемых ЯП.



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

Вот я сделал на англуяре контроллер используя class,
angalar.module('analApp', []).controller(class {
constructor(privateService) {
this.privateService = privateService;
}
ebalJs() {}
});

некоторые методы приватные, потому что не должны вызываться из шаблона (view). Однако в js я могу обратиться к этим методам и даже сервисы, которые заинджектил, вызвать, через {{ $ctrl.privateService }}

Кто скажет: нахуй так жить?
Однако у нас на проекте ребята в узких штанишках именно так и живут.

>Стандарт де-факто помечать имена приватных методов а-ля _myPrivateMeth() {}



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

>Ну тут-то ты перегнул палку, бро. Декораторы можно вешать на методы класса.



имел ввиду, что никуда кроме класса и метода класса ты их не повесишь

В той же статье:
@mydecorator
def myfunc():
pass

Вау!!! Мы сделали декораторы, как в пистоне, дивитесь, хлопцы

Однако аналогичный пример на js

@mydecorator
function() {
}

работать не будет
911655911657
38 Кб, 200x272
#22 #911408
>>911344

>Но вот есть ребята, которые не только ноют, а пытаются что-то изменить: https://flowtype.org/



Это скорее попытка сделать яваскрипт строго типизированным. Интересно, почему команда ангуляра второго выбрала основным языком TypeScript, а не flow?

В тайпскрпте есть private, кстати. Вот только зачем использовать TypeScript, когда можно использовать java? Если писать на нем соблюдая все типы, то нужна будет тяжеловесная ide.
911615
#23 #911409
>>911397
Спасибо за подсказку, буду думать.
#24 #911412

>Вот только зачем использовать TypeScript, когда можно использовать java?


А еще можно своими кокошками жонглировать, попердывая в кресло.
Ты от проблем привык фрустрировать, или все же решать их?

Если нужны приватные методы, обмажься паттерном "revealing module":
https://addyosmani.com/resources/essentialjsdesignpatterns/book/#revealingmodulepatternjavascript
911427911655
#25 #911427
>>911412 получается, что если ты хочешь приватные методы, то использовать новые фишки нельзя
911436911655
#26 #911436
>>911427

>получается, что если ты хочешь приватные методы, то использовать новые фишки нельзя


Риторический вопрос: ты сильно расстроился, когда узнал, что к fat arrow функциям нельзя биндить контекст? Это тоже ограничение новых фишек?
911449911655
#27 #911449
>>911436 я даже не сильно обрадовался, когда они появились
14 Кб, 529x247
#28 #911460
911641
#29 #911579
Запилил на express.js сайтик, который отображает некоторые мои файлики на компе, по аналогии с каталогами в винде, запустил ноду на компе, сайтик стал виден во всей локалке, т.е. дома на телефоне и планшете. Теперь могу дрочить не вставая с дивана. Завидуйте.
911585911602911616
#30 #911585
>>911579
чем лучше расшаренной папки или python -m http.server?
#31 #911602
>>911579

> отображает некоторые мои файлики на компе


> express.js


Ради такого фреймворк жирнючий ставить...
То, что ты описал, уместится в один index.php на 5-6 строк.
#32 #911615
>>911408

>яваскрипт


Ухх, блять

>Интересно, почему команда ангуляра второго выбрала основным языком TypeScript, а не flow?


Почему команда говнуляра не выбрала dart?

Ты заебал уже хуйню пороть, маяковский. В js нет классового наследования, смирись. Здесь пишут функции, кооторые просто не экспортируют и все - нахуй не упали прайват методы. Используй java, раз так бомбит. Или костыли типа typescript/flowtype/dart
911774
#33 #911616
>>911579
ты охуенен, анон
#34 #911628
Аноны, почему для элементов, который запилины для стилизации шрифтов, нет конструкторов?
Не существует HTMLBoldElement для <b> - он наследует напрямую от HTMLElement. И для всяких <i> и прочих <em> тоже.
#35 #911638
>>911269

>Как вообще сделать приватный метод класса в этом вашем яваскрипте?



как там в 0х, что тебе мешает юзать модули?

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

внезапно на стороне клиента, это так и так бесполезно, в чем суть приватных свойств, если они видны в консольке бровзера в жс файле?
911654
#36 #911641
>>911460
жаль не заскринил про че там, думал опять ебаный js свои финты крутит. Так-то в браузере все норм работает, там правда среда не совсем браузер обычный. Ну да похуй
911644
#37 #911644
>>911641

>ебаный js свои финты крутит


В стапроцентах слачаев, это не js крутит финты, а криворукость чья-то.
#38 #911654
>>911638

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


Что ты несешь?
Как ты собираешься добраться до приватных свойств из консольки спрятанных в викмапе, которая в замыкании?

Я не о том, что это годно. Все привычки классоебво в прототипном программировании не нужны (да-да, и конструкция класс в js не нужна, уебки).

Но то, что в js нельзя ничего спрятать от пользователя, так чтобы он до этого не добрался - чушь.
911655911783
65 Кб, 906x783
#39 #911655
>>911269
>>911274
>>911276
>>911344
>>911402
>>911412
>>911427
>>911436
>>911654

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



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

пик рандом
911659911783
#40 #911656
>>911276

> в питоне есть приватные методы


нихуя, в питоне абсолютная рефлексия, там есть только pep8 на приватные и защищенные (protected) методы, а также магические методы и все. В js аналогично.
#41 #911657
>>911350

> эффект медленного появления


Играйся с прозрачностью, где 100% растянуты на нужный тебе интервал.
>>911402

> везде где надо скрывать реализацию от шаловливых ручек макак


Кек, тогда и браузеры заставляю этого стандарта придерживаться, чтобы базовые вещи типо xhr, array.prototype и прочее никто не мог переопределить.

Алзо поясните за react-way. Можно ли в реакт роутере использовать не один компонент, а несколько?
911882
#42 #911659
>>911655
Приватные методы как и классы вообще просят классоебы, которые не могут не пукнув перекатиться из КООП в ПООП. У них шаблон рвётся, так же как у статикодебилов, не способных писать код, так, чтобы их тайпчеккер по рукам все рвемя не ебашил.
911721911783912266
38 Кб, 1129x444
#43 #911661
#45 #911720
>>911661
Пиздец нахуй. Что это за ебатень?
#46 #911721
>>911659
А как по мне, приватные метода - хорошая альтернатива. Чтобы пользователь, такой как я, лол, который если и захочет залезть - то не сможет. Если-бы была поддержка в IE9 и е.п. - давно-бы перекатился на новые стандарты. Но приватные методы ещё на стадии черновика, насколько я помню.
911731911775
#47 #911731
>>911721

>который если и захочет залезть - то не сможет.


Сможет. У него же весь код под рукой. Он возьмёт и сделает нужный метод публичным, поссав вам на литсо.
911783912475
#48 #911742
>>911661

>}))((function(){{ ... })))


Почему яваскрипт такой брейнфак?
911770
#49 #911770
>>911742
Потому что у тебя маняфантазии и преувелечения скобочек.
#50 #911774
>>911615

>В js нет классового наследования, смирись.



Но ведь оно есть и его можно было эмулировать и без введения фальшивых классов в стандарт

Сейчас пишу так:

function private() {
}

class Pizda {
jopa() {
private.bind(this)();
}
}

убого, но хоть какое-то решение
#51 #911775
>>911721
Для этого есть замыкания.
912477
#52 #911783
>>911654 поясни про викмап, как в нем прятать приватные свойства?

>>911655 допустим я делаю перделку-виджет, который клиент сможет разместить у себя на сайте сославшись на мой js фаил. и экспортирую api
widget.puk(); и не хочу, чтобы внутренний метод widget._perd(); был доступен клиенту.

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

>>911659 да. Рвется шабло, что есть класс, а скрыть метод я не могу. Зачем спрашивается нужны были классы?

>>911731 это уже будут его личные проблемы, потому что мы как бы предупреждали
#53 #911786
>>911783

>поясни про викмап


>>911661
#54 #911787
>>911783

>допустим я делаю перделку-виджет


ЗАМЫКАНИЯ
911820911825911836
#55 #911789
>>911783

>Зачем спрашивается нужны были классы?


Они всегда были. Ввиде конструктора и прототипа.
class {} Это просто сахар.

Вместе с их введением ввели и полезную вещи, как наследование от встроенных классов.
911817
#56 #911791
>>911783

>это уже будут его личные проблемы, потому что мы как бы предупреждали


Тогда достаточно использовать символы.
#57 #911802
>>911783

>это уже будут его личные проблемы


В смысле проблемы? Он же намеренно хочет покопаться, а не случайно там что-то сломает.

>потому что мы как бы предупреждали


подчёркиванием предупредите и всё. Нахуя усложнять жизнь и себе, и другим-то, я никак не пойму?
911817
#58 #911806
>>911783

>Зачем спрашивается нужны были классы?


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

>зачем что-то прятать


А ты можешь внятно объяснить, зачем? Толкьо без "не хочу, чтобы они имели доступ", желательно.
911817
#59 #911817
>>911802

>В смысле проблемы? Он же намеренно хочет покопаться, а не случайно там что-то сломает.



Вот именно. Может он вообще туда дебагером полезет. Инкапсуляция это ключевой принцип ООП, вообще-то.

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



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

>>911789 ну ничего же не мешало добавить в этот сахар приватные методы. а так в этом сахаре нет смысла, да и какое же это сахар, когда нужно везде писать this. Даже в java такого маразма нет.

>>911806

> объясни мне принципы OOP


> яваскрипт тред

911829912035
#60 #911820
>>911783

>допустим я делаю перделку-виджет, который клиент сможет разместить у себя на сайте сославшись на мой js фаил. и экспортирую api


widget.puk(); и не хочу, чтобы внутренний метод widget._perd(); был доступен клиенту.

>>911787 дело говорит: https://jsfiddle.net/ee9woaLg/
911825911836
#61 #911825
>>911820

>>>911787 дело говорит: https://jsfiddle.net/ee9woaLg/


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

Замыкать нужно сам класс, а не методы в конструкторе.

У тебя хуевое какое-то представление работы js
911840
#62 #911829
>>911817

>Даже в java такого маразма нет.


Это совершенно разные языки.
Люди не умеющие переключаться между абстракциями и ноющих о том, что в каком-то языке что-то не так как они привыкли, обычно идиоты
#63 #911836
>>911820>>911787 спасибо, кэп.

Я как бы говорю про новомодные классы из es2015, а не про старый синтаксис
#64 #911840
>>911825 человек спрашивал зачем вообще нужно скрывать внутренние методы и свойства.

Это конечно все замечательно, но как ты это сделаешь используя class и всю мощь es2016
911929
#66 #911851
>>911847

>Private visibility is a design-time construct; it is enforced during static type checking but does not imply any runtime enforcement. ... TypeScript enforces encapsulation of implementation in classes at design time (by restricting use of private members), but cannot enforce encapsulation at runtime because all object properties are accessible at runtime. Future versions of JavaScript may provide private names which would enable runtime enforcement of private members

911855911863
#67 #911855
>>911851
а если бы тайп скрипт генерил код так?

https://jsfiddle.net/Lkf7yqsq/

Впрочем с protected бы обсрались, но все равно лучше бы было
912054
#68 #911863
>>911851

>Future versions of JavaScript may provide private names



es2027 ееее!
#69 #911882
>>911657

> Алзо поясните за react-way. Можно ли в реакт роутере использовать не один компонент, а несколько?


Бамп вопросу
911902911906
#71 #911906
>>911882
>>911902
Так же есть документация для роутера 4 (альфа) https://react-router.now.sh/Match
#72 #911909
Поясните за vue js. Клевая ли штука, и нужно ли учить всякие вебпаки и т.п для того, чтобы начать на ней писать что-то простое?
911917
#73 #911917
>>911909
Вполне годная. Но у реакта больше материалов.
Нет, ты начинаешь делать приложение и когда у тебя возникает потребность в какой-то технологии - ты начинаешь ее использовать. Я уже год пишу на реакте, но не знаю вебпак идеально.
Найди awesome vue на github - там будут примеры приложений и ссылки на технологии, которые тебе могут понадобиться.
#74 #911929
>>911840

>но как ты это сделаешь используя class


Разницу между твои и этим примером чувствуешь?
https://jsfiddle.net/kq6dzb4f/
911938
#75 #911938
>>911929
Пример не он писал, а я скопипиздил и изменил имена функций. И да, у тебя паттерн "модуль" - я это понимаю, просто не заморачивался с фиддлом, а нарисовал общее понятие. Скопипиздил пример с кантора.
#76 #912035
>>911817

>Инкапсуляция это ключевой принцип ООП, вообще-то.


Инкапсуляция это не только методы прятать, я же написал.

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


Так чем? Ты можешь не ссылаться на какие-то там принципы чего-то, деды так делали, а взять и пояснить по хардкору, зачем тебе это делать, кроме как скрыть от шаловливых ручек? Ведь последнее, как уже гвоорилось, с js не сделать, всегда есть относительно лёгкий способ всё расковырять.
912246
#77 #912054
>>911855
ТайпСкрипт, Дарт, ФлоуТайп нахуй не нужны. Единственный их плюс - это облегчить старт для всяких мракобесов, которые пришли из Java, например, и не могут переучиться. КофеСкрипт тоже хуета.

Сейчас, блять, ВСЕ кому не лень пилят свои неебатсо крутые фреймворки (но это еще можно понять) и пытаются вылечить JS, который, по их мнению, является хуетой. В итоге мы получим то, что сообщество будет полностью разобщено. Придется тратить больше сил на поддержку проекта, который написан на чуть-чуть ином стеке.

Поэтому не следует быть как Мелкомягкие и заставлять писать разработчиков на своей недоподелке.

Нахуй говнуляр 2 и туда же тайпскрипт.
Вотэт у меня бомбануло, охуеть
#78 #912057
>>912054

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


Ну да, именно поэтому ангуляр 2 через пару лет снова станет промышленным стандартом, на котором будут пилить толстые spa, как это было с первым.
912060
#79 #912060
>>912057

> ангуляр 2 через пару лет снова станет промышленным стандартом



>Angular 3 will be released in March 2017

912062912064
#80 #912062
>>912060
Там леченние проблем с обратной совместимостью. Когда пилили ангулар2, над совместимостью между версиями не подумали. Сейчас во 2-й версии api устаканится и можно будет все обновлять куда проще.
912065
#81 #912064
>>912060
Короче нафига я пишу, читни лучше сам
https://toddmotto.com/please-stop-worrying-about-angular-3
912065
#82 #912065
>>912062
>>912064

Ну норм значит.
912078
#83 #912078
>>912065
Энивей ангулар2 это уже тяжелая махина на уровне эмбер или дерби, которые для простых приложений уже не годятся из-за оверхеда всяких фич "из-коробки".
#84 #912173
>>911397
Ты ща просто взял и ajax на ноль просто помножил
#85 #912246
>>912035

> объясни зачем писать красивый и правильный код, когда можно писать говнокод



пофиксил
912249912284912511
#86 #912249
>>912246
У тебя просто окр.
912275
#87 #912266
>>912054

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


А ты писал на Java/C# большие проекты?

>>911659

> У них шаблон рвётся, так же как у статикодебилов, не способных писать код, так, чтобы их тайпчеккер по рукам все рвемя не ебашил.


Но ведь это удобно, чем больше проект - тем это полезнее. Вот, послушай чувака, у него явно и опыта и мозгов побольше, чем у тебя: https://www.youtube.com/watch?v=Ui8YfxzjaTY
912271912278912480
#88 #912271
>>912266
че там на видео, питонопетух обсирает жсопетухов?
912272
#89 #912272
>>912271
Мужик обстоятельно рассказывает об удобстве TypeScript и преимуществах строгой типизации в общем.
#90 #912275
>>912249 у меня перфекционизм и в этом нет ничего плохого. Может в яваскрипт сообществе поощряется написание говнокода, но в java мире за это бьют по рукам
912276
#91 #912276
>>912275

> но в java мире за это бьют по рукам


Лол, чет на всю квартиру проиграл
912280912281
#92 #912278
дело говорит >>912266

Никто из здешник большой проект никогда не писал видимо. Но тут и правда удобней будет яву использовать я фанат gwt
#93 #912280
>>912276
Тоже проиграл с подливой, соседи ментов вызвали, а то шумно очень. Еще мчс приехали, я подливой пол дома затопил.
912281
#94 #912281
>>912280>>912276 с чего проигнал? расскажи, посмеемся вместе
912300
113 Кб, 1948x858
#95 #912284
>>912246

> правильный код


> красивый код


> джава

912285912557
#96 #912285
>>912284 Да. Что не так? Назови хоть одну книгу о том, как красиво писать код на javascript (не код конвенцию)
912286912300915592
#97 #912286
>>912285
Eloquent JS?
912292
#98 #912292
>>912286 зугуглил, полистал и проиграл.
#99 #912300
>>912281
С того, что джава макака будет рассказывать, насколько этот язык позволяет писать хороший код. Обычно это такой же ад, как и js. Упрощает понимание как раз документирование в нужных местах и тесты. Неочевиднаю логику любой язык позволяет настругать.

>>912285

> как красиво писать код на javascript


Посмотри исходники 2 ангулара, экспресс.
Книги ему какие-то подавай.
912322912557
#100 #912322
>>912300

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



ты удивишься, но действительно позволяет. Существует огромное количество литературы, как писать хороший код на яве. Многие передовые практики в программировании вышли из явы. Даже этот ваш тайпскрипт не более чем попытка запилить яву. Да даже яваскрипт это яваскрипт.
912324912353912511
#101 #912324
>>912322
С последнего утверждения улыбка на поллица уже была.
#102 #912333
В общем, я тот, кто написал вот это http://pastebin.com/nhedaiHx Как можно заметить, функция isPair реализована не очень хорошо. Теперь мне понадобилось определять не только пары, но ещё и другие вещи, причём многим я не могу в constructor засунуть функцию, потому что они хоть и производятся одной функцией, но всё равно имеют разные типы. Собственно, мне интересно 1) как их отличать друг от друга, и 2) ничего же страшного не случится, если я в constructor затолкаю строку? Ну, кроме того, что это "плохой стиль".
#103 #912353
>>912322

>Даже этот ваш тайпскрипт не более чем попытка запилить яву


Нет, это попытка запилить С#. А знаешь в чём разница? В тайпскрипте есть дженерики. В жаве их нет.
912359
#104 #912359
>>912353

>Нет, это попытка запилить С#



начнем, с того, что C# это попытка сделать яву с кучей говна и сахора

>В тайпскрипте есть дженерики. В жаве их нет.



ха ха проиграл
https://docs.oracle.com/javase/tutorial/java/generics/types.html
912535
#105 #912475
>>911731
Ты ебанутый?
Как он сделает публичным метод, к котором даже не имеет доступа даже через Консоль? Вообще, как он изменит тип метода?
Ты ебанутый.
912511
#106 #912477
>>911775
Функциональный стиль ООП - это пиздец и плохой код, как по мне.
912577
#107 #912480
>>912266

>А ты писал на Java/C# большие проекты?


Нет
#108 #912506
>>912054
Если хочешь один раз чему-то научится и работаьь следующие 50 лет, ничего не изучая, не читая и не гугля, то иди дворником работать. ЯП и решения на них будут постоянно развиваться, не смотря на все твое желание оставаться клавиатурной макакой
912512912766
#109 #912511
>>912475
ПРОСТО возьмёт и изменит. Скачает твой код, подправит, и будет использовать свою версию. Или скопирует нужную часть и через плагин добавит публичный метод, который выполняет тот же код, что и приватный.

>>912246

>и правильный код


Разумеется, никакой конкретики, одни смехуечки и гринтекст.

>>912322
Красиво позволяет писать, наверное, любой язык. Однако, если требуется

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


значит есть вероятность, что некрасивый код оно писать позволяет гораздо проще, чем другие языки, на которые столько литературы не требуется, разве нет? Ведь не одни же джависты какие-то особенные, что хотят красивый код писать, все хотят.
912529912535912549
#110 #912512
>>912506

>научиться

#111 #912515
>>911783

>widget.puk(); и не хочу, чтобы внутренний метод widget._perd(); был доступен клиенту



лол, что клиенту мешает сделать релейт, после того как он посмотрит в твой жс файл по ссылке?

widget.prototype._perd = function() {...};
912517912529
#112 #912517
>>912515
А что мешает тебе купить машину и оторвать в ней тормоза?
912520
#113 #912520
>>912517

в webassebly обещают байт код для ЖС, можно будет потом прятать весь код в него. только вот нахуя это всё, когда кругом опенсурс во все поля. хотя...
912521912578
#114 #912521
>>912520
*webassembly
#115 #912529
>>912511

>ПРОСТО возьмёт и изменит. Скачает твой код, подправит, и будет использовать свою версию. Или скопирует нужную часть и через плагин добавит публичный метод, который выполняет тот же код, что и приватный.



про объясни, зачем это делать?

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



нет, это значит что яваскрипетры макаки необучаемые, вкатившиеся в кодинг неделю назад

>>912515 можно, но зачем? я просто скрыл от клиента все не нужное и весь информационный шум, оставив только нужные методы
912644
#116 #912530
>>911262 (OP)
0
голос «против»
избранное

Делаю веб-приложение с расчётом на длительную перспективу. Решил изначально использовать Angular 2, но мне не понравилось, что он слишком массивный, создаёт много файлов и директорий, а так-же устанавливает много модулей, которые мне не нужны (а нужны исключительно для работы ангуляра 2), тем самым, вовсе не вписывается в общую арххитектуру приложения. А за основу своего приложения, брать Angular 2 я не буду, так как его роль далеко не первостепенна. Но я вот вспомнил, что первый ангуляр просто подключается ссылочкой и работает сразу же. Но возникает вопрос, а Ангуляр 1, это вообще хороший продукт, а то я начитался об огромных преимуществах Ангуляра 2, над своим младшим братом, что возникает вопрос, стоит ли вообще использовать Ангуляр1? Или лучше обойтись православным JQuery и не морочить себе голову? Или быть может есть какой-то такой же простенький фреймворк (библиотека), чтобы просто подключить его ссылочкой и не собирать по частям, не закачивать какие-то дополнительные возможности, а просто сесть с сделать то что мне нужно?
912532912534912535
#117 #912532
912533912535
#118 #912533
>>912532
Я читал что он очень ограничен в своих возможностях, а что самое ужасное, ему нужно в случае всего каике-то сторонние модулиподключать.
Это всё правда?
#119 #912534
912535912536
#120 #912535
>>912511

> Скачает твой код, подправит, и будет использовать свою версию.


>>912359

> C# это попытка сделать яву с кучей говна и сахора


А получилось так, что все новые фичи и сахар джава перенимала из С# с опозданием на пару-тройку лет. Так что попытка вышла отличнейшая. Если бы еще не была привязана к одной платформе - java-приложения были бы очень сильно потеснены.
>>912054

> ТайпСкрипт, Дарт, ФлоуТайп нахуй не нужны


Яскозал!
>>912530
Backbone, всего 2 зависимости - jquery и underscore/lodash. То бишь 3 скрипта. Не слушай этих (>>912532 >>912534) петухов, с этой хуитой тебе еще придется всякие редуксы и роутеры использовать с довольно ограниченным функционалом, плохо принимающим что-то кастомное.
Так-то ангулар первый очень хорош, но скоро его поддержку полностью дропнут, увы.
912538912544
#121 #912536
>>912534
Смотрел, читал, к сожалению провёл тест на своём компьютере и он оказался даже медленнее чем jQuery...
912544
#122 #912538
>>912535
Ну а вот "дропнут поддержку" и что? Мой же сайт будет нормально работать? Я вот тоже склоняюсь к первому ангулляру.
#123 #912541
С сайта курса валют нужно утащить курс рубля. Например id: "USDRUB" и Rate: "59.6495". Но постоянно вылазит undefined. Я не могу cформатировать нормально нужный адрес к нужному столбцу.
Жабаскрипта не знаю почти.

https://jsfiddle.net/ojwkoLg4/2/
912542
#124 #912542
>>912541
Есть же ЦБ РФ, который в xml отдаёт курс, нафиг тебе какой-то иностраный поставщик?
#125 #912544
>>912535

>А получилось так, что все новые фичи и сахар джава перенимала из С# с опозданием на пару-тройку лет



например какие?

>>912536

>медленнее чем jQuery



лол, тогда пиши на жуквери
912545
#126 #912545
>>912544

> например какие?


linq, многопоточность, async/await
912556
#127 #912549
>>912511

>твой код, подправит


Ты ебанутый?
Как он исправит мой код у меня на сервере, блять?
Ты ебанутый.
912554912644
#128 #912552
>>912054

> на своей недоподелке


И тут ты обосрался. Этой недоподелкой пользуются даже инженеры из гугла, тобишь квалифициронные спецы.
912765
#129 #912554
>>912549
Кстати, ещё вопрос. Как он посмотрит, если пишу я, например, под NodeJS?
912644
#130 #912556
>>912545

>linq, многопоточность, async/await



лол что? ты точно в курсе что такое ява?
912563
sage #131 #912557
>>912300
>>912284
Найс попытка, но после жс жаба кажется очень хорошим языком. Просто ты видимо из тех кто "вкатывается" и так яро защищаешь родное болотце. А если бы посмотрел на другие языки, то понял бы к чему запилили тайпскрипт и почему жс все называют говном.
912560912566
#132 #912560
>>912557

>но после жс жаба кажется очень хорошим языком


Теперь я знаю, ради кого гугл запиливал дарт.
Слава богам Египта, эта хуитка не взлетела.
912574
#133 #912563
>>912556
Да. Хочешь сказать в джаве не нужны многопоточность или асинхронщина просто потому что? За асинхронщину недавно вот adswizz задвигал, как у них на джаве все круто с ней.
912839
46 Кб, 939x582
#134 #912566
>>912557

>то понял бы к чему запилили тайпскрипт


к тому, что гуглодебсы делают джяву из всего к чему прикасаются
как бы понятно, почему гугелу это выгодно, не понятен только восторг дебилов, которых заставляют жрать говно (программировать на джяве)
912574912655
#135 #912569
Зачем в express.js функция done(), откуда берется и как использовать? Видел в примерах passport.js
#136 #912574
>>912566
>>912560
Собственно как и предполагалось, в этом треде одни мамкины вкатывальщики, ничего кроме жс не видавшие.
912575
165 Кб, 700x774
#137 #912575
>>912574

>не жрал говно большой ложкой (программировал на джяве)


>жизнь не понял

912620
#138 #912577
>>912477
Поэтому в js прототипное ооп, и нехуй изъебываться и пытаться применять парадигмы классового.
912579
#139 #912578
>>912520
Вебассемблер человекочитаем.
#140 #912579
>>912577
Нет, ты путаешь функциональное говно с КООП.
А для JS просто нужны приватные свойства/методы.
912587912590
#141 #912587
>>912579
Что я путаю?
Ты знаешь что такое ПООП?
912588
#142 #912588
>>912587
Конечно знаю, блять.
912591
#143 #912590
>>912579

>А для JS просто нужны приватные свойства/методы.


Проиграл с джявадебса.
#144 #912591
>>912588
Если знаешь, то о каких приватных свойствах\методах ты говоришь? Зачем они в ПООП? Ты уверен, что понимаешь суть ПООП?
912593
#145 #912593
>>912591
Я говорю о класс-синтаксисе же.
И вообще, вон, предложение уже есть -- через решётку. И нормально, уже на черновой стадии.
912595912596
#146 #912595
>>912593
В том-то и дело, что не нужен в js этот синтаксис.
В js не то что чего-то не хватает, как многие тут утверждают, а напротив, слишком много лишнего.
В js не нужна ни конструкция class, ни оператор new, ни множества еще прочих вещей.
Их впиливали чтобы закосить и облегчить жизнь перекатывальщикам. А перекатывальщикам все мало.

В js иная парадигма, не КООП, он динамичен, тут метапрограммироване во все поля. Но людям слишком сложно и они ноют что им нужно то, чего на самом деле тут не нужно.

Все, что вы просите, должно реализовываться для вас препроцессорами, трансляторами, а не самим языком. И если бы вы понимали что KISS это хорошо, то не ныли бы.
912598
#147 #912596
>>912593

>через решётку


Куда полезнее было бы это использовать для Symbol.for()

object #ololo == object[Symbol.for('ololo')]
#148 #912598
>>912595

>ни оператор new


И как ты предлагаешь вызывать функцию с NewTarget?
Через `Object.create(Constuctor.prototype)` и `Function#call`?
Ты ебанутый? Ты ебанутый.

Насчёт всего остального -- согласен, да. Но раз уж заговорили -- просто поддержал тему.
Да и мне всё-равно так-то. Всё-равно ещё года 3-4 не буду использовать ES6+, лол.
912603
#149 #912603
>>912598
Ебанутый тут только ты, к сожалению, если не умеешь выносить часто используемый код в отдельную функцию.
912606
#150 #912606
>>912603

>часто используемый код в отдельную функцию


Как-раз в конструктор это и выносится, если наследник нужен во многих местах.
912608
#151 #912608
>>912606
При чем тут конструктор и оператор. блядь, дебил сука.
Какой же ты тупой, если не понимаешь, что оператор в языке ты уже не перегрузишь, если тебе не запилят эту возможнсть через какие-нибудь мета-методы, а метод блядь легко.

Ты настолько туп, что не смог бы переделать bew Hui() в Hui.new() ?
Ты дебил?
912748
#152 #912620
>>912575
Наоборот же, антоша.

> Не пробовал писать на нормальном языке объёмные проекты


> жизнь не понял


Так-то лучше.
912648
#153 #912644
>>912549
Это ты ебанутый. Если код у тебя на сервере, то клиенту похуй, у него нет никакого доступа к твоему коду вообще, приватность методов тут никаком боком не относится. Изначальный посыл был, что "вот у меня есть два метода, но пользователю моей либы я хочу дать доступ лишь к одному из них".
>>912554
Никак не посмотрит, ты даже не понимаешь, о чём речь в разговоре шла.

>>912529

>про объясни, зачем это делать?


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

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


Ээ, каким образом это вытекает из наличия кучи литературы по джаве?
912748
#154 #912648
>>912620

>джява


>на нормальном языке



Ты уже из треда вытекаешь, Раджешь.
912657
#155 #912655
>>912566
Одни джавадебилы говорят что это идеальный язык и делают из всего, к чему прикасаются джаву, даже из лиспа, даже из пайтона, да даже из аллаха.
Вторые говорят что джава не нужна и вообще не тру и ебашат веб на пыхе, перле или рубях. Съебитесь в свой загон, заебали по всей борде срать.
912657
#156 #912657
>>912648
>>912655
Разговор был только за строгую типизацию (независимо от языка), а не за то, что "джява лучший язык", не фантазируйте.
912660
#157 #912658
Ребят, я вчера проебался и не успел выучить все фреймворки, которые вышли, а ещё и за сегодня учить. Подскажите, что делать?
912665
#158 #912660
>>912657
Строгую типизацию сожно прикрутить к любому языку ввиде препроцессинга. А ты попробуй выпилить строгую типизацию из языка, в который она вшита. Сможешь java использовать в качестве шелл-языка? В качестве интерактивного репла для управления какой-то среды? Удобно будет?
А js удобно. А чтобы на js писать что-то большое для поддержки, есть внешние инструменты.

Бритва Оккама.
912661912670
0 Кб, 512x512
#159 #912661
>>912660

>java использовать в качестве шелл-языка


>интерактивного репла для управления какой-то среды


>А js удобно


лол
912666
#160 #912665
>>912658
покупать гроб и ползти в известном направлении
912675
#161 #912666
>>912661
Стикероеб, съеби в вкашечку.
#162 #912670
>>912660
Ты из тех, кто пишет GTK-приложения на руби?
Я не слепой фанатик какого-то определённого языка и не пытаюсь пихать его там, где ему не место. Очевидно, что для шелла удобней использовать скриптовый язык.
912671
#163 #912671
>>912670

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


А js, блядь, какой?
912676
#164 #912675
>>912665

>ползти в известном направлении


На рентген?
#165 #912676
>>912671
В треде вроде как не шелл обсуждали. То, что JS скриптовый и подходит для шелл скриптов лучше, чем джава, ещё не означает, что на js приятно писать что-то сложнее туду-списка.
912678912680
#166 #912678
>>912676
Тред посвящен языку, а не какому-то отедльному его применению.
JS отлично подходит в качестве встраиваемого, в отличии от.
Мой пост был о том, что из языка в котором зашито всё, нельзя это просто взять и выбросить, в отличии от того, что когда в языке тебе не хватает чего-то - прикрутить это.
#167 #912680
>>912676

>что на js приятно писать


Ну у bash и powershell то синтаксиси очевидно приятнее!
912688912806
#168 #912684
Ребята, привет, есть один цикл, в каждой итерации я конструирую пикчу и добавляю её в документ, есть кое-какая обработка события onload каждой пикчи.

Я правильно понимаю если я напишу этот ивентлисенер инлайн, т.е. внутри тела цикла, то JS клонирует эти функции столько раз, сколько итераций цикла, а если я вынесу тело функции за пределы цикла, то в памяти будет только один экземпляр этого лисенера на все пикчи?
912685
#169 #912685
912686
#170 #912686
>>912685
Спасибо, добра.
0 Кб, 512x512
#171 #912688
>>912680
дурачок не унимается и продолжает пихать жс всюду?
bash неплох, есть альтернативы, если ты неосилятор - это уже другой разговор
#172 #912692
Блджад, как захватить WebGL Canvas в изображение?
Перепробовал все советы, один хуй на выходе прозрачное изображение (пнг), что в Хроме, что в FF.

Вот что делаю, например, на этой странице: http://learningwebgl.com/lessons/lesson01/index.html

const glctx = document.querySelector('canvas').getContext('webgl', {preserveDrawingBuffer: true})
glctx.canvas.toDataURL()

Пробовал через readPixels, как сказано тут: http://stackoverflow.com/a/18804083
Получается та же хуйня.
912707
#173 #912707
>>912692
Потому что в твоих примерах при рисовании контекст был создан без {preserveDrawingBuffer: true}

Сохрани эту свою страницу на комп, допиши там в функции initGL {preserveDrawingBuffer: true}
и все заработает.
912715
#174 #912715
>>912707
Блджад, и правда заработало.
Спасибо!
Выходит, зафиксировать изображение из webgl канваса можно только передав соответствующий аргумент в получение контекста на этапе инициализации?
912718
#175 #912718
>>912715
Ну, а иначе буффер изображения не хранится в озу, оно в видеопамяти же. Откуда его брать, чтобы тебе отдать в виде пикчи?

Возможно и можно сделать скриншот страницы, через апи самого браузера, которое доступно для расширений например, и из него уже вырезать область с канвасом. Но в обычном клиентском js нет такого апи, то небезопасно..
912722
#176 #912722
>>912718
Ясно, спасибо!
#177 #912748
>>912608

>переделать bew Hui() в Hui.new()


Пиздец. Даун, не понимающий ООП. Спешите видеть!

>>912644

>Это ты ебанутый.


Нет, ты
Слушай, анон, в чём проблема? Приватные методы - хороший способ убрать то, что не нужно видеть. Я-бы с удовольствием перепилил некоторые функции для расчётов и пр., чтобы их не было видно вообще во внешнем коде.
Это хорошое дополнение к языку, приучает контролировать геттерами-сеттерами всё важное и не давать добраться юзеру к чему-то важному.
#178 #912757
>>912748

>Пиздец. Даун, не понимающий ООП. Спешите видеть!


Посмотрели на тебя, что дальше?
#179 #912758
>>912748
Сосачую этого, синглоёб в треде.
912763
несовместимость версий #180 #912762
Поясните, почему так расплодились уёбищые быдло-ориентированные пакетные менеджеры вроде composer и npm, где все зависимости кладутся в подпапку, вместо того, чтобы храниться и обновляться централизованно по принципу "1 пакет на всю систему, а если где-то в зависимостях обнаружилась несовместимость, то вы идёте и фиксите её, а не тащите 100500 версий пакетов ради какого-то брошенных пакета, на который разраб положил хуй". Вы понимаете вообще, что если вы позволите разрабам не устранять несовместимости, их никто не будет устранять, потому что "и так работает, работает - не трожь, а на самом деле мне просто лень копатся в чужом говнокоде", хотя там фиксить обычно от силы пару строчек, у вас будут копится пакеты, которые не совместимы с новыми версиями других пакетов, которые в свою очередь будут зависить от старых и потенциально уязвимых версий других пакетов. Какой дебил мог это придумать, какой дебил мог это поддержать и как вы собираетесь эту проблему решать?
42 Кб, 1094x372
#181 #912763
>>912748
>>912758

Тред полон идиотов.
Продолжайте жить в манямирках.
912771913679
#182 #912765
>>912552
Эти "квалифицированные спецы" будут писать на том, на чем им скажет писать начальство.

Если инженеры из гугла будут ставится хмурым и жрать говно, ты свое говноедство тоже будешь так аргументировать?
#183 #912766
>>912506
съеби нахуй, ты даже не понял о чем я говорю
#184 #912771
>>912763
Может, тогда ещё убрать `instanceof` и `in`? И циклы все в методы переделать.
Пиздец даун. Операторы в JS нужнее тебя в этом треде.
912772912778
#185 #912772
>>912771
Если бы ты был хоть чуть-чуть прошаренее, то знал бы, что половина операторов и так перегружаются с помощью мета-методов. И твой instanceof ни что иное как obj[Symbol.hasInstance]()

Так что продолжай пососасывать причмокивая.
913221
#186 #912778
>>912771

>Может, тогда ещё убрать `instanceof` и `in`? И циклы все в методы переделать.


Охуенно было бы, кстати. После этого останется только this выпилить, === переделать в == и получится более-менее нормальный язык.
#187 #912795
Есть массивы (arr), и есть нечто (smth), что сделано на основе массива (точнее, оно - специально сформированный массвив. Нужно написать функции isArray и is_SMTH, при этом isArray( arr ) === true, isArray( smth ) === true, но is_SMTH( arr ) === false и is_SMTH( smth ) === true. Есть идеи?
inb4 переделай на объекты
Там та же самая проблема будет, только с объектом вместо массива.
912799
#188 #912799
>>912795
Object.getPrototypeOf
912863
#189 #912800
Сап, аномач. Как в жс можно целое число к float привести?
Например, у меня есть 412, как его сконвертировать в 4.12?
Т.е. брать последние 2 знака как знаки от точки.
550 = 5.5, 5155 = 51.55 и т.п.

Пока только идея конвертировать в строку, добавлять . на 3 с конца позицию, это нормально?
#190 #912806
>>912680

> powershell то синтаксиси очевидно приятнее


Нет, повершелл говнина
#191 #912809
>>912800
Любое целое число в js и есть float, в v8 точно так было.
912811
#192 #912810
>>912800

> у меня есть 412, как его сконвертировать в 4.12?


Стоп, в школе деление уже не проходят?
912836
#193 #912811
>>912809
ТЗ не читай, сразу отвечай.
#194 #912836
>>912810
Спасибо, и правда тупо
#195 #912839
>>912563 хочу сказать, что не понимаешь о чем говоришь.

linq в java нет и не было
многопоточность всегда была
async/await нет, вообще не знаю что это за шняги и зачем она нужна
912981
#196 #912849
>>912800
Тестовое выполняешь?
71 Кб, 1080x918
43 Кб, 519x931
#197 #912863
>>912799
Спасибо.
#198 #912865
Зачем учить весь жаваскрипт, если есть jquery?
912867912979913222
#199 #912867
>>912865
чтобы не сидеть на jquery в 2007
912870912874912876
#200 #912870
>>912867
У него версия апнулась в прошлом году.
#201 #912874
>>912867
Do more, write less
#202 #912876
>>912867
80% сайтов, в том числе самые популярные, используют jquery, остальные 20% старое говно.
912966
#203 #912959
>>912748
В том же луа, например, все через Class.new() и хуячат, потому что по-другому нельзя, и ничего, живут.

>и не давать добраться юзеру к чему-то важному.


Библиотеку свою спрячьте, блин.

>хороший способ убрать то, что не нужно видеть.


Если не хочешь чего-то видеть — не смотри. Ни одного конкретного аргумента, кроме как "не хочу", "спрятать", "ооп", "правильный код" так и не прозвучало. Что такого хорошего-то в ограничении пользователя, особенно когда он может это обойти, если совсем надо? Задокументируйте, обозначьте — дальше пусть сам ебётся, если что-то сломает используя "приватное". Я уже слышу запах своего пердака из будущего, когда приватность введут.
Вот есть OGVKit на ифон, webm проигрыватель. Там есть методы для показа и скрытия кнопок управления. И они приватные, блядь, вызывается только по внутренным событиям. Ну вот нахуя? Мне надо было в нужные мне моменты прятать или показывать, пришлось копипастить код тех функций в свой контроллер (даже к приватным переменным обращений не было).
В питоне в xlwt, например, была возможность доступа к экселевским листам лишь по названию. А мне по индексу надо или просто по всем листам пройтись, а массив листов "приватный" (к счастью, в питоне это легко обходится). В итоге через workbook._Workbook__worksheets[idx] и приходилось лазить. Но тут имя класса указано, а это не очень хорошо и может принести проблем.
Я уверен, у многих найдутся такие примеры, когда что-то полезное зачем-то прячут, вынуждая костыли пилить.

В общем, похуй, чего спорить.
#204 #912966
>>912876

>80% сайтов, в том числе самые популярные, используют jquery


L E G A C Y

E
G
A
C
Y
913022
#205 #912979
>>912865

> Зачем учить всю математику, если есть калькулятор?

912990
#206 #912981
>>912839

> что не понимаешь о чем говоришь


Я сравниваю. В С# многие вещи сделаны на голову продуманнее и удобнее. Только в 1.8 добавили лямбды например.

> вообще не знаю что это за шняги и зачем она нужна


Действительно, зачем в приложении может понадобится асинхронность?
В общем этот холивар не имеет особого смысла.
913019
#207 #912983
>>912748

> Даун, не понимающий ООП


Фанат Алана Кея, ты?
913038
#208 #912990
>>912979
Но ведь математика js-программисту реально не нужна.
912992912993913037
#209 #912992
>>912990
А как же Веб Гэ Эль?
#210 #912993
>>912990
Не умеешь в аналогии - иди нахуй.
913040
#211 #913019
>>912981

>Я сравниваю. В С# многие вещи сделаны на голову продуманнее и удобнее. Только в 1.8 добавили лямбды например.



Как ты можешь сравнивать ява и c#, если ты не имеешь представления о яве и несешь какой-то бред?

>Только в 1.8 добавили лямбды например.



и? ты хочешь, что сказать, что лямбды придумали специально для c#? ты хочешь сказать, что раньше нельзя было писать код лямбд?

>Действительно, зачем в приложении может понадобится асинхронность?



ты утверждаешь, что в яве нет асинхронности? Ты что несешь вообще?
#212 #913022
>>912966 этот ваш ангуляр теперь тоже легаси
Анон, подскажи #213 #913025
Как вообще цивилизованно можно решить проблему с невозможностью задать в классе свойство-значение?
Вот я, допустим (https://jsfiddle.net/bjg5Lv7L/), решил сделать класс User, каждому экземпляру которого давался бы свой айдишник от 0 до +∞.
Лучше ничего не придумал, чем по совету Кантора задать прототипу а-ля "внутреннее" свойство.
Так вот, как бы данную проблему решил прокаченный анон, или я накорябал максимум, который (пока) можно сделать?
#214 #913026
>>913025
Быстрофикс: ссылка без запятой, конечно же https://jsfiddle.net/bjg5Lv7L/
#215 #913037
>>912990
Конечно. Особенно это заметно >>912800
#216 #913038
>>912983
Так он как раз не понимает постулатов Кея.
Он же из переделанной (new Class) конструкции в (Class.new) увидел сингелтон, а не посылку сообщения объекту.
#217 #913040
>>912993
Для этого нужно абстрактное мышление.
90% обитателей /pr в него не умеют.
#219 #913042
>>913025

> как бы данную проблему решил прокаченный анон


Не выебывался с сахаром, и писал бы все на страх добрых прототипах и конструкторах отдельно.
Для консистентности.
#220 #913043
>>913025

>User.prototype._quantity++;


То, что ты в конструкторе дергаешь свойство их прототипа, а не из образешься к нему из самого инстанса, говорит о том, что ты вообще не понимаешь прототипную объектную модель
913045913063
#221 #913045
>>913043
Поясни, пожалуйста, почему нельзя так делать?
не-тот-анон
913048913069
#222 #913048
>>913045

> почему нельзя так делать?


Менять поле прототипа в экземпляре? Вот уж действительно.
#224 #913063
>>913043
Я как бы поэтому и спрашивал. А вот то, что ты сделал, это указал мне на то, что я дурак, ничего не предложив самому. И, кстати, ниже тебя, опять же, спросили, почему, на что ты ответил "вот уж действительно". У меня два предположения - либо ты сам нихера не понимаешь, либо ты просто мудак. Скорее всего, второе
913065
#225 #913065
>>913063
Нахуя тебе этот твой счетчик _quantity в протипе инстансов?
Почему ты не сделаешь его статическим свойством самого конструктора User? Или ты не знаешь, что такое стические свойства, и что функции это тоже объекты?
913066
#226 #913066
>>913065
Для это придется отказаться от использования сахара. Я же потому и спрашивал, что class не дает возможности устанавливать свойства-значения.
913070913074
#227 #913069
>>913045
Менять свойства в прототипах вообще - хуевая практика, вносящая путаницу. Прототипы хранят методы. которые у всех инстансов будут одинаковыми, и если свойства - то со значениями по умолчанию.

В его конкретном примере, где он пытается хранить динамический счетчик чтобы генерировать id - это все равно, что в магазине, после каждого покупателя продавец будет рассылать сообщения всем предыдущим (и последующим) покупателям смс о том, что количество покупателей стало больше. У него короче нелогичное решение аблсолютли, ибо этот его счетчик никак не относится к отдельному инстансу, он относится к классу как таковому и считает количество инстансов этого класса, а значит и свойством должен быть класса, а не инстансов.
#228 #913070
>>913066
Ты дурак? Ты итак отказался от сахарах, и пишешь в протип мимо сахара.
Замени свой user.protytype.q на user.q

И иди учить js заново.
913074
#229 #913074
>>913066
>>913070
Если тебе так лень инициализировать статическое свойство строкой ниже декларирования класса, используй замыкание на здоровье. Но для одного свойства, это вполне себе оверхед. https://jsfiddle.net/erx7fbhk/
913078
#230 #913078
>>913074
https://codepen.io/anon/pen/EZgLqz?editors=0010

ES5 дикаратар-стайл, все по Кантору.
913121
#231 #913121
>>913078 охуенная читаемость кода. лол
#232 #913221
>>912772

>половина операторов и так перегружаются с помощью мета-методов


Которые, естественно, не нужны.
#233 #913222
>>912865
Зачем учить язык, если есть раскладка на клавиатуре?
#234 #913463
Аноны, подскажите как сделать аккардион с неизвестным количеством подменю. Делаю без джейквери, фреймворков и библиотек.
913472
#235 #913472
>>913463
Просто берешь и делаешь без задней мысли.
913481
#236 #913481
>>913472
ага спасибо.
я подумаю и сделаю, а ты и дальше продолжай сосать хуи.
913495
#237 #913495
>>913481
У тебя какие-то проблемы с сосанием хуёв?
913530
#238 #913530
>>913495
ты правда хочешь говорить в жс треде о сосании хуев?
#239 #913676
Посоны, поясните за геймдев на JS.
Как оно вообще?
В том плане, приятно ли на жс игростроем заниматься, при условии, что сам процесс разработки на жс очень доставляет.
Описание логики нуднее, чем, скажем, на Lua?

Правильно ли я понимаю, что все современные игровые движки на жс задействуют canvas?
913684
#240 #913679
>>912763

>ES5 в 2к17.

913683
#241 #913683
>>913679

>в 2к17 не знать, что у стрелочных функий нельзя перебиндить this

#242 #913684
>>913676

>Правильно ли я понимаю, что все современные игровые движки на жс задействуют canvas?


Да.

Об остальном не скажу, не знаю что для тебя приятно.
913686
#243 #913686
>>913684
Хорошо, а на каком движке можно быстро запилить простейший аналог арканоида или флаппи-берда, дабы ознакомиться?
Без текстур и без физических наворотов.
#244 #913841
Ангуляробояре, кто работал с ui-router? Есть простой способ превратить url в state?
Суть в том, что когда я гружу приложение на роуте '/' и потом перехожу из него на '/url', то всё норм. Но если сразу попытаться зайти на '/url' или обновить страницу, будучи на нём, то ничерта не грузится. Не срабатывает даже перенаправление на '/' с неправильного роута.
#245 #913850
Добрый анон помоги нубу.
Выбрал JS основным языком, который буду юзать, но начинать дрищу с него не рекомендуют, потому начал изучать основы программирования на С. Понял синтаксис и основы, но не затачивал решения задач, т.е. я осознаю где и что в этом С, но не применял его на практике. Так вот, что хочу знать: таких знаний будет достаточно, чтобы начать учить JS и не стать говном, или всё-таки надо задрочить С? Просто скучноват он, да и все-равно его применять не планирую, но становиться быдлом не хочу. Спасибо!
913852913932
#246 #913852
>>913850

>но становиться быдлом не хочу


А правда в том, что знания Си и прилагающиеся к нему в работе с JS тебе не понадобятся ещё очень долго, возможно - никогда.
913856
#247 #913856
>>913852
Понимаю, но в воспитательных целях надеюсь я не зря потратил время =) Спасибо за ответ
913870
#248 #913870
>>913856
Чтобы начать изучать Js, тебе нужен просто курс основ программирования. Понимать, как работают циклы, ссылки, функции. И то, это все необязательно, в учебниках Js это в любом случае разжевывается.
Другой вопрос - для чего ты собираешься использовать Js. Если для веба (а если не для веба, то это странно), то хорошо бы заштудировать html и css, благо, эти две вещи простые как жопа.
913874913883
#249 #913874
>>913870

>а если не для веба, то это странно



А что скажешь про electron.js?
913885
#250 #913883
>>913870
Понял, спс. Да для веба, html и css точу на htmlacademy.
#251 #913885
>>913874
Примеров использования js где-нибудь кроме веба множество, но нахуя?
913898
#252 #913898
>>913885
Ну, если ты очень любишь Js, то ты захочешь писать на нем инструкции на холодильнике для своих детей. Вопрос в том, что человек спрашивал про то, с чего ему начать любить Js, а начать лучше с того, с чего начинал сам Js
913936
219 Кб, 505x468
#253 #913932
>>913850
JavaScript неудачный вариант для новичка. Функции как объекты, объекты как массивы, запутанная схема кастования типов при сравнении: https://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3 , хаки для вещей, которые в нормальных ЯП реализованы искаропки: http://stackoverflow.com/questions/3446170/escape-string-for-use-in-javascript-regex/6969486#6969486
Отсюда и обилие всяких is-function.js и is-number.js

Лучше со старта не забивать себе голову этой дрянью, а взять сишку и какой-нибудь учебник по алгоритмам, реализовать стек, очередь, различные алгоритмы на деревьях и графах. Далее взять язык с нормальным ООП и написать на нём пару игрулек. А потом, если уж припечёт, окунайся в джс-парашу.
913955914145
#254 #913936
>>913898

> если ты очень любишь Js, то


ты долбоёб
146 Кб, 1209x806
179 Кб, 1280x960
174 Кб, 864x1296
#255 #913938
Профи, поясните за Dojo Toolkit. Я смотрю на него и вижу, что из коробки есть многие фичи, которые в современных фреймворках типа Angular и Ember появились относительно недавно. Почему он так непопулярен? Пишется ли сейчас какой-то софт на нём?
Алсо, дополнительный вопрос: пишу на Python/Django, хочу делать фронт для своего проектика, который задуман как SPA. Чем бы вы пользовались на моём месте? Таблицы, кнопки, тулбары и деревья в проекте будут, а на ExtJS денех нет (проект не планируется быть OpenSourсе, а пиратить убеждения не позволяют).
[SPOLER]Скидываю лолей авансом[/SPOILER]
#256 #913944
>>913938
Очевидный реакт очевиден.
#257 #913955
>>913932

>пикрил


Ох уж этот реддит.
Не поленился, нашел пекедж:
https://github.com/tjmehta/is-positive-integer

В package.json - зеродеп и три дев зависимости для тестирования.
Сам пекедж состоит из одного файла и дюжины loc.
913963
#258 #913963
>>913955
Блять, у этой хуйни лайков больше, чем во всех моих репах вместе взятых. Нужно пересаживаться на JS и клепать is-string.js
#259 #913965
>>913938

> Почему он так непопулярен?


Потому же, почему и эмбер. Сложный и тяжелый. Хотя на самом деле просто нимодна
#260 #913972
>>913938

> Чем бы вы пользовались на моём месте?


Ember/Angular
#261 #913977
>>913938
Rax же. Алибаба хуйню не посоветует.
Тем более, реакто-совместим. Если что, пересядешь на другой стул.

https://twitter.com/survivejs/status/819811229690535936
#262 #914057
>>913938
Ты должен этому треду еще лолей
914893
#263 #914145
>>913932

>учебник по алгоритмам


Посоветуйте самый наигоднейший.
915018
79 Кб, 1658x922
#264 #914176
Вся суть фреймворо-вкатывальщиков, которым ванила не нужна.
914252914291914301
#265 #914191
Ананасы, помогите пожалуйста. Сам вопрос на stackoverflow, но там чувак предложил вариант на чистом JS, что мне не подходит, т.к. хочу сделать spa полностью на ангуляре.
http://ru.stackoverflow.com/questions/616064/angularjs-обработка-input
sage #266 #914193
>>911262 (OP)

>JavaScript


Гавно для тп.
914199
#267 #914199
>>914193
У тебя есть что-нибудь получше?
914202914214
#268 #914202
>>914199
luajit
914234
#269 #914209
Ананасы, посоветуйте сборку реакта с вебпаком. Никак не могу его прикрутить к своей системе, хоть убей.
Поднимает, но картинки не подключает и роуты не работают. Урл меняется, вьюха - нет.
Нифига не понимаю суть вебпака этого.
Может у кого-нибудь простейший проектик есть на react+scss+webpack?
914215914221
#270 #914214
>>914199
Для тебя нет. Ты мозговой инвалид. Некоторые киселя по ящику зырять, ты вот, корявыми пальцами в бородавках, гавнокод на жоэс набираешь за дошир.
914233
#271 #914215
>>914209
Начни носить брюки в обтяжку и жахаться в срачельник и все сразу заработает. Фраентенд чует, что ты не из своих и не дается тебе.
#273 #914233
>>914214

>Для тебя нет.


Значит, нет вообще.

</thread>
#274 #914234
>>914202

>lua


Нет, спасибо. Этот синтаксис заставляет меня блевать.
128 Кб, 1024x768
#275 #914251
А насколько ООП востребовано в веб-разработке? Во фронт-энде, например? Было вот такое тестовое - хз, что там отвечать, по-идее. Я бы тупо через ng-repeat ангуляром вывел или чем-то подобным в реакте. Нах там классы нужны и методы? Это ж комменты простые. Или это все так строят архитектуру? КЛАСС APP, У НЕГО ЕСТЬ КЛАССЫ ФУТЕР И ХЭАДЕР...
Покажите простой пример ООП, который реально встречается, а не Animal -> Cat.
На самом деле плюсую к тем, кто выше писал, что проблема не найти обучающие материалы, а найти материалы, которые РЕАЛЬНО используются или, хотя бы, близки к этому.
Один раз вообще статью читал, где фронтам рекоммендовали выучить сколько кб ссылка занимает и задрочить алгоритмы с обходами бинарных деревьев. Где, блеать, в обычном SPA, это может пригодиться???
#276 #914252
>>914176
анон, объясни прикол, я сам вкатывальщик только в реакт
914255
#277 #914255
>>914252
Гавнакод на ангуляре. Писала макака (другие на ангуляре и гавнариакте не пишут). Разъяснять лень.
#278 #914291
>>914176
Проиграл с кастинга в строку и последующих сравнений.
#279 #914296
>>914251

>Где, блеать, в обычном SPA, это может пригодиться???


Никто не спорит, что создать виджет комментариев легко и без применения ООП.
Однако создание изолированного класса [здесь] сродни компонентному подходу, т.е. повысит и упростит реиспользуемость кода в будущем.
Так что ООП в фронт-энде не лишено смысла.
#280 #914301
>>914176
Это же шутка какая-то? Айди даётся по порядковому номера элемента в массиве (зачем вообще такой айди нужен, это же индекс?), но при этом элеметы оттуда могут удаляться, то есть получится несколько элементов с одинаковыми айди.
13 Кб, 860x166
#281 #914303
>>914301
Спасибо Абу за спам-лист.
914336915012
#282 #914315
>>914251
ммм UML, OOP
Универом попахивает)
121 Кб, 628x421
#283 #914336
>>914303
Абу пидор, двачую
#284 #914337
>>914251

> в обычном SPA


Ну если для тебя смысл жизни это лепить круды, то можешь забить вообще на теорию.
914353914358
#285 #914343
>>914251

>насколько ООП востребовано в веб-разработке?


НИНУЖНО
во фронтеде востребовано ФП, в частности FRP
ООП - для отсталых яванских макак
#286 #914351
>>914301
Нет, не шутка.
#287 #914353
>>914337

> Ну если для тебя смысл жизни это лепить круды


Это же 95% тасков
#288 #914357
>>914301
Если бы ты присмотрелся, о понял, что унео там с айди не все так просто даже. Они у него вынлядят как
011
021
031
...
0441
0451
915012
#289 #914358
>>914337

> фронтенд


> лепить круды

914364
#290 #914361
>>914251
В твоем задании хотели, чтобы ты рассобачил сам интерфейс на MVC, а модели попривязывал к предметным сущностям - пользователь\комментарий\етк
914366
#291 #914364
>>914358
Ну окай, интерфейсы к крудам
#292 #914366
>>914361
Комментбокс на MVC паттерне? Ёбу дал?
Тогда из него вырастет достойный продолжатель дел TodoMVC.
#293 #914389
>>914251
Спасибо за публикацию нашего ТЗ на дваче. Мы вам перезвоним
#294 #914449
Господа, у меня проблемы с гуглением. Вот, у массива есть метод map. Возвращает новый массив с результатами работы функции-коллбэка. Если ли нечто похожее для объектов (ассоциативных массивов)? Типа вот такого, только еще чтобы с ключами можно было что-то делать https://jsfiddle.net/jezh5vgm/
914450914453914457
#295 #914450
>>914449
Object.keys/Object.values
914457
#296 #914453
>>914449
Написать самому - никак? Это же легко.
914484
#297 #914457
>>914449
>>914450

const mapping = {
hello1: 1,
hello2: 2,
hello3: 3
}

Object.keys(mapping).reduce((o, key) => (o[key] = `${mapping[key]} darling`, o), {})
#298 #914474
Товарищи, я написал небольшую либу на ванильке, задача которой - строить DOM в новом окне (через window.open()) и нет, это не попап, который открывает вкладки в бекграунде.

Скажите, можно ли каким-либо JS фреймворком тестировать функционал либы, кроме монструозных комбайнов типа фантома/селениума?
Тестирование заключается в проверке атрибутов элементов созданного дома на соответствие эталонным.
914478914547
#299 #914478
>>914474

>и нет, это не попап, который открывает вкладки в бекграунде


Проиграл.
window.open это и есть попап, мань.
914485
angular bender #300 #914481
херня вопрос

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

как сделать так, чтобы список категорий получить один раз и больше к нему не обращаться?
914560
#301 #914484
>>914453
Не хотелось бы изобретать велосипед
#302 #914485
>>914478

>window.open это и есть попап, мань.


Да здесь нечему проигрывать.
Имел в виду не рекламный скрипт.
914489
#303 #914489
>>914485
Браузер не различает семантику содержания.
Если он настроен блокировать всплывающие окна, он их будет блокировать. В отличии от вкладок.
914493
#304 #914493
>>914489
Это все понятно, я сделал оговорку для того, чтобы не возникло сомнений относительно благонадежности кода.

Я смотрю, Жасмин умеет отлавливать ивенты, в т.ч. открытие окна.
Может ли она чекать дом в порожденном окне?
914542
#305 #914542
>>914493
Я вот о чем подумал, дабы избежать использования фантома и селениума, в апи либы своей сделать доступным вызов, который бы возвращал объект window порожденного окна, а входящий в него дом далее использовать в тестировании.
Ведь это гораздо проще.
#306 #914547
>>914474

> написал небольшую либу на ванильке, задача которой - строить DOM в новом окне


Нахуя?
914629
#307 #914560
>>914481
Запрос в момент инициализации контроллера?
914601
#308 #914585
Аноны, поясните, как развивался веб вкратце? Или где можно об этом почитать/посмотреть?
Например:
1. Тупо были файлики index.html, style.css, script.js, где и была вся логика. Написал, закинул новые на сервак - всё работает. По желанию - модульность в отдельные файлики.
2. CRM, CMS - ????
3. Пишем на фреймворках, собираем галпами и паками, получаем готовую сборку, которую и деплоим

Собственно, проблемы с п.2, т.к. не застал того момента и не особо шарю, как ээти ваши CRM/CMS работают. К чему они относятся вообще?
914600
#309 #914600
>>914585
Сначала был голый html, даже без css. Все форматирование происходило за счет семантики тегов b, i, p, blockquote и так далее. За стиль оформления отвечал сам браузер.
Потом появился css, который вначале был куда плачевнее нынешнего.
Только позднее, спустя почти пять лет начала существования гипертектста в браузерах появился js, но и тогда он не был призван для какой-то там логики. Он использовался для все того же фактически оформления страниц.

Веб эпохи один ноль, был устроен таким образом, что сайты были в большей степени статичны и наполнялись самими администраторами. Не было никаких комментариев чатов и прочего (суть такой интерактивной динамики, а если где-то и была, то выглядела совершенно иначе и работал на иных принципах), для общения и обсуждения использовались иные каналы связи, не веб.
cms же тогда, если и были то только у крыпных ресурсов, для администрирования и генерации этого самого статичного контента.
Сначала использовали perl, потом из него родился php. И так далее, иные серверные платформы, для написания этих самых штук.
Айти самая динамичная индустрия в мире, тут все всегда развивается очень быстро и парарллельно. Нельзя точно сказать, что в какой-то момент это было, а этого в этот же момент не было. Оно могло быть но осуществлялось иначе.
С тем как росли серверные фреймворки (к слову, php это имено веб-фреймворк, а все ваши симфони запилены уже поверх фрейворка. в то время и до сих пор были и остаются те кто писал сайты и на сишечке), как росли серверные платформы, менялся и веб.
Нет такой статьи которая бы в полной мере охватывала каждую деталь в отдельный момент времени. Читай о каждом факте истории, технологии и прочем по отдельности. Так и придешь к осознанию.
Можешь начать с Тима Бернса Ли. Википедия так и устроена, что из одной статьи можно переходит в иные.
Самообучение наше все.
914619
#310 #914601
#311 #914619
>>914600
Спасибо :3 Прочитал с интересом
#312 #914629
>>914547

>Нахуя?


Костыль для того, чтобы перекомпоновать/изменить дом с исходной страницы с целью последующего преобразования (сохранение, печать и т.д.)
914640914682
#313 #914640
>>914629
iframe чем не угодил?
914657
#314 #914657
>>914640
Не хотел изменять контент в донорской странице, хотя... Это трезвая идея: создать фрейм 1х1, поместить в необходимом порядке контент во фрейм, и в финале заинжектить скрипт с триггером onload, как тут: http://plungjan.name/SO/testprintiframe.html
Будет работать?
914663914757
#315 #914663
>>914657
Пиздец ты поехавший. Есть же data, blob-ы всякие для сохранения/отображения. Есть медиатип для стилей, которые будут использоваться при печати.
Зачем хаки делать?
914702
#316 #914682
>>914629

> перекомпоновать/изменить дом с исходной страницы с целью последующего преобразования


Йобаный стыд, чем тебе DocumentFragment не угодил, что свой велосипед понадобился?
914702
#317 #914702
>>914682

>DocumentFragment


Причем здесь DocumentFragment?

Задача следующая:
Выбрать фрагмент исходного дома -> произвести манипуляции над выбранным узлом -> добавить новые элементы -> подготовить к экспорту/печати.

Вопроса как это сделать у меня нет, уже все сделал тупо клонируя ноду и, при необходимости, добавляя новые элементы .appendChild'ом. Но вот анон годную идею подкинул, что вовсе нет необходимости вставлять узел в новое окно, достаточно все это запихать в iframe (который потом нужно удалить, да).
Вопрос изначально состоял в том, как лучше провести тестирование полученного дома, не прибегая к очевидным фантомам. Сейчас, конечно, можно будет вооружиться любым фреймворком, если все содержимое будет в iframe.

>>914663

>Есть же data, blob-ы всякие для сохранения/отображения.


Необходимо не просто сохранить исходный фрагмент. Уже накостылили до меня таких приблуд, типа html2canvas, нужно именно провести определенные манипуляции над имеющимися элементами и добавить новые. CSS @media решает проблему только отчасти.

>Йобаный стыд


>ты поехавший



Ну стыдно немножко, да, но решение под чужие нужды.
914715914766
Аноним #318 #914708
Сап анон. Помогите пожалуйста, нужна адаптивная анимация под любую платформу и браузер. Как и с помощью чего писать? Тема такая есть конверт, есть открытка внутри него, и конверт должен открываться.
914718
#319 #914715
>>914702
Так и зачем тебе вообще отдельный браузерный контекст для этого?
Клонируешь ноду в документфрагмент. Производишь над ней манипуляции. Вставляешь документ фрагмент в отдельный слой (который если хочешь, можешь убрать за границу видимости). К этому слою применяешь css с медиакуарес для печати (чтобы на печать выходил только он). И всё.
914745
#320 #914716
Кто знает, как вместо ответа сервера json-заглушки ставить?
Например, в jQuery или Angular?
Ведь надо, чтобы http.get вернул содержимое файла, а не реально выполнялся
914719
#321 #914718
>>914708

>под любую платформу


На моей микроволновке тоже должна проигрываться?

Вопросы учить нормально задавать.
#322 #914719
>>914716
Переопределить XMLHttpRequest
914721
#323 #914721
>>914719
Типо того?
var xhr = new XMLHttpRequest();
xhr.open('GET', 'moi_igri.json', false);
xhr.send();
914734914736
#324 #914734
>>914721
Что ты написал?
Ты же хотел перехватывать запросы и возвращать поддельные данные, вместо реальеых запросов.
А ты чего делаешь?
Расскажи мне, что делает твой код, по-твоему.
914803
#325 #914736
>>914721
это называется, что люди пришли в динамический язык и не знают, что такое динамика.
#326 #914745
>>914715
Я понял тебя, анон.
Но одно из требований - обеспечить возможность сохранения исходных стилей при возможности (опция).
В предложенном тобой способе, когда кусок склонированной ноды остается в одном контексте с донором, будет проблематично реализовать такой механизм.
Можно, конечно, запплаить стиль, при котором будет сокрыто все, кроме склонированного узла, но затем нужно будет запплаить стиль, который бы отображал склонированную ноду, насколько это возможно, похожей на исходную.
К тому же, появляется неиллюзорная вероятность возникновения в одном контексте нескольких элементов с идентичным идентификатором, а это уже не комильфо.
Посему отдельный контекст - не блажь, но необходимость.
#327 #914757
>>914657
контекст iframe работает по тем же принципам что и window.open (почти).
тоесть ты точно также кимпортируешь склонированную тобою ноду, только в документ не в окне а в ифрейм. инжектишь туда какие-хочешь скрипты, обмениваешься с ним сообщеняиями на здоровье. он же локальный.
914765
#328 #914765
>>914757
Да-да, спасибо.
Я так и сделаю.
Просто объяснил анону, который предложил в одном оконном контексте производить манипуляции с склонированной нодой и аттачить их в донорский документ, почему такой вариант не подходит.
#329 #914766
>>914702

> >Есть же data, blob-ы всякие для сохранения/отображения.


> Необходимо не просто сохранить исходный фрагмент. Уже накостылили до меня таких приблуд, типа html2canvas, нужно именно провести определенные манипуляции над имеющимися элементами и добавить новые. CSS @media решает проблему только отчасти.


> html2canvas


Это же вообще скриншотер DOMа. Что-то я совсем потерял представление о твоей задаче
#330 #914803
>>914734
Не знаю, я с W3School скопировал, там пример на эту тему был.
Ну создаём новый объект запроса и кидаем его в xhr переменную. Потом открываем запрос GET и передаём туда файл, вместо урла, false для чего-то там.
А потом отправляем. Всё.
914808
#331 #914808
>>914803
Ты сам себе противоречишь. Сначала ты не хотел делать запросы, а теперь делаешь.

>Не знаю, я с W3School скопировал


В общем, удачи.
485 Кб, 1536x2048
175 Кб, 768x948
66 Кб, 546x799
72 Кб, 1600x860
#332 #914893
>>914057
Зацените помимо лолей, что я пишу на Dojo. Рендеринг шаблонов - на Django. Возможно, кто-то поссыт мне в лицо сейчас, но пока пусть будет так.
#333 #914898
>>914301
Использование глобальных переменных вместо сервисов во все поля.
$scope.todolist = list;
#334 #914936
Аномасы, кто может по срокам сориентировать?
Пилю сейчас для тренировки всякие тудушки и прочие простенькие задачи на ангуляре и реакте.
Сколько должно времени уходить на простое СПА у джуна/мида/сеньора?
Начиная от пустой папки до готового проекта (включая стили и настройку gulp/webpack)?
Очень интересно узнать, какая корреляция между опытом и затрачиваемым временем.
914938
#335 #914938
>>914936

>у сеньора


>от пустой папки до готового проекта


Вечность.
#336 #914949
что можете сказать про этот сайт https://learn.javascript.ru/ ? в воркаче его советуют для вкатывания
#337 #914952
>>914949
Godno.
sage #338 #914958
#339 #914969
>>914949
Гавно.
#340 #914971
>>914949
Не слушай этих долбоебов, отличный учебник.
#341 #914981
Здравствуйте, я полагаю мне к вам.

Хочу сделать простую поделку. Нужно генерить разноцветные пиксели и двигать их в сторону (как будто прогресс бар) Как это сделать лучше всего. Канвасом?
915007915082
#342 #915007
>>914981
Можно сделать так, как тут, на обычных дивах
http://getbootstrap.com/components/#progress
915238
#343 #915009
Вопрос от ньюфага по nodejs.
В общем с помощью request перебираю адреса сайтов. Проблема в том что нода возвращает мне статус кода не тот который в браузере. Например отдаёт 503, вместо 200. А при следующем запуске может и 200 отдать. Поставил уже и UA и timeout (я не могу понять он работает или нет).
Вот код https://jsfiddle.net/atd51zed/
В гугле предлагают setTimeout поставить, но у меня идёт просто задержка 2сек (например) и потом опять выплёвывает всё разом. Еще прочитал что якобы синхронные действия мешаю с асинхронными. В общем помогите.
915010915078
#344 #915010
>>915009
А вообще мне нужно перебрать эти страницы и на каждой поискать нужный мне элемент. Если нашел -> адрес в один массив, если нет -> в другой массив.
Но запуская скрипт через раз находит элемент на сайте (хотя он там есть).
915040915078
#345 #915012
>>914357
Сути не меняет, добавление константы, перевод в строку и т.д. одинаковы для всех. Удаление хотя бы одной тудушки приводит к дублированию айди при следующем добавлении (кроме случая, когда удалённая была последней в массиве). А ещё ты нолик лишний приписал, по-моему, оно же будет 01, 11, 21, 31 и т.д.

>>914303
Не очень понял, что ты этим хотел сказать и как это противоречит (если должно было) моему посту. Где-то туду помечается выполненным и удаляется из списка. Когда и кем конкретно - не так уж важно.
#346 #915016
>>911269
Неосилятор, плиз
#347 #915018
>>914145
Погугли, ленивый ты пидор.
#348 #915040
>>915010
Попробуй делать повторный запрос через несколько секунд при ошибке. Возможно, просто какой-нибудь ngx_http_limit_req стоит на сервере
915078
#349 #915078
>>915040
>>915010
>>915009
В общем решил, кому интересно (судя по всему всем похуй)
https://jsfiddle.net/3mh651pw/
915157
#350 #915082
>>914981

нахуя? length div изменяешь в CSS, вот тебе и вся любовь
915093915238
#351 #915093
>>915082

>length div изменяешь в CSS


Ты обпрагромировался.
#352 #915157
>>915078
Другой тупой вопрос. Я Excel файл конвертирую в json. Мне сам json файл не нужен (я ставлю output в null, так в документации написано), а нужны данные. Данные находятся в result. Я не могу подобраться к ним вне функции. С глобальными переменными не работает.
xtj({
input: "./test.xlsx",
output: "./test.json"
}, function(err, result) {
if (err) {
console.error(err);
} else {
console.log('done');
}
});
915164
#354 #915205
>>911262 (OP)
https://jsfiddle.net/1ksfc94r/embedded/result/
Кто-нибудь может добавить выбор амплитуды, фазы и анимацию?
915223915330
#355 #915223
>>915205
Чур не я.
#356 #915238
>>915007
>>915082
Спасибо за отклик, но я загорелся более продвинутую вещь сделать, за одно освоить пару новых для себя вещей.

В общем на словах все должно быть так примерно

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

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

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

Я так полагаю мне нужно хранить инфу о пикселях в массиве, и постоянно генерируя новый столбик размером Х пикселей просто добавлять в массив новую строку которая хранит инфу о них. А потом заново в обратном порядке отрисовывать всю картину?

Буду ща курить код
http://www.goodboydigital.com/pixijs/bunnymark/
можно сказать вдохновило меня на то, что бы запилить что-то своё.
915293
#357 #915293
>>915238
А не проще ли справа генерить столбик и ничего никуда не двигать?
915316915519
#358 #915316
>>915293
Нет, двигать надо. Не важно как проще или логичнее. Важно, что можно двигать. Можно, конечно, и не двигать, но тот факт, что есть такая возможность подвигать, непременно означает, что ею необходимо тотчас же воспользоваться. И подвигать. Двигай, если ты хочешь двигать. Подвинь это еще раз, и еще.
#359 #915330
>>915205
Тут анимация.
https://jsfiddle.net/1ksfc94r/1/
Вот тут анимация.
Частоту бы менять...
4 Кб, 101x418
30 Кб, 1428x374
#360 #915358
Тред по вёрстке не нашёл, спрошу тут. Один хер на ангуляре пилю.
Сделал колонку на бутстрапе, пока было по одной глиф-иконке - всё нормально было. Решил добавить к одной из них счётчик - вышла хуита и всё разъехалось.

Код такого плана
http://pastebin.com/7vhXj3qe

Хочу сделать как на втором пике. Чтобы иконка почты никуда не уезжала, а просто у неё в углу был счётчик
915373915383915394
#361 #915373
Вроде такого https://jsfiddle.net/qfobycd9/
>>915358-кун
#362 #915383
>>915358
Ваших бутстрапов не знаю, вот как в вузе учили, так и пишу. Значит, так:
<div id="buttons-wrapper" style="position: relative;">
<div id="buttons-greenbutton" style="clear: both; width: 100%; border-radius: 5px; background-color: green; text-align:left">+</div>

<div id="buttons-bluebutton" style="clear: both; border-radius: 5px; background-color: blue; text-align:left"><img src="convertique.png" style="float:left" /> <span style="background-color:white; border-radius: 10px; font-size:10px; font-weight:bold" id="buttons-bluebutton-number">1488</span> </div>
<div id="buttons-redbutton" style="clear: both; width: 100%; border-radius: 5px; background-color: red; text-align:left">&#215;</div>
</div>
915403
121 Кб, 763x399
#363 #915394
>>915358
А, если счетчик в углу, тогда всё проще
https://jsfiddle.net/bjc8uuvL/
915403
#366 #915439
>>911350
не show а fadeIn
#367 #915519
>>915293
Но тогда не будет никакой собственно анимации.
#368 #915592
>>912285

>Назови хоть одну книгу о том, как красиво писать код на javascript


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

Линкрелейтед: https://github.com/ryanmcdermott/clean-code-javascript
915600
13 Кб, 1280x262
#369 #915599
Помогите чем это лечить?
915600915601
#370 #915600
>>915592

thanks, godno

>>915599

<meta charset='utf-8'>
sage #371 #915601
>>915599
Это генетическое, не лучится.
915603915604
sage #372 #915603
>>915601

>не лечится

915604
3215 Кб, 210x196
#373 #915604
>>915601
>>915603
То сладкое чувство, когда мусор сам обсерается, но пытается не подскользнуться на своем говне))
#374 #915607
В общем наворовал функций по всем справочникам каким только мог. ПОдскажите почему не получается анимацию в данном примере получить?

Я же вроде как обновляю холст после отрисовки каждого столбца.

https://jsfiddle.net/s1mvm836/
915609915619915624
#375 #915609
>>915607

>while (new Date() < ms){


>}


Никогда так не делай. ЖС асинхронен, линейный синхронный синхронный код с задержками в нём писать нельзя. И не пытайся пока. setTimeout, setInterval, коллбэки и промисы (что, по сути, то же самое). Потом про промисы через генераторы узнаешь, ES2048 выйдет с async/await, станет проще.

А по коду: браузер не прерывается на отрисовку страницы во время твоего лупа. То есть, что-то ты там может и меняешь, но браузер показывает лишь два кадра: "до" и "после" лупа.
#376 #915619
>>915607
Вот типа так. https://jsfiddle.net/s1mvm836/1/

Только оно всё лагает. С канвасом не работал, размуно ли каждые 2 мс вызывать ctx.putImageData — не знаю. Видимо, нет.
915624915731
#377 #915624
>>915619
>>915607

ты же вроде там рисуешь прогресс бар?

вангую тебе нужно определить кол-во итераций на один процент и юзать рекурсию, "спать" там ничего не должно
915628915689
#378 #915628
>>915624
Рекурсия ничем не отличается от лупа. Нужно возвращать контроль браузеру, иначе толку никакого, промежуточные шаги пропадут.
915682915689
20 Кб, 495x458
#379 #915676
Делаю задачку из учебника определение числа на четность при помощи рекурсии и чтот оно мне хуйню пишет.
Сама функция, вижу же — пашет, а вот с получением результата из неё проблема. Где я накосячил-то?
915687
#380 #915682
>>915628

если юзать рекурсию с setTimeOut, то всё норм, она вернёт коллбэк как отресуется пикселями - скажем 1%, и будет ждать нового вызова для отрисовки следущей порции процентов, браовзер при этом не остановится.
915684915689
#381 #915684
>>915682

>браузер

15 Кб, 541x403
#382 #915687
915690
#383 #915689
>>915624
>>915628
>>915682

Блин как же тут все не для людей, вот на паскале 20 лет назад прогал и было всё изи. Прога не прерывалась если ты не хотел, если хотел выводить всё динмамически то и было все збс. Потом меня эта хуйня бесила в пхп, что нельзя получать динамически ответочку от скрипта, а только результат, и тут ща это же вижу БЛЯДЬ НУ ЗА ШТО
915691915865
#384 #915690
>>915687
Т.е. передавать строку с одной функции в другую — нельзя?
915693
#385 #915691
>>915689

> не для людей


Не осилил асинхронщину? Страдай
915865
#386 #915692
У тебя рекурсивная функция просто не была замкнута.
В пре-финальном шаге ты просто вызывал функцию, после чего она возвратила (ф-ции в JS всегда что-то возвращают, так уж повелось) undefined. А уже в финальном ты вернул результат, но в никуда.
915693915695
#387 #915693
#388 #915695
>>915692
Чтот я непонял.
У меня в isEven стоит ретурн, который даёт функции check число и по идее же должен return фунции чек принимать в себя и тут же отдавать в console.log в самом конце.
Разве не так всё?
915696
#389 #915696
>>915695
Ладно, если в двух словах:

>check(n)


следует заменить на:

>return check(n)



Понимание придет, когда сам нагуглишь, зачем так делать.
915697
#390 #915697
>>915696
Т.е. то, что я постом выше написал — вызывается только один раз, а потом, само в себе, оно вызывает себя уже без ретурна, и по этому оно не передает значение в функцию isEven?
915701
#391 #915701
>>915697

> вызывается только один раз, а потом, само в себе, оно вызывает себя уже без ретурна, и по этому оно не передает значение в функцию isEven?


>оно не передает значение в функцию isEven


Вернее сказать: не возвращает значение.
А в целом правильно размышляешь.
Итого имеем, твоя исходная функция isEven(Number) вернет корректное значение только при аргументах 0 и 1, во всех остальных случаях будет возвращено undefined.
915702
#392 #915702
>>915701

> вернет корректное значение только при аргументах 0 и 1


И сделает это только потому, что они в самом начале проверяются, когда для них описано всё. Спасибо.
А это не считается за какой-то костыль или неудобство, которого в других языках нет?
#393 #915731
>>915619

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


А какие есть альтернативы канвасу? Как вообще в js рисовать?
915789
47 Кб, 480x480
#394 #915774
Мальчики, ккой редактор используете? Кто еще на саблайме сидит? Кто на атом, VS code пересел?
915779
sage #395 #915779
>>915774
Привет, Богдан, покажи банан.
915780
#396 #915780
>>915779
Я так и знал, что первым ты ответишь.
#397 #915788
SVVAG
915789
#398 #915789
#399 #915797
А на вашем этом JS можно писать приложения под десктоп?
915799915818915860
#400 #915799
>>915797
А ты знаешь какие-то тьюрринг полные языки программирования, на которых нельзя?
915801915847
#401 #915801
>>915799
АЛГОЛ? Ну я скорее про удобство.
#403 #915847
>>915799
Брейнфак?
#404 #915860
>>915797
Конечно, можно. Вот анон годноту пилит для нас.
https://www.youtube.com/watch?v=diqfiq_hH-Y
915911916284
148 Кб, 300x226
#405 #915865
>>915689
>>915691

вопрос, если я правильно понял, в ЖС каждое объявление функции запускает отдельный тред с задачей, но при этом на это не выделяется особый процесс в ЦПУ, но в то-же время эти треды работают как бы параллельно, как это реализовано, и чем это лучше/хуже тру параллельных вычислений?

// тред 1

function t1() {...}

// тред 2

function t2() {...}
915871
#406 #915867
Привет, аноны. Нужен ваш совет касательно тестового задания. Предложили написать небольшое SPA (ng-repeat, несколько фильтров к нему и "хороший внешний вид") "на чём угодно", но за 1.5 дня. Типо симуляция будто заказчик дал задание и ему через 2 дня надо хотя бы рабочий эскиз показать, который потом уже развиваться будет. Т.е. большее внимание уделить вёрстке и UI, а что под капотом - важно, но менее. Он, сделал на 1м ангуляре, не спал 25 часов, нафигачил 80-90% функционала. Что успел - скинул.

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

А сейчас ВНЕЗАПНО переписать под 2ю версию. Зачем? Что должно это тестовое показать? Я, вроде, уже показал свои навыки и свой максимум, насколько это возможно. Какое исправление косяков и какое переписывание в ТЕСТОВОМ ЗАДАНИИ? Что это покажет?

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

Компания разрабов клёвая, я б поработал, но КОМПАНИЯ, при этом, никаких ништяков не обещала, даже про зп речи не зашло, зато толсто, но в шутку типа, спросили работаю ли я от звонка до звонка обычно или есть варианты. И сказали, что у них офис 24/7 открыт и можно если что - ночью прийти поработать. Мне кажется это самый херовый "пряник" из всех возможных.

Посоветуйте, что думаете? Переписать/закрыть баги или плюнуть и пилить собственные проектики?
915869915875915876
#407 #915869
Создателям сайтов за 1 сек сразу скажу, что я - новичок и действительно долго проебался с этими вашими материал-дизайнами, чтобы всё хотя бы относительно невырвиглазно смотрелось.
Плюс настройка вебпака с плагинами.
Собственно, я ищу место, где можно начать учиться на готовом проекте и фиксить мелкие баги, т.к. в том же ангуляре пока опыта мало, а не херачить SPA соло. Может, возникло недопонимание?
>>915867
#408 #915871
>>915865
нет, ты все неправильно понял.
тут нет параллельных вычислений. они все последовательны, но могут быть ассинхронны. асинхронны это значит, что если в коде у тебя вызов функций идет одна за другой, это не значит, что они выполнятся именно так. какая-то из них может выполнится хоть завтра, или раньше той, что объявлена перед ней.
но ты это все сам контролируешь. нет никакой магии.
915892
#409 #915875
>>915867

> Зачем? Что должно это тестовое показать?


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

> Мне кажется это самый херовый "пряник" из всех возможных.


Это значит что им пофиг на твой график, хоть в ночь можешь работать а днем спать.
Я б рискнул на твоём месте. А там потерся бы месяца 3 - не понравится то и свалить всегда можно.
#410 #915876
>>915867
Вот честно, я бы не стал бы переписывать и написал им все как было изначально уговорено: прототип, на чем угодно, не стремно выглядящий.
Сделал - сделал. Недостатки сказали, спасибо, учту на будущее, все равно это тестовое.
Так же обговорил бы вилку зарплат, подхожу/не подхожу. И сказал что поработать я могу в принципе когда угодно, т.к. кодить люблю, но овертаймы должны оплачиваться.
Ну и про баги и перепись на 2 версию: если подразумевается испыталка (оплачиваемая естественно) сказал бы что сделаю на ней.
Если бы послали - для себя бы допилил и выложил в качестве поделия собственного.

Это лично мое мнение
#411 #915892
>>915871

ок, я читаю сейчас релейт http://www.sohamkamani.com/blog/2016/03/14/wrapping-your-head-around-async-programming/

т.е. сама ЖС не может создавать процессы в ЦПУ у неё всегда один тред/процесс, но она внезапно может создавать стек с очередью к другим рантаймам, которые могут это делать. т.е. жс вроде как получается неким таким диспетчером, который раздаёт задачи в другие среды выполнения и регулярно смотрит статус.

что, получается ЖС это универсальная обёртка(АПИ) для всех языков что-ли, и она сама вообще ничего не делает на процессоре?
915894915895915897
#412 #915894
>>915892
Ни один язык, кроме машинного, не может создавать какие-либо процессы. Это всегда делает окружение.

>у неё всегда один тред/процесс,


и это тоже не верно.
js выполняется в разных окружениях. в некоторых из них есть треды. в других есть кластеры процессов.
915898915918
#413 #915895
>>915892

>вообще ничего не делает на процессоре?


На процессоре ни один в мире язык ничего не делает. Процессор твой понимает только машинный код. Ты откуда вылез такой неуч?
915898
#414 #915897
>>915892

> ЖС это универсальная обёртка(АПИ) для всех языков что-ли, и она сама вообще ничего не делает на процессоре?


Чет в голос проиграл.
915898
#415 #915898
>>915895
>>915897
>>915894

спакуха, я знаю про ассемблер. не охота усложнять вопросы такими очевидными деталями.
915900915901915915
#416 #915900
>>915898
Ассемблер тоже не выполняется на процессоре.
915918
#417 #915901
>>915898
Для тебя они не очевидны ни разу.
Какой там по твоему язык умеет создавать треды или процессы? Си? А вот нхуя он не умеет, он дергает апи операционной системы для этого.
Что он там у тебя умеет, числа складывать? А вот хуй, не умеет он этого - для сложения чисел компилятор генерирует машинный код. А си твой нихуя не делает, кроме как описывает Алгоритм. Как и любой другой язык, js в том числе.
915918
#418 #915911
>>915860
Ты же только что этот ролик записал, лел
Зачем писать о себе в третьем лице?
916253
#419 #915915
>>915898

> спакуха, я знаю про ассемблер


Поэтому до вебассембли еще очень далеко. А ты хуйню несешь.
#420 #915918
>>915894

>js выполняется в разных окружениях



меня нода и клиенты интересуют, там вроде всё как раз так, как я и написал:

ЖС типо рассылает задачи из своего окружения в разные другие окружения, которые могут на своё усмотрение распараллелить задачу. вроде как ЖС важен только статус done & result от них и что бы event loop летала, сама ЖС нехуя не делает кроме этого

>>915900

хорошо, байткод

>>915901

я не пытаюсь устроить языкосрачь, х/з нужно погуглить какие языки могут открывать треды/процессы. я пытаюсь понять ЖС на сервере и на клиенте.
915920
#421 #915920
>>915918

>какие языки могут открывать треды/процессы


Никакие не могут. У тебя проблемы с понимаем принципов работы вычислительных машин.
915937
#422 #915929
я хочу, чтоб у меня была кнопка, которая записывает состояние комаонента(hui.state) в файл и при перезагрузке страницы брало данные оттуда, а не через getInitialState.
реакт так умеет? Подскажи, анон. Погуглил, но нашел решения для серверов, а мне надо локально. Типа, лист ту ду чтоб сохранял задачи по кнопке или когда я закрываю страницу, а не проебывал.
915931
#423 #915931
>>915929
localStorage
915947
#424 #915937
>>915920

>какие языки могут открывать треды/процессы


>Никакие не могут.



ок, погуглил, получается что процесс один на ядро ЦПУ, но в нём спаунятся треды с задачами, которые пушатся в РАМ параллельно. это как минимум могут C и C++. ЖС как раз оправляет в эти процессы задачи и ждёт решения. сама она кроме петли и стека с задачами, никаких тредов в своём процессе не создаёт?
915943
#425 #915943
>>915937

> это как минимум могут C и C++


Нет, они этого не могут.
Они дергают для этого апи операционной системы.

Ты почему такой глупый? Языки не умеют ничего, кроме описания алгоритмов.
915968
#426 #915947
>>915931

разве это не создает локальный объект в браузере? Я бы хотел в отдельный файл записывать. может я просто не понимаю, как оно работает
915951915953
#427 #915951
>>915947
Ты хочешь записывать файлы на клиенте? Ты прежде чем задаваться такими вопросами задумался о том, что если бы была такая возможность, то любой бы сайт мог создавать у тебя на компьютере фалы и читать их? Это было бы нормально по-твоему?
915954
#428 #915953
>>915947
localStorage выполняет твою задачу. После закрытия вкладки то, что ты в него сохранишь останется в нем и загрузится снова, когда ты вновь откроешь вкладку. Он для того и сделан.
915954916000
#429 #915954
>>915951
если бы это было реализовано как загрузка файла, то еще как.

>>915953
хорошо, спасибо, анон. Пойду лопатить свои сетстейты в сторажи.
915959915962916000
#430 #915959
>>915954

>загрузка файла



https://github.com/rndme/download
#431 #915962
>>915954

>если бы это было реализовано как загрузка файла, то еще как.


Тогда это не запись в файл. Ты можешь на здоровье, генерировать файл, скачивать его, а потом заново загружать. Но это не запись в файл.
916000
#432 #915968
>>915943

>Нет, они этого не могут


>Они дергают для этого



лол анус себе дёрни, заносчивый пидорг. я тебе и ничего не говорил, про то как это реализовано. это имхо понятно, что все низкоуровневые ЯП это "обёртка" вокруг ядра системы - а ЖС внезапно обёртка вокруг этих ЯПов.
915970915972
#433 #915970
>>915968
ЖС просто один из этих ЯП, а не обертка вокруг них
#434 #915972
>>915968
Ты дурачок.
915975
#435 #915975
>>915972

что порвался то? всё верно же. с хуяли тогда все ключевые компоненты ноды написаны на си и крестах?
915976
#436 #915976
>>915975
Я же говорю - ты дурачок.
915980
#437 #915980
>>915976

сука не беси меня аутист. если сказать по делу нечего, нахуй огрызаешься? молчал бы в тряпочку или нагуглил бы пруфов своим вскукарекам.
915982
#438 #915982
>>915980
Пруфы того что ты дурачок - все твои предыдущие сообщения.
915983
#439 #915983
>>915982

толсто, иди нахуй.
915986
#440 #915986
>>915983
Ты еще и обдвачевался в край, дурачок.
915991
#441 #915991
>>915986

сука, аутист, вот скажи, нахуя ты такой аутист. зойчем ты доебался? я уже понял где я заблуждался насчет ЖС. не ясно, от чего тебе пригорает так. может ты просто тупой неосилятор с проекциями?
#442 #916000
>>915962
в чем вообще проблема изменять локальный json файл? он же локальный.
>>915954
>>915953
нихуя не работает, кстати. Создается ключ, но сразу после ре-рендера ДОМ древа он теряет свое значение(console.log(localStorage.getItem('key')) выдает null). Может есть таки вариант изменять какой то локальный, для приложения, json или еще что?
916009
#443 #916009
>>916000

>нихуя не работает, кстати


Значит ты что-то делаешь не так. Локалсторадж персистентный.

>в чем вообще проблема изменять локальный json файл? он же локальный.


Ну ты не против будешь, если когда та зайдешь на мой сайт, я тебе начну создавать json файлы на компе? Они же локальные у тебя, что в ыэтом такого?
916020
#444 #916020
>>916009

localStorage.setItem('key', 'value')
console.log(localStorage.getItem('key')) // value

{код реакта...

onClick() { // событие вызывает новый рендер всего документа
...
console.log(localStorage.getItem('key')) // null

}

про второе, я имею ввиду локальный файл, кот.существует только в директории сайта/аппа. Т.е если он у тебя на сервере, он твой же жсон и редактирует. Похапе же так умеет, а жс нет что ли?
916023916026916028
#445 #916023
>>916020
закрывающее } для кода реакта проебал после второго консольлога, но и так понятно.
Под "код реакта" я имею ввиду, внутри класса. hui extends react class etc
#446 #916026
>>916020

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


Ты несешь какую-то чушь.
На клиенте нет никаких папок с твоим сайтом\аппом.
916045
#447 #916028
>>916020
Ты вообще не умеешь в дебаг или тестировать? Ты хочешь спорит о том, что ошибка не у тея где-то в коде, а браузер себя ведет неправильно? Ты серьезно?

Открой консоль здесь в этом треде.
вбей, блядь туда localStorage.setItem('key', 'value') и нажми enter. теперь закрой вкладку со с этим тредом. и открой снова.
и вбей в консоль localStorage.getItem('key')
Что блядь? Работает? Вот нихуя себе.
916045
#448 #916030
Тупые блядью Тупые. Одни идиоты. Откуда они сука лезут.

>Почему я не могу писать/читать файлы из браузера?


>ЖС обертка над другими ЯП!


>локальные фалы как на сервере!


>директория с сайтом на клиенте!



Пиздец блядь.
Пиздец, нахуй вы живете.
49 Кб, 1003x1023
#449 #916033
Пацаны, помогите ньюфагу с программой, в которой собственно пишется код. Выбрал атом, но в нем почему-то нет всплывающих окон. Можно сделать так чтобы были? Не гоните ссаными тряпками, только начал разбираться.
916035916039
#450 #916035
>>916033
ААААААА БЛЯДЬ
916040
#451 #916039
>>916033
Лолшто, какие всплывающие окна? Ставь нормальный Саблайм 3 и не еби моск.
916043
#452 #916040
>>916035

Ну ладно, ну че ты, может он толстенький.
133 Кб, 1106x453
#453 #916043
>>916039
Ну я делаю ран скрипт и не работает. Должно окно выскакивать такое. Я вообще не шарю нифига, надо определиться с программой, где все это делать, можете порофлить с того какой я даун, но ответ дайте. Чтобы уровнять это все скажу, что я инженер, работаю уже 3 года и шарю кадовские программы и вы можете у меня спросить что-то тоже.
916046
#454 #916045
>>916026
лол. На сервере есть папка с сайтом, в ней файл, кот.содержит дату. Те же юзернеймы и пароли. Логин и пароль передаются в файл при регистрации похапе запросом. Или ты прав и сервер содержит голый сайт, а логин и пароль - локалстораж браузера? Вот и я не думаю.

Я хочу иметь тоже самое в локальной версии, но без пхп. Жс редактирует жсон/что угодно.
Такие дела.

>>916028
И че ты такой агрессивный и остроумный? Ты специально не читаешь мой текст? пишу тебе код словами:

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

Если же я пытаюсь прочитать ключ внутри класса(для тебя:
var App = React.createClass(
(какой то код и функции);
onClick() {
добавить элемент, создание которого вызывает перерисовку всего компонента;
и если уже тут консольлог (localStorage.getItem('key'))
который динамически перерисовывается, то значение null после первого перерендера. Ключ остается, а его значение становится "". Я бы записал тебе видео, да не хочу еще пол часа на создание шебм тратить, фома.
916057916059916060
#455 #916046
>>916043
алерт создает компонент window, а ИДЕ имеет только консоль. Твои всплывающие окна будут при нажатии кнопки ф6 в любом браузере на странице, куда ты добавишь код.
916048
#456 #916048
>>916046
А в программах и не проверить никак работает это или нет?
916050
#457 #916050
>>916048

чем тебе браузер не программа? жс код априори направлен на браузеры. Создай себе шаблонный html и проверяй сколько хочешь.
916052
#458 #916052
>>916050
Не умею. Ладно, буду ковыряться дальше сам.
916055
#459 #916055
>>916052
1.Открываешь хром
2. Нажимаешь F12
3. Выбираешь вкладку Консоль/Console
4. В строчку ввода вбиваешь свой алёрт
6 Нажимаешь Enter
7 ??????
ПРОФИТ!
#460 #916057
>>916045

>локальной версии


В каой блядь локальной версии, дебил.
Браузеру поебать откуда ты загрузил код. ограничения для всех одинаковые.
Иди нахуй просто.
#461 #916059
>>916045

> т.к этот код находится до создания класса реакта.


Пиздец.
Спешите видеть. РЕАКТ НЕ ПОДДЕРЖИВАЕТ ЛОКАЛ СТОРАДЖ
#462 #916060
>>916045

>шебм


Нахуй мне твои вебм?ты язык выучи, а не фреймворк, чтобы понимать в чем твоя проблема, олень.
916066
#463 #916066
>>916060
так ты бы объяснил, раз умный такой.
#464 #916088
Станет ли изучения JavaScript неактуальным иза TypeScript?
916136
#465 #916136
>>916088
нет, ведь макаки не могут в статическую типизацию поэтому они и сидят на жс
916152916158
#466 #916152
>>916136
А зачем она?
#467 #916158
>>916136
Проиграл. Что в нее уметь, дебил?
Скорее наоборот, перекатывальщики не в состоянии осилить динамический язык с неявной типизацией.
916159916163
#468 #916159
>>916158
Двачую
#469 #916163
>>916158

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



Пофиксил наркомана.
916172
#470 #916172
>>916163
По себе не судят.
#471 #916253
>>915911
Типа я - не он.
Один из подписонов, которому нравится, что делает этот анон.
#472 #916284
>>915860
два чая electron-ному анону. То, что надо.
60 Кб, 1280x720
#473 #916295
>>911262 (OP)

го в рулетку, я создал сервис https://dev.videochat.red/room/ruAnonymous
#474 #916415
Посоны, хочу сделать веб интерфейс для прибора на арме с линухом. Необходим вывод графика с частотой сбора 20мс, порядка 10 минут в реальном времени, т.е. 30000 точек. Насколько это безумная идея? Какой стек использовать? Из просмотренных жс либ, только plotly отдаленно напоминает то, что я хочу.
Хотелось бы, чтобы все это не тормозило. Что вы бы посоветовали использовать? Я склоняюсь к реакту и стековерфлоу дривен девелопмент. Насколько сырой дартангуляр? Эльм для игрушесных проектов?
916433916452
#475 #916433
>>916415
Ты для ссаного графика фреймворк хочешь юзать, что ли?
916507
38 Кб, 1265x861
сколько стоит и кто бы мог сделать? #476 #916437
Нужна программка. Сначала думал может на С# но потом решил что она должна запускаться у любой тети паши без требования .net. Ну и с html мордой, которую я смогу поправить если что.

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

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

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

Такая балалайка не будет хоститься на сайте и ей не нужен интернет. Она будет запускаться локально на компе и просто показывать логи из файла, который ей скормили
916440
4 Кб, 753x57
#477 #916440
>>916437

>\tVasiliy99\tго дота



бля, двач табы отобразил криво. ну вы поняли как оно должно быть
#478 #916452
>>916415
О, братишка, привет. Маялся подобной хуйней намедни, ибо асушник.

Итак, понеслася:

>Необходим вывод графика с частотой сбора 20мс, порядка 10 минут в реальном времени, т.е. 30000 точек. Насколько это безумная идея?



Во-первых, Plotly, как и все либы для построения графиков, базирующиеся на движке D3, используют SVG.
SVG хорош для создания богатых интерактивными плюшками графиков, но по сравнению со скоростью рендеринга сосут у движков, использующих webgl/2d-canvas технологию.

Во-вторых, продумай стратегию рендеринга графиков. Тебе действительно нужно ОБНОВЛЯТЬ ВИЗУАЛИЗАЦИЮ каждые 20мс? Скорее всего, нет. Данные можешь с определенной уверенностью собирать с такой частотой, а отрисовывать, скажем, раз в 5 секунд сразу пачку.

Ну и в-третьих,

>Хотелось бы, чтобы все это не тормозило


It depends. Рендеринг графиков - достаточное узкое место в общем процессе отрисовки страницы и обновления документа в целом. Поэтому, с целью минимизации тормозов, используй следующие рекомендации как говорится, мнение анона может не совпадать с мнением /pr/, лол:
- отрисовывай графики с помощью canvas либ если не нужна богатая интерактивщина;
- отрисовывай с меньшей частотой, чем собираешь данные;
- если требуется интерактивная навигация по временной шкале, хендлеры лучше организовать таким образом, чтобы обновления графика подчитывались с сервера, ибо держать ВЕСЬ объем координатных точек для графика в памяти - удар по производительности и опять же, узкое место;
- ну и, естественно, убирай за собой, как принято в культурном обществе. Удаляй массивы данных, более не нужных и находящихся в памяти.

Лично я использовал следующий стек и задействовать тебе, анон, я бы не рекомендовал в виду необходимости большой работы по оптимизации:
Сервер-сайд: NodeJS + NeDB + socketIO, клиент: ReactJS + MobX + Highcharts (SVG-based) + Clusterize

Требовалось отрисовывать пять координантных графиков, обновляющиеся с частотой 100-250 мс.
Отрисовывал раз в 5 сек.
916510
66 Кб, 604x604
#479 #916458
Объясните нюфагу что блажд за хуйня происходит:
var t = "hello";
r+=" ";

Итого имеем просто "hello" когда должно быть "hello " куда пропадает whitespace? Я ничего не обрабатывал.
916459916461
#480 #916459
>>916458

>место r там t конечноже

2 Кб, 212x138
#481 #916461
>>916458

Все так.
916471
#482 #916471
>>916461
Попробовал с ординарными кавычками. Итог нихуя. Мб это гуглхром?
916472
#483 #916472
>>916471

Ну я тебе скрин с консоли хрома скинул
#484 #916507

>>916>>916433


Планируется достаточно много отчетов, возможность менять настройки модулей, смотреть архивы, там функционала можно придумать больше, чем на 90% сайтов. Да и божественные, самописные велосипеды я бы не хотел использовать.
#485 #916510
>>916452
Спасибо за развернутый ответ. Обновлять хоть раз в 5 секунд. Очистить память в за это обнулить ссылку на объект с данными и ждать Гц?
916513
#486 #916513
>>916510

>Очистить память в за это обнулить ссылку на объект с данными и ждать Гц?


Да. Ну и, очевидно, вызвать соответствующие методы для (пере)строения графиков с актуальными значениями.
#487 #916546
Чего-то не понял. Почему JS до сих пор общепризнано не переименовали в ES, которым он сегодня и является?

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



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

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

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

Иначе хуйня выходит, какая-то.
779 Кб, 2252x1689
#488 #916602
Можно ли в чистом ДС без Ангуляра как-то напрямую биндить значения из кода? Если у меня есть, скажем, объект Человек и у него есть поля Имя и Фамилия, а на странице есть элемент у которого есть свойство text, можно ли чтоб в этот Текст подтягивалось автоматом значение из Имя без нажатий кнопок и прочего?
916607
#489 #916607
>>916602

>без нажатий кнопок и прочего


Хочешь, чтобы браузер сам решал что куда и когда ему подтягивать? С ума сошёл?

Если же понимаешь принципы,а не дурак, то используй обсерверы.
916620
#490 #916620
>>916607
Не сам решал, а указать. В ангуляре это делается через [(ngModel)]
Ты пишешь [(ngModel)]="Person.Name" и страница смотрит что там за значения у тебя в Person.Name и подставляет сразу. В чистом ДС так нельзя?
916623
#491 #916623
>>916620
Можно.
Для этого тебе надо указать - написать скрипт.
#492 #916649
посоветуйте маленьких проектов на реакте, чтобы не очень сложно, но и в резюме было не стыдно показать
inb4 тудулист
916663
#493 #916663
>>916649
Я тебя люблю :3
#494 #916756
Возможно ли как-то организовать многопоточную загрузку видео в html5 video? Подвластны мне и сервер, и клиент. Если лёгкого пути нет, то может можно WebWorker'ами загрузить данные в память, скотчем склеить и потом как-то указать video элементу путь к ним?
В моём случае загрузка в несколько потоков увеличивает скорость, в разы.
916765
#496 #916770
>>916765
Похоже на то, что нужно, спасибо, буду пробовать.
#497 #916830
Посоны, на чем вы пишите ES5 или ES6?
Хочу вкатится нормально в JS, стоит ли сразу начинать писать используя let, class и прочие плюшки нормальных языков?
PEREKOT Perekoter !JLHGEtxGTk #498 #916833
ПЕРЕКОТ в тред >>916832 (OP)
Тред утонул или удален.
Это копия, сохраненная 1 февраля 2017 года.

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

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