详尽实用的 PyCharm 教程

来源:Python猫

本文假设读者熟悉 Python 开发,且计算机中已安装某个版本的 Python。该教程将使用 Python 3.6 版本,屏幕截图和 demo 均来自 macOS 系统。由于 PyCharm 可在所有主流平台上运行,读者在其他系统中会看到略微不同的 UI 元素,可能需要调整某些命令。

1. PyCharm 的安装

本文将使用 PyCharm Community Edition 2019.1 版本,该版本免费且可在所有主流平台上使用。只有最后一部分「PyCharm Professional 功能」使用的是 PyCharm Professional Edition 2019.1 版本。

推荐使用 JetBrains Toolbox App 安装 PyCharm。使用该 App,你可以安装不同的 JetBrains 产品或者同一产品的不同版本,并在必要的情况下更新、回滚和轻松删除任意工具。你还可以在恰当的 IDE 及版本中快速打开任意项目。

Toolbox App 安装指南,参见 JetBrains 官方文档:https://www.jetbrains.com/help/pycharm/installation-guide.html#toolbox。

该 App 会根据你的操作系统提供合适的安装说明。如果它无法无法准确识别系统,你可以在右上角的下拉列表中找到合适的系统。

详尽实用的 PyCharm 教程,这篇文章值得一看

安装成功后,启动该 app 并接受用户协议。在 Tools 选项下,你可以看到一个可用产品列表。从中找到 PyCharm Community,并点击 Install。

好啦,现在你的机器上已经安装 PyCharm 了。如果不想使用 Toolbox app,你可以单独安装 PyCharm。

启动 PyCharm,你将看到导入设置弹窗。PyCharm 会自动检测出这是首次安装,并为你选择「Do not import settings」选项。点击 OK,之后 PyCharm 会让你选择键盘映射(keymap scheme)。保留默认设置,点击右下角的「Next: UI Themes」:

详尽实用的 PyCharm 教程,这篇文章值得一看

PyCharm 将询问选择深色模式 Darcula 还是浅色模式。你可以选择自己喜欢的模式,并点击「Next: Launcher Script」:

详尽实用的 PyCharm 教程,这篇文章值得一看

本教程将使用深色模式 Darcula。

在下一个页面上,直接保留默认设置,并点击「Next: Featured plugins」,这时 PyCharm 将展示可用插件列表。点击「Start using PyCharm」,现在你可以写代码了!

2. 编写代码

在 PyCharm 中,你可以在「项目」中执行任意操作。因此,首先你需要创建一个项目。

安装和打开 PyCharm 后,你会看到欢迎页面。点击「Create New Project」,出现「New Project」弹窗:

详尽实用的 PyCharm 教程,这篇文章值得一看

指定项目位置,打开 Project Interpreter 列表,选择创建新的项目解释器或者使用已有的解释器。选择「New environment using」,打开其右方的下拉列表,选择 Virtualenv、Pipenv 或 Conda。这些工具可以为不同项目单独创建 Python 环境,从而分别保存不同项目所需的依赖项。

你可以选择其中任意一个,本教程使用的是 Virtualenv。选择后,指定环境位置,从 Python 解释器列表中选择要安装在系统中的 base interpreter。通常,保持默认设置即可。下面有两个可选框:在新环境中继承全局包环境、令当前环境可以用其它所有项目,两个都不要选。

点击右下角的「Create」,创建新项目:

详尽实用的 PyCharm 教程,这篇文章值得一看

屏幕上出现「Tip of the Day」弹窗,在每次启动时 PyCharm 通过该弹窗提供 trick。关掉该弹窗。

现在我们可以开始新的 Python 程序了。如果你使用的是 Mac 系统,使用 Cmd+N 键;如果你使用的是 Windows 或 Linux 系统,使用 Alt+Ins 键。然后选择 Python File。你也可以在菜单中选择 File → New。将新文件命名为 guess_game.py 并点击 OK。你将看到如下 PyCharm 窗口:

详尽实用的 PyCharm 教程,这篇文章值得一看

至于测试代码,我们来快速写一个简单的猜谜游戏,即程序选择一个数字让用户来猜,在每一次猜测时,程序将告诉用户他猜的数字比神秘数字大还是小,用户猜中数字时游戏结束。以下是该游戏的代码:

详尽实用的 PyCharm 教程,这篇文章值得一看

直接键入上述代码,而不是复制粘贴。你会看到如下画面:

详尽实用的 PyCharm 教程,这篇文章值得一看

如上图所示,PyCharm 提供 Intelligent Coding Assistance 功能,可以执行代码补全、代码检查、错误高亮显示和快速修复建议。比如键入 main 并点击 tab 键,PyCharm 会自动补全整个 main 从句。

此外,如果你在条件句前忘记键入 if,在该句子最后增添.if 并点击 Tab 键,PyCharm 将修复该 if 条件句。该用法同样适用于 True.while。这即是 PyCharm 的 Postfix Completion 功能,它可以帮助用户减少退格键使用次数。

3. 如何运行代码

现在你已经编码完成该游戏,可以运行了。

该游戏程序有三种运行方式:

  1. 在 Mac 系统中使用快捷键 Ctrl+Shift+R,在 Windows 或 Linux 系统中,使用快捷键 Ctrl+Shift+F10。

  2. 右键单击背景,从菜单中选择「Run 『guess_game』」。

  3. 由于该程序具备main__ 从句,你可以点击__main 从句左侧的绿色小箭头,选择「Run 『guess_game』」。

使用以上任一方式运行该程序,窗口底部会出现终端面板(Terminal pane),显示你的代码输出结果:

详尽实用的 PyCharm 教程,这篇文章值得一看

你可以玩一下这个游戏,看看自己能否猜中数字。(专业建议:从 50 开始猜。)

4. 进行代码的调试

找到神秘数字了吗?如果找到了,你可能会看到一些奇怪的东西:程序没有打印出祝贺信息和显示退出按钮,而是重新开始了。这就是 bug 所在。要想发现程序重新开始的原因,你需要 debug。

首先,点击第 8 行代码左侧的空白区域,设置断点:

详尽实用的 PyCharm 教程,这篇文章值得一看

断点即程序运行到这一行时会自动停止,你可以探索断点处之后的代码有什么错误。接下来,从以下三种方式中选择一种开始 debug:

  1. 在 Mac 系统中使用 Ctrl+Shift+D 键,在 Windows 或 Linux 系统中使用 Shift+Alt+F9 键。

  2. 右键单击背景,选择「Debug 『guess_game』」。

  3. 点击main从句左侧的绿色小箭头,选择「Debug 『guess_game』」。

之后,你将看到底部出现 Debug 窗口:

详尽实用的 PyCharm 教程,这篇文章值得一看

按照下列步骤执行程序 debug:

  1. 注意当前行被蓝色高亮显示。

  2. Debug 窗口显示 random_int 及其值。记录该数字。(上图中该数字为 85。)

  3. 点击 F8 执行当前代码行,并执行到下一行代码。如有必要,你也可以使用 F7 跳转到当前行内的函数。随着你继续执行语句,变量的变化将自动呈现在 Debugger 窗口。

  4. 注意 Debugger 标签右侧有一个 Console 标签。Console 标签和 Debugger 标签相互独立。你可以在 Console 中与程序进行交互,在 Debugger 中执行 debug 动作。

  5. 转向 Console 标签,进入猜测过程。

  6. 键入左侧 Debugger 标签中显示的数字,点击 Enter 键。

  7. 转回 Debugger 标签。

  8. 再次点击 F8,计算 if 语句。注意现在你在第 14 行。为什么不是第 11 行呢?因为第 10 行的 if 语句被计算为 False。那么为什么当你键入数字后它算出来为 False 了呢?

  9. 仔细看第 10 行,注意我们在对比 user_guess 和一个错误的项。我们应该对比用户猜测的数字和 random_int,但此处我们对比的是 randint(从 random 包导入的函数)。

  10. 将 randint 更改为 random_int,按照同样的步骤重新开始 debug。你会发现,这一次到达的是第 11 行,第 10 行算出来为 True:

恭喜你,bug 被修复了!

5. 进行代码测试

不经单元测试的应用都不可靠。PyCharm 可以帮助你快速舒适地写单元测试并运行。默认情况下,unittest 被用作测试运行器,而 PyCharm 还支持其他测试框架,如 pytest、nose、doctest、tox 和 trial。例如,你可以按照以下步骤为项目选择 pytest 测试运行器:

  1. 打开 Settings/Preferences → Tools → Python Integrated Tools 设置对话框。

  2. 在默认测试运行器字段中选择 pytest。

  3. 点击 OK 保存该设置。

本教程的示例将使用默认测试运行器 unittest。

在同一个项目中,创建文件 calculator.py,并将以下 Calculator 类放入该文件:

详尽实用的 PyCharm 教程,这篇文章值得一看

PyCharm 使得为已有代码创建测试变得轻而易举。打开 calculator.py 文件,执行以下步骤中的任意一个:

  • 在 Mac 系统中使用 Shift+Cmd+T 键,在 Windows 或 Linux 系统中使用 Ctrl+Shift+T。

  • 右键单击该类的背景,选择「Go To and Test」。

  • 在主菜单中吗,选择 Navigate → Test。

选择「Create New Test…」,得到以下窗口:

详尽实用的 PyCharm 教程,这篇文章值得一看

Target directory、Test file name 和 Test class name 这三项均保留默认设置。选中上图中两种需要测试的方法并点击 OK。好了!PyCharm 自动创建文件 test_calculator.py,并在其中创建了以下 stub test:

详尽实用的 PyCharm 教程,这篇文章值得一看

使用以下方法中的任意一个运行测试:

  • 在 Mac 系统中使用 Ctrl+R 键,在 Windows 或 Linux 系统中使用 Shift+F10 键。

  • 右键单击背景,选择「Run 『Unittests for test_calculator.py』」。

  • 点击测试类名称左侧的绿色小箭头,选择「Run 『Unittests for test_calculator.py』」。

你将看到底部出现测试窗口,所有测试均失败:

详尽实用的 PyCharm 教程,这篇文章值得一看

注意,左侧是测试结果的层次结构,右侧是终端的输出。现在,将代码更改成以下代码,实现 test_add:

详尽实用的 PyCharm 教程,这篇文章值得一看

重新运行测试,你会看到一个测试通过了,另一个则失败。按照如下操作探索不同选项,来展示已通过测试和被忽略测试,按照字母顺序对测试进行排序,以及按照时长对测试进行排序:

详尽实用的 PyCharm 教程,这篇文章值得一看

注意,上图中的 sleep(0.1) 方法的作用是使其中一个测试变慢,以便按时长对测试进行排序。

6. 编辑已有项目

单文件项目非常适合作为示例,但你通常需要处理较大的项目。这部分将介绍如何使用 PyCharm 处理较大项目。

为了探索 PyCharm 以项目为中心的特征,你将使用 Alcazar web 框架(该框架用于学习目的)。在本地复制该 repo(地址:https://realpython.com/optins/view/alcazar-web-framework/)。

当你在本地已有项目时,使用以下方法中的任意一个在 PyCharm 中打开项目:

  • 在主菜单中点击 File → Open。

  • 在欢迎页面点击 Open。

之后,在计算机中找到包含该项目的文件夹,并打开。

如果该项目包含虚拟环境,PyCharm 将自动使用该虚拟环境,并将它作为项目解释器。

如果你需要配置不同的虚拟环境 virtualenv,在 Mac 上打开 Preferences,或在 Windows 或 Linux 系统中使用 Ctrl+Alt+S 打开 Settings,找到 Project: ProjectName。打开下拉列表,选择 Project Interpreter:

从下拉列表中选择 virtualenv。如果没有要选择的项,则点击下拉列表右方的设置按钮选择 Add…。其余步骤和创建新项目的步骤相同。

7. 使用搜索和导航

在大项目中,我们很难记住每个事物的位置,因此快速导航和搜索非常重要。PyCharm 可以提供这些功能。接下来,我们使用上一节中打开的项目,实践以下快捷键:

  • 在当前文件中搜索代码段:在 Mac 系统中使用 Cmd+F 键,在 Windows 或 Linux 系统中使用 Ctrl+F 键。

  • 在整个项目中搜索代码段:在 Mac 系统中使用 Cmd+Shift+F 键,在 Windows 或 Linux 系统中使用 Ctrl+Shift+F 键。

  • 搜索类:在 Mac 系统中使用 Cmd+O 键,在 Windows 或 Linux 系统中使用 Ctrl+N 键。

  • 搜索文件:在 Mac 系统中使用 Cmd+Shift+O 键,在 Windows 或 Linux 系统中使用 Ctrl+Shift+N 键。

  • 如果你不知道要搜索的是文件、类还是代码段,则搜索全部:按两次 Shift 键。

导航可使用以下快捷键:

  • 前往变量的声明:在 Mac 系统中使用 Cmd 键,在 Windows 或 Linux 系统中使用 Ctrl 键,然后单击变量。

  • 寻找类、方法或文件的用法:使用 Alt+F7 键。

  • 查看近期更改:使用 Shift+Alt+C 键,或者在主菜单中点击 View → Recent Changes。

  • 查看近期文件:在 Mac 系统中使用 Cmd+E 键,在 Windows 或 Linux 系统中使用 Ctrl+E 键,或者在主菜单中点击 View → Recent Files。

  • 多次跳转后在导航历史中前进和后退:在 Mac 系统中使用 Cmd+[ / Cmd+] 键,在 Windows 或 Linux 系统中使用 Ctrl+Alt+Left / Ctrl+Alt+Right 键。

更多细节,参见官方文档:https://www.jetbrains.com/help/pycharm/tutorial-exploring-navigation-and-search.html。

PyCharm 中的版本控制

版本控制系统(如 Git 和 Mercurial)是现代软件开发世界中最重要的工具之一。因此,IDE 必须支持版本控制。PyCharm 在这方面做得很好,它集成了大量流行的版本控制系统,如 Git(和 Github (https://github.com/))、Mercurial、Perforce 和 Subversion。

注:以下示例中使用的版本控制系统为 Git。

8. 配置版本控制系统(VCS)

要想实现 VCS 集成,你需要在顶部菜单点击 VCS → VCS Operations Popup…,或者在 Mac 系统中使用 Ctrl+V 键,在 Windows 或 Linux 系统中使用 Alt+` 键。选择 Enable Version Control Integration…,你将看到以下窗口:

详尽实用的 PyCharm 教程,这篇文章值得一看

从下拉列表中选择 Git,点击 OK,这样你就为项目设置好了 VCS。(注意,如果你打开的已有项目已经具备版本控制系统,PyCharm 将会发现并自动使用该版本控制系统。)

这时如果你前往 VCS Operations Popup…,你会发现一个不同的弹窗,它具备选项 git add、git stash、git branch、git commit、git push 等等:

详尽实用的 PyCharm 教程,这篇文章值得一看

如果你找不到所需要的选项,你可以在顶部菜单中点击 VCS,选择 Git,在这里你可以创建和查看 pull request。

提交和冲突处理

这是 PyCharm 中 VCS 集成的两大特征,我个人经常使用并且非常喜欢。假如你完成了工作,打算提交,前往 VCS → VCS Operations Popup… → Commit…,或者在 Mac 系统中使用 Cmd+K 键,在 Windows 或 Linux 系统中使用 Ctrl+K 键。你将看到如下窗口:

详尽实用的 PyCharm 教程,这篇文章值得一看

在该窗口中,你可以:

  • 选择要提交的文件

  • 写下提交信息

  • 在提交前执行各项检查

  • 查看更改

  • 点击右下角 Commit 按钮旁边的箭头,选择 Commit and Push…,从而一次性完成提交和 push。

是不是感觉很神奇很迅速?特别是如果你以前经常通过命令行手动执行这些任务时。

团队合作中会出现合并冲突(merge conflict)。当一个人对你正在处理的文件提交更改时,你们二人更改了同一行导致更改重叠,这时 VCS 无法决定选择你的更改还是队友的更改。那么你可以使用以下箭头和符号来解决这个问题:

详尽实用的 PyCharm 教程,这篇文章值得一看

看起来很奇怪,我们很难分辨应该删除哪些更改、保留哪些更改。不要怕,PyCharm 来了!它可以用更好、更简洁的方法解决冲突。在顶部菜单中前往 VCS,选择 Git,然后选择 Resolve conflicts…。选择存在冲突的文件,点击 Merge,出现以下窗口:

详尽实用的 PyCharm 教程,这篇文章值得一看

在左侧列中,你可以查看自己做的更改。在右侧列中,可以查看队友做的更改。而中间列则显示结果。存在冲突的代码行被高亮显示,你可以在它们旁边看到 X 和 >>/<<。点击箭头表示接受更改,点击 X 则表示拒绝更改。解决所有冲突后,点击 Apply 按钮:

详尽实用的 PyCharm 教程,这篇文章值得一看

在上图中,对于第一个冲突行,作者选择拒绝自己的更改,接受队友的更改。而在第二个冲突行中,作者接受了自己的更改,拒绝了队友的更改。

使用 PyCharm 中的 VCS 集成还可以执行很多操作。详情参见 https://www.jetbrains.com/help/pycharm/version-control-integration.html。

9. 使用插件和外部工具

在 PyCharm 中你可以找到开发所需的几乎所有功能。如果没找到,那么很可能存在一个插件,向 PyCharm 提供你需要的功能。例如,它们可以:

  • 添加多语言和多框架支持

  • 使用快捷键提示(shortcut hint)、文件监视器(file watcher)等提升你的生产效率

  • 利用代码练习,帮助你学习新的编程语言

例如,IdeaVim 插件向 PyCharm 添加 Vim 模拟。如果你喜欢 Vim,这个插件可以实现不错的结合。

Material Theme UI 插件可将 PyCharm 的外观改变为 Material Design 的外观:

详尽实用的 PyCharm 教程,这篇文章值得一看

Vue.js 插件使 PyCharm 支持 Vue.js 项目。Markdown 插件使得在 IDE 内可以编辑 Markdown 文件,并实时预览渲染后的 HTML。

在 Mac 系统上点击 Preferences → Plugins,在 Windows 或 Linux 系统中点击 Settings → Plugins,你可以在 Marketplace 标签下找到和安装所有可用插件:

详尽实用的 PyCharm 教程,这篇文章值得一看

如果仍然没找到所需插件,你甚至可以自己开发一个。

如果你找不到合适的插件,又不想自己开发,因为 PyPI 上有可用的包,你可以将这个包作为外部工具添加到 PyCharm。以代码分析器 Flake8 为例。

选 Terminal app 中键入 pip install flake8,从而在虚拟环境中安装 Flake8。或者也可以使用 PyCharm 集成的 Terminal:

详尽实用的 PyCharm 教程,这篇文章值得一看

在 Mac 系统上点击 Preferences → Tools,在 Windows 或 Linux 系统中点击 Settings → Tools,选择 External Tools。然后点击底部 (1) 处的 + 按钮。在弹出的窗口中,输入细节并在两个窗口中点击 OK,如下图所示:

详尽实用的 PyCharm 教程,这篇文章值得一看

上图中,Program (2) 指 Flake8,你可以在虚拟环境文件夹(bin)中找到它。Arguments (3) 表示你想用 Flake8 分析的文件。Working directory 表示项目目录。

你可以把这里所有项的绝对路径写死,但这就意味着你无法在其他项目中使用该外部工具,只能在一个项目中针对一个文件使用该工具。

因此你需要使用 Macros。它是详尽实用的 PyCharm 教程,这篇文章值得一看格式的变量,根据语境而变化。例如,当你编辑 first.py 时,详尽实用的 PyCharm 教程,这篇文章值得一看 为 first.py,当你编辑 second.py 时,详尽实用的 PyCharm 教程,这篇文章值得一看 为 second.py。你可以查看它们的列表,点击 Insert Macro… 按钮将其中一个插入。此处你使用了 macros,它们的值会根据你目前处理的项目而改变,Flake8 将继续准确执行其工作。

要想使用它,你需要创建文件 example.py,并在其中写入以下代码:

详尽实用的 PyCharm 教程,这篇文章值得一看

上述代码故意破坏了 Flake8 的一些规则。右键单击文件背景,选择 External Tools → Flake8。Flake8 分析结果将出现在窗口底部:

详尽实用的 PyCharm 教程,这篇文章值得一看

为了使效果更好,你可以为其添加快捷键。在 Mac 系统中选择 Preferences,在 Windows 或 Linux 系统中选择 Settings。然后,点击 Keymap → External Tools → External Tools。双击 Flake8,选择 Add Keyboard Shortcut,出现以下窗口:

详尽实用的 PyCharm 教程,这篇文章值得一看

上图中,快捷键是 Ctrl+Alt+A(本教程使用该快捷键)。你可以在文本框中添加喜欢的快捷键,然后在两个窗口中点击 OK。然后,你就可以用该快捷键,在 Flake8 的帮助下分析目前在处理的文件了。

10. PyCharm Professional 功能

PyCharm Professional 是 PyCharm 的付费版本,具备更多开箱即用的功能和集成。这部分将概览其主要功能,以及官方文档链接(其中详细介绍了每一项功能)。记住,以下功能在 PyCharm Community 版本中均不可用。

Django 支持

Django 是最流行和最受喜爱的 Python web 框架,PyCharm 对 Django 提供广泛的支持。要确保对 Django 的支持,需要执行以下步骤:

  1. 在 Mac 系统中打开 Preferences,在 Windows 或 Linux 系统中打开 Settings。

  2. 选择 Languages and Frameworks。

  3. 选择 Django。

  4. 检查复选框 Enable Django support。

  5. 应用更改。

现在确保了对 Django 的支持,你在 PyCharm 中的 Django 开发之旅将轻松很多。具体而言在创建项目时,你会得到一个专用的 Django 项目类型。这表示,当你选择该类型时,你将拥有所有必要文件和设置。这等同于使用 django-admin startproject mysite。

你也可以在 PyCharm 内直接运行 manage.py 命令。目前支持的 Django 模板,包括以下一些:

  • 语法和错误高亮显示

  • 代码补全

  • 导航

  • block 名称补全

  • 自定义标签和过滤器补全

  • 标签和过滤器的快速文档

  • 模板 debug 能力

除此之外,我们还可以在其他 Django 部分(如视图、URL 和模型)中执行代码补全、对 Django ORM 提供代码追踪支持(code insight support)、对 Django 模型提供模型依赖项关系图。

更多细节,参见官方文档:https://www.jetbrains.com/help/pycharm/django-support7.html。

11. 数据库支持

现代数据库开发是一个复杂的任务,需要多个支持系统和工作流。这也是 JetBrains 开发独立 IDE DataGrip 的原因。DataGrip 是独立于 PyCharm 的产品,二者的应用场景和授权都不相同。

但幸运的是,通过 Database tools and SQL 插件(该插件默认开启),PyCharm 可以支持 DataGrip 中的所有特性。在该插件的帮助下,你可以查询、创建和管理数据库,不管数据库在本地、服务器,还是在云端。该插件支持 MySQL、PostgreSQL、Microsoft SQL Server、SQLite、MariaDB、Oracle、Apache Cassandra 等。

关于该插件的更多用途,请查看文档:https://www.jetbrains.com/help/pycharm/relational-databases.html。

程并发可视化(Thread Concurrency Visualization)

Django Channels、asyncio 和近期框架(如 Starlette (https://www.starlette.io/))表明异步 Python 编程正逐渐成为趋势。异步编程具备很多好处,但很难写,也很难 debug。在此类案例中,Thread Concurrency Visualization 就是医生,帮助你全面管理多线程应用并进行优化。

更多细节,参见文档:https://www.jetbrains.com/help/pycharm/thread-concurrency-visualization.html。

12. Profiler 性能分析

说到优化,profiling 是另一种代码优化方法。profiling 可以帮助你查看代码的哪一部分占用了最多的执行时间。profiler 运行的优先级如下:

  1. vmprof

  2. yappi

  3. cProfil

如果你没有安装 vmprof 或 yappi,则运行标准 cProfile。更多细节,参见:https://www.jetbrains.com/help/pycharm/profiler.html。

13. 科学模式

Python 不仅是通用和 web 编程语言,由于 NumPy、SciPy、scikit-learn、Matplotlib、Jupyter 等库和工具的加持,Python 成为数据科学和机器学习领域的最优工具。有了这些强大工具,你还需要一个强大的 IDE 来支持这些库所具备的绘图、分析等所有功能。

关于科学模式的更多详情,参见 https://www.jetbrains.com/help/pycharm/matplotlib-support.html。

14. 远程开发

很多应用出现 bug 的一个常见原因是,开发环境和生产环境不同。尽管在大多数情况下,开发时完美复制生产环境并不现实,但力求实现完美复刻是值得追寻的目标。

在 PyCharm 的帮助下,你可以使用另一台计算机(如 Linux VM)上的解释器对应用进行 debug。这样,你就可以拥有与生产环境一样的解释器了,从而避免很多因开发环境和生产环境差异导致的 bug。

详情参见:https://www.jetbrains.com/help/pycharm/remote-debugging-with-product.html。

15. 写在最后

PyCharm 是最好的 Python 开发 IDE 之一。它提供大量优势,帮助执行例行任务,从而节约大量时间。学完本教程,现在你知道如何利用 PyCharm 提高生产效率了吗?

 转自:https://mp.weixin.qq.com/s/mGDh1pt8-2jXM-mJ3VDPxg

裸聊网站108亿条数据泄露,中国53万老哥有点慌!

【黑话连篇】

该栏目更多的是揭露事件或对事件的看法,以达到让人精神升华的目的。

 


 

以前我经常写一些隐私安全相关的文章,告诉大家在这个时代,每个人其实都是很透明的,不管是你的个人信息,社交属性,还是个人爱好。

 

但凡你使用过互联网产品,就一定会被记录,就一定有泄露的风险。

 

这事儿现在说来,真的是个老生常谈的话题。

 

每隔一段时间,你都会看到某酒店上亿的开房数据被泄露,或者某社交软件被黑客攻击,导致数据外泄。

 

个人隐私之所以会被泄露,无外乎两个关键点,第一要么是黑客攻击,有意而为之;第二那就是内鬼泄露了。

 

卖数据这事儿可赚钱了,但各位要知道,这条赚钱小技巧可早就位列刑法第二百五十三条了哦。

 

他虽然是一条赚钱小技巧,但他同时也是一条入狱小技巧,建议大家大声朗读并背诵下来。

 

裸聊网站108亿条数据泄露,中国53万老哥有点慌!

 

以往的数据泄露,内鬼就不用说了,一般都是利用自己的职务便利,基本上没有什么技术含量。

 

但黑客攻击就不一样了,各种手法怎么骚怎么来,找“后门”的找“后门”,搞爆破的搞爆破。

 

一般来说,但凡能轻松盗取别人数据库的,要么是有点黑客技术,加上对方的安全防护做得太差,直接admin作为用户名和密码的,这种你说人不搞你都天理难容。

 

最近看到一个新闻,讲的是国外一家叫做CAM4的成人网站遭遇了数据泄露,而被泄露的数据内容特别的丰富,包含了7tb的用户姓名、电子邮件、性取向、支付记录和聊天记录等。

 

一共109.8亿条记录被曝光,其中还有536579位是来自中国的老哥。

 

我原本以为这是一起普通的数据泄露事件,毕竟前面说了,数据泄露不是黑客攻击,那就只能是内鬼泄露了。

 

这次的数据泄露你们猜这么着,它不是黑客攻击,更不是内鬼为了牟利暗中售卖。

 

居然是因为,没有设置密码……

 

裸聊网站108亿条数据泄露,中国53万老哥有点慌!

 

根据发现这起数据库泄露事件的团队来说,该网站的数据泄露,是因为Elasticsearch 搜索集群配置错误而导致的。

 

啥意思呢,就是说Elasticsearch 本身并未配置访问密码。

 

这里解释一下Elasticsearch,它是一个分布式的搜索引擎,具有搜索、分析大量数据的能力。

 

所以只要它被部署到公网上,那些扫描到该服务器的人,就可以随便访问。

 

这就相当于老黑我在酒店洗澡的时候忘记关门了,但凡是路过的黑友,你们都可以进来无情的蹂躏我,听懂了吗?

 

裸聊网站108亿条数据泄露,中国53万老哥有点慌!

 

另外,不知道是我见识的成人网站有限还是这么滴,在我研究完该网站之后我发现,这个网站还挺他妈创新的。

 

他不像其他成人网站都是干巴巴、毫无互动趣味性的视频,也没有那么多的重口味,它里面的内容形式居然都是直播。

 

这…

 

这就有点刺激了。

 

裸聊网站108亿条数据泄露,中国53万老哥有点慌!

 

当然,这次我可没有帮你们去体现整个流程,毕竟像我这种小猛男,平时都在掏空心思想怎么给你们带来好的文章,哪有那闲工夫搞些有的没的。

 

所以我只是大概看了一下后发现,这个网站是支持观众和主播进行聊天的,就相当于你在抖音上看到一个漂亮小姐姐,想上去勾搭几句,你是可以给对方发私信的。

 

你说这场景要是换到这种平台上,那还得了。

 

想必各位的虎狼之词比我写的文章还骚吧!

 

但是注意了,这次的泄露事件,这些聊天记录啥的,也一并跟着流传了出来,所以啊,大家一定要记住,没有哪个平台是安全的,骚话可以说,但应该想想后果,以防万一。

 

除此之外,这个网站还有个奇葩的地方,那就是它每个月会举办一次“比赛”。只要你上传自己的录像,你就有机会赢取现金大奖。

 

怎么样,刺不刺激,又可以赚钱又可以爽,这是多少人的躺赚梦想啊。

 

裸聊网站108亿条数据泄露,中国53万老哥有点慌!

 

不过有一说一,这网站倒是还有点意思,这玩法在中文互联网里,不就叫做用户UGC吗,通过引导用户生产内容,让平台内容得以循环下去,有一套有一套。

 

以往说到数据泄露,大家都会有点担心,自己的隐私会不会被人利用之类的,比如之前华住旗下酒店的开房数据被泄露,很多人就担心自己给别人戴绿帽子这事恐怕要藏不住了,当然也有人怕自己被戴绿帽子,所以想花钱去购买这些数据进行查询。

 

这一来二而去,供需明确,自然就能产生利益链条。

 

我看了这次成人网站的数据泄露,有108.8亿条用户的敏感信息被泄露,其中包括五十多万中国人,不知道这50多万哥们中,有没有正在看这篇文章的。

 

虽然这次的数据泄露不是黑客或内鬼有意为之,但他泄露出来的数据,如果被有心人利用,其实还是有些风险的。

 

现在大家都有很多社交账号,为了方便记忆,很多人都是一个密码走天下。

 

我一直告诉大家,密码不能重复,且要使用强密码,不要使用弱密码。啥是弱密码,姓名首字母加手机号、QQ号之类有规律的,就算弱密码。

 

大部分的数据泄露,别人一旦拿到你其中一个账号的密码,他可以采用撞库的方式去登陆你的其他账号,撞库说白了就是批量尝试。

 

这个时候如果你是一个密码走天下,而且又是弱密码,你说自己还可能有隐私可言吗?

 

裸聊网站108亿条数据泄露,中国53万老哥有点慌!

 

之前写过好几次裸聊事件,对方都是先用木马获取你的手机通讯录,再抓你的把柄,从而实施勒索行为。

 

换到这种事情上,其实也差不多,如果别人知道了很多你的个人信息,他诈骗的成功率就会高很多,勒索的筹码也会相应的增加。

 

回到密码管理的问题上,如何解决密码不重复、且难记的问题,分享一个我自己的使用习惯。

 

我基本上所有的账号密码都是不重复的,我也只能记住几个常用账号的密码,其他的全都存在密码管理工具里,比如1password。

 

可能有人会说,这不还是使用的别人的工具吗,要是这种密码管理器被黑了,不也照样有泄露的风险吗?

 

此话不假,他当然也有泄露的风险。如果你依然不放心,那本地化最安全,找个小本子记下来,这不可能被黑客盗取了吧!

 

性这个东西,很多人都是控制不了的,你指不定哪天就鬼迷心窍的干了啥羞羞的事,如果碰巧遇到信息泄露被人利用,那这老司机的车可是说翻就翻啊。

 

 

转自:https://mp.weixin.qq.com/s/cBM3Q6GmYgJsFhTgrfgC7Q

一场属于少数人的复苏

一场属于少数人的复苏

 

 

特斯拉的股价离新高只有一步之遥了,尽管到现在它的工厂恢复满负荷生产的只有上海一个,而分析师对二季度销量的平均预测是——

 

下降20%

 

在大洋彼岸,茅台的股价早已突破历史新高,可雪球上很多球友还在为它打抱不平——

 

“凭什么那些竞争激烈的半导体企业能拥有上百倍的市盈率估值,而国酒茅台只有40倍?”

 

和它们一起创出新高的还有中国国旅、爱尔眼科、好未来,以及深圳的房价,和北京SKP商场的单月销售数据。

 

看起来,这些备受青睐的资产五花八门,分布在各个领域,然而如果说背后有什么共性的话,那就是它们的拥有者,或者说想要拥有它们的人,都不太会是这次疫情真正的受害者。

 

有人说疫情之后,资本市场对所谓的核心资产又进行了优中选优,只有真金不怕火炼的品种才能继续上涨,可我倒觉得不如说疫情让投资者将嫌贫爱富的情绪发挥到了极致——过去“消费升级”和“消费下沉”两个概念还可以比翼双飞,而此时此刻,“势利”的资本市场坚定地只选择了其中一种:

 

服务于那一小撮人的,才是赢家。

 

 

1

 

 

最近想要卖房子的和想要出租房子的房东,享受到的是“冰火两重天”。

 

小区外面的中介和我说,无论是一手房还是二手房,最近的市场都是火爆异常,来看房的人络绎不绝,他们已经无暇分辨这到底还算是报复性买房,抑或是新牛市的开始。

 

然而出租市场却依旧是一幅“千里冰封”的光景。

 

挂牌的租金降了又降,可看房的人依然寥寥无几,之前还可以找借口说是因为小区封闭,可如今几乎全都解封了,却依然难觅租客。

 

客观数据也正在映证这两种截然不同的感受。

 

以房市火热的深圳为例。根据贝壳研究院的数据,深圳二手房的成交价格自二月份以来就一路上扬,可租金价格却从2019年4月份见顶以来一直震荡下行,最近两个月丝毫没有好转的迹象。

 

一场属于少数人的复苏

 

一场属于少数人的复苏

 

而这还是在劳动力流入最明显的深圳。

 

如果去看全国的情况,5月底中国社科院财经战略研究院发布的纬房指数报告显示,以一二线城市为主的核心城市房价正快速回升,但与此同时,住房租金却出现了较快下降。

 

24个核心城市综合房价如今已经高于2019年全年的最高房价,可这些城市的住房租金却已经连续三个月下降。

 

一升一降,在下面的图里反映的再清晰不过。

 

一场属于少数人的复苏

 

仔细想来,这背后的逻辑也不难理解。

 

现如今,买得起一二线城市二手房的,大多是置换需求,而不再是从租房人群转化而来。因此买房的和租房的,越来越成了泾渭分明的两拨不同的人。

 

在当下的环境里,置换的人手上的房没有受到疫情的影响,依然可以顺利变卖,同时换房的需求在放水的危机感下从未如此迫切。然而租房的人却正实实在在的感受着降薪和裁员的危机,能够安稳的留守在当下的出租房里已是不易,又谈何改善和搬家呢?

 

 

 

2

 

 

除了在房市中如人饮水冷暖自知外,最近的股票市场是反映阶层分化的更好案例。

 

尽管从全球每日新增病例来看,这一轮疫情还远远没有到尽头,甚至除了中国之外,其他国家最多才刚刚开始解除封锁。然而股票市场已经迫不及待的走在了前面,特别是美国市场,纳斯达克离历史新高只有一步之遥。

 

当然,高盛做过统计,除了一马当先的FAAMG之外,其他90%的股票都是跑输市场的,而这其中有几个特例,比如医疗股,再比如特斯拉和lululemon。

 

事实上,特斯拉自3月份的低点以来已经上涨了150%,而lululemon更在疫情前的历史高点基础上又涨了20%。

 

他们都有一个特点,那就是消费主力并不是那些需要拿失业救济金的人。因此特斯拉的销量在疫情期间也能逆势而上,而lululemon虽然关闭了线下门店,可线上销量却在猛增。

 

同样的,如果去看法拉利的股价,会发现今年以来几乎就是一条直线,完全没有受到疫情影响,原因不言自明。

 

在中国,类似的故事也在上演。

 

白酒中的一线品牌如贵州茅台和五粮液已经比疫情前的高点分别涨了23%和20%,可是以牛栏山二锅头闻名的顺鑫农业的股价却还比疫情前低13%。

 

坐拥海南离岛免税店的中国国旅,虽然机场免税店业务受到重挫,可市场还是愿意为消费者去免税店扫货的愿景买单,近三个月涨了50%。这一股价表现,比起同是线下店铺,却是面向大众消费者的那些百货商场和购物中心实在要好太多。

 

不过即便是在百货商场行业中,类似的差别也同样存在——同样是在港股上市,运营高端商场的恒隆地产和嘉里建设股价一个今年涨了3%,一个只跌了10%,可在年轻人里有着超高人气的大悦城地产,今年的跌幅却超过了30%。

 

从衣食住行到吃喝玩乐,大到汽车房屋,小到食品饮料,在这个后疫情时代,越是面向高端人群的品牌,资本市场越是青睐,而越是平民化的,投资者们却在用脚投票。

 

 

 

3

 

如果再细究这背后的原因,第一反应是不符合逻辑,因为无论是美国还是中国,疫情援助的重点都是面向失业者、面向小微企业、面向受疫情影响最深的人群。可到头来,“大水”的真正流向却是美国的股市、中国的房市,乃至整个资本市场。

 

这究竟是为什么?

 

最近看了很多关于全球央行天量放水究竟会如何影响通胀和购买力的文章,但都比不上资本市场用脚投票做出的选择更让人心领神会。

 

事实上,对于那些受疫情影响最严重的工薪阶层和低收入人群,看起来是救助法案或者定向援助最直接的受益者,然而援助能够解决的最多是他们一时的生存问题。对于这部分人来说,其长期购买力最重要的决定因素是他们自身的劳动力,可这部分购买力却因为失业和降薪大大受损,而且不是短期救助可以挽回的。

 

反观对于依靠劳动力较少,依靠资本生息更多的富裕阶层来讲,美联储对企业债的兜底计划和全球央行压低实际利率的努力,恰恰让资产和信用的长期价值得以进一步膨胀——因此,他们的购买力不但没有因为疫情而削弱,反而因为央行放水带来的实际利率下降而增强了。

 

一升一降,一高一低,于是原本就已经分化的阶层差距,因为这次全球央行为了救经济于水火之中的各种行动而被进一步扩大。体现在消费行动上,就是一部分人可以火速去买房,另一部分人却连租房都换不起;一部分人依然可以在网上订特斯拉、买lululemon,而另一部分人却将消费下沉又下沉,到了拼多多和地摊经济的水平线。

 

因此事实上,这一轮放水带来的通货膨胀,未必会体现为物价飞涨,而更可能是体现在普通人的购买力不断下降——

 

以前年轻人的劳动力还算值钱,奋斗几年可以背上贷款在一二线城市买个“上车盘”,然而现如今就算掏空六个钱包,如果没有房子可以变卖,想在大城市买房也是难上加难。

 

以前普通人用手上微薄的积蓄努力一把,就能拥有几万块钱一手的茅台,可现如今门槛抬高到了14万一手,这已经超过了全国50%的A股账户总资产。

 

对于资本而言,这是最好的时代,可对于劳动力而言,这却是最坏的时代。

 

所以不要再为疲软的经济就业和狂欢的资本市场之间的“违和感”而困惑,我们真正需要担心的,是当这一切被推到极致的时候,会出现什么样的结果。

 

希望不会是历史的车轮告诉我们的那样。

 


转自:https://mp.weixin.qq.com/s/xDegeApvTHzXAd38uhYBBA

啥?我从小吃到大的竟然是以前的“西餐”?!

啥?我从小吃到大的竟然是以前的“西餐”?!

 
欧美的餐厅榜上,有一种名叫Asian Fusion的分类。
 
翻译过来,意为亚洲融合菜。在同一家餐厅里,可以吃到中国、日本、韩国、越南、泰国等各种菜系的混搭。比如麻婆豆腐寿司、冬阴功配石锅饭等等。东方人眼中魔幻的菜品组合,在西方人观念里却是自成一体的遥远风情。
 

啥?我从小吃到大的竟然是以前的“西餐”?!

亚洲融合菜里出现的煎饺丨kknews.cc
同样,“西餐”两字,也是地道的中国概念。它囊括了东方视角下的欧美饮食,也从一个侧面,反映了中国人对舶来文化的改良。
 
如果说原生菜系川鲁粤淮扬,浓缩了国家饮食前尘隔海的光荣与过往;那么中国的西餐,则彰显了文化融合、世界趋同背景下和而不同的气度。
 
啥?我从小吃到大的竟然是以前的“西餐”?!
西式午餐肉炒饭丨豆果美食网网友只爱飞飞自己
 
 
01
 你知道吗 
/ 这些东西曾经都是”西餐” /
 
中国人从来都不是排外的民族。早在史前时代,来自两河流域新月沃土的小麦,就已由河西走廊进入中原腹地
 
先民们并没有歧视外来者,而是大方地将它与本土的黄米、稻米并列,位列祭祀活动中不可或缺的“五谷”之一。
 
小麦磨成粉后,中国人的做法层出不穷,除了学习西方的烘培,创制出了深植于本土的烧饼之外,中国人还以自己擅长的蒸、煮来处理小麦面粉,发明了馒头面条。由此开启的面食纪元,占据了中国饮食的半壁江山。
 

啥?我从小吃到大的竟然是以前的“西餐”?!

小麦已经成为日常生活的主食之一丨图虫创意
公元前126年,张骞又从西域带回了葡萄、核桃、芝麻、蚕豆、黄瓜、大蒜、西瓜。汉帝国的赫赫武功,除了开拓空前广阔的疆域外,还为中餐里的发酵酱料、植物油脂、香辛料、新鲜瓜果等要素,奠定了食材基础。
 
这些曾经的“西餐”,如今都已成为中国菜的重要组成部分。由西传播而来的食俗和食材,在我们这个欧亚大陆最东端的国家,迎头撞上海洋。航海技术尚未成熟的时代,饮食习惯和丰富的食材就此沉淀下来,生根发芽,开花结果。
 

啥?我从小吃到大的竟然是以前的“西餐”?!

原来我每个夏天都在吃“西餐”丨图虫创意
这是中国能够诞生出多元化饮食文化的深层次原因,也是“民以食为天”的地理背景。
 
02
 大航海时代 
/ 另一波好吃的来了 /
1553年,掌握了航海技术的葡萄牙人,第一次从海路来到中国。在与大明政府协商之后,他们取得了广东沿海,一个名叫“濠镜澳”的小渔村的居住权。
 
也许是历史的巧合,300年前,就在同一片海域,宋元爆发了灭国海战。陆秀夫背着宋少帝赵昺沉入海底,古典意义上的中国,也与之一同沉没。
 
但300年后,不知名的小渔村“濠镜澳”走上历史舞台,却隐喻了一段新传奇即将上演。今天,这座小渔村有一个享誉世界的名字:澳门MACAO
 

啥?我从小吃到大的竟然是以前的“西餐”?!

澳门的葡式蛋挞也成为代表性美食丨图虫创意
通过大航海,来自新大陆的食材开始在中国登场玉米、土豆、番薯、葵花籽、南瓜、番茄,它们各有擅长:或是作为主食、或是作为油料、或是作为水果、或是作为菜蔬。大大丰富了中国餐桌的多样性,也再次证明了中国人不挑食、善包容的优秀品质。
 
最值得一提的是辣椒,除了在它的原产地墨西哥之外,今天全球吃辣最多最广的国家就是中国。辣椒素带来的刺激烧灼感,不仅成为了中国人祛除食材腥膻的利器,还与中国人的发酵酱料、炖锅结合,孕育出了中国辣酱和红油火锅。引领了中国菜系多元化进程的大踏步的前进。
 

啥?我从小吃到大的竟然是以前的“西餐”?!

03
 东西方烹饪的融合 
/ 饮食观念逐渐趋同 /

 

登陆澳门后的20多年,葡萄牙人的舰船又开到了日本长崎。经过幕府将军的允许,葡人在这里常驻,开始扩建长崎港。
 
大量葡人聚居,为本地带来了欧洲风情的食俗。当地人在近距离观察葡萄牙人制作风味美食“卡斯提拉面包”后,进行了基于本土的深入改良——用植物油代替黄油、蜂蜜和味淋代替砂糖、适量增加了鸡蛋的比例。后来,人们把这种小吃称为“长崎蛋糕”。
 

啥?我从小吃到大的竟然是以前的“西餐”?!

长崎蛋糕丨图虫创意
在东西方饮食融合的历程中,长崎蛋糕的创制,常常被看作一个标志性事件。它不仅启发了日本后来一系列对西点的改良,开创了“洋菓子”这一日本饮食中的门类,还标志着大航海联通世界后,东西方饮食观念趋同的开始
 
事实上,在同时期的中国,除了培育新来乍到的陌生食材外,也开始了对西式烹饪的吸纳与学习。如今遍布广东早茶餐厅的叉烧酥、皮蛋酥、香芋酥……正是当时形成的,外洋内中的美食典范
 

啥?我从小吃到大的竟然是以前的“西餐”?!

叉烧酥丨图虫创意

04
 被殖民的耻辱历史 
/ 加速了饮食多元化 /
1840年,鸦片战争爆发。战争的结果是香港岛被割让,上海、宁波、福州、厦门、广州开埠通商。不到二十年后,第二次鸦片战争硝烟再起,这次开埠的是天津、大连、烟台、南京等。再之后,青岛、大连,以及长江沿岸城市九江、武汉、重庆等,都陆续成为通商口岸。
 
虽然一系列的不平等条约,换来的是半殖民地的国家、地位低下的百姓。从民族历史观来看,这当然是屈辱的一页。
 
但从客观上来说,殖民加速了现代化的进程,加快了饮食多元化的脚步烘培、牛排、炸鱼、披萨、啤酒,在东部沿海的各地,与鲁菜、淮扬菜、闽菜、粤菜等传统菜系深度融合,创造出了全世界独一无二的菜品,并为中国饮食的创新做了极大的启发。曾经的开埠港口,今天也都成了中国美食创新的策源之地。
 
啥?我从小吃到大的竟然是以前的“西餐”?!
上海一家中西合璧素菜馆子的日常丨拍摄  沈色拉
 
再后来,十月革命发生了苏俄内战,大量俄国旧贵族涌入东北;二战前夕,大量德裔犹太人涌入上海;改革开放之后,一个全新的中国,正吸引着越来越多的欧美人前来创业、工作与生活。他们与华人共同书写了这个国家海纳百川的历史,也推动了中国餐桌食材迭代、烹饪技术进步和营养理念的与时俱进。
 

是的,中国西餐的历史,折射的正是我们底蕴深厚、宽容自信的品质。

转自:

转自: https://mp.weixin.qq.com/s/tHcZSshbHCoGdPAefWbwvQ

关于中国经济最接近真实的分析……

关于中国经济最接近真实的分析……

最近经济不是很好,不少人比较悲观:要相信未来,归根结底,是中国有全世界最多的渴望改变命运的人。

关于中国经济最接近真实的分析……

换个角度看消费

1,全国约有90%以上的人没有喝过星巴克

这是经过我逻辑上的推理得出的。星巴克发了一条新闻:700万星巴克会员接入支付宝。

基于700万会员,如果我们算星巴克每7个客户有一个开通会员,那么就有4900万喝过星巴克,10个里有1个,那就有7000万。

星巴克在上海的门店是最多的,500家以上,这个城市2500-3000万的人口(含流动),三成喝过的话,是900万。中国目前星巴克的门店数是3400家,大多数覆盖在一二线城市。一线新一线二线(含广义二线)的人口总数不超过3.6亿,里面三成是1.08亿,两成是7200万(越往下门店越少,渗透率更低)。

因为我没有准确数据,我只能倒推,无论从哪个角度去倒推,90%的人都没有喝过星巴克。

故而知道并不等于喝过,并且一定有海量的人不知道星巴克。以上数据,我依然是比较保守的推断。

2,50%以上的中国人没有喝过农夫山泉

2016年,农夫山泉的年销售额达到了109.11亿元。其中包含新产品和高端产品,桶装水,会议酒店供水等等。虽然农夫山泉的客单价不高,但是他的受众人群是比较集中的,我一年可能要花2400元以上在农夫山泉上。假设客单价20元,那么只有5亿多人喝过。

另一份《2018全球品牌足迹报告》显示,农夫山泉消费者触及数达3.35亿。故而,即使这个品牌是大众到不能再大众的了,依然不可能做到人人都喝。

3,中国约有1000万人从事足疗行业

光北京市就有20万人从事足疗,我们来往全国推一推,1000万依然是保守的估计。

4,13亿人没有出过国

2018年,全国有效的因私普通护照私有量1.3亿本。这个数据是中国出入境管理局发布的。也就是说起码90%的中国人没有出过国。

5,10亿人没有坐过飞机

为什么每次坐飞机工作人员都会演示一遍安全操作?因为跟你一起坐飞机的人中,起码有一半是第一次坐飞机。

中国头等舱用户不超过600万,每年常旅客不超过1500万(年飞行超过6次的称为常旅客)。

由此可以看出:在航空杂志投广告,其实就只有那1500万人能看到。所以,航空业广告商做廉价产品是行不通的,必须针对那1500万人的产品和服务才能实现有效目的。

国航的白金卡用户不超过5万人,听说东航不超过5000人。(除了一些特殊渠道,一年盯着一个航空飞行120次经济舱,60次商务舱,40次洲际公务舱才能拿到白金卡)

6,中国最大的便利店不是全家,而是中石化旗下的易捷便利店

每一个中石化加油站都有一个易捷便利店,它目前是中国最大的便利店,有25000多家门店,占全国便利店份额超过20%,很难被超越。(数据来源《2018中国便利店发展报告》)

7,处于房地产中介金字塔塔尖的,通常是穿着拖鞋、汗衫的二房东

像上海静安区的一些小别墅,还有北京四合院,都是少量而不可再生的,往往这些房子很受欢迎,很多人喜欢租这样的房子。我们公司租的房子的二房东就是这样的人。

早期做租赁的中介发现这一现象后,就把这些房子一套套收过来进行改装,进而成为二房东。

我大概算了下,如果成为20套老别墅的二房东,每个月净利润可达50万,每套差价在2-5万之间,合同一签就是10年。

8,进口猪蹄比国内的便宜30%—50%

因为除了中国、德国等少数国家,全世界大多数人不吃猪蹄。在很多国家,它是被当废品处理的,所以中国人去收购拿回国内,比国内采购还便宜。

9,中国产的棉毛裤在西班牙可以卖10倍的价格

过去,欧洲人不大知道世界上还有个东西叫棉毛裤。中国有个小伙子,把浙江生产内销不掉的棉毛裤拖到欧洲,趁他们冬天特别冷的时候去卖,卖得特别好。

关于中国经济最接近真实的分析……

中国的四大优势和巨大契机

如果这四点不发生根本性改变,那么我们依然是有巨大的机会。

1,中国具有全球最强的终端制造产业链和产业集群

我上次去印度和埃及,带的是iPhone手机。上面套了有6个玻璃镜头的手机壳,当地人都非常好奇问我这是什么?他们根本没有见过。这在中国被认为是低端制造,但其实在全球是中端制造了,在全球绝大多数地区都无法生产出来东西。

因为这个产品涉及的产业链和零部件非常多,而全世界也只有中国能够最高效、最低价、最批量地生产,并以最大规模的消耗掉。

在中国的南部和东部地区,有大量的县城变成了一个个产业的集群,整个县城都围绕着一个生意展开,你在那里走几公里就能找到一切需要的东西,但在别的国家可能要跨国才能完成。

对中国制造我有一个基本的判断:中国是全球最强的中端制造大国,没有之一。任何一个国家无30年积累,无政策连贯性支持,无法取代中国中端制造的优势。

2,我们的劳动力已不是全球最便宜的,但是劳动力素质全球最高

现在只有中国的劳动力是最具有勤劳、刻苦精神的。越南,柬埔寨确实劳动力更便宜,非洲更低,但是职业技能难以比肩。

3,我们依然是全球最大的消费市场

今天大部分中国人已经改变了储蓄的习惯,乐于消费。

4,中国人是全球最渴望改变命运的

印度人都信印度教,印度教告诉你人分等级,这辈子好好修行,下辈子再升级到婆罗门。

在中国没有这样的教育,中国人都相信能通过努力过得更好一点。

关于中国经济最接近真实的分析……在这里,读懂中国

关于人口,大多数人对其判断都是非常情绪化的,也是错误的。

1、某些农村地区幸福指数远高于城市

农村收入并不高,但他们有宅基地,有自留地,他们可以将自留地租出去,每年收取租金。他们的幸福指数很高。

基于大量的观察发现,现在农村里种地的人很少,并且几乎都用机械化种植,很多会外出打工赚钱。在他们眼里,大城市不是他们的世界,老了还是要回去,老家还有地。只要想到自己有土地,他们吃再多苦,都是乐意的,这是基于大量的观察发现的。

2、90后到00后的消费观发生很大变化

消费升级

 

90后、00后在社会认同感上的消费,在他们进入社会几年后就会和上一代人趋同,并且更愿意提前完成这种认同感的消费。他们中很多人的第一辆车一定不是雪佛兰,而是直接进入高端车的低配版,所以奔驰C系列、宝马3系、宝马X1都卖得特别好。

另外,奢侈品年轻化趋势非常明显,体现在很多小姑娘在20多岁的时候就开始用LaMer了,而在欧美,更多成熟女性选择它,不仅仅是钱的问题。

 

我认为90后的第一次装修是一波不可再生的资源,并且这波90后一定比后面的每一代人都多。

装修中,很多大件,包括家电、家居、甚至小家电,你没事是不会去更换的,而90后的结婚潮已经到来,虽然他们中很多人选择了不婚和晚婚,但是在压力较小的三四线这一波行情还是比较明显的。

所以,90后的装修升级一定要抓住,如果错过了,可能三五年内都没有消费了。

孤独催生商机

90后比较懒,还有独生子女病,孤独将催生一大波的商机。

孤独的年轻人喜欢养动物,他们会带宠物去按摩和游泳,等到他们出差的时候,会找个宠物店寄养,不到1平的地方1天要花300块。此外,还有专门的宠物殡葬,基于此,宠物市场一定还会扩大,并且每年快速增长。

比起KOL,他们更相信真实用户反馈

 

在腾讯提供的00后报告中,我们能够看到:KOL(关键意见领袖)的影响力量在下降,比起KOL,00后更相信真实的用户反馈。对于所有品牌主来说,未来的投放会变得很难,因为你需要对接海量的超级用户,并且你要把他们当作一件很重要的事情去运营。

对国产品牌的认知正在改 

今天,国产品牌并不比国外品牌差。这个问题在00后的心目中正在形成。主要有以下3个原因:

第一、中国制造真的在进步;

第二、大量国外品牌把落后的生产线丢到中国,现在才开始重视中国市场,但已经晚了,因为中国品牌的反应速度更快;

第三、00后成长的年代就是民族自豪感产生的年代。

 

对于00后来说,他们向往在专注领域有深刻见解的品牌。老一代人恨不得一个产品具备所有功能,但是今天00后更喜欢专业领域的、垂直的、优秀的品牌。

00后的存款是90后的两倍

虽然00后存款只有1840元,但90后更少,800块。(数据来源于腾讯最新的00后研究报告)

关于中国经济最接近真实的分析……关于人口红利

我们总是很悲观地说人口红利没有了,其实只是分红方式发生了改变。

现在的人口红利正在体现为地区性、结构性和微观性,每个地区不是统一统筹的。

即使目前中国年轻劳动力更少了,但依然在绝对数量上超越了大多数国家,并且中国的劳动力具有素质跟薪资的平衡优势。

不要老是觉得员工就应该给你干什么,这是错的。你首先要思考的是,你能为你的员工干什么,能帮助他们实现什么。

也就是说,梦想要有,但回馈也要有。

劳动力总数还在增长

目前我国劳动力还没有衰退,去年农民工总数比上年增长了0.6%。农民进一步从土地中解放出来。

相比去年,城镇化进一步提高,按照这个趋势,我认为中国的城镇化率未来会向发达国家看齐,达到70%左右。

第三季度农民工外出打工获得的收入平均11130元。但他们有自留地,还有宅基地(以上数据全部来自于国家统计局2018年)。

一线的人最大的问题就是从来不会迈出他的CBD半步,但是每天思考怎么去赚那些人的钱。这根本就难以实现。

 

关于中国经济最接近真实的分析……关于下沉市场的观点和事实

1、 二线跟三线是两类城市,不要混在一起说

二线都有产业聚集,就业岗位明显高于三线城市,所以二线对人才的吸附能力是三线的很多倍。

2、三线城市老城区和新城区泾渭分明

比如泉州,老城区特别古老,我在那里的感觉就是回到了80年代。但是它的新城,万达广场特别大,万达在边上盖了一个特别大的小区,里面什么品牌都有,和上海的CBD没什么区别。

3、消费品市场的喜好是完全不一样的

玖姿这个品牌的定位就是卖给小镇贵妇,就是下沉市场的中产女性的品牌。但是我打听了一圈,一线基本没人知道。

在农村,80寸电视机卖得非常好。但一线城市家里放不下80寸的电视机。因为中国一线的年轻人都是租的房子,没有客厅。

4、存量改造是一门巨大的生意

包括4S店改造、酒店改造、家居行业改造、零售改造、家电3C的改造。

一、二线城市现在有3.6亿人口,4.75亿手机,人均1.3台,下沉市场人均0.5台,两个人里还有一个人没有手机。

5、理性认识小镇青年

中国过去40年的发展来自于三点:全球化、工业化和城市化。

改革开放之初,中国不超过5%的人是城里人,95%以上的人都是小镇青年,即使今天身份证上是北京人,是城市人,但是内心骨子里依然有小镇青年的影子,这是品牌必须理解的一件事情,用数据系统打标是不能解决所有的洞察问题。

总结一句,所有品牌的升级都是围绕一句话完成的:渴望和大城市的人一样。

另外如果今天你还指望跟我聊下沉市场,而不是自己去看,那么这个生意已经跟你没有什么大关系了。

关于中国经济最接近真实的分析……

新金融时代
巨量的隐形市场
未来的公司,没点金融能力都不能叫公司了。积分化、证券化、金融化是重要的方向。
积分、里程是一个巨大的市场。美国运通每年向美国航空集团采购积分要花10亿美金。
信用飞,这家公司正在做的便是如何将中国几十家航空公司的积分能够打通,这件事如果做成了就会变成一个巨大的生意。
携程,现在最赚钱的业务是卖保险。别小看卖延误险,它的利润特别高。
在中国民营企业里,蚂蚁金服应该是在金融层面做的最好的之一。蚂蚁金服好在哪里呢?它在向线下延伸的时候,向小业主延伸,除了前端收款,后端还放贷。我一直觉得中国有个很大的市场就是中小商户的市场。
你不要觉得所有人都能办出信用卡,有的人办不出信用卡。
今天的中小企业,尤其是小微企业能通过阿里贷款,我认为这件事情如果能真的彻底做好是非常大的市场,比做前端新零售强多了,后端解决零售里的现金流问题,是新零售的重要组成部分。

关于中国经济最接近真实的分析……

写在最后

我们围绕着反常识的数据、中国的机遇与优势、实体经济、改变偏见,下沉市场、海外市场,新金融时代等八大版块,展开了我对新商业文明时代的看法。

总体来说,我相信悲观者往往正确,但乐观者往往成功。这亦是我爱这个时代的原因。

2019年竟然已经过去100多天了,这意味着今年只剩下三分之二了。

在新年,我写过一篇文章,叫做《江湖浪涌,做个无畏的人》,我说“我们一定要找到那个令自己无畏的力量源泉,那种无畏不是你身无分文时,光脚不怕穿鞋的无所谓,而是当你有了一些的时候,依然敢于前行,而即使前行或许意味着失去”。

从优秀到卓越,从还不错到真正受人尊重,这一步是绝大多数人无法跨越的。即使我无法跨越,我也不选择不去跨越。

在过去的90天里,我们看到了很多指数正在恢复生机;我们看到了机场的深夜依然人来人往,从未停歇;我们看到了人们从狂热回归理智;我们看到大量企业的资产负债表正在修复;我们看到了各行各业都涌现了全新的创业机会。

我之所以坚定地相信未来,是因为它有迷人的眼睛,是因为它能透过岁月的篇章,看到人们的瞳孔。

归根结底,是中国有全世界最多的渴望改变命运的人。

转自:https://mp.weixin.qq.com/s/shTrphDNibyUpIgcAr29IA