<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>季木的长廊</title>
    <link>https://blog.kway.site/</link>
    <description>myecho</description>
    <item>
      <title>博客系统重写、迁移之路</title>
      <link>https://blog.kway.site/articles/58</link>
      <guid>https://blog.kway.site/articles/58</guid>
      <description>前言我的博客小站从 2019 年建站，到现在已经三年了。之前博客一直都是使用 WordPress 搭建的，WordPress 开箱即用以及各种丰富的插件和扩展也给我带来了很多的便利。在三年之间虽然没有产出过多少文章，但是网站好歹是一直在维护着的。在这期间也有换博客的想法，有看过 php 实现的其他博客系统比如说 typecho，也有看过静态的博客系统比如说 hexo 等等。但是作为一个开发者，我还是感觉自己去实现一个博客系统来做自己的博客会更合适一些，我比较喜欢代码的逻辑都能够在心里掌握的这种感觉。毕竟自</description>
      <pubDate>Mon, 14 Nov 2022 19:06:59 +0800</pubDate>
    </item>
    <item>
      <title>phaser学习(3)-创建第一个游戏</title>
      <link>https://blog.kway.site/articles/56</link>
      <guid>https://blog.kway.site/articles/56</guid>
      <description>这里游戏制作用到的所有代码都被放到这个文件里，可以打包下载查看https://phaser.io/tutorials/making-your-first-phaser-3-game/phaser3-tutorial-src.zip工程的结构及其核心函数在前面的工作中，我们已经搭建好了完整的环境，也完成了 hello world 的展示，现在，可以开始创建一个Phaser工程的结构及其核心函数。除去一些HTML样板代码，以下是核心代码的实现。完整的代码在part1.html中。打开我们写好的文件，可以看到渲</description>
      <pubDate>Mon, 27 Sep 2021 02:07:00 +0800</pubDate>
    </item>
    <item>
      <title>phaser学习(2)-hello world</title>
      <link>https://blog.kway.site/articles/55</link>
      <guid>https://blog.kway.site/articles/55</guid>
      <description>设置好编辑器，安装好web服务器以及下载 phaser 之后，就可以开始 phaser 的正式旅途了。我们需要把我们的代码文件放到web服务器的根目录下， 所以说我们需要先找到我们web服务器的根目录，然后创建一个 index.html 文件，访问 http://localhost能够访问到这个 index.html 文件就可以了。我们把以下代码粘贴到这个 HTML 文件中去。然后，尝试着访问下试试？http://localhost/或者http://127.0.0.1/image-20210923012</description>
      <pubDate>Sun, 26 Sep 2021 12:47:00 +0800</pubDate>
    </item>
    <item>
      <title>phaser学习(1)-前言以及环境</title>
      <link>https://blog.kway.site/articles/54</link>
      <guid>https://blog.kway.site/articles/54</guid>
      <description>写在前面最近想去自己做一点游戏来玩玩看，所以看了下游戏开发的相关内容。博主之前自己已经学过 unity ，unity 也能够提供多个端的支持，但是始终感觉 unity 太重了，用来开发轻量的小游戏有点过了，所以想选择一个 H5 的游戏引擎来做 2D 游戏，看了下 github 的 H5 游戏引擎，看到了 phaser ，调研体验了下，感觉是一款优秀的 H5 游戏引擎。本文使用的版本是phaser3，具体版本是3.55.2。简介介绍Phaser是一个专注于桌面和移动端的HTML5游戏引擎，是国外最火的一个H</description>
      <pubDate>Sun, 26 Sep 2021 12:40:00 +0800</pubDate>
    </item>
    <item>
      <title>/Dev/Null 介绍</title>
      <link>https://blog.kway.site/articles/53</link>
      <guid>https://blog.kway.site/articles/53</guid>
      <description>/Dev/Null在 Linux 系统代表了一个空设备，它会丢弃写入的任何内容，返回一个 EOF 字符。这里将介绍这个目录的一些重要的应用。原文链接: https://www.putorius.net/introduction-to-dev-null.html如果你已经使用过Linux有一段时间，那么可能已经碰到位储存桶（bit bucket），它通常被写成/dev/null。如果理解这个特殊的文件它是如何工作以及它的重要性，它将成为宝贵的工具。在这篇文章中，我们将讨论/dev/null是什么，如何使用它</description>
      <pubDate>Mon, 12 Jul 2021 19:40:00 +0800</pubDate>
    </item>
    <item>
      <title>docker 更换国内镜像源</title>
      <link>https://blog.kway.site/articles/52</link>
      <guid>https://blog.kway.site/articles/52</guid>
      <description>常用的国内镜像源</description>
      <pubDate>Thu, 25 Mar 2021 16:17:00 +0800</pubDate>
    </item>
    <item>
      <title>VScode写Python常用插件</title>
      <link>https://blog.kway.site/articles/51</link>
      <guid>https://blog.kway.site/articles/51</guid>
      <description>我写Python比较习惯用VScode来写，记录一下我常用的一些插件。Chinese (Simplified) Language Pack for Visual Studio Code适用于 VS Code 的中文（简体）语言包Python用VScode写Python必装的插件，也是其他一些插件的前置插件Pylance提供了语法检查，自动补全和跳转功能，比较好用。是之前Pyright插件的更好的代替品，功能和使用上来说都比较舒适。Trailing Spaces空白符检查。如果在本可以不用空格的地方出现了空</description>
      <pubDate>Wed, 17 Mar 2021 16:47:00 +0800</pubDate>
    </item>
    <item>
      <title>《Unity2017从入门到精通》复习笔记（三）</title>
      <link>https://blog.kway.site/articles/50</link>
      <guid>https://blog.kway.site/articles/50</guid>
      <description>Chapter17 全局光照17.1 概述全局光照，简称 GI作用：用来模拟光的互动和反弹等复杂行为的算法两个系统：Enlighten &amp; Progressive Lightmapper。通过 Lighting 窗口的 Lightmapper 进行切换设置全局光照: Window -&gt; Lighting -&gt; Setting17.1.1 Enlighten通过GI算法实现实时全局光照，消耗较少性能提供更真实丰富的光照效果，提供全系的光照流程，提供了 更快的迭代模式，需要更高品质和细节时，场景会被预计算与烘</description>
      <pubDate>Mon, 04 Jan 2021 21:10:00 +0800</pubDate>
    </item>
    <item>
      <title>《Unity2017从入门到精通》复习笔记（二）</title>
      <link>https://blog.kway.site/articles/49</link>
      <guid>https://blog.kway.site/articles/49</guid>
      <description>Chapter12 粒子系统12.1 什么是粒子系统粒子是小的、简单的图像或网格粒子系统可以显示和移动大量粒子系统动力学每个粒子都有预定的寿命，可在球，半球，锥，立方体或任意网格形状的空间内随机发射粒子，显示粒子直到其寿命结束，此时从系统中被排放。粒子动力学发射和寿命会影响系统的整体行为，每个粒子的颜色，大小，旋转方式都可以随时间和运动变化，通常在Scene中生成大量2D图像来模拟流体实体12.2 在unity中使用粒子系统方法一: 直接创建粒子对象GameObject -&gt; Effects -&gt; Par</description>
      <pubDate>Mon, 04 Jan 2021 21:09:00 +0800</pubDate>
    </item>
    <item>
      <title>《Unity2017从入门到精通》复习笔记（一）</title>
      <link>https://blog.kway.site/articles/48</link>
      <guid>https://blog.kway.site/articles/48</guid>
      <description>记录一下unity考试前整理的笔记。Chapter3 Unity编辑器3.2 界面布局Scene View场景视图：设置游戏场景以及放置游戏对象，是构造游戏场景的地方Game View游戏视图：用于实时展示游戏运行的画面，处于播放模式的时候会被激活Hierarchy View层级视图：展示当前场景中的所有游戏对象Project View项目视图：显示整个工程项目中所有可用的资源Inspector View检视视图：查看当前所选择对象的属性和相关的一些信息3.3 工具栏3.3.1 Transform Too</description>
      <pubDate>Mon, 04 Jan 2021 21:07:00 +0800</pubDate>
    </item>
    <item>
      <title>pyenv 安装及常用命令</title>
      <link>https://blog.kway.site/articles/47</link>
      <guid>https://blog.kway.site/articles/47</guid>
      <description>pyenv centos系统的安装以及常用的命令项目地址https://github.com/pyenv/pyenvgit安装安装python编译依赖环境centosdebian克隆pyenv的仓库也可以使用脚本安装curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash写入bash文件如果有~/.profile文件的话，尽量不要写到~/.bashrc文件中去，会导致ssh连接的时候死循环(</description>
      <pubDate>Wed, 30 Dec 2020 23:16:00 +0800</pubDate>
    </item>
    <item>
      <title>CentOS7及以上修改SSH端口</title>
      <link>https://blog.kway.site/articles/46</link>
      <guid>https://blog.kway.site/articles/46</guid>
      <description>老是忘记修改的具体步骤，写个博客记录一下。以默认的22端口更换为22345端口为例。防火墙放行ssh端口firewall-cmd --zone=public --add-port=22345/tcp --permanent如果提示FirewallD is not running防火墙未在运行。需要先启动防火墙并将其加入开机自启:systemctl start firewalld.servicesystemctl enable firewalld.service之后重载防火墙firewall-cmd --r</description>
      <pubDate>Tue, 29 Dec 2020 20:53:00 +0800</pubDate>
    </item>
    <item>
      <title>十五的月亮十六圆</title>
      <link>https://blog.kway.site/articles/45</link>
      <guid>https://blog.kway.site/articles/45</guid>
      <description>十五的月亮十六圆思念的人儿在心间</description>
      <pubDate>Fri, 02 Oct 2020 22:07:00 +0800</pubDate>
    </item>
    <item>
      <title>Django中的一些常用方法记录</title>
      <link>https://blog.kway.site/articles/44</link>
      <guid>https://blog.kway.site/articles/44</guid>
      <description>receiver (Django signal)的使用模型相关：pre_save 对象 save 前触发post_save 对象 save 后触发pre_delete 对象 delete 前触发post_detele 对象 delete 后触发m2m_changed ManyToManyField 字段更新后触发请求相关：request_started 一个 request 请求前触发request_finished 一个 request 请求后触发bulk_update 的使用用于批量更新数据bulk_</description>
      <pubDate>Thu, 01 Oct 2020 10:22:00 +0800</pubDate>
    </item>
    <item>
      <title>简单理解python异步编程与asyncio实现（四）</title>
      <link>https://blog.kway.site/articles/43</link>
      <guid>https://blog.kway.site/articles/43</guid>
      <description>asyncioasyncio 简介asyncio是Python 3.4 试验性引入的异步I/O框架（PEP 3156），提供了基于协程做异步I/O编写单线程并发代码的基础设施。其核心组件有事件循环（Event Loop）、协程(Coroutine）、任务(Task)、未来对象(Future)以及其他一些扩充和辅助性质的模块。在引入asyncio的时候，还提供了一个装饰器@asyncio.coroutine用于装饰使用了yield from的函数，以标记其为协程。但并不强制使用这个装饰器。虽然发展到 Pyt</description>
      <pubDate>Tue, 25 Aug 2020 17:24:00 +0800</pubDate>
    </item>
    <item>
      <title>Python 测试覆盖率 coverage</title>
      <link>https://blog.kway.site/articles/42</link>
      <guid>https://blog.kway.site/articles/42</guid>
      <description>Python下测试覆盖率用的比较多的是 coverage。coverage官方文档：https://coverage.readthedocs.io/安装方法1：pip安装方法2：下载安装包安装https://pypi.org/project/coverage/使用pytestunittestnosetest参数使用--source=.来指定当前路径命令coverage report -m 打印当前测试覆盖率结果。coverage html 在执行目录下生成一个 htmlcov 文件夹，可以打开该文件夹的 </description>
      <pubDate>Tue, 18 Aug 2020 10:09:00 +0800</pubDate>
    </item>
    <item>
      <title>Python 元类</title>
      <link>https://blog.kway.site/articles/41</link>
      <guid>https://blog.kway.site/articles/41</guid>
      <description>Python 元类今天在看 Django models 的源码时，看到了这么一个东西：当时看到这里的时候我挺疑惑的。为什么 ModelBase 去继承 type？？为什么class可以继承type？？type这玩意儿不是个函数吗？于是乎我上网查了查，这东西叫做元类。那么什么是元类呢，我开始了我的探索之旅。什么是元类在 Python 中，实例对象是由类来创建的，那么类又是什么东西来创建的？其实类是通过元类来创建的。在平时的编程中，元类基本上不会被用到。类？对象在大部分编程语言中，类的作用是来描述如何产生一个</description>
      <pubDate>Fri, 14 Aug 2020 13:36:00 +0800</pubDate>
    </item>
    <item>
      <title>简单理解python异步编程与asyncio实现（三）</title>
      <link>https://blog.kway.site/articles/40</link>
      <guid>https://blog.kway.site/articles/40</guid>
      <description>协程与asyncio协程协程(Co-routine)，即是协作式的例程它是非抢占式的多任务子例程的概括，可以允许有多个入口点在例程中确定的位置来控制程序的暂停与恢复执行。例程是什么？编程语言定义的可被调用的代码段，为了完成某个特定功能而封装在一起的一系列指令。一般的编程语言都用称为函数或方法的代码结构来体现。首先，要知道的是，无论是多进程，多线程还是协程，都是为了解决多任务同时进行的问题。而多任务系统实现的关键在于如何暂停当前任务，保存当前任务的上下文，选择下一个任务，恢复下一个任务的上下文 ，执行下一个</description>
      <pubDate>Thu, 13 Aug 2020 17:23:00 +0800</pubDate>
    </item>
    <item>
      <title>简单理解python异步编程与asyncio实现（二）</title>
      <link>https://blog.kway.site/articles/39</link>
      <guid>https://blog.kway.site/articles/39</guid>
      <description>同步-&gt;异步I/O以一个爬虫为例，下载10篇网页，用几个例子来展示从同步-&gt;异步。同步阻塞方式以同步阻塞方式来写这个程序也是最容易想到的方式，即依次下载好10篇网页。这段代码的执行事件大概为4.5秒。（取多次平均值）上述代码中， blocking_way()这个函数的作用主要是建立连接，发送HTTP请求，然后从socket读取HTTP响应请求到并返回数据。sync_way()将blocking_way()执行了10次，也就是说，我们执行了10次访问下载 example.com由于网络情况和服务端的处理各不</description>
      <pubDate>Wed, 05 Aug 2020 19:05:00 +0800</pubDate>
    </item>
    <item>
      <title>简单理解python异步编程与asyncio实现（一）</title>
      <link>https://blog.kway.site/articles/38</link>
      <guid>https://blog.kway.site/articles/38</guid>
      <description>异步编程在开始说明异步编程之前，首先先了解几个相关的概念。阻塞程序未得到所需计算资源时被挂起的状态。程序在等待某个操作完成期间，自身无法继续干别的事情，则称该程序在该操作上是阻塞的。常见的阻塞形式有：网络I/O阻塞、磁盘I/O阻塞、用户输入阻塞等。阻塞是无处不在的，包括CPU切换上下文时，所有的进程都无法真正干事情，它们也会被阻塞。（如果是多核CPU则正在执行上下文切换操作的核不可被利用。）简单的理解的话，阻塞就是  A调用B，A会被挂起，一直等待B的结果，什么都不能干 。非阻塞程序在等待某操作过程中，自</description>
      <pubDate>Mon, 03 Aug 2020 14:56:00 +0800</pubDate>
    </item>
    <item>
      <title>git 的使用</title>
      <link>https://blog.kway.site/articles/37</link>
      <guid>https://blog.kway.site/articles/37</guid>
      <description>git 的使用一、安装配置 git1. 安装 gitLinux: CnetOS:yum install git-core Ubantu:apt-get install git-coreWindows:官方下载即可 https://git-scm.com/2. git 配置git config指令，具体情况如下：/etc/gitconfig文件：系统中对所有用户都适用的配置，使用–system选项配置该文件。~/.gitconfig文件：用户目录下的配置文件只适用于该用户，使用–global选项配置该文件。</description>
      <pubDate>Thu, 23 Jul 2020 18:24:00 +0800</pubDate>
    </item>
    <item>
      <title>6月7日随笔</title>
      <link>https://blog.kway.site/articles/36</link>
      <guid>https://blog.kway.site/articles/36</guid>
      <description>也是这么多天没更新过博客了，无论是Golang的学习还是上次写的网盘直链的更新，都因为这段时间的忙碌被搁置了。趁着今天家里停电，就随便写点东西吧。因为家里停电的缘故，屋子里本身就挺黑的，再加上外面淅淅沥沥的雨🌧️，更觉黑了。前天在京东上下单了一个Kindle，昨天到货了。也许是新东西到货，加上昨天也是停电，我看了一下午的电子书。不过看的书的内容却是基本上没有什么营养的网络小说。因为看的那本网络小说的章节很长，所以昨天一个下午加上一个晚上的时间也没有看完这个小说的内容。看的时候并不觉得看的内容有点蠢，看完了</description>
      <pubDate>Sun, 07 Jun 2020 14:12:00 +0800</pubDate>
    </item>
    <item>
      <title>从零开始的Golang学习-学习笔记(4)</title>
      <link>https://blog.kway.site/articles/35</link>
      <guid>https://blog.kway.site/articles/35</guid>
      <description>Go程序的基本结构和要素先看一个示例，就是我们安装测试Go 的时候写的 hello_world.go ，不过稍微加了一点东西包的概念，导入和可见性包是结构化代码的一种方式：每个程序都由包（通常简称为 pkg）的概念组成，可以使用自身的包或者从其它包中导入内容。每个 Go 文件都属于且仅属于一个包。一个包可以由许多以 .go 为扩展名的源文件组成，因此文件名和包名一般来说都是不相同的。必须在源文件中非注释的第一行指明这个文件属于哪个包。比如上例子 中的package main。package main表示一</description>
      <pubDate>Wed, 29 Apr 2020 22:26:00 +0800</pubDate>
    </item>
    <item>
      <title>从零开始的Golang学习-学习笔记(3)</title>
      <link>https://blog.kway.site/articles/34</link>
      <guid>https://blog.kway.site/articles/34</guid>
      <description>在正式学习语法前，先了解一下格式化代码的要求和生成文档以及其他说明格式化代码Go 开发团队制作了一个工具：go fmt（gofmt）。这个工具可以将你的源代码格式化成符合官方统一标准的风格，属于语法风格层面上的小型重构。遵循统一的代码风格是 Go 开发中无可撼动的铁律，因此你必须在编译或提交版本管理系统之前使用 gofmt 来格式化你的代码。在命令行输入 gofmt –w program.go 会格式化该源文件的代码然后将格式化后的代码覆盖原始内容（如果不加参数 -w 则只会打印格式化后的结果而不重写文件</description>
      <pubDate>Wed, 29 Apr 2020 18:14:00 +0800</pubDate>
    </item>
    <item>
      <title>从零开始的Golang学习-学习笔记(2)</title>
      <link>https://blog.kway.site/articles/33</link>
      <guid>https://blog.kway.site/articles/33</guid>
      <description>这一篇主要记录了Go 语言的安装和运行环境平台和架构Go 语言开发团队开发了适用于以下操作系统的编译器：LinuxFreeBSDMac OS X（也称为 Darwin）(Windows : gc 版本的编译器已经被移植到 Windows 平台上)你可以获取以下平台上的 Go 1.4 源码和二进制文件：Linux 2.6+：amd64、386 和 arm 架构Mac OS X（Snow Leopard + Lion）：amd64 和 386 架构Windows 2000+：amd64 和 386 架构1. </description>
      <pubDate>Wed, 29 Apr 2020 01:38:00 +0800</pubDate>
    </item>
    <item>
      <title>从零开始的Golang学习-学习笔记(1)</title>
      <link>https://blog.kway.site/articles/32</link>
      <guid>https://blog.kway.site/articles/32</guid>
      <description>早就听说过Go语言，一直想学，但是一直没有行动起来。所以干脆趁着下午想起来就直接开始学习吧，用此系列博客来记录自己的学习笔记。引用python开发的一句话：Now is better than never.前言：博主是以《The Way to Go》(《Go 入门指南》)这本书学习的，学习顺序基本上是按照书的顺序来的。在开始前，还是简单了解一下Go语言的简介和它的特点吧。GO语言简介Go 是一个开源的编程语言，它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由Robert Griesemer</description>
      <pubDate>Tue, 28 Apr 2020 18:18:00 +0800</pubDate>
    </item>
    <item>
      <title>Python 无法print中文 print中文报错</title>
      <link>https://blog.kway.site/articles/31</link>
      <guid>https://blog.kway.site/articles/31</guid>
      <description>当print中文时报错这是由于系统的默认编码为 ASCII 编码，无法print出UTF-8编码的中文如何解决？在需要print的文件中加入以下代码便可以无报错输出中文了类似问题写入文件时，发生类似报错。需要手动指定编码类型为 utf-8encoding=’utf-8′</description>
      <pubDate>Mon, 27 Apr 2020 22:12:00 +0800</pubDate>
    </item>
    <item>
      <title>WordPress不用插件制作友链界面，简单快捷方便</title>
      <link>https://blog.kway.site/articles/30</link>
      <guid>https://blog.kway.site/articles/30</guid>
      <description>首先，请查看你的wordpress主题是否支持在管理台添加链接。如何查看？进入后台管理后，查看侧边栏仪表盘是否有 链接 这个选项，如果没有，请先开启链接功能开启链接功能在 外观-主题编辑器 中找到 functions.php (模板函数) ，在里面的任意位置添加如下代码这样，你的wordpress主题就成功的开启了链接功能接下来是给functions.php添加函数把以下代码添加到 functions.php 文件中接下来在 style.css 样式表中添加样式最后只需要在你的友链页面调用即可新建友链页面</description>
      <pubDate>Tue, 21 Apr 2020 21:57:00 +0800</pubDate>
    </item>
    <item>
      <title>樱桃家 3949红轴机械键盘</title>
      <link>https://blog.kway.site/articles/29</link>
      <guid>https://blog.kway.site/articles/29</guid>
      <description>~还有两天就到货了，期待ing~今天上午终终终于来了，京东的物流还是挺快的。拿到快递的时候，有点惊讶，沉沉的，很有分量。↓居然用这么大一个箱子装。盒子很好看就单单这个盒子也很沉。打开盒子，里面就是键盘本体了，以及附赠的一个拔轴器，还有红轴体验。连接上电脑之后的全貌使用感受因为之前用的机械键盘比较少，唯一用过的机械键盘就是 赛睿7G （黑轴）。~（传说中机械键盘四大神器之一）~今天到的的樱桃3949红轴 ~（传说中机械键盘四大神器之一）~ 对比之前使用的赛睿7G ，最大的感受就是 敲击感 比7G好一些，没有</description>
      <pubDate>Mon, 20 Apr 2020 21:21:00 +0800</pubDate>
    </item>
    <item>
      <title>CentOS7升级GIT版本</title>
      <link>https://blog.kway.site/articles/28</link>
      <guid>https://blog.kway.site/articles/28</guid>
      <description>CentOS7自带的GIT 版本有些旧，查看git版本git version 1.8.3.1安装依赖源代码安装和编译git，需安装一些依赖卸载旧版本编译安装GitGit软件包可在此获取：https://mirrors.edge.kernel.org/pub/software/scm/git/我们选择最新版即可安装步骤验证版本git version 2.23.0以上记录，方便以后使用</description>
      <pubDate>Fri, 03 Apr 2020 11:36:00 +0800</pubDate>
    </item>
    <item>
      <title>利用code-server来远程写代码吧(部署及使用NGINX反代)</title>
      <link>https://blog.kway.site/articles/27</link>
      <guid>https://blog.kway.site/articles/27</guid>
      <description>手里如果有闲置的服务器，不妨部署一个code-server ，在浏览器上像VsCode一样写代码。博主 了一下IPAD端，体验很棒（之后附图）下面是部署流程。一、选择适合自己code-server的版本下载首先下载在最新版本的二进制安装文件：https://github.com/cdr/code-server/releases ,这里使用tar.gz文件。这里下载的是 linux 版本如何查看适合自己的版本：查看系统硬件结构类型，在终端输入指令：即可查看自己的硬件结构类型，然后选择适合自己硬件的版本我这里</description>
      <pubDate>Thu, 02 Apr 2020 22:48:00 +0800</pubDate>
    </item>
    <item>
      <title>centos 7 安装python3 并修改默认的python</title>
      <link>https://blog.kway.site/articles/26</link>
      <guid>https://blog.kway.site/articles/26</guid>
      <description>centos 自带的python 是2.7.5 ，很多时候我们并不会使用这么低版本的python，这里提供一种比较便捷的python3安装方法注意，提供的方法为 yum安装，如果需要安装指定版本的python，请去python的官网下载并安装一、yum安装python3之后输入Y ，然后按回车确认注意：某些情况下yum提示Another app is currently holding the yum lock; waiting for it to exit…这种情况导致无法安装，可能是由于yum正在进行</description>
      <pubDate>Thu, 02 Apr 2020 22:19:00 +0800</pubDate>
    </item>
    <item>
      <title>PHP 实现用户登录,注册,查询 接口</title>
      <link>https://blog.kway.site/articles/25</link>
      <guid>https://blog.kway.site/articles/25</guid>
      <description>下午用 PHP 写了一个登录注册的API，只需要建立数据库表，表中有 username, password, email 这几个字段即可。支持邮箱登录，账号密码登录，邮箱注册。代码如下:使用方法：登录:文件名.php?action=userlogin&amp;username=用户名&amp;userpassword=密码返回值说明0：表示登录成功，1：表示密码错误，2：用户名不存在，3：用户名密码错误注册:文件名.php?action=adduserinfo&amp;username=用户名&amp;userpassword=密码&amp;e</description>
      <pubDate>Wed, 01 Apr 2020 20:36:00 +0800</pubDate>
    </item>
    <item>
      <title>散文集《我在人间凑数的日子》API</title>
      <link>https://blog.kway.site/articles/24</link>
      <guid>https://blog.kway.site/articles/24</guid>
      <description>看到了一个大佬做的API ，整理了《我在人间凑数的日子》的语录。已经在我的博客用上了，感谢。API来源博客： http://tantingfang.cn/?p=555</description>
      <pubDate>Sun, 29 Mar 2020 19:51:00 +0800</pubDate>
    </item>
    <item>
      <title>Django Category分类视图</title>
      <link>https://blog.kway.site/articles/23</link>
      <guid>https://blog.kway.site/articles/23</guid>
      <description>挖坑，待写</description>
      <pubDate>Fri, 20 Mar 2020 22:42:00 +0800</pubDate>
    </item>
    <item>
      <title>Python Django xadmin pip安装报错</title>
      <link>https://blog.kway.site/articles/22</link>
      <guid>https://blog.kway.site/articles/22</guid>
      <description>环境:django 2.02 python3.7.4安装xadmin时发生如下报错以上报错的原因是 README.rst 这个文件 出现了 Unicode 解码错误，这个文件时没有什么用处的，可以新建一个同名的空白文件替换掉我们可以采用手动安装本地包 的方法安装下载 xadmin zip 安装包https://github.com/sshwsfc/xadmin/tree/django2然后手动替换zip安装包内的 README.rst 这个文件之后手动安装pip install 下载的zip安装包路径之后</description>
      <pubDate>Fri, 20 Mar 2020 20:57:00 +0800</pubDate>
    </item>
    <item>
      <title>Python解决pip安装时速度慢的问题</title>
      <link>https://blog.kway.site/articles/21</link>
      <guid>https://blog.kway.site/articles/21</guid>
      <description>方法为替换Python的pip安装源为国内源国内源：新版ubuntu要求使用https源，要注意。清华：https://pypi.tuna.tsinghua.edu.cn/simple阿里云：http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/华中理工大学：http://pypi.hustunique.com/山东理工大学：http://pypi.sdutlinux.org/豆瓣：http</description>
      <pubDate>Fri, 20 Mar 2020 20:31:00 +0800</pubDate>
    </item>
    <item>
      <title>Django 模型(model)中choices参数的使用</title>
      <link>https://blog.kway.site/articles/20</link>
      <guid>https://blog.kway.site/articles/20</guid>
      <description>如果一个字段设置了choices属性,在模版中如果我要显示这个字段，比如用户的性别，只需设置2个参数选项。在django模版系统就会将它默认解析为一个下拉菜单，这样对于一个静态的下拉菜单式很方便的。**gender_choices参数定义一个元祖类型，里面有2个参数，一个是value值可以选择，如“M”，另外一个是显示的内容display_name，如“男”。编写完成后同步数据库数据xadmin展示在xadmin.py注册表信息，打开后台详情页面就可以看到下拉选项了</description>
      <pubDate>Fri, 20 Mar 2020 20:08:00 +0800</pubDate>
    </item>
    <item>
      <title>Wordpress 解决正在执行例行维护请一分钟后回来</title>
      <link>https://blog.kway.site/articles/19</link>
      <guid>https://blog.kway.site/articles/19</guid>
      <description>今天下午更新wordpress时不小心关闭浏览器， 回来的时候就出现解决正在执行例行维护请一分钟后回来百度了一下，解决方法如下删除wordpress站点文件根目录下的 .maintenance 文件即可注意该文件为隐藏文件，如果没找到，需要把查找隐藏文件打开</description>
      <pubDate>Fri, 20 Mar 2020 20:03:00 +0800</pubDate>
    </item>
    <item>
      <title>Django 内置的用户类AbstractUser与内置认证校验系统 学习笔记</title>
      <link>https://blog.kway.site/articles/18</link>
      <guid>https://blog.kway.site/articles/18</guid>
      <description>这几天学习Django REST framework 时又用上了其内置的AbstractUser，正好复习整理一下，部分资源来自网络查找内置的用户类AbstractUserAbstractUser就是Django内置的一个 关于用户操作的类 ，它极大地方便了我们对model模型中对User用户类的设计。它的本质也就是一个封装好的父类，在设计用户模型的时候，继承它可以方便我们很多。引入代码models.pyAbstractUser的源码 查看他的内置字段内置认证校验系统Django自带的用户认证校主要就是认</description>
      <pubDate>Fri, 20 Mar 2020 16:05:00 +0800</pubDate>
    </item>
    <item>
      <title>蘑菇29刀独服 python监控脚本</title>
      <link>https://blog.kway.site/articles/17</link>
      <guid>https://blog.kway.site/articles/17</guid>
      <description>最近蘑菇这家主机商出了个随机独服的活动，我蹲了2天没蹲到，写了个监控脚本来蹲。在前天晚上蹲到并购入了我人生的第一台独服。使用还是很流畅的。监控脚本用python写的。（代码比较简陋）具体的功能就是 有货了之后会自动警报，滴滴滴的叫只能在Windows平台上实现警报功能。附上一下我抽到的这台机器的配置，除了网速有点少以外，其他的都很满意硬盘也是新的，通电时间300多个小时</description>
      <pubDate>Thu, 19 Mar 2020 01:19:00 +0800</pubDate>
    </item>
    <item>
      <title>python实现简单遗传算法</title>
      <link>https://blog.kway.site/articles/16</link>
      <guid>https://blog.kway.site/articles/16</guid>
      <description>今天整理文件的时候发现桌面上有一个 yichuan.py的文件，打开看了一下，应该是以前学习的时候写的python下的遗传算法。记录一下吧应该是能用的，因为在忙着整理文件，未测试。</description>
      <pubDate>Wed, 18 Mar 2020 15:22:00 +0800</pubDate>
    </item>
    <item>
      <title>利用python遍历目录下所有文件</title>
      <link>https://blog.kway.site/articles/15</link>
      <guid>https://blog.kway.site/articles/15</guid>
      <description>Python中的os模块提供了列出目录文件的方法。listdir(path)方法描述：列出目录中所有的文件，包括子目录，路径由path指定，访问文件的顺序为列表顺序，该方法返回一个列表walk(top, topdown=True, oneerror=None, followlinks=False)方法描述：该方法返回一个三元组，分别是dirpath（遍历的目录路径）、dirnames（目录下的所有文件）、filenames（目录下的所有文件）。该方法需要传递4个参数，其中3个参数有默认值。top参数指定要</description>
      <pubDate>Wed, 11 Mar 2020 21:23:00 +0800</pubDate>
    </item>
    <item>
      <title>django模型中auto_now和auto_now_add的区别</title>
      <link>https://blog.kway.site/articles/14</link>
      <guid>https://blog.kway.site/articles/14</guid>
      <description>经常会在数据库表中碰到记录时间的需求，python的django自带的orm操作字段有auto_now和auto_now_add，这里记录一下他们的区别，方便以后查阅auto_now无论是你添加还是修改对象，时间为你添加或者修改的时间。auto_now_add为添加时的时间，更新对象时不会有变动。补充备注:创建类时:DateField表示年月日DateTimeField表示年月日,时分秒</description>
      <pubDate>Wed, 04 Mar 2020 22:20:00 +0800</pubDate>
    </item>
    <item>
      <title>会相逢的，就像山川河流</title>
      <link>https://blog.kway.site/articles/13</link>
      <guid>https://blog.kway.site/articles/13</guid>
      <description>总会分别的，就像四季的风</description>
      <pubDate>Wed, 26 Feb 2020 18:30:00 +0800</pubDate>
    </item>
    <item>
      <title>Django中offset-naive 和 offset-aware 时间的计算</title>
      <link>https://blog.kway.site/articles/12</link>
      <guid>https://blog.kway.site/articles/12</guid>
      <description>在使用Django时，默认是开启对多时区的支持的，在获取时间的时候会是如下形式：datetime.datetime(2019, 9, 14, 12, 23, 7, tzinfo=)通过ORM将当前的时间存入数据库后，便会有自动加入tzinfo。有时候，我们需要将该时间与当前时间做比较，例如计算差值，将数据库中的时间直接拿出来：这样做的话会报错，如下：问题就出在利用datetime.datetime.now()得到的当前时间是offset-naive的，这一个时间是没有tzinfo的，而另外一个从数据库取出</description>
      <pubDate>Sun, 15 Sep 2019 18:30:00 +0800</pubDate>
    </item>
    <item>
      <title>Django数据模型中有关于on_delete的使用</title>
      <link>https://blog.kway.site/articles/11</link>
      <guid>https://blog.kway.site/articles/11</guid>
      <description>on_delete主要用于外键的删除相关常见的使用方式（设置为null）:别的属性介绍：CASCADE:这就是默认的选项，级联删除，你无需显性指定它。PROTECT: 保护模式，如果采用该选项，删除的时候，会抛出ProtectedError错误。SET_NULL: 置空模式，删除的时候，外键字段被设置为空，前提就是blank=True, null=True,定义该字段的时候，允许为空。SET_DEFAULT: 置默认值，删除的时候，外键字段设置为默认值，所以定义外键的时候注意加上一个默认值。SET(): </description>
      <pubDate>Sun, 15 Sep 2019 15:15:00 +0800</pubDate>
    </item>
    <item>
      <title>WordPress站点搬家换域名记录</title>
      <link>https://blog.kway.site/articles/10</link>
      <guid>https://blog.kway.site/articles/10</guid>
      <description>之前整个网站放在国外的一家空间上，因为电信访问速度感人加上想换域名的原因，于是就把整个wordpress网站搬到阿里云来了。记录一下搬家的整个过程避免以后碰到类似情况踩坑。搬家前一定要做好整个网站的备份和数据库的备份，切记！！第一步：备份wordpress目录下所有文件并转移到新主机：最常见的方法是直接在FTP下载目录下所有文件，然后再上传到新的主机。如果主机支持在线压缩，最好将整个网站的文件压缩，下载压缩包，再通过FTP上传压缩包至新主机，然后再解压。这样速度快又不容易出错。第二步：导出、导入数据库：在</description>
      <pubDate>Sun, 15 Sep 2019 13:59:00 +0800</pubDate>
    </item>
    <item>
      <title>Python下OpenCV的学习（四）图像的简单几何变换</title>
      <link>https://blog.kway.site/articles/9</link>
      <guid>https://blog.kway.site/articles/9</guid>
      <description>图像的简单几何变换先看一下关于图像几何变换的简介：几何变换不改变图像的像素值，只是在图像平面上进行像素的重新安排。适当的几何变换可以最大程度地消除由于成像角度、透视关系乃至镜头自身原因所造成的几何失真所产生的负面影响。有利于我们在后续的处理和识别工作中将注意力集中子图像内容本身，更确切地说是图像中的对象，而不是该对象的角度和位置等。几何变换常常作为图像处理应用的预处理步骤，是图像归一化的核心工作之一。一个几何变换需要两部分运算：首先是空间变换所需的运算，如平移、缩放、旋转和正平行投影等，需要用它来表示输出</description>
      <pubDate>Mon, 18 Feb 2019 17:29:00 +0800</pubDate>
    </item>
    <item>
      <title>Python下OpenCv的学习（三）绘制简单的几何图形、显示文字</title>
      <link>https://blog.kway.site/articles/8</link>
      <guid>https://blog.kway.site/articles/8</guid>
      <description>绘制简单的几何图形、显示文字（一）绘制直线和矩形（二）绘制圆和椭圆（三）绘制多边形五角星，好看吧（四）显示文字</description>
      <pubDate>Mon, 18 Feb 2019 16:11:00 +0800</pubDate>
    </item>
    <item>
      <title>Python下OpenCv的学习（二）图像像素的访问、通道的合并与分离</title>
      <link>https://blog.kway.site/articles/7</link>
      <guid>https://blog.kway.site/articles/7</guid>
      <description>图像像素的访问、通道的合并与分离（一）像素的访问图像在计算机里面就是一个矩阵，对于RGB图像来说，一共有3层，分别代表了RGB通道，矩阵中的每一个数字的大小代表了不同通道的亮度，范围在0-255之间。访问图像的像素就是对矩阵元素的访问输出为也可以对所选取图像的像素进行赋值这样的话图上左上角会形成一个400×400像素的白色区域可以利用图像矩阵的特点，制作一个椒盐现象写一个椒盐函数，将我们想要的像素随机分布在图像上点上1500个点输出显示图像为（二）通道分离对于RGB图像，拥有RGB三原色通道，从矩阵的角度</description>
      <pubDate>Mon, 18 Feb 2019 14:50:00 +0800</pubDate>
    </item>
    <item>
      <title>Python下的OpenCv学习（一）图像的读取、复制、显示、保存</title>
      <link>https://blog.kway.site/articles/6</link>
      <guid>https://blog.kway.site/articles/6</guid>
      <description>图像的读取、复制、显示、保存（1）认识和读取图像图像其实是一个数组，对图像的处理就是对数字的处理读取图像这里是我用的图片1.jpg“1.jpg”是要读入图像的完整路径 ，这里我把图像文件和.py文件放在同一个路径下，所以只写了文件名**（注意：图像的完整路径不要有中文，如果出现中文的话会报错，请一定要注意这一点）**#opencv支持以下3种cv2.IMREAD_COLOR：默认参数，读入一副彩色图片，忽略alpha通道cv2.IMREAD_GRAYSCALE：读入灰度图片cv2.IMREAD_UNCHA</description>
      <pubDate>Sun, 17 Feb 2019 17:12:00 +0800</pubDate>
    </item>
    <item>
      <title>OpenCV: python下的安装</title>
      <link>https://blog.kway.site/articles/5</link>
      <guid>https://blog.kway.site/articles/5</guid>
      <description>一、关于OpenCV简介OpenCV是一个基于BSD许可（开源）发行的跨平台计算机视觉库，可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成，同时提供了Python、Ruby、MATLAB等语言的接口，实现了图像处理和计算机视觉方面的很多通用算法。 OpenCV用C++语言编写，它的主要接口也是C++语言，但是依然保留了大量的C语言接口。在计算机视觉项目的开发中，OpenCV作为较大众的开源库，拥有了丰富的常用图像处理</description>
      <pubDate>Sun, 17 Feb 2019 16:29:00 +0800</pubDate>
    </item>
    <item>
      <title>Centos防火墙设置与端口开放的方法</title>
      <link>https://blog.kway.site/articles/4</link>
      <guid>https://blog.kway.site/articles/4</guid>
      <description>Centos升级到7之后，内置的防火墙已经从iptables变成了firewalld。所以，端口的开启还是要从两种情况来说明的，即iptables和firewalld。更多关于CentOs防火墙的最新内容，请参考Redhat官网。一、iptables1.打开/关闭/重启防火墙2.查看打开的端口3.打开某个端口(以8080为例)（1）开启端口（2）保存并重启防火墙4.打开49152~65534之间的端口同样，这里需要对设置进行保存，并重启防火墙。5.其他打开方式我们还可以通过修改/etc/sysconfig</description>
      <pubDate>Thu, 07 Feb 2019 21:40:00 +0800</pubDate>
    </item>
    <item>
      <title>我的世界：CentOS搭建mc服务器</title>
      <link>https://blog.kway.site/articles/3</link>
      <guid>https://blog.kway.site/articles/3</guid>
      <description>我的世界：CentOS搭建mc服务器(注意)本文使用的方法仅能搭建纯净服，如需MOD服请下载其他服务器核心安装配置1. 安装配置java环境，用Java1.82. 获取mc服务器jar包：3. 启动mc服务器端：4. 同意最终用户许可协议 EULA首次启动不会成功启动，会生成一个eula.txt 文件。用vim打开，将行 eula = false 更改为 eula = true，并保存文件，表示同意许可协议。5. 服务器要开25565端口服务器端默认使用25565端口，可配置，配置详情参考下一条。如腾讯云</description>
      <pubDate>Thu, 07 Feb 2019 21:35:00 +0800</pubDate>
    </item>
    <item>
      <title>Jdk1.8 在CentOS7中的安装与配置</title>
      <link>https://blog.kway.site/articles/2</link>
      <guid>https://blog.kway.site/articles/2</guid>
      <description>Jdk1.8在CentOS7中的安装与配置自从2014年3月19日甲骨文公司发布Java 8.0的正式版以来，面向对象的Java语言不仅朝着一个更好的方向发展，而且吸取了当前比较流行的函数式编程的特性——Java 8.0加入了函数式编程的特点。可以说是Java 8比Java 7有一个更好的性质。今天我将为大家演示一下Jdk 8在CentOS 7的安装与配置：一、前期准备环境：CentOS 7a)         首先从官网上下载Jdk 8 for Linux x64到window下。b)         </description>
      <pubDate>Thu, 07 Feb 2019 21:00:00 +0800</pubDate>
    </item>
    <item>
      <title>wordpress 如何在首页和分类目录下 只显示 标题 或摘要 不显示全文</title>
      <link>https://blog.kway.site/articles/1</link>
      <guid>https://blog.kway.site/articles/1</guid>
      <description>wordpress安装好后，发现在首页和分类目录会看到文章以全文方式展示，这样很不方便阅读和查找，比较好的方式是通过只显示标题和部分内容，目前使用的网站主题是 wordpress自带的 twentyseventeen，为了达到上述效果，通过进入/wp_content/themes/twentyseventeen下，找到index.php文件 ，用专门的代码编辑工具打开，不要用写字板之类的，找到get_template_part函数(总共两个），将 get_template_part（‘template-p</description>
      <pubDate>Thu, 07 Feb 2019 17:04:00 +0800</pubDate>
    </item>
  </channel>
</rss>