首页 文章 精选 留言 我的

精选列表

搜索[云上实践],共10000篇文章
优秀的个人博客,低调大师

《Python编程:从入门到实践》 第二章 动手试一试

#动手试一试 ##2-1 简单消息: 将一条消息存储到变量中,再将其打印出来。 message = ''Hello!" print(message) ##2-2 多条简单消息: 将一条消息存储到变量中,将其打印出来;再将变量的值修改为一条新消息,并将其打印出来。 message = "Hello~" print(message) message = "Hello bro~" print(message) ##2-3 个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,如“Hello Eric, would you like to learn some Python today?”。 name = "fiona" message = "Hello " + name.title() + ',' + "would you like to learn some Python today?" print(message) ##2-4 调整名字的大小写: 将一个人名存储到一个变量中,再以小写、大写和首字母大写的方式显示这个人名。 name = "FIona" print(name.lower()) print(name.upper()) print(name.title()) ##2-5 名言: 找一句你钦佩的名人说的名言,将这个名人的姓名和他的名言打印出来。输出应类似于下面这样(包括引号):Albert Einstein once said, “A person who never made a mistake never tried anything new.” ##2-6 名言2: 重复练习2-5,但将名人的姓名存储在变量famous_person 中,再创建要显示的消息,并将其存储在变量message 中,然后打印这条消息。 ##2-7 剔除人名中的空白: 存储一个人名,并在其开头和末尾都包含一些空白字符。务必至少使用字符组合"\t" 和"\n" 各一次。打印这个人名,以显示其开头和末尾的空白。然后,分别使用剔除函数lstrip() 、rstrip() 和strip() 对人名进行处理,并将结果打印出来。 name = " fiona " print("\n" + name) print("\n\t" + name) print(name.lstrip()) print(name.rstrip()) print(name.strip()) ##2-8 数字8: 编写4个表达式,它们分别使用加法、减法、乘法和除法运算,但结果都是数字8。为使用print 语句来显示结果,务必将这些表达式用括号括起来,也 就是说,你应该编写4行类似于下面的代码: print(5 + 3) 输出应为4行,其中每行都只包含数字8。 print(4 + 4) print(9 - 1) print(2 * 4) print(8 / 1) ##2-9 最喜欢的数字: 将你最喜欢的数字存储在一个变量中,再使用这个变量创建一条消息,指出你最喜欢的数字,然后将这条消息打印出来。 number = 7 message = "My favorite number is, " print(message + str(number) + '.') ##2-10 添加注释: 选择你编写的两个程序,在每个程序中都至少添加一条注释。如果程序太简单,实在没有什么需要说明的,就在程序文件开头加上你的姓名和当前日 期,再用一句话阐述程序的功能。 ##2-11 Python之禅: 在Python终端会话中执行命令import this ,并粗略地浏览一下其他的指导原则。 import this

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

微服务架构下,解决数据一致性问题的实践

随着业务的快速发展,应用单体架构暴露出代码可维护性差、容错率低、测试难度大和敏捷交付能力差等诸多问题,微服务应运而生。微服务的诞生一方面解决了上述问题,但是另一方面却引入新的问题,其中主要问题之一就是:如何保证微服务间的业务数据一致性。 本文将通过一个商品采购的业务,来看看在Dubbo的微服务架构下,如何通过Fescar来保障业务的数据一致性。本文所述的例子中,Dubbo 和 Fescar 的注册配置服务中心均使用 Nacos。Fescar 0.2.1+ 开始支持 Nacos 注册配置服务中心。 业务描述 用户采购商品的业务,包含3个微服务: 库存服务: 扣减给定商品的库存数量。 订单服务: 根据采购请求生成订单。 账户服务: 用户账户金额扣减。 业务结构图如下: 库存服务(StorageService) public interface St

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

中国联通4G携号转网业务支撑的架构实践

随着用户需求和上级部门的要求,号码变换不同运营商的业务办理成为必然,然而不同运营商、不同厂家、多个系统间如何做好交互,老的系统架构又如何支撑这种新业务受理都是需要解决的难题。 1.梳理业务场景 考虑业务场景主要为他网号码的转入(携入)、本网号码的转出(携出)。携入相当于现有系统的新用户开户,携出相当于现有系统的号码销户,携入的主要差别为号码不是本网管理的号码,不需要进行选号,携出的主要差别为拆机后状态需要交换测特殊处理。 2.梳理业务流程 业务场景清楚之后,我们看一个业务如何办理。如果用户想携入联通,首先需要去对端系统申请携出,在对端验证可以携出后会给用户授权码。用户携带授权码在联通进行开户,如无问题待上级部门通知携入方、携出方业务受理成功后,携出方进行号码的拆机,携入方进行开户生效。 3.架构设计 在业务流程清楚之后,主要解决系统如何支撑,综合考虑营业员业务办理习惯、系统间交互、稳定性以及扩展性。主要采用调用、返回架构风格中的分层以及面向服务的架构。分层主要解决后续扩展问题,面向服务的主要实现松耦合易维护。主要分为业务受理层、功能层、存储层、交互层。交互层前期主要支撑webservice,存储层、业务受理层复用,主要改造点为功能层的服务。针对不同的业务场景进行开发。 4.总结 在架构初期主要问题为快速支撑业务受理,在满足可扩展的前提遵循简单原则进行设计。由于业务的特殊性主要业务场景基本不会更改,主要演进为业务流程的变更,可在服务层进行特殊处理。

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

Python零基础学习代码实践 —— 模拟播放器中的歌词显示

import time musucLrc = ''' [00:00.01]给我你的爱 [00:02.01]林宥嘉,张杰 [00:05.53] 作词:秋风 [00:09.83] 作曲:秋风 [00:14.90] [00:15.65]相信我 在每个生命的路口 [00:20.98]在每个无助的时候 [00:24.75]都有对爱的渴求 [00:30.47]我想把 真的爱向你传达 [00:36.53]无论你在海角天涯 [00:39.52]都能感到 我的牵挂 [00:44.28]请给我你的爱 [00:47.84]请伸出手来传递这信赖 [00:51.54]就在这茫茫人海 [00:53.79]真心的爱 让世界变色彩 [00:59.02]请给我你的爱 [01:02.45]让我们用爱改变着未来 [01:06.10]在每个艰难时刻 [01:08.88]伸你的手 感觉真的爱 [01:14.81]牵着手 让我们静静地感受 [01:19.92]当风雨艰难过去后 [01:23.79]那种美好的自由 [01:29.29]我们都曾 错过幸福的意义 [01:34.77]只希望我还来得及 [01:38.45]去告诉你 真心爱你 [01:43.15]请给我你的爱 [01:47.39]请伸出手来传递这信赖 [01:50.42]就在这茫茫人海 [01:53.18]真心的爱 让世界变色彩 [01:57.72]请给我你的爱 [02:01.53]让我们用爱改变着未来 [02:05.19]在每个艰难时刻 [02:07.86]伸你的手 感觉真的爱 [02:14.27]我不再想要错过 [02:15.81]你的每个热切期待 [02:19.18]用爱 在明天到来之前 [02:22.56]向你大声说出爱~~爱 [02:29.44]请给我你的爱 [02:32.65]请伸出手来传递这信赖 [02:36.33]就在这茫茫人海 [02:39.08]真心的爱 让世界变色彩 [02:43.89]请给我你的爱 [02:47.56]让我们用爱改变着未来 [02:51.05]在每个艰难时刻 [02:53.96]伸你的手 感觉真的爱 [03:01.38]给我你的爱~~ ''' #将数据分解存储到字典里 lrcDict = {} musicList = musucLrc.splitlines() for lrcLine in musicList: #runCount = lrcLine.count(":") lrcLineList = lrcLine.split("]") for index in range(len(lrcLineList) - 1): timeStr = lrcLineList[index][1:] #print(timeStr) timeList = timeStr.split(":") timea = float(timeList[0]) * 60 + float(timeList[1]) #print(timea) lrcDict[timea] = lrcLineList[-1] #print(lrcDict) allTimeList = [] for t in lrcDict: allTimeList.append(t) allTimeList.sort() #print(allTimeList) #在字典里将数据调出来然后按照时间间隔将数据显示出来 #效果是一行一行的刷新 getTime = 0 while 1: for n in range(len(allTimeList)): tempTime = allTimeList[n] if getTime < tempTime: break lrc = lrcDict.get(allTimeList[n]) if lrc == None: pass else: print(lrc) if n in range(len(allTimeList) - 1): time.sleep(allTimeList[n + 1] - allTimeList[n]) getTime += (allTimeList[n + 1] - allTimeList[n]) else: break

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

包银消费CTO汤向军:消费金融大数据风控架构与实践

风险在哪里 1.1 信用风 根据银行业的风险理论,信用风险是指借款人因各种原因未能及时、足额偿还债权人或银行贷款而违约的可能性。 信用风险的风控重点在于,甄别客户违约的原因究竟是还款能力,还是还款意愿问题。如果客户真的由于各方面的原因,暂时不具备还款能力,这是概率问题。即使发生了,处置起来也不会有什么损失。而如果是还款意愿问题,存在较大的资金损失概率。 1.2 欺诈风险 在风控中,欺诈风险比信用风险要大得多,所以反欺诈是重中之重。一般来说正常的客户,如果不是刻意骗贷的,只是因为家里出现突发事故、生意出现问题、暂时失业等等原因而导致资金周转不过来而逾期的,这毕竟是少数,而且借款只是逾期,能够还款的概率还是比较高。 消费金融行业绝大多数不良是因为欺诈引起的,如果反欺诈能够比较有效的情况下,信用风险控制在5%以内没有太大问题。 主要挑战 消费金融发放的

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

Docker基本概念与实践(四)-部署简单web项目(tomcat+war+mysql)

Docker简单部署web项目(tomcat+war包+mysql) 先简单测试单独运行tomcat项目 #启用tomcat8镜像命名为webapp,将容器的8080端口映射到主机的8080端口 docker run -p 8080:8080 --name webapp -d tomcat:8 单纯启动tomcat 将项目放入tomcat运行 #进入刚刚用tomcat8镜像运行的容器,并关闭容器内tomcat服务,进入容器内的bin目录 docker exec -it webapp /bin/bash #进入tomcat的bin目录 关闭 sh shutdown.sh #将宿主机的war包传到tomcat容器的webapp下 -> docker cp 本地文件路径 容器名/id:容器路径 docker cp /usr/local/war/linjw.war webapp:/usr/local/tomcat/webapps docker start webapp 将war包导入tomcat容器内 添加mysql镜像 #后台启动一个mysql5.7镜像 映射宿主机3308端口 设置密码garwer 如果本地无该镜像将从官方拉取 docker run -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=garwer -e MYSQL_DATABASE=garwer mysql:5.7 【这种启动方式有个弊端,可以测试访问mysql成功后,在里面创建一张表退出,停止容器后再重启,数据就丢失了 正确的姿势是:挂载一个本地文件到容器,以此保证mysql容器数据的持久化(还可以根据需要mysql的配置文件,这边仅挂载数据) -v 前面为宿主机路径 后为容器路径 --privileged=true给容器加上特定权限 否则挂载的时候会报权限错误 宿主机会自动创建/usr/local/mysql-docker/data路径文件 这边因为因为外部占用我用3308 可自行调整端口 】 docker run -d -p 3308:3306 --name garwer-mysql --privileged=true -e MYSQL_ROOT_PASSWORD=garwer -e MYSQL_DATABASE=garwer -v /usr/local/mysql-docker/data:/var/lib/mysql mysql:5.7 #进入容器查看是否创建了garwer数据库 密码是否为garwer fcfdc2743ebe为我的容器id docker exec -it fcfdc2743ebe /bin/bash #登陆测试 mysql -uroot -p 用mysql.5.7镜像运行mysql容器 进入容器测验 测试访问 挂载数据文件到本地测试 访问成功

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

《Spring Boot 实战开发》 —— 基于 Gradle + Kotlin的企业级应用开发最佳实践

第 I 部分 Spring Boot 框架基础 第1章 Spring Boot 简介 第2章 快速开始 HelloWorld 第3章 深入理解Spring Boot 自动配置 第 II 部分Spring Boot 项目综合实战 第4章 Spring Boot 集成 MyBatis数据库层开发 第5章 Spring Boot 集成 JPA数据库层开发 第6章 Spring Boot Gradle插件应用开发 第7章 使用 Spring MVC开发 Web 应用 第8章 Spring Boot 自定义 Web MVC配置 第9章 Spring Boot 中的AOP 编程 第10章 Spring Boot 集成Spring Security 安全开发 第11章 Spring Boot 集成React.js开发前后端分离项目 第12章 任务调度与邮件服务开发 第13章 Spring Boot 集成 WebFlux 开发 Reactive Web 应用 第14章 Spring Boot 缓存 第15章 使用Spring Session 集成 Redis 实现Session共享 第16章 使用 Zuul 开发 API Gateway 第17章 Spring Boot 日志 第 III 部分Spring Boot 系统监控、测试与运维 第18章 Spring Boot 应用监控:Actuator与 Admin 第19章 Spring Boot 应用的测试 第20章 Spring Boot 应用 Docker 化

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

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部分的功能。

用户登录
用户注册