Основные понятия связанные с разработкой ПО: просто о сложном.
Лаабе Дмитрий
Генеральный директор и основатель IT-Доминанта, Технический директор, программист портала Айти-Событие.рф", Санкт-Петербург.
Секционный доклад
Экскурс в мир WEB разработки
Дмитрий Лаабе
Генеральный директор и основатель рекрутинговой компании IT-Доминанта
Технический директор и программист
портала Айти-Событие
Россия. Санкт-Петербург
http://it-sobytie.ru/events/3120
О тестировании для HR-менеджеров. Школы тестирования, виды тестирования, инструменты, роли. Об этом в презентации Сергея Атрощенкова, сделанной для мероприятия "7-я международная IT HR конференция «нАйТи ответ!»"
Выступление на "Найди ответ 6" 20 октября 2012.
Аннотация
Я расскажу о чем нужно знать HR'у и рекрутеру, когда он говорит с IT-профессионалами или теми, кто хочет ими стать. В этой среде много тонкостей и незнакомых "не-IT"-человеку терминов: C++, C#, JavaScript, frontend, backend, Ajax, .NET и так далее.
Секционный доклад
Экскурс в мир WEB разработки
Дмитрий Лаабе
Генеральный директор и основатель рекрутинговой компании IT-Доминанта
Технический директор и программист
портала Айти-Событие
Россия. Санкт-Петербург
http://it-sobytie.ru/events/3120
О тестировании для HR-менеджеров. Школы тестирования, виды тестирования, инструменты, роли. Об этом в презентации Сергея Атрощенкова, сделанной для мероприятия "7-я международная IT HR конференция «нАйТи ответ!»"
Выступление на "Найди ответ 6" 20 октября 2012.
Аннотация
Я расскажу о чем нужно знать HR'у и рекрутеру, когда он говорит с IT-профессионалами или теми, кто хочет ими стать. В этой среде много тонкостей и незнакомых "не-IT"-человеку терминов: C++, C#, JavaScript, frontend, backend, Ajax, .NET и так далее.
Алексей Турчаников и Николай Сидоренко выступят с докладом об опыте внедрения автоматизированного тестирования через интерфейс (Web и десктоп) в их проекте: как проходили через целый лес организационных и технических "граблей" и в конце-концов добились своей цели.
В обзоре: SOAP UI, TestComplete, Ranorex, Cucumber, SpecFlow, Robot Framework + RIDE, Selenium WebDriver (Java & C#), White.А также: как не стоит нанимать тестировщиков-автоматизаторов, какой процент тестировщиков не начнет писать тесты, чем ценны тестировщицы-девушки.
- почему PHP программисты снискали дурную славу;
- что делать, чтобы стать хорошим программистом;
- как писать идеальный код;
- что такое командная разработка проекта;
- учет позиции бизнеса при разработке проекта;
- основные задачи, который должен решать программист;
Доклад на hotcode.org о инструментах и методиках которые помогают нам повышать и следить за качеством PHP кода.
Среди затронутых тем:
- Стандарты в коде
- Средства для статического анализа кода.
- Git хуки
- Непрерывная интеграция
- IDE
- Code review
Алексей Турчаников и Николай Сидоренко выступят с докладом об опыте внедрения автоматизированного тестирования через интерфейс (Web и десктоп) в их проекте: как проходили через целый лес организационных и технических "граблей" и в конце-концов добились своей цели.
В обзоре: SOAP UI, TestComplete, Ranorex, Cucumber, SpecFlow, Robot Framework + RIDE, Selenium WebDriver (Java & C#), White.А также: как не стоит нанимать тестировщиков-автоматизаторов, какой процент тестировщиков не начнет писать тесты, чем ценны тестировщицы-девушки.
- почему PHP программисты снискали дурную славу;
- что делать, чтобы стать хорошим программистом;
- как писать идеальный код;
- что такое командная разработка проекта;
- учет позиции бизнеса при разработке проекта;
- основные задачи, который должен решать программист;
Доклад на hotcode.org о инструментах и методиках которые помогают нам повышать и следить за качеством PHP кода.
Среди затронутых тем:
- Стандарты в коде
- Средства для статического анализа кода.
- Git хуки
- Непрерывная интеграция
- IDE
- Code review
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Fwdays
In this talk, we will talk about the evolution of the development of a high-load network cluster for sending push notifications using technologies from Unix / bash and PHP to asynchronous non-blocking multithreaded connections based on Rust / Tokio. Let's talk about the intricacies of Rust development, language features, pitfalls, and ways to quickly learn and use it for web developers with LAMP skills. Let's also talk about Go, Java, and the reasons for our technological decisions.
The talk will be useful for developers wishing to master the latest and popular Rust programming language, functional programming, Haskell ideas with PHP / Python / JavaScript web development experience.
Автоматизированный подход к локализации корпоративных приложенийSoftengi
Доклад Глеба Криштова, члена команды LocServ в Softengi, на конференции для специалистов по локализации ПО Loc Kit 2014.
Доклад ответит на вопрос - как локализовать приложение-"монстр" с миллионами строк кода за рекордный срок в 6 месяцев, сократив при этом расходы на локализацию в более чем три раза?
Глеб в докладе раскрывает секреты создания командой LocServ собственного решения Localization Studio, с какими трудностями столкнулась команда до и во время создания решения и какие проблемы можно решить с помощью LocStudio.
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел КрынецкийJSC “Arcadia Inc”
Краткий экскурс в историю развития PHP как языка программирования с момента зарождения и до наших дней, попытка проследить расширение сферы применения языка и выявить причины, этому способствовавшие, обзор возможностей современного PHP как языка программирования и как стэка технологий для создания мощных программных решений корпоративного уровня.
Доклад будет интересен как начинающим программистам, так и разработчикам с опытом, ещё не освоившим PHP.
Автор доклада: Павел Крынецкий — PHP/Java разработчик, компания Аркадия. Участвовал в разработке веб-проектов корпоративного сектора различной сложности для как для российских, так и зарубежных заказчиков. Профессиональный опыт в IT-индустрии > 7 лет.
Содержание:
1. Вспомним материал прошлого урока.
2. Ада Лавлейс (1815-1852) – первый программист.
3. Языки программирования.
4. Классификация языков программирования.
5. Транслятор.
6. Примеры языков программирования.
7. Объектно-ориентированное программирование.
8. 10 языков программирование, которые стоит изучать.
9. Среда программирования.
10. Cреда разработки Turbo Delphi - основные команды.
11. Запустите Turbo Delphiсоздайте Console Application.
12. Введите текст программы между begin и end; нажмите Run.
13. Как написать программу “Hello, world!”
14. Домашнее задание.
Введение в профессию исследователя приложений без исходных кодовDI GR
Презентация первого подкаста образовательного цикла "Обратная разработка приложений без исходного кода и поиск в них уязвимостей". Аудио-запись находится здесь https://vimeo.com/224742672.
Badoo Desktop: оптимизация приложения на миллион юзеров онлайнSergey Xek
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн. Сергей Аверин, Badoo.
Доклад рассказывает о реально примененных способах оптимизации производительности API компании Badoo для собственных десктоп-приложений: как специфика «много постоянных соединений/однотипные запросы/большая нагрузка» повлияла на стратегию оптимизации производительности.
Что было сделано:
• Планирование архитектуры изначально (fault-tolerance, адаптивные апдейты и тайм-ауты, отказ от попыток восстановления после ошибок для единичных команд).
• Переехали с redis на handlersocket.
• Rate-limiting запросов к демонам.
• Синхронизация записей.
• Асинхронность.
• Записи при достижении порога изменения параметров.
• Профилирование кода, анализ потребления CPU, времени ответа.
• Статистика, статистика и еще раз статистика.
• Pconnect.
Доклад будет интересен:
• системным архитекторам,
• server-side разработчикам.
Similar to Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий. (20)
Алексей Федоров: Количественные исследования в HRIT-Доминанта
"Количеcтвенные исследования в HR"
За последние два года нам в Одноклассниках удалось провести несколько довольно интересных количественных исследований, направленных как на внешний рынок (кандидаты, HR-бренд), так и на наших сотрудников (внутренний HR).
В первой части встречи мы поговорим о том, как измерить собственный HR-бренд, какие метрики вообще существует, какие из них трудно собирать, а какие легко. Я покажу результаты, которые мы получили в наших исследованиях 2015-2016 годов (например вот)
Во второй части мы переключимся на разговор о количественных исследованиях во внутреннем HR. Я расскажу о том, как из простой анкеты «на всех ребят» о печеньках, зарплате, отношениях с начальником и обучении английскому разработать сильный инструмент, направленный как на повышение лояльности сотрудников, так и на их желание рекомендовать вашу компанию своим друзьям и бывшим коллегам.
Доклад будет полезен как HR-специалистам, занимающимся наймом сотрудников и вопросами удержания.
Алексей Федоров, Одноклассники
Алексей Федоров — технический евангелист в Одноклассниках. В прошлом — Java-программист в Oracle. Пятый год занимается организацией профессиональных митапов (JUG.ru, CodeFreeze) и конференций (Joker, JPoint, DotNext, Mobius, HolyJS, Гейзенбаг) для программистов и сочувствующих.
Собственно, на волне конференций и оказался в Одноклассниках, где занимается двумя направлениями — развитием HR-бренда (да, у нас в Одноклассниках работают самые крутые в России специалисты по высоконагруженным Java-серверам!) и HR-исследованиями. Последняя тема возникла довольно естественным путем — оказалось, что количественные маркетинговые исследования, которыми увлекается Алексей, неплохо работают в HR («наши клиенты = наши сотрудники»). Отсюда — опыт и интерес к этой проблематике.
06.09.2016 / Санкт-Петербург
http://www.it-sobytie.ru/events/7550
Рекрутеры не волшебники или Почему клиенты тоже плачут?IT-Доминанта
Рекрутеры не волшебники или Почему клиенты тоже плачут?
Виктория Придатко
Основатель и вдохновитель
VPteam
Алеся Сидорович
Team Lead
VPteam (команда Вики Придатко)
Украина. Киев
Дмитрий Кончаленков "Особенности маркетинга IT продуктов в социальных сетях"IT-Доминанта
Особенности маркетинга IT продуктов в социальных сетях
close
Дмитрий расскажет про выбор подходящих соцсетей для продвижения IT продукта, и особенностях настройки рекламных кампаний в некоторых из них. Вы узнаете что стоит учесть при первом запуске и как оптимизировать кампании в дальнейшем в зависимости от поставленых целей.
Дмитрий Кончаленков
Специалист по интернет маркетингу
JetBrains
Андрей Маркин "Основы маркетинга (продвижения) IT продуктов в поисковых и мед...IT-Доминанта
Основы маркетинга (продвижения) IT продуктов в поисковых и медийных сетях
close
Андрей покажет как настраивать аккаунт, создавать кампании (display network (включая ретаргетинг), поисковая сеть, GSP и так далее), оптимизировать ставки и quality score, а также расскажет о conversion rate optimization.
* Google AdWords 101: настройка аккаунта и создание первой рекламной кампании
* Продвинутые стратегии поисковой и медийной рекламы (ретаргетинг, gmail sponsored promotions, реклама на YouTube)
* Автоматизируй это: управление сложными аккаунтами
Андрей Маркин
Ведущий специалист по контектсной рекламе
Veeam Software
6 самых неприличных поз HR-брендинга и стоит ли им заниматься вообщеIT-Доминанта
Секционный доклад
6 самых неприличных поз HR-брендинга и стоит ли им заниматься вообще
Катерина Дробот
Brand Manager
Intersog
Идеолог и основатель проекта DOU Ревизор
Украина. Киев
http://it-sobytie.ru/events/3120
Цифровой лайфхак, или как посчитать счастье сотрудников: сбор, анализ и предс...IT-Доминанта
Секционный доклад
Цифровой лайфхак, или как посчитать счастье сотрудников: сбор, анализ и представление HR-показателей
Елена Ежова
Директор отдела по организационному развитию
Петер-Сервис
Россия. Санкт-Петербург
http://it-sobytie.ru/events/3120
Повышаем эффективность и прозрачность HR, сокращаем расходыIT-Доминанта
Повышаем эффективность и прозрачность HR, сокращаем расходы
Алина Шарипова
Директор по персоналу
БАРС Груп
Россия. Казань
http://it-sobytie.ru/events/3120#tabs-report
Премирование для IT – фикция или работающий инструмент?IT-Доминанта
Двойной блиц-доклад (40 мин.)
Премирование для IT – фикция или работающий инструмент?
Элеонора Якименко
Директор по управлению персоналом
ОАО «Оркла Брэндс Россия»
Россия. Санкт-Петербург
http://it-sobytie.ru/events/3120#tabs-report
Простые непростые истины бюджетирования или сколько стоит управление персоналом?IT-Доминанта
Блиц-доклад (20 мин.)
Простые непростые истины бюджетирования или сколько стоит управление персоналом?
Элеонора Якименко
Директор по управлению персоналом
ОАО «Оркла Брэндс Россия»
Россия. Санкт-Петербург
Повышают ли ретроспективы проектов результативность команд? (Дмитрий Лазареd)IT-Доминанта
Секционный доклад
Повышают ли ретроспективы проектов результативность команд?
Дмитрий Лазарев
Основатель и тренер
Институт фасилитации Facilitato.ru
Россия. Москва
http://it-sobytie.ru/events/3120#tabs-report
О геймификации серьезно: опыт Veeam (от проблемы до внедрения)IT-Доминанта
Секционный доклад
О геймификации серьезно: опыт Veeam (от проблемы до внедрения)
Александр Ширманов
Director / R&D and Worldwide Support
Veeam Software
Россия. Санкт-Петербург
http://it-sobytie.ru/events/3120
дарья кирпо для найти ответ - публикацияIT-Доминанта
Секционный доклад
HR брендинг: позиционирование компании на рынке труда
Дарья Кирпо
Veeam Software
Россия. Санкт-Петербург
http://it-sobytie.ru/events/3120
HR брендинг: позиционирование компании на рынке труда (часть 1)IT-Доминанта
Секционный доклад
HR брендинг: позиционирование компании на рынке труда
Александр Ширманов
Director / R&D and Worldwide Support
Veeam Software
Россия. Санкт-Петербург
http://it-sobytie.ru/events/3120
HR брендинг: позиционирование компании на рынке труда (часть 1)
Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.
1. Основные понятия, связанные с
разработкой ПО:
просто о сложном
Докладчик: Лаабе Д.Н.
Санкт-Петербург, 2013 год
2. Немного о себе…
1. Опыт в ИТ – 17 лет
2. Преподавание ИТ в СПбГПУ («Политех») – 7 лет
3. Более 10-ти авторских курсов в области WEB разработки
4. Руководство рекрутинговой компанией в сфере ИТ – 9 лет
5. Подготовка ИТ рекрутеров – 7 лет
3. Что нужно знать рекрутеру о разработке ПО
1. Базовые понятия: компьютер, программа, язык
программирования и т. д.
2. Связи между ними: программа-библиотека, клиент-сервер и
т. д.
3. Привязку конкретных технологий к базовым понятиям
4. Этапы разработки ПО и должности с ними связанные:
программист, системный аналитик, тестировщик и т. д.
Помните: Вы рекрутер, а не программист!
4. Что НЕ нужно знать рекрутеру о разработке ПО
1.
Синтаксис языка С++
2.
Как работают паттерны
3.
Всю правду о виртуальных деструкторах
4.
Прочие «важные подробности»
5. Базовые понятия: компьютер и программа
Компьютер (ЭВМ) – устройство
или система, предназначенная
для автоматической обработки
информации.
Программа последовательность
инструкций, предназначенных
для исполнения ЭВМ.
Пойди туда, не
знаю куда…
6. Базовые понятия: операционные системы
Операционная система (ОС) комплекс управляющих
программ, интерфейс между
ЭВМ и прикладными
программами
MS Windows, Unix системы
(Linux, Mac Os, Solaris, FreeBSD,
Ubuntu, HP-UX, AIX), Android и
т.д.
Прикладные программы: офисные пакеты, браузеры и т. п.
Операционная система и системные программы
ЭВМ
7. Базовые понятия: архитектура ПО
1. Одноуровневая: desktop приложение
2. Двухуровневая: клиент-серверное приложение
3. Трехуровневая: клиент-серверное приложение + база
данных
4. Многоуровневая: сложные системы с цепочками вызовов
8. Базовые понятия: клиент-серверное взаимодействие
Сервер - компьютер (или
специальное компьютерное
оборудование), выполняющий
определенные сервисные
функции
запрос
ответ
Клиент – компьютер
отправляющий запросы
серверу
9. Базовые понятия: клиент-серверное ПО
1. Серверное ПО – ПО обеспечивающее обработку запросов от клиентов в
рамках некоторого сервиса
2. Клиентское ПО – ПО взаимодействующее с пользователем, отправляющее
запросы на сервер и принимающее ответы от него
Примеры серверного ПО (Back End):
1. WEB серверы (выдача HTML страниц): MS IIS, Apache, nginx и т. д.
2. FTP серверы (выдача файлов): FTP службы ОС, FileZilla server и т.д.
3. SMTP(почтовые) серверы: MS Exchange, SendMail,
4. И т.д.
Примеры клиентского ПО (Front End):
1. WEB клиенты: Internet Explorer, Google Chrome, Mozilla FireFox и т.д.
2. FTP клиенты: Cute FTP
3. Почтовые клиенты: MS Outlook, The Bat
10. Базовые понятия: Протоколы
Сетевой протокол — набор правил и действий,
позволяющий осуществлять обмен данными
между включёнными в сеть устройствами.
7-ми уровневая модель ISO OSI
TCP/IP –транспортно-сетевой,
HTTP, FTP, SMTP - прикладной
11. Базовые понятия: API
API (интерфейс программирования
приложений) определяет функциональность,
которую предоставляет программа/модуль/
библиотека/ сервис
Детали:
1. API предоставляет набор «рычагов
управления» программой/модулем…
2. Понятия API и протокола близки по смыслу:
и то и другое является абстракцией
функциональности
3. Протокол определяет формат передачи
данных, а API – порядок взаимодействия
Windows API(WinAPI),Linux
Kernel API, OpenGL, DirectX
13. Базовые понятия: Компиляторы и интерпретаторы
Компилятор транслирует программу в машинный код
Интерпретатор непосредственно выполняет написанную программу
14. Базовые понятия: Компиляторы и интерпретаторы
Компилируемые языки программирования:
• Достоинства: скорость работы
• Недостатки: необходимость собирать проект
под каждую платформу
Интерпретируемые языки программирования:
• Достоинства: кроссплатформеность, гибкость
• Недостатки: меньшая производительность
Смешанные (JIT-компиляция) языки
программирования:
• Сочетают преимущества компилируемых и
интерпретируемых
C, С++, Delphi, Fortran, Algol,
Eiffel, COBOL, Pascal, Visual
Basic и др.
Python, PHP, Javascript, Ruby,
Perl и др.
Java, C# и др.
15. Базовые понятия: Языки программирования
Языки программирования общего назначения:
• С++
• Java
• C# и др.
Сценарные(скриптовые) языки программирования:
• Perl
• PHP
• Python
• Ruby
• JavaScript д.р
Цитата из Твиттер: «Когда программисты
придут к власти, целые министерства
заменят на небольшой shell-скрипт.»
16. Базовые понятия: Повторное использование кода
Программист много печатает на клавиатуре, но он не секретарша!
<>
17. Базовые понятия: Повторное использование кода
Подходы к повторному использованию кода:
• Библиотеки программ: статические (lib, a),
динамические(dll,so)
• Процедурное программирование: C и др.
• Объектно-ориентированное программирование: C++,
Java, Ruby и др.
• ООП + библиотеки классов: STL, Qt, JFC
• Компонентно-ориентированное программирование:
COM, CORBA, SOAP, EJB
• Фреймворки (Frameworks)
18. Базовые понятия: Процедурное программирование
Принцип повторного использования:
• Повторно используемый код оформляется как процедура или функция
• Процедура вызывается столько раз, сколько необходимо
19. Базовые понятия: ООП
ООП – парадигма программирования, в
которой основными концепциями являются
классы и объекты…
Или можно сказать, что ООП - это
моделирование объектов посредством
иерархически связанных классов
Простой пример:
И это просто?!
20. Базовые понятия: ООП
1. Каждый класс описывает какой-то объект
2. Класс содержит данные и методы работы с ними
Простой пример:
21. Базовые понятия: компонентное программирование
Принцип действия:
1. Каждый компонент компилируется отдельно от других
2. На стадии выполнения компоненты подключаются динамически
3. Компоненты взаимодействуют друг с другом по стандартизованному
механизму
4. Примеры реализаций: COM, CORBA, SOAP, EJB
22. Базовые понятия: Фреймворки
Фрейворк - каркас программной системы с
определенной структурой и поведением по
умолчанию
Принцип действия:
1. Реализует типовое приложение
2. Позволяет расширять себя под
конкретную задачу
3. Используется для более быстрого
создания однотипных систем
MFC, Qt, wxWidgets,
Django, Rails
23. Базовые понятия: разработка WEB приложений
WEB приложение – частный случай 3-х
уровневой архитектуры приложения
WEB браузер
(тонкий клиент)
JavaScript Developer,
Front End Developer
WEB сервер
PHP Developer,
Java Developer,
Ruby Developer
Сервер БД
DB Developer (SQL)
24. Базовые понятия: разработка WEB приложений
Подходы к разработке:
1. Разработка с «нуля»:
• Серверная: языки PHP, ASP, Java;
• клиентская: HTML, JS, CSS
2. Разработка с использование фреймворков:
• Rails и язык Ruby
• Django и язык Python
• Zend Framework и язык PHP
3. Разработка с использованием CMS: 1С-Битрикс, UMI.CMS,
Joomla, WordPress
25. Базовые понятия: СУБД
СУБД – программное обеспечение для
управления базой данных
Язык запросов – один из важнейших
элементов СУБД
SQL – де-факто стандартный язык запросов
к реляционным БД
MS SQL Server, Oracle DB,
MySQL, SQLLite, MS Access и
др.
26. Что нужно знать о проекте рекрутеру?
1.
2.
3.
4.
5.
6.
7.
8.
9.
Архитектура проекта (уровневость)
Клиентские языки программирования проекта
Серверные языки программирования проекта
Используемые клиентские и серверные библиотеки
Используемые протоколы и API
Используемые фреймворки и(или) CMS
Используемые БД
Используемые IDE (среды разработки)
Какую часть проекта будет писать программист на
конкретной позиции
Ну и, конечно, какие задачи решает проект…
27. Пример вакансии
Senior C++ Developer
Обязанности:
разработка и поддержка решений для безопасности сетей
Требования:
опыт в проектировании и разработке ПО не менее 5-ти лет;
Опыт разработки на уровне winAPI(Win 32),
знание современных операционных систем (Windows);
опыт работы с базами данных (MySQL, H2 и др.);
опыт написания unit-тестов;
опыт работы с системами контроля версий ;
английский язык (технический, навыки переписки и общения);
Желательно:
опыт программирования на Python, Java;
Желательно знание Qt
знания TCP/IP networking, Information security;
28. Базовые понятия: основные этапы разработки ПО
Этап
Кто делает?
Бизнес-моделирование
Бизнес-аналитик
Анализ требований
Системные аналитик
Бизнес-аналитик
Планирование
Руководитель проекта
Разработка архитектуры
Архитектор
Ведущие разработчики
Кодирование
Разработчики
Тестирование и отладка
Тестировщики и
разработчики
Документирование
Технические писатели
Внедрение и
сопровождение
Специалисты по внедрению
и сопровождению
29. Спасибо за внимание!
Контакты:
•
•
•
•
Сайт: http://www.it-dominanta.ru
Телефон: +7 (812) 334-99-90
E-mail: contact@it-dominanta.ru
Адрес: 191186, Санкт-Петербург, Большая морская ул., д.3 (БЦ "Лидваль"), офис 407.
Лаабе Дмитрий
Генеральный директор и
основатель IT-Доминанта
email: Dmitry@it-dominanta.ru