首页 文章 精选 留言 我的

精选列表

搜索[算力生态],共10000篇文章
优秀的个人博客,低调大师

基于 ASM 简化可观测管理、提升业务洞察力

随着应用系统的复杂度越来越高,越来越难保证所有的系统都一直处于稳健状态,有可能某些部分会因问题而处于降级状态。因此我们不仅必须将应用程序构建得更可靠和更具弹性,还必须通过可观测性工具在运行时能够理解实际发生的事情。如果我们能够了解应用服务和基础设施在运行时发生了什么,我们就可以学会检测故障并在观察到某些意外情况时进行深入调试。这将有助于降低平均恢复时间,快速恢复对业务的影响。 可观测性是指通过查看系统的外部特征来理解和推理系统的内部处于什么样的状态。它基于控制理论的研究,最初由 Rudolf E. Kálmán 在 1960 年的论文“关于控制系统的一般理论”中提出。从实际应用的角度来看,我们在系统中需要重视其稳定性,需要理解什么时候系统运行良好或出现问题,从而可以更快地识别错误,并实施正确的自动化及手动控制来维护系统的可用性。 阿里云服务网格 ASM 提供了统一标准化方式,为用户提供一种收敛后的可观测数据生成与采集配置模式,以更好地支持云原生应用的可观测性。 01 概述 可观测介绍 可观测性是一个包含各种级别的系统特征,必须结合应用程序的指标采集、网络的的指标采集、以及基础设施如数据库存储等来筛选存储大量的数据,以便在发生不可预测的情况时拼凑出一个完整的视图。Service Mesh 在可观测性方面可以有效提升应用程序级别的网络指标采集。 Service Mesh 的数据平面代理位于服务之间的网络请求路径中,通过捕获代理的可观测性数据可以在运行时了解应用程序网络和网格的运行情况。 在 Service Mesh 中实现可观测性,涉及了日志、监控指标以及链路追踪这些可观测性数据的生成规则配置和采集配置,以及如何将这些可观测数据采集到云托管服务或者自建服务中。同时,还需要考虑如何支持针对网格代理与网关 Pod 分别定义采集配置,以支持不同的场景诉求。阿里云服务网格 ASM 提供了统一标准化方式,为用户提供一种收敛后的可观测数据生成与采集配置模式,以更好地支持云原生应用的可观测性。 内置最佳实践 虽然 Telemetry CRD 允许在多个命名空间内可以创建多个对象,但如果随意定义造成冲突等,可能使得实际执行的结果与预期不符合。我们在产品中总结并落实了如下几个最佳实践: 在根配置命名空间 istio-system 中定义多个网格范围的 Telemetry 资源对象是无效的,也就是说只能在存在一个 Telemetry 资源对象。阿里云服务网格 ASM 中已经内置了该最佳实践,在 istio-system 命名空间内只允许存在一个名称为 default 的 Telemetry 资源对象。 所有的命名空间下约束为只存在一个 Telemetry 资源对象允许工作负载的选择器 selector 为空,且名称为 default。 可以通过使用工作负载选择器 selector 在所需命名空间中应用新的 Telemetry 资源对象来实现特定于工作负载的覆盖。 如果存在具有相同的工作负载选择器 selector 的两个 Telemetry 资源对象,也就是说这两个 Telemetry 资源对象选择了相同的工作负载,那么在这种情况下,产生行为是不确定的, 即不确定是这两个 Telemetry 资源对象中的哪一个会被执行。 当根配置命名空间 istio-system 下的全局 Telemetry 资源对象中,未定位监控指标部分,默认对应的是不启用生成指标。 为了避免这些指标产生的存储成本较大,在阿里云服务网格 ASM 中第一次开启时的指标设置中全局范围内只开启 SERVER 侧指标,未开启 CLIENT 侧指标。请根据需要,自行进行开启,例如需要针对网关进行监控,则需要进行开启 CLIENT 侧指标。需要注意的是,如果已经开启过,重新开启之后的指标设置将保留使用上一次的设置规则。 02 日志 在 Service Mesh 中,日志的采集是实现可观测性的重要手段之一。通过将所有服务的日志聚合到一处,可以便于统一管理和检索。为了实现这个目标,需要将每个服务的日志打印到 stdout 或 stderr,并使用日志代理将它们收集到中心日志系统中。阿里云服务网格 ASM 提供了日志过滤和日志格式化功能,可以根据需要对日志进行过滤和格式化,以便更好地进行检索和分析。 日志格式规则配置 在实际应用中,需要考虑到不同服务的日志格式可能不同,因此需要设置生成规则来控制日志的生成方式。部署在数据平面(即加入网格的 Kubernetes 集群)的 Envoy Proxy 可以输出所有访问日志。ASM 支持自定义 Envoy Proxy 输出的访问日志内容。 基于 Telemetry CRD,阿里云服务网格 ASM 提供了如下图所示的图形化界面,简化用户定义日志数据格式的配置。 对应地,生成的定义内容如下: envoyFileAccessLog: logFormat: text: '{"bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","downstream_local_address":"%DOWNSTREAM_LOCAL_ADDRESS%","downstream_remote_address":"%DOWNSTREAM_REMOTE_ADDRESS%","duration":"%DURATION%","istio_policy_status":"%DYNAMIC_METADATA(istio.mixer:status)%","method":"%REQ(:METHOD)%","path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","protocol":"%PROTOCOL%","request_id":"%REQ(X-REQUEST-ID)%","requested_server_name":"%REQUESTED_SERVER_NAME%","response_code":"%RESPONSE_CODE%","response_flags":"%RESPONSE_FLAGS%","route_name":"%ROUTE_NAME%","start_time":"%START_TIME%","trace_id":"%REQ(X-B3-TRACEID)%","upstream_cluster":"%UPSTREAM_CLUSTER%","upstream_host":"%UPSTREAM_HOST%","upstream_local_address":"%UPSTREAM_LOCAL_ADDRESS%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_transport_failure_reason":"%UPSTREAM_TRANSPORT_FAILURE_REASON%","user_agent":"%REQ(USER-AGENT)%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","authority_for":"%REQ(:AUTHORITY)%","upstream_response_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","xff":"%REQ(X-FORWARDED-FOR)%","app_service_name":"%UPSTREAM_CLUSTER%"}' path: /dev/stdout 以及描述了过滤条件的配置内容: accessLogging: - disabled: false filter: expression: response.code >= 400 providers: - name: envoy 具体使用方式可以参考:https://help.aliyun.com/document_detail/322801.html 数据面日志采集设置 此外,需要设置采集规则来控制日志的采集方式和储存有效期。 容器服务 ACK 集成了日志服务功能,可对服务网格数据平面集群的 AccessLog 进行采集。具体可以参考:https://help.aliyun.com/document_detail/162798.html 采集控制平面日志及设置告警 ASM 支持采集控制平面日志和日志告警,例如采集 ASM 控制平面向数据平面 Sidecar 推送配置的相关日志。ASM 控制面组件的主要功能之一是推送网格的规则配置到数据面的 Sidecar 代理或者网关中。如果用户配置的网格规则内容存在一些冲突导致推送失败,代理或者网关就接收不到最新的配置内容。虽然代理或网关在不重启的情况下,可以使用已经接收到的配置继续运行,但是一旦这些 Pod 重启,很有可能导致 Sidecar 代理或网关启动失败。在很多实际场景中,经常出现用户误配置引发的网关或代理不可用的问题,因此启用控制面的日志告警,及时发现并解决问题十分必要。 具体使用可以参考:https://help.aliyun.com/document_detail/341858.html 03 监控指标 监控指标是 Service Mesh 中的另一个重要可观测性维度,用于描述请求的处理情况、服务之间的通信状况等等。Istio 采用 Prometheus 进行监控指标的采集和存储,每个服务的代理(Envoy)会生成大量的监控指标。这些指标可以用于实时监控服务的运行情况和性能指标,还可以用于异常检测和自动伸缩等场景。 指标数据生成规则配置 启用服务网格数据平面监控指标可以使服务网格数据平面(网关以及 Sidecar 代理)生成与其运行状态相关的指标数据,您可以通过将指标采集到阿里云 ARMS Prometheus 来直接查看监控报表(采集指标可能产生费用),或是自建 Prometheus 并从 ASM 数据平面抓取监控指标。 基于 Telemetry CRD,阿里云服务网格 ASM 提供了如下图所示的图形化界面,简化用户自定义指标配置。 对应地,生成的定义内容如下: metrics: - overrides: - disabled: true match: metric: ALL_METRICS mode: CLIENT - disabled: false match: metric: ALL_METRICS mode: SERVER tagOverrides: {} - disabled: true match: metric: REQUEST_COUNT mode: CLIENT - disabled: false match: metric: REQUEST_COUNT mode: SERVER tagOverrides: {} - disabled: true match: metric: REQUEST_DURATION mode: CLIENT - disabled: false match: metric: REQUEST_DURATION mode: SERVER tagOverrides: {} - disabled: true match: metric: REQUEST_SIZE mode: CLIENT - disabled: false match: metric: REQUEST_SIZE mode: SERVER tagOverrides: {} - disabled: true match: metric: RESPONSE_SIZE mode: CLIENT - disabled: false match: metric: RESPONSE_SIZE mode: SERVER tagOverrides: {} - disabled: true match: metric: GRPC_REQUEST_MESSAGES mode: CLIENT - disabled: false match: metric: GRPC_REQUEST_MESSAGES mode: SERVER tagOverrides: {} - disabled: true match: metric: GRPC_RESPONSE_MESSAGES mode: CLIENT - disabled: false match: metric: GRPC_RESPONSE_MESSAGES mode: SERVER tagOverrides: {} - disabled: true match: metric: TCP_SENT_BYTES mode: CLIENT - disabled: false match: metric: TCP_SENT_BYTES mode: SERVER tagOverrides: {} - disabled: true match: metric: TCP_RECEIVED_BYTES mode: CLIENT - disabled: false match: metric: TCP_RECEIVED_BYTES mode: SERVER tagOverrides: {} - disabled: true match: metric: TCP_OPENED_CONNECTIONS mode: CLIENT - disabled: false match: metric: TCP_OPENED_CONNECTIONS mode: SERVER tagOverrides: {} - disabled: true match: metric: TCP_CLOSED_CONNECTIONS mode: CLIENT - disabled: false match: metric: TCP_CLOSED_CONNECTIONS mode: SERVER tagOverrides: {} providers: - name: prometheus 注意的是,第一次开启时的指标设置: 为了避免这些指标产生费用较大,第一次开启时的指标设置中全局范围内只开启 SERVER 侧指标,未开启 CLIENT 侧指标。请根据需要,自行进行开启,例如需要针对网关进行监控,则需要进行开启 CLIENT 侧指标。需要注意的是,如果已经开启过,重新开启之后的指标设置将保留使用上一次的设置规则。 ASM 网格拓扑功能相关的指标设置: ASM 网格拓扑功能依赖于 Sidecar 上报的监控指标,若您开启了网格拓扑,关闭部分监控指标会对网格拓扑功能造成影响甚至不可用。 如果不启用 REQUEST_COUNT 的 SERVER 侧指标,将无法生成 HTTP/gRPC 服务的拓扑图。 如果不启用 TCP_SENT_BYTES 的 SERVER 侧指标,将无法生成 TCP 服务的拓扑图。 关闭 REQUEST_SIZE 和 REQUEST_DURATION 的 SERVER 侧,REQUEST_SIZE 的 CLIENT 侧指标会导致部分拓扑图节点的监控信息无法展示。 具体可以参考:https://help.aliyun.com/document_detail/389053.html 指标采集配置 开启 Prometheus 的统计数据收集功能,将采集到的监控指标发送到 Prometheus 中,以便进行存储和分析。服务网格 ASM 集成了 ARMS Prometheus 功能,可以实现对服务网格的监控。具体可以参考:https://help.aliyun.com/document_detail/169961.html Prometheus 采集间隔会对指标收集开销产生重大影响,间隔越长,抓取的数据点就越少,从而减少处理、存储和计算开销。当前的默认配置为 15s,对于生产场景来说可能过于频繁。请根据实际需要在 Prometheus 侧进行调整。 如果使用的是 ARMS Prometheus,请到 ARMS 控制台中的设置页中进行配置,查看文档说明:https://help.aliyun.com/document_detail/196107.html 直方图关联的指标(包括 istio_request_duration_milliseconds_bucket、istio_request_bytes_bucket、istio_response_bytes_bucket)通常比较密集,开销较大,为了避免这些自定义指标继续产生费用,您可以废弃这些自定义指标。如果使用的是 ARMS Prometheus,请到 ARMS 控制台中的指标页中进行配置,查看文档:https://help.aliyun.com/document_detail/340657.html 同时,也支持在 ASM 集成自建 Prometheus 实现网格监控。具体可以参考:https://help.aliyun.com/document_detail/184885.html 通过 Grafana 可以查看对应的仪表盘,类似如下: 合并 Istio 与应用的监控指标 已有 Prometheus 监控端点的应用服务,通过启用合并 Istio 与应用的监控指标功能,可以借助网格代理输出原有业务指标。启用合并 Istio 与应用的监控指标功能后,服务网格会将应用程序指标合并到 Istio 指标中,相对应的http://prometheus.io注解会被加入到所有数据面 Pod 上,以启用 Prometheus 的指标抓取能力。如果这些注解已经存在,就会被覆盖。网格代理将应用指标和 Istio 指标进行合并,Prometheus 可以从 :15020/stats/prometheus 端点拉取合并后的指标。具体参考:https://help.aliyun.com/document_detail/2392287.html 网格拓扑展示 网格拓扑是一个服务网格可观测性工具,提供查看相关服务与配置的可视化界面。ASM 支持内置网格拓扑,类似如下。具体可以参考:https://help.aliyun.com/document_detail/200336.html 服务等级目标 SLO 服务等级指标 SLI(Service Level Indicator)是衡量服务健康状况的指标。SLO 是指服务等级的目标值或范围值,由一个或多个服务等级指标 SLI 组成。 SLO 提供了一种形式化的方式来描述、衡量和监控微服务应用程序的性能、质量和可靠性。SLO 为应用开发和平台团队、运维团队提供了一个共享的质量基准,可作为衡量服务水平质量以及持续改进的参考。使用 SLI 组合定义的 SLO 能够帮助团队以更精确的方式描述服务健康状况。 SLO 示例如下: 每分钟平均 QPS > 100k/s 99% 访问延迟 < 500ms 99% 每分钟带宽 > 200 MB/s 阿里云服务网格 ASM 提供了开箱即用的基于服务等级目标 SLO(Service Level Objectives)的监控和告警能力,能够监控应用服务之间调用的延迟和错误率特征等。 ASM 支持的 SLI 类型如下: 服务可用性:服务成功响应的时间比例,对应的 SLI 插件类型为 availability。HTTP 响应码为 429 或以 5XX(以 5 开头的状态码)会被判断为不可用。 延迟时间:服务返回请求的响应所需的时间(单位为毫秒),对应的 SLI 插件类型为 lantency。您可自定义延迟上限,高于上限的响应会被判断为不合格。 阿里云服务网格 ASM 提供了定义 SLO 配置的 UI 界面,如下所示: 使用 ASM 定义应用服务级 SLO,可以自动生成 Prometheus 规则。将生成的规则导入 Prometheus 中之后可以执行 SLO。在 Prometheus 框架中,由 AlertManager 组件负责收集 Prometheus Server 产生的告警信息,并根据您的配置发送给各个接收者。当触发告警时,在 Alertmanager 页面,如下图所示,可以看到自定义告警信息采集成功。 具体可以参考:https://help.aliyun.com/document_detail/468826.html 04 分布式追踪 分布式追踪是 Service Mesh 中实现可观测性的重要组成部分之一,是一种用于对应用程序进行概要分析和监视的方法,尤其是针对使用微服务架构构建的应用程序。在微服务架构中,服务之间的通信是通过网络进行的,因此需要采用分布式追踪技术来对服务之间的调用关系进行跟踪和监控。在 Istio 中,可以使用 Jaeger、Zipkin 等分布式追踪工具来实现这个功能。在分布式追踪里,存在 Trace 和 Span 两个重要概念: Span:分布式追踪的基本组成单元,表示一个分布式系统中的单独的工作单元,每一个 Span 可以包含其它 Span 的引用。多个 Span 在一起构成了 Trace。 Trace:微服务中记录的完整的请求执行过程,一个完整的 Trace 由一个或多个 Span 组成。 虽然 Istio 代理能够自动发送 Span 信息,但是应用程序仍然需要传播适当的 HTTP 标头,以便在代理发送 Span 时,可以将 Span 正确地关联到单个跟踪中。为此,应用程序需要收集以下标头并将其从传入请求传播到任何传出请求: x-request-id x-b3-traceid x-b3-spanid x-b3-parentspanid x-b3-sampled x-b3-flags x-ot-span-context 追踪数据生成规则配置 基于 Telemetry CRD,阿里云服务网格 ASM 提供了如下图所示的图形化界面,简化用户定义分布式链路追踪数据的生成规则配置。 对应地, 生成的定义内容如下: tracing: - customTags: mytag1: literal: value: fixedvalue mytag2: header: defaultValue: value1 name: myheader1 mytag3: environment: defaultValue: value1 name: myenv1 providers: - name: zipkin randomSamplingPercentage: 90 追踪采集配置 需要将采集到的数据发送到云托管服务或者自建服务中。在云托管服务中,可以使用云原生应用管理服务来实现数据的收集和分析。具体可以参考:https://help.aliyun.com/document_detail/149551.html 在自建服务中,可以使用开源的数据收集和分析工具(如 Zipkin、Jaeger 等)来实现数据的收集和分析。具体可以参考:https://help.aliyun.com/document_detail/176527.html 05 总结 在 Service Mesh 中,不同的服务可能需要采集不同的可观测性数据,因此需要支持针对网格代理与网关 Pod 分别定义采集配置规则,并统一标准化采集配置规则,以便更好地支持云原生应用的可观测性。 总的来说,可观测性在云原生应用中扮演着非常重要的角色,它可以帮助我们实时监控服务的运行情况和性能指标,发现并解决服务故障和瓶颈,从而提高应用的可靠性和性能。因此,借助于 Service Mesh 的无侵入式可观测性的实现,基于标准的统一化的可观测数据生成与采集配置,一定可以更好地支持云原生应用的发展。 作者:王夕宁 点击立即免费试用云产品 开启云上实践之旅! 原文链接 本文为阿里云原创内容,未经允许不得转载。

优秀的个人博客,低调大师

展望2020:8种有影响力的企业技术

随着2019年的结束,我们试图预测哪些新技术将成为新年的“下一个大事件”,下面就让我们一起看看有哪些技术有望在2020年对企业产生影响。 企业5G网络 美国所有的顶级无线运营商都在计划大规模推出5G,到2020年底将覆盖全国。此外,市场上支持5G的移动设备数量也在增加,其中包括三星、LG和Moto的电话。尽管苹果尚未发布带有5G无线芯片的手机,但预计将于2020年中旬会有该技术的产品更新。 5G还将在分支机构连接中发挥作用,在许多人看来,由于移动宽带的快速部署和重新部署优势,5G数据服务非常适合短期,分布式或高移动性办公。因此在新的一年里,5G将在企业广域网中扮演一个重要的角色。 物联网克服障碍 尽管物联网(IoT)已经在企业IT管理和架构界中讨论了多年,但其承诺尚未完全实现。物联网采用率缓慢的主要原因在于三个主要障碍:安全性、管理和连接性。 虽然物联网设备,传感器和可穿戴设备通常成本较低,但它们本身的安全性不足以在企业网络上进行大规模部署。此外,早期的IoT部署很快证明,在使用传统的企业监控工具时,管理数百或数千台自主设备非常困难。最后,当前的无线连接选项限制了物联网的实际部署。 幸运的是,物联网的这些阻碍正在减少。加利福尼亚州和俄勒冈州出台的新法律正向物联网设备制造商施加压力,要求其更好地保护其产品。此外,诸如AIOps平台之类的基础架构工具不仅提供了显著改进的设备监视功能,而且还有助于监视它们是否受到破坏。最后,在可预见的将来,5G将成为远程物联网传感器的首选无线传输方式。 数据分析 收集数据很容易,但筛选数据以提供有意义的见解要复杂得多。幸运的是,数据分析的科学和实际使用在2019年取得了巨大的进步,在IoT部署以及私有云和公共云中网络中也会使用到分析技术。实际上,可以说,从2020年开始,大数据分析在大多数企业中的首次变革性应用将获得真正的发展动力。 人工智能驱动自动化 使数据分析更进一步的是人工智能(AI)领域,人工智能根据一个或多个数据分析结果来形成未来的预测。聊天机器人是2019年高度依赖人工智能的一个例子,从2020年开始,人工智能会逐渐渗透到我们更多的日常应用和服务中。自动化助手,自动化的基础结构监视以及自动化的物理和数据安全服务已成为现实,您很快就会看到它们。 IT自动化 虽然某些形式的自动化已在企业IT部门中实施了多年,但到2020年,自动化流程的数量将激增,原因是新技术变得越来越复杂,在2020年及以后,IT自动化的优势将变得十分明显。 统一的安全态势 安全专家和供应商几乎一致认为,当工具之间通过共享威胁情报而协同工作时,可以极大地改善适当的“纵深防御”安全策略。从2020年开始,独立运行的防火墙,恶意软件和云安全智能的时代将成为过去,取而代之的是为情报共享而提供开放API的工具。然后,将使用一个统一的安全管理平台,为跨整个基础架构部署的所有工具提供安全性见解。 即插即用部署的出现 尽管基础结构设备、应用程序和服务的管理变得越来越复杂,但上述技术的部署变得越来越容易。企业产品正在摆脱专有的部署过程和体系结构,转向开放标准。因此,将新技术投入到企业网络或公共云中并不像以前那样复杂,许多企业级基础架构组件都采用了零接触或即插即用的部署模型。对于地理上日趋分散的企业而言,从现在开始,具有快速部署即插即用设备和服务的能力将在企业中节省大量时间。 边缘计算 说实话,到2020年,边缘计算可能仍然是炒作。也就是说,边缘计算是IT部门必须密切关注的一项技术。边缘计算的好处是可以减少应用程序延迟和到云的数据传输成本,这是目前使用的典型云架构的两个缺点。尽管供应商和运营商将在2020年的大部分时间里提高向客户提供边缘计算服务的能力,但企业的工作是确定新技术可用于哪些方面,以降低成本、促进业务增长或创造竞争优势。

优秀的个人博客,低调大师

力压 R,Python 在数据科学领域风生水起

TIOBE 最新发布的 9 月编程语言排行榜中,Python 凭 4.67% 的增速以 0.26% 的优势力压 C++,逆袭成功进入 Top 3。 TIOBE 9 月编程语言 Top 5 而近一年势头不灭的 Python 在数据分析领域,是专家们的必备技能。随着 IT 行业的增长,对有经验的数据科学家的需求也水涨船高,而 Python 也一跃而成最受欢迎的语言。本文旨在介绍分析数据的基本知识,并利用 Python 创建一些漂亮的数据可视化。 概要 ●为什么要学数据科学中的 Python? ●Python 简介 ●为数据科学中的 Python 安装 Jupyter ●Python 的基本知识 ●用于数据科学的 Python 库 ●Demo:实际应用 数据科学领域,非 Python 语言莫属? Python 是最适合数据科学家的语言,这一点毫无争议。下面几点可以帮你理解为什么从事数据科学的人选择了 Python: ●Python 是一门免费,灵活且强大的开源语言。 ●Python 能减少一半的开发时间,同时提供简洁易读的语法。 ●使用 Python 可以进行数据操作、数据分析和可视化。 ●Python 提供功能强大的库,用于机器学习应用和其他科学计算。 你知道最大的好处是什么吗?数据科学家是目前收入最高的职位之一,根据 Indeed.com 的数据,平均年薪为 $130,621。 Python 由 Guido Van Rossum 于 1989 年创建。它是个解释语言,拥有动态语义。它在所有的平台上可以免费使用。Python 是: ● 面向对象 ● 高级语言 ● 容易学 ● 面向过程 为数据科学中的 Python 安装 Jupyter 我们先来在自己的系统上安装 Jupyter。请按照以下步骤进行: ●第 1 步:访问 https://jupyter.org/ ●第 2 步:点击“Try in your browser”或“Install the Notebook” 我建议你使用 Anaconda 发行版(https://www.anaconda.com/download/)安装 Python 和 Jupyter。装好Jupyter 之后,可以在命令行中输入“Jupyter Notebook”即可在默认浏览器中打开。现在我们在 Jupyter 上写个最基本的程序。 name=input("Enter your Name:") print("Hello", name) 要运行这段代码,可以按下“Shift+Enter”,即可查看输出。如下面的截图所示: 数据科学中的 Python 的基础 现在可以开始编程了。为了编程,你需要先了解以下的基础知识: ●变量 :“变量”这个术语指内存中的一块保留的位置,用于保存值。在Python中,使用变量之前不需要定义变量,更不需要声明变量的类型。 ●数据类型 :Python 支持多种数据类型,这些数据类型定义了变量上可能的操作,以及它们的存储方式。数据类型包括数值、列表、字符串、元组、集合和字典。 ●操作符: 操作符可以操纵操作数中的值。Python 中的操作符包括数值操作符、列表操作符、字符串操作符、元组操作符、集合操作符和字典操作符。 ●条件语句 :条件语句可以根据某个条件执行一组语句。有三个条件语句:if、elif 和 else。 ●循环 :循环用来反复执行一小段代码。有三种循环,分别是while、for和嵌套循环。 ●函数 :函数用来将代码分隔成有意义的功能块,以便更好地组织代码,让代码更易读,重用代码,还能节省时间。 关于 Python的更多信息和实际的实现,可以参考这篇文章:Python 入门(https://www.edureka.co/blog/python-tutorial/)。 数据科学中的 Python 库 这是 Python 在数据科学中发挥力量的部分。Python 拥有大量用于科学计算、分析、可视化等的库。一些库如下: ●Numpy - NumPy 是 Python 在数据科学方面的核心库,它的名字的意思是“数值计算用的Python”。它可以用于科学计算,包含了强大的 n 维数组对象,并提供了许多工具与 C、C++ 等语言集成。它还可以用作多维容器,用来存储任意数据,从而进行各种 NumPy 操作和特殊功能。 ●Matplotlib - Matplotlib 是个强大的可视化 Python 库。它可以用于Python 脚本、shell、Web 应用服务器上,还可以用于其他 GUI 工具中。可以用它绘制各种图表,也可以把多种图表画在一起。 ●Scikit-learn - Scikit-learn 是最引人注目的库之一,通过它可以用 Python 实现机器学习。这个免费的库包含了用于数据分析和数据挖掘的简单有效的工具。用它可以实现各种算法,如逻辑回归。 ●Seaborn - Seaborn 是个统计绘图的 Python 库。在数据科学中使用 Python 时,可以使用 matplotlib(用于二维可视化)和 Seaborn,后者有漂亮的样式和高级接口可以用于绘制统计图表。 ●Pandas - Pandas 是数据科学中的重要的 Python 库。它用来操作数据和分析数据。它很适合不同类型的数据,如表格、有序时间序列、无序时间序列、矩阵等。这里有个视频(https://youtu.be/B42n3Pc-N2A)演示了如何在处理数据之前使用 Pandas 进行数据分析。 Demo:实际应用 问题描述:给定一组数据集,该数据集是由多种数据组成的综合统计数据,如监狱设施的分布和情况、监狱的拥挤程度、监狱中的犯人类型,等等。请在这个数据集上做描述性的统计,并从数据中找出有用的信息。下面是几个任务: ●数据加载:使用 Pandas 加载数据集“prisoners.csv”并显示数据集中的前五行和最后五行。然后用 Pandas 的 describe 方法找出列数。 ●数据操作:创建一个新的列 - “total benefitted”,它是所有模式下的受益的犯人总数。 ●数据可视化:创建条形图,用每个州的名字作为X轴,受益犯人的总数作为条的高度。 加载数据使用以下代码: import pandas as pd import matplotlib.pyplot as plot %matplotlib inline file_name = "prisoners.csv" prisoners = pd.read_csv(file_name) prisoners 然后用 Pandas 的 describe 方法,只需输入以下语句: prisoners.describe() 然后进行数据操作: prisoners["total_benefited"]=prisoners.sum(axis=1) prisoners.head() 最后,用 Python 做一些数据可视化。代码如下: import numpy as np xlabels = prisoners['STATE/UT'].values plot.figure(figsize=(20, 3)) plot.xticks(np.arange(xlabels.shape[0]), xlabels, rotation = 'vertical', fontsize = 18) plot.xticks plot.bar(np.arange(prisoners.values.shape[0]),prisoners['total_benefited'],align = 'edge') 原文发布时间为:2018-09-12本文作者:Aayushi Johari本文来自云栖社区合作伙伴“ 数据分析”,了解相关信息可以关注“ 数据分析”。

优秀的个人博客,低调大师

全面支持3.0 新华三“力夯”可信计算发展

“将可信计算3.0作为公司战略加以推进,构筑安全自主可控的新IT基础设施,并在业内开展广泛合作。”在2017年1月6日召开的“中国可信计算与网络安全等级保护高峰论坛”上,新华三表示将坚持可信计算的跟踪研究,推动可信计算产业的发展与落地。 “中国可信计算与网络安全等级保护高峰论坛”是由公安部第三研究所、中国计算机学会计算机安全专委会、中关村可靠计算产业联盟联合主办,本届论坛讨论的话题主要围绕“大力发展可信技术,深入落实国家网络安全等级保护制度”,来自公安部、国家保密局等政府主管部门,以及业内专家、学者和相关企业代表,就可信计算的下一步发展“大计”展开畅谈。 新华三首席安全架构师孙松儿在会议演讲中介绍,作为中国信息化建设的中坚力量以及可信计算联盟成员,新华三非常明确地认识到,可信计算是构筑安全自主可控的重要手段。因此,新华三对可信计算领域持续跟踪研究,并开展大量实践,在可信计算以及云安全可信架构的探索道路上已经走在了行业前列。 当前我国可信计算研究工作已经形成了自主创新体系,并已发展到了以系统免疫性为主要特征的可信计算3.0时代。新华三也将可信计算3.0作为下一阶段的工作重点,为此,新华三专门集中各产品线的资深研发专家,成立了“TPCM工作组”,从底层芯片技术支撑适配到上层软件的规格定义的相关研发工作均已全面展开。孙松儿强调,新华三将把实现主动免疫可信计算3.0的相关功能作为新华三产品的必备特性,后续优先在服务器、安全、交换机、路由器等设备中支持可信计算3.0,保证网络通道的可信。 据了解,目前新华三TPCM工作组的相关研发工作已经全面展开,并率先发布了《H3C设备可信安全模块应用硬件设计规范V1.0》,对单板应用可信安全模块作出了相关要求。在实现可信计算3.0的产品化的同时,新华三将逐步完成技术积累,不断丰富相关特性,不断引导可信计算产业的健康发展。 作为新IT解决方案领导者的新华三,期望能同芯片厂商、标准化组织等产业链各环节开展广泛合作,共同推动可信计算产业的加速发展,为构建积极防御的网络安全体系,保证国家核心利益和网络安全,实现中国从网络大国向网络强国转变贡献自己的力量。 本文出处:畅享网 本文来自云栖社区合作伙伴畅享网,了解相关信息可以关注vsharing.com网站。

优秀的个人博客,低调大师

美国瞄上汉王人脸通 "中国创造"开始发力

在近期中美互访的这一焦点时段,“中国创造”涉足美国尤其令人瞩目。作为“中国创造”开路先锋之一的汉王科技公司日前宣布,旗下代表高科技界先锐水平的“人脸通”产品正式登陆美国市场。汉王高级副总裁徐冬坚在第二届中国企业海外拓展峰会上的一席主题演讲,又在中国创造全球崛起的“能量池”中激起不小的波澜。 据悉,汉王已跟美国最有名的考勤产品提供商签署了战略合作协议。这家拥有100年历史的考勤产品提供商,能够为美国大、中、小型企业提供考勤解决方案或产品。他们目前通过分销和直销的方式销售Face ID产品,在著名的办公用品连锁超市StampleOffice Depot在线商城能看到Face ID产品。以此类推,不难看出,汉王人脸通在美国市场的拓展或将很快驶入快车道。 汉王徐冬坚作主题演讲“汉王的海外拓展之路” 在科技界,人脸识别认证由于非侵犯性好、安全性高、无论室内还是户外均可使用等特性,一直比“认卡不认人”的IC卡更具发展前景。汉王科技人脸识别事业部的工作人员告诉记者,“汉王科技十几年来一直围绕智能人机交互领域不断创新,创造了一项又一项的全球领先技术,“人脸通”人脸识别门禁系统实现了真正意义上的活体生物特征检测,可以非接触、自动人脸识别等功能。” 时至今日,汉王人脸通已经推出了两年时间,目前已经升级到第二代人脸识别产品。记者还了解到,今年汉王人脸通的销售已达数万台,产品已经成熟稳定,还销往海外四十多个国家,并深入应用到了军队、银行、监狱、机场、海关等重要领域,尤其是ATM机人脸通在金融展上一经亮相,就接到了各大银行的意向订单。 作为中国最早涉猎人脸识别这一领域的企业之一,早在2003年,汉王就开始对人脸识别的算法展开深入研究。其独创的“Dual Sensor”人脸识别算法在业内被众多用户单位视为人脸识别技术的标准。 在刚刚揭晓的“2010 CCTV经济年度人物”评选候选人名单中,人们就不难看出“中国创造”的崛起。从CCTV经济年度人物评选最早几年的当选者,“中国制造”企业的领军人物占了相当比例,但随着“中国创意”“中国创造”等概念的提出,有高科技含量的企业大量诞生,并发展壮大。 像汉王这样“中国创造”标签式的企业,或许很快就能在各种榜单中成为受尊敬的代表。“我们已经习惯了扮演先行者的角色。将最新的科技产品化,我们是第一个;将‘中国创造’的力量带到美国这样全球领先的国家,我们也要争先。”汉王科技高级副总裁徐冬坚对“中国创造”发起全球攻势显示出极强的信心。 原文出处:科技行者 转载请与作者联系,同时请务必标明文章原始出处和原文链接及本声明。

优秀的个人博客,低调大师

众多Android 开源项目推荐,给力工作给力学习

FBReaderJ FBReaderJ用于Android平台的电子书阅读器,它支持多种电子书籍格式包括:oeb、ePub和fb2。此外还支持直接读取zip、tar和gzip等压缩文档。 项目地址: http://www.fbreader.org/FBReaderJ/ Angle Angle是一款专为Android平台设计的,适合快速开发的2D游戏引擎,基于OpenGL ES技术开发。该引擎全部用Java代码编写,并且可以根据自己的需要替换里面的实现。 项目地址:http://code.google.com/p/angle/ android-shuffle android-shuffle是一个GTD(Getting Things Done)个人备忘记事本。 项目地址: http://code.google.com/p/android-shuffle/ Open GPS Tracker GPSTracker是一个能够使用Android地图记录你的驾车或旅行路线的项目,出发前打开软件选择开始记录,你所经过的路线就会实时显示在地图上,同时还会显示当前的行驶速度。程序会按用户自己设置的标题自动存路线留做日后查看,也可以把路线分享给朋友。GPSTracker项目是一个Map方面的完整应用,包括两个主要组成部分,第一部分是一个收集和存储GPS追踪数据的系统服务,第二部分是Map Activity控制跟踪数据并在地图上显示提供接口。GPSTracker项目用到了osmdroid项目的部分功能,其中OpenStreetMap是一个可供自由编辑的世界地图,允许您查看,编辑或者使用世界各地的地理数据来帮助您。 项目地址: http://code.google.com/p/open-gpstracker/ Rokon Rokon是一个强大、可扩展、灵活的Android 2D游戏引擎,基于OpenGL ES技术开发,物理引擎为Box2D,因此能够实现一些较为复杂的物理效果,有人将它称为Cocos2d-iPhone引擎的Android版(因为业务逻辑和编码风格上也确实很像)。 )。 项目地址:http://code.google.com/p/rokon/ LGame LGame是一款国人开发的Java游戏引擎,有Android及PC(J2SE)两个开发版本。其底 层绘图器LGrpaphics封装有J2SE以及J2ME提供的全部Graphics API(PC版采用Graphics2D封装,Android版采用Canvas模拟实现),所以能够将J2SE或J2ME开发经验直接套用其中,两版本 间主要代码能够相互移植。Android版内置有Admob接口,可以不必配置XML直接硬编码Admob广告信息。该引擎除了基本的音效、图形、物理、精灵等常用组件以外,也内置有Ioc、xml、http等常用Java组件的封装,代价是jar体积较为庞大,PC版 已突破1.2MB,Android版有所简化也在500KB左右。此外,该引擎还内置有按照1:1实现的J2ME精灵类及相关组件,可以将绝大多数 J2ME游戏平移到Android或PC版中。 项目地址: http://code.google.com/p/loon-simple/ OpenIntents 通过"Intents",Android给连接软件和动态替换组件提供了优秀的基础。Google定义了一批intents(如:打电话啊,联系人清单上选择一个联系人,打开浏览器,电池更换的时候提供提示,等等,详细清单请看:available intents和intent class) 但是任何程序可以自由定义额外的intents和content-providers。我们可以很容易的联想到独立开发的程序(比如在这次的比赛中)极少有可能会和新定义的intents和接口良好的一起工作。 我们这个项目的目标是收集很可能在多个项目中都有用的想法(而且很可能已经被其他独立程序员实现了),定义一批比较合理且扩展性比较好的一批intents和接口,提供基础但稳定有效的实现,可以被其他Android程序所应用的,特别是其他参加比赛的程序员们。OpenIntents本身也会参加这次的比赛。我们提供小的样品程序来演示OpenIntents的用法和特性。 因为我们专注于经常被使用到的那些intents,Google也很可能在不久的将来提供他们自己的标准intents(比如关于日历的。。。)当那个发生的时候,我们会提供透明的接口来直接呼叫Google的实现方法,而你已有的程序可以直接使用Google的新功能而不需要改变任何东西。而且,由于你的程序在设计初期就是已经支持intents的了,当Google的intents出来的时候,你可以很方便的直接他们的intents。还有可能的是Google可能会借用一些OpenIntents开发的intents。无论如何,如果你的程序使用OpenIntents,在和其他使用OpenIntents程序提供互相支持的同时,你会得到额外的附加值,从而全面增强用户体验。 项目地址: http://code.google.com/p/openintents/ android-bluetooth 非常官方Android Bluetooth API支持远程设备扫描、远程设备配对,服务发现(SDP)和客户端RFCOMM串行连接。 项目地址:http://code.google.com/p/android-bluetooth/ Android apktool Android apktool是一个用来处理APK文件的工具,可以对APK进行反编译生成程序的源代码和图片、XML配置、语言资源等文件,也可以添加新的功能到APK文件中。用该工具来汉化Android软件然后重新打包发布是相当简单的。 项目地址: http://code.google.com/p/android-apktool/ quake2android quake2android是一个将《雷神之锤2》(Quake2)游戏移植到Android平台上的开源项目。支持谷歌Nexus One,三星Galaxy S,摩托罗拉Droid X等手机。 项目地址: http://code.google.com/p/quake2android/ AndEngine AndEngine是一个开源的,基于OpenGL实现的Android 2D游戏引擎。 这里提供一些基于AndEngine实现的示例。 项目地址: http://code.google.com/p/andengine/ android-opencv android-opencv是一个将OpenCV移到Android手机平台的开源项目,该项目使用OpenCV最新的一个分枝并利用一个改良过的Android NDK进行构建。 项目地址:http://code.google.com/p/android-opencv/ android-dalvik-vm-on-java android-dalvik-vm-on-java该项目的目标是开发一个采用Java实现的Android Dalvik虚拟机。目的是为了学习Dalvik VM的思想和架构。当前支持Dalvik可执行文件格式(.dex),完整的Dalvik指令系统,J2ME CLDC API,多线程(包括同步阻塞,等待和通知)。 项目地址:http://code.google.com/p/android-dalvik-vm-on-java/ Android PC_BCR Android PC_BCR让你能够使用你的Android手机做为PC机的外围条形码扫描仪。扫描的条形码将通过WiFi网络连接传PC机中。这个开源项目由多个组件组成,在手机设备上PC_BCR使用ZXing扫描仪器来扫描条形码,然后程序通过网络传到PC中,PC中有专门的PC_BCR程序接收。 项目地址:http://code.google.com/p/android-pcbcr/ android-sms android-sms能够将Android SMS短信备份到Gmail中的Android开源程序。 项目地址:http://code.google.com/p/android-sms/ jPCT-AE jPCT-AE是一个将jPCT移植至Android平台上3D图形引擎。 项目地址:http://www.jpct.net/jpct-ae/ AndTweet AndTweet是一个轻量级Twitter客户端,支持利用触摸和键盘进行快速操作。 项目地址:http://code.google.com/p/andtweet/ android-smspopup android-smspopup这个Android应用程序能够拦截收到的短消息并在一个弹出框中显示消息内容和联系人头像。此外还可以自定义LED颜色,振动模式,当第一次提醒显示没有看到时会重复提醒用户哪些信息没有看过。 项目地址:http://code.google.com/p/android-smspopup/ MyTracks My Tracks能够记录你在户外活动的GPS轨迹并实时显示时间,速度,距离和海拔等信息。还可以将这些信息上传至Google Spreadsheets并在Google My Maps中显示。 项目地址:http://code.google.com/p/mytracks/ i-jetty i-jetty是一个将开源Web容器Jetty移植到Google Android手机平台上的开源项目。让你可以在手机上运行现有的Web应用。 项目地址:http://code.google.com/p/i-jetty/ webOdroid webOdroid这个开源项目提供了一组完整的工具,能够根据现有网站创建一个Android应用程序。它提供的特性包括: 一个功能齐全的RSS浏览器 能够显示文章列表的ListView或GridView控件。 提供易于定制的模板 在网站上执行远程搜索 根据文章标题提供搜索建议 异步下载和缓存RSS供稿和图片 动态抽取和裁剪文章的图片 通过一个专用的Joomla组件能够集成Joomla网站的搜索功能 项目地址:http://www.webodroid.com/ android-json-rpc android-json-rpc是一个在android程序中使用的JSON-RPC客户端类库。它提供了一个简单的API来执行JSON-RPC服务调用。 项目地址:http://code.google.com/p/android-json-rpc/ BikeRoute BikeRoute是一个Android应用程序提供基于GPS线路计划和定位功能。支持A到B路径规划,附近的单车停放处的位置,一步一步的指示,路线图,卫星导航等功能。 项目地址: http://code.google.com/p/bikeroute/ Andorid PDF Viewer Andorid PDF Viewer是一个运行在ANDROID手机上的PDF文件查看器。它是pdf-rendere: https://pdf-renderer.dev.java.net/的一个移植实现。 项目地址:http://andpdf.sourceforge.net/ Spring Android Spring Android 是Spring框架的扩展,用于简化 Android 本地应用程序的开发。 项目地址:http://www.springsource.org/spring-android AchartEngine AChartEngine是一个针对Android程序开发的开源图表生成类库。支持以下几种图表类型: 折线图 区域图 散点图 time chart 柱状图 饼状图 bubble chart doughnut chart range (high-low) bar chart 项目地址:http://code.google.com/p/achartengine/ Opencore Opencore是google联合packetvideo推出的多媒体开源框架,其中的h.264解码器在目前所有的开源h.264解码器中最好的,在win32和armv4上测试通过,性能好很多,大概提升20%! OpenCore的另外一个常用的称呼是PacketVideo,它是Android的多媒体核心。在防站的过程中,PacketVideo是一家公司的 名称,而OpenCore是这套多媒体框架的软件层的名称。在Android的开发者中间,二者的含义基本相同。对比Android的其它程序 库,OpenCore的代码非常庞大,它是一个基于C++的实现,定义了全功能的操作系统移植层,各种基本的功能均被封装成类的形式,各层次之间的接口多 使用继承等方式。 OpenCore是一个多媒体的框架,从宏观上来看,它主要包含了两大方面的内容: * PVPlayer:提供媒体播放器的功能,完成各种音频(Audio)、视频(Video)流的回放(Playback)功能 * PVAuthor:提供媒体流记录的功能,完成各种音频(Audio)、视频(Video)流的以及静态图像捕获功能 项目地址:http://www.opencore.net/ Android Tools Android Tools是一个轻量级IDE用于创建、构建、安装和测试Android应用程序。可方便的通过点击访问Android的命令、目录和文件。它还提供一个内置的文本编辑器。Android Tools能够让学习和使用Android变得更加简便。 项目地址:http://fieldbird.sourceforge.net/AndroidTools/ android-binding android-binding这个开源项目提供了一个框架用于将android view widgets与数据模型相绑定。帮助您在android应用程序中实现MVC或MVVM模式。 项目地址:http://code.google.com/p/android-binding/ Robotium Robotium是一个测试框架能够方便你为Android应用程序编写强大、健壮的自动黑盒测试用例。利用Robotium的支持,用例开发人员能够编写功能、系统和验收测试方案Robotium支持Activities、Dialogs、Toasts、Menus和Context Menus。 项目地址:http://code.google.com/p/robotium/ QuiteSleep QuiteSleep是一个Android2.0+应用程序,可以设置免打扰时间段。这个时间段内,打进来的电话将会被阻止并通过SMS或E-Mail发送预定义好的信息给打电话者告知他你正忙或正在睡觉等。 项目地址: http://code.google.com/p/quitesleep/ fanfoudroid 安能饭否是一款开源的饭否Android客户端 。目前支持功能: 消息/私信收发,后台提醒,回复/转发/收藏,查看/关注用户,拍照/图片上传。即将支持功能: 关注管理,随便看看。 项目地址:http://code.google.com/p/fanfoudroid/ Skylight1 Skylight1是一个开源的Java手机应用程序开发框架和一些Android应用程序与示例。 这个开源项目包含了以下子项目: SkylightOpenGL- OpenGL wrapper DSL to the Java binding for OpenGL ES - JSR 239 for Android and Java ME Skylight1 DI- 一个依赖注入框架 Skylight1 Mocks- 一组Android电话的模拟对象,包括回放。 Skylight1 Utils- 工具类如:FPS计数器,远程异常堆栈处理。 Skylight1 UI - 公共可定制UI类 Skylight1 XML - XML解析类。 Skylight1 Server- corresponding server side projects and utils MarketConsoleScraper- Android Market console scraper contributed byWorksmart Labs Skylight1 Demos- api and sample demos including: Tanked, a 2D OpenGL demo Barnstormer, a 3D OpenGL demo Flick Test, a flick example showing borders of adjacent views Skylight1 Wallpaper, a live wallpaper example featuring selectable backgrounds and a fingerprint. Current Android Applications: Skylight1 TDC- a test data capture application for Android phones - available here for download Skylight1 Gamethe initial app, a game for Android phones called"Balance the Beer"- available on the market. NYC Events- an app that lists NYC Parks, Art and Music events. - available on the market Toast- an app that helps you make a toast with your phone! - available on the market 项目地址:http://code.google.com/p/skylight1/ Android团队提供的示例项目如果不是从学习Android SDK中提供的那些样例代码开始,可能没有更好的方法来掌握在Android这个框架上开发。由Android的核心开发团队提供了15个优秀的示例项 目,包含了游戏、图像处理、时间显示、开始菜单快捷方式等。 地址:http://code.google.com/p/apps-for-android/ Remote DroidRemoteDroid是一个Android应用,能够让用户使用自己的无线网络使用无线键盘、触摸屏操作手机。这个项目为开发者提供了如网络连接、触 摸屏手指运动等很好的样例。 地址:http://code.google.com/p/remotedroid/ TorProxy和ShadowTorProxy应用实现了Android手机无线电电传通讯(TOR),和Shadow应用一起使用,可以使用手机匿名上网。从该项目源代码中,可以 掌握socket连接、管理cookie等方法。 地址:http://www.cl.cam.ac.uk/research/dtg/code/svn/android-tor/ Android SMSPopupSMSPopup可以截获短信内容显示在一个泡泡形状的窗口中。从这个项目中可以掌握到如何使用内置的短信SMS接口。 地址:http://code.google.com/p/android-smspopup/ Standup TimerStandup Timer应用用于控制站立会议时间,类似秒表倒计时,可以提醒每个人的讲话时间已到,从而保证每个与会者使用时间一样。从该项目的代码中,可以学会如何 使用时间函数。另外,这个项目的代码是采用视图view、模型model严格分离的设计思路。 地址:http://github.com/jwood/standup-timer Foursquare是 Foursquare.com的一个客户端应用,该应用主要分为两个模块:API(com.joelapenna.foursquare)和界面前端 (com.joelapenna.foursquared)两部分。从该项目代码中,可以学会如何同步、多线程、HTTP连接等技术。 地址:http://code.google.com/p/foursquared/ PedometerPedometer应用用于记录你每天走路步[]数的。尽管记录不一定精准,但是从这个项目中,可以学习几个不同的技术:加速器交互、语音更新、后台运行服 务等。 地址:http://code.google.com/p/pedometer/ OpenSudoku-androidOpenSudoku是一个简单的九宫格数独游戏。从代码中可以学习到如何在视图中显示表格数据,以及如何和一个网站交互等技术。 地址:http://code.google.com/p/opensudoku-android ConnectBotConnectBot是Android平台的一个客户端安全壳应用。从该项目代码中,可以学习到很多Android安全方面的内容,这些是你在开发应用 时经常需要考虑的安全问题。 地址:http://code.google.com/p/connectbot/ WordPress的Android应用当然在最后不能不提Wordpress的Android应用了,这是Wordpress官方开发团队提供的一个项目。从代码中可以学习到XMLRPC调 用(当然还有更多的优秀内容)。 地址:http://android.svn.wordpress.org/trunk/ 学习Android 或者做Android 项目的可以参考这些。 本文转自 terry_龙 51CTO博客,原文链接:http://blog.51cto.com/terryblog/547777,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册