![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
开发大纲
文章平均质量分 85
上进小菜猪
沈工大软件工程,爱好写代码。
展开
-
安卓开发的深度技术实战详解
本文介绍了一些安卓开发中的深度技术,如 Kotlin 语言、MVVM 架构、协程、数据库等,并给出了相应的代码实例。这些技术可以让开发者更加简单、高效、易维护地开发安卓应用。当然,这些技术只是冰山一角,还有许多其他值得探索的技术,希望读者能够深入研究,不断学习和实践。本文介绍了安卓开发中的四个重要概念:视图、布局、协程和数据库,并提供了相应的代码实例。这些概念是安卓开发中的基础知识,掌握它们对于开发高质量的安卓应用程序至关重要。希望读者能够通过本文的介绍和示例代码,更好地理解和掌握这些概念。原创 2023-04-13 00:36:24 · 688 阅读 · 0 评论 -
AI-深度神经网络(前向传播算法和滑动平均模型)以及激活函数实例
①滑动平均模型的作用是提高测试值上的健壮性,一个参数变化很大,那势必会影响到测试准确度问题,从他的公式看shadow_var = decay * shadow_var + (1 - decay) * var_new,decay控制着该shadow变量的更新速度,decay越大,那么很明显其值就会越倾向接近于旧值,而decay越小,那么var_new产生的叠加作用就会越强,其结果就会越倾向于远离旧值,那这样波动就很大,通常认为稳定性就不够好当然就不够健壮了。此外,反向传播是训练DL模型的主要算法。原创 2023-01-21 01:43:27 · 303 阅读 · 0 评论 -
Perl项目中的面向对象、继承默认加载和正则表达式的使用方法
如果在当前类、当前类的所有基类和UNIVERSAL类中找不到请求的方法,将再次找到名为AUTOLOAD()的方法。其次,基于array方法,在定义类时,我们将为每个实例属性创建一个数组,每个对象实例的本质是对这些数组中的行的索引的引用。正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。Perl语言的正则表达式功能非常强大,基本上是常用语言中最强大的,很多语言设计正则式支持的时候都参考Perl的正则表达式。原创 2022-12-31 23:25:25 · 188 阅读 · 0 评论 -
在项目中使用Curator的Java 客户端搭建后进行长TCP连接和TCP权限配置【Zookeeper】
当Zookeeper类调用exists方法时,它将创建事件侦听器封装到请求对象中,将watch属性设置为true,并在服务器返回响应后将侦听器事件封装到客户端的ZKCatchManager类中。在Zookeeper的运行过程中,客户端会在会话超时的到期范围内向服务器发送请求(包括读写)或ping请求,俗称心跳检测,以完成会话激活,从而保持会话的有效性。当服务器检测到会话已过期时,会话将标记为“已关闭”,不会处理会话的新请求。客户端连接到服务器的默认2181端口,即会话会话。因此,删除节点失败。原创 2022-12-30 22:44:06 · 219 阅读 · 0 评论 -
【NetBeans】在Maven项目开发过程中对于NetBeans的合理运用以及自动化部署的方案详解
配置文件在构建期间修改POM,用于为参数设置不同的目标环境(例如,开发、测试和生产环境中数据库服务器的地址)。NetBeans可以通过自己的工作区解决Maven依赖问题,而无需安装到本地Maven存储库,尽管需要依赖的项目位于同一工作区。可以通过绑定到插件的目标来配置要执行的任务。这些阶段相当于Maven提供的统一接口,这些阶段的实现由Maven插件完成。Maven实际上是一个依赖插件执行的框架,每个任务实际上都是由插件完成的。因此,Maven生命周期每个阶段的具体实现是由Maven插件实现的。原创 2022-12-29 23:48:57 · 476 阅读 · 0 评论 -
【Maven项目】在项目开发中对于NAPSHOT、Maven依赖关系管理以及三个标准生命周期
插件是使用plugins元素在pom.xml中定义的。每个插件可以有多个目标。可以定义阶段,插件将使用其阶段元素开始处理。我们使用了清洁阶段。可以通过绑定到插件的目标来配置要执行的任务。我们已经将echo任务绑定到maven antrun插件的运行目标。就这样。Maven将处理剩下的问题。它将下载本地存储库中不可用的插件并开始处理。我们在示例中广泛使用了maven antrun插件来将数据输出到控制台。请查看Maven-BuildProfile部分。原创 2022-12-28 23:39:35 · 162 阅读 · 0 评论 -
安卓开发过程中的RatingBar、Handler以及GPS在大型项目中的使用【Android】
我们发送的信息将进入主线程的MessageQueue等待,Looper将按照先入先出的顺序将其取出,然后根据消息对象的属性将其分发给相应的Handler进行处理!它将进步转化为分数。RequestLocationUpdates(long minTime,float minDistance,Criteria Criteria,PendingIntent intent):通过指定的位置提供商定期获取位置信息,并通过意向启动相应的组件。Android返回的方向值是一个长度为3的flaot数组,包括三个方向的值!原创 2022-12-27 23:48:18 · 172 阅读 · 0 评论 -
开发时遇到监听的事件处理机制和SoundPool播放音效解决方法以及外部类的使用【Android】
处理流程如下:步骤1:为事件源(组件)设置侦听器以侦听用户操作步骤2:用户操作触发事件源的侦听器步骤3:生成相应的事件对象步骤4:将此事件源对象作为参数传递给事件侦听器步骤5:事件侦听器判断事件对象,执行相应的事件处理程序(相应事件的处理方法)只需让Activity类实现XxxListener事件侦听器接口,定义并重写相应的事件处理程序方法,例如在Activity:Activity中实现OnClickListener接口,并重写onClick(view)方法。事件侦听器机制是一种委托的事件处理机制。原创 2022-12-26 23:32:08 · 158 阅读 · 0 评论 -
【Android】Android对于Activity的运用以及ViewGroup和 用户界面组件在项目中的运用
有两种方法可以创建UI布局。确保无论系统从哪个任务启动活动,都只会创建一个活动实例并将其添加到新任务堆栈的顶部,也就是说,该实例启动的其他活动将自动在另一个任务中运行。如果任务中已存在要启动的活动的实例,请清除该实例上方的所有活动,并向用户显示该实例。如果任务不存在,将启动一个新任务,并在新任务中启动单一任务模式下的活动实例。如果存在,它会将此实例的任务安排到前台,并重用此活动的实例(此任务中只有一个活动)。如果它不存在,它将打开一个新任务,并在此新任务中启动此singleInstance模式的活动实例。原创 2022-12-25 23:42:43 · 244 阅读 · 0 评论 -
【Android】开发Android应用时对于Handler消息传递与缓存问题深入运用and理解
根据应用范围的不同,有两种类型的存储:会话存储和本地存储,用于会话级存储(关闭时页面消失)和本地化存储(除非主动删除数据,否则数据永远不会过期)。当我们的子线程想要修改活动中的UI组件时,我们可以创建一个新的Handler对象,并通过该对象向主线程发送信息;我们发送的信息将进入主线程的MessageQueue等待,Looper将按照先入先出的顺序将其取出,然后根据消息对象的属性将其分发给相应的Handler进行处理!我们可以直接操作的是数据部分,而页面缓存是由浏览器的行为生成的。UI线程:我们的主线程。原创 2022-12-24 23:15:29 · 201 阅读 · 0 评论 -
【AJAX】对于AJAX 解析已经XMLHttpRequest对象对于异步的操作等等在项目中的体验
为了应对所有现代浏览器,包括IE5和IE6,请检查浏览器是否支持XMLHttpRequest对象。在服务器上执行的许多任务都很耗时。如果的网站上有多个AJAX任务,应该编写一个用于创建XMLHttpRequest对象的标准函数,并为每个AJAX任务调用该函数。所有现代浏览器都支持XMLHttpRequest对象(IE5和IE6使用ActiveX对象)。AJAX不需要任何浏览器插件,但用户需要允许JavaScript在浏览器上执行。我们不建议使用async=false,但对于一些小请求,这是可以的。原创 2022-12-23 23:53:45 · 115 阅读 · 0 评论 -
【NumPy高级运用】NumPy的Matrix与Broadcast高级运用以及IO操作
如果两个数组a和b的形状相同,即a.shape==b.shape,则a*b的结果是数组a和b的相应位的乘法。默认情况下,数组以未压缩的原始二进制格式保存在扩展名为.npz的文件中。NumPy数组的维数称为rank,rank是轴的数量,即数组的维数。如果输入数组的维度的长度与输出数组的相应维度的长度相同或其长度为1,则可以使用该数组进行计算,否则会发生错误。例如,通过使用t()函数,可以将具有m行和n列的矩阵转换为具有n行和m列的矩阵。当输入数组的维度长度为1时,该维度中的第一组值将用于沿该维度的操作。原创 2022-12-22 23:48:26 · 114 阅读 · 0 评论 -
【Android】使用Android开发应用过程中遇到ViewGroup的简单效以及aw和assets文件夹下的文件(Http协议的底层工作)
然而,定义布局的最简单和最有效的方法是使用XML文件,这更符合人们的阅读习惯。当然,如果我们不将上述设置方法应用于0dp,我们可以直接使用wrap _ Content和match _在parent的情况下,需要解析weight属性。服务器接收SYN包,确认客户端的SYN(ACK=j+1),同时发送一个SYN包(SYN=k),即SYN+ACK包,服务器进入SYN_RECV状态。服务器验证帐户和加密密码。服务器会将用户提交的帐户和加密密码保存到服务器的数据库中,也就是说,服务器不会保存我们的明文密码(原始)!原创 2022-12-21 23:34:34 · 126 阅读 · 0 评论 -
【Ruby高级技术】在项目中使用多线程之后的一系列问题解决方案-同步控制、异常处理、死锁处理
如果线程完全运行,value方法将返回线程值。不同的线程可以使用一对统一的类,但不要担心队列中的数据是否可以同步。但是,如果其他线程由于thread#join关系一直在等待该线程,则等待线程也将抛出相同的异常。4.线程代码块中的最后一条语句是线程的值,它可以通过线程的方法调用。1.new可以用于创建线程,Thread也可以使用相同的语法Start或Thread。Ruby线程是轻量级的,可以以高效的方式实现并行代码。线程可以有自己的私有变量,在创建线程时将其写入线程。线程的优先级是影响线程调度的主要因素。原创 2022-12-20 23:34:49 · 145 阅读 · 0 评论 -
【Ruby高级技术】对面向对象里的控制访问,包括类的继承类常量的深入理解和使用
实例变量是类属性,当使用类创建对象时,这些属性将成为对象的属性。@operator用于访问类内部的这些属性,而名为accessor方法的公共方法用于访问类外部的这些属性。让我们将上面定义的类Box作为实例,并将@width和@height作为类Box的实例变量。这实际上并没有定义任何数据,而是定义了类的名称意味着什么,即类的对象将由什么组成,以及可以对对象执行什么操作。在创建类时,程序员可以直接指定新类继承自现有类的成员,这样就不必从头开始编写新的数据成员和成员函数。类中的数据和方法称为类的成员。原创 2022-12-19 23:39:53 · 142 阅读 · 0 评论 -
当项目需要使用Docker,对Dockerfile、配置加速器以及配置加速器的实际运用
实际的构建过程是在Docker引擎下完成的,因此此时无法使用本地文件。CMD指令中指定的程序可以被docker运行命令行参数中指定的要运行的程序覆盖。ADD的优点:当<源文件>是tar压缩文件,并且压缩格式为gzip、bzip2和xz时,它将被自动复制并解压缩到<目标路径>。注意:不要将无用的文件放在上下文路径中,因为它们将被打包并发送到docker引擎。ADD指令的用例与COPY指令的用例相似(在相同的要求下,正式推荐COPY指令)。Args:添加一个构建参数,它是一个环境变量,只能在构建过程中访问。原创 2022-12-18 23:35:21 · 261 阅读 · 0 评论 -
【Laravel】在企业级项目中使用Laravel框架中的工厂状态下的页面方法 Code Verifier以及错误处理
这里,<event class>应该使用我们在步骤1中使用的名称来替换应用程序,而<handler class>使用处理程序类的名称创建事件类的名称。例如,如果我们正在开发音乐管理应用程序,我们可能需要一个公共方法来在应用程序中创建列表,而不是重写在每个页面和测试类中创建播放列表的逻辑。要在应用程序中的任何位置生成这样的响应,可以使用如下的abort()方法。如果状态转换需要访问工厂定义的其他属性,则可以将回调传递给状态方法。除了页面中已经定义的默认方法之外,还可以定义将在整个测试过程中使用的其他方法。原创 2022-12-17 23:49:51 · 132 阅读 · 0 评论 -
【Laravel框架】对于Laravel框架架构的研究以及视图方法和内置会话在项目里的运用
首先,应该了解larravel框架的架构模式(设计核心,larravel架构是使用服务组件化开发模式开发的,larravelframework由不同的服务组件组成)larravel中的多个服务提供商构成了larravel组件。分层设计:将具有相同功能的类库放在同一文件夹中。larravel框架具有组成服务和组件的多个类。类->服务->组件Larravel使用基于组件的开发模式,具有多个类->服务->组件,多个类构成服务,多个服务构成组件。多个组件提供不同的服务,然后多个服务构成我们的项目。原创 2022-12-16 23:49:25 · 435 阅读 · 0 评论 -
Laravel框架对于中间件{参数}的深入运用以及请求参数的实战
在中间件上调用terminate方法时,Larravel将从服务容器中获取中间件的新实例。如果要在调用handle和terminate方法时使用相同的中间件实例,则需要使用容器提供的singleton方法以单个实例的方式将中间件注册到容器中。将中间件分配给指定的路由,如果要将中间件分配给指定的路由,应首先在app/Http/Kernel中设置。例如,Larave中内置的会话中间件将在响应发送到浏览器后将会话数据写入内存。否则,请求将被传递。在HTTP内核中定义中间件后,可以使用中间件方法将其分配给路由。原创 2022-12-15 23:55:28 · 373 阅读 · 0 评论 -
【tornado】tornado路由系统以及加密cookie在项目中的使用详解
在web框架中,路由表中的任何项都是一个元组,每个元组都包含模式和处理程序。当httpserver收到http请求时,服务器从收到的请求中解析url路径(在http协议开始行中),然后顺序遍历路由表。如果url路径可以匹配模式,则http请求将发送到web应用程序中的相应处理程序进行处理。由于url路由机制,web应用程序开发人员不必处理复杂的http服务器层代码,只需编写web应用程序层(处理程序)的逻辑即可。Tornado中的每个url都对应一个类。步骤1:执行脚本并侦听端口8080。原创 2022-12-14 23:39:37 · 227 阅读 · 0 评论 -
Diesel框架对于数据库的使用和实战,在PostgreSQL的基础上的使用【Diesel】
当我们只处理一个表时,这很有用,但这并不总是我们想要的。我们需要告诉Diesel我们在哪里可以找到我们的数据库。在我们的开发机器上,我们可能有多个项目,我们不想污染我们的环境。我们首先需要一个表来存储我们的帖子。我们可以使用它不幸的是,结果不会很有趣,因为我们在数据库中实际上没有任何帖子。这将创建我们的数据库(如果它还不存在),并创建一个空的迁移目录,我们可以使用它来管理我们的体系结构(稍后将详细介绍)我们还希望创建一个结构,在该结构中我们可以读取数据,并让diesel生成用于引用查询中的表和列的名称。原创 2022-12-13 23:48:02 · 282 阅读 · 0 评论 -
Tornado框架的异步代码单元支持同步获取URL在项目里实战的心得和方法
httpclient HTTPError将通过,raise_Error=False将仅抑制非200响应代码导致的错误。然而,如果有人在没有任何参数的情况下实例化异常,他们将得到一个元组错误。因此,此函数抽象了所有行为,并为提供了获取errno的安全方法。默认情况下,为每个测试构建新的IOLoop,并且可以用作self-io_ Loop。如果要测试的代码需要一个全局IOLoop,那么子类应该重写get_new_IOLoop返回它。此外,提供的记录器将在必要时调整其级别(在ExpectLog中启用预期消息)。原创 2022-12-12 23:38:33 · 163 阅读 · 0 评论 -
【Tornado】协程队列和异步DNS解析器在Tornado项目里的实战表现已经运用详解
指示先前排队的任务已完成。超时可以是表示时间的数字(与tornado.ioloop.ioloop.time的比例相同,通常是time.time),也可以是相对于当前时间Timedelta对象的结束日期的日期时间。请注意,如果使用多个进程,并且使用了自动加载模块(或autoreload=True选项tornador.web.Application,当debug=True时),则分叉被称为进程。如果num_ If processs为None或原创 2022-12-11 23:50:41 · 181 阅读 · 0 评论 -
对于Django框架的会话框架的深入研究——在大型项目中使用会话技术【Django】
默认情况下,实际会话数据存储在站点数据库中(这比将数据存储在cookie中更安全,因为它们更容易受到恶意用户的攻击)。您可以将Django配置为将会话数据存储在其他位置(缓存、文件、“安全”cookie),但默认位置是一个不错且相对安全的选项。会话会话属性是一个类似于字典的对象。此会话属性表示与当前用户的特定连接(或更具体地说,与当前浏览器的连接,由站点的浏览器cookie中的会话ID标识)。作为一个简单的现实世界示例,我们将更新我们的库,以告诉当前用户他们访问LocalLibrary主页的次数。原创 2022-12-09 23:37:42 · 207 阅读 · 0 评论 -
Django管理应用程序的高级配置在BookInstance模型的运用【Django】
Django管理应用程序可以使用的模型自动构建可用于创建、查看、更新和删除记录的站点区域。这可以在开发过程中节省大量时间,使测试模型和查看是否有正确的数据变得容易。根据网站的类型,管理应用程序也可以用于管理生产中的数据。Django项目只建议用于内部数据管理(也就是说,仅适用于组织的管理员或内部人员),因为以模型为中心的方法不一定是所有用户的最佳界面,并且暴露了许多关于模型的不必要的细节。为了登录到管理员站点,我们需要启动员工状态的用户帐户。为了查看和创建记录,我们还需要用户拥有所有对象的记录。可以创建一原创 2022-12-07 23:47:31 · 78 阅读 · 0 评论 -
【Django】聚合在Django的详细解析以及运用在企业级项目里的方法
Django数据库抽象API描述了使用Django查询来添加、删除、查询和修改单个对象的方法。然而,有时需要根据一组对象聚合您想要获得的值。本主题指南介绍如何使用Django查询生成和返回聚合值。Django提供了两种生成聚合的方法。第一种方法是从整个QuerySet生成摘要值。例如,想计算所有在售图书的平均价格。Django的查询语法提供了一种描述所有藏书的方法。传递给聚合()的参数描述了要计算的聚合值。在此示例中,将计算Book模型上价格字段的平均值。可以在QuerySet引用中找到可用聚合函数的列原创 2022-12-06 23:41:44 · 215 阅读 · 0 评论 -
【Django】当大型项目采用Django框架对于QueryDict以及模板的表单在Admin 管理工具的使用
在HttpRequest对象中,GET和POST属性是django.http的实例。QueryDict类。QueryDict是一个用户定义的类,类似于字典。它用于处理单个键对应多个值的情况。QueryDict实现所有标准字典方法。它还包括一些独特的方法:表单在模板的末尾,我们添加了一个rlt令牌,为表处理结果预留空间。表后面还有一个标签{%csrf_token%}。csrf的全称是跨站点请求伪造。这是Django提供的防止伪装提交请求的功能。POST方法提交的表单必须具有此标签。在HelloWo原创 2022-12-04 23:40:52 · 295 阅读 · 0 评论 -
【Django】QuerySet以及Pickle 序列化在Django中的深度运用详解
QuerySet本身可以在不访问数据库的情况下构造、过滤、切片或复制和分配。只需要在需要从数据库检索数据或将数据保存到数据库时访问数据库。可以通过以下方式执行QuerySet:迭代。QuerySet是迭代的。当第一次迭代它时,它将执行其数据库查询。例如,这将打印数据库中所有条目的标题。部分如限制QuerySet条目数量中所述,可以使用Python的数组切片语法对QuerySet进行切片。切片未执行的QuerySet通常会返回另一个未执行的Query Set。但是,如果使用切片语法的step参数,Dja原创 2022-12-03 23:54:38 · 642 阅读 · 0 评论 -
【Django】在大型项目中的django的性能模型字段primary_key
序列本身由正好两个项目的迭代项组成(例如,[(A,B),(A,C)…]),作为该字段的选择。如果给出了选择,它们将通过模型验证来执行。默认表单部分将是包含这些选项的选择框,而不是标准文本字段。每个元组中的第一个元素是要在模型上设置的实际值,第二个元素是人类可读的名称。例如:尽管可以在模型类外部定义选择列表,然后引用它,但在模型类中定义选择和每个选择的名称可以在使用它的类中保留所有这些信息,并帮助引用这些选择(例如,Student.SOPHOMORE将在导入学生模型的任何位置工作)。还可以将可用的选项收原创 2022-12-03 23:45:39 · 302 阅读 · 0 评论 -
【Flask】显式应用程序对象和销毁行为以及销毁行为在flask项目中的使用
如果多个应用程序使用相同的过程(web服务器可能在您不知情的情况下执行此操作),则当前工作目录将不可用。当删除此最小应用程序的应用程序对象时,将释放其占用的所有资源。每个Flask应用程序必须创建该类的一个实例,并将模块的名称传递给该实例。对于使用make测试测试的套件,扩展必须确保自动处理测试所需的所有依赖项。默认情况下,大多数当前编辑器存储为UTF-8,但如果您的编辑器未配置为UTF-8,则需要对其进行更改。如果在Python文件中使用非Unicode字符,则需要告诉Python文件使用的编码。原创 2022-12-01 23:57:26 · 130 阅读 · 0 评论 -
【Flask】当企业级项目在大多数视图登录性能优化以及测试覆盖的详细解决方案
不是每次都写,而是写一个类,使用class方法来完成,并使用固件将其传递给每个被测试的客户端。如果要在呈现的页面中检测值,请在数据中检测它。在POST请求中,当表单数据合法时,视图应重定向到登录URL,并且用户的数据已保存在数据库中。这用于测试不同的非法输入和错误消息,以避免三次写入相同的代码。要测试页面是否成功呈现,请发出一个简单的请求,并检查是否返回了200OK状态_代码如果渲染失败,Flask将返回500内部服务器错误代码。类似的客户端Post()发出Post请求,并将数据字典转换为表单数据。原创 2022-11-30 23:34:28 · 304 阅读 · 0 评论 -
【Flask】大型项目要进行项目部署的技术实操(Apache)
如果可以在根级别访问应用程序,则可以使用单个/代替/yourreplication。如果要在虚拟环境中部署应用程序,则需要添加–virtualnv/path/to/virtual/environment。在WSGI环境中,有两个变量经常导致问题:REMOTE_ADDR和HTTP_HOST可以通过设置httpd来传递这些头,或者在中间件中修复这些问题。请注意,以下路径不是真实的。如果无法设置ScriptAlias,例如,如果使用共享网络主机,则可以使用WSGI中间件设置复制。对于临时使用,可以运行。原创 2022-11-29 11:52:08 · 479 阅读 · 0 评论 -
【Flask】大型项目中对于url_for() 的使用以及请求数据上传文件的开发实例
如果要使用客户端文件名作为服务器文件名,可以使用Werkzeug_Filename()函数提供的安全性。也就是说,用户可以查看的cookie,但如果没有密钥,则无法修改它。可以通过请求对象的files属性来访问上载的文件。如果要在上载文件之前知道客户端系统中文件的名称,可以使用filename属性。在Flask,如果使用会话,则不应直接使用cookie,因为会话更安全。请求对象的cookie属性是包含客户端传输的所有cookie的字典。可以使用响应对象_ Cookie方法的集合来设置Cookie。原创 2022-11-28 16:18:46 · 465 阅读 · 0 评论