软件交付问题之要在需求评审中高效决策,如何解决

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 软件交付问题之要在需求评审中高效决策,如何解决

问题一:用户访问日志表 visit_log ,如何获取连续访问大于或等于 2 天的用户?


用户访问日志表 visit_log ,每一行数据表示一条用户访问日志。如何获取连续访问大于或等于 2 天的用户?

SQL - 17
with visit_log as (
select stack (
6,
'2024-01-01', '101', '湖北', '武汉', 'Android',
'2024-01-01', '102', '湖南', '长沙', 'IOS',
'2024-01-01', '103', '四川', '成都', 'Windows',
'2024-01-02', '101', '湖北', '孝感', 'Mac',
'2024-01-02', '102', '湖南', '邵阳', 'Android',
'2024-01-03', '101', '湖北', '武汉', 'IOS'
) 
-- 字段:日期,用户,省份,城市,设备类型
as (dt, user_id, province, city, device_type)
)
select * from visit_log;


参考回答:

整体实现比较简单。

-- SQL - 18
select user_id
from (
select 
*,
lag(dt, 2 - 1) over (partition by user_id order by dt) as lag_dt
from (select dt, user_id from visit_log group by dt, user_id) t0
) t1
where datediff(dt, lag_dt) + 1 = 2
group by user_id;


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/621572



问题二:用户访问日志表 visit_log ,每一行数据表示一条用户访问日志。如何基于相邻日期差实现?


用户访问日志表 visit_log ,每一行数据表示一条用户访问日志。如何基于相邻日期差实现?(排序版)

SQL - 17
with visit_log as (
select stack (
6,
'2024-01-01', '101', '湖北', '武汉', 'Android',
'2024-01-01', '102', '湖南', '长沙', 'IOS',
'2024-01-01', '103', '四川', '成都', 'Windows',
'2024-01-02', '101', '湖北', '孝感', 'Mac',
'2024-01-02', '102', '湖南', '邵阳', 'Android',
'2024-01-03', '101', '湖北', '武汉', 'IOS'
) 
-- 字段:日期,用户,省份,城市,设备类型
as (dt, user_id, province, city, device_type)
)
select * from visit_log;


参考回答:

整体实现比较简单。

-- SQL - 19
select user_id
from (
select *, 
dense_rank() over (partition by user_id order by dt) as dr
from visit_log
) t1
where datediff(dt, date_add(dt, 1 - dr)) + 1 = 2
group by user_id;


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/621573



问题三:用户访问日志表 visit_log ,每一行数据表示一条用户访问日志。如何基于连续活跃天数实现? -


用户访问日志表 visit_log ,每一行数据表示一条用户访问日志。如何基于连续活跃天数实现?

SQL - 17
with visit_log as (
select stack (
6,
'2024-01-01', '101', '湖北', '武汉', 'Android',
'2024-01-01', '102', '湖南', '长沙', 'IOS',
'2024-01-01', '103', '四川', '成都', 'Windows',
'2024-01-02', '101', '湖北', '孝感', 'Mac',
'2024-01-02', '102', '湖南', '邵阳', 'Android',
'2024-01-03', '101', '湖北', '武汉', 'IOS'
) 
-- 字段:日期,用户,省份,城市,设备类型
as (dt, user_id, province, city, device_type)
)
select * from visit_log;


参考回答:

可以视作 基于相邻日期差实现(排序版) 的衍生版本,该实现能获取到更多信息,如连续活跃天数。

-- SQL - 20
select user_id
from (
select 
*,
-- 连续活跃天数
count(distinct dt) 
over (partition by user_id, cont) as cont_days
from (
select 
*, 
date_add(dt, 1 - dense_rank() 
over (partition by user_id order by dt)) as cont
from visit_log
) t1
) t2
where cont_days >= 2
group by user_id;


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/621574



问题四:为什么业务方案讨论阶段的工作量预估很重要?


为什么业务方案讨论阶段的工作量预估很重要?


参考回答:

因为这个预估的工作量可能会成为影响项目能否立项通过的关键因素。老板在考虑投入产出比时,会参考这个预估的工作量。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/621575



问题五:在需求评审中,如何高效决策?


在需求评审中,如何高效决策?


参考回答:

首先需要在评审前确定好所有逻辑,避免在会上展开讨论。其次,当出现意料之外的逻辑或未考虑到的点时,如果有明显解法,应立即决策并写入会议纪要。对于没有明显解法的,应写入待办事项。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/621576

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
机器学习/深度学习 算法 决策智能
智能解决装箱问题:使用优化算法实现高效包装
装箱问题(Bin Packing Problem)是组合优化领域中的一个经典问题,主要涉及如何将一系列对象高效地装入有限数量的容器(或“箱”)中,同时满足特定的约束条件。这个问题的目标是最小化所需使用的箱子数量或者最大化箱子的装载效率,以减少空间或资源的浪费。
|
8月前
|
数据安全/隐私保护
基于爬山法MPPT和PI的直驱式永磁同步风力发电机控制系统simulink建模与仿真
本课题研究基于爬山法MPPT和PI控制器的直驱式永磁同步风力发电机(PMSG)控制系统,完成Simulink建模与仿真。系统无需齿轮箱,效率与可靠性更高。爬山法MPPT通过调整发电机转速实现最大功率跟踪,PI控制器用于调节系统输出以接近期望值。采用MATLAB2022a进行核心程序开发与模型搭建,仿真结果完整且无水印。该控制策略可有效提升能量转换效率及系统稳定性,适用于不同风速条件下的风力发电场景。
|
监控 Java 时序数据库
性能监控之Telegraf+InfluxDB+Grafana实现JMX实时监控
【6月更文挑战15天】性能监控之Telegraf+InfluxDB+Grafana实现JMX实时监控
438 6
性能监控之Telegraf+InfluxDB+Grafana实现JMX实时监控
|
10月前
|
移动开发 安全 API
VMware vCenter Server 7.0U3t 下载 - 集中管理 vSphere 环境
VMware vCenter Server 7.0U3t 下载 - 集中管理 vSphere 环境
386 1
VMware vCenter Server 7.0U3t 下载 - 集中管理 vSphere 环境
|
8月前
|
Linux iOS开发 MacOS
CrossOver 25.0.1 for macOS & Linux - 领先的 Wine 解决方案
CrossOver 25.0.1 for macOS & Linux - 领先的 Wine 解决方案
233 0
|
8月前
|
人工智能 IDE 测试技术
通义灵码与魔搭Notebook深度集成:在线编码开箱即用,开发效率倍增
通义灵码2.0 AI程序员于2025年1月上线,目前已支持超过百万开发者。该工具的智能编程能力现已与阿里云AI模型开发平台魔搭ModelScope实现技术集成
329 0
软件交付质量问题之要提升发布成功率,如何实现
软件交付质量问题之要提升发布成功率,如何实现
|
存储 缓存 算法
大文件 MD5 SHA 校验时间优化之路
【8月更文挑战第12天】处理大文件的MD5与SHA校验时,可通过选择高效算法实现、分块读取处理文件、利用多线程并行处理、采用硬件加速及缓存校验结果等方式优化校验时间。例如,使用性能良好的加密库如`pycryptodome`替代Python的标准`hashlib`库;分块读取文件并逐块计算哈希值,减少内存占用;利用多线程处理不同文件块;若条件允许,使用硬件加速如Intel AES-NI指令集;以及缓存重复校验的文件哈希值避免重算。这些策略可显著提高校验速度和系统效率。
1085 1
在Linux中,Rsync 同步时,如果要同步的源中有软连接,如何把软连接的目标文件或者目录同步?
在Linux中,Rsync 同步时,如果要同步的源中有软连接,如何把软连接的目标文件或者目录同步?
|
运维 数据挖掘 测试技术
如何评估数据库的成本效益
【5月更文挑战第21天】 如何评估数据库的成本效益
338 3