<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[2401_89190875的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/2401_89190875</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; 2401_89190875]]></copyright><item><title><![CDATA[Android自定义控件开发入门与实战（10）Shader]]></title><link>https://blog.youkuaiyun.com/2401_89190875/article/details/145185335</link><guid>https://blog.youkuaiyun.com/2401_89190875/article/details/145185335</guid><author>2401_89190875</author><pubDate>Thu, 16 Jan 2025 15:54:19 +0800</pubDate><description><![CDATA[接下来，将BitmapShader缩放到与控件的宽、高一致（setScale），由于我们要画的是一幅圆形图像，所以必须将图像缩放成一个正方形，只要正方形的边长与控件的宽度一致即可。第二步，在mDx、mDy都不是-1时，将新建的mBitmapBG作为BitmapShader设置给Paint，然后在手指所在的位置画圆，把圆圈部分的图像显示出来。positions[]与渐变的颜色相对应，取值是0-1的Float类型数据。原理是做一个渐变的图像，和一段文字，然后渐变头像在文字上进行移动，使文字发光，变换颜色。]]></description><category></category></item><item><title><![CDATA[Android自定义View——一个通用的折线趋势图组件]]></title><link>https://blog.youkuaiyun.com/2401_89190875/article/details/145185296</link><guid>https://blog.youkuaiyun.com/2401_89190875/article/details/145185296</guid><author>2401_89190875</author><pubDate>Thu, 16 Jan 2025 15:52:56 +0800</pubDate><description><![CDATA[/注意，就是这个float，我之前没加，结果精度变了，小数点后的都为0了，怪自己太粗心啊。]]></description><category></category></item><item><title><![CDATA[Android春招总结：论一个本科渣渣是怎么逆袭从咸鱼到Offer收割机的？]]></title><link>https://blog.youkuaiyun.com/2401_89190875/article/details/145183662</link><guid>https://blog.youkuaiyun.com/2401_89190875/article/details/145183662</guid><author>2401_89190875</author><pubDate>Thu, 16 Jan 2025 14:58:01 +0800</pubDate><description><![CDATA[做的。看我加粗的部分：提出问题+初步解决方案+失败了+失败原因分析+下一步操作+对于这个操作的思考。不要求你解决了什么问题，但是你要体现出来，你真的在思考。这确实是我最近遇到的问题，我解决方案还是使用AndroidM相关库进行的自定义。上面这段话透露了什么？]]></description><category></category></item><item><title><![CDATA[android文件上传优化分享（切片上传）]]></title><link>https://blog.youkuaiyun.com/2401_89190875/article/details/145183615</link><guid>https://blog.youkuaiyun.com/2401_89190875/article/details/145183615</guid><author>2401_89190875</author><pubDate>Thu, 16 Jan 2025 14:56:39 +0800</pubDate><description><![CDATA[通过这两个阶段的重构，安卓端的上传模块初步形成了一个完整的体系，能够满足产品的使用需求，被广泛的应用到各个产品线的业务模块中。通过等比例降低图片的采样率、分辨率、压缩质量等关键因素，大幅度减少输出的像素点数量，达到降低图片的体积的目的。经测试，上传的瓶颈在于上行带宽，所以切片、上传时单线程任务，不会出现10个切片一起上传的情况。文件切片将一个大文件切成若干小文件进行上传，在上传失败的情况下，可以跳过已上传的小文件。步形成了一个完整的体系，能够满足产品的使用需求，被广泛的应用到各个产品线的业务模块中。]]></description><category></category></item><item><title><![CDATA[Android技能树 — Android存储路径及IO操作小结]]></title><link>https://blog.youkuaiyun.com/2401_89190875/article/details/145183566</link><guid>https://blog.youkuaiyun.com/2401_89190875/article/details/145183566</guid><author>2401_89190875</author><pubDate>Thu, 16 Jan 2025 14:55:17 +0800</pubDate><description><![CDATA[这次是讲Android存储路径及IO的基本操作。因为我们在开发的时候会经常这种方便的需求。这篇文章的内容我写的可能很少，都没有细写。别吐槽。o(￣︶￣)oAndroid存储路径脑图列举的是比较常用的。可能哪里会有不全，大家也可以反馈。我可以再修改。]]></description><category></category></item><item><title><![CDATA[Android告别使用shape标签，自定义实现圆角、背景色、描边Button]]></title><link>https://blog.youkuaiyun.com/2401_89190875/article/details/145181372</link><guid>https://blog.youkuaiyun.com/2401_89190875/article/details/145181372</guid><author>2401_89190875</author><pubDate>Thu, 16 Jan 2025 13:32:40 +0800</pubDate><description><![CDATA[因为GradientDrawable是shape标签的具体代码实现，所以，如果我们想通过GradientDrawable来实现圆角等功能需求的话，需要把上一步骤中我们自定义的GradientDrawable来作为button的background，具体代码如下：/**可以设置背景色、指定圆角、描边的宽度和颜色*//**设置背景颜色*/@Override/**设置描边的宽度和颜色*//**设置描边颜色*//**设置四个角的半径*//**]]></description><category></category></item><item><title><![CDATA[Android动画之帧动画]]></title><link>https://blog.youkuaiyun.com/2401_89190875/article/details/145181329</link><guid>https://blog.youkuaiyun.com/2401_89190875/article/details/145181329</guid><author>2401_89190875</author><pubDate>Thu, 16 Jan 2025 13:30:38 +0800</pubDate><description><![CDATA[/java的形式实现。//1.实现帧动画的类（相当于一本空白的小人书）//2.为帧动画添加内容（在小人书里添加内容）MainActivity.java文件如下。android:text=“开启” />android:text=“停止” />//3.将帧动画设置给View做背景。1.利用 Java 代码实现帧动画。//其他操作，如，设置只执行一次。//4.开启动画（相当于翻书）]]></description><category></category></item><item><title><![CDATA[Android入门项目（六）Android的wifi开发]]></title><link>https://blog.youkuaiyun.com/2401_89190875/article/details/145181279</link><guid>https://blog.youkuaiyun.com/2401_89190875/article/details/145181279</guid><author>2401_89190875</author><pubDate>Thu, 16 Jan 2025 13:28:36 +0800</pubDate><description><![CDATA[/                            Log.i(TAG, “onReceive: DISCONNECTED:// 断开连接”);Log.i(TAG, “onReceive: WIFI_CONNECT_SUCCESS: // 完成”);Log.i(TAG, “onReceive: ASSOCIATING: // 正在关联”);Log.i(TAG, “onReceive: INVALID: // 无效的”);Log.i(TAG, “onReceive: WIFI 已打开”);]]></description><category></category></item><item><title><![CDATA[15-Java枚举类详解【干货笔记】]]></title><link>https://blog.youkuaiyun.com/2401_89190875/article/details/145171294</link><guid>https://blog.youkuaiyun.com/2401_89190875/article/details/145171294</guid><author>2401_89190875</author><pubDate>Thu, 16 Jan 2025 01:31:38 +0800</pubDate><description><![CDATA[public enum 枚举类名 {// 枚举项1, 枚举项2, 枚举项3, …;// 私有构造方法// 成员变量// 成员方法3、使用如果需要使用很多常量，并且这些常量用在同一个业务场景，那么可以使用枚举类型。【注意】枚举类型都继承java.lang.Enum，所以枚举类不能再继承其它类型。定义枚举项时，多个枚举项之间需要使用隔开，通常使用大写。枚举类型的构造方法使用private修饰通过枚举类名.枚举项名称去访问指定的枚举项枚举类型可以实现接口3.1、普通用法。]]></description><category></category></item><item><title><![CDATA[14 - vulhub - Django debug page XSS漏洞（CVE-2017-12794）]]></title><link>https://blog.youkuaiyun.com/2401_89190875/article/details/145171271</link><guid>https://blog.youkuaiyun.com/2401_89190875/article/details/145171271</guid><author>2401_89190875</author><pubDate>Thu, 16 Jan 2025 01:25:25 +0800</pubDate><description><![CDATA[Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。使用 Django，只要很少的代码，Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容，并进一步开发出全功能的 Web 服务， Django 本身基于 MVC 模型，即 Model（模型）+ View（视图）+ Controller（控制器）设计模式，MVC 模式使后续对程序的修改和扩展简化，并且使程序某一部分的重复利用成为可能。]]></description><category></category></item><item><title><![CDATA[13【装饰器设计模式】]]></title><link>https://blog.youkuaiyun.com/2401_89190875/article/details/145171262</link><guid>https://blog.youkuaiyun.com/2401_89190875/article/details/145171262</guid><author>2401_89190875</author><pubDate>Thu, 16 Jan 2025 01:23:23 +0800</pubDate><description><![CDATA[装饰器设计模式（Decorator Pattern）：也叫包装器设计模式（Wrapper Pattern），指在不改变原有对象的基础上，动态地给对象添加一些额外的功能。就增加功能来说，装饰器模式相比生成子类更为灵活。装饰设计模式的核心就是功能的扩展（增强），装饰器模式提供了比继承更有弹性的替代方案；]]></description><category></category></item><item><title><![CDATA[10 - vulhub - Adobe ColdFusion 反序列化漏洞 (CVE-2017-3066)]]></title><link>https://blog.youkuaiyun.com/2401_89190875/article/details/145170741</link><guid>https://blog.youkuaiyun.com/2401_89190875/article/details/145170741</guid><author>2401_89190875</author><pubDate>Thu, 16 Jan 2025 00:11:42 +0800</pubDate><description><![CDATA[简介：Adobe ColdFusion是美国Adobe公司的一款动态Web服务器产品，其运行的CFML（ColdFusion Markup Language）是针对Web应用的一种程序设计语言。]]></description><category></category></item><item><title><![CDATA[1 Oracle数据库常用命令_xshell oracel数据库命令]]></title><link>https://blog.youkuaiyun.com/2401_89190875/article/details/145170701</link><guid>https://blog.youkuaiyun.com/2401_89190875/article/details/145170701</guid><author>2401_89190875</author><pubDate>Thu, 16 Jan 2025 00:07:38 +0800</pubDate><description><![CDATA[FROM vprocessavsession b查看当前数据库的并发连接数查看当前有哪些用户正在使用数据：from vsessionavsqlarea b查看数据库指定用户的连接情况XX为用户例如：204 4609399 5841590 6041清除用户下连接进程修改processes和sessions值系统已更改。系统已更改。修改processes和sessions值必须重启oracle服务器才能生效。]]></description><category></category></item><item><title><![CDATA[【Flutter -- 基础】快速入门 Flutter_flutter开发零基础入门]]></title><link>https://blog.youkuaiyun.com/2401_89190875/article/details/145150770</link><guid>https://blog.youkuaiyun.com/2401_89190875/article/details/145150770</guid><author>2401_89190875</author><pubDate>Wed, 15 Jan 2025 01:22:30 +0800</pubDate><description><![CDATA[Flutter app 使用了 Dart 语言，源自于 Google，现在是 ECMA 的标准。Dart 吸收了许多现代语言的特性，比如 Kotlin 和 Swift，同时能被转译成 js 代码。作为一个跨平台框架，Flutter 和 React Native 非常像，因为 Flutter 支持响应式和声明式语法。但和 React Native 不同，Flutter 不需要 Javascript 桥接，这显著提升了 app 的加载时间和整体性能。Dart 是通过 AOT 编译来做到这一点的。]]></description><category></category></item><item><title><![CDATA[【ES6】Iterator遍历器对象]]></title><link>https://blog.youkuaiyun.com/2401_89190875/article/details/145150755</link><guid>https://blog.youkuaiyun.com/2401_89190875/article/details/145150755</guid><author>2401_89190875</author><pubDate>Wed, 15 Jan 2025 01:18:49 +0800</pubDate><description><![CDATA[return {上面的代码定义了 makeIterator 函数，它是一个遍历器生成函数，作用就是返回一个遍历器对象。对数组［ ‘a’，‘b’］执行这个函数，就会返回该数组的遍历器对象（即指针对象）it。指针对象的 next 方法用于移动指针。开始时，指针指向数组的开始位置。然后，每次调next 方法，指针就会指向数组的下一个成员。第 一次调用，指向a；第二次调用，指向b。next 方法返回一个对象，表示当前数据成员的信息。]]></description><category></category></item><item><title><![CDATA[【Elasticsearch】原理-Elasticsearch数据存储结构与写入流程_我们看到已经创建了与索引名称对应的新目录。 此目录有两个子文件夹 _state和0]]></title><link>https://blog.youkuaiyun.com/2401_89190875/article/details/145150733</link><guid>https://blog.youkuaiyun.com/2401_89190875/article/details/145150733</guid><author>2401_89190875</author><pubDate>Wed, 15 Jan 2025 01:15:06 +0800</pubDate><description><![CDATA[记录当前所有可用的segment，每个commitpoint都会维护一个.del文件（es删除数据本质是不属于物理删除），当es做删改操作时首先会在.del文件中声明某个document已经被删除，文件内记录了在某个segment内某个文档已经被删除，当查询请求过来时在segment中被删除的文件是能够查出来的，但是当返回结果时会根据commitpoint维护的那个.del文件把已经删除的文档过滤掉；这个二进制文件是包含集群的全局元数据，前缀后的数字表示集群元数据版本，这是一个严格增加的版本控制方案。]]></description><category></category></item><item><title><![CDATA[①万字《详解canvas api画图》小白前端入门教程（建议收藏）_canvasapi教程]]></title><link>https://blog.youkuaiyun.com/2401_89190875/article/details/145141375</link><guid>https://blog.youkuaiyun.com/2401_89190875/article/details/145141375</guid><author>2401_89190875</author><pubDate>Tue, 14 Jan 2025 15:54:33 +0800</pubDate><description><![CDATA[canvas元素是HTML5中新增的一个用于绘图的重要元素。在页面中增加一个canvas元素就相当于在网页中添加一块画布，之后就可以利用一系列的绘图指令，在“画布”上绘制图形。在网页上使用canvas元素时，它会创建一块矩形区域。用户可以自定义具体的大小或者设置canvas元素的其他特性。在页面中加人了canvas元素后，可以通过Javascript来控制画布。可以在其中添加图片/线条/文字等，也可以在里面进行绘图设置/高级动画等。]]></description><category></category></item><item><title><![CDATA[①万字《详解canvas api画图》小白前端入门教程（建议收藏）_canvasapi教程]]></title><link>https://blog.youkuaiyun.com/2401_89190875/article/details/145141255</link><guid>https://blog.youkuaiyun.com/2401_89190875/article/details/145141255</guid><author>2401_89190875</author><pubDate>Tue, 14 Jan 2025 15:50:51 +0800</pubDate><description><![CDATA[canvas元素是HTML5中新增的一个用于绘图的重要元素。在页面中增加一个canvas元素就相当于在网页中添加一块画布，之后就可以利用一系列的绘图指令，在“画布”上绘制图形。在网页上使用canvas元素时，它会创建一块矩形区域。用户可以自定义具体的大小或者设置canvas元素的其他特性。在页面中加人了canvas元素后，可以通过Javascript来控制画布。可以在其中添加图片/线条/文字等，也可以在里面进行绘图设置/高级动画等。]]></description><category></category></item><item><title><![CDATA[python操作Oracle数据库]]></title><link>https://blog.youkuaiyun.com/2401_89190875/article/details/145118196</link><guid>https://blog.youkuaiyun.com/2401_89190875/article/details/145118196</guid><author>2401_89190875</author><pubDate>Mon, 13 Jan 2025 16:12:23 +0800</pubDate><description><![CDATA[其实Python操作Oracle数据库，和Python操作MySQL数据库，基本上都是一样的道理，一通百通。其次，上述设置NLS_LANG环境变量的方式，仅对当前窗口有效。在进行instantclient的安装与配置之前，我先提供给大家一个下载链接，供大家下载，我们直接下载像11或者12这样的高版本，即可。关于其它的增删改操作，都是类似于MySQL，这里就不详细说明。我们需要将instantclient安装包，解压后得到的文件夹，放置在Oracle安装目录下的product的直接字目录下。]]></description><category></category></item><item><title><![CDATA[Python打牢基础，从12个语法开始！_python打牢基础,从12个语法开始!]]></title><link>https://blog.youkuaiyun.com/2401_89190875/article/details/145118115</link><guid>https://blog.youkuaiyun.com/2401_89190875/article/details/145118115</guid><author>2401_89190875</author><pubDate>Mon, 13 Jan 2025 16:08:41 +0800</pubDate><description><![CDATA[*因为对于同一个时刻，不同人的描述可能不同，毕竟文本的形式千变万化，而时间戳使得时间的表达得到了统一，每个时刻只能用唯一的整数或浮点数来表示，同时也便于计算时间差这样的处理。先介绍一下时间戳的概念，时间戳指的是从1970年1月1日0时0分0秒开始，到某一时刻所经历的秒数，可以是整数或者小数，后者的精度更高。列表中的元素是有序对等的，所以是用下标来赋值和访问，而字典中的元素是无序的，所以是用key来操作相应的value。在赋值的时候，如果key已经存在，则会用新的value覆盖已有的value。]]></description><category></category></item></channel></rss>