В лекции рассказано как с помощью деревьев выражений можно создать транслятор, преобразующий код C# в другой язык. Показаны способы создания деревьев выражений, их синтаксический анализ, а также компиляция и исполнение кода. В качестве примера использована библиотека с открытым исходным кодом Camlex, которая использует деревья выражений для трансляции исходного кода в виде лямбда-выражений на языке C# в язык запросов CAML, используемый в платформе Sharepoint. Также освещен обратный процесс преобразования CAML в C# с помощью построения деревьев выражений и кодогенерации.
31 мая – 1 июня в Киеве состоялась конференция HOTCODE 2013.
Сергей Тепляков, эксперт Luxoft Training по .Net, С++ и архитектуре приложений, выступил с докладом «C# Deep Dive».
Тезисы доклада:
«Когда-то в далеком 2002-м году язык C# был прост, как 2 копейки. Но у любого «живого» языка есть одна особенность, приятная и неприятная одновременно — в язык начинают добавляться новые возможности, чтобы наши с вами типовые задачи решались проще и эффективнее. Но с каждой новой возможностью появляются и свои тонкости, незнание которых может лишить столь нужных в нашей жизни конечностей, причем иногда самым изощренным образом. А поскольку язык C# развивается очень динамично, то за время жизни на его просторах появилось много маленьких грабелек, которые мы с вами и научимся обходить ;)».
Теория языков программирования некоторые слайды к лекциямSergey Staroletov
Теория языков программирования (немного об интерпретаторах, триадах, оптимизации, парсерах и прочее)
Compilers construction some lectures of whole course, it covers some methods on interpreters, optimisations, antlr, dsl (introduction)
31 мая – 1 июня в Киеве состоялась конференция HOTCODE 2013.
Сергей Тепляков, эксперт Luxoft Training по .Net, С++ и архитектуре приложений, выступил с докладом «C# Deep Dive».
Тезисы доклада:
«Когда-то в далеком 2002-м году язык C# был прост, как 2 копейки. Но у любого «живого» языка есть одна особенность, приятная и неприятная одновременно — в язык начинают добавляться новые возможности, чтобы наши с вами типовые задачи решались проще и эффективнее. Но с каждой новой возможностью появляются и свои тонкости, незнание которых может лишить столь нужных в нашей жизни конечностей, причем иногда самым изощренным образом. А поскольку язык C# развивается очень динамично, то за время жизни на его просторах появилось много маленьких грабелек, которые мы с вами и научимся обходить ;)».
Теория языков программирования некоторые слайды к лекциямSergey Staroletov
Теория языков программирования (немного об интерпретаторах, триадах, оптимизации, парсерах и прочее)
Compilers construction some lectures of whole course, it covers some methods on interpreters, optimisations, antlr, dsl (introduction)
Курс "Промышленное программирование на Java". Набор лекций 3. "Реляционные базы данных".
Модель предметной области. Подключение к РСУБД из Java.
Spring JDBC.
МФТИ, 2014 год. Лектор - Лаврентьев Федор Сергеевич
* XSLT в качестве языка шаблонов.
* XML для передачи модели в MVC.
* ObjectXPathNavigator помогает совместить типизированные модели и XML.
* Внедряем ASPX веб-формы в MVC.
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NETGoSharp
Наша команда в DevExpress недавно выпустила Preview версию нового продукта, RTF web-редактора – ASPxRichEdit.
Продукт требует высокой отзывчивости на действия пользователя и максимальной производительности. Поэтому клиент получился «толстым» в отличие от «тонких клиентов» большинства бизнес-приложений.
В составе продукта два полнофункциональных компонента - клиентский и серверный текстовые процессоры. Оба компонента работают независимо друг от друга. Клиентская часть создавалась как оптимизированная версия серверного компонента, переписанного с .NET на TypeScript.
Клиентская часть не уступает в сложности серверной. Кроме того, возникают дополнительные проблемы синхронизации состояний моделей на клиенте и сервере и глубокого тестирования клиент-серверного взаимодействия.
В этом докладе вы узнаете, как мы разрабатывали этот продукт, какие проблемы встретили и какие методики тестирования использовали.
GraphQL API: Patterns | Андрей Чиж | Zlit TechZlit
Это некий список шаблонов, подходов и рекомендаций при разработке API (включая опыт, ошибки из реальной жизни, как не упустить задел на будущее etc), который можно рассматривать как определенный "code style" для API.
Любая команда в любой компании открывает этот доклад / репозиторий в гитхаб и проектирует крутой API без детских ошибок, с легкой возможностью раcширять функционал и в котором учтены потребности бекенда и фронтенда.
Курс "Промышленное программирование на Java". Набор лекций 3. "Реляционные базы данных".
Модель предметной области. Подключение к РСУБД из Java.
Spring JDBC.
МФТИ, 2014 год. Лектор - Лаврентьев Федор Сергеевич
* XSLT в качестве языка шаблонов.
* XML для передачи модели в MVC.
* ObjectXPathNavigator помогает совместить типизированные модели и XML.
* Внедряем ASPX веб-формы в MVC.
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NETGoSharp
Наша команда в DevExpress недавно выпустила Preview версию нового продукта, RTF web-редактора – ASPxRichEdit.
Продукт требует высокой отзывчивости на действия пользователя и максимальной производительности. Поэтому клиент получился «толстым» в отличие от «тонких клиентов» большинства бизнес-приложений.
В составе продукта два полнофункциональных компонента - клиентский и серверный текстовые процессоры. Оба компонента работают независимо друг от друга. Клиентская часть создавалась как оптимизированная версия серверного компонента, переписанного с .NET на TypeScript.
Клиентская часть не уступает в сложности серверной. Кроме того, возникают дополнительные проблемы синхронизации состояний моделей на клиенте и сервере и глубокого тестирования клиент-серверного взаимодействия.
В этом докладе вы узнаете, как мы разрабатывали этот продукт, какие проблемы встретили и какие методики тестирования использовали.
GraphQL API: Patterns | Андрей Чиж | Zlit TechZlit
Это некий список шаблонов, подходов и рекомендаций при разработке API (включая опыт, ошибки из реальной жизни, как не упустить задел на будущее etc), который можно рассматривать как определенный "code style" для API.
Любая команда в любой компании открывает этот доклад / репозиторий в гитхаб и проектирует крутой API без детских ошибок, с легкой возможностью раcширять функционал и в котором учтены потребности бекенда и фронтенда.
7. Примеры операций в CAML
Обозначение операции в CAML Название
Eq Равно
Neq Не равно
Geq Больше или равно
Gt Больше
Leq Меньше или равно
Lt Меньше
BeginsWith Начнается с
Contains Содержит
IsNotNull Проверка на непустое значение
IsNull Проверка на пустое значение
And Логическое И
Or Логическое ИЛИ
27. Явное преобразование типа к object
для типов-значений
Output: 1
Expression of type 'System.Int32' cannot be used
for return type 'System.Object'
Output: 1