Skip to content

Instantly share code, notes, and snippets.

View abersheeran's full-sized avatar
👋
玉楼金阙慵归去,且插梅花醉洛阳

Aber abersheeran

👋
玉楼金阙慵归去,且插梅花醉洛阳
View GitHub Profile
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>404</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdn.bootcss.com/normalize/8.0.1/normalize.min.css">
</head>
<style>
@abersheeran
abersheeran / circle.js
Last active April 23, 2019 11:27
A change version from react-circle
class Circle extends Component {
static defaultProps = {
number: 0,
max_number: 255,
animate: true,
animationDuration: '1s',
showPercentage: true,
showPercentageSymbol: true,
progressColor: 'rgb(76, 154, 255)',
bgColor: '#ecedf0',
@abersheeran
abersheeran / parse_link.py
Created August 9, 2019 13:06
parse relative link to absolute url
@abersheeran
abersheeran / httpserver.py
Last active January 21, 2020 07:39
httpserver.py base on asyncio
import sys
import socket
import asyncio
import typing
import signal
import logging
import logging.config
from http import HTTPStatus
logger: logging.Logger = logging.getLogger("httpserver")
@abersheeran
abersheeran / currying.py
Created October 20, 2019 10:01
currying in Python
import typing
import inspect
import functools
def currying(func: typing.Callable) -> typing.Callable:
f = func
if inspect.ismethod(func):
partial = functools.partialmethod
@abersheeran
abersheeran / settings
Last active July 9, 2021 06:25
Windows Terminal settings
{
"$schema": "https://aka.ms/terminal-profiles-schema",
// Add custom actions and keybindings to this array.
// To unbind a key combination from your defaults.json, set the command to "unbound".
// To learn more about actions and keybindings, visit https://aka.ms/terminal-keybindings
"actions":
[
// Copy and paste are bound to Ctrl+Shift+C and Ctrl+Shift+V in your defaults.json.
// These two lines additionally bind them to Ctrl+C and Ctrl+V.
// To learn more about selection, visit https://aka.ms/terminal-selection
@abersheeran
abersheeran / websocks.conf
Created December 12, 2019 10:15
Nginx 反向代理 websocket
server {
listen 443 ssl;
server_name websocks;
root html;
ssl_certificate /path/to/websocks.pem;
ssl_certificate_key /path/to/websocks.key;
ssl_session_timeout 5m;
location / {
import asyncio
from asyncio import AbstractEventLoop, Task, Future
from typing import Set, Optional, Coroutine
def onlyfirst(*coros: Coroutine, loop: Optional[AbstractEventLoop] = None) -> Future:
"""
Execute multiple coroutines concurrently, returning only the results of the first execution.
When one is completed, the execution of other coroutines will be canceled.
"""
@abersheeran
abersheeran / getdocker.sh
Created February 8, 2020 08:04
阿里云服务器中一键安装 docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
@abersheeran
abersheeran / echo.py
Last active March 24, 2020 08:20
get UDP address by asyncio
import sys
import asyncio
import typing
import logging
import signal
from socket import AF_INET, AF_INET6, inet_pton
try:
import uvloop