Intrinsic

今天,我辞去了亚马逊年薪 50 万美金的工作!

人盡茶涼 提交于 2021-01-30 14:51:20
作者 | Daniel Vassallo 出品 | CSDN 博客 CSDN 编者按: 亚马逊作为全球顶尖科技公司之一,是无数技术人与从业者向往的地方。本文作者在亚马逊从初级开发者做起,通过短短三年的时间达成两次晋升,并荣升至高级工程师。然而,在即将实现年薪百万之际,他毅然决然地选择了离职,这究竟是什么原因?在职业生涯中,你是否也会有这样的困扰? 英文:Only Intrinsic Motivation Lasts 链接:https://danielvassallo.com/only-intrinsic-motivation-lasts/ 作者 | Daniel Vassallo 译者 | 弯月 责编 | 屠敏 声明:本文为 CSDN 翻译,已获作者 Daniel Vassallo 授权,转载请注明来源出处。 最近,我从亚马逊辞职了,放弃了长达八年之久的安逸工作。尽管在亚马逊工作期间,我得到了极大的赏识和称赞,且屡屡获得升职和加薪,但我没有足够的动力再坚持一年了。 我将全部时间都花在了AWS开发工具上。 我非常喜欢这个领域,所以即便为之付出毕生的心血我也在所不惜。 入职亚马逊的时候,我只是一名初级开发人员。然而,在接下来的三年多里,我获得了两次晋升,荣升为高级工程师。如果今年我继续留在亚马逊的话,那么基本上就可以晋升到首席工程师了。有人对我说,我在这家公司的前途一片光明。 这些年来

Android 动态设置TextView的drawableLeft等属性

依然范特西╮ 提交于 2021-01-12 08:39:07
首先,我们在开发过程中,会经常使用到android:drawableLeft="@drawable/ic_launcher"这些类似的属性: 关于这些属性的意思,无非是在你的textView文本的上下左右处添加一个图片。比如下面这么一段代码: < TextView android:id= "@+id/text_drawable" android:layout_width= "wrap_content" android:layout_height= "wrap_content" android:text= "@string/hello_world" android:drawableLeft= "@drawable/ic_launcher" android:drawablePadding= "4dp" /> 它设置了在文本的左边,显示一个小图标,效果如下: 而在一些情况下,我们需要在动态在代码中设置文本周围的图标,那该如何呢,首先,我们看下TextView提供了哪些方法: 乍眼看去,挺多方法的,好,我们主要介绍setCompoundDrawables和setCompoundDrawablesWithIntrinsicBounds。 手工设置文本与图片相对位置时,常用到如下方法: setCompoundDrawables(left, top, right, bottom

java 线程安全和不安全

限于喜欢 提交于 2020-12-31 12:17:55
<div class="markdown_views"> <p><strong>线程安全</strong>就是多线程访问时,采用了<strong>加锁机制</strong>,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。(Vector,HashTab;le) <br> <strong>线程不安全</strong>就是<strong>不提供数据访问保护</strong>,有可能出现多个线程先后更改数据造成所得到的数据是脏数据。(ArrayList,LinkedList,HashMap等)</p> <h2 id="概念"><a name="t0"></a>概念:</h2> <p>如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且<strong>其他的变量的值也和预期的是一样的</strong>,就是线程安全的。或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题。线程安全问题都是<strong>由全局变量及静态变量</strong>引起的。 <br> 若每个线程中对全局变量、静态变量<strong>只有读操作</strong>

一文带你了解传统手工特征的骨龄评估方法的发展历史

北战南征 提交于 2020-12-22 19:29:19
摘要 :基于传统手工特征的骨龄评估方法主要包括预处理、关键区域检测、手骨分割、特征提取、测量五个步骤。 基于传统手工特征的骨龄评估方法主要包括预处理、关键区域检测、手骨分割、特征提取、测量五个步骤,见图1,以下为该类方法的发展历史介绍。 图1 前人基于手工特征的骨龄评估方法的主要技术路线 1989年,Michael和Nelson共同开发了世界上第一套基于模型的半自动化手骨测量系统,并将其命名为HANDX。该系统包含了三个主要模块:预处理、分割和测量。首先构造直方图模型用于增强图像,使用高斯分布函数将图像大致分为三类:背景,软组织和骨骼;然后,采用自适应轮廓逼近算法逐步勾勒出每块骨骼的形状;最后,通过找到每块骨骼的长轴和短轴来计算测量值。HANDX系统需要基于手的位置作为先验知识输入到系统中,并未进行大规模的数据测试。 1991年,Pietka等人提出了一种基于测量指骨长度来估计骨龄的简便方法。通过对二值化后的图像缩小范围,确定大致的指骨及其骨骺感兴趣区(phalangeal ROI,PROI)并对图像进行旋转,获得大致PROI垂直正位X光片,使用Sobel梯度算子进行边缘检测,根据经验选择合适的阈值,从而获得指骨及其骨骺的边缘图。然后根据中指位于图像最顶端的特性,找出中指的近端指骨、中端指骨和远端指骨并测量他们的长度。通过查阅中指的标准指骨长度表,对应给出大致估计的骨龄

EEMD算法

荒凉一梦 提交于 2020-12-16 10:51:20
EEMD 基本原理 EMD 基本原理 希尔伯特黄变换( Hilbert-Huang Ttansform,HHT )作为 一种信号数据分析方法,由经验模态分解( EMD )和希尔伯特谱 分析( Hilbert Spectrum Analysis,HSA )组成。经验模态分解 是希尔伯特黄变换的重要组成部分,能够很好地处理非线性、 非平稳信号,与小波变换等时频分析方法相比,这种方法有许 多优点。小波变换要求输入的信号是平稳的,否则会产生虚假 的谐波,而且小波基函数的选择对结果也是有影响的,而 EMD 方法则不存在上述问题。由 EMD 分解,将信号中不同尺度(频 率)的波动或趋势项逐级分解而得到一系列包含了原信号不同 时间尺度、局部特征信息的固有模态函数( Intrinsic Mode Function,IMF ,显示出信号数据内在的振荡模式。目前已有 很多学者从不同方面对EMD进行了研究,应用在信号分析、机 械故障诊断、生物医学、气象环境、降雨径流等方面。但 EMD 仍然存在一定的缺陷,即在分解后的各IMF分量中有模态混 叠现象出现。而集合经验模态分解法( EEMD )作为 EMD 的改 进方法,对这一缺陷进行了弥补,能更好地对数据进行分析。 作为 EMD 的改进方法, EEMD 的基本原理与 EMD 相似。 EEMD 的基本思路[ 9]是:在信号中加入高斯白噪声,组成一个 混合序列

2020 Domain Adaptation 最新论文:插图速览(三)

生来就可爱ヽ(ⅴ<●) 提交于 2020-12-01 10:32:44
2020 Domain Adaptation 最新论文:插图速览(三) 目录 Learning to Combine: Knowledge Aggregation for Multi-Source Domain Adaptation Every Pixel Matters: Center-aware Feature Alignment for Domain Adaptive Object Detector A Balanced and Uncertainty-aware Approach for Partial Domain Adaptation Spatial Attention Pyramid Network for Unsupervised Domain Adaptation Two-phase Pseudo Label Densification for Self-training based Domain Adaptation Learning to Detect Open Classes for Universal Domain Adaptation Online Meta-Learning for Multi-Source and Semi-Supervised Domain Adaptation On the Effectiveness of Image

DeFi新玩法: 如何利用DPI指数基金获得更多收益?

倖福魔咒の 提交于 2020-11-17 02:57:30
DeFi Pulse Index是DeFi的ETF指数基金,里面含有12种DeFi成分代币,记得我们在今年10月初的文章 《INDEX猫头鹰:建设TVL一样的DeFi风向标》 中开始关注DPI时,DPI吸纳了约1000万美元的DeFi投资资金,这次的内容更新中看到DPI篮子中已经吸纳了2000万美元的资金—DeFi指数基金已经在快速成长中了。 我们之所以关注DPI是因为我们认为ETF指数基金是面向个人投资者的友好投资工具,在传统金融行业中ETF的市场空间巨大,即使靠较低的手续费基金经理也获得不菲的收入—这也正是我们考虑首先将ETF通过 UBI.city 接入CirclesUBI的原因,而UBI.city带来的组织治理力量将可能进一步加速DeFi ETF、DeFi的发展。 除了与传统金融ETF的相似作用外,DeFi又具有流动性挖矿获得收益的特性、抵押借贷的便利机制,所以作为DeFi ETF的DPI可以从这两方面获得更多收益,加之ETF的普适性,这可能会成为一种新趋势。 一种基于指数基金的 内部和外部 同时获得最大化收益的方法。 介绍 这是一种我们可以组合多个DeFi元素,以产生更复杂但又具有单个元素属性DeFi的方式。 这里提出了一种我们的系统组合设想,但是由于这是DeFi所以也可以根据偏好选择单独使用。 组合成分 该系统中包含三个关键的DeFi组件: 基于市值设计的指数基金—DPI

用NEON intrinsic实现RGB转YUV420SP(NV12)

馋奶兔 提交于 2020-10-27 03:30:04
如题,现在要把RGB的格式转成YUV格式。 1. 数据的排列方式   先来看看两种数据在内存里是按什么方式排列的 1.1 RGB的排列   如图所示,1组RGB表示1个像素的颜色,每个像素依次排列。图中有8组RGB数据,即8个像素点。 1.2 YUV的排列   如图所示,这里是 YUV420SP(NV12) 的排列方式,YUV的比例为 Y:U:V=4:1:1 。Y代表像素点的明亮度(灰阶),图中有48个Y,即48个像素点。UV代表像素点的色度,1个U和1个V组合到一起能表示一种颜色,在YUV420格式里,1组UV决定了4个像素点的颜色,其对应关系如图所示。U和V加起来的数据量是Y的一半。   YUV的图片还有许多种格式,请参考其它资料。   实际上它在内存里面是按照 Y 1 Y 2 Y 3 Y 4 Y 5 Y 6 Y 7 Y 8 U 1 V 1 U 2 V 2 Y_1Y_2Y_3Y_4Y_5Y_6Y_7Y_8U_1V_1U_2V_2 Y 1 ​ Y 2 ​ Y 3 ​ Y 4 ​ Y 5 ​ Y 6 ​ Y 7 ​ Y 8 ​ U 1 ​ V 1 ​ U 2 ​ V 2 ​ 的顺序排列的,如下图所示。存储的时候数据是连续排列的,解析的时候加上宽和高的信息才成为了一张矩形图片。写代码计算地址偏移的时候要注意行和列的关系。 2. RGB与YUV的转换公式 不知道哪里来的公式

SSE图像算法优化系列二十四: 基于形态学的图像后期抗锯齿算法--MLAA优化研究。

与世无争的帅哥 提交于 2020-10-26 21:32:57
偶尔看到这样的一个算法,觉得还是蛮有意思的,花了将近10天多的时间研究了下相关代码。 以下为百度的结果:MLAA全称Morphological Antialiasing,意为形态 抗锯齿 是AMD推出的完全基于CPU处理的 抗锯齿 解决方案。对于游戏厂商使用的MSAA 抗锯齿 技术不同,Intel最新推出的MLAA将跨越边缘像素的前景和背景色进行混合,用第2种颜色来填充该像素,从而更有效地改进图像边缘的变现效果,这就是MLAA技术。   其实就是这个是由Intel的工程师先于2009年提出的技术,但是由AMD将其发发扬光大。   整个算法的渲染工作全部是交给 CPU 来完成,在这里GPU的作用只是将最终渲染出来的画面传给显示器。所以这项技术最大的优势是可以让GPU不再承担 抗锯齿 的工作,大大降低GPU在运行3D游戏时的压力。相对于以前的 抗锯齿 技术,MLAA采用Post-filtering(后滤波)机制,好处就在于可以按照颜色是否连续来驱动抗锯齿,而以前只能在初始边缘来抗锯齿。   也就是说这项技术可以在后期来修补那些由锯齿的图,因此我们可以想到其另外一些用处,后续会对这方面进行一个简单的扩展。    如上面两图,左侧图中树叶的边缘有明显的锯齿状图像,而右侧为经过MLAA算法处理后的图,边缘光滑了许多,而且其他部位未受任何的画质影响。   关于这方面的论文和资料主要有

TypseScript享元模式

北城以北 提交于 2020-10-25 04:03:02
// 享元模式 就是 对象池 共享对象 abstract class AA { protected intrinsic: string = null; //内部的 protected extrinsic: string = null; //外部的 constructor(extrinsic: string) { YBLog.log("Test", " 17 构造函数"); this.extrinsic = extrinsic; } abstract operate(): string; public getIntrinsic() { return this.intrinsic } public setIntrinsic(intrinsic: string) { this.intrinsic = intrinsic; } } class aaa extends AA { operate(): string { return "AA "; } } //具体的构件 class Factory { private myMap = new Map(); public getSingleInstance(key: string): AA { let ss: AA = null; if (this.myMap.has(key)) { ss = this.myMap.get(key); YBLog