Here

UE4的多线程

不打扰是莪最后的温柔 提交于 2020-12-06 04:57:08
1. 源代码   AsyncWork.h 2. 多线程的使用   参考文档: https://wiki.unrealengine.com/Using_AsyncTasks   当我们需要执行一个需要很长时间的任务时,放在主线程里会导致很卡,把此任务放到其他线程里则会好很多,此时多线程就可以起到关键的作用了。   在UE4里,我们可以使用FAsyncTask 或者FAutoDeleteAsyncTask。   使用FAsyncTask 时,我们需要手动停止或删除任务;使用FAutoDeleteAsyncTask时,系统则会自动在任务结束后,删除任务。   需要先建个继承FNonAbandonableTask的类,如源码中的例子: class ExampleAutoDeleteAsyncTask : public FNonAbandonableTask { friend class FAutoDeleteAsyncTask<ExampleAutoDeleteAsyncTask> ; int32 ExampleData; ExampleAutoDeleteAsyncTask(int32 InExampleData) : ExampleData(InExampleData) { } void DoWork() { ... do the work here } FORCEINLINE

Git & Github

徘徊边缘 提交于 2020-12-06 03:11:40
为什么要用版本控制? 假设你在的公司要上线一个新功能,你们开发团队为实现这个新功能,写了大约5000行代码,上线没2天,就发现这个功能用户并不喜欢,你老板让你去掉这个功能,你怎么办?你说简单,直接把5000行代码去掉就行了,但是我的亲,说的简单,你的这个功能写了3周时间,但你还能记得你是新增加了哪5000行代码么?所以你急需要一个工具,能帮你记录每次对代码做了哪些修改,并且可以轻易的把代码回滚到历史上的某个状态。 这个神奇的工具就叫做版本控制。 版本控制工具主要实现2个功能: 版本管理 在开发中,这是刚需,必须允许可以很容易对产品的版本进行任意回滚,版本控制工具实现这个功能的原理简单来讲,就是你每修改一次代码,它就帮你做一次快照 协作开发 一个复杂点的软件,往往不是一个开发人员可以搞定的,公司为加快产品开发速度,会招聘一堆跟你一样的开发人员开发这个产品,拿微信来举例,现在假设3个人一起开发微信,A开发联系人功能,B开发发文字、图片、语音通讯功能,C开发视频通话功能, B和C的功能都是要基于通讯录的,你说简单,直接把A开发的代码copy过来,在它的基础上开发就好了,可以,但是你在他的代码基础上开发了2周后,这期间A没闲着,对通讯录代码作了更新,此时怎么办?你和他的代码不一致了,此时我们知道,你肯定要再把A的新代码拿过来替换掉你手上的旧通讯录功能代码, 现在人少,3个人之间沟通很简单

Oracle 数据库实现数据合并:merge

喜欢而已 提交于 2020-12-04 23:58:44
1、使用update进行数据更新   1)最简单的更新   update tablea a set a.price=1.00   2)带条件的数据更新   update tablea a set a.price = 2.00 where a.id='02'   3)两张表关联更新为固定值   update tablea a set a.price =3.00 where exits(select 1 from tableb b where a.id=b.id)   将a,b相同id的 a表的price 字段更新为 3.00   4)关联更新数据来源第二张表   update tablea a set a.price=(select price from tablec c ) where exits (select 1 from tablec c where a.id=c.id)   将a表price字段 更新为 id和c表id相同的数据   5)关联更新多个字段   update tablea a set ( a.price,a.type)=(select c.price,c.type from tablec c ) where exits (select 1 from tablec c where a.id=c.id)   更新a表的price 和 type 字段     6

flutter 融云 sdk

…衆ロ難τιáo~ 提交于 2020-12-04 13:36:08
###flutter 融云 sdk ###前言 1.集成 flutter 融云 sdk ,需要一个稳定的 flutter 环境,能正常的创建和运行项目。 2.前期准备融云官网申请开发者账号 通过管理后台的 "基本信息"->"App Key" 获取 AppKey 3.通过管理后台的 "IM 服务"—>"API 调用"->"用户服务"->"获取 Token",通过用户 id 获取 IMToken 4.我知道没图是骗不到人的。先放图,大家看一下最终实现的效果。 集成 sdk 依赖 IM Flutter plugin在项目的 pubspec.yaml 中写如下依赖。 dependencies: flutter: sdk: flutter rongcloud_im_plugin: ^4.0.3 然后在项目路径执行 flutter packages get 来下载 Flutter Plugin。 我们写 2 个 button 和 2 个 text ,分别用来实现 init 和 connect 的事件和状态。 4.初始化 SDK RongIMClient.init(RongAppKey); 5.连接 IM RongIMClient.connect(RongIMToken, (int code, String userId) { print('connect result ' + code

Python爬虫框架

会有一股神秘感。 提交于 2020-12-02 03:38:32
本文章的源代码来源于 https://github.com/Holit/Web-Crawler-Framwork 一、爬虫框架的代码 1 import urllib.request 2 from bs4 import BeautifulSoup 3 import re 4 import time 5 import _thread 6 7 # Input your Url here#################################### 8 BaseURL = ' 127.0.0.1/ ' 9 # ######################################################## 10 TaxURL = " .html " 11 12 # Input your data-saving path ############################ 13 SavePath = "" 14 # ######################################################## 15 16 # Input your threads count ############################### 17 thread_count = 1 18 # ############################

MariaDB Server MiniFest Wed 9 Dec 2020

ぃ、小莉子 提交于 2020-12-01 14:50:49
New MariaDB releases come with regular intervals. Releasing a new version is a balance between new functionality and bugfixes on one side, and stability on the other. How do we get optimum quality for the releases? And what exactly is quality, from the point of view of DBAs and developers that use MariaDB Server? That’s the setting of our MariaDB Server MiniFest in two weeks. New MariaDB Releases: The DBA & Developer Experience This MiniFest is called “mini” for three key reasons: 1.It has just one topic 2.It is much shorter, less than half a day 3.It happens just in one time zone But it still

shell脚本显示字体颜色

烂漫一生 提交于 2020-11-29 04:33:56
shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e   格式如下:   echo -e "\033[字背景颜色;文字颜色m字符串\033[0m"   例如:   echo -e "\033[41;36m something here \033[0m"   其中41的位置代表底色, 36的位置是代表字的颜色 注:   1、字背景颜色和文字颜色之间是英文的""   2、文字颜色后面有个m   3、字符串前后可以没有空格,如果有的话,输出也是同样有空格   特效可以叠加, 需要使用“;”隔开 ,例如:闪烁+下划线+白底色+黑字为 \033[5;4;47;30m闪烁+下划线+白底色+黑字为\033[0m 输出特效格式控制: \ 033 [0m 关闭所有属性 \ 033 [1m 设置高亮度 \ 03 [4m 下划线 \ 033 [5m 闪烁 \ 033 [7m 反显 \ 033 [8m 消隐 \ 033 [30m -- \ 033 [37m 设置前景色 \ 033 [40m -- \ 033 [47m 设置背景色 例    echo -e " \033[31m 红色字 \033[0m "    echo -e " \033[34m 黄色字 \033[0m "    echo -e " \033[41;33m 红底黄字 \033[0m "    echo -e "

torch same padding

醉酒当歌 提交于 2020-11-27 09:04:38
CNN中,增加Padding过后,为我们带来的那些负面影响。 如上图所示: 第一行为普通3x3卷积,步长1,padding 0, 第二行为普通3x3卷积,步长1,padding 1, 第三行为膨胀3x3卷积,dilation rate=3,步长1,padding 3. 上图箭头右向所指,为cnn底层在caffe 和darknet的底层实现,用c或c++,至于pytorch和tensorflow 是否也是这样实现cnn我不清楚,但是目前来讲,有效实现卷积的也就3种方式, im2col(上图) ,winograd, FFT,但是还是im2col比较常见,winograd好像是商汤最近几年提出来的,通过特殊数学计算方式,减少计算量,目前该方法被应用在腾讯移动端深度学习框架NCNN中,至于FFT,还没见到用在深度学习种。 至于为什么使用im2col,这还是贾清扬大神在写caffe时提出来的,因为图像中,一个块内的像素点在内存中是地址不连续的,所以对于同一个块内的像素想要缓存到cache上,可能出现多次内存访问,效率极低,所以设计出im2co方式,提前将需要计算的像素点放在连续地址上。 因此,对于同一图像,除了原始图像在内存中占空间,使用im2col又会消耗另一份空间。 如上图所示,对于8x8的图像: 不加padding,计算量为9x36=324, 内存消耗为8x8=64,有效内存为64

LeetCode 75. Sort Colors (颜色分类):三路快排

霸气de小男生 提交于 2020-11-27 02:56:37
Given an array with n objects colored red, white or blue, sort them in-place so that objects of the same color are adjacent, with the colors in the order red, white and blue. Here, we will use the integers 0, 1, and 2 to represent the color red, white, and blue respectively. Note: You are not suppose to use the library's sort function for this problem. Example: Input: [2,0,2,1,1,0] Output: [0,0,1,1,2,2] Follow up: A rather straight forward solution is a two-pass algorithm using counting sort. First, iterate the array counting number of 0's, 1's, and 2's, then overwrite array with total number

Codeforces 888F

有些话、适合烂在心里 提交于 2020-11-26 03:57:20
Problem Link: http://codeforces.com/problemset/problem/888/F Problem Statement: F. Connecting Vertices time limit per test: 4 seconds memory limit per test: 256 megabytes input: standard input output: standard output There are n points marked on the plane. The points are situated in such a way that they form a regular polygon (marked points are its vertices, and they are numbered in counter-clockwise order). You can draw n  - 1 segments, each connecting any two marked points, in such a way that all points have to be connected with each other (directly or indirectly). But there are some