Skip to content

Instantly share code, notes, and snippets.

View leisurelicht's full-sized avatar
🎯
Focusing

LeisureLicht leisurelicht

🎯
Focusing
View GitHub Profile
@leisurelicht
leisurelicht / router.go
Last active March 21, 2020 07:48
前缀树算法实现router
package http_api
import (
"fmt"
"strings"
)
type node struct {
path string // 路由路径
part string // 路由中由'/'分隔的部分, 比如路由/hello/:name,那么part就是hello和:name
#!/usr/bin/python
"""
面试题
Q:有一个大文件日志,日志内容包含 访问时间 和 访问 IP,问如何统计每分钟访问次数超过 100 次的 IP ?
访问日志文件内的数据都是根据时间有序排列的。所以只要逐行处理,把秒去掉,然后利用字典统计每分钟内的IP访问次数。
到下一分钟了就把字典清空,重新统计就可以了。
#!/usr/bin/env python
# -*-coding: utf-8-*-
import datetime
import xlwt
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('My Sheet')
# style = xlwt.XFStyle()
@leisurelicht
leisurelicht / workbook.md
Last active February 13, 2024 16:53
Export queryset to Excel workbook
from django.http import HttpResponse
from .utils import queryset_to_workbook

def download_workbook(request):
    queryset = User.objects.all()
    columns = (
        'first_name',
        'last_name',
        'email',
@leisurelicht
leisurelicht / admin.py
Last active October 25, 2023 00:46
Make all fields readonly for Django Admin
class OpsIPInfoAdmin(admin.ModelAdmin):
def get_readonly_fields(self, request, obj=None):
# make all fields readonly
readonly_fields = list(
set([field.name for field in self.opts.local_fields] +
[field.name for field in self.opts.local_many_to_many])))
if 'is_submitted' in readonly_fields:
readonly_fields.remove('is_submitted')