[RATS]week-5

2024-02-07 05:40
文章标签 week rats

本文主要是介绍[RATS]week-5,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

[RATS]week-5

  • Algorithm
    • Question
    • Answer
    • 官方思路
    • Result
  • Review
    • Spring Cloud - Spring Cloud Netflix
  • Tips - MySQL 索引2-给字符串创建索引
  • Share - 腾讯常用工具腾讯篇 from infoQ
    • 一、Web 开发基础样式库 WeUI
    • 二、腾讯 Git 代码管理平台『工蜂』
    • 三、腾讯敏捷协作平台 TAPD
    • 四、一站式 DevOps 研发平台:腾讯 CI 平台(蓝盾)
    • 五、高性能、多语言的微服务治理框架 Tars
    • 分布式 NoSQL 存储系统 DCache
    • 六、小程序组件化开发框架 WePY
    • 七、微信跨平台跨业务基础组件 Mars

Algorithm

Question

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

Answer

    private int reverse(int x) {int intMin = (int) Math.pow(-2, 31);int intMax = (int) Math.pow(2, 32) - 1;boolean isNegative = x < 0;long absX = isNegative ? 0L - x : x;String reverseXStr = new StringBuilder(String.valueOf(absX)).reverse().toString();long reversXlong = isNegative ? 0L - Long.valueOf(reverseXStr) : Long.valueOf(reverseXStr);if (reversXlong < intMin || reversXlong > intMax) return 0;return (int) reversXlong;}

官方思路

控制上下游标,到顶则++,到底则–

Result

在这里插入图片描述

Review

Spring Cloud - Spring Cloud Netflix

Spring Cloud Netflix provides Netflix OSS integrations for Spring Boot apps through autoconfiguration and binding to the Spring Environment and other Spring programming model idioms. With a few simple annotations you can quickly enable and configure the common patterns inside your application and build large distributed systems with battle-tested Netflix components. The patterns provided include Service Discovery (Eureka), Circuit Breaker (Hystrix), Intelligent Routing (Zuul) and Client Side Load Balancing (Ribbon)…

Spring Cloud Netflix通过自动配置和绑定到Spring环境和其他Spring编程模型习惯用法,为Spring引导应用程序提供了Netflix OSS集成。通过一些简单的注释,您可以快速启用和配置应用程序中的常见模式,并使用经过实战测试的Netflix组件构建大型分布式系统。提供的模式包括服务发现(Eureka)、断路器(Hystrix)、智能路由(Zuul)和客户端负载平衡(Ribbon)。

Features
Spring Cloud Config Server features:
HTTP, resource-based API for external configuration (name-value pairs, or equivalent YAML content)
Encrypt and decrypt property values (symmetric or asymmetric)
Embeddable easily in a Spring Boot application using @EnableConfigServer
Config Client features (for Spring applications):
Bind to the Config Server and initialize Spring Environment with remote property sources
Encrypt and decrypt property values (symmetric or asymmetric)

Features
Spring Cloud Netflix features:
1.Service Discovery: Eureka instances can be registered and clients can discover the instances using Spring-managed beans
2.Service Discovery: an embedded Eureka server can be created with declarative Java configuration
3.Circuit Breaker: Hystrix clients can be built with a simple annotation-driven method decorator
4.Circuit Breaker: embedded Hystrix dashboard with declarative Java configuration
5.Declarative REST Client: Feign creates a dynamic implementation of an interface decorated with JAX-RS or Spring MVC annotations
6.Client Side Load Balancer: Ribbon
7.External Configuration: a bridge from the Spring Environment to Archaius (enables native configuration of Netflix components using Spring Boot conventions)
8.Router and Filter: automatic regsitration of Zuul filters, and a simple convention over configuration approach to reverse proxy creation

**特性
1.服务发现:可以注册Eureka实例,客户端可以使用spring管理的bean发现实例
2.服务发现:可以使用声明性Java配置创建嵌入式Eureka服务器
3.断路器:Hystrix客户端可以用一个简单的注释驱动的方法装饰器来构建
4.断路器:嵌入式Hystrix看板,带有声明式Java配置
5.声明性REST客户机:Feign创建了一个接口的动态实现,该接口用JAX-RS或Spring MVC注释装饰
6.客户端负载均衡器:Ribbon
7.外部配置:从Spring环境到Archaius的桥梁(使用Spring引导约定启用Netflix组件的本地配置)
8.路由器和过滤器:Zuul过滤器的自动重新注册,以及反向创建代理的简单约定配置方法

To run your own server use the spring-cloud-starter-netflix-eureka-server dependency and @EnableEurekaServer.

@SpringBootApplication
@EnableEurekaClient
@RestController
public class Application {@RequestMapping("/")public String home() {return "Hello World";}public static void main(String[] args) {SpringApplication.run(Application.class, args);}}

**

Tips - MySQL 索引2-给字符串创建索引

1.直接创建完整索引
优点:简单、速度快
缺点:这样可能比较占用空间。
备注:但要根据实际情况计算比如节省的空间成本是否可接受。
2.创建前缀索引或倒序存储
优点:节省空间
缺点:(1) 存在重复的可能性,会增加查询扫描次数,且不能使用覆盖索引,
(2) 不支持范围搜索;
备注:要考虑索引的区分度的问题。
4.创建 hash 字段索引
优点:查询性能稳定
缺点:有额外的存储和计算消耗
备注:hash计算可能会出现重复,也存在前缀索引的问题,但此问题发生概率较小

以上自极客时间-《MySQL实战45讲》学习笔记

Share - 腾讯常用工具腾讯篇 from infoQ

一、Web 开发基础样式库 WeUI

WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信 Web 开发量身设计,可以令用户的使用感知更加统一。包含 button、cell、dialog、 progress、 toast、article、actionsheet、icon 等各式元素。
使用文档:https://github.com/Tencent/weui/wiki
开源地址:https://github.com/Tencent/Weui

二、腾讯 Git 代码管理平台『工蜂』

腾讯工蜂是腾讯研发管理部自主研发的 Git 托管代码平台,服务腾讯内部数万名研发工程师,是腾讯内部使用范围最为广泛的工程效率工具;在满足基本开发协作能力的基础上,工蜂也提供了可定制化的 CodeReview、开源协作和研发度量能力。
使用场景:
• 企业内部研发管理、开发协作;
• 企业内部开源项目管理、协同共享;
• 微信小程序版本开发;
• 高校实验室,教学场景等
官网和文档:
官网: https://code.tencent.com/
文档: https://code.tencent.com/help/productionDoc/project

三、腾讯敏捷协作平台 TAPD

TAPD 平台是腾讯敏捷研发体系十余年的发展成果,为产品研发全生命周期提供解决方案,支持敏捷需求规划、迭代计划跟踪、测试与质量保证、持续构建交付等全过程研发实践。TAPD 于 2017 年对外服务,目前已帮助超过 10 万家企业提升研发效能,实现数字化转型升级。
使用场景:
任务协作——适合不同场景的任务跟进
敏捷研发——一站式敏捷研发全生命周期管理
DevOps——一站式 DevOps 持续交付平台
企业级研发数据度量——助力企业衡量效能、持续改进
官网: https://www.tapd.cn/
文档: https://www.tapd.cn/help#page-wikidoc

四、一站式 DevOps 研发平台:腾讯 CI 平台(蓝盾)

蓝盾(bk-ci)是一个开源的持续集成和持续交付系统,从业务安全出发,贯穿产品研发、测试和运营的全生命周期; 助力业务平滑过渡到敏捷研发模式,打造一站式研发运营体系,持续快速交付高质量的产品。目前服务于腾讯 10000+ 开发人员,现已成为腾讯公司指定的 CI 平台。另外,也是获得行业至今为止唯一一个 4 级认证的 DevOps 标准。蓝盾提供了流水线、代码库、凭证管理、环境管理、研发商店 5 大核心服务,多重组合,满足企业不同场景的需求。
使用场景:
工程编译
静态代码检查
运行测试用例,及时发现 BUG
部署与发布
开源地址:https://github.com/Tencent/bk-ci

五、高性能、多语言的微服务治理框架 Tars

Tars 是腾讯将其内部使用的微服务框架 TAF(Total Application Framework)多年的实践成果总结而成的开源项目,在腾讯内部有上百个产品使用,服务内部数千名 C++、Java、Golang、Node.Js 与 PHP 开发者。其包含一整套开发框架与管理平台,兼顾多语言、易用性、高性能与服务治理,理念是让开发更聚焦业务逻辑,让运营更高效。目前腾讯有 160 多个业务(如 QQ 浏览器、手机 QQ、手机游戏、应用宝、微视、天天快报等)在 10 万台服务器上使用 TARS。2017 年,Tars 在 GitHub 开源,目前 TarsCloud 拥有将近一万 star。2018 年,Tars 项目被捐献给 Linux 开源基金会。

使用场景:

高效支持后台服务的开发、部署、发布、运营、监控等;
提供一站式服务治理,包括服务注册发现、服务配置、负载均衡、过载保护、容灾容错等功能;
提供立体化监控平台,轻松获取流量、耗时、超时、异常、自定义等监控数据和历史曲线。同时可进行消息染色,从而做有针对性的监控。
开源地址:https://github.com/tarsCloud
轻量级服务注册发行容错方案 TSeer

TSeer 是一套服务注册发现容错方案,是对 TARS 名字服务功能的轻量化,对业务侵入性低,并且提供 Web 管理平台。在腾讯内部众多业务中广泛采用,目前日均承载百亿级的请求量。

开源地址:https://github.com/Tencent/tseer/

分布式 NoSQL 存储系统 DCache

DCache 是一个基于 TARS 框架开发的分布式 NoSQL 存储系统,数据采用内存存储,支持连接后端 DB 实现数据持久化。DCache 采用集群模式,具有高扩展、高可用的特点。DCache 在腾讯内部有大量业务使用,日访问总量超万亿次。
开源地址:
https://github.com/tencent/dcache

六、小程序组件化开发框架 WePY

WePY 项目启动于 2017 年 11 月份, 是小程序最早的框架之一,是一款让小程序支持组件化开发的框架,通过预编译的手段让开发者可以选择自己喜欢的开发风格去开发小程序。框架的细节优化,Promise,Async Functions 的引入都是为了能让开发小程序项目变得更加简单,高效。

使用场景:

使用 Vue Observer 实现数据绑定
支持 Vue watch/computed/mixin 等特性
基于原生组件实现组件化开发
支持 TypeScript
开源地址:https://github.com/Tencent/wepy

七、微信跨平台跨业务基础组件 Mars

Mars 是微信官方的终端基础组件, 是一个业务性无关, 平台性无关,使用 C++ 编写的基础组件。目前已接入微信 Android、iOS、Mac、Windows、WP、UWP 等客户端。Mars 是一个结合移动 App 所设计的基于 socket 层的解决方案,在网络调优方面有更好的可控性,Mars 在微信用的应用场景主要是:普通 CGI 请求类似收发消息收发语音,业务 CGI 支付请求等。

开源地址:https://github.com/Tencent/Mars

这篇关于[RATS]week-5的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/686673

相关文章

MATH36022 Numerical Analysis 2 Approximation of Functions – Week 3 Exercises

Show that the Chebyshev polynomials are orthogonal on ( − 1 , 1 ) (−1, 1) (−1,1) with respect to the weight function ( 1 − x 2 ) − 1 / 2 (1 − x^2)^{−1/2} (1−x2)−1/2. Ans: T n ( x ) = cos ⁡ ( n arcc

MATH36022 Numerical Analysis 2 Approximation of Functions – Week 2 Exercises

Attempt these exercises in advance of the tutorial in Week 3 Find the best L ∞ L_\infin L∞​ approximation to f ( x ) = x n + 1 + ∑ k = 0 n a k x k f (x) = x^{n+1} + \sum_{k=0}^na_kx^k f(x)=xn+1+∑k=

【Hello Python World】Week 2(1):列表简介

1 姓名3-2 问候语3-3 自己的列表3-4 嘉宾名单3-5 修改嘉宾名单3-6 添加嘉宾你刚找到了3-7 缩减名单3-8 放眼世界3-9 晚餐嘉宾3-10 尝试使用各个函数3-11 有意引发错误 第三章主要是介绍Python中的list,比较简单 3.1 姓名 将一些朋友的姓名存储在一个列表中,并将其命名为names 。依次访问该列表中的每个元素,从而将每个朋

【Hello Python World】Class Notes of Week 2

列表 (3.14 update) 1.数组下标错误会抛出异常(与C++不同)2.一个list里可以有不同的数据结构3.插入方法4.删除方法 第一种方法:pop(),有返回值第二种方法:del,没有返回值第三种方法:remove(),没有返回值,而且会抛出异常 5.操作方法 用sort()和sorted()从小到大排序翻转列表reverse()求长度len() 6.列表的数据处理 求和su

【Hello Python World】Week 1(1):探索 展望

什么是Python一些与学习Python有关的网站 wwwpythonorgwwwliaoxuefengcom廖雪峰老师的个人网站 对Python的展望 什么是Python Python的原型诞生于1989年圣诞节,著名的“龟叔”Guido van Rossum在当时为了打发无聊的圣诞假期,随手开发出这款语言。这个有点“无心插柳”的行为却给我们带来了这个简洁而强大工具。时

21—小结(Week)

一 、xutils的框架设计问题,他内部貌似采用的是线程池管理的,当线程池满的时候,其他的线程就会处于等待状态, 这时候如果界面的数据依赖网络请求结果的话,就会造成阻塞状态。 xutils的整个后台是基于ThreadPoolExecutor线程池来做的,该程序封装的线程池的最大连接数是10,所以每次new 一个httpUtils请求下载的时候,一个new 的请求对象最多download下

xamarn.android binding parse sdk for a week to work

Xamarin.Android PackageName 需要设置为项目命名空间且全小写。 http://blog.csdn.net/jameszhou/article/details/41806377

Coursera耶鲁大学金融课程:Financial Markets 笔记Week 02

Financial Markets 本文是学习 https://www.coursera.org/learn/financial-markets-global这门课的学习笔记 这门课的老师是耶鲁大学的Robert Shiller https://en.wikipedia.org/wiki/Robert_J._Shiller Robert James Shiller (born Ma

STAT315 Week 8 广义线性混合模型(GLMMs)

正如我们使用 LMM 对具有相关观测值的正态数据进行建模一样,我们可以使用 GLMM 对非正态分布且具有相关观测值的数据进行建模。 响应变量通常是离散的或明显非正态的。 GLMM 允许响应数据来自指数族的任何其他分布,包括最常见的二项分布和泊松分布。因此,GLMM 是具有正态分布随机效应的广义线性模型。 上图展示了广义线性混合模型(Generalized Linear Mixed Model

MongoDB聚合运算符:$week

MongoDB聚合运算符:$week 文章目录 MongoDB聚合运算符:$week语法使用举例 $week聚合运算符返回指定日期日期为一年中第几周的数字值为0到53之间。周从周日开始,第1周从一年的第一个周日开始。一年中第一个星期日之前的日期为第0周。这和 strftime标准库函数中的 "%U"操作符相同。 语法 { $week: <dateExpression