百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT文章 > 正文

作为一名独立开发者,我是如何建立我的科技创业公司的

chenpack 2024-11-05 10:01 675 浏览 0 评论


时间飞逝!以下是作为独立开发者经营一家科技公司近一年后的一些想法、提示和错误。


作为一名独立开发者,我是如何建立我的科技创业公司的

作为独立开发者一年后的最终产品

我在建造什么??

我有一个想法,我想为健身房和运动员构建一个 Crossfit 训练应用程序。我将它命名为Dreamwod ,并在App Store和Google Play上推出了它。我一直在构建的东西是两个应用程序,一个用于 iOS,一个用于 Android,一个后端 API 和一个公司网页。

本文将讨论技术堆栈、工作方式、我学到了什么以及我犯了哪些错误。

决定技术栈

我对技术堆栈的要求如下。

后端和操作

  1. 快速的开发和迭代时间。
  2. 易于在本地运行。
  3. 易于扩展后端/能够处理高负载。
  4. 易于部署。
  5. 尽可能简单。

应用程序开发

  1. 易于学习(我没有任何 iOS 应用程序开发经验)。

堆栈

后端 - Golang

后端选择的语言是 golang。我想要一些易于学习、快速编译、具有良好性能并且在生产中占用内存和 CPU 占用率低的东西。

应用程序 — Flutter ??

我对 iOS 或 Android 没有太多经验,我想要两个平台的应用程序,所以决定很容易,试试 Flutter 看看它是否有效。

数据库——PostgreSQL

选择数据库时,我有几个可用的选项。我做出决定的假设是,

  • 数据将在用户之间共享,即应用程序中的数据不仅由上传它的用户查看和编辑。
  • 我会有一些连接和互连的表。
  • 我假设我想要支持全文搜索并且不想在 ElasticSearch 或类似的东西上花费时间和精力。

决定使用 Postgres。它通过pg_trgm扩展获得了开箱即用的全文搜索支持。它还对带有postgis扩展的 PostGIS 提供了良好的支持,因此可以轻松计算从用户到健身房的坐标和距离。

云 — GCP ??

我查看了两种托管选项:Google Cloud Platform (GCP) 和 AWS。我选择 GCP 是因为我可以在 Cloud Run 上运行后端 API,并且只需支付处理时间,在开发和测试期间基本上为零。

我一直在使用的其他一些有用的工具,

用于构建容器的Cloud Build 。由于我是唯一的开发人员并且没有构建那么多容器,所以我很容易在他们每天 120 分钟的空闲时间内。

云存储用于用户上传的内容。

Pub/sub用于异步处理,请参阅文章了解我如何使用可以在本地开发以及轻松将其部署到 GCP 的方法。

现在每月的账单大约是 30 美元,其中最大的两个服务负载均衡器是 CDN 18 美元和 Postgres 10 美元。当我获得更多用户并需要使用更大的数据库实例时,这笔费用当然会增加,但对于相当多的用户来说,成本应该仍然相当低。

电子邮件 — Mailgun

那里有很多选择,因为我过去使用过它们,所以我选择了 Mailgun。

付款 - 条纹

我正在应用程序中添加对订阅的支持,使用 Stripe 是一个不错的决定,因为他们有一个订阅门户供用户取消和更改订阅。

公司网页 — Webflow

我选择 webflow 作为公司网页的框架/工具。我一直在寻找一些简单的东西,我可以设置然后忘记。网页可在www.dreamwod.app获得。

工作方式

没有测试

这种说法并不常见,也许稍后会证明这是一个错误,但这里是我没有在后端项目中添加超过 5-10 个测试的主要原因。

  • 作为单独的开发人员(后端、前端、QA),我将在实现前端时测试后端代码。
  • 添加测试需要很多时间。在构建这个应用程序时,需要进行大量的试验和尝试想法,并为我不会使用的东西添加测试会减慢开发速度。
  • 我测试的东西主要是与正则表达式相关的解析,因此与直接测试 API 相比,编写测试更快。

单体而不是微服务

使用一项服务而不是微服务策略总是有点争议,但我只有一个后端 API/服务的原因是这样的。

  • 我不想花时间定义合同/API 和解决多服务方法带来的与托管相关的问题。
  • 在开始一个新项目时,很难知道在哪里将单个服务拆分为不同的服务。我敢打赌,如果/当需要时,以后这样做会更容易。
  • 我的系统没有太多负载,因此我没有任何性能瓶颈问题或后端需要优化的特殊流程。

话虽如此,将代码划分为不同的区域/域并且在代码库中没有“意大利面条代码”当然仍然很好。

我学到了什么?

  • “最后 20% 需要 80% 的时间”,这是一句名言,但对我来说确实如此。最后的事情比预期花费的时间要长得多
  • 独自工作意味着我没有任何严格的截止日期,但很难集中精力。我了解到,对我来说,如果我在编码、培训等方面拥有尽可能多的例程,就像在正常的朝九晚五的工作中一样,那效果最好。典型的一天是午餐前的一次编码会议,一个较长的午休时间和健身房课程,然后是下午的编码会议。

在 Tech Stack 中我会做些什么不同的事情?

总的来说,我对技术堆栈非常满意,而且我不会改变很多事情。但我会做不同的一些事情是:

  • 我会调查 GraphQL API 是否会比 REST API 更好。
  • 我有点担心在全球范围内扩展解决方案可能会很棘手(让我们看看是否需要它)。数据库和服务现在托管在比利时的数据中心,如果有人从美国或巴西使用它,就会有很高的延迟。

从产品的角度来看,我会做些什么不同的事情?

有时,采用“快速简单”的解决方案而不是“正确的解决方案”会更好。

  • 一个例子是,当我开始使用 Cloud Run 时,它还是个新事物,它们不支持从 GCP Secrets Manager 中检索机密等某些功能。我花了一些时间来实现一些相关的东西,如果我只是做一些快速简单的 hack,然后等待 Google Cloud 的适当支持会更好。

结论

回顾事情并思考那些没有按计划进行的事情总是很容易,但是思考实际上效果很好的事情同样重要,这就是我写这篇文章的原因之一简短的文章——反思那些行之有效的事情。

如果您正在考虑以独立开发者的身份创办一家公司,请停止思考并去做!其乐无穷!

相关推荐

RouterOS 端口映射 (远程桌面)

一款功能强大的路由器系统-软路由-RouterOS推荐一款路由器系统,头条有很多喜欢使用软路由伙伴可能有很多都不知道RouterOS这个路由系统是,RouterOS是由拉脱维亚MikroTik...

神经网络中的编码器 神经网络视频编码

神经网络算法-一文搞懂Transformer(总体架构&三种注意力层)本文将从Transformer的本质、Transformer的原理、Transformer的应用三个方面,带您一...

必备资料103个WindowsXP运行命令

Windows中CMD最全命令行CMD命令:开始->运行(或者Windows+R)->键入cmd或command(在命令行里可以看到系统版本、文件系统版本)CMD命令锦集1.gpedit...

固态硬盘无法格式化怎么办

Windows中固态硬盘无法格式化怎么办?固态硬盘(简称SSD)是一种数据存储设备,与传统机械硬盘相比,它在许多方面表现得更好。因此,越来越多的用户希望使用固态硬盘,但是当人们购买固态硬盘后准备将其格...

手机信令数据分析_手机信令数据分析过程代码

清华大学公共管理学院刘志林教授:探索手机信令数据在城市治理中的应用中国发展网讯日前,由中国人民大学首都发展与战略研究院(以下简称“首发院”)主办的首都大讲堂(第7期)暨地方治理工作坊第二期在京举办。...

python开发ping工具 ipad python开发工具

python之ping主机#coding=utf-8frompythonpingimportpingforiinrange,):ip=&#;.&#;+str(i)...

云容灾关键技术点简介_云容器技术

阿里云发布企业级云灾备解决方案:一键容灾、成本节省%5月日,阿里云对外发布了企业级云灾备解决方案。据介绍,此次发布的灾备解决方案来自阿里巴巴IT基础设施云化的灾备经验,完全省去灾备机房的建设规划,可大...

域名泛解析设置_域名解析包括泛域名解析

如何降低域名被恶意泛解析的风险买车用车不想被忽悠,就请关注缸微信号:kf12gang←长按可复制。我们每天将免费为您解答选车用车的相关问题。作者:QQ126058域名被恶意泛解析是域名安全最常见的问...

人人通云平台怎么注册 人人通云教学登录账号

世界那么大,她看到了:一个心理咨询师的十年心灵之旅来源:环球网“世界那么大,我想去看看。”十年前的那个春天,十个字的辞职信,戳中了无数国人的心,激起了无数个“诗和远方”的小梦想,被称为“史上最具情怀...

民用远程监控手机软件_民用远程监控手机软件下载

屏幕监控软件有哪些?3款好用的监控软件分享!管控摸鱼小case!作为企业管理者,我深知员工工作效率和信息安全的重要性。在日常管理中,我时常会遇到这样的难题:员工是否在认真工作?有没有利用公司资源做与工...

重量级!Maven史上最全教程,看了必懂

对8个MCP服务器框架的比较作者:FrankGoortani编译:小兰引言模型上下文协议(MCP)是一种新标准,用于以统一方式将AI助手(如LLM)与外部数据源和工具连接起来。自推出以来,各种框架已...

面试字节跳动,收到offer后我却拒绝了 ,给面试人的一些忠告!

面试字节跳动,我被面试官狂怼全过程!来源:https://www.zhihu.com/question//answer/人们都说,这个世界上有两种人注定单身,一种是太优秀的,另一种是太平凡的。我一听呀...

ps1手柄 python Ps1手柄真假

别再花冤枉钱!教你一分钟辨别“真假”超皮秒▌什么是超皮秒?皮秒激光,就是每个激光发射的脉冲持续时间(脉宽)达到皮秒级别的激光;1ps等于的负次方秒,超皮秒其实是一种商业名称,本质上也是皮秒激光设备,我...

路由器接交换机UPLINK还是

最全攻略!网络小白也能看懂的交换机连接方法号主:老杨丨年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部中午好,我的网工朋友。在网络设备的世界里,交换机是不可或缺的存在。不同的连接方法...

tempdb 清理 tempdb可以删除吗

无需改代码,提高SQLSERVER数据库性能的个最简单方法众所周知SQLSERVER是微软的数据库拳头产品,有着图形化友好界面、操作门槛低、部署难度小,一键式安装的特点,受到全球开发者及企业的青睐...

取消回复欢迎 发表评论: