Мое знакомство с Rust

Еще пару месяцев назад я даже не знал о существовании такого языка программирования как Rust. В рамках работы над новый проектом мне довелось познакомиться с этим прекрасным языком. Данный язык обладает целым рядом преимуществ, которые не оставили меня равнодушным.

В данной статье хотелось бы осветить некоторые моменты работы с языком, а также рассказать о простоте его использования.

Процесс установки

Rust приветствовал меня простейшим процессом установки своего rustup toolchain. Rustup дает возможность без труда установить нужную версию Rust, переключение между stable и nightly сборками происходит в одну команду. При выходе обновления достаточно ввести команду rustup update и toolchain сделает за вас всю работу.

Встроенный менеджер зависимостей и не только

В Rust присутствует встроенный менеджер зависимостей Cargo. Для Rust существует множество пользовательских библиотек размещенных на Crates.io. Для того чтобы использовать одну из них, достаточно добавить зависимость в Cargo.toml файл. При следующем запуске или билде проекта Cargo скачает все необходимые файлы, а используя команду cargo doc вы получаете документацию по всем используемым библиотекам.

Иммутабельность

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

Рассмотрим простой пример: объявим иммутабельную переменную, проинициализировав её каким-то

Читати далі


InterLink Hackathon – SPA Challenge

Последняя суббота сентября была дождливой и пасмурной, но теплой и душевной в стенах нашего офиса. Ведь в этот день мы провели свой первый открытый хакатон!

Среди ребят были как и постоянные участники наших Митапов, так и новые лица, что не может не радовать :). 6 команд создавали свои одностраничные приложения. 4 команды вооружились Angular с 2 бекендами на Firebase, 1 на PHP и одним без бекенда. 2 других команды взяли за основу MERN стек.

Читати далі


9th season of InterLink inCamp: How we did it

28 жовтня ми завершили підготовку 9-ї групи інтернів та ділимося з вами їх досягненнями :).

Стек технологій

За 13 тижнів хлопці освоїли на практиці розробку веб додатків та стеку технологій MERN.

  • Зберігали та агрегували дані у документній базі MongoDB.
  • Реалізували REST API на Node.js та Express. Використали JWT для аутентифікації користувачів.
  • Розробили інтерфейс додатку на React та використали Redux для управління станом додатку.

Читати далі


Як не втратити час на хакатоні

На хакатоні у вас всього 24 години на реалізацію прототипу додатку. Тому вкрай важливо використати час ефективно та встигнути досягти бажаного результату. Ми зібрали поради, які допоможуть вам сконцентруватись на першочергових задачах.

Створіть демо-прототип, а не реальний додаток

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

Для користувачів Git

Якщо у вас вже є досвід роботи з Git в команді – чудово! Можете сміливо використовувати його. Заведіть собі репо на GitHub і вперед! На початку варто синхронізувати зміни та вирішувати конфлікти в коді якомога частіше. Тому перші декілька годин роботи бажано працювати лише з гілкою master. Коли у вас буде стабільна структура додатку, який щось робить – можна почати працювати в окремих гілках. Не забудьте додати node_modules в .gitignore. package-lock.json також можна ігнорувати для мінімізації конфліктів. За 24 години нові версії пакетів навряд чи вийдуть :).

Сутужно з Git – спробуйте DropBox

Якщо у вас немає досвіду використання систем контролю версій, то хакатон не найкращий час його отримати. Натомість, синхронізуйте свій код за допомогою DropBox. Тут важливо пам’ятати 2 правила:

  1. Не можна декільком тіммейтам одночасно додавати npm залежності.
  2. Інший тіммейт має дочекатись, щоб синхронізувались попередньо додані залежності, і тільки після цього додавати

    Читати далі


Статистика та рекомендації по вікторині на StudIT Fest 2018

На заході StudIT Fest 2018 ми провели технічну вікторину серед студентів.

У формі було всього 5 запитань. 1 по ООП, 1 по HTML, 2 по CSS та 1 по JavaScript. Пропонуємо вашій увазі статистику правильних відповідей та рекомендації до кожного з запитань.

Читати далі


InterLink Tech Talk September 2018

Первый день осени у нас был отмечен тройным праздником. Вместе с общенациональным днем знаний мы провели наш очередной Tech Talk – в этот раз выездной, а также отметили всех ребят, которые на протяжении года делились своими знаниями с коллегами. Окруженные деревьями и Днепром, интерлинковцы наслаждались природой, дышали свежим воздухом, общались друг с другом и жадно впитывали новую интересную информацию.

Читати далі


9th season of InterLink inCamp

В 9-ом сезоне интернатуры мы ввели несколько новых практик. Давайте познакомимся с каждой из них.

Первую неделю занятий мы начали с практического задания по ООП. Мы сделали симулятор плана развития для студента. В нем студент каждый день получает (или не получает :)) знания и практические навыки из разных источников. Посещает пары в университете. Ходит на митапы и занимается самообучением. Проходит интернатуру :). Это задание позволило нам проверить и закрепить понимание принципов ООП, а также на практике воспользоваться несколькими шаблонами проектирования.

Следующим пунктом стал новый стек технологий. Мы взяли курс на React и Node.js в обучении и разработке учебного проекта. Сейчас эти технологии очень популярны. Так что и нам надо соответствовать 🙂

Видео-уроки сейчас популярный способ получать знания. В этом сезоне мы с ребятами начали совместно просматривать курсы по технологиям на английском. Также я ввел практику лайв-кодинг сессий, где я сам показываю и рассказываю как решаются разные задачи.

Чтобы закрепить материал на практике у каждого интерна была возможность сделать собственный проект на свободную тему. Так у нас появился хэлпер для торговли в игре Mount & Blade, помощник в поиске рецептов и приложение для регистрации на митапы.

Читати далі


InterLink Meetup: From stone age to modern CSS

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

Ми звикли до розділення сторінки сайту на логічні блоки: header, sidebar, main content та footer. Така структура дозволяє швидко віднайти потрібні елементи на сторінці та переходити по сторінках. З початку зародження web використовувались різні підходи для досягнення подібної структури. Саме історію розвитку цих підходів ми й розглянули на мітапі.

Читати далі


8th season of InterLink inCamp. Робота над проектом

У своїй роботі розробник не лише пише код та використовує різні технології. Важливу роль відіграє сам процес, з яким ми підходимо до втілення ідеї в життя. Тож, другим етапом підготовки стало здобуття практичного досвіду роботи над проектами. Спочатку за два тижні інтерни реалізували власну ідею додатку. А подальші 4 тижні працювали вже над іншим проектом із замовником.

Читати далі


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

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

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

Читати далі