观察了许多初创公司技术方案的选择,我总结基本遵循8个字:快速灵活,物美价廉。我们也应该根据自身实际情况,跳出束缚与时俱进,选择智能互联网时代最有力的技术和工具。

基础编程语言

候选者:C#/C++/Python

C#相比Java语法更先进,生产力在各种语言中名列前茅。Java虽然在大型架构中有人才和框架的优势,但对初创公司来说还很遥远。由于.NET平台开放时间太短,目前框架特别是人工智能框架太少。

C++在高性能开发中仍然不可或缺,尤其在人工智能方面,但我们目前还以运用开源的AI框架为主,暂不深入框架开发。但将来可能要在C++或新锐Rust中投入。

Python是动态语言的代表,号称编程语言的瑞士军刀,在动态语言中的普及度,框架的完整性都无可匹敌,开发效率也很高,大部分AI框架都有Python的支持。

选择:Python

操作系统

既然选择Python语言,开发环境的操作系统就并不重要。而关于我们的软件运行环境,应该是Linux,相比Windows有更低的系统资源消耗,更好的安全性。我个人接触Ubuntu较多,其实CentOS差别不大。

选择:Ubuntu

数据库

候选 MongoDB/MySQL/PostreSQL

个人觉得选择比较容易,PostreSQL是传统的关系数据库,但又支持NoSQL,性能也不错(PostgreSQL的NoSQL特性表现抢眼),而且还开源。在集群方面,PostreSQL也日益强大,相信未来不会成为大的瓶颈。

选择:PostreSQL

开源框架

选择dlib + face_recognition,均有Python支持。

前端技术

创业尽量保持专注,只做B/S不做C/S,只做小程序不做APP。基本组合肯定是 Html5 + ECMAScript6 + CSS3。由于可能涉及图像或视频交互,WebSocket大有用武之地。

MVVM框架

候选:AngularJS/React/Vue

我在实际开发中用AngularJS和Vue各做了一两个项目,感觉Vue比AngularJS要清晰简洁,容易上手。React把视图看作状态机的思想我自己是非常欣赏,如果一直是我一人开发的话,也很乐意采用React,但对多数人来说,可能要经过一番磨砺才能写出符合其思想的代码。

选择:Vue

UI框架

Vue下我接触的UI框架只有ElementUI,用了近一年,感觉坑比较少,可以继续押宝。

AI创业的技术方案选择的更多相关文章

  1. Redis高可用详解:持久化技术及方案选择

    文章摘自:https://www.cnblogs.com/kismetv/p/9137897.html 前言 在上一篇文章中,介绍了Redis的内存模型,从这篇文章开始,将依次介绍Redis高可用相关 ...

  2. Redis高可用详解:持久化技术及方案选择 (推荐)--转载自编程迷思博客www.cnblogs.com/kismetv/p/8654978.html

    一.Redis高可用概述 在介绍Redis高可用之前,先说明一下在Redis的语境中高可用的含义. 我们知道,在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常 ...

  3. 四种 AI 技术方案,教你拥有自己的 Avatar 形象

    大火的 Avatar到底是什么 ? 随着元宇宙概念的大火,Avatar 这个词也开始越来越多出现在人们的视野.2009 年,一部由詹姆斯・卡梅隆执导 3D 科幻大片<阿凡达>让很多人认识了 ...

  4. 全面解密QQ红包技术方案:架构、技术实现、移动端优化、创新玩法等

    本文来自腾讯QQ技术团队工程师许灵锋.周海发的技术分享. 一.引言 自 2015 年春节以来,QQ 春节红包经历了企业红包(2015 年).刷一刷红包(2016 年)和 AR 红包(2017 年)几个 ...

  5. 分布式锁1 Java常用技术方案

    前言:       由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题.所以自己结合实际工作中的一些经验和网上看到的一些资 ...

  6. C蛮的全栈之路-序章 技术栈选择与全栈工程师

    目录 C蛮的全栈之路-序章 技术栈选择与全栈工程师C蛮的全栈之路-node篇(一) 环境布置C蛮的全栈之路-node篇(二) 实战一:自动发博客 博主背景 985院校毕业,至今十年C++开发工作经验, ...

  7. 分布式锁1 Java常用技术方案(转)

    转:http://www.cnblogs.com/PurpleDream/p/5559352.html#3450419 前言:       由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临 ...

  8. 技术方案:在外部网址调试本地js(基于fiddler)

    1 解决的问题 1)        场景1:生产环境报错 对前台开发来说,业务逻辑都在js中,所以报错90%以上都是js问题. 如果生产环境出现报错,但是测试环境正常.这时修改了代码没有环境验证效果, ...

  9. MySQL数据库读写分离、读负载均衡方案选择

    MySQL数据库读写分离.读负载均衡方案选择 一.MySQL Cluster外键所关联的记录在别的分片节点中性能很差对需要进行分片的表需要修改引擎Innodb为NDB因此MySQL Cluster不适 ...

随机推荐

  1. 【python】函数式编程

    No1: 函数式编程:即函数可以作为参数传递,也可以作为返回值  No2: map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的 ...

  2. L - Ray in the tube Gym - 101911L (暴力)

    ---恢复内容开始--- You are given a tube which is reflective inside represented as two non-coinciding, but ...

  3. POJ 1258 Agri-Net 【Prime】模板题

    题目链接>>> 题目大意:     给你N*N矩阵,表示N个村庄之间的距离.FJ要把N个村庄全都连接起来,求连接的最短距离(即求最小生成树).解析如下: #include <c ...

  4. JDBC概述

    什么是持久化(persistence):持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固 ...

  5. linux 学习笔记 防火墙设置

    1> 重新设置启动防火墙命令 #service iptables restart 2>添加防火墙规则命令 2.1 #service iptables stop 停止防火墙 2.2 #vi ...

  6. python 条件与循环

    一.if语句   1.1 功能 计算机又被称作电脑,意指计算机可以像人脑一样,根据周围环境条件(即expession)的变化做出不同的反应(即执行代码) if语句就是来控制计算机实现这一功能   1. ...

  7. PAT (Advanced Level) Practise 1001 解题报告

    GiHub markdown PDF 问题描述 解题思路 代码 提交记录 问题描述 A+B Format (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判 ...

  8. 权限框架Apache Shiro 和 Spring Security

    Shiro 首先Shiro较之 Spring Security,Shiro在保持强大功能的同时,还在简单性和灵活性方面拥有巨大优势.Shiro是一个强大而灵活的开源安全框架,能够非常清晰的处理认证.授 ...

  9. Java -- 内部类(二)

    在上一篇博客Java --内部类(一)中已经提过了,java中的内部类主要有四种:成员内部类.局部内部类.匿名内部类.静态内部类. 该文主要介绍这几种内部类. 成员内部类 成员内部类也是最普通的内部类 ...

  10. mongodb更新数组元素中的字段,数组$占位符

    pppCodes为数组,PPPCode,expiredOn为数组元素中的字段 db.getCollection('users').findOneAndUpdate({ _id: userId, 'pp ...