@@danilastepanov108 railway бесплатное время чуть позже середины месяца заканчивается, надо карточку добавить чтоб дальше работало, пишут что снимут в конце месяца только с учётом потраченных ресурсов, не нравится мне это, хотя при корректной установки может и дешевле выйти... Крон работы нету кажется... Render - сервер выключается если бездействие, но если $7 заплатить тогда все норм должно работать, ну или какой-нибудь сервис в background запустить чтоб не засыпал. Крон от $1. Mogenius - работает чётко, можно на бесплатной версий запустить 2 сервера, проблем не наблюдаю, платная версия начинается от $12. Крон работы не сделали пока, но в планах у них...
Братан ,на 11 часов в самый раз)). Главное больше всего реального. Больше борьбы с граддле)). Я уже не радуюсь обновлениям в студии)). Поиск полнотекстный сейчас вроде через elastic накручивают.
1.43: -"Щас будет куча скучно работы, так что я сделаю магическое выключение-включение экрана и вы увидите результат" *Хопа!* ....половина проекта переписано, а нам рассказывают про текущий файл... (я как бы с ведущим писал, чтобы все попробовать, а в результате пришлось лезть в исходники и разбираться чо каво. Тоже самое касается и установку pgAdmin 4. Оказалось надо устанавливать сервер, а потом вместе с ним эту прогу) Это то с чего я подгорал в этом видео. Но само видео очень интересное и как раз то что я искал. Спасибо, Алексей!
У производства видео есть некоторые особенности. Например, в данном случае я писал все последовательно, но к сожалению одна из видеозаписей крупных похерилась Поэтому пришлось восстанавливать шаги
@@MobileDeveloper ну бывает ) В общем начиная с этого момента я потерял нить и дальше просто смотрел наматывая на ус. Но не потрогав хероку сложно представить сколько с ней надо мучиться, чтобы ее завести. Ещё раз спасибо за видео. Пока писал код, кайфанул. Многие вещи прояснились. Особенно удивил сам ктор с его генерацией проектов - просто пушка!
Спасибо за видео. Формат хороший. Видео понравилось. Ktor, довольно, интересный. Несколько моментов: не REST api, хотелось бы OAuth2, и с БД какие-то проблемы были (weight, а не size; string, а не double). Хранить токен админа на сервере - это мощно :). Огромное желание увидеть ролики по Android для этого бэка и для iOS.
Начал бодро понятно. В конце все скомкал и выплюнул - типа ну как то так ! Как бы Вам понравилось если бы Вам так машину в сервисе чинили - "тут мы сделали и тут, а вот тут держите детали сами пойме куда и как". Вот поэтому запад нас и "делает" в сервисе.
@@beckaksel8783 привет! Сделал на Heroku, потестил и удалил. У них уже нет бесплатного тарифа. Буду сейчас пробовать Hetzner (5$/month) - это просто хостинг Линукс сервера. Буду заливать docker с Ktor туда. И докер БД какой-то. Я смотрел, есть хорошие аналоги Heroku: Railway, Render с бесплатными тарифами. Но пока склоняюсь к hardcore варианту - самому разобраться с сервером)
@@alekseyblekot119 Спасибо за ответ) Я так понимаю, что ты попал еще на бесплатный тариф у Heroku? Сам вот сейчас хочу сделать сервер и выбираю бесплатные аналоги. Как вариант, рассматриваю Back4app и Amvera, но надо глянуть и на твой список)
Лайк. Пользуй автоформатирование Ctrl+alt+l, и optimize import ctral+alt+shift+l. А то часто ошибочные импорты вручную удаляешь. Хотя уверен и так все знаешь. Крутые видосы. Кайфую. После 2 лет на java смотрю Котлин. Легко заходит. Роутинги и валидация реально круто сделаны. Не то что на java
Таким образом можно и стать full. Конечно хочу что бы все было свое back особенно. Спасибо за видео. Ещё хотел спросить можно же сделать back на kotlin а сам приложуху на flutter тут же работа чисто запросы на базу то есть на kotlin back?
круто. искал материал по Ktor. На русском вообще ни чего нет. Спасибо что сделал мини курс) но появились вопросы. 1) Exposed не поддерживает миграцию? При каждой реструктуризации бд нам нужно в ручную создавать таблицы, добавлять колонки? 2) будут ли еще видосы на данную тему? 3) Ktor работает на корутинах, было бы не плохо по больше про это рассказать)
Привет ) exposed это просто сахар поверх базы, он позволяет легче работать с ней. ORM (object relation map) одним словом. Ещё видео думаю будут но позже Про корковидные много всякого на канале
делал бэкэнд на ктор, в качестве орм выбрал ktorm , рекомендую, очень логичная и понятная. для обоих информацию брал с офф сайта, на английском, но все понятно.
Имхо надо продвигать на Котлине микросервисные приложения для конкуренции с Go, так как Котлин быстрее и производительнее чем GO - а это наверное для многих большая неожиданность.
41:19 только недавно начал втягиваться в Котлин, прикольный пример кстати, я делал через find { it.param == param } потом уже проверял в найденном contains, попробую как ты сделать ))
Спасибо огромное! Очень понравилось, Я впервые в эту тему зашел, и первая надпись получилась, высветилась надпись от сервера в постмане, хотя я сервер по этому видео только что создал скачал, загрузил в андроид студио, запустил сервак ток надпись поменял на свою! Запустил в браузере, смотрю блин НОЛЬ, думаю какого блин Х ниче не работает, смотрю заного, замечаю какую то прогу постман, скачал, зарегался, что то понажимал, в общем запустил постман и в запросе GET получил свою изменённую надпись в консоли... теперь буду дальше смотреть, пока досмотрел до 25 минутыи блин я уже программист!!!!!!!!
Года два-три назад писал свой сервер. Смотрю видео как дежавю)) Тогда это видео мне помогло бы ускориться. Хотя... После андроид разработки на Котлин, пишешь веб сервер на ктор как что-то своё родное, не мучаешься, как раньше, со всякими пхп и прочим архаизмом. Токены делал на JWT. Это очень удобная штука. БД - Maria. Все летает на относительно простом железе (ай5-8400, 32ГБ) даже в пиковые нагрузки около 15-20 соединений в секунду.
О, супер, спасибо большое, как раз нужно что-то быстренько сделать. Выбор был либо использовать python, flask например, но очень хотелось на родном kotlin)
Вооотт это тема! Большое спасибо Алексей! Я как-то хотел написать сервер на кторе себе, но ничего не понимал, потыкат потыкал и забил... А это видео очень полезно! Думаю что заново начну бэк писать, щас на Firestore проектик пишу, но 100% переведу на свой бэк, вопрос времени)))
@@MobileDeveloper ой, а можно ткнуть носом, а то в моем возрасте прям сложно в пк. А детей дома нет. Это мое хобби. Что бы на старости сохранить ум, да время убивать. Учусь. Всю жизнь учился на заводе, теперь вот другой станок.
Это очень классно, что вы этим занимаетесь. Вот, если вы из России, то оно доступно вот здесь boosty.to/mobiledev/posts/942f2091-f2fd-4462-8ed4-e7f03efe645a?share=post_link
Видео отличное, спасибо! Очень помогло решить вопрос с точки зрения сервера с пет-проектом. Единственное, никак не удается настроить связь с БД Heroku, и в видео об этом не до конца рассказано, к сожалению, в части конфигов. Не посоветуете, где можно подглядеть или кто может подсказать в итоге в части настроек?
видео очень красивое и четкое. видео очень поможет разработчикам Android. но у меня есть один вопрос? как создавать фоновые изображения, видео, музыку и подобные файлы? Я не смог найти никакой информации об этом в Интернете.
Я даже не джун , но хостинг себе давно сделал . Аренда сервака это около 15 тысяч рублей в месяц + много допов . Хостинг + домен это самое оно . Менее 1000 руб в год . Простенькие скрипты php + mysql позволят в полной мере использовать базы данных . Андроид студио при подключении к хостингу будет давать ошибку . Надо покупать сертификат . На нормальных хостингах он в подарок . Без него много геморроя и я хотел бы посмотреть его решения (они есть) .
Необязательно арендовать целую тачку (сервер) . Достаточно будет VPS решения. Условные 150-200 рублей/месяц, за 1 ядро/1ГБ ОЗУ/20ГБ SDD . Домен покупаем где нравится/хотим., если есть возможность, то можно брать сразу же у хостера серваков и проблем будет еще меньше. Сертификат бесплатный можно потом на впске уже сделать за пару минут, заюзав бесплатный Let's Encrypt.
Я посмотрел видео о том, как создать свой сервер на Kotlin с помощью Ktor. В комментариях я увидел следующее замечание: "Я хоть и плохо знаком с концепциями бэкенда, но уже понимаю, что прокидывать call в контроллер - такая себе идея))." То есть, `прокидывать` call в контроллер нельзя. Почему и как нужно делать правильно?" Во-первых, что такое `call`? `Call` - это запрос, который приходит на сервер от клиента. Когда клиент отправляет запрос на сервер, сервер должен знать, как обрабатывать этот запрос. Здесь на помощь приходят контроллеры. Контроллеры - это классы, которые обрабатывают запросы от клиента и возвращают ответы. Контроллеры получают доступ к запросу через параметры функции. Например, если у вас есть запрос GET `/users`, который возвращает список пользователей, вы можете создать контроллер следующим образом: ``` get("/users") { val users = getUsersFromDatabase() // Получаем список пользователей из базы данных call.respond(users) // Отправляем список пользователей в ответ на запрос } ``` Теперь давайте вернемся к вопросу о том, почему нельзя прокидывать `call` в контроллер. Причина в том, что `call` - это объект, который содержит информацию о запросе, который пришел на сервер. Если вы будете передавать `call` в контроллер, то это может привести к тому, что вы начнете обрабатывать запросы вне контроллера. Это может привести к путанице и сложностям в разработке. Так как `call` содержит всю необходимую информацию о запросе, вы можете получить доступ к этой информации непосредственно внутри контроллера. Не нужно передавать его как параметр. Например, чтобы получить параметры запроса, вы можете использовать следующий код: ``` get("/users/{id}") { val id = call.parameters["id"] // Получаем значение параметра `id` из запроса val user = getUserById(id) // Получаем пользователя из базы данных по его `id` call.respond(user) // Отправляем пользователя в ответ на запрос } ``` Таким образом вам не нужно прокидывать `call` в контроллеры. Вместо этого вы можете получать доступ к `call` внутри контроллеров, используя функции-расширения Ktor. Эксперты, оцените ответ ИИ пожалуйста.
Понравился видос. Жаль только, что не прокатило сделать его до конца, т.к. heroku залочен. Очень жду видоса с Ktor+Render. Может такой уже есть, но я не нашёл. Если есть у кого ссылка, то скиньте, пож
Да, вопросик. Это бэковая часть приложухи с играми. На канале есть еще 3 части для multi. А если multi понравится, то можно купить за 5, потом 10 тыс полный курс мульти. Так?
на 1.38.50 добавил nullable тип. А у меня в задаче поле с nullable [списком] текстовых полей. Не могу в интернете найти информацию. Поля с Array действительно не поддерживается библиотекой? Как обойти проблему?
у меня postman выдает Error: socket hang up Пробовал другой порт, переключать некоторые настройки в постмане и выставил таймаут ответа - ничего не помогает
По твоему ТЗ в бэкенде в body должен прийти json, потом ты его десериализуешь, но как обрабатывать случаи когда кто-то передал пустой body ? Канечно же можно саму десериализацию обернуть в try..catch, а как это сделать без try..catch ? Как заранее проверить что body не пустой ?
на 1,45,** начал дергаться правый глаз... мало того что все перескочил, еще и показываешь в обратном порядке. т,е, надо посмотреть, а потом переписывать отматывая назад, так еще и правки начинаются, в этом безобразии.. АААа...мама
Если честно, то меня так еще в универе научили, поэтому просто уже на автомате делаю, но если вкратце разница в том что text занимает фикс место (65535 символов), а varchar столько, сколько укажешь, поэтому это своего рода оптимизация
Нет никакого смысла в данных случаях использовать try / catch. Если хочешь проверить есть ли пользователь - проверь количество возвращённых элементов в мапе. Если боишься креша соединения - нет смысла. Бэк не упадёт. Отвалится только коннект и увидишь это сразу в логах
@@MobileDeveloper 1.03.04. Exposed возвращает тебе мапу, а ты насильно вытаскиваешь их неё первый элемент, хотя лучше проверить количество или firstOrNull использовать (Фунация single используется из extension kotlin collection, а не exposed)
@@MobileDeveloper дело в том, что я по образованию инженер технолог по металлобработке, работал на многих производствах разных отраслей, начиная со слесаря, заканчивая начальником цеха...пром отрасль не развивается, расти некуда, везде ставленники-родственники, потенциал свой никак не раскрыть ,ЗП находится в замороженном состоянии...в IT я вижу бесконечность в развитии, как в профессиональном так и в уровне дохода, где в первую очередь все зависит от тебя, от твоих способностей.
Я вообще-то не сижу целый день в ожидании пока коммент напишут. Проблема понятная. Задача сложная. Никакого пути кроме как учиться нет, займёт это от года до двух. Так что вот, прикидывай
1:27 - Что за бред. Сервер для 70 экранов. Какое отношение имеет сервер к размеру экрана, и какая расскладка элементов на экране впринципе. Сервер - это хранилище данных, и контроллеры с сервисами. Какой размер например "кнопки логин" или влазит она в логин меню, или нет, слева она, или справа, это для сервера не должно быть проблемой
Вы находитесь на канале для мобильных разработчиков У мобильных разработчиков часто сложность проекта измеряется в экранах Чем больше экранов, тем больше функционала у приложения, тем больше апишек Чем больше апишек тем сложнее сервер У больших приложений часто большая аудитория Большая аудитория - высокая нагрузка на сервер Так понятнее я надеюсь?
Бесплатные альтернативы heroku - railway, render, mogenius.
Залил на эти 3 сервисы, сижу и мониторю в каком лучше остаться...
А что насчёт Docker'а?
Как успехи?
@@danilastepanov108 railway бесплатное время чуть позже середины месяца заканчивается, надо карточку добавить чтоб дальше работало, пишут что снимут в конце месяца только с учётом потраченных ресурсов, не нравится мне это, хотя при корректной установки может и дешевле выйти... Крон работы нету кажется...
Render - сервер выключается если бездействие, но если $7 заплатить тогда все норм должно работать, ну или какой-нибудь сервис в background запустить чтоб не засыпал. Крон от $1.
Mogenius - работает чётко, можно на бесплатной версий запустить 2 сервера, проблем не наблюдаю, платная версия начинается от $12. Крон работы не сделали пока, но в планах у них...
Update: mogenius с 31 марта 2023 бесплатный план будет закрыт
Если смотреть платные варианты, не прощё hetzner за 5 евро взять? Или эти сервисы прям сильно удобнее?
Формат очень понравился, спасибо за твой труд!
Рад, что понравилось!)
Поддерживаю!
Братан ,на 11 часов в самый раз)). Главное больше всего реального. Больше борьбы с граддле)). Я уже не радуюсь обновлениям в студии)). Поиск полнотекстный сейчас вроде через elastic накручивают.
Ну другие пишут наоборот типа нафига мне смотреть как кто-то мучается с градлом )
Давно хотел попробовать сделать свой бэк на котлине, а тут такой видос подъехал, спасибо большое!
Совпало )
Спасибо от дизайнера-проектировщика за правильное описание роли дизайнера.)
Очень понравилось видео. Хотелось бы вторую часть! посмотреть как с приложением связать
Очень хочется! Mobile Developer, услышь нас!
1.43:
-"Щас будет куча скучно работы, так что я сделаю магическое выключение-включение экрана и вы увидите результат"
*Хопа!*
....половина проекта переписано, а нам рассказывают про текущий файл...
(я как бы с ведущим писал, чтобы все попробовать, а в результате пришлось лезть в исходники и разбираться чо каво. Тоже самое касается и установку pgAdmin 4. Оказалось надо устанавливать сервер, а потом вместе с ним эту прогу)
Это то с чего я подгорал в этом видео. Но само видео очень интересное и как раз то что я искал. Спасибо, Алексей!
У производства видео есть некоторые особенности. Например, в данном случае я писал все последовательно, но к сожалению одна из видеозаписей крупных похерилась
Поэтому пришлось восстанавливать шаги
@@MobileDeveloper ну бывает )
В общем начиная с этого момента я потерял нить и дальше просто смотрел наматывая на ус. Но не потрогав хероку сложно представить сколько с ней надо мучиться, чтобы ее завести.
Ещё раз спасибо за видео. Пока писал код, кайфанул. Многие вещи прояснились. Особенно удивил сам ктор с его генерацией проектов - просто пушка!
Да ктор очень мощная штука согласен )
Круто! Я как раз сейчас мучаюсь с поиском инфы про бэк на ktor-e. Лайк не глядя.
Надеюсь было полезно )
Привет, получилось найти что-то полезное? Про базы данных, например
Спасибо за видео. Формат хороший. Видео понравилось. Ktor, довольно, интересный. Несколько моментов: не REST api, хотелось бы OAuth2, и с БД какие-то проблемы были (weight, а не size; string, а не double). Хранить токен админа на сервере - это мощно :). Огромное желание увидеть ролики по Android для этого бэка и для iOS.
2.17 очень короткое видео я бы сказал.
11 часов с удовольствием посмотрел) (не шутка)
Алексей, огромное спасибо за это видео
Пожалуйста )
Начал бодро понятно. В конце все скомкал и выплюнул - типа ну как то так ! Как бы Вам понравилось если бы Вам так машину в сервисе чинили - "тут мы сделали и тут, а вот тут держите детали сами пойме куда и как". Вот поэтому запад нас и "делает" в сервисе.
В сервисе платно, а это ролик в интернете
Спасибо, очень понравилось. Но хотелось бы перевыпуск части про Heroku, потому что они убрали бесплатный тариф, блин))
Можно смотреть такие большие видео: снимаешь на пять часов режешь по часу и выкладываешь в отдельный плейлист.
Офигенно, это прям то, что мне нужно было
спасибо!
как раз начал смотреть в сторону ktor для петов
а тут еще от тебя курс вышел))
лучшый курс что я только видел, спасибо за труд
Прекрасное видео! Очень помогло быстро разобраться с бэком на kotlin.
Очень ждал видео по бэкенду на котлине, спасибо!
поддерживаю!
Благодаря Вашему видосу успешно залил свой мини сервак)
Респект! Братан, ваще огонь, давай, давай! Больше контента)💥💥🤪
Привет, а ты делал сервер на Heroku или использовал что-то другое?
@@beckaksel8783 привет! Сделал на Heroku, потестил и удалил. У них уже нет бесплатного тарифа.
Буду сейчас пробовать Hetzner (5$/month) - это просто хостинг Линукс сервера. Буду заливать docker с Ktor туда. И докер БД какой-то.
Я смотрел, есть хорошие аналоги Heroku: Railway, Render с бесплатными тарифами. Но пока склоняюсь к hardcore варианту - самому разобраться с сервером)
@@alekseyblekot119 Спасибо за ответ) Я так понимаю, что ты попал еще на бесплатный тариф у Heroku? Сам вот сейчас хочу сделать сервер и выбираю бесплатные аналоги. Как вариант, рассматриваю Back4app и Amvera, но надо глянуть и на твой список)
@@beckaksel8783 не, там уже был платный. За неделю, вроде ничего не сняли с меня. Я удалил там приложение свое. О, я на твой список тоже гляну))
Все очень круто и классно ровно до хероку, запутался с закрашенными полями
Лайк. Пользуй автоформатирование Ctrl+alt+l, и optimize import ctral+alt+shift+l. А то часто ошибочные импорты вручную удаляешь. Хотя уверен и так все знаешь. Крутые видосы. Кайфую. После 2 лет на java смотрю Котлин. Легко заходит. Роутинги и валидация реально круто сделаны. Не то что на java
Спасибо )
Спасибо Алексей!
Пожалуйста)
Alex спасибо за Jun starter pac)))).Формат, а особенно тема огнище!!!
Таким образом можно и стать full. Конечно хочу что бы все было свое back особенно. Спасибо за видео. Ещё хотел спросить можно же сделать back на kotlin а сам приложуху на flutter тут же работа чисто запросы на базу то есть на kotlin back?
Благодарю.
очень сильно надо ещё! Спасибо!
Топ, отложил для пет проекта, спасибо. Хочется в ти-шейп
Спасибо)
круто. искал материал по Ktor. На русском вообще ни чего нет. Спасибо что сделал мини курс) но появились вопросы.
1) Exposed не поддерживает миграцию? При каждой реструктуризации бд нам нужно в ручную создавать таблицы, добавлять колонки?
2) будут ли еще видосы на данную тему?
3) Ktor работает на корутинах, было бы не плохо по больше про это рассказать)
Привет ) exposed это просто сахар поверх базы, он позволяет легче работать с ней. ORM (object relation map) одним словом.
Ещё видео думаю будут но позже
Про корковидные много всякого на канале
делал бэкэнд на ктор, в качестве орм выбрал ktorm , рекомендую, очень логичная и понятная. для обоих информацию брал с офф сайта, на английском, но все понятно.
Exposed поддерживает создание таблиц с нуля. Миграцию вроде тоже, но не проверял
Оч круто, спасибо за видео! Жаль только, что Heroku теперь отключил бесплатный план. Еще и из России ушел(
Имхо надо продвигать на Котлине микросервисные приложения для конкуренции с Go, так как Котлин быстрее и производительнее чем GO - а это наверное для многих большая неожиданность.
41:19 только недавно начал втягиваться в Котлин, прикольный пример кстати, я делал через find { it.param == param } потом уже проверял в найденном contains, попробую как ты сделать ))
Легенда, спасибо
Спасибо огромное! Очень понравилось, Я впервые в эту тему зашел, и первая надпись получилась, высветилась надпись от сервера в постмане, хотя я сервер по этому видео только что создал скачал, загрузил в андроид студио, запустил сервак ток надпись поменял на свою! Запустил в браузере, смотрю блин НОЛЬ, думаю какого блин Х ниче не работает, смотрю заного, замечаю какую то прогу постман, скачал, зарегался, что то понажимал, в общем запустил постман и в запросе GET получил свою изменённую надпись в консоли...
теперь буду дальше смотреть, пока досмотрел до 25 минутыи блин я уже программист!!!!!!!!
Крутая история 😀
Года два-три назад писал свой сервер. Смотрю видео как дежавю)) Тогда это видео мне помогло бы ускориться. Хотя... После андроид разработки на Котлин, пишешь веб сервер на ктор как что-то своё родное, не мучаешься, как раньше, со всякими пхп и прочим архаизмом.
Токены делал на JWT. Это очень удобная штука. БД - Maria. Все летает на относительно простом железе (ай5-8400, 32ГБ) даже в пиковые нагрузки около 15-20 соединений в секунду.
Спасибо) поизучаю )
У вас собственный сервер дома?
@@misterex99 Ну можно и так сказать. На NAS все развернуть можно. Лишь бы был докер)
@@beeline09 я хочу арендовать vps 2 гига, 2 ядра, 45гиг ssd, 3 терабайт трафика за 500р в месяц, он для тестов с ktor подойдёт, как вы думаете?
@@misterex99 если можно запустить контейнер для Java приложений, то почему бы и нет. Tomcat или что-то подобное должен поддерживать
О, супер, спасибо большое, как раз нужно что-то быстренько сделать. Выбор был либо использовать python, flask например, но очень хотелось на родном kotlin)
Ещё бы кратенько как собрать все в докер контейнер)
Надо будет подумать да над этим)
19:04 очень крутая подача и сама идея сама по себе интересная но блин, шрифты бы чутка по более а то с телефона не видно ничего)
Вооотт это тема! Большое спасибо Алексей! Я как-то хотел написать сервер на кторе себе, но ничего не понимал, потыкат потыкал и забил... А это видео очень полезно! Думаю что заново начну бэк писать, щас на Firestore проектик пишу, но 100% переведу на свой бэк, вопрос времени)))
Мне очень понравилось) Правда в современных условиях видимо нужно отдельное видео как залить бэк не в хероку а куда-нить типа облака мейл ру)
@@MobileDeveloper хаха да это точно)
Спасибо ! Уникальный контент!
Спасибо )
Очень понравилось видео
Подписался, ждем продолжение как связать с приложением. )
Оно уже лежит частично на канале, в плейлисте по кмм
@@MobileDeveloper Большое спасибо. Вы гениальный учитель. Пенсию получу 18 числа, поддержу канал. Спасибо!
Спасибо )) Можно купить курс целиком в заглавном видео из того плейлиста
@@MobileDeveloper ой, а можно ткнуть носом, а то в моем возрасте прям сложно в пк. А детей дома нет. Это мое хобби. Что бы на старости сохранить ум, да время убивать. Учусь. Всю жизнь учился на заводе, теперь вот другой станок.
Это очень классно, что вы этим занимаетесь. Вот, если вы из России, то оно доступно вот здесь
boosty.to/mobiledev/posts/942f2091-f2fd-4462-8ed4-e7f03efe645a?share=post_link
🔥однозначно лайк!
Спасибо)
Оооо, как раз недавно скучал, хотел написать бэк к пет проекту
Мне бы так скучать (
@@MobileDeveloper Когда ты джун+ и рабочие задачи не капают это грустно, приходится искать ещё одно место чтобы развиваться (ну и пет проекты писать)
Спасибо!
Видос 1000/10 спасибос
Алексей спасибо, очень крутое видео, продолжай плиз в том же духе
Стараемся) спасибо)
id в базе логичнее конечно сделать сразу uuid и генерацию переложить на БД
Если используется exposed генерацию на бы не переложить. Под капотом он сам генерит uuid
Супер 🔥
Давай, круто
Спасибо
Видео отличное, спасибо! Очень помогло решить вопрос с точки зрения сервера с пет-проектом. Единственное, никак не удается настроить связь с БД Heroku, и в видео об этом не до конца рассказано, к сожалению, в части конфигов. Не посоветуете, где можно подглядеть или кто может подсказать в итоге в части настроек?
Спасибо большое, давно хотел освоить бэк на котлине) подскажите, а где можно найти видео с андроидом (где этот юэк уже в андроиде применяется)?
Ееее🔥🔥🔥годно
Спасибо! )
Огромное спасибо, жаль, что у меня только один лайк
смотрю 07-06-2024 г. - сериализация уже по дефолту устанавливается при создании ktor-сервера
видео очень красивое и четкое. видео очень поможет разработчикам Android. но у меня есть один вопрос? как создавать фоновые изображения, видео, музыку и подобные файлы? Я не смог найти никакой информации об этом в Интернете.
Увидил доту, поставил лайк
Mid or Feed?
добрый день! Спасибо за видео, просто пушка, коротко и понятно! А как теперь это залить куда-то?
48:56 я когда более менее бэк учил для этого сохранял все данные в json типо база была ))
Я прочитал это и пишу коммент! Тест на внимательность пройден :D
Ахахах ) прикольно )
12:14 Вполне себе полнотекстовый поиск может быть отдельной сущностью на уровне сервера, если используются условные ElasticSearch, Solr или Sphinx
Согласен да
1:52:25 Автодеплой видимо не работает потому, что стоит чекбокс "Wait for CI before deploy"
Видео по своему хороши на 6 часов или 11 часов
мне бы зашло и видео на 11 часов))
:D Может когда-то и сниму)
В быстром доступе папка Бабушка Галя)🍩🍪🍰
Я даже не джун , но хостинг себе давно сделал . Аренда сервака это около 15 тысяч рублей в месяц + много допов .
Хостинг + домен это самое оно . Менее 1000 руб в год . Простенькие скрипты php + mysql позволят в полной мере использовать базы данных . Андроид студио при подключении к хостингу будет давать ошибку . Надо покупать сертификат . На нормальных хостингах он в подарок . Без него много геморроя и я хотел бы посмотреть его решения (они есть) .
Необязательно арендовать целую тачку (сервер) . Достаточно будет VPS решения. Условные 150-200 рублей/месяц, за 1 ядро/1ГБ ОЗУ/20ГБ SDD . Домен покупаем где нравится/хотим., если есть возможность, то можно брать сразу же у хостера серваков и проблем будет еще меньше. Сертификат бесплатный можно потом на впске уже сделать за пару минут, заюзав бесплатный Let's Encrypt.
@@tequilaonelove точно
1:10:20 я хоть и плохо знаком с концепциями бэкенда но уже понимаю что прокидывать call в контроллер такая себе идея))
Потом тоже это понял да
Я посмотрел видео о том, как создать свой сервер на Kotlin с помощью Ktor. В комментариях я увидел следующее замечание: "Я хоть и плохо знаком с концепциями бэкенда, но уже понимаю, что прокидывать call в контроллер - такая себе идея))." То есть, `прокидывать` call в контроллер нельзя. Почему и как нужно делать правильно?"
Во-первых, что такое `call`? `Call` - это запрос, который приходит на сервер от клиента. Когда клиент отправляет запрос на сервер, сервер должен знать, как обрабатывать этот запрос. Здесь на помощь приходят контроллеры.
Контроллеры - это классы, которые обрабатывают запросы от клиента и возвращают ответы. Контроллеры получают доступ к запросу через параметры функции.
Например, если у вас есть запрос GET `/users`, который возвращает список пользователей, вы можете создать контроллер следующим образом:
```
get("/users") {
val users = getUsersFromDatabase() // Получаем список пользователей из базы данных
call.respond(users) // Отправляем список пользователей в ответ на запрос
}
```
Теперь давайте вернемся к вопросу о том, почему нельзя прокидывать `call` в контроллер. Причина в том, что `call` - это объект, который содержит информацию о запросе, который пришел на сервер. Если вы будете передавать `call` в контроллер, то это может привести к тому, что вы начнете обрабатывать запросы вне контроллера. Это может привести к путанице и сложностям в разработке.
Так как `call` содержит всю необходимую информацию о запросе, вы можете получить доступ к этой информации непосредственно внутри контроллера. Не нужно передавать его как параметр.
Например, чтобы получить параметры запроса, вы можете использовать следующий код:
```
get("/users/{id}") {
val id = call.parameters["id"] // Получаем значение параметра `id` из запроса
val user = getUserById(id) // Получаем пользователя из базы данных по его `id`
call.respond(user) // Отправляем пользователя в ответ на запрос
}
```
Таким образом вам не нужно прокидывать `call` в контроллеры. Вместо этого вы можете получать доступ к `call` внутри контроллеров, используя функции-расширения Ktor.
Эксперты, оцените ответ ИИ пожалуйста.
Понравился видос. Жаль только, что не прокатило сделать его до конца, т.к. heroku залочен. Очень жду видоса с Ktor+Render.
Может такой уже есть, но я не нашёл. Если есть у кого ссылка, то скиньте, пож
Как же давно я ждал эту тему! Ура!
Ура! )
Да, вопросик. Это бэковая часть приложухи с играми. На канале есть еще 3 части для multi. А если multi понравится, то можно купить за 5, потом 10 тыс полный курс мульти. Так?
Да все так ) Я скоро выложу 4 часть ну и так далее, но там еще штук 30 частей так что )
Начал смотреть и ... пошел изучать почтовика.
Почтовика?
@@MobileDeveloper ну да. Почтальон - это как то не то.
Ну, вот и почтовик позади. Как то сходу нарвался на прекрасный урок, замутил автотест апишки какой-то, прикольно.
Погнали дальше.
сейчас апи поменялось и install(plugin = ContentNegotiation ) выглядит по другому( а документации нет(
по релейшинам в экспозед будет видео?
Установите jvm, скажите котлину тот передаст jave в ней есть библиотека, jvm запустит😊
на 1.38.50 добавил nullable тип. А у меня в задаче поле с nullable [списком] текстовых полей. Не могу в интернете найти информацию. Поля с Array действительно не поддерживается библиотекой? Как обойти проблему?
Ktor крутая штука, но мне всё же больше нравится писать бэк на пхпшном Ларавеле
Почему?
@@MobileDeveloper потому что он кокснифер
41:00 - ах вот откуда дыры в приложениях берутся :)))
А потом персональные данные утекают! )
Что только люди не придумывают, лишь бы не использовать PHP. )))
у меня postman выдает Error: socket hang up
Пробовал другой порт, переключать некоторые настройки в постмане и выставил таймаут ответа - ничего не помогает
По твоему ТЗ в бэкенде в body должен прийти json, потом ты его десериализуешь, но как обрабатывать случаи когда кто-то передал пустой body ? Канечно же можно саму десериализацию обернуть в try..catch, а как это сделать без try..catch ? Как заранее проверить что body не пустой ?
@@Valentin-zx8wr а если злоумышленник через curl или postman будет прощупывать сервак на наличие уязвимостей ?
@@Valentin-zx8wr а если злоумышленник через curl или postman будет прощупывать сервак на наличие уязвимостей ?
Как сейчас сервер без хироку опубликовать?
По Android и по iOS видео уже сняты ? Дайте ссылки плиз.
Стишок про "и стало их 10" на 13 минуте - это случайно не стишок про 12 негритят?
а продолжение будет по ktor?
Heroku не хотят регистрировать аккаунт, так как я из России, пишут, что не ведут бизнес в этой стране. Вот так
Если все с первого раза запустилось, значит что то тут не так. 😂😂
на 1,45,** начал дергаться правый глаз... мало того что все перескочил, еще и показываешь в обратном порядке. т,е, надо посмотреть, а потом переписывать отматывая назад, так еще и правки начинаются, в этом безобразии.. АААа...мама
Можешь нубасам в бд объяснить, почему ты для типа данных столбцов берёшь character varying вместо text? Это какой-то осознанный выбор?
Если честно, то меня так еще в универе научили, поэтому просто уже на автомате делаю, но если вкратце разница в том что text занимает фикс место (65535 символов), а varchar столько, сколько укажешь, поэтому это своего рода оптимизация
Нет никакого смысла в данных случаях использовать try / catch. Если хочешь проверить есть ли пользователь - проверь количество возвращённых элементов в мапе. Если боишься креша соединения - нет смысла. Бэк не упадёт. Отвалится только коннект и увидишь это сразу в логах
А какой тайм код?
@@MobileDeveloper 1.03.04. Exposed возвращает тебе мапу, а ты насильно вытаскиваешь их неё первый элемент, хотя лучше проверить количество или firstOrNull использовать (Фунация single используется из extension kotlin collection, а не exposed)
Буду знать, спасибо )
Создавать таблицы руками - это сильно. Миграции использовать религия не позволила?
Да это писец )))
Называется на коленке лиш бы кликалось.
а есть курс для чайников с самого начала?
С самого начала это откуда )
Я думал ток мне хочется постоянно писать response
почему не firebase использовали?)
Так в этом смысл ) видео о том как сделать сервер не через файрбейз. Причём я во вступлении об этом говорю
@@MobileDeveloper спасибо)
Самый дешёвый и простой бэк на php, можно ещё node js. Хотя для мобилок то конечно если ты сидишь на java-kotlin, зачем ещё что то кроме jvm
еще и в игры успеваешь играть.. сколько часов в твоих сутках???
24 ))
Заебца
Добрый день) как залететь в IT, завод уже задолбал ((( дайте фидбэк с помощью...
А зачем оно тебе?
@@MobileDeveloper дело в том, что я по образованию инженер технолог по металлобработке, работал на многих производствах разных отраслей, начиная со слесаря, заканчивая начальником цеха...пром отрасль не развивается, расти некуда, везде ставленники-родственники, потенциал свой никак не раскрыть ,ЗП находится в замороженном состоянии...в IT я вижу бесконечность в развитии, как в профессиональном так и в уровне дохода, где в первую очередь все зависит от тебя, от твоих способностей.
@@MobileDeveloper я тебя понял, спасибо
Я вообще-то не сижу целый день в ожидании пока коммент напишут. Проблема понятная. Задача сложная. Никакого пути кроме как учиться нет, займёт это от года до двух. Так что вот, прикидывай
Я вторую вышку за 3 года закончил по ускоренному курсу. Несколько учебных проектов + пет проект. Изучал js реакт. Залетел на фронтенд на изи.
Heroku:
Closed for new business
We do not accept sign-ups from your country.
Впн в помощь как говорится ) но видео я писал до всех этих событий :(
1:27 - Что за бред. Сервер для 70 экранов. Какое отношение имеет сервер к размеру экрана, и какая расскладка элементов на экране впринципе. Сервер - это хранилище данных, и контроллеры с сервисами. Какой размер например "кнопки логин" или влазит она в логин меню, или нет, слева она, или справа, это для сервера не должно быть проблемой
Вы находитесь на канале для мобильных разработчиков
У мобильных разработчиков часто сложность проекта измеряется в экранах
Чем больше экранов, тем больше функционала у приложения, тем больше апишек
Чем больше апишек тем сложнее сервер
У больших приложений часто большая аудитория
Большая аудитория - высокая нагрузка на сервер
Так понятнее я надеюсь?