一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Programming Language

Docker 部署 Net Core

一、docker 安装及设置

  二、新建Net Core 程序 1、新建Net Core 项目。注意不启动Docker 支持   2、发布新建的项目(目标运行时:可移植)   3、在发布后的文件夹中新建一个Dockerfile 文件(没有后缀) 大概内容如下:

  三、上传发布后的项目到Linux服务器(CentOS) 1、进入程序的发布目录

  2、直接访问就可以了     3、docker 容器自动启动(在容器退出或断电开机后,docker可以通过在容器创建时的 --restart参数来指定重启策略)

4、docker 相关命令 镜像文件和容器命令

  容器日志

from:https://www.cnblogs.com/songl/p/11128012.html

龙生   04 Sep 2020
View Details

Docker入门 第一课 --.Net Core 使用Docker全程记录

微服务架构无疑是当前最火热的开发架构,而Docker作为微服务架构的首选工具,是我们必须要了解掌握的。 我通过一天的时间,网上查文档,了解基础概念,安装Docker,试验Docker命令,通过Docker,成功部署运行Asp.NET core示例程序,算是基本入门。 这篇文章是自己总结的Docker入门篇,力求简洁,快速入门,以最短的时间看到学习成果,为深入学习Docker做基础。   学习前提:不要畏惧 面对未知,人们心里往往会产生恐惧,这是人与生俱来的,所以,我们在进入新的领域之前,首先要克服的是自己的畏难心理。不要因为困难,看几眼就放弃,那样你永远学不会。 面对新的未知领域,我们要把它当成一座灯塔,让它指引我们前进的方向。   第一:了解几个概念 镜像(Image):相信大家看到这个词,都明白什么意思,我们可以把它理解为操作系统的安装盘,Ghost镜像。我给它个定义,就叫:Docker基础运行环境副本。 容器(Container):运行中的Docker实例,称为容器。也就是一个镜像(Image)的运行时状态。 镜像仓库(Repository):Docker为开发者提供了面向各种环境的已经打包好的镜像,这些镜像构成了一个镜像仓库。开发者只需找到自己需要的Docker镜像,下载到本地,添加自己的应用上去,运行即可,某些工具类的镜像,可无需修改,直接运行。 Docker 主机(Host):运行着Docker容器的计算机或虚拟机,用于执行Docker的守护进程。 Docker客户端(Client):是与Docker主机守护进程进行通信的工具,如:Docker控制台。   第二:安装Docker 不同操作系统按照方式不同,以Win7系统为例,需要利用 docker toolbox 来安装,可以使用阿里云的镜像来下载。 下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ 安装完成之后,在桌面找到三个启动图标:Oracle VM VirtualBox,Kitematic(Alpha),Docker Quickstart …。 安装完成之后,建议重启一下计算机。 Oracle VM VirtualBox :是一个虚拟机程序。Docker是运行在Linux环境下的,要想在Windows下运行,必须借助虚拟机。感兴趣的话可以留着以后研究。 kitematic(alpha):是docker推出的GUI工具,可以更简便地操作Docker,非常适合windows用户使用习惯,推荐大家试试。这个alpha表示预览版吧,可能功能还不完善。 Docker Quickstart Terminal:是Docker控制台启动程序,双击图标启动Docker。 如果一切正常的话,可以看到以下界面。 如果启动过程中出现下面错误,Looks like something went wrong in step 'Looking for vboxmanage.exe’… 意思是没有找到虚拟机启动程序,需要设置VirtualBox的环境变量,系统环境变量中增加VBOX_MSI_INSTALL_PATH和VBOX_INSTALL_PATH 值都为C:\Program Files\Oracle\VirtualBox\ ,即VirtualBox的安装路径,注意后面的\ 不能少。环境变量设置完成之后,可尝试重新启动。   第三:熟悉几个命令 我建议实际工作中使用图形界面 kitematic,真的既简单又实用,但Docker命令还是要学习的,最重要的是,使用命令行操作显得更酷更专业。 docker 命令都是以docker开头,下面介绍几个简单,常用的命令。仅作基础介绍,具体参数用法可后期详细学习 。 docker pull:从镜像仓库中拉取镜像 。 docker run:通过镜像创建一个新的容器,并运行。需要注意的是,如果本地没有指定的镜像,会直接去镜像库下载,一定要保证拼写正确。 docker stop:停止一个容器 。 docker start:启动一个容器 。 docker restart:重启一个容器 。 docker ps:列出当前运行的容器机器状态 。 docker images 或 docker image ls:列出本地镜像。 docker build:使用Dockerfile创建自己的镜像。   第四:操作演示,从hello world开始 你可以登录Docker官方镜像仓库,选择自己感兴趣的镜像进行试验,这里我们选择最简单的 hello-world。 Docker官方镜像仓库地址:https://hub.docker.com […]

龙生   04 Sep 2020
View Details

有没有类似按键精灵的免费手机应用APP开发软件?

最近大家都知道,手机版的按键精灵APP对其导出编译脚本做了限制。本来免费就能打包,现在就只能按月收费。有没有像按键精灵一样的手机端脚本编写软件呢?小编对此做了个小调查。以下是一些软件推荐: 【1】autojs 它的语法和javascipt非常相似,可以说是其在手机端的衍生编写程序app。如果你已经大概掌握了按键精灵的编写技能,就应该有学习这门语言的能力。内置帮助文件说明很详细的脚本案例,让初学者轻松掌握它的用法。 【2】Airtest 它是由网易开发的 UI 界面自动化测试工具。你可以借助 AirtestIDE,通过在 IDE 中进行所见即所得的编码方式,来简化 App 图形界面的测试流程。除此之外,你还可以借助该工具来编写 App 爬虫,效率也是蛮高的。 【3】TC简单开发 你可能听说过它的电脑端,也是十分强大的倾向于网页自动化编程的软件。其他它也有手机端。它是脚本工具中唯一一个完美支持真多线程的工具,支持调用近10000个WIN32函数,支持调用COM组件,集合了文字识别,图色识别,网络,数据库,正则等等各种强大的功能库。 【4】Tasker Tasker是一个让系统根据用户定制的”配置文件”(Profiles),在特定的”背景”下(Contexts),执行指定”任务”(Tasks)的软件,除此之外,它还提供”可供点击”的(Clickable)或”定时运行”的(Timer)桌面”插件”(Widget)。对于自学能力稍差的同学,可以考虑下这款软件试试。 【5】B4A-Basic4android 官方下载网址,安装下载,需要安装JDK,ANDROID SDK,模拟器或手机等Install Java JDK v7 or v8。此应用为VB语言,支持在电脑端编写程序,这些工具都是用BASIC语言写的安卓应用,自已写安卓工具。 以下是几款在手机上编写代码的app: 1)java和Android:AIDE集成开发环境。 2)C语言:c语言编译器、C4droid。 3)python:QPython3、Termux。 4)CSS/HTML/JavaScript:HTMLplay   from:http://www.360doc.com/content/19/0809/21/58781721_853937895.shtml

龙生   27 Aug 2020
View Details

Auto.JS简介与教程

什么是Auto.JS? Auto.JS是Android平台上的JavaScript自动化工具。 它的本质是可执行自己编写的简易Javascript脚本的,尤其可以在开启“无障碍模式”的情况下对其他App进行一些操作的一个Android App,便于进行自动化操作。学习成本非常低。 Auto.JS已被黑产广泛使用,以至于作者关闭了官方下载通道。 官网:https://github.com/hyb1996/Auto.js 我们能用它自动化地做什么? 1) 对于黑产 微博:自动注册、远程获取内容、动发微博,点赞关注收藏、评价回复转发 注册类:163邮箱注册,抖音注册 签到类:百度地图签到、大众点评签到、叮咚买菜签到、拼多多签到、云闪付签到积分、支付宝签到积分、京东签到京豆等 2) 对于普通人 启动游戏时自动屏蔽通知、一键与特定联系人微信视频、淘宝双十一一键领猫币等 跟按键精灵的区别?跟Robotium等的区别? 1) VS 按键精灵 无需Root;可直接指定控件并点击,无需识图找坐标 2) VS Robotium 手机无需连电脑即可运行;代码极其简单;无需Eclipse或bat脚本;可在手机上选择不同脚本执行 在自动化操作演示/黑产模拟时,比较有用的功能? 1) APP相关 启动App(通过应用名/包名)、打开App设置页、卸载App等 2) 时序相关 等待指定的Activity(页面)出现、等待指定的App启动、获取当前Activity 3) 控件相关※ 输入:点击/长按含特定文字的控件、滑动特定控件、在第N个输入框输入/追加文字、复制粘贴等; ※控件选择器:通过控件的各种xml属性(如ID、text、desc、包名、位置)选择一个或多个控件并进行操作; 等待:等待指定控件出现 4) 创建界面相关 可编写界面、弹出Toast、弹出对话框、创建悬浮窗 5) 坐标/按键类 点击指定坐标&滑动、模拟点击各种按键(Home、后退键、菜单键、电源键等)等 6) 其他 随机数、网络请求、定时器、多线程、文件操作、找图等常见功能;监听按键&屏幕点击、获取各种设备相关信息(Build.**、音量、震动等等);Linux Shell命令 版本限制 在非Root情况下,Auto.JS只能运行在>=Android7.0以上的系统。 如何编写脚本、运行脚本? 1)安装Auto.JS APK:在手机上安装Auto.js_V4.1.1_Alpha2 注:App会自动引导开启“无障碍服务”。以小米为例,按程序指示,在程序跳转到的页面点击“更多已下载的服务”->“Auto.js”->开启服务 2)在PC上编写 首先安装VSCode,在VS Code中菜单"查看"->"扩展"->输入"Auto.js"或"hyb1996"搜索,即可看到"Auto.js-VSCodeExt"插件,安装即可。请把文件保存为.js,方便代码补全。 3)在PC侧调试 1.jpg 注1:“连接电脑”开关若为蓝色才表示连接成功,否则请确认连接到了同一WIFI,若WIFI环境复杂(比如多个同名WIFI但实为不同路由器),请用笔记本/热点开WIFI 4)脱离电脑运行 先把编写并测试好js文件复制到手机上,在手机上启动Auto.js,点⊕按钮-导入,导入到App里,然后在对应的脚本右边点“▶”即可运行。 5)中止运行 点击Auto.JS 右下角的“×” 或在VSCode里ctrl+shift+p然后选”Stop” 官方文档 https://hyb1996.github.io/AutoJs-Docs/ 注:使用选择器时无需加UiSelector. 脚本范例 https://github.com/bjc5233/autojs https://github.com/bayson/autojs https://github.com/hyb1996/Auto.js/tree/master/app/src/main/assets/sample 作者:RedB 链接:https://www.jianshu.com/p/4602db0618df 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

龙生   27 Aug 2020
View Details

用Python实现自动化操作Android手机

一、【必须】安装adb工具 adb全称Android Debug Bridge,是Android系统的调试工具。 下并安装ADB Installer v1.4.3,下载链接:http://pan.webscraping.cn:8000/index.php/s/7kDAJUOmKEa1h4N 安装完成后,启动一个新的cmd窗口,输入adb devices,若无错误提示则表明安装成功。 Ubuntu下安装adb可以参考这篇文章:http://bernaerts.dyndns.org/linux/74-ubuntu/354-ubuntu-xenial-android-adb-fastboot-qtadb) 二、【可选】安装UI Automator Viewer辅助工具 为了使用UI Automator Viewer这个辅助分析工具,我们需要先安装Android SDK,步骤如下: 1. 下载并安装Java 8 2. 下载并安装Google Android SDK 3. 启动Android SDK Manager,选择并安装Android SDK Platform-tools. 4. 双击uiautomatorviewer.bat,启动UI Automator Viewer,点击第二个图标获取设备截图及相关UI信息,如下图所示。 三、【主角】AndroidViewClient AndroidViewClient是用纯Python编写的Android应用程序自动测试框架,它不依赖其它程序(例如 monkeyrunner, jython)。AndroidViewClient在底层是通过调用adb命令实现对Android设备的控制,因此在本文的一开始就先介绍了adb的安装。 开始下文之前,假设你已经安装配置好Python运行环境,否则请先安装Python 2.7(注意:AndroidViewClient不兼容Python3)。 1. 安装AndroidViewClient 项目主页:https://github.com/dtmilano/AndroidViewClient 推荐用easy_install安装: easy_install --upgrade androidviewclient 安装详细说明见这里:https://github.com/dtmilano/AndroidViewClient/wiki#installation PS:依赖库比较多,安装需要有点耐心。 2. 测试安装是否成功 下载https://github.com/dtmilano/AndroidViewClient/archive/master.zip包,解压并切换到examples目录下,执行python check-import.py,如果没有问题,会输出OK。 3. 写一个例子 实现这样一个功能: 点击屏幕微信图标启动微信,点击第一个联系人/群,发送一个报时消息。 代码如下: view plaincopy to clipboardprint? # coding: utf-8 # 点击屏幕微信图标启动微信,点击第一个联系人/群,发送一个报时消息 import sys import os import re import time from com.dtmilano.android.viewclient import ViewClient def test():     # 连接手机     device, serialno = ViewClient.connectToDeviceOrExit()     vc = ViewClient(device, serialno)     # 按HOME键     device.press('KEYCODE_HOME')     time.sleep(3)     # 找到微信图标     vc.dump()     weixin_button = vc.findViewWithTextOrRaise(u'微信')     # 点击微信图标     weixin_button.touch()     time.sleep(10)     # 找到第一个联系人/群     # 可以使用UI Automator Viewer查看到对应第一个联系人/群的resource-id为"com.tencent.mm:id/auj"     vc.dump()     group_button = vc.findViewByIdOrRaise("com.tencent.mm:id/auj")     # 点击进群     group_button.touch()     time.sleep(5)     # 找到输入框并输入当前时间     vc.dump() […]

龙生   27 Aug 2020
View Details

C# this关键字的四种用法(转)

用法一  this代表当前类的实例对象

  用法二  用this串联构造函数

  用法三  为原始类型扩展方法

  用法四  索引器(基于索引器封装EPList,用于优化大数据下频发的Linq查询引发的程序性能问题,通过索引从list集合中查询数据)

给EPList创建索引,并添加数据

通过索引高效查询数据

  from:https://www.cnblogs.com/yellowcool/p/7908607.html

龙生   27 Aug 2020
View Details

bigdecimal 保留小数位

  参数定义 ROUND_CEILING Rounding mode to round towards positive infinity. 向正无穷方向舍入 ROUND_DOWN Rounding mode to round towards zero. 向零方向舍入 ROUND_FLOOR Rounding mode to round towards negative infinity. 向负无穷方向舍入 ROUND_HALF_DOWN Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round down. 向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向下舍入, 例如1.55 保留一位小数结果为1.5 ROUND_HALF_EVEN Rounding mode to round towards the "nearest neighbor" unless both neighbors are equidistant, in which case, round towards the even neighbor. 向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,如果保留位数是奇数,使用ROUND_HALF_UP ,如果是偶数,使用ROUND_HALF_DOWN ROUND_HALF_UP Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in […]

龙生   03 Jul 2020
View Details

Java中四舍五入

1、Math中四舍五入的方法 Math.ceil(double a)向上舍入,将数值向上舍入为最为接近的整数,返回值是double类型 Math.floor(double a)向下舍入,将数值向下舍入为最为接近的整数,返回值是double类型 Math.round(float a)标准舍入,将数值四舍五入为最为接近的整数,返回值是int类型 Math.round(double a)标准舍入,将数值四舍五入为最为接近的整数,返回值是long类型 2、Math中random生成随机数 Math.random()生成大于等于0,小于1的随机数 3、Random类生成随机数 两种构造方式:第一种使用默认的种子(当前时间作为种子),另一个使用long型整数为种子,Random类可以生成布尔型、浮点类型、整数等类型的随机数,还可以指定生成随机数的范围 4、BigDecimal处理小数 两种构造方式:第一种直接value写数字的值,第二种用String

from:https://www.cnblogs.com/testerlina/p/11349456.html

龙生   03 Jul 2020
View Details

IDEA编译通过能运行但是出现红色下划线的问题

能编译通过说明SDK导入正确,但是为啥我们点击每一个Java文件会出现好多红色的下划线 ,并提示idea cant resolve symbol 原因就是可能没有清除原来的历史缓存,导致一些错误,解决方法是 File-Invalidate Caches 然后重启IDEA,OK~困扰多年的问题解决!

龙生   03 Jul 2020
View Details

.Net连接Mysql数据库的Convert Zero Datetime日期问题

如题,其实这已经是以前遇到过的一个问题了。在.Net中使用Mysql的组件MySql.Data(Nuget.org的链接在这里http://www.nuget.org/packages/MySql.Data/)时需要在web.config的连接字符串中配置一些额外的属性,以最大程度地契合MS SERVER的数据类型,下面我以自己在实现工作遇到的问题为例子,来说明在连接字符串中配置的作用:Web.config连接Mysql字符串:

  1.pooling:这个键的值设置为true,当值为True时,任何一个新创建的连接都将添加到连接池中当程序被关闭时,在下次试图开启一个相同的连接时,这个连接将从连接池中取出,如果连接字符串相同,则被认为是同一个连接。如果连接字符串不相同,则认为是不同的连接。 2.charset:这个一看应该明白,设置字符编码 3.Treat Tiny As Boolean:如果设置为True,则Mysql中的tinyint类型会被转换为MS Server中的bit类型,但有时候我们是不想要这来的转换的,所以这个可以根据自己的需要来配置 4.Convert Zero Datetime:今天就遇到了这个问题,当没有设置此属性时,如果Mysql数据库中的datetime列为null的时候,.net在转换时会抛出如下异常:Unable to convert MySQL date/time value to System.DateTime at MySql.Data.Types.MySqlDateTime.GetDateTime()这是因为.net的默认最小日期和Mysql的不匹配,导致转换出错,解决办法就是以上连接串中的(设置Convert Zero Datetime=True) 这是个人在实际操作中遇到的一些关于.NET 连接Mysql的常用设置,分享给大家,希望可以对你有一些帮助。如果你有更好的解决方案,欢迎拍砖,指正。

龙生   03 Jul 2020
View Details
1 56 57 58 176