Compare commits
49 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 54236a80c3 | |||
| 26be54f7ac | |||
| 601c371a37 | |||
| 93f95dc3f6 | |||
| 29b443875e | |||
| e3f7a39334 | |||
| e55c220b91 | |||
| 513c4db6ba | |||
| 12b0dc1089 | |||
| cc157a31c5 | |||
| 17f6fb0199 | |||
| 264ec78c00 | |||
| 44a2d4a16c | |||
| 409f767b75 | |||
| addd1ae94c | |||
| 8847b70e82 | |||
| b24df2ef3f | |||
| 8a59be936d | |||
| 054dc82f0a | |||
| 3549c06ce7 | |||
| ed746fce2b | |||
| 04268f7d75 | |||
| 0cb1080067 | |||
| f52cf84cc2 | |||
| 5db82c2493 | |||
| 45e72bdc72 | |||
| 311971ff70 | |||
| c6c470f069 | |||
| ac813f6722 | |||
| 66c3b97650 | |||
| 186401fe22 | |||
| d5ee93f952 | |||
| 3aaa98b247 | |||
| e93531c52c | |||
| 45534e0b17 | |||
| d417c42553 | |||
| 0985a88859 | |||
| 617692cf6b | |||
| 0792e3448f | |||
| bd5bd59e5b | |||
| 8298582ef3 | |||
| 228d426364 | |||
| 93d2ebbbe1 | |||
| a6c5ba2594 | |||
| e92ddde554 | |||
| 6671163b02 | |||
| 22a9c9e329 | |||
| 97750b76b1 | |||
| 0cd1993c85 |
Generated
-7
@@ -1,7 +0,0 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<code_scheme name="Project" version="173">
|
||||
<ScalaCodeStyleSettings>
|
||||
<option name="MULTILINE_STRING_CLOSING_QUOTES_ON_NEW_LINE" value="true" />
|
||||
</ScalaCodeStyleSettings>
|
||||
</code_scheme>
|
||||
</component>
|
||||
Generated
-5
@@ -1,5 +0,0 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<state>
|
||||
<option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
|
||||
</state>
|
||||
</component>
|
||||
Generated
+10
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RunConfigurationProducerService">
|
||||
<option name="ignoredProducers">
|
||||
<set>
|
||||
<option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" />
|
||||
</set>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
Generated
+6
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ThriftCompiler">
|
||||
<compilers />
|
||||
</component>
|
||||
</project>
|
||||
+9
-9
@@ -1,18 +1,18 @@
|
||||
# 联系方式和公众平台
|
||||
欢迎您能够参与我们的项目并且帮助我们变得更好,如果您有任何问题,通过下面的联系方式与管理员取得联系。
|
||||
# 联系方式
|
||||
|
||||
我们建议您通过社区论坛来和我们进行沟通,敬请关注我们公众平台上的账号。
|
||||
|
||||
## 联系方式
|
||||
您可以通过下面的联系方式与我们取得联系。
|
||||
请使用下面的联系方式和我们联系:
|
||||
|
||||
| 联系方式名称 | 联系方式 |
|
||||
|---|---|
|
||||
| 管理员电子邮件 | [yuchenghu@ossez.com](mailto:yuchenghu@ossez.com) |
|
||||
| 管理员微信(QQ 同号) | 103899765 |
|
||||
| QQ 交流群 | 15186112 |
|
||||
| 电子邮件 | [service@ossez.com](mailto:service@ossez.com) |
|
||||
| QQ 或微信 | 103899765 |
|
||||
| QQ 交流群 | 15186112 |
|
||||
| 社区论坛 | [https://www.ossez.com/](https://www.ossez.com/) |
|
||||
| WIKI 维基 | [https://www.cwiki.us/](https://www.cwiki.us/) |
|
||||
| CN 博客 | [https://www.cwikius.cn/](https://www.cwikius.cn/) |
|
||||
|
||||
## 公众平台
|
||||
我们建议您通过社区论坛来和我们进行沟通,请关注我们公众平台上的账号
|
||||
|
||||
## 微信公众号
|
||||

|
||||
|
||||
@@ -1,30 +1,9 @@
|
||||
# CWIKIUS 文档和手册
|
||||
|
||||
欢迎来到 CWIKIUS 文档和手册的空间
|
||||
|
||||
GitHub 上有关 CWIKIUS 的项目:[https://github.com/cwiki-us-docs/cwikius-docs](https://github.com/cwiki-us-docs/cwikius-docs)
|
||||
|
||||
|
||||
如果您有兴趣参与我们的小组和项目,请使用下面的联系方式和我们联系:
|
||||
|
||||
| 联系方式名称 | 联系方式 |
|
||||
|---|---|
|
||||
| 电子邮件 | [service@ossez.com](mailto:service@ossez.com) |
|
||||
| QQ 或微信 | 103899765 |
|
||||
| QQ 交流群 Spring | 15186112 |
|
||||
| 社区论坛 | [https://www.ossez.com/](https://www.ossez.com/) |
|
||||
|
||||
## 公众平台
|
||||
我们建议您通过社区论坛来和我们进行沟通,请关注我们公众平台上的账号
|
||||
|
||||
### 微信公众号
|
||||

|
||||
|
||||
### 头条号
|
||||
我们也在头条号上创建了我们的公众号,请扫描下面的 QR 关注我们的头条号。
|
||||
|
||||

|
||||
|
||||
[联系我们](CONTACT.md ':include')
|
||||
|
||||
## CWIKIUS 文档和手册快速导航
|
||||
|
||||
@@ -37,6 +16,19 @@ GitHub 上有关 CWIKIUS 的项目:[https://github.com/cwiki-us-docs/cwikius-d
|
||||
| [github.io](https://cwiki-us-docs.github.io/cwikius-docs/#/) | [https://cwiki-us-docs.github.io/cwikius-docs/#/](https://cwiki-us-docs.github.io/cwikius-docs/#/) | 本手册的编译版本将会部署在这个链接上 |
|
||||
| WWW.CWIKIUS.CN | [http://www.cwikius.cn/](http://www.cwikius.cn/) | CWIKIUS.CN 一个有独立思考和温度的清新站 |
|
||||
|
||||
### 前端和 UI
|
||||
| 网站名称 | URL | NOTE |
|
||||
|---|---|---|
|
||||
| 前端端技术社区 | https://www.ossez.com/c/toolkit-algorithm-computer-science/web-front-end/26 | 计算机相关的前端框架和讨论 |
|
||||
| Angular 技术手册 | https://angular.ossez.com/ | Angular 手册的在线翻译版本,从源代码中进行编译 |
|
||||
|
||||
|
||||
### 后端和数据层
|
||||
| 网站名称 | URL | NOTE |
|
||||
|---|---|---|
|
||||
| Apache Druid 技术手册 | https://druid.ossez.com/ | Druid 手册的在线翻译版本 |
|
||||
|
||||
|
||||
### 容器 docker
|
||||
| 网站名称 | URL | NOTE |
|
||||
|---|---|---|
|
||||
|
||||
+10
-4
@@ -1,15 +1,21 @@
|
||||
- CWIKIUS 文档概述
|
||||
- [文档介绍和快速链接](README.md)
|
||||
- [公众平台](CONTACT.md)
|
||||
- [联系方式](CONTACT.md)
|
||||
|
||||
- Java
|
||||
- [spring](spring.md)
|
||||
- [Gradle](gradle.md)
|
||||
- [概述和环境配置](java/index.md)
|
||||
- [语言基础](java/fundamentals/index.md)
|
||||
- [核心编程](java/core/index.md)
|
||||
|
||||
- 其他小工具
|
||||
- [JWT](jwt/README.md)
|
||||
- [MessagePack](message-pack/index.md)
|
||||
- [Protocol Buffers](protocol-buffers/index.md)
|
||||
- [Discourse](discourse/index.md)
|
||||
|
||||
- [Awesome docsify](awesome.md)
|
||||
- 面试和算法
|
||||
- [面试问题和经验](interview/index.md)
|
||||
- [算法题](algorithm/index.md)
|
||||
|
||||
- [DOCS.OSSEZ.COM](https://docs.ossez.com/#/)
|
||||
- [Changelog](changelog.md)
|
||||
@@ -0,0 +1,19 @@
|
||||
# 算法
|
||||
在应聘技术岗位的时候,可能都会有一个让绝大部分人都比较讨厌的算法环节。
|
||||
|
||||
也不知道是谁搞出这么无聊的东西,但没有办法现实总是残酷的,在抱怨的同时也只能在找工作之前复习下这些在实际工作中基本上不用的算法题了。
|
||||
|
||||
因为 MD 文档格式的限制,所以我们在这里只放一个索引并且维护这个索引,有关的具体内容,请通过索引访问我们的社区进行查看,我们也非常欢迎您参与讨论,
|
||||
您可以在社区注册后进行讨论。
|
||||
|
||||
## 算法问题
|
||||
在这里我将按照我遇到算法问题的先后顺序进行排列。很多算法题目都是题库上面的原题,你可以到题库上面去找找。
|
||||
|
||||
我这里只是结合我在面试的时候遇到的题目来进行解答和进行一些点评,就当时总结和消遣吧,如果你希望有什么问题一起讨论的话,欢迎 Fork 这个项目并且登录社区进行讨论。
|
||||
|
||||
最新的内容在最前面。
|
||||
|
||||
### 内容索引
|
||||
* [A “word-wrap” functionality(一个字符串包裹函数)](https://www.ossez.com/t/a-word-wrap-functionality/13452)
|
||||
* [Prime numbers from 1 to 100 (打印 100 以内的素数)](https://www.ossez.com/t/prime-numbers-from-1-to-100-100/13450)
|
||||
|
||||
@@ -0,0 +1,197 @@
|
||||
# Discourse 文档
|
||||
Discourse 文档是通过官方文档的整理翻译过来的,下面的内容与官方的内容基本一致。
|
||||
|
||||
针对中文环境下的时候,我们对遇到的一些问题发布到我们的讨论区中以方便大家快速导航访问:
|
||||
|
||||
- [Discourse CentOS 8 全新安装手册](https://www.ossez.com/t/discourse-centos-8/594) - 在 CentOS/RHEL 平台上全新安装 Discourse 的过程和命令。
|
||||
|
||||
- [Discourse 如何不使用 Let’s Encrypt 而使用 CA 签名的密钥进行安装](https://www.ossez.com/t/discourse-lets-encrypt-ca/552) - 使用你自己已有的 CA 秘钥进行安装。
|
||||
|
||||
- [Discourse 设置 GTM](https://www.ossez.com/t/discourse-gtm/13240) - 使用 Google 的标签管理器来插入需要的 JS 代码。
|
||||
|
||||
## 云平台安装
|
||||
**在基于云平台的 Discourse 安装通常不会超过 30 分钟**,哪怕你没有任何有关 Rails 或 Linux shell 的知识都能够顺利完成安装。
|
||||
下面我们是通过 [DigitalOcean][do] 服务提供商来进行安装测的,但是所有的安装步骤都能够在
|
||||
所有兼容 **Docker** 的云计算平台上进行,同时也可以在本地的服务器上完成安装。
|
||||
|
||||
> 🔔 如果你连 30 分钟都没有的话?你可以联系 Discourse 社区来帮你完成安装,Discourse 社区将会收取一次性 $150 (美元)的费用。 [单击此处链接来对服务进行购买](https://www.literatecomputing.com/product/discourse-install/) 。
|
||||
|
||||
### 创建一个新的云服务器
|
||||
|
||||
创建一个你的新云服务器,例如:[DigitalOcean](https://www.digitalocean.com/?refcode=5fa48ac82415) ,当然你也可以使用其他平台提供的服务器。
|
||||
|
||||
- 默认配置 **当前版本的 LTS Ubuntu 操作系统** 能够很好的工作。最少,需要一个 64 位的 Linux 操作系统,并且这个操作系统的内核需要更新到最新的版本。
|
||||
|
||||
- 默认配置 **1 GB** 的内存针对小型的 Discourse 社区通常都能很好的运行。但我们推荐针对大型社区使用 2 GB 的内存。
|
||||
|
||||
- 默认配置 **New York** 数据中心针对北美和欧洲来说都是不错的地理分区,如果你的 Discourse 用户使用的对象多是其他地理位置的用户,那么你可以选择离你稍近的数据中心。
|
||||
|
||||
- 输入域名 `discourse.example.com` 来在 DigitalOcean 中创建一个 Droplet(Droplet 是 DigitalOcean 定义的服务器名称)。当然你也可以购买使用你自己的域名,通常 Discourse 的安装需要一个真实的域名,没有办法通过 IP 地址安装,所以我们建议你首先购买域名或者使用你已有域名的二级域名。
|
||||
|
||||
创建你的新 Droplet,这个过程就等于你在 DigitalOcean 上创建了一个服务器,也等同你在其他平台上面创建了一个 VPS 或者服务器。
|
||||
当完成创建后,你将会收到一个电子邮件,这个电子邮件中有你的 Root 用户的密码。
|
||||
但是我们建议你 [设置使用 SSH keys](https://www.google.com/search?q=digitalocean+ssh+keys) , 来增强你服务器访问的安全性。
|
||||
|
||||
### 访问你的云服务器
|
||||
|
||||
通过使用 IP 地址,并使用 SSH 来连接和访问你创建的服务器,或者针对 Windows 平台你可以安装 [Putty][put] 后运行下面的命令来进行连接:
|
||||
|
||||
ssh root@192.168.1.1
|
||||
|
||||
如果你没有配置 SSH Key 的话,你可以使用 DigitalOcean 发给你的电子邮件中包含的密码来进行登录,
|
||||
或者使用你本地的 SSH Key 来进行连接。
|
||||
|
||||
### 安装 Docker / Git (可选的)
|
||||
|
||||
如果你希望使用你自己的 Docker 版本,你可以现在在你新设置的服务器上进行安装。
|
||||
如果你的服务器上没有默认安装 Docker,那么 `discourse-setup` 将会自动为你从 get.docker.com 下载后进行安装。
|
||||
|
||||
### 安装 Discourse
|
||||
|
||||
从 [官方 Discourse Docker 镜像][dd] 仓库中克隆代码到本地计算机的 `/var/discourse` 目录。
|
||||
|
||||
sudo -s
|
||||
git clone https://github.com/discourse/discourse_docker.git /var/discourse
|
||||
cd /var/discourse
|
||||
|
||||
你只需要执行上面的命令即可,在 Discourse 安装的过程中需要 root 权限。
|
||||
|
||||
### 电子邮件
|
||||
|
||||
> ⚠️ **电子邮件系统在 Discourse 的用户创建过程中非常重要。**
|
||||
> 如果你没有在安装 Discourse 之前创建电子邮件 SMTP 服务器,那么你安装的 Discourse 无法访问也无法登录(HAVE A BROKEN SITE)!
|
||||
|
||||
- 如果你已经有你自己的 SMTP 邮件服务器了,那么你就可以直接使用你已有的邮件服务器配置信息。
|
||||
|
||||
- 还有没有邮件服务器?请访问 [**Discourse 推荐使用的邮件服务器**][mailconfig].
|
||||
|
||||
- 为了确保你的邮件能够被正常投递,你必须在你的 DNS 中添加有效的 [SPF 和 DKIM 记录](https://www.google.com/search?q=spf+dkim) 。请访问你邮件服务提供商的文档如何设置这些信息。
|
||||
|
||||
根据我们实际使用的情况,Discourse 的安装**必须**配置可用的域名和邮件服务器,针对中国境内的情况,你可以使用阿里云或者腾讯云提供的企业邮箱。
|
||||
通常我们建议你使用境外的邮件服务器,比如说 AWS 的 SES,或者 MailGun 都是不错的服务,你可能需要一张国际信用卡完成校验。
|
||||
但这一步是必须的,否则你的的 Discourse 无法完成安装。
|
||||
|
||||
### 域名
|
||||
|
||||
> 🔔 Discourse 不能通过 IP 地址来工作,你必须拥有一个域名或者二级域名来进行安装,例如 `example.com` 。
|
||||
|
||||
- 如果你已经拥有一个域名了,那么可以选择任何一个二级域名来进行安装,例如 `discourse.example.com` 或 `talk.example.com` 或 `forum.example.com` 来安装你的 Discourse 实例。
|
||||
|
||||
- 还没有域名的话,你可以访问 [NameCheap](https://www.namecheap.com/domains/domain-name-search/) 网站来搜索你喜欢的域名,或者直接 Google 搜索 [great domain name registrars](https://www.google.com/search?q=best+domain+name+registrars) 来选择你喜欢的域名注册商。
|
||||
|
||||
- 你的 DNS 控制台应该是能够访问的,在你购买域名后,你还需要访问你的 DNS 配置来配置 DNS。针对你安装的 Discourse 网站,你需要通过你的 DNS 创建一个 [`A` 记录](https://support.dnsimple.com/articles/a-record/) ,这个 A 记录需要将你要安装的域名指向到一个特定的 IP 地址。这个 IP 地址通常为你在第一步购买的服务器 IP 地址。
|
||||
|
||||
### 编辑 Discourse 配置
|
||||
|
||||
通过下面的命令运行配置工具
|
||||
|
||||
./discourse-setup
|
||||
|
||||
你需要根据下面的提示配置所有参数:
|
||||
|
||||
Hostname for your Discourse? [discourse.example.com]:
|
||||
Email address for admin account(s)? [me@example.com,you@example.com]:
|
||||
SMTP server address? [smtp.example.com]:
|
||||
SMTP port? [587]:
|
||||
SMTP user name? [user@example.com]:
|
||||
SMTP password? [pa$$word]:
|
||||
Let's Encrypt account email? (ENTER to skip) [me@example.com]:
|
||||
|
||||
上面的输入数据将会为你的 Discourse 实例创建一个 `app.yml` 文件,这个文件将会在安装进行后对你的 Discourse 实例进行配置。
|
||||
整个安装启动过程可能需要耗费 **2-8 分钟** 来为你的配置 Discourse。
|
||||
如果在安装完成后你还需要对你的配置进行修改,你可以再次运行 `./discourse-setup` 命令(这个命令将会把已经存在的 `app.yml` 文件重新载入)。
|
||||
或者你也可以手动直接编辑 `/containers/app.yml` 文件中的内容,然后再次运行 `./launcher rebuild app`,否则你的修改是不会生效的。
|
||||
|
||||
### 启动 Discourse
|
||||
|
||||
一旦初始化安装配置完成后,你的 Discourse 示例应该可以通过你配置的域名 `discourse.example.com` 在浏览器上进行访问。
|
||||
|
||||
<img src="https://cdn.ossez.com/discourse-uploads/optimized/2X/8/8db53b9128ec4fb74872bdb7c1231ff04d525218_2_616x500.png" width="650">
|
||||
|
||||
### 注册一个新的管理员账号
|
||||
|
||||
使用你再启动配置过程中输入的电子邮件地址来注册一个管理员账号。
|
||||
|
||||
<img src="https://cdn.ossez.com/discourse-uploads/original/2X/9/99476eac0ffa4aa3a923aa7ae864fedf546dab0a.png" width="650">
|
||||
|
||||
<img src="https://cdn.ossez.com/discourse-uploads/original/2X/5/58660d377a00d9797be8b74036ace9d0ebf57fff.png" width="650">
|
||||
|
||||
(如果你不能注册你的管理账号(Admin),请通过路径`/var/discourse/shared/standalone/log/rails/production.log` 检查日志,或者访问 [电子邮件问题检查列表](https://meta.discourse.org/t/troubleshooting-email-on-a-new-discourse-install/16326) 。)
|
||||
|
||||
当你完成管理员账号的注册后,设置向导将会启动并指引你配置你的 Discourse 实例。
|
||||
|
||||
<img src="https://cdn.ossez.com/discourse-uploads/original/2X/9/944509dd0c049a2cec42d6108369fa5cf5d92d0d.png" width="650">
|
||||
|
||||
当完成所有的设置向导,你将会看到职员主题(Staff topics)和 **READ ME FIRST: Admin Quick Start Guide** 。
|
||||
这个配置向导将会包含有针对后续配置的的一些建议和如何对你的 Discourse 安装实例进行自定义配置。
|
||||
|
||||
<img src="https://cdn.ossez.com/discourse-uploads/original/2X/8/8a60bc840705aaa1fc77b039a7babf77d6b4a10b.png" width="650">
|
||||
|
||||
### 安装后的维护
|
||||
|
||||
- 我们强烈建议打开你针对你操作系统的安全自动更新。在 Ubuntu 使用 `dpkg-reconfigure -plow unattended-upgrades` 命令。在 CentOS/RHEL,使用 [`yum-cron`](https://www.cyberciti.biz/faq/fedora-automatic-update-retrieval-installation-with-cron/) 包。
|
||||
- 如果你使用的是密码登录你的操作系统,而不是使用 SSH Key 的话,请确保你使用强密码。在 Ubuntu 使用 `apt-get install libpam-cracklib` 包。我们推荐使用 `fail2ban` ,这个将会对 3 次登录失败的 IP 地址禁止登录 10 分钟。
|
||||
- **Ubuntu**: `apt-get install fail2ban`
|
||||
- **CentOS/RHEL**: `sudo yum install fail2ban` (需要 [EPEL](https://support.rackspace.com/how-to/install-epel-and-additional-repositories-on-centos-and-red-hat/))
|
||||
- 如果你希望默认安装防火墙, 针对 Ubuntu [打开 ufw](https://meta.discourse.org/t/configure-a-firewall-for-discourse/20584) 或者针对 CentOS/RHEL 7 及其后续版本使用 `firewalld` 。
|
||||
|
||||
当 Discourse 有新版本更新的时候,你的邮件地址将会收到更新提示。
|
||||
请随时更新你的 Discourse 实例到最新版本以确保所有的安全问题被修复。
|
||||
要 **更新 Discourse 到最新的版本**,请通过你的浏览器访问 `/admin/upgrade` 然后单击更新按钮。
|
||||
|
||||
`/var/discourse` 目录中的 `launcher` 命令被用来使用一些系统级别的维护:
|
||||
|
||||
``` text
|
||||
Usage: launcher COMMAND CONFIG [--skip-prereqs] [--docker-args STRING]
|
||||
Commands:
|
||||
start: Start/initialize a container(启动/初始化容器)
|
||||
stop: Stop a running container(停止一个运行的容器)
|
||||
restart: Restart a container(重启容器)
|
||||
destroy: Stop and remove a container (停止然后删除一个容器)
|
||||
enter: Use nsenter to get a shell into a container (使用 nsenter 来访问容器内的 Shell)
|
||||
logs: View the Docker logs for a container(查看一个容器的日志)
|
||||
bootstrap: Bootstrap a container for the config based on a template(从配置模板中来启动一个容器的配置和初始化)
|
||||
rebuild: Rebuild a container (destroy old, bootstrap, start new)(重构一个容器,将会删除老的容器,初始一个容器,启动新的容器)
|
||||
cleanup: Remove all containers that have stopped for > 24 hours(针对停止运行超过 24 个小时的容器进行删除)
|
||||
|
||||
Options:
|
||||
--skip-prereqs Don't check launcher prerequisites (不运行安装器的环境校验)
|
||||
--docker-args Extra arguments to pass when running docker (传递给容器内的额外参数)
|
||||
```
|
||||
|
||||
### 添加更多的 Discourse 特性
|
||||
|
||||
下面的内容是一些快速的链接,能够帮助你扩展 Discourse 安装的功能:
|
||||
|
||||
- Users to log in *only* via your pre-existing website's registration system? [Configure Single-Sign-On](https://meta.discourse.org/t/official-single-sign-on-for-discourse/13045).
|
||||
|
||||
- 用户可以使用 [Google](https://www.ossez.com/t/discourse-google-google-login/13582), [Twitter](https://meta.discourse.org/t/configuring-twitter-login-for-discourse/13395), [GitHub](https://www.ossez.com/t/discourse-github/13562), or [Facebook](https://meta.discourse.org/t/configuring-facebook-login-for-discourse/13394) 进行注册登录。
|
||||
|
||||
- Users to post replies via email? [Configure reply via email](https://meta.discourse.org/t/set-up-reply-via-email-support/14003).
|
||||
|
||||
- Automatic daily backups? [Configure backups](https://meta.discourse.org/t/configure-automatic-backups-for-discourse/14855).
|
||||
|
||||
- Free HTTPS / SSL support? [Configure Let's Encrypt](https://meta.discourse.org/t/setting-up-lets-encrypt-cert-with-discourse-docker/40709). Paid HTTPS / SSL support? [Configure SSL](https://meta.discourse.org/t/allowing-ssl-for-your-discourse-docker-setup/13847).
|
||||
|
||||
- Use a plugin [from Discourse](https://github.com/discourse) or a third party? [Configure plugins](https://meta.discourse.org/t/install-a-plugin/19157)
|
||||
|
||||
- Multiple Discourse sites on the same server? [Configure multisite](https://meta.discourse.org/t/multisite-configuration-with-docker/14084).
|
||||
|
||||
- Webhooks when events happen in Discourse? [Configure webhooks](https://meta.discourse.org/t/setting-up-webhooks/49045).
|
||||
|
||||
- A Content Delivery Network to speed up worldwide access? [Configure a CDN](https://meta.discourse.org/t/enable-a-cdn-for-your-discourse/14857). We recommend [Fastly](http://www.fastly.com/).
|
||||
|
||||
- Import old content from vBulletin, PHPbb, Vanilla, Drupal, BBPress, etc? [See our open source importers](https://github.com/discourse/discourse/tree/main/script/import_scripts).
|
||||
|
||||
- A user friendly [offline page when rebuilding or upgrading?](https://meta.discourse.org/t/adding-an-offline-page-when-rebuilding/45238)
|
||||
|
||||
- To embed Discourse [in your WordPress install](https://github.com/discourse/wp-discourse), or [on your static HTML site](https://meta.discourse.org/t/embedding-discourse-comments-via-javascript/31963)?
|
||||
|
||||
Help us improve this guide! Feel free to ask about it on [meta.discourse.org][meta], or even better, submit a pull request.
|
||||
|
||||
[dd]: https://github.com/discourse/discourse_docker
|
||||
[ssh]: https://help.github.com/articles/generating-ssh-keys
|
||||
[meta]: https://meta.discourse.org
|
||||
[do]: https://www.digitalocean.com/?refcode=5fa48ac82415
|
||||
[put]: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
|
||||
[mailconfig]: https://github.com/discourse/discourse/blob/main/docs/INSTALL-email.md
|
||||
@@ -1,44 +0,0 @@
|
||||
# CWIKIUS 文档和手册
|
||||
|
||||
欢迎来到 CWIKIUS 文档和手册的空间
|
||||
|
||||
GitHub 上有关 CWIKIUS 的项目:[https://github.com/cwiki-us-docs/cwikius-docs](https://github.com/cwiki-us-docs/cwikius-docs)
|
||||
|
||||
|
||||
如果您有兴趣参与我们的小组和项目,请使用下面的联系方式和我们联系:
|
||||
|
||||
| 联系方式名称 | 联系方式 |
|
||||
|---|---|
|
||||
| 电子邮件 | [service@ossez.com](mailto:service@ossez.com) |
|
||||
| QQ 或微信 | 103899765 |
|
||||
| QQ 交流群 Spring | 15186112 |
|
||||
| 社区论坛 | [https://www.ossez.com/](https://www.ossez.com/) |
|
||||
|
||||
## 公众平台
|
||||
我们建议您通过社区论坛来和我们进行沟通,请关注我们公众平台上的账号
|
||||
|
||||
### 微信公众号
|
||||

|
||||
|
||||
### 头条号
|
||||
我们也在头条号上创建了我们的公众号,请扫描下面的 QR 关注我们的头条号。
|
||||
|
||||

|
||||
|
||||
|
||||
## CWIKIUS 文档和手册快速导航
|
||||
|
||||
在下面的表格中,我们列出了一些比较有用的 CWIKIUS 相关软件开发使用教程的导航,在我们文档的整理中,也参考了一些这些文档。
|
||||
|
||||
在这里对原作者表示感谢。
|
||||
|
||||
| 网站名称 | URL | NOTE |
|
||||
|---|---|---|
|
||||
| [github.io](https://cwiki-us-docs.github.io/cwikius-docs/#/) | [https://cwiki-us-docs.github.io/cwikius-docs/#/](https://cwiki-us-docs.github.io/cwikius-docs/#/) | 本手册的编译版本将会部署在这个链接上 |
|
||||
| WWW.CWIKIUS.CN | [http://www.cwikius.cn/](http://www.cwikius.cn/) | CWIKIUS.CN 一个有独立思考和温度的清新站 |
|
||||
|
||||
### 容器 docker
|
||||
| 网站名称 | URL | NOTE |
|
||||
|---|---|---|
|
||||
| Docker 手册中译在线版 | https://docker.ossez.com/ | 基于 Docker 容器英文手册的翻译版本|
|
||||
| Docker 手册中译 MD 在线版 | https://docker-docs.ossez.com/ | 因为 Docker 的官方手册进行了渲染,我们推荐你使用上面的链接,这个版本为 docsify 渲染版本,可能会丢格式 |
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 9.9 KiB |
@@ -0,0 +1,28 @@
|
||||
# 面试问题和经验文档
|
||||
在应聘技术岗位的时候,通常会要求你进行一些算法和基础知识的考核。因计算机的知识比较复杂概念也非常多,这就给应聘者带来很大的困惑,应该怎么去做?
|
||||
|
||||
同时面试官很多时候也是突击某个问题,然后拿着这个问题来问应聘者。结果就导致了很多问题非常刁钻古怪,甚至有时候你根本就不可能在实际开发中遇到。
|
||||
|
||||
不管怎么样,这种面试方式至少目前来说是一种趋势,所以我们尽量收集一些技术岗的面试经验供大家参考。
|
||||
|
||||

|
||||
|
||||
|
||||
因为 MD 文档格式的限制,所以我们在这里只放一个索引并且维护这个索引,有关的具体内容,请通过索引访问我们的社区进行查看,我们也非常欢迎您参与讨论,
|
||||
您可以在社区注册后进行讨论。
|
||||
|
||||
## 面试问题和经验索引
|
||||
在这里我们希望按照年份进行一些分开,这样能够帮助大家尽量区分时间,同时我们的排序是按照倒序排列的。
|
||||
|
||||
最新的内容在最前面(按照时间倒序排序)。
|
||||
|
||||
### 2021
|
||||
* [2021 疫情期间美国公司技术岗的面试流程](https://www.ossez.com/t/topic/13463)
|
||||
* [从拒绝到被拒绝](https://www.ossez.com/t/topic/13462)
|
||||
* [从一个工作到一个工作](https://www.ossez.com/t/topic/13461)
|
||||
* [北美亚特兰大一金融服务公司面试总结](https://www.ossez.com/t/topic/13453)
|
||||
* [北美一工作搜索引擎公司技术岗面经](https://www.ossez.com/t/topic/13451)
|
||||
* [一房地产数据服务初创公司的面经](https://www.ossez.com/t/topic/13441)
|
||||
|
||||
### 2019
|
||||
* [IT 技术岗位 2019 年北美求职流水账](https://www.ossez.com/t/it-2019/13433)
|
||||
@@ -0,0 +1,2 @@
|
||||
# 集合
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
# Annotation(注解)
|
||||
* [Java @Deprecated Annotation(注解)](https://www.ossez.com/t/java-deprecated-annotation/13676)
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# Java 核心编程
|
||||
|
||||
[Annotation(注解)](annotation.md ':include')
|
||||
@@ -0,0 +1,2 @@
|
||||
# 基本概念
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# 数据类型
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# 异常处理
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# 语言基础
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# I/O 操作
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# 语言结构
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# 方法和函数
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# 反射
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
# Java 技术问题导航
|
||||
Java 是由 Sun Microsystems 公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称(Java 1.0 [J2SE])。由James Gosling和同事们共同研发,并在1995年正式推出。
|
||||
|
||||
本页面中主要对 Java 使用的基础知识和配置的内容进行快速导航。
|
||||
|
||||
## 安装
|
||||
* [Windows 环境下安装 Oracle JDK](https://www.ossez.com/t/windows-oracle-jdk/7254)
|
||||
|
||||
## 配置环境
|
||||
* [Java 在 Windows 10 中配置环境变量](https://www.ossez.com/t/java-windows-10/13675)
|
||||
@@ -0,0 +1,3 @@
|
||||
# JVM
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# 多线程
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# 新特性
|
||||
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
# Byte-compiled / optimized / DLL files
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
|
||||
# Distribution / packaging
|
||||
.Python
|
||||
env/
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
var/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
|
||||
# PyInstaller
|
||||
# Usually these files are written by a python script from a template
|
||||
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||
*.manifest
|
||||
*.spec
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
htmlcov/
|
||||
.tox/
|
||||
.coverage
|
||||
.coverage.*
|
||||
.cache
|
||||
nosetests.xml
|
||||
coverage.xml
|
||||
*,cover
|
||||
.hypothesis/
|
||||
|
||||
# Translations
|
||||
*.mo
|
||||
*.pot
|
||||
|
||||
# Django stuff:
|
||||
*.log
|
||||
local_settings.py
|
||||
|
||||
# Flask stuff:
|
||||
instance/
|
||||
.webassets-cache
|
||||
|
||||
# Scrapy stuff:
|
||||
.scrapy
|
||||
|
||||
# Sphinx documentation
|
||||
docs/_build/
|
||||
|
||||
# PyBuilder
|
||||
target/
|
||||
|
||||
# IPython Notebook
|
||||
.ipynb_checkpoints
|
||||
|
||||
# pyenv
|
||||
.python-version
|
||||
|
||||
# celery beat schedule file
|
||||
celerybeat-schedule
|
||||
|
||||
# dotenv
|
||||
.env
|
||||
|
||||
# virtualenv
|
||||
.venv/
|
||||
venv/
|
||||
ENV/
|
||||
|
||||
# Spyder project settings
|
||||
.spyderproject
|
||||
|
||||
# Rope project settings
|
||||
.ropeproject
|
||||
@@ -0,0 +1,9 @@
|
||||
Copyright (c) 2020, Yucheng Hu
|
||||
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
@@ -0,0 +1 @@
|
||||
include LICENSE
|
||||
@@ -0,0 +1,5 @@
|
||||
init:
|
||||
pip install -r requirements.txt
|
||||
|
||||
test:
|
||||
nosetests tests
|
||||
@@ -0,0 +1,12 @@
|
||||
Python Tutorials 仓库
|
||||
=====================
|
||||
|
||||
This simple project is an example repo for Python projects.
|
||||
|
||||
`查看更多 <https://github.com/ossez-com/python-tutorials>`_
|
||||
|
||||
`官方结构的说明 <http://www.kennethreitz.org/essays/repository-structure-and-python>`_
|
||||
|
||||
---------------
|
||||
|
||||
If you want to learn more about ``setup.py`` files, check out `this repository <https://github.com/kennethreitz/setup.py>`_.
|
||||
@@ -0,0 +1,153 @@
|
||||
# Makefile for Sphinx documentation
|
||||
#
|
||||
|
||||
# You can set these variables from the command line.
|
||||
SPHINXOPTS =
|
||||
SPHINXBUILD = sphinx-build
|
||||
PAPER =
|
||||
BUILDDIR = _build
|
||||
|
||||
# Internal variables.
|
||||
PAPEROPT_a4 = -D latex_paper_size=a4
|
||||
PAPEROPT_letter = -D latex_paper_size=letter
|
||||
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||
# the i18n builder cannot share the environment and doctrees with the others
|
||||
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||
|
||||
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
|
||||
|
||||
help:
|
||||
@echo "Please use \`make <target>' where <target> is one of"
|
||||
@echo " html to make standalone HTML files"
|
||||
@echo " dirhtml to make HTML files named index.html in directories"
|
||||
@echo " singlehtml to make a single large HTML file"
|
||||
@echo " pickle to make pickle files"
|
||||
@echo " json to make JSON files"
|
||||
@echo " htmlhelp to make HTML files and a HTML help project"
|
||||
@echo " qthelp to make HTML files and a qthelp project"
|
||||
@echo " devhelp to make HTML files and a Devhelp project"
|
||||
@echo " epub to make an epub"
|
||||
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
|
||||
@echo " latexpdf to make LaTeX files and run them through pdflatex"
|
||||
@echo " text to make text files"
|
||||
@echo " man to make manual pages"
|
||||
@echo " texinfo to make Texinfo files"
|
||||
@echo " info to make Texinfo files and run them through makeinfo"
|
||||
@echo " gettext to make PO message catalogs"
|
||||
@echo " changes to make an overview of all changed/added/deprecated items"
|
||||
@echo " linkcheck to check all external links for integrity"
|
||||
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
|
||||
|
||||
clean:
|
||||
-rm -rf $(BUILDDIR)/*
|
||||
|
||||
html:
|
||||
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
|
||||
|
||||
dirhtml:
|
||||
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
|
||||
|
||||
singlehtml:
|
||||
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
|
||||
@echo
|
||||
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
|
||||
|
||||
pickle:
|
||||
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
|
||||
@echo
|
||||
@echo "Build finished; now you can process the pickle files."
|
||||
|
||||
json:
|
||||
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
|
||||
@echo
|
||||
@echo "Build finished; now you can process the JSON files."
|
||||
|
||||
htmlhelp:
|
||||
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
|
||||
@echo
|
||||
@echo "Build finished; now you can run HTML Help Workshop with the" \
|
||||
".hhp project file in $(BUILDDIR)/htmlhelp."
|
||||
|
||||
qthelp:
|
||||
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
|
||||
@echo
|
||||
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
|
||||
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
|
||||
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/sample.qhcp"
|
||||
@echo "To view the help file:"
|
||||
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/sample.qhc"
|
||||
|
||||
devhelp:
|
||||
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
|
||||
@echo
|
||||
@echo "Build finished."
|
||||
@echo "To view the help file:"
|
||||
@echo "# mkdir -p $$HOME/.local/share/devhelp/sample"
|
||||
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/sample"
|
||||
@echo "# devhelp"
|
||||
|
||||
epub:
|
||||
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
|
||||
@echo
|
||||
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
|
||||
|
||||
latex:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo
|
||||
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
|
||||
@echo "Run \`make' in that directory to run these through (pdf)latex" \
|
||||
"(use \`make latexpdf' here to do that automatically)."
|
||||
|
||||
latexpdf:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo "Running LaTeX files through pdflatex..."
|
||||
$(MAKE) -C $(BUILDDIR)/latex all-pdf
|
||||
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
||||
|
||||
text:
|
||||
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
|
||||
@echo
|
||||
@echo "Build finished. The text files are in $(BUILDDIR)/text."
|
||||
|
||||
man:
|
||||
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
|
||||
@echo
|
||||
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
|
||||
|
||||
texinfo:
|
||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||
@echo
|
||||
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
|
||||
@echo "Run \`make' in that directory to run these through makeinfo" \
|
||||
"(use \`make info' here to do that automatically)."
|
||||
|
||||
info:
|
||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||
@echo "Running Texinfo files through makeinfo..."
|
||||
make -C $(BUILDDIR)/texinfo info
|
||||
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
|
||||
|
||||
gettext:
|
||||
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
|
||||
@echo
|
||||
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
|
||||
|
||||
changes:
|
||||
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
|
||||
@echo
|
||||
@echo "The overview file is in $(BUILDDIR)/changes."
|
||||
|
||||
linkcheck:
|
||||
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
|
||||
@echo
|
||||
@echo "Link check complete; look for any errors in the above output " \
|
||||
"or in $(BUILDDIR)/linkcheck/output.txt."
|
||||
|
||||
doctest:
|
||||
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
|
||||
@echo "Testing of doctests in the sources finished, look at the " \
|
||||
"results in $(BUILDDIR)/doctest/output.txt."
|
||||
@@ -0,0 +1,242 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# sample documentation build configuration file, created by
|
||||
# sphinx-quickstart on Mon Apr 16 21:22:43 2012.
|
||||
#
|
||||
# This file is execfile()d with the current directory set to its containing dir.
|
||||
#
|
||||
# Note that not all possible configuration values are present in this
|
||||
# autogenerated file.
|
||||
#
|
||||
# All configuration values have a default; values that are commented out
|
||||
# serve to show the default.
|
||||
|
||||
import sys, os
|
||||
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
#sys.path.insert(0, os.path.abspath('.'))
|
||||
|
||||
# -- General configuration -----------------------------------------------------
|
||||
|
||||
# If your documentation needs a minimal Sphinx version, state it here.
|
||||
#needs_sphinx = '1.0'
|
||||
|
||||
# Add any Sphinx extension module names here, as strings. They can be extensions
|
||||
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
||||
extensions = []
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
|
||||
# The suffix of source filenames.
|
||||
source_suffix = '.rst'
|
||||
|
||||
# The encoding of source files.
|
||||
#source_encoding = 'utf-8-sig'
|
||||
|
||||
# The master toctree document.
|
||||
master_doc = 'index'
|
||||
|
||||
# General information about the project.
|
||||
project = u'sample'
|
||||
copyright = u'2020, YuCheng Hu'
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
# |version| and |release|, also used in various other places throughout the
|
||||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = 'v0.0.1'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = 'v0.0.1'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
#language = None
|
||||
|
||||
# There are two options for replacing |today|: either, you set today to some
|
||||
# non-false value, then it is used:
|
||||
#today = ''
|
||||
# Else, today_fmt is used as the format for a strftime call.
|
||||
#today_fmt = '%B %d, %Y'
|
||||
|
||||
# List of patterns, relative to source directory, that match files and
|
||||
# directories to ignore when looking for source files.
|
||||
exclude_patterns = ['_build']
|
||||
|
||||
# The reST default role (used for this markup: `text`) to use for all documents.
|
||||
#default_role = None
|
||||
|
||||
# If true, '()' will be appended to :func: etc. cross-reference text.
|
||||
#add_function_parentheses = True
|
||||
|
||||
# If true, the current module name will be prepended to all description
|
||||
# unit titles (such as .. function::).
|
||||
#add_module_names = True
|
||||
|
||||
# If true, sectionauthor and moduleauthor directives will be shown in the
|
||||
# output. They are ignored by default.
|
||||
#show_authors = False
|
||||
|
||||
# The name of the Pygments (syntax highlighting) style to use.
|
||||
pygments_style = 'sphinx'
|
||||
|
||||
# A list of ignored prefixes for module index sorting.
|
||||
#modindex_common_prefix = []
|
||||
|
||||
|
||||
# -- Options for HTML output ---------------------------------------------------
|
||||
|
||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||
# a list of builtin themes.
|
||||
html_theme = 'default'
|
||||
|
||||
# Theme options are theme-specific and customize the look and feel of a theme
|
||||
# further. For a list of options available for each theme, see the
|
||||
# documentation.
|
||||
#html_theme_options = {}
|
||||
|
||||
# Add any paths that contain custom themes here, relative to this directory.
|
||||
#html_theme_path = []
|
||||
|
||||
# The name for this set of Sphinx documents. If None, it defaults to
|
||||
# "<project> v<release> documentation".
|
||||
#html_title = None
|
||||
|
||||
# A shorter title for the navigation bar. Default is the same as html_title.
|
||||
#html_short_title = None
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top
|
||||
# of the sidebar.
|
||||
#html_logo = None
|
||||
|
||||
# The name of an image file (within the static path) to use as favicon of the
|
||||
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
||||
# pixels large.
|
||||
#html_favicon = None
|
||||
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
# relative to this directory. They are copied after the builtin static files,
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
html_static_path = ['_static']
|
||||
|
||||
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
||||
# using the given strftime format.
|
||||
#html_last_updated_fmt = '%b %d, %Y'
|
||||
|
||||
# If true, SmartyPants will be used to convert quotes and dashes to
|
||||
# typographically correct entities.
|
||||
#html_use_smartypants = True
|
||||
|
||||
# Custom sidebar templates, maps document names to template names.
|
||||
#html_sidebars = {}
|
||||
|
||||
# Additional templates that should be rendered to pages, maps page names to
|
||||
# template names.
|
||||
#html_additional_pages = {}
|
||||
|
||||
# If false, no module index is generated.
|
||||
#html_domain_indices = True
|
||||
|
||||
# If false, no index is generated.
|
||||
#html_use_index = True
|
||||
|
||||
# If true, the index is split into individual pages for each letter.
|
||||
#html_split_index = False
|
||||
|
||||
# If true, links to the reST sources are added to the pages.
|
||||
#html_show_sourcelink = True
|
||||
|
||||
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
|
||||
#html_show_sphinx = True
|
||||
|
||||
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
|
||||
#html_show_copyright = True
|
||||
|
||||
# If true, an OpenSearch description file will be output, and all pages will
|
||||
# contain a <link> tag referring to it. The value of this option must be the
|
||||
# base URL from which the finished HTML is served.
|
||||
#html_use_opensearch = ''
|
||||
|
||||
# This is the file name suffix for HTML files (e.g. ".xhtml").
|
||||
#html_file_suffix = None
|
||||
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = 'sampledoc'
|
||||
|
||||
|
||||
# -- Options for LaTeX output --------------------------------------------------
|
||||
|
||||
latex_elements = {
|
||||
# The paper size ('letterpaper' or 'a4paper').
|
||||
#'papersize': 'letterpaper',
|
||||
|
||||
# The font size ('10pt', '11pt' or '12pt').
|
||||
#'pointsize': '10pt',
|
||||
|
||||
# Additional stuff for the LaTeX preamble.
|
||||
#'preamble': '',
|
||||
}
|
||||
|
||||
# Grouping the document tree into LaTeX files. List of tuples
|
||||
# (source start file, target name, title, author, documentclass [howto/manual]).
|
||||
latex_documents = [
|
||||
('index', 'sample.tex', u'sample Documentation',
|
||||
u'Kenneth Reitz', 'manual'),
|
||||
]
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top of
|
||||
# the title page.
|
||||
#latex_logo = None
|
||||
|
||||
# For "manual" documents, if this is true, then toplevel headings are parts,
|
||||
# not chapters.
|
||||
#latex_use_parts = False
|
||||
|
||||
# If true, show page references after internal links.
|
||||
#latex_show_pagerefs = False
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#latex_show_urls = False
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#latex_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
#latex_domain_indices = True
|
||||
|
||||
|
||||
# -- Options for manual page output --------------------------------------------
|
||||
|
||||
# One entry per manual page. List of tuples
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [
|
||||
('index', 'sample', u'sample Documentation',
|
||||
[u'Kenneth Reitz'], 1)
|
||||
]
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#man_show_urls = False
|
||||
|
||||
|
||||
# -- Options for Texinfo output ------------------------------------------------
|
||||
|
||||
# Grouping the document tree into Texinfo files. List of tuples
|
||||
# (source start file, target name, title, author,
|
||||
# dir menu entry, description, category)
|
||||
texinfo_documents = [
|
||||
('index', 'sample', u'sample Documentation',
|
||||
u'Kenneth Reitz', 'sample', 'One line description of project.',
|
||||
'Miscellaneous'),
|
||||
]
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#texinfo_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
#texinfo_domain_indices = True
|
||||
|
||||
# How to display URL addresses: 'footnote', 'no', or 'inline'.
|
||||
#texinfo_show_urls = 'footnote'
|
||||
@@ -0,0 +1,22 @@
|
||||
.. sample documentation master file, created by
|
||||
sphinx-quickstart on Mon Apr 16 21:22:43 2012.
|
||||
You can adapt this file completely to your liking, but it should at least
|
||||
contain the root `toctree` directive.
|
||||
|
||||
欢迎来到 Python 示例项目文档
|
||||
============================
|
||||
|
||||
Contents:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
||||
* :ref:`genindex`
|
||||
* :ref:`modindex`
|
||||
* :ref:`search`
|
||||
|
||||
@@ -0,0 +1,190 @@
|
||||
@ECHO OFF
|
||||
|
||||
REM Command file for Sphinx documentation
|
||||
|
||||
if "%SPHINXBUILD%" == "" (
|
||||
set SPHINXBUILD=sphinx-build
|
||||
)
|
||||
set BUILDDIR=_build
|
||||
set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% .
|
||||
set I18NSPHINXOPTS=%SPHINXOPTS% .
|
||||
if NOT "%PAPER%" == "" (
|
||||
set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
|
||||
set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS%
|
||||
)
|
||||
|
||||
if "%1" == "" goto help
|
||||
|
||||
if "%1" == "help" (
|
||||
:help
|
||||
echo.Please use `make ^<target^>` where ^<target^> is one of
|
||||
echo. html to make standalone HTML files
|
||||
echo. dirhtml to make HTML files named index.html in directories
|
||||
echo. singlehtml to make a single large HTML file
|
||||
echo. pickle to make pickle files
|
||||
echo. json to make JSON files
|
||||
echo. htmlhelp to make HTML files and a HTML help project
|
||||
echo. qthelp to make HTML files and a qthelp project
|
||||
echo. devhelp to make HTML files and a Devhelp project
|
||||
echo. epub to make an epub
|
||||
echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter
|
||||
echo. text to make text files
|
||||
echo. man to make manual pages
|
||||
echo. texinfo to make Texinfo files
|
||||
echo. gettext to make PO message catalogs
|
||||
echo. changes to make an overview over all changed/added/deprecated items
|
||||
echo. linkcheck to check all external links for integrity
|
||||
echo. doctest to run all doctests embedded in the documentation if enabled
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "clean" (
|
||||
for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i
|
||||
del /q /s %BUILDDIR%\*
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "html" (
|
||||
%SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The HTML pages are in %BUILDDIR%/html.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "dirhtml" (
|
||||
%SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "singlehtml" (
|
||||
%SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "pickle" (
|
||||
%SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished; now you can process the pickle files.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "json" (
|
||||
%SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished; now you can process the JSON files.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "htmlhelp" (
|
||||
%SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished; now you can run HTML Help Workshop with the ^
|
||||
.hhp project file in %BUILDDIR%/htmlhelp.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "qthelp" (
|
||||
%SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished; now you can run "qcollectiongenerator" with the ^
|
||||
.qhcp project file in %BUILDDIR%/qthelp, like this:
|
||||
echo.^> qcollectiongenerator %BUILDDIR%\qthelp\sample.qhcp
|
||||
echo.To view the help file:
|
||||
echo.^> assistant -collectionFile %BUILDDIR%\qthelp\sample.ghc
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "devhelp" (
|
||||
%SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "epub" (
|
||||
%SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The epub file is in %BUILDDIR%/epub.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "latex" (
|
||||
%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished; the LaTeX files are in %BUILDDIR%/latex.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "text" (
|
||||
%SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The text files are in %BUILDDIR%/text.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "man" (
|
||||
%SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The manual pages are in %BUILDDIR%/man.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "texinfo" (
|
||||
%SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "gettext" (
|
||||
%SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The message catalogs are in %BUILDDIR%/locale.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "changes" (
|
||||
%SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.The overview file is in %BUILDDIR%/changes.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "linkcheck" (
|
||||
%SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Link check complete; look for any errors in the above output ^
|
||||
or in %BUILDDIR%/linkcheck/output.txt.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "doctest" (
|
||||
%SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Testing of doctests in the sources finished, look at the ^
|
||||
results in %BUILDDIR%/doctest/output.txt.
|
||||
goto end
|
||||
)
|
||||
|
||||
:end
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -0,0 +1 @@
|
||||
yfinance==0.1.54
|
||||
@@ -0,0 +1,23 @@
|
||||
# for n in range(2, 10):
|
||||
# for x in range(2, n):
|
||||
# if n % x == 0:
|
||||
# print(n, 'equals', x, '*', n // x)
|
||||
# break
|
||||
# else:
|
||||
# # loop fell through without finding a factor
|
||||
# print(n, 'is a prime number')
|
||||
#
|
||||
# #
|
||||
# for num in range(2, 10):
|
||||
# if num % 2 == 0:
|
||||
# print("Found an even number", num)
|
||||
# continue
|
||||
# print("Found a number", num)
|
||||
|
||||
# alphabet = ["A", "B", "C"]
|
||||
# for x in alphabet:
|
||||
# print(x)
|
||||
|
||||
strOssez = "ossez.com"
|
||||
for x in strOssez:
|
||||
print(x)
|
||||
@@ -0,0 +1 @@
|
||||
from .core import hmm
|
||||
@@ -0,0 +1,12 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from . import helpers
|
||||
|
||||
def get_hmm():
|
||||
"""Get a thought."""
|
||||
return 'hmmm...'
|
||||
|
||||
|
||||
def hmm():
|
||||
"""Contemplation..."""
|
||||
if helpers.get_answer():
|
||||
print(get_hmm())
|
||||
@@ -0,0 +1,7 @@
|
||||
def get_answer():
|
||||
"""Get an answer."""
|
||||
|
||||
return True
|
||||
|
||||
|
||||
print("Hello Python")
|
||||
@@ -0,0 +1,25 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Learn more: https://github.com/kennethreitz/setup.py
|
||||
|
||||
from setuptools import setup, find_packages
|
||||
|
||||
|
||||
with open('README.rst') as f:
|
||||
readme = f.read()
|
||||
|
||||
with open('LICENSE') as f:
|
||||
license = f.read()
|
||||
|
||||
setup(
|
||||
name='sample',
|
||||
version='0.1.0',
|
||||
description='Sample Package Python Tutorials',
|
||||
long_description=readme,
|
||||
author='Kenneth Reitz',
|
||||
author_email='me@kennethreitz.com',
|
||||
url='https://github.com/kennethreitz/samplemod',
|
||||
license=license,
|
||||
packages=find_packages(exclude=('tests', 'docs'))
|
||||
)
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import sys
|
||||
import os
|
||||
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
|
||||
|
||||
import sample
|
||||
@@ -0,0 +1,16 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from .context import sample
|
||||
|
||||
import unittest
|
||||
|
||||
|
||||
class AdvancedTestSuite(unittest.TestCase):
|
||||
"""Advanced test cases."""
|
||||
|
||||
def test_thoughts(self):
|
||||
self.assertIsNone(sample.hmm())
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,16 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from .context import sample
|
||||
|
||||
import unittest
|
||||
|
||||
|
||||
class BasicTestSuite(unittest.TestCase):
|
||||
"""Basic test cases."""
|
||||
|
||||
def test_absolute_truth_and_meaning(self):
|
||||
assert True
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,16 @@
|
||||
from decimal import Decimal, ROUND_HALF_UP, Context
|
||||
|
||||
import yfinance as yf
|
||||
|
||||
msft = yf.Ticker("MSFT")
|
||||
msft.info
|
||||
|
||||
print(msft.dividends)
|
||||
|
||||
# print(round(2.3, 2))
|
||||
# print(round(2.45, 1))
|
||||
# print(round(2.675, 2))
|
||||
#
|
||||
# print(Decimal(1.325))
|
||||
#
|
||||
# print(Context(prec=3, rounding=ROUND_HALF_UP).create_decimal('2.675'))
|
||||
Reference in New Issue
Block a user