Runner

Flutter 开发环境搭建---安装(二)

馋奶兔 提交于 2020-10-24 12:57:46
应用启动 IDE 配置 安装插件: flutter 插件、dart 插件 创建项目 1. 在IDE里边通过可视化界面创建项目。 2. 在命令行通过 flutter create project_name创建项目。 1 连接设备 连接 Android 模拟器 1. 启动 Android Studio>Tools>Android>AVD Manager 并选择 Create Virtual Device. 2. 选择一个设备并选择 Next。 3. 为要模拟的 Android 版本选择一个或多个系统印象,然后选择 Next. 建议使用 x86 或 x86_64 image . 4. 在 “Emulated Performance”下, 选择 Hardware - GLES 2.0 以启用 硬件加速. 5. 验证 AVD 配置是否正确,然后选择 Finish。avd 6. 在“Android Virtual Device Manager”中,点击工具栏的 Run。模拟器启动并显示所选操作系统版本或设备的启动画面。 7. 运行 flutter run 启动您的设备。连接的设备名是 `Android SDK built for <platform>`,其中 platform 是芯片系列,如 x86。 连接 iOS 模拟器 1. 在你的 MAC 上,通过 Spotlight

分享我在前后端分离项目中Gitlab-CI的经验

自作多情 提交于 2020-10-24 00:43:41
长话短说,今天分享我为 前后端分离项目 搭建Gitlab CI/CD流程的一些额外经验。 Before Gitlab-ci是Gitlab提供的CI/CD特性,结合Gitlab简单友好的配置界面,能愉悦的在Gitlab界面查看管道执行流程,并自然流畅的推动敏捷开发流程。 Gitlab-CI/CD的核心是搭建Gitlab Runner、编写.gitlab-ci.yaml文件。 详细示例请参考:Gitlab CI/CD+ASP.NETCore. 本次前后端两个项目使用同一个Gitlab Runner(shell模式),前端项目的gitlab-ci.yaml构建Job如图: Round 1 单个Gitlab Runner可为多个项目提供构建服务 , gitlab-Runner register 命令只能接受一个注册token,当时为支持多个项目,花了不少冤枉心思倒腾Gitlab Runner. 你可以为注册的项目解锁Runner,这样Girlab Runner就可以为其他项目提供构建: Round 2 使用Runner缓存加快前端构建过程 大家都知道npm_module被前端开发者诟病为毒瘤, 而Gitlab runner执行每次构建job之前都会清场,pull/fetch指定的代码再执行job, 这就导致每次 build job会耗时很久(要拉取毒瘤)。 #!/bin/bash cd

VScode配置C语言环境

人盡茶涼 提交于 2020-10-19 10:39:32
一、安装好VScode后下载VScode的C语言编译器MinGW 链接: 添加链接描述 提取码:magt (这是一个压缩包,解压缩就相当于 安装完成 ) 重要 : 将MinGW的bin路径添加到系统环境变量中 此电脑右键==>属性==>高级系统设置==>环境变量==>系统变量中的Path 新建后粘贴 ,逐一确定 然后打开 cmd ,输入 gcc -v 回车 即为 安装成功 ! 二、打开VScode,下载Code Runner插件。 三、debug的配置 上述步骤会自动生成 launch.json 和 task.json 文件,之后就可以debug了 (关于如何使用debug,这里不再赘述。另外第三步的前提一点是要新建一个文件夹,并且写一个简单的c程序) 总结:有Code Runner插件可以运行c和c++,而 launch.json 和 task.json 文件是debug所需的 来源: oschina 链接: https://my.oschina.net/u/4373561/blog/4679023

Tensorflow 保存模型 & 在java中调用

走远了吗. 提交于 2020-10-13 08:55:58
本节涉及: 保存TensorFlow 的模型供其他语言使用 java中调用模型并进行预测计算 一、保存TensorFlow 的模型供其他语言使用 如果用户选择“y” ,则执行下面的步骤: 判断程序执行目录下是否有 export 目录,如果有,调用 shutil 包中的 rmtress 函数将其删除,以免冲突 builder = tf .saved_model . builder . SavedModelBuilder ("export") ———— 用于生成保存神经网络模型的对象builder,并指定保存位置为程序执行目录下的 export 子目录 builder.add_meta_graph_and_variables (sess,["tag"]) ———— 指定保存会话对象 sess 中的默认数据流图和可变参数(即保存模型的主要内容),并起标记名 “tag”,这个标记名 在以后被其他语言调用时会被引用 builder.save() ———— 保存 完后,会在程序执行目录下生成一个 export 子目录,其中包含了需要传递给其他语言程序的神经网络模型的相关文件。 在其他语言调用时,需要把这个文件夹 整个复制到需要使用的计算机上 二、java中调用模型并进行预测计算 调用模型文件进行预测的示例: import org.tensorflow.Graph; import org

Mockito 简明教程

耗尽温柔 提交于 2020-10-07 04:00:47
什么是 Mock 测试 Mock 测试就是在测试过程中,对于某些不容易构造(如 HttpServletRequest 必须在Servlet 容器中才能构造出来)或者不容易获取比较复杂的对象(如 JDBC 中的ResultSet 对象),用一个虚拟的对象(Mock 对象)来创建以便测试的测试方法。 Mock 最大的功能是帮你把单元测试的耦合分解开,如果你的代码对另一个类或者接口有依赖,它能够帮你模拟这些依赖,并帮你验证所调用的依赖的行为。 比如一段代码有这样的依赖: 当我们需要测试A类的时候,如果没有 Mock,则我们需要把整个依赖树都构建出来,而使用 Mock 的话就可以将结构分解开,像下面这样: Mock 对象使用范畴 真实对象具有不可确定的行为,产生不可预测的效果(如:股票行情,天气预报) : 真实对象很难被创建的 真实对象的某些行为很难被触发 真实对象实际上还不存在的(和其他开发小组或者和新的硬件打交道)等等 使用 Mock 对象测试的关键步骤 使用一个接口来描述这个对象 在产品代码中实现这个接口 在测试代码中实现这个接口 在被测试代码中只是通过接口来引用对象,所以它不知道这个引用的对象是真实对象,还是 Mock 对象。 Mock 与 Stub 的区别 Mock 不是 Stub,两者是有区别的: 前者被称为 mockist TDD,而后者一般称为 classic TDD ;

Mockito 简明教程

前提是你 提交于 2020-10-06 11:47:52
什么是 Mock 测试 Mock 测试就是在测试过程中,对于某些不容易构造(如 HttpServletRequest 必须在Servlet 容器中才能构造出来)或者不容易获取比较复杂的对象(如 JDBC 中的ResultSet 对象),用一个虚拟的对象(Mock 对象)来创建以便测试的测试方法。 Mock 最大的功能是帮你把单元测试的耦合分解开,如果你的代码对另一个类或者接口有依赖,它能够帮你模拟这些依赖,并帮你验证所调用的依赖的行为。 比如一段代码有这样的依赖: 当我们需要测试A类的时候,如果没有 Mock,则我们需要把整个依赖树都构建出来,而使用 Mock 的话就可以将结构分解开,像下面这样: Mock 对象使用范畴 真实对象具有不可确定的行为,产生不可预测的效果(如:股票行情,天气预报) : 真实对象很难被创建的 真实对象的某些行为很难被触发 真实对象实际上还不存在的(和其他开发小组或者和新的硬件打交道)等等 使用 Mock 对象测试的关键步骤 使用一个接口来描述这个对象 在产品代码中实现这个接口 在测试代码中实现这个接口 在被测试代码中只是通过接口来引用对象,所以它不知道这个引用的对象是真实对象,还是 Mock 对象。 Mock 与 Stub 的区别 Mock 不是 Stub,两者是有区别的: 前者被称为 mockist TDD,而后者一般称为 classic TDD ;

移动端-安卓-接口测试简介

人走茶凉 提交于 2020-10-04 07:49:02
移动端-安卓-接口测试简介 前言 一、接口测试范围 二、接口测试和单元测试的区别 三、接口测试环境搭建 总结 前言 阅读本文之前,建议大家需要提前了解一下,什么是白盒测试,以及白盒测试的范围。 一、接口测试范围 说明一下:本人之前在某绿厂工作过,这边项目的诉求是整机的接口进行测试。 安卓端的接口测试是介于白盒和灰盒测试的范畴,因为三方接口,sdk的接口存在源码不可见的情况,这种就是灰盒的测试范围,源码可见的接口采用白盒测试思维进行测试。 总的来说,接口测试属于单元测试的其中一个分支。 二、接口测试和单元测试的区别 1.单元测试是和源工程一个项目下,因为源码必须可见才能进行单元测试,而接口如果不可见,比如三方接口,则不需要再同一个工程下 2.单元测试用例是运行在jvm上,而接口测试是需要在真机环境,也就是安卓环境下才能运行 因为接口通常都是跨模块的,jvm无法提供环境,比如context,sim卡,网络等 (如果有别的差异也欢迎大家补充,此处只强调重点的区别) androidTest目录下就是接口测试用例(运行在android环境(真机)) test目录就是单元测试用例(运行在java环境(jvm)) 三、接口测试环境搭建 1.配置app build.gradle 根据官方文件添加依赖 AndroidJUnitRunner配置 https://developer.android

.net core grpc单元测试

妖精的绣舞 提交于 2020-10-02 11:26:47
前言 gRPC凭借其严谨的接口定义、高效的传输效率、多样的调用方式等优点,在微服务开发方面占据了一席之地。dotnet core正式支持gRPC也有一段时间了,官方文档也对如何使用gRPC进行了比较详细的说明,但是关于如何对gRPC的服务器和客户端进行单元测试,却没有描述。经过查阅官方代码,找到了一些解决方法,总结在此,供大家参考。 本文重点介绍gRPC服务器端代码的单元测试,包括普通调用、服务器端流、客户端流等调用方式的单元测试,另外,引入sqlite的内存数据库模式,对数据库相关操作进行测试。 准备gRPC服务端项目 使用dotnet new grpc命令创建一个gRPC服务器项目。 修改protos/greeter.proto, 添加两个接口方法: // 服务器流 rpc SayHellos (HelloRequest) returns (stream HelloReply); // 客户端流 rpc Sum (stream HelloRequest) returns (HelloReply); 在GreeterService中添加方法的实现: using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Grpc.Core;

Unity3D工程源码目录

心不动则不痛 提交于 2020-08-19 22:29:45
2-0 暗黑破坏神3 链接:http://pan.baidu.com/s/1dEAUZoX 密码:cly4 2-1 炉石传说 客户端加服务器端 链接: http://pan.baidu.com/s/1dDKY3Fr 密码:c03q 2-2 新仙剑奇侠传 链接: http://pan.baidu.com/s/1b4QVqI 密码:dic5 2-3 unity3d 战斗卡牌《变身吧主公》客户端+服务器源码 链接: http://pan.baidu.com/s/1kUpot51 密码:i02u 2-4 降临OL-U3D全套源码 链接: http://pan.baidu.com/s/1sktLQ5v 密码:we0g 2-5 武士2复仇 链接:http://pan.baidu.com/s/1i4dhjRB 密码:a1yb 2-6 《神启》全套源码+资源 链接: http://pan.baidu.com/s/1o6UP9rG 密码:1vbg 2-7 神庙逃亡之魔境仙踪 链接: http://pan.baidu.com/s/1c1umpUS 密码:na83 2-8 《超级马里奥64》HD版unity源码 链接: http://pan.baidu.com/s/1c2BOE3m 密码:tbv9 2-9 暗影之枪ShadowGun 链接: http://pan.baidu.com/s/1qWYPnxa

Flutter 状态管理之MobX

妖精的绣舞 提交于 2020-08-18 21:01:02
MobX一直是主要用于JS的主要的状态管理技术。flutter 现在关于状态管理的方案有 Scoped Model,Inherited Widget,Redux for Flutter,甚至是BLoC 。 之前写React的时候就有用过mobx,很是喜欢 , 现在发现提供了dart版本,于是来学习一下. 也许会成为最好用的状态管理工具呢 介绍 MobX只是一个状态管理库,可以很容易地将应用程序的被动数据与UI连接起来. 使用 导包 首先,我们将导入mobx,flutter_mobx,作为我们的依赖项。 此外,我们必须导入mobx_codegen和build_runner作为dev依赖项。 dependencies: flutter: sdk: flutter mobx: ^0.1.4 flutter_mobx: ^0.1.3 dev_dependencies: flutter_test: sdk: flutter mobx_codegen: ^0.1.3 build_runner: ^1.4.0 创建可观察对象 然后我们先创建一个dart文件: /* * author: Created by 李卓原 on 2019/5/16. * email: zhuoyuan93@gmail.com * */ import 'package:mobx/mobx.dart'; part