开始前的准备

简介: 开始前的准备产品理念在开始之前,我们需要先理清产品的理念,这是指导整个产品走向的关键部分。只有清晰地知道想要打造一个怎样的产品才能很好地落地。这是一个垂直类的搜索引擎,但不仅限于搜索,应该是一个真实有效信息和价格分析的集合。

开始前的准备

产品理念

在开始之前,我们需要先理清产品的理念,这是指导整个产品走向的关键部分。只有清晰地知道想要打造一个怎样的产品才能很好地落地。这是一个垂直类的搜索引擎,但不仅限于搜索,应该是一个真实有效信息和价格分析的集合。

准备

以下罗列的一些技术上的选型不一定适合每个项目,但技术选型从来都是根据实际情况和技术储备来做决定的。

语言的选择

这似乎是每一个互联网创业团队首要面临的问题;也是各语言攻城狮之间争论不休的话题。作为一个对语言没有偏见的程序猿,这将不会局限于采用哪种语言来实现。我想每种语言存在肯定有其存在的理由,只是适用于不同场景而已。因此,在这个项目程序分如下几个部分:

数据采集使用scrapy(python)

之所以选择scrapy是由于scrapy是一个现成完善的爬虫框架,更重要的是本人用这个框架采集过相应的数据。对这个框架不了解的同学,可以参考之前写的scrapy爬虫系列文章。

后台权限管理使用django(python)

django是一个完善的权限管理系统,可以最大限度降低不必要的编程工作。可以非常简单地上手使用,但前提是有一定的编程基础。有关django快速入门可参考:django快速入门

搜索部分使用elastic search(java)

elastic search是一个java编写的分布式搜索引擎,提供restful接口的数据,无论是python还是java都可以很好地通过api获取相应的搜索数据。

前端呈现部分,django/php

前端搜索结果的呈现可以采用django或者pyton,样式采用简单易用的bootstrap。这样可以较好地降低不必要的开发工作,以最低成本另项目上线。

数据库

毫无疑问是mysql

操作系统

拥抱开源,操作系统centos 7

docker的使用

为了快速搭建一套可运行的环境,这期间将采用docker搭建所有可能的运行环境。避免在环境上耗费过多的精力。

主机购买

  • 阿里云
  • 腾讯云

域名的购买和备案

  • 万网
  • 西部数码等

域名解析

  • dnspod

持续集成和自动化部署

  • jenkins

上述提到的各个部分,不一定在某一个时间段内完成。也许是穿插在整个产品开发的始终。也许有人会有疑问,一个产品需要使用这么复杂的技术面吗?一个Java就可以搞定,又python,又php。确实,上述提到的技术Java都可以搞定,但作为一个对技术语言没有偏见的人来说,什么语言适合干什么事情就用什么语言。这样可以简单高效地达到目的再好不过了。

这只是开始前的一个大体思路,也许在执行过程中会有很大的出入。例如持续化集成和自动话部署刚开始肯定没有,甚至有可能到很后期都不会有。因为在人员不多的情况下,自己写个脚本部署一下即可。没有必要耗费太多的精力在这些无关紧要的事情上;技术应该是为产品服务的,而不应该为了用而用。

相关文章
|
网络协议 Unix API
iOS - Socket 网络套接字
1、Socket 套接字 所谓 Socket,通常称为 “套接字”,网络应用程序通过套接字向网络发送请求或者应答网络请求。Socket 通常用于描述 IP 地址和端口,是应⽤层与 TCP/IP 协议族通信的中间软件抽象层,它是一组接口,是一个通信链的句柄,可以用来实现不同虚拟机或者不同计算机之间的通信。
1977 0
|
调度
关于定时任务,看着一系列就够了——2.Cron表达式
软件开发定时任务基础—— Cron 表达式介绍
1455 0
关于定时任务,看着一系列就够了——2.Cron表达式
|
8月前
|
前端开发 API
基于若依的ruoyi-nbcio的flowable流程管理系统增加服务任务和我的抄送功能
基于若依的ruoyi-nbcio的flowable流程管理系统增加服务任务和我的抄送功能
119 0
|
8月前
习题6-3 使用函数输出指定范围内的完数 (20分)
习题6-3 使用函数输出指定范围内的完数 (20分)
用ChatGPT制作ppt
用ChatGPT制作ppt
135 0
|
编解码 前端开发 小程序
微信小程序canvas画布不清晰解决方法
微信小程序canvas画布不清晰解决方法
|
开发者
vue3列表页面开发最佳实践案例
vue3列表页面开发最佳实践案例
187 0
|
SQL 存储 关系型数据库
MySQL not exists 真的不走索引么?
在一些业务场景中,会使用NOT EXISTS语句确保返回数据不存在于特定集合,部分同事会发现NOT EXISTS有些场景性能较差,甚至有些网上谣言说”NOT EXISTS不走索引”,哪对于NOT EXISTS语句,我们如何优化呢?
399 0
MySQL not exists 真的不走索引么?
|
消息中间件 存储 负载均衡
【Kafka从入门到放弃系列 零】Kafka看这一篇就够了(一)
【Kafka从入门到放弃系列 零】Kafka看这一篇就够了
310 0
|
存储 缓存 文件存储
408操作系统学习笔记——文件管理(三)
408操作系统学习笔记——文件管理
574 1
408操作系统学习笔记——文件管理(三)