三不朽

wasm入门之环境搭建

Publish: January 14, 2022 Category: WEB No Comments

使用rustup安装Rust语言环境

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

会给出如下提示
1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
我们选择 1),会进入自动安装流程,2)表示自定义安装 3) 取消安装
出现下面提示表示安装成功

  stable-x86_64-unknown-linux-gnu installed - rustc 1.58.0 (02072b482 2022-01-11)

Rust is installed now. Great!





阅读剩余部分...

Docker方式快速搭建和维护测试管理平台Testlink

Publish: December 10, 2021 Category: 运维 No Comments

一 介绍

TestLink 是一个基于 Web 的测试管理和测试执行系统。它使质量保证团队能够创建和管理他们的测试用例,并将它们组织成测试计划。这些测试计划允许团队成员动态地执行测试用例和跟踪测试结果。

TestLink 是一个 GPL 许可的开源项目。 TestLink 背后的所有源代码都可以通过 SourceForge 或 GitHub 免费下载。如果您有兴趣为 TestLink 工作做出贡献,请随时与我们联系。没有隐藏费用 - 100% 免费使用!

在理想的世界中,测试将是一个非常简单的过程。测试团队获取产品需求、编写测试规范文档、审查测试,然后针对产品的每个版本运行所有测试。该团队由全职员工组成,每个人都确切地知道对他们的期望。

二 安装

Bitnami真实良心,使用Docker构建了大量开源软件包,使用起来非常方便,而且每天都会构建。

如果你只是为了测试和开发可以使用下面

$ curl -sSL https://raw.githubusercontent.com/bitnami/bitnami-docker-testlink/master/docker-compose.yml > docker-compose.yml
$ docker-compose up -d

警告:此快速设置仅适用于开发环境。我们鼓励您更改不安全的默认凭据,并检查环境变量部分中的可用配置选项,以获得更安全的部署。

阅读剩余部分...

APP出海之使用接入Google登录体系

Publish: December 6, 2021 Category: 编程 No Comments

APP出海经常会遇到账号体系问题,与我们大陆地区使用手机号的体系不同,以TickTok为例子来说,七首选方式还是第三方授权登录方式,也就是提供了常用的Twitter、facebook、google、apple和email等登录方式。如果想同时支持这几种方式,建议直接使用Google Firebase 的 Authentication功能。其提供了 email/password,google, facebook , play games, phone, Game center, Apple , Github, Microsoft, Twitter, Yahoo等非常全面的第三方登录认证方式。

在我们的APP中因为不需要这么多功能,因此指向集成Google账号登录,就没有使用 Google Friebase的Authentication功能。这里我们选用One Tap sign-in 和 sign-up功能。
其官方文档地址为:

https://developers.google.com/identity/one-tap/android/overview

一 介绍

One Tap sign-in and sign-up 是google提供的一件事登录和注册无缝身份验证流程。其基于零排放方式实现,无需账户密码,因收据由google提供,因此其安全简单,极大减少用户使用APP的步骤和难度。

二 整合准备

在开始之前需要先设置Google API 和 Android项目。
① 打开Google API控制台 (地址: https://console.developers.google.com/) 如果之前没有创建项目需要首先创建一个项目。
② 在OAuth consent screen (OAuth 同意屏幕)页面填写完整的信息。

截图.png

截图 (1).png

③ 在Credentials(凭证)页面创建一个Android APP项目和一个WEB项目。 web项目用于获取refresh_token以便对Android 项目授权校验做处理,为简单处理这里没有使用google的sdk,而是使用API方式对授权校验。

截图 (2).png

三 Android项目集成

① 在项目级build.gradle文件中 buildscript 和 allprojects 部分增加 添加maven库 google()

② 在应用级build.gradle依赖中添加 Google Play Service (Google Play 服务):

apply plugin: 'com.android.application'dependencies { 
 // ...  
 implementation 'com.google.android.gms:play-services-auth:19.2.0'
}



阅读剩余部分...

PROFTPD + webmin + Filestash ubuntu20.04 快构建可视化FTP服务

Publish: November 12, 2021 Category: 运维 No Comments

proftpd 是一款优秀的FTP服务端实现软件,基于wu-ftp 已经和vsftp齐名。
webmin是一款服务器web管理软件,提供proftpd可视化配置能力。
Filesatsh是一款web可视化文件管理软件,提供sftp,ftp,webdav,MySQL,S3....等一大推数据查看和基础管理能力,本文主要介绍ftp的使用。

安装webmin

网上的文章比比皆是,基本上找几篇靠谱的照着做就能安装成功,这里只将最主要的步骤记录下,方便参考。

先升级相关依赖软件
apt update
apt install software-properties-common apt-transport-https wget

导入webmin GPS密钥并添加存储库
wget -q http://www.webmin.com/jcameron-key.asc -O- | sudo apt-key add -
add-apt-repository "deb [arch=amd64] http://download.webmin.com/download/repository sarge contrib"

安装webmin
apt install webmin

管理防火墙和web访问
ufw allow 10000/tcp
https://server_ip:10000/










阅读剩余部分...

API 网关 APISIX配置限流

Publish: September 6, 2021 Category: 运维 No Comments

APISIX支持路由和服务两种模式下限流,都是基于插件方式实现。本文以路由方式实现限流。

首先添加路由一直到第三部如下所示到插件配置:

启用限流插件

截图.png

limit-req插件配置

截图 (3).png

具体配置

截图 (4).png

参数解释:
rate: 指定的请求速率(以秒为单位),请求速率超过 rate 但没有超过 (rate + brust)的请求会被加上延时。

burst: 请求速率超过(rate + brust)的请求会被直接拒绝。

key: 用来做请求计数的依据,当前接受的 key 有:"remote_addr"(客户端IP地址), "server_addr"(服务端 IP 地址), 请求头中的"X-Forwarded-For" 或 "X-Real-IP","consumer_name"(consumer 的 username).

rejected_code: 当请求超过阈值被拒绝时,返回的 HTTP 状态码。此处建议填写 429 标准的http限流code提示。

完成配置

限制请求速度的插件,使用的是漏桶算法。