Олександр Котов' Post

19th Season of InterLink inCamp

Перші 2 місяці інтернатури пройшли в онлайн режимі. Підтримувати зв’язок нам допомагали два канали комунікації. В Slack інтерни могли звертатися за допомогою. Готових прийти на поміч інтернів було більше, ніж питань, тож зазвичай відповідь знаходили ще до того, як я встигав відреагувати на запитання. Також кожен день вcя група збирались в Zoom на спільний огляд результатів роботи. Кожен інтерн демонстрував роботу виконаного завдання та пояснював, як воно реалізоване в коді. В результаті інтерни навчалися на чужих помилках, могли бачити різні варіанти вирішення задачі та практикували свої здібності як доповідачі. Для спільного доступу до матеріалів сезону ми запустили сайт з лекціями та практичними завданнями. Частина лекції 19-го та 18-го сезонів вже доступна на сайті курсу інтернатури

З кожним сезоном я частково змінюю практичні завдання для інтернів. Інтерни 19 сезону практикувалася працювати з масивами в Java, створюючи консольні хрестики-нолики. Потім ця гра стала основою для практики з ООП. Разом з завданням реалізувати зв’язний список вони показали, які ж проблеми вирішує інкапсуляція. Ця ж гра стали прикладом для мережевої взаємодії в Java. Далі REST API на Spring Boot, HTML/CSS, JavaScript та Angular. Тут все по класиці – тренувалися на todo list-ах. Таким чином за 2 місяці full time підготовки в онлайн форматі ми пройшли необхідний мінімум full stack розробника. 

Після завершення ремонту в нашому офісі на Гоголя ми змогли перейти до другого етапу інтератури – командного проекту.

img															<p><a href=Читати далі


18 Season of InterLink inCamp – The last stage

Завершальний місяць інтернатури наші майбутні розробники працювали над командним проектом. Він приніс інтернам багато викликів, знайомство з новими підходами та технологіями. А тепер давайте про все по черзі. 

Мабуть найбільшим челенджем для інтернів стало знайомство з чистою архітектурою. Такий підхід до побудови бекенду використовуються на наших ентерпрайз проектах, тож ми вирішили ще з інтернатури починати звикати до нього. Першоджерелами є стаття Роберта Мартіна (a.k.a. Uncle Bob) The Clean Architecture а також гайд Івана Павловича. Іван створив шаблон для ASP.Net Core за принципами Clean Architecture, який ми взяли за основу проекту. На початку було важко зрозуміти навіщо все так ускладнювати і розібратися де які класи створювати. Та вже під кінець інтернатури наш код почав приймати форми, що вже нагадувала Чисту Архітектуру :). 

Img 8215 2

Читати далі



16th season of InterLink inCamp. Second month

Подбиваем итоги второго месяца 16 сезона интернатуры. Обучение в режиме фулл-тайм начали с погружение в Java. За 2 дня прошли все простые задачи по Java на HackerRank. Потом взялись за ООП, юнит тесты и попробовали на практике 3 шаблона проектирования: шаблонный метод, стратегию и композит. Почему именно эти 3? Потому что именно они чаще всего используются при работе с разными фреймворками. Spring весь пропитан “стратегией” и “шаблонным методом”. А SPA фрейворки (Angular, React, Vue) – это один сплошной “композит” из компонентов и шаблонного метода (это уже про lifecycle hooks). 

Дальше нам надо было разобраться с Angular. В нем есть несколько важных концептов: роутинг, подписка на события в компонентах, обработка HTTP запросов, и реактивные (динамических, настраиваемых в коде компонента) формы. Все они построены на базе обозреваемых потоков событий с использованием библиотеки RxJS. RxJS, в свою очередь, это микс реактивного программирования с применением функционального подхода в описании операций над потоком событий. Большинство операторов в RxJS – это функции, которые принимают функцию обработки события в потоке, а возвращают функцию преобразования потока. 

Читати далі


16th season of InterLink inCamp. First month

В 16 сезоне интернатуры мы пробуем новый формат. Первый этап подготовки проходит удаленно. Ребята дома самостоятельно изучают материал. По введению в HTML/CSS и разработке JSON REST API на Node.js я уже записал несколько видео. Остальные темы проходим по отобранным в сети материал. Со временем видео запишем и по ним. Каталог статей и видео еще в зачаточном состоянии. Когда наполним контентом – опубликуем в общий доступ. Альфа-тестировщики приветствуются ;).

Помимо теории у нас, конечно же, были практические задания. Их мы разбирали на периодических встречах в офисе. Собирались минимум два раза в неделю. Кто-то ходил на все, кто-то через раз – тут уже кому как время позволяло. Для тех, кто не смог прийти,

Читати далі


JWT for auth and more

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

Для вирішення обох задач використовують JSON Web Token (JWT). Саме він і став героєм нашого жовтневого мітапу. Із запису доповіді ви дізнаєтесь про:
🔐 Силу stateless аутентифікації та авторизації;
⏳ Корисні трюки з JWT;
🍃 Рецепт налаштування Spring Security в мікросервісній архітектурі.

JWT for auth and more (PDF)

JWT auth in microservice architecture (PDF)

Читати далі


InterLink Hackathon Sep 2019

2-й раз мы даем студентам возможность воплотить в жизнь свои идеи, получить консультации от наших менторов и посоревноваться за первенство в создании прототипов приложений. Мы решили не вводить ограничения на идеи и технологии и посмотреть что получиться. И вот, суббота, 10:00, я приветствую ребят, напоминаю критерии победителей. 10:15 – Макс Березовский советует сконцентрироваться на основной фиче приложения, забить на логинку и регистрацию. И понеслось.

[slide-anything id=’3910′]

Читати далі


15th Season of InterLink inCamp

Как и с прошлыми группами интернатуры, мы начали с изучения фронтенда и постепенно шли к бекенду. И конечно, мы стремимся обновлять нашу программу и подходы в подготовке. О всех новинках текущего набора читайте дальше в статье.

Прикладное реактивное программирование

Еще на этапе индивидуальной подготовки мы сделали акцент на реактивном программировании в Angular. Ребята узнали, как разные операторы из набора Reactive Extensions (Rx) помогают эффективно обрабатывать события в браузере. А конкретно, мы сделали навигацию по списку проектов с параллельным отображением задач из текущего проекта. Эта, простая на первый взгляд задача, становиться гараздо сложнее, когда начинаешь делать ее хорошо:

  • Зажав стрелку вверх/вниз, подсветка текущего проекта должна переключаться со скоростью приблизительно в ½ секунды, чтобы пользователь успел отжать клавишу, дойдя до нужного проекта; 
  • Подсветить выбранный проект при клике мышкой мы должны сразу;
  • При этом получать список задач из проекта надо только после определенной задержки, иначе мы завалим сервер лишними запросами; 
  • И в итоге, список задач надо показать именно для проекта, который выбран сейчас. А не тот список, который пришел в последнем ответе от сервера. Если вы работали с асинхронными запросами в браузере (Ajax), то понимаете, о чем я ;).

Читати далі


13th season of InterLink inCamp. First month

Несмотря на число, набор 13 группы интернатуры получился 🔥. Ведь в наши стены вернулись 6 участников зимней практики.

  • Вова “щас, всьо буде”
  • Леха, Lex Botcher, “WebSocket-ы всему протокол”
  • Жека “я вивчив <назва топику> по 4 відео-курсам за вихідні”
  • Макс, jasmine мастер
  • Мирослав, мастер слова и четкой презентации
  • Вадим “не дизмораль”, чат-бот мастер

На практике ребята были в двух разных командах. А сейчас вместе делают маленький, да удаленький проект. Как мы дошли до командного проекта – читайте дальше.

Читати далі


InterLink winter practice 2019

На практике в InterLink мы даем студентам возможность создавать что-то интересное и полезное своими руками. Зимнюю практику в 2019 году прошли 10 студентов из ЧДТУ, ЧДБК и ЧНУ. Ребята сформировали две команды. Одна команда из 6-ти человек разработала сервис для тестирования кандидатов на позицию дизайнера в нашей компании. Вторая команда из 4-х человек разработала квест по функциональному программированию.

На практике каждый обрел свою роль в команде и внес вклад в общее дело. Интересно узнать кто и как проявил себя и что получилось в результате? Читайте дальше ;).

Читати далі