怼周刊_v20

~ 预定 17.8.28 20:20 发布

Release time - 23:15, August 28th, 2017


DUW Blood Case (By mxclover)

视而不见
迷之合并
血案延续
小明懵逼
有何良方
Copy复本
强行回滚
重新Push
自在清净

Turn a blind eye
Merge no reason
Blood case going
Xiao'ming seems blankly
What a good way
Copy replicas
Force rollback
Push again
Clean yourself

进度 Timelines

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

  • 170822 DUW 血案重现之宏大 merge
  • 170826 [42h[TASK]20170826 怼周会 分享及纪要]6

任务 Tasks

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

  • 170821 [6d[atl4dama]时间账单效能分析]7
  • 170823 [6d[TASK]各位是如何配置 python 基础环境的? 不同 python 版本控制?]8

进展 Progress

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

  • 提交: 8 人,
    • 小组 @zoomquiet 时间帐单:效能分析小队
      • 成员: @zsy @liguanghe @simpleowen @mxclover
    • @draachen Py104 学习
    • @heta 深度学习
    • @liguanghe 域外生活录
    • @OMlalala 投资学习
    • @zsy 编程与写作
    • @zoejane 日常节奏形成
    • @leilayanhui Py103复习
  • 引发的作品:
    • NIL
  • 状态:
allcic Commit timesweekly Commit times
ZoomQuiet303 liguanghe13
zoejane299 leilayanhui11
liguanghe197 mxclover9
mxclover135 ZoomQuiet9
zhangshiyinrunwithcc125 OMlalala4
all Commit Comments timesweekly CommitComments times
ZoomQuiet141 zhangshiyinrunwithcc3
zhangshiyinrunwithcc47 mxclover2
zoejane35 leilayanhui2
mxclover20 ZoomQuiet1
sunoonlee19 zoejane1

成果 Achievements

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

熊🐻本来稿->时间账单效能小队duwk20进展

1. 明星羊🐑推进SET4

  • 本周完成:组员小明本周完成大妈2014年1周数据的SET4运算=>可喜可贺!
  • 下周推进:2014年52周的SET4运算=>期待ing!!
  • 追踪:

2. 少女鹤🐦可视化best week

  • 本周完成:组员小鹤本周完成pandas叠加法可视化探索=>创意少女!
  • 下周推进:某1周demo数据可视化=>期待ing!!
  • 追踪:[7d[atl4dama]时间效能分析2]10

3. 危机熊🐻修订老旧readme

  • 本周完成:组员小熊本周复习数据清洗stin脚本=>值得鼓励!
  • 下周推进:数据清洗教程+atl4dama README修订=>加油ing!!
  • 追踪:[42h[TASK]提案:时间账单效能分析README修订]11

广鹤在但尼丁 – 博客连载

广鹤在荔枝持续读<哥德尔 艾舍尔 巴赫 – 集异璧之大成>

[哥德尔 爱舍尔 巴赫]在线收听_mp3 下载_荔枝 FM - 欢迎订阅我的荔枝播客: 李广鹤

故事 Stories

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

熊🐻本-> 如何写一周总结?

本周个人管理重新启动周总结
总结湾区日报近日2篇推文要点
撰写周总结清单

如何写一周总结?

How to Work with Everyone节选

  • 加强
    • 别人看重的且你擅长的
    • 别人虽然不看重但你很擅长
  • 放弃
    • 别人看重的但你不擅长的
    • 别人不看重且你也不擅长
  • 记录行为模式
    • 当此类事件发生时,我总是…

5 laws every developer should know

  • 多渠道定理

    • 参考murphy’s law
    • 工程类项目一定会犯错
    • 尤其是重要功能
    • 因为你无法控制用户将输出什么
    • 所以要保证多条渠道达到终点
  • 够用定理

    • 参考knuth’s law
    • 工程细节是否足够简洁/优化
    • 并那么重要
    • 因为简洁/优化是模糊的标准
    • 先完成可用性
    • 优化是很久很久以后才能做得奢侈
  • 清醒定理

    • 参考North’s law
    • 每次选择是否对比过其他选择?
    • 要避免第一时间出现的最容易的选择,因为它会诱导你放弃比较
    • 要保持清醒:每次选择都需要对比付出与回报
    • 计算这些付出与回报

湾区日报推文

熊本🐻爱情是什么?

台湾著名出版人郝明义老师
网络与书丛书中'爱情关系'一辑极为有趣
各色成年男女探讨爱情是什么
故而节选丛书片段并自附感想

1.爱情是什么清单

2.台湾男女眼中的爱情

  • 台湾中年男人
    • 爱情是,新鲜的感觉
    • 爱情里最关键的是,新鲜
    • 爱情头号杀手是,不新鲜/习惯/黄脸婆
    • sex是,食物,可多可少但不能没有…
  • 台湾青年少女
    • 爱情是,两人共同的梦想
    • 爱情里最关键的是,一致的目标
    • 爱情头号杀手是,谎言/欺骗
    • sex是,因人而异…

3.爱情是什么?

The most tricky part of love is
女生把它当梦想
男生却容易把它当风景
这就像
你费尽心思做的方案
在老板眼里只是one of 方案s

最佳的策略是
做一批方案s
提供给老板s挑选
达成最合适的trade off
但是这好累啊!!!

没错
各位美少女们
如果爱情让你们感到无比幸福
那可就糟糕啦!
健康的爱情感觉是 好累+幸福
如果你对自己的爱情虽觉得甜蜜
但又经常辛苦和怀疑
恭喜你!你拥有的可是最佳爱情哟~

没错
爱情就是一场trade off~
和工作/转行/创业没啥不一样!

小明 @mxclover - DUW 血案重现之宏大 merge

背景

  • 19w DUW(怼周刊)这次由俺发布
  • 昨晚在DUW分支编辑好DU19w.md 后push
  • 但是,push后不久,经@bambooom竹子提醒,这次又重现了上次广鹤的血案

Alt text

分析

经大妈指点,从 Network Graph · DebugUself/du4proto->

Alt text

可以看到,我push 后master分支合并到DUW分支了

  • 没有重构自己的本地工作副本
  • 那是包含了 @liguanghe 无端合并的所有 master 版本的…
  • 所以, 当我又一次向 DUW 合并时,将上周错误的合并现场通过正确的 push 又重新接回了版本树中…

本地 sourcetree 观察的报警 2017-08-22 21 16 42

纠正

  • 根据@bambooom 竹子提供的方法,先手工备份本地的DU18w.md, DU19w.md文档
  • 然后进行强行回滚, 并放弃本地复本(因为包含了 610 个 master 的历史版本)

    git reset --hard 78310075e81870e55bdc6f6aca2edef069d24d61
    git push -f origin DUW:DUW
    
  • 最后, 将备份的DU18w.md, DU19w.md文档复制过来

  • 再正常的 push

  • DUW 分支就干净了…

Alt text

对策

如何阻止其它有污染历史的怼员和我一样,重新引入意外 merge 解决方案如下:

~ 检查本地分支的工作复本是否被污染

  • git ll 命令查看仓库分支的版本变化,对比污染和孤子分支的版本历史关系图
  • 以重新 净化 clone DUW新复本, 和原先工作复本的版本树对比为例:

2017-08-22 21 20 57

~ 如果被污染,如何解决

  • 重新clone新复本

~ 如果已被污染且push到远程仓库,造成远程仓库也被污染了

  • 参考以上DUW仓库被污染的方法,先手动备份需要的文档及代码
  • 然后强行回滚至未被污染的状态
  • 最后正常的push即可

参考: HbUsageGit · DebugUself/du4proto Wiki

因为 DebugUself/du4proto: all kinds of DebugUself’s prototype MVP 仓库的使用策略是:

  • master 进行公共项目管理文档发布
  • 各个项目分支永远不应该合并回 master
  • 所以,对应的
    • 所有私人/团队/项目分支使用 –orphan 参数建立无头孤子分支
    • 同时, clone 到本地时, 只加载对应远程单一分支
    • 这样,就无法误操作将意外的分支 merge 到了

~ 判定仓库情况的工具/命令/技巧

# 显示有变更的文件
$ git status

# 显示当前分支的版本历史
$ git log

# 列出所有本地分支和远程分支
$ git branch -a

# 显示本地仓库的版本变化
$ git ll

~ 重建本地工作复本的合理命令,以新建DUW为例

# 在本地的怼仓库(du4proto)外新建 DUW仓库
$ mkdir DUW
$ cd DUW
$ git init
Initialized empty Git repository in ....../DUW/.git/

$ git remote add -t DUW -f origin [email protected]:DebugUself/du4proto.git
Updating origin
The authenticity of host 'github.com (192.30.255.112)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,192.30.255.112' (RSA) to the list of known hosts.
remote: Counting objects: 632, done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 632 (delta 173), reused 173 (delta 171), pack-reused 451
Receiving objects: 100% (632/632), 236.52 KiB | 95.00 KiB/s, done.
Resolving deltas: 100% (393/393), done.
From github.com:DebugUself/du4proto
 * [new branch]      DUW        -> origin/DUW
 * [new tag]         17.4.15    -> 17.4.15
 * [new tag]         17.4.8     -> 17.4.8
 * [new tag]         v17.5.13   -> v17.5.13
 * [new tag]         v17.5.20   -> v17.5.20
 * [new tag]         v17.5.27   -> v17.5.27
 * [new tag]         v17.5.6    -> v17.5.6
 * [new tag]         v17.6.10   -> v17.6.10
 * [new tag]         v17.6.17   -> v17.6.17
 * [new tag]         v17.6.24   -> v17.6.24
 * [new tag]         v17.6.3    -> v17.6.3
 * [new tag]         v17.7.1    -> v17.7.1
 * [new tag]         v17.7.15   -> v17.7.15
 * [new tag]         v17.7.22   -> v17.7.22
 * [new tag]         v17.7.29   -> v17.7.29
 * [new tag]         v17.7.8    -> v17.7.8
 * [new tag]         v17.8.5    -> v17.8.5

$ git br -a
  remotes/origin/DUW

$ git co DUW
Branch DUW set up to track remote branch DUW from origin.
Switched to a new branch 'DUW'

$ git br -a
* DUW
  remotes/origin/DUW

以上, 将难以意外合并到其它分支了...

~ 如何开独立分支,参考: [24h[TASK][WIKI]wiki改稿请提意见: 教程 如何开独立分支 #196]19

大妈问

为什么你复刻了别人的错误? 为什么你无法感知自己的问题?

  • 为什么你复刻了别人的错误?
    • 广鹤引发血案的issue没有认真看 => BC 血案之宏大 merge #191
    • issue中的预防方法,没有第一时间执行
    • 因为觉得跟自己无关,视而不见,从而再次引发了血案
  • 为什么你无法感知自己的问题?
    • 对本地工具的不熟悉,没有能力判明自己本地仓库的情况
    • 没有看commit后的错误提醒,修改文档后,习惯性git add ., git ci, git pu

推荐 Recommedations

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

git br => git branch
git co => git checkout
git ci => git commit
git pl => git pull
git pu => git push
...

类似 git ci, git pu 等git命令的alias,参考:大妈的.gitconfig配置 > 目的是减少输入次数,提高工作效率!

后记 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.