首页 文章 精选 留言 我的

精选列表

搜索[聚类],共10000篇文章
优秀的个人博客,低调大师

Android开发中,那些让你相见恨晚的方法、类或接口

1.getParent().requestDisallowInterceptTouchEvent(true);剥夺父view 对touch 事件的处理权,谁用谁知道。2.ArgbEvaluator.evaluate(float fraction, Object startValue, Object endValue); 用于根据一个起始颜色值和一个结束颜色值以及一个偏移量生成一个新的颜色,分分钟实现类似于微信底部栏滑动颜色渐变。3.Canvas中clipRect、clipPath和clipRegion 剪切区域的API。4.Bitmap.extractAlpha ();返回一个新的Bitmap,capture原始图片的alpha 值。有的时候我们需要动态的修改一个元素的背景图片又不希望使用多张图片的时候,通过这个方法,结合Canv

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

研究人员发现了某个针对树莓派的挖矿类恶意软件

俄罗斯反病毒软件公司Dr.Web近期发现了某个专门针对树莓派的Linux恶意软件来进行虚拟货币的挖矿行为。这个恶意软件通过脚本来扫描开放的22端口并利用树莓派默认账号密码连接SSH。由于较老的树莓派设备默认的SSH账号和密码都是公开的, 因此当恶意软件扫描到开放了22号端口即可连接。 为了提高安全性自去年年底开始出货的新版树莓派设备已经默认关闭SSH 并强制用户更改账号和默认的密码。然而较老的树莓派设备并未更新其系统因此账号密码依然是默认的, 这让具有针对性的恶意软件有可乘之机。树莓派官方称目前全球至少还有数百万台树莓派设备并未主动升级到官方发布的最新版的树莓派操作系统中。 恶意软件的行为: 当Linux.MulDrop.14成功感染树莓派设备后会下载其他配套软件用来挖掘目前存在的各种虚拟货币(挖矿)。尽管当前虚拟货币龙头老大是市价已经达到两万元的比特币,但由于挖掘难度非常大因此恶意软件并未挖掘。即便是非常庞大的树莓派僵尸网络用来挖掘比特币也没有多少收益,因此恶意软件转向挖掘难度低的山寨币。 2016年时国内知名的播放器响巢看看(原迅雷看看)就私自在用户电脑上安装挖矿软件用来挖掘以太坊ETC。而部分恶意软件甚至看中了Android设备利用庞大的Android设备来挖掘其他类型的山寨币用来出售并获利。 应对策略: 针对此问题用户解决的方案其实非常的简单,绝大多数用户可能完全用不上外部SSH连接因此直接关闭即可。同时无论如何用户都应该修改掉默认的账户密码防止被爆破,当然为了安全起见升级版本才是最重要的事情。使用树莓派的用户可以直接选择在系统中进行更新,更新之后系统将会强制要求用户变更默认的账号和密码。 本文转自d1net(转载)

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

filebeat-kafka-logstash-elasticsearch日志收集[中文时区问题、自己创建type类index]

logstash配置文件如下: 点击(此处)折叠或打开 input{ kafka{ bootstrap_servers => "xxxx:9092,xxxx:9092,dw72.xxxx.:9092,...." group_id => "xxxx_service_server_logstash" topics => ["xxxx_service_server_error", "xxxx_service_server_runtime"] auto_offset_reset => latest codec => "json" consumer_threads => 10 auto_commit_interval_ms => 500 } } filter { grok { #patterns_dir => ["./patterns"] match => { "message" => "%{TIMESTAMP_ISO8601:logdatetime}" } } date { match => [ "logdatetime", "yyyy-MM-dd HH:mm:ss"] target => "@timestamp" # timezone => "Asia/Shanghai" timezone => "+00:00" locale => "en" } } output{ elasticsearch{ hosts => ["192.168.1.89:9200"] action => "index" index => "%{[type]}-%{+YYYY.MM.dd}" flush_size => 8000 } } 主要关注两个问题: 1.event的timestamp问题,中国区会显示比实际的时间早8个小时(一般不建议修改时间,国际标准,在kibana中做处理。),这里只有国内的服务器,显示为区域时间比较好看,所以我就改了。 2.es 的index根据filebeat中的document_type自动创建index。

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

Android ThreadUtil 线程公共类,判断是否在主线程/ 子线程执行 相关操作

前言:通常,我们写的公共的模块给别人用,但是这个模块又必须在特定的线程中执行。 比如,一个加载网络图片的的方法,需要在子线程中执行。 /** * 加载网络图片 */ private void loadImage() { try { //用延时3秒操作来模拟网络操作 Thread.sleep( 3000 ); } catch (InterruptedException e) { e.printStackTrace(); } } 但是其他的同事在使用的时候,可能一不小心就在主线程中执行了 loadImage() 方法。这样就势必造成了界面卡顿。 为了避免这种情况,我们需要一个线程判断的工具 ThreadUtil 来帮助我们处理。 当前线程是主线程,抛出异常,不去加载 当前线程是子线程,继续执行,完成加载 package com.app; import android.os.Looper; /** * Created by ${zyj} on 2016/6/7. */ public class ThreadUtil { /** * Throws an {@link java.lang.IllegalArgumentException} if called on a thread other than the main thread. */ public static void assertMainThread() { if (!isOnMainThread()) { throw new IllegalArgumentException("You must call this method on the main thread"); } } /** * Throws an {@link java.lang.IllegalArgumentException} if called on the main thread. */ public static void assertBackgroundThread() { if (!isOnBackgroundThread()) { throw new IllegalArgumentException("YOu must call this method on a background thread"); } } /** * Returns {@code true} if called on the main thread, {@code false} otherwise. */ public static boolean isOnMainThread() { return Looper.myLooper() == Looper.getMainLooper(); } /** * Returns {@code true} if called on the main thread, {@code false} otherwise. */ public static boolean isOnBackgroundThread() { return !isOnMainThread(); } } 然后我们把 loadImage() 修改一下,就成了 /** * 加载网络图片 */ private void loadImage() { //判断是否在子线程。 子线程:继续执行 主线程:抛出异常 ThreadUtil.assertBackgroundThread(); try { //用延时3秒操作来模拟网络操作 Thread.sleep( 3000 ); } catch (InterruptedException e) { e.printStackTrace(); } } 可以看到在 loadImage() 方法中多了一句: ThreadUtil.assertBackgroundThread(); 在assertBackgroundThread() 方法里,判断如果不是子线程就直接抛出"YOu must call this method on a background thread" 正确的调用应该是:在子线程中调用 loadImage() ,比如: new Thread(new Runnable() { @Override public void run() { loadImage(); } }).start(); 总结: ThreadUitl 是参考图片加载框架Glide写的 . ThreadUtil.assertBackgroundThread(); 要求在子线程中执行 ThreadUtil.assertMainThread() ; 要求在主线程运行 代码示例已上传到 github:https://github.com/zyj1609wz/ZUtils

资源下载

更多资源
Mario

Mario

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

腾讯云软件源

腾讯云软件源

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

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

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

用户登录
用户注册