Framework

基于 Serverless 快速实现简单版查询工具(文本相似度)

霸气de小男生 提交于 2020-08-13 09:33:36
需求背景 朋友的单位,有一个小型的图书室,图书室中摆放了很多的书,每本书都被编号放在对应的区域,为了让大家更快,更容易找到这些书,他联系我,让我帮他弄一个图书查询系统。可以通过用户输入,模糊匹配到对应的结果,并且提供书籍对应的地点。 功能设计 让朋友把书籍整理并存储到一个Excel表格中; 将Excel表放到对象存储中,云函数读取这个文件,并且解析; 根据词语的相似寻找相似的图书; 前端页面通过MUI制作,放在对象存储中,并且使用对象存储的Website功能; 整体实现 数据形态 Excel样式主要包括书名和编号,同时下面包括分类的tab: 基于函数的搜索功能 核心代码实现: import jieba import openpyxl from gensim import corpora, models, similarities from collections import defaultdict import urllib.request with open("/tmp/book.xlsx", "wb") as f: f.write( urllib.request.urlopen("https://********").read() ) top_str = "abcdefghijklmn" book_dict = {} book_list = [] wb = openpyxl

环境篇:数据同步工具DataX

£可爱£侵袭症+ 提交于 2020-08-13 09:12:16
环境篇:数据同步工具DataX 1 概述 https://github.com/alibaba/DataX DataX是什么? DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、SQL Server、Oracle、PostgreSQL、HDFS、Hive、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。 设计理念 为了解决异构数据源同步问题,DataX将复杂的网状的同步链路变成了星型数据链路,DataX作为中间传输载体负责连接各种数据源。当需要接入一个新的数据源的时候,只需要将此数据源对接到DataX,便能跟已有的数据源做到无缝数据同步。 当前使用现状 DataX在阿里巴巴集团内被广泛使用,承担了所有大数据的离线同步业务,并已持续稳定运行了6年之久。目前每天完成同步8w多道作业,每日传输数据量超过300TB。 2 支持数据 类型 数据源 Reader(读) Writer(写) 文档 RDBMS 关系型数据库 MySQL √ √ 读 、 写 Oracle √ √ 读 、 写 SQLServer √ √ 读 、 写 PostgreSQL √ √ 读 、 写 DRDS √ √ 读 、 写 达梦 √ √ 读 、 写 通用RDBMS(支持所有关系型数据库) √ √ 读 、 写 阿里云数仓数据存储 ODPS √ √ 读 、 写 ADS

Serverless Registry 设计解读与实战

痞子三分冷 提交于 2020-08-13 08:55:08
在 6 月 19 日的 ServerlessDays China 大会中,Serverless 发布了一款全新的产品: Serverless Registry,它究竟是怎样的一款产品,为我们解决了哪些用户痛点呢? 接下来将为大家进行具体解读。 一、设计理念 相信大家对 Serverless 的组件化开发流程都不算陌生了,但作为开发者,在使用 Serverless 组件进行项目开发时,各位可能会遇到这样的疑惑: Serverless 目前究竟支持哪些组件? 除了跳到官网查看文档,有没有其更快捷的方法了解各组件的基本信息? 我开发了自己的组件模版后,应该如何分享给他人进行复用? 面对用户的使用痛点,我们希望设计一款组件模版管理产品,它可以: 支持组件或模版的可视化展示与查询,方便用户快速定位目标模版并进行部署; 支持查看组件或模版的详细信息,使用说明,并提供源代码下载路径,保证整个使用流程的透明化; 支持组件的共享与复用,所有上传后的组件模版都是公开的,打造开源生态的 Serverless 模版仓库。 基于这些目标,Serverless Framework 的可视化模版仓库 Serverless Registry 应运而生。 二、功能简介 Serverless Regsitry 的基本功能很简洁,主要为以下两点: 组件模版的发布上传 在腾讯云官方的文档中已经为大家介绍了组件开发流程规范

从tcp开始,用Python写一个web框架1

三世轮回 提交于 2020-08-13 08:34:37
想尝试写一个web框架,不是因为Django, Flask, Sanic, tornado等web框架不香, 而是尝试造一个轮子会对框架的认识更深,为了认识更深自然不应该依赖第三方库(仅使用内置库)。 大多数写web框架的文章专注于应用层的实现,比如在wsgi接口的基础上实现web框架,这样当然是没有问题的,就是少了更底层一点的东西,比如不知道request到底怎么来的,但是我也理解如此做法,因为解析http请求实在不是太有意思的内容。 本文主要会从tcp传输开始讲起,依次介绍tcp传输,http协议的解析,路由解析,框架的实现。而且本文也不会实现模板引擎, 因为这个可以单独说一篇文章。 而其中框架的实现会分为三个阶段:单线程,多线程,异步IO。 最终的目标就是一个使用上大概类似flask, sanic的框架。 因为http的内容比较多,本文自然也不会实现http协议的所有内容。 文章目录结构如下: TCP传输 HTTP解析 路由 WEB框架 环境说明 Python: 3.6.8 不依赖任何第三方库 高于此版本应该都可以 HTTP协议 HTTP应该是受众最广的应用层协议了,没有之一。 HTTP协议一般分为两个部分,客户端,服务端。其中客户端一般指浏览器。客户端发送HTTP请求给服务端,服务端根据客户端的请求作出响应。 那么这些请求和响应是什么呢

string.IsNullOrEmpty() 和 string.IsNullWhiteSpace() 方法的区别

≡放荡痞女 提交于 2020-08-13 07:04:21
String(字符串)是咱们经常使用的一个数据类型,很多时候我们需要对字符串对象进行判空验证,即 “null” 和 “空字符串” 判定。 由于字符串的判空经常会遇到,但脑海里却并不那么肯定二者差别在哪里,只是隐约觉得后者比前者的判定更安全,所以此次专门查看了源码,以确定用法。 这里说明一下,C# 里 String 是 关键字 string 的包装类,并且 string 对象是特殊的引用类型。 空字符串对象的判定 由于 string 对象是特殊的引用类型,所以 string 对象也有可能为 null。 对于 null 可以作如下判定: string str = null; if( str == null ) Console.WriteLine("字符串为null"); 对于空字符串通常我们会这样做 string str = ""; if( str == null || str == "" ) Console.WriteLine("字符串为空"); 但是会有些问题, str != "" 只能判定 长度为 0 的字符串,不能判定 " " 这种由空格组成的字符串,那么我们可以改进下: // Trim() 方法可以删除字符串前后的空格 // 注意: 使用 Trim() 方法需要保证 str 不为 null // 这里如果 str 为 null 则后一个条件不会触发 string str =

WPF 设计器是利用旧版本的 Blend SDK 构建的,并且在 Windows Presentation Framework 4 项目中不受支持

三世轮回 提交于 2020-08-13 06:31:44
我的问题产生条件为: 1. 解决方案内部的项目均为.NetFramework 4.5 2. 使用VS2019去打开项目 3.为了实现MVVM,里面有一个单独的实现类 其问题如下图: 解决步骤: 第一种方式 以管理员身份运行下面这条命令: gacutil -i "C:Program Files (x86)Microsoft SDKsExpressionBlend.NETFrameworkv4.5LibrariesSystem.Windows.Interactivity.dll" 可能运行成功后,也不一定能解决! 🐶 第二种方式 路径:C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework 好了,下面才是展示真正的技术的时候,我们上面的路径中其实是存在4.0和4.5两个版本,如下图: 这时你把v4.0的这个文件夹删掉,或者重命名即可( 确保此时没有打开VS ),这里建议的方式是 重命名 ,如果不行,可以将此文件夹转移到别的地方。但是我这么弄了之后导致我项目中的控件的样式显示不正常了!悲伤成河.......... 虽然样式在设计中失效了,但是标题中的报错终于没有了,暂时凑合用了! 第三种方式 找到项目的解决方案所在文件夹,删除.vs文件夹,这个文件默认是隐藏的需要手动设置为显示(如第二张图), 删掉后

Web探索之旅 | 第二部分第三课:框架和内容管理系统

≯℡__Kan透↙ 提交于 2020-08-13 01:01:43
>作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。 转载请注明出处。 原文: https://www.jianshu.com/p/0038473f34cb > 《Web探索之旅》 全系列 内容简介 前言 框架和内容管理系统 总结 第二部分第四课预告 1. 前言 上一课 Web探索之旅 | 第二部分第二课:服务器语言 中,我们介绍了服务器端的编程语言,有 PHP,Java,Python,Ruby,C#,Go,等等。 这一课我们来学习基于这些语言衍生出来的框架(Framework),然后再看看什么是内容管理系统(CMS)。 2. 框架和内容管理系统 框架(Framework) 什么是 Framework(框架)呢? framework 在英语中是“框架,骨架;结构,构架”的意思。 要对 Framework 给出一个准确的定义很难,因为有几种不同的定义。可以参看这个百度百科: 框架 。 不过我想给它一个简单,也许并不十分准确的形象表述: >Framework 就好比一个超级工具箱。如果纯用编程语言可以解决问题,那么框架则帮助我们“站在巨人的肩膀上”,使用别人已经写好的基于某种或某几种编程语言的一个架构,更快速地解决问题。 或者如果把编程语言比喻成基本的原料,如木头,钢铁等,那么框架就像榔头,剪刀这样的由基本原料制作成的工具,可以为我们实现更复杂的东西。 所以,既然我们有

Spring事务的传播属性

给你一囗甜甜゛ 提交于 2020-08-12 18:26:13
前言 Spring在TransactionDefinition接口中规定了7种类型的事务传播行为。事务传播行为是Spring框架独有的事务增强特性,他不属于的事务实际提供方数据库行为。这是Spring为我们提供的强大的工具箱,使用事务传播行可以为我们的开发工作提供许多便利。但是人们对他的误解也颇多,你一定也听过“service方法事务最好不要嵌套”的传言。要想正确的使用工具首先需要了解工具。 基础概念 1. 什么是事务传播行为? 事务传播行为用来描述由某一个事务传播行为修饰的方法被嵌套进另一个方法的时事务如何传播。 用伪代码说明: 1 @Transaction(Propagation= XXX) 2 public void methodA(){ 3 methodB(); 4 // doSomething 5 } 6 7 public void methodB(){ 8 // doSomething 9 } methodA中存在事务,他又调用了methodB。methodB事物的一些特性由methodA决定,这就是事务的传播行为。 2. Spring中七种事务传播行为 事务传播行为类型 说明 PROPAGATION_REQUIRED 如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。 PROPAGATION_SUPPORTS 支持当前事务

【淘系技术】超详解析Flutter渲染引擎|业务想创新,不了解底层原理怎么行?

限于喜欢 提交于 2020-08-12 16:57:47
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 作者 | 万红波(远湖) 出品 | 阿里巴巴新零售淘系技术部 前言 Flutter 作为一个跨平台的应用框架,诞生之后,就被高度关注。它通过自绘 UI ,解决了之前 RN 和 weex 方案难以解决的多端一致性问题。Dart AOT 和精减的渲染管线,相对与 JavaScript 和 webview 的组合,具备更高的性能体验。 目前在集团内也有很多的 BU 在使用和探索。了解底层引擎的工作原理可以帮助我们更深入地结合具体的业务来对引擎进行定制和优化,更好的去创新和支撑业务。在淘宝,我们也基于 Flutter engine 进行了自绘UI的渲染引擎的探索。本文先对 Flutter 的底层渲染引擎做一下深入分析和整理,以理清 Flutter 的渲染的机制及思路,之后分享一下我们基于Flutter引擎一些探索,供大家参考。 本文的分析主要以 Android 平台为例,iOS 上原理大致类似,相关的参考代码基于 stable/v1.12.13+hotfix.8 。 渲染引擎分析 渲染流水线 整个 Flutter 的 UI 生成以及渲染完成主要分下面几个步骤: 其中 1-6 在收到系统 vsync 信号后,在 UI 线程中执行,主要是涉及在 Dart framework 中

github渗透测试工具库

旧巷老猫 提交于 2020-08-12 14:56:51
原文链接:https://www.cnblogs.com/BOHB-yunying/p/11856178.html 导航: 1.前言 2.漏洞练习平台 3.花式扫描器 4.信息搜索工具 5.WEB 6.windows域渗透工具 7.FUZZ 8.漏洞利用及攻击框架 9.中间人攻击及钓鱼 10.密码破解 11.二进制及代码分析工具 12.EXP编写框架及工具 13.隐写 14.各类安全资料 15.各类CTF资源 16.各类编程资源 17.Python 18.福利 19.甲方安全工程师生存指南 20.蜜罐 21.远控 22.工具合集 1.前言 今天看到一个博客里有这个置顶的工具清单,但是发现这些都是很早以前就有文章发出来的,我爬下来后一直放在txt里吃土。这里一起放出来。 2.漏洞练习平台 WebGoat漏洞练习平台: https://github.com/WebGoat/WebGoat webgoat-legacy漏洞练习平台: https://github.com/WebGoat/WebGoat-Legacy zvuldirll漏洞练习平台: https://github.com/710leo/ZVulDrill vulapps漏洞练习平台: https://github.com/Medicean/VulApps dvwa漏洞练习平台: https://github.com