0%

本文写了我在本次折腾博客过程中都做了什么。例如怎么进行 Hexo 的本地预览、为什么又是如何使用 Git Submodule 来管理主题,如何配置 Github Action 来部署 Hexo;最后又立了个 flag 开了个项目……
阅读全文 »

  1. 安装 acme.sh
1
curl https://get.acme.sh | sh
  1. 配置 nginx

如果有 rewrite 强制 HTTPS 请按如下写法

1
2
3
4
5
6
7
8
9
server {
charset utf-8;
listen 80;
server_name example.com;

location / {
rewrite ^(.*) https://$host$1 permanent;
}
}
阅读全文 »

此方法不仅仅针对于百度网盘到 Google Drive,深挖还有很多玩法

原理

利用 BaiduPCS-Go 下载百度网盘文件后使用 rclone 上传到 Google drive

可行性分析

成本极低甚至为零,DO 新用户 $50 (需要通过邀请链接注册)一个月的优惠正好可以用来开一个比较好的机器然后挂载硬盘。

阅读全文 »

本文为 《Swift iOS 开发小书》 阅读笔记

这本书没有讲解 StoryBoard 而是采用纯代码的方式来进行 iOS 开发,可以说一下子将复杂的 StoryBoard 变得简单华,很适合刚入门理解概念,并且对于后续很可能的「动态加载视图」学习相当有帮助

本书写作采用的是 Swift 3,而现在(2018-11-21)最新的版本是 Swift 4,因此有一定的改动,具体如下。

  1. AppDelegate 的 application 定义由 [UIApplicationLaunchOptionsKey: Any]? 改变为了 [UIApplication.LaunchOptionsKey: Any]?(XCode 会自动提示)
  2. 所有 Button 的事件处理函数(button.addTarget)中 #selector 内接的函数定义均应加入 @objc 修饰符(XCode 会自动提示)
  3. 《View Controller》一章中 PageViewController 小节用到的 vcs.index 应当更好的修改为 vcs.firstIndexvcs.lastIndex,因为这个方法是用来寻找集合中指定元素的索引的,而 Swift 数组同一元素可以出现多次,因此这两个方法分别代表了寻找第一次出现的索引和寻找最后一次出现的索引,目前 index 方法等同于 firstIndex 方法但是 XCode 已经没有了提示(虽然不会产生编译错误),因此建议修改为更加确切的表述,由于本例中不存在同一元素出现多次,因此替换成 firstIndexlastIndex 是等价的

题目来源: https://gist.github.com/zealic/38510fd8ecd1be75924a#file-email-L13
本答案保证可用时间截止于 2018-11-2

第一题

1
2
3
4
5
6
7
8
9
10
11
12
13
begin 777 portal.bin
M(R!796QC;VUE#0H-"B,C($ME>0T*#[email protected]'5B;&EC($ME>[email protected]*$XL(#<I
M#0I.(#[email protected],C,S("[email protected]*32!I<R!T:&[email protected])E871E<[email protected]]U<BUD:6=I="!P
M<FEM92!T:&%T(&UA:V5S([email protected]('=I=&@@,C,S#0H-"B,C($5N8W)Y<'1E
M9"!!=61I="!142!G<F]U<"!N=6UB97(-"@T*5&AE($%U9&ET(%%1(&=R;W5P
M(&YU;6)E<B!I<R!E;F-R>[email protected]=VET:"!T:&[email protected]*[email protected]'5B;&EC($ME
M>[email protected]*#[email protected]&`-"D-/3D-!5"A$14-265!4*#$Y-S,W,BDN=&]3=')I;F<H
M*[email protected]$5#4EE05"@S,S,P-SDI+G1O4W1R:6YG*"DI#[email protected]&`-"@T*(R!#05!4
M0TA!#0I5<[email protected]=&AI<R!G:7-T(')E=FES:6]N(&`W9#(S939E.3DY-&)B-F9A
[email protected]&1A8C,U930V9F0W-6(Y9&0Q-6)E8"!R97-U;'[email protected],@0T%05$-(02X-
!"@``
`
end


解谜提示:UUEncode
解谜工具网址:http://web.chacuo.net/charsetuuencode

解谜结果

阅读全文 »

以下内容仅为本人喜好的工作流,并不一定适用于「大众」,仅供读者参考来构建自己的工作流

第零步:初始化 django 项目

  • 开启 django-admin
  • 新建一个命名为 core 的 app,用于放置「核心」信息
  • 升级 venv 中的 pip:pip install --upgrade pip

第一步:书写 .gitignore

通过 PyCharm 的 .ignore 插件生成,选中以下三种

阅读全文 »

最近有一个奇怪的需求。。需要在两台服务器之间传输 requests 的 Session 对象,经研究可以用以下方法实现

传出

1
2
3
4
5
6
7
8
9
10
11
# from requests import Session
# s = Session()
# s.get('https://www.baidu.com')
# print(s.cookies)
import json
import pickle
import base64

cookie_jar = base64.encodebytes(pickle.dumps(s.cookies)).decode('ascii')

j = json.dumps({'cookies': cookie_jar})

传入

1
2
3
4
5
import json
import pickle
import base64

cookie_jar = pickle.loads(base64.decodebytes(json.loads(j)['cookies'].encode('ascii')))
阅读全文 »

Django 配置

(可选)配置信息读取方式尽量使用从配置文件中读取而非从环境变量中读取,本文认为示例配置文件为 config.example.ini 正式配置文件为 config.ini

打开 Django 的获取转发信息的配置项

1
2
USE_X_FORWARDED_HOST = True
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

配置好数据库(数据库应该是位于独立服务器上的数据库或类似于 RDS 的云数据库)

阅读全文 »

以下信息来源于 SQL 样式指南 · SQL Style Guide,仅做个人收集使用,如需阅读最新内容请点击链接跳转

SQL style guide SQL样式指南

这篇文档翻译自以署名-相同方式共享 4.0 国际协议发布的http://www.sqlstyle.guide,译文以原文同样的协议发布。

Overview 综述

你可以直接使用这些指导方针,或者fork后创建自己的版本——最重要的是选择一套方针并严格遵守它。欢迎通过提交issuepull request来提交建议或修复bug。

阅读全文 »

本文将讲解 Ubuntu 下 Celery 的部署。

概览
Celery 有多种配置方式,本文将采用 Redis 作为 Result Backend、RabbitMQ 作为消息分发服务器的方式来进行
所用到的关键版本信息
Python: 3.6
Celery:4.2
Ubuntu: 16.04
Django: 2.1

依赖层面 —— 安装相关依赖

Django 下使用 Celery 需要以下方面的依赖

Celery

阅读全文 »