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; | |
// 根据灰度生成相应字符 |