StaticNur
54 subscribers
11 photos
11 videos
2 files
27 links
Здесь я делюсь опытом в
🖥 IT
🚀 технологиях
💼 бизнесе
А также мотивация 🎯 и спорт 🏋️‍♂️

Я: @orifov_nur
Download Telegram
Игра на C++ "Spaceship"🤯

На втором курсе (2022 г.) у нас появилась дисциплина под названием "Основы web-дизайна и компьютерная графика". Изначально я думал, что это будет просто "халява", так как я уже заканчивал курсы по этой теме. К счастью, это оказалось больше программирование, чем дизайн.

Мы писали код на C++ с использованием OpenGL. Сначала это были простые фигуры, но постепенно задачи усложнялись. Именно тогда я начал понимать, насколько важны математические знания в программировании. Чуть на индийском не заговорил, разбирая алгоритм Коэна-Сазерленда 😅.

Итоговый проект мы делали втроем. Я отвечал за разработку, а мои коллеги занимались генерацией идей, созданием уровней для игры и подготовкой презентации. Игра получилась, с одной стороны, простой по задумке, но, с другой стороны, довольно сложной в реализации (особенно для меня на тот момент).

Жаль, что тогда не было нейросетей...


Основная концепция игры показана на фото👆(презентация).
🔥5
✅ Итог:
· Понял, насколько важна математика в программировании.

· Проект получился на ~1000 строк кода, без четкой структуры и с большим количеством повторов => нужно изучить принципы разработки и проектирования.

· Ранее я описал свою траекторию обучения. Теперь я точно уверен, что хочу заниматься только программированием.
Зачем же, МАТЕМАТИКА?😵 (продолжение)

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

Уравнение было решено, но мы обнаружили ошибку в знаке, которую быстро исправили (Вы нашли? Жду ответа в комментариях✍️). Буквально за 20 минут до дедлайна мы успели отправить программу (срок сдачи продлила до 00:00).

Когда видишь, как абстрактные формулы превращаются в реальный результат на экране, — это непередаваемое ощущение! Именно тогда я ещё сильнее полюбил программирование💻

✅ Итог:
· Не обязательно все делать самому —лучше попросить помощи у знающих, чем тратить время на самостоятельные попытки разобраться.

🎬 Демо👇
🔥4❤‍🔥1🤓1
Университетский курс back-end разработки ⚙️

Во второй половине 2022 года я записался на университетские курсы по бэкенд-разработке. Программа была рассчитана на 9 месяцев, т. е. весь второй курс. Занятия проходили по вечерам, а преподавал действующий тимлид, который позже стал моим научным руководителем 👨‍🏫.

Информация там, как мне показалось, не была структурированной: мы начали писать бэкенд, используя Docker, Java (Spring boot) и PostgreSQL, даже не разобравшись с основами Java. Естественно, я офигел 🤯, поэтому решил самостоятельно восполнить пробелы в знаниях.

Я пошел изучать на YouTube и наткнулся на канал Alishev, где он объяснял основы Java. Далее купил его продвинутый курс на SwiftBook (позже нашел все его курсы в открытом доступе🤪). У него я получил базовые знания о java. В процессе обучения я написал свое первое CRUD-приложение — библиотеку (см. следующий пост).

✅ Итог:
· Поработал с Git, Docker, PostgreSQL и Java (+ Spring).
· Поверил в свои силы и начал искать работу (спойлер: это было фиаско)
👍4🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Проект из курса Alishev 🍃

Задача: реализовать веб-приложение для управления библиотекой.

Функционал:
· Библиотекари (ROLE_ADMIN) могут выдавать книги читателям (ROLE_USER) и освобождать книги после их возврата в библиотеку.
Подробное описание проекта доступно в README.md

Стек технологий:
· Java
· JdbcTemplate
· Spring (Core, Web, Data JPA, Security, Boot)
· Hibernate
· Thymeleaf
· PostgreSQL

✅ Итог:
· Освоил основы бэкенд разработки
· Понял как взаимодействует фронтенд и бэкенд.

📂 GitHub
👍3🔥2⚡1
🚀 Android-разработка: взлеты и падения

В первой половине 2023 года (конец 2 курса) я решил попробовать себя в Android-разработке. Одна местная компания открыла школу, успешное окончание которой могло привести к стажировке. Я прошел тестовое задание, собеседование — и попал в программу.

"Как ты вообще всё успевал?" — спросите вы.
А я и не успевал.

На тот момент я ещё не закончил вузовский курс по бэкенду, и нагрузка стала запредельной:
💻 Учёба в вузе
🛠 Бэкенд-курс
🎓 Занятия у Alishev
📱 Android-разработка в школе компании
🏋️‍♂️ Спорт

И тут всё пошло наперекосяк:
❌ Я сломал ключицу.
❌ Выселили из общаги на 2-3 недели.

Это не только выбило меня из колеи, но и заставило пересмотреть приоритеты. Восстановление, спорт, учёба, разработка — всё это вместе стало неподъёмным. Пришлось принять сложное решение уйти из школы Android-разработки.

✅ Итоги:
📌 В зачётке появились первые тройки.
📌 Спорт, в котором были успехи, пострадал из-за травмы.
📌 Но я получил представление о мобильной разработке, что сильно помогло в следующем семестре.

Иногда шаг назад — это подготовка к прыжку вперёд.
🕊4🤯1
Проект из турнира Codemasters Code Cup 2023 🤖

Задача: разработать телеграм-бота, который упрощает управление информацией о сотрудниках.

Функционал:
· Карточка сотрудника с необходимой информацией о нём
· Поиск
· Создание / Редактирование / Удаление

Стек технологий 🍃 :
· Java
· Spring Boot + Spring Data JPA
· Telegrambots
· PostgreSQL
· Lombok
· Log4j

Деплоил на SpaceWeb на платном тарифе. Без Docker, конечно, было сложно.

📂 GitHub
🔗 Описание условий
🔥2
StaticNur
Проект из турнира Codemasters Code Cup 2023 🤖 Задача: разработать телеграм-бота, который упрощает управление информацией о сотрудниках. Функционал: · Карточка сотрудника с необходимой информацией о нём · Поиск · Создание / Редактирование / Удаление Стек…
🚀 Поиск работы и первый турнир

Наконец-то 3 курс (вторая половина 2023)— самый насыщенный и интенсивный период. После окончания университетских курсов и обучения у alishev я решил поискать работу.

📌 Написал резюме
📌 Зарегистрировался на HH
📌 Начал активно откликаться на все возможные вакансии

Но все время приходил один и тот же ответ:

К сожалению, сейчас мы не готовы пригласить вас на следующий этап.


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

Первый турнир 🎯
Однажды наткнулся на пост о турнире по разработке. Нужно было написать Telegram-бота для управления персоналом — и я решил попробовать свои силы.

🤯 С горем пополам справился с заданием и… неожиданно прошел в финал!
📍 Финал проходил офлайн в другом городе, мне оплатили поездку и проживание.
💻 В финале я добавил новый функционал, который, к сожалению, сломал остальную часть проги)

Но турнир мне безумно понравился! Я познакомился с крутыми ребятами — многие из них уже работали в Яндексе, VK, Heads & Hands и др. Это были умные, мотивированные люди, которые вдохновили меня развиваться дальше.

🔥 Решил, что в следующем году обязательно попробую снова.

✅ Итоги:
· Мой первый деплой
· Почувствовал айтишную атмосферу

🎬 Слева — финал, а справа — отборочный этап.
👍4
IT-Школа «ЭвоАкадемия»

В августе 2023 записался на курсы в компанию Эволента, где обещали стажировку после обучения.

📚 За 3 месяца начал изучать микросервисы — новую для меня тему, а также повторил основы Spring, Maven, ORM и прочей фигни.

👥 После окончания курсов ожидал приглашения на стажировку, но звонка не последовало. Когда я сам написал, чтобы уточнить, мне сказали, что иностранцев не берут. Вот так вот. 🙃

ℹ️ Кстати, многие IT-компании не принимают иностранцев из-за специфики работы: иногда заказы поступают от государственных органов, и тут требуются только местные специалисты.

✅ Итоги:
· Повторил изученные темы.
· Попрактиковался + хорошие фидбэки от преподавателей.
· Начал изучать микросервисы.

📂 ДЗ из курса на GitHub
Снова Android!? 🤖

На 3-м курсе у нас была дисциплина "Разработка мобильных приложений". Поскольку у меня уже был небольшой опыт в мобильной разработке, мне было проще, чем остальным.

Всем студентам дали одну общую задачу:
Разработать Электронную информационно-образовательную среду (ЭИОС) для нашего вуза — МГУ им. Н. П. Огарёва.

📌 Интересный момент:
Преподаватель уже написал рабочее приложение, но сам признался, что делал его "на коленке" летом и остался недоволен результатом.

Нам выдали ключи и документацию к университетскому API. Я даже попробовал "накрутить" себе баллы через API, но система ответила: "Недостаточно прав" 😅

Ниже будет демо + тех.часть👇
Media is too big
VIEW IN TELEGRAM
UniversitiApp

🛠 Функционал:
🔹 Вход в личный кабинет
🔹 Просмотр расписания
🔹 Новости вуза
🔹 Оценки и список дисциплин
🔹 Чаты по предметам
🔹 Данные о проходах через турникеты
🔹 Список студентов и преподавателей
🔹 При входе без интернета данные загружаются из локального хранилища (SQLite)

💻 Стек:
🔹 Kotlin
🔹 Room (ORM)
🔹 Retrofit
🔹 SQLite
🔹 Coroutines
🔹 ViewModel & LiveData

🏗 Архитектура:
🔹 MVVM
🔹 Чистая архитектура (Вряд ли😁)

Websocket не получилось подключить, новые сообщения в чате получаем через ручное обновление😅

📂 GitHub
👍5❤‍🔥1🔥1
Интенсивы от YLab 🍃☕️

В январе 2024 года я наткнулся на интенсив по Java от YLab. Условие было простое: успешно проходишь — получаешь возможность стажировки в компании.
Работы у меня на тот момент ещё не было, поэтому я сразу же записался :)
Первая попытка оказалась неудачной: я дошёл до финала, но на собеседование не позвали. Честно говоря, и сам не был доволен своим проектом.

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

💼 Условия оказались такими:
· Если уйти раньше срока — штраф 270 000 ₽
· Первые 3 месяца — бесплатно
· Затем 6–9 месяцев ≈200 ₽/час
· ❌ Нет возможности совмещать с учёбой

🚀 Как проходило обучение?
Интенсив был разбит на 5 домашних заданий, каждое выполнялось в новой Git-ветке:
· 🖥 Консольное приложение
· 🗄 Подключение базы данных
· 🌐 Работа через сервлеты
· 🌱 Использование Spring Framework
· 🏁 Финальная часть — Spring Boot

Каждую домашку менторы тщательно проверяли, за что отдельный респект. Это дало хороший буст по качеству кода и подходу в целом.

✅ Что в итоге прокачал:
· Разобрался с миграциями 🗃
· Научился писать Javadoc 📝
· Написал юнит, интеграционные и e2e-тесты ✅
· Поработал с метриками 📊
· Познакомился с аспектами 🌀
· Изучил кеширование 💾
· Поработал с JWT 🔐
· Реализовал свой DI-контейнер 🧩
· Написал пул соединений к БД 🔄
· И самое главное — собрал качественный, проработанный продукт 🎯

Очень крутой опыт 💪. Если ты только начинаешь путь в Java-разработке и хочешь получить мощную практическую базу — однозначно рекомендую присмотреться, даже если не планируешь идти на стажировку.

📂 ДЗ в GitHub, 1 попытка
📂 ДЗ в GitHub, 2 попытка
🔥4
🚀 Снова в поиске работы

После (и во время) интенсива я с головой ушёл в поиск работы. Но звать на собесы особо не спешили 😅

📍 Искал на HH, Хабр Карьере и в Telegram-каналах.
Тест в Aston — прошёл, но условия не понравились, вежливо отказался;)

🧪 Потом пришло тестовое от Greenatom. Потратил несколько дней — и тишина. Никакого фидбэка. После этого решил: больше никаких тестовых без гарантии связи. (Кому интересно — вот мой репозиторий с тем заданием)

🌎 Позже на Хабре нашёл необычную вакансию: стартап из Коста-Рики.
Прозвучало круто: стартап, международная команда, Коста-Рика — я прошёл собеседование, подписал NDA…
Но когда дело дошло до работы, выяснилось: стек у всех разный — Python, C#, и только я один на Java.
Мне предложили начать писать сервис самому или подождать, пока соберётся Java-команда.
Но я шёл за командной работой, а в одиночку я и свой pet-проект могу делать.
Переключаться на другой язык ради абстрактного 'опыта' без понятных перспектив — не мой путь. В итоге решил выйти.

🎯 Я начал учиться проходить собеседования, смотреть YouTube, читать гайды...

И понял одну важную вещь:

Я никак не выделяюсь среди других кандидатов.


⚠️ Это был тревожный звоночек. Я понял, что нужно что-то менять:
Либо «накручивать» опыт, либо участвовать в ИТ-движухе, прокачиваться не только кодом, но и историей вокруг себя.

🔥 Так я попал в мир ИТ-соревнований.

И вот…
🗓 В конце мая 2024 я записался на свой первый хакатон...
👍3🤔1🕊1🤡1
🚀 Мой первый хакатон — LET’S HACK!

🧩 Я записался в хакатон для начинающих. Это был не просто уикенд с хардкодом, а полноценный образовательный интенсив: 5 дней теории, разборов и лекций, за которыми следовали 3 дня плотной разработки.

👨‍💻 Мы — Nestor's team (4 человека), выбрали кейс от FUTURE CREW и МТС: Клиентский портал для автоматизированной верификации и сканирования внешнего периметра компаний. Да, звучит жёстко. Так и было :)

📌 Цель — построить цифровой сервис, который:
— подтверждает, что клиент реально представляет свою компанию;
— всё делает законно и автоматически;
— подключает к системе сканирования CICADA8 (поиск уязвимостей).

🧠 По задумке нужно было реализовать проверку через ЭЦП и ЭДО. Но на это просто не хватило времени.
Поэтому мы придумали альтернативную механику верификации - простую, быструю и реалистичную.

🔧 Наша реализация:
— Клиент регистрируется на портале → подтверждает email через код.
— Сначала его статус — "неподтверждён", он не может представлять компанию.
— Далее в течение 5 минут от компании, которую он указал, должна пройти тестовая транзакция.
— Если транзакция зафиксирована — считаем, что клиент реально пришёл от этой компании, и его статус обновляется.
— После этого — полный доступ к настройке сканирования.

🛠 Технологии:
Backend: Java + Spring, JWT для авторизации, PostgreSQL
Frontend: нативный HTML / CSS / JS (быстро и без лишнего)

💡 Конечно, нашу механику можно было обойти, но на презентации мы показали другой путь — идею использования Soulbound токенов для подтверждения аутентичности личности.

✅ Итоги:
· Призовое место и 25k₽ на команду
· Практика быстрой разработки MVP и командной работы
· Открыл для себя мир хакатонов благодаря интенсиву

🎬 Церемония открытия
🎬 Демо бэка:)
📂 Презентация
👍4🔥2
К сожалению, не нашёл видео, где подробно рассматривал весь функционал:(
👍7
🚀 Мой второй хакатон — ЛЦТ 2024
📅 Июнь 2024г.

В универе предложили поучаствовать в хакатоне — я сразу загорелся 🔥 Нужно было собрать команду.

Сначала спросил у одногруппников. Один даже зарегался… но, как это часто бывает, в итоге просто забил 😅

Препод, узнав о моем интересе, предложил пообщаться с другими студентами, которые тоже собирались участвовать.
Они уже выбрали задачу №17 от Росатома — Сервис для караванов судов на Северном морском пути.
Я прикинул свои силы и понял, что не потяну такую задачу — пожелал им удачи и пошёл искать команду в Telegram-чате хакатона.

На том же семестре я проходил дисциплину «Дополнительные главы баз данных», где плотно познакомился с Elasticsearch. Хотел применить знания на практике — и выбрал задачу №15 от Yappy — Сервис текстового поиска по медиаконтенту (пост с описанием в телеграме)

Со мной связался Alexander, созвонились, он расспросил, что умею и что могу делать в команде. В итоге попал в команду Ezee.
Состав:
🧠 1 дата-аналитик
📊 2 дата-сайентиста
🔧 1 бэкенд
🌐 1 фуллстек (я)

⏱️ 2 недели разработки. Каждый день созванивались по 1–2 часа: обсуждали прогресс, ставили задачи, двигались дальше.
Результат? Вышли в финал! 🎉
Еще неделя на доработку — и финальная презентация готовой поисковой системы (мы в 07:12 минуте).

🧠 Коротко о нашем решении:
Нам дали датасет из 400 тыс. записей (ссылка на видео, описание от юзера и хэштеги). Мы извлекали визуальные, аудио- и текстовые фичи из видео, превращали их в векторы (эмбеддинги) и находили похожие по смыслу ролики с помощью косинусного расстояния. В сумме вышло 7 микросервисов написанных на java и python. Чуть подробнее — в этом посте.

🛠 Моя зона ответственности:
• поисковой движок на Java + Spring + Elasticsearch
• фронтенд (JS, html, css)
• микросервис для автокоррекции ввода (Python)
Почитать про остальные сервисы можно тут

🏁 Итоги:
✅ Познакомился с крутыми спецами
✅ Опыт командной разработки
✅ Победа в международном хакатоне — жирный плюс в резюме
✅ Призовые 💸

📂 GitHub
🎬 Демо
🔥7❤4👍1