All streams
Search
Write a publication
Pull to refresh
62
0
Сева Родионов @Jabher

Джаваскрипт-шалун

Send message
я имел ввиду, что await getPromise() способен асинхронно вернуть промис.
То, что с точки зрения архитектуры они все построены поверх промисов — я знаю.
что делает этот код
работает

async-функции МОГУТ возвращать промисы как результат работы.
то-то у меня дежавю…
Lazy-load штука хорошая. Но я бы вам рекомендовал посмотреть на асинхронные задачи, все-таки в самой ноде обычно проводится на порядок меньше времени, чем в libuv.
К тому же клиент обычно не сразу инициализируется, а времени на загрузку тратится совсем немного.

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

//noinspection JSUnresolvedVariable
var remaining_thread_count = Number(process.env.THREAD_COUNT) || 150;

export async function init() {
    ...миграции БД...
    while (remaining_thread_count--)
    /*important! not an async call, that's an fibering*/
        start_thread();
}

async function start_thread() {
    await (await getNextTask());
    start_thread();
}
Вообще Data Lake — это как раз парадигма «сохраняем все-все данные, авось потом пригодится», так что это скорее задел на будущее
То есть они хотят делать вид что делают Shadow DOM сделав свой jQuery, который игнорирует типа-шедоу-дом?
гомеопатические наноботы с глицином.
5. PhoneDrone – преврати смартфон в квадрокоптер


Не надо :( У меня вчера квадракоптер улетел в 10-метровое дерево и застрял. Если бы он еще и с телефоном улетел — это было бы совсем обидно.
Да, кстати. Для журналирования в ноде настоятельно рекомендуется joylent логгер bunyan — он как раз по умолчанию пишет прямо JSON-ом в stdout, который уже как раз можно пайпить куда надо.

Про одноразовость (disposability) — тут немножко более интересный момент, который в оригинальной статье не очень хорошо объяснен, и может быть не понятен не очень продвинутым разработчикам.
Перевод не очень точен, более верно — «утилизируемость», как есть, это гораздо более точно дает понимание происходящего: процесс действительно может быть перезапущен в любой момент времени и при этом не потеряет никаких данных. В это вкладываются два понятия: атомарность операций (процесс не умирает до завершения или отката операции) и отсутствие состояния — все хранится в БД или очереди сообщений, а процессы просто разворачиваются на имеющихся данных и работают в них. Это все делает приложение практически непотопляемым — максимум полежит немножко и дальше пойдет.
Дважды бы плюсанул, честное слово.
Сам хотел перевести не так давно, опередили!
Два долбанутых юзкейса в копилку:
-Тинькофф-банк. Возможность звонка через интернет прямо из мобильного банка. Не, я не спорю — молодцы, это круто. Но какого хрена каждый раз, когда я звоню, у них ничего не высвечивается обо мне? Ладно, с мобильного телефона не опознают (хотя могли бы привязанный номер выцеплять). Но по интернету-то можно было бы данные вытаскивать.
Олег Тиньков распевается соловьем про конверсию и оптимизации, но это вот действительно вызывает дискомфорт — стоишь в очереди в другой стране и на своем непонятном для них языке вынужден звонить, тратить минут 10 бедной девочки чтобы разблокировать карту.

-Идиотские поля ввода имени и фамилии с банковской карты. Я раньше пользовался связной-банком, у которого так и написано — SVYAZNOYBANK.RU. И вот каждая вторая форма считала делом чести проверить, нет ли ничего в поле ввода кроме букв и пробела. А каждая третья требовала обязательный пробел.
Если бы эмпирически не подобрал на второй месяц, что на имя владельца карты в таких случаях всем плевать и писал наобум — то я просто не мог бы заплатить никак.
аэээээмм, elasticsearch?
Вот тут
Разрешение экрана

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

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

Телефон — звонки, плеер, фотоаппарат, какая-то информация в сети, редко — книги, игры. Соответственно — 3.5'' — 5'' экран 720p, более-менее большая батарея, хорошая оптика, достаточно памяти либо поддержка microSD (предпочтительно). Таскается всегда, что очевидно. Решением оказался Xperia z1 compact. К сожалению, оказался относительно глючным и ни разу не водонепроницаемым — после «окунания» умер 3.5 джек. К чести телефона — работает полтора-два дня, отлично снимает фото-видео и радует быстродействием. Но минусы есть тоже, конечно.

Планшет — место для запасной сим-карты (если еду в другую страну — хотел бы смски из банка получать и все такое), развлекательный контент, полноценные игрушки, нормальная работа с почтой, по необходимости и полноценная работа с легковесной внешней клавиатурой. В общем вспомогательные функции и поразвлекаться. Используется в основном долгих дорогах и дома. Требования — хотя бы fullHD, поддержка карт памяти (смотреть контент с других устройств) и сим-кард (очень желательно LTE), максимальная диагональ экрана, и, внимание, очень важный момент — ширина в 125-135мм. 140-150мм — это ширина внутреннего кармана любой куртки, соответственно, такой размер позволяет брать планшет с собой в куртке, а не в сумке или руках. До сих пор не понимаю, почему до производителей эта идея никак не дойдет: есть dell venue 8 7000 (собственно, жду версию с LTE), который с диагональю в 8.4 дюйма и шириной в 130мм, полтора дюйма большой разницы не делают, но очень сильно упрощают возможность брать планшет с собой куда угодно.
А можете объяснить не-математикам крутизну решения? Я верю, что круто, просто нуэээээ, я не понял.
не угадали. эта ссылка у меня тоже где-то была, но вот ее никак не найду, а было бы эффектно.

В общем как-то раз одни извращенцы скомпилировали хромиум в asm.js и смогли его запустить в firefox.
Вот тут — не спорю. Но они служат больше для того, чтобы обозначать группы изменений как смену целостного состояния — мы все знаем, что по-хорошему каждый коммит должен работать, и при «археологических раскопках» важно понимать, что те или иные группы изменений были связаны.
Для железа — да, возможно, что-то делается просто потому что это эффективнее всего.

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

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

Вот вам дзен питона про это:

Явное лучше, чем неявное.
Простое лучше, чем сложное.

Должен существовать один — и, желательно, только один — очевидный способ сделать это.

Если реализацию сложно объяснить — идея плоха.
Если реализацию легко объяснить — идея, возможно, хороша.
я просто оставлю это тут

github.com/Flipboard/react-canvas
не факт, они плагины для браузеров тоже пилят

А, вот, с сайта.
JavaScript implementation used for benchmarking is V8

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity