C3D

英语对程序员来说重要吗

女生的网名这么多〃 提交于 2020-05-01 08:51:09
1. 前言 作为一个软件开发者,往往强调了编程基础、框架使用的熟练度。我认为也应该包括英语的读写能力,如果你想突破你的天花板,这是一个必须要面对的选项。今天赶在五一回家前简单写一点关于我自己的一些感受。 可能有些人不同意我的看法。认为这个时代中文的技术资料已经非常丰富了,甚至自然语言翻译也进化到了能听懂人话的地步了。我为什么要去花费精力去学英语? 2. 编程圈现状 其实你就是会英语也不会直接提高你的技术水平和扩宽你的知识面。程序员需要长期的、持续的学习技术。但是开发技术圈子目前对于国内还是一个很尴尬的局面,几乎所有的生态技术和主流技术社区都是国外主导的,谷歌、微软、亚马逊、脸书等互联网巨头把持着技术的发展风向和技术标准。改变这一现状还需要很长的时间。很多国内的项目拿到 Apache 软件基金会去孵化都要对技术文档注释进行英文标准化。 3. 消息不对称 通常你获得的技术信息都是滞后的,可能你学的东西你都不知道它快“黄”了。从业之初,我参与的项目中需要使用到一个单点登录组件,国内的文档倒是挺多的。但是我在后面的扩展中发现这个项目的作者因为其它原因放弃维护了。这就造成了我不少的困扰。 还有一部分消息是一些前沿技术专家翻译过来或者布道而来。有可能出于商业的考虑有所保留或者理解上存在偏差,很容易造成信息不对称,也就是你理解的别人的理解并不是作者的意图。我相信这种情况很多人都感同身受

C3D使用指南

血红的双手。 提交于 2020-04-27 09:12:46
C3D GitHub项目地址: https://github.com/facebook/C3D C3D 官方用户指南: https://goo.gl/k2SnLY 1. C3D特征提取 1.1 命令参数介绍 官方GitHub项目上同时提供了C3D-v1.0和C3D-v1.1两个版本,以下方法适用于v1.0 官方提供的特征提取demo路径为~/C3D-master/C3D-v1.0/examples/c3d_feature_extraction 在这个路径下,执行c3d_sport1m_feature_extraction_video.sh或c3d_sport1m_feature_extraction_frm.sh可以分别启动从视频提取特征和从图片提取特征的demo 打开c3d_sport1m_feature_extraction_video.sh文件,出去一些用来生成文件夹的指令,可以看到启动C3D的命令如下: GLOG_logtosterr= 1 ../../build/tools/extract_image_features.bin prototxt/c3d_sport1m_feature_extractor_video.prototxt conv3d_deepnetA_sport1m_iter_1900000 0 50 1 prototxt/output_list_video

【监控实践】使用 wevtutil 获取windows系统日志

大城市里の小女人 提交于 2020-04-26 08:24:02
有时项目中可能会用到一些日志的配置信息。本文简单介绍一下安全日志的相关信息获取。   首先,需要获取日志类别,用来进行之后本类别的日志详细信息查询:    wevtutil el   其中security即为安全日志类别   wevtutil 命令参数如下 命令 意义 注释 el enum-logs 列出日志名称 gl get-log 获取日志配置信息 sl set-log 修改日志配置 ep enum-publishers 列出事件发布者 gp get-publisher 获取发布者配置信息 im install-manifest 从清单中安装事件发布者和日志 um uninstall-manifest 从清单中卸载事件发布者和日志 qe query-events 从日志或日志文件中查询事件 gli get-log-info 获取日志状态信息 epl export-log 导出日志 al archive-log 存档导出的日志 cl clear-log 清除日志   导出 安全 日志的命令为:    wevtutil epl security d:\security.evtx   该命令将安全日志信息导出到d盘下的security.evtx文件   查询 安全 日志的配置信息命令如下:    wevtutil gl security   结果 (包含但不是全部) 属性如下:   

java高并发系列

半城伤御伤魂 提交于 2020-04-22 05:18:07
这是java高并发系列第17篇。 本文主要内容: 介绍CyclicBarrier 6个示例介绍CyclicBarrier的使用 对比CyclicBarrier和CountDownLatch CyclicBarrier简介 CyclicBarrier通常称为循环屏障。它和CountDownLatch很相似,都可以使线程先等待然后再执行。不过CountDownLatch是使一批线程等待另一批线程执行完后再执行;而CyclicBarrier只是使等待的线程达到一定数目后再让它们继续执行。故而CyclicBarrier内部也有一个计数器,计数器的初始值在创建对象时通过构造参数指定,如下所示: public CyclicBarrier(int parties) { this(parties, null); } 每调用一次await()方法都将使阻塞的线程数+1,只有阻塞的线程数达到设定值时屏障才会打开,允许阻塞的所有线程继续执行。除此之外,CyclicBarrier还有几点需要注意的地方: CyclicBarrier的计数器可以重置而CountDownLatch不行,这意味着CyclicBarrier实例可以被重复使用而CountDownLatch只能被使用一次。而这也是循环屏障循环二字的语义所在。 CyclicBarrier允许用户自定义barrierAction操作,这是个可选操作

java高并发系列

戏子无情 提交于 2020-04-22 04:58:47
这是java高并发系列第16篇文章。 本篇内容 介绍CountDownLatch及使用场景 提供几个示例介绍CountDownLatch的使用 手写一个并行处理任务的工具类 假如有这样一个需求,当我们需要解析一个Excel里多个sheet的数据时,可以考虑使用多线程,每个线程解析一个sheet里的数据,等到所有的sheet都解析完之后,程序需要统计解析总耗时。分析一下:解析每个sheet耗时可能不一样,总耗时就是最长耗时的那个操作。 我们能够想到的最简单的做法是使用join,代码如下: package com.itsoku.chat13; import java.util.concurrent.TimeUnit; /** * 微信公众号:javacode2018,获取年薪50万课程 */ public class Demo1 { public static class T extends Thread { //休眠时间(秒) int sleepSeconds; public T(String name, int sleepSeconds) { super(name); this.sleepSeconds = sleepSeconds; } @Override public void run() { Thread ct = Thread.currentThread(); long

Springboot2 Tests

非 Y 不嫁゛ 提交于 2020-04-22 01:50:56
import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.MediaType; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; @RunWith(SpringRunner.class)

OSChina 周二乱弹 —— 宇航员也骑自行车上班啊,别耽误了火箭发射

我与影子孤独终老i 提交于 2020-04-21 02:28:31
Osc乱弹歌单(2020)请戳( 这里 ) 【今日歌曲】 @ 薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《Snowflakes》- 京田誠一 手机党少年们想听歌,请使劲儿戳( 这里 ) @ FrendLin :周末在家怎么持续学习呢 学什么习啊, 你看看人家老罗, 学学人家直播带货。 “原来老罗才是破坏大环境的人。” 你在家想好好学习也学不下去啊, @ 睡过鹿晗的男人 :窗外的朋友一直不肯走怎么办? 其实这种你完全可以手工, 不用ps做, “房间有了陪伴,房主感到了温暖。” 完全不用鬼吓唬我, 你一给我说马上周一要上班了, 我浑身就凉透了, 感觉第一天上班会迟到, @ xiaoshiyue :据说现在的公交限速30??? 我还不如骑着我得自行车去呢, “宇航员也骑自行车上班啊,别耽误了火箭发射。” 第一天上班这迟到的感觉真熟悉! @ 浪浪不浪 :时隔90天返岗,感觉跟新入职一样 返岗以后, 只有上班摸鱼的感觉还是熟悉异常, “我在家躺床上就睡不出这种感觉呢!” 就在你们摸鱼偷懒的时候, 单位老板已经开始亲历亲为了。 @ 为中华之崛起而上osc :绝世好老板,身价上亿还亲力亲为。 这翻墙都身价暴增了, 哈哈哈……这段时间的新闻真魔幻, 包括出狱被直播签约的, 翻墙身价大涨的。 美帝那边还在拯救假药停。 @ 麦琪 :万恶的美帝 给他发钱么? @ 巴拉迪维 :万能回复用语

5个有趣的Python小知识,结果令人意外

谁说我不能喝 提交于 2020-04-12 18:37:51
1 字符串驻留 如果上面例子返回True,但是下面例子为什么是False: 这与Cpython 编译优化相关,行为称为字符串驻留,但驻留的字符串中只包含字母,数字或下划线。 2 相同值的不可变对象 这是因为具有相同值的不可变对象在Python中始终具有相同的哈希值 由于存在哈希冲突,不同值的对象也可能具有相同的哈希值。 3 对象销毁顺序 创建一个类SE: 创建两个SE实例,使用is判断: 创建两个SE实例,使用id判断: 调用id函数, Python 创建一个 SE 类的实例,并使用id函数获得内存地址后,销毁内存丢弃这个对象。 当连续两次进行此操作, Python会将相同的内存地址分配给第二个对象,所以两个对象的id值是相同的。 但是is行为却与之不同,通过打印顺序就可以看到。 4 充分认识for   为什么不是执行一次就退出? 按照for在Python中的工作方式, i = 10 并不会影响循环。range(5)生成的下一个元素就被解包,并赋值给目标列表的变量i. 5 认识执行时机 g为生成器,list(g)后返回[1,3,5],因为每个元素肯定至少都出现一次。所以这个结果这不足为奇。但是,请看下例: 请问,list(g)等于多少?这不是和上面那个例子结果一样吗,结果也是[1,3,5],但是: 这有些不可思议 原因在于:生成器表达式中, in 子句在声明时执行,

讨厌数学的我,竟然在 VR 游戏里听老外讲了一堂数学课

谁说我不能喝 提交于 2020-04-09 06:20:39
摘要 今年最火的 VR 游戏被这个老师当成了教学现场。 数学和物理曾经是我最害怕的两门课,我不知道有多少人和我一样看到那些奇怪的公式就会头疼冒汗,毕业之后,很多数学知识早已还给了老师,而且我相信和我有相同经历的人或许不在少数。 不过最近,一个叫查尔斯·库伯(Charles Coomber)的人却再次唤起了我对数学的记忆,因为这个来自加州 Chula Vista 学校的数学老师不但在今年最火的 VR 游戏《半衰期:爱莉克斯》(Half-Life: Alyx)里上了一堂别开生面的数学课,还为我们解锁了特殊时期老师给学生上课的最正确方式,不妨先来看看下面这段视频。 在 VR 游戏中教学 关于《半衰期:爱莉克斯》,我有必要做一个简单说明,这其实并不是教育类游戏,而是一款结合解密、冒险的 VR 射击类游戏,由著名游戏公司 Valve(也就是大名鼎鼎的 V 社)制作。凭借出色的剧情和以假乱真的 VR 沉浸感,它在今年 3 月 24 日正式推出后获得了玩家和媒体清一色的好评,而查尔斯·库伯就是众多玩家中的一员。 在游戏一个破旧温室的房间中,遗落了一些马克笔和黑板擦,而库伯正是将房间的玻璃作为教室里的黑板,将不同颜色的马克笔作为粉笔来给大家上课。如你所见,这都是可交互的,当你用笔写下文字内容时,它们看起来和现实中几乎没什么区别。 而当他写错了东西要擦掉时,我们看到了游戏中甚至还有黑板擦。

robot framerk -String

核能气质少年 提交于 2020-03-24 16:20:46
3 月,跳不动了?>>> String Library version: 3.0.4 Library scope: global Named arguments: supported Introduction A test library for string manipulation and verification. String is Robot Framework's standard library for manipulating strings (e.g. Replace String Using Regexp , Split To Lines ) and verifying their contents (e.g. Should Be String ). Following keywords from BuiltIn library can also be used with strings: Catenate Get Length Length Should Be Should (Not) Be Empty Should (Not) Be Equal (As Strings/Integers/Numbers) Should (Not) Match (Regexp) Should (Not) Contain Should (Not) Start With