由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 老实说,parse其实是最难的
相关主题
Smart Parser/Compiler Development抛砖引说说APP后端用Parse的经验
请教一个parser的问题哎,本来想从讨论中学些东西
haskell有潜力成为最好的web framework推荐个html parser的库?
谁知道如何调试yacc程序?打算上马parse server一个hobby项目了
[合集] 被perl雷到了,sed, awk, cygwin, native以及其他How to Parsing function in haskell?
王垠对google的看法 (转载)parsing bibliography and sorting (转载)
后台python wsgi, 前端html, css, javascript问java api的问题
有没有这样的blind JSON parserparsing file in node: js or python ?
相关话题的讨论汇总
话题: parse话题: csv话题: br话题: 用库话题: hard
进入Programming版参与讨论
1 (共1页)
w********m
发帖数: 1137
1
leetcode史上最难三道题,全是parse。就没几个人做对过
420 Strong Password Checker 14.3% Hard
65 Valid Number 15.1% Hard
8 String to Integer (atoi) 15.3% Medium
所以,能用库就用库,不用库就等报错
s*********n
发帖数: 34
2
这就去做题。

【在 w********m 的大作中提到】
: leetcode史上最难三道题,全是parse。就没几个人做对过
: 420 Strong Password Checker 14.3% Hard
: 65 Valid Number 15.1% Hard
: 8 String to Integer (atoi) 15.3% Medium
: 所以,能用库就用库,不用库就等报错

g****t
发帖数: 31659
3
parse能不写就不写。还有一个原因是,常见的数据格式的parse,能用的库比较多。
数据预处理一下,丢给开源parse,问题不大。

【在 w********m 的大作中提到】
: leetcode史上最难三道题,全是parse。就没几个人做对过
: 420 Strong Password Checker 14.3% Hard
: 65 Valid Number 15.1% Hard
: 8 String to Integer (atoi) 15.3% Medium
: 所以,能用库就用库,不用库就等报错

C*****l
发帖数: 1
4
csv哪有那么难搞,就怕有些人把comment, quote什么都加进去瞎搞。定好规矩,就好
办了。

【在 w********m 的大作中提到】
: leetcode史上最难三道题,全是parse。就没几个人做对过
: 420 Strong Password Checker 14.3% Hard
: 65 Valid Number 15.1% Hard
: 8 String to Integer (atoi) 15.3% Medium
: 所以,能用库就用库,不用库就等报错

g****t
发帖数: 31659
5
csv有标准协议。但是就是这么难搞。

【在 C*****l 的大作中提到】
: csv哪有那么难搞,就怕有些人把comment, quote什么都加进去瞎搞。定好规矩,就好
: 办了。

C*****l
发帖数: 1
6
标准协议没人follow, 一般人不需要handle所有case,把字符集分隔符定好, linux
line end,不许用引号,problem solved。非要在field里面用分隔符,加引号,是自
己跟自己过不去。

【在 g****t 的大作中提到】
: csv有标准协议。但是就是这么难搞。
g****t
发帖数: 31659
7
你这样搞。大点的项目到最后,累积的不确定性叠加组合,就失控了。
用库是正确的做法。加上边界测试。


: 一般人不需要handle所有case,把字符集分隔符定好, linux line end
,不许
用引号

: ,problem solved。



【在 C*****l 的大作中提到】
: 标准协议没人follow, 一般人不需要handle所有case,把字符集分隔符定好, linux
: line end,不许用引号,problem solved。非要在field里面用分隔符,加引号,是自
: 己跟自己过不去。

C*****l
发帖数: 1
8
大型项目,更要enforce纪律,每个interface spec写好,立下字据,谁break了谁负责
fix。

【在 g****t 的大作中提到】
: 你这样搞。大点的项目到最后,累积的不确定性叠加组合,就失控了。
: 用库是正确的做法。加上边界测试。
:
:
: 一般人不需要handle所有case,把字符集分隔符定好, linux line end
: ,不许
: 用引号
:
: ,problem solved。
:

g****t
发帖数: 31659
9
你得先找到谁break了才行。


: 大型项目,更要enforce纪律,每个interface spec写好,立下字据,谁break了
谁负责

: fix。



【在 C*****l 的大作中提到】
: 大型项目,更要enforce纪律,每个interface spec写好,立下字据,谁break了谁负责
: fix。

s*********y
发帖数: 6151
10
parser的确是编程基本功 重要性不言而喻
2017年cloudflare就是因为Nginx上的一个parser bug导致大面积key泄漏
2019年CloudFlare又是因为一个regex错误 导致大面积宕机
相关主题
后台python wsgi, 前端html, css, javascript哎,本来想从讨论中学些东西
有没有这样的blind JSON parser推荐个html parser的库?
抛砖引说说APP后端用Parse的经验打算上马parse server一个hobby项目了
进入Programming版参与讨论
n******t
发帖数: 4406
11
我覺得非常可笑,exactly實戰中csv基本上是沒有parse的問題的。一般能100G以上的
都用csv存的,裏面的東西都是老老實實的逗號只做分割用途。
他去扯parse這些有啥意思嗎?100G會搞就是會搞,不會就是不會。

【在 g****t 的大作中提到】
: parse能不写就不写。还有一个原因是,常见的数据格式的parse,能用的库比较多。
: 数据预处理一下,丢给开源parse,问题不大。

n******t
发帖数: 4406
12
cloudflare的techlead如果能把他們成天post blog一半的時間拿去好好搞他們的服務
,就不會有這些爛事了。

【在 s*********y 的大作中提到】
: parser的确是编程基本功 重要性不言而喻
: 2017年cloudflare就是因为Nginx上的一个parser bug导致大面积key泄漏
: 2019年CloudFlare又是因为一个regex错误 导致大面积宕机

m******r
发帖数: 1033
13
这个说的对,要和对方说清楚, csv又不是垃圾桶,随便什么东西都能往里装。 去邮
局寄个东西,邮局也得问问你,易燃?易爆?液体? 给邮局多少钱也不是什么垃圾都
能寄的 。
以后谁把垃圾往csv里面放,谁滚蛋。 这个要求不过分吧。

【在 C*****l 的大作中提到】
: 大型项目,更要enforce纪律,每个interface spec写好,立下字据,谁break了谁负责
: fix。

g****t
发帖数: 31659
14
数据的来源往往是客户。选择给他们培训,或者自己改软件包括更多的corner cases。
各有优劣。
再一个,你搜一下excel csv带来的问题。这是另外一类。


: 这个说的对,要和对方说清楚, csv又不是垃圾桶,随便什么东西都能往里装。
去邮

: 局寄个东西,邮局也得问问你,易燃?易爆?液体? 给邮局多少钱也不是什么
垃圾都

: 能寄的 。

: 以后谁把垃圾往csv里面放,谁滚蛋。 这个要求不过分吧。



【在 m******r 的大作中提到】
: 这个说的对,要和对方说清楚, csv又不是垃圾桶,随便什么东西都能往里装。 去邮
: 局寄个东西,邮局也得问问你,易燃?易爆?液体? 给邮局多少钱也不是什么垃圾都
: 能寄的 。
: 以后谁把垃圾往csv里面放,谁滚蛋。 这个要求不过分吧。

i*****9
发帖数: 3157
15
引号加转义用yacc 处理又不难。要大范围使用的地方就老老实实上全功能的编译器呗
。自己小范围用的就随便怎么操了。

就好

【在 g****t 的大作中提到】
: csv有标准协议。但是就是这么难搞。
h*****2
发帖数: 2070
16
你说的是对的。前面那几个人一看就是没做过什么项目,基本还活在温室里。
实际中很多RAW数据就是很noisy,比如医疗上的直接从clinic来的。还有些schema定好
的数据,都可能出各种幺蛾子,比如telemetry的数据流。pre-processing这块儿还是
很麻烦的。

【在 g****t 的大作中提到】
: 数据的来源往往是客户。选择给他们培训,或者自己改软件包括更多的corner cases。
: 各有优劣。
: 再一个,你搜一下excel csv带来的问题。这是另外一类。
:
:
: 这个说的对,要和对方说清楚, csv又不是垃圾桶,随便什么东西都能往里装。
: 去邮
:
: 局寄个东西,邮局也得问问你,易燃?易爆?液体? 给邮局多少钱也不是什么
: 垃圾都
:
: 能寄的 。
:
: 以后谁把垃圾往csv里面放,谁滚蛋。 这个要求不过分吧。

s******e
发帖数: 3
17
处理复杂数据流程里的垃圾数据,不是在每个环节添加处理代码,而是对垃圾进行预处
理。以csv里的垃圾数据,我会这样处理,1)csv的parser肯定用通用库,不会做任何
修改,parser自身的bug会反馈给开发者,尽量通过依赖解决,不自己折腾;2)对垃圾
数据进行预处理。3)预处理部分根据不同情况进行相关处理,不同的来源,会有不同
的处理方式,没有必要强塞到一个非常复杂的代码里;而且根据具体情况和分工,未必
是自己的工作,比如给源方一些提示,说不定他们一个小修改就搞定。4)另外对垃圾
要学会拒绝,学会引导客户或源端遵守必要的工业规范,不是一味迁就,迁就的结果是
,会把自己和团队搞到筋疲力尽,最后做项目失败的背锅侠。
另外大家讨论问题,不要动不动就去贬低质疑其他人的能力。老实说,到这里来发帖或
求问,都差不多吧,就算有差别,也不会大过图灵和某网红吧。
葵花版给了我很多帮助和乐趣,最近有闲,来得多了,发些贴,算是一点小反馈。
g****t
发帖数: 31659
18
不管预处理或者程序里面改,都以测试第三方库为基础。还有就是得知道文本文件是怎
么回事,csv常见的坑在哪里。不然越处理错误越多。现今有专门的data engineer这个
职称,不是全无道理的。


: 处理复杂数据流程里的垃圾数据,不是在每个环节添加处理代码,而是对
垃圾进
行预处

: 理。以csv里的垃圾数据,我会这样处理,1)csv的parser肯定用通用库
,不会
做任何

: 修改,parser自身的bug会反馈给开发者,尽量通过依赖解决,不自己折
腾;2)
对垃圾

: 数据进行预处理。3)预处理部分根据不同情况进行相关处理,不同的来
源,会
有不同

: 的处理方式,没有必要强塞到一个非常复杂的代码里;而且根据具体情况
和分工
,未必

: 是自己的工作,比如给源方一些提示,说不定他们一个小修改就搞定。4
)另外
对垃圾

: 要学会拒绝,学会引导客户或源端遵守必要的工业规范,不是一味迁就,
迁就的
结果是

: ,会把自己和团队搞到筋疲力尽,最后做项目失败的背锅侠。

: 另外大家讨论问题,不要动不动就去贬低质疑其他人的能力。老实说,到
这里来
发帖或

: 求问,都差不多吧,就算有差别,也不会大过图灵和某网红吧。



【在 s******e 的大作中提到】
: 处理复杂数据流程里的垃圾数据,不是在每个环节添加处理代码,而是对垃圾进行预处
: 理。以csv里的垃圾数据,我会这样处理,1)csv的parser肯定用通用库,不会做任何
: 修改,parser自身的bug会反馈给开发者,尽量通过依赖解决,不自己折腾;2)对垃圾
: 数据进行预处理。3)预处理部分根据不同情况进行相关处理,不同的来源,会有不同
: 的处理方式,没有必要强塞到一个非常复杂的代码里;而且根据具体情况和分工,未必
: 是自己的工作,比如给源方一些提示,说不定他们一个小修改就搞定。4)另外对垃圾
: 要学会拒绝,学会引导客户或源端遵守必要的工业规范,不是一味迁就,迁就的结果是
: ,会把自己和团队搞到筋疲力尽,最后做项目失败的背锅侠。
: 另外大家讨论问题,不要动不动就去贬低质疑其他人的能力。老实说,到这里来发帖或
: 求问,都差不多吧,就算有差别,也不会大过图灵和某网红吧。

1 (共1页)
进入Programming版参与讨论
相关主题
suffix tree的检索复杂度跟字符集的大小有关系么?[合集] 被perl雷到了,sed, awk, cygwin, native以及其他
类似这次SSL漏洞,闭源软件有不小优势王垠对google的看法 (转载)
我用的data center后台python wsgi, 前端html, css, javascript
std::string 是8 bit clean的吗?有没有这样的blind JSON parser
Smart Parser/Compiler Development抛砖引说说APP后端用Parse的经验
请教一个parser的问题哎,本来想从讨论中学些东西
haskell有潜力成为最好的web framework推荐个html parser的库?
谁知道如何调试yacc程序?打算上马parse server一个hobby项目了
相关话题的讨论汇总
话题: parse话题: csv话题: br话题: 用库话题: hard