技术分享

分享有技术含量的内容哦~

2.5k 主题 18.1k 帖子

子版块


  • 问题反馈,相关讨论!

    99 主题
    458 帖子

    大佬最新版怎么下载啊

  • 建站经验分享!

    133 主题
    808 帖子

    已经转战WPS

  • 网络游戏 / 单机游戏

    77 主题
    213 帖子

    App Store国区直接搜索:

    Delta - Game Emulator

    即可下载。

    或直接点击:
    https://apps.apple.com/cn/app/delta-game-emulator/id1048524688

  • 分享一些软件资源!

    1k 主题
    2k 帖子

    IDM6.42.10 懂的都懂
    What’s new in version 6.42 Build 10
    版本 6.42 Build 10 中的新增功能

    修复了多个网站下载速度慢的问题。请确保您的浏览器中的“IDM集成模块”扩展已更新至“6.42.8.2”版本
    修复了 IDM 下载面板现在显示在多个网站上的问题
    修复了 IDM 在某些网站上未显示所有类型视频流的问题

    夸克网盘 迅雷网盘

  • 美图赏析~ 禁止露点~

    262 主题
    732 帖子

    image.png

  • 【转】多平台关键词监控&提醒系统

    1
    1 赞同
    1 帖子
    316 浏览
    尚无回复
  • 此主题已被删除!

    20
    0 赞同
    20 帖子
    45 浏览
  • 一键检测能否访问官方ChatGPT脚本

    2
    1 赞同
    2 帖子
    1k 浏览

    替代文字

  • 此主题已被删除!

    0
    0 赞同
    0 帖子
    140 浏览
    尚无回复
  • 此主题已被删除!

    0
    0 赞同
    0 帖子
    343 浏览
    尚无回复
  • 翻译成golang代码

    3
    0 赞同
    3 帖子
    271 浏览

    malaohu说:

    malaohu 说:

    import os import time import redis env = os.environ.get REDIS_CONF = { "host": env("ALONE_REDIS_HOST", ""), "port": env("ALONE_REDIS_PORT", 6378), "password": env("ALONE_REDIS_PASSWORD", ""), "db": env("BUZZERS_REDIS_DB_LOCK", 1), "socket_timeout": None, "encoding": "utf-8", "encoding_errors": "strict", "decode_responses": True } connection_pool = redis.ConnectionPool(**REDIS_CONF) redis_lock = redis.Redis(connection_pool=connection_pool) redis_lock.ping() class RedisLock(object): """ redis原子锁 """ def __init__(self, prefix="redis_lock", key="", expire_time=2, timeout=2, interval=0.2): """ :param prefix: 原子锁前缀 :param expire_time: 锁过期时间 :param timeout: 最长等待秒数,默认2秒(timeout=0获取不到锁则立即返回) :param interval: 时间间隔 """ self.key = key self.prefix = prefix self.expire_time = expire_time self.timeout = timeout self.interval = interval self._lock = False # 是否获得锁 @property def rds_key(self): return "%s|%s" % (self.prefix, self.key) def __del__(self): """ 该对象释放的时候 删除锁 :return: """ if self._lock: self.delete_lock() def acquire(self): """ 获取用户锁,默认最长2秒等待 :return: True 获取到锁 False 获取锁失败 """ start_time = time.time() end_time = start_time + self.timeout while time.time() > result = redis_lock.set( self.rds_key, 1, ex=self.expire_time, nx=True ) if result: self._lock = True return True time.sleep(self.interval) return False def release(self): """ 删除用户锁 :return: """ redis_lock.delete(self.rds_key) self._lock = False def __enter__(self): if not self._lock: return self.acquire() return False def __exit__(self, type, value, traceback): if self._lock: self.release() def __del__(self): self.release()

    请将上面代码用golang实现一下

    package redis import ( "github.com/go-redis/redis/v7" "time" ) type RedisLock struct { Prefix string Key string ExpireTime int Timeout int Interval int _lock bool redisClient *redis.Client redisOptions *redis.Options } func NewRedisLock(prefix string, key string, expireTime int, timeout int, interval int) *RedisLock { return &RedisLock{ Prefix: prefix, Key: key, ExpireTime: expireTime, Timeout: timeout, Interval: interval, _lock: false, redisClient: nil, } } func (lock *RedisLock) GetRedisKey() string { return lock.Prefix + "|" + lock.Key } func (lock *RedisLock) InitRedisClient(options *redis.Options) { lock.redisClient = redis.NewClient(options) lock.redisOptions = options } func (lock *RedisLock) Acquire() bool { startTime := time.Now().Unix() endTime := startTime + int64(lock.Timeout) for time.Now().Unix() < endTime { result := lock.redisClient.SetNX(lock.GetRedisKey(), 1, time.Duration(lock.ExpireTime)*time.Second).Val() if result { lock._lock = true return true } time.Sleep(time.Duration(lock.Interval) * time.Second) } return false } func (lock *RedisLock) Release() { lock.redisClient.Del(lock.GetRedisKey()) lock._lock = false } func (lock *RedisLock) Lock() bool { if !lock._lock { return lock.Acquire() } return false } func (lock *RedisLock) Unlock() { if lock._lock { lock.Release() } }
  • chrome 支持划词右键翻译了

    1
    0 赞同
    1 帖子
    236 浏览
    尚无回复
  • Web3.0在中国能否实现?

    2
    0 赞同
    2 帖子
    306 浏览

    malaohu说:

    Web3.0在中国能否实现?

    是的,中国正在努力实现Web3.0的目标,尤其是在移动互联网、物联网、大数据、云计算、人工智能等方面。为此,中国政府和企业正在投入大量资源推动Web3.0的发展,并加大了对科技成果的引进和应用,以支持Web3.0的实现。

  • Telegram客户端字体从宋体改成微软雅黑

    1
    1 赞同
    1 帖子
    685 浏览
    尚无回复
  • zlibrary 可以领个人三级域名了

    1
    0 赞同
    1 帖子
    535 浏览
    尚无回复
  • 有aihao.cc邀请码我就买,私信我

    1
    0 赞同
    1 帖子
    192 浏览
    尚无回复
  • 0 赞同
    1 帖子
    253 浏览
    尚无回复
  • windows的Lunix子系统 wsl 2全记录

    1
    0 赞同
    1 帖子
    322 浏览
    尚无回复
  • CentOS 7.9 安装 Python3.11.1

    1
    0 赞同
    1 帖子
    213 浏览
    尚无回复
  • 推荐个技术分享频道

    2
    0 赞同
    2 帖子
    616 浏览

    资源分享频道
    油油分享频道
    分享开源、优秀的软件,有趣、实用的网站资源
    https://t.me/youyousharechannel

  • NodeBB获取未读消息列表接口?

    10
    0 赞同
    10 帖子
    441 浏览

    malaohu说:

    ChatGPT 说:

    malaohu说:

    NodeBB 通知设置已读接口?

    NodeBB有一个API叫做“markAllNotificationsRead”,它可以完成这个任务。它的文档可以在这里找到:https://docs.nodebb.org/api/notifications/#markallnotificationsread

    这个API不存在

    ,只有“markTopicNotificationsRead”和“markNotificationRead”两个API。它们的文档可以在这里找到:

    https://docs.nodebb.org/api/notifications/#marktopicnotificationsread

    https://docs.nodebb.org/api/notifications/#marknotificationread

  • 0 赞同
    1 帖子
    252 浏览
    尚无回复
  • 用轻量应用服务器搭建Trilium笔记

    1
    0 赞同
    1 帖子
    667 浏览
    尚无回复
  • JetBrains 放弃 AppCode IDE

    3
    0 赞同
    3 帖子
    521 浏览

    发邮件给fanq@gmx.com,可以获得免费梯子。

  • 0 赞同
    1 帖子
    863 浏览
    尚无回复