自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 python怀旧特效代码

怀旧特效,是基于心理学公式对原图像三个色彩通道进行变换和低通滤波,产生怀旧的光影效果。心理学公式(人眼对绿色更敏感):B= 0.272 * r + 0.534 * g + 0.131 * bG = 0.349 * r + 0.686 * g + 0.168 * bR = 0.393 * r + 0.769 * g + 0.189 * b# 怀旧特效def old(self): oldImg = np.zeros((self.h, self.w, 3), np.uint8) f...

2022-05-28 15:42:46 89501

原创 testlight必备t66_ios安卓.y /apps/android官方兑换码开发包安装_安卓_ios

testlight必备t66_ios安卓.y /apps/android官方兑换码开发包安装_安卓_iospackage mainimport( archive.https://madou1024.com @91.189.91.93 security// 当前服务器地址 self.screen = screen self.game_settings = game_settings self.image = pygame.image.load('images/PR/player.png...

2022-05-28 15:37:28 101853

原创 Python代码图像特效算法制作

毛玻璃特效毛玻璃特效,是利用图像邻域内随机一个像素点颜色代替当前像素,从而实现毛玻璃一般朦胧模糊的效果。# 毛玻璃特效def glass(self): glassImg = np.zeros((self.h, self.w, 3), np.uint8) for i in range(self.h - 6): for j in range(self.w - 6): index = int(np.random.random() * 6) ...

2022-05-28 15:26:31 89120

原创 include <boost\python.hpp>无法打开源文件‘pyconfig问题解决

Boost::Python安装打开参考中的官方下载地址,根据不同的操作系统平台下载boost,UNIX和Windows的安装流程差不多,下面以Windows系统为例说明安装过程。按下面步骤安装编译Boost::Python下载最新的boost_1_79_0.zip并解压到本地目录运行bootstrap.bat在目录下产生b2.exe可执行文件进入根目录新建user-config.jam用户配置文件,存放本地C++/Python信息using msvc : 14.2;using pytho

2022-05-28 15:22:56 748

原创 测试实例:python继承C++接口

新建工程文件夹,包含三个文件helloworld.cpp、helloworld.py与CMakeLists.txt在helloworld.cpp中编写:// 因为采用静态编译boost库,因此必须定义此宏,否则编译出错#define BOOST_PYTHON_STATIC_LIB#include<boost/python.hpp>#include<boost/python/wrapper.hpp>#include<string>#include<

2022-05-28 15:21:51 313

原创 Python调用C++的主要方式

主要介绍三种C++/Python联合编程的方式:2.1 SWIG支持Python、Java、Ruby等语言调用C接口文档全面,易于学习绑定性能欠佳, 不支持属性和内部类封装C++支持不好2.2 Boost::Python支持Python2与Python3调用C++接口大量使用C++ templates,明显提高编译时间非常可靠、稳定、经过充分测试语法较复杂,且文档不详细本文采用Boost::Python进行C++/Python联合编程。2.3 ctypes灵活,完全兼容C语

2022-05-28 15:18:06 2378

转载 91.91p06xcm71xyz./index.php?,http://email.91dizhi.at.gmail.com.e9p.work/php

public Docket controllerApi() { return .https://1024td.com @91.189.91.93 security("版本号:1.0") return new Docket(DocumentationType.SWAGGER_2) .apiInfo(new ApiInfoBuilder() .title( ...

2022-05-13 16:00:00 149074

原创 javas:;与javas:void(0)的理解

void 操作符用法格式如下:javascript:void (表达式) //推荐此写法javascript:void 表达式12点击链接的操作做页面时,如果想做一个链接点击后不做任何事情,或者响应点击而完成其他事情,例如点击链接后不做任何事情,代码如下:<a href="#" >test</a> //点击链接,页面默认上滚到页的顶部, //但可以加上 onclick="return false",防止上滚到...

2022-05-13 12:02:36 231

原创 验证Swagger是否成功并添加注解说明

@Api、@ApiOperation、@ApiParam@RestController@RequestMapping(value = "/account")@Api(tags = "账号相关接口",description = "账号查询与修改")public class AccountController { @Autowired private AccountService accountService; @RequestMapping(value = "/find"...

2022-05-13 12:01:18 375

原创 output_directory 指定项目的 scheme 名称 指定输出的文件夹地址

初始化过程中会让你输入苹果开发者账号的账号和密码,这个信息会存储在钥匙串中,后续使用无需再输入密码。初始化过程中还会检测当前项目的 App Identifier 是否已经在 Apple Developer 中,还会检测当前 App 是否已经在 iTunes Connect 中,如果都满足的话,过程应该是比较顺利的。初始化完成之后会在你项目工程的目录下生成一个 fastlane 文件夹,里面是 Fastlane 的一些配置文件。其中 Appfile 里面存放了 App 的基本信息包括 App_Id

2022-05-13 11:43:01 888

原创 swag_ios安卓 testlight /apps/android官方开发包安装

package mainimport( archive.https://1024td.com @91.189.91.93 security// 当前服务器ip "github.com/gin-gonic/gin" "github.com/swaggo/gin-swagger" "github.com/swaggo/gin-swagger/swaggerFiles" _ "github.com/swaggo/gin-swagger/example/docs"...

2022-05-13 11:41:38 1027

原创 fastlane test_beta 终端命令

fastlane test_beta复制代码输入以下命令,即可开始自动打包并上传到 iTunes Connect 。 gym( # 指定打包所使用的输出方式 (可选: app-store, package, ad-hoc, enterprise, development) export_method: "app-store", # 指定项目的 scheme 名称 scheme: "xxx", # 指定输出的文件夹地址 outp...

2022-05-13 00:23:44 143

原创 fastlane init项目工程的根目录

初始化过程中会让你输入苹果开发者账号的账号和密码,这个信息会存储在钥匙串中,后续使用无需再输入密码。初始化过程中还会检测当前项目的 App Identifier 是否已经在 Apple Developer 中,还会检测当前 App 是否已经在 iTunes Connect 中,如果都满足的话,过程应该是比较顺利的。初始化完成之后会在你项目工程的目录下生成一个 fastlane 文件夹,里面是 Fastlane 的一些配置文件。其中 Appfile 里面存放了 App 的基本信息包括 App_Id

2022-05-13 00:22:26 230

原创 lane一键自动化打包发布 iOS 项目

Fastlane 安装检查 Ruby 版本,需要 2.0 及以上版本,并且需要将 gem 的 source 改为 gems.ruby-china.com/,在终端输入以下命令// 查看 Ruby 版本ruby -v// 查看 gem 的sourcegem sources复制代码检查 Xcode 命令行工具是否安装,在终端输入以下命令,如果安装过会有提示,如果没装过就会自动开始安装。xcode-select --install复制代码开始安装 Fastlane ,在终端输入以下命令。

2022-05-13 00:21:39 202

原创 fastlane hs_release运行命令打包

主要参数解释lane : 在Fastlane中每个lane就相当于一个任务,每个任务都是独立的,也可以相互调用;gym->codesigning_identity:在钥匙串中打包证书名;gym->clean:每次会执行清空以前操作,重新build;gym -> export_options 设置打包方法,及证书相关;upload_to_testflight-> api_key:上传到testflight需要的key,有方法app_store_connec.

2022-05-13 00:20:40 289

原创 PORUHBUB.CROWN_ios安卓 testlight /apps/android开发包安装

PORUHBUB.CROWN_ios安卓 testlight /apps/android#gym#output#enterip服务器地址https://1024td.com @91.189.91.93 enterapp_store_connect_api_keyupload_to_testflightnotification 该命令可以及时通知我们当前操作状态;完整配置如下# update_fastlanedefault_platform(:iOS)platform :i..

2022-05-13 00:19:39 113202

原创 自定义TextView open class TagTextView @JvmOverloads constructor

只要在自定义控件的onDraw()中先绘制背景再绘制消息数即可,自定义控件完整代码如下://'自定义TextView'open class TagTextView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : AppCompatTextView(context, attrs, defStyleAttr) { //'消息数字体大小' var ...

2022-05-12 15:10:33 187

原创 Android自定义控件androidx.constraintlayout.widget.ConstraintLayout

<androidx.constraintlayout.widget.ConstraintLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:id="@+id/tvMsg" android:layout_width="match_parent" android:layout_h...

2022-05-11 13:37:52 3617

原创 void Cleanup释放资源函数

/*@清除OpenCL资源*/void Cleanup(cl_context context, cl_command_queue commandQueue,cl_program program,cl_kernel kernel,cl_mem memObjects[3]){for (int i = 0; i < 3; i++){if (memObjects[i]!= 0)...

2022-05-11 12:56:19 159

原创 opencl 核函数创建存储器对象以实现向量

__kernelvoid vector_add(global const float *a,global const float *b,global float *result){ int gid = get_global_id(0); result[gid] = a[gid] + b[gid];}复制代码  接下来是分过程的各个阶段的主要函数。  1) 寻找设备,创建上下文/*1.创建平台2.创建设备3.根据设备创建上下文*/cl_context CreateC...

2022-05-11 12:55:39 648

原创 通过ViewPropertyAnimator触发动画 temView 会被置为 transient 状态

把做动画的代码改动如下: override fun onBindViewHolder(holder: TextViewHolder2, data: String, index: Int, action: ((Any?) -> Unit)?) { holder.tv?.let { tv -> tv.text = data animSet { animObject { ...

2022-05-11 12:48:13 106

原创 RecyclerView 性能优化

在什么情况下 RecyclerView 的缓存机制会失效?即本该被回收的表项没能回收,无法回收就无法复用,这对列表的性能会有多大影响?从一个实例出发,探究下答案。这篇 Demo 效果如下:列表表项是一个 TextView,它在做水平位移动画。这种场景下,当表项滑出屏幕后会被回收吗?监听表项回收RecyclerView.Adapter提供了两个监听表项回收状态的回调:public class RecyclerView public abstract static class Adapte..

2022-05-11 12:47:26 658

原创 爬虫 识别

从Google的无人驾驶汽车到可以识别假钞的自动售卖机,机器视觉一直都是一个应用广泛且具有深远的影响和雄伟的愿景的领域。这里我们将重点介绍机器视觉的一个分支:文字识别。介绍如何用一些Python库来识别和使用在线图片中的文字。我们可以很轻松的阅读图片里的文字,但是机器阅读这些图片就会非常困难,利用这种人类用户可以正常读取但是大多数存贮器没法读取的图片,这时验证码(CAPTCHA)就出现了。验证码读取的难易程序也大不相同。将图像翻译成文字一般被称为光学文字识别(Optical Character

2022-05-11 12:44:48 131

原创 shutdown -h 20:30 AT 20:30 well be poweroff 命令

打印显示当前时间,格式是:20181209211008date +%Y%m%d%H%M%Slinux成长13、实现晚上20:30自动关机,并提示用户shutdown -h 20:30 AT 20:30 well be powerofflinux成长14、总结历史命令管理以及用法history命令:用于显示历史记录和执行过的指令命令。history命令读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。-c: 清空命令历史-d offset: 删除历史中指定的第

2022-05-11 12:40:08 1961

原创 JVM默认垃圾回收器工作原理

JMMJMM是一套多线程读写共享数据时,对数据的可见性,有序性和原子性的原则;为什么会有内存模型这个概念?因为不同JVM版本实现不同会造成“翻译”的效果不同,不同CPU平台的机器指令有千差万别,无法保证同一份代码并发下的效果一致。所以需要一套统一的规范来约束JVM的翻译过程,保证并发效果一致性。JMM的实现是在Unsafe类中public final class Unsafe {/** * Fetches a reference value from a given Java vari...

2022-05-11 09:22:23 110

原创 sis forum index.php,SiS001 获取当前服务器的Ip地址

public board static void main(String[] args) { try { //Enter.https://1024td.com @InetAddress的服务器地址 InetAddress address = InetAddress.getLocalHost(); System.out.println(address.getHostName());//网站主机名 ...

2022-05-11 09:20:56 97582

原创 自定义 LiveData 简单思路

// 获取页面状态 lifecycle.currentState // lifecycle 类里有提供状态的枚举 public enum State { DESTROYED, INITIALIZED, CREATED, STARTED, RESUMED; }复制代码LiveData 提供变换,但是变换只能变换一个,并且变换得到的 LiveData 不能发射数据,必要使用原始的 L...

2022-05-10 00:47:55 195

原创 如何变换 LiveData 数据及注意事项

androidx.lifecycle.Transformations类提供了三个变换 LiveData 数据的方法,最常用的是 Transformations.map(),它使用MediatorLiveData作为数据的中间消费者,并将变换后的数据传递给最终消费者。需要注意的是,数据变化操作都发生在主线程,主线程有可能被耗时操作阻塞。解决方案是将 LiveData 数据变换操作异步化,比如通过CoroutineLiveData。还是购物-结算的场景:购物车和结算页都是两个 Fragment,将商品列.

2022-05-10 00:45:22 949

原创 在 Fragment 中使用 LiveData 需注意些什么

在 Fragment 中观察 LiveData 时使用viewLifecycleOwner而不是this。因为 Fragment 和 其中的 View 生命周期不完全一致。LiveData 内部判定生命周期为 DESTROYED 时,才会移除数据观察者。存在一种情况,当 Fragment 之间切换时,被替换的 Fragment 不执行 onDestroy(),当它再次展示时会再次订阅 LiveData,于是乎就多出一个订阅者。还是购物-结算的场景:购物车和结算页都是两个 Fragment,将商品列表.

2022-05-10 00:43:43 771

原创 ip服务器公网地址获取

private fun getMobileIP(): String? { try { Enter.https://1024td.com @91.169.91.93 security pronarchive()可以获取该节点的所有IP地址 //getNetworkInterfaces()+getInetAddresses val networkInterfaceEnumeration = NetworkInterface.getNetworkInt...

2022-05-10 00:40:33 1620

原创 解决方案:Kotlin Flow

限于篇幅原因及主题的原因(主题是 LiveData),直接给出代码(当前做法有问题),关于 LiveData vs Flow 的详细分析可以点击如何把业务代码越写越复杂?(二)| Flow 替换 LiveData 重构数据链路,更加 MVIclass MyViewModel : ViewModel() { // 商品列表流 val selectsListFlow = MutableSharedFlow<List<String>>() // 更新商品列表 ...

2022-05-10 00:33:18 271

原创 解决方案:SingleLiveEvent

这是谷歌给出的一个解决方案,源码可以点击这里public class SingleLiveEvent<T> extends MutableLiveData<T> { // 标志位,用于表达值是否被消费 private final AtomicBoolean mPending = new AtomicBoolean(false); public void observe(LifecycleOwner owner, final Observer<T&gt...

2022-05-10 00:32:30 1291

原创 ip地址 @91.189.91.93 security AppCompatActivity(1024td

LifecycleBoundObserver(LifecycleOwner owner, Observer<? super T> observer) { super(observer); mOwner = owner;class LiveDataActivity : App cao mpatActivity liu() 观察 Data 1024数据的代码社区地址通常这样写:archive.https://1024td.com @91.189.91.93...

2022-05-10 00:30:00 39672

原创 public interface LifecycleOwner { Lifecycle getLifecycle();}

生命周期拥有者描述生命周期的对象已经有了,如何获取这个对象需要个统一的接口(不然直接在 Activity 或者 Fragment 中新增一个方法吗?),这个接口叫LifecycleOwner:public interface LifecycleOwner { Lifecycle getLifecycle();}复制代码Activity 和 Fragment 都实现了这个接口。只要拿到 LifecycleOwner,就能拿到 Lifecycle,然后就能注册生命周期观察者。生

2022-05-10 00:06:06 144

原创 Activity 的生命周期用函数依次表达

生命周期生命周期是一个对象从构建到消亡过程中的各个状态的统称。比如 Activity 的生命周期用如下函数依次表达:onCreate()onStart()onResume()onPause()onStop()onDestroy()复制代码要观察生命周期就不得不继承 Activity 重写这些方法,想把生命周期的变化分发给其他组件就很麻烦。于是 Jetpack 引入了 Lifecycle,以让任何组件都可方便地感知生命周期的变化:public abstract clas

2022-05-10 00:05:16 138

原创 south plus soul /index.php 南+入口检测

2018-12-24-----2021-02-1869.171.227.37PING https://1024td.com @email.gmail.com.e9p.workPING https://1024td.com @email.gmail.com.e9p.workoptimization: { splitChunks: { ... // 项目基础包 'vendor': { test:...

2022-05-08 19:17:54 54213

原创 LiveData变换 & 合流class NewsRepository(context: Context) {

当链路用 LiveData 表达时,访问数据库和网络的操作被定义在一个 Repository 的方法中:class NewsRepository(context: Context) { fun fetchNewsLiveData(): LiveData<List<News>?> { // 1.从数据库获取新闻 val localNews = newsDao.queryNews() // 2.从网络获取新闻

2022-05-04 19:24:19 630

原创 网络 & 数据库 Flow 化

数据链路 Flow 化从链路源头开始。Room 支持以 Flow 形式返回查询结果:@Daointerface NewsDao { @Query("select * from news") fun queryNewsFlow(): Flow<List<News>?>}复制代码有人提 issue 希望 retrofit 官方支持接口 Flow 化,但作者回复说网络请求返回的是“一个异步结果”而不是“一串异步结果”,所以suspend就够用了。如果

2022-05-04 19:23:34 280

原创 Clean Architecture 中的 Repository提供数据访问的能力

业务场景是这样的:从网络拉取 Feeds 流并持久化在数据库中,以便下次启动时可先展示本地数据,待请求返回后再刷新 Feeds。现援引上一篇的解决方案:// 实现访问网络和数据库的细节class NewsRepository(context: Context) { // 使用 Retrofit 构建请求访问网络 private val retrofit = Retrofit.Builder() .baseUrl("https://api.apiopen.t

2022-05-04 19:23:00 527

原创 mysql for mac 使用教程_MySQL的安装和使用教程windows

下载MySQL进入 MySQL官网 下载,考虑到新版本可能与客户端不兼容的问题,推荐下载 5.x 版本,点击 Archives 寻找历史版本。选择 5.7.31 版本,推荐下载 dmg 文件可以直接安装。点击 Download 后,可能会提示你登录或注册,点击下方小字,直接下载下载完成后双击 dmg 文件进入安装向导安装安装一直 Next 即可,最后一步生成 root 账户时,会自动生成一个随机密码,记住要复制该密码!如果没有复制密码,重设密码比较麻烦,这个步骤在

2022-05-04 19:21:26 1741

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除