• Как работать с базой Postgresql в Kotlin/Native?

    @svok
    Kotlin - это действительно довольно универсальный язык, который применим во многих направлениях, не только в Android.
    Что касается Postgres, конечно же есть множество ORM-ов. Среди них наиболее известные:

    Однако, Native из них поддерживает только SqlDelight, другие два - исключительно JVM-ные проекты.
    Но и с SqlDelight тоже не все так хорошо. Да, он мультиплатформенный проект, среди поддерживаемых им платформ есть и Native, включая Linux и MacOS. Только вот среди поддерживаемых БД в Native платформе перечислена только одна и это SQLite. Нативного драйвера для Postgres в официальной коробке не предусмотрено. Мантйенеры для этого предлагают использовать стороннюю библиотеку postgres-native-sqldelight.
    По факту, Postgresql в мультиплатформенном режиме не работает в SqlDelight. По крайеней мере на текущий момент и в заявленном штатном режиме. В частности, генерация JVM-кода происходит в область commonMain и исправить это без багфиксов библиотеки невозможно.
    Наверное, можно запустить Postgres в костыльном варианте, использовав заклинания с упоминанием какой-то матери. По крайней мере есть даже пара публикаций об успешном запуске postgres-native-sqldelight.

    Если не брать ORM, то есть вот такой проект: https://github.com/moreirasantos/pgkn. Насколько он рабочий, пока сказать не могу, но вижу в нем поддержку linuxX64. Если же эта библиотека не подойдет, всегда остается в Kotlin Native использовать штатную библиотеку libpq
    Ответ написан
    Комментировать
  • С чего начать разработку стартапа?

    @svok
    1. Ни в коем случае не пишите ТЗ. ТЗ - это только для заказной разработки. Составление ТЗ сравнимо по времени с созданием минимальной версии продукта (MVP) и всего лишь отражает ваши галлюцинации о вашем стартапе. Ценность его нулевая.
    2. Начинать нужно с изучения теоретического материала по теме стартапов. Посмотрите доклады ФРИИ на youtube. У них есть очень хорошая стартап-школа, все доклады выложены в открытом доступе.
    3. Найдите себе партнера, который дополнит ваши пробелы в компетенциях. В вашем случае имеет смысл взять, например, опытного фулл-стек разработчика, а вам прокачаться по бизнесовой части. Либо привлекать маркетолога-продажника в команду, а вам осваивать разработку. Ну или команду собирать из более 2 человек, но это сложнее. Дополнительный плюс партнера в повышении взаимной ответственности: вы друг друга будете пинать в случаях, когда при других обстоятельствах вы бы расслабились и отложили дело на потом.
    4. Обязательно с партнером детально обсудите условия работы, в том числе возможные конфликты, способы выхода одного из вас из бизнеса, порядок закрытия проекта. В какой-то момент должен появиться детальный корпоративный договор. Поверьте, это очень нужно, чтоб потом годами не судиться.
    5. Планомерно работайте по трекшн-карте (firrma.ru/data/articles/3482/?sphrase_id=15453). Особенно нужно научиться проблемному интервью и продаже. В идеале, у вас должны быть заготовки, чтоб вы смогли сделать MVP течении месяцев 2 после проблемного интервью.
    6. Ни в коем случае не привлекайте внешних средств до подтверждения спроса. Если вам потребовалось 30 k$, то это значит, что ваш проект яйца выеденного не стоит. Внешние деньги привлекать можно ТОЛЬКО для расширения уже действующего бизнеса.
    7. Сожмите ваш проект до минимума, который можно вообще продать (MVP). Вместо Андройд и iOS сделайте один web на первом этапе (ну или попробуйте изучить Flutter).
    Ответ написан
    Комментировать