AI创业的技术方案选择
观察了许多初创公司技术方案的选择,我总结基本遵循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创业的技术方案选择的更多相关文章
- Redis高可用详解:持久化技术及方案选择
文章摘自:https://www.cnblogs.com/kismetv/p/9137897.html 前言 在上一篇文章中,介绍了Redis的内存模型,从这篇文章开始,将依次介绍Redis高可用相关 ...
- Redis高可用详解:持久化技术及方案选择 (推荐)--转载自编程迷思博客www.cnblogs.com/kismetv/p/8654978.html
一.Redis高可用概述 在介绍Redis高可用之前,先说明一下在Redis的语境中高可用的含义. 我们知道,在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常 ...
- 四种 AI 技术方案,教你拥有自己的 Avatar 形象
大火的 Avatar到底是什么 ? 随着元宇宙概念的大火,Avatar 这个词也开始越来越多出现在人们的视野.2009 年,一部由詹姆斯・卡梅隆执导 3D 科幻大片<阿凡达>让很多人认识了 ...
- 全面解密QQ红包技术方案:架构、技术实现、移动端优化、创新玩法等
本文来自腾讯QQ技术团队工程师许灵锋.周海发的技术分享. 一.引言 自 2015 年春节以来,QQ 春节红包经历了企业红包(2015 年).刷一刷红包(2016 年)和 AR 红包(2017 年)几个 ...
- 分布式锁1 Java常用技术方案
前言: 由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题.所以自己结合实际工作中的一些经验和网上看到的一些资 ...
- C蛮的全栈之路-序章 技术栈选择与全栈工程师
目录 C蛮的全栈之路-序章 技术栈选择与全栈工程师C蛮的全栈之路-node篇(一) 环境布置C蛮的全栈之路-node篇(二) 实战一:自动发博客 博主背景 985院校毕业,至今十年C++开发工作经验, ...
- 分布式锁1 Java常用技术方案(转)
转:http://www.cnblogs.com/PurpleDream/p/5559352.html#3450419 前言: 由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临 ...
- 技术方案:在外部网址调试本地js(基于fiddler)
1 解决的问题 1) 场景1:生产环境报错 对前台开发来说,业务逻辑都在js中,所以报错90%以上都是js问题. 如果生产环境出现报错,但是测试环境正常.这时修改了代码没有环境验证效果, ...
- MySQL数据库读写分离、读负载均衡方案选择
MySQL数据库读写分离.读负载均衡方案选择 一.MySQL Cluster外键所关联的记录在别的分片节点中性能很差对需要进行分片的表需要修改引擎Innodb为NDB因此MySQL Cluster不适 ...
随机推荐
- 用面向对象重写thread 实现多次调用一个线程
思路: 利用thread类中,run方法在子线程中调用,其他方法在主线程调用,所以将生产者写入主线程,将消费者写入run函数中在子线程中执行,完成生产者消费者模型 注意: 1. 要在 init 函数中 ...
- 大数据及Hadoop的概述
一.大数据存储和计算的各种框架即工具 1.存储:HDFS:分布式文件系统 Hbase:分布式数据库系统 Kafka:分布式消息缓存系统 2.计算:Mapreduce:离线计算框架 stor ...
- Java中的不同遍历方式
已知一个Person类: public class Person implements Comparable<Person>{ String name; String id; public ...
- goLand工程结构管理
goLand工程结构管理 转 https://www.jianshu.com/p/eb7b1fd7179e 开始之前请确保安装好了 go语言环境并配置好了gopath环境变量 1.创建一个新目录并打 ...
- python Event对象、队列和多进程基础
Event对象 用于线程间通信,即程序中的其一个线程需要通过判断某个线程的状态来确定自己下一步的操作,就用到了event对象 event对象默认为假(Flase),即遇到event对象在等待就阻塞线程 ...
- C# Work PPT to PDF
//// <summary> /// 把ppt文件转换成pdf文件2 /// </summary> /// <param name="sourcePath&qu ...
- MUI + Spring MVC 实现多图片上传
后台代码,主要是SpringMVC 接收多文件上传,不是用的MutilFiles 方式,主要是因为MUI 5+ 不支持文件上传的Key是同一个名字 private String saveFile(Mu ...
- Vue初始
一 .安装 https://cn.vuejs.org/ 官方网站 二 .简单实用示例 Vue.js 使用了基于 HTML 的模板语法,最简单的使用vue的方式是渲染数据,渲染数据最常见的形式就是使 ...
- MySQL中文排序
按照汉字的拼音排序,用的比较多是在人名的排序中,按照姓氏的拼音字母,从A到Z排序: 如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字37 ...
- Bluestein's Algorithm
网上很少有人提到,写的也很简单,事实上就是很简单... \(Bluestein's\ Algorithm\),用以解决任意长度\(DFT\). 考虑\(DFT\)的形式:\[\begin{aligne ...