2019.07.15
今天mentor请事假,划了一天水:
- 看
tomcat
的系统架构--四张图带你了解Tomcat系统架构; - 了解了一下
flink
,带状态的流数据/批数据开源数据处理/计算平台; - 探索式的使用华为瘦终端,多踩坑防止今后碰到问题;
- 找明哥问了常用的软件/工具,配环境。
2019.07.16
周杰伦南京演唱会开票后一小时才发现这个消息,血亏。。
早上主要开迭代会,明确这次迭代的任务,开了将近2小时。会后跟海哥说环境差不多配好了,海哥让写下上午迭代会的测试用例。下午写了一会后发现对业务不熟悉,有些story不知道怎么写测试用例,于是海哥让我继续当鼓励师。。
下午下班前明哥把标签小队叫到大会议室,说下午生成环境出现了问题(UDR api访问出现问题导致伪冒系统18分钟不能工作,锅是肯定要背的),说了很多工作中需要注意的地方:
- 对开发的系统保持敬畏之心;
- 不要在生产环境上进行bug的复现,很可能因为一不小心改了某个数据库就牵一发而动全身;
- 动用运维权限时要告知小组leader。
今日成果:
- 了解了一下
nginx
(读音:engine X)8分钟带你深入浅出搞懂Nginx
小tips:
- 海哥说
DataStage
又贵又难用,一年大概100多万
个人愚见:
主要结合今天的经历有感而发:
- 室友分别是算法岗和数据岗,已经被各自mentor分配了任务,design和coding开始走向正轨。据了解分别是写爬虫和4个人一组实现一个实时数仓(相对独立且比较大的项目);
- 今天写测试用例时深深感到对业务和系统的不了解给工作进展带来的障碍,不知道story下的各个tasks和应用的哪个功能或api或wiki的哪一部分对应,才意识到本科时软件测试老师说的“好的测试必定是好的开发”的正确性;
- 机器学习/深度学习的工作流程和在学校研究算法跑实验的流程基本类似,流程相对固定,走获取数据→提特征→搭模型/网络→跑模型/网络,模型和网络用成熟的第三方框架,在不同的应用场景下大同小异,主要区别在于不同场景下的不同特征;测试接口/业务需要知道业务流程,其中的事务/消息/动作是怎样传递的,与此同时还会碰到很多新的名词,各种未知的东西凑在一起就会一脸懵逼。
2019.07.17
早上继续在海哥旁边坐了一上午,期间有好多人在招乎
上给他发需求,忙得不行。
下午海哥让查资料,然后给他反馈,然后在边上“罚站”看他debug。3点半室友叫我去吃下午茶,然后我就缓缓溜了,顺便开始思考人生:
不能一直这样只输入不输出,得动手写点东西。
就算学到的东西没产出不被认可而不能转正也无所谓。
吃完下午茶回到机位,快速浏览一些基础知识:
HDFS
HBase
Hive
Redis
今天海哥一直被python第三方库使用Kafka
的接口问题所困扰,走马观花地看了代码觉得并不复杂,就是一个简单的生产者消费者模型,于是下了这个包照着网上教程写了一个简单的demo,期间还踩了delete topic的坑并找资料解决了,还是亲手写代码更有动力。。
2019.07.18
数据掘金–微光助力业务经营
海哥给任务,让我去熟悉UDR系统(进系统页面到处点点了解各个功能点是干啥的)
先上今日小tips:
- UDR全称Unified Data Resource,统一数据资源服务
学习笔记:
-
微光的使命:让业务的数据化运营落地
-
业务运营-数据处理-UDR、客群系统
-
微光数据分类:
- 传统业务数据来自信用卡核心业务流程的数据,高度结构化,数据增长慢:
- 客户数据
- 卡片数据
- 开卡数据
- 申请数据
- 交易清算
- 积分
- 电话服务
- 伪冒检测
- 。。。
- 新型业务数据来自于业务渠道,反应用户行为,量大,需要大数据技术才能处理:
- 地理位置
- 网站访问行为
- 用户点击行为
- 。。。
- 传统业务数据来自信用卡核心业务流程的数据,高度结构化,数据增长慢:
-
UDR - 完成海量数据存储、加工、产品化包装过程
- 包含4种数据类型:
- 标签:身份、爱好、账务,提取用户的属性;
- 事件:浏览、交易、下单,记录用户的行为;
- 客群:细分的客户群
- 模型:用户、商品评价。。
- 包含4种数据类型:
-
建模中心:填写基本信息->打标数据配置->特征配置->算法选择->效果评估->外推验证->预测打分->模型发布
Java常用特性简介
-
集合
-
HashMap
中的key的值没有顺序,常用来做统计;LinkedHashMap
内部有一个链表,保持key插入的顺序; -
迭代器
-
-
泛型
-
String
是Object
的子类,那么Box<String>
是Box<Object>
的子类吗? -
通配符
-
public class Box<T> { private T t; public void set(T t) {this.t = t;} public T get() {return this.t;} } private void boxTest(Box<Object> box) { // TODO } Box<String> stringBox = new Box<>(); // Error boxTest(stringBox); private void boxTest(Box<? extends Object> box) { } boxTest(stringBox); private void boxTest(Box<? super String> box) { }
-
-
-
注解
-
spring容器的扫描装置,会在启动时扫描所有代码
@Controller @RequestMapping(value = "user") public class UserController { @RequestMapping(value="/submit", ...) { // TODO } }
-
-
Lambda
-
有两个以上参数,有返回值,并且在
Lambda
体中有多条语句-
(x,y) -> { int sum = x + y; return sum }
-
-
Lambda
体中只有一条语句-
(x,y) -> x + y;
-
-
只有一个参数,小括号可以不写
-
x -> x * 2;
-
-
无参数,无返回值
-
() -> System.out.println("Hello Lambda");
-
-
-
Stream
-
Iterator:
- 通过遍历取出对象
- 操作对象
List<Integer> square = new ArrayList<>(); for (int n : list) { square.add(n * n); }
-
Stream:
- 直接告诉集合,要对集合里的每一个对象进行什么操作
list.stream().map(n -> n * n); list.stream().filter(n -> n != 0); list.stream().sorted((o1, o2) -> o1 - o2); list.stream().reduce((a, b) -> a + b);
-
Spring零基础入门
- 背景:让团队专注于应用层的业务逻辑
- 核心概念:
- 依赖注入(DI)
- AOP
Maven & Git
- Maven – 项目管理工具
- POM(Project Object Model):一个项目所有的配置都放在POM文件中,定义项目的类型,名字,管理依赖关系,定制插件的行为等等;
- 生命周期:开始->validate->compile->test->package->verify->install->deploy->结束
- Git
Angular
- 集成开发环境
- nodejs
- @angular/cli
- micro-ray-angular-cli
- Angular核心概念
- component
- module
- Route
- Angular架构特色
- 依赖注入
- 数据绑定
微光平台材料
-
UDR – Unified Data Resource(统一数据资源),将数据标准化,为其他系统提供稳定、安全可信任的统一服务
-
2016.1 标签系统拆分成UDR和客群探索
-
客服数据、卡片数据、掌上生活数据、核心数据、实时交易、事实行为、客群探索、动态指标、模型管理 -> UDR -> 标签、事件、客群、模型、指标
- 标签:性别、职业、年龄
- 事件:办理行用卡、绑定掌上生活、购买手机、打电话询问十元风暴、办理账单分期
- 客群:具有相同标签的客户群体,如:男性客群、年轻客群
- 模型:是否愿意绑定微信
- 指标:男女比例
- UDR服务于(资源探索、客群探索、营销管理、客群分析、伪冒检测、动态指标、场景营销)
2019.07.19
有活干了。。
5个回归需求:
1. 平台管理员 - 系统用户搜索
- 搜索内容带有
_
和%
时搜索结果有问题(example:test_
);
2. 标签开发用户,可以下载表的所有标签定义
写脚本把已有标签下载下来,扫描文件看是否为空。
- 未发布的表定义导出有问题(如表
UDR_D_ARTICLE_TEST
,下载文件名为table_.csv
) - 有两个发布的表下载为空(数据有问题。一个IS_ONLINE列被置为0,在标签查询页实际查不到该标签;另一个是表被改过,资源id不match)
3. 统计项标签详情页返回,操作优化
测试从标签页返回时,搜索条件依然保留。
- 监控规则个数详情页返回搜索条件清空;(表名
udr_t_
,标签名称-many-
)
4. 枚举展示优化
枚举类型的标签(普通、虚拟、实时)、客群(实时、批量)在展示页面有枚举列表。
- 实时事件中的枚举属性(普通属性和虚拟属性)枚举顺序不确定(表名
test_enum_20190719
); - 批量事件事件中的枚举属性(虚拟属性)枚举顺序不确定(表名
test_enum_20190719
);
5. [cgp]详情页展示(取反/大于、小于)
主要看是否能够正常计算和展示。
-
客群类型:微信用户
客群条件:【标签】【指标追踪专用】指标追踪-微信-布尔
标签为枚举:true-49人,false-51人
true取反后显示客群大小为0
周五下班前例行科室交流分享会:分别介绍了养娃的心路历程、在中国盲文出版社工作的经历(讲到了投产的项目,貌似是语音读pdf的插件)、和一位老哥HiPiHi->MSRA->Baidu->Microsoft->Alibaba->招商银行信用卡中心
的工作经历(太神了。。卡中心怎么接得住这薪资的。。)。