首页 文章 精选 留言 我的

精选列表

搜索[官方镜像],共10000篇文章
优秀的个人博客,低调大师

一步步把一个SpringBoot应用打包成Docker镜像并运行

(1) 首先要有一个可以工作的SpringBoot应用。 从Jerry的github上clone这个github repository到本地: cd进入项目文件夹内,使用命令行mvn spring-boot:run 当看到控制台输出 Tomcat started on port: 5030(http)的提示后,说明SpringBoot应用在本地启动成功, 这时用下面的url可以访问这个SpringBoot应用,如果一切正常,http://localhost:5030/commerce/product 可以在浏览器里看到Hello World: 祝:该SpringBoot应用监听的端口为5030,如果想修改成其他端口,在application.properties里修改。 (2) 下一步是登录阿里云服务器,将该SpringBoot打包成Docke

优秀的个人博客,低调大师

一批Android网银木马躲过官方应用商店检测 清理前下载量已达30万

Threat Fabric 安全研究人员刚刚公布了一批 Android 网银木马,而且在被 Google Play 清理之前,其下载量就已经超过了 30 万次。在二维码扫描仪、PDF 扫描仪、加密货币钱包等表象的掩饰下,这些恶意应用会在暗中窃取用户登录凭证、双因素身份验证码、记录按键、以及屏幕截图。 (来自:Threat Fabric) 通过持续四个月的追踪,Threat Fabric 发现了四个独立的 Android 恶意软件系列。可知其利用了多种技巧,来规避 Google Play 应用商店的检测机制 安全研究人员指出,之所以从 Google Play 的自动化(安全沙箱)和机器学习审核流程中逃逸,正是该平台试试权限限制的直接后果。 通常情况下,这些恶意软件会先以一款良性 App 的面目示人。所以在早期的 VirusTotal 恶意软件检测过程中,它们并不会在第一时间被揪出。 但在用户安装后,它们就会开始诱骗用户下载并安装带有“附加功能”的更新包。此时这些恶意应用会通过第三方来源来获取,但此时它们已经骗取了用户的普遍信任。 为了躲避雷达追踪,这些恶意程序还利用了其它手段。在许多情况下,幕后操纵者只有在检查受感染的设备的地理位置、或通过增量更新后,才会手动部署恶意内容。 这种致力于躲过不必要关注的手段,实在让人难以置信。然而现实表明,基于自动化流程的传统恶意软件检测方案,正在变得不那么可靠。 在近日发表的一篇博客文章中,Threat Fabric 详细阐述了被调查的 9 款 dropper 恶意软件。其中造成最多感染的,被称作 Anatsa 家族。 这款“相当先进”的 Android 网银木马内置了许多功能,包括远程访问和自动转账系统。受害者将被无情地清空账户,将资金转移到幕后黑手控制的账户中。 感染 Anatsa 恶意软件的过程,是从 Google Play 下载看似人畜无害的初始安装包后开始的。之后相关 App 会强制用户更新,以继续使用该应用程序。 但现实是,幕后黑手在远程更新服务器上托管了夹带私货的恶意内容,并通过骗取信任的方式,将之安装在了毫无戒备的受害者设备上。 为了装得更像一些,幕后团伙甚至会雇人在 Google Play 应用商店刷好评,以引诱更多无辜者上当受骗。 最后,研究人员还发现了另外三大恶意软件家族(分别称之为 Alien、Hydra 和 Ermac)。 其特点是植入了 Gymdrop 恶意负载,并利用基于受感染设备模型的过滤规则,来躲过安全研究人员的搜捕。

优秀的个人博客,低调大师

阿里云官方价格分享:云服务器ECS最低配置及最新价格分享(当前所有活动)

本文整理了阿里云目前长期优惠活动中所推云服务器的最低价格及配置,通过本文您可以知道阿里云目前长期优惠所推的最低的云服务器多少钱,适合新手用户参考选择,如果您想以最低的价格购买阿里云服务器,那么通过阿里云目前正在进行中的长期优惠活动去购买是很划算的,阿里云对于新用户给的优惠折扣都是很大的。 说明:以下仅展示的是阿里云目前主要长期优惠活动中所推的最低云服务器配置和价格,每个活动都推出了很多更高的云服务器配置,具体配置及优惠价格请登录活动详情页查看。 长期优惠活动一:Hi拼团活动最低价格:99元/1年配置:1.突发性能T6实例2.CPU内存配置:2核1G3.带宽:1M带宽4.云盘:40G高效云盘活动主要亮点:用户可以选择直接购买享受活动特价,也可以自己开团然后邀请他人一起购买享受更低的的优惠价格。 长期优惠活动二:主机爆款特惠活动最低价格:313.2元/1年配置:1.突发性能5实例2.CPU内存配置:1核1G3.带宽:1M带宽4.云盘:40G 高效云盘活动主要亮点:①,所推云服务器配置众多,均属爆款,基本上能满足绝大部分用户的上云服务器配置需求。②,带宽1-10M任选,选择更加自由。③,活动同时推出云虚拟主机,海外云服务器,数据库等产品特惠,满足不同层次用户的需求。 长期优惠活动三:高性能云服务器特惠最低价格:1282.2元/1年配置:1.计算型C5实例2.CPU内存配置:2核4G3.带宽:1M带宽4.云盘:40G 高效云盘活动主要亮点:阿里云专为企业用户而制定的专属特惠活动,活动推出的云服务器实例规格为计算型、网络增强型实例,是企业用户购买比较多的实例。 长期优惠活动四:阿里云云小站最低价格:366元/1年配置:1.突发性能T5实例2.CPU内存配置:1核1G3.带宽:1M带宽4.云盘:40G 高效云盘活动主要亮点:本活动最大亮点在于购买3年的优惠价格跟购买2年的优惠价格一样,适合于需要一次购买3年的用户。 以上就是阿里云目前主要的长期优惠活动及所推的云服务器最低配置及价格,对于新手用户来说,我们不妨每个活动都看看,参考活动所推云服务器的适合场景,多比较下然后选择最适合自己的活动去购买阿里云服务器,既达到满足需求的同时,又最大限度的节约我们的上云成本。例如我们需要购买最低配置的1核1G,2核1G之类的低配云服务器,通过比较我们发现Hi拼团优惠活动是最划算的,而我们如果需要一次购买3年的话,全民云计算是最划算的,如果我们需要带宽上面更加灵活,主机爆款特惠则是比较划算的,如果我们是企业用户可以重点考虑企业高性能特惠活动所推出的云服务器配置。

优秀的个人博客,低调大师

Android官方开发文档Training系列课程中文版:Activity测试之创建功能性测试

原文地址:http://android.xsoftlab.net/training/activity-testing/activity-functional-testing.html 功能性测试包括模拟用户操作之类的组件验证。例如开发者可以通过功能性测试来验证在用户执行了UI操作之后Activity是否启动了Activity。 如要为Activity创建功能性测试,测试类应当继承ActivityInstrumentationTestCase2。与ActivityUnitTestCase不同,ActivityInstrumentationTestCase2既可以与Android系统通信,又能使程序可以接收键盘输入事件与屏幕点击事件。 验证功能行为 一般功能性测试可能会有以下测试目的: 验证在某个UI控制器被按下后,目标Activity是否被启动。 验证目标Activity是否将在启动之前的用户输入数据正确显示。 开发者所实现的代码可能如下: @MediumTest public void testSendMessageToReceiverActivity() { final Button sendToReceiverButton = (Button) mSenderActivity.findViewById(R.id.send_message_button); final EditText senderMessageEditText = (EditText) mSenderActivity.findViewById(R.id.message_input_edit_text); // Set up an ActivityMonitor ... // Send string input value ... // Validate that ReceiverActivity is started ... // Validate that ReceiverActivity has the correct data ... // Remove the ActivityMonitor ... } 测试框架会等待ReceiverActivity启动,否则的话将会在超时后返回null。如果ReceiverActivity启动,那么ActivityMonitor则会收到一个命中。开发者可以通过断言方法来验证ReceiverActivity是否被启动,命中数是否会如所期望的那样有所增长。 设置ActivityMonitor 如果需要监视Activity,可以注册ActivityMonitor。当目标Activity启动时,系统会通知ActivityMonitor一个事件。如果目标Activity启动,那么ActivityMonitor的计数器则会更新。 一般使用ActivityMonitor应当执行以下步骤: 1.通过getInstrumentation()方法获得用于测试的Instrumentation实例。 2.通过Instrumentation的addMonitor()重载方法将Instrumentation.ActivityMonitor的实例添加到当前的instrumentation中,具体的匹配规则可由IntentFilter或者类名指定。 3.等待被监视的Activity启动。 4.验证监视器的数字增长。 5.移除监视器。 例如: // Set up an ActivityMonitor ActivityMonitor receiverActivityMonitor = getInstrumentation().addMonitor(ReceiverActivity.class.getName(), null, false); // Validate that ReceiverActivity is started TouchUtils.clickView(this, sendToReceiverButton); ReceiverActivity receiverActivity = (ReceiverActivity) receiverActivityMonitor.waitForActivityWithTimeout(TIMEOUT_IN_MS); assertNotNull("ReceiverActivity is null", receiverActivity); assertEquals("Monitor for ReceiverActivity has not been called", 1, receiverActivityMonitor.getHits()); assertEquals("Activity is of wrong type", ReceiverActivity.class, receiverActivity.getClass()); // Remove the ActivityMonitor getInstrumentation().removeMonitor(receiverActivityMonitor); 使用Instrumentation发送键盘事件 如果Activity含有EditText,可能需要测试用户是否可以对其输入数据。 一般来说,要发送字符串到EditText,应当: 1.在runOnMainSync()方法中运行requestFocus()同步方法,这样会使UI线程一直等待接收焦点。 2.调用waitForIdleSync()方法使主线程变为空闲状态。 3.通过sendStringSync()方法发送一条字符串给EditText。 例如: // Send string input value getInstrumentation().runOnMainSync(new Runnable() { @Override public void run() { senderMessageEditText.requestFocus(); } }); getInstrumentation().waitForIdleSync(); getInstrumentation().sendStringSync("Hello Android!"); getInstrumentation().waitForIdleSync();

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册