下载Himawari8拍摄的实时地球图片


直接给出源码

设置壁纸

feh --bg-scale /tmp/earth.png

设置桌面大小,及图片放大倍数

SCALE = 4
WIDTH = 1368
HEIGHT = 768
from PIL import Image
from io import BytesIO
from urllib.request import Request, urlopen
from datetime import datetime
import json

SCALE = 4
WIDTH = 1368
HEIGHT = 768


def get_info():
    url = "http://himawari8-dl.nict.go.jp/himawari8/img/D531106/latest.json"
    request = Request(url)
    response = urlopen(request, timeout=10)
    return json …

拟挽歌辞·荒草何茫茫


拟挽歌辞·荒草何茫茫

-- 陶渊明

荒草何茫茫,白杨亦萧萧。
严霜九月中,送我出远郊。
四面无人居,高坟正嶕峣。
马为仰天鸣,风为自萧条。
幽室一已闭,千年不复朝。
千年不复朝,贤达无奈何。
向来相送人,各自还其家。
亲戚或余悲,他人亦已歌。
死去何所道,托体同山阿。

sqlalchemy使用上的小tips


sqlalchemy object序列化为json

灵感来源于 Django REST framework

多个实例

posts = Post.query.all()
serializer = Seralizer(posts,many=True)
data = serializer.data

单个实例

post = Post.query.first()
serializer = Seralizer(post,many=False)
data = serializer.data

排除字段

serializer = Seralizer(post,exclude=['title'])

仅包括字段

serializer = Seralizer(post …

使用flask实现一个简单的图片上传存储服务


GitHub地址: https://github.com/honmaple/maple-file

maple-file

使用flask实现的一个简单的图片上传服务

设计初衷

对于图片的存储,有很多选择,一般采用云服务如(七牛,又拍等),但是国内的服务像七牛 自定义域名竟然需要域名备案(Excuse me,当初就是因为备案麻烦才选择国外的),而且浪费了我十块钱,

而我又想像七牛一样可以直接在本地就可以上传图片,找来找去,没有找到一个比较合适的,所以花两天时间自己写了一个

使用

由于初衷是本地脚本就可以发布,所以没有前端界面,等以后有时间了再加上

API

  • /api/login
    • POST 登录 …

修改agetty启动参数自动登陆linux


环境: archlinux 参考

需求

想要Linux启动后默认以指定用户登陆,不用输入用户名,可以直接输入密码进入系统

实现

man agetty

修改以下文件

/sudo:root@localhost:/etc/systemd/system/getty.target.wants/[email protected]

自动登陆系统(用户名密码都不用输)

ExecStart=-/sbin/agetty -a username --noclear %I $TERM

自动登陆系统(仅输入密码)

ExecStart=-/sbin/agetty --skip-login --login-options "username" --noclear %I $TERM

linux终端常用快捷键


  1. 移动光标快捷键
    ctrl+f	向前移动一个字符
    ctrl+b	向后移动一个字符
    alt+f	向前移动一个单词
    alt+b	向后移动一个单词
    ctrl+a	移动到当前行首
    ctrl+e	移动到当前行尾
    ctrl+l	清屏,并在屏幕最上面开始一个新行
    
  2. 编辑命令行快捷键
    ctrl+d	删除当前的字符
    ctrl+t	交换当前字符和前一个字符的位置
    alt+t	交换当前单词和前一个单词的位置
    alt+u	把当前单词变成大写
    alt+l	把当前单词变成小写
    alt+c	把当前单词变成首字母大写的单词
    ctrl+v	添加一个特殊字符,例如,要添加一个制表符,按ctrl+v+tab
    
  3. 剪切、粘贴快捷键
    ctrl+k	剪切文本直到行的末尾
    ctrl+u	剪切文本直到行的起始
    ctrl+w	剪切光标前的单词
    alt+d	剪切光标后的单词 …

python笔记


TIME

GMT时间格式

GMT_FORMAT = '%a, %d %b %Y %H:%M:%S GMT'

获取某个时间的时间戳

import datetime
import time

string = "2018-03-31"
date_time = datetime.datetime.strptime(string, '%Y-%m-%d')
time_time = time.mktime …

升级至python3.6导致环境出错解决


Table of Contents

最近archlinux升级至了 python3.6 ,直接导致了我的开发环境失效,唉

archlinux 果然不适合开发

虽然后面都已经解决了

事故(一)

virtualenv不可用,原先使用python3.5创建的环境直接不能用了,只好删了原有了东西,重新使用python3.6创建

pip freeze > requestments.txt
pip install -r requestments.txt

事故(二)

py3status 报错

   Traceback (most recent call last):
  File "/usr/bin/py3status", line 11, in <module>
    load_entry_point('py3status==3.3', 'console_scripts', 'py3status')()
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py …

我的毕业设计--数据库设计之站内信


站内信设计

逻辑实现

点对点(私信)

  • 发送方

    sender

  • 接收方

    receiver

  • 状态

    status

  • 信息内容

    message

  • 信息分类

    message_type

  • 发送时间

    created_at

    点对点发送消息比较简单,每次发送为单表时插入 sender, receiver, message, created_at

    (伪代码)

  • 获取未读信息
    select message from message where reveiver_id == 'user.id' and status = 'unread';
    
  • 获取系统未读信息
    select message from message where reveiver_id == 'user.id' and status = 'unread' and message_type = 'sys'
    
  • 获取已读信息 …

我的毕业设计--数据库设计之登陆注册


登陆注册数据库设计

共同字段:

  • id

    主键,自增ID

用户表

tablename: user
字段名 字段类型 字段描述 是否为空 是否unique 默认值
username string(20) 用户名 False True
password string(100) 密码 False False
email string(49) 邮箱 False True
is_superuser bool 是否为超级管理员 False False False
is_confirmed bool 邮箱是否验证 False False False
register_time datetime 注册时间 False False UTC时间
last_login …