SlideShare a Scribd company logo
1 of 20
www.vrpinc.com
Learning how to cook in
the IT-kitchen.
Recipes from everyday practice
www.vrpinc.com
Introduction:
1) Холодные закуски. UML
2) Правильно готовим
горячее блюдо из Tooling
API.
3) Десерт из Salesforce
Tips and tricks и Sublime
Text Plugins.
Аппетит приходит
во время еды.
ФРАНСУА РАБЛЕ
www.vrpinc.com
UML – холодная закуска ?
• The Unified Modeling
Language (UML) is a
general-purpose modeling
language in the field
of software engineering,
which is designed to
provide a standard way to
visualize the design of a
system ……………
www.vrpinc.com
UML. Что такое UML?
• UML ‒ это язык (язык графический, а не текстовый)
• UML ‒ это язык моделирования
• UML ‒ это унифицированный (не универсальный)
язык моделирования
www.vrpinc.com
UML. Элементы.
• Спецификация
• Визуализация
• Проектирование
• Документирование
www.vrpinc.com
UML. Преимущества. Способы
использования.
• Один язык – понятный всем.
• Графическое упорядочивание мыслей
• Обмен информацией
• Спецификация системы
• Повторное использование архитектурных решений
• Генерация кода
• Имитационное моделирование
www.vrpinc.com
Object
Class
Interface
Collaboration
Actor
Component
Artifact
Node
UML. Сущности
www.vrpinc.com
State
Action
Activity
UML. Сущности
Use case
www.vrpinc.com
Comment
Package (group)
UML. Сущности
www.vrpinc.com
UML. Отношения.
www.vrpinc.com
UML. Классификация диаграмм
•Диаграмма использования (Use Case diagram)
•Диаграмма классов (Class diagram)
•Диаграмма объектов (Object diagram)
•Диаграмма состояний (State chart diagram)
•Диаграмма деятельности (Activity diagram)
•Диаграмма последовательности (Sequence diagram)
•Диаграмма кооперации (Collaboration diagram)
•Диаграмма компонентов (Component diagram)
•Диаграмма развертывания (Deployment diagram)
www.vrpinc.com
UML. Практика. Примеры из жизни
www.vrpinc.com
UML. Практика. Примеры из жизни
www.vrpinc.com
UML. Практика. Примеры из жизни
www.vrpinc.com
UML. Практика. Примеры из жизни
class Class Model
BaseMB
AbstractAddressMB
- client: Client
# editForAllLiveAddress: Boolean = false
# editForAllRegAddress: Boolean = false
# initFlag: boolean = false
# isError: boolean = false
- liveAddress: Address
# liveAddressHelper: AddressHelper
# LOGGER: Logger = Logger.getLogge... {readOnly}
- regAddress: Address
# regAddressHelper: AddressHelper
+ checkAddress(String, Address) : boolean
+ checkErrorToAddresses(Address, Address) : boolean
+ getEditForAllLiveAddress() : Boolean
+ getEditForAllRegAddress() : Boolean
+ getEntity() : Client
+ getLiveAddress() : Address
+ getLiveAddressByClient(Client) : Address
+ getLiveAddressHelper() : AddressHelper
+ getRegAddress() : Address
+ getRegAddressByClient(Client) : Address
+ getRegAddressHelper() : AddressHelper
+ initEntity() : void
+ initLiveAddress() : void
+ initRegAddress() : void
+ isError() : boolean
+ preSubmitAddressesProcessing(Client) : Client
+ redirectToBank() : String
+ redirectToFirm() : String
+ redirectToSoleTrader() : String
+ redirectToSubject() : String
+ setEditForAllLiveAddress(Boolean) : void
+ setEditForAllRegAddress(Boolean) : void
+ setError(boolean) : void
+ setLiveAddressHelper(AddressHelper) : void
+ setRegAddressHelper(AddressHelper) : void
+ updateSubmitNoADF(ActionEvent) : void
FirmAddressMB
+ checkErrorToAddresses(Address, Address) : boolean
+ getLiveAddressByClient(Client) : Address
+ getRegAddressByClient(Client) : Address
+ preSubmitAddressesProcessing(Client) : Client
SubjectAddressMB
+ checkErrorToAddresses(Address, Address) : boolean
+ getLiveAddressByClient(Client) : Address
+ getRegAddressByClient(Client) : Address
+ preSubmitAddressesProcessing(Client) : Client
Client
id_client
is_resident
is_client
unp
personalNumber
outerSystemId
Account
id_account
id_client(FK)
id_currency (FK)
SystemInformation
id_systemInfo
openDate
closeDate
actualDate
BankRelationItem
id_client(FK)
account_type
monthTurnCapit
monthTurnFund
monthTurnFactCapit
monthTurnFactFund
openDate
closeDate
contractDate
contractName
Firm
id_firm
firstName
serviceInfo
www
worker_number
id_address (FK)
dateOpen
Subject
id_subject
birthDay
bloodGroup
firstName
lastName
secondName
sex
inn
id_place (FK)
id_docInfo (FK)
id_address (FK)
id_visa (FK)
Place
id_place
region
settlement
settlementType
Death
id_death
typeDeath
date
DocInfo
id_docInfo
docNumber
series
expireDate
issueDate
Address
id_address
house
street
building
fullAddres
office
post_index
VisaItem
id_visa
number
type
WorkRelation
id_subject(FK)
id_workRelation
workPosition
expirence
contractExpireDate
lineDescription
Sharer
id_firm (FK)
name
fundPart
benefFundPart
Bank
id_bank
firstName
swift
bik
foreName
dateLicense
licenseNumber
is_unpEmpty
id_direction (FK) Direction
id_direction
directionNameAuthority
id_bank (FK)
id_authority
name
isDocument
isLicense
isRegistration
ClientRisk
id_systemInfo (FK)
date
riskLevel
reason
is_manual
ClientCategory
id_systemInfo (FK)
reason
date
category
is_manual
deployment Deployment Model
Server
База Данных Oracle
Адаптер 1
ИКД
БД ИКД
Адаптер 2
Client
browser
БД SC-BANK NT
TCP/IP
TCP/IP
www.vrpinc.com
UML. Salesforce Apex UML
www.vrpinc.com
Tooling API. What is it? Best Practice
www.vrpinc.com
Salesforce: Tips and Tricks.
Практические вопросы (демонстрация):
1) Before insert
2) isPersonAccount
3) For loops soql
4) Datetime
www.vrpinc.com
Salesforce: Sublime Text Plugin.
Демонстрация простого плагина.
www.vrpinc.com
Thank you for
your attention

More Related Content

Similar to IT Kitchen (Artem Levchenko)

Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The BeastAlexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The BeastAlexander Dymo
 
Ф'Yii'лософия
Ф'Yii'лософияФ'Yii'лософия
Ф'Yii'лософияPaul Klimov
 
Alexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the Beast
Alexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the BeastAlexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the Beast
Alexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the BeastAlexander Dymo
 
Programming history. Algorithm
Programming history. AlgorithmProgramming history. Algorithm
Programming history. AlgorithmIhor Porotikov
 
C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.Igor Shkulipa
 
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма..."Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...Yandex
 
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма..."Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...Yandex
 
Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Yandex
 
functional patterns - dotnetconf'11
functional patterns - dotnetconf'11functional patterns - dotnetconf'11
functional patterns - dotnetconf'110xffAA
 
Про качественный поиск
Про качественный поискПро качественный поиск
Про качественный поискAndrew Aksyonoff
 
Специфика тестирования проектов с открытым исходным кодом
Специфика тестирования проектов с открытым исходным кодомСпецифика тестирования проектов с открытым исходным кодом
Специфика тестирования проектов с открытым исходным кодомSQALab
 
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)Ontico
 
Особенности тестирования открытого ПО
Особенности тестирования открытого ПООсобенности тестирования открытого ПО
Особенности тестирования открытого ПОAlexey Lyanguzov
 
Опыт тестирования API САПР платформы
Опыт тестирования API САПР платформыОпыт тестирования API САПР платформы
Опыт тестирования API САПР платформыSQALab
 
SPA инструменты
SPA инструментыSPA инструменты
SPA инструментыRoman Dvornov
 
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...Anthony Marchenko
 

Similar to IT Kitchen (Artem Levchenko) (20)

паскаль
паскальпаскаль
паскаль
 
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The BeastAlexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
 
Python
PythonPython
Python
 
About Python
About PythonAbout Python
About Python
 
Design Principles
Design PrinciplesDesign Principles
Design Principles
 
Ф'Yii'лософия
Ф'Yii'лософияФ'Yii'лософия
Ф'Yii'лософия
 
Alexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the Beast
Alexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the BeastAlexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the Beast
Alexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the Beast
 
Programming history. Algorithm
Programming history. AlgorithmProgramming history. Algorithm
Programming history. Algorithm
 
C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.
 
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма..."Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
 
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма..."Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
 
Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"
 
functional patterns - dotnetconf'11
functional patterns - dotnetconf'11functional patterns - dotnetconf'11
functional patterns - dotnetconf'11
 
Про качественный поиск
Про качественный поискПро качественный поиск
Про качественный поиск
 
Специфика тестирования проектов с открытым исходным кодом
Специфика тестирования проектов с открытым исходным кодомСпецифика тестирования проектов с открытым исходным кодом
Специфика тестирования проектов с открытым исходным кодом
 
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)
 
Особенности тестирования открытого ПО
Особенности тестирования открытого ПООсобенности тестирования открытого ПО
Особенности тестирования открытого ПО
 
Опыт тестирования API САПР платформы
Опыт тестирования API САПР платформыОпыт тестирования API САПР платформы
Опыт тестирования API САПР платформы
 
SPA инструменты
SPA инструментыSPA инструменты
SPA инструменты
 
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
 

More from Yury Bondarau

Minsk lightnng week v2
Minsk lightnng week v2Minsk lightnng week v2
Minsk lightnng week v2Yury Bondarau
 
Under the Covers of Salesforce (Eugene Rusalev)
Under the Covers of Salesforce (Eugene Rusalev)Under the Covers of Salesforce (Eugene Rusalev)
Under the Covers of Salesforce (Eugene Rusalev)Yury Bondarau
 
Apex OOP Patterns (Valery Dvornichenko)
Apex OOP Patterns (Valery Dvornichenko)Apex OOP Patterns (Valery Dvornichenko)
Apex OOP Patterns (Valery Dvornichenko)Yury Bondarau
 
ExactTarget (Dmitry Yasko)
ExactTarget (Dmitry Yasko)ExactTarget (Dmitry Yasko)
ExactTarget (Dmitry Yasko)Yury Bondarau
 
Heroku1 (Alexey Filippov)
Heroku1 (Alexey Filippov)Heroku1 (Alexey Filippov)
Heroku1 (Alexey Filippov)Yury Bondarau
 
Salesforce Summer 14 Release Notes (Alexandra Vilks)
Salesforce Summer 14 Release Notes (Alexandra Vilks)Salesforce Summer 14 Release Notes (Alexandra Vilks)
Salesforce Summer 14 Release Notes (Alexandra Vilks)Yury Bondarau
 
Work.com (Valery Dvornichenko)
Work.com (Valery Dvornichenko)Work.com (Valery Dvornichenko)
Work.com (Valery Dvornichenko)Yury Bondarau
 
Salesforce Security Model (Dmitry Goshko, Igor Haritonovich)
Salesforce Security Model (Dmitry Goshko, Igor Haritonovich)Salesforce Security Model (Dmitry Goshko, Igor Haritonovich)
Salesforce Security Model (Dmitry Goshko, Igor Haritonovich)Yury Bondarau
 

More from Yury Bondarau (8)

Minsk lightnng week v2
Minsk lightnng week v2Minsk lightnng week v2
Minsk lightnng week v2
 
Under the Covers of Salesforce (Eugene Rusalev)
Under the Covers of Salesforce (Eugene Rusalev)Under the Covers of Salesforce (Eugene Rusalev)
Under the Covers of Salesforce (Eugene Rusalev)
 
Apex OOP Patterns (Valery Dvornichenko)
Apex OOP Patterns (Valery Dvornichenko)Apex OOP Patterns (Valery Dvornichenko)
Apex OOP Patterns (Valery Dvornichenko)
 
ExactTarget (Dmitry Yasko)
ExactTarget (Dmitry Yasko)ExactTarget (Dmitry Yasko)
ExactTarget (Dmitry Yasko)
 
Heroku1 (Alexey Filippov)
Heroku1 (Alexey Filippov)Heroku1 (Alexey Filippov)
Heroku1 (Alexey Filippov)
 
Salesforce Summer 14 Release Notes (Alexandra Vilks)
Salesforce Summer 14 Release Notes (Alexandra Vilks)Salesforce Summer 14 Release Notes (Alexandra Vilks)
Salesforce Summer 14 Release Notes (Alexandra Vilks)
 
Work.com (Valery Dvornichenko)
Work.com (Valery Dvornichenko)Work.com (Valery Dvornichenko)
Work.com (Valery Dvornichenko)
 
Salesforce Security Model (Dmitry Goshko, Igor Haritonovich)
Salesforce Security Model (Dmitry Goshko, Igor Haritonovich)Salesforce Security Model (Dmitry Goshko, Igor Haritonovich)
Salesforce Security Model (Dmitry Goshko, Igor Haritonovich)
 

IT Kitchen (Artem Levchenko)

  • 1. www.vrpinc.com Learning how to cook in the IT-kitchen. Recipes from everyday practice
  • 2. www.vrpinc.com Introduction: 1) Холодные закуски. UML 2) Правильно готовим горячее блюдо из Tooling API. 3) Десерт из Salesforce Tips and tricks и Sublime Text Plugins. Аппетит приходит во время еды. ФРАНСУА РАБЛЕ
  • 3. www.vrpinc.com UML – холодная закуска ? • The Unified Modeling Language (UML) is a general-purpose modeling language in the field of software engineering, which is designed to provide a standard way to visualize the design of a system ……………
  • 4. www.vrpinc.com UML. Что такое UML? • UML ‒ это язык (язык графический, а не текстовый) • UML ‒ это язык моделирования • UML ‒ это унифицированный (не универсальный) язык моделирования
  • 5. www.vrpinc.com UML. Элементы. • Спецификация • Визуализация • Проектирование • Документирование
  • 6. www.vrpinc.com UML. Преимущества. Способы использования. • Один язык – понятный всем. • Графическое упорядочивание мыслей • Обмен информацией • Спецификация системы • Повторное использование архитектурных решений • Генерация кода • Имитационное моделирование
  • 11. www.vrpinc.com UML. Классификация диаграмм •Диаграмма использования (Use Case diagram) •Диаграмма классов (Class diagram) •Диаграмма объектов (Object diagram) •Диаграмма состояний (State chart diagram) •Диаграмма деятельности (Activity diagram) •Диаграмма последовательности (Sequence diagram) •Диаграмма кооперации (Collaboration diagram) •Диаграмма компонентов (Component diagram) •Диаграмма развертывания (Deployment diagram)
  • 15. www.vrpinc.com UML. Практика. Примеры из жизни class Class Model BaseMB AbstractAddressMB - client: Client # editForAllLiveAddress: Boolean = false # editForAllRegAddress: Boolean = false # initFlag: boolean = false # isError: boolean = false - liveAddress: Address # liveAddressHelper: AddressHelper # LOGGER: Logger = Logger.getLogge... {readOnly} - regAddress: Address # regAddressHelper: AddressHelper + checkAddress(String, Address) : boolean + checkErrorToAddresses(Address, Address) : boolean + getEditForAllLiveAddress() : Boolean + getEditForAllRegAddress() : Boolean + getEntity() : Client + getLiveAddress() : Address + getLiveAddressByClient(Client) : Address + getLiveAddressHelper() : AddressHelper + getRegAddress() : Address + getRegAddressByClient(Client) : Address + getRegAddressHelper() : AddressHelper + initEntity() : void + initLiveAddress() : void + initRegAddress() : void + isError() : boolean + preSubmitAddressesProcessing(Client) : Client + redirectToBank() : String + redirectToFirm() : String + redirectToSoleTrader() : String + redirectToSubject() : String + setEditForAllLiveAddress(Boolean) : void + setEditForAllRegAddress(Boolean) : void + setError(boolean) : void + setLiveAddressHelper(AddressHelper) : void + setRegAddressHelper(AddressHelper) : void + updateSubmitNoADF(ActionEvent) : void FirmAddressMB + checkErrorToAddresses(Address, Address) : boolean + getLiveAddressByClient(Client) : Address + getRegAddressByClient(Client) : Address + preSubmitAddressesProcessing(Client) : Client SubjectAddressMB + checkErrorToAddresses(Address, Address) : boolean + getLiveAddressByClient(Client) : Address + getRegAddressByClient(Client) : Address + preSubmitAddressesProcessing(Client) : Client Client id_client is_resident is_client unp personalNumber outerSystemId Account id_account id_client(FK) id_currency (FK) SystemInformation id_systemInfo openDate closeDate actualDate BankRelationItem id_client(FK) account_type monthTurnCapit monthTurnFund monthTurnFactCapit monthTurnFactFund openDate closeDate contractDate contractName Firm id_firm firstName serviceInfo www worker_number id_address (FK) dateOpen Subject id_subject birthDay bloodGroup firstName lastName secondName sex inn id_place (FK) id_docInfo (FK) id_address (FK) id_visa (FK) Place id_place region settlement settlementType Death id_death typeDeath date DocInfo id_docInfo docNumber series expireDate issueDate Address id_address house street building fullAddres office post_index VisaItem id_visa number type WorkRelation id_subject(FK) id_workRelation workPosition expirence contractExpireDate lineDescription Sharer id_firm (FK) name fundPart benefFundPart Bank id_bank firstName swift bik foreName dateLicense licenseNumber is_unpEmpty id_direction (FK) Direction id_direction directionNameAuthority id_bank (FK) id_authority name isDocument isLicense isRegistration ClientRisk id_systemInfo (FK) date riskLevel reason is_manual ClientCategory id_systemInfo (FK) reason date category is_manual deployment Deployment Model Server База Данных Oracle Адаптер 1 ИКД БД ИКД Адаптер 2 Client browser БД SC-BANK NT TCP/IP TCP/IP
  • 17. www.vrpinc.com Tooling API. What is it? Best Practice
  • 18. www.vrpinc.com Salesforce: Tips and Tricks. Практические вопросы (демонстрация): 1) Before insert 2) isPersonAccount 3) For loops soql 4) Datetime
  • 19. www.vrpinc.com Salesforce: Sublime Text Plugin. Демонстрация простого плагина.