Python 提供了两个基本的 socket 模块:
Socket它提供了标准的BSD Socket API。SocketServer它提供了服务器重心,可以简化网络服务器的开发。
下面讲解下 Socket模块功能。
| package com.haofly.net.sensitiveword; | |
| public class BCConvert { | |
| /** | |
| * ASCII表中可见字符从!开始,偏移位值为33(Decimal) | |
| */ | |
| static final char DBC_CHAR_START = 33; // 半角! |
| <?php | |
| /** | |
| * 覆盖Laravel默认的SoftDeletingScope,用于替换软删除的默认行为,解决deleted_at必须为NULL的问题,为NULL的时候不能设置唯一键 | |
| * 即默认是whereNull更改为判断timestamp的0值,即'0000-00-00 00:00:00'(空字符串在某些数据库版本也是可以的,但是考虑到兼容性还是写全吧),以使deleted_at字段不为NULL | |
| * 使用时只需要把之前Model中的`use SoftDeletes`替换为`use LaravelCustomSoftDeletes`即可 | |
| * 请自行替换本文件中的部分命名空间 | |
| */ | |
| namespace Common; |
| import graphene | |
| from graphene import String | |
| from graphene_sqlalchemy import SQLAlchemyObjectType, SQLAlchemyConnectionField | |
| from promise import Promise | |
| from promise.dataloader import DataLoader | |
| from sqlalchemy import Column, BigInteger, ForeignKey | |
| from sqlalchemy.orm import relationship | |
| from db import Base, db_session # 这里自己去定义 |
| from qiniu import Auth, put_file, etag, urlsafe_base64_encode, BucketManager | |
| from typing import List, Dict | |
| import os | |
| from qiniu import build_batch_delete | |
| class Sync: | |
| """ | |
| 同步目录至七牛云 |
| import re | |
| def mycmp(version1, version2): | |
| def normalize(v): | |
| return [int(x) for x in re.sub(r'(\.0+)*$','', v).split(".")] | |
| return cmp(normalize(version1), normalize(version2)) | |
| if __name__ == '__main__': | |
| assert mycmp("1", "1") == 0 | |
| assert mycmp("2.1", "2.2") < 0 |
| import xlsxwriter | |
| from io import BytesIO | |
| from django.http import StreamingHttpResponse | |
| from django.views.generic import View | |
| def get_foo_table_data(): | |
| """ | |
| Some table data | |
| """ |
| # coding: utf-8 | |
| # author: haofly | |
| # | |
| # fun: 生成随机姓名、随机电话号码、随机字符串,目前仅支持Python2 | |
| import random | |
| def generateName(first_len=0, last_len=0): | |
| surnames = [ |
| window.onload=function(){ | |
| var mobileAgent = new Array("iphone", "ipod", "ipad", "android", "mobile", "blackberry", "webos", "incognito", "webmate", "bada", "nokia", "lg", "ucweb", "skyfire"); | |
| var browser = navigator.userAgent.toLowerCase(); | |
| for (var i=0; i<mobileAgent.length; i++){ | |
| if (browser.indexOf(mobileAgent[i])!=-1){ | |
| alert(mobileAgent[i]); | |
| break; | |
| } | |
| } | |
| } |
| var cv = document.getElementById('cv'); | |
| var c = cv.getContext('2d'); | |
| var txtDiv = document.getElementById('txt'); | |
| var fileBtn = document.getElementById("up-button"); | |
| var img = new Image(); | |
| img.src = 'a.jpg'; | |
| img.onload = init; // 图片加载完开始转换 | |
| fileBtn.onchange = getImg; | |
| // 根据灰度生成相应字符 |