怼周刊_v14

~ 预定 17.7.15 20:20 发布 Release time - 20:20, July 15th, 2017


DUG

Now, jumpping into DU
It's the place just for you
Now, coding in DU
You can do whatever you wanna do
Now, writing in DU
Glad to witness your growth
Now, thinking in DU
Start the journey of your life
De Debug Uself Garden is here
De Debug Uself now
De Debug Uself Garden forever here
De Debug Uself never stop

自怼圈

即跃哉吾怼
真为汝乃圈
立程哉吾怼
即行焉汝欲
落笔兮吾怼
精进也猪突
沉思邪嫑停
征途兮吾怼
怼怼自圈此
怼怼自圈现
自怼圈甭停

进度 Timeline

~ 记录当周关键事件日期+证据链接

任务 Tasks

~ 记述关键共怼任务 (如果没有, 留空)

进展 Progress

~ 整体上圈内部活跃指标情况

  • 提交(S04E051): 9 人 (暂停 1 个项目,新增 1 个项目)
  • 小组 @zoomquiet 时间帐单:效能分析小队
    • @zoomquiet
    • @zsy
    • @liguanghe
    • @simpleowen
    • @mxclover
  • @hetao Deep Learning 自学计划
  • @liguanghe 域外生活录
  • @yuanchunrong 暑期系统学习Python编程知识
  • @zoejane 进入 Web 世界 (暂停)
  • @zoejane 如何准备考试
  • 引发的作品:
    • @liguanghe
      • 与友人的英语聊天 Podcast 两期
      • 自己录的 Podcast 一期
      • Blog 三篇
    • @zoejane
      • 英文朗读 Podcast 一期
  • 状态:
allcic Commit timesweekly Commit times
ZoomQuiet258 zhangshiyinrunwithcc7
zoejane252 liguanghe5
liguanghe130 ZoomQuiet1
mxclover115 zoejane1
all Commit Comments timesweekly CommitComments times
ZoomQuiet135 zhangshiyinrunwithcc1
zhangshiyinrunwithcc39 xpgeng1
zoejane30 ZoomQuiet1
sunoonlee19 zoejane1
all Issue Comments timesweekly IssueComments times
ZoomQuiet312 zhangshiyinrunwithcc5
zhangshiyinrunwithcc179 liguanghe2
liguanghe138 mxclover1
zoejane82 zoejane1

<- 170715 15:55

  • 在线(测试ing..):
    • curl du.zoomquiet.us
    • curl du.zoomquiet.us/v0/all/cic/rank/5/
    • curl du.zoomquiet.us/v0/all/cil/rank/5/
    • curl du.zoomquiet.us/v0/week/cic/rank/5/
    • curl du.zoomquiet.us/v0/week/cil/rank/5/

成果 Achievements

~ 各种成品/半成品 内部知识作品

@liguanghe - Maori 与毛利朋友的聊天

  • Blog - Maori | Li Guanghe's blog
  • Podcast
  • 之前用英语单独录博客总是没什么感觉, 这次试着把我和朋友的对话录下来播放, 这才是我的英语应该有的样子嘛. 这次聊天有惊喜, 朋友 Lucas 是一个毛利人, 他跟我分享了毛利人的文化和历史.
  • 故事起源于他的手机, 我发现那是华为手机, 是的, 从中国来的华为手机. huawa 这个词他有不同的发音, 他说这是因为他是毛利人, 他们的发音会略有不同. 在这之后就聊开了.

@zoejane - City of Stars 英文台词朗读

故事 Stories

~ 收集各自无法雷同的怼圈真人故事...

熊本🐻-> atl4dama见闻录2: good csv可能长啥样(上)?

背景

数据在不同数据库loading时, 会出现各种意外, 比如reconstituted, characters, transposed fields, disappearing NULL values. 推荐将数据保存为在各数据库间都保持稳定的flat files格式. flat files包括:csv文件与delimited文件.csv文件为推荐款式, 原因不详.就此翻译csv较为官方文件RFC 4180中部分数据要求.

参考资料

RFC 4180 - Common Format and MIME Type for Comma-Separated Values (CSV) Files

翻译正文

Definition of the CSV Format

  1. 每条record占用单独1行, 行之间用 CRLF 隔开; 参见example 1
  2. 整个csv文件最后1个record的结尾, 可以用 CRLF 表示结束, 也可以不用; 参见example 2
  3. 整个csv文件第1行可以设置header, 对应fields ; 参见example 3
  4. 每1行都必须包含 等量 fields, 每个field内的空格也算字符, 每1行最后的field不能含有comma; 参见example 4
  5. 每1个field可以用/也可以不用 加""; 参见example 5
  6. 每1个field内, 若包含 CRLF, " ", , , 则必须加""; 参见example 6
  7. If double-quotes are used to enclose fields, then a double-quote appearing inside a field must be escaped by preceding it with another double quote(没明白啥意思); 参见example 7...
  8. 其他语法参见 RFC 2234 - Augmented BNF for Syntax Specifications: ABNF - rfc2234.pdf
## example 1

    aaa,bbb,ccc CRLF
    zzz,yyy,xxx CRLF

## example 2

    aaa,bbb,ccc CRLF
    zzz,yyy,xxx

## example 3

    field_name,field_name,field_name CRLF
    aaa,bbb,ccc CRLF
    zzz,yyy,xxx CRLF

## example 4

    aaa,bbb,ccc

## example 5

    "aaa","bbb","ccc" CRLF
    zzz,yyy,xxx

## example 6

    "aaa","b CRLF
    bb","ccc" CRLF
    zzz,yyy,xxx

## example 7

    "aaa","b""bb","ccc"

感想

在atl4dama中需要将atimelogger2导出的csv处理为结构良好的csv. 而参照这份RCF 4180真的能够领悟到啥是结构良好的csv吗?当然不能, 实战代码请参见 du4proto/stdin0handlog.py. 结构良好的csv似乎 只可意会不可言传...

结构良好的csv可能长啥样? 1. 每行field等量 2. 去除field内多余空格 3. csv file第1行有header

熊本🐻-> atl4dama见闻录2: good csv可能长啥样(下)?

背景

倘若field里, 已包含double quote, 应该如何加escape character?

参考资料

RFC 4180 - Common Format and MIME Type for Comma-Separated Values (CSV) Files

Escaping in CSV Formatted Files | Pivotal Greenplum Database Docs

案例

  • 例1

If double-quotes are used to enclose fields, then a double-quote appearing inside a field must be escaped by preceding it with another double quote. For example:

## RFC 4180

    "aaa","b""bb","ccc"     # RFC 4180 赞同这种格式
    "aaa","b""""bb","ccc"   # Greenplum  赞同这种格式

  • 例2

load the following three fields:

Free trip to A,B 5.89 Special rate "1.79"

delimiter character is , (comma), escape character is " (double quote).

The formatted data:

## Pivotal Greenplum Database Docs 

"Free trip to A,B","5.89","Special rate ""1.79"""

问题

  • 为什么aaa,b""bb,ccc 不被formart为, "aaa","b""""bb","ccc"
  • 两者在实际loading里有区别吗?

资料靠谱度

  • RFC
  • RFC始於1969年,由史蒂芬·克羅克用來記錄有關ARPANET開發的非正式文件,最終演變為用來記錄網際網路規範,協定,過程等的標準檔案.
  • RFC檔案只有新增,不會有取消或中途停止發行的情形. 但是對於同一主題而言,新的RFC檔案可以聲明取代舊的RFC檔案.
  • RFC - 維基百科,自由的百科全書

  • Pivotal Greenplum

  • 产品: The Greenplum Database (基于Python, ORCA)
  • 仓库: greenplum-db/gpdb: Greenplum Database
  • 相关: MPP SSD Hadoop

总结

本文展示出针对某一情景下, csv format的两种截然不同的指导意见. 可知技术细节, 争论颇多...

虽然RFC 4180就field内含double quote给出指导, 但那也是2005年的事了.商业公司也会提供csv format的实战意见...

面对技术细节, 对比权威vs最新, 是保证参考资料靠谱度的一个可以探索的维度...

@zoejane - 备考小分享

  • 扫题库效率最高
    • 时间不够的时候先从大量搜集题库开始.
    • 同时了解自己哪方面的漏洞最多,再有针对性的补充教材和文件.
    • 复习起来最方便最快.
  • 阅读教材和文件最全面,必须得过一遍
    • 很多内容还是题库外的,所以该了解的还是要了解.
    • 可以利用 Mac 自带的语音朗读集中注意力,不过光读一遍记不住,只是让自己了解教材里都有什么内容. 体系还是要有,起码知道答案去哪里找.
    • 理解可以利用 Anki 制作卡片深度理解,复习也方便.
      • 每张卡片的内容不要太多,便于回忆,能够熟练后一秒过最好.
      • 制作的时候参考考试的题型.
      • 每天碎片时间可以复习.
    • 个别重难点可以用配合 Google 的英文关键词搜索视频/图片 + 网上的视频教程.
  • 复习需要多轮,实现不断 MVP 迭代
    • 一次深度复习在时间不够的情况下,常常容易半途而废,导致很多内容没有复习到.
    • 因此更好的策略是,快速扫完一轮题库 + 快速扫完一轮教材 + 针对错题查阅教材 + 重难点突破 等多轮一起上. 这样哪怕时间不多也能快速过完一两轮.
  • 有的放矢
    • 可以先放弃不太常考的内容的复习,把自己能拿下的分数拿下再说.

推荐 Recommedation

~ 嗯哼各种怼路上发现的嗯哼...

后记 Postscript

~ 怼周刊是什么以及为什么和能怎么...

大妈曰过: 参差多态 才是生机 问题在 参差 的行为是无法形成团队的

Coming together is a beginning; 
Keeping together is progress; 
Working together is success!

<--- Henry Ford

  • 所以, 有了 大妈 随见随怼的持续嗯哼...
  • 但是, 想象一年后, 回想几十周前自己作的那些 图样图森破
  • 却没现成的资料来出示给后进来嗯哼?
  • 不科学, 值得记录的, 就应当有个形式固定下来
  • 所以,有了这个 怼周刊 (Weekly 4 DU)

What is DUW? Why we make DUW? What are the possibilities of DUW?

Dama said, variety brings vitality. But various behaviors may make us hard to cooperate as a team.

Coming together is a beginning; 
Keeping together is progress; 
Working together is success!

<--- Henry Ford

That's why Dama keeps on debugging. However, as time goes by, maybe you would not remember these days clearly and spread your experience difficultly. What a pity! The valuable should have a fixed form to be recorded. That's why we make the Weekly for DU.


蟒营®编程思维提高班 Python版/第14期 正在报名

精品小班/ 永久答疑

扫描报名: 101camp14py

蟒营®式 原创课程

theory101camp_v3

官网: py.101.camp


任何问题可先进入知识星球(免费)咨询:
FAQ

关注公众号, 持续获得相关各种嗯哼:
zoomquiet

追问

任何问题, 随时邮件提问可也:
[email protected]