Skip to content

Instantly share code, notes, and snippets.

@ayuLiao
ayuLiao / Submit-PR.md
Created December 30, 2023 08:25 — forked from YimianDai/Submit-PR.md
向开源项目提交 Pull Request

步骤

Part 1 - Local Repo Config

  1. 先 Fork 感兴趣项目,即 dmlc/gluon-cv
  2. Clone 到本地,git clone git@github.com:YimianDai/gluon-cv.git
  3. 添加源项目 dmlc/gluon-cv 作为 upstream 源,git remote add upstream https://github.com/dmlc/gluon-cv.git
  4. 禁止直接向 upstream 源 push,因为我们不是 dmlc 的人,没有 push 的权限,要提交代码必须通过 Pull Request,git remote set-url --push upstream no_push
  5. 创建并切换到本地的新分支 fixMixSoftmaxCrossEntropyLossgit checkout -b fixMixSoftmaxCrossEntropyLoss
@ayuLiao
ayuLiao / navicat_reset_trial.sh
Created June 9, 2023 04:40 — forked from tuxity/navicat_premium_reset_trial.sh
Reset Navicat Premium 15/16 remaining trial days
#!/bin/bash
set -e
file=$(defaults read /Applications/Navicat\ Premium.app/Contents/Info.plist)
regex="CFBundleShortVersionString = \"([^\.]+)"
[[ $file =~ $regex ]]
version=${BASH_REMATCH[1]}
import urllib.parse
send_message_url = urllib.parse.urljoin(configs.remote.union.private_apis.msg_service.url, 'message/')
import inspect, re
def varname(p):
for line in inspect.getframeinfo(inspect.currentframe().f_back)[3]:
m = re.search(r'\bvarname\s*\(\s*([A-Za-z_][A-Za-z0-9_]*)\s*\)', line)
if m:
return m.group(1)
if __name__ == '__main__':
spam = 42
可以从类型使用 GeneratorType:
>>> import types
>>> types.GeneratorType
<class 'generator'>
>>> gen = (i for i in range(10))
>>> isinstance(gen, types.GeneratorType)
True
@ayuLiao
ayuLiao / encrypt.py
Created November 13, 2019 11:44
RSA、AES、MD5、DES、DES3、SHA、HMAC 加密算法实现
# -*- coding:utf-8 -*-
import base64
import rsa
from Crypto.Cipher import AES
from Crypto.PublicKey import RSA
from pyDes import des, CBC, PAD_PKCS5
from Crypto.Cipher import DES3
import hashlib
import hmac
必须首先加载网站,这样 Selenium 才能知道 cookie 属于哪个网站
不然会报:selenium.common.exceptions.WebDriverException: Message: unable to set cookie
chrome.get("https://www.baidu.com/")
chrome.add_cookie(cookie_dict)
@ayuLiao
ayuLiao / cookiesjar2dict.py
Created July 15, 2019 06:47
将 cookiesjar 格式的 cookies 转为 dict,或者从dict格式转回 cookiesjar requests 只能保持 cookiejar 类型的 cookie,而我们手动构建的 cookie 是 dict 类型的,所以要把 dict 转为 cookiejar 类型
import requests
from http import cookiejar
#将CookieJar转为字典:
cookies = requests.utils.dict_from_cookiejar(r.cookies)
#将字典转为CookieJar:
cookies = requests.utils.cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True)
#其中cookie_dict是要转换字典
@ayuLiao
ayuLiao / addfield.sql
Created July 11, 2019 03:32
一次增加一个字段 一次增加多个字段
# 增加一个字段
ALTER TABLE people ADD COLUMN name VARCHAR(100) DEFAULT NULL COMMENT '姓名'
# 增加多个字段
alter table test add (c1 char(1),c2 char(1)); --正确,add支持多列
alter table test add column (c1 char(1),c2 char(1)); --正确
alter table test add c1 char(1),add c2 char(1); --正确
--修改多列
alter table test change c1 c3 char(1),change c2 c4 char(1); --正确
# 在 PEP448 中,有个新的语法可以实现,并且在 python3.5 中支持了该语法,合并代码如下
z = {**x, **y}
# 如果您还没有使用 Python 3.5,或者需要编写向后兼容的代码,并且您希望在单个表达式中运行,则最有效的方法是将其放在一个函数中
def merge_two_dicts(x, y):
"""Given two dicts, merge them into a new dict as a shallow copy."""
z = x.copy()
z.update(y)