Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NETGoSharp
Наша команда в DevExpress недавно выпустила Preview версию нового продукта, RTF web-редактора – ASPxRichEdit.
Продукт требует высокой отзывчивости на действия пользователя и максимальной производительности. Поэтому клиент получился «толстым» в отличие от «тонких клиентов» большинства бизнес-приложений.
В составе продукта два полнофункциональных компонента - клиентский и серверный текстовые процессоры. Оба компонента работают независимо друг от друга. Клиентская часть создавалась как оптимизированная версия серверного компонента, переписанного с .NET на TypeScript.
Клиентская часть не уступает в сложности серверной. Кроме того, возникают дополнительные проблемы синхронизации состояний моделей на клиенте и сервере и глубокого тестирования клиент-серверного взаимодействия.
В этом докладе вы узнаете, как мы разрабатывали этот продукт, какие проблемы встретили и какие методики тестирования использовали.
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NETGoSharp
Наша команда в DevExpress недавно выпустила Preview версию нового продукта, RTF web-редактора – ASPxRichEdit.
Продукт требует высокой отзывчивости на действия пользователя и максимальной производительности. Поэтому клиент получился «толстым» в отличие от «тонких клиентов» большинства бизнес-приложений.
В составе продукта два полнофункциональных компонента - клиентский и серверный текстовые процессоры. Оба компонента работают независимо друг от друга. Клиентская часть создавалась как оптимизированная версия серверного компонента, переписанного с .NET на TypeScript.
Клиентская часть не уступает в сложности серверной. Кроме того, возникают дополнительные проблемы синхронизации состояний моделей на клиенте и сервере и глубокого тестирования клиент-серверного взаимодействия.
В этом докладе вы узнаете, как мы разрабатывали этот продукт, какие проблемы встретили и какие методики тестирования использовали.
основы ооп на языке C#. часть 1. введение в программированиеYakubovichDA
Основы объектно-ориентированного программирования на языке C#. Часть 1. Введение в программирование.
Рассматривается базовые понятие алгоритмов, блок-схем, объектно-ориентированного программирования на базе платформы .NET Framework.
Лабораторные работы (практикум) по программированию на языке C Sharp (СИ решетка). Материал разработан специально для ресурса www.studentam-in.ru на котором Вы можете найти бесплатные учебные материалы и получить качественные образовательные услуги: китайский и английский перевод; репетиторство; заказ курсовых, контрольных; создание презентации, баннера, контента, сайта и многое другое.
Основы ооп на языке C#. Часть 2. базовый синтаксис.YakubovichDA
Рассматриваются базовые понятия и конструкции языка C#:
- структура консольного приложения;
- переменные и типы данных;
- арифметические и логические операторы;
- условные вычисления;
- циклы;
- массивы;
- ввод и вывод данных.
Презентация для курса лекций по программированию на языке C Sharp (СИ решетка). Материал разработан специально для ресурса www.studentam-in.ru на котором Вы можете найти бесплатные учебные материалы и получить качественные образовательные услуги: китайский и английский перевод; репетиторство; заказ курсовых, контрольных; создание презентации, баннера, контента, сайта и многое другое.
Слайды доклада на конференции C++ Corehard Winter 2017 (г.Минск).
Автор доклада давно и успешно использует Модель Акторов при разработке приложений на C++. В основном это был положительный опыт. Но есть некоторые неочевидные моменты, про которые было бы хорошо узнать заранее. О том, где использование Модели Акторов уместно, а где нет, на какие грабли довелось наступить, какие шишки были набиты, как можно упростить себе жизнь и пойдет речь в докладе.
Поговорим о рефлексии в C++, о том, что это такое, для чего нужно и почему это вообще важно. На практическом примере с котами рассмотрим эволюцию подходов к рефлексии в рамках разных версий языка: C++03, C++11/14, C++17. Посмотрим на то, что для нас готовят разработчики нового стандарта, узнаем где и как можно "пощупать" эти новые возможности. Поделимся полезными утилитами и подходами, которые облегчат жизнь пока эти новые возможности не придут к вам на проект.
основы ооп на языке C#. часть 1. введение в программированиеYakubovichDA
Основы объектно-ориентированного программирования на языке C#. Часть 1. Введение в программирование.
Рассматривается базовые понятие алгоритмов, блок-схем, объектно-ориентированного программирования на базе платформы .NET Framework.
Лабораторные работы (практикум) по программированию на языке C Sharp (СИ решетка). Материал разработан специально для ресурса www.studentam-in.ru на котором Вы можете найти бесплатные учебные материалы и получить качественные образовательные услуги: китайский и английский перевод; репетиторство; заказ курсовых, контрольных; создание презентации, баннера, контента, сайта и многое другое.
Основы ооп на языке C#. Часть 2. базовый синтаксис.YakubovichDA
Рассматриваются базовые понятия и конструкции языка C#:
- структура консольного приложения;
- переменные и типы данных;
- арифметические и логические операторы;
- условные вычисления;
- циклы;
- массивы;
- ввод и вывод данных.
Презентация для курса лекций по программированию на языке C Sharp (СИ решетка). Материал разработан специально для ресурса www.studentam-in.ru на котором Вы можете найти бесплатные учебные материалы и получить качественные образовательные услуги: китайский и английский перевод; репетиторство; заказ курсовых, контрольных; создание презентации, баннера, контента, сайта и многое другое.
Слайды доклада на конференции C++ Corehard Winter 2017 (г.Минск).
Автор доклада давно и успешно использует Модель Акторов при разработке приложений на C++. В основном это был положительный опыт. Но есть некоторые неочевидные моменты, про которые было бы хорошо узнать заранее. О том, где использование Модели Акторов уместно, а где нет, на какие грабли довелось наступить, какие шишки были набиты, как можно упростить себе жизнь и пойдет речь в докладе.
Поговорим о рефлексии в C++, о том, что это такое, для чего нужно и почему это вообще важно. На практическом примере с котами рассмотрим эволюцию подходов к рефлексии в рамках разных версий языка: C++03, C++11/14, C++17. Посмотрим на то, что для нас готовят разработчики нового стандарта, узнаем где и как можно "пощупать" эти новые возможности. Поделимся полезными утилитами и подходами, которые облегчат жизнь пока эти новые возможности не придут к вам на проект.
In this file, you can ref interview skills and tips with interview questions & answers, other interview skills and tips materials such as: interview thank you letters, types of interview questions
Ігор Карпиленко — PHPStorm for drupal developerLEDC 2016
Розгляд та аналіз інфструментів PHPStorm для drupal розробника: QA tools, Xdebug, Issue Tracking System, Drush, інструменти для роботи з Vagrant, Docker і базами даних. Корисні плагіни.
Все разработчики автоматизированных тестов рано или поздно сталкиваются с проблемой - "то, что есть в тулзе, которую я юзаю, явно не достаточно и надо что-то делать".
Мы поговорим с чего начать и чем продолжить, так чтоб получить действительно хорошее решение для автоматизированного тестирования. Обсудим интеграцию с continues integration и реализации систем репортинга. За опорный пример возьму фреймворк на базе Selenium.
Реклама PVS-Studio - статический анализ кода на языке Си и Си++Andrey Karpov
Этот документ рекламирует статический анализатор PVS-Studio. Описывается, как использование PVS-Studio уменьшит количество ошибок в коде проекта на языке C/C++/C++11 и сократит затраты на тестирование, отладку и сопровождение кода. Приводится большое количество примеров ошибок, найденных анализатором в различных Open-Source проектах. Документ описывает PVS-Studio на момент версии 4.38 от 12 октября 2011 и, как следствие, не отражает возможности следующих версий. Чтобы познакомиться с новыми возможностями, предлагаем посетить сайт продукта <a>http://www.viva64.com</a> или поискать обновленный вариант этой статьи.
анализ кода: от проверки стиля до автоматического тестированияRuslan Shevchenko
Рассказ о истории и использовании в реальной жизни инструментов анализа кода на основе JavaChecker и TermWare
Сопустствующий текст: http://datacenter.gradsoft.ua/files/articles/OSDN2011/
Слайды использовались на краткосрочных курсах повышения квалификации учителей информатики, 2 лекции по 1 час 20 минут.
Изложен опорный (предельно ужатый) материал по основами C++.
Open Source Testing Framework: real project example and best practicesAliaksandr Ikhelis
Summary: Presentation on open source testing frameworks (improved version, more focus on real project example) at Software Engineering Forum 2009 (SEF-1) conference by Aliaksandr Ikhelis. Sponte framework developer and owner is Stanislaw Wozniak, Expedia Limited, UK. Sponte project homepage: http://rubyforge.org/projects/sponte/; http://github.com/swozniak/sponte/tree/master
2. PHP Version: 1.0
Tests Date: 23 February 2010
Candidates' for PHP Developers Tests
Revision History
Date Version Description Author
2/17/2010 1.0 Initial version Anton Shevchuk
Public NIX Solutions, Ltd. 2010 Page 2
3. PHP Version: 1.0
Tests Date: 23 February 2010
Candidates' for PHP Developers Tests
Table of Contents
1. PHP ___________________________________________________________________ 4
2. SQL ___________________________________________________________________ 7
3. HTML и CSS _____________________________________________________________ 8
4. JavaScript _____________________________________________________________ 10
Public NIX Solutions, Ltd. 2010 Page 3
4. PHP Version: 1.0
Tests Date: 23 February 2010
Candidates' for PHP Developers Tests
Тесты для претендентов на должность PHP разработчика
1. PHP
1.1 Как расшифровывается аббревиатура PHP?
1.2 Какие из приведенных вариантов подстановки являются верными?
PHP это скриптовый язык, основанный на движке _____. PHP в основном используется для
создания динамического ______, а так же для генерации _____ документов.
PHP, Database, HTML
Zend, HTML, XML
PHP, Web, Static
Zend, Docbook, MySQL
PHP, Image, HTML
Свой вариант:
1.3 Какие из приведенных тегов недопустимы для открытия и закрытия блоков PHP
<?= ?>
<% %>
<! !>
<? ?>
Все перечисленные
Ни один из приведенных вариантов
1.4 Какие из приведенных вариантов недопустимы в PHP
$_10
${“MyVar”}
&$something
$10_somethings
$БД
Все перечисленные
Ни один из приведенных вариантов
1.5 Заполните пропуски в предложении
Оператор ______ вернет «true» только в том случае, если один из операндов «true», но не оба
одновременно.
1.6 В чем отличия вызовов Class::method() и $class->method()?
Первый вариант не соответствует синтаксису PHP
Первый вариант можно использовать только в PHP5
Вызов статического и динамического метода, соответственно
Второй вариант можно использовать, только если $class - объект
Public NIX Solutions, Ltd. 2010 Page 4
5. PHP Version: 1.0
Tests Date: 23 February 2010
Candidates' for PHP Developers Tests
1.7 Каким образом можно преобразовать объект в строку
serialize($object)
print_f($object)
json_encode($object)
sprintf($object)
Все перечисленные
Ни один из приведенных вариантов
1.8 Какой из приведенных вариантов умножает переменную «a» на 4?
$a *= pow (2, 2);
$a >>= 2;
$a <<= 2;
$a += $a + $a;
Все перечисленные
Ни один из приведенных вариантов
1.9 Что выведет приведенный код, если строка браузера будет иметь вид «testscript.php?c=25»
<?php
function process($c, $d = 25)
{
global $e;
$retval = $c + $d - $_GET['c'] - $e;
return $retval;
}
$e = 10;
echo process(5);
?>
25
-5
10
5
0
1.10 Каким образом можно получить данные из следующей формы
<form action="script.php">
<input type="text" name="field"/>
</form>
<?php
?>
Public NIX Solutions, Ltd. 2010 Page 5
6. PHP Version: 1.0
Tests Date: 23 February 2010
Candidates' for PHP Developers Tests
1.11 Напишите PHP функцию для проверки наличия в тексте HTML кода
<?php
/**
* @param string $string
* @return bool
*/
function checkHTML($string) {
}
?>
1.12 Какие нововведения появились в PHP5.3?
Public NIX Solutions, Ltd. 2010 Page 6
7. PHP Version: 1.0
Tests Date: 23 February 2010
Candidates' for PHP Developers Tests
2. SQL
2.1 Как расшифровывается аббревиатура SQL?
2.2 Заполните пропуски в предложении
Оператор _____________ используется для добавления новых записей в таблицу
2.3 Заполните пропуски в предложении
Оператор _____________ используется для добавления либо обновления записей в таблице
2.4 Заполните пропуски в предложении
_________ ________ следует использовать для создания выборки, при которой все записи из
первой таблицы будут включены в выборку, даже если во второй таблице нет соответствующих
им записей
2.5 Заполните пропуски в предложении
_________ ________ следует использовать для создания выборки, в которую попадут записи
имеющие соответствия между первой и второй таблицами
2.6 Как инкрементировать столбец значений в таблице средствами самого SQL?
2.7 У вас есть две одинаковые таблицы «table1» и «table2» с полями «first_name» и «last_name». Как
скопировать все данные с таблицы «table1» в «table2»?
2.8 Что делает следующий запрос к БД
SELECT COUNT(*) FROM TABLE1 INNER JOIN TABLE2
ON TABLE1.ID = TABLE2.ID
Выводит количество различающихся строк в таблицах Table1 и Table2
Выводит количество одинаковых строк в таблицах Table1 и Table2
Выводит цифру 2
Ни один из приведенных вариантов
Public NIX Solutions, Ltd. 2010 Page 7
8. PHP Version: 1.0
Tests Date: 23 February 2010
Candidates' for PHP Developers Tests
3. HTML и CSS
3.1 Как расшифровывается аббревиатура HTML?
3.2 Как расшифровывается аббревиатура CSS?
3.3 Какая ссылка откроется в новом окне?
<a href=”http://google.com” target=”_new”>link</a>
<a href=”http://google.com” window=”_new”>link</a>
<a href=”http://google.com” target=”_blank”>link</a>
<a href=”http://google.com” window=”_ blank”>link</a>
Все перечисленные
Ни один из приведенных вариантов
3.4 Напишите валидный HTML код, который выведет следующий текст
1. Элемент A
2. Элемент B
• Элемент B.1
• Элемент B.2
3. Элемент C
3.5 Напишите любой валидный HTML, используя следующие элементы
<dl><dt><dl><ul><ol><li>
Public NIX Solutions, Ltd. 2010 Page 8
9. PHP Version: 1.0
Tests Date: 23 February 2010
Candidates' for PHP Developers Tests
3.6 Напишите HTML код соответствующий данному CSS селектору
#my p strong {
color:#ff0000;
}
3.7 Напишите HTML код соответствующий данному CSS селектору
.my.friend li li {
background-color:#0f0;
}
3.8 Какие из приведенных CSS атрибутов относятся к CSS3
border-radius
box-shadow
text-shadow
opacity
Все перечисленные
Ни один из приведенных вариантов
Public NIX Solutions, Ltd. 2010 Page 9
10. PHP Version: 1.0
Tests Date: 23 February 2010
Candidates' for PHP Developers Tests
4. JavaScript
4.1 Какие из этих вариантов задают массив из элементов "a", "b"?
var a = new Array("a","b")
var a = { "a", "b" }
var a = ( "a", "b" )
var a = [ "a", "b" ]
var a = "a,b".split(',')
Все перечисленные
Ни один из приведенных вариантов
4.2 Какое событие не вызывается кликом мыши?
onfocus
onclick
onkeydown
onmousedown
Все перечисленные
Ни один из приведенных вариантов
4.3 Какие обработчики событий сработают при клике на div?
div.onclick = function() { alert(1) }
div.onclick = function() { alert(2) }
Только первый
Только второй
Первый, затем второй
Будет сгенерирована ошибка
4.4 Что выведет данный код
var a = new String("Lorem Ipsum");
switch(true) {
case (a instanceof Object):
alert('a is Object');
break;
case (a instanceof Array):
alert('a is Array');
break;
case (a instanceof String):
alert('a is String');
break;
}
a is Object
a is Array
a is String
Будет сгенерирована ошибка
Public NIX Solutions, Ltd. 2010 Page 10
11. PHP Version: 1.0
Tests Date: 23 February 2010
Candidates' for PHP Developers Tests
4.5 Какие из этих вызовов корректно бросят исключение?
throw "Ошибка"
throw new Error("Ошибка")
throw { message: "Ошибка" }
throw Error("Ошибка")
Все перечисленные
Ни один из приведенных вариантов
4.6 Каков будет результат выполнения следующего скрипта?
function f () {alert (f + "; f ()")}; f ();
зацикливание
вывод текста самого скрипта
скрипт не выполнится из-за ошибки
4.7 Как правильно вывести приветствие через 5 секунд после запуска скрипта?
sleep(5); alert("Привет!");
sleep(5000); alert("Привет!");
setTimeout('alert("Привет!")', 5000);
setTimeout(function() {alert("Привет!")}, 5000);
setTimeout(function() {alert("Привет!")}, 5);
Ни один из приведенных вариантов
4.8 Напишите JavaScript код для изменения текста внутри div’a на «Hello World»
<div id=”my”>
Lorem Ipsum …
</div>
Public NIX Solutions, Ltd. 2010 Page 11