Чтобы добавлять сообщения и комментарии, .

@Darwin:
Darwin

a bit about scopes:
dmitrysoshnikov.com
dmitrysoshnikov.com
tc39.github.io

@Darwin:
Darwin

про скролл: blogs.windows.com

@justonemore:
justonemore

Сраные вэбщики, горите в Аду!

@Darwin:
Darwin

про оптимизации:
developer.mozilla.org
html5rocks.com
html5gamedevs.com
html5gamedevs.com
doc.babylonjs.com
stackoverflow.com
v8project.blogspot.ru

@justonemore:
justonemore

The last option is JavaScript. With all due respect to the gjs folks — and Philip Chimento in particular, who has been working hard at Endless to improve the JavaScript experience for GNOME developers — there’s no way to change the reality that JavaScript is a terrible language. It has close to zero redeeming features, and many confusing ones. You use it in web browsers because you have to, but for a desktop application, I have no clue why you would choose to use this over Python. We have to maintain gjs forever (for some value of “forever”) because GNOME Shell uses it, and it’s also being used by a couple apps like GNOME Weather and GNOME Documents. But it should be your last choice for a desktop application. Do not use JavaScript for new projects.
Another disadvantage of using JavaScript is that there is a huge barrier to entry for newcomers. But wait, lots of web developers are familiar with JavaScript; wasn’t the whole point of using it to lower the barrier of entry to newcomers? Well look how well that worked out for us! We have approximately zero new developers flocking to work on our JavaScript applications. The only documentation currently available online is over three years old, covers only a subset of the introspectable libraries that you want to use, and is frankly pretty bad. Unless opening gir files in a text editor and reading internal gjs unit tests to figure out how to call functions sounds like a good newcomer experience to you, then we need to steer far clear of JavaScript. The documentation situation is a fixable problem — Philip has much improved documentation that’s waiting for hosting to materialize — but there’s no momentum to fix it right now, and the defects of the language can’t ever be fixed. Bad, bad, bad!
blogs.gnome.org

@justonemore:
justonemore

Все это становится воз­можным за счет использования безымянных функций, которые, возможно, явля­ются единственным лучшим свойством JavaScript.
Alex MacCaw, "JavaScript Web Applications".

@justonemore:
justonemore

Сегодня увидел как человек почему–то делал вот так:
if (myArray.length == [])вместо
if (myArray.length == 0)

@lurker:
lurker

в фейсбуке снова кто-то дарит работу. но вам понадобится свитер и борода

@justonemore:
justonemore

GNOME берёт под своё крыло сраных джейкверишников: "A quick look at using JSX in GNOME" blogs.gnome.org

@OCTAGRAM:
OCTAGRAM

Дорогой жуйк, мне нужна помощь коллективного разума. Какой движок на JavaScript для мобильных платформ по опыту хороший? Не думал, что буду так интересоваться HTML5, но вот так в уме прикинул, чего стоит один раз запинать asm.js и попасть в каждый умный телевизор, и чего стоит запинать набор компиляторов под разные платформы, и ещё с GUI там пострадать, и подумал, что привязки изнутри asm.js к чему-то HTML5'ному были бы неплохим путём отступления. Будет плюсом, если через какой-нибудь Electron можно на компе запускать и получать осмысленное поведение.

Ангуляр не предлагать, я эту пакость как пользователь едва могу терпеть. SproutCore или что там сейчас у Apple, кто-нибудь видел?

@lurker:
lurker

pbs.twimg.com

@lurker:
lurker

trello.com

@OCTAGRAM:
OCTAGRAM

При преобразовании в C++ адские контролируемые типы проецируются на struct, при этом у них нет ни деструктора, ни перегруженной операции присваивания. Вместо этого компилятор оставляет в локальных контекстах rts_master_record, на которые навешиваются все контролируемые типы. Полагаю, это такое тяжёлое наследие ATC, на который в последних версиях компилятора GNAT, допустим, уже забили. Однако, в браузере, даже если я сам не использую ATC, вдруг то, что я написал, долго работало, и юзер нажал «остановить скрипт» — вот, пожалуйста, случился ATC. И AdaMagic сможет из этого выпутаться, при возврате управления понять, что и где нужно освободить. А на обычных платформах современный GNAT скомпилирует без этих штучек.

@justonemore:
justonemore

Собстенно разница между Firefox (в данном случае Pale Moon, но неважно так как одно и то же по сути) и Хромогом. Может я чего–то не знаю и тупой, но всё же.

@lurker:
lurker

изощрённенько

<div ng-if="init">{{init()}}</div>

function SomeController ($scope) {
	$scope.init = function () {
		delete $scope.init;
		init ();
	};
}

@justonemore:
justonemore

>var s = '0123456789abcdefghijklmnopqrstuvwxyz';
>var i = 0;
>var id;
>while (i <= 8) {
> id += s[Math.floor(Math.random() * s.length)];
> i++;
>}

Что будет в начале строки которая будет содержатся в переменной id? undefined. Пример: undefined64ajtwym3. А если при объявлении переменной присвоить ей null, то в начале строки будет null. Крайне странно так как объявляя переменную ничего ей не присваивая ожидаешь что она будет пустая, но эта пустота превращается в undefined.

@justonemore:
justonemore

В документации по функции create модуля dojo/dom-construct указано что возвращет она undefined и тут же вот такой пример использования: var n = domConstruct.create("div");

@alar:
alar

Существует ли логичная аргументация того, что веб-аппликации надо делать следующим образом: с бэкенда торчит пачка RESTов/вебсокетов, а вся гуйня строится на ЖС ? Не опирающаяся на постулат "так щас принято".

@segfault:
segfault

А я тут хаскельным квикчеком нашёл весёлый кейс

> d = new Date(2006, 02, 26, 02, 28, 53);
Sun Mar 26 2006 03:28:53 GMT+0600 (+06)
> d = new Date(2006, 02, 26, 0, 0, 0);
Sun Mar 26 2006 00:00:00 GMT+0500 (+05)
> d = new Date(2006, 02, 26, 1, 0, 0);
Sun Mar 26 2006 01:00:00 GMT+0500 (+05)
> d = new Date(2006, 02, 26, 2, 0, 0);
Sun Mar 26 2006 03:00:00 GMT+0600 (+06)
> d.getHours()
3

Работает в последнем хромаче, в фоксе, наоборот, час становится на 1 меньше. Гуголь чет ни чего не говорит по этому поводу. Я первооткрыватель?

@segfault:
segfault

ecma-international.org
Это ведь оффициальный сайт со стандартом ecmascript? Ни в одном просмотрщике не работают ссылки в содержании. Ну лол.

@segfault:
segfault

Обожаю жабаскрипт.

@justonemore:
justonemore

Интересную щибочку мне выдал Pale Moon:
/*Exception: [Exception... "Component is not available" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: Scratchpad/1 :: <TOP_LEVEL> :: line 2" data: no]
*/

@qrilka:
qrilka

эти гады парсят офисный XML регекспами...

@lurker:
lurker

jsfiddle.net что-то я делаю не так... перемещаю на 0.05 обычный предмет и отскейленый, во втором случае он перемещается не на 0.05

@glupovat:
glupovat

А уже вышла статья "Как писать на JavaScript в 2017 году"?

@killy:
killy

Точка с запятой нужна?


Я тут узнал про этот холивар.
JS — ленивый язык для ленивых людей. Настолько, что им лень в C-style языке ставить C-style разделители выражений.

Меня больше всего удивляет, что кто-то вообще это говно — Automatic semicolon insertion — придумал.
Как результат внедрения такого лексического препроцессора, то что написано, то что подразумевалось и то что выполнится на самом деле — это три большие разницы, вместо хотя бы двух. Теперь, выбирая сторону холивара, просто приходится выбирать сорт граблей, по которым в любом случае ходить.

Если я предпочитаю использовать т-с-з, по аналогии с другими языками и потому что явное лучше неявного, то ASI мне только палки в колёса иногда вставляет, делая внешне нормальный код нерабочим (неявные вещи случаются независимо от моей воли).

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

@don-Rumata:
don-Rumata

openmediavault.org
Чтобы выделить и скопировать адрес репы — надо разрешить js. Ю — юзабилити.

@killy:
killy

Вот эта "фича" регулярок в JS очень огорчает.
Можно было бы легко выбирать параметры из url'ов. Но нет, захватывается только то, что попало в последний проход, т.е. в данном случае только тот параметр, который стоит крайним справа.

regex101.com — на примере можно пощёлкать языки и увидеть, что попадает в результаты.

В JS остаётся только выгребать все параметры массивом и уже из него брать нужное.

@den-po:
den-po

Vanilla JS is a fast, lightweight, cross-platform framework for building incredible, powerful JavaScript applications. vanilla-js.com

@justonemore:
justonemore

Тёлка в программировании: youtube.com

@justonemore:
justonemore

Написал в своём коде на ЯваСцэнарии строчку

console.log('There is no such constructor as ' + constructor + '!');
И сегодня эта строчка меня таки выручила так как в консоли вывелась и я сразу понял в чём проблема. Со мной такое впервые.

@pololome:
pololome

Нашел язык программирования для гопников. Я так давно не смеялся.
yopta.space
github.com

@DespicableMe:
DespicableMe

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

@killy:
killy

Штука из #2855243 в виде Custom Element:
jsfiddle.net

@OCTAGRAM:
OCTAGRAM

Как установить node.js в Debian?
curl -sL deb.nodesource.com | sudo -E bash —
sudo apt-get install -y nodejs

В самом деле, надо изживать традицию «скачал-поставил». Надо, чтоб оно качалось сразу в Терминале и там же запускалось от имени суперпользователя.

@lurker:
lurker

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

@lurker:
lurker

ну и в конце дня: автор (вроде) embind говорил (в 2014) что в const std::string& можно передать ArrayBuffer. оно, конечно, можно, но только при этом если в ArrayBuffer текст, то всё норм, а если нет — не работает.

@jt3k:
jt3k

Приходите в чатик по джаваскрипту который находится в телеграме telegram.me . У него есть бридж в джаббер-ру, поэтому вы ничего не потеряете!