Code Monkey home page Code Monkey logo

the-craft-of-selfteaching's People

Contributors

billwuhao avatar cytrock avatar emhodo avatar engineerwang avatar galaxy1227 avatar gantrol avatar harryyc avatar hugech38 avatar icearl avatar liujuanjuan1984 avatar ljqbpm avatar longzhineng avatar luxingyu-git avatar lxy0xff avatar lyricat avatar neo0007 avatar pad0van avatar richardchen0954 avatar sxuya avatar towerzju avatar wangzhenhuafirst avatar wengyadong avatar wpeiran avatar xiaolai avatar xu-kai-xu avatar yaoyouzhong avatar yingpingzhang avatar yinqc avatar yongchengzhao avatar zhouyinyun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

the-craft-of-selfteaching's Issues

统一Boolean的翻译

在这个 issue 下面集中提交在 windows 操作系统中出现的问题。

我是用 mac 的,很多 windows 下的状况无法“遍历”。

我只知道一部分,比如,cmd 这个命令行工具不太适合使用 git,理论上 powershell 更好,或者需要去 gitforwindows.org 下载安装 git-bash。

各位在 windows 里遇到的情况,可以发在这里。也请 windows 专家在这里解答。谢谢!

请问手机上如何正常查看本书?

在我的安卓手机上下载了多个APP(OpenHub、My GitHub、FastHub)都不能正常查看本书,除了正常文字之外,还有很多代码,请问各位如何像在PC端一样正常查阅?谢谢

自学

思考这本书如何写出来的?
python练习

将本书导出为1本PDF电子书

请问是否有考虑将本书导出为一本 PDF 电子书。

  1. 直接导出为 PDF;
  2. 搭建CI CD流程:合并读者提交的 bug fix PR 后,自动发布更新后的 PDF。

@xiaolai

第一次issues:鼓捣了一整天,看了啥?干了啥?老师哪厉害?

如题,
1:安装了anaconda,也看见了jupyterlab和jupyter notebook,没搞明白怎么打开从GitHub上download下来的zip文件。
2:安装了GitHub的disktop,但是在clone的时候,中途出错。
有不明白的地方也不着急去丝扣,先把书屠戮几遍。一层一层,一块一块的理解吧。
01.preface(前言)到Part.1.E.2看完了。Part.3.D到最后看完了。

我买过好几本关于Python学习的纸质书还有好多电子书,不得其法,一直焦虑与门外。
优秀的老师与优秀的程序员的区别在于,老师能用类比的方法把不同层级不同所属的概念清晰的剥离、拆分并层次分明的解释出来。

Part.1.E.5.strings.ipynb 无法打开

用jupyter lab打开,显示如下:

image

Unreadable Notebook: /Users/shuaiba/the-craft-of-selfteaching/Part.1.E.5.strings.ipynb NotJSONError('Notebook does not appear to be JSON: '{\n "cells": [\n {\n "cell_type": "m...',)

统一Local Variables的翻译

Part.2.D.1-args.ipynb: 中,Local Variables 被翻译为 局域变量
而其他文档中则被翻译为局部变量
个人认为统一翻译成局部变量比较好。

一个例子

在讲到print()函数的时候,举例打一个乘法口诀是极好的,随便深刻理解一下range()这个函数。
代码如下:

for m in range(1,10):
	for n in range(1,m+1):
	    print (str(m) +"*"+str(n) +"="+ str(m*n)+" ",end ="")
	print()    # default  end =“\n”

关于jupyter lab配置成系统服务时候

launchctl load 终端会报错, launchctl 不是内部或外部命令,也不是可运行程序,或批处理文件。
这个实在不知道怎么解决,google了,我是win10系统

launchctl: command not found

而后在 Terminal 里执行:
launchctl load ~/Library/LaunchAgents/com.jupyter.lab.plist

系统环境linux, ubuntu.
请问缺少什么路径还是什么依赖的包文件吗?

关于首页自学递归函数的建议

https://github.com/selfteaching/the-craft-of-selfteaching/blob/master/00.cover.ipynb
本节最后给出了一个关于自学的递归函数,其中有几点问题。
一是这个函数无法终止。我本来以为这是“学海无涯”的意思,但后来一想,运行时间可以无限,但人的脑容量毕竟是有限的,最终还是会stackoverflow。
二是这个函数是一个标准的尾递归。尾递归理论上一定可以被loop重写,因此除了编码方便,在运行时间和空间上都没有优势,以至于一些编译器会默认优化尾递归。这里作为递归的一个示例不太合适。

建议改为:

def TeachYourSelf(anything):
    while not create(something):
        learn()
        if require someotherthing:
            TeachYourSelf(someotherthing)
        practice()
    return "Eureka"

TeachYourSelf(coding)
TeachYourSelf(another1)
TeachYourSelf(another2)
...

自学python 也需要社交,you can you up, no bb

you can you up, no bb 是一句中式英文版的俗语:你行你上啊,别哔哔

我弄了1个小的微信群,群的名字就叫做:you can you up, no bb主题就是吃透笑来的这本新书,通过自学python来掌握自学能力

并做了一个 应景 的小“作业集”,是作业集而不是教程,是因为这个过程中,有节奏地靠自学掌握技能,其实比直接拿来主义获得知识点似乎更重要。

这里没有“老师”,只有大家都在一块儿学,一块儿前行,一块儿完善 对 从0到1 的初学者 更友好 的 作业集。——还有,如果你想要面向 从0到1的初学者 提供一些有价值的文章,也可以进来发现有价值的场景,由此写出你有价值的文章。

这里每个人都是“老师”,因为“教是最好的学”,教自己,和尝试教会别人,都还挺需要一起练习的。

如果你暂时没有任何python相关的社交氛围,欢迎加我的微信号 qiaoanlu ,会自动通过好友,请说明来自github,想加入you can you up, no bb群。

关于windows系统里shell command无法匹配的问题

windows系统下安好Virtual Studio Code后,Crtl+Shift+P打开Command Palette,输入shell command后发现无法匹配到任何命令
1
搜了一下发现是windows系统安装Virtual Studio Code时默认配置好path,只要重启一次系统就行了。直接就可以在Terminal输入code,不用“在其中输入 shell command,而后选中 Install 'code' command in PATH。”

需要一点轻微的科普

苹果的terminal和anaconda prompt,以及win下面的powershell.还有gitbash,有点分不清楚。。。

`.rst`格式可直接用Pandoc转化为`.ipynb`

书中rst2ipynb模块是利用pandoc把转.rst格式.md再转ipynb,然而现在pandoc可以直接把.rst格式转化为.ipynb。不过这样转化会有个问题——所有内容都跑到一个Unit去了。

安装好pandoc后,在.rst文件所在的命令行输入pandoc {file_name}.rst -o {file_name}.ipynb便可成功转化。如:

pandoc appendix.rst -o appendix.ipynb
cd ~/Downloads/cpython/Doc/tutorial/ 
for f in *.rst
    do
        pandoc $f -o "${f/%.rst/.ipynb}"
    done
mkdir ipynbs
mv *.ipynb ipynbs/

上述命令在windows的git bash也可用。


本人还试图使用python编程:

"""
file: rst_to_ipynb.py
"""
import re
import os

rst_files_list = os.popen('ls *.rst').read().split('\n')
rst_files_list.pop()

pattern = re.compile("(.*)\.rst")
base_path = os.getcwd()

if rst_files_list:
    if not os.path.exists('ipynbs/'):
        os.mkdir('ipynbs')
    for file in rst_files_list:
        file_name = re.match(pattern, file).group(1)
        os.popen(f'pandoc {file_name}.rst -o {file_name}.ipynb')  # e.g pandoc appendix.rst -o appendix.ipynb
        # os.rename(os.path.join(base_path, f'{file_name}.ipynb'), 
        #         os.path.join(base_path, 'ipynbs'))

将上述代码保存到.rst文件所在的目录中,在该目录的命令行输入:

python rst_to_ipynb.py
mv *.ipynb ipynbs/

请问del 和 del() 有什么区别?

Part.1.E.6.containers.ipynb 一节中, 笑来老师分别用了deldel() 对列表进行了操作:

del c_list[3]
print(c_list)           # del 是个命令,del a_list[3] 是一个语句;不能这么写: print(del a_list[3])

以及:

del(L[2])
print(L) # 用 del() 对 L 操作之后,L 本身少了 1 个元素

我的疑问是del statmentdel() function 有什么区别?

我测试了用del 和 del() 对列表进行操作,发现返回的结果是一样的:

L1 = ['1', '2', '3']
del L1[1]
print(L1)
L2 = ['1', '2', '3']
del(L2[1])
print(L2)

['1', '3']
['1', '3']

这里 我找到了关于del statment 的解释,但是并没有在Built-in Functions中找到del()
所以说del()并不是一个 Built-in Function ?在哪里可以找到关于del()的说明?

print()函数的官方文档,sep现在有空格了

Part.1.E.4中的脚注提到:

print() 函数的官方文档里,sep='' 肯定是 sep=' ' 的笔误 —— 可以用以下代码验证(2019.02.14)

而现在(2019.03.16)复制粘贴文档中的sep=' ',会发现是有空格的。

这是改了么?

正文“于是” 用太多次了?

据统计,全书“于是”出现次数 139 次。有些地方承接关系可以不用或者换其他方式,比如前言部分:

那时候小朋友们还没学、或者没学好概率这个重要知识,于是,他们并不知道那只不过是 99% 的情况,而且更不知道“因素的重要性与它所占的比例常常全无正相关”,所以当然不知道那自己尚未 见到的 1% 才可能是最重要的……

于是,99% 的小朋友们一不小心就把自己“搭了进去”:

不仅讨厌老生常谈,而且偏要对着干,干着干着就把自己变成了另外一个属于那 99% 的另外一个老生……

这是 99% 的人终其一生的生动写照。

那时候小朋友们还没学、或者没学好概率这个重要知识,他们并不知道那只不过是 99% 的情况,更不知道“因素的重要性与它所占的比例常常全无正相关”,当然也不知道那自己尚未见到的 1% 才可能是最重要的……

99% 的小朋友们一不小心就把自己“搭了进去”:

不仅讨厌老生常谈,而且偏要对着干,干着干着就把自己变成了另外一个属于那 99% 的另外一个老生……

这是 99% 的人终其一生的生动写照。

关于conda/anaconda的加速

鉴于国内访问conda/anaconda比较慢,初学者在安装时不但需要经历漫长的等待时间,而且会中途因网络问题中断,由此frustrated

建议李老师在书中向初学者介绍利用TUNA 等国内分发镜像进行加速的方法,可将下载速度提高数倍。

具体可以参考之前写的拙作

在国内,如何安装Jupyter lab的插件?

解决方法

本身概况

  1. win10操作系统
  2. 在国内

解决路径

  1. 通过nvm(如何安装和使用nvm)下载nodejs 8.0.0 和安装对应的npm
  2. 直连yarn官网,下载安装包直接安装
  3. 在cmd中敲如命令如下,参考文献
    npm config set registry https://registry.npm.taobao.org
  4. 安装toc和sublime插件:

jupyter labextension install @jupyterlab/toc
jupyter labextension install @ryantam626/jupyterlab_sublime
jupyter lab build

注意

  1. nvm选择安装的nodejs版本不要安装最新版,因为在我这里安装虽然成功了,但是并没有安装上npm,所以我选择了8.0.0版
  2. 如果上面的nvm安装教程不行,还有安装nvm

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.