Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >构建web服务:我有什么选择?

构建web服务:我有什么选择?
EN

Stack Overflow用户
提问于 2010-12-06 18:18:04
回答 3查看 1.1K关注 0票数 0

我期待着构建我的第一个web服务,我希望从一开始就被指向正确的方向。

以下是必须进行的互动:

  • 首先,智能手机或计算机将向我的web服务发送一大块数据。
  • web服务将将信息持久化到数据库。
  • 周期性地,一个算法将访问和修改数据库。
  • 该算法将定期捆绑数据,并将其发送到智能手机或计算机(如何?)

最大的问题是:,为了实现这样的东西,我需要学习哪些基本的东西?

下面是我脑子里还有一些杂乱无章的小问题。如果你愿意的话,可以回答这些问题。(...maybe认为他们是额外的学分?)

  • 我听说过很多关于RESTful服务的好东西,我读过wiki的文章,甚至还玩过Twitter的webservice,也就是RESTful。这是显而易见的方法吗?还是我还应该考虑别的?
  • 我使用什么编程语言将东西持久化到数据库?我认为php将是这方面的首选。
  • 我使用什么编程语言与数据库进行交互?我想任何事情都可能是可以接受的,对吧?
  • 我是否需要担心对数据库的并发访问,还是由MySQL来处理呢?(我对数据库也相当陌生。)
  • 我怎么才能把信息发回呢?很明显,如果这是对HTTP请求的答复,这是没有问题的,但有时可能需要相当长的时间来计算。在得到答案之前,我应该让HTTP请求保持未执行状态吗?
  • 有时,我需要将信息发送到智能手机,而不管信息是否已经发送给我。如何向用户推送信息?

其他可能帮助你知道我来自哪里的信息:

  • 我非常熟悉Java、C#、C++和Python。我玩过PHP、Javascript和Ruby。
  • 我对数据库比较陌生,但我有基本的想法。
  • 我已经设置了我的服务器,我正在使用一个基本的灯堆栈。我对L,A,M和P的理解是相当初级的。
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-06 18:51:00

语言:为了便于使用,假设吉尔不是您的需求(例如多线程)所特别关注的问题。它为大多数数据库提供了驱动程序,并支持多种协议。它有几个web框架--最流行的可能是姜戈

协议:如果您专注于HTTP,那么学习肥皂休息。注意,SOAP往往是冗长的,这会导致移动大量数据的问题。另一方面,如果您正在研究其他选项,请研究套接字编程,或者某种二进制格式,比如Google的协议缓冲器。闪存也是一种可能性(参见:闪存遥控)。注意,二进制选项要求用户在他们的机器上安装一些东西(例如applet或独立应用程序)。

回复:如果进程运行时间很长,并且在完成时应该通知客户端,我建议为客户机开发一个应用程序。浏览器可以用JavaScript编程以定期轮询,也可以嵌入Flash电影进行实时更新,但这些都是浏览器编程中比较棘手的部分。如果你在处理无线电话,请看短信。否则,我只会为客户端提供一种获得状态的方法,但不发送通知(例如,推送和拉)。正如@jcomea_ictx所写的,如果AJAX是一种基于浏览器的解决方案--学习jQuery,那么AJAX是一种选择。

Concurrency:理解对数据库的意义。想一想,如果您接收到对同一个数据的多次写入,那么应该发生什么--数据库可能不一定以您想要的方式解决这个问题。

票数 1
EN

Stack Overflow用户

发布于 2010-12-06 18:22:05

出于对编程的热爱,如果您已经习惯了Python,请不要使用PHP。后者使代码更加简洁,更易于维护。这并不是说用PHP编写好代码是不可能的,但这是相对罕见的。您可以使用Python处理所有服务器端的内容,包括MySQL与MySQLdb模块的交互。要么使用标准CGI,要么使用FCGI,或者使用mod_python。

至于数据库,使用事务将消除冲突。但是,您通常可以设计一个系统,使其不会发生冲突。例如,在每次插入时使用自动递增主键is将确保每个条目都是唯一的。

您可以使用Javascript“拉动”数据,可能使用AJAX方法,也可以使用SMS或其他技术“推送”数据。

当计算答复需要一段时间时,您可以使用AJAX“轮询”。这是一种非常普遍的技术。服务器只返回“我们正在进行此操作”(或等效的),并进行内置刷新,直到结果就绪。

我不是REST方面的专家,但是AJAX,尤其是在使用轮询而不是简单地响应用户输入时,可以说违反了RESTful原则。但是你可以是一个纯粹主义者,或者你可以做任何有用的事情。由你决定。

我相信除了SMS之外,我从来没有使用过任何“推送”技术,那是几年前很多公司都有免费短信网关的时候。因此,如果你想“推送”数据,最好希望其他人加入对话!

票数 1
EN

Stack Overflow用户

发布于 2010-12-07 13:30:41

使用Java。Java 6的最新版本使编写RESTful和SOAP服务变得轻而易举,而且它也非常容易与数据库进行互操作。

使用真正的语言而不是脚本的好处是:完全的服务器端状态、强大的输入、多线程和无数其他可能有用的东西,但知道它们是可用的,这将为您的项目提供未来的证明。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4372822

复制
相关文章
学习用于视觉跟踪的深度紧凑图像表示
在本文中,我们研究了跟踪可能非常复杂背景的视频中运动物体轨迹的挑战性问题。与大多数仅在线学习跟踪对象外观的现有跟踪器相比,我们采用不同的方法,受深度学习架构的最新进展的启发,更加强调(无监督)特征学习问题。具体来说,通过使用辅助自然图像,我们离线训练堆叠去噪自动编码器,以学习对变化更加鲁棒的通用图像特征。然后是从离线培训到在线跟踪过程的知识转移。在线跟踪涉及分类神经网络,该分类神经网络由训练的自动编码器的编码器部分构成,作为特征提取器和附加分类层。可以进一步调整特征提取器和分类器以适应移动物体的外观变化。与一些具有挑战性的基准视频序列的最先进的跟踪器进行比较表明,当我们的跟踪器的MATLAB实现与适度的图形处理一起使用时,我们的深度学习跟踪器更准确,同时保持低计算成本和实时性能单位(GPU)。
代码的路
2022/08/23
1.4K0
学习用于视觉跟踪的深度紧凑图像表示
markdown中的数学公式表示
\iint \limits_d {f(x,y)} {\rm d}x{\rm d}y
哲学家阿多诺
2024/10/15
1240
markdown中的数学公式表示
机器学习 | 线性回归的数学表示
线性回归对已有数据进行建模,可以对未来数据进行预测。有些人觉得线性回归太过简单,甚至不屑于称之为机器学习;另外一些人觉得很多编程库已经对线性回归做了封装,使用时调用一下函数就好,不必了解太多数学推导过程。实际上,线性回归是所有机器学习技术的一个最好起点,很多复杂的机器学习技术以及当前大火的深度神经网络都或多或少基于线性回归。
PP鲁
2020/05/26
6690
机器学习 | 线性回归的数学表示
数学笔记(二)之平面表示
  假设我们知道垂直于平面的法向量n,以及平面上的一点p0,如何使用这两个元素来表示该平面呢?
用户2615200
2018/08/02
5500
Latex数学公式-求导、分数的表示
\frac{}{}:分数表示 \partial: 偏导符号 \mathrm{d}t:正规的导数d(正体)
全栈程序员站长
2022/09/10
1.3K0
以 React 的方式思考
React 很棒的一点是创建应用中引导你思考的过程。这篇文档中,我们将通过运用React创建一个产品搜索列表,来引导你熟悉这个思考过程。
fanzhh
2019/08/20
3.5K0
以 React 的方式思考
从粉笔到软件代码——用数学语言写作
大数据文摘授权转载自zzllrr小乐 作者:Whitney Clavin 译者:zzllrr小乐 在过去的几十年里,当研究人员不得不敲打打字机来撰写他们的科学论文时,他们经常会遇到障碍。这些机器,包括1960年代至1980年代流行的IBM Selectric系列,不包含数学符号的键,例如用于表示微积分的长“S”。当需要输入等式时,研究人员不得不寻找高尔夫球大小的银色球体,其中包含适当的字符以卡入打字机。有些人寻求解决方法来避免麻烦。 “我没有耐心使用IBM Selectric并切换球,”理查德·费曼理论物理
大数据文摘
2023/04/10
4960
从粉笔到软件代码——用数学语言写作
js将列表组装成树结构的两种方式
工作中偶尔就会遇到后端同学丢来一个列表,要我们自己组装成一个树结构渲染到页面上,本文以两种不同方式探索生成树的算法思想。
用户6256742
2024/06/30
2570
js将列表组装成树结构的两种方式
用Python出了3000道数学题,外甥表示要正月剪头!
过年期间发现小外甥已经上小学了,我姐说老师今天给他们布置了寒假作业:每天坚持做乘法和加减法混合运算。
快学Python
2023/03/06
5180
用Python出了3000道数学题,外甥表示要正月剪头!
【数学分析】集合 ① ( 集合概念 | 集合表示 | 常用的数集合 | 集合的表示 )
文章目录 一、集合概念 二、集合表示 三、常用的数集合 四、集合的表示 一、集合概念 ---- 集合概念 : 具有某种 特定性质 具体的 或 抽象的 对象 汇集的 总体 ; 上述概念中的 " 对象 “ 又称为 ” 集合元素 " ; 二、集合表示 ---- 集合 通常使用 大写字母 \rm S , T , A , B , X , Y 表示 ; 集合元素 使用 小写字母 \rm s , t , a , b , x , y 表示 ; 元素 \rm x 是集合 \rm S 的元素 , 则表示为 \
韩曙亮
2023/03/30
1.4K0
AI正以五种方式彻底颠覆软件测试手段?
AI技术正以五种方式改变软件测试工作测试人员应做好与AI机器人协作的准备,并将其作为能够在软件开发过程当中有效减轻日常工作量的完美助手。人工软件测试方法仍然具备重要价值,但人工智能(简称AI)亦在这一领域内稳步推进。凭借着广受好评的先进功能,人工智能可能将很快消除软件开发当中对手动测试的高度依赖。 人工智能正在改变软件测试以及人类与技术间的交互方式。人工智能将负责推进软件测试过程,而人们则专注于分析公众对于新应用的接受程度。除了帮助人类摆脱沉重的日常工作压力之外,人工智能也正在以下面五种方式彻底颠覆软件测试
机器人网
2018/04/12
9350
AI正以五种方式彻底颠覆软件测试手段?
[C#] 用委托表示回调
回调就是这样一种由服务端向客户端提供异步反馈的机制,它可能会涉及多线程(multithreading),也有可能只是给同步更新提供入口。C#语言用委托来表示回调。
科控物联
2022/03/29
4920
[C#] 用委托表示回调
机器学习中的新数学,加速AI训练离不开数字表示方式和基本计算的变革
近年来 AI 领域的发展令人震惊,但为完成这些壮举而训练神经网络的成本也异常巨大。以大规模语言模型 GPT-3 和艺术生成器 DALL-E 2 为例,它们需要在高性能 GPU 集群上训练数月时间,耗资数百万美元,消耗百万亿计的基本计算。
机器之心
2022/12/16
3510
机器学习中的新数学,加速AI训练离不开数字表示方式和基本计算的变革
以提问的方式提升团队能力
团队成员输出不够,解决问题能力达不到要求时,用职责的办法效果是最差的,指导的话有一定的效果,但是也限制了组员的主观能动性,而且一般来说也不容易被接受,最好的办法是提出引人深思的问题 营造谈话氛围 在谈话开始的时候,问几个轻松随意的小问题,让对方放松下来,以便之后能够畅所欲言。 什么是好的提问 (一句话)问题只有一句话:问题本身必须足够简短且能抓住事物的本质 (第一性)接近本质的提问:比如人际关系方面,本质的问题是关于对方真实想法,真实诉求,而不是表面表达的情绪 (探索)探索式问题:引导更多可能的解决方案
十毛
2022/08/23
2960
幸福,以人工智能的方式
莎莉·埃迪(Sally Adee)发现,具有情商的小玩意将很快和我们绑定在一起,为我们的生活带来欢乐。 “是布莱恩吗?你好吗,布莱恩?”这个声音是由一个巨大的蓝色卡通眼球操控的屏幕发出的,其瞳孔扩张的方式,使它看起来既友善又古怪,令人联想到皮克斯动画公司重新塑造的卡通形象哈尔。 这就是名为EmoSpark的机器人,它正在寻找它的主人。它的摄像头在其视野中搜寻一张脸,然后锁定住了我的脸,再次问我是否是布莱恩,它的呼唤听起来近乎可怜。 EmoSpark的大脑是一个边长90毫米的带有蓝牙和Wi-Fi的立方体
新智元
2018/03/13
9590
幸福,以人工智能的方式
以更好的方式使用 Vue Mixins
Mixin 组件在项目中经常被用来重用一些业务逻辑,但它们有一些不确定的细微差别,这在项目开发中越来越明显。我偶尔也会遇到这种情况,它们会给代码库的重构或新功能的开发带来困难。
前端小智@大迁世界
2022/05/09
5350
以最复杂的方式绕过 UAC
让我们从系统如何防止您绕过最无意义的安全功能开始。默认情况下,如果用户是本地管理员,LSASS 将过滤任何网络身份验证令牌以删除管理员权限。但是有一个重要的例外,如果用户是域用户和本地管理员,则 LSASS 将允许网络身份验证使用完整的管理员令牌。如果说您使用Kerberos在本地进行身份验证,这将是一个问题。这不是微不足道的 UAC 绕过吗?只需以域用户身份向本地服务进行身份验证,您就会获得绕过过滤的网络令牌?
Khan安全团队
2022/03/25
1.9K0
目录树结构
实际项目中后端生成目录树的json是比较常见的,hutool中提供了treeUtil使用起来比较方便。先做个记录
在水一方
2022/06/14
9340
数学不好?可能是你看待数学的方式不对:关于数学的心理表征
大数据文摘作品,转载具体要求见文末 编译团队 | Arcturus 卫青 对于你来说,数学是什么样子的?是由彼此关联的理念所构成的宏伟蓝图,亦或是一大堆混乱的符号组合?这两者的区别影响极大,因为你对数学的看法与你在数学这门课上的成功有着千丝万缕的联系。 我们都十分熟悉乘法表,它在全世界的课堂教育和家庭教育中都占据核心地位。 标准乘法表 你无法从这幅图中挑出任何毛病。这一表格相当直截了当:看起来就像一连串彼此独立的,事实真理的矩阵集合。它一直被反复地学习、记忆和回顾。然而,在受过训练的人眼中,这一表格的
大数据文摘
2018/05/21
8270
使用BigDecimal进行科学计算表示方式的转换
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/149549.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/05
6940

相似问题

如何在NoSQL中表示树结构

20

用代码记录数学逻辑

40

以图解方式表示系统线程体系结构的最佳方法是什么?

10

是否有软件测试的形式化/数学理论?

40

如何以编程方式表示几何线?

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文