开始前的准备

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

开始前的准备

产品理念

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

准备

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

语言的选择

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

数据采集使用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都可以搞定,但作为一个对技术语言没有偏见的人来说,什么语言适合干什么事情就用什么语言。这样可以简单高效地达到目的再好不过了。

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

相关文章
如何在桌面电脑上使用 SAS 硬盘
SAS 硬盘要想在普通电脑上使用一般比较麻烦,首先是 SAS 不像普通 IDE/SATA 硬盘那样在主板上提供了接口。电源部分倒是通用、无分 SAS/SATA 的。于是我们必须找一张 SAS 卡,一般是 PCI-E 接口的。
5325 0
|
存储 NoSQL 数据库
MongoDB Sharded cluster架构原理
为什么需要Sharded cluster? MongoDB目前3大核心优势:『灵活模式』+ 『高可用性』 + 『可扩展性』,通过json文档来实现灵活模式,通过复制集来保证高可用,通过Sharded cluster来保证可扩展性。 当MongoDB复制集遇到下面的业务场景时,你就需要考虑使用Sh
43430 155
|
机器学习/深度学习 Java 中间件
我的2017年文章汇总——Java及中间件篇
2018即将到来,大家看着2017给自己制定的计划有没有感慨?当你觉得过去一年没有什么进步时,那么请行动起来,能开始总是好的。 近期准备把过去一年写的文章按照分类重新整理推送一遍,包括:“分布式”、“机器学习”、“深度学习”、“NLP”、“Java深度”、“Java并发核心”、“JDK源码”、“Tomcat内核”。
3791 38
|
监控 Java Ruby
日志客户端(Logstash,Fluentd, Logtail)横评
针对主流日志采集客户端(Logstash,Fluentd,以及日志服务客户端Logtail)进行功能、性能和稳定性测评
45559 13
|
存储 人工智能 安全
重磅干货不容错过!2017云栖大会汇总资料,速来领取!
2017云栖大会圆满结束!云栖大会由阿里巴巴集团主办,已经成为全球云计算TOP级峰会,汇聚DT时代最强大脑,描绘云计算发展趋势和蓝图,展现云计算、大数据、人工智能蓬勃发展的技术生态全景。云栖社区福利大放送,本文整理了全年8场峰会的资料,约800份技术资料,等你来下载!
110638 0
|
Web App开发 JSON Shell
Swagger Editor与Swagger-UI神器使用
使用Swagger-editor和Swagger-ui进行API构建,方便前后端沟通,据说结合开发工具更好用哦。
9419 0
|
XML API Apache
【POI】对于POI无法处理超大xls等文件,官方解决方法【已解决】【多线程提升速率待定】
本次使用POI处理xlsx文件,莫名的遇到了一个无法逾越的问题。 总共71个xlsx文件,单个文件最大达到50M以上,71个xls文件摆在那里就有3-4G的大小。  在起始处理的时候,发现原本适用于正常大小的POI处理xls程序竟然屡次的报错GC outofmemory 的内存移除的问题。
3766 0
|
算法 Java Unix
【JVM】调优笔记3-----JVM参数配置 JDK1.8
一.关于JVM参数配置,有多种途径。 1.在tomcat中直接配置的   打开tomcat的安装目录, 在bin下修改catalina.bat文件 添加如下: set "JAVA_OPTS=-Xmx300m -Xms300m -Xmn100m -XX:SurvivorRatio=8" 在这个位置: 启动tomcat即可起作用。
3535 0
|
安全 Java Apache
springboot(十四):springboot整合shiro-登录认证和权限管理
这篇文章我们来学习如何使用Spring Boot集成Apache Shiro。安全应该是互联网公司的一道生命线,几乎任何的公司都会涉及到这方面的需求。在Java领域一般有Spring Security、Apache Shiro等安全框架,但是由于Spring Security过于庞大和复杂,大多数公司会选择Apache Shiro来使用,这篇文章会先介绍一下Apache Shiro,在结合Spring Boot给出使用案例。
2342 0
|
Unix Apache 开发者
[转载]五种开源协议(GPL,LGPL,BSD,MIT,Apache)
转自mic_hero的博客 什么是许可协议? 什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供 一定的权限。
7170 0