[et_pb_section fb_built=”1″ disabled_on=”off|off|off” admin_label=”Header” _builder_version=”3.10.1″ parallax=”on” max_width_last_edited=”on|desktop” custom_padding=”0||0|0px|false|false” top_divider_height=”0px”][et_pb_row custom_padding=”27px|0px|0|0px|false|false” _builder_version=”3.10.1″][et_pb_column type=”1_2″ _builder_version=”3.0.47″][et_pb_text _builder_version=”3.19.18″ text_font=”||||||||” text_font_size=”17px” text_line_height=”1.9em” header_font=”|300|||||||” header_font_size=”60px” header_font_size_tablet=”40px” header_font_size_phone=”32px” header_font_size_last_edited=”on|phone” header_line_height=”1.4em” header_2_font=”Roboto|300|||||||” header_2_font_size=”50px” header_2_line_height=”1.2em” header_4_font=”|600|||||||” header_4_text_color=”#666666″ header_4_line_height=”2em” max_width=”136%” custom_margin=”|||” locked=”off”]
Full-day workshop:
Clean TypeScript Workshop
[/et_pb_text][/et_pb_column][et_pb_column type=”1_2″ _builder_version=”3.0.47″][et_pb_image src=”https://romania.voxxeddays.com/wp-content/uploads/2019/04/FotografulTAU-025.jpg” _builder_version=”3.19.18″ border_radii=”on|0%|0%|0%|0%” max_width=”80%”][/et_pb_image][/et_pb_column][/et_pb_row][et_pb_row custom_padding=”41px|0px|22px|0px|false|false” _builder_version=”3.10.1″][et_pb_column type=”4_4″ _builder_version=”3.0.47″][et_pb_text _builder_version=”3.19.18″]
The purpose of this course is to help developers design clean typescript code.
Meaning expressive, concise code that is also flexible and maintainable. The course is a mix of theory, brainstorms and hands-on exercises designed to teach developers practical techniques they can immediately apply to real-world projects.
[/et_pb_text][/et_pb_column][/et_pb_row][et_pb_row custom_padding=”0|0px|0|0px|false|false” _builder_version=”3.10.1″][et_pb_column type=”1_3″ _builder_version=”3.0.47″][et_pb_text _builder_version=”3.19.18″ text_font=”Sansation|300|||||||” link_font=”||||||||” ul_font=”||||||||” ol_font=”||||||||” quote_font=”||||||||” header_font=”||||||||”]
Why this workshop?
The best part of JavaScript is that you can do anything you want. The worst part is that you will…😁
TypeScript got it right though, constraining us towards a more maintainable codebase. However, our frontend code reviews are still heavy: we find ourselves explaining over and over again the same principles and ideas. Join this full-day workshop to learn the best practices we distilled over 3 years of developing Angular2..7 applications.
You should attend to this workshop if you want to:
– Design clean TypeScript code that is simple, expressive and maintainable
– Become more proficient in the fundamental design concepts and principles
– Grow your skills to refactor existing code
– Become proficient in working with asynchronous steps
By solving a series of exercises you will learn how to:
– Break down complex problems in simple patterns
– Avoid over-engineering and rigid code by breaking the design into smaller pieces
– Handle asynchronous tasks elegantly
– Use the full strength of Functional Programming
– Correctly apply OOP to develop well-crafted components
[/et_pb_text][/et_pb_column][et_pb_column type=”1_3″ _builder_version=”3.0.47″][et_pb_text _builder_version=”3.19.18″ text_font=”|300|||||||” custom_margin=”|||65px”]
What will you learn?
- Principles: SRP, DRY, KISS
- Clean Functions: signatures, length, boolean parameters, and more.
- Functional Programming in TS: make smart use of array functions, passing a function
- Asynchronous Code: best practices for elegant, maintainable code; async-await
- Observables: understanding and working with custom observables
- Types and OOP to develop components cleanly
- Bonus: Generating TS classes and ng services from Swagger definitions.
[/et_pb_text][/et_pb_column][et_pb_column type=”1_3″ _builder_version=”3.0.47″][et_pb_text _builder_version=”3.19.18″ text_font=”Sansation|300|||||||” link_font=”||||||||” ul_font=”||||||||” ol_font=”||||||||” quote_font=”||||||||” header_font=”||||||||”]
Who are the trainers?
This workshop will be conducted by two trainers:
Victor Rentea is one of the top Independent Trainers in Romania, having trained by now 1300+ developers in 30+ companies. He is Lead Architect at IBM, where he practices TDD, Pair Programming, Clean Code and Refactoring every day. For the community, he organized the largest 3 Bucharest Java User Group meetups in history, and last year he founded the Bucharest Software Craftsmanship Community in which he runs free webinars about clean code, refactoring and TDD. Today, Victor is regularly called by companies of all sizes to help seed the Software Craftsmanship ideology and eXtreme Programming practices into their technical culture. As a speaker, Victor is now regularly invited at the top international conferences: his live-coding sessions are insane, lightning-fast but well crafted, full of enthusiasm, deep insights and take-away tips. To learn more about/from him, follow his daily thoughts on LinkedIN, Facebook or Twitter, or check out http://victorrentea.ro.
Marian is a talented Fronted Developer with Full-Stack experience. Despite being at the start of his career, he already successfully tech-lead the development of 3 projects at IBM, and is currently in charge of leading one the largest projects of IBM Romania. He is an avid learner always striving to understand the deep philosophy of frameworks, and a remarkable developer, having developed several reusable libraries and tools (one of which you’ll briefly see at the workshop).
Who is it for?
Enthusiast developers that have:
– At least several years of experience with Frontend Development
– Prior contact with Angular2+ is recommended, but not required
– Basic understanding of TypeScript (nice to have)
[/et_pb_text][/et_pb_column][/et_pb_row][/et_pb_section][et_pb_section fb_built=”1″ admin_label=”Speakers” _builder_version=”3.10.1″ background_color_gradient_direction=”121deg” background_size=”initial” background_position=”top_left” custom_padding=”0|0px|54px|0px|false|false”][et_pb_row custom_padding=”0|0px|27px|0px|false|false” _builder_version=”3.8″][et_pb_column type=”4_4″ _builder_version=”3.0.47″][et_pb_text _builder_version=”3.19.18″ text_font=”|300|||||||”]
Technical requirements:
Some prior experience with Angular 2+ and basic understanding of TypeScript in order to follow along with the code examples.
No prior knowledge of any of the frameworks is required since we will go through the basics of each during the workshop.
[/et_pb_text][/et_pb_column][/et_pb_row][et_pb_row custom_padding=”0|0px|27px|0px|false|false” _builder_version=”3.8″][et_pb_column type=”4_4″ _builder_version=”3.0.47″][et_pb_text _builder_version=”3.16.1″ text_font=”|300|||||||”][/et_pb_text][et_pb_button button_url=”https://romania.voxxeddays.com/product/combo-conference-day-clean-typescript-full-day-workshop-voxxed-days-frontend-2019/” url_new_window=”on” button_text=”Buy combo ticket ” button_alignment=”center” _builder_version=”3.19.18″ custom_button=”on” button_text_size=”20px” button_text_color=”#ffffff” button_bg_color=”#18b9f0″ button_border_width=”8px” button_border_color=”rgba(0,0,0,0)” button_border_radius=”0px” button_letter_spacing=”0px” button_font=”|700||on|||||” button_use_icon=”off” box_shadow_style=”preset1″ custom_margin=”40px|||” button_text_color_hover=”#ffffff” button_border_radius_hover=”100px” button_letter_spacing_hover=”3px” locked=”off” button_text_size__hover_enabled=”off” button_one_text_size__hover_enabled=”off” button_two_text_size__hover_enabled=”off” button_text_color__hover_enabled=”on” button_text_color__hover=”#ffffff” button_one_text_color__hover_enabled=”off” button_two_text_color__hover_enabled=”off” button_border_width__hover_enabled=”off” button_one_border_width__hover_enabled=”off” button_two_border_width__hover_enabled=”off” button_border_color__hover_enabled=”off” button_one_border_color__hover_enabled=”off” button_two_border_color__hover_enabled=”off” button_border_radius__hover_enabled=”on” button_border_radius__hover=”0px” button_one_border_radius__hover_enabled=”off” button_two_border_radius__hover_enabled=”off” button_letter_spacing__hover_enabled=”on” button_letter_spacing__hover=”0px” button_one_letter_spacing__hover_enabled=”off” button_two_letter_spacing__hover_enabled=”off” button_bg_color__hover_enabled=”off” button_one_bg_color__hover_enabled=”off” button_two_bg_color__hover_enabled=”off”][/et_pb_button][/et_pb_column][/et_pb_row][et_pb_row custom_padding=”27px|0px|0|0px|false|false” _builder_version=”3.8″][et_pb_column type=”4_4″ _builder_version=”3.0.47″][et_pb_text _builder_version=”3.19.18″ text_font=”||||||||” text_font_size=”20px” text_line_height=”1.9em” header_font=”||||||||” header_2_font=”Roboto|300|||||||” header_2_font_size=”50px” header_2_font_size_tablet=”40px” header_2_font_size_phone=”32px” header_2_font_size_last_edited=”on|phone” header_2_line_height=”1.2em” max_width=”700px” max_width_last_edited=”on|desktop” locked=”off”]
Speakers
[/et_pb_text][/et_pb_column][/et_pb_row][et_pb_row _builder_version=”3.8″][et_pb_column type=”1_2″ _builder_version=”3.0.47″][et_pb_team_member name=”VICTOR RENTEA” position=”Independent Technical Trainer + Architect @ IBM” image_url=”https://voxxedromania.ams3.cdn.digitaloceanspaces.com/2019VDBUH/speakers/victor-rentea-700.jpg” _builder_version=”3.19.18″ header_level=”h5″ header_font=”Roboto||||||||” header_text_align=”center” header_font_size=”24px” header_line_height=”1.2em” body_font=”||||||||” body_text_align=”center” body_font_size=”16px” body_line_height=”1.9em” border_radii_image=”on|100%|100%|100%|100%” text_orientation=”left” max_width=”56%” animation_direction=”bottom” locked=”off”][/et_pb_team_member][/et_pb_column][et_pb_column type=”1_2″ _builder_version=”3.0.47″][et_pb_team_member name=”MARIAN STANCIU” position=”Frontend Developer @ IBM” image_url=”https://voxxedromania.ams3.cdn.digitaloceanspaces.com/2019FRONTEND/speakers/marian-stanciu-700ok.jpg” _builder_version=”3.19.18″ header_level=”h5″ header_font=”Roboto||||||||” header_text_align=”center” header_font_size=”24px” header_line_height=”1.2em” body_font=”||||||||” body_text_align=”center” body_font_size=”16px” body_line_height=”1.9em” border_radii_image=”on|100%|100%|100%|100%” text_orientation=”left” max_width=”56%” animation_direction=”bottom” locked=”off”][/et_pb_team_member][/et_pb_column][/et_pb_row][et_pb_row _builder_version=”3.11.1″][et_pb_column type=”4_4″ _builder_version=”3.11.1″][et_pb_button button_url=”https://romania.voxxeddays.com/frontend/#speakers” url_new_window=”on” button_text=”SEE ALL OUR SPEAKERS” button_alignment=”center” _builder_version=”3.19.18″ custom_button=”on” button_font=”||||||||” button_use_icon=”off” box_shadow_style=”preset1″ button_text_color_hover=”#ffffff” button_bg_color_hover=”#18b9f0″ button_text_size__hover_enabled=”off” button_one_text_size__hover_enabled=”off” button_two_text_size__hover_enabled=”off” button_text_color__hover_enabled=”on” button_text_color__hover=”#ffffff” button_one_text_color__hover_enabled=”off” button_two_text_color__hover_enabled=”off” button_border_width__hover_enabled=”off” button_one_border_width__hover_enabled=”off” button_two_border_width__hover_enabled=”off” button_border_color__hover_enabled=”off” button_one_border_color__hover_enabled=”off” button_two_border_color__hover_enabled=”off” button_border_radius__hover_enabled=”off” button_one_border_radius__hover_enabled=”off” button_two_border_radius__hover_enabled=”off” button_letter_spacing__hover_enabled=”off” button_one_letter_spacing__hover_enabled=”off” button_two_letter_spacing__hover_enabled=”off” button_bg_color__hover_enabled=”on” button_bg_color__hover=”#18b9f0″ button_one_bg_color__hover_enabled=”off” button_two_bg_color__hover_enabled=”off”][/et_pb_button][/et_pb_column][/et_pb_row][/et_pb_section]