DevilKing's blog

冷灯看剑,剑上几分功名?炉香无需计苍生,纵一穿烟逝,万丈云埋,孤阳还照古陵

0%

目光从猪移到人,再从人移到猪,又重新从猪移到人,要分清哪张脸是猪的,哪张脸是人的,已经不可能了

历史仿佛是在重演,民主,or,专制。。。


本周:

  • 修改简历,投递相关
  • 运营广告相关

下周:

  • 关于callback补写的机制的梳理
  • 关于一些文档的整理

一件大事,终于是结束了,算是交了差,其实,还是有点门不当户不对吧,要求太高,还是很难达到。。慢慢看吧。。

徐建的事情,算是告一段落?又出现了波折。。希望最后能行吧。。。总感觉,经过这次事情后,对于说的话,或多或少,有点不信任感。。。哎。。心太累。。。

找工作的事情,也在同步进行,是换成大公司的一个业务型人员,还是说想去做一些基础性的平台和方向,看能不能做一些基础数据平台上的事情,不要想着你回济南什么的,要想着未来三年,你想做什么,就去做什么。。加油。。

锻炼和健身方面,要慢慢捡起来,包括深蹲什么的。。

心态要放静,事情要一件件地解决,也不是一口气吃成一个大胖子,心静,平和。。

每天一道到两道题的习惯,继续保持,坚持地不错,后续就是锻炼部分,慢慢恢复。。

加油,已经有当acer的觉悟了,也就不所谓了。。


看来,是大公司的业务型做不成了。。哎。。也不知道自己这个决定是否正确。。只能自己加油了。。

做好每一步,按照计划去学习。。

原文链接

Our goals with React Native were:

  1. Allow us to move faster as an organization.
  2. Maintain the quality bar set by native.
  3. Write product code once for mobile instead of twice.
  4. Improve upon the developer experience.

Unified Design Language System (DLS)

更改组件,导致与原本库中有所冲突,

静态检查 prettier

don’t do well

react native immaturity

maintaining a fork of react native

javascript tooling

refactor: add proper static analysis

javascriptcore inconsistencies

initial time

Unlike with native screens, rendering React Native requires at least one full main thread -> js -> yoga layout thread -> main thread round trip before there is enough information to render a screen for the first time. As a result, we added an artificial delay of 50ms to all React Native screen transitions to prevent the navbar from flickering once the configuration was loaded.

App size

long lists

Adapter data can’t be accessed synchronously so it is possible to see views flash in as they get asynchronously rendered while scrolling quickly. Text also can’t be measured synchronously so iOS can’t make certain optimizations with pre-computed cell heights

Upgrading React Native

web同app开发的冲突

sunset plan

We are currently in the process of working with teams to create a healthy transition plan. We have halted all new React Native features and have plans to transition the majority of the highest-trafficked screens to native by the end of the year

server-driven rendering

Several teams have experimented with and started to unify around powerful server-driven rendering frameworks. With these frameworks, the server sends data to the device describing the components to render, the screen configuration, and the actions that can occur. Each mobile platform then interprets this data and renders native screens or even entire flows using DLS components.

MvRx

MvRx combines the best of Epoxy, JetpackRxJava, and Kotlin with many principles from React to make building new screens easier and more seamless than ever before

原文链接

倒排索引

倒排的hash冲突问题,通过正排的索引,辅助倒排的关系验证功能

  • 所谓的查询,就是 HashMap.get(XX) 获取 list
  • 所谓的竞价排名,就是这个 list 根据 money 去排序
  • 所谓的广告植入,就是这个广告本来不在 list 里面,然后被强插进去
  • 。。。

也就是正排的索引在竞价排名中起作用

feed流不同于搜索引擎部分,就是在于hash的函数不一样,提取兴趣点

多源融合

  • 基于话题推荐 用户关注了 T 话题,用户 Feed 流里要有话题 T 相关的数据
  • 基于行为推荐 用户发生了动作 A,Feed 流里要有动作 A 相关的数据
  • 基于算法推荐 根据用户行为计算特征向量,推出与用户向量距离最近的数据

反复拉取->条目反序列化->过滤->是否足够->召回排序->Top100->算法排序

拉取权重的控制粒度:池子、库、分组。首页基于「源」的概念控制比例,而「源」是一个虚拟的组合。这个「源」的组合里,可以包括指定的几个池子,特定的几个库,抑或某些分组。

召回排序在选择 Top 100 时,特定「源」被召回的条目数为 100 * ratio。通过「源」的概念,可以保证特定组合召回权重。

每一层排序策略不同,通过筛选可以减少后续环节的计算量,通过排序保证每个环节最「恰当」的数据可被选出。

  1. 每个池子的 Top N,根据本池子的热度分 (静态的,所有用户一样)
  2. 召回排序 Top 100, 根据用户的兴趣分 (动态的,与用户的实时兴趣相关)
  3. 算法排序,用户最喜欢的 Top 7

使用redis module ,加入filter module以及使用zset的方式,

迭代架构

面向「工程」、面向「合作」,是上个 Q 架构演进的指导思想。只有易学习、易维护的架构才是恰当的架构。如何保证工程团队高效工作,尽力降低人力成本,便是这代架构的最大挑战。

原文链接

“OLTP” (online transaction processing)

使用Parquet来进行相关的查询

Data scientists, machine learning engineers, and real-time application developers all depend on the massive quantities of data that are stored in these Parquet files on Uber’s HDFS cluster