开始前的准备

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

开始前的准备

产品理念

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

准备

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

语言的选择

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

数据采集使用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
iOS - Socket 网络套接字
1、Socket 套接字 所谓 Socket,通常称为 “套接字”,网络应用程序通过套接字向网络发送请求或者应答网络请求。Socket 通常用于描述 IP 地址和端口,是应⽤层与 TCP/IP 协议族通信的中间软件抽象层,它是一组接口,是一个通信链的句柄,可以用来实现不同虚拟机或者不同计算机之间的通信。
1930 0
|
调度
关于定时任务,看着一系列就够了——2.Cron表达式
软件开发定时任务基础—— Cron 表达式介绍
1254 0
关于定时任务,看着一系列就够了——2.Cron表达式
|
10月前
用ChatGPT制作ppt
用ChatGPT制作ppt
89 0
|
12月前
|
机器学习/深度学习 算法 数据挖掘
【Python入门系列】第十一篇:Python机器学习入门
机器学习是人工智能领域中的重要分支,它利用数据和统计方法来训练机器模型,从而实现自动化的决策和预测。Python作为一种简单易用且功能强大的编程语言,成为了机器学习领域的首选工具之一。本文将介绍Python机器学习的基础知识和常用库。
138 2
|
11月前
|
编解码 前端开发 小程序
微信小程序canvas画布不清晰解决方法
微信小程序canvas画布不清晰解决方法
|
11月前
|
开发者
vue3列表页面开发最佳实践案例
vue3列表页面开发最佳实践案例
133 0
|
12月前
|
小程序 JavaScript
微信小程序之五种页面跳转方法小结
微信小程序之五种页面跳转方法小结
236 0
|
消息中间件 存储 负载均衡
【Kafka从入门到放弃系列 零】Kafka看这一篇就够了(一)
【Kafka从入门到放弃系列 零】Kafka看这一篇就够了
245 0
|
SQL 存储 关系型数据库
MySQL not exists 真的不走索引么?
在一些业务场景中,会使用NOT EXISTS语句确保返回数据不存在于特定集合,部分同事会发现NOT EXISTS有些场景性能较差,甚至有些网上谣言说”NOT EXISTS不走索引”,哪对于NOT EXISTS语句,我们如何优化呢?
351 0
MySQL not exists 真的不走索引么?
|
存储 前端开发 JavaScript
webpack中output中path和publicPath区别详解
webpack中output中path和publicPath区别详解
179 0