Framework

如何写出高质量Spring 组件?

坚强是说给别人听的谎言 提交于 2020-08-08 13:57:46
背景 Spring 框架提供了许多接口,可以使用这些接口来定制化 bean ,而非简单的 getter/setter 或者构造器注入。细翻 Spring Cloud Netflix、Spring Cloud Alibaba 等这些构建在 Spring Framework 的成熟框架源码,你会发现大量的扩展 bean 例如 Eureka 健康检查 package org.springframework.cloud.netflix.eureka; public class EurekaHealthCheckHandler implements InitializingBean {} Seata Feign 配置 package com.alibaba.cloud.seata.feign; public class SeataContextBeanPostProcessor implements BeanPostProcessor {} 代码示例 DemoBean @Slf4j public class DemoBean implements InitializingBean { public DemoBean() { log.info( "--> instantiate " ); } @PostConstruct public void postConstruct() { log

腾讯云 Serverless 保障《创造营》硬糖少女 C 位出道

♀尐吖头ヾ 提交于 2020-08-08 11:11:16
15 位青春洋溢的女团候选成员,百万次全网观众投票,节目播出后迅速霸占热搜前十位..... 在这激动人心的决赛之夜,Tencent Serverless 团队下的云 API 网关产品作为幕后英雄,利用其高并发、高可用的技术特性,支撑了节目投票环节顺利开展,面对全网粉丝狂热打 call 投票,顺利保障小姐姐们 C 位出道! 不一般的投票 【投票】是一个很简单的功能,但是《创造营》的投票不一样。 《创造营》是直播节目,投票时间非常短。海量全网粉丝将在同一时间瞬时涌入,瞬间的大流量和高并发,对系统的高可用性提出了极高的要求。 《创造营》投票,将产生本届总冠军,是《创造营》决胜之夜的制胜环节,激动人心的时刻。投票系统的任何差池,都会对粉丝心理和节目效果造成重创。 在投票的关键时刻,为了保证女团小姐姐顺利出道,技术小哥哥采用了什么样的技术设计,保证了这种特殊场景下的投票功能高可用呢? Serverless Serverless 是一种云计算技术的新趋势,一方面它使开发者在构建和运行应用时无需管理服务器等基础设施,将构建应用的成本进一步降低,实现快速迭代、极速部署;同时,Serverless尤其适用于高并发场景,无需预估流量大小,而会根据流量情况自动的进行扩缩容,整个过程无需人工干预;值得一提的是,Serverless 还是按用量付费的模式,避免了无用的资源开销,大大降低了成本。

DRF框架GenericAPIView之排序查询

与世无争的帅哥 提交于 2020-08-08 08:34:21
一、使用方法 1.引入方式 from rest_framework.filters import OrderingFilter 2.添加引擎 将OrderingFilter引擎添加到filter_backends列表中,也可以添加到全局 filter_backends = [DjangoFilterBackend, OrderingFilter] 3.指定排序字段 使用ordering_fields指定需要排序的字段 ordering_fields = [ ' id ' , ' name ' , ' leader ' , ' programmer ' , ' tester ' ] 二、完整代码展示 from rest_framework.response import Response from rest_framework import status from rest_framework.generics import GenericAPIView from django_filters.rest_framework import DjangoFilterBackend from rest_framework.filters import OrderingFilter from .models import Projects from .serializers import

万物皆可 Serverless 之我的 Serverless 之路

女生的网名这么多〃 提交于 2020-08-08 04:29:25
缘起 本文来自 Serverless 社区用户「乂乂又又」投稿 我最早接触 Serverless 大概是在 18 年 6 月,那时候我在阿里云的学生机刚好到期,那台机子上我有装宝塔面板,然后在上面只放了一个 Typecho 的个人博客站,好像这台服务器似乎一直都是被我拿来当作虚拟主机用,最多也只是登上宝塔面板清一下内存这样子,所以,在我阿里云一年的学生机到期之后,我就果断选择了放弃续费服务器。从那时起我就变成了一个彻底的 Severlesser。 首先是之前的静态网页的问题,这个解决起来比较简单,随便找一个对象存储或者 pages 服务就可以搞定。 这里我是把自己那些静态网页都放到了 Coding pages 上,除了某些时候某些地区某些运营商的网络访问会不稳定之外,其他的一切都让我觉得 coding 的 pages 服务都是做的非常棒的。 然后是 Typecho 博客问题,这个问题还是比较让人头大的,因为像这种动态的博客系统是很少有 pages 服务支持的,所幸在那个时候 coding 有一个动态 pages 的服务是允许个人发布动态博客的,包括 Wordpress 和 Typecho 之类,只可惜现在 coding 已经把动态 pages 的服务给去掉了,而我的之前放在 coding 上的动态博客现在也已经被归档了。 我也错过了 cloud studio 升级的提醒通知

Flink:What is stream processing?

ⅰ亾dé卋堺 提交于 2020-08-08 04:08:52
Ververica was founded by the original creators of Apache Flink®, and we’ve spent a long time solving problems in the stream processing space. In this introductory write-up, we’ll provide our perspective on stream processing and where Apache Flink fits in. Stream processing is the processing of data in motion , or in other words, computing on data directly as it is produced or received. The majority of data are born as continuous streams: sensor events, user activity on a website, financial trades, and so on – all these data are created as a series of events over time. Before stream processing,

从企业微信机器人到小爱同学,用 Serverless 实现生活智能化!

做~自己de王妃 提交于 2020-08-07 21:25:19
通过定时触发器,可以简单快速地定制一个企业微信机器人。我们可以用它来实现喝水、吃饭提醒等小功能,还能实现定时推送新闻、天气,甚至是监控告警的小功能。 使用企业微信机器人 在企业微信中,选择添加机器人: 之后,我们可以根据文档进行企业微信机器人的基础功能定制: 以下是用 curl 工具往群组推送文本消息的示例(注意要将 url 替换成机器人的 webhook 地址,content 必须是 utf8 编码): curl '企业微信机器人地址' -H 'Content-Type: application/json' -d ' { "msgtype": "text", "text": { "content": "hello world" } }' 通过 Python 语言实现: url = "" data = { "msgtype": "markdown", "markdown": { "content": "hello world", } } data = json.dumps(data).encode("utf-8") req_attr = urllib.request.Request(url, data) resp_attr = urllib.request.urlopen(req_attr) return_msg = resp_attr.read().decode("utf-8")

iOS封装功能生成 .framework

房东的猫 提交于 2020-08-07 16:21:00
前言 如果你想将你开发的控件与别人分享,一种方法是直接提供源代码文件。然而,这种方法并不是很优雅。它会 暴露所有的实现细节 ,而这些实现你可能并不想开源出来。此外,开发者也可能并不想看到你的所有代码,因为他们可能仅仅希望将你的这份漂亮代码的一部分植入自己的应用中。 另一种方法是将你的代码编译成静态库(library),让其他开发者添加到自己的项目中。然而,这需要你一并公布所有的公开的头文件,实在是非常不方便。 你需要一种简单的方法来编译你的代码,这种方法应该使得你的代码易分享,并且在多个工程中易复用。你需要的是一种方法来打包你的静态库,将所有的头文件放到一个单元中,这样你就可以立刻将其加入到你的项目中并使用。 OS X完美地支持这一点,因为Xcode就提供了一个项目模板,包含着默认构建目标(target)和可以容纳类似于图片、声音、字体等资源的文件。你可以为iOS创建Framework,不过这是一个比较复杂的手工活,如果你跟着教程走,你将学到怎么样跨过路障,顺利地完成Framework的创建。 比较 可以参考这篇文章 .a和.framework .a和.framework的区别 。 我们可以看出.a的封装和.framework的封装差不多,也有模拟器和真机合并的过程,通过上边的图片我们可以看出.a 和.framework的区别,就是.a+.h+soureFile=

起势的 Serverless,正在挺进云计算的腹地深处

泪湿孤枕 提交于 2020-08-07 08:17:48
2020 年 6 月 19 日,全球最负盛名的 Serverless 大会 --ServerlessDays · China 于线上直播的形式正式召开举办。腾讯云作为 Serverless 的先行者,从 2017 年至今,经过三年的沉淀,腾讯云 Serverless 的用户规模以及产品下载、调用等次数每年都在急速增长。云计算的下半场会是无服务器化吗,Serverless 能否再次引领云计算领域的又一次红利?这一切,都在这场大会中得到揭晓。 Serverless 起势 2020 年 6 月 19 日,首次进入中国的 ServerlessDays 于线上直播的形式展开。期间 ServerlessDays Organiser--Ant Stanley、Author of “A Berkeley View on Serverless Computing”--Johann Schleier-Smith、Serverless.com CEO--Austen Collins 等众多国外知命的 Serverless 技术专家纷纷到场。 开场,ServerlessDays 会议的组织者、Serverless 社区的技术专家 Ant Stanley 通过分享了自己对于无服务器化的理解,从 Herman Hollerith 到简单的 Lambda 函数,Ant Stanley

[Asp.Net Core] Blazor WebAssembly

早过忘川 提交于 2020-08-07 07:04:53
原文: [Asp.Net Core] Blazor WebAssembly - 改造 Loading... 界面 前言 默认的 index.html 显示的 Loading 太简陋了. 而且没有加载进度条. 所以做了一个. 代码地址 : https://github.com/BlazorPlus/BlazorDemoWasmLoading 只需要改 index. html <! DOCTYPE html > < html > < head > < meta charset ="utf-8" /> < meta name ="viewport" content ="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> < title > BlazorDemoWasmLoading </ title > < base href ="/" /> < link href ="css/bootstrap/bootstrap.min.css" rel ="stylesheet" /> < link href ="css/app.css" rel ="stylesheet" /> < link href ="manifest.json" rel ="manifest" /> < link

Django序列化组件Serializers详解

落花浮王杯 提交于 2020-08-07 06:19:23
   本文主要系统性的讲解django rest framwork 序列化组件的使用,基本看完可以解决工作中序列化90%的问题,写作参考官方文档 https://www.django-rest-framework.org/api-guide/serializers/#modelserializer ,分成如下九个部分:   01、 为什么要用序列化组件   02、 序列化组件的基本使用   03、 序列化组件常用字段   04、 序列化组件is_valid、validated_data   05、 序列化组件校验字段   06、 序列化组件.create() and .update()   07、 序列化组件ModelSerializer   08、 序列化组件构造复杂的结构   09、 序列化组件修改返回值to_representation、to_internal_value 01、为什么要用序列化组件    我们知道前后端常用json数据结构交互, 在后端我们常想把一个对象返回给前端,但是json序列化是不能序列化对象(不过可以添加序列化参数encoder序列化原理和序列化组件差不多需要自己定义序列化类和返回的结构),所以就有了我们的序列化组件,可以自定义特定结构把对象序列化返回给前端,同时可以对前端传入的参数进行数据校验等功能。 02、序列化组件的基本使用 models