TeaVM: dead code elimination and devirtualizationАлексей Андреев
This presentation is in Russian!
TeaVM is a AOT compiler of Java bytecode primarily targetted to JavaScript. This presentation explains technique used by to remove unused code
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотекPython Meetup
"SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек", Алексей Черкес
Кратко рассказано о том, что такое биндинг и Pуthon c API. Краткий обзор средств биндинга для Python. SWIG: что такое, зачем нужен, особенности, схема работы утилит, порядок запуска и сборки, принципы работы, как происходит сопоставление объектных моделей С++ и целевого языка. Примеры на Python и C#. Опыт применения, плюсы/минусы.
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...Stas Vyschepan
Вы разрабатываете веб-приложения и используете хранимые процедуры? Вы пишите SELECT … WITH(NOLOCK)? Вы считаете, что ORMы снижают быстродействие приложений? Тогда этот доклад для вас!
В докладе будут развенчаны популярные мифы о применении библиотек Object-Relational Mapping (ORM) в ASP.NET при работе с Microsoft SQL Server. Также будут рассмотрены конкретные методики увеличения быстродействия работы с данными в веб-приложениях.
TeaVM: dead code elimination and devirtualizationАлексей Андреев
This presentation is in Russian!
TeaVM is a AOT compiler of Java bytecode primarily targetted to JavaScript. This presentation explains technique used by to remove unused code
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотекPython Meetup
"SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек", Алексей Черкес
Кратко рассказано о том, что такое биндинг и Pуthon c API. Краткий обзор средств биндинга для Python. SWIG: что такое, зачем нужен, особенности, схема работы утилит, порядок запуска и сборки, принципы работы, как происходит сопоставление объектных моделей С++ и целевого языка. Примеры на Python и C#. Опыт применения, плюсы/минусы.
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...Stas Vyschepan
Вы разрабатываете веб-приложения и используете хранимые процедуры? Вы пишите SELECT … WITH(NOLOCK)? Вы считаете, что ORMы снижают быстродействие приложений? Тогда этот доклад для вас!
В докладе будут развенчаны популярные мифы о применении библиотек Object-Relational Mapping (ORM) в ASP.NET при работе с Microsoft SQL Server. Также будут рассмотрены конкретные методики увеличения быстродействия работы с данными в веб-приложениях.
Serghei Iakovlev "Chaos engineering in action"Fwdays
Let's talk about what chaos engineering is and how this discipline can be applied in projects where PHP is used as the main language.
Among other things, we will cover the following topics:
What problems does chaos engineering solve?
What are the solutions exist?
How to develop your own solution?
What is a controlled failover?
A little about ZendEngine and what tools are out of the box?
A bit about chaos design.
A bit about the code leading to chaos.
Этюды о буферизации: асинхронные оповещения, репликация обновлений, объединен...corehard_by
Практика разработки конкретного приложения может приводить к постановке задачи, которая, в зрелом размышлении, оказывается достаточно общей, чтобы вычленить её в абстракцию, потенциально полезную для множества различных приложений. Приведение решения к виду, пригодному для многократного применения, в отличие от решения, отвечающего нуждам конкретного приложения, требует дополнительных мыслительных усилий по выделению вариативных аспектов задачи, и по их моделированию средствами языка. В докладе представлен опыт реализации трёх абстракций, объединенных общей темой — буферизацией данных при многопоточной обработке. Показан ход мысли от анализа задачи до реализации средствами языка C++17.
There are a lot of things in multi-threading world, which we, as engineers, have to consider while developing applications. During Golang Odesa #TechTalks we will talk about three main problems – data races, race conditions, and deadlocks. Also, we will discuss how to avoid fantom bugs and do not shoot yourself in the foot while developing Golang applications
About speaker:
Oleksandr Karlov is Golang Team Lead at Lohika. Currently, Oleksandr is working on SLO project, which helps engineers to control reliability of their services. Before that he worked on CDN and statistics platform.
Так бывает, что иногда ваше приложение начинает долго выполнять казалось бы обыденные задачи и потреблять большое количество оперативной памяти. А вы как разработчик и понятия не имеете, почему же так происходит (но вам интересно). В ходе доклада поговорим о средствах, которые могут нам понять причины странного поведения наших программ. Если не боитесь таких слов как Valgrind, gprof, gperftools и многих других - добро пожаловать!
4 года разрабатывает видеостриминговый сервер эрливидео и в этом докладе расскажет о некоторых отличительных возможностях Erlang, которые позволяют быстро развиваться и поддерживать высочайшее качество ПО минимальными усилиями.
PHP libevent Daemons. A high performance and reliable solution. Practical exp...Arvids Godjuks
It is considered (rigthly in most cases) that it's a bad manner to implement a daemon using PHP. It's OK for prototyping but no-no for production. That were our thoughts when we've started to implement a new version of browser game. It was planned to describe an interface to communicate with daemon that will be then rewritten in pure C.
However, fist libevent PHP daemon performance tests forced us to think if we really need to rewrite it in C. What was the performance? Are there memory leaks? All these will be covered in the speech.
You will also learn about problems, features and how a real project results.
Windbg: когда у нас не воспроизводится. Александр Головач ➠ CoreHard Autumn ...corehard_by
На практике возникают проблемы, которые невозможно воспроизвести и исследовать на стороне разработчика. В таких ситуациях порой бывает невозможно даже организовать удаленный доступ к машине. Во время доклада будут рассмотрены и даны советы по отладке типовых задач таких как аварийное завершение, утечка ресурсов и ошибки синхронизации в многопоточных приложениях. Мы будем использовать отладчик Windbg. Доклад будет интересен в первую очередь начинающим разработчикам, работающим с платформой Windows.
Serghei Iakovlev "Chaos engineering in action"Fwdays
Let's talk about what chaos engineering is and how this discipline can be applied in projects where PHP is used as the main language.
Among other things, we will cover the following topics:
What problems does chaos engineering solve?
What are the solutions exist?
How to develop your own solution?
What is a controlled failover?
A little about ZendEngine and what tools are out of the box?
A bit about chaos design.
A bit about the code leading to chaos.
Этюды о буферизации: асинхронные оповещения, репликация обновлений, объединен...corehard_by
Практика разработки конкретного приложения может приводить к постановке задачи, которая, в зрелом размышлении, оказывается достаточно общей, чтобы вычленить её в абстракцию, потенциально полезную для множества различных приложений. Приведение решения к виду, пригодному для многократного применения, в отличие от решения, отвечающего нуждам конкретного приложения, требует дополнительных мыслительных усилий по выделению вариативных аспектов задачи, и по их моделированию средствами языка. В докладе представлен опыт реализации трёх абстракций, объединенных общей темой — буферизацией данных при многопоточной обработке. Показан ход мысли от анализа задачи до реализации средствами языка C++17.
There are a lot of things in multi-threading world, which we, as engineers, have to consider while developing applications. During Golang Odesa #TechTalks we will talk about three main problems – data races, race conditions, and deadlocks. Also, we will discuss how to avoid fantom bugs and do not shoot yourself in the foot while developing Golang applications
About speaker:
Oleksandr Karlov is Golang Team Lead at Lohika. Currently, Oleksandr is working on SLO project, which helps engineers to control reliability of their services. Before that he worked on CDN and statistics platform.
Так бывает, что иногда ваше приложение начинает долго выполнять казалось бы обыденные задачи и потреблять большое количество оперативной памяти. А вы как разработчик и понятия не имеете, почему же так происходит (но вам интересно). В ходе доклада поговорим о средствах, которые могут нам понять причины странного поведения наших программ. Если не боитесь таких слов как Valgrind, gprof, gperftools и многих других - добро пожаловать!
4 года разрабатывает видеостриминговый сервер эрливидео и в этом докладе расскажет о некоторых отличительных возможностях Erlang, которые позволяют быстро развиваться и поддерживать высочайшее качество ПО минимальными усилиями.
PHP libevent Daemons. A high performance and reliable solution. Practical exp...Arvids Godjuks
It is considered (rigthly in most cases) that it's a bad manner to implement a daemon using PHP. It's OK for prototyping but no-no for production. That were our thoughts when we've started to implement a new version of browser game. It was planned to describe an interface to communicate with daemon that will be then rewritten in pure C.
However, fist libevent PHP daemon performance tests forced us to think if we really need to rewrite it in C. What was the performance? Are there memory leaks? All these will be covered in the speech.
You will also learn about problems, features and how a real project results.
Windbg: когда у нас не воспроизводится. Александр Головач ➠ CoreHard Autumn ...corehard_by
На практике возникают проблемы, которые невозможно воспроизвести и исследовать на стороне разработчика. В таких ситуациях порой бывает невозможно даже организовать удаленный доступ к машине. Во время доклада будут рассмотрены и даны советы по отладке типовых задач таких как аварийное завершение, утечка ресурсов и ошибки синхронизации в многопоточных приложениях. Мы будем использовать отладчик Windbg. Доклад будет интересен в первую очередь начинающим разработчикам, работающим с платформой Windows.
2. ● Немного истории
● Обзор языка
● Многопоточность
● Устойчивость к ошибкам
● Распределенность
● Горячее обновление
● Live Coding: сервис сокращенных ссылок
● OTP фреймворк
● Сфера применения. Истории успеха.
● Импровизация по другим темам :)
yzh44yzh.com
3. Немного истории
● Ericsson 70-e годы. Язык и ОС PLEX
● 1985 г – исследование существующих языков
● 1987 г – началась разработка Erlang
● 1995 г – релиз Erlang
● 1996 г – релиз OTP
● 1998 г – Erlang/OTP выпущены в open source
● 2006 г – рост популярности платформы
yzh44yzh.com
4. Обзор языка.
● Многопоточность
● Устойчивость к ошибкам
● Распределенность
● Горячее обновление
yzh44yzh.com
5. Обзор языка.
● Erlang Run-Time System (ERTS)
● Sheduler
● I/O
● Garbage Collector
yzh44yzh.com
6. Обзор языка. Многопоточность.
● Shared memory with locks? Нет (ну почти нет)
● Software transactional memory? Нет (ну почти нет)
● Futures, Promises и подобное? Нет
● Message Passing – это оно :)
yzh44yzh.com
7. Обзор языка. Многопоточность.
run() ->
Pid = spawn(fun ping/0),
Pid ! self(),
receive
pong -> ok
end.
ping() ->
receive
From -> From ! pong
end.
yzh44yzh.com
8. Обзор языка. Устойчивость к ошибкам.
Defensive Programming – не нужно
Try … catch – не нужно
yzh44yzh.com
25. OTP фреймворк. application.
Directory Structure:
● src -- contains the Erlang source code.
● ebin -- contains the Erlang object code, the beam files.
● include -- used for include files.
● priv -- used for application specific files.
yzh44yzh.com
27. Сфера применения.
Долгоживущие сервеные приложения, обеспечивающие
коммуникацию большого числа пользователей.
● computer telephony
● messaging systems
● retail and commercial banking
● enterprise
● web services
yzh44yzh.com
28. Истории успеха.
AXD301 ATM Switch
● telephony-class 10–160 Gbps ATM switch
● 1.5 million lines of Erlang code
● has been installed in networks all over the world
● largest “Voice over ATM” backbone in the world
● 99.9999999% availability.
● Erlang code was 4 to 10 times shorter than similar
systems written in C/C++, Java, and PLEX
yzh44yzh.com
29. Истории успеха.
CouchDB
● open source database made by Damien Katz
● schema-less replicated document store, storing objects in JSON
format
● and accessed through a RESTful interface.
● first version of CouchDB in C++
● entire C++ code base was replaced with Erlang
● one of the best known Erlang open source applications currently
being used in production systems worldwide.
yzh44yzh.com
30. Импровизация по другим темам :)
● Недостатки языка
● Средства разработки (Emacs, Erlide, ErlGray)
● Книги
● Чем Erlang лучше Scala, чем Scala лучше Erlang?
● Как убедить себя, работодателя, заказчика
использовать Erlang?
● Предложите свою тему :)
yzh44yzh.com