开发者头条 - RSS Feed

Latest articles

通俗易懂的 ReentrantLock,不懂你来砍我

前言自己开的坑,跪着也要填完,欢迎来到Java并发编程系列第五篇ReentrantLock,文章风格依然是图文并茂,通俗易懂,本文带读者们深入理解ReentrantLock设计思想。如果读过阿星写的前篇万字长文 | 16张图解开AbstractQueuedSynchronizer,本篇的效果拉满,未读过也没关系,依然能get到ReentrantLock原理。认识下ReentrantLock阿星先带读者们和ReentrantLock见个面,简单的认识下什么是ReentrantLock。ReentrantLock是可重入的互斥锁,虽然具有与synchronized相同功能,但是会比synchronized更加灵活(具有更多的方法)。ReentrantLock底层基于AbstractQueuedSynchronizer实现,AbstractQueuedSynchronizer在前一篇已经详细解剖过了,本文不做过多描述,但是会简单的介绍下,照顾小白。AbstractQueuedSynchronizer抽象类定义了一套多线程访问共享资源的同步模板,解决了实现同步器时涉及的大量细节问题,能够极大地减少实现工作,用大白话来说,AbstractQue...

3 年 3 款产品百万级增长方法论

作者:xingtan,腾讯 PCG 产品策划做增长工作数年,从工具产品、内容产品再到社交产品,最终都收获了百万级的增长。这个过程中我深感增长方法之可拓展性:无论是做什么产品,都离不开做留存、做规模、做营收;通过增长这套科学的方法,我们可以快速抓住关键点,并且高容错地落地。本文会通过实战案例剖析相关方法论,希望和大家一起探讨。本文内容主要分为三部分:1、我的增长通用方法论 — 如何确认核心增长点?如何输出关键增长策略?如何进行规模化增长?2、我的增长实验案例 — 如何进行 AB 实验验证?以随手记、哔哩哔哩漫画、水印相机等产品为案例进行分享3、我对产品增长的一些思考一、我的增长通用方法论通过我的增长工作经历,我会提出:一种视角两个模型渠道三步 的方法论,能够快速对一个产品进行拆解分析,提出策略方案,完成增长。在陈述方法论时,我也会结合相关产品案例背景,方便大家理解。1、如何确认核心增长点:透过定性结合定量的视角,精准界定核心增长点以随手记为案例:随手记是一款个人记账理财的...

数据地图?地图数据?傻傻分不清楚

数据地图在中台的位置既然郭同学问的是数据中台中的数据地图,那就先得看看数据地图在数据中台处于什么位置。这里借用一下数澜的数据中台全景图:注意看上图中间标红的位置,在数澜的数据中台架构中,数据地图处于数据资产治理部分。资产管理具体负责什么呢?我们再看看数澜的这张图:数据资产化的具体内容是:数据规范定义、可视化数据建模、数据质量保障、全链路血缘分析、掌握资产现状和数据安全合规。其中全链路血缘分析的作用是:“支持通过血缘分析、影响性分析,找出上下游表及若一张表更改之后对下游表的影响。通过数据链路图,用户能够清晰查看数据从哪里来,被用到哪里去。”那能不能再具体一些?数据地图是干啥的?我们再看看京东的数据平台门户,其中也有数据地图,其位置是在元数据应用层,同级别的应用有:元数据体检、关联分析、影响分析、数据浏览、血缘分析和数据检索。很明显,数据地图是给使用数据的同学使用的,甚至是只给数据开发的同学使用的。其核心功能是用来找数据的。我们再翻到亚信科技的数据事业部总经理高伟写的《数据资产管理》一书中,第三章“治理管控:数据资产管理的基础所在”,第六节“建立数据地图,盘活数据资产”,里面写的很清楚:数据地图是一种图形化的数据资产管理工具,它提供了多层...

高效线上问题排查:套路化和工具化

作者简介 丰富,携程高级技术专家,在性能优化、问题排查方面有较多的研究。一、前言线上问题排查相比于coding,是一个低频的工作,很多人不会经常遇到。一旦需要进行问题排查的时候,往往是重要且紧急的,因此问题排查的效率,就显得尤为重要。有些线上问题,比较直观,比如磁盘使用率高、网络流量高这种,借助合适的工具很快能定位到原因;但对于一些复杂的问题,如系统Load高、RSS占用高、内存溢出等,需要结合多方面的数据才能定位到原因。这时候,需要有正确的解题思路,并辅以合适的工具,才能高效地解决问题。目前业界排查问题的优秀工具还是挺多的,比如国内阿里开源的Arthas、PerfMa开源的为终结性能问题而生的xPocket,Java官方的JMC(JDK Mission Control)、Eclipse的MAT(Memory...

美团 App 页面视图可测性改造实践

美团App的页面特点自动化测试实施中的技术挑战页面视图可测性改造-XraySDK定位方案对比视图信息的获取和存储-XrayDumper视图信息的输出-XrayServerSDK整体功能结构视图信息的增强动态布局自动化的收益未来展望使用视图解析原理解决WebView元素定位视图可测性改造更多的应用场景美团App的页面特点对于不同的用户,美团App页面的呈现方式其实多种多样,这就是所谓的“千人千面”。以美团首页的“猜你喜欢”模块为例,针对与不同的用户有单列、Tab、双列等多种不同形式。这么多不同的页面样式需求,如果要在1天内时间内完成开发、测试、上线流程,研发团队也面临着很大的挑战。所以测试工程师就需要重度依赖自动化测试来形成快速的验收机制。图1 美团App首页多种页面布局样式自动化测试实施中的技术挑战接下来,本文将会从页面元素无法定位、Appium元素定位的原理、AccessibilityNodeInfo和Drawable等三个维度进行阐述。页面元素无法定位图2...

RefineMask:实例分割,使用细粒度信息增强性能

计算机网络:TCP 协议原理总结

本文总结 TCP 协议的原理,包括: 本文笔记目的,内容较多。 TCP 协议非常复杂, 读完本文需要许多耐心 。 网络是不可靠的 ¶ 计算机网络是不可靠的,存在 丢包、乱序、延时 。 这是众多 TCP 协议机制的设计出发点,万恶之源,将贯穿全文。 TCP 概念和特点 ¶ TCP 协议全称 传输控制协议, 是一种...

MySQL 那些常见的错误设计规范

依托于互联网的发达,我们可以随时随地利用一些等车或坐地铁的碎片时间学习以及了解资讯。同时发达的互联网也方便人们能够快速分享自己的知识,与相同爱好和需求的朋友们一起共同讨论。但是过于方便的分享也让知识变得五花八门,很容易让人接收到错误的信息。这些错误最多的都是因为技术发展迅速,而且没有空闲时间去及时更新已经发布的内容所导致。为了避免给后面学习的人造成误解,我们今天来看一看 MySQL 设计规范中几个常见的错误例子。主键的设计错误的设计规范:主键建议使用自增 ID 值,不要使用 UUID,MD5,HASH,字符串作为主键这个设计规范在很多文章中都能看到,自增主键的优点有占用空间小,有序,使用起来简单等优点。下面先来看看自增主键的缺点:自增值由于在服务器端产生,需要有一把自增的 AI 锁保护,若这时有大量的插入请求,就可能存在自增引起的性能瓶颈,所以存在并发性能问题;自增值做主键,只能在当前实例中保证唯一,不能保证全局唯一,这就导致无法在分布式架构中使用;公开数据值,容易引发安全问题,如果我们的商品...

iOS 程序员所有的资源

对市面上几乎所有和 iOS 开发相关的资源文档进行重新整理、融合和补充,更适合国内开发者。 Code ...

盘点 7 月份 yyds 的开源项目

Discover, share and read the best on the web

Subscribe to RSS Feeds, Blogs, Podcasts, Twitter searches, Facebook pages, even Email Newsletters! Get unfiltered news feeds or filter them to your liking.

Get Inoreader
Inoreader - Subscribe to RSS Feeds, Blogs, Podcasts, Twitter searches, Facebook pages, even Email Newsletters!