Joseph Chu's Blog

积极勤奋,主动勇敢


  • Home

  • Archives

  • Tags

  • Categories

  • About

  • Search

MySQL 修改数据库编码为utf8mb4以插入emoj

Posted on 2018-08-25 | Edited on 2018-12-31 | In Database

最近项目里需要往MySQL里插入emoj,把表的编码改成了utfbmb4之后发现,在mysql shell里面是可以插入emoj的,但是利用pymysql则无法插入emoj,报如下错误

1
pymysql.err.InternalError: (1366, "Incorrect string value: '\\xF0\\x9F\\x98\\x85\\xF0\\x9F...' for column 'content' at row 1")

现总结自己的解决方案如下

Read more »

Parameter, Argument, Attribute 的区别

Posted on 2018-08-20 | Edited on 2018-12-31 | In CS Basics

Parameter

对应中文即形参,临时变量,在函数定义中用于接受外部传入变量。

1
2
def foo(name, age): # name, age 即形参
pass

Argument

对应中文即实参,在调用函数时传入的值

1
foo('Tom', 11) # 'Tom', 11即实参

Atrribute

对应中文即属性,可以是一个类的变量(实例变量或者类变量)或者函数(成员函数)。 类的每一个实例都可以访问这些属性

1
2
3
4
5
6
7
8
9
10
11
12
13
class Color:
description = "This is a color" # class attributes

def __init__(self, color):
self.color = color

def do_something(self):
pass

c = Color('blue')
c.color # instance attribute
Color.description # class attribute
c.do_something() # instance attribute

TCP 的三次握手和四次挥手

Posted on 2018-08-17 | Edited on 2018-12-31 | In CS Basics

非常棒的文章
TCP的三次握手与四次挥手(详解+动图)

MySQL存储过程

Posted on 2018-08-16 | Edited on 2018-12-31 | In Database

简介

更多基础知识可参考MySQL存储过程,很棒很详细的入门文章。

SQL 语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定工程的SQL语句集,经编译后存储在数据库中,用户通过制定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。

个人感觉存储过程增强了兼容性。实现相对复杂的功能(比如返回一组数据,然后遍历结果集),之前可能要用python操作mysql来实现。但是利用存储过程可以写成一组代码,使用者可以直接复制粘贴到MySQL shell或者客户端来使用。

Read more »

卷积后输出大小计算公式

Posted on 2018-08-10 | Edited on 2018-12-31 | In Machine Learning
  • 输入图片大小 W×W
  • Filter大小 F×F
  • 步长 S
  • Padding的像素数 P
  • 输出图片大小为 N×N

则有

1
N = (W − F + 2P )/S+1

正则表达式(re模块)知识点记录

Posted on 2018-07-29 | Edited on 2018-12-31 | In Python Package Usage

在这里记录一下最近学习到的Python正则表达是的知识点

正则表达式是什么?

正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。

通俗来讲,可以把正则表达式理解为类似于一门计算机语言,不过它是用来描述符合某些规则的字符串的。

基础

  • Python 中正则表达式模块是re,只要import re就好
  • 最简单的正则表达式就是我们想要匹配的字符串,比如

    1
    2
    3
    4
    5
    >>> import re
    >>> key = 'javapythonc++'
    >>> reg = 'python'
    >>> re.compile(reg).findall(key)
    ['python']
Read more »

记一次flask单元测试的编写

Posted on 2018-07-27 | Edited on 2018-12-31 | In Backend

记录一些自己写单元测试时的点

Read more »

Pytest 使用总结

Posted on 2018-07-27 | Edited on 2018-12-31 | In Python Package Usage

这里简单记录下自己目前掌握的pytest知识,后续用到更多再来补充。

pytest的安装

1
pip3 install -U pytest
1
pytest --version # 查看版本
Read more »

Nginx 使用总结

Posted on 2018-07-26 | Edited on 2018-12-30 | In Backend

花了两天的时间终于用nginx+gunicorn部署好自己的microblog项目,中间遇到了大大小小的坑,在这里做一下记录。

Read more »

什么是A, B, C类网络?

Posted on 2018-07-24 | Edited on 2018-12-30 | In CS Basics

首先要知道什么是IP地址的前缀(prefix),或者说网络部分。

在形如a.b.c.d/x的地址中,x个最高比特(最左边的比特)构成了IP地址的前缀。

/x是子网掩码的一种表示方法。子网掩码就是为了表示该IP地址所在的子网。

a.b.c.d/x这样的表示方法从属于当下因特网的地址分配策略,无类别域间路由选择(Classless Interdomain Routing, CIDR)。

在CIDR被采用之前,IP地址的网络部分被限制为长度为8, 16或24比特,这是一种成为分类编址的编址方案。具有8, 16或24比特子网地址的子网被称为A, B, C类网络。

A, B, C类网络这样的表示方式的主要问题在于,C类(/24)子网仅能容纳2^8 - 2 = 254台主机(2^8 = 256,其中两个地址预留用于特殊用途),这对于许多组织来说太小了。然而一个B类(/16)子网可支持多达65534台主机,又太大了。在分类编址方法下,比如说一个有2000台主机的组织通常被分给一个B类(/16)地址。这就导致B类地址空间的迅速损耗以及所分配的地址空间的利用率低。

1…456…8

Joseph Chu

一日之功很有限,不过可以积少成多
72 posts
17 categories
50 tags
© 2019 Joseph Chu
Powered by Hexo v3.6.0
|
Theme – NexT.Pisces v7.0.1