Technologique
662 subscribers
144 photos
3 videos
42 files
949 links
Deeply involved developers about various aspects, tendencies & conceptions of programming technologies, FLOSS, Linux, security, cloud infrastructures & DevOps practices, distributed systems, data warehousing & analysis, DL/ML, web3, etc.
Author: @andrcmdr
Download Telegram
Знаменитый спич Линуса Торвальдса (полная запись) с посылом компании NVidia - смотреть с 48-ой минуты 10-и секунд или просто justclick.this(https://www.youtube.com/watch?v=MShbP3OpASA&t=48m10s).

В вопросе речь зашла об очень хорошем проекте для платформы NVidia Optimus (http://en.wikipedia.org/wiki/Nvidia_Optimus) - Bumblebee.

http://bumblebee-project.org
И всё таки не просекли главную фишку - это хранимые функции (процедуры) на Lua и возможность собрать из дополнительных модулей полноценный application server на Lua (http server, queue + in-memory db with optional persistence storage).
Используется LuaJit.
На этом можно поднять монстра, который держит больше 17K RPS (многопоточных, распараллельных запросов с мультивыборкой данных) к БД.
С модулем nginx_upstream_module, интеграцией с OpenResty и фреймворком Lapis - страшно представить какой мощный дракон получится! 😱

В mail.ru видимо очень любят Lua поэтому поддерживают Tarantool 👍

https://opensource.mail.ru/Tarantool

http://highscalability.com/blog/2015/12/30/how-to-choose-an-in-memory-nosql-solution-performance-measur.html

http://highscalability.com/blog/2016/2/17/building-nginx-and-tarantool-based-services.html
Интересное и весьма показательное исследование - тенденции хорошо просматриваются
Forwarded from Платформа
Один из многочисленных примеров, как Linux может изменить вашу жизнь.

Молодая девушка из Индии Vaishali Thakkar сломала ногу и не могла ходить 3 месяца, из-за этого она установила Linux и начала изучать Python. Теперь она Linux-инженер в Oracle. vk.cc/4VRbG3
Forwarded from Geeks
"Жизнь, по подписке" - статья о том, как "экономика вскладчину" (shared economy) изменяет нашу повседневную жизнь: сейчас уже и билеты на самолёт покупать не нужно, - достаточно заплатить стартапу за "месячную подписку на билеты", и летать безлимитно. В качестве другого примера, почему за shared economy будущее, автор также приводит то, что, по статистике, машины используются эффективно только 4% времени, - всё остальное время они стоят на парковках. Ну и под конец, автор задаёт главный вопрос данности "экономики вскладчину": а нужна ли вам частная собственность вообще? По мне так сама идея "жить полностью по подписке" является идеализированной, хотя многое действительно становится доступнее посредством shared economy. http://techcrunch.com/2016/03/18/life-by-subscription/
Идеальное рабочее пространство! И server rack на нижнем этаже дома! 😄

Стефан Грабер, разработчик из Канады, работающий в компании Canonical, мэйнтейнер LXC (Linux Containers)

https://www.youtube.com/watch?v=NomqUIC_Uzs

http://www.linux.com/news/special-feature/linux-developers/817168-linux-kernel-developer-work-spaces-video-stephane-graber-lxc

Полное собрание - воркспейсы 30-и Linux разработчиков ядра и его окружения за 30 недель:
http://www.linux.com/news/special-feature/linux-developers
https://docs.docker.com/v1.6/
Обнаружил почти забытую интересность библиотеки jQuery в коде сайта доументации Docker, а именно в реализации меню.
Мне вот непонятно и интересно, как jQuery удаляет (через вызов .off() ) обработчик события элемента/ноды, установленный ранее (вызовом .on() ), когда сам хэндлер реализован как анонимная неименованная функция!? По внутреннему коду функции!?
Я ради интереса запустил отладку и залез в нутро библиотеки через Chromium DevTools и прогоняя jQuery на WebStorm
base.js:33
взять листинг обработчиков событий первого элемента меню:
var mass = window.document.querySelectorAll("li.dd_menu")[0];
getEventListeners(mass);
все три обработчика безымянные и просто так через вызов removeEventListener() их привязку не удалить у элемента, т.к. указание имени обработчика вторым параметром функции обязательно
e - это объект с параметрами вызова передаваемый анонимной функции, function (e) {}, в момент вызова
а подобные трюки
mass.removeEventListener('mouseout', arguments.callee, false)
можно выполнять только в контексте вызова (namespaces/scopes/closures) внутри анонимной функции для последующего её удаления как обработчика события
внедрив подобную строчку кода c малодокументированным вызовом arguments.callee я выяснил много деталей
искомый обработчик это
jQuery110205145879534538835.handle - может называться иначе
или коротко
f(e) - это имя функции, которая существует только в момент возникновения (всплывания, bubbling) события и её вызова
и тут уже по коду становится более ясно - хэндлеры, делегаты...
https://github.com/jquery/jquery/blob/master/src/event.js#L197
https://decadecity.net/talks/what-has-jquery-ever-done-for-us#event-handlers
но до конца разобраться в тонкостях работы механизма событий и обработчиков в jQuery очень непросто
я понимаю что неименованные функции в качестве хэндлера это плохой структурный антипаттерн проектирования, но jQuery реализована в именно таком стиле - это скорее оптимизация для ускорения работы библиотеки и предотвращения утечек памяти, хотя может просто экономят байты на именах для компактности...
но как удалить неименованный хэндлер с элемента без jQuery?
или чистым ванильным JS уже никто не пользуется?
на StackOverflow говорят что никак - просто не надо так писать код 😆😂
PS: помню был интересный проект по запуску jQuery на Node,js для целей парсинга HTML страниц 😄

Полезные ссылки:
https://vk.com/doc10903696_195353516
https://addyosmani.com/resources/essentialjsdesignpatterns/book/
https://toddmotto.com/everything-you-wanted-to-know-about-javascript-scope/
https://habrahabr.ru/post/239863/
собственно из-за чего вся история:
Forwarded from Andrew Bednoff
запарился с этой навигацией по меню docs.docker.com вручную - хер найдёшь то что нужно!
я поражаюсь фронтэнд дизайнерам - если сделпли такое меню, так запилите кнопку "развернуть всё"!
короче, нервы сдали, сделал простенький букмарклет - пусть разворачивает мне менюшки для поиска по ним
😄👍