Technologique
660 subscribers
143 photos
3 videos
42 files
945 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
Technologique
https://cs7059.vk.me/c540102/v540102627/e671/JICFGFCqwx0.jpg
К слову про проекты и объектно-реаляционное проектирование в них.

Когда степень интеграции компонентов и взаимосязи между ними (сильносвязная архитектура) переваливают какую-то критическую массу в монолитном проекте, тогда создаётся прецедент для перехода к микросервисной архитектуре (service-oriented architecture, SOA, enterprise service bus, ESB) и слабосвязной дезинтеграции.
Микросервисы базируются на принципах слабосвязной архитектуры ПО.
Хотя есть исключения, проекты с сильными связями подсистем, например ядро Linux, оно до сих пор монолитное (хотя в нём очень много подсистем), модульное, не мироядерное, т.к. такая арихтектура ядра имеет большую производительность ввиду отсутствия механизма IPC и соответственно накладных расходов на переключение контекста и привелегий процессов.
Микросервисные архитектуры хорошо согласуются с философией Unix и компонентно-ориентированной моделью разработки ПО - самодостаточные компоненты, которые хорошо выполняют свои задачи и взаимодействуют на общих принципах (протоколах) с другими компонентами.
При этом микросервисная архитектура хорошо подходит для проектов разной величины, если она в них применима.
Django, Celery, Sentry...

При том что Django это реализация MVP паттерна проектирования приложений, не MVC в чистом виде!
А Celery это частный случай message queue - job queue.
Python сообщество вообще удивляет своими решениями! 😄
Как-то это всё не энтерпрайзно... 😂
Тем более с точки зрения бывшего явиста. 😂
Поэтому Google уволили Гвидо Ван Россума и наняли Роба Пайка и Кена Томпсона в компанию к Роберту Гризмеру для создания Go (в оппозит Java и Python), а Dropbox свернули проект JIT компилятора Python, перешли на Go в бэкэнде более чем полностью и начали великий исход из облака Amazon, который завершили только недавно.
Для Python вообще нет нормального JIT компилятора, такого как LuaJIT, V8 (Node.js) или JRuby (MLVM on JVM) - PyPy им вообще не ровня по скорости и расходу памяти, его ещё можно с проектом Rubinius сравнить, но Rubinius вообще мультиязыковой теперь, как LLVM и Parrot, а проект Jython скорее мёртв чем жив, развивается медленно и давно стагнировал.
So long... столько лет с 1991 года прошло и так никто и не запилил для Python нормальный JIT! До сих пор стандартом остаётся CPython.
Поэтому большинство компаний с крупными проектами сейчас переходят на Go.
Если и дальше так же будет - Python ждёт стагнация, он станет таким же маргинальным как PHP и Perl, дороги в large enterprise у него уже нет.
Печально и грустно это...
Мой профиль это ведь телекоммуникации, а это как раз large enterprise и я так ждал широкого применения Python в этой отрасли, в её серверсайдном бэкэнде!
А пока что Python годен только для скриптовых автоматизаций в этой отрасли, которые тоже не весьма производительными выходят.
Facebook кстати создали язык Hack (https://en.wikipedia.org/wiki/Hack_(programming_language)) и HHVM (https://en.wikipedia.org/wiki/HipHop_Virtual_Machine).

Потому что тоже разочаровались в PHP и Python (проект Tornado).

Часть бэкэнда вообще перевели на JVM перед созданием Hack и HHVM.

http://nerds-central.blogspot.com/2012/08/facebook-moving-to-jvm.html

Перевод от белорусов:
https://dev.by/lenta/main/facebook-perehodit-na-virtualnuyu-mashinu-java
https://www.youtube.com/watch?v=fYlxBrKX-DI&t=1h11m20s

https://www.youtube.com/watch?v=fYlxBrKX-DI&t=1h59m30s

Интересно получилось! 😄👍


скину немного теории и ссылок по smart contracts, чтобы смотрящим и заинтересовавшимся было легче разобраться
вообще возможности технологии огромны!
итак, доки для более глубокого понимания технологии Ethereum:
http://ethdocs.org/en/latest/
https://github.com/ethereum/wiki/wiki
https://ethereum.gitbooks.io/frontier-guide/content/

Solidity - это JS или Си подобный язык (Contract-Oriented Programming Language) со статической типизацией для написания контрактов, их компиляции и включения их в блокчейн
https://solidity.readthedocs.org/en/latest/
https://github.com/ethereum/wiki/wiki/Руководство-по-Solidity
https://github.com/ethereum/solidity

есть браузерный компилятор Solidity
https://github.com/chriseth/browser-solidity
и форма для написания, оптимизации и компиляции контрактов
http://chriseth.github.io/browser-solidity/

Solidity исполняется на Ethereum VM в клиенте Ethereum
есть библиотека для динамической (JIT) компиляции байт-кода EVM под LLVM
https://github.com/ethereum/evmjit

есть официальная реализация протокола Ethereum в клиенте написанном на Go
содержит:
geth - CLI клиент протокола Ethereum
evm - Ethereum Virtual Machine
bootnode - deploy сетевой ноды Ethereum для service discovery
https://github.com/ethereum/go-ethereum
https://github.com/ethereum/go-ethereum/wiki
https://godoc.org/github.com/ethereum/go-ethereum
https://hub.docker.com/r/ethereum/client-go/

нужно обязательно опубликовать информацию о митапе по Эфириуму и умным контрактам тут:
http://www.meetup.com/topics/ethereum/
http://www.meetup.com/topics/smart-contracts/

OMG, technologies moving so fast for the latest few years! 😱

короче если коротко...

криптовалюты основаны на сетевой распределённой децентрализованной транзакционной БД - это и есть технология blockchain
транзакции используют шифрование, proof-of-work и proof-of-stake для доказательства вычислительной работы по обработке и подтверждению транзакций (PoW), их шифрованию, формированию блока, его подписи, последующего сцепления в блокчейн, а также доказательства хранения доли монет (PoS) для подтверждения транзакций в некоторых реализациях протоколов криптовалют на основе блокчейна (Ethereum, Peercoin, Novacoin)
поэтому транзакции необратимы и каждую транзакцию можно отследить по базе blockchain вплоть до момента эмитирования монет (но для этого нужно иметь 51% вычислительной мощности всей сети, что практически нереально)

умные контракты это программный код для распределённой БД blockchain, для создания управляемых транзакций - умных контрактов
это как PL/SQL для написания хранимых процедур и тригеров в Oracle

на Solidity можно реализовать транзакционный распределённый процессинг с моделью программно управляемых "активных данных", распределённый (distributed) биллинг на БД blockchain и подобие протоколов radius/diameter
всё это весьма востребовано и очень нужно, для применения в сервисно-ориентированных архитектурах (service-oriented architecture (SOA), enterprise service bus (ESB)), как финансовое средство для приёма онлайн оплат, обработки платежей и взаиморасчётов на основе умных контрактов
Forwarded from Andrew Bednoff
Это Lenovo ThinkPad Yoga с OLED дисплеем! С OLED дисплеем, Карл! 😂
Forwarded from Andrew Bednoff
Ну и конечно Lenovo ThinkPad X1 Carbon 4th Gen 2016 с классической клавиатурой ThinkPad
Forwarded from Andrew Bednoff
Intel HD Graphics HD520
Yoga и X1 теперь с графикой Iris!!! 😱😃🤓
Forwarded from Платформа
Напоминаем, что сегодня День Космонавтики, а кто у нас самые частые гости в космосе? Различное оборудование на Linux!
https://vk.com/thatislinux?w=wall-33025660_199731
"Оценка сложности и времени выполнения задач в командной разработке"

Ведущие:
Роман Кононов, @rkononov, https://www.iron.io
Максим Косяков и Вадим Глебов, @glebov, http://it-attractor.com

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

На канале DevKG:
https://www.youtube.com/watch?v=Qvtb4AlT74U

Мой небольшой комментарий и скромный вклад в эту замечательную встречу и обсуждение =)
https://www.youtube.com/watch?v=iV6pmvyvISE&t=1h15m15s

https://www.youtube.com/watch?v=Qvtb4AlT74U&t=1h15m15s

Интересная и весьма эзотерическая тема на самом деле! 😆😂
Вероятностное предсказание будущего! 😱
"Пути разработки неисповедимы" (c) somebody