8th season of InterLink inCamp. На шляху до профі

Замовники проходять до нас із конкретною метою – перетворити їх ідеї на успішні продукти. Професійний розробник, зі своєї сторони, обирає оптимальні шляхи досягнення поставленої мети. Для цього профі має бачити загальну картину продукту, що розробляє. Він розбирається у всіх важливих ланках системи та в тому, як вони взаємодіють.

Для 8-ї групи інтернів шлях до професіоналізму розпочався з формування чіткого уявлення про роботу веб-додатків. Ми, як Більбо Бегінс, пройшли шлях від браузера аж до бази даних і повернулися назад.


Від форми в браузері до запису в базі даних і назад

Frontend. Ми навчились прикрашати сторінки без зайвих (несемантичних) HTML тегів. Ділити сторінки на колонки та адаптувати дизайн під екрани різних розмірів. На другий тиждень ми взялись за динамічне додавання HTML елементів на сторінку. Почали з простого – виводу списків на екран. Для цього використали декілька допоміжних інструментів. В нас ще не було робочого backend серверу на той час. Тож ми запустили JSON Server для імітації REST API. Замість старого XMLHttpRequest чи jQuery.ajax() відправляли асинхронні запити через новий Fetch API. Тож заразом зачепили Promise-и.

HTTP Server. На 3-й тиждень прийшов час замінити наш фейковий сервер на справжній. Такий справжній, що аж свій власний. Ми написали простий додаток, який очікує на вхідні TCP з’єднання, розбирає структуру HTTP запиту та формує відповідь згідно з протоколом. Так ми переконались в розумінні цих протоколів.

Розібравшись з обробкою простих GET запитів, ми перейшли до задачі, що заполонила весь 3-й тиждень. Фреймворки для створення веб-додатків складаються з різних компонентів. Ми побудували свій простий мікрофреймворк. Так ми виділили його основні компоненти та їх призначення.

Database. До цього наш додаток зберігав всі дані в оперативній пам’яті. Ми замінили звичайні списки на роботу з базою даних на рівні JDBC. Важливою частиною цього завдання було використання інтерфейсів та принципу інверсії залежностей. Обидва сховища реалізовували один інтерфейс. Код обробки HTTP запитів знав лише про існування інтерфейсу. Так ми замінили сховище даних, не чіпаючи обробку запитів.

Frameworks. В нас вже був власний мікрофреймворк. Ми були готові до зустрічі з гігантами. Ми розібралися з компонентами Spring MVC та детально зупинились на процесі запуску веб-додатків на Java. Досвід 3-го тижня допоміг краще зрозуміти взаємодію компонентів Spring MVC.

Нам швидко набридло конвертувати об’єкти в записи в базі даних, а записи назад в об’єкти. Тож ми взялись за Hibernate та детально зупинились на його інтеграції зі Spring. На цьому прикладі ми розібрали, як аспектно-орієнтоване програмування дозволяє спростити створення складних систем.

Ми освоїлись з фреймворками на backend і повернулись в браузер. Для початку ми пригадали переваги односторінкових додатків над класичними. Далі – розглянули, які спільні для всіх задачі вирішують різні SPA фреймворки: Angular, React, Vue.

На інтернатурі ми працюємо з конкретними технологіями: Angular та Spring Framework. Проте я часто провожу аналогії між Spring MVC та Ruby on Rails, між Hibernate та Active Record, між Maven та NPM. Всі вони, здебільшого, схожі між собою та побудовані за спільними принципами. На інтернатурі ми формуємо розуміння цих базових принципів. Надалі вивчення нових технологій, це вже справа техніки.

Не кодом єдиним!

Інтерни не тільки весь час сиділи в компанії frontend-у та backend-у, а й веселились на повну. Брали учать у трансформаційній грі англійською мовою, при цьому занурюючись у потаємні куточки своєї особистості, покращували комунікативні навички та виявляли креативність у різних конкурсах. 

Проходячи програму підготовки, ми проводили ретроспективи наших досягнень та помилок. Кожен тиждень інтерни прикрашали дошку новим графіті назви технології.  

А ще ми генеруємо User Stories для нашого додатку. Мета – за тиждень зробити робочий прототип та презентувати в компанії.

З чого почати

З чого ж варто почати, щоб стати успішним інтерном? По-перше, мітапи, які нададуть тобі не лише теоретичну інформацію, а й допоможуть практично засвоїти матеріал. По-друге, варто завжди пам’ятати про те, що досвід до спеціаліста приходить з практичними навичками, тому слід не втрачати можливості попрактикувати вивчене чи прочитане. А далі – тобі відкриється цікавий та інформативний шлях до інтернатури, де успішні ментори підтримають, порадять та навчать.

А зараз ми вітаємо тих, що вже на цьому зірковому шляху в 8 сезоні! Пишаємося хлопцями та їх успіхами. Команда InterLink бажає вам нових звершень та цікавих задач!

Post A Reply