Всем привет!
Этот канал можно будет назвать "записной книжкой", потому что преимущественно здесь будут посты про собственную учебу, разработку чего-либо.
Также буду писать сюда какие-то идеи, мысли, а вы можете их обсуждать и я буду с вами общаться. Возможно даже фрагменты и моменты из жизни.
Этот канал можно будет назвать "записной книжкой", потому что преимущественно здесь будут посты про собственную учебу, разработку чего-либо.
Также буду писать сюда какие-то идеи, мысли, а вы можете их обсуждать и я буду с вами общаться. Возможно даже фрагменты и моменты из жизни.
❤2👎1🔥1💯1
Для начала конечно нужно рассказать о себе. Кто я, что я и какими правилами я живу.
Я обычный 20-летний парень с Печоры, которому интересно покорить сферу разработки построить что-то свое..., что-то большое..., самое главное - для людей, чтобы при использовании моего ПО они кайфовали от него👍
Будет посты про то, как я пришел в разработку, про мой личный опыт работы, хоть он и невелик и небогат, но есть еще к чему стремиться, как говорится😆
О том, как я разрабатываю что-то, о том, как я выбираю технологии, подходы, архитектуры и методы, проектирую и тд.
Все прелести полной разработки.
Я обычный 20-летний парень с Печоры, которому интересно покорить сферу разработки построить что-то свое..., что-то большое..., самое главное - для людей, чтобы при использовании моего ПО они кайфовали от него
Будет посты про то, как я пришел в разработку, про мой личный опыт работы, хоть он и невелик и небогат, но есть еще к чему стремиться, как говорится
О том, как я разрабатываю что-то, о том, как я выбираю технологии, подходы, архитектуры и методы, проектирую и тд.
Все прелести полной разработки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3❤2👎1
На данный момент у меня нет достаточных возможностей разрабатывать, так как я немного приболел и помимо этого я нахожусь чуть-чуть🤏 не в том месте, чтобы программировать и творить.
- задал я себе такой вопрос.
А ведь правда, что никто мне не запрещает заниматься тем, что мне интересно, что может обеспечить мне жизнь дальнейшую. Запрещаю я себе сам, сидя в телефоне, а может быть иначе... может быть лучше..
Именно под этим предлогом я принимаю решение развиваться дальше, у меня есть для этого самое главное - желание.
С сегодняшнего дняначинаю продолжаю учиться.
P.S.
Возможно, первые посты не будут яркими для этого канала про разработку, но в них можно понять как я рассуждаю и думаю и чего желаю.
Но кто мне мешает учиться и придумывать что-либо интересное?
- задал я себе такой вопрос.
А ведь правда, что никто мне не запрещает заниматься тем, что мне интересно, что может обеспечить мне жизнь дальнейшую. Запрещаю я себе сам, сидя в телефоне, а может быть иначе... может быть лучше..
Именно под этим предлогом я принимаю решение развиваться дальше, у меня есть для этого самое главное - желание.
С сегодняшнего дня
P.S.
Возможно, первые посты не будут яркими для этого канала про разработку, но в них можно понять как я рассуждаю и думаю и чего желаю.
❤3🔥3👎1😍1
#Разработка
Задумался я значит над тем, как мне сделать обучение интересным и полезным🤓
Так как я знаю много технологий, но средних-крупных проектов я с ними не создавал, только для обучения им в мелких проектах.
Хочу создать приложение, которое будет полезно мне и другим людям, в котором будет использоваться известный мне стек. Дальше можно накручивать программу обновлениями, изучая новые технологии. Это можно продолжать бесконечно.
Отлично, со смыслом разработки мы разобрались. Теперь надо найти идею. Один из способов найти (или придумать😝 ) проблему и найти решение к ней. Так я и сделаю.
У меня была и есть проблема. Для трудоустройства необходимо часто вручную сидеть на HeadHunter и отбирать вакансии, откликаться на них, для каждого письма еще желательно писать собственное сопроводительное письмо, подстроенное под вакансию и компанию - все это отнимает большое количество времени🤢
- задал я себе вопрос.
иии... добавить в неё следующий функционал:
- Поиск вакансий по отобранным заранее фильтрам и автоотклик на них
- Отправка сопроводительного письма, которое генерируется ИИ на основе описания вакансии и возможно, компании
- Рассылка результатов в телеграмм или на почту
- Авторизация с помощью OAuth2 протокола HeadHunter
Бум!💥 С основным функционалом для MVP мы разобрались.
Далее необходимо определить в каком виде будет использоваться написанная программа, но это в следующем посту😙
Задумался я значит над тем, как мне сделать обучение интересным и полезным
Так как я знаю много технологий, но средних-крупных проектов я с ними не создавал, только для обучения им в мелких проектах.
Хочу создать приложение, которое будет полезно мне и другим людям, в котором будет использоваться известный мне стек. Дальше можно накручивать программу обновлениями, изучая новые технологии. Это можно продолжать бесконечно.
Отлично, со смыслом разработки мы разобрались. Теперь надо найти идею. Один из способов найти (или придумать
У меня была и есть проблема. Для трудоустройства необходимо часто вручную сидеть на HeadHunter и отбирать вакансии, откликаться на них, для каждого письма еще желательно писать собственное сопроводительное письмо, подстроенное под вакансию и компанию - все это отнимает большое количество времени
Можно ли как-то автоматизировать это?
- задал я себе вопрос.
Что, если сделать программу, которая будет автоматически отбирать вакансии HeadHunter?
иии... добавить в неё следующий функционал:
- Поиск вакансий по отобранным заранее фильтрам и автоотклик на них
- Отправка сопроводительного письма, которое генерируется ИИ на основе описания вакансии и возможно, компании
- Рассылка результатов в телеграмм или на почту
- Авторизация с помощью OAuth2 протокола HeadHunter
Бум!
Далее необходимо определить в каком виде будет использоваться написанная программа, но это в следующем посту
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👎1🥰1
#Разработка
В каком все же виде будет приложение?
Существуют консольные, настольные, мобильные, Web-, приложения. Будем выбирать из них.
- Консольное приложение🖥
Не подходит, так как большинство пользователей не пользуются приложением без GUI (Graphical User Interface)
- Настольное приложение💻
Чаще всего разрабатывается под одну систему для корректной работы: Windows, MacOS, Linux. Смартфоны есть у всех и всегда с собой, в отличии от компьютеров.
Для разработки на моем стеке необходимо использовать фреймворк Electron
- Мобильное приложение📞
Уже подходим к идеальному варианту. Чаще всего используется, по сравнению с другими типами, практически всегда под рукой - удобно.
Проблема: для разработки желательно использовать нативные ЯП мобильных ОС Android и iOS - это Kotlin и Swift. Конечно есть вариант в виде React Native, но у него есть свои нюансы + лично я считаю, что он сыроват для полноценных мобилок
- Web-приложение🌐
Считаю идеальным вариантом, так как:
- Web-приложениями сегодня пользуются все
- Его можно расширить как PWA и TMA приложение
- Стек технологий хорошо известен для меня
- Огромная поддержка разработчиков
- Можно пользоваться с большинства устройств, хоть с телевизора или смарт-часов
Итог: делаем Web/PWA/TMA приложение, которое можно разместить и на сервере, и локально.
Следующим шагом необходимо определить стек технологий.
В каком все же виде будет приложение?
Существуют консольные, настольные, мобильные, Web-, приложения. Будем выбирать из них.
- Консольное приложение
Не подходит, так как большинство пользователей не пользуются приложением без GUI (Graphical User Interface)
- Настольное приложение
Чаще всего разрабатывается под одну систему для корректной работы: Windows, MacOS, Linux. Смартфоны есть у всех и всегда с собой, в отличии от компьютеров.
Для разработки на моем стеке необходимо использовать фреймворк Electron
- Мобильное приложение
Уже подходим к идеальному варианту. Чаще всего используется, по сравнению с другими типами, практически всегда под рукой - удобно.
Проблема: для разработки желательно использовать нативные ЯП мобильных ОС Android и iOS - это Kotlin и Swift. Конечно есть вариант в виде React Native, но у него есть свои нюансы + лично я считаю, что он сыроват для полноценных мобилок
- Web-приложение
Считаю идеальным вариантом, так как:
- Web-приложениями сегодня пользуются все
- Его можно расширить как PWA и TMA приложение
- Стек технологий хорошо известен для меня
- Огромная поддержка разработчиков
- Можно пользоваться с большинства устройств, хоть с телевизора или смарт-часов
Итог: делаем Web/PWA/TMA приложение, которое можно разместить и на сервере, и локально.
Следующим шагом необходимо определить стек технологий.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👎1🏆1💋1
#Разработка
Какой же будет использоваться стек технологий?👾
Если мы разрабатываем Web-приложение, то наш выбор очень велик, но в основе всего стоит конечно старая добрая троица: HTML, CSS, JavaScript.
Для Frontend части приложения будет использоваться:
- Фреймворк React
Он самый популярный и востребованный на рынке, благодаря компонентному подходу, хукам и большой поддержке со стороны разработчиков
- Сборщик Vite, так как быстрый, новый и позволяет быстро развернуть приложение
- Для стилизации будет использоваться библиотека стилей TailwindCSS. Он хорошо своей гибкостью и скоростью стилизации
Для Backend части приложения будет использоваться:
- Фреймворк Nest
Выбрал его из-за его строгой модульной архитектуры, благодаря которой можно легко расширять серверную часть приложения, также имеется инструментарий для тестирования, встроенная поддержка TypeScript
Для всего проекта будет использоваться:
- ESLint, Prettier для единообразного форматирования и линтера кода
- TypeScript для строгой типизации
- Jest для тестирования
Для DevOps части планируется использовать Docker для контейнеризации приложения, вместе с GitHub Actions для CI/CD.
Для использования AI функций приложения будет использован для разработки API Gemini.
Какой же будет использоваться стек технологий?
Если мы разрабатываем Web-приложение, то наш выбор очень велик, но в основе всего стоит конечно старая добрая троица: HTML, CSS, JavaScript.
Для Frontend части приложения будет использоваться:
- Фреймворк React
Он самый популярный и востребованный на рынке, благодаря компонентному подходу, хукам и большой поддержке со стороны разработчиков
- Сборщик Vite, так как быстрый, новый и позволяет быстро развернуть приложение
- Для стилизации будет использоваться библиотека стилей TailwindCSS. Он хорошо своей гибкостью и скоростью стилизации
Для Backend части приложения будет использоваться:
- Фреймворк Nest
Выбрал его из-за его строгой модульной архитектуры, благодаря которой можно легко расширять серверную часть приложения, также имеется инструментарий для тестирования, встроенная поддержка TypeScript
Для всего проекта будет использоваться:
- ESLint, Prettier для единообразного форматирования и линтера кода
- TypeScript для строгой типизации
- Jest для тестирования
Для DevOps части планируется использовать Docker для контейнеризации приложения, вместе с GitHub Actions для CI/CD.
Для использования AI функций приложения будет использован для разработки API Gemini.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👎1🔥1
#Разработка
В дополнении к прошлому посту хочу добавить, что также будет использоваться технология Git, хорошо известная всем система контроля версий, созданная для хранения кодовых баз, истории, организации и многое другое.
Наткнулся на статью в интернете, в которой рассказывается о конвенции коммитов и решил закрепить для себя. Она создана для решения одной известной проблемы: описание коммитов.
Довольно часто новички сильно не задумываются о названии и описании коммитов и пишут в них бессмыслицу. Конвенция же решает эту проблему. Она ввела новый стандарт.
Основные моменты:
- Каждый коммит имеет такую структуру:
- Основные типы:
1. fix - используется, если коммит является фиксом бага
2. feat - используется, если коммит является внедрением новой feature
3. chore - используется, если изменения коммита не влияют на функциональную часть приложения, также не является фиксом бага, например обновление зависимостей, рефакторинг (без изменения функционала)
4. build - используется, если изменения затрагивают сборку проекта
5. docs - используется, если внедряется/изменяется документация проекта
6. test - используется, если коммит добавил/изменил элементы тестирования
- Если в коммите произошли критические изменения, после типа ставится !, например:
- К типу можно добавлять контекст изменения:
- description представляет из себя краткое содержание изменений кода:
Про body & footer можно почитать в самой статье, что рекомендую.
type & description уже имеют достаточный вес, чтобы удобнее использовать историю коммитов.
В дополнении к прошлому посту хочу добавить, что также будет использоваться технология Git, хорошо известная всем система контроля версий, созданная для хранения кодовых баз, истории, организации и многое другое.
Почему я вообще вспомнил про Git?
Наткнулся на статью в интернете, в которой рассказывается о конвенции коммитов и решил закрепить для себя. Она создана для решения одной известной проблемы: описание коммитов.
Довольно часто новички сильно не задумываются о названии и описании коммитов и пишут в них бессмыслицу. Конвенция же решает эту проблему. Она ввела новый стандарт.
Основные моменты:
- Каждый коммит имеет такую структуру:
<type> [optional scope]: description
[optional body]
[optional footer]
- Основные типы:
1. fix - используется, если коммит является фиксом бага
2. feat - используется, если коммит является внедрением новой feature
3. chore - используется, если изменения коммита не влияют на функциональную часть приложения, также не является фиксом бага, например обновление зависимостей, рефакторинг (без изменения функционала)
4. build - используется, если изменения затрагивают сборку проекта
5. docs - используется, если внедряется/изменяется документация проекта
6. test - используется, если коммит добавил/изменил элементы тестирования
- Если в коммите произошли критические изменения, после типа ставится !, например:
chore!: upgrade node version to 18.1.0
- К типу можно добавлять контекст изменения:
fix(order-page): disable buy button without auth
- description представляет из себя краткое содержание изменений кода:
feat: add table of characteristics for item page
Про body & footer можно почитать в самой статье, что рекомендую.
type & description уже имеют достаточный вес, чтобы удобнее использовать историю коммитов.
🔥1
#Полезное
На данный момент мой график очень забит и у меня остается едва времени на свободное время, но я все равно нахожу силы на создание поста. Возможно он будет не по теме разработки проекта задуманного, но как минимум поделюсь чем-то интересным, что нашел, прочитал, использовал.
Такие посты не будут объёмные конечно. Также я буду добавлять хэштег к каждому посту, чтобы было проще найти мне и вам что-то нужное.
Случайно нашел удобный загрузчик видео с YouTube - Statcher7.
Можно пользоваться на любой ОС.
Может скачивать видео и даже целые плейлисты! Гибко настраиваются, есть поддержка 4К. Работает быстро и без ограничений.
На данный момент мой график очень забит и у меня остается едва времени на свободное время, но я все равно нахожу силы на создание поста. Возможно он будет не по теме разработки проекта задуманного, но как минимум поделюсь чем-то интересным, что нашел, прочитал, использовал.
Такие посты не будут объёмные конечно. Также я буду добавлять хэштег к каждому посту, чтобы было проще найти мне и вам что-то нужное.
Случайно нашел удобный загрузчик видео с YouTube - Statcher7.
Можно пользоваться на любой ОС.
Может скачивать видео и даже целые плейлисты! Гибко настраиваются, есть поддержка 4К. Работает быстро и без ограничений.
Stacher7
Stacher7. The yt-dlp GUI you've been looking for.
🔥3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
#Полезное
Вчера не смог выложить пост также по отсутствию времени - исправляемся.
Нашёл бесплатный редактор PDF файлов на macOS, Linux. Работает оффлайн и не требует мощной системы.
Позволяет быстро отредактировать текст, поправить вёрстку, добавить что-либо или даже обрезать страницу.
Вчера не смог выложить пост также по отсутствию времени - исправляемся.
Нашёл бесплатный редактор PDF файлов на macOS, Linux. Работает оффлайн и не требует мощной системы.
Позволяет быстро отредактировать текст, поправить вёрстку, добавить что-либо или даже обрезать страницу.
❤2👍1😁1
#Паттерны
Разработкой задуманного, к сожалению, заниматься пока некогда, поэтому временно я буду постить всякие полезности для себя и вас. Скорее всего этот формат постов перетечёт на постоянку параллельно с разработкой.
Наткнулся на известный паттерн Observer. Решил, что нужно закрепить его.
Смысл данного паттерна в том, что у нас должен быть Observer (Подписчик) и Subject (Источник событий). Подписчики подписываются на события источника, а источник при изменении своего состояния уведомляет подписчиком об изменении.
Всем приходит уведомления и подписчики реагируют на него. Все - это весь смысл.
- когда на одно событие реагируют несколько компонентов системы
- когда нужна архитектура, которую легко расширять, благодаря возможности подключения/отключения подписчиком "на лету"
- когда хочется уменьшить зависимость источника от подписчиков
Пример кейса:
Заказ на маркетплейсах. У него есть статусы: создан, оплачен, в пути, ожидает получения, получен.
В данном случае заказ воспринимается как источник событий, а подписчики, к примеру: уведомление, аналитика, начисление бонусов реагируют на на изменение состояния источника, то есть статуса.
Разработкой задуманного, к сожалению, заниматься пока некогда, поэтому временно я буду постить всякие полезности для себя и вас. Скорее всего этот формат постов перетечёт на постоянку параллельно с разработкой.
Наткнулся на известный паттерн Observer. Решил, что нужно закрепить его.
Смысл данного паттерна в том, что у нас должен быть Observer (Подписчик) и Subject (Источник событий). Подписчики подписываются на события источника, а источник при изменении своего состояния уведомляет подписчиком об изменении.
Всем приходит уведомления и подписчики реагируют на него. Все - это весь смысл.
Когда это может быть полезно?
- когда на одно событие реагируют несколько компонентов системы
- когда нужна архитектура, которую легко расширять, благодаря возможности подключения/отключения подписчиком "на лету"
- когда хочется уменьшить зависимость источника от подписчиков
Пример кейса:
Заказ на маркетплейсах. У него есть статусы: создан, оплачен, в пути, ожидает получения, получен.
В данном случае заказ воспринимается как источник событий, а подписчики, к примеру: уведомление, аналитика, начисление бонусов реагируют на на изменение состояния источника, то есть статуса.
🔥3❤2💋1
#Архитектура
Сегодня я хотел бы поделиться своим взглядом на различные типы архитектур, используемые для создания Frontend-приложений:
- Монолит
Монолитная архитектура предполагает, что все приложение, включая пользовательский интерфейс (UI) и логику, хранится в одной кодовой базе. Она отлично подходит для небольших проектов, не требующих масштабирования, так как обеспечивает удобство отладки и быстрый старт разработки. Однако у этого подхода есть и недостатки: высокая связанность кода и медленная скорость развертывания. Чаще всего монолит используется в случаях, когда требуется быстрый запуск.
- Модульная архитектура
В модульной архитектуре код делится на независимые модули, каждый из которых можно разрабатывать, тестировать и вносить изменения отдельно от остальных. Из плюсов можно выделить возможность параллельной разработки модулей, что снижает сложность кодовой базы. Однако при увеличении количества модулей усложняется масштабирование и обзор кода. Модульная архитектура используется, когда требуется крупный монолит с сохранением модульности без необходимости переписывать код.
- Микрофронтенды
Микрофронтенды представляют собой подход, при котором приложение делится на изолированные друг от друга проекты. Этот метод хорош для команд, где каждая отвечает за свою часть приложения, что упрощает масштабирование. Однако усложняется взаимодействие между этими проектами, а также возникают риски несогласованности UX/UI.
- Feature Sliced Design (FSD)
Это моя любимая архитектура, которую я использую практически всегда. Суть ее заключается в том, что приложение делится на слои, сегменты и слайсы. Слои предотвращают циклические зависимости: слои верхнего уровня могут содержать слои нижнего уровня, но не наоборот. Это создает определенную иерархию, что значительно повышает масштабируемость приложения.
Давайте подробнее рассмотрим слои:
- app: отвечает за конфигурацию приложения, роутинг, хранилище данных и другие аспекты
- pages: хранит страницы
- widgets: объединяет различные фичи, такие как баннеры, формы, посты и меню
- features: содержит бизнес-логику: кнопки авторизации, манипуляции с товарами и т. д.
- entities: хранит данные и логику работы с сущностями приложения
- shared: включает участки кода, которые используются по всему приложению: UI-компоненты, типизацию, хуки и т. д.
Слайсы представляют собой способы взаимодействия: типы, хуки, API, UI и другие. Они содержатся в сегментах.
Сегодня я хотел бы поделиться своим взглядом на различные типы архитектур, используемые для создания Frontend-приложений:
- Монолит
Монолитная архитектура предполагает, что все приложение, включая пользовательский интерфейс (UI) и логику, хранится в одной кодовой базе. Она отлично подходит для небольших проектов, не требующих масштабирования, так как обеспечивает удобство отладки и быстрый старт разработки. Однако у этого подхода есть и недостатки: высокая связанность кода и медленная скорость развертывания. Чаще всего монолит используется в случаях, когда требуется быстрый запуск.
- Модульная архитектура
В модульной архитектуре код делится на независимые модули, каждый из которых можно разрабатывать, тестировать и вносить изменения отдельно от остальных. Из плюсов можно выделить возможность параллельной разработки модулей, что снижает сложность кодовой базы. Однако при увеличении количества модулей усложняется масштабирование и обзор кода. Модульная архитектура используется, когда требуется крупный монолит с сохранением модульности без необходимости переписывать код.
- Микрофронтенды
Микрофронтенды представляют собой подход, при котором приложение делится на изолированные друг от друга проекты. Этот метод хорош для команд, где каждая отвечает за свою часть приложения, что упрощает масштабирование. Однако усложняется взаимодействие между этими проектами, а также возникают риски несогласованности UX/UI.
- Feature Sliced Design (FSD)
Это моя любимая архитектура, которую я использую практически всегда. Суть ее заключается в том, что приложение делится на слои, сегменты и слайсы. Слои предотвращают циклические зависимости: слои верхнего уровня могут содержать слои нижнего уровня, но не наоборот. Это создает определенную иерархию, что значительно повышает масштабируемость приложения.
Давайте подробнее рассмотрим слои:
- app: отвечает за конфигурацию приложения, роутинг, хранилище данных и другие аспекты
- pages: хранит страницы
- widgets: объединяет различные фичи, такие как баннеры, формы, посты и меню
- features: содержит бизнес-логику: кнопки авторизации, манипуляции с товарами и т. д.
- entities: хранит данные и логику работы с сущностями приложения
- shared: включает участки кода, которые используются по всему приложению: UI-компоненты, типизацию, хуки и т. д.
Слайсы представляют собой способы взаимодействия: типы, хуки, API, UI и другие. Они содержатся в сегментах.
❤2
#Паттерны
К сожалению или счастью, у жизни бывают перемены. Я с ними столкнулся и немного сбился с пути, но сдаваться не буду - пробуем и идем дальше.
Изучил еще один интересный паттерн Command.
Основная идея в том, чтобы использовать единый интерфейс для описания всех типов операций. Тогда для добавления новой операции в системе достаточно реализовать единый интерфейс.
Паттерн полезен, когда нужно:
- сохранять историю действий
- иметь возможность отката и повторения действий
- логирование и протоколирование
Необходимо создать класс Command с методами execute(), cancel(), name(). От него наследуются классы как самостоятельные команды, к примеру: HistoryCommand, UndoCommand, RedoCommand.
Методы:
- execute() - выполняет необходимую логику и сохраняет ее в историю действий
- cancel() - отменяет выполненное действие
- name() - возвращает имя команды
Паттерн определено сказка для терминальных (TUI) приложений
К сожалению или счастью, у жизни бывают перемены. Я с ними столкнулся и немного сбился с пути, но сдаваться не буду - пробуем и идем дальше.
Изучил еще один интересный паттерн Command.
Основная идея в том, чтобы использовать единый интерфейс для описания всех типов операций. Тогда для добавления новой операции в системе достаточно реализовать единый интерфейс.
Паттерн полезен, когда нужно:
- сохранять историю действий
- иметь возможность отката и повторения действий
- логирование и протоколирование
Необходимо создать класс Command с методами execute(), cancel(), name(). От него наследуются классы как самостоятельные команды, к примеру: HistoryCommand, UndoCommand, RedoCommand.
Методы:
- execute() - выполняет необходимую логику и сохраняет ее в историю действий
- cancel() - отменяет выполненное действие
- name() - возвращает имя команды
Паттерн определено сказка для терминальных (TUI) приложений
👍4🔥1💋1
#Разработка #Проект
С нетерпением я могу сказать, что разработка пошла!🔥
Естественно для любой более-менее серьезной программы нужна идентификация пользователей, поэтому я начал разработку с модуля авторизации. Backend и Frontend готовы и теперь есть возможность войти/выйти в приложение с помощью вашего аккаунта HeadHunter
Следующий шаг: разработка основной страницы приложения для автопоиска и автотклика на вакансии
С нетерпением я могу сказать, что разработка пошла!
Естественно для любой более-менее серьезной программы нужна идентификация пользователей, поэтому я начал разработку с модуля авторизации. Backend и Frontend готовы и теперь есть возможность войти/выйти в приложение с помощью вашего аккаунта HeadHunter
Следующий шаг: разработка основной страницы приложения для автопоиска и автотклика на вакансии
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Разработка #Проект
Есть хорошие новости!
Я разработал главную страницу. Дизайн конечно напоминает Яндекс Музыку😁 , но мы не будем обращать на это внимание - это ведь удобно!
Но не все так радужно... Я хотел, чтобы пользователь мог запустить приложение, настроить поиск, запустить и забыть про него. К сожалению HeadHunter предусмотрел данную ситуацию. Я обратился в поддержку, и вот что мне ответили:
Это конечно очень печально и придает какой-то демотивации. Ведь весь проект был задумывался на смысле автооткликов!
Но! Я не собираюсь сдаваться, и я нашел обходной способ. Конечно он не идеален, но все же вполне рабочий
Теперь, когда пользователь запускает поиск, приложение каждые 30 сек. отбирает вакансии по вашим фильтрам и открывает их в новом окне браузера и откликается за вас и закрывает окно через 25 сек. (чтобы не засорять устройство пользователя). Пока не добавлено возможности дописать сопроводительное письмо к отклику, но все еще впереди - автоотклик работает
Еще после попытки отклика приложение будет собирать данные о вакансиях, которые были отобраны программой.
Также, я изменил меню и оно стало более удобным
Думаю, следующий шаг будет отклик и добавление сопроводительного письма с помощью AI
Есть хорошие новости!
Я разработал главную страницу. Дизайн конечно напоминает Яндекс Музыку
Но не все так радужно... Я хотел, чтобы пользователь мог запустить приложение, настроить поиск, запустить и забыть про него. К сожалению HeadHunter предусмотрел данную ситуацию. Я обратился в поддержку, и вот что мне ответили:
С декабря прошлого года мы прекратили поддержку соискательского API. Мы приняли это решение, чтобы сервис оставался безопасным и полезным для всех, кто ищет работу и нанимает сотрудников.
К сожалению, с открытым API это затруднительно. За 2025 год через него вырос поток автоматических откликов, которые отправляли сторонние сервисы. Только в октябре 277 приложений отправили более двух миллионов таких откликов от имени нескольких тысяч соискателей. Большая часть из них — спам, отклики от фейковых аккаунтов или предложения, не связанные с поиском работы. Из-за этого работодатели тратят всё больше времени на разбор откликов, и пользоваться сервисом становится менее удобно.
Это конечно очень печально и придает какой-то демотивации. Ведь весь проект был задумывался на смысле автооткликов!
Но! Я не собираюсь сдаваться, и я нашел обходной способ. Конечно он не идеален, но все же вполне рабочий
Теперь, когда пользователь запускает поиск, приложение каждые 30 сек. отбирает вакансии по вашим фильтрам и открывает их в новом окне браузера и откликается за вас и закрывает окно через 25 сек. (чтобы не засорять устройство пользователя). Пока не добавлено возможности дописать сопроводительное письмо к отклику, но все еще впереди - автоотклик работает
Еще после попытки отклика приложение будет собирать данные о вакансиях, которые были отобраны программой.
Также, я изменил меню и оно стало более удобным
Думаю, следующий шаг будет отклик и добавление сопроводительного письма с помощью AI
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🗿1
