Low-code sells great, but in practice, it does not provide the benefits that vendors have claimed. What are the reasons and how can we get an advantage using the Low-code principle? Experience of radical rethinking and use-cases in enterprise applications together with multi-paradigm programming and metaprogramming.
https://fwdays.com/en/event/architecture-fwdays-2021/review/rethinking-low-code
Cómo se realiza y presenta un trabajo en 1º - cazurrineslanciacazurrineslancia
Este documento proporciona instrucciones para que los estudiantes de 1o de ESO realicen y presenten trabajos en PowerPoint sobre obras de arte griegas. Los estudiantes trabajarán en parejas y cada pareja analizará una obra, incluyendo su nombre, representación, significado histórico y datos sobre su autor. Deberán crear una presentación de entre 4 y 7 diapositivas respectando ciertas pautas sobre contenido, formato y duración de la presentación. Serán evaluados tanto en el contenido como en su capacidad de comunicación.
The document contains examples of IP address calculations and subnetting. It includes:
1) Examples of subnet calculations for various IP addresses and subnet masks
2) A table to complete with IP addresses, subnet masks, subnets, and broadcast addresses
3) Validation of IP addresses to determine if they are valid or invalid for given subnets
4) Calculation of the number of hosts and subnets for a given IP range using subnet masking
This document summarizes case studies from several colleges that implemented cloud computing applications and projects. The projects included making software, communication tools, and learning resources available to students both on and off campus through cloud servers and virtual desktop infrastructure. The projects aimed to increase flexibility and accessibility of learning. Technical challenges included integrating different data streams and configuring remote desktop services within each college's existing infrastructure.
Low-code sells great, but in practice, it does not provide the benefits that vendors have claimed. What are the reasons and how can we get an advantage using the Low-code principle? Experience of radical rethinking and use-cases in enterprise applications together with multi-paradigm programming and metaprogramming.
https://fwdays.com/en/event/architecture-fwdays-2021/review/rethinking-low-code
Cómo se realiza y presenta un trabajo en 1º - cazurrineslanciacazurrineslancia
Este documento proporciona instrucciones para que los estudiantes de 1o de ESO realicen y presenten trabajos en PowerPoint sobre obras de arte griegas. Los estudiantes trabajarán en parejas y cada pareja analizará una obra, incluyendo su nombre, representación, significado histórico y datos sobre su autor. Deberán crear una presentación de entre 4 y 7 diapositivas respectando ciertas pautas sobre contenido, formato y duración de la presentación. Serán evaluados tanto en el contenido como en su capacidad de comunicación.
The document contains examples of IP address calculations and subnetting. It includes:
1) Examples of subnet calculations for various IP addresses and subnet masks
2) A table to complete with IP addresses, subnet masks, subnets, and broadcast addresses
3) Validation of IP addresses to determine if they are valid or invalid for given subnets
4) Calculation of the number of hosts and subnets for a given IP range using subnet masking
This document summarizes case studies from several colleges that implemented cloud computing applications and projects. The projects included making software, communication tools, and learning resources available to students both on and off campus through cloud servers and virtual desktop infrastructure. The projects aimed to increase flexibility and accessibility of learning. Technical challenges included integrating different data streams and configuring remote desktop services within each college's existing infrastructure.
Есть такая штука как инструментирование кода. Мало кто знает о ней, даже пользуясь результатами ее применения. Между тем, с инструментированием можно делать много всего интересного и, главное, полезного. Например, это может вам помочь лучше понять код или сделать процесс разработки более эффективным. Примеры инструментирования кода и принципы его работы.
.NET Fest 2018. Сергей Калинец. Azure веб разработка здорового человекаNETFest
Microsoft Azure, пожалуй, самый очевидный выбор для .NET разработчиков, когда они (или их клиенты) внезапно решают, что им нужен клауд. Но при этом мы все равно используем подходы и техники из до-облачного мира, иногда и не подозревая о тех сервисах и удобствах, которые нам дает Azure. На этом докладе Сергей покажет, как быстро и эффективно можно разрабатывать современное веб приложение. Мы затронем разные аспекты -- от организации кода до деплоя и мониторинга приложений, работающих в проде. Документация API, поддержка рабочих процессов, инициализация приложений, полезные инструменты и библиотеки -- все это, и не только, ждет вас на нашем докладе.
Аспектно-ориентированное программирование в распределенных системах для java ...Igor Suhorukov
Про использование AspectJ Scripting для модификации существующего java приложения без его перекомпиляции и пересборки.
Основные преимущества:
* написание аспектов только за счет конфигурации агента на java подобном языке MVEL;
* использовании в скриптах любых классов и ресурсов из maven репозитариев с их динамической загрузкой во время выполнения;
* возможность загрузки конфигурации агента при старте jvm как с файловой системы, так и с веб сервера
* сочетание jvm агента AspectJ и привычного синтаксиса pointcut выражений упрощают изучение: существует подробная официальная документация AspectJ и публикации в интернет.
* open source/apache license, наличие исходного кода на github и сборки агента на central.maven.org
Область применения jvm агента - микросервисы и приложения для jvm(в том числе и распределенные). AspectJ Scripting позволяет собирать метрики приложения и jvm, выполнять трассировку распределенного приложения, делать дампы запросов/ответов, изменять поведение существующего приложения.
Видеозвонки и шаринг экрана в мобильном приложенииVoximplant
Александр Сербул (Битрикс24)
Видеозвонки и шаринг экрана в мобильном приложении
О спикере
Отвечает за контроль качества интеграции и внедрений компании «1С-Битрикс» и выступает в роли архитектора и разработчика проектов, связанных с высокой нагрузкой и отказоустойчивостью («Битрикс24»). Окончил кафедру «Автоматизация и информатика» Донского государственного технического университета. До 2002 года работал советником в администрации Президента России по Южному федеральному округу, разработал официальный портал Юго-Западного банка Сбербанка России. Увлекается философией Unix, гибкими методологиями разработки ПО, системным анализом и проектированием.
О докладе
Рассмотрим технологию реализации видеозвонков HD-качества и шаринга экрана для мобильных приложений на платформах Android и Apple. Подробно остановимся на подводных камнях и доработках ядра WebRTC.
INTERCOM 2016, Москва
Сайт конференции: https://intercomconf.com/
Презентация мастер-класса "Создание динамических пользовательских интерфейсов и AJAX-приложений промышленного класса с помощью Dojo Toolkit и Zend Framework"
анализ кода: от проверки стиля до автоматического тестированияRuslan Shevchenko
Рассказ о истории и использовании в реальной жизни инструментов анализа кода на основе JavaChecker и TermWare
Сопустствующий текст: http://datacenter.gradsoft.ua/files/articles/OSDN2011/
The document discusses REST (Representational State Transfer) and the Richardson Maturity Model for building RESTful web APIs. It explains the four levels of the maturity model - from simple request-response (Level 0) to full REST with hypermedia links (Level 3). It also provides an overview of how to build RESTful services with ASP.NET Web API, including URL routing, content negotiation, and extensibility options like message handlers and dependency injection.
Есть такая штука как инструментирование кода. Мало кто знает о ней, даже пользуясь результатами ее применения. Между тем, с инструментированием можно делать много всего интересного и, главное, полезного. Например, это может вам помочь лучше понять код или сделать процесс разработки более эффективным. Примеры инструментирования кода и принципы его работы.
.NET Fest 2018. Сергей Калинец. Azure веб разработка здорового человекаNETFest
Microsoft Azure, пожалуй, самый очевидный выбор для .NET разработчиков, когда они (или их клиенты) внезапно решают, что им нужен клауд. Но при этом мы все равно используем подходы и техники из до-облачного мира, иногда и не подозревая о тех сервисах и удобствах, которые нам дает Azure. На этом докладе Сергей покажет, как быстро и эффективно можно разрабатывать современное веб приложение. Мы затронем разные аспекты -- от организации кода до деплоя и мониторинга приложений, работающих в проде. Документация API, поддержка рабочих процессов, инициализация приложений, полезные инструменты и библиотеки -- все это, и не только, ждет вас на нашем докладе.
Аспектно-ориентированное программирование в распределенных системах для java ...Igor Suhorukov
Про использование AspectJ Scripting для модификации существующего java приложения без его перекомпиляции и пересборки.
Основные преимущества:
* написание аспектов только за счет конфигурации агента на java подобном языке MVEL;
* использовании в скриптах любых классов и ресурсов из maven репозитариев с их динамической загрузкой во время выполнения;
* возможность загрузки конфигурации агента при старте jvm как с файловой системы, так и с веб сервера
* сочетание jvm агента AspectJ и привычного синтаксиса pointcut выражений упрощают изучение: существует подробная официальная документация AspectJ и публикации в интернет.
* open source/apache license, наличие исходного кода на github и сборки агента на central.maven.org
Область применения jvm агента - микросервисы и приложения для jvm(в том числе и распределенные). AspectJ Scripting позволяет собирать метрики приложения и jvm, выполнять трассировку распределенного приложения, делать дампы запросов/ответов, изменять поведение существующего приложения.
Видеозвонки и шаринг экрана в мобильном приложенииVoximplant
Александр Сербул (Битрикс24)
Видеозвонки и шаринг экрана в мобильном приложении
О спикере
Отвечает за контроль качества интеграции и внедрений компании «1С-Битрикс» и выступает в роли архитектора и разработчика проектов, связанных с высокой нагрузкой и отказоустойчивостью («Битрикс24»). Окончил кафедру «Автоматизация и информатика» Донского государственного технического университета. До 2002 года работал советником в администрации Президента России по Южному федеральному округу, разработал официальный портал Юго-Западного банка Сбербанка России. Увлекается философией Unix, гибкими методологиями разработки ПО, системным анализом и проектированием.
О докладе
Рассмотрим технологию реализации видеозвонков HD-качества и шаринга экрана для мобильных приложений на платформах Android и Apple. Подробно остановимся на подводных камнях и доработках ядра WebRTC.
INTERCOM 2016, Москва
Сайт конференции: https://intercomconf.com/
Презентация мастер-класса "Создание динамических пользовательских интерфейсов и AJAX-приложений промышленного класса с помощью Dojo Toolkit и Zend Framework"
анализ кода: от проверки стиля до автоматического тестированияRuslan Shevchenko
Рассказ о истории и использовании в реальной жизни инструментов анализа кода на основе JavaChecker и TermWare
Сопустствующий текст: http://datacenter.gradsoft.ua/files/articles/OSDN2011/
The document discusses REST (Representational State Transfer) and the Richardson Maturity Model for building RESTful web APIs. It explains the four levels of the maturity model - from simple request-response (Level 0) to full REST with hypermedia links (Level 3). It also provides an overview of how to build RESTful services with ASP.NET Web API, including URL routing, content negotiation, and extensibility options like message handlers and dependency injection.
This document provides an overview and agenda for NDepend and CQL (Code Query Language). It discusses using CQL to perform queries and define constraints to analyze code quality, dependencies, layering, refactoring opportunities, code coverage, state and mutability, potential dead code, optimal encapsulation, naming conventions, and object models. Specific CQL queries are provided as examples under each topic.
4. Накладые расходы при паралелизме Необходимо деление операций Выполнения потоков вызывает лишние накладные расходы Чем больше потоков тем больше лишних расходов Для быстрого запуска/выполнения потоков необходимо уменьшить накладные расходы связанные с этим Overhead Overhead Overhead Overhead Overhead Overhead Work Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead Overhead
9. Новые примитивы синхронизации Использованы при разработке PLINQ и TPL Для того чтобы решать большинство задач в многопоточности Thread-safe, scalable collections IProducerConsumerCollection<T> ConcurrentQueue<T> ConcurrentStack<T> ConcurrentBag<T> ConcurrentDictionary<TKey,TValue> Phases and work exchange Barrier BlockingCollection<T> CountdownEvent Partitioning {Orderable}Partitioner<T> Partitioner.Create Exception handling AggregateException Initialization Lazy<T> LazyInitializer.EnsureInitialized<T> ThreadLocal<T> Locks ManualResetEventSlim SemaphoreSlim SpinLock SpinWait Cancellation CancellationToken{Source}
10. Распараллеливаем циклы Control flow is a primary source of work Распаралеливаем если итерации независимы «Синхронное» поведение, поток выполнения не пройдет пока цикл не выполнится Возможности Cancelation, breaking, task-local state, scheduling, degree of parallelism Поддержка профайлера Visual Studio 2010 (как у PLINQ) foreach(var item in data) { work(item); } for (int i = 0; i < n; i++) { work(i); } StatementA(); StatementB; StatementC(); Parallel.ForEach(data, item=> { work(item); }); Parallel.For(0, n, i=> { work(i); }); Parallel.Invoke( () => StatementA(), () => StatementB, () => StatementC());
11.
12. Легко с LINQ на PLINQ PLINQ может выполнить все LINQ запросы Простые запросы – проще выполнить Разбивайте сложные запросы на более простые, так чтобы только та часть которую нужно распралелить была PLINQ: src.Select(x => Foo(x)) .TakeWhile(x => Filter(x)) .AsParallel() .Select(x => Bar(x)) .ToArray();
16. Cсылки и источники DevCenter http://msdn.com/concurrency Исходные коды примеров http://code.msdn.microsoft.com/ParExtExamples Блоги http://blogs.msdn.com/pfxteam Parallel stack Доклады, видео http://channel9.msdn.com/learn http://microsoftpdc.com/
Проблемы параллелизма свзязаны с дополнительными накладными расходами. Потоки, и многопоточность имеют свою цену. Например есть расходы с созданием, завршением потока, созданием делегата который выполняет работу. Расходы связанные с выполнением и conceptional overhead.Предположим есть какая-то задача, если это цельная задача, она будет использовать один поток.Для того чтобы выполнить эту задачу в 4 потока необхожимо ее разделить на 4 части
Попробую расказать коротко про тредпул в 3.5. Основная идея – треды управляются системой и это потому что треды относительно дорогоие, дорогоие для создание и для уничтожения, дорого создавать много потоков и дорого переключатся между ними. И как результат мы старались выполнять работу как можно меньшим числом потоков. И на самом деле это касается не только тредпула но и любых других потоков.Блокировки замедляют выполнение задач так как тредам приходится ждать ресурсов.Это также как и в реальном мире. На примере комманды разработчиков. Например задача может быть сделана двумя разработчикам достаточно эффективно. Мы хотим увеличить производительность и уменьшить время. Добавляя новых разработчиков к комманде мы достигаем этого но требуется все больше накладных расходов на совещания и прочее.
Lock-free queue – removed lock to reduce contention, instead used interlocked operationsLocal queue – LIFO order because cache locality, may be data cached by CPU(L1, L2, L3 caches)When work thread has no data it asks first local queue that global, and then it steals most old items from local queue of another thread