{"id":137772,"date":"2020-02-25T08:53:46","date_gmt":"2020-02-25T08:53:46","guid":{"rendered":"https:\/\/devdays.lt\/?page_id=137772"},"modified":"2021-03-19T13:14:53","modified_gmt":"2021-03-19T13:14:53","slug":"valentin-kononov","status":"publish","type":"page","link":"https:\/\/devdays.lt\/valentin-kononov\/","title":{"rendered":"Valentin Kononov"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;0px||0px||true|&#8221; global_module=&#8221;142342&#8243;][et_pb_row module_id=&#8221;sticky&#8221; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#fc5a1b&#8221; width=&#8221;100%&#8221; max_width=&#8221;2560px&#8221; custom_padding=&#8221;16px||16px||true|&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_text _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; link_font=&#8221;|600|||||||&#8221; link_text_color=&#8221;#FFFFFF&#8221; link_font_size=&#8221;20px&#8221; link_font_size__hover_enabled=&#8221;on|hover&#8221; link_font_size__hover=&#8221;21px&#8221;]<\/p>\n<p style=\"text-align: center;\"><a href=\"\/tickets\/\">Easter Offer: Get 3 For 2 tickets here!<\/a><\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; disabled_on=&#8221;on|on|off&#8221; admin_label=&#8221;Home&#8221; module_id=&#8221;Home&#8221; _builder_version=&#8221;4.0.6&#8243; background_enable_color=&#8221;off&#8221; use_background_color_gradient=&#8221;on&#8221; background_color_gradient_start=&#8221;rgba(10,30,96,0.5)&#8221; background_color_gradient_end=&#8221;rgba(10,30,96,0.5)&#8221; background_color_gradient_overlays_image=&#8221;on&#8221; background_image=&#8221;https:\/\/devdays.lt\/wp-content\/uploads\/2020\/01\/devd-201-1368&#215;855-1.jpg&#8221; custom_margin=&#8221;0px|0px|0px|0px&#8221; bottom_divider_style=&#8221;arrow2&#8243; bottom_divider_color=&#8221;#ffffff&#8221; bottom_divider_height=&#8221;50px&#8221; bottom_divider_flip=&#8221;vertical&#8221; global_module=&#8221;137943&#8243;][et_pb_fullwidth_header text_orientation=&#8221;center&#8221; background_overlay_color=&#8221;rgba(0,43,94,0.63)&#8221; _builder_version=&#8221;4.4.2&#8243; title_font=&#8221;|700|||||||&#8221; title_text_color=&#8221;#ffffff&#8221; title_font_size=&#8221;55px&#8221; background_color=&#8221;rgba(255, 255, 255, 0)&#8221; custom_button_one=&#8221;on&#8221; button_one_text_color=&#8221;#509af5&#8243; button_one_bg_color=&#8221;#ffffff&#8221; button_one_border_color=&#8221;#ffffff&#8221; button_one_font=&#8221;|600|||||||&#8221; button_one_use_icon=&#8221;off&#8221; custom_button_two=&#8221;on&#8221; button_two_text_color=&#8221;#509af5&#8243; button_two_border_color=&#8221;#509af5&#8243; button_two_font=&#8221;|600|||||||&#8221; button_two_icon_color=&#8221;#509af5&#8243; background_layout=&#8221;light&#8221; custom_margin=&#8221;|||&#8221; custom_padding=&#8221;50px||60px||false|false&#8221; button_one_border_color_hover=&#8221;#509af5&#8243; button_one_text_size__hover_enabled=&#8221;off&#8221; button_two_text_size__hover_enabled=&#8221;off&#8221; button_one_text_color__hover_enabled=&#8221;off&#8221; button_two_text_color__hover_enabled=&#8221;off&#8221; button_one_border_width__hover_enabled=&#8221;off&#8221; button_two_border_width__hover_enabled=&#8221;off&#8221; button_one_border_color__hover_enabled=&#8221;on&#8221; button_one_border_color__hover=&#8221;#509af5&#8243; button_two_border_color__hover_enabled=&#8221;off&#8221; button_one_border_radius__hover_enabled=&#8221;off&#8221; button_two_border_radius__hover_enabled=&#8221;off&#8221; button_one_letter_spacing__hover_enabled=&#8221;off&#8221; button_two_letter_spacing__hover_enabled=&#8221;off&#8221; button_one_bg_color__hover_enabled=&#8221;off&#8221; button_two_bg_color__hover_enabled=&#8221;off&#8221;]<\/p>\n<h1>DevDays Europe <span style=\"color: #509bf5;\">2021<\/span><\/h1>\n<div class=\"header-icons-container\">\n<div>\n<p><img class=\"wp-image-124282 aligncenter size-full\" data-src=\"https:\/\/devdays.lt\/testovyj\/assets\/images\/calendar-icon.png\" alt=\"date\" src=\"https:\/\/devdays.lt\/testovyj\/assets\/images\/calendar-icon.png\" \/><\/p>\n<p class=\"header-icons-calendar\">June 8-10<\/p>\n<\/div>\n<div>\n<p><img class=\"wp-image-124282 aligncenter size-full\" data-src=\"https:\/\/devdays.lt\/testovyj\/assets\/images\/venue.png\" alt=\"venue\" src=\"https:\/\/devdays.lt\/testovyj\/assets\/images\/venue.png\" \/><\/p>\n<p class=\"header-icons-venue\">Vilnius and Online<\/p>\n<\/div>\n<\/div>\n<p>[\/et_pb_fullwidth_header][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; custom_padding_last_edited=&#8221;on|tablet&#8221; _builder_version=&#8221;4.0.6&#8243; background_enable_color=&#8221;off&#8221; custom_padding=&#8221;30px|||||&#8221; custom_padding_tablet=&#8221;30px||||false|false&#8221; custom_padding_phone=&#8221;0px||||false|false&#8221;][et_pb_row column_structure=&#8221;2_5,3_5&#8243; _builder_version=&#8221;4.4.2&#8243; background_color=&#8221;#ffffff&#8221; use_background_color_gradient=&#8221;on&#8221; background_color_gradient_start=&#8221;#c6c6c6&#8243; background_color_gradient_end=&#8221;#ffffff&#8221; background_color_gradient_start_position=&#8221;19%&#8221; width_tablet=&#8221;100%&#8221; width_phone=&#8221;&#8221; width_last_edited=&#8221;on|phone&#8221; max_width=&#8221;850px&#8221; custom_margin=&#8221;||15px||false|false&#8221; custom_padding=&#8221;10px|0px|10px|0px|true|true&#8221; border_radii=&#8221;off|3px|3px||&#8221; border_radii_tablet=&#8221;off|0px|0px||&#8221; border_radii_phone=&#8221;&#8221; border_radii_last_edited=&#8221;on|desktop&#8221; box_shadow_style=&#8221;preset1&#8243; locked=&#8221;off&#8221;][et_pb_column type=&#8221;2_5&#8243; _builder_version=&#8221;3.29.3&#8243;][et_pb_image src=&#8221;https:\/\/devdays.lt\/wp-content\/uploads\/2021\/02\/DD_Valentin_Kononov_500x500_round.png&#8221; align=&#8221;center&#8221; _builder_version=&#8221;4.4.2&#8243; max_width=&#8221;80%&#8221; custom_padding=&#8221;0px|||||&#8221;][\/et_pb_image][\/et_pb_column][et_pb_column type=&#8221;3_5&#8243; _builder_version=&#8221;3.29.3&#8243;][et_pb_text _builder_version=&#8221;4.4.2&#8243; text_font=&#8221;|600|||||||&#8221; text_text_color=&#8221;#509af5&#8243; text_font_size=&#8221;30px&#8221; custom_margin=&#8221;30px||||false|false&#8221; custom_margin_tablet=&#8221;&#8221; custom_margin_phone=&#8221;0px||||false|false&#8221; custom_margin_last_edited=&#8221;on|phone&#8221; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1200ms&#8221; text_orientation_tablet=&#8221;&#8221; text_orientation_phone=&#8221;center&#8221; text_orientation_last_edited=&#8221;on|phone&#8221;]<\/p>\n<p>Valentin Kononov<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.4.2&#8243; text_text_color=&#8221;#424242&#8243; text_font_size=&#8221;16px&#8221; custom_padding=&#8221;||10px||false|false&#8221; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1200ms&#8221; animation_delay=&#8221;50ms&#8221; text_orientation_tablet=&#8221;&#8221; text_orientation_phone=&#8221;center&#8221; text_orientation_last_edited=&#8221;on|phone&#8221;]<\/p>\n<p><strong>Position:<\/strong> Fullstack developer<\/p>\n<p><strong>Company:<\/strong> Mapbox<\/p>\n<p><strong>Country:<\/strong> Belarus<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row custom_padding_last_edited=&#8221;on|tablet&#8221; _builder_version=&#8221;4.0.6&#8243; background_color=&#8221;#ffffff&#8221; width_tablet=&#8221;100%&#8221; width_phone=&#8221;&#8221; width_last_edited=&#8221;on|tablet&#8221; max_width=&#8221;850px&#8221; max_width_tablet=&#8221;850px&#8221; max_width_phone=&#8221;&#8221; max_width_last_edited=&#8221;on|tablet&#8221; custom_padding=&#8221;30px|46px|30px|46px|false|true&#8221; custom_padding_tablet=&#8221;|30px||30px|true|true&#8221; custom_padding_phone=&#8221;|20px||20px|false|true&#8221; border_radii=&#8221;off|||3px|3px&#8221; box_shadow_style=&#8221;preset1&#8243;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.29.3&#8243;][et_pb_text _builder_version=&#8221;4.0.6&#8243; text_font=&#8221;|600|||||||&#8221; text_text_color=&#8221;#509bf5&#8243; text_font_size=&#8221;22px&#8221; header_font=&#8221;|600|||||||&#8221; header_text_align=&#8221;left&#8221; header_text_color=&#8221;#002258&#8243; custom_margin=&#8221;||5px|0px&#8221; custom_padding=&#8221;10px|||&#8221; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1200ms&#8221; animation_delay=&#8221;100ms&#8221;]<\/p>\n<p>Biography<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.3.3&#8243; text_font=&#8221;||||||||&#8221; text_font_size=&#8221;15px&#8221; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1200ms&#8221; animation_delay=&#8221;150ms&#8221;]<\/p>\n<p style=\"text-align: justify;\"><span>Valentin works at Mapbox R&amp;D center in Minsk, Belarus, experienced in .NET, Angular, React Native, NodeJS, NestJS and other interesting stuff in full stack software development. He loves modern web technical stack, but strongly believes in understanding of fundamental aspects of programming. He likes code writing, work in amazing and useful projects, which can bring something valuable to people. His spare time is mostly dedicated to his family, reading and writing, and also traveling is important part of his life!<\/span><\/p>\n<p>[\/et_pb_text][et_pb_social_media_follow use_icon_font_size=&#8221;on&#8221; icon_font_size=&#8221;15px&#8221; _builder_version=&#8221;4.3.3&#8243; text_orientation=&#8221;left&#8221; custom_margin=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1200ms&#8221; animation_delay=&#8221;50ms&#8221;][et_pb_social_media_follow_network social_network=&#8221;twitter&#8221; url=&#8221;https:\/\/twitter.com\/@ValentinKononov&#8221; _builder_version=&#8221;4.3.3&#8243; background_color=&#8221;#00aced&#8221; follow_button=&#8221;off&#8221; url_new_window=&#8221;on&#8221;]twitter[\/et_pb_social_media_follow_network][et_pb_social_media_follow_network social_network=&#8221;linkedin&#8221; url=&#8221;https:\/\/www.linkedin.com\/in\/valentin-kononov\/&#8221; _builder_version=&#8221;4.3.3&#8243; background_color=&#8221;#007bb6&#8243; follow_button=&#8221;off&#8221; url_new_window=&#8221;on&#8221;]linkedin[\/et_pb_social_media_follow_network][\/et_pb_social_media_follow][et_pb_text _builder_version=&#8221;4.0.6&#8243; text_font=&#8221;|600|||||||&#8221; text_text_color=&#8221;#021244&#8243; text_font_size=&#8221;20px&#8221; header_font=&#8221;|600|||||||&#8221; header_text_align=&#8221;left&#8221; header_text_color=&#8221;#002258&#8243; custom_margin=&#8221;||5px|0px&#8221; custom_padding=&#8221;10px|||&#8221; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1200ms&#8221; animation_delay=&#8221;100ms&#8221;]<\/p>\n<p>Talk<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.3.3&#8243; text_font=&#8221;||||||||&#8221; text_text_color=&#8221;#ffffff&#8221; header_font=&#8221;|600|||||||&#8221; header_text_color=&#8221;#509bf5&#8243; max_width=&#8221;100%&#8221; custom_margin=&#8221;0px||0px||false|false&#8221; custom_padding=&#8221;0px|||&#8221; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1200ms&#8221; animation_delay=&#8221;100ms&#8221; saved_tabs=&#8221;all&#8221;]<\/p>\n<h1>Runtime Type Safety in Typescript<\/h1>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.3.3&#8243; text_font=&#8221;||||||||&#8221; text_text_color=&#8221;#666666&#8243; text_font_size=&#8221;15px&#8221; custom_padding=&#8221;0px||||false|false&#8221; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1200ms&#8221;]<\/p>\n<p style=\"text-align: justify;\"><span>Nowadays we live in a world of JavaScript, let\u2019s admit it. But have you ever missed compilation and real runtime strong types in JS? I always! And my friendship with web development started only after Typescript usage, which has something like compilation step. But is it real compilation? How we can make one step closer to \u2019strong types\u2019 in web world? Let\u2019s talk about what opportunities we have to emulate this in TS &#8211; runtime checks, validation, decorators to automate it. <\/span><br \/><span>We will about JS in runtime, communication of your code with outer world, runtime checks, decorators and some other stuff. <\/span><\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.0.6&#8243; text_font=&#8221;|600|||||||&#8221; text_text_color=&#8221;#509bf5&#8243; text_font_size=&#8221;22px&#8221; header_font=&#8221;|600|||||||&#8221; header_text_align=&#8221;left&#8221; header_text_color=&#8221;#002258&#8243; custom_margin=&#8221;||5px|0px&#8221; custom_padding=&#8221;10px|||&#8221; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1200ms&#8221;]<\/p>\n<p>Session Keywords<\/p>\n<p>[\/et_pb_text][et_pb_code _builder_version=&#8221;4.3.3&#8243; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1200ms&#8221; animation_delay=&#8221;50ms&#8221;]<\/p>\n<div class=\"flex-grid-session-keys\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"flex-grid-item-keyword\"><!-- [et_pb_line_break_holder] -->  <span class=\"tagas\">&#x1f511;<\/span> <!-- [et_pb_line_break_holder] --> JavaScript<!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"flex-grid-item-keyword\"><!-- [et_pb_line_break_holder] -->  <span class=\"tagas\">&#x1f511;<\/span> <!-- [et_pb_line_break_holder] -->   Typescript<!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] -->   <\/p>\n<div class=\"flex-grid-item-keyword\"><!-- [et_pb_line_break_holder] -->  <span class=\"tagas\">&#x1f511;<\/span> <!-- [et_pb_line_break_holder] -->Runtime Safety<!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][et_pb_divider color=&#8221;rgba(0,0,0,0.11)&#8221; divider_weight=&#8221;2px&#8221; _builder_version=&#8221;4.3.3&#8243; custom_margin=&#8221;||0px||false|false&#8221; custom_padding=&#8221;10px||0px||false|false&#8221;][\/et_pb_divider][et_pb_text _builder_version=&#8221;4.3.3&#8243; text_font=&#8221;|600|||||||&#8221; text_text_color=&#8221;#0a1e60&#8243; text_font_size=&#8221;20px&#8221; header_font=&#8221;|600|||||||&#8221; header_text_align=&#8221;left&#8221; header_text_color=&#8221;#002258&#8243; custom_margin=&#8221;||5px|0px&#8221; custom_padding=&#8221;10px|||&#8221;]<\/p>\n<p><span>Workshop<\/span><\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.3.3&#8243; text_font=&#8221;||||||||&#8221; text_text_color=&#8221;#ffffff&#8221; header_font=&#8221;|600|||||||&#8221; header_text_color=&#8221;#509bf5&#8243; max_width=&#8221;100%&#8221; custom_margin=&#8221;0px||0px||false|false&#8221; custom_padding=&#8221;0px|||&#8221; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1200ms&#8221; animation_delay=&#8221;100ms&#8221; saved_tabs=&#8221;all&#8221;]<\/p>\n<h1>Smells Like an Angular Spirit \u2013 NestJS Backend Framework<\/h1>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.3.3&#8243; text_font=&#8221;||||||||&#8221; text_text_color=&#8221;#666666&#8243; text_font_size=&#8221;15px&#8221; custom_padding=&#8221;0px||||false|false&#8221; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1200ms&#8221;]<\/p>\n<p style=\"text-align: justify;\">This workshop introduce audience into NestJS backend framework.<\/p>\n<p style=\"text-align: justify;\">We will cover such aspects as NestJS API structure, basic concepts, controllers, decorators usage. And even try to get into Authentication, configuration and Docker for NestJS.<\/p>\n<p style=\"text-align: justify;\">But also we will dive deeper into NestJS pipeline for requests handling and capabilities in this area.<\/p>\n<p style=\"text-align: justify;\">During workshop we will have 4 practical coding sections, discussions and knowledge sharing.<\/p>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;\/smells-like-an-angular-spirit\/&#8221; button_text=&#8221;Read more&#8221; _builder_version=&#8221;4.3.3&#8243; custom_button=&#8221;on&#8221; button_text_size=&#8221;15px&#8221; button_text_color=&#8221;#509bf5&#8243; button_border_width=&#8221;0px&#8221; button_font=&#8221;|600|||||||&#8221; button_icon=&#8221;%%24%%&#8221; button_on_hover=&#8221;off&#8221; custom_margin=&#8221;0px|||0px|false|false&#8221; custom_padding=&#8221;0px|||0px|false|false&#8221; button_bg_color__hover_enabled=&#8221;on|hover&#8221; button_bg_color__hover=&#8221;rgba(255,255,255,0)&#8221; button_bg_enable_color__hover=&#8221;on&#8221;][\/et_pb_button][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.0.6&#8243; custom_padding=&#8221;50px||||false|false&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.0.6&#8243;][et_pb_text _builder_version=&#8221;4.4.2&#8243; text_font=&#8221;|700|||||||&#8221; text_text_color=&#8221;#666666&#8243; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1400ms&#8221; animation_delay=&#8221;50ms&#8221; global_module=&#8221;128838&#8243;]<\/p>\n<p style=\"cursor: pointer; text-align: center;\" onclick=\"goBack()\">\u00ab Back<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>DevDays Europe 2021 Valentin Kononov Position: Fullstack developer Company: Mapbox Country: Belarus Biography Valentin works at Mapbox R&amp;D center in Minsk, Belarus, experienced in .NET, Angular, React Native, NodeJS, NestJS and other interesting stuff in full stack software development. He loves modern web technical stack, but strongly believes in understanding of fundamental aspects of programming. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":""},"_links":{"self":[{"href":"https:\/\/devdays.lt\/wp-json\/wp\/v2\/pages\/137772"}],"collection":[{"href":"https:\/\/devdays.lt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/devdays.lt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/devdays.lt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devdays.lt\/wp-json\/wp\/v2\/comments?post=137772"}],"version-history":[{"count":9,"href":"https:\/\/devdays.lt\/wp-json\/wp\/v2\/pages\/137772\/revisions"}],"predecessor-version":[{"id":142416,"href":"https:\/\/devdays.lt\/wp-json\/wp\/v2\/pages\/137772\/revisions\/142416"}],"wp:attachment":[{"href":"https:\/\/devdays.lt\/wp-json\/wp\/v2\/media?parent=137772"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}