精品阅读

如何设计良好的技术项目文档结构

前言很多技术同学在日常的工作中接触到的大多是TOC的业务或者对外业务,由于大多数企业的主要营收是来自外部用户,因此内部的一些项目不会有太规范的流程和太高的要求标准。什么高可用高性能都是扯淡,良好的用户体验根本不存在。如果是一些内部的技术项目,特别是一些基础技术设施的技术项目,反而对技术要求是比较高的。我目前在基础架构团队负责内部技术项目的一些工作,包括产品设计、交互逻辑、撰写PRD、项目管理以及测

京东不再需要CTO;架构师成长路线;Go1.18泛型编程体验|码农周刊VIP会员专属邮件周报 Vol.085

以下内容节选自「码农周刊VIP会员专属邮件周报Vol.085」,查看完整链接版请微信扫描下方二维码,加入「码农周刊VIP会员」。本期,首先分享的是有效沟通的四个误区,供参考。1)我是对的,错的是你;2)我了解事情的全貌,你不了解;3)我动机单纯,你可不一定;4)我不是问题的始作俑者。黑匣子这么重要,为什么数据不能云同步?https://mp.weixin.qq.com/s/VvAGVX_MsXQ8

Java开发手册黄山版新增规约摘录

早期文章HDFS在HA模式集群下JournalNode节点的作用大数据|HDFS元数据持久化笔记大数据|Java操作HDFS常用API大数据|HDFS常用操作命令      在2020年8月3日推出的《Java开发手册嵩山版》后历经了18个月阿里又推出了《Java开发手册黄山版》。想必每个Java程序员应该都会关注阿里推出的《Java开发

设计模式系列——组合模式

原创:花括号MC(微信公众号:huakuohao-mc)。关注JAVA基础编程及大数据,注重经验分享及个人成长。组合模式经常用于树形组织结构,比如人事组织关系。CEO下面有经理,经理下面有总监,总监下面有组长,组长下面有组员。而对这些对象的操作都是一样的,比如添加,删除,查询下级组织等等。简单来说就是对于整体的所有对象的操作方式和单一个体的操作方式是一致的。举个例子通过组合模式实现一个公司的组织结

腾讯人均年薪增至84.7万元;微博被SEC列入「预摘牌名单」;英伟达发布下一代Hopper架构GPU|开发者头条

来源:网络整理头条菌微信号:toutiaoio007 ,欢迎加我,交个朋友!腾讯员工人均年薪增至84.7万元腾讯控股3月23日发布2021年度第四季度及全年财报。财报显示,于2021年12月31日,腾讯集团有112771名雇员(2020年:85858名)。截至2021年12月31日止年度的总酬金成本为人民币955.23亿元(2020年:人民币696.38亿元)。以此计算,腾讯员工2021

Vue.js 作者尤雨溪: 框架设计就是不断地舍取

美国的本科的好处是升学的时候不需要定专业,一般是到大二再决定。刚去的时候,我就说不想决定我先学什么,先各种课上一上,这是所谓「博雅教育」的意愿,就是前两年做通识教育。像Colgate作为一个文理学院,有个所谓的核心课程:你在自然科学、社会科学还有艺术这些领域,每个领域至少要上两门课,硬性要求你每个领域都要去接触。虽然是这样,但当时我们一起申请去美国的小伙伴有一个社团CUUS,Colgate在金融界

供应链安全—组件漏洞和合规治理

供应链安全—组件漏洞和合规治理继上上周在公司内部做完AzureDevSecOps技术分享之后,突然发现组件漏洞的治理这一部分内容,对各大企业或厂商来说,业界有很多可圈可点的落地实践。当然,也有很多坑(甚至还无法解决),所以单独开一篇讨论企业内部的开源组件漏洞治理的话题,只谈论现象,不评价实际做法的对与错。于是就有了这篇文章。一、组件及其与漏洞相关的几个概念组件在IT技术中是一个特别普通的名词,对于

Redis+Caffeine两级缓存,让访问速度纵享丝滑

在高性能的服务架构设计中,缓存是一个不可或缺的环节。在实际的项目中,我们通常会将一些热点数据存储到Redis或MemCache这类缓存中间件中,只有当缓存的访问没有命中时再查询数据库。在提升访问速度的同时,也能降低数据库的压力。随着不断的发展,这一架构也产生了改进,在一些场景下可能单纯使用Redis类的远程缓存已经不够了,还需要进一步配合本地缓存使用,例如Guavacache或Caffeine,从

抖音 Android 性能优化系列:启动优化实践

组件,其初始化就是借助了一个叫ProcessLifecycleOwnerInitializer的ContentProvider进行初始化的。LifeCycle的初始化只是进行了Activity的LifecycleCallbacks的注册耗时不多,我们在逻辑层面上不需要做太多的优化。值得注意的是,如果这类用于进行初始化的ContentProvider非常多,ContentProvider本身的创建、

深度解密:Kubernetes从中心走向边缘

:由华为开源,采用边缘节点RemoteNode方案,深度定制了Kubernetes,精简了Kubelet,使用MQTT重新研发了Master与Worker通信机制等,是面向边缘计算场景、专为边云协同设计的业界首个云原生边缘计算框架。KubeEdge于2019年3月正式进入CNCF成为沙箱级项目(Sandbox),也成为CNCF首个云原生边缘计算项目。并于2020年9月晋升为孵化级项目(Incuba

45 个 Git 经典操作场景,专治不会合代码

对于大家应该都不太陌生,熟练使用git已经成为程序员的一项基本技能,尽管在工作中有诸如 Sourcetree这样牛X的客户端工具,使得合并代码变的很方便。但找工作面试和一些需彰显个人实力的场景,仍然需要我们掌握足够多的git命令。下边我们整理了45个日常用git合代码的经典操作场景,基本覆盖了工作中的需求。创建一个新的分支:(main)$ git checkout&n

かいわ面试官 の 两个事务并发写,能保证数据唯一吗?

哟,又是我小白,**面试官就是我,想不到吧。最近有点高产了。连我自己都害怕了。直接进入正题吧。两个事务并发写,能保证数据唯一吗?我先来解释下标题讲的是个啥。我们假设有这么一个用户注册的场景。用户并发请求注册新用户。你有一张数据库表,也就是下面的user表。user表数据库原始状态产品经理要求用户和用户之间,电话号码不能重复,为了保证这一点。我们想到了先查一下数据库,再判断一下,如果存在,就退出,否

1w 字详解 Spark Shuffle (建议收藏反复看)

单从英文意思上来看,是“洗牌” 的意思,但在大数据分布式计算中指的是集群范围内跨节点、跨进程的数据分发。也就是2个Stage之间,数据进行传递的过程就叫做Shuffle。那为什么需要shuffle呢?这往往和大数据的很多计算场景相关,比如我们一直在说的WordCount,把相同的单词进行计数。因此,需要对数据进行聚合操作,聚合自然要对相同的key进行聚合,所以需要通过shuffle把各个

Facebook 开源 Golang 实体框架 Ent

对于后端开发者来说,一款好用的框架能够大大提升应用的开发效率。为了降低开发者使用TiDB的门槛,方便开发者快速连接到TiDB,我们也在和合作伙伴一起,逐步完善面向主流开发语言和框架的连接支持。近日,Facebook开源的Golang实体框架Ent完成了对TiDB数据库的支持。Ent是一款易于构建和维护应用程序与大数据模型的框架。具有以下特点:· Schema即代码:能将任何数据库表建模为

淘宝APP用户行为数据分析

(idid_behavesetsql_safe_updates=0;altertableuseraddcolumndatetimetimestamp(0)null;updateusersetdatetime=from_unixtime(times);时间戳转换为日期类型将其按date和time拆分成两列altertableuseraddcolumndatechar(10)null;--增加date

基于 KubeVela 的机器学习实践

作者:TianxinDong,KubeVela团队在机器学习浪潮迸发的当下,AI工程师除了需要训练、调试自己的模型之外,还需要将模型进行部署上线,从而验证模型的效果(当然,有的时候,这部分工作由AI系统工程师来完成)。这一部分工作对于AI工程师们来说是繁琐、且消耗额外精力的。而在云原生时代,我们的模型训练和模型服务也通常在云上进行。这样做不仅提高了可扩展性,还能够提升资源的利用率。这对于需要消耗大

时间轮原理及其在框架中的应用

作者:vivo互联网服务器团队-LiWanghong一、时间轮简介1.1为什么要使用时间轮在平时开发中,经常会与定时任务打交道。下面举几个定时任务处理的例子。1)心跳检测。在Dubbo中,需要有心跳机制来维持Consumer与Provider的长连接,默认的心跳间隔是60s。当Provider在3次心跳时间内没有收到心跳响应,会关闭连接通道。当Consumer在3次心跳时间内没有收到心跳响应,会进

浏览器缓存库设计总结(localStorage/indexedDB)

前言浏览器缓存设计一直是web性能优化中非常重要的一个环节,也是SPA应用盛行的今天不得不考虑的问题.作为一名优秀的前端工程师,为了让我们的应用更流畅,用户体验更好,我们有必要做好浏览器缓存策略.每个Web应用体验都必须快速,对于渐进式Web应用更是如此。快速是指在屏幕上获取有意义内容所需的时间,要在不到5秒的时间内提供交互式体验。并且,它必须真的很快。很难形容可靠的高性能有多重要。可以这样想:本