Я здесь ещё подумал. Когда-то в детстве нам на уроках ИЗО включали "Мишкины истории". Это меня навело на мысли, что нужно сделать рубрику "Мишины заметки".
Я довольно много вещей разрабатывал/разрабатываю и ещё я довольно ленивый и люблю всё делать максимально просто.
Поэтому иногда буду сюда закидывать заметки по тому, как что-то делал в проектах, какие интересные кейсы встречал и как их решал. А так же моменты, где бывало долго думал и не понимал почему не работает :)
Первая заметка, думаю, что будет про caddy, так как многие используют nginx и traefik, но можно делать гораздо проще и удобнее.
Я довольно много вещей разрабатывал/разрабатываю и ещё я довольно ленивый и люблю всё делать максимально просто.
Поэтому иногда буду сюда закидывать заметки по тому, как что-то делал в проектах, какие интересные кейсы встречал и как их решал. А так же моменты, где бывало долго думал и не понимал почему не работает :)
Первая заметка, думаю, что будет про caddy, так как многие используют nginx и traefik, но можно делать гораздо проще и удобнее.
❤2🔥1😍1
#note #1 SSL для домена в докере.
Когда поднимаете сервисы в докере, то для доменов нужно генерировать сертификаты. Есть плагины для nginx, чтобы их обновлять через certbot, так же возможно это настроить для traefik, но это настолько непростой процесс, особенно, когда знаешь альтернативы, где это всё делается в 2 строки.
В общем, в следующий, раз когда будете мучаться с настройкой сертификатов nginx, то знайте про такой вариант:
Берём Caddy, а для докера вот. Делаем базовую настройку docker-compose.yml:
и в самом Caddyfile
В итоге Caddy сам подтвердит сертификат (скорее всего через acme challenge) для всех доменов и поддоменов и будет их своевременно обновлять.
Когда поднимаете сервисы в докере, то для доменов нужно генерировать сертификаты. Есть плагины для nginx, чтобы их обновлять через certbot, так же возможно это настроить для traefik, но это настолько непростой процесс, особенно, когда знаешь альтернативы, где это всё делается в 2 строки.
В общем, в следующий, раз когда будете мучаться с настройкой сертификатов nginx, то знайте про такой вариант:
Берём Caddy, а для докера вот. Делаем базовую настройку docker-compose.yml:
services:
caddy:
image: caddy:2.8.4-alpine
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./caddy_data:/data
- ./caddy_config:/config
volumes:
caddy_data:
external: true
caddy_config:
и в самом Caddyfile
subdomain1.test.com, subdomain2.test.com, test.com {
tls <твоя_почта>
handle {
// Представим, что у нас someservice на 8090 порту в докере
reverse_proxy someservice:8090
}
}В итоге Caddy сам подтвердит сертификат (скорее всего через acme challenge) для всех доменов и поддоменов и будет их своевременно обновлять.
Слетал на пару дней в Москву отдохнуть. В целом выполнил основные вещи, которые планировал и доволен собой:
1. Встретился с командой
2. Встретился с друзьями
3 .Сходил на концерт "Дайте танк (!)"
Ну, а теперь возвращаемся в трудовые будни. Продолжаем работать и пилить приложение↗️
1. Встретился с командой
2. Встретился с друзьями
3 .Сходил на концерт "Дайте танк (!)"
Ну, а теперь возвращаемся в трудовые будни. Продолжаем работать и пилить приложение
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2🔥2🤨1
Media is too big
VIEW IN TELEGRAM
В общем, если лень ходить в зал, то рекомендую https://fitxr.com/ для VR. Записал часть простой тренировки (только под конец об этом подумал), но этого хватило мне для начала.
👍5🔥2
В последнее время помогал ребятам сделать приложение в качестве тех. лида. Вроде для первой версии получилось неплохо https://go.run-like-girl.ru/misha98857
App Store
Приложение «Бегаешь как девчонка» — App Store
Загрузите «Бегаешь как девчонка» от Irina Shanina в App Store. См. скриншоты, оценки и отзывы, советы пользователей и другие похожие на «Бегаешь как девчонка»…
🔥5
Forwarded from WOMAN.IN.TECH (Irina Shanina)
Куда я пропала?
Давно здесь не было постов от меня. И сейчас я расскажу почему.
Это лето было особенным. Этим летом мне удалось совместить две самых больших страсти в моей жизни: интерес к цифровым продуктам (инженерное образование и 15+ лет в айтишке) и любовь к бегу. И теперь во всех сторах появилось новое беговое приложение «Бегаешь как девчонка» https://go.run-like-girl.ru/ira.
Это беговой трекер, ориентированный на женщин, в котором есть все главные беговые показатели и взаимосвязь физической нагрузки с эмоциональным состоянием.
Этот трекер работает даже в условиях очень плохого GPS (проверено московскими улицами в центре) и не потеряет ни одного километра пробежки или прогулки.
Этот проект появился благодаря коллаборации Наташи Ставровой (мастер спорта по легкой атлетике), Миши Ефанова (самый дотошный и профессиональный программист из всех, с кем я когда-либо работала), Тани Спесивцевой (дизайнер-бриллиант) и меня в роли продакта, проджекта, местами бухгалтера и конечно главного тестировщика.
За время подготовки прототипа, а потом и production ready версии приложения я сделала суммарно 78 пробежек.
Каждая из них с двумя телефонами (iPhone, Xiaomi - работать должно везде), несколькими одновременно запущенными приложениями (наше, Nike, Puma, Strava - мы равнялись на лидеров рынка), с беговыми часами (потому что алгоритм работы с gps отличается).
Какие-то пробежки заканчивались почти слезами и отчаянными сообщениями разработчику «Миша, не считает. GPS отдает кривые данные. Я понимаю почему, это центр Москвы. Но здесь бегают люди, мы обязаны научиться считать корректно и здесь». И тогда мы продолжали копать, пытались совмещать разные источники данных, учились исключать аномалии по гео и дистанции. Выпускали новую версию приложения и я снова выходила на пробежку.
А какие-то пробежки заканчивались ликованием и радостью, потому что удалось добиться совпадения данных и реальной дистанции с погрешностью в 100 метров на 8-10 км. Это очень точно для трекера.
Что будет с приложением дальше?
Дальше мы будем набирать большую аудиторию и смотреть на больших числах как бегуньи пользуются приложением, вносить корректировки и улучшения.
Позже появится и платный дополнительный функционал. Но базовый для бега - пробежки, прогулки, трекер эмоций, статистика, рекомендации - всегда будет бесплатным.
К чему все это?
Я занимаюсь бегом много лет и давно мечтала иметь трекер, который мне удобен и сделан под меня. Мечта сбылась, пройдя путь от pet-проекта до MVP и готового продукта. Возможно когда-нибудь в будущем миллионы таких же девушек тоже будут им пользоваться.
Если у вас тоже есть идея проекта, который вы мечтаете реализовать, то не отказывайтесь от нее. Ищите единомышленников и пробуйте. Все вполне может получиться.
А если вы имеете какое-то отношение к маркетингу и хотели бы заниматься продвижением такого приложения, дайте мне знать. В нашей команде есть места.
Давно здесь не было постов от меня. И сейчас я расскажу почему.
Это лето было особенным. Этим летом мне удалось совместить две самых больших страсти в моей жизни: интерес к цифровым продуктам (инженерное образование и 15+ лет в айтишке) и любовь к бегу. И теперь во всех сторах появилось новое беговое приложение «Бегаешь как девчонка» https://go.run-like-girl.ru/ira.
Это беговой трекер, ориентированный на женщин, в котором есть все главные беговые показатели и взаимосвязь физической нагрузки с эмоциональным состоянием.
Этот трекер работает даже в условиях очень плохого GPS (проверено московскими улицами в центре) и не потеряет ни одного километра пробежки или прогулки.
Этот проект появился благодаря коллаборации Наташи Ставровой (мастер спорта по легкой атлетике), Миши Ефанова (самый дотошный и профессиональный программист из всех, с кем я когда-либо работала), Тани Спесивцевой (дизайнер-бриллиант) и меня в роли продакта, проджекта, местами бухгалтера и конечно главного тестировщика.
За время подготовки прототипа, а потом и production ready версии приложения я сделала суммарно 78 пробежек.
Каждая из них с двумя телефонами (iPhone, Xiaomi - работать должно везде), несколькими одновременно запущенными приложениями (наше, Nike, Puma, Strava - мы равнялись на лидеров рынка), с беговыми часами (потому что алгоритм работы с gps отличается).
Какие-то пробежки заканчивались почти слезами и отчаянными сообщениями разработчику «Миша, не считает. GPS отдает кривые данные. Я понимаю почему, это центр Москвы. Но здесь бегают люди, мы обязаны научиться считать корректно и здесь». И тогда мы продолжали копать, пытались совмещать разные источники данных, учились исключать аномалии по гео и дистанции. Выпускали новую версию приложения и я снова выходила на пробежку.
А какие-то пробежки заканчивались ликованием и радостью, потому что удалось добиться совпадения данных и реальной дистанции с погрешностью в 100 метров на 8-10 км. Это очень точно для трекера.
Что будет с приложением дальше?
Дальше мы будем набирать большую аудиторию и смотреть на больших числах как бегуньи пользуются приложением, вносить корректировки и улучшения.
Позже появится и платный дополнительный функционал. Но базовый для бега - пробежки, прогулки, трекер эмоций, статистика, рекомендации - всегда будет бесплатным.
К чему все это?
Я занимаюсь бегом много лет и давно мечтала иметь трекер, который мне удобен и сделан под меня. Мечта сбылась, пройдя путь от pet-проекта до MVP и готового продукта. Возможно когда-нибудь в будущем миллионы таких же девушек тоже будут им пользоваться.
Если у вас тоже есть идея проекта, который вы мечтаете реализовать, то не отказывайтесь от нее. Ищите единомышленников и пробуйте. Все вполне может получиться.
А если вы имеете какое-то отношение к маркетингу и хотели бы заниматься продвижением такого приложения, дайте мне знать. В нашей команде есть места.
❤5🥰1🎉1
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня столкнулся с хорошим примером шринкфляции
👏2🤩1👾1
This media is not supported in your browser
VIEW IN TELEGRAM
Как вообще люди на хабр что-то умудряются писать. Я попытался найти кнопку сохранить черновик и её не нашёл.
А на такое автосохранение в localstorage я бы особо не полагался, так как супер просто его затереть.
Т.е по логике хабра, я должен её в каком-то стороннем редакторе набрать, а потом в их markdown/wysiwyg-редактор засунуть?
Выглядит, что ниша открыта и можно нормальных хабр с черновиками сделать, которые будут интуитивно работать
А на такое автосохранение в localstorage я бы особо не полагался, так как супер просто его затереть.
Т.е по логике хабра, я должен её в каком-то стороннем редакторе набрать, а потом в их markdown/wysiwyg-редактор засунуть?
Выглядит, что ниша открыта и можно нормальных хабр с черновиками сделать, которые будут интуитивно работать
🔥3🥰1👏1
Кстати, там же телеграм выкатил фичу, что теперь можно видеть, когда сообщение было прочитано. Вроде анонса яркого не было, поэтому посвечиваю такую возможность, вдруг пригодится :)
😱3❤1🤡1
Я заставил себя написать пост на хабр. Ещё немного и может статью в будущем осилю
1🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
Я ещё вчера немного игру попилил, думал, что некоторое время по мобильному приложению ничего не будет. Многое взято из темплейта опенсорсного проекта, но плащ сам сделал, мне казалось без него никак :D
Сегодня оказалось, что ещё куча всего нужно пилить в приложении, поэтому продолжаем его развивать и когда там будут пробелы, то потихоньку пилить игру.
P.S. Понял, что 3d игры всё-таки проще делать, чем 2d, так как там нужно меньше визуала для создания игры, которая норм выглядит
Сегодня оказалось, что ещё куча всего нужно пилить в приложении, поэтому продолжаем его развивать и когда там будут пробелы, то потихоньку пилить игру.
P.S. Понял, что 3d игры всё-таки проще делать, чем 2d, так как там нужно меньше визуала для создания игры, которая норм выглядит
🔥4💅2🎉1🗿1
Пост с хабра удалили, но люди интересуются на каком стеке было реализовано приложение для трекинга бега и прогулок «Бегаешь как девчонка». Поэтому возвращаю в виде поста сюда.
В ходе разработки определился со стеком на котором можно довольно быстро запустить почти любое приложение.
Приложение и бекенд:
• Capacitor — По сути WebView, которое умеет работать с нативными плагинами.
• Angular — Мой любимый фреймворк для веба. Потенциально можно выбрать любую другую технологию для веба.
• Pocketbase — Легковесный бекенд для мобильного приложения. В нём по сути есть всё, что нужно для запуска стартапа.
• GlitchTip — Аналог Sentry, так как сам Sentry невероятно прожорливый.
• Shlink — Сокращатель ссылок, который позволяет удобно создавать ссылки и смотреть по ним статистику.
• Docker (Docker Compose) — Чтобы поднимать всю небольшую инфраструктуру.
• Caddy — Аналог nginx, но в отличие от него может без доп. плагинов сгенерировать SSL-сертификаты и обновлять их.
И дополнительные сервисы:
• AppMetrica — для аналитики, как пользуются приложением и источники установок.
• Yandex Object Storage — Хранение фотографий и бекапов.
• Reg.ru — управление домеными именами и почтой.
• Maestro — для написание e2e-тестов.
В ходе разработки определился со стеком на котором можно довольно быстро запустить почти любое приложение.
Приложение и бекенд:
• Capacitor — По сути WebView, которое умеет работать с нативными плагинами.
• Angular — Мой любимый фреймворк для веба. Потенциально можно выбрать любую другую технологию для веба.
• Pocketbase — Легковесный бекенд для мобильного приложения. В нём по сути есть всё, что нужно для запуска стартапа.
• GlitchTip — Аналог Sentry, так как сам Sentry невероятно прожорливый.
• Shlink — Сокращатель ссылок, который позволяет удобно создавать ссылки и смотреть по ним статистику.
• Docker (Docker Compose) — Чтобы поднимать всю небольшую инфраструктуру.
• Caddy — Аналог nginx, но в отличие от него может без доп. плагинов сгенерировать SSL-сертификаты и обновлять их.
И дополнительные сервисы:
• AppMetrica — для аналитики, как пользуются приложением и источники установок.
• Yandex Object Storage — Хранение фотографий и бекапов.
• Reg.ru — управление домеными именами и почтой.
• Maestro — для написание e2e-тестов.
App Store
Приложение «Бегаешь как девчонка» — App Store
Загрузите «Бегаешь как девчонка» от Irina Shanina в App Store. См. скриншоты, оценки и отзывы, советы пользователей и другие похожие на «Бегаешь как девчонка»…
🔥7
Раз есть пост, что я бы рекомендовал для стартапа, то вот пост о том, что я не рекомендую брать для него:
• Appwrite (Росграм и попытки сделать TgToolkit) - Так как данные хранятся в виде коллекции (а под капотом mysql), то сложные запросы становится сложно делать и нужно структуру данных в приложении держать максимально плоско. Любят breaking changes и в целом довольно нестабильно работает особенно на больших данных.
• Nestjs (TgToolkit) - В целом довольно интересный фреймворк вдохновлённый Angular, но для стартапа (если в команде мало людей) есть пара проблем. Логику авторизации нужно будет самому реализовывать (есть passport-js и т.д., что сильно упрощает задачу, но тогда нужно понимать концепции, как это работает). Да и в целом, чтобы команда могла смотреть и менять данные в базе нужно реализовывать свою админку, так как условная Prisma ORM даёт это делать, но у неё нет возможности выставить пароль и она сильно глючит на больших данных. Вполне возможно, что я просто не сумел его правильно приготовить.
• Nginx/Traefik (Росграм, TgToolkit) - Целом очень хорошие прокси, но для стартапа есть проблема в том, что это бывает нетривиально настраивать. Условно для автогенерации и продление SSL сертификатов нужно приложить много усилий и ставить плагины, что в Caddy делается буквально 1 строкой.
• React Native (Росграм, TgToolkit) - Прожорливый и сложно найти хороших программистов (многие просто курсы закончили и нестандартные задачи им сложно решать). Да и в целом, в названии есть React и я думаю, что это уже большой минус 🤗 .
• PostgreSQL (TgToolkit, Сокращатель ссылок в текущем проекте) - По сути лучшая база данных, но для стартапа есть пара проблем. Если вы не используете managed by yandex postgresql (а это дорого), то нужно настраивать кто может к ней коннектиться, пароли, бекапы и т.д. Если в команде немного экспертизы, то данные из базы потенциально могут легко угнать.
В целом это всё нужно смело юзать, но нужно уметь готовить, что в случае маленького стартапа бывает проблемой (так как людей и экспертизы может не хватать).
• Appwrite (Росграм и попытки сделать TgToolkit) - Так как данные хранятся в виде коллекции (а под капотом mysql), то сложные запросы становится сложно делать и нужно структуру данных в приложении держать максимально плоско. Любят breaking changes и в целом довольно нестабильно работает особенно на больших данных.
• Nestjs (TgToolkit) - В целом довольно интересный фреймворк вдохновлённый Angular, но для стартапа (если в команде мало людей) есть пара проблем. Логику авторизации нужно будет самому реализовывать (есть passport-js и т.д., что сильно упрощает задачу, но тогда нужно понимать концепции, как это работает). Да и в целом, чтобы команда могла смотреть и менять данные в базе нужно реализовывать свою админку, так как условная Prisma ORM даёт это делать, но у неё нет возможности выставить пароль и она сильно глючит на больших данных. Вполне возможно, что я просто не сумел его правильно приготовить.
• Nginx/Traefik (Росграм, TgToolkit) - Целом очень хорошие прокси, но для стартапа есть проблема в том, что это бывает нетривиально настраивать. Условно для автогенерации и продление SSL сертификатов нужно приложить много усилий и ставить плагины, что в Caddy делается буквально 1 строкой.
• React Native (Росграм, TgToolkit) - Прожорливый и сложно найти хороших программистов (многие просто курсы закончили и нестандартные задачи им сложно решать). Да и в целом, в названии есть React и я думаю, что это уже большой минус 🤗 .
• PostgreSQL (TgToolkit, Сокращатель ссылок в текущем проекте) - По сути лучшая база данных, но для стартапа есть пара проблем. Если вы не используете managed by yandex postgresql (а это дорого), то нужно настраивать кто может к ней коннектиться, пароли, бекапы и т.д. Если в команде немного экспертизы, то данные из базы потенциально могут легко угнать.
В целом это всё нужно смело юзать, но нужно уметь готовить, что в случае маленького стартапа бывает проблемой (так как людей и экспертизы может не хватать).
🤡2
Было у меня сегодня около 2-х часов времени и сильное желание что-то сделать в тг. Сделал небольшую игру https://news.1rj.ru/str/LittlePetsGameBot/littlepets (пока без web3, но позже можно и добавить :D). В общем, идея довольно проста кликаем на 3 кнопки, которые заполняют шкалы и через 4 часа, если они заполнены, то шкалы сбрасываются, а характеристики улучшаются. В будущем будет меняться картинка и редкость (а там трейды, бусты и т.д. :))
Честно, пока логика авторизации не очень надежно работает (по сути сервис сейчас очень просто хакнуть), но я не успел, чуть позже добавлю валидацию по заветам telegram.
Честно, пока логика авторизации не очень надежно работает (по сути сервис сейчас очень просто хакнуть), но я не успел, чуть позже добавлю валидацию по заветам telegram.
Telegram
LittlePets
Развивай, ухаживай и обменивай своих питомцев, чтобы занять лидирующие строчки в глобальном лидерборде
🔥4🎉1🐳1